[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [linux-linus bisection] complete test-amd64-i386-xl-qemuu-debianhvm-amd64
branch xen-unstable xen branch xen-unstable job test-amd64-i386-xl-qemuu-debianhvm-amd64 test xen-boot Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen git://xenbits.xen.org/xen.git *** Found and reproduced problem changeset *** Bug is in tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Bug introduced: c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 Bug not present: 58586869599f6bb38aeca71a847cd77bfea74808 commit c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 Merge: 848a552 62d3ab4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 13:06:38 2014 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending Pull SCSI target updates from Nicholas Bellinger: "Here are the target updates for v3.18-rc2 code. These where originally destined for -rc1, but due to the combination of travel last week for KVM Forum and my mistake of taking the three week merge window literally, the pull request slipped.. Apologies for that. Things where reasonably quiet this round. The highlights include: - New userspace backend driver (target_core_user.ko) by Shaohua Li and Andy Grover - A number of cleanups in target, iscsi-taret and qla_target code from Joern Engel - Fix an OOPs related to queue full handling with CHECK_CONDITION status from Quinn Tran - Fix to disable TX completion interrupt coalescing in iser-target, that was causing problems on some hardware - Fix for PR APTPL metadata handling with demo-mode ACLs I'm most excited about the new backend driver that uses UIO + shared memory ring to dispatch I/O and control commands into user-space. This was probably the most requested feature by users over the last couple of years, and opens up a new area of development + porting of existing user-space storage applications to LIO. Thanks to Shaohua + Andy for making this happen. Also another honorable mention, a new Xen PV SCSI driver was merged via the xen/tip.git tree recently, which puts us now at 10 target drivers in upstream! Thanks to David Vrabel + Juergen Gross for their work to get this code merged" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (40 commits) target/file: fix inclusive vfs_fsync_range() end iser-target: Disable TX completion interrupt coalescing target: Add force_pr_aptpl device attribute target: Fix APTPL metadata handling for dynamic MappedLUNs qla_target: don't delete changed nacls target/user: Recalculate pad size inside is_ring_space_avail() tcm_loop: Fixup tag handling iser-target: Fix smatch warning target/user: Fix up smatch warnings in tcmu_netlink_event target: Add a user-passthrough backstore target: Add documentation on the target userspace pass-through driver uio: Export definition of struct uio_device target: Remove unneeded check in sbc_parse_cdb target: Fix queue full status NULL pointer for SCF_TRANSPORT_TASK_SENSE qla_target: rearrange struct qla_tgt_prm qla_target: improve qlt_unmap_sg() qla_target: make some global functions static qla_target: remove unused parameter target: simplify core_tmr_abort_task target: encapsulate smp_mb__after_atomic() ... commit 848a552893ff1fe071c57231edcd179cf84ec4f8 Merge: 43d451f 1fa3a00 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 12:53:45 2014 -0700 Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd Pull email address change from Boaz Harrosh. * 'for-linus' of git://git.open-osd.org/linux-open-osd: Boaz Harrosh - fix email in Documentation Boaz Harrosh - Fix broken email address MAINTAINERS: Change Boaz Harrosh's email commit 43d451f163c1b615c1bedef95258c49712679eeb Merge: 21d2271 9f3e3ca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 11:21:19 2014 -0700 Merge branch 'mailbox-for-linus' of git://git.linaro.org/landing-teams/working/fujitsu/integration Pull mailbox framework from Jassi Brar: "A framework for Mailbox controllers and clients have been cooking for more than a year now. Everybody in the CC list had been copied on patchset revisions and most of them have made sounds of approval, though just one concrete Reviewed-by. The patchset has also been in linux-next for a couple of weeks now and no conflict has been reported. The framework has the backing of at least 5 platforms, though I can't say if/when they upstream their drivers (some businesses have 'changed')" (Further acked-by by Arnd Bergmann and Suman Anna in the pull request thread) * 'mailbox-for-linus' of git://git.linaro.org/landing-teams/working/fujitsu/integration: dt: mailbox: add generic bindings doc: add documentation for mailbox framework mailbox: Introduce framework for mailbox mailbox: rename pl320-ipc specific mailbox.h commit 21d2271fd0812ebe3716cab0b48356837485a74d Merge: 045aaed 06980b2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 08:24:55 2014 -0700 Merge git://www.linux-watchdog.org/linux-watchdog Pull watchdog updates from Wim Van Sebroeck: - new Cadence WDT driver - new Ricoh RN5T618 watchdog - new DA9063 PMIC watchdog driver - new Meson WDT driver - add restart handling code - fixes and improvements * git://www.linux-watchdog.org/linux-watchdog: (25 commits) watchdog: meson: remove magic value for reboot watchdog: Let XILINX_WATCHDOG and TEGRA_WATCHDOG depend on HAS_IOMEM watchdog: sunxi: Add A31 watchdog support watchdog: sunxi: support parameterized compatible strings watchdog: imx2_wdt: add restart handler support watchdog: qcom: register a restart notifier watchdog: s3c2410: add restart handler watchdog: dw_wdt: add restart handler support ARM: defconfig: update multi_v7_defconfig ARM: meson: add watchdog driver ARM: docs: add documentation binding for meson watchdog stmp3xxx_rtc_wdt: Add suspend/resume PM support watchdog: Add DA9063 PMIC watchdog driver. watchdog: add driver for Ricoh RN5T618 watchdog watchdog: s3c2410_wdt: Add support for Watchdog device on Exynos7 watchdog: qcom: document device tree bindings watchdog: qcom: add support for KPSS WDT watchdog: dw_wdt: initialise TOP_INIT in dw_wdt_set_top() devicetree: Add Cadence WDT devicetree bindings documentation watchdog: Add Cadence WDT driver ... commit 045aaedab67bc3f2f01fe46917e0e17a6b5a7d5d Merge: 5b9c897 a4c84e6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 08:18:38 2014 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds Pull LED update from Bryan Wu: "Basically we have some bug fixing and clean up and one big thing is we start to merge patch to add support LED Flash class" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: leds: gpio: cleanup the leds-gpio driver led: gpio: Fix possible ZERO_SIZE_PTR pointer dereferencing error. led: gpio: Sort include headers alphabetically leds: Improve and export led_update_brightness leds: trigger: gpio: fix warning in gpio trigger for gpios whose accessor function may sleep leds: lp3944: fix sparse warning leds: avoid using DEVICE_ATTR macro for max_brightness attribute leds: make brightness type consistent across whole subsystem leds: Reorder include directives commit 5b9c8972527fdb52d5cd7dadc9853c57430e0ff5 Merge: 3d430bd dec02f9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 08:17:43 2014 -0700 Merge tag 'pwm/for-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm Pull pwm changes from Thierry Reding: "There are no new drivers here, only a couple of fixes all over the place" * tag 'pwm/for-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: pwm: Let PWM_CLPS711X depend on HAS_IOMEM pwm: atmel: Fix calculation of prescale value pwm: Fix uninitialized warnings in pwm_get() pwm: rockchip: Allow polarity invert on rk3288 pwm: imx: Avoid sample FIFO overflow for i.MX PWM version2 pwm: imx: Cleanup indentation for register definitions pwm: imx: Fix the macro MX3_PWMCR_PRESCALER(x) definition pwm: Fix possible ZERO_SIZE_PTR pointer dereferencing error. pwm: lpss: make it buildable only on X86 pwm: lpss: use c99 initializers in structures pwm: lpss: Fix build failure on PowerPC pwm: lpss: pci: Move to use pcim_enable_device() pwm: lpss: Properly split driver to parts pwm: lpss: Add ACPI and PCI IDs for Intel Braswell pwm: fsl-ftm: Select REGMAP_MMIO pwm: fsl-ftm: Document 'big-endian' property pwm: fsl-ftm: Convert to direct regmap API usage pwm: fsl-ftm: Clean up the code commit 3d430bdb74140224d90dd6253d67ff71d181cf64 Merge: dc30340 5637208 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 07:50:02 2014 -0700 Merge tag 'arc-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC updates from Vineet Gupta: "Sorry for the late pull request. Current stuff was ready for a while but I was hoping to squeeze in support for almost ready ARC SDP platform (and avoid a 2nd pull request), however it seems there are still some loose ends which warrant more time. - Platform code reduction/moving-up (TB10X no longer needs any callbacks) - updated boot printing - kgdb update for arc gdb 7.5 - bug fixes (some marked for stable) - more code refactoring/consolidation" * tag 'arc-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARC: boot: cpu feature print enhancements ARC: boot: consolidate cross-checking of h/w and s/w ARC: unbork FPU save/restore ARC: remove extraneous __KERNEL__ guards ARC: Update order of registers in KGDB to match GDB 7.5 ARC: Remove unneeded Kconfig entry NO_DMA ARC: BUG() dumps stack after @msg (@msg now same as in generic BUG)) ARC: refactoring: reduce the scope of some local vars ARC: remove gcc mpy heuristics ARC: RIP @running_on_hw ARC: Update comments about uncached address space ARC: rename kconfig option for unaligned emulation ARC: [nsimosci] Allow "headless" models to boot ARC: [arcfpga] Get rid of ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 ARC: [arcfpga] Remove more dead code ARC: [plat*] move code out of .init_machine into common ARC: [arcfpga] consolidate machine description, DT ARC: Allow SMP kernel to build/boot on UP-only infrastructure commit dc303408a716e865099fcb3f83a90d9c51184c02 Merge: c4301c3 e89dafb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 07:48:56 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull more powerpc updates from Michael Ellerman: "Here's some more updates for powerpc for 3.18. They are a bit late I know, though must are actually bug fixes. In my defence I nearly cut the top of my finger off last weekend in a gruesome bike maintenance accident, so I spent a good part of the week waiting around for doctors. True story, I can send photos if you like :) Probably the most interesting fix is the sys_call_table one, which enables syscall tracing for powerpc. There's a fix for HMI handling for old firmware, more endian fixes for firmware interfaces, more EEH fixes, Anton fixed our routine that gets the current stack pointer, and a few other misc bits" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (22 commits) powerpc: Only do dynamic DMA zone limits on platforms that need it powerpc: sync pseries_le_defconfig with pseries_defconfig powerpc: Add printk levels to setup_system output powerpc/vphn: NUMA node code expects big-endian powerpc/msi: Use WARN_ON() in msi bitmap selftests powerpc/msi: Fix the msi bitmap alignment tests powerpc/eeh: Block CFG upon frozen Shiner adapter powerpc/eeh: Don't collect logs on PE with blocked config space powerpc/eeh: Block PCI config access upon frozen PE powerpc/pseries: Drop config requests in EEH accessors powerpc/powernv: Drop config requests in EEH accessors powerpc/eeh: Rename flag EEH_PE_RESET to EEH_PE_CFG_BLOCKED powerpc/eeh: Fix condition for isolated state powerpc/pseries: Make CPU hotplug path endian safe powerpc/pseries: Use dump_stack instead of show_stack powerpc: Rename __get_SP() to current_stack_pointer() powerpc: Reimplement __get_SP() as a function not a define powerpc/numa: Add ability to disable and debug topology updates powerpc/numa: check error return from proc_create powerpc/powernv: Fallback to old HMI handling behavior for old firmware ... commit c4301c32663438afb8eac96db01944ad95c00260 Merge: c2661b8 d6fe5be Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 07:47:54 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "One patch to enable the BPF system call and three more bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/uprobes: fix kprobes dependency s390: wire up bpf syscall s390/mm: fixing calls of pte_unmap_unlock s390/hmcdrv: Restrict s390 HMC driver to S390 arch commit 06980b24cf9bfcc753a07ee362976169bb869869 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Thu Oct 9 21:59:16 2014 +0200 watchdog: meson: remove magic value for reboot This patch removes the magic value used for rebooting the board. This value is useless and leads to a static checker warning as reported by Dan Carpenter. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 71fd380a6b87f384002feceda39fd670ede7ea5f Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Sun Oct 5 09:28:33 2014 +0800 watchdog: Let XILINX_WATCHDOG and TEGRA_WATCHDOG depend on HAS_IOMEM They need HAS_IOMEM, so let them depend on it, the related error (with allmodconfig under um): MODPOST 1205 modules ERROR: "devm_ioremap_resource" [drivers/watchdog/tegra_wdt.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/watchdog/of_xilinx_wdt.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit c5ec618fbf83045b9d51679d809ddd45f990fe0a Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Mon Sep 22 00:05:19 2014 +0800 watchdog: sunxi: Add A31 watchdog support This patch adds support for the watchdog hardware found in A31 and newer SoCs. This new hardware has registers at different offsets, and the system reset control has been split out of the "mode" register into a new "configuration" register. Differences not supported by this driver include separate interrupt lines for each watchdog, instead of sharing an interrupt line and registers with the timer block. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f2147de334703c7c44372f013d7d466d756e6943 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Mon Sep 22 00:05:18 2014 +0800 watchdog: sunxi: support parameterized compatible strings This patch adds support for hardware parameters tied to compatible strings, so similar hardware can reuse the driver. This will be used to support the newer watchdog found in A31 and later SoCs. Differences in the new hardware include separate interrupt lines for each watchdog, and corresponding interrupt control/status registers. Watchdog control registers were also slightly rearranged. Also replace ioread32()/iowrite32() with readl()/writel() in various places changed. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 334a9d8131254e06685b2af0c0f3cc7b3ec5bd04 Author: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Date: Fri Sep 12 15:24:36 2014 +0800 watchdog: imx2_wdt: add restart handler support Register the watchdog as the system restart function to the new introducing kernel restart call chain in the driver instead of providing the restart in machine desc. This restart handler function is from the mxc_restart() in arch/arm/mach-imx/system.c Signed-off-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 05e487d905ab29b5756d6d1e47e27eefa6693fb3 Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Thu Sep 25 17:51:04 2014 -0500 watchdog: qcom: register a restart notifier The WDT's BITE_TIME warm-reset behavior can be leveraged as a last resort mechanism for triggering chip reset. Usually, other restart methods (such as PS_HOLD) are preferrable for issuing a more complete reset of the chip. As such, keep the priority of the watchdog notifier low. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f286e1335f579dfd970c7fc3f62b248773a47a5c Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Aug 19 17:45:36 2014 -0700 watchdog: s3c2410: add restart handler On a lot of Samsung systems the watchdog is responsible for restarting the system and until now this code was contained in plat-samsung/watchdog-reset.c. With the introduction of the restart handlers, this code can now move into driver itself, removing the need for arch-specific code. Tested on a S3C2442 based GTA02 Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 31228f43ab528628c9b5f1351604361aa1d78533 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Sep 23 15:42:12 2014 +0800 watchdog: dw_wdt: add restart handler support The kernel core now provides an API to trigger a system restart. Register with it to support restarting the system via. watchdog. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 69a160a0543fd569661048a8692c10afcdb1914b Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Sat Sep 20 19:06:52 2014 +0200 ARM: defconfig: update multi_v7_defconfig Update the multi_v7_defconfig enabling the watchdog driver for Meson SoCs. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 22e1b8f60f913cf71e688af9b64317b515303f4c Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Sat Sep 20 19:06:50 2014 +0200 ARM: meson: add watchdog driver This patch adds the watchdog driver for the Amlogic Meson SoCs used also to reboot the device. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 0c5691f00879cacf98a31b873c02d71c66d72855 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Sat Sep 20 19:06:49 2014 +0200 ARM: docs: add documentation binding for meson watchdog Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 3281b85c8697938e344d67144ca8ba520fa54d2b Author: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx> Date: Mon Sep 22 22:55:47 2014 +0200 stmp3xxx_rtc_wdt: Add suspend/resume PM support There is no conflict with rtc/rtc-stmp3xxx.c parent because modified registers in PM functions of stmp3xxx_rtc_wdt are different. Signed-off-by: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 5e9c16e3760893b3721f599f180795ca7160afef Author: Krystian Garbaciak <krystian.garbaciak@xxxxxxxxxxx> Date: Sun Sep 28 19:05:45 2014 +0200 watchdog: Add DA9063 PMIC watchdog driver. This driver supports the watchdog device inside the DA9063 PMIC. Signed-off-by: Krystian Garbaciak <krystian.garbaciak@xxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Tested-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 22b1c841e31510c3124c88a13b8a7ada14e2e2d1 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Mon Sep 29 00:39:47 2014 +0200 watchdog: add driver for Ricoh RN5T618 watchdog This adds a driver for the watchdog timer available in Ricoh RN5T618 PMIC. The device supports a programmable expiration time of 1, 8, 32 or 128 seconds. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 2b9366b669679f1388457ec5a62f9dd1d0a78b08 Author: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Date: Wed Aug 27 15:17:11 2014 +0530 watchdog: s3c2410_wdt: Add support for Watchdog device on Exynos7 Exynos7 SoC has a Watchdog for Atlas (A57) cores This patch adds support for the Atlas watchdog. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 7c92c3d58429c38557ffd7e6a69dc97522335454 Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Thu Sep 25 17:51:03 2014 -0500 watchdog: qcom: document device tree bindings The Qualcomm Krait Processor Sub-system (KPSS) contains one or more instances of the WDT. Provide documentation on how to describe these in the device tree. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 1094ebe9d1e1dde0754ff8cede16159fb20b2f3b Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Thu Sep 25 17:51:02 2014 -0500 watchdog: qcom: add support for KPSS WDT Add a driver for the watchdog timer block found in the Krait Processor Subsystem (KPSS) on the MSM8960, APQ8064, and IPQ8064. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit dfa07141e7a792aecf98a8a99dd40df0bf91bce2 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Sep 23 15:42:11 2014 +0800 watchdog: dw_wdt: initialise TOP_INIT in dw_wdt_set_top() The TOP_INIT, ie bit 4-7 of the WDOG_TIMEOUT_RANGE_REG_OFFSET register may be zero, so the timeout period may be very short after initialization is done, thus the system may be reset soon after enabling. We fix this problem by also initialising the TOP_INIT when setting TOP in function dw_wdt_set_top(). Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 191891c0378f44aec8e06e889a08d0b76fe6c5cb Author: Harini Katakam <harinik@xxxxxxxxxx> Date: Fri Aug 22 14:58:02 2014 +0530 devicetree: Add Cadence WDT devicetree bindings documentation Add cadence-wdt bindings documentation. Signed-off-by: Harini Katakam <harinik@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 58bf016426594e5370e7e7059698a278294db997 Author: Harini Katakam <harinik@xxxxxxxxxx> Date: Fri Aug 22 14:58:01 2014 +0530 watchdog: Add Cadence WDT driver Add Cadence WDT driver. This is used by Xilinx Zynq. Signed-off-by: Harini Katakam <harinik@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 4846e3784585173f48e267b76f968bcb4a12d3b2 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Sep 9 22:18:31 2014 +0200 watchdog: simplify definitions of WATCHDOG_NOWAYOUT(_INIT_STATUS)? Signed-off-by: Uwe Kleine-K=C3=B6nig <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 0461aea7ec379b00f4acb5d612bfb2f7a497eb92 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 18 16:12:50 2014 +0800 watchdog: imx2_wdt: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 1f897a81915222310374cac1a85c0c7104f16249 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 19 14:57:12 2014 +0300 watchdog: ts72xx_wdt: Kill superfluous variable in remove There is no need to store the return value of misc_deregister() in a variable. Instead we can just return the value directly. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 62ce25439a7ea01eba5c2a6a8284e4aa23890042 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Aug 20 15:26:46 2014 -0400 powerpc: booke_wdt: Fix build error as a module Building booke_wdt fails when trying to build as a module as there is no early_param() in module. Fix by using module_param() instead of early_param(). Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit fca8c0481bc8d751479ca13f454e89a7fdfece03 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:51:28 2014 +0200 watchdog: xilinx: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit c2661b806092d8ea2dccb7b02b65776555e0ee47 Merge: f114040 813d32f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 20 09:50:11 2014 -0700 Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 updates from Ted Ts'o: "A large number of cleanups and bug fixes, with some (minor) journal optimizations" [ This got sent to me before -rc1, but was stuck in my spam folder. - Linus ] * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (67 commits) ext4: check s_chksum_driver when looking for bg csum presence ext4: move error report out of atomic context in ext4_init_block_bitmap() ext4: Replace open coded mdata csum feature to helper function ext4: delete useless comments about ext4_move_extents ext4: fix reservation overflow in ext4_da_write_begin ext4: add ext4_iget_normal() which is to be used for dir tree lookups ext4: don't orphan or truncate the boot loader inode ext4: grab missed write_count for EXT4_IOC_SWAP_BOOT ext4: optimize block allocation on grow indepth ext4: get rid of code duplication ext4: fix over-defensive complaint after journal abort ext4: fix return value of ext4_do_update_inode ext4: fix mmap data corruption when blocksize < pagesize vfs: fix data corruption when blocksize < pagesize for mmaped data ext4: fold ext4_nojournal_sops into ext4_sops ext4: support freezing ext2 (nojournal) file systems ext4: fold ext4_sync_fs_nojournal() into ext4_sync_fs() ext4: don't check quota format when there are no quota files jbd2: simplify calling convention around __jbd2_journal_clean_checkpoint_list jbd2: avoid pointless scanning of checkpoint lists ... commit dec02f98ae2e341a2e0bb25f27e84867e5f9f64a Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Sat Oct 4 17:48:42 2014 +0800 pwm: Let PWM_CLPS711X depend on HAS_IOMEM PWM_CLPS711X needs HAS_IOMEM, so depend on it, the related error (with allmodconfig under um): MODPOST 1205 modules ERROR: "devm_ioremap_resource" [drivers/pwm/pwm-clps711x.ko] undefined! ERROR: "devm_ioremap" [drivers/net/phy/mdio-bcm-unimac.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit f114040e3ea6e07372334ade75d1ee0775c355e1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 18:08:38 2014 -0700 Linux 3.18-rc1 commit 4d3639ac3c11afc8fdcb28f95916ef4b21c3fa36 Merge: ab074ad 5776451 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 17:43:06 2014 -0700 Merge tag 'arm-soc-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "A batch of fixes that have come in during the merge window. Some of them are defconfig updates for things that have now landed, some errata additions and a few general scattered fixes. There's also a qcom DT update that adds support for SATA on AP148, and basic support for Sony Xperia Z1 and CM-QS600 platforms that seemed isolated enough that we could merge it even if it's late" * tag 'arm-soc-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: MAINTAINERS: corrected bcm2835 search ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa ARM: dts: Explicitly set dr_mode on exynos Peach boards ARM: dts: qcom: add CM-QS600 board ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone ARM: dts: qcom: Add SATA support on IPQ8064/AP148 MAINTAINERS: Update Santosh Shilimkar's email id ARM: sunxi_defconfig: enable CONFIG_REGULATOR ARM: dts: Disable smc91x on n900 until bootloader dependency is removed ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3 ARM: exynos_defconfig: enable USB gadget support ARM: exynos_defconfig: Enable Maxim 77693 and I2C GPIO drivers ARM: mm: Fix ifdef around cpu_*_do_[suspend, resume] ops ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n ARM: SAMSUNG: Restore Samsung PM Debug functionality ARM: dts: Fix pull setting in sd4_width8 pin group for exynos4x12 ARM: exynos_defconfig: Enable SBS battery support ARM: exynos_defconfig: Enable Control Groups support ARM: exynos_defconfig: Enable Atmel maXTouch support ARM: exynos_defconfig: Enable MAX77802 commit ab074ade9c33b3585da86d62e87bcb3e897a3f54 Merge: 61ed53d 2991dd2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 16:25:56 2014 -0700 Merge git://git.infradead.org/users/eparis/audit Pull audit updates from Eric Paris: "So this change across a whole bunch of arches really solves one basic problem. We want to audit when seccomp is killing a process. seccomp hooks in before the audit syscall entry code. audit_syscall_entry took as an argument the arch of the given syscall. Since the arch is part of what makes a syscall number meaningful it's an important part of the record, but it isn't available when seccomp shoots the syscall... For most arch's we have a better way to get the arch (syscall_get_arch) So the solution was two fold: Implement syscall_get_arch() everywhere there is audit which didn't have it. Use syscall_get_arch() in the seccomp audit code. Having syscall_get_arch() everywhere meant it was a useless flag on the stack and we could get rid of it for the typical syscall entry. The other changes inside the audit system aren't grand, fixed some records that had invalid spaces. Better locking around the task comm field. Removing some dead functions and structs. Make some things static. Really minor stuff" * git://git.infradead.org/users/eparis/audit: (31 commits) audit: rename audit_log_remove_rule to disambiguate for trees audit: cull redundancy in audit_rule_change audit: WARN if audit_rule_change called illegally audit: put rule existence check in canonical order next: openrisc: Fix build audit: get comm using lock to avoid race in string printing audit: remove open_arg() function that is never used audit: correct AUDIT_GET_FEATURE return message type audit: set nlmsg_len for multicast messages. audit: use union for audit_field values since they are mutually exclusive audit: invalid op= values for rules audit: use atomic_t to simplify audit_serial() kernel/audit.c: use ARRAY_SIZE instead of sizeof/sizeof[0] audit: reduce scope of audit_log_fcaps audit: reduce scope of audit_net_id audit: arm64: Remove the audit arch argument to audit_syscall_entry arm64: audit: Add audit hook in syscall_trace_enter/exit() audit: x86: drop arch from __audit_syscall_entry() interface sparc: implement is_32bit_task sparc: properly conditionalize use of TIF_32BIT ... commit 57764512cef5d67623b6ac0a966761f5bbc43aa0 Merge: e29c648 7dac24b Author: Olof Johansson <olof@xxxxxxxxx> Date: Sun Oct 19 13:39:08 2014 -0700 Merge tag 'qcom-dt-for-3.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into fixes Merge "qcom DT changes for v3.18-3" from Kumar Gala: Qualcomm ARM Based Device Tree Updates for v3.18-3 * Added Board support for CM-QS600 and Sony Xperia Z1 phone * Added SATA support on IPQ8064/AP148 * tag 'qcom-dt-for-3.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: dts: qcom: add CM-QS600 board ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone ARM: dts: qcom: Add SATA support on IPQ8064/AP148 commit e29c64865f6c7eeb98f7c6e2371f1100101f7562 Merge: 9209bec 4e03394 Author: Olof Johansson <olof@xxxxxxxxx> Date: Sun Oct 19 13:34:52 2014 -0700 Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Pull more fixes from Kukjin Kim: 2nd Samsung fixes for v3.18 - Explicitly set dr_mode on exynos5800-peach-pi, exynos5420-peach-pit and exynos5420-arndale-octa boards, because the USB dwc3 controller will not work properly without dr_mode as host on above boards if the USB host and gadget are enabled in kernel configuration both. * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa ARM: dts: Explicitly set dr_mode on exynos Peach boards Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9209bec4f8112928c796f70400a23d1f44469631 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Thu Oct 16 21:57:16 2014 -0600 MAINTAINERS: corrected bcm2835 search Corrected bcm2835 maintainer info by using N: to specify any files with bcm2835 in are directed to the proper maintainer. Also corrected minor mispelling of ARCHITECTURE in 2 comment locations. Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 61ed53deb1c6a4386d8710dbbfcee8779c381931 Merge: 278f1d0 ab760a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 12:58:22 2014 -0700 Merge tag 'ntb-3.18' of git://github.com/jonmason/ntb Pull ntb (non-transparent bridge) updates from Jon Mason: "Add support for Haswell NTB split BARs, a debugfs entry for basic debugging info, and some code clean-ups" * tag 'ntb-3.18' of git://github.com/jonmason/ntb: ntb: Adding split BAR support for Haswell platforms ntb: use errata flag set via DID to implement workaround ntb: conslidate reading of PPD to move platform detection earlier ntb: move platform detection to separate function NTB: debugfs device entry commit 278f1d0730f4d0acdfc64256ad9b1066d0f3ab57 Merge: d590c6c 3e27a84 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 12:50:44 2014 -0700 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c updates from Wolfram Sang: "Highlights from the I2C subsystem for 3.18: - new drivers for Axxia AM55xx, and Hisilicon hix5hd2 SoC. - designware driver gained AMD support, exynos gained exynos7 support The rest is usual driver stuff. Hopefully no lowlights this time" * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: i801: Add Device IDs for Intel Sunrise Point PCH i2c: hix5hd2: add i2c controller driver i2c-imx: Disable the clock on probe failure i2c: designware: Add support for AMD I2C controller i2c: designware: Rework probe() to get clock a bit later i2c: designware: Default to fast mode in case of ACPI i2c: axxia: Add I2C driver for AXM55xx i2c: exynos: add support for HSI2C module on Exynos7 i2c: mxs: detect No Slave Ack on SELECT in PIO mode i2c: cros_ec: Remove EC_I2C_FLAG_10BIT i2c: cros-ec-tunnel: Add of match table i2c: rcar: remove sign-compare flaw i2c: ismt: Use minimum descriptor size i2c: imx: Add arbitration lost check i2c: rk3x: Remove unlikely() annotations i2c: rcar: check for no IRQ in rcar_i2c_irq() i2c: rcar: make rcar_i2c_prepare_msg() *void* i2c: rcar: simplify check for last message i2c: designware: add support of platform data to set I2C mode i2c: designware: add support of I2C standard mode commit d590c6cdd96c8a254e7935ad12f65e4058c95a1b Merge: fb378df c8b00fd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 12:45:36 2014 -0700 Merge tag 'sound-fix-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are a collection of small fixes after 3.18 merge. The urgent one is the fix for kernel panics with linked PCM substream triggered by the recent nonatomic PCM ops support. Other two fixes (emu10k1 and bebob) are stable fixes, and one easy PCI ID addition for a new Intel HD-audio controller" * tag 'sound-fix-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda_intel: Add Device IDs for Intel Sunrise Point PCH ALSA: emu10k1: Fix deadlock in synth voice lookup ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88 commit fb378df57d5c0e92e935893b81be168897632374 Merge: 2eb7f91 4dfb15c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 12:40:24 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull second round of input updates from Dmitry Torokhov: "Mostly simple bug fixes, although we do have one brand new driver for Microchip AR1021 i2c touchscreen. Also there is the change to stop trying to use i8042 active multiplexing by default (it is still possible to activate it via i8042.nomux=0 on boxes that implement it)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: xpad - add Thrustmaster as Xbox 360 controller vendor Input: xpad - add USB ID for Thrustmaster Ferrari 458 Racing Wheel Input: max77693-haptic - fix state check in imax77693_haptic_disable() Input: xen-kbdfront - free grant table entry in xenkbd_disconnect_backend Input: alps - fix v4 button press recognition Input: i8042 - disable active multiplexing by default Input: i8042 - add noloop quirk for Asus X750LN Input: synaptics - gate forcepad support by DMI check Input: Add Microchip AR1021 i2c touchscreen Input: cros_ec_keyb - add of match table Input: serio - avoid negative serio device numbers Input: avoid negative input device numbers Input: automatically set EV_ABS bit in input_set_abs_params Input: adp5588-keys - cancel workqueue in failure path Input: opencores-kbd - switch to using managed resources Input: evdev - fix EVIOCG{type} ioctl commit 2eb7f910c158fd675ab33aff67904512779996e8 Merge: 1f6075f 7b909bb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 12:29:23 2014 -0700 Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband Pull infiniband/RDMA updates from Roland Dreier: - large set of iSER initiator improvements - hardware driver fixes for cxgb4, mlx5 and ocrdma - small fixes to core midlayer * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (47 commits) RDMA/cxgb4: Fix ntuple calculation for ipv6 and remove duplicate line RDMA/cxgb4: Add missing neigh_release in find_route RDMA/cxgb4: Take IPv6 into account for best_mtu and set_emss RDMA/cxgb4: Make c4iw_wr_log_size_order static IB/core: Fix XRC race condition in ib_uverbs_open_qp IB/core: Clear AH attr variable to prevent garbage data RDMA/ocrdma: Save the bit environment, spare unncessary parenthesis RDMA/ocrdma: The kernel has a perfectly good BIT() macro - use it RDMA/ocrdma: Don't memset() buffers we just allocated with kzalloc() RDMA/ocrdma: Remove a unused-label warning RDMA/ocrdma: Convert kernel VA to PA for mmap in user RDMA/ocrdma: Get vlan tag from ib_qp_attrs RDMA/ocrdma: Add default GID at index 0 IB/mlx5, iser, isert: Add Signature API additions Target/iser: Centralize ib_sig_domain setting IB/iser: Centralize ib_sig_domain settings IB/mlx5: Use extended internal signature layout IB/iser: Set IP_CSUM as default guard type IB/iser: Remove redundant assignment IB/mlx5: Use enumerations for PI copy mask ... commit 1f6075f99073a8b5ec9649ae8c0bf2e06fdd42f1 Merge: 5e2ee7c 3b10ea7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 11:55:41 2014 -0700 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull more perf updates from Ingo Molnar: "A second (and last) round of late coming fixes and changes, almost all of them in perf tooling: User visible tooling changes: - Add period data column and make it default in 'perf script' (Jiri Olsa) - Add a visual cue for toggle zeroing of samples in 'perf top' (Taeung Song) - Improve callchains when using libunwind (Namhyung Kim) Tooling fixes and infrastructure changes: - Fix for double free in 'perf stat' when using some specific invalid command line combo (Yasser Shalabi) - Fix off-by-one bugs in map->end handling (Stephane Eranian) - Fix off-by-one bug in maps__find(), also related to map->end handling (Namhyung Kim) - Make struct symbol->end be the first addr after the symbol range, to make it match the convention used for struct map->end. (Arnaldo Carvalho de Melo) - Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat live' (Jiri Olsa) - Fix python test build by moving callchain_param to an object linked into the python binding (Jiri Olsa) - Document sysfs events/ interfaces (Cody P Schafer) - Fix typos in perf/Documentation (Masanari Iida) - Add missing 'struct option' forward declaration (Arnaldo Carvalho de Melo) - Add option to copy events when queuing for sorting across cpu buffers and enable it for 'perf kvm stat live', to avoid having events left in the queue pointing to the ring buffer be rewritten in high volume sessions. (Alexander Yarygin, improving work done by David Ahern): - Do not include a struct hists per perf_evsel, untangling the histogram code from perf_evsel, to pave the way for exporting a minimalistic tools/lib/api/perf/ library usable by tools/perf and initially by the rasd daemon being developed by Borislav Petkov, Robert Richter and Jean Pihet. (Arnaldo Carvalho de Melo) - Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and thread maps mean syswide monitoring, reducing the boilerplate for tools that only want system wide mode. (Arnaldo Carvalho de Melo) - Move exit stuff from perf_evsel__delete to perf_evsel__exit, delete should be just a front end for exit + free (Arnaldo Carvalho de Melo) - Add support to new style format of kernel PMU event. (Kan Liang) and other misc fixes" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits) perf script: Add period as a default output column perf script: Add period data column perf evsel: No need to drag util/cgroup.h perf evlist: Add missing 'struct option' forward declaration perf evsel: Move exit stuff from __delete to __exit kprobes/x86: Remove stale ARCH_SUPPORTS_KPROBES_ON_FTRACE define perf kvm stat live: Enable events copying perf session: Add option to copy events when queueing perf Documentation: Fix typos in perf/Documentation perf trace: Use thread_{,_set}_priv helpers perf kvm: Use thread_{,_set}_priv helpers perf callchain: Create an address space per thread perf report: Set callchain_param.record_mode for future use perf evlist: Fix for double free in tools/perf stat perf test: Add test case for pmu event new style format perf tools: Add support to new style format of kernel PMU event perf tools: Parse the pmu event prefix and suffix Revert "perf tools: Default to cpu// for events v5" perf Documentation: Remove Ruplicated docs for powerpc cpu specific events perf Documentation: sysfs events/ interfaces ... commit 5e2ee7cd58fcee6c6cc954642faa584f54c8391e Merge: e25b492 e265314 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 11:46:09 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc fixes from David Miller: "Here we have two bug fixes: 1) The current thread's fault_code is not setup properly upon entry to do_sparc64_fault() in some paths, leading to spurious SIGBUS. 2) Don't use a zero length array at the end of thread_info on sparc64, otherwise end_of_stack() isn't right" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: Do not define thread fpregs save area as zero-length array. sparc64: Fix corrupted thread fault code. commit e25b492741373542fb593477547fcf7a6b7d8b04 Merge: 52d589a 228b16c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 11:41:57 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "A quick batch of bug fixes: 1) Fix build with IPV6 disabled, from Eric Dumazet. 2) Several more cases of caching SKB data pointers across calls to pskb_may_pull(), thus referencing potentially free'd memory. From Li RongQing. 3) DSA phy code tests operation presence improperly, instead of going: if (x->ops->foo) r = x->ops->foo(args); it was going: if (x->ops->foo(args)) r = x->ops->foo(args); Fix from Andew Lunn" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: Net: DSA: Fix checking for get_phy_flags function ipv6: fix a potential use after free in sit.c ipv6: fix a potential use after free in ip6_offload.c ipv4: fix a potential use after free in gre_offload.c tcp: fix build error if IPv6 is not enabled commit 1fa3a002b2546c42c343c77c144871285896ced5 Author: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> Date: Sun Oct 19 20:36:36 2014 +0300 Boaz Harrosh - fix email in Documentation I forgot to update Documentation/*.txt Signed-off-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> commit aa281ac631008b9c18c405c8880007789f659c7d Author: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> Date: Sun Oct 19 19:38:58 2014 +0300 Boaz Harrosh - Fix broken email address I no longer have access to the Panasas email. So change to an email that can always reach me. Signed-off-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> commit fadc07522c3ce65c4d1c69a9284605a07aea1be8 Author: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> Date: Sun Oct 19 19:19:57 2014 +0300 MAINTAINERS: Change Boaz Harrosh's email I have moved on, and do no longer have Panasas email access. Update to an email that can reach me. So change bharrosh@xxxxxxxxxxx => ooo@xxxxxxxxxxxxxxx Explain of email address: * electrozaur.com is a domain owned by me. * ooo - Stands for Open Osd . Org Another email alias that can be used is: openosd@xxxxxxxxx CC: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> commit 228b16cb13dfa2f77354a9b144a07e86e2dda01c Author: Andrew Lunn <andrew@xxxxxxx> Date: Sun Oct 19 16:41:47 2014 +0200 Net: DSA: Fix checking for get_phy_flags function The check for the presence or not of the optional switch function get_phy_flags() called the function, rather than checked to see if it is a NULL pointer. This causes a derefernce of a NULL pointer on all switch chips except the sf2, the only switch to implement this call. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Fixes: 6819563e646a ("net: dsa: allow switch drivers to specify phy_device::dev_flags") Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2653143d7d79a49f1a961aeae1d82612838b12c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 18 23:12:33 2014 -0400 sparc64: Do not define thread fpregs save area as zero-length array. This breaks the stack end corruption detection facility. What that facility does it write a magic value to "end_of_stack()" and checking to see if it gets overwritten. "end_of_stack()" is "task_thread_info(p) + 1", which for sparc64 is the beginning of the FPU register save area. So once the user uses the FPU, the magic value is overwritten and the debug checks trigger. Fix this by making the size explicit. Due to the size we use for the fpsaved[], gsr[], and xfsr[] arrays we are limited to 7 levels of FPU state saves. So each FPU register set is 256 bytes, allocate 256 * 7 for the fpregs area. Reported-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84bd6d8b9c0f06b3f188efb479c77e20f05e9a8a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 18 23:03:09 2014 -0400 sparc64: Fix corrupted thread fault code. Every path that ends up at do_sparc64_fault() must install a valid FAULT_CODE_* bitmask in the per-thread fault code byte. Two paths leading to the label winfix_trampoline (which expects the FAULT_CODE_* mask in register %g4) were not doing so: 1) For pre-hypervisor TLB protection violation traps, if we took the 'winfix_trampoline' path we wouldn't have %g4 initialized with the FAULT_CODE_* value yet. Resulting in using the TLB_TAG_ACCESS register address value instead. 2) In the TSB miss path, when we notice that we are going to use a hugepage mapping, but we haven't allocated the hugepage TSB yet, we still have to take the window fixup case into consideration and in that particular path we leave %g4 not setup properly. Errors on this sort were largely invisible previously, but after commit 4ccb9272892c33ef1c19a783cfa87103b30c2784 ("sparc64: sun4v TLB error power off events") we now have a fault_code mask bit (FAULT_CODE_BAD_RA) that triggers due to this bug. FAULT_CODE_BAD_RA triggers because this bit is set in TLB_TAG_ACCESS (see #1 above) and thus we get seemingly random bus errors triggered for user processes. Fixes: 4ccb9272892c ("sparc64: sun4v TLB error power off events") Reported-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52d589a01d4545ce1dc5c3892bb8c7b55edfe714 Merge: 0a58282 6b997ba Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 18:11:04 2014 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma Pull slave-dmaengine updates from Vinod Koul: "For dmaengine contributions we have: - designware cleanup by Andy - my series moving device_control users to dmanegine_xxx APIs for later removal of device_control API - minor fixes spread over drivers mainly mv_xor, pl330, mmp, imx-sdma etc" * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (60 commits) serial: atmel: add missing dmaengine header dmaengine: remove FSLDMA_EXTERNAL_START dmaengine: freescale: remove FSLDMA_EXTERNAL_START control method carma-fpga: move to fsl_dma_external_start() carma-fpga: use dmaengine_xxx() API dmaengine: freescale: add and export fsl_dma_external_start() dmaengine: add dmaengine_prep_dma_sg() helper video: mx3fb: use dmaengine_terminate_all() API serial: sh-sci: use dmaengine_terminate_all() API net: ks8842: use dmaengine_terminate_all() API mtd: sh_flctl: use dmaengine_terminate_all() API mtd: fsmc_nand: use dmaengine_terminate_all() API V4L2: mx3_camer: use dmaengine_pause() API dmaengine: coh901318: use dmaengine_terminate_all() API pata_arasan_cf: use dmaengine_terminate_all() API dmaengine: edma: check for echan->edesc => NULL in edma_dma_pause() dmaengine: dw: export probe()/remove() and Co to users dmaengine: dw: enable and disable controller when needed dmaengine: dw: always export dw_dma_{en,dis}able dmaengine: dw: introduce dw_dma_on() helper ... commit 0a582821d4f8edf41d9b56ae057ee2002fc275f0 Merge: 8a5de18 33ac9db Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 18:03:02 2014 -0700 Merge tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: - new 6x10 font - various small fixes and cleanups * tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (30 commits) fonts: Add 6x10 font videomode: provide dummy inline functions for !CONFIG_OF video/atmel_lcdfb: Introduce regulator support fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume framebuffer: fix screen corruption when copying framebuffer: fix border color arm, fbdev, omap2, LLVMLinux: Remove nested function from omapfb arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info video: fbdev: pxafb.c: use container_of to resolve pxafb_info/layer from fb_info video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info video: fbdev: controlfb.c: use container_of to resolve fb_info_control from fb_info video: fbdev: sa1100fb.c: use container_of to resolve sa1100fb_info from fb_info video: fbdev: stifb.c: use container_of to resolve stifb_info from fb_info video: fbdev: sis: sis_main.c: Cleaning up missing null-terminate in conjunction with strncpy video: valkyriefb: Fix unused variable warning in set_valkyrie_clock() video: fbdev: use %*ph specifier to dump small buffers video: mx3fb: always enable BACKLIGHT_LCD_SUPPORT video: fbdev: au1200fb: delete double assignment video: fbdev: sis: delete double assignment ... commit 8a5de18239e418fe7b1f36504834689f754d8ccc Merge: 857b50f 2df36a5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 14:32:31 2014 -0700 Merge tag 'kvm-arm-for-3.18-take-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm Pull second batch of changes for KVM/{arm,arm64} from Marc Zyngier: "The most obvious thing is the sizeable MMU changes to support 48bit VAs on arm64. Summary: - support for 48bit IPA and VA (EL2) - a number of fixes for devices mapped into guests - yet another VGIC fix for BE - a fix for CPU hotplug - a few compile fixes (disabled VGIC, strict mm checks)" [ I'm pulling directly from Marc at the request of Paolo Bonzini, whose backpack was stolen at Düsseldorf airport and will do new keys and rebuild his web of trust. - Linus ] * tag 'kvm-arm-for-3.18-take-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm: arm/arm64: KVM: Fix BE accesses to GICv2 EISR and ELRSR regs arm: kvm: STRICT_MM_TYPECHECKS fix for user_mem_abort arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE arm64: KVM: Implement 48 VA support for KVM EL2 and Stage-2 arm/arm64: KVM: map MMIO regions at creation time arm64: kvm: define PAGE_S2_DEVICE as read-only by default ARM: kvm: define PAGE_S2_DEVICE as read-only by default arm/arm64: KVM: add 'writable' parameter to kvm_phys_addr_ioremap arm/arm64: KVM: fix potential NULL dereference in user_mem_abort() arm/arm64: KVM: use __GFP_ZERO not memset() to get zeroed pages ARM: KVM: fix vgic-disabled build arm: kvm: fix CPU hotplug commit 857b50f5d0eed113428c864e927289d8f5f2b864 Merge: 168f07a 31d6f57 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 14:24:36 2014 -0700 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS updates from Ralf Baechle: "This is the MIPS pull request for the next kernel: - Zubair's patch series adds CMA support for MIPS. Doing so it also touches ARM64 and x86. - remove the last instance of IRQF_DISABLED from arch/mips - updates to two of the MIPS defconfig files. - cleanup of how cache coherency bits are handled on MIPS and implement support for write-combining. - platform upgrades for Alchemy - move MIPS DTS files to arch/mips/boot/dts/" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (24 commits) MIPS: ralink: remove deprecated IRQF_DISABLED MIPS: pgtable.h: Implement the pgprot_writecombine function for MIPS MIPS: cpu-probe: Set the write-combine CCA value on per core basis MIPS: pgtable-bits: Define the CCA bit for WC writes on Ingenic cores MIPS: pgtable-bits: Move the CCA bits out of the core's ifdef blocks MIPS: DMA: Add cma support x86: use generic dma-contiguous.h arm64: use generic dma-contiguous.h asm-generic: Add dma-contiguous.h MIPS: BPF: Add new emit_long_instr macro MIPS: ralink: Move device-trees to arch/mips/boot/dts/ MIPS: Netlogic: Move device-trees to arch/mips/boot/dts/ MIPS: sead3: Move device-trees to arch/mips/boot/dts/ MIPS: Lantiq: Move device-trees to arch/mips/boot/dts/ MIPS: Octeon: Move device-trees to arch/mips/boot/dts/ MIPS: Add support for building device-tree binaries MIPS: Create common infrastructure for building built-in device-trees MIPS: SEAD3: Enable DEVTMPFS MIPS: SEAD3: Regenerate defconfigs MIPS: Alchemy: DB1300: Add touch penirq support ... commit 168f07a1ea75870b3fdee3d69d978813eb1fd58d Merge: 9272f2d aeba373 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 14:22:32 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc fix from Michael Ellerman: "There was a bit of a misunderstanding between us and the ARM guys in the device tree PCI code, which is breaking virtio on powerpc. This is the minimal fix until we can sort it out properly" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: powerpc/pci: Fix IO space breakage after of_pci_range_to_resource() change commit 9272f2dc3956c6b6c4335de51bc897fa3b981584 Merge: e83e432 ff273cb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 13:39:19 2014 -0700 Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 Pull cifs/smb3 updates from Steve French: "Improved SMB3 support (symlink and device emulation, and remapping by default the 7 reserved posix characters) and a workaround for cifs mounts to Mac (working around a commonly encountered Mac server bug)" * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6: [CIFS] Remove obsolete comment Check minimum response length on query_network_interface Workaround Mac server problem Remap reserved posix characters by default (part 3/3) Allow conversion of characters in Mac remap range (part 2) Allow conversion of characters in Mac remap range. Part 1 mfsymlinks support for SMB2.1/SMB3. Part 2 query symlink Add mfsymlinks support for SMB2.1/SMB3. Part 1 create symlink Allow mknod and mkfifo on SMB2/SMB3 mounts add defines for two new file attributes commit e83e43237236ba89316e97a3743b5bd585726e47 Merge: ef161ea1 c07127b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 13:37:19 2014 -0700 Merge tag 'dlm-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm Pull dlm fix from David Teigland: "This includes a single commit fixing a missing endian conversion" * tag 'dlm-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm: dlm: fix missing endian conversion of rcom_status flags commit ef161ea1ff96337cbe2253afb72636474d90598e Merge: 8ccf863 d379730 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 13:32:17 2014 -0700 Merge branch 'for-linus-update' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs data corruption fix from Chris Mason: "I'm testing a pull with more fixes, but wanted to get this one out so Greg can pick it up. The corruption isn't easy to hit, you have to do a readonly snapshot and have orphans in the snapshot. But my review and testing missed the bug. Filipe has added a better xfstest to cover it" * 'for-linus-update' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Revert "Btrfs: race free update of commit root for ro snapshots" commit 8ccf863f09bbff209b124cbd90644c0b75b8fefd Merge: 4869447 d4bf205d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 13:25:03 2014 -0700 Merge tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull pstore fix from Tony Luck: "Ensure unique filenames in pstore" * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: pstore: Fix duplicate {console,ftrace}-efi entries commit 4869447d21738f9d5bfdf2e9644bcc62db288d88 Merge: ead13ae 3569b70 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 12:54:46 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs Pull NTFS update from Anton Altaparmakov: "Here is a small NTFS update notably implementing FIBMAP ioctl for NTFS by adding the bmap address space operation. People seem to still want FIBMAP" * git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs: NTFS: Bump version to 2.1.31. NTFS: Add bmap address space operation needed for FIBMAP ioctl. NTFS: Remove changelog from Documentation/filesystems/ntfs.txt. NTFS: Split ntfs_aops into ntfs_normal_aops and ntfs_compressed_aops in preparation for them diverging. commit ead13aee235fa1619d85f2ab5cfb9308a19f8da3 Merge: 929254d b8fb9c3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 12:52:08 2014 -0700 Merge tag 'nfs-for-3.18-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs Pull NFS client updates from Trond Myklebust: "Highlights include: Stable fixes: - fix an uninitialised pointer Oops in the writeback error path - fix a bogus warning (and early exit from the loop) in nfs_generic_pgio() Features: - Add NFSv4.2 SEEK feature and client support for lseek(SEEK_HOLE/SEEK_DATA) Other fixes: - pnfs: replace broken pnfs_put_lseg_async - Remove dead prototype for nfs4_insert_deviceid_node" * tag 'nfs-for-3.18-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: NFS: Fix a bogus warning in nfs_generic_pgio NFS: Fix an uninitialised pointer Oops in the writeback error path NFSv4.1/pnfs: replace broken pnfs_put_lseg_async NFSv4: Remove dead prototype for nfs4_insert_deviceid_node() NFS: Implement SEEK commit 929254d8da55a046fe792e79a220f83df761305d Merge: e75437f 56ec16c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 12:25:30 2014 -0700 Merge tag 'dm-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device-mapper updates from Mike Snitzer: "I rebased the DM tree ontop of linux-block.git's 'for-3.18/core' at the beginning of October because DM core now depends on the newly introduced bioset_create_nobvec() interface. Summary: - fix DM's long-standing excessive use of memory by leveraging the new bioset_create_nobvec() interface when creating the DM's bioset - fix a few bugs in dm-bufio and dm-log-userspace - add DM core support for a DM multipath use-case that requires loading DM tables that contain devices that have failed (by allowing active and inactive DM tables to share dm_devs) - add discard support to the DM raid target; like MD raid456 the user must opt-in to raid456 discard support be specifying the devices_handle_discard_safely=Y module param" * tag 'dm-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm log userspace: fix memory leak in dm_ulog_tfr_init failure path dm bufio: when done scanning return from __scan immediately dm bufio: update last_accessed when relinking a buffer dm raid: add discard support for RAID levels 4, 5 and 6 dm raid: add discard support for RAID levels 1 and 10 dm: allow active and inactive tables to share dm_devs dm mpath: stop queueing IO when no valid paths exist dm: use bioset_create_nobvec() dm: remove nr_iovecs parameter from alloc_tio() commit e75437fb9322cf0ac707046a12d78a25f9d52ccf Merge: d3dc366 b277da0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 12:12:45 2014 -0700 Merge branch 'for-3.18/drivers' of git://git.kernel.dk/linux-block Pull block layer driver update from Jens Axboe: "This is the block driver pull request for 3.18. Not a lot in there this round, and nothing earth shattering. - A round of drbd fixes from the linbit team, and an improvement in asender performance. - Removal of deprecated (and unused) IRQF_DISABLED flag in rsxx and hd from Michael Opdenacker. - Disable entropy collection from flash devices by default, from Mike Snitzer. - A small collection of xen blkfront/back fixes from Roger Pau Monné and Vitaly Kuznetsov" * 'for-3.18/drivers' of git://git.kernel.dk/linux-block: block: disable entropy contributions for nonrot devices xen, blkfront: factor out flush-related checks from do_blkif_request() xen-blkback: fix leak on grant map error path xen/blkback: unmap all persistent grants when frontend gets disconnected rsxx: Remove deprecated IRQF_DISABLED block: hd: remove deprecated IRQF_DISABLED drbd: use RB_DECLARE_CALLBACKS() to define augment callbacks drbd: compute the end before rb_insert_augmented() drbd: Add missing newline in resync progress display in /proc/drbd drbd: reduce lock contention in drbd_worker drbd: Improve asender performance drbd: Get rid of the WORK_PENDING macro drbd: Get rid of the __no_warn and __cond_lock macros drbd: Avoid inconsistent locking warning drbd: Remove superfluous newline from "resync_extents" debugfs entry. drbd: Use consistent names for all the bi_end_io callbacks drbd: Use better variable names commit d3dc366bbaf07c125561e90d6da4bb147741101a Merge: 511c41d e19a8a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 11:53:51 2014 -0700 Merge branch 'for-3.18/core' of git://git.kernel.dk/linux-block Pull core block layer changes from Jens Axboe: "This is the core block IO pull request for 3.18. Apart from the new and improved flush machinery for blk-mq, this is all mostly bug fixes and cleanups. - blk-mq timeout updates and fixes from Christoph. - Removal of REQ_END, also from Christoph. We pass it through the ->queue_rq() hook for blk-mq instead, freeing up one of the request bits. The space was overly tight on 32-bit, so Martin also killed REQ_KERNEL since it's no longer used. - blk integrity updates and fixes from Martin and Gu Zheng. - Update to the flush machinery for blk-mq from Ming Lei. Now we have a per hardware context flush request, which both cleans up the code should scale better for flush intensive workloads on blk-mq. - Improve the error printing, from Rob Elliott. - Backing device improvements and cleanups from Tejun. - Fixup of a misplaced rq_complete() tracepoint from Hannes. - Make blk_get_request() return error pointers, fixing up issues where we NULL deref when a device goes bad or missing. From Joe Lawrence. - Prep work for drastically reducing the memory consumption of dm devices from Junichi Nomura. This allows creating clone bio sets without preallocating a lot of memory. - Fix a blk-mq hang on certain combinations of queue depths and hardware queues from me. - Limit memory consumption for blk-mq devices for crash dump scenarios and drivers that use crazy high depths (certain SCSI shared tag setups). We now just use a single queue and limited depth for that" * 'for-3.18/core' of git://git.kernel.dk/linux-block: (58 commits) block: Remove REQ_KERNEL blk-mq: allocate cpumask on the home node bio-integrity: remove the needless fail handle of bip_slab creating block: include func name in __get_request prints block: make blk_update_request print prefix match ratelimited prefix blk-merge: don't compute bi_phys_segments from bi_vcnt for cloned bio block: fix alignment_offset math that assumes io_min is a power-of-2 blk-mq: Make bt_clear_tag() easier to read blk-mq: fix potential hang if rolling wakeup depth is too high block: add bioset_create_nobvec() block: use bio_clone_fast() in blk_rq_prep_clone() block: misplaced rq_complete tracepoint sd: Honor block layer integrity handling flags block: Replace strnicmp with strncasecmp block: Add T10 Protection Information functions block: Don't merge requests if integrity flags differ block: Integrity checksum flag block: Relocate bio integrity flags block: Add a disk flag to block integrity profile block: Add prefix to block integrity profile flags ... commit 511c41d9e6665a07aca94eb00983cf6d77dd87ff Merge: 88ed806 8b3d58e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 11:48:03 2014 -0700 Merge tag 'for-linus-20141015' of git://git.infradead.org/linux-mtd Pull MTD update from Brian Norris: "Sorry for delaying this a bit later than usual. There's one mild regression from 3.16 that was noticed during the 3.17 cycle, and I meant to send a fix for it along with this pull request. I'll probably try to queue it up for a later pull request once I've had a better look at it, hopefully by -rc2 at the latest. Summary for this pull: NAND - Cleanup for Denali driver - Atmel: add support for new page sizes - Atmel: fix up 'raw' mode support - Atmel: miscellaneous cleanups - New timing mode helpers for non-ONFI NAND - OMAP: allow driver to be (properly) built as a module - bcm47xx: RESET support and other cleanups SPI NOR - Miscellaneous cleanups, to prepare framework for wider use (some further work still pending) - Compile-time configuration to select 4K vs. 64K support for flash that support both (necessary for using UBIFS on some SPI NOR) A few scattered code quality fixes, detected by Coverity See the changesets for more" * tag 'for-linus-20141015' of git://git.infradead.org/linux-mtd: (59 commits) mtd: nand: omap: Correct CONFIG_MTD_NAND_OMAP_BCH help message mtd: nand: Force omap_elm to be built as a module if omap2_nand is a module mtd: move support for struct flash_platform_data into m25p80 mtd: spi-nor: add Kconfig option to disable 4K sectors mtd: nand: Move ELM driver and rename as omap_elm nand: omap2: Replace pr_err with dev_err nand: omap2: Remove horrible ifdefs to fix module probe mtd: nand: add Hynix's H27UCG8T2ATR-BC to nand_ids table mtd: nand: support ONFI timing mode retrieval for non-ONFI NANDs mtd: physmap_of: Add non-obsolete map_rom probe mtd: physmap_of: Fix ROM support via OF MAINTAINERS: add l2-mtd.git, 'next' tree for MTD mtd: denali: fix indents and other trivial things mtd: denali: remove unnecessary parentheses mtd: denali: remove another set-but-unused variable mtd: denali: fix include guard and license block of denali.h mtd: nand: don't break long print messages mtd: bcm47xxnflash: replace some magic numbers mtd: bcm47xxnflash: NAND_CMD_RESET support mtd: bcm47xxnflash: add cmd_ctrl handler ... commit 88ed806abb981cc8ec61ee7fab93ecfe63521ebf Merge: e56d9fc b395f75 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 11:39:52 2014 -0700 Merge tag 'md/3.18' of git://neil.brown.name/md Pull md updates from Neil Brown: - a few minor bug fixes - quite a lot of code tidy-up and simplification - remove PRINT_RAID_DEBUG ioctl. I'm fairly sure it is unused, and it isn't particularly useful. * tag 'md/3.18' of git://neil.brown.name/md: (21 commits) lib/raid6: Add log level to printks md: move EXPORT_SYMBOL to after function in md.c md: discard PRINT_RAID_DEBUG ioctl md: remove MD_BUG() md: clean up 'exit' labels in md_ioctl(). md: remove unnecessary test for MD_MAJOR in md_ioctl() md: don't allow "-sync" to be set for device in an active array. md: remove unwanted white space from md.c md: don't start resync thread directly from md thread. md: Just use RCU when checking for overlap between arrays. md: avoid potential long delay under pers_lock md: simplify export_array() md: discard find_rdev_nr in favour of find_rdev_nr_rcu md: use wait_event() to simplify md_super_wait() md: be more relaxed about stopping an array which isn't started. md/raid1: process_checks doesn't use its return value. md/raid5: fix init_stripe() inconsistencies md/raid10: another memory leak due to reshape. md: use set_bit/clear_bit instead of shift/mask for bi_flags changes. md/raid1: minor typos and reformatting. ... commit e56d9fccb1c78283d7c163bb354be7cbbc93d9fb Merge: 0e6e58f 9b32011 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 10:26:10 2014 -0700 Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull selinux fix from James Morris: "Fix for a list corruption bug in the SELinux code" * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: selinux: fix inode security list corruption commit 0e6e58f941176033fd9a224b39527b12f9cbb05e Merge: 50edb5c 1bbc260 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 10:25:09 2014 -0700 Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull virtio updates from Rusty Russell: "One cc: stable commit, the rest are a series of minor cleanups which have been sitting in MST's tree during my vacation. I changed a function name and made one trivial change, then they spent two days in linux-next" * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (25 commits) virtio-rng: refactor probe error handling virtio_scsi: drop scan callback virtio_balloon: enable VQs early on restore virtio_scsi: fix race on device removal virito_scsi: use freezable WQ for events virtio_net: enable VQs early on restore virtio_console: enable VQs early on restore virtio_scsi: enable VQs early on restore virtio_blk: enable VQs early on restore virtio_scsi: move kick event out from virtscsi_init virtio_net: fix use after free on allocation failure 9p/trans_virtio: enable VQs early virtio_console: enable VQs early virtio_blk: enable VQs early virtio_net: enable VQs early virtio: add API to enable VQs early virtio_net: minor cleanup virtio-net: drop config_mutex virtio_net: drop config_enable virtio-blk: drop config_mutex ... commit 50edb5cc22c7b2ea7df095913596e5a649bd6b41 Merge: ad3118b d3051b4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 10:24:26 2014 -0700 Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module fix from Rusty Russell: "A single panic fix for a rare race, stable CC'd" * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: modules, lock around setting of MODULE_STATE_UNFORMED commit ad3118b9861379e3a77883613369cb967ffac26a Author: Jonathan Corbet <corbet@xxxxxxx> Date: Fri Oct 17 08:59:26 2014 -0400 MAINTAINERS: Become the docs maintainer It seems it's my turn to be the documentation maintainer for a bit. My plan is to work to ensure that docs patches don't fall through the cracks; I assume most changes will continue to flow through subsystem-specific trees. Acked-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d974baa398f34393db76be45f7d4d04fbdbb4a0a Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Wed Oct 8 09:02:13 2014 -0700 x86,kvm,vmx: Preserve CR4 across VM entry CR4 isn't constant; at least the TSD and PCE bits can vary. TBH, treating CR0 and CR3 as constant scares me a bit, too, but it looks like it's correct. This adds a branch and a read from cr4 to each vm entry. Because it is extremely likely that consecutive entries into the same vcpu will have the same host cr4 value, this fixes up the vmcs instead of restoring cr4 after the fact. A subsequent patch will add a kernel-wide cr4 shadow, reducing the overhead in the common case to just two memory reads and a branch. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Cc: Petr Matousek <pmatouse@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a6d4518da371b0d21512ef0f641928d6f99ee70f Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sat Oct 18 17:33:38 2014 +0800 ipv6: fix a potential use after free in sit.c pskb_may_pull() maybe change skb->data and make iph pointer oboslete, fix it by geting ip header length directly. Fixes: ca15a078 (sit: generate icmpv6 error when receiving icmpv4 error) Cc: Oussama Ghorbel <ghorbel@xxxxxxxxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc6fb41cd64fd810bcc69fe9776d2f500778f38f Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sat Oct 18 17:27:42 2014 +0800 ipv6: fix a potential use after free in ip6_offload.c pskb_may_pull() maybe change skb->data and make opth pointer oboslete, so set the opth again Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4e3cef703fb21b26db053a770900f2bd910638b Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sat Oct 18 17:26:04 2014 +0800 ipv4: fix a potential use after free in gre_offload.c pskb_may_pull() may change skb->data and make greh pointer oboslete; so need to reassign greh; but since first calling pskb_may_pull already ensured that skb->data has enough space for greh, so move the reference of greh before second calling pskb_may_pull(), to avoid reassign greh. Fixes: 7a7ffbabf9("ipv4: fix tunneled VM traffic over hw VXLAN/GRE GSO NIC") Cc: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 815afe1785da727ee48cd8e63ac4a3ec6c7459b3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Oct 18 08:34:37 2014 -0700 tcp: fix build error if IPv6 is not enabled $ make M=net/ipv4 CC net/ipv4/route.o In file included from net/ipv4/route.c:102:0: include/net/tcp.h: In function â??tcp_v6_iifâ??: include/net/tcp.h:738:32: error: â??union <anonymous>â?? has no member named â??h6â?? return TCP_SKB_CB(skb)->header.h6.iif; Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 870c3151382c ("ipv6: introduce tcp_v6_iif()") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e923b0251932ad4a82cc87ec1443a1f1d17073e Merge: ffd8221 f2d9da1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 09:31:37 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Include fixes for netrom and dsa (Fabian Frederick and Florian Fainelli) 2) Fix FIXED_PHY support in stmmac, from Giuseppe CAVALLARO. 3) Several SKB use after free fixes (vxlan, openvswitch, vxlan, ip_tunnel, fou), from Li ROngQing. 4) fec driver PTP support fixes from Luwei Zhou and Nimrod Andy. 5) Use after free in virtio_net, from Michael S Tsirkin. 6) Fix flow mask handling for megaflows in openvswitch, from Pravin B Shelar. 7) ISDN gigaset and capi bug fixes from Tilman Schmidt. 8) Fix route leak in ip_send_unicast_reply(), from Vasily Averin. 9) Fix two eBPF JIT bugs on x86, from Alexei Starovoitov. 10) TCP_SKB_CB() reorganization caused a few regressions, fixed by Cong Wang and Eric Dumazet. 11) Don't overwrite end of SKB when parsing malformed sctp ASCONF chunks, from Daniel Borkmann. 12) Don't call sock_kfree_s() with NULL pointers, this function also has the side effect of adjusting the socket memory usage. From Cong Wang. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (90 commits) bna: fix skb->truesize underestimation net: dsa: add includes for ethtool and phy_fixed definitions openvswitch: Set flow-key members. netrom: use linux/uaccess.h dsa: Fix conversion from host device to mii bus tipc: fix bug in bundled buffer reception ipv6: introduce tcp_v6_iif() sfc: add support for skb->xmit_more r8152: return -EBUSY for runtime suspend ipv4: fix a potential use after free in fou.c ipv4: fix a potential use after free in ip_tunnel_core.c hyperv: Add handling of IP header with option field in netvsc_set_hash() openvswitch: Create right mask with disabled megaflows vxlan: fix a free after use openvswitch: fix a use after free ipv4: dst_entry leak in ip_send_unicast_reply() ipv4: clean up cookie_v4_check() ipv4: share tcp_v4_save_options() with cookie_v4_check() ipv4: call __ip_options_echo() in cookie_v4_check() atm: simplify lanai.c by using module_pci_driver ... commit ffd8221bc348f8c282d1271883dbe629ea8ae289 Merge: e0a9272 f4da362 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 09:30:41 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull Sparc bugfix from David Miller: "Sparc64 AES ctr mode bug fix" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: Fix FPU register corruption with AES crypto offload. commit e0a9272c616838109fc5988ab154dc10670eb15e Merge: 76835b0e 7546e52 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 09:29:59 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide Pull IDE cleanup from David Miller: "One IDE driver cleanup" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide: Drivers: ide: Remove typedef atiixp_ide_timing commit 76835b0ebf8a7fe85beb03c75121419a7dec52f0 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Oct 17 17:38:49 2014 +0100 futex: Ensure get_futex_key_refs() always implies a barrier Commit b0c29f79ecea (futexes: Avoid taking the hb->lock if there's nothing to wake up) changes the futex code to avoid taking a lock when there are no waiters. This code has been subsequently fixed in commit 11d4616bd07f (futex: revert back to the explicit waiter counting code). Both the original commit and the fix-up rely on get_futex_key_refs() to always imply a barrier. However, for private futexes, none of the cases in the switch statement of get_futex_key_refs() would be hit and the function completes without a memory barrier as required before checking the "waiters" in futex_wake() -> hb_waiters_pending(). The consequence is a race with a thread waiting on a futex on another CPU, allowing the waker thread to read "waiters == 0" while the waiter thread to have read "futex_val == locked" (in kernel). Without this fix, the problem (user space deadlocks) can be seen with Android bionic's mutex implementation on an arm64 multi-cluster system. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: Matteo Franchin <Matteo.Franchin@xxxxxxx> Fixes: b0c29f79ecea (futexes: Avoid taking the hb->lock if there's nothing to wake up) Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Tested-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3b10ea7f922b538ba5dcb3d979a6b6b4d07daae2 Merge: 691286b e8564b7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Oct 18 09:04:02 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: * Add period data column and make it default in 'perf script' (Jiri Olsa) Infrastructure changes: * Move exit stuff from perf_evsel__delete to perf_evsel__exit, delete should be just a front end for exit + free (Arnaldo Carvalho de Melo) * Add missing 'struct option' forward declaration (Arnaldo Carvalho de Melo) * No need to drag util/cgroup.h into evsel.h (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f2d9da1a8375cbe53df5b415d059429013a3a79f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 17 12:45:55 2014 -0700 bna: fix skb->truesize underestimation skb->truesize is not meant to be tracking amount of used bytes in an skb, but amount of reserved/consumed bytes in memory. For instance, if we use a single byte in last page fragment, we have to account the full size of the fragment. skb->truesize can be very different from skb->len, that has a very specific safety purpose. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a28205437b41a2c1333c1599ce1e8f09af7b00d6 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 17 16:02:13 2014 -0700 net: dsa: add includes for ethtool and phy_fixed definitions net/dsa/slave.c uses functions and structures declared in phy_fixed.h but does not explicitely include it, while dsa.h needs structure declarations for 'struct ethtool_wolinfo' and 'struct ethtool_eee', fix those by including the correct header files. Fixes: ec9436baedb6 ("net: dsa: allow drivers to do link adjustment") Fixes: ce31b31c68e7 ("net: dsa: allow updating fixed PHY link information") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25ef1328a03c72a7285883d5b337c4b602476ecd Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Fri Oct 17 13:56:31 2014 -0700 openvswitch: Set flow-key members. This patch adds missing memset which are required to initialize flow key member. For example for IP flow we need to initialize ip.frag for all cases. Found by inspection. This bug is introduced by commit 0714812134d7dcadeb7ecfbfeb18788aa7e1eaac ("openvswitch: Eliminate memset() from flow_extract"). Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc8e54165f1dc8ee946c953512a877676f8bbe3f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Oct 17 22:00:22 2014 +0200 netrom: use linux/uaccess.h replace asm/uaccess.h by linux/uaccess.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b184e497f7fe2895b2175859e0cb21ae5d531555 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Oct 17 12:30:58 2014 -0700 dsa: Fix conversion from host device to mii bus Commit b4d2394d01bc ("dsa: Replace mii_bus with a generic host device") replaces mii_bus with a generic host_dev, and introduces dsa_host_dev_to_mii_bus() to support conversion from host_dev to mii_bus. However, in some cases it uses to_mii_bus to perform that conversion. Since host_dev is not the phy bus device but typically a platform device, this fails and results in a crash with the affected drivers. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff81781d35>] __mutex_lock_slowpath+0x75/0x100 PGD 406783067 PUD 406784067 PMD 0 Oops: 0002 [#1] SMP ... Call Trace: [<ffffffff810a538b>] ? pick_next_task_fair+0x61b/0x880 [<ffffffff81781de3>] mutex_lock+0x23/0x37 [<ffffffff81533244>] mdiobus_read+0x34/0x60 [<ffffffff8153b95a>] __mv88e6xxx_reg_read+0x8a/0xa0 [<ffffffff8153b9bc>] mv88e6xxx_reg_read+0x4c/0xa0 Fixes: b4d2394d01bc ("dsa: Replace mii_bus with a generic host device") Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 643566d4b47e2956110e79c0e6f65db9b9ea42c6 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Oct 17 15:25:28 2014 -0400 tipc: fix bug in bundled buffer reception In commit ec8a2e5621db2da24badb3969eda7fd359e1869f ("tipc: same receive code path for connection protocol and data messages") we omitted the the possiblilty that an arriving message extracted from a bundle buffer may be a multicast message. Such messages need to be to be delivered to the socket via a separate function, tipc_sk_mcast_rcv(). As a result, small multicast messages arriving as members of a bundle buffer will be silently dropped. This commit corrects the error by considering this case in the function tipc_link_bundle_rcv(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 870c3151382c980590d4d609babf3b0243e7db93 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 17 09:17:20 2014 -0700 ipv6: introduce tcp_v6_iif() Commit 971f10eca186 ("tcp: better TCP_SKB_CB layout to reduce cache line misses") added a regression for SO_BINDTODEVICE on IPv6. This is because we still use inet6_iif() which expects that IP6 control block is still at the beginning of skb->cb[] This patch adds tcp_v6_iif() helper and uses it where necessary. Because __inet6_lookup_skb() is used by TCP and DCCP, we add an iif parameter to it. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 971f10eca186 ("tcp: better TCP_SKB_CB layout to reduce cache line misses") Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70b33fb0ddec827cbbd14cdc664fc27b2ef4a6b6 Author: Edward Cree <ecree@xxxxxxxxxxxxxx> Date: Fri Oct 17 15:32:25 2014 +0100 sfc: add support for skb->xmit_more Don't ring the doorbell, and don't do PIO. This will also prevent TX Push, because there will be more than one buffer waiting when the doorbell is rung. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cc69f2a404dea8641d6cf97c0fbe8d24579e259 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Fri Oct 17 16:55:08 2014 +0800 r8152: return -EBUSY for runtime suspend Remove calling cancel_delayed_work_sync() for runtime suspend, because it would cause dead lock. Instead, return -EBUSY to avoid the device enters suspending if the net is running and the delayed work is pending or running. The delayed work would try to wake up the device later, so the suspending is not necessary. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d8f00d27105a1553a13d4a96c3eb4544f70ca908 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 17 16:53:47 2014 +0800 ipv4: fix a potential use after free in fou.c pskb_may_pull() maybe change skb->data and make uh pointer oboslete, so reload uh and guehdr Fixes: 37dd0247 ("gue: Receive side for Generic UDP Encapsulation") Cc: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1245dfc8cadb258386fcd27df38215a0eccb1f17 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 17 16:53:23 2014 +0800 ipv4: fix a potential use after free in ip_tunnel_core.c pskb_may_pull() maybe change skb->data and make eth pointer oboslete, so set eth after pskb_may_pull() Fixes:3d7b46cd("ip_tunnel: push generic protocol handling to ip_tunnel module") Cc: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f88e67149f97d73c704d6fe6f492edde97463025 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Thu Oct 16 14:47:58 2014 -0700 hyperv: Add handling of IP header with option field in netvsc_set_hash() In case that the IP header has optional field at the end, this patch will get the port numbers after that field, and compute the hash. The general parser skb_flow_dissect() is used here. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff273cb879fbc6cd3c5d03a56cfc33f5830e2837 Author: Steve French <smfrench@xxxxxxxxx> Date: Fri Oct 17 17:17:12 2014 -0500 [CIFS] Remove obsolete comment Signed-off-by: Steven French <smfrench@xxxxxxxxx> commit f47de068f68db91b89e0d3335230d07e02da8727 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Thu Oct 16 21:55:45 2014 -0700 openvswitch: Create right mask with disabled megaflows If megaflows are disabled, the userspace does not send the netlink attribute OVS_FLOW_ATTR_MASK, and the kernel must create an exact match mask. sw_flow_mask_set() sets every bytes (in 'range') of the mask to 0xff, even the bytes that represent padding for struct sw_flow, or the bytes that represent fields that may not be set during ovs_flow_extract(). This is a problem, because when we extract a flow from a packet, we do not memset() anymore the struct sw_flow to 0. This commit gets rid of sw_flow_mask_set() and introduces mask_set_nlattr(), which operates on the netlink attributes rather than on the mask key. Using this approach we are sure that only the bytes that the user provided in the flow are matched. Also, if the parse_flow_mask_nlattrs() for the mask ENCAP attribute fails, we now return with an error. This bug is introduced by commit 0714812134d7dcadeb7ecfbfeb18788aa7e1eaac ("openvswitch: Eliminate memset() from flow_extract"). Reported-by: Alex Wang <alexw@xxxxxxxxxx> Signed-off-by: Daniele Di Proietto <ddiproietto@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a9f526fc3ee49b6034af2f243676ee0a27dcaa8 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 17 14:06:16 2014 +0800 vxlan: fix a free after use pskb_may_pull maybe change skb->data and make eth pointer oboslete, so eth needs to reload Fixes: 91269e390d062 ("vxlan: using pskb_may_pull as early as possible") Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 389f48947a5a37ea283de520abb742d42174edb0 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 17 14:03:08 2014 +0800 openvswitch: fix a use after free pskb_may_pull() called by arphdr_ok can change skb->data, so put the arp setting after arphdr_ok to avoid the use the freed memory Fixes: 0714812134d7d ("openvswitch: Eliminate memset() from flow_extract.") Cc: Jesse Gross <jesse@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4062090e3e5caaf55bed4523a69f26c3265cc1d2 Author: Vasily Averin <vvs@xxxxxxxxxxxxx> Date: Wed Oct 15 16:24:02 2014 +0400 ipv4: dst_entry leak in ip_send_unicast_reply() ip_setup_cork() called inside ip_append_data() steals dst entry from rt to cork and in case errors in __ip_append_data() nobody frees stolen dst entry Fixes: 2e77d89b2fa8 ("net: avoid a pair of dst_hold()/dst_release() in ip_append_data()") Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e8564b710c6df2c3aeb56c507c22f4bcfa4c0b2d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 25 16:45:43 2014 +0200 perf script: Add period as a default output column Adding period as a default output column in script command fo hardware, software and raw events. If PERF_SAMPLE_PERIOD sample type is defined in perf.data, following will be displayed in perf script output: $ perf script ls 8034 57477.887209: 250000 task-clock: ffffffff81361d72 memset ([kernel.kallsyms]) ls 8034 57477.887464: 250000 task-clock: ffffffff816f6d92 _raw_spin_unlock_irqrestore ([kernel.kallsyms]) ls 8034 57477.887708: 250000 task-clock: ffffffff811a94f0 do_munmap ([kernel.kallsyms]) ls 8034 57477.887959: 250000 task-clock: 34080916c6 get_next_seq (/usr/lib64/libc-2.17.so) ls 8034 57477.888208: 250000 task-clock: 3408079230 _IO_doallocbuf (/usr/lib64/libc-2.17.so) ls 8034 57477.888717: 250000 task-clock: ffffffff814242c8 n_tty_write ([kernel.kallsyms]) ls 8034 57477.889285: 250000 task-clock: 3408076402 fwrite_unlocked (/usr/lib64/libc-2.17.so) Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: "Jen-Cheng(Tommy) Huang" <tommy24@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jen-Cheng(Tommy) Huang <tommy24@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408977943-16594-10-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 535aeaae7de821ba5d43ee2a204ee667ca95aae4 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 25 16:45:42 2014 +0200 perf script: Add period data column Adding period data column to be displayed in perf script. It's possible to get period values using -f option, like: $ perf script -f comm,tid,time,period,ip,sym,dso :26019 26019 52414.329088: 3707 ffffffff8105443a native_write_msr_safe ([kernel.kallsyms]) :26019 26019 52414.329088: 44 ffffffff8105443a native_write_msr_safe ([kernel.kallsyms]) :26019 26019 52414.329093: 1987 ffffffff8105443a native_write_msr_safe ([kernel.kallsyms]) :26019 26019 52414.329093: 6 ffffffff8105443a native_write_msr_safe ([kernel.kallsyms]) ls 26019 52414.329442: 537558 3407c0639c _dl_map_object_from_fd (/usr/lib64/ld-2.17.so) ls 26019 52414.329442: 2099 3407c0639c _dl_map_object_from_fd (/usr/lib64/ld-2.17.so) ls 26019 52414.330181: 1242100 34080917bb get_next_seq (/usr/lib64/libc-2.17.so) ls 26019 52414.330181: 3774 34080917bb get_next_seq (/usr/lib64/libc-2.17.so) ls 26019 52414.331427: 1083662 ffffffff810c7dc2 update_curr ([kernel.kallsyms]) ls 26019 52414.331427: 360 ffffffff810c7dc2 update_curr ([kernel.kallsyms]) Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: "Jen-Cheng(Tommy) Huang" <tommy24@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jen-Cheng(Tommy) Huang <tommy24@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408977943-16594-9-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 461b74c391c4ec9c766794e158508c357d8952e6 Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Date: Wed Oct 15 14:33:22 2014 -0700 ipv4: clean up cookie_v4_check() We can retrieve opt from skb, no need to pass it as a parameter. And opt should always be non-NULL, no need to check. Cc: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Tested-by: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e25f866fbc8a4bf387b5dbe8e25aa5b07e55c74f Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Date: Wed Oct 15 14:33:21 2014 -0700 ipv4: share tcp_v4_save_options() with cookie_v4_check() cookie_v4_check() allocates ip_options_rcu in the same way with tcp_v4_save_options(), we can just make it a helper function. Cc: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2077eebf7d8bf20b36524de45851e28111a60c52 Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Date: Wed Oct 15 14:33:20 2014 -0700 ipv4: call __ip_options_echo() in cookie_v4_check() commit 971f10eca186cab238c49da ("tcp: better TCP_SKB_CB layout to reduce cache line misses") missed that cookie_v4_check() still calls ip_options_echo() which uses IPCB(). It should use TCPCB() at TCP layer, so call __ip_options_echo() instead. Fixes: commit 971f10eca186cab238c49da ("tcp: better TCP_SKB_CB layout to reduce cache line misses") Cc: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Tested-by: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7983e3f89dd960b2a6d156fd2200548c3300428 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 09:45:50 2014 +0200 atm: simplify lanai.c by using module_pci_driver This simplifies the lanai.c driver by using the module_pci_driver() macro, at the expense of losing only debugging messages. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f14d570785e6760284a9849f9bafd0a9825a1a25 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 17 12:17:40 2014 -0300 perf evsel: No need to drag util/cgroup.h The only thing we need is a forward declaration for 'struct cgroup_sel', that is inside 'struct perf_evsel'. Include cgroup.h instead on the tools that support cgroups. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-b7kuymbgf0zxi5viyjjtu5hk@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 724ce97e9f8616ffb62b940f3726685c6f31f9b9 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 17 12:16:00 2014 -0300 perf evlist: Add missing 'struct option' forward declaration It was being found, by chance, because evsel.h needlessly includes util/cgroup.h, which will be sorted out in a following patch. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-xsvxr747wkkpg1ay9dramorr@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 597e48c138632d1f55409dcfa5bee4e1152e7d4f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 16 13:25:01 2014 -0300 perf evsel: Move exit stuff from __delete to __exit So that when an evsel is embedded into other struct it can free up resources calling perf_evsel__exit(). Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-n1w68pfe9m2vkhm4sqs8y1en@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d6fe5be34cf03e7db36d99c1b9d8e472ad3bdb87 Author: Jan Willeke <willeke@xxxxxxxxxx> Date: Wed Oct 8 10:16:08 2014 +0200 s390/uprobes: fix kprobes dependency If kprobes is disabled uprobes will not compile. Fix this by including the correct header files. Signed-off-by: Jan Willeke <willeke@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit fcb1c2d75b55fe52c40cd9692fda73da061f19aa Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Oct 9 12:58:25 2014 +0200 s390: wire up bpf syscall Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ab760a0c5667519b375ea9c5ab3a23501c4817ef Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 28 13:53:23 2014 -0700 ntb: Adding split BAR support for Haswell platforms On the Haswell platform, a split BAR option to allow creation of 2 32bit BARs (4 and 5) from the 64bit BAR 4. Adding support for this new option. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 069684e888da73f175da0f10fe26da4f450d8c18 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 28 13:53:18 2014 -0700 ntb: use errata flag set via DID to implement workaround Instead of using a module parameter, we should detect the errata via PCI DID and then set an appropriate flag. This will be used for additional errata later on. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 1db97f258966878317ece10868eaca99201d5884 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 28 13:53:13 2014 -0700 ntb: conslidate reading of PPD to move platform detection earlier To simplify some of the platform detection code. Move the platform detection to a function to be called earlier. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit b775e85bdb0395077a23bc072c4a62986883e276 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 28 13:53:07 2014 -0700 ntb: move platform detection to separate function Move the platform detection function to separate functions to allow easier maintenence. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 6465d02ee15f7a45339b7e7859d0a0f22100ca87 Author: Jon Mason <jon.mason@xxxxxxxxx> Date: Mon Apr 7 10:55:47 2014 -0700 NTB: debugfs device entry Create a debugfs entry for the NTB device to log the basic device info, as well as display the error count on a number of registers. Signed-off-by: Jon Mason <jon.mason@xxxxxxxxx> commit d37973082b453ba6b89ec07eb7b84305895d35e1 Author: Chris Mason <clm@xxxxxx> Date: Wed Oct 15 13:50:56 2014 -0700 Revert "Btrfs: race free update of commit root for ro snapshots" This reverts commit 9c3b306e1c9e6be4be09e99a8fe2227d1005effc. Switching only one commit root during a transaction is wrong because it leads the fs into an inconsistent state. All commit roots should be switched at once, at transaction commit time, otherwise backref walking can often miss important references that were only accessible through the old commit root. Plus, the root item for the snapshot's root wasn't getting updated and preventing the next transaction commit to do it. This made several users get into random corruption issues after creation of readonly snapshots. A regression test for xfstests will follow soon. Cc: stable@xxxxxxxxxxxxxxx # 3.17 Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 691286b5561aab2e1b00119bc328598c01250548 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Fri Oct 17 07:29:50 2014 +1100 kprobes/x86: Remove stale ARCH_SUPPORTS_KPROBES_ON_FTRACE define Commit e7dbfe349d12 ("kprobes/x86: Move ftrace-based kprobe code into kprobes-ftrace.c") switched from using ARCH_SUPPORTS_KPROBES_ON_FTRACE to CONFIG_KPROBES_ON_FTRACE but missed removing the define. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Cc: masami.hiramatsu.pt@xxxxxxxxxxx Cc: ananth@xxxxxxxxxx Cc: a.p.zijlstra@xxxxxxxxx Cc: fweisbec@xxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4e03394e939135adcd453bd538ea02d98a30473b Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 25 17:32:31 2014 +0900 ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa Explicitly set the dr_mode for the second dwc3 controller on the Arndale Octa board to host mode. This is required to ensure the controller is initialized in the right mode if the kernel is build with USB gadget support. Reported-By: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit e1c69efc52bbad7fa289694672d467ab4fdf9f52 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 25 17:32:14 2014 +0900 ARM: dts: Explicitly set dr_mode on exynos Peach boards In case the optional dr_mode property isn't set in the dwc3 nodes the the controller will go into OTG mode if both USB host and USB gadget functionality are enabled in the kernel configuration. Unfortunately this results in USB not working on exynos5420-peach-pit and exynos5800-peach-pi with such a kernel configuration unless manually change the mode. To resolve that explicitly configure the dual role mode as host. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit e89dafb5ca5022d3bc63602018adfc766c73bc2b Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 16 17:43:02 2014 +1100 powerpc: Only do dynamic DMA zone limits on platforms that need it Scott's patch 1c98025c6c95 "Dynamic DMA zone limits" changed dma_direct_alloc_coherent() to start using dev->coherent_dma_mask. That seems fair enough, but it exposes the fact that some of the drivers we care about on IBM platforms aren't setting the coherent mask. The proper fix is to have drivers set the coherent mask and also have the platform code honor it. For now, just restrict the dynamic DMA zone limits to the platforms that need it. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 4dfb15cd5aaa6682e93854a74b394a1c95b82621 Author: Tommi Rantala <tt.rantala@xxxxxxxxx> Date: Thu Oct 16 14:02:07 2014 -0700 Input: xpad - add Thrustmaster as Xbox 360 controller vendor Add Thrustmaster as Xbox 360 controller vendor. This is required for example to make the GP XID (044f:b326) gamepad work. Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4b54625822eb7a4eae9c5b8c890b6c4dc001b895 Author: Tommi Rantala <tt.rantala@xxxxxxxxx> Date: Thu Oct 16 14:01:43 2014 -0700 Input: xpad - add USB ID for Thrustmaster Ferrari 458 Racing Wheel Add the USB ID for the Xbox 360 Thrustmaster Ferrari 458 Racing Wheel. Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 135d916fe8a5fa25ad87a62844acfd3dbb1c9fb9 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Thu Oct 16 13:56:52 2014 -0700 Input: max77693-haptic - fix state check in imax77693_haptic_disable() The check to see whether the device is already disabled in max77693_haptic_disable() was inversed, this change corrects it. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4d544e3bdb12f8e48f61e7f2270b253a48c69e00 Author: Chang Huaixin <huaixin.chx@xxxxxxxxxxxxxxx> Date: Thu Oct 16 13:33:24 2014 -0700 Input: xen-kbdfront - free grant table entry in xenkbd_disconnect_backend xenkbd_disconnect_backend doesn't free grant table entry. This bug affects live migration. xenkbd_disconnect_backend uses gnttab_end_foreign_access_ref to handle grant table entry which doesn't really free an entry. Thus every time we do xenkbd_resume, grant table entry increses by one. As an grant table entry occupies 8 bytes, an grant table page has at most 512 entries. Every 512 times we do xenkdb_resume, grant table pages increses by one. After around 3500 times of live migration, grant table pages will increase by 7, causing too many pages to populate and hitting max_pages limit when assigning pages.Thus assign_pages will fail, so will live migration. Signed-off-by: Chang Huaixin <huaixin.chx@xxxxxxxxxxxxxxx> Acked-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9ffc5412964d5b276227684124efb702ec387c19 Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Oct 16 15:13:14 2014 -0500 Check minimum response length on query_network_interface Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit b5b374eab11ef60d789e28bc36c18e2d08703212 Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Oct 6 01:01:03 2014 -0500 Workaround Mac server problem Mac server returns that they support CIFS Unix Extensions but doesn't actually support QUERY_FILE_UNIX_BASIC so mount fails. Workaround this problem by disabling use of Unix CIFS protocol extensions if server returns an EOPNOTSUPP error on QUERY_FILE_UNIX_BASIC during mount. Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit 2baa2682531ff02928e2d3904800696d9e7193db Author: Steve French <smfrench@xxxxxxxxx> Date: Sat Sep 27 02:19:01 2014 -0500 Remap reserved posix characters by default (part 3/3) This is a bigger patch, but its size is mostly due to a single change for how we check for remapping illegal characters in file names - a lot of repeated, small changes to the way callers request converting file names. The final patch in the series does the following: 1) changes default behavior for cifs to be more intuitive. Currently we do not map by default to seven reserved characters, ie those valid in POSIX but not in NTFS/CIFS/SMB3/Windows, unless a mount option (mapchars) is specified. Change this to by default always map and map using the SFM maping (like the Mac uses) unless the server negotiates the CIFS Unix Extensions (like Samba does when mounting with the cifs protocol) when the remapping of the characters is unnecessary. This should help SMB3 mounts in particular since Samba will likely be able to implement this mapping with its new "vfs_fruit" module as it will be doing for the Mac. 2) if the user specifies the existing "mapchars" mount option then use the "SFU" (Microsoft Services for Unix, SUA) style mapping of the seven characters instead. 3) if the user specifies "nomapposix" then disable SFM/MAC style mapping (so no character remapping would be used unless the user specifies "mapchars" on mount as well, as above). 4) change all the places in the code that check for the superblock flag on the mount which is set by mapchars and passed in on all path based operation and change it to use a small function call instead to set the mapping type properly (and check for the mapping type in the cifs unicode functions) Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit a4153cb1d3cb7d7c16968b0a9cf7c8aacf31424e Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Sep 25 14:01:34 2014 -0500 Allow conversion of characters in Mac remap range (part 2) The previous patch allowed remapping reserved characters from directory listenings, this patch adds conversion the other direction, allowing opening of files with any of the seven reserved characters. Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> commit b693855fe67314d501aae74b9adff8788eb2fd82 Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Sep 25 13:20:05 2014 -0500 Allow conversion of characters in Mac remap range. Part 1 This allows directory listings to Mac to display filenames correctly which have been created with illegal (to Windows) characters in their filename. It does not allow converting the other direction yet ie opening files with these characters (followon patch). There are seven reserved characters that need to be remapped when mounting to Windows, Mac (or any server without Unix Extensions) which are valid in POSIX but not in the other OS. : \ < > ? * | We used the normal UCS-2 remap range for this in order to convert this to/from UTF8 as did Windows Services for Unix (basically add 0xF000 to any of the 7 reserved characters), at least when the "mapchars" mount option was specified. Mac used a very slightly different "Services for Mac" remap range 0xF021 through 0xF027. The attached patch allows cifs.ko (the kernel client) to read directories on macs containing files with these characters and display their names properly. In theory this even might be useful on mounts to Samba when the vfs_catia or new "vfs_fruit" module is loaded. Currently the 7 reserved characters look very strange in directory listings from cifs.ko to Mac server. This patch allows these file name characters to be read (requires specifying mapchars on mount). Two additional changes are needed: 1) Make it more automatic: a way of detecting enough info so that we know to try to always remap these characters or not. Various have suggested that the SFM approach be made the default when the server does not support POSIX Unix extensions (cifs mounts to Samba for example) so need to make SFM remapping the default unless mapchars (SFU style mapping) specified on mount or no mapping explicitly requested or no mapping needed (cifs mounts to Samba). 2) Adding a patch to map the characters the other direction (ie UTF-8 to UCS-2 on open). This patch does it for translating readdir entries (ie UCS-2 to UTF-8) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> commit c22870ea2deb2841402133909cfa707a2c0b12ed Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Sep 16 07:18:19 2014 -0500 mfsymlinks support for SMB2.1/SMB3. Part 2 query symlink Adds support on SMB2.1 and SMB3 mounts for emulation of symlinks via the "Minshall/French" symlink format already used for cifs mounts when mfsymlinks mount option is used (and also used by Apple). http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks This second patch adds support to query them (recognize them as symlinks and read them). Third version of patch makes minor corrections to error handling. Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Stefan Metzmacher <metze@xxxxxxxxx> commit 5ab97578cbb3bf9a28dec4534cb86fbc35e600bb Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Sep 15 04:49:28 2014 -0500 Add mfsymlinks support for SMB2.1/SMB3. Part 1 create symlink Adds support on SMB2.1 and SMB3 mounts for emulation of symlinks via the "Minshall/French" symlink format already used for cifs mounts when mfsymlinks mount option is used (and also used by Apple). http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks This first patch adds support to create them. The next patch will add support for recognizing them and reading them. Although CIFS/SMB3 have other types of symlinks, in the many use cases they aren't practical (e.g. either require cifs only mounts with unix extensions to Samba, or require the user to be Administrator to Windows for SMB3). This also helps enable running additional xfstests over SMB3 (since some xfstests directly or indirectly require symlink support). Signed-off-by: Steve French <smfrench@xxxxxxxxx> CC: Stefan Metzmacher <metze@xxxxxxxxx> commit db8b631d4bc4eaa9f7e13a6b0a287306cac0cb72 Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Sep 22 05:13:55 2014 -0500 Allow mknod and mkfifo on SMB2/SMB3 mounts The "sfu" mount option did not work on SMB2/SMB3 mounts. With these changes when the "sfu" mount option is passed in on an smb2/smb2.1/smb3 mount the client can emulate (and recognize) fifo and device (character and device files). In addition the "sfu" mount option should not conflict with "mfsymlinks" (symlink emulation) as we will never create "sfu" style symlinks, but using "sfu" mount option will allow us to recognize existing symlinks, created with Microsoft "Services for Unix" (SFU and SUA). To enable the "sfu" mount option for SMB2/SMB3 the calling syntax of the generic cifs/smb2/smb3 sync_read and sync_write protocol dependent function needed to be changed (we don't have a file struct in all cases), but this actually ended up simplifying the code a little. Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit 73322979097f287101617904dd08180feaa658b4 Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Sep 23 19:25:42 2014 -0500 add defines for two new file attributes Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> commit 2c6ba4b15b5ef38213b6c42ce09e9398f78cef9f Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Oct 16 15:47:51 2014 +0200 netlink: fix description of portid Avoid confusion between pid and portid. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3331177cbde01e03e2eae7aee13ad87fffd7be42 Merge: f5b720b 600a507 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 16 14:42:51 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-10-16 This series contains updates to fm10k and ixgbe. Matthew provides two fixes for fm10k, first sets the flag to fetch the host state before kicking off the service task that reads the host state when bringing the interface up. The second makes sure that we release the mailbox lock after detecting an error and before we return the error code. Andy Zhou provides a compile fix for fm10k, when the driver is compiled into the kernel and the VXLAN driver is compiled as a module. Emil provides a fix for ixgbe to prevent against a panic by trying to dereference a NULL pointer in ixgbe_ndo_set_vf_spoofchk(). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3569b70c4077db2b70a401c23ac597faf0d1b424 Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Thu Oct 16 12:53:35 2014 +0100 NTFS: Bump version to 2.1.31. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> commit 3f7fc6f2a2ba0f72a09e9f9999c3812fdee8fe70 Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Thu Oct 16 12:50:52 2014 +0100 NTFS: Add bmap address space operation needed for FIBMAP ioctl. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> commit 2b522cc16000c33d16bc76ee37e99ff9002a27be Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Thu Oct 16 12:43:57 2014 +0100 NTFS: Remove changelog from Documentation/filesystems/ntfs.txt. Changelog is in git history, no need to have a copy in the documentation. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> commit ce1bafa094a5ef3aaa8afa08727b1e970e9d4711 Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Thu Oct 16 12:28:03 2014 +0100 NTFS: Split ntfs_aops into ntfs_normal_aops and ntfs_compressed_aops in preparation for them diverging. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> commit 9b32011acdc4428474b7cba865f713a11b9b9bd3 Merge: 0429fbc 923190d Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Oct 16 21:04:18 2014 +1100 Merge branch 'stable-3.18' of git://git.infradead.org/users/pcmoore/selinux into for-linus2 commit 600a507ddcb99096731e1d96a3ebf43e20fc7f80 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Thu Oct 16 15:49:02 2014 +0000 ixgbe: check for vfs outside of sriov_num_vfs before dereference The check for vfinfo is not sufficient because it does not protect against specifying vf that is outside of sriov_num_vfs range. All of the ndo functions have a check for it except for ixgbevf_ndo_set_spoofcheck(). The following patch is all we need to protect against this panic: ip link set p96p1 vf 0 spoofchk off BUG: unable to handle kernel NULL pointer dereference at 0000000000000052 IP: [<ffffffffa044a1c1>] ixgbe_ndo_set_vf_spoofchk+0x51/0x150 [ixgbe] Reported-by: Thierry Herbelot <thierry.herbelot@xxxxxxxxx> Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Acked-by: Thierry Herbelot <thierry.herbelot@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f6b03c10a1b3f2c98ed23813997cdebef8aabeba Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Sat Oct 4 06:19:11 2014 +0000 fm10k: Add CONFIG_FM10K_VXLAN configuration option Compiling with CONFIG_FM10K=y and VXLAN=m resulting in linking error: drivers/built-in.o: In function `fm10k_open': (.text+0x1f9d7a): undefined reference to `vxlan_get_rx_port' make: *** [vmlinux] Error 1 The fix follows the same strategy as I40E. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2df36a5dd6792870bef48f63bfca42055ea5b79c Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Sep 28 16:04:26 2014 +0200 arm/arm64: KVM: Fix BE accesses to GICv2 EISR and ELRSR regs The EIRSR and ELRSR registers are 32-bit registers on GICv2, and we store these as an array of two such registers on the vgic vcpu struct. However, we access them as a single 64-bit value or as a bitmap pointer in the generic vgic code, which breaks BE support. Instead, store them as u64 values on the vgic structure and do the word-swapping in the assembly code, which already handles the byte order for BE systems. Tested-by: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 13cb2dad45cc8c8e350abc84de38449b89629c3c Author: Matthew Vick <matthew.vick@xxxxxxxxx> Date: Fri Oct 3 00:43:35 2014 +0000 fm10k: Unlock mailbox on VLAN addition failures After grabbing the mailbox lock and detecting an error, the lock must be released before the error code can be returned. Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6b997bab20448cfe85456e4789d5d9222ab6b830 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Oct 16 12:59:06 2014 +0530 serial: atmel: add missing dmaengine header The atmel serial driver uses dmaengine APIs but never included the dmaengine header as it was getting inculded thru one of driver headers. commit 3d588f83e4d6a5230d9094b97d38621cbaa9a972 - "dmaengine: dw: split dma-dw.h to platform and private parts" broke this as it moved headers around. Fix this by doing the right thing to include the dmaengine header Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: 08f738be88bb (serial: at91: add tx dma support) Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4d4191566fdd0e8990b2e8ab5ae819227c92892f Author: Matthew Vick <matthew.vick@xxxxxxxxx> Date: Thu Oct 2 05:10:18 2014 +0000 fm10k: Check the host state when bringing the interface up Set the flag to fetch the host state before kicking off the service task that reads the host state when bringing the interface back up. Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7dac24bdc1dd561573cd8ce534a63dc975f51ca8 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Oct 1 19:09:11 2014 +0300 ARM: dts: qcom: add CM-QS600 board CM-QS600 is a APQ8064 based computer on module. The details are available at http://compulab.co.il/products/computer-on-modules/cm-qs600/ Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 71b5235ab69bc65a19f5b15a7fa01a0a5de89cb5 Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Date: Tue Sep 30 15:49:49 2014 -0700 ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone This DTS has support for the Sony Xperia Z1 phone (codenamed Honami). This first version of the DTS supports just a serial console. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit e512448f6e98fb77f2be8ec7155f0ed941855796 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Tue Sep 23 13:21:41 2014 -0500 ARM: dts: qcom: Add SATA support on IPQ8064/AP148 Add SATA PHY and SATA AHCI controller nodes to device tree to enable generic ahci support on the IPQ8064/AP148 board. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 3e27a8445c21f8056517f188303827450590d868 Author: james.d.ralston@xxxxxxxxx <james.d.ralston@xxxxxxxxx> Date: Mon Oct 13 15:20:24 2014 -0700 i2c: i801: Add Device IDs for Intel Sunrise Point PCH This patch adds the I2C/SMBus Device IDs for the Intel Sunrise Point PCH. Signed-off-by: James Ralston <james.d.ralston@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 15ef27756b23a9fe5ec637a92c40dabd31aa38f6 Author: Wei Yan <sledge.yanwei@xxxxxxxxxx> Date: Tue Oct 7 09:04:12 2014 +0800 i2c: hix5hd2: add i2c controller driver I2C drivers for hix5hd2 soc series, including following chipset Hi3716CV200, Hi3719CV100, Hi3718CV100, Hi3719MV100, Hi3718MV100. Signed-off-by: Wei Yan <sledge.yanwei@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> [wsa: folded dt docs into this patch] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 86be175a730bd98de2b75522eae08160ec2dec91 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 20:17:33 2014 +1100 powerpc: sync pseries_le_defconfig with pseries_defconfig Now KVM is working on LE, enable it. Also enable transarent hugepage which has already been enabled on BE. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2c186e05a5c6dc8fcfb1e8bf6901ad1598c40db6 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 20:21:22 2014 +1100 powerpc: Add printk levels to setup_system output Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 71c62b24fe88e4d3f5470207426e94345ca94c83 Merge: ec4212d 673d659 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 16 07:15:45 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: * Add a visual cue for toggle zeroing of samples in 'perf top' (Taeung Song) * Fix for double free in 'perf stat' when using some specific invalid command line combo (Yasser Shalabi) Infrastructure changes: * Add option to copy events when queuing for sorting across cpu buffers and enable it for 'perf kvm stat live', to avoid having events left in the queue pointing to the ring buffer be rewritten in high volume sessions. (Alexander Yarygin, improving work done by David Ahern): * Document sysfs events/ interfaces (Cody P Schafer) * Add support to new style format of kernel PMU event. (Kan Liang) * Fix typos in perf/Documentation (Masanari Iida) * Improve callchains when using libunwind (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 91269e390d062b526432f2ef1352b8df82e0e0bc Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Oct 16 09:17:18 2014 +0800 vxlan: using pskb_may_pull as early as possible pskb_may_pull should be used to check if skb->data has enough space, skb->len can not ensure that. Cc: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce6502a8f9572179f044a4d62667c4645256d6e4 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Oct 16 08:49:41 2014 +0800 vxlan: fix a use after free in vxlan_encap_bypass when netif_rx() is done, the netif_rx handled skb maybe be freed, and should not be used. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e8febd0a76333875636859e0092a14c1fba49e4 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 15 21:03:41 2014 +0200 openvswitch: use vport instead of p All functions used struct vport *vport except ovs_vport_find_upcall_portid. This fixes 1 kerneldoc warning Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e78cc46b7ec0c80257de8d09f0097081754e206 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 15 21:03:18 2014 +0200 openvswitch: kerneldoc warning fix s/sock/gs Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aeba3731b150188685225b510886f1370d8814de Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 16 12:29:46 2014 +1100 powerpc/pci: Fix IO space breakage after of_pci_range_to_resource() change Commit 0b0b0893d49b "of/pci: Fix the conversion of IO ranges into IO resources" changed the behaviour of of_pci_range_to_resource(). Previously it simply populated the resource based on the arguments. Now it calls pci_register_io_range() and pci_address_to_pio(). These both have two implementations depending on whether PCI_IOBASE is defined, which it is not for powerpc. Further complicating matters, both routines are weak, and powerpc implements it's own version of one - pci_address_to_pio(). However powerpc's implementation depends on other initialisations which are done later in boot. The end result is incorrectly initialised IO space. Often we can get away with that, because we don't make much use of IO space. However virtio requires it, so we see eg: pci_bus 0000:00: root bus resource [io 0xffff] (bus address [0xffffffffffffffff-0xffffffffffffffff]) PCI: Cannot allocate resource region 0 of device 0000:00:01.0, will remap virtio-pci 0000:00:01.0: can't enable device: BAR 0 [io size 0x0020] not assigned The simplest fix for now is to just stop using of_pci_range_to_resource(), and open-code the original implementation, that's all we want it to do. Fixes: 0b0b0893d49b ("of/pci: Fix the conversion of IO ranges into IO resources") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5c9fb1899400096c6818181c525897a31d57e488 Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 12:42:58 2014 +0200 powerpc/vphn: NUMA node code expects big-endian The associativity domain numbers are obtained from the hypervisor through registers and written into memory by the guest: the packed array passed to vphn_unpack_associativity() is then native-endian, unlike what was assumed in the following commit: commit b08a2a12e44eaec5024b2b969f4fcb98169d1ca3 Author: Alistair Popple <alistair@xxxxxxxxxxxx> Date: Wed Aug 7 02:01:44 2013 +1000 powerpc: Make NUMA device node code endian safe This issue fills the topology with bogus data and makes it unusable. It may lead to severe performance breakdowns. We should ideally patch the vphn_unpack_associativity() function to do the 64-bit loads, but this requires some more brain storming. In the meantime, let's go for a suboptimal and temporary bug fix: this patch converts each 64-bit value of the packed array to big endian, as expected by the current parsing code in vphn_unpack_associativity(). Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f5b720b85944413491df106f05a784cd1714436e Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Wed Oct 15 19:11:46 2014 +0300 gianfar: Add FCS to rx buffer size (fix) For each Rx frame the eTSEC writes its FCS (Frame Check Sequence) to the Rx buffer. The eTSEC h/w manual states in the "Receive Buffer Descriptor Field Descriptions" table: "Data length is the number of octets written by the eTSEC into this BD's data buffer if L is cleared (the value is equal to MRBLR), or, if L is set, the length of the frame including *CRC*, FCB (if RCTRL[PRSDEP > 00), preamble (if MACCFG2[PreAmRxEn]=1), time stamp (if RCTRL[TS] = 1) and any padding (RCTRL[PAL])." Though the FCS bytes are removed by the driver before passing the skb to the net stack, the Rx buffer size computation does not currently take into account the FCS bytes (4 bytes). Because the Rx buffer size is multiple of 512 bytes, leaving out the FCS is not a problem for the default MTU of 1500, as the Rx buffer size is 1536 in this case. However, for custom MTUs, where the difference between the MTU size and the Rx buffer size is less, this can be a problem as the computed Rx buffer size won't be enough to accomodate the FCS for a received frame that is big enough (close to MTU size). In such case the received frame is considered to be incomplete (L flag not set in the RxBD status) and silently dropped. Note that the driver does not currently support S/G on Rx, so it has to compute its Rx buffer size based on the MTU of the device. Reported-by: Kristian Otnes <kotnes@xxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4bf205da618bbd0b038e404d646f14e76915718 Author: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Date: Sun Oct 12 23:09:08 2014 -0400 pstore: Fix duplicate {console,ftrace}-efi entries The pstore filesystem still creates duplicate filename/inode pairs for some pstore types. Add the id to the filename to prevent that. Before patch: [/sys/fs/pstore] ls -li total 0 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi After: [/sys/fs/pstore] ls -li total 0 1232 -r--r--r--. 1 root root 148 Sep 29 17:09 console-efi-141202499100000 1231 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi-141202499200000 1230 -r--r--r--. 1 root root 148 Sep 29 17:44 console-efi-141202705400000 1229 -r--r--r--. 1 root root 67 Sep 29 17:44 console-efi-141202705500000 1228 -r--r--r--. 1 root root 67 Sep 29 20:42 console-efi-141203772600000 1227 -r--r--r--. 1 root root 148 Sep 29 23:42 console-efi-141204854900000 1226 -r--r--r--. 1 root root 67 Sep 29 23:42 console-efi-141204855000000 1225 -r--r--r--. 1 root root 148 Sep 29 23:59 console-efi-141204954200000 1224 -r--r--r--. 1 root root 67 Sep 29 23:59 console-efi-141204954400000 Signed-off-by: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.6+ Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 4b7fd2e688d51f8ed7380758047fcaa4d4693d47 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 16:23:28 2014 +0300 virtio_net: fix use after free commit 0b725a2ca61bedc33a2a63d0451d528b268cf975 net: Remove ndo_xmit_flush netdev operation, use signalling instead. added code that looks at skb->xmit_more after the skb has been put in TX VQ. Since some paths process the ring and free the skb immediately, this can cause use after free. Fix by storing xmit_more in a local variable. Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28b5f058cf1d268d965894ce42a614d13f853dd6 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Wed Oct 15 17:30:12 2014 +0800 net: fec: ptp: fix convergence issue to support LinuxPTP stack iMX6SX IEEE 1588 module has one hw issue in capturing the ATVR register. The current SW flow is: ENET0->ATCR |= ENET_ATCR_CAPTURE_MASK; ts_counter_ns = ENET0->ATVR; The ATVR value is not expected value that cause LinuxPTP stack cannot be convergent. ENET Block Guide/ Chapter for the iMX6SX (PELE) address the issue: After set ENET_ATCR[Capture], there need some time cycles before the counter value is capture in the register clock domain. The wait-time-cycles is at least 6 clock cycles of the slower clock between the register clock and the 1588 clock. So need something like: ENET0->ATCR |= ENET_ATCR_CAPTURE_MASK; wait(); ts_counter_ns = ENET0->ATVR; For iMX6SX, the 1588 ts_clk is fixed to 25Mhz, register clock is 66Mhz, so the wait-time-cycles must be greater than 240ns (40ns * 6). The patch add 1us delay before cpu read ATVR register. Changes V2: Modify the commit/comments log to describe the issue clearly. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 673d659f5c5918b7ddbafebf1f129c9eb82973b4 Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 18:40:12 2014 +0400 perf kvm stat live: Enable events copying Process of analyzing events caused by 2 functions: mmap_read() and finished_round(). During mmap_read(), perf receives events from shared memory, queues their pointers for further processing in finished_round() and notifies the kernel that the events have been processed. By the time when finished_round() is invoked, queued events can be overwritten by the kernel, so the finished_round() occurs on potentially corrupted memory. Since there is no place where the event can be safely consumed, let's copy events when queueing. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412347212-28237-3-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 54bf53b1cb9150b894213a705c562d52388376ef Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 18:40:11 2014 +0400 perf session: Add option to copy events when queueing When processing events the session code has an ordered samples queue which is used to time-sort events coming in across multiple mmaps. At a later point in time samples on the queue are flushed up to some timestamp at which point the event is actually processed. When analyzing events live (ie., record/analysis path in the same command) there is a race that leads to corrupted events and parse errors which cause perf to terminate. The problem is that when the event is placed in the ordered samples queue it is only a reference to the event which is really sitting in the mmap buffer. Even though the event is queued for later processing the mmap tail pointer is updated which indicates to the kernel that the event has been processed. The race is flushing the event from the queue before it gets overwritten by some other event. For commands trying to process events live (versus just writing to a file) and processing a high rate of events this leads to parse failures and perf terminates. Examples hitting this problem are 'perf kvm stat live', especially with nested VMs which generate 100,000+ traces per second, and a command processing scheduling events with a high rate of context switching -- e.g., running 'perf bench sched pipe'. This patch offers live commands an option to copy the event when it is placed in the ordered samples queue. Based on a patch from David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412347212-28237-2-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 96355f2cfb61bb057df9bc0712cd7323dba28080 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Sep 10 00:18:50 2014 +0900 perf Documentation: Fix typos in perf/Documentation This patch fix spelling typos found in tool/perf/Documentation. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410275930-17207-1-git-send-email-standby24x7@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 89dceb22c098bd6afa9f3054aedddb9e1349392b Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Oct 6 09:46:03 2014 +0900 perf trace: Use thread_{,_set}_priv helpers This is mechanical changes only for accounting access to thread->priv properly in the source level. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412556363-26229-6-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 69e865c353b226dbedf319ae6d1ab8fb3510fa25 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Oct 6 09:46:02 2014 +0900 perf kvm: Use thread_{,_set}_priv helpers This is mechanical changes only for accounting access to thread->priv properly in the source level. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412556363-26229-5-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 66f066d8994bd146304bab72fa09c1e644c4b3ff Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Oct 6 09:46:00 2014 +0900 perf callchain: Create an address space per thread The unw_addr_space_t in libunwind represents an address space to be used for stack unwinding. It doesn't need to be create/destory everytime to unwind callchain (as in get_entries) and can have a same lifetime as thread (unless exec called). So move the address space construction/destruction logic to the thread lifetime handling functions. This is a preparation to enable caching in the unwind library. Note that it saves unw_addr_space_t object using thread__set_priv(). It seems currently only used by perf trace and perf kvm stat commands which don't use callchain. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jean Pihet <jean.pihet@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Arun Sharma <asharma@xxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412556363-26229-3-git-send-email-namhyung@xxxxxxxxxx [ Fixup unwind-libunwind.c missing CALLCHAIN_DWARF definition, added missing __maybe_unused on unused parameters in stubs at util/unwind.h ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0cdccac6fe4b1316f04f0dbfcc4efab51932014a Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Oct 6 09:45:59 2014 +0900 perf report: Set callchain_param.record_mode for future use Normally the callchain_param.record_mode is used only for record path. But as it might need to prepare something for dwarf unwinding, setup this info for perf report too. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412556363-26229-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2e19a934a36b2b4affcde9c170c0f01afabe50a Author: Yasser Shalabi <yassershalabi@xxxxxxxxx> Date: Sat Oct 4 11:37:57 2014 -0400 perf evlist: Fix for double free in tools/perf stat Fix for double free bug in tools/perf due to dangling thread_map pointer in perf_evlist struct. Code path excercised when perf stat -C switch is used but not set and is followed by another switch. Example: perf stat -C -e. Signed-off-by: Yasser Shalabi <yassershalabi@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412437077-13109-1-git-send-email-yassershalabi@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ffe59788e69b548bd62cc9a053253a8af2cdda1d Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Oct 7 11:08:52 2014 -0400 perf test: Add test case for pmu event new style format Add test case in automated tests suite. It checks not only the two types of pmu event stytle formats "pmu_event_name" and "cpu/pmu_event_name/", but also the different formats mixtures which are more likely to trigger parse issue. The patch set including this one has been tested by the perf automated test: ./perf test parse -v" On haswell, ivybridge and Romley platform. The patch set also has been tested on haswell by the following script. Note: please make sure that your test system support TSX and L1-dcache-loads events. Otherwise, you may want to change the events to other pmu events. [lk@localhost ~]$ cat perf_style_test.sh # hardware events + kernel pmu event with different style perf stat -x, -e cycles,mem-stores,tx-start sleep 2 perf stat -x, -e cpu-cycles,cycles-ct,cycles-t sleep 2 perf stat -x, -e cycles,cpu/cycles-ct/,cpu/cycles-t/ sleep 2 perf stat -x, -e instructions,cpu/tx-start/ sleep 2 perf stat -x, -e '{cycles,tx-start}' sleep 2 perf stat -x, -e '{cycles,cpu/tx-start/}' sleep 2 # HW Cache event + kernel pmu event with different style perf stat -x, -e L1-dcache-loads,cpu/mem-stores/,tx-start sleep 2 perf stat -x, -e L1-dcache-loads,mem-stores,cpu/tx-start/ sleep 2 perf stat -x, -e '{L1-dcache-loads,mem-stores}' sleep 2 perf stat -x, -e '{L1-dcache-loads,cpu/tx-start/}' sleep 2 # Raw event + kernel pmu event with different style: perf stat -x, -e cpu/event=0xc0,umask=0x00/,mem-loads,cpu/mem-stores/ sleep 2 perf stat -x, -e cpu/event=0xc0,umask=0x00/,tx-start,cpu/el-start/ sleep 2 perf stat -x, -e '{cpu/event=0xc0,umask=0x00/,tx-start}' sleep 2 Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412694532-23391-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba32a4511c65e41958384d2f7a046a6ec6e151e5 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Oct 7 11:08:51 2014 -0400 perf tools: Add support to new style format of kernel PMU event Add new rules for kernel PMU event. Currently, the patch only want to handle the PMU event name as "a-b" and "a". event_pmu: PE_KERNEL_PMU_EVENT sep_dc | PE_PMU_EVENT_PRE '-' PE_PMU_EVENT_SUF sep_dc PE_KERNEL_PMU_EVENT token is for cycles-ct/cycles-t/mem-loads/mem-stores. The prefix cycles is mixed up with cpu-cycles. loads and stores are mixed up with cache event So they have to be hardcode in lex. PE_PMU_EVENT_PRE and PE_PMU_EVENT_SUF tokens are for other PMU events. The lex looks generic identifier up in the table and return the matched token. If there is no match, generic PE_NAME token will be return. Using the rules, kernel PMU event could use new style format without // so you can use: perf record -e mem-loads ... instead of: perf record -e cpu/mem-loads/ Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412694532-23391-4-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dcb4e1022b40d886027500821a592dd8f8ccde8f Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Oct 7 11:08:50 2014 -0400 perf tools: Parse the pmu event prefix and suffix There are two types of event formats for PMU events. E.g. el-abort OR cpu/el-abort/. However, the lexer mistakenly recognizes the simple style format as two events. The parse_events_pmu_check function uses bsearch to search the name in known pmu event list. It can tell the lexer that the name is a PE_NAME or a PMU event name prefix or a PMU event name suffix. All these information will be used for accurately parsing kernel PMU events. The pmu events list will be read from sysfs at runtime. Note: Currently, the patch only want to handle the PMU event name as "a-b" and "a". The only exception, "stalled-cycles-frontend" and "stalled-cycles-fronted", are already hardcoded in lexer. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412694532-23391-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 42f60c2d63b0d3f7230d28ac37c1da4885d4ee65 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Oct 7 11:08:49 2014 -0400 Revert "perf tools: Default to cpu// for events v5" This reverts commit 50e200f07948 ("perf tools: Default to cpu// for events v5") The fixup cannot handle the case that new style format(which without //) mixed with other different formats. For example, group events with new style format: {mem-stores,mem-loads} some hardware event + new style event: cycles,mem-loads Cache event + new style event: LLC-loads,mem-loads Raw event + new style event: cpu/event=0xc8,umask=0x08/,mem-loads old style event and new stytle mixture: mem-stores,cpu/mem-loads/ Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412694532-23391-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b56d5beff4825f9f216f1fc4a54a5d07d4b68b71 Author: Cody P Schafer <dev@xxxxxxxxxx> Date: Tue Sep 30 23:03:20 2014 -0700 perf Documentation: Remove Ruplicated docs for powerpc cpu specific events Listing specific events doesn't actually help us at all here because: - these events actually vary between different ppc processors, they aren't garunteed to be present. - the documentation of the (generic) file contents is now superceded by the docs for arbitrary event file contents. Signed-off-by: Cody P Schafer <dev@xxxxxxxxxx> Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Haren Myneni <hbabu@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michael Ellerman <michaele@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1412143402-26061-5-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ed90a4466340e51699139ea83dbe0f4536360e6d Author: Cody P Schafer <dev@xxxxxxxxxx> Date: Tue Sep 30 23:03:19 2014 -0700 perf Documentation: sysfs events/ interfaces Add documentation for the <event>, <event>.scale, and <event>.unit files in sysfs. <event>.scale and <event>.unit were undocumented. <event> was previously documented only for specific powerpc pmu events. Signed-off-by: Cody P Schafer <dev@xxxxxxxxxx> Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Cody P Schafer <dev@xxxxxxxxxx> Cc: Haren Myneni <hbabu@xxxxxxxxxx> Cc: Haren Myneni <hbabu@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michael Ellerman <michaele@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1412143402-26061-4-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1e378ebd117d1828b9d5dbe0538887478fcb9d84 Author: Taeung Song <treeze.taeung@xxxxxxxxx> Date: Tue Oct 7 16:13:15 2014 +0900 perf top: Add a visual cue for toggle zeroing of samples When 'perf top' is run, one can't easily find a difference between -z option and normal output. So I added a visual cue to know whether it is the zeroing or not. Output is as below. Before: $ perf top Samples: 61K of event 'cycles', Event count (approx.): 3908136933 Overhead Shared Object Symbol 1.42% firefox [.] 0x0000000000011e76 1.32% libpthread-2.17.so [.] pthread_mutex_lock If you press key 'z' or run with zero option like '$ perf top --zero', it is as below. After: Samples: 61K of event 'cycles', Event count (approx.): 3908136933 [z] Overhead Shared Object Symbol 1.42% firefox [.] 0x0000000000011e76 1.32% libpthread-2.17.so [.] pthread_mutex_lock Signed-off-by: Taeung Song <treeze.taeung@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412665995-26359-1-git-send-email-treeze.taeung@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7546e52b5e3d46d0deae4a336252b6dfd52c6571 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Thu Aug 14 22:14:30 2014 +0530 Drivers: ide: Remove typedef atiixp_ide_timing The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for atiixp_ide_timing. The following Coccinelle semantic patch detects the case: @tn1@ type td; @@ typedef struct { ... } td; @script:python tf@ td << tn1.td; tdres; @@ coccinelle.tdres = td; @@ type tn1.td; identifier tf.tdres; @@ -typedef struct + tdres { ... } -td ; @@ type tn1.td; identifier tf.tdres; @@ -td + struct tdres Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0cfb794a3dd1d699f3e453f9180bd06508fb8f0 Author: Andreas Bosch <linux@xxxxxxxxxxx> Date: Wed Oct 15 10:44:50 2014 -0700 Input: alps - fix v4 button press recognition Since the change to struct input_mt_pos some variables are now bitfields instead of integers. Automatic conversion from integer to bitfield entry destroys information, therefore enforce boolean interpretation instead. Link: https://bugzilla.redhat.com/show_bug.cgi?id=1114768 Fixes: 02d04254a5df ("Input: alps - use struct input_mt_pos to track coordinates") Signed-off-by: Andreas Bosch <linux@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 001586a737ee8c11a1198c352c5635f19fd090ed Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Wed Oct 15 00:26:47 2014 -0700 cxgb4i : Fix -Wmaybe-uninitialized warning. Identified by kbuild test robot. csk family is always set to be AF_INET or AF_INET6, so skb will always be initialized to some value but there is no harm in silencing the warning anyways. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Fixes : f42bb57c61fd ('cxgb4i : Fix -Wunused-function warning') Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04ffcb255f22a2a988ce7393e6e72f6eb3fcb7aa Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Tue Oct 14 15:19:06 2014 -0700 net: Add ndo_gso_check Add ndo_gso_check which a device can define to indicate whether is is capable of doing GSO on a packet. This funciton would be called from the stack to determine whether software GSO is needed to be done. A driver should populate this function if it advertises GSO types for which there are combinations that it wouldn't be able to handle. For instance a device that performs UDP tunneling might only implement support for transparent Ethernet bridging type of inner packets or might have limitations on lengths of inner headers. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf6c0ab54daeb614ae79bdd0168e8b7ec2650134 Merge: 2856fcd b80719b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 15 21:39:09 2014 +0530 Merge branch 'topic/dma_control_fsl_acks' into for-linus commit 2856fcdc1f7b6dc237afc2dbec6fbd21fe88dd4e Merge: 639559a a500789 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 15 21:38:49 2014 +0530 Merge branch 'topic/dma_control_cleanup_acks' into for-linus commit b80719b6bd083130c112cb4d3e5329a164eef4c3 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:48 2014 +0530 dmaengine: remove FSLDMA_EXTERNAL_START as users have been converted, so no need of this custom method Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 01c6ad660cb4a388d15d0e7ba9744c5ffc583a61 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:47 2014 +0530 dmaengine: freescale: remove FSLDMA_EXTERNAL_START control method since users have been move to fsl_dma_external_start() API, so remove this now Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7abfe6eca8f978f090b3c203cfb53d37a66ea9f2 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:46 2014 +0530 carma-fpga: move to fsl_dma_external_start() carma-fpga driver uses device control with custom FSLDMA_EXTERNAL_START command. Since we wnat to deprecate the device control, move this driver to use new fsl_dma_external_start() API Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4fdcf68487e520844e077f75943b1e04cc05943b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:45 2014 +0530 carma-fpga: use dmaengine_xxx() API The drivers should use dmaengine_slave_config() and dmaengine_prep_dma_sg() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0a5642be03293f73706961a7649ac1d12bd0be59 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:44 2014 +0530 dmaengine: freescale: add and export fsl_dma_external_start() The freescale driver uses custom device control FSLDMA_EXTERNAL_START to put the controller in external start mode. Since we are planning to deprecate the device control, move this to exported API. Subsequent patches will remove the FSLDMA_EXTERNAL_START Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b65612a868768cd0431084ccf376d0946c12132d Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:43 2014 +0530 dmaengine: add dmaengine_prep_dma_sg() helper This was only prep API which didnt have an helper Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a500789d42f478bc5511e1ddafadc323a6036d11 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:40 2014 +0530 video: mx3fb: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2bcd90d56c6025189be98bed47c80c5261855a7e Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:37 2014 +0530 serial: sh-sci: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 843d349c20bc3562ae7b59de4067e304e89843c7 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:34 2014 +0530 net: ks8842: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0e497c36deef92ec7a54c6af6f4e87d5b4f39dda Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:33 2014 +0530 mtd: sh_flctl: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b177ea341a588ab270c31496f34c503c31589649 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:32 2014 +0530 mtd: fsmc_nand: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0aae803a08ae1c788b47f01eddd8787a8457a930 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:31 2014 +0530 V4L2: mx3_camer: use dmaengine_pause() API The drivers should use dmaengine_pause() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7e606d3bfe308115b7a0b516bcb8934d97b4275a Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:30 2014 +0530 dmaengine: coh901318: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 72b2caff4aac45157f79502aae5019e96059b301 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:29 2014 +0530 pata_arasan_cf: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 71ae8f5271b31da1172751059deb8bfc32b2b759 Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx> Date: Wed Oct 15 07:30:41 2014 +0200 stmmac: fix sti compatibililies this patch is to fix the stmmac data compatibilities for all the SoCs inside the platform file. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 639559ada6194b722304fe267455b5bdf75c2f90 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Mon Sep 29 20:06:45 2014 +0200 dmaengine: edma: check for echan->edesc => NULL in edma_dma_pause() I added book keeping of whether or not the 8250-dma driver has an RX transfer pending or not so we don't BUG here if it calls dmaengine_pause() on a channel which has not a pending transfer. Guess what, this is not enough. The following can be triggered with a busy RX channel and hackbench in background: - DMA transfer completes. The callback is delayed via vchan_cookie_complete() into a tasklet so it das not happen asap. - hackbench keeps the system busy so the tasklet does not run "soon". - the UART collected enough data and generates an "timeout"-interrupt. Since 8250-dma *thinks* the DMA-transfer is still pending it tries to cancel it via invoking dmaengine_pause() first. This causes the segfault because echan->edesc is NULL now that the transfer completed (however the callback did not run yet). With this patch we don't BUG in the scenario described. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2a52f6e49e5e400ed98a79503193d81207009647 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:15 2014 +0300 dmaengine: dw: export probe()/remove() and Co to users The driver library functions can be used directly by the compound devices such as ADSP or serial driver where DesignWare DMA IP is privately attached to the main hardware. Instead of creating a new platform device leaf they may call dw_dma_probe() with given struct dw_dma_chip directly and make sure that the main device is DMA capable. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 99d9bf4ed27c63d5559e31d112f71af655c7182b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:14 2014 +0300 dmaengine: dw: enable and disable controller when needed Enable controller automatically whenever first user requires for a channel and disable it when the last user gone. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2540f74b187e3ec0fe106b7427c4a84c955dc140 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:13 2014 +0300 dmaengine: dw: always export dw_dma_{en,dis}able Instead of conditional exporing of dw_dma_suspend() / dw_dma_resume() let's export dw_dma_disable() / dw_dma_enable(). Since dw_dma_shutdown() repeats dw_dma_disable() we may safely remove it at all. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7a83c045435e896db6c689145d752d28b8b99b7b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:12 2014 +0300 dmaengine: dw: introduce dw_dma_on() helper As an opposite to dw_dma_off() let's introduce dw_dma_on() helper. It will be useful later as well. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3d588f83e4d6a5230d9094b97d38621cbaa9a972 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:11 2014 +0300 dmaengine: dw: split dma-dw.h to platform and private parts The introduced include/linux/dma/dw.h is going to contain the private extensions and structures which are shared for dw_dmac users in the kernel. Meanwhile include/linux/platform_data/dma-dw.h keeps only platform related data types and definitions. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 46e8c83c83c06b90ebc000df481c2fdcee79a141 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:10 2014 +0300 dmaengine: dw: move private definitions to regs.h Since we don't allow user to set registers directly through private slave configuration we may move definitions to the regs.h because they are not used anywhere except core.c part. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f0f3b5fa7537e13dfd20b4cd399f00545f9fc0e7 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:53:46 2014 +0530 dma: cppi41: Switch to using managed resource in probe This change uses managed resource APIs to allocate resources such as, mem, irq in order to simplify the driver unload or failure cases Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 66e9bbdb3dbb335b158bb88de2642966af816ffe Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 16:34:44 2014 +0200 s390/mm: fixing calls of pte_unmap_unlock pte_unmap works on page table entry pointers, derefencing should be avoided. As on s390 pte_unmap is a NOP, this is more a cleanup if we want to supply later such function. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c9eeb7b813c9525cda34b61dcf4455c52fc58890 Author: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Date: Tue Oct 14 17:04:48 2014 +0200 s390/hmcdrv: Restrict s390 HMC driver to S390 arch This driver is only usable on 64-bit s390 machines. Mark the Kconfig dependencies to that users on other architectures are not prompted for it. Fixes: 8f933b1043e1e5 ("s390/hmcdrv: HMC drive CD/DVD access") Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 923190d32de4428afbea5e5773be86bea60a9925 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Mon Oct 6 16:32:52 2014 -0400 selinux: fix inode security list corruption sb_finish_set_opts() can race with inode_free_security() when initializing inode security structures for inodes created prior to initial policy load or by the filesystem during ->mount(). This appears to have always been a possible race, but commit 3dc91d4 ("SELinux: Fix possible NULL pointer dereference in selinux_inode_permission()") made it more evident by immediately reusing the unioned list/rcu element of the inode security structure for call_rcu() upon an inode_free_security(). But the underlying issue was already present before that commit as a possible use-after-free of isec. Shivnandan Kumar reported the list corruption and proposed a patch to split the list and rcu elements out of the union as separate fields of the inode_security_struct so that setting the rcu element would not affect the list element. However, this would merely hide the issue and not truly fix the code. This patch instead moves up the deletion of the list entry prior to dropping the sbsec->isec_lock initially. Then, if the inode is dropped subsequently, there will be no further references to the isec. Reported-by: Shivnandan Kumar <shivnandan.k@xxxxxxxxxxx> Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit ec4212d88a77eb6caec10777ddd629b702a5ebbd Merge: 7765490 2c241bd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 15 11:54:14 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: Infrastructure fixes and changes: * Fix off-by-one bugs in map->end handling (Stephane Eranian) * Fix off-by-one bug in maps__find(), also related to map->end handling (Namhyung Kim) * Make struct symbol->end be the first addr after the symbol range, to make it match the convention used for struct map->end. (Arnaldo Carvalho de Melo) * Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat live' (Jiri Olsa) * Fix python test build by moving callchain_param to an object linked into the python binding (Jiri Olsa) * Do not include a struct hists per perf_evsel, untangling the histogram code from perf_evsel, to pave the way for exporting a minimalistic tools/lib/api/perf/ library usable by tools/perf and initially by the rasd daemon being developed by Borislav Petkov, Robert Richter and Jean Pihet. (Arnaldo Carvalho de Melo) * Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and thread maps mean syswide monitoring, reducing the boilerplate for tools that only want system wide mode. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c8b00fd2f4c504a564adcad5b8bd6952ab850b02 Author: James Ralston <james.d.ralston@xxxxxxxxx> Date: Mon Oct 13 15:22:03 2014 -0700 ALSA: hda_intel: Add Device IDs for Intel Sunrise Point PCH This patch adds the HD Audio Device IDs for the Intel Sunrise Point PCH. [the item position rearranged by tiwai] Signed-off-by: James Ralston <james.d.ralston@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3d08c629244257473450a8ba17cb8184b91e68f8 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Tue Oct 14 15:02:15 2014 +0100 arm: kvm: STRICT_MM_TYPECHECKS fix for user_mem_abort Commit: b886576 ARM: KVM: user_mem_abort: support stage 2 MMIO page mapping introduced some code in user_mem_abort that failed to compile if STRICT_MM_TYPECHECKS was enabled. This patch fixes up the failing comparison. Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Reviewed-by: Kim Phillips <kim.phillips@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 6e4a2a83f95826201bbd89f55522537ea52d1d67 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Sep 29 14:42:21 2014 +0200 dmaengine: pl330: Fix NULL pointer dereference on driver unbind Fix a NULL pointer dereference after unbinding the driver, if channel resources were not yet allocated (no call to pl330_alloc_chan_resources()): $ echo 12850000.mdma > /sys/bus/amba/drivers/dma-pl330/unbind [ 13.606533] DMA pl330_control: removing pch: eeab6800, chan: eeab6814, thread: (null) [ 13.614472] Unable to handle kernel NULL pointer dereference at virtual address 0000000c [ 13.622537] pgd = ee284000 [ 13.625228] [0000000c] *pgd=6e1e4831, *pte=00000000, *ppte=00000000 [ 13.631482] Internal error: Oops: 17 [#1] PREEMPT SMP ARM [ 13.636859] Modules linked in: [ 13.639903] CPU: 0 PID: 1 Comm: sh Not tainted 3.17.0-rc3-next-20140904-00004-g7020ffc33ca3-dirty #420 [ 13.649187] task: ee80a800 ti: ee888000 task.ti: ee888000 [ 13.654589] PC is at _stop+0x8/0x2c8 [ 13.658131] LR is at pl330_control+0x70/0x2e8 [ 13.662468] pc : [<c0206028>] lr : [<c020649c>] psr: 60000093 [ 13.662468] sp : ee889e58 ip : 00000001 fp : 000bab70 [ 13.673922] r10: eeab6814 r9 : ee16debc r8 : 00000000 [ 13.679131] r7 : eeab685c r6 : 60000013 r5 : ee16de10 r4 : eeab6800 [ 13.685641] r3 : 00000002 r2 : 00000000 r1 : 00010000 r0 : 00000000 [ 13.692153] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user [ 13.699357] Control: 10c5387d Table: 6e28404a DAC: 00000015 [ 13.705085] Process sh (pid: 1, stack limit = 0xee888240) [ 13.710466] Stack: (0xee889e58 to 0xee88a000) [ 13.714808] 9e40: 00000002 eeab6800 [ 13.722969] 9e60: ee16de10 eeab6800 ee16de10 60000013 eeab685c c020649c 00000000 c040280c [ 13.731128] 9e80: ee889e80 ee889e80 ee16de18 ee16de10 eeab6880 eeab6814 00200200 eeab68a8 [ 13.739287] 9ea0: 00100100 c0208048 00000000 c0409fc4 eea80800 eea808f8 c0605c44 0000000e [ 13.747446] 9ec0: 0000000e eeb3960c eeb39600 c0203c48 eea80800 c0605c44 c0605a8c c023f694 [ 13.755605] 9ee0: ee80a800 eea80834 eea80800 c023f704 ee80a800 eea80800 c0605c44 c023e8ec [ 13.763764] 9f00: 0000000e ee149780 ee29e580 ee889f80 ee29e580 c023e19c 0000000e c01167e4 [ 13.771923] 9f20: c01167a0 00000000 00000000 c0115e88 00000000 00000000 ee0b1a00 0000000e [ 13.780082] 9f40: b6f48000 ee889f80 0000000e ee888000 b6f48000 c00bfadc 00000000 00000003 [ 13.788241] 9f60: 00000000 00000000 00000000 ee0b1a00 ee0b1a00 0000000e b6f48000 c00bfdf4 [ 13.796401] 9f80: 00000000 00000000 ffffffff 0000000e b6f48000 b6edc5d0 00000004 c000e7a4 [ 13.804560] 9fa0: 00000000 c000e620 0000000e b6f48000 00000001 b6f48000 0000000e 00000000 [ 13.812719] 9fc0: 0000000e b6f48000 b6edc5d0 00000004 0000000e b6f4c8c0 000c3470 000bab70 [ 13.820879] 9fe0: 00000000 bed2aa50 b6e18bdc b6e6b52c 60000010 00000001 c0c0c0c0 c0c0c0c0 [ 13.829058] [<c0206028>] (_stop) from [<c020649c>] (pl330_control+0x70/0x2e8) [ 13.836165] [<c020649c>] (pl330_control) from [<c0208048>] (pl330_remove+0xb0/0xdc) [ 13.843800] [<c0208048>] (pl330_remove) from [<c0203c48>] (amba_remove+0x24/0xc0) [ 13.851272] [<c0203c48>] (amba_remove) from [<c023f694>] (__device_release_driver+0x70/0xc4) [ 13.859685] [<c023f694>] (__device_release_driver) from [<c023f704>] (device_release_driver+0x1c/0x28) [ 13.868971] [<c023f704>] (device_release_driver) from [<c023e8ec>] (unbind_store+0x58/0x90) [ 13.877303] [<c023e8ec>] (unbind_store) from [<c023e19c>] (drv_attr_store+0x20/0x2c) [ 13.885036] [<c023e19c>] (drv_attr_store) from [<c01167e4>] (sysfs_kf_write+0x44/0x48) [ 13.892928] [<c01167e4>] (sysfs_kf_write) from [<c0115e88>] (kernfs_fop_write+0xc0/0x17c) [ 13.901090] [<c0115e88>] (kernfs_fop_write) from [<c00bfadc>] (vfs_write+0xa0/0x1a8) [ 13.908812] [<c00bfadc>] (vfs_write) from [<c00bfdf4>] (SyS_write+0x40/0x8c) [ 13.915850] [<c00bfdf4>] (SyS_write) from [<c000e620>] (ret_fast_syscall+0x0/0x30) [ 13.923392] Code: e5813010 e12fff1e e92d40f0 e24dd00c (e590200c) [ 13.929467] ---[ end trace 10064e15a5929cf8 ]--- Terminate the thread and free channel resource only if channel resources were allocated (thread is not NULL). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: b3040e40675e ("DMA: PL330: Add dma api driver") Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0f5ebabdd03b471da1906f7edddc61ceb35cee02 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Sep 29 14:42:20 2014 +0200 dmaengine: pl330: Fix NULL pointer dereference on probe failure If dma_async_device_register() returns error and probe should clean up and return error, a NULL pointer exception happens because of dereference of not allocated channel thread: Dmesg log (from early printk): dma-pl330 12680000.pdma: unable to register DMAC DMA pl330_control: removing pch: eeac4000, chan: eeac4014, thread: (null) Unable to handle kernel NULL pointer dereference at virtual address 0000000c pgd = c0004000 [0000000c] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 2 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc3-next-20140904-00005-g6cc4c1937d90-dirty #427 task: ee80a800 ti: ee888000 task.ti: ee888000 PC is at _stop+0x8/0x2c8 LR is at pl330_control+0x70/0x2e8 pc : [<c0205dc8>] lr : [<c020623c>] psr: 60000193 sp : ee889df8 ip : 00000002 fp : 00000000 r10: eeac4014 r9 : ee0e62bc r8 : 00000000 r7 : eeac405c r6 : 60000113 r5 : ee0e6210 r4 : eeac4000 r3 : 00000002 r2 : 00000002 r1 : 00010000 r0 : 00000000 Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 10c5387d Table: 4000404a DAC: 00000015 Process swapper/0 (pid: 1, stack limit = 0xee888240) Stack: (0xee889df8 to 0xee88a000) 9de0: 00000002 eeac4000 9e00: ee0e6210 eeac4000 ee0e6210 60000113 eeac405c c020623c 00000000 c020725c 9e20: ee889e20 ee889e20 ee0e6210 eeac4080 00200200 00100100 eeac4014 00000020 9e40: ee0e6218 c0208374 00000000 ee9bb340 ee0e6210 00000000 00000000 c0605cd8 9e60: ee970000 c0605c84 ee9700f8 00000000 c05c4270 00000000 00000000 c0203b3c 9e80: ee970000 c06624a8 00000000 c0605c84 00000000 c023f890 ee970000 c0605c84 9ea0: ee970034 00000000 c05b23d0 c023fa3c 00000000 c0605c84 c023f9b0 c023e0d4 9ec0: ee947e78 ee9b9440 c0605c84 eea1e780 c0605acc c023f094 c0513b50 c0605c84 9ee0: c05ecbd8 c0605c84 c05ecbd8 ee11ba40 c0626500 c0240064 00000000 c05ecbd8 9f00: c05ecbd8 c0008964 c040f13c 0000009f c0626500 c057465c ee80a800 60000113 9f20: 00000000 c05efdb0 60000113 00000000 ef7fc89d c0421168 0000008f c003787c 9f40: c0573d6c 00000006 ef7fc8bb 00000006 c05efd50 ef7fc800 c05dfbc4 00000006 9f60: c05c4264 c0626500 0000008f c05c4270 c059b518 c059bcb4 00000006 00000006 9f80: c059b518 c003c08c 00000000 c040091c 00000000 00000000 00000000 00000000 9fa0: 00000000 c0400924 00000000 c000e7b8 00000000 00000000 00000000 00000000 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 c0c0c0c0 c0c0c0c0 [<c0205dc8>] (_stop) from [<c020623c>] (pl330_control+0x70/0x2e8) [<c020623c>] (pl330_control) from [<c0208374>] (pl330_probe+0x594/0x75c) [<c0208374>] (pl330_probe) from [<c0203b3c>] (amba_probe+0xb8/0x120) [<c0203b3c>] (amba_probe) from [<c023f890>] (driver_probe_device+0x10c/0x22c) [<c023f890>] (driver_probe_device) from [<c023fa3c>] (__driver_attach+0x8c/0x90) [<c023fa3c>] (__driver_attach) from [<c023e0d4>] (bus_for_each_dev+0x54/0x88) [<c023e0d4>] (bus_for_each_dev) from [<c023f094>] (bus_add_driver+0xd4/0x1d0) [<c023f094>] (bus_add_driver) from [<c0240064>] (driver_register+0x78/0xf4) [<c0240064>] (driver_register) from [<c0008964>] (do_one_initcall+0x80/0x1d0) [<c0008964>] (do_one_initcall) from [<c059bcb4>] (kernel_init_freeable+0x108/0x1d4) [<c059bcb4>] (kernel_init_freeable) from [<c0400924>] (kernel_init+0x8/0xec) [<c0400924>] (kernel_init) from [<c000e7b8>] (ret_from_fork+0x14/0x3c) Code: e5813010 e12fff1e e92d40f0 e24dd00c (e590200c) ---[ end trace c94b2f4f38dff3bf ]--- This happens because the necessary resources were not yet allocated - no call to pl330_alloc_chan_resources(). Terminate the thread and free channel resource only if channel thread is not NULL. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 0b94c5771705 ("DMA: PL330: Add check if device tree compatible") Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c3cb38f43cb9130a3727a24a6a6e74742bd3e910 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Sep 29 14:42:19 2014 +0200 dmaengine: pl330: Remove unused 'regs' variable in pl330_submit_req() The 'void __iomem *regs' is not used in pl330_submit_req() function. Remove it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 937cb2f2498dcbd8bcf6d79dcc24e5c8a3627067 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Sep 29 14:42:18 2014 +0200 dmaengine: pl330: Remove non-NULL check for pl330_submit_req parameters The pl330_submit_req() checked supplied 'struct pl330_thread thrd' and 'struct dma_pl330_desc desc' parameters for non-NULL. However these checks are useless because supplied arguments won't be NULL. The pl330_submit_req() is called in only one place and: 1. 'desc' is already dereferenced in fill_queue() before calling pl330_submit_req(). 2. 'thrd' is always dereferenced after calling fill_queue()->pl330_submit_req(). Removing the checks for non-NULL values fixes following warning: drivers/dma/pl330.c:1376 pl330_submit_req() warn: variable dereferenced before check 'thrd' (see line 1367) Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 97215800e4b74212e51b1f373877f91f97579411 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxx> Date: Mon Oct 13 14:16:28 2014 -0400 MAINTAINERS: Update Santosh Shilimkar's email id Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 22414f776d0b137a4156b84db3ec07dfec56784c Merge: e17fd8e 508423b Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Oct 14 23:32:18 2014 -0700 Merge tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Merge "Samsung defconfig, actually exynos_defconig updates for v3.18" from Kukjin Kim: - enable USB gadget support - enable Maxim77802 support - enable Maxim77693 and I2C GPIO drivers - enable Atmel maXTouch support - enable SBS battery support - enable Control Groups support * tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: exynos_defconfig: enable USB gadget support ARM: exynos_defconfig: Enable Maxim 77693 and I2C GPIO drivers ARM: exynos_defconfig: Enable SBS battery support ARM: exynos_defconfig: Enable Control Groups support ARM: exynos_defconfig: Enable Atmel maXTouch support ARM: exynos_defconfig: Enable MAX77802 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e17fd8e58a1eb39e23f29da065ccc1498f022ed7 Merge: 6d81dc8 f6f1ae8 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Oct 14 23:31:13 2014 -0700 Merge tag 'samsung-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Merge "Samsung fixes for v3.18" from Kukjin Kim: - fix ifdef around cpu_*_do_[suspend, resume] ops to check CONFIG_ARM_CPU_SUSPEND and not CONFIG_PM_SLEEP - fix exynos_defconfig build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n - fix enabling Samsung PM debug functionality due to recently merged patches and previous merge conflicts - fix pull-up setting in sd4_width8 pin group for exynos4x12 * tag 'samsung-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: mm: Fix ifdef around cpu_*_do_[suspend, resume] ops ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n ARM: SAMSUNG: Restore Samsung PM Debug functionality ARM: dts: Fix pull setting in sd4_width8 pin group for exynos4x12 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6d81dc87c0fac76efabcde6884fcbe4cec874a83 Merge: 9a2ad52 b16ccfe Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Oct 14 23:30:18 2014 -0700 Merge tag 'fixes-for-v3.18-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "Two omap fixes for v3.18 merge window" from Tony Lindgren: Two omap fixes for issues noticed during the merge window: - We need to enable ARM errata 430973 for omap3 - The smc91x on some early n900 boards need to be disabled for now until the dependencies to specific a bootloader version are fixed * tag 'fixes-for-v3.18-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: Disable smc91x on n900 until bootloader dependency is removed ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9a2ad529ed26c4dd81368d0bc87fc77db1febb35 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Oct 14 23:26:56 2014 -0700 ARM: sunxi_defconfig: enable CONFIG_REGULATOR Commit 97a13e5289ba ('net: phy: mdio-sun4i: don't select REGULATOR') removed the select of REGULATOR, which means that it now has to be explicitly enabled in the defconfig or things won't work very well. In particular, this fixes a problem with SD/MMC not probing on my A31-based board. Cc: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0429fbc0bdc297d64188483ba029a23773ae07b0 Merge: 6929c35 513d1a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 07:48:18 2014 +0200 Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu Pull percpu consistent-ops changes from Tejun Heo: "Way back, before the current percpu allocator was implemented, static and dynamic percpu memory areas were allocated and handled separately and had their own accessors. The distinction has been gone for many years now; however, the now duplicate two sets of accessors remained with the pointer based ones - this_cpu_*() - evolving various other operations over time. During the process, we also accumulated other inconsistent operations. This pull request contains Christoph's patches to clean up the duplicate accessor situation. __get_cpu_var() uses are replaced with with this_cpu_ptr() and __this_cpu_ptr() with raw_cpu_ptr(). Unfortunately, the former sometimes is tricky thanks to C being a bit messy with the distinction between lvalues and pointers, which led to a rather ugly solution for cpumask_var_t involving the introduction of this_cpu_cpumask_var_ptr(). This converts most of the uses but not all. Christoph will follow up with the remaining conversions in this merge window and hopefully remove the obsolete accessors" * 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (38 commits) irqchip: Properly fetch the per cpu offset percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t -fix ia64: sn_nodepda cannot be assigned to after this_cpu conversion. Use __this_cpu_write. percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t Revert "powerpc: Replace __get_cpu_var uses" percpu: Remove __this_cpu_ptr clocksource: Replace __this_cpu_ptr with raw_cpu_ptr sparc: Replace __get_cpu_var uses avr32: Replace __get_cpu_var with __this_cpu_write blackfin: Replace __get_cpu_var uses tile: Use this_cpu_ptr() for hardware counters tile: Replace __get_cpu_var uses powerpc: Replace __get_cpu_var uses alpha: Replace __get_cpu_var ia64: Replace __get_cpu_var uses s390: cio driver &__get_cpu_var replacements s390: Replace __get_cpu_var uses mips: Replace __get_cpu_var uses MIPS: Replace __get_cpu_var uses in FPU emulator. arm: Replace __this_cpu_ptr with raw_cpu_ptr ... commit 6929c358972facf2999f8768815c40dd88514fc2 Merge: 23971bd 4c5c302 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 07:30:52 2014 +0200 Merge tag 'llvmlinux-for-v3.18' of git://git.linuxfoundation.org/llvmlinux/kernel Pull LLVM updates from Behan Webster: "These patches remove the use of VLAIS using a new SHASH_DESC_ON_STACK macro. Some of the previously accepted VLAIS removal patches haven't used this macro. I will push new patches to consistently use this macro in all those older cases for 3.19" [ More LLVM patches coming in through subsystem trees, and LLVM itself needs some fixes that are already in many distributions but not in released versions of LLVM. Some day this will all "just work" - Linus ] * tag 'llvmlinux-for-v3.18' of git://git.linuxfoundation.org/llvmlinux/kernel: crypto: LLVMLinux: Remove VLAIS usage from crypto/testmgr.c security, crypto: LLVMLinux: Remove VLAIS from ima_crypto.c crypto: LLVMLinux: Remove VLAIS usage from libcrc32c.c crypto: LLVMLinux: Remove VLAIS usage from crypto/hmac.c crypto, dm: LLVMLinux: Remove VLAIS usage from dm-crypt crypto: LLVMLinux: Remove VLAIS from crypto/.../qat_algs.c crypto: LLVMLinux: Remove VLAIS from crypto/omap_sham.c crypto: LLVMLinux: Remove VLAIS from crypto/n2_core.c crypto: LLVMLinux: Remove VLAIS from crypto/mv_cesa.c crypto: LLVMLinux: Remove VLAIS from crypto/ccp/ccp-crypto-sha.c btrfs: LLVMLinux: Remove VLAIS crypto: LLVMLinux: Add macro to remove use of VLAIS in crypto code commit 23971bdffff5f7c904131dfb41c186711dc2c418 Merge: c0fa237 09b5269 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 07:23:49 2014 +0200 Merge tag 'iommu-updates-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull IOMMU updates from Joerg Roedel: "This pull-request includes: - change in the IOMMU-API to convert the former iommu_domain_capable function to just iommu_capable - various fixes in handling RMRR ranges for the VT-d driver (one fix requires a device driver core change which was acked by Greg KH) - the AMD IOMMU driver now assigns and deassigns complete alias groups to fix issues with devices using the wrong PCI request-id - MMU-401 support for the ARM SMMU driver - multi-master IOMMU group support for the ARM SMMU driver - various other small fixes all over the place" * tag 'iommu-updates-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (41 commits) iommu/vt-d: Work around broken RMRR firmware entries iommu/vt-d: Store bus information in RMRR PCI device path iommu/vt-d: Only remove domain when device is removed driver core: Add BUS_NOTIFY_REMOVED_DEVICE event iommu/amd: Fix devid mapping for ivrs_ioapic override iommu/irq_remapping: Fix the regression of hpet irq remapping iommu: Fix bus notifier breakage iommu/amd: Split init_iommu_group() from iommu_init_device() iommu: Rework iommu_group_get_for_pci_dev() iommu: Make of_device_id array const amd_iommu: do not dereference a NULL pointer address. iommu/omap: Remove omap_iommu unused owner field iommu: Remove iommu_domain_has_cap() API function IB/usnic: Convert to use new iommu_capable() API function vfio: Convert to use new iommu_capable() API function kvm: iommu: Convert to use new iommu_capable() API function iommu/tegra: Convert to iommu_capable() API function iommu/msm: Convert to iommu_capable() API function iommu/vt-d: Convert to iommu_capable() API function iommu/fsl: Convert to iommu_capable() API function ... commit c0fa2373f8cfed90437d8d7b17e0b1a84009a10a Merge: fcc3a5d 98d147f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 07:05:03 2014 +0200 Merge tag 'clk-for-linus-3.18' of git://git.linaro.org/people/mike.turquette/linux Pull clock tree updates from Mike Turquette: "The clk tree changes for 3.18 are dominated by clock drivers. Mostly fixes and enhancements to existing drivers as well as new drivers. This tag contains a bit more arch code than I usually take due to some OMAP2+ changes. Additionally it contains the restart notifier handlers which are merged as a dependency into several trees. The PXA changes are the only messy part. Due to having a stable tree I had to revert one patch and follow up with one more fix near the tip of this tag. Some dead code is introduced but it will soon become live code after 3.18-rc1 is released as the rest of the PXA family is converted over to the common clock framework. Another trend in this tag is that multiple vendors have started to push the complexity of changing their CPU frequency into the clock driver, whereas this used to be done in CPUfreq drivers. Changes to the clk core include a generic gpio-clock type and a clk_set_phase() function added to the top-level clk.h api. Due to some confusion on the fbdev mailing list the kernel boot parameters documentation was updated to further explain the clk_ignore_unused parameter, which is often required by users of the simplefb driver. Finally some fixes to the locking around the clock debugfs stuff was done to prevent deadlocks when interacting with other subsystems." * tag 'clk-for-linus-3.18' of git://git.linaro.org/people/mike.turquette/linux: (99 commits) clk: pxa clocks build system fix Revert "arm: pxa: Transition pxa27x to clk framework" clk: samsung: register restart handlers for s3c2412 and s3c2443 clk: rockchip: add restart handler clk: rockchip: rk3288: i2s_frac adds flag to set parent's rate doc/kernel-parameters.txt: clarify clk_ignore_unused arm: pxa: Transition pxa27x to clk framework dts: add devicetree bindings for pxa27x clocks clk: add pxa27x clock drivers arm: pxa: add clock pll selection bits clk: dts: document pxa clock binding clk: add pxa clocks infrastructure clk: gpio-gate: Ensure gpiod_ APIs are prototyped clk: ti: dra7-atl-clock: Mark the device as pm_runtime_irq_safe clk: ti: LLVMLinux: Move __init outside of type definition clk: ti: consider the fact that of_clk_get() might return an error clk: ti: dra7-atl-clock: fix a memory leak clk: ti: change clock init to use generic of_clk_init clk: hix5hd2: add I2C clocks clk: hix5hd2: add watchdog0 clocks ... commit fcc3a5d277571bc6048e7b4ef8cd391b935de629 Merge: 50fa861 d86c21f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 06:58:16 2014 +0200 Merge tag 'mfd-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "Changes to existing drivers: - DT clean-ups in da9055-core, max14577, rn5t618, arizona, hi6421, stmpe, twl4030 - Export symbols for use in modules in max14577 - Plenty of static code analysis/Coccinelle fixes throughout the SS - Regmap clean-ups in arizona, wm5102, wm5110, da9052, tps65217, rk808 - Remove unused/duplicate code in da9052, 88pm860x, ti_ssp, lpc_sch, arizona - Bug fixes in ti_am335x_tscadc, da9052, ti_am335x_tscadc, rtsx_pcr - IRQ fixups in arizona, stmpe, max14577 - Regulator related changes in axp20x - Pass DMA coherency information from parent => child in MFD core - Rename DT document files for consistency - Add ACPI support to the MFD core - Add Andreas Werner to MAINTAINERS for MEN F21BMC New drivers/supported devices: - New driver for MEN 14F021P00 Board Management Controller - New driver for Ricoh RN5T618 PMIC - New driver for Rockchip RK808 - New driver for HiSilicon Hi6421 PMIC - New driver for Qualcomm SPMI PMICs - Add support for Intel Braswell in lpc_ich - Add support for Intel 9 Series PCH in lpc_ich - Add support for Intel Quark ILB in lpc_sch" [ Delayed to after the poweer/reset pull due to Kconfig problems with recursive Kconfig select/depends-on chains. - Linus ] * tag 'mfd-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (79 commits) mfd: cros_ec: wait for completion of commands that return IN_PROGRESS i2c: i2c-cros-ec-tunnel: Set retries to 3 mfd: cros_ec: move locking into cros_ec_cmd_xfer mfd: cros_ec: stop calling ->cmd_xfer() directly mfd: cros_ec: Delay for 50ms when we see EC_CMD_REBOOT_EC MAINTAINERS: Adds Andreas Werner to maintainers list for MEN F21BMC mfd: arizona: Correct mask to allow setting micbias external cap mfd: Add ACPI support Revert "mfd: wm5102: Manually apply register patch" mfd: ti_am335x_tscadc: Update logic in CTRL register for 5-wire TS mfd: dt-bindings: atmel-gpbr: Rename doc file to conform to naming convention mfd: dt-bindings: qcom-pm8xxx: Rename doc file to conform to naming convention mfd: Inherit coherent_dma_mask from parent device mfd: Document DT bindings for Qualcomm SPMI PMICs mfd: Add support for Qualcomm SPMI PMICs mfd: dt-bindings: pm8xxx: Add new compatible string mfd: axp209x: Drop the parent supplies field mfd: twl4030-power: Use 'ti,system-power-controller' as alternative way to support system power off mfd: dt-bindings: twl4030-power: Use the standard property to mark power control mfd: syscon: Add Atmel GPBR DT bindings documention ... commit 50fa86172bec2769979b5eb0cd1a244391ae4bb0 Merge: 6b04908 7881c64 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 06:56:23 2014 +0200 Merge tag 'for-v3.18' of git://git.infradead.org/battery-2.6 Pull power supply and reset updates from Sebastian Reichel: - Initial support for the following chips * max77836 (charger) * max14577 (charger) * bq27742 (battery gauge) * ltc2952 (poweroff) * stih416 (restart) * syscon-reboot (restart) * gpio-restart (restart) - cleanup of power supply core - misc fixes in power supply and reset drivers * tag 'for-v3.18' of git://git.infradead.org/battery-2.6: (48 commits) power: ab8500_fg: Fix build warning Documentation: charger: max14577: Update the date of introducing ABI power: reset: corrections for simple syscon reboot driver Documentation: power: reset: Add documentation for generic SYSCON reboot driver power: reset: Add generic SYSCON register mapped reset bq27x00_battery: Fix flag reading for bq27742 power: reset: use restart_notifier mechanism for msm-poweroff power: Add simple gpio-restart driver power: reset: st: Provide DT bindings for ST's Power Reset driver power: reset: Add restart functionality for STiH41x platforms power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge power: max14577: Fix circular config SYSFS dependency power: gpio-charger: do not use gpio value directly power: max8925: Use of_get_child_by_name power: max8925: Fix NULL ptr dereference on memory allocation failure bq27x00_battery: Add support to bq27742 Documentation: charger: max14577: Document exported sysfs entry devicetree: mfd: max14577: Add device tree bindings document power: max17040: Add ID for MAX77836 Fuel Gauge block charger: max14577: Configure battery-dependent settings from DTS and sysfs ... Conflicts: drivers/power/reset/Kconfig drivers/power/reset/Makefile commit 6b0490816671b2f4126a99998c9bf3c8c0472de2 Merge: ce9d7f7 0bc6228 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 06:46:01 2014 +0200 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph updates from Sage Weil: "There is the long-awaited discard support for RBD (Guangliang Zhao, Josh Durgin), a pile of RBD bug fixes that didn't belong in late -rc's (Ilya Dryomov, Li RongQing), a pile of fs/ceph bug fixes and performance and debugging improvements (Yan, Zheng, John Spray), and a smattering of cleanups (Chao Yu, Fabian Frederick, Joe Perches)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (40 commits) ceph: fix divide-by-zero in __validate_layout() rbd: rbd workqueues need a resque worker libceph: ceph-msgr workqueue needs a resque worker ceph: fix bool assignments libceph: separate multiple ops with commas in debugfs output libceph: sync osd op definitions in rados.h libceph: remove redundant declaration ceph: additional debugfs output ceph: export ceph_session_state_name function ceph: include the initial ACL in create/mkdir/mknod MDS requests ceph: use pagelist to present MDS request data libceph: reference counting pagelist ceph: fix llistxattr on symlink ceph: send client metadata to MDS ceph: remove redundant code for max file size verification ceph: remove redundant io_iter_advance() ceph: move ceph_find_inode() outside the s_mutex ceph: request xattrs if xattr_version is zero rbd: set the remaining discard properties to enable support rbd: use helpers to handle discard for layered images correctly ... commit ce9d7f7b45930ed16c512aabcfe651d44f1c8619 Merge: 2d65a9f 0d08260 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 06:43:27 2014 +0200 Merge branch 'CVE-2014-7970' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux Pull pivot_root() fix from Andy Lutomirski. Prevent a leak of unreachable mounts. * 'CVE-2014-7970' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux: mnt: Prevent pivot_root from creating a loop in the mount tree commit 2ef1e9efebce49ffc9ae13a6e9d93da83734494e Merge: 9b462d0 c5bbcb5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 15 00:29:08 2014 -0400 Merge branch 'cxgb4' Anish Bhatt says: ==================== ipv6 and related cleanup for cxgb4/cxgb4i This patch set removes some duplicated/extraneous code from cxgb4i, guards cxgb4 against compilation failure based on ipv6 tristate, make ipv6 related code no longer be enabled by default irrespective of ipv6 tristate and fixes a refcnt issue. -Anish v2 : Provide more detailed commit messages, make subject more concise as recommended by Dave Miller. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5bbcb5822b25c9f738db98e6d6ad2506cab8136 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Tue Oct 14 20:07:24 2014 -0700 cxgb4i: Remove duplicate call to dst_neigh_lookup() There is an extra call to dst_neigh_lookup() leftover in cxgb4i that can cause an unreleased refcnt issue. Remove extraneous call. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Fixes : 759a0cc5a3e1b ('cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api') Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f42bb57c61fd21fb7e30a2b99dbeb1671666bc47 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Tue Oct 14 20:07:23 2014 -0700 cxgb4i : Fix -Wunused-function warning A bunch of ipv6 related code is left on by default. While this causes no compilation issues, there is no need to have this enabled by default. Guard with an ipv6 check, which also takes care of a -Wunused-function warning. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bb60376cda108306818365b186450f154ede5f2 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Tue Oct 14 20:07:22 2014 -0700 cxgb4 : Fix build failure in cxgb4 when ipv6 is disabled/not in-built cxgb4 ipv6 does not guard against ipv6 being disabled, or the standard ipv6 module vs inbuilt tri-state issue. This was fixed for cxgb4i & iw_cxgb4 but missed for cxgb4. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 587ddfe2d212019de7c921d9c010789828893f86 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Tue Oct 14 20:07:21 2014 -0700 cxgb4i : Remove duplicated CLIP handling code cxgb4 already handles CLIP updates from a previous changeset for iw_cxgb4, there is no need to have this functionality in cxgb4i. Remove duplicated code Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4da3628dc7c32a59d1fb7116bb042e6f436d611 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 19:37:58 2014 -0700 sparc64: Fix FPU register corruption with AES crypto offload. The AES loops in arch/sparc/crypto/aes_glue.c use a scheme where the key material is preloaded into the FPU registers, and then we loop over and over doing the crypt operation, reusing those pre-cooked key registers. There are intervening blkcipher*() calls between the crypt operation calls. And those might perform memcpy() and thus also try to use the FPU. The sparc64 kernel FPU usage mechanism is designed to allow such recursive uses, but with a catch. There has to be a trap between the two FPU using threads of control. The mechanism works by, when the FPU is already in use by the kernel, allocating a slot for FPU saving at trap time. Then if, within the trap handler, we try to use the FPU registers, the pre-trap FPU register state is saved into the slot. Then at trap return time we notice this and restore the pre-trap FPU state. Over the long term there are various more involved ways we can make this work, but for a quick fix let's take advantage of the fact that the situation where this happens is very limited. All sparc64 chips that support the crypto instructiosn also are using the Niagara4 memcpy routine, and that routine only uses the FPU for large copies where we can't get the source aligned properly to a multiple of 8 bytes. We look to see if the FPU is already in use in this context, and if so we use the non-large copy path which only uses integer registers. Furthermore, we also limit this special logic to when we are doing kernel copy, rather than a user copy. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a77f2bdbdef289a02bd02fac483a9350e039705 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Oct 10 19:04:25 2014 +1100 powerpc/msi: Use WARN_ON() in msi bitmap selftests As demonstrated in the previous commit, the failure message from the msi bitmap selftests is a bit subtle, it's easy to miss a failure in a busy boot log. So drop our check() macro and use WARN_ON() instead. This necessitates inverting all the conditions as well. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 695911fb1f0e00aebe6c5636b9c08bf0fd51a2fd Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Oct 10 19:04:24 2014 +1100 powerpc/msi: Fix the msi bitmap alignment tests When we added the alignment tests recently we failed to check they were actually passing - oops. They weren't passing, because the bitmap was full. We should also be a bit more careful when checking the return code, a negative error return could by divisible by our alignment value. Fixes: b0345bbc6d09 ("powerpc/msi: Improve IRQ bitmap allocator") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 179ea48bc7c04dba3526d66d9f358c2f4f3b3776 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 14:58:32 2014 +1000 powerpc/eeh: Block CFG upon frozen Shiner adapter The Broadcom Shiner 2-ports 10G ethernet adapter has same problem commit 6f20bda0 ("powerpc/eeh: Block PCI config access upon frozen PE") fixes. Put it to the black list as well. # lspci -s 0004:01:00.0 0004:01:00.0 Ethernet controller: Broadcom Corporation \ NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10) # lspci -n -s 0004:01:00.0 0004:01:00.0 0200: 14e4:168e (rev 10) Reported-by: John Walthour <jwalthour@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c59004cc83c3f8b182c32ca9d366d222a59ab63f Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:54 2014 +1000 powerpc/eeh: Don't collect logs on PE with blocked config space When the PE's config space is marked as blocked, PCI config read requests always return 0xFF's. It's pointless to collect logs in this case. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b6541db1395298b326ae1bf59fae6fbb2c6e8f77 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:53 2014 +1000 powerpc/eeh: Block PCI config access upon frozen PE The problem was found when I tried to inject PCI config error by PHB3 PAPR error injection registers into Broadcom Austin 4-ports NIC adapter. The frozen PE was reported successfully and EEH core started to recover it. However, I run into fenced PHB when dumping PCI config space as EEH logs. I was told that PCI config requests should not be progagated to the adapter until PE reset is done successfully. Otherise, we would run out of PHB internal credits and trigger PCT (PCIE Completion Timeout), which leads to the fenced PHB. The patch introduces another PE flag EEH_PE_CFG_RESTRICTED, which is set during PE initialization time if the PE includes the specific PCI devices that need block PCI config access until PE reset is done. When the PE becomes frozen for the first time, EEH_PE_CFG_BLOCKED is set if the PE has flag EEH_PE_CFG_RESTRICTED. Then the PCI config access to the PE will be dropped by platform PCI accessors until PE reset is done successfully. The mechanism is shared by PowerNV platform owned PE or userland owned ones. It's not used on pSeries platform yet. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3409eb4e69e1150202bc4ec61801115da32aa380 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:52 2014 +1000 powerpc/pseries: Drop config requests in EEH accessors The pSeires EEH config accessors rely on rtas_{read, write}_config() and the condition to check if the PE's config space is blocked should be moved to those 2 functions so that config requests from kernel, userland, EEH core can be dropped to avoid recursive EEH error if necessary. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d2cfbcd7c8136bc4d944eb64f7f0479dd2b129b8 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:51 2014 +1000 powerpc/powernv: Drop config requests in EEH accessors It's bad idea to access the PCI config registers of the adapters, which is experiencing reset. It leads to recursive EEH error without exception. The patch drops PCI config requests in EEH accessors if the PE has been marked to accept PCI config requests, for example during PE reseet time. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8a6b3710ccc33da1fd5c85144ad3db01c4457552 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:50 2014 +1000 powerpc/eeh: Rename flag EEH_PE_RESET to EEH_PE_CFG_BLOCKED The flag EEH_PE_RESET indicates blocking config space of the PE during reset time. We potentially need block PE's config space other than reset time. So it's reasonable to replace it with EEH_PE_CFG_BLOCKED to indicate its usage. There are no substantial code or logic changes in this patch. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8315070c07e7ef5f58ce9e317dc91fd727ecd419 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:49 2014 +1000 powerpc/eeh: Fix condition for isolated state Function eeh_pe_state_mark() could possibly have combination of multiple EEH PE state as its argument. The patch fixes the condition used to check if EEH_PE_ISOLATED is included. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d6f1e7abdb95a7ea031e7604829e4b5514d7e2c1 Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 15:15:45 2014 -0500 powerpc/pseries: Make CPU hotplug path endian safe - ibm,rtas-configure-connector should treat the RTAS data as big endian. - Treat ibm,ppc-interrupt-server#s as big-endian when setting smp_processor_id during hotplug. Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Acked-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4ff52b4dedcd4226cf1f2817eb14e8d733790eae Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 19:41:40 2014 +1100 powerpc/pseries: Use dump_stack instead of show_stack We can use the simpler dump_stack() instead of show_stack(current, __get_SP()) Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit acf620ecf56cfc4edaffaf158250e128539cdd26 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 19:41:39 2014 +1100 powerpc: Rename __get_SP() to current_stack_pointer() Michael points out that __get_SP() is a pretty horrible function name. Let's give it a better name. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bfe9a2cfe91a1c920f152ce5fd0a9ad74b3daf12 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 19:41:38 2014 +1100 powerpc: Reimplement __get_SP() as a function not a define Li Zhong points out an issue with our current __get_SP() implementation. If ftrace function tracing is enabled (ie -pg profiling using _mcount) we spill a stack frame on 64bit all the time. If a function calls __get_SP() and later calls a function that is tail call optimised, we will pop the stack frame and the value returned by __get_SP() is no longer valid. An example from Li can be found in save_stack_trace -> save_context_stack: c0000000000432c0 <.save_stack_trace>: c0000000000432c0: mflr r0 c0000000000432c4: std r0,16(r1) c0000000000432c8: stdu r1,-128(r1) <-- stack frame for _mcount c0000000000432cc: std r3,112(r1) c0000000000432d0: bl <._mcount> c0000000000432d4: nop c0000000000432d8: mr r4,r1 <-- __get_SP() c0000000000432dc: ld r5,632(r13) c0000000000432e0: ld r3,112(r1) c0000000000432e4: li r6,1 c0000000000432e8: addi r1,r1,128 <-- pop stack frame c0000000000432ec: ld r0,16(r1) c0000000000432f0: mtlr r0 c0000000000432f4: b <.save_context_stack> <-- tail call optimized save_context_stack ends up with a stack pointer below the current one, and it is likely to be scribbled over. Fix this by making __get_SP() a function which returns the callers stack frame. Also replace inline assembly which grabs the stack pointer in save_stack_trace and show_stack with __get_SP(). This also fixes an issue with perf_arch_fetch_caller_regs(). It currently unwinds the stack once, which will skip a valid stack frame on a leaf function. With the __get_SP() fixes in this patch, we never need to unwind the stack frame to get to the first interesting frame. We have to export __get_SP() because perf_arch_fetch_caller_regs() (which is used in modules) calls it from a header file. Reported-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1bbc26062754b012656d34103215f7552e02b999 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:33 2014 +1030 virtio-rng: refactor probe error handling Code like vi->vq = NULL; kfree(vi) does not make sense. Clean it up, use goto error labels for cleanup. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 5d8f16d08ba42937ae8c4152d218a77671be4b8f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:33 2014 +1030 virtio_scsi: drop scan callback Enable VQs early like we do for restore. This makes it possible to drop the scan callback, moving scanning into the probe function, and making code simpler. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 486d2e632ca157558a738626c092973f309f3b45 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:33 2014 +1030 virtio_balloon: enable VQs early on restore virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after resume returns, virtio balloon violated this rule by adding bufs, which causes the VQ to be used directly within restore. To fix, call virtio_device_ready before using VQ. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit e67423c7b4f20c327de533b068907aab33720482 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:33 2014 +1030 virtio_scsi: fix race on device removal We cancel event work on device removal, but an interrupt could trigger immediately after this, and queue it again. To fix, set a flag. Loosely based on patch by Paolo Bonzini Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 1fa5b2a784dc52d929432bcc963a0bfb3a74608f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 15 10:22:33 2014 +1030 virito_scsi: use freezable WQ for events Michael S. Tsirkin noticed a race condition: we reset device on freeze, but system WQ is still running so it might try adding bufs to a VQ meanwhile. To fix, switch to handling events from the freezable WQ. Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit e53fbd11e983e896adaabef2d2f1695d6e0af829 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:32 2014 +1030 virtio_net: enable VQs early on restore virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after restore returns, virtio net violated this rule by using receive VQs within restore. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 401bbdc901b268113d7c562616feb7fc37492aca Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:32 2014 +1030 virtio_console: enable VQs early on restore virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after resume returns, virtio console violated this rule by adding inbufs, which causes the VQ to be used directly within restore. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 52c9cf1ac3d315995e9a65b900bc25e1d8a538b3 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:32 2014 +1030 virtio_scsi: enable VQs early on restore virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after restore returns, virtio scsi violated this rule on restore by kicking event vq within restore. To fix, call virtio_device_ready before using event queue. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6d62c37f1991aafc872f8d8be8ac60e57ede8605 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:32 2014 +1030 virtio_blk: enable VQs early on restore virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after restore returns, virtio block violated this rule on restore by restarting queues, which might in theory cause the VQ to be used directly within restore. To fix, call virtio_device_ready before using starting queues. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit cd679048958011418f14a8fc7dfdb64ab72ca315 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:31 2014 +1030 virtio_scsi: move kick event out from virtscsi_init We currently kick event within virtscsi_init, before host is fully initialized. This can in theory confuse guest if device consumes the buffers immediately. To fix, move virtscsi_kick_event_all out to scan/restore. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 024655555021e971203c519770609509e0af4468 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:31 2014 +1030 virtio_net: fix use after free on allocation failure In the extremely unlikely event that driver initialization fails after RX buffers are added, virtio net frees RX buffers while VQs are still active, potentially causing device to use a freed buffer. To fix, reset device first - same as we do on device removal. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 64b4cc3911fe8284dfb3cfdb8065c100b818bab8 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:31 2014 +1030 9p/trans_virtio: enable VQs early virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after probe returns, but virtio 9p device adds self to channel list within probe, at which point VQ can be used in violation of the spec. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit f5866db64f341776c2d9ed48080f82459fea6a55 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:31 2014 +1030 virtio_console: enable VQs early virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after probe returns, virtio console violated this rule by adding inbufs, which causes the VQ to be used directly within probe. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7a11370e5e6c26566904bb7f08281093a3002ff2 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:30 2014 +1030 virtio_blk: enable VQs early virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after probe returns, virtio block violated this rule by calling add_disk, which causes the VQ to be used directly within probe. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 4baf1e33d0842c9673fef4af207d4b74da8d0126 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:30 2014 +1030 virtio_net: enable VQs early virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after probe returns, virtio net violated this rule by using receive VQs within probe. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 3569db593081fd88bbd6df21b9b0531873f2042c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:30 2014 +1030 virtio: add API to enable VQs early virtio spec 0.9.X requires DRIVER_OK to be set before VQs are used, but some drivers use VQs before probe function returns. Since DRIVER_OK is set after probe, this violates the spec. Even though under virtio 1.0 transitional devices support this behaviour, we want to make it possible for those early callers to become spec compliant and eventually support non-transitional devices. Add API for drivers to call before using VQs. Sets DRIVER_OK internally. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 507613bf31f4bc0a344a1dfc1bc9074fed6eab8f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:30 2014 +1030 virtio_net: minor cleanup goto done; done: return; is ugly, it was put there to make diff review easier. replace by open-coded return. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 080c637373904258ecc20cedc552b2472ab03d10 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:29 2014 +1030 virtio-net: drop config_mutex config_mutex served two purposes: prevent multiple concurrent config change handlers, and synchronize access to config_enable flag. Since commit dbf2576e37da0fcc7aacbfbb9fd5d3de7888a3c1 workqueue: make all workqueues non-reentrant all workqueues are non-reentrant, and config_enable is now gone. Get rid of the unnecessary lock. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 102a2786c9df756cffdbcfd11096124e4dc6c311 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:29 2014 +1030 virtio_net: drop config_enable Now that virtio core ensures config changes don't arrive during probing, drop config_enable flag in virtio net. On removal, flush is now sufficient to guarantee that no change work is queued. This help simplify the driver, and will allow setting DRIVER_OK earlier without losing config change notifications. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 1f54b0c055b9322f4e7acb49c492edc5accd15ae Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:29 2014 +1030 virtio-blk: drop config_mutex config_mutex served two purposes: prevent multiple concurrent config change handlers, and synchronize access to config_enable flag. Since commit dbf2576e37da0fcc7aacbfbb9fd5d3de7888a3c1 workqueue: make all workqueues non-reentrant all workqueues are non-reentrant, and config_enable is now gone. Get rid of the unnecessary lock. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit cc74f71934da13fa979669467c04f0d2e5563112 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:26 2014 +1030 virtio_blk: drop config_enable Now that virtio core ensures config changes don't arrive during probing, drop config_enable flag in virtio blk. On removal, flush is now sufficient to guarantee that no change work is queued. This help simplify the driver, and will allow setting DRIVER_OK earlier without losing config change notifications. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 22b7050a024d7deb0c9ef1e14ed73e3b1e369f24 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:21:55 2014 +1030 virtio: defer config changed notifications Defer config changed notifications that arrive during probe/scan/freeze/restore. This will allow drivers to set DRIVER_OK earlier, without worrying about racing with config change interrupts. This change will also benefit old hypervisors (before 2009) that send interrupts without checking DRIVER_OK: previously, the callback could race with driver-specific initialization. This will also help simplify drivers. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (cosmetic changes) commit c6716bae52f97347e25166c6270aa98693d9212c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Oct 14 10:40:35 2014 +1030 virtio-pci: move freeze/restore to virtio core This is in preparation to extending config changed event handling in core. Wrapping these in an API also seems to make for a cleaner code. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 016c98c6fe0c914d12e2e242b2bccde6d6dea54b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Oct 14 10:40:34 2014 +1030 virtio: unify config_changed handling Replace duplicated code in all transports with a single wrapper in virtio.c. The only functional change is in virtio_mmio.c: if a buggy device sends us an interrupt before driver is set, we previously returned IRQ_NONE, now we return IRQ_HANDLED. As this must not happen in practice, this does not look like a big deal. See also commit 3fff0179e33cd7d0a688dab65700c46ad089e934 virtio-pci: do not oops on config change if driver not loaded. for the original motivation behind the driver check. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6fbc198cf623944ab60a1db6d306a4d55cdd820d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Oct 14 10:40:29 2014 +1030 virtio_pci: fix virtio spec compliance on restore On restore, virtio pci does the following: + set features + init vqs etc - device can be used at this point! + set ACKNOWLEDGE,DRIVER and DRIVER_OK status bits This is in violation of the virtio spec, which requires the following order: - ACKNOWLEDGE - DRIVER - init vqs - DRIVER_OK This behaviour will break with hypervisors that assume spec compliant behaviour. It seems like a good idea to have this patch applied to stable branches to reduce the support butden for the hypervisors. Cc: stable@xxxxxxxxxxxxxxx Cc: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d3051b489aa81ca9ba62af366149ef42b8dae97c Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Tue Oct 14 02:51:39 2014 +1030 modules, lock around setting of MODULE_STATE_UNFORMED A panic was seen in the following sitation. There are two threads running on the system. The first thread is a system monitoring thread that is reading /proc/modules. The second thread is loading and unloading a module (in this example I'm using my simple dummy-module.ko). Note, in the "real world" this occurred with the qlogic driver module. When doing this, the following panic occurred: ------------[ cut here ]------------ kernel BUG at kernel/module.c:3739! invalid opcode: 0000 [#1] SMP Modules linked in: binfmt_misc sg nfsv3 rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache intel_powerclamp coretemp kvm_intel kvm crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel lrw igb gf128mul glue_helper iTCO_wdt iTCO_vendor_support ablk_helper ptp sb_edac cryptd pps_core edac_core shpchp i2c_i801 pcspkr wmi lpc_ich ioatdma mfd_core dca ipmi_si nfsd ipmi_msghandler auth_rpcgss nfs_acl lockd sunrpc xfs libcrc32c sr_mod cdrom sd_mod crc_t10dif crct10dif_common mgag200 syscopyarea sysfillrect sysimgblt i2c_algo_bit drm_kms_helper ttm isci drm libsas ahci libahci scsi_transport_sas libata i2c_core dm_mirror dm_region_hash dm_log dm_mod [last unloaded: dummy_module] CPU: 37 PID: 186343 Comm: cat Tainted: GF O-------------- 3.10.0+ #7 Hardware name: Intel Corporation S2600CP/S2600CP, BIOS RMLSDP.86I.00.29.D696.1311111329 11/11/2013 task: ffff8807fd2d8000 ti: ffff88080fa7c000 task.ti: ffff88080fa7c000 RIP: 0010:[<ffffffff810d64c5>] [<ffffffff810d64c5>] module_flags+0xb5/0xc0 RSP: 0018:ffff88080fa7fe18 EFLAGS: 00010246 RAX: 0000000000000003 RBX: ffffffffa03b5200 RCX: 0000000000000000 RDX: 0000000000001000 RSI: ffff88080fa7fe38 RDI: ffffffffa03b5000 RBP: ffff88080fa7fe28 R08: 0000000000000010 R09: 0000000000000000 R10: 0000000000000000 R11: 000000000000000f R12: ffffffffa03b5000 R13: ffffffffa03b5008 R14: ffffffffa03b5200 R15: ffffffffa03b5000 FS: 00007f6ae57ef740(0000) GS:ffff88101e7a0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000404f70 CR3: 0000000ffed48000 CR4: 00000000001407e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Stack: ffffffffa03b5200 ffff8810101e4800 ffff88080fa7fe70 ffffffff810d666c ffff88081e807300 000000002e0f2fbf 0000000000000000 ffff88100f257b00 ffffffffa03b5008 ffff88080fa7ff48 ffff8810101e4800 ffff88080fa7fee0 Call Trace: [<ffffffff810d666c>] m_show+0x19c/0x1e0 [<ffffffff811e4d7e>] seq_read+0x16e/0x3b0 [<ffffffff812281ed>] proc_reg_read+0x3d/0x80 [<ffffffff811c0f2c>] vfs_read+0x9c/0x170 [<ffffffff811c1a58>] SyS_read+0x58/0xb0 [<ffffffff81605829>] system_call_fastpath+0x16/0x1b Code: 48 63 c2 83 c2 01 c6 04 03 29 48 63 d2 eb d9 0f 1f 80 00 00 00 00 48 63 d2 c6 04 13 2d 41 8b 0c 24 8d 50 02 83 f9 01 75 b2 eb cb <0f> 0b 66 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 41 RIP [<ffffffff810d64c5>] module_flags+0xb5/0xc0 RSP <ffff88080fa7fe18> Consider the two processes running on the system. CPU 0 (/proc/modules reader) CPU 1 (loading/unloading module) CPU 0 opens /proc/modules, and starts displaying data for each module by traversing the modules list via fs/seq_file.c:seq_open() and fs/seq_file.c:seq_read(). For each module in the modules list, seq_read does op->start() <-- this is a pointer to m_start() op->show() <- this is a pointer to m_show() op->stop() <-- this is a pointer to m_stop() The m_start(), m_show(), and m_stop() module functions are defined in kernel/module.c. The m_start() and m_stop() functions acquire and release the module_mutex respectively. ie) When reading /proc/modules, the module_mutex is acquired and released for each module. m_show() is called with the module_mutex held. It accesses the module struct data and attempts to write out module data. It is in this code path that the above BUG_ON() warning is encountered, specifically m_show() calls static char *module_flags(struct module *mod, char *buf) { int bx = 0; BUG_ON(mod->state == MODULE_STATE_UNFORMED); ... The other thread, CPU 1, in unloading the module calls the syscall delete_module() defined in kernel/module.c. The module_mutex is acquired for a short time, and then released. free_module() is called without the module_mutex. free_module() then sets mod->state = MODULE_STATE_UNFORMED, also without the module_mutex. Some additional code is called and then the module_mutex is reacquired to remove the module from the modules list: /* Now we can delete it from the lists */ mutex_lock(&module_mutex); stop_machine(__unlink_module, mod, NULL); mutex_unlock(&module_mutex); This is the sequence of events that leads to the panic. CPU 1 is removing dummy_module via delete_module(). It acquires the module_mutex, and then releases it. CPU 1 has NOT set dummy_module->state to MODULE_STATE_UNFORMED yet. CPU 0, which is reading the /proc/modules, acquires the module_mutex and acquires a pointer to the dummy_module which is still in the modules list. CPU 0 calls m_show for dummy_module. The check in m_show() for MODULE_STATE_UNFORMED passed for dummy_module even though it is being torn down. Meanwhile CPU 1, which has been continuing to remove dummy_module without holding the module_mutex, now calls free_module() and sets dummy_module->state to MODULE_STATE_UNFORMED. CPU 0 now calls module_flags() with dummy_module and ... static char *module_flags(struct module *mod, char *buf) { int bx = 0; BUG_ON(mod->state == MODULE_STATE_UNFORMED); and BOOM. Acquire and release the module_mutex lock around the setting of MODULE_STATE_UNFORMED in the teardown path, which should resolve the problem. Testing: In the unpatched kernel I can panic the system within 1 minute by doing while (true) do insmod dummy_module.ko; rmmod dummy_module.ko; done and while (true) do cat /proc/modules; done in separate terminals. In the patched kernel I was able to run just over one hour without seeing any issues. I also verified the output of panic via sysrq-c and the output of /proc/modules looks correct for all three states for the dummy_module. dummy_module 12661 0 - Unloading 0xffffffffa03a5000 (OE-) dummy_module 12661 0 - Live 0xffffffffa03bb000 (OE) dummy_module 14015 1 - Loading 0xffffffffa03a5000 (OE+) Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit 0d0826019e529f21c84687521d03f60cd241ca7d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 8 10:42:27 2014 -0700 mnt: Prevent pivot_root from creating a loop in the mount tree Andy Lutomirski recently demonstrated that when chroot is used to set the root path below the path for the new ``root'' passed to pivot_root the pivot_root system call succeeds and leaks mounts. In examining the code I see that starting with a new root that is below the current root in the mount tree will result in a loop in the mount tree after the mounts are detached and then reattached to one another. Resulting in all kinds of ugliness including a leak of that mounts involved in the leak of the mount loop. Prevent this problem by ensuring that the new mount is reachable from the current root of the mount tree. [Added stable cc. Fixes CVE-2014-7970. --Andy] Cc: stable@xxxxxxxxxxxxxxx Reported-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/87bnpmihks.fsf@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> commit 9b462d02d6dd671a9ebdc45caed6fe98a53c0ebe Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 13 06:27:47 2014 -0700 tcp: TCP Small Queues and strange attractors TCP Small queues tries to keep number of packets in qdisc as small as possible, and depends on a tasklet to feed following packets at TX completion time. Choice of tasklet was driven by latencies requirements. Then, TCP stack tries to avoid reorders, by locking flows with outstanding packets in qdisc in a given TX queue. What can happen is that many flows get attracted by a low performing TX queue, and cpu servicing TX completion has to feed packets for all of them, making this cpu 100% busy in softirq mode. This became particularly visible with latest skb->xmit_more support Strategy adopted in this patch is to detect when tcp_wfree() is called from ksoftirqd and let the outstanding queue for this flow being drained before feeding additional packets, so that skb->ooo_okay can be set to allow select_queue() to select the optimal queue : Incoming ACKS are normally handled by different cpus, so this patch gives more chance for these cpus to take over the burden of feeding qdisc with future packets. Tested: lpaa23:~# ./super_netperf 1400 --google-pacing-rate 3028000 -H lpaa24 -l 3600 & lpaa23:~# sar -n DEV 1 10 | grep eth1 06:16:18 AM eth1 595448.00 1190564.00 38381.09 1760253.12 0.00 0.00 1.00 06:16:19 AM eth1 594858.00 1189686.00 38340.76 1758952.72 0.00 0.00 0.00 06:16:20 AM eth1 597017.00 1194019.00 38480.79 1765370.29 0.00 0.00 1.00 06:16:21 AM eth1 595450.00 1190936.00 38380.19 1760805.05 0.00 0.00 0.00 06:16:22 AM eth1 596385.00 1193096.00 38442.56 1763976.29 0.00 0.00 1.00 06:16:23 AM eth1 598155.00 1195978.00 38552.97 1768264.60 0.00 0.00 0.00 06:16:24 AM eth1 594405.00 1188643.00 38312.57 1757414.89 0.00 0.00 1.00 06:16:25 AM eth1 593366.00 1187154.00 38252.16 1755195.83 0.00 0.00 0.00 06:16:26 AM eth1 593188.00 1186118.00 38232.88 1753682.57 0.00 0.00 1.00 06:16:27 AM eth1 596301.00 1192241.00 38440.94 1762733.09 0.00 0.00 0.00 Average: eth1 595457.30 1190843.50 38381.69 1760664.84 0.00 0.00 0.50 lpaa23:~# ./tc -s -d qd sh dev eth1 | grep backlog backlog 7606336b 2513p requeues 167982 backlog 224072b 74p requeues 566 backlog 581376b 192p requeues 5598 backlog 181680b 60p requeues 1070 backlog 5305056b 1753p requeues 110166 // Here, this TX queue is attracting flows backlog 157456b 52p requeues 1758 backlog 672216b 222p requeues 3025 backlog 60560b 20p requeues 24541 backlog 448144b 148p requeues 21258 lpaa23:~# echo 1 >/proc/sys/net/ipv4/tcp_tsq_enable_tcp_wfree_ksoftirqd_detect Immediate jump to full bandwidth, and traffic is properly shard on all tx queues. lpaa23:~# sar -n DEV 1 10 | grep eth1 06:16:46 AM eth1 1397632.00 2795397.00 90081.87 4133031.26 0.00 0.00 1.00 06:16:47 AM eth1 1396874.00 2793614.00 90032.99 4130385.46 0.00 0.00 0.00 06:16:48 AM eth1 1395842.00 2791600.00 89966.46 4127409.67 0.00 0.00 1.00 06:16:49 AM eth1 1395528.00 2791017.00 89946.17 4126551.24 0.00 0.00 0.00 06:16:50 AM eth1 1397891.00 2795716.00 90098.74 4133497.39 0.00 0.00 1.00 06:16:51 AM eth1 1394951.00 2789984.00 89908.96 4125022.51 0.00 0.00 0.00 06:16:52 AM eth1 1394608.00 2789190.00 89886.90 4123851.36 0.00 0.00 1.00 06:16:53 AM eth1 1395314.00 2790653.00 89934.33 4125983.09 0.00 0.00 0.00 06:16:54 AM eth1 1396115.00 2792276.00 89984.25 4128411.21 0.00 0.00 1.00 06:16:55 AM eth1 1396829.00 2793523.00 90030.19 4130250.28 0.00 0.00 0.00 Average: eth1 1396158.40 2792297.00 89987.09 4128439.35 0.00 0.00 0.50 lpaa23:~# tc -s -d qd sh dev eth1 | grep backlog backlog 7900052b 2609p requeues 173287 backlog 878120b 290p requeues 589 backlog 1068884b 354p requeues 5621 backlog 996212b 329p requeues 1088 backlog 984100b 325p requeues 115316 backlog 956848b 316p requeues 1781 backlog 1080996b 357p requeues 3047 backlog 975016b 322p requeues 24571 backlog 990156b 327p requeues 21274 (All 8 TX queues get a fair share of the traffic) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b909bb49ac204bfd2e628707db37beb490dbc5c Merge: a040f95 da22b896 78eda2b f39f869 05df780 Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Tue Oct 14 14:09:12 2014 -0700 Merge branches 'core', 'cxgb4', 'iser', 'mlx5' and 'ocrdma' into for-next commit 82b009f9b38e8285987b842f1f13015acf4439db Merge: db404b1 d47d2fd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 17:05:23 2014 -0400 Merge branch 'qlcnic' Rajesh Borundia says: ==================== qlcnic: Bug fixes This series fixes following issues. * We were programming maximum number of arguments supported by adapter instead of required in a command. * Destroy tx command requires three arguments instead of two. Please apply these patches to net. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d47d2fdd29cf41543a0c5a522c4cc9463f9627b2 Author: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx> Date: Tue Oct 14 07:41:46 2014 -0400 qlcnic: Fix number of arguments in destroy tx context command o Number of arguments taken by destroy tx command is three instead of two. Signed-off-by: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a1ef4b5a72614c72fce0e21f44e996ee8f0ef23 Author: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx> Date: Tue Oct 14 07:41:45 2014 -0400 qlcnic: Fix programming number of arguments in a command. o Initially we were programming maximum number of arguments. Instead we should program number of arguments required in a command. o Maximum number of arguments for 82xx adapter is four. Fix it for GET_ESWITCH_STATS command. Signed-off-by: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db404b13617fe0cdb415da55762203d456837912 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Tue Oct 14 06:28:38 2014 -0700 genl_magic: Resolve logical-op warnings Resolve "logical 'and' applied to non-boolean constant" warnings" that appear in W=2 builds by adding !! to a bit test. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e53da5fbfc02586fe4506ed583069b8205f3e38d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 17:02:37 2014 -0400 net: Trap attempts to call sock_kfree_s() with a NULL pointer. Unlike normal kfree() it is never right to call sock_kfree_s() with a NULL pointer, because sock_kfree_s() also has the side effect of discharging the memory from the sockets quota. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dee49f203a7feef5d00c416b7dc7e34a7caba8e1 Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Date: Tue Oct 14 12:35:08 2014 -0700 rds: avoid calling sock_kfree_s() on allocation failure It is okay to free a NULL pointer but not okay to mischarge the socket optmem accounting. Compile test only. Reported-by: rucsoftsec@xxxxxxxxx Cc: Chien Yen <chien.yen@xxxxxxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22c0b963d7400971f4c5a1a67b083e3742996640 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 15 01:54:14 2014 +0530 cxgb4: Fix FW flash logic using ethtool Use t4_fw_upgrade instead of t4_load_fw to write firmware into FLASH, since t4_load_fw doesn't co-ordinate with the firmware and the adapter can get hosed enough to require a power cycle of the system. Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c241bd35e6f626ad6f867dcf9fefdc2315f125f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Oct 14 17:19:44 2014 -0300 perf symbols: Make sym->end be the first address after the symbol range To follow vm_area_struct->vm_end convention. By adhering to the convention that ->end is the first address outside the symbol's range we can do things like: sym->end = start + len; len = sym->end - sym->start; This is also now the convention used for struct map->end, fixing some off-by-one bugs. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Chuck Ebbert <cebbert.lkml@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-agomujr7tuqaq6lu7kr6z7h6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit eba85230de892e2a925c85dca1fe177e8b3d84d8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Oct 14 16:39:27 2014 -0300 perf symbols: Fix map->end fixup When synthesizing maps from files that have incomplete symbol information, like kallsyms, we need to fixup the end of maps by seting its end from the ->start of the next map, fix it to set prev_map->end to curr_map->start, since ->end is the first byte outside prev_map address range. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ivbrj08sjakxdwkrcndbkoig@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4955ea225db42144d1667838f908315a16d51c5b Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Oct 14 16:05:38 2014 -0300 perf tools: Fixup off-by-one comparision in maps__find map->end is the first addr _outside_ the a map, following the convention of vm_area_struct->vm_end. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/8761fwh1nc.fsf@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 77faf4d060e3ee1fd2ff6cd39f2b2eb887100422 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Oct 6 10:35:32 2014 +0200 perf tools: fix off-by-one error in maps This patch fixes off-by-one errors in the management of maps. A map is defined by start address and length as implemented by map__new(): map__init(map, type, start, start + len, pgoff, dso); map->start = addr; map->end = end; Consequently, the actual address range is [start; end[ map->end is the first byte outside the range. This patch fixes two bugs where upper bound checking was off-by-one. In V2, we fix map_groups__fixup_overlappings() some more where map->start was off-by-one as reported by Jiri. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20141006083532.GA4850@quad Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e167f995e26249aa93708589c5eea539652351fa Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Oct 14 15:07:48 2014 -0300 perf machine: Add missing dsos->root rbtree root initialization A segfault happens on 'perf test hists_link' because we end up using a struct machines on the stack, and then machines__init() was not initializing the newly introduced rb_root, just the existing list_head. When we introduced struct dsos, to group the two ways to store dsos, i.e. the linked list and the rbtree, we didn't turned the initialization done in: machines__init(machines->host) -> machine__init() -> INIT_LIST_HEAD into a dsos__init() to keep on initializing the list_head but _as well_ initializing the rb_root, oops. All worked because outside perf-test we probably zalloc the whole thing which ends up initializing it in to NULL. So the problem looks contained to 'perf test' that uses it on stack, etc. Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Waiman Long <Waiman.Long@xxxxxx>, Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>, Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx>, Link: http://lkml.kernel.org/r/20141014180353.GF3198@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6e36145d4ec754f4a8ce9d6912ca4d82ffb6ae3f Merge: 8c2a7a5 53b26b9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 16:40:49 2014 -0400 Merge branch 'stmmac' Giuseppe Cavallaro says: ==================== stmmac: review and fix the dwmac-sti glue-logic This patch is to review the whole glue logic adopted on STi SoCs that was bugged. In the old glue-logic there was a lot of confusion when setup the retiming especially for STiD127 where, for example, the bits 6 and 7 (in the GMAC control register) have a different meaning of what is used for STiH4xx SoCs. So we cannot adopt the same glue for all these SoCs. Moreover, GiGa on STiD127 didn't work and, for all the SoCs, the RGMII couldn't run when the speed was 10Mbps (because the clock was not properly managed). Note that the phy clock needs to be provided by the platform as well as documented in the related binding file (updated as consequence). The old code supported too many configurations never adopted and validated. This made the code very complex to maintain and debug in case of issues. The patch simplifies all the configurations as commented in the tables inside the file and obviously it has been tested on all the boards based on the SoCs mentioned. With this patch, the dwmac-sti is also ready to support new configurations that will be available on next SoC generations. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53b26b9bc9a547bf10135a8079e5ae88f354b9f6 Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx> Date: Tue Oct 14 08:12:56 2014 +0200 stmmac: dwmac-sti: review the glue-logic for STi4xx and STiD127 SoCs This patch is to review the whole glue logic adopted on STi SoCs that was bugged. In the old glue-logic there was a lot of confusion when setup the retiming especially for STiD127 where, for example, the bits 6 and 7 (in the GMAC control register) have a different meaning of what is used for STiH4xx SoCs. So we cannot adopt the same glue for all these SoCs. Moreover, GiGa on STiD127 didn't work and, for all the SoCs, the RGMII couldn't run when the speed was 10Mbps (because the clock was not properly managed). Note that the phy clock needs to be provided by the platform as well as documented in the related binding file (updated as consequence). The old code supported too many configurations never adopted and validated. This made the code very complex to maintain and debug in case of issues. The patch simplifies all the configurations as commented in the tables inside the file and obviously it has been tested on all the boards based on the SoCs mentioned. With this patch, the dwmac-sti is also ready to support new configurations that will be available on next SoC generations. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 160e1fd10a287bb805745ea4e5b8bb383b686b7f Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx> Date: Tue Oct 14 08:12:55 2014 +0200 stmmac: make the STi Layer compatible to STiH407 This adds the missing compatibility to the STiH407 SoC. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c2a7a5d2c6ec6c2a95fe22a6d3af1db07840da8 Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx> Date: Tue Oct 14 08:11:54 2014 +0200 stmmac: platform: fix FIXED_PHY support. On several STi platforms: e.g. stihxxx-b2120 an Ethernet switch is embedded and connected to the stmmac via RGMII mode. So this is managed by using the FIXED_PHY. In that case, the support in the platform needs to be fixed to allow the stmmac to dialog with the switch via fixed-link by using phy_bus_name property. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8885846fc4b708f543fe1dd3ef7402417d2d4151 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 13 13:30:27 2014 -0300 perf evsel: Make some exit routines static Since they are automatically called by other methods used by tools. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ne3g4any7q6ty5d6yv8t1wws@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 80b2210c623dc47e0847816989dd647738e4fb94 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 13 10:29:50 2014 -0300 perf evsel: Add missing 'target' struct forward declaration We use it in evsel.h but were getting it indirectly, fix it. Noticed while working on having evsel.h usable by rasd.c. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-94t3jvw4tmzrq3dnovvpl65e@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4112eb1899c0e711b2ab1491f51215359cf94d74 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 15:55:15 2014 -0300 perf evlist: Default to syswide target when no thread/cpu maps set If all a tool wants is to do system wide event monitoring, there is no more the need to setup thread_map and cpu_map objects, just call perf_evlist__open() and it will do create one fd per CPU monitoring all threads. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-poovolkigu72brx4783uq4cf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1aaf63b1ee912abd7675681f9d6ffaaf2ffc0451 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 14:29:49 2014 -0300 perf evlist: Check that there is a thread_map when preparing a workload The perf_evlist__prepare_workload expects a thread map to be in place so that it can store the pid of the workload being started, so check it and tell the developer about it instead of segfaulting. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jvlz2f264e7kpmhjmwltikqw@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 641556c98c821922a9a2121247b5fa25e4407d11 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 12:03:46 2014 -0300 perf thread_map: Create dummy constructor out of open coded equivalent Create a dummy thread_map, one that has just one entry and it is -1, meaning 'all threads', as this ends up going down to perf_event_open(). Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8av26cz8uxmbnihl5mmrygp9@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a635fc511e05774298153e3ddfef7c4cd51a1bb4 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 16:16:00 2014 -0300 perf tools: Remove hists from evsel Now tools that deals want to have an hists per evsel need to call hists__init() before creating any evsels, which can be as early as when parsing the command line, so do it before calling parse_options(). The current tools using hists/hist_entries are report, top and annotate, change them to request per evsel hists. This is in preparation for making evsels usable by 3rd party tools, that not necessarily live in perf's source code repository. Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-usjx2la743f10ippj7p1b20x@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8f651eae186f4dfb1740988623c83ba03dcf3a76 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 16:12:24 2014 -0300 perf callchain: Move the callchain_param extern to callchain.h It was lost in hist.h, move it to where it belongs, callchain.h, as there are places that gets hist.h by means of evsel.h, and since evsel.h is being untangled from hist.h... Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0rg7ji1jnbm6q6gj35j37jby@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ce8ccff5dd6b87dfe3495c7e9c5d56169bbacf58 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 15:29:51 2014 -0300 perf evsel: Subclassing Provide a method to be called at tool start to config the perf_evsel instance size, together with optional constructor and destructor. This will be used so that perf_evsel doesn't always include a struct hists, tools that works with hists/hist_entries, like report, top and annotate, will, at start, tell the evsel class the size they need per instance. v2: Don't use exit as a name of a member of function parameter, as this breaks the build on at least fedora14 and rhel6. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-7t8cay0ieryox4gqosie85ek@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 77b3a4dcde4f770a0f3edbe16dd423b3d0717318 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Oct 14 11:21:04 2014 -0700 dsa: mv88e6171: Fix tag_protocol check tag_protocol is now an enum, so drivers have to check against it. Cc: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c07127b48c6367255fb4506e6d6ba6e219205607 Author: Neale Ferguson <neale@xxxxxxxxxxxxxx> Date: Tue Oct 14 15:10:48 2014 -0500 dlm: fix missing endian conversion of rcom_status flags The flags are already converted to le when being sent, but are not being converted back to cpu when received. Signed-off-by: Neale Ferguson <neale@xxxxxxxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 4d1bafbe485240ee19dcedad864c7c5bae07a7e1 Merge: c15952d 5e6a024 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 16:09:38 2014 -0400 Merge branch 'xgene' Iyappan Subramanian says: ==================== Adding SGMII based 1GbE basic support to APM X-Gene SoC ethernet driver. v2: Address comments from v1 * Split the patchset into two, the first one being preparatory patch * Added link_state function pointer to the xgene_mac_ops structure * Added xgene_indirect_ctl structure for indirect read/write arguments v1: * Initial version ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e6a024bebea5bad6b787cf2c0ee28116b4147f0 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 13 17:05:35 2014 -0700 drivers: net: xgene: Add SGMII based 1GbE ethtool support Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32f784b50e14c653ad0f010fbd5921a5f8caf846 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 13 17:05:34 2014 -0700 drivers: net: xgene: Add SGMII based 1GbE support Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc8385f0c0f46ca18c1c8ab59c9f565dc7cfa6bf Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 13 17:05:33 2014 -0700 drivers: net: xgene: Preparing for adding SGMII based 1GbE - Added link_state function pointer to the xgene__mac_ops structure - Moved ring manager (pdata->rm) assignment to xgene_enet_setup_ops - Removed unused variable (pdata->phy_addr) and macro (FULL_DUPLEX) Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c2e7f0954dcd9fbb47d065c654d44608dad38e0 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 13 17:05:32 2014 -0700 dtb: Add SGMII based 1GbE node to APM X-Gene SoC device tree Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c15952dc18d8a293d976ac6c06d44d9d98023b45 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Oct 14 02:08:54 2014 -0700 net: filter: move common defines into bpf_common.h userspace programs that use eBPF instruction macros need to include two files: uapi/linux/filter.h and uapi/linux/bpf.h Move common macro definitions that are shared between classic BPF and eBPF into uapi/linux/bpf_common.h, so that user app can include only one bpf.h file Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91c4467e3c76b6d40ecc29ed71d3aa1e0285ab80 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 14 19:01:14 2014 +0200 caif_usb: use target structure member in memset parent cfusbl was used instead of first structure member 'layer' Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7970f1918ff685e64063b54474a9c1ac087aee4d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 14 19:00:55 2014 +0200 caif_usb: remove redundant memory message Let MM subsystem display out of memory messages. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ff1e1e3c81426515e1782f2f13b7237211a43df Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 22:21:46 2014 +0200 caif: replace kmalloc/memset 0 by kzalloc Also add blank line after declaration Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 030b16a0e37ff2a870dd57c5da89c1741c683684 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 13 22:21:07 2014 +0530 drivers: net: cpsw: remove child devices while driver detach remove all the child devices from the system to make sure that re-insert of cpsw module doesn't fail on child device populated by of_platform_populate(). Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc7a99fb71b83f811e2c013ab55e507048153f23 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 13 22:21:06 2014 +0530 drivers: net: davinci_cpdma: remove spinlock as SOFTIRQ-unsafe lock order detected remove spinlock in cpdma_desc_pool_destroy() as there is no active cpdma channel and iounmap should be called without auquiring lock. root@dra7xx-evm:~# modprobe -r ti_cpsw [ 50.539743] [ 50.541312] ====================================================== [ 50.547796] [ INFO: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected ] [ 50.554826] 3.14.19-02124-g95c5b7b #308 Not tainted [ 50.559939] ------------------------------------------------------ [ 50.566416] modprobe/1921 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: [ 50.573347] (vmap_area_lock){+.+...}, at: [<c01127fc>] find_vmap_area+0x10/0x6c [ 50.581132] [ 50.581132] and this task is already holding: [ 50.587249] (&(&pool->lock)->rlock#2){..-...}, at: [<bf017c74>] cpdma_ctlr_destroy+0x5c/0x114 [davinci_cpdma] [ 50.597766] which would create a new lock dependency: [ 50.603048] (&(&pool->lock)->rlock#2){..-...} -> (vmap_area_lock){+.+...} [ 50.610296] [ 50.610296] but this new dependency connects a SOFTIRQ-irq-safe lock: [ 50.618601] (&(&pool->lock)->rlock#2){..-...} ... which became SOFTIRQ-irq-safe at: [ 50.626829] [<c06585a4>] _raw_spin_lock_irqsave+0x38/0x4c [ 50.632677] [<bf01773c>] cpdma_desc_free.constprop.7+0x28/0x58 [davinci_cpdma] [ 50.640437] [<bf0177e8>] __cpdma_chan_free+0x7c/0xa8 [davinci_cpdma] [ 50.647289] [<bf017908>] __cpdma_chan_process+0xf4/0x134 [davinci_cpdma] [ 50.654512] [<bf017984>] cpdma_chan_process+0x3c/0x54 [davinci_cpdma] [ 50.661455] [<bf0277e8>] cpsw_poll+0x14/0xa8 [ti_cpsw] [ 50.667038] [<c05844f4>] net_rx_action+0xc0/0x1e8 [ 50.672150] [<c0048234>] __do_softirq+0xcc/0x304 [ 50.677183] [<c004873c>] irq_exit+0xa8/0xfc [ 50.681751] [<c000eeac>] handle_IRQ+0x50/0xb0 [ 50.686513] [<c0008638>] gic_handle_irq+0x28/0x5c [ 50.691628] [<c06590a4>] __irq_svc+0x44/0x5c [ 50.696289] [<c0658ab4>] _raw_spin_unlock_irqrestore+0x34/0x44 [ 50.702591] [<c065a9c4>] do_page_fault.part.9+0x144/0x3c4 [ 50.708433] [<c065acb8>] do_page_fault+0x74/0x84 [ 50.713453] [<c00083dc>] do_DataAbort+0x34/0x98 [ 50.718391] [<c065923c>] __dabt_usr+0x3c/0x40 [ 50.723148] [ 50.723148] to a SOFTIRQ-irq-unsafe lock: [ 50.728893] (vmap_area_lock){+.+...} ... which became SOFTIRQ-irq-unsafe at: [ 50.736476] ... [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 50.741876] [<c011376c>] alloc_vmap_area.isra.28+0xb8/0x300 [ 50.747908] [<c0113a44>] __get_vm_area_node.isra.29+0x90/0x134 [ 50.754210] [<c011486c>] get_vm_area_caller+0x3c/0x48 [ 50.759692] [<c0114be0>] vmap+0x40/0x78 [ 50.763900] [<c09442f0>] check_writebuffer_bugs+0x54/0x1a0 [ 50.769835] [<c093eac0>] start_kernel+0x320/0x388 [ 50.774952] [<80008074>] 0x80008074 [ 50.778793] [ 50.778793] other info that might help us debug this: [ 50.778793] [ 50.787181] Possible interrupt unsafe locking scenario: [ 50.787181] [ 50.794295] CPU0 CPU1 [ 50.799042] ---- ---- [ 50.803785] lock(vmap_area_lock); [ 50.807446] local_irq_disable(); [ 50.813652] lock(&(&pool->lock)->rlock#2); [ 50.820782] lock(vmap_area_lock); [ 50.827086] <Interrupt> [ 50.829823] lock(&(&pool->lock)->rlock#2); [ 50.834490] [ 50.834490] *** DEADLOCK *** [ 50.834490] [ 50.840695] 4 locks held by modprobe/1921: [ 50.844981] #0: (&__lockdep_no_validate__){......}, at: [<c03e53e8>] driver_detach+0x44/0xb8 [ 50.854038] #1: (&__lockdep_no_validate__){......}, at: [<c03e53f4>] driver_detach+0x50/0xb8 [ 50.863102] #2: (&(&ctlr->lock)->rlock){......}, at: [<bf017c34>] cpdma_ctlr_destroy+0x1c/0x114 [davinci_cpdma] [ 50.873890] #3: (&(&pool->lock)->rlock#2){..-...}, at: [<bf017c74>] cpdma_ctlr_destroy+0x5c/0x114 [davinci_cpdma] [ 50.884871] the dependencies between SOFTIRQ-irq-safe lock and the holding lock: [ 50.892827] -> (&(&pool->lock)->rlock#2){..-...} ops: 167 { [ 50.898703] IN-SOFTIRQ-W at: [ 50.901995] [<c06585a4>] _raw_spin_lock_irqsave+0x38/0x4c [ 50.909476] [<bf01773c>] cpdma_desc_free.constprop.7+0x28/0x58 [davinci_cpdma] [ 50.918878] [<bf0177e8>] __cpdma_chan_free+0x7c/0xa8 [davinci_cpdma] [ 50.927366] [<bf017908>] __cpdma_chan_process+0xf4/0x134 [davinci_cpdma] [ 50.936218] [<bf017984>] cpdma_chan_process+0x3c/0x54 [davinci_cpdma] [ 50.944794] [<bf0277e8>] cpsw_poll+0x14/0xa8 [ti_cpsw] [ 50.952009] [<c05844f4>] net_rx_action+0xc0/0x1e8 [ 50.958765] [<c0048234>] __do_softirq+0xcc/0x304 [ 50.965432] [<c004873c>] irq_exit+0xa8/0xfc [ 50.971635] [<c000eeac>] handle_IRQ+0x50/0xb0 [ 50.978035] [<c0008638>] gic_handle_irq+0x28/0x5c [ 50.984788] [<c06590a4>] __irq_svc+0x44/0x5c [ 50.991085] [<c0658ab4>] _raw_spin_unlock_irqrestore+0x34/0x44 [ 50.999023] [<c065a9c4>] do_page_fault.part.9+0x144/0x3c4 [ 51.006510] [<c065acb8>] do_page_fault+0x74/0x84 [ 51.013171] [<c00083dc>] do_DataAbort+0x34/0x98 [ 51.019738] [<c065923c>] __dabt_usr+0x3c/0x40 [ 51.026129] INITIAL USE at: [ 51.029335] [<c06585a4>] _raw_spin_lock_irqsave+0x38/0x4c [ 51.036729] [<bf017d78>] cpdma_chan_submit+0x4c/0x2f0 [davinci_cpdma] [ 51.045225] [<bf02863c>] cpsw_ndo_open+0x378/0x6bc [ti_cpsw] [ 51.052897] [<c058747c>] __dev_open+0x9c/0x104 [ 51.059287] [<c05876ec>] __dev_change_flags+0x88/0x160 [ 51.066420] [<c05877e4>] dev_change_flags+0x18/0x48 [ 51.073270] [<c05ed51c>] devinet_ioctl+0x61c/0x6e0 [ 51.080029] [<c056ee54>] sock_ioctl+0x5c/0x298 [ 51.086418] [<c01350a4>] do_vfs_ioctl+0x78/0x61c [ 51.092993] [<c01356ac>] SyS_ioctl+0x64/0x74 [ 51.099200] [<c000e580>] ret_fast_syscall+0x0/0x48 [ 51.105956] } [ 51.107696] ... key at: [<bf019000>] __key.21312+0x0/0xfffff650 [davinci_cpdma] [ 51.115912] ... acquired at: [ 51.119019] [<c00899ac>] lock_acquire+0x9c/0x104 [ 51.124138] [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 51.129341] [<c01127fc>] find_vmap_area+0x10/0x6c [ 51.134547] [<c0114960>] remove_vm_area+0x8/0x6c [ 51.139659] [<c0114a7c>] __vunmap+0x20/0xf8 [ 51.144318] [<c001c350>] __arm_iounmap+0x10/0x18 [ 51.149440] [<bf017d08>] cpdma_ctlr_destroy+0xf0/0x114 [davinci_cpdma] [ 51.156560] [<bf026294>] cpsw_remove+0x48/0x8c [ti_cpsw] [ 51.162407] [<c03e62c8>] platform_drv_remove+0x18/0x1c [ 51.168063] [<c03e4c44>] __device_release_driver+0x70/0xc8 [ 51.174094] [<c03e5458>] driver_detach+0xb4/0xb8 [ 51.179212] [<c03e4a6c>] bus_remove_driver+0x4c/0x90 [ 51.184693] [<c00b024c>] SyS_delete_module+0x10c/0x198 [ 51.190355] [<c000e580>] ret_fast_syscall+0x0/0x48 [ 51.195661] [ 51.197217] the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock: [ 51.205986] -> (vmap_area_lock){+.+...} ops: 520 { [ 51.211032] HARDIRQ-ON-W at: [ 51.214321] [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 51.221090] [<c011376c>] alloc_vmap_area.isra.28+0xb8/0x300 [ 51.228750] [<c0113a44>] __get_vm_area_node.isra.29+0x90/0x134 [ 51.236690] [<c011486c>] get_vm_area_caller+0x3c/0x48 [ 51.243811] [<c0114be0>] vmap+0x40/0x78 [ 51.249654] [<c09442f0>] check_writebuffer_bugs+0x54/0x1a0 [ 51.257239] [<c093eac0>] start_kernel+0x320/0x388 [ 51.263994] [<80008074>] 0x80008074 [ 51.269474] SOFTIRQ-ON-W at: [ 51.272769] [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 51.279525] [<c011376c>] alloc_vmap_area.isra.28+0xb8/0x300 [ 51.287190] [<c0113a44>] __get_vm_area_node.isra.29+0x90/0x134 [ 51.295126] [<c011486c>] get_vm_area_caller+0x3c/0x48 [ 51.302245] [<c0114be0>] vmap+0x40/0x78 [ 51.308094] [<c09442f0>] check_writebuffer_bugs+0x54/0x1a0 [ 51.315669] [<c093eac0>] start_kernel+0x320/0x388 [ 51.322423] [<80008074>] 0x80008074 [ 51.327906] INITIAL USE at: [ 51.331112] [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 51.337775] [<c011376c>] alloc_vmap_area.isra.28+0xb8/0x300 [ 51.345352] [<c0113a44>] __get_vm_area_node.isra.29+0x90/0x134 [ 51.353197] [<c011486c>] get_vm_area_caller+0x3c/0x48 [ 51.360224] [<c0114be0>] vmap+0x40/0x78 [ 51.365977] [<c09442f0>] check_writebuffer_bugs+0x54/0x1a0 [ 51.373464] [<c093eac0>] start_kernel+0x320/0x388 [ 51.380131] [<80008074>] 0x80008074 [ 51.385517] } [ 51.387260] ... key at: [<c0a66948>] vmap_area_lock+0x10/0x20 [ 51.393841] ... acquired at: [ 51.396945] [<c00899ac>] lock_acquire+0x9c/0x104 [ 51.402060] [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 51.407266] [<c01127fc>] find_vmap_area+0x10/0x6c [ 51.412478] [<c0114960>] remove_vm_area+0x8/0x6c [ 51.417592] [<c0114a7c>] __vunmap+0x20/0xf8 [ 51.422252] [<c001c350>] __arm_iounmap+0x10/0x18 [ 51.427369] [<bf017d08>] cpdma_ctlr_destroy+0xf0/0x114 [davinci_cpdma] [ 51.434487] [<bf026294>] cpsw_remove+0x48/0x8c [ti_cpsw] [ 51.440336] [<c03e62c8>] platform_drv_remove+0x18/0x1c [ 51.446000] [<c03e4c44>] __device_release_driver+0x70/0xc8 [ 51.452031] [<c03e5458>] driver_detach+0xb4/0xb8 [ 51.457147] [<c03e4a6c>] bus_remove_driver+0x4c/0x90 [ 51.462628] [<c00b024c>] SyS_delete_module+0x10c/0x198 [ 51.468289] [<c000e580>] ret_fast_syscall+0x0/0x48 [ 51.473584] [ 51.475140] [ 51.475140] stack backtrace: [ 51.479703] CPU: 0 PID: 1921 Comm: modprobe Not tainted 3.14.19-02124-g95c5b7b #308 [ 51.487744] [<c0016090>] (unwind_backtrace) from [<c0012060>] (show_stack+0x10/0x14) [ 51.495865] [<c0012060>] (show_stack) from [<c0652a20>] (dump_stack+0x78/0x94) [ 51.503444] [<c0652a20>] (dump_stack) from [<c0086f18>] (check_usage+0x408/0x594) [ 51.511293] [<c0086f18>] (check_usage) from [<c00870f8>] (check_irq_usage+0x54/0xb0) [ 51.519416] [<c00870f8>] (check_irq_usage) from [<c0088724>] (__lock_acquire+0xe54/0x1b90) [ 51.528077] [<c0088724>] (__lock_acquire) from [<c00899ac>] (lock_acquire+0x9c/0x104) [ 51.536291] [<c00899ac>] (lock_acquire) from [<c06584e8>] (_raw_spin_lock+0x28/0x38) [ 51.544417] [<c06584e8>] (_raw_spin_lock) from [<c01127fc>] (find_vmap_area+0x10/0x6c) [ 51.552726] [<c01127fc>] (find_vmap_area) from [<c0114960>] (remove_vm_area+0x8/0x6c) [ 51.560935] [<c0114960>] (remove_vm_area) from [<c0114a7c>] (__vunmap+0x20/0xf8) [ 51.568693] [<c0114a7c>] (__vunmap) from [<c001c350>] (__arm_iounmap+0x10/0x18) [ 51.576362] [<c001c350>] (__arm_iounmap) from [<bf017d08>] (cpdma_ctlr_destroy+0xf0/0x114 [davinci_cpdma]) [ 51.586494] [<bf017d08>] (cpdma_ctlr_destroy [davinci_cpdma]) from [<bf026294>] (cpsw_remove+0x48/0x8c [ti_cpsw]) [ 51.597261] [<bf026294>] (cpsw_remove [ti_cpsw]) from [<c03e62c8>] (platform_drv_remove+0x18/0x1c) [ 51.606659] [<c03e62c8>] (platform_drv_remove) from [<c03e4c44>] (__device_release_driver+0x70/0xc8) [ 51.616237] [<c03e4c44>] (__device_release_driver) from [<c03e5458>] (driver_detach+0xb4/0xb8) [ 51.625264] [<c03e5458>] (driver_detach) from [<c03e4a6c>] (bus_remove_driver+0x4c/0x90) [ 51.633749] [<c03e4a6c>] (bus_remove_driver) from [<c00b024c>] (SyS_delete_module+0x10c/0x198) [ 51.642781] [<c00b024c>] (SyS_delete_module) from [<c000e580>] (ret_fast_syscall+0x0/0x48) Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff9538b1fce3a3af66578c072259dba7f7b4fe7a Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 13 22:21:05 2014 +0530 drivers: net: davinci_cpdma: remove kfree on objects allocated with devm_* apis memories allocated with devm_* apis must not be freed with kfree apis, so removing the kfree calls Fixes: e194312854ed ('drivers: net: davinci_cpdma: Convert kzalloc() to devm_kzalloc().') Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c7c9ea429ba30fe506747b7da110e2212d8fefa Author: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Date: Mon Oct 13 09:21:42 2014 -0700 tg3: Add skb->xmit_more support Ring TX doorbell only if xmit_more is not set or the queue is stopped. Suggested-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f76936d07c4eeb36d8dbb64ebd30ab46ff85d9f7 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Mon Oct 13 16:34:10 2014 +0200 ipv4: fix nexthop attlen check in fib_nh_match fib_nh_match does not match nexthops correctly. Example: ip route add 172.16.10/24 nexthop via 192.168.122.12 dev eth0 \ nexthop via 192.168.122.13 dev eth0 ip route del 172.16.10/24 nexthop via 192.168.122.14 dev eth0 \ nexthop via 192.168.122.15 dev eth0 Del command is successful and route is removed. After this patch applied, the route is correctly matched and result is: RTNETLINK answers: No such process Please consider this for stable trees as well. Fixes: 4e902c57417c4 ("[IPv4]: FIB configuration using struct fib_config") Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad971f616aa98ea2503f1a1064637bfb4ef7b21e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Oct 11 15:17:29 2014 -0700 tcp: fix tcp_ack() performance problem We worked hard to improve tcp_ack() performance, by not accessing skb_shinfo() in fast path (cd7d8498c9a5 tcp: change tcp_skb_pcount() location) We still have one spurious access because of ACK timestamping, added in commit e1c8a607b281 ("net-timestamp: ACK timestamp for bytestreams") By checking if sk_tsflags has SOF_TIMESTAMPING_TX_ACK set, we can avoid two cache line misses for the common case. While we are at it, add two prefetchw() : One in tcp_ack() to bring skb at the head of write queue. One in tcp_clean_rtx_queue() loop to bring following skb, as we will delete skb from the write queue and dirty skb->next->prev. Add a couple of [un]likely() clauses. After this patch, tcp_ack() is no longer the most consuming function in tcp stack. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Van Jacobson <vanj@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0bc62284ee3f2a228c64902ed818b6ba8e04159b Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Oct 14 15:38:01 2014 +0800 ceph: fix divide-by-zero in __validate_layout() The 'stripe_unit' field is 64 bits, casting it to 32 bits can result zero. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 792c3a914910bd34302c5345578f85cfcb5e2c01 Author: Ilya Dryomov <idryomov@xxxxxxxxxx> Date: Fri Oct 10 18:36:07 2014 +0400 rbd: rbd workqueues need a resque worker Need to use WQ_MEM_RECLAIM for our workqueues to prevent I/O lockups under memory pressure - we sit on the memory reclaim path. Cc: stable@xxxxxxxxxxxxxxx # 3.17, needs backporting for 3.16 Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> Tested-by: Micha Krause <micha@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit f9865f06f7f18c6661c88d0511f05c48612319cc Author: Ilya Dryomov <idryomov@xxxxxxxxxx> Date: Fri Oct 10 16:39:05 2014 +0400 libceph: ceph-msgr workqueue needs a resque worker Commit f363e45fd118 ("net/ceph: make ceph_msgr_wq non-reentrant") effectively removed WQ_MEM_RECLAIM flag from ceph_msgr_wq. This is wrong - libceph is very much a memory reclaim path, so restore it. Cc: stable@xxxxxxxxxxxxxxx # needs backporting for < 3.12 Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> Tested-by: Micha Krause <micha@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit ab6c2c3ebe1d4fddc1f9ae29810799419be950c0 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Oct 9 23:16:35 2014 +0200 ceph: fix bool assignments Fix some coccinelle warnings: fs/ceph/caps.c:2400:6-10: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2401:6-15: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2402:6-17: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2403:6-22: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2404:6-22: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2405:6-19: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2440:4-20: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2469:3-16: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2490:2-18: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2519:3-7: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2549:3-12: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2575:2-6: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2589:3-7: WARNING: Assignment of bool to 0/1 Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> commit 25f897773ba4ddc3dd9f8eabf358cfaefb23b8ae Author: Ilya Dryomov <idryomov@xxxxxxxxxx> Date: Mon Oct 6 18:40:27 2014 +0400 libceph: separate multiple ops with commas in debugfs output For requests with multiple ops, separate ops with commas instead of \t, which is a field separator here. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit 70b5bfa360aea4157b45c2863746ca67896c6ef1 Author: Ilya Dryomov <idryomov@xxxxxxxxxx> Date: Thu Oct 2 17:22:29 2014 +0400 libceph: sync osd op definitions in rados.h Bring in missing osd ops and strings, use macros to eliminate multiple points of maintenance. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit eb179d3975c804ad98eaa403425eb6e48cfd3cc2 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 30 22:07:50 2014 +0200 libceph: remove redundant declaration ceph_release_page_vector was defined twice in libceph.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> commit 14ed97033dac4cc5fd516bfe3e37d2fc74804684 Author: John Spray <john.spray@xxxxxxxxxx> Date: Fri Sep 12 16:58:49 2014 +0100 ceph: additional debugfs output MDS session state and client global ID is useful instrumentation when testing. Signed-off-by: John Spray <john.spray@xxxxxxxxxx> commit a687ecaf50f18329206c6b78764a8c7bd30a9df0 Author: John Spray <john.spray@xxxxxxxxxx> Date: Fri Sep 19 13:51:08 2014 +0100 ceph: export ceph_session_state_name function ...so that it can be used from the ceph debugfs code when dumping session info. Signed-off-by: John Spray <john.spray@xxxxxxxxxx> commit b1ee94aa593abd03634bc3887b8e189840e42c12 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Sep 16 20:35:17 2014 +0800 ceph: include the initial ACL in create/mkdir/mknod MDS requests Current code set new file/directory's initial ACL in a non-atomic manner. Client first sends request to MDS to create new file/directory, then set the initial ACL after the new file/directory is successfully created. The fix is include the initial ACL in create/mkdir/mknod MDS requests. So MDS can handle creating file/directory and setting the initial ACL in one request. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit 25e6bae356502cde283f1804111b44e6fad20fc2 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Sep 16 19:15:28 2014 +0800 ceph: use pagelist to present MDS request data Current code uses page array to present MDS request data. Pages in the array are allocated/freed by caller of ceph_mdsc_do_request(). If request is interrupted, the pages can be freed while they are still being used by the request message. The fix is use pagelist to present MDS request data. Pagelist is reference counted. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit e4339d28f640a7c0d92903bcf389a2dfa281270d Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Sep 16 17:50:45 2014 +0800 libceph: reference counting pagelist this allow pagelist to present data that may be sent multiple times. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit 0abb43dcacb52145aa265f82c914375d59dfe2da Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Thu Sep 18 16:11:12 2014 +0800 ceph: fix llistxattr on symlink only regular file and directory have vxattrs. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit dbd0c8bf79b2c73d11d47bdf2496e7ebf0948f02 Author: John Spray <john.spray@xxxxxxxxxx> Date: Tue Sep 9 19:26:01 2014 +0100 ceph: send client metadata to MDS Implement version 2 of CEPH_MSG_CLIENT_SESSION syntax, which includes additional client metadata to allow the MDS to report on clients by user-sensible names like hostname. Signed-off-by: John Spray <john.spray@xxxxxxxxxx> Reviewed-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 14cee8e377c09dc887047b3a322c71f45de7f0c0 Merge: f787d6c 86f8ef2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 15:05:39 2014 -0400 Merge branch 'isdn' Tilman Schmidt says: ==================== Coverity patches for drivers/isdn Here's a series of patches for the ISDN CAPI subsystem and the Gigaset ISDN driver. Patches 1 to 7 are specific fixes for Coverity warnings. Patches 8 to 11 fix related problems with the handling of invalid CAPI command codes I noticed while working on this. Patch 12 fixes an unrelated problem I noticed during the subsequent regression tests. It would be great if these could still be merged. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86f8ef2c4802ac9dbe0c8c1c12670bd915a13013 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/gigaset: fix usb_gigaset write_cmd result race In usb_gigaset function gigaset_write_cmd(), the length field of the command buffer structure could be cleared by the transmit tasklet before it was used for the function's return value. Fix by copying to a local variable before scheduling the tasklet. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 340184b35ac8786bdb574d2c8ce8e4f1269ec4da Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: don't return NULL from capi_cmd2str() capi_cmd2str() is used in many places to build log messages. None of them is prepared to handle NULL as a result. Change the function to return printable string "INVALID_COMMAND" instead. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2bf3a09ea51f807d78d48d0ebc591b9e1502a743 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: handle CAPI 2.0 message parser failures Have callers of capi_cmsg2message and capi_message2cmsg handle non-zero return values indicating failure. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5510ab18048397193ae073d6b0d4ea78ff0170f5 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: prevent NULL pointer dereference on invalid CAPI command An invalid CAPI 2.0 command/subcommand combination may retrieve a NULL pointer from the cpars[] array which will later be dereferenced by the parser routines. Fix by adding NULL pointer checks in strategic places. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 854d23b77aa25b203c7af11de885c3b8b3834c20 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: refactor command/subcommand table accesses Encapsulate accesses to the CAPI 2.0 command/subcommand name and parameter tables in a single place in preparation for redesign. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5362247a42e18ef74e698bb23575c272f8e35375 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: prevent index overrun from command_2_index() The result of the function command_2_index() is used to index two arrays mnames[] and cpars[] with max. index 0x4e but in its current form that function can produce results up to 3*(0x9+0x9)+0x7f = 0xb5. Fix by clamping all result values potentially overrunning the arrays to zero which is already handled as an invalid value. Re-spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ea8aa8d5087529210553114b7bc4bf4374ace8f Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: correct capi20_manufacturer argument type mismatch Function capi20_manufacturer() is declared with unsigned int cmd argument but called with unsigned long. Fix by correcting the function prototype since the actual argument is part of the user visible API. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8324f94202af7dc688576259803a2ef9a98d655 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/gigaset: fix non-heap pointer deallocation at_state structures may be allocated individually or as part of a cardstate or bc_state structure. The disconnect() function handled both cases, creating a risk that it might try to deallocate an at_state structure that had not been allocated individually. Fix by splitting disconnect() into two variants handling cases with and without an associated B channel separately, and adding an explicit check. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 846ac30135e7c5e03b487c16c87ccb1ab020a01f Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:29 2014 +0200 isdn/gigaset: fix NULL pointer dereference In do_action, a NULL pointer might be passed to function start_dial which will dereference it. Fix by adding a check for NULL before the call. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 097933ddcd28ef99c116651b20fd2e06717e0f0d Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:29 2014 +0200 isdn/gigaset: limit raw CAPI message dump length In dump_rawmsg, the length field from a received data package was used unscrutinized, allowing an attacker to control the size of the allocated buffer and the number of times the output loop iterates. Fix by limiting to a reasonable value. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee7ff5fed25711a26da7826071e6ede8af049ad2 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:29 2014 +0200 isdn/gigaset: make sure controller name is null terminated In gigaset_isdn_regdev, the name field may not have a null terminator if the source string's length is equal to the buffer size. Fix by zero filling the structure and excluding the last byte of the name field from the copy. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bdc07ebabefd19b56d1d36584a401ff6085fa71 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:29 2014 +0200 isdn/gigaset: missing break in do_facility_req If we take the unsupported supplementary service notification mask path, we end up falling through and overwriting the error code. Insert a break statement to skip the remainder of the switch case and proceed to sending the reply message. Spotted with Coverity. Reported-by: Dave Jones <davej@xxxxxxxxxx> Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f787d6c8dd52ded9874cbbc447a32515c80fa2bf Merge: 02ea807 278d240 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 14:45:17 2014 -0400 Merge branch 'fec-ptp' Luwei Zhou says: ==================== Enable FEC pps feather Change from v2 to v3: -Using the default channel 0 to be PPS channel not PTP_PIN_SET/GETFUNC interface. -Using the linux definition of NSEC_PER_SEC. Change from v1 to v2: - Fix the potential 32-bit multiplication overflow issue. - Optimize the hareware adjustment code to improve efficiency as Richard suggested - Use ptp PTP_PIN_SET/GETFUNC interface to set PPS channel not device tree and add PTP_PF_PPS enumeration - Modify comments style ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 278d24047891a1bf4a98128eaa8ecafd019e58c2 Author: Luwei Zhou <b45643@xxxxxxxxxxxxx> Date: Fri Oct 10 13:15:30 2014 +0800 net: fec: ptp: Enable PPS output based on ptp clock FEC ptp timer has 4 channel compare/trigger function. It can be used to enable pps output. The pulse would be ouput high exactly on N second. The pulse ouput high on compare event mode is used to produce pulse per second. The pulse width would be one cycle based on ptp timer clock source.Since 31-bit ptp hardware timer is used, the timer will wrap more than 2 seconds. We need to reload the compare compare event about every 1 second. Signed-off-by: Luwei Zhou <b45643@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89bddcda7e4f4ff2586e736427405115c362bed4 Author: Luwei Zhou <b45643@xxxxxxxxxxxxx> Date: Fri Oct 10 13:15:29 2014 +0800 net: fec: ptp: Use hardware algorithm to adjust PTP counter. The FEC IP supports hardware adjustment for ptp timer. Refer to the description of ENET_ATCOR and ENET_ATINC registers in the spec about the hardware adjustment. This patch uses hardware support to adjust the ptp offset and frequency on the slave side. Signed-off-by: Luwei Zhou <b45643@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Fugang Duan <b38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f28460b229919387b2f97f3a688d0dd86cc819c9 Author: Luwei Zhou <b45643@xxxxxxxxxxxxx> Date: Fri Oct 10 13:15:28 2014 +0800 net: fec: ptp: Use the 31-bit ptp timer. When ptp switches from software adjustment to hardware ajustment, linux ptp can't converge. It is caused by the IP limit. Hardware adjustment logcial have issue when ptp counter runs over 0x80000000(31 bit counter). The internal IP reference manual already remove 32bit free-running count support. This patch replace the 32-bit PTP timer with 31-bit. Signed-off-by: Luwei Zhou <b45643@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02ea80741a25435123e8a5ca40cac6a0bcf0c9f1 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sat Oct 11 13:03:34 2014 +0800 ipv6: remove aca_lock spinlock from struct ifacaddr6 no user uses this lock. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0ee9c12157dc74e49e4731e0d07512e7d1ceb95 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Oct 10 20:30:23 2014 -0700 x86: bpf_jit: fix two bugs in eBPF JIT compiler 1. JIT compiler using multi-pass approach to converge to final image size, since x86 instructions are variable length. It starts with large gaps between instructions (so some jumps may use imm32 instead of imm8) and iterates until total program size is the same as in previous pass. This algorithm works only if program size is strictly decreasing. Programs that use LD_ABS insn need additional code in prologue, but it was not emitted during 1st pass, so there was a chance that 2nd pass would adjust imm32->imm8 jump offsets to the same number of bytes as increase in prologue, which may cause algorithm to erroneously decide that size converged. Fix it by always emitting largest prologue in the first pass which is detected by oldproglen==0 check. Also change error check condition 'proglen != oldproglen' to fail gracefully. 2. while staring at the code realized that 64-byte buffer may not be enough when 1st insn is large, so increase it to 128 to avoid buffer overflow (theoretical maximum size of prologue+div is 109) and add runtime check. Fixes: 622582786c9e ("net: filter: x86: internal BPF JIT") Reported-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Tested-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2532eb9abd88384aa586169b54a3e53574f29f8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 18:06:35 2014 -0700 tcp: fix ooo_okay setting vs Small Queues TCP Small Queues (tcp_tsq_handler()) can hold one reference on sk->sk_wmem_alloc, preventing skb->ooo_okay being set. We should relax test done to set skb->ooo_okay to take care of this extra reference. Minimal truesize of skb containing one byte of payload is SKB_TRUESIZE(1) Without this fix, we have more chance locking flows into the wrong transmit queue. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31eff81e94472ddb7549509bf4b6e93e1f6f7dc9 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Oct 10 23:10:47 2014 +0200 skbuff: fix ftrace handling in skb_unshare If the skb is not dropped afterwards we should run consume_skb instead kfree_skb. Inside of function skb_unshare we do always a kfree_skb, doesn't depend if skb_copy failed or was successful. This patch switch this behaviour like skb_share_check, if allocation of sk_buff failed we use kfree_skb otherwise consume_skb. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c2b2f0cb9388df8aa8b5036cf18060ac77e6d94 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Oct 10 14:30:52 2014 -0700 fm10k: Add skb->xmit_more support This change adds support for skb->xmit_more based on the changes that were made to igb to support the feature. The main changes are moving up the check for maybe_stop_tx so that we can check netif_xmit_stopped to determine if we must write the tail because we can add no further buffers. Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4483e8a424d76bc1dfacdd94e739fba29d7f83f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Sep 17 17:26:06 2014 +0800 ceph: remove redundant code for max file size verification Both ceph_update_writeable_page and ceph_setattr will verify file size with max size ceph supported. There are two caller for ceph_update_writeable_page, ceph_write_begin and ceph_page_mkwrite. For ceph_write_begin, we have already verified the size in generic_write_checks of ceph_write_iter; for ceph_page_mkwrite, we have no chance to change file size when mmap. Likewise we have already verified the size in inode_change_ok when we call ceph_setattr. So let's remove the redundant code for max file size verification. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Reviewed-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 3b70b388e3378d0b7272d649bb91451a6de4e924 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Sep 17 14:44:51 2014 +0800 ceph: remove redundant io_iter_advance() ceph_sync_read and generic_file_read_iter() have already advanced the IO iterator. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 6cd3bcad0d269f96667ea704d4f6459a5c6ccbab Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Sep 17 07:45:12 2014 +0800 ceph: move ceph_find_inode() outside the s_mutex ceph_find_inode() may wait on freeing inode, using it inside the s_mutex may cause deadlock. (the freeing inode is waiting for OSD read reply, but dispatch thread is blocked by the s_mutex) Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit 508b32d8661b12da4c9ca41a9b2054e1dc92fa7e Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Sep 16 21:46:17 2014 +0800 ceph: request xattrs if xattr_version is zero Following sequence of events can happen. - Client releases an inode, queues cap release message. - A 'lookup' reply brings the same inode back, but the reply doesn't contain xattrs because MDS didn't receive the cap release message and thought client already has up-to-data xattrs. The fix is force sending a getattr request to MDS if xattrs_version is 0. The getattr mask is set to CEPH_STAT_CAP_XATTR, so MDS knows client does not have xattr. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit b76f82398c1017e303d87760e22125714010207f Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Mon Apr 7 16:52:03 2014 -0700 rbd: set the remaining discard properties to enable support max_discard_sectors must be set for the queue to support discard. Operations implementing discard for rbd zero data, so report that. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit d3246fb0da5d70838469c01d5b6b11163b49cd86 Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Mon Apr 7 16:49:21 2014 -0700 rbd: use helpers to handle discard for layered images correctly Only allocate two osd ops for discard requests, since the preallocation hint is only added for regular writes. Use rbd_img_obj_request_fill() to recreate the original write or discard osd operations, isolating that logic to one place, and change the assert in rbd_osd_req_create_copyup() to accept discard requests as well. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit 3b434a2aff38029ea053ce6c8fced53b2d01f7f0 Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Fri Apr 4 17:32:15 2014 -0700 rbd: extract a method for adding object operations rbd_img_request_fill() creates a ceph_osd_request and has logic for adding the appropriate osd ops to it based on the request type and image properties. For layered images, the original rbd_obj_request is resent with a copyup operation in front, using a new ceph_osd_request. The logic for adding the original operations should be the same as when first sending them, so move it to a helper function. op_type only needs to be checked once, so create a helper for that as well and call it outside the loop in rbd_img_request_fill(). Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit 1c220881e307b62cc2f77d911219de332aa3f61e Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Fri Apr 4 17:49:12 2014 -0700 rbd: make discard trigger copy-on-write Discard requests are a form of write, so they should go through the same process as plain write requests and trigger copy-on-write for layered images. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit d0265de7c358d71a494dcd1ee28206b32754bb0f Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Mon Apr 7 16:54:10 2014 -0700 rbd: tolerate -ENOENT for discard operations Discard may try to delete an object from a non-layered image that does not exist. If this occurs, the image already has no data in that range, so change the result to success. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit bef95455a44e2533fcea376740bb1a5cbd71269f Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Fri Apr 4 17:47:52 2014 -0700 rbd: fix snapshot context reference count for discards Discards take a reference to the snapshot context of an image when they are created. This reference needs to be cleaned up when the request is done just as it is for regular writes. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit 3c5df89367761d09d76454a2c4301a73bf2d46ce Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Fri Apr 4 12:06:32 2014 -0700 rbd: read image size for discard check safely In rbd_img_request_fill() the image size is only checked to determine whether we can truncate an object instead of zeroing it for discard requests. Take rbd_dev->header_rwsem while reading the image size, and move this read into the discard check, so that non-discard ops don't need to take the semaphore in this function. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit 90e98c5229c0adfadf2c2ad2c91d72902bf61bc4 Author: Guangliang Zhao <lucienchao@xxxxxxxxx> Date: Tue Apr 1 22:22:16 2014 +0800 rbd: initial discard bits from Guangliang Zhao This patch add the discard support for rbd driver. There are three types operation in the driver: 1. The objects would be removed if they completely contained within the discard range. 2. The objects would be truncated if they partly contained within the discard range, and align with their boundary. 3. Others would be zeroed. A discard request from blkdev_issue_discard() is defined which REQ_WRITE and REQ_DISCARD both marked and no data, so we must check the REQ_DISCARD first when getting the request type. This resolve: http://tracker.ceph.com/issues/190 [ Ilya Dryomov: This is incomplete and somewhat buggy, see follow up commits by Josh Durgin for refinements and fixes which weren't folded in to preserve authorship. ] Signed-off-by: Guangliang Zhao <lucienchao@xxxxxxxxx> Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 6d2940c881aeb9f46baac548dc4e906a53957dba Author: Guangliang Zhao <lucienchao@xxxxxxxxx> Date: Thu Mar 13 11:21:35 2014 +0800 rbd: extend the operation type It could only handle the read and write operations now, extend it for the coming discard support. Signed-off-by: Guangliang Zhao <lucienchao@xxxxxxxxx> Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit c622d226155b12276ae3d29d546f4b314d7cd68c Author: Guangliang Zhao <lucienchao@xxxxxxxxx> Date: Tue Apr 1 22:22:15 2014 +0800 rbd: skip the copyup when an entire object writing It need to copyup the parent's content when layered writing, but an entire object write would overwrite it, so skip it. Signed-off-by: Guangliang Zhao <lucienchao@xxxxxxxxx> Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 70d045f660c7331bce8c9377929b52a9738a12cb Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Fri Sep 12 16:02:01 2014 +0400 rbd: add img_obj_request_simple() helper To clarify the conditions and make it easier to add new ones. Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> commit 4e752f0ab0e8114f4edd7574081dc625d679dd15 Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Tue Apr 8 11:12:11 2014 -0700 rbd: access snapshot context and mapping size safely These fields may both change while the image is mapped if a snapshot is created or deleted or the image is resized. They are guarded by rbd_dev->header_rwsem, so hold that while reading them, and store a local copy to refer to outside of the critical section. The local copy will stay consistent since the snapshot context is reference counted, and the mapping size is just a u64. This prevents torn loads from giving us inconsistent values. Move reading header.snapc into the caller of rbd_img_request_create() so that we only need to take the semaphore once. The read-only caller, rbd_parent_request_create() can just pass NULL for snapc, since the snapshot context is only relevant for writes. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit 7dd440c9e0711d828442c3e129ab8bcb9aeeac23 Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Thu Sep 11 18:49:18 2014 +0400 rbd: do not return -ERANGE on auth failures Trying to map an image out of a pool for which we don't have an 'x' permission bit fails with -ERANGE from ceph_extract_encoded_string() due to an unsigned vs signed bug. Fix it and get rid of the -EINVAL sink, thus propagating rbd::get_id cls method errors. (I've seen a bunch of unexplained -ERANGE reports, I bet this is it). Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 91883cd27c4e2523dd53e2bd6f71a1c5e0be5a38 Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Thu Sep 11 12:18:53 2014 +0400 libceph: don't try checking queue_work() return value queue_work() doesn't "fail to queue", it returns false if work was already on a queue, which can't happen here since we allocate event_work right before we queue it. So don't bother at all. Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 03974e8177b36d672eb59658f976f03cb77c1129 Author: Yan, Zheng <ukernel@xxxxxxxxx> Date: Thu Sep 11 14:28:56 2014 +0800 ceph: make sure request isn't in any waiting list when kicking request. we may corrupt waiting list if a request in the waiting list is kicked. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit 656e4382948d4b2c81bdaf707f1400f53eff2625 Author: Yan, Zheng <ukernel@xxxxxxxxx> Date: Thu Sep 11 14:25:18 2014 +0800 ceph: protect kick_requests() with mdsc->mutex Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit b9a678994b4a64b1106ab2cf7cfe7cbc10bb6f40 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 21:17:29 2014 -0700 libceph: Convert pr_warning to pr_warn Use the more common pr_warn. Other miscellanea: o Coalesce formats o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> commit 5d23371fdb7dc03fa6fe054da3467efb0d347945 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Sep 10 16:56:23 2014 +0800 ceph: trim unused inodes before reconnecting to recovering MDS So the recovering MDS does not need to fetch these ununsed inodes during cache rejoin. This may reduce MDS recovery time. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 589506f1e7f135943bcd34903bcdcf1fdaf00549 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sun Sep 7 18:10:51 2014 +0800 libceph: fix a use after free issue in osdmap_set_max_osd If the state variable is krealloced successfully, map->osd_state will be freed, once following two reallocation failed, and exit the function without resetting map->osd_state, map->osd_state become a wild pointer. fix it by resetting them after krealloc successfully. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> commit dc220db03f15c9875aa09c36beba582f20c76be1 Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Fri Sep 5 20:16:52 2014 +0400 libceph: select CRYPTO_CBC in addition to CRYPTO_AES We want "cbc(aes)" algorithm, so select CRYPTO_CBC too, not just CRYPTO_AES. Otherwise on !CRYPTO_CBC kernels we fail rbd map/mount with libceph: error -2 building auth method x request Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> commit 2cc6128ab2afff7864dbdc33a73e2deaa935d9e0 Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Wed Sep 3 14:41:45 2014 +0400 libceph: resend lingering requests with a new tid Both not yet registered (r_linger && list_empty(&r_linger_item)) and registered linger requests should use the new tid on resend to avoid the dup op detection logic on the OSDs, yet we were doing this only for "registered" case. Factor out and simplify the "registered" logic and use the new helper for "not registered" case as well. Fixes: http://tracker.ceph.com/issues/8806 Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit f671b581f1dac61354186b7373af5f97fe420584 Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Tue Sep 2 13:40:33 2014 +0400 libceph: abstract out ceph_osd_request enqueue logic Introduce __enqueue_request() and switch to it. Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 5bc26726ada73264c0fd7b93ccbe7d9e78b2b2d2 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Mon Oct 13 10:53:48 2014 +0800 net: fec: Fix sparse warnings with different lock contexts for basic block reproduce: make ARCH=arm C=1 2>fec.txt drivers/net/ethernet/freescale/fec_main.o cat fec.txt sparse warnings: drivers/net/ethernet/freescale/fec_main.c:2916:12: warning: context imbalance in 'fec_set_features' - different lock contexts for basic block Christopher Li suggest to change as below: if (need_lock) { lock(); do_something_real(); unlock(); } else { do_something_real(); } Reported-by: Fabio Estevam <festevam@xxxxxxxxx> Suggested-by: Christopher Li <sparse@xxxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c53fed07a03d8b2a2e3bdaba87768211fa55806c Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 10:08:42 2014 -0500 MAINTAINERS: Update contact information for Vince Bridgers Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b27fa9939d50b0302888849c62ecae7b9cb85dc5 Merge: b838b4a 26b87c7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 12:46:29 2014 -0400 Merge branch 'sctp' Daniel Borkmann says: ==================== Here are some SCTP fixes. [ Note, immediate workaround would be to disable ASCONF (it is sysctl disabled by default). It is actually only used together with chunk authentication. ] ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26b87c7881006311828bb0ab271a551a62dcceb4 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Thu Oct 9 22:55:33 2014 +0200 net: sctp: fix remote memory pressure from excessive queueing This scenario is not limited to ASCONF, just taken as one example triggering the issue. When receiving ASCONF probes in the form of ... -------------- INIT[ASCONF; ASCONF_ACK] -------------> <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------ -------------------- COOKIE-ECHO --------------------> <-------------------- COOKIE-ACK --------------------- ---- ASCONF_a; [ASCONF_b; ...; ASCONF_n;] JUNK ------> [...] ---- ASCONF_m; [ASCONF_o; ...; ASCONF_z;] JUNK ------> ... where ASCONF_a, ASCONF_b, ..., ASCONF_z are good-formed ASCONFs and have increasing serial numbers, we process such ASCONF chunk(s) marked with !end_of_packet and !singleton, since we have not yet reached the SCTP packet end. SCTP does only do verification on a chunk by chunk basis, as an SCTP packet is nothing more than just a container of a stream of chunks which it eats up one by one. We could run into the case that we receive a packet with a malformed tail, above marked as trailing JUNK. All previous chunks are here goodformed, so the stack will eat up all previous chunks up to this point. In case JUNK does not fit into a chunk header and there are no more other chunks in the input queue, or in case JUNK contains a garbage chunk header, but the encoded chunk length would exceed the skb tail, or we came here from an entirely different scenario and the chunk has pdiscard=1 mark (without having had a flush point), it will happen, that we will excessively queue up the association's output queue (a correct final chunk may then turn it into a response flood when flushing the queue ;)): I ran a simple script with incremental ASCONF serial numbers and could see the server side consuming excessive amount of RAM [before/after: up to 2GB and more]. The issue at heart is that the chunk train basically ends with !end_of_packet and !singleton markers and since commit 2e3216cd54b1 ("sctp: Follow security requirement of responding with 1 packet") therefore preventing an output queue flush point in sctp_do_sm() -> sctp_cmd_interpreter() on the input chunk (chunk = event_arg) even though local_cork is set, but its precedence has changed since then. In the normal case, the last chunk with end_of_packet=1 would trigger the queue flush to accommodate possible outgoing bundling. In the input queue, sctp_inq_pop() seems to do the right thing in terms of discarding invalid chunks. So, above JUNK will not enter the state machine and instead be released and exit the sctp_assoc_bh_rcv() chunk processing loop. It's simply the flush point being missing at loop exit. Adding a try-flush approach on the output queue might not work as the underlying infrastructure might be long gone at this point due to the side-effect interpreter run. One possibility, albeit a bit of a kludge, would be to defer invalid chunk freeing into the state machine in order to possibly trigger packet discards and thus indirectly a queue flush on error. It would surely be better to discard chunks as in the current, perhaps better controlled environment, but going back and forth, it's simply architecturally not possible. I tried various trailing JUNK attack cases and it seems to look good now. Joint work with Vlad Yasevich. Fixes: 2e3216cd54b1 ("sctp: Follow security requirement of responding with 1 packet") Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b69040d8e39f20d5215a03502a8e8b4c6ab78395 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Thu Oct 9 22:55:32 2014 +0200 net: sctp: fix panic on duplicate ASCONF chunks When receiving a e.g. semi-good formed connection scan in the form of ... -------------- INIT[ASCONF; ASCONF_ACK] -------------> <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------ -------------------- COOKIE-ECHO --------------------> <-------------------- COOKIE-ACK --------------------- ---------------- ASCONF_a; ASCONF_b -----------------> ... where ASCONF_a equals ASCONF_b chunk (at least both serials need to be equal), we panic an SCTP server! The problem is that good-formed ASCONF chunks that we reply with ASCONF_ACK chunks are cached per serial. Thus, when we receive a same ASCONF chunk twice (e.g. through a lost ASCONF_ACK), we do not need to process them again on the server side (that was the idea, also proposed in the RFC). Instead, we know it was cached and we just resend the cached chunk instead. So far, so good. Where things get nasty is in SCTP's side effect interpreter, that is, sctp_cmd_interpreter(): While incoming ASCONF_a (chunk = event_arg) is being marked !end_of_packet and !singleton, and we have an association context, we do not flush the outqueue the first time after processing the ASCONF_ACK singleton chunk via SCTP_CMD_REPLY. Instead, we keep it queued up, although we set local_cork to 1. Commit 2e3216cd54b1 changed the precedence, so that as long as we get bundled, incoming chunks we try possible bundling on outgoing queue as well. Before this commit, we would just flush the output queue. Now, while ASCONF_a's ASCONF_ACK sits in the corked outq, we continue to process the same ASCONF_b chunk from the packet. As we have cached the previous ASCONF_ACK, we find it, grab it and do another SCTP_CMD_REPLY command on it. So, effectively, we rip the chunk->list pointers and requeue the same ASCONF_ACK chunk another time. Since we process ASCONF_b, it's correctly marked with end_of_packet and we enforce an uncork, and thus flush, thus crashing the kernel. Fix it by testing if the ASCONF_ACK is currently pending and if that is the case, do not requeue it. When flushing the output queue we may relink the chunk for preparing an outgoing packet, but eventually unlink it when it's copied into the skb right before transmission. Joint work with Vlad Yasevich. Fixes: 2e3216cd54b1 ("sctp: Follow security requirement of responding with 1 packet") Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9de7922bc709eee2f609cd01d98aaedc4cf5ea74 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Thu Oct 9 22:55:31 2014 +0200 net: sctp: fix skb_over_panic when receiving malformed ASCONF chunks Commit 6f4c618ddb0 ("SCTP : Add paramters validity check for ASCONF chunk") added basic verification of ASCONF chunks, however, it is still possible to remotely crash a server by sending a special crafted ASCONF chunk, even up to pre 2.6.12 kernels: skb_over_panic: text:ffffffffa01ea1c3 len:31056 put:30768 head:ffff88011bd81800 data:ffff88011bd81800 tail:0x7950 end:0x440 dev:<NULL> ------------[ cut here ]------------ kernel BUG at net/core/skbuff.c:129! [...] Call Trace: <IRQ> [<ffffffff8144fb1c>] skb_put+0x5c/0x70 [<ffffffffa01ea1c3>] sctp_addto_chunk+0x63/0xd0 [sctp] [<ffffffffa01eadaf>] sctp_process_asconf+0x1af/0x540 [sctp] [<ffffffff8152d025>] ? _read_unlock_bh+0x15/0x20 [<ffffffffa01e0038>] sctp_sf_do_asconf+0x168/0x240 [sctp] [<ffffffffa01e3751>] sctp_do_sm+0x71/0x1210 [sctp] [<ffffffff8147645d>] ? fib_rules_lookup+0xad/0xf0 [<ffffffffa01e6b22>] ? sctp_cmp_addr_exact+0x32/0x40 [sctp] [<ffffffffa01e8393>] sctp_assoc_bh_rcv+0xd3/0x180 [sctp] [<ffffffffa01ee986>] sctp_inq_push+0x56/0x80 [sctp] [<ffffffffa01fcc42>] sctp_rcv+0x982/0xa10 [sctp] [<ffffffffa01d5123>] ? ipt_local_in_hook+0x23/0x28 [iptable_filter] [<ffffffff8148bdc9>] ? nf_iterate+0x69/0xb0 [<ffffffff81496d10>] ? ip_local_deliver_finish+0x0/0x2d0 [<ffffffff8148bf86>] ? nf_hook_slow+0x76/0x120 [<ffffffff81496d10>] ? ip_local_deliver_finish+0x0/0x2d0 [<ffffffff81496ded>] ip_local_deliver_finish+0xdd/0x2d0 [<ffffffff81497078>] ip_local_deliver+0x98/0xa0 [<ffffffff8149653d>] ip_rcv_finish+0x12d/0x440 [<ffffffff81496ac5>] ip_rcv+0x275/0x350 [<ffffffff8145c88b>] __netif_receive_skb+0x4ab/0x750 [<ffffffff81460588>] netif_receive_skb+0x58/0x60 This can be triggered e.g., through a simple scripted nmap connection scan injecting the chunk after the handshake, for example, ... -------------- INIT[ASCONF; ASCONF_ACK] -------------> <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------ -------------------- COOKIE-ECHO --------------------> <-------------------- COOKIE-ACK --------------------- ------------------ ASCONF; UNKNOWN ------------------> ... where ASCONF chunk of length 280 contains 2 parameters ... 1) Add IP address parameter (param length: 16) 2) Add/del IP address parameter (param length: 255) ... followed by an UNKNOWN chunk of e.g. 4 bytes. Here, the Address Parameter in the ASCONF chunk is even missing, too. This is just an example and similarly-crafted ASCONF chunks could be used just as well. The ASCONF chunk passes through sctp_verify_asconf() as all parameters passed sanity checks, and after walking, we ended up successfully at the chunk end boundary, and thus may invoke sctp_process_asconf(). Parameter walking is done with WORD_ROUND() to take padding into account. In sctp_process_asconf()'s TLV processing, we may fail in sctp_process_asconf_param() e.g., due to removal of the IP address that is also the source address of the packet containing the ASCONF chunk, and thus we need to add all TLVs after the failure to our ASCONF response to remote via helper function sctp_add_asconf_response(), which basically invokes a sctp_addto_chunk() adding the error parameters to the given skb. When walking to the next parameter this time, we proceed with ... length = ntohs(asconf_param->param_hdr.length); asconf_param = (void *)asconf_param + length; ... instead of the WORD_ROUND()'ed length, thus resulting here in an off-by-one that leads to reading the follow-up garbage parameter length of 12336, and thus throwing an skb_over_panic for the reply when trying to sctp_addto_chunk() next time, which implicitly calls the skb_put() with that length. Fix it by using sctp_walk_params() [ which is also used in INIT parameter processing ] macro in the verification *and* in ASCONF processing: it will make sure we don't spill over, that we walk parameters WORD_ROUND()'ed. Moreover, we're being more defensive and guard against unknown parameter types and missized addresses. Joint work with Vlad Yasevich. Fixes: b896b82be4ae ("[SCTP] ADDIP: Support for processing incoming ASCONF_ACK chunks.") Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b838b4aced99e0d31a272396d43d9ca21cb078cb Author: Bruno Thomsen <bth@xxxxxxxxxxx> Date: Thu Oct 9 16:48:14 2014 +0200 phy/micrel: KSZ8031RNL RMII clock reconfiguration bug Bug: Unable to send and receive Ethernet packets with Micrel PHY. Affected devices: KSZ8031RNL (commercial temp) KSZ8031RNLI (industrial temp) Description: PHY device is correctly detected during probe. PHY power-up default is 25MHz crystal clock input and output 50MHz RMII clock to MAC. Reconfiguration of PHY to input 50MHz RMII clock from MAC causes PHY to become unresponsive if clock source is changed after Operation Mode Strap Override (OMSO) register setup. Cause: Long lead times on parts where clock setup match circuit design forces the usage of similar parts with wrong default setup. Solution: Swapped KSZ8031 register setup and added phy_write return code validation. Tested with Freescale i.MX28 Fast Ethernet Controler (fec). Signed-off-by: Bruno Thomsen <bth@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e19a8a0ad2d255316830ead05b59c5a704434cbb Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Tue Oct 14 09:00:44 2014 -0600 block: Remove REQ_KERNEL REQ_KERNEL is no longer used. Remove it and drop the redundant uio argument to nfs_file_direct_{read,write}. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2a1731fb85ec96a1f6a326fb2d52cd93494dafa2 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 15:49:21 2014 -0300 perf session: Remove last reference to hists struct Now perf_session doesn't require that the evsels in its evlist are hists containing ones. Tools that are hists based and want to do per evsel events_stats updates, if at some point this turns into a necessity, should do it in the tool specific code, keeping the session class hists agnostic. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-cli1bgwpo82mdikuhy3djsuy@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c3058d5da2222629bc2223c488a4512b59bb4baf Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Oct 10 12:14:29 2014 +0200 arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE When creating or moving a memslot, make sure the IPA space is within the addressable range of the guest. Otherwise, user space can create too large a memslot and KVM would try to access potentially unallocated page table entries when inserting entries in the Stage-2 page tables. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 38f791a4e499792eeb2a3c0572dd5133511c5bbb Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Oct 10 12:14:28 2014 +0200 arm64: KVM: Implement 48 VA support for KVM EL2 and Stage-2 This patch adds the necessary support for all host kernel PGSIZE and VA_SPACE configuration options for both EL2 and the Stage-2 page tables. However, for 40bit and 42bit PARange systems, the architecture mandates that VTCR_EL2.SL0 is maximum 1, resulting in fewer levels of stage-2 pagge tables than levels of host kernel page tables. At the same time, systems with a PARange > 42bit, we limit the IPA range by always setting VTCR_EL2.T0SZ to 24. To solve the situation with different levels of page tables for Stage-2 translation than the host kernel page tables, we allocate a dummy PGD with pointers to our actual inital level Stage-2 page table, in order for us to reuse the kernel pgtable manipulation primitives. Reproducing all these in KVM does not look pretty and unnecessarily complicates the 32-bit side. Systems with a PARange < 40bits are not yet supported. [ I have reworked this patch from its original form submitted by Jungseok to take the architecture constraints into consideration. There were too many changes from the original patch for me to preserve the authorship. Thanks to Catalin Marinas for his help in figuring out a good solution to this challenge. I have also fixed various bugs and missing error code handling from the original patch. - Christoffer ] Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4c5c30249452aaebf258751ea4222eba3dd3da4c Author: Jan-Simon Möller <dl9pf@xxxxxx> Date: Mon Jul 2 13:48:30 2012 +0200 crypto: LLVMLinux: Remove VLAIS usage from crypto/testmgr.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: pageexec@xxxxxxxxxxx commit 357aabed626fe3fc753a99ef1d652f4e2d82ba26 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 4 18:18:00 2014 -0300 security, crypto: LLVMLinux: Remove VLAIS from ima_crypto.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Cc: tglx@xxxxxxxxxxxxx commit ea0e0de69fc413aa80dbf1ec1fb9702ea1b6faca Author: Jan-Simon Möller <dl9pf@xxxxxx> Date: Mon Jul 2 12:54:28 2012 +0200 crypto: LLVMLinux: Remove VLAIS usage from libcrc32c.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: pageexec@xxxxxxxxxxx Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> commit ffb32e973eb5105ec55e0bbf2e77a1ea4a7a123a Author: Jan-Simon Möller <dl9pf@xxxxxx> Date: Mon Jul 2 13:47:40 2012 +0200 crypto: LLVMLinux: Remove VLAIS usage from crypto/hmac.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: pageexec@xxxxxxxxxxx commit b610626523cf5c780bf7d9746580c323e90580e6 Author: Jan-Simon Möller <dl9pf@xxxxxx> Date: Mon Jul 2 13:50:54 2012 +0200 crypto, dm: LLVMLinux: Remove VLAIS usage from dm-crypt Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: pageexec@xxxxxxxxxxx Cc: gmazyland@xxxxxxxxx Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> commit 37e5265437a02e66e8c345f563241e79b4b7f087 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 4 18:18:00 2014 -0300 crypto: LLVMLinux: Remove VLAIS from crypto/.../qat_algs.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7bc53c3f9ac8c0d6b6ffa92b4b7493576233e78e Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 4 18:18:00 2014 -0300 crypto: LLVMLinux: Remove VLAIS from crypto/omap_sham.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ce1f3e47d9d11ffde75d06170304dc9ff2afe0c6 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 4 18:18:00 2014 -0300 crypto: LLVMLinux: Remove VLAIS from crypto/n2_core.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7128470f6b21b922b42f790d429330562eb6eab1 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 4 18:18:00 2014 -0300 crypto: LLVMLinux: Remove VLAIS from crypto/mv_cesa.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 61ded52438d5fdc4dea87f823c455f8ac1e426df Author: Jan-Simon Möller <dl9pf@xxxxxx> Date: Thu Sep 4 20:39:24 2014 +0200 crypto: LLVMLinux: Remove VLAIS from crypto/ccp/ccp-crypto-sha.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0458a953d85088a9ba3e448745676377775879e0 Author: VinÃcius Tinti <viniciustinti@xxxxxxxxx> Date: Fri Apr 4 18:21:24 2014 -0300 btrfs: LLVMLinux: Remove VLAIS Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch instead allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: VinÃcius Tinti <viniciustinti@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Acked-by: Chris Mason <clm@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> commit a0a77af14117e388d43b2385d5ecc800e2d6eee9 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 8 00:05:09 2014 -0500 crypto: LLVMLinux: Add macro to remove use of VLAIS in crypto code Add a macro which replaces the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This macro instead allocates the appropriate amount of memory using an char array. The new code can be compiled with both gcc and clang. struct shash_desc contains a flexible array member member ctx declared with CRYPTO_MINALIGN_ATTR, so sizeof(struct shash_desc) aligns the beginning of the array declared after struct shash_desc with long long. No trailing padding is required because it is not a struct type that can be used in an array. The CRYPTO_MINALIGN_ATTR is required so that desc is aligned with long long as would be the case for a struct containing a member with CRYPTO_MINALIGN_ATTR. If you want to get to the ctx at the end of the shash_desc as before you can do so using shash_desc_ctx(shash) Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: MichaÅ? MirosÅ?aw <mirqus@xxxxxxxxx> commit 2d65a9f48fcdf7866aab6457bc707ca233e0c791 Merge: da92da3 dfda0df Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 09:39:08 2014 +0200 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull drm updates from Dave Airlie: "This is the main git pull for the drm, I pretty much froze major pulls at -rc5/6 time, and haven't had much fallout, so will probably continue doing that. Lots of changes all over, big internal header cleanup to make it clear drm features are legacy things and what are things that modern KMS drivers should be using. Also big move to use the new generic fences in all the TTM drivers. core: atomic prep work, vblank rework changes, allows immediate vblank disables major header reworking and cleanups to better delinate legacy interfaces from what KMS drivers should be using. cursor planes locking fixes ttm: move to generic fences (affects all TTM drivers) ppc64 caching fixes radeon: userptr support, uvd for old asics, reset rework for fence changes better buffer placement changes, dpm feature enablement hdmi audio support fixes intel: Cherryview work, 180 degree rotation, skylake prep work, execlist command submission full ppgtt prep work cursor improvements edid caching, vdd handling improvements nouveau: fence reworking kepler memory clock work gt21x clock work fan control improvements hdmi infoframe fixes DP audio ast: ppc64 fixes caching fix rcar: rcar-du DT support ipuv3: prep work for capture support msm: LVDS support for mdp4, new panel, gpu refactoring exynos: exynos3250 SoC support, drop bad mmap interface, mipi dsi changes, and component match support" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (640 commits) drm/mst: rework payload table allocation to conform better. drm/ast: Fix HW cursor image drm/radeon/kv: add uvd/vce info to dpm debugfs output drm/radeon/ci: add uvd/vce info to dpm debugfs output drm/radeon: export reservation_object from dmabuf to ttm drm/radeon: cope with foreign fences inside the reservation object drm/radeon: cope with foreign fences inside display drm/core: use helper to check driver features drm/radeon/cik: write gfx ucode version to ucode addr reg drm/radeon/si: print full CS when we hit a packet 0 drm/radeon: remove unecessary includes drm/radeon/combios: declare legacy_connector_convert as static drm/radeon/atombios: declare connector convert tables as static drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table drm/radeon/dpm: drop clk/voltage dependency filters for BTC drm/radeon/dpm: drop clk/voltage dependency filters for CI drm/radeon/dpm: drop clk/voltage dependency filters for SI drm/radeon/dpm: drop clk/voltage dependency filters for NI drm/radeon: disable audio when we disable hdmi (v2) drm/radeon: split audio enable between eg and r600 (v2) ... commit da22b896b119001b0cd9eb9ecb5b3fd85e948e43 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Sep 24 03:53:43 2014 +0530 RDMA/cxgb4: Fix ntuple calculation for ipv6 and remove duplicate line This fixes ntuple calculation for IPv6 active open request for T5 adapter. And also removes an duplicate line which got added in commit 92e7ae71726c ("iw_cxgb4: Choose appropriate hw mtu index and ISS for iWARP connections") Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit d480201b2261d26b4ca1fa4cc2bfc6cb644733a3 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Sep 24 03:53:42 2014 +0530 RDMA/cxgb4: Add missing neigh_release in find_route Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 04524a47c36bc7fc573a4856b4e0fd8cf66c3126 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Sep 24 03:53:41 2014 +0530 RDMA/cxgb4: Take IPv6 into account for best_mtu and set_emss best_mtu and set_emss were not considering ipv6 header for ipv6 case. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 65d4c01af0f5b394a33848bc27c4331e2959dfd5 Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 11:19:29 2014 -0500 RDMA/cxgb4: Make c4iw_wr_log_size_order static This fixes a sparse warning. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit a040f95dc81986d7d55bd98a9455217522ef706d Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 12:38:26 2014 +0300 IB/core: Fix XRC race condition in ib_uverbs_open_qp In ib_uverbs_open_qp, the sharable xrc target qp is created as a "pseudo" qp and added to a list of qp's sharing the same physical QP. This is done before the "pseudo" qp is assigned a uobject. There is a race condition here if an async event arrives at the physical qp. If the event is handled after the pseudo qp is added to the list, but before it is assigned a uobject, the kernel crashes in ib_uverbs_qp_event_handler, due to trying to dereference a NULL uobject pointer. Note that simply checking for non-NULL is not enough, due to error flows in ib_uverbs_open_qp. If the failure is after assigning the uobject, but before the qp has fully been created, we still have a problem. Thus, in ib_uverbs_qp_event_handler, we test that the uobject is present, and also that it is live. Reported-by: Matthew Finlay <matt@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 8b0f93d9490653a7b9fc91f3570089132faed1c0 Author: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Date: Fri Sep 26 20:45:32 2014 +0530 IB/core: Clear AH attr variable to prevent garbage data During create-ah from userspace, uverbs is sending garbage data in attr.dmac and attr.vlan_id. This patch sets attr.dmac and attr.vlan_id to zero. Fixes: dd5f03beb4f7 ("IB/core: Ethernet L2 attributes in verbs/cm structures") Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit da92da3638a04894afdca8b99e973ddd20268471 Merge: f33a3fa 4204111 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 09:27:48 2014 +0200 Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild updates from Michal Marek: "This is the less critical kbuild stuff for v3.18-rc1: - make deb-pkg debuginfo fix, ppc64el support and warning fix for recent dpkg tools - make TAGS fixes - new coccinelle patch - kbuild documentation improvements" * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: deb-pkg: remove obsolete -isp option to dpkg-gencontrol coccinelle: misc: semantic patch to delete overly complex return code processing deb-pkg: Add support for powerpc little endian builddeb: put the dbg files into the correct directory scripts/tags.sh: fix DEFINE_HASHTABLE in emacs case scripts/tags.sh: remove *PCGFLAGS regular expressions scripts/tags.sh: Don't specify kind-spec for emacs' ctags/etags Documentation: kbuild: Improve grammar Documentation: kbuild: Remove obsolete dtc_cpp section Documentation: kbuild: Improve if_changed documentation Documentation: kbuild: Remove obsolete include/asm symlink step commit f33a3faa25c569d2a7640de66bea69e15c12ecd1 Merge: 1b5a5f5 3014223 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 09:22:26 2014 +0200 Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kbuild changes from Michal Marek: - fix for handling dependencies of *-objs targets by Masahiro Yamada - lots of cleanups in the kbuild machinery, also by Masahiro - fixes for the kconfig build to use an UTF-8 capable ncurses library if possible and to build on not-so-standard installs - some more minor fixes * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kbuild: Do not reference *-n variables in the Makefile kbuild: simplify build, clean, modbuiltin shorthands kbuild: arm: Do not define "comma" twice kbuild: remove obj-n and lib-n handling kbuild: remove unnecessary variable initializaions kbuild: remove unnecessary "obj- := dummy.o" trick kbuild: handle C=... and M=... after entering into build directory kbuild: use $(Q) for sub-make target kbuild: fake the "Entering directory ..." message more simply kconfig/lxdialog: get ncurses CFLAGS with pkg-config kconfig: nconfig: fix multi-byte UTF handling kconfig: lxdialog: fix spelling kbuild: Make scripts executable kbuild: remove redundant clean-files from scripts/kconfig/Makefile kbuild: refactor script/kconfig/Makefile kbuild: handle the dependency of multi-objs hostprogs appropriately kbuild: handle multi-objs dependency appropriately commit 95926035b187cc9fee6fb61385b7da9c28123f74 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 13 23:18:02 2014 +0200 ALSA: emu10k1: Fix deadlock in synth voice lookup The emu10k1 voice allocator takes voice_lock spinlock. When there is no empty stream available, it tries to release a voice used by synth, and calls get_synth_voice. The callback function, snd_emu10k1_synth_get_voice(), however, also takes the voice_lock, thus it deadlocks. The fix is simply removing the voice_lock holds in snd_emu10k1_synth_get_voice(), as this is always called in the spinlock context. Reported-and-tested-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 811deedebab38f8360a700a52b0b75688c9a10f7 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 13 23:14:46 2014 +0200 ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop In the unlock loop of snd_pcm_action_group(), the object "s" is used as the check of nonatomic PCM, but it should be rather "s1", which is the iterator of the loop. This supposedly causes a kernel panic when the substreams in operatino are linked. Fixes: 257f8cce5d40 ('ALSA: pcm: Allow nonatomic trigger operations') Reported-and-tested-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1b5a5f59e3435337bede67b9255bbb1d39fc4827 Merge: b11445f d5d9622 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 08:40:15 2014 +0200 Merge tag 'fscache-fixes-20141013' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs Pull fs-cache fixes from David Howells: "Two fixes for bugs in CacheFiles and a cleanup in FS-Cache" * tag 'fscache-fixes-20141013' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: fs/fscache/object-list.c: use __seq_open_private() CacheFiles: Fix incorrect test for in-memory object collision CacheFiles: Handle object being killed before being set up commit b11445f830df0ec9271f39bff19ecc6f8db58eb8 Merge: 0ef3a56 91401a34 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 08:38:54 2014 +0200 Merge tag 'upstream-3.18-rc1-v2' of git://git.infradead.org/linux-ubifs Pull UBI/UBIFS fixes from Artem Bityutskiy: - fix for a theoretical race condition which could lead to a situation when UBIFS is unable to mount a file-system (Hujianyang) - a few fixes for the ubiblock sybsystem, error path fixes - the ubiblock subsystem has had the volume size change handling improved - a few fixes and nicifications in the fastmap subsystem * tag 'upstream-3.18-rc1-v2' of git://git.infradead.org/linux-ubifs: UBI: Fastmap: Calc fastmap size correctly UBIFS: Fix trivial typo in power_cut_emulated() UBI: Fix trivial typo in __schedule_ubi_work UBI: wl: Rename cancel flag to shutdown UBI: ubi_eba_read_leb: Remove in vain variable assignment UBIFS: Align the dump messages of SB_NODE UBI: Fix livelock in produce_free_peb() UBI: return on error in rename_volumes() UBI: Improve comment on work_sem UBIFS: Remove bogus assert UBI: Dispatch update notification if the volume is updated UBI: block: Add support for the UBI_VOLUME_UPDATED notification UBI: block: Fix block device size setting UBI: block: fix dereference on uninitialized dev UBI: add missing kmem_cache_free() in process_pool_aeb error path UBIFS: fix free log space calculation UBIFS: fix a race condition commit 813d32f91333e4c33d5a19b67167c4bae42dae75 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Tue Oct 14 02:35:49 2014 -0400 ext4: check s_chksum_driver when looking for bg csum presence Convert the ext4_has_group_desc_csum predicate to look for a checksum driver instead of the metadata_csum flag and change the bg checksum calculation function to look for GDT_CSUM before taking the crc16 path. Without this patch, if we mount with ^uninit_bg,^metadata_csum and later metadata_csum gets turned on by accident, the block group checksum functions will incorrectly assume that checksumming is enabled (metadata_csum) but that crc16 should be used (!s_chksum_driver). This is totally wrong, so fix the predicate and the checksum formula selection. (Granted, if the metadata_csum feature bit gets enabled on a live FS then something underhanded is going on, but we could at least avoid writing garbage into the on-disk fields.) Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 0ef3a56b1c466629cd0bf482b09c7b0e5a085bb5 Merge: dfe2c6d a1480dc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 08:35:01 2014 +0200 Merge branch 'CVE-2014-7975' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux Pull do_umount fix from Andy Lutomirski: "This fix really ought to be safe. Inside a mountns owned by a non-root user namespace, the namespace root almost always has MNT_LOCKED set (if it doesn't, then there's a bug, because rootfs could be exposed). In that case, calling umount on "/" will return -EINVAL with or without this patch. Outside a userns, this patch will have no effect. may_mount, required by umount, already checks ns_capable(current->nsproxy->mnt_ns->user_ns, CAP_SYS_ADMIN) so an additional capable(CAP_SYS_ADMIN) check will have no effect. That leaves anything that calls umount on "/" in a non-root userns while chrooted. This is the case that is currently broken (it remounts ro, which shouldn't be allowed) and that my patch changes to -EPERM. If anything relies on *that*, I'd be surprised" * 'CVE-2014-7975' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux: fs: Add a missing permission check to do_umount commit b395f75eabb3844c99244928293796ff42feaa3d Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 23:03:16 2014 +1100 lib/raid6: Add log level to printks Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 6c144d316478ccfff9452292edae5a59587463a2 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 16:15:38 2014 +1000 md: move EXPORT_SYMBOL to after function in md.c Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 2cbbca5e7c38d0c776497f586688464f8cfb1583 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 16:02:19 2014 +1000 md: discard PRINT_RAID_DEBUG ioctl All the interesting information printed by this ioctl is provided in /proc/mdstat and/or sysfs. So it isn't needed and isn't used and would be best if it didn't exist. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 403df4788837cdaceaa55bcfae1c6eade2abdb5b Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 15:52:29 2014 +1000 md: remove MD_BUG() Most of the places that call this are doing so pointlessly. A couple of the others a best replaced with WARN_ON(). Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 3adc28d85f18aebc34011cb7308a579c58072fe1 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 15:46:41 2014 +1000 md: clean up 'exit' labels in md_ioctl(). There are 4 labels and we only really need two. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 326eb17d73a6b424ed7c47c693ff53721618fc48 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 15:36:28 2014 +1000 md: remove unnecessary test for MD_MAJOR in md_ioctl() unknown ioctls no longer get this deep into md_ioctl since md_ioctl_valid() was introduced in 3.14. So remove the test and the misleading comment. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit e1960f8c5cd1420dd2ecf0754a136956246365e7 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 15:24:25 2014 +1000 md: don't allow "-sync" to be set for device in an active array. If an array is active, devices can be marked 'faulty', but simply removing the 'sync' flag is wrong. That only makes sense for an array which is not active (and is probably only useful for testing anyway). Signed-off-by: NeilBrown <neilb@xxxxxxx> commit f72ffdd68616e3697bc782b21c82197aeb480fd5 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 14:23:59 2014 +1000 md: remove unwanted white space from md.c My editor shows much of this is RED. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit ac05f256691fe427a3e84c19261adb0b67dd73c0 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 08:10:42 2014 +1000 md: don't start resync thread directly from md thread. The main 'md' thread is needed for processing writes, so if it blocks write requests could be delayed. Starting a new thread requires some GFP_KERNEL allocations and so can wait for writes to complete. This can deadlock. So instead, ask a workqueue to start the sync thread. There is no particular rush for this to happen, so any work queue will do. MD_RECOVERY_RUNNING is used to ensure only one thread is started. Reported-by: BillStuff <billstuff2001@xxxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 8b1afc3d6751063d3f0cdefe55719b1cd2f7edcc Author: NeilBrown <neilb@xxxxxxx> Date: Mon Sep 29 15:33:20 2014 +1000 md: Just use RCU when checking for overlap between arrays. We don't really need the full mddev_lock here, and having to drop it is messy. RCU is enough to protect these lists. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 50bd3774058137e687b41da8b31fdd3544f7d901 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Sep 25 15:28:34 2014 +0800 md: avoid potential long delay under pers_lock printk may cause long time lapse if value of printk_delay in sysctl is configured large by user. If register_md_personality takes long time to print in spinlock pers_lock, we may encounter high CPU usage rate when there are other pers_lock competitors who may be blocked to spin. We can avoid this condition by moving printk out of coverage of pers_lock spinlock. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 0638bb0e732fa2c839fceec93fc02e2347e0f596 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 25 17:43:47 2014 +1000 md: simplify export_array() We don't really need that for_each loop, or those MD_BUGs. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 4878e9eb88c3a3223de68760e64dd71da01a3118 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 25 17:00:11 2014 +1000 md: discard find_rdev_nr in favour of find_rdev_nr_rcu Having both is a waste - just use the one. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 1967cd5616c4792ef9d3cbaafe5fbe12fc429c9e Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 9 14:20:28 2014 +1000 md: use wait_event() to simplify md_super_wait() md_super_wait is really just wait_event() open-coded. So use the macro instead. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 9ba3b7f5d025915be2b8709e5fd35c9c3e9f14c6 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 9 14:00:15 2014 +1000 md: be more relaxed about stopping an array which isn't started. In general we don't allow an array to be stopped if it is in use. However if the array hasn't really been started yet, then any apparent use is an anomily, probably due to 'udev' or similar having a look to see what is there. This means that if something goes wrong while assembling an array it cannot reliably be un-assembled - STOP_ARRAY could fail. There is no value here, so change do_md_stop() to succeed despite concurrent opens if the array has not yet been activated. i.e. if ->pers is NULL. Reported-by: "Baldysiak, Pawel" <pawel.baldysiak@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit c95e6385e8098ef549008ab29d671bf528a50043 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 9 13:54:11 2014 +1000 md/raid1: process_checks doesn't use its return value. process_checks() always returns '0', so change it to 'void'. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit b8e6a15a1af9b1c203002e7768e60136c4e0e5c6 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sat Aug 23 20:19:27 2014 +1000 md/raid5: fix init_stripe() inconsistencies raid5: fix init_stripe() inconsistencies 1) remove_hash() is not necessary. We will only be called right after get_free_stripe(). There we have already a call to remove_hash(). 2) Tracing prints out the sector of the freed stripe and not the sector that we want to initialize. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit c4796e215f487de9bc93731a81e885ac866ef7dc Author: NeilBrown <neilb@xxxxxxx> Date: Sat Aug 23 20:19:26 2014 +1000 md/raid10: another memory leak due to reshape. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit dfe2c6dcc8ca2cdc662d7c0473e9811b72ef3370 Merge: a45d572 64e4550 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 03:54:50 2014 +0200 Merge branch 'akpm' (patches from Andrew Morton) Merge second patch-bomb from Andrew Morton: - a few hotfixes - drivers/dma updates - MAINTAINERS updates - Quite a lot of lib/ updates - checkpatch updates - binfmt updates - autofs4 - drivers/rtc/ - various small tweaks to less used filesystems - ipc/ updates - kernel/watchdog.c changes * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (135 commits) mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared kernel/param: consolidate __{start,stop}___param[] in <linux/moduleparam.h> ia64: remove duplicate declarations of __per_cpu_start[] and __per_cpu_end[] frv: remove unused declarations of __start___ex_table and __stop___ex_table kvm: ensure hard lockup detection is disabled by default kernel/watchdog.c: control hard lockup detection default staging: rtl8192u: use %*pEn to escape buffer staging: rtl8192e: use %*pEn to escape buffer staging: wlan-ng: use %*pEhp to print SN lib80211: remove unused print_ssid() wireless: hostap: proc: print properly escaped SSID wireless: ipw2x00: print SSID via %*pE wireless: libertas: print esaped string via %*pE lib/vsprintf: add %*pE[achnops] format specifier lib / string_helpers: introduce string_escape_mem() lib / string_helpers: refactoring the test suite lib / string_helpers: move documentation to c-file include/linux: remove strict_strto* definitions arch/x86/mm/numa.c: fix boot failure when all nodes are hotpluggable fs: check bh blocknr earlier when searching lru ... commit a45d572841a24db02a62cf05e1157c35fdd3705b Merge: fc2414b e803d4b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 03:51:22 2014 +0200 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu Pull m68knommu update from Greg Ungerer: "The major change is to remove the arch/m68k/platform directory. The coldfire (and other non-mmu m68k platform) code is moved to the arch/m68k level, making them consistent with the traditional m68k platforms. A couple of other minor miscellaneous fixes as well" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k: Fix typo 'COFNIG_MBAR' m68knommu: add missing ioport_map() and ioport_unmap() m68k/coldfire: remove second asm/mcfclk.h inclusion in m54xx.c m68knommu: fix size of address field for 5272 interrupt controller m68k: fix crufty 68000 and 68360 intro comments m68k: remove the unused arch/m68k/platform directory m68k: move non-mmu 68360 platform code m68k: move non-mmu 68000 platform code m68k: fix crufty ColdFire intro comments m68k: move coldfire platform code commit fc2414b4b4569fab5404c6f49f36bae0dfa3d936 Merge: 31003e3 5dab4b7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 03:50:34 2014 +0200 Merge tag 'please-pull-sys_bpf' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull ia64 update from Tony Luck: "Wire up bpf syscall for ia64" * tag 'please-pull-sys_bpf' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: [IA64] Enable bpf syscall for ia64 commit 31003e3a9df675f1ac85d7bcf8e5a5d622576375 Merge: 1ee07ef 5f78659 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 03:49:02 2014 +0200 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml Pull UML update from Richard Weinberger: "Besides of fixes this contains also support for CONFIG_STACKTRACE by Daniel Walter" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: um: net: Eliminate NULL test after alloc_bootmem um: Add support for CONFIG_STACKTRACE um: ubd: Fix for processes stuck in D state forever um: delete unnecessary bootmem struct page array um: remove csum_partial_copy_generic_i386 to clean up exception table commit 1ee07ef6b5db7235b133ee257a3adf507697e6b3 Merge: 7765490 0cccdda Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 03:47:00 2014 +0200 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "This patch set contains the main portion of the changes for 3.18 in regard to the s390 architecture. It is a bit bigger than usual, mainly because of a new driver and the vector extension patches. The interesting bits are: - Quite a bit of work on the tracing front. Uprobes is enabled and the ftrace code is reworked to get some of the lost performance back if CONFIG_FTRACE is enabled. - To improve boot time with CONFIG_DEBIG_PAGEALLOC, support for the IPTE range facility is added. - The rwlock code is re-factored to improve writer fairness and to be able to use the interlocked-access instructions. - The kernel part for the support of the vector extension is added. - The device driver to access the CD/DVD on the HMC is added, this will hopefully come in handy to improve the installation process. - Add support for control-unit initiated reconfiguration. - The crypto device driver is enhanced to enable the additional AP domains and to allow the new crypto hardware to be used. - Bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (39 commits) s390/ftrace: simplify enabling/disabling of ftrace_graph_caller s390/ftrace: remove 31 bit ftrace support s390/kdump: add support for vector extension s390/disassembler: add vector instructions s390: add support for vector extension s390/zcrypt: Toleration of new crypto hardware s390/idle: consolidate idle functions and definitions s390/nohz: use a per-cpu flag for arch_needs_cpu s390/vtime: do not reset idle data on CPU hotplug s390/dasd: add support for control unit initiated reconfiguration s390/dasd: fix infinite loop during format s390/mm: make use of ipte range facility s390/setup: correct 4-level kernel page table detection s390/topology: call set_sched_topology early s390/uprobes: architecture backend for uprobes s390/uprobes: common library for kprobes and uprobes s390/rwlock: use the interlocked-access facility 1 instructions s390/rwlock: improve writer fairness s390/rwlock: remove interrupt-enabling rwlock variant. s390/mm: remove change bit override support ... commit 77654908ff1a58cee4886298968b5262884aff0b Merge: 2fd7476 d286c3a 8091c1f f12c1f9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:31:22 2014 +0200 Merge branches 'x86-ras-for-linus', 'x86-uv-for-linus' and 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 ras, uv and vdso fixlets from Ingo Molnar: "ras: tone down a kernel message to only occur during initial bootup, not during suspend/resume cycles. uv: a cleanup commit vdso: a fix to error checking" * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mce: Avoid showing repetitive message from intel_init_thermal() * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/apic/uv: Remove unnecessary #ifdef * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/vdso: Fix vdso2c's special_pages[] error checking commit 2fd7476de999124bbf6830aa59ac092c882280fe Merge: ba1a96f 4ea48a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:28:16 2014 +0200 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Ingo Molnar: "Misc smaller fixes that missed the v3.17 cycle" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/build: Add arch/x86/purgatory/ make generated files to gitignore x86: Fix section conflict for numachip x86: Reject x32 executables if x32 ABI not supported x86_64, entry: Filter RFLAGS.NT on entry from userspace x86, boot, kaslr: Fix nuisance warning on 32-bit builds commit ba1a96fc7ddcaf0c8d4a6752f6a70f080bc307ac Merge: f1bfbd9 1dcf74f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:27:06 2014 +0200 Merge branch 'x86-seccomp-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 seccomp changes from Ingo Molnar: "This tree includes x86 seccomp filter speedups and related preparatory work, which touches core seccomp facilities as well. The main idea is to split seccomp into two phases, to be able to enter a simple fast path for syscalls with ptrace side effects. There's no substantial user-visible (and ABI) effects expected from this, except a change in how we emit a better audit record for SECCOMP_RET_TRACE events" * 'x86-seccomp-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86_64, entry: Use split-phase syscall_trace_enter for 64-bit syscalls x86_64, entry: Treat regs->ax the same in fastpath and slowpath syscalls x86: Split syscall_trace_enter into two phases x86, entry: Only call user_exit if TIF_NOHZ x86, x32, audit: Fix x32's AUDIT_ARCH wrt audit seccomp: Document two-phase seccomp and arch-provided seccomp_data seccomp: Allow arch code to provide seccomp_data seccomp: Refactor the filter callback and the API seccomp,x86,arm,mips,s390: Remove nr parameter from secure_computing commit f1bfbd984b4e2177886507b6a0ec5faeb6d7c217 Merge: df133e8 aece118 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:23:55 2014 +0200 Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 platform updates from Ingo Molnar: "The main changes in this tree are: - fix and update Intel Quark [Galileo] SoC platform support - update IOSF chipset side band interface and make it available via debugfs - enable HPETs on Soekris net6501 and other e6xx based systems" * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Add cpu_detect_cache_sizes to init_intel() add Quark legacy_cache() x86: Quark: Comment setup_arch() to document TLB/PGE bug x86/intel/quark: Switch off CR4.PGE so TLB flush uses CR3 instead x86/platform/intel/iosf: Add debugfs config option for IOSF x86/platform/intel/iosf: Add better description of IOSF driver in config x86/platform/intel/iosf: Add Braswell PCI ID x86/platform/pmc_atom: Fix warning when CONFIG_DEBUG_FS=n x86: HPET force enable for e6xx based systems x86/iosf: Add debugfs support x86/iosf: Add Kconfig prompt for IOSF_MBI selection commit df133e8fa8e1d4afa57c84953bf80eaed2b145e0 Merge: e343833 beb9147 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:22:41 2014 +0200 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 mm updates from Ingo Molnar: "This tree includes the following changes: - fix memory hotplug - fix hibernation bootup memory layout assumptions - fix hyperv numa guest kernel messages - remove dead code - update documentation" * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm: Update memory map description to list hypervisor-reserved area x86/mm, hibernate: Do not assume the first e820 area to be RAM x86/mm/numa: Drop dead code and rename setup_node_data() to setup_alloc_data() x86/mm/hotplug: Modify PGD entry when removing memory x86/mm/hotplug: Pass sync_global_pgds() a correct argument in remove_pagetable() x86: Remove set_pmd_pfn commit e3438330f58330ec236c861d43f46bef06780e62 Merge: c7b228a 44afe60 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:21:51 2014 +0200 Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 microcode loading updates from Ingo Molnar: "Misc smaller cleanups" * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, microcode, intel: Fix total_size computation x86, microcode, intel: Rename apply_microcode and declare it static x86, microcode, intel: Fix typos x86, microcode, intel: Add missing static declarations x86, microcode, amd: Fix missing static declaration commit c7b228adcafe5024a60fc246476e11af8699b759 Merge: 708d0b4 6f46b3a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:20:50 2014 +0200 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 FPU updates from Ingo Molnar: "x86 FPU handling fixes, cleanups and enhancements from Oleg. The signal handling race fix and the __restore_xstate_sig() preemption fix for eager-mode is marked for -stable as well" * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: copy_thread: Don't nullify ->ptrace_bps twice x86, fpu: Shift "fpu_counter = 0" from copy_thread() to arch_dup_task_struct() x86, fpu: copy_process: Sanitize fpu->last_cpu initialization x86, fpu: copy_process: Avoid fpu_alloc/copy if !used_math() x86, fpu: Change __thread_fpu_begin() to use use_eager_fpu() x86, fpu: __restore_xstate_sig()->math_state_restore() needs preempt_disable() x86, fpu: shift drop_init_fpu() from save_xstate_sig() to handle_signal() commit 708d0b41a26907ac83cde41dd5a75b5a2f8f1218 Merge: f1d0d14 9298b81 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:19:47 2014 +0200 Merge branch 'x86-cpufeature-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cpufeature updates from Ingo Molnar: "This tree includes the following changes: - Introduce DISABLED_MASK to list disabled CPU features, to simplify CPU feature handling and avoid excessive #ifdefs - Remove the lightly used cpu_has_pae() primitive" * 'x86-cpufeature-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Add more disabled features x86: Introduce disabled-features x86: Axe the lightly-used cpu_has_pae commit 64e455079e1bd7787cc47be30b7f601ce682a5f6 Author: Peter Feiner <pfeiner@xxxxxxxxxx> Date: Mon Oct 13 15:55:46 2014 -0700 mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared For VMAs that don't want write notifications, PTEs created for read faults have their write bit set. If the read fault happens after VM_SOFTDIRTY is cleared, then the PTE's softdirty bit will remain clear after subsequent writes. Here's a simple code snippet to demonstrate the bug: char* m = mmap(NULL, getpagesize(), PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, -1, 0); system("echo 4 > /proc/$PPID/clear_refs"); /* clear VM_SOFTDIRTY */ assert(*m == '\0'); /* new PTE allows write access */ assert(!soft_dirty(x)); *m = 'x'; /* should dirty the page */ assert(soft_dirty(x)); /* fails */ With this patch, write notifications are enabled when VM_SOFTDIRTY is cleared. Furthermore, to avoid unnecessary faults, write notifications are disabled when VM_SOFTDIRTY is set. As a side effect of enabling and disabling write notifications with care, this patch fixes a bug in mprotect where vm_page_prot bits set by drivers were zapped on mprotect. An analogous bug was fixed in mmap by commit c9d0bf241451 ("mm: uncached vma support with writenotify"). Signed-off-by: Peter Feiner <pfeiner@xxxxxxxxxx> Reported-by: Peter Feiner <pfeiner@xxxxxxxxxx> Suggested-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Jamie Liu <jamieliu@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 63a12d9d01831208a47f5c0fbbf93f503d1fb162 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:44 2014 -0700 kernel/param: consolidate __{start,stop}___param[] in <linux/moduleparam.h> Consolidate the various external const and non-const declarations of __start___param[] and __stop___param in <linux/moduleparam.h>. This requires making a few struct kernel_param pointers in kernel/params.c const. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4c6327dfaf20d6207efa765320748fd8699f74b0 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:41 2014 -0700 ia64: remove duplicate declarations of __per_cpu_start[] and __per_cpu_end[] They're already provided by <asm/sections.h>. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: "Luck, Tony" <tony.luck@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bd6aa7e51aea1bf58c4a917630dae31def11bd2d Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:39 2014 -0700 frv: remove unused declarations of __start___ex_table and __stop___ex_table Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9919e39a17381058dd0cdef2f78dbf5619e26474 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Mon Oct 13 15:55:37 2014 -0700 kvm: ensure hard lockup detection is disabled by default Use watchdog_enable_hardlockup_detector() to set hard lockup detection's default value to false. It's risky to run this detection in a guest, as false positives are easy to trigger, especially if the host is overcommitted. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e7458a6f074c71e74cda31c483114e65ea0f570 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Mon Oct 13 15:55:35 2014 -0700 kernel/watchdog.c: control hard lockup detection default In some cases we don't want hard lockup detection enabled by default. An example is when running as a guest. Introduce watchdog_enable_hardlockup_detector(bool) allowing those cases to disable hard lockup detection. This must be executed early by the boot processor from e.g. smp_prepare_boot_cpu, in order to allow kernel command line arguments to override it, as well as to avoid hard lockup detection being enabled before we've had a chance to indicate that it's unwanted. In summary, initial boot: default=enabled smp_prepare_boot_cpu watchdog_enable_hardlockup_detector(false): default=disabled cmdline has 'nmi_watchdog=1': default=enabled The running kernel still has the ability to enable/disable at any time with /proc/sys/kernel/nmi_watchdog us usual. However even when the default has been overridden /proc/sys/kernel/nmi_watchdog will initially show '1'. To truly turn it on one must disable/enable it, i.e. echo 0 > /proc/sys/kernel/nmi_watchdog echo 1 > /proc/sys/kernel/nmi_watchdog This patch will be immediately useful for KVM with the next patch of this series. Other hypervisor guest types may find it useful as well. [akpm@xxxxxxxxxxxxxxxxxxxx: fix build] [dzickus@xxxxxxxxxx: fix compile issues on sparc] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a1db92830d0a71e1429725992eb91470214c820 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:33 2014 -0700 staging: rtl8192u: use %*pEn to escape buffer Let's use kernel's native specifier to escape a buffer. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 50d5e53ddfc0d9cf4707d7d8e22624b26ab9114e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:31 2014 -0700 staging: rtl8192e: use %*pEn to escape buffer Let's use kernel's native specifier to escape a buffer. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 068c11dac2a5df02c650b8511e10055c95073d5a Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:29 2014 -0700 staging: wlan-ng: use %*pEhp to print SN This is a generic specifier to print an escaped buffer by given criteria. Let's use it instead of custom approach. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5df1415aee48e1d20328238d3077e39793e83232 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:27 2014 -0700 lib80211: remove unused print_ssid() In kernel we have %*pE specifier to print an escaped buffer. All users now switched to that approach. This fixes a bug as well. The current implementation wrongly prints octal numbers: only two first digits are used in case when 3 are required and the rest of the string ends up cut off. Additionally by default the \f, \v, \a, and \e are escaped to their alphabetic representation. It's safe to do since it is currently used for messaging only. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e5ead669a3de3cc822f19b7289932ffbf9664328 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:24 2014 -0700 wireless: hostap: proc: print properly escaped SSID Instead of substituting non-printable characters by '_' let's print SSID properly escaped by using recently added %*pE specifier. [akpm@xxxxxxxxxxxxxxxxxxxx: fix printk type warning] [akpm@xxxxxxxxxxxxxxxxxxxx: remove now-unused local `i'] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4b4890cb6aebb1669879a02c51a3c3eff629dff0 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:22 2014 -0700 wireless: ipw2x00: print SSID via %*pE Instead of custom approach this allows to print escaped strings via recently added kernel extension: %*pE. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da169607ae17c4340fe2ab286130741266709b07 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:20 2014 -0700 wireless: libertas: print esaped string via %*pE Instead of custom approach this allows to print escaped strings via recently added kernel extension: %*pE. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 71dca95d5cf5ece6c1bee8e625e23c16025952c7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:18 2014 -0700 lib/vsprintf: add %*pE[achnops] format specifier This allows user to print a given buffer as an escaped string. The rules are applied according to an optional mix of flags provided by additional format letters. For example, if the given buffer is: 1b 62 20 5c 43 07 22 90 0d 5d The result strings would be: %*pE "\eb \C\a"\220\r]" %*pEhp "\x1bb \C\x07"\x90\x0d]" %*pEa "\e\142\040\\\103\a\042\220\r\135" Please, read Documentation/printk-formats.txt and lib/string_helpers.c kernel documentation to get further information. [akpm@xxxxxxxxxxxxxxxxxxxx: tidy up comment layout, per Joe] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c8250381c8272a9828fdd353171727b154fbd296 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:16 2014 -0700 lib / string_helpers: introduce string_escape_mem() This is almost the opposite function to string_unescape(). Nevertheless it handles \0 and could be used for any byte buffer. The documentation is supplied together with the function prototype. The test cases covers most of the scenarios and would be expanded later on. [akpm@xxxxxxxxxxxxxxxxxxxx: avoid 1k stack consumption] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 45ff337a54c154680edf0c538e5c9eb4a2f862cc Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:14 2014 -0700 lib / string_helpers: refactoring the test suite This patch prepares test suite for a following update. It introduces test_string_check_buf() helper which checks the result and dumps an error. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d295634e965ecacdb44c6760b3ca4eae08812715 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:11 2014 -0700 lib / string_helpers: move documentation to c-file The introduced function string_escape_mem() is a kind of opposite to string_unescape. We have several users of such functionality each of them created custom implementation. The series contains clean up of test suite, adding new call, and switching few users to use it via %*pE specifier. Test suite covers all of existing and most of potential use cases. This patch (of 11): The documentation of API belongs to c-file. This patch moves it accordingly. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3db2e9cdc085144e243495137273e2318c53a82f Author: Daniel Walter <dwalter@xxxxxxxxxx> Date: Mon Oct 13 15:55:09 2014 -0700 include/linux: remove strict_strto* definitions Remove obsolete and unused strict_strto* functions Signed-off-by: Daniel Walter <dwalter@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bd5cfb8977fbb49d9350f7c81cf1516142e35a6a Author: Xishi Qiu <qiuxishi@xxxxxxxxxx> Date: Mon Oct 13 15:55:07 2014 -0700 arch/x86/mm/numa.c: fix boot failure when all nodes are hotpluggable If all the nodes are marked hotpluggable, alloc node data will fail. Because __next_mem_range_rev() will skip the hotpluggable memory regions. numa_clear_kernel_node_hotplug() is called after alloc node data. numa_init() ... ret = init_func(); // this will mark hotpluggable flag from SRAT ... memblock_set_bottom_up(false); ... ret = numa_register_memblks(&numa_meminfo); // this will alloc node data(pglist_data) ... numa_clear_kernel_node_hotplug(); // in case all the nodes are hotpluggable ... numa_register_memblks() setup_node_data() memblock_find_in_range_node() __memblock_find_range_top_down() for_each_mem_range_rev() __next_mem_range_rev() This patch moves numa_clear_kernel_node_hotplug() into numa_register_memblks(), clear kernel node hotpluggable flag before alloc node data, then alloc node data won't fail even all the nodes are hotpluggable. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9470dd5d352985ba907df7554845f87a4b8f9ea5 Author: Zach Brown <zab@xxxxxxxxx> Date: Mon Oct 13 15:55:05 2014 -0700 fs: check bh blocknr earlier when searching lru It's very common for the buffer heads in the lru to have different block numbers. By comparing the blocknr before the bdev and size we can reduce the cost of searching in the very common case where all the entries have the same bdev and size. In quick hot cache cycle counting tests on a single fs workstation this cut the cost of a miss by about 20%. A diff of the disassembly shows the reordering of the bdev and blocknr comparisons. This is in such a tiny loop that skipping one comparison is a meaningful portion of the total work being done: 1628: 83 c1 01 add $0x1,%ecx 162b: 83 f9 08 cmp $0x8,%ecx 162e: 74 60 je 1690 <__find_get_block+0xa0> 1630: 89 c8 mov %ecx,%eax 1632: 65 4c 8b 04 c5 00 00 mov %gs:0x0(,%rax,8),%r8 1639: 00 00 163b: 4d 85 c0 test %r8,%r8 163e: 4c 89 c3 mov %r8,%rbx 1641: 74 e5 je 1628 <__find_get_block+0x38> - 1643: 4d 3b 68 30 cmp 0x30(%r8),%r13 + 1643: 4d 3b 68 18 cmp 0x18(%r8),%r13 1647: 75 df jne 1628 <__find_get_block+0x38> - 1649: 4d 3b 60 18 cmp 0x18(%r8),%r12 + 1649: 4d 3b 60 30 cmp 0x30(%r8),%r12 164d: 75 d9 jne 1628 <__find_get_block+0x38> 164f: 49 39 50 20 cmp %rdx,0x20(%r8) 1653: 75 d3 jne 1628 <__find_get_block+0x38> Signed-off-by: Zach Brown <zab@xxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f9f2bac27ca587dc3eb4737880ca4a8e5d92bd93 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:03 2014 -0700 kdb: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 484ac2f32d3a282bd583f7195b0b2970ef8d0c04 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:01 2014 -0700 thermal: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7569055b81fc9e75b96d1a259163fc5325aac799 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:59 2014 -0700 staging: r8188eu: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3f8bfd9a7504bff350acd50c6eee23ca5c9913b2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:57 2014 -0700 s390/cio: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7fb1cab4ac8ef7a1fed5c19593cd5b4be1b1a9b3 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:54 2014 -0700 PNP: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 40f5c777ec61d908ffc7f2a6ccbed60d9930a1f8 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:52 2014 -0700 thinkpad_acpi: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Henrique de Moraes Holschuh <ibm-acpi@xxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 30614cf34105c5b5b9a39c65a2ea32c58b03aa8e Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:50 2014 -0700 altera-stapl: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: "Igor M. Liplianin" <liplianin@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f3ae5baafba9e48e2d3b173b982a46ad90149b4 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:48 2014 -0700 input: edt-ft5x06: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b60459f080bf3a1fcc6f55cfb628d1d79423b6ff Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:46 2014 -0700 ib_srpt: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxx> Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 48a968763dba039972623caea2355fc573b559ba Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:44 2014 -0700 scsi: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b7a8d756fb8080ab6ba9f4a9d4056a1056245fbc Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:42 2014 -0700 batman-adv: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Acked-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a97df4277da28329f88520bc65d6310715563855 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:39 2014 -0700 isofs: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2bd63329cbdb6c6577d5ca0095dcb3e4f590ffca Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:37 2014 -0700 ocfs2: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 87e747cdb9828cb09828ccbdc398374192355c68 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:35 2014 -0700 cifs: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Steve French <sfrench@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c4dd08694b8f078900c8e0c86e369b667a5101c5 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:33 2014 -0700 video: fbdev: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 18082746a28588f94496f2daa050c11decb54179 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:31 2014 -0700 netfilter: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2bebf5cb4ea12164e7b15755baf423651e271146 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:29 2014 -0700 ARM: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b0bfb63118612e3614cf77b115c00f895a42c96a Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:27 2014 -0700 lib: string: Make all calls to strnicmp into calls to strncasecmp The previous patch made strnicmp into a wrapper for strncasecmp. This patch makes all in-tree users of strnicmp call strncasecmp directly, while still making sure that the strnicmp symbol can be used by out-of-tree modules. It should be considered a temporary hack until all in-tree callers have been converted. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd514e727b18ff4d189b8e268db13729a4175091 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:25 2014 -0700 lib/string.c: remove duplicated function lib/string.c contains two functions, strnicmp and strncasecmp, which do roughly the same thing, namely compare two strings case-insensitively up to a given bound. They have slightly different implementations, but the only important difference is that strncasecmp doesn't handle len==0 appropriately; it effectively becomes strcasecmp in that case. strnicmp correctly says that two strings are always equal in their first 0 characters. strncasecmp is the POSIX name for this functionality. So rename the non-broken function to the standard name. To minimize the impact on the rest of the kernel (and since both are exported to modules), make strnicmp a wrapper for strncasecmp. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e48510f45107613bf14060eeabd658c49a044242 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:22 2014 -0700 arch/x86/kernel/cpu/common.c: fix unused symbol warning x86_64 allnoconfig: arch/x86/kernel/cpu/common.c:968: warning: 'syscall32_cpu_init' defined but not used Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cbc0ea79da2cbe70d8da9319895f07f872a3190 Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Date: Mon Oct 13 15:54:20 2014 -0700 scripts/sortextable: suppress warning: `relocs_size' may be used uninitialized In file included from scripts/sortextable.c:194:0: scripts/sortextable.c: In function `main': scripts/sortextable.h:176:3: warning: `relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized] memset(relocs, 0, relocs_size); ^ scripts/sortextable.h:106:6: note: `relocs_size' was declared here int relocs_size; ^ In file included from scripts/sortextable.c:192:0: scripts/sortextable.h:176:3: warning: `relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized] memset(relocs, 0, relocs_size); ^ scripts/sortextable.h:106:6: note: `relocs_size' was declared here int relocs_size; ^ gcc 4.9.1 Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Reviewed-by: Jamie Iles <jamie.iles@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f9a4d1103c1c4b9fa5b23b1ddc2666f015822ef2 Author: Javier Barrio <javier.barrio.mart@xxxxxxxxx> Date: Mon Oct 13 15:54:18 2014 -0700 scripts/headers_install.sh: fix error handling - headers_install requires at least two arguments - missed closing quote Signed-off-by: Javier Barrio <javier.barrio.mart@xxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0d5e75802c842ecc7c4778422c2d49609a889f3a Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Oct 13 15:54:16 2014 -0700 ipc: resolve shadow warnings Resolve some shadow warnings produced in W=2 builds by changing the name of some parameters and local variables. Change instances of "s64" because that clashes with the well-known typedef. Also change a local variable with the name "up" because that clashes with the name of of the "up" function for semaphores. These are hazards so eliminate the hazards by renaming them. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d66a0520cb46fb4f86b070e5f1926f6e53f23b38 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:14 2014 -0700 ipc/util.c: use __seq_open_private() instead of seq_open() Using __seq_open_private() removes boilerplate code from sysvipc_proc_open(). The resultant code is shorter and easier to follow. However, please note that __seq_open_private() call kzalloc() rather than kmalloc() which may affect timing due to the memory initialisation overhead. Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bf77b94c99ad5df0d97a52522fc7a220c0bf44fe Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Oct 13 15:54:12 2014 -0700 ipc/shm: kill the historical/wrong mm->start_stack check do_shmat() is the only user of ->start_stack (proc just reports its value), and this check looks ugly and wrong. The reason for this check is not clear at all, and it wrongly assumes that the stack can only grow down. But the main problem is that in general mm->start_stack has nothing to do with stack_vma->vm_start. Not only the application can switch to another stack and even unmap this area, setup_arg_pages() expands the stack without updating mm->start_stack during exec(). This means that in the likely case "addr > start_stack - size - PAGE_SIZE * 5" is simply impossible after find_vma_intersection() == F, or the stack can't grow anyway because of RLIMIT_STACK. Many thanks to Hugh for his explanations. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxx> Cc: Davidlohr Bueso <davidlohr.bueso@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1195d94e006b23c6292e78857e154872e33b6d7e Author: Andrey Vagin <avagin@xxxxxxxxxx> Date: Mon Oct 13 15:54:10 2014 -0700 ipc: always handle a new value of auto_msgmni proc_dointvec_minmax() returns zero if a new value has been set. So we don't need to check all charecters have been handled. Below you can find two examples. In the new value has not been handled properly. $ strace ./a.out open("/proc/sys/kernel/auto_msgmni", O_WRONLY) = 3 write(3, "0\n\0", 3) = 2 close(3) = 0 exit_group(0) $ cat /sys/kernel/debug/tracing/trace $strace ./a.out open("/proc/sys/kernel/auto_msgmni", O_WRONLY) = 3 write(3, "0\n", 2) = 2 close(3) = 0 $ cat /sys/kernel/debug/tracing/trace a.out-697 [000] .... 3280.998235: unregister_ipcns_notifier <-proc_ipcauto_dointvec_minmax Fixes: 9eefe520c814 ("ipc: do not use a negative value to re-enable msgmni automatic recomputin") Signed-off-by: Andrey Vagin <avagin@xxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Manfred Spraul <manfred@xxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Davidlohr Bueso <davidlohr@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c34d85aca91729596f876604e147892b81ecbbe9 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Oct 13 15:54:07 2014 -0700 init/initramfs.c: resolve shadow warnings Resolve shadow warnings that are produced in W=2 builds by renaming a global with a too-generic name and renaming a formal parameter. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 906e36c5c717cc99e622350f533876feed9bffe0 Author: Mike Travis <travis@xxxxxxx> Date: Mon Oct 13 15:54:05 2014 -0700 x86: use optimized ioresource lookup in ioremap function Use the optimized ioresource lookup, "region_is_ram", for the ioremap function. If the region is not found, it falls back to the "page_is_ram" function. If it is found and it is RAM, then the usual warning message is issued, and the ioremap operation is aborted. Otherwise, the ioremap operation continues. Signed-off-by: Mike Travis <travis@xxxxxxx> Acked-by: Alex Thorlton <athorlton@xxxxxxx> Reviewed-by: Cliff Wickman <cpw@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Dave Young <dyoung@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 67cf13ceed89e2c1a967719e98624a20c48dfb5a Author: Mike Travis <travis@xxxxxxx> Date: Mon Oct 13 15:54:03 2014 -0700 x86: optimize resource lookups for ioremap We have a large university system in the UK that is experiencing very long delays modprobing the driver for a specific I/O device. The delay is from 8-10 minutes per device and there are 31 devices in the system. This 4 to 5 hour delay in starting up those I/O devices is very much a burden on the customer. There are two causes for requiring a restart/reload of the drivers. First is periodic preventive maintenance (PM) and the second is if any of the devices experience a fatal error. Both of these trigger this excessively long delay in bringing the system back up to full capability. The problem was tracked down to a very slow IOREMAP operation and the excessively long ioresource lookup to insure that the user is not attempting to ioremap RAM. These patches provide a speed up to that function. The modprobe time appears to be affected quite a bit by previous activity on the ioresource list, which I suspect is due to cache preloading. While the overall improvement is impacted by other overhead of starting the devices, this drastically improves the modprobe time. Also our system is considerably smaller so the percentages gained will not be the same. Best case improvement with the modprobe on our 20 device smallish system was from 'real 5m51.913s' to 'real 0m18.275s'. This patch (of 2): Since the ioremap operation is verifying that the specified address range is NOT RAM, it will search the entire ioresource list if the condition is true. To make matters worse, it does this one 4k page at a time. For a 128M BAR region this is 32 passes to determine the entire region does not contain any RAM addresses. This patch provides another resource lookup function, region_is_ram, that searches for the entire region specified, verifying that it is completely contained within the resource region. If it is found, then it is checked to be RAM or not, within a single pass. The return result reflects if it was found or not (-1), and whether it is RAM (1) or not (0). This allows the caller to fallback to the previous page by page search if it was not found. [akpm@xxxxxxxxxxxxxxxxxxxx: fix spellos and typos in comment] Signed-off-by: Mike Travis <travis@xxxxxxx> Acked-by: Alex Thorlton <athorlton@xxxxxxx> Reviewed-by: Cliff Wickman <cpw@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Dave Young <dyoung@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 76e512108935ecdb46792208dae5f59c7ea78e25 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:54:01 2014 -0700 FS/OMFS: block number sanity check during fill_super operation This patch defines maximum block number to 2^31. It also converts bitmap_size and array_size to unsigned int in omfs_get_imap Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Suggested-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Acked-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Tested-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5ef9819234e285abe6b616864e7b1b4607d39b58 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Oct 13 15:53:59 2014 -0700 memstick: r592: fix build warnings for !PM_SLEEP When PM_SLEEP is not enabled, the r592_clear_interrupts() function is never used. If so, don't build it to prevent a compiler warning. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Cc: Maxim Levitsky <maximlevitsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c70b17b6538ecda81050a0f5a5475137a0ae451f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:57 2014 -0700 fs/affs: remove redundant sys_tz declarations sys_tz is already declared in include/linux/time.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 73516ace940a7c3f374f3e34c3c03cd3886be62f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:54 2014 -0700 fs/affs/file.c: fix shadow warnings Four functions declared variables twice resulting in shadow warnings. This patch renames internal variables and adds blank line after declarations. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3bc759931d271dbe9c4156105173b81ecb35177c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:52 2014 -0700 fs/affs/inode.c: remove unused variable head is set to AFFS_HEAD(bh) but never used. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1e907f4f116dd94dcc751bc0a053acd29728cc95 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:50 2014 -0700 fs/affs/super.c: remove unused variable key is set in affs_fill_super but never used. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a841b65921a959c759da6b5c8d5dc21966b4cf86 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:53:48 2014 -0700 rbtree: add comment to rb_insert_augmented() The comment is copied from Documentation/rbtree.txt, but this comment is so important that it should also be in the code. Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Acked-by: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f8da964dfbdca0eb14f9bf67be4ab6d256f90b7f Author: Vivek Goyal <vgoyal@xxxxxxxxxx> Date: Mon Oct 13 15:53:46 2014 -0700 kexec-bzimage64: fix sparse warnings David Howells brought to my attention the mails generated by kbuild test bot and following sparse warnings were present. This patch fixes these warnings. arch/x86/kernel/kexec-bzimage64.c:270:5: warning: symbol 'bzImage64_probe' was not declared. Should it be static? arch/x86/kernel/kexec-bzimage64.c:328:6: warning: symbol 'bzImage64_load' was not declared. Should it be static? arch/x86/kernel/kexec-bzimage64.c:517:5: warning: symbol 'bzImage64_cleanup' was not declared. Should it be static? arch/x86/kernel/kexec-bzimage64.c:531:5: warning: symbol 'bzImage64_verify_sig' was not declared. Should it be static? arch/x86/kernel/kexec-bzimage64.c:546:23: warning: symbol 'kexec_bzImage64_ops' was not declared. Should it be static? Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Reported-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 36f3f500efe6a19b7ce1e1205c105a2cbb2124d9 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Oct 13 15:53:44 2014 -0700 kexec: remove the unused function parameter This is a cleanup. In function parse_crashkernel_suffix, the parameter crash_base is not used. So here remove it. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a2d6aa8fa0750fe1d2fc9673d4a46b2fd87e44b3 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Oct 13 15:53:42 2014 -0700 kexec: check if crashk_res_low exists when exclude it from crash mem ranges Add a check if crashk_res_low exists just like GART region does. If crashk_res_low doesn't exist, calling exclude_mem_range is unnecessary. Meanwhile, since crashk_res_low has been initialized at definition, it's safe just use "if (crashk_low_res.end)" to check if it's exist. And this can make it consistent with other places of check. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 669280a152ce5144321c0e511498877383f34393 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Oct 13 15:53:40 2014 -0700 kexec: take the segment adding out of locate_mem_hole functions In locate_mem_hole functions, a memory hole is located and added as kexec_segment. But from the name of locate_mem_hole, it should only take responsibility of searching a available memory hole to contain data of a specified size. So in this patch add a new field 'mem' into kexec_buf, then take that kexec segment adding code out of locate_mem_hole_top_down and locate_mem_hole_bottom_up. This make clear of the functionality of locate_mem_hole just like it declars to do. And by this locate_mem_hole_callback chould be used later if anyone want to locate a memory hole for other use. Meanwhile Vivek suggested opening code function __kexec_add_segment(), that way we have to retreive ksegment pointer once and it is easy to read. So just do it in this patch and remove __kexec_add_segment() since no one use it anymore. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 887f4f8666960dcf8c13d516ff3e4311353f3206 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Oct 13 15:53:37 2014 -0700 arch/x86/purgatory/Makefile: try to use automatic variable in kexec purgatory makefile Make the Makefile of kexec purgatory be consistent with others in linux src tree, and make it look generic and simple. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b03023ecbdb76c1dec86b41ed80b123c22783220 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Oct 13 15:53:35 2014 -0700 coredump: add %i/%I in core_pattern to report the tid of the crashed thread format_corename() can only pass the leader's pid to the core handler, but there is no simple way to figure out which thread originated the coredump. As Jan explains, this also means that there is no simple way to create the backtrace of the crashed process: As programs are mostly compiled with implicit gcc -fomit-frame-pointer one needs program's .eh_frame section (equivalently PT_GNU_EH_FRAME segment) or .debug_frame section. .debug_frame usually is present only in separate debug info files usually not even installed on the system. While .eh_frame is a part of the executable/library (and it is even always mapped for C++ exceptions unwinding) it no longer has to be present anywhere on the disk as the program could be upgraded in the meantime and the running instance has its executable file already unlinked from disk. One possibility is to echo 0x3f >/proc/*/coredump_filter and dump all the file-backed memory including the executable's .eh_frame section. But that can create huge core files, for example even due to mmapped data files. Other possibility would be to read .eh_frame from /proc/PID/mem at the core_pattern handler time of the core dump. For the backtrace one needs to read the register state first which can be done from core_pattern handler: ptrace(PTRACE_SEIZE, tid, 0, PTRACE_O_TRACEEXIT) close(0); // close pipe fd to resume the sleeping dumper waitpid(); // should report EXIT PTRACE_GETREGS or other requests The remaining problem is how to get the 'tid' value of the crashed thread. It could be read from the first NT_PRSTATUS note of the core file but that makes the core_pattern handler complicated. Unfortunately %t is already used so this patch uses %i/%I. Automatic Bug Reporting Tool (https://github.com/abrt/abrt/wiki/overview) is experimenting with this. It is using the elfutils (https://fedorahosted.org/elfutils/) unwinder for generating the backtraces. Apart from not needing matching executables as mentioned above, another advantage is that we can get the backtrace without saving the core (which might be quite large) to disk. [mmilata@xxxxxxxxxx: final paragraph of changelog] Signed-off-by: Jan Kratochvil <jan.kratochvil@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jan Kratochvil <jan.kratochvil@xxxxxxxxxx> Cc: Mark Wielaard <mjw@xxxxxxxxxx> Cc: Martin Milata <mmilata@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c3bea0e71892ef9100c01d3799cdae8cac273ef Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Oct 13 15:53:33 2014 -0700 signal: use BUILD_BUG() instead of _NSIG_WORDS_is_unsupported_size() Kill _NSIG_WORDS_is_unsupported_size(), use BUILD_BUG() instead. This simplifies the code, avoids the nested-externs warnings, and this way we do not defer the problem to linker. Also, fix the indentation in _SIG_SET_BINOP() and _SIG_SET_OP(). Note: this patch assumes that the code like "if (0) BUILD_BUG();" is valid. If not (say __compiletime_error() is not defined and thus __compiletime_error_fallback() uses a negative array) we should fix BUILD_BUG() and/or BUILD_BUG_ON_MSG(). This code should be fine by definition, this is the documented purpose of BUILD_BUG(). [sfr@xxxxxxxxxxxxxxxx: fix powerpc build failures] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reported-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 877aabd6ce16bc17cf62c2356b5d61f36454c1ed Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:31 2014 -0700 fat: remove redundant sys_tz declaration sys_tz is already declared extern struct in include/linux/time.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 54cc6cea73bb5ddf0362a70ef58816898bfb7f87 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:29 2014 -0700 fs/reiserfs/journal.c: fix sparse context imbalance warning Merge conditional unlock/lock in the same condition to avoid sparse warning: fs/reiserfs/journal.c:703:36: warning: context imbalance in 'add_to_chunk' - unexpected unlock Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: Jeff Mahoney <jeffm@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 35c0b380d81bd566c37a252399f008928ef4b2cd Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:27 2014 -0700 fs/ufs/balloc.c: remove unused variable ucg is defined and set in ufs_bitmap_search but never used. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: Evgeniy Dushistov <dushistov@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a792d9082944fc0efcde7a58c59528f122663c52 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:25 2014 -0700 fs/hfs/hfs_fs.h: remove redundant sys_tz declaration sys_tz is already declared in include/linux/time.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b9f6614072687f1ea9bf09a99789c976cbe89714 Author: Andreas Rohner <andreas.rohner@xxxxxxx> Date: Mon Oct 13 15:53:22 2014 -0700 nilfs2: improve the performance of fdatasync() Support for fdatasync() has been implemented in NILFS2 for a long time, but whenever the corresponding inode is dirty the implementation falls back to a full-flegded sync(). Since every write operation has to update the modification time of the file, the inode will almost always be dirty and fdatasync() will fall back to sync() most of the time. But this fallback is only necessary for a change of the file size and not for a change of the various timestamps. This patch adds a new flag NILFS_I_INODE_SYNC to differentiate between those two situations. * If it is set the file size was changed and a full sync is necessary. * If it is not set then only the timestamps were updated and fdatasync() can go ahead. There is already a similar flag I_DIRTY_DATASYNC on the VFS layer with the exact same semantics. Unfortunately it cannot be used directly, because NILFS2 doesn't implement write_inode() and doesn't clear the VFS flags when inodes are written out. So the VFS writeback thread can clear I_DIRTY_DATASYNC at any time without notifying NILFS2. So I_DIRTY_DATASYNC has to be mapped onto NILFS_I_INODE_SYNC in nilfs_update_inode(). Signed-off-by: Andreas Rohner <andreas.rohner@xxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e2c7617ae36b27f97643bfa08aabe27e630c1a76 Author: Andreas Rohner <andreas.rohner@xxxxxxx> Date: Mon Oct 13 15:53:20 2014 -0700 nilfs2: add missing blkdev_issue_flush() to nilfs_sync_fs() Under normal circumstances nilfs_sync_fs() writes out the super block, which causes a flush of the underlying block device. But this depends on the THE_NILFS_SB_DIRTY flag, which is only set if the pointer to the last segment crosses a segment boundary. So if only a small amount of data is written before the call to nilfs_sync_fs(), no flush of the block device occurs. In the above case an additional call to blkdev_issue_flush() is needed. To prevent unnecessary overhead, the new flag nilfs->ns_flushed_device is introduced, which is cleared whenever new logs are written and set whenever the block device is flushed. For convenience the function nilfs_flush_device() is added, which contains the above logic. Signed-off-by: Andreas Rohner <andreas.rohner@xxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f2a84f41aff6cefd1bc768738159d0cacea2f2d Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Mon Oct 13 15:53:18 2014 -0700 fs/befs/btree.c: remove typedef befs_btree_node The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for befs_btree_node. The following Coccinelle semantic patch detects the case. @tn1@ type td; @@ typedef struct { ... } td; @script:python tf@ td << tn1.td; tdres; @@ coccinelle.tdres = td; @@ type tn1.td; identifier tf.tdres; @@ -typedef struct + tdres { ... } -td ; @@ type tn1.td; identifier tf.tdres; @@ -td + struct tdres Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a882b14fe84951e236cd074e93575adc8a4be32e Author: Daniel Glöckner <daniel-gl@xxxxxxx> Date: Mon Oct 13 15:53:16 2014 -0700 rtc-cmos: fix wakeup from S5 without CONFIG_PM_SLEEP Commit b5ada4600dfd ("drivers/rtc/rtc-cmos.c: fix compilation warning when !CONFIG_PM_SLEEP") broke wakeup from S5 by making cmos_poweroff a nop unless CONFIG_PM_SLEEP was defined. Fix this by restricting the #ifdef to cmos_resume and restoring the old dependency on CONFIG_PM for cmos_suspend and cmos_poweroff. Signed-off-by: Daniel Glöckner <daniel-gl@xxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 706b632d042c87a288f8b9adc8b6c83207e6d452 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Mon Oct 13 15:53:14 2014 -0700 drivers/rtc/Kconfig: Let several drivers depend on HAS_IOMEM to avoid compiling issue Some drivers need 'devm_ioremap_resource' or 'devm_ioremap' which need HAS_IOMEM, so let them depend on it. The related error (with allmodconfig under score): MODPOST 1365 modules ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-xgene.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-stk17ta8.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1742.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1553.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1511.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1286.ko] undefined! ERROR: "devm_ioremap" [drivers/rtc/rtc-rp5c01.ko] undefined! ERROR: "devm_ioremap" [drivers/rtc/rtc-msm6242.ko] undefined! ERROR: "devm_ioremap" [drivers/rtc/rtc-m48t59.ko] undefined! ERROR: "devm_ioremap" [drivers/rtc/rtc-m48t35.ko] undefined! ERROR: "devm_ioremap" [drivers/rtc/rtc-bq4802.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b513e522cb8bda32560fb6b7f0475aa56e486ab9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:53:12 2014 -0700 drivers/rtc/rtc-rs5c372.c: use %*ph to dump small buffers Instead of pushing each byte let's reduce stack usage by using %*ph specifier. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ff38237f183ecd8a190318e0046138b92ee5e35 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 13 15:53:10 2014 -0700 drivers/rtc/rtc-pcf8563.c: fix pcf8563_irq() error return value As pointed out by Sergei Shtylyov, the pcf8563_irq function contains a bug in the error handling: an interrupt handler is not supposed to return an errno value but an 'enum irqreturn'. Let's fix this by returning IRQ_NONE in case of a communication error. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e698a51239f26c370247d759da9ea016f5841fc3 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 13 15:53:07 2014 -0700 drivers/rtc/rtc-pcf8563.c: fix uninitialized use warning gcc-4.9 found a potential condition under which the 'pending' variable may be used uninitialized: drivers/rtc/rtc-pcf8563.c: In function 'pcf8563_irq': drivers/rtc/rtc-pcf8563.c:173:5: warning: 'pending' may be used uninitialized in this function [-Wmaybe-uninitialized] This is because in the pcf8563_get_alarm_mode() function, we check any nonzero return of pcf8563_read_block_data, but in the irq function we only check for negative values, so a possible positive value does not get detected if the compiler chooses not to inline the entire call chain. Checking for any non-zero value in the interrupt handler as well is just as correct and lets the compiler know what we are doing, without needing a bogus initialization. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a4d4121ba753737c89e42a8df22e4859069fcf25 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:53:05 2014 -0700 rtc: add driver for Maxim 77802 PMIC Real-Time-Clock The MAX7802 PMIC has a Real-Time-Clock (RTC) with two alarms. This patch adds support for the RTC and is based on a driver added by Simon Glass to the Chrome OS kernel 3.8 tree. [akpm@xxxxxxxxxxxxxxxxxxxx: add comment clarifying ffs() use] Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Simon Glass <sjg@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a20cd88e20e59ce11ebca84fac769654193c51e0 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:53:03 2014 -0700 rtc: max77686: Use ffs() to calculate tm_wday max77686_rtc_calculate_wday() is used to calculate the day of the week to be filled in struct rtc_time but that function only calculates the number of bits shifted. So the ffs() function can be used to find the first bit set instead of a special function. [akpm@xxxxxxxxxxxxxxxxxxxx: add comment clarifying ffs() use] Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ea33c31b621e296356ab74ea0237ba7761f2287e Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:53:01 2014 -0700 rtc: max77686: remove unneeded info log If devm_rtc_device_register() fails a dev_err() is already reported so there is no need to do an additional dev_info(). Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1745d6d3bc181800ba2e0930ab15432b3e2755ff Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:59 2014 -0700 rtc: max77686: fail to probe if no RTC regmap irqchip is set The max77686 mfd driver adds a regmap IRQ chip which creates an IRQ domain that is used to map the virtual RTC alarm1 interrupt. The RTC driver assumes that this will always be true since the PMIC IRQ is a required property according to the max77686 DT binding doc. If an "interrupts" property is not defined for a max77686 PMIC, then the mfd probe function will fail and the RTC platform driver will never be probed. But even when it is not possible to probe the rtc-max77686 driver without a regmap IRQ chip, it's better to explicitly check if the IRQ chip data is not NULL and gracefully fail instead of getting an OOPS. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b50fac5ddb9748487aab3c5f8d323da01a6648f Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:57 2014 -0700 rtc: max77686: remove dead code for SMPL and WTSR The MAX77686 RTC chip has two features called SMPL (Sudden Momentary Power Loss) and WTSR (Watchdog Timeout and Software Resets). Support for these features seems to be implemented in the driver but compilation is disabled using a C pre-processor conditional. This code has been disabled since the driver was original merged in commit fca1dd031a28 ("rtc: max77686: add Maxim 77686 driver"). So, since this code has never been built, let's just remove it. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e7f7fc73693e0a9de693f261d63aa681f7979c33 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Oct 13 15:52:55 2014 -0700 rtc: max77686: Allow the max77686 rtc to wakeup the system This series add support for the Real Time clock present in the Maxim 77802 Power Managment IC. The version number is quite high because it previously was part of a bigger series [0] that aimed to add support for all the devices in the max77802 PMIC. But now that the max77802 dependencies were already merged for 3.17, the series were split but I kept the version numbering. While working on the max77802 rtc support a lot of feedback was given and the issues pointed out also apply to a driver for a similar PMIC RTC (max77686). So patches 01/06 to 05/06 in the series are cleanups for the max77686 driver and patch 06/06 adds the support for the max77802 RTC. The series were tested on an Exynos5250 Snow (max77686) and Exynos5420 Peach Pit (max77802) machines. This patch (of 6): The max77686 includes an RTC that keeps power during suspend. It's convenient to be able to use it as a wakeup source. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d5fae669a99d00dc9362da354f2b9fdfbeb669a7 Author: Pavel Machek <pavel@xxxxxx> Date: Mon Oct 13 15:52:52 2014 -0700 rtc: bq32000: add trickle charger device tree binding BQ32000 have "trickle chargers". Introduce a device tree binding for specifying the trickle charger configuration for that. Signed-off-by: Pavel Machek <pavel@xxxxxxx> Reviewed-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Matti Vaittinen <matti.vaittinen@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 765a98a6b9e71702fd8e3822b654f9041a206b47 Author: Pavel Machek <pavel@xxxxxx> Date: Mon Oct 13 15:52:50 2014 -0700 rtc: bq32000: add trickle charger option, with device tree binding BQ32000 devices have "trickle chargers". Introduce a code to enable the charger, based on device tree. Without charger, RTC does not keep time after power off. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Pavel Machek <pavel@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Matti Vaittinen <matti.vaittinen@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 33b04b7b7c03d04584be3f91ebc1eb40eb1ed33c Author: Matti Vaittinen <matti.vaittinen@xxxxxxx> Date: Mon Oct 13 15:52:48 2014 -0700 rtc: ds1307: add trickle charger device tree binding Some DS13XX devices have "trickle chargers". Introduce a device tree binding for specifying the trickle charger configuration for ds1339. Only ds1339 dt binding is supported because this is the only chip I have. I _assume_ the code would have worked on other allready supported chips. However I cannot check the resistor values for the other chips or test them. For other chips the driver code works as earlier Eg. it does not check the dt bindings at all Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Pavel Machek <pavel@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2ac848c018615bf3605faa711207518292d4bfef Author: Matti Vaittinen <matti.vaittinen@xxxxxxx> Date: Mon Oct 13 15:52:46 2014 -0700 Documentation: dt-bindings: trickle charger dt binding document for ds1339 Some DS13XX devices have "trickle chargers". Introduce a device tree binding for the resistor and diode configuration for enabling trickle charger. Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Pavel Machek <pavel@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 038b892aa925cd0530472284c7b4b3f32e2b1f56 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:44 2014 -0700 clk: RK808: add clkout driver for RK808 This is the initial version of the RK808 PMIC. This is a power management IC for multimedia products. It provides regulators that are able to supply power to processor cores and other components. The chip provides other modules including RTC, Clockout. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> says: Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Cc: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ca1e326f5952f3acca320b8a91d92393a188c15 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:42 2014 -0700 RTC: RK808: add RTC driver for RK808 This is the initial version of the RK808 PMIC. This is a power management IC for multimedia products. It provides regulators that are able to supply power to processor cores and other components. The chip provides other modules including RTC, Clockout. Add RTC driver for supporting RTC device present inside RK808 PMIC. [akpm@xxxxxxxxxxxxxxxxxxxx: make tm_def static] Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Zhang Qing <zhangqing@xxxxxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> says: Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Cc: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a28885bc75da0aac61b975eb9c103407dbdf5cb5 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:39 2014 -0700 rtc: make of_device_ids const of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. This allows to mark all struct of_device_id below drivers/rtc const, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 78230477656295808c66226880d794818694e7f1 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Oct 13 15:52:37 2014 -0700 ARM: dts: fix wrong compatible string of Exynos3250 RTC dt node Fix wrong compatible string of Exynos3250 RTC (Real-Time Clock) dt node. The RTC of Exynos3250 must need additional source clock (XrtcXTI). Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit df9e26d093d33a097c5558aab017dd2f540ccfe5 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Oct 13 15:52:35 2014 -0700 rtc: s3c: add support for RTC of Exynos3250 SoC Add support for RTC of Exynos3250 SoC. The Exynos3250 needs source clock(32.768KHz) for RTC block. If source clock of RTC is registerd on clock list of common clk framework, Exynos RTC drvier have to control this clock. Clock list for s3c-rtc device: - rtc : CLK_RTC of CLK_GATE_IP_PERIR is gate clock for RTC. - rtc_src : XrtcXTI is 32.768.kHz source clock for RTC. (XRTCXTI: Specifies a clock from 32.768 kHz crystal pad with XRTCXTI and XRTCXTO pins. RTC uses this clock as the source of a real-time clock.) Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ae05c95074e0ead8a8fda4aca066e10270086e3f Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Oct 13 15:52:33 2014 -0700 rtc: s3c: add s3c_rtc_data structure to use variant data instead of s3c_cpu_type Add s3c_rtc_data structure to variant data according to SoC type. The s3c_rtc_data structure includes some functions to control RTC operation and specific data dependent on SoC type. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d67288da51b782f54dd3ae1455b997131160fd41 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Oct 13 15:52:31 2014 -0700 rtc: s3c: remove warning message when checking coding style with checkpatch script Remove warning message when checking codeing style with checkpatch script and reduce un-necessary i2c read operation on s3c_rtc_enable. WARNING: line over 80 characters #406: FILE: drivers/rtc/rtc-s3c.c:406: + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_RTCEN) == 0) { WARNING: line over 80 characters #414: FILE: drivers/rtc/rtc-s3c.c:414: + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_CNTSEL)) { WARNING: line over 80 characters #422: FILE: drivers/rtc/rtc-s3c.c:422: + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_CLKRST)) { WARNING: Missing a blank line after declarations #451: FILE: drivers/rtc/rtc-s3c.c:451: + struct s3c_rtc_drv_data *data; + if (pdev->dev.of_node) { WARNING: Missing a blank line after declarations #453: FILE: drivers/rtc/rtc-s3c.c:453: + const struct of_device_id *match; + match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node); WARNING: DT compatible string "samsung,s3c2416-rtc" appears un-documented -- check ./Documentation/devicetree/bindings/ #650: FILE: drivers/rtc/rtc-s3c.c:650: + .compatible = "samsung,s3c2416-rtc", WARNING: DT compatible string "samsung,s3c2443-rtc" appears un-documented -- check ./Documentation/devicetree/bindings/ #653: FILE: drivers/rtc/rtc-s3c.c:653: + .compatible = "samsung,s3c2443-rtc", Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 19be09f51d36101e4dc1577eb73ff8397bedd0a3 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Oct 13 15:52:28 2014 -0700 rtc: s3c: define s3c_rtc structure to remove global variables. Define s3c_rtc structure including necessary variables for S3C RTC device instead of global variables. This patch improves the readability by removing global variables. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 473b86451276d6d342ecd26d5e503163c30ea974 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Oct 13 15:52:26 2014 -0700 rtc: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 87d672cbd512c8dca01423381c94ac3658db0a18 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:24 2014 -0700 autofs: the documentation I wanted to read This documents autofs from the perspective of what the module actually supports rather than how automount is expected to use it. It is formatted using "markdown" and works best with Markdown.pl (markdown_py doesn't like some constructs). [rdunlap@xxxxxxxxxxxxx: copy editing] Signed-off-by: NeilBrown <neilb@xxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Acked-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ef16cc5909c907586f4eba5455e183fd319637c8 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:22 2014 -0700 autofs4: d_manage() should return -EISDIR when appropriate in rcu-walk mode. If rcu-walk mode we don't *have* to return -EISDIR for non-mount-traps as we will simply drop into REF-walk and handling DCACHE_NEED_AUTOMOUNT dentrys the slow way. But it is better if we do when possible. In 'oz_mode', use the same condition as ref-walk: if not a mountpoint, then it must be -EISDIR. In regular mode there are most tests needed. Most of them can be performed without taking any spinlocks. If we find a directory that isn't obviously empty, and isn't mounted on, we need to call 'simple_empty()' which does take a spinlock. If this turned out to hurt performance, some other approach could be found to signal when a directory is known to be empty. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Ian Kent <raven@xxxxxxxxxx> Tested-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4d885f90e3784df77945101d8ec32dc798a49862 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:20 2014 -0700 autofs4: avoid taking fs_lock during rcu-walk ->fs_lock protects AUTOFS_INF_EXPIRING. We need to be sure that once the flag is set, no new references beneath the dentry are taken. So rcu-walk currently needs to take fs_lock before checking the flag. This hurts performance. Change the expiry to a two-stage process. First set AUTOFS_INF_NO_RCU which forces any path walk into ref-walk mode, then drop the lock and call synchronize_rcu(). Once that returns we can be sure no rcu-walk is active beneath the dentry and we can check reference counts again. Now during an RCU-walk we can test AUTOFS_INF_EXPIRING without taking the lock as along as we test AUTOFS_INF_NO_RCU too. If either are set, we must abort the RCU-walk If neither are set, we know that refcounts will be tested again after we finish the RCU-walk so we are safe to continue. ->fs_lock is still taken in d_manage() to check for a non-trap directory. That will be resolved in the next patch. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Ian Kent <raven@xxxxxxxxxx> Tested-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6ece08e6187a62dd5bdf7c49539980571922c551 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:18 2014 -0700 autofs4: make "autofs4_can_expire" idempotent. Have a "test" function change the value it is testing can be confusing, particularly as a future patch will be calling this function twice. So move the update for 'last_used' to avoid repeat expiry to the place where the final determination on what to expire is known. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Ian Kent <raven@xxxxxxxxxx> Tested-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a5d1dba1430f059d5bb4bf1d95274ff01ccad3d9 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:16 2014 -0700 autofs4: factor should_expire() out of autofs4_expire_indirect. Future patch will potentially call this twice, so make it separate. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Ian Kent <raven@xxxxxxxxxx> Tested-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 23bfc2a24ea3d993cc5cc90c9970654e7232502e Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:14 2014 -0700 autofs4: allow RCU-walk to walk through autofs4 This series teaches autofs about RCU-walk so that we don't drop straight into REF-walk when we hit an autofs directory, and so that we avoid spinlocks as much as possible when performing an RCU-walk. This is needed so that the benefits of the recent NFS support for RCU-walk are fully available when NFS filesystems are automounted. Patches have been carefully reviewed and tested both with test suites and in production - thanks a lot to Ian Kent for his support there. This patch (of 6): Any attempt to look up a pathname that passes though an autofs4 mount is currently forced out of RCU-walk into REF-walk. This can significantly hurt performance of many-thread work loads on many-core systems, especially if the automounted filesystem supports RCU-walk but doesn't get to benefit from it. So if autofs4_d_manage is called with rcu_walk set, only fail with -ECHILD if it is necessary to wait longer than a spinlock. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Ian Kent <raven@xxxxxxxxxx> Tested-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a273345dcb1d74d12f28a0a76320b23e7e32f55 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:52:12 2014 -0700 fs/ncpfs/dir.c: remove redundant sys_tz declaration sys_tz is already declared in include/linux/time.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: Petr Vandrovec <petr@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0049f26ae0ad00016d8e237a6d712bff155cedc5 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:10 2014 -0700 kernel/kallsyms.c: use __seq_open_private() Reduce boilerplate code by using __seq_open_private() instead of seq_open() in kallsyms_open(). Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Cc: Gideon Israel Dsouza <gidisrael@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de8288b1f87146da06f6912028a1a9615a75c987 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 13 15:52:08 2014 -0700 binfmt_misc: work around gcc-4.9 warning gcc-4.9 on ARM gives us a mysterious warning about the binfmt_misc parse_command function: fs/binfmt_misc.c: In function 'parse_command.part.3': fs/binfmt_misc.c:405:7: warning: array subscript is above array bounds [-Warray-bounds] I've managed to trace this back to the ARM implementation of memset, which is called from copy_from_user in case of a fault and which does #define memset(p,v,n) \ ({ \ void *__p = (p); size_t __n = n; \ if ((__n) != 0) { \ if (__builtin_constant_p((v)) && (v) == 0) \ __memzero((__p),(__n)); \ else \ memset((__p),(v),(__n)); \ } \ (__p); \ }) Apparently gcc gets confused by the check for "size != 0" and believes that the size might be zero when it gets to the line that does "if (s[count-1] == '\n')", so it would access data outside of the array. gcc is clearly wrong here, since this condition was already checked earlier in the function and the 'size' value can not change in the meantime. Fortunately, we can work around it and get rid of the warning by rearranging the function to check for zero size after doing the copy_from_user. It is still safe to pass a zero size into copy_from_user, so it does not cause any side effects. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 43bd40e5b6eab989a2186b09d45b8ff8efd127b2 Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Mon Oct 13 15:52:05 2014 -0700 binfmt_misc: touch up documentation a bit Line wrap the content to 80 cols, and add more details to various fields to match the code. Drop reference to a website that does not exist anymore. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bbaecc088245e840e59a5abe23d69cf7748b3c88 Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Mon Oct 13 15:52:03 2014 -0700 binfmt_misc: expand the register format limit to 1920 bytes The current code places a 256 byte limit on the registration format. This ends up being fairly limited when you try to do matching against a binary format like ELF: - the magic & mask formats cannot have any embedded NUL chars (string_unescape_inplace halts at the first NUL) - each escape sequence quadruples the size: \x00 is needed for NUL - trying to match bytes at the start of the file as well as further on leads to a lot of \x00 sequences in the mask - magic & mask have to be the same length (when decoded) - still need bytes for the other fields - impossible! Let's look at a concrete (and common) example: using QEMU to run MIPS ELFs. The name field uses 11 bytes "qemu-mipsel". The interp uses 20 bytes "/usr/bin/qemu-mipsel". The type & flags takes up 4 bytes. We need 7 bytes for the delimiter (usually ":"). We can skip offset. So already we're down to 107 bytes to use with the magic/mask instead of the real limit of 128 (BINPRM_BUF_SIZE). If people use shell code to register (which they do the majority of the time), they're down to ~26 possible bytes since the escape sequence must be \x##. The ELF format looks like (both 32 & 64 bit): e_ident: 16 bytes e_type: 2 bytes e_machine: 2 bytes Those 20 bytes are enough for most architectures because they have so few formats in the first place, thus they can be uniquely identified. That also means for shell users, since 20 is smaller than 26, they can sanely register a handler. But for some targets (like MIPS), we need to poke further. The ELF fields continue on: e_entry: 4 or 8 bytes e_phoff: 4 or 8 bytes e_shoff: 4 or 8 bytes e_flags: 4 bytes We only care about e_flags here as that includes the bits to identify whether the ELF is O32/N32/N64. But now we have to consume another 16 bytes (for 32 bit ELFs) or 28 bytes (for 64 bit ELFs) just to match the flags. If every byte is escaped, we send 288 more bytes to the kernel ((20 {e_ident,e_type,e_machine} + 12 {e_entry,e_phoff,e_shoff} + 4 {e_flags}) * 2 {mask,magic} * 4 {escape}) and we've clearly blown our budget. Even if we try to be clever and do the decoding ourselves (rather than relying on the kernel to process \x##), we still can't hit the mark -- string_unescape_inplace treats mask & magic as C strings so NUL cannot be embedded. That leaves us with having to pass \x00 for the 12/24 entry/phoff/shoff bytes (as those will be completely random addresses), and that is a minimum requirement of 48/96 bytes for the mask alone. Add up the rest and we blow through it (this is for 64 bit ELFs): magic: 20 {e_ident,e_type,e_machine} + 24 {e_entry,e_phoff,e_shoff} + 4 {e_flags} = 48 # ^^ See note below. mask: 20 {e_ident,e_type,e_machine} + 96 {e_entry,e_phoff,e_shoff} + 4 {e_flags} = 120 Remember above we had 107 left over, and now we're at 168. This is of course the *best* case scenario -- you'll also want to have NUL bytes in the magic & mask too to match literal zeros. Note: the reason we can use 24 in the magic is that we can work off of the fact that for bytes the mask would clobber, we can stuff any value into magic that we want. So when mask is \x00, we don't need the magic to also be \x00, it can be an unescaped raw byte like '!'. This lets us handle more formats (barely) under the current 256 limit, but that's a pretty tall hoop to force people to jump through. With all that said, let's bump the limit from 256 bytes to 1920. This way we support escaping every byte of the mask & magic field (which is 1024 bytes by themselves -- 128 * 4 * 2), and we leave plenty of room for other fields. Like long paths to the interpreter (when you have source in your /really/long/homedir/qemu/foo). Since the current code stuffs more than one structure into the same buffer, we leave a bit of space to easily round up to 2k. 1920 is just as arbitrary as 256 ;). Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f78d98f6ce66fc7cc0be714d56b0240923a8b4f4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:52:01 2014 -0700 checkpatch: warn on logging functions with KERN_<LEVEL> Warn on probable misuses of logging functions with KERN_<LEVEL> like pr_err(KERN_ERR "foo\n"); Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Suggested-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 840080a08492bd2bb3314077b672b59c88bbe0e6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:51:59 2014 -0700 checkpatch: add exception to return then else test Add an exception to the return before else warning when the line following it is also a return like: if (foo) return bar; else return baz; This form of a test then return is at least as readable as if (foo) return bar; return baz; so don't emit a warning on the first form. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Elshad Mustafayev <elshadimo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 66b47b4a9dad00e45c049d79966de9a3a1f4d337 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Mon Oct 13 15:51:57 2014 -0700 checkpatch: look for common misspellings Check for misspellings, based on Debian's lintian list. Several false positives were removed, and several additional words added that were common in the kernel: backword backwords invalide valide recieves singed unsinged While going back and fixing existing spelling mistakes isn't a high priority, it'd be nice to try to catch them before they hit the tree. In the 13830 commits between 3.15 and 3.16, the script would have noticed 560 spelling mistakes. The top 25 are shown here: $ git log --pretty=oneline v3.15..v3.16 | wc -l 13830 $ git log --format='%H' v3.15..v3.16 | \ while read commit ; do \ echo "commit $commit" ; \ git log --format=email --stat -p -1 $commit | \ ./scripts/checkpatch.pl --types=typo_spelling --no-summary - ; \ done | tee spell_v3.15..v3.16.txt | grep "may be misspelled" | \ awk '{print $2}' | tr A-Z a-z | sort | uniq -c | sort -rn 21 'seperate' 17 'endianess' 15 'sucess' 13 'noticable' 11 'occured' 11 'accomodate' 10 'interrup' 9 'prefered' 8 'unecessary' 8 'explicitely' 7 'supress' 7 'overriden' 7 'immediatly' 7 'funtion' 7 'defult' 7 'childs' 6 'succesful' 6 'splitted' 6 'specifc' 6 'reseting' 6 'recieve' 6 'changable' 5 'tmis' 5 'singed' 5 'preceeding' Thanks to Joe Perches for rewrites, suggestions, additional misspelling entries, and testing. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08a2843e77fc581d204c1e83de4678b746cdbd6e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:51:55 2014 -0700 checkpatch: warn on macros with flow control statements Macros with flow control statements (goto and return) are not very nice to read as any flow movement is unexpected. Try to highlight them and emit a warning on their definition. Avoid warning on macros that use argument concatenation as those macros commonly create another function where the concatenation is used in the function name definition like: #define FOO_FUNC(name, rtn_type) \ rtn_type func##name(arg1, ...) \ { \ rtn_type rtn; \ [code...] \ return rtn; \ } Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d2207ccbc59900311c88bb9150b24253cd4ddd49 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:51:53 2014 -0700 checkpatch: remove unnecessary + after {8,8} There's a useless "+" use that needs to be removed as perl 5.20 emits a "Useless use of greediness modifier '+'" message each time it's hit. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f17dba4fc0496eb0daf018074fccebdc85993c75 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:51:51 2014 -0700 checkpatch: add --strict test for concatenated string elements Using a space between concatenated string elements is easier for a human to read. ie: "String"FOO"bar" is easier to read as: "String" FOO "bar" So suggest this style with a --strict command line option. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 56193274ef54265afc93fd282655836595fcff9d Author: Vadim Bendebury <vbendeb@xxxxxxxxxxxx> Date: Mon Oct 13 15:51:48 2014 -0700 checkpatch: allow optional shorter config descriptions This script is used by many other projects, and in some of them the requirement of at least 4 line long description for all Kconfig items is excessive. This patch adds a command line option to control the required minimum length. Tested running this script over a patch including a two line config description. The script generated a warning when invoked as is, and did not generate it when invoked with --min-conf-desc-length=2. Signed-off-by: Vadim Bendebury <vbendeb@xxxxxxxxxxxx> Acked-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de4c924c265049e576036d1ee6fc9dfefeb5ae87 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Oct 13 15:51:46 2014 -0700 checkpatch: enable whitespace checks for DTS files When run on *.dtsi or *.dts files, the whitespace checks were skipped, while they are valid for DTS files. Hence stop skipping them. I ran checkpatch on all in-tree DTS files, and didn't notice any error or warning messages that are inappropriate for DTS files. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdcee686ee9047185b7a484614f6c2faa5c4a7bb Author: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Date: Mon Oct 13 15:51:44 2014 -0700 checkpatch: update $allowed_asm_includes macros, add reboot.h and time.h Several architectures (e.g. x86, MIPS, Blackfin) have asm/reboot.h and asm/time.h header files, which are not included in linux/reboot.h and linux/time.h headers. This lead to generation of false positive errors. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 72c231cb70eddb56e7e532f64dc22301044486dc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:51:42 2014 -0700 checkpatch: remove debugging message An unnecessary --fix debugging left-over is removed. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 388982b55e3290d4970e4c2951f3f6348fd0c54b Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:40 2014 -0700 checkpatch: fix spello The plural of parenthesis is parentheses. Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a6f0b47dad5f8653f2f6ca6360f9f97b8113571 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Oct 13 15:51:38 2014 -0700 lib: rename TEST_MODULE to TEST_LKM The "_MODULE" suffix is reserved for tristates compiled as loadable kernel modules (LKM). The "TEST_MODULE" feature thereby violates this convention. The feature is used to compile the lib/test_module.c kernel module. Sadly this convention is not made explicit, but the Kconfig code documents it. The following code (./scripts/kconfig/confdata.c) is used to generate the autoconf.h header file during the build process. When a feature is selected as a kernel module ('m'), it is suffixed with "_MODULE" to indicate it. switch (*value) { case 'n': break; case 'm': suffix = "_MODULE"; /* fall through */ This causes problems for static code analysis, which assumes a consistent use of the "_MODULE" suffix. This patch renames the feature and its reference in a Makefile to "TEST_LKM", which still expresses the test of a LKM. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6de8ab68bc30da75116209d818c75497bdaed09d Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:36 2014 -0700 lib: remove prio_heap The prio_heap code is unused since commit 889ed9ceaa97 ("cgroup: remove css_scan_tasks()"). It should be compiled out to shrink the binary kernel size which can be done via introducing CONFIG_PRIO_HEAD or by removing the code. We can simply recover the code from git when needed, so it would be better to remove it IMO. Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Francesco Fusco <ffusco@xxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fec22908323dc56ce38b835f5a67cce30fc7b6fc Author: Raphael Silva <rapphil@xxxxxxxxx> Date: Mon Oct 13 15:51:34 2014 -0700 lib/textsearch.c: remove textsearch_put reference from comments There is no textsearch_put(). Remove it from the comments to avoid misunderstanding. Textsearch prepare no longer needs textsearch_put(). Signed-off-by: Raphael Silva <rapphil@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4bad78c550025346de3fc5820e366c7b525e1889 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:32 2014 -0700 lib/dynamic_debug.c: use seq_open_private() instead of seq_open() Using seq_open_private() removes boilerplate code from ddebug_proc_open(). The resultant code is shorter and easier to follow. This patch does not change any functionality. Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Acked-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b21d9ca17ff8ed0dbf650f4162ee2d59bb5a881 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:30 2014 -0700 list: include linux/kernel.h linux/list.h uses container_of, therefore it depends on linux/kernel.h. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit af9f1b3c7fa953d3df82a4548d8984de40ac9017 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:28 2014 -0700 MAINTAINERS: remove Chirag Kantharia, invalid e-mail This removes Chirag Kantharia from the MAINTAINERS file, as his e-mail address is now rejected by the HP mail server. Make the driver "Orphan" until he gets back with a working e-mail address or a new maintainer steps in. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b4174867bee83e79dc155479cb1b67c452da6476 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:26 2014 -0700 MAINTAINERS: orphan m32r Update the maintenance status for m32r - Removing Hirokazu Takata as maintainer (last commit merged: Nov. 2009) - Remove mailing lists that no longer exist, as the ml.linux-m32r.org subdomain no longer exists. - Maintenance status moved to "Orphan" Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Acked-by: Hirokazu Takata <takata@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5cbac98ad146af2da00bdf004a36b684cb1dc632 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Mon Oct 13 15:51:24 2014 -0700 MAINTAINERS: add atmel nand driver maintainer entry Add an entry in MAINTAINERS file for ATMEL nand driver. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 13b122b3e5843f6177d22bd9484ef58b3660e7da Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:21 2014 -0700 MAINTAINERS: add entry for Kernel Selftest Framework Add entry for Kernel Selftest Framework. Individual tests continue to be maintained by the maintainers for those areas. Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8ada6d2d3063148202caa43b9bf375e646a4efb3 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Oct 13 15:51:19 2014 -0700 MAINTAINERS: linaro-mm-sig is moderated Previous patch is awaiting moderator approval for posting to this mailing list. Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 004bbd3c01d4811d9bd88061d44773943c4df87b Author: Christian Kujau <lists@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:17 2014 -0700 MAINTAINERS: remove non existent files Inspired by some recent cleanups in MAINTAINERS the following files (F:) cannot be found any more in the tree: * arch/arm/mach-s5pv210/mach-aquila.c * arch/arm/mach-s5pv210/mach-goni.c Those two got removed in commit 28c8331d386a ("ARM: S5PV210: Remove support for board files"). Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> * drivers/rtc/rtc-sec.c A MAINTAINERS fix was attempted in November 2012, but dismissed as rtc-sec.c was still being worked on. Alas, it's still not there. "MAINTAINERS: fix drivers/rtc/rtc-sec.c" http://lkml.iu.edu/hypermail/linux/kernel/1211.2/04820.html Cc: Sangbeom Kim <sbkim73@xxxxxxxxxxx> Cc: Cesar Eduardo Barros <cesarb@xxxxxxxxxxxxx> Signed-off-by: Christian Kujau <lists@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fb9d4959d2fbe564720b9a00ed6dabeca0870811 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Oct 13 15:51:15 2014 -0700 MAINTAINERS: assign systemace driver to Xilinx Assign systemace driver to Xilinx Zynq to ensure if there is a change that someone can even test it. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 98e35f5894cf208084688ec0c7bb7b713efc997f Author: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:13 2014 -0700 printk: git rid of [sched_delayed] message for printk_deferred Commit 458df9fd4815 ("printk: remove separate printk_sched buffers and use printk buf instead") hardcodes printk_deferred() to KERN_WARNING and inserts the string "[sched_delayed] " before the actual message. However it doesn't take into account the KERN_* prefix of the message, that now ends up in the middle of the output: [sched_delayed] ^a4CE: hpet increased min_delta_ns to 20115 nsec Fix this by just getting rid of the "[sched_delayed] " scnprintf(). The prefix is useless since 458df9fd4815 anyway since from that moment printk_deferred() inserts the message into the kernel printk buffer immediately. So if the message eventually gets printed to console, it is printed in the correct order with other messages and there's no need for any special prefix. And if the kernel crashes before the message makes it to console, then prefix in the printk buffer doesn't make the situation any better. Link: http://lkml.org/lkml/2014/9/14/4 Signed-off-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Acked-by: Jan Kara <jack@xxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2240a31db67582468e2f7a5a5962b7d0ffaaa6a4 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:11 2014 -0700 printk: don't bother using LOG_CPU_MAX_BUF_SHIFT on !SMP When configuring a uniprocessor kernel, don't bother the user with an irrelevant LOG_CPU_MAX_BUF_SHIFT question, and don't build the unused code. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de9e14eebf33a60712a52a0bc6e08c043c0aba53 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Oct 13 15:51:09 2014 -0700 drivers: dma-contiguous: add initialization from device tree Add a function to create CMA region from previously reserved memory and add support for handling 'shared-dma-pool' reserved-memory device tree nodes. Based on previous code provided by Josh Cartwright <joshc@xxxxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7bfa5ab6fa1b18f53fb94f922e107e6fbdc5e485 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Oct 13 15:51:07 2014 -0700 drivers: dma-coherent: add initialization from device tree Initialization procedure of dma coherent pool has been split into two parts, so memory pool can now be initialized without assigning to particular struct device. Then initialized region can be assigned to more than one struct device. To protect from concurent allocations from structure. The last part of this patch adds support for handling 'shared-dma-pool' reserved-memory device tree nodes. [akpm@xxxxxxxxxxxxxxxxxxxx: use more appropriate printk facility levels] [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 71458cfc782eafe4b27656e078d379a34e472adf Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Mon Oct 13 15:51:05 2014 -0700 kernel: add support for gcc 5 We're missing include/linux/compiler-gcc5.h which is required now because gcc branched off to v5 in trunk. Just copy the relevant bits out of include/linux/compiler-gcc4.h, no new code is added as of now. This fixes a build error when using gcc 5. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 68faed630fc151a7a1c4853df00fb3dcacf782b4 Author: Weijie Yang <weijie.yang@xxxxxxxxxxx> Date: Mon Oct 13 15:51:03 2014 -0700 mm/cma: fix cma bitmap aligned mask computing The current cma bitmap aligned mask computation is incorrect. It could cause an unexpected alignment when using cma_alloc() if the wanted align order is larger than cma->order_per_bit. Take kvm for example (PAGE_SHIFT = 12), kvm_cma->order_per_bit is set to 6. When kvm_alloc_rma() tries to alloc kvm_rma_pages, it will use 15 as the expected align value. After using the current implementation however, we get 0 as cma bitmap aligned mask other than 511. This patch fixes the cma bitmap aligned mask calculation. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Weijie Yang <weijie.yang@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.17] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 85c9f4b04a08f6bc770b77530c22d04103468b8f Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Mon Oct 13 15:51:01 2014 -0700 mm/slab: fix unaligned access on sparc64 Commit bf0dea23a9c0 ("mm/slab: use percpu allocator for cpu cache") changed the allocation method for cpu cache array from slab allocator to percpu allocator. Alignment should be provided for aligned memory in percpu allocator case, but, that commit mistakenly set this alignment to 0. So, percpu allocator returns unaligned memory address. It doesn't cause any problem on x86 which permits unaligned access, but, it causes the problem on sparc64 which needs strong guarantee of alignment. Following bug report is reported from David Miller. I'm getting tons of the following on sparc64: [603965.383447] Kernel unaligned access at TPC[546b58] free_block+0x98/0x1a0 [603965.396987] Kernel unaligned access at TPC[546b60] free_block+0xa0/0x1a0 ... [603970.554394] log_unaligned: 333 callbacks suppressed ... This patch provides a proper alignment parameter when allocating cpu cache to fix this unaligned memory access problem on sparc64. Reported-by: David Miller <davem@xxxxxxxxxxxxx> Tested-by: David Miller <davem@xxxxxxxxxxxxx> Tested-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a86073e48ae85c9b50127facb0cc45bbd35972a1 Author: Jens Axboe <axboe@xxxxxx> Date: Mon Oct 13 15:41:54 2014 -0600 blk-mq: allocate cpumask on the home node All other allocs are done on the specific node, somehow the cpumask for hw queue runs was missed. Fix that by using zalloc_cpumask_var_node() in blk_mq_init_queue(). Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b65c7491cb865577e83e6b7fae2aa2f4ea457c38 Author: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Date: Mon Oct 13 14:07:27 2014 -0700 bio-integrity: remove the needless fail handle of bip_slab creating bip_slab is created with SLAB_PANIC, so the fail handler is unneeded. Signed-off-by: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5f786595a291092d20fafe10c5a30378971a8cc3 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Jul 19 17:04:05 2014 +0530 um: net: Eliminate NULL test after alloc_bootmem alloc_bootmem and related functions never return NULL. Thus a NULL test or memset after calls to these functions is unnecessary. The following Coccinelle semantic patch was used for making the change: @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...) ... when != E - if (E == NULL) S Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 970e51feaddbc33ed0e7d187af7f69d1a12c7b6a Author: Daniel Walter <dwalter@xxxxxxxxxx> Date: Wed Aug 20 10:56:00 2014 +0100 um: Add support for CONFIG_STACKTRACE Add stacktrace support for User Mode Linux Signed-off-by: Daniel Walter <dwalter@xxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 2a2361228c5e6d8c1733f00653481de918598e50 Author: Thorsten Knabe <linux@xxxxxxxxxxxxxxxxx> Date: Sat Aug 23 15:47:38 2014 +0200 um: ubd: Fix for processes stuck in D state forever Starting with Linux 3.12 processes get stuck in D state forever in UserModeLinux under sync heavy workloads. This bug was introduced by commit 805f11a0d5 (um: ubd: Add REQ_FLUSH suppport). Fix bug by adding a check if FLUSH request was successfully submitted to the I/O thread and keeping the FLUSH request on the request queue on submission failures. Fixes: 805f11a0d5 (um: ubd: Add REQ_FLUSH suppport) Signed-off-by: Thorsten Knabe <linux@xxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx # >= 3.12 Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d5d962265d99088ce96480db3e61358d7170e24c Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Wed Sep 17 09:56:40 2014 +0100 fs/fscache/object-list.c: use __seq_open_private() Reduce boilerplate code by using __seq_open_private() instead of seq_open() in fscache_objlist_open(). Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Steve Dickson <steved@xxxxxxxxxx> commit a30efe261b5a8fb2e3cf8ea9c3aca51e0619c2cc Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 30 14:50:30 2014 +0100 CacheFiles: Fix incorrect test for in-memory object collision When CacheFiles cache objects are in use, they have in-memory representations, as defined by the cachefiles_object struct. These are kept in a tree rooted in the cache and indexed by dentry pointer (since there's a unique mapping between object index key and dentry). Collisions can occur between a representation already in the tree and a new representation being set up because it takes time to dispose of an old representation - particularly if it must be unlinked or renamed. When such a collision occurs, cachefiles_mark_object_active() is meant to check to see if the old, already-present representation is in the process of being discarded (ie. FSCACHE_OBJECT_IS_LIVE is not set on it) - and, if so, wait for the representation to be removed (ie. CACHEFILES_OBJECT_ACTIVE is then cleared). However, the test for whether the old representation is still live is checking the new object - which always will be live at this point. This leads to an oops looking like: CacheFiles: Error: Unexpected object collision object: OBJ1b354 objstate=LOOK_UP_OBJECT fl=8 wbusy=2 ev=0[0] ops=0 inp=0 exc=0 parent=ffff88053f5417c0 cookie=ffff880538f202a0 [pr=ffff8805381b7160 nd=ffff880509c6eb78 fl=27] key=[8] '2490000000000000' xobject: OBJ1a600 xobjstate=DROP_OBJECT fl=70 wbusy=2 ev=0[0] xops=0 inp=0 exc=0 xparent=ffff88053f5417c0 xcookie=ffff88050f4cbf70 [pr=ffff8805381b7160 nd= (null) fl=12] ------------[ cut here ]------------ kernel BUG at fs/cachefiles/namei.c:200! ... Workqueue: fscache_object fscache_object_work_func [fscache] ... RIP: ... cachefiles_walk_to_object+0x7ea/0x860 [cachefiles] ... Call Trace: [<ffffffffa04dadd8>] ? cachefiles_lookup_object+0x58/0x100 [cachefiles] [<ffffffffa01affe9>] ? fscache_look_up_object+0xb9/0x1d0 [fscache] [<ffffffffa01afc4d>] ? fscache_parent_ready+0x2d/0x80 [fscache] [<ffffffffa01b0672>] ? fscache_object_work_func+0x92/0x1f0 [fscache] [<ffffffff8107e82b>] ? process_one_work+0x16b/0x400 [<ffffffff8107fc16>] ? worker_thread+0x116/0x380 [<ffffffff8107fb00>] ? manage_workers.isra.21+0x290/0x290 [<ffffffff81085edc>] ? kthread+0xbc/0xe0 [<ffffffff81085e20>] ? flush_kthread_worker+0x80/0x80 [<ffffffff81502d0c>] ? ret_from_fork+0x7c/0xb0 [<ffffffff81085e20>] ? flush_kthread_worker+0x80/0x80 Reported-by: Manuel Schölling <manuel.schoelling@xxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Steve Dickson <steved@xxxxxxxxxx> commit f1d0d14120a8a6224a8aead925cf4310f48947d5 Merge: bf10fa8 2ed53c0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 18:20:39 2014 +0200 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cpu offlining patch from Ingo Molnar: "This tree includes a single commit that speeds up x86 suspend/resume by replacing a naive 100msec sleep based polling loop with proper completion notification. This gives some real suspend/resume benefit on servers with larger core counts" * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/smpboot: Speed up suspend/resume by avoiding 100ms sleep for CPU offline during S3 commit bf10fa857f0604865006d9705e63415b9d4e0d62 Merge: 5941fe3b 196cf35 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 18:19:01 2014 +0200 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cleanups from Ingo Molnar: "Three small cleanups" * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/tty/serial/8250: Clean up the asm/serial.h include file a bit x86/tty/serial/8250: Resolve missing-field-initializers warnings x86: Remove obsolete comment in uapi/e820.h commit 5941fe3b812adb68adde74cd0bab3c208901840c Merge: 19e00d5 5c63008 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 18:17:33 2014 +0200 Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 build update from Ingo Molnar: "A single commit that simplifies the no-FPU-ops build options" * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kbuild: Eliminate duplicate command line options commit 19e00d593e9a273ecbfbe131676ed11c140670ac Merge: 197fe6b eeeda4c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 18:16:32 2014 +0200 Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 bootup updates from Ingo Molnar: "The changes in this cycle were: - Fix rare SMP-boot hang (mostly in virtual environments) - Fix build warning with certain (rare) toolchains" * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/relocs: Make per_cpu_load_addr static x86/smpboot: Initialize secondary CPU only if master CPU will wait for it commit 197fe6b0e6843b6859c6a1436ff19e3c444c0502 Merge: faafcba f74954f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 18:14:50 2014 +0200 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 asm updates from Ingo Molnar: "The changes in this cycle were: - Speed up the x86 __preempt_schedule() implementation - Fix/improve low level asm code debug info annotations" * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Unwind-annotate thunk_32.S x86: Improve cmpxchg8b_emu.S x86: Improve cmpxchg16b_emu.S x86/lib/Makefile: Remove the unnecessary "+= thunk_64.o" x86: Speed up ___preempt_schedule*() by using THUNK helpers commit 9e6a57d2cdee36a6d9c5d5cc3db85713dd416719 Author: Honggang Li <enjoymindful@xxxxxxxxx> Date: Tue Jun 3 13:30:45 2014 +0800 um: delete unnecessary bootmem struct page array 1) uml kernel bootmem managed through bootmem_data->node_bootmem_map, not the struct page array, so the array is unnecessary. 2) the bootmem struct page array has been pointed by a *local* pointer, struct page *map, in init_maps function. The array can be accessed only in init_maps's scope. As a result, uml kernel wastes about 1% of total memory. Signed-off-by: Honggang Li <enjoymindful@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 671312304ec73059a0128ff3ac7a5ced459098ae Author: Honggang Li <enjoymindful@xxxxxxxxx> Date: Thu Jun 5 12:15:24 2014 +0800 um: remove csum_partial_copy_generic_i386 to clean up exception table arch/x86/um/checksum_32.S had been copy & paste from x86. When build x86 uml, csum_partial_copy_generic_i386 mess up the exception table. In fact, exception table dose not work in uml kernel. And csum_partial_copy_generic_i386 never been called. So, delete it. Signed-off-by: Honggang Li <enjoymindful@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit b8fb9c30f25e45dab5d2cd310ab6913b6861d00f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Oct 13 10:56:12 2014 -0400 NFS: Fix a bogus warning in nfs_generic_pgio It is OK for pageused == pagecount in the loop, as long as we don't add another entry to the *pages array. Move the test so that it only triggers in that case. Reported-by: Steve Dickson <SteveD@xxxxxxxxxx> Fixes: bba5c1887a92 (nfs: disallow duplicate pages in pgio page vectors) Cc: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.16.x Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7b2b10e0e2c65ebc11314e1af9924d0824ec1562 Author: Robert Elliott <elliott@xxxxxx> Date: Wed Aug 27 10:50:36 2014 -0500 block: include func name in __get_request prints In __get_request calls to printk_ratelimited, include the function name so the callbacks suppressed message matches the messages that are printed, and add "dev" before the device name so it matches other block layer messages. Signed-off-by: Robert Elliott <elliott@xxxxxx> Reviewed-by: Webb Scales <webbnh@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ef3ecb66bcd6b2076dc8782e1315cf2807b73c0c Author: Robert Elliott <elliott@xxxxxx> Date: Wed Aug 27 10:50:31 2014 -0500 block: make blk_update_request print prefix match ratelimited prefix In blk_update_request, change the printk_ratelimited prefix from end_request to blk_update_request so it matches the name printed if rate limiting occurs. Old: [10234.933106] blk_update_request: 174 callbacks suppressed [10234.934940] end_request: critical target error, dev sdr, sector 16 [10234.949788] end_request: critical target error, dev sdr, sector 16 New: [16863.445173] blk_update_request: 398 callbacks suppressed [16863.447029] blk_update_request: critical target error, dev sdr, sector 1442066176 [16863.449383] blk_update_request: critical target error, dev sdr, sector 802802888 [16863.451680] blk_update_request: critical target error, dev sdr, sector 1609535456 Signed-off-by: Robert Elliott <elliott@xxxxxx> Reviewed-by: Webb Scales <webbnh@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3caa0c6ed754d91b15266abf222498edbef982bd Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Oct 13 10:26:43 2014 -0400 NFS: Fix an uninitialised pointer Oops in the writeback error path SteveD reports the following Oops: RIP: 0010:[<ffffffffa053461d>] [<ffffffffa053461d>] __put_nfs_open_context+0x1d/0x100 [nfs] RSP: 0018:ffff880fed687b90 EFLAGS: 00010286 RAX: 0000000000000024 RBX: 0000000000000000 RCX: 0000000000000006 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffff880fed687bc0 R08: 0000000000000092 R09: 000000000000047a R10: 0000000000000000 R11: ffff880fed6878d6 R12: ffff880fed687d20 R13: ffff880fed687d20 R14: 0000000000000070 R15: ffffea000aa33ec0 FS: 00007fce290f0740(0000) GS:ffff8807ffc60000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000070 CR3: 00000007f2e79000 CR4: 00000000000007e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Stack: 0000000000000000 ffff880036c5e510 ffff880fed687d20 ffff880fed687d20 ffff880036c5e200 ffffea000aa33ec0 ffff880fed687bd0 ffffffffa0534710 ffff880fed687be8 ffffffffa053d5f0 ffff880036c5e200 ffff880fed687c08 Call Trace: [<ffffffffa0534710>] put_nfs_open_context+0x10/0x20 [nfs] [<ffffffffa053d5f0>] nfs_pgio_data_destroy+0x20/0x40 [nfs] [<ffffffffa053d672>] nfs_pgio_error+0x22/0x40 [nfs] [<ffffffffa053d8f4>] nfs_generic_pgio+0x74/0x2e0 [nfs] [<ffffffffa06b18c3>] pnfs_generic_pg_writepages+0x63/0x210 [nfsv4] [<ffffffffa053d579>] nfs_pageio_doio+0x19/0x50 [nfs] [<ffffffffa053eb84>] nfs_pageio_complete+0x24/0x30 [nfs] [<ffffffffa053cb25>] nfs_direct_write_schedule_iovec+0x115/0x1f0 [nfs] [<ffffffffa053675f>] ? nfs_get_lock_context+0x4f/0x120 [nfs] [<ffffffffa053d252>] nfs_file_direct_write+0x262/0x420 [nfs] [<ffffffffa0532d91>] nfs_file_write+0x131/0x1d0 [nfs] [<ffffffffa0532c60>] ? nfs_need_sync_write.isra.17+0x40/0x40 [nfs] [<ffffffff812127b8>] do_io_submit+0x3b8/0x840 [<ffffffff81212c50>] SyS_io_submit+0x10/0x20 [<ffffffff81610f29>] system_call_fastpath+0x16/0x1b This is due to the calls to nfs_pgio_error() in nfs_generic_pgio(), which happen before the nfs_pgio_header's open context is referenced in nfs_pgio_rpcsetup(). Reported-by: Steve Dickson <SteveD@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.16.x Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit faafcba3b5e15999cf75d5c5a513ac8e47e2545f Merge: 13ead80 f10e00f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 16:23:15 2014 +0200 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler updates from Ingo Molnar: "The main changes in this cycle were: - Optimized support for Intel "Cluster-on-Die" (CoD) topologies (Dave Hansen) - Various sched/idle refinements for better idle handling (Nicolas Pitre, Daniel Lezcano, Chuansheng Liu, Vincent Guittot) - sched/numa updates and optimizations (Rik van Riel) - sysbench speedup (Vincent Guittot) - capacity calculation cleanups/refactoring (Vincent Guittot) - Various cleanups to thread group iteration (Oleg Nesterov) - Double-rq-lock removal optimization and various refactorings (Kirill Tkhai) - various sched/deadline fixes ... and lots of other changes" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (72 commits) sched/dl: Use dl_bw_of() under rcu_read_lock_sched() sched/fair: Delete resched_cpu() from idle_balance() sched, time: Fix build error with 64 bit cputime_t on 32 bit systems sched: Improve sysbench performance by fixing spurious active migration sched/x86: Fix up typo in topology detection x86, sched: Add new topology for multi-NUMA-node CPUs sched/rt: Use resched_curr() in task_tick_rt() sched: Use rq->rd in sched_setaffinity() under RCU read lock sched: cleanup: Rename 'out_unlock' to 'out_free_new_mask' sched: Use dl_bw_of() under RCU read lock sched/fair: Remove duplicate code from can_migrate_task() sched, mips, ia64: Remove __ARCH_WANT_UNLOCKED_CTXSW sched: print_rq(): Don't use tasklist_lock sched: normalize_rt_tasks(): Don't use _irqsave for tasklist_lock, use task_rq_lock() sched: Fix the task-group check in tg_has_rt_tasks() sched/fair: Leverage the idle state info when choosing the "idlest" cpu sched: Let the scheduler see CPU idle states sched/deadline: Fix inter- exclusive cpusets migrations sched/deadline: Clear dl_entity params when setscheduling to different class sched/numa: Kill the wrong/dead TASK_DEAD check in task_numa_fault() ... commit 13ead805c5a14b0e7ecd34f61404a5bfba655895 Merge: ebf546c df57714 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 16:10:06 2014 +0200 Merge branch 'perf-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull watchdog fixes from Ingo Molnar: "Two small watchdog subsystem fixes" * 'perf-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: watchdog: Fix print-once on enable watchdog: Remove unnecessary header files commit ebf546cc5391b9a8a17c1196b05b4357ef0138a2 Merge: 9d9420f 9c2b9d3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 16:06:09 2014 +0200 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf fixes from Ingo Molnar: "Two leftover fixes from the v3.17 cycle - these will be forwarded to stable as well, if they prove problem-free in wider testing as well" [ Side note: the "fix perf bug in fork()" fix had also come in through Andrew's patch-bomb - Linus ] * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf: Fix perf bug in fork() perf: Fix unclone_ctx() vs. locking commit 9d9420f1209a1facea7110d549ac695f5aeeb503 Merge: 6d5f0eb cc6cd47 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:58:15 2014 +0200 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf updates from Ingo Molnar: "Kernel side updates: - Fix and enhance poll support (Jiri Olsa) - Re-enable inheritance optimization (Jiri Olsa) - Enhance Intel memory events support (Stephane Eranian) - Refactor the Intel uncore driver to be more maintainable (Zheng Yan) - Enhance and fix Intel CPU and uncore PMU drivers (Peter Zijlstra, Andi Kleen) - [ plus various smaller fixes/cleanups ] User visible tooling updates: - Add +field argument support for --field option, so that one can add fields to the default list of fields to show, ie now one can just do: perf report --fields +pid And the pid will appear in addition to the default fields (Jiri Olsa) - Add +field argument support for --sort option (Jiri Olsa) - Honour -w in the report tools (report, top), allowing to specify the widths for the histogram entries columns (Namhyung Kim) - Properly show submicrosecond times in 'perf kvm stat' (Christian Borntraeger) - Add beautifier for mremap flags param in 'trace' (Alex Snast) - perf script: Allow callchains if any event samples them - Don't truncate Intel style addresses in 'annotate' (Alex Converse) - Allow profiling when kptr_restrict == 1 for non root users, kernel samples will just remain unresolved (Andi Kleen) - Allow configuring default options for callchains in config file (Namhyung Kim) - Support operations for shared futexes. (Davidlohr Bueso) - "perf kvm stat report" improvements by Alexander Yarygin: - Save pid string in opts.target.pid - Enable the target.system_wide flag - Unify the title bar output - [ plus lots of other fixes and small improvements. ] Tooling infrastructure changes: - Refactor unit and scale function parameters for PMU parsing routines (Matt Fleming) - Improve DSO long names lookup with rbtree, resulting in great speedup for workloads with lots of DSOs (Waiman Long) - We were not handling POLLHUP notifications for event file descriptors Fix it by filtering entries in the events file descriptor array after poll() returns, refcounting mmaps so that when the last fd pointing to a perf mmap goes away we do the unmap (Arnaldo Carvalho de Melo) - Intel PT prep work, from Adrian Hunter, including: - Let a user specify a PMU event without any config terms - Add perf-with-kcore script - Let default config be defined for a PMU - Add perf_pmu__scan_file() - Add a 'perf test' for tracking with sched_switch - Add 'flush' callback to scripting API - Use ring buffer consume method to look like other tools (Arnaldo Carvalho de Melo) - hists browser (used in top and report) refactorings, getting rid of unused variables and reducing source code size by handling similar cases in a fewer functions (Namhyung Kim). - Replace thread unsafe strerror() with strerror_r() accross the whole tools/perf/ tree (Masami Hiramatsu) - Rename ordered_samples to ordered_events and allow setting a queue size for ordering events (Jiri Olsa) - [ plus lots of fixes, cleanups and other improvements ]" * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (198 commits) perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment perf/x86/intel/uncore: Fix minor race in box set up perf record: Fix error message for --filter option not coming after tracepoint perf tools: Fix build breakage on arm64 targets perf symbols: Improve DSO long names lookup speed with rbtree perf symbols: Encapsulate dsos list head into struct dsos perf bench futex: Sanitize -q option in requeue perf bench futex: Support operations for shared futexes perf trace: Fix mmap return address truncation to 32-bit perf tools: Refactor unit and scale function parameters perf tools: Fix line number in the config file error message perf tools: Convert {record,top}.call-graph option to call-graph.record-mode perf tools: Introduce perf_callchain_config() perf callchain: Move some parser functions to callchain.c perf tools: Move callchain config from record_opts to callchain_param perf hists browser: Fix callchain print bug on TUI perf tools: Use ACCESS_ONCE() instead of volatile cast perf tools: Modify error code for when perf_session__new() fails perf tools: Fix perf record as non root with kptr_restrict == 1 perf stat: Fix --per-core on multi socket systems ... commit 6d5f0ebfc0be9cbfeaafdd9258d5fa24b7975a36 Merge: dbb885f 8acd91e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:40 2014 +0200 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull core locking updates from Ingo Molnar: "The main updates in this cycle were: - mutex MCS refactoring finishing touches: improve comments, refactor and clean up code, reduce debug data structure footprint, etc. - qrwlock finishing touches: remove old code, self-test updates. - small rwsem optimization - various smaller fixes/cleanups" * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: locking/lockdep: Revert qrwlock recusive stuff locking/rwsem: Avoid double checking before try acquiring write lock locking/rwsem: Move EXPORT_SYMBOL() lines to follow function definition locking/rwlock, x86: Delete unused asm/rwlock.h and rwlock.S locking/rwlock, x86: Clean up asm/spinlock*.h to remove old rwlock code locking/semaphore: Resolve some shadow warnings locking/selftest: Support queued rwlock locking/lockdep: Restrict the use of recursive read_lock() with qrwlock locking/spinlocks: Always evaluate the second argument of spin_lock_nested() locking/Documentation: Update locking/mutex-design.txt disadvantages locking/Documentation: Move locking related docs into Documentation/locking/ locking/mutexes: Use MUTEX_SPIN_ON_OWNER when appropriate locking/mutexes: Refactor optimistic spinning code locking/mcs: Remove obsolete comment locking/mutexes: Document quick lock release when unlocking locking/mutexes: Standardize arguments in lock/unlock slowpaths locking: Remove deprecated smp_mb__() barriers commit dbb885fecc1b1b35e93416bedd24d21bd20f60ed Merge: d6dd50e 2291059 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:48:00 2014 +0200 Merge branch 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull arch atomic cleanups from Ingo Molnar: "This is a series kept separate from the main locking tree, which cleans up and improves various details in the atomics type handling: - Remove the unused atomic_or_long() method - Consolidate and compress atomic ops implementations between architectures, to reduce linecount and to make it easier to add new ops. - Rewrite generic atomic support to only require cmpxchg() from an architecture - generate all other methods from that" * 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits) locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read() locking, mips: Fix atomics locking, sparc64: Fix atomics locking,arch: Rewrite generic atomic support locking,arch,xtensa: Fold atomic_ops locking,arch,sparc: Fold atomic_ops locking,arch,sh: Fold atomic_ops locking,arch,powerpc: Fold atomic_ops locking,arch,parisc: Fold atomic_ops locking,arch,mn10300: Fold atomic_ops locking,arch,mips: Fold atomic_ops locking,arch,metag: Fold atomic_ops locking,arch,m68k: Fold atomic_ops locking,arch,m32r: Fold atomic_ops locking,arch,ia64: Fold atomic_ops locking,arch,hexagon: Fold atomic_ops locking,arch,cris: Fold atomic_ops locking,arch,avr32: Fold atomic_ops locking,arch,arm64: Fold atomic_ops locking,arch,arm: Fold atomic_ops ... commit d6dd50e07c5bec00db2005969b1a01f8ca3d25ef Merge: 5ff0b9e fd19bda Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:44:12 2014 +0200 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU updates from Ingo Molnar: "The main changes in this cycle were: - changes related to No-CBs CPUs and NO_HZ_FULL - RCU-tasks implementation - torture-test updates - miscellaneous fixes - locktorture updates - RCU documentation updates" * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (81 commits) workqueue: Use cond_resched_rcu_qs macro workqueue: Add quiescent state between work items locktorture: Cleanup header usage locktorture: Cannot hold read and write lock locktorture: Fix __acquire annotation for spinlock irq locktorture: Support rwlocks rcu: Eliminate deadlock between CPU hotplug and expedited grace periods locktorture: Document boot/module parameters rcutorture: Rename rcutorture_runnable parameter locktorture: Add test scenario for rwsem_lock locktorture: Add test scenario for mutex_lock locktorture: Make torture scripting account for new _runnable name locktorture: Introduce torture context locktorture: Support rwsems locktorture: Add infrastructure for torturing read locks torture: Address race in module cleanup locktorture: Make statistics generic locktorture: Teach about lock debugging locktorture: Support mutexes locktorture: Add documentation ... commit 8eef91239e57d2e932e7470879c9a504d5494ebb Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Oct 10 17:00:32 2014 +0200 arm/arm64: KVM: map MMIO regions at creation time There is really no point in faulting in memory regions page by page if they are not backed by demand paged system RAM but by a linear passthrough mapping of a host MMIO region. So instead, detect such regions at setup time and install the mappings for the backing all at once. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 5ff0b9e1a1da58b584aa4b8ea234be20b5a1164b Merge: 77c688a 6889e78 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 12:06:54 2014 +0200 Merge tag 'xfs-for-linus-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs Pull xfs update from Dave Chinner: "This update contains: - various cleanups - log recovery debug hooks - seek hole/data implementation merge - extent shift rework to fix collapse range bugs - various sparse warning fixes - log recovery transaction processing rework to fix use after free bugs - metadata buffer IO infrastructuer rework to ensure all buffers under IO have valid reference counts - various fixes for ondisk flags, writeback and zero range corner cases" * tag 'xfs-for-linus-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (56 commits) xfs: fix agno increment in xfs_inumbers() loop xfs: xfs_iflush_done checks the wrong log item callback xfs: flush the range before zero range conversion xfs: restore buffer_head unwritten bit on ioend cancel xfs: check for null dquot in xfs_quota_calc_throttle() xfs: fix crc field handling in xfs_sb_to/from_disk xfs: don't send null bp to xfs_trans_brelse() xfs: check for inode size overflow in xfs_new_eof() xfs: only set extent size hint when asked xfs: project id inheritance is a directory only flag xfs: kill time.h xfs: compat_xfs_bstat does not have forkoff xfs: simplify xfs_zero_remaining_bytes xfs: check xfs_buf_read_uncached returns correctly xfs: introduce xfs_buf_submit[_wait] xfs: kill xfs_bioerror_relse xfs: xfs_bioerror can die. xfs: kill xfs_bdstrat_cb xfs: rework xfs_buf_bio_endio error handling xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality ... commit 77c688ac87183537ed0fb84ec2cb8fa8ec97c458 Merge: 5e40d33 a457606 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 11:28:42 2014 +0200 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs updates from Al Viro: "The big thing in this pile is Eric's unmount-on-rmdir series; we finally have everything we need for that. The final piece of prereqs is delayed mntput() - now filesystem shutdown always happens on shallow stack. Other than that, we have several new primitives for iov_iter (Matt Wilcox, culled from his XIP-related series) pushing the conversion to ->read_iter()/ ->write_iter() a bit more, a bunch of fs/dcache.c cleanups and fixes (including the external name refcounting, which gives consistent behaviour of d_move() wrt procfs symlinks for long and short names alike) and assorted cleanups and fixes all over the place. This is just the first pile; there's a lot of stuff from various people that ought to go in this window. Starting with unionmount/overlayfs mess... ;-/" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (60 commits) fs/file_table.c: Update alloc_file() comment vfs: Deduplicate code shared by xattr system calls operating on paths reiserfs: remove pointless forward declaration of struct nameidata don't need that forward declaration of struct nameidata in dcache.h anymore take dname_external() into fs/dcache.c let path_init() failures treated the same way as subsequent link_path_walk() fix misuses of f_count() in ppp and netlink ncpfs: use list_for_each_entry() for d_subdirs walk vfs: move getname() from callers to do_mount() gfs2_atomic_open(): skip lookups on hashed dentry [infiniband] remove pointless assignments gadgetfs: saner API for gadgetfs_create_file() f_fs: saner API for ffs_sb_create_file() jfs: don't hash direct inode [s390] remove pointless assignment of ->f_op in vmlogrdr ->open() ecryptfs: ->f_op is never NULL android: ->f_op is never NULL nouveau: __iomem misannotations missing annotation in fs/file.c fs: namespace: suppress 'may be used uninitialized' warnings ... commit 56372082533afb859e6d64707859349a2ee171bf Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Sep 25 16:54:43 2014 +0530 ARC: boot: cpu feature print enhancements Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit c4b9856b5e1eb6d4f0d226f3c48be208475fc3d7 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Sep 25 16:07:44 2014 +0530 ARC: boot: consolidate cross-checking of h/w and s/w Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 52e9bae93802bd29c33be11e9e758ad7daac805f Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Sep 27 12:53:41 2014 +0530 ARC: unbork FPU save/restore Fixes: 2ab402dfd65d15a4b2 "ARC: make start_thread() out-of-line" CC: <stable@xxxxxxxxxxxxxxx> #3.16 Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit be64c997d96dd29029ed40d9df9cbf80fa1c7ed4 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Sep 27 12:49:11 2014 +0530 ARC: remove extraneous __KERNEL__ guards Verified by doing make headers_install as none of these files are exported to userspace commit ebc0c74e76cec9c4dd860eb0ca1c0b39dc63c482 Author: Anton Kolesov <Anton.Kolesov@xxxxxxxxxxxx> Date: Thu Sep 25 13:23:24 2014 +0400 ARC: Update order of registers in KGDB to match GDB 7.5 Order of registers has changed in GDB moving from 6.8 to 7.5. This patch updates KGDB to work properly with GDB 7.5, though makes it incompatible with 6.8. Signed-off-by: Anton Kolesov <Anton.Kolesov@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #3.10, 3.12, 3.14, 3.16 commit cdd4552686b5225047ce24b8449380e02c1481e1 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Wed Sep 24 20:32:22 2014 +0200 ARC: Remove unneeded Kconfig entry NO_DMA Architectures only need a Kconfig entry for NO_DMA if it is possible that its value will be 'y'. For arc its value will always be 'n', making it pointless. Remove it. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 3872d05299b5ab58446f484df18f71cab4628c50 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 24 16:36:48 2014 +0530 ARC: BUG() dumps stack after @msg (@msg now same as in generic BUG)) ARC specific version (doesn't panic) still makes sense so that generic code calling BUG doesn't panic and helps debugging more Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit c59414cca188e561d450b77e44ad281579946f18 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 24 11:36:20 2014 +0530 ARC: refactoring: reduce the scope of some local vars Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 68d8feee85dd9ff68a2d740c90b08dc4ae2fb8e5 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 7 16:24:47 2014 -0700 ARC: remove gcc mpy heuristics Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 435abb6daf310b4c1d681097887ea7239c310732 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 10 10:38:10 2014 +0530 ARC: RIP @running_on_hw * No active users of this flag anymore * flag itself was no longer usable with new simualtor which acts just like hardware, not providing the special chip-id = 0xffff which good old ISS used to do. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit c4aa49df4dca6d41d3a7488cf582a0ab778ad06d Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Sep 19 01:28:24 2014 +0530 ARC: Update comments about uncached address space Suggested-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 1736a56f3d1d5765fa8953d39a900a494d7e415c Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Sep 8 11:18:15 2014 +0530 ARC: rename kconfig option for unaligned emulation Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5c05483e2db91890faa9a7be0a831701a3f442d6 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Jun 20 16:24:49 2014 +0530 ARC: [nsimosci] Allow "headless" models to boot There are certain test configuration of virtual platform which don't have any real console device (uart/pgu). So add tty0 as a fallback console device to allow system to boot and be accessible via telnet Otherwise with ttyS0 as only console, but 8250 disabled in kernel build, init chokes. Reported-by: Anton Kolesov <akolesov@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #3.10, 3.12, 3.14, 3.16 commit b4c43b4908fb53c6cd00281f1b19cc54d7791299 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Sep 23 11:39:04 2014 +0200 ARC: [arcfpga] Get rid of ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 Commit c00bfd974fb0 ("ARC: [arcfpga] Get rid of legacy BVCI latency unit support") removed the Kconfig symbol ARC_HAS_BVCI_LAT_UNIT. And that symbol's entry was the only place were the symbols ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 were used. So ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 can be removed too. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 72f933e77cfc8c7e38e7214fd774806eb7ecc038 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 10 11:19:28 2014 +0530 ARC: [arcfpga] Remove more dead code specifically after switching to generic early arc uart, whole bunch of code is no longer needed Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit d7f8a085d4f48501b1fa253b48ec4ad7cb4d02cc Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 10 11:10:54 2014 +0530 ARC: [plat*] move code out of .init_machine into common All the platforms do the same thing in init_machine callback so move it out of callback into caller of callback Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 70e956483efd8a70e86fb2260dcd2395eb1affef Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 10 11:08:39 2014 +0530 ARC: [arcfpga] consolidate machine description, DT * AA4/ML509 have same machine descriptions * Rename simulation machine description Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit aef4885ae14f1df75b58395c5314d71f613d26d9 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Mon Oct 13 03:42:12 2014 -0400 ext4: move error report out of atomic context in ext4_init_block_bitmap() Error report likely result in IO so it is bad idea to do it from atomic context. This patch should fix following issue: BUG: sleeping function called from invalid context at include/linux/buffer_head.h:349 in_atomic(): 1, irqs_disabled(): 0, pid: 137, name: kworker/u128:1 5 locks held by kworker/u128:1/137: #0: ("writeback"){......}, at: [<ffffffff81085618>] process_one_work+0x228/0x4d0 #1: ((&(&wb->dwork)->work)){......}, at: [<ffffffff81085618>] process_one_work+0x228/0x4d0 #2: (jbd2_handle){......}, at: [<ffffffff81242622>] start_this_handle+0x712/0x7b0 #3: (&ei->i_data_sem){......}, at: [<ffffffff811fa387>] ext4_map_blocks+0x297/0x430 #4: (&(&bgl->locks[i].lock)->rlock){......}, at: [<ffffffff811f3180>] ext4_read_block_bitmap_nowait+0x5d0/0x630 CPU: 3 PID: 137 Comm: kworker/u128:1 Not tainted 3.17.0-rc2-00184-g82752e4 #165 Hardware name: Intel Corporation W2600CR/W2600CR, BIOS SE5C600.86B.99.99.x028.061320111235 06/13/2011 Workqueue: writeback bdi_writeback_workfn (flush-1:0) 0000000000000411 ffff880813777288 ffffffff815c7fdc ffff880813777288 ffff880813a8bba0 ffff8808137772a8 ffffffff8108fb30 ffff880803e01e38 ffff880803e01e38 ffff8808137772c8 ffffffff811a8d53 ffff88080ecc6000 Call Trace: [<ffffffff815c7fdc>] dump_stack+0x51/0x6d [<ffffffff8108fb30>] __might_sleep+0xf0/0x100 [<ffffffff811a8d53>] __sync_dirty_buffer+0x43/0xe0 [<ffffffff811a8e03>] sync_dirty_buffer+0x13/0x20 [<ffffffff8120f581>] ext4_commit_super+0x1d1/0x230 [<ffffffff8120fa03>] save_error_info+0x23/0x30 [<ffffffff8120fd06>] __ext4_error+0xb6/0xd0 [<ffffffff8120f260>] ? ext4_group_desc_csum+0x140/0x190 [<ffffffff811f2d8c>] ext4_read_block_bitmap_nowait+0x1dc/0x630 [<ffffffff8122e23a>] ext4_mb_init_cache+0x21a/0x8f0 [<ffffffff8113ae95>] ? lru_cache_add+0x55/0x60 [<ffffffff8112e16c>] ? add_to_page_cache_lru+0x6c/0x80 [<ffffffff8122eaa0>] ext4_mb_init_group+0x190/0x280 [<ffffffff8122ec51>] ext4_mb_good_group+0xc1/0x190 [<ffffffff8123309a>] ext4_mb_regular_allocator+0x17a/0x410 [<ffffffff8122c821>] ? ext4_mb_use_preallocated+0x31/0x380 [<ffffffff81233535>] ? ext4_mb_new_blocks+0x205/0x8e0 [<ffffffff8116ed5c>] ? kmem_cache_alloc+0xfc/0x180 [<ffffffff812335b0>] ext4_mb_new_blocks+0x280/0x8e0 [<ffffffff8116f2c4>] ? __kmalloc+0x144/0x1c0 [<ffffffff81221797>] ? ext4_find_extent+0x97/0x320 [<ffffffff812257f4>] ext4_ext_map_blocks+0xbc4/0x1050 [<ffffffff811fa387>] ? ext4_map_blocks+0x297/0x430 [<ffffffff811fa3ab>] ext4_map_blocks+0x2bb/0x430 [<ffffffff81200e43>] ? ext4_init_io_end+0x23/0x50 [<ffffffff811feb44>] ext4_writepages+0x564/0xaf0 [<ffffffff815cde3b>] ? _raw_spin_unlock+0x2b/0x40 [<ffffffff810ac7bd>] ? lock_release_non_nested+0x2fd/0x3c0 [<ffffffff811a009e>] ? writeback_sb_inodes+0x10e/0x490 [<ffffffff811a009e>] ? writeback_sb_inodes+0x10e/0x490 [<ffffffff811377e3>] do_writepages+0x23/0x40 [<ffffffff8119c8ce>] __writeback_single_inode+0x9e/0x280 [<ffffffff811a026b>] writeback_sb_inodes+0x2db/0x490 [<ffffffff811a0664>] wb_writeback+0x174/0x2d0 [<ffffffff810ac359>] ? lock_release_holdtime+0x29/0x190 [<ffffffff811a0863>] wb_do_writeback+0xa3/0x200 [<ffffffff811a0a40>] bdi_writeback_workfn+0x80/0x230 [<ffffffff81085618>] ? process_one_work+0x228/0x4d0 [<ffffffff810856cd>] process_one_work+0x2dd/0x4d0 [<ffffffff81085618>] ? process_one_work+0x228/0x4d0 [<ffffffff81085c1d>] worker_thread+0x35d/0x460 [<ffffffff810858c0>] ? process_one_work+0x4d0/0x4d0 [<ffffffff810858c0>] ? process_one_work+0x4d0/0x4d0 [<ffffffff8108a885>] kthread+0xf5/0x100 [<ffffffff810990e5>] ? local_clock+0x25/0x30 [<ffffffff8108a790>] ? __init_kthread_worker+0x70/0x70 [<ffffffff815ce2ac>] ret_from_fork+0x7c/0xb0 [<ffffffff8108a790>] ? __init_kthread_work Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9aa5d32ba269bec0e7eaba2697a986a7b0bc8528 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Mon Oct 13 03:36:16 2014 -0400 ext4: Replace open coded mdata csum feature to helper function Besides the fact that this replacement improves code readability it also protects from errors caused direct EXT4_S(sb)->s_es manipulation which may result attempt to use uninitialized csum machinery. #Testcase_BEGIN IMG=/dev/ram0 MNT=/mnt mkfs.ext4 $IMG mount $IMG $MNT #Enable feature directly on disk, on mounted fs tune2fs -O metadata_csum $IMG # Provoke metadata update, likey result in OOPS touch $MNT/test umount $MNT #Testcase_END # Replacement script @@ expression E; @@ - EXT4_HAS_RO_COMPAT_FEATURE(E, EXT4_FEATURE_RO_COMPAT_METADATA_CSUM) + ext4_has_metadata_csum(E) https://bugzilla.kernel.org/show_bug.cgi?id=82201 Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2d73bae12b26db6eba074b70406c707961b6cda9 Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 09:04:49 2014 -0700 powerpc/numa: Add ability to disable and debug topology updates We have hit a few customer issues with the topology update code (VPHN and PRRN). It would be nice to be able to debug the notifications coming from the hypervisor in both cases to the LPAR, as well as to disable responding to the notifications at boot-time, to narrow down the source of the problems. Add a basic level of such functionality, similar to the numa= command-line parameter. We already have a toggle in /proc/powerpc/topology_updates that allows run-time enabling/disabling, so the updates can be started at run-time if desired. But the bugs we've run into have occured during boot or very shortly after coming to login, and have resulted in a broken NUMA topology. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2d15b9b479512f05680541acffd9acbbc831a47c Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 16:41:28 2014 -0700 powerpc/numa: check error return from proc_create proc_create can fail, we should check the return value and pass up the failure. Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6507955c9781a75f1b085f0cf0a77b9df06f0197 Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 21:28:26 2014 +0530 powerpc/powernv: Fallback to old HMI handling behavior for old firmware Recently we moved HMI handling into Linux kernel instead of taking HMI directly in OPAL. This new change is dependent on new OPAL call for HMI recovery which was introduced in newer firmware. While this new change works fine with latest OPAL firmware, we broke the HMI handling if we run newer kernel on old OPAL firmware that results in system hang. This patch fixes this issue by falling back to old HMI behavior on older OPAL firmware. This patch introduces a check for opal token OPAL_HANDLE_HMI to see if we are running on newer firmware or old firmware. On newer firmware this check would return OPAL_TOKEN_PRESENT, otherwise we are running on old firmware and fallback to old HMI behavior. Old firmware: POWER8 System Firmware Release as of today <= SV810_087 Action: Let OPAL handle HMIs Newer firmware: in development/yet to be released. Action: Let Linux host handle HMIs. This patch depends on opal check token patch posted at ppc-devel https://lists.ozlabs.org/pipermail/linuxppc-dev/2014-August/120224.html Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> [mpe: Minor comment and printk rewording] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit dfda0df3426483cf5fc7441f23f318edbabecb03 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Aug 6 16:26:21 2014 +1000 drm/mst: rework payload table allocation to conform better. The old code has problems with the Dell MST monitors due to some assumptions I made that weren't true. I initially thought the Virtual Channel Payload IDs had to be in the DPCD table in ascending order, however it appears that assumption is bogus. The old code also assumed it was possible to insert a member into the table and it would move other members up, like it does when you remove table entries, however reality has shown this isn't true. So the new code allocates VCPIs separate from entries in the payload tracking table, and when we remove an entry from the DPCD table, I shuffle the tracking payload entries around in the struct. This appears to make VT switch more robust (still not perfect) with an MST enabled Dell monitor. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6889e783cd68b79f8330ad4d10a2571c67c3f7df Merge: 75e58ce a8b1ee8 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Oct 13 10:22:45 2014 +1100 Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next commit a8b1ee8bafc765ebf029d03c5479a69aebff9693 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Mon Oct 13 10:21:53 2014 +1100 xfs: fix agno increment in xfs_inumbers() loop caused a regression in xfs_inumbers, which in turn broke xfsdump, causing incomplete dumps. The loop in xfs_inumbers() needs to fill the user-supplied buffers, and iterates via xfs_btree_increment, reading new ags as needed. But the first time through the loop, if xfs_btree_increment() succeeds, we continue, which triggers the ++agno at the bottom of the loop, and we skip to soon to the next ag - without the proper setup under next_ag to read the next ag. Fix this by removing the agno increment from the loop conditional, and only increment agno if we have actually hit the code under the next_ag: target. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a457606a6f81cfddfc9da1ef2a8bf2c65a8eb35e Author: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Sun Oct 12 14:29:29 2014 -0500 fs/file_table.c: Update alloc_file() comment This comment is 5 years outdated; init_file() no longer exists. Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8cc431165d8fbda43634dd15ab17f76a151c39a8 Author: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Sun Oct 12 11:59:58 2014 -0500 vfs: Deduplicate code shared by xattr system calls operating on paths The following pairs of system calls dealing with extended attributes only differ in their behavior on whether the symbolic link is followed (when the named file is a symbolic link): - setxattr() and lsetxattr() - getxattr() and lgetxattr() - listxattr() and llistxattr() - removexattr() and lremovexattr() Despite this, the implementations all had duplicated code, so this commit redirects each of the above pairs of system calls to a corresponding function to which different lookup flags (LOOKUP_FOLLOW or 0) are passed. For me this reduced the stripped size of xattr.o from 8824 to 8248 bytes. Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 50b220bbe7092bbfe4406adfe3a216337a64655d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 14:21:38 2014 -0400 reiserfs: remove pointless forward declaration of struct nameidata Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7b600f2abb36909e70963cc7c744c15983500bee Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 13:31:58 2014 -0400 don't need that forward declaration of struct nameidata in dcache.h anymore Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 810bb172671aec17cf85cc748120cf73c17af372 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 12:45:37 2014 -0400 take dname_external() into fs/dcache.c never used outside and it's too low-level for legitimate uses outside of fs/dcache.c anyway Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 115cbfdc609702a131c51281864c08f5d27b459a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 23:05:52 2014 -0400 let path_init() failures treated the same way as subsequent link_path_walk() As it is, path_lookupat() and path_mounpoint() might end up leaking struct file reference in some cases. Spotted-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5e40d331bd72447197f26525f21711c4a265b6a6 Merge: d0ca475 594081e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 10:13:55 2014 -0400 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security subsystem updates from James Morris. Mostly ima, selinux, smack and key handling updates. * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (65 commits) integrity: do zero padding of the key id KEYS: output last portion of fingerprint in /proc/keys KEYS: strip 'id:' from ca_keyid KEYS: use swapped SKID for performing partial matching KEYS: Restore partial ID matching functionality for asymmetric keys X.509: If available, use the raw subjKeyId to form the key description KEYS: handle error code encoded in pointer selinux: normalize audit log formatting selinux: cleanup error reporting in selinux_nlmsg_perm() KEYS: Check hex2bin()'s return when generating an asymmetric key ID ima: detect violations for mmaped files ima: fix race condition on ima_rdwr_violation_check and process_measurement ima: added ima_policy_flag variable ima: return an error code from ima_add_boot_aggregate() ima: provide 'ima_appraise=log' kernel option ima: move keyring initialization to ima_init() PKCS#7: Handle PKCS#7 messages that contain no X.509 certs PKCS#7: Better handling of unsupported crypto KEYS: Overhaul key identification when searching for asymmetric keys KEYS: Implement binary asymmetric key ID handling ... commit d0ca47575ab3b41bb7f0fe5feec13c6cddb2913a Merge: 4ee9f61 1f25df2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 09:33:42 2014 -0400 Merge branch 'parisc-3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc fix from Helge Deller: "This patch intentionally breaks the ABI on PARISC Linux! It assigns new numbers to SIGSTKFLT, SIGXCPU, SIGXFSZ and SIGSYS so that those are below 32 and thus leaves us with 32 RT signals like other Linux architectures (SIGRTMIN now becomes 32 instead of 37). Even if it breaks the ABI, it doesn't seem to have any visible impact on existing userspace applications. I was able to mix new kernel and/or glibc without impacting normal bootup. So, even if it breaks the ABI, the benefits (e.g. being able to use systemd on PARISC Linux) outperforms the minimal (if any) impact it gives. The patch has been discussed on the parisc kernel mailing list and the coresponding glibc patch will be committed by the parisc glibc maintainer after this patch went into 3.18. Some more background information about this patch is in the commit message" [ Side note: the "no regressions" rule has always been about *users*, not ABI's. You can change ABI's all you like, until somebody actually notices. At that point it gets reverted regardless of how good your reasons and excuses. And admittedly, with parisc, the distinct lack of many users makes that fairly unlikely anyway :^p - Linus ] * 'parisc-3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux architectures commit 4ee9f6112923f270e67a9bac9f554494153d5de6 Merge: ce254b3 eabde0f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 09:30:38 2014 -0400 Merge tag 'platform-drivers-x86-v3.18-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform driver updates from Darren Hart: "The following have all spent at least a few days in linux-next, most for more than a week. These are mostly cleanups and error handling improvements with a few updates to extend existing support to newer hardware. Details: - dell-wmi: fix access out of memory - eeepc-laptop: cleanups, refactoring, sysfs perms, and improved error handling - intel-rst: ACPI and error handling cleanups - thinkpad-acpi: whitespace cleanup - toshiba_acpi: HCI/SCI interface update, keyboard backlight type 2 support, new scancodes, cleanups" * tag 'platform-drivers-x86-v3.18-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (23 commits) toshiba_acpi: Adapt kbd_bl_timeout_store to the new kbd type toshiba_acpi: Change HCI/SCI functions return code type toshiba_acpi: Unify return codes prefix from HCI/SCI to TOS toshiba_acpi: Rename hci_raw to tci_raw dell-wmi: Fix access out of memory eeepc-laptop: clean up control flow in *_rfkill_notifier eeepc-laptop: store_cpufv: return error if set_acpi fails eeepc-laptop: check proper return values in get_cpufv eeepc-laptop: make fan1_input really read-only eeepc-laptop: pull out SENSOR_STORE_FUNC and SENSOR_SHOW_FUNC macros eeepc-laptop: tell sysfs that the disp attribute is write-only eeepc-laptop: pull out ACPI_STORE_FUNC and ACPI_SHOW_FUNC macros eeepc-laptop: use DEVICE_ATTR* to instantiate device_attributes eeepc-laptop: change sysfs function names to API expectations eeepc-laptop: clean up coding style eeepc-laptop: simplify parse_arg() intel-rst: Clean up ACPI add function intel-rst: Use ACPI_FAILURE() macro instead !ACPI_SUCCESS() for error checking x86: thinkpad_acpi.c: fixed spacing coding style issue toshiba_acpi: Support new keyboard backlight type ... commit ce254b34da41b121c6d781fea8940090c0107a20 Merge: 47e0de1 887e701 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 09:21:57 2014 -0400 Merge tag 'tiny/no-advice-fixup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux Pull tinification fix from Josh "Paper Bag" Triplett: "Fixup to use PATCHv2 of 'mm: Support compiling out madvise and fadvise'" * tag 'tiny/no-advice-fixup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux: mm: Support fadvise without CONFIG_MMU commit 47e0de1a74505537788dad41a55a7bdc224462b9 Merge: 90eac7e ce6a144 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 09:16:43 2014 -0400 Merge tag 'kselftest-3.18-updates-1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest updates from Shuah Khan: - fix for missing arguments to printf - fix to build failures on 32-bit systems. - enhancement to run memfd_test run on all architectures as most architectures support __NR_memfd_create * tag 'kselftest-3.18-updates-1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests/memfd: Run test on all architectures memfd_test: Add missing argument to printf() memfd_test: Make it work on 32-bit systems commit 90eac7eee2f4257644dcfb9d22348fded7c24afd Merge: 6bbcb1d 89c5497 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 07:33:37 2014 -0400 Merge tag 'ftracetest-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull ftrace test code from Steven Rostedt: "This patch series starts a new selftests section in the tools/testing/selftest directory called "ftrace" that holds tests aimed at testing ftrace and subsystems that use ftrace (like kprobes). So far only a few tests were written (by Masami Hiramatsu), but more will be added in the near future (3.19)" * tag 'ftracetest-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing/kprobes: Add selftest scripts testing kprobe-tracer as startup test ftracetest: Add POSIX.3 standard and XFAIL result codes ftracetest: Add kprobe basic testcases ftracetest: Add ftrace basic testcases ftracetest: Initial commit for ftracetest commit 6bbcb1d3a2e0a31593e3b7d9bfd112fa7f447141 Merge: 8df6be1 d832d74 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 07:32:26 2014 -0400 Merge tag 'ktest-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest Pull ktest update from Steven Rostedt: "A fix and a clean up to ktest, as well as two small features. - A way to allow users to skip a manual bisect. - Allowing cherry picked patches to be tested. The cherry pick worked for a test I needed, but stressing it may not have all the desired effects. It doesn't cause any regressions so I kept it in" * tag 'ktest-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest: ktest: Don't bother with bisect good or bad on replay ktest: Fix check for new kernel success on rebooting to good kernel ktest: add ability to skip during BISECT_MANUAL ktest: Add PATCHCHECK_CHERRY commit 8df6be116c87314e35c2ac9de35561b57f87739f Merge: 9837acf addff1f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 07:28:55 2014 -0400 Merge tag 'trace-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fixes from Steven Rostedt: "Seems that Peter Zijlstra added a new check that is making old code scream nasty warnings: WARNING: CPU: 0 PID: 91 at kernel/sched/core.c:7253 __might_sleep+0x9a/0x378() do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffff8d79b511>] event_test_thread+0x48/0x93 Call Trace: __might_sleep+0x9a/0x378 down_read+0x26/0x98 exit_signals+0x27/0x1c2 do_exit+0x193/0x10bd kthread+0x156/0x156 ret_from_fork+0x7a/0xb0 These are triggered by some self tests that run at start up when configure in. Although the code is technically correct, they are a little sloppy and not very robust. They work now because it runs at boot up and the tests do not call anything that might trigger a spurious wake up. But that doesn't mean those tests wont change in the future. It's best to clean them now to make sure the tests used to test the internal workings of the system don't cause breakage themselves. This also quiets the warnings made by the new checks" * tag 'trace-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Clean up scheduling in trace_wakeup_test_thread() tracing: Robustify wait loop commit 9837acff77f51e40ab21521e914aa19f85beb312 Merge: ca32188 3ddee63 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 07:27:19 2014 -0400 Merge tag 'trace-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing updates from Steven Rostedt: "This set has a few minor updates, but the big change is the redesign of the trampoline logic. The trampoline logic of 3.17 required a descriptor for every function that is registered to be traced and uses a trampoline. Currently, only the function graph tracer uses a trampoline, but if you were to trace all 32,000 (give or take a few thousand) functions with the function graph tracer, it would create 32,000 descriptors to let us know that there's a trampoline associated with it. This takes up a bit of memory when there's a better way to do it. The redesign now reuses the ftrace_ops' (what registers the function graph tracer) hash tables. The hash tables tell ftrace what the tracer wants to trace or doesn't want to trace. There's two of them: one that tells us what to trace, the other tells us what not to trace. If the first one is empty, it means all functions should be traced, otherwise only the ones that are listed should be. The second hash table tells us what not to trace, and if it is empty, all functions may be traced, and if there's any listed, then those should not be traced even if they exist in the first hash table. It took a bit of massaging, but now these hashes can be used to keep track of what has a trampoline and what does not, and allows the ftrace accounting to work. Now we can trace all functions when using the function graph trampoline, and avoid needing to create any special descriptors to hold all the functions that are being traced" * tag 'trace-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: ftrace: Only disable ftrace_enabled to test buffer in selftest ftrace: Add sanity check when unregistering last ftrace_ops kernel: trace_syscalls: Replace rcu_assign_pointer() with RCU_INIT_POINTER() tracing: generate RCU warnings even when tracepoints are disabled ftrace: Replace tramp_hash with old_*_hash to save space ftrace: Annotate the ops operation on update ftrace: Grab any ops for a rec for enabled_functions output ftrace: Remove freeing of old_hash from ftrace_hash_move() ftrace: Set callback to ftrace_stub when no ops are registered ftrace: Add helper function ftrace_ops_get_func() ftrace: Add separate function for non recursive callbacks commit 1f25df2eff5b25f52c139d3ff31bc883eee9a0ab Author: Helge Deller <deller@xxxxxx> Date: Fri Oct 10 22:20:17 2014 +0200 parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux architectures This patch reduces the value of SIGRTMIN on PARISC from 37 to 32, thus increasing the number of available RT signals and bring it in sync with other Linux architectures. Historically we wanted to natively support HP-UX 32bit binaries with the PA-RISC Linux port. Because of that we carried the various available signals from HP-UX (e.g. SIGEMT and SIGLOST) and folded them in between the native Linux signals. Although this was the right decision at that time, this required us to increase SIGRTMIN to at least 37 which left us with 27 (64-37) RT signals. Those 27 RT signals haven't been a problem in the past, but with the upcoming importance of systemd we now got the problem that systemd alloctes (hardcoded) signals up to SIGRTMIN+29 which is beyond our NSIG of 64. Because of that we have not been able to use systemd on the PARISC Linux port yet. Of course we could ask the systemd developers to not use those hardcoded values, but this change is very unlikely, esp. with PA-RISC being a niche architecture. The other possibility would be to increase NSIG to e.g. 128, but this would mean to duplicate most of the existing Linux signal handling code into the parisc specific Linux kernel tree which would most likely introduce lots of new bugs beside the code duplication. The third option is to drop some HP-UX signals and shuffle some other signals around to bring SIGRTMIN to 32. This is of course an ABI change, but testing has shown that existing Linux installations are not visibly affected by this change - most likely because we move those signals around which are rarely used and move them to slots which haven't been used in Linux yet. In an existing installation I was able to exchange either the Linux kernel or glibc (or both) without affecting the boot process and installed applications. Dropping the HP-UX signals isn't an issue either, since support for HP-UX was basically dropped a few months back with Kernel 3.14 in commit f5a408d53edef3af07ac7697b8bc54a755628450 already, when we changed EWOULDBLOCK to be equal to EAGAIN. So, even if this is an ABI change, it's better to change it now and thus bring PARISC Linux in sync with other architectures to avoid other issues in the future. Signed-off-by: Helge Deller <deller@xxxxxx> Cc: Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx> Cc: John David Anglin <dave.anglin@xxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: PARISC Linux Kernel Mailinglist <linux-parisc@xxxxxxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> commit ca321885b0511a85e2d1cd40caafedbeb18f4af6 Merge: 052db7e 01d2d48 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 21:19:00 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "This set fixes a bunch of fallout from the changes that went in during this merge window, particularly: - Fix fsl_pq_mdio (Claudiu Manoil) and fm10k (Pranith Kumar) build failures. - Several networking drivers do atomic_set() on page counts where that's not exactly legal. From Eric Dumazet. - Make __skb_flow_get_ports() work cleanly with unaligned data, from Alexander Duyck. - Fix some kernel-doc buglets in rfkill and netlabel, from Fabian Frederick. - Unbalanced enable_irq_wake usage in bcmgenet and systemport drivers, from Florian Fainelli. - pxa168_eth needs to depend on HAS_DMA, from Geert Uytterhoeven. - Multi-dequeue in the qdisc layer severely bypasses the fairness limits the previous code used to enforce, reintroduce in a way that at the same time doesn't compromise bulk dequeue opportunities. From Jesper Dangaard Brouer. - macvlan receive path unnecessarily hops through a softirq by using netif_rx() instead of netif_receive_skb(). From Jason Baron" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (51 commits) net: systemport: avoid unbalanced enable_irq_wake calls net: bcmgenet: avoid unbalanced enable_irq_wake calls net: bcmgenet: fix off-by-one in incrementing read pointer net: fix races in page->_count manipulation mlx4: fix race accessing page->_count ixgbe: fix race accessing page->_count igb: fix race accessing page->_count fm10k: fix race accessing page->_count net/phy: micrel: Add clock support for KSZ8021/KSZ8031 flow-dissector: Fix alignment issue in __skb_flow_get_ports net: filter: fix the comments Documentation: replace __sk_run_filter with __bpf_prog_run macvlan: optimize the receive path macvlan: pass 'bool' type to macvlan_count_rx() drivers: net: xgene: Add 10GbE ethtool support drivers: net: xgene: Add 10GbE support drivers: net: xgene: Preparing for adding 10GbE support dtb: Add 10GbE node to APM X-Gene SoC device tree Documentation: dts: Update section header for APM X-Gene MAINTAINERS: Update APM X-Gene section ... commit 052db7ec86dff26f734031c3ef5c2c03a94af0af Merge: fd9879b bdcf81b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 20:36:34 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc updates from David Miller: 1) Move to 4-level page tables on sparc64 and support up to 53-bits of physical addressing. Kernel static image BSS size reduced by several megabytes. 2) M6/M7 cpu support, from Allan Pais. 3) Move to sparse IRQs, handle hypervisor TLB call errors more gracefully, and add T5 perf_event support. From Bob Picco. 4) Recognize cdroms and compute geometry from capacity in virtual disk driver, also from Allan Pais. 5) Fix memset() return value on sparc32, from Andreas Larsson. 6) Respect gfp flags in dma_alloc_coherent on sparc32, from Daniel Hellstrom. 7) Fix handling of compound pages in virtual disk driver, from Dwight Engen. 8) Fix lockdep warnings in LDC layer by moving IRQ requesting to ldc_alloc() from ldc_bind(). 9) Increase boot string length to 1024 bytes, from Dave Kleikamp. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: (31 commits) sparc64: Fix lockdep warnings on reboot on Ultra-5 sparc64: Increase size of boot string to 1024 bytes sparc64: Kill unnecessary tables and increase MAX_BANKS. sparc64: sparse irq sparc64: Adjust vmalloc region size based upon available virtual address bits. sparc64: Increase MAX_PHYS_ADDRESS_BITS to 53. sparc64: Use kernel page tables for vmemmap. sparc64: Fix physical memory management regressions with large max_phys_bits. sparc64: Adjust KTSB assembler to support larger physical addresses. sparc64: Define VA hole at run time, rather than at compile time. sparc64: Switch to 4-level page tables. sparc64: Fix reversed start/end in flush_tlb_kernel_range() sparc64: Add vio_set_intr() to enable/disable Rx interrupts vio: fix reuse of vio_dring slot sunvdc: limit each sg segment to a page sunvdc: compute vdisk geometry from capacity sunvdc: add cdrom and v1.1 protocol support sparc: VIO protocol version 1.6 sparc64: Fix hibernation code refrence to PAGE_OFFSET. sparc64: Move request_irq() from ldc_bind() to ldc_alloc() ... commit fd9879b9bb3258ebc27a4cc6d2d29f528f71901f Merge: 81ae31d d53ba6b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 20:34:00 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc updates from Michael Ellerman: "Here's a first pull request for powerpc updates for 3.18. The bulk of the additions are for the "cxl" driver, for IBM's Coherent Accelerator Processor Interface (CAPI). Most of it's in drivers/misc, which Greg & Arnd maintain, Greg said he was happy for us to take it through our tree. There's the usual minor cleanups and fixes, including a bit of noise in drivers from some of those. A bunch of updates to our EEH code, which has been getting more testing. Several nice speedups from Anton, including 20% in clear_page(). And a bunch of updates for freescale from Scott" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (130 commits) cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking cxl: Add documentation for userspace APIs cxl: Add driver to Kbuild and Makefiles cxl: Add userspace header file cxl: Driver code for powernv PCIe based cards for userspace access cxl: Add base builtin support powerpc/mm: Add hooks for cxl powerpc/opal: Add PHB to cxl mode call powerpc/mm: Add new hash_page_mm() powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts cxl: Add new header for call backs and structs powerpc/powernv: Split out set MSI IRQ chip code powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize powerpc/msi: Improve IRQ bitmap allocator powerpc/cell: Make spu_flush_all_slbs() generic powerpc/cell: Move data segment faulting code out of cell platform powerpc/cell: Move spu_handle_mm_fault() out of cell platform powerpc/pseries: Use new defines when calling H_SET_MODE powerpc: Update contact info in Documentation files powerpc/perf/hv-24x7: Simplify catalog_read() ... commit 81ae31d78239318610d7c2acb3e2610d622a5aa4 Merge: ef4a48c 95afae4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 20:29:01 2014 -0400 Merge tag 'stable/for-linus-3.18-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull Xen updates from David Vrabel: "Features and fixes: - Add pvscsi frontend and backend drivers. - Remove _PAGE_IOMAP PTE flag, freeing it for alternate uses. - Try and keep memory contiguous during PV memory setup (reduces SWIOTLB usage). - Allow front/back drivers to use threaded irqs. - Support large initrds in PV guests. - Fix PVH guests in preparation for Xen 4.5" * tag 'stable/for-linus-3.18-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (22 commits) xen: remove DEFINE_XENBUS_DRIVER() macro xen/xenbus: Remove BUG_ON() when error string trucated xen/xenbus: Correct the comments for xenbus_grant_ring() x86/xen: Set EFER.NX and EFER.SCE in PVH guests xen: eliminate scalability issues from initrd handling xen: sync some headers with xen tree xen: make pvscsi frontend dependant on xenbus frontend arm{,64}/xen: Remove "EXPERIMENTAL" in the description of the Xen options xen-scsifront: don't deadlock if the ring becomes full x86: remove the Xen-specific _PAGE_IOMAP PTE flag x86/xen: do not use _PAGE_IOMAP PTE flag for I/O mappings x86: skip check for spurious faults for non-present faults xen/efi: Directly include needed headers xen-scsiback: clean up a type issue in scsiback_make_tpg() xen-scsifront: use GFP_ATOMIC under spin_lock MAINTAINERS: Add xen pvscsi maintainer xen-scsiback: Add Xen PV SCSI backend driver xen-scsifront: Add Xen PV SCSI frontend driver xen: Add Xen pvSCSI protocol description xen/events: support threaded irqs for interdomain event channels ... commit 65dd8327eb055a393a413a2214f70a9a10ff7ad6 Author: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Date: Sat Oct 11 19:56:34 2014 -0400 ext4: delete useless comments about ext4_move_extents In patch 'ext4: refactor ext4_move_extents code base', Dmitry Monakhov has refactored ext4_move_extents' implementation, but forgot to update the corresponding comments, this patch will try to delete some useless comments. Reviewed-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 0ff8947fc5f700172b37cbca811a38eb9cb81e08 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Sat Oct 11 19:51:17 2014 -0400 ext4: fix reservation overflow in ext4_da_write_begin Delalloc write journal reservations only reserve 1 credit, to update the inode if necessary. However, it may happen once in a filesystem's lifetime that a file will cross the 2G threshold, and require the LARGE_FILE feature to be set in the superblock as well, if it was not set already. This overruns the transaction reservation, and can be demonstrated simply on any ext4 filesystem without the LARGE_FILE feature already set: dd if=/dev/zero of=testfile bs=1 seek=2147483646 count=1 \ conv=notrunc of=testfile sync dd if=/dev/zero of=testfile bs=1 seek=2147483647 count=1 \ conv=notrunc of=testfile leads to: EXT4-fs: ext4_do_update_inode:4296: aborting transaction: error 28 in __ext4_handle_dirty_super EXT4-fs error (device loop0) in ext4_do_update_inode:4301: error 28 EXT4-fs error (device loop0) in ext4_reserve_inode_write:4757: Readonly filesystem EXT4-fs error (device loop0) in ext4_dirty_inode:4876: error 28 EXT4-fs error (device loop0) in ext4_da_write_end:2685: error 28 Adjust the number of credits based on whether the flag is already set, and whether the current write may extend past the LARGE_FILE limit. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 4af6600fd793023c01634cca5abfe4a2b707788f Merge: 447a8b8 68da166 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Oct 11 11:41:19 2014 -0700 Merge branch 'next' into for-linus Prepare second round of input updates for 3.18. commit 68da166491655bc54051bf04c78ce648e2e33508 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Oct 10 12:19:03 2014 -0700 Input: i8042 - disable active multiplexing by default Active multiplexing is a nice feature as it allows several pointing devices (such as touchpad and external mouse) use their native protocols at the same time. Unfortunately many manufacturers do not implement the feature properly even though they advertise it. The problematic implementations are never fixed, since Windows by default does not use this mode, and move from one BIOS/model of laptop to another. When active multiplexing is broken turning it on usually results in touchpad, keyboard, or both unresponsive. With PS/2 usage on decline (most of PS/2 devices in use nowadays are internal laptop touchpads), I expect number of users who have laptops with working MUX implementation, docking stations with external PS/2 ports, and who are still using external PS/2 mice, to be rather small. Let's flip the default to be OFF and allow activating it through i8042.nomux=0 kernel option. We'll also keep DMI table where we can record known good models. Acked-by: Jiri Kosina <jkosina@xxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9ff84a17302aeb8913ff244ecc0d8f9d219fecb5 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Oct 11 11:27:37 2014 -0700 Input: i8042 - add noloop quirk for Asus X750LN Without this the aux port does not get detected, and consequently the touchpad will not work. https://bugzilla.redhat.com/show_bug.cgi?id=1110011 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit aa972409951e0675e07918620427517cad5090e0 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Sep 2 09:49:18 2014 -0700 Input: synaptics - gate forcepad support by DMI check Unfortunately, ForcePad capability is not actually exported over PS/2, so we have to resort to DMI checks. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Nicole Faerber <nicole.faerber@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9d93551188069a0a21e664b4bfc89ed4a6df1903 Merge: dd4cae8 bfe01a5 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Oct 11 11:34:07 2014 -0700 Merge tag 'v3.17' into next Synchronize with mainline to bring in changes to Synaptics and i8042 drivers. commit ef4a48c513211d842c55e84f7a1c31884b91dcf7 Merge: 90d0c37 1b2b32d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 13:21:34 2014 -0400 Merge tag 'locks-v3.18-1' of git://git.samba.org/jlayton/linux Pull file locking related changes from Jeff Layton: "This release is a little more busy for file locking changes than the last: - a set of patches from Kinglong Mee to fix the lockowner handling in knfsd - a pile of cleanups to the internal file lease API. This should get us a bit closer to allowing for setlease methods that can block. There are some dependencies between mine and Bruce's trees this cycle, and I based my tree on top of the requisite patches in Bruce's tree" * tag 'locks-v3.18-1' of git://git.samba.org/jlayton/linux: (26 commits) locks: fix fcntl_setlease/getlease return when !CONFIG_FILE_LOCKING locks: flock_make_lock should return a struct file_lock (or PTR_ERR) locks: set fl_owner for leases to filp instead of current->files locks: give lm_break a return value locks: __break_lease cleanup in preparation of allowing direct removal of leases locks: remove i_have_this_lease check from __break_lease locks: move freeing of leases outside of i_lock locks: move i_lock acquisition into generic_*_lease handlers locks: define a lm_setup handler for leases locks: plumb a "priv" pointer into the setlease routines nfsd: don't keep a pointer to the lease in nfs4_file locks: clean up vfs_setlease kerneldoc comments locks: generic_delete_lease doesn't need a file_lock at all nfsd: fix potential lease memory leak in nfs4_setlease locks: close potential race in lease_get_mtime security: make security_file_set_fowner, f_setown and __f_setown void return locks: consolidate "nolease" routines locks: remove lock_may_read and lock_may_write lockd: rip out deferred lock handling from testlock codepath NFSD: Get reference of lockowner when coping file_lock ... commit 90d0c376f5ee1927327b267faf15bf970476f09e Merge: ac0c493 a43bb39 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 08:03:52 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs updates from Chris Mason: "The largest set of changes here come from Miao Xie. He's cleaning up and improving read recovery/repair for raid, and has a number of related fixes. I've merged another set of fsync fixes from Filipe, and he's also improved the way we handle metadata write errors to make sure we force the FS readonly if things go wrong. Otherwise we have a collection of fixes and cleanups. Dave Sterba gets a cookie for removing the most lines (thanks Dave)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (139 commits) btrfs: Fix compile error when CONFIG_SECURITY is not set. Btrfs: fix compiles when CONFIG_BTRFS_FS_RUN_SANITY_TESTS is off btrfs: Make btrfs handle security mount options internally to avoid losing security label. Btrfs: send, don't delay dir move if there's a new parent inode btrfs: add more superblock checks Btrfs: fix race in WAIT_SYNC ioctl Btrfs: be aware of btree inode write errors to avoid fs corruption Btrfs: remove redundant btrfs_verify_qgroup_counts declaration. btrfs: fix shadow warning on cmp Btrfs: fix compilation errors under DEBUG Btrfs: fix crash of btrfs_release_extent_buffer_page Btrfs: add missing end_page_writeback on submit_extent_page failure btrfs: Fix the wrong condition judgment about subset extent map Btrfs: fix build_backref_tree issue with multiple shared blocks Btrfs: cleanup error handling in build_backref_tree btrfs: move checks for DUMMY_ROOT into a helper btrfs: new define for the inline extent data start btrfs: kill extent_buffer_page helper btrfs: drop constant param from btrfs_release_extent_buffer_page btrfs: hide typecast to definition of BTRFS_SEND_TRANS_STUB ... commit ac0c49396d5ed9a33f08ce661635ac1bff80bb4f Merge: eca9fdf 6174c2e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 08:02:31 2014 -0400 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs Pull UDF and quota updates from Jan Kara: "A few UDF fixes and also a few patches which are preparing filesystems for support of project quotas in VFS" * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: udf: Fix loading of special inodes ocfs2: Back out change to use OCFS2_MAXQUOTAS in ocfs2_setattr() udf: remove redundant sys_tz declaration ocfs2: Don't use MAXQUOTAS value reiserfs: Don't use MAXQUOTAS value ext3: Don't use MAXQUOTAS value udf: Fix race between write(2) and close(2) commit eca9fdf32dd48976eab18d310acb0b8d4cc9bf26 Merge: 41e46ac 0f9e2bf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 08:01:27 2014 -0400 Merge tag 'ecryptfs-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs Pull eCryptfs updates from Tyler Hicks: "Minor code cleanups and a fix for when eCryptfs metadata is stored in xattrs" * tag 'ecryptfs-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs: ecryptfs: remove unneeded buggy code in ecryptfs_do_create() ecryptfs: avoid to access NULL pointer when write metadata in xattr ecryptfs: remove unnecessary break after goto ecryptfs: Remove unnecessary include of syscall.h in keystore.c fs/ecryptfs/messaging.c: remove null test before kfree ecryptfs: Drop cast Use %pd in eCryptFS commit 41e46ac0fae9583d81e6b148329fec627d192181 Merge: 27a9716 d29c0af Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 08:00:16 2014 -0400 Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw Pull gfs2 updates from Steven Whitehouse: "This time we have a couple of bug fixes, one relating to bad i_goal values which are now ignored (i_goal is basically a hint so it is safe to so this) and another relating to the saving of the dirent location during rename. There is one performance improvement, which is an optimisation in rgblk_free so that multiple block deallocations will now be more efficient, and one clean up patch to use _RET_IP_ rather than writing it out longhand" * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw: GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0) GFS2: Use gfs2_rbm_incr in rgblk_free GFS2: Make rename not save dirent location GFS2: fix bad inode i_goal values during block allocation commit 27a9716bc80448f7e98fb1fb316daba241a4c539 Merge: e98d6e7 93899a6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 06:49:24 2014 -0400 Merge tag 'vfio-v3.18-rc1' of git://github.com/awilliam/linux-vfio Pull VFIO updates from Alex Williamson: - Nested IOMMU extension to type1 (Will Deacon) - Restore MSIx message before enabling (Gavin Shan) - Fix remove path locking (Alex Williamson) * tag 'vfio-v3.18-rc1' of git://github.com/awilliam/linux-vfio: vfio-pci: Fix remove path locking drivers/vfio: Export vfio_spapr_iommu_eeh_ioctl() with GPL vfio/pci: Restore MSIx message prior to enabling PCI: Export MSI message relevant functions vfio/iommu_type1: add new VFIO_TYPE1_NESTING_IOMMU IOMMU type iommu: introduce domain attribute for nesting IOMMUs commit e98d6e7f7625ed60c7bc1d39aeb2375ed3918fd5 Merge: 4e0b7fe 2118f4b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 06:47:50 2014 -0400 Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux Pull devicetree changes from Grant Likely: "This branch contains bug fixes and new features for the devicetree code. Most of the changes are either new testcases for the selftest code or documentation changes. The most notable change is the addition of a phandle resolver for use when grafting in a second device tree blob into the core tree. The resolver isn't currently used by anything other than the selftest module, but it will be used to support device tree overlays; probably in the v3.19 timeframe. Also note that I've moved my normal tree from git.secretlab.ca to git.kernel.org" * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux: of/selftest: Move hash table off stack to fix large frame size To remove non-ascii characters in of_selftest.txt of/selftest: Use the resolver to fixup phandles of: Introduce Device Tree resolve support. of/selftest: Add a test for duplicate phandles of: Don't try to search when phandle == 0 of/selftest: Test structure of device tree of: Fix NULL dereference in selftest removal code of: add vendor prefix for Chipidea of: Add vendor prefix for Innolux Corporation of: Add vendor prefix for Sitronix devicetree: bindings: Document Gateworks vendor prefix of: Add vendor prefix for Energy Micro dt/documentation: add specification of dma bus information commit 4e0b7fe38345b81930363b9f1b4b324181ddcc9e Merge: f43b179 b6af73b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 06:38:33 2014 -0400 Merge tag 'backlight-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight Pull backlight driver updates from Lee Jones: "Changes to existing drivers: - Checkpatch fixes - Removal of unused code in generic_bl - Removal of superfluous .owner attribute No new or removed drivers/supported devices" * tag 'backlight-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: backlight: omap1: add blank line after declarations backlight: jornada720: Remove 'else' after a return backlight: jornada720: Remove 'else' after a return backlight: wm831x_bl: Add blank line after declarations backlight: tdo24m: Add blank line after declarations backlight: s6e63m0: Remove 'else' after a return backlight: pcf50633: Add blank line after declarations backlight: lp855x: Add blank line after declarations backlight: lms501kf03: Remove 'else' after a return backlight: lm3639: Remove unnecessary return statements backlight: ld9040: Remove 'else' after a return backlight: ili922x: Remove 'else' after a return backlight: cr_bllcd: Add blank line after declarations backlight: corgi_lcd: Add blank line after declarations backlight: ams369fg06: Remove 'else' after a return backlight: adp8870: Add blank line after declarations backlight: adp8860: Add blank line after declarations backlight: adp5520: Add blank line after declarations backlight: generic_bl: Remove unused function backlight: Remove .owner field for drivers using module_platform_driver commit f43b179bbd84d2106c6fb8c7f2db1bfacff19f62 Merge: a2ce352 583f958 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 06:34:22 2014 -0400 Merge tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC updates from Ulf Hansson: "MMC core: - Fix SDIO IRQ bug - MMC regulator improvements - Fix slot-gpio card detect bug - Add support for Driver Stage Register - Convert the common MMC OF parser to use GPIO descriptors - Convert MMC_CAP2_NO_MULTI_READ into a callback, ->multi_io_quirk() - Some additional minor fixes MMC host: - mmci: Support Qualcomm specific DML layer for DMA - dw_mmc: Use common MMC regulators - dw_mmc: Add support for Rock-chips RK3288 - tmio: Enable runtime PM support - tmio: Add support for R-Car Gen2 SoCs - tmio: Several fixes and improvements - omap_hsmmc: Removed Balaji from MAINTAINERS - jz4740: add DMA and pre/post support - sdhci: Add support for Intel Braswell - sdhci: Several fixes and improvements" * tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc: (119 commits) ARM: dts: fix MMC2 regulators for Exynos5420 Arndale Octa board mmc: sdhci-acpi: Fix Braswell eMMC timeout clock frequency mmc: sdhci-acpi: Pass HID and UID to probe_slot mmc: sdhci-acpi: Get UID directly from acpi_device mmc, sdhci, bcm-kona, LLVMLinux: Remove use of __initconst mmc: sdhci-pci: Fix Braswell eMMC timeout clock frequency mmc: sdhci: Let a driver override timeout clock frequency mmc: sdhci-pci: Add Bay Trail and Braswell SD card detect mmc: sdhci-pci: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel BYT host controllers mmc: sdhci-acpi: Add a HID and UID for a SD Card host controller mmc: sdhci-acpi: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel host controllers mmc: sdhci: Add quirk for always getting TC with stop cmd mmc: core: restore detect line inversion semantics mmc: Fix incorrect warning when setting 0 Hz via debugfs mmc: Fix use of wrong device in mmc_gpiod_free_cd() mmc: atmel-mci: fix mismatched section on atmci_cleanup_slot mmc: rtsx_pci: Set power related cap2 macros mmc: core: Add new power_mode MMC_POWER_UNDEFINED mmc: sdhci: execute tuning when device is not busy mmc: atmel-mci: Release mmc resources on failure in probe .. commit a2ce35273c2f1aa0dcddd8822681d64ee5f31852 Merge: bf65dea fd1a2a9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 22:13:25 2014 -0400 Merge tag 'sound-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "This time it's a relatively calm update batch, but the amount isn't too small in the end. Here we go over some highlights: ALSA core: - One major change is the support of nonatomic PCM operations. This allows the trigger and other callbacks to call schedule(), which would be useful for mailbox type communications. Already some drivers (Digigram ones) have been converted to use together with threaded irqs as an example. - Improvement / fixes of DSD PCM format support HD-audio: - Large volume of rewrites are found in Realtek codec driver for converting Dell and HP quirks to generic forms. - Inverted dmic code cleanup from David. - Realtek COEF access has been optimized. - Now HD-audio jack infrastructure allows multiple callbacks, which fixes / simplifies the jack-dependent power controls on STAC/IDT and VIA codecs. - Many additional device-specific fixups as usual - A few deadcode cleanups, CA0132 code cleanup, etc. ASoC: - More componentization work from Lars-Peter, this time mainly cleaning up the suspend and bias level transition callbacks. - Real system support for the Intel drivers and a bunch of fixes and enhancements for the associated CODEC drivers, this is going to need a lot quirks over time due to the lack of any firmware description of the boards. - Jack detect support for simple card from Dylan Reid. - A bunch of small fixes and enhancements for the Freescale drivers. - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32, Everest Semiconductor ES8328 and Freescale cards using the ASRC in newer i.MX processors. - A few simple-card fixes, mostly cleanups but also a fix for interaction between GPIO 0 and simple-card. Misc: - Virtuoso / Oxygen updates by Clemens - USB-audio: Yamaha MOTIF XF MIDI port name fixes - Conversion of kernel messages to standard dev_*() in ctxfi driver" * tag 'sound-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (251 commits) ASoC: mc13783: Ensure we only try to dereference valid of_nodes ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_txctrl ALSA: hda - Add dock port support to Thinkpad L440 (71aa:501e) ALSA: Allow pass NULL dev for snd_pci_quirk_lookup() ASoC: imx-es8328: Fix of_node_put() call with uninitialized object ASoC: soc-pcm: fix sig_bits determination in soc_pcm_apply_msb() ASoC: simple-card: Initialize headphone and mic GPIO numbers ASoC: imx-es8328: Fix missing return code in imx_es8328_probe() ALSA: hda - Add dock support for Thinkpad T440 (17aa:2212) ALSA: usb: caiaq: check for cdev->n_streams > 1 ASoC: 88pm860x-codec: Fix possibly missing string termination ASoC: core: fix use after free in snd_soc_remove_platform() ASoC: soc-dapm: fix use after free ALSA: hda - Make the inv dmic handling for Realtek use generic parser ALSA: hda - Add Inverted Internal mic for Samsung Ativ book 9 (NP900X3G) ALSA: hda - Add inverted internal mic for Asus Aspire 4830T ASoC: Intel: byt-rt5640: fix coccinelle warnings ASoC: fsl_esai doc: Add "fsl,vf610-esai" as compatible string ASoC: da732x: Remove unnecessary KERN_ERR in pr_err() ASoC: simple-card: Fix detect gpio documentation. ... commit bf65dea87e87c53ba4f97c6432761498bc977efd Merge: 4d9708e d0585cd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 22:07:55 2014 -0400 Merge tag 'edac/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac Pull edac updates from Mauro Carvalho Chehab: "Nothing really exiting here: just one bug fix at sb_edac, and some changes to allow other drivers to use some shared PCI addresses" * tag 'edac/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac: sb_edac: Claim a different PCI device Move Intel SNB device ids from sb_edac to pci_ids.h sb_edac: avoid INTERNAL ERROR message in EDAC with unspecified channel commit 4d9708ea5e5a45973df7cf965805fdfb185dd5bf Merge: 754c780 a66d05d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 22:04:49 2014 -0400 Merge tag 'media/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - new IR driver: hix5hd2-ir - the virtual test driver (vivi) was replaced by vivid, with has an almost complete set of features to emulate most v4l2 devices and properly test all sorts of userspace apps - the as102 driver had several bugs fixed and was properly split into a frontend and a core driver. With that, it got promoted from staging into mainstream - one new CI driver got added for CIMaX SP2/SP2HF (sp2 driver) - one new frontend driver for Toshiba ISDB-T/ISDB-S demod (tc90522) - one new PCI driver for ISDB-T/ISDB-S (pt3 driver) - saa7134 driver got support for go7007-based devices - added a new PCI driver for Techwell 68xx chipsets (tw68) - a new platform driver was added (coda) - new tuner drivers: mxl301rf and qm1d1c0042 - a new DVB USB driver was added for DVBSky S860 & similar devices - added a new SDR driver (hackrf) - usbtv got audio support - several platform drivers are now compiled with COMPILE_TEST - a series of compiler fixup patches, making sparse/spatch happier with the media stuff and removing several warnings, especially on those platform drivers that didn't use to compile on x86 - Support for several new modern devices got added - lots of other fixes, improvements and cleanups * tag 'media/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (544 commits) [media] ir-hix5hd2: fix build on c6x arch [media] pt3: fix DTV FE I2C driver load error paths Revert "[media] media: em28xx - remove reset_resume interface" [media] exynos4-is: fix some warnings when compiling on arm64 [media] usb drivers: use %zu instead of %zd [media] pci drivers: use %zu instead of %zd [media] dvb-frontends: use %zu instead of %zd [media] s5p-mfc: Fix several printk warnings [media] s5p_mfc_opr: Fix warnings [media] ti-vpe: Fix typecast [media] s3c-camif: fix dma_addr_t printks [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64 [media] em28xx: Fix identation [media] drxd: remove a dead code [media] saa7146: remove return after BUG() [media] cx88: remove return after BUG() [media] cx88: fix cards table CodingStyle [media] radio-sf16fmr2: declare some structs as static [media] radio-sf16fmi: declare pnp_attached as static ... commit 754c780953397dd5ee5191b7b3ca67e09088ce7a Merge: 40c4326 b4bbb10 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 16:56:08 2014 -0400 Merge branch 'for-v3.18' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping Pull dma-mapping update from Marek Szyprowski: "Provide the dma write coherent api (available previously on ARM architecture) for all other architectures, which use dma_ops-based dma mapping implementation. This lets one to use the same code in the device drivers regardless of the selected architecture" * 'for-v3.18' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping: dma-mapping: Provide write-combine allocations s390: Implement dma_{alloc,free}_attrs() commit 40c43269cf8e88a0bdc306c717d1dd5446a6f3b8 Merge: 93834c6 3afb57f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 16:40:14 2014 -0400 Merge tag 'hwmon-for-linus-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: - new driver for menf21bmc. - convert k10temp, smsc47b397, da9052, da9055 to new hwmon API. - register ntc_thermistor driver with thermal subsystem. - add support for F15h M60h to k10temp driver. - add driver for MEN14F021P00 BMC HWMON driver; this required a merge with tag mfd-hwmon-leds-watchdog-v3.18 * tag 'hwmon-for-linus-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (ab8500) Call kernel_power_off instead of pm_power_off hwmon: (menf21bmc) Introduce MEN14F021P00 BMC HWMON driver leds: leds-menf21bmc: Introduce MEN 14F021P00 BMC LED driver watchdog: menf21bmc_wdt: Introduce MEN 14F021P00 BMC Watchdog driver mfd: menf21bmc: Introduce MEN 14F021P00 BMC MFD Core driver hwmon: (ntc_thermistor) Add ntc thermistor to thermal subsystem as a sensor. hwmon: (smsc47b397) Convert to devm_hwmon_device_register_with_groups MAINTAINERS: add entry for the PWM fan driver hwmon: (k10temp) Convert to devm_hwmon_device_register_with_groups hwmon: (k10temp) Add support for F15h M60h hwmon: (da9052) Convert to devm_hwmon_device_register_with_groups hwmon: (da9055) Convert to devm_hwmon_device_register_with_groups hwmon: (ads1015) Use of_property_read_u32 at appropriate places commit 93834c6419bccf102a17971c6b114826597a61c5 Merge: c798360 6cd6d94 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 16:38:02 2014 -0400 Merge tag 'restart-handler-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull restart handler infrastructure from Guenter Roeck: "This series was supposed to be pulled through various trees using it, and I did not plan to send a separate pull request. As it turns out, the pinctrl tree did not merge with it, is now upstream, and uses it, meaning there are now build failures. Please pull this series directly to fix those build failures" * tag 'restart-handler-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: arm/arm64: unexport restart handlers watchdog: sunxi: register restart handler with kernel restart handler watchdog: alim7101: register restart handler with kernel restart handler watchdog: moxart: register restart handler with kernel restart handler arm: support restart through restart handler call chain arm64: support restart through restart handler call chain power/restart: call machine_restart instead of arm_pm_restart kernel: add support for kernel restart handler call chain commit 887e7019e3b8f00c7901c0bc66fb689ced69f7b4 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Fri Oct 10 13:12:28 2014 -0700 mm: Support fadvise without CONFIG_MMU Commit d3ac21cacc24790eb45d735769f35753f5b56ceb ("mm: Support compiling out madvise and fadvise") incorrectly made fadvise conditional on CONFIG_MMU. (The merged branch unintentionally incorporated v1 of the patch rather than the fixed v2.) Apply the delta from v1 to v2, to allow fadvise without CONFIG_MMU. Reported-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit bdcf81b658ebc4c2640c3c2c55c8b31c601b6996 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:49:16 2014 -0400 sparc64: Fix lockdep warnings on reboot on Ultra-5 Inconsistently, the raw_* IRQ routines do not interact with and update the irqflags tracing and lockdep state, whereas the raw_* spinlock interfaces do. This causes problems in p1275_cmd_direct() because we disable hardirqs by hand using raw_local_irq_restore() and then do a raw_spin_lock() which triggers a lockdep trace because the CPU's hw IRQ state doesn't match IRQ tracing's internal software copy of that state. The CPU's irqs are disabled, yet current->hardirqs_enabled is true. ==================== reboot: Restarting system ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3536 check_flags+0x7c/0x240() DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled) Modules linked in: openpromfs CPU: 0 PID: 1 Comm: systemd-shutdow Tainted: G W 3.17.0-dirty #145 Call Trace: [000000000045919c] warn_slowpath_common+0x5c/0xa0 [0000000000459210] warn_slowpath_fmt+0x30/0x40 [000000000048f41c] check_flags+0x7c/0x240 [0000000000493280] lock_acquire+0x20/0x1c0 [0000000000832b70] _raw_spin_lock+0x30/0x60 [000000000068f2fc] p1275_cmd_direct+0x1c/0x60 [000000000068ed28] prom_reboot+0x28/0x40 [000000000043610c] machine_restart+0x4c/0x80 [000000000047d2d4] kernel_restart+0x54/0x80 [000000000047d618] SyS_reboot+0x138/0x200 [00000000004060b4] linux_sparc_syscall32+0x34/0x60 ---[ end trace 5c439fe81c05a100 ]--- possible reason: unannotated irqs-off. irq event stamp: 2010267 hardirqs last enabled at (2010267): [<000000000049a358>] vprintk_emit+0x4b8/0x580 hardirqs last disabled at (2010266): [<0000000000499f08>] vprintk_emit+0x68/0x580 softirqs last enabled at (2010046): [<000000000045d278>] __do_softirq+0x378/0x4a0 softirqs last disabled at (2010039): [<000000000042bf08>] do_softirq_own_stack+0x28/0x40 Resetting ... ==================== Use local_* variables of the hw IRQ interfaces so that IRQ tracing sees all of our changes. Reported-by: Meelis Roos <mroos@xxxxxxxx> Tested-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 01d2d484e49e9bc0ed9b5fdaf345a0e2bf35ffed Merge: 35b7a19 61b423a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:39:22 2014 -0400 Merge branch 'bcmgenet_systemport' Florian Fainelli says: ==================== net: bcmgenet & systemport fixes This patch series fixes an off-by-one error introduced during a previous change, and the two other fixes fix a wake depth imbalance situation for the Wake-on-LAN interrupt line. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61b423a8a0bd9aeaa046f9a24bed42e3a953a936 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 10 10:51:54 2014 -0700 net: systemport: avoid unbalanced enable_irq_wake calls Multiple enable_irq_wake() calls will keep increasing the IRQ wake_depth, which ultimately leads to the following types of situation: 1) enable Wake-on-LAN interrupt w/o password 2) enable Wake-on-LAN interrupt w/ password 3) enable Wake-on-LAN interrupt w/o password 4) disable Wake-on-LAN interrupt After step 4), SYSTEMPORT would always wake-up the system no matter what wake-up device we use, which is not what we want. Fix this by making sure there are no unbalanced enable_irq_wake() calls. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 083731a8fbe71d83fc908adf137dc98ee352f280 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 10 10:51:53 2014 -0700 net: bcmgenet: avoid unbalanced enable_irq_wake calls Multiple enable_irq_wake() calls will keep increasing the IRQ wake_depth, which ultimately leads to the following types of situation: 1) enable Wake-on-LAN interrupt w/o password 2) enable Wake-on-LAN interrupt w/ password 3) enable Wake-on-LAN interrupt w/o password 4) disable Wake-on-LAN interrupt After step 4), GENET would always wake-up the system no matter what wake-up device we use, which is not what we want. Fix this by making sure there are no unbalanced enable_irq_wake() calls. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf377d886f7944a5ccdbd164b89949e13617b096 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 10 10:51:52 2014 -0700 net: bcmgenet: fix off-by-one in incrementing read pointer Commit b629be5c8399d7c423b92135eb43a86c924d1cbc ("net: bcmgenet: check harder for out of memory conditions") moved the increment of the local read pointer *before* reading from the hardware descriptor using dmadesc_get_length_status(), which creates an off-by-one situation. Fix this by moving again the read_ptr increment after we have read the hardware descriptor to get both the control block and the read pointer back in sync. Fixes: b629be5c8399 ("net: bcmgenet: check harder for out of memory conditions") Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35b7a1915aa33da812074744647db0d9262a555c Merge: 1fadee0 4c45058 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:37:36 2014 -0400 Merge branch 'net-drivers-pgcnt' Eric Dumazet says: ==================== net: fix races accessing page->_count This is illegal to use atomic_set(&page->_count, ...) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. The only case it is valid is when page->_count is 0, we can use this in __netdev_alloc_frag() Note that I never seen crashes caused by these races, the issue was reported by Andres Lagar-Cavilla and Hugh Dickins. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c450583d9d0a8241f0f62b80038ac47b43ff843 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 04:48:18 2014 -0700 net: fix races in page->_count manipulation This is illegal to use atomic_set(&page->_count, ...) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. The only case it is valid is when page->_count is 0 Fixes: 540eb7bf0bbed ("net: Update alloc frag to reduce get/put page usage and recycle pages") Signed-off-by: Eric Dumaze <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98226208c8a1fe5834e92d827a2a1e8051a17943 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 04:48:17 2014 -0700 mlx4: fix race accessing page->_count This is illegal to use atomic_set(&page->_count, ...) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec91698360b3818ff426488a1529811f7a7ab87f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 04:48:16 2014 -0700 ixgbe: fix race accessing page->_count This is illegal to use atomic_set(&page->_count, 2) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00cd5adb0313f540aa58672d14e764d164586a43 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 04:48:15 2014 -0700 igb: fix race accessing page->_count This is illegal to use atomic_set(&page->_count, 2) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42b0270b40e2ad692ef59e28233202ee6f293e1e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 04:48:14 2014 -0700 fm10k: fix race accessing page->_count This is illegal to use atomic_set(&page->_count, 2) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fadee0c364572f2b2e098b34001fbaa82ee2e00 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Fri Oct 10 09:48:05 2014 +0200 net/phy: micrel: Add clock support for KSZ8021/KSZ8031 The KSZ8021 and KSZ8031 support RMII reference input clocks of 25MHz and 50MHz. Both PHYs differ in the default frequency they expect after reset. If this differs from the actual input clock, then register 0x1f bit 7 must be changed. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5af7fb6e3e92c2797ee30d66138cf6aa6b29240d Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Oct 10 12:09:12 2014 -0700 flow-dissector: Fix alignment issue in __skb_flow_get_ports This patch addresses a kernel unaligned access bug seen on a sparc64 system with an igb adapter. Specifically the __skb_flow_get_ports was returning a be32 pointer which was then having the value directly returned. In order to prevent this it is actually easier to simply not populate the ports or address values when an skb is not present. In this case the assumption is that the data isn't needed and rather than slow down the faster aligned accesses by making them have to assume the unaligned path on architectures that don't support efficent unaligned access it makes more sense to simply switch off the bits that were copying the source and destination address/port for the case where we only care about the protocol types and lengths which are normally 16 bit fields anyway. Reported-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2991dd2b0117e864f394c826af6df144206ce0db Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Oct 2 22:05:24 2014 -0400 audit: rename audit_log_remove_rule to disambiguate for trees Rename audit_log_remove_rule() to audit_tree_log_remove_rule() to avoid confusion with watch and mark rule removal/changes. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 8ea6e345a6123fa831e42cd8747f55892a58abff Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 10 13:56:51 2014 +0800 net: filter: fix the comments 1. sk_run_filter has been renamed, sk_filter() is using SK_RUN_FILTER. 2. Remove wrong comments about storing intermediate value. 3. replace sk_run_filter with __bpf_prog_run for check_load_and_stores's comments Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a9525f68e948d53cf99c963bdbf01223a08f4ed Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 10 11:36:54 2014 +0800 Documentation: replace __sk_run_filter with __bpf_prog_run __sk_run_filter has been renamed as __bpf_prog_run, so replace them in comments Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ab52c69282fbc7384fe7e9d14f68ce11040feac Merge: 2403077 d1dd9119 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:09:51 2014 -0400 Merge branch 'macvlan' Jason Baron says: ==================== macvlan: optimize receive path So after porting this optimization to net-next, I found that the netperf results of TCP_RR regress right at the maximum peak of transactions/sec. That is as I increase the number of threads via the first argument to super_netperf, the number of transactions/sec keep increasing, peak, and then start decreasing. It is right at the peak, that I see a small regression with this patch (see results in patch 2/2). Without the patch, the ksoftirqd threads are the top cpu consumers threads on the system, since the extra 'netif_rx()', is queuing more softirq work, whereas with the patch, the ksoftirqd threads are below all of the 'netserver' threads in terms of their cpu usage. So there appears to be some interaction between how softirqs are serviced at the peak here and this patch. I think the test results are still supportive of this approach, but I wanted to be clear on my findings. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1dd911930885659420421cfe123957610c54299 Author: jbaron@xxxxxxxxxx <jbaron@xxxxxxxxxx> Date: Fri Oct 10 03:13:31 2014 +0000 macvlan: optimize the receive path The netif_rx() call on the fast path of macvlan_handle_frame() appears to be there to ensure that we properly throttle incoming packets. However, it would appear as though the proper throttling is already in place for all possible ingress paths, and that the call is redundant. If packets are arriving from the physical NIC, we've already throttled them by this point. Otherwise, if they are coming via macvlan_queue_xmit(), it calls either 'dev_forward_skb()', which ends up calling netif_rx_internal(), or else in the broadcast case, we are throttling via macvlan_broadcast_enqueue(). The test results below are from off the box to an lxc instance running macvlan. Once the tranactions/sec stop increasing, the cpu idle time has gone to 0. Results are from a quad core Intel E3-1270 V2@xxxxxxx box with bnx2x 10G card. for i in {10,100,200,300,400,500}; do super_netperf $i -H $ip -t TCP_RR; done Average of 5 runs. trans/sec trans/sec (3.17-rc7-net-next) (3.17-rc7-net-next + this patch) ---------- ---------- 208101 211534 (+1.6%) 839493 850162 (+1.3%) 845071 844053 (-.12%) 816330 819623 (+.4%) 778700 789938 (+1.4%) 735984 754408 (+2.5%) Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c9799359bc691becc888f97a4b5bb035cb206f9 Author: jbaron@xxxxxxxxxx <jbaron@xxxxxxxxxx> Date: Fri Oct 10 03:13:27 2014 +0000 macvlan: pass 'bool' type to macvlan_count_rx() Pass last argument to macvlan_count_rx() as the correct bool type. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e85322d21cfebeac64f58a204e9adc0bc5c1e46f Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Oct 2 22:05:19 2014 -0400 audit: cull redundancy in audit_rule_change Re-factor audit_rule_change() to reduce the amount of code redundancy and simplify the logic. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 739c95038e68d364b01c0fc6f8fb8e47b1c1e979 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Fri Oct 10 15:05:21 2014 -0400 audit: WARN if audit_rule_change called illegally Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 2403077d47991a8385789779ee5fc90b003f9fbe Merge: 38b3629 41aace6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:07:02 2014 -0400 Merge branch 'xgene' Iyappan Subramanian says: ==================== Add 10GbE support to APM X-Gene SoC ethernet driver Adding 10GbE support to APM X-Gene SoC ethernet driver. v4: Address comments from v3 * dtb: resolved merge conflict for the net tree v3: Address comments from v2 * dtb: changed to use all-zeros for the mac address v2: Address comments from v1 * created preparatory patch to review before adding new functionality * dtb: updated to use tabs consistently v1: * Initial version ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41aace6e088d198f2441f3d0e579657d6815234c Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:07 2014 -0700 drivers: net: xgene: Add 10GbE ethtool support Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0148d38d36b76b190ddddff68f02d2617ada3bcb Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:06 2014 -0700 drivers: net: xgene: Add 10GbE support - Added 10GbE support - Removed unused macros/variables - Moved mac_init call to the end of hardware init Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0eb74582fa7b5c15710d293a3c4d8d3409ae165 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:05 2014 -0700 drivers: net: xgene: Preparing for adding 10GbE support - Rearranged code to pave the way for adding 10GbE support - Added mac_ops structure containing function pointers for mac specific functions - Added port_ops structure containing function pointers for port specific functions Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5fb32417b7e52d2e6d5f5c64d277a03e5c998a02 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:04 2014 -0700 dtb: Add 10GbE node to APM X-Gene SoC device tree Added 10GbE interface and clock nodes. Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5239b978b686e336a501680c80399e4786ac12fc Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:03 2014 -0700 Documentation: dts: Update section header for APM X-Gene Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b61d18904e2a99ed16b6e97d5419f1db19e08bd2 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:02 2014 -0700 MAINTAINERS: Update APM X-Gene section Updated APM X-Gene ethernet driver maintainers list. Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3639f17068ed40e4e208a6e218481d49817bbd56 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Oct 2 22:05:18 2014 -0400 audit: put rule existence check in canonical order Use same rule existence check order as audit_make_tree(), audit_to_watch(), update_lsm_rule() for legibility. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 38b3629adb8c048dda8b98e888505c79ed33ae92 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Oct 9 15:16:41 2014 -0700 net: bpf: fix bpf syscall dependence on anon_inodes minimal configurations where EPOLL, PERF_EVENTS, etc are disabled, but NET is enabled, are failing to build with link error: kernel/built-in.o: In function `bpf_prog_load': syscall.c:(.text+0x3b728): undefined reference to `anon_inode_getfd' fix it by selecting ANON_INODES when NET is enabled Reported-by: Michal Sojka <sojkam1@xxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b6fa1eef68591b0ba27f16c149180ce1cf7047f Merge: 4511a4a f0d1f04 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:01:09 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter fixes for net-next This batch contains two fixes for what you have in your net-next, they are: 1) Remove nf_send_reset6() from header file. This function now resides in the nf_reject_ipv6 module. Reported by Eric Dumazet. 2) Fix wrong NFT_REJECT_ICMPX_MAX definition and adjust code to fix errors reported by Dan Carpenter's static analysis tools. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95e8d97e9b78040285defe482e1edf8b6341a4c1 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 15:39:02 2014 -0300 perf ui browsers: Add missing include This file needs the K_{RIGHT,etc} definitions but isn't including the file where they are defined, ui/keysyms.h, fix it. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jlpybqegpdauzx64l9r1jgm3@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4318bcb70ecc567dd0414d87fcd7e926ce956aab Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 15:46:05 2014 -0300 perf tools: Move events_stats struct to event.h This is the only bit of hist.h that session.[ch] will end up using, so move it out of hist.h to make that abundantly clear. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-l9ftsl21ggw0c1g2ig87otmd@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4511a4a50e1a8757f771681c3e92dbf5a928eeac Merge: 3dab99e 1fca350 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 14:49:55 2014 -0400 Merge tag 'master-2014-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== pull request: wireless-next 2014-10-09 Please pull this batch of fixes intended for the 3.18 stream! Andrea Merello makes rtl818x_pci use a more reasonable transmission rate for HW generated frames. Fabian Frederick tweaks some kernel-doc bits to avoid warnings. Larry Finger corrects a possible unaligned access in the rtlwifi code. Marek Puzyniak avoids a kernel panic in ath9k_hw_reset. Sujith Manoharan goes for the hat trick -- he fixes a smatch warning in the shared ath code, he fixes a crash in ath9k, and he corrects a sequence number assignment problem in ath9k too. For ease of merging, I pulled the last bits of the wireless tree as well... Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3dab99e0b37e16525949757f46e33fb9612c73ec Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 10:10:36 2014 -0500 stmmac: correct mc_filter local variable in set_filter and set_mac_addr call Testing revealed that the local variable mc_filter was dimensioned incorrectly for all possible configurations and get_mac_addr should have been set_mac_addr (a typo). Make sure mc_filter is dimensioned to 8 32-bit unsigned longs - the largest size of the Synopsys multicast filter register set. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b3d136cf7e5e8e5ec80850e25bfea3e70d1bbe8 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 16:15:42 2014 +0200 net: pxa168_eth: PXA168_ETH should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `rxq_deinit': pxa168_eth.c:(.text+0x2a2f2e): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `txq_reclaim': pxa168_eth.c:(.text+0x2a3044): undefined reference to `dma_unmap_single' drivers/built-in.o: In function `txq_deinit': pxa168_eth.c:(.text+0x2a310a): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `txq_init': pxa168_eth.c:(.text+0x2a3226): undefined reference to `dma_alloc_coherent' drivers/built-in.o: In function `rxq_init': pxa168_eth.c:(.text+0x2a32d4): undefined reference to `dma_alloc_coherent' drivers/built-in.o: In function `init_hash_table': pxa168_eth.c:(.text+0x2a3354): undefined reference to `dma_alloc_coherent' drivers/built-in.o: In function `rxq_refill': pxa168_eth.c:(.text+0x2a345a): undefined reference to `dma_map_single' drivers/built-in.o: In function `rxq_process': pxa168_eth.c:(.text+0x2a39cc): undefined reference to `dma_unmap_single' drivers/built-in.o: In function `pxa168_eth_remove': pxa168_eth.c:(.text+0x2a3b84): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `pxa168_eth_start_xmit': pxa168_eth.c:(.text+0x2a3e8a): undefined reference to `dma_map_single' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2329ade22844054f4dce79fb9358d8f9f0421a5 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 15:12:15 2014 -0300 perf session: Don't count per evsel events PERF_RECORD_SAMPLE was not being counted here and is the only per-evsel thing anyway, the other events were not mapping to a evsel. With this we don't require that evsels used with a perf_session need to have space for hists, like the ones in annotate, report, top. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kzchpz0l1mhrsfpkirz086m2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 05df78059b3b991036666de9ee124d5cbd9e375d Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Oct 5 16:33:25 2014 +0200 RDMA/ocrdma: Save the bit environment, spare unncessary parenthesis Parenthesis around constants serves no purpose, save the bits! Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit de12348535a93535c408de396d3505541ca5e0d6 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Oct 5 16:33:24 2014 +0200 RDMA/ocrdma: The kernel has a perfectly good BIT() macro - use it No need to re-invent the wheel here Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit beb9b703811736adfc608034d1f0d5cf0c8a7073 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Oct 5 16:33:23 2014 +0200 RDMA/ocrdma: Don't memset() buffers we just allocated with kzalloc() Get rid of obfuscating ocrdma_alloc_mqe() kzalloc() wrapper as all it did was to make it less visible that the structure was already cleared on allocation. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit e5dc9409933b21732a8c370e9f7cf79c2c92cbcb Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Mon Sep 29 14:59:43 2014 +0800 RDMA/ocrdma: Remove a unused-label warning If IPV6 is disabled, we get the warning: drivers/infiniband/hw/ocrdma/ocrdma_main.c:650:1: warning: label â??err_notifier6â?? defined but not used [-Wunused-label] Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 1b76d38332271d5a0468ae5e465c5ea534c473c6 Author: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Date: Fri Sep 5 19:35:40 2014 +0530 RDMA/ocrdma: Convert kernel VA to PA for mmap in user In some platforms, when iommu is enabled, the bus address returned by dma_alloc_coherent is different than the physical address. ocrdma should use physical address for mmap-ing the queue memory for the applications. This patch adds the use of virt_to_phys() at all such places where kernel buffer is mapped to user process context. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit bf67472ca1fac19c81367601bd4ba7d17bdc9f6e Author: Selvin Xavier <selvin.xavier@xxxxxxxxxx> Date: Fri Aug 22 16:57:20 2014 +0530 RDMA/ocrdma: Get vlan tag from ib_qp_attrs After IP-based GID changes, VLAN id can be obtained from qp_attr->vlan_id. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 7ec11e0a14ae0a7a8fdce78860a70f25508de395 Author: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Date: Fri Aug 22 16:57:19 2014 +0530 RDMA/ocrdma: Add default GID at index 0 Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 3f4032861cfbff0b9134bf94c5c92e2146d1f068 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 10 23:32:49 2014 +0900 ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88 This patch fixes a failure to open PCM device with -ENOSYS in Terratec Phase 88. Terratec Phase 88 has two Selector Function Blocks of AVC Audio subunit to switch source of clock. One is to switch internal/external for the source and another is to switch word/spdif for the external clock. The IDs for these Selector Function Blocks are 9 and 8. But in current implementation they're 0 and 0. Reported-by: András Murányi <muranyia@xxxxxxxxx> Tested-by: András Murányi <muranyia@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c798360cd1438090d51eeaa8e67985da11362eba Merge: b211e9d 6ae833c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 07:26:02 2014 -0400 Merge branch 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu Pull percpu updates from Tejun Heo: "A lot of activities on percpu front. Notable changes are... - percpu allocator now can take @gfp. If @gfp doesn't contain GFP_KERNEL, it tries to allocate from what's already available to the allocator and a work item tries to keep the reserve around certain level so that these atomic allocations usually succeed. This will replace the ad-hoc percpu memory pool used by blk-throttle and also be used by the planned blkcg support for writeback IOs. Please note that I noticed a bug in how @gfp is interpreted while preparing this pull request and applied the fix 6ae833c7fe0c ("percpu: fix how @gfp is interpreted by the percpu allocator") just now. - percpu_ref now uses longs for percpu and global counters instead of ints. It leads to more sparse packing of the percpu counters on 64bit machines but the overhead should be negligible and this allows using percpu_ref for refcnting pages and in-memory objects directly. - The switching between percpu and single counter modes of a percpu_ref is made independent of putting the base ref and a percpu_ref can now optionally be initialized in single or killed mode. This allows avoiding percpu shutdown latency for cases where the refcounted objects may be synchronously created and destroyed in rapid succession with only a fraction of them reaching fully operational status (SCSI probing does this when combined with blk-mq support). It's also planned to be used to implement forced single mode to detect underflow more timely for debugging. There's a separate branch percpu/for-3.18-consistent-ops which cleans up the duplicate percpu accessors. That branch causes a number of conflicts with s390 and other trees. I'll send a separate pull request w/ resolutions once other branches are merged" * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (33 commits) percpu: fix how @gfp is interpreted by the percpu allocator blk-mq, percpu_ref: start q->mq_usage_counter in atomic mode percpu_ref: make INIT_ATOMIC and switch_to_atomic() sticky percpu_ref: add PERCPU_REF_INIT_* flags percpu_ref: decouple switching to percpu mode and reinit percpu_ref: decouple switching to atomic mode and killing percpu_ref: add PCPU_REF_DEAD percpu_ref: rename things to prepare for decoupling percpu/atomic mode switch percpu_ref: replace pcpu_ prefix with percpu_ percpu_ref: minor code and comment updates percpu_ref: relocate percpu_ref_reinit() Revert "blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe" Revert "percpu: free percpu allocation info for uniprocessor system" percpu-refcount: make percpu_ref based on longs instead of ints percpu-refcount: improve WARN messages percpu: fix locking regression in the failure path of pcpu_alloc() percpu-refcount: add @gfp to percpu_ref_init() proportions: add @gfp to init functions percpu_counter: add @gfp to percpu_counter_init() percpu_counter: make percpu_counters_lock irq-safe ... commit b211e9d7c861bdb37b86d6384da9edfb80949ceb Merge: d9428f09 e756c7b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 07:24:40 2014 -0400 Merge branch 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup Pull cgroup updates from Tejun Heo: "Nothing too interesting. Just a handful of cleanup patches" * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: Revert "cgroup: remove redundant variable in cgroup_mount()" cgroup: remove redundant variable in cgroup_mount() cgroup: fix missing unlock in cgroup_release_agent() cgroup: remove CGRP_RELEASABLE flag perf/cgroup: Remove perf_put_cgroup() cgroup: remove redundant check in cgroup_ino() cpuset: simplify proc_cpuset_show() cgroup: simplify proc_cgroup_show() cgroup: use a per-cgroup work for release agent cgroup: remove bogus comments cgroup: remove redundant code in cgroup_rmdir() cgroup: remove some useless forward declarations cgroup: fix a typo in comment. commit d9428f09763d307a6d2220c4bbb01d8fc5c55b52 Merge: 0cf744b 37017ac Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 07:23:11 2014 -0400 Merge branch 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata update from Tejun Heo: "AHCI is getting per-port irq handling and locks for better scalability. The gain is not huge but measureable with multiple high iops devices connected to the same host; however, the value of threaded IRQ handling seems negligible for AHCI and it likely will revert to non-threaded handling soon. Another noteworthy change is George Spelvin's "libata: Un-break ATA blacklist". During 3.17 devel cycle, the libata blacklist glob matching got generalized and rewritten; unfortunately, the patch forgot to swap arguments to match the new match function and ended up breaking blacklist matching completely. It got noticed only a couple days ago so it couldn't make for-3.17-fixes either. :( Other than the above two, nothing too interesting - the usual cleanup churns and device-specific changes" * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (22 commits) pata_serverworks: disable 64-KB DMA transfers on Broadcom OSB4 IDE Controller libata: Un-break ATA blacklist AHCI: Do not acquire ata_host::lock from single IRQ handler AHCI: Optimize single IRQ interrupt processing AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode AHCI: Make few function names more descriptive AHCI: Move host activation code into ahci_host_activate() AHCI: Move ahci_host_activate() function to libahci.c AHCI: Pass SCSI host template as arg to ahci_host_activate() ata: pata_imx: Use the SIMPLE_DEV_PM_OPS() macro AHCI: Cleanup checking of multiple MSIs/SLM modes libata-sff: Fix controllers with no ctl port ahci_xgene: Fix the error print invalid resource for APM X-Gene SoC AHCI SATA Host Controller driver. libata: change ata_<foo>_printk routines to return void ata: qcom: Add device tree bindings information ahci-platform: Bump max number of clocks to 5 ahci: ahci_p5wdh_workaround - constify DMI table libahci_platform: Staticize ahci_platform_<en/dis>able_phys() pata_platform: Remove useless irq_flags field pata_of_platform: Remove "electra-ide" quirk ... commit 4a513fb009b96cf3d86491e00565367ceec29073 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 17 14:56:20 2014 -0700 arm64: kvm: define PAGE_S2_DEVICE as read-only by default Now that we support read-only memslots, we need to make sure that pass-through device mappings are not mapped writable if the guest has requested them to be read-only. The existing implementation already honours this by calling kvm_set_s2pte_writable() on the new pte in case of writable mappings, so all we need to do is define the default pgprot_t value used for devices to be PTE_S2_RDONLY. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 903ed3a54df2f6234c50f696b8a3db78c26ea119 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 17 14:56:19 2014 -0700 ARM: kvm: define PAGE_S2_DEVICE as read-only by default Now that we support read-only memslots, we need to make sure that pass-through device mappings are not mapped writable if the guest has requested them to be read-only. The existing implementation already honours this by calling kvm_set_s2pte_writable() on the new pte in case of writable mappings, so all we need to do is define the default pgprot_t value used for devices to be PTE_S2_RDONLY. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c40f2f8ff833eddc02cb599ef6e5a162223449ba Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 17 14:56:18 2014 -0700 arm/arm64: KVM: add 'writable' parameter to kvm_phys_addr_ioremap Add support for read-only MMIO passthrough mappings by adding a 'writable' parameter to kvm_phys_addr_ioremap. For the moment, mappings will be read-write even if 'writable' is false, but once the definition of PAGE_S2_DEVICE gets changed, those mappings will be created read-only. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 37b544087ef3f65ca68465ba39291a07195dac26 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 17 14:56:17 2014 -0700 arm/arm64: KVM: fix potential NULL dereference in user_mem_abort() Handle the potential NULL return value of find_vma_intersection() before dereferencing it. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit e9e8578b6cdfba0259e99e79f0cb80c55c99b3c2 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 17 14:56:16 2014 -0700 arm/arm64: KVM: use __GFP_ZERO not memset() to get zeroed pages Pass __GFP_ZERO to __get_free_pages() instead of calling memset() explicitly. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c675c7db629bd1abf4a9a36c0200686716eeea05 Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 15:55:33 2014 +0530 powerpc/book3s: Don't clear MSR_RI in hmi handler. In HMI interrupt handler we don't touch SRR0/SRR1, instead we touch HSRR0/HSRR1. Hence we don't need to clear MSR_RI bit. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1028ccf560b97adbf272381a61a67e17d44d1054 Author: Romeo Cane <romeo.cane.ext@xxxxxxxxxxx> Date: Thu Oct 2 15:41:39 2014 +0100 powerpc: Fix sys_call_table declaration to enable syscall tracing Declaring sys_call_table as a pointer causes the compiler to generate the wrong lookup code in arch_syscall_addr(). <arch_syscall_addr>: lis r9,-16384 rlwinm r3,r3,2,0,29 - lwz r11,30640(r9) - lwzx r3,r11,r3 + addi r9,r9,30640 + lwzx r3,r9,r3 blr The actual sys_call_table symbol, declared in assembler, is an array. If we lie about that to the compiler we get the wrong code generated, as above. This definition seems only to be used by the syscall tracing code in kernel/trace/trace_syscalls.c. With this patch I can successfully use the syscall tracepoints: bash-3815 [002] .... 333.239082: sys_write -> 0x2 bash-3815 [002] .... 333.239087: sys_dup2(oldfd: a, newfd: 1) bash-3815 [002] .... 333.239088: sys_dup2 -> 0x1 bash-3815 [002] .... 333.239092: sys_fcntl(fd: a, cmd: 1, arg: 0) bash-3815 [002] .... 333.239093: sys_fcntl -> 0x1 bash-3815 [002] .... 333.239094: sys_close(fd: a) bash-3815 [002] .... 333.239094: sys_close -> 0x0 Signed-off-by: Romeo Cane <romeo.cane.ext@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b71b12dce200e4709bd9f709e71c84dcb2cf8a82 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Oct 10 01:19:06 2014 -0400 networking: fm10k: Fix build failure The latest linus git tip (3.18-rc1) fails with the following build failure. Fix this by making PTP support explicit for fm10k driver. rivers/built-in.o: In function `fm10k_ptp_register': (.text+0x12e760): undefined reference to `ptp_clock_registER' drivers/built-in.o: In function `fm10k_ptp_unregister': (.text+0x12e7dc): undefined reference to `ptp_clock_unregister' Makefile:930: recipe for target 'vmlinux' failed Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b4ecf39a2fb2285b3ffc869411461a3e83e1b63 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Thu Oct 9 16:54:43 2014 +0200 net: fs_enet: error: 'SCCE_ENET_TXF' undeclared [linux-devel:devel-hourly-2014100909 3763/3915] drivers/net/ethernet/freescale/fs_enet/mac-scc.c:119:32: error: 'SCCE_ENET_TXF' undeclared Due to patch d43a396 net: fs_enet: Add NAPI TX, it appears that some target compilations are broken. This is due to the fact that unlike the FEC, the SCC and FCC don't have a TXF event (complete Frame transmitted) but only TXB (buffer transmitted). Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0cf744bc7ae8e0072159a901f6e1a159bbc30ffa Merge: b528392 7f8998c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 22:26:14 2014 -0400 Merge branch 'akpm' (fixes from Andrew Morton) Merge patch-bomb from Andrew Morton: - part of OCFS2 (review is laggy again) - procfs - slab - all of MM - zram, zbud - various other random things: arch, filesystems. * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (164 commits) nosave: consolidate __nosave_{begin,end} in <asm/sections.h> include/linux/screen_info.h: remove unused ORIG_* macros kernel/sys.c: compat sysinfo syscall: fix undefined behavior kernel/sys.c: whitespace fixes acct: eliminate compile warning kernel/async.c: switch to pr_foo() include/linux/blkdev.h: use NULL instead of zero include/linux/kernel.h: deduplicate code implementing clamp* macros include/linux/kernel.h: rewrite min3, max3 and clamp using min and max alpha: use Kbuild logic to include <asm-generic/sections.h> frv: remove deprecated IRQF_DISABLED frv: remove unused cpuinfo_frv and friends to fix future build error zbud: avoid accessing last unused freelist zsmalloc: simplify init_zspage free obj linking mm/zsmalloc.c: correct comment for fullness group computation zram: use notify_free to account all free notifications zram: report maximum used memory zram: zram memory size limitation zsmalloc: change return value unit of zs_get_total_size_bytes zsmalloc: move pages_allocated to zs_pool ... commit 7f8998c7aef3ac9c5f3f2943e083dfa6302e90d0 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:30:30 2014 -0700 nosave: consolidate __nosave_{begin,end} in <asm/sections.h> The different architectures used their own (and different) declarations: extern __visible const void __nosave_begin, __nosave_end; extern const void __nosave_begin, __nosave_end; extern long __nosave_begin, __nosave_end; Consolidate them using the first variant in <asm/sections.h>. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 578b25dfce2990d8bab5631f33a4283bd5b01556 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:30:28 2014 -0700 include/linux/screen_info.h: remove unused ORIG_* macros The ORIG_* macros definitions to access struct screen_info members and all of their users were removed 7 years ago by commit 3ea335100014785f ("Remove magic macros for screen_info structure members"), but (only) the definitions reappeared a few days later in commit ee8e7cfe9d330d6f ("Make asm-x86/bootparam.h includable from userspace."). Remove them for good. Amen. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0baae41ea8365a7b5a34c6474a77d7eb1126f6b2 Author: Scotty Bauer <sbauer@xxxxxxxxxxxx> Date: Thu Oct 9 15:30:26 2014 -0700 kernel/sys.c: compat sysinfo syscall: fix undefined behavior Fix undefined behavior and compiler warning by replacing right shift 32 with upper_32_bits macro Signed-off-by: Scotty Bauer <sbauer@xxxxxxxxxxxx> Cc: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ec94fc3d59b54561da03a0e433d93217b08c1481 Author: vishnu.ps <vishnu.ps@xxxxxxxxxxx> Date: Thu Oct 9 15:30:23 2014 -0700 kernel/sys.c: whitespace fixes Fix minor errors and warning messages in kernel/sys.c. These errors were reported by checkpatch while working with some modifications in sys.c file. Fixing this first will help me to improve my further patches. ERROR: trailing whitespace - 9 ERROR: do not use assignment in if condition - 4 ERROR: spaces required around that '?' (ctx:VxO) - 10 ERROR: switch and case should be at the same indent - 3 total 26 errors & 3 warnings fixed. Signed-off-by: vishnu.ps <vishnu.ps@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 067b722faf98adbe1e94581f39c06a7c82b58676 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Thu Oct 9 15:30:21 2014 -0700 acct: eliminate compile warning If ACCT_VERSION is not defined to 3, below warning appears: CC kernel/acct.o kernel/acct.c: In function `do_acct_process': kernel/acct.c:475:24: warning: unused variable `ns' [-Wunused-variable] [akpm@xxxxxxxxxxxxxxxxxxxx: retain the local for code size improvements Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 27fb10edcacbb70ac4e97fe1506006d732421210 Author: Ionut Alexa <ionut.m.alexa@xxxxxxxxx> Date: Thu Oct 9 15:30:19 2014 -0700 kernel/async.c: switch to pr_foo() Signed-off-by: Ionut Alexa <ionut.m.alexa@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 61a04e5b306ab9d6a30f78e86f1f140d7c888304 Author: Michele Curti <michele.curti@xxxxxxxxx> Date: Thu Oct 9 15:30:17 2014 -0700 include/linux/blkdev.h: use NULL instead of zero Quite useless but it shuts up some warnings. Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c185b07fc9f24d52a864376ed22a6d84384b0c53 Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Thu Oct 9 15:30:15 2014 -0700 include/linux/kernel.h: deduplicate code implementing clamp* macros Instead of open-coding clamp_t macro min_t and max_t the way clamp macro does and instead of open-coding clamp_val simply use clamp_t. Furthermore, normalise argument naming in the macros to be lo and hi. Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Mark Rustad <mark.d.rustad@xxxxxxxxx> Cc: "Kirsher, Jeffrey T" <jeffrey.t.kirsher@xxxxxxxxx> Cc: Hagen Paul Pfeifer <hagen@xxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2e1d06e1c05af9dbe8a3bfddeefbf041ca637fff Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Thu Oct 9 15:30:13 2014 -0700 include/linux/kernel.h: rewrite min3, max3 and clamp using min and max It appears that gcc is better at optimising a double call to min and max rather than open coded min3 and max3. This can be observed here: $ cat min-max.c #define min(x, y) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; }) #define min3(x, y, z) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ typeof(z) _min3 = (z); \ (void) (&_min1 == &_min2); \ (void) (&_min1 == &_min3); \ _min1 < _min2 ? (_min1 < _min3 ? _min1 : _min3) : \ (_min2 < _min3 ? _min2 : _min3); }) int fmin3(int x, int y, int z) { return min3(x, y, z); } int fmin2(int x, int y, int z) { return min(min(x, y), z); } $ gcc -O2 -o min-max.s -S min-max.c; cat min-max.s .file "min-max.c" .text .p2align 4,,15 .globl fmin3 .type fmin3, @function fmin3: .LFB0: .cfi_startproc cmpl %esi, %edi jl .L5 cmpl %esi, %edx movl %esi, %eax cmovle %edx, %eax ret .p2align 4,,10 .p2align 3 .L5: cmpl %edi, %edx movl %edi, %eax cmovle %edx, %eax ret .cfi_endproc .LFE0: .size fmin3, .-fmin3 .p2align 4,,15 .globl fmin2 .type fmin2, @function fmin2: .LFB1: .cfi_startproc cmpl %edi, %esi movl %edx, %eax cmovle %esi, %edi cmpl %edx, %edi cmovle %edi, %eax ret .cfi_endproc .LFE1: .size fmin2, .-fmin2 .ident "GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3" .section .note.GNU-stack,"",@progbits fmin3 function, which uses open-coded min3 macro, is compiled into total of ten instructions including a conditional branch, whereas fmin2 function, which uses two calls to min2 macro, is compiled into six instructions with no branches. Similarly, open-coded clamp produces the same code as clamp using min and max macros, but the latter is much shorter: $ cat clamp.c #define clamp(val, min, max) ({ \ typeof(val) __val = (val); \ typeof(min) __min = (min); \ typeof(max) __max = (max); \ (void) (&__val == &__min); \ (void) (&__val == &__max); \ __val = __val < __min ? __min: __val; \ __val > __max ? __max: __val; }) #define min(x, y) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; }) #define max(x, y) ({ \ typeof(x) _max1 = (x); \ typeof(y) _max2 = (y); \ (void) (&_max1 == &_max2); \ _max1 > _max2 ? _max1 : _max2; }) int fclamp(int v, int min, int max) { return clamp(v, min, max); } int fclampmm(int v, int min, int max) { return min(max(v, min), max); } $ gcc -O2 -o clamp.s -S clamp.c; cat clamp.s .file "clamp.c" .text .p2align 4,,15 .globl fclamp .type fclamp, @function fclamp: .LFB0: .cfi_startproc cmpl %edi, %esi movl %edx, %eax cmovge %esi, %edi cmpl %edx, %edi cmovle %edi, %eax ret .cfi_endproc .LFE0: .size fclamp, .-fclamp .p2align 4,,15 .globl fclampmm .type fclampmm, @function fclampmm: .LFB1: .cfi_startproc cmpl %edi, %esi cmovge %esi, %edi cmpl %edi, %edx movl %edi, %eax cmovle %edx, %eax ret .cfi_endproc .LFE1: .size fclampmm, .-fclampmm .ident "GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3" .section .note.GNU-stack,"",@progbits Linux mpn-glaptop 3.13.0-29-generic #53~precise1-Ubuntu SMP Wed Jun 4 22:06:25 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -rwx------ 1 mpn eng 51224656 Jun 17 14:15 vmlinux.before -rwx------ 1 mpn eng 51224608 Jun 17 13:57 vmlinux.after 48 bytes reduction. The do_fault_around was a few instruction shorter and as far as I can tell saved 12 bytes on the stack, i.e.: $ grep -e rsp -e pop -e push do_fault_around.* do_fault_around.before.s:push %rbp do_fault_around.before.s:mov %rsp,%rbp do_fault_around.before.s:push %r13 do_fault_around.before.s:push %r12 do_fault_around.before.s:push %rbx do_fault_around.before.s:sub $0x38,%rsp do_fault_around.before.s:add $0x38,%rsp do_fault_around.before.s:pop %rbx do_fault_around.before.s:pop %r12 do_fault_around.before.s:pop %r13 do_fault_around.before.s:pop %rbp do_fault_around.after.s:push %rbp do_fault_around.after.s:mov %rsp,%rbp do_fault_around.after.s:push %r12 do_fault_around.after.s:push %rbx do_fault_around.after.s:sub $0x30,%rsp do_fault_around.after.s:add $0x30,%rsp do_fault_around.after.s:pop %rbx do_fault_around.after.s:pop %r12 do_fault_around.after.s:pop %rbp or here side-by-side: Before After push %rbp push %rbp mov %rsp,%rbp mov %rsp,%rbp push %r13 push %r12 push %r12 push %rbx push %rbx sub $0x38,%rsp sub $0x30,%rsp add $0x38,%rsp add $0x30,%rsp pop %rbx pop %rbx pop %r12 pop %r12 pop %r13 pop %rbp pop %rbp There are also fewer branches: $ grep ^j do_fault_around.* do_fault_around.before.s:jae ffffffff812079b7 do_fault_around.before.s:jmp ffffffff812079c5 do_fault_around.before.s:jmp ffffffff81207a14 do_fault_around.before.s:ja ffffffff812079f9 do_fault_around.before.s:jb ffffffff81207a10 do_fault_around.before.s:jmp ffffffff81207a63 do_fault_around.before.s:jne ffffffff812079df do_fault_around.after.s:jmp ffffffff812079fd do_fault_around.after.s:ja ffffffff812079e2 do_fault_around.after.s:jb ffffffff812079f9 do_fault_around.after.s:jmp ffffffff81207a4c do_fault_around.after.s:jne ffffffff812079c8 And here's with allyesconfig on a different machine: $ uname -a; gcc --version; ls -l vmlinux.* Linux erwin 3.14.7-mn #54 SMP Sun Jun 15 11:25:08 CEST 2014 x86_64 AMD Phenom(tm) II X3 710 Processor AuthenticAMD GNU/Linux gcc (GCC) 4.8.3 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -rwx------ 1 mpn eng 437027411 Jun 20 16:04 vmlinux.before -rwx------ 1 mpn eng 437026881 Jun 20 15:30 vmlinux.after 530 bytes reduction. Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Hagen Paul Pfeifer <hagen@xxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Hagen Paul Pfeifer <hagen@xxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: "Rustad, Mark D" <mark.d.rustad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 036c6508f183e9c730aee25e33d27b2b9b9a5bbc Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:30:10 2014 -0700 alpha: use Kbuild logic to include <asm-generic/sections.h> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08e4cf4be2153b0eac503679004889fd7e28c819 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:30:08 2014 -0700 frv: remove deprecated IRQF_DISABLED Remove the IRQF_DISABLED flag from FRV architecture code. It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21f456607a7acc73947580a84eb36d180d2562b7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Oct 9 15:30:06 2014 -0700 frv: remove unused cpuinfo_frv and friends to fix future build error Frv has a macro named cpu_data, interfering with variables and struct members with the same name: include/linux/pm_domain.h:75:24: error: expected identifier or '(' before '&' token struct gpd_cpu_data *cpu_data; As struct cpuinfo_frv, boot_cpu_data, cpu_data, and current_cpu_data are not used, removed them to fix this. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f203c3b33f0891da98ae3dcf829851c48473ed60 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Oct 9 15:30:04 2014 -0700 zbud: avoid accessing last unused freelist For now, there are NCHUNKS of 64 freelists in zbud_pool, the last unbuddied[63] freelist linked with all zbud pages which have free chunks of 63. Calculating according to context of num_free_chunks(), our max chunk number of unbuddied zbud page is 62, so none of zbud pages will be added/removed in last freelist, but still we will try to find an unbuddied zbud page in the last unused freelist, it is unneeded. This patch redefines NCHUNKS to 63 as free chunk number in one zbud page, hence we can decrease size of zpool and avoid accessing the last unused freelist whenever failing to allocate zbud from freelist in zbud_alloc. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5538c562377580947916b3366898f1eb5f53768e Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Thu Oct 9 15:30:01 2014 -0700 zsmalloc: simplify init_zspage free obj linking Change zsmalloc init_zspage() logic to iterate through each object on each of its pages, checking the offset to verify the object is on the current page before linking it into the zspage. The current zsmalloc init_zspage free object linking code has logic that relies on there only being one page per zspage when PAGE_SIZE is a multiple of class->size. It calculates the number of objects for the current page, and iterates through all of them plus one, to account for the assumed partial object at the end of the page. While this currently works, the logic can be simplified to just link the object at each successive offset until the offset is larger than PAGE_SIZE, which does not rely on PAGE_SIZE being a multiple of class->size. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6dd9737e31504f9377a8a19810ea4922e88516c1 Author: Wang Sheng-Hui <shhuiw@xxxxxxxxx> Date: Thu Oct 9 15:29:59 2014 -0700 mm/zsmalloc.c: correct comment for fullness group computation The letter 'f' in "n <= N/f" stands for fullness_threshold_frac, not 1/fullness_threshold_frac. Signed-off-by: Wang Sheng-Hui <shhuiw@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 015254daf1753003c19c46b90ee85a963260d270 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Oct 9 15:29:57 2014 -0700 zram: use notify_free to account all free notifications `notify_free' device attribute accounts the number of slot free notifications and internally represents the number of zram_free_page() calls. Slot free notifications are sent only when device is used as a swap device, hence `notify_free' is used only for swap devices. Since f4659d8e620d08 (zram: support REQ_DISCARD) ZRAM handles yet another one free notification (also via zram_free_page() call) -- REQ_DISCARD requests, which are sent by a filesystem, whenever some data blocks are discarded. However, there is no way to know the number of notifications in the latter case. Use `notify_free' to account the number of pages freed by zram_bio_discard() and zram_slot_free_notify(). Depending on usage scenario `notify_free' represents: a) the number of pages freed because of slot free notifications, which is equal to the number of swap_slot_free_notify() calls, so there is no behaviour change b) the number of pages freed because of REQ_DISCARD notifications Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 461a8eee6af3b55745be64bea403ed0b743563cf Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Thu Oct 9 15:29:55 2014 -0700 zram: report maximum used memory Normally, zram user could get maximum memory usage zram consumed via polling mem_used_total with sysfs in userspace. But it has a critical problem because user can miss peak memory usage during update inverval of polling. For avoiding that, user should poll it with shorter interval(ie, 0.0000000001s) with mlocking to avoid page fault delay when memory pressure is heavy. It would be troublesome. This patch adds new knob "mem_used_max" so user could see the maximum memory usage easily via reading the knob and reset it via "echo 0 > /sys/block/zram0/mem_used_max". Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Reviewed-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: <juno.choi@xxxxxxx> Cc: <seungho1.park@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Reviewed-by: David Horner <ds2horner@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9ada9da9573f3460b156b7755c093e30b258eacb Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Thu Oct 9 15:29:53 2014 -0700 zram: zram memory size limitation Since zram has no control feature to limit memory usage, it makes hard to manage system memrory. This patch adds new knob "mem_limit" via sysfs to set up the a limit so that zram could fail allocation once it reaches the limit. In addition, user could change the limit in runtime so that he could manage the memory more dynamically. Initial state is no limit so it doesn't break old behavior. [akpm@xxxxxxxxxxxxxxxxxxxx: fix typo, per Sergey] Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: <juno.choi@xxxxxxx> Cc: <seungho1.park@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: David Horner <ds2horner@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 722cdc17232f0f684011407f7cf3c40d39457971 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Thu Oct 9 15:29:50 2014 -0700 zsmalloc: change return value unit of zs_get_total_size_bytes zs_get_total_size_bytes returns a amount of memory zsmalloc consumed with *byte unit* but zsmalloc operates *page unit* rather than byte unit so let's change the API so benefit we could get is that reduce unnecessary overhead (ie, change page unit with byte unit) in zsmalloc. Since return type is pages, "zs_get_total_pages" is better than "zs_get_total_size_bytes". Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Reviewed-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: <juno.choi@xxxxxxx> Cc: <seungho1.park@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: David Horner <ds2horner@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 13de8933c96b4557f667c337676f05274e017f83 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Thu Oct 9 15:29:48 2014 -0700 zsmalloc: move pages_allocated to zs_pool Currently, zram has no feature to limit memory so theoretically zram can deplete system memory. Users have asked for a limit several times as even without exhaustion zram makes it hard to control memory usage of the platform. This patchset adds the feature. Patch 1 makes zs_get_total_size_bytes faster because it would be used frequently in later patches for the new feature. Patch 2 changes zs_get_total_size_bytes's return unit from bytes to page so that zsmalloc doesn't need unnecessary operation(ie, << PAGE_SHIFT). Patch 3 adds new feature. I added the feature into zram layer, not zsmalloc because limiation is zram's requirement, not zsmalloc so any other user using zsmalloc(ie, zpool) shouldn't affected by unnecessary branch of zsmalloc. In future, if every users of zsmalloc want the feature, then, we could move the feature from client side to zsmalloc easily but vice versa would be painful. Patch 4 adds news facility to report maximum memory usage of zram so that this avoids user polling frequently via /sys/block/zram0/ mem_used_total and ensures transient max are not missed. This patch (of 4): pages_allocated has counted in size_class structure and when user of zsmalloc want to see total_size_bytes, it should gather all of count from each size_class to report the sum. It's not bad if user don't see the value often but if user start to see the value frequently, it would be not a good deal for performance pov. This patch moves the count from size_class to zs_pool so it could reduce memory footprint (from [255 * 8byte] to [sizeof(atomic_long_t)]). Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Reviewed-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: <juno.choi@xxxxxxx> Cc: <seungho1.park@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Reviewed-by: David Horner <ds2horner@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd2567b6850b1648236a4aab0513a04ebaea6aa8 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Thu Oct 9 15:29:45 2014 -0700 m68k: call find_vma with the mmap_sem held in sys_cacheflush() Performing vma lookups without taking the mm->mmap_sem is asking for trouble. While doing the search, the vma in question can be modified or even removed before returning to the caller. Take the lock (shared) in order to avoid races while iterating through the vmacache and/or rbtree. In addition, this guarantees that the address space will remain intact during the CPU flushing. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cc36bbddde5cd0c98f0c06e3304ab833d662565 Author: Christoph Lameter <cl@xxxxxxxxxx> Date: Thu Oct 9 15:29:43 2014 -0700 vmstat: on-demand vmstat workers V8 vmstat workers are used for folding counter differentials into the zone, per node and global counters at certain time intervals. They currently run at defined intervals on all processors which will cause some holdoff for processors that need minimal intrusion by the OS. The current vmstat_update mechanism depends on a deferrable timer firing every other second by default which registers a work queue item that runs on the local CPU, with the result that we have 1 interrupt and one additional schedulable task on each CPU every 2 seconds If a workload indeed causes VM activity or multiple tasks are running on a CPU, then there are probably bigger issues to deal with. However, some workloads dedicate a CPU for a single CPU bound task. This is done in high performance computing, in high frequency financial applications, in networking (Intel DPDK, EZchip NPS) and with the advent of systems with more and more CPUs over time, this may become more and more common to do since when one has enough CPUs one cares less about efficiently sharing a CPU with other tasks and more about efficiently monopolizing a CPU per task. The difference of having this timer firing and workqueue kernel thread scheduled per second can be enormous. An artificial test measuring the worst case time to do a simple "i++" in an endless loop on a bare metal system and under Linux on an isolated CPU with dynticks and with and without this patch, have Linux match the bare metal performance (~700 cycles) with this patch and loose by couple of orders of magnitude (~200k cycles) without it[*]. The loss occurs for something that just calculates statistics. For networking applications, for example, this could be the difference between dropping packets or sustaining line rate. Statistics are important and useful, but it would be great if there would be a way to not cause statistics gathering produce a huge performance difference. This patche does just that. This patch creates a vmstat shepherd worker that monitors the per cpu differentials on all processors. If there are differentials on a processor then a vmstat worker local to the processors with the differentials is created. That worker will then start folding the diffs in regular intervals. Should the worker find that there is no work to be done then it will make the shepherd worker monitor the differentials again. With this patch it is possible then to have periods longer than 2 seconds without any OS event on a "cpu" (hardware thread). The patch shows a very minor increased in system performance. hackbench -s 512 -l 2000 -g 15 -f 25 -P Results before the patch: Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 4.992 Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 4.971 Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 5.063 Hackbench after the patch: Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 4.973 Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 4.990 Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 4.993 [fengguang.wu@xxxxxxxxx: cpu_stat_off can be static] Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Reviewed-by: Gilad Ben-Yossef <gilad@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Mike Frysinger <vapier@xxxxxxxxxx> Cc: Minchan Kim <minchan.kim@xxxxxxxxx> Cc: Hakan Akkan <hakanakkan@xxxxxxxxx> Cc: Max Krasnyansky <maxk@xxxxxxxxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f0d6d1f6ff6f8525cfa396ec1969b8f402391445 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Thu Oct 9 15:29:41 2014 -0700 CMA: document cma=0 It isn't obvious that CMA can be disabled on the kernel's command line, so document it. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Chuck Ebbert <cebbert.lkml@xxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 86cf78d73de8c6bfa89804b91ee0ace71a459961 Author: Sebastien Buisson <sebastien.buisson@xxxxxxxx> Date: Thu Oct 9 15:29:38 2014 -0700 fs/buffer.c: increase the buffer-head per-CPU LRU size Increase the buffer-head per-CPU LRU size to allow efficient filesystem operations that access many blocks for each transaction. For example, creating a file in a large ext4 directory with quota enabled will access multiple buffer heads and will overflow the LRU at the default 8-block LRU size: * parent directory inode table block (ctime, nlinks for subdirs) * new inode bitmap * inode table block * 2 quota blocks * directory leaf block (not reused, but pollutes one cache entry) * 2 levels htree blocks (only one is reused, other pollutes cache) * 2 levels indirect/index blocks (only one is reused) The buffer-head per-CPU LRU size is raised to 16, as it shows in metadata performance benchmarks up to 10% gain for create, 4% for lookup and 7% for destroy. Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx> Signed-off-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Sebastien Buisson <sebastien.buisson@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c0346a36cc8ac6cb85ab585964590974c84bdf0 Author: Mel Gorman <mgorman@xxxxxxx> Date: Thu Oct 9 15:29:36 2014 -0700 mm: mempolicy: skip inaccessible VMAs when setting MPOL_MF_LAZY PROT_NUMA VMAs are skipped to avoid problems distinguishing between present, prot_none and special entries. MPOL_MF_LAZY is not visible from userspace since commit a720094ded8c ("mm: mempolicy: Hide MPOL_NOOP and MPOL_MF_LAZY from userspace for now") but it should still skip VMAs the same way task_numa_work does. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0085d61fe05ec5a3739afb8ffb8a88130402633e Author: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Date: Thu Oct 9 15:29:34 2014 -0700 selftests/vm/transhuge-stress: stress test for memory compaction This tool induces memory fragmentation via sequential allocation of transparent huge pages and splitting off everything except their last sub-pages. It easily generates pressure to the memory compaction code. $ perf stat -e 'compaction:*' -e 'migrate:*' ./transhuge-stress transhuge-stress: allocate 7858 transhuge pages, using 15716 MiB virtual memory and 61 MiB of ram transhuge-stress: 1.653 s/loop, 0.210 ms/page, 9504.828 MiB/s 7858 succeed, 0 failed, 2439 different pages transhuge-stress: 1.537 s/loop, 0.196 ms/page, 10226.227 MiB/s 7858 succeed, 0 failed, 2364 different pages transhuge-stress: 1.658 s/loop, 0.211 ms/page, 9479.215 MiB/s 7858 succeed, 0 failed, 2179 different pages transhuge-stress: 1.617 s/loop, 0.206 ms/page, 9716.992 MiB/s 7858 succeed, 0 failed, 2421 different pages ^C./transhuge-stress: Interrupt Performance counter stats for './transhuge-stress': 1.744.051 compaction:mm_compaction_isolate_migratepages 1.014 compaction:mm_compaction_isolate_freepages 1.744.051 compaction:mm_compaction_migratepages 1.647 compaction:mm_compaction_begin 1.647 compaction:mm_compaction_end 1.744.051 migrate:mm_migrate_pages 0 migrate:mm_numa_migrate_ratelimit 7,964696835 seconds time elapsed Signed-off-by: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Cc: Rafael Aquini <aquini@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09316c09dde33aae14f34489d9e3d243ec0d5938 Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Oct 9 15:29:32 2014 -0700 mm/balloon_compaction: add vmstat counters and kpageflags bit Always mark pages with PageBalloon even if balloon compaction is disabled and expose this mark in /proc/kpageflags as KPF_BALLOON. Also this patch adds three counters into /proc/vmstat: "balloon_inflate", "balloon_deflate" and "balloon_migrate". They accumulate balloon activity. Current size of balloon is (balloon_inflate - balloon_deflate) pages. All generic balloon code now gathered under option CONFIG_MEMORY_BALLOON. It should be selected by ballooning driver which wants use this feature. Currently virtio-balloon is the only user. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Cc: Rafael Aquini <aquini@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9d1ba8056474a208ed9efb7e58cd014795d9f818 Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Oct 9 15:29:29 2014 -0700 mm/balloon_compaction: remove balloon mapping and flag AS_BALLOON_MAP Now ballooned pages are detected using PageBalloon(). Fake mapping is no longer required. This patch links ballooned pages to balloon device using field page->private instead of page->mapping. Also this patch embeds balloon_dev_info directly into struct virtio_balloon. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Cc: Rafael Aquini <aquini@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d6d86c0a7f8ddc5b38cf089222cb1d9540762dc2 Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Oct 9 15:29:27 2014 -0700 mm/balloon_compaction: redesign ballooned pages management Sasha Levin reported KASAN splash inside isolate_migratepages_range(). Problem is in the function __is_movable_balloon_page() which tests AS_BALLOON_MAP in page->mapping->flags. This function has no protection against anonymous pages. As result it tried to check address space flags inside struct anon_vma. Further investigation shows more problems in current implementation: * Special branch in __unmap_and_move() never works: balloon_page_movable() checks page flags and page_count. In __unmap_and_move() page is locked, reference counter is elevated, thus balloon_page_movable() always fails. As a result execution goes to the normal migration path. virtballoon_migratepage() returns MIGRATEPAGE_BALLOON_SUCCESS instead of MIGRATEPAGE_SUCCESS, move_to_new_page() thinks this is an error code and assigns newpage->mapping to NULL. Newly migrated page lose connectivity with balloon an all ability for further migration. * lru_lock erroneously required in isolate_migratepages_range() for isolation ballooned page. This function releases lru_lock periodically, this makes migration mostly impossible for some pages. * balloon_page_dequeue have a tight race with balloon_page_isolate: balloon_page_isolate could be executed in parallel with dequeue between picking page from list and locking page_lock. Race is rare because they use trylock_page() for locking. This patch fixes all of them. Instead of fake mapping with special flag this patch uses special state of page->_mapcount: PAGE_BALLOON_MAPCOUNT_VALUE = -256. Buddy allocator uses PAGE_BUDDY_MAPCOUNT_VALUE = -128 for similar purpose. Storing mark directly in struct page makes everything safer and easier. PagePrivate is used to mark pages present in page list (i.e. not isolated, like PageLRU for normal pages). It replaces special rules for reference counter and makes balloon migration similar to migration of normal pages. This flag is protected by page_lock together with link to the balloon device. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Link: http://lkml.kernel.org/p/53E6CEAA.9020105@xxxxxxxxxx Cc: Rafael Aquini <aquini@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.8+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 29e5694054149acd25b0d5538c95fb6d64478315 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:25 2014 -0700 arm64: mm: enable RCU fast_gup Activate the RCU fast_gup for ARM64. We also need to force THP splits to broadcast an IPI s.t. we block in the fast_gup page walker. As THP splits are comparatively rare, this should not lead to a noticeable performance degradation. Some pre-requisite functions pud_write and pud_page are also added. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e5f6dc10546f5c03bc572e3ba3089af30c66e2d Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:23 2014 -0700 arm64: mm: enable HAVE_RCU_TABLE_FREE logic In order to implement fast_get_user_pages we need to ensure that the page table walker is protected from page table pages being freed from under it. This patch enables HAVE_RCU_TABLE_FREE, any page table pages belonging to address spaces with multiple users will be call_rcu_sched freed. Meaning that disabling interrupts will block the free and protect the fast gup page walker. Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8cd51afe05a98ef907e61c603d5c5b7ad6242d8 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:20 2014 -0700 arm: mm: enable RCU fast_gup Activate the RCU fast_gup for ARM. We also need to force THP splits to broadcast an IPI s.t. we block in the fast_gup page walker. As THP splits are comparatively rare, this should not lead to a noticeable performance degradation. Some pre-requisite functions pud_write and pud_page are also added. Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a0ad5496b2b3accf09ab9485ad0170e3b4b1cb27 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:18 2014 -0700 arm: mm: enable HAVE_RCU_TABLE_FREE logic In order to implement fast_get_user_pages we need to ensure that the page table walker is protected from page table pages being freed from under it. This patch enables HAVE_RCU_TABLE_FREE, any page table pages belonging to address spaces with multiple users will be call_rcu_sched freed. Meaning that disabling interrupts will block the free and protect the fast gup page walker. Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bd951303be5b4df578c7f30ef78839f1a9d6658c Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:16 2014 -0700 arm: mm: introduce special ptes for LPAE We need a mechanism to tag ptes as being special, this indicates that no attempt should be made to access the underlying struct page * associated with the pte. This is used by the fast_gup when operating on ptes as it has no means to access VMAs (that also contain this information) locklessly. The L_PTE_SPECIAL bit is already allocated for LPAE, this patch modifies pte_special and pte_mkspecial to make use of it, and defines __HAVE_ARCH_PTE_SPECIAL. This patch also excludes special ptes from the icache/dcache sync logic. Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2667f50e8b81457fcb4a3dbe6aff3e81ea009e13 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:14 2014 -0700 mm: introduce a general RCU get_user_pages_fast() This series implements general forms of get_user_pages_fast and __get_user_pages_fast in core code and activates them for arm and arm64. These are required for Transparent HugePages to function correctly, as a futex on a THP tail will otherwise result in an infinite loop (due to the core implementation of __get_user_pages_fast always returning 0). Unfortunately, a futex on THP tail can be quite common for certain workloads; thus THP is unreliable without a __get_user_pages_fast implementation. This series may also be beneficial for direct-IO heavy workloads and certain KVM workloads. This patch (of 6): get_user_pages_fast() attempts to pin user pages by walking the page tables directly and avoids taking locks. Thus the walker needs to be protected from page table pages being freed from under it, and needs to block any THP splits. One way to achieve this is to have the walker disable interrupts, and rely on IPIs from the TLB flushing code blocking before the page table pages are freed. On some platforms we have hardware broadcast of TLB invalidations, thus the TLB flushing code doesn't necessarily need to broadcast IPIs; and spuriously broadcasting IPIs can hurt system performance if done too often. This problem has been solved on PowerPC and Sparc by batching up page table pages belonging to more than one mm_user, then scheduling an rcu_sched callback to free the pages. This RCU page table free logic has been promoted to core code and is activated when one enables HAVE_RCU_TABLE_FREE. Unfortunately, these architectures implement their own get_user_pages_fast routines. The RCU page table free logic coupled with an IPI broadcast on THP split (which is a rare event), allows one to protect a page table walker by merely disabling the interrupts during the walk. This patch provides a general RCU implementation of get_user_pages_fast that can be used by architectures that perform hardware broadcast of TLB invalidations. It is based heavily on the PowerPC implementation by Nick Piggin. [akpm@xxxxxxxxxxxxxxxxxxxx: various comment fixes] Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit baa2ef83981c71ceb00f68fbdac323253c2c3e42 Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Thu Oct 9 15:29:11 2014 -0700 mm/dmapool.c: fixed a brace coding style issue Remove 3 brace coding style for any arm of this statement Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25acde317354997bb945892189f32ffb31b7379b Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Thu Oct 9 15:29:09 2014 -0700 mm: ksm use pr_err instead of printk WARNING: Prefer: pr_err(... to printk(KERN_ERR ... [akpm@xxxxxxxxxxxxxxxxxxxx: remove KERN_ERR] Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 22880ebe76be421a572b6f004604467c63f281f5 Author: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:29:07 2014 -0700 drivers/firmware/memmap.c: don't create memmap sysfs of same firmware_map_entry By the following commits, we prevented from allocating firmware_map_entry of same memory range: f0093ede: drivers/firmware/memmap.c: don't allocate firmware_map_entry of same memory range 49c8b24d: drivers/firmware/memmap.c: pass the correct argument to firmware_map_find_entry_bootmem() But it's not enough. When PNP0C80 device is added by acpi_scan_init(), memmap sysfses of same firmware_map_entry are created twice as follows: # cat /sys/firmware/memmap/*/start 0x40000000000 0x60000000000 0x4a837000 0x4a83a000 0x4a8b5000 ... 0x40000000000 0x60000000000 ... The flows of the issues are as follows: 1. e820_reserve_resources() allocates firmware_map_entrys of all memory ranges defined in e820. And, these firmware_map_entrys are linked with map_entries list. map_entries -> entry 1 -> ... -> entry N 2. When PNP0C80 device is limited by mem= boot option, acpi_scan_init() added the memory device. In this case, firmware_map_add_hotplug() allocates firmware_map_entry and creates memmap sysfs. map_entries -> entry 1 -> ... -> entry N -> entry N+1 | memmap 1 3. firmware_memmap_init() creates memmap sysfses of firmware_map_entrys linked with map_entries. map_entries -> entry 1 -> ... -> entry N -> entry N+1 | | | memmap 2 memmap N+1 memmap 1 memmap N+2 So while hot removing the PNP0C80 device, kernel panic occurs as follows: BUG: unable to handle kernel paging request at 00000001003e000b IP: sysfs_open_file+0x46/0x2b0 PGD 203a89fe067 PUD 0 Oops: 0000 [#1] SMP ... Call Trace: do_dentry_open+0x1ef/0x2a0 finish_open+0x31/0x40 do_last+0x57c/0x1220 path_openat+0xc2/0x4c0 do_filp_open+0x4b/0xb0 do_sys_open+0xf3/0x1f0 SyS_open+0x1e/0x20 system_call_fastpath+0x16/0x1b The patch adds a check of confirming whether memmap sysfs of firmware_map_entry has been created, and does not create memmap sysfs of same firmware_map_entry. Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d85fbee89f6e67e37ed722adaf085f49b1ce6c50 Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Thu Oct 9 15:29:05 2014 -0700 mm/bootmem.c: use include/linux/ headers Replace asm. headers with linux/headers: <linux/bug.h> <linux/io.h> Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 99dadfdde04b72ce98aa2fbebdb49526f494e4cf Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Thu Oct 9 15:29:03 2014 -0700 mm/filemap.c: remove trailing whitespace Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2581d20237f02984c16c7b23262150e6bd6b8c57 Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Thu Oct 9 15:29:01 2014 -0700 mm/mremap.c: use linux headers "WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cf2b8fbf1d2f7ba07999e97685563c94483d33d6 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:59 2014 -0700 memcg: zap memcg_can_account_kmem memcg_can_account_kmem() returns true iff !mem_cgroup_disabled() && !mem_cgroup_is_root(memcg) && memcg_kmem_is_active(memcg); To begin with the !mem_cgroup_is_root(memcg) check is useless, because one can't enable kmem accounting for the root cgroup (mem_cgroup_write() returns EINVAL on an attempt to set the limit on the root cgroup). Furthermore, the !mem_cgroup_disabled() check also seems to be redundant. The point is memcg_can_account_kmem() is called from three places: mem_cgroup_salbinfo_read(), __memcg_kmem_get_cache(), and __memcg_kmem_newpage_charge(). The latter two functions are only invoked if memcg_kmem_enabled() returns true, which implies that the memory cgroup subsystem is enabled. And mem_cgroup_slabinfo_read() shows the output of memory.kmem.slabinfo, which won't exist if the memory cgroup is completely disabled. So let's substitute all the calls to memcg_can_account_kmem() with plain memcg_kmem_is_active(), and kill the former. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b70a2a21dc9d4ad455931b53131a0cb4fc01fafe Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Oct 9 15:28:56 2014 -0700 mm: memcontrol: fix transparent huge page allocations under pressure In a memcg with even just moderate cache pressure, success rates for transparent huge page allocations drop to zero, wasting a lot of effort that the allocator puts into assembling these pages. The reason for this is that the memcg reclaim code was never designed for higher-order charges. It reclaims in small batches until there is room for at least one page. Huge page charges only succeed when these batches add up over a series of huge faults, which is unlikely under any significant load involving order-0 allocations in the group. Remove that loop on the memcg side in favor of passing the actual reclaim goal to direct reclaim, which is already set up and optimized to meet higher-order goals efficiently. This brings memcg's THP policy in line with the system policy: if the allocator painstakingly assembles a hugepage, memcg will at least make an honest effort to charge it. As a result, transparent hugepage allocation rates amid cache activity are drastically improved: vanilla patched pgalloc 4717530.80 ( +0.00%) 4451376.40 ( -5.64%) pgfault 491370.60 ( +0.00%) 225477.40 ( -54.11%) pgmajfault 2.00 ( +0.00%) 1.80 ( -6.67%) thp_fault_alloc 0.00 ( +0.00%) 531.60 (+100.00%) thp_fault_fallback 749.00 ( +0.00%) 217.40 ( -70.88%) [ Note: this may in turn increase memory consumption from internal fragmentation, which is an inherent risk of transparent hugepages. Some setups may have to adjust the memcg limits accordingly to accomodate this - or, if the machine is already packed to capacity, disable the transparent huge page feature. ] Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3fbe724424fb104aaca9973389b4a9df428c3e2a Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Oct 9 15:28:54 2014 -0700 mm: memcontrol: simplify detecting when the memory+swap limit is hit When attempting to charge pages, we first charge the memory counter and then the memory+swap counter. If one of the counters is at its limit, we enter reclaim, but if it's the memory+swap counter, reclaim shouldn't swap because that wouldn't change the situation. However, if the counters have the same limits, we never get to the memory+swap limit. To know whether reclaim should swap or not, there is a state flag that indicates whether the limits are equal and whether hitting the memory limit implies hitting the memory+swap limit. Just try the memory+swap counter first. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aabfb57296e3dd9761e47736ec69305c95461d7d Author: Michal Hocko <mhocko@xxxxxxx> Date: Thu Oct 9 15:28:52 2014 -0700 mm: memcontrol: do not kill uncharge batching in free_pages_and_swap_cache free_pages_and_swap_cache limits release_pages to PAGEVEC_SIZE chunks. This is not a big deal for the normal release path but it completely kills memcg uncharge batching which reduces res_counter spin_lock contention. Dave has noticed this with his page fault scalability test case on a large machine when the lock was basically dominating on all CPUs: 80.18% 80.18% [kernel] [k] _raw_spin_lock | --- _raw_spin_lock | |--66.59%-- res_counter_uncharge_until | res_counter_uncharge | uncharge_batch | uncharge_list | mem_cgroup_uncharge_list | release_pages | free_pages_and_swap_cache | tlb_flush_mmu_free | | | |--90.12%-- unmap_single_vma | | unmap_vmas | | unmap_region | | do_munmap | | vm_munmap | | sys_munmap | | system_call_fastpath | | __GI___munmap | | | --9.88%-- tlb_flush_mmu | tlb_finish_mmu | unmap_region | do_munmap | vm_munmap | sys_munmap | system_call_fastpath | __GI___munmap In his case the load was running in the root memcg and that part has been handled by reverting 05b843012335 ("mm: memcontrol: use root_mem_cgroup res_counter") because this is a clear regression, but the problem remains inside dedicated memcgs. There is no reason to limit release_pages to PAGEVEC_SIZE batches other than lru_lock held times. This logic, however, can be moved inside the function. mem_cgroup_uncharge_list and free_hot_cold_page_list do not hold any lock for the whole pages_to_free list so it is safe to call them in a single run. The release_pages() code was previously breaking the lru_lock each PAGEVEC_SIZE pages (ie, 14 pages). However this code has no usage of pagevecs so switch to breaking the lock at least every SWAP_CLUSTER_MAX (32) pages. This means that the lock acquisition frequency is approximately halved and the max hold times are approximately doubled. The now unneeded batching is removed from free_pages_and_swap_cache(). Also update the grossly out-of-date release_pages documentation. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Reported-by: Dave Hansen <dave@xxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01c2965f0723a25209d5cf4cac630ed0f6d0edf4 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:50 2014 -0700 mm: dmapool: add/remove sysfs file outside of the pool lock lock cat /sys/.../pools followed by removal the device leads to: |====================================================== |[ INFO: possible circular locking dependency detected ] |3.17.0-rc4+ #1498 Not tainted |------------------------------------------------------- |rmmod/2505 is trying to acquire lock: | (s_active#28){++++.+}, at: [<c017f754>] kernfs_remove_by_name_ns+0x3c/0x88 | |but task is already holding lock: | (pools_lock){+.+.+.}, at: [<c011494c>] dma_pool_destroy+0x18/0x17c | |which lock already depends on the new lock. |the existing dependency chain (in reverse order) is: | |-> #1 (pools_lock){+.+.+.}: | [<c0114ae8>] show_pools+0x30/0xf8 | [<c0313210>] dev_attr_show+0x1c/0x48 | [<c0180e84>] sysfs_kf_seq_show+0x88/0x10c | [<c017f960>] kernfs_seq_show+0x24/0x28 | [<c013efc4>] seq_read+0x1b8/0x480 | [<c011e820>] vfs_read+0x8c/0x148 | [<c011ea10>] SyS_read+0x40/0x8c | [<c000e960>] ret_fast_syscall+0x0/0x48 | |-> #0 (s_active#28){++++.+}: | [<c017e9ac>] __kernfs_remove+0x258/0x2ec | [<c017f754>] kernfs_remove_by_name_ns+0x3c/0x88 | [<c0114a7c>] dma_pool_destroy+0x148/0x17c | [<c03ad288>] hcd_buffer_destroy+0x20/0x34 | [<c03a4780>] usb_remove_hcd+0x110/0x1a4 The problem is the lock order of pools_lock and kernfs_mutex in dma_pool_destroy() vs show_pools() call path. This patch breaks out the creation of the sysfs file outside of the pools_lock mutex. The newly added pools_reg_lock ensures that there is no race of create vs destroy code path in terms whether or not the sysfs file has to be deleted (and was it deleted before we try to create a new one) and what to do if device_create_file() failed. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6f817f4cda68b09621312ec5ba84217bc5e37b3d Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:47 2014 -0700 memcg: move memcg_update_cache_size() to slab_common.c `While growing per memcg caches arrays, we jump between memcontrol.c and slab_common.c in a weird way: memcg_alloc_cache_id - memcontrol.c memcg_update_all_caches - slab_common.c memcg_update_cache_size - memcontrol.c There's absolutely no reason why memcg_update_cache_size can't live on the slab's side though. So let's move it there and settle it comfortably amid per-memcg cache allocation functions. Besides, this patch cleans this function up a bit, removing all the useless comments from it, and renames it to memcg_update_cache_params to conform to memcg_alloc/free_cache_params, which we already have in slab_common.c. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Glauber Costa <glommer@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f3bb3043a092368a255bca5d1c6f4352c96a3b2d Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:45 2014 -0700 memcg: don't call memcg_update_all_caches if new cache id fits memcg_update_all_caches grows arrays of per-memcg caches, so we only need to call it when memcg_limited_groups_array_size is increased. However, currently we invoke it each time a new kmem-active memory cgroup is created. Then it just iterates over all slab_caches and does nothing (memcg_update_cache_size returns immediately). This patch fixes this insanity. In the meantime it moves the code dealing with id allocations to separate functions, memcg_alloc_cache_id and memcg_free_cache_id. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Glauber Costa <glommer@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 33a690c45b202e4c6483bfd1d93ad8d0f51df2ca Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:43 2014 -0700 memcg: move memcg_{alloc,free}_cache_params to slab_common.c The only reason why they live in memcontrol.c is that we get/put css reference to the owner memory cgroup in them. However, we can do that in memcg_{un,}register_cache. OTOH, there are several reasons to move them to slab_common.c. First, I think that the less public interface functions we have in memcontrol.h the better. Since the functions I move don't depend on memcontrol, I think it's worth making them private to slab, especially taking into account that the arrays are defined on the slab's side too. Second, the way how per-memcg arrays are updated looks rather awkward: it proceeds from memcontrol.c (__memcg_activate_kmem) to slab_common.c (memcg_update_all_caches) and back to memcontrol.c again (memcg_update_array_size). In the following patches I move the function relocating the arrays (memcg_update_array_size) to slab_common.c and therefore get rid this circular call path. I think we should have the cache allocation stuff in the same place where we have relocation, because it's easier to follow the code then. So I move arrays alloc/free functions to slab_common.c too. The third point isn't obvious. I'm going to make the list_lru structure per-memcg to allow targeted kmem reclaim. That means we will have per-memcg arrays in list_lrus too. It turns out that it's much easier to update these arrays in list_lru.c rather than in memcontrol.c, because all the stuff we need is defined there. This patch makes memcg caches arrays allocation path conform that of the upcoming list_lru. So let's move these functions to slab_common.c and make them static. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Glauber Costa <glommer@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7a82ca0d6437261d0727ce472ae4f3a05a9ce5f7 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:28:41 2014 -0700 mm/debug.c: use pr_emerg() - s/KERN_ALERT/pr_emerg/: we're going BUG so let's maximize the changes of getting the message out. - convert debug.c to pr_foo() Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 96dad67ff244e797c4bc3e4f7f0fdaa0cfdf0a7d Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:39 2014 -0700 mm: use VM_BUG_ON_MM where possible Dump the contents of the relevant struct_mm when we hit the bug condition. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 31c9afa6db122a5c7a7843278aaf77dd08ea6e98 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:37 2014 -0700 mm: introduce VM_BUG_ON_MM Very similar to VM_BUG_ON_PAGE and VM_BUG_ON_VMA, dump struct_mm when the bug is hit. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] [mhocko@xxxxxxx: fix build] [mhocko@xxxxxxx: fix build some more] [akpm@xxxxxxxxxxxxxxxxxxxx: do strange things to avoid doing strange things for the comma separators] Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Cc: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 82742a3a5152195edd69528c0c9a1a6fb9caa293 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:34 2014 -0700 mm: move debug code out of page_alloc.c dump_page() and dump_vma() are not specific to page_alloc.c, move them out so page_alloc.c won't turn into the unofficial debug repository. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81d0fa623c5b8dbd5279d9713094b0f9b0a00fb4 Author: Peter Feiner <pfeiner@xxxxxxxxxx> Date: Thu Oct 9 15:28:32 2014 -0700 mm: softdirty: unmapped addresses between VMAs are clean If a /proc/pid/pagemap read spans a [VMA, an unmapped region, then a VM_SOFTDIRTY VMA], the virtual pages in the unmapped region are reported as softdirty. Here's a program to demonstrate the bug: int main() { const uint64_t PAGEMAP_SOFTDIRTY = 1ul << 55; uint64_t pme[3]; int fd = open("/proc/self/pagemap", O_RDONLY);; char *m = mmap(NULL, 3 * getpagesize(), PROT_READ, MAP_ANONYMOUS | MAP_SHARED, -1, 0); munmap(m + getpagesize(), getpagesize()); pread(fd, pme, 24, (unsigned long) m / getpagesize() * 8); assert(pme[0] & PAGEMAP_SOFTDIRTY); /* passes */ assert(!(pme[1] & PAGEMAP_SOFTDIRTY)); /* fails */ assert(pme[2] & PAGEMAP_SOFTDIRTY); /* passes */ return 0; } (Note that all pages in new VMAs are softdirty until cleared). Tested: Used the program given above. I'm going to include this code in a selftest in the future. [n-horiguchi@xxxxxxxxxxxxx: prevent pagemap_pte_range() from overrunning] Signed-off-by: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Jamie Liu <jamieliu@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3193913ce62c63056bc67a6ae378beaf494afa66 Author: Mel Gorman <mgorman@xxxxxxx> Date: Thu Oct 9 15:28:30 2014 -0700 mm: page_alloc: default node-ordering on 64-bit NUMA, zone-ordering on 32-bit Zones are allocated by the page allocator in either node or zone order. Node ordering is preferred in terms of locality and is applied automatically in one of three cases: 1. If a node has only low memory 2. If DMA/DMA32 is a high percentage of memory 3. If low memory on a single node is greater than 70% of the node size Otherwise zone ordering is used to preserve low memory for devices that require it. Unfortunately a consequence of this is that applications running on a machine with balanced NUMA nodes will experience different performance characteristics depending on which node they happen to start from. The point of zone ordering is to protect lower zones for devices that require DMA/DMA32 memory. When NUMA was first introduced, this was critical as 32-bit NUMA machines existed and exhausting low memory triggered OOMs easily as so many allocations required low memory. On 64-bit machines the primary concern is devices that are 32-bit only which is less severe than the low memory exhaustion problem on 32-bit NUMA. It seems there are really few devices that depends on it. AGP -- I assume this is getting more rare but even then I think the allocations happen early in boot time where lowmem pressure is less of a problem DRM -- If the device is 32-bit only then there may be low pressure. I didn't evaluate these in detail but it looks like some of these are mobile graphics card. Not many NUMA laptops out there. DRM folk should know better though. Some TV cards -- Much demand for 32-bit capable TV cards on NUMA machines? B43 wireless card -- again not really a NUMA thing. I cannot find a good reason to incur a performance penalty on all 64-bit NUMA machines in case someone throws a brain damanged TV or graphics card in there. This patch defaults to node-ordering on 64-bit NUMA machines. I was tempted to make it default everywhere but I understand that some embedded arches may be using 32-bit NUMA where I cannot predict the consequences. The performance impact depends on the workload and the characteristics of the machine and the machine I tested on had a large Normal zone on node 0 so the impact is within the noise for the majority of tests. The allocation stats show more allocation requests were from DMA32 and local node. Running SpecJBB with multiple JVMs and automatic NUMA balancing disabled the results were specjbb 3.17.0-rc2 3.17.0-rc2 vanilla nodeorder-v1r1 Min 1 29534.00 ( 0.00%) 30020.00 ( 1.65%) Min 10 115717.00 ( 0.00%) 134038.00 ( 15.83%) Min 19 109718.00 ( 0.00%) 114186.00 ( 4.07%) Min 28 104459.00 ( 0.00%) 103639.00 ( -0.78%) Min 37 98245.00 ( 0.00%) 103756.00 ( 5.61%) Min 46 97198.00 ( 0.00%) 96197.00 ( -1.03%) Mean 1 30953.25 ( 0.00%) 31917.75 ( 3.12%) Mean 10 124432.50 ( 0.00%) 140904.00 ( 13.24%) Mean 19 116033.50 ( 0.00%) 119294.75 ( 2.81%) Mean 28 108365.25 ( 0.00%) 106879.50 ( -1.37%) Mean 37 102984.75 ( 0.00%) 106924.25 ( 3.83%) Mean 46 100783.25 ( 0.00%) 105368.50 ( 4.55%) Stddev 1 1260.38 ( 0.00%) 1109.66 ( 11.96%) Stddev 10 7434.03 ( 0.00%) 5171.91 ( 30.43%) Stddev 19 8453.84 ( 0.00%) 5309.59 ( 37.19%) Stddev 28 4184.55 ( 0.00%) 2906.63 ( 30.54%) Stddev 37 5409.49 ( 0.00%) 3192.12 ( 40.99%) Stddev 46 4521.95 ( 0.00%) 7392.52 (-63.48%) Max 1 32738.00 ( 0.00%) 32719.00 ( -0.06%) Max 10 136039.00 ( 0.00%) 148614.00 ( 9.24%) Max 19 130566.00 ( 0.00%) 127418.00 ( -2.41%) Max 28 115404.00 ( 0.00%) 111254.00 ( -3.60%) Max 37 112118.00 ( 0.00%) 111732.00 ( -0.34%) Max 46 108541.00 ( 0.00%) 116849.00 ( 7.65%) TPut 1 123813.00 ( 0.00%) 127671.00 ( 3.12%) TPut 10 497730.00 ( 0.00%) 563616.00 ( 13.24%) TPut 19 464134.00 ( 0.00%) 477179.00 ( 2.81%) TPut 28 433461.00 ( 0.00%) 427518.00 ( -1.37%) TPut 37 411939.00 ( 0.00%) 427697.00 ( 3.83%) TPut 46 403133.00 ( 0.00%) 421474.00 ( 4.55%) 3.17.0-rc2 3.17.0-rc2 vanillanodeorder-v1r1 DMA allocs 0 0 DMA32 allocs 57 1491992 Normal allocs 32543566 30026383 Movable allocs 0 0 Direct pages scanned 0 0 Kswapd pages scanned 0 0 Kswapd pages reclaimed 0 0 Direct pages reclaimed 0 0 Kswapd efficiency 100% 100% Kswapd velocity 0.000 0.000 Direct efficiency 100% 100% Direct velocity 0.000 0.000 Percentage direct scans 0% 0% Zone normal velocity 0.000 0.000 Zone dma32 velocity 0.000 0.000 Zone dma velocity 0.000 0.000 THP fault alloc 55164 52987 THP collapse alloc 139 147 THP splits 26 21 NUMA alloc hit 4169066 4250692 NUMA alloc miss 0 0 Note that there were more DMA32 allocations with the patch applied. In this particular case there was no difference in numa_hit and numa_miss. The expectation is that DMA32 was being used at the low watermark instead of falling into the slow path. kswapd was not woken but it's not worken for THP allocations. On 32-bit, this patch defaults to zone-ordering as low memory depletion can be a serious problem on 32-bit large memory machines. If the default ordering was node then processes on node 0 will deplete the Normal zone due to normal activity. The problem is worse if CONFIG_HIGHPTE is not set. If combined with large amounts of dirty/writeback pages in Normal zone then there is also a high risk of OOM. The heuristics are removed as it's not clear they were ever important on 32-bit. They were only relevant for setting node-ordering on 64-bit. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 97ee4ba7cbd30f1858f0d16911e042737c53f2ef Author: Mel Gorman <mgorman@xxxxxxx> Date: Thu Oct 9 15:28:28 2014 -0700 mm: page_alloc: Make paranoid check in move_freepages a VM_BUG_ON Since 2.6.24 there has been a paranoid check in move_freepages that looks up the zone of two pages. This is a very slow path and the only time I've seen this bug trigger recently is when memory initialisation was broken during patch development. Despite the fact it's a slow path, this patch converts the check to a VM_BUG_ON anyway as it has served its purpose by now. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b246d3d11e9c04f76a4fd6aae9c61da82bba0afb Author: Xue jiufei <xuejiufei@xxxxxxxxxx> Date: Thu Oct 9 15:28:26 2014 -0700 ocfs2: fix a deadlock while o2net_wq doing direct memory reclaim Fix a deadlock problem caused by direct memory reclaim in o2net_wq. The situation is as follows: 1) Receive a connect message from another node, node queues a work_struct o2net_listen_work. 2) o2net_wq processes this work and call the following functions: o2net_wq -> o2net_accept_one -> sock_create_lite -> sock_alloc() -> kmem_cache_alloc with GFP_KERNEL -> ____cache_alloc_node ->__alloc_pages_nodemask -> do_try_to_free_pages -> shrink_slab -> evict -> ocfs2_evict_inode -> ocfs2_drop_lock -> dlmunlock -> o2net_send_message_vec then o2net_wq wait for the unlock reply from master. 3) tcp layer received the reply, call o2net_data_ready() and queue sc_rx_work, waiting o2net_wq to process this work. 4) o2net_wq is a single thread workqueue, it process the work one by one. Right now it is still doing o2net_listen_work and cannot handle sc_rx_work. so we deadlock. Junxiao Bi's patch "mm: clear __GFP_FS when PF_MEMALLOC_NOIO is set" (http://ozlabs.org/~akpm/mmots/broken-out/mm-clear-__gfp_fs-when-pf_memalloc_noio-is-set.patch) clears __GFP_FS in memalloc_noio_flags() besides __GFP_IO. We use memalloc_noio_save() to set process flag PF_MEMALLOC_NOIO so that all allocations done by this process are done as if GFP_NOIO was specified. We are not reentering filesystem while doing memory reclaim. Signed-off-by: joyce.xue <xuejiufei@xxxxxxxxxx> Cc: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 934f3072c17cc8886f4c043b47eeeb1b12f8de33 Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Date: Thu Oct 9 15:28:23 2014 -0700 mm: clear __GFP_FS when PF_MEMALLOC_NOIO is set commit 21caf2fc1931 ("mm: teach mm by current context info to not do I/O during memory allocation") introduces PF_MEMALLOC_NOIO flag to avoid doing I/O inside memory allocation, __GFP_IO is cleared when this flag is set, but __GFP_FS implies __GFP_IO, it should also be cleared. Or it may still run into I/O, like in superblock shrinker. And this will make the kernel run into the deadlock case described in that commit. See Dave Chinner's comment about io in superblock shrinker: Filesystem shrinkers do indeed perform IO from the superblock shrinker and have for years. Even clean inodes can require IO before they can be freed - e.g. on an orphan list, need truncation of post-eof blocks, need to wait for ordered operations to complete before it can be freed, etc. IOWs, Ext4, btrfs and XFS all can issue and/or block on arbitrary amounts of IO in the superblock shrinker context. XFS, in particular, has been doing transactions and IO from the VFS inode cache shrinker since it was first introduced.... Fix this by clearing __GFP_FS in memalloc_noio_flags(), this function has masked all the gfp_mask that will be passed into fs for the processes setting PF_MEMALLOC_NOIO in the direct reclaim path. v1 thread at: https://lkml.org/lkml/2014/9/3/32 Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: joyce.xue <xuejiufei@xxxxxxxxxx> Cc: Ming Lei <ming.lei@xxxxxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8b2d8253236331c3b26189f34e73f2af89ca982 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:21 2014 -0700 mm/compaction.c: fix warning of 'flags' may be used uninitialized C mm/compaction.o mm/compaction.c: In function isolate_freepages_block: mm/compaction.c:364:37: warning: flags may be used uninitialized in this function [-Wmaybe-uninitialized] && compact_unlock_should_abort(&cc->zone->lock, flags, ^ Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ff26f70f4323ffe332ab6a5b2550f687bbd15326 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:28:19 2014 -0700 mm/mmap.c: clean up CONFIG_DEBUG_VM_RB checks - be consistent in printing the test which failed - one message was actually wrong (a<b != b>a) - don't print second bogus warning if browse_rb() failed Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5705465174686d007473e017b76c4b64b44aa690 Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Oct 9 15:28:17 2014 -0700 mm: clean up zone flags Page reclaim tests zone_is_reclaim_dirty(), but the site that actually sets this state does zone_set_flag(zone, ZONE_TAIL_LRU_DIRTY), sending the reader through layers indirection just to track down a simple bit. Remove all zone flag wrappers and just use bitops against zone->flags directly. It's just as readable and the lines are barely any longer. Also rename ZONE_TAIL_LRU_DIRTY to ZONE_DIRTY to match ZONE_WRITEBACK, and remove the zone_flags_t typedef. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c809968ffa92d41baaa9054e897436480179b20 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Oct 9 15:28:15 2014 -0700 mm/page-writeback.c: use min3/max3 macros to avoid shadow warnings Nested calls to min/max functions result in shadow warnings in W=2 builds. Avoid the warning by using the min3 and max3 macros to get the min/max of 3 values instead of nested calls. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7ade3c997208566c5bf50ece8fc319a8caf0d41a Author: Weijie Yang <weijie.yang@xxxxxxxxxxx> Date: Thu Oct 9 15:28:12 2014 -0700 mm: page_alloc: avoid wakeup kswapd on the unintended node When entering the page_alloc slowpath, we wakeup kswapd on every pgdat according to the zonelist and high_zoneidx. However, this doesn't take nodemask into account, and could prematurely wakeup kswapd on some unintended nodes. This patch uses for_each_zone_zonelist_nodemask() instead of for_each_zone_zonelist() in wake_all_kswapds() to avoid the above situation. Signed-off-by: Weijie Yang <weijie.yang@xxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81d1b09c6be66afac7d41ee52279d9bccbce56d8 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:10 2014 -0700 mm: convert a few VM_BUG_ON callers to VM_BUG_ON_VMA Trivially convert a few VM_BUG_ON calls to VM_BUG_ON_VMA to extract more information when they trigger. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa3759ccd5651c4235f572302d58c8ec9ddf1c4b Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:08 2014 -0700 mm: introduce VM_BUG_ON_VMA Very similar to VM_BUG_ON_PAGE but dumps VMA information instead. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0bf55139782db1fa96af66e37cc84afde18443ef Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:06 2014 -0700 mm: introduce dump_vma Introduce a helper to dump information about a VMA, this also makes dump_page_flags more generic and re-uses that so the output looks very similar to dump_page: [ 61.903437] vma ffff88070f88be00 start 00007fff25970000 end 00007fff25992000 [ 61.903437] next ffff88070facd600 prev ffff88070face400 mm ffff88070fade000 [ 61.903437] prot 8000000000000025 anon_vma ffff88070fa1e200 vm_ops (null) [ 61.903437] pgoff 7ffffffdd file (null) private_data (null) [ 61.909129] flags: 0x100173(read|write|mayread|maywrite|mayexec|growsdown|account) [akpm@xxxxxxxxxxxxxxxxxxxx: make dump_vma() require CONFIG_DEBUG_VM] [swarren@xxxxxxxxxx: fix dump_vma() compilation] Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b208ce32927ac2c4bf14edebfb3197acd7673165 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Thu Oct 9 15:28:03 2014 -0700 mm/slab.c: use __seq_open_private() instead of seq_open() Using __seq_open_private() removes boilerplate code from slabstats_open() The resultant code is shorter and easier to follow. This patch does not change any functionality. Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 703394c1005caeccaaf64945c1b6d6cc3af0cd1d Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Thu Oct 9 15:28:01 2014 -0700 mm/vmalloc.c: use seq_open_private() instead of seq_open() Using seq_open_private() removes boilerplate code from vmalloc_open(). The resultant code is shorter and easier to follow. However, please note that seq_open_private() call kzalloc() rather than kmalloc() which may affect timing due to the memory initialisation overhead. Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c93923cc264105418e6ead149c76bd88302eff4 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:27:59 2014 -0700 include/linux/migrate.h: remove migrate_page #define This is designed to avoid a few ifdefs in .c files but it's obnoxious because it can cause unsuspecting "migrate_page" symbols to get turned into "NULL". Just nuke it and use the ifdefs. Cc: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Cc: Rafael Aquini <aquini@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd6eecb917938c1b7e505a83df307b3476e7c8bd Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:57 2014 -0700 mempolicy: unexport get_vma_policy() and remove its "task" arg - get_vma_policy(task) is not safe if task != current, remove this argument. - get_vma_policy() no longer has callers outside of mempolicy.c, make it static. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c7c3a7d08b28278112f2aaa0b7cf53140101e2a Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:55 2014 -0700 mempolicy: kill do_set_mempolicy()->down_write(&mm->mmap_sem) Remove down_write(&mm->mmap_sem) in do_set_mempolicy(). This logic was never correct and it is no longer needed, see the previous patch. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 498f237178a3d3151f7ebe329af9a4734e41f6ed Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:52 2014 -0700 mempolicy: fix show_numa_map() vs exec() + do_set_mempolicy() race 9e7814404b77 "hold task->mempolicy while numa_maps scans." fixed the race with the exiting task but this is not enough. The current code assumes that get_vma_policy(task) should either see task->mempolicy == NULL or it should be equal to ->task_mempolicy saved by hold_task_mempolicy(), so we can never race with __mpol_put(). But this can only work if we can't race with do_set_mempolicy(), and thus we can't race with another do_set_mempolicy() or do_exit() after that. However, do_set_mempolicy()->down_write(mmap_sem) can not prevent this race. This task can exec, change it's ->mm, and call do_set_mempolicy() after that; in this case they take 2 different locks. Change hold_task_mempolicy() to use get_task_policy(), it never returns NULL, and change show_numa_map() to use __get_vma_policy() or fall back to proc_priv->task_mempolicy. Note: this is the minimal fix, we will cleanup this code later. I think hold_task_mempolicy() and release_task_mempolicy() should die, we can move this logic into show_numa_map(). Or we can move get_task_policy() outside of ->mmap_sem and !CONFIG_NUMA code at least. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 74d2c3a05cc6c1eef2d7236a9919036ed85ddaaf Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:50 2014 -0700 mempolicy: introduce __get_vma_policy(), export get_task_policy() Extract the code which looks for vma's policy from get_vma_policy() into the new helper, __get_vma_policy(). Export get_task_policy(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b6482bbf64ef6f6dbc8b52f7a7cf88a0498bd51 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:48 2014 -0700 mempolicy: remove the "task" arg of vma_policy_mof() and simplify it 1. vma_policy_mof(task) is simply not safe unless task == current, it can race with do_exit()->mpol_put(). Remove this arg and update its single caller. 2. vma can not be NULL, remove this check and simplify the code. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8d90274b3b118c9babeefb1302947f33a1364fb5 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:45 2014 -0700 mempolicy: sanitize the usage of get_task_policy() Cleanup + preparation. Every user of get_task_policy() calls it unconditionally, even if it is not going to use the result. get_task_policy() is cheap but still this does not look clean, plus the code looks simpler if get_task_policy() is called only when this is really needed. Note: I hope this is correct, but it is not clear why vma_policy_mof() doesn't fall back to get_task_policy() if ->get_policy() returns NULL. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f15ca78e33b0bb5acc0c5d9a5d5be3c55c4f0bb7 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:43 2014 -0700 mempolicy: change get_task_policy() to return default_policy rather than NULL Every caller of get_task_policy() falls back to default_policy if it returns NULL. Change get_task_policy() to do this. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2386740d1add7bb5048c731dd1127a4e9911a3ed Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:41 2014 -0700 mempolicy: change alloc_pages_vma() to use mpol_cond_put() Trivial cleanup. alloc_pages_vma() can use mpol_cond_put(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1f13ae399c58af5a05b5cee61da864e1f4071de4 Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Oct 9 15:27:39 2014 -0700 mm: remove noisy remainder of the scan_unevictable interface The deprecation warnings for the scan_unevictable interface triggers by scripts doing `sysctl -a | grep something else'. This is annoying and not helpful. The interface has been defunct since 264e56d8247e ("mm: disable user interface to manually rescue unevictable pages"), which was in 2011, and there haven't been any reports of usecases for it, only reports that the deprecation warnings are annying. It's unlikely that anybody is using this interface specifically at this point, so remove it. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f606b77f1a9e362451aca8f81d8f36a3a112139e Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Date: Thu Oct 9 15:27:37 2014 -0700 prctl: PR_SET_MM -- introduce PR_SET_MM_MAP operation During development of c/r we've noticed that in case if we need to support user namespaces we face a problem with capabilities in prctl(PR_SET_MM, ...) call, in particular once new user namespace is created capable(CAP_SYS_RESOURCE) no longer passes. A approach is to eliminate CAP_SYS_RESOURCE check but pass all new values in one bundle, which would allow the kernel to make more intensive test for sanity of values and same time allow us to support checkpoint/restore of user namespaces. Thus a new command PR_SET_MM_MAP introduced. It takes a pointer of prctl_mm_map structure which carries all the members to be updated. prctl(PR_SET_MM, PR_SET_MM_MAP, struct prctl_mm_map *, size) struct prctl_mm_map { __u64 start_code; __u64 end_code; __u64 start_data; __u64 end_data; __u64 start_brk; __u64 brk; __u64 start_stack; __u64 arg_start; __u64 arg_end; __u64 env_start; __u64 env_end; __u64 *auxv; __u32 auxv_size; __u32 exe_fd; }; All members except @exe_fd correspond ones of struct mm_struct. To figure out which available values these members may take here are meanings of the members. - start_code, end_code: represent bounds of executable code area - start_data, end_data: represent bounds of data area - start_brk, brk: used to calculate bounds for brk() syscall - start_stack: used when accounting space needed for command line arguments, environment and shmat() syscall - arg_start, arg_end, env_start, env_end: represent memory area supplied for command line arguments and environment variables - auxv, auxv_size: carries auxiliary vector, Elf format specifics - exe_fd: file descriptor number for executable link (/proc/self/exe) Thus we apply the following requirements to the values 1) Any member except @auxv, @auxv_size, @exe_fd is rather an address in user space thus it must be laying inside [mmap_min_addr, mmap_max_addr) interval. 2) While @[start|end]_code and @[start|end]_data may point to an nonexisting VMAs (say a program maps own new .text and .data segments during execution) the rest of members should belong to VMA which must exist. 3) Addresses must be ordered, ie @start_ member must not be greater or equal to appropriate @end_ member. 4) As in regular Elf loading procedure we require that @start_brk and @brk be greater than @end_data. 5) If RLIMIT_DATA rlimit is set to non-infinity new values should not exceed existing limit. Same applies to RLIMIT_STACK. 6) Auxiliary vector size must not exceed existing one (which is predefined as AT_VECTOR_SIZE and depends on architecture). 7) File descriptor passed in @exe_file should be pointing to executable file (because we use existing prctl_set_mm_exe_file_locked helper it ensures that the file we are going to use as exe link has all required permission granted). Now about where these members are involved inside kernel code: - @start_code and @end_code are used in /proc/$pid/[stat|statm] output; - @start_data and @end_data are used in /proc/$pid/[stat|statm] output, also they are considered if there enough space for brk() syscall result if RLIMIT_DATA is set; - @start_brk shown in /proc/$pid/stat output and accounted in brk() syscall if RLIMIT_DATA is set; also this member is tested to find a symbolic name of mmap event for perf system (we choose if event is generated for "heap" area); one more aplication is selinux -- we test if a process has PROCESS__EXECHEAP permission if trying to make heap area being executable with mprotect() syscall; - @brk is a current value for brk() syscall which lays inside heap area, it's shown in /proc/$pid/stat. When syscall brk() succesfully provides new memory area to a user space upon brk() completion the mm::brk is updated to carry new value; Both @start_brk and @brk are actively used in /proc/$pid/maps and /proc/$pid/smaps output to find a symbolic name "heap" for VMA being scanned; - @start_stack is printed out in /proc/$pid/stat and used to find a symbolic name "stack" for task and threads in /proc/$pid/maps and /proc/$pid/smaps output, and as the same as with @start_brk -- perf system uses it for event naming. Also kernel treat this member as a start address of where to map vDSO pages and to check if there is enough space for shmat() syscall; - @arg_start, @arg_end, @env_start and @env_end are printed out in /proc/$pid/stat. Another access to the data these members represent is to read /proc/$pid/environ or /proc/$pid/cmdline. Any attempt to read these areas kernel tests with access_process_vm helper so a user must have enough rights for this action; - @auxv and @auxv_size may be read from /proc/$pid/auxv. Strictly speaking kernel doesn't care much about which exactly data is sitting there because it is solely for userspace; - @exe_fd is referred from /proc/$pid/exe and when generating coredump. We uses prctl_set_mm_exe_file_locked helper to update this member, so exe-file link modification remains one-shot action. Still note that updating exe-file link now doesn't require sys-resource capability anymore, after all there is no much profit in preventing setup own file link (there are a number of ways to execute own code -- ptrace, ld-preload, so that the only reliable way to find which exactly code is executed is to inspect running program memory). Still we require the caller to be at least user-namespace root user. I believe the old interface should be deprecated and ripped off in a couple of kernel releases if no one against. To test if new interface is implemented in the kernel one can pass PR_SET_MM_MAP_SIZE opcode and the kernel returns the size of currently supported struct prctl_mm_map. [akpm@xxxxxxxxxxxxxxxxxxxx: fix 80-col wordwrap in macro definitions] Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Andrew Vagin <avagin@xxxxxxxxxx> Tested-by: Andrew Vagin <avagin@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Julien Tinnes <jln@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 71fe97e185040c5dac3216cd54e186dfa534efa0 Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Date: Thu Oct 9 15:27:34 2014 -0700 prctl: PR_SET_MM -- factor out mmap_sem when updating mm::exe_file Instead of taking mm->mmap_sem inside prctl_set_mm_exe_file() move it out and rename the helper to prctl_set_mm_exe_file_locked(). This will allow to reuse this function in a next patch. Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Andrew Vagin <avagin@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Julien Tinnes <jln@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8764b338b37524ab1a78aee527318ebee9762487 Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Date: Thu Oct 9 15:27:32 2014 -0700 mm: use may_adjust_brk helper Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Andrew Vagin <avagin@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Julien Tinnes <jln@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c5990240e076ae564cccbd921868cd08f6daaa5 Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Date: Thu Oct 9 15:27:29 2014 -0700 mm: introduce check_data_rlimit helper To eliminate code duplication lets introduce check_data_rlimit helper which we will use in brk() and prctl() syscalls. Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Andrew Vagin <avagin@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Julien Tinnes <jln@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6d7ce55940b6ecd463ca044ad241f0122d913293 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Thu Oct 9 15:27:27 2014 -0700 mm, compaction: pass gfp mask to compact_control struct compact_control currently converts the gfp mask to a migratetype, but we need the entire gfp mask in a follow-up patch. Pass the entire gfp mask as part of struct compact_control. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 43e7a34d265e884b7cf34f9b05e6f2e0c05bf120 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Thu Oct 9 15:27:25 2014 -0700 mm: rename allocflags_to_migratetype for clarity The page allocator has gfp flags (like __GFP_WAIT) and alloc flags (like ALLOC_CPUSET) that have separate semantics. The function allocflags_to_migratetype() actually takes gfp flags, not alloc flags, and returns a migratetype. Rename it to gfpflags_to_migratetype(). Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 99c0fd5e51c447917264154cb01a967804ace745 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:23 2014 -0700 mm, compaction: skip buddy pages by their order in the migrate scanner The migration scanner skips PageBuddy pages, but does not consider their order as checking page_order() is generally unsafe without holding the zone->lock, and acquiring the lock just for the check wouldn't be a good tradeoff. Still, this could avoid some iterations over the rest of the buddy page, and if we are careful, the race window between PageBuddy() check and page_order() is small, and the worst thing that can happen is that we skip too much and miss some isolation candidates. This is not that bad, as compaction can already fail for many other reasons like parallel allocations, and those have much larger race window. This patch therefore makes the migration scanner obtain the buddy page order and use it to skip the whole buddy page, if the order appears to be in the valid range. It's important that the page_order() is read only once, so that the value used in the checks and in the pfn calculation is the same. But in theory the compiler can replace the local variable by multiple inlines of page_order(). Therefore, the patch introduces page_order_unsafe() that uses ACCESS_ONCE to prevent this. Testing with stress-highalloc from mmtests shows a 15% reduction in number of pages scanned by migration scanner. The reduction is >60% with __GFP_NO_KSWAPD allocations, along with success rates better by few percent. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e14c720efdd73c6d69cd8d07fa894bcd11fe1973 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:20 2014 -0700 mm, compaction: remember position within pageblock in free pages scanner Unlike the migration scanner, the free scanner remembers the beginning of the last scanned pageblock in cc->free_pfn. It might be therefore rescanning pages uselessly when called several times during single compaction. This might have been useful when pages were returned to the buddy allocator after a failed migration, but this is no longer the case. This patch changes the meaning of cc->free_pfn so that if it points to a middle of a pageblock, that pageblock is scanned only from cc->free_pfn to the end. isolate_freepages_block() will record the pfn of the last page it looked at, which is then used to update cc->free_pfn. In the mmtests stress-highalloc benchmark, this has resulted in lowering the ratio between pages scanned by both scanners, from 2.5 free pages per migrate page, to 2.25 free pages per migrate page, without affecting success rates. With __GFP_NO_KSWAPD allocations, this appears to result in a worse ratio (2.1 instead of 1.8), but page migration successes increased by 10%, so this could mean that more useful work can be done until need_resched() aborts this kind of compaction. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 69b7189f12e0064237630e8c6bb64cad710bb268 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:18 2014 -0700 mm, compaction: skip rechecks when lock was already held Compaction scanners try to lock zone locks as late as possible by checking many page or pageblock properties opportunistically without lock and skipping them if not unsuitable. For pages that pass the initial checks, some properties have to be checked again safely under lock. However, if the lock was already held from a previous iteration in the initial checks, the rechecks are unnecessary. This patch therefore skips the rechecks when the lock was already held. This is now possible to do, since we don't (potentially) drop and reacquire the lock between the initial checks and the safe rechecks anymore. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b44d2791f912566a7ef58c71a7f9cbd16c3eeae Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:16 2014 -0700 mm, compaction: periodically drop lock and restore IRQs in scanners Compaction scanners regularly check for lock contention and need_resched() through the compact_checklock_irqsave() function. However, if there is no contention, the lock can be held and IRQ disabled for potentially long time. This has been addressed by commit b2eef8c0d091 ("mm: compaction: minimise the time IRQs are disabled while isolating pages for migration") for the migration scanner. However, the refactoring done by commit 2a1402aa044b ("mm: compaction: acquire the zone->lru_lock as late as possible") has changed the conditions so that the lock is dropped only when there's contention on the lock or need_resched() is true. Also, need_resched() is checked only when the lock is already held. The comment "give a chance to irqs before checking need_resched" is therefore misleading, as IRQs remain disabled when the check is done. This patch restores the behavior intended by commit b2eef8c0d091 and also tries to better balance and make more deterministic the time spent by checking for contention vs the time the scanners might run between the checks. It also avoids situations where checking has not been done often enough before. The result should be avoiding both too frequent and too infrequent contention checking, and especially the potentially long-running scans with IRQs disabled and no checking of need_resched() or for fatal signal pending, which can happen when many consecutive pages or pageblocks fail the preliminary tests and do not reach the later call site to compact_checklock_irqsave(), as explained below. Before the patch: In the migration scanner, compact_checklock_irqsave() was called each loop, if reached. If not reached, some lower-frequency checking could still be done if the lock was already held, but this would not result in aborting contended async compaction until reaching compact_checklock_irqsave() or end of pageblock. In the free scanner, it was similar but completely without the periodical checking, so lock can be potentially held until reaching the end of pageblock. After the patch, in both scanners: The periodical check is done as the first thing in the loop on each SWAP_CLUSTER_MAX aligned pfn, using the new compact_unlock_should_abort() function, which always unlocks the lock (if locked) and aborts async compaction if scheduling is needed. It also aborts any type of compaction when a fatal signal is pending. The compact_checklock_irqsave() function is replaced with a slightly different compact_trylock_irqsave(). The biggest difference is that the function is not called at all if the lock is already held. The periodical need_resched() checking is left solely to compact_unlock_should_abort(). The lock contention avoidance for async compaction is achieved by the periodical unlock by compact_unlock_should_abort() and by using trylock in compact_trylock_irqsave() and aborting when trylock fails. Sync compaction does not use trylock. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1f9efdef4f3f1d2a073e524113fd0038af636f2b Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:14 2014 -0700 mm, compaction: khugepaged should not give up due to need_resched() Async compaction aborts when it detects zone lock contention or need_resched() is true. David Rientjes has reported that in practice, most direct async compactions for THP allocation abort due to need_resched(). This means that a second direct compaction is never attempted, which might be OK for a page fault, but khugepaged is intended to attempt a sync compaction in such case and in these cases it won't. This patch replaces "bool contended" in compact_control with an int that distinguishes between aborting due to need_resched() and aborting due to lock contention. This allows propagating the abort through all compaction functions as before, but passing the abort reason up to __alloc_pages_slowpath() which decides when to continue with direct reclaim and another compaction attempt. Another problem is that try_to_compact_pages() did not act upon the reported contention (both need_resched() or lock contention) immediately and would proceed with another zone from the zonelist. When need_resched() is true, that means initializing another zone compaction, only to check again need_resched() in isolate_migratepages() and aborting. For zone lock contention, the unintended consequence is that the lock contended status reported back to the allocator is detrmined from the last zone where compaction was attempted, which is rather arbitrary. This patch fixes the problem in the following way: - async compaction of a zone aborting due to need_resched() or fatal signal pending means that further zones should not be tried. We report COMPACT_CONTENDED_SCHED to the allocator. - aborting zone compaction due to lock contention means we can still try another zone, since it has different set of locks. We report back COMPACT_CONTENDED_LOCK only if *all* zones where compaction was attempted, it was aborted due to lock contention. As a result of these fixes, khugepaged will proceed with second sync compaction as intended, when the preceding async compaction aborted due to need_resched(). Page fault compactions aborting due to need_resched() will spare some cycles previously wasted by initializing another zone compaction only to abort again. Lock contention will be reported only when compaction in all zones aborted due to lock contention, and therefore it's not a good idea to try again after reclaim. In stress-highalloc from mmtests configured to use __GFP_NO_KSWAPD, this has improved number of THP collapse allocations by 10%, which shows positive effect on khugepaged. The benchmark's success rates are unchanged as it is not recognized as khugepaged. Numbers of compact_stall and compact_fail events have however decreased by 20%, with compact_success still a bit improved, which is good. With benchmark configured not to use __GFP_NO_KSWAPD, there is 6% improvement in THP collapse allocations, and only slight improvement in stalls and failures. [akpm@xxxxxxxxxxxxxxxxxxxx: fix warnings] Reported-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d49d8868336bbf4f68714d8282ca5fd65e387ed Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:11 2014 -0700 mm, compaction: reduce zone checking frequency in the migration scanner The unification of the migrate and free scanner families of function has highlighted a difference in how the scanners ensure they only isolate pages of the intended zone. This is important for taking zone lock or lru lock of the correct zone. Due to nodes overlapping, it is however possible to encounter a different zone within the range of the zone being compacted. The free scanner, since its inception by commit 748446bb6b5a ("mm: compaction: memory compaction core"), has been checking the zone of the first valid page in a pageblock, and skipping the whole pageblock if the zone does not match. This checking was completely missing from the migration scanner at first, and later added by commit dc9086004b3d ("mm: compaction: check for overlapping nodes during isolation for migration") in a reaction to a bug report. But the zone comparison in migration scanner is done once per a single scanned page, which is more defensive and thus more costly than a check per pageblock. This patch unifies the checking done in both scanners to once per pageblock, through a new pageblock_pfn_to_page() function, which also includes pfn_valid() checks. It is more defensive than the current free scanner checks, as it checks both the first and last page of the pageblock, but less defensive by the migration scanner per-page checks. It assumes that node overlapping may result (on some architecture) in a boundary between two nodes falling into the middle of a pageblock, but that there cannot be a node0 node1 node0 interleaving within a single pageblock. The result is more code being shared and a bit less per-page CPU cost in the migration scanner. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit edc2ca61249679298c1f343cd9c549964b8df4b4 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:09 2014 -0700 mm, compaction: move pageblock checks up from isolate_migratepages_range() isolate_migratepages_range() is the main function of the compaction scanner, called either on a single pageblock by isolate_migratepages() during regular compaction, or on an arbitrary range by CMA's __alloc_contig_migrate_range(). It currently perfoms two pageblock-wide compaction suitability checks, and because of the CMA callpath, it tracks if it crossed a pageblock boundary in order to repeat those checks. However, closer inspection shows that those checks are always true for CMA: - isolation_suitable() is true because CMA sets cc->ignore_skip_hint to true - migrate_async_suitable() check is skipped because CMA uses sync compaction We can therefore move the compaction-specific checks to isolate_migratepages() and simplify isolate_migratepages_range(). Furthermore, we can mimic the freepage scanner family of functions, which has isolate_freepages_block() function called both by compaction from isolate_freepages() and by CMA from isolate_freepages_range(), where each use-case adds own specific glue code. This allows further code simplification. Thus, we rename isolate_migratepages_range() to isolate_migratepages_block() and limit its functionality to a single pageblock (or its subset). For CMA, a new different isolate_migratepages_range() is created as a CMA-specific wrapper for the _block() function. The checks specific to compaction are moved to isolate_migratepages(). As part of the unification of these two families of functions, we remove the redundant zone parameter where applicable, since zone pointer is already passed in cc->zone. Furthermore, going back to compact_zone() and compact_finished() when pageblock is found unsuitable (now by isolate_migratepages()) is wasteful - the checks are meant to skip pageblocks quickly. The patch therefore also introduces a simple loop into isolate_migratepages() so that it does not return immediately on failed pageblock checks, but keeps going until isolate_migratepages_range() gets called once. Similarily to isolate_freepages(), the function periodically checks if it needs to reschedule or abort async compaction. [iamjoonsoo.kim@xxxxxxx: fix isolated page counting bug in compaction] Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f8224aa5a0a4627926019bba7511926393fbee3b Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:07 2014 -0700 mm, compaction: do not recheck suitable_migration_target under lock isolate_freepages_block() rechecks if the pageblock is suitable to be a target for migration after it has taken the zone->lock. However, the check has been optimized to occur only once per pageblock, and compact_checklock_irqsave() might be dropping and reacquiring lock, which means somebody else might have changed the pageblock's migratetype meanwhile. Furthermore, nothing prevents the migratetype to change right after isolate_freepages_block() has finished isolating. Given how imperfect this is, it's simpler to just rely on the check done in isolate_freepages() without lock, and not pretend that the recheck under lock guarantees anything. It is just a heuristic after all. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 98dd3b48a7b8e8277f14c2b7d879477efc1ed0d0 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:04 2014 -0700 mm, compaction: do not count compact_stall if all zones skipped compaction The compact_stall vmstat counter counts the number of allocations stalled by direct compaction. It does not count when all attempted zones had deferred compaction, but it does count when all zones skipped compaction. The skipping is decided based on very early check of compaction_suitable(), based on watermarks and memory fragmentation. Therefore it makes sense not to count skipped compactions as stalls. Moreover, compact_success or compact_fail is also already not being counted when compaction was skipped, so this patch changes the compact_stall counting to match the other two. Additionally, restructure __alloc_pages_direct_compact() code for better readability. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 53853e2d2bfb748a8b5aa2fd1de15699266865e0 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:02 2014 -0700 mm, compaction: defer each zone individually instead of preferred zone When direct sync compaction is often unsuccessful, it may become deferred for some time to avoid further useless attempts, both sync and async. Successful high-order allocations un-defer compaction, while further unsuccessful compaction attempts prolong the compaction deferred period. Currently the checking and setting deferred status is performed only on the preferred zone of the allocation that invoked direct compaction. But compaction itself is attempted on all eligible zones in the zonelist, so the behavior is suboptimal and may lead both to scenarios where 1) compaction is attempted uselessly, or 2) where it's not attempted despite good chances of succeeding, as shown on the examples below: 1) A direct compaction with Normal preferred zone failed and set deferred compaction for the Normal zone. Another unrelated direct compaction with DMA32 as preferred zone will attempt to compact DMA32 zone even though the first compaction attempt also included DMA32 zone. In another scenario, compaction with Normal preferred zone failed to compact Normal zone, but succeeded in the DMA32 zone, so it will not defer compaction. In the next attempt, it will try Normal zone which will fail again, instead of skipping Normal zone and trying DMA32 directly. 2) Kswapd will balance DMA32 zone and reset defer status based on watermarks looking good. A direct compaction with preferred Normal zone will skip compaction of all zones including DMA32 because Normal was still deferred. The allocation might have succeeded in DMA32, but won't. This patch makes compaction deferring work on individual zone basis instead of preferred zone. For each zone, it checks compaction_deferred() to decide if the zone should be skipped. If watermarks fail after compacting the zone, defer_compaction() is called. The zone where watermarks passed can still be deferred when the allocation attempt is unsuccessful. When allocation is successful, compaction_defer_reset() is called for the zone containing the allocated page. This approach should approximate calling defer_compaction() only on zones where compaction was attempted and did not yield allocated page. There might be corner cases but that is inevitable as long as the decision to stop compacting dues not guarantee that a page will be allocated. Due to a new COMPACT_DEFERRED return value, some functions relying implicitly on COMPACT_SKIPPED = 0 had to be updated, with comments made more accurate. The did_some_progress output parameter of __alloc_pages_direct_compact() is removed completely, as the caller actually does not use it after compaction sets it - it is only considered when direct reclaim sets it. During testing on a two-node machine with a single very small Normal zone on node 1, this patch has improved success rates in stress-highalloc mmtests benchmark. The success here were previously made worse by commit 3a025760fc15 ("mm: page_alloc: spill to remote nodes before waking kswapd") as kswapd was no longer resetting often enough the deferred compaction for the Normal zone, and DMA32 zones on both nodes were thus not considered for compaction. On different machine, success rates were improved with __GFP_NO_KSWAPD allocations. [akpm@xxxxxxxxxxxxxxxxxxxx: fix CONFIG_COMPACTION=n build] Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b1645685acf3c7e0b93611fb4b328ef45c47e92 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:00 2014 -0700 mm, THP: don't hold mmap_sem in khugepaged when allocating THP When allocating huge page for collapsing, khugepaged currently holds mmap_sem for reading on the mm where collapsing occurs. Afterwards the read lock is dropped before write lock is taken on the same mmap_sem. Holding mmap_sem during whole huge page allocation is therefore useless, the vma needs to be rechecked after taking the write lock anyway. Furthemore, huge page allocation might involve a rather long sync compaction, and thus block any mmap_sem writers and i.e. affect workloads that perform frequent m(un)map or mprotect oterations. This patch simply releases the read lock before allocating a huge page. It also deletes an outdated comment that assumed vma must be stable, as it was using alloc_hugepage_vma(). This is no longer true since commit 9f1b868a13ac ("mm: thp: khugepaged: add policy for finding target node"). Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 447f05bb488bff4282088259b04f47f0f9f76760 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Thu Oct 9 15:26:58 2014 -0700 block_dev: implement readpages() to optimize sequential read Sequential read from a block device is expected to be equal or faster than from the file on a filesystem. But it is not correct due to the lack of effective readpages() in the address space operations for block device. This implements readpages() operation for block device by using mpage_readpages() which can create multipage BIOs instead of BIOs for each page and reduce system CPU time consumption. Install 1GB of RAM disk storage: # modprobe scsi_debug dev_size_mb=1024 delay=0 Sequential read from file on a filesystem: # mkfs.ext4 /dev/$DEV # mount /dev/$DEV /mnt # fio --name=t --size=512m --rw=read --filename=/mnt/file ... read : io=524288KB, bw=2133.4MB/s, iops=546133, runt= 240msec Sequential read from a block device: # fio --name=t --size=512m --rw=read --filename=/dev/$DEV ... (Without this commit) read : io=524288KB, bw=1700.2MB/s, iops=435455, runt= 301msec (With this commit) read : io=524288KB, bw=2160.4MB/s, iops=553046, runt= 237msec Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4db96b71e3caea5bb39053d57683129e0682c66f Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Thu Oct 9 15:26:55 2014 -0700 vfs: guard end of device for mpage interface Add guard_bio_eod() check for mpage code in order to allow us to do IO even on the odd last sectors of a device, even if the block size is some multiple of the physical sector size. Using mpage_readpages() for block device requires this guard check. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 59d43914ed7b96255271ad6b7b735344beffa3c0 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Thu Oct 9 15:26:53 2014 -0700 vfs: make guard_bh_eod() more generic This patchset implements readpages() operation for block device by using mpage_readpages() which can create multipage BIOs instead of BIOs for each page and reduce system CPU time consumption. This patch (of 3): guard_bh_eod() is used in submit_bh() to allow us to do IO even on the odd last sectors of a device, even if the block size is some multiple of the physical sector size. This makes guard_bh_eod() more generic and renames it guard_bio_eod() so that we can use it without struct buffer_head argument. The reason for this change is that using mpage_readpages() for block device requires to add this guard check in mpage code. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21bb9bd19430a43e6462ce75030fd7fac4b766ef Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:26:51 2014 -0700 mm: page_alloc: determine migratetype only once The check for ALLOC_CMA in __alloc_pages_nodemask() derives migratetype from gfp_mask in each retry pass, although the migratetype variable already has the value determined and it does not change. Use the variable and perform the check only once. Also convert #ifdef CONFIG_CMA to IS_ENABLED. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Srivatsa S. Bhat" <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 95b0e655f9148881907fdbe5baba6a9f5d094fee Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Oct 9 15:26:49 2014 -0700 ARM: mm: don't limit default CMA region only to low memory DMA-mapping supports CMA regions places either in low or high memory, so there is no longer needed to limit default CMA regions only to low memory. The real limit is still defined by architecture specific DMA limit. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Reported-by: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Daniel Drake <drake@xxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f7426b983a6a353cf21e5733e84458219c4a817e Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Oct 9 15:26:47 2014 -0700 mm: cma: adjust address limit to avoid hitting low/high memory boundary Russell King recently noticed that limiting default CMA region only to low memory on ARM architecture causes serious memory management issues with machines having a lot of memory (which is mainly available as high memory). More information can be found the following thread: http://thread.gmane.org/gmane.linux.ports.arm.kernel/348441/ Those two patches removes this limit letting kernel to put default CMA region into high memory when this is possible (there is enough high memory available and architecture specific DMA limit fits). This should solve strange OOM issues on systems with lots of RAM (i.e. >1GiB) and large (>256M) CMA area. This patch (of 2): Automatically allocated regions should not cross low/high memory boundary, because such regions cannot be later correctly initialized due to spanning across two memory zones. This patch adds a check for this case and a simple code for moving region to low memory if automatically selected address might not fit completely into high memory. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Daniel Drake <drake@xxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d4932f9e81ae7a7bf3c3967e48373909b9c98ee5 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:44 2014 -0700 arm64: add atomic pool for non-coherent and CMA allocations Neither CMA nor noncoherent allocations support atomic allocations. Add a dedicated atomic pool to support this. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 36d0fd2198da3fd16b0e0da50ece05b4d295d2f1 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:42 2014 -0700 arm: use genalloc for the atomic pool ARM currently uses a bitmap for tracking atomic allocations. genalloc already handles this type of memory pool allocation so switch to using that instead. Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 513510ddba9650fc7da456eefeb0ead7632324f6 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:40 2014 -0700 common: dma-mapping: introduce common remapping functions For architectures without coherent DMA, memory for DMA may need to be remapped with coherent attributes. Factor out the the remapping code from arm and put it in a common location to reduce code duplication. As part of this, the arm APIs are now migrated away from ioremap_page_range to the common APIs which use map_vm_area for remapping. This should be an equivalent change and using map_vm_area is more correct as ioremap_page_range is intended to bring in io addresses into the cpu space and not regular kernel managed memory. Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9efb3a421d55d30b65fb0dbee05108d15c6c55f7 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:38 2014 -0700 lib/genalloc.c: add genpool range check function After allocating an address from a particular genpool, there is no good way to verify if that address actually belongs to a genpool. Introduce addr_in_gen_pool which will return if an address plus size falls completely within the genpool range. Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Reviewed-by: Olof Johansson <olof@xxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 505e3be6c082489a32a88e042f930d047b6415bc Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:35 2014 -0700 lib/genalloc.c: add power aligned algorithm One of the more common algorithms used for allocation is to align the start address of the allocation to the order of size requested. Add this as an algorithm option for genalloc. Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6a33979d5bd7521497121c5ae4435d7003115a0f Author: Mel Gorman <mgorman@xxxxxxx> Date: Thu Oct 9 15:26:33 2014 -0700 mm: remove misleading ARCH_USES_NUMA_PROT_NONE ARCH_USES_NUMA_PROT_NONE was defined for architectures that implemented _PAGE_NUMA using _PROT_NONE. This saved using an additional PTE bit and relied on the fact that PROT_NONE vmas were skipped by the NUMA hinting fault scanner. This was found to be conceptually confusing with a lot of implicit assumptions and it was asked that an alternative be found. Commit c46a7c81 "x86: define _PAGE_NUMA by reusing software bits on the PMD and PTE levels" redefined _PAGE_NUMA on x86 to be one of the swap PTE bits and shrunk the maximum possible swap size but it did not go far enough. There are no architectures that reuse _PROT_NONE as _PROT_NUMA but the relics still exist. This patch removes ARCH_USES_NUMA_PROT_NONE and removes some unnecessary duplication in powerpc vs the generic implementation by defining the types the core NUMA helpers expected to exist from x86 with their ppc64 equivalent. This necessitated that a PTE bit mask be created that identified the bits that distinguish present from NUMA pte entries but it is expected this will only differ between arches based on _PAGE_PROTNONE. The naming for the generic helpers was taken from x86 originally but ppc64 has types that are equivalent for the purposes of the helper so they are mapped instead of duplicating code. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ed2f240094f900833ac06f533ab8bbcf0a1e8199 Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Date: Thu Oct 9 15:26:31 2014 -0700 memory-hotplug: add sysfs valid_zones attribute Currently memory-hotplug has two limits: 1. If the memory block is in ZONE_NORMAL, you can change it to ZONE_MOVABLE, but this memory block must be adjacent to ZONE_MOVABLE. 2. If the memory block is in ZONE_MOVABLE, you can change it to ZONE_NORMAL, but this memory block must be adjacent to ZONE_NORMAL. With this patch, we can easy to know a memory block can be onlined to which zone, and don't need to know the above two limits. Updated the related Documentation. [akpm@xxxxxxxxxxxxxxxxxxxx: use conventional comment layout] [akpm@xxxxxxxxxxxxxxxxxxxx: fix build with CONFIG_MEMORY_HOTREMOVE=n] [akpm@xxxxxxxxxxxxxxxxxxxx: remove unused local zone_prev] Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cc71aba348906ff93a4ad2f600045ee2d1ecc291 Author: vishnu.ps <vishnu.ps@xxxxxxxxxxx> Date: Thu Oct 9 15:26:29 2014 -0700 mm/mmap.c: whitespace fixes Signed-off-by: vishnu.ps <vishnu.ps@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bf0dea23a9c094ae869a88bb694fbe966671bf6d Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:27 2014 -0700 mm/slab: use percpu allocator for cpu cache Because of chicken and egg problem, initialization of SLAB is really complicated. We need to allocate cpu cache through SLAB to make the kmem_cache work, but before initialization of kmem_cache, allocation through SLAB is impossible. On the other hand, SLUB does initialization in a more simple way. It uses percpu allocator to allocate cpu cache so there is no chicken and egg problem. So, this patch try to use percpu allocator in SLAB. This simplifies the initialization step in SLAB so that we could maintain SLAB code more easily. In my testing there is no performance difference. This implementation relies on percpu allocator. Because percpu allocator uses vmalloc address space, vmalloc address space could be exhausted by this change on many cpu system with *32 bit* kernel. This implementation can cover 1024 cpus in worst case by following calculation. Worst: 1024 cpus * 4 bytes for pointer * 300 kmem_caches * 120 objects per cpu_cache = 140 MB Normal: 1024 cpus * 4 bytes for pointer * 150 kmem_caches(slab merge) * 80 objects per cpu_cache = 46 MB Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Jeremiah Mahler <jmmahler@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 12220dea07f1ac6ac717707104773d771c3f3077 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:24 2014 -0700 mm/slab: support slab merge Slab merge is good feature to reduce fragmentation. If new creating slab have similar size and property with exsitent slab, this feature reuse it rather than creating new one. As a result, objects are packed into fewer slabs so that fragmentation is reduced. Below is result of my testing. * After boot, sleep 20; cat /proc/meminfo | grep Slab <Before> Slab: 25136 kB <After> Slab: 24364 kB We can save 3% memory used by slab. For supporting this feature in SLAB, we need to implement SLAB specific kmem_cache_flag() and __kmem_cache_alias(), because SLUB implements some SLUB specific processing related to debug flag and object size change on these functions. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 423c929cbbecc60e9c407f9048e58f5422f7995d Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:22 2014 -0700 mm/slab_common: commonize slab merge logic Slab merge is good feature to reduce fragmentation. Now, it is only applied to SLUB, but, it would be good to apply it to SLAB. This patch is preparation step to apply slab merge to SLAB by commonizing slab merge logic. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9163582c3f22cfba90a78749751ac70b127a9167 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Thu Oct 9 15:26:20 2014 -0700 slab: fix for_each_kmem_cache_node() Fix a bug (discovered with kmemcheck) in for_each_kmem_cache_node(). The for loop reads the array "node" before verifying that the index is within the range. This results in kmemcheck warning. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Reviewed-by: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 109228389a943edd7e5c6ae94a7fda119691baec Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:18 2014 -0700 kernel/kthread.c: partial revert of 81c98869faa5 ("kthread: ensure locality of task_struct allocations") After discussions with Tejun, we don't want to spread the use of cpu_to_mem() (and thus knowledge of allocators/NUMA topology details) into callers, but would rather ensure the callees correctly handle memoryless nodes. With the previous patches ("topology: add support for node_to_mem_node() to determine the fallback node" and "slub: fallback to node_to_mem_node() node if allocating on memoryless node") adding and using node_to_mem_node(), we can safely undo part of the change to the kthread logic from 81c98869faa5. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a561ce00b09e1545953340deb5bef1036d7442de Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:15 2014 -0700 slub: fall back to node_to_mem_node() node if allocating on memoryless node Update the SLUB code to search for partial slabs on the nearest node with memory in the presence of memoryless nodes. Additionally, do not consider it to be an ALLOC_NODE_MISMATCH (and deactivate the slab) when a memoryless-node specified allocation goes off-node. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad2c8144418c6a81cefe65379fd47bbe8344cef2 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:13 2014 -0700 topology: add support for node_to_mem_node() to determine the fallback node Anton noticed (http://www.spinics.net/lists/linux-mm/msg67489.html) that on ppc LPARs with memoryless nodes, a large amount of memory was consumed by slabs and was marked unreclaimable. He tracked it down to slab deactivations in the SLUB core when we allocate remotely, leading to poor efficiency always when memoryless nodes are present. After much discussion, Joonsoo provided a few patches that help significantly. They don't resolve the problem altogether: - memory hotplug still needs testing, that is when a memoryless node becomes memory-ful, we want to dtrt - there are other reasons for going off-node than memoryless nodes, e.g., fully exhausted local nodes Neither case is resolved with this series, but I don't think that should block their acceptance, as they can be explored/resolved with follow-on patches. The series consists of: [1/3] topology: add support for node_to_mem_node() to determine the fallback node [2/3] slub: fallback to node_to_mem_node() node if allocating on memoryless node - Joonsoo's patches to cache the nearest node with memory for each NUMA node [3/3] Partial revert of 81c98869faa5 (""kthread: ensure locality of task_struct allocations") - At Tejun's request, keep the knowledge of memoryless node fallback to the allocator core. This patch (of 3): We need to determine the fallback node in slub allocator if the allocation target node is memoryless node. Without it, the SLUB wrongly select the node which has no memory and can't use a partial slab, because of node mismatch. Introduced function, node_to_mem_node(X), will return a node Y with memory that has the nearest distance. If X is memoryless node, it will return nearest distance node, but, if X is normal node, it will return itself. We will use this function in following patch to determine the fallback node. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c9e16131d6e39bddd183f0b9d787ec0a62bf0eeb Author: Christoph Lameter <cl@xxxxxxxxx> Date: Thu Oct 9 15:26:11 2014 -0700 slub: disable tracing and failslab for merged slabs Tracing of mergeable slabs as well as uses of failslab are confusing since the objects of multiple slab caches will be affected. Moreover this creates a situation where a mergeable slab will become unmergeable. If tracing or failslab testing is desired then it may be best to switch merging off for starters. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Tested-by: WANG Chao <chaowang@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25c4f304be8cd6831105d3a2876028e4ecd254a1 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:09 2014 -0700 mm/slab: factor out unlikely part of cache_free_alien() cache_free_alien() is rarely used function when node mismatch. But, it is defined with inline attribute so it is inlined to __cache_free() which is core free function of slab allocator. It uselessly makes kmem_cache_free()/kfree() functions large. What we really need to inline is just checking node match so this patch factor out other parts of cache_free_alien() to reduce code size of kmem_cache_free()/ kfree(). <Before> nm -S mm/slab.o | grep -e "T kfree" -e "T kmem_cache_free" 00000000000011e0 0000000000000228 T kfree 0000000000000670 0000000000000216 T kmem_cache_free <After> nm -S mm/slab.o | grep -e "T kfree" -e "T kmem_cache_free" 0000000000001110 00000000000001b5 T kfree 0000000000000750 0000000000000181 T kmem_cache_free You can see slightly reduced size of text: 0x228->0x1b5, 0x216->0x181. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d3aec34466d9d6c8ceaa7f95088ced5705823735 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:06 2014 -0700 mm/slab: noinline __ac_put_obj() Our intention of __ac_put_obj() is that it doesn't affect anything if sk_memalloc_socks() is disabled. But, because __ac_put_obj() is too small, compiler inline it to ac_put_obj() and affect code size of free path. This patch add noinline keyword for __ac_put_obj() not to distrupt normal free path at all. <Before> nm -S slab-orig.o | grep -e "t cache_alloc_refill" -e "T kfree" -e "T kmem_cache_free" 0000000000001e80 00000000000002f5 t cache_alloc_refill 0000000000001230 0000000000000258 T kfree 0000000000000690 000000000000024c T kmem_cache_free <After> nm -S slab-patched.o | grep -e "t cache_alloc_refill" -e "T kfree" -e "T kmem_cache_free" 0000000000001e00 00000000000002e5 t cache_alloc_refill 00000000000011e0 0000000000000228 T kfree 0000000000000670 0000000000000216 T kmem_cache_free cache_alloc_refill: 0x2f5->0x2e5 kfree: 0x256->0x228 kmem_cache_free: 0x24c->0x216 code size of each function is reduced slightly. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3d88019408d6fbff1a38a58e694d56b7fd465408 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:04 2014 -0700 mm/slab: move cache_flusharray() out of unlikely.text section Now, due to likely keyword, compiled code of cache_flusharray() is on unlikely.text section. Although it is uncommon case compared to free to cpu cache case, it is common case than free_block(). But, free_block() is on normal text section. This patch fix this odd situation to remove likely keyword. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 61f47105a2c9c60e950ca808b7560f776f9bfa31 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:02 2014 -0700 mm/sl[ao]b: always track caller in kmalloc_(node_)track_caller() Now, we track caller if tracing or slab debugging is enabled. If they are disabled, we could save one argument passing overhead by calling __kmalloc(_node)(). But, I think that it would be marginal. Furthermore, default slab allocator, SLUB, doesn't use this technique so I think that it's okay to change this situation. After this change, we can turn on/off CONFIG_DEBUG_SLAB without full kernel build and remove some complicated '#if' defintion. It looks more benefitial to me. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 07f361b2bee38896df8be17d8c3f8af3f3610606 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:00 2014 -0700 mm/slab_common: move kmem_cache definition to internal header We don't need to keep kmem_cache definition in include/linux/slab.h if we don't need to inline kmem_cache_size(). According to my code inspection, this function is only called at lc_create() in lib/lru_cache.c which may be called at initialization phase of something, so we don't need to inline it. Therfore, move it to slab_common.c and move kmem_cache definition to internal header. After this change, we can change kmem_cache definition easily without full kernel build. For instance, we can turn on/off CONFIG_SLUB_STATS without full kernel build. [akpm@xxxxxxxxxxxxxxxxxxxx: export kmem_cache_size() to modules] [rdunlap@xxxxxxxxxxxxx: add header files to fix kmemcheck.c build errors] Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3aa24f519e48e0db0ccf198d1b766a61d9463ce6 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:25:58 2014 -0700 mm/slab_common.c: suppress warning False positive: mm/slab_common.c: In function 'kmem_cache_create': mm/slab_common.c:204: warning: 's' may be used uninitialized in this function Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bf3e2692468fe46eed57d18b3dd1af5b30049122 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Thu Oct 9 15:25:56 2014 -0700 fs/proc/kcore.c: don't add modules range to kcore if it's equal to vmcore range On some ARCHs modules range is eauql to vmalloc range. E.g on i686 "#define MODULES_VADDR VMALLOC_START" "#define MODULES_END VMALLOC_END" This will cause 2 duplicate program segments in /proc/kcore, and no flag to indicate they are different. This is confusing. And usually people who need check the elf header or read the content of kcore will check memory ranges. Two program segments which are the same are unnecessary. So check if the modules range is equal to vmalloc range. If so, just skip adding the modules range. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58cb65487e92b47448d00a711c9f5922137d5678 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:54 2014 -0700 proc/maps: make vm_is_stack() logic namespace-friendly - Rename vm_is_stack() to task_of_stack() and change it to return "struct task_struct *" rather than the global (and thus wrong in general) pid_t. - Add the new pid_of_stack() helper which calls task_of_stack() and uses the right namespace to report the correct pid_t. Unfortunately we need to define this helper twice, in task_mmu.c and in task_nommu.c. perhaps it makes sense to add fs/proc/util.c and move at least pid_of_stack/task_of_stack there to avoid the code duplication. - Change show_map_vma() and show_numa_map() to use the new helper. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c03376d2db005869b1d4449097d51c96196529e Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:51 2014 -0700 proc/maps: replace proc_maps_private->pid with "struct inode *inode" m_start() can use get_proc_task() instead, and "struct inode *" provides more potentially useful info, see the next changes. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 47fecca15c0944924423390fe21b956eea57da30 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:49 2014 -0700 fs/proc/task_nommu.c: don't use priv->task->mm I do not know if CONFIG_PREEMPT/SMP is possible without CONFIG_MMU but the usage of task->mm in m_stop(). The task can exit/exec before we take mmap_sem, in this case m_stop() can hit NULL or unlock the wrong rw_semaphore. Also, this code uses priv->task != NULL to decide whether we need up_read/mmput. This is correct, but we will probably kill priv->task. Change m_start/m_stop to rely on IS_ERR_OR_NULL() like task_mmu.c does. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 27692cd56e2aa6924b49f4361247d707a023484a Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:47 2014 -0700 fs/proc/task_nommu.c: shift mm_access() from m_start() to proc_maps_open() Copy-and-paste the changes from "fs/proc/task_mmu.c: shift mm_access() from m_start() to proc_maps_open()" into task_nommu.c. Change maps_open() to initialize priv->mm using proc_mem_open(), m_start() can rely on atomic_inc_not_zero(mm_users) like task_mmu.c does. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce34fddb5bafb424a4aaa9f403feb7dbe776c7d1 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:45 2014 -0700 fs/proc/task_nommu.c: change maps_open() to use __seq_open_private() Cleanup and preparation. maps_open() can use __seq_open_private() like proc_maps_open() does. [akpm@xxxxxxxxxxxxxxxxxxxx: deuglify] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 557c2d8a73dc078817ba6949697ceb8c0f3f7362 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:43 2014 -0700 fs/proc/task_mmu.c: update m->version in the main loop in m_start() Change the main loop in m_start() to update m->version. Mostly for consistency, but this can help to avoid the same loop if the very 1st ->show() fails due to seq_overflow(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8c20a9b85b057c850f63ee4c63531a356d8596a Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:41 2014 -0700 fs/proc/task_mmu.c: reintroduce m->version logic Add the "last_addr" optimization back. Like before, every ->show() method checks !seq_overflow() and sets m->version = vma->vm_start. However, it also checks that m_next_vma(vma) != NULL, otherwise it sets m->version = -1 for the lockless "EOF" fast-path in m_start(). m_start() can simply do find_vma() + m_next_vma() if last_addr is not zero, the code looks clear and simple and this case is clearly separated from "scan vmas" path. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad2a00e4b7e20ab03700b0bb13270b6cee45c6e0 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:39 2014 -0700 fs/proc/task_mmu.c: introduce m_next_vma() helper Extract the tail_vma/vm_next calculation from m_next() into the new trivial helper, m_next_vma(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0c255321f879c36bd74f58f9c7ed235ea6b919cb Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:36 2014 -0700 fs/proc/task_mmu.c: simplify m_start() to make it readable Now that m->version is gone we can cleanup m_start(). In particular, - Remove the "unsigned long" typecast, m->index can't be negative or exceed ->map_count. But lets use "unsigned int pos" to make it clear that "pos < map_count" is safe. - Remove the unnecessary "vma != NULL" check in the main loop. It can't be NULL unless we have a vm bug. - This also means that "pos < map_count" case can simply return the valid vma and avoid "goto" and subsequent checks. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ebb6cdde1a50c3cd2a0a4668dfb571ecb3213449 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:34 2014 -0700 fs/proc/task_mmu.c: kill the suboptimal and confusing m->version logic m_start() carefully documents, checks, and sets "m->version = -1" if we are going to return NULL. The only problem is that we will be never called again if m_start() returns NULL, so this is simply pointless and misleading. Otoh, ->show() methods m->version = 0 if vma == tail_vma and this is just wrong, we want -1 in this case. And in fact we also want -1 if ->vm_next == NULL and ->tail_vma == NULL. And it is not used consistently, the "scan vmas" loop in m_start() should update last_addr too. Finally, imo the whole "last_addr" logic in m_start() looks horrible. find_vma(last_addr) is called unconditionally even if we are not going to use the result. But the main problem is that this code participates in tail_vma-or-NULL mess, and this looks simply unfixable. Remove this optimization. We will add it back after some cleanups. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0d5f5f45f9a4f1f6b694c37f5142ebea893f0a15 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:32 2014 -0700 fs/proc/task_mmu.c: shift "priv->task = NULL" from m_start() to m_stop() 1. There is no reason to reset ->tail_vma in m_start(), if we return IS_ERR_OR_NULL() it won't be used. 2. m_start() also clears priv->task to ensure that m_stop() won't use the stale pointer if we fail before get_task_struct(). But this is ugly and confusing, move this initialization in m_stop(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 23d54837e4f3a44ad4514d5eae8245c2250217ff Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:30 2014 -0700 fs/proc/task_mmu.c: cleanup the "tail_vma" horror in m_next() 1. Kill the first "vma != NULL" check. Firstly this is not possible, m_next() won't be called if ->start() or the previous ->next() returns NULL. And if it was possible the 2nd "vma != tail_vma" check is buggy, we should not wrongly return ->tail_vma. 2. Make this function readable. The logic is very simple, we should return check "vma != tail" once and return "vm_next || tail_vma". Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 59b4bf12d4776c0e4f3fd5c02d942f3a0596da97 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:28 2014 -0700 fs/proc/task_mmu.c: simplify the vma_stop() logic m_start() drops ->mmap_sem and does mmput() if it retuns vsyscall vma. This is because in this case m_stop()->vma_stop() obviously can't use gate_vma->vm_mm. Now that we have proc_maps_private->mm we can simplify this logic: - Change m_start() to return with ->mmap_sem held unless it returns IS_ERR_OR_NULL(). - Change vma_stop() to use priv->mm and avoid the ugly vma checks, this makes "vm_area_struct *vma" unnecessary. - This also allows m_start() to use vm_stop(). - Cleanup m_next() to follow the new locking rule. Note: m_stop() looks very ugly, and this temporary uglifies it even more. Fixed by the next change. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 29a40ace841cba9b661711f042d1821cdc4ad47c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:26 2014 -0700 fs/proc/task_mmu.c: shift mm_access() from m_start() to proc_maps_open() A simple test-case from Kirill Shutemov cat /proc/self/maps >/dev/null chmod +x /proc/self/net/packet exec /proc/self/net/packet makes lockdep unhappy, cat/exec take seq_file->lock + cred_guard_mutex in the opposite order. It's a false positive and probably we should not allow "chmod +x" on proc files. Still I think that we should avoid mm_access() and cred_guard_mutex in sys_read() paths, security checking should happen at open time. Besides, this doesn't even look right if the task changes its ->mm between m_stop() and m_start(). Add the new "mm_struct *mm" member into struct proc_maps_private and change proc_maps_open() to initialize it using proc_mem_open(). Change m_start() to use priv->mm if atomic_inc_not_zero(mm_users) succeeds or return NULL (eof) otherwise. The only complication is that proc_maps_open() users should additionally do mmdrop() in fop->release(), add the new proc_map_release() helper for that. Note: this is the user-visible change, if the task execs after open("maps") the new ->mm won't be visible via this file. I hope this is fine, and this matches /proc/pid/mem bahaviour. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reported-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5381e169e78405bd54256860f151596f5a887617 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:24 2014 -0700 proc: introduce proc_mem_open() Extract the mm_access() code from __mem_open() into the new helper, proc_mem_open(), the next patch will add another caller. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4db7d0ee198d417f4144c58048fcb173d90096ea Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:21 2014 -0700 fs/proc/task_mmu.c: unify/simplify do_maps_open() and numa_maps_open() do_maps_open() and numa_maps_open() are overcomplicated, they could use __seq_open_private(). Plus they do the same, just sizeof(*priv) Change them to use a new simple helper, proc_maps_open(ops, psize). This simplifies the code and allows us to do the next changes. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 46c298cf69d0e9a27d33ff992a81bd7b441c7933 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:19 2014 -0700 fs/proc/task_mmu.c: don't use task->mm in m_start() and show_*map() get_gate_vma(priv->task->mm) looks ugly and wrong, task->mm can be NULL or it can changed by exec right after mm_access(). And in theory this race is not harmless, the task can exec and then later exit and free the new mm_struct. In this case get_task_mm(oldmm) can't help, get_gate_vma(task->mm) can read the freed/unmapped memory. I think that priv->task should simply die and hold_task_mempolicy() logic can be simplified. tail_vma logic asks for cleanups too. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1a8de1f534337b398c7778578a56ec4f018cb27 Author: chai wen <chaiw.fnst@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:25:17 2014 -0700 softlockup: make detector be aware of task switch of processes hogging cpu For now, soft lockup detector warns once for each case of process softlockup. But the thread 'watchdog/n' may not always get the cpu at the time slot between the task switch of two processes hogging that cpu to reset soft_watchdog_warn. An example would be two processes hogging the cpu. Process A causes the softlockup warning and is killed manually by a user. Process B immediately becomes the new process hogging the cpu preventing the softlockup code from resetting the soft_watchdog_warn variable. This case is a false negative of "warn only once for a process", as there may be a different process that is going to hog the cpu. Resolve this by saving/checking the task pointer of the hogging process and use that to reset soft_watchdog_warn too. [dzickus@xxxxxxxxxx: update comment] Signed-off-by: chai wen <chaiw.fnst@xxxxxxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f775da2fc2a8e42aa49eddbf5186ac3df8961a71 Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Date: Thu Oct 9 15:25:15 2014 -0700 ocfs2: fix deadlock due to wrong locking order For commit ocfs2 journal, ocfs2 journal thread will acquire the mutex osb->journal->j_trans_barrier and wake up jbd2 commit thread, then it will wait until jbd2 commit thread done. In order journal mode, jbd2 needs flushing dirty data pages first, and this needs get page lock. So osb->journal->j_trans_barrier should be got before page lock. But ocfs2_write_zero_page() and ocfs2_write_begin_inline() obey this locking order, and this will cause deadlock and hung the whole cluster. One deadlock catched is the following: PID: 13449 TASK: ffff8802e2f08180 CPU: 31 COMMAND: "oracle" #0 [ffff8802ee3f79b0] __schedule at ffffffff8150a524 #1 [ffff8802ee3f7a58] schedule at ffffffff8150acbf #2 [ffff8802ee3f7a68] rwsem_down_failed_common at ffffffff8150cb85 #3 [ffff8802ee3f7ad8] rwsem_down_read_failed at ffffffff8150cc55 #4 [ffff8802ee3f7ae8] call_rwsem_down_read_failed at ffffffff812617a4 #5 [ffff8802ee3f7b50] ocfs2_start_trans at ffffffffa0498919 [ocfs2] #6 [ffff8802ee3f7ba0] ocfs2_zero_start_ordered_transaction at ffffffffa048b2b8 [ocfs2] #7 [ffff8802ee3f7bf0] ocfs2_write_zero_page at ffffffffa048e9bd [ocfs2] #8 [ffff8802ee3f7c80] ocfs2_zero_extend_range at ffffffffa048ec83 [ocfs2] #9 [ffff8802ee3f7ce0] ocfs2_zero_extend at ffffffffa048edfd [ocfs2] #10 [ffff8802ee3f7d50] ocfs2_extend_file at ffffffffa049079e [ocfs2] #11 [ffff8802ee3f7da0] ocfs2_setattr at ffffffffa04910ed [ocfs2] #12 [ffff8802ee3f7e70] notify_change at ffffffff81187d29 #13 [ffff8802ee3f7ee0] do_truncate at ffffffff8116bbc1 #14 [ffff8802ee3f7f50] sys_ftruncate at ffffffff8116bcbd #15 [ffff8802ee3f7f80] system_call_fastpath at ffffffff81515142 RIP: 00007f8de750c6f7 RSP: 00007fffe786e478 RFLAGS: 00000206 RAX: 000000000000004d RBX: ffffffff81515142 RCX: 0000000000000000 RDX: 0000000000000200 RSI: 0000000000028400 RDI: 000000000000000d RBP: 00007fffe786e040 R8: 0000000000000000 R9: 000000000000000d R10: 0000000000000000 R11: 0000000000000206 R12: 000000000000000d R13: 00007fffe786e710 R14: 00007f8de70f8340 R15: 0000000000028400 ORIG_RAX: 000000000000004d CS: 0033 SS: 002b crash64> bt PID: 7610 TASK: ffff88100fd56140 CPU: 1 COMMAND: "ocfs2cmt" #0 [ffff88100f4d1c50] __schedule at ffffffff8150a524 #1 [ffff88100f4d1cf8] schedule at ffffffff8150acbf #2 [ffff88100f4d1d08] jbd2_log_wait_commit at ffffffffa01274fd [jbd2] #3 [ffff88100f4d1d98] jbd2_journal_flush at ffffffffa01280b4 [jbd2] #4 [ffff88100f4d1dd8] ocfs2_commit_cache at ffffffffa0499b14 [ocfs2] #5 [ffff88100f4d1e38] ocfs2_commit_thread at ffffffffa0499d38 [ocfs2] #6 [ffff88100f4d1ee8] kthread at ffffffff81090db6 #7 [ffff88100f4d1f48] kernel_thread_helper at ffffffff81516284 crash64> bt PID: 7609 TASK: ffff88100f2d4480 CPU: 0 COMMAND: "jbd2/dm-20-86" #0 [ffff88100def3920] __schedule at ffffffff8150a524 #1 [ffff88100def39c8] schedule at ffffffff8150acbf #2 [ffff88100def39d8] io_schedule at ffffffff8150ad6c #3 [ffff88100def39f8] sleep_on_page at ffffffff8111069e #4 [ffff88100def3a08] __wait_on_bit_lock at ffffffff8150b30a #5 [ffff88100def3a58] __lock_page at ffffffff81110687 #6 [ffff88100def3ab8] write_cache_pages at ffffffff8111b752 #7 [ffff88100def3be8] generic_writepages at ffffffff8111b901 #8 [ffff88100def3c48] journal_submit_data_buffers at ffffffffa0120f67 [jbd2] #9 [ffff88100def3cf8] jbd2_journal_commit_transaction at ffffffffa0121372[jbd2] #10 [ffff88100def3e68] kjournald2 at ffffffffa0127a86 [jbd2] #11 [ffff88100def3ee8] kthread at ffffffff81090db6 #12 [ffff88100def3f48] kernel_thread_helper at ffffffff81516284 Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Alex Chen <alex.chen@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 70e82a12dbfa3acbff41be08a36e8be4578878c9 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Oct 9 15:25:13 2014 -0700 ocfs2: fix deadlock between o2hb thread and o2net_wq The following case may lead to o2net_wq and o2hb thread deadlock on o2hb_callback_sem. Currently there are 2 nodes say N1, N2 in the cluster. And N2 down, at the same time, N3 tries to join the cluster. So N1 will handle node down (N2) and join (N3) simultaneously. o2hb o2net_wq ->o2hb_do_disk_heartbeat ->o2hb_check_slot ->o2hb_run_event_list ->o2hb_fire_callbacks ->down_write(&o2hb_callback_sem) ->o2net_hb_node_down_cb ->flush_workqueue(o2net_wq) ->o2net_process_message ->dlm_query_join_handler ->o2hb_check_node_heartbeating ->o2hb_fill_node_map ->down_read(&o2hb_callback_sem) No need to take o2hb_callback_sem in dlm_query_join_handler, o2hb_live_lock is enough to protect live node map. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: xMark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: jiangyiwen <jiangyiwen@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5046f18d5bd9ad7638b32c3b304ff39a74c064df Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Date: Thu Oct 9 15:25:11 2014 -0700 ocfs2: don't fire quorum before connection established Firing quorum before connection established can cause unexpected node to reboot. Assume there are 3 nodes in the cluster, Node 1, 2, 3. Node 2 and 3 have wrong ip address of Node 1 in cluster.conf and global heartbeat is enabled in the cluster. After the heatbeats are started on these three nodes, Node 1 will reboot due to quorum fencing. It is similar case if Node 1's networking is not ready when starting the global heartbeat. The reboot is not friendly as customer is not fully ready for ocfs2 to work. Fix it by not allowing firing quorum before the connection is established. In this case, ocfs2 will wait until the wrong configuration is fixed or networking is up to continue. Also update the log to guide the user where to check when connection is not built for a long time. Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Reviewed-by: Srinivas Eeda <srinivas.eeda@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1848cb5530d3bada86c7b54f4f8b053b2081eb00 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Thu Oct 9 15:25:09 2014 -0700 fs/ocfs2/dlmglue.c: use __seq_open_private() not seq_open() Reduce boilerplate code by using seq_open_private() instead of seq_open() Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f32883384846e1d4aa941c60dd8adb44093359c6 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Thu Oct 9 15:25:07 2014 -0700 fs/ocfs2/cluster/netdebug.c: use seq_open_private() not seq_open() Reduce boilerplate code by using seq_open_private() instead of seq_open() Note that the code in and using sc_common_open() has been quite extensively changed. Not least because there was a latent memory leak in the code as was: if sc_common_open() failed, the previously allocated buffer was not freed. Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f9ac032322b855ff9f578efcb5de891dcf85e9b Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Thu Oct 9 15:25:05 2014 -0700 fs/ocfs2/dlm/dlmdebug.c: use seq_open_private() not seq_open() Reduce boilerplate code by using seq_open_private() instead of seq_open() Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6ae075485e2d91921bdd64e49896b1bae87d1ba2 Author: Xue jiufei <xuejiufei@xxxxxxxxxx> Date: Thu Oct 9 15:25:03 2014 -0700 ocfs2: remove unused code in dlm_new_lockres() Remove the branch that free res->lockname.name because the condition is never satisfied when jump to label error. Signed-off-by: joyce.xue <xuejiufei@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9a7e6b5a0ad1a554ca982c555a34ce8086d5b994 Author: alex chen <alex.chen@xxxxxxxxxx> Date: Thu Oct 9 15:25:00 2014 -0700 ocfs2/dlm: call dlm_lockres_put without resource spinlock dlm_lockres_put() should be called without &res->spinlock, otherwise a deadlock case may happen. spin_lock(&res->spinlock) ... dlm_lockres_put ->dlm_lockres_release ->dlm_print_one_lock_resource ->spin_lock(&res->spinlock) Signed-off-by: Alex Chen <alex.chen@xxxxxxxxxx> Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4a4e07c1bdbbc24d905e4c266b92cada9371db5d Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Oct 9 15:24:58 2014 -0700 ocfs2: call o2quo_exit() if malloc failed in o2net_init() In o2net_init, if malloc failed, it directly returns -ENOMEM. Then o2quo_exit won't be called in init_o2nm. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reviewed-by: joyce.xue <xuejiufei@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7fa05c6e46d76378d4403669ba6ea38364f910ac Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Oct 9 15:24:56 2014 -0700 ocfs2: fix shift left operations overflow ocfs2_inode_info->ip_clusters and ocfs2_dinode->id1.bitmap1.i_total are defined as type u32, so the shift left operations may overflow if volume size is large, for example, 2TB and cluster size is 1MB. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reviewed-by: Alex Chen <alex.chen@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 190a7721ac865744a59fdf2f291c2a211cab6217 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Oct 9 15:24:54 2014 -0700 ocfs2/dlm: refactor error handling in dlm_alloc_ctxt Refactoring error handling in dlm_alloc_ctxt to simplify code. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reviewed-by: Alex Chen <alex.chen@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 98acbf63d63c83e847c5cbe454b36a53cfbbc7a5 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:52 2014 -0700 fs/ocfs2/stack_user.c: fix typo in ocfs2_control_release() It is supposed to zero pv_minor. Reported-by: Himangi Saraogi <himangi774@xxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e2cabe1d426fb10cd8e04c26a49e70f1c864d25c Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:50 2014 -0700 score: use Kbuild logic to include <asm-generic/sections.h> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7143e494414f25c6209f94155d20b796e0f36626 Author: Andrea Gelmini <andrea.gelmini@xxxxxxxxx> Date: Thu Oct 9 15:24:48 2014 -0700 ntfs: remove bogus space fs/ntfs/debug.c:124: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Andrea Gelmini <andrea.gelmini@xxxxxxxxx> Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5272d036b280d43a06ab790030609225480d2009 Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Thu Oct 9 15:24:46 2014 -0700 ntfs: use find_get_page_flags() to mark page accessed as it is no longer marked later on Mel Gorman's commit 2457aec63745 ("mm: non-atomically mark page accessed during page cache allocation where possible") removed mark_page_accessed() calls from NTFS without updating the matching find_lock_page() to find_get_page_flags(GFP_LOCK | FGP_ACCESSED) thus causing the page to never be marked accessed. This patch fixes that. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2f82df0f3e6e89867695956aa061b464fe2c8958 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:44 2014 -0700 m32r: remove deprecated IRQF_DISABLED This patch removes the use of the IRQF_DISABLED flag from arch/m32r/kernel/time.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: Hirokazu Takata <takata@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3a28663696569624e36161e2100fd61e38bd9824 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:42 2014 -0700 m32r: use Kbuild logic to include <asm-generic/sections.h> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Hirokazu Takata <takata@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0b37e097a648aa71d4db1ad108001e95b69a2da4 Author: Yann Droneaud <ydroneaud@xxxxxxxxxx> Date: Thu Oct 9 15:24:40 2014 -0700 fanotify: enable close-on-exec on events' fd when requested in fanotify_init() According to commit 80af258867648 ("fanotify: groups can specify their f_flags for new fd"), file descriptors created as part of file access notification events inherit flags from the event_f_flags argument passed to syscall fanotify_init(2)[1]. Unfortunately O_CLOEXEC is currently silently ignored. Indeed, event_f_flags are only given to dentry_open(), which only seems to care about O_ACCMODE and O_PATH in do_dentry_open(), O_DIRECT in open_check_o_direct() and O_LARGEFILE in generic_file_open(). It's a pity, since, according to some lookup on various search engines and http://codesearch.debian.net/, there's already some userspace code which use O_CLOEXEC: - in systemd's readahead[2]: fanotify_fd = fanotify_init(FAN_CLOEXEC|FAN_NONBLOCK, O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_NOATIME); - in clsync[3]: #define FANOTIFY_EVFLAGS (O_LARGEFILE|O_RDONLY|O_CLOEXEC) int fanotify_d = fanotify_init(FANOTIFY_FLAGS, FANOTIFY_EVFLAGS); - in examples [4] from "Filesystem monitoring in the Linux kernel" article[5] by Aleksander Morgado: if ((fanotify_fd = fanotify_init (FAN_CLOEXEC, O_RDONLY | O_CLOEXEC | O_LARGEFILE)) < 0) Additionally, since commit 48149e9d3a7e ("fanotify: check file flags passed in fanotify_init"). having O_CLOEXEC as part of fanotify_init() second argument is expressly allowed. So it seems expected to set close-on-exec flag on the file descriptors if userspace is allowed to request it with O_CLOEXEC. But Andrew Morton raised[6] the concern that enabling now close-on-exec might break existing applications which ask for O_CLOEXEC but expect the file descriptor to be inherited across exec(). In the other hand, as reported by Mihai Dontu[7] close-on-exec on the file descriptor returned as part of file access notify can break applications due to deadlock. So close-on-exec is needed for most applications. More, applications asking for close-on-exec are likely expecting it to be enabled, relying on O_CLOEXEC being effective. If not, it might weaken their security, as noted by Jan Kara[8]. So this patch replaces call to macro get_unused_fd() by a call to function get_unused_fd_flags() with event_f_flags value as argument. This way O_CLOEXEC flag in the second argument of fanotify_init(2) syscall is interpreted and close-on-exec get enabled when requested. [1] http://man7.org/linux/man-pages/man2/fanotify_init.2.html [2] http://cgit.freedesktop.org/systemd/systemd/tree/src/readahead/readahead-collect.c?id=v208#n294 [3] https://github.com/xaionaro/clsync/blob/v0.2.1/sync.c#L1631 https://github.com/xaionaro/clsync/blob/v0.2.1/configuration.h#L38 [4] http://www.lanedo.com/~aleksander/fanotify/fanotify-example.c [5] http://www.lanedo.com/2013/filesystem-monitoring-linux-kernel/ [6] http://lkml.kernel.org/r/20141001153621.65e9258e65a6167bf2e4cb50@xxxxxxxxxxxxxxxxxxxx [7] http://lkml.kernel.org/r/20141002095046.3715eb69@mdontu-l [8] http://lkml.kernel.org/r/20141002104410.GB19748@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/cover.1411562410.git.ydroneaud@xxxxxxxxxx Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Reviewed by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Tested-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Mihai Don\u021bu <mihai.dontu@xxxxxxxxx> Cc: Pádraig Brady <P@xxxxxxxxxxxxxx> Cc: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Cc: Michael Kerrisk-manpages <mtk.manpages@xxxxxxxxx> Cc: Lino Sanfilippo <LinoSanfilippo@xxxxxx> Cc: Richard Guy Briggs <rgb@xxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 105d1b425303120c7681abc0761b6fc6c3f8a8e8 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:24:37 2014 -0700 fsnotify: don't put user context if it was never assigned On some failure paths we may attempt to free user context even if it wasn't assigned yet. This will cause a NULL ptr deref and a kernel BUG. The path I was looking at is in inotify_new_group(): oevent = kmalloc(sizeof(struct inotify_event_info), GFP_KERNEL); if (unlikely(!oevent)) { fsnotify_destroy_group(group); return ERR_PTR(-ENOMEM); } fsnotify_destroy_group() would get called here, but group->inotify_data.user is only getting assigned later: group->inotify_data.user = get_current_user(); Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: John McCutchan <john@xxxxxxxxxxxxxxxxx> Cc: Robert Love <rlove@xxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Reviewed-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cafbaae8afdb1e6cf9f4715aea2c897cf407ddfd Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:35 2014 -0700 fs/notify/group.c: make fsnotify_final_destroy_group() static No callers outside this file. Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 20882185dab2978952a705905284d2a9790b2bae Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:33 2014 -0700 cris: use Kbuild logic to include <asm-generic/sections.h> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 70323545e557eb853457288492be0bb2196c2733 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:31 2014 -0700 mn10300: use Kbuild logic to include <asm-generic/sections.h> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8358d70ce1066dd4cc658cfdaf7862d459e2d78 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Thu Oct 9 12:18:10 2014 +0200 net_sched: restore qdisc quota fairness limits after bulk dequeue Restore the quota fairness between qdisc's, that we broke with commit 5772e9a346 ("qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE"). Before that commit, the quota in __qdisc_run() were in packets as dequeue_skb() would only dequeue a single packet, that assumption broke with bulk dequeue. We choose not to account for the number of packets inside the TSO/GSO packets (accessable via "skb_gso_segs"). As the previous fairness also had this "defect". Thus, GSO/TSO packets counts as a single packet. Further more, we choose to slack on accuracy, by allowing a bulk dequeue try_bulk_dequeue_skb() to exceed the "packets" limit, only limited by the BQL bytelimit. This is done because BQL prefers to get its full budget for appropriate feedback from TX completion. In future, we might consider reworking this further and, if it allows, switch to a time-based model, as suggested by Eric. Right now, we only restore old semantics. Joint work with Eric, Hannes, Daniel and Jesper. Hannes wrote the first patch in cooperation with Daniel and Jesper. Eric rewrote the patch. Fixes: 5772e9a346 ("qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a974038a89901f21c15189db2659e545576ed5d Merge: de3f0d0 b540327 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 9 19:06:15 2014 -0400 Merge branch 'r8152' Hayes Wang says: ==================== r8152: use mutex for hw settings v2: Make sure the autoresume wouldn't occur inside the mutex, otherwise the dead lock would happen. For the purpose, adjust some code about autosuspend/autoresume. v1: Use mutex to avoid that the serial hw settings would be interrupted by other settings. Although there is no problem now, it makes the driver more safe. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b54032736dbba2ae18995b930d0176bd8b0386c8 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Oct 9 18:00:26 2014 +0800 r8152: add mutex for hw settings Use the mutex to avoid the settings are interrupted by other ones. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d4a4d7286eb6fc783149de44aa90de4bc72a9fe Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Oct 9 18:00:25 2014 +0800 r8152: adjust usb_autopm_xxx Add usb_autopm_xxx for rtl8152_get_settings() ,and remove usb_autopm_xxx from read_mii_word() and write_mii_word(). Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 405f8a0ec71c869a374066cce22f88670d27a739 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Oct 9 18:00:24 2014 +0800 r8152: autoresume before setting feature Resume the device before setting the feature. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de3f0d0effecc2ccfbd679705519ed5b35f9cb33 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Oct 9 12:58:08 2014 +0900 net: Missing @ before descriptions cause make xmldocs warning This patch fix following warning. Warning(.//net/core/skbuff.c:4142): No description found for parameter 'header_len' Warning(.//net/core/skbuff.c:4142): No description found for parameter 'data_len' Warning(.//net/core/skbuff.c:4142): No description found for parameter 'max_page_order' Warning(.//net/core/skbuff.c:4142): No description found for parameter 'errcode' Warning(.//net/core/skbuff.c:4142): No description found for parameter 'gfp_mask' Acutually the descriptions exist, but missing "@" in front. This problem start to happen when following commit was merged into Linus's tree during 3.18-rc1 merge period. commit 2e4e44107176d552f8bb1bb76053e850e3809841 net: add alloc_skb_with_frags() helper Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e229b36e676d491a6305174dd025abba39be8d41 Merge: ea97cae 8203b50 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 9 18:53:59 2014 -0400 Merge branch 'cxgb4' Hariprasad Shenai says: ==================== cxgb4/cxgb4vf: Misc fixes and 40G support for cxgb4vf This patch series adds 40G support for cxgb4vf driver. Update the LSO length for cxgb4vf, fix macro. Wait for device to get ready before reading PL_WHOAMI register. The patches series is created against 'net-next' tree. And includes patches on cxgb4 and cxgb4vf driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8203b509c5b7aab7a8170626ce02372c61da2cdd Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 9 05:48:47 2014 +0530 cxgb4: Wait for device to get ready before reading any register Call t4_wait_dev_ready() before attempting to read the PL_WHOAMI register (to determine which function we have been attached to). This prevents us from failing on that read if it comes right after a RESET. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 897d55df3ca794ad4522472d46aa2dbbface8c37 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 9 05:48:46 2014 +0530 cxgb4vf: Add 40G support for cxgb4vf driver Add 40G support for cxgb4vf driver. ethtool speed values are just numbers of megabits and there is no SPEED_40000 in ethtool speed values. To be consistent, use integer constants directly for all speeds. Use is_x_10g_port()("is 10Gb/s or higher") in cfg_queues() instead of is_10g_port() ("is exactly 10Gb/s"). Else we will end up using a single "Queue Set" on 40Gb/s adapters. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7207c0d1540b679993d1f0bb9c1ff8e068958c75 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 9 05:48:45 2014 +0530 cxgb4/cxgb4vf: Updated the LSO transfer length in CPL_TX_PKT_LSO for T5 Update the lso length for T5 adapter and fix PIDX_T5 macro Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dd4cae8bf16611053ee7b00e20aa4fa945b92b99 Author: Christian Gmeiner <christian.gmeiner@xxxxxxxxx> Date: Wed Oct 8 09:22:54 2014 -0700 Input: Add Microchip AR1021 i2c touchscreen This patch adds support for the ar1021 i2c based touchscreen. The driver is quite simple and only supports the Touch Reporting Protocol. This is the final version for an RFC patch send a while ago. http://www.spinics.net/lists/linux-input/msg29419.html Signed-off-by: Christian Gmeiner <christian.gmeiner@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3f1fe73b92c4e5cd614f628621048c0c120e2620 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Wed Oct 8 11:38:21 2014 -0700 Input: cros_ec_keyb - add of match table To enable the cros_ec_keyb driver to be auto-loaded when build as module add an of match table (and export it) to match the modalias information passed on to userspace as the Cros EC MFD driver registers the MFD subdevices with an of_compatibility string. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0224ec9e9f111b1c39ec00a10de4858061b4afea Author: Richard Leitner <richard.leitner@xxxxxxxxxxx> Date: Wed Oct 8 15:21:32 2014 -0700 Input: serio - avoid negative serio device numbers Fix the format string for serio device name generation to avoid negative device numbers when the id exceeds the maximum signed integer value. Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit bf1d50fa74df0339c925aa7e2ff9de60a42c30be Author: Richard Leitner <richard.leitner@xxxxxxxxxxx> Date: Wed Oct 8 14:24:15 2014 -0700 Input: avoid negative input device numbers Fix the format string for input device name generation to avoid negative device numbers when the id exceeds the maximum signed integer value. Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5dab4b73c736c2cb8e35148f9ee2365ee48bad79 Author: Tony Luck <tony.luck@xxxxxxxxx> Date: Thu Oct 9 13:26:58 2014 -0700 [IA64] Enable bpf syscall for ia64 See commit 99c55f7d47c0dc6fc64729f37bf435abf43f4c60 bpf: introduce BPF syscall and maps Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit b528392669415dc1e53a047215e5ad6c2de879fc Merge: 80213c0 9f1a053 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 16:07:43 2014 -0400 Merge tag 'pm+acpi-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI and power management updates from Rafael Wysocki: "Features-wise, to me the most important this time is a rework of wakeup interrupts handling in the core that makes them work consistently across all of the available sleep states, including suspend-to-idle. Many thanks to Thomas Gleixner for his help with this work. Second is an update of the generic PM domains code that has been in need of some care for quite a while. Unused code is being removed, DT support is being added and domains are now going to be attached to devices in bus type code in analogy with the ACPI PM domain. The majority of work here was done by Ulf Hansson who also has been the most active developer this time. Apart from this we have a traditional ACPICA update, this time to upstream version 20140828 and a few ACPI wakeup interrupts handling patches on top of the general rework mentioned above. There also are several cpufreq commits including renaming the cpufreq-cpu0 driver to cpufreq-dt, as this is what implements generic DT-based cpufreq support, and a new DT-based idle states infrastructure for cpuidle. In addition to that, the ACPI LPSS driver is updated, ACPI support for Apple machines is improved, a few bugs are fixed and a few cleanups are made all over. Finally, the Adaptive Voltage Scaling (AVS) subsystem now has a tree maintained by Kevin Hilman that will be merged through the PM tree. Numbers-wise, the generic PM domains update takes the lead this time with 32 non-merge commits, second is cpufreq (15 commits) and the 3rd place goes to the wakeup interrupts handling rework (13 commits). Specifics: - Rework the handling of wakeup IRQs by the IRQ core such that all of them will be switched over to "wakeup" mode in suspend_device_irqs() and in that mode the first interrupt will abort system suspend in progress or wake up the system if already in suspend-to-idle (or equivalent) without executing any interrupt handlers. Among other things that eliminates the wakeup-related motivation to use the IRQF_NO_SUSPEND interrupt flag with interrupts which don't really need it and should not use it (Thomas Gleixner and Rafael Wysocki) - Switch over ACPI to handling wakeup interrupts with the help of the new mechanism introduced by the above IRQ core rework (Rafael Wysocki) - Rework the core generic PM domains code to eliminate code that's not used, add DT support and add a generic mechanism by which devices can be added to PM domains automatically during enumeration (Ulf Hansson, Geert Uytterhoeven and Tomasz Figa). - Add debugfs-based mechanics for debugging generic PM domains (Maciej Matraszek). - ACPICA update to upstream version 20140828. Included are updates related to the SRAT and GTDT tables and the _PSx methods are in the METHOD_NAME list now (Bob Moore and Hanjun Guo). - Add _OSI("Darwin") support to the ACPI core (unfortunately, that can't really be done in a straightforward way) to prevent Thunderbolt from being turned off on Apple systems after boot (or after resume from system suspend) and rework the ACPI Smart Battery Subsystem (SBS) driver to work correctly with Apple platforms (Matthew Garrett and Andreas Noever). - ACPI LPSS (Low-Power Subsystem) driver update cleaning up the code, adding support for 133MHz I2C source clock on Intel Baytrail to it and making it avoid using UART RTS override with Auto Flow Control (Heikki Krogerus). - ACPI backlight updates removing the video_set_use_native_backlight quirk which is not necessary any more, making the code check the list of output devices returned by the _DOD method to avoid creating acpi_video interfaces that won't work and adding a quirk for Lenovo Ideapad Z570 (Hans de Goede, Aaron Lu and Stepan Bujnak) - New Win8 ACPI OSI quirks for some Dell laptops (Edward Lin) - Assorted ACPI code cleanups (Fabian Frederick, Rasmus Villemoes, Sudip Mukherjee, Yijing Wang, and Zhang Rui) - cpufreq core updates and cleanups (Viresh Kumar, Preeti U Murthy, Rasmus Villemoes) - cpufreq driver updates: cpufreq-cpu0/cpufreq-dt (driver name change among other things), ppc-corenet, powernv (Viresh Kumar, Preeti U Murthy, Shilpasri G Bhat, Lucas Stach) - cpuidle support for DT-based idle states infrastructure, new ARM64 cpuidle driver, cpuidle core cleanups (Lorenzo Pieralisi, Rasmus Villemoes) - ARM big.LITTLE cpuidle driver updates: support for DT-based initialization and Exynos5800 compatible string (Lorenzo Pieralisi, Kevin Hilman) - Rework of the test_suspend kernel command line argument and a new trace event for console resume (Srinivas Pandruvada, Todd E Brandt) - Second attempt to optimize swsusp_free() (hibernation core) to make it avoid going through all PFNs which may be way too slow on some systems (Joerg Roedel) - devfreq updates (Paul Bolle, Punit Agrawal, Ã?rjan Eide). - rockchip-io Adaptive Voltage Scaling (AVS) driver and AVS entry update in MAINTAINERS (Heiko Stübner, Kevin Hilman) - PM core fix related to clock management (Geert Uytterhoeven) - PM core's sysfs code cleanup (Johannes Berg)" * tag 'pm+acpi-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (105 commits) ACPI / fan: printk replacement PM / clk: Fix crash in clocks management code if !CONFIG_PM_RUNTIME PM / Domains: Rename cpu_data to cpuidle_data cpufreq: cpufreq-dt: fix potential double put of cpu OF node cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' PM / hibernate: Iterate over set bits instead of PFNs in swsusp_free() cpufreq: ppc-corenet: remove duplicate update of cpu_data ACPI / sleep: Rework the handling of ACPI GPE wakeup from suspend-to-idle PM / sleep: Rename platform suspend/resume functions in suspend.c PM / sleep: Export dpm_suspend_late/noirq() and dpm_resume_early/noirq() ACPICA: Introduce acpi_enable_all_wakeup_gpes() ACPICA: Clear all non-wakeup GPEs in acpi_hw_enable_wakeup_gpe_block() ACPI / video: check _DOD list when creating backlight devices PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h cpufreq: Replace strnicmp with strncasecmp cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec cpufreq: powernv: Set the pstate of the last hotplugged out cpu in policy->cpus to minimum cpufreq: Allow stop CPU callback to be used by all cpufreq drivers PM / devfreq: exynos: Enable building exynos PPMU as module PM / devfreq: Export helper functions for drivers ... commit 764f612c6c3c231b9c12cfae7c328ccc9c453258 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Oct 9 23:17:35 2014 +0800 blk-merge: don't compute bi_phys_segments from bi_vcnt for cloned bio It isn't correct to figure out req->bi_phys_segments from bio->bi_vcnt if the bio is cloned. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Tested-by: Jeff Mahoney <jeffm@xxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 80213c03c4151d900cf293ef0fc51f8d88495e14 Merge: ea58459 f92d9ee Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:03:49 2014 -0400 Merge tag 'pci-v3.18-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI updates from Bjorn Helgaas: "The interesting things here are: - Turn on Config Request Retry Status Software Visibility. This caused hangs last time, but we included a fix this time. - Rework PCI device configuration to use _HPP/_HPX more aggressively - Allow PCI devices to be put into D3cold during system suspend - Add arm64 PCI support - Add APM X-Gene host bridge driver - Add TI Keystone host bridge driver - Add Xilinx AXI host bridge driver More detailed summary: Enumeration - Check Vendor ID only for Config Request Retry Status (Rajat Jain) - Enable Config Request Retry Status when supported (Rajat Jain) - Add generic domain handling (Catalin Marinas) - Generate uppercase hex for modalias interface class (Ricardo Ribalda Delgado) Resource management - Add missing MEM_64 mask in pci_assign_unassigned_bridge_resources() (Yinghai Lu) - Increase IBM ipr SAS Crocodile BARs to at least system page size (Douglas Lehr) PCI device hotplug - Prevent NULL dereference during pciehp probe (Andreas Noever) - Move _HPP & _HPX handling into core (Bjorn Helgaas) - Apply _HPP to PCIe devices as well as PCI (Bjorn Helgaas) - Apply _HPP/_HPX to display devices (Bjorn Helgaas) - Preserve SERR & PARITY settings when applying _HPP/_HPX (Bjorn Helgaas) - Preserve MPS and MRRS settings when applying _HPP/_HPX (Bjorn Helgaas) - Apply _HPP/_HPX to all devices, not just hot-added ones (Bjorn Helgaas) - Fix wait time in pciehp timeout message (Yinghai Lu) - Add more pciehp Slot Control debug output (Yinghai Lu) - Stop disabling pciehp notifications during init (Yinghai Lu) MSI - Remove arch_msi_check_device() (Alexander Gordeev) - Rename pci_msi_check_device() to pci_msi_supported() (Alexander Gordeev) - Move D0 check into pci_msi_check_device() (Alexander Gordeev) - Remove unused kobject from struct msi_desc (Yijing Wang) - Remove "pos" from the struct msi_desc msi_attrib (Yijing Wang) - Add "msi_bus" sysfs MSI/MSI-X control for endpoints (Yijing Wang) - Use __get_cached_msi_msg() instead of get_cached_msi_msg() (Yijing Wang) - Use __read_msi_msg() instead of read_msi_msg() (Yijing Wang) - Use __write_msi_msg() instead of write_msi_msg() (Yijing Wang) Power management - Drop unused runtime PM support code for PCIe ports (Rafael J. Wysocki) - Allow PCI devices to be put into D3cold during system suspend (Rafael J. Wysocki) AER - Add additional AER error strings (Gong Chen) - Make <linux/aer.h> standalone includable (Thierry Reding) Virtualization - Add ACS quirk for Solarflare SFC9120 & SFC9140 (Alex Williamson) - Add ACS quirk for Intel 10G NICs (Alex Williamson) - Add ACS quirk for AMD A88X southbridge (Marti Raudsepp) - Remove unused pci_find_upstream_pcie_bridge(), pci_get_dma_source() (Alex Williamson) - Add device flag helpers (Ethan Zhao) - Assume all Mellanox devices have broken INTx masking (Gavin Shan) Generic host bridge driver - Fix ioport_map() for !CONFIG_GENERIC_IOMAP (Liviu Dudau) - Add pci_register_io_range() and pci_pio_to_address() (Liviu Dudau) - Define PCI_IOBASE as the base of virtual PCI IO space (Liviu Dudau) - Fix the conversion of IO ranges into IO resources (Liviu Dudau) - Add pci_get_new_domain_nr() and of_get_pci_domain_nr() (Liviu Dudau) - Add support for parsing PCI host bridge resources from DT (Liviu Dudau) - Add pci_remap_iospace() to map bus I/O resources (Liviu Dudau) - Add arm64 architectural support for PCI (Liviu Dudau) APM X-Gene - Add APM X-Gene PCIe driver (Tanmay Inamdar) - Add arm64 DT APM X-Gene PCIe device tree nodes (Tanmay Inamdar) Freescale i.MX6 - Probe in module_init(), not fs_initcall() (Lucas Stach) - Delay enabling reference clock for SS until it stabilizes (Tim Harvey) Marvell MVEBU - Fix uninitialized variable in mvebu_get_tgt_attr() (Thomas Petazzoni) NVIDIA Tegra - Make sure the PCIe PLL is really reset (Eric Yuen) - Add error path tegra_msi_teardown_irq() cleanup (Jisheng Zhang) - Fix extended configuration space mapping (Peter Daifuku) - Implement resource hierarchy (Thierry Reding) - Clear CLKREQ# enable on port disable (Thierry Reding) - Add Tegra124 support (Thierry Reding) ST Microelectronics SPEAr13xx - Pass config resource through reg property (Pratyush Anand) Synopsys DesignWare - Use NULL instead of false (Fabio Estevam) - Parse bus-range property from devicetree (Lucas Stach) - Use pci_create_root_bus() instead of pci_scan_root_bus() (Lucas Stach) - Remove pci_assign_unassigned_resources() (Lucas Stach) - Check private_data validity in single place (Lucas Stach) - Setup and clear exactly one MSI at a time (Lucas Stach) - Remove open-coded bitmap operations (Lucas Stach) - Fix configuration base address when using 'reg' (Minghuan Lian) - Fix IO resource end address calculation (Minghuan Lian) - Rename get_msi_data() to get_msi_addr() (Minghuan Lian) - Add get_msi_data() to pcie_host_ops (Minghuan Lian) - Add support for v3.65 hardware (Murali Karicheri) - Fold struct pcie_port_info into struct pcie_port (Pratyush Anand) TI Keystone - Add TI Keystone PCIe driver (Murali Karicheri) - Limit MRSS for all downstream devices (Murali Karicheri) - Assume controller is already in RC mode (Murali Karicheri) - Set device ID based on SoC to support multiple ports (Murali Karicheri) Xilinx AXI - Add Xilinx AXI PCIe driver (Srikanth Thokala) - Fix xilinx_pcie_assign_msi() return value test (Dan Carpenter) Miscellaneous - Clean up whitespace (Quentin Lambert) - Remove assignments from "if" conditions (Quentin Lambert) - Move PCI_VENDOR_ID_VMWARE to pci_ids.h (Francesco Ruggeri) - x86: Mark DMI tables as initialization data (Mathias Krause) - x86: Move __init annotation to the correct place (Mathias Krause) - x86: Mark constants of pci_mmcfg_nvidia_mcp55() as __initconst (Mathias Krause) - x86: Constify pci_mmcfg_probes[] array (Mathias Krause) - x86: Mark PCI BIOS initialization code as such (Mathias Krause) - Parenthesize PCI_DEVID and PCI_VPD_LRDT_ID parameters (Megan Kamiya) - Remove unnecessary variable in pci_add_dynid() (Tobias Klauser)" * tag 'pci-v3.18-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (109 commits) arm64: dts: Add APM X-Gene PCIe device tree nodes PCI: Add ACS quirk for AMD A88X southbridge devices PCI: xgene: Add APM X-Gene PCIe driver PCI: designware: Remove open-coded bitmap operations PCI/MSI: Remove unnecessary temporary variable PCI/MSI: Use __write_msi_msg() instead of write_msi_msg() MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg() PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg() PCI/MSI: Add "msi_bus" sysfs MSI/MSI-X control for endpoints PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib PCI/MSI: Remove unused kobject from struct msi_desc PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported() PCI/MSI: Move D0 check into pci_msi_check_device() PCI/MSI: Remove arch_msi_check_device() irqchip: armada-370-xp: Remove arch_msi_check_device() PCI/MSI/PPC: Remove arch_msi_check_device() arm64: Add architectural support for PCI PCI: Add pci_remap_iospace() to map bus I/O resources of/pci: Add support for parsing PCI host bridge resources from DT of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr() ... Conflicts: arch/arm64/boot/dts/apm-storm.dtsi commit ea584595fc85e65796335033dfca25ed655cd0ed Merge: 782d59c a092e19 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 14:58:15 2014 -0400 Merge tag 'gpio-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO changes from Linus Walleij: "This is the bulk of GPIO changes for the v3.18 development cycle: - Increase the default ARCH_NR_GPIO from 256 to 512. This was done to avoid having a custom <asm/gpio.h> header for the x86 architecture - GPIO is custom and complicated enough as it is already! We want to move to a radix to store the descriptors going forward, and finally get rid of this fixed array size altogether. - Endgame patching of the gpio_remove() semantics initiated by Abdoulaye Berthe. It is not accepted by the system that the removal of a GPIO chip fails during eg reboot or shutdown, and therefore the return value has now painfully been refactored away. For special cases like GPIO expanders on a hot-pluggable bus like USB, we may later add some gpiochip_try_remove() call, but for the cases we have now, return values are moot. - Some incremental refactoring of the gpiolib core and ACPI GPIO library for more descriptor usage. - Refactor the chained IRQ handler set-up method to handle also threaded, nested interrupts and set up the parent IRQ correctly. Switch STMPE and TC3589x drivers to use this registration method. - Add a .irq_not_threaded flag to the struct gpio_chip, so that also GPIO expanders that block but are still not using threaded IRQ handlers. - New drivers for the ARM64 X-Gene SoC GPIO controller. - The syscon GPIO driver has been improved to handle the "DSP GPIO" found on the TI Keystone 2 SoC:s. - ADNP driver switched to use gpiolib irqchip helpers. - Refactor the DWAPB driver to support being instantiated from and MFD cell (platform device). - Incremental feature improvement in the Zynq, MCP23S08, DWAPB, OMAP, Xilinx and Crystalcove drivers. - Various minor fixes" * tag 'gpio-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (52 commits) gpio: pch: Build context save/restore only for PM pinctrl: abx500: get rid of unused variable gpio: ks8695: fix 'else should follow close brace '}'' gpio: stmpe: add verbose debug code gpio: stmpe: fix up interrupt enable logic gpio: staticize xway_stp_init() gpio: handle also nested irqchips in the chained handler set-up gpio: set parent irq on chained handlers gpiolib: irqchip: use irq_find_mapping while removing irqchip gpio: crystalcove: support virtual GPIO pinctrl: bcm281xx: make Kconfig dependency more strict gpio: kona: enable only on BCM_MOBILE or for compile testing gpio, bcm-kona, LLVMLinux: Remove use of __initconst gpio: Fix ngpio in gpio-xilinx driver gpio: dwapb: fix pointer to integer cast gpio: xgene: Remove unneeded #ifdef CONFIG_OF guard gpio: xgene: Remove unneeded forward declation for struct xgene_gpio gpio: xgene: Fix missing spin_lock_init() gpio: ks8695: fix switch case indentation gpiolib: add irq_not_threaded flag to gpio_chip ... commit b16ccfe02313acd829debfccac45531f45d797cd Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Oct 9 11:28:34 2014 -0700 ARM: dts: Disable smc91x on n900 until bootloader dependency is removed I added smc91x support but turns out we currently do not set the smc91x timings in gpmc.c but rely on the bootloader timings. This produces the following error unless the smc91x GPMC timings are initialized by the bootloader: Unhandled fault: external abort on non-linefetch (0x1008) at 0xd080630e ... [<c04067fc>] (smc_drv_probe) from [<c038e9c4>] (platform_drv_probe+0x2c/0x5c) [<c038e9c4>] (platform_drv_probe) from [<c038d450>] (driver_probe_device+0x104/0x22c) [<c038d450>] (driver_probe_device) from [<c038d60c>] (__driver_attach+0x94/0x98) [<c038d60c>] (__driver_attach) from [<c038bc3c>] (bus_for_each_dev+0x54/0x88) [<c038bc3c>] (bus_for_each_dev) from [<c038cc3c>] (bus_add_driver+0xd8/0x1d8) [<c038cc3c>] (bus_add_driver) from [<c038dd74>] (driver_register+0x78/0xf4) [<c038dd74>] (driver_register) from [<c0008924>] (do_one_initcall+0x80/0x1c0) [<c0008924>] (do_one_initcall) from [<c0852d9c>] (kernel_init_freeable+0x1b8/0x28c) [<c0852d9c>] (kernel_init_freeable) from [<c05ce86c>] (kernel_init+0x8/0xec) [<c05ce86c>] (kernel_init) from [<c000e728>] (ret_from_fork+0x14/0x2c) Let's fix the issue by disabling the smc91x module for now until we have sorted out the issues in gpmc.c. Reported-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5c86c5339c566d943606f551332e0efa8cf87d03 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Oct 9 11:28:34 2014 -0700 ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3 Somehow we don't have this set in omap2plus_defconfig. Without this apps can segfault randomly on omap3. I can reproduce this easily on am37xx-evm by doing apt-get update over NFSroot. Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a66d05d504a24894a8fdf11e4569752f313e5764 Merge: bfe01a5 5563caa Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 9 14:00:54 2014 -0300 Merge branch 'patchwork' into v4l_for_linus * patchwork: (544 commits) [media] ir-hix5hd2: fix build on c6x arch [media] pt3: fix DTV FE I2C driver load error paths Revert "[media] media: em28xx - remove reset_resume interface" [media] exynos4-is: fix some warnings when compiling on arm64 [media] usb drivers: use %zu instead of %zd [media] pci drivers: use %zu instead of %zd [media] dvb-frontends: use %zu instead of %zd [media] s5p-mfc: Fix several printk warnings [media] s5p_mfc_opr: Fix warnings [media] ti-vpe: Fix typecast [media] s3c-camif: fix dma_addr_t printks [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64 [media] em28xx: Fix identation [media] drxd: remove a dead code [media] saa7146: remove return after BUG() [media] cx88: remove return after BUG() [media] cx88: fix cards table CodingStyle [media] radio-sf16fmr2: declare some structs as static [media] radio-sf16fmi: declare pnp_attached as static ... Conflicts: Documentation/DocBook/media/v4l/compat.xml commit 5563caaf8b8cd22e35997d5d74cb3609df86b223 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 9 10:41:28 2014 -0300 [media] ir-hix5hd2: fix build on c6x arch While not all archs have readl_relaxed, we need to add a hack at the driver to allow it to COMPILE_TEST on all archs: drivers/media/rc/ir-hix5hd2.c: In function â??hix5hd2_ir_configâ??: drivers/media/rc/ir-hix5hd2.c:100:2: error: implicit declaration of function â??readl_relaxedâ?? [-Werror=implicit-function-declaration] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4ea062ed431d00153af0ac370cb6fef0620e5fa1 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 13:13:41 2014 -0300 perf evsel: Add hists helper Not all tools need a hists instance per perf_evsel, so lets pave the way to remove evsel->hists while leaving a way to access the hists from a specially allocated evsel, one that comes with space at the end where lives the evsel. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-qlktkhe31w4mgtbd84035sr2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b8839b8c55f3fdd60dc36abcda7e0266aff7985c Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Wed Oct 8 18:26:13 2014 -0400 block: fix alignment_offset math that assumes io_min is a power-of-2 The math in both blk_stack_limits() and queue_limit_alignment_offset() assume that a block device's io_min (aka minimum_io_size) is always a power-of-2. Fix the math such that it works for non-power-of-2 io_min. This issue (of alignment_offset != 0) became apparent when testing dm-thinp with a thinp blocksize that matches a RAID6 stripesize of 1280K. Commit fdfb4c8c1 ("dm thin: set minimum_io_size to pool's data block size") unlocked the potential for alignment_offset != 0 due to the dm-thin-pool's io_min possibly being a non-power-of-2. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit addff1feb02b03cb766b9a611c6b2cebf29bc285 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Oct 8 13:52:16 2014 -0400 tracing: Clean up scheduling in trace_wakeup_test_thread() Peter's new debugging tool triggers when tasks exit with !TASK_RUNNING. The code in trace_wakeup_test_thread() also has a single schedule() call that should be encompassed by a loop. This cleans up the code a little to make it a bit more robust and also makes the return exit properly with TASK_RUNNING. Link: http://lkml.kernel.org/p/20141008135216.76142204@xxxxxxxxxxxxxxxxxx Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 49c23f2d541ebf7ae5e9fff03301f4e7145cc979 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 11:45:42 2014 -0300 perf script: Stop updating hists stats, not used Not used here, remove to reduce perf_evsel/hists structs interaction. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-zzmoo39yalrl9hzu9nc2xqml@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b3f25b6e04495ace0851cf0b88514f41c7807af6 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 11:40:15 2014 -0300 perf sched: Stop updating hists stats, not used Not used here, remove to reduce perf_evsel/hists structs interaction. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-cb7wkk4a3jpoovzim914ih3c@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6174c2eb8ecef271159bdcde460ce8af54d8f72f Author: Jan Kara <jack@xxxxxxx> Date: Thu Oct 9 12:52:16 2014 +0200 udf: Fix loading of special inodes Some UDF media have special inodes (like VAT or metadata partition inodes) whose link_count is 0. Thus commit 4071b9136223 (udf: Properly detect stale inodes) broke loading these inodes because udf_iget() started returning -ESTALE for them. Since we still need to properly detect stale inodes queried by NFS, create two variants of udf_iget() - one which is used for looking up special inodes (which ignores link_count == 0) and one which is used for other cases which return ESTALE when link_count == 0. Fixes: 4071b913622316970d0e1919f7d82b4403fec5f2 CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> commit 782d59c5dfc5ac39ac8cfb4c6dd40597938dde9c Merge: 47137c6 2828c9c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 06:42:04 2014 -0400 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq updates from Thomas Gleixner: "The irq departement delivers: - a cleanup series to get rid of mindlessly copied code. - another bunch of new pointlessly different interrupt chip drivers. Adding homebrewn irq chips (and timers) to SoCs must provide a value add which is beyond the imagination of mere mortals. - the usual SoC irq controller updates, IOW my second cat herding project" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits) irqchip: gic-v3: Implement CPU PM notifier irqchip: gic-v3: Refactor gic_enable_redist to support both enabling and disabling irqchip: renesas-intc-irqpin: Add minimal runtime PM support irqchip: renesas-intc-irqpin: Add helper variable dev = &pdev->dev irqchip: atmel-aic5: Add sama5d4 support irqchip: atmel-aic5: The sama5d3 has 48 IRQs Documentation: bcm7120-l2: Add Broadcom BCM7120-style L2 binding irqchip: bcm7120-l2: Add Broadcom BCM7120-style Level 2 interrupt controller irqchip: renesas-irqc: Add binding docs for new R-Car Gen2 SoCs irqchip: renesas-irqc: Add DT binding documentation irqchip: renesas-intc-irqpin: Document SoC-specific bindings openrisc: Get rid of handle_IRQ arm64: Get rid of handle_IRQ ARM: omap2: irq: Convert to handle_domain_irq ARM: imx: tzic: Convert to handle_domain_irq ARM: imx: avic: Convert to handle_domain_irq irqchip: or1k-pic: Convert to handle_domain_irq irqchip: atmel-aic5: Convert to handle_domain_irq irqchip: atmel-aic: Convert to handle_domain_irq irqchip: gic-v3: Convert to handle_domain_irq ... commit 47137c6ba1bcde30215795f9594cea770946456b Merge: afa3536 867f667 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 06:35:05 2014 -0400 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer updates from Thomas Gleixner: "Nothing really exciting this time: - a few fixlets in the NOHZ code - a new ARM SoC timer abomination. One should expect that we have enough of them already, but they insist on inventing new ones. - the usual bunch of ARM SoC timer updates. That feels like herding cats" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: clocksource: arm_arch_timer: Consolidate arch_timer_evtstrm_enable clocksource: arm_arch_timer: Enable counter access for 32-bit ARM clocksource: arm_arch_timer: Change clocksource name if CP15 unavailable clocksource: sirf: Disable counter before re-setting it clocksource: cadence_ttc: Add support for 32bit mode clocksource: tcb_clksrc: Sanitize IRQ request clocksource: arm_arch_timer: Discard unavailable timers correctly clocksource: vf_pit_timer: Support shutdown mode ARM: meson6: clocksource: Add Meson6 timer support ARM: meson: documentation: Add timer documentation clocksource: sh_tmu: Document r8a7779 binding clocksource: sh_mtu2: Document r7s72100 binding clocksource: sh_cmt: Document SoC specific bindings timerfd: Remove an always true check nohz: Avoid tick's double reprogramming in highres mode nohz: Fix spurious periodic tick behaviour in low-res dynticks mode commit afa3536be88b435a057cb727b48fd3d760a497d2 Merge: 35a9ad8 9b01f5b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 06:30:57 2014 -0400 Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fixes from Ingo Molnar: "Main changes: - Fix the deadlock reported by Dave Jones et al - Clean up and fix nohz_full interaction with arch abilities - nohz init code consolidation/cleanup" * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: nohz: nohz full depends on irq work self IPI support nohz: Consolidate nohz full init code arm64: Tell irq work about self IPI support arm: Tell irq work about self IPI support x86: Tell irq work about self IPI support irq_work: Force raised irq work to run on irq work interrupt irq_work: Introduce arch_irq_work_has_interrupt() nohz: Move nohz full init call to tick init commit 583f958b8a23343c904ec0790c25c96f5f82d409 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Thu Oct 2 18:10:06 2014 +0200 ARM: dts: fix MMC2 regulators for Exynos5420 Arndale Octa board Regulators for MMC2 (SD card) are PVDD_TFLASH_2V8 (LDO19) for vmmc and PVDD_APIO_MMCOFF_2V8 (LDO13) for vqmmc. Currently the device tree entry for MMC2 uses PVDD_PRE_1V8 (LDO10) for vmmc and vqmmc is not specified. Fix it. Without this patch: - "mmc: dw_mmc: use mmc_regulator_get_supply to handle regulators" patch causes a SD card detection to fail - "mmc: dw_mmc: Support voltage changes" patch causes a boot hang This patch fixes both above problems. Suggested-by: Doug Anderson <dianders@xxxxxxxxxx> Cc: Yuvaraj Kumar C D <yuvaraj.cd@xxxxxxxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Fixes: 0173055842cd ("mmc: dw_mmc: Support voltage changes") Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 33ac9dba859b07d40e9ec826057d20c857fdede5 Author: Maarten ter Huurne <maarten@xxxxxxxxxxxxxx> Date: Tue Sep 9 13:46:28 2014 +0200 fonts: Add 6x10 font This font is suitable for framebuffer consoles on devices with a 320x240 screen, to get a reasonable number of characters (53x24) that are still at a readable size. The font is derived from the existing 6x11 font, but gets 3 extra lines without sacrificing readability. Also I redesigned a some glyhps so they are more distinct and better fill the available space. Signed-off-by: Maarten ter Huurne <maarten@xxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 4ea48a01bb1a99f4185b77cd90cf962730336cc4 Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Mon Sep 29 12:41:56 2014 -0600 x86/build: Add arch/x86/purgatory/ make generated files to gitignore The following generated files are missing from gitignore and show up in git status after x86_64 build. Add them to gitignore. arch/x86/purgatory/kexec-purgatory.c arch/x86/purgatory/purgatory.ro Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1412016116-7213-1-git-send-email-shuahkh@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0cccdda8d1512af4d3f6913044e8c8e58e15ef37 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Oct 8 10:03:08 2014 +0200 s390/ftrace: simplify enabling/disabling of ftrace_graph_caller We can simply patch the mask field within the branch relative on condition instruction at the beginning of the ftrace_graph_caller code block. This makes the logic even simpler and we get rid of the displacement calculation. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 53255c9a4dade6ff2162121430d13aaadb38a69c Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Oct 7 15:45:10 2014 +0200 s390/ftrace: remove 31 bit ftrace support 31 bit and 64 bit diverge more and more and it is rather painful to keep both parts running. To make things simpler just remove the 31 bit support which nobody uses anyway. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a62bc0739253939d6fce40d51d92412252a9bb55 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 17:57:43 2014 +0200 s390/kdump: add support for vector extension With this patch for kdump the s390 vector registers are stored into the prepared save areas in the old kernel and into the REGSET_VX_LOW and REGSET_VX_HIGH ELF notes for /proc/vmcore in the new kernel. The NT_S390_VXRS_LOW note contains the lower halves of the first 16 vector registers 0-15. The higher halves are stored in the floating point register ELF note. The NT_S390_VXRS_HIGH contains the full vector registers 16-31. The kernel provides a save area for storing vector register in case of machine checks. A pointer to this save are is stored in the CPU lowcore at offset 0x11b0. This save area is also used to save the registers for kdump. In case of a dumped crashed kdump those areas are used to extract the registers of the production system. The vector registers for remote CPUs are stored using the "store additional status at address" SIGP. For the dump CPU the vector registers are stored with the VSTM instruction. With this patch also zfcpdump stores the vector registers. Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3585cb0280654acbc559a360a839c8d58bb0cb87 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Oct 6 17:54:42 2014 +0200 s390/disassembler: add vector instructions Add the instruction introduced with the vector extension to the in-kernel disassembler. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8070361799ae1e3f4ef347bd10f0a508ac10acfb Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Oct 6 17:53:53 2014 +0200 s390: add support for vector extension The vector extension introduces 32 128-bit vector registers and a set of instruction to operate on the vector registers. The kernel can control the use of vector registers for the problem state program with a bit in control register 0. Once enabled for a process the kernel needs to retain the content of the vector registers on context switch. The signal frame is extended to include the vector registers. Two new register sets NT_S390_VXRS_LOW and NT_S390_VXRS_HIGH are added to the regset interface for the debugger and core dumps. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 42f4dd613fe808676126472bbe1283e452201148 Author: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Date: Thu Oct 2 14:48:46 2014 +0200 s390/zcrypt: Toleration of new crypto hardware The zcrypt device driver will accept the new crypto adapter in toleration mode. A new sysfs attribute 'raw_hwtype' will expose the raw hardware type. Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Signed-off-by: Harald Freudenberger <freude@xxxxxxxxxxxxxxxxxx> commit b5f87f15e20092c060f465b283b07a76af7f2e5f Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Oct 1 10:57:57 2014 +0200 s390/idle: consolidate idle functions and definitions Move the C functions and definitions related to the idle state handling to arch/s390/include/asm/idle.h and arch/s390/kernel/idle.c. The function s390_get_idle_time is renamed to arch_cpu_idle_time and vtime_stop_cpu to enabled_wait. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit fe0f49768d807a8fe6336b097feb8c4441951710 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Sep 30 17:37:52 2014 +0200 s390/nohz: use a per-cpu flag for arch_needs_cpu Move the nohz_delay bit from the s390_idle data structure to the per-cpu flags. Clear the nohz delay flag in __cpu_disable and remove the cpu hotplug notifier that used to do this. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a9b1649917f0d2058022eda06082f9d299a06354 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Oct 1 10:44:40 2014 +0200 s390/vtime: do not reset idle data on CPU hotplug The sysfs attributes /sys/devices/system/cpu/cpu0/idle_count and /sys/devices/system/cpu/cpu0/idle_time_us are reset to zero every time a CPU is set online. The idle and iowait fields in /proc/stat corresponding to idle_time_us are not reset. To make things consistent do not reset the data for the sys attributes. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5db8440c36a3308649b99f65b68195394dd7fed4 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Wed Oct 1 14:39:47 2014 +0200 s390/dasd: add support for control unit initiated reconfiguration Add support for Control Unit Initiated Reconfiguration (CUIR) to Linux, a storage server interface to reconcile concurrent hardware changes between storage and host. Reviewed-by: Stefan Weinhuber <wein@xxxxxxxxxx> Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 362ce84f43aac61589a8b60e5bb3fcfae9801b13 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Wed Oct 1 13:04:54 2014 +0200 s390/dasd: fix infinite loop during format Error recovery requests may not be cleaned up correctly so that other needed erp requests can not be build because of insufficient memory. This would lead to an infinite loop trying to build erp requests. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 78eda2bb6542057b214af3bc1cae09c63e65d1d1 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:35 2014 +0300 IB/mlx5, iser, isert: Add Signature API additions Expose more signature setting parameters. We modify the signature API to allow usage of some new execution parameters relevant to data integrity feature. This patch modifies ib_sig_domain structure by: - Deprecate DIF type in signature API (operation will be determined by the parameters alone, no DIF type awareness) - Add APPTAG check bitmask (for input domain) - Add REFTAG remap (increment) flag for each domain - Add APPTAG/REFTAG escape options for each domain The mlx5 driver is modified to follow the new parameters in HW signature setup. At the moment the callers (iser/isert) hard-code new parameters (by DIF type). In the future, callers will retrieve them from the scsi command structure. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 3d73cf1a2a05cca7b43f7a0c16d1077065b38385 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:34 2014 +0300 Target/iser: Centralize ib_sig_domain setting Later there will be more parameters to set, so we want to do it in a centralized place. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 92792c0a197db85e9d3039b59d2211ed0157e824 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:33 2014 +0300 IB/iser: Centralize ib_sig_domain settings Later there will be more parameters to set, so we want to do it in a centralized place. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 142537f4e5f7ffd3e34b0c46646ac9cb5d986d06 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:32 2014 +0300 IB/mlx5: Use extended internal signature layout Rather than using the basic BSF layout which utilizes a pre-configured signature settings (sufficient for current DIF implementation), we use the extended BSF layout to expose advanced signature settings. These settings will also be exposed to the user later. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit f043032ef1acd294e0360bec96c91b90dec7cc17 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:31 2014 +0300 IB/iser: Set IP_CSUM as default guard type In the future this will be a per-command parameter so we can lose it, but in the mean time IP_CSUM is a lot lighter for SW layers to compute, set it as default. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 6f5f8a016edf6c469d01c9bc563f6d74d12672d9 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:30 2014 +0300 IB/iser: Remove redundant assignment We clear the struct before - no need to do 0 assignment. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit fd22f78cf7b95102d8e5b988afe27165e47471fc Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:29 2014 +0300 IB/mlx5: Use enumerations for PI copy mask In case input and output space parameters match, we can use a copy mask from input and output space. Use enums for those. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit f39f86971c0cded8c2563e7dfd82c650ca9c0044 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Sun Sep 14 16:47:55 2014 +0300 IB/mlx5: Modify to work with arbitrary page size When dealing with umem objects, the driver assumed host page sizes defined by PAGE_SHIFT. Modify the code to use arbitrary page shift provided by umem->page_shift to support different page sizes. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit f83b42636a91e63f330ea90996646b4a885aca74 Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 16:47:54 2014 +0300 IB/mlx5: Remove duplicate code from mlx5_set_path Some of the fields were set twice. Re-organize to avoid that. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 1c3ce90d0acb0c661910dd84f416b3053e9710af Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 16:47:53 2014 +0300 IB/mlx5: Fix possible array overflow The check to verify that userspace does not provide an invalid index to the micro UAR was placed too late. Fix this by moving the check before using the index. Reported by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 377b513485fd885dea1083a9a5430df65b35e048 Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 16:47:52 2014 +0300 IB/core: Avoid leakage from kernel to user space Clear the reserved field of struct ib_uverbs_async_event_desc which is copied to user space. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Reviewed-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 900a6d79176ea9172e19f86aa324e9198b40339c Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 16:47:51 2014 +0300 IB/mlx5: Improve debug prints in mlx5_ib_reg_user_mr Print access flags and error code from ib_umem_get. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit eefd56e5895540ea78979b7845f76c9bb94c8fed Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 16:47:50 2014 +0300 IB/mlx5: Clear umr resources after ib_unregister_device Some ULPs may make use of resources created in create_umr_res so make sure to call destroy_umrc_res after returning from ib_unregister_device, which makes sure all ULPs have closed their resources. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit b261aeafe115256c9b4589dd7bd4ca877eb0fa6c Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:17 2014 +0300 IB/iser: Bump version, add maintainer Update the driver version and add Sagi Grimberg as maintainer Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit dc05ac36f729b9f53465ad6e6985129470fa7fcd Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:16 2014 +0300 IB/iser: Fix/add kernel-doc style description in iscsi_iser.c This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit cd88621a9e91ee791dee321cb81a45cb357855ee Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:15 2014 +0300 IB/iser: Add/Fix kernel doc style descriptions in iscsi_iser.h - iser_hdr - iser_data_buf - iser_mem_reg - iser_regd_buf - iser_tx_desc - iser_rx_desc - iser_device - iser_pi_context - iser_conn - ib_conn - iser_comp - iscsi_iser_task - iser_global While we're at it, change nit alignments in this file This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit e9d49b82f1ff3f966af70d20b04bb0fae4432c24 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:14 2014 +0300 IB/iser: Nit - add space after __func__ in iser logging Change logging: "iser:XXXX" to "iser: XXXX" Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit bba0a3c9d7bd7f49ae38e7dfd87f6ee78c91317a Author: Ariel Nahum <arieln@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:13 2014 +0300 IB/iser: Change iscsi_conn_stop log level to info Match to the debug level of all functions in connect/disconnect flows. Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 6df5a128f0fde6315a44e80b30412997147f5efd Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:12 2014 +0300 IB/iser: Suppress scsi command send completions Singal completion of every 32 scsi commands and suppress all the rest. We don't do anything upon getting the completion so no need to "just consume" it. Cleanup of scsi command is done in cleanup_task callback. Still keep dataout and control send completions as we may need to cleanup there. This helps reducing the amount of interrupts/completions in the IO path. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 6e6fe2fb1d61b4baef1cf350049c6877583681ee Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:11 2014 +0300 IB/iser: Optimize completion polling Poll in batch of 16. Since we don't want it on the stack, keep under iser completion context (iser_comp). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit ff3dd52d267165347d6f92a90016e692d074a00c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:10 2014 +0300 IB/iser: Use beacon to indicate all completions were consumed Avoid post_send counting (atomic) in the IO path just to keep track of how many completions we need to consume. Use a beacon post to indicate that all prior posts completed. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 6aabfa76f5e5281e5db128a34420d8f33b8574f7 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:09 2014 +0300 IB/iser: Use single CQ for RX and TX This will solve a possible condition where we might miss TX completion (flush error) during session teardown. Since we are using a single CQ, we don't need to actively drain the TX CQ, instead just wait for flush_completion (when counters reach zero) and remove iser_poll_for_flush_errors(). This patch might introduce a minor performance regression on its own, but the next patches will enhance performance using a single CQ for RX and TX. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 183cfa434ec90897b1423ce4f916e8a237139133 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:08 2014 +0300 IB/iser: Use internal polling budget to avoid possible live-lock We need a way to guarentee that we don't stay in soft-IRQ context for too long. We might starve other pending CQ tasklets or worse lock against application trying to issue IO on the running CPU. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit bf17554035ab2aaf770321208ce48e69aab71cc8 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:07 2014 +0300 IB/iser: Centralize iser completion contexts Introduce iser_comp which centralizes all iser completion related items and is referenced by iser_device and each ib_conn. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit aea8f4df6da46add468c44875348e1045bffeeb7 Author: Ariel Nahum <arieln@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:06 2014 +0300 IB/iser: Use iser_warn instead of BUG_ON in iser_conn_release In case iscsid was violently killed (SIGKILL) during its error recovery stage, we may never get a connection teardown sequence for some of the old connections. No harm done, but when we try to unload the module we will need to cleanup all these connections. So we actually may end-up here - so it's not a BUG_ON(), just give a relaxed warning that this happened and continue with normal unload. BUG_ON() will cause segfault on module_exit and we don't want that. Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 8c204e69ced1a8c0d74f8b6d7a1393d055c5c4fa Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:05 2014 +0300 IB/iser: Signal iSCSI layer that transport is broken in error completions Previously we notified iscsi layer about the connection layer when we consumed all of our flush errors. This was racy as there was no guarentee that iscsi_conn wasn't terminated by then (which ends up in an invalid memory access). In case we got a non FLUSH error completion, we are guarenteed that iscsi_conn is still alive. We should notify iSCSI layer with iscsi_conn_failure to initiate error handling. While we are at it, add a nice kernel-doc style documentation. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 3a940daf6fa105d28b69cf3b7a3739a3777f4185 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:04 2014 +0300 IB/iser: Protect tasks cleanup in case IB device was already released Bailout in case a task cleanup (iscsi_iser_cleanup_task) is called after the IB device was removed (DEVICE_REMOVAL CM event). We also call iscsi_conn_stop with a lock taken to prevent DEVICE_REMOVAL and tasks cleanup from racing. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit ec370e2b63526931a65f4668626dbb43896788c6 Author: Ariel Nahum <arieln@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:03 2014 +0300 IB/iser: Unbind at conn_stop stage Previously we didn't need to unbind the iser_conn and iscsi_conn since we always relied on iscsi daemon to teardown the connection and never let it finish before we cleanup all that is needed in iser. This is not the case anymore (for DEVICE_REMOVAL event). So avoid any possible chance we cause iscsi_conn dereference after iscsi_conn was freed. We also call iser_conn_terminate (safe to call multiple times) just for the corner case of iscsi daemon stopping an old connection before invoking endpoint removal (might happen if it was violently killed). Notice we are unbinding under a lock - which is required. Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit c107a6c0cf1ab883ea87ca50136f4fc5204a4b82 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:02 2014 +0300 IB/iser: Don't bound release_work completions timeouts We no longer rely on iscsi connection teardown sequence, so no need to give a grace period and continue cleanup if it expired. Have iser_conn_release wait for full completion before freeing iser_conn. ib_completion: Guaranteed to come when: - Got DISCONNECTED/ADDR_CHANGE event or - iSCSI called ep_disconnect/conn_stop Guaranteed to finish when: - Got TIMEWAIT_EXIT/DEVICE_REMOVAL event - All Flush errors are consumed - IB related resources are destroyed stop_completion: Guaranteed to come when: - iSCSI calls conn_stop Guaranteed to finish when: - All inflight tasks were cleaned up Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit c47a3c9ed5be167f49a6fd3f696dac03536282eb Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:01 2014 +0300 IB/iser: Fix DEVICE REMOVAL handling in the absence of iscsi daemon iscsi daemon is in user-space, thus we can't rely on it to be invoked at connection teardown (if not running or does not receive CPU time). This patch addresses the issue by re-structuring iSER connection teardown logic and CM events handling. The CM events will dictate the RDMA resources destruction (ib_conn) and iser_conn is kept around as long as iscsi_conn is left around allowing iscsi/iser callbacks to continue after RDMA transport was destroyed. This patch introduces a separation in logic when handling CM events: - DISCONNECTED_HANDLER, ADDR_CHANGED This events indicate the start of teardown process. Actions: 1. Terminate the connection: rdma_disconnect (send DREQ/DREP) 2. Notify iSCSI of connection failure 3. Change state to TERMINATING 4. Poll for all flush errors to be consumed - TIMEWAIT_EXIT, DEVICE_REMOVAL These events indicate the final stage of termination process and we can free RDMA related resources. Actions: 1. Call disconnected handler (we are not guaranteed that DISCONNECTED event was invoked in the past) 2. Cleanup RDMA related resources 3. For DEVICE_REMOVAL return non-zero rc from cma_handler to implicitly destroy the cm_id (Can't rely on user-space, make sure we have forward progress) We replace flush_completion (indicate all flushes were consumed) with ib_completion (rdma resources were cleaned up). The iser_conn_release_work will wait for teardown completions: - conn_stop was completed (tasks were cleaned-up) - stop_completion - RDMA resources were destroyed - ib_completion And then will continue to free iser connection representation (iser_conn). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 96f15198c1457df29b51ed151b1e5b2a223d1346 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:00 2014 +0300 IB/iser: Extend iser_free_ib_conn_res() Put all connection IB related resources release in this routine. One exception is the cm_id which cannot be destroyed as the routine is protected by the state mutex. Also move its position to avoid forward declaration. While at it fix qp NULL assignment. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 6bb0279f95dc74082184d91b65743b295a2a11a6 Author: Roi Dayan <roid@xxxxxxxxxxxx> Date: Wed Oct 1 14:01:59 2014 +0300 IB/iser: Remove unused variables and dead code Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit a4ee3539f6e2955815b93350bbce01e8915d27f8 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:01:58 2014 +0300 IB/iser: Re-introduce ib_conn Structure that describes the RDMA relates connection objects. Static member of iser_conn. This patch does not change any functionality Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 5716af6e5234402b2017f41beb36c086201fae42 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:01:57 2014 +0300 IB/iser: Rename ib_conn -> iser_conn Two reasons why we choose to do this: 1. No point today calling struct iser_conn by another name ib_conn 2. In the next patches we will restructure iser control plane representation - struct iser_conn: connection logical representation - struct ib_conn: connection RDMA layout representation This patch does not change any functionality. Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit fd19bda491207f66d39aeba93487197a087bc00b Merge: 6273143 3e28e37 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 9 08:39:25 2014 +0200 Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull additional commits for locktorture, from Paul E. McKenney. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 24dff96a37a2ca319e75a74d3929b2de22447ca6 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 23:44:00 2014 -0400 fix misuses of f_count() in ppp and netlink we used to check for "nobody else could start doing anything with that opened file" by checking that refcount was 2 or less - one for descriptor table and one we'd acquired in fget() on the way to wherever we are. That was race-prone (somebody else might have had a reference to descriptor table and do fget() just as we'd been checking) and it had become flat-out incorrect back when we switched to fget_light() on those codepaths - unlike fget(), it doesn't grab an extra reference unless the descriptor table is shared. The same change allowed a race-free check, though - we are safe exactly when refcount is less than 2. It was a long time ago; pre-2.6.12 for ioctl() (the codepath leading to ppp one) and 2.6.17 for sendmsg() (netlink one). OTOH, netlink hadn't grown that check until 3.9 and ppp used to live in drivers/net, not drivers/net/ppp until 3.1. The bug existed well before that, though, and the same fix used to apply in old location of file. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 821cc3070ff54e39ab6624c843f1905d737d9ac0 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 23:57:58 2014 -0400 ncpfs: use list_for_each_entry() for d_subdirs walk Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5e6123f3477e4260fb14392f0a88f1a842fa4d42 Author: Seunghun Lee <waydi1@xxxxxxxxx> Date: Sun Sep 14 22:15:10 2014 +0900 vfs: move getname() from callers to do_mount() It would make more sense to pass char __user * instead of char * in callers of do_mount() and do getname() inside do_mount(). Suggested-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4d93bc3e81736ce55c79d9cae743bab4f89b4f9c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 18:21:05 2014 -0400 gfs2_atomic_open(): skip lookups on hashed dentry hashed dentry can be passed to ->atomic_open() only if a) it has just passed revalidation and b) it's negative Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 18c85d09dcd14342cd4891d016f4086095160573 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 19:29:32 2014 -0400 [infiniband] remove pointless assignments Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fb6c3225b49d389ff4a9a454fc8c3f3642632744 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 13:37:56 2014 -0400 gadgetfs: saner API for gadgetfs_create_file() return dentry, not inode. dev->inode is never used by anything, don't bother with storing it. Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1bb27cacf4992b77556ed4487f99c76c4af3b43d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 13:32:19 2014 -0400 f_fs: saner API for ffs_sb_create_file() make it return dentry instead of inode Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9bb8730ed3d2658c6dd49b7f811231e2a0a2e3ed Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 23:53:04 2014 -0400 jfs: don't hash direct inode hlist_add_fake(inode->i_hash), same as for the rest of special ones... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6b933de642d2726245df98d076cff09bf4d34dde Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 19:42:14 2014 -0400 [s390] remove pointless assignment of ->f_op in vmlogrdr ->open() The only way we can get to that function is from misc_open(), after the latter has set file->f_op to exactly the same value we are (re)assigning there. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c2e3f5d5f4620bb6568bc559f712ce80222e20cb Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:31:28 2014 -0400 ecryptfs: ->f_op is never NULL Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 765d368217715c794f767d396d8cea16502d823f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:29:40 2014 -0400 android: ->f_op is never NULL Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3cfb2face6205d30ecfc0145d68cd9e0c3dfe6f1 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 31 15:06:09 2014 -0400 nouveau: __iomem misannotations Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e983094d6dce524f3890edfec44b7ca6dbfa1183 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 31 14:12:09 2014 -0400 missing annotation in fs/file.c Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b8850d1fa8e2f6653e57daf6d08e58c5f5eb2c85 Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Date: Thu Aug 28 11:26:03 2014 -0600 fs: namespace: suppress 'may be used uninitialized' warnings The gcc version 4.9.1 compiler complains Even though it isn't possible for these variables to not get initialized before they are used. fs/namespace.c: In function â??SyS_mountâ??: fs/namespace.c:2720:8: warning: â??kernel_devâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags, ^ fs/namespace.c:2699:8: note: â??kernel_devâ?? was declared here char *kernel_dev; ^ fs/namespace.c:2720:8: warning: â??kernel_typeâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags, ^ fs/namespace.c:2697:8: note: â??kernel_typeâ?? was declared here char *kernel_type; ^ Fix the warnings by simplifying copy_mount_string() as suggested by Al Viro. Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8ba7f6c2faada3ad553518b9febbdce7a988359b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 12:37:29 2014 -0400 saner perf_atoll() That loop in there is both anti-idiomatic *and* completely pointless. strtoll() is there for purpose; use it and compare what's left with acceptable suffices. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 849f3127bb46ef75a66dffc1b9b0d3f5f43fa395 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 23 12:23:53 2014 -0400 switch /dev/kmsg to ->write_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cd678fce428018dee0c9345ed63ebf9920d9902f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 23 12:20:37 2014 -0400 switch logger to ->write_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 512b2268156a4e15ebf897f9a883bdee153a54b7 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 23 11:28:14 2014 -0400 switch hci_vhci to ->write_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 13ba33e89991f6c020a36cfac0001dd54281e67c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 18 10:04:12 2014 -0400 switch /dev/zero and /dev/full to ->read_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a1f6dbac629e36f89a1332b5ae773b831c136ee9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 20 11:05:50 2014 -0400 dma-buf: don't open-code atomic_long_read() ... not to mention that even atomic_long_read() is too low-level here - there's file_count(). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8e3fb059ae7c246ff906c3b988d0de1d66809e84 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 14:42:04 2014 -0400 rsxx debugfs inanity check with the author of that horror... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d88c242623e90c99864317baae1e192bece2af57 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 12:08:37 2014 -0400 carma-fpga: switch to simple_read_from_buffer() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1a37f5ecb707aded73133e14b58102343de56bbd Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 12:06:18 2014 -0400 carma-fpga: switch to fixed_size_llseek() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2ec3a12a667847d303d4d0c0576d5ff388052b48 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 11:48:09 2014 -0400 cachefiles_write_page(): switch to __kernel_write() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 594822918de20bf3a50afbc4de65b6f2971a92db Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 11:28:35 2014 -0400 vme: don't open-code fixed_size_llseek() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 91360b02ab483fc96a70b8c3016838f5d3725f99 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 11:08:22 2014 -0400 ashmem: use vfs_llseek() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4b8e992392a2468f90ae8b5b9f3e95c5f54a61c9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 20:17:38 2014 -0400 9p: switch to %p[dD] Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 35c265e008b2c4e56765f07d47750d13f95a55c1 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 20:25:34 2014 -0400 cifs: switch to use of %p[dD] Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c2ca0fcd202863b14bd041a7fece2e789926c225 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Sun Jul 27 13:00:41 2014 -0400 fs: make cont_expand_zero interruptible This patch makes it possible to kill a process looping in cont_expand_zero. A process may spend a lot of time in this function, so it is desirable to be able to kill it. It happened to me that I wanted to copy a piece data from the disk to a file. By mistake, I used the "seek" parameter to dd instead of "skip". Due to the "seek" parameter, dd attempted to extend the file and became stuck doing so - the only possibility was to reset the machine or wait many hours until the filesystem runs out of space and cont_expand_zero fails. We need this patch to be able to terminate the process. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c35e02480014f7a86e264a2fda39a568690163da Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Fri Aug 1 09:27:22 2014 -0400 Add copy_to_iter(), copy_from_iter() and iov_iter_zero() For DAX, we want to be able to copy between iovecs and kernel addresses that don't necessarily have a struct page. This is a fairly simple rearrangement for bvec iters to kmap the pages outside and pass them in, but for user iovecs it gets more complicated because we might try various different ways to kmap the memory. Duplicating the existing logic works out best in this case. We need to be able to write zeroes to an iovec for reads from unwritten ranges in a file. This is performed by the new iov_iter_zero() function, again patterned after the existing code that handles iovec iterators. [AV: and export the buggers...] Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 475d0db742e3755c6b267f48577ff7cbb7dfda0d Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sat May 17 20:56:38 2014 +0900 fs: Fix theoretical division by 0 in super_cache_scan(). total_objects could be 0 and is used as a denom. While total_objects is a "long", total_objects == 0 unlikely happens for 3.12 and later kernels because 32-bit architectures would not be able to hold (1 << 32) objects. However, total_objects == 0 may happen for kernels between 3.1 and 3.11 because total_objects in prune_super() was an "int" and (e.g.) x86_64 architecture might be able to hold (1 << 32) objects. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: stable <stable@xxxxxxxxxx> # 3.1+ Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b8314f9303a985354f445763960c0db2d7948891 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Mon Aug 11 11:46:53 2014 +0900 dcache: Fix no spaces at the start of a line in dcache.c Fixed coding style in dcache.c Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 99358a1ca53e8e6ce09423500191396f0e6584d2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 20:13:40 2014 +0100 [jffs2] kill wbuf_queued/wbuf_dwork_lock schedule_delayed_work() happening when the work is already pending is a cheap no-op. Don't bother with ->wbuf_queued logics - it's both broken (cancelling ->wbuf_dwork leaves it set, as spotted by Jeff Harris) and pointless. It's cheaper to let schedule_delayed_work() handle that case. Reported-by: Jeff Harris <jefftharris@xxxxxxxxx> Tested-by: Jeff Harris <jefftharris@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4e07ad6406d8137cc5aa1317568408c461ee8ce8 Author: Kirill Smelkov <kirr@xxxxxxxxxx> Date: Thu Aug 14 15:25:10 2014 +0400 vfs: fix typo in s_op->alloc_inode() documentation The function which calls s_op->alloc_inode() is not inode_alloc(), but instead alloc_inode() which lives in fs/inode.c . The typo was there from the beginning from 5ea626aa (VFS: update documentation, 2005) - there was no standalone inode_alloc() for the whole kernel history. Cc: Pekka Enberg <penberg@xxxxxxxxxx> Signed-off-by: Kirill Smelkov <kirr@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1fa97e8b1f327059aa98089abd8c3378cdf43017 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed May 7 20:47:49 2014 -0400 constify file_inode() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 19d860a140beac48a1377f179e693abe86a9dac9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun May 4 20:11:36 2014 -0400 handle suicide on late failure exits in execve() in search_binary_handler() ... rather than doing that in the guts of ->load_binary(). [updated to fix the bug spotted by Shentino - for SIGSEGV we really need something stronger than send_sig_info(); again, better do that in one place] Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2926620145095ffb0350b2312ac9d0af8537796f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri May 30 11:39:02 2014 -0400 dcache.c: call ->d_prune() regardless of d_unhashed() the only in-tree instance checks d_unhashed() anyway, out-of-tree code can preserve the current behaviour by adding such check if they want it and we get an ability to use it in cases where we *want* to be notified of killing being inevitable before ->d_lock is dropped, whether it's unhashed or not. In particular, autofs would benefit from that. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 29355c3904e1765948c7721719a028b7eb5dfe1d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri May 30 11:25:30 2014 -0400 d_prune_alias(): just lock the parent and call __dentry_kill() The only reason for games with ->d_prune() was __d_drop(), which was needed only to force dput() into killing the sucker off. Note that lock_parent() can be called under ->i_lock and won't drop it, so dentry is safe from somebody managing to kill it under us - it won't happen while we are holding ->i_lock. __dentry_kill() is called only with ->d_lockref.count being 0 (here and when picked from shrink list) or 1 (dput() and dropping the ancestors in shrink_dentry_list()), so it will never be called twice - the first thing it's doing is making ->d_lockref.count negative and once that happens, nothing will increment it. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bbd5192412fdedbae00888316bfe350bf89d0458 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 10:24:23 2014 -0800 proc: Update proc_flush_task_mnt to use d_invalidate Now that d_invalidate always succeeds and flushes mount points use it in stead of a combination of shrink_dcache_parent and d_drop in proc_flush_task_mnt. This removes the danger of a mount point under /proc/<pid>/... becoming unreachable after the d_drop. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c143c2333c48f1430231b31a8c17e074b9b504eb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 10:19:10 2014 -0800 vfs: Remove d_drop calls from d_revalidate implementations Now that d_invalidate always succeeds it is not longer necessary or desirable to hard code d_drop calls into filesystem specific d_revalidate implementations. Remove the unnecessary d_drop calls and rely on d_invalidate to drop the dentries. Using d_invalidate ensures that paths to mount points will not be dropped. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5542aa2fa7f6cddb03c4ac3135e390adffda98ca Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 09:46:25 2014 -0800 vfs: Make d_invalidate return void Now that d_invalidate can no longer fail, stop returning a useless return code. For the few callers that checked the return code update remove the handling of d_invalidate failure. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1ffe46d11cc88479797b262f60d92e5fb461b411 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 09:39:37 2014 -0800 vfs: Merge check_submounts_and_drop and d_invalidate Now that d_invalidate is the only caller of check_submounts_and_drop, expand check_submounts_and_drop inline in d_invalidate. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9b053f3207e8887fed88162a339fdd4001abcdb2 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 09:34:30 2014 -0800 vfs: Remove unnecessary calls of check_submounts_and_drop Now that check_submounts_and_drop can not fail and is called from d_invalidate there is no longer a need to call check_submounts_and_drom from filesystem d_revalidate methods so remove it. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8ed936b5671bfb33d89bc60bdcc7cf0470ba52fe Author: Eric W. Biederman <ebiederman@xxxxxxxxxxx> Date: Tue Oct 1 18:33:48 2013 -0700 vfs: Lazily remove mounts on unlinked files and directories. With the introduction of mount namespaces and bind mounts it became possible to access files and directories that on some paths are mount points but are not mount points on other paths. It is very confusing when rm -rf somedir returns -EBUSY simply because somedir is mounted somewhere else. With the addition of user namespaces allowing unprivileged mounts this condition has gone from annoying to allowing a DOS attack on other users in the system. The possibility for mischief is removed by updating the vfs to support rename, unlink and rmdir on a dentry that is a mountpoint and by lazily unmounting mountpoints on deleted dentries. In particular this change allows rename, unlink and rmdir system calls on a dentry without a mountpoint in the current mount namespace to succeed, and it allows rename, unlink, and rmdir performed on a distributed filesystem to update the vfs cache even if when there is a mount in some namespace on the original dentry. There are two common patterns of maintaining mounts: Mounts on trusted paths with the parent directory of the mount point and all ancestory directories up to / owned by root and modifiable only by root (i.e. /media/xxx, /dev, /dev/pts, /proc, /sys, /sys/fs/cgroup/{cpu, cpuacct, ...}, /usr, /usr/local). Mounts on unprivileged directories maintained by fusermount. In the case of mounts in trusted directories owned by root and modifiable only by root the current parent directory permissions are sufficient to ensure a mount point on a trusted path is not removed or renamed by anyone other than root, even if there is a context where the there are no mount points to prevent this. In the case of mounts in directories owned by less privileged users races with users modifying the path of a mount point are already a danger. fusermount already uses a combination of chdir, /proc/<pid>/fd/NNN, and UMOUNT_NOFOLLOW to prevent these races. The removable of global rename, unlink, and rmdir protection really adds nothing new to consider only a widening of the attack window, and fusermount is already safe against unprivileged users modifying the directory simultaneously. In principle for perfect userspace programs returning -EBUSY for unlink, rmdir, and rename of dentires that have mounts in the local namespace is actually unnecessary. Unfortunately not all userspace programs are perfect so retaining -EBUSY for unlink, rmdir and rename of dentries that have mounts in the current mount namespace plays an important role of maintaining consistency with historical behavior and making imperfect userspace applications hard to exploit. v2: Remove spurious old_dentry. v3: Optimized shrink_submounts_and_drop Removed unsued afs label v4: Simplified the changes to check_submounts_and_drop Do not rename check_submounts_and_drop shrink_submounts_and_drop Document what why we need atomicity in check_submounts_and_drop Rely on the parent inode mutex to make d_revalidate and d_invalidate an atomic unit. v5: Refcount the mountpoint to detach in case of simultaneous renames. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 80b5dce8c59b0de1ed6e403b8298e02dcb4db64b Author: Eric W. Biederman <ebiederman@xxxxxxxxxxx> Date: Thu Oct 3 01:31:18 2013 -0700 vfs: Add a function to lazily unmount all mounts from any dentry. The new function detach_mounts comes in two pieces. The first piece is a static inline test of d_mounpoint that returns immediately without taking any locks if d_mounpoint is not set. In the common case when mountpoints are absent this allows the vfs to continue running with it's same cacheline foot print. The second piece of detach_mounts __detach_mounts actually does the work and it assumes that a mountpoint is present so it is slow and takes namespace_sem for write, and then locks the mount hash (aka mount_lock) after a struct mountpoint has been found. With those two locks held each entry on the list of mounts on a mountpoint is selected and lazily unmounted until all of the mount have been lazily unmounted. v7: Wrote a proper change description and removed the changelog documenting deleted wrong turns. Signed-off-by: Eric W. Biederman <ebiederman@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e2dfa935464272395b4f35f4cc74ffcc87418b84 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Feb 24 17:32:34 2014 -0800 vfs: factor out lookup_mountpoint from new_mountpoint I am shortly going to add a new user of struct mountpoint that needs to look up existing entries but does not want to create a struct mountpoint if one does not exist. Therefore to keep the code simple and easy to read split out lookup_mountpoint from new_mountpoint. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0a5eb7c8189922e86a840972cd0b57e41de6f031 Author: Eric W. Biederman <ebiederman@xxxxxxxxxxx> Date: Sun Sep 22 19:37:01 2013 -0700 vfs: Keep a list of mounts on a mount point To spot any possible problems call BUG if a mountpoint is put when it's list of mounts is not empty. AV: use hlist instead of list_head Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: Eric W. Biederman <ebiederman@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7af1364ffa64db61e386628594836e13d2ef04b5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Oct 4 19:15:13 2013 -0700 vfs: Don't allow overwriting mounts in the current mount namespace In preparation for allowing mountpoints to be renamed and unlinked in remote filesystems and in other mount namespaces test if on a dentry there is a mount in the local mount namespace before allowing it to be renamed or unlinked. The primary motivation here are old versions of fusermount unmount which is not safe if the a path can be renamed or unlinked while it is verifying the mount is safe to unmount. More recent versions are simpler and safer by simply using UMOUNT_NOFOLLOW when unmounting a mount in a directory owned by an arbitrary user. Miklos Szeredi <miklos@xxxxxxxxxx> reports this is approach is good enough to remove concerns about new kernels mixed with old versions of fusermount. A secondary motivation for restrictions here is that it removing empty directories that have non-empty mount points on them appears to violate the rule that rmdir can not remove empty directories. As Linus Torvalds pointed out this is useful for programs (like git) that test if a directory is empty with rmdir. Therefore this patch arranges to enforce the existing mount point semantics for local mount namespace. v2: Rewrote the test to be a drop in replacement for d_mountpoint v3: Use bool instead of int as the return type of is_local_mountpoint Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bafc9b754f752ea798c39f9b099a228fd56604e0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 07:54:28 2014 -0800 vfs: More precise tests in d_invalidate The current comments in d_invalidate about what and why it is doing what it is doing are wildly off-base. Which is not surprising as the comments date back to last minute bug fix of the 2.2 kernel. The big fat lie of a comment said: If it's a directory, we can't drop it for fear of somebody re-populating it with children (even though dropping it would make it unreachable from that root, we still might repopulate it if it was a working directory or similar). [AV] What we really need to avoid is multiple dentry aliases of the same directory inode; on all filesystems that have ->d_revalidate() we either declare all positive dentries always valid (and thus never fed to d_invalidate()) or use d_materialise_unique() and/or d_splice_alias(), which take care of alias prevention. The current rules are: - To prevent mount point leaks dentries that are mount points or that have childrent that are mount points may not be be unhashed. - All dentries may be unhashed. - Directories may be rehashed with d_materialise_unique check_submounts_and_drop implements this already for well maintained remote filesystems so implement the current rules in d_invalidate by just calling check_submounts_and_drop. The one difference between d_invalidate and check_submounts_and_drop is that d_invalidate must respect it when a d_revalidate method has earlier called d_drop so preserve the d_unhashed check in d_invalidate. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3ccb354d641d910309b916b9c856e2a82ced7237 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Feb 12 16:08:06 2014 -0800 vfs: Document the effect of d_revalidate on d_find_alias d_drop or check_submounts_and_drop called from d_revalidate can result in renamed directories with child dentries being unhashed. These renamed and drop directory dentries can be rehashed after d_materialise_unique uses d_find_alias to find them. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9ea459e110df32e60a762f311f7939eaa879601d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 8 13:08:20 2014 -0400 delayed mntput On final mntput() we want fs shutdown to happen before return to userland; however, the only case where we want it happen right there (i.e. where task_work_add won't do) is MNT_INTERNAL victim. Those have to be fully synchronous - failure halfway through module init might count on having vfsmount killed right there. Fortunately, final mntput on MNT_INTERNAL vfsmounts happens on shallow stack. So we handle those synchronously and do an analog of delayed fput logics for everything else. As the result, we are guaranteed that fs shutdown will always happen on shallow stack. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b3ca406f2755c20cea1cc1169672c56dd03c266c Author: Ian Kent <raven@xxxxxxxxxx> Date: Wed Sep 10 09:56:22 2014 +0800 autofs - remove obsolete d_invalidate() from expire Biederman's umount-on-rmdir series changes d_invalidate() to sumarily remove mounts under the passed in dentry regardless of whether they are busy or not. So calling this in fs/autofs4/expire.c:autofs4_tree_busy() is definitely the wrong thing to do becuase it will silently umount entries instead of just cleaning stale dentrys. But this call shouldn't be needed and testing shows that automounting continues to function without it. As Al Viro correctly surmises the original intent of the call was to perform what shrink_dcache_parent() does. If at some time in the future I see stale dentries accumulating following failed mounts I'll revisit the issue and possibly add a shrink_dcache_parent() call if needed. Signed-off-by: Ian Kent <raven@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8d85b4845a668d9a72649005c5aa932657311bd4 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 14:54:27 2014 -0400 Allow sharing external names after __d_move() * external dentry names get a small structure prepended to them (struct external_name). * it contains an atomic refcount, matching the number of struct dentry instances that have ->d_name.name pointing to that external name. The first thing free_dentry() does is decrementing refcount of external name, so the instances that are between the call of free_dentry() and RCU-delayed actual freeing do not contribute. * __d_move(x, y, false) makes the name of x equal to the name of y, external or not. If y has an external name, extra reference is grabbed and put into x->d_name.name. If x used to have an external name, the reference to the old name is dropped and, should it reach zero, freeing is scheduled via kfree_rcu(). * free_dentry() in dentry with external name decrements the refcount of that name and, should it reach zero, does RCU-delayed call that will free both the dentry and external name. Otherwise it does what it used to do, except that __d_free() doesn't even look at ->d_name.name; it simply frees the dentry. All non-RCU accesses to dentry external name are safe wrt freeing since they all should happen before free_dentry() is called. RCU accesses might run into a dentry seen by free_dentry() or into an old name that got already dropped by __d_move(); however, in both cases dentry must have been alive and refer to that name at some point after we'd done rcu_read_lock(), which means that any freeing must be still pending. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ea97caeee2ba60d258292ffca0b2c4778eb6bc21 Merge: 59f35b8 d55398b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 9 01:40:56 2014 -0400 Merge branch 'gianfar' Claudiu Manoil says: ==================== gianfar: ARM port driver updates (1/2) This is the first round of driver portability fixes and clean-up with the main purpose to make gianfar portable on ARM, for the ARM based SoC that integrates the eTSEC ethernet controller - "ls1021a". The patches primarily address compile time errors, when compiling gianfar on ARM. They replace PPC specific functions and macros with architecture independent ones, solve arch specific header inclusions, guard code that relates to PPC only, and even address some simple endianess issues (see MAC address setup patch). The patches addressing the bulk of remaining endianess issues, like handling DMA fields (BD and FCB), will follow with the second round. ==================== Reviewed-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d55398ba81139bc826a8c2417a01280e99f08cf3 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:35 2014 +0300 gianfar: Replace eieio with wmb for non-PPC archs Replace PPC specific eieio() with arch independent wmb() for other architectures, i.e. ARM. The eieio() macro is not defined on ARM and generates build error. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4feee89ce4590c7a4aead49ca5a4853dc6ea5dc Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:34 2014 +0300 gianfar: Replace spin_event_timeout() with arch independent Use arch independent code to replace the powerpc dependent spin_event_timeout() from gfar_halt_nodisable(). Added GRS/GTS read accessors to clean-up the implementation of gfar_halt_nodisable(). Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83bfc3c4765c35ef0dfff8a3d6dedab88f3f50ea Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:33 2014 +0300 gianfar: Make MAC addr setup endian safe, cleanup Fix the 32-bit memory access that is not endian safe, i.e. not giving the desired byte layout for a LE CPU: tempval = *((u32 *) (tmpbuf + 4)), where 'char tmpbuf[]'. Get rid of rendundant local vars (tmpbuf[] and idx) and forced casts. Cleanup comments. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6ef0bcce386531f250a8abee3c3595214ea1629 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:32 2014 +0300 gianfar: Exclude PPC specific errata handling from ARM builds This excludes the PPC specific instructions for PPC based SoC (MPC85xx family) version identification from ARM builds. The PPC specific macro mfspr() from asm/reg.h is not defined by the ARM architecture. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd31a9528800b52c7a56a9cfa0af30b44dcfb0c9 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:31 2014 +0300 gianfar: Include missing headers for ARM builds Include linux/of_address.h for of_iomap() and linux/of_irq.h for irq_of_parse_and_map(). This wasn't an issue for PPC, because these were implicitly included from asm/prom.h (via linux/of.h) for PPC builds only. ARM builds need these includes explicitly. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4b081f543030fc0b23d2cd7d1f6e3ac69d7f47f Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:30 2014 +0300 net/fsl_pq_mdio: Replace spin_event_timeout() with arch independent spin_event_timeout() is PPC dependent, use an arch independent equivalent instead. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5bbd262e70ff2355ce4284b0ad9eaf93fb5e374 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:29 2014 +0300 net/fsl_pq_mdio: Use ioread/iowrite32be() portable accessors in_be32()/out_be32() are not defined by ARM. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a4cbd53b80862c1e57ed20d30468770699b776e Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:28 2014 +0300 net/fsl_pq_mdio: Fix asm/ucc.h compile error for ARM The UCC specific code included in fsl_pq_mdio.c (with function calls from asm/ucc.h) is already guarded by these config options, so this ARM build fix only provides consistency with the rest UCC specific code. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59f35b810e3bb17efef2aa5feadffb66450190d9 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 7 22:31:32 2014 +0200 netlabel: kernel-doc warning fix no secid argument in netlbl_cfg_unlbl_static_del Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Paul Moore <paul@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd1a2a90d08b0052fa52bd36cebd0592c9e537c2 Merge: c497d9f bdf20b4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 9 07:30:41 2014 +0200 Merge tag 'asoc-v3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v3.18 A few small fixes, mostly small although a few really nasty ones like the interaction between GPIO 0 and simple-card. commit 35a9ad8af0bb0fa3525e6d0d20e32551d226f38e Merge: d5935b0 64b1f00 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 21:40:54 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Pull networking updates from David Miller: "Most notable changes in here: 1) By far the biggest accomplishment, thanks to a large range of contributors, is the addition of multi-send for transmit. This is the result of discussions back in Chicago, and the hard work of several individuals. Now, when the ->ndo_start_xmit() method of a driver sees skb->xmit_more as true, it can choose to defer the doorbell telling the driver to start processing the new TX queue entires. skb->xmit_more means that the generic networking is guaranteed to call the driver immediately with another SKB to send. There is logic added to the qdisc layer to dequeue multiple packets at a time, and the handling mis-predicted offloads in software is now done with no locks held. Finally, pktgen is extended to have a "burst" parameter that can be used to test a multi-send implementation. Several drivers have xmit_more support: i40e, igb, ixgbe, mlx4, virtio_net Adding support is almost trivial, so export more drivers to support this optimization soon. I want to thank, in no particular or implied order, Jesper Dangaard Brouer, Eric Dumazet, Alexander Duyck, Tom Herbert, Jamal Hadi Salim, John Fastabend, Florian Westphal, Daniel Borkmann, David Tat, Hannes Frederic Sowa, and Rusty Russell. 2) PTP and timestamping support in bnx2x, from Michal Kalderon. 3) Allow adjusting the rx_copybreak threshold for a driver via ethtool, and add rx_copybreak support to enic driver. From Govindarajulu Varadarajan. 4) Significant enhancements to the generic PHY layer and the bcm7xxx driver in particular (EEE support, auto power down, etc.) from Florian Fainelli. 5) Allow raw buffers to be used for flow dissection, allowing drivers to determine the optimal "linear pull" size for devices that DMA into pools of pages. The objective is to get exactly the necessary amount of headers into the linear SKB area pre-pulled, but no more. The new interface drivers use is eth_get_headlen(). From WANG Cong, with driver conversions (several had their own by-hand duplicated implementations) by Alexander Duyck and Eric Dumazet. 6) Support checksumming more smoothly and efficiently for encapsulations, and add "foo over UDP" facility. From Tom Herbert. 7) Add Broadcom SF2 switch driver to DSA layer, from Florian Fainelli. 8) eBPF now can load programs via a system call and has an extensive testsuite. Alexei Starovoitov and Daniel Borkmann. 9) Major overhaul of the packet scheduler to use RCU in several major areas such as the classifiers and rate estimators. From John Fastabend. 10) Add driver for Intel FM10000 Ethernet Switch, from Alexander Duyck. 11) Rearrange TCP_SKB_CB() to reduce cache line misses, from Eric Dumazet. 12) Add Datacenter TCP congestion control algorithm support, From Florian Westphal. 13) Reorganize sk_buff so that __copy_skb_header() is significantly faster. From Eric Dumazet" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1558 commits) netlabel: directly return netlbl_unlabel_genl_init() net: add netdev_txq_bql_{enqueue, complete}_prefetchw() helpers net: description of dma_cookie cause make xmldocs warning cxgb4: clean up a type issue cxgb4: potential shift wrapping bug i40e: skb->xmit_more support net: fs_enet: Add NAPI TX net: fs_enet: Remove non NAPI RX r8169:add support for RTL8168EP net_sched: copy exts->type in tcf_exts_change() wimax: convert printk to pr_foo() af_unix: remove 0 assignment on static ipv6: Do not warn for informational ICMP messages, regardless of type. Update Intel Ethernet Driver maintainers list bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING tipc: fix bug in multicast congestion handling net: better IFF_XMIT_DST_RELEASE support net/mlx4_en: remove NETDEV_TX_BUSY 3c59x: fix bad split of cpu_to_le32(pci_map_single()) net: bcmgenet: fix Tx ring priority programming ... commit d53ba6b3bba33432cc37b7101a86f8f3392c46e7 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Thu Oct 9 11:17:46 2014 +1100 cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking If afu_read() returned due to a signal or the AFU file descriptor being opened non-blocking it would not call finish_wait() before returning, which could lead to a crash later when something else wakes up the wait queue. This patch restructures the wait logic to ensure that the cleanup is done correctly. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fe0e01c77dd9f7a60916aec2149d8a1182baf63c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Oct 8 18:51:10 2014 +0200 tracing: Robustify wait loop The pending nested sleep debugging triggered on the potential stale TASK_INTERRUPTIBLE in this code. While there, fix the loop such that we won't revert to a while(1) yield() 'spin' loop if we ever get a spurious wakeup. And fix the actual issue by properly terminating the 'wait' loop by setting TASK_RUNNING. Link: http://lkml.kernel.org/p/20141008165110.GA14547@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3fd83717e47687817f5d3e45696bf22456d8b422 Author: NeilBrown <neilb@xxxxxxx> Date: Sat Aug 23 20:19:26 2014 +1000 md: use set_bit/clear_bit instead of shift/mask for bi_flags changes. Using {set,clear}_bit is more consistent than shifting and masking. No functional change. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 5965b642ff1ba36d7a1a22df2b3c5e2cb0445e3a Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 4 15:51:44 2014 +1000 md/raid1: minor typos and reformatting. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 4b5060ddae2b03c5387321fafc089d242225697a Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 9 14:13:51 2014 +1000 md/bitmap: always wait for writes on unplug. If two threads call bitmap_unplug at the same time, then one might schedule all the writes, and the other might decide that it doesn't need to wait. But really it does. It rarely hurts to wait when it isn't absolutely necessary, and the current code doesn't really focus on 'absolutely necessary' anyway. So just wait always. This can potentially lead to data corruption if a crash happens at an awkward time and data was written before the bitmap was updated. It is very unlikely, but this should go to -stable just to be safe. Appropriate for any -stable. Signed-off-by: NeilBrown <neilb@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx (please delay until 3.18 is released) commit d5935b07da53f74726e2a65dd4281d0f2c70e5d4 Merge: f86dc4b 18ef9fe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:40:02 2014 -0400 Merge tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM64 SoC changes from Arnd Bergmann: "Starting with 3.18, we are merging SoC-specific changes for arm64 through the arm-soc tree, like we have been doing for arm32. This time, there is only one set of changes, adding support for the Cavium "Thunder" Soc family. Since the changes are relatively small, this includes Kconfig, defconfig and DT changes. If all goes well, we will never require adding actual C source code for platform support in arm64, given that the architecture is more clearly defined and we have moved out a lot of the platform specifics into device drivers for arm32 already" * tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: arm64, defconfig: Enable Cavium Thunder SoC in defconfig arm64, thunder: Add Kconfig option for Cavium Thunder SoC Family arm64, thunder: Document devicetree bindings for Cavium Thunder SoC arm64, thunder: Add initial dts for Cavium Thunder SoC commit f86dc4b04dd5292cae3708c16ca6e46dbb5c95fa Merge: 8b45bc8 a41988a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:38:52 2014 -0400 Merge tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC defconfig changes from Arnd Bergmann: "This is a collection of the various changes to defconfig files, most importantly enabling some additional platforms in the multi_v7_defconfig file" * tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits) ARM: configs: fix duplicate entry in multi_v7 ARM: multi_v7_defconfig: add missing Tegra options ARM: bcm2835: enable USB_DWC2_HOST in defconfig ARM: meson: update multi_v7_defconfig ARM: multi_v7_defconfig: Enable Mediatek platform ARM: qcom: Update defconfig ARM: mvebu: add gpio-fan to mvebu_v7_defconfig ARM: mvebu: add LED class support built-in in mvebu_v7_defconfig ARM: shmobile: Enable r8a7794 SoC in shmobile_defconfig ARM: LPC32xx: defconfig update ARM: configs: Enable cpufreq-cpu0 for multi_v7_defconfig ARM: configs: Remove REGULATOR_VIRTUAL_CONSUMER from defconfigs ARM: tegra: enable Atmel touchpad in defconfig ARM: at91: sama5: update defconfig ARM: at91: at91sam9rl: update defconfig ARM: at91: at91sam9g45: update defconfig ARM: at91: at91sam9263: update defconfig ARM: at91: at91sam9261_9g10: update defconfig ARM: at91: at91sam9260_9g20: update defconfig ARM: at91: at91_dt: update defconfig ... commit 8b45bc892e6842115fc87c2b2a3b86a20617606a Merge: eb785be fa637bf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:37:16 2014 -0400 Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC driver updates from Arnd Bergmann: "These are changes for drivers that are intimately tied to some SoC and for some reason could not get merged through the respective subsystem maintainer tree. Most of the new code is for the Keystone Navigator driver, which is new base support that is going to be needed for their hardware accelerated network driver and other units. Most of the commits are for moving old code around from at91 and omap for things that are done in device drivers nowadays. - at91: move reset, poweroff, memory and clocksource code into drivers directories - socfpga: add edac driver (through arm-soc, as requested by Boris) - omap: move omap-intc code to drivers/irqchip - sunxi: added an RTC driver for sun6i - omap: mailbox driver related changes - keystone: support for the "Navigator" component - versatile: new reboot, led and soc drivers" * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits) bus: arm-ccn: Fix spurious warning message leds: add device tree bindings for register bit LEDs soc: add driver for the ARM RealView power: reset: driver for the Versatile syscon reboot leds: add a driver for syscon-based LEDs drivers/soc: ti: fix build break with modules MAINTAINERS: Add Keystone Multicore Navigator drivers entry soc: ti: add Keystone Navigator DMA support Documentation: dt: soc: add Keystone Navigator DMA bindings soc: ti: add Keystone Navigator QMSS driver Documentation: dt: soc: add Keystone Navigator QMSS bindings rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc rtc: sun6i: Add sun6i RTC driver irqchip: omap-intc: remove unnecessary comments irqchip: omap-intc: correct maximum number or MIR registers irqchip: omap-intc: enable TURBO idle mode irqchip: omap-intc: enable IP protection irqchip: omap-intc: remove unnecesary of_address_to_resource() call irqchip: omap-intc: comment style cleanup irqchip: omap-intc: minor improvement to omap_irq_pending() ... commit eb785bef684f2b7d03b530efc8e6f199e9777e2f Merge: cf377ad ee48874 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:22:23 2014 -0400 Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC DT updates from Arnd Bergmann: "As usual, this is the largest branch, though this time a little under half of the total changes with 307 individual non-merge changesets. The largest changes are the addition of new machines, in particular the Tegra based Chromebook, the Renesas r8a7794 SoC, and DT support for the old i.MX1 platform. Other changes include - at91: various sam9 and sama5 updates - exynos: much extended Peach Pi/Pit (Chromebook 2) support - keystone: new peripherals - meson: added DT for meson6 SoC - mvebu: new device support for Armada 370/375 - qcom: improved support for IPQ8064 and MSM8x60 - rockchip: much improved support for rk3288 - shmobile: lots of updates all over the place - sunxi: dts license change - sunxi: more a23 device support - vexpress: CLCD DT description" * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (308 commits) ARM: DTS: meson: update DTSI to add watchdog node ARM: dts: keystone-k2l: fix mdio io start address ARM: dts: keystone-k2e: fix mdio io start address ARM: dts: keystone-k2e: update usb1 node for dma properties ARM: dts: keystone: fix io range for usb_phy0 Revert "Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt" Revert "ARM: dts: hix5hd2: add wdg node" ARM: dts: add rk3288 i2s controller ARM: vexpress: Add CLCD Device Tree properties ARM: bcm2835: add I2S pinctrl to device tree ARM: meson: documentation: add bindings documentation ARM: meson: dts: add basic Meson/Meson6/Meson6-atv1200 DTSI/DTS ARM: dts: mt6589: Change compatible string for GIC ARM: dts: mediatek: Add compatible property for aquaris5 ARM: dts: mt6589-aquaris5: Add boot argument earlyprintk ARM: dts: mt6589: Fix typo in GIC unit address ARM: dts: Build dtb for Mediatek board ARM: dts: keystone: fix bindings for pcie and usb clock nodes ARM: dts: keystone: k2l: Fix chip selects for SPI devices ARM: dts: keystone: add dsp gpio controllers nodes ... commit cf377ad7d42c566356d79049536d9cb37499cb77 Merge: 212fe84 d8f0faa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:13:04 2014 -0400 Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC platform changes from Arnd Bergmann: "New and updated SoC support. Among the things new for this release are: - at91: Added support for the new SAMA5D4 SoC, following the earlier SAMA5D3 - bcm: Added support for BCM63XX family of DSL SoCs - hisi: Added support for HiP04 server-class SoC - meson: Initial support for the Amlogic Meson6 (aka 8726MX) platform - shmobile: added support for new r8a7794 (R-Car E2) automotive SoC Noteworthy changes to existing SoC support are: - imx: convert i.MX1 to device tree - omap: lots of power management work - omap: base support to enable moving to standard UART driver - shmobile: lots of progress for multiplatform support, still ongoing" * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (171 commits) ARM: hisi: depend on ARCH_MULTI_V7 CNS3xxx: Fix debug UART. ARM: at91: fix nommu build regression ARM: meson: add basic support for MesonX SoCs ARM: meson: debug: add debug UART for earlyprintk support irq: Export handle_fasteoi_irq ARM: mediatek: Add earlyprintk support for mt6589 ARM: hisi: Fix platmcpm compilation when ARMv6 is selected ARM: debug: fix alphanumerical order on debug uarts ARM: at91: document Atmel SMART compatibles ARM: at91: add sama5d4 support to sama5_defconfig ARM: at91: dt: add device tree file for SAMA5D4ek board ARM: at91: dt: add device tree file for SAMA5D4 SoC ARM: at91: SAMA5D4 SoC detection code and low level routines ARM: at91: introduce basic SAMA5D4 support clk: at91: add a driver for the h32mx clock ARM: pxa3xx: provide specific platform_devices for all ssp ports ARM: pxa: ssp: provide platform_device_id for PXA3xx ARM: OMAP4+: Remove static iotable mappings for SRAM ARM: OMAP4+: Move SRAM data to DT ... commit 212fe84a6f215c39795a76517c1c02114d428681 Merge: 4a4743e 05301fe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:06:53 2014 -0400 Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanups from Arnd Bergmann: "This time around, the cleanup branch contains mostly code removal. A number of board files for at91, imx and msm have become obsolete because of the DT conversion and are now ready to be removed. The OMAP platform has traditionally had its own DMA engine abstraction and as this is being phased out, a lot of the original code is now unused and can be removed as well. S3C24xx can be simplified now that the restart code is a proper device driver. Finally, a number of cleanups in shmobile are done to prepare for the addition of new code in other branches" * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits) ARM: at91: Remove the support for the RSI EWS board arm: mach-omap2: Convert pr_warning to pr_warn ARM: OMAP: Remove unused pieces of legacy DMA API ARM: at91: remove board file for Acme Systems Fox G20 ARM: orion5x: Convert pr_warning to pr_warn ARM: S3C24XX: remove separate restart code ARM: EXYNOS: Do not calculate boot address twice ARM: sunxi: Remove sun4i reboot code from mach directory ARM: imx: Remove mach-mxt_td60 board file ARM: shmobile: armadillo800eva legacy: Use rmobile_add_devices_to_domains() ARM: shmobile: r8a7740: Clean up pm domain table ARM: shmobile: r8a7740: Use rmobile_add_devices_to_domains() ARM: shmobile: sh7372: Make domain_devices[] static __initdata ARM: shmobile: mackerel: Make domain_devices[] static __initdata clocksource: tcb_clksrc: sanitize IRQ request ARM: at91/tclib: mask interruptions at shutdown and probe ARM: at91/tclib: move initialization from alloc to probe ARM: at91/tclib: prefer using of devm_* functions ARM: clps711x: Switch CLPS711X subarch to use clk and clocksource driver ARM: shmobile: r8a7791 is now called "R-Car M2-W" ... commit 4a4743e840d06a5772be7c21110807165c5b3c9f Merge: da01e61 5df2782 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:03:09 2014 -0400 Merge tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC non-critical bug fixes from Arnd Bergmann: "These are bug fixes for harmless problems that were not important enough to get fixed in 3.17. The majority of these are OMAP specific, but there are also a couple for Marvell mvebu, cns3xxx, and others, as well as some updates for the MAINTAINERS file. In particular, Robert Jarzmik and Daniel Mack now volunteered to help out maintaining the PXA platform, Krzysztof Halasa took over the cns3xxx platform, Carlo Caione is the maintainer for the new Amlogic meson platform, and Matthias Brugger is now listed for the mediatek platform he recently contributed" * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits) MAINTAINERS: update Shawn's email address MAINTAINERS: condense some Tegra related entries MAINTAINERS: add Alexandre Courbot for Tegra MAINTAINERS: CNS3xxx and IXP4xx update. MAINTAINERS: Add maintainers entry for Mediatek SoCs arm, vt8500, LLVMLlinux: Use mcr instead of mcr% for mach-vt8500 MAINTAINERS: add a third maintainer to mach-bcm CNS3xxx: Fix PCIe read size limit. CNS3xxx: Fix logical PCIe topology. CNS3xxx: Fix debug UART. MAINTAINERS: Add entry for the Amlogic MesonX SoCs MAINTAINERS: update ARM pxa maintainers ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings ARM: mvebu: Netgear RN102: Use Hardware BCH ECC ARM: Kirkwood: Fix DT based DSA. ARM: OMAP2+: make of_device_ids const ARM: omap2: make arrays containing machine compatible strings const ARM: LPC32xx: Fix reset function ARM: mvebu: Netgear RN2120: Use Hardware BCH ECC ... commit 6543f803670530f6aa93790d9fa116d8395a537d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Oct 8 16:39:12 2014 -0400 NFSv4.1/pnfs: replace broken pnfs_put_lseg_async You cannot call pnfs_put_lseg_async() more than once per lseg, so it is really an inappropriate way to deal with a refcount issue. Instead, replace it with a function that decrements the refcount, and puts the final 'free' operation (which is incompatible with locks) on the workqueue. Cc: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx> Fixes: e6cf82d1830f: pnfs: add pnfs_put_lseg_async Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 64b1f00a0830e1c53874067273a096b228d83d36 Merge: 16b99a4 5301e3e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 8 16:22:22 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit 16b99a4f6644d58c94acb4b4253e84049de588c5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 8 20:37:01 2014 +0200 netlabel: directly return netlbl_unlabel_genl_init() No need to store netlbl_unlabel_genl_init result and test it before returning. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 535114539bb2c081b6680cb5a34be17e7b45df37 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 8 08:19:27 2014 -0700 net: add netdev_txq_bql_{enqueue, complete}_prefetchw() helpers Add two helpers so that drivers do not have to care of BQL being available or not. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Fixes: 29d40c903247 ("net/mlx4_en: Use prefetch in tx path") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 709c48b39ecf11a81f3820c13a828c330fd832b9 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Oct 8 23:53:39 2014 +0900 net: description of dma_cookie cause make xmldocs warning In commit 7bced397510ab569d31de4c70b39e13355046387, dma_cookie was removed from struct skbuff. But the description of dma_cookie still exist. So the "make xmldocs" output following warning. Warning(.//include/linux/skbuff.h:609): Excess struct/union /enum/typedef member 'dma_cookie' description in 'sk_buff' Remove description of dma_cookie fix the symptom. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb5ac0de10ed49f9a18f47ec6d2edf359811ba58 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Oct 8 16:44:34 2014 +0300 cxgb4: clean up a type issue The tx_desc struct holds 8 __be64 values. The original code in ring_tx_db() took a tx_desc pointer then casted it to an int pointer and then casted it to a u64 pointer. It was confusing and triggered some static checker warnings. I have changed the cxgb_pio_copy() function to only take tx_desc pointers. This isn't really a loss of flexibility because anything else was buggy to begin with. I also removed the casting on the destination pointer since that was unnecessary and a bit messy. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fef84780348bbc01b14c1a0f88440ee67cfddfe Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Oct 8 16:43:17 2014 +0300 cxgb4: potential shift wrapping bug "cntxt_id" is an unsigned int but "udb" is a u64 so there is a potential shift wrapping bug here. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0585cd815faef50ce3d12cbe173438eb4d81eb8 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Aug 14 14:45:41 2014 -0700 sb_edac: Claim a different PCI device sb_edac controls a large number of different PCI functions. Rather than registering as a normal PCI driver for all of them, it registers for just one so that it gets probed and, at probe time, it looks for all the others. Coincidentally, the device it registers for also contains the SMBUS registers, so the PCI core will refuse to probe both sb_edac and a future iMC SMBUS driver. The drivers don't actually conflict, so just change sb_edac's device table to probe a different device. An alternative fix would be to merge the two drivers, but sb_edac will also refuse to load on non-ECC systems, whereas i2c_imc would still be useful without ECC. The only user-visible change should be that sb_edac appears to bind a different device. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Rui Wang <ruiv.wang@xxxxxxxxx> Acked-by: Aristeu Rozanski <aris@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 68939df1d7d8da9088d51000bd334f4c59ea0cb3 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Aug 14 14:45:40 2014 -0700 Move Intel SNB device ids from sb_edac to pci_ids.h The i2c_imc driver will use two of them, and moving only part of the list seems messier. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Aristeu Rozanski <aris@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 351fc4a99d49fde63fe5ab7412beb35c40d27269 Author: Seth Jennings <sjenning@xxxxxxxxxx> Date: Fri Sep 5 14:28:47 2014 -0500 sb_edac: avoid INTERNAL ERROR message in EDAC with unspecified channel Intel IA32 SDM Table 15-14 defines channel 0xf as 'not specified', but EDAC doesn't know about this and returns and INTERNAL ERROR when the channel is greater than NUM_CHANNELS: kernel: [ 1538.886456] CPU 0: Machine Check Exception: 0 Bank 1: 940000000000009f kernel: [ 1538.886669] TSC 2bc68b22e7e812 ADDR 46dae7000 MISC 0 PROCESSOR 0:306e4 TIME 1390414572 SOCKET 0 APIC 0 kernel: [ 1538.971948] EDAC MC1: INTERNAL ERROR: channel value is out of range (15 >= 4) kernel: [ 1538.972203] EDAC MC1: 0 CE memory read error on unknown memory (slot:0 page:0x46dae7 offset:0x0 grain:0 syndrome:0x0 - area:DRAM err_code:0000:009f socket:1 channel_mask:1 rank:0) This commit changes sb_edac to forward a channel of -1 to EDAC if the channel is not specified. edac_mc_handle_error() sets the channel to -1 internally after the error message anyway, so this commit should have no effect other than avoiding the INTERNAL ERROR message when the channel is not specified. Signed-off-by: Seth Jennings <sjenning@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4567dc10934292a3171f98d28817d58127b73b72 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Oct 7 13:30:23 2014 -0700 i40e: skb->xmit_more support Support skb->xmit_more in i40e is straightforward : we need to move around i40e_maybe_stop_tx() call to correctly test netif_xmit_stopped() before taking the decision to not kick the NIC. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 44783d87512999fe1450ff2cdf26c1ddc3fa5eea Merge: 935e221 d43a396 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 8 16:01:46 2014 -0400 Merge branch 'fs_enet_napi' Christophe Leroy says: ==================== net: fs_enet: Remove non NAPI RX and add NAPI for TX When using a MPC8xx as a router, 'perf' shows a significant time spent in fs_enet_interrupt() and fs_enet_start_xmit(). 'perf annotate' shows that the time spent in fs_enet_start_xmit is indeed spent between spin_unlock_irqrestore() and the following instruction, hence in interrupt handling. This is due to the TX complete interrupt that fires after each transmitted packet. This patchset first remove all non NAPI handling as NAPI has become the only mode for RX, then adds NAPI for handling TX complete. This improves NAT TCP throughput by 21% on MPC885 with FEC. Tested on MPC885 with FEC. [PATCH 1/2] net: fs_enet: Remove non NAPI RX [PATCH 2/2] net: fs_enet: Add NAPI TX Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d43a396af0f54740c4f491a066d249b7d7467593 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue Oct 7 15:05:02 2014 +0200 net: fs_enet: Add NAPI TX When using a MPC8xx as a router, 'perf' shows a significant time spent in fs_enet_interrupt() and fs_enet_start_xmit(). 'perf annotate' shows that the time spent in fs_enet_start_xmit is indeed spent between spin_unlock_irqrestore() and the following instruction, hence in interrupt handling. This is due to the TX complete interrupt that fires after each transmitted packet. This patch modifies the handling of TX complete to use NAPI. With this patch, my NAT router offers a throughput improved by 21% Original performance: [root@localhost tmp]# scp toto pgs:/tmp toto 100% 256MB 2.8MB/s 01:31 Performance with the patch: [root@localhost tmp]# scp toto pgs:/tmp toto 100% 256MB 3.4MB/s 01:16 Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 583d4a6885cfa75a3d189f6bb69b5c545e961c75 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue Oct 7 15:04:57 2014 +0200 net: fs_enet: Remove non NAPI RX In the probe function, use_napi is inconditionnaly set to 1. This patch removes all the code which is conditional to !use_napi, and removes use_napi which has then become useless. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 935e2218d5a0fade1645982fb034eee37f100f11 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Tue Oct 7 15:10:41 2014 +0800 r8169:add support for RTL8168EP RTL8168EP is Realtek PCIe Gigabit Ethernet controller with DASH support. It is a successor chip of RTL8168DP. For RTL8168EP, the read/write ocp register is via eri channel type 2, so I move ocp_xxx() related functions under rtl_eri_xxx. And use r8168dp_ocp_xxx() for RTL8168DP ocp read/write, r8168ep_ocp_xxx() for RTL8168EP ocp read/write. The way of checking dash enable is different with RTL8168DP. I use r8168dp_check_dash()for RTL8168DP and r8168ep_check_dash() for RTL8168EP, to check if dash is enabled. The driver_start() and driver_stop() of RTL8168EP is also different with RTL8168DP. I use rtl8168dp_driver_xxx() for RTL8168DP and rtl8168ep_driver_xxx for RTL8168EP. Right now, RTL8168EP phy mcu did not need firmware code patch, so I did not add firmware code for it. so I did not add firmware code for it. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5301e3e117d88ef0967ce278912e54757f1a31a2 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Oct 6 17:21:54 2014 -0700 net_sched: copy exts->type in tcf_exts_change() We need to copy exts->type when committing the change, otherwise it would be always 0. This is a quick fix for -net and -stable, for net-next tcf_exts will be removed. Fixes: commit 33be627159913b094bb578e83 ("net_sched: act: use standard struct list_head") Reported-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1480dcc3c706e309a88884723446f2e84fedd5b Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Wed Oct 8 12:32:47 2014 -0700 fs: Add a missing permission check to do_umount Accessing do_remount_sb should require global CAP_SYS_ADMIN, but only one of the two call sites was appropriately protected. Fixes CVE-2014-7975. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> commit fa637bf0595ee1796d728a0d33b6b7fff12e1f3d Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Mon Sep 15 15:33:48 2014 +0100 bus: arm-ccn: Fix spurious warning message Because CCN's cycle counter always runs, it will generate an interrupt on overflow even if the relevant perf event was not requested, causing a spurious warning message. Fixed now by warning on only normal counter unwanted overflows. Also cleaning the overflow mask at init now, not to warn on event previously requested by firmware. Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 5df27823b5552e885e02c1ea0d2f52326d7d710c Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Wed Oct 8 20:31:29 2014 +0800 MAINTAINERS: update Shawn's email address My Freescale email address will be gone shortly. Update my email to be the Linaro one. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 356d41422b00fed4bf8622a0721039a18f687fa0 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Fri Oct 3 09:50:33 2014 -0600 MAINTAINERS: condense some Tegra related entries There's little point having specific entries in MAINTAINERS for Tegra drivers that are already covered by the top-level Tegra architecture support entry, and maintained by people listed there. Remove the duplicates. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 554077c54beafc8d5fe46fa42bf36d9322a51855 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Fri Oct 3 09:50:32 2014 -0600 MAINTAINERS: add Alexandre Courbot for Tegra I'd like to propose Alexandre Courbot as an additional Tegra maintainer. He's been working on a variety of Tegra-related code for a while, and is now officially tasked with working on upstream support. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> -- v2: * Use Alexandre's full name. * Use a non-NVIDIA email address to avoid Exchange Server patch corruption. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 1fca350b761631d182c2e8bce530896e66404bc2 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Wed Oct 8 12:44:55 2014 -0500 rtlwifi: Fix possible unaligned array in ether_addr_copy() Two macros used to copy BSSID information use ether_addr_copy(), thus the arrays must be 2-byte aligned. In one case, the array could become unaligned if the struct containing it were changed. Use the __unaligned(2) attribute to retain the necessary alignment. In addition, the magic number used to specify the size of the array is replaced by ETH_ALEN. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ca14405e3b25b38221d027d8970c1d74ed0b6532 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Oct 8 08:43:19 2014 +0530 ath9k: Fix sequence number assignment Currently, ath9k uses a global counter for all frames that need to be assigned a sequence number. QoS-data frames are handled properly since they have a per-tid counter. But, beacons and other management frames use the same counter even if multiple interfaces or contexts are present. Fix this issue by making the counter per-interface and using it when mac80211 sets IEEE80211_TX_CTL_ASSIGN_SEQ. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2f29fed3f814f652a24b10c975b9d415a154fc9c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 7 22:20:23 2014 +0200 net: rfkill: kernel-doc warning fixes s/state/blocked Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ee48874d4aa50d9c4921b44a38dc33110b90638b Merge: 4394a00 d4ac2cf Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 8 21:19:21 2014 +0200 Merge tag 'meson-wdt-dt-3.18' of https://github.com/carlocaione/linux-meson into next/dt Merge "Meson6 WDT support" from Carlo Caione: This patch adds the support for the Meson6 watchdog in the DTSI * tag 'meson-wdt-dt-3.18' of https://github.com/carlocaione/linux-meson: ARM: DTS: meson: update DTSI to add watchdog node Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit ea18cb3f113d7f8d622622c176c51363cc656521 Author: Tom Haynes <loghyr@xxxxxxxxxxxxxxx> Date: Thu Oct 2 23:44:11 2014 -0700 NFSv4: Remove dead prototype for nfs4_insert_deviceid_node() nfs4_insert_deviceid_node() was removed in 661373b13d0490ff410a2133d4a7a117f2dd037e Signed-off-by: Tom Haynes <loghyr@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2c9a9cfec04f2c6ed7b4e607cd53ca903b2c4642 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Oct 8 09:28:32 2014 -0700 Input: automatically set EV_ABS bit in input_set_abs_params Let's automatically set EV_ABS bit in device's event type list when calling input_set_abs_params() so that drivers do not have to do it explicitly. These calls are never in a hot paths so we won't lose much time by setting the same bit several times. Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit da01e61428aa2b5c424fddc11178498462d8c77f Merge: 6dea073 02a1335 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 12:53:15 2014 -0400 Merge tag 'f2fs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs updates from Jaegeuk Kim: "This patch-set introduces a couple of new features such as large sector size, FITRIM, and atomic/volatile writes. Several patches enhance power-off recovery and checkpoint routines. The fsck.f2fs starts to support fixing corrupted partitions with recovery hints provided by this patch-set. Summary: - retain some recovery information for fsck.f2fs - enhance checkpoint speed - enhance flush command management - bug fix for lseek - tune in-place-update policies - enhance roll-forward speed - revisit all the roll-forward and fsync rules - support larget sector size - support FITRIM - support atomic and volatile writes And several clean-ups and bug fixes are included" * tag 'f2fs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (42 commits) f2fs: support volatile operations for transient data f2fs: support atomic writes f2fs: remove unused return value f2fs: clean up f2fs_ioctl functions f2fs: potential shift wrapping buf in f2fs_trim_fs() f2fs: call f2fs_unlock_op after error was handled f2fs: check the use of macros on block counts and addresses f2fs: refactor flush_nat_entries to remove costly reorganizing ops f2fs: introduce FITRIM in f2fs_ioctl f2fs: introduce cp_control structure f2fs: use more free segments until SSR is activated f2fs: change the ipu_policy option to enable combinations f2fs: fix to search whole dirty segmap when get_victim f2fs: fix to clean previous mount option when remount_fs f2fs: skip punching hole in special condition f2fs: support large sector size f2fs: fix to truncate blocks past EOF in ->setattr f2fs: update i_size when __allocate_data_block f2fs: use MAX_BIO_BLOCKS(sbi) f2fs: remove redundant operation during roll-forward recovery ... commit 6dea0737bc5e160efc77f4c39d393b94fd2746dc Merge: 25641c0 34549ab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 12:51:44 2014 -0400 Merge branch 'for-3.18' of git://linux-nfs.org/~bfields/linux Pull nfsd updates from Bruce Fields: "Highlights: - support the NFSv4.2 SEEK operation (allowing clients to support SEEK_HOLE/SEEK_DATA), thanks to Anna. - end the grace period early in a number of cases, mitigating a long-standing annoyance, thanks to Jeff - improve SMP scalability, thanks to Trond" * 'for-3.18' of git://linux-nfs.org/~bfields/linux: (55 commits) nfsd: eliminate "to_delegation" define NFSD: Implement SEEK NFSD: Add generic v4.2 infrastructure svcrdma: advertise the correct max payload nfsd: introduce nfsd4_callback_ops nfsd: split nfsd4_callback initialization and use nfsd: introduce a generic nfsd4_cb nfsd: remove nfsd4_callback.cb_op nfsd: do not clear rpc_resp in nfsd4_cb_done_sequence nfsd: fix nfsd4_cb_recall_done error handling nfsd4: clarify how grace period ends nfsd4: stop grace_time update at end of grace period nfsd: skip subsequent UMH "create" operations after the first one for v4.0 clients nfsd: set and test NFSD4_CLIENT_STABLE bit to reduce nfsdcltrack upcalls nfsd: serialize nfsdcltrack upcalls for a particular client nfsd: pass extra info in env vars to upcalls to allow for early grace period end nfsd: add a v4_end_grace file to /proc/fs/nfsd lockd: add a /proc/fs/lockd/nlm_end_grace file nfsd: reject reclaim request when client has already sent RECLAIM_COMPLETE nfsd: remove redundant boot_time parm from grace_done client tracking op ... commit 25641c0c8d72f3d235c022fd2c19181912c2ae8b Merge: ef0625b 72c23f0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 12:49:23 2014 -0400 Merge tag 'nfs-for-3.18-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs Pull NFS client updates from Trond Myklebust: "Highlights include: Stable fixes: - fix an NFSv4.1 state renewal regression - fix open/lock state recovery error handling - fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails - fix statd when reconnection fails - don't wake tasks during connection abort - don't start reboot recovery if lease check fails - fix duplicate proc entries Features: - pNFS block driver fixes and clean ups from Christoph - More code cleanups from Anna - Improve mmap() writeback performance - Replace use of PF_TRANS with a more generic mechanism for avoiding deadlocks in nfs_release_page" * tag 'nfs-for-3.18-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (66 commits) NFSv4.1: Fix an NFSv4.1 state renewal regression NFSv4: fix open/lock state recovery error handling NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails NFS: Fabricate fscache server index key correctly SUNRPC: Add missing support for RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT NFSv3: Fix missing includes of nfs3_fs.h NFS/SUNRPC: Remove other deadlock-avoidance mechanisms in nfs_release_page() NFS: avoid waiting at all in nfs_release_page when congested. NFS: avoid deadlocks with loop-back mounted NFS filesystems. MM: export page_wakeup functions SCHED: add some "wait..on_bit...timeout()" interfaces. NFS: don't use STABLE writes during writeback. NFSv4: use exponential retry on NFS4ERR_DELAY for async requests. rpc: Add -EPERM processing for xs_udp_send_request() rpc: return sent and err from xs_sendpages() lockd: Try to reconnect if statd has moved SUNRPC: Don't wake tasks during connection abort Fixing lease renewal nfs: fix duplicate proc entries pnfs/blocklayout: Fix a 64-bit division/remainder issue in bl_map_stripe ... commit 6ae833c7fe0c6ef1f0ab13cc775da230d6f4c256 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Oct 8 12:01:52 2014 -0400 percpu: fix how @gfp is interpreted by the percpu allocator When @gfp is specified, the percpu allocator is interested in whether it contains all of GFP_KERNEL or not. If it does, the normal allocation path is taken; otherwise, the atomic allocation path. Unfortunately, pcpu_alloc() was incorrectly testing for whether @gfp contains any part of GFP_KERNEL. Fix it by testing "(gfp & GFP_KERNEL) != GFP_KERNEL" instead of "!(gfp & GFP_KERNEL)" to decide whether the allocation should be atomic or not. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit bdf20b4291eaa3b327398b8dd330065ad8e6d3ce Merge: 699f858 77eca3c 960baba 5c4c99f a66ae63 528a82b 2dbab97 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 16:44:50 2014 +0100 Merge remote-tracking branches 'asoc/fix/88pm860x', 'asoc/fix/fsl', 'asoc/fix/imx', 'asoc/fix/mc13783', 'asoc/fix/rockchip' and 'asoc/fix/simple' into asoc-linus commit 699f8584305cb5b4ba69c6880c64be1f8f15a563 Merge: b9fb729 e5092c9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 16:44:49 2014 +0100 Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linus commit b9fb729949bcd9e592a4c599d2d7875157181db9 Merge: 7b8ab38 5e63dfc Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 16:44:49 2014 +0100 Merge remote-tracking branch 'asoc/fix/core' into asoc-linus commit 7b8ab38e8d9cc804f0d3c263bfaa62d82d8a2da7 Merge: 1db1d4e a5448c8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 16:44:43 2014 +0100 Merge tag 'asoc-v3.18' into asoc-linus ASoC: Updates for v3.18 - More componentisation work from Lars-Peter, this time mainly cleaning up the suspend and bias level transition callbacks. - Real system support for the Intel drivers and a bunch of fixes and enhancements for the associated CODEC drivers, this is going to need a lot quirks over time due to the lack of any firmware description of the boards. - Jack detect support for simple card from Dylan Reid. - A bunch of small fixes and enhancements for the Freescale drivers. - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32, Everest Semiconductor ES8328 and Freescale cards using the ASRC in newer i.MX processors. # gpg: Signature made Mon 06 Oct 2014 12:49:37 BST using RSA key ID 5D5487D0 # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit 1db1d4eefb0065abdc37f4fa40c67d322d7db663 Merge: bfe01a5 5e3905f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 16:44:36 2014 +0100 Merge tag 'asoc-v3.17-rc4' into asoc-linus ASoC: Fixes for v3.17 Another round of again fairly unexciting fixes - several driver fixes, an e-mail address change and a fix for error handling with DPCM. # gpg: Signature made Wed 10 Sep 2014 12:26:54 BST using RSA key ID 5D5487D0 # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit 89c5497d1f933af56dac617f0fd86150942a7fb6 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Oct 8 04:03:07 2014 +0000 tracing/kprobes: Add selftest scripts testing kprobe-tracer as startup test Add two selftest scripts which tests kprobe-tracer as the startup selftest does. These test cases are testing that the kprobe_event can accept a kprobe event with $stack related arguments and a kretprobe event with $retval argument. Link: http://lkml.kernel.org/p/20141008040307.13415.45145.stgit@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a66ae631a3cffb00f441b229a07fa1b4c72e738a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 15:31:18 2014 +0100 ASoC: mc13783: Ensure we only try to dereference valid of_nodes Reported-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a43bb39b5c710e79e921fb76341bacc418cfde78 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Wed Oct 8 10:19:08 2014 +0800 btrfs: Fix compile error when CONFIG_SECURITY is not set. Fix the following compile error when CONFIG_SECURITY is not set: error: 'struct security_mnt_opts' has no member named 'num_mnt_opts' Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 528a82b41fda78435976c905546c3329c86bb264 Author: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Date: Wed Oct 8 00:58:51 2014 -0700 ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_txctrl We can get into an infinite loop if the I2S_CLR register fails to clear due to a missing break statement, so add that. Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ef0625b70dac9405ac9d9928cf767108041a9e51 Merge: 3fc1479 480bd3c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:55:41 2014 -0400 Merge tag 'char-misc-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver updates from Greg KH: "Here's the big set of driver patches for char/misc drivers. Nothing major in here, the shortlog goes into the details. All have been in the linux-next tree for a while with no issues" * tag 'char-misc-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (80 commits) mei: mei_txe_fw_sts can be static mei: fix kernel-doc warnings mei: fix KDoc documentation formatting mei: drop me_client_presentation_num mei: trivial: fix errors in prints in comments mei: remove include to pci header from mei module files mei: push pci cfg structure me hw mei: remove the reference to pdev from mei_device mei: move fw_status back to hw ops handlers mei: get rid of most of the pci dependencies in mei mei: push all standard settings into mei_device_init mei: move mei_hbm_hdr function from hbm.h the hbm.c mei: kill error message for allocation failure mei: nfc: fix style warning mei: fix style warning: Missing a blank line after declarations mei: pg: fix cat and paste error in comments mei: debugfs: add single buffer indicator mei: debugfs: adjust print buffer mei: add hbm and pg state in devstate debugfs print Drivers: hv: vmbus: Enable interrupt driven flow control ... commit 3fc1479c5e78afa3013ad80b9b7367f0278c629b Merge: bca5165 72cf901 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:54:13 2014 -0400 Merge tag 'compress-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull compression update from Greg KH: "More fun with the LZO compression code. Here's some patches that properly document what the logic is, and fix up all of the previously reported issues against the LZO code. This has been in linux-next for a while with no issues" * tag 'compress-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: lzo: check for length overrun in variable length encoding. Revert "lzo: properly check for overruns" Documentation: lzo: document part of the encoding commit bca51651fc2f197c6364c0e682f68047a7e4b444 Merge: 683a52a 906d201 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:53:19 2014 -0400 Merge tag 'driver-core-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core update from Greg KH: "Here's the driver core patches for 3.18-rc1. Just a few small things, and the addition of a new interface to dump firmware "core dumps" to userspace through sysfs that the wireless and graphic drivers want to use. All of these have been in linux-next for a while" * tag 'driver-core-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: dynamic_debug: change __dynamic_<foo>_dbg return types to void driver/base/node: remove unnecessary kfree of node struct from unregister_one_node devres: Improve devm_kasprintf()/kvasprintf() support Documentation: devres: Add missing devm_kstrdup() managed interface Documentation: devres: Add missing IRQ functions firmware_class: make sure fw requests contain a name driver core: Remove kerneldoc from local function attribute_container: fix coding style issues attribute_container: fix whitespace errors drivers/base: Fix length checks in create_syslog_header()/dev_vprintk_emit() device coredump: add new device coredump class Documentation/sysfs-rules.txt: Add device attribute error code documentation commit 683a52a10148e929fb4844f9237f059a47c0b01b Merge: b9af564 69784fa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:52:11 2014 -0400 Merge tag 'tty-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial driver updates from Greg KH: "Here's the big tty/serial driver patchset for 3.18-rc1. Lots of little things in here, some good work from Peter Hurley on the tty core, and in lots of drivers. There are also lots of other driver updates in here as well, full details in the changelogs. All have been in the linux-next tree for a while" * tag 'tty-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (99 commits) Revert "serial/core: Initialize the console pm state" tty: serial: 8250: use 32bit variable for rpm_tx_active tty: serial: msm: Add earlycon support serial/core: Initialize the console pm state serial: asc: Conditionally use readl_relaxed (COMPILE_TEST) serial: of-serial: add PM suspend/resume support m68k: AMIGA_BUILTIN_SERIAL should depend on TTY asm/uapi: Add definition of TIOC[SG]RS485 tty/metag_da: Add console_poll module parameter serial: 8250_pci: remove rts_n override from Baytrail quirk serial: cadence: Add generic earlycon support serial: imx: change the wait even to interruptiable serial: imx: terminate the RX DMA when the UART is suspending serial: imx: fix throttle/unthrottle callbacks for hardware assisted flow control serial: 8250: Add Quark X1000 to 8250_pci.c tty: omap-serial: pull out calculation from baud_is_mode16 tty: omap-serial: fix division by zero xen_hvc: no reason to write the type key on xenstore tty: serial: 8250_core: remove UART_IER_RDI in serial8250_stop_rx() tty: serial: 8250_core: use the ->line argument as a hint in serial8250_find_match_or_unused() ... commit b9af5643fdc5365a23f9752a1181fef374425217 Merge: 4633119 e603984 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:50:18 2014 -0400 Merge tag 'staging-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging updates from Greg KH: "Here is the big staging patch set for 3.18-rc1. Once again, we are deleting more code than we added, with something like 150000 lines deleted overall. Some of this is due to drivers being added to the networking tree, so the old versions are removed here, but even then, the overall difference is quite good. Other than driver deletions, lots and lots and lots of minor cleanups all over the place. Full details are in the changelog" * tag 'staging-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1481 commits) staging: et131x: Remove et131x driver from drivers/staging staging: emxx_udc: Use min_t instead of min staging: emxx_udc: Fix replace printk(KERN_DEBUG ..) with dev_dbg staging: media: Fixed else after return or break warning staging: media: omap4iss: Fixed else after return or break warning staging: rtl8712: Fixed else not required after return staging: rtl8712: Fix missing blank line warning staging: rtl8192e: rtl8192e: Remove spaces before the semicolons staging: rtl8192e: rtl8192e: Remove unnecessary return statements staging: rtl8192e: Remove unneeded void return staging: rtl8192e: Fix void function return statements style staging: rtl8712: Fix unnecessary parentheses style warning staging: rtl8192e: Fix unnecessary space before function pointer arguments staging: rtl8192e: Array was made static const char * const staging: ft1000: ft1000-usb: Removed unnecessary else statement. staging: ft1000: ft1000-usb: Removed unnecessary else statement. staging: ft1000: ft1000-usb: Removed unnecessary parentheses. staging: ft1000: ft1000-usb: Added new line after declarations. staging: vt6655: Fixed C99 // comment errors in wpactl.c staging: speakup: Fixed warning <linux/serial.h> instead of <asm/serial.h> ... commit 463311960e9312245418af98dce8c0161fd6b827 Merge: 87d7bce 4ed9a3d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:47:31 2014 -0400 Merge tag 'usb-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB updates from Greg KH: "Here's the big USB patchset for 3.18-rc1. Also in here is the PHY tree, as it seems to fit well with the USB tree for various reasons... Anyway, lots of little changes in here, all over the place, full details in the changelog All have been in the linux-next tree for a while with no issues" * tag 'usb-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (244 commits) USB: host: st: fix typo 'CONFIG_USB_EHCI_HCD_ST' uas: Reduce number of function arguments for uas_alloc_foo functions xhci: Allow xHCI drivers to be built as separate modules xhci: Export symbols used by host-controller drivers xhci: Check for XHCI_COMP_MODE_QUIRK when disabling D3cold xhci: Introduce xhci_init_driver() usb: hcd: add generic PHY support usb: rename phy to usb_phy in HCD usb: gadget: uvc: fix up uvcg_v4l2_get_unmapped_area typo USB: host: st: fix ehci/ohci driver selection usb: host: ehci-exynos: Remove unnecessary usb-phy support usb: core: return -ENOTSUPP for all targeted hosts USB: Remove .owner field for driver usb: core: log higher level message on malformed LANGID descriptor usb: Add LED triggers for USB activity usb: Rename usb-common.c usb: gadget: Refactor request completion usb: gadget: Introduce usb_gadget_giveback_request() usb: dwc2/gadget: move phy bus legth initialization phy: remove .owner field for drivers using module_platform_driver ... commit 87d7bcee4f5973a593b0d50134364cfe5652ff33 Merge: 0223f9a be34c4ef Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:44:48 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto update from Herbert Xu: - add multibuffer infrastructure (single_task_running scheduler helper, OKed by Peter on lkml. - add SHA1 multibuffer implementation for AVX2. - reenable "by8" AVX CTR optimisation after fixing counter overflow. - add APM X-Gene SoC RNG support. - SHA256/SHA512 now handles unaligned input correctly. - set lz4 decompressed length correctly. - fix algif socket buffer allocation failure for 64K page machines. - misc fixes * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (47 commits) crypto: sha - Handle unaligned input data in generic sha256 and sha512. Revert "crypto: aesni - disable "by8" AVX CTR optimization" crypto: aesni - remove unused defines in "by8" variant crypto: aesni - fix counter overflow handling in "by8" variant hwrng: printk replacement crypto: qat - Removed unneeded partial state crypto: qat - Fix typo in name of tasklet_struct crypto: caam - Dynamic allocation of addresses for various memory blocks in CAAM. crypto: mcryptd - Fix typos in CRYPTO_MCRYPTD description crypto: algif - avoid excessive use of socket buffer in skcipher arm64: dts: add random number generator dts node to APM X-Gene platform. Documentation: rng: Add X-Gene SoC RNG driver documentation hwrng: xgene - add support for APM X-Gene SoC RNG support crypto: mv_cesa - Add missing #define crypto: testmgr - add test for lz4 and lz4hc crypto: lz4,lz4hc - fix decompression crypto: qat - Use pci_enable_msix_exact() instead of pci_enable_msix() crypto: drbg - fix maximum value checks on 32 bit systems crypto: drbg - fix sparse warning for cpu_to_be[32|64] crypto: sha-mb - sha1_mb_alg_state can be static ... commit f74954f01ec9bb2004bcc24f247d1f26f1063ad2 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Wed Sep 24 08:41:30 2014 +0100 x86: Unwind-annotate thunk_32.S Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/542291CA0200007800038085@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c497d9f917542a71e1654b31368d18153b6f1987 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Oct 8 12:14:40 2014 +0200 ALSA: hda - Add dock port support to Thinkpad L440 (71aa:501e) Yet another Thinkpad model that has a dock port. Reported-by: Sascha Wilde <wilde@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e5b50ada76f44c8742a123813689bff4db062a5a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Oct 8 12:08:38 2014 +0200 ALSA: Allow pass NULL dev for snd_pci_quirk_lookup() Add a NULL check in snd_pci_quirk_lookup() so that NULL can be passed as a pci_dev pointer. This fixes the possible NULL dereferences in HD-audio drivers. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0223f9aaef94a09ffc0b6abcba732e62a483b88c Merge: 8a9e838 24cae79 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:40:17 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k Pull m68k updates from Geert Uytterhoeven: "Summary: - a fix for an intermittent crash in macsonic and hilkbd, marked for stable, - build fixes for uncommon configs. Note: "m68k: AMIGA_BUILTIN_SERIAL should depend on TTY" was also picked up by GregKH for his TTY/Serial patches tree" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k: Reformat arch/m68k/mm/hwtest.c m68k: Disable/restore interrupts in hwreg_present()/hwreg_write() m68k: AMIGA_BUILTIN_SERIAL should depend on TTY m68k: Add missing ioport_unmap() m68k/atari - stram: Add missing #include <linux/ioport.h> commit 8a9e838f59115e55ca206fb5f0b567d7b3540517 Merge: f8e4fae 1742b63 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:37:24 2014 -0400 Merge tag 'for-linus-20141006' of git://github.com/sctscore/linux-off Pull S+core updates from Lennox Wu: "Three of the patches are for building allmodconfig, and the others are for removing useless flags" * tag 'for-linus-20141006' of git://github.com/sctscore/linux-off: score: Remove GENERIC_HAS_IOMAP arch/score/include/asm/Kbuild: Add generic "serial.h" score: remove deprecated IRQF_DISABLED arch/score/mm/cache.c: Export 'flush_icache_range' arch: score: Export necessary symbols in related files commit f8e4fae2e79d2d293fc490ede87be44c9b215d9e Merge: 6325e94 78410af Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:36:23 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile Pull arch/tile updates from Chris Metcalf: "The only substantive pieces in this batch are some more vDSO support, and removing the reference to &platform_bus in tile-srom.c. The rest are minor issues reported to me" * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tile: add clock_gettime support to vDSO tile: switch to using seqlocks for the vDSO time code tile gxio: use better string copy primitive char: tile-srom: Add real platform bus parent Removed repeated word in comments tilegx: Enable ARCH_SUPPORTS_ATOMIC_RMW tile: Remove tile-specific _sinitdata and _einitdata tile: use ARRAY_SIZE commit 6325e940e7e0c690c6bdfaf5d54309e71845d3d9 Merge: 536fd93 0a6479b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:34:24 2014 -0400 Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 updates from Catalin Marinas: - eBPF JIT compiler for arm64 - CPU suspend backend for PSCI (firmware interface) with standard idle states defined in DT (generic idle driver to be merged via a different tree) - Support for CONFIG_DEBUG_SET_MODULE_RONX - Support for unmapped cpu-release-addr (outside kernel linear mapping) - set_arch_dma_coherent_ops() implemented and bus notifiers removed - EFI_STUB improvements when base of DRAM is occupied - Typos in KGDB macros - Clean-up to (partially) allow kernel building with LLVM - Other clean-ups (extern keyword, phys_addr_t usage) * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (51 commits) arm64: Remove unneeded extern keyword ARM64: make of_device_ids const arm64: Use phys_addr_t type for physical address aarch64: filter $x from kallsyms arm64: Use DMA_ERROR_CODE to denote failed allocation arm64: Fix typos in KGDB macros arm64: insn: Add return statements after BUG_ON() arm64: debug: don't re-enable debug exceptions on return from el1_dbg Revert "arm64: dmi: Add SMBIOS/DMI support" arm64: Implement set_arch_dma_coherent_ops() to replace bus notifiers of: amba: use of_dma_configure for AMBA devices arm64: dmi: Add SMBIOS/DMI support arm64: Correct ftrace calls to aarch64_insn_gen_branch_imm() arm64:mm: initialize max_mapnr using function set_max_mapnr setup: Move unmask of async interrupts after possible earlycon setup arm64: LLVMLinux: Fix inline arm64 assembly for use with clang arm64: pageattr: Correctly adjust unaligned start addresses net: bpf: arm64: fix module memory leak when JIT image build fails arm64: add PSCI CPU_SUSPEND based cpu_suspend support arm64: kernel: introduce cpu_init_idle CPU operation ... commit 536fd93d432858eb6b7c1ad1dcfe051840ebef47 Merge: e4e6567 d5d1689 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:30:03 2014 -0400 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM updates from Russell King: "Included in these updates are: - Performance optimisation to avoid writing the control register at every exception. - Use static inline instead of extern inline in ftrace code. - Crypto ARM assembly updates for big endian - Alignment of initrd/.init memory to page sizes when freeing to ensure that we fully free the regions - Add gcov support - A couple of preparatory patches for VDSO support: use _install_special_mapping, and randomize the sigpage placement above stack. - Add L2 ePAPR DT cache properties so that DT can specify the cache geometry. - Preparatory patch for FIQ (NMI) kernel C code for things like spinlock lockup debug. Following on from this are a couple of my patches cleaning up show_regs() and removing an unused (probably since 1.x days) do_unexp_fiq() function. - Use pr_warn() rather than pr_warning(). - A number of cleanups (smp, footbridge, return_address)" * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (21 commits) ARM: 8167/1: extend the reserved memory for initrd to be page aligned ARM: 8168/1: extend __init_end to a page align address ARM: 8169/1: l2c: parse cache properties from ePAPR definitions ARM: 8160/1: drop warning about return_address not using unwind tables ARM: 8161/1: footbridge: select machine dir based on ARCH_FOOTBRIDGE ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h ARM: 8155/1: place sigpage at a random offset above stack ARM: 8154/1: use _install_special_mapping for sigpage ARM: 8153/1: Enable gcov support on the ARM architecture ARM: Avoid writing to control register on every exception ARM: 8152/1: Convert pr_warning to pr_warn ARM: remove unused do_unexp_fiq() function ARM: remove extraneous newline in show_regs() ARM: 8150/3: fiq: Replace default FIQ handler ARM: 8140/1: ep93xx: Enable DEBUG_LL_UART_PL01X ARM: 8139/1: versatile: Enable DEBUG_LL_UART_PL01X ARM: 8138/1: drop ISAR0 workaround for B15 ARM: 8136/1: sa1100: add Micro ASIC platform device ARM: 8131/1: arm/smp: Absorb boot_secondary() ARM: 8126/1: crypto: enable NEON SHA-384/SHA-512 for big endian ... commit e4e65676f272adb63655a2ca95207e8212d282f1 Merge: f89f4a0 f439ed2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:27:39 2014 -0400 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull KVM updates from Paolo Bonzini: "Fixes and features for 3.18. Apart from the usual cleanups, here is the summary of new features: - s390 moves closer towards host large page support - PowerPC has improved support for debugging (both inside the guest and via gdbstub) and support for e6500 processors - ARM/ARM64 support read-only memory (which is necessary to put firmware in emulated NOR flash) - x86 has the usual emulator fixes and nested virtualization improvements (including improved Windows support on Intel and Jailhouse hypervisor support on AMD), adaptive PLE which helps overcommitting of huge guests. Also included are some patches that make KVM more friendly to memory hot-unplug, and fixes for rare caching bugs. Two patches have trivial mm/ parts that were acked by Rik and Andrew. Note: I will soon switch to a subkey for signing purposes" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (157 commits) kvm: do not handle APIC access page if in-kernel irqchip is not in use KVM: s390: count vcpu wakeups in stat.halt_wakeup KVM: s390/facilities: allow TOD-CLOCK steering facility bit KVM: PPC: BOOK3S: HV: CMA: Reserve cma region only in hypervisor mode arm/arm64: KVM: Report correct FSC for unsupported fault types arm/arm64: KVM: Fix VTTBR_BADDR_MASK and pgd alloc kvm: Fix kvm_get_page_retry_io __gup retval check arm/arm64: KVM: Fix set_clear_sgi_pend_reg offset kvm: x86: Unpin and remove kvm_arch->apic_access_page kvm: vmx: Implement set_apic_access_page_addr kvm: x86: Add request bit to reload APIC access page address kvm: Add arch specific mmu notifier for page invalidation kvm: Rename make_all_cpus_request() to kvm_make_all_cpus_request() and make it non-static kvm: Fix page ageing bugs kvm/x86/mmu: Pass gfn and level to rmapp callback. x86: kvm: use alternatives for VMCALL vs. VMMCALL if kernel text is read-only kvm: x86: use macros to compute bank MSRs KVM: x86: Remove debug assertion of non-PAE reserved bits kvm: don't take vcpu mutex for obviously invalid vcpu ioctls kvm: Faults which trigger IO release the mmap_sem ... commit f89f4a06a59f30dec64b2afc4111426fc01e9e12 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:23:02 2014 -0400 Fix up missing dmaengine header inclusion from qce crypto engine Commit 7bced397510a ("net_dma: simple removal") removed the long-dead net_dma code, but unintentionally broke the build for the qualcomm crypto engine (qce) that had accidentally depended on the inclusion of <linux/dmaengine.h> through the networking header files that used to have it. Add the required dmaengine.h include explicitly to fix the breakage. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2dee5c43da3a981489a4f18972827139afcbee82 Author: Andi Kleen <andi@xxxxxxxxxxxxxx> Date: Wed Sep 24 06:32:19 2014 +0200 x86: Fix section conflict for numachip A variable cannot be both __read_mostly and const. This is a meaningless combination. Just make it only const. This fixes the LTO build with numachip enabled. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411533139-25708-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0e6d3112a4e95d55cf6dca88f298d5f4b8f29bd1 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Sun Sep 7 21:05:05 2014 +0100 x86: Reject x32 executables if x32 ABI not supported It is currently possible to execve() an x32 executable on an x86_64 kernel that has only ia32 compat enabled. However all its syscalls will fail, even _exit(). This usually causes it to segfault. Change the ELF compat architecture check so that x32 executables are rejected if we don't support the x32 ABI. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410120305.6822.9.camel@xxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a9282d01cf357379ce29103cec5e7651a53c634d Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:05 2014 +1100 cxl: Add documentation for userspace APIs This documentation gives an overview of the hardware architecture, userspace APIs via /dev/cxl/afuM.N and the syfs files. It also adds a MAINTAINERS file entry for cxl. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 881632c905f29fd7173250fd1d5b3a9a769d02be Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:04 2014 +1100 cxl: Add driver to Kbuild and Makefiles Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 66b43081c0bde3171208a7cb52f5807dce4a79e4 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:03 2014 +1100 cxl: Add userspace header file This adds a header file for use by userspace programs wanting to interact with the kernel cxl driver. It defines structs and magic numbers required for userspace to interact with devices in /dev/cxl/afuM.N. Further documentation on this interface is added in a subsequent patch in Documentation/powerpc/cxl.txt. It also adds this new userspace header file to Kbuild so it's exported when doing "make headers_installs". Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f204e0b8cedd7da1dfcfd05ed6b7692737e24029 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:02 2014 +1100 cxl: Driver code for powernv PCIe based cards for userspace access This is the core of the cxl driver. It adds support for using cxl cards in the powernv environment only (ie POWER8 bare metal). It allows access to cxl accelerators by userspace using the /dev/cxl/afuM.N char devices. The kernel driver has no knowledge of the function implemented by the accelerator. It provides services to userspace via the /dev/cxl/afuM.N devices. When a program opens this device and runs the start work IOCTL, the accelerator will have coherent access to that processes memory using the same virtual addresses. That process may mmap the device to access any MMIO space the accelerator provides. Also, reads on the device will allow interrupts to be received. These services are further documented in a later patch in Documentation/powerpc/cxl.txt. Documentation of the cxl hardware architecture and userspace API is provided in subsequent patches. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 10542ca0156f60571ef41799d44d40dd4cb0a473 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:01 2014 +1100 cxl: Add base builtin support This adds the base cxl support that cannot be built as a module. Specifically it adds the cxl callbacks that are called from the core powerpc mm code which must always exist irrespective of if the cxl module is loaded or not. This is similar to how cell works with CONFIG_SPU_BASE. This adds a cxl_slbia() call (similar to spu_flush_all_slbs()) which checks if the cxl module is loaded and in use, returning immediately if it is not. If it is in use it calls into the cxl SLB invalidation code. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4c6d9acce1f4ca815881f0e3adca192795eca1c5 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:00 2014 +1100 powerpc/mm: Add hooks for cxl This adds hooks into the core powerpc mm code for cxl. The core powerpc code sometimes uses local tlbie. Unfortunately this won't work with the current cxl driver as it relies on snooping tlbie broadcasts. The cxl hardware can have TLB entries invalidated via MMIO but this is not currently supported by the driver. In future we can make local tlbie smarter so that it invalidates cxl contexts via MMIO when it needs to but for now we have this workaround. This workaround checks for any active cxl contexts and if so, disables local tlbie. This also adds a hook for when SLBs are invalidated. This ensures any corresponding SLBs in cxl are also invalidated at the same time. This is required for segment demotion. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 09521736011e83003ca3cf7d9a31c43148306a20 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:59 2014 +1100 powerpc/opal: Add PHB to cxl mode call This adds the OPAL call to change a PHB into cxl mode. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a1dca3465a7be53980abab1e0d6646176fdc075f Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:58 2014 +1100 powerpc/mm: Add new hash_page_mm() This adds a new function hash_page_mm() based on the existing hash_page(). This version allows any struct mm to be passed in, rather than assuming current. This is useful for servicing co-processor faults which are not in the context of the current running process. We need to be careful here as the current hash_page() assumes current in a few places. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 80c49c7e4a397bb245d72a78e41640eeb0b6e953 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:57 2014 +1100 powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts This adds a number of functions for allocating IRQs under powernv PCIe for cxl. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1cd258d7faccb330145f08d838608b2c6ad41604 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:56 2014 +1100 cxl: Add new header for call backs and structs This new header adds callbacks and structs needed by the rest of the kernel to hook into the cxl infrastructure. This adds the cxl_ctx_in_use() function for use in the mm code to see if any cxl contexts are currently in use. This is used by the tlbie() to determine if it can do local TLB invalidations or not. This also adds get/put calls for the cxl driver module to refcount the active cxl contexts. cxl_ctx_get/put/in_use are static inlined here as they are called in tlbie which we want to be fast (mpe's suggestion). Empty functions are provided when CONFIG_CXL_BASE is not enabled. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fd9a1c26ae7d70a2dc1eafad7b9bf076ad8b67d9 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:55 2014 +1100 powerpc/powernv: Split out set MSI IRQ chip code Some of the MSI IRQ code in pnv_pci_ioda_msi_setup() is generically useful so split it out. This will be used by some of the cxl PCIe code later. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8ca7a82f7b64ad29206daba7bdaf2f8766437243 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:54 2014 +1100 powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize Export mmu_kernel_ssize and mmu_linear_psize. These are needed by the cxl driver which has it's own MMU. To setup the MMU cxl needs access to these. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b0345bbc6d0980e63b9730b487d4f4ccb8e5cd12 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:53 2014 +1100 powerpc/msi: Improve IRQ bitmap allocator Currently msi_bitmap_alloc_hwirqs() will round up any IRQ allocation requests to the nearest power of 2. eg. ask for 5 IRQs and you'll get 8. This wastes a lot of IRQs which can be a scarce resource. For cxl we may require multiple IRQs for every context that is attached to the accelerator. There may be 1000s of contexts attached, hence we can easily run out of IRQs, especially if we are needlessly wasting them. This changes the msi_bitmap_alloc_hwirqs() to allocate only the required number of IRQs, hence avoiding this wastage. It keeps the natural alignment requirement though. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit be3ebfe8215392b714349554c5138b8b6592fe20 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:52 2014 +1100 powerpc/cell: Make spu_flush_all_slbs() generic This moves spu_flush_all_slbs() into a generic call copro_flush_all_slbs(). This will be useful when we add cxl which also needs a similar SLB flush call. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 73d16a6e0e51990cbe13f8d8f43bd5329bbab30a Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:51 2014 +1100 powerpc/cell: Move data segment faulting code out of cell platform __spu_trap_data_seg() currently contains code to determine the VSID and ESID required for a particular EA and mm struct. This code is generically useful for other co-processors. This moves the code of the cell platform so it can be used by other powerpc code. It also adds 1TB segment handling which Cell didn't support. The new function is called copro_calculate_slb(). This also moves the internal struct spu_slb to a generic struct copro_slb which is now used in the Cell and copro code. We use this new struct instead of passing around esid and vsid parameters. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e83d01697583d8610d1d62279758c2a881e3396f Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:50 2014 +1100 powerpc/cell: Move spu_handle_mm_fault() out of cell platform Currently spu_handle_mm_fault() is in the cell platform. This code is generically useful for other non-cell co-processors on powerpc. This patch moves this function out of the cell platform into arch/powerpc/mm so that others may use it. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d29c0afe4db72ceb72149c3894a6079674e9751f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Oct 3 20:15:36 2014 +0200 GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0) use macro definition Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit aece118e487a744eafcdd0c77fe32b55ee2092a1 Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Tue Oct 7 01:19:49 2014 +0100 x86: Add cpu_detect_cache_sizes to init_intel() add Quark legacy_cache() Intel processors which don't report cache information via cpuid(2) or cpuid(4) need quirk code in the legacy_cache_size callback to report this data. For Intel that callback is is intel_size_cache(). This patch enables calling of cpu_detect_cache_sizes() inside of init_intel() and hence the calling of the legacy_cache callback in intel_size_cache(). Adding this call will ensure that PIII Tualatin currently in intel_size_cache() and Quark SoC X1000 being added to intel_size_cache() in this patch will report their respective cache sizes. This model of calling cpu_detect_cache_sizes() is consistent with AMD/Via/Cirix/Transmeta and Centaur. Also added is a string to idenitfy the Quark as Quark SoC X1000 giving better and more descriptive output via /proc/cpuinfo Adding cpu_detect_cache_sizes to init_intel() will enable calling of intel_size_cache() on Intel processors which currently no code can reach. Therefore this patch will also re-enable reporting of PIII Tualatin cache size information as well as add Quark SoC X1000 support. Comment text and cache flow logic suggested by Thomas Gleixner Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Cc: davej@xxxxxxxxxx Cc: hmh@xxxxxxxxxx Link: http://lkml.kernel.org/r/1412641189-12415-3-git-send-email-pure.logic@xxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2075244f9b871f18a007935c73d2ab49d4fb43e0 Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Tue Oct 7 01:19:48 2014 +0100 x86: Quark: Comment setup_arch() to document TLB/PGE bug Quark SoC X1000 advertises Page Global Enable for it's Translation Lookaside Buffer via cpuid. The silicon does not in fact support PGE and hence will not flush the TLB when CR4.PGE is rewritten. The Quark documentation makes clear the necessity to instead rewrite CR3 in order to flush any TLB entries, irrespective of the state of CR4.PGE or an individual PTE.PGE See Intel Quark Core DevMan_001.pdf section 6.4.11 In setup.c setup_arch() the code will load_cr3() and then do a __flush_tlb_all(). On Quark the entire TLB will be flushed at the load_cr3(). The __flush_tlb_all() have no effect and can be safely ignored. Later on in the boot process we switch off the flag for cpu_has_pge() which means that subsequent calls to __flush_tlb_all() will call __flush_tlb() not __flush_tlb_global() flushing the TLB in the correct way via load_cr3() not CR4.PGE rewrite This patch documents the behaviour of flushing the TLB for Quark in setup_arch() Comment text suggested by Thomas Gleixner Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Cc: davej@xxxxxxxxxx Cc: hmh@xxxxxxxxxx Link: http://lkml.kernel.org/r/1412641189-12415-2-git-send-email-pure.logic@xxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5f1d919a8ca15f450c749227bc5e2e18f3cbfdb4 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Wed Sep 24 08:40:14 2014 +0100 x86: Improve cmpxchg8b_emu.S - don't include unneeded headers - drop redundant entry point label - complete unwind annotations - use .L prefix on local labels to not clutter the symbol table Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/5422917E0200007800038081@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3f63572187f5ae6a0a9e5ebee88b57e6f71c3cd4 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Wed Sep 24 08:37:00 2014 +0100 x86: Improve cmpxchg16b_emu.S - don't include unneeded headers - don't open-code PER_CPU_VAR() - drop redundant entry point label - complete unwind annotations - use .L prefix on local label to not clutter the symbol table Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/542290BC020000780003807D@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 62d3ab49b8a5438d11a11605ea1a6d2fe0118f32 Author: Zach Brown <zab@xxxxxxxxx> Date: Mon Oct 6 16:40:13 2014 -0700 target/file: fix inclusive vfs_fsync_range() end Both of the file target's calls to vfs_fsync_range() got the end offset off by one. The range is inclusive, not exclusive. It would sync a bit more data than was required. The sync path already tested the length of the range and fell back to LLONG_MAX so I copied that pattern in the rw path. This is untested. I found the errors by inspection while following other code. Signed-off-by: Zach Brown <zab@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9f3e3cacb2ffdefe28c7cf490bf543e4dcb2770a Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Tue Jul 22 20:40:04 2014 +0530 dt: mailbox: add generic bindings Define generic bindings for the framework clients to request mailbox channels. Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 15320fbcec69dc3a4f217044ed848e4225397e25 Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Tue Jul 22 20:05:58 2014 +0530 doc: add documentation for mailbox framework Some explanations with examples of how to write to implement users and providers of the mailbox framework. Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 2b6d83e2b8b7de82331a6a1dcd64b51020a6031c Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Thu Jun 12 22:31:19 2014 +0530 mailbox: Introduce framework for mailbox Introduce common framework for client/protocol drivers and controller drivers of Inter-Processor-Communication (IPC). Client driver developers should have a look at include/linux/mailbox_client.h to understand the part of the API exposed to client drivers. Similarly controller driver developers should have a look at include/linux/mailbox_controller.h Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit f2fc42b6ac31f4d808da7a9da460dd433a71e976 Author: Suman Anna <s-anna@xxxxxx> Date: Thu Jun 12 22:30:34 2014 +0530 mailbox: rename pl320-ipc specific mailbox.h The patch 30058677 "ARM / highbank: add support for pl320 IPC" added a pl320 IPC specific header file as a generic mailbox.h. This file has been renamed appropriately to allow the introduction of the generic mailbox API framework. Acked-by: Mark Langsdorf <mark.langsdorf@xxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Suman Anna <s-anna@xxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 9a50aaefc1b896e734bf7faf3d085f71a360ce97 Merge: 1e345ac 19ac97f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:29:18 2014 -0400 Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI updates from James Bottomley: "This patch set consists of the usual driver updates (megaraid_sas, arcmsr, be2iscsi, lpfc, mpt2sas, mpt3sas, qla2xxx, ufs) plus several assorted fixes and miscellaneous updates (including the pci_msix_enable_range() changes that have been pending for a while)" * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (202 commits) scsi: add a CONFIG_SCSI_MQ_DEFAULT option ufs: definitions for phy interface ufs: tune bkops while power managment events ufs: Add support for clock scaling using devfreq framework ufs: Add freq-table-hz property for UFS device ufs: Add support for clock gating ufs: refactor configuring power mode ufs: add UFS power management support ufs: introduce well known logical unit in ufs ufs: manually add well known logical units ufs: Active Power Mode - configuring bActiveICCLevel ufs: improve init sequence ufs: refactor query descriptor API support ufs: add voting support for host controller power ufs: Add clock initialization support ufs: Add regulator enable support ufs: Allow vendor specific initialization scsi: don't add scsi_device if its already visible scsi: fix the type for well known LUs scsi: fix comment in struct Scsi_Host definition ... commit 1e345ac6869cd2f2d5d4b780fc5d5332dd1e8905 Merge: 39520ee 447a8b8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:26:52 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: "A few new haptic/button drivers, a rudimentary support for laptops using FocalTech touchpads; xpad driver will bind to more devices, and a few other driver fixes." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: soc_button_array - convert to platform bus Input: palmas-pwrbutton - fix typo in the license string Input: palmas-pwrbutton - use IRQF_ONESHOT Input: psmouse - add support for detecting FocalTech PS/2 touchpads Input: psmouse - add psmouse_matches_pnp_id helper function Input: joystick - use ktime for measuring timing Input: add haptic driver on max77693 Input: introduce palmas-pwrbutton Input: add support for the DRV2667 haptic driver Input: xpad - sync device IDs with xboxdrv Input: xpad - add VID/PID for Razer Sabertooth Input: cros_ec_keyb - optimize ghosting algorithm Input: drv260x - fix binding document Input: drv260x - add check for ERM mode and LRA Libraries Input: drv260x - remove unused defines Input: drv260x - add TI drv260x haptics driver commit 39520eea198a7fbba35f4c7cffb4323f78455716 Merge: 28596c9 ee5db7e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:17:29 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID updates from Jiri Kosina: - quirk for devices that need to be pulled in much more aggresive way than mandated, by Johan Hovold - robustification of sanity checking of incoming reports in RMI driver, by Benjamin Tissoires - fixes, updates, and new HW support to SONY driver, by Frank Praznik - port of uHID to the new transport layer layout, by David Herrmann - robustification of Clear-Halt/reset in USB HID, by Alan Stern - native support for hopefully any future HID compliant wacom tablet. Those found on the various laptops (ISDv4/5) already are HID compliant and they should work in the future without any modification of the kernel. Written by Benjamin Tissoires. - a lot more simple fixes and device ID additions all over the place * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (45 commits) HID: uHID: fix excepted report type HID: usbhid: add another mouse that needs QUIRK_ALWAYS_POLL HID: wacom: implement the finger part of the HID generic handling HID: wacom: implement generic HID handling for pen generic devices HID: wacom: move allocation of inputs earlier HID: wacom: split out input allocation and registration HID: wacom: rename failN with some meaningful information HID: sony: Update the DualShock 4 touchpad resolution HID: wacom: fix timeout on probe for some wacoms HID: sony: Set touchpad bits in the input_configured callback HID: sony: Update file header and correct comments HID: sony: Corrections for the DualShock 4 HID descriptor HID: rmi: check sanity of the incoming report HID: wacom: make the WL connection friendly for the desktop HID: wacom - enable LED support for Wireless Intuos5/Pro HID: wacom - remove report_id from wacom_get_report interface HID: wacom - Clean up of sysfs HID: wacom - Add default permission defines for sysfs attributes HID: usbhid: fix PIXART optical mouse HID: Add Holtek USB ID 04d9:a0c2 ETEKCITY Scroll ... commit 28596c9722289b2f98fa83a2e4351eb0a031b953 Merge: b6420eb 7bb38d5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:16:26 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull "trivial tree" updates from Jiri Kosina: "Usual pile from trivial tree everyone is so eagerly waiting for" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits) Remove MN10300_PROC_MN2WS0038 mei: fix comments treewide: Fix typos in Kconfig kprobes: update jprobe_example.c for do_fork() change Documentation: change "&" to "and" in Documentation/applying-patches.txt Documentation: remove obsolete pcmcia-cs from Changes Documentation: update links in Changes Documentation: Docbook: Fix generated DocBook/kernel-api.xml score: Remove GENERIC_HAS_IOMAP gpio: fix 'CONFIG_GPIO_IRQCHIP' comments tty: doc: Fix grammar in serial/tty dma-debug: modify check_for_stack output treewide: fix errors in printk genirq: fix reference in devm_request_threaded_irq comment treewide: fix synchronize_rcu() in comments checkstack.pl: port to AArch64 doc: queue-sysfs: minor fixes init/do_mounts: better syntax description MIPS: fix comment spelling powerpc/simpleboot: fix comment ... commit b6420ebd4a541455a75f9802f58cfa3ba0ea5390 Merge: d290106 0415447 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:14:57 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/doc Pull documentation updates from Jiri Kosina: "Updates to kernel documentation. I took this over (hopefully temporarily) from Randy who was not willing to maintain it any longer. This pile mostly is a relay of queue that Randy already had in his tree" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/doc: Documentation: fix broken v4l-utils URL Documentation: update include path for mpssd Documentation: correct parameter error for dma_mapping_error MAINTAINERS: update location of linux-doc tree Documentation: remove networking/.gitignore tools: add more endian.h macros Make Documenation depend on headers_install Docs: this_cpu_ops: remove redundant add forms Documentation: disable vdso_test to avoid breakage with old glibc Documentation: update vDSO makefile to build portable examples Documentation: update .gitignore files Documentation: support glibc versions without htole macros v4l2-pci-skeleton: Only build if PCI is available Documentation: fix misc. warnings Documentation: make functions static to avoid prototype warnings Documentation: add makefiles for more targets Documentation: use subdir-y to avoid unnecessary built-in.o files commit d29010694c7e78dadc0e3862b29481e0c4b48f04 Merge: 81e29b7 a2285b8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:12:56 2014 -0400 Merge tag 'spi-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi updates from Mark Brown: "A quiet release for SPI, mainly driver updates and not too many of them: - Support for dummy transfers (for delays on startup) in drivers using transfer_one(). - Lots of enhancements to the Designware driver to support new Intel SoCs. - Support for newer Renesas chips. - DMA support for the i.MX driver. - One new driver for Broadcom BCM53xx chips" * tag 'spi-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (64 commits) spi: spi-mxs: fix a tiny typo in a comment spi: dw-mid: follow new DMAengine workflow spi: dw-mid: convert to use DMAengine wrappers spi: dw-mid: change magic numbers to the constants spi: orion: support armada extended baud rates spi: fsl: Sort include headers alphabetically spi: bcm53xx: Add missing module information spi: bcm53xx: Fix module dependency spi/rockchip: fix bug that cause the failure to read data in DMA mode spi: fsl-dspi: Remove probe info message spi: pl022: Add support for chip select extension spi: Fix possible ZERO_SIZE_PTR pointer dereferencing error. spi: dw: fix style of code in few places spi: dw: introduce support of loopback mode spi: dw-mid: terminate ongoing transfers at exit spi: dw-mid: respect 8 bit mode spi: clps711x: Migrate to the new clk subsystem spi: pl022: Add missing error check for devm_kzalloc spi: spi-imx: add DMA support spi: davinci: add support for adding delay between word's transmissions ... commit 81e29b7d1be91ac78e561659171dd79af042aafd Merge: c831dd7 ad21edc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:07:48 2014 -0400 Merge tag 'regulator-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "This time around most of the changes are a lot of new drivers along with the standard set of fixes and cleanups (thanks again largely to Axel Lin). We do have one nice new feature in the core which factors out the disappointingly tricky code around DT parsing, only a couple of drivers have been converted so far: - Factor out the code for parsing the standard bindings for a set of regulators out of DT, making the probe part of a lot of drivers simplier. - New drivers for Dialog DA9213, HiSilicon HI6420, Intersil ISL9305/H, Ricoh RN5T618, Rockchip RK808, Skyworks SKY81452, Silergy SYR82x, and Qualcomm RPM" * tag 'regulator-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (71 commits) regulator: da9211: Fix a bug in update of mask bit regulator: pwm-regulator: add devicetree bindings for pwm regulator regulator: pwm-regulator: get voltage and duty table from dts regulator: qcom_rpm: Fix FORCE_MODE_IS_2_BITS macro regulator: qcom_rpm: Don't explicitly initialise the first field of config regulator: ltc3589: fix broken voltage transitions regulator: qcom-rpm: Regulator driver for the Qualcomm RPM regulator: axp20x: Use parent device as regulator configuration device regulator: fan53555: Fix null pointer dereference regulator: fan53555: Fixup report wrong vendor message regulator: fan53555: fix wrong cast in probe regulator: fan53555: add support for Silergy SYR82x regulators regulator: fan53555: add devicetree support regulator: add devicetree bindings for Fairchild FAN53555 regulators regulator: rk808: Add function for ramp delay for buck1/buck2 regulator: fan53555: use set_ramp_delay to set the ramp up slew rate regulator: fan53555: enable vin supply regulator: rk808: Fix missing of_node_put regulator: rk808: Remove unused variables regulator: of: Add stub OF match function for !OF case ... commit c831dd7352c0eedb270b9b6430590da5991bb65c Merge: 2b425a3 f5b313a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 20:57:56 2014 -0400 Merge tag 'regmap-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap updates from Mark Brown: "The main update this time around is the addition of a standard DT binding for specifying the endianness of devices. This allows drivers to support any endianness of device register map without any code, useful for configurable IP blocks. There's also a few bug fixes that I didn't get round to sending, none of them terribly severe or new, and a reduction in size for struct regmap" * tag 'regmap-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: Fix debugfs-file 'registers' mode regmap: fix possible ZERO_SIZE_PTR pointer dereferencing error. regmap: debugfs: fix possbile NULL pointer dereference regmap: fix NULL pointer dereference in _regmap_write/read regmap: fix NULL pointer dereference in regmap_get_val_endian regmap: cache: Do not fail silently from regcache_sync calls regmap: change struct regmap's internal locks as union regmap: Split regmap_get_endian() in two functions regmap: of_regmap_get_endian() cleanup regmap: Fix DT endianess parsing logic regmap: Add explicit dependencies to catch "select" misuse regmap: Restore L: linux-kernel@xxxxxxxxxxxxxxx entry regmap: Add the DT binding documentation for endianness regmap: add DT endianness binding support. commit 2b425a3f112aa24666fc5f415c8bf0e9132bb6c0 Merge: c91662c 2cdef8f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 20:56:28 2014 -0400 Merge tag 'pinctrl-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control changes from Linus Walleij: "This is the bulk of pin control changes for the v3.18 development series: - New drivers for the Freescale i.MX21, Qualcomm APQ8084 pin controllers. - Incremental new features on the Rockchip, atlas 6, OMAP, AM437x, APQ8064, prima2, AT91, Tegra, i.MX, Berlin and Nomadik. - Push Freescale drivers down into their own subdirectory. - Assorted sprays of syntax and semantic fixes" * tag 'pinctrl-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (48 commits) pinctrl: specify bindings for pins and groups pinctrl: nomadik: improve GPIO debug prints pinctrl: abx500: refactor DT parser to take two paths pinctrl: abx500: use helpers for map allocation/free pinctrl: alter device tree bindings for functions pinctrl: nomadik: refactor DT parser to take two paths pinctrl: nomadik: use utils map free function pinctrl: nomadik: use util function to reserve maps pinctrl: qcom: use restart_notifier mechanism for ps_hold pinctrl: sh-pfc: sh73a0: Remove unnecessary SoC data allocation pinctrl: berlin: fix the dt_free_map function pinctrl: at91: disable PD or PU before enabling PU or PD pinctrl: st: remove gpiochip in failure cases pinctrl: at91: Fix error handling while doing gpiochio_irqchip_add pinctrl: at91: Fix failure path in at91_gpio_probe path pinctrl: lantiq: Release gpiochip resources in fail case pinctrl: imx: detect uninitialized pins pinctrl: tegra: Add MIPI pad control pinctrl: at91: Switch to using managed clk_get pinctrl: adi2: Remove duplicate gpiochip_remove_pin_ranges ... commit c91662cb18f00f225c74816353f222b6997131ca Merge: d0cd848 a18c3f1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 20:54:50 2014 -0400 Merge tag 'edac_for_3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp Pull EDAC fixes from Borislav Petkov: "Misc small fixes/improvements accumulated from the summer months, nothing earth-shattering. The mpc85xx_edac fix is tagged for stable but since it got confirmed only days before the final 3.17 release, I didn't rush a last minute pull request to you. I hope that's ok as it will trickle down to stable anyway and we'll make sure it lands in 3.17-stable too" * tag 'edac_for_3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: mpc85xx_edac: Make L2 interrupt shared too amd64_edac: Modify usage of amd64_read_dct_pci_cfg() ppc4xx_edac: Fix build error caused by wrong member access EDAC: Fix mem_types strings type commit d0cd84817c745655428dbfdb1e3f754230b46bef Merge: bdf428f 3f33407 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 20:39:25 2014 -0400 Merge tag 'dmaengine-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine Pull dmaengine updates from Dan Williams: "Even though this has fixes marked for -stable, given the size and the needed conflict resolutions this is 3.18-rc1/merge-window material. These patches have been languishing in my tree for a long while. The fact that I do not have the time to do proper/prompt maintenance of this tree is a primary factor in the decision to step down as dmaengine maintainer. That and the fact that the bulk of drivers/dma/ activity is going through Vinod these days. The net_dma removal has not been in -next. It has developed simple conflicts against mainline and net-next (for-3.18). Continuing thanks to Vinod for staying on top of drivers/dma/. Summary: 1/ Step down as dmaengine maintainer see commit 08223d80df38 "dmaengine maintainer update" 2/ Removal of net_dma, as it has been marked 'broken' since 3.13 (commit 77873803363c "net_dma: mark broken"), without reports of performance regression. 3/ Miscellaneous fixes" * tag 'dmaengine-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine: net: make tcp_cleanup_rbuf private net_dma: revert 'copied_early' net_dma: simple removal dmaengine maintainer update dmatest: prevent memory leakage on error path in thread ioat: Use time_before_jiffies() dmaengine: fix xor sources continuation dma: mv_xor: Rename __mv_xor_slot_cleanup() to mv_xor_slot_cleanup() dma: mv_xor: Remove all callers of mv_xor_slot_cleanup() dma: mv_xor: Remove unneeded mv_xor_clean_completed_slots() call ioat: Use pci_enable_msix_exact() instead of pci_enable_msix() drivers: dma: Include appropriate header file in dca.c drivers: dma: Mark functions as static in dma_v3.c dma: mv_xor: Add DMA API error checks ioat/dca: Use dev_is_pci() to check whether it is pci device commit 28b7deae75642c51f097391765fd39ff0dd6ce95 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 7 22:12:03 2014 +0200 wimax: convert printk to pr_foo() Use current logging functions and add module name prefix. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdf428feb225229b1d4715b45bbdad4a934cd89c Merge: a40a720 184c3fc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 20:17:38 2014 -0400 Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module update from Rusty Russell: "Nothing major: support for compressing modules, and auto-tainting params. PS. My virtio-next tree is empty: DaveM took the patches I had. There might be a virtio-rng starvation fix, but so far it's a bit voodoo so I will get to that in the next two days or it will wait" * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: moduleparam: Resolve missing-field-initializer warning kbuild: handle module compression while running 'make modules_install'. modinst: wrap long lines in order to enhance cmd_modules_install modsign: lookup lines ending in .ko in .mod files modpost: simplify file name generation of *.mod.c files modpost: reduce visibility of symbols and constify r/o arrays param: check for tainting before calling set op. drm/i915: taint the kernel if unsafe module parameters are set module: add module_param_unsafe and module_param_named_unsafe module: make it possible to have unsafe, tainting module params module: rename KERNEL_PARAM_FL_NOARG to avoid confusion commit 1e99cfa8de0f0879091e33cd65fd60418d006ad9 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 19:04:58 2014 +1100 drm/ast: Fix HW cursor image The translation from the X driver to the KMS one typo'ed a couple of array indices, causing the HW cursor to look weird (blocky with leaking edge colors). This fixes it. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 960baba41f3cfb0a97bb1f0e720334156b2eff75 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 7 18:19:53 2014 +0200 ASoC: imx-es8328: Fix of_node_put() call with uninitialized object The of_node_put() calls in imx_es8328_probe() may take uninitialized pointers when reached though the early error path. This patch adds the proper NULL initialization for fixing these. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 37017ac6849e772e67dd187ba2fbd056c4afa533 Author: Scott Carter <ccscott@xxxxxxxxxxx> Date: Wed Sep 24 18:13:09 2014 -0700 pata_serverworks: disable 64-KB DMA transfers on Broadcom OSB4 IDE Controller The Broadcom OSB4 IDE Controller (vendor and device IDs: 1166:0211) does not support 64-KB DMA transfers. Whenever a 64-KB DMA transfer is attempted, the transfer fails and messages similar to the following are written to the console log: [ 2431.851125] sr 0:0:0:0: [sr0] Unhandled sense code [ 2431.851139] sr 0:0:0:0: [sr0] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE [ 2431.851152] sr 0:0:0:0: [sr0] Sense Key : Hardware Error [current] [ 2431.851166] sr 0:0:0:0: [sr0] Add. Sense: Logical unit communication time-out [ 2431.851182] sr 0:0:0:0: [sr0] CDB: Read(10): 28 00 00 00 76 f4 00 00 40 00 [ 2431.851210] end_request: I/O error, dev sr0, sector 121808 When the libata and pata_serverworks modules are recompiled with ATA_DEBUG and ATA_VERBOSE_DEBUG defined in libata.h, the 64-KB transfer size in the scatter-gather list can be seen in the console log: [ 2664.897267] sr 9:0:0:0: [sr0] Send: [ 2664.897274] 0xf63d85e0 [ 2664.897283] sr 9:0:0:0: [sr0] CDB: [ 2664.897288] Read(10): 28 00 00 00 7f b4 00 00 40 00 [ 2664.897319] buffer = 0xf6d6fbc0, bufflen = 131072, queuecommand 0xf81b7700 [ 2664.897331] ata_scsi_dump_cdb: CDB (1:0,0,0) 28 00 00 00 7f b4 00 00 40 [ 2664.897338] ata_scsi_translate: ENTER [ 2664.897345] ata_sg_setup: ENTER, ata1 [ 2664.897356] ata_sg_setup: 3 sg elements mapped [ 2664.897364] ata_bmdma_fill_sg: PRD[0] = (0x66FD2000, 0xE000) [ 2664.897371] ata_bmdma_fill_sg: PRD[1] = (0x65000000, 0x10000) ------------------------------------------------------> ======= [ 2664.897378] ata_bmdma_fill_sg: PRD[2] = (0x66A10000, 0x2000) [ 2664.897386] ata1: ata_dev_select: ENTER, device 0, wait 1 [ 2664.897422] ata_sff_tf_load: feat 0x1 nsect 0x0 lba 0x0 0x0 0xFC [ 2664.897428] ata_sff_tf_load: device 0xA0 [ 2664.897448] ata_sff_exec_command: ata1: cmd 0xA0 [ 2664.897457] ata_scsi_translate: EXIT [ 2664.897462] leaving scsi_dispatch_cmnd() [ 2664.897497] Doing sr request, dev = sr0, block = 0 [ 2664.897507] sr0 : reading 64/256 512 byte blocks. [ 2664.897553] ata_sff_hsm_move: ata1: protocol 7 task_state 1 (dev_stat 0x58) [ 2664.897560] atapi_send_cdb: send cdb [ 2666.910058] ata_bmdma_port_intr: ata1: host_stat 0x64 [ 2666.910079] __ata_sff_port_intr: ata1: protocol 7 task_state 3 [ 2666.910093] ata_sff_hsm_move: ata1: protocol 7 task_state 3 (dev_stat 0x51) [ 2666.910101] ata_sff_hsm_move: ata1: protocol 7 task_state 4 (dev_stat 0x51) [ 2666.910129] sr 9:0:0:0: [sr0] Done: [ 2666.910136] 0xf63d85e0 TIMEOUT lspci shows that the driver used for the Broadcom OSB4 IDE Controller is pata_serverworks: 00:0f.1 IDE interface: Broadcom OSB4 IDE Controller (prog-if 8e [Master SecP SecO PriP]) Flags: bus master, medium devsel, latency 64 [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8] [virtual] Memory at 000003f0 (type 3, non-prefetchable) [size=1] I/O ports at 0170 [size=8] I/O ports at 0374 [size=4] I/O ports at 1440 [size=16] Kernel driver in use: pata_serverworks The pata_serverworks driver supports five distinct device IDs, one being the OSB4 and the other four belonging to the CSB series. The CSB series appears to support 64-KB DMA transfers, as tests on a machine with an SAI2 motherboard containing a Broadcom CSB5 IDE Controller (vendor and device IDs: 1166:0212) showed no problems with 64-KB DMA transfers. This problem was first discovered when attempting to install openSUSE from a DVD on a machine with an STL2 motherboard. Using the pata_serverworks module, older releases of openSUSE will not install at all due to the timeouts. Releases of openSUSE prior to 11.3 can be installed by disabling the pata_serverworks module using the brokenmodules boot parameter, which causes the serverworks module to be used instead. Recent releases of openSUSE (12.2 and later) include better error recovery and will install, though very slowly. On all openSUSE releases, the problem can be recreated on a machine containing a Broadcom OSB4 IDE Controller by mounting an install DVD and running a command similar to the following: find /mnt -type f -print | xargs cat > /dev/null The patch below corrects the problem. Similar to the other ATA drivers that do not support 64-KB DMA transfers, the patch changes the ata_port_operations qc_prep vector to point to a routine that breaks any 64-KB segment into two 32-KB segments and changes the scsi_host_template sg_tablesize element to reduce by half the number of scatter/gather elements allowed. These two changes affect only the OSB4. Signed-off-by: Scott Carter <ccscott@xxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1c40279960bcd7d52dbdf1d466b20d24b99176c8 Author: George Spelvin <linux@xxxxxxxxxxx> Date: Tue Oct 7 07:26:38 2014 -0400 libata: Un-break ATA blacklist lib/glob.c provides a new glob_match() function, with arguments in (pattern, string) order. It replaced a private function with arguments in (string, pattern) order, but I didn't swap the call site... The result was the entire ATA blacklist was effectively disabled. The lesson for today is "I f***ed up *how* badly *how* many months ago?", er, I mean "Nobody Tests RC Kernels On Legacy Hardware". This was not a subtle break, but it made it through an entire RC cycle unreported, presumably because all the people doing testing have full-featured hardware. (FWIW, the reason for the argument swap was because fnmatch() does it that way, and for a while implementing a full fnmatch() was being considered.) Fixes: 428ac5fc056e0 (libata: Use glob_match from lib/glob.c) Reported-by: Steven Honeyman <stevenhoneyman@xxxxxxxxx> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71371#c21 Signed-off-by: George Spelvin <linux@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.17 Tested-by: Steven Honeyman <stevenhoneyman@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 505e907db388185649d93925c9975d0a0704ea64 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 7 23:02:15 2014 +0200 af_unix: remove 0 assignment on static static values are automatically initialized to 0 Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19ac97ff701ae3c0eda09dd88f590806f1c4eb2d Merge: 24c20f1 e785060 Author: James Bottomley <JBottomley@xxxxxxxxxxxxx> Date: Tue Oct 7 13:48:12 2014 -0700 Merge remote-tracking branch 'scsi-queue/drivers-for-3.18' into for-linus commit d832d743385dd5e735660951aa9d7d36a6a4176a Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Oct 7 16:34:25 2014 -0400 ktest: Don't bother with bisect good or bad on replay If git bisect reply is being used in the bisect tests, don't bother doing the git bisect good or git bisect bad calls. The git bisect reply will override them anyway, and that's called immediately after the other two. Going the git bisect (good|bad) is just a waste of time. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ea85a0a2dc7263de733b7d1d13a433d35fcf36f7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 7 16:33:53 2014 -0400 ipv6: Do not warn for informational ICMP messages, regardless of type. There is no reason to emit a log message for these. Based upon a suggestion from Hannes Frederic Sowa. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> commit 995bc4314071db148222497875be32d1eb73726d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Oct 7 16:31:07 2014 -0400 ktest: Fix check for new kernel success on rebooting to good kernel The reboot function when rebooting back to a good kernel has a check to make sure that a new kernel was indeed booted. But that check uses a timeout value, which when calling the monitor will still return success if the timeout is hit (no bug was found). It should return an error to let the reboot code know that a new kernel was not reached. Only the reboot code checks the return value of the monitor. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0d4cf4e6bf29033709ae8aba4645d873ed0167cc Author: Chris Mason <clm@xxxxxx> Date: Tue Oct 7 13:24:20 2014 -0700 Btrfs: fix compiles when CONFIG_BTRFS_FS_RUN_SANITY_TESTS is off Commit fccb84c94 moved added some helpers to cleanup our sanity tests, but it looks like both Dave and I always compile with the tests enabled. This fixes things to work when they are turned off too. Signed-off-by: Chris Mason <clm@xxxxxx> commit 1cef94c36bd4d79b5ae3a3df99ee0d76d6a4a6dc Author: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Date: Tue Oct 7 08:12:37 2014 -0500 sparc64: Increase size of boot string to 1024 bytes This is the longest boot string that silo supports. Signed-off-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Cc: Bob Picco <bob.picco@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3a803e81713c8d1f3a79afdc35014f3f9f07561 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Oct 3 14:45:00 2014 -0700 Update Intel Ethernet Driver maintainers list I will no longer be working for Intel as of today. As such I am removing myself from the maintainers list and adding my replacement, Matthew Vick as he will be taking over maintenance of the fm10k driver. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93fdd47e52f3f869a437319db9da1ea409acc07e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 5 12:00:22 2014 +0800 bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING As we may defragment the packet in IPv4 PRE_ROUTING and refragment it after POST_ROUTING we should save the value of frag_max_size. This is still very wrong as the bridge is supposed to leave the packets intact, meaning that the right thing to do is to use the original frag_list for fragmentation. Unfortunately we don't currently guarantee that the frag_list is left untouched throughout netfilter so until this changes this is the best we can do. There is also a spot in FORWARD where it appears that we can forward a packet without going through fragmentation, mark it so that we can fix it later. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c393d179924685d5c8c72446c5b6401f25fdb2a0 Author: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Date: Tue Oct 7 17:04:30 2014 +0200 ath9k_htc: avoid kernel panic in ath9k_hw_reset hw pointer of ath_hw is not assigned to proper value in function ath9k_hw_reset what finally causes kernel panic. This can be solved by proper initialization of ath_hw in ath9k_init_priv. Signed-off-by: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Acked-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 02a1335f25a386db9afc68f8315162f862aac93f Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 6 16:11:16 2014 -0700 f2fs: support volatile operations for transient data This patch adds support for volatile writes which keep data pages in memory until f2fs_evict_inode is called by iput. For instance, we can use this feature for the sqlite database as follows. While supporting atomic writes for main database file, we can keep its journal data temporarily in the page cache by the following sequence. 1. open -> ioctl(F2FS_IOC_START_VOLATILE_WRITE); 2. writes : keep all the data in the page cache. 3. flush to the database file with atomic writes a. ioctl(F2FS_IOC_START_ATOMIC_WRITE); b. writes c. ioctl(F2FS_IOC_COMMIT_ATOMIC_WRITE); 4. close -> drop the cached data Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 908344cdda8039dd5c291e8a1ddd49649dff8c4b Author: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Date: Tue Oct 7 14:12:34 2014 -0400 tipc: fix bug in multicast congestion handling One aim of commit 50100a5e39461b2a61d6040e73c384766c29975d ("tipc: use pseudo message to wake up sockets after link congestion") was to handle link congestion abatement in a uniform way for both unicast and multicast transmit. However, the latter doesn't work correctly, and has been broken since the referenced commit was applied. If a user now sends a burst of multicast messages that is big enough to cause broadcast link congestion, it will be put to sleep, and not be waked up when the congestion abates as it should be. This has two reasons. First, the flag that is used, TIPC_WAKEUP_USERS, is set correctly, but in the wrong field. Instead of setting it in the 'action_flags' field of the arrival node struct, it is by mistake set in the dummy node struct that is owned by the broadcast link, where it will never tested for. Second, we cannot use the same flag for waking up unicast and multicast users, since the function tipc_node_unlock() needs to pick the wakeup pseudo messages to deliver from different queues. It must hence be able to distinguish between the two cases. This commit solves this problem by adding a new flag TIPC_WAKEUP_BCAST_USERS, and a new function tipc_bclink_wakeup_user(). The latter is to be called by tipc_node_unlock() when the named flag, now set in the correct field, is encountered. v2: using explicit 'unsigned int' declaration instead of 'uint', as per comment from David Miller. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b18111d911980af52bead74ee45250cc96ad5108 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Tue Oct 7 10:14:37 2014 +0530 ath9k: Fix crash in MCC mode When a channel context is removed, the hw_queue_base is set to -1, this will result in a panic because ath9k_chanctx_stop_queues() can be called on an interface that is not assigned to any context yet - for example, when trying to scan. Fix this issue by setting the hw_queue_base to zero when a channel context is removed. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d2a993e20e717a4ccbfa9a58b29362e4446208a0 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Tue Oct 7 10:14:36 2014 +0530 ath: Fix smatch warning drivers/net/wireless/ath/main.c:88 ath_printk() error: we previously assumed 'common->hw' could be null (see line 82) Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 79ee65659e116a49c81f63480a7672b7cbafa323 Author: Andrea Merello <andrea.merello@xxxxxxxxx> Date: Mon Oct 6 20:23:55 2014 +0200 rtl818x_pci: fix response rate may be incorrect. Currently the allowed "respose rate" set (rates for HW generated frames like ACKs) is the same as the basic rate set. The HW will use the higher allowed response rate that is lower than the rate of the received frame. This is more or less what IEEE80211 mandates, but I missed the fact that IEEE80211 also says that whenever it happens that for a modulation class there is no any rate in the basic rates set, then the response rate set shall include also all the mandatory rates for that modulation class. This patch adds mandatory OFDM rates to the allowed response rate set if no OFDM rate is included in the basic rate set. Depending by the AP, I faced cases in which this patch seems to cause a noticeable perfomance improvement. - With my usual test AP there is no particular perfomance difference. - With a prism54/hostapd AP this patch causes RX thoughput increase from about 5Mbps to about 20Mbps. Hopefully this patch may help people that faced performance regression wrt the old staging driver. Signed-off-by: Andrea Merello <andrea.merello@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d7ffd588f00ef2d9d0f3acc569ddbaebe5c4f8c3 Merge: 3f08e47 f8adaf0a Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Tue Oct 7 14:48:29 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless commit f0d1f04f0a2f662b6b617e24d115fddcf6ef8723 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Oct 7 19:02:11 2014 +0200 netfilter: fix wrong arithmetics regarding NFT_REJECT_ICMPX_MAX NFT_REJECT_ICMPX_MAX should be __NFT_REJECT_ICMPX_MAX - 1. nft_reject_icmp_code() and nft_reject_icmpv6_code() are called from the packet path, so BUG_ON in case we try to access an unknown abstracted ICMP code. This should not happen since we already validate this from nft_reject_{inet,bridge}_init(). Fixes: 51b0a5d ("netfilter: nft_reject: introduce icmp code abstraction for inet and bridge") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5e63dfccf34d4dbf21429c4919f33c028ff49991 Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Tue Oct 7 14:33:46 2014 +0200 ASoC: soc-pcm: fix sig_bits determination in soc_pcm_apply_msb() In the SNDRV_PCM_STREAM_CAPTURE branch in soc_pcm_apply_msb(), look at sig_bits of the capture stream, not the playback one. Spotted by coverity. Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1b2b32dcdb3df28dd103033c73cac2417fa05845 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Sep 24 08:38:44 2014 -0400 locks: fix fcntl_setlease/getlease return when !CONFIG_FILE_LOCKING Currently they both just return 0. Fix them to return more appropriate values instead. For better or worse, most places in the kernel return -EINVAL when leases aren't available. -ENOLCK would probably have been better, but let's follow suit here in the case of F_SETLEASE. In the F_GETLEASE case, just return F_UNLCK since we know that no lease will have been set. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 6e129d00689c4d75253d1d428e82047b0aef5891 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Sep 4 10:25:06 2014 -0400 locks: flock_make_lock should return a struct file_lock (or PTR_ERR) Eliminate the need for a return pointer. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 7ca76311fe6c397e9f332e5e6c79e3310d5ee98a Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Sep 1 19:04:48 2014 -0400 locks: set fl_owner for leases to filp instead of current->files Like flock locks, leases are owned by the file description. Now that the i_have_this_lease check in __break_lease is gone, we don't actually use the fl_owner for leases for anything. So, it's now safe to set this more appropriately to the same value as the fl_file. While we're at it, fix up the comments over the fl_owner_t definition since they're rather out of date. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 4d01b7f5e7576858b71cbaa72b541e17a229cb91 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Sep 1 15:06:54 2014 -0400 locks: give lm_break a return value Christoph suggests: "Add a return value to lm_break so that the lock manager can tell the core code "you can delete this lease right now". That gets rid of the games with the timeout which require all kinds of race avoidance code in the users." Do that here and have the nfsd lease break routine use it when it detects that there was a race between setting up the lease and it being broken. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 03d12ddf845a4eb874ffa558d65a548aee9b715b Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Sep 1 14:53:41 2014 -0400 locks: __break_lease cleanup in preparation of allowing direct removal of leases Eliminate an unneeded "flock" variable. We can use "fl" as a loop cursor everywhere. Add a any_leases_conflict helper function as well to consolidate a bit of code. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 843c6b2f4cef384af8e0de6b7ac7191675030e3a Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Sep 1 14:27:43 2014 -0400 locks: remove i_have_this_lease check from __break_lease I think that the intent of this code was to ensure that a process won't deadlock if it has one fd open with a lease on it and then breaks that lease by opening another fd. In that case it'll treat the __break_lease call as if it were non-blocking. This seems wrong -- the process could (for instance) be multithreaded and managing different fds via different threads. I also don't see any mention of this limitation in the (somewhat sketchy) documentation. Remove the check and the non-blocking behavior when i_have_this_lease is true. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit c45198eda2794bb72601c9f96266d8b95db66dd5 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Sep 1 07:12:07 2014 -0400 locks: move freeing of leases outside of i_lock There was only one place where we still could free a file_lock while holding the i_lock -- lease_modify. Add a new list_head argument to the lm_change operation, pass in a private list when calling it, and fix those callers to dispose of the list once the lock has been dropped. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit f82b4b6780afabce9d9a91c84fae17ec3d63b9d7 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 18:50:48 2014 -0400 locks: move i_lock acquisition into generic_*_lease handlers Now that we have a saner internal API for managing leases, we no longer need to mandate that the inode->i_lock be held over most of the lease code. Push it down into generic_add_lease and generic_delete_lease. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 1c7dd2ff430fa14b45c9def54468e3a25ab8342b Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:55:47 2014 -0400 locks: define a lm_setup handler for leases ...and move the fasync setup into it for fcntl lease calls. At the same time, change the semantics of how the file_lock double-pointer is handled. Up until now, on a successful lease return you got a pointer to the lock on the list. This is bad, since that pointer can no longer be relied on as valid once the inode->i_lock has been released. Change the code to instead just zero out the pointer if the lease we passed in ended up being used. Then the callers can just check to see if it's NULL after the call and free it if it isn't. The priv argument has the same semantics. The lm_setup function can zero the pointer out to signal to the caller that it should not be freed after the function returns. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit e6f5c78930e409f3a6b37f5484313a416359ac7f Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:40:25 2014 -0400 locks: plumb a "priv" pointer into the setlease routines In later patches, we're going to add a new lock_manager_operation to finish setting up the lease while still holding the i_lock. To do this, we'll need to pass a little bit of info in the fcntl setlease case (primarily an fasync structure). Plumb the extra pointer into there in advance of that. We declare this pointer as a void ** to make it clear that this is private info, and that the caller isn't required to set this unless the lm_setup specifically requires it. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 0c637be884f5eaa0ee53396ea7686ec0de03d126 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 12:05:43 2014 -0400 nfsd: don't keep a pointer to the lease in nfs4_file Now that we don't need to pass in an actual lease pointer to vfs_setlease on unlock, we can stop tracking a pointer to the lease in the nfs4_file. Switch all of the places that check the fi_lease to check fi_deleg_file instead. We always set that at the same time so it will have the same semantics. Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit e51673aa5d9a8c75cc836fac687fa4dde9a76182 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 18:13:28 2014 -0400 locks: clean up vfs_setlease kerneldoc comments Some of the latter paragraphs seem ambiguous and just plain wrong. In particular the break_lease comment makes no sense. We call break_lease (and break_deleg) from all sorts of vfs-layer functions, so there is clearly such a method. Also get rid of some of the other comments about what's needed for a full implementation. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 0efaa7e82f02fe69c05ad28e905f31fc86e6f08e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:18:45 2014 -0400 locks: generic_delete_lease doesn't need a file_lock at all Ensure that it's OK to pass in a NULL file_lock double pointer on a F_UNLCK request and convert the vfs_setlease F_UNLCK callers to do just that. Finally, turn the BUG_ON in generic_setlease into a WARN_ON_ONCE with an error return. That's a problem we can handle without crashing the box if it occurs. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 415b96c5a1fe31ed9deb0618e95ecbb1df3de54c Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 12:26:36 2014 -0400 nfsd: fix potential lease memory leak in nfs4_setlease It's unlikely to ever occur, but if there were already a lease set on the file then we could end up getting back a different pointer on a successful setlease attempt than the one we allocated. If that happens, the one we allocated could leak. In practice, I don't think this will happen due to the fact that we only try to set up the lease once per nfs4_file, but this error handling is a bit more correct given the current lease API. Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit bfe8602436c803c6d5e271d52cd985d491a7470a Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:18:44 2014 -0400 locks: close potential race in lease_get_mtime lease_get_mtime is called without the i_lock held, so there's no guarantee about the stability of the list. Between the time when we assign "flock" and then dereference it to check whether it's a lease and for write, the lease could be freed. Ensure that that doesn't occur by taking the i_lock before trying to check the lease. Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 91c1a09b33c902e20e09d9742560cc238a714de5 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Oct 7 18:48:12 2014 +0200 netfilter: kill nf_send_reset6() from include/net/netfilter/ipv6/nf_reject.h nf_send_reset6() now resides in net/ipv6/netfilter/nf_reject_ipv6.c Fixes: c8d7b98 ("netfilter: move nf_send_resetX() code to nf_reject_ipvX modules") Reported-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> commit 2dbab9784db1c0de517922d81394d9ff4a33c544 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Oct 7 15:09:26 2014 +0200 ASoC: simple-card: Initialize headphone and mic GPIO numbers The uninitialized default of 0 for gpio_hp_det and gpio_mic_det doesn't play well with asm-generic's gpio_is_valid(): static inline bool gpio_is_valid(int number) { return number >= 0 && number < ARCH_NR_GPIOS; } Hence on r8a7740/armadillo-legacy: sh-mobile-hdmi sh-mobile-hdmi: SH Mobile HDMI Audio Codec sh-mobile-hdmi sh-mobile-hdmi: ASoC: DAPM unknown pin Headphones sh-mobile-hdmi sh-mobile-hdmi: ASoC: DAPM unknown pin Mic Jack After that the kernel log is spammed ca. 7 times per second with: sh-mobile-hdmi sh-mobile-hdmi: ASoC: DAPM unknown pin Headphones Initialize the GPIO numbers with a negative number (-ENOENT) to fix this. Fixes: 3fe240326cc395c6 ("ASoC: simple-card: Add mic and hp detect gpios.") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a40a7201a4584a66ab234ba1006472be952f20e0 Merge: 74da386 567eded Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 13:22:40 2014 -0400 Merge branch 'ipmi' (patches from Corey Minyard) Merge ipmi patches from Corey Minyard: "These have been in linux-next for a while, ready for 3.18" * emailed patches from Corey Minyard <minyard@xxxxxxx>: ipmi: Clear drvdata when interface is removed ipmi: work around gcc-4.9 build warning ipmi/of: Don't use unavailable interfaces ipmi: Clean up the error handling for channel config errors commit 567eded965e589df25ebc26e3041a0a4aba4cf42 Author: Takao Indoh <indou.takao@xxxxxxxxxxxxxx> Date: Mon Oct 6 14:17:53 2014 -0500 ipmi: Clear drvdata when interface is removed This patch fixes a bug on hotmod removing. After ipmi interface is removed using hotmod, kernel panic occurs when rmmod impi_si. For example, try this: # echo "remove,"`cat /proc/ipmi/0/params` > \ /sys/module/ipmi_si/parameters/hotmod # rmmod ipmi_si Then, rmmod fails with the following messages. ------------[ cut here ]------------ WARNING: CPU: 12 PID: 10819 at /mnt/repos/linux/lib/list_debug.c:53 __list_del_entry+0x63/0xd0() CPU: 12 PID: 10819 Comm: rmmod Not tainted 3.17.0-rc1 #19 Hardware name: FUJITSU-SV PRIMERGY BX920 S2/D3030, BIOS 080015 Rev.3D81.3030 02/10/2012 Call Trace: dump_stack+0x45/0x56 warn_slowpath_common+0x7d/0xa0 warn_slowpath_fmt+0x4c/0x50 __list_del_entry+0x63/0xd0 list_del+0xd/0x30 cleanup_one_si+0x2a/0x230 [ipmi_si] ipmi_pnp_remove+0x15/0x20 [ipmi_si] pnp_device_remove+0x24/0x40 __device_release_driver+0x7f/0xf0 driver_detach+0xb0/0xc0 bus_remove_driver+0x55/0xd0 driver_unregister+0x2c/0x50 pnp_unregister_driver+0x12/0x20 cleanup_ipmi_si+0xbc/0xf0 [ipmi_si] SyS_delete_module+0x132/0x1c0 system_call_fastpath+0x16/0x1b ---[ end trace 70b4377268f85c23 ]--- list_del in cleanup_one_si() fails because the smi_info is already removed when hotmod removing. When ipmi interface is removed by hotmod, smi_info is removed by cleanup_one_si(), but is is still set in drvdata. Therefore when rmmod ipmi_si, ipmi_pnp_remove tries to remove it again and fails. By this patch, a pointer to smi_info in drvdata is cleared when hotmod removing so that it will be not accessed when rmmod. changelog: v2: - Clear drvdata in cleanup_one_si - Change subject v1: https://lkml.org/lkml/2014/9/8/741 Signed-off-by: Takao Indoh <indou.takao@xxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cc4cbe9011bf995f48fa62f3c675e57284c50635 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 6 14:17:52 2014 -0500 ipmi: work around gcc-4.9 build warning Building ipmi on arm with gcc-4.9 results in this warning for an allmodconfig build: drivers/char/ipmi/ipmi_si_intf.c: In function 'ipmi_thread': include/linux/time.h:28:5: warning: 'busy_until.tv_sec' may be used uninitialized in this function [-Wmaybe-uninitialized] if (lhs->tv_sec > rhs->tv_sec) ^ drivers/char/ipmi/ipmi_si_intf.c:1007:18: note: 'busy_until.tv_sec' was declared here struct timespec busy_until; ^ The warning is bogus and this case can not occur. Apparently this is a false positive resulting from gcc getting a little smarter about tracking assignments but not smart enough. Marking the ipmi_thread_busy_wait function as inline gives the gcc optimization logic enough information to figure out for itself that the case cannot happen, which gets rid of the warning without adding any fake initialization. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08dc41696ad7f3f8bcb2ea8cb97935a6e79a1bd7 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 14:17:51 2014 -0500 ipmi/of: Don't use unavailable interfaces If an IPMI controller is used by the firmware and as such marked with a reserved status, we shouldn't use it. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1f6684235825684b6257b7169b122011494c8a4d Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Mon Oct 6 14:17:50 2014 -0500 ipmi: Clean up the error handling for channel config errors The code to send the channel config errors was missing an error report in one place and needed some more information in another, and had an extraneous bit of code. Clean all that up. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0287587884b15041203b3a362d485e1ab1f24445 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 18:38:35 2014 -0700 net: better IFF_XMIT_DST_RELEASE support Testing xmit_more support with netperf and connected UDP sockets, I found strange dst refcount false sharing. Current handling of IFF_XMIT_DST_RELEASE is not optimal. Dropping dst in validate_xmit_skb() is certainly too late in case packet was queued by cpu X but dequeued by cpu Y The logical point to take care of drop/force is in __dev_queue_xmit() before even taking qdisc lock. As Julian Anastasov pointed out, need for skb_dst() might come from some packet schedulers or classifiers. This patch adds new helper to cleanly express needs of various drivers or qdiscs/classifiers. Drivers that need skb_dst() in their ndo_start_xmit() should call following helper in their setup instead of the prior : dev->priv_flags &= ~IFF_XMIT_DST_RELEASE; -> netif_keep_dst(dev); Instead of using a single bit, we use two bits, one being eventually rebuilt in bonding/team drivers. The other one, is permanent and blocks IFF_XMIT_DST_RELEASE being rebuilt in bonding/team. Eventually, we could add something smarter later. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Julian Anastasov <ja@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe971b95c22578456ff7198537827841c726d3f7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 6 09:30:35 2014 -0700 net/mlx4_en: remove NETDEV_TX_BUSY Drivers should avoid NETDEV_TX_BUSY as much as possible. They should stop the tx queue before qdisc even tries to push another packet, to avoid requeues. For a driver supporting skb->xmit_more, this is likely to be a prereq anyway, otherwise we could have a tx deadlock : We need to force a doorbell if TX ring is full. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88b09a6d958af6c458acf055ee2eb5bc9564efda Author: Sylvain "ythier" Hitier <sylvain.hitier@xxxxxxxxx> Date: Tue Oct 7 13:40:34 2014 +0000 3c59x: fix bad split of cpu_to_le32(pci_map_single()) In commit 6f2b6a3005b2c34c39f207a87667564f64f2f91a, # 3c59x: Add dma error checking and recovery the intent is to split out the mapping from the byte-swapping in order to insert a dma_mapping_error() check. Kinda this semantic patch: // See http://coccinelle.lip6.fr/ // // Beware, grouik-and-dirty! @@ expression DEV, X, Y, Z; @@ - cpu_to_le32(pci_map_single(DEV, X, Y, Z)) + dma_addr_t addr = pci_map_single(DEV, X, Y, Z); + if (dma_mapping_error(&DEV->dev, addr)) + /* snip */; + cpu_to_le32(addr) However, the #else part (of the #if DO_ZEROCOPY test) is changed this way: - cpu_to_le32(pci_map_single(DEV, X, Y, Z)) + dma_addr_t addr = cpu_to_le32(pci_map_single(DEV, X, Y, Z)); // ^^^^^^^^^^^ // That mismatches the 3 other changes! + if (dma_mapping_error(&DEV->dev, addr)) + /* snip */; + cpu_to_le32(addr) Let's remove the leftover cpu_to_le32() for coherency. v2: Better changelog. v3: Add Acked-by Fixes: 6f2b6a3005b2c34c39f207a87667564f64f2f91a # 3c59x: Add dma error checking and recovery Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: Sylvain "ythier" Hitier <sylvain.hitier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c4c99f32226321e152b1462a1884ff2dfd3b3e2 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 7 18:19:54 2014 +0200 ASoC: imx-es8328: Fix missing return code in imx_es8328_probe() An error code was forgotten to be passed in the error path of imx_es8328_probe(). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 377421662a1739de5ccb71220a0b10a300addbd8 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Tue Oct 7 09:30:01 2014 -0700 net: bcmgenet: fix Tx ring priority programming GENET MAC has three Tx ring priority registers: - GENET_x_TDMA_PRIORITY0 for queues 0-5 - GENET_x_TDMA_PRIORITY1 for queues 6-11 - GENET_x_TDMA_PRIORITY2 for queues 12-16 Fix bcmgenet_init_multiq() to program them correctly. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd2ef0ba3071c92ac6272ab22ea3f2b16d88a4eb Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Oct 6 11:38:30 2014 -0700 net: phy: adjust fixed_phy_register() return value Adjust fixed_phy_register() to return struct phy_device *, so that it becomes easy to use fixed PHYs without device tree support: phydev = fixed_phy_register(PHY_POLL, &fixed_phy_status, NULL); fixed_phy_set_link_update(phydev, fixed_phy_link_update); phy_connect_direct(netdev, phydev, handler_fn, phy_interface); This change is a prerequisite for modifying bcmgenet driver to work without a device tree on Broadcom's MIPS-based 7xxx platforms. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3f9db49c1d383256f95c53c850e90bc2f4e05e4 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Oct 7 09:33:16 2014 -0700 Input: adp5588-keys - cancel workqueue in failure path In case we start with the device not fully quiesced we should make sure we cancel the workqueue after freeing interrupt. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Acked-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 848d479361793edb79aa68140cb64d4ec9032d88 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Oct 7 09:06:31 2014 -0700 Input: opencores-kbd - switch to using managed resources This change switch to managed resources to simplifies error handling and module unloading and does away with platform_driver remove function. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7c4f56070fde2367766fa1fb04852599b5e1ad35 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Oct 6 10:55:49 2014 -0700 Input: evdev - fix EVIOCG{type} ioctl The 'max' size passed into the function is measured in number of bits (KEY_MAX, LED_MAX, etc) so we need to convert it accordingly before trying to copy the data out, otherwise we will try copying too much and end up with up with a page fault. Reported-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6d16941aee6eb468c5a5cc78ecbaf840f3e16df5 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 7 17:27:02 2014 +0200 ALSA: hda - Add dock support for Thinkpad T440 (17aa:2212) There is another Thinkpad T440 with SSID 17aa:2212 that has a dock port. Reported-by: Siwei Luo <sluo@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9d8f0bcca6ffa024a822ce4ab1008ab663f06672 Author: Bart Van Assche <bvanassche@xxxxxxx> Date: Tue Oct 7 08:45:21 2014 -0600 blk-mq: Make bt_clear_tag() easier to read Eliminate a backwards goto statement from bt_clear_tag(). Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit abab13b5c4fd1fec4f9a61622548012d93dc2831 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Oct 7 08:39:20 2014 -0600 blk-mq: fix potential hang if rolling wakeup depth is too high We currently divide the queue depth by 4 as our batch wakeup count, but we split the wakeups over BT_WAIT_QUEUES number of wait queues. This defaults to 8. If the product of the resulting batch wake count and BT_WAIT_QUEUES is higher than the device queue depth, we can get into a situation where a task goes to sleep waiting for a request, but never gets woken up. Reported-by: Bart Van Assche <bvanassche@xxxxxxx> Fixes: 4bb659b156996 Cc: stable@xxxxxxxxxx Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 74da38631a874b5a3ffc4ace6f813a975c55130b Merge: bfe01a5 3cf6b01 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 08:51:59 2014 -0400 Merge tag 'tiny/for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux Pull "tinification" patches from Josh Triplett. Work on making smaller kernels. * tag 'tiny/for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux: bloat-o-meter: Ignore syscall aliases SyS_ and compat_SyS_ mm: Support compiling out madvise and fadvise x86: Support compiling out human-friendly processor feature names x86: Drop support for /proc files when !CONFIG_PROC_FS x86, boot: Don't compile early_serial_console.c when !CONFIG_EARLY_PRINTK x86, boot: Don't compile aslr.c when !CONFIG_RANDOMIZE_BASE x86, boot: Use the usual -y -n mechanism for objects in vmlinux x86: Add "make tinyconfig" to configure the tiniest possible kernel x86, platform, kconfig: move kvmconfig functionality to a helper commit 897c329bcb2206dd025cdb7ba84831a4f3c872d0 Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Tue Oct 7 14:25:13 2014 +0200 ALSA: usb: caiaq: check for cdev->n_streams > 1 Coverity spotted a possible DIV0 condition when cdev->n_streams is 0. Fix this by making sure the value is > 1 in snd_usb_caiaq_audio_init(). Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 77eca3cd461da663945eceddf454466a609d8ca4 Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Tue Oct 7 13:41:25 2014 +0200 ASoC: 88pm860x-codec: Fix possibly missing string termination Coverity spotted an issue with strncpy() in pm860x_codec_probe() which does not take the \0 termination byte into account. Fix this by making the buffers one byte larger so the can really accommodate MAX_NAME_LEN bytes long strings. Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit decc27b01d584c985c231e73d3b493de6ec07af8 Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Tue Oct 7 13:41:23 2014 +0200 ASoC: core: fix use after free in snd_soc_remove_platform() Coverity spotted an use-after-free condition in snd_soc_remove_platform(). Fix this by moving snd_soc_component_cleanup() after the debug print statement which uses the component's string. Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e5092c96c9c28f4d12811edcd02ca8eec16e748e Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Tue Oct 7 13:41:24 2014 +0200 ASoC: soc-dapm: fix use after free Coverity spotted the following possible use-after-free condition in dapm_create_or_share_mixmux_kcontrol(): If kcontrol is NULL, and (wname_in_long_name && kcname_in_long_name) validates to true, 'name' will be set to an allocated string, and be freed a few lines later via the 'long_name' alias. 'name', however, is used by dev_err() in case snd_ctl_add() fails. Fix this by adding a jump label that frees 'long_name' at the end of the function. Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 60666de2dac99777631d0df64257d7fd6a5118fe Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Thu May 29 17:45:47 2014 +1000 powerpc/pseries: Use new defines when calling H_SET_MODE Now that we define these in the KVM code, use these defines when we call H_SET_MODE. No functional change. Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2118f4b8dfc666c3e4a9e262beca79636a0852fe Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Tue Oct 7 11:30:31 2014 +0100 of/selftest: Move hash table off stack to fix large frame size The new testcase that checks phandle consistency was using a hash table on the stack which made the frame size much large than it should be. Fix the problem by moving the hash table into the file scope. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit b5e7a955a3515bf6b568050533fa9b1b72460a95 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 30 13:38:20 2014 +0200 ARM: KVM: fix vgic-disabled build The vgic code can be disabled in Kconfig and there are dummy implementations of most of the provided API functions for the disabled case. However, the newly introduced kvm_vgic_destroy/kvm_vgic_vcpu_destroy functions are lacking those dummies, resulting in this build error: arch/arm/kvm/arm.c: In function 'kvm_arch_destroy_vm': arch/arm/kvm/arm.c:165:2: error: implicit declaration of function 'kvm_vgic_destroy' [-Werror=implicit-function-declaration] kvm_vgic_destroy(kvm); ^ arch/arm/kvm/arm.c: In function 'kvm_arch_vcpu_free': arch/arm/kvm/arm.c:248:2: error: implicit declaration of function 'kvm_vgic_vcpu_destroy' [-Werror=implicit-function-declaration] kvm_vgic_vcpu_destroy(vcpu); ^ This adds two inline helpers to get it to build again in this configuration. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: c1bfb577add ("arm/arm64: KVM: vgic: switch to dynamic allocation") Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 7419eb064e74fba852f1a51842d3e27e248212fa Merge: 669a363 d22e913 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Tue Oct 7 11:13:53 2014 +0100 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux into devicetree/next commit 9d36a7dc4df6ef77cfc02ba78a10bc8577c2663f Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Oct 7 10:18:42 2014 +0200 ALSA: hda - Make the inv dmic handling for Realtek use generic parser From what I can see, the generic parser is now good enough to handle Realtek's inverted dmic handling, so let's remove the special handling and use the generic parser instead. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a33cc48d28b4ff58e2627e2613f15c63754dc376 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Oct 7 10:18:41 2014 +0200 ALSA: hda - Add Inverted Internal mic for Samsung Ativ book 9 (NP900X3G) In this case, it looks like the right channel records noise rather than the inverted signal, but the simplest way is to just call it "Inverted Internal Mic", which will cause it to be muted by default. Alsa-info at http://www.alsa-project.org/db/?f=064f0b536a1b068efd30d58c2641b5ec2348f059 BugLink: https://bugs.launchpad.net/bugs/1316518 Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 522a7fa883e04725806308a5b663ce1f570e5870 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Oct 7 10:18:40 2014 +0200 ALSA: hda - Add inverted internal mic for Asus Aspire 4830T Alsa-info at https://launchpadlibrarian.net/186697318/alsa-info.txt.37fYWkaJRc Reported-by: Tomas Nilsson <tomas.k.nilsson@xxxxxxxxx> Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8b3d58e554453ab858bbb169d93b7321bdc628d4 Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Oct 1 14:33:30 2014 +0300 mtd: nand: omap: Correct CONFIG_MTD_NAND_OMAP_BCH help message The MTD_NAND_OMAP_BCH doesn't harm on legacy OMAP platforms so don't state that it should be disabled for them. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e7cd6824fd4105ff164aabc3767f195d1f6e4025 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 14:33:29 2014 +0300 mtd: nand: Force omap_elm to be built as a module if omap2_nand is a module This commit adds a hidden option to build the omap_elm as a module, if omap2_nand is a module (and similarly in the built-in case). This fixes the following build error when omap2_nand is chosen built-in, and omap_elm is chosen as a module: drivers/built-in.o: In function `omap_nand_probe': drivers/mtd/nand/omap2.c:2010: undefined reference to `elm_config' drivers/mtd/nand/omap2.c:1980: undefined reference to `elm_config' drivers/mtd/nand/omap2.c:1927: undefined reference to `elm_config' drivers/built-in.o: In function `omap_elm_correct_data': drivers/mtd/nand/omap2.c:1444: undefined reference to `elm_decode_bch_error_page' Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 422b67e0b31a0ed132f8091b6f3d5465d9df9387 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Oct 6 15:03:57 2014 +0300 videomode: provide dummy inline functions for !CONFIG_OF If CONFIG_OF is disabled but we build any driver that tries to use of_get_display_timing, we get this link error: ERROR: "of_get_display_timing" [drivers/gpu/drm/rcar-du/rcar-du-drm.ko] undefined! This adds an empty inline function as an alternative, to avoid changing each driver using this function when we want to build them without CONFIG_OF. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit dfdac3932d769c2dcafbd37e3f231d5f50c1ac1c Author: sukadev@xxxxxxxxxxxxxxxxxx <sukadev@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 23:03:21 2014 -0700 powerpc: Update contact info in Documentation files Cody's email address has changed. Update the contact information for the 24x7 and GPCI counters to the PowerPC developers mailing list. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 56f12bee55d740dc47eed0ca9d5c72cffdffd6cf Author: sukadev@xxxxxxxxxxxxxxxxxx <sukadev@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 23:03:18 2014 -0700 powerpc/perf/hv-24x7: Simplify catalog_read() catalog_read() implements the read interface for the sysfs file /sys/bus/event_source/devices/hv_24x7/interface/catalog It essentially takes a buffer, an offset and count as parameters to the read() call. It makes a hypervisor call to read a specific page from the catalog and copy the required bytes into the given buffer. Each call to catalog_read() returns at most one 4K page. Given these requirements, we should be able to simplify the catalog_read(). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 48bee8a6c98e34367fa9d5e1be14109c92cbbb3b Author: Cody P Schafer <dev@xxxxxxxxxx> Date: Tue Sep 30 23:03:17 2014 -0700 powerpc/perf/hv-24x7: use kmem_cache instead of aligned stack allocations Ian pointed out the use of __aligned(4096) caused rather large stack consumption in single_24x7_request(), so use the kmem_cache hv_page_cache (which we've already got set up for other allocations) insead of allocating locally. CC: Haren Myneni <hbabu@xxxxxxxxxx> Reported-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Cody P Schafer <dev@xxxxxxxxxx> Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bf7588a0859580a45c63cb082825d77c13eca357 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 17:12:25 2014 +1000 powerpc/powernv: Fix endian bug in LPC bus debugfs accessors When reading from the LPC, the OPAL FW calls return the value via pointer to a uint32_t which is always returned big endian. Our internal inb/outb implementation byteswaps that fine but our debugfs code is still broken. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 46d987af7649ef9b2f1d1467b9249fb6e24d2658 Merge: 7bbc192 c7750e8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 7 14:31:14 2014 +1000 Merge tag 'ipu-fixes-3.18' of git://git.pengutronix.de/git/pza/linux into drm-next IPUv3 fixes for v3.18 * tag 'ipu-fixes-3.18' of git://git.pengutronix.de/git/pza/linux: gpu: ipu-v3: Kconfig: Remove SOC_IMX6SL from IMX_IPUV3_CORE Kconfig gpu: ipu-v3: ipu-smfc: Do not leave DEBUG defined gpu: ipu-v3: Return proper error on ipu_add_client_devices error path gpu: ipu-v3: Select GENERIC_IRQ_CHIP to fix build error commit 7bbc1920c0fd1416e4660b1dee5c467a2996c80e Merge: 436e94a 1bcecfa Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 7 14:30:32 2014 +1000 Merge tag 'topic/core-stuff-2014-10-03' of git://anongit.freedesktop.org/drm-intel into drm-next two core fixes * tag 'topic/core-stuff-2014-10-03' of git://anongit.freedesktop.org/drm-intel: drm/core: use helper to check driver features drm/edid: Add missing interlaced flag to 576i@100 modes. commit 436e94a4cb6f60c99edc7e424d32821c454ab8f0 Merge: ccb09a8 ebb69c9 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 7 14:30:02 2014 +1000 Merge tag 'drm-intel-next-fixes-2014-10-03' of git://anongit.freedesktop.org/drm-intel into drm-next Bunch of fixes for 3.18. Major parts: - ppgtt fixes (but full ppgtt is for 3.19) from Chris, Michel, ... - hdmi pixel replication fixes (Clint Taylor) - leftover i830M patches from Ville - small things all over * tag 'drm-intel-next-fixes-2014-10-03' of git://anongit.freedesktop.org/drm-intel: (21 commits) drm/i915: Enable pixel replicated modes on BDW and HSW. drm/i915: Don't spam dmesg with rps messages on vlv/chv drm/i915: Do not leak pages when freeing userptr objects drm/i915: Do not store the error pointer for a failed userptr registration Revert "drm/i915/bdw: BDW Software Turbo" drm/i915/bdw: Cleanup pre prod workarounds drm/i915: Use EIO instead of EAGAIN for sink CRC error. drm/i915: Extend BIOS stolen mem handling to all platform drm/i915: Match GTT space sanity checker with implementation drm/i915: HSW always use GGTT selector for secure batches drm/i915: add cherryview specfic forcewake in execlists_elsp_write drm/i915: fix another use-after-free in i915_gem_evict_everything drm/i915: Don't reinit hpd interrupts after gpu reset drm/i915: Wrap -EIO send-vblank event for failed pageflip in spinlock drm/i915: Drop any active reference before unbinding drm/i915: Objects on the unbound list may still have an active reference drm/i915/edp: use lane count and link rate from DPCD for eDP drm/i915/dp: add missing \n in the TPS3 debug message drm/i915/hdmi, dp: Do not dereference the encoder in the connector destroy drm/i915: Limit the watermark to at least 8 entries on gen2/3 ... commit ccb09a8e36b64a4d161dd61d4066a5c54181615b Merge: 7a42e83 369283b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 7 14:26:40 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next It looks like you missed my last 3.18 pull from 9/24. This one includes those patches and a few more on top. The additional patches are: - Maarten's radeon fence updates - Some additional debugging output From the previous pull request: - Re-enable some dpm features that were previously disabled due to a bug that was fixed in 3.16 - Make some arrays static - re-arrange some audio code to properly reflect connected status in the audio driver * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon/kv: add uvd/vce info to dpm debugfs output drm/radeon/ci: add uvd/vce info to dpm debugfs output drm/radeon: export reservation_object from dmabuf to ttm drm/radeon: cope with foreign fences inside the reservation object drm/radeon: cope with foreign fences inside display drm/radeon/cik: write gfx ucode version to ucode addr reg drm/radeon/si: print full CS when we hit a packet 0 drm/radeon: remove unecessary includes drm/radeon/combios: declare legacy_connector_convert as static drm/radeon/atombios: declare connector convert tables as static drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table drm/radeon/dpm: drop clk/voltage dependency filters for BTC drm/radeon/dpm: drop clk/voltage dependency filters for CI drm/radeon/dpm: drop clk/voltage dependency filters for SI drm/radeon/dpm: drop clk/voltage dependency filters for NI drm/radeon: disable audio when we disable hdmi (v2) drm/radeon: split audio enable between eg and r600 (v2) drm/radeon: consolidate r600_audio.c into r600_hdmi.c drm/radeon: consolidate duplicate encode is digital function drm/radeon: fix register name to match internal name commit 02c0fc1b8f41e6e895d6573615ba8ff549b685d2 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Oct 6 17:01:33 2014 -0700 net_sched: fix unused variables in __gnet_stats_copy_basic_cpu() Probably not a big deal, but we'd better just use the one we get in retry loop. Fixes: commit 22e0f8b9322cb1a48b1357e8 ("net: sched: make bstats per cpu and estimator RCU safe") Reported-by: Joe Perches <joe@xxxxxxxxxxx> Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c5df8fa1921450d2210db9928f43cf4f414982c Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Mon Oct 6 15:15:14 2014 -0700 openvswitch: fix a compilation error when CONFIG_INET is not setW! Fix a openvswitch compilation error when CONFIG_INET is not set: ===================================================== In file included from include/net/geneve.h:4:0, from net/openvswitch/flow_netlink.c:45: include/net/udp_tunnel.h: In function 'udp_tunnel_handle_offloads': >> include/net/udp_tunnel.h:100:2: error: implicit declaration of function 'iptunnel_handle_offloads' [-Werror=implicit-function-declaration] >> return iptunnel_handle_offloads(skb, udp_csum, type); >> ^ >> >> include/net/udp_tunnel.h:100:2: warning: return makes pointer from integer without a cast >> >> cc1: some warnings being treated as errors ===================================================== Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a5d1c55faa5414858857875496f6f6a9926fa51 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Mon Oct 6 13:22:51 2014 -0700 openvswitch: fix a sparse warning Fix a sparse warning introduced by commit: f5796684069e0c71c65bce6a6d4766114aec1396 (openvswitch: Add support for Geneve tunneling.) caught by kbuild test robot: reproduce: # apt-get install sparse # git checkout f5796684069e0c71c65bce6a6d4766114aec1396 # make ARCH=x86_64 allmodconfig # make C=1 CF=-D__CHECK_ENDIAN__ # # # sparse warnings: (new ones prefixed by >>) # # >> net/openvswitch/vport-geneve.c:109:15: sparse: incorrect type in assignment (different base types) # net/openvswitch/vport-geneve.c:109:15: expected restricted __be16 [usertype] sport # net/openvswitch/vport-geneve.c:109:15: got int # >> net/openvswitch/vport-geneve.c:110:56: sparse: incorrect type in argument 3 (different base types) # net/openvswitch/vport-geneve.c:110:56: expected unsigned short [unsigned] [usertype] value # net/openvswitch/vport-geneve.c:110:56: got restricted __be16 [usertype] sport Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42350dcaaf1d8d95d58e8b43aee006d62c84bc2e Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Mon Oct 6 13:22:50 2014 -0700 net: fix a sparse warning Fix a sparse warning introduced by Commit 0b5e8b8eeae40bae6ad7c7e91c97c3c0d0e57882 (net: Add Geneve tunneling protocol driver) caught by kbuild test robot: # apt-get install sparse # git checkout 0b5e8b8eeae40bae6ad7c7e91c97c3c0d0e57882 # make ARCH=x86_64 allmodconfig # make C=1 CF=-D__CHECK_ENDIAN__ # # # sparse warnings: (new ones prefixed by >>) # # >> net/ipv4/geneve.c:230:42: sparse: incorrect type in assignment (different base types) # net/ipv4/geneve.c:230:42: expected restricted __be32 [addressable] [assigned] [usertype] s_addr # net/ipv4/geneve.c:230:42: got unsigned long [unsigned] <noident> # Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6093f7570e5995177b5879cb3ddbc4d50177aec2 Merge: 1ff0dc9 327571c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 7 00:02:49 2014 -0400 Merge branch 'ipv6-next' Hannes Frederic Sowa says: ==================== ipv6: cleanup after rt6_genid removal Leftover patches after rt6_genid removal after 705f1c869d577c ("ipv6: remove rt6i_genid"). Major two changes are: * keep fib6_sernum per namespace to reduce number of flushes in case system has high number of namespaces * make fn_sernum updates cheaper v2: Incorporated feedback from Cong Wang, thanks a lot! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 327571cb100cad587c9eda351e7a2d182466873b Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 19:58:38 2014 +0200 ipv6: don't walk node's leaf during serial number update Cc: YOSHIFUJI Hideaki <hideaki@xxxxxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 812918c464eca0e8c145f975932ca5020e9c05cb Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 19:58:37 2014 +0200 ipv6: make fib6 serial number per namespace Try to reduce number of possible fn_sernum mutation by constraining them to their namespace. Also remove rt_genid which I forgot to remove in 705f1c869d577c ("ipv6: remove rt6i_genid"). Cc: YOSHIFUJI Hideaki <hideaki@xxxxxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8c4d42a6b46ea9f81816c47ac8d6ae25cf533fc Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 19:58:36 2014 +0200 ipv6: only generate one new serial number per fib mutation Cc: YOSHIFUJI Hideaki <hideaki@xxxxxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42b18706469a02c1f84375ac0ee2f30f28d85d4c Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 19:58:35 2014 +0200 ipv6: make rt_sernum atomic and serial number fields ordinary ints Cc: YOSHIFUJI Hideaki <hideaki@xxxxxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94b2cfe02bfe3f1918d91bd6f498e308c5605cbc Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 19:58:34 2014 +0200 ipv6: minor fib6 cleanups like type safety, bool conversion, inline removal Also renamed struct fib6_walker_t to fib6_walker and enum fib_walk_state_t to fib6_walk_state as recommended by Cong Wang. Cc: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Cc: YOSHIFUJI Hideaki <hideaki@xxxxxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6654cf60ab888170693084a06dfb7c00977ad964 Author: Ivan Vecera <ivecera@xxxxxxxxxx> Date: Mon Oct 6 19:02:37 2014 +0200 bna: allow transmit tagged frames When Tx VLAN offloading is disabled frames with size ~ MTU are not transmitted as the driver does not account 4 bytes of VLAN header added by stack. It should use VLAN_ETH_HLEN instead of ETH_HLEN. The second problem is with newer BNA chips (BNA 1860). These chips filter out any VLAN tagged frames in Tx path. This is a problem when Tx VLAN offloading is disabled and frames are tagged by stack. Older chips like 1010/1020 are not affected as they probably don't do such filtering. Cc: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eabde0fa967052df12bdd8e8a72f0af799e1e704 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Sat Oct 4 12:02:21 2014 -0600 toshiba_acpi: Adapt kbd_bl_timeout_store to the new kbd type With the introduction of the new keyboard backlight implementation, the *_timeout_store function is broken, as it only supports the first kbd_type. This patch adapts such function for the new kbd_type, as well as converts from using sscanf to kstrtoint. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 88b88a66797159949cec32eaab12b4968f6fae2d Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 6 17:39:50 2014 -0700 f2fs: support atomic writes This patch introduces a very limited functionality for atomic write support. In order to support atomic write, this patch adds two ioctls: o F2FS_IOC_START_ATOMIC_WRITE o F2FS_IOC_COMMIT_ATOMIC_WRITE The database engine should be aware of the following sequence. 1. open -> ioctl(F2FS_IOC_START_ATOMIC_WRITE); 2. writes : all the written data will be treated as atomic pages. 3. commit -> ioctl(F2FS_IOC_COMMIT_ATOMIC_WRITE); : this flushes all the data blocks to the disk, which will be shown all or nothing by f2fs recovery procedure. 4. repeat to #2. The IO pattens should be: ,- START_ATOMIC_WRITE ,- COMMIT_ATOMIC_WRITE CP | D D D D D D | FSYNC | D D D D | FSYNC ... `- COMMIT_ATOMIC_WRITE Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9f1a053296953c69d7f23511db9441290cb89e2c Merge: c9671d1 a968bed Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:58 2014 +0200 Merge branch 'pm-clk' * pm-clk: PM / clk: Fix crash in clocks management code if !CONFIG_PM_RUNTIME commit c9671d17f82accff42bfafdd776edc260f8d1bb3 Merge: 4734c6e c8bc5f1 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:50 2014 +0200 Merge branch 'pm-devfreq' * pm-devfreq: PM / devfreq: exynos: Enable building exynos PPMU as module PM / devfreq: Export helper functions for drivers PM / devfreq: Remove ARCH_HAS_OPP completely commit 4734c6efc8c691fda80f11ae00016bc3a8d9ebb5 Merge: 0f4685d 7961bb7 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:38 2014 +0200 Merge branch 'pm-avs' * pm-avs: MAINTAINERS: update entry for drivers/power/avs PM / AVS: rockchip-io: add driver handling Rockchip io domains regulator: core: Add REGULATOR_EVENT_PRE_VOLTAGE_CHANGE (and ABORT) commit 0f4685d0ec9aa1db99f014f8f774518cae085aca Merge: b2eed30 6f1293f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:30 2014 +0200 Merge branch 'pm-cpufreq' * pm-cpufreq: cpufreq: cpufreq-dt: fix potential double put of cpu OF node cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' cpufreq: ppc-corenet: remove duplicate update of cpu_data cpufreq: Replace strnicmp with strncasecmp cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec cpufreq: powernv: Set the pstate of the last hotplugged out cpu in policy->cpus to minimum cpufreq: Allow stop CPU callback to be used by all cpufreq drivers cpufreq: cpu0: Make allocate_resources() work for any CPU cpufreq: cpu0: try regulators with name "cpu-supply" cpufreq: cpu0: Move per-cluster initialization code to ->init() cpufreq: cpu0: use dev_{err|warn|dbg} instead of pr_{err|warn|debug} cpufreq: cpu0: print relevant error when we defer probe cpufreq: cpu0: don't validate clock on clk_put() cpufreq: cpu0: Update Module Author cpufreq: Add support for per-policy driver data commit b2eed302b67014a3825331c63880bf228ac842eb Merge: 49a09c9 eeb1aa5 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:23 2014 +0200 Merge branch 'pm-cpuidle' * pm-cpuidle: drivers: cpuidle: initialize big.LITTLE driver through DT drivers: cpuidle: CPU idle ARM64 driver drivers: cpuidle: implement DT based idle states infrastructure cpuidle: big.LITTLE: add Exynos5800 compatible string cpuidle: Replace strnicmp with strncasecmp arm64: add PSCI CPU_SUSPEND based cpu_suspend support arm64: kernel: introduce cpu_init_idle CPU operation arm64: kernel: refactor the CPU suspend API for retention states Documentation: arm: define DT idle states bindings commit 49a09c9ab012017c4673b86dbb28c616cf8f2381 Merge: 28c399e f39cb17 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:12 2014 +0200 Merge branch 'pm-domains' * pm-domains: (32 commits) PM / Domains: Rename cpu_data to cpuidle_data PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h PM / Domains: Remove legacy API for adding devices through DT PM / Domains: Add genpd attach/detach callbacks PM / Domains: add debugfs listing of struct generic_pm_domain-s ACPI / PM: Convert acpi_dev_pm_detach() into a static function ARM: exynos: Move to generic PM domain DT bindings amba: Add support for attach/detach of PM domains spi: core: Convert to dev_pm_domain_attach|detach() mmc: sdio: Convert to dev_pm_domain_attach|detach() i2c: core: Convert to dev_pm_domain_attach|detach() drivercore / platform: Convert to dev_pm_domain_attach|detach() PM / Domains: Add APIs to attach/detach a PM domain for a device PM / Domains: Add generic OF-based PM domain look-up ACPI / PM: Assign the ->detach() callback when attaching the PM domain PM / Domains: Add a detach callback to the struct dev_pm_domain PM / domains: Spelling s/domian/domain/ PM / domains: Keep declaration of dev_power_governors together PM / domains: Remove default_stop_ok() API drivers: sh: Leave disabling of unused PM domains to genpd ... commit 28c399e2a1ed03bd175858deef1e233317103089 Merge: 0ede470 a8d46b9 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:17:50 2014 +0200 Merge branch 'acpi-pm' * acpi-pm: ACPI / sleep: Rework the handling of ACPI GPE wakeup from suspend-to-idle PM / sleep: Rename platform suspend/resume functions in suspend.c PM / sleep: Export dpm_suspend_late/noirq() and dpm_resume_early/noirq() commit 0ede470030a35847a8b213bbdafb29d77bca76da Merge: 88b42a4 fdd64ed Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:17:30 2014 +0200 Merge branch 'pm-sleep' * pm-sleep: PM / hibernate: Iterate over set bits instead of PFNs in swsusp_free() PM / sleep: new suspend_resume trace event for console resume PM / sleep: Update test_suspend option documentation PM / sleep: Enhance test_suspend option with repeat capability PM / sleep: Support freeze as test_suspend option PM / sysfs: avoid shadowing variables commit 88b42a4883a7783972c8fc607e60bd3f027e24de Merge: 1e765cd 27f3d18 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:17:21 2014 +0200 Merge branch 'pm-genirq' * pm-genirq: PM / genirq: Document rules related to system suspend and interrupts PCI / PM: Make PCIe PME interrupts wake up from suspend-to-idle x86 / PM: Set IRQCHIP_SKIP_SET_WAKE for IOAPIC IRQ chip objects genirq: Simplify wakeup mechanism genirq: Mark wakeup sources as armed on suspend genirq: Create helper for flow handler entry check genirq: Distangle edge handler entry genirq: Avoid double loop on suspend genirq: Move MASK_ON_SUSPEND handling into suspend_device_irqs() genirq: Make use of pm misfeature accounting genirq: Add sanity checks for PM options on shared interrupt lines genirq: Move suspend/resume logic into irq/pm code PM / sleep: Mechanism for aborting system suspends unconditionally commit 1e765cd36bb8242a399f65501650bcfabc2229c9 Merge: dbcbe68 ef86c3f ffd8a73 5d30f74 88989fd Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:17:06 2014 +0200 Merge branches 'acpi-processor', 'acpi-battery', 'acpi-utils' and 'acpi-fan' * acpi-processor: ACPI / processor: use container_of instead of casting first structure member * acpi-battery: ACPI / battery: Replace strnicmp with strncasecmp * acpi-utils: ACPI / utils: Update acpi_check_dsm() comments * acpi-fan: ACPI / fan: printk replacement commit 88989fd26a7475abdda222859c2bd76fce46976e Author: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Date: Thu Aug 28 19:17:19 2014 +0530 ACPI / fan: printk replacement printk replaced with corresponding dev_err and dev_info fixed one broken user-visible string multiine comment edited for correct commenting style asm/uaccess.h replaced with linux/uaccess.h PREFIX removed Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1ff0dc9499b25d016777f9b8d3ee486fd588ba59 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 6 11:26:27 2014 -0700 net: validate_xmit_vlan() is static Marking this as static allows compiler to inline it. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79952bca8619b62c9b1a118238ca16ab41be7760 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 6 20:15:20 2014 +0200 net: fix rcu access on phonet_routes -Add __rcu annotation on table to fix sparse warnings: net/phonet/pn_dev.c:279:25: warning: incorrect type in assignment (different address spaces) net/phonet/pn_dev.c:279:25: expected struct net_device *<noident> net/phonet/pn_dev.c:279:25: got void [noderef] <asn:4>*<noident> net/phonet/pn_dev.c:376:17: warning: incorrect type in assignment (different address spaces) net/phonet/pn_dev.c:376:17: expected struct net_device *volatile <noident> net/phonet/pn_dev.c:376:17: got struct net_device [noderef] <asn:4>*<noident> net/phonet/pn_dev.c:392:17: warning: incorrect type in assignment (different address spaces) net/phonet/pn_dev.c:392:17: expected struct net_device *<noident> net/phonet/pn_dev.c:392:17: got void [noderef] <asn:4>*<noident> -Access table with rcu_access_pointer (fixes the following sparse errors): net/phonet/pn_dev.c:278:25: error: incompatible types in comparison expression (different address spaces) net/phonet/pn_dev.c:391:17: error: incompatible types in comparison expression (different address spaces) Suggested-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e91a159ef58ebcf2155332dc395c6a29dca86051 Merge: fcbeb97 18cdb37 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 6 18:02:40 2014 -0400 Merge branch 'net_sched-next' John Fastabend says: ==================== net sched rcu updates This fixes the use of tcf_proto from RCU callbacks it requires moving the unbind calls out of the callbacks and removing the tcf_proto argument from the tcf_em_tree_destroy(). This is a rework of two previous series and addresses comments from Cong. And should apply against latest net-next. The previous series links below for reference: (1/2) net: sched: do not use tcf_proto 'tp' argument from call_rcu http://patchwork.ozlabs.org/patch/396149/ (2/2) net: sched: replace ematch calls to use struct net http://patchwork.ozlabs.org/patch/396150/ net: sched: cls_cgroup tear down exts and ematch from rcu callback http://patchwork.ozlabs.org/patch/396307/ ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18cdb37ebf4c986d9502405cbd16b0ac29770c25 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Oct 5 21:28:52 2014 -0700 net: sched: do not use tcf_proto 'tp' argument from call_rcu Using the tcf_proto pointer 'tp' from inside the classifiers callback is not valid because it may have been cleaned up by another call_rcu occuring on another CPU. 'tp' is currently being used by tcf_unbind_filter() in this patch we move instances of tcf_unbind_filter outside of the call_rcu() context. This is safe to do because any running schedulers will either read the valid class field or it will be zeroed. And all schedulers today when the class is 0 do a lookup using the same call used by the tcf_exts_bind(). So even if we have a running classifier hit the null class pointer it will do a lookup and get to the same result. This is particularly fragile at the moment because the only way to verify this is to audit the schedulers call sites. Reported-by: Cong Wang <xiyou.wangconf@xxxxxxxxx> Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13990f8156862fe945a1a226850a6550c8988a33 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Oct 5 21:28:20 2014 -0700 net: sched: cls_cgroup tear down exts and ematch from rcu callback It is not RCU safe to destroy the action chain while there is a possibility of readers accessing it. Move this code into the rcu callback using the same rcu callback used in the code patch to make a change to head. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 82a470f1119eb7d2e4941b915bf9cd6fd8d54494 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Oct 5 21:27:53 2014 -0700 net: sched: remove tcf_proto from ematch calls This removes the tcf_proto argument from the ematch code paths that only need it to reference the net namespace. This allows simplifying qdisc code paths especially when we need to tear down the ematch from an RCU callback. In this case we can not guarentee that the tcf_proto structure is still valid. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fcbeb976d7ce783fd58e63e61c196d9a8912b3be Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 10:11:27 2014 -0700 net: introduce netdevice gso_min_segs attribute Some TSO engines might have a too heavy setup cost, that impacts performance on hosts sending small bursts (2 MSS per packet). This patch adds a device gso_min_segs, allowing drivers to set a minimum segment size for TSO packets, according to the NIC performance. Tested on a mlx4 NIC, this allows to get a ~110% increase of throughput when sending 2 MSS per packet. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f9e2bf008a1b143973a01b52320eb66c20ac6ab Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Tue Sep 23 00:39:31 2014 +0400 ecryptfs: remove unneeded buggy code in ecryptfs_do_create() There is a bug in error handling of lock_parent() in ecryptfs_do_create(): lock_parent() acquries mutex even if dget_parent() fails, so mutex should be unlocked anyway. But dget_parent() does not fail, so the patch just removes unneeded buggy code. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit 9d31a7b9f9963e97e067e72ef13492e6ace7d345 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Mon Oct 6 10:36:04 2014 +0800 r8152: nway reset after setting eee Restart autonegotiation is necessary after setting EEE. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee5db7e47faccd07a8a17f73afb30345f8331e61 Merge: 467669c 5235166 368d4e5 604b607 5b65c2a 981c5b4 8493ecc 5df4eb0 5ae6e89 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Oct 6 23:34:40 2014 +0200 Merge branches 'for-3.18/always-poll-quirk', 'for-3.18/logitech', 'for-3.18/picolcd', 'for-3.18/rmi', 'for-3.18/sony', 'for-3.18/uhid', 'for-3.18/upstream' and 'for-3.18/wacom' into for-linus commit b47bd8d2795412143a23d2961033c126ce6914d9 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Sun Oct 5 17:27:50 2014 +0200 ipv4: igmp: fix v3 general query drop monitor false positive In case we find a general query with non-zero number of sources, we are dropping the skb as it's malformed. RFC3376, section 4.1.8. Number of Sources (N): This number is zero in a General Query or a Group-Specific Query, and non-zero in a Group-and-Source-Specific Query. Therefore, reflect that by using kfree_skb() instead of consume_skb(). Fixes: d679c5324d9a ("igmp: avoid drop_monitor false positives") Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee6377147409a00c071b2da853059a7d59979fbc Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Sat Oct 4 17:45:01 2014 -0700 bonding: Simplify the xmit function for modes that use xmit_hash Earlier change to use usable slave array for TLB mode had an additional performance advantage. So extending the same logic to all other modes that use xmit-hash for slave selection (viz 802.3AD, and XOR modes). Also consolidating this with the earlier TLB change. The main idea is to build the usable slaves array in the control path and use that array for slave selection during xmit operation. Measured performance in a setup with a bond of 4x1G NICs with 200 instances of netperf for the modes involved (3ad, xor, tlb) cmd: netperf -t TCP_RR -H <TargetHost> -l 60 -s 5 Mode TPS-Before TPS-After 802.3ad : 468,694 493,101 TLB (lb=0): 392,583 392,965 XOR : 475,696 484,517 Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7021325a2ea5aaf4458097341c988f9dc93491f Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Sat Oct 4 17:44:44 2014 -0700 bonding: display xmit_hash_policy for non-dynamic-tlb mode It's a trivial fix to display xmit_hash_policy for this new TLB mode since it uses transmit-hash-poilicy as part of bonding-master info (/proc/net/bonding/<bonding-interface). Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d86c21fd31114e3ef9fae64be335c76aa22859dc Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Sep 18 17:18:58 2014 +0200 mfd: cros_ec: wait for completion of commands that return IN_PROGRESS When an EC command returns EC_RES_IN_PROGRESS, we need to query the state of the EC until it indicates that it is no longer busy. Do this in cros_ec_cmd_xfer() under the EC's mutex so that other commands (e.g. keyboard, I2C passtru) aren't issued to the EC while it is working on the in-progress command. The 10 milliseconds delay and the number of retries are the values that were used by the flashrom tool when retrying commands. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 97720706084dd8c45eecc61d39353c7b62939b8f Author: Derek Basehore <dbasehore@xxxxxxxxxxxx> Date: Thu Sep 18 17:18:55 2014 +0200 i2c: i2c-cros-ec-tunnel: Set retries to 3 Since the i2c bus can get wedged on the EC sometimes, set the number of retries to 3. Since we un-wedge the bus immediately after the wedge happens, this is the correct fix since only one transfer will fail. Signed-off-by: Derek Basehore <dbasehore@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 63427530fa7a78b42a19f47fb0c12b303c0666ca Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Sep 18 17:18:57 2014 +0200 mfd: cros_ec: move locking into cros_ec_cmd_xfer Now that there's a central cros_ec_cmd_xfer(), move the locking out of the SPI driver. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a6551a76fff15056fde2342d0f7de41ee605264e Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Sep 18 17:18:56 2014 +0200 mfd: cros_ec: stop calling ->cmd_xfer() directly Instead of having users of the ChromeOS EC call the interface-specific cmd_xfer() callback directly, introduce a central cros_ec_cmd_xfer() to use instead. This will allow us to put all the locking and retry logic in one place instead of duplicating it across the different drivers. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 659e142be09482cfd8b9017f616afebc7cf48fa3 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Thu Sep 18 17:18:54 2014 +0200 mfd: cros_ec: Delay for 50ms when we see EC_CMD_REBOOT_EC If someone sends a EC_CMD_REBOOT_EC to the EC, the EC will likely be unresponsive for quite a while. Add a delay to the end of the command to prevent random failures of future commands. NOTES: * This could be optimized a bit by simply delaying the next command sent, but EC_CMD_REBOOT_EC is such a rare command that the extra complexity doesn't seem worth it. * This is a bit of an "ugly hack" since the SPI driver is effectively snooping on the communication and making a lot of assumptions. It would be nice to architect in some better solution long term. * This same logic probably needs to be applied to the i2c driver. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Randall Spangler <rspangler@xxxxxxxxxxxx> Reviewed-by: Vadim Bendebury <vbendeb@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a4ce47f108a6df129c9f4345c6dda0473cb68da5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 4 09:17:27 2014 -0300 i2c-imx: Disable the clock on probe failure In the case of errors during probe, we should disable i2c_imx->clk. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8c7aa698baca5e8f1ba9edb68081f1e7a1abf455 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Wed Oct 1 11:49:04 2014 -0700 x86_64, entry: Filter RFLAGS.NT on entry from userspace The NT flag doesn't do anything in long mode other than causing IRET to #GP. Oddly, CPL3 code can still set NT using popf. Entry via hardware or software interrupt clears NT automatically, so the only relevant entries are fast syscalls. If user code causes kernel code to run with NT set, then there's at least some (small) chance that it could cause trouble. For example, user code could cause a call to EFI code with NT set, and who knows what would happen? Apparently some games on Wine sometimes do this (!), and, if an IRET return happens, they will segfault. That segfault cannot be handled, because signal delivery fails, too. This patch programs the CPU to clear NT on entry via SYSCALL (both 32-bit and 64-bit, by my reading of the AMD APM), and it clears NT in software on entry via SYSENTER. To save a few cycles, this borrows a trick from Jan Beulich in Xen: it checks whether NT is set before trying to clear it. As a result, it seems to have very little effect on SYSENTER performance on my machine. There's another minor bug fix in here: it looks like the CFI annotations were wrong if CONFIG_AUDITSYSCALL=n. Testers beware: on Xen, SYSENTER with NT set turns into a GPF. I haven't touched anything on 32-bit kernels. The syscall mask change comes from a variant of this patch by Anish Bhatt. Note to stable maintainers: there is no known security issue here. A misguided program can set NT and cause the kernel to try and fail to deliver SIGSEGV, crashing the program. This patch fixes Far Cry on Wine: https://bugs.winehq.org/show_bug.cgi?id=33275 Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/395749a5d39a29bd3e4b35899cf3a3c1340e5595.1412189265.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit a445900c906092f3b49ee40a7365d0d54acc568e Author: Carl Peng <carlpeng008@xxxxxxxxx> Date: Tue Sep 30 13:04:55 2014 +0300 i2c: designware: Add support for AMD I2C controller Add support for AMD version of the DW I2C host controller. The device is enumerated from ACPI namespace with ACPI ID AMD0010. Because the core driver needs an input source clock, and this is not an Intel LPSS device where clocks are provided through drivers/acpi/acpi_lpss.c, we register the clock ourselves if the clock rate is given in ->driver_data Signed-off-by: Carl Peng <carlpeng008@xxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 925ddb240d6c76e56dd3aa22493f5755c452ba61 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Sep 30 13:04:54 2014 +0300 i2c: designware: Rework probe() to get clock a bit later In order to be able to create missing clock for AMD (and in future possibly others) we move getting clock for the device a bit later. Also make ACPI/DT configuration in the same place depending on from where the device was enumerated from. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0b26c845dfd554dd9030efbf0249d3830251e58b Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Sep 30 13:04:53 2014 +0300 i2c: designware: Default to fast mode in case of ACPI There is no way in ACPI to tell in which speed the host controller is supposed to run, so we default to fast mode (400KHz). Since this has been the default all the time there should be no functional changes with this change. This is the first step required to refactor the driver probe so that we can supply source clock from ACPI part of the driver to the core. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 594081ee7145cc30a3977cb4e218f81213b63dc5 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Oct 6 17:31:58 2014 +0100 integrity: do zero padding of the key id Latest KEYS code return error if hexadecimal string length id odd. Fix it. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit d4016589855156b6afe5e9bc8ef85ce43f27e704 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Oct 6 17:25:45 2014 +0100 KEYS: output last portion of fingerprint in /proc/keys Previous version of KEYS used to output last 4 bytes of fingerprint. Now it outputs 8 last bytes of raw subject, which does not make any visual meaning at all. This patch restores old behavior. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 7a224e783ad2b325977253139aede1f5f38b1778 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Oct 6 17:02:32 2014 +0100 KEYS: strip 'id:' from ca_keyid The 'id:' prefix must be stripped for asymmetric_key_hex_to_key_id() to be able to process ca_keyid. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 4204111c028d492019e4440d12e9e3d062db4283 Author: Asbjoern Sloth Toennesen <asbjorn@xxxxxxxxxxx> Date: Sun Oct 5 17:43:18 2014 +0000 deb-pkg: remove obsolete -isp option to dpkg-gencontrol The -isp option has been deprecated, after it became the default behaviour back in 2006. Since dpkg 1.17.11, dpkg-gencontrol emits a warning on -isp usage. References: https://bugs.debian.org/215233 Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit f92d9ee3ab39841d1f29f2d1aa96ff7c74b36ee1 Merge: 55dd417 767ebaf Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Oct 6 09:59:15 2014 -0600 Merge branch 'pci/host-xgene' into next * pci/host-xgene: arm64: dts: Add APM X-Gene PCIe device tree nodes PCI: xgene: Add APM X-Gene PCIe driver Conflicts: drivers/pci/host/Kconfig drivers/pci/host/Makefile commit 55dd4175a4bc10d943c159dabef552baaf459a59 Merge: b9c9c25 3587e62 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Oct 6 09:58:37 2014 -0600 Merge branch 'pci/virtualization' into next * pci/virtualization: PCI: Add ACS quirk for AMD A88X southbridge devices commit 767ebaff4ef7235eb49ddec5d48db97b17c37cf5 Author: Tanmay Inamdar <tinamdar@xxxxxxx> Date: Fri Sep 26 14:08:25 2014 -0700 arm64: dts: Add APM X-Gene PCIe device tree nodes Add the device tree nodes for APM X-Gene PCIe host controller and PCIe clock interface. Since X-Gene SOC supports maximum 5 ports, 5 dts nodes are added. Signed-off-by: Tanmay Inamdar <tinamdar@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 8dd609805b87923a700a2fad646390a58013cdb9 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Oct 6 16:52:12 2014 +0100 KEYS: use swapped SKID for performing partial matching Earlier KEYS code used pure subject key identifiers (fingerprint) for searching keys. Latest merged code removed that and broke compatibility with integrity subsytem signatures and original format of module signatures. This patch returns back partial matching on SKID. Reported-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 33fb0d01ce60fe4c0c12c4f0c134c5cdb818ac5a Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Oct 6 16:26:35 2014 +0100 AHCI: Do not acquire ata_host::lock from single IRQ handler There is no need to acquire ata_host::lock spinlock from hardware context single IRQ interrupt handler since the handler does not access host data that could be altered by concurrent processors. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit 18dcf433f3ded61eb140a55e7048ec2fef79e723 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Oct 6 16:24:45 2014 +0100 AHCI: Optimize single IRQ interrupt processing Split interrupt service routine into hardware context handler and threaded context handler. That allows to protect ports with individual locks rather than with a single host-wide lock and move port interrupts handling out of the hardware interrupt context. Testing was done by transferring 8GB on two hard drives in parallel using command 'dd if=/dev/sd{a,b} of=/dev/null'. With lock_stat statistics I measured access times to ata_host::lock spinlock (since interrupt handler code is fully embraced with this lock). The average lock's holdtime decreased eight times while average waittime decreased two times. Both before and after the change the transfer time is the same, while 'perf record -e cycles:k ...' shows 1%-4% CPU time spent in ahci_single_irq_intr() routine before the update and not even sampled/shown ahci_single_irq_intr() after the update. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit 227dfb4dbf109596d76a9b842856c4ff68e4efb2 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Sep 29 18:26:01 2014 +0200 AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode As described in AHCI v1.0 specification chapter 10.6.2.2 "Multiple MSI Based Messages" generation of interrupts is not controlled through the HOST_IRQ_STAT register. Considering MMIO access is expensive remove unnecessary reading and writing of HOST_IRQ_STAT register. Further, serializing access to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Suggested-by: "Jiang, Dave" <dave.jiang@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: "Jiang, Dave" <dave.jiang@xxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit 5ee1cfd975518bc9cdcd79e0b76552b5ae5c8c1e Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Sep 29 18:26:00 2014 +0200 AHCI: Make few function names more descriptive Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit d1028e2f95b75acab4f1046acae1b1ca7d7b2577 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Sep 29 18:25:59 2014 +0200 AHCI: Move host activation code into ahci_host_activate() Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit 1c62854f5f7321b3ee8c08d34d7c1e615608566d Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Sep 29 18:25:58 2014 +0200 AHCI: Move ahci_host_activate() function to libahci.c This update is a prerequisite for consolidation of AHCI host activation code within ahci_host_activate() function. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit a6849b9fdbffd2492a848df942b39d23bd81ef27 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Sep 29 18:25:57 2014 +0200 AHCI: Pass SCSI host template as arg to ahci_host_activate() This update is a prerequisite for consolidation of AHCI host activation code within ahci_host_activate() function. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit f1b731dbc2530cab93fcfc5fcb18c9f3a100feeb Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Oct 6 15:21:05 2014 +0100 KEYS: Restore partial ID matching functionality for asymmetric keys Bring back the functionality whereby an asymmetric key can be matched with a partial match on one of its IDs. Whilst we're at it, allow for the possibility of having an increased number of IDs. Reported-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit f667aef6af626d0cdce0204bc7a2888e62076525 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 23 13:40:08 2014 +0800 btrfs: Make btrfs handle security mount options internally to avoid losing security label. [BUG] Originally when mount btrfs with "-o subvol=" mount option, btrfs will lose all security lable. And if the btrfs fs is mounted somewhere else, due to the lost of security lable, SELinux will refuse to mount since the same super block is being mounted using different security lable. [REPRODUCER] With SELinux enabled: #mkfs -t btrfs /dev/sda5 #mount -o context=system_u:object_r:nfs_t:s0 /dev/sda5 /mnt/btrfs #btrfs subvolume create /mnt/btrfs/subvol #mount -o subvol=subvol,context=system_u:object_r:nfs_t:s0 /dev/sda5 /mnt/test kernel message: SELinux: mount invalid. Same superblock, different security settings for (dev sda5, type btrfs) [REASON] This happens because btrfs will call vfs_kern_mount() and then mount_subtree() to handle subvolume name lookup. First mount will cut off all the security lables and when it comes to the second vfs_kern_mount(), it has no security label now. [FIX] This patch will makes btrfs behavior much more like nfs, which has the type flag FS_BINARY_MOUNTDATA, making btrfs handles the security label internally. So security label will be set in the real mount time and won't lose label when use with "subvol=" mount option. Reported-by: Eryu Guan <guaneryu@xxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8024379e0ae43b1154978c2291ce20f772cbb3bd Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Oct 6 15:23:07 2014 +0300 mmc: sdhci-acpi: Fix Braswell eMMC timeout clock frequency Braswell eMMC host controller specifies an incorrect timeout clock frequncy in the capabilities registers. The correct value is 1 MHz. A similar fix was done for sdhci-pci, however in the sdhci-acpi case the HID/UID is not unique so the capabilities register values are matched also. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7dafca835a459ab31792d9def69ed30cf6dc08ab Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Oct 6 15:23:06 2014 +0300 mmc: sdhci-acpi: Pass HID and UID to probe_slot Pass HID and UID to probe_slot so extra setup can be done for specific ids. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3db3525196a992da628fb210776d73ec4bb59460 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Oct 6 15:23:05 2014 +0300 mmc: sdhci-acpi: Get UID directly from acpi_device UID was made available on acpi_device since commit ccf78040265b ("ACPI: Add _UID support for ACPI devices.") Use it from there instead of reprocessing the ACPI object info. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3e28e377204badfc3c4119ff2abda473127ee0ff Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Sun Oct 5 13:24:22 2014 -0400 workqueue: Use cond_resched_rcu_qs macro Tidy up and use cond_resched_rcu_qs when calling cond_resched and reporting potential quiescent state to RCU. Splitting this change in this way allows easy backporting to -stable for kernel versions not having cond_resched_rcu_qs(). Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 789cbbeca4eb7141cbd748ee93772471101b507b Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Sun Oct 5 13:24:21 2014 -0400 workqueue: Add quiescent state between work items Similar to the stop_machine deadlock scenario on !PREEMPT kernels addressed in b22ce2785d97 "workqueue: cond_resched() after processing each work item", kworker threads requeueing back-to-back with zero jiffy delay can stall RCU. The cond_resched call introduced in that fix will yield only iff there are other higher priority tasks to run, so force a quiescent RCU state between work items. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Link: https://lkml.kernel.org/r/20140926105227.01325697@xxxxxxxxxxxxxxxxxxxxxxxxxxxx Link: https://lkml.kernel.org/r/20140929115445.40221d8e@xxxxxxxxxxxxxxxxxxxxxxxxxxxx Fixes: b22ce2785d97 ("workqueue: cond_resched() after processing each work item") Cc: <stable@xxxxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 8df22a4d6f5b81c9c1703579d4907b57002689ed Merge: 0cae90a a5448c8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 6 14:01:11 2014 +0200 Merge tag 'asoc-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v3.18 - More componentisation work from Lars-Peter, this time mainly cleaning up the suspend and bias level transition callbacks. - Real system support for the Intel drivers and a bunch of fixes and enhancements for the associated CODEC drivers, this is going to need a lot quirks over time due to the lack of any firmware description of the boards. - Jack detect support for simple card from Dylan Reid. - A bunch of small fixes and enhancements for the Freescale drivers. - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32, Everest Semiconductor ES8328 and Freescale cards using the ASRC in newer i.MX processors. commit a5448c88b812390a3622e76d774e10c0da1fb970 Merge: 978d4dd ff495d3 77c5453 dfe8f1f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:49:09 2014 +0100 Merge remote-tracking branches 'asoc/topic/txx9', 'asoc/topic/wm8978' and 'asoc/topic/wm8994' into asoc-next commit 978d4ddb9ed2fe272d66219e109afe6e8eb090a9 Merge: 248519c 83a7fc9 be1aa3e 9766a1c 9cfb769 31d9f8f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:49:07 2014 +0100 Merge remote-tracking branches 'asoc/topic/suspend', 'asoc/topic/tas2552', 'asoc/topic/tegra', 'asoc/topic/tlv320aic31xx' and 'asoc/topic/tlv320aic3x' into asoc-next commit 248519c00eb239adc9a4a33e9970ccfea335b83a Merge: 7370780 872bbb3 0d985b1 58a9014 3b2a001 7c168d5 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:49:05 2014 +0100 Merge remote-tracking branches 'asoc/topic/simple', 'asoc/topic/sirf', 'asoc/topic/spdif', 'asoc/topic/ssm2602' and 'asoc/topic/ssm4567' into asoc-next commit 7370780cfd52552e570e4d252c75584c36378e4e Merge: 9568eae f3fa1bb 6f67c38 e8a70c2 6f4d2b3 5d0ecb0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:49:03 2014 +0100 Merge remote-tracking branches 'asoc/topic/rt5645', 'asoc/topic/rt5677', 'asoc/topic/samsung', 'asoc/topic/sgtl5000' and 'asoc/topic/sh' into asoc-next commit 9568eaec6c16f909e806a3920699376ec147d8fa Merge: 57b027f 99632d1 3b40a80 a493b6a a577483 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:49:02 2014 +0100 Merge remote-tracking branches 'asoc/topic/max98090', 'asoc/topic/rockchip', 'asoc/topic/rsnd' and 'asoc/topic/rt286' into asoc-next commit 57b027f697c9d7c0356a53fb9e11e9f8d601fb5c Merge: 565fefd d177143 eadb001 b93427b bb78cdd Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:59 2014 +0100 Merge remote-tracking branches 'asoc/topic/fsl-easi', 'asoc/topic/fsl-sai', 'asoc/topic/fsl-ssi' and 'asoc/topic/intel' into asoc-next commit 565fefdf31a58b5c07869fe598c3dcc69ed680d7 Merge: 9919bad f114ce6 8a36eaa 5d5e63a 8d01370 c05a11f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:57 2014 +0100 Merge remote-tracking branches 'asoc/topic/davinci', 'asoc/topic/dmic', 'asoc/topic/drivers', 'asoc/topic/es8328' and 'asoc/topic/fsl' into asoc-next commit 9919badff1ae85ecb273491b9f8adff0bb47b0e7 Merge: 1e9ca68 98c5d36 5c216cc a4f87ce cd9241e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:55 2014 +0100 Merge remote-tracking branches 'asoc/topic/cs4265', 'asoc/topic/cs42l52', 'asoc/topic/cs42l56' and 'asoc/topic/da732x' into asoc-next commit 1e9ca6857cee968f2af3a7be09418dfe27e81dce Merge: 7ddb870 ae70b19 a18a32c e306b6e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:54 2014 +0100 Merge remote-tracking branches 'asoc/topic/ab8500', 'asoc/topic/ac97' and 'asoc/topic/cs35l32' into asoc-next commit 7ddb870b78e6f655b98231e23ae637e7d6fcf78f Merge: 64fdf13 5ea55705 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:53 2014 +0100 Merge remote-tracking branch 'asoc/topic/fsl-esai' into asoc-next commit 64fdf13c8b5ff530f54dd767861f4e25a9ec2fe9 Merge: 97c53e2 5dc0158 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:52 2014 +0100 Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next commit 97c53e26f0773b9eb9ede21f544a91dd1bcd9ca9 Merge: 5bcaca4 e03f73a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:52 2014 +0100 Merge remote-tracking branch 'asoc/topic/core' into asoc-next commit 5bcaca4b5bf2b05cc15a2c5bfb3d95fc49607e36 Merge: 832a941 b2d9de5 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:51 2014 +0100 Merge remote-tracking branch 'asoc/topic/component' into asoc-next commit 832a94143c549bc750350c4e770f1f604e6aaffb Merge: fd7aff5 19926c6 f69e3ca Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:50 2014 +0100 Merge remote-tracking branches 'asoc/fix/davinci' and 'asoc/fix/max98090' into asoc-linus commit fd7aff54ff6862cde82db8a7d55166a2f0a34b9c Merge: bfe01a5 5e3905f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:44 2014 +0100 Merge tag 'asoc-v3.17-rc4' into asoc-linus ASoC: Fixes for v3.17 Another round of again fairly unexciting fixes - several driver fixes, an e-mail address change and a fix for error handling with DPCM. # gpg: Signature made Wed 10 Sep 2014 12:26:54 BST using RSA key ID 5D5487D0 # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit 95afae481414cbdb0567bf82d5e5077c3ac9da20 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Mon Sep 8 17:30:41 2014 +0100 xen: remove DEFINE_XENBUS_DRIVER() macro The DEFINE_XENBUS_DRIVER() macro looks a bit weird and causes sparse errors. Replace the uses with standard structure definitions instead. This is similar to pci and usb device registration. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 305559f16538708b603ceeb317ebaed9c4da9ce9 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Fri Sep 26 23:36:03 2014 +0800 xen/xenbus: Remove BUG_ON() when error string trucated xenbus_va_dev_error() is for printing error, so when error string is too long to be truncated, need not BUG_ON(), still return truncation string is OK. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit c7440a2f225e3b37abbe27f069465cd31ba94b3c Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Fri Sep 26 23:34:29 2014 +0800 xen/xenbus: Correct the comments for xenbus_grant_ring() A grant reference (which is a positive number) can indicate success, so the original comments need be improved. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a2ef5dc2c7cbedbeb4c847039845afaea5e63745 Author: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx> Date: Wed Sep 10 16:36:06 2014 -0700 x86/xen: Set EFER.NX and EFER.SCE in PVH guests This fixes two bugs in PVH guests: - Not setting EFER.NX means the NX bit in page table entries is ignored on Intel processors and causes reserved bit page faults on AMD processors. - After the Xen commit 7645640d6ff1 ("x86/PVH: don't set EFER_SCE for pvh guest") PVH guests are required to set EFER.SCE to enable the SYSCALL instruction. Secondary VCPUs are started with pagetables with the NX bit set so EFER.NX must be set before using any stack or data segment. xen_pvh_cpu_early_init() is the new secondary VCPU entry point that sets EFER before jumping to cpu_bringup_and_idle(). Signed-off-by: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 669a36302641fb8ea34b558dc0e2ce1df6f262be Author: Gaurav Minocha <gaurav.minocha.os@xxxxxxxxx> Date: Sun Sep 28 12:38:07 2014 -0700 To remove non-ascii characters in of_selftest.txt This patch removes the non-ascii characters in Documentation/devicetree/of_selftest.txt Signed-off-by: Gaurav Minocha <gaurav.minocha.os@xxxxxxxxx> [grant.likely: Fix: s/of_fdt_unflatten_device_tree()/of_fdt_unflatten_tree()/] Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 4e62ccd901062c532673f4fda16c484de2c3c8fc Merge: f2600cf 1556b87 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 6 01:04:21 2014 -0400 Merge branch 'mlx4-next' Amir Vadai says: ==================== net/mlx4_en: Optimizations to TX flow This patchset contains optimizations to TX flow in mlx4_en driver. It also introduce setting/getting tx copybreak, to enable controlling inline threshold dynamically. TX flow optimizations was authored and posted to the mailing list by Eric Dumazet [1] as a single patch. I splitted this patch to smaller patches, Reviewed it and tested. Changed from original patch: - s/iowrite32be/iowrite32/, since ring->doorbell_qpn is stored as be32 The tx copybreak patch was also suggested by Eric Dumazet, and was edited and reviewed by me. User space patch will be sent after kernel code is ready. I am sending this patchset now since the merge window is near and don't want to miss it. More work need to do: - Disable BF when xmit_more is in use - Make TSO use xmit_more too. Maybe by splitting small TSO packets in the driver itself, to avoid extra cpu/memory costs of GSO before the driver - Fix mlx4_en_xmit buggy handling of queue full in the middle of a burst partially posted to send queue using xmit_more Eric, I edited the patches to have you as the Author and the first signed-off-by. I hope it is ok with you (I wasn't sure if it is ok to sign by you), anyway all the credit to those changes should go to you. Patchset was tested and applied over commit 1e203c1 "(net: sched: suspicious RCU usage in qdisc_watchdog") [1] - https://patchwork.ozlabs.org/patch/394256/ ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1556b8746e52501fdfaadd65837baaa63a9fa937 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:22 2014 +0300 net/mlx4_en: Use the new tx_copybreak to set inline threshold Instead of setting inline threshold using module parameter only on driver load, use set_tunable() to set it dynamically. No need to store the threshold per ring, using instead the netdev global priv->prof->inline_thold Initial value still is set using the module parameter, therefore backward compatability is kept. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1255a5055449781a92076fc5429952f2b33cf309 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:21 2014 +0300 ethtool: Ethtool parameter to dynamically change tx_copybreak Use new ethtool [sg]et_tunable() to set tx_copybread (inline threshold) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit acea73d671b25bfbbe6b8ceef949f4ac62c260c0 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:20 2014 +0300 net/mlx4_en: Enable the compiler to make is_inline() inlined Reorganize code to call is_inline() once, so compiler can inline it Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e70602a8b87649e9f7742d96929a8d83618fa320 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:19 2014 +0300 net/mlx4_en: tx_info->ts_requested was not cleared Properly clear tx_info->ts_requested Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e533ac7ea00c39f5ef4ab0976dd2662d50fa42a1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:18 2014 +0300 net/mlx4_en: Use local var for skb_headlen(skb) Access skb_headlen() once in tx flow Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9d8839a44092cb4268ef2813c34d5dbf3363603 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:17 2014 +0300 net/mlx4_en: Use local var in tx flow for skb_shinfo(skb) Acces skb_shinfo(skb) once in tx flow. Also, rename @i variable to @i_frag to avoid confusion, as the "goto tx_drop_unmap;" relied on this @i variable. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f905c79e12791d09bbfd9ba7b672fbeb19c1e7c2 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:16 2014 +0300 net/mlx4_en: mlx4_en_xmit() reads ring->cons once, and ahead of time to avoid stalls Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb1843ee72c7b2ed784bf88ad79c6ccc2f652499 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:15 2014 +0300 net/mlx4_en: Avoid false sharing in mlx4_en_en_process_tx_cq() mlx4_en_process_tx_cq() carefully fetches and writes ring->last_nr_txbb and ring->cons only one time to avoid false sharing Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29d40c903247596c954446639116467eb6689bb7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:14 2014 +0300 net/mlx4_en: Use prefetch in tx path mlx4_en_free_tx_desc() uses a prefetchw(&skb->users) to speed up consume_skb() prefetchw(&ring->tx_queue->dql) to speed up BQL update Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d03641cb4ea050f969dd3ab34113adb95287f36 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:13 2014 +0300 net/mlx4_en: Avoid a cache line miss in TX completion for single frag skb's Add frag0_dma/frag0_byte_count into mlx4_en_tx_info to avoid a cache line miss in TX completion for frames having one dma element. (We avoid reading back the tx descriptor) Note this could be extended to 2/3 dma elements later, as we have free room in mlx4_en_tx_info Also, mlx4_en_free_tx_desc() no longer accesses skb_shinfo(). We use a new nr_maps fields in mlx4_en_tx_info to avoid 2 or 3 cache misses. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc9b06d156cefb95f7f6a3ac0521a3efa31d6805 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:12 2014 +0300 net/mlx4_en: tx_info allocated with kmalloc() instead of vmalloc() Try to allocate using kmalloc_node() first, only on failure use vmalloc() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a4e81211f475561ed87c613216f981fbef8b7fc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:11 2014 +0300 net/mlx4_en: Avoid calling bswap in tx fast path - doorbell_qpn is stored in the cpu_to_be32() way to avoid bswap() in fast path. - mdev->mr.key stored in ring->mr_key to also avoid bswap() and access to cold cache line. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98b1634941e3efb0334f794efc79702839993d86 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:10 2014 +0300 net/mlx4_en: Align tx path structures to cache lines Reorganize struct mlx4_en_tx_ring to have: - One cache line containing last_nr_txbb & cons & wake_queue, used by tx completion. - One cache line containing fields dirtied by mlx4_en_xmit() - Following part is read mostly and shared by cpus. Align struct mlx4_en_tx_info to a cache line Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7dfa4b414d4eec8da56e44fb2b4aea3e549b092f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:09 2014 +0300 net/mlx4_en: Code cleanups in tx path - Remove unused variable ring->poll_cnt - No need to set some fields if using blueflame - Add missing const's - Use unlikely - Remove unneeded new line - Make some comments more precise - struct mlx4_bf @offset field reduced to unsigned int to save space Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2600cf02b5b59aaee082c3485b7f01fc7f7b70c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Oct 4 10:11:31 2014 -0700 net: sched: avoid costly atomic operation in fq_dequeue() Standard qdisc API to setup a timer implies an atomic operation on every packet dequeue : qdisc_unthrottled() It turns out this is not really needed for FQ, as FQ has no concept of global qdisc throttling, being a qdisc handling many different flows, some of them can be throttled, while others are not. Fix is straightforward : add a 'bool throttle' to qdisc_watchdog_schedule_ns(), and remove calls to qdisc_unthrottled() in sch_fq. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 681d2421e1135b95f5cd9d16fe10eac7f570a9f2 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 4 13:40:01 2014 -0300 fec: Fix fec_enet_alloc_buffers() error path When fec_enet_alloc_buffers() fails we should better undo the previous actions, which consists of: disabling the FEC clocks and putting the FEC pins into inactive state. The error path for fec_enet_mii_probe() is kept unchanged. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35425ea2492175fd39f6116481fe98b2b3ddd4ca Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Jul 24 17:25:42 2014 +0800 ecryptfs: avoid to access NULL pointer when write metadata in xattr Christopher Head 2014-06-28 05:26:20 UTC described: "I tried to reproduce this on 3.12.21. Instead, when I do "echo hello > foo" in an ecryptfs mount with ecryptfs_xattr specified, I get a kernel crash: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff8110eb39>] fsstack_copy_attr_all+0x2/0x61 PGD d7840067 PUD b2c3c067 PMD 0 Oops: 0002 [#1] SMP Modules linked in: nvidia(PO) CPU: 3 PID: 3566 Comm: bash Tainted: P O 3.12.21-gentoo-r1 #2 Hardware name: ASUSTek Computer Inc. G60JX/G60JX, BIOS 206 03/15/2010 task: ffff8801948944c0 ti: ffff8800bad70000 task.ti: ffff8800bad70000 RIP: 0010:[<ffffffff8110eb39>] [<ffffffff8110eb39>] fsstack_copy_attr_all+0x2/0x61 RSP: 0018:ffff8800bad71c10 EFLAGS: 00010246 RAX: 00000000000181a4 RBX: ffff880198648480 RCX: 0000000000000000 RDX: 0000000000000004 RSI: ffff880172010450 RDI: 0000000000000000 RBP: ffff880198490e40 R08: 0000000000000000 R09: 0000000000000000 R10: ffff880172010450 R11: ffffea0002c51e80 R12: 0000000000002000 R13: 000000000000001a R14: 0000000000000000 R15: ffff880198490e40 FS: 00007ff224caa700(0000) GS:ffff88019fcc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 00000000bb07f000 CR4: 00000000000007e0 Stack: ffffffff811826e8 ffff8800a39d8000 0000000000000000 000000000000001a ffff8800a01d0000 ffff8800a39d8000 ffffffff81185fd5 ffffffff81082c2c 00000001a39d8000 53d0abbc98490e40 0000000000000037 ffff8800a39d8220 Call Trace: [<ffffffff811826e8>] ? ecryptfs_setxattr+0x40/0x52 [<ffffffff81185fd5>] ? ecryptfs_write_metadata+0x1b3/0x223 [<ffffffff81082c2c>] ? should_resched+0x5/0x23 [<ffffffff8118322b>] ? ecryptfs_initialize_file+0xaf/0xd4 [<ffffffff81183344>] ? ecryptfs_create+0xf4/0x142 [<ffffffff810f8c0d>] ? vfs_create+0x48/0x71 [<ffffffff810f9c86>] ? do_last.isra.68+0x559/0x952 [<ffffffff810f7ce7>] ? link_path_walk+0xbd/0x458 [<ffffffff810fa2a3>] ? path_openat+0x224/0x472 [<ffffffff810fa7bd>] ? do_filp_open+0x2b/0x6f [<ffffffff81103606>] ? __alloc_fd+0xd6/0xe7 [<ffffffff810ee6ab>] ? do_sys_open+0x65/0xe9 [<ffffffff8157d022>] ? system_call_fastpath+0x16/0x1b RIP [<ffffffff8110eb39>] fsstack_copy_attr_all+0x2/0x61 RSP <ffff8800bad71c10> CR2: 0000000000000000 ---[ end trace df9dba5f1ddb8565 ]---" If we create a file when we mount with ecryptfs_xattr_metadata option, we will encounter a crash in this path: ->ecryptfs_create ->ecryptfs_initialize_file ->ecryptfs_write_metadata ->ecryptfs_write_metadata_to_xattr ->ecryptfs_setxattr ->fsstack_copy_attr_all It's because our dentry->d_inode used in fsstack_copy_attr_all is NULL, and it will be initialized when ecryptfs_initialize_file finish. So we should skip copying attr from lower inode when the value of ->d_inode is invalid. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.2+: b59db43 eCryptfs: Prevent file create race condition Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit b3a00c912cdf8efe985a08018fe26f362b32c1ac Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Sat Oct 4 17:54:33 2014 +0800 drivers/net/phy/Kconfig: Let MDIO_BCM_UNIMAC depend on HAS_IOMEM MDIO_BCM_UNIMAC needs HAS_IOMEM, so depend on it, the related error ( with allmodconfig under um): MODPOST 1205 modules ERROR: "devm_ioremap" [drivers/net/phy/mdio-bcm-unimac.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bec3cfdca36bf43cfa3751ad7b56db1a307e0760 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 3 20:59:19 2014 -0700 net: skb_segment() provides list head and tail Its unfortunate we have to walk again skb list to find the tail after segmentation, even if data is probably hot in cpu caches. skb_segment() can store the tail of the list into segs->prev, and validate_xmit_skb_list() can immediately get the tail. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45d9cc7c609680e921060d3eb4e399043eb5e4be Merge: c259c13 f579668 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 6 00:32:25 2014 -0400 Merge branch 'geneve' Andy Zhou says: ==================== Add Geneve tunnel protocol support This patch series adds kernel support for Geneve (Generic Network Virtualization Encapsulation) based on Geneve IETF draft: http://www.ietf.org/id/draft-gross-geneve-01.txt Patch 1 implements Geneve tunneling protocol driver Patch 2-6 adds openvswitch support for creating and using Geneve tunnels by OVS user space. v1->v2: Style fixes: use tab instead space for Kconfig Patch 2-6 are reviewed by Pravin Shetty, add him to acked-by Patch 6 was reviewed by Thomas Graf when commiting to openvswitch.org, add him to acked-by. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5796684069e0c71c65bce6a6d4766114aec1396 Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Oct 3 15:35:33 2014 -0700 openvswitch: Add support for Geneve tunneling. The Openvswitch implementation is completely agnostic to the options that are in use and can handle newly defined options without further work. It does this by simply matching on a byte array of options and allowing userspace to setup flows on this array. Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Singed-off-by: Ansis Atteka <aatteka@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxxxxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b205b2ca17e88ef5e10451b720056b790cc63a5 Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Oct 3 15:35:32 2014 -0700 openvswitch: Factor out allocation and verification of actions. As the size of the flow key grows, it can put some pressure on the stack. This is particularly true in ovs_flow_cmd_set(), which needs several copies of the key on the stack. One of those uses is logically separate, so this factors it out to reduce stack pressure and improve readibility. Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0b128c1e2cc33ad104daf0f51a51e34f7763c5f Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Oct 3 15:35:31 2014 -0700 openvswitch: Wrap struct ovs_key_ipv4_tunnel in a new structure. Currently, the flow information that is matched for tunnels and the tunnel data passed around with packets is the same. However, as additional information is added this is not necessarily desirable, as in the case of pointers. This adds a new structure for tunnel metadata which currently contains only the existing struct. This change is purely internal to the kernel since the current OVS_KEY_ATTR_IPV4_TUNNEL is simply a compressed version of OVS_KEY_ATTR_TUNNEL that is translated at flow setup. Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67fa034194bf82a3d5ca841759d921297daa63ca Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Oct 3 15:35:30 2014 -0700 openvswitch: Add support for matching on OAM packets. Some tunnel formats have mechanisms for indicating that packets are OAM frames that should be handled specially (either as high priority or not forwarded beyond an endpoint). This provides support for allowing those types of packets to be matched. Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0714812134d7dcadeb7ecfbfeb18788aa7e1eaac Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Oct 3 15:35:29 2014 -0700 openvswitch: Eliminate memset() from flow_extract. As new protocols are added, the size of the flow key tends to increase although few protocols care about all of the fields. In order to optimize this for hashing and matching, OVS uses a variable length portion of the key. However, when fields are extracted from the packet we must still zero out the entire key. This is no longer necessary now that OVS implements masking. Any fields (or holes in the structure) which are not part of a given protocol will be by definition not part of the mask and zeroed out during lookup. Furthermore, since masking already uses variable length keys this zeroing operation automatically benefits as well. In principle, the only thing that needs to be done at this point is remove the memset() at the beginning of flow. However, some fields assume that they are initialized to zero, which now must be done explicitly. In addition, in the event of an error we must also zero out corresponding fields to signal that there is no valid data present. These increase the total amount of code but very little of it is executed in non-error situations. Removing the memset() reduces the profile of ovs_flow_extract() from 0.64% to 0.56% when tested with large packets on a 10G link. Suggested-by: Pravin Shelar <pshelar@xxxxxxxxxx> Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b5e8b8eeae40bae6ad7c7e91c97c3c0d0e57882 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Fri Oct 3 15:35:28 2014 -0700 net: Add Geneve tunneling protocol driver This adds a device level support for Geneve -- Generic Network Virtualization Encapsulation. The protocol is documented at http://tools.ietf.org/html/draft-gross-geneve-01 Only protocol layer Geneve support is provided by this driver. Openvswitch can be used for configuring, set up and tear down functional Geneve tunnels. Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdf6fa52f01b941d4a80372d56de465bdbbd1d23 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri Oct 3 18:16:20 2014 -0400 sctp: handle association restarts when the socket is closed. Currently association restarts do not take into consideration the state of the socket. When a restart happens, the current assocation simply transitions into established state. This creates a condition where a remote system, through a the restart procedure, may create a local association that is no way reachable by user. The conditions to trigger this are as follows: 1) Remote does not acknoledge some data causing data to remain outstanding. 2) Local application calls close() on the socket. Since data is still outstanding, the association is placed in SHUTDOWN_PENDING state. However, the socket is closed. 3) The remote tries to create a new association, triggering a restart on the local system. The association moves from SHUTDOWN_PENDING to ESTABLISHED. At this point, it is no longer reachable by any socket on the local system. This patch addresses the above situation by moving the newly ESTABLISHED association into SHUTDOWN-SENT state and bundling a SHUTDOWN after the COOKIE-ACK chunk. This way, the restarted associate immidiately enters the shutdown procedure and forces the termination of the unreachable association. Reported-by: David Laight <David.Laight@xxxxxxxxxx> Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c259c132ad284576ab44308d5d17ea6a16c971b5 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Oct 3 14:29:14 2014 -0700 net: fec: fix build error at m68k platform reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 1b7bde6d659d30f171259cc2dfba8e5dab34e735 make.cross ARCH=m68k m5275evb_defconfig make.cross ARCH=m68k All error/warnings: drivers/net/ethernet/freescale/fec_main.c: In function 'fec_enet_rx_queue': >> drivers/net/ethernet/freescale/fec_main.c:1470:3: error: implicit declaration of function 'prefetch' [-Werror=implicit-function-declaration] prefetch(skb->data - NET_IP_ALIGN); ^ cc1: some warnings being treated as errors missed included prefetch.h Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ad6e6c50899621030a9b10ddcb2fcd349cb5965 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Fri Oct 3 12:25:01 2014 -0700 net: bcmgenet: improve bcmgenet_mii_setup() bcmgenet_mii_setup() is called from the PHY state machine every 1-2 seconds when the PHYs are in PHY_POLL mode. Improve bcmgenet_mii_setup() so that it touches the MAC registers only when the link is up and there was a change to link, speed, duplex, or pause status. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 120c2cba1d76494a68e36a11eb630cb335ed1494 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Oct 3 15:12:42 2014 -0700 f2fs: remove unused return value Don't return any value without any usage. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f4bb2981024fc91b23b4d09a8817c415396dbabb Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Oct 5 22:56:00 2014 -0400 ext4: add ext4_iget_normal() which is to be used for dir tree lookups If there is a corrupted file system which has directory entries that point at reserved, metadata inodes, prohibit them from being used by treating them the same way we treat Boot Loader inodes --- that is, mark them to be bad inodes. This prohibits them from being opened, deleted, or modified via chmod, chown, utimes, etc. In particular, this prevents a corrupted file system which has a directory entry which points at the journal inode from being deleted and its blocks released, after which point Much Hilarity Ensues. Reported-by: Sami Liedes <sami.liedes@xxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e2bfb088fac03c0f621886a04cffc7faa2b49b1d Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Oct 5 22:47:07 2014 -0400 ext4: don't orphan or truncate the boot loader inode The boot loader inode (inode #5) should never be visible in the directory hierarchy, but it's possible if the file system is corrupted that there will be a directory entry that points at inode #5. In order to avoid accidentally trashing it, when such a directory inode is opened, the inode will be marked as a bad inode, so that it's not possible to modify (or read) the inode from userspace. Unfortunately, when we unlink this (invalid/illegal) directory entry, we will put the bad inode on the ophan list, and then when try to unlink the directory, we don't actually remove the bad inode from the orphan list before freeing in-memory inode structure. This means the in-memory orphan list is corrupted, leading to a kernel oops. In addition, avoid truncating a bad inode in ext4_destroy_inode(), since truncating the boot loader inode is not a smart thing to do. Reported-by: Sami Liedes <sami.liedes@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit f13909cdab3ad0fda7be8c42f0930fbf7200ffa4 Merge: a4b4a2b 3354313 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:39:58 2014 -0400 Merge branch 'altera_tse' Walter Lozano says: ==================== Altera TSE with no PHY In some scenarios there is no PHY chip present, for example in optical links. This serie of patches moves PHY get addr and MDIO create to a new function and avoids PHY and MDIO probing in these cases. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3354313e504ab51d620388fb230e17cd9097388c Author: Walter Lozano <walter@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 15:09:01 2014 -0300 Altera TSE: Add support for no PHY This patch avoids PHY and MDIO probing if no PHY chip is present. This is the case mainly in optical links where there is no need for PHY chip, and therefore no need of MDIO. In this scenario Ethernet MAC is directly connected to an optical module through an external SFP transceiver. Signed-off-by: Walter Lozano <walter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 004fa11861f89c54c8839119a99e87b6164dcc2c Author: Walter Lozano <walter@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 15:09:00 2014 -0300 Altera TSE: Move PHY get addr and MDIO create Move PHY get addr and MDIO create to a new function to improve readability and make it easier to avoid its usage. This will be useful for example in the case where there is no PHY chip. Signed-off-by: Walter Lozano <walter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4b4a2b7f98a45c71a906b1126cabea6446a9905 Merge: 61b37d2 3f08e47 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:34:39 2014 -0400 Merge tag 'master-2014-10-02' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== pull request: wireless-next 2014-10-03 Please pull tihs batch of updates intended for the 3.18 stream! For the iwlwifi bits, Emmanuel says: "I have here a few things that depend on the latest mac80211's changes: RRM, TPC, Quiet Period etc... Eyal keeps improving our rate control and we have a new device ID. This last patch should probably have gone to wireless.git, but at that stage, I preferred to send it to -next and CC stable." For (most of) the Atheros bits, Kalle says: "The only new feature is testmode support from me. Ben added a new method to crash the firmware with an assert for debug purposes. As usual, we have lots of smaller fixes from Michal. Matteo fixed a Kconfig dependency with debugfs. I fixed some warnings recently added to checkpatch." For the NFC bits, Samuel says: "We've had major updates for TI and ST Microelectronics drivers, and a few NCI related changes. For TI's trf7970a driver: - Target mode support for trf7970a - Suspend/resume support for trf7970a - DT properties additions to handle different quirks - A bunch of fixes for smartphone IOP related issues For ST Microelectronics' ST21NFCA and ST21NFCB drivers: - ISO15693 support for st21nfcb - checkpatch and sparse related warning fixes - Code cleanups and a few minor fixes Finally, Marvell added ISO15693 support to the NCI stack, together with a couple of NCI fixes." For the Bluetooth bits, Johan says: "This 3.18 pull request replaces the one I did on Monday ("bluetooth-next 2014-09-22", which hasn't been pulled yet). The additions since the last request are: - SCO connection fix for devices not supporting eSCO - Cleanups regarding the SCO establishment logic - Remove unnecessary return value from logging functions - Header compression fix for 6lowpan - Cleanups to the ieee802154/mrf24j40 driver Here's a copy from previous request that this one replaces: ' Here are some more patches for 3.18. They include various fixes to the btusb HCI driver, a fix for LE SMP, as well as adding Jukka to the MAINTAINERS file for generic 6LoWPAN (as requested by Alexander Aring). I've held on to this pull request a bit since we were waiting for a SCO related fix to get sorted out first. However, since the merge window is getting closer I decided not to wait for it. If we do get the fix sorted out there'll probably be a second small pull request later this week. '" And, "Unless 3.17 gets delayed this will probably be our last -next pull request for 3.18. We've got: - New Marvell hardware supportr - Multicast support for 6lowpan - Several of 6lowpan fixes & cleanups - Fix for a (false-positive) lockdep warning in L2CAP - Minor btusb cleanup" On top of all that comes the usual sort of updates to ath5k, ath9k, ath10k, brcmfmac, mwifiex, and wil6210. This time around there are also a number of rtlwifi updates to enable some new hardware and to reconcile the in-kernel drivers with some newer releases of the Realtek vendor drivers. Also of note is some device tree work for the bcma bus. Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61b37d2f54961b336a47a501e797a05df20c3b30 Merge: ad9eef5 8da4cc1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:32:37 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter/IPVS updates for net-next The following patchset contains another batch with Netfilter/IPVS updates for net-next, they are: 1) Add abstracted ICMP codes to the nf_tables reject expression. We introduce four reasons to reject using ICMP that overlap in IPv4 and IPv6 from the semantic point of view. This should simplify the maintainance of dual stack rule-sets through the inet table. 2) Move nf_send_reset() functions from header files to per-family nf_reject modules, suggested by Patrick McHardy. 3) We have to use IS_ENABLED(CONFIG_BRIDGE_NETFILTER) everywhere in the code now that br_netfilter can be modularized. Convert remaining spots in the network stack code. 4) Use rcu_barrier() in the nf_tables module removal path to ensure that we don't leave object that are still pending to be released via call_rcu (that may likely result in a crash). 5) Remove incomplete arch 32/64 compat from nft_compat. The original (bad) idea was to probe the word size based on the xtables match/target info size, but this assumption is wrong when you have to dump the information back to userspace. 6) Allow to filter from prerouting and postrouting in the nf_tables bridge. In order to emulate the ebtables NAT chains (which are actually simple filter chains with no special semantics), we have support filtering from this hooks too. 7) Add explicit module dependency between xt_physdev and br_netfilter. This provides a way to detect if the user needs br_netfilter from the configuration path. This should reduce the breakage of the br_netfilter modularization. 8) Cleanup coding style in ip_vs.h, from Simon Horman. 9) Fix crash in the recently added nf_tables masq expression. We have to register/unregister the notifiers to clean up the conntrack table entries from the module init/exit path, not from the rule addition / deletion path. From Arturo Borrero. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad9eef52085c5c6047e44705806a1b5b14b7f476 Merge: e885439 5be5a2d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:21:44 2014 -0400 Merge branch 'bridge_default_pvid' Vladislav Yasevich says: ==================== bridge: Add vlan filtering support for default pvid This series adds default pvid support to vlan filtering in the bridge. VLAN 1 (as recommended by 802.1q spec) is used as default pvid on ports. Then the user can over-ride this configuration by configuring their own vlan information. The user can additionally change the default value through the sysfs interface (netlink coming shortly). The user can turn off default pvid functionality by setting default pvid to 0. This series changes the default behavior of the bridge when vlan filtering is turned on. Currently, ports without any vlan filtering configured will not recevie any traffic at all. This patch changes the behavior of the above ports to receive only untagged traffic. Since v3: - allocated 'changed' bitmap on the heap and re-arrange code to clean it up. - remove extra blank lines. - Fix patch1 to build by itself. - Fix error recover to not add vlan 0. - Restructure nbp_vlan_init to remove uneeded variable. Since v2: - Fix handling of invalid values in sysfs interface. - Add some additional log messages. - Fix default_pvid handling when vlan filtering is compiled out. - Fix sparse issues with new code. - Fix how we located the old default pvid (added a helper function). Since v1: - Add ability to turn off default_pvid settings. - Drop the automiatic filtering support based on configured vlan devices (will be its own series) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5be5a2df40f005ea7fb7e280e87bbbcfcf1c2fc0 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri Oct 3 11:29:18 2014 -0400 bridge: Add filtering support for default_pvid Currently when vlan filtering is turned on on the bridge, the bridge will drop all traffic untill the user configures the filter. This isn't very nice for ports that don't care about vlans and just want untagged traffic. A concept of a default_pvid was recently introduced. This patch adds filtering support for default_pvid. Now, ports that don't care about vlans and don't define there own filter will belong to the VLAN of the default_pvid and continue to receive untagged traffic. This filtering can be disabled by setting default_pvid to 0. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3df6bf45ec008942f16f1814123c4bdebcf50741 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri Oct 3 11:29:17 2014 -0400 bridge: Simplify pvid checks. Currently, if the pvid is not set, we return an illegal vlan value even though the pvid value is set to 0. Since pvid of 0 is currently invalid, just return 0 instead. This makes the current and future checks simpler. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96a20d9d7fff7068a2233b00379f0778a150bf86 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri Oct 3 11:29:16 2014 -0400 bridge: Add a default_pvid sysfs attribute This patch allows the user to set and retrieve default_pvid value. A new value can only be stored when vlan filtering is disabled. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e885439f37b0dce404291350f7c0368c2bb97cdb Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 17:08:19 2014 +0200 net: pxa168_eth: avoid using signed char for bitops Signedness bugs may occur when using signed char for bitops, depending on if the highest bit is ever used. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5555dfdc0fd84c4df61756903632e1e37a63a247 Merge: 1e203c1 7b0c67e4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:17:56 2014 -0400 Merge branch 'isdn-next' Tilman Schmidt says: ==================== ISDN patches for net-next Here's a series of patches for the ISDN CAPI subsystem and the Gigaset ISDN driver. Please merge via net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b0c67e49545b523f21b625ba123f6ba2f553dcd Author: Tilman Schmidt <tilman@xxxxxxx> Date: Fri Oct 3 17:03:32 2014 +0200 isdn/gigaset: use USB API function usb_endpoint_num() Use function usb_endpoint_num() for the bulk endpoint and store the endpoint number in the cardstate structure instead of the raw endpoint address value. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 434d13ba399d40b3dc87f7d0b954a3f65d06f519 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Fri Oct 3 17:03:32 2014 +0200 isdn/gigaset: drop unused cardstate structure member Field int_in_endpointAddr was set but never used. Drop it. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5dcd7d843950edfc9108246eab94c858b6dc5d6f Author: Tilman Schmidt <tilman@xxxxxxx> Date: Fri Oct 3 17:03:32 2014 +0200 isdn/gigaset: improve error handling when leaving DLE mode Avoid cascading warnings when leaving DLE mode fails by clearing the DLE flag before entering recovery. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51db998fb6e04e8dfcf4e33295651367b91238a5 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Fri Oct 3 17:03:32 2014 +0200 isdn/capi: drop two dead if branches The last branch in command_2_index() cannot be reached since c==0xff is already caught by the first "if". The empty second branch makes no difference since no other branch will be taken for c<0x0f. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f408c3d956c987844dcb7c6837abfbb0331fb7f6 Merge: 3a67c9c 96aaced Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:15:23 2014 -0400 Merge branch 'spider_net' Antoine Tenart says: ==================== net: spider_net: fix possible bitops errors Dan reported a possible signedness issue on the pxa168_eth driver. While having a look at it, I came across a similar problem in the spider_net driver. Here is one proposal to fix it. The first patch rework the spider_net_set_mac() function by removing the spider_net_get_mac_address() call and using memcpy() to set netdev->dev_addr (which is what's done in lots of Ethernet drivers) and the second one fix the actual signedness issue. If for any reason you really want to keep a call to spider_net_get_mac_address() because the memcpy() is somehow not good enough here, we can also come up with a solution involving a temporary unsigned char variable. I couldn't test these changes, so please do. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96aacededcc601f5af894ead6b481e76cc8db2cd Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 17:01:56 2014 +0200 net: spider_net: avoid using signed char for bitops Signedness bugs may occur when using signed char for bitops, depending on if the highest bit is ever used. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f6a670116921eae11b81f1760e2fff1148712de Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 17:01:55 2014 +0200 net: spider_net: do not read mac address again after setting it This patch removes the spider_net_get_mac_address() call at the end of the spider_net_set_mac() function. The dev->dev_addr is instead updated with a memcpy() from sa->sa_data. Since spider_net_get_mac_address() is not used anywhere else, this patch also removes the function. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a67c9ccad926a168d8b7891537a452018368a5b Author: KY Srinivasan <kys@xxxxxxxxxxxxx> Date: Sun Oct 5 10:42:51 2014 -0700 hyperv: Fix a bug in netvsc_send() After the packet is successfully sent, we should not touch the packet as it may have been freed. This patch is based on the work done by Long Li <longli@xxxxxxxxxxxxx>. David, please queue this up for stable. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reported-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56ec16cb1e1ce46354de8511eef962a417c32c92 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Wed Oct 1 22:58:35 2014 +0200 dm log userspace: fix memory leak in dm_ulog_tfr_init failure path If cn_add_callback() fails in dm_ulog_tfr_init(), it does not deallocate prealloced memory but calls cn_del_callback(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Reviewed-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 0e825862f3c04cee40e25f55680333728a4ffa9b Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Wed Oct 1 13:29:48 2014 -0400 dm bufio: when done scanning return from __scan immediately When __scan frees the required number of buffer entries that the shrinker requested (nr_to_scan becomes zero) it must return. Before this fix the __scan code exited only the inner loop and continued in the outer loop -- which could result in reduced performance due to extra buffers being freed (e.g. unnecessarily evicted thinp metadata needing to be synchronously re-read into bufio's cache). Also, move dm_bufio_cond_resched to __scan's inner loop, so that iterating the bufio client's lru lists doesn't result in scheduling latency. Reported-by: Joe Thornber <thornber@xxxxxxxxxx> Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.2+ commit eb76faf53b1ff7a77ce3f78cc98ad392ac70c2a0 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Tue Sep 30 09:32:46 2014 +0100 dm bufio: update last_accessed when relinking a buffer The 'last_accessed' member of the dm_buffer structure was only set when the the buffer was created. This led to each buffer being discarded after dm_bufio_max_age time even if it was used recently. In practice this resulted in all thinp metadata being evicted soon after being read -- this is particularly problematic for metadata intensive workloads like multithreaded small random IO. 'last_accessed' is now updated each time the buffer is moved to the head of the LRU list, so the buffer is now properly discarded if it was not used in dm_bufio_max_age time. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.2+ commit 48cf06bc5f508d5f71bc0fd7530daebb12a48428 Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Date: Wed Sep 24 17:47:19 2014 +0200 dm raid: add discard support for RAID levels 4, 5 and 6 In case of RAID levels 4, 5 and 6 we have to verify each RAID members' ability to zero data on discards to avoid stripe data corruption -- if discard_zeroes_data is not set for each RAID member discard support must be disabled. But given the uncertainty of whether or not a RAID member properly supports zeroing data on discard we require the user to explicitly allow discard support on RAID levels 4, 5, and 6 by setting a dm-raid module paramter, e.g.: dm-raid.devices_handle_discard_safely=Y Otherwise, discards could cause data corruption on RAID4/5/6. Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 75b8e04bbf01bdd5c42a1d8ac54abf757196ce49 Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Date: Wed Sep 24 17:47:18 2014 +0200 dm raid: add discard support for RAID levels 1 and 10 Discard support is not enabled for RAID levels 4, 5, and 6 at this time due to concerns about unreliable discard_zeroes_data support on some hardware. Otherwise, discards could cause stripe data corruption (classic example of bad apples spoiling the bunch). Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 86f1152b117a404229fd6f08ec3faca779f37b92 Author: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Date: Wed Aug 13 13:53:43 2014 -0500 dm: allow active and inactive tables to share dm_devs Until this change, when loading a new DM table, DM core would re-open all of the devices in the DM table. Now, DM core will avoid redundant device opens (and closes when destroying the old table) if the old table already has a device open using the same mode. This is achieved by managing reference counts on the table_devices that DM core now stores in the mapped_device structure (rather than in the dm_table structure). So a mapped_device's active and inactive dm_tables' dm_dev lists now just point to the dm_devs stored in the mapped_device's table_devices list. This improvement in DM core's device reference counting has the side-effect of fixing a long-standing limitation of the multipath target: a DM multipath table couldn't include any paths that were unusable (failed). For example: if all paths have failed and you add a new, working, path to the table; you can't use it since the table load would fail due to it still containing failed paths. Now a re-load of a multipath table can include failed devices and when those devices become active again they can be used instantly. The device list code in dm.c isn't a straight copy/paste from the code in dm-table.c, but it's very close (aside from some variable renames). One subtle difference is that find_table_device for the tables_devices list will only match devices with the same name and mode. This is because we don't want to upgrade a device's mode in the active table when an inactive table is loaded. Access to the mapped_device structure's tables_devices list requires a mutex (tables_devices_lock), so that tables cannot be created and destroyed concurrently. Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 1f271972478d84dd9e4d6dd82f414d70ed9e78ce Author: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Date: Wed Aug 13 13:53:42 2014 -0500 dm mpath: stop queueing IO when no valid paths exist 'queue_io' is set so that IO is queued while paths are being initialized. Clear queue_io in __choose_pgpath if there are no valid paths, since there are obviously no paths that can be initialized. Otherwise IOs to the device will back up. Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 3d8aab2d2cca2dc878e396196d07889129440798 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Fri Oct 3 11:55:26 2014 +0000 dm: use bioset_create_nobvec() Since DM core uses bio_clone_fast() for both bio-based and request-based DM devices there is no need for DM's bioset to have a bvec mempool. With this patch, on arch with 4KB page for example, memory usage will be reduced by 64KB for each bio-based DM device and 1MB for each request-based DM device. For example, when you create 10,000 bio-based DM devices and 1,000 request-based DM devices, memory usage of biovec under no load is: # grep biovec /proc/slabinfo biovec-256 418068 418068 4096 ... biovec-128 0 0 2048 ... biovec-64 0 0 1024 ... biovec-16 0 0 256 ... With this patch series applied, the usage becomes: # grep biovec /proc/slabinfo biovec-256 116 116 4096 ... biovec-128 0 0 2048 ... biovec-64 0 0 1024 ... biovec-16 0 0 256 ... So 4096 * (418068 - 116) = 1.6GB of memory is saved in this example. Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 997782735c0f1e2e069337129fe0d5738d83d19b Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Fri Oct 3 11:55:16 2014 +0000 dm: remove nr_iovecs parameter from alloc_tio() alloc_tio() uses bio_alloc_bioset() to allocate a clone-bio for a bio. alloc_tio() takes the number of bvecs to allocate for the clone-bio. However, with v3.14's immutable biovec changes DM now uses __bio_clone_fast() and no longer needs to allocate bvecs. In practice, the 'nr_iovecs' passed to alloc_tio() is always effectively 0. __clone_and_map_simple_bio() looked like it was passing non-zero nr_iovecs, but its value was always within the range of inline bvecs and no allocation actually happened. If allocation happened, the BUG_ON() in __bio_clone_fast() would've triggered. Remove the nr_iovecs parameter from alloc_tio() to prevent possible future bio_alloc_bioset() mis-use of a new bioset interface that will no longer allow bvecs to be allocated. Also fix extra whitespace before the __bio_clone_fast() call in __clone_and_map_simple_bio(). Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit d195b71bad4347d2df51072a537f922546a904f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 27 21:30:57 2014 -0700 sparc64: Kill unnecessary tables and increase MAX_BANKS. swapper_low_pmd_dir and swapper_pud_dir are actually completely useless and unnecessary. We just need swapper_pg_dir[]. Naturally the other page table chunks will be allocated on an as-needed basis. Since the kernel actually accesses these tables in the PAGE_OFFSET view, there is not even a TLB locality advantage of placing them in the kernel image. Use the hard coded vmlinux.ld.S slot for swapper_pg_dir which is naturally page aligned. Increase MAX_BANKS to 1024 in order to handle heavily fragmented virtual guests. Even with this MAX_BANKS increase, the kernel is 20K+ smaller. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit ee6a9333fa58e11577c1b531b8e0f5ffc0fd6f50 Author: bob picco <bpicco@xxxxxxxxxx> Date: Thu Sep 25 12:25:03 2014 -0700 sparc64: sparse irq This patch attempts to do a few things. The highlights are: 1) enable SPARSE_IRQ unconditionally, 2) kills off !SPARSE_IRQ code 3) allocates ivector_table at boot time and 4) default to cookie only VIRQ mechanism for supported firmware. The first firmware with cookie only support for me appears on T5. You can optionally force the HV firmware to not cookie only mode which is the sysino support. The sysino is a deprecated HV mechanism according to the most recent SPARC Virtual Machine Specification. HV_GRP_INTR is what controls the cookie/sysino firmware versioning. The history of this interface is: 1) Major version 1.0 only supported sysino based interrupt interfaces. 2) Major version 2.0 added cookie based VIRQs, however due to the fact that OSs were using the VIRQs without negoatiating major version 2.0 (Linux and Solaris are both guilty), the VIRQs calls were allowed even with major version 1.0 To complicate things even further, the VIRQ interfaces were only actually hooked up in the hypervisor for LDC interrupt sources. VIRQ calls on other device types would result in HV_EINVAL errors. So effectively, major version 2.0 is unusable. 3) Major version 3.0 was created to signal use of VIRQs and the fact that the hypervisor has these calls hooked up for all interrupt sources, not just those for LDC devices. A new boot option is provided should cookie only HV support have issues. hvirq - this is the version for HV_GRP_INTR. This is related to HV API versioning. The code attempts major=3 first by default. The option can be used to override this default. I've tested with SPARSE_IRQ on T5-8, M7-4 and T4-X and Jalap?no. Signed-off-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb4e6e85daa52a9f6210fa06a5ec6269598a202b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 27 11:05:21 2014 -0700 sparc64: Adjust vmalloc region size based upon available virtual address bits. In order to accomodate embedded per-cpu allocation with large numbers of cpus and numa nodes, we have to use as much virtual address space as possible for the vmalloc region. Otherwise we can get things like: PERCPU: max_distance=0x380001c10000 too large for vmalloc space 0xff00000000 So, once we select a value for PAGE_OFFSET, derive the size of the vmalloc region based upon that. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit 7c0fa0f24bb76ce3d67be7f737b799846a04570f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 24 21:49:29 2014 -0700 sparc64: Increase MAX_PHYS_ADDRESS_BITS to 53. Make sure, at compile time, that the kernel can properly support whatever MAX_PHYS_ADDRESS_BITS is defined to. On M7 chips, use a max_phys_bits value of 49. Based upon a patch by Bob Picco. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit c06240c7f5c39c83dfd7849c0770775562441b96 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 24 21:20:14 2014 -0700 sparc64: Use kernel page tables for vmemmap. For sparse memory configurations, the vmemmap array behaves terribly and it takes up an inordinate amount of space in the BSS section of the kernel image unconditionally. Just build huge PMDs and look them up just like we do for TLB misses in the vmalloc area. Kernel BSS shrinks by about 2MB. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit 0dd5b7b09e13dae32869371e08e1048349fd040c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 24 20:56:11 2014 -0700 sparc64: Fix physical memory management regressions with large max_phys_bits. If max_phys_bits needs to be > 43 (f.e. for T4 chips), things like DEBUG_PAGEALLOC stop working because the 3-level page tables only can cover up to 43 bits. Another problem is that when we increased MAX_PHYS_ADDRESS_BITS up to 47, several statically allocated tables became enormous. Compounding this is that we will need to support up to 49 bits of physical addressing for M7 chips. The two tables in question are sparc64_valid_addr_bitmap and kpte_linear_bitmap. The first holds a bitmap, with 1 bit for each 4MB chunk of physical memory, indicating whether that chunk actually exists in the machine and is valid. The second table is a set of 2-bit values which tell how large of a mapping (4MB, 256MB, 2GB, 16GB, respectively) we can use at each 256MB chunk of ram in the system. These tables are huge and take up an enormous amount of the BSS section of the sparc64 kernel image. Specifically, the sparc64_valid_addr_bitmap is 4MB, and the kpte_linear_bitmap is 128K. So let's solve the space wastage and the DEBUG_PAGEALLOC problem at the same time, by using the kernel page tables (as designed) to manage this information. We have to keep using large mappings when DEBUG_PAGEALLOC is disabled, and we do this by encoding huge PMDs and PUDs. On a T4-2 with 256GB of ram the kernel page table takes up 16K with DEBUG_PAGEALLOC disabled and 256MB with it enabled. Furthermore, this memory is dynamically allocated at run time rather than coded statically into the kernel image. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit 8c82dc0e883821c098c8b0b130ffebabf9aab5df Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 17 10:14:56 2014 -0700 sparc64: Adjust KTSB assembler to support larger physical addresses. As currently coded the KTSB accesses in the kernel only support up to 47 bits of physical addressing. Adjust the instruction and patching sequence in order to support arbitrary 64 bits addresses. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit 4397bed080598001e88f612deb8b080bb1cc2322 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 21:58:33 2014 -0700 sparc64: Define VA hole at run time, rather than at compile time. Now that we use 4-level page tables, we can provide up to 53-bits of virtual address space to the user. Adjust the VA hole based upon the capabilities of the cpu type probed. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit ac55c768143aa34cc3789c4820cbb0809a76fd9c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 21:19:46 2014 -0700 sparc64: Switch to 4-level page tables. This has become necessary with chips that support more than 43-bits of physical addressing. Based almost entirely upon a patch by Bob Picco. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit 98d147f50eb0ce4328e013f5f2c076896003c761 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Oct 1 23:39:29 2014 +0200 clk: pxa clocks build system fix Fix the building of pxa clock drivers so that the files are actually compiled if and only if COMMON_CLK was selected by the architecture. This prevents conflicts with mach-pxa clock legacy implementation. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit dbcbe68bb76c4f8057160209859ecd7c75e86c30 Merge: a13f453 4990141 8ee4104 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 5 22:25:20 2014 +0200 Merge branches 'acpi-pnp' and 'acpi-blacklist' * acpi-pnp: ACPI / PNP: remove Fujitsu device IDs from ACPI PNP ID list * acpi-blacklist: ACPI / blacklist: add Win8 OSI quirks for some Dell laptop models commit a13f453140d542f9d5a0ee15601531c72e5401d7 Merge: 354f1db 3f9ae37 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 5 22:24:43 2014 +0200 Merge branch 'acpi-lpss' * acpi-lpss: ACPI / LPSS: not using UART RTS override with Auto Flow Control ACPI / LPSS: remove struct lpss_shared_clock ACPI / LPSS: support for 133MHz I2C source clock on Baytrail ACPI / LPSS: drop clkdev_name member from lpss_device_desc ACPI / LPSS: introduce flags commit 354f1dbe1905f8ab34ec5950277643a625b0c7f5 Merge: 939558f cbe68a2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 5 22:24:31 2014 +0200 Merge branch 'acpi-video' * acpi-video: ACPI / video: check _DOD list when creating backlight devices ACPI / video: force vendor backlight on Lenovo Ideapad Z570 ACPI / video: Remove video_set_use_native_backlight quirk commit 939558f2a4b7851c11ce8d08387730914a1e1f5f Merge: 65e8627 5159e39 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 5 22:24:19 2014 +0200 Merge branch 'acpi-apple' * acpi-apple: ACPI / SBS: Fix check in acpi_ac_get_present() ACPI: Support _OSI("Darwin") correctly ACPI / SBS: Disable smart battery manager on Apple ACPI / SBS: Don't assume the existence of an SBS charger commit 65e8627aad0b9ef24d282296f4d3a1638a2438e6 Merge: bfe01a5 e0fa975 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 5 22:23:55 2014 +0200 Merge branch 'acpica' * acpica: ACPICA: Introduce acpi_enable_all_wakeup_gpes() ACPICA: Clear all non-wakeup GPEs in acpi_hw_enable_wakeup_gpe_block() ACPICA: Update version to 20140828. ACPICA: Disassembler: Fix for gpio_int interrupt polarity flags. ACPICA: Headers: Add GTDT flag definitions for the timer subtable. ACPICA: ACPI 5.1/Disassembler: Add GICC affinity subtable to SRAT table. ACPICA: Add _PSx names to the METHOD_NAME list. commit bfe01a5ba2490f299e1d2d5508cbbbadd897bbe9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 5 12:23:04 2014 -0700 Linux 3.17 commit ef0a59924a795ccb4ced0ae1722a337745a1b045 Merge: 7b6ea43 2c2d831c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 5 10:16:11 2014 -0700 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "This is a set of two small fixes, both to code which went in during the merge window: cxgb4i has a scheduling in atomic bug in its new ipv6 code and uas fails to work properly with the new scsi-mq code" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: [SCSI] uas: disable use of blk-mq I/O path [SCSI] cxgb4i: avoid holding mutex in interrupt context commit 0d0f660d882c1c02748ced13966a2413aa5d6cc2 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Oct 5 02:13:03 2014 -0700 iser-target: Disable TX completion interrupt coalescing This patch explicitly disables TX completion interrupt coalescing logic in isert_put_response() and isert_put_datain() that was originally added as an efficiency optimization in commit 95b60f07. It has been reported that this change can trigger ABORT_TASK timeouts under certain small block workloads, where disabling coalescing was required for stability. According to Sagi, this doesn't impact overall performance, so go ahead and disable it for now. Reported-by: Moussa Ba <moussaba@xxxxxxxxxx> Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.13+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 473ad7f4fb005d1bb727e4ef27d370d28703a062 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 4 21:05:14 2014 -0700 sparc64: Fix reversed start/end in flush_tlb_kernel_range() When we have to split up a flush request into multiple pieces (in order to avoid the firmware range) we don't specify the arguments in the right order for the second piece. Fix the order, or else we get hangs as the code tries to flush "a lot" of entries and we get lockups like this: [ 4422.981276] NMI watchdog: BUG: soft lockup - CPU#12 stuck for 23s! [expect:117032] [ 4422.996130] Modules linked in: ipv6 loop usb_storage igb ptp sg sr_mod ehci_pci ehci_hcd pps_core n2_rng rng_core [ 4423.016617] CPU: 12 PID: 117032 Comm: expect Not tainted 3.17.0-rc4+ #1608 [ 4423.030331] task: fff8003cc730e220 ti: fff8003d99d54000 task.ti: fff8003d99d54000 [ 4423.045282] TSTATE: 0000000011001602 TPC: 00000000004521e8 TNPC: 00000000004521ec Y: 00000000 Not tainted [ 4423.064905] TPC: <__flush_tlb_kernel_range+0x28/0x40> [ 4423.074964] g0: 000000000052fd10 g1: 00000001295a8000 g2: ffffff7176ffc000 g3: 0000000000002000 [ 4423.092324] g4: fff8003cc730e220 g5: fff8003dfedcc000 g6: fff8003d99d54000 g7: 0000000000000006 [ 4423.109687] o0: 0000000000000000 o1: 0000000000000000 o2: 0000000000000003 o3: 00000000f0000000 [ 4423.127058] o4: 0000000000000080 o5: 00000001295a8000 sp: fff8003d99d56d01 ret_pc: 000000000052ff54 [ 4423.145121] RPC: <__purge_vmap_area_lazy+0x314/0x3a0> [ 4423.155185] l0: 0000000000000000 l1: 0000000000000000 l2: 0000000000a38040 l3: 0000000000000000 [ 4423.172559] l4: fff8003dae8965e0 l5: ffffffffffffffff l6: 0000000000000000 l7: 00000000f7e2b138 [ 4423.189913] i0: fff8003d99d576a0 i1: fff8003d99d576a8 i2: fff8003d99d575e8 i3: 0000000000000000 [ 4423.207284] i4: 0000000000008008 i5: fff8003d99d575c8 i6: fff8003d99d56df1 i7: 0000000000530c24 [ 4423.224640] I7: <free_vmap_area_noflush+0x64/0x80> [ 4423.234193] Call Trace: [ 4423.239051] [0000000000530c24] free_vmap_area_noflush+0x64/0x80 [ 4423.251029] [0000000000531a7c] remove_vm_area+0x5c/0x80 [ 4423.261628] [0000000000531b80] __vunmap+0x20/0x120 [ 4423.271352] [000000000071cf18] n_tty_close+0x18/0x40 [ 4423.281423] [00000000007222b0] tty_ldisc_close+0x30/0x60 [ 4423.292183] [00000000007225a4] tty_ldisc_reinit+0x24/0xa0 [ 4423.303120] [0000000000722ab4] tty_ldisc_hangup+0xd4/0x1e0 [ 4423.314232] [0000000000719aa0] __tty_hangup+0x280/0x3c0 [ 4423.324835] [0000000000724cb4] pty_close+0x134/0x1a0 [ 4423.334905] [000000000071aa24] tty_release+0x104/0x500 [ 4423.345316] [00000000005511d0] __fput+0x90/0x1e0 [ 4423.354701] [000000000047fa54] task_work_run+0x94/0xe0 [ 4423.365126] [0000000000404b44] __handle_signal+0xc/0x2c Fixes: 4ca9a23765da ("sparc64: Guard against flushing openfirmware mappings.") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36888e955c7c7ba8c66756fed60ac6e453fcbb5f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 4 09:03:06 2014 -0300 ata: pata_imx: Use the SIMPLE_DEV_PM_OPS() macro Using the SIMPLE_DEV_PM_OPS() macro can make the code shorter and cleaner. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 47549650abd13d873fd2e5fc218db19e21031074 Author: Joe Lawrence <Joe.Lawrence@xxxxxxxxxxx> Date: Fri Oct 3 09:58:34 2014 -0400 team: avoid race condition in scheduling delayed work When team_notify_peers and team_mcast_rejoin are called, they both reset their respective .count_pending atomic variable. Then when the actual worker function is executed, the variable is atomically decremented. This pattern introduces a potential race condition where the .count_pending rolls over and the worker function keeps rescheduling until .count_pending decrements to zero again: THREAD 1 THREAD 2 ======== ======== team_notify_peers(teamX) atomic_set count_pending = 1 schedule_delayed_work team_notify_peers(teamX) atomic_set count_pending = 1 team_notify_peers_work atomic_dec_and_test count_pending = 0 (return) schedule_delayed_work team_notify_peers_work atomic_dec_and_test count_pending = -1 schedule_delayed_work (repeat until count_pending = 0) Instead of assigning a new value to .count_pending, use atomic_add to tack-on the additional desired worker function invocations. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Fixes: fc423ff00df3a19554414ee ("team: add peer notification") Fixes: 492b200efdd20b8fcfdac87 ("team: add support for sending multicast rejoins") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34a419d4e20d6be5e0c4a3b27f6eface366a4836 Author: Ignacy GawÄ?dzki <ignacy.gawedzki@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 15:44:48 2014 +0200 ematch: Fix early ending of inverted containers. The result of a negated container has to be inverted before checking for early ending. This fixes my previous attempt (17c9c8232663a47f074b7452b9b034efda868ca7) to make inverted containers work correctly. Signed-off-by: Ignacy GawÄ?dzki <ignacy.gawedzki@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e203c1a2c104c8f8030245d2afaa337a79b4375 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Thu Oct 2 22:43:09 2014 -0700 net: sched: suspicious RCU usage in qdisc_watchdog Suspicious RCU usage in qdisc_watchdog call needs to be done inside rcu_read_lock/rcu_read_unlock. And then Qdisc destroy operations need to ensure timer is cancelled before removing qdisc structure. [ 3992.191339] =============================== [ 3992.191340] [ INFO: suspicious RCU usage. ] [ 3992.191343] 3.17.0-rc6net-next+ #72 Not tainted [ 3992.191345] ------------------------------- [ 3992.191347] include/net/sch_generic.h:272 suspicious rcu_dereference_check() usage! [ 3992.191348] [ 3992.191348] other info that might help us debug this: [ 3992.191348] [ 3992.191351] [ 3992.191351] rcu_scheduler_active = 1, debug_locks = 1 [ 3992.191353] no locks held by swapper/1/0. [ 3992.191355] [ 3992.191355] stack backtrace: [ 3992.191358] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.17.0-rc6net-next+ #72 [ 3992.191360] Hardware name: /DZ77RE-75K, BIOS GAZ7711H.86A.0060.2012.1115.1750 11/15/2012 [ 3992.191362] 0000000000000001 ffff880235803e48 ffffffff8178f92c 0000000000000000 [ 3992.191366] ffff8802322224a0 ffff880235803e78 ffffffff810c9966 ffff8800a5fe3000 [ 3992.191370] ffff880235803f30 ffff8802359cd768 ffff8802359cd6e0 ffff880235803e98 [ 3992.191374] Call Trace: [ 3992.191376] <IRQ> [<ffffffff8178f92c>] dump_stack+0x4e/0x68 [ 3992.191387] [<ffffffff810c9966>] lockdep_rcu_suspicious+0xe6/0x130 [ 3992.191392] [<ffffffff8167213a>] qdisc_watchdog+0x8a/0xb0 [ 3992.191396] [<ffffffff810f93f2>] __run_hrtimer+0x72/0x420 [ 3992.191399] [<ffffffff810f9bcd>] ? hrtimer_interrupt+0x7d/0x240 [ 3992.191403] [<ffffffff816720b0>] ? tc_classify+0xc0/0xc0 [ 3992.191406] [<ffffffff810f9c4f>] hrtimer_interrupt+0xff/0x240 [ 3992.191410] [<ffffffff8109e4a5>] ? __atomic_notifier_call_chain+0x5/0x140 [ 3992.191415] [<ffffffff8103577b>] local_apic_timer_interrupt+0x3b/0x60 [ 3992.191419] [<ffffffff8179c2b5>] smp_apic_timer_interrupt+0x45/0x60 [ 3992.191422] [<ffffffff8179a6bf>] apic_timer_interrupt+0x6f/0x80 [ 3992.191424] <EOI> [<ffffffff815ed233>] ? cpuidle_enter_state+0x73/0x2e0 [ 3992.191432] [<ffffffff815ed22e>] ? cpuidle_enter_state+0x6e/0x2e0 [ 3992.191437] [<ffffffff815ed567>] cpuidle_enter+0x17/0x20 [ 3992.191441] [<ffffffff810c0741>] cpu_startup_entry+0x3d1/0x4a0 [ 3992.191445] [<ffffffff81106fc6>] ? clockevents_config_and_register+0x26/0x30 [ 3992.191448] [<ffffffff81033c16>] start_secondary+0x1b6/0x260 Fixes: b26b0d1e8b1 ("net: qdisc: use rcu prefix and silence sparse warnings") Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7d6b96f345be7e0bd8f7651f7fe1efa5404c1e3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Oct 2 18:56:03 2014 -0700 net: dsa: do not call phy_start_aneg Commit f7f1de51edbd ("net: dsa: start and stop the PHY state machine") add calls to phy_start() in dsa_slave_open() respectively phy_stop() in dsa_slave_close(). We also call phy_start_aneg() in dsa_slave_create(), and this call is messing up with the PHY state machine, since we basically start the auto-negotiation, and later on restart it when calling phy_start(). phy_start() does not currently handle the PHY_FORCING or PHY_AN states properly, but such a fix would be too invasive for this window. Fixes: f7f1de51edbd ("net: dsa: start and stop the PHY state machine") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dd3619f2ed5bd5ffce90f4fd8361ccd46d59b9b6 Author: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Date: Thu Oct 2 21:15:22 2014 +0200 Removed unused inet6 address state the inet6 state INET6_IFADDR_STATE_UP only appeared in its definition. Cc: Christoph Paasch <christoph.paasch@xxxxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8753d55afb436fd6a25c8bbe8d783f6dcf1c9f8 Author: Vijay Subramanian <subramanian.vijay@xxxxxxxxx> Date: Thu Oct 2 10:00:43 2014 -0700 net: Cleanup skb cloning by adding SKB_FCLONE_FREE SKB_FCLONE_UNAVAILABLE has overloaded meaning depending on type of skb. 1: If skb is allocated from head_cache, it indicates fclone is not available. 2: If skb is a companion fclone skb (allocated from fclone_cache), it indicates it is available to be used. To avoid confusion for case 2 above, this patch replaces SKB_FCLONE_UNAVAILABLE with SKB_FCLONE_FREE where appropriate. For fclone companion skbs, this indicates it is free for use. SKB_FCLONE_UNAVAILABLE will now simply indicate skb is from head_cache and cannot / will not have a companion fclone. Signed-off-by: Vijay Subramanian <subramanian.vijay@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e87474a6e697857df21cff0707a2472abceca8b3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Oct 2 09:43:16 2014 -0700 net: systemport: fix bcm_sysport_insert_tsb() Similar to commit bc23333ba11fb7f959b7e87e121122f5a0fbbca8 ("net: bcmgenet: fix bcmgenet_put_tx_csum()"), we need to return the skb pointer in case we had to reallocate the SKB headroom. Fixes: 80105befdb4b8 ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7881c64716f3a7d60b325ed0ad4d15f49b474a43 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Oct 4 16:31:13 2014 -0700 power: ab8500_fg: Fix build warning Fix drivers/power/ab8500_fg.c: In function 'ab8500_fg_probe': drivers/power/ab8500_fg.c:2989:27: warning: 'i' may be used uninitialized in this function drivers/power/ab8500_fg.c:2972:15: note: 'i' was declared here which actually points to a real bug. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3be07244b7337760a3269d56b2f4a63e72218648 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Oct 2 18:26:49 2014 +0200 ip6_gre: fix flowi6_proto value in xmit path In xmit path, we build a flowi6 which will be used for the output route lookup. We are sending a GRE packet, neither IPv4 nor IPv6 encapsulated packet, thus the protocol should be IPPROTO_GRE. Fixes: c12b395a4664 ("gre: Support GRE over IPv6") Reported-by: Matthieu Ternisien d'Ouville <matthieu.tdo@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fab426de78140dc5cb0b85bbee6042c9c3d5ca5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 2 08:24:21 2014 -0700 mlx4: add a new xmit_more counter ethtool -S reports a new counter, tracking number of time doorbell was not triggered, because skb->xmit_more was set. $ ethtool -S eth0 | egrep "tx_packet|xmit_more" tx_packets: 2413288400 xmit_more: 666121277 I merged the tso_packet false sharing avoidance in this patch as well. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1742b630e43a6ccca67cf634704e8b76d128947f Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 5 06:56:18 2014 -0700 score: Remove GENERIC_HAS_IOMAP The symbol is an orphan, get rid of it. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> [Guenter Roeck: Merge with 3.17-rc3; update headline] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2eb46da2a760e5764c48b752a5ef320e02b96b21 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Thu Oct 2 14:36:46 2014 +0100 of/selftest: Use the resolver to fixup phandles The selftest data ends up causing duplicate phandles in the live tree for the time that the testcase data is inserted into the live tree. This is obviously a bad situation because anything attempting to read the tree while the selftests are running make resolve phandles to one of the testcase data nodes. Fix the problem by using the of_resolve_phandles() function to eliminate duplicates. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Cc: Gaurav Minocha <gaurav.minocha.os@xxxxxxxxx> commit 7941b27b16e3282f6ec8817e36492f1deec753a7 Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Date: Fri Jul 4 19:59:20 2014 +0300 of: Introduce Device Tree resolve support. Introduce support for dynamic device tree resolution. Using it, it is possible to prepare a device tree that's been loaded on runtime to be modified and inserted at the kernel live tree. Export of of_resolve and bug fix of double free by Guenter Roeck <groeck@xxxxxxxxxxx> Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> [grant.likely: Don't need to select CONFIG_OF_DYNAMIC and CONFIG_OF_DEVICE] [grant.likely: Don't need to depend on OF or !SPARC] [grant.likely: Factor out duplicate code blocks into single function] Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 841ec21357eee222416e3b7f1b6ef23cfc6ee43f Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Thu Oct 2 13:09:15 2014 +0100 of/selftest: Add a test for duplicate phandles All phandles in the tree should be unique. Add a testcase to make sure that this is so. Note: this testcase fails on the current kernel because the selftest code itself ends up adding duplicate phandles. Before this testcase is merged the selftest code needs to be modified to resolve phandles before adding them. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> commit fc59b4479c172e413df615cea1635247265e07a0 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Thu Oct 2 13:08:02 2014 +0100 of: Don't try to search when phandle == 0 A value of '0' isn't a valid phandle, so searching for a node with that phandle is pointless. It will result in nothing but false positives. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit f2051d6a88cd03f74221da887f56d778a1b2f1f1 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Wed Oct 1 17:40:22 2014 +0100 of/selftest: Test structure of device tree Add a testcase to verify that the device tree is properly constructed and the lists are in a correct order. The new testcase gets run twice; once after adding the testcase data, and once after removing it again. It is run twice to make sure adding and removing the testcase data doesn't corrupt the data structure. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Gaurav Minocha <gaurav.minocha.os@xxxxxxxxx> commit bb78cdd4914df22bdf233a9cd4b554a1f6e39804 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Sat Oct 4 19:09:33 2014 +0100 ASoC: Intel: byt-rt5640: fix coccinelle warnings sound/soc/intel/byt-rt5640.c:140:2-3: Unneeded semicolon Removes unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5ea5570579739a8f80231d884e2979e25d3c0992 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 4 11:43:41 2014 -0300 ASoC: fsl_esai doc: Add "fsl,vf610-esai" as compatible string Since commit b21cc2f5fdfe224 ("ASoC: esai: Add VF610+ compatibles support.") the fsl_esai driver also accepts the "fsl,vf610-esai" compatible string. Update the documentation accordingly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d32c98e9855c719620fc418ff540acc6d5880bd8 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Jul 8 14:00:43 2014 +0800 arch/score/include/asm/Kbuild: Add generic "serial.h" The related error (with allmodconfig under score): CC [M] drivers/staging/speakup/speakup_acntpc.o In file included from drivers/staging/speakup/speakup_acntpc.c:33:0: drivers/staging/speakup/serialio.h:7:24: fatal error: asm/serial.h: No such file or directory #include <asm/serial.h> ^ compilation terminated. make[3]: *** [drivers/staging/speakup/speakup_acntpc.o] Error 1 make[2]: *** [drivers/staging/speakup] Error 2 make[1]: *** [drivers/staging] Error 2 make: *** [drivers] Error 2 Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> commit 203d2fbbec279e86f59e10662800ebbb0b5ce740 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 12:04:58 2014 +0200 score: remove deprecated IRQF_DISABLED This patch removes the use of the IRQF_DISABLED flag from arch/score/kernel/time.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> commit 000ab4b0a7afaa3799ffd8cc41a4328ee999990b Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Wed Jul 9 16:56:36 2014 +0800 arch/score/mm/cache.c: Export 'flush_icache_range' The related error (with allmodconfig under score): MODPOST 1365 modules ERROR: "flush_icache_range" [drivers/misc/lkdtm.ko] undefined! Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> commit 51de2f11f5d4d51ad3a77ea3ef67e7b66f6709f5 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Wed Jul 9 16:48:45 2014 +0800 arch: score: Export necessary symbols in related files 'csum_partial_copy_from_user' and 'flush_dcache_page' are also needed by outside modules, so need export them in the related files. The related error (with allmodconfig under score): MODPOST 1365 modules ERROR: "csum_partial_copy_from_user" [net/rxrpc/af-rxrpc.ko] undefined! ERROR: "flush_dcache_page" [net/sunrpc/sunrpc.ko] undefined! Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> commit 0ec31a61f0d46e03e9e80c2ff57fa3ae2fdf92d3 Merge: 27b19cc ee39b43 Author: Chris Mason <clm@xxxxxx> Date: Sat Oct 4 09:57:44 2014 -0700 Merge branch 'remove-unlikely' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus commit 27b19cc8864e206c4203041892b0f706f044a0f1 Merge: bbf65cf 4d75f8a Author: Chris Mason <clm@xxxxxx> Date: Sat Oct 4 09:57:14 2014 -0700 Merge branch 'cleanup/blocksize-diet-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus commit bbf65cf0b5b67843ca094df01019222b85af2183 Merge: bf8e8ca fccb84c Author: Chris Mason <clm@xxxxxx> Date: Sat Oct 4 09:56:45 2014 -0700 Merge branch 'cleanup/misc-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus Signed-off-by: Chris Mason <clm@xxxxxx> Conflicts: fs/btrfs/extent_io.c commit b277da0a8a594308e17881f4926879bd5fca2a2d Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Sat Oct 4 10:55:32 2014 -0600 block: disable entropy contributions for nonrot devices Clear QUEUE_FLAG_ADD_RANDOM in all block drivers that set QUEUE_FLAG_NONROT. Historically, all block devices have automatically made entropy contributions. But as previously stated in commit e2e1a148 ("block: add sysfs knob for turning off disk entropy contributions"): - On SSD disks, the completion times aren't as random as they are for rotational drives. So it's questionable whether they should contribute to the random pool in the first place. - Calling add_disk_randomness() has a lot of overhead. There are more reliable sources for randomness than non-rotational block devices. From a security perspective it is better to err on the side of caution than to allow entropy contributions from unreliable "random" sources. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7b6ea43d3f90ba1db87883126c2c09777f51d3d6 Merge: 126d457 62b4d20 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 4 09:32:47 2014 -0700 Merge tag 'tiny/kconfig-for-3.17' of https://git.kernel.org/pub/scm/linux/kernel/git/josh/linux Pull kconfig fixes for tiny setups from Josh Triplett: "Two Kconfig bugfixes for 3.17 related to tinification. These fixes make the Kconfig "General Setup" menu much more usable" * tag 'tiny/kconfig-for-3.17' of https://git.kernel.org/pub/scm/linux/kernel/git/josh/linux: init/Kconfig: Fix HAVE_FUTEX_CMPXCHG to not break up the EXPERT menu init/Kconfig: Hide printk log config if CONFIG_PRINTK=n commit cd9241e44af3d49977c39ddadbefbb719e2a4baf Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Oct 4 02:17:08 2014 +0900 ASoC: da732x: Remove unnecessary KERN_ERR in pr_err() This patch remove unnecessary KERN_ERR in pr_err(). Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 872bbb3aa35c2c73dee6ca13aeb5448b38b457ad Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Fri Oct 3 10:06:08 2014 -0700 ASoC: simple-card: Fix detect gpio documentation. The device tree property uses '-' not '_'. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 92404e609a2dffc55a9a22540ed48b6f0edc9c59 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sat Oct 4 01:06:08 2014 +0000 target: Add force_pr_aptpl device attribute This patch adds a force_pr_aptpl device attribute used to force SPC-3 PR Activate Persistence across Target Power Loss (APTPL) operation. This makes PR metadata write-out occur during state change regardless if new PERSISTENT_RESERVE_OUT CDBs have their APTPL feature bit set. This is useful during H/A failover in active/passive setups where all PR state is being re-created on a different node, driven by configfs backend device + export layout and pre-loaded $DEV/pr/res_aptpl_metadata. Cc: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit e24805637d2d270d7975502e9024d473de86afdb Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sat Oct 4 04:23:15 2014 +0000 target: Fix APTPL metadata handling for dynamic MappedLUNs This patch fixes a bug in handling of SPC-3 PR Activate Persistence across Target Power Loss (APTPL) logic where re-creation of state for MappedLUNs from dynamically generated NodeACLs did not occur during I_T Nexus establishment. It adds the missing core_scsi3_check_aptpl_registration() call during core_tpg_check_initiator_node_acl() -> core_tpg_add_node_to_devs() in order to replay any pre-loaded APTPL metadata state associated with the newly connected SCSI Initiator Port. Cc: Mike Christie <michaelc@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6106253e69413785b29b9bfb493e2544c70461e7 Merge: 0129120 bc1fc39 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 3 16:53:36 2014 -0700 Merge branch 'gudp' Tom Herbert says: ==================== net: Generic UDP Encapsulation Generic UDP Encapsulation (GUE) is UDP encapsulation protocol which encapsulates packets of various IP protocols. The GUE protocol is described in http://tools.ietf.org/html/draft-herbert-gue-01. The receive path of GUE is implemented in the FOU over UDP module (FOU). This includes a UDP encap receive function for GUE as well as GUE specific GRO functions. Management and configuration of GUE ports shares most of the same code with FOU. For the transmit path, the previous FOU support for IPIP, sit, and GRE was simply extended for GUE (when GUE is enabled insert the GUE header on transmit in addition to UDP header inserted for FOU). Semantically GUE is the same as FOU in that the encapsulation (UDP and GUE headers) that are inserted on transmission and removed on reception so that IP packet is processed with the inner header. This patch set includes: - Some fixes to FOU, removal of IPv4,v6 specific GRO functions - Support to configure a GUE receive port - Implementation of GUE receive path (normal and GRO) - Additions to ip_tunnel netlink to configure GUE - GUE header inserion in ip_tunnel transmit path v2: - Include net/gue.h in patch set Testing: I ran performance numbers using netperf TCP_RR with 200 streams, comparing encapsulation without GUE, encapsulation with GUE, and encapsulation with FOU. GRE TCP_STREAM IPv4, FOU, UDP checksum enabled 14.04% TX CPU utilization 13.17% RX CPU utilization 9211 Mbps IPv4, GUE, UDP checksum enabled 14.99% TX CPU utilization 13.79% RX CPU utilization 9185 Mbps IPv4, FOU, UDP checksum disabled 13.14% TX CPU utilization 23.18% RX CPU utilization 9277 Mbps IPv4, GUE, UDP checksum disabled 13.66% TX CPU utilization 23.57% RX CPU utilization 9184 Mbps TCP_RR IPv4, FOU, UDP checksum enabled 94.2% CPU utilization 155/249/460 90/95/99% latencies 1.17018e+06 tps IPv4, GUE, UDP checksum enabled 93.9% CPU utilization 158/253/472 90/95/99% latencies 1.15045e+06 tps IPIP TCP_STREAM FOU, UDP checksum enabled 15.28% TX CPU utilization 13.92% RX CPU utilization 9342 Mbps GUE, UDP checksum enabled 13.99% TX CPU utilization 13.34% RX CPU utilization 9210 Mbps FOU, UDP checksum disabled 15.08% TX CPU utilization 24.64% RX CPU utilization 9226 Mbps GUE, UDP checksum disabled 15.90% TX CPU utilization 24.77% RX CPU utilization 9197 Mbps TCP_RR FOU, UDP checksum enabled 94.23% CPU utilization 149/237/429 90/95/99% latencies 1.19553e+06 tps GUE, UDP checksum enabled 93.75% CPU utilization 152/243/442 90/95/99% latencies 1.17027e+06 tps SIT TCP_STREAM FOU, UDP checksum enabled 14.47% TX CPU utilization 14.58% RX CPU utilization 9106 Mbps GUE, UDP checksum enabled 15.09% TX CPU utilization 14.84% RX CPU utilization 9080 Mbps FOU, UDP checksum disabled 15.70% TX CPU utilization 27.93% RX CPU utilization 9097 Mbps GUE, UDP checksum disabled 15.04% TX CPU utilization 27.54% RX CPU utilization 9073 Mbps TCP_RR FOU, UDP checksum enabled 96.9% CPU utilization 170/281/581 90/95/99% latencies 1.03372e+06 tps GUE, UDP checksum enabled 97.16% CPU utilization 172/286/576 90/95/99% latencies 1.00469e+06 tps ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc1fc390e1728672b5b343b85185fcc1fe41043b Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Oct 3 15:48:10 2014 -0700 ip_tunnel: Add GUE support This patch allows configuring IPIP, sit, and GRE tunnels to use GUE. This is very similar to fou excpet that we need to insert the GUE header in addition to the UDP header on transmit. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37dd0247797b168ad1cc7f5dbec825a1ee66535b Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Oct 3 15:48:09 2014 -0700 gue: Receive side for Generic UDP Encapsulation This patch adds support receiving for GUE packets in the fou module. The fou module now supports direct foo-over-udp (no encapsulation header) and GUE. To support this a type parameter is added to the fou netlink parameters. For a GUE socket we define gue_udp_recv, gue_gro_receive, and gue_gro_complete to handle the specifics of the GUE protocol. Most of the code to manage and configure sockets is common with the fou. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efc98d08e1ec4fd131f794370b274dceaf32c958 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Oct 3 15:48:08 2014 -0700 fou: eliminate IPv4,v6 specific GRO functions This patch removes fou[46]_gro_receive and fou[46]_gro_complete functions. The v4 or v6 variants were chosen for the UDP offloads based on the address family of the socket this is not necessary or correct. Alternatively, this patch adds is_ipv6 to napi_gro_skb. This is set in udp6_gro_receive and unset in udp4_gro_receive. In fou_gro_receive the value is used to select the correct inet_offloads for the protocol of the outer IP header. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7371e0221c7721a1486fef745abaa8ae84571621 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Oct 3 15:48:07 2014 -0700 ip_tunnel: Account for secondary encapsulation header in max_headroom When adjusting max_header for the tunnel interface based on egress device we need to account for any extra bytes in secondary encapsulation (e.g. FOU). Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62b4d2041117f35ab2409c9f5c4b8d3dc8e59d0f Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Fri Oct 3 16:19:24 2014 -0700 init/Kconfig: Fix HAVE_FUTEX_CMPXCHG to not break up the EXPERT menu commit 03b8c7b623c80af264c4c8d6111e5c6289933666 ("futex: Allow architectures to skip futex_atomic_cmpxchg_inatomic() test") added the HAVE_FUTEX_CMPXCHG symbol right below FUTEX. This placed it right in the middle of the options for the EXPERT menu. However, HAVE_FUTEX_CMPXCHG does not depend on EXPERT or FUTEX, so Kconfig stops placing items in the EXPERT menu, and displays the remaining several EXPERT items (starting with EPOLL) directly in the General Setup menu. Since both users of HAVE_FUTEX_CMPXCHG only select it "if FUTEX", make HAVE_FUTEX_CMPXCHG itself depend on FUTEX. With this change, the subsequent items display as part of the EXPERT menu again; the EMBEDDED menu now appears as the next top-level item in the General Setup menu, which makes General Setup much shorter and more usable. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> commit 361e9dfbaae84b0b246ed18d1ab7c82a1a41b53e Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Fri Oct 3 16:00:54 2014 -0700 init/Kconfig: Hide printk log config if CONFIG_PRINTK=n The buffers sized by CONFIG_LOG_BUF_SHIFT and CONFIG_LOG_CPU_MAX_BUF_SHIFT do not exist if CONFIG_PRINTK=n, so don't ask about their size at all. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> commit a66993e05b6af0d981ba2cc9a529df63151942b5 Merge: 23c4a3a 5f093ee Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Fri Oct 3 16:43:02 2014 -0700 Merge tag 'clk-mvebu-3.18-2' of git://git.infradead.org/linux-mvebu into clk-next clock mvebu changes for v3.18 (round 2) - armada 370/375 - Fix SSCG node lookup commit 23c4a3a5212701ad34bd30591fa33d7bacef9c5f Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Fri Oct 3 16:21:31 2014 -0700 Revert "arm: pxa: Transition pxa27x to clk framework" This reverts commit 9ff25d7b58d8a4374886843ed3ed21f1ef17bf16. Originally reported on the kernel-build-reports mailing list[0]. The problem is caused by kernel configs that select both pxa25x and pxa27x such as cm_x2xx_defconfig and palmz72_defconfig. The short term solution is to revert the patch introducing the failure. Longer term, all the PXA chips will be converted to the common clock framework allowing support for various PXA chips to build into a single image. Reverting just this one patch does introduce some dead code into the kernel, but that is offset by making it easier to convert the remaining PXA platforms to the clock framework. [0] http://lists.linaro.org/pipermail/kernel-build-reports/2014-October/005576.html Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit bf8e8ca6fd4ac6e8edc58b92cffb2ffd51933138 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Oct 2 19:17:32 2014 +0100 Btrfs: send, don't delay dir move if there's a new parent inode If between two snapshots we rename an existing directory named X to Y and make it a child (direct or not) of a new inode named X, we were delaying the move/rename of the former directory unnecessarily, which would result in attempting to rename the new directory from its orphan name to name X prematurely. Minimal reproducer: $ mkfs.btrfs -f /dev/vdd $ mount /dev/vdd /mnt $ mkdir -p /mnt/merlin/RC/OSD/Source $ btrfs subvolume snapshot -r /mnt /mnt/mysnap1 $ mkdir /mnt/OSD $ mv /mnt/merlin/RC/OSD /mnt/OSD/OSD-Plane_788 $ mv /mnt/OSD /mnt/merlin/RC $ btrfs subvolume snapshot -r /mnt /mnt/mysnap2 $ btrfs send /mnt/mysnap1 -f /tmp/1.snap $ btrfs send -p /mnt/mysnap1 /mnt/mysnap2 -f /tmp/2.snap $ mkfs.btrfs -f /dev/vdc $ mount /dev/vdc /mnt2 $ btrfs receive /mnt2 -f /tmp/1.snap $ btrfs receive /mnt2 -f /tmp/2.snap The second receive (from an incremental send) failed with the following error message: "rename o261-7-0 -> merlin/RC/OSD failed". This is a regression introduced in the 3.16 kernel. A test case for xfstests follows. Reported-by: Marc Merlin <marc@xxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c926093ec516f5d316ecdf8c1be11f577ac71b85 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Sep 30 19:16:47 2014 +0200 btrfs: add more superblock checks Populate btrfs_check_super_valid() with checks that try to verify consistency of superblock by additional conditions that may arise from corrupted devices or bitflips. Some of tests are only hints and issue warnings instead of failing the mount, basically when the checks are derived from the data found in the superblock. Tested on a broken image provided by Qu. Reported-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 42383020beb1cfb05f5d330cc311931bc4917a97 Author: Sage Weil <sage@xxxxxxxxxx> Date: Fri Sep 26 08:30:06 2014 -0700 Btrfs: fix race in WAIT_SYNC ioctl We check whether transid is already committed via last_trans_committed and then search through trans_list for pending transactions. If last_trans_committed is updated by btrfs_commit_transaction after we check it (there is no locking), we will fail to find the committed transaction and return EINVAL to the caller. This has been observed occasionally by ceph-osd (which uses this ioctl heavily). Fix by rechecking whether the provided transid <= last_trans_committed after the search fails, and if so return 0. Signed-off-by: Sage Weil <sage@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 656f30dba7ab8179c9a2e04293b0c7b383fa9ce9 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Sep 26 12:25:56 2014 +0100 Btrfs: be aware of btree inode write errors to avoid fs corruption While we have a transaction ongoing, the VM might decide at any time to call btree_inode->i_mapping->a_ops->writepages(), which will start writeback of dirty pages belonging to btree nodes/leafs. This call might return an error or the writeback might finish with an error before we attempt to commit the running transaction. If this happens, we might have no way of knowing that such error happened when we are committing the transaction - because the pages might no longer be marked dirty nor tagged for writeback (if a subsequent modification to the extent buffer didn't happen before the transaction commit) which makes filemap_fdata[write|wait]_range unable to find such pages (even if they're marked with SetPageError). So if this happens we must abort the transaction, otherwise we commit a super block with btree roots that point to btree nodes/leafs whose content on disk is invalid - either garbage or the content of some node/leaf from a past generation that got cowed or deleted and is no longer valid (for this later case we end up getting error messages like "parent transid verify failed on 10826481664 wanted 25748 found 29562" when reading btree nodes/leafs from disk). Note that setting and checking AS_EIO/AS_ENOSPC in the btree inode's i_mapping would not be enough because we need to distinguish between log tree extents (not fatal) vs non-log tree extents (fatal) and because the next call to filemap_fdatawait_range() will catch and clear such errors in the mapping - and that call might be from a log sync and not from a transaction commit, which means we would not know about the error at transaction commit time. Also, checking for the eb flag EXTENT_BUFFER_IOERR at transaction commit time isn't done and would not be completely reliable, as the eb might be removed from memory and read back when trying to get it, which clears that flag right before reading the eb's pages from disk, making us not know about the previous write error. Using the new 3 flags for the btree inode also makes us achieve the goal of AS_EIO/AS_ENOSPC when writepages() returns success, started writeback for all dirty pages and before filemap_fdatawait_range() is called, the writeback for all dirty pages had already finished with errors - because we were not using AS_EIO/AS_ENOSPC, filemap_fdatawait_range() would return success, as it could not know that writeback errors happened (the pages were no longer tagged for writeback). Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 15b636e1dd8f56ef1c580e086e46c8b32d8fe2b4 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Sep 25 23:33:06 2014 +0200 Btrfs: remove redundant btrfs_verify_qgroup_counts declaration. Do like disk-io function declared under CONFIG_BTRFS_FS_RUN_SANITY_TESTS and keep prototype in qgroup.h only Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b99d9a6a4a41712c609a0b468512b2043a1b5f1d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Sep 25 19:35:02 2014 +0200 btrfs: fix shadow warning on cmp cmp was declared twice in btrfs_compare_trees resulting in a shadow warning. This patch renames second internal variable. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1b6e44690d2283e49c9e967d6a1739aac8490672 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 24 20:23:05 2014 +0200 Btrfs: fix compilation errors under DEBUG bi_sector and bi_size moved to bi_iter since commit 4f024f3797c4 ("block: Abstract out bvec iterator") Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8146502820231da924ca22d147cdcf733ac9a057 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Sep 23 22:22:33 2014 +0800 Btrfs: fix crash of btrfs_release_extent_buffer_page This is actually inspired by Filipe's patch. When write_one_eb() fails on submit_extent_page(), it'll give up writing this eb and mark it with EXTENT_BUFFER_IOERR. So if it's not the last page that encounter the failure, there are some left pages which remain DIRTY, and if a later COW on this eb happens, ie. eb is COWed and freed, it'd run into BUG_ON in btrfs_release_extent_buffer_page() for the DIRTY page, ie. BUG_ON(PageDirty(page)); This adds the missing clear_page_dirty_for_io() for the rest pages of eb. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 55e3bd2e0c2e1cfb43429b962e61415e0526bc01 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Sep 22 17:41:04 2014 +0100 Btrfs: add missing end_page_writeback on submit_extent_page failure If submit_extent_page() fails in write_one_eb(), we end up with the current page not marked dirty anymore, unlocked and marked for writeback. But we never end up calling end_page_writeback() against the page, which will make calls to filemap_fdatawait_range (e.g. at transaction commit time) hang forever waiting for the writeback bit to be cleared from the page. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 32be3a1ac6d09576c57063c6c350ca36eaebdbd3 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Sep 22 09:13:03 2014 +0800 btrfs: Fix the wrong condition judgment about subset extent map Previous commit: btrfs: Fix and enhance merge_extent_mapping() to insert best fitted extent map is using wrong condition to judgement whether the range is a subset of a existing extent map. This may cause bug in btrfs no-holes mode. This patch will correct the judgment and fix the bug. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit bbe9051441effce51c9a533d2c56440df64db2d7 Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Sep 19 15:43:34 2014 -0400 Btrfs: fix build_backref_tree issue with multiple shared blocks Marc Merlin sent me a broken fs image months ago where it would blow up in the upper->checked BUG_ON() in build_backref_tree. This is because we had a scenario like this block a -- level 4 (not shared) | block b -- level 3 (reloc block, shared) | block c -- level 2 (not shared) | block d -- level 1 (shared) | block e -- level 0 (shared) We go to build a backref tree for block e, we notice block d is shared and add it to the list of blocks to lookup it's backrefs for. Now when we loop around we will check edges for the block, so we will see we looked up block c last time. So we lookup block d and then see that the block that points to it is block c and we can just skip that edge since we've already been up this path. The problem is because we clear need_check when we see block d (as it is shared) we never add block b as needing to be checked. And because block c is in our path already we bail out before we walk up to block b and add it to the backref check list. To fix this we need to reset need_check if we trip over a block that doesn't need to be checked. This will make sure that any subsequent blocks in the path as we're walking up afterwards are added to the list to be processed. With this patch I can now mount Marc's fs image and it'll complete the balance without panicing. Thanks, Reported-by: Marc MERLIN <marc@xxxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 75bfb9aff45e44625260f52a5fd581b92ace3e62 Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Sep 19 10:40:00 2014 -0400 Btrfs: cleanup error handling in build_backref_tree When balance panics it tends to panic in the BUG_ON(!upper->checked); test, because it means it couldn't build the backref tree properly. This is annoying to users and frankly a recoverable error, nothing in this function is actually fatal since it is just an in-memory building of the backrefs for a given bytenr. So go through and change all the BUG_ON()'s to ASSERT()'s, and fix the BUG_ON(!upper->checked) thing to just return an error. This patch also fixes the error handling so it tears down the work we've done properly. This code was horribly broken since we always just panic'ed instead of actually erroring out, so it needed to be completely re-worked. With this patch my broken image no longer panics when I mount it. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 75d43b2d0a323ba894d85060888f039e41b441ca Merge: d0b7abb cb0446c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Sat Oct 4 08:59:06 2014 +1000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git Freescale updates from Scott (27 commits): "Highlights include DMA32 zone support (SATA, USB, etc now works on 64-bit FSL kernels), MSI changes, 8xx optimizations and cleanup, t104x board support, and PrPMC PCI enumeration." commit 01291202ed4ad548f9a7147d20425cb1d24f49a7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 2 07:38:46 2014 -0700 net: do not export skb_gro_receive() skb_gro_receive() is only called from tcp_gro_receive() which is not in a module. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad2a2a6d7c4a59240dc67eb757e1986f3f1ef515 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Oct 2 22:32:56 2014 +0800 drivers/net/irda/Kconfig: Let SH_IRDA depend on HAS_IOMEM SH_IRDA needs HAS_IOMEM, so depend on it. The related error(with allmodconfig under um): CC [M] drivers/net/irda/sh_irda.o drivers/net/irda/sh_irda.c: In function â??sh_irda_probeâ??: drivers/net/irda/sh_irda.c:776:2: error: implicit declaration of function â??ioremap_nocacheâ?? [-Werror=implicit-function-declaration] self->membase = ioremap_nocache(res->start, resource_size(res)); ^ drivers/net/irda/sh_irda.c:776:16: warning: assignment makes pointer from integer without a cast [enabled by default] self->membase = ioremap_nocache(res->start, resource_size(res)); ^ drivers/net/irda/sh_irda.c:821:2: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(self->membase); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65cb29a4f3c7b1c6c61179de870ab568e2129f7e Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Oct 2 22:23:33 2014 +0800 drivers/net/ethernet/marvell/Kconfig: Let PXA168_ETH depend on HAS_IOMEM PXA168_ETH need HAS_IOMEM, so depend on it, the related error (with allmodconfig under um): CC [M] drivers/net/ethernet/marvell/pxa168_eth.o drivers/net/ethernet/marvell/pxa168_eth.c: In function â??pxa168_eth_probeâ??: drivers/net/ethernet/marvell/pxa168_eth.c:1605:2: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(pep->base); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28b5533a6f5dca34316f90c59818a69e1c7ad6c1 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Oct 2 22:14:04 2014 +0800 drivers/net/dsa/Kconfig: Let NET_DSA_BCM_SF2 depend on HAS_IOMEM NET_DSA_BCM_SF2 need HAS_IOMEM, so depend on it, the related error (with allmodconfig under um): CC [M] drivers/net/dsa/bcm_sf2.o drivers/net/dsa/bcm_sf2.c: In function â??bcm_sf2_sw_setupâ??: drivers/net/dsa/bcm_sf2.c:487:3: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(*base); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9dc8be2816929b13f64e1d3c00d6101939d03df3 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Oct 2 22:01:42 2014 +0800 drivers/net/can/Kconfig: Let CAN_AT91 depend on HAS_IOMEM CAN_AT91 needs HAS_IOMEM, so depends on it. The related error (with allmodconfig under um): CC [M] drivers/net/can/at91_can.o drivers/net/can/at91_can.c: In function â??at91_can_probeâ??: drivers/net/can/at91_can.c:1329:2: error: implicit declaration of function â??ioremap_nocacheâ?? [-Werror=implicit-function-declaration] addr = ioremap_nocache(res->start, resource_size(res)); ^ drivers/net/can/at91_can.c:1329:7: warning: assignment makes pointer from integer without a cast [enabled by default] addr = ioremap_nocache(res->start, resource_size(res)); ^ drivers/net/can/at91_can.c:1384:2: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(addr); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 579899a9eac2a9051f65ec6d120f80383696d528 Merge: 48fea86 b5d130c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 3 15:43:50 2014 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-10-02 This series contains updates to fm10k, igb, ixgbe and i40e. Alex provides two updates to the fm10k driver. First reduces the buffer size to 2k for all page sizes, since most frames only have a 1500 MTU so supporting a buffer size larger than this is somewhat wasteful. Second fixes an issue where the number of transmit queues was not being updated, so added the lines necessary to update the number of transmit queues. Rick Jones provides two patches to convert ixgbe, igb and i40e to use dev_consume_skb_any(). Emil provides two patches for ixgbe, first cleans up a couple of wait loops on auto-negotiation that were not needed. Second fixes an issue reported by Fujitsu/Red Hat, which consolidates the logic behind the dynamically setting of TXDCTL.WTHRESH depending on interrupt throttle rate (ITR) setting regardless of BQL. Ethan Zhao provides a cleanup patch for ixgbe where he noticed a duplicate define. Bernhard Kaindl provides a patch for igb to remove a source of latency spikes by not calling code that uses mdelay() for feeding a PHY stat while being called with a spinlock held. Todd bumps the igb version based on the recent changes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48fea861c9fbee5aae17897fb9acc4d348a9abac Merge: 55a93b3 f832dc8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 3 15:42:37 2014 -0700 Merge branch 'mlx5-next' Eli Cohen says: ==================== mlx5 update for 3.18 This series integrates a new mechanism for populating and extracting field values used in the driver/firmware interaction around command mailboxes. Changes from V1: - Remove unused definition of memcpy_cpu_to_be32() - Remove definitions of non_existent_*() and use BUILD_BUG_ON() instead. - Added a patch one line patch to add support for ConnectX-4 devices. Changes from V0: - trimmed the auto-generated file to a minimum, as required by the reviewers. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f832dc820fe8fca561933e8fa734adca75bba5a0 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 2 12:19:46 2014 +0300 net/mlx5_core: Add ConnectX-4 to list of supported devices Add the upcoming ConnectX-4 device to the list of supported devices by then mlx5 driver. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5903325a64834211daf63a62db3b35ee580cb8bf Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 2 12:19:45 2014 +0300 net/mlx5_core: Identify resources by their type This patch puts a common part as the first field of mlx5_core_qp. This field is used to identify which resource generated an event. This is required since upcoming new resource types such as DC targets are allocated for the same numerical space as regular QPs and may generate the same events. By searching the resource in the same table we can then look at the common field to identify the resource. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b775516b042f9e35f856bd2914afefd9d23021d7 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 2 12:19:44 2014 +0300 net/mlx5_core: use set/get macros in device caps Transform device capabilities related commands to use set/get macros to manipulate command mailboxes. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d29b796adada8780db3512c4a34b339f9aeef1ae Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 2 12:19:43 2014 +0300 net/mlx5_core: Use hardware registers description header file Add an auto generated header file that describes hardware registers along with set of macros that set/get values. The macros do static checks to avoid overflow, handle endianess, and overall provide a clean way to code commands. Currently the header file is small and we will add structs as we make use of the macros. A few commands were removed from the commands enum since they are not supported currently and will be added when support is available. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7a08ac7ee68b9af0d5af99c7b34b574cac4d144 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 2 12:19:42 2014 +0300 net/mlx5_core: Update device capabilities handling Rearrange struct mlx5_caps so it has a "gen" field to represent the current capabilities configured for the device. Max capabilities can also be queried from the device. Also update capabilities struct to contain more fields as per the latest revision if firmware specification. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea6a7112d8525f7b5b6fdd59b255845ed6331beb Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Oct 2 17:03:12 2014 +0800 r8152: autoresume before setting MAC address Resume the device before setting the MAC address. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3cc81d85ee01e5a0b7ea2f4190e2ed1165f53c31 Author: Michel Stam <m.stam@xxxxxxxx> Date: Thu Oct 2 10:22:02 2014 +0200 asix: Don't reset PHY on if_up for ASIX 88772 I've noticed every time the interface is set to 'up,', the kernel reports that the link speed is set to 100 Mbps/Full Duplex, even when ethtool is used to set autonegotiation to 'off', half duplex, 10 Mbps. It can be tested by: ifconfig eth0 down ethtool -s eth0 autoneg off speed 10 duplex half ifconfig eth0 up Then checking 'dmesg' for the link speed. Signed-off-by: Michel Stam <m.stam@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55a93b3ea780908b7d1b3a8cf1976223a9268d78 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 3 15:31:07 2014 -0700 qdisc: validate skb without holding lock Validation of skb can be pretty expensive : GSO segmentation and/or checksum computations. We can do this without holding qdisc lock, so that other cpus can queue additional packets. Trick is that requeued packets were already validated, so we carry a boolean so that sch_direct_xmit() can validate a fresh skb list, or directly use an old one. Tested on 40Gb NIC (8 TX queues) and 200 concurrent flows, 48 threads host. Turning TSO on or off had no effect on throughput, only few more cpu cycles. Lock contention on qdisc lock disappeared. Same if disabling TX checksum offload. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a05880a8b22c6ba2ffdabbceb4635d28abe9072 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Thu Oct 2 10:15:30 2014 +0200 net: ethernet: Remove superfluous ether_setup after alloc_etherdev There is no need to call ether_setup after alloc_ethdev since it was already called there. Follow commits c706471b2601 ("net: axienet: remove unnecessary ether_setup after alloc_etherdev") and 3c87dcbfb36c ("net: ll_temac: Remove unnecessary ether_setup after alloc_etherdev") and fix the pattern in all remaining ethernet drivers. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 906d201530f2c52aeb4eee31895c71cdccf1e9a0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 24 11:17:56 2014 -0700 dynamic_debug: change __dynamic_<foo>_dbg return types to void The return value is not used by callers of these functions so change the functions to return void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33ead538f642a33b1d658782a5d14a40b5014d1f Author: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Date: Fri Oct 3 19:06:03 2014 +0900 driver/base/node: remove unnecessary kfree of node struct from unregister_one_node Commit 92d585ef067d ("numa: fix NULL pointer access and memory leak in unregister_one_node()") added kfree() of node struct in unregister_one_node(). But node struct is freed by node_device_release() which is called in unregister_node(). So by adding the kfree(), node struct is freed two times. While hot removing memory, the commit leads the following BUG_ON(): kernel BUG at mm/slub.c:3346! invalid opcode: 0000 [#1] SMP [...] Call Trace: [...] unregister_one_node [...] try_offline_node [...] remove_memory [...] acpi_memory_device_remove [...] acpi_bus_trim [...] acpi_bus_trim [...] acpi_device_hotplug [...] acpi_hotplug_work_fn [...] process_one_work [...] worker_thread [...] ? rescuer_thread [...] kthread [...] ? kthread_create_on_node [...] ret_from_fork [...] ? kthread_create_on_node This patch removes unnecessary kfree() from unregister_one_node(). Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.16+ Fixes: 92d585ef067d "numa: fix NULL pointer access and memory leak in unregister_one_node()" Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ed9a3d455558406cad83d38764ee659de25851c Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Oct 3 10:21:44 2014 +0200 USB: host: st: fix typo 'CONFIG_USB_EHCI_HCD_ST' Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Fixes: 905e300e1043 ("USB: host: st: fix ehci/ohci driver selection") Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d75b9cbb1418f20ad1e688dd8312a029ef2e6b5 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Oct 3 12:08:56 2014 +0200 uas: Reduce number of function arguments for uas_alloc_foo functions The stream_id and pipe are already present in uas_cmd_info resp uas_dev_info, so there is no need to pass a copy along. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29e409f0f7613f9fd2235e41f0fa33e48e94544e Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Fri Oct 3 11:35:29 2014 +0300 xhci: Allow xHCI drivers to be built as separate modules Instead of building all of the xHCI code into a single module, separate it out into the core (xhci-hcd), PCI (xhci-pci, now selected by the new config option CONFIG_USB_XHCI_PCI), and platform (xhci-plat) drivers. Also update the PCI/platform drivers with module descriptions/licenses and have them register their respective drivers in their initcalls. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 436e8c7d457ff4ca89beca20cf54f5884de6af61 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Fri Oct 3 11:35:28 2014 +0300 xhci: Export symbols used by host-controller drivers In preparation for allowing the xHCI host controller drivers to be built as separate modules, export symbols from the xHCI core that may be used by the host controller drivers. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1cd972741f537828307640c9e55f7b595e9ba1e Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Fri Oct 3 11:35:27 2014 +0300 xhci: Check for XHCI_COMP_MODE_QUIRK when disabling D3cold Instead of calling xhci_compliance_mode_recovery_timer_quirk_check() again in the PCI suspend path, just check for XHCI_COMP_MODE_QUIRK which will have been set based on xhci_compliance_mode_recovery_timer_quirk_check() in xhci_init(). Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1885d9a33753b73cbbe3f8efde4a852ecca08674 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Fri Oct 3 11:35:26 2014 +0300 xhci: Introduce xhci_init_driver() Since the struct hc_driver is mostly the same across the xhci-pci, xhci-plat, and the upcoming xhci-tegra driver, introduce the function xhci_init_driver() which will populate the hc_driver with the default xHCI operations. The caller must supply a setup function which will be used as the hc_driver's reset callback. Note that xhci-plat also overrides the default ->start() callback so that it can do rcar-specific initialization. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4c24db1b7ad0ce84409e15744d26c6f86a96840 Author: Joern Engel <joern@xxxxxxxxx> Date: Fri Oct 3 14:35:56 2014 -0700 qla_target: don't delete changed nacls The code is currently riddled with "drop the hardware_lock to avoid a deadlock" bugs that expose races. One of those races seems to expose a valid warning in tcm_qla2xxx_clear_nacl_from_fcport_map. Add some bandaid to it. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.5+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit d8f429e1669b9709f5b669aac9d734dbe0640891 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Fri Oct 3 17:27:12 2014 -0400 block: add bioset_create_nobvec() Users of bio_clone_fast() do not want bios with their own bvecs. Allocating a bvec mempool as part of the bioset intended for such users is a waste of memory. bioset_create_nobvec() creates a bioset that doesn't have the bvec mempool. Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 11dfce509eaa35e8fc81cb50d0910c0e235fd7e2 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Fri Oct 3 17:27:11 2014 -0400 block: use bio_clone_fast() in blk_rq_prep_clone() Request cloning clones bios in the request to track the completion of each bio. For that purpose, we can use bio_clone_fast() instead of bio_clone() to avoid unnecessary allocation and copy of bvecs. This patch reduces memory footprint of request-based device-mapper (about 1-4KB for each request) and is a preparation for further reduction of memory usage by removing unused bvec mempool. Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 126d4576cb73c8a440adc37c129589cd66051bcc Merge: 0390019 86b59bb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 14:20:44 2014 -0700 Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Two i2c driver bugfixes" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: qup: Fix order of runtime pm initialization i2c: rk3x: fix 0 length write transfers commit e603984823a9218857c599195aaa514c5343de03 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Fri Oct 3 21:45:53 2014 +0100 staging: et131x: Remove et131x driver from drivers/staging The current version of the et131x driver has been accepted into the main tree at /drivers/net/ethernet, so it can now be removed from staging. The MAINTAINERS entry has not been touched here, as the patch to add the driver to drivers/net modifies it correctly. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 915de2adb584acea89f3f654a6c9b329f682100f Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Mon Sep 29 12:02:11 2014 +0000 ftracetest: Add POSIX.3 standard and XFAIL result codes Add XFAIL and POSIX 1003.3 standard codes (UNRESOLVED/ UNTESTED/UNSUPPORTED) as result codes. These are used for the results that test case is expected to fail or unsupported feature (by config). To return these result code, this introduces exit_unresolved, exit_untested, exit_unsupported and exit_xfail functions, which use real-time signals to notify the result code to ftracetest. This also set "errexit" option for the testcases, so that the tests don't need to exit explicitly. Note that if the test returns UNRESOLVED/UNSUPPORTED/FAIL, its test log including executed commands is shown on console and main logfile as below. ------ # ./ftracetest samples/ === Ftrace unit tests === [1] failure-case example [FAIL] execute: /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/fail.tc + . /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/fail.tc ++ cat non-exist-file cat: non-exist-file: No such file or directory [2] pass-case example [PASS] [3] unresolved-case example [UNRESOLVED] execute: /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unresolved.tc + . /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unresolved.tc ++ trap exit_unresolved INT ++ kill -INT 29324 +++ exit_unresolved +++ kill -s 38 29265 +++ exit 0 [4] unsupported-case example [UNSUPPORTED] execute: /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unsupported.tc + . /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unsupported.tc ++ exit_unsupported ++ kill -s 40 29265 ++ exit 0 [5] untested-case example [UNTESTED] [6] xfail-case example [XFAIL] # of passed: 1 # of failed: 1 # of unresolved: 1 # of untested: 1 # of unsupported: 1 # of xfailed: 1 # of undefined(test bug): 0 ------ Link: http://lkml.kernel.org/p/20140929120211.30203.99510.stgit@xxxxxxxxxxxxxxxxxxxx Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 039001972a959ab31008a3924ff9519063371bc2 Merge: 7d1419f 24607f1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 13:31:57 2014 -0700 Merge tag 'trace-fixes-v3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull trace ring buffer iterator fix from Steven Rostedt: "While testing some new changes for 3.18, I kept hitting a bug every so often in the ring buffer. At first I thought it had to do with some of the changes I was working on, but then testing something else I realized that the bug was in 3.17 itself. I ran several bisects as the bug was not very reproducible, and finally came up with the commit that I could reproduce easily within a few minutes, and without the change I could run the tests over an hour without issue. The change fit the bug and I figured out a fix. That bad commit was: Commit 651e22f2701b "ring-buffer: Always reset iterator to reader page" This commit fixed a bug, but in the process created another one. It used the wrong value as the cached value that is used to see if things changed while an iterator was in use. This made it look like a change always happened, and could cause the iterator to go into an infinite loop" * tag 'trace-fixes-v3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: ring-buffer: Fix infinite spin in reading buffer commit 7d1419f30cc5106196e54a282d7e115e698c95f6 Merge: ee042ec 1209bbd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 13:09:57 2014 -0700 Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 Pull cifs/smb3 fixes from Steve French: "Fix for CIFS/SMB3 oops on reconnect during readpages (3.17 regression) and for incorrectly closing file handle in symlink error cases" * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6: CIFS: Fix readpages retrying on reconnects Fix problem recognizing symlinks commit fba7516303c1f6bb45fcc3df888978d0b34202c4 Merge: ee042ec 593cbb3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 3 12:52:19 2014 -0700 Merge branch 'rds-net' Herton R. Krzesinski says: ==================== Small fixes/changes for RDS I got a report of one issue within RDS (after investigation it was a double free), and I'm sending the fix (patch 3/3) which reporter said it works (no more WARNING triggered on a specially instrumented kernel). The report/test was done on a very old kernel (RHEL 5, 2.6.18 based with backports), but the problem the patch handles still exists and should not change. Besides that, while reviewing some of the code but being unable to reproduce with rds_tcp, I noticed two small improvements/fixes which are in patches 1 and 2. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 593cbb3ec6a3f2424966832727f394b1696d0d72 Author: Herton R. Krzesinski <herton@xxxxxxxxxx> Date: Wed Oct 1 18:49:54 2014 -0300 net/rds: fix possible double free on sock tear down I got a report of a double free happening at RDS slab cache. One suspicion was that may be somewhere we were doing a sock_hold/sock_put on an already freed sock. Thus after providing a kernel with the following change: static inline void sock_hold(struct sock *sk) { - atomic_inc(&sk->sk_refcnt); + if (!atomic_inc_not_zero(&sk->sk_refcnt)) + WARN(1, "Trying to hold sock already gone: %p (family: %hd)\n", + sk, sk->sk_family); } The warning successfuly triggered: Trying to hold sock already gone: ffff81f6dda61280 (family: 21) WARNING: at include/net/sock.h:350 sock_hold() Call Trace: <IRQ> [<ffffffff8adac135>] :rds:rds_send_remove_from_sock+0xf0/0x21b [<ffffffff8adad35c>] :rds:rds_send_drop_acked+0xbf/0xcf [<ffffffff8addf546>] :rds_rdma:rds_ib_recv_tasklet_fn+0x256/0x2dc [<ffffffff8009899a>] tasklet_action+0x8f/0x12b [<ffffffff800125a2>] __do_softirq+0x89/0x133 [<ffffffff8005f30c>] call_softirq+0x1c/0x28 [<ffffffff8006e644>] do_softirq+0x2c/0x7d [<ffffffff8006e4d4>] do_IRQ+0xee/0xf7 [<ffffffff8005e625>] ret_from_intr+0x0/0xa <EOI> Looking at the call chain above, the only way I think this would be possible is if somewhere we already released the same socket->sock which is assigned to the rds_message at rds_send_remove_from_sock. Which seems only possible to happen after the tear down done on rds_release. rds_release properly calls rds_send_drop_to to drop the socket from any rds_message, and some proper synchronization is in place to avoid race with rds_send_drop_acked/rds_send_remove_from_sock. However, I still see a very narrow window where it may be possible we touch a sock already released: when rds_release races with rds_send_drop_acked, we check RDS_MSG_ON_CONN to avoid cleanup on the same rds_message, but in this specific case we don't clear rm->m_rs. In this case, it seems we could then go on at rds_send_drop_to and after it returns, the sock is freed by last sock_put on rds_release, with concurrently we being at rds_send_remove_from_sock; then at some point in the loop at rds_send_remove_from_sock we process an rds_message which didn't have rm->m_rs unset for a freed sock, and a possible sock_hold on an sock already gone at rds_release happens. This hopefully address the described condition above and avoids a double free on "second last" sock_put. In addition, I removed the comment about socket destruction on top of rds_send_drop_acked: we call rds_send_drop_to in rds_release and we should have things properly serialized there, thus I can't see the comment being accurate there. Signed-off-by: Herton R. Krzesinski <herton@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb74cc97b830c1e438dc1d6b049f17bdb2b9aae5 Author: Herton R. Krzesinski <herton@xxxxxxxxxx> Date: Wed Oct 1 18:49:53 2014 -0300 net/rds: do proper house keeping if connection fails in rds_tcp_conn_connect I see two problems if we consider the sock->ops->connect attempt to fail in rds_tcp_conn_connect. The first issue is that for example we don't remove the previously added rds_tcp_connection item to rds_tcp_tc_list at rds_tcp_set_callbacks, which means that on a next reconnect attempt for the same rds_connection, when rds_tcp_conn_connect is called we can again call rds_tcp_set_callbacks, resulting in duplicated items on rds_tcp_tc_list, leading to list corruption: to avoid this just make sure we call properly rds_tcp_restore_callbacks before we exit. The second issue is that we should also release the sock properly, by setting sock = NULL only if we are returning without error. Signed-off-by: Herton R. Krzesinski <herton@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 310886dd5fa3606d9325b10caf7c8ba5e9f9ab03 Author: Herton R. Krzesinski <herton@xxxxxxxxxx> Date: Wed Oct 1 18:49:52 2014 -0300 net/rds: call rds_conn_drop instead of open code it at rds_connect_complete Signed-off-by: Herton R. Krzesinski <herton@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2bf5ec20488fb91af32f1c7f7c63f338ebacc9f Merge: 38df649 808e7ac Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 3 12:37:23 2014 -0700 Merge branch 'qdisc_bulk_dequeue' Jesper Dangaard Brouer says: ==================== qdisc: bulk dequeue support This patchset uses DaveM's recent API changes to dev_hard_start_xmit(), from the qdisc layer, to implement dequeue bulking. Patch01: "qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE" - Implement basic qdisc dequeue bulking - This time, 100% relying on BQL limits, no magic safe-guard constants Patch02: "qdisc: dequeue bulking also pickup GSO/TSO packets" - Extend bulking to bulk several GSO/TSO packets - Seperate patch, as it introduce a small regression, see test section. We do have a patch03, which exports a userspace tunable as a BQL tunable, that can byte-cap or disable the bulking/bursting. But we could not agree on it internally, thus not sending it now. We basically strive to avoid adding any new userspace tunable. Testing patch01: ================ Demonstrating the performance improvement of qdisc dequeue bulking, is tricky because the effect only "kicks-in" once the qdisc system have a backlog. Thus, for a backlog to form, we need either 1) to exceed wirespeed of the link or 2) exceed the capability of the device driver. For practical use-cases, the measureable effect of this will be a reduction in CPU usage 01-TCP_STREAM: -------------- Testing effect for TCP involves disabling TSO and GSO, because TCP already benefit from bulking, via TSO and especially for GSO segmented packets. This patch view TSO/GSO as a seperate kind of bulking, and avoid further bulking of these packet types. The measured perf diff benefit (at 10Gbit/s) for a single netperf TCP_STREAM were 9.24% less CPU used on calls to _raw_spin_lock() (mostly from sch_direct_xmit). If my E5-2695v2(ES) CPU is tuned according to: http://netoptimizer.blogspot.dk/2014/04/basic-tuning-for-network-overload.html Then it is possible that a single netperf TCP_STREAM, with GSO and TSO disabled, can utilize all bandwidth on a 10Gbit/s link. This will then cause a standing backlog queue at the qdisc layer. Trying to pressure the system some more CPU util wise, I'm starting 24x TCP_STREAMs and monitoring the overall CPU utilization. This confirms bulking saves CPU cycles when it "kicks-in". Tool mpstat, while stressing the system with netperf 24x TCP_STREAM, shows: * Disabled bulking: sys:2.58% soft:8.50% idle:88.78% * Enabled bulking: sys:2.43% soft:7.66% idle:89.79% 02-UDP_STREAM ------------- The measured perf diff benefit for UDP_STREAM were 6.41% less CPU used on calls to _raw_spin_lock(). 24x UDP_STREAM with packet size -m 1472 (to avoid sending UDP/IP fragments). 03-trafgen driver test ---------------------- The performance of the 10Gbit/s ixgbe driver is limited due to updating the HW ring-queue tail-pointer on every packet. As previously demonstrated with pktgen. Using trafgen to send RAW frames from userspace (via AF_PACKET), and forcing it through qdisc path (with option --qdisc-path and -t0), sending with 12 CPUs. I can demonstrate this driver layer limitation: * 12.8 Mpps with no qdisc bulking * 14.8 Mpps with qdisc bulking (full 10G-wirespeed) Testing patch02: ================ Testing Bulking several GSO/TSO packets: Measuring HoL (Head-of-Line) blocking for TSO and GSO, with netperf-wrapper. Bulking several TSO show no performance regressions (requeues were in the area 32 requeues/sec for 10G while transmitting approx 813Kpps). Bulking several GSOs does show small regression or very small improvement (requeues were in the area 8000 requeues/sec, for 10G while transmitting approx 813Kpps). Using ixgbe 10Gbit/s with GSO bulking, we can measure some additional latency. Base-case, which is "normal" GSO bulking, sees varying high-prio queue delay between 0.38ms to 0.47ms. Bulking several GSOs together, result in a stable high-prio queue delay of 0.50ms. Corrosponding to: (10000*10^6)*((0.50-0.47)/10^3)/8 = 37500 bytes (10000*10^6)*((0.50-0.38)/10^3)/8 = 150000 bytes 37500/1500 = 25 pkts 150000/1500 = 100 pkts Using igb at 100Mbit/s with GSO bulking, shows an improvement. Base-case sees varying high-prio queue delay between 2.23ms to 2.35ms diff of 0.12ms corrosponding to 1500 bytes at 100Mbit/s. Bulking several GSOs together, result in a stable high-prio queue delay of 2.23ms. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 808e7ac0bdef31204184904f6b3ea356a30a9ed5 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Wed Oct 1 22:36:09 2014 +0200 qdisc: dequeue bulking also pickup GSO/TSO packets The TSO and GSO segmented packets already benefit from bulking on their own. The TSO packets have always taken advantage of the only updating the tailptr once for a large packet. The GSO segmented packets have recently taken advantage of bulking xmit_more API, via merge commit 53fda7f7f9e8 ("Merge branch 'xmit_list'"), specifically via commit 7f2e870f2a4 ("net: Move main gso loop out of dev_hard_start_xmit() into helper.") allowing qdisc requeue of remaining list. And via commit ce93718fb7cd ("net: Don't keep around original SKB when we software segment GSO frames."). This patch allow further bulking of TSO/GSO packets together, when dequeueing from the qdisc. Testing: Measuring HoL (Head-of-Line) blocking for TSO and GSO, with netperf-wrapper. Bulking several TSO show no performance regressions (requeues were in the area 32 requeues/sec). Bulking several GSOs does show small regression or very small improvement (requeues were in the area 8000 requeues/sec). Using ixgbe 10Gbit/s with GSO bulking, we can measure some additional latency. Base-case, which is "normal" GSO bulking, sees varying high-prio queue delay between 0.38ms to 0.47ms. Bulking several GSOs together, result in a stable high-prio queue delay of 0.50ms. Using igb at 100Mbit/s with GSO bulking, shows an improvement. Base-case sees varying high-prio queue delay between 2.23ms to 2.35ms Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5772e9a3463b264cee5a4e73ef586ad482d7ba48 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Wed Oct 1 22:35:59 2014 +0200 qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE Based on DaveM's recent API work on dev_hard_start_xmit(), that allows sending/processing an entire skb list. This patch implements qdisc bulk dequeue, by allowing multiple packets to be dequeued in dequeue_skb(). The optimization principle for this is two fold, (1) to amortize locking cost and (2) avoid expensive tailptr update for notifying HW. (1) Several packets are dequeued while holding the qdisc root_lock, amortizing locking cost over several packet. The dequeued SKB list is processed under the TXQ lock in dev_hard_start_xmit(), thus also amortizing the cost of the TXQ lock. (2) Further more, dev_hard_start_xmit() will utilize the skb->xmit_more API to delay HW tailptr update, which also reduces the cost per packet. One restriction of the new API is that every SKB must belong to the same TXQ. This patch takes the easy way out, by restricting bulk dequeue to qdisc's with the TCQ_F_ONETXQUEUE flag, that specifies the qdisc only have attached a single TXQ. Some detail about the flow; dev_hard_start_xmit() will process the skb list, and transmit packets individually towards the driver (see xmit_one()). In case the driver stops midway in the list, the remaining skb list is returned by dev_hard_start_xmit(). In sch_direct_xmit() this returned list is requeued by dev_requeue_skb(). To avoid overshooting the HW limits, which results in requeuing, the patch limits the amount of bytes dequeued, based on the drivers BQL limits. In-effect bulking will only happen for BQL enabled drivers. Small amounts for extra HoL blocking (2x MTU/0.24ms) were measured at 100Mbit/s, with bulking 8 packets, but the oscillating nature of the measurement indicate something, like sched latency might be causing this effect. More comparisons show, that this oscillation goes away occationally. Thus, we disregard this artifact completely and remove any "magic" bulking limit. For now, as a conservative approach, stop bulking when seeing TSO and segmented GSO packets. They already benefit from bulking on their own. A followup patch add this, to allow easier bisect-ability for finding regressions. Jointed work with Hannes, Daniel and Florian. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38df6492eb511d2a6823303cb1a194c4fe423154 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Tue Sep 30 22:29:46 2014 +0100 et131x: Add PCIe gigabit ethernet driver et131x to drivers/net This adds the ethernet driver for Agere et131x devices to drivers/net/ethernet. The driver being added has been in the staging tree for some time, and will be removed from there in a seperate patch. This one merely disables the staging version to prevent two instances being built. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 447a8b858e4bda41c394b1bc7fdbc9dc0bdf44f6 Merge: 3049683 042e1c7 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Oct 3 11:24:46 2014 -0700 Merge branch 'next' into for-linus Prepare first round of input updates for 3.18. commit f56574a2b554492703030e3d3b9679c9a07a5d69 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Thu Oct 2 10:23:15 2014 -0700 target/user: Recalculate pad size inside is_ring_space_avail() If more than one thread is waiting for command ring space that includes a PAD, then if the first one finishes (inserts a PAD and a CMD at the start of the cmd ring) then the second one will incorrectly think it still needs to insert a PAD (i.e. cmdr_space_needed is now wrong.) This will lead to it asking for more space than it actually needs, and then inserting a PAD somewhere else than at the end -- not what we want. This patch moves the pad calculation inside is_ring_space_available() so in the above scenario the second thread would then ask for space not including a PAD. The patch also inserts a PAD op based upon an up-to-date cmd_head, instead of the potentially stale value. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6375f8908255ea7438b60bb5998e6b3e1628500d Author: Hannes Reinecke <hare@xxxxxxx> Date: Thu Oct 2 09:30:55 2014 +0200 tcm_loop: Fixup tag handling The SCSI command tag is set to the tag assigned from the block layer, not the SCSI-II tag message. So we need to convert it into the correct SCSI-II tag message based on the device flags, not the tag value itself. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 1acff63f6ec2622662e647364293cc3ca495401f Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Oct 2 21:40:34 2014 -0700 iser-target: Fix smatch warning Unused return value from down_interruptible Reported-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6e14eab90a933c2e936639be390bf231a377b44a Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Wed Oct 1 23:01:15 2014 -0700 target/user: Fix up smatch warnings in tcmu_netlink_event This patch fixes up the following unused return smatch warnings: drivers/target/target_core_user.c:778 tcmu_netlink_event warn: unused return: ret = nla_put_string() drivers/target/target_core_user.c:780 tcmu_netlink_event warn: unused `return: ret = nla_put_u32() (Fix up missing semicolon: grover) Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7c9e7a6fe11c8dc5b3b9d0e889dde73347247584 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Wed Oct 1 16:07:05 2014 -0700 target: Add a user-passthrough backstore Add a LIO storage engine that presents commands to userspace for execution. This would allow more complex backstores to be implemented out-of-kernel, and also make experimentation a-la FUSE (but at the SCSI level -- "SUSE"?) possible. It uses a mmap()able UIO device per LUN to share a command ring and data area. The commands are raw SCSI CDBs and iovs for in/out data. The command ring is also reused for returning scsi command status and optional sense data. This implementation is based on Shaohua Li's earlier version but heavily modified. Differences include: * Shared memory allocated by kernel, not locked-down user pages * Single ring for command request and response * Offsets instead of embedded pointers * Generic SCSI CDB passthrough instead of per-cmd specialization in ring format. * Uses UIO device instead of anon_file passed in mailbox. * Optional in-kernel handling of some commands. The main reason for these differences is to permit greater resiliency if the user process dies or hangs. Things not yet implemented (on purpose): * Zero copy. The data area is flexible enough to allow page flipping or backend-allocated pages to be used by fabrics, but it's not clear these are performance wins. Can come later. * Out-of-order command completion by userspace. Possible to add by just allowing userspace to change cmd_id in rsp cmd entries, but currently not supported. * No locks between kernel cmd submission and completion routines. Sounds like it's possible, but this can come later. * Sparse allocation of mmaped area. Current code vmallocs the whole thing. If the mapped area was larger and not fully mapped then the driver would have more freedom to change cmd and data area sizes based on demand. Current code open issues: * The use of idrs may be overkill -- we maybe can replace them with a simple counter to generate cmd_ids, and a hash table to get a cmd_id's associated pointer. * Use of a free-running counter for cmd ring instead of explicit modulo math. This would require power-of-2 cmd ring size. (Add kconfig depends NET - Randy) Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3e67cfad22230ebed85c56cbe413876f33fea82b Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Fri Oct 3 12:47:23 2014 -0400 ext4: grab missed write_count for EXT4_IOC_SWAP_BOOT Otherwise this provokes complain like follows: WARNING: CPU: 12 PID: 5795 at fs/ext4/ext4_jbd2.c:48 ext4_journal_check_start+0x4e/0xa0() Modules linked in: brd iTCO_wdt lpc_ich mfd_core igb ptp dm_mirror dm_region_hash dm_log dm_mod CPU: 12 PID: 5795 Comm: python Not tainted 3.17.0-rc2-00175-gae5344f #158 Hardware name: Intel Corporation W2600CR/W2600CR, BIOS SE5C600.86B.99.99.x028.061320111235 06/13/2011 0000000000000030 ffff8808116cfd28 ffffffff815c7dfc 0000000000000030 0000000000000000 ffff8808116cfd68 ffffffff8106ce8c ffff8808116cfdc8 ffff880813b16000 ffff880806ad6ae8 ffffffff81202008 0000000000000000 Call Trace: [<ffffffff815c7dfc>] dump_stack+0x51/0x6d [<ffffffff8106ce8c>] warn_slowpath_common+0x8c/0xc0 [<ffffffff81202008>] ? ext4_ioctl+0x9e8/0xeb0 [<ffffffff8106ceda>] warn_slowpath_null+0x1a/0x20 [<ffffffff8122867e>] ext4_journal_check_start+0x4e/0xa0 [<ffffffff81228c10>] __ext4_journal_start_sb+0x90/0x110 [<ffffffff81202008>] ext4_ioctl+0x9e8/0xeb0 [<ffffffff8107b0bd>] ? ptrace_stop+0x24d/0x2f0 [<ffffffff81088530>] ? alloc_pid+0x480/0x480 [<ffffffff8107b1f2>] ? ptrace_do_notify+0x92/0xb0 [<ffffffff81186545>] do_vfs_ioctl+0x4e5/0x550 [<ffffffff815cdbcb>] ? _raw_spin_unlock_irq+0x2b/0x40 [<ffffffff81186603>] SyS_ioctl+0x53/0x80 [<ffffffff815ce2ce>] tracesys+0xd0/0xd5 Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 58a9014ae6422325f12d54b5dbb95531009ab70f Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Fri Oct 3 17:54:13 2014 +0200 ASoC: fsl_spdif: Remove unused includes of linux/clk-private.h Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ee042ec88022249b848306dd6e87ffd2fd88a839 Merge: 80ad99d 8e0e99b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 08:40:37 2014 -0700 Merge tag 'md/3.17-final-fix' of git://neil.brown.name/md Pull raid5 discard fix from Neil Brown: "One fix for raid5 discard issue" * tag 'md/3.17-final-fix' of git://neil.brown.name/md: md/raid5: disable 'DISCARD' by default due to safety concerns. commit a2285b8c75bf7e21895f7c2cf75d6a910914517b Merge: bab4d75 9c0b8fd Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:44 2014 +0100 Merge remote-tracking branch 'spi/topic/xilinx' into spi-next commit bab4d751f70bcecdcaad56dad9785224a5a6f9db Merge: 899d81b db4fa45 468e0f4 6089af7 e221cc9 9593e61 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:42 2014 +0100 Merge remote-tracking branches 'spi/topic/pl022', 'spi/topic/pxa2xx', 'spi/topic/rspi', 'spi/topic/sh-msiof' and 'spi/topic/sirf' into spi-next commit 899d81b974ec7b3fd0f875c578bd91e89212742f Merge: 7020d76 90f90bb f62cacc a44619c 9f5b8b4 df59fa7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:41 2014 +0100 Merge remote-tracking branches 'spi/topic/fsl-dspi', 'spi/topic/imx', 'spi/topic/mxs', 'spi/topic/omap-100k' and 'spi/topic/orion' into spi-next commit 7020d7697178afbb3fe579edb99afb05211e4bf1 Merge: 1fc8450 365a7bb 2be01d2 f7477c2 a310836 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:39 2014 +0100 Merge remote-tracking branches 'spi/topic/davinci', 'spi/topic/doc', 'spi/topic/dw' and 'spi/topic/fsl' into spi-next commit 1fc84503130927fae0b5e2f753f07a7192793223 Merge: 613c447 61d38b9 e67f04c a2cea98 a5b4b23 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:37 2014 +0100 Merge remote-tracking branches 'spi/topic/bcm53xx', 'spi/topic/cadence', 'spi/topic/checkpatch' and 'spi/topic/clps711x' into spi-next commit 613c44798f2ba41df8ac7635fab9ebba8118f834 Merge: ad71f40 f59838a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:37 2014 +0100 Merge remote-tracking branch 'spi/topic/dma-dep' into spi-next commit ad71f40a834e6fe8877794230048551cc7ab8180 Merge: 62d02e4 c7908a3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:37 2014 +0100 Merge remote-tracking branch 'spi/topic/core' into spi-next commit 62d02e41eaf08534203384ce5468e2d3ec337677 Merge: fe82dce a24e70c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:35 2014 +0100 Merge remote-tracking branch 'spi/fix/rockchip' into spi-linus commit 80ad99da8bd213e12b925407f1c97a303aa8f87f Merge: 5858686 eee0815 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 08:31:14 2014 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Nothing too major or scary. One i915 regression fix, nouveau has a tmds regression fix, along with a regression fix for the runtime pm code for optimus laptops not restoring the display hw correctly" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/nouveau: make sure display hardware is reinitialised on runtime resume drm/nouveau: punt fbcon resume out to a workqueue drm/nouveau: fix regression on original nv50 board drm/nv50/disp: fix dpms regression on certain boards drm/i915: Flush the PTEs after updating them before suspend commit 3afb57fa721f94206e642f8fda51f5a89dda3dfb Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Sep 29 19:45:02 2014 -0700 hwmon: (ab8500) Call kernel_power_off instead of pm_power_off Drivers should not call pm_power_off directly; it is not guaranteed to be non-NULL. Call kernel_power_off instead. Cc: Jean Delvare <jdelvare@xxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit dd2f6c4481debfa389c1f2b2b1d5bd6449c42611 Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Oct 3 16:17:02 2014 +0100 X.509: If available, use the raw subjKeyId to form the key description Module signing matches keys by comparing against the key description exactly. However, the way the key description gets constructed got changed to be composed of the subject name plus the certificate serial number instead of the subject name and the subjectKeyId. I changed this to avoid problems with certificates that don't *have* a subjectKeyId. Instead, if available, use the raw subjectKeyId to form the key description and only use the serial number if the subjectKeyId doesn't exist. Reported-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 31d9f8faf9a54c851e835af489c82f45105a442f Author: Dmitry Lavnikevich <d.lavnikevich@xxxxxxxxxxxxxxxxx> Date: Fri Oct 3 16:18:56 2014 +0300 ASoC: tlv320aic3x: fix PLL D configuration Current caching implementation during regcache_sync() call bypasses all register writes of values that are already known as default (regmap reg_defaults). Same time in TLV320AIC3x codecs register 5 (AIC3X_PLL_PROGC_REG) write should be immediately followed by register 6 write (AIC3X_PLL_PROGD_REG) even if it was not changed. Otherwise both registers will not be written. This brings to issue that appears particulary in case of 44.1kHz playback with 19.2MHz master clock. In this case AIC3X_PLL_PROGC_REG is 0x6e while AIC3X_PLL_PROGD_REG is 0x0 (same as register default). Thus AIC3X_PLL_PROGC_REG also remains not written and we get wrong playback speed. In this patch snd_soc_read() is used to get cached pll values and snd_soc_write() (unlike regcache_sync() this function doesn't bypasses hardware default values) to write them to registers. Signed-off-by: Dmitry Lavnikevich <d.lavnikevich@xxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b2d9de549c30170eed5691d369cf16680e0ce03a Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Oct 3 15:32:40 2014 +0300 ASoC: dapm: Fix NULL pointer dereference when registering card with widgets Commit 0bd2ac3dae74 ("ASoC: Remove CODEC pointer from snd_soc_dapm_context") introduced regression to snd_soc_dapm_new_controls() when registering a card with card->dapm_widgets set. Call chain is: snd_soc_register_card() -> snd_soc_instantiate_card() -> snd_soc_dapm_new_controls() -> snd_soc_dapm_new_control() Null pointer dereference occurs since card->dapm context doesn't have associated component. Fix this by setting widget codec pointer conditionally. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 91401a34038e614076dbfb5c4969a052e72fb296 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Sep 30 00:20:46 2014 +0200 UBI: Fastmap: Calc fastmap size correctly We need to add fm_sb too. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit c8c5ebcc5e33a0ae65b6b1cba8d257d423f25da0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 2 14:12:34 2014 +0200 Documentation: charger: max14577: Update the date of introducing ABI Update the date of introducing max14577 charger's ABI (fast_charge_timer sysfs entry) to approximate date of kernel release which actually introduces this. The old date came from previous driver submissions. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a968bed78b549b4c61d4a46e59161fc1f60f96a6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Oct 1 20:38:17 2014 +0200 PM / clk: Fix crash in clocks management code if !CONFIG_PM_RUNTIME Unlike the clocks management code for runtime PM, the code used for system suspend does not check the pm_clock_entry.status field. If pm_clk_acquire() failed, ce->status will be PCE_STATUS_ERROR, and ce->clk will be a negative error code (e.g. 0xfffffffe = -2 = -ENOENT). Depending on the clock implementation, suspend or resume may crash with: Unable to handle kernel NULL pointer dereference at virtual address 00000026 (CCF clk_disable() has an IS_ERR_OR_NULL() check, while CCF clk_enable() only has a NULL check; pre-CCF implementations may behave differently) While just checking for PCE_STATUS_ERROR would be sufficient, it doesn't hurt to use the same state machine as is done for runtime PM, as this makes the two versions more similar, and eligible for a future consolidation. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0a6479b0ffad8dd236915e271faaf2cbb4cac287 Author: Geoff Levand <geoff@xxxxxxxxxxxxx> Date: Fri Aug 22 20:49:16 2014 +0100 arm64: Remove unneeded extern keyword Function prototypes are never definitions, so remove any 'extern' keyword from the funcion prototypes in cpu_ops.h. Fixes warnings emited by checkpatch. Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 0415447aa3b4decc2c05dfc45a0aa34a5eb4fc54 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 2 22:45:48 2014 +0200 Documentation: fix broken v4l-utils URL This replaces http://git.linuxtv.org/v4l-utils/ (broken link) by http://git.linuxtv.org/cgit.cgi/v4l-utils.git/ Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c8fdd497a44450e6183cb43b314fd81504d5c15e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 10 09:26:19 2014 +0100 ARM64: make of_device_ids const of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. So mark the only non-const struct in arch/arm64 as const, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 7b345771ba921361b318e95bf21b257c65ac141c Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Oct 2 19:35:26 2014 -0400 Documentation: update include path for mpssd sysfs.c includes mpssd.h which includes virtio_ids.h. sysfs.c doesn't have the proper include flags set to use the latest headers, so this causes a build error if the system headers are too old. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Cc: rdunlap@xxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: sudeep.dutt@xxxxxxxxx Cc: nikhil.rao@xxxxxxxxx Cc: ashutosh.dixit@xxxxxxxxx Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Cc: harshavardhan.r.kharche@xxxxxxxxx Cc: caz.yokoyama@xxxxxxxxx Cc: dasaratharaman.chandramouli@xxxxxxxxx Cc: jkosina@xxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit cbe68a2bd092ff67575323f30a170d55df31f55f Merge: 77076c7 0b8db27 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Oct 3 15:46:02 2014 +0200 Merge back 'acpi-video' material for v3.18. commit f39cb1797ec1094b196d3dab44a7ca6060813d38 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 2 21:12:34 2014 +0200 PM / Domains: Rename cpu_data to cpuidle_data The "cpu_data" are defined for some archs and thus conflicting with the "cpu_data" member in the struct gpd_cpu_data. This causes a compiler error for those archs. Let's fix it by rename the member to cpuidle_data. In this context it also seems appropriate to rename the struct to gpd_cpuidle_data to better reflect its use. Fixes: f48c767ce895 (PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h) Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6f1293ff747ddcb696d546e3efcd31f7cc42b9a5 Merge: b1b12ba f9739d2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Oct 3 15:41:16 2014 +0200 Merge back cpufreq material for v3.18. commit f9739d27059d8fd7b64096ea7251608628b5bd30 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 26 15:33:46 2014 +0200 cpufreq: cpufreq-dt: fix potential double put of cpu OF node If cpufreq_generic_init() fails we jump into the resource cleanup path which contains a of_node_put() call. Another instance of this has already been called at that time resulting a double decrement of the refcount. Fix this by calling of_node_put() only after we are sure that nothing has gone wrong. Fixes: d2f31f1da54f "cpufreq: cpu0: Move per-cluster initialization code to ->init()" Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d24e0569e046430832d32eb3ea231dc763782e4d Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Fri Oct 3 08:38:06 2014 -0400 GFS2: Use gfs2_rbm_incr in rgblk_free This patch speeds up GFS2 unlink operations by using function gfs2_rbm_incr rather than continuously calculating the rbm. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit bbcf071969b20f356877c8067986be0a2dcaa2aa Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Sep 9 19:58:03 2014 +0530 cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' The naming convention of this driver was always under the scanner, people complained that it should have a more generic name than cpu0, as it manages all CPUs that are sharing clock lines. Also, in future it will be modified to support any number of clusters with separate clock/voltage lines. Lets rename it to 'cpufreq_dt' from 'cpufreq_cpu0'. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 369283bfbd953a5d34c919746b3587737c0a47c8 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 2 10:37:21 2014 -0400 drm/radeon/kv: add uvd/vce info to dpm debugfs output Track whether UVD or VCE are enabled in debugfs. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3e15c35374305cea79ed73dec66143b569ee9204 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 2 10:28:57 2014 -0400 drm/radeon/ci: add uvd/vce info to dpm debugfs output Track whether UVD or VCE are enabled in debugfs. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 831b6966a60fe72d85ae3576056b4e4e0775b112 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Sep 18 14:11:56 2014 +0200 drm/radeon: export reservation_object from dmabuf to ttm Adds an extra argument to radeon_bo_create, which is only used in radeon_prime.c. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 392a250bd080e296f97ccc7e91b051a6b5da0ff1 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Sep 25 12:39:38 2014 +0200 drm/radeon: cope with foreign fences inside the reservation object Not the whole world is a radeon! :-) Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a0e847641cd7239661ff1b39db0afb0e2992026f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Sep 17 14:35:02 2014 +0200 drm/radeon: cope with foreign fences inside display Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 40b50e80c5ca78b3164d79d39b4889c4e58f462e Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Oct 3 11:53:28 2014 +0300 KEYS: handle error code encoded in pointer If hexlen is odd then function returns an error. Use IS_ERR to check for error, otherwise invalid pointer is used and kernel gives oops: [ 132.816522] BUG: unable to handle kernel paging request at ffffffffffffffea [ 132.819902] IP: [<ffffffff812bfc20>] asymmetric_key_id_same+0x14/0x36 [ 132.820302] PGD 1a12067 PUD 1a14067 PMD 0 [ 132.820302] Oops: 0000 [#1] SMP [ 132.820302] Modules linked in: bridge(E) stp(E) llc(E) evdev(E) serio_raw(E) i2c_piix4(E) button(E) fuse(E) [ 132.820302] CPU: 0 PID: 2993 Comm: cat Tainted: G E 3.16.0-kds+ #2847 [ 132.820302] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 132.820302] task: ffff88004249a430 ti: ffff880056640000 task.ti: ffff880056640000 [ 132.820302] RIP: 0010:[<ffffffff812bfc20>] [<ffffffff812bfc20>] asymmetric_key_id_same+0x14/0x36 [ 132.820302] RSP: 0018:ffff880056643930 EFLAGS: 00010246 [ 132.820302] RAX: 0000000000000000 RBX: ffffffffffffffea RCX: ffff880056643ae0 [ 132.820302] RDX: 000000000000005e RSI: ffffffffffffffea RDI: ffff88005bac9300 [ 132.820302] RBP: ffff880056643948 R08: 0000000000000003 R09: 00000007504aa01a [ 132.820302] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88005d68ca40 [ 132.820302] R13: 0000000000000101 R14: 0000000000000000 R15: ffff88005bac5280 [ 132.820302] FS: 00007f67a153c740(0000) GS:ffff88005da00000(0000) knlGS:0000000000000000 [ 132.820302] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 132.820302] CR2: ffffffffffffffea CR3: 000000002e663000 CR4: 00000000000006f0 [ 132.820302] Stack: [ 132.820302] ffffffff812bfc66 ffff880056643ae0 ffff88005bac5280 ffff880056643958 [ 132.820302] ffffffff812bfc9d ffff880056643980 ffffffff812971d9 ffff88005ce930c1 [ 132.820302] ffff88005ce930c0 0000000000000000 ffff8800566439c8 ffffffff812fb753 [ 132.820302] Call Trace: [ 132.820302] [<ffffffff812bfc66>] ? asymmetric_match_key_ids+0x24/0x42 [ 132.820302] [<ffffffff812bfc9d>] asymmetric_key_cmp+0x19/0x1b [ 132.820302] [<ffffffff812971d9>] keyring_search_iterator+0x74/0xd7 [ 132.820302] [<ffffffff812fb753>] assoc_array_subtree_iterate+0x67/0xd2 [ 132.820302] [<ffffffff81297165>] ? key_default_cmp+0x20/0x20 [ 132.820302] [<ffffffff812fbaa1>] assoc_array_iterate+0x19/0x1e [ 132.820302] [<ffffffff81297332>] search_nested_keyrings+0xf6/0x2b6 [ 132.820302] [<ffffffff810728da>] ? sched_clock_cpu+0x91/0xa2 [ 132.820302] [<ffffffff810860d2>] ? mark_held_locks+0x58/0x6e [ 132.820302] [<ffffffff810a137d>] ? current_kernel_time+0x77/0xb8 [ 132.820302] [<ffffffff81297871>] keyring_search_aux+0xe1/0x14c [ 132.820302] [<ffffffff812977fc>] ? keyring_search_aux+0x6c/0x14c [ 132.820302] [<ffffffff8129796b>] keyring_search+0x8f/0xb6 [ 132.820302] [<ffffffff812bfc84>] ? asymmetric_match_key_ids+0x42/0x42 [ 132.820302] [<ffffffff81297165>] ? key_default_cmp+0x20/0x20 [ 132.820302] [<ffffffff812ab9e3>] asymmetric_verify+0xa4/0x214 [ 132.820302] [<ffffffff812ab90e>] integrity_digsig_verify+0xb1/0xe2 [ 132.820302] [<ffffffff812abe41>] ? evm_verifyxattr+0x6a/0x7a [ 132.820302] [<ffffffff812b0390>] ima_appraise_measurement+0x160/0x370 [ 132.820302] [<ffffffff81161db2>] ? d_absolute_path+0x5b/0x7a [ 132.820302] [<ffffffff812ada30>] process_measurement+0x322/0x404 Reported-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 23aadb1fcda27e79a134ec35a7fb68f243269bcb Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Oct 1 18:00:26 2014 +0200 perf callchain: Move callchain_param to util object in to fix python test In following commit we changed the location of callchains data: 72a128aa083a7f4cc4f800718aaae05d9c698e26 perf tools: Move callchain config from record_opts to callchain_param Now all callchains stuff stays in callchain_param struct, which adds its dependency for evsel.c object and breaks python perf.so usage (unresolved callchain_param). Moving callchain_param into callchain.c and adding it into python-ext-sources unleash just another dependency hell, so I ended up adding callchain_param into util.c for now. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412179229-19466-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1ca72260e471a8b03f03fe9a6547deb088710042 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Oct 1 18:00:29 2014 +0200 perf kvm stat live: Use fdarray object instead of pollfd The reason is that we don't need to count the number of file descriptors because it's already handled in fdarray object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412179229-19466-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0cae013cf4450ea0ecb62241a2f3e7565db09f93 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Oct 1 18:00:28 2014 +0200 perf kvm stat live: Use perf_evlist__add_pollfd return fd position With the interface changed in following commit: 2171a9256862 tools lib fd array: Allow associating an integer cookie with each entry the perf_evlist__add_pollfd function now returns the fd position in the pollfd array. Hence we no longer need to count the fd position, because we get it as the return value. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412179229-19466-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fe636adda6caff6022e61b37202495dbf68e1410 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Oct 1 18:00:27 2014 +0200 perf kvm stat live: Fix perf_evlist__add_pollfd error handling With the interface changed in following commit: 2171a9256862 tools lib fd array: Allow associating an integer cookie with each entry the perf_evlist__add_pollfd function now returns the fd position in the pollfd array. We need to change this function's error check condition. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412179229-19466-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b3f635ad6648d17178c3e2ab2f0a4823fcac1e83 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 15:45:22 2014 -0700 mmc, sdhci, bcm-kona, LLVMLinux: Remove use of __initconst The __initconst is in the wrong place, and when moved to the correct place it uncovers an error where the variable is used by non-init data structures. Instead merely make them const and put the const in the right spot. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Matt Porter <mporter@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a06586b62db5c63752e2e68daffec4baa275d594 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:33 2014 +0300 mmc: sdhci-pci: Fix Braswell eMMC timeout clock frequency Braswell eMMC host controller specifies an incorrect timeout clock frequncy in the capabilities registers. The correct value is 1 MHz. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f5fa92e58bce2cbcce99c2c5260c0b338a1ef201 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:32 2014 +0300 mmc: sdhci: Let a driver override timeout clock frequency Let a driver override the timeout clock frequency by populating it before calling sdhci_add_host(). Note the value will otherwise be zero because sdhci_host is zeroed when allocated. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ff59c520b5fec9733d5402fdfa76fa4435a40bba Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:31 2014 +0300 mmc: sdhci-pci: Add Bay Trail and Braswell SD card detect Add support for card detect for Bay Trail and Braswell SD Card host controllers in PCI mode. This uses the gpio descriptor API which can find gpio descriptors, for example, on an ACPI comapnion device. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8da4cc1b10c1aeba090d1d862b17174e4dbd50a4 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Fri Oct 3 14:13:36 2014 +0200 netfilter: nft_masq: register/unregister notifiers on module init/exit We have to register the notifiers in the masquerade expression from the the module _init and _exit path. This fixes crashes when removing the masquerade rule with no ipt_MASQUERADE support in place (which was masking the problem). Fixes: 9ba1f72 ("netfilter: nf_tables: add new nft_masq expression") Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e58e4a0d14a5b8b6ab2aa2942cb2440e45c1f8c9 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:30 2014 +0300 mmc: sdhci-pci: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel BYT host controllers Add quirk SDHCI_QUIRK2_STOP_WITH_TC for Intel BYT host controllers. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7147eaf3a4fe7e7dbb6e1f89e328ea0507e0c32c Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:29 2014 +0300 mmc: sdhci-acpi: Add a HID and UID for a SD Card host controller Add a HID (INT33BB) and UID (3) for a SD Card host controller. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 934e31b9dc848df56a65768388609358a1836ba0 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:28 2014 +0300 mmc: sdhci-acpi: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel host controllers Add quirk SDHCI_QUIRK2_STOP_WITH_TC for Intel host controllers. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 615413979487a1e25a3b76abbaa316280ca19d26 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:27 2014 +0300 mmc: sdhci: Add quirk for always getting TC with stop cmd Add a quirk for a host controller that always sets a Transfer Complete interrupt status for the stop command even when a busy response is not indicated. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 08678b850cd0c49cc49c7fed0c93f720f85368e8 Author: Anders Berg <anders.berg@xxxxxxxxxxxxx> Date: Fri Oct 3 13:08:02 2014 +0200 i2c: axxia: Add I2C driver for AXM55xx Add I2C bus driver for the controller found in the LSI Axxia family SoCs. The driver implements 10-bit addressing and SMBus transfer modes via emulation (including SMBus block data read). Signed-off-by: Anders Berg <anders.berg@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d1e9abd630fe66046087f6501a4e4b8de55f7ab9 Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Sep 17 06:12:36 2014 +0200 xen: eliminate scalability issues from initrd handling Size restrictions native kernels wouldn't have resulted from the initrd getting mapped into the initial mapping. The kernel doesn't really need the initrd to be mapped, so use infrastructure available in Xen to avoid the mapping and hence the restriction. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit bca9b6855888d978d6e5399b0a8a8ed9a11e9236 Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Sep 17 06:12:35 2014 +0200 xen: sync some headers with xen tree To be able to use an initially unmapped initrd with xen the following header files must be synced to a newer version from the xen tree: include/xen/interface/elfnote.h include/xen/interface/xen.h As the KEXEC and DUMPCORE related ELFNOTES are not relevant for the kernel they are omitted from elfnote.h. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 8ab85eba49c6f4ad67b65fb61104b912f86a1546 Author: Juergen Gross <jgross@xxxxxxxx> Date: Mon Sep 15 06:45:01 2014 +0200 xen: make pvscsi frontend dependant on xenbus frontend The pvscsi frontend driver requires the xenbus frontend driver. Reflect this in Kconfig. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit c2ba1f7d39ff4f3666f0fe0f9f55a41a81e745b6 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 17 14:07:06 2014 -0700 arm{,64}/xen: Remove "EXPERIMENTAL" in the description of the Xen options The Xen ARM API is stable since Xen 4.4 and everything has been upstreamed in Linux for ARM and ARM64. Therefore we can drop "EXPERIMENTAL" from the Xen option in the both Kconfig. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx commit 7921a11c7b2929f3ed6fe9081edcf695c60b23c6 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Sep 11 14:20:04 2014 +0100 xen-scsifront: don't deadlock if the ring becomes full scsifront_action_handler() will deadlock on host->host_lock, if the ring is full and it has to wait for entries to become available. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> commit 9766a1cfe5ef2042d1e604e2223629dc43307a21 Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Thu Oct 2 09:42:44 2014 -0700 ASoC: tegra: add mic detect gpio to tegra_max98090 Add an optional mic detect gpio property. If specified in device tree there will be a mic jack created for the given gpio. This will be used by the Tegra-based Chromebooks. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Reviewed-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6f4d2b3177ee3352e70c90f327e2dea3809c263e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Oct 2 17:36:05 2014 -0300 ASoC: sgtl5000: Do a sanity check on SYS_MCLK According to the sgtl5000 datasheet the valid range for SYS_MCLK is from 8 to 27 MHz. Add a sanity check prior to enabling SYS_MCLK. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa558d0130debf847b6b8cd95880a2d7556770ac Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Oct 2 16:16:50 2014 -0300 ASoC: sgtl5000: Improve the error message on slave mode setting For sgtl5000 to operate in slave mode it can only work in "Synchronous SYS_MCLK input" mode. In this mode only the following rates can be supported: 256*Fs, 384*Fs, 512*Fs. Improve the error message to give a better indication as to why the clocking failed for slave mode: [ 12.515399] sgtl5000 1-000a: PLL not supported in slave mode [ 12.524124] sgtl5000 1-000a: 233 ratio is not supported. SYS_MCLK needs to be 256, 384 or 512 * fs [ 12.535938] sgtl5000 1-000a: ASoC: can't set sgtl5000 hw params: -22 Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a577483b6906b3d7aba9cc07e383682fc9b65318 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Oct 3 09:55:07 2014 +0800 ASoC: rt286: Add depends on I2C rt286 use I2C as its I/O. So the driver can only available when I2C is selected. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a44619c31c203257fe9704e41c714f35d9990018 Author: Michael Heimpold <mhei@xxxxxxxxxxx> Date: Thu Oct 2 23:10:22 2014 +0200 spi: spi-mxs: fix a tiny typo in a comment Signed-off-by: Michael Heimpold <mhei@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2c2d831c81ec75a7b0d8e28caa8e3d9c1fe546f9 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Fri Oct 3 01:47:09 2014 -0700 [SCSI] uas: disable use of blk-mq I/O path The uas driver uses the block layer tag for USB3 stream IDs. With blk-mq we can get larger tag numbers that the queue depth, which breaks this assumption. A fix is under way for 3.18, but sits on top of large changes so can't easily be backported. Set the disable_blk_mq path so that a uas device can't easily crash the system when using blk-mq for SCSI. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 24cae7934cf1455c9793a95376a206ca6b965ade Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 28 11:18:49 2014 +0200 m68k: Reformat arch/m68k/mm/hwtest.c No functional changes Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit e4dc601bf99ccd1c95b7e6eef1d3cf3c4b0d4961 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 28 10:50:06 2014 +0200 m68k: Disable/restore interrupts in hwreg_present()/hwreg_write() hwreg_present() and hwreg_write() temporarily change the VBR register to another vector table. This table contains a valid bus error handler only, all other entries point to arbitrary addresses. If an interrupt comes in while the temporary table is active, the processor will start executing at such an arbitrary address, and the kernel will crash. While most callers run early, before interrupts are enabled, or explicitly disable interrupts, Finn Thain pointed out that macsonic has one callsite that doesn't, causing intermittent boot crashes. There's another unsafe callsite in hilkbd. Fix this for good by disabling and restoring interrupts inside hwreg_present() and hwreg_write(). Explicitly disabling interrupts can be removed from the callsites later. Reported-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1bcecfacde6269dc6cee9a098bc454222d441ff9 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 30 16:49:56 2014 +0200 drm/core: use helper to check driver features The patch replaces direct access to driver_features field by calls to helper function. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d0b7abb2c7c05552aca2a0358c53b6a48eab2843 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:11 2014 +1000 powerpc: Enable CONFIG_CRASH_DUMP=y for ppc64_defconfig It pulls in more code, including causing us to build a relocatable kernel, which is good for testing. The resulting kernel is still usable as a non-crash dump kernel. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit edcee77fef62c66db7b50c4883f5b0f94de9ae69 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:12 2014 +1000 powerpc/kdump: crash_dump.c needs to include io.h For __ioremap(). Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d3b94e4b3b22b9f95c4d6a5f0c7fcf9288309c20 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:10 2014 +1000 powerpc: Don't build powernv for other platform defconfigs Because powernv arrived after these other platforms, the defconfigs didn't have PPC_POWERNV disabled, and being default y it gets turned on. If we're going to bother having defconfigs for the specific platforms then they should only build the code required for those platforms. The grab bag of everything config is ppc64_defconfig. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8abf29f829de366b989b360af96b2ba871324ad6 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 19 17:25:22 2014 +0800 powerpc/pci: remove duplicate declaration of pci_bus_find_capability pci_bus_find_capability() is decleared in pci.h, so it is not necessary to do it again. This patch removes it. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2828c9cdb8bd30f49c48210c014ccdd4cb994931 Merge: db985cb fae119b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Oct 3 09:02:33 2014 +0200 Merge tag 'irqchip-core-3.18-2' of git://git.infradead.org/users/jcooper/linux into irq/core irqchip core changes for v3.18 (round 2) from Jason Cooper * atmel: - Add sama5d4 support - Correct # irqs for sama5d3 * broadcom: - Add bcm7120 l2 interrupt controller and DT binding * gic-v3: - Add CPU PM notifier - Add enable/disable support to gic_enable_redist commit ce87685128f3e0fced2aca9f73fc8cc67704ae11 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Wed Oct 1 16:07:04 2014 -0700 target: Add documentation on the target userspace pass-through driver Describes the driver and its interface to make it possible for user programs to back a LIO-exported LUN. Thanks to Richard W. M. Jones for review, and supplementing this doc with the first two paragraphs. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f14bb039a4e8206439d3e9abd92bc76bd142f243 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Wed Oct 1 16:07:03 2014 -0700 uio: Export definition of struct uio_device In order to prevent a O(n) search of the filesystem to link up its uio node with its target configuration, TCMU needs to know the minor number that UIO assigned. Expose the definition of this struct so TCMU can access this field. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 20959c4b4078847e629eed8918abb52bfe5f559a Author: Andy Grover <agrover@xxxxxxxxxx> Date: Wed Oct 1 16:07:02 2014 -0700 target: Remove unneeded check in sbc_parse_cdb The check of SCF_SCSI_DATA_CDB seems to be a remnant from before hch's refactoring of this function. There are no places where that flag is set that cmd->execute_cmd isn't also set. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 69784fa539efa477f39b5a849c27d5e630e0db27 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 2 21:33:50 2014 -0700 Revert "serial/core: Initialize the console pm state" This reverts commit a86713b1536c818972675e6dd8c6e738f0379f1d. Kevin Hilman writes: Multiple boot failures on ARM[1] were bisected down to this patch. How was this patch tested, and on which platforms? Also, the changelog states that this should be done only for UART_CAP_SLEEP, but the patch does it for every UART. Greg, I suggest this patch be dropped from tty-next until it has been better described and tested. [1] http://lists.linaro.org/pipermail/kernel-build-reports/2014-October/005550.html Reported-by: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Sudhir Sreedharan <ssreedharan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9410e0185e65394c0c6d046033904b53b97a9423 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu Sep 25 16:39:18 2014 +1000 powerpc/iommu/ddw: Fix endianness rtas_call() accepts and returns values in CPU endianness. The ddw_query_response and ddw_create_response structs members are defined and treated as BE but as they are passed to rtas_call() as (u32 *) and they get byteswapped automatically, the data is CPU-endian. This fixes ddw_query_response and ddw_create_response definitions and use. of_read_number() is designed to work with device tree cells - it assumes the input is big-endian and returns data in CPU-endian. However due to the ddw_create_response struct fix, create.addr_hi/lo are already CPU-endian so do not byteswap them. ddw_avail is a pointer to the "ibm,ddw-applicable" property which contains 3 cells which are big-endian as it is a device tree. rtas_call() accepts a RTAS token in CPU-endian. This makes use of of_property_read_u32_array to byte swap and avoid the need for a number of be32_to_cpu calls. Cc: stable@xxxxxxxxxxxxxxx # v3.13+ Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> [aik: folded Anton's patch with of_property_read_u32_array] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Acked-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8acd91e8620836a56ff62028ed28ba629f2881a0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 30 15:26:00 2014 +0200 locking/lockdep: Revert qrwlock recusive stuff Commit f0bab73cb539 ("locking/lockdep: Restrict the use of recursive read_lock() with qrwlock") changed lockdep to try and conform to the qrwlock semantics which differ from the traditional rwlock semantics. In particular qrwlock is fair outside of interrupt context, but in interrupt context readers will ignore all fairness. The problem modeling this is that read and write side have different lock state (interrupts) semantics but we only have a single representation of these. Therefore lockdep will get confused, thinking the lock can cause interrupt lock inversions. So revert it for now; the old rwlock semantics were already imperfectly modeled and the qrwlock extra won't fit either. If we want to properly fix this, I think we need to resurrect the work by Gautham did a few years ago that split the read and write state of locks: http://lwn.net/Articles/332801/ FWIW the locking selftest that would've failed (and was reported by Borislav earlier) is something like: RL(X1); /* IRQ-ON */ LOCK(A); UNLOCK(A); RU(X1); IRQ_ENTER(); RL(X1); /* IN-IRQ */ RU(X1); IRQ_EXIT(); At which point it would report that because A is an IRQ-unsafe lock we can suffer the following inversion: CPU0 CPU1 lock(A) lock(X1) lock(A) <IRQ> lock(X1) And this is 'wrong' because X1 can recurse (assuming the above lock are in fact read-lock) but lockdep doesn't know about this. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Cc: ego@xxxxxxxxxxxxxxxxxx Cc: bp@xxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140930132600.GA7444@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit debfab74e453f079cd8b12b0604387a8c510ef3a Author: Jason Low <jason.low2@xxxxxx> Date: Tue Sep 16 17:16:57 2014 -0700 locking/rwsem: Avoid double checking before try acquiring write lock Commit 9b0fc9c09f1b ("rwsem: skip initial trylock in rwsem_down_write_failed") checks for if there are known active lockers in order to avoid write trylocking using expensive cmpxchg() when it likely wouldn't get the lock. However, a subsequent patch was added such that we directly check for sem->count == RWSEM_WAITING_BIAS right before trying that cmpxchg(). Thus, commit 9b0fc9c09f1b now just adds overhead. This patch modifies it so that we only do a check for if count == RWSEM_WAITING_BIAS. Also, add a comment on why we do an "extra check" of count before the cmpxchg(). Signed-off-by: Jason Low <jason.low2@xxxxxx> Acked-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Aswin Chandramouleeswaran <aswin@xxxxxx> Cc: Chegu Vinod <chegu_vinod@xxxxxx> Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410913017.2447.22.camel@j-VirtualBox Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2291059c852706c6f5ffb400366042b7625066cd Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Sep 23 10:29:50 2014 -0400 locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read() Use the much more reader friendly ACCESS_ONCE() instead of the cast to volatile. This is purely a stylistic change. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-arch@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1411482607-20948-1-git-send-email-bobby.prani@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cc6cd47e7395bc05c5077009808b820633eb3f18 Author: Wei Huang <wei@xxxxxxxxxx> Date: Wed Sep 24 22:55:14 2014 -0500 perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment PMU checking can fail due to various reasons. On native machine, this is mostly caused by faulty hardware and it is reasonable to use KERN_ERR in reporting. However, when kernel is running on virtualized environment, this checking can fail if virtual PMU is not supported (e.g. KVM on AMD host). It is annoying to see an error message on splash screen, even though we know such failure is benign on virtualized environment. This patch checks if the kernel is running in a virtualized environment. If so, it will use KERN_INFO in reporting, which reduces the syslog priority of them. This patch was tested successfully on KVM. Signed-off-by: Wei Huang <wei@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1411617314-24659-1-git-send-email-wei@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4f971248bc6ad2bb2a89a25a072ebfec5757d298 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Sep 22 15:27:06 2014 -0700 perf/x86/intel/uncore: Fix minor race in box set up I was looking for the trinity oops cause in the uncore driver. (so far didn't found it) However I found this tiny race: when a box is set up two threads on the same CPU, they may be setting up the box in parallel (e.g. with kernel preemption). This could lead to the reference count being increasing too much. Always recheck there is no existing cpu reference inside the lock. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1411424826-15629-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f10e00f4bf360c36edbe6bf18a6c75b171cbe012 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Tue Sep 30 12:23:37 2014 +0400 sched/dl: Use dl_bw_of() under rcu_read_lock_sched() rq->rd is freed using call_rcu_sched(), so rcu_read_lock() to access it is not enough. We should use either rcu_read_lock_sched() or preempt_disable(). Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Fixes: 66339c31bc39 "sched: Use dl_bw_of() under RCU read lock" Link: http://lkml.kernel.org/r/1412065417.20287.24.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 10a12983b3d437a6998b3845870e52c1c752c101 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Oct 1 01:04:44 2014 +0400 sched/fair: Delete resched_cpu() from idle_balance() We already reschedule env.dst_cpu in attach_tasks()->check_preempt_curr() if this is necessary. Furthermore, a higher priority class task may be current on dest rq, we shouldn't disturb it. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140930210441.5258.55054.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 347abad981c1ef815ea5ba861adba6a8c6aa1580 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Sep 30 15:59:47 2014 -0400 sched, time: Fix build error with 64 bit cputime_t on 32 bit systems On 32 bit systems cmpxchg cannot handle 64 bit values, so some additional magic is required to allow a 32 bit system with CONFIG_VIRT_CPU_ACCOUNTING_GEN=y enabled to build. Make sure the correct cmpxchg function is used when doing an atomic swap of a cputime_t. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: umgwanakikbuti@xxxxxxxxx Cc: fweisbec@xxxxxxxxx Cc: srao@xxxxxxxxxx Cc: lwoodman@xxxxxxxxxx Cc: atheurer@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: linux390@xxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140930155947.070cdb1f@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 43f4d66637bc752e93a77ff2536474a5a3888442 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Wed Oct 1 15:38:55 2014 +0200 sched: Improve sysbench performance by fixing spurious active migration Since commit caeb178c60f4 ("sched/fair: Make update_sd_pick_busiest() ...") sd_pick_busiest returns a group that can be neither imbalanced nor overloaded but is only more loaded than others. This change has been introduced to ensure a better load balance in system that are not overloaded but as a side effect, it can also generate useless active migration between groups. Let take the example of 3 tasks on a quad cores system. We will always have an idle core so the load balance will find a busiest group (core) whenever an ILB is triggered and it will force an active migration (once above nr_balance_failed threshold) so the idle core becomes busy but another core will become idle. With the next ILB, the freshly idle core will try to pull the task of a busy CPU. The number of spurious active migration is not so huge in quad core system because the ILB is not triggered so much. But it becomes significant as soon as you have more than one sched_domain level like on a dual cluster of quad cores where the ILB is triggered every tick when you have more than 1 busy_cpu We need to ensure that the migration generate a real improveùent and will not only move the avg_load imbalance on another CPU. Before caeb178c60f4f93f1b45c0bc056b5cf6d217b67f, the filtering of such use case was ensured by the following test in f_b_g: if ((local->idle_cpus < busiest->idle_cpus) && busiest->sum_nr_running <= busiest->group_weight) This patch modified the condition to take into account situation where busiest group is not overloaded: If the diff between the number of idle cpus in 2 groups is less than or equal to 1 and the busiest group is not overloaded, moving a task will not improve the load balance but just move it. A test with sysbench on a dual clusters of quad cores gives the following results: command: sysbench --test=cpu --num-threads=5 --max-time=5 run The HZ is 200 which means that 1000 ticks has fired during the test. With Mainline, perf gives the following figures: Samples: 727 of event 'sched:sched_migrate_task' Event count (approx.): 727 Overhead Command Shared Object Symbol ........ ............... ............. .............. 12.52% migration/1 [unknown] [.] 00000000 12.52% migration/5 [unknown] [.] 00000000 12.52% migration/7 [unknown] [.] 00000000 12.10% migration/6 [unknown] [.] 00000000 11.83% migration/0 [unknown] [.] 00000000 11.83% migration/3 [unknown] [.] 00000000 11.14% migration/4 [unknown] [.] 00000000 10.87% migration/2 [unknown] [.] 00000000 2.75% sysbench [unknown] [.] 00000000 0.83% swapper [unknown] [.] 00000000 0.55% ktps65090charge [unknown] [.] 00000000 0.41% mmcqd/1 [unknown] [.] 00000000 0.14% perf [unknown] [.] 00000000 With this patch, perf gives the following figures Samples: 20 of event 'sched:sched_migrate_task' Event count (approx.): 20 Overhead Command Shared Object Symbol ........ ............... ............. .............. 80.00% sysbench [unknown] [.] 00000000 10.00% swapper [unknown] [.] 00000000 5.00% ktps65090charge [unknown] [.] 00000000 5.00% migration/1 [unknown] [.] 00000000 Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1412170735-5356-1-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 728e5653e6fdb2a0892e94a600aef8c9a036c7eb Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Tue Sep 30 14:45:46 2014 -0700 sched/x86: Fix up typo in topology detection Commit: cebf15eb09a2 ("x86, sched: Add new topology for multi-NUMA-node CPUs") some code to try to detect the situation where we have a NUMA node inside of the "DIE" sched domain. It detected this by looking for cpus which match_die() but do not match NUMA nodes via topology_same_node(). I wrote it up as: if (match_die(c, o) == !topology_same_node(c, o)) which actually seemed to work some of the time, albiet accidentally. It should have been doing an &&, not an ==. This code essentially chopped off the "DIE" domain on one of Andrew Morton's systems. He reported that this patch fixed his issue. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Cc: Lan Tianyu <tianyu.lan@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Link: http://lkml.kernel.org/r/20140930214546.FD481CFF@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9c2b9d30e28559a78c9e431cdd7f2c6bf5a9ee67 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 29 12:12:01 2014 +0200 perf: Fix perf bug in fork() Oleg noticed that a cleanup by Sylvain actually uncovered a bug; by calling perf_event_free_task() when failing sched_fork() we will not yet have done the memset() on ->perf_event_ctxp[] and will therefore try and 'free' the inherited contexts, which are still in use by the parent process. This is bad and might explain some outstanding fuzzer failures ... Suggested-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reported-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reported-by: Sylvain 'ythier' Hitier <sylvain.hitier@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daeseok Youn <daeseok.youn@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140929101201.GE5430@worktop Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 211de6eba8960521e2be450a7d07db85fba4604c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 30 19:23:08 2014 +0200 perf: Fix unclone_ctx() vs. locking The idiot who did 4a1c0f262f88 ("perf: Fix lockdep warning on process exit") forgot to pay attention and fix all similar cases. Do so now. In particular, unclone_ctx() must be called while holding ctx->lock, therefore all such sites are broken for the same reason. Pull the put_ctx() call out from under ctx->lock. Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Probably-also-reported-by: Vince Weaver <vincent.weaver@xxxxxxxxx> Fixes: 4a1c0f262f88 ("perf: Fix lockdep warning on process exit") Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140930172308.GI4241@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 69e8f5b15ef43da1e177665a3e2063711ee4c9de Merge: 07394b5 281f92f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Oct 3 05:29:14 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: * Fix mmap return address truncation to 32-bit in 'perf trace'. (Chang Hyun Park) * Support operations for shared futexes. (Davidlohr Bueso) * Fix error message for --filter option not coming after tracepoint. (Arnaldo Carvalho de Melo) Infrastructure changes: * Refactor unit and scale function parameters for PMU parsing routines. (Matt Fleming) * Improve DSO long names lookup with rbtree, resulting in great speedup for workloads with lots of DSOs. (Waiman Long) * Fix build breakage on arm64 targets. (Will Deacon) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit afaebbdbd48ada5ead707d6a90ce4b604e1d77d4 Author: Feng Kan <fkan@xxxxxxx> Date: Thu Oct 2 11:24:15 2014 -0700 power: reset: corrections for simple syscon reboot driver This patch is to fix some bugs in reboot driver. Which includes auto selection of the MFD_SYSCON for the driver, use of container to locate restart handler, correction of the count down failure timer and ordering of the header file. Signed-off-by: Feng Kan <fkan@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> [ sre: return err instead of 0 in syscon_reboot_probe() ] Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit eee0815dabbdd7d584bea8275f5758d25c97cb9b Merge: 19318c0 91e5649 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 3 11:38:16 2014 +1000 Merge tag 'drm-intel-fixes-2014-10-02' of git://anongit.freedesktop.org/drm-intel into drm-fixes final regression fix for 3.17. * tag 'drm-intel-fixes-2014-10-02' of git://anongit.freedesktop.org/drm-intel: drm/i915: Flush the PTEs after updating them before suspend commit 2374a5399b7263eb1afc6b5522a56ebf9f0b8636 Author: Naveen Krishna Ch <ch.naveen@xxxxxxxxxxx> Date: Tue Sep 16 15:03:17 2014 +0530 i2c: exynos: add support for HSI2C module on Exynos7 The HSI2C module on Exynos7 differs in the transfer status bits. Transfer status bits were moved to INT_ENABLE and INT_STATUS registers This patch adds support for the HSI2C module on Exynos7. 1. Implementes a "hw" field in the variant struct to distinguish the hardware. 2. Updates the dt-new compatible in dt-binding documenation Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 030f940a535433605e6b4ee43f36189e5cace022 Author: Janusz Użycki <j.uzycki@xxxxxxxxxxxxxx> Date: Tue Sep 23 12:48:26 2014 +0200 i2c: mxs: detect No Slave Ack on SELECT in PIO mode i2cdetect scanned i2c bus slow because the i2c-mxs driver ignored the NO_SLAVE_ACK bit during busy-waiting loop. Thanks to the patch, the speedup happens. Signed-off-by: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 86b59bbfae2a895aa26b3d15f31b1a705dbfede1 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Sep 29 17:00:51 2014 -0500 i2c: qup: Fix order of runtime pm initialization The runtime pm calls need to be done before populating the children via the i2c_add_adapter call. If this is not done, a child can run into issues trying to do i2c read/writes due to the pm_runtime_sync failing. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit cf27020d2f253bac6457d6833b97141030f0122a Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Wed Oct 1 10:40:41 2014 -0700 i2c: rk3x: fix 0 length write transfers i2cdetect -q was broken (everything was a false positive, and no transfers were actually being sent over i2c). The way it works is by sending a 0 length write request and checking for NACK. This patch fixes the 0 length writes and actually sends them. Reported-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Max Schwarz <max.schwarz@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit 52177937e9ac4573391143065b250403d3a6ae4b Author: Mark Tinguely <tinguely@xxxxxxx> Date: Fri Oct 3 09:09:50 2014 +1000 xfs: xfs_iflush_done checks the wrong log item callback Commit 3013683 ("xfs: remove all the inodes on a buffer from the AIL in bulk") made the xfs inode flush callback more efficient by combining all the inode writes on the buffer and the deletions of the inode log item from AIL. The initial loop in this patch should be looping through all the log items on the buffer to see which items have xfs_iflush_done as their callback function. But currently, only the log item passed to the function has its callback compared to xfs_iflush_done. If the log item pointer passed to the function does have the xfs_iflush_done callback function, then all the log items on the buffer are removed from the li_bio_list on the buffer b_fspriv and could be removed from the AIL even though they may have not been written yet. This problem is masked by the fact that currently all inodes on a buffer will have the same calback function - either xfs_iflush_done or xfs_istale_done - and hence the bug cannot manifest in any way. Still, we need to remove the landmine so that if we add new callbacks in future this doesn't cause us problems. Signed-off-by: Mark Tinguely <tinguely@xxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 24607f114fd14f2f37e3e0cb3d47bce96e81e848 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Oct 2 16:51:18 2014 -0400 ring-buffer: Fix infinite spin in reading buffer Commit 651e22f2701b "ring-buffer: Always reset iterator to reader page" fixed one bug but in the process caused another one. The reset is to update the header page, but that fix also changed the way the cached reads were updated. The cache reads are used to test if an iterator needs to be updated or not. A ring buffer iterator, when created, disables writes to the ring buffer but does not stop other readers or consuming reads from happening. Although all readers are synchronized via a lock, they are only synchronized when in the ring buffer functions. Those functions may be called by any number of readers. The iterator continues down when its not interrupted by a consuming reader. If a consuming read occurs, the iterator starts from the beginning of the buffer. The way the iterator sees that a consuming read has happened since its last read is by checking the reader "cache". The cache holds the last counts of the read and the reader page itself. Commit 651e22f2701b changed what was saved by the cache_read when the rb_iter_reset() occurred, making the iterator never match the cache. Then if the iterator calls rb_iter_reset(), it will go into an infinite loop by checking if the cache doesn't match, doing the reset and retrying, just to see that the cache still doesn't match! Which should never happen as the reset is suppose to set the cache to the current value and there's locks that keep a consuming reader from having access to the data. Fixes: 651e22f2701b "ring-buffer: Always reset iterator to reader page" Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 77d966f4b02179ad0b7b12179fedbd12b0c4f735 Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Thu Oct 2 23:32:07 2014 +0300 staging: emxx_udc: Use min_t instead of min Use min_t instead of min function in emxx_udc.c Fix checkpatch.pl warnings: WARNING: min() should probably be min_t(u32, iBufSize, ep->ep.maxpacket) WARNING: min() should probably be min_t(u32, data_size, ep->ep.maxpacket) WARNING: min() should probably be min_t(u16, udc->ctrl.wLength, sizeof(status_data)) Changes in v2: - Fixed min function call as min_t Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb71d24bdc3a212a497ff889f25f00c9a9e8546b Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Thu Oct 2 23:32:06 2014 +0300 staging: emxx_udc: Fix replace printk(KERN_DEBUG ..) with dev_dbg This patch fixes "Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG" checkpatch.pl warning in emxx_udc.c Changes in v2: - Fixed dev_debug function call as dev_dbg Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4571c4f6f61730c4f3624b6d3cb9ab042297949b Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Oct 2 22:02:20 2014 +0300 staging: media: Fixed else after return or break warning The following patch fixes the checkpatch.pl warning: drivers/staging/media/omap4iss/iss_csi2.c:811 warning: else is not generally useful after a break or return Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae357388c2b6e9fcdec04a9265968c666a57876b Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Oct 2 22:09:47 2014 +0300 staging: media: omap4iss: Fixed else after return or break warning The following patch fixes the checkpatch.pl warning: drivers/staging/media/omap4iss/iss_ipipe.c:184 warning: else is not generally useful after a break or return Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5d16892243e7755da706d03b34da85ea6a74117 Merge: 3467e76 ad684dc f3354ab 421520b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 21:47:02 2014 +0100 Merge branches 'fiq' (early part), 'fixes', 'l2c' (early part) and 'misc' into for-next commit 421520ba98290a73b35b7644e877a48f18e06004 Author: Yalin Wang <Yalin.Wang@xxxxxxxxxxxxxx> Date: Fri Sep 26 03:07:09 2014 +0100 ARM: 8167/1: extend the reserved memory for initrd to be page aligned This patch extends the start and end address of initrd to be page aligned, so that we can free all memory including the un-page aligned head or tail page of initrd, if the start or end address of initrd are not page aligned, the page can't be freed by free_initrd_mem() function. Signed-off-by: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 562c85cadb065e33ec9f651b8d41cdfd3054a5d0 Author: Yalin Wang <Yalin.Wang@xxxxxxxxxxxxxx> Date: Fri Sep 26 03:30:59 2014 +0100 ARM: 8168/1: extend __init_end to a page align address This patch changes the __init_end address to a page align address, so that free_initmem() can free the whole .init section, because if the end address is not page aligned, it will round down to a page align address, then the tail unligned page will not be freed. Signed-off-by: wang <yalin.wang2010@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d4ac2cfea724d3874ce3f1f624bcd40e78b1a9d4 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Mon Sep 15 20:51:58 2014 +0200 ARM: DTS: meson: update DTSI to add watchdog node Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> commit f3354ab67476dc800463df32e33423158003d80b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Sep 26 09:01:58 2014 +0100 ARM: 8169/1: l2c: parse cache properties from ePAPR definitions When both 'cache-size' and 'cache-sets' are specified for a L2 cache controller node, parse those properties and set up the set size based on which type of L2 cache controller we are using. Update the L2 cache controller Device Tree binding with the optional 'cache-size', 'cache-sets', 'cache-block-size' and 'cache-line-size' properties. These come from the ePAPR specification. Using the cache size, number of sets and cache line size we can calculate desired associativity of the L2 cache. This is done by the calculation: set size = cache size / sets ways = set size / line size way size = cache size / ways = sets * line size associativity = cache size / way size Example output from the PB1176 DT that look like this: L2: l2-cache { compatible = "arm,l220-cache"; (...) arm,override-auxreg; cache-size = <131072>; // 128kB cache-sets = <512>; cache-line-size = <32>; }; Ends up like this: L2C OF: override cache size: 131072 bytes (128KB) L2C OF: override line size: 32 bytes L2C OF: override way size: 16384 bytes (16KB) L2C OF: override associativity: 8 L2C: DT/platform modifies aux control register: 0x02020fff -> 0x02030fff L2C-220 cache controller enabled, 8 ways, 128 kB L2C-220: CACHE_ID 0x41000486, AUX_CTRL 0x06030fff Which is consistent with the value earlier hardcoded for the PB1176 platform. This patch is an extended version based on the initial patch by Florian Fainelli. Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1209bbdff2f6bbffa6eb5823033bbd7b8799a5e2 Author: Pavel Shilovsky <pshilovsky@xxxxxxxxx> Date: Thu Oct 2 20:13:35 2014 +0400 CIFS: Fix readpages retrying on reconnects If we got a reconnect error from async readv we re-add pages back to page_list and continue loop. That is wrong because these pages have been already added to the pagecache but page_list has pages that have not been added to the pagecache yet. This ends up with a general protection fault in put_pages after readpages. Fix it by not retrying the read of these pages and falling back to readpage instead. Fixes debian bug 762306 Signed-off-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> Signed-off-by: Steve French <smfrench@xxxxxxxxx> Tested-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx> commit 19e81573fca7b87ced7701e01ba164b968d929bd Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Sep 25 01:26:55 2014 -0500 Fix problem recognizing symlinks Changeset eb85d94bd introduced a problem where if a cifs open fails during query info of a file we will still try to close the file (happens with certain types of reparse points) even though the file handle is not valid. In addition for SMB2/SMB3 we were not mapping the return code returned by Windows when trying to open a file (like a Windows NFS symlink) which is a reparse point. Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> CC: stable <stable@xxxxxxxxxxxxxxx> #v3.13+ commit bc394a39cbbbce3e9672303d5c5fc3d7c7b93f19 Author: Sarah Khan <sarahjmi07@xxxxxxxxx> Date: Fri Oct 3 01:11:35 2014 +0530 staging: rtl8712: Fixed else not required after return WARNING: Else generally not required after return checkpatch.pl warning in hal_init.c Fixed by removing else Signed-off-by: Sarah Khan <sarahjmi07@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4eaef85670f347be2bf7431227fe2630598884a8 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Tue Sep 30 22:25:11 2014 +0300 staging: rtl8712: Fix missing blank line warning Fixes "Missing a blank line after declarations" checkpatch.pl warning in usb_ops_linux.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f654a7f25a95080d4cf0909c08d840ff0ac6998 Author: Feyza Yavuz <feyzaayavuz@xxxxxxxxx> Date: Wed Oct 1 21:29:52 2014 +0300 staging: rtl8192e: rtl8192e: Remove spaces before the semicolons Patch the following checkpatch.pl warnings drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c:232: warning: space prohibited before semicolon drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c:236: warning: space prohibited before semicolon Signed-off-by: Feyza Yavuz <feyzaayavuz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2e191ebfe9bf5ab4eeae03cd36cc4e3b31aade3 Author: Feyza Yavuz <feyzaayavuz@xxxxxxxxx> Date: Wed Oct 1 21:29:51 2014 +0300 staging: rtl8192e: rtl8192e: Remove unnecessary return statements Patch the following checkpatch.pl warnings drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c:304: warning: void function return statements are not generally useful drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c:83: warning: void function return statements are not generally useful Signed-off-by: Feyza Yavuz <feyzaayavuz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66abf01f1dc18068ca2a8677706aedfac386471d Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Wed Oct 1 00:21:54 2014 +0300 staging: rtl8192e: Remove unneeded void return Fixes "void function return statements are not generally useful"checkpatch.pl warning Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4dc5afdeffd16f1c8352aaf81a35562c62865e84 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Tue Sep 30 22:08:18 2014 +0300 staging: rtl8192e: Fix void function return statements style Fixes "void function return statements are not generally useful"checkpatch.pl warning in rtl819x_HTProc.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f08e47291879fb047d7d4464d2beaedfea4eb63 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Oct 2 12:00:54 2014 -0500 rtlwifi: Fix static checker warnings for various drivers Indenting errors yielded the following static checker warnings: drivers/net/wireless/rtlwifi/rtl8192ee/hw.c:533 rtl92ee_set_hw_reg() warn: add curly braces? (if) drivers/net/wireless/rtlwifi/rtl8192ee/hw.c:539 rtl92ee_set_hw_reg() warn: add curly braces? (if) An unreleased version of the static checker also reported: drivers/net/wireless/rtlwifi/rtl8723be/trx.c:550 rtl8723be_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8188ee/trx.c:621 rtl88ee_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8192ee/trx.c:567 rtl92ee_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8821ae/trx.c:758 rtl8821ae_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8723ae/trx.c:494 rtl8723e_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8192se/trx.c:315 rtl92se_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:392 rtl92ce_rx_query_desc() warn: 'hdr' can't be NULL. All of these are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 989377e1cc9e713822d148d2e638d6c63d8a94b1 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Oct 2 12:00:53 2014 -0500 rtlwifi: Fix Kconfig for RTL8192EE The driver needs btcoexist, but Kconfig fails to select it. This omission could cause build errors for some configurations. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e2cba8d7590e76661e86f1f0987ef9f8c13c9a6d Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:20 2014 +0530 ath9k: Fix flushing in MCC mode When we are attempting to switch to a new channel context, the TX queues are flushed, but the mac80211 queues are not stopped and traffic can still come down to the driver. This patch fixes it by stopping the queues assigned to the current context/vif before trying to flush. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5ba8d9d2f018f2c4e23f9e68b90ca5b9d5470457 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:19 2014 +0530 ath9k: Fix queue handling for channel contexts When a full chip reset is done, all the queues across all VIFs are stopped, but if MCC is enabled, only the queues of the current context is awakened, when we complete the reset. This results in unfairness for the inactive context. Since frames are queued internally in the driver if there is a context mismatch, we can awaken all the queues when coming out of a reset. The VIF-specific queues are still used in flow control, to ensure fairness when traffic is high. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a064eaa10ca4ec58d5a405c9a7f87efc6d2fa423 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:18 2014 +0530 ath9k: Add ath9k_chanctx_stop_queues() This can be used when the queues of a context needs to be stopped. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b39031536aab9cb1324328cf46fa4ef940bd975f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:17 2014 +0530 ath9k: Pass context to ath9k_chanctx_wake_queues() Change the ath9k_chanctx_wake_queues() API so that we can pass the channel context that needs its queues to be stopped. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4f82eecf73019c27537f65c160e90385e159afd8 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:16 2014 +0530 ath9k: Fix queue handling in flush() When draining of the TX queues fails, a full HW reset is done. ath_reset() makes sure that the queues in mac80211 are restarted, so there is no need to wake them up again. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 60913f4d2951f6410eed969aae4717c7ced37044 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:15 2014 +0530 ath9k: Remove duplicate code ath9k_has_tx_pending() can be used to check if there are pending frames instead of having duplicate code. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fc1314c75e0558c03cb434e2af2c257caa201e76 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:14 2014 +0530 ath9k: Fix pending frame check Checking for the queue depth outside of the TX queue lock is incorrect and in this case, is not required since it is done inside ath9k_has_pending_frames(). Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b736728575af03488388e84fceac7bf0eac5dbb6 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:13 2014 +0530 ath9k: Check pending frames properly There is no need to check if the current channel context has active ACs queued up if the TX queue is not empty. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4b60af4ab4363bd79eeba94bb6bed396cf2aaf62 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:12 2014 +0530 ath9k: Print RoC expiration Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 739e4a758e0e2930f4bcdddd244254bae8dd7499 Merge: d068b02 50dddff Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 2 11:25:43 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/usb/r8152.c net/netfilter/nfnetlink.c Both r8152 and nfnetlink conflicts were simple overlapping changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 030bb75a1db4030a5ce91e93b82e00966e8b6522 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Oct 1 10:55:26 2014 -0700 mwifiex: add support for SD8887 chipset This patch adds SD8887 support to mwifiex. SD8887 is Marvell's 1x1 11ac solution. The corresponding firmware image file is located at: "mrvl/sd8887_uapsta.bin" Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Frank Huang <frankh@xxxxxxxxxxx> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 554a0113ccb149e3d04ceb608114a3425c507f00 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Oct 1 10:55:25 2014 -0700 mwifiex: few more register offset entries for sdio card structure This patch adds some more defitions to card specific register structure and removes static defines for these registers. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dba4b74d2da8798626e2b702ad3f452671e335f7 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Oct 1 15:05:25 2014 +0300 wil6210: atomic I/O for the card memory Introduce netdev IOCTLs, to be used by the debug tools. Allows to read/write single dword value or memory block, aligned to dword Different address modes supported: - BAR offset - Firmware "linker" address - target's AHB bus Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c33407a8c50430f1634a8809f9528b6888360e56 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Oct 1 15:05:24 2014 +0300 wil6210: manual FW error recovery mode Introduce manual FW recovery mode. It is activated if module parameter @no_fw_recovery set to true. May be changed at runtime. Recovery information provided by new "recovery" debugfs file. It prints: mode = [auto|manual] state = [idle|pending|running] In manual mode, after FW error, recovery won't start automatically. Instead, after notification to user space, recovery waits in "pending" state, as indicated by the "recovery" debugfs file. User space tools may perform data collection and allow to continue recovery by writing "run" to the "recovery" debugfs file. Alternatively, recovery pending may be canceled by stopping network interface i.e. 'ifconfig wlan0 down' Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e6664dff0608440f117b0348594b887cb9725e4f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Sep 27 13:27:45 2014 +0530 ath: Add support for tracing Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5dc0158a27f65e7efaa6e3cc496d93b4c4c65d19 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Sep 19 16:46:05 2014 +0530 ASoC: Export dapm_kcontrol_get_value The DSP driver needs to know widget control value in its event handler for widgets like mixers. This is required in the subsequent patches Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f6cd071891c5c7971866fda8340202b73ce35206 Merge: 574a793 9c238ca Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Thu Oct 2 13:56:19 2014 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 78410af51146796f783925009c8676a30d6c6d90 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Oct 2 10:32:15 2014 -0400 tile: add clock_gettime support to vDSO This change adds support for clock_gettime with CLOCK_REALTIME and CLOCK_MONOTONIC using vDSO. It also updates the vdso struct nomenclature used for the clocks to match the x86 code to keep it easier to update going forward. We also support the *_COARSE clockid_t, for apps that want speed but aren't concerned about fine-grained timestamps; this saves about 20 cycles per call (see http://lwn.net/Articles/342018/). Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> commit f439ed27f8b8b90d243ae15acb193d37f96eebe0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Oct 2 13:53:24 2014 +0200 kvm: do not handle APIC access page if in-kernel irqchip is not in use This fixes the following OOPS: loaded kvm module (v3.17-rc1-168-gcec26bc) BUG: unable to handle kernel paging request at fffffffffffffffe IP: [<ffffffff81168449>] put_page+0x9/0x30 PGD 1e15067 PUD 1e17067 PMD 0 Oops: 0000 [#1] PREEMPT SMP [<ffffffffa063271d>] ? kvm_vcpu_reload_apic_access_page+0x5d/0x70 [kvm] [<ffffffffa013b6db>] vmx_vcpu_reset+0x21b/0x470 [kvm_intel] [<ffffffffa0658816>] ? kvm_pmu_reset+0x76/0xb0 [kvm] [<ffffffffa064032a>] kvm_vcpu_reset+0x15a/0x1b0 [kvm] [<ffffffffa06403ac>] kvm_arch_vcpu_setup+0x2c/0x50 [kvm] [<ffffffffa062e540>] kvm_vm_ioctl+0x200/0x780 [kvm] [<ffffffff81212170>] do_vfs_ioctl+0x2d0/0x4b0 [<ffffffff8108bd99>] ? __mmdrop+0x69/0xb0 [<ffffffff812123d1>] SyS_ioctl+0x81/0xa0 [<ffffffff8112a6f6>] ? __audit_syscall_exit+0x1f6/0x2a0 [<ffffffff817229e9>] system_call_fastpath+0x16/0x1b Code: c6 78 ce a3 81 4c 89 e7 e8 d9 80 ff ff 0f 0b 4c 89 e7 e8 8f f6 ff ff e9 fa fe ff ff 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 90 <48> f7 07 00 c0 00 00 55 48 89 e5 75 1e 8b 47 1c 85 c0 74 27 f0 RIP [<ffffffff81193045>] put_page+0x5/0x50 when not using the in-kernel irqchip ("-machine kernel_irqchip=off" with QEMU). The fix is to make the same check in kvm_vcpu_reload_apic_access_page that we already have in vmx.c's vm_need_virtualize_apic_accesses(). Reported-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Tested-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Fixes: 4256f43f9fab91e1c17b5846a240cf4b66a768a8 Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 12636551a2d9361e188c8fe280d2a3d90bac4e35 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Tue Sep 30 21:35:59 2014 +0300 staging: rtl8712: Fix unnecessary parentheses style warning This fixes the following checkpatch.pl warning: drivers/staging/rtl8712/rtl871x_recv.c:634 warning: Unnecessary parentheses - maybe == should be = ? Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 042b623cf57a7c381326bdfe1db046e9b0b8517f Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Tue Sep 30 20:43:16 2014 +0300 staging: rtl8192e: Fix unnecessary space before function pointer arguments This patch fixes these warning messages found by checkpatch.pl: WARNING: Unnecessary space before function pointer arguments Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84780ecdf6c46909c6a4f06635c953f8d8d635f7 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Tue Sep 30 20:43:15 2014 +0300 staging: rtl8192e: Array was made static const char * const This patch fixes checkpatch.pl error in file rtllib.h WARNING: static const char * array should probably be static const char * const Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1ffa894cd35c402d41c4a12d7eaaaf69d7bfb3e Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 20:32:08 2014 +0300 staging: ft1000: ft1000-usb: Removed unnecessary else statement. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in ft1000_download.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c89e6be7118da01b3e4b7cf44c0f06ab42cbe2d9 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 20:32:07 2014 +0300 staging: ft1000: ft1000-usb: Removed unnecessary else statement. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in ft1000_hw.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3636ce82dbec023a775246a2d395744ed1f03f07 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 20:32:06 2014 +0300 staging: ft1000: ft1000-usb: Removed unnecessary parentheses. This patch fixes "Unnecessary parentheses" checkpatch.pl warning in ft1000_hw.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6254e1c06231259357b811c934ded22a2fd9f763 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 20:32:05 2014 +0300 staging: ft1000: ft1000-usb: Added new line after declarations. This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in ft1000_hw.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dab5aeebdd040f4efbc1cd111fe38bb8905d26c7 Author: Esra Altintas <es.altintas@xxxxxxxxx> Date: Mon Sep 29 21:55:06 2014 +0300 staging: vt6655: Fixed C99 // comment errors in wpactl.c The following patch fixes the checkpatch.pl warning: ERROR: do not use C99 // comments Signed-off-by: Esra Altintas <es.altintas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f79b0d9c223ca09cefffc72304a7bcbc401a1c6f Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Wed Oct 1 01:24:01 2014 +0300 staging: speakup: Fixed warning <linux/serial.h> instead of <asm/serial.h> This patch fixes warning: 'use <linux/serial.h> instead <asm/serial.h>' found by checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a9c77d8c882f04a147c2a75bbc2a1fd9b63a66a Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Wed Oct 1 01:36:29 2014 +0300 staging: speakup: Fix missing blank line warning Fixes "Missing a blank line after declarations" checkpatch.pl warning in varhandlers.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07f113b5d5a86bb5398b7b513b2ff160039d7798 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Thu Oct 2 18:20:35 2014 +0300 staging: rts5208: remove unnecessary else This fixes the checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4525284742fe11426da23d8d0eb4946ed84d84be Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Thu Oct 2 18:20:34 2014 +0300 staging: rts5208: remove unnecessary else This fixes the checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4dae2a4fcafcbea0f5787e2dcab2ec808f21e29d Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Wed Oct 1 00:31:06 2014 +0300 staging: rts5208: Remove unneeded void return Fixes "void function return statements are not generally useful"checkpatch.pl warning Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb0f20a7e871743380b2cbaaf35281775567e88c Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Mon Sep 29 21:28:02 2014 +0300 staging: rts5208: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in rtsx_scsi.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e245b904186b3514e4e2eec0d58ad6b095c5daab Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Oct 2 15:59:19 2014 +0530 Staging: iio: adc: Update Kconfig entries adding module name information This patch fixes the following checkpatch.pl warning: WARNING: please write a paragraph that describes the config symbol fully Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e4b49234d7da14933ca7ad07cb6a938406c7342 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Oct 2 11:20:20 2014 +0530 Staging: iio: adc: Add missing blank line This fixes following checkpatch.pl warningi: WARNING: Missing a blank line after declarations Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97088bb3f7adf55a38e03fc0050beb77a676bf33 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Oct 2 02:35:38 2014 +0300 staging: iio: resolver: Annotate Kconfig entries with module name information This fixes the following checkpatch.pl warning: WARNING: please write a paragraph that describes the config symbol fully Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa27f0ba0fac819083c505c85021dc19d2b53083 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Wed Oct 1 00:09:11 2014 +0300 staging: iio: addac: Combined seperated strings. This patch fixes "quoted string split across lines" checkpatch.pl warning in adt7316.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 042e0e463c48765692fa4813a9a26748ca1b1917 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Wed Oct 1 00:09:10 2014 +0300 staging: iio: accel: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in adis16220_core.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e09b142e2b43f151f795579e6dbf1a3db0e74403 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 30 23:04:59 2014 +0530 Staging: iio: meter: Remove space before start of line This patch removes spaces before start of the line reported by checkpatch.pl Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8594e07c3c7fa08969e97c926c6826eaa94401e6 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 30 23:04:58 2014 +0530 Staging: iio: meter: Delete white spaces to make line shorter Found using checkpatch warning. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1592bfd203dc07dc1d58e7849402ef46d09f42dd Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 30 20:22:56 2014 +0530 Staging: iio: meter: Add blank line after declarations This patch adds a blank line after declarations found by checkpatch warning. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6f0a3ab16a050c2572f6e81e1199d442d8ead9d Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 30 20:22:57 2014 +0530 Staging: iio: meter: Add blank line after declarations. This patch adds a blank line after declarations to fix checkpatch warning. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0604719c956c5be3964558b990c025746b736b8 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 30 20:22:58 2014 +0530 Staging: iio: meter: Add a blank line after declarations Patch fixes warning and adds a blank line after declarations Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15c643661bf65176efd8349f0ad2bf096b915da1 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Tue Sep 30 12:36:29 2014 +0300 staging: iio: addac: remove unnecessary else This fixes the checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61e15f010e4a3647043e55e41f60197ba4aa9b4f Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 22:12:23 2014 +0300 staging: octeon: Combined seperate strings. This patch fixes "quoted string split across lines" checkpatch.pl warning in ethernet-rx.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42e0e19d5d5877ea6507aafcd8ff59c1fe6e2f59 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 22:12:22 2014 +0300 staging: octeon: Combined seperate strings. This patch fixes "quoted string split across lines" checkpatch.pl warning in ethernet-rgmii.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56e1ccac5fe3bcd106fd04b86e18b1e4ec35ea82 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 14:39:51 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it was not used by other files. The patch fixes the warning: WARNING: symbol 'brw_fill_bulk' was not declared. Should it be static? The above warning was reported by sparse. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43311238ce5864a8b01d35931d63da14044a2c0d Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 14:39:02 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it was not used by other files. The patch fixes the warning: WARNING: symbol 'brw_check_page' was not declared. Should it be static? The above warning was reported by sparse. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e3e133d2ec87e9c0b82d338e4491f766c1113b1 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 14:38:17 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it was not used by other files. The patch fixes the warning: WARNING: symbol 'brw_fill_page' was not declared. Should it be static? The above warning was reported by sparse. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4b2d88a08c64fd57ff93a0f21db87d4c7c35bac Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 14:37:36 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it is not used by other files. The patch fixes the following warning: WARNING: symbol brw_inject_one_error was not declared. Should it be static? The above warning was reported by sparse. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5bd05041631f6045130224eba1f50ef1c269826 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 14:36:27 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it was not used by other files. The patch fixes the following warning: WARNING: symbol brw_client_init was not declared. Should it be static? The above warning was reported by sparse. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28f54a86138fbc331083a3c11eab59996549f6d8 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 13:39:28 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it was not used by other files and not declared in the same file. It fixes the following warning: WARNING: symbol 'lstcon_init_acceptor_service' was not declared. Should it be static? The above warning was given by sparse. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4de8e0d8171a6657c748e15914abbf60846c5ace Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 21:59:20 2014 +0300 staging: lustre: include: linux: libcfs: linux: Removed line continuations. This patch fixes "Avoid unnecessary line continuations" checkpatch.pl warning in linux-time.h Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa44eae464430475334264e3045d42b708c5a6d7 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 21:59:21 2014 +0300 staging: lustre: include: linux: libcfs: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning libcfs.h Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2ad80e45b8170f0cb332aaa6e51b9596282bb38 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 21:59:19 2014 +0300 staging: lustre: include: linux: libcfs: linux: Used "linux" instead of "asm". This patch fixes "Use #include <linux/uaccess.h> instead of <asm/uaccess.h"> checkpatch.pl warning in libcfs.h Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bcb5bd899dbd2704e063608af01d529aae8d693 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:03:12 2014 +0530 staging: lustre: lustre: obdclass: linux: include <linux/*.h> instead of <asm/*.h> This patch fixes checpatch.pl warning in linux-module.c file. WARNING: Use #include <linux/io.h> instead of <asm/io.h> WARNING: Use #include <linux/poll.h> instead of <asm/poll.h> WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b7566d9dfb1c6f05d7390ddf42b449a2b36bad5 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:02:46 2014 +0530 staging: lustre: lnet: lnet: Remove space between function name and open paranthesis '(' This patch fixes checpatch.pl warning in api-ni.c file. WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c1d2535db8f1490d9e4aa9c8e0297daa6d05c31 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:02:23 2014 +0530 staging: lustre: lnet: lnet: Remove unnecessary else after return This patch fixes checpatch.pl warning in acceptor.c file. WARNING: else is not generally useful after a break or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f12ebb3911d742e5c217df52b3f1a3c224f566f9 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:01:59 2014 +0530 staging: lustre: include: linux: libcfs: Remove spaces at the start of a line This patch fixes checpatch.pl warning in file libcfs_cpu.h WARNING: please, no spaces at the start of a line Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84dd801ef2ec6dceefbcfd917b90cb83b036fd56 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:01:39 2014 +0530 staging: lustre: include: linux: libcfs: Remove intialization of static to 0 This patch fixes checpatch.pl error in file libcfs_time.h ERROR: do not initialise statics to 0 or NULL Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd9176527e78ad9358fcf76011bbede0eb4974f8 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:01:14 2014 +0530 staging: lustre: include: linux: libcfs: use __packed instead of __attribute__((packed)) This patch fixes checpatch.pl warning in libcfs_debug.h file. WARNING: __packed is preferred over __attribute__((packed)) Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7b33ff4031fe72319228e572f43ddcd8f19af7c Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:51 2014 -0400 staging: unisys: Fix CamelCase in uislib_force_channel_interrupt() Fix CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0dd33f34c2417fb9c3da7d1abcbaed91da92cfc Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:50 2014 -0400 staging: unisys: Fix CamelCase in uislib_disable_channel_interrupts() Fix CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93d1304fed13b05f39ccfbed2e60f4d06d4584dc Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:49 2014 -0400 staging: unisys: Fix CamelCase in uislib_enable_channel_interrupts() Fix CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ec8599769aea5ca2ae471f74ec5b1fd3c3cf9ef Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:48 2014 -0400 staging: unisys: Fix CamelCase in Issue_VMCALL_FATAL_BYE_BYE() Fix Camelcase name: Issue_VMCALL_FATAL_BYE_BYE => issue_vmcall_fatal Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b591ebf220e5dbf60ca8854337030c4d56520e99 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:47 2014 -0400 staging: unisys: Fix CamelCase in Issue_VMCALL_CHANNEL_MISMATCH() Fix CamelCase names: Issue_VMCALL_CHANNEL_MISMATCH => issue_vmcall_channel_mismatch ChannelName => chname ItemName => item_name SourceLineNumber => line_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8fd990204db5e3c87b15e8641417cff31b56f94 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:46 2014 -0400 staging: unisys: Fix CamelCase in Issue_VMCALL_UPDATE_PHYSICAL_TIME() Fix CamelCase names: Issue_VMCALL_UPDATE_PHYSICAL_TIME => issue_vmcall_update_physical_time Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f06ae67c5ffc6a7c9810729ac1b679a4ebe01cf3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:45 2014 -0400 staging: unisys: fix CamelCase in Issue_VMCALL_MEASUREMENT_DO_NOTHING() Fix CamelCase names: Issue_VMCALL_MEASUREMENT_DO_NOTHING => issue_vmcall_measurement_do_nothing Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e76446ea633e8bece4a06ab3e33e7c5681142690 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:44 2014 -0400 staging: unisys: fix Issue_VMCALL_QUERY_GUEST_VIRTUAL_TIME_OFFSET() Fix CamelCase names: Issue_VMCALL_QUERY_GUEST_VIRTUAL_TIME_OFFSET => issue_vmcall_query_guest_virtual_time_offset Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8359367ed9373a69343c5b97b5f4beef636635ca Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:43 2014 -0400 staging: unisys: Fix CamelCase in Issue_VMCALL_IO_VISORSERIAL_ADDR() Fix CamelCase names: Issue_VMCALL_IO_VISORSERIAL_ADDR => issue_vmcall_io_visorserial_addr DiagChannelAddress => channel_addr Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 007ef59b1e6a67a46d67d6a92c8c4b96dc6dd1ba Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:42 2014 -0400 staging: unisys: Fix CamelCase Issue_VMCALL_IO_DIAG_ADDR() Fix CamelCase names: Issue_VMCALL_IO_DIAG_ADDR => issue_vmcall_io_diag_addr DiagChannelAddress => diag_channel_addr Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74658c562132d411a5ac4af118eafcc450493d26 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:41 2014 -0400 staging: unisys: Fix CamelCase in Issue_VMCALL_IO_CONTROLVM_ADDR() Fix CamelCase names: Issue_VMCALL_IO_CONTROLVM_ADDR => issue_vmcall_io_controlvm_addr ControlAddress => control_addr ControlBytes => control_bytes Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03ec49dcdafe9c55ab871e0abaf5c1ac4247d832 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:27 2014 -0400 staging: unisys: fix CamelCase in uisctrl_register_req_handler Fix CamelCase names: chipset_driverInfo => chipset_driver_info Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eea94b3a3f449e17325f0cc271631ed27445e1e3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:17 2014 -0400 staging: unisys: get rid of typedef for EVENT_PC Just switch EVENT_PC over to enum event_pc. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 765efdb9170263a1fa202d873e15bfbbf1ec6a86 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:16 2014 -0400 staging: unisys: get rid of typedef for DRIVER_PC Simply switch DRIVER_PC to enum driver_pc. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ecf6d2a3b623dfdc527a1bd276d84b1674d1a9f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:15 2014 -0400 staging: unisys: remove doubled blank lines in guestlinuxdebug.h Take out those doubled blank lines in guestlinuxdebug.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 534429dbb9a4d0ff4fad2617dda2a19ee71365a8 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:14 2014 -0400 staging: unisys: fix CamelCase in bus_device_info_init() Fix CamelCase names: BusDeviceInfo_Init => bus_device_info_init pBusDeviceInfo => bus_device_info_ptr deviceType => dev_type driverName => driver_name verTag => ver_tag Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a56db94c7e07d275f61472f5b06b100638d3375d Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:13 2014 -0400 staging: unisys: fix copyright symbol in vbushelper.h The copyright character in vbushelper.h isn't UTF-8 - swap it out for a good, old-fashioned (C). Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 191126ac505e09e58608b040ac901b62fe11f0f2 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:12 2014 -0400 staging: unisys: fix line spacing in uniklog.h Take out the doubled blank lines in uniklog.h, too. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d559f2cf4d16f162ca8d35df42d41bce97c82de5 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:11 2014 -0400 staging: unisys: remove excess blank lines in uisthread.h Take out those doubled blank lines in uisthread.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62dd4cf01a99ad77f0e39c12b2240143d5ededb3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:10 2014 -0400 staging: unisys: fix up CamelCase in struct init_chipset_guestpart Fix up CamelCase names: busCount => bus_count switch_count => switch_count Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8bd352ef0a71432a17dffa6bfe87b46db86d1546 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:09 2014 -0400 staging: unisys: clean up CamelCase names in struct add_virt_guestpart Clean up CamelCase names: busNo => bus_no deviceNo => device_no devInstGuid => instance_uuid Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a990356d21a6032d49441472f1e2240ba6325cf7 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:08 2014 -0400 staging: unisys: fix CamelCase in struct del_vbus_guestpart Fix up CamelCase names: busNo => bus_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0014c3ccdab1441972bfa6d8296e0c3bf61ad854 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:06 2014 -0400 staging: unisys: fix CamelCase definitions in struct io_msgs Clean up CamelCase names: extPort => ext_port Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7867499b13d6f79aa8e873a417331d427eb75f9f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:05 2014 -0400 staging: unisys: fix CamelCase names in del_virt_iopart Clean up CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3af0c34f6b9858e5d313192443df2b5d17a7f802 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:04 2014 -0400 staging: unisys: fix CamelCase in del_vdisk_iopart Fix CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 057546f02e003c6dc242b85a1c766c68ec6b04fb Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:03 2014 -0400 staging: unisys: fix CamelCase names in struct add_vdisk_iopart Fix CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44589920d0af06fabcec6a5fe599ce492d66fc48 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:02 2014 -0400 staging: unisys: clean up CamelCase in struct add_virt_iopart Clean up CamelCase names: guestHandle => guest_handle recvBusInterruptHandle => recv_bus_irq_handle useG2GCopy => use_g2g_copy Filler => filler busNo => bus_no dev_no => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6d40f42586f19ca0bbca1c748f602781f0cf93a Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:01 2014 -0400 staging: unisys: fix CamelCase struct name NetworkPolicy Clean up CamelCase name: NetworkPolicy => network_policy Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 059ec04b64470ed4801940d91b4f1343010f1ec3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:00 2014 -0400 staging: unisys: clean up CamelCase in DEDICATED_SWITCH() macro Clean up CamelCase names: pSwitch => s Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f796e84cc92f90bcf266f1418311518e21ebf2fc Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:58 2014 -0400 staging: unisys: fix CamelCase in struct device_info Clean up CamelCase names: channelAddr => channel_addr channelBytes => channel_bytes channelTypeGuid => channel_uuid devInstGuid => instance_uuid busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1e72291082edeeeb436bdfa5cf9bc6884e9d5c9 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:55 2014 -0400 staging: unisys: remove uisqueue_send_int_if_needed() This function is not used anywhere, so remove it. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21f8c6b845e4dda0f456a0ec159455540f5376c7 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:54 2014 -0400 staging: unisys: fix CamelCase in uisqueue_put_cmdrsp_with_lock_client Clean up CamelCase names: issueInterruptIfEmpty => issue_irq_if_empty interruptHandle => irq_handle Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82dd8152efc4bd8e8cce27df23ef033b24148616 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:53 2014 -0400 staging: unisys: Clean up CamelCase in send_int_if_needed() Clean up CamelCase names: issueInterruptIfEmpty => issue_irq_if_empty interruptHandle => irq_handle Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 833c7255cebceefe3208290c4a06456ad743fa59 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:52 2014 -0400 staging: unisys: fix CamelCase names in struct uisqueue_info Clean up CamelCase names: Reserved1 => reserved1 Reserved2 => reserved2 Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17f5e49167cfca5c2c0d04863b8373736448238b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:51 2014 -0400 staging: unisys: fix camelcase function uisqueue_InterlockedOr() Clean up CamelCase names: uisqueue_InterlockedOr => uisqueue_interlocked_or Target => tgt Set => set Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3f3b1f2a0f6083e633e1c8269765014cb5e7296 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:50 2014 -0400 staging: unisys: remove timskmodutils.h Remove the entire timskmodutils.h file as it had a lot of checkpatch.pl strict warnings and checks, and nearly all of the functions were not used anywhere. The unisys_spar_platform variable was moved to timskmod.h. References to the removed timskmodutils.h were switched to timskmod.h instead. The unused visor_seq_file_new_buffer() and visor_seq_file_done_buffer() functions defined in timskmodutils.h were implemented in visorkmodutils.c, so these were removed as well. This patch will generate a warning about updating MAINTAINERS, but there does not seem to be any need for that. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69ee73aab046e6eb1708a02bc5cfe12346494ff0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:49 2014 -0400 staging: unisys: fix spacing in timskmod.h macro Adds in some missing spaces in the max macro in timskmod.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 132b8f9a351767289bc6bd91f2d029c53610d73f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:48 2014 -0400 staging: unisys: remove stray blank line in timskmod.h Just cleaning up the extra blank line from here. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdee662e618250ef8c6ea10ad102c620af39f326 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:47 2014 -0400 staging: unisys: remove unused locking functions in timskmod.h Delete a block of unused locking functions from timskmod.h. These functions generated a lot of checkpatch warnings and were not being used anyhow. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c5653b7de5ea101dff407fd09840710917aa19b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:46 2014 -0400 staging: unisys: remove typedef for PERIODIC_WORK In periodic_work.h, remove the typedef PERIODIC_WORK and replace it with struct periodic_work, and update functions used to manipulate the structure to use the new name. The functions used to manipulate the PERIODIC_WORK type are updated to use the fixed name, corrected for clarity, and changed to not use periodic_work as the parameter's name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 239436eb0f2cdf8122cd1e92c50683ba38842834 Author: Benjamin Romer <bromer@xxxxxxxxxxx> Date: Tue Sep 30 12:07:45 2014 -0400 staging: unisys: delete extra blank lines in periodic_work.h Remove the extra blank lines from before the first comment. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f39100e121273646ae07e380175dbe5b9c6eda41 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Oct 2 22:58:33 2014 +0800 drivers/staging/unisys: Let all IOMEM related modules depend on HAS_IOMEM UNISYS_UISLIB, UNISYS_VISORCHIPSET, and UNISYS_VISORUTIL need HAS_IOMEM, so depend on it. One of related error (with allmodconfig under um): CC [M] drivers/staging/unisys/uislib/uislib.o In file included from drivers/staging/unisys/uislib/uislib.c:34:0: drivers/staging/unisys/include/uisutils.h: In function â??dbg_ioremap_cacheâ??: drivers/staging/unisys/include/uisutils.h:88:2: error: implicit declaration of function â??ioremap_cacheâ?? [-Werror=implicit-function-declaration] new = ioremap_cache(addr, size); ^ drivers/staging/unisys/include/uisutils.h:88:6: warning: assignment makes pointer from integer without a cast [enabled by default] new = ioremap_cache(addr, size); ^ drivers/staging/unisys/include/uisutils.h: In function â??dbg_ioremapâ??: drivers/staging/unisys/include/uisutils.h:99:2: error: implicit declaration of function â??ioremapâ?? [-Werror=implicit-function-declaration] new = ioremap(addr, size); ^ drivers/staging/unisys/include/uisutils.h:99:6: warning: assignment makes pointer from integer without a cast [enabled by default] new = ioremap(addr, size); ^ drivers/staging/unisys/include/uisutils.h: In function â??dbg_iounmapâ??: drivers/staging/unisys/include/uisutils.h:108:2: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(addr); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aff6de0519e4b2432a187063b8acf52dc78e0444 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Oct 2 11:13:53 2014 +0300 staging: unisys: common-spar: Fix missing blank line warning Fixes "Missing a blank line after declarations" checkpatch.pl warning Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cd36ed5b4f9480e4515c13900b142e7d3a23516 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 29 15:49:25 2014 +0530 Staging: unisys: Add missing blank line This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 446393e9602d3b32515ca107f3c004194cb690f3 Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Wed Oct 1 23:04:48 2014 +0300 staging: dgnc: Fix do not add new typedefs This patch fixes "do not add new typedefs" checkpatch.pl warning in dgnc_types.h Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fad9641abbee80f0c8ff0c726eca7255c338319 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Tue Sep 30 17:36:57 2014 +0300 staging: dgnc: Fix no spaces at the start of a line in dpacompat.h The following patch the checkpatch.pl warning: drivers/staging/dgnc/dpacompat.h:27 warning: please, no spaces at the start of a line Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0eaa02e66d7059cd4e08171a2cc6f8a0ec677ce1 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 29 14:12:28 2014 +0530 Staging: dgnc: Add missing blank line This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c4019d3e0d77c8992225efe4fc7420677b8ab40 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 29 14:10:41 2014 +0530 Staging: dgnc: Remove unnecessary braces This fixes the following checkpatch.pl warnings: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c313fe2c346d08246851f7441e68744d5c329497 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 29 14:07:00 2014 +0530 Staging: dgnc: Remove return in void function This fixes the following checkpatch.pl warnings: WARNING: void function return statements are not generally useful Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 372d5b5607074dc8fa6c495f56a4ae3e9a300f79 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 29 14:47:45 2014 +0200 staging/lustre/lvfs: fix building without CONFIG_PROC_FS Patch "staging/lustre/lvfs: remove the lvfs layer" moved some code around that was previously only built when CONFIG_PROC_FS was set, which now causes an invalid access to the obd_memory variable: ERROR: "obd_memory" [drivers/staging/lustre/lustre/obdclass/obdclass.ko] undefined! This fixes it by using adding a compile-time check around the access. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: fdedd94509fd ("staging/lustre/lvfs: remove the lvfs layer") Cc: James Simmons <uja.ornl@xxxxxxxxx> Cc: Mikhail Pershin <mike.pershin@xxxxxxxxx> Cc: John L. Hammond <john.hammond@xxxxxxxxx> Cc: Jian Yu <jian.yu@xxxxxxxxx> Cc: Bob Glossman <bob.glossman@xxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e31981a13dcef28fcbe18d274375a8cc081843d6 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Mon Sep 29 13:51:51 2014 +0530 Staging: bcm: Removed unnecessary else. The following patch fixes the checkpatch.pl warning: WARNING: else is not generally useful after a break or return. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50b47bbd43510d754e86f0f590488d67f39f4374 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Tue Sep 30 20:36:06 2014 +0530 Staging: media: omap24xx: Merge two lines and remove unused variable This patch merges two lines and removes a variable that becomes unused after merging. Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07dcc686fa8f6667dec4696804cdb43a90267b9a Author: Simon Horman <horms@xxxxxxxxxxxx> Date: Tue Sep 30 10:50:06 2014 +0900 ipvs: Clean up comment style in ip_vs.h * Consistently use the multi-line comment style for networking code: /* This * That * The other thing */ * Use single-line comment style for comments with only one line of text. * In general follow the leading '*' of each line of a comment with a single space and then text. * Add missing line break between functions, remove double line break, align comments to previous lines whenever possible. Reported-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4b7fd5d97ee6e599247b4a55122ca6ba80c8148d Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Oct 2 11:13:21 2014 +0200 netfilter: explicit module dependency between br_netfilter and physdev You can use physdev to match the physical interface enslaved to the bridge device. This information is stored in skb->nf_bridge and it is set up by br_netfilter. So, this is only available when iptables is used from the bridge netfilter path. Since 34666d4 ("netfilter: bridge: move br_netfilter out of the core"), the br_netfilter code is modular. To reduce the impact of this change, we can autoload the br_netfilter if the physdev match is used since we assume that the users need br_netfilter in place. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 36d2af5998258344993dd43729997a7a3baa9d99 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Oct 1 20:34:37 2014 +0200 netfilter: nf_tables: allow to filter from prerouting and postrouting This allows us to emulate the NAT table in ebtables, which is actually a plain filter chain that hooks at prerouting, output and postrouting. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 756c1b1a7f20a42a559b40b3b77db5afcbb719d6 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Jun 17 21:18:44 2014 +0200 netfilter: nft_compat: remove incomplete 32/64 bits arch compat code This code was based on the wrong asumption that you can probe based on the match/target private size that we get from userspace. This doesn't work at all when you have to dump the info back to userspace since you don't know what word size the userspace utility is using. Currently, the extensions that require arch compat are limit match and the ebt_mark match/target. The standard targets are not used by the nft-xt compat layer, so they are not affected. We can work around this limitation with a new revision that uses arch agnostic types. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1b1bc49c0fc0501bf0d1366a2a5e5c1f8dcf9cb1 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Oct 1 13:53:20 2014 +0200 netfilter: nf_tables: wait for call_rcu completion on module removal Make sure the objects have been released before the nf_tables modules is removed. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1109a90c01177e8f4a5fd95c5b685ad02f1fe9bb Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Oct 1 11:19:17 2014 +0200 netfilter: use IS_ENABLED(CONFIG_BRIDGE_NETFILTER) In 34666d4 ("netfilter: bridge: move br_netfilter out of the core"), the bridge netfilter code has been modularized. Use IS_ENABLED instead of ifdef to cover the module case. Fixes: 34666d4 ("netfilter: bridge: move br_netfilter out of the core") Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c8d7b98bec43faaa6583c3135030be5eb4693acb Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Sep 26 14:35:15 2014 +0200 netfilter: move nf_send_resetX() code to nf_reject_ipvX modules Move nf_send_reset() and nf_send_reset6() to nf_reject_ipv4 and nf_reject_ipv6 respectively. This code is shared by x_tables and nf_tables. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 51b0a5d8c21a91801bbef9bcc8639dc0b206c6cd Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Sep 26 14:35:14 2014 +0200 netfilter: nft_reject: introduce icmp code abstraction for inet and bridge This patch introduces the NFT_REJECT_ICMPX_UNREACH type which provides an abstraction to the ICMP and ICMPv6 codes that you can use from the inet and bridge tables, they are: * NFT_REJECT_ICMPX_NO_ROUTE: no route to host - network unreachable * NFT_REJECT_ICMPX_PORT_UNREACH: port unreachable * NFT_REJECT_ICMPX_HOST_UNREACH: host unreachable * NFT_REJECT_ICMPX_ADMIN_PROHIBITED: administratevely prohibited You can still use the specific codes when restricting the rule to match the corresponding layer 3 protocol. I decided to not overload the existing NFT_REJECT_ICMP_UNREACH to have different semantics depending on the table family and to allow the user to specify ICMP family specific codes if they restrict it to the corresponding family. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 89f904388d5fd728b77a489e135fdc4c69cf4ba0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 2 09:27:37 2014 -0700 Revert "staging: media: cxd2099: use usleep_range()" This reverts commit 7b86477c0e5b7b1406f27da519d4df841f306b92. It was broken and broke the build :( Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 097cbd8d261ccc602c963ddf823d5023be439e04 Author: Min-Hua Chen <orca.chen@xxxxxxxxx> Date: Thu Oct 2 15:56:59 2014 +0100 arm64: Use phys_addr_t type for physical address Change the type of physical address from unsigned long to phys_addr_t, make valid_phys_addr_range more readable. Signed-off-by: Min-Hua Chen <orca.chen@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit f7477c2be8689ee8355db345f107744c9bd7f112 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 2 16:31:09 2014 +0300 spi: dw-mid: follow new DMAengine workflow Though intel-mid-dma does not follow a new DMA workflow (*) let's prepare SPI DW driver for that. (*) The client is obliged to call dma_async_issue_pending() which starts the actual transfers. Old DMA drivers do not follow this, since requirement was introduced in the discussion of [1]. [1] http://www.spinics.net/lists/arm-kernel/msg125987.html Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a285299446cccbaf9ba47403e8f2ce578cd1ad1 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 2 16:31:08 2014 +0300 spi: dw-mid: convert to use DMAengine wrappers Instead of direct dereference to dmaengine callbacks we are going to use DMAengine wrappers. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 15ee3be78b017ee9d697fe59d45cdfbb35d9fdeb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 2 16:31:07 2014 +0300 spi: dw-mid: change magic numbers to the constants Instead of using magic numbers in the code we create a bit map definition of the DMACR register and use it. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c34f1f5424395994c125f8c68bed395920ecc58 Author: Kyle McMartin <kyle@xxxxxxxxxx> Date: Tue Sep 16 22:37:18 2014 +0100 aarch64: filter $x from kallsyms Similar to ARM, AArch64 is generating $x and $d syms... which isn't terribly helpful when looking at %pF output and the like. Filter those out in kallsyms, modpost and when looking at module symbols. Seems simplest since none of these check EM_ARM anyway, to just add it to the strchr used, rather than trying to make things overly complicated. initcall_debug improves: dmesg_before.txt: initcall $x+0x0/0x154 [sg] returned 0 after 26331 usecs dmesg_after.txt: initcall init_sg+0x0/0x154 [sg] returned 0 after 15461 usecs Signed-off-by: Kyle McMartin <kyle@xxxxxxxxxx> Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3fe240326cc395c66eda0518b1945ea505afd1fc Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Wed Oct 1 14:25:20 2014 -0700 ASoC: simple-card: Add mic and hp detect gpios. Allow Headphone and Microphone jack detect gpios to be specified in device tree. This will allow a few systems including rk3288_max98090 to use simple-card instead of having their own board file. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 04a0b8ef6b27c2b6280dcbfcdd418b7d851f8491 Merge: 9810f53 2ce7598 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Oct 2 16:53:35 2014 +0100 Merge tag 'v3.17-rc4' into asoc-simple Linux 3.17-rc4 commit 18ef9fefd3ef73279cd144bdb24cfd2683ff0492 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Fri Jul 18 17:51:06 2014 +0200 arm64, defconfig: Enable Cavium Thunder SoC in defconfig This patch enables Thunder SoCs in the arm64 defconfig. This is esp. useful to add Thunder platforms to automated builds based on arm64 defconfig. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 28f7420de20dadcc3140672444b8e4ffa2efb477 Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Apr 8 18:47:51 2014 +0530 arm64, thunder: Add Kconfig option for Cavium Thunder SoC Family This introduces ARCH_THUNDER to enable soc specific drivers and dtb files. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 4c3087008dd19dcfced1bbbc2414ac5a8a61bcef Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Apr 8 18:53:14 2014 +0530 arm64, thunder: Document devicetree bindings for Cavium Thunder SoC This patch adds documentation for the devicetree bindings used by the DT files of Cavium Thunder SoC platforms. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 3f173071bf1401bfb092fe67f43caf3bc358da03 Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Apr 8 18:51:24 2014 +0530 arm64, thunder: Add initial dts for Cavium Thunder SoC Add initial device tree nodes for Cavium Thunder SoCs with support of 48 cores and gicv3. The dtsi file requires further changes, esp. for pci, gicv3-its and smmu. This changes will be added later together with the device drivers. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit fccb84c94a9755f48668e43d0a44d6ecc750900f Author: David Sterba <dsterba@xxxxxxx> Date: Mon Sep 29 23:53:21 2014 +0200 btrfs: move checks for DUMMY_ROOT into a helper Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 7ec20afbcb7b257aec82ea5d66e6b0b7499abaca Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jul 24 17:34:58 2014 +0200 btrfs: new define for the inline extent data start Use a common definition for the inline data start so we don't have to open-code it and introduce bugs like "Btrfs: fix wrong max inline data size limit" fixed. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit fb85fc9a675738ee2746b51c3aedde944b18ca02 Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jul 31 01:03:53 2014 +0200 btrfs: kill extent_buffer_page helper It used to be more complex but now it's just a simple array access. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit a50924e3a4d7fccb0ecfbd42a4c7ed6e56ee1765 Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jul 31 00:51:36 2014 +0200 btrfs: drop constant param from btrfs_release_extent_buffer_page All callers use the same value, simplify the function. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 2755a0de64693501741fb3603cd8ca928b0b7e81 Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jul 31 00:43:18 2014 +0200 btrfs: hide typecast to definition of BTRFS_SEND_TRANS_STUB Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 94404e82e5f5452a13ef580b6d3df1483671dff9 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 01:53:30 2014 +0200 btrfs: let merge_reloc_roots return void Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 8b9456da037ab53428d6347fa2fa088933da1424 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 01:25:30 2014 +0200 btrfs: remove unused members from struct scrub_warning Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 97eb6b69d1e856cb5e1cf2c3d94afab643e93128 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 00:55:42 2014 +0200 btrfs: use slab for end_io_wq structures The structure is frequently reused. Rename it according to the slab name. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit af13b4922b057b4ebc7e2315a6f666ecb65890e4 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 00:58:37 2014 +0200 btrfs: fix error labels in init_btrfs_fs btrfs_interface_init rarely fails but we could leak the prelim_ref slab. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit bfebd8b5441755f228ad02273682d675d3335123 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 00:25:45 2014 +0200 btrfs: use enum for wq endio metadata type The enum exists but is not consistently used. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 01d5bc3789f8464abd13cc44e3cd6df9d17f2802 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 00:03:56 2014 +0200 btrfs: remove unused extent state bits The last users are long gone. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 95ac567af212db3293af3897ccb521efdf1dd7ff Author: Filipe David Borba Manana <fdmanana@xxxxxxxxx> Date: Thu Aug 8 22:45:48 2013 +0100 Btrfs: set default max_inline to 8KiB instead of 8MiB 8MiB is way too large and likely set by mistake. This is not a significant issue as in practice the max amount of data added to an inline extent is also limited by the page cache and btree leaf sizes. Signed-off-by: Filipe David Borba Manana <fdmanana@xxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 4d75f8a9c87b843c8ded15b82b8d137b9724cccc Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 01:54:12 2014 +0200 btrfs: remove blocksize from btrfs_alloc_free_block and rename Rename to btrfs_alloc_tree_block as it fits to the alloc/find/free + _tree_block family. The parameter blocksize was set to the metadata block size, directly or indirectly. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 0308af4465897c889e32754ef37bb465a1b2b872 Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 01:43:40 2014 +0200 btrfs: remove unused parameter blocksize from btrfs_find_tree_block Signed-off-by: David Sterba <dsterba@xxxxxxx> commit ce86cd59179279a6fe673d2a105d24fb7e70aef3 Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 01:07:32 2014 +0200 btrfs: remove parameter blocksize from read_tree_block We know the tree block size, no need to pass it around. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 4394a0014597bd53e2d9bbc69d091e3fbde7d00c Merge: 5a6da55 32c741d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 2 17:08:24 2014 +0200 Merge tag 'mvebu-dt-3.18-2' of git://git.infradead.org/linux-mvebu into next/dt Pull "mvebu DT changes for v3.18 (round 2)" from Jason Cooper: - Armada XP - Add HW datasheet references to docs - Armada 370 - Change internal registers to 0xf1000000 for Armada 370 RD board Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'mvebu-dt-3.18-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: switch the Armada 370 RD board to internal registers at 0xf1000000 Documentation: arm: add hardware datasheet reference for Marvell Armada XP commit 3587e625fe24a2d1cd1891fc660c3313151a368c Author: Marti Raudsepp <marti@xxxxxxxxx> Date: Thu Oct 2 08:50:31 2014 -0600 PCI: Add ACS quirk for AMD A88X southbridge devices AMD has confirmed that peer-to-peer between two southbridge functions does not occur. Add a quirk to indicate that these functions are isolated even though they don't have an ACS capability. Link: https://bugzilla.kernel.org/show_bug.cgi?id=81841 Signed-off-by: Marti Raudsepp <marti@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Joel Schopp <joel.schopp@xxxxxxx> commit 94fb1afbcb3e1f8666c9065baded2cb66e72126f Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Oct 2 10:48:12 2014 -0400 tile: switch to using seqlocks for the vDSO time code Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 5a6da55f10578b10f30ec72dcca6c37cbeac31ed Merge: 3a75d1a 45aa70d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 2 16:47:40 2014 +0200 Merge tag 'keystone-dts-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt Pull "Few keystone DTS fixes for 3.18" from Santosh Shilimkar: - IO range fix for USB phy device - Add missing dma-coherent property for K2E USB node - Fix K2L MDIO start address - Fix K2E MDIO start address Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'keystone-dts-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: dts: keystone-k2l: fix mdio io start address ARM: dts: keystone-k2e: fix mdio io start address ARM: dts: keystone-k2e: update usb1 node for dma properties ARM: dts: keystone: fix io range for usb_phy0 commit 5529c2cdfd87e64c5801bfb9788a89d78de03414 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Tue Sep 30 10:32:58 2014 +0200 MAINTAINERS: CNS3xxx and IXP4xx update. I'm told Anton Vorontsov can't maintain Cavium Econa CNS3xxx support anymore. Perhaps I can. Also changing my email contact address for IXP4xx. Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d8f0faa339b0beff6e055218e10b2982422db540 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 29 17:46:15 2014 +0200 ARM: hisi: depend on ARCH_MULTI_V7 hisi has a general dependency on ARCH_MULTIPLATFORM, which is problematic when building a kernel for non-V7 platforms but selecting drivers that might conflict with other architecture levels. In this case, it broke my (still out of tree) patch set that enables V7M multiplatform support, since that does not enable MULTI_IRQ support: arch/arm/kernel/built-in.o: In function `set_handle_irq': arch/arm/kernel/irq.c:125: undefined reference to `handle_arch_irq' arch/arm/kernel/built-in.o: In function `setup_arch': arch/arm/kernel/setup.c:965: undefined reference to `handle_arch_irq' Since all hisilicon platforms are ARMv7 based, we can avoid this problem by just making the dependency more specific. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit c3ca2130c81bd24022586e2bdebefaffcaaf04a8 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Mon Sep 29 08:32:08 2014 +0200 CNS3xxx: Fix debug UART. UARTs on CNS3xxx are 8250-compatible, not AMBA. The base address for UART0 is 0x78000000 (physical) and 0xfb002000 (virtual). Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 453848a05ff984cb3665bad5c7e0024e8cfe87a5 Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 00:51:19 2014 +0200 btrfs: inline code of reada_tree_block and remove it It's trivial with a single user. And remove one pointless BUG_ON. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 6197d86eabb844c1a9c99956d4e6b0f8eb548ad3 Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 00:49:36 2014 +0200 btrfs: return void from readahead_tree_block Errors in readahead are not fatal and ignored elsewhere in the code. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 58dc4ce4325108b35425ffd30e6acfad9644d49d Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 00:29:04 2014 +0200 btrfs: remove unused parameter from readahead_tree_block The parent_transid parameter has been unused since its introduction in ca7a79ad8dbe2466 ("Pass down the expected generation number when reading tree blocks"). In reada_tree_block, it was even wrongly set to leafsize. Transid check is done in the proper read and readahead ignores errors. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit bceb7efa6a7e656bfaa67b6f54925e7db75bcd52 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Tue Sep 2 16:25:22 2014 -0400 tile gxio: use better string copy primitive Both strncpy and strlcpy suffer from the fact that they do partial copies of strings into the destination when the target buffer is too small. This is frequently pointless since an overflow of the target buffer may make the result invalid. strncpy() makes it relatively hard to even detect the error condition, and with strlcpy() you have to duplicate the buffer size parameter to test to see if the result exceeds it. By returning zero in the failure case, we both make testing for it easy, and by simply not copying anything in that case, we make it mandatory for callers to test the error code. To catch lazy programmers who don't check, we also place a NUL at the start of the destination buffer (if there is space) to ensure that the result is an invalid string. At some point it may make sense to promote strscpy() to a global platform-independent function, but other than the reviewers, no one was interested on LKML, so for now leave the strscpy() function as file-static. Reviewed-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reviewed-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 514b82a52b7aaa413ab8f0e7db93a5ccd0540d09 Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Fri Aug 8 16:32:58 2014 +0100 char: tile-srom: Add real platform bus parent Add a real platform bus device as a parent for the srom class devices, to prevent non-platform devices hanging from the bus root. Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 4cde4cc87a19cfe7351e3d0fd87d8a49271781f6 Author: Kurt McAlpine <kurtmcalpine@xxxxxxxxx> Date: Thu Aug 7 08:50:25 2014 +1200 Removed repeated word in comments Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 3e24765d7722445e3d66b849b941da26ccbae1a3 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Fri Aug 1 15:26:46 2014 -0400 tilegx: Enable ARCH_SUPPORTS_ATOMIC_RMW Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 454ac3ec3fb7e855c274b26252c9a43a191bffaf Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Nov 12 20:42:20 2013 +0100 tile: Remove tile-specific _sinitdata and _einitdata Use standard __init_begin and __init_end instead. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 367b9380b1717dc53ea7e1f05da58c99e0ae54a3 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Tue Jun 17 01:42:24 2014 +0530 tile: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: // <smpl> @i@ @@ @@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // </smpl> Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit ee39b432b4ac083acdafd7b4f156283722e3bf14 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Sep 30 01:33:33 2014 +0200 btrfs: remove unlikely from data-dependent branches and slow paths There are the branch hints that obviously depend on the data being processed, the CPU predictor will do better job according to the actual load. It also does not make sense to use the hints in slow paths that do a lot of other operations like locking, waiting or IO. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit a092e19b688be88f7329bd05f90cb92ebe1a4f5b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Oct 2 09:20:21 2014 +0200 gpio: pch: Build context save/restore only for PM The pch_gpio_save_reg_conf() and pch_gpio_restore_reg_conf() functions are only used in pch_gpio_suspend() and pch_gpio_resume(), respectively. Since the latter are only built if PM is enabled, make the former build under the same conditions. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3a4b094d5d09b8e0d007b2ca3de4f42df3af46e6 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 2 09:30:43 2014 +0200 pinctrl: abx500: get rid of unused variable commit 2fcea6cecbc965b4e02a39537d9d939f5251bbbd "pinctrl: remove remaining users of gpiochip_remove() retval" removed the use of the return value from gpiochip_remove() but missed to delete the dangling "err" variable: drivers/pinctrl/nomadik/pinctrl-abx500.c: In function 'abx500_gpio_probe': drivers/pinctrl/nomadik/pinctrl-abx500.c:1208:11: warning: unused variable 'err' [-Wunused-variable] Fix this by getting rid of the dangling variable. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 36905a33dd2d2bd443079ac677545849fa190eb7 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Sat Sep 27 19:05:41 2014 +0530 gpio: ks8695: fix 'else should follow close brace '}'' Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 27ec8a9cb504e9995c123dc74e0cca0cba81d07f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 2 07:55:41 2014 +0200 gpio: stmpe: add verbose debug code To troubleshoot the STMPE GPIO driver, some more detailed debug information giving the exact info on how each pin is used will be helpful. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5d99a998f375b7bff7ddff0162a6eed4d4ca1318 Author: David Sterba <dsterba@xxxxxxx> Date: Mon Sep 29 19:20:37 2014 +0200 btrfs: remove unlikely from NULL checks Unlikely is implicit for NULL checks of pointers. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 30142230a730263e9989e0174b74c2429e041c8c Author: Michal Marek <mmarek@xxxxxxx> Date: Thu Oct 2 15:27:07 2014 +0200 kbuild: Do not reference *-n variables in the Makefile Kconfig options are either 'y', 'm', or undefined. Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 5b2389b45d1a9c12b9f4b976e38c36264bfc42f5 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 20:03:58 2014 +0900 kbuild: simplify build, clean, modbuiltin shorthands $(if $(KBUILD_SRC),$(srctree)/) was a useful strategy to omit a long absolute path for in-source-tree build prior to commit 890676c65d699db3ad82e7dddd0cf8fb449031af (kbuild: Use relative path when building in the source tree). Now $(srctree) is "." when building in the source tree. It would not be annoying to add "$(srctree)/" all the time. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 226422d08c33cf0b68f6ea55a3b0e5f9c8212bf8 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 19:52:17 2014 +0900 kbuild: arm: Do not define "comma" twice The definition of "comma" exists in scripts/Kbuild.include. We should not double it. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit fae119b6d427a087be0c6a85431c1b8ee9ffea96 Merge: f747265 3708d52 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Thu Oct 2 13:04:58 2014 +0000 Merge branch 'irqchip/gic' into irqchip/core commit f7472655fbe70f422c08f78d107ca24a791d7b14 Merge: a778bf3 fda9203 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Thu Oct 2 13:04:45 2014 +0000 Merge branch 'irqchip/broadcom' into irqchip/core Conflicts: drivers/irqchip/Makefile commit a778bf35bd928653a0d9c9313a56866be8aab59d Merge: 468a903 20afdeb Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Thu Oct 2 13:03:48 2014 +0000 Merge branch 'irqchip/atmel' into irqchip/core commit a4954fd7724c0f55361eb56005856b0da0c99b00 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 19:26:21 2014 +0900 kbuild: remove obj-n and lib-n handling Kconfig never defines CONFIG_* as 'n'. Now obj-n is only used in firmware/Makefile and it can be replaced with obj-. No makefile uses lib-n. Let's rip off obj-n and lib-n. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ac84eb47cc199d9df7eeb7b32630fc09295a030b Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 19:26:20 2014 +0900 kbuild: remove unnecessary variable initializaions Clearing obj-y, obj-m, obj-n, obj- in each Makefile is a useless habit. They are non-exported variables; therefore they are always empty whenever descending into each subdirectory. (Moreorver, obj-y and obj-m are also set to empty at the beginning of scripts/Makefile.build) Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 895ed4e895756ca5e0a0bf43f45b7eed7b9c604a Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 19:26:19 2014 +0900 kbuild: remove unnecessary "obj- := dummy.o" trick In these Makefiles, at least one of "obj-y" and "obj-" is non-empty, hence built-in.o is always created without such a trick. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Acked-by: Mike Turquette <mturquette@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> [shmobile] Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> [networking] Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit a74b7d5514d61bca6aee32f60a79dacf1d2b3cac Merge: cec26bc ce2e4f0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Oct 2 13:44:45 2014 +0200 Merge tag 'kvm-s390-next-20141001' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-next KVM: s390: Small enhancements for 3.18 (next) Provide TOD CLOCK steering to the guest and add cpu wakeup counter. commit 7c168d5f8bda5716e1a49040b901f26a3002517d Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Wed Oct 1 10:15:57 2014 -0700 ASoC: ssm4567: Remove duplicated else-if branch Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a52ce121918382a4249d621cceb07c30e1c00fa2 Author: Sean Paul <seanpaul@xxxxxxxxxxxx> Date: Wed Oct 1 16:31:50 2014 +0100 arm64: Use DMA_ERROR_CODE to denote failed allocation This patch replaces the static assignment of ~0 to dma_handle with DMA_ERROR_CODE to be consistent with other platforms. Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 81f3dfe1908011ee12760ce4d75451e7446dff80 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Oct 2 09:27:03 2014 +0200 ASoC: rt286: Fix compilation warning for !PM The rt286_index_sync() function is only called in the resume path. If PM is disabled it becomes unused and shouldn't be built either. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit be1aa3ea1f4179cbc84c57d3b1128c49515910ac Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Oct 2 09:28:00 2014 +0200 ASoC: tas2552: Fix compilation warning for !PM_RUNTIME The tas2552_sw_shutdown() function is only used by runtime suspend support, so only build it when necessary. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c47a39a6806d756c34eb01b1081866845fb76dc3 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 2 13:29:09 2014 +0300 ASoC: Intel: byt-rt5640: Set card as fully routed Although it's not known does current version of byt-rt5640 cover all possible variants it is better to set the fully_routed flag on in order to disable unused codecs pins in known machines and get regression from machines that use different routing than the default one. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 24221dcc8be736a2b0b83ecaeb60b99bd7e9334c Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 2 13:29:08 2014 +0300 ASoC: Intel: byt-rt5640: Add quirk for Dell Venue 8 Pro tablet It was found with help of Jan-Michael Brummer <jan.brummer@xxxxxxxxx> that Dell Venue 8 Pro tablet has a digital microphone connected to DMIC2 interface of the RT564x. This patch adds a DAPM route to DMIC2 and a quirk using it for that tablet. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reported-by: Jan-Michael Brummer <jan.brummer@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9c238ca8ec79c38ab22762b44aeaf7a42fc97b18 Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Wed Oct 1 15:59:15 2014 +0300 Bluetooth: 6lowpan: Check transmit errors for multicast packets We did not return error if multicast packet transmit failed. This might not be desired so return error also in this case. If there are multiple 6lowpan devices where the multicast packet is sent, then return error even if sending to only one of them fails. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d7b6b0a532da7de25e16deed610658cfa1969fe9 Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Wed Oct 1 15:59:14 2014 +0300 Bluetooth: 6lowpan: Return EAGAIN error also for multicast packets Make sure that we are able to return EAGAIN from l2cap_chan_send() even for multicast packets. The error code was ignored unncessarily. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a7807d73a0fa9b33dbdfd5f1cb97970ccc91d77e Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Wed Oct 1 11:30:57 2014 +0300 Bluetooth: 6lowpan: Avoid memory leak if memory allocation fails If skb_unshare() returns NULL, then we leak the original skb. Solution is to use temp variable to hold the new skb. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit fc12518a4bcbd4214652291df76f692343bca3d5 Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Wed Oct 1 11:30:26 2014 +0300 Bluetooth: 6lowpan: Memory leak as the skb is not freed The earlier multicast commit 36b3dd250dde ("Bluetooth: 6lowpan: Ensure header compression does not corrupt IPv6 header") lost one skb free which then caused memory leak. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 09b5269a1b3d47525d7c25efeb16f5407ef82ea2 Merge: fe82dce f171aba a6fda0f dedd943 80f7b3d c50e324 5fc24d8 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Oct 2 12:24:45 2014 +0200 Merge branches 'arm/exynos', 'arm/omap', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next Conflicts: drivers/iommu/arm-smmu.c commit b5d130c4d6e664c49428fb0c27d37c1be12ae8da Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Sat Sep 20 04:46:25 2014 +0000 igb: bump version to 5.2.15 Bump version Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 80f7b3d1b1f4ec6c80fa3b40c7c9a419e28b0897 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Mon Sep 22 16:30:22 2014 +0200 iommu/vt-d: Work around broken RMRR firmware entries The VT-d specification states that an RMRR entry in the DMAR table needs to specify the full path to the device. This is also how newer Linux kernels implement it. Unfortunatly older drivers just match for the target device and not the full path to the device, so that BIOS vendors implement that behavior into their BIOSes to make them work with older Linux kernels. But those RMRR entries break on newer Linux kernels. Work around this issue by adding a fall-back into the RMRR matching code to match those old RMRR entries too. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 57384592c43375d2c9a14d82aebbdc95fdda9e9d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Oct 2 11:50:25 2014 +0200 iommu/vt-d: Store bus information in RMRR PCI device path This will be used later to match broken RMRR entries. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 89168b48991537bec2573b3b6a8841df74465b12 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 2 09:08:46 2014 +0200 mmc: core: restore detect line inversion semantics commit 98e90de99a0c43bd434da814c882c4332441871e "mmc: host: switch OF parser to use gpio descriptors" switched the semantic behaviour of card detect and read only flags such that the inversion capability flag would only be set if inversion was explicitly specified in the device tree, in the hopes that no-one was using double inversion. It turns out that the XOR:ing between the explicit inversion was indeed in use, so we need to restore the old semantics where both ways of inversion are checked and the end result XOR:ed. Reported-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c867d07e3c861e75509650b8a359351d634db93a Merge: 858f61c 1b68bdf Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Oct 2 19:47:23 2014 +1000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into next commit a81fb04941961a97bea001eef9c0c35c92aa42cb Author: Rick Jones <rick.jones2@xxxxxx> Date: Wed Sep 17 03:56:20 2014 +0000 i40e/igb: Convert to dev_consume_skb_any() Convert two more Intel NIC drivers to dev_consume_skb_any() to help make dropped packet profiling sane. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7acf631889ec2ba7431a86a4c8db9698a496e964 Author: Bernhard Kaindl <bk-linux@xxxxxxxxxxxxxxxxx> Date: Wed Sep 17 19:11:16 2014 +0000 igb: remove blocking phy read from inside spinlock Remove a source of latency spikes (in my case up to 10ms) by not calling code that uses mdelay() for feeding a phy statistic (rx errors for idle symbols - not data -> idle_errors) while being called with a spinlock held. As idle_errors isn't read, this patch only removes unused code and data. Later, more complicated changes may be applied to address the spinlock and allow for some PHY diagnostics by harvesting this PHY stats register fully. This patch is designed to fix the issue and be safe for longterm/stable. For the Intel e1000e driver, the same change was applied in 2008 with commit 23033fad5be0 ("e1000e: remove phy read from inside spinlock"). The mdelay is triggered by HW/SW semaphores, thus it depends on the HW. I've HW that triggers it even when idle. Others may trigger it only e.g. when Ethernet ports aquire or loose the link or on ifconfig up / down. We've noticed this first from delays in frame rx/tx due to the mdelay(). Example command for checking if the issue is triggered: cyclictest -Smp1 (Look for occasional "Max:" values > 4000 or use -b 4000 to stop if greater) It was observed with I350 ports connected to other I350 ports, but not if driver and EEPROM was modified to run the I350 in EEPROM-less mode. phy_stats.idle_errors and .receive_errors (isn't touched) occupy 64 not used bits in the adapter struct: Their allocation may be removed as well. Cc: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Cc: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Fixes: 12dcd86b75d5 ("igb: fix stats handling") (this added the spin_lock) Signed-off-by: Bernhard Kaindl <bk-linux@xxxxxxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3463de103ac9d705705cb9a4c54db947f56b44d9 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Sep 23 18:11:44 2014 +0000 ixgbe: delete one duplicate marcro definition of IXGBE_MAX_L2A_QUEUES There is typo in ixgbe.h, two marcro definition of IXGBE_MAX_L2A_QUEUES to 4, delete one, clear the compiler warning. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1196c2fb0407683c2df92d3d09f9144d42830894 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Sep 30 13:02:03 2014 +0200 iommu/vt-d: Only remove domain when device is removed This makes sure any RMRR mappings stay in place when the driver is unbound from the device. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Tested-by: Jerry Hoemann <jerry.hoemann@xxxxxx> commit ffefa9f64ce021b26aa3fd6558f1d3b6c47b3619 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Thu Sep 18 08:05:02 2014 +0000 ixgbe: fix setting of TXDCTL.WTRHESH when ITR is set to 0 and no BQL This patch consolidates the logic behind dynamically setting TXDCTL.WTHRESH depending on interrupt throttle rate (ITR) setting regardless of BQL. Previously TXDCTL.WTHRESH was dynamically being set only with BQL being enabled, but we have to set it regardless of BQL when ITR is low to avoid Tx stalls/hangs. CC: John Greene <jogreene@xxxxxxxxxx> Reported by: Masayuki Gouji <gouji.masayuki@xxxxxxxxxxxxxx> Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 599bad38cf7163123af7c9efea0fcf228bc74fe1 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Sep 30 13:02:02 2014 +0200 driver core: Add BUS_NOTIFY_REMOVED_DEVICE event This event closes an important gap in the bus notifiers. There is already the BUS_NOTIFY_DEL_DEVICE event, but that is sent when the device is still bound to its device driver. This is too early for the IOMMU code to destroy any mappings for the device, as they might still be in use by the driver. The new BUS_NOTIFY_REMOVED_DEVICE event introduced with this patch closes this gap as it is sent when the device is already unbound from its device driver and almost completly removed from the driver core. With this event the IOMMU code can safely destroy any mappings and other data structures when a device is removed. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Tested-by: Jerry Hoemann <jerry.hoemann@xxxxxx> commit 340c5203bc3158d6991dfe280f62ba7bd9584d62 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Sat Sep 6 07:50:27 2014 +0000 ixgbe: remove wait loop on autoneg for copper devices This patch removes couple of wait loops on autoneg that are not needed. During validation we noticed that the loops always time out, so there should be no user impact. Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fe1f2a972c8c8d22ac234024b331130ddddf8682 Author: Rick Jones <rick.jones2@xxxxxx> Date: Fri Sep 12 17:44:06 2014 +0000 ixgbe: Convert the normal transmit complete path to dev_consume_skb_any() Convert the normal packet completion path to dev_consume_skb_any() so packet drop profiling via dropwatch or perf top -G -e skb_kfree_skb is not cluttered with false hits. Compile tested only. There is a dev_kfree_skb_any() in the routine ixgbe_ptp_tx_hwtstamp() in ixgbe_ptp.c that looks like a conversion candidate but I wasn't familiar enough with the code to pull the trigger. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 02e246aee868e982eecc25ee97d02acf2c2b8884 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 2 10:16:22 2014 +0300 Bluetooth: Fix lockdep warning with l2cap_chan_connect The L2CAP connection's channel list lock (conn->chan_lock) must never be taken while already holding a channel lock (chan->lock) in order to avoid lock-inversion and lockdep warnings. So far the l2cap_chan_connect function has acquired the chan->lock early in the function and then later called l2cap_chan_add(conn, chan) which will try to take the conn->chan_lock. This violates the correct order of taking the locks and may lead to the following type of lockdep warnings: -> #1 (&conn->chan_lock){+.+...}: [<c109324d>] lock_acquire+0x9d/0x140 [<c188459c>] mutex_lock_nested+0x6c/0x420 [<d0aab48e>] l2cap_chan_add+0x1e/0x40 [bluetooth] [<d0aac618>] l2cap_chan_connect+0x348/0x8f0 [bluetooth] [<d0cc9a91>] lowpan_control_write+0x221/0x2d0 [bluetooth_6lowpan] -> #0 (&chan->lock){+.+.+.}: [<c10928d8>] __lock_acquire+0x1a18/0x1d20 [<c109324d>] lock_acquire+0x9d/0x140 [<c188459c>] mutex_lock_nested+0x6c/0x420 [<d0ab05fd>] l2cap_connect_cfm+0x1dd/0x3f0 [bluetooth] [<d0a909c4>] hci_le_meta_evt+0x11a4/0x1260 [bluetooth] [<d0a910eb>] hci_event_packet+0x3ab/0x3120 [bluetooth] [<d0a7cb08>] hci_rx_work+0x208/0x4a0 [bluetooth] CPU0 CPU1 ---- ---- lock(&conn->chan_lock); lock(&chan->lock); lock(&conn->chan_lock); lock(&chan->lock); Before calling l2cap_chan_add() the channel is not part of the conn->chan_l list, and can therefore only be accessed by the L2CAP user (such as l2cap_sock.c). We can therefore assume that it is the responsibility of the user to handle mutual exclusion until this point (which we can see is already true in l2cap_sock.c by it in many places touching chan members without holding chan->lock). Since the hci_conn and by exctension l2cap_conn creation in the l2cap_chan_connect() function depend on chan details we cannot simply add a mutex_lock(&conn->chan_lock) in the beginning of the function (since the conn object doesn't yet exist there). What we can do however is move the chan->lock taking later into the function where we already have the conn object and can that way take conn->chan_lock first. This patch implements the above strategy and does some other necessary changes such as using __l2cap_chan_add() which assumes conn->chan_lock is held, as well as adding a second needed label so the unlocking happens as it should. Reported-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Tested-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2cdef8f4e1ac28adc81326758a7767c18479a95d Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 2 09:41:46 2014 +0200 pinctrl: specify bindings for pins and groups Pin configurations can be per-pin or per-group. Make sure that the per-group case is covered by the bindings. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a7696b36c01316308f2b9f2009ce38cb01fd7a3f Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 17 14:39:39 2014 +1000 powerpc: Add printk levels to powerpc code Add printk levels to some places in the powerpc port. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9a4f5cd0a550c755a3f2e0cdcc541493f98feb8e Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 17 14:39:38 2014 +1000 powerpc: Add printk levels to powernv platform code Add printk levels to powernv platform code, and convert to pr_err() etc while here. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3e47d1474c2b4099f0fadd12a6553fdb2e8feaae Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 17 14:39:36 2014 +1000 powerpc: Remove powerpc specific cmd_line There is no need for yet another copy of the command line, just use boot_command_line like everyone else. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c7d1f6afe062d2dc4bb8109856519570f2fe3c13 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 17 14:39:35 2014 +1000 powerpc: Use pr_fmt in module loader code Use pr_fmt to give some context to the error messages in the module code, and convert open coded debug printk to pr_debug. Use pr_err for error messages. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1fe3bd9e347bcea63fa8be212001372720968765 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 2 07:55:27 2014 +0200 gpio: stmpe: fix up interrupt enable logic The STMPE driver assumes that the passed in IRQ type is for rising or falling IRQs, not both, even though the hardware actually supports this perfectly well. Likewise the check for level IRQs is done against just high or low level types, not for the case where it is combined with other IRQs. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9d57472f61acd7c3a33ebf5a79361e316d8ffbef Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 24 16:59:58 2014 +1000 powerpc: Fill in si_addr_lsb siginfo field Fill in the si_addr_lsb siginfo field so the hwpoison code can pass to userspace the length of memory that has been corrupted. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3913fdd7a23d9d8480ce3a6ca9cdf78bf0dec5a0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 24 16:59:57 2014 +1000 powerpc: Add VM_FAULT_HWPOISON handling to powerpc page fault handler do_page_fault was missing knowledge of HWPOISON, and we would oops if userspace tried to access a poisoned page: kernel BUG at arch/powerpc/mm/fault.c:180! Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 63af52629adcd1313c7db252f085263012ecd9db Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 24 16:59:56 2014 +1000 powerpc: Simplify do_sigbus Exit out early for a kernel fault, avoiding indenting of most of the function. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit be34c4ef693ff5c10f55606dbd656ddf0b4a8340 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 2 14:52:37 2014 +0800 crypto: sha - Handle unaligned input data in generic sha256 and sha512. Like SHA1, use get_unaligned_be*() on the raw input data. Reported-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c9d49940849ff2f11f3646bc8eb1f23ed60b505d Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Tue Sep 30 22:49:22 2014 +0000 fm10k: Correctly set the number of Tx queues The number of Tx queues was not being updated due to some issues when generating the patches. This change makes sure to add the lines necessary to update the number of Tx queues correctly. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fd333962065ffc99d7c3779da08a2066179694eb Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Sep 26 06:33:49 2014 +0000 fm10k: Reduce buffer size when pages are larger than 4K This change reduces the buffer size to 2K for all page sizes. The basic idea is that since most frames only have a 1500 MTU supporting a buffer size larger than this is somewhat wasteful. As such I have reduced the size to 2K for all page sizes which will allow for more uses per page. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5cfed7b3351ce33b60c4a1d02ffd712cdf4f49cd Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Sep 28 22:24:01 2014 +0200 Revert "crypto: aesni - disable "by8" AVX CTR optimization" This reverts commit 7da4b29d496b1389d3a29b55d3668efecaa08ebd. Now, that the issue is fixed, we can re-enable the code. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Chandramouli Narayanan <mouli@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9561dccb45a34f77001389824915e4dad8ede757 Merge: e3b3bb5 7da4b29 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 2 14:37:20 2014 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Merging the crypto tree for 3.17 to pull in the "by8" AVX CTR revert. commit e3b3bb5ac1438354635c3879ce31cbdeebe55857 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Sep 28 22:24:00 2014 +0200 crypto: aesni - remove unused defines in "by8" variant The defines for xkey3, xkey6 and xkey9 are not used in the code. They're probably left overs from merging the three source files for 128, 192 and 256 bit AES. They can safely be removed. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Chandramouli Narayanan <mouli@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 80dca4734b3561be59879b02bce359b6f661e921 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Sep 28 22:23:59 2014 +0200 crypto: aesni - fix counter overflow handling in "by8" variant The "by8" CTR AVX implementation fails to propperly handle counter overflows. That was the reason it got disabled in commit 7da4b29d496b ("crypto: aesni - disable "by8" AVX CTR optimization"). Fix the overflow handling by incrementing the counter block as a double quad word, i.e. a 128 bit, and testing for overflows afterwards. We need to use VPTEST to do so as VPADD* does not set the flags itself and silently drops the carry bit. As this change adds branches to the hot path, minor performance regressions might be a side effect. But, OTOH, we now have a conforming implementation -- the preferable goal. A tcrypt test on a SandyBridge system (i7-2620M) showed almost identical numbers for the old and this version with differences within the noise range. A dm-crypt test with the fixed version gave even slightly better results for this version. So the performance impact might not be as big as expected. Tested-by: Romain Francoise <romain@xxxxxxxxxxxxx> Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Chandramouli Narayanan <mouli@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7a1ae9c0ce39d839044745956f08eabbea00d420 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 15 20:31:20 2014 +0530 hwrng: printk replacement as pr_* macros are more preffered over printk, so printk replaced with corresponding pr_* macros Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e35735b9a5d8d38d9ffe2f1f0cdcbb0d45c42eff Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Oct 2 15:44:21 2014 +1000 powerpc: Speed up clear_page by unrolling it Unroll clear_page 8 times. A simple microbenchmark which allocates and frees a zeroed page: for (i = 0; i < iterations; i++) { unsigned long p = __get_free_page(GFP_KERNEL | __GFP_ZERO); free_page(p); } improves 20% on POWER8. This assumes cacheline sizes won't grow beyond 512 bytes or page sizes wont drop below 1kB, which is unlikely, but we could add a runtime check during early init if it makes people nervous. Michael found that some versions of gcc produce quite bad code (all multiplies), so we give gcc a hand by using shifts and adds. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 19318c063bf51f030c7c632f6a876c43da7de65d Merge: fe82dce 6fbb702 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 2 14:48:20 2014 +1000 Merge branch 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes A few regression fixes, the runpm ones dating back to 3.15. Also a fairly severe TMDS regression that effected a lot of GF8/9/GT2xx users. * 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau: make sure display hardware is reinitialised on runtime resume drm/nouveau: punt fbcon resume out to a workqueue drm/nouveau: fix regression on original nv50 board drm/nv50/disp: fix dpms regression on certain boards commit 8e0e99ba64c7ba46133a7c8a3e3f7de01f23bd93 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Oct 2 13:45:00 2014 +1000 md/raid5: disable 'DISCARD' by default due to safety concerns. It has come to my attention (thanks Martin) that 'discard_zeroes_data' is only a hint. Some devices in some cases don't do what it says on the label. The use of DISCARD in RAID5 depends on reads from discarded regions being predictably zero. If a write to a previously discarded region performs a read-modify-write cycle it assumes that the parity block was consistent with the data blocks. If all were zero, this would be the case. If some are and some aren't this would not be the case. This could lead to data corruption after a device failure when data needs to be reconstructed from the parity. As we cannot trust 'discard_zeroes_data', ignore it by default and so disallow DISCARD on all raid4/5/6 arrays. As many devices are trustworthy, and as there are benefits to using DISCARD, add a module parameter to over-ride this caution and cause DISCARD to work if discard_zeroes_data is set. If a site want to enable DISCARD on some arrays but not on others they should select DISCARD support at the filesystem level, and set the raid456 module parameter. raid456.devices_handle_discard_safely=Y As this is a data-safety issue, I believe this patch is suitable for -stable. DISCARD support for RAID456 was added in 3.7 Cc: Shaohua Li <shli@xxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx (3.7+) Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Fixes: 620125f2bf8ff0c4969b79653b54d7bcc9d40637 Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 6fbb702e27d78ad2458df048b58cca3454bc0965 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 2 13:22:27 2014 +1000 drm/nouveau: make sure display hardware is reinitialised on runtime resume Linus commit 05c63c2ff23a80b654d6c088ac3ba21628db0173 modified the runtime suspend/resume paths to skip over display-related tasks to avoid locking issues on resume. Unfortunately, this resulted in the display hardware being left in a partially initialised state, preventing subsequent modesets from completing. This commit unifies the (many) suspend/resume paths, bringing back display (and fbcon) handling in the runtime paths. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 634ffcccfbe59d77652804e1beb415d3329b1bc6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Oct 1 11:11:25 2014 +1000 drm/nouveau: punt fbcon resume out to a workqueue Preparation for some runtime pm fixes. Currently we skip over fbcon suspend/resume in the runtime path, which causes issues on resume if fbcon tries to write to the framebuffer before the BAR subdev has been resumed to restore the BAR1 VM setup. As we might be woken up via a sysfs connector, we are unable to call fb_set_suspend() in the resume path as it could make its way down to a modeset and cause all sorts of locking hilarity. To solve this, we'll just delay the fbcon resume to a workqueue. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f2f9a2cbaf019481feefe231f996d3602612fa99 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Oct 1 12:46:14 2014 +1000 drm/nouveau: fix regression on original nv50 board Xorg (and any non-DRM client really) doesn't have permission to directly touch VRAM on nv50 and up, which the fence code prior to g84 depends on. It's less invasive to temporarily grant it premission to do so, as it previously did, than it is to rework fencenv50 to use the VM. That will come later on. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5838ae610ff36777b8fce6f353c2417980c1a1fa Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Sep 30 10:27:08 2014 +1000 drm/nv50/disp: fix dpms regression on certain boards Reported in fdo#82527 comment #2. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit be5cd90ddaf471e676fad6ced29e69e8610c5d20 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Wed Oct 1 22:57:09 2014 -0400 ext4: optimize block allocation on grow indepth It is reasonable to prepend newly created index to older one. [ Dropped no longer used function parameter newext. -tytso ] Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit dfe076c106f63cf6bcd375c56db9c8c89a088dab Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Wed Oct 1 22:26:17 2014 -0400 ext4: get rid of code duplication Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit c5d311926da483951bd5da637ed65de8614d1901 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Wed Oct 1 22:23:15 2014 -0400 ext4: fix over-defensive complaint after journal abort Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit d068b02cfdfc27f5962ec82ec5568b706f599edc Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Oct 1 11:58:02 2014 -0700 net: phy: add BCM7425 and BCM7429 PHYs Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc23333ba11fb7f959b7e87e121122f5a0fbbca8 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Oct 1 11:30:01 2014 -0700 net: bcmgenet: fix bcmgenet_put_tx_csum() bcmgenet_put_tx_csum() needs to return skb pointer back to the caller because it reallocates a new one in case of lack of skb headroom. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bce92d566a57893e98ec83e4e5447f860d2889b7 Author: Li Xi <pkuelelixi@xxxxxxxxx> Date: Wed Oct 1 22:11:06 2014 -0400 ext4: fix return value of ext4_do_update_inode When ext4_do_update_inode() gets error from ext4_inode_blocks_set(), error number should be returned. Signed-off-by: Li Xi <lixi@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 38b2cf2982dc73d3f07fe84fec8cc4ed9f64c1c5 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Sep 30 17:53:21 2014 -0700 net: pktgen: packet bursting via skb->xmit_more This patch demonstrates the effect of delaying update of HW tailptr. (based on earlier patch by Jesper) burst=1 is the default. It sends one packet with xmit_more=false burst=2 sends one packet with xmit_more=true and 2nd copy of the same packet with xmit_more=false burst=3 sends two copies of the same packet with xmit_more=true and 3rd copy with xmit_more=false Performance with ixgbe (usec 30): burst=1 tx:9.2 Mpps burst=2 tx:13.5 Mpps burst=3 tx:14.5 Mpps full 10G line rate Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 775dd692bd34f9201ed2aa775a0edcba4f973f3e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Sep 30 16:13:19 2014 -0700 net: bridge: add a br_set_state helper function In preparation for being able to propagate port states to e.g: notifiers or other kernel parts, do not manipulate the port state directly, but instead use a helper function which will allow us to do a bit more than just setting the state. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a0efb80ce3abacfd22a4284c3730924fc2f1f077 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Sep 30 16:07:24 2014 -0700 net_sched: avoid calling tcf_unbind_filter() in call_rcu callback This fixes the following crash: [ 63.976822] general protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 63.980094] CPU: 1 PID: 15 Comm: ksoftirqd/1 Not tainted 3.17.0-rc6+ #648 [ 63.980094] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 63.980094] task: ffff880117dea690 ti: ffff880117dfc000 task.ti: ffff880117dfc000 [ 63.980094] RIP: 0010:[<ffffffff817e6d07>] [<ffffffff817e6d07>] u32_destroy_key+0x27/0x6d [ 63.980094] RSP: 0018:ffff880117dffcc0 EFLAGS: 00010202 [ 63.980094] RAX: ffff880117dea690 RBX: ffff8800d02e0820 RCX: 0000000000000000 [ 63.980094] RDX: 0000000000000001 RSI: 0000000000000002 RDI: 6b6b6b6b6b6b6b6b [ 63.980094] RBP: ffff880117dffcd0 R08: 0000000000000000 R09: 0000000000000000 [ 63.980094] R10: 00006c0900006ba8 R11: 00006ba100006b9d R12: 0000000000000001 [ 63.980094] R13: ffff8800d02e0898 R14: ffffffff817e6d4d R15: ffff880117387a30 [ 63.980094] FS: 0000000000000000(0000) GS:ffff88011a800000(0000) knlGS:0000000000000000 [ 63.980094] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 63.980094] CR2: 00007f07e6732fed CR3: 000000011665b000 CR4: 00000000000006e0 [ 63.980094] Stack: [ 63.980094] ffff88011a9cd300 ffffffff82051ac0 ffff880117dffce0 ffffffff817e6d68 [ 63.980094] ffff880117dffd70 ffffffff810cb4c7 ffffffff810cb3cd ffff880117dfffd8 [ 63.980094] ffff880117dea690 ffff880117dea690 ffff880117dfffd8 000000000000000a [ 63.980094] Call Trace: [ 63.980094] [<ffffffff817e6d68>] u32_delete_key_freepf_rcu+0x1b/0x1d [ 63.980094] [<ffffffff810cb4c7>] rcu_process_callbacks+0x3bb/0x691 [ 63.980094] [<ffffffff810cb3cd>] ? rcu_process_callbacks+0x2c1/0x691 [ 63.980094] [<ffffffff817e6d4d>] ? u32_destroy_key+0x6d/0x6d [ 63.980094] [<ffffffff810780a4>] __do_softirq+0x142/0x323 [ 63.980094] [<ffffffff810782a8>] run_ksoftirqd+0x23/0x53 [ 63.980094] [<ffffffff81092126>] smpboot_thread_fn+0x203/0x221 [ 63.980094] [<ffffffff81091f23>] ? smpboot_unpark_thread+0x33/0x33 [ 63.980094] [<ffffffff8108e44d>] kthread+0xc9/0xd1 [ 63.980094] [<ffffffff819e00ea>] ? do_wait_for_common+0xf8/0x125 [ 63.980094] [<ffffffff8108e384>] ? __kthread_parkme+0x61/0x61 [ 63.980094] [<ffffffff819e43ec>] ret_from_fork+0x7c/0xb0 [ 63.980094] [<ffffffff8108e384>] ? __kthread_parkme+0x61/0x61 tp could be freed in call_rcu callback too, the order is not guaranteed. John Fastabend says: ==================== Its worth noting why this is safe. Any running schedulers will either read the valid class field or it will be zeroed. All schedulers today when the class is 0 do a lookup using the same call used by the tcf_exts_bind(). So even if we have a running classifier hit the null class pointer it will do a lookup and get to the same result. This is particularly fragile at the moment because the only way to verify this is to audit the schedulers call sites. ==================== Cc: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e0565697a106f2453b636da1ca481d9fe068bac Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Sep 30 16:07:23 2014 -0700 net_sched: fix another crash in cls_tcindex This patch fixes the following crash: [ 166.670795] BUG: unable to handle kernel NULL pointer dereference at (null) [ 166.674230] IP: [<ffffffff814b739f>] __list_del_entry+0x5c/0x98 [ 166.674230] PGD d0ea5067 PUD ce7fc067 PMD 0 [ 166.674230] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 166.674230] CPU: 1 PID: 775 Comm: tc Not tainted 3.17.0-rc6+ #642 [ 166.674230] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 166.674230] task: ffff8800d03c4d20 ti: ffff8800cae7c000 task.ti: ffff8800cae7c000 [ 166.674230] RIP: 0010:[<ffffffff814b739f>] [<ffffffff814b739f>] __list_del_entry+0x5c/0x98 [ 166.674230] RSP: 0018:ffff8800cae7f7d0 EFLAGS: 00010207 [ 166.674230] RAX: 0000000000000000 RBX: ffff8800cba8d700 RCX: ffff8800cba8d700 [ 166.674230] RDX: 0000000000000000 RSI: dead000000200200 RDI: ffff8800cba8d700 [ 166.674230] RBP: ffff8800cae7f7d0 R08: 0000000000000001 R09: 0000000000000001 [ 166.674230] R10: 0000000000000000 R11: 000000000000859a R12: ffffffffffffffe8 [ 166.674230] R13: ffff8800cba8c5b8 R14: 0000000000000001 R15: ffff8800cba8d700 [ 166.674230] FS: 00007fdb5f04a740(0000) GS:ffff88011a800000(0000) knlGS:0000000000000000 [ 166.674230] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 166.674230] CR2: 0000000000000000 CR3: 00000000cf929000 CR4: 00000000000006e0 [ 166.674230] Stack: [ 166.674230] ffff8800cae7f7e8 ffffffff814b73e8 ffff8800cba8d6e8 ffff8800cae7f828 [ 166.674230] ffffffff817caeec 0000000000000046 ffff8800cba8c5b0 ffff8800cba8c5b8 [ 166.674230] 0000000000000000 0000000000000001 ffff8800cf8e33e8 ffff8800cae7f848 [ 166.674230] Call Trace: [ 166.674230] [<ffffffff814b73e8>] list_del+0xd/0x2b [ 166.674230] [<ffffffff817caeec>] tcf_action_destroy+0x4c/0x71 [ 166.674230] [<ffffffff817ca0ce>] tcf_exts_destroy+0x20/0x2d [ 166.674230] [<ffffffff817ec2b5>] tcindex_delete+0x196/0x1b7 struct list_head can not be simply copied and we should always init it. Cc: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6320cbfc92910a3e5f10c42d98c231c98db4f60 Author: Jan Kara <jack@xxxxxxx> Date: Wed Oct 1 21:49:46 2014 -0400 ext4: fix mmap data corruption when blocksize < pagesize Use truncate_isize_extended() when hole is being created in a file so that ->page_mkwrite() will get called for the partial tail page if it is mmaped (see the first patch in the series for details). Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 90a8020278c1598fafd071736a0846b38510309c Author: Jan Kara <jack@xxxxxxx> Date: Wed Oct 1 21:49:18 2014 -0400 vfs: fix data corruption when blocksize < pagesize for mmaped data ->page_mkwrite() is used by filesystems to allocate blocks under a page which is becoming writeably mmapped in some process' address space. This allows a filesystem to return a page fault if there is not enough space available, user exceeds quota or similar problem happens, rather than silently discarding data later when writepage is called. However VFS fails to call ->page_mkwrite() in all the cases where filesystems need it when blocksize < pagesize. For example when blocksize = 1024, pagesize = 4096 the following is problematic: ftruncate(fd, 0); pwrite(fd, buf, 1024, 0); map = mmap(NULL, 1024, PROT_WRITE, MAP_SHARED, fd, 0); map[0] = 'a'; ----> page_mkwrite() for index 0 is called ftruncate(fd, 10000); /* or even pwrite(fd, buf, 1, 10000) */ mremap(map, 1024, 10000, 0); map[4095] = 'a'; ----> no page_mkwrite() called At the moment ->page_mkwrite() is called, filesystem can allocate only one block for the page because i_size == 1024. Otherwise it would create blocks beyond i_size which is generally undesirable. But later at ->writepage() time, we also need to store data at offset 4095 but we don't have block allocated for it. This patch introduces a helper function filesystems can use to have ->page_mkwrite() called at all the necessary moments. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 25e379c475121c658a344cfd5eeed9affe272d31 Merge: f44d61c 996c9fd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 1 21:35:58 2014 -0400 Merge branch 'udp_gso' Tom Herbert says: ==================== udp: Generalize GSO for UDP tunnels This patch set generalizes the UDP tunnel segmentation functions so that they can work with various protocol encapsulations. The primary change is to set the inner_protocol field in the skbuff when creating the encapsulated packet, and then in skb_udp_tunnel_segment this data is used to determine the function for segmenting the encapsulated packet. The inner_protocol field is overloaded to take either an Ethertype or IP protocol. The inner_protocol is set on transmit using skb_set_inner_ipproto or skb_set_inner_protocol functions. VXLAN and IP tunnels (for fou GSO) were modified to call these. Notes: - GSO for GRE/UDP where GRE checksum is enabled does not work. Handling this will require some special case code. - Software GSO now supports many varieties of encapsulation with SKB_GSO_UDP_TUNNEL{_CSUM}. We still need a mechanism to query for device support of particular combinations (I intend to add ndo_gso_check for that). - MPLS seems to be the only previous user of inner_protocol. I don't believe these patches can affect that. For supporting GSO with MPLS over UDP, the inner_protocol should be set using the helper functions in this patch. - GSO for L2TP/UDP should also be straightforward now. v2: - Respin for Eric's restructuring of skbuff. Tested GRE, IPIP, and SIT over fou as well as VLXAN. This was done using 200 TCP_STREAMs in netperf. GRE IPv4, FOU, UDP checksum enabled TCP_STREAM TSO enabled on tun interface 14.04% TX CPU utilization 13.17% RX CPU utilization 9211 Mbps TCP_STREAM TSO disabled on tun interface 27.82% TX CPU utilization 25.41% RX CPU utilization 9336 Mbps IPv4, FOU, UDP checksum disabled TCP_STREAM TSO enabled on tun interface 13.14% TX CPU utilization 23.18% RX CPU utilization 9277 Mbps TCP_STREAM TSO disabled on tun interface 30.00% TX CPU utilization 31.28% RX CPU utilization 9327 Mbps IPIP FOU, UDP checksum enabled TCP_STREAM TSO enabled on tun interface 15.28% TX CPU utilization 13.92% RX CPU utilization 9342 Mbps TCP_STREAM TSO disabled on tun interface 27.82% TX CPU utilization 25.41% RX CPU utilization 9336 Mbps FOU, UDP checksum disabled TCP_STREAM TSO enabled on tun interface 15.08% TX CPU utilization 24.64% RX CPU utilization 9226 Mbps TCP_STREAM TSO disabled on tun interface 30.00% TX CPU utilization 31.28% RX CPU utilization 9327 Mbps SIT FOU, UDP checksum enabled TCP_STREAM TSO enabled on tun interface 14.47% TX CPU utilization 14.58% RX CPU utilization 9106 Mbps TCP_STREAM TSO disabled on tun interface 31.82% TX CPU utilization 30.82% RX CPU utilization 9204 Mbps FOU, UDP checksum disabled TCP_STREAM TSO enabled on tun interface 15.70% TX CPU utilization 27.93% RX CPU utilization 9097 Mbps TCP_STREAM TSO disabled on tun interface 33.48% TX CPU utilization 37.36% RX CPU utilization 9197 Mbps VXLAN TCP_STREAM TSO enabled on tun interface 16.42% TX CPU utilization 23.66% RX CPU utilization 9081 Mbps TCP_STREAM TSO disabled on tun interface 30.32% TX CPU utilization 30.55% RX CPU utilization 9185 Mbps Baseline (no encp, TSO and LRO enabled) TCP_STREAM 11.85% TX CPU utilization 15.13% RX CPU utilization 9452 Mbps ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 996c9fd167c99b382bcb9c1eb833b5b4711140ab Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 29 20:22:33 2014 -0700 vxlan: Set inner protocol before transmit Call skb_set_inner_protocol to set inner Ethernet protocol to ETH_P_TEB before transmit. This is needed for GSO with UDP tunnels. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54bc9bac307861aea5abb747cb58bf0275f2175f Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 29 20:22:32 2014 -0700 gre: Set inner protocol in v4 and v6 GRE transmit Call skb_set_inner_protocol to set inner Ethernet protocol to protocol being encapsulation by GRE before tunnel_xmit. This is needed for GSO if UDP encapsulation (fou) is being done. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 077c5a0948cc7b75032288bd37bd6641ef05da76 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 29 20:22:31 2014 -0700 ipip: Set inner IP protocol in ipip Call skb_set_inner_ipproto to set inner IP protocol to IPPROTO_IPV4 before tunnel_xmit. This is needed if UDP encapsulation (fou) is being done. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 469471cdfc1902861fedafe8c5c1c8dbf5ad6ba6 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 29 20:22:30 2014 -0700 sit: Set inner IP protocol in sit Call skb_set_inner_ipproto to set inner IP protocol to IPPROTO_IPV6 before tunnel_xmit. This is needed if UDP encapsulation (fou) is being done. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8bce6d7d0d1ede22af334ee241841e9278365278 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 29 20:22:29 2014 -0700 udp: Generalize skb_udp_segment skb_udp_segment is the function called from udp4_ufo_fragment to segment a UDP tunnel packet. This function currently assumes segmentation is transparent Ethernet bridging (i.e. VXLAN encapsulation). This patch generalizes the function to operate on either Ethertype or IP protocol. The inner_protocol field must be set to the protocol of the inner header. This can now be either an Ethertype or an IP protocol (in a union). A new flag in the skbuff indicates which type is effective. skb_set_inner_protocol and skb_set_inner_ipproto helper functions were added to set the inner_protocol. These functions are called from the point where the tunnel encapsulation is occuring. When skb_udp_tunnel_segment is called, the function to segment the inner packet is selected based on the inner IP or Ethertype. In the case of an IP protocol encapsulation, the function is derived from inet[6]_offloads. In the case of Ethertype, skb->protocol is set to the inner_protocol and skb_mac_gso_segment is called. (GRE currently does this, but it might be possible to lookup the protocol in offload_base and call the appropriate segmenation function directly). Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f44d61cdd3ab4259289ccf314093eb45d83a69e6 Merge: 1b7bde6 fd10c2e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 1 21:30:46 2014 -0400 Merge branch 'bpf-next' Alexei Starovoitov says: ==================== bpf: add search pruning optimization and tests patch #1 commit log explains why eBPF verifier has to examine some instructions multiple times and describes the search pruning optimization that improves verification speed for branchy programs and allows more complex programs to be verified successfully. This patch completes the core verifier logic. patch #2 adds more verifier tests related to branches and search pruning I'm still working on Andy's 'bitmask for stack slots' suggestion. It will be done on top of this patch. The current verifier algorithm is brute force depth first search with state pruning. If anyone can come up with another algorithm that demonstrates better results, we'll replace the algorithm without affecting user space. Note verifier doesn't guarantee that all possible valid programs are accepted. Overly complex programs may still be rejected. Verifier improvements/optimizations will guarantee that if a program was passing verification in the past, it will still be passing. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd10c2ef3e0ad82a4003d8005f3e7716d19a9376 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Sep 29 18:50:02 2014 -0700 bpf: add tests to verifier testsuite add 4 extra tests to cover jump verification better Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1bca824dabba4ffe8582f87ca587780befce7ad Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Sep 29 18:50:01 2014 -0700 bpf: add search pruning optimization to verifier consider C program represented in eBPF: int filter(int arg) { int a, b, c, *ptr; if (arg == 1) ptr = &a; else if (arg == 2) ptr = &b; else ptr = &c; *ptr = 0; return 0; } eBPF verifier has to follow all possible paths through the program to recognize that '*ptr = 0' instruction would be safe to execute in all situations. It's doing it by picking a path towards the end and observes changes to registers and stack at every insn until it reaches bpf_exit. Then it comes back to one of the previous branches and goes towards the end again with potentially different values in registers. When program has a lot of branches, the number of possible combinations of branches is huge, so verifer has a hard limit of walking no more than 32k instructions. This limit can be reached and complex (but valid) programs could be rejected. Therefore it's important to recognize equivalent verifier states to prune this depth first search. Basic idea can be illustrated by the program (where .. are some eBPF insns): 1: .. 2: if (rX == rY) goto 4 3: .. 4: .. 5: .. 6: bpf_exit In the first pass towards bpf_exit the verifier will walk insns: 1, 2, 3, 4, 5, 6 Since insn#2 is a branch the verifier will remember its state in verifier stack to come back to it later. Since insn#4 is marked as 'branch target', the verifier will remember its state in explored_states[4] linked list. Once it reaches insn#6 successfully it will pop the state recorded at insn#2 and will continue. Without search pruning optimization verifier would have to walk 4, 5, 6 again, effectively simulating execution of insns 1, 2, 4, 5, 6 With search pruning it will check whether state at #4 after jumping from #2 is equivalent to one recorded in explored_states[4] during first pass. If there is an equivalent state, verifier can prune the search at #4 and declare this path to be safe as well. In other words two states at #4 are equivalent if execution of 1, 2, 3, 4 insns and 1, 2, 4 insns produces equivalent registers and stack. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b7bde6d659d30f171259cc2dfba8e5dab34e735 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Tue Sep 30 09:28:05 2014 +0800 net: fec: implement rx_copybreak to improve rx performance - Copy short frames and keep the buffers mapped, re-allocate skb instead of memory copy for long frames. - Add support for setting/getting rx_copybreak using generic ethtool tunable Changes V3: * As Eric Dumazet's suggestion that removing the copybreak module parameter and only keep the ethtool API support for rx_copybreak. Changes V2: * Implements rx_copybreak * Rx_copybreak provides module parameter to change this value * Add tunable_ops support for rx_copybreak Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce1a4ea3f125863bfbcb1afb76590ee2b7b93fbf Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 1 15:27:15 2014 -0700 net: avoid one atomic operation in skb_clone() Fast clone cloning can actually avoid an atomic_inc(), if we guarantee prior clone_ref value is 1. This requires a change kfree_skbmem(), to perform the atomic_dec_and_test() on clone_ref before setting fclone to SKB_FCLONE_UNAVAILABLE. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da5f10969d54006a24777a84ed3eaeeb2a21047f Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Thu Oct 2 09:44:54 2014 +1000 xfs: flush the range before zero range conversion XFS currently discards delalloc blocks within the target range of a zero range request. Unaligned start and end offsets are zeroed through the page cache and the internal, aligned blocks are converted to unwritten extents. If EOF is page aligned and covered by a delayed allocation extent. The inode size is not updated until I/O completion. If a zero range request discards a delalloc range that covers page aligned EOF as such, the inode size update never occurs. For example: $ rm -f /mnt/file $ xfs_io -fc "pwrite 0 64k" -c "zero 60k 4k" /mnt/file $ stat -c "%s" /mnt/file 65536 $ umount /mnt $ mount <dev> /mnt $ stat -c "%s" /mnt/file 61440 Update xfs_zero_file_space() to flush the range rather than discard delalloc blocks to ensure that inode size updates occur appropriately. [dchinner: Note that this is really a workaround to avoid the underlying problems. More work is needed (and ongoing) to fix those issues so this fix is being added as a temporary stop-gap measure. ] Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 07d08681d26e99d8ba3bc4e56380f2cc04d3ff3b Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Thu Oct 2 09:42:06 2014 +1000 xfs: restore buffer_head unwritten bit on ioend cancel xfs_vm_writepage() walks each buffer_head on the page, maps to the block on disk and attaches to a running ioend structure that represents the I/O submission. A new ioend is created when the type of I/O (unwritten, delayed allocation or overwrite) required for a particular buffer_head differs from the previous. If a buffer_head is a delalloc or unwritten buffer, the associated bits are cleared by xfs_map_at_offset() once the buffer_head is added to the ioend. The process of mapping each buffer_head occurs in xfs_map_blocks() and acquires the ilock in blocking or non-blocking mode, depending on the type of writeback in progress. If the lock cannot be acquired for non-blocking writeback, we cancel the ioend, redirty the page and return. Writeback will revisit the page at some later point. Note that we acquire the ilock for each buffer on the page. Therefore during non-blocking writeback, it is possible to add an unwritten buffer to the ioend, clear the unwritten state, fail to acquire the ilock when mapping a subsequent buffer and cancel the ioend. If this occurs, the unwritten status of the buffer sitting in the ioend has been lost. The page will eventually hit writeback again, but xfs_vm_writepage() submits overwrite I/O instead of unwritten I/O and does not perform unwritten extent conversion at I/O completion. This leads to data corruption because unwritten extents are treated as holes on reads and zeroes are returned instead of reading from disk. Modify xfs_cancel_ioend() to restore the buffer unwritten bit for ioends of type XFS_IO_UNWRITTEN. This ensures that unwritten extent conversion occurs once the page is eventually written back. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 5cca3f611d159e5a4a5ec60413bd09948ef40aea Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Thu Oct 2 09:27:09 2014 +1000 xfs: check for null dquot in xfs_quota_calc_throttle() Coverity spotted this. Granted, we *just* checked xfs_inod_dquot() in the caller (by calling xfs_quota_need_throttle). However, this is the only place we don't check the return value but the check is cheap and future-proof so add it. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 04dd1a0d4b17a71220eae4fb313218f15a49bcdd Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Thu Oct 2 09:24:11 2014 +1000 xfs: fix crc field handling in xfs_sb_to/from_disk I discovered this in userspace, but the same change applies to the kernel. If we xfs_mdrestore an image from a non-crc filesystem, lo and behold the restored image has gained a CRC: # db/xfs_metadump.sh -o /dev/sdc1 - | xfs_mdrestore - test.img # xfs_db -c "sb 0" -c "p crc" /dev/sdc1 crc = 0 (correct) # xfs_db -c "sb 0" -c "p crc" test.img crc = 0xb6f8d6a0 (correct) This is because xfs_sb_from_disk doesn't fill in sb_crc, but xfs_sb_to_disk(XFS_SB_ALL_BITS) does write the in-memory CRC to disk - so we get uninitialized memory on disk. Fix this by always initializing sb_crc to 0 when we read the superblock, and masking out the CRC bit from ALL_BITS when we write it. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 6ee49a20c13b4b4e79a3bba406df8106cff284a1 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Thu Oct 2 09:23:49 2014 +1000 xfs: don't send null bp to xfs_trans_brelse() In this case, if bp is NULL, error is set, and we send a NULL bp to xfs_trans_brelse, which will try to dereference it. Test whether we actually have a buffer before we try to free it. Coverity spotted this. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ce57bcf6b81caf1e9f780e98e8d23d3555746d74 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Thu Oct 2 09:21:53 2014 +1000 xfs: check for inode size overflow in xfs_new_eof() If we write to the maximum file offset (2^63-2), XFS fails to log the inode size update when the page is flushed. For example: $ xfs_io -fc "pwrite `echo "2^63-1-1" | bc` 1" /mnt/file wrote 1/1 bytes at offset 9223372036854775806 1.000000 bytes, 1 ops; 0.0000 sec (22.711 KiB/sec and 23255.8140 ops/sec) $ stat -c %s /mnt/file 9223372036854775807 $ umount /mnt ; mount <dev> /mnt/ $ stat -c %s /mnt/file 0 This occurs because XFS calculates the new file size as io_offset + io_size, I/O occurs in block sized requests, and the maximum supported file size is not block aligned. Therefore, a write to the max allowable offset on a 4k blocksize fs results in a write of size 4k to offset 2^63-4096 (e.g., equivalent to round_down(2^63-1, 4096), or IOW the offset of the block that contains the max file size). The offset plus size calculation (2^63 - 4096 + 4096 == 2^63) overflows the signed 64-bit variable which goes negative and causes the > comparison to the on-disk inode size to fail. This returns 0 from xfs_new_eof() and results in no change to the inode on-disk. Update xfs_new_eof() to explicitly detect overflow of the local calculation and use the VFS inode size in this scenario. The VFS inode size is capped to the maximum and thus XFS writes the correct inode size to disk. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a872703f34cd6033d0b174fa598f63f1a57145bb Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:20:30 2014 +1000 xfs: only set extent size hint when asked Currently the extent size hint is set unconditionally in xfs_ioctl_setattr() when the FSX_EXTSIZE flag is set. Hence we can set hints when the inode flags indicating the hint should be used are not set. Hence only set the extent size hint from userspace when the inode has the XFS_DIFLAG_EXTSIZE flag set to indicate that we should have an extent size hint set on the inode. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 9336e3a765b68d4a7fdd8256f393ebce95ecb0a7 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:18:40 2014 +1000 xfs: project id inheritance is a directory only flag xfs_set_diflags() allows it to be set on non-directory inodes, and this flags errors in xfs_repair. Further, inode allocation allows the same directory-only flag to be inherited to non-directories. Make sure directory inode flags don't appear on other types of inodes. This fixes several xfstests scratch fileystem corruption reports (e.g. xfs/050) now that xfstests checks scratch filesystems after test completion. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e076b0f3a5c472e77c0a0e163188f2761e8b4fed Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:18:13 2014 +1000 xfs: kill time.h The typedef for timespecs and nanotime() are completely unnecessary, and delay() can be moved to fs/xfs/linux.h, which means this file can go away. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b1d6cc02f2f6a590c4d8dc2c3bcf7be3b9419945 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:17:58 2014 +1000 xfs: compat_xfs_bstat does not have forkoff struct compat_xfs_bstat is missing the di_forkoff field and so does not fully translate the structure correctly. Fix it. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 75e58ce4c8f354f1a68a8bb8a9692827cdaf3d21 Merge: bd438f8 8c15612 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Thu Oct 2 09:11:14 2014 +1000 Merge branch 'xfs-buf-iosubmit' into for-next commit 8c15612546bce1ecafb7dee3cce8a2a9b560e15e Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Thu Oct 2 09:05:44 2014 +1000 xfs: simplify xfs_zero_remaining_bytes xfs_zero_remaining_bytes() open codes a log of buffer manupulations to do a read forllowed by a write. It can simply be replaced by an uncached read followed by a xfs_bwrite() call. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ba3726742c1712c43c5a18245476f3fe9fe74773 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:05:32 2014 +1000 xfs: check xfs_buf_read_uncached returns correctly xfs_buf_read_uncached() has two failure modes. If can either return NULL or bp->b_error != 0 depending on the type of failure, and not all callers check for both. Fix it so that xfs_buf_read_uncached() always returns the error status, and the buffer is returned as a function parameter. The buffer will only be returned on success. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 595bff75dce51e0d6d94877b4b6d11b4747a63fd Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:05:14 2014 +1000 xfs: introduce xfs_buf_submit[_wait] There is a lot of cookie-cutter code that looks like: if (shutdown) handle buffer error xfs_buf_iorequest(bp) error = xfs_buf_iowait(bp) if (error) handle buffer error spread through XFS. There's significant complexity now in xfs_buf_iorequest() to specifically handle this sort of synchronous IO pattern, but there's all sorts of nasty surprises in different error handling code dependent on who owns the buffer references and the locks. Pull this pattern into a single helper, where we can hide all the synchronous IO warts and hence make the error handling for all the callers much saner. This removes the need for a special extra reference to protect IO completion processing, as we can now hold a single reference across dispatch and waiting, simplifying the sync IO smeantics and error handling. In doing this, also rename xfs_buf_iorequest to xfs_buf_submit and make it explicitly handle on asynchronous IO. This forces all users to be switched specifically to one interface or the other and removes any ambiguity between how the interfaces are to be used. It also means that xfs_buf_iowait() goes away. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8b131973d1628f1a0c5a36fe02269d696bbe60a3 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:05:05 2014 +1000 xfs: kill xfs_bioerror_relse There is only one caller now - xfs_trans_read_buf_map() - and it has very well defined call semantics - read, synchronous, and b_iodone is NULL. Hence it's pretty clear what error handling is necessary for this case. The bigger problem of untangling xfs_trans_read_buf_map error handling is left to a future patch. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2718775469a521c8b35442db5d665ac0c8c3c8ac Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:56 2014 +1000 xfs: xfs_bioerror can die. Internal buffer write error handling is a mess due to the unnatural split between xfs_bioerror and xfs_bioerror_relse(). xfs_bwrite() only does sync IO and determines the handler to call based on b_iodone, so for this caller the only difference between xfs_bioerror() and xfs_bioerror_release() is the XBF_DONE flag. We don't care what the XBF_DONE flag state is because we stale the buffer in both paths - the next buffer lookup will clear XBF_DONE because XBF_STALE is set. Hence we can use common error handling for xfs_bwrite(). __xfs_buf_delwri_submit() is a similar - it's only ever called on writes - all sync or async - and again there's no reason to handle them any differently at all. Clean up the nasty error handling and remove xfs_bioerror(). Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8dac39219827113f14e97507646a610ca426b69e Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:40 2014 +1000 xfs: kill xfs_bdstrat_cb Only has two callers, and is just a shutdown check and error handler around xfs_buf_iorequest. However, the error handling is a mess of read and write semantics, and both internal callers only call it for writes. Hence kill the wrapper, and follow up with a patch to sanitise the error handling. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 61be9c529a4a715ab8679e9ca82bc3790c7ab66c Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:31 2014 +1000 xfs: rework xfs_buf_bio_endio error handling Currently the report of a bio error from completion immediately marks the buffer with an error. The issue is that this is racy w.r.t. synchronous IO - the submitter can see b_error being set before the IO is complete, and hence we cannot differentiate between submission failures and completion failures. Add an internal b_io_error field protected by the b_lock to catch IO completion errors, and only propagate that to the buffer during final IO completion handling. Hence we can tell in xfs_buf_iorequest if we've had a submission failure bey checking bp->b_error before dropping our b_io_remaining reference - that reference will prevent b_io_error values from being propagated to b_error in the event that completion races with submission. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e8aaba9a783c8e5d2c58ebe69650ea31b91bb745 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:22 2014 +1000 xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality We do some work in xfs_buf_ioend, and some work in xfs_buf_iodone_work, but much of that functionality is the same. This work can all be done in a single function, leaving xfs_buf_iodone just a wrapper to determine if we should execute it by workqueue or directly. hence rename xfs_buf_iodone_work to xfs_buf_ioend(), and add a new xfs_buf_ioend_async() for places that need async processing. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e11bb8052c3f500e66142f33579cc054d691a8fb Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:11 2014 +1000 xfs: synchronous buffer IO needs a reference When synchronous IO runs IO completion work, it does so without an IO reference or a hold reference on the buffer. The IO "hold reference" is owned by the submitter, and released when the submission is complete. The IO reference is released when both the submitter and the bio end_io processing is run, and so if the io completion work is run from IO completion context, it is run without an IO reference. Hence we can get the situation where the submitter can submit the IO, see an error on the buffer and unlock and free the buffer while there is still IO in progress. This leads to use-after-free and memory corruption. Fix this by taking a "sync IO hold" reference that is owned by the IO and not released until after the buffer completion calls are run to wake up synchronous waiters. This means that the buffer will not be freed in any circumstance until all IO processing is completed. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit cf53e99d192171a58791136d33fd3fea5d8bab35 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:01 2014 +1000 xfs: Don't use xfs_buf_iowait in the delwri buffer code For the special case of delwri buffer submission and waiting, we don't need to issue IO synchronously at all. The second pass to call xfs_buf_iowait() can be replaced with blocking on xfs_buf_lock() - the buffer will be unlocked when the async IO is complete. This formalises a sane the method of waiting for async IO - take an extra reference, submit the IO, call xfs_buf_lock() when you want to wait for IO completion. i.e.: bp = xfs_buf_find(); xfs_buf_hold(bp); bp->b_flags |= XBF_ASYNC; xfs_buf_iosubmit(bp); xfs_buf_lock(bp) error = bp->b_error; .... xfs_buf_relse(bp); While this is somewhat racy for gathering IO errors, none of the code that calls xfs_buf_delwri_submit() will race against other users of the buffers being submitted. Even if they do, we don't really care if the error is detected by the delwri code or the user we raced against. Either way, the error will be detected and handled. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a870fe6dfaba1cc67424cde4cfd2cd3eee62bf35 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:02:28 2014 +1000 xfs: force the log before shutting down When we have marked the filesystem for shutdown, we want to prevent any further buffer IO from being submitted. However, we currently force the log after marking the filesystem as shut down, hence allowing IO to the log *after* we have marked both the filesystem and the log as in an error state. Clean this up by forcing the log before we mark the filesytem with an error. This replaces the pure CIL flush that we currently have which works around this same issue (i.e the CIL can't be flushed once the shutdown flags are set) and hence enables us to clean up the logic substantially. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b9c9c2558ba366d59dc242872da883a879b8ffc6 Merge: 5d85142 c8df6ac Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Oct 1 16:45:01 2014 -0600 Merge branch 'pci/host-designware' into next * pci/host-designware: PCI: designware: Remove open-coded bitmap operations PCI: designware: Setup and clear exactly one MSI at a time Conflicts: drivers/pci/host/pcie-designware.c commit 5d85142b9e5264a925e4d582c3b0d7297d9c2713 Merge: 359c660 d61b0e8 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Oct 1 16:43:41 2014 -0600 Merge branch 'pci/resource' into next * pci/resource: PCI: Add missing MEM_64 mask in pci_assign_unassigned_bridge_resources() commit e500f488c27659bb6f5d313b336621f3daa67701 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 06:52:06 2014 +0200 net/dccp/ccid.c: add __init to ccid_activate ccid_activate is only called by __init ccid_initialize_builtins in same module. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c5b8a46294d43fc63788839d3c18de0961ec1bc Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 06:48:03 2014 +0200 net/dccp/proto.c: add __init to dccp_mib_init dccp_mib_init is only called by __init dccp_init in same module. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 082f58ac4a48d3f5cb4597232cb2ac6823a96f43 Author: Quinn Tran <quinn.tran@xxxxxxxxxx> Date: Thu Sep 25 06:22:28 2014 -0400 target: Fix queue full status NULL pointer for SCF_TRANSPORT_TASK_SENSE During temporary resource starvation at lower transport layer, command is placed on queue full retry path, which expose this problem. The TCM queue full handling of SCF_TRANSPORT_TASK_SENSE currently sends the same cmd twice to lower layer. The 1st time led to cmd normal free path. The 2nd time cause Null pointer access. This regression bug was originally introduced v3.1-rc code in the following commit: commit e057f53308a5f071556ee80586b99ee755bf07f5 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Mon Oct 17 13:56:41 2011 -0400 target: remove the transport_qf_callback se_cmd callback Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.1+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit db3a99b9921f27fe71ca8c0f218ee810e0e7fb69 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:19 2014 -0400 qla_target: rearrange struct qla_tgt_prm On most (non-x86) 64bit platforms this will remove 8 padding bytes from the structure. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f9b6721a9cef94908467abf7a2cacbd15a7d23cb Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:18 2014 -0400 qla_target: improve qlt_unmap_sg() Remove the inline attribute. Modern compilers ignore it and the function has grown beyond where inline made sense anyway. Remove the BUG_ON(!cmd->sg_mapped), and instead return if sg_mapped is not set. Every caller is doing this check, so we might as well have it in one place instead of four. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 55a9066fffd2f533e7ed434b072469ef09d6c476 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:15 2014 -0400 qla_target: make some global functions static Also removes the declarations from the header - including two declarations without function definitions or callers. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c57010420654aca179c500f61e86315a337244ca Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:14 2014 -0400 qla_target: remove unused parameter Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f81ccb489a7a641c1bed41b49cf8d72c199c68d5 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:13 2014 -0400 target: simplify core_tmr_abort_task list_for_each_entry_safe is necessary if list objects are deleted from the list while traversing it. Not the case here, so we can use the base list_for_each_entry variant. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 33940d09937276cd3c81f2874faf43e37c2db0e2 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:12 2014 -0400 target: encapsulate smp_mb__after_atomic() The target code has a rather generous helping of smp_mb__after_atomic() throughout the code base. Most atomic operations were followed by one and none were preceded by smp_mb__before_atomic(), nor accompanied by a comment explaining the need for a barrier. Instead of trying to prove for every case whether or not it is needed, this patch introduces atomic_inc_mb() and atomic_dec_mb(), which explicitly include the memory barriers before and after the atomic operation. For now they are defined in a target header, although they could be of general use. Most of the existing atomic/mb combinations were replaced by the new helpers. In a few cases the atomic was sandwiched in spin_lock/spin_unlock and I simply removed the barrier. I suspect that in most cases the correct conversion would have been to drop the barrier. I also suspect that a few cases exist where a) the barrier was necessary and b) a second barrier before the atomic would have been necessary and got added by this patch. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 74ed7e62289dc6d388996d7c8f89c2e7e95b9657 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:11 2014 -0400 target: remove some smp_mb__after_atomic()s atomic_inc_return() already does an implicit memory barrier and the second case was moved from an atomic to a plain flag operation. If a barrier were needed in the second case, it would have to be smp_mb(), not a variant optimized away for x86 and other architectures. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 8f83269048628d7b139dacbfc6cc97befcbdd2e9 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:10 2014 -0400 target: simplify core_tmr_release_req() And while at it, do minimal coding style fixes in the area. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9c7d6154bc4b9dfefd580490cdca5f7c72321464 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Jun 30 16:39:46 2014 -0700 target: Remove core_tpg_release_virtual_lun0 function Simple and just called from one place. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cd9d7cbaec8b622eee4edcd8bf481c4047f74915 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Jun 30 16:39:44 2014 -0700 target: Change core_dev_del_lun to take a se_lun instead of unpacked_lun Remove core_tpg_pre_dellun entirely, since we don't need to get/check a pointer we already have. Nothing else can return an error, so core_dev_del_lun can return void. Rename core_tpg_post_dellun to remove_lun - a clearer name, now that pre_dellun is gone. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cc83881f2c57caaf4b14adaffa65595640a59661 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Jun 30 16:39:43 2014 -0700 target: core_tpg_post_dellun can return void Nothing in it can raise an error. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit aa55c8e2f7a395dfc9e67fc6637321e19ce9bfe1 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 20:02:24 2014 +0900 kbuild: handle C=... and M=... after entering into build directory This commit avoids processing C=... and M=... twice when O=... is also given. Besides, we can also remove KBUILD_EXTMOD="$(KBUILD_EXTMOD)" in the sub-make target. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 745a254322c898dadf019342cd7140f7867d2d0f Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 20:02:23 2014 +0900 kbuild: use $(Q) for sub-make target Since commit 066b7ed9558087a7957a1128f27d7a3462ff117f (kbuild: Do not print the build directory with make -s), "Q" is defined above the sub-make target. This commit takes advantage of that and replaces "$(if $(KBUILD_VERBOSE:1=),@)" with "$(Q)". Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 7ff525712acf9325e9acdb27bbc93049ea2e850c Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 20:02:22 2014 +0900 kbuild: fake the "Entering directory ..." message more simply Commit c2e28dc975ea87feed84415006ae143424912ac7 (kbuild: Print the name of the build directory) added a gimmick to show the "Entering directory ...". Instead of echoing the hard-coded message (that is, we need to know the exact message), moving --no-print-directory would be easier. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 7b7b7f7e024460cb7d77f8f96b6eb1a8803f94d9 Merge: baf3781 0f1ca65 Author: Jens Axboe <axboe@xxxxxx> Date: Wed Oct 1 14:37:25 2014 -0600 Merge branch 'stable/for-jens-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-3.18/drivers Konrad writes: This pull has two fixes and one cleanup. Nothing earthshattering. commit 1e918876853aa85435e0f17fd8b4a92dcfff53d6 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Oct 1 13:38:03 2014 +0200 r8169: add support for Byte Queue Limits tested on RTL8168d/8111d model using 'super_netperf 40' with TCP/UDP_STREAM. Output of while true; do for n in inflight limit; do echo -n $n\ ; cat $n; done; sleep 1; done during netperf run, 100mbit peer: inflight 0 limit 3028 inflight 6056 limit 4542 [ trimmed output for brevity, no limit/inflight changes during test steady-state ] limit 4542 inflight 3028 limit 6122 inflight 0 limit 6122 [ changed cable to 1gbit peer, restart netperf ] inflight 37850 limit 36336 inflight 33308 limit 31794 inflight 33308 limit 31794 inflight 27252 limit 25738 [ again, no changes during test ] inflight 27252 limit 25738 inflight 0 limit 28766 [ change cable to 100mbit peer, restart netperf ] limit 28766 inflight 27370 limit 28766 inflight 4542 limit 5990 inflight 6056 limit 4542 [ .. ] inflight 6056 limit 4542 inflight 0 [end of test] Cc: Francois Romieu <romieu@xxxxxxxxxxxxx> Cc: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0bf4a9e92b9a93ffeeacbd7b6cb83e0ee3dc2ef Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 29 13:29:15 2014 -0700 net: cleanup and document skb fclone layout Lets use a proper structure to clearly document and implement skb fast clones. Then, we might experiment more easily alternative layouts. This patch adds a new skb_fclone_busy() helper, used by tcp and xfrm, to stop leaking of implementation details. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f1ca65ee50df042051e8fa3a14f73b0c71d45b9 Author: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Date: Fri Aug 22 13:20:02 2014 +0200 xen, blkfront: factor out flush-related checks from do_blkif_request() This commit factors out some checks related to the request insertion path, which can be done in an function instead of by itself. Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit 61cecca865280bef4f8a9748d0a9afa5df351ac2 Author: Roger Pau Monné <roger.pau@xxxxxxxxxx> Date: Mon Sep 15 11:55:27 2014 +0200 xen-blkback: fix leak on grant map error path Fix leaking a page when a grant mapping has failed. CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reported-and-Tested-by: Tao Chen <boby.chen@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit 12ea729645ace01e08f9654df155622898d3aae6 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Mon Sep 8 15:21:33 2014 +0200 xen/blkback: unmap all persistent grants when frontend gets disconnected blkback does not unmap persistent grants when frontend goes to Closed state (e.g. when blkfront module is being removed). This leads to the following in guest's dmesg: [ 343.243825] xen:grant_table: WARNING: g.e. 0x445 still in use! [ 343.243825] xen:grant_table: WARNING: g.e. 0x42a still in use! ... When load module -> use device -> unload module sequence is performed multiple times it is possible to hit BUG() condition in blkfront module: [ 343.243825] kernel BUG at drivers/block/xen-blkfront.c:954! [ 343.243825] invalid opcode: 0000 [#1] SMP [ 343.243825] Modules linked in: xen_blkfront(-) ata_generic pata_acpi [last unloaded: xen_blkfront] ... [ 343.243825] Call Trace: [ 343.243825] [<ffffffff814111ef>] ? unregister_xenbus_watch+0x16f/0x1e0 [ 343.243825] [<ffffffffa0016fbf>] blkfront_remove+0x3f/0x140 [xen_blkfront] ... [ 343.243825] RIP [<ffffffffa0016aae>] blkif_free+0x34e/0x360 [xen_blkfront] [ 343.243825] RSP <ffff88001eb8fdc0> We don't need to keep these grants if we're disconnecting as frontend might already forgot about them. Solve the issue by moving xen_blkbk_free_caches() call from xen_blkif_free() to xen_blkif_disconnect(). Now we can see the following: [ 928.590893] xen:grant_table: WARNING: g.e. 0x587 still in use! [ 928.591861] xen:grant_table: WARNING: g.e. 0x372 still in use! ... [ 929.592146] xen:grant_table: freeing g.e. 0x587 [ 929.597174] xen:grant_table: freeing g.e. 0x372 ... Backend does not keep persistent grants any more, reconnect works fine. CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit b248230c34970a6c1c17c591d63b464e8d2cfc33 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Mon Sep 29 13:20:38 2014 -0700 tcp: abort orphan sockets stalling on zero window probes Currently we have two different policies for orphan sockets that repeatedly stall on zero window ACKs. If a socket gets a zero window ACK when it is transmitting data, the RTO is used to probe the window. The socket is aborted after roughly tcp_orphan_retries() retries (as in tcp_write_timeout()). But if the socket was idle when it received the zero window ACK, and later wants to send more data, we use the probe timer to probe the window. If the receiver always returns zero window ACKs, icsk_probes keeps getting reset in tcp_ack() and the orphan socket can stall forever until the system reaches the orphan limit (as commented in tcp_probe_timer()). This opens up a simple attack to create lots of hanging orphan sockets to burn the memory and the CPU, as demonstrated in the recent netdev post "TCP connection will hang in FIN_WAIT1 after closing if zero window is advertised." http://www.spinics.net/lists/netdev/msg296539.html This patch follows the design in RTO-based probe: we abort an orphan socket stalling on zero window when the probe timer reaches both the maximum backoff and the maximum RTO. For example, an 100ms RTT connection will timeout after roughly 153 seconds (0.3 + 0.6 + .... + 76.8) if the receiver keeps the window shut. If the orphan socket passes this check, but the system already has too many orphans (as in tcp_out_of_resources()), we still abort it but we'll also send an RST packet as the connection may still be active. In addition, we change TCP_USER_TIMEOUT to cover (life or dead) sockets stalled on zero-window probes. This changes the semantics of TCP_USER_TIMEOUT slightly because it previously only applies when the socket has pending transmission. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Reported-by: Andrey Dmitrov <andrey.dmitrov@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit baf378126b08474de2e2428b16e62a69df0339d9 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 14:07:39 2014 -0600 rsxx: Remove deprecated IRQF_DISABLED This removes the use of the IRQF_DISABLED flag from drivers/block/rsxx/core.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Acked-by Philip Kelleher <pjk1939@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit cb57659a15c6c0576493cc8a10474ce7ffd44eb3 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 19:30:03 2014 +0200 cipso: add __init to cipso_v4_cache_init cipso_v4_cache_init is only called by __init cipso_v4_init Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57a02c39c1c20ed03a86f8014c11a8c18b94cac3 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 19:18:57 2014 +0200 inet: frags: add __init to ip4_frags_ctl_register ip4_frags_ctl_register is only called by __init ipfrag_init Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47d7a88c188f06ffaea3a539f84fe10cb4e77787 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 18:27:50 2014 +0200 tcp: add __init to tcp_init_mem tcp_init_mem is only called by __init tcp_init. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee7a1beb9759c94aea67dd887faf5e447a5c6710 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:21 2014 +0800 r8169:call "rtl8168_driver_start" "rtl8168_driver_stop" only when hardware dash function is enabled These two functions are used to inform dash firmware that driver is been brought up or brought down. So call these two functions only when hardware dash function is enabled. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a9b4d9670e71784896d95c41c9b0acd50db1dbb Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:20 2014 +0800 r8169:modify the behavior of function "rtl8168_oob_notify" In function "rtl8168_oob_notify", using function "rtl_eri_write" to access eri register 0xe8, instead of using MAC register "ERIDR" and "ERIAR" to access it. For using function "rtl_eri_write" in function "rtl8168_oob_notify", need to move down "rtl8168_oob_notify" related functions under the function "rtl_eri_write". Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f8c040ce6791ef0477e6d59768ee3d5fd0df0fd Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:19 2014 +0800 r8169:change the name of function "r8168dp_check_dash" to "r8168_check_dash" DASH function not only RTL8168DP can support, but also RTL8168EP. So change the name of function "r8168dp_check_dash" to "r8168_check_dash". Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 706123d06c18b55da5e9da21e2d138ee789bf8f4 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:18 2014 +0800 r8169:change the name of function"rtl_w1w0_eri" Change the name of function "rtl_w1w0_eri" to "rtl_w0w1_eri". In this function, the local variable "val" is "write zeros then write ones". Please see below code. (val & ~m) | p In this patch, change the function name from "xx_w1w0_xx" to "xx_w0w1_xx". The changed function name is more suitable for it's behavior. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7656442824f6174b56a19c664fe560972df56ad4 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:17 2014 +0800 r8169:for function "rtl_w1w0_phy" change its name and behavior Change function name from "rtl_w1w0_phy" to "rtl_w0w1_phy". And its behavior from "write ones then write zeros" to "write zeros then write ones". In Realtek internal driver, bitwise operations are almost "write zeros then write ones". For easy to port hardware parameters from Realtek internal driver to Linux kernal driver "r8169", we would like to change this function's behavior and its name. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac85bcdbc0ffd3903d6db4abcd769ecacf98605b Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:16 2014 +0800 r8169:add more chips to support magic packet v2 For RTL8168F RTL8168FB RTL8168G RTL8168GU RTL8411 RTL8411B RTL8402 RTL8107E, the magic packet enable bit is changed to eri 0xde bit0. In this patch, change magic packet enable bit of these chips to eri 0xde bit0. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89cceb2729c752e6ff9b3bc8650a70f29884f116 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:15 2014 +0800 r8169:add support more chips to get mac address from backup mac address register RTL8168FB RTL8168G RTL8168GU RTL8411 RTL8411B RTL8106EUS RTL8402 can support get mac address from backup mac address register. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42fde7371035144037844f41bd16950de9912bdb Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:14 2014 +0800 r8169:add disable/enable RTL8411B pll function RTL8411B can support disable/enable pll function. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8e5e6ad7115befef13a4493f1d2b8e438abc058 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:13 2014 +0800 r8169:add disable/enable RTL8168G pll function RTL8168G also can disable/enable pll function. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05b9687bb3606190304f08c2e4cd63de8717e30b Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:12 2014 +0800 r8169:change uppercase number to lowercase number Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a29c9c43bb633a9965909cd548879fee4aa789a4 Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Wed Oct 1 11:05:27 2014 -0400 sunvnet: fix potential NULL pointer dereference One of the error cases for vnet_start_xmit()'s "out_dropped" label is port == NULL, so only mess with port->clean_timer when port is not NULL. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e506d405ac7d34d03996c97ac68aa2ac010be64a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Oct 1 13:59:00 2014 +0200 net: dsa: Fix build warning for !PM_SLEEP The dsa_switch_suspend() and dsa_switch_resume() functions are only used when PM_SLEEP is enabled, so they need #ifdef CONFIG_PM_SLEEP protection to avoid a compiler warning. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f6b6ccdbe1cdfa5aa4347ec5412509b8995db27 Author: Tanmay Inamdar <tinamdar@xxxxxxx> Date: Wed Oct 1 13:01:35 2014 -0600 PCI: xgene: Add APM X-Gene PCIe driver Add the AppliedMicro X-Gene SOC PCIe host controller driver. The X-Gene PCIe controller supports up to 8 lanes and GEN3 speed. The X-Gene SOC supports up to 5 PCIe ports. [bhelgaas: folded in MAINTAINERS and bindings updates] Tested-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Signed-off-by: Tanmay Inamdar <tinamdar@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> (driver) commit 3c87dcbfb36ce6d3d9087f0163c02ba5690d9a85 Author: Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xxxxxxxxxx> Date: Wed Oct 1 11:01:17 2014 +0200 net: ll_temac: Remove unnecessary ether_setup after alloc_etherdev Calling ether_setup is redundant since alloc_etherdev calls it. Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8493ecca74a7b4a66e19676de1a0f14194179941 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Wed Oct 1 11:59:47 2014 -0400 HID: uHID: fix excepted report type When uhid_get_report() or uhid_set_report() are called, they emit on the char device a UHID_GET_REPORT or UHID_SET_REPORT message. Then, the protocol says that the user space asnwers with UHID_GET_REPORT_REPLY or UHID_SET_REPORT_REPLY. Unfortunatelly, the current code waits for an event of type UHID_GET_REPORT or UHID_SET_REPORT instead of the reply one. Add 1 to UHID_GET_REPORT or UHID_SET_REPORT to actually wait for the reply, and validate the reply. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 20cc28882bf4a8c9a2605a9a76a7952e696aaece Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Wed Oct 1 11:36:32 2014 -0700 x86, boot, kaslr: Fix nuisance warning on 32-bit builds Building 32-bit threw a warning on kASLR enabled builds: arch/x86/boot/compressed/aslr.c: In function â??mem_avoid_overlapâ??: arch/x86/boot/compressed/aslr.c:198:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] avoid.start = (u64)ptr; ^ This fixes the warning; unsigned long should have been used here. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20141001183632.GA11431@xxxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit c8df6ac9452e8f47a6f660993c526d13e858a6f3 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Tue Sep 30 18:36:27 2014 +0200 PCI: designware: Remove open-coded bitmap operations Replace them by using the standard kernel bitmap ops. No functional change, but makes the code a lot cleaner. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> commit 359c660e99d1431a9b08b240bfc31acc3d658efe Merge: 07a7cbd 5ec0940 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Oct 1 12:31:46 2014 -0600 Merge branch 'pci/msi' into next * pci/msi: PCI/MSI: Remove unnecessary temporary variable PCI/MSI: Use __write_msi_msg() instead of write_msi_msg() MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg() PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg() PCI/MSI: Add "msi_bus" sysfs MSI/MSI-X control for endpoints PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib PCI/MSI: Remove unused kobject from struct msi_desc PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported() PCI/MSI: Move D0 check into pci_msi_check_device() PCI/MSI: Remove arch_msi_check_device() irqchip: armada-370-xp: Remove arch_msi_check_device() PCI/MSI/PPC: Remove arch_msi_check_device() Conflicts: drivers/pci/host/pcie-designware.c commit 07a7cbd3b815ea77b44d4d5bb4260b37d03a358d Merge: cc0cb67 d1e6dc9 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Oct 1 12:31:23 2014 -0600 Merge branch 'pci/host-generic' into next * pci/host-generic: arm64: Add architectural support for PCI PCI: Add pci_remap_iospace() to map bus I/O resources of/pci: Add support for parsing PCI host bridge resources from DT of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr() PCI: Add generic domain handling of/pci: Fix the conversion of IO ranges into IO resources of/pci: Move of_pci_range_to_resource() to of/address.c ARM: Define PCI_IOBASE as the base of virtual PCI IO space of/pci: Add pci_register_io_range() and pci_pio_to_address() asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP Conflicts: drivers/pci/host/pci-tegra.c commit cc0cb67adb97793e76bf6f1f6e05694f6311cebd Merge: 1104528 846fc70 100ebb2 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Oct 1 12:30:58 2014 -0600 Merge branches 'pci/aer' and 'pci/virtualization' into next * pci/aer: PCI/AER: Rename PCI_ERR_UNC_TRAIN to PCI_ERR_UNC_UND PCI/AER: Add additional PCIe AER error strings trace, RAS: Add additional PCIe AER error strings trace, RAS: Replace bare numbers with #defines for PCIe AER error strings * pci/virtualization: PCI: Add ACS quirk for Intel 10G NICs commit f3fa1bbd836a7d6efb2abd506ed8e24096f39062 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Fri Sep 19 19:15:45 2014 +0800 ASoC: rt5645: Add headset detect function Add headset detect function Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit df59fa7f4bca9658b75f0f5fee225b3a057475c5 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Sun Sep 28 23:24:04 2014 +1000 spi: orion: support armada extended baud rates The Armada SoC family implementation of this SPI hardware module has extended the configuration register to allow for a wider range of SPI clock rates. Specifically the Serial Baud Rate Pre-selection bits in the SPI Interface Configuration Register now also use bits 6 and 7 as well. Modify the baud rate calculation to handle these differences for the Armada case. Potentially a baud rate can be setup using a number of different pre-scalar and scalar combinations. This code tries all possible pre-scalar divisors (8 in total) to try and find the most accurate set. This change introduces (and documents) a new device tree compatible device name "armada-370-spi" to support this. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5ec094057c7df5ff80f5e7fe282f47ad205fb976 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Sep 23 14:38:28 2014 -0600 PCI/MSI: Remove unnecessary temporary variable The only use of "status" is to hold a value which is immediately returned, so just return and remove the variable directly. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 56b72b40957947f7c08771f030102351d4c906df Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Mon Sep 29 18:35:16 2014 -0600 PCI/MSI: Use __write_msi_msg() instead of write_msi_msg() default_restore_msi_irq() already has the struct msi_desc pointer required by __write_msi_msg(), so call it directly instead of having write_msi_msg() look it up from the IRQ. No functional change. [bhelgaas: split into separate patch] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 1e8f4cc82eded0c3c97ef6e2f119782e42deda35 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Wed Sep 24 11:09:45 2014 +0800 MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg() rtas_setup_msi_irqs() already has the struct msi_desc pointer required by __read_msi_msg(), so call it directly instead of having read_msi_msg() look it up from the IRQ. No functional change. [bhelgaas: changelog] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> CC: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> CC: linuxppc-dev@xxxxxxxxxxxxxxxx commit 2b260085e466c345e78f23b1c9ad1d123d509ef8 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Tue Sep 23 13:27:25 2014 +0800 PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg() Both callers of get_cached_msi_msg() start with a struct irq_data pointer, look up the corresponding IRQ number, and pass it to get_cached_msi_msg(), which then uses irq_get_irq_data() to look up the struct irq_data again to call __get_cached_msi_msg(). Since we already have the struct irq_data, call __get_cached_msi_msg() directly and skip the lookup work done by get_cached_msi_msg(). No functional change. [bhelgaas: changelog] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Tony Luck <tony.luck@xxxxxxxxx> CC: linux-ia64@xxxxxxxxxxxxxxx commit 468ff15a3ab98ed7153c29c68229ffb97f15a251 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Tue Sep 23 13:27:24 2014 +0800 PCI/MSI: Add "msi_bus" sysfs MSI/MSI-X control for endpoints The "msi_bus" sysfs file for bridges sets a bus flag to allow or disallow future driver requests for MSI or MSI-X. Previously, the sysfs file existed for endpoints but did nothing. Add "msi_bus" support for endpoints, so an administrator can prevent the use of MSI and MSI-X for individual devices. Note that as for bridges, these changes only affect future driver requests for MSI or MSI-X, so drivers may need to be reloaded. Add documentation for the "msi_bus" sysfs file. [bhelgaas: changelog, comments, add "subordinate", add endpoint printk, rework bus_flags setting, make bus_flags printk unconditional] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 48c3c38f003c25d50a09d3da558667c5ecd530aa Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Tue Sep 23 11:02:42 2014 -0600 PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib "msi_attrib.pos" is only used for MSI (not MSI-X), and we already cache the MSI capability offset in "dev->msi_cap". Remove "pos" from the struct msi_attrib and use "dev->msi_cap" directly. [bhelgaas: changelog, fix whitespace] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 81052769e48609525c452d8f078a5786b673e178 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Tue Sep 23 13:27:22 2014 +0800 PCI/MSI: Remove unused kobject from struct msi_desc After commit 1c51b50c2995 ("PCI/MSI: Export MSI mode using attributes, not kobjects"), the kobject in struct msi_desc is unused. Remove the unused struct kobject from struct msi_desc. [bhelgaas: changelog] Fixes: 1c51b50c2995 ("PCI/MSI: Export MSI mode using attributes, not kobjects") Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a06cd74cefe754341f747ddc4cf7b0058fa9bff8 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Tue Sep 23 12:45:58 2014 -0600 PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported() Rename pci_msi_check_device() to pci_msi_supported() for clarity. Note that pci_msi_supported() returns true if MSI/MSI-X is supported, so code like: if (pci_msi_supported(...)) reads naturally. [bhelgaas: changelog, split to separate patch, reverse sense] Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 27e20603c54ba633ed259284d006275f13c9f95b Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Tue Sep 23 14:25:11 2014 -0600 PCI/MSI: Move D0 check into pci_msi_check_device() Both callers of pci_msi_check_device() check that the device is in D0 state, so move the check from the callers into pci_msi_check_device() itself. In pci_enable_msi_range(), note that pci_msi_check_device() never returns a positive value any more, so the loop that called it until it returns zero or negative is no longer necessary. [bhelgaas: changelog, split to separate patch] Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit ad975ebad4c3ce8dcc7d0bb4db26ea5aca4cfc99 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Tue Sep 23 12:39:54 2014 -0600 PCI/MSI: Remove arch_msi_check_device() No architectures implement arch_msi_check_device() or the struct msi_chip .check_device() method, so remove them. Remove the "type" parameter to pci_msi_check_device() because it was only used to call arch_msi_check_device() and is no longer needed. [bhelgaas: changelog, split to separate patch] Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3930115e0dd67f61b3b1882c7a34d0baeff1bb4c Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Sun Sep 7 20:57:54 2014 +0200 irqchip: armada-370-xp: Remove arch_msi_check_device() Move MSI checks from arch_msi_check_device() to arch_setup_msi_irqs(). This makes the code more compact and allows removing arch_msi_check_device() from generic MSI code. Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6b2fd7efeb888fa781c1f767de6c36497ac1596b Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Sun Sep 7 20:57:53 2014 +0200 PCI/MSI/PPC: Remove arch_msi_check_device() Move MSI checks from arch_msi_check_device() to arch_setup_msi_irqs(). This makes the code more compact and allows removing arch_msi_check_device() from generic MSI code. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a7979009500df9766ba7d78554a6da9dea18dc26 Merge: e156ee5 e317c19 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Wed Oct 1 11:19:10 2014 -0700 Merge tag 'v3.18-rockchip-clk2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-next Allow parent rate changes for i2s on rk3288 and rockchip as well as s3c24xx restart handlers. commit 281f92f233a59ef52bb45287242bd815a67f5647 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Oct 1 15:05:32 2014 -0300 perf record: Fix error message for --filter option not coming after tracepoint [root@zoo ~]# perf record --filter "common_pid != PERF_PID" -a -F option should follow a -e tracepoint option. The -F option is for --freq, not --filter. Fix it up to show: [root@zoo ~]# perf record --filter "common_pid != PERF_PID" -a --filter option should follow a -e tracepoint option Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-z0yrm8stn9w3423nkov3eksg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 660d13296bbbe79635d1d9d700080b88061faffb Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Sep 30 12:27:12 2014 +0100 perf tools: Fix build breakage on arm64 targets Attempting to build the perf tool for an arm64 target results in the following failure: arch/arm64/util/unwind-libunwind.c: In function 'libunwind__arch_reg_id': arch/arm64/util/unwind-libunwind.c:77:3: error: implicit declaration of function 'pr_err' pr_err("unwind: invalid reg id %d\n", regnum); ^ arch/arm64/util/unwind-libunwind.c:77:3: error: nested extern declaration of 'pr_err' This is due to commit 84f5d36f4866 ("perf tools: Move pr_* debug macros into debug object") moving the pr_* macros into a new header file, but failing to update architectures other than x86. This patch adds the missing include, and fixes the build again. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1412076432-22045-1-git-send-email-will.deacon@xxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2c804d0f8fc7799981d9fdd8c88653541b28c1a7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 30 22:12:05 2014 -0700 ipv4: mentions skb_gro_postpull_rcsum() in inet_gro_receive() Proper CHECKSUM_COMPLETE support needs to adjust skb->csum when we remove one header. Its done using skb_gro_postpull_rcsum() In the case of IPv4, we know that the adjustment is not really needed, because the checksum over IPv4 header is 0. Lets add a comment to ease code comprehension and avoid copy/paste errors. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb51bbaf8dedf142a54a7ff58514a29b40d515bb Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:00:49 2014 +1000 fm10k: using vmalloc requires including linux/vmalloc.h Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 078efae00ffc76381c3248006e9cf0988163488f Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Mon Sep 15 17:44:18 2014 -0700 [SCSI] cxgb4i: avoid holding mutex in interrupt context cxgbi_inet6addr_handler() can be called in interrupt context, so use rcu protected list while finding netdev. This is observed as a scheduling in atomic oops when running over ipv6. Fixes: fc8d0590d914 ("libcxgbi: Add ipv6 api to driver") Fixes: 759a0cc5a3e1 ("cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api") Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Karen Xie <kxie@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 4598a0a6d22fadfb7b37f2b44ee7fdcb24632fcf Author: Waiman Long <Waiman.Long@xxxxxx> Date: Tue Sep 30 13:36:15 2014 -0400 perf symbols: Improve DSO long names lookup speed with rbtree With workload that spawns and destroys many threads and processes, it was found that perf-mem could took a long time to post-process the perf data after the target workload had completed its operation. The performance bottleneck was found to be the lookup and insertion of the new DSO structures (thousands of them in this case). In a dual-socket Ivy-Bridge E7-4890 v2 machine (30-core, 60-thread), the perf profile below shows what perf was doing after the profiled AIM7 shared workload completed: - 83.94% perf libc-2.11.3.so [.] __strcmp_sse42 - __strcmp_sse42 - 99.82% map__new machine__process_mmap_event perf_session_deliver_event perf_session__process_event __perf_session__process_events cmd_record cmd_mem run_builtin main __libc_start_main - 13.17% perf perf [.] __dsos__findnew __dsos__findnew map__new machine__process_mmap_event perf_session_deliver_event perf_session__process_event __perf_session__process_events cmd_record cmd_mem run_builtin main __libc_start_main So about 97% of CPU times were spent in the map__new() function trying to insert new DSO entry into the DSO linked list. The whole post-processing step took about 9 minutes. The DSO structures are currently searched linearly. So the total processing time will be proportional to n^2. To overcome this performance problem, the DSO code is modified to also put the DSO structures in a RB tree sorted by its long name in additional to being in a simple linked list. With this change, the processing time will become proportional to n*log(n) which will be much quicker for large n. However, the short name will still be searched using the old linear searching method. With that patch in place, the same perf-mem post-processing step took less than 30 seconds to complete. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Link: http://lkml.kernel.org/r/1412098575-27863-3-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 143f363618558478fd7b5156c343d21e74194987 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Jul 29 17:41:08 2014 +0200 btrfs: remove unused variable from btrfs_parse_options Signed-off-by: David Sterba <dsterba@xxxxxxx> commit aab110abcbbf06b5d52d9974b4a72d3c7cd38537 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Jul 29 17:32:10 2014 +0200 btrfs: defrag, use unsigned type for extent thresh Signed type mismatches the ioctl structure, all extent calculations are done on unsigned types. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 34549ab09e62db9703811c6ed4715f2ffa1fd7fb Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Oct 1 08:05:22 2014 -0400 nfsd: eliminate "to_delegation" define We now have cb_to_delegation and to_delegation, which do the same thing and are defined separately in different .c files. Move the cb_to_delegation definition into a header file and eliminate the redundant to_delegation definition. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit c05a11f7b8b5bc67f2c9f726c52b59f67b1bfe7d Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 30 16:52:15 2014 -0300 ASoC: fsl: Do not force codecs selection by SND_SOC_FSL_ASOC_CARD The wm8962 driver uses the input subsystem, but it is selected by SND_SOC_FSL_ASOC_CARD, which can be built with CONFIG_INPUT disabled, resulting in this link error: ERROR: "input_event" [sound/soc/codecs/snd-soc-wm8962.ko] undefined! ERROR: "input_register_device" [sound/soc/codecs/snd-soc-wm8962.ko] undefined! ERROR: "devm_input_allocate_device" [sound/soc/codecs/snd-soc-wm8962.ko] undefined! Do not force the selection of the codecs by SND_SOC_FSL_ASOC_CARD to avoid such problem. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5f0ab05b67213ef33107b716e8596a480b5875f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 1 15:08:15 2014 +0300 ASoC: Intel: byt-rt5640: Enable DMIC interface for default DAPM route It turned out DMIC interface wasn't enabled/disabled runtime for active DMIC route in the rt5640 codec driver anymore after commit 71d97a794301 ("ASoC: rt5640: Use the platform data for DMIC settings"). Since DMIC interface must be enabled explicitly either by passing platform data to rt5640 codec driver or by calling new rt5640_dmic_enable() this patch adds a DMI quirk flag that is used to conditionally enable DMIC interface during sound card init time. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1400760c4637e1b3aa4460176d4f81ded58df393 Merge: f8a770c cd69dc8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 1 17:04:24 2014 +0100 Merge branch 'topic/rt5640' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit cd69dc8868d64cfa2993944607d9e97927d95987 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 1 15:08:14 2014 +0300 ASoC: rt5640: Add function for enabling DMIC from ACPI probed machine There is no code enabling DMIC clock in systems that don't provide platform data for rt5640 after commit 71d97a794301 ("ASoC: rt5640: Use the platform data for DMIC settings"). I think it's worth to keep this static DMIC clock and alternative data pin setting during probe time. For making possible to use DMIC from ACPI probed machine (prior ACPI 5.1 with _DSD) this patch moves DMIC configuration to new exported rt5640_dmic_enable() that machine drivers can call. Please note, this patch moves DMIC configuration from i2c probe to codec probe in case platform data for rt5640 is set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Cc: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f114ce605daa1fb9d4efa253ea6d5bd4802902af Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 1 16:02:12 2014 +0300 ASoC: davinvi-mcasp: Proper suspend/resume support while audio is active If the board is sent to suspend (deep sleep) the McASP context will be lost. In case when suspend happens during active audio we need to save and restore more registers, which was configured during hw_param times as well. We need to add more config registers, AFIFO control registers and we also need to save and restore the serializer configuration as well. Since the number of serializers depends on the SoC we need to allocate the memory for it based on the num_serializer for the given McASP instance. With this patch the ongoing stream will resume after resuming from deep sleep. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1cc0c054f380c1c477642b5d9d9d9f697f641dbc Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 1 16:02:11 2014 +0300 ASoC: davinci-mcasp: Convert the context save/restore to use array Instead of individual values use an array to store the registers need to be saved on suspend and restored on resume. It is going to be easier to add more registers to save and restore. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e66c98c7a0eacc33a9369a3ec086740044eb986c Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Wed Oct 1 16:57:07 2014 +0100 of: Fix NULL dereference in selftest removal code The selftest code removes its testcase data from the live tree when exiting, but if the testcases data tree contains an empty child of the root, then it causes an oops due to a NULL dereference. The reason is that the code tries to directly dereference the child pointer without checking first if a child is actually there. The solution is to pass the parent node into detach_node_and_children() instead of trying to pass the child. This required removing the code that attempts to remove all of the sibling nodes in detach_node_and_children(), which was never sensible in the first place. At the same time add a check to make sure the bounds of the nodes list are not exceeded by the testdata tree. If they are then abort. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Gaurav Minocha <gaurav.minocha.os@xxxxxxxxx> commit a41988a050c0d77f8100ccc576d413a28797fa79 Merge: 6b74db0 3b6357a7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 1 16:37:33 2014 +0200 Merge tag 'qcom-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/defconfig Pull "Qualcomm ARM Based defconfig Updates for v3.18" from Kumar Gala: * General defconfig update to match upstream changes * Enable IPQ806x & APQ8084 clk support * Enable pinctrl on MSM8960 & APQ8084 * Enable CPU_IDLE to get basic wfi support * Enable SPI NOR and MTD M25P80 support (used on AP148 board) * Enable SATA PHY support on IPQ806x and APQ8064 * Enable Fixed regulator and ARM MMCI support (mmc support on APQ8064) Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'qcom-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: qcom: Update defconfig ARM: qcom: Update defconfig commit 4a0efdc933680d908de11712a774a2c9492c3d5a Author: Hannes Reinecke <hare@xxxxxxx> Date: Wed Oct 1 14:32:31 2014 +0200 block: misplaced rq_complete tracepoint The rq_complete tracepoint was never issued for empty requests, causing the resulting blktrace information to never show any completion for those request. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit fc2021fb9baf9ed375c8161b40b68e120e75c60e Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 12:07:07 2014 +0200 block: hd: remove deprecated IRQF_DISABLED This patch removes the use of the IRQF_DISABLED flag from drivers/block/hd.c It's a NOOP since 2.6.35 and it will be removed one day. This also removes a related comment which is obsolete too. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 45aa70d1f77e3b88f776a34cf2b38858d922ca9b Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Oct 1 09:59:33 2014 -0400 ARM: dts: keystone-k2l: fix mdio io start address The K2L MDIO io space has different start address. Hence, fix it to be 0x26200f00 according to TRM. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 9a84c8928dde3e032ec482a3f59f5f7e8929cca5 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Oct 1 09:58:25 2014 -0400 ARM: dts: keystone-k2e: fix mdio io start address The K2E MDIO io space has different start address. Hence, fix it to be 0x24200f00 according to TRM. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit b741bb2878a981db14bef1662d958aae43d168ff Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Oct 1 09:58:25 2014 -0400 ARM: dts: keystone-k2e: update usb1 node for dma properties Keystone supports dma-coherent on USB master and also needs dma-ranges to specify the hardware alias memory range in which DMA can be operational. Such configuration applied for USB0 devices, but It's missed for USB1 device which is present only in K2E SoC - hence apply it. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit cfb198ceed66cc7b7014f1185ff5d5e625805b7a Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Oct 1 09:58:25 2014 -0400 ARM: dts: keystone: fix io range for usb_phy0 The IO range size is set incorrectly for USB PHY0 deivice it should be 24 instead of 32. Otherwise, It causes USB PHY1 probing failure. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 19aeb5a65f1a6504fc665466c188241e7393d66f Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Mon Sep 29 08:52:04 2014 -0400 GFS2: Make rename not save dirent location This patch fixes a regression in the patch "GFS2: Remember directory insert point", commit 2b47dad866d04f14c328f888ba5406057b8c7d33. The problem had to do with the rename function: The function found space for the new dirent, and remembered that location. But then the old dirent was removed, which often moved the eligible location for the renamed dirent. Putting the new dirent at the saved location caused file system corruption. This patch adds a new "save_loc" variable to struct gfs2_diradd. If 1, the dirent location is saved. If 0, the dirent location is not saved and the buffer_head is released as per previous behavior. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 38aea07167b6f51a42e09812212a000ce84afb77 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 09:51:02 2014 -0400 drm/radeon/cik: write gfx ucode version to ucode addr reg Helpful for debugging as the version shows up in a register dump. Cc: Jay Cornwall <jay.cornwall@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9d0223d5f883bd85f5b24a6eacb79ee5a446d648 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 09:25:32 2014 -0400 drm/radeon/si: print full CS when we hit a packet 0 We should never have a packet 0 in the command stream. Dump the full command stream to help debug. bug: https://bugs.freedesktop.org/show_bug.cgi?id=84500 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d7952ddf6837d711231e37ddafe46f9960ef4d5a Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Sep 29 22:44:03 2014 -0400 drm/radeon: remove unecessary includes The requirement for these was removed in: 0a168933976eb483da91161316bbbbcb74d00486 Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 080cbcb4f81299ff86e99f8ba12b692a58d0aa65 Author: Michele Curti <michele.curti@xxxxxxxxx> Date: Tue Sep 23 18:04:40 2014 +0200 drm/radeon/combios: declare legacy_connector_convert as static legacy_connector_convert is used in radeon_combios.c only, so declare it as static. Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7f6bf72aef689dc756b325e9f88840091991cb8d Author: Michele Curti <michele.curti@xxxxxxxxx> Date: Tue Sep 23 18:08:06 2014 +0200 drm/radeon/atombios: declare connector convert tables as static The tables: * supported_devices_connector_convert * supported_devices_connector_object_id_convert * object_connector_convert are used in redeon_atombios.c only, so declare them as static. Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fc9dfeb1383287631ad5c5a676a2558b799db6e9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 23 09:45:32 2014 -0400 drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table It's no longer used now that the underlying bugs are fixed. Reviewed-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Tested-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b2dccf24e7733b8975947319c7551a0837becb1c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 23 09:42:09 2014 -0400 drm/radeon/dpm: drop clk/voltage dependency filters for BTC No longer needed now that the underlying bug was fixed in e07929810f0a19ddd756558290c7d72827cbfcd9 (drm/radeon/dpm: fix typo in vddci setup for eg/btc). bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 6aff1e282a5d811904d3d74c8382080ee57ba4c7 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 23 09:40:24 2014 -0400 drm/radeon/dpm: drop clk/voltage dependency filters for CI Not sure this was ever necessary for CI, was just done to be on the safe side. bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 186b1b2ba2a0684e3d2d3703427a993a3b35b16d Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 23 09:37:37 2014 -0400 drm/radeon/dpm: drop clk/voltage dependency filters for SI Not sure this was ever necessary for SI, was just done to be on the safe side. bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7bf05cc1628679756495f15c69cecc1fd31e7c78 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 23 09:34:06 2014 -0400 drm/radeon/dpm: drop clk/voltage dependency filters for NI No longer needed now that the underlying bug was fixed in b0880e87c1fd038b84498944f52e52c3e86ebe59 (drm/radeon/dpm: fix vddci setup typo on cayman). bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Tested-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4adb34ef7821224255f447a9c07871ecbfbb6f92 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 18 18:07:08 2014 -0400 drm/radeon: disable audio when we disable hdmi (v2) This should allow the audio driver to get a better idea of whether the sink is connected or not. v2: fix copy/paste typo noticed by David Henningsson Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d3d8c141a333879719173a522a89532bf8d32229 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 18 17:26:39 2014 -0400 drm/radeon: split audio enable between eg and r600 (v2) Clean up the enable sequence as well. V2: clean up duplicate defines Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 721566768787f3b4790d22d993d70befdd440f64 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 18 16:36:08 2014 -0400 drm/radeon: consolidate r600_audio.c into r600_hdmi.c Most of that functionality is only used by r600_hdmi.c and I'm planning to change that further. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d740a93337e7b04b2b648fbc4bcf5f8726d98202 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 18 16:27:46 2014 -0400 drm/radeon: consolidate duplicate encode is digital function Only need one copy. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f68fdbe42539851f1bbf9a4dee5150f467a64c36 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 18 16:19:04 2014 -0400 drm/radeon: fix register name to match internal name no functional change. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ce2e4f0b75a567d25375b52476662c724304e476 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 11 10:00:43 2014 +0200 KVM: s390: count vcpu wakeups in stat.halt_wakeup This patch introduces the halt_wakeup counter used by common code and uses it to count vcpu wakeups done in s390 arch specific code. Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 7be81a46695d2088f848653f2bbec06bb178adce Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 19 15:55:20 2014 +0200 KVM: s390/facilities: allow TOD-CLOCK steering facility bit There is nothing to do for KVM to support TOD-CLOCK steering. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> commit 5235166fbc332c8b5dcf49e3a498a8b510a77449 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Tue Sep 30 12:54:56 2014 +0200 HID: usbhid: add another mouse that needs QUIRK_ALWAYS_POLL There is a second mouse sharing the same vendor strings but different IDs. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2013add4ce73c93ae2148969a9ec3ecc8b1e26fa Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 14:34:51 2014 +1000 powerpc/eeh: Show hex prefix for PE state sysfs As Michael suggested, the hex prefix for the output of EEH PE state sysfs entry (/sys/bus/pci/devices/xxx/eeh_pe_state) is always informative to users. Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e317c19470f6d690122519bf9ed1c9f21ea11906 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Tue Aug 19 17:45:37 2014 -0700 clk: samsung: register restart handlers for s3c2412 and s3c2443 S3C2412, S3C2443 and their derivatives contain a special software-reset register in their system-controller. Therefore register a restart handler for those. Tested on a s3c2416-based board, s3c2412 compile-tested. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 6f1294b5a87238c2f87f74a9942faf2f4ffa63b2 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Tue Aug 19 17:45:38 2014 -0700 clk: rockchip: add restart handler Add infrastructure to write the correct value to the restart register and register the restart notifier for both rk3188 (including rk3066) and rk3288. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 24c20f10583647e30afe87b6f6d5e14bc7b1cbc6 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 30 16:43:46 2014 +0200 scsi: add a CONFIG_SCSI_MQ_DEFAULT option Add a Kconfig option to enable the blk-mq path for SCSI by default to ease testing and deployment in setups that know they benefit from blk-mq. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Robert Elliott <elliott@xxxxxx> Tested-by: Robert Elliott <elliott@xxxxxx> commit e785060ea3a1c8e37a8bc1449c79e36bff2b5b13 Author: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:36 2014 +0300 ufs: definitions for phy interface - Adding some of the definitions missing in unipro.h, including power enumeration. - Read Modify Write Line helper function - Indication for the type of suspend Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 374a246e4ebda1fc55d537877bf2412e511ecc7b Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:35 2014 +0300 ufs: tune bkops while power managment events Add capability to control the auto bkops during suspend. If host explicitly enables the auto bkops (background operation) on device then only device would perform the bkops on its own. If auto bkops is not enabled explicitly and if the device reaches to state where it must do background operation, device would raise the urgent bkops exception event to host and then host will enable the auto bkops on device. This patch adds the option to choose whether auto bkops should be enabled during runtime suspend or not. Since we don't want to keep the device active to perform the non critical bkops, host will enable urgent bkops only. Keep auto-bkops enabled after resume if urgent bkops needed. If device bkops status shows that its in critical need of executing background operations, host should allow the device to continue doing background operations. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 856b348305c98d4e0c8e5eafa97c61443197f8d3 Author: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:34 2014 +0300 ufs: Add support for clock scaling using devfreq framework The clocks for UFS device will be managed by generic DVFS (Dynamic Voltage and Frequency Scaling) framework within kernel. This devfreq framework works with different governors to scale the clocks. By default, UFS devices uses simple_ondemand governor which scales the clocks up if the load is more than upthreshold and scales down if the load is less than downthreshold. Signed-off-by: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4cff6d991e4a291cf50fe2659da2ea9ad46620bf Author: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:33 2014 +0300 ufs: Add freq-table-hz property for UFS device Add freq-table-hz propery for UFS device to keep track of <min max> frequencies supported by UFS clocks. Signed-off-by: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1ab27c9cf8b63dd8dec9e17b5c17721c7f3b6cc7 Author: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:32 2014 +0300 ufs: Add support for clock gating The UFS controller clocks can be gated after certain period of inactivity, which is typically less than runtime suspend timeout. In addition to clocks the link will also be put into Hibern8 mode to save more power. The clock gating can be turned on by enabling the capability UFSHCD_CAP_CLK_GATING. To enable entering into Hibern8 mode as part of clock gating, set the capability UFSHCD_CAP_HIBERN8_WITH_CLK_GATING. The tracing events for clock gating can be enabled through debugfs as: echo 1 > /sys/kernel/debug/tracing/events/ufs/ufshcd_clk_gating/enable cat /sys/kernel/debug/tracing/trace_pipe Signed-off-by: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7eb584db73bebbc9852a14341431ed6935419bec Author: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:31 2014 +0300 ufs: refactor configuring power mode Sometimes, the device shall report its maximum power and speed capabilities, but we might not wish to configure it to use those maximum capabilities. This change adds support for the vendor specific host driver to implement power change notify callback. To enable configuring different power modes (number of lanes, gear number and fast/slow modes) it is necessary to split the configuration stage from the stage that reads the device max power mode. In addition, it is not required to read the configuration more than once, thus the configuration is stored after reading it once. Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 57d104c153d3d6d7bea60089e80f37501851ed2c Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:30 2014 +0300 ufs: add UFS power management support This patch adds support for UFS device and UniPro link power management during runtime/system PM. Main idea is to define multiple UFS low power levels based on UFS device and UFS link power states. This would allow any specific platform or pci driver to choose the best suited low power level during runtime and system suspend based on their power goals. bkops handlig: To put the UFS device in sleep state when bkops is disabled, first query the bkops status from the device and enable bkops on device only if device needs time to perform the bkops. START_STOP handling: Before sending START_STOP_UNIT to the device well-known logical unit (w-lun) to make sure that the device w-lun unit attention condition is cleared. Write protection: UFS device specification allows LUs to be write protected, either permanently or power on write protected. If any LU is power on write protected and if the card is power cycled (by powering off VCCQ and/or VCC rails), LU's write protect status would be lost. So this means those LUs can be written now. To ensures that UFS device is power cycled only if the power on protect is not set for any of the LUs, check if power on write protect is set and if device is in sleep/power-off state & link in inactive state (Hibern8 or OFF state). If none of the Logical Units on UFS device is power on write protected then all UFS device power rails (VCC, VCCQ & VCCQ2) can be turned off if UFS device is in power-off state and UFS link is in OFF state. But current implementation would disable all device power rails even if UFS link is not in OFF state. Low power mode: If UFS link is in OFF state then UFS host controller can be power collapsed to avoid leakage current from it. Note that if UFS host controller is power collapsed, full UFS reinitialization will be required on resume to re-establish the link between host and device. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 0ce147d48a3e3352859f0c185e98e8392bee7a25 Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:29 2014 +0300 ufs: introduce well known logical unit in ufs UFS device may have standard LUs and LUN id could be from 0x00 to 0x7F. UFS device specification use "Peripheral Device Addressing Format" (SCSI SAM-5) for standard LUs. UFS device may also have the Well Known LUs (also referred as W-LU) which again could be from 0x00 to 0x7F. For W-LUs, UFS device specification only allows the "Extended Addressing Format" (SCSI SAM-5) which means the W-LUNs would start from 0xC100 onwards. This means max. LUN number reported from UFS device could be 0xC17F hence this patch advertise the "max_lun" as 0xC17F which will allow SCSI mid layer to detect the W-LUs as well. But once the W-LUs are detected, UFSHCD driver may get the commands with SCSI LUN id upto 0xC17F but UPIU LUN id field is only 8-bit wide so it requires the mapping of SCSI LUN id to UPIU LUN id. This patch also add support for this mapping. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2a8fa600445c45222632810a4811ce820279d106 Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:28 2014 +0300 ufs: manually add well known logical units UFS device specification requires the UFS devices to support 4 well known logical units: "REPORT_LUNS" (address: 01h) "UFS Device" (address: 50h) "RPMB" (address: 44h) "BOOT" (address: 30h) UFS device's power management needs to be controlled by "POWER CONDITION" field of SSU (START STOP UNIT) command. But this "power condition" field will take effect only when its sent to "UFS device" well known logical unit hence we require the scsi_device instance to represent this logical unit in order for the UFS host driver to send the SSU command for power management. We also require the scsi_device instance for "RPMB" (Replay Protected Memory Block) LU so user space process can control this LU. User space may also want to have access to BOOT LU. This patch adds the scsi device instances for each of all well known LUs (except "REPORT LUNS" LU). Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 3a4bf06d1f6d7de17528b962bc91fcbb2e568b4e Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:27 2014 +0300 ufs: Active Power Mode - configuring bActiveICCLevel The maximum power consumption in active is determined by bActiveICCLevel. The configuration is done by reading max current supported by the regulators connected to VCC, VCCQ and VCCQ2 rails on the boards, and reading the current consumption levels from the device for each rails (vcc/vccq/vccq2) using power descriptor. We configure the bActiveICCLevel attribute, with the max value that correspond to the minimum-of(VCC-current-level,VCCQ-current-level, VCCQ2-current-level). In order to minimize resume latency, pre-fetch icc levels and reference clock during initialization and avoid reading them each link startup during resume. Signed-off-by: Raviv Shvili <rshvili@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1d337ec2f35e69a046dab0cc77e64e68d1cdcd8b Author: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:26 2014 +0300 ufs: improve init sequence In ->hce_enable_notify() callback the vendor specific initialization may carry out additional DME configuration using UIC commands and hence the UIC command completion interrupt enable bit should be set before the post reset notification. Add retries if the link-startup fails. This is required since due to hardware timing issues, the Uni-Pro link-startup might fail. The UFS HCI recovery procedure contradicts the Uni-Pro sequence. The UFS HCI specifies to resend DME_LINKSTARTUP command after IS.ULLS (link-lost interrupt) is received. The Uni-Pro specifies that if link-startup fails the link is in "down" state. The link-lost is indicated to the DME user only when the link is up. Hence, the UFS HCI recovery procedure of waiting for IS.ULLS and retrying link-startup may not work properly. At the end, if detection fails, power off (disable clocks, regulators, phy) if the UFS device detection fails. This saves power while UFS device is not embedded into the system. Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit da461cec9a1ff0a074cd1db47598ba36a1686ef4 Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:25 2014 +0300 ufs: refactor query descriptor API support Currently reading query descriptor is more tightened to each descriptor type. This patch generalize the approach and allows reading any parameter from any query descriptor. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6a771a656041f404fae143e5d753d37f5c0688e7 Author: Raviv Shvili <rshvili@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:24 2014 +0300 ufs: add voting support for host controller power Add the support for voting of the regulator powering the host controller logic. Signed-off-by: Raviv Shvili <rshvili@xxxxxxxxxxxxxx> Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c6e79dacd86fd7ddd452fa52b3f4ca996db31e49 Author: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:23 2014 +0300 ufs: Add clock initialization support Add generic clock initialization support for UFSHCD platform driver. The clock info is read from device tree using standard clock bindings. A generic max-clock-frequency-hz property is defined to save information on maximum operating clock frequency the h/w supports. Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit aa497613093412ee26ef4bfa4ffec8391553dfca Author: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:22 2014 +0300 ufs: Add regulator enable support UFS devices are powered by at most three external power supplies - - VCC - The flash memory core power supply, 2.7V to 3.6V or 1.70V to 1.95V - VCCQ - The controller and I/O power supply, 1.1V to 1.3V - VCCQ2 - Secondary controller and/or I/O power supply, 1.65V to 1.95V For some devices VCCQ or VCCQ2 are optional as they can be generated using internal LDO inside the UFS device. Add DT bindings for voltage regulators that can be controlled from host driver. Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5c0c28a84af9f9b6061bb4855a30e13d289b4ae1 Author: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:21 2014 +0300 ufs: Allow vendor specific initialization Some vendor specific controller versions might need to configure vendor specific - registers, clocks, voltage regulators etc. to initialize the host controller UTP layer and Uni-Pro stack. Provide some common initialization operations that can be used to configure vendor specifics. The methods can be extended in future, for example, for power mode transitions. The operations are vendor/board specific and hence determined with the help of compatible property in device tree. Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 693ad5ba135d40b1379e40e928123681e2aa2c50 Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:20 2014 +0300 scsi: don't add scsi_device if its already visible If LLD has added scsi device (by calling scsi_add_device) before scheduling async scsi_scan_host then scsi_finish_async_scan() will end up calling scsi_sysfs_add_sdev for scsi device which was already added by LLD. This patch fixes this issue by skipping the call to scsi_sysfs_add_sdev() if it's already visible to rest of the kernel. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 45341ca3fcacc8720c425e757a627ef81b65b1ee Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:19 2014 +0300 scsi: fix the type for well known LUs Some devices may respond with wrong type for well-known logical units. This patch forces well-known type for devices which doesn't report it correct. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5a11f7f829a8d1b5c1c4774afcd263a2066d3179 Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Date: Fri Sep 26 09:55:24 2014 -0700 drm/edid: Add missing interlaced flag to 576i@100 modes. CEA VICs 44 and 45 were missing DRM_MODE_FLAG_INTERLACE. Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7a42e83d36d2d0a68622320900dc4e880b1d920a Merge: c5939a7 bb6178b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Oct 1 19:27:38 2014 +1000 Merge branch 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux into drm-next fixups for nouveau and fencing * 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux: drm/nouveau: export reservation_object from dmabuf to ttm drm/ttm: add reservation_object as argument to ttm_bo_init drm: Pass dma-buf as argument to gem_prime_import_sg_table drm/nouveau: assign fence_chan->name correctly drm/nouveau: specify if interruptible wait is desired in nouveau_fence_sync drm/nouveau: bump driver patchlevel to 1.2.1 commit c5939a7360a69fc415bcfff6b10ced5227495a48 Merge: 1dadba8 1b11629 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Oct 1 19:27:01 2014 +1000 Merge tag 'topic/core-stuff-2014-09-29' of git://anongit.freedesktop.org/drm-intel into drm-next Ok, here's the update core-stuff pull request with the locking fixup patch fixed up with another patch. * tag 'topic/core-stuff-2014-09-29' of git://anongit.freedesktop.org/drm-intel: drm: Drop grab fpriv->fbs_lock in drm_fb_release drm/udl: use container_of to resolve udl_fbdev from drm_fb_helper drm/ast: use container_of to resolve ast_fbdev from drm_fb_helper drm/gma500: use container_of to resolve psb_fbdev from drm_fb_helper drm/qxl: use container_of to resolve qxl_fbdev from drm_fb_helper drm/nouveau: use container_of to resolve nouveau_plane from drm_plane drm/nouveau: use container_of to resolve nouveau_fbdev from drm_fb_helper drm/radeon: use container_of to resolve radeon_fbdev from drm_fb_helper drm/mgag200: use container_of to resolve mga_fbdev from drm_fb_helper drm/cirrus: use container_of to resolve cirrus_fbdev from drm_fb_helper drm: Improve debug output for drm_wait_one_vblank drm: Fixup locking for universal cursor planes drm: Don't update vblank timestamp when the counter didn't change commit bb6178b04f5ef6f62990306713fb6afdf5d8bc56 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:15 2014 +0100 drm/nouveau: export reservation_object from dmabuf to ttm Adds an extra argument to nouveau_bo_new, which is only used in nouveau_prime.c. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit aec1d96c530674f634730bbc604a807f1ba65bfb Merge: fc69ed7 6cd6d94 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Oct 1 11:04:37 2014 +0200 Merge tag 'tags/restart-handler-for-v3.18' into v3.18-next/cpuclk Immutable branch with restart handler patches for v3.18 commit fc69ed70c16a31d6a77ec47a30a9fe941f763f1e Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Tue Sep 30 11:12:04 2014 +0800 clk: rockchip: rk3288: i2s_frac adds flag to set parent's rate The relation of i2s nodes as follows: i2s_src 0 0 594000000 0 i2s_frac 0 0 11289600 0 i2s_pre 0 0 11289600 0 sclk_i2s0 0 0 11289600 0 i2s0_clkout 0 0 11289600 0 hclk_i2s0 1 1 99000000 0 sclk_i2s0 is the master clock, when to set rate of sclk_i2s0, should allow to set its parent's rate, by add flag CLK_SET_RATE_PARENT for "i2s_frac", "i2s_pre", "i2s0_clkout" and "sclk_i2s0". Tested on rk3288 board using max98090, with command "aplay <music.wav>" Change-Id: I12faad082566532b65a7de8c0a6845e1c17870e6 Signed-off-by: Jianqun <jay.xu@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ebb69c95175609990af708ec90c46530f5a2c819 Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Date: Tue Sep 30 10:30:22 2014 -0700 drm/i915: Enable pixel replicated modes on BDW and HSW. Haswell and later silicon has added a new pixel replication register to the pipe timings for each transcoder. Now in addition to the DPLL_A_MD register for the pixel clock double, we also need to write to the TRANS_MULT_n (0x6002c) register to double the pixel data. Writing to the DPLL only double the pixel clock. ver2: Macro name change from MULTIPLY to PIPE_MULTI. (Daniel) ver3: Do not set pixel multiplier if transcoder is eDP (Ville) ver4: Macro name change to PIPE_MULT and default else pixel_multiplier Cc: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Appease checkpatch and move one hunk back into the right place that git am misplace!?] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ae6e89f7409cb5d218bb728326eba9c650d9700 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 23 12:08:09 2014 -0400 HID: wacom: implement the finger part of the HID generic handling Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7704ac937345d4b502062952657027234aa86a37 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 23 12:08:08 2014 -0400 HID: wacom: implement generic HID handling for pen generic devices ISDv4 and v5 are plain HID devices. We can directly implement a generic HID parsing/handling and remove the need to manually add those PID in the list of supported devices. This patch implements the pen support only. The finger part will come in a later patch. To be properly notified of an .event() and a .report(), we need to force hid-core to go through the HID parsing. By default, wacom.ko binds only hidraw, so the hid parsing is not done by hid-core. When a true HID device is there, we add the flag HID_CLAIMED_DRIVER to hid->claimed which will force hid-core to parse the incoming reports. (Note that this can be easily backported by directly setting the .claimed flag to HID_CLAIMED_DRIVER even if hid-core does not support HID_CONNECT_DRIVER) Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 494078b0bb578c4cf1e00275dd3224d793013488 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 23 12:08:07 2014 -0400 HID: wacom: move allocation of inputs earlier This allows to have the input devices ready in while parsing the reports descriptor. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2546dacd3e0e48c40bbb99caf01455f1ade9bb24 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 23 12:08:06 2014 -0400 HID: wacom: split out input allocation and registration If the input can be created earlier during probe, we can already populate them while reading the report descriptor. This way, we can rely on the hid subsystem directly for tablets which already provide a meaningful report descriptor (like ISDv4-5). This patch only splits the allocation and registration, but do not change where we allocate the input. This will come in a later patch. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7fefeec5176861c2747b8dcd9656acf42c288ded Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 23 12:08:05 2014 -0400 HID: wacom: rename failN with some meaningful information When we have to deal with new elements in probe, having the exit labels named sequencially is a pain to maintain. Put a meaningful name instead so that we do not have to renumber them on inserts. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f0a0c1cedfe421b32d2aa39971c43f83f8e5fa42 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 07:27:46 2014 +0200 ieee802154: fix __init functions Commit 3243acd37fd9 ("ieee802154: add __init to lowpan_frags_sysctl_register") added __init to lowpan_frags_ns_sysctl_register instead of lowpan_frags_sysctl_register Suggested-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7ba749e01461a3802d22157fc0e6c4ecbe0dd32 Author: Feng Kan <fkan@xxxxxxx> Date: Tue Sep 30 16:25:04 2014 -0700 Documentation: power: reset: Add documentation for generic SYSCON reboot driver Add documentation for generic SYSCON reboot driver. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 09fb07bcaf529a21612fbebd1297d8c5dd1abf1b Author: Feng Kan <fkan@xxxxxxx> Date: Tue Sep 30 16:25:03 2014 -0700 power: reset: Add generic SYSCON register mapped reset Add a generic SYSCON register mapped reset mechanism. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a3c0c3e79066c78b890c078998c8c6bd577f1d21 Author: Puthikorn Voravootivat <puthik@xxxxxxxxxxxx> Date: Tue Sep 30 11:18:56 2014 -0700 bq27x00_battery: Fix flag reading for bq27742 This patch fix the following issues. - Flag for bq27742 is 2 bytes contracy to 1 byte for older hardware - Don't read FLAG_CI as bq27742 does not have it - Use Battery full capacity register as last measure discharge Signed-off-by: Puthikorn Voravootivat <puthik@xxxxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d1e6dc91b532d3d3dbbd0fa356b775ca320dc2c2 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:31 2014 +0100 arm64: Add architectural support for PCI Use the generic PCI domain and OF functions to provide support for PCI on arm64. [bhelgaas: Change comments to use generic PCI, not just PCIe. Nothing at this level is PCIe-specific.] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 8b921acfeffdb0b45085da862fc301a2d25ed2cf Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:30 2014 +0100 PCI: Add pci_remap_iospace() to map bus I/O resources Add pci_remap_iospace() to map bus I/O resources into the CPU virtual address space. Architectures with special needs may provide their own version, but most should be able to use this one. This function is useful for PCI host bridge drivers that need to map the PCI I/O resources into virtual memory space. [bhelgaas: phys_addr description, drop temporary "err" variable] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit cbe4097f8ae699ebbdaf8c95ecab38d47e0bd5da Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:28 2014 +0100 of/pci: Add support for parsing PCI host bridge resources from DT Provide a function to parse the PCI DT ranges that can be used to create a pci_host_bridge structure together with its associated bus. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> [make io_base parameter optional] Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> commit 41e5c0f81d3e676d671d96a0a1fafb27abfbd9d7 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:27 2014 +0100 of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr() Add pci_get_new_domain_nr() to allocate a new domain number and of_get_pci_domain_nr() to retrieve the PCI domain number of a given device from DT. Host bridge drivers or architecture-specific code can choose to implement their PCI domain number policy using these two functions. Using of_get_pci_domain_nr() guarantees a stable PCI domain number on every boot provided that all host bridge controllers are assigned a number in the device tree using "linux,pci-domain" property. Mixing use of pci_get_new_domain_nr() and of_get_pci_domain_nr() is not recommended as it can lead to potentially conflicting domain numbers being assigned to root buses behind different host bridges. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> commit 670ba0c8883b576d0aec28bd7a838358a4be1406 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Mon Sep 29 15:29:26 2014 +0100 PCI: Add generic domain handling The handling of PCI domains (or PCI segments in ACPI speak) is usually a straightforward affair but its implementation is currently left to the architectural code, with pci_domain_nr(b) querying the value of the domain associated with bus b. This patch introduces CONFIG_PCI_DOMAINS_GENERIC as an option that can be selected if an architecture wants a simple implementation where the value of the domain associated with a bus is stored in struct pci_bus. The architectures that select CONFIG_PCI_DOMAINS_GENERIC will then have to implement pci_bus_assign_domain_nr() as a way of setting the domain number associated with a root bus. All child buses except the root bus will inherit the domain_nr value from their parent. Signed-off-by: Catalin Marinas <Catalin.Marinas@xxxxxxx> [Renamed pci_set_domain_nr() to pci_bus_assign_domain_nr()] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit 0b0b0893d49b34201a6c4416b1a707b580b91e3d Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:25 2014 +0100 of/pci: Fix the conversion of IO ranges into IO resources The ranges property for a host bridge controller in DT describes the mapping between the PCI bus address and the CPU physical address. The resources framework however expects that the IO resources start at a pseudo "port" address 0 (zero) and have a maximum size of IO_SPACE_LIMIT. The conversion from PCI ranges to resources failed to take that into account, returning a CPU physical address instead of a port number. Also fix all the drivers that depend on the old behaviour by fetching the CPU physical address based on the port number where it is being needed. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Thierry Reding <thierry.reding@xxxxxxxxx> CC: Simon Horman <horms@xxxxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> commit 52656e6cf7be6955e3ea01dbb835b43119278a12 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 24 15:37:02 2014 -0700 f2fs: clean up f2fs_ioctl functions This patch cleans up f2fs_ioctl functions for better readability. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 8a21984d5d86540ba32b4b346d8fe6426018b7a7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Sep 25 14:39:17 2014 +0300 f2fs: potential shift wrapping buf in f2fs_trim_fs() My static checker complains that segment is a u64 but only the lower 31 bits can be used before we hit a shift wrapping bug. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 44c16156512f33c81e382a1e1df9524e26a7026a Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Sep 25 11:55:53 2014 -0700 f2fs: call f2fs_unlock_op after error was handled This patch relocates f2fs_unlock_op in every directory operations to be called after any error was processed. Otherwise, the checkpoint can be entered with valid node ids without its dentry when -ENOSPC is occurred. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7cd8558baa4e4588a80ecb31cb30784195763cdd Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 23 11:23:01 2014 -0700 f2fs: check the use of macros on block counts and addresses This patch cleans up the existing and new macros for readability. Rule is like this. ,-----------------------------------------> MAX_BLKADDR -, | ,------------- TOTAL_BLKS ----------------------------, | | | | ,- seg0_blkaddr ,----- sit/nat/ssa/main blkaddress | block | | (SEG0_BLKADDR) | | | | (e.g., MAIN_BLKADDR) | address 0..x................ a b c d ............................. | | global seg# 0...................... m ............................. | | | | `------- MAIN_SEGS -----------' `-------------- TOTAL_SEGS ---------------------------' | | seg# 0..........xx.................. = Note = o GET_SEGNO_FROM_SEG0 : blk address -> global segno o GET_SEGNO : blk address -> segno o START_BLOCK : segno -> starting block address Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 309cc2b6e7ae6672ff9744fe07735ed234a8994e Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 22 11:40:48 2014 -0700 f2fs: refactor flush_nat_entries to remove costly reorganizing ops Previously, f2fs tries to reorganize the dirty nat entries into multiple sets according to its nid ranges. This can improve the flushing nat pages, however, if there are a lot of cached nat entries, it becomes a bottleneck. This patch introduces a new set management flow by removing dirty nat list and adding a series of set operations when the nat entry becomes dirty. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4b2fecc84655055a6a1fe9151786992ac04b56ce Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Sep 20 22:06:39 2014 -0700 f2fs: introduce FITRIM in f2fs_ioctl This patch introduces FITRIM in f2fs_ioctl. In this case, f2fs will issue small discards and prefree discards as many as possible for the given area. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 75ab4cb8301adb3a02a96c5c03c837ed941f1bc5 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Sep 20 21:57:51 2014 -0700 f2fs: introduce cp_control structure This patch add a new data structure to control checkpoint parameters. Currently, it presents the reason of checkpoint such as is_umount and normal sync. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ca605b7dd740c8909408d67911d8ddd272c2b320 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue Sep 23 11:37:44 2014 -0400 sparc64: Add vio_set_intr() to enable/disable Rx interrupts The vio_set_intr() API should be used by VIO consumers to enable/disable Rx interrupts to facilitate deferred processing in softirq/bottom-half context. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0aedcd4f14a22e23b313f42b7e6e6ebfc0fbc31 Author: Dwight Engen <dwight.engen@xxxxxxxxxx> Date: Fri Sep 19 09:43:02 2014 -0400 vio: fix reuse of vio_dring slot vio_dring_avail() will allow use of every dring entry, but when the last entry is allocated then dr->prod == dr->cons which is indistinguishable from the ring empty condition. This causes the next allocation to reuse an entry. When this happens in sunvdc, the server side vds driver begins nack'ing the messages and ends up resetting the ldc channel. This problem does not effect sunvnet since it checks for < 2. The fix here is to just never allocate the very last dring slot so that full and empty are not the same condition. The request start path was changed to check for the ring being full a bit earlier, and to stop the blk_queue if there is no space left. The blk_queue will be restarted once the ring is only half full again. The number of ring entries was increased to 512 which matches the sunvnet and Solaris vdc drivers, and greatly reduces the frequency of hitting the ring full condition and the associated blk_queue stop/starting. The checks in sunvent were adjusted to account for vio_dring_avail() returning 1 less. Orabug: 19441666 OraBZ: 14983 Signed-off-by: Dwight Engen <dwight.engen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5eed69ffd248c9f68f56c710caf07db134aef28b Author: Dwight Engen <dwight.engen@xxxxxxxxxx> Date: Fri Sep 19 09:42:53 2014 -0400 sunvdc: limit each sg segment to a page ldc_map_sg() could fail its check that the number of pages referred to by the sg scatterlist was <= the number of cookies. This fixes the issue by doing a similar thing to the xen-blkfront driver, ensuring that the scatterlist will only ever contain a segment count <= port->ring_cookies, and each segment will be page aligned, and <= page size. This ensures that the scatterlist is always mappable. Orabug: 19347817 OraBZ: 15945 Signed-off-by: Dwight Engen <dwight.engen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de5b73f08468b4fc5e2f6d1505f650262622f78b Author: Allen Pais <allen.pais@xxxxxxxxxx> Date: Fri Sep 19 09:42:26 2014 -0400 sunvdc: compute vdisk geometry from capacity The LDom diskserver doesn't return reliable geometry data. In addition, the types for all fields in the vio_disk_geom are u16, which were being truncated in the cast into the u8's of the Linux struct hd_geometry. Modify vdc_getgeo() to compute the geometry from the disk's capacity in a manner consistent with xen-blkfront::blkif_getgeo(). Signed-off-by: Dwight Engen <dwight.engen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9bce21828d54a95143f1b74619705c2dd8e88b92 Author: Allen Pais <allen.pais@xxxxxxxxxx> Date: Fri Sep 19 09:42:14 2014 -0400 sunvdc: add cdrom and v1.1 protocol support Interpret the media type from v1.1 protocol to support CDROM/DVD. For v1.0 protocol, a disk's size continues to be calculated from the geometry returned by the vdisk server. The geometry returned by the server can be less than the actual number of sectors available in the backing image/device due to the rounding in the division used to compute the geometry in the vdisk server. In v1.1 protocol a disk's actual size in sectors is returned during the handshake. Use this size when v1.1 protocol is negotiated. Since this size will always be larger than the former geometry computed size, disks created under v1.0 will be forwards compatible to v1.1, but not vice versa. Signed-off-by: Dwight Engen <dwight.engen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e156ee56cbe26c9e8df6619dac1a993245afc1d5 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Tue Sep 30 14:24:38 2014 -0700 doc/kernel-parameters.txt: clarify clk_ignore_unused Refine the definition around clk_ignore_unused, which caused some confusion recently on the linux-fbdev and linux-arm-kernel mailing lists[0]. [0] http://lkml.kernel.org/r/<20140929135358.GC30998@ulmo> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit b4b56796fe635484d049960ee06a6d435634ab16 Merge: 72c23f0 1c6dcbe Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 30 17:22:02 2014 -0400 Merge branch 'client-4.2' into linux-next Merge NFSv4.2 client SEEK implementation from Anna * client-4.2: (55 commits) NFS: Implement SEEK NFSD: Implement SEEK NFSD: Add generic v4.2 infrastructure svcrdma: advertise the correct max payload nfsd: introduce nfsd4_callback_ops nfsd: split nfsd4_callback initialization and use nfsd: introduce a generic nfsd4_cb nfsd: remove nfsd4_callback.cb_op nfsd: do not clear rpc_resp in nfsd4_cb_done_sequence nfsd: fix nfsd4_cb_recall_done error handling nfsd4: clarify how grace period ends nfsd4: stop grace_time update at end of grace period nfsd: skip subsequent UMH "create" operations after the first one for v4.0 clients nfsd: set and test NFSD4_CLIENT_STABLE bit to reduce nfsdcltrack upcalls nfsd: serialize nfsdcltrack upcalls for a particular client nfsd: pass extra info in env vars to upcalls to allow for early grace period end nfsd: add a v4_end_grace file to /proc/fs/nfsd lockd: add a /proc/fs/lockd/nlm_end_grace file nfsd: reject reclaim request when client has already sent RECLAIM_COMPLETE nfsd: remove redundant boot_time parm from grace_done client tracking op ... commit 72c23f0819977d37924af92a42a9b7fbfd1c95d8 Merge: 3fc3edf d1f456b Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 30 17:21:41 2014 -0400 Merge branch 'bugfixes' into linux-next * bugfixes: NFSv4.1: Fix an NFSv4.1 state renewal regression NFSv4: fix open/lock state recovery error handling NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails NFS: Fabricate fscache server index key correctly SUNRPC: Add missing support for RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT nfs: fix duplicate proc entries commit d1f456b0b9545f1606a54cd17c20775f159bd2ce Author: Andy Adamson <andros@xxxxxxxxxx> Date: Mon Sep 29 12:31:57 2014 -0400 NFSv4.1: Fix an NFSv4.1 state renewal regression Commit 2f60ea6b8ced ("NFSv4: The NFSv4.0 client must send RENEW calls if it holds a delegation") set the NFS4_RENEW_TIMEOUT flag in nfs4_renew_state, and does not put an nfs41_proc_async_sequence call, the NFSv4.1 lease renewal heartbeat call, on the wire to renew the NFSv4.1 state if the flag was not set. The NFS4_RENEW_TIMEOUT flag is set when "now" is after the last renewal (cl_last_renewal) plus the lease time divided by 3. This is arbitrary and sometimes does the following: In normal operation, the only way a future state renewal call is put on the wire is via a call to nfs4_schedule_state_renewal, which schedules a nfs4_renew_state workqueue task. nfs4_renew_state determines if the NFS4_RENEW_TIMEOUT should be set, and the calls nfs41_proc_async_sequence, which only gets sent if the NFS4_RENEW_TIMEOUT flag is set. Then the nfs41_proc_async_sequence rpc_release function schedules another state remewal via nfs4_schedule_state_renewal. Without this change we can get into a state where an application stops accessing the NFSv4.1 share, state renewal calls stop due to the NFS4_RENEW_TIMEOUT flag _not_ being set. The only way to recover from this situation is with a clientid re-establishment, once the application resumes and the server has timed out the lease and so returns NFS4ERR_BAD_SESSION on the subsequent SEQUENCE operation. An example application: open, lock, write a file. sleep for 6 * lease (could be less) ulock, close. In the above example with NFSv4.1 delegations enabled, without this change, there are no OP_SEQUENCE state renewal calls during the sleep, and the clientid is recovered due to lease expiration on the close. This issue does not occur with NFSv4.1 delegations disabled, nor with NFSv4.0, with or without delegations enabled. Signed-off-by: Andy Adamson <andros@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1411486536-23401-1-git-send-email-andros@xxxxxxxxxx Fixes: 2f60ea6b8ced (NFSv4: The NFSv4.0 client must send RENEW calls...) Cc: stable@xxxxxxxxxxxxxxx # 3.2.x Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c611529e7cd3465ec0eada0f44200e8420c38908 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:08 2014 -0400 sd: Honor block layer integrity handling flags A set of flags introduced in the block layer enable better control over how protection information is handled. These flags are useful for both error injection and data recovery purposes. Checking can be enabled and disabled for controller and disk, and the guard tag format is now a per-I/O property. Update sd_protect_op to communicate the relevant information to the low-level device driver via a set of flags in scsi_cmnd. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 163a4e7473061388bba0899a1a063bae44e1715a Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Mon Sep 29 19:47:59 2014 -0400 sparc: VIO protocol version 1.6 Add VIO protocol version 1.6 interfaces. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09bba1ca558f6e3a5cf3ae095d59f29f8c464b34 Merge: a12a601 a2b78e9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 30 17:10:47 2014 -0400 Merge branch 'sunvnet-jumbograms' David L Stevens says: ==================== sunvnet: add jumbo frames support This patch set updates the sunvnet driver to version 1.6 of the VIO protocol to support per-port exchange of MTU information and allow non-standard MTU sizes, including jumbo frames. Using large MTUs shows a nearly 5X throughput improvement Linux-Solaris and > 10X throughput improvement Linux-Linux. Changes from v8: -add a short timeout to free pending skbs if a new transmit doesn't do it first per Dave Miller <davem@xxxxxxxxxxxxx> Changes from v7: -handle skb allocation failures in vnet_skb_shape() per Dave Miller <davem@xxxxxxxxxxxxx> Changes from v6: -made kernel transmit path zero-copy to remove memory n^2 scaling issue raised by Raghuram Kothakota <Raghuram.Kothakota@xxxxxxxxxx> Changes from v5: - fixed comment per Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Changes from v4: - changed VNET_MAXPACKET per David Laight <David.Laight@xxxxxxxxxx> - added cookies to support non-contiguous buffers of max size Changes from v3: - added version functions per Dave Miller <davem@xxxxxxxxxxxxx> - moved rmtu to vnet_port per Dave Miller <davem@xxxxxxxxxxxxx> - explicitly set options bits and capability flags to 0 per Raghuram Kothakota <Raghuram.Kothakota@xxxxxxxxxx> Changes from v2: - make checkpatch clean Changes from v1: - fix brace formatting per Dave Miller <davem@xxxxxxxxxxxxx> ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2b78e9b2cac897c7fb843922d49b2571dd84a76 Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Mon Sep 29 19:48:24 2014 -0400 sunvnet: generate ICMP PTMUD messages for smaller port MTUs This patch sends ICMP and ICMPv6 messages for Path MTU Discovery when a remote port MTU is smaller than the device MTU. This allows mixing newer VIO protocol devices that support MTU negotiation with older devices that do not on the same vswitch. It also allows Linux-Linux LDOMs to use 64K-1 data packets even though Solaris vswitch is limited to <16K MTU. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42db672dca5b74f9c85c318b74b3b298e86cbe8e Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Mon Sep 29 19:48:18 2014 -0400 sunvnet: allow admin to set sunvnet MTU This patch allows an admin to set the MTU on a sunvnet device to arbitrary values between the minimum (68) and maximum (65535) IPv4 packet sizes. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e845f4cbbd2ef81846c2ab5dca46d88fb2717ee Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Mon Sep 29 19:48:11 2014 -0400 sunvnet: make transmit path zero-copy in the kernel This patch removes pre-allocated transmit buffers and instead directly maps pending packets on demand. This saves O(n^2) maximum-sized transmit buffers, for n hosts on a vswitch, as well as a copy to those buffers. Single-stream TCP throughput linux-solaris dropped ~5% for 1500-byte MTU, but linux-linux at 1500-bytes increased ~20%. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4defc775424a3501caf98d266a8d7616fa53819 Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Mon Sep 29 19:47:59 2014 -0400 sunvnet: upgrade to VIO protocol version 1.6 This patch upgrades the sunvnet driver to support VIO protocol version 1.6. In particular, it adds per-port MTU negotiation, allowing MTUs other than ETH_FRAMELEN with ports using newer VIO protocol versions. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a12a601ed163578084a48708ae376805f79a1ccf Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Tue Sep 30 09:49:55 2014 +0800 tcp: Change tcp_slow_start function to return void No caller uses the return value, so make this function return void. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91f8ae823f2be0ea3863360dc9327ab573a8f183 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Tue Sep 30 18:36:26 2014 +0200 PCI: designware: Setup and clear exactly one MSI at a time The setup_irq function is supposed to set up exactly one MSI IRQ. Multiple IRQ setup is handled differently, to respect the choices made by the upper layers. Also only clear one MSI IRQ at a time; the PCI core will call into this function multiple times if it has to tear down more than one MSI IRQ. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> commit 3243acd37fd9b7fc4b19318eddf28b418b3b060a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 30 22:34:08 2014 +0200 ieee802154: add __init to lowpan_frags_sysctl_register lowpan_frags_sysctl_register is only called by __init lowpan_net_frag_init (part of the lowpan module). Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d4a2f9a33ea0d9964afca92b9b62e943c00b904 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 30 22:24:04 2014 +0200 irda: add __init to irlan_open irlan_open is only called by __init irlan_init in same module. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72d099e2571b3b1bcf8cddb917f0cde4e60c354d Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Sep 30 09:39:00 2014 -0700 next: mips: bpf: Fix build failure Fix: arch/mips/net/bpf_jit.c: In function 'build_body': arch/mips/net/bpf_jit.c:762:6: error: unused variable 'tmp' cc1: all warnings being treated as errors make[2]: *** [arch/mips/net/bpf_jit.o] Error 1 Seen when building mips:allmodconfig in -next since next-20140924. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 893f3f62dc7ade3700cdceed23ce38bb92e3966b Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Sep 29 20:40:09 2014 -0600 toshiba_acpi: Change HCI/SCI functions return code type Currently the HCI/SCI read/write functions are returning the status of the ACPI call and also assigning the returned value of the HCI/SCI function, however, only the HCI/SCI status is being checked. This patch changes such functions, returning the value of the HCI/SCI function instead of the ACPI call status, eliminating one parameter, and returning something useful that indeed is being checked. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 1864bbc207756c8a3e6e3fe585c11853d28a579a Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Sep 29 20:40:08 2014 -0600 toshiba_acpi: Unify return codes prefix from HCI/SCI to TOS The return codes are split in between HCI/SCI prefixes, but they are shared (used) by both interfaces, mixing hci_read/write calls with SCI_* return codes, and sci_read/write calls with HCI_* ones. This patch changes the prefix of the return codes definitions, dropping the HCI/SCI naming and instead replacing it with TOS (for TOShiba). Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 258c590326a9340bc63a46f890e8601d37bde4d7 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Sep 29 20:40:07 2014 -0600 toshiba_acpi: Rename hci_raw to tci_raw The function name hci_raw was used before to reflect a raw (read/write) call to Toshiba's Hardware Configuration Interface (HCI), however, since the introduction of the System Configuration Interface (SCI), that "name" no longer applies. This patch changes the name of that function to tci_raw (for Toshiba Configuration Interface), and change the comments about it. Also, the HCI_WORDS definition was changed to TCI_RAW, to better reflect that we're no longer using pure HCI calls, but a combination of HCI and SCI, which form part of the Toshiba Configuration Interface. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit c8bc5f1b90ce0313ce8adeafded5e8516b3847ee Merge: fe82dce 81da57e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 22:44:54 2014 +0200 Merge tag 'pull_req_20140929' of git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq into pm-devfreq Pull devfreq changes for v3.18 from MyungJoo Ham. * tag 'pull_req_20140929' of git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq: PM / devfreq: exynos: Enable building exynos PPMU as module PM / devfreq: Export helper functions for drivers PM / devfreq: Remove ARCH_HAS_OPP completely commit 9ba10afe3202aaf3ace1e696ff017d0c0bf4e7a9 Merge: 4cb53f3 7521519 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 30 16:37:13 2014 -0400 Merge branch 'pxa168_eth' Antoine Tenart says: ==================== ARM: Berlin: Ethernet support This series introduce support for the Ethernet controller on Berlin SoCs, using the existing pxa168 Ethernet driver. In order to do this, DT support is added to the driver alongside some other modifications and fixes. This has been tested on a Berlin BG2Q DMP board. Changes since v5: - fixed the build when building the driver as a module Changes since v4: - removed the phy-addr property and added a phy subnode - added COMPILE_TEST for the pxa168_eth driver Changes since v3: - moved the addition of pxa168_eth_get_mac_address() to the patch using it first Changes since v2: - reworked how the MAC address is configured - made the clock anonymous Changes since v1: - removed custom Berlin Ethernet driver - used the pxa168 Ethernet driver instead - made modifications to the pxa168 driver (DT support, fixes) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75215193b975d9b5663f21d885c9f794de787328 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:16 2014 +0200 ARM: dts: berlin: enable the Ethernet port on the BG2Q DMP This patch enables the Ethernet port on the Marvell Berlin2Q DMP board. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdc06cd701fc9eed0e87293f5f12d1cedcaec9dd Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:15 2014 +0200 ARM: dts: berlin: add the Ethernet node This patch adds the Ethernet node, enabling the network unit on Berlin BG2Q SoCs. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a140fcb2ede90980ef455b57995d6f1bd76084c0 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:14 2014 +0200 net: pxa168_eth: allow to compile the pxa168_eth driver for tests Add a dependency to COMPILE_TEST so that the driver can be compiled for test purposes. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fdccfc12c577aaf7aa33652cb85ad50fde44bbd Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:13 2014 +0200 net: pxa168_eth: allow Berlin SoCs to use the pxa168_eth driver Berlin SoCs have an Ethernet controller compatible with the pxa168. Allow these SoCs to use the pxa168_eth driver. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78b9b2c4cd77c3416a3f098b0eda2a67f2dfe586 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:12 2014 +0200 net: pxa168_eth: rework the MAC address setup This patch rework the way the MAC address is retrieved. The MAC address can now, in addition to being random, be set in the device tree or retrieved from the Ethernet controller MAC address registers. The probing function will try to get a MAC address in the following order: - From the device tree. - From the Ethernet controller MAC address registers. - Generate a random one. This patch also adds a function to read the MAC address from the Ethernet Controller registers. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39830689ef0a935a4a2ac35c51568f483e1c5f7f Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:11 2014 +0200 net: pxa168_eth: set the mac address on the Ethernet controller When changing the MAC address, in addition to updating the dev_addr in the net_device structure, this patch also update the MAC address registers (high and low) of the Ethernet controller with the new MAC. The address stored in these registers is used for IEEE 802.3x Ethernet flow control, which is already enabled. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09f5da1b6afbebaa0e04e65c7cd732099686ec5a Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:10 2014 +0200 net: pxa168_eth: fix Ethernet flow control status IEEE 802.3x Ethernet flow control is disabled when bit (1 << 2) is set in the port status register. Fix the flow control detection in the link event handling function which was relying on the opposite assumption. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18b4bad312ffc82410173f6f265d43f8585d7e65 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:09 2014 +0200 Documentation: bindings: net: add the Marvell PXA168 Ethernet controller This adds the binding documentation for the Marvell PXA168 Ethernet controller, following its DT support. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43d3ddf87a57ce34fad298138b892744c33bfca5 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:08 2014 +0200 net: pxa168_eth: add device tree support Add the device tree support to the pxa168_eth driver. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 307f65657d3264c6a01139f843ad8ef3bf5f948e Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:07 2014 +0200 net: pxa168_eth: clean up Clean up a bit the pxa168_eth driver before adding the device tree support. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cb53f3f519545b04d55c7954fc1a1b27c5fa16b Merge: 57f5877 1daa430 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 30 16:27:57 2014 -0400 Merge branch 'mlx4-next' Or Gerlitz says: ==================== mlx4_core driver updates A series from Jack and Co of low-level fixes for the mlx4_core driver ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1daa4303b4caceda802949b1b188442870193764 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:03:50 2014 +0300 net/mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug ConnectX2 HCAs have max_mtu=4k and max_vl=8 vls. However, if you specify a 4K mtu, the max_vl supported for 4K is 4 vls. The driver at startup attempts to set a 4K mtu using the max_vl value obtained from QUERY_PORT. Since the max_vl value is 8 vls (which is supported up to 2K mtu size), the first attempt to set the mtl/vl port value will fail, generating the following error message in the log: mlx4_core 0000:06:00.0: command 0xc failed: fw status = 0x40 The driver then tries again, using mtu=4k, vls=4, and this succeeds. Since we do not want to have this error message always displayed at driver start when there are ConnectX2 HCAs on the host, we deprecate the error message for this specific command/input_modifier/opcode_modifier/fw-status to be debug. Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7401b9cf342775921f7b8eb2f9cedcaf004a929 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:03:49 2014 +0300 net/mlx4_core: Protect QUERY_PORT wrapper from untrusted guests The function mlx4_QUERY_PORT_wrapper implements only the QUERY_PORT "general" case (opcode modifier = 0). Verify that the opcode modifier is zero, and also that the input modifier contains only the port number in bits 0..7 (all other bits should be zero). Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1c00e10e92c04aa637126db2e59b092bd4878f8 Author: Majd Dibbiny <majd@xxxxxxxxxxxx> Date: Tue Sep 30 12:03:48 2014 +0300 net/mlx4_core: New init and exit flow for mlx4_core In the new flow, we separate the pci initialization and teardown from the initialization and teardown of the other resources. __mlx4_init_one handles the pci resources initialization. It then calls mlx4_load_one to initialize the remainder of the resources. When removing a device, mlx4_remove_one is invoked. However, now mlx4_remove_one calls mlx4_unload_one to free all the resources except the pci resources. When mlx4_unload_one returns, mlx4_remove_one then frees the pci resources. The above separation will allow us to implement 'reset flow' in the future. It will also enable more EQs for VFs and is a pre-step to the modern API to enable/disable SRIOV. Also added nvfs; an integer array of size MLX4_MAX_PORTS + 1; to the mlx4_dev struct. This new field is used to avoid parsing the num_vfs module parameter each time the mlx4_restart_one is called. Signed-off-by: Majd Dibbiny <majd@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bbb07af4cdfd0c154db4c636927bd262f71c6401 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:03:47 2014 +0300 net/mlx4_core: Don't disable SRIOV if there are active VFs When unloading the host driver while there are VFs active on VMs, the PF driver disabled sriov anyway, causing kernel crashes. We now leave SRIOV enabled, to avoid that. When the driver is reloaded, __mlx4_init_one is invoked on the PF. It now checks to see if SRIOV is already enabled on the PF -- and if so does not enable sriov again. Signed-off-by: Tal Alon <talal@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c6dcbe5ceff81c2cf8d929646af675cd59fe7c0 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Fri Sep 26 13:58:48 2014 -0400 NFS: Implement SEEK The SEEK operation is used when an application makes an lseek call with either the SEEK_HOLE or SEEK_DATA flags set. I fall back on nfs_file_llseek() if the server does not have SEEK support. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4a3a0ebad1360696125bf34d89de55d71c4d0eaa Merge: 2ce7598 24bab49 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 30 16:23:39 2014 -0400 Merge commit '24bab491220f' into client-4.2 - Pull in patch 'NFSD: Implement SEEK' from Bruce's nfsd-next tree for dependencies. commit d61b0e87d2dfba3706dbbd6c7c6fd41c3d845685 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Fri Aug 22 18:15:07 2014 -0700 PCI: Add missing MEM_64 mask in pci_assign_unassigned_bridge_resources() In 5b28541552ef ("PCI: Restrict 64-bit prefetchable bridge windows to 64-bit resources"), we added IORESOURCE_MEM_64 to the mask in pci_assign_unassigned_root_bus_resources(), but not to the mask in pci_assign_unassigned_bridge_resources(). Add IORESOURCE_MEM_64 to the pci_assign_unassigned_bridge_resources() type mask. Fixes: 5b28541552ef ("PCI: Restrict 64-bit prefetchable bridge windows to 64-bit resources") Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.16+ commit 38bf3a79785f50ecad01e0ea60bf779507032984 Merge: 44b4aa9 9ff25d7 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Tue Sep 30 12:49:42 2014 -0700 Merge branch 'clk-pxa27x' into clk-next commit 9ff25d7b58d8a4374886843ed3ed21f1ef17bf16 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:51:04 2014 +0200 arm: pxa: Transition pxa27x to clk framework Transition the PXA27x CPUs to the clock framework. This transition still enables legacy platforms to run without device tree as before, ie relying on platform data encoded in board specific files. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 85fe55c11a410a1e26ad3cf2d7a83adf6d019d5d Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:51:03 2014 +0200 dts: add devicetree bindings for pxa27x clocks Add the clock tree description for the PXA27x based boards. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit d40670dc616936ed12335b9408087c9923939f1f Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:51:02 2014 +0200 clk: add pxa27x clock drivers Move pxa27x clock drivers from arch/arm/mach-pxa to driver/clk. In the move : - convert to new clock framework legacy clocks - provide clocks as before for platform data based boards - provide clocks through devicetree Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 108f303f0ed92549b061e08a18361ad4bd540b27 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:51:01 2014 +0200 arm: pxa: add clock pll selection bits Add missing bits for CCCR and CCSR : - CPLL and PPLL selection, either full speed or 13MHz - CPSR masks Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 53f3394a0fe97420ec260e4dad7854add90a66dd Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:51:00 2014 +0200 clk: dts: document pxa clock binding Document the device-tree binding of Marvell PXA based SoCs. PXA clocks are mostly fixed rate and fixed ratio clocks derived from an external oscillator, and gated by a register set (CKEN or CKEN*). Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit bda003036684b9779fca2b3d457621eaff9bcd0a Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:50:59 2014 +0200 clk: add pxa clocks infrastructure Add a the common code used by all PXA variants. This is the first step in the transition from architecture defined clocks (in arch/arm/mach-pxa) towards clock framework. The goal is to have the same features (and not all the features) of the existing clocks, and enable the transition of PXA to device-tree. All PXA rely on a "CKEN" type clock, which : - has a gate (bit in CKEN register) - is generated from a PLL, generally divided - has an alternate low power clock Each variant will specialize the CKEN clock : - pxa25x have no low power clock - pxa27x in low power use always the 13 MHz ring oscillator - pxa3xx in low power have specific dividers for each clock The device-tree provides a list of CLK_* (ex: CLK_USB or CLK_I2C) to get a handle on the clock. While pxa-clock.h will describe all the clocks of all the variants, each variant will only use a subset of it. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 83bbde1cc0ec9d156b9271e29ffe0dc89c687feb Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:24 2014 +0100 of/pci: Move of_pci_range_to_resource() to of/address.c We need to enhance of_pci_range_to_resources() enough that it won't make sense for it to be inline anymore. Move it to drivers/of/address.c, under #ifdef CONFIG_PCI. of_address.h previously implemented of_pci_range_to_resources() unconditionally, regardless of any config options. The implementation in address.c is defined only when CONFIG_OF_ADDRESS=y and CONFIG_PCI=y, so add a dummy version to avoid build errors when CONFIG_OF or CONFIG_OF_ADDRESS is not defined. [bhelgaas: drop extra detail from changelog, move def under CONFIG_PCI, add dummy of_pci_range_to_resource() for build errors (from Arnd)] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> commit dad13e3c08e7005854271e562eda4ffa5c71bc38 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:22 2014 +0100 ARM: Define PCI_IOBASE as the base of virtual PCI IO space This is needed for calls into OF code that parses PCI ranges. It signals support for memory mapped PCI I/O accesses that are described by device trees. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> commit fdd64ed54eeba6b8619b36dcc7cb6442f2c6da0c Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Sep 30 13:31:29 2014 +0200 PM / hibernate: Iterate over set bits instead of PFNs in swsusp_free() The existing implementation of swsusp_free iterates over all pfns in the system and checks every bit in the two memory bitmaps. This doesn't scale very well with large numbers of pfns, especially when the bitmaps are not populated very densly. Change the algorithm to iterate over the set bits in the bitmaps instead to make it scale better in large memory configurations. Also add a memory_bm_clear_current() helper function that clears the bit for the last position returned from the memory bitmap. This new version adds a !NULL check for the memory bitmaps before they are walked. Not doing so causes a kernel crash when the bitmaps are NULL. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0bf18f19be4d26545d7aa3114091cffe556572be Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Sep 30 09:19:57 2014 +0530 cpufreq: ppc-corenet: remove duplicate update of cpu_data 'cpu_data' is updated for policy->cpu first and then for all CPUs in policy->cpus. policy->cpus is guaranteed to contain policy->cpu as well and so the first write to 'cpu_data' for policy->cpu is redundant. Remove it. Acked-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a8d46b9e4e487301affe84fa53de40b890898604 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 02:29:01 2014 +0200 ACPI / sleep: Rework the handling of ACPI GPE wakeup from suspend-to-idle The ACPI GPE wakeup from suspend-to-idle is currently based on using the IRQF_NO_SUSPEND flag for the ACPI SCI, but that is problematic for a couple of reasons. First, in principle the ACPI SCI may be shared and IRQF_NO_SUSPEND does not really work well with shared interrupts. Second, it may require the ACPI subsystem to special-case the handling of device notifications depending on whether or not they are received during suspend-to-idle in some places which would lead to fragile code. Finally, it's better the handle ACPI wakeup interrupts consistently with wakeup interrupts from other sources. For this reason, remove the IRQF_NO_SUSPEND flag from the ACPI SCI and use enable_irq_wake()/disable_irq_wake() with it instead, which requires two additional platform hooks to be added to struct platform_freeze_ops. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ebc3e41e371620bae6c315c9174bcb2d6c4e9ae7 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 02:22:24 2014 +0200 PM / sleep: Rename platform suspend/resume functions in suspend.c Rename several local functions related to platform handling during system suspend resume in suspend.c so that their names better reflect their roles. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2a8a8ce651d3a88fdf83e2ed15633c8d19292108 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 02:21:34 2014 +0200 PM / sleep: Export dpm_suspend_late/noirq() and dpm_resume_early/noirq() Subsequent change sets will add platform-related operations between dpm_suspend_late() and dpm_suspend_noirq() as well as between dpm_resume_noirq() and dpm_resume_early() in suspend_enter(), so export these functions for suspend_enter() to be able to call them separately and split the invocations of dpm_suspend_end() and dpm_resume_start() in there accordingly. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e1253e5e3fcd61f1057ef8a39c8c64e6b82358b9 Merge: e4cb0c9 e0fa975 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 21:05:34 2014 +0200 Merge branch 'acpica' into acpi-pm commit e0fa975d85b2ec300b3d69f08bc4933f79316651 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 02:25:42 2014 +0200 ACPICA: Introduce acpi_enable_all_wakeup_gpes() Add a routine for host OSes to enable all wakeup GPEs and disable all of the non-wakeup ones at the same time. It will be used for the handling of GPE wakeup from suspend-to-idle in Linux. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5a0b8deeeb19906b24a48d0078aa6b64dc0b4dab Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 02:24:38 2014 +0200 ACPICA: Clear all non-wakeup GPEs in acpi_hw_enable_wakeup_gpe_block() Since acpi_hw_enable_wakeup_gpe_block() is currently always called after disabling all GPEs, it can actually write zeros to all non-wakeup enable bits unconditionally. That will be useful going forward for disabling runtime GPEs and enabling wakeup GPEs in one go instead of doing that in two steps (disable runtime and enable wakeup) which in theory may lead to a loss of a wakeup event. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 44b4aa97bea84fa8ac179155f147e3483cc7a6e0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 18:16:22 2014 +0100 clk: gpio-gate: Ensure gpiod_ APIs are prototyped The gpio-gate clock uses the gpiod_ APIs but does not directly include the header for them causing build failures in some configurations including ARM allnoconfig. Include the header directly. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 0b8db271f1592e118feef7300f6da85bea9366da Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Tue Sep 30 14:10:17 2014 +0800 ACPI / video: check _DOD list when creating backlight devices The _DOD method lists which video output device is currently attached so we should only care about them and ignore others. An user recently reported that there are two acpi_video interfaces appeared on his system and one of them doesn't work. From the acpidump, it is found that there are more than one video output devices that have _BCM control method but the _DOD lists only one of them. So this patch checks if the video output device is in the _DOD list and will not create backlight device if it is not in the list. Also, we consider the broken _DOD case(reflected by the video->attached_count is 0) and do not change behaviour for those broken _DOD systems. Link: https://bugzilla.kernel.org/show_bug.cgi?id=84111 Reported-and-tested-by: ntrrgc@xxxxxxxxx Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e4cb0c9e92f7b16db7a1e892ac6bcf2f736dfd50 Merge: 905563f 27f3d18 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 20:46:13 2014 +0200 Merge branch 'pm-genirq' into acpi-pm commit 57f5877c11b244ff2315f4ba0e57b54fe013581f Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Sep 30 10:59:18 2014 +0200 netfilter: bridge: build br_nf_core only if required Eric reports build failure with CONFIG_BRIDGE_NETFILTER=n We insist to build br_nf_core.o unconditionally, but we must only do so if br_netfilter was enabled, else it fails to build due to functions being defined to empty stubs (and some structure members being defined out). Also, BRIDGE_NETFILTER=y|m makes no sense when BRIDGE=n. Fixes: 34666d467 (netfilter: bridge: move br_netfilter out of the core) Reported-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 574a7930d7c4d0fe4295868e52a5277bd9595b5e Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Tue Sep 30 11:18:21 2014 -0500 rtlwifi: Fix randconfig build error with next-20140930 Configuration randconfig-1412075201 gets an error because driver rtl8821ae depends on driver btcoexist, but Kconfig does not select it. Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Cc: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8342bdac42dfacd49f44c6ca3cf6dfd58dbc7f93 Author: Maithili Hinge <maithili@xxxxxxxxxxx> Date: Tue Sep 30 16:29:38 2014 +0530 mwifiex: add client mac address while configuring keys on GO. When mwifiex device becomes GO, unicast traffic between client1 and GO stops when client2 connects to GO. Reason behind this was PTK getting overwritten by key_material command for client2 as it did not have client mac address. So, client1 can no more decode GO's ping packets though it responds to its broadcast packets. This patch adds case to check for BSS_ROLE instead of bss_type to set client mac address while configuring keys when device becomes GO. Signed-off-by: Maithili Hinge <maithili@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 315dd1149b6048cec805667f511726bbe8e5c975 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Sep 30 11:24:23 2014 +0200 ath9k: fix getting tx duration for dynack On AR9003, tx control and tx status are in separate descriptor rings. Tx duration is extracted from the tx control descriptor data, which ar9003_hw_proc_txdesc cannot access. Fix getting the duration by adding a separate callback for it. Acked-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4d9f634b02e4240f86719f30e4c9e62f6a4c4d36 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Tue Sep 30 14:15:23 2014 +0530 ath9k: Check early for HW reset chan_lock is not required for checking if we are in the middle of a HW reset, so do it early. This also removes the small window where the lock is dropped and reacquired. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4eb3af7c1df32dcd4362c2f20928f679ed78f2e5 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:18 2014 +0200 brcmfmac: Add wowl support for PCIE devices. Add basic wowl (magic packet and disconnect) support. This patch adds this support only for PCIE bus devices. This feature requires FW which has support for wowl built in. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 58b2251e96d8230e81f65a0196afc914a17e1806 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:17 2014 +0200 brcmfmac: Fix crash on cleanup. When driver gets unloaded due to error situation there is a chance a packet gets received while fws has already been cleaned up. This will result in kernel crash. This patch adds a check to avoid this crash. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f48556e1b6a60f1b394a6c4b0a7b8cacba3eb107 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:16 2014 +0200 brcmfmac: assure P2P discovery is disabled when setting P2P_DEVICE mac address In order to provision the P2P_DEVICE mac address using p2p_da_override iovar the discovery interface must be disabled. On some targets setting the mac address failed so disable the discovery interface to be certain. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3ba066109974dff307f143ffdeddc7af83b2bb8e Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:15 2014 +0200 brcmfmac: Avoid usage of GFP_ATOMIC. Msgbuf is using GFP_ATOMIC where GFP_KERNEL is also sufficient. On some platforms the coherent DMA memory is very limited when using GFP_ATOMIC. This patch changes usage of GFP_ATOMIC to GFP_KERNEL and uses worker to make this possible for creation of flowring. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ff0a6230603c089fdc12a06b824c21498eb24691 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:14 2014 +0200 brcmfmac: Fix sign issue with IOCTL return code in msgbuf. Need a cast to assure correct value is propagated. Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ef8596e1f1ce06b4398db4752d04bb1a67a14a02 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:13 2014 +0200 brcmfmac: On scan timeout do send received results. Increase driver scan timeout from 8 to 10 seconds and report results to cfg80211. Without this patch the already received results were dropped on driver timeout. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5fb9b1b949ce9b829e7e8f799cc85e91527213bd Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Sep 29 20:45:42 2014 +0200 ath9k_hw: fix PLL clock initialization for newer SoC On AR934x and newer SoC devices, the layout of the AR_RTC_PLL_CONTROL register changed. This currently breaks at least 5/10 MHz operation. AR933x uses the old layout. It might also have been causing other stability issues because of the different location of the PLL_BYPASS bit which needs to be set during PLL clock initialization. This patch also removes more instances of hardcoded register values in favor of properly computed ones with the PLL_BYPASS bit added. Reported-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b874ec8d57ba61cb56c97a7b7810828da8ec8e95 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Sep 29 20:45:41 2014 +0200 ath9k_hw: reduce ANI spur immunity setting on HT40 extension channel The cycpwr_thr1 value needs to be lower on the extension channel than on the control channel, similar to how the register settings are programmed in the initvals. Also drop the unnecessary check for HT40 - this register can always be written. This patch has been reported to improve HT40 stability and throughput in some environments. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 171cdab8c78bb169d9693d587e1d02d2dd5a0274 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Sep 29 20:45:40 2014 +0200 Revert "ath9k_hw: reduce ANI firstep range for older chips" This reverts commit 09efc56345be4146ab9fc87a55c837ed5d6ea1ab I've received reports that this change is decreasing throughput in some rare conditions on an AR9280 based device Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b48f8800bb08f87cded9adb992f04d94b1b77a11 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Sep 29 21:44:15 2014 +0530 mwifiex: remove unnecessary rx_q lock SKB lists have their own lock. So this lock is not needed. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b43a0d9d01dbe498632e83632a2409a575fcee23 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Sep 29 21:44:14 2014 +0530 mwifiex: do not decrement rx_pending count twice This patch fixes an issue with rx processing function where we were decrementing rx_pending count twice. Patch also queues correct main_work item when rx_pending count reaches low watermark. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f73e557bca0609d0f997414a5b1403e3fadd5dea Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Sep 29 21:44:13 2014 +0530 mwifiex: fix soft lockup during iperf UDP RX A soft lockup was observed on ARM multicore platform while UDP RX iperf was running on station. Reason for this is delay_main_task was not taken into consideration while jumping to process_start. Now if delay_main_task is true, we would exit mwifiex_main_process instead of going to process_start again. This ensure other process is scheduled on this CPU and soft lockup is avoided. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kevin Gan <ganhy@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b182427efa7dbd9ed301dea7aae8a5c0fbbe5e53 Author: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Date: Sun Sep 28 14:03:06 2014 +0200 MAINTAINERS: change rt2x00 maintainer After short chat with Ivo, we decided that I'll take maintenance of rt2x00 driver. Thanks for Ivo's great work in the past! Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Acked-by: Ivo Van Doorn <ivdoorn@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 83322eb862e408029baf7872db1b82124f291d58 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sat Sep 27 22:49:44 2014 +0200 ath9k_hw: disable hardware ad-hoc flag on ar934x rev 3 On AR934x rev 3, settin the ad-hoc flag completely messes up hardware state - beacons get stuck, almost no packets make it out, hardware is constantly reset. When leaving out that flag and setting up the hw like in AP mode, TSF timers won't be automatically synced, but at least the rest works. AR934x rev 2 and older are not affected by this bug Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 09c74f7bceb41d9072f2e4b3d11da5ce2bd51390 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sat Sep 27 22:49:43 2014 +0200 ath9k: use ah->get_mac_revision for all SoC devices if available It is needed for AR934x as well Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 005eff5919cdc29ec7f1c6169db40c533f1e05d7 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sat Sep 27 18:05:47 2014 +0200 ath5k: add missing include for debug code Needed for calling vmalloc()/vfree() Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ef09396ef622572c604d4977e76f6151ef68ed21 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:28 2014 -0500 rtlwifi: rtl8188ee: rtl8723ae: rtl8821ae: Initialize some variables In a number of places, kmalloc or valloc were used to acquire memory. To ensure that these locations are correctly initialized, the calls were changed to kzalloc and vzalloc. The change fixes a problem that was causing HT operations to be cancelled. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 557f933113a42a48ec617b81b5ea53fd7202b1ed Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:27 2014 -0500 rtlwifi: rtl8188ee: rtl8192com: rtl8192cu: rtl8192ee: rtl8723ae: rtl87323be: rtl8821ae: Use common cmd_send_packet A locking problem was found in routine _rtl92ee_cmd_send_packet() that led to system freezes. Upon inspection, several drivers had the same problem; however, the routines all used the same code. The common code has been moved into rtlwifi. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9f087a924427c01190b205f0051be00808c99828 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:26 2014 -0500 rtlwifi: rtl8192ce: rtl8192common: Update for latest version of Realtek drivers Realtek released new drivers on 06/28/2014. These changes implement all their changes into the kernel version of the driver. In addition, these modifications are part of the process of unifying the Realtek and kernel code bases. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5c99f04fec93068147a3e95b439b345f203ac5b9 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:25 2014 -0500 rtlwifi: rtl8723be: Update driver to match Realtek release of 06/28/14 This patch updates the driver to match the latest Realtek release, and it is an important step in getting the internal code source at Realtek to match the code in the kernel. The primary reason for this is to make it easier for Realtek to maintain the kernel source without requiring an intermediate like me. In this process of merging the two source repositories, there are a lot of changes in both, and this commit is rather large. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 0529c6b8176135bcae1ab66bed6c1288456fbdec Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:24 2014 -0500 rtlwifi: rtl8723ae: Update driver to match 06/28/14 Realtek version Not only does this patch update the driver to match the latest Realtek release, it is an important step in getting the internal code source at Realtek to match the code in the kernel. The primary reason for this is to make it easier for Realtek to maintain the kernel source without requiring an intermediate like me. In this process of merging the two source repositories, there are a lot of changes in both, and this commit is rather large. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b1a3bfc97cd95681c511515534b84843998f3ea0 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:23 2014 -0500 rtlwifi: rtl8192ee: Move driver from staging to the regular tree This driver was entered into staging a few cycles ago because there was not time to integrate the Realtek version into the support routines in the kernel. Now that there is an effort to converg the code base from Linux and the Realtek repo, it is time to move this driver. In addition, all the updates included in the 06/28/2014 version of the Realtek drivers are included here. With this change, it will be necessary to delete the staging driver. That will be handled in a separate patch. As it impacts the staging tree, such a patch is sent to a different destination. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7fe3b3abb5da3a105d87640db693c41259138294 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:22 2014 -0500 rtlwifi: rtl8188ee: rtl8821ae: Fix a queue locking problem The code fails to lock the skb queue, which leads to a number of problems. This patch also fixes a Sparse warning about using a memset of 1 byte. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a0196d111707d8b79196a40295f3935c5fa339eb Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Sep 30 12:55:48 2014 +0200 bcma: use chipcommon node from DT for SoC GPIO chip This will allow us to define GPIO-attached devices (LEDs, buttons) in the the device tree. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2101e533f41a90b25bee17ce969734e26eb0eb55 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Fri Sep 26 00:09:19 2014 +0200 bcma: register bcma as device tree driver This driver is used by the bcm53xx ARM SoC code. Now it is possible to give the address of the chipcommon core in device tree and bcma will search for all the other cores. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7e174833dec99ca901241730efa84029c4047bae Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Thu Sep 18 07:18:50 2014 -0400 mwifiex: add more dump information for PCIe interface We will now dump MAC, APU, CIU, ICU firmware memory segments also for PCIe interface. Following is the updated userspace script which reads firmware dump information. mwifiex_pcie_fw_dump.sh: #!/bin/bash ethtool --set-dump mlan0 0 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/ITCM.log ethtool --set-dump mlan0 1 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/DTCM.log ethtool --set-dump mlan0 2 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/SQRAM.log ethtool --set-dump mlan0 3 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/IRAM.log ethtool --set-dump mlan0 4 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/APU.log ethtool --set-dump mlan0 5 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/CIU.log ethtool --set-dump mlan0 6 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/ICU.log ethtool --set-dump mlan0 7 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/MAC.log Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 24716876d82ac0cb7ade51b7363ebc125307e9cc Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Thu Sep 18 08:04:01 2014 -0400 mwifiex: error path handling in pcie firmware dump This patch takes care of missing error paths in firmware dump. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f823182bc289f5dd6ac23737760a4024b09d3504 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Tue Sep 30 09:48:19 2014 -0500 staging: r8192ee: Remove staging driver A new version of this driver has been merged into the regular wireless tree. The staging version is hereby removed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c53f755d339b5546600c316333140d5fe958941d Author: Jan Kara <jack@xxxxxxx> Date: Tue Sep 30 18:07:08 2014 +0200 ocfs2: Back out change to use OCFS2_MAXQUOTAS in ocfs2_setattr() ocfs2_setattr() actually needs to really use MAXQUOTAS and not OCFS2_MAXQUOTAS since it will pass the array over to VFS. Currently this isn't a problem since MAXQUOTAS == OCFS2_MAXQUOTAS but it would be once we introduce project quotas. CC: Mark Fasheh <mfasheh@xxxxxxxx> CC: Joel Becker <jlbec@xxxxxxxxxxxx> CC: ocfs2-devel@xxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> commit 41f8bba7f5552d033583777dede2df7c36e7853d Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:21 2014 +0100 of/pci: Add pci_register_io_range() and pci_pio_to_address() Some architectures do not have a simple view of the PCI I/O space and instead use a range of CPU addresses that map to bus addresses. For some architectures these ranges will be expressed by OF bindings in a device tree file. This patch introduces a pci_register_io_range() helper function with a generic implementation that can be used by such architectures to keep track of the I/O ranges described by the PCI bindings. If the PCI_IOBASE macro is not defined, that signals lack of support for PCI and we return an error. In order to retrieve the CPU address associated with an I/O port, a new helper function pci_pio_to_address() is introduced. This will search in the list of ranges registered with pci_register_io_range() and return the CPU address that corresponds to the given port. [arnd: add dummy !CONFIG_OF pci_pio_to_address() to fix build errors] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> commit 112eeaa7f87bbd2925e919486bb504f8954fa675 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:20 2014 +0100 asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP The !CONFIG_GENERIC_IOMAP version of ioport_map() is wrong. It returns a mapped, i.e., virtual, address that can start from zero and completely ignores the PCI_IOBASE and IO_SPACE_LIMIT that most architectures that use !CONFIG_GENERIC_MAP define. Tested-by: Tanmay Inamdar <tinamdar@xxxxxxx> Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 8fa7d87f91479f7124142ca4ad93a37b80f8c1c0 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Mon Sep 29 16:07:28 2014 -0400 perf symbols: Encapsulate dsos list head into struct dsos This is a precursor patch to enable long name searching of DSOs using a rbtree. In this patch, a new dsos structure is created which contains only a list head structure for the moment. The new dsos structure is used, in turn, in the machine structure for the user_dsos and kernel_dsos fields. Only the following 3 dsos functions are modified to accept the new dsos structure parameter instead of list_head: - dsos__add() - dsos__find() - __dsos__findnew() Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Link: http://lkml.kernel.org/r/1412021249-19201-2-git-send-email-Waiman.Long@xxxxxx [ Move struct dsos to dso.h to reduce the dso methods depends on machine.h ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 858f61c4298d858376ca7b9fc2e05677faabd2d5 Merge: 6c8ff87 4093a84 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Wed Oct 1 00:45:26 2014 +1000 Merge branch 'next' of git://git.infradead.org/users/pcmoore/selinux into next commit 6c8ff877cdf13cd5287ed9d700cfb6cb70e2bfa1 Merge: 35e1efd 19583ca Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Wed Oct 1 00:44:04 2014 +1000 Merge commit 'v3.16' into next commit a3b7c00484e1177e7eb9b047c46cac571b82442f Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 30 14:50:28 2014 +0100 CacheFiles: Handle object being killed before being set up If a cache object gets killed whilst in the process of being set up - for instance if the netfs relinquishes the cookie that the object is associated with - then the object's state machine will transit to the DROP_OBJECT state without necessarily going through the LOOKUP_OBJECT or CREATE_OBJECT states. This is a problem for CacheFiles because cachefiles_drop_object() assumes that object->dentry will be set upon reaching the DROP_OBJECT state and has an ASSERT() to that effect (see the oops below) - but object->dentry doesn't get set until the LOOKUP_OBJECT or CREATE_OBJECT states (and not always then if they fail). To fix this, just make the dentry cleanup in cachefiles_drop_object() conditional on the dentry actually being set and remove the assertion. CacheFiles: Assertion failed ------------[ cut here ]------------ kernel BUG at .../fs/cachefiles/namei.c:425! ... Workqueue: fscache_object fscache_object_work_func [fscache] ... RIP: ... cachefiles_delete_object+0xcd/0x110 [cachefiles] ... Call Trace: [<ffffffffa043280f>] ? cachefiles_drop_object+0xff/0x130 [cachefiles] [<ffffffffa02ac511>] ? fscache_drop_object+0xd1/0x1d0 [fscache] [<ffffffffa02ac697>] ? fscache_object_work_func+0x87/0x210 [fscache] [<ffffffff81080635>] ? process_one_work+0x155/0x450 [<ffffffff81081c44>] ? worker_thread+0x114/0x370 [<ffffffff81081b30>] ? manage_workers.isra.21+0x2c0/0x2c0 [<ffffffff81087fcc>] ? kthread+0xbc/0xe0 [<ffffffff81087f10>] ? flush_kthread_worker+0xa0/0xa0 [<ffffffff8150638c>] ? ret_from_fork+0x7c/0xb0 [<ffffffff81087f10>] ? flush_kthread_worker+0xa0/0xa0 Reported-by: Manuel Schölling <manuel.schoelling@xxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Steve Dickson <steved@xxxxxxxxxx> commit 8e4a5da69c39788fabc9e7cf178eb62b6077c96b Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Sat Sep 20 13:37:55 2014 +0200 scsi: fix comment in struct Scsi_Host definition Commit 1abf635 (scsi: use 64-bit value for 'max_luns') changed the order of Scsi_Host members. Update the comment to reflect this. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 8f1774a2a97135db35c5f42531a148135158705a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 30 15:05:21 2014 +0200 pinctrl: nomadik: improve GPIO debug prints The debugfs file would only define if the line was "pulled" and not which direction (pull up or pull down). Improve this by taking two print paths depending on whether the pin is set as input or output and use the data register directly to figure out whether the pin is set for pull up or pull down. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ad21edcdb2172c0d8f47f856867104e331525820 Merge: 6d9deb7 7d42a7f 23b1134 7179569 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:31 2014 +0100 Merge remote-tracking branches 'regulator/topic/tps65217', 'regulator/topic/tps65910' and 'regulator/topic/voltage-ev' into regulator-next commit 6d9deb7ad4559c9361701e9df7ccf1fb0be02cf9 Merge: 64b285a 8af2522 811b700 5a867cf Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:30 2014 +0100 Merge remote-tracking branches 'regulator/topic/rk808', 'regulator/topic/rn5t618' and 'regulator/topic/samsung' into regulator-next commit 64b285ad7b03af498fbf2e6c0a143dd7b506ffba Merge: a81bf3c 5ccedf0 da0bb55 ef126a4 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:29 2014 +0100 Merge remote-tracking branches 'regulator/topic/max1586', 'regulator/topic/max77802' and 'regulator/topic/of' into regulator-next commit a81bf3c4fc391ec10696d448408c1ac83bfb6112 Merge: 95528a5 fdaff15 df11e50 e13426b 5c5e417 ba441ec Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:27 2014 +0100 Merge remote-tracking branches 'regulator/topic/drivers', 'regulator/topic/enable', 'regulator/topic/fan53555', 'regulator/topic/hi6421' and 'regulator/topic/isl9305' into regulator-next commit 95528a55dba0360b5342d9c7369e69a772717b7b Merge: 74a0f24 192264e 0d90ecf e0f6429 6a52f56 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:25 2014 +0100 Merge remote-tracking branches 'regulator/topic/as3711', 'regulator/topic/axp20x', 'regulator/topic/bcm590xx' and 'regulator/topic/da9211' into regulator-next commit 74a0f24bb6f9e29ea1223f363ca2ed36d082e1b9 Merge: 4d93b02 5cdeb2c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:25 2014 +0100 Merge remote-tracking branch 'regulator/topic/core' into regulator-next commit 4d93b0253caf7b9947c309652fe670340240b6f0 Merge: fe82dce 4e7089f c5bb725 3220574 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:23 2014 +0100 Merge remote-tracking branches 'regulator/fix/da9211', 'regulator/fix/ltc3589' and 'regulator/fix/tps65023' into regulator-linus commit 4e7089f3f7ab3edf177bbdb84107aff3193e855e Author: James Ban <james.ban.opensource@xxxxxxxxxxx> Date: Mon Sep 29 16:59:20 2014 +0900 regulator: da9211: Fix a bug in update of mask bit This is a patch for fixing a bug about mask bit operation. Signed-off-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b93427b1c057841602e0fe2005153a6e82f2e658 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 29 23:25:30 2014 -0300 ASoC: fsl ssi doc: Remove unused properties The fsl_ssi driver only checks for the ac97 mode property, so remove the unused ones. Suggested-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ece1e4999606fc323aee96a1cdb9b7991c01dd09 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 29 23:25:29 2014 -0300 ASoC: fsl_ssi: Remove unneeded 'i2s-slave' property There is no need to use 'i2s-slave' property, since master/slave configuration are passed via machine layer. This change does not break existing users because they do check for slave mode inside sound/soc/fsl/mpc8610_hpcd.c/p1022_ds.c/p1022_rdk.c Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3b2a0013c7d49783d5ac3df9178e9907cd6ebd73 Author: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Date: Mon Sep 29 22:41:37 2014 +0300 ASoC: ssm2602: add support for 11.025kHz and 22.5kHz sample rates This adds the necessary values to the constraint list and register values to the coefficient table in order to configure the device for 11.025kHz and 22.5kHz sample rates. Signed-off-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> commit 555b9ee1368a9ceddd5c963ad918db5120638674 Author: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Date: Mon Sep 29 22:41:10 2014 +0300 ASoC: ssm2602: add device tree bindings Allow the ssm2602/ssm2603/ssm2604 codec driver to be instantiated from the device tree. Also, add Kconfig prompts to allow manual selection of both the I2C and SPI configuration versions of the driver. Signed-off-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> commit 6a57dba9f0107b21cab06f7c898935d747d4738a Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Sep 30 07:39:05 2014 -0400 Bluetooth: btusb: remove redundant lock variable This variable is nowhere used in the code. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3907d55801a631862ffca2b85c536ea5ceed2dc9 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Tue Sep 30 06:45:33 2014 -0400 Bluetooth: btmrvl: support Marvell Bluetooth device SD8887 This patch adds driver support for marvell SD8887 chip. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Kevin Gan <ganhy@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1e3e492c3d7e78dad29ec0d6f36e18a785ea2720 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Sep 30 06:45:32 2014 -0400 Bluetooth: btmrvl: rename definitions from 88xx to 8897 Register offsets are different for SD8897 and newer chip SD8887. We can not have common btmrvl_sdio_card_reg map for them. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f4f4e3e3e9f3bde110067b9e4487cb267d90055a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:15 2014 +0100 drm/ttm: add reservation_object as argument to ttm_bo_init This allows importing reservation objects from dma-bufs. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit b5e9c1a25fcf8a0d664606251a53b5caa6a19d08 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:14 2014 +0100 drm: Pass dma-buf as argument to gem_prime_import_sg_table Allows importing dma_reservation_objects from a dma-buf. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 15a996bbb6978ae21c497aeadfe20deca6ddd07a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Mon Sep 29 10:06:18 2014 +0200 drm/nouveau: assign fence_chan->name correctly Make nouveau_fence_chan refcounted, to make trace_fence_destroy always return the correct name without a race condition. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit e3be4c230dfadf79567a245505a47a90db97f968 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Sep 16 11:15:07 2014 +0200 drm/nouveau: specify if interruptible wait is desired in nouveau_fence_sync Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 055dffdfb65eb8dcc8e7dabc84fd53059a92a23a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Sep 10 16:15:23 2014 +0200 drm/nouveau: bump driver patchlevel to 1.2.1 Allows userspace to detect shared fences are supported. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 2d605456431343886bc073ea126aeb7c64e07a57 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 15 14:33:25 2014 +0200 video/atmel_lcdfb: Introduce regulator support This adds regulator support to enable/disable the LCD voltage, using 'lcd-supply' as regulator name. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit a18c3f16a907b8977ef65fc8dd71ed3f7b751748 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 30 12:55:41 2014 +0200 mpc85xx_edac: Make L2 interrupt shared too The other two interrupt handlers in this driver are shared, except this one. When loading the driver, it fails like this. So make the IRQ line shared. Freescale(R) MPC85xx EDAC driver, (C) 2006 Montavista Software mpc85xx_mc_err_probe: No ECC DIMMs discovered EDAC DEVICE0: Giving out device to module MPC85xx_edac controller mpc85xx_l2_err: DEV mpc85xx_l2_err (INTERRUPT) genirq: Flags mismatch irq 16. 00000000 ([EDAC] L2 err) vs. 00000080 ([EDAC] PCI err) mpc85xx_l2_err_probe: Unable to request irq 16 for MPC85xx L2 err remove_proc_entry: removing non-empty directory 'irq/16', leaking at least 'aerdrv' ------------[ cut here ]------------ WARNING: at fs/proc/generic.c:521 Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc5-dirty #1 task: ee058000 ti: ee046000 task.ti: ee046000 NIP: c016c0c4 LR: c016c0c4 CTR: c037b51c REGS: ee047c10 TRAP: 0700 Not tainted (3.17.0-rc5-dirty) MSR: 00029000 <CE,EE,ME> CR: 22008022 XER: 20000000 GPR00: c016c0c4 ee047cc0 ee058000 00000053 00029000 00000000 c037c744 00000003 GPR08: c09aab28 c09aab24 c09aab28 00000156 20008028 00000000 c0002ac8 00000000 GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000139 c0950394 GPR24: c09f0000 ee5585b0 ee047d08 c0a10000 ee047d08 ee15f808 00000002 ee03f660 NIP [c016c0c4] remove_proc_entry LR [c016c0c4] remove_proc_entry Call Trace: remove_proc_entry (unreliable) unregister_irq_proc free_desc irq_free_descs mpc85xx_l2_err_probe platform_drv_probe really_probe __driver_attach bus_for_each_dev bus_add_driver driver_register mpc85xx_mc_init do_one_initcall kernel_init_freeable kernel_init ret_from_kernel_thread Instruction dump: ... Reported-and-tested-by: <lpb_098@xxxxxxx> Acked-by: Johannes Thumshirn <johannes.thumshirn@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a00d91ea264f974b3d57babce143ba157921629a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 23 14:21:58 2014 +0200 fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume When the PM domain containing the HDMI hardware block is powered down, the HDMI register values (incl. interrupt polarity settings) are lost. During resume, after powering up the PM domain, interrupts are re-enabled, and an interrupt storm happens due to incorrect interrupt polarity settings: irq 163: nobody cared (try booting with the "irqpoll" option) ... Disabling IRQ #163 To fix this, re-initialize the interrupt polarity settings, and the htop1 register block (if present), during resume. As the .suspend_noirq() and .resume_noirq() callbacks are not called when using the generic PM domain, the normal .resume() callback is used, and the device interrupt needs to be disabled/enabled manually. This fixes resume from s2ram with power down of the A4MP PM domain on r8a7740/Armadillo. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 5b789da8a7fc357661fc61faaf853e9161cc9700 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Tue Sep 16 12:38:53 2014 -0400 framebuffer: fix screen corruption when copying The function bitcpy_rev has a bug that may result in screen corruption. The bug happens under these conditions: * the end of the destination area of a copy operation is aligned on a long word boundary * the end of the source area is not aligned on a long word boundary * we are copying more than one long word In this case, the variable shift is non-zero and the variable first is zero. The statements FB_WRITEL(comp(d0, FB_READL(dst), first), dst) reads the last long word of the destination and writes it back unchanged (because first is zero). Correctly, we should write the variable d0 to the last word of the destination in this case. This patch fixes the bug by introducing and extra test if first is zero. The patch also removes the references to fb_memmove in the code that is commented out because fb_memmove was removed from framebuffer subsystem. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit f74a289b9480648a654e5afd8458c2263c03a1e1 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Tue Sep 16 12:40:26 2014 -0400 framebuffer: fix border color The framebuffer code uses the current background color to fill the border when switching consoles, however, this results in inconsistent behavior. For example: - start Midnigh Commander - the border is black - switch to another console and switch back - the border is cyan - type something into the command line in mc - the border is cyan - switch to another console and switch back - the border is black - press F9 to go to menu - the border is black - switch to another console and switch back - the border is dark blue When switching to a console with Midnight Commander, the border is random color that was left selected by the slang subsystem. This patch fixes this inconsistency by always using black as the background color when switching consoles. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c8b8888f097c7df260cf5beaf2e3a325660a16a4 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 26 18:10:53 2014 -0700 arm, fbdev, omap2, LLVMLinux: Remove nested function from omapfb Replace the use of nested functions where a normal function will suffice. Nested functions are not liked by upstream kernel developers in general. Their use breaks the use of clang as a compiler, and doesn't make the code any better. This code now works for both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 032e57f01b7524ad9aec39788b38f523583ab58e Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 26 18:10:52 2014 -0700 arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss Replace the use of nested functions where a normal function will suffice. Nested functions are not liked by upstream kernel developers in general. Their use breaks the use of clang as a compiler, and doesn't make the code any better. This code now works for both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 8251434bb489f4bf7fbc1825fb212051d0a030ea Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:19 2014 +0200 video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 29ebebb4b525ca080e0758e7445c416927dd4eeb Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:18 2014 +0200 video: fbdev: pxafb.c: use container_of to resolve pxafb_info/layer from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 46ffbe20d299bc80a0d4f5c2229c8eaf250a85f3 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:17 2014 +0200 video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c4e423239ca7cbc3133e600b61b19fb8669eec57 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:16 2014 +0200 video: fbdev: controlfb.c: use container_of to resolve fb_info_control from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 21f7c247035e17950f0edda2de767434f82a8886 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:15 2014 +0200 video: fbdev: sa1100fb.c: use container_of to resolve sa1100fb_info from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 1f17a0fa681326f726505f5a662caf07f0d098e2 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:14 2014 +0200 video: fbdev: stifb.c: use container_of to resolve stifb_info from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit b232e94d2842abb893ccb0a870a8d7a920f87df4 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 19:35:48 2014 +0200 video: fbdev: sis: sis_main.c: Cleaning up missing null-terminate in conjunction with strncpy Replacing strncpy with strlcpy to avoid strings that lacks null terminate. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 66b330992c088a3eecbb61eb568095a3919d5aba Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 14 11:48:30 2014 +0200 video: valkyriefb: Fix unused variable warning in set_valkyrie_clock() If CONFIG_ADB_CUDA=n: drivers/video/fbdev/valkyriefb.c: In function â??set_valkyrie_clockâ??: drivers/video/fbdev/valkyriefb.c:267: warning: unused variable â??iâ?? drivers/video/fbdev/valkyriefb.c:266: warning: unused variable â??reqâ?? Move the variable declarations inside the existing #ifdef section to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 259145feff723cd65fcf53156bdd7a11816b1e31 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 30 11:22:07 2014 +0200 pinctrl: abx500: refactor DT parser to take two paths We refactor the DT parser to look for either a config or a function and then look for further nodes and reserve maps, not the two things mixed up like prior to this patch. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b07f92a220fa4df01e7feb1791245882249ba200 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 30 11:11:50 2014 +0200 pinctrl: abx500: use helpers for map allocation/free This switches the abx500 driver to use the pin control helper utils for allocating and free:ing maps. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0cae90a96c15f2fd3bd139ba5505755c9c9ef2eb Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:26 2014 +0530 ALSA: ctxfi: pr_* replaced with dev_* pr_* macros replaced with dev_* as they are more preffered over pr_*. each file which had pr_* was reviewed manually and replaced with dev_*. here we have actually used the various snd_card which was added to some structures of ctxfi via a previous patch of this series. in the ctvmem.c file we have passed a reference of ct_atc as an argument to get_vm_block function so that it can be used from dev_*. since dev_* will print the device information , so the prefix of "ctxfi" from the various pr_* were also removed. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a45c4d5142595a9b7907499f6d67f702bc20aeb4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:25 2014 +0530 ALSA: ctxfi: ctatc: added reference to snd_card added reference of the card in the convert_format function so that we can know which card has called the function. this reference of the snd_card will actually be used in a later patch to convert the pr_* macro to dev_*. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e5347f9ab7cdafc2dbc0d4f7f30204293be71d8e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:24 2014 +0530 ALSA: ctxfi: initialized snd_card initialized the reference of snd_card which was added to the various structures through the previous patch of the series. these references of snd_card will be used in a later patch to convert the pr_* macros to dev_* Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3d0fdc86e4b500dfcfbf2f68039d2d6853536c2e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:23 2014 +0530 ALSA: ctxfi: added reference of snd_card added a pointer of snd_card in some of the structures to get a reference of the card from other functions. these references of snd_card will be initialised in the next patch of this series and as of now these snd_card will be used to print the the device information when we convert the pr_* macros to dev_* in a later patch of this series. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b6bfe86fd22a7e21c50f5b36c894f721614bafa5 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:22 2014 +0530 ALSA: ctxfi: removed typecast to (struct hw *) the previous patch of the series has converted the void * to struct hw * . Now this patch removes the typecasting to (struct hw *) which is not needed any more. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 66640898edb7b0ef452e179753e8d6130b35fd83 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:21 2014 +0530 ALSA: ctxfi: changed void * to struct hw * in the code we have void *hw and while using we are always typecasting it to (struct hw *). it is better to use void type of pointer when we store different types of pointer , but in this code we are only having struct hw. So changed all the relevant reference of void *hw to struct hw *hw, without any modification of the existing code logic. the next patch of the series will remove the typecasting which is not required now. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cfb0b24143b4f587ff3e3bd829f9f471285d097b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Sep 23 21:29:20 2014 +0200 s390/mm: make use of ipte range facility Invalidate several pte entries at once if the ipte range facility is available. Currently this works only for DEBUG_PAGE_ALLOC where several up to 2 ^ MAX_ORDER may be invalidated at once. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit db525fce95f0ee39102f06f8599ced3f3f3af128 Author: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Date: Sun Aug 31 19:09:59 2014 -0400 scsi_debug: deadlock between completions and surprise module removal A deadlock has been reported when the completion of SCSI commands (simulated by a timer) was surprised by a module removal. This patch removes one half of the offending locks around timer deletions. This fix is applied both to stop_all_queued() which is were the deadlock was discovered and stop_queued_cmnd() which has very similar logic. This patch should be applied both to the lk 3.17 tree and Christoph's drivers-for-3.18 tree. Tested-and-reported-by: Milan Broz <gmazyland@xxxxxxxxx> Signed-off-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a41a9ad3bbf61fae0b6bfb232153da60d14fdbd9 Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Mon Sep 29 13:55:41 2014 -0500 be2iscsi: check ip buffer before copying Dan Carpenter found a issue where be2iscsi would copy the ip from userspace to the driver buffer before checking the len of the data being copied: http://marc.info/?l=linux-scsi&m=140982651504251&w=2 This patch just has us only copy what we the driver buffer can support. Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4bfb8ebf4c21f372a8677f9aa99963985e9e6539 Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Mon Sep 29 13:55:42 2014 -0500 iscsi_tcp: export port being used This just has iscsi_tcp support ISCSI_PARAM_LOCAL_PORT which exports the local port being used by the iscsi connection. Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 49b552dedf63a5b4cde1b5e891ec305f16b09567 Author: John Soni Jose <sony.john-n@xxxxxxxxxx> Date: Fri Sep 26 15:14:16 2014 -0400 be2iscsi : Bump the driver version Bump the driver version Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 53281edb2942c4d7abf12846b6b0591caf2bee4d Author: John Soni Jose <sony.john-n@xxxxxxxxxx> Date: Fri Sep 26 15:13:55 2014 -0400 be2iscsi : Fix kernel panic during reboot/shutdown In the reboot/shutdown path, workqueue was destroyed after the adapter resource were freed. The task associated with workqueue was getting executed after resources were freed. This lead to kernel panic. Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f4303d8fa6da702b5fe53fa91a6984941d89d514 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Mon Aug 18 17:56:22 2014 +0300 libfc: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The uses of "rcu_assign_pointer()" are NULLing out the pointers. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Acked-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b8d23dc6133c495cf9161dfb36988bbbe163461d Author: Chris Leech <cleech@xxxxxxxxxx> Date: Thu Sep 25 11:55:42 2014 -0700 fcoe: extend ethtool to FC port speed mapping add support for 20 Gbit and 40 Gbit links Signed-off-by: Chris Leech <cleech@xxxxxxxxxx> Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit fe7e85c6f5ff63a8cd081deb35e58a0bd47589cd Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:10 2014 +1000 powerpc/powernv: Override dma_get_required_mask() The dma_get_required_mask() function is used by some drivers to query the platform about what DMA mask is needed to cover all of memory. This is a bit of a strange semantic when we have to choose between IOMMU translation or bypass, but essentially what it means is "what DMA mask will give best performances". Currently, our IOMMU backend always returns a 32-bit mask here, we don't do anything special to it when we have bypass available. This causes some drivers to choose a 32-bit mask, thus losing the ability to use the bypass window, thinking this is more efficient. The problem was reported from the driver of following device: 0004:03:00.0 0107: 1000:0087 (rev 05) 0004:03:00.0 Serial Attached SCSI controller: LSI Logic / Symbios \ Logic SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05) This patch adds an override of that function in order to, instead, return a 64-bit mask whenever a bypass window is available in order for drivers to prefer this configuration. Reported-by: Murali N. Iyer <mniyer@xxxxxxxxxx> Suggested-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 372fb80db93af5d85c750515526d731856e1890c Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:09 2014 +1000 powerpc/powernv: Fetch frozen PE on top level It should have been part of commit 1ad7a72c5 ("powerpc/eeh: Report frozen parent PE prior to child PE"). There are 2 ways to report EEH errors: proactively polling because of 0xFF's returned from PCI config or IO read, or interrupt driven event. We missed to report and handle parent frozen PE prior to child frozen PE for the later case on PowerNV platform. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f2e0be5e76dd626c70f5aa5c6165b4dfa1d14c64 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:08 2014 +1000 powerpc/eeh: Dump PCI config space for all child devices The PEs can be organized as nested. Current implementation doesn't dump PCI config space for subordinate devices of child PEs. However, the frozen PE could be caused by those subordinate devices of its child PEs. The patch dumps PCI config space for all subordinate devices of the problematic PE. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5cfb20b96f624e9852c4f3f1c4397e81ca28d5aa Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:07 2014 +1000 powerpc/eeh: Emulate EEH recovery for VFIO devices When enabling EEH functionality on passed through devices (PE) with VFIO, the devices in the PE would be removed permanently from guest side. In that case, the PE remains frozen state. When returning PE to host, or restarting the guest again, we had mechanism unfreezing the PE by clearing PESTA/B frozen bits. However, that's not enough for some adapters, which are indicated as following "lspci" shows. Those adapters require hot reset on the parent bus to bring their firmware back to workable state. Otherwise, those adaptrs won't be operative and the host (for returning case) or the guest will fail to load the drivers for those adapters without exception. 0000:01:00.0 Ethernet controller: Emulex Corporation OneConnect \ 10Gb NIC (be3) (rev 02) 0000:01:00.0 0200: 19a2:0710 (rev 02) 0001:03:00.0 Ethernet controller: Emulex Corporation OneConnect \ NIC (Lancer) (rev 10) 0001:03:00.0 0200: 10df:e220 (rev 10) The patch adds mechanism to emulate EEH recovery (for hot reset on parent PCI bus) on 3 gates to fix the issue: open/release one adapter of the PE, enable EEH functionality on one adapter of the PE. Reported-by: Murilo Fossa Vicentini <muvic@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 93e8b36d7bf5c54f1c52d8b78e34f88e52a3dfa2 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:06 2014 +1000 powerpc/eeh: Tag reset state for user owned PE PE would be owned by userland, which probably request PE reset done in host side. During the reset, we should drop the PCI config accesses to the PE with help of flag EEH_PE_RESET. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d1a85eee35f15a20f508c42d7664dce335eefc2d Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:05 2014 +1000 powerpc/powernv: Sync OpalPciResetScope with firmware The names of PCI reset scopes aren't sychronized with firmware. The patch fixes it. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4ba5a0fc6441194cf238e1a049f548b5d45760c8 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:04 2014 +1000 powerpc/pseries: Decrease message level on EEH initialization As Anton suggested, the patch decreases the message level on EEH initialization to avoid unnecessary messages if required. Also, we have unified hint if any of needful RTAS calls is missed, and then we can check /proc/device-tree to figure out the missed RTAS calls. Suggested-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9372dddb189a7a7689b674ad2dd31117a407bfd5 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:03 2014 +1000 powerpc/eeh: Block PCI config access during reset Function pcibios_set_pcie_reset_state() can be used to do PCI reset. PCI config access during the reset usually causes EEH errors unexpectedly. In order to avoid the EEH error, the patch blocks PCI config access during reset with the help of flag EEH_PE_RESET, which is similar to what we did in EEH PE reset path. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c9dd0143978e1c473c08dafe8156259b895db3e2 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:02 2014 +1000 powerpc/eeh: Use eeh_unfreeze_pe() The patch uses eeh_unfreeze_pe() to replace the logic clearing frozen IO and DMA, in order to simplify the code. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4eeeff0ebcdeabf3f76c4eece0593e98c6619be8 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:01 2014 +1000 powerpc/eeh: Unfreeze PE on enabling EEH functionality When passing through PE to guest, that's possibly in frozen state. The driver for the pass-through devices on guest side can't be loaded successfully as reported. We already had one gate in eeh_dev_open() to clear PE frozen state accordingly, but that's not enough because the function is only called at QEMU startup for once. The patch adds another gate in eeh_pe_set_option() so that the PE frozen state can be cleared at QEMU restart time. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4d4f577e4b5ee1299096438bbcf743bbe14f33ab Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:00 2014 +1000 powerpc/eeh: Fix improper condition in eeh_pci_enable() The function eeh_pci_enable() is called to apply various requests to one particular PE: Enabling EEH, Disabling EEH, Enabling IO, Enabling DMA, Freezing PE. When enabling IO or DMA on one specific PE, we need check that IO or DMA isn't enabled previously. But the condition used to do the check isn't completely correct because one PE would be in DMA frozen state with workable IO path, or vice versa. The patch fixes the improper condition. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 22fca17924094113fe79c1db5135290e1a84ad4b Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:59 2014 +1000 powerpc/eeh: Clear frozen device state in time The problem was reported by Carol: In the scenario of passing mlx4 adapter to guest, EEH error could be recovered successfully. When returning the device back to host, the driver (mlx4_core.ko) couldn't be loaded successfully because of error number -5 (-EIO) returned from mlx4_get_ownership(), which hits offlined PCI device. The root cause is that we missed to put the affected devices into normal state on clearing PE isolated state right after PE reset. The patch fixes above issue by putting the affected devices to normal state when clearing PE isolated state in eeh_pe_state_clear(). Cc: stable@xxxxxxxxxxxxxxx Reported-by: Carol L. Soto <clsoto@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d9df1b5da17cd328301def1d2ae2c2df35f3823c Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:58 2014 +1000 powerpc/powernv: Clear PAPR error injection registers The frozen state on one specific PE is probably caused by error injection, which is done with help of PAPR error injection registers. According to the hardware spec, those registers should be cleared automatically after one-shot frozen PE. However, that's not always true, at least on P7IOC of Firebird-L. So we have to clear them before doing PE reset to avoid recursive EEH errors at recovery stage. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7a062782295a896f697137aacbe23400fbbafa94 Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:57 2014 +1000 powerpc/powernv: Add PCI error injection debugfs entry The patch adds debugfs file (/sys/kernel/debug/powerpc/PCIxxxx/ err_injct), which accepts following formated string, to support error injection. It will be used to support userland utility "errinjct" in future. "pe_no:0:function:address:mask" - 32-bits PCI errors "pe_no:1:function:address:mask" - 64-bits PCI errors Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 131c123abec375afc819da89925dbce97590278e Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:56 2014 +1000 powerpc/eeh: Introduce eeh_ops::err_inject The patch introduces eeh_ops::err_inject(), which allows to inject specified errors to indicated PE for testing purpose. The functionality isn't support on pSeries platform. On PowerNV, the functionality relies on OPAL API opal_pci_err_inject(). Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5b64234081fcbd48c4ae207ce2cc3c31f859f8a4 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:55 2014 +1000 powerpc/powernv: Sync header with firmware The patch synchronizes firmware header file (opal.h) for PCI error injection. Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 404079c87e2f390611b71c8f03b9f5ddb6241131 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:54 2014 +1000 powerpc/eeh: Clear frozen state on passing device When passing through device, its PE might have been put into frozen state. One obvious example would be: the passed PE is forced to be offline because of hitting maximal allowed EEH errors in userland. In that case, the frozen state won't be cleared and then the PE is returned back to host, which might not have chance detecting and recovering from it. The patch adds more check when passing through device and clear the PE frozen state if necessary. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 316233ff878451e198e3633fd9165c437007a309 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:53 2014 +1000 powerpc/eeh: Reenable PCI devices after reset The PCI devices that have been passed through are enabled before reset, we need restore to the enabled state after reset. Otherwise, MMIO access might be issued to disabled devices after reset and causes exceptional recursive EEH error. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0d5ee5205e62908172bf5e1a5fd171ba262fdb75 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:52 2014 +1000 powerpc/eeh: Freeze PE before PE reset The patch adds one more option (EEH_OPT_FREEZE_PE) to set_option() method to proactively freeze PE, which will be issued before resetting pass-throughed PE to drop MMIO access during reset because it's always contributing to recursive EEH error. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 940376b3a463303787c6227c0327612653bf5600 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:51 2014 +1000 powerpc/eeh: Add eeh_pe_state sysfs entry The patch adds sysfs entry "eeh_pe_state". Reading on it returns the PE's state while writing to it clears the frozen state. It's used to check or clear the PE frozen state from userland for debugging purpose. The patch also replaces printk(KERN_WARNING ...) with pr_warn() in eeh_sysfs.c Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3e938052fb7655c91ff031dd93f064b4087a1387 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:50 2014 +1000 powerpc/eeh: Drop unused argument in eeh_check_failure() eeh_check_failure() is used to check frozen state of the PE which owns the indicated I/O address. The argument "val" of the function isn't used. The patch drops it and return the frozen state of the PE as expected. Cc: Vishal Mansur <vmansur@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit afdadc06df68861ee7b9ed1699a44516532f545e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 30 09:11:15 2014 +0200 gpio: staticize xway_stp_init() This initcall is only called from the driver itself, staticize it. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c98fed9fc6a7449affd941d8a8e9fcb0c72977d6 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 06:14:26 2014 -0700 locktorture: Cleanup header usage Remove some unnecessary ones and explicitly include rwsem.h Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit a1229491006a3d55cc0d7e6d496be39915ccefdd Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 06:14:25 2014 -0700 locktorture: Cannot hold read and write lock ... trigger an error if so. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 219f800f99db6f4e43a582cb9e0d98931f13c012 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 06:14:24 2014 -0700 locktorture: Fix __acquire annotation for spinlock irq Its quite easy to get mixed up with the names -- 'torture_spinlock_irq' is not actually a valid spinlock name. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit e34191fad8e5d9fe4e76f6d03b5e29e3eae7535a Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 06:14:23 2014 -0700 locktorture: Support rwlocks Add a "rw_lock" torture test to stress kernel rwlocks and their irq variant. Reader critical regions are 5x longer than writers. As such a similar ratio of lock acquisitions is seen in the statistics. In the case of massive contention, both hold the lock for 1/10 of a second. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 24afc3852e5ec9c35de5ae1b3c4f9e4ecbf53cb6 Merge: 82de1bc fa0111b Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Mon Sep 29 23:43:12 2014 -0700 Merge tag 'for_3.18/samsung-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tfiga/samsung-clk into clk-next Samsung clock patches for v3.18 1) non-critical fixes (without the need to push to stable) fa0111be4ff3 clk: samsung: exynos4: remove duplicate div_core2 divider clock instantiation b511593d7165 clk: samsung: exynos4: fix g3d clocks c14254300131 clk: samsung: exynos4: add missing smmu_g2d clock and update comments 22842d244af3 clk: samsung: exynos5260: fix typo in clock name e82ba578ccde clk: samsung: exynos3250: fix width field of mout_mmc0/1 59037b92f440 clk: samsung: exynos3250: fix width and shift of div_spi0_isp clock 5ce37f266650 clk: samsung: exynos3250: fix mout_cam_blk parent list 2) Clock driver extensions 07ccf02ba5c3 dt-bindings: clk: samsung: Document the DMC domain of Exynos3250 CMU d0e73eaf1925 ARM: dts: exynos3250: Add CMU node for DMC domain clocks e3c3f19bc618 clk: samsung: exynos3250: Register DMC clk provider 4676f0aab9dc clk: samsung: exynos4: add support for MOUT_HDMI and MOUT_MIXER clocks commit 82de1bc86c493ad832db270635fbf4e8c237f02f Merge: 6e18ff2 04ed831 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Mon Sep 29 23:38:59 2014 -0700 Merge branch 'for-v3.18/ti-clk-driver' of github.com:t-kristo/linux-pm into clk-next commit 443b39cdd5c37661bf681858b327418c3a5b9d76 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Sep 16 15:30:36 2014 +0200 UBIFS: Fix trivial typo in power_cut_emulated() s/withing/within/ Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit e3e00445d478f63f42a306e549f7358b6612110b Author: Richard Weinberger <richard@xxxxxx> Date: Tue Sep 16 15:30:35 2014 +0200 UBI: Fix trivial typo in __schedule_ubi_work s/of/if/ Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit d8e0a86f9713689e35dc14f7184e85a13a2a9f4e Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Jun 23 14:20:06 2014 -0700 i2c: cros_ec: Remove EC_I2C_FLAG_10BIT In <https://lkml.org/lkml/2014/6/10/265> pointed out that the 10-bit flag in the cros_ec_tunnel was useless. It went into a 16-bit flags field but was defined at (1 << 16). Since we have no 10-bit i2c devices on the other side of the tunnel on any known devices this was never a problem. Until we do it makes sense to remove this code. On the EC side the code to handle this flag was removed in <https://chromium-review.googlesource.com/204162>. Reported-by: Dave Jones <davej@xxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1dadba87cba20989c5a5a56f2a86fe6672e37c30 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Mon Sep 22 11:08:48 2014 +0200 drm/nouveau: nv84+: fix fence context seqno's This fixes a regression introduced by "drm/nouveau: rework to new fence interface" (commit 29ba89b2371d466). The fence sequence should not be reset after creation, the old value is used instead. On destruction the final value is written, to prevent another source of accidental wraparound in case of a channel being destroyed after a hang, and unblocking any other channel that may wait on the about-to-be-deleted channel to signal. I'm nothing if not optimistic about any hope of recovery from that. ;-) Reported-by: Ted Percival <ted@xxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Tested-by: Ted Percival <ted@xxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 213d61386ee8a0a704d99922dbdb99f9c233d630 Merge: 5f0c5f7 fa5f4ad Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 30 01:30:50 2014 -0400 Merge branch 'am335x' Markus Pargmann says: ==================== net: cpsw: Support for am335x chip MACIDs This series adds support to the cpsw driver to read the MACIDs of the am335x chip and use them as fallback. These addresses are only used if there are no mac addresses in the devicetree, for example set by a bootloader. ==================== Acked-by: Mugunthan V N <mugunthanvnm@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa5f4adf3a1594d55d730ba68c10afa1edebf58a Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:19 2014 +0200 arm: dts: am33xx, Add syscon phandle to cpsw node There are 2 MACIDs stored in the control module of the am33xx. These are read by the cpsw driver if no valid MACID was found in the devicetree. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9aaf87cd06fe161d96a814e719f7854cf4be8a9 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:18 2014 +0200 am33xx: define syscon control module device node Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ba517b18aac0ed747b0f0716ca87cedaa8e5491 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:17 2014 +0200 net: cpsw: Add am33xx MACID readout This patch adds a function to get the MACIDs from the am33xx SoC control module registers which hold unique vendor MACIDs. This is only used if of_get_mac_address() fails to get a valid mac address. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56fdb2e04697c06b0af421cece0f360087af9cd1 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:16 2014 +0200 net: cpsw: Replace pr_err by dev_err Use dev_err instead of pr_err. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd07d34f00dfe5025faab0263554e3052ce5d58e Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:15 2014 +0200 net: cpsw: header, Add missing include "MII_BUS_ID_SIZE" is defined in linux/phy.h which is not included in the cpsw.h file. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d507dffe766b8e29f29d17ae8e0611b5638286e Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:14 2014 +0200 net: cpsw: Add missing return value ret is set 0 at this point, so jumping to that error label would result in a return value of 0. Set ret to -ENOMEM to return a proper error value. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4a9839b8548cf2668c6ccf961f30bd565e8333f Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:13 2014 +0200 DT doc: net: cpsw mac-address is optional mac-address is an optional property. If no mac-address is set, a random mac-address will be generated. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f0c5f73e5efaee2928c4cabcf48b03f6ba99fc8 Author: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 28 22:34:37 2014 -0400 bonding: make global bonding stats more reliable As the code stands today, bonding stats are based simply on the stats from the member interfaces. If a member was to be removed from a bond, the stats would instantly drop. This would be confusing to an admin would would suddonly see interface stats drop while traffic is still flowing. In addition to preventing the stats drops mentioned above, new members will now be added to the bond and only traffic received after the member was added to the bond will be counted as part of bonding stats. Bonding counters will also be updated when any slaves are dropped to make sure the reported stats are reliable. v2: Changes suggested by Nik to properly allocate/free stats memory. v3: Properly destroy workqueue and fix netlink configuration path. v4: Moved cached stats into bonding and slave structs as there does not seem to be a complexity/performance benefit to using alloc'd memory vs in-struct memory. Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0ab6f92752b9f9d8da980506e9df3bd9dcd7ed3 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Sep 28 11:54:24 2014 -0700 net: sched: enable per cpu qstats After previous patches to simplify qstats the qstats can be made per cpu with a packed union in Qdisc struct. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6401585366326fc0ecbc372ec60d1a15cd8be2f5 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Sep 28 11:53:57 2014 -0700 net: sched: restrict use of qstats qlen This removes the use of qstats->qlen variable from the classifiers and makes it an explicit argument to gnet_stats_copy_queue(). The qlen represents the qdisc queue length and is packed into the qstats at the last moment before passnig to user space. By handling it explicitely we avoid, in the percpu stats case, having to figure out which per_cpu variable to put it in. It would probably be best to remove it from qstats completely but qstats is a user space ABI and can't be broken. A future patch could make an internal only qstats structure that would avoid having to allocate an additional u32 variable on the Qdisc struct. This would make the qstats struct 128bits instead of 128+32. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25331d6ce42bcf4b34b6705fce4da15c3fabe62f Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Sep 28 11:53:29 2014 -0700 net: sched: implement qstat helper routines This adds helpers to manipulate qstats logic and replaces locations that touch the counters directly. This simplifies future patches to push qstats onto per cpu counters. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22e0f8b9322cb1a48b1357e8f4ae6f5a9eca8cfa Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Sep 28 11:52:56 2014 -0700 net: sched: make bstats per cpu and estimator RCU safe In order to run qdisc's without locking statistics and estimators need to be handled correctly. To resolve bstats make the statistics per cpu. And because this is only needed for qdiscs that are running without locks which is not the case for most qdiscs in the near future only create percpu stats when qdiscs set the TCQ_F_CPUSTATS flag. Next because estimators use the bstats to calculate packets per second and bytes per second the estimator code paths are updated to use the per cpu statistics. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a75c380c7129c432f8ac9d42ebc170e5f7d9d31e Author: Anton Blanchard <anton@xxxxxxxxx> Date: Fri Sep 19 09:40:21 2014 +1000 powerpc: Enable DCACHE_WORD_ACCESS on ppc64le Enable on DCACHE_WORD_ACCESS on ppc64le. It should work on ppc64 and ppc32 but we need to do some testing first. A somewhat reasonable testcase used to show the performance improvement - a repeated stat of a 33 byte filename that doesn't exist: #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #define ITERATIONS 10000000 #define PATH "123456781234567812345678123456781" int main(void) { unsigned long i; struct stat buf; for (i = 0; i < ITERATIONS; i++) stat(PATH, &buf); return 0; } runs 27% faster on POWER8. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8989aa4adacd02174d1f72a00af8d669934a2b7a Author: Anton Blanchard <anton@xxxxxxxxx> Date: Fri Sep 19 09:40:20 2014 +1000 powerpc: ppc64le optimised word at a time Use cmpb which compares each byte in two 64 bit values and for each matching byte places 0xff in the target and 0x00 otherwise. A simple hash_name microbenchmark: http://ozlabs.org/~anton/junkcode/hash_name_bench.c shows this version to be 10-20% faster than running the x86 version on POWER8, depending on the length. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fe2a1bb1dbff1bc7b8c24eb1f691a544488617fa Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Sep 25 16:45:11 2014 +1000 selftests/powerpc: Add test of load_unaligned_zero_pad() It is a rarely exercised case, so we want to have a test to ensure it works as required. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit de5946c03575fb8c222610a6ac6726a5deabad46 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Fri Sep 19 09:40:19 2014 +1000 powerpc: Implement load_unaligned_zeropad Implement a bi-arch and bi-endian version of load_unaligned_zeropad. Since the fallback case is so rare, a userspace test harness was used to test this on ppc64le, ppc64 and ppc32: http://ozlabs.org/~anton/junkcode/test_load_unaligned_zeropad.c It uses mprotect to force a SEGV across a page boundary, and a SEGV handler to lookup the exception tables and run the fixup routine. It also compares the result against a normal load. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 480bd3c4ad30558dd26c16e3f8358e36522d9af0 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Mon Sep 29 18:21:46 2014 -0700 mei: mei_txe_fw_sts can be static CC: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit baeb7ef34952f523a129e5d1369aa42ecbe7f8c9 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Mon Sep 29 10:21:03 2014 +0200 tty: serial: 8250: use 32bit variable for rpm_tx_active The kbuild test robot wrote me: | make.cross ARCH=powerpc |>> ERROR: ".__xchg_called_with_bad_pointer" [drivers/tty/serial/8250/8250.ko] undefined! The generic implementation of xchg() on arm and x86 works for variables of size one bye (char). According to the report powerpc does not support xchg() for one byte sized variables and looking further it seems also to be the same case for sparc and tile (or for 10 out of 26 architectures which provide a custom implementation). For that reason I increase the size of the variable from one to four bytes to get it work on powerpc (and the others). Reported-By: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93899a679fd6b2534b5c297d9316bae039ebcbe1 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Sep 29 17:18:39 2014 -0600 vfio-pci: Fix remove path locking Locking both the remove() and release() path results in a deadlock that should have been obvious. To fix this we can get and hold the vfio_device reference as we evaluate whether to do a bus/slot reset. This will automatically block any remove() calls, allowing us to remove the explict lock. Fixes 61d792562b53. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [3.17] commit f48c767ce8951e30eb716b8ef69142d21aacbd1d Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Sep 29 13:58:47 2014 +0200 PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h The commit 46420dd73b80 (PM / Domains: Add APIs to attach/detach a PM domain for a device) started using errno values in pm.h header file. It also failed to include the header for these, thus it caused compiler errors. Instead of including the errno header to pm.h, let's move the functions to pm_domain.h, since it's a better match. Fixes: 46420dd73b80 (PM / Domains: Add APIs to attach/detach a PM domain for a device) Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 76272ab3f348d303eb31a5a061601ca8e0f9c5ce Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 18:02:19 2014 -0400 staging: rtl8821ae: remove driver There is now a "real" driver in the wireless tree for this hardware device, so remove the staging driver as it is no longer needed. Reported-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a666b6ffbc9b6705a3ced704f52c3fe9ea8bf959 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Mon Sep 29 15:10:51 2014 +0200 dell-wmi: Fix access out of memory Without this patch, dell-wmi is trying to access elements of dynamically allocated array without checking the array size. This can lead to memory corruption or a kernel panic. This patch adds the missing checks for array size. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 6c97c9c1acfce89cce2f239f0325786f95aea848 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Fri Sep 19 10:08:12 2014 +0200 i2c: cros-ec-tunnel: Add of match table To enable the cros-ec-tunnel driver to be auto-loaded when build as a module add an of match table (and export it) to match the modalias information passed on to userspace as the Cros EC MFD driver registers the MFD subdevices with an of_compatibility string. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 22762ccb0ef02a8fbdde09046d7095d46f3b7095 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 12:07:37 2014 +0200 i2c: rcar: remove sign-compare flaw gcc rightfully says: drivers/i2c/busses/i2c-rcar.c:198:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8b57cebedd3e8a384ab678a69e9b7128eb438a1f Author: Fan Du <fan.du@xxxxxxxxx> Date: Tue Sep 16 17:21:03 2014 +0800 i2c: ismt: Use minimum descriptor size Software is allowed to allocate number of descriptor size from 2 to 256, this i2c controller could process more descriptor, but for i2c core soft ware layer, only one i2c transaction is allowed each time. So here switch to minimum 2 descriptor when initialization. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 639a26cf0771cb5a4d61a0f7777882cbda989753 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Wed Sep 3 13:52:07 2014 +0800 i2c: imx: Add arbitration lost check According to the i.mx spec, for multimaster mode, if I2C is enabled when the bus is busy and asserts start, hardware inhibits the transmission, clears MSTA without signaling a stop, generate an interrupt, and set I2C_I2SR[IAL] to indicate a failed attempt to engage the bus, which means arbitration lost. In this case, we should first test I2C_I2SR[IAL], and clear this bit if it is set, and then I2C controller default to slave receive mode. This patch check the IAL bit every time before an I2c transmission. if IAL is set, clear it and make I2C controller to default mode. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 29209338b22a61c9ba67badd5f36e96cda1892d8 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Aug 22 10:43:44 2014 -0700 i2c: rk3x: Remove unlikely() annotations Having a transfer more than 32 bits is not all that unlikely. Remove the annotation. The unlikely in the IRQ handler can't gain us much. It's not in a loop, so at most it would save 1 instruction per IRQ, which isn't much. In fact on the compiler I tested it produced the exact same code. Remove it too. Suggested-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit aa5beaf62588d095398415af5d0e14c79e2478a3 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 00:20:19 2014 +0400 i2c: rcar: check for no IRQ in rcar_i2c_irq() Check if the ICMSR register (masked with the ICMIER register) evaluates to 0 in the driver's interrupt handler and return IRQ_NONE in that case, like many other drivers do. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7c7117ffe08fd54d4129e378b46a812c717bae48 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 00:15:46 2014 +0400 i2c: rcar: make rcar_i2c_prepare_msg() *void* rcar_i2c_prepare_msg() always returns 0, so we can make this function return *void* and thus remove the result check in rcar_i2c_master_xfer(). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c30d7662d81062cbc25e5ff50be8dbaca3a1f20a Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 00:14:14 2014 +0400 i2c: rcar: simplify check for last message rcar_i2c_master_xfer() needlessly compares the message pointers (using indirect addressing) in order to detect the last I2C message, while it's enough to only compare the message indexes. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 4bcfda09936da647b0a3b49d5dcb3c6c6ebb0395 Author: Tan, Raymond <raymond.tan@xxxxxxxxx> Date: Wed Sep 3 10:41:38 2014 +0800 i2c: designware: add support of platform data to set I2C mode Use the platform data to set the clk_freq when there is no DT configuration available. The clk_freq in turn will determine the I2C speed mode. In Quark, there is currently no other configuration mechanism other than board files. Signed-off-by: Raymond Tan <raymond.tan@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Hock Leong Kweh <hock.leong.kweh@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8e5f6b2a289c4374456fb785900b0b7445b719e6 Author: Romain Baeriswyl <Romain.Baeriswyl@xxxxxxxxxx> Date: Wed Aug 20 16:29:08 2014 +0200 i2c: designware: add support of I2C standard mode Some legacy devices support ony I2C standard mode at 100kHz. This patch allows to select the standard mode through the DTS with the use of the existing clock-frequency parameter. When clock-frequency parameter is not set, the fast mode is selected. Only when the parameter is set at 100000, the standard mode is selected. Signed-off-by: Romain Baeriswyl <romainba@xxxxxxxxxx> Reviewed-by: Christian Ruppert <christian.ruppert@xxxxxxxxxx> Acked-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f5b313a2bcd4c436560c044c726d9ad84a3e4bb3 Merge: 45942c3 f29a432 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 29 20:49:42 2014 +0100 Merge remote-tracking branch 'regmap/topic/cache' into regmap-next commit 45942c310da8eadc603e7d2332897909c1da4b70 Merge: 88507a2 6e64b6c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 29 20:49:42 2014 +0100 Merge remote-tracking branch 'regmap/topic/dt-endian' into regmap-next commit 88507a2ba8b453a38b950f3ccb2cae6cc4d82e7a Merge: 18a64d8 336fb81 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 29 20:49:41 2014 +0100 Merge remote-tracking branch 'regmap/topic/core' into regmap-next commit 18a64d844c0e98ad00f735f5ea6a3affb6b76639 Merge: 25a9487 18c0301 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 29 20:49:40 2014 +0100 Merge remote-tracking branch 'regmap/fix/debugfs' into regmap-linus commit 25a948778759ad87d7b005522248cec97eaaa4c5 Merge: fe82dce d6b41cb Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 29 20:49:40 2014 +0100 Merge remote-tracking branch 'regmap/fix/core' into regmap-linus commit 100ebb2c48eaddd6a7ce9602d5d4c37f0a3c9232 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Sep 26 17:07:59 2014 -0600 PCI: Add ACS quirk for Intel 10G NICs Intel has verified there is no peer-to-peer between functions for the below selection of 82598, 82599, and X520 10G NICs. These NICs lack an ACS capability, so we're not able to determine this isolation without the help of quirks. Generalize the Solarflare quirk and add these Intel 10G NICs. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: John Ronciak <John.ronciak@xxxxxxxxx> commit 79cf79abce71eb7dbc40e2f3121048ca5405cb47 Author: Michael Braun <michael-dev@xxxxxxxxxxxxx> Date: Thu Sep 25 16:31:08 2014 +0200 macvlan: add source mode This patch adds a new mode of operation to macvlan, called "source". It allows one to set a list of allowed mac address, which is used to match against source mac address from received frames on underlying interface. This enables creating mac based VLAN associations, instead of standard port or tag based. The feature is useful to deploy 802.1x mac based behavior, where drivers of underlying interfaces doesn't allows that. Configuration is done through the netlink interface using e.g.: ip link add link eth0 name macvlan0 type macvlan mode source ip link add link eth0 name macvlan1 type macvlan mode source ip link set link dev macvlan0 type macvlan macaddr add 00:11:11:11:11:11 ip link set link dev macvlan0 type macvlan macaddr add 00:22:22:22:22:22 ip link set link dev macvlan0 type macvlan macaddr add 00:33:33:33:33:33 ip link set link dev macvlan1 type macvlan macaddr add 00:33:33:33:33:33 ip link set link dev macvlan1 type macvlan macaddr add 00:44:44:44:44:44 This allows clients with MAC addresses 00:11:11:11:11:11, 00:22:22:22:22:22 to be part of only VLAN associated with macvlan0 interface. Clients with MAC addresses 00:44:44:44:44:44 with only VLAN associated with macvlan1 interface. And client with MAC address 00:33:33:33:33:33 to be associated with both VLANs. Based on work of Stefan Gula <steweg@xxxxxxxxx> v8: last version of Stefan Gula for Kernel 3.2.1 v9: rework onto linux-next 2014-03-12 by Michael Braun add MACADDR_SET command, enable to configure mac for source mode while creating interface v10: - reduce indention level - rename source_list to source_entry - use aligned 64bit ether address - use hash_64 instead of addr[5] v11: - rebase for 3.14 / linux-next 20.04.2014 v12 - rebase for linux-next 2014-09-25 Signed-off-by: Michael Braun <michael-dev@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1104528bc769bef26f837097459e1a6e4dae240c Merge: c0ed74e 24832b4 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Sep 29 13:24:24 2014 -0600 Merge branch 'pci/host-designware' into next * pci/host-designware: PCI: designware: Add get_msi_data() to pcie_host_ops PCI: designware: Rename get_msi_data() to get_msi_addr() PCI: designware: Fix IO resource end address calculation PCI: designware: Fix configuration base address when using 'reg' PCI: designware: Use NULL instead of false [bhelgaas: Fixup keystone for "PCI: designware: Rename get_msi_data() to get_msi_addr()"] commit 852248449c73b5ffe109a33d65485c71d3d398a7 Merge: 735d383 db29a95 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 29 14:46:53 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== pull request: netfilter/ipvs updates for net-next The following patchset contains Netfilter/IPVS updates for net-next, most relevantly they are: 1) Four patches to make the new nf_tables masquerading support independent of the x_tables infrastructure. This also resolves a compilation breakage if the masquerade target is disabled but the nf_tables masq expression is enabled. 2) ipset updates via Jozsef Kadlecsik. This includes the addition of the skbinfo extension that allows you to store packet metainformation in the elements. This can be used to fetch and restore this to the packets through the iptables SET target, patches from Anton Danilov. 3) Add the hash:mac set type to ipset, from Jozsef Kadlecsick. 4) Add simple weighted fail-over scheduler via Simon Horman. This provides a fail-over IPVS scheduler (unlike existing load balancing schedulers). Connections are directed to the appropriate server based solely on highest weight value and server availability, patch from Kenny Mathis. 5) Support IPv6 real servers in IPv4 virtual-services and vice versa. Simon Horman informs that the motivation for this is to allow more flexibility in the choice of IP version offered by both virtual-servers and real-servers as they no longer need to match: An IPv4 connection from an end-user may be forwarded to a real-server using IPv6 and vice versa. No ip_vs_sync support yet though. Patches from Alex Gartrell and Julian Anastasov. 6) Add global generation ID to the nf_tables ruleset. When dumping from several different object lists, we need a way to identify that an update has ocurred so userspace knows that it needs to refresh its lists. This also includes a new command to obtain the 32-bits generation ID. The less significant 16-bits of this ID is also exposed through res_id field in the nfnetlink header to quickly detect the interference and retry when there is no risk of ID wraparound. 7) Move br_netfilter out of the bridge core. The br_netfilter code is built in the bridge core by default. This causes problems of different kind to people that don't want this: Jesper reported performance drop due to the inconditional hook registration and I remember to have read complains on netdev from people regarding the unexpected behaviour of our bridging stack when br_netfilter is enabled (fragmentation handling, layer 3 and upper inspection). People that still need this should easily undo the damage by modprobing the new br_netfilter module. 8) Dump the set policy nf_tables that allows set parameterization. So userspace can keep user-defined preferences when saving the ruleset. From Arturo Borrero. 9) Use __seq_open_private() helper function to reduce boiler plate code in x_tables, From Rob Jones. 10) Safer default behaviour in case that you forget to load the protocol tracker. Daniel Borkmann and Florian Westphal detected that if your ruleset is stateful, you allow traffic to at least one single SCTP port and the SCTP protocol tracker is not loaded, then any SCTP traffic may be pass through unfiltered. After this patch, the connection tracking classifies SCTP/DCCP/UDPlite/GRE packets as invalid if your kernel has been compiled with support for these modules. ==================== Trivially resolved conflict in include/linux/skbuff.h, Eric moved some netfilter skbuff members around, and the netfilter tree adjusted the ifdef guards for the bridging info pointer. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d13f69444bd3d4888e43f7756449748f5a98bad Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 14:46:30 2014 -0400 missing data dependency barrier in prepend_name() AFAICS, prepend_name() is broken on SMP alpha. Disclaimer: I don't have SMP alpha boxen to reproduce it on. However, it really looks like the race is real. CPU1: d_path() on /mnt/ramfs/<255-character>/foo CPU2: mv /mnt/ramfs/<255-character> /mnt/ramfs/<63-character> CPU2 does d_alloc(), which allocates an external name, stores the name there including terminating NUL, does smp_wmb() and stores its address in dentry->d_name.name. It proceeds to d_add(dentry, NULL) and d_move() old dentry over to that. ->d_name.name value ends up in that dentry. In the meanwhile, CPU1 gets to prepend_name() for that dentry. It fetches ->d_name.name and ->d_name.len; the former ends up pointing to new name (64-byte kmalloc'ed array), the latter - 255 (length of the old name). Nothing to force the ordering there, and normally that would be OK, since we'd run into the terminating NUL and stop. Except that it's alpha, and we'd need a data dependency barrier to guarantee that we see that store of NUL __d_alloc() has done. In a similar situation dentry_cmp() would survive; it does explicit smp_read_barrier_depends() after fetching ->d_name.name. prepend_name() doesn't and it risks walking past the end of kmalloc'ed object and possibly oops due to taking a page fault in kernel mode. Cc: stable@xxxxxxxxxxxxxxx # 3.12+ Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6f67c380056ceaf5844f18d3a5d769d233247849 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Fri Sep 26 09:57:27 2014 -0700 ASoC: rt5677: Add dts properties for input/output differential configuration Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f8a770c2c67f28956f8f4601feb99e9bd02a16c8 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Sep 29 16:58:16 2014 +0300 ASoC: Intel: byt-rt5640: Add quirk for Asus T100 Asus T100 internal microphone is not digital but analogue connected to IN1P pin of the RT564x codec with shared bias between internal and headset microphones. Because of this there is need to have machine specific DAPM routes in byt-rt5640. Add handling for them with the help of DMI quirk that is used to add custom routes in addition to common. Because "Internal Mic" connected to DMIC1 is not common to all move it as a default custom route when there is no match in quirk table. Custom "Internal Mic" -> "IN1P" with MICBIAS1 route is added for Asus T100. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ac06dd8df6e13591524f0e1bedf36af4ca0e967b Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Sep 29 16:58:15 2014 +0300 ASoC: Intel: byt-rt5640: Remove IN2N pin from DAPM route table I tested couple byt-rt5640 based platforms and they have single-ended headset microphone connection to IN2P only. I guess IN2N was either defined by accident or some early platform had floating ground for headset. It's better to remove IN2N and add a custom route for such a platform if needed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e19685ed24b518440c0717719ff02e74c0e6d2cb Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 09:41:08 2014 -0700 perf bench futex: Sanitize -q option in requeue When given the number of threads to requeue at once by user input, there's always the risk of this value being larger than the total number of threads. This doesn't make any sense, and the kernel can easily deal with such sort of situations, hence no big deal. We should however prevent bogus output such as: ./perf bench --repeat 2 futex requeue -q 10 Run summary [PID 22210]: Requeuing 4 threads (from [private] 0x99ef3c to 0x99ef38), 10 at a time. [Run 1]: Requeued 10 of 4 threads in 0.0040 ms [Run 2]: Requeued 10 of 4 threads in 0.0030 ms Requeued 10 of 4 threads in 0.0035 ms (+-14.29%) Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Link: http://lkml.kernel.org/r/1412008868-22328-2-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 86c87e13f8a5dffc6cc7b0f37340f815dc172945 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 09:41:07 2014 -0700 perf bench futex: Support operations for shared futexes Unlike futex-hash, requeuing and wakeup benchmarks do not support shared futexes, limiting the usefulness of the programs. Correct this, and allow using the local -S parameter. The default remains using private futexes. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Link: http://lkml.kernel.org/r/1412008868-22328-1-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 735d383117e113403442d971b23e7cfa2f876c7c Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Sep 29 13:08:30 2014 +0200 tcp: change TCP_ECN prefixes to lower case Suggested by Stephen. Also drop inline keyword and let compiler decide. gcc 4.7.3 decides to no longer inline tcp_ecn_check_ce, so split it up. The actual evaluation is not inlined anymore while the ECN_OK test is. Suggested-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d82bd1229885d550d03926cfa937703f6caa3cc0 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Sep 29 13:08:29 2014 +0200 tcp: move TCP_ECN_create_request out of header After Octavian Purdilas tcp ipv4/ipv6 unification work this helper only has a single callsite. While at it, convert name to lowercase, suggested by Stephen. Suggested-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b7fc477b0423cbcc7be8ad8652e3552198de418 Merge: 41c9199 5b85bad Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 29 14:36:33 2014 -0400 Merge branch 'arcnet-EAE' Michael Grzeschik says: ==================== ARCNET: add support for EAE multi interfac card this series adds support for the PLX Bridge based multi interface pci cards and adds support to change device address on com200xx chips during runtime. This series is based on v3.17-rc7. It is fixed for build against com20020_cs. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b85bad2a473a8b90cac93d21ab024ba221a8b09 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Mon Sep 29 11:55:38 2014 +0200 ARCNET: enable eae arcnet card support This patch adds support for the EAE arcnet cards which has two Interfaces. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c51da42a6346c0c747e70a4f5ae873da1150a784 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Mon Sep 29 11:55:37 2014 +0200 ARCNET: add support for multi interfaces on com20020 The com20020-pci driver is currently designed to instance one netdev with one pci device. This patch adds support to instance many cards with one pci device, depending on the device data in the private data. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c14f9c70327a6fb75534c4c61d7ea9c82ccf78f Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Mon Sep 29 11:55:36 2014 +0200 ARCNET: add com20020 PCI IDs with metadata This patch adds metadata for the com20020 to prepare for devices with multiple io address areas with multi card interfaces. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a0d2e51390622e4dfd9d7bffb768e6fa22fb7daf Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Mon Sep 29 11:55:35 2014 +0200 ARCNET: add com20020_set_hwddr to change address This patch adds com20020_set_hwaddr to make it possible to change the hwaddr on runtime. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 226ee6751541a958cd1ad982f5ba0f9affde6141 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Mon Sep 29 11:55:34 2014 +0200 ARCNET: return IRQ_NONE if the interface isn't running The interrupt handler needs to return IRQ_NONE in case two devices are used with the shared interrupt handler. Otherwise it could steal interrupts from the other interface. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24bab491220faa446d945624086d838af41d616c Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Fri Sep 26 13:58:27 2014 -0400 NFSD: Implement SEEK This patch adds server support for the NFS v4.2 operation SEEK, which returns the position of the next hole or data segment in a file. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 87a15a8090c0e5284c0e53528d9defa5d9237866 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Fri Sep 26 13:58:26 2014 -0400 NFSD: Add generic v4.2 infrastructure It's cleaner to introduce everything at once and have the server reply with "not supported" than it would be to introduce extra operations when implementing a specific one in the middle of the list. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7e5be28827bf5c1989218c4b7bf64fdbc3d679b5 Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 17:11:22 2014 -0500 svcrdma: advertise the correct max payload Svcrdma currently advertises 1MB, which is too large. The correct value is the minimum of RPCSVC_MAXPAYLOAD and the max scatter-gather allowed in an NFSRDMA IO chunk * the host page size. This bug is usually benign because the Linux X64 NFSRDMA client correctly limits the payload size to the correct value (64*4096 = 256KB). But if the Linux client is PPC64 with a 64KB page size, then the client will indeed use a payload size that will overflow the server. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 2c82c3ad56921c47f28af9eb8ed96b6d99b47623 Author: Chang Hyun Park <heartinpiece@xxxxxxxxx> Date: Fri Sep 26 21:54:01 2014 +0900 perf trace: Fix mmap return address truncation to 32-bit Using 'perf trace' for mmap is truncating return values by stripping the top 32 bits, actually printing only the lower 32 bits. This was because the ret value was of an 'int' type and not a 'long' type. The Problem: 991258501.244 ( 0.004 ms): mmap(len: 40001536, prot: READ|WRITE, flags: PRIVATE|ANONYMOUS, fd: -1) = 0x56691000 991258501.257 ( 0.000 ms): minfault [_int_malloc+0x1038] => //anon@0x7fa056691008 //(d.) The first line shows an mmap, which succeeds and returns 0x56691000. However the next line shows a memory access to that virtual memory area, specifically to 0x7fa056691008. The upper 32 bit is lost due to the problem mentioned above, and thus mmap's return value didn't have the upper 0x7fa0. Tested on 3.17-rc5 from the linus's tree, and the HEAD of tip/master Signed-off-by: Chang Hyun Park <heartinpiece@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411736041-8017-1-git-send-email-heartinpiece@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 46441bdc76fee08e297ebcf17e4ca91013b1ee9e Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Wed Sep 24 15:04:06 2014 +0100 perf tools: Refactor unit and scale function parameters Passing pointers to alias modifiers 'unit' and 'scale' isn't very future-proof since if we add more modifiers to the list we'll end up passing more arguments. Instead wrap everything up in a struct perf_pmu_info, which can easily be expanded when additional alias modifiers are necessary in the future. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411567455-31264-3-git-send-email-matt@xxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 31d6f57d3c65fd75c18ea9a3acebedc6cd60d656 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 27 08:31:05 2014 +0200 MIPS: ralink: remove deprecated IRQF_DISABLED Remove the use of the IRQF_DISABLED flag from arch/mips/ralink/timer.c It's a NOOP since 2.6.35 and it will be removed soon. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: jkosina@xxxxxxx Cc: standby24x7@xxxxxxxxx Cc: rdunlap@xxxxxxxxxxxxx Cc: yongjun_wei@xxxxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7886/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0bd2ac3dae74ee25c5ea171cb572731c7a89c248 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Sep 29 11:40:42 2014 +0200 ASoC: Remove CODEC pointer from snd_soc_dapm_context The only remaining user of the CODEC pointer in the DAPM struct is to initialize the CODEC pointer in the widget struct. The later is scheduled for removal, but has still a few users left. For now use dapm->component->codec to initialize it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a761f87f367a2a172cbc62d0e88eabe175d349a8 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Sep 29 11:40:41 2014 +0200 ASoC: rx51: Use snd_soc_dapm_to_codec() instead of dapm->codec The CODEC struct in the snd_soc_dapm_context struct is deprecated and scheduled for removal. Use the snd_soc_dapm_to_codec() function instead. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9cca023e5c5c13486d48d47a46564c359af9ae73 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Sep 29 11:40:40 2014 +0200 ASoC: wm8{350,753,971}: Use snd_soc_dapm_to_codec() instead of dapm->codec The CODEC struct in the snd_soc_dapm_context struct is deprecated and scheduled for removal. Use the snd_soc_dapm_to_codec() function instead. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a4c84e6aafda0ddd8cb004c464cd11e47e211049 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Sun Sep 28 01:57:16 2014 -0700 leds: gpio: cleanup the leds-gpio driver Remove stray blank line and space. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 18c0301f9898feaac38135b2cea476bb606830e3 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 8 08:43:37 2014 +0200 regmap: Fix debugfs-file 'registers' mode The macro "REGMAP_ALLOW_WRITE_DEBUGFS" can be used to enable write support on the registers file in the debugfs. The mode of the file is fixed to 0400 so it is not possible to write the file ever. This patch fixes the mode by setting it to the correct value depending on the macro. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a823e76138466225d0a9f45520c5654132939a01 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Sun Sep 28 01:57:15 2014 -0700 led: gpio: Fix possible ZERO_SIZE_PTR pointer dereferencing error. Since we cannot make sure the 'pdata->num_leds' will always be none zero here, and then if it equals to zero, the kmemdup() will return ZERO_SIZE_PTR, which equals to ((void *)16). So this patch fix this with just doing the zero check before calling kmemdup(). Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 4cc72346f05ef549403d997d66fd517109e59d24 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Sun Sep 28 01:57:14 2014 -0700 led: gpio: Sort include headers alphabetically If the inlcude headers aren't sorted alphabetically, then the logical choice is to append new ones, however that creates a lot of potential for conflicts or duplicates because every change will then add new includes in the same location. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit a31083600476ac11b656bbc70784767f231469ff Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Sep 29 10:57:06 2014 +0800 spi: fsl: Sort include headers alphabetically Sort all the include headers alphabetically for the freescale spi drivers. If the inlcude headers sorted out of order, maybe the best logical choice is to append new ones after the exist ones, while this may create a lot of potential for duplicates and conflicts for each diffenent changes will add new headers in the same location. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 644bbf95f5e2937f4929866e0d8899a9ed42f691 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 29 08:55:41 2014 +0100 staging: et131x: Simplify for loop in et131x_init_send() The for loop in this function increments two variables and has an unusual starting index of 1 (not 0). Make it look more familiar. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccb32b13c79331cc64d81a00f3cca335b7c26c29 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 29 08:55:40 2014 +0100 staging: et131x: Audit and update comments Many of the functions and variables in the driver have been renamed and are now more understandable, as well as defines added for various constants. Update / remove some comments to reflect this. Also many comments were unnecessary dialogue describing what is evident from the code, or comments were just plain incorrect. Remove these too. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f905ce2b59c666ad48f240bfa2ab28b77f7f936 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 10:31:51 2014 -0600 drivers/vfio: Export vfio_spapr_iommu_eeh_ioctl() with GPL The function should have been exported with EXPORT_SYMBOL_GPL() as part of commit 92d18a6851fb ("drivers/vfio: Fix EEH build error"). Suggested-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 41c91996d99394a75912aa5bfda300b85789ed43 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Mon Sep 29 15:04:37 2014 +0800 tcp: remove unnecessary assignment. This variable i is overwritten to 0 by following code Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1937227316417aa7568d01e6fa1f272e98fb890 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Sep 28 22:18:47 2014 -0700 net: reorganize sk_buff for faster __copy_skb_header() With proliferation of bit fields in sk_buff, __copy_skb_header() became quite expensive, showing as the most expensive function in a GSO workload. __copy_skb_header() performance is also critical for non GSO TCP operations, as it is used from skb_clone() This patch carefully moves all the fields that were not copied in a separate zone : cloned, nohdr, fclone, peeked, head_frag, xmit_more Then I moved all other fields and all other copied fields in a section delimited by headers_start[0]/headers_end[0] section so that we can use a single memcpy() call, inlined by compiler using long word load/stores. I also tried to make all copies in the natural orders of sk_buff, to help hardware prefetching. I made sure sk_buff size did not change. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8f02af096b1fc9fd46680cbe55214e477eb76d3 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 10:16:24 2014 -0600 vfio/pci: Restore MSIx message prior to enabling The MSIx vector table lives in device memory, which may be cleared as part of a backdoor device reset. This is the case on the IBM IPR HBA when the BIST is run on the device. When assigned to a QEMU guest, the guest driver does a pci_save_state(), issues a BIST, then does a pci_restore_state(). The BIST clears the MSIx vector table, but due to the way interrupts are configured the pci_restore_state() does not restore the vector table as expected. Eventually this results in an EEH error on Power platforms when the device attempts to signal an interrupt with the zero'd table entry. Fix the problem by restoring the host cached MSI message prior to enabling each vector. Reported-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 3b307ffe3faad60aeda0e9a4f661d5c1edbd761e Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 10:13:46 2014 -0600 PCI: Export MSI message relevant functions The patch exports 2 MSI message relevant functions, which will be used by VFIO PCI driver. The VFIO PCI driver would be built as a module. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 19926c6de0c37f486f00b7531aec4ba5a09451ae Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 29 17:32:17 2014 +0200 ASoC: davinci: vcif must be a module if SND_DAVINCI_SOC is It is possible to configure a kernel with SND_DAVINCI_SOC=m and SND_DM365_VOICE_CODEC=y, which results in a link error: sound/built-in.o: In function `davinci_vcif_probe': sound/soc/davinci/davinci-vcif.c:223: undefined reference to `davinci_soc_platform_register' The best way to avoid this is to make SND_DM365_VOICE_CODEC a tristate option that depends on SND_DAVINCI_SOC, so it can only be a module or disabled when the base driver is a loadable module Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f5c9ecebaf2a2c9381973798e389cc019dd983e0 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Sep 29 10:06:19 2014 -0600 vfio/iommu_type1: add new VFIO_TYPE1_NESTING_IOMMU IOMMU type VFIO allows devices to be safely handed off to userspace by putting them behind an IOMMU configured to ensure DMA and interrupt isolation. This enables userspace KVM clients, such as kvmtool and qemu, to further map the device into a virtual machine. With IOMMUs such as the ARM SMMU, it is then possible to provide SMMU translation services to the guest operating system, which are nested with the existing translation installed by VFIO. However, enabling this feature means that the IOMMU driver must be informed that the VFIO domain is being created for the purposes of nested translation. This patch adds a new IOMMU type (VFIO_TYPE1_NESTING_IOMMU) to the VFIO type-1 driver. The new IOMMU type acts identically to the VFIO_TYPE1v2_IOMMU type, but additionally sets the DOMAIN_ATTR_NESTING attribute on its IOMMU domains. Cc: Joerg Roedel <joro@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit c02607aad2f9ed478eb288bcec1c00cd9df38b3c Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Sep 29 10:05:06 2014 -0600 iommu: introduce domain attribute for nesting IOMMUs Some IOMMUs, such as the ARM SMMU, support two stages of translation. The idea behind such a scheme is to allow a guest operating system to use the IOMMU for DMA mappings in the first stage of translation, with the hypervisor then installing mappings in the second stage to provide isolation of the DMA to the physical range assigned to that virtual machine. In order to allow IOMMU domains to be used for second-stage translation, this patch adds a new iommu_attr (IOMMU_ATTR_NESTING) for setting second-stage domains prior to device attach. The attribute can also be queried to see if a domain is actually making use of nesting. Acked-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit ce23139c6c2ee92d5eace20f6f10d716cf295a5b Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:50 2014 +0300 mei: fix kernel-doc warnings Add missed parameters descriptions and return values descriptions Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8605ea2c20c2b97a54d7746c16ebef5ba29632a Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:49 2014 +0300 mei: fix KDoc documentation formatting Fix Kdoc documentation formatting warnings genertaed by ./scripts/kernel-doc Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 764c065a65c31a09340e71d2c41652e7e05bf083 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:48 2014 +0300 mei: drop me_client_presentation_num me_client_presentation_num field is not used for any particular purpose now, so it can be safely dropped. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a01e97432a6ee5c5b78c0425dd7518a80f87b54 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:47 2014 +0300 mei: trivial: fix errors in prints in comments Fix misspellings and wrong print texts Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f180359f42fc6fda4600175c63f2a84f444cc92 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:46 2014 +0300 mei: remove include to pci header from mei module files Remove inclusion of linux/pci.h in mei layer however we need to include the headers that before got included implicitly from linux/pci.h. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ad96db6ccdd8b777cff5fd4aa74ec1e86f1afce Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:45 2014 +0300 mei: push pci cfg structure me hw Device specific configurations are currently only needed by me hw so we can remove it from txe Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d08b8fc0dbdbe9bf7edeb46f7a856f993630664f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:44 2014 +0300 mei: remove the reference to pdev from mei_device For purpose of adding testing HW we would like to get rid of pci dependency in generic mei code. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd30b6a42610466bae2c133e68a8feb1004929c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:43 2014 +0300 mei: move fw_status back to hw ops handlers fw status retrieval has pci specific implementation so we push it back to the hw layer Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bf94cabb199f73402a5ddefa4a7bf1a82aaeda5 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:42 2014 +0300 mei: get rid of most of the pci dependencies in mei For purpose of adding testing HW we would like to get rid of pci dependency in generic mei code This patch provides only straight forward changes FW status and prob quirks need to be handled separately Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a7e9b6c661a23429b4a106d1ffa8aa5ce6c62bb Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:41 2014 +0300 mei: push all standard settings into mei_device_init Setting of hw_ops and device has should be in mei_device_init. We add reference to the parent device and remove pci dependent cfg Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2190fe2a3f4a4e76f6c5ebfc1070b86b34f0345c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:40 2014 +0300 mei: move mei_hbm_hdr function from hbm.h the hbm.c mei_hbm_hder helper function is only used in hbm.c so there is no need to define it in a header file Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2628118b60b9d5bb4c580a1d5973a8e1d31a50f2 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:39 2014 +0300 mei: kill error message for allocation failure There is no need to log memory allocation errors as this is already done by the memory subsystem. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55e43d1fc0fb8dd04ae8fc067994f00edae34941 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:38 2014 +0300 mei: nfc: fix style warning fix style warning: void function return statements are not generally useful Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92db1555f3b9c9be257ef4070d87eb9410493cf3 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:37 2014 +0300 mei: fix style warning: Missing a blank line after declarations fix new style warning: Missing a blank line after declarations Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 152de90d99ed0d6db08818d6f54d4d61df3b5dc1 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:36 2014 +0300 mei: pg: fix cat and paste error in comments Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2fbab57698051e68e59586bd20c17a1a487dfa63 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:35 2014 +0300 mei: debugfs: add single buffer indicator Add indication whether the client operates in single buffer mode Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c44952003fc949e81ae0a0297e91894d8724f7fe Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:34 2014 +0300 mei: debugfs: adjust print buffer In case of many me clients (15 and more) 1K buffer is not enough for full information print. Calculate buffer size according to real clients number. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1beeb4b9fbb27432f93ae8fe157228b7b897974a Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:33 2014 +0300 mei: add hbm and pg state in devstate debugfs print Add hbm state, pg enablement and state to devstate file in debugfs (<debugfs>/mei/devstate) Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0043325495222139daa0696db736f67658dc7770 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 23:09:44 2014 +0400 usb: hcd: add generic PHY support Add the generic PHY support, analogous to the USB PHY support. Intended it to be used with the PCI EHCI/OHCI drivers and the xHCI platform driver. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d46e73dfdb840f460e5b06416965d132570ec33 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 23:05:50 2014 +0400 usb: rename phy to usb_phy in HCD The USB PHY member of the HCD structure is renamed to 'usb_phy' and modifications are done in all drivers accessing it. This is in preparation to adding the generic PHY support. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> [Sergei: added missing 'drivers/usb/misc/lvstest.c' file, resolved rejects, updated changelog.] Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a173dc447d2980bb7cb9618a6b59cf135ea01e80 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 29 14:30:20 2014 +0200 usb: gadget: uvc: fix up uvcg_v4l2_get_unmapped_area typo Patch "usb: gadget: uvc: rename functions to avoid conflicts with host uvc" renamed a lot of symbols but missed one references that was inside of an #ifdef: drivers/usb/gadget/function/uvc_v4l2.c:363:23: error: 'uvcg_v4l2_get_unmapped_area' undeclared here (not in a function) .get_unmapped_area = uvcg_v4l2_get_unmapped_area, ^ drivers/usb/gadget/function/uvc_v4l2.c:344:22: warning: 'uvc_v4l2_get_unmapped_area' defined but not used [-Wunused-function] static unsigned long uvc_v4l2_get_unmapped_area(struct file *file, ^ This renames the reference according the changed function name. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 7ea95b110811 ("usb: gadget: uvc: rename functions to avoid conflicts with host uvc") Cc: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Cc: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 905e300e1043f5ff513840d342df5c985b3dc08c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 29 14:54:34 2014 +0200 USB: host: st: fix ehci/ohci driver selection The newly added sti ehci and ohci drivers come with a single Kconfig entry that does not depend on either of the base drivers, which leads to a link error when they are disabled: drivers/built-in.o: In function `ohci_platform_init': :(.init.text+0x14788): undefined reference to `ohci_init_driver' To fix that, this patch introduces two separate Kconfig options with proper dependencies, which avoids the problem and is also more consistent with the other glue drivers. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: d115837259ada ("usb: host: ohci-st: Add OHCI driver support for ST STB devices") Cc: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46c1cda88c6e669965e00d6557cc5231fcef91d5 Author: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Date: Mon Sep 29 11:54:14 2014 +0530 usb: host: ehci-exynos: Remove unnecessary usb-phy support Now that we have completely moved from older USB-PHY drivers to newer GENERIC-PHY drivers for PHYs available with USB controllers on Exynos series of SoCs, we can remove the support for the same in our host drivers too. We also defer the probe for our host in case we end up getting EPROBE_DEFER error when getting PHYs. Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5a9d62199af2ae6c4e7aa13614199b6dbaf5eb2 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Sep 29 10:09:31 2014 +0800 usb: core: return -ENOTSUPP for all targeted hosts The current code only returns -ENOTSUPP for OTG host, but in fact, embedded host also needs to returns -ENOTSUPP if the peripheral is not at TPL. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90d099383d3a93de5b363a05f4013f3a78cab593 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Sep 29 17:13:40 2014 +0200 pinctrl: alter device tree bindings for functions For function and group configuration nodes, use "function" "groups" string pairs, not "pins" where there should be "groups". Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 156395c9989a76228e0da40e71267a3d4fb07419 Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 29 16:37:26 2014 +0300 Bluetooth: 6lowpan: Enable multicast support Set multicast support for 6lowpan network interface. This is needed in every network interface that supports IPv6. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 36b3dd250dde5317fa6bb8c9010e1e7ab7f2265a Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 29 16:37:25 2014 +0300 Bluetooth: 6lowpan: Ensure header compression does not corrupt IPv6 header If skb is going to multiple destinations, then make sure that we do not overwrite the common IPv6 headers. So before compressing the IPv6 headers, we copy the skb and that is then sent to 6LoWPAN Bluetooth devices. This is a similar patch as what was done for IEEE 802.154 6LoWPAN in commit f19f4f9525cf3 ("ieee802154: 6lowpan: ensure header compression does not corrupt ipv6 header") Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c2f6d059abfc29822af732e4da70813a5b6fd9cd Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Sep 29 16:54:14 2014 +0200 pinctrl: nomadik: refactor DT parser to take two paths We refactor the DT parser to look for either a config or a function and then look for further nodes and reserve maps, not the two things mixed up like prior to this patch. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 67956867aa07c59d6d83628bbc9ee4bd9799a1e1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:17 2014 +0300 drm/i915: Don't spam dmesg with rps messages on vlv/chv If the GPU frequency isn't going to change don't spam dmesg with debug messages about it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 37a34ac1d4775aafbc73b9db53c7daebbbc67e6a Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Mon Sep 22 15:52:48 2014 +0100 arm: kvm: fix CPU hotplug On some platforms with no power management capabilities, the hotplug implementation is allowed to return from a smp_ops.cpu_die() call as a function return. Upon a CPU onlining event, the KVM CPU notifier tries to reinstall the hyp stub, which fails on platform where no reset took place following a hotplug event, with the message: CPU1: smp_ops.cpu_die() returned, trying to resuscitate CPU1: Booted secondary processor Kernel panic - not syncing: unexpected prefetch abort in Hyp mode at: 0x80409540 unexpected data abort in Hyp mode at: 0x80401fe8 unexpected HVC/SVC trap in Hyp mode at: 0x805c6170 since KVM code is trying to reinstall the stub on a system where it is already configured. To prevent this issue, this patch adds a check in the KVM hotplug notifier that detects if the HYP stub really needs re-installing when a CPU is onlined and skips the installation call if the stub is already in place, which means that the CPU has not been reset. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 7c4f45397057506415d1cbf3e30b90674f2e0ec0 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 15:50:11 2014 +0200 cpufreq: Replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cf30af76952b0cb20c4a2cf8db16d69ca59eb652 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 15:49:11 2014 +0200 cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec This patch ensures the cpus to kexec/reboot at nominal frequency. Nominal frequency is the highest cpu frequency on PowerPC at which the cores can run without getting throttled. If the host kernel had set the cpus to a low pstate and then it kexecs/reboots to a cpufreq disabled kernel it would cause the target kernel to perform poorly. It will also increase the boot up time of the target kernel. So set the cpus to high pstate, in this case to nominal frequency before rebooting to avoid such scenarios. The reboot notifier will set the cpus to nominal frequncy. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b120339c787b243cdbe3f67401b4aa5625d88ff3 Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 15:47:53 2014 +0200 cpufreq: powernv: Set the pstate of the last hotplugged out cpu in policy->cpus to minimum Its possible today that the pstate of a core is held at a high even after the entire core is hotplugged out if a load had just run on the hotplugged cpu. This is fair, since it is assumed that the pstate does not matter to a cpu in a deep idle state, which is the expected state of a hotplugged core on powerpc. However on powerpc, the pstate at a socket level is held at the maximum of the pstates of each core. Even if the pstates of the active cores on that socket is low, the socket pstate is held high due to the pstate of the hotplugged core in the above mentioned scenario. This can cost significant amount of power loss for no good. Besides, since it is a non active core, nothing can be done from the kernel's end to set the frequency of the core right. Hence make use of the stop_cpu callback to explicitly set the pstate of the core to a minimum when the last cpu of the core gets hotplugged out. Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 789ca243740de236a39146fc3d3bbaeb4d3ae0ba Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 15:47:12 2014 +0200 cpufreq: Allow stop CPU callback to be used by all cpufreq drivers Commit 367dc4aa932bfb3 ("cpufreq: Add stop CPU callback to cpufreq_driver interface") introduced the stop CPU callback for intel_pstate drivers. During the CPU_DOWN_PREPARE stage, this callback is invoked so that drivers can take some action on the pstate of the cpu before it is taken offline. This callback was assumed to be useful only for those drivers which have implemented the set_policy CPU callback because they have no other way to take action about the cpufreq of a CPU which is being hotplugged out except in the exit callback which is called very late in the offline process. The drivers which implement the target/target_index callbacks were expected to take care of requirements like the ones that commit 367dc4aa addresses in the GOV_STOP notification event. But there are disadvantages to restricting the usage of stop CPU callback to cpufreq drivers that implement the set_policy callbacks and who want to take explicit action on the setting the cpufreq during a hotplug operation. 1.GOV_STOP gets called for every CPU offline and drivers would usually want to take action when the last cpu in the policy->cpus mask is taken offline. As long as there is more than one cpu in the policy->cpus mask, cpufreq core itself makes sure that the freq for the other cpus in this mask is set according to the maximum load. This is sensible and drivers which implement the target_index callback would mostly not want to modify that. However the cpufreq core leaves a loose end when the cpu in the policy->cpus mask is the last one to go offline; it does nothing explicit to the frequency of the core. Drivers may need a way to take some action here and stop CPU callback mechanism is the best way to do it today. 2. We cannot implement driver specific actions in the GOV_STOP mechanism. So we will need another driver callback which is invoked from here which is unnecessary. Therefore this patch extends the usage of stop CPU callback to be used by all cpufreq drivers as long as they have this callback implemented and irrespective of whether they are set_policy/target_index drivers. The assumption is if the drivers find the GOV_STOP path to be a suitable way of implementing what they want to do with the freq of the cpu going offine,they will not implement the stop CPU callback at all. Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 91e56499304f3d612053a9cf17f350868182c7d8 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 10:13:12 2014 +0100 drm/i915: Flush the PTEs after updating them before suspend As we use WC updates of the PTE, we are responsible for notifying the hardware when to flush its TLBs. Do so after we zap all the PTEs before suspend (and the BIOS tries to read our GTT). Fixes a regression from commit 828c79087cec61eaf4c76bb32c222fbe35ac3930 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Wed Oct 16 09:21:30 2013 -0700 drm/i915: Disable GGTT PTEs on GEN6+ suspend that survived and continue to cause harm even after commit e568af1c626031925465a5caaab7cca1303d55c7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 26 20:08:20 2014 +0100 drm/i915: Undo gtt scratch pte unmapping again v2: Trivial rebase. v3: Fixes requires pointer dances. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82340 Tested-by: ming.yao@xxxxxxxxx Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Cc: Takashi Iwai <tiwai@xxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Todd Previte <tprevite@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit cec26bc3c125b5dd12a02f04133cd91eae3f1622 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 13:32:38 2014 +0530 KVM: PPC: BOOK3S: HV: CMA: Reserve cma region only in hypervisor mode We use cma reserved area for creating guest hash page table. Don't do the reservation in non-hypervisor mode. This avoids unnecessary CMA reservation when booting with limited memory configs like fadump and kdump. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 905563ff47db35dcb3f69e69d434207270ad1966 Merge: fe82dce 0cadc70 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 29 15:33:26 2014 +0200 Merge back earlier 'pm-sleep' material for v3.18. commit 2670e02a2deab4ea513a37a1356be5fad6e5156b Merge: fe82dce 48c1947 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 29 15:31:43 2014 +0200 Merge back earlier 'acpica' material for v3.18. commit c479f4383ea8940dd6f88da61798ad31feb33e51 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Sep 26 15:05:22 2014 +0100 drm/i915: Do not leak pages when freeing userptr objects sg_alloc_table_from_pages() can build us a table with coalesced ranges which means we need to iterate over pages and not sg table entries when releasing page references. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: "Barbalho, Rafael" <rafael.barbalho@xxxxxxxxx> Tested-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [danvet: Remove unused local variable sg.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 3f9ae3790e68588cce60dc49b9691116662e8f31 Merge: fe82dce 1f47a77 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 29 15:29:18 2014 +0200 Merge back earlier 'acpi-lpss' material for v3.18. commit 6e9b1c351dd66ab3d5ecbec44aa1e0b4f576e913 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Sep 29 15:22:20 2014 +0200 pinctrl: nomadik: use utils map free function Stop brewing our own map free function and rely on the pinctrl utils helpers. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e9681366ea9e76ab8f75e84351f2f3ca63ee542c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 26 10:31:02 2014 +0100 drm/i915: Do not store the error pointer for a failed userptr registration If we fail to create our mmu notification, we report the error back and currently store the error inside the i915_mm_struct. This not only causes subsequent registerations of the same mm to fail (an issue if the first was interrupted by a signal and needed to be restarted) but also causes us to eventually try and free the error pointer. [ 73.419599] BUG: unable to handle kernel NULL pointer dereference at 000000000000004c [ 73.419831] IP: [<ffffffff8114af33>] mmu_notifier_unregister+0x23/0x130 [ 73.420065] PGD 8650c067 PUD 870bb067 PMD 0 [ 73.420319] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [ 73.420580] CPU: 0 PID: 42 Comm: kworker/0:1 Tainted: G W 3.17.0-rc6+ #1561 [ 73.420837] Hardware name: Intel Corporation SandyBridge Platform/LosLunas CRB, BIOS ASNBCPT1.86C.0075.P00.1106281639 06/28/2011 [ 73.421405] Workqueue: events __i915_mm_struct_free__worker [ 73.421724] task: ffff880088a81220 ti: ffff880088168000 task.ti: ffff880088168000 [ 73.422051] RIP: 0010:[<ffffffff8114af33>] [<ffffffff8114af33>] mmu_notifier_unregister+0x23/0x130 [ 73.422410] RSP: 0018:ffff88008816bd50 EFLAGS: 00010286 [ 73.422765] RAX: 0000000000000003 RBX: ffff880086485400 RCX: 0000000000000000 [ 73.423137] RDX: ffff88016d80ee90 RSI: ffff880086485400 RDI: 0000000000000044 [ 73.423513] RBP: ffff88008816bd70 R08: 0000000000000001 R09: 0000000000000000 [ 73.423895] R10: 0000000000000320 R11: 0000000000000001 R12: 0000000000000044 [ 73.424282] R13: ffff880166e5f008 R14: ffff88016d815200 R15: ffff880166e5f040 [ 73.424682] FS: 0000000000000000(0000) GS:ffff88016d800000(0000) knlGS:0000000000000000 [ 73.425099] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 73.425537] CR2: 000000000000004c CR3: 0000000087f5f000 CR4: 00000000000407f0 [ 73.426157] Stack: [ 73.426597] ffff880088a81248 ffff880166e5f038 fffffffffffffffc ffff880166e5f008 [ 73.427096] ffff88008816bd98 ffffffff814a75f2 ffff880166e5f038 ffff8800880f8a28 [ 73.427603] ffff88016d812ac0 ffff88008816be00 ffffffff8106321a ffffffff810631af [ 73.428119] Call Trace: [ 73.428606] [<ffffffff814a75f2>] __i915_mm_struct_free__worker+0x42/0x80 [ 73.429116] [<ffffffff8106321a>] process_one_work+0x1ba/0x610 [ 73.429632] [<ffffffff810631af>] ? process_one_work+0x14f/0x610 [ 73.430153] [<ffffffff810636db>] worker_thread+0x6b/0x4a0 [ 73.430671] [<ffffffff8108d67d>] ? trace_hardirqs_on+0xd/0x10 [ 73.431501] [<ffffffff81063670>] ? process_one_work+0x610/0x610 [ 73.432030] [<ffffffff8106a206>] kthread+0xf6/0x110 [ 73.432561] [<ffffffff8106a110>] ? __kthread_parkme+0x80/0x80 [ 73.433100] [<ffffffff8169c22c>] ret_from_fork+0x7c/0xb0 [ 73.433644] [<ffffffff8106a110>] ? __kthread_parkme+0x80/0x80 [ 73.434194] Code: 0f 1f 84 00 00 00 00 00 66 66 66 66 90 8b 46 4c 85 c0 0f 8e 10 01 00 00 55 48 89 e5 41 55 41 54 53 48 89 f3 49 89 fc 48 83 ec 08 <48> 83 7f 08 00 0f 84 b1 00 00 00 48 c7 c7 40 e6 ac 82 e8 26 65 [ 73.435942] RIP [<ffffffff8114af33>] mmu_notifier_unregister+0x23/0x130 [ 73.437017] RSP <ffff88008816bd50> [ 73.437704] CR2: 000000000000004c Fixes regression from commit ad46cb533d586fdb256855437af876617c6cf609 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 7 14:20:40 2014 +0100 drm/i915: Prevent recursive deadlock on releasing a busy userptr Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84207 Testcase: igt/gem_render_copy_redux Testcase: igt/gem_userptr_blits/create-destroy-sync Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Jacek Danecki <jacek.danecki@xxxxxxxxx> Cc: "Gong, Zhipeng" <zhipeng.gong@xxxxxxxxx> Cc: Jacek Danecki <jacek.danecki@xxxxxxxxx> Cc: "Ursulin, Tvrtko" <tvrtko.ursulin@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ba388294a5e07335a998d64f0b4a05857425a440 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Sep 29 15:17:04 2014 +0200 pinctrl: nomadik: use util function to reserve maps Stop brewing our own pin map reservation function and use the generic code. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7526ed79b014cbd943cd48b8dda63e74391ddd48 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 29 15:07:19 2014 +0200 Revert "drm/i915/bdw: BDW Software Turbo" This reverts commit c76bb61a71083b2d90504cc6d0dda2047c5d63ca. It's apparently too broken so that Rodrigo submitted a patch to add a config option for it. Given that the design is also ... suboptimal and that I've only merged this to get lead engineers and managers off my back for one second let's just revert this. /me puts on combat gear again It was worth a shot ... References: http://mid.mail-archive.com/1411686380-1953-1-git-send-email-rodrigo.vivi@xxxxxxxxx Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Daisy Sun <daisy.sun@xxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 37993271cfa22b5620304f1fa3bf72eabb5b557b Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Sep 27 18:14:47 2014 +0200 udf: remove redundant sys_tz declaration sys_tz is already declared in include/linux/time.h Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 81da57e64919f45e72d8e551f47ce38686ce0e78 Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Fri Jul 18 15:09:54 2014 +0100 PM / devfreq: exynos: Enable building exynos PPMU as module Export symbols from the PPMU driver needed to build the exynos bus driver as a module. Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit bd7e927705817e56d73177b05276f2667baeb11e Author: Ã?rjan Eide <orjan.eide@xxxxxxx> Date: Fri Jul 18 15:09:53 2014 +0100 PM / devfreq: Export helper functions for drivers These functions are indended for use by drivers and should be available also when the driver is built as a module. Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Ã?rjan Eide <orjan.eide@xxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit db29a9508a9246e77087c5531e45b2c88ec6988b Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Sep 26 11:35:42 2014 +0200 netfilter: conntrack: disable generic tracking for known protocols Given following iptables ruleset: -P FORWARD DROP -A FORWARD -m sctp --dport 9 -j ACCEPT -A FORWARD -p tcp --dport 80 -j ACCEPT -A FORWARD -p tcp -m conntrack -m state ESTABLISHED,RELATED -j ACCEPT One would assume that this allows SCTP on port 9 and TCP on port 80. Unfortunately, if the SCTP conntrack module is not loaded, this allows *all* SCTP communication, to pass though, i.e. -p sctp -j ACCEPT, which we think is a security issue. This is because on the first SCTP packet on port 9, we create a dummy "generic l4" conntrack entry without any port information (since conntrack doesn't know how to extract this information). All subsequent packets that are unknown will then be in established state since they will fallback to proto_generic and will match the 'generic' entry. Our originally proposed version [1] completely disabled generic protocol tracking, but Jozsef suggests to not track protocols for which a more suitable helper is available, hence we now mitigate the issue for in tree known ct protocol helpers only, so that at least NAT and direction information will still be preserved for others. [1] http://www.spinics.net/lists/netfilter-devel/msg33430.html Joint work with Daniel Borkmann. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit adad5621f3e16b4c4a7cc6bcdd186b11986dbf59 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Sep 23 10:14:13 2014 +0200 PM / devfreq: Remove ARCH_HAS_OPP completely The Kconfig symbol ARCH_HAS_OPP became redundant in v3.16: commit 049d595a4db3 ("PM / OPP: Make OPP invisible to users in Kconfig") removed the only dependency that used it. Setting it had no effect anymore. So commit 78c5e0bb145d ("PM / OPP: Remove ARCH_HAS_OPP") removed it. For some reason that commit did not remove all select statements for that symbol. These statements are now useless. Remove one from devfreq too. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 6a98f1e83a2874a189754ded5254ae687828739e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Sep 23 23:00:26 2014 +0300 mmc: Fix incorrect warning when setting 0 Hz via debugfs It is possible to turn off the card clock by setting the frequency to zero via debugfs e.g. echo 0 > /sys/kernel/debug/mmc0/clock However that produces an incorrect warning that is designed to warn if the frequency is below the minimum operating frequency. So correct the warning. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9363dc4b599949bde338cdaba1cf7cac243e4e97 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 23 13:30:41 2014 +0200 netfilter: nf_tables: store and dump set policy We want to know in which cases the user explicitly sets the policy options. In that case, we also want to dump back the info. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6800754c3674fb36350b2df9c3f84676e7e7a8f7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Sep 23 23:00:25 2014 +0300 mmc: Fix use of wrong device in mmc_gpiod_free_cd() mmc_gpiod_free_cd() is paired with mmc_gpiod_request_cd() and both must reference the same device which is the actual host controller device not the mmc_host class device. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5fef365b64b99d298d724b30b5c291b05d169f58 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 21:34:58 2014 +0200 mmc: atmel-mci: fix mismatched section on atmci_cleanup_slot As of 528bc7808f4e ("mmc: atmel-mci: Release mmc resources on failure in probe"), the atmci_probe() function calls atmci_cleanup_slot in the failure path. This causes a new warning whenever the driver is built: WARNING: drivers/mmc/host/built-in.o(.init.text+0xa04): Section mismatch in reference from the function atmci_probe() to the function .exit.text:atmci_cleanup_slot() The function __init atmci_probe() references a function __exit atmci_cleanup_slot(). Gcc correctly warns about this function getting dropped in the link stage for the built-in case, which would cause undefined behavior when this error path is hit. The solution is to simply drop the __exit annotation. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 528bc7808f4e ("mmc: atmel-mci: Release mmc resources on failure in probe") Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 04ed831f224d4553682f48e1b4a6b68f2622b68e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Sep 29 11:10:33 2014 +0300 clk: ti: dra7-atl-clock: Mark the device as pm_runtime_irq_safe It is safe to call the pm sync calls in interrupt context in this driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e8627a9ec397dd55f650e54e4956e25cfa8aab7c Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 26 17:31:48 2014 -0700 clk: ti: LLVMLinux: Move __init outside of type definition As written, the __init for ti_clk_get_div_table is in the middle of the return type. The gcc documentation indicates that section attributes should be added to the end of the function declaration: extern void foobar (void) __attribute__ ((section ("bar"))); However gcc seems to be very permissive with where attributes can be placed. clang on the other hand isn't so permissive, and fails if you put the section definition in the middle of the return type: drivers/clk/ti/divider.c:298:28: error: expected ';' after struct static struct clk_div_table ^ ; drivers/clk/ti/divider.c:298:1: warning: 'static' ignored on this declaration [-Wmissing-declarations] static struct clk_div_table ^ drivers/clk/ti/divider.c:299:9: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int] __init *ti_clk_get_div_table(struct device_node *node) ~~~~~~ ^ drivers/clk/ti/divider.c:345:9: warning: incompatible pointer types returning 'struct clk_div_table *' from a function with result type 'int *' [-Wincompatible-pointer-types] return table; ^~~~~ drivers/clk/ti/divider.c:419:9: warning: incompatible pointer types assigning to 'const struct clk_div_table *' from 'int *' [-Wincompatible-pointer-types] *table = ti_clk_get_div_table(node); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 warnings and 2 errors generated. By convention, most of the kernel code puts section attributes between the return type and function name. In the case where the return type is a pointer, it's important to place the '*' on left of the __init. This updated code works for both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 319f1276f9a392526d2f40ecd76c1c829d0cf5fa Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Thu Sep 18 16:33:27 2014 +0200 clk: ti: consider the fact that of_clk_get() might return an error I "forgot" to update the dtb and the kernel crashed: |Unable to handle kernel NULL pointer dereference at virtual address 0000002e |PC is at __clk_get_flags+0x4/0xc |LR is at ti_dt_clockdomains_setup+0x70/0xe8 because I did not have the clock nodes. of_clk_get() returns an error pointer which is not checked here. Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 73b5d5f711f35617ff701bd88e887d3a1187e82b Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Sep 12 16:39:07 2014 +0300 clk: ti: dra7-atl-clock: fix a memory leak of_clk_add_provider makes an internal copy of the parent_names property while its called, thus it is no longer needed after this call and can be freed. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> commit c08ee14cc6634457948bc5e26584697208baa02a Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Sep 12 15:01:57 2014 +0300 clk: ti: change clock init to use generic of_clk_init Previously, the TI clock driver initialized all the clocks hierarchically under each separate clock provider node. Now, each clock that requires IO access will instead check their parent node to find out which IO range to use. This patch allows the TI clock driver to use a few new features provided by the generic of_clk_init, and also allows registration of clock nodes outside the clock hierarchy (for example, any external clocks.) Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Cc: Jyri Sarha <jsarha@xxxxxx> Cc: Stefan Assmann <sassmann@xxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 59790aa2873cb3c32db02c777f08eb19faccf5fa Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 29 10:55:46 2014 +0300 Bluetooth: 6lowpan: Make sure skb exists before accessing it We need to make sure that the saved skb exists when resuming or suspending a CoC channel. This can happen if initial credits is 0 when channel is connected. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 842abe08aa6f81f1062cf9624e9f6afc117d73e4 Merge: a11238e 291ab06 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 29 00:24:00 2014 -0400 Merge branch 'qca7000_spi' Stefan Wahren says: ==================== add Qualcomm QCA7000 ethernet driver This patch series adds support for the Qualcomm QCA7000 Homeplug GreenPHY. The QCA7000 is serial-to-powerline bridge with two interfaces: UART and SPI. These patches handles only the last one, with an Ethernet over SPI protocol driver. This driver based on the Qualcomm code [1], but contains a lot of changes since last year: * devicetree support * DebugFS support * ethtool support * better error handling * performance improvements * code cleanup * some bugfixes The code has been tested only on Freescale i.MX28 boards, but should work on other platforms. [1] - https://github.com/IoE/qca7000 Changes in V3: - Use ether_addr_copy instead of memcpy - Remove qcaspi_set_mac_address - Improve DT parsing - replace OF_GPIO dependancy with OF - fix compile error caused by SET_ETHTOOL_OPS - fix possible endless loop when spi read fails - fix DT documentation - fix coding style - fix sparse warnings Changes in V2: - replace in DT the SPI intr GPIO with pure interrupt - make legacy mode a boolean DT property and remove it as module parameter - make burst length a module parameter instead of DT property - make pluggable a module parameter instead of DT property - improve DT documentation - replace debugFS register dump with ethtool function - replace debugFS stats with ethtool function - implement function to get ring parameter via ethtool - implement function to set TX ring count via ethtool - fix TX ring state in debugFS - optimize tx ring flush - add byte limit for TX ring to avoid bufferbloat - fix TX queue full and write buffer miss counter - fix SPI clk speed module parameter - fix possible packet loss - fix possible race during transmit ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 291ab06ecf6765aa0c73332b745ffb3a44ed30c6 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Fri Sep 26 22:21:21 2014 +0000 net: qualcomm: new Ethernet over SPI driver for QCA7000 This patch adds the Ethernet over SPI driver for the Qualcomm QCA7000 HomePlug GreenPHY. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d50df8f72088eadde87e771c4b2f30bfb3688a0 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Fri Sep 26 22:21:20 2014 +0000 Documentation: add Device tree bindings for QCA7000 This patch adds the Device tree bindings for the Ethernet over SPI protocol driver of the Qualcomm QCA7000 HomePlug GreenPHY. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a11238ec28d40f56f8b939f6f125694dba3adb70 Merge: 53dfd50 e3118e8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 29 00:13:17 2014 -0400 Merge branch 'dctcp' Daniel Borkmann says: ==================== net: tcp: DCTCP congestion control algorithm This patch series adds support for the DataCenter TCP (DCTCP) congestion control algorithm. Please see individual patches for the details. The last patch adds DCTCP as a congestion control module, and previous ones add needed infrastructure to extend the congestion control framework. Joint work between Florian Westphal, Daniel Borkmann and Glenn Judd. v3 -> v2: - No changes anywhere, just a resend as requested by Dave - Added Stephen's ACK v1 -> v2: - Rebased to latest net-next - Addressed Eric's feedback, thanks! - Update stale comment wrt. DCTCP ECN usage - Don't call INET_ECN_xmit for every packet - Add dctcp ss/inetdiag support to expose internal stats to userspace ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3118e8359bb7c59555aca60c725106e6d78c5ce Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Fri Sep 26 22:37:36 2014 +0200 net: tcp: add DCTCP congestion control algorithm This work adds the DataCenter TCP (DCTCP) congestion control algorithm [1], which has been first published at SIGCOMM 2010 [2], resp. follow-up analysis at SIGMETRICS 2011 [3] (and also, more recently as an informational IETF draft available at [4]). DCTCP is an enhancement to the TCP congestion control algorithm for data center networks. Typical data center workloads are i.e. i) partition/aggregate (queries; bursty, delay sensitive), ii) short messages e.g. 50KB-1MB (for coordination and control state; delay sensitive), and iii) large flows e.g. 1MB-100MB (data update; throughput sensitive). DCTCP has therefore been designed for such environments to provide/achieve the following three requirements: * High burst tolerance (incast due to partition/aggregate) * Low latency (short flows, queries) * High throughput (continuous data updates, large file transfers) with commodity, shallow buffered switches The basic idea of its design consists of two fundamentals: i) on the switch side, packets are being marked when its internal queue length > threshold K (K is chosen so that a large enough headroom for marked traffic is still available in the switch queue); ii) the sender/host side maintains a moving average of the fraction of marked packets, so each RTT, F is being updated as follows: F := X / Y, where X is # of marked ACKs, Y is total # of ACKs alpha := (1 - g) * alpha + g * F, where g is a smoothing constant The resulting alpha (iow: probability that switch queue is congested) is then being used in order to adaptively decrease the congestion window W: W := (1 - (alpha / 2)) * W The means for receiving marked packets resp. marking them on switch side in DCTCP is the use of ECN. RFC3168 describes a mechanism for using Explicit Congestion Notification from the switch for early detection of congestion, rather than waiting for segment loss to occur. However, this method only detects the presence of congestion, not the *extent*. In the presence of mild congestion, it reduces the TCP congestion window too aggressively and unnecessarily affects the throughput of long flows [4]. DCTCP, as mentioned, enhances Explicit Congestion Notification (ECN) processing to estimate the fraction of bytes that encounter congestion, rather than simply detecting that some congestion has occurred. DCTCP then scales the TCP congestion window based on this estimate [4], thus it can derive multibit feedback from the information present in the single-bit sequence of marks in its control law. And thus act in *proportion* to the extent of congestion, not its *presence*. Switches therefore set the Congestion Experienced (CE) codepoint in packets when internal queue lengths exceed threshold K. Resulting, DCTCP delivers the same or better throughput than normal TCP, while using 90% less buffer space. It was found in [2] that DCTCP enables the applications to handle 10x the current background traffic, without impacting foreground traffic. Moreover, a 10x increase in foreground traffic did not cause any timeouts, and thus largely eliminates TCP incast collapse problems. The algorithm itself has already seen deployments in large production data centers since then. We did a long-term stress-test and analysis in a data center, short summary of our TCP incast tests with iperf compared to cubic: This test measured DCTCP throughput and latency and compared it with CUBIC throughput and latency for an incast scenario. In this test, 19 senders sent at maximum rate to a single receiver. The receiver simply ran iperf -s. The senders ran iperf -c <receiver> -t 30. All senders started simultaneously (using local clocks synchronized by ntp). This test was repeated multiple times. Below shows the results from a single test. Other tests are similar. (DCTCP results were extremely consistent, CUBIC results show some variance induced by the TCP timeouts that CUBIC encountered.) For this test, we report statistics on the number of TCP timeouts, flow throughput, and traffic latency. 1) Timeouts (total over all flows, and per flow summaries): CUBIC DCTCP Total 3227 25 Mean 169.842 1.316 Median 183 1 Max 207 5 Min 123 0 Stddev 28.991 1.600 Timeout data is taken by measuring the net change in netstat -s "other TCP timeouts" reported. As a result, the timeout measurements above are not restricted to the test traffic, and we believe that it is likely that all of the "DCTCP timeouts" are actually timeouts for non-test traffic. We report them nevertheless. CUBIC will also include some non-test timeouts, but they are drawfed by bona fide test traffic timeouts for CUBIC. Clearly DCTCP does an excellent job of preventing TCP timeouts. DCTCP reduces timeouts by at least two orders of magnitude and may well have eliminated them in this scenario. 2) Throughput (per flow in Mbps): CUBIC DCTCP Mean 521.684 521.895 Median 464 523 Max 776 527 Min 403 519 Stddev 105.891 2.601 Fairness 0.962 0.999 Throughput data was simply the average throughput for each flow reported by iperf. By avoiding TCP timeouts, DCTCP is able to achieve much better per-flow results. In CUBIC, many flows experience TCP timeouts which makes flow throughput unpredictable and unfair. DCTCP, on the other hand, provides very clean predictable throughput without incurring TCP timeouts. Thus, the standard deviation of CUBIC throughput is dramatically higher than the standard deviation of DCTCP throughput. Mean throughput is nearly identical because even though cubic flows suffer TCP timeouts, other flows will step in and fill the unused bandwidth. Note that this test is something of a best case scenario for incast under CUBIC: it allows other flows to fill in for flows experiencing a timeout. Under situations where the receiver is issuing requests and then waiting for all flows to complete, flows cannot fill in for timed out flows and throughput will drop dramatically. 3) Latency (in ms): CUBIC DCTCP Mean 4.0088 0.04219 Median 4.055 0.0395 Max 4.2 0.085 Min 3.32 0.028 Stddev 0.1666 0.01064 Latency for each protocol was computed by running "ping -i 0.2 <receiver>" from a single sender to the receiver during the incast test. For DCTCP, "ping -Q 0x6 -i 0.2 <receiver>" was used to ensure that traffic traversed the DCTCP queue and was not dropped when the queue size was greater than the marking threshold. The summary statistics above are over all ping metrics measured between the single sender, receiver pair. The latency results for this test show a dramatic difference between CUBIC and DCTCP. CUBIC intentionally overflows the switch buffer which incurs the maximum queue latency (more buffer memory will lead to high latency.) DCTCP, on the other hand, deliberately attempts to keep queue occupancy low. The result is a two orders of magnitude reduction of latency with DCTCP - even with a switch with relatively little RAM. Switches with larger amounts of RAM will incur increasing amounts of latency for CUBIC, but not for DCTCP. 4) Convergence and stability test: This test measured the time that DCTCP took to fairly redistribute bandwidth when a new flow commences. It also measured DCTCP's ability to remain stable at a fair bandwidth distribution. DCTCP is compared with CUBIC for this test. At the commencement of this test, a single flow is sending at maximum rate (near 10 Gbps) to a single receiver. One second after that first flow commences, a new flow from a distinct server begins sending to the same receiver as the first flow. After the second flow has sent data for 10 seconds, the second flow is terminated. The first flow sends for an additional second. Ideally, the bandwidth would be evenly shared as soon as the second flow starts, and recover as soon as it stops. The results of this test are shown below. Note that the flow bandwidth for the two flows was measured near the same time, but not simultaneously. DCTCP performs nearly perfectly within the measurement limitations of this test: bandwidth is quickly distributed fairly between the two flows, remains stable throughout the duration of the test, and recovers quickly. CUBIC, in contrast, is slow to divide the bandwidth fairly, and has trouble remaining stable. CUBIC DCTCP Seconds Flow 1 Flow 2 Seconds Flow 1 Flow 2 0 9.93 0 0 9.92 0 0.5 9.87 0 0.5 9.86 0 1 8.73 2.25 1 6.46 4.88 1.5 7.29 2.8 1.5 4.9 4.99 2 6.96 3.1 2 4.92 4.94 2.5 6.67 3.34 2.5 4.93 5 3 6.39 3.57 3 4.92 4.99 3.5 6.24 3.75 3.5 4.94 4.74 4 6 3.94 4 5.34 4.71 4.5 5.88 4.09 4.5 4.99 4.97 5 5.27 4.98 5 4.83 5.01 5.5 4.93 5.04 5.5 4.89 4.99 6 4.9 4.99 6 4.92 5.04 6.5 4.93 5.1 6.5 4.91 4.97 7 4.28 5.8 7 4.97 4.97 7.5 4.62 4.91 7.5 4.99 4.82 8 5.05 4.45 8 5.16 4.76 8.5 5.93 4.09 8.5 4.94 4.98 9 5.73 4.2 9 4.92 5.02 9.5 5.62 4.32 9.5 4.87 5.03 10 6.12 3.2 10 4.91 5.01 10.5 6.91 3.11 10.5 4.87 5.04 11 8.48 0 11 8.49 4.94 11.5 9.87 0 11.5 9.9 0 SYN/ACK ECT test: This test demonstrates the importance of ECT on SYN and SYN-ACK packets by measuring the connection probability in the presence of competing flows for a DCTCP connection attempt *without* ECT in the SYN packet. The test was repeated five times for each number of competing flows. Competing Flows 1 | 2 | 4 | 8 | 16 ------------------------------ Mean Connection Probability 1 | 0.67 | 0.45 | 0.28 | 0 Median Connection Probability 1 | 0.65 | 0.45 | 0.25 | 0 As the number of competing flows moves beyond 1, the connection probability drops rapidly. Enabling DCTCP with this patch requires the following steps: DCTCP must be running both on the sender and receiver side in your data center, i.e.: sysctl -w net.ipv4.tcp_congestion_control=dctcp Also, ECN functionality must be enabled on all switches in your data center for DCTCP to work. The default ECN marking threshold (K) heuristic on the switch for DCTCP is e.g., 20 packets (30KB) at 1Gbps, and 65 packets (~100KB) at 10Gbps (K > 1/7 * C * RTT, [4]). In above tests, for each switch port, traffic was segregated into two queues. For any packet with a DSCP of 0x01 - or equivalently a TOS of 0x04 - the packet was placed into the DCTCP queue. All other packets were placed into the default drop-tail queue. For the DCTCP queue, RED/ECN marking was enabled, here, with a marking threshold of 75 KB. More details however, we refer you to the paper [2] under section 3). There are no code changes required to applications running in user space. DCTCP has been implemented in full *isolation* of the rest of the TCP code as its own congestion control module, so that it can run without a need to expose code to the core of the TCP stack, and thus nothing changes for non-DCTCP users. Changes in the CA framework code are minimal, and DCTCP algorithm operates on mechanisms that are already available in most Silicon. The gain (dctcp_shift_g) is currently a fixed constant (1/16) from the paper, but we leave the option that it can be chosen carefully to a different value by the user. In case DCTCP is being used and ECN support on peer site is off, DCTCP falls back after 3WHS to operate in normal TCP Reno mode. ss {-4,-6} -t -i diag interface: ... dctcp wscale:7,7 rto:203 rtt:2.349/0.026 mss:1448 cwnd:2054 ssthresh:1102 ce_state 0 alpha 15 ab_ecn 0 ab_tot 735584 send 10129.2Mbps pacing_rate 20254.1Mbps unacked:1822 retrans:0/15 reordering:101 rcv_space:29200 ... dctcp-reno wscale:7,7 rto:201 rtt:0.711/1.327 ato:40 mss:1448 cwnd:10 ssthresh:1102 fallback_mode send 162.9Mbps pacing_rate 325.5Mbps rcv_rtt:1.5 rcv_space:29200 More information about DCTCP can be found in [1-4]. [1] http://simula.stanford.edu/~alizade/Site/DCTCP.html [2] http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-final.pdf [3] http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp_analysis-full.pdf [4] http://tools.ietf.org/html/draft-bensley-tcpm-dctcp-00 Joint work with Florian Westphal and Glenn Judd. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Glenn Judd <glenn.judd@xxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9890092e46b2996bb85f7f973e69424cb5c07bc0 Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Sep 26 22:37:35 2014 +0200 net: tcp: more detailed ACK events and events for CE marked packets DataCenter TCP (DCTCP) determines cwnd growth based on ECN information and ACK properties, e.g. ACK that updates window is treated differently than DUPACK. Also DCTCP needs information whether ACK was delayed ACK. Furthermore, DCTCP also implements a CE state machine that keeps track of CE markings of incoming packets. Therefore, extend the congestion control framework to provide these event types, so that DCTCP can be properly implemented as a normal congestion algorithm module outside of the core stack. Joint work with Daniel Borkmann and Glenn Judd. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Glenn Judd <glenn.judd@xxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7354c8c389d18719dd71cc810da70b0921d66694 Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Sep 26 22:37:34 2014 +0200 net: tcp: split ack slow/fast events from cwnd_event The congestion control ops "cwnd_event" currently supports CA_EVENT_FAST_ACK and CA_EVENT_SLOW_ACK events (among others). Both FAST and SLOW_ACK are only used by Westwood congestion control algorithm. This removes both flags from cwnd_event and adds a new in_ack_event callback for this. The goal is to be able to provide more detailed information about ACKs, such as whether ECE flag was set, or whether the ACK resulted in a window update. It is required for DataCenter TCP (DCTCP) congestion control algorithm as it makes a different choice depending on ECE being set or not. Joint work with Daniel Borkmann and Glenn Judd. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Glenn Judd <glenn.judd@xxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30e502a34b8b21fae2c789da102bd9f6e99fef83 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Fri Sep 26 22:37:33 2014 +0200 net: tcp: add flag for ca to indicate that ECN is required This patch adds a flag to TCP congestion algorithms that allows for requesting to mark IPv4/IPv6 sockets with transport as ECN capable, that is, ECT(0), when required by a congestion algorithm. It is currently used and needed in DataCenter TCP (DCTCP), as it requires both peers to assert ECT on all IP packets sent - it uses ECN feedback (i.e. CE, Congestion Encountered information) from switches inside the data center to derive feedback to the end hosts. Therefore, simply add a new flag to icsk_ca_ops. Note that DCTCP's algorithm/behaviour slightly diverges from RFC3168, therefore this is only (!) enabled iff the assigned congestion control ops module has requested this. By that, we can tightly couple this logic really only to the provided congestion control ops. Joint work with Florian Westphal and Glenn Judd. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Glenn Judd <glenn.judd@xxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55d8694fa82c9b5858ae5a78a210353961f908f9 Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Sep 26 22:37:32 2014 +0200 net: tcp: assign tcp cong_ops when tcp sk is created Split assignment and initialization from one into two functions. This is required by followup patches that add Datacenter TCP (DCTCP) congestion control algorithm - we need to be able to determine if the connection is moderated by DCTCP before the 3WHS has finished. As we walk the available congestion control list during the assignment, we are always guaranteed to have Reno present as it's fixed compiled-in. Therefore, since we're doing the early assignment, we don't have a real use for the Reno alias tcp_init_congestion_ops anymore and can thus remove it. Actual usage of the congestion control operations are being made after the 3WHS has finished, in some cases however we can access get_info() via diag if implemented, therefore we need to zero out the private area for those modules. Joint work with Daniel Borkmann and Glenn Judd. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Glenn Judd <glenn.judd@xxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53dfd501819a6e9c3a7d56cac1ddaf03fe90800d Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 26 10:02:50 2014 -0700 net: sched: cls_rcvp, complete rcu conversion This completes the cls_rsvp conversion to RCU safe copy, update semantics. As a result all cases of tcf_exts_change occur on empty lists now. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d9a0d2f8212879407e58d67f460d8920eb6543d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Sep 25 23:04:56 2014 -0700 dql: dql_queued() should write first to reduce bus transactions While doing high throughput test on a BQL enabled NIC, I found a very high cost in ndo_start_xmit() when accessing BQL data. It turned out the problem was caused by compiler trying to be smart, but involving a bad MESI transaction : 0.05 â?? mov 0xc0(%rax),%edi // LOAD dql->num_queued 0.48 â?? mov %edx,0xc8(%rax) // STORE dql->last_obj_cnt = count 58.23 â?? add %edx,%edi 0.58 â?? cmp %edi,0xc4(%rax) 0.76 â?? mov %edi,0xc0(%rax) // STORE dql->num_queued += count 0.72 â?? js bd8 I got an incredible 10 % gain [1] by making sure cpu do not attempt to get the cache line in Shared mode, but directly requests for ownership. New code : mov %edx,0xc8(%rax) // STORE dql->last_obj_cnt = count add %edx,0xc0(%rax) // RMW dql->num_queued += count mov 0xc4(%rax),%ecx // LOAD dql->adj_limit mov 0xc0(%rax),%edx // LOAD dql->num_queued cmp %edx,%ecx The TX completion was running from another cpu, with high interrupts rate. Note that I am using barrier() as a soft hint, as mb() here could be too heavy cost. [1] This was a netperf TCP_STREAM with TSO disabled, but GSO enabled. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11889e817eec9fe7c87ed85dc9e1a295c6627f56 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 28 22:43:42 2014 +0300 staging: rtl8192u: ieee80211: Converted symbol to static. This patch fixes this sparse warning: drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c:60:6: warning: symbol 'ieee80211_ccmp_aes_encrypt' was not declared. Should it be static? Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95c0bab252b69c5aff447712c833fd897d952388 Author: Georgiana Chelu <georgiana.chelu93@xxxxxxxxx> Date: Sun Sep 28 17:34:12 2014 +0300 staging: rtl8192u: Add blank line after variable declarations Fix the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Georgiana Chelu <georgiana.chelu93@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1cd53eccad75b9360378f5ce635ba942523fc44 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 27 20:49:04 2014 +0530 Staging: rtl8192e: Remove unused variable This patch removes a variable which has never been used. The following Coccinelle semantic patch was used to make this transformation: @@ type T; identifier i; constant C; @@ - T i; <... when != i - i = C; ...> Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 806031dbf1011890f956f2bf6c2dd8e01e0a1762 Author: Esra Altintas <es.altintas@xxxxxxxxx> Date: Sat Sep 27 17:50:27 2014 +0300 staging: rtl8192u: Fixed trailing whitespace in copying The following patch fixes the checkpatch.pl error: ERROR: trailing whitespace Signed-off-by: Esra Altintas <es.altintas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 020af9a5479791015d40e07cd336d6e149c4c72a Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 27 17:47:21 2014 +0300 staging: rtl8192u: remove space before close parenthesis ")" This fixes the checkpatch.pl error: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbfd888d847b6c3497165a411d2e12d61777b773 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 27 17:32:52 2014 +0300 staging: rtl8192u: remove space before semicolon This fixes the checkpatch.pl warning: WARNING: space prohibited before semicolon Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32b116edae346c3e903519c3aff54e20f3a83146 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 27 17:18:38 2014 +0300 staging: rtl8192u: add space after close brace '}' This fixes the checkpatch.pl error: ERROR: space required after that close brace '}' Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ec2f8f0b9c5403691eabc4b93da0efab85df98c Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Sep 27 16:04:37 2014 +0300 staging: slicoss: Fix void function return statements style warning This fixes "void function return statements are not generally useful" checkpatch.pl warning slicoss.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ec1aeb33f254c871882175f105beca580e82477 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 27 13:25:29 2014 +0300 staging: rtl8192u: add space before the open parenthesis '(' This fixes the checkpatch.pl error: ERROR: space required before the open parenthesis '(' Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ab8609b92f1287957ae44c09de37caaf83251e5 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 27 04:12:28 2014 +0530 Staging: rtl8192e: rtl8192e: Remove assigned unused variable This patch removes an initialized variable which has never been used. The following Coccinelle semantic patch was used to make this transformation: @e@ identifier i; position p; type T; @@ extern T i@p; @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> The braces around if and else which become unnecessary after the transformation were also removed. Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a2da4abe30a05c138acd1c1cf3c08154dfa7847 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Sun Sep 28 15:53:21 2014 +0300 staging: octeon: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in ethernet-rgmii.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa66d88d0bf8d098794cf9923be7e773454d1806 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Sep 27 14:58:31 2014 +0300 staging: octeon: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning ethernet-util.h Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99f8dbc5644636ef1fda283da1b7dab90a3ef131 Author: Esra Altintas <es.altintas@xxxxxxxxx> Date: Sat Sep 27 13:49:02 2014 +0300 staging: octeon: Fix line 80 characters in ethernet.c The following patch fixes the checpatch.pl warning: WARNING: line over 80 characters Signed-off-by: Esra Altintas <es.altintas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e98f76c8fe3247e2118b948799e0ea491f35b9e Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 00:00:14 2014 +0300 drivers: staging: gdm72xx: Removed unnecessary braces. This patch fixes "braces {} are not necessary for single statement blocks" checkpatch.pl warning in netlink_k.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93f509a88107b2ee551ae63e710f22378815eb76 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 00:00:13 2014 +0300 drivers: staging: gdm72xx: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in netlink_k.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1fed0287238ea050163ae7c609306c0e5bfee41 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Fri Sep 26 23:50:09 2014 +0300 staging: gdm724x: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in gdm_usb.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a256779f7de73679bbe90be4e49fd70a4e7f5f43 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 26 21:58:21 2014 +0300 staging: ft1000: ft1000-pcmcia: Add require space after that ',' This patch fixes checkpatch.pl error in file ft1000_hw.c ERROR: space required after that ';' (ctx:VxV) Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56a28395b7f120f9bd2c258a904766d48a37793f Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Fri Sep 26 22:55:59 2014 +0300 staging: ft1000: ft1000-pcmcia: Used "linux" instead of "asm". This patch fixes "Use #include <linux/uaccess.h> instead of <asm/uaccess.h" checkpatch.pl warning in ft1000_dnld.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96bcbea0d59a5aeacf753bff6a2d67cfa558d4cd Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Fri Sep 26 22:49:26 2014 +0300 staging: ft1000: ft1000-pcmcia: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in ft1000_dnld.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2effbbdd9514c3b479e5e5ebeb7e996c262c27bf Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 25 21:25:08 2014 +0300 Staging: unisys: common-spar: include: channels: Remove unnecessary semicolon This fixes the checkpatch.pl warning: WARNING: macros should not use a trailing semicolon. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd7dcd3997fc130226163c6fc5b085ebeb7d2e02 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 28 18:05:05 2014 +0530 staging: vt6655: Merge three lines into one This patch merges three lines into one, removing unecessary if check. Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Reviewed-by: Himangi Saraogi <himangi774@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0cffbfe8c263de261ac92eb1e7605211b985beb Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 28 18:11:54 2014 +0530 staging: vt6656: Merge three lines into one This patch merges three lines into one, removing if branch Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a793b2d817dffce9f16af694fcce327bdefedbed Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 28 19:42:37 2014 +0300 staging: vt6655: Type conversion was made. This patch fixes this sparse warning: drivers/staging/vt6655/device_main.c:385:40: warning: mixing different enum types drivers/staging/vt6655/device_main.c:385:40: int enum _VIA_BB_TYPE versus drivers/staging/vt6655/device_main.c:385:40: int enum _VIA_PKT_TYPE Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e23c1b8c3cab8fa69fa05a9c14113d74026eaf0 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 25 01:49:36 2014 +0300 Staging: vt6655: Add require space before that '(' This patch fixes checkpatch.pl error in file device_main.c ERROR: space required before the open parenthesis '(' Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e61b441ceb5462d7fe14eb1697a61cb645dc871 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 25 01:36:44 2014 +0300 Staging: vt6655: Add require space after that ',' This patch fixes checkpatch.pl error in file device_main.c ERROR: space required after that ';' (ctx:VxV) Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c772bce6705d5fd270be12fdd90902ea28e6aac1 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 26 22:26:49 2014 +0300 staging: speakup: Added blank line. This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in selection.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6bb9e390c45d988c98a446afa69c4ede39e7835 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 25 02:14:51 2014 +0300 Staging: speakup: Fix trailing space This patch fixes checkpatch.pl error in file spkguide.txt ERROR: trailing whitespace Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43bb32a58546a3b29400566d5907b9524edfe609 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 25 01:11:45 2014 +0300 Staging: wlan-ng: Fix unnecessary space before function pointer arguments This patch fixes these warning messages found by checkpatch.pl: WARNING: Unnecessary space before function pointer arguments Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd60925d6980d52c70e62c23f9f3050e783bf2de Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 28 17:22:37 2014 +0300 staging: rtl8723au: core: Add space after '|' This patch fixes checkpatch.pl error in file rtw_ap.c ERROR: need consistent spacing around '|' (ctx:WxV) Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b34ba0c3acd9b723707c5364dba7b5c58a19282e Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 28 17:22:36 2014 +0300 staging: rtl8723au: core: Add consistent spacing around '&' This patch fixes checkpatch.pl error in file rtw_ap.c ERROR: need consistent spacing around '&' (ctx:WxV) Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b58e79b5fbffc35e25d3eecec7f748d33b66a29 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Sep 27 16:47:48 2014 +0300 staging: rtl8723au: hal: Removed unnecessary braces. This patch fixes "braces {} are not necessary for single statement blocks" checkpatch.pl warning in hal_com.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57e680eb090061a23119245f4878f413da77021a Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Sep 27 16:47:47 2014 +0300 staging: rtl8723au: hal: Fix missing blank line warning. This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in hal_com.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9974e75bc10f72831e6d0f6750a3370dfd4c917 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Sep 27 16:47:46 2014 +0300 staging: rtl8723au: hal: Fix unnecessary whitespace before a quoted newline Fix checkpatch.pl issues with unnecessary whitespace before a quoted newline in hal_com.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 924c6ee1b2e7c9800c43104e67a291678e6a3440 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Fri Sep 26 00:41:22 2014 +0300 staging: emxx_udc: Fixed else is not usefull warning. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in emxx_udc.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0a7b1cbbf806e32278795893087047ed28f2a5b Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Wed Sep 24 13:54:15 2014 -0700 staging: ft1000-usb: use usleep_range instead of msleep This fixes the following checkpatch.pl warning: WARNING : msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed9034f58e75b0f580eb8479ed1a01891191e04b Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Wed Sep 24 13:54:14 2014 -0700 staging: ft1000-usb: remove unnecessary return statement This fixes the following checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9eeea5eb6b2da5d0297f1dcd303dbfe6a31a37d2 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 22:34:33 2014 +0300 staging: media: omap4iss: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning iss_resizer.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d89818461411ae6562aa3e804927b29f3c628b6 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 22:30:52 2014 +0300 staging: media: omap4iss: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning iss_ipipeif.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f399140abb3c7ff5457ad2b2e510032948e430e1 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 22:25:35 2014 +0300 staging: media: omap24xx: Added blank line. This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in tcm825x.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f18bba082f09a0768bb14c350844cbe2d358e284 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 22:21:41 2014 +0300 staging: media: omap24xx: Added new line after declarations. This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in omap24xxcam-dma.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b86477c0e5b7b1406f27da519d4df841f306b92 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Wed Sep 24 17:00:17 2014 +0530 staging: media: cxd2099: use usleep_range() This patch fixes checkpatch.pl warning in file cxd2099.c WARNING : msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a46e43e7dedd062fcde0216093467c26ae431ab3 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 27 20:50:17 2014 +0530 Staging: media: davinci_vpfe: Remove unused variable This patch removes a variable which has never been used. The following Coccinelle semantic patch was used to make this transformation: @@ type T; identifier i; constant C; @@ - T i; <... when != i - i = C; ...> Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31907c0e5c01af537bd4d1f803aa8d9dae74a579 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Thu Sep 25 14:43:31 2014 +0530 Staging: media: davinci_vpfe: Removed unnecessary out of memory message logging. The following patch removes the checkpatch.pl warning: WARNING: possible unnecessary out of memory message. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb67f445495d04dfd61016cf9ac2bd1f3cff3da1 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 22:13:33 2014 +0300 staging: media: lirc: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning lirc_parallel.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbc5a5b690f423ff4cde4a20d197b58bb5a18832 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Wed Sep 24 17:30:08 2014 +0530 Staging: media: lirc: Add new line after declarations This patch fixes checkpatch.pl warning in files of media/lirc WARNING : Missing a blank line after declarations Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac9080029d9acf5dbda3e4f417ea964957edb9d8 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sun Sep 28 21:25:17 2014 +0530 Staging: dgnc: Remove space before parenthesis This fixes the following checkpatch.pl error: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4e28a6142b5f5e691c4570d8808ebefec0ae6ef Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 26 23:58:40 2014 +0300 staging: dgnc: dgnc_driver.h: Remove non-standard spinlock's macros This patch removes non-standard spinlock's macros as they are no longer used by this driver. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66663dc1032e03fa2e24fae80e84d71bb99fbedb Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 26 23:58:39 2014 +0300 staging: dgnc: dgnc_driver.c: Replace non-standard spinlock's macros This patch replaces non-standard spinlock's macros. It is done using coccinelle and the following semantic patch: @@ expression x; @@ - DGNC_SPINLOCK_INIT(x) + spin_lock_init(&x) @@ expression x, y; @@ - DGNC_LOCK(x, y) + spin_lock_irqsave(&x, y) @@ expression x, y; @@ - DGNC_UNLOCK(x, y) + spin_unlock_irqrestore(&x, y) @used_by_lock exists@ typedef ulong; symbol lock_flags; position p1, p2; @@ ( ulong lock_flags@p1; | unsigned long lock_flags@p2; ) ... ( spin_lock_irqsave(..., lock_flags) | spin_unlock_irqrestore(..., lock_flags) ) @@ position used_by_lock.p1, used_by_lock.p2; @@ ( - ulong lock_flags@p1; + unsigned long flags; | - unsigned long lock_flags@p2; + unsigned long flags; ) <... - lock_flags + flags ...> Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7be869b0726b270a5702346e66f57e9886cbba6b Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 26 23:58:38 2014 +0300 staging: dgnc: dgnc_neo.c: Replace non-standard spinlock's macros This patch replaces non-standard spinlock's macros. It is done using coccinelle and the following semantic patch: @@ expression x; @@ - DGNC_SPINLOCK_INIT(x) + spin_lock_init(&x) @@ expression x, y; @@ - DGNC_LOCK(x, y) + spin_lock_irqsave(&x, y) @@ expression x, y; @@ - DGNC_UNLOCK(x, y) + spin_unlock_irqrestore(&x, y) @used_by_lock exists@ typedef ulong; symbol lock_flags; position p1, p2; @@ ( ulong lock_flags@p1; | unsigned long lock_flags@p2; ) ... ( spin_lock_irqsave(..., lock_flags) | spin_unlock_irqrestore(..., lock_flags) ) @@ position used_by_lock.p1, used_by_lock.p2; @@ ( - ulong lock_flags@p1; + unsigned long flags; | - unsigned long lock_flags@p2; + unsigned long flags; ) <... - lock_flags + flags ...> Additionally replace 'lock_flags2' with 'flags2'. This was done by hand since it had only 3 occurences and all in this file. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a44b508a32aed3a5e6af1468753886ba4d216a8c Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 26 23:58:37 2014 +0300 staging: dgnc: dgnc_tty.c: Replace non-standard spinlock's macros This patch replaces non-standard spinlock's macros. It is done using coccinelle and the following semantic patch: @@ expression x; @@ - DGNC_SPINLOCK_INIT(x) + spin_lock_init(&x) @@ expression x, y; @@ - DGNC_LOCK(x, y) + spin_lock_irqsave(&x, y) @@ expression x, y; @@ - DGNC_UNLOCK(x, y) + spin_unlock_irqrestore(&x, y) @used_by_lock exists@ typedef ulong; symbol lock_flags; position p1, p2; @@ ( ulong lock_flags@p1; | unsigned long lock_flags@p2; ) ... ( spin_lock_irqsave(..., lock_flags) | spin_unlock_irqrestore(..., lock_flags) ) @@ position used_by_lock.p1, used_by_lock.p2; @@ ( - ulong lock_flags@p1; + unsigned long flags; | - unsigned long lock_flags@p2; + unsigned long flags; ) <... - lock_flags + flags ...> Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a03d7c8cf8b244c3d66da2ce65c170013eeba56 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 26 23:58:36 2014 +0300 staging: dgnc: dgnc_mgmt.c: Replace non-standard spinlock's macros This patch replaces non-standard spinlock's macros. It is done using coccinelle and the following semantic patch: @@ expression x; @@ - DGNC_SPINLOCK_INIT(x) + spin_lock_init(&x) @@ expression x, y; @@ - DGNC_LOCK(x, y) + spin_lock_irqsave(&x, y) @@ expression x, y; @@ - DGNC_UNLOCK(x, y) + spin_unlock_irqrestore(&x, y) @used_by_lock exists@ typedef ulong; symbol lock_flags; position p1, p2; @@ ( ulong lock_flags@p1; | unsigned long lock_flags@p2; ) ... ( spin_lock_irqsave(..., lock_flags) | spin_unlock_irqrestore(..., lock_flags) ) @@ position used_by_lock.p1, used_by_lock.p2; @@ ( - ulong lock_flags@p1; + unsigned long flags; | - unsigned long lock_flags@p2; + unsigned long flags; ) <... - lock_flags + flags ...> Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42c4d46e3858caa04b99dde64ef5a82681179881 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Fri Sep 26 00:07:41 2014 +0300 staging: dgnc: Fixed white space warning. This patch fixes "please, no space before tabs" checkpatch.pl warning in digi.h Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66ae140e4707bccab14cc6415b3d1be2d138a595 Author: Esra Altintas <es.altintas@xxxxxxxxx> Date: Sat Sep 27 21:51:10 2014 +0300 staging: rts5208: Remove unnecessary else in rtsx_card.h The following patch fixes the checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Esra Altintas <es.altintas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 057c780369cbfb7cf6e3a9a5644025c911297f4f Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Fri Sep 26 20:45:29 2014 +0530 staging: rts5208: Remove unncessary return in function returning void This patch fixes checkpatch.pl warning in rtsx.c file. WARNING: void function return statements are not generally useful Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c97fbbe55cfda1273abb1b625c1cd08cc122156 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Fri Sep 26 20:37:56 2014 +0530 staging: rts5208: Add new line after declaration This patch fixes checkpatch.pl warning in file ms.c WARNING : Missing a blank line after declarations Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0be0b27dac688ee57fa9ac0556b2480bca503f27 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Thu Sep 25 02:53:54 2014 +0530 Staging: rts5208: Fix missing blank line warning This fixes the following checkpatch.pl warnings: WARNING: Missing a blank line after declarations Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02a29d2d9209ad24258432057886a5af5816c388 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Wed Sep 24 16:34:56 2014 +0530 staging: rtl8712: add new line after declarations This patch fixes checkpatch.pl warning in hal_init.c file WARNING : Missing a blank line after declarations Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be075eb6ffdca8aedbfef3f8867e330e5ee5f534 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Sat Sep 27 13:03:15 2014 -0700 staging: rtl8192ee: clean up function header formatting Reformatted function header to silence the following checkpatch.pl error: ERROR: code indent should use tabs where possible Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cc3cacf10a6a1d430e9ed2cc0fed4a0b52bdf97 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Sat Sep 27 13:03:16 2014 -0700 staging: rtl8192ee: remove unnecessary return statement This fixes the following checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18eaddefd4d156291b5a3dcc336778b67d98b531 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Sep 24 12:07:16 2014 +0530 Staging: rtl8192ee: Removed unnecessary return statement. The following patch removes the checkpatch.pl warning: WARNING: void function return statements are generally not useful. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54ca67e0859a924930ecce91f9d714edcf937f67 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Sep 24 12:06:13 2014 +0530 Staging: rtl8192ee: Fix line over 80 characters. The following patch fixes the checkpatch.pl warning: WARNING: line over 80 characters. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03c6eaa37ad7cd4838a8a6d745eb4da4db48c2f1 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 28 14:45:09 2014 +0300 staging: iio: accel: Use __be16 instead of u16 This patch fixes these warning messages found by sparse: drivers/staging/iio/accel/sca3000_ring.c:120:61: warning: incorrect type in argument 1 (different base types) drivers/staging/iio/accel/sca3000_ring.c:120:61: expected restricted __be16 const [usertype] *p drivers/staging/iio/accel/sca3000_ring.c:120:61: got unsigned short [usertype] * Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bd7e245ea46dac4defdbed873c1cebe6c1e9c80 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Sep 25 20:09:11 2014 +0300 staging: iio: light: Add a blank line after declarations This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10b2e445aa31c6e4118bbb928d76f1f7a6431402 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Sep 25 20:09:10 2014 +0300 staging: iio: light: Remove space before function pointer arguments This fixes the following checkpatch.pl warning: WARNING: Unnecessary space before function pointer arguments Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad3e646c5b7fcc485a574f4523cb7bf2077ef1a3 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Sep 25 20:09:09 2014 +0300 staging: iio: light: Fix quoted string split across lines This fixes the following checkpatch.pl warning: WARNING: quoted string split across lines Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3f883b411ae77455862a12b1d37e277ce80a4c3 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Sep 25 16:58:07 2014 +0300 staging: iio: Add #include guards to header files This patch adds #include guards in order to make the header files idempotent. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da96aecdc59d086926d49becd981acab8d98bb9a Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Sep 25 16:09:57 2014 +0530 Staging: iio: Remove unnecessory immediate else after return statement This patch fixes following checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7bf6513eeb51d1ae0a2a9b820368c13e55f44835 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Thu Sep 25 10:36:20 2014 +0300 staging: iio: frequency: remove unnecessary semicolon This fixes the checkpatch.pl warning: WARNING: macros should not use a trailing semicolon Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6077f4397626467ba1838716952807785adc835 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Wed Sep 24 23:13:21 2014 +0300 Staging: iio: light: Missing a blank line after declarations This patch fixes these warning messages found by checkpatch.pl: WARNING : Missing a blank line after declarations. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 580885415effd2bc661a2e00de0f9fa540c8fa13 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Wed Sep 24 18:18:43 2014 +0300 staging: iio: frequency: add new line after declarations This fixes the checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb49a0f9b784d5ea872bf5fad8cf8964e243a216 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Sep 24 17:16:54 2014 +0530 Staging: iio: adc: Use usleep_range instead of msleep This patch fixes following checkpatch.pl warning: WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b4f3752435a15a00086d38eca136934abdb99fd Author: Esra Altintas <es.altintas@xxxxxxxxx> Date: Sat Sep 27 12:39:26 2014 +0300 staging: bcm: Fix line 80 characters in Adapter.h The following patch fixes the checkpatch.pl warning: WARNING: line over 80 characters Signed-off-by: Esra Altintas <es.altintas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fb591632c36d46d0ca2bd147db59068ff4345e1 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Sun Sep 28 14:40:19 2014 +0300 staging: bcm: Fix quoted string split across lines warning The following patch the checkpatch.pl warning: drivers/staging/bcm/InterfaceIdleMode.c:215: warning:quoted string split across lines Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7557b6e17215623f9e887e3815d447bb4dc4083f Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Wed Sep 24 14:27:36 2014 -0700 staging: imx-drm: Don't put an else right after a return This fixes the following checkpatch.pl warning: WARNING: else is not generally useful after a break or return. Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8684ba72fa39c424ab788364992f377ef2d96676 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Sep 27 16:16:02 2014 +0300 staging: imx-drm: Array was made static const char * const This patch fixes checkpatch.pl error in file imx-tve.c WARNING: static const char * array should probably be static const char * const Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1da2a44bf8615ab40e5d4f7408b873385b6beee0 Author: Rahul Garg <rahul.lnmiit@xxxxxxxxx> Date: Thu Sep 25 07:16:59 2014 +0530 patch "staging: rtl8723au: os_dep: declared cfg80211_infrastructure_mode static Declared cfg80211_infrastructure_mode method static to remove sparse warning Signed-off-by: Rahul Garg <rahul.lnmiit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1c571dcf01e8f90df31a1f5edc772cc5dde891a Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Fri Sep 26 00:30:49 2014 -0700 staging: lustre: fix gfp_t/int coercion Fix a few implicit casts between int and gfp_t which were caught by sparse. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d3ab8cc684cda4058959d91ed42735d9d605d61 Author: Ramon Fried <ramon.fried@xxxxxxxxx> Date: Thu Sep 25 21:05:06 2014 +0300 staging: lustre: llite_lib.c Set ll_md_setattr function to be static This fixes the following sparse warning: llite_lib.c:1240:5: warning: symbol 'll_md_setattr' was not declared. Should it be static? Signed-off-by: Ramon Fried <ramon.fried@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80190ca3e17dc804ccf0a41580993563f136bcab Author: Mathieu OTHACEHE <m.othacehe@xxxxxxxxx> Date: Wed Sep 24 17:32:04 2014 +0200 staging: rtl8821ae: fix sparse warning for static declarations This patch fixes the following sparse warnings: drivers/staging/rtl8821ae/pci.c:52:4: warning: symbol '_rtl_mac_to_hwqueue' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:365:6: warning: symbol 'rtl_pci_check_buddy_priv' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:409:6: warning: symbol 'rtl_pci_get_linkcontrol_field' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:1748:6: warning: symbol 'rtl_pci_deinit' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:1763:5: warning: symbol 'rtl_pci_init' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:1780:5: warning: symbol 'rtl_pci_start' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:1814:6: warning: symbol 'rtl_pci_stop' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:2105:21: warning: symbol 'hw_export' was not declared. Should it be static? Signed-off-by: Mathieu OTHACEHE <m.othacehe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 348fecd2a2fdab4fa4e1a07d85a28a50f44c49d9 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 10:42:18 2014 -0400 staging: ozwpan: Remove typedefs As these typedefs are only used once, there is no real need for them. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae66475289d13ef724cd5a523a4a5ce42e81582b Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Sat Sep 27 10:52:37 2014 +0200 staging : android : sync : get_unused_fd sync.h recommends to use get_unused_fd which does not set O_CLOEXEC while the rest of the android tree uses get_unused_fd_flags and sets O_CLOEXEC. The patch adjust the comment. Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20187a7b69b22729d7ff300c24d14cf3e0a22c0f Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 24 09:54:42 2014 +0100 staging: et131x: Remove unnecessary parentheses Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 177e882ee8d4ecb8beccbf6004e169aa2c86bb2b Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 24 09:54:41 2014 +0100 staging: et131x: Remove unnecessary OOM message Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4aae620e3252b587500b6e4ff60971ffb240536 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 24 09:54:40 2014 +0100 staging: et131x: Cat some lines less than 80 columns Some split lines are less than 80 chars if rejoined, so rejoin them. Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37dcca4364d526594dc183b96dc09102043fd48e Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 24 09:54:39 2014 +0100 staging: et131x: Use ether_addr_copy when copying ethernet addresses Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb50564258b5414d434a383ea6b02443521eb5ce Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Wed Sep 24 16:48:14 2014 +0530 USB: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Reviewed-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 586af079386fc78719314800bb7741d736cd442f Author: Scot Doyle <lkml14@xxxxxxxxxxxxx> Date: Thu Sep 25 15:16:48 2014 +0000 usb: core: log higher level message on malformed LANGID descriptor Commit 0cce2eda19923e5e5ccc8b042dec5af87b3ffad0 USB: fix LANGID=0 regression defaults to a langid of 0x0409 if it's not properly implemented by the device. Explain with a higher level error message what this means. Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0efe72963409739778e93d8e2046305bc8310e83 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Sep 15 17:22:51 2014 -0700 tty: serial: msm: Add earlycon support Add support for DT based and command line based early console on platforms with the msm serial hardware. Cc: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a86713b1536c818972675e6dd8c6e738f0379f1d Author: Sudhir Sreedharan <ssreedharan@xxxxxxxxxx> Date: Mon Sep 22 12:00:22 2014 +0530 serial/core: Initialize the console pm state For console devices having UART_CAP_SLEEP capability, the uart_pm_state has to be initialized to UART_PM_STATE_ON. Otherwise the LCR regiser values are reinitialized when uart_change_pm is called from uart_configure_port. Signed-off-by: Sudhir Sreedharan <ssreedharan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daea65a7be76953bb80d13d0ac43e7441fd42cdf Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Tue Sep 23 08:31:30 2014 +0100 serial: asc: Conditionally use readl_relaxed (COMPILE_TEST) Commit 08177ece596c ("serial: asc: Adopt readl_/writel_relaxed()) is regressing the m68k allmodconfig build. This is due to the unconditional use of readl_relaxed() which, although documented, does not currently exist for m68k. This is trivially fixable for st-asc because we can just update the asc_in() accessor to make this conditional. Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2dea53bf57783f243c892e99c10c6921e956aa7e Author: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Date: Tue Sep 23 16:34:12 2014 +0800 serial: of-serial: add PM suspend/resume support This adds PM suspend/resume support for the of-serial driver to provide power management support on devices attatched to it. Signed-off-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c8faf3d652b6b2dffc29e48d968349bd16aa32f Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 14 11:42:11 2014 +0200 m68k: AMIGA_BUILTIN_SERIAL should depend on TTY If CONFIG_TTY=n: drivers/built-in.o: In function `rs_flush_buffer': amiserial.c:(.text+0x1f626): undefined reference to `tty_wakeup' drivers/built-in.o: In function `transmit_chars': amiserial.c:(.text+0x1f6c8): undefined reference to `tty_wakeup' drivers/built-in.o: In function `change_speed': amiserial.c:(.text+0x1f80a): undefined reference to `tty_termios_baud_rate' amiserial.c:(.text+0x1f88c): undefined reference to `tty_termios_baud_rate' drivers/built-in.o: In function `check_modem_status': amiserial.c:(.text+0x1faa6): undefined reference to `tty_hangup' amiserial.c:(.text+0x1faec): undefined reference to `tty_wakeup' drivers/built-in.o: In function `get_serial_info': amiserial.c:(.text+0x1fb88): undefined reference to `tty_lock' amiserial.c:(.text+0x1fbc0): undefined reference to `tty_unlock' drivers/built-in.o: In function `rs_open': amiserial.c:(.text+0x1fdc6): undefined reference to `tty_port_block_til_ready' drivers/built-in.o: In function `set_serial_info': amiserial.c:(.text+0x1fe0c): undefined reference to `tty_lock' amiserial.c:(.text+0x1fea0): undefined reference to `tty_unlock' amiserial.c:(.text+0x1fed0): undefined reference to `tty_unlock' amiserial.c:(.text+0x1ffaa): undefined reference to `tty_unlock' drivers/built-in.o: In function `receive_chars': amiserial.c:(.text+0x2005c): undefined reference to `do_SAK' amiserial.c:(.text+0x200e0): undefined reference to `tty_insert_flip_string_flags' amiserial.c:(.text+0x2013c): undefined reference to `tty_insert_flip_string_flags' amiserial.c:(.text+0x20148): undefined reference to `tty_flip_buffer_push' drivers/built-in.o: In function `rs_close': amiserial.c:(.text+0x20744): undefined reference to `tty_port_close_start' amiserial.c:(.text+0x2078a): undefined reference to `tty_ldisc_flush' amiserial.c:(.text+0x20798): undefined reference to `tty_port_close_end' drivers/built-in.o: In function `amiga_serial_probe': amiserial.c:(.init.text+0x96a): undefined reference to `__tty_alloc_driver' amiserial.c:(.init.text+0x9c0): undefined reference to `tty_std_termios' amiserial.c:(.init.text+0x9e6): undefined reference to `tty_set_operations' amiserial.c:(.init.text+0xa3e): undefined reference to `tty_port_init' amiserial.c:(.init.text+0xa5c): undefined reference to `tty_port_link_device' amiserial.c:(.init.text+0xa6c): undefined reference to `tty_register_driver' amiserial.c:(.init.text+0xb4a): undefined reference to `tty_unregister_driver' amiserial.c:(.init.text+0xb58): undefined reference to `tty_port_destroy' amiserial.c:(.init.text+0xb64): undefined reference to `put_tty_driver' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 195311761e5492afdb2ab0454f51223bc75649dd Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Fri Sep 19 09:18:13 2014 +0200 asm/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on all the archs. Unfortunately the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3f43eec80d54088fd9f02b223a1f972c5968110 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Sep 12 23:15:22 2014 +0100 tty/metag_da: Add console_poll module parameter Currently the metag_da console channel is write only, it doesn't get polled for incoming data. This is for performance & latency reasons as polling blocks the processor for a significant amount of time waiting for the JTAG probe to respond to the request and restart the thread. This means that the console channel cannot be used for a login prompt, so ttyDA2 is usually used instead. In a virtual environment with a virtual DA such as QEMU however the polling is much cheaper as the request can be handled immediately. It is useful to be able to enable polling in such an environment in order to get both the kernel log and a usable login prompt on the same DA channel. Add a console_poll module parameter which allows polling to be enabled for the console channel. It defaults to off as that is the current behaviour for good reason on real hardware. It can be enabled by appending metag_da.console_poll to the kernel command line. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 716e115cd7f75e3ab717f467432fd4b8cd23ee2c Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Thu Sep 11 15:26:12 2014 +0300 serial: 8250_pci: remove rts_n override from Baytrail quirk It should not be used together with Auto Flow Control, and Auto Flow Control is always enabled on Baytrail. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fa62fc46e10f34aed70d2cfcf573ba8d3833e18 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Sep 10 12:43:02 2014 +0200 serial: cadence: Add generic earlycon support Add earlycon support for the cadence serial port. This is based on recent patches: "tty/serial: pl011: add generic earlycon support" (sha1: 0d3c673e7881e691991b2a4745bd4f149603baa2) "tty/serial: add arm/arm64 semihosting earlycon" (sha1: d50d7269ebcb438afa346cdffce0f4e2a1b9e831) Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4688bcd34bd2f4fe7fb88856c85d3091270ab53 Author: Huang Shijie <shijie8@xxxxxxxxx> Date: Fri Sep 19 15:42:57 2014 +0800 serial: imx: change the wait even to interruptiable The wait_event() makes the application hang for ever in the following case: [1] the hardware flow control is enabled. [2] the other end (or the remote end) is terminated, and the TX is still waiting for the hardware flow control signal to become asserted. This patch fixes it by changing the wait_event to wait_event_interruptible. Signed-off-by: Huang Shijie <shijie8@xxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45564a6656b4944fa90aabd59f8ec082e8f7a969 Author: Huang Shijie <shijie8@xxxxxxxxx> Date: Fri Sep 19 15:33:12 2014 +0800 serial: imx: terminate the RX DMA when the UART is suspending When the uart port is suspending, the RX data is useless. So in this case, we can terminate the RX DMA right now. Signed-off-by: Huang Shijie <b32955@xxxxxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb2f861ad00fc09dab955d22280c51cead795bca Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Fri Sep 19 15:26:40 2014 +0800 serial: imx: fix throttle/unthrottle callbacks for hardware assisted flow control when the 'CTSC' bit is negated. 'CTS' has no function when 'CTSC' is asserted. 0: The CTS pin is high (inactive) 1: The CTS pin is low (active) For throttle, it needs to clear 'CTS' and 'CTSC' bits. For unthrottle, it needs to enable 'CTS' and 'CTSC' bits. The patch just fix the issue. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Huang Shijie <shijie8@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ede7dcca3c4fa15a518ab0473126f9c3e621e4c Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Tue Sep 23 01:21:11 2014 +0100 serial: 8250: Add Quark X1000 to 8250_pci.c Quark X1000 contains two designware derived 8250 serial ports. Each port has a unique PCI configuration space consisting of BAR0:UART BAR1:DMA respectively. Unlike the standard 8250 the register width is 32 bits for RHR,IER etc The Quark UART has a fundamental clock @ 44.2368 MHz allowing for a bitrate of up to about 2.76 megabits per second. This patch enables standard 8250 mode Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13d6ceb4c4fe1e9688e19b15b123b1830c596cf1 Author: Frans Klaver <frans.klaver@xxxxxxxxx> Date: Wed Sep 24 09:55:22 2014 +0200 tty: omap-serial: pull out calculation from baud_is_mode16 To determine the correct divisor, we need to know the difference between the desired baud rate and the actual baud rate. The calculation for this difference is implemented twice within omap_serial_baud_is_mode16(). Pull out the calculation for easier maintenance. While at it, remove the CamelCasing from the variable names. Signed-off-by: Frans Klaver <frans.klaver@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc3187564e61260f49eceb21a4e7eb5e4428e90a Author: Frans Klaver <frans.klaver@xxxxxxxxx> Date: Thu Sep 25 11:19:51 2014 +0200 tty: omap-serial: fix division by zero If the chosen baud rate is large enough (e.g. 3.5 megabaud), the calculated n values in serial_omap_is_baud_mode16() may become 0. This causes a division by zero when calculating the difference between calculated and desired baud rates. To prevent this, cap the n13 and n16 values on 1. Division by zero in kernel. [<c00132e0>] (unwind_backtrace) from [<c00112ec>] (show_stack+0x10/0x14) [<c00112ec>] (show_stack) from [<c01ed7bc>] (Ldiv0+0x8/0x10) [<c01ed7bc>] (Ldiv0) from [<c023805c>] (serial_omap_baud_is_mode16+0x4c/0x68) [<c023805c>] (serial_omap_baud_is_mode16) from [<c02396b4>] (serial_omap_set_termios+0x90/0x8d8) [<c02396b4>] (serial_omap_set_termios) from [<c0230a0c>] (uart_change_speed+0xa4/0xa8) [<c0230a0c>] (uart_change_speed) from [<c0231798>] (uart_set_termios+0xa0/0x1fc) [<c0231798>] (uart_set_termios) from [<c022bb44>] (tty_set_termios+0x248/0x2c0) [<c022bb44>] (tty_set_termios) from [<c022c17c>] (set_termios+0x248/0x29c) [<c022c17c>] (set_termios) from [<c022c3e4>] (tty_mode_ioctl+0x1c8/0x4e8) [<c022c3e4>] (tty_mode_ioctl) from [<c0227e70>] (tty_ioctl+0xa94/0xb18) [<c0227e70>] (tty_ioctl) from [<c00cf45c>] (do_vfs_ioctl+0x4a0/0x560) [<c00cf45c>] (do_vfs_ioctl) from [<c00cf568>] (SyS_ioctl+0x4c/0x74) [<c00cf568>] (SyS_ioctl) from [<c000e480>] (ret_fast_syscall+0x0/0x30) Signed-off-by: Frans Klaver <frans.klaver@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb498df0787db0fb10a4a2cf91d0d3da13cc18f7 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Tue Aug 12 10:05:22 2014 +0100 xen_hvc: no reason to write the type key on xenstore The backend type is chosen by the toolstack. Regardless, the frontend should not care, especially given that it cannot have an effect as the backend is started before this code is run. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf3167cf1e969b17671a4d3d956d22718a8ceb85 Author: Antti Palosaari <crope@xxxxxx> Date: Fri Sep 26 22:45:36 2014 -0300 [media] pt3: fix DTV FE I2C driver load error paths Get rid of 'module_is_live' usage. on x86_64: when CONFIG_MODULES is not enabled: ../drivers/media/pci/pt3/pt3.c: In function 'pt3_attach_fe': ../drivers/media/pci/pt3/pt3.c:433:6: error: implicit declaration of function 'module_is_live' [-Werror=implicit-function-declaration] Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Akihiro Tsukada <tskd08@xxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bd438f825f7badafe56d117ed906488c8541f95f Merge: 2f43bbd b972d07 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Sep 29 10:52:44 2014 +1000 Merge branch 'xfs-sparse-fixes' into for-next commit b972d0797180d8414351d9dc8ff65071c692d058 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 10:46:22 2014 +1000 xfs: annotate user variables passed as void Some argument callbacks can contain user buffers, and sparse warns about passing them as void pointers. Cast appropriately to remove the sparse warnings. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e3aed1a08190c038c4ea41b73ea6f07bc0e3290c Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 10:46:08 2014 +1000 xfs: xfs_kset should be static As it is accessed through the struct xfs_mount and can be set up entirely from fs/xfs/xfs_super.c Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit bf1ed3833078e3bb0ba8cd03468090b9359d0912 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 10:43:40 2014 +1000 xfs: xfs_qm_dquot_isolate needs locking annotations for sparse To remove noise from the build. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e68ed77521f695d165cbae070f6dda8a4778438f Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Sep 29 10:43:15 2014 +1000 xfs: fix use of agi_newino in finobt lookup Sparse warns that we are passing the big-endian valueo f agi_newino to the initial btree lookup function when trying to find a new inode. This is wrong - we need to pass the host order value, not the disk order value. This will adversely affect the next inode allocated, but given that the free inode btree is usually much smaller than the allocated inode btree it is much less likely to be a performance issue if we start the search in the wrong place. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2f43bbd96e43d0b85803f5092be94bbb92d8eac9 Merge: 33044dc b818cca Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Sep 29 10:00:24 2014 +1000 Merge branch 'xfs-trans-recover-cleanup' into for-next commit 867f667fb9c6734e06cc24e96fc7f06a7e772084 Merge: e1ce5c7 fb0eee2 Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Sep 29 01:59:51 2014 +0200 Merge tag 'renesas-clocksource-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into clockevents/3.18 Renesas Clocksource Updates for v3.18 * Document per-SoC bindings Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit e1ce5c7adc735ce96a35806ca32ceb78e607a283 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Mon Sep 29 01:50:06 2014 +0200 clocksource: arm_arch_timer: Consolidate arch_timer_evtstrm_enable The arch_timer_evtstrm_enable hooks in arm and arm64 are substantially similar, the only difference being a CONFIG_COMPAT-conditional section which is relevant only for arm64. Copy the arm64 version to the driver, removing the arch-specific hooks. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit 8b8dde00347ef409b29abd97e5833ffdb4ed7508 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Mon Sep 29 01:50:06 2014 +0200 clocksource: arm_arch_timer: Enable counter access for 32-bit ARM The only difference between arm and arm64's implementations of arch_counter_set_user_access is that 32-bit ARM does not enable user access to the virtual counter. We want to enable this access for the 32-bit ARM VDSO, so copy the arm64 version to the driver itself, and remove the arch-specific implementations. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit 423bd69e69f565167ba14e2fe61df76c3c4a0d26 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Mon Sep 29 01:50:06 2014 +0200 clocksource: arm_arch_timer: Change clocksource name if CP15 unavailable The arm and arm64 VDSOs need CP15 access to the architected counter. If this is unavailable (which is allowed by ARM v7), indicate this by changing the clocksource name to "arch_mem_counter" before registering the clocksource. Suggested by Stephen Boyd. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit 28cf35675a66947b20731f6acbc9d5b131930ce3 Author: Hao Liu <Hao.Liu@xxxxxxx> Date: Mon Sep 29 01:50:06 2014 +0200 clocksource: sirf: Disable counter before re-setting it According to HW spec, we have to disable the counter before setting it, if we don't this, in pressure test, sometimes the timer might not generate interrupt any more. And this patch also fixes a typo for register set by changing 0x7 to 0x3. 0x7 is loop mode in HW, but here we are using oneshot 0x3. Signed-off-by: Hao Liu <Hao.Liu@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 4e2bec0c327025671c1ec2101660e8fea29d9d89 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 clocksource: cadence_ttc: Add support for 32bit mode New TTCs support 32bit mode. Older versions support only 16bit modes. Keep 16bit mode as default and 32bit optional. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit e803d4bd31184b301a54352bb2c1a3fa93f80154 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Sep 26 19:40:16 2014 +0200 m68k: Fix typo 'COFNIG_MBAR' Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 2743f1beb0d31be9f59b6fc84f755fb4e173df4d Author: Gael Portay <gael.portay@xxxxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 clocksource: tcb_clksrc: Sanitize IRQ request The clock is not unprepared in case of the request IRQ fails. Also update to request_irq. Signed-off-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit c387f07e6205cc13f57c1def5f885bf0a20e1c2d Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 clocksource: arm_arch_timer: Discard unavailable timers correctly Currently we wait until both cp15 and mem timers are probed if we have both timer device nodes present in the device tree without checking if the device is actually available. If one of the timer device node present is disabled, the system locks up on the boot as no timer gets registered. This patch adds the check for the availability of the timer device so that unavailable timers are discarded correctly. It also adds the missing of_node_put. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 04f7e3e5134b9517bd9a78a84a9ee0f982d3ebdd Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 clocksource: vf_pit_timer: Support shutdown mode In order to avoid waking up the system in a low power mode, the clocksource should not generate interrupts anymore. Disable the PIT timer interrupt when changing into the CLOCK_EVT_MODE_SHUTDOWN mode. [dlezcano] : remove superfluous empty line Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> commit e4a6b378751fa8934c691816da1423e849059fad Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 ARM: meson6: clocksource: Add Meson6 timer support Meson6 SoCs are equipped with 5 32-bit timers, called TIMER_A, TIMER_B, TIMER_C, TIMER_D and TIMER_E. The driver is providing clocksource support for the 32-bit counter using TIMER_E. Clockevents are also supported using TIMER_A. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 66b2e373b3092ee8b1131c790074e7eb20ed1545 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 ARM: meson: documentation: Add timer documentation Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit b818cca1976d1a01754033ac08724e05d07cce8f Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 09:45:54 2014 +1000 xfs: refactor recovery transaction start handling Rework the transaction lookup and allocation code in xlog_recovery_process_ophdr() to fold two related call-once helper functions into a single helper. Then fold in all the XLOG_START_TRANS logic to that helper to clean up the remaining logic in xlog_recovery_process_ophdr(). Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 76560669868d3b4d650d91d9bf467a8d81171766 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 09:45:42 2014 +1000 xfs: reorganise transaction recovery item code The code for managing transactions anf the items for recovery is spread across 3 different locations in the file. Move them all together so that it is easy to read the code without needing to jump long distances in the file. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 88b863db97a18a04c90ebd57d84e1b7863114dcb Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 09:45:32 2014 +1000 xfs: fix double free in xlog_recover_commit_trans When an error occurs during buffer submission in xlog_recover_commit_trans(), we free the trans structure twice. Fix it by only freeing the structure in the caller regardless of the success or failure of the function. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e9131e50f9d0a632e3011d73f283ba69be0cc682 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 09:45:18 2014 +1000 xfs: recovery of XLOG_UNMOUNT_TRANS leaks memory The XLOG_UNMOUNT_TRANS case skips the transaction, despite the fact an unmount record is always in a standalone transaction. Hence whenever we come across one of these we need to free the transaction structure associated with it as there is no commit record that follows it. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit eeb1168810d8a140f6834f8c4975f7bb3277d790 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 09:45:03 2014 +1000 xfs: refactor xlog_recover_process_data() Clean up xlog_recover_process_data() structure in preparation for fixing the allocation and freeing context of the transaction being recovered. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f89487adce94b18e6f570ffbdf6c46f69525ebeb Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Sep 18 15:16:01 2014 +1000 m68knommu: add missing ioport_map() and ioport_unmap() Add the missing ioport_map() and ioport_unmap() functions for the non-MMU platforms. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 1089c552fb50a4693bddb6ec00e58d4e7998ce55 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 16 20:43:33 2014 +0200 m68k/coldfire: remove second asm/mcfclk.h inclusion in m54xx.c asm/mcfclk.h was included twice. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit ecb6bdcde2474c8c954179b74fd3df3ad84fba75 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Aug 28 14:39:45 2014 +1000 m68knommu: fix size of address field for 5272 interrupt controller Picked up by the 0-day buidler: All warnings: >> arch/m68k/coldfire/intc-5272.c:46:20: warning: large integer implicitly truncated to unsigned type [-Woverflow] /*MCF_IRQ_EINT1*/ { .icr = MCFSIM_ICR1, .index = 28, .ack = 1, }, ... The problem stems from the changes to make all ColdFire register addresses absolute, in commit d72a5abb ("make remaining ColdFire 5272 register definitions absolute"). That change did not take into account that the addresses were stored as offsets in the irqmap of the intc-5272.c code. Make the field that now stores register addresses big enough to hold addresses. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 6f4a8856e084fbeae226ef52de1fc4f8d2c68765 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Aug 21 22:10:31 2014 +1000 m68k: fix crufty 68000 and 68360 intro comments Quite a few of the non-mmu specific support files have a pathname in the title comments of the file. These files have moved around a bit over the years, and most are no longer accurate. Remove the pathname and fix the comments to include at least a short description of the files contents. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit d3a887ccba63694bb3f5a7083ccc85c7ad116a08 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Aug 21 22:03:35 2014 +1000 m68k: remove the unused arch/m68k/platform directory The non-mmu platform/machine directories have been move up one level. We no longer need arch/m68k/platform, or its Makefile, so remove them. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 3ba885f524b9cca1f0975e7bf00eddb275407b74 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Aug 21 22:02:10 2014 +1000 m68k: move non-mmu 68360 platform code The non-mmu 68360 specific code is inconsistently placed under a directory named "platform". Move it to arch/m68k/ along with the other platform and board directories. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 18cb3faf6fc72ccfc2965aeec9e04fa7b0047c4c Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Aug 21 21:53:51 2014 +1000 m68k: move non-mmu 68000 platform code The non-mmu 68000 specific code is inconsistently placed under a directory named "platform". Move it to arch/m68k/ along with the other platform and machine directories. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit ece9ae6515727d56ca21a8c925965b731a88b43b Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Tue Aug 19 11:55:24 2014 +1000 m68k: fix crufty ColdFire intro comments Quite a few of the ColdFire specific support files have a pathname in the title comments of the file. These files have moved around a bit over the years, and most are no longer accurate. Remove the pathname and fix the comments to include at least a short description of the files contents. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit f86b9e03837beafb4b48d53a76ee4b88559226de Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Tue Aug 19 11:39:09 2014 +1000 m68k: move coldfire platform code Move the m68k ColdFire platform support code directory to be with the existing m68k platforms. Although the ColdFire is not a platform as such, we have always kept all its support together. No reason to change that as this time. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 32f1b7c8352fd33d41bcec3cfb054ccdcfd40a42 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Sep 28 22:36:54 2014 +0200 mtd: move support for struct flash_platform_data into m25p80 This "type" seems to be an extra hint for m25p80 about the flash. Some archs register flash_platform_data with "name" set to "m25p80" and then with a real flash name set in "type". It seems to be a trick specific to the m25p80 so let's move it out of spi-nor. Btw switch to the spi_nor_match_id instead of iterating spi_nor_ids. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 68f6a7c6c9817f2e6a66b59893de3c901ae5608c Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 25 12:06:05 2014 -0700 net_sched: fix another regression in cls_tcindex Clearly the following change is not expected: - if (!cp.perfect && !cp.h) - cp.alloc_hash = cp.hash; + if (!cp->perfect && cp->h) + cp->alloc_hash = cp->hash; Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02c5e84413dae4aa650536097d4195a356217d3d Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 25 12:06:04 2014 -0700 net_sched: fix errno in tcindex_set_parms() When kmemdup() fails, we should return -ENOMEM. Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c01035f174a021737c30c8e71798c4f83dc6b8a9 Merge: 825bae5 e553ec3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 17:32:16 2014 -0400 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== cxgb4: Use new BAR2 GTS for T5, adds adaptive rx and few Device ID's This patch series adds support to use new BAR2 GTS for T5 adapter. Adds support for adaptive rx. Remove redundant variable from a macro of cxgb4vf driver. Adds Device ID for new adapters. The patches series is created against 'net-next' tree. And includes patches on cxgb4 and cxgb4vf driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e553ec3ff95ad8ad0176939e9b5c195dc97e3689 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Sep 26 00:23:55 2014 +0530 cxgb4: Add support for adaptive rx Based on original work by Kumar Sanghvi <kumaras@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91c04a9eb3a9b7e340a59446989263bfe31aee62 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Sep 26 00:23:54 2014 +0530 cxgb4/cxgb4vf: Add Devicde ID for two more adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b961f9a48844ecf33fa687bcb0cd7c6a33de7b5d Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Sep 26 00:23:53 2014 +0530 cxgb4vf: Remove superfluous "idx" parameter of CH_DEVICE() macro. Remove redundant idx parameter of CH_DEVICE() macro, its always zero. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d63a6dcf06cb3e6f3d08d79ba23603b03828650e Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Sep 26 00:23:52 2014 +0530 cxgb4: Use BAR2 Going To Sleep (GTS) for T5 and later. Use BAR2 GTS for T5. If we are on T4 use the old doorbell mechanism; otherwise ue the new BAR2 mechanism. Use BAR2 doorbells for refilling FL's. Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 825bae5d97d351ddf9720400df133fc4b1bc6a13 Author: Rick Jones <rick.jones2@xxxxxx> Date: Thu Sep 25 10:55:28 2014 -0700 arp: Do not perturb drop profiles with ignored ARP packets We do not wish to disturb dropwatch or perf drop profiles with an ARP we will ignore. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18d0264f630e200772bf236ac5747c47e908501e Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 25 10:26:37 2014 -0700 net_sched: remove the first parameter from tcf_exts_destroy() Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim <hadi@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5804283d7cb1da46485950d545dd7869137dcda5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Sep 25 07:17:49 2014 -0700 mlx4: exploit skb->xmit_more to conditionally send doorbell skb->xmit_more tells us if another skb is coming next. We need to send doorbell when : xmit_more is not set, or txqueue is stopped (preventing next skb to come immediately) Tested with a modified pktgen version, I got a 40% increase of throughput. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8404ce5ae7a6054322afb5aa77cefe3ad54475e Merge: 18c565e df35d28 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 17:24:32 2014 -0400 Merge branch 'r8152' Hayes Wang says: ==================== r8152: support setting eee by ethtool Modify some definitions about EEE, and add the support of setting the EEE through ethtool. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df35d283e5a98b654a06301c5668fe85ab538452 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Sep 25 20:54:02 2014 +0800 r8152: support ethtool eee Support get_eee() and set_eee() of ethtool_ops. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d24f6134c76fa4d1ad14520a87371952fbd10304 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Sep 25 20:54:01 2014 +0800 r8152: add functions to set EEE Add functions to enable EEE and set EEE advertisement. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c4a6b1b85095e0fcee36f2fd2acc7d7cd9e0699 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Sep 25 20:54:00 2014 +0800 r8152: change the EEE definition Replace the EEE definitions with the ones which is declared in "mdio.h". Chage some definitions to make them readable. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18c565eb410307f9eefbef7c9021c7a75d8a2408 Merge: f5c7e1a b98dfaf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 17:22:21 2014 -0400 Merge branch 'defxx-next' Maciej W. Rozycki says: ==================== defxx: DEFEA fixes and updates I have finally got my hands on an EISA variation of the board (DEC FDDIcontroller/EISA aka DEFEA) and was able to do some testing. Here are initial updates to the driver that address problems I encountered so far. More to come later on as I get back to the system that I have in a remote location -- I need to double-check MMIO support and see what might have been causing spurious interrupts I saw with the 8259A PIC the board's interrupt line has been routed to. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b98dfaf2b0a3e72fa5967dafb4f246442584a780 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Thu Sep 25 11:06:55 2014 +0100 defxx: DEFEA's ESIC port I/O decoding cleanup Use the slot-specific I/O range for decoding accesses to PDQ ASIC registers (IOCS0) and the discrete Burst Holdoff register (IOCS1) as per the "HD64981F EISA Slave Interface Controller (ESIC)" datasheet. Use disjoint decode ranges now that the assignment of chip selects is known. Update the span of the port I/O resource requested accordingly. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1a6d3ecf806457d3e76ac0044db424be3c9422d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Thu Sep 25 11:06:45 2014 +0100 defxx: DEFEA's Burst Holdoff register initialization fix Use the mask rather than bit number macro to initialize the chip select control bit for PDQ register space decoding in the Burst Holdoff register. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a189f1288b654e45f2ec9393abfb1390b261ae9 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Thu Sep 25 11:06:39 2014 +0100 defxx: Correct DEFEA's ESIC port I/O accesses Reverse the order of arguments to `outb', data to write comes first. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5c7e1a47aeca2b31106aa94e7f4daa218e6c478 Merge: fe2c5fb 689f1c9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 17:19:15 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next Steffen Klassert says: ==================== pull request (net-next): ipsec-next 2014-09-25 1) Remove useless hash_resize_mutex in xfrm_hash_resize(). This mutex is used only there, but xfrm_hash_resize() can't be called concurrently at all. From Ying Xue. 2) Extend policy hashing to prefixed policies based on prefix lenght thresholds. From Christophe Gouault. 3) Make the policy hash table thresholds configurable via netlink. From Christophe Gouault. 4) Remove the maximum authentication length for AH. This was needed to limit stack usage. We switched already to allocate space, so no need to keep the limit. From Herbert Xu. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57cf26c1b28572976c57f6dec9818be38bf37cbb Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Aug 17 11:27:26 2014 +0200 mtd: spi-nor: add Kconfig option to disable 4K sectors Current situation with 4K sectors is quite messy. First of all, some MTD "users" don't work with such small size. An example may be UBIFS which requires 15 KiB erase blocks as a minimum. In theory spi-nor should provide multiple erase regions and MTD "users" should use the one they need. Unforunately that is not implemented. In the result our flashes database in spi-nor is hackish. For some flashes we pretend they don't support 4K sectors just because some distribution uses UBIFS on it. This ofc leads to conflicts, like Samsung using w25q128 with 4K sectors vs. OpenWrt requiring it to pretend it's 64 KiB blocks only. My idea (plan?) for fixing this situation: 1) Use real hw info (this requires a way for disabling 4K for now) 2) Provide detailed info about erase regions 3) Make UBIFS work with devices that support 4K sectors Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fe2c5fb1ef24e97b7cf96e24200bbe503286cb95 Merge: 155c6e1 450b05c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 17:14:15 2014 -0400 Merge branch 'dsa_eee' Florian Fainelli says: ==================== net: dsa: EEE and other PM features This patch set allows DSA switch drivers to enable/disable/query EEE on a per-port level, as well as control precisely which switch ports are enable/disabled. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 450b05c15f9c776996f9627c7b4f1d38b6e6f4a0 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:22 2014 -0700 net: dsa: bcm_sf2: add support for controlling EEE When EEE is enabled, negotiate this feature with the PHY and make sure that the capability checking, local EEE advertisement, link partner EEE advertisement and auto-negotiation resolution returned by phy_init_eee() is positive, and enable EEE at the switch level. While querying the current EEE settings, verify the low-power indication and indicate its status. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7905288f093ad924004609bb89a7ce1597892726 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:21 2014 -0700 net: dsa: allow switches driver to implement get/set EEE Allow switches driver to query and enable/disable EEE on a per-port basis by implementing the ethtool_{get,set}_eee settings and delegating these operations to the switch driver. set_eee() will need to coordinate with the PHY driver to make sure that EEE is enabled, the link-partner supports it and the auto-negotiation result is satisfactory. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6d045db59210476323caef042c5b50884e4675f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:20 2014 -0700 net: dsa: bcm_sf2: add port_enable/disable callbacks The SF2 switch driver is already architected around per-port enable/disable callbacks, so we just need a slight update to our existing bcm_sf2_port_setup() resp. bcm_sf2_port_disable() functions to be suitable as callbacks for port_enable/port_disable. We need to shuffle a little the code that does the per-port VLAN configuration/isolation since ports can now be brought up/down separately, so we need to make sure that IMP (CPU, management) port is always included in that specific port setup. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7de1557ce7521e756974d5c28794c2375d28e3cc Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:19 2014 -0700 net: dsa: bcm_sf2: disable RGMII interface(s) when link is down When the link is down, disable the RGMII interface to conserve as much power as possible. We re-enable the RGMII interface whenever the link is detected. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2f2af21e37f6d12bd735c27da8942331aa9b3d7 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:18 2014 -0700 net: dsa: allow enabling and disable switch ports Whenever a per-port network device is used/unused, invoke the switch driver port_enable/port_disable callbacks to allow saving as much power as possible by disabling unused parts of the switch (RX/TX logic, memory arrays, PHYs...). We supply a PHY device argument to make sure the switch driver can act on the PHY device if needed (like putting/taking the PHY out of deep low power mode). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7f1de51edbdd53b09061d12758cacd9901c363e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:17 2014 -0700 net: dsa: start and stop the PHY state machine dsa_slave_open() should start the PHY library state machine for its PHY interface, and dsa_slave_close() should stop the PHY library state machine accordingly. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 155c6e1ad4a778cad7f9fe6695afc91b3f5fe1ac Author: Peter Pan(æ½?å?«å¹³) <panweiping3@xxxxxxxxx> Date: Wed Sep 24 22:17:02 2014 +0800 tcp: use tcp_flags in tcp_data_queue() This patch is a cleanup which follows the idea in commit e11ecddf5128 (tcp: use TCP_SKB_CB(skb)->tcp_flags in input path), and it may reduce register pressure since skb->cb[] access is fast, bacause skb is probably in a register. v2: remove variable th v3: reword the changelog Signed-off-by: Weiping Pan <panweiping3@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd7d8498c9a5d510c64db38d9f4f4fbc41790f09 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 24 04:11:22 2014 -0700 tcp: change tcp_skb_pcount() location Our goal is to access no more than one cache line access per skb in a write or receive queue when doing the various walks. After recent TCP_SKB_CB() reorganizations, it is almost done. Last part is tcp_skb_pcount() which currently uses skb_shinfo(skb)->gso_segs, which is a terrible choice, because it needs 3 cache lines in current kernel (skb->head, skb->end, and shinfo->gso_segs are all in 3 different cache lines, far from skb->cb) This very simple patch reuses space currently taken by tcp_tw_isn only in input path, as tcp_skb_pcount is only needed for skb stored in write queue. This considerably speeds up tcp_ack(), granted we avoid shinfo->tx_flags to get SKBTX_ACK_TSTAMP, which seems possible. This also speeds up all sack processing in general. This speeds up tcp_sendmsg() because it no longer has to access/dirty shinfo. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc83d4d8f6c897022c974a00769b7a6efee6aed8 Merge: ff04a77 971f10e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 16:35:49 2014 -0400 Merge branch 'tcp_skb_cb' Eric Dumazet says: ==================== tcp: better TCP_SKB_CB layout TCP had the assumption that IPCB and IP6CB are first members of skb->cb[] This is fine, except that IPCB/IP6CB are used in TCP for a very short time in input path. What really matters for TCP stack is to get skb->next, TCP_SKB_CB(skb)->seq, and TCP_SKB_CB(skb)->end_seq in the same cache line. skb that are immediately consumed do not care because whole skb->cb[] is hot in cpu cache, while skb that sit in wocket write queue or receive queues do not need TCP_SKB_CB(skb)->header at all. This patch set implements the prereq for IPv4, IPv6, and TCP to make this possible. This makes TCP more efficient. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 971f10eca186cab238c49daa91f703c5a001b0b1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Sep 27 09:50:57 2014 -0700 tcp: better TCP_SKB_CB layout to reduce cache line misses TCP maintains lists of skb in write queue, and in receive queues (in order and out of order queues) Scanning these lists both in input and output path usually requires access to skb->next, TCP_SKB_CB(skb)->seq, and TCP_SKB_CB(skb)->end_seq These fields are currently in two different cache lines, meaning we waste lot of memory bandwidth when these queues are big and flows have either packet drops or packet reorders. We can move TCP_SKB_CB(skb)->header at the end of TCP_SKB_CB, because this header is not used in fast path. This allows TCP to search much faster in the skb lists. Even with regular flows, we save one cache line miss in fast path. Thanks to Christoph Paasch for noticing we need to cleanup skb->cb[] (IPCB/IP6CB) before entering IP stack in tx path, and that I forgot IPCB use in tcp_v4_hnd_req() and tcp_v4_save_options(). Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a224772db8420ecb7ce91a9ba5d535ee3a50d982 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Sep 27 09:50:56 2014 -0700 ipv6: add a struct inet6_skb_parm param to ipv6_opt_accepted() ipv6_opt_accepted() assumes IP6CB(skb) holds the struct inet6_skb_parm that it needs. Lets not assume this, as TCP stack might use a different place. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24a2d43d8886f5a29c3cf108927f630c545a9a38 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Sep 27 09:50:55 2014 -0700 ipv4: rename ip_options_echo to __ip_options_echo() ip_options_echo() assumes struct ip_options is provided in &IPCB(skb)->opt Lets break this assumption, but provide a helper to not change all call points. ip_send_unicast_reply() gets a new struct ip_options pointer. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df817ba35736db2d62b07de6f050a4db53492ad8 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Sep 27 17:41:51 2014 -0400 NFSv4: fix open/lock state recovery error handling The current open/lock state recovery unfortunately does not handle errors such as NFS4ERR_CONN_NOT_BOUND_TO_SESSION correctly. Instead of looping, just proceeds as if the state manager is finished recovering. This patch ensures that we loop back, handle higher priority errors and complete the open/lock state recovery. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a4339b7b686b4acc8b6de2b07d7bacbe3ae44b83 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Sep 27 17:02:26 2014 -0400 NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails If a NFSv4.x server returns NFS4ERR_STALE_CLIENTID in response to a CREATE_SESSION or SETCLIENTID_CONFIRM in order to tell us that it rebooted a second time, then the client will currently take this to mean that it must declare all locks to be stale, and hence ineligible for reboot recovery. RFC3530 and RFC5661 both suggest that the client should instead rely on the server to respond to inelegible open share, lock and delegation reclaim requests with NFS4ERR_NO_GRACE in this situation. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 6e18ff26c2b529de06207caa2be9e5f1cf520972 Merge: 7af4724 45bcf9c Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Sun Sep 28 10:47:15 2014 -0700 Merge tag 'hix5hd2-clock-for-3.18-v2' of git://github.com/hisilicon/linux-hisi into clk-next Hisilicon HiX5HD2 clock updates for 3.18-v2 - Add I2C clocks - Add watchdog clocks - Add sd clocks - Add complex clock implementation to support sata, usb and ethernet commit fe6cf28936cc948cd1045568975c5b0d196e76d4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 23:24:00 2014 +0200 dma: imx-sdma: fix another incorrect __init annotation In e34b731faa7d1 ("dma: imx-sdma: Remove spurious __init annotation on sdma_probe()"), Mark found an extraneous __init label and fixed it. However, he missed another one, because now we get this other warning: WARNING: drivers/dma/imx-sdma.o(.text+0x3bb4): Section mismatch in reference from the function sdma_probe() to the function .init.text:sdma_get_firmware() The function sdma_probe() references the function __init sdma_get_firmware(). Same reasoning as the last time, the function may get called at runtime, so it can't be __init. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c3ebd6a9b614ef1fbb5a44a3a33cd639ff4694bf Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Thu Sep 25 15:13:21 2014 +0200 AHCI: Cleanup checking of multiple MSIs/SLM modes Sharing Last Message (SLM) mode is currently checked in two functions: ahci_host_activate() and ahci_init_interrupts(). This update consolidates SLM mode check with activation of multiple MSIs mode. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit 6d8ca28fa688a9354bc9fbc935bdaeb3651b6677 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 27 00:04:46 2014 +0200 libata-sff: Fix controllers with no ctl port Currently, ata_sff_softreset is skipped for controllers with no ctl port. But that also skips ata_sff_dev_classify required for device detection. This means that libata is currently broken on controllers with no ctl port. No device connected: [ 1.872480] pata_isapnp 01:01.02: activated [ 1.889823] scsi2 : pata_isapnp [ 1.890109] ata3: PATA max PIO0 cmd 0x1e8 ctl 0x0 irq 11 [ 6.888110] ata3.01: qc timeout (cmd 0xec) [ 6.888179] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 16.888085] ata3.01: qc timeout (cmd 0xec) [ 16.888147] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 46.888086] ata3.01: qc timeout (cmd 0xec) [ 46.888148] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 51.888100] ata3.00: qc timeout (cmd 0xec) [ 51.888160] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x5) [ 61.888079] ata3.00: qc timeout (cmd 0xec) [ 61.888141] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x5) [ 91.888089] ata3.00: qc timeout (cmd 0xec) [ 91.888152] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x5) ATAPI device connected: [ 1.882061] pata_isapnp 01:01.02: activated [ 1.893430] scsi2 : pata_isapnp [ 1.893719] ata3: PATA max PIO0 cmd 0x1e8 ctl 0x0 irq 11 [ 6.892107] ata3.01: qc timeout (cmd 0xec) [ 6.892171] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 16.892079] ata3.01: qc timeout (cmd 0xec) [ 16.892138] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 46.892079] ata3.01: qc timeout (cmd 0xec) [ 46.892138] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 46.908586] ata3.00: ATAPI: ACER CD-767E/O, V1.5X, max PIO2, CDB intr [ 46.924570] ata3.00: configured for PIO0 (device error ignored) [ 46.926295] scsi 2:0:0:0: CD-ROM ACER CD-767E/O 1.5X PQ: 0 ANSI: 5 [ 46.984519] sr0: scsi3-mmc drive: 6x/6x xa/form2 tray [ 46.984592] cdrom: Uniform CD-ROM driver Revision: 3.20 So don't skip ata_sff_softreset, just skip the reset part of ata_bus_softreset if the ctl port is not available. This makes IDE port on ES968 behave correctly: No device connected: [ 4.670888] pata_isapnp 01:01.02: activated [ 4.673207] scsi host2: pata_isapnp [ 4.673675] ata3: PATA max PIO0 cmd 0x1e8 ctl 0x0 irq 11 [ 7.081840] Adding 2541652k swap on /dev/sda2. Priority:-1 extents:1 across:2541652k ATAPI device connected: [ 4.704362] pata_isapnp 01:01.02: activated [ 4.706620] scsi host2: pata_isapnp [ 4.706877] ata3: PATA max PIO0 cmd 0x1e8 ctl 0x0 irq 11 [ 4.872782] ata3.00: ATAPI: ACER CD-767E/O, V1.5X, max PIO2, CDB intr [ 4.888673] ata3.00: configured for PIO0 (device error ignored) [ 4.893984] scsi 2:0:0:0: CD-ROM ACER CD-767E/O 1.5X PQ: 0 ANSI: 5 [ 7.015578] Adding 2541652k swap on /dev/sda2. Priority:-1 extents:1 across:2541652k Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3f334078567245429540e6461c81c749fce87f70 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Dec 30 17:12:07 2013 -0800 net: make tcp_cleanup_rbuf private net_dma was the only external user so this can become local to tcp.c again. Cc: James Morris <jmorris@xxxxxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit d27f9bc104375a0a835cf68bb88fc9cec69125da Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Dec 30 11:37:15 2013 -0800 net_dma: revert 'copied_early' Now that tcp_dma_try_early_copy() is gone nothing ever sets copied_early. Also reverts "53240c208776 tcp: Fix possible double-ack w/ user dma" since it is no longer necessary. Cc: Ali Saidi <saidi@xxxxxxxxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Reported-by: Dave Jones <davej@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 7bced397510ab569d31de4c70b39e13355046387 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Dec 30 12:37:29 2013 -0800 net_dma: simple removal Per commit "77873803363c net_dma: mark broken" net_dma is no longer used and there is no plan to fix it. This is the mechanical removal of bits in CONFIG_NET_DMA ifdef guards. Reverting the remainder of the net_dma induced changes is deferred to subsequent patches. Marked for stable due to Roman's report of a memory leak in dma_pin_iovec_pages(): https://lkml.org/lkml/2014/9/3/177 Cc: Dave Jiang <dave.jiang@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: David Whipple <whipple@xxxxxxxxxxxxxxxxxxxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 969168e2e9f4a5bfd6a49344f46b820437cd9163 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 26 16:25:38 2014 +0300 ASoC: Intel: byt-max98090: Set card as fully routed All byt-max98090 audio connections are known and described in DAPM routing table. Set the fully_routed flag in order to disable unused codec pins. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e172b9e6a1449f92e0ed834e7113a43e31ee7ced Merge: 0121327 f69e3ca Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Sep 28 12:22:30 2014 +0100 Merge branch 'fix/max98090' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit fdaff15ae6cc8745b9b56adab0252729b476ed7e Merge: d1c3f7c 9839d62 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Sep 28 12:17:00 2014 +0100 Merge remote-tracking branch 'regulator/topic/sky81452' into regulator-drivers Conflicts: drivers/regulator/Kconfig drivers/regulator/Makefile commit d1c3f7ca158e78fa78c9789d836d2a98d5fd25f3 Merge: 6a64250 fbf7974 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Sep 28 12:14:26 2014 +0100 Merge remote-tracking branch 'regulator/topic/pwm' into regulator-drivers Conflicts: drivers/regulator/Kconfig commit f69e3caa9e1855737bf1e99e1fe4488e33d74bfe Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 26 16:25:37 2014 +0300 ASoC: max98090: Enable both DMIC channels also when using mono configuration According to MAX98090 specification "Digital microphone clock (DMC) is enabled once both data channels are enabled.". Therefore both digital microphone data channels must be enabled also when using mono microphone configuration. Fix this by moving "DMICL_ENA" and "DMICR_ENA" supply widgets from "DMICL" and "DMICR" inputs to "DMIC Mux" in order to enable both data channels whenever there is active mono or stereo digital microphone input path. Use of "DMICL" and "DMICR" inputs are retained for informative source and in case the driver would find use for exact digital microphone configuration in the future. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d6b41cb06044a7d895db82bdd54f6e4219970510 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Sun Sep 28 17:09:54 2014 +0800 regmap: fix possible ZERO_SIZE_PTR pointer dereferencing error. Since we cannot make sure the 'val_count' will always be none zero here, and then if it equals to zero, the kmemdup() will return ZERO_SIZE_PTR, which equals to ((void *)16). So this patch fix this with just doing the zero check before calling kmemdup(). Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2c98e0c1cc6b8e86f1978286c3d4e0769ee9d733 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Sun Sep 28 11:35:25 2014 +0800 regmap: debugfs: fix possbile NULL pointer dereference If 'map->dev' is NULL and there will lead dev_name() to be NULL pointer dereference. So before dev_name(), we need to have check of the map->dev pionter. We also should make sure that the 'name' pointer shouldn't be NULL for debugfs_create_dir(). So here using one default "dummy" debugfs name when the 'name' pointer and 'map->dev' are both NULL. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit fbf7974427910a3f13fcb76a3493f9da0b141120 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Sun Sep 28 10:28:54 2014 +0800 regulator: pwm-regulator: add devicetree bindings for pwm regulator Document the pwm regulator Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aa66cc6630a4088e84b64992aa5f137711ae45fa Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Sun Sep 28 10:28:53 2014 +0800 regulator: pwm-regulator: get voltage and duty table from dts rename st-pwm to pwm-regulator. And support getting voltage & duty table from device tree, other platforms can also use this driver without any modify. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fd4d453b64d409647c92de6395494b5dd82ce224 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 9 11:54:50 2014 +0200 m68k: AMIGA_BUILTIN_SERIAL should depend on TTY If CONFIG_TTY=n: drivers/built-in.o: In function `rs_flush_buffer': amiserial.c:(.text+0x1f626): undefined reference to `tty_wakeup' drivers/built-in.o: In function `transmit_chars': amiserial.c:(.text+0x1f6c8): undefined reference to `tty_wakeup' drivers/built-in.o: In function `change_speed': amiserial.c:(.text+0x1f80a): undefined reference to `tty_termios_baud_rate' amiserial.c:(.text+0x1f88c): undefined reference to `tty_termios_baud_rate' drivers/built-in.o: In function `check_modem_status': amiserial.c:(.text+0x1faa6): undefined reference to `tty_hangup' amiserial.c:(.text+0x1faec): undefined reference to `tty_wakeup' drivers/built-in.o: In function `get_serial_info': amiserial.c:(.text+0x1fb88): undefined reference to `tty_lock' amiserial.c:(.text+0x1fbc0): undefined reference to `tty_unlock' drivers/built-in.o: In function `rs_open': amiserial.c:(.text+0x1fdc6): undefined reference to `tty_port_block_til_ready' drivers/built-in.o: In function `set_serial_info': amiserial.c:(.text+0x1fe0c): undefined reference to `tty_lock' amiserial.c:(.text+0x1fea0): undefined reference to `tty_unlock' amiserial.c:(.text+0x1fed0): undefined reference to `tty_unlock' amiserial.c:(.text+0x1ffaa): undefined reference to `tty_unlock' drivers/built-in.o: In function `receive_chars': amiserial.c:(.text+0x2005c): undefined reference to `do_SAK' amiserial.c:(.text+0x200e0): undefined reference to `tty_insert_flip_string_flags' amiserial.c:(.text+0x2013c): undefined reference to `tty_insert_flip_string_flags' amiserial.c:(.text+0x20148): undefined reference to `tty_flip_buffer_push' drivers/built-in.o: In function `rs_close': amiserial.c:(.text+0x20744): undefined reference to `tty_port_close_start' amiserial.c:(.text+0x2078a): undefined reference to `tty_ldisc_flush' amiserial.c:(.text+0x20798): undefined reference to `tty_port_close_end' drivers/built-in.o: In function `amiga_serial_probe': amiserial.c:(.init.text+0x96a): undefined reference to `__tty_alloc_driver' amiserial.c:(.init.text+0x9c0): undefined reference to `tty_std_termios' amiserial.c:(.init.text+0x9e6): undefined reference to `tty_set_operations' amiserial.c:(.init.text+0xa3e): undefined reference to `tty_port_init' amiserial.c:(.init.text+0xa5c): undefined reference to `tty_port_link_device' amiserial.c:(.init.text+0xa6c): undefined reference to `tty_register_driver' amiserial.c:(.init.text+0xb4a): undefined reference to `tty_unregister_driver' amiserial.c:(.init.text+0xb58): undefined reference to `tty_port_destroy' amiserial.c:(.init.text+0xb64): undefined reference to `put_tty_driver' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit a000dfc2ab201ffc43fbe925a522adeebe51f6f3 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 9 11:32:44 2014 +0200 m68k: Add missing ioport_unmap() drivers/net/ethernet/cirrus/cs89x0.c: In function â??cs89x0_ioport_probeâ??: drivers/net/ethernet/cirrus/cs89x0.c:1629: error: implicit declaration of function â??ioport_unmapâ?? Add the missing ioport_unmap() implementation, and convert ioport_map() from a macro to a static inline function while we're at it (both copied from asm-generic). Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 72cf90124e87d975d0b2114d930808c58b4c05e4 Author: Willy Tarreau <w@xxxxxx> Date: Sat Sep 27 12:31:37 2014 +0200 lzo: check for length overrun in variable length encoding. This fix ensures that we never meet an integer overflow while adding 255 while parsing a variable length encoding. It works differently from commit 206a81c ("lzo: properly check for overruns") because instead of ensuring that we don't overrun the input, which is tricky to guarantee due to many assumptions in the code, it simply checks that the cumulated number of 255 read cannot overflow by bounding this number. The MAX_255_COUNT is the maximum number of times we can add 255 to a base count without overflowing an integer. The multiply will overflow when multiplying 255 by more than MAXINT/255. The sum will overflow earlier depending on the base count. Since the base count is taken from a u8 and a few bits, it is safe to assume that it will always be lower than or equal to 2*255, thus we can always prevent any overflow by accepting two less 255 steps. This patch also reduces the CPU overhead and actually increases performance by 1.1% compared to the initial code, while the previous fix costs 3.1% (measured on x86_64). The fix needs to be backported to all currently supported stable kernels. Reported-by: Willem Pinckaers <willem@xxxxxxxxxxxxxx> Cc: "Don A. Bailey" <donb@xxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af958a38a60c7ca3d8a39c918c1baa2ff7b6b233 Author: Willy Tarreau <w@xxxxxx> Date: Sat Sep 27 12:31:36 2014 +0200 Revert "lzo: properly check for overruns" This reverts commit 206a81c ("lzo: properly check for overruns"). As analysed by Willem Pinckaers, this fix is still incomplete on certain rare corner cases, and it is easier to restart from the original code. Reported-by: Willem Pinckaers <willem@xxxxxxxxxxxxxx> Cc: "Don A. Bailey" <donb@xxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d98a0526434d27e261f622cf9d2e0028b5ff1a00 Author: Willy Tarreau <w@xxxxxx> Date: Sat Sep 27 12:31:35 2014 +0200 Documentation: lzo: document part of the encoding Add a complete description of the LZO format as processed by the decompressor. I have not found a public specification of this format hence this analysis, which will be used to better understand the code. Cc: Willem Pinckaers <willem@xxxxxxxxxxxxxx> Cc: "Don A. Bailey" <donb@xxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45bcf9c6f299ae77c14c2ae8cea3f8e540fe80d1 Author: Wei Yan <sledge.yanwei@xxxxxxxxxx> Date: Thu Aug 7 09:09:13 2014 +0800 clk: hix5hd2: add I2C clocks hix5hd2 add I2C clocks (I2C0~i2C5) Signed-off-by: Wei Yan <sledge.yanwei@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 1463fba39c2e95803147e1d6e159ea402d965e6f Author: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Date: Tue Jun 17 17:04:17 2014 +0800 clk: hix5hd2: add watchdog0 clocks hix5hd2 add watchdog0 clocks Signed-off-by: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit cc855dd9994cfd179891cf5b966ebc8051d95a9f Author: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Date: Wed May 28 11:35:32 2014 +0800 clk: hix5hd2: add sd clk Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 20e075585973453515be6615b91901c959e0a573 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Tue May 13 20:26:59 2014 +0800 clk: hix5hd2: add complex clk Support clk of sata, usb and ethernet Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 5159e39bdf119613adc6556901ae2d2e5e027551 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Sep 28 01:27:42 2014 +0200 ACPI / SBS: Fix check in acpi_ac_get_present() Parentheses are missing under an if () statement in acpi_ac_get_present() which makes the check work differently from what was intended (at least according to the comment right above it). Add the missing parens. The problem was found by sparse. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: All applicable <stable@xxxxxxxxxxxxxxx> commit 7af472485733c19a52bba5d1a064f6d88c0d9880 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Sep 22 13:52:11 2014 +0800 clk: use uninitialized_var instead setting 'flags' to 0 directly. Setting 'flags' to zero will be certainly a misleading way to avoid warning of 'flags' may be used uninitialized. uninitialized_var is a correct way because the warning is a false possitive. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 582940508b5d589229d0232e0eeee8fef0d54809 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 22:51:16 2014 +0200 block: Replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Cc: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4dc7ed32f398fa76b9e1d243a852420b1dad0150 Merge: 5ad67d3 9c8176b Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Sat Sep 27 12:52:33 2014 -0700 Merge tag 'sunxi-clocks-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-next Allwinner Clocks Additions for 3.18 The most important part of this serie is the addition of the phase API to handle the MMC clocks in the Allwinner SoCs. Apart from that, the A23 gained a new mbus driver, and there's a fix for a incorrect divider table on the APB0 clock. commit 5ad67d3e5e0a5059945a7726a407763a23f80d9e Merge: 8791db5 0e5bdb3 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Sat Sep 27 12:50:40 2014 -0700 Merge tag 'v3.18-rockchip-cpuclk' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-next CPU clock handling for Rockchip SoCs commit 0e5bdb3f9fa5c2bd4452c258de78122ef15f62d6 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Fri Sep 5 11:25:03 2014 +0200 clk: rockchip: switch to using the new cpuclk type for armclk This adds the necessary soc-specific divider values and switches the armclk to use the newly introduced cpuclk type. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit f6fba5f6967dbc062a7c138d67e2314220f5dd04 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Sep 4 22:10:43 2014 +0200 clk: rockchip: add new clock-type for the cpuclk When changing the armclk on Rockchip SoCs it is supposed to be reparented to an alternate parent before changing the underlying pll and back after the change. Additionally there exist clocks that are very tightly bound to the armclk whose divider values are set according to the armclk rate. Add a special clock-type to handle all that. The rate table and divider values will be supplied from the soc-specific clock controllers. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> On a rk3288-board: Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit 2b9bceeab70800546050f59cee4efb69c261a683 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Sep 4 21:43:17 2014 +0200 clk: rockchip: make tightly bound armclk child-clocks read-only Rockchip SoCs contain clocks tightly bound to the armclk, where the best rate / divider is supplied by the vendor after careful measuring. Often this ideal rate may be greater than the current rate. Therefore prevent the ccf from trying to set these dividers itself by setting them to read-only. In the case of the rk3066, this also includes the aclk_cpu, which makes it necessary to also split its direct child-clocks (pclk_cpu, hclk_cpu, ...) into individual definitions for rk3066 and rk3188. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit f5f7004fdec7eb1d2372278f1acad5f70f2da1e4 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Sep 4 21:24:45 2014 +0200 clk: rockchip: reparent aclk_cpu_pre to the gpll aclk_cpu_pre on the rk3188 can either be sourced from the armclk or the gpll. To reduce complexity on apll changes caused by cpufreq, reparent it always to the gpll source. If really necessary it could be reparented back on a per board level using the assigned-clocks mechanism. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ee17eb83c48e04653d8b430735f82fd4cdac6ca3 Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Mon Sep 1 23:56:28 2014 +0200 clk: rockchip: fix rk3288 pll status register location In RK3288, APLL lock status bit is in GRF_SOC_STATUS1, but in RK3188, is GRFSOC_STATUS0. Signed-off-by: Jianqun <jay.xu@xxxxxxxxxxxxxx> Also name the constant accordingly as GRF_SOC_STATUS1 to prevent confusion. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit 11ff376fcfc0135b8947d27ab80162c218d1af90 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Sep 1 23:52:40 2014 +0200 clk: rockchip: fix rk3066 pll status register location The register providing the pll lock status is at a different address on the rk3066. The error became apparent while working on cpufreq support for the rockchip SoCs. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 9c030ea70b6a7eb2f7ee273b1ddd2282b053724f Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Sep 15 21:07:57 2014 -0700 clk: rockchip: change pll rate without a clk-notifier The Rockchip PLL code switches into slow mode (AKA bypass more AKA 24MHz mode) before actually changing the PLL. This keeps anyone from using the PLL while it's changing. However, in all known Rockchip SoCs nobody should ever see the 24MHz when changing the PLL supplying the armclk because we should reparent children to an alternate (faster than 24MHz) PLL. One problem is that the code to switch to an alternate parent was running in PRE_RATE_CHANGE. ...and the code to switch to slow mode was _also_ running in PRE_RATE_CHANGE. That meant there was no real guarantee that we would switch to an alternate parent before switching to 24MHz mode. Let's move the switch to "slow mode" straight into rockchip_rk3066_pll_set_rate(). That means we're guaranteed that the 24MHz is really a last-resort. Note that without this change on real systems we were the code to switch to an alternate parent at 24MHz. In some older versions of that code we'd appy a (temporary) / 5 to the 24MHz causing us to run at 4.8MHz. That wasn't enough to service USB interrupts in some cases and could lead to a system hang. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit f79c3c015485374b4f453932c45fbcb80a75a1a9 Merge: b52f491 4d742e6 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Sep 27 17:56:55 2014 +0200 Merge branch 'v3.18-next/armclkid' into v3.18-next/cpuclk commit 4d742e6230b5ff157422d91d6ae8d2fc1303eb28 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Fri Sep 5 11:28:12 2014 +0200 clk: rockchip: add binding id for ARMCLK Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit 2341c2f8c33196d02cf5a721746eea4e3c06674a Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:07 2014 -0400 block: Add T10 Protection Information functions The T10 Protection Information format is also used by some devices that do not go through the SCSI layer (virtual block devices, NVMe). Relocate the relevant functions to a block layer library that can be used without involving SCSI. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4eaf99beadcefbf126fa05e66fb40fca999e09fd Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:06 2014 -0400 block: Don't merge requests if integrity flags differ We'd occasionally merge requests with conflicting integrity flags. Introduce a merge helper which checks that the requests have compatible integrity payloads. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit aae7df50190a640e51bfe11c93f94741ac82ff0b Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:05 2014 -0400 block: Integrity checksum flag Make the choice of checksum a per-I/O property by introducing a flag that can be inspected by the SCSI layer. There are several reasons for this: 1. It allows us to switch choice of checksum without unloading and reloading the HBA driver. 2. During error recovery we need to be able to tell the HBA that checksums read from disk should not be verified and converted to IP checksums. 3. For error injection purposes we need to be able to write a bad guard tag to storage. Since the storage device only supports T10 CRC we need to be able to disable IP checksum conversion on the HBA. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b1f01388574c9329922f760fc2a7335c2d14b08b Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:04 2014 -0400 block: Relocate bio integrity flags Move flags affecting the integrity code out of the bio bi_flags and into the block integrity payload. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3aec2f41a8baeb70aa77556a4e4dcec7d9d70b4d Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:03 2014 -0400 block: Add a disk flag to block integrity profile So far we have relied on the app tag size to determine whether a disk has been formatted with T10 protection information or not. However, not all target devices provide application tag storage. Add a flag to the block integrity profile that indicates whether the disk has been formatted with protection information. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8288f496eb1b1905c425e92eaf1abbb29119217b Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:02 2014 -0400 block: Add prefix to block integrity profile flags Add a BLK_ prefix to the integrity profile flags. Also rename the flags to be more consistent with the generate/verify terminology in the rest of the integrity code. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1859308853b19c4daf4afaab910d3d52ac1ec2ff Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:01 2014 -0400 block: Clean up the code used to generate and verify integrity metadata Instead of the "operate" parameter we pass in a seed value and a pointer to a function that can be used to process the integrity metadata. The generation function is changed to have a return value to fit into this scheme. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5a2aa873059fec8b6385071d9c0802893a9b2f41 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:00 2014 -0400 block: Make protection interval calculation generic Now that the protection interval has been detached from the sector size we need to be able to handle sizes that are different from 4K and 512. Make the interval calculation generic. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3be91c4a3d090bd700bd6ee5bf457c1bbf189a4f Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:19:59 2014 -0400 block: Deprecate the use of the term sector in the context of block integrity The protection interval is not necessarily tied to the logical block size of a block device. Stop using the terms "sector" and "sectors". Going forward we will use the term "seed" to describe the initial reference tag value for a given I/O. "Interval" will be used to describe the portion of the data buffer that a given piece of protection information is associated with. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5f9378fa9ca214977b5bfc12197c67eea450fc40 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:19:58 2014 -0400 block: Remove bip_buf bip_buf is not really needed so we can remove it. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8492b68bc4025e7bce1d57761bd7c047efda2f81 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:19:57 2014 -0400 block: Remove integrity tagging functions None of the filesystems appear interested in using the integrity tagging feature. Potentially because very few storage devices actually permit using the application tag space. Remove the tagging functions. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 180b2f95dd331010a9930a65c8a18d6d81b94dc1 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:19:56 2014 -0400 block: Replace bi_integrity with bi_special For commands like REQ_COPY we need a way to pass extra information along with each bio. Like integrity metadata this information must be available at the bottom of the stack so bi_private does not suffice. Rename the existing bi_integrity field to bi_special and make it a union so we can have different bio extensions for each class of command. We previously used bi_integrity != NULL as a way to identify whether a bio had integrity metadata or not. Introduce a REQ_INTEGRITY to be the indicator now that bi_special can contain different things. In addition, bio_integrity(bio) will now return a pointer to the integrity payload (when applicable). Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e7258c1a269e0967856c81d182c286a78f5ecf15 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:19:55 2014 -0400 block: Get rid of bdev_integrity_enabled() bdev_integrity_enabled() is only used by bio_integrity_enabled(). Combine these two functions. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5336be8416a71b5568d2cf54a2f2066abe9f2a53 Author: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Date: Sat Sep 27 09:47:55 2014 +0530 regmap: fix NULL pointer dereference in _regmap_write/read If LOG_DEVICE is defined and map->dev is NULL it will lead to NULL pointer dereference. This patch fixes this issue by adding check for dev->NULL in all such places in regmap.c Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1ee44ce03011bab025949e7636416912185f4122 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Fri Sep 26 13:31:06 2014 -0700 ASoC: ssm4567: Add driver for Analog Devices SSM4567 amplifier Analog Devices SSM4567 is a boost class-D audio amplifier. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 619f30188ff0d10fccc3cd952a79cb56ff62db54 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Sep 4 10:57:33 2014 +0530 ARC: Allow SMP kernel to build/boot on UP-only infrastructure In light of recent SNAFU with SMP build, allow simple platform to build as SMP but run UP. * Remove the dependence on simulation SMP extension to enable quick build/test iterations of SMP kernel. * In absence of platform SMP registration, prevent the NULL smp feature name from borkign the system Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e77d99d4a4ec761ad061f1ec890c71040a92efe3 Merge: bb0ca6a 0496daa5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Sep 27 11:03:33 2014 +0200 Merge tag 'kvm-arm-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-next Changes for KVM for arm/arm64 for 3.18 This includes a bunch of changes: - Support read-only memory slots on arm/arm64 - Various changes to fix Sparse warnings - Correctly detect write vs. read Stage-2 faults - Various VGIC cleanups and fixes - Dynamic VGIC data strcuture sizing - Fix SGI set_clear_pend offset bug - Fix VTTBR_BADDR Mask - Correctly report the FSC on Stage-2 faults Conflicts: virt/kvm/eventfd.c [duplicate, different patch where the kvm-arm version broke x86. The kvm tree instead has the right one] commit 07394b5f13a04f86b27e0ddd96a36c7d9bfe1a4f Merge: cf8102f 49757c9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 27 09:15:48 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: o Restore "--callchain graph" output, broken in recent cset to end up being the same as "fractal" (Namhyung Kim) o Allow profiling when kptr_restrict == 1 for non root users, kernel samples will just remain unresolved (Andi Kleen) o Allow configuring default options for callchains in config file (Namhyung Kim) o Fix line number in the config file error message (Jiri Olsa) o Fix --per-core on multi socket systems (Andi Kleen) Cleanups: o Use ACCESS_ONCE() instead of volatile cast. (Pranith Kumar) o Modify error code for when perf_session__new() fails (Taeung Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9c8176bfb67f98ed9a521b624dcb6ab7fa254aa7 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Sep 16 18:04:01 2014 +0800 clk: sunxi: Add sun8i MBUS clock support The MBUS clock on sun8i is slightly different from the old mod0 clocks. The divider is 3 bits wider, while also needing a divider table for the higher 4 values, which all set the same divider. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 37e1041f04717d726931c8688cbf425071aeb9c1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 11 18:43:18 2014 +0200 clk: sunxi: mod0: Introduce MMC proper phase handling The MMC clock we thought we had until now are actually not one but three different clocks. The main one is unchanged, and will have three outputs: - The clock fed into the MMC - a sample and output clocks, to deal with when should we output/sample data to/from the MMC bus The phase control we had are actually controlling the two latter clocks, but the main MMC one is unchanged. We can adjust the phase with a 3 bits value, from 0 to 7, 0 meaning a 180 phase shift, and the other values being the number of periods from the MMC parent clock to outphase the clock of. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit eaa18f5d0914b0151cefb52e2977a67ef21dfa64 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 23:56:11 2014 +0200 clk: sunxi: Move mbus to mod0 file Move the MBUS clock to the module clocks file. It's pretty trivial, but still requires to enable the clocks to make sure it won't get disabled. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 992a56e48996d4dea6cc25a35e180f696935925d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 23:55:18 2014 +0200 clk: sunxi: Move mod0 clock to a file of its own Since we know have the ability to declare factors clock outside of clk-sunxi, create a new mod0 driver to deal with the mod0 clocks. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 7868c5ebdbcb92087a3625cc55225f455eef70a4 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 16 23:45:48 2014 +0200 ARM: sunxi: dt: Switch to the new mbus compatible Now that we have a compatible of its own for the mbus clock, switch to it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 03e29bbf40ed87657795c774c80449bb86a55415 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 23:53:40 2014 +0200 clk: sunxi: Introduce mbus compatible Even though the mbus clock is a regular module clock, given its nature, it needs to be enabled all the time. Introduce a new compatible, to differentiate it from the other module clocks. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 601da9d0a54c0fea7f5a208bc107d7ef1de4f570 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 4 22:24:52 2014 +0200 clk: sunxi: factors: Invert the probing logic Until now, the factors clock probing was done directly by sunxi_init_clocks, with the factors registration being called directly with the clocks data passed as an argument. This approch has shown its limits when we added more clocks, since we couldn't really split code with such a logic in smaller files, and led to a huge file having all the clocks. Introduce an intermediate probing function, so that factor clocks will be able to directly be called by CLK_OF_DECLARE, which will in turn ease the split into several files. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 9824cf73c3a5e677bee6fcba43c4807e01ff1b4a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 14 13:53:27 2014 +0200 clk: Add a function to retrieve phase The current phase API doesn't look into the actual hardware to get the phase value, but will rather get it from a variable only set by the set_phase function. This will cause issue when the client driver will never call the set_phase function, where we can end up having a reported phase that will not match what the hardware has been programmed to by the bootloader or what phase is programmed out of reset. Add a new get_phase function for the drivers to implement so that we can get this value. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 355bb165cd8bad2500df37437a9121f0177b6741 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 30 21:18:00 2014 +0200 clk: Include of.h in clock-provider.h CLK_OF_DECLARE relies on OF_DECLARE_1 that is defined in of.h. Fixes build errors when one use CLK_OF_DECLARE but doesn't include of.h Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit e59c5371fb9d8268d1c043172e88cecab9dc934f Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Tue Feb 18 21:21:25 2014 -0800 clk: introduce clk_set_phase function & callback A common operation for a clock signal generator is to shift the phase of that signal. This patch introduces a new function to the clk.h API to dynamically adjust the phase of a clock signal. Additionally this patch introduces support for the new function in the common clock framework via the .set_phase call back in struct clk_ops. Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 9d0713edf72461438bc3526e4ea55fec47754cd9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 24 21:05:30 2014 -0700 sparc64: Fix hibernation code refrence to PAGE_OFFSET. We changed PAGE_OFFSET to be a variable rather than a constant, but this reference here in the hibernate assembler got missed. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8791db53a9d2556b8908af300d8327eecb110d8a Merge: c873d14 ceac26c Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Fri Sep 26 17:04:08 2014 -0700 Merge tag 'clk-mvebu-3.18' of git://git.infradead.org/linux-mvebu into clk-next clock changes for mvebu for v3.18 - correct timer drift caused by SSCG deviation - fix typo in comment commit c873d14d30b838a516a94967242322d4b73e79e7 Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri Sep 5 15:21:34 2014 +0300 clk: add gpio gated clock The added gpio-gate-clock is a basic clock that can be enabled and disabled trough a gpio output. The DT binding document for the clock is also added. For EPROBE_DEFER handling the registering of the clock has to be delayed until of_clk_get() call time. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit db0bcc33a8aabab462c996baeac619f21616d938 Merge: b6b2fe5 229fd4a Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Fri Sep 26 16:10:57 2014 -0700 Merge tag 'qcom-clocks-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into clk-next qcom clock changes for 3.18 Some fixes for the IPQ driver and some code consolidation and refactoring. commit b6b2fe5b6e956c8217a7584472a3ac5c068b61d4 Merge: b52f491 b9e742c Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Fri Sep 26 16:09:39 2014 -0700 Merge tag 'tegra-clk-3.18' of git://nv-tegra.nvidia.com/user/pdeschrijver/linux into clk-next Tegra clk updates for 3.18 commit 34ed780a6afc4df5e3285d20fac721c591e0724e Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:27 2014 -0500 rtlwifi: Fix problems with building an allyesconfig Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 21e4b0726dc671c423e2dc9a85364716219c4502 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:26 2014 -0500 rtlwifi: rtl8821ae: Move driver from staging to regular tree This driver was entered into staging a few cycles ago because there was not time to integrate the Realtek version into the support routines in the kernel. Now that there is an effort to converg the code base from Linux and the Realtek repo, it is time to move this driver. In addition, all the updates included in the 06/28/2014 version of the Realtek drivers are included here. With this change, it will be necessary to delete the staging driver. That will be handled in a separate patch. As it impacts the staging tree, such a patch is sent to a different destination. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c151aed6aa146e9587590051aba9da68b9370f9b Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:25 2014 -0500 rtlwifi: rtl8188ee: Update driver to match Realtek release of 06282014 Not only does this patch update the driver to match the latest Realtek release, it is an important step in getting the internal code source at Realtek to match the code in the kernel. The primary reason for this is to make it easier for Realtek to maintain the kernel source without requiring an intermediate like me. In this process of merging the two source repositories, there are a lot of changes in both, and this commit is rather large. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f3a97e93814aeac3f13e857a0071726acc9bd626 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:24 2014 -0500 rtlwifi: Finish modifying core routines for new drivers Addition of the new drivers and the update to a new version for the others lead to changes in all the core routines. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d3feae41a3473a0f7b431d6af4e092865d586e52 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:23 2014 -0500 rtlwifi: Update power-save routines for 062814 driver Realtek released a new version of the drivers on 06/28/2014. This patch implements the new power-save code. These changes also force corresponding changes in the drivers. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3c67b8f9f3b5bb1207c9bb198e5ef04ff56921dd Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:22 2014 -0500 rtlwifi: Modify cam.{c,h} and efuse.{c,h} for new drivers Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9afa2e44f4d8f9d031f815c32bb8f225f0f6746b Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:21 2014 -0500 rtlwifi: Modify base.{c,h} for new drivers Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f7953b2ad66cc5fc66e13d5c0a40e61b45cdfca8 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:20 2014 -0500 rtlwifi: Modify core.c for new drivers Each of the routines in the rtlwifi common driver needs to be modified for the coming changes. This patch prepares core.c, but also touches other files. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 38506ecefab911785d5e1aa5889f6eeb462e0954 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:19 2014 -0500 rtlwifi: rtl_pci: Start modification for new drivers Future patches will move the drivers for RTL8192EE and RTL8821AE from staging to the regular wireless tree. Here, the necessary features are added to the PCI driver. Other files are touched due to changes in the various data structs. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fd09ff958777cf583d7541f180991c0fc50bd2f7 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:18 2014 -0500 rtlwifi: Remove extra workqueue for enter/leave power state When the rtlwifi family of drivers was converted to use a workqueue when entering or leaving power save mode (commits a269913c52, a5ffbe0a19, 41affd5286, b9116b9a2b, and 6539306b2c), the code began scheduling work from the callback routine of a different workqueue with a resulting increase in overhead. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 560e334dbd9907ecdd25318fbdb33179c5d5a3bd Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:17 2014 -0500 rtlwifi: btcoexist: Fix Smatch warning The capability for 802.11ac will soon be added to these drivers. Once that is done, a bitmask will be too large for the data storage. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8d9e464a27e4afca4782a632f4bb18ea5e1eec5d Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 24 11:48:16 2014 +0530 ath9k: Fix offchannel queuing Clearing IEEE80211_TX_CTL_PS_RESPONSE in a frame that is not in the current context doesn't seem right. Instead make sure that we don't add such frames to the UAPSD queue by using a local variable. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c13a6a0535ec0338e804958e5353c8ff772838d2 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 24 11:48:15 2014 +0530 ath9k: Use normal queues for offchannel frames There is no reason why frames marked with IEEE80211_TX_CTL_TX_OFFCHAN have to be sent using the UAPSD queue. Since mac80211 makes sure that RoC is done before pushing an offchannel frame to the driver, we can use the normal TX queues for transmission. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d7017461fa4ce9a59104866a6c382eeca439560a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 24 11:48:14 2014 +0530 ath9k: Fix queue management Since we use IEEE80211_HW_QUEUE_CONTROL now, the CAB/Offchannel queues are registered as the last two queues. There is no need to check and reassign the queues in the TX start()/done() routines. CAB frames will not reach the tx() callback since we set IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING and pull the buffered frames during beacon transmission. We also don't have a special HW queue for handling off-channel frames. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 01f7feeaf4528bec83798316b3c811701bac5d3e Author: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Date: Wed Sep 24 11:24:54 2014 +0200 rt2800: correct BBP1_TX_POWER_CTRL mask Two bits control TX power on BBP_R1 register. Correct the mask, otherwise we clear additional bit on BBP_R1 register, what can have unknown, possible negative effect. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b6b1b0ec05889951747b6f22dcb0220f3cc2e9e0 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Mon Sep 22 15:31:41 2014 +0300 wil6210: ethtool ops Provide ethtool support; with support for interrupt coalescing through get_coalesce/set_coalesce. Placeholders for begin/complete will be used by runtime PM to make sure target is powered up while performing ethtool operations Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1abf676974be2d1c4acd156adf00beb1d25e2fed Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Sep 21 20:45:13 2014 +0200 bcma: gpio: use ChipCommon GPIO IRQ on BCM47XX arch only GPIOs can be also used on bcm53xx, however this arch requires different implementation of IRQ support. It uses different IRQ number (117) and different masks & acking. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8084bb0369b9924ecc775ce1c7050bc75ca016f3 Author: andrea.merello <andrea.merello@xxxxxxxxx> Date: Sat Sep 20 19:45:24 2014 +0200 rtl818x_pci: add RSSI information for rtl8187SE This patch makes the driver to report signal strength information to mac80211 for rtl8187se boards. It differs from my previous RFT patch: http://marc.info/?l=linux-wireless&m=140155388332534&w=2 because: - I have now a working rtl8187se card, so I could serve my RFT by myself. :) - CCK measurement code has changed a bit, but it does basically the same things. - OFDM measurement method is changed because the older method reported incorrect measures, at least for signals stronger than -40dBm). CCK measurement seems quite good. OFDM seems less accurate, but this is the same as the "reference" staging driver dose. I wanted not to change things just to make measures of _one_ (my) card a bit more close to what _I_ (in my setup) expected.. IMHO results are still good enough to justify reporting signal in dBm rather than in "unspecified" units, so this is what this patch actually does. Results of my tests with a working rtl8187se card connected with coaxes and various RF attenuators to my AP are: Input (approx) | CCK meas | OFDM meas -------------------------------------- -30dBm | -32dBm | -31dBm -40dBm | -40dBm | -41dBm -50dBm | -50dBm | -55dBm -60dBm | -59dBm | -63dBm -70dBm | -69dBm | -73dBm -80dBm | -79dBm | -83dBm Also some real-field tests has been done (no coax, packets in the air) for the CCK measure method, and they resulted in reasonable values. Thanks-to: Bernhard Schiffner <bernhard@xxxxxxxxxxxxxxxxxxxx> [ for real-field tests] Signed-off-by: andrea.merello <andrea.merello@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2ce73c02743f0abf7dbf0cc05cf0f92cf7ed951d Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:00:42 2014 +0530 ath9k: Fix p2p address management When multiple channel contexts are enabled, a p2p interface that is assigned to a context will have an address that is different from the device mac address, which is used by wpa_s as the p2p device ID. Certain frames like provision requests use the device address and these get dropped since ath9k_calculate_summary_state() iterates over only the active interfaces in a context and the device address is not used. Fix this by adding the device mac address to the bssid mask. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fbf019909173c683d85f7f63b0a33746bf5e4a02 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Sep 17 23:50:55 2014 +0200 bcma: print chip ID in a more user-friendly form Some chip IDs are easier to read/understand when printed in a decimal form. For example on my bcm53xx arch router this patch replaces: Found chip with id 0xCF12, rev 0x00 and package 0x02 with a: Found chip with id 53010, rev 0x00 and package 0x02 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8eda10eaa18709e951b5d5fbbf673543365a4455 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Sep 17 23:01:26 2014 +0530 mwifiex: ensure user_scan_in not NULL while setting scan channel gap Check for scan channel gap only when user_scan_in is not NULL. user_scan_in is NULL for internal scans and if we check scan channel gap at this place, it may result into crash. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit cb35582ab4d742c1be48c4e51712a19fa202e978 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 17 14:45:56 2014 +0530 ath9k: Cache BSS information Using the BSS information stored in mac80211 directly is racy in certain conditions. For example, in a MCC setup, if the scheduler is switching channels when a local deauth is issued, calculation of the opmode/bssid etc. is incorrect. To avoid this, store the bss params in the driver and use it. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ff04a771ad25fc9ba91690e73465b4d34b6bf8b3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 23 18:39:30 2014 -0700 net : optimize skb_release_data() Cache skb_shinfo(skb) in a variable to avoid computing it multiple times. Reorganize the tests to remove one indentation level. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cec08315190a4461a369d47041a510d104a5d2a2 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Sep 23 14:36:11 2014 -0700 sparc: bpf_jit: add support for BPF_LD(X) | BPF_LEN instructions BPF_LD | BPF_W | BPF_LEN instruction is occasionally used by tcpdump and present in 11 tests in lib/test_bpf.c Teach sparc JIT compiler to emit it. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a29b3dafbb2fc46421cc2950523814c7c6c8bfb Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Sep 23 15:19:41 2014 +0200 net: bcmgenet: Fix compile warning bcmgenet_wol_resume() is only used in bcmgenet_resume(), which is only defined when CONFIG_PM_SLEEP is enabled. This leads to the following compile warning when building with !CONFIG_PM_SLEEP: drivers/net/ethernet/broadcom/genet/bcmgenet.c:1967:12: warning: â??bcmgenet_wol_resumeâ?? defined but not used [-Wunused-function] Since bcmgenet_resume() is the only user of bcmgenet_wol_resume(), fix this by directly inlining the function there. Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8280bf00fdd87de876c4add5fa8ed05c18c78a2f Author: Wang Sheng-Hui <shhuiw@xxxxxxxxx> Date: Tue Sep 23 20:02:15 2014 +0800 net/openvswitch: remove dup comment in vport.h Remove the duplicated comment "/* The following definitions are for users of the vport subsytem: */" in vport.h Signed-off-by: Wang Sheng-Hui <shhuiw@xxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0162ac2b978e18792fa8cf3c0b4304321b4a3983 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 24 12:19:19 2014 +0200 nfsd: introduce nfsd4_callback_ops Add a higher level abstraction than the rpc_ops for callback operations. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit f0b5de1b6b8b66552bcc7ae692f45940d411cf05 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 24 12:19:18 2014 +0200 nfsd: split nfsd4_callback initialization and use Split out initializing the nfs4_callback structure from using it. For the NULL callback this gets rid of tons of pointless re-initializations. Note that I don't quite understand what protects us from running multiple NULL callbacks at the same time, but at least this chance doesn't make it worse.. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 326129d02aea8efa1dfd1a210653a744e7c85239 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 24 12:19:17 2014 +0200 nfsd: introduce a generic nfsd4_cb Add a helper to queue up a callback. CB_NULL has a bit of special casing because it is special in the specification, but all other new callback operations will be able to share code with this and a few more changes to refactor the callback code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 2faf3b43507556bd80e5274270db1fce1408f4ff Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 24 12:19:16 2014 +0200 nfsd: remove nfsd4_callback.cb_op We can always get at the private data by using container_of, no need for a void pointer. Also introduce a little to_delegation helper to avoid opencoding the container_of everywhere. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 341b51df1fef0a39d792fb1c7d7856cf142627ab Author: Benny Halevy <bhalevy@xxxxxxxxxxx> Date: Tue Sep 23 08:58:49 2014 +0200 nfsd: do not clear rpc_resp in nfsd4_cb_done_sequence This is incorrect when a callback is has to be restarted, in which case the XDR decoding of the second iteration will see a NULL cb argument. [hch: updated description] Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 444b6e910d2a637cc144c74b15efd1b61bf737bb Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 23 08:58:48 2014 +0200 nfsd: fix nfsd4_cb_recall_done error handling For any error that is not EBADHANDLE or NFS4ERR_BAD_STATEID, nfsd4_cb_recall_done first marks the connection down, then retries until dl_retries hits zero, then marks the connection down again and sets cb_done. This changes the code to only retry for EBADHANDLE or NFS4ERR_BAD_STATEID, and factors setting cb_done into a single point in the function. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit b1840060508d2c5202abb07b6128e4645d78fe57 Merge: 58e3cac a211e01 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 16:23:12 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-09-23 This patch series adds support for the FM10000 Ethernet switch host interface. The Intel FM10000 Ethernet Switch is a 48-port Ethernet switch supporting both Ethernet ports and PCI Express host interfaces. The fm10k driver provides support for the host interface portion of the switch, both PF and VF. As the host interfaces are directly connected to the switch this results in some significant differences versus a standard network driver. For example there is no PHY or MII on the device. Since packets are delivered directly from the switch to the host interface these are unnecessary. Otherwise most of the functionality is very similar to our other network drivers such as ixgbe or igb. For example we support all the standard network offloads, jumbo frames, SR-IOV (64 VFS), PTP, and some VXLAN and NVGRE offloads. v2: converted dev_consume_skb_any() to dev_kfree_skb_any() fix up PTP code based on feedback from the community v3: converted the use of smb_mb__before_clear_bit() to smb_mb__before_atomic() added vmalloc header to patch 15 added prefetch header to patch 16 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58e3cac5613aa01720e55637d8f1c966a25c3202 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue Sep 23 10:54:37 2014 +0200 net: optimise inet_proto_csum_replace4() csum_partial() is a generic function which is not optimised for small fixed length calculations, and its use requires to store "from" and "to" values in memory while we already have them available in registers. This also has impact, especially on RISC processors. In the same spirit as the change done by Eric Dumazet on csum_replace2(), this patch rewrites inet_proto_csum_replace4() taking into account RFC1624. I spotted during a NATted tcp transfert that csum_partial() is one of top 5 consuming functions (around 8%), and the second user of csum_partial() is inet_proto_csum_replace4(). Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4565af0d406bed44bc8756230eae8f7caa5e0334 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue Sep 23 10:54:32 2014 +0200 net: optimise csum_replace4() csum_partial() is a generic function which is not optimised for small fixed length calculations, and its use requires to store "from" and "to" values in memory while we already have them available in registers. This also has impact, especially on RISC processors. In the same spirit as the change done by Eric Dumazet on csum_replace2(), this patch rewrites inet_proto_csum_replace4() taking into account RFC1624. I spotted during a NATted tcp transfert that csum_partial() is one of top 5 consuming functions (around 8%), and the second user of csum_partial() is inet_proto_csum_replace4(). I have proposed the same modification to inet_proto_csum_replace4() in another patch. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3290d6555350a035319643e7d7a6d14be08073e5 Merge: f4a775d e3c9614 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 16:05:25 2014 -0400 Merge branch 'fec' Fugang Duan says: ==================== net: fec: Code cleanup This patches does several things: - Fixing multiqueue issue. - Removing the unnecessary errata workaround. - Aligning the data buffer dma map/unmap size. - Freeing resource after probe failed. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3c9614f3a5869e93c78b1630ab72572aa4cd2a3 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Tue Sep 23 15:40:58 2014 +0800 net: fec: free resource after phy probe failed Free memory and disable all related clocks when there has no phy connection or phy probe failed. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b64bf4b7dded4febb8e1f319eb6b9d419cbbd856 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Tue Sep 23 15:40:57 2014 +0800 net: fec: align rx data buffer size for dma map/unmap Align allocated rx data buffer size for dma map/unmap, otherwise kernel print warning when enable DMA_API_DEBUG. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f88c7ede50f6266d82d504f2165bd7f0237b30d8 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Tue Sep 23 15:40:56 2014 +0800 net: fec: remove the ERR006358 workaround for imx6sx enet Remove the ERR006358 workaround for imx6sx enet since the hw issue was fixed on the SOC. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit befe82133588c3b3c44c5e803b4b434e8665a673 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Tue Sep 23 15:40:55 2014 +0800 net: fec: Add Ftype to BD to distiguish three tx queues for AVB The current driver loss Ftype field init for BD, which cause tx queue #1 and #2 cannot work well. Add Ftype field to BD to distiguish three queues for AVB: 0 -> Best Effort 1 -> ClassA 2 -> ClassB Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4a775d14489a801a5b8b0540e23ab82e2703091 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 22 16:29:32 2014 -0700 net: introduce __skb_header_release() While profiling TCP stack, I noticed one useless atomic operation in tcp_sendmsg(), caused by skb_header_release(). It turns out all current skb_header_release() users have a fresh skb, that no other user can see, so we can avoid one atomic operation. Introduce __skb_header_release() to clearly document this. This gave me a 1.5 % improvement on TCP_RR workload. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aebac744932439b5f869869f07f406a9cced465d Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 22 17:55:29 2014 -0300 fec: Remove fec_enet_select_queue() Sparse complains about fec_enet_select_queue() not being static. Feedback from David Miller [1] was to remove this function instead of making it static: "Please just delete this function. It's overriding code which does exactly the same thing. Actually, more precisely, this code is duplicating code in a way that bypasses many core facilitites of the networking. For example, this override means that socket based flow steering, XPS, etc. are all not happening on these devices. Without ->ndo_select_queue(), the flow dissector does __netdev_pick_tx which is exactly what you want to happen." [1] http://www.spinics.net/lists/netdev/msg297653.html Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57219dc7bfc5cae48c8309974054733499a0dc63 Merge: 6ea754e 7a0a260 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 15:19:05 2014 -0400 Merge tag 'master-2014-09-16' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== pull request: wireless-next 2014-09-22 Please pull this batch of updates intended for the 3.18 stream... For the mac80211 bits, Johannes says: "This time, I have some rate minstrel improvements, support for a very small feature from CCX that Steinar reverse-engineered, dynamic ACK timeout support, a number of changes for TDLS, early support for radio resource measurement and many fixes. Also, I'm changing a number of places to clear key memory when it's freed and Intel claims copyright for code they developed." For the bluetooth bits, Johan says: "Here are some more patches intended for 3.18. Most of them are cleanups or fixes for SMP. The only exception is a fix for BR/EDR L2CAP fixed channels which should now work better together with the L2CAP information request procedure." For the iwlwifi bits, Emmanuel says: "I fix here dvm which was broken by my last pull request. Arik continues to work on TDLS and Luca solved a few issues in CT-Kill. Eyal keeps digging into rate scaling code, more to come soon. Besides this, nothing really special here." Beyond that, there are the usual big batches of updates to ath9k, b43, mwifiex, and wil6210 as well as a handful of other bits here and there. Also, rtlwifi gets some btcoexist attention from Larry. Please let me know if there are problems! ==================== Had to adjust the wil6210 code to comply with Joe Perches's recent change in net-next to make the netdev_*() routines return void instead of 'int'. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ea754eb761d9e7a8ac6fa462b05f9e4cf04fb6c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 11:10:50 2014 -0700 net: Change netdev_<level> logging functions to return void No caller or macro uses the return value so make all the functions return void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c87b29c3167a2cf9870e721b522651de2c72ce2 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 10:40:22 2014 -0700 mellanox: Change en_print to return void No caller or macro uses the return value so make it void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-By: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4fc1a460f3017e958e6a8ea560ea0afd91bf6fe Merge: 4a8e320 3c731eb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 15:05:40 2014 -0400 Merge branch 'bpf-next' Alexei Starovoitov says: ==================== eBPF syscall, verifier, testsuite v14 -> v15: - got rid of macros with hidden control flow (suggested by David) replaced macro with explicit goto or return and simplified where possible (affected patches #9 and #10) - rebased, retested v13 -> v14: - small change to 1st patch to ease 'new userspace with old kernel' problem (done similar to perf_copy_attr()) (suggested by Daniel) - the rest unchanged v12 -> v13: - replaced 'foo __user *' pointers with __aligned_u64 (suggested by David) - added __attribute__((aligned(8)) to 'union bpf_attr' to keep constant alignment between patches - updated manpage and syscall wrappers due to __aligned_u64 - rebased, retested on x64 with 32-bit and 64-bit userspace and on i386, build tested on arm32,sparc64 v11 -> v12: - dropped patch 11 and copied few macros to libbpf.h (suggested by Daniel) - replaced 'enum bpf_prog_type' with u32 to be safe in compat (.. Andy) - implemented and tested compat support (not part of this set) (.. Daniel) - changed 'void *log_buf' to 'char *' (.. Daniel) - combined struct bpf_work_struct and bpf_prog_info (.. Daniel) - added better return value explanation to manpage (.. Andy) - added log_buf/log_size explanation to manpage (.. Andy & Daniel) - added a lot more info about prog_type and map_type to manpage (.. Andy) - rebased, tweaked test_stubs Patches 1-4 establish BPF syscall shell for maps and programs. Patches 5-10 add verifier step by step Patch 11 adds test stubs for 'unspec' program type and verifier testsuite from user space Note that patches 1,3,4,7 add commands and attributes to the syscall while being backwards compatible from each other, which should demonstrate how other commands can be added in the future. After this set the programs can be loaded for testing only. They cannot be attached to any events. Though manpage talks about tracing and sockets, it will be a subject of future patches. Please take a look at manpage: BPF(2) Linux Programmer's Manual BPF(2) NAME bpf - perform a command on eBPF map or program SYNOPSIS #include <linux/bpf.h> int bpf(int cmd, union bpf_attr *attr, unsigned int size); DESCRIPTION bpf() syscall is a multiplexor for a range of different operations on eBPF which can be characterized as "universal in-kernel virtual machine". eBPF is similar to original Berkeley Packet Filter (or "classic BPF") used to filter network packets. Both statically analyze the programs before loading them into the kernel to ensure that programs cannot harm the running system. eBPF extends classic BPF in multiple ways including ability to call in- kernel helper functions and access shared data structures like eBPF maps. The programs can be written in a restricted C that is compiled into eBPF bytecode and executed on the eBPF virtual machine or JITed into native instruction set. eBPF Design/Architecture eBPF maps is a generic storage of different types. User process can create multiple maps (with key/value being opaque bytes of data) and access them via file descriptor. In parallel eBPF programs can access maps from inside the kernel. It's up to user process and eBPF program to decide what they store inside maps. eBPF programs are similar to kernel modules. They are loaded by the user process and automatically unloaded when process exits. Each eBPF program is a safe run-to-completion set of instructions. eBPF verifier statically determines that the program terminates and is safe to execute. During verification the program takes a hold of maps that it intends to use, so selected maps cannot be removed until the program is unloaded. The program can be attached to different events. These events can be packets, tracepoint events and other types in the future. A new event triggers execution of the program which may store information about the event in the maps. Beyond storing data the programs may call into in-kernel helper functions which may, for example, dump stack, do trace_printk or other forms of live kernel debugging. The same program can be attached to multiple events. Different programs can access the same map: tracepoint tracepoint tracepoint sk_buff sk_buff event A event B event C on eth0 on eth1 | | | | | | | | | | --> tracing <-- tracing socket socket prog_1 prog_2 prog_3 prog_4 | | | | |--- -----| |-------| map_3 map_1 map_2 Syscall Arguments bpf() syscall operation is determined by cmd which can be one of the following: BPF_MAP_CREATE Create a map with given type and attributes and return map FD BPF_MAP_LOOKUP_ELEM Lookup element by key in a given map and return its value BPF_MAP_UPDATE_ELEM Create or update element (key/value pair) in a given map BPF_MAP_DELETE_ELEM Lookup and delete element by key in a given map BPF_MAP_GET_NEXT_KEY Lookup element by key in a given map and return key of next element BPF_PROG_LOAD Verify and load eBPF program attr is a pointer to a union of type bpf_attr as defined below. size is the size of the union. union bpf_attr { struct { /* anonymous struct used by BPF_MAP_CREATE command */ __u32 map_type; __u32 key_size; /* size of key in bytes */ __u32 value_size; /* size of value in bytes */ __u32 max_entries; /* max number of entries in a map */ }; struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */ __u32 map_fd; __aligned_u64 key; union { __aligned_u64 value; __aligned_u64 next_key; }; }; struct { /* anonymous struct used by BPF_PROG_LOAD command */ __u32 prog_type; __u32 insn_cnt; __aligned_u64 insns; /* 'const struct bpf_insn *' */ __aligned_u64 license; /* 'const char *' */ __u32 log_level; /* verbosity level of eBPF verifier */ __u32 log_size; /* size of user buffer */ __aligned_u64 log_buf; /* user supplied 'char *' buffer */ }; } __attribute__((aligned(8))); eBPF maps maps is a generic storage of different types for sharing data between kernel and userspace. Any map type has the following attributes: . type . max number of elements . key size in bytes . value size in bytes The following wrapper functions demonstrate how this syscall can be used to access the maps. The functions use the cmd argument to invoke different operations. BPF_MAP_CREATE int bpf_create_map(enum bpf_map_type map_type, int key_size, int value_size, int max_entries) { union bpf_attr attr = { .map_type = map_type, .key_size = key_size, .value_size = value_size, .max_entries = max_entries }; return bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); } bpf() syscall creates a map of map_type type and given attributes key_size, value_size, max_entries. On success it returns process-local file descriptor. On error, -1 is returned and errno is set to EINVAL or EPERM or ENOMEM. The attributes key_size and value_size will be used by verifier during program loading to check that program is calling bpf_map_*_elem() helper functions with correctly initialized key and that program doesn't access map element value beyond specified value_size. For example, when map is created with key_size = 8 and program does: bpf_map_lookup_elem(map_fd, fp - 4) such program will be rejected, since in-kernel helper function bpf_map_lookup_elem(map_fd, void *key) expects to read 8 bytes from 'key' pointer, but 'fp - 4' starting address will cause out of bounds stack access. Similarly, when map is created with value_size = 1 and program does: value = bpf_map_lookup_elem(...); *(u32 *)value = 1; such program will be rejected, since it accesses value pointer beyond specified 1 byte value_size limit. Currently only hash table map_type is supported: enum bpf_map_type { BPF_MAP_TYPE_UNSPEC, BPF_MAP_TYPE_HASH, }; map_type selects one of the available map implementations in kernel. For all map_types eBPF programs access maps with the same bpf_map_lookup_elem()/bpf_map_update_elem() helper functions. BPF_MAP_LOOKUP_ELEM int bpf_lookup_elem(int fd, void *key, void *value) { union bpf_attr attr = { .map_fd = fd, .key = ptr_to_u64(key), .value = ptr_to_u64(value), }; return bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr)); } bpf() syscall looks up an element with given key in a map fd. If element is found it returns zero and stores element's value into value. If element is not found it returns -1 and sets errno to ENOENT. BPF_MAP_UPDATE_ELEM int bpf_update_elem(int fd, void *key, void *value) { union bpf_attr attr = { .map_fd = fd, .key = ptr_to_u64(key), .value = ptr_to_u64(value), }; return bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr)); } The call creates or updates element with given key/value in a map fd. On success it returns zero. On error, -1 is returned and errno is set to EINVAL or EPERM or ENOMEM or E2BIG. E2BIG indicates that number of elements in the map reached max_entries limit specified at map creation time. BPF_MAP_DELETE_ELEM int bpf_delete_elem(int fd, void *key) { union bpf_attr attr = { .map_fd = fd, .key = ptr_to_u64(key), }; return bpf(BPF_MAP_DELETE_ELEM, &attr, sizeof(attr)); } The call deletes an element in a map fd with given key. Returns zero on success. If element is not found it returns -1 and sets errno to ENOENT. BPF_MAP_GET_NEXT_KEY int bpf_get_next_key(int fd, void *key, void *next_key) { union bpf_attr attr = { .map_fd = fd, .key = ptr_to_u64(key), .next_key = ptr_to_u64(next_key), }; return bpf(BPF_MAP_GET_NEXT_KEY, &attr, sizeof(attr)); } The call looks up an element by key in a given map fd and returns key of the next element into next_key pointer. If key is not found, it return zero and returns key of the first element into next_key. If key is the last element, it returns -1 and sets errno to ENOENT. Other possible errno values are ENOMEM, EFAULT, EPERM, EINVAL. This method can be used to iterate over all elements of the map. close(map_fd) will delete the map map_fd. Exiting process will delete all maps automatically. eBPF programs BPF_PROG_LOAD This cmd is used to load eBPF program into the kernel. char bpf_log_buf[LOG_BUF_SIZE]; int bpf_prog_load(enum bpf_prog_type prog_type, const struct bpf_insn *insns, int insn_cnt, const char *license) { union bpf_attr attr = { .prog_type = prog_type, .insns = ptr_to_u64(insns), .insn_cnt = insn_cnt, .license = ptr_to_u64(license), .log_buf = ptr_to_u64(bpf_log_buf), .log_size = LOG_BUF_SIZE, .log_level = 1, }; return bpf(BPF_PROG_LOAD, &attr, sizeof(attr)); } prog_type is one of the available program types: enum bpf_prog_type { BPF_PROG_TYPE_UNSPEC, BPF_PROG_TYPE_SOCKET, BPF_PROG_TYPE_TRACING, }; By picking prog_type program author selects a set of helper functions callable from eBPF program and corresponding format of struct bpf_context (which is the data blob passed into the program as the first argument). For example, the programs loaded with prog_type = TYPE_TRACING may call bpf_printk() helper, whereas TYPE_SOCKET programs may not. The set of functions available to the programs under given type may increase in the future. Currently the set of functions for TYPE_TRACING is: bpf_map_lookup_elem(map_fd, void *key) // lookup key in a map_fd bpf_map_update_elem(map_fd, void *key, void *value) // update key/value bpf_map_delete_elem(map_fd, void *key) // delete key in a map_fd bpf_ktime_get_ns(void) // returns current ktime bpf_printk(char *fmt, int fmt_size, ...) // prints into trace buffer bpf_memcmp(void *ptr1, void *ptr2, int size) // non-faulting memcmp bpf_fetch_ptr(void *ptr) // non-faulting load pointer from any address bpf_fetch_u8(void *ptr) // non-faulting 1 byte load bpf_fetch_u16(void *ptr) // other non-faulting loads bpf_fetch_u32(void *ptr) bpf_fetch_u64(void *ptr) and bpf_context is defined as: struct bpf_context { /* argN fields match one to one to arguments passed to trace events */ u64 arg1, arg2, arg3, arg4, arg5, arg6; /* return value from kretprobe event or from syscall_exit event */ u64 ret; }; The set of helper functions for TYPE_SOCKET is TBD. More program types may be added in the future. Like BPF_PROG_TYPE_USER_TRACING for unprivileged programs. BPF_PROG_TYPE_UNSPEC is used for testing only. Such programs cannot be attached to events. insns array of "struct bpf_insn" instructions insn_cnt number of instructions in the program license license string, which must be GPL compatible to call helper functions marked gpl_only log_buf user supplied buffer that in-kernel verifier is using to store verification log. Log is a multi-line string that should be used by program author to understand how verifier came to conclusion that program is unsafe. The format of the output can change at any time as verifier evolves. log_size size of user buffer. If size of the buffer is not large enough to store all verifier messages, -1 is returned and errno is set to ENOSPC. log_level verbosity level of eBPF verifier, where zero means no logs provided close(prog_fd) will unload eBPF program The maps are accesible from programs and generally tie the two together. Programs process various events (like tracepoint, kprobe, packets) and store the data into maps. User space fetches data from maps. Either the same or a different map may be used by user space as configuration space to alter program behavior on the fly. Events Once an eBPF program is loaded, it can be attached to an event. Various kernel subsystems have different ways to do so. For example: setsockopt(sock, SOL_SOCKET, SO_ATTACH_BPF, &prog_fd, sizeof(prog_fd)); will attach the program prog_fd to socket sock which was received by prior call to socket(). ioctl(event_fd, PERF_EVENT_IOC_SET_BPF, prog_fd); will attach the program prog_fd to perf event event_fd which was received by prior call to perf_event_open(). Another way to attach the program to a tracing event is: event_fd = open("/sys/kernel/debug/tracing/events/skb/kfree_skb/filter"); write(event_fd, "bpf-123"); /* where 123 is eBPF program FD */ /* here program is attached and will be triggered by events */ close(event_fd); /* to detach from event */ EXAMPLES /* eBPF+sockets example: * 1. create map with maximum of 2 elements * 2. set map[6] = 0 and map[17] = 0 * 3. load eBPF program that counts number of TCP and UDP packets received * via map[skb->ip->proto]++ * 4. attach prog_fd to raw socket via setsockopt() * 5. print number of received TCP/UDP packets every second */ int main(int ac, char **av) { int sock, map_fd, prog_fd, key; long long value = 0, tcp_cnt, udp_cnt; map_fd = bpf_create_map(BPF_MAP_TYPE_HASH, sizeof(key), sizeof(value), 2); if (map_fd < 0) { printf("failed to create map '%s'\n", strerror(errno)); /* likely not run as root */ return 1; } key = 6; /* ip->proto == tcp */ assert(bpf_update_elem(map_fd, &key, &value) == 0); key = 17; /* ip->proto == udp */ assert(bpf_update_elem(map_fd, &key, &value) == 0); struct bpf_insn prog[] = { BPF_MOV64_REG(BPF_REG_6, BPF_REG_1), /* r6 = r1 */ BPF_LD_ABS(BPF_B, 14 + 9), /* r0 = ip->proto */ BPF_STX_MEM(BPF_W, BPF_REG_10, BPF_REG_0, -4),/* *(u32 *)(fp - 4) = r0 */ BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), /* r2 = fp */ BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -4), /* r2 = r2 - 4 */ BPF_LD_MAP_FD(BPF_REG_1, map_fd), /* r1 = map_fd */ BPF_CALL_FUNC(BPF_FUNC_map_lookup_elem), /* r0 = map_lookup(r1, r2) */ BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 2), /* if (r0 == 0) goto pc+2 */ BPF_MOV64_IMM(BPF_REG_1, 1), /* r1 = 1 */ BPF_XADD(BPF_DW, BPF_REG_0, BPF_REG_1, 0, 0), /* lock *(u64 *)r0 += r1 */ BPF_MOV64_IMM(BPF_REG_0, 0), /* r0 = 0 */ BPF_EXIT_INSN(), /* return r0 */ }; prog_fd = bpf_prog_load(BPF_PROG_TYPE_SOCKET, prog, sizeof(prog), "GPL"); assert(prog_fd >= 0); sock = open_raw_sock("lo"); assert(setsockopt(sock, SOL_SOCKET, SO_ATTACH_BPF, &prog_fd, sizeof(prog_fd)) == 0); for (;;) { key = 6; assert(bpf_lookup_elem(map_fd, &key, &tcp_cnt) == 0); key = 17; assert(bpf_lookup_elem(map_fd, &key, &udp_cnt) == 0); printf("TCP %lld UDP %lld packets0, tcp_cnt, udp_cnt); sleep(1); } return 0; } RETURN VALUE For a successful call, the return value depends on the operation: BPF_MAP_CREATE The new file descriptor associated with eBPF map. BPF_PROG_LOAD The new file descriptor associated with eBPF program. All other commands Zero. On error, -1 is returned, and errno is set appropriately. ERRORS EPERM bpf() syscall was made without sufficient privilege (without the CAP_SYS_ADMIN capability). ENOMEM Cannot allocate sufficient memory. EBADF fd is not an open file descriptor EFAULT One of the pointers ( key or value or log_buf or insns ) is outside accessible address space. EINVAL The value specified in cmd is not recognized by this kernel. EINVAL For BPF_MAP_CREATE, either map_type or attributes are invalid. EINVAL For BPF_MAP_*_ELEM commands, some of the fields of "union bpf_attr" unused by this command are not set to zero. EINVAL For BPF_PROG_LOAD, attempt to load invalid program (unrecognized instruction or uses reserved fields or jumps out of range or loop detected or calls unknown function). EACCES For BPF_PROG_LOAD, though program has valid instructions, it was rejected, since it was deemed unsafe (may access disallowed memory region or uninitialized stack/register or function constraints don't match actual types or misaligned access). In such case it is recommended to call bpf() again with log_level = 1 and examine log_buf for specific reason provided by verifier. ENOENT For BPF_MAP_LOOKUP_ELEM or BPF_MAP_DELETE_ELEM, indicates that element with given key was not found. E2BIG program is too large or a map reached max_entries limit (max number of elements). NOTES These commands may be used only by a privileged process (one having the CAP_SYS_ADMIN capability). SEE ALSO eBPF architecture and instruction set is explained in Documentation/networking/filter.txt Linux 2014-09-16 BPF(2) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c731eba48e1b0650decfc91a839b80f0e05ce8f Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:07 2014 -0700 bpf: mini eBPF library, test stubs and verifier testsuite 1. the library includes a trivial set of BPF syscall wrappers: int bpf_create_map(int key_size, int value_size, int max_entries); int bpf_update_elem(int fd, void *key, void *value); int bpf_lookup_elem(int fd, void *key, void *value); int bpf_delete_elem(int fd, void *key); int bpf_get_next_key(int fd, void *key, void *next_key); int bpf_prog_load(enum bpf_prog_type prog_type, const struct sock_filter_int *insns, int insn_len, const char *license); bpf_prog_load() stores verifier log into global bpf_log_buf[] array and BPF_*() macros to build instructions 2. test stubs configure eBPF infra with 'unspec' map and program types. These are fake types used by user space testsuite only. 3. verifier tests valid and invalid programs and expects predefined error log messages from kernel. 40 tests so far. $ sudo ./test_verifier #0 add+sub+mul OK #1 unreachable OK #2 unreachable2 OK #3 out of range jump OK #4 out of range jump2 OK #5 test1 ld_imm64 OK ... Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17a5267067f3c372fec9ffb798d6eaba6b5e6a4c Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:06 2014 -0700 bpf: verifier (add verifier core) This patch adds verifier core which simulates execution of every insn and records the state of registers and program stack. Every branch instruction seen during simulation is pushed into state stack. When verifier reaches BPF_EXIT, it pops the state from the stack and continues until it reaches BPF_EXIT again. For program: 1: bpf_mov r1, xxx 2: if (r1 == 0) goto 5 3: bpf_mov r0, 1 4: goto 6 5: bpf_mov r0, 2 6: bpf_exit The verifier will walk insns: 1, 2, 3, 4, 6 then it will pop the state recorded at insn#2 and will continue: 5, 6 This way it walks all possible paths through the program and checks all possible values of registers. While doing so, it checks for: - invalid instructions - uninitialized register access - uninitialized stack access - misaligned stack access - out of range stack access - invalid calling convention - instruction encoding is not using reserved fields Kernel subsystem configures the verifier with two callbacks: - bool (*is_valid_access)(int off, int size, enum bpf_access_type type); that provides information to the verifer which fields of 'ctx' are accessible (remember 'ctx' is the first argument to eBPF program) - const struct bpf_func_proto *(*get_func_proto)(enum bpf_func_id func_id); returns argument constraints of kernel helper functions that eBPF program may call, so that verifier can checks that R1-R5 types match the prototype More details in Documentation/networking/filter.txt and in kernel/bpf/verifier.c Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 475fb78fbf48592ce541627c60a7b331060e31f5 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:05 2014 -0700 bpf: verifier (add branch/goto checks) check that control flow graph of eBPF program is a directed acyclic graph check_cfg() does: - detect loops - detect unreachable instructions - check that program terminates with BPF_EXIT insn - check that all branches are within program boundary Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0246e64d9a5fcd4805198de59b9b5cf1f974eb41 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:04 2014 -0700 bpf: handle pseudo BPF_LD_IMM64 insn eBPF programs passed from userspace are using pseudo BPF_LD_IMM64 instructions to refer to process-local map_fd. Scan the program for such instructions and if FDs are valid, convert them to 'struct bpf_map' pointers which will be used by verifier to check access to maps in bpf_map_lookup/update() calls. If program passes verifier, convert pseudo BPF_LD_IMM64 into generic by dropping BPF_PSEUDO_MAP_FD flag. Note that eBPF interpreter is generic and knows nothing about pseudo insns. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbd357008604925355ae7b54a09137dabb81b580 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:03 2014 -0700 bpf: verifier (add ability to receive verification log) add optional attributes for BPF_PROG_LOAD syscall: union bpf_attr { struct { ... __u32 log_level; /* verbosity level of eBPF verifier */ __u32 log_size; /* size of user buffer */ __aligned_u64 log_buf; /* user supplied 'char *buffer' */ }; }; when log_level > 0 the verifier will return its verification log in the user supplied buffer 'log_buf' which can be used by program author to analyze why verifier rejected given program. 'Understanding eBPF verifier messages' section of Documentation/networking/filter.txt provides several examples of these messages, like the program: BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_CALL_FUNC(BPF_FUNC_map_lookup_elem), BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1), BPF_ST_MEM(BPF_DW, BPF_REG_0, 4, 0), BPF_EXIT_INSN(), will be rejected with the following multi-line message in log_buf: 0: (7a) *(u64 *)(r10 -8) = 0 1: (bf) r2 = r10 2: (07) r2 += -8 3: (b7) r1 = 0 4: (85) call 1 5: (15) if r0 == 0x0 goto pc+1 R0=map_ptr R10=fp 6: (7a) *(u64 *)(r0 +4) = 0 misaligned access off 4 size 8 The format of the output can change at any time as verifier evolves. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51580e798cb61b0fc63fa3aa6c5c975375aa0550 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:02 2014 -0700 bpf: verifier (add docs) this patch adds all of eBPF verfier documentation and empty bpf_check() The end goal for the verifier is to statically check safety of the program. Verifier will catch: - loops - out of range jumps - unreachable instructions - invalid instructions - uninitialized register access - uninitialized stack access - misaligned stack access - out of range stack access - invalid calling convention More details in Documentation/networking/filter.txt Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a542a86d73b1577e7d4f55fc95dcffd3fe62643 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:01 2014 -0700 bpf: handle pseudo BPF_CALL insn in native eBPF programs userspace is using pseudo BPF_CALL instructions which encode one of 'enum bpf_func_id' inside insn->imm field. Verifier checks that program using correct function arguments to given func_id. If all checks passed, kernel needs to fixup BPF_CALL->imm fields by replacing func_id with in-kernel function pointer. eBPF interpreter just calls the function. In-kernel eBPF users continue to use generic BPF_CALL. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09756af46893c18839062976c3252e93a1beeba7 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:00 2014 -0700 bpf: expand BPF syscall with program load/unload eBPF programs are similar to kernel modules. They are loaded by the user process and automatically unloaded when process exits. Each eBPF program is a safe run-to-completion set of instructions. eBPF verifier statically determines that the program terminates and is safe to execute. The following syscall wrapper can be used to load the program: int bpf_prog_load(enum bpf_prog_type prog_type, const struct bpf_insn *insns, int insn_cnt, const char *license) { union bpf_attr attr = { .prog_type = prog_type, .insns = ptr_to_u64(insns), .insn_cnt = insn_cnt, .license = ptr_to_u64(license), }; return bpf(BPF_PROG_LOAD, &attr, sizeof(attr)); } where 'insns' is an array of eBPF instructions and 'license' is a string that must be GPL compatible to call helper functions marked gpl_only Upon succesful load the syscall returns prog_fd. Use close(prog_fd) to unload the program. User space tests and examples follow in the later patches Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db20fd2b01087bdfbe30bce314a198eefedcc42e Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:16:59 2014 -0700 bpf: add lookup/update/delete/iterate methods to BPF maps 'maps' is a generic storage of different types for sharing data between kernel and userspace. The maps are accessed from user space via BPF syscall, which has commands: - create a map with given type and attributes fd = bpf(BPF_MAP_CREATE, union bpf_attr *attr, u32 size) returns fd or negative error - lookup key in a given map referenced by fd err = bpf(BPF_MAP_LOOKUP_ELEM, union bpf_attr *attr, u32 size) using attr->map_fd, attr->key, attr->value returns zero and stores found elem into value or negative error - create or update key/value pair in a given map err = bpf(BPF_MAP_UPDATE_ELEM, union bpf_attr *attr, u32 size) using attr->map_fd, attr->key, attr->value returns zero or negative error - find and delete element by key in a given map err = bpf(BPF_MAP_DELETE_ELEM, union bpf_attr *attr, u32 size) using attr->map_fd, attr->key - iterate map elements (based on input key return next_key) err = bpf(BPF_MAP_GET_NEXT_KEY, union bpf_attr *attr, u32 size) using attr->map_fd, attr->key, attr->next_key - close(fd) deletes the map Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 749730ce42a2121e1c88350d69478bff3994b10a Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:16:58 2014 -0700 bpf: enable bpf syscall on x64 and i386 done as separate commit to ease conflict resolution Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99c55f7d47c0dc6fc64729f37bf435abf43f4c60 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:16:57 2014 -0700 bpf: introduce BPF syscall and maps BPF syscall is a multiplexor for a range of different operations on eBPF. This patch introduces syscall with single command to create a map. Next patch adds commands to access maps. 'maps' is a generic storage of different types for sharing data between kernel and userspace. Userspace example: /* this syscall wrapper creates a map with given type and attributes * and returns map_fd on success. * use close(map_fd) to delete the map */ int bpf_create_map(enum bpf_map_type map_type, int key_size, int value_size, int max_entries) { union bpf_attr attr = { .map_type = map_type, .key_size = key_size, .value_size = value_size, .max_entries = max_entries }; return bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); } 'union bpf_attr' is backwards compatible with future extensions. More details in Documentation/networking/filter.txt and in manpage Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29075feaf1f55e6b1aa4054b44bc141e8d5eab0b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 09:05:39 2014 -0700 next: openrisc: Fix build openrisc:defconfig fails to build in next-20140926 with the following error. In file included from arch/openrisc/kernel/signal.c:31:0: ./arch/openrisc/include/asm/syscall.h: In function 'syscall_get_arch': ./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC' undeclared Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h. Fixes: ce5d112827e5 ("ARCH: AUDIT: implement syscall_get_arch for all arches") Cc: Eric Paris <eparis@xxxxxxxxxx> Cc: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 18a702e0de9879d5c0225a09f494443f0b91a0cc Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Thu Sep 25 17:03:51 2014 +0530 power: reset: use restart_notifier mechanism for msm-poweroff This change replaces use of arm_pm_restart with recently introduced reset mechanism in Linux kernel called restart_notifier. Choosing priority 128, which is default priority, as according to documentation, this mechanism is sufficient to restart the entire system. Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Cc: Sebastian Reichel <sre@xxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 371bb20d6927f204ef5a7887ecddb06b2501c0d9 Author: David Riley <davidriley@xxxxxxxxxxxx> Date: Wed Aug 27 12:23:51 2014 -0700 power: Add simple gpio-restart driver This driver registers a restart handler to set a GPIO line high/low to reset a board based on devicetree bindings. Signed-off-by: David Riley <davidriley@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 093ec3c5337434f40d77c1af06c139da3e5ba6dc Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Wed Sep 10 10:53:41 2014 +0200 ath5k: Remove AHB bus support AHB bus support was added in v2.6.38, through commit a0b907ee2a71 ("ath5k: Add AHB bus support."). That code can only be build if the Kconfig symbol ATHEROS_AR231X is set. But that symbol has never been added to the tree. So AHB bus support has always been dead code. Let's remove all code that depends on ATHEROS_AR231X. If that symbol ever gets added to the tree the AHB bus support can be re-added too. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1670d8569eeb5c5c15776d37b00a2afb5255bf28 Merge: b08fec2 6cd6d94 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Sep 26 19:45:11 2014 +0200 Merge tag 'tags/restart-handler-for-v3.18' into next Immutable branch with restart handler patches for v3.18 commit 30d3c071a64ad8a0aaef8fbd9513698889456680 Merge: 330bd4e 565766b Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Fri Sep 26 13:38:51 2014 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 330bd4ec9d046a6e6f8b7cf4a53c2d15b7705e00 Merge: 687b930 094e935 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Fri Sep 26 13:37:02 2014 -0400 Merge tag 'nfc-next-3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> says: "NFC: 3.18 pull request This is the NFC pull request for 3.18. We've had major updates for TI and ST Microelectronics drivers: For TI's trf7970a driver: - Target mode support for trf7970a - Suspend/resume support for trf7970a - DT properties additions to handle different quirks - A bunch of fixes for smartphone IOP related issues For ST Microelectronics' ST21NFCA and ST21NFCB drivers: - ISO15693 support for st21nfcb - checkpatch and sparse related warning fixes - Code cleanups and a few minor fixes Finally, Marvell add ISO15693 support to the NCI stack, together with a couple of NCI fixes." Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 687b93082c0469fe9fe85583e6265a3d910cd89a Merge: d3d3e00 b25f32c Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Fri Sep 26 13:35:46 2014 -0400 Merge branch 'for-linville' of git://github.com/kvalo/ath commit d3d3e0017fcc2c3c8e5f6a229f4b65f8bcc15bae Merge: 7a0a260 48849a4 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Fri Sep 26 13:33:58 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit 34666d467cbf1e2e3c7bb15a63eccfb582cdd71f Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 18 11:29:03 2014 +0200 netfilter: bridge: move br_netfilter out of the core Jesper reported that br_netfilter always registers the hooks since this is part of the bridge core. This harms performance for people that don't need this. This patch modularizes br_netfilter so it can be rmmod'ed, thus, the hooks can be unregistered. I think the bridge netfilter should have been a separated module since the beginning, Patrick agreed on that. Note that this is breaking compatibility for users that expect that bridge netfilter is going to be available after explicitly 'modprobe bridge' or via automatic load through brctl. However, the damage can be easily undone by modprobing br_netfilter. The bridge core also spots a message to provide a clue to people that didn't notice that this has been deprecated. On top of that, the plan is that nftables will not rely on this software layer, but integrate the connection tracking into the bridge layer to enable stateful filtering and NAT, which is was bridge netfilter users seem to require. This patch still keeps the fake_dst_ops in the bridge core, since this is required by when the bridge port is initialized. So we can safely modprobe/rmmod br_netfilter anytime. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: Florian Westphal <fw@xxxxxxxxx> commit 7276ca3fa23864133f5ee7431c51546d9b7f695f Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Sep 22 13:28:16 2014 +0200 netfilter: bridge: nf_bridge_copy_header as static inline in header Move nf_bridge_copy_header() as static inline in netfilter_bridge.h header file. This patch prepares the modularization of the br_netfilter code. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 772476df7047db87ac4174d1ed396512912d23bf Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Fri Sep 19 11:27:51 2014 +0100 net/netfilter/x_tables.c: use __seq_open_private() Reduce boilerplate code by using __seq_open_private() instead of seq_open() in xt_match_open() and xt_target_open(). Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d22e9131187df5c220d435b02e7bf346202c00a8 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 16 08:35:44 2014 +0800 of: add vendor prefix for Chipidea Adds chipidea to the list of DT vendor prefixes. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit d8498205fac05f2dcf1e72ff1b1e941574a87e49 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Jul 7 14:04:32 2014 +0200 of: Add vendor prefix for Innolux Corporation According to Wikipedia, Innolux started out in 2003 as InnoLux Display Corporation and merged with Chi Mei Optoelectronics in 2006. It went by the name of Chimei Innolux Corporation for a while and changed its name back to Innolux Corporation in late 2012. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit fbc0806c7a05fc4a086dd2157f1f9a89743a2158 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 09:47:54 2014 +0200 of: Add vendor prefix for Sitronix The stock ticker for Sitronix is just a number. "sitronix,st1232" is already in use for the Sitronix st1232 touchscreen controller on Atmark Techno Armadillo 800 EVA. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 3d2bff03cb331f0dec50f9ec885ebe05dfd7fad4 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Sun Aug 10 01:15:09 2014 -0700 devicetree: bindings: Document Gateworks vendor prefix Add Gateworks Corporation to the list of device tree vendor prefixes. Gateworks designs and manufactures single board computers designed for embedded wireless and wired network applications. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f7fd78662181029dcc212ca17a7f94518afe2e4d Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Jul 23 22:22:49 2014 +0200 of: Add vendor prefix for Energy Micro The kernel supports devices with the following compatible strings already: energymicro,efm32-i2c energymicro,efm32-uart energymicro,efm32-spi energymicro,efm32-timer So add "energymicro" to the list of vendors. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 0244f8f87ec7e327f7a6e45caaa966820eb3fbeb Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Sun Jun 22 15:40:00 2014 -0400 dt/documentation: add specification of dma bus information Recently we introduced the generic device tree infrastructure for couple of DMA bus parameter, dma-ranges and dma-coherent. Update the documentation so that its useful for future users. The "dma-ranges" property is intended to be used for describing the configuration of DMA bus RAM addresses and its offset w.r.t CPU addresses. The "dma-coherent" property is intended to be used for identifying devices supported coherent DMA operations. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 9137568e73c1d132bc786676d9c4e00b91a1c627 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Sep 10 21:30:00 2014 +0200 tty: serial: 8250_core: remove UART_IER_RDI in serial8250_stop_rx() serial8250_do_startup() adds UART_IER_RDI and UART_IER_RLSI to ier. serial8250_stop_rx() should remove both. This is what the serial-omap driver has been doing and is now moved to the 8250-core since it does no look to be *that* omap specific. Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59b3e898ddfc81a65975043b5eb44103cc29ff6e Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Sep 10 21:29:59 2014 +0200 tty: serial: 8250_core: use the ->line argument as a hint in serial8250_find_match_or_unused() Tony noticed that the old omap-serial driver picked the uart "number" based on the hint given from device tree or platform device's id. The 8250 based omap driver doesn't do this because the core code does not honour the ->line argument which is passed by the driver. This patch aims to keep the same behaviour as with omap-serial. The function will first try to use the line suggested ->line argument and then fallback to the old strategy in case the port is taken. That means the the third uart will always be ttyS2 even if the previous two have not been enabled in DT. Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0aa525d11859c1a4d5b78fdc704148e2ae03ae13 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Sep 10 21:29:58 2014 +0200 tty: serial: 8250_core: read only RX if there is something in the FIFO The serial8250_do_startup() function unconditionally clears the interrupts and for that it reads from the RX-FIFO without checking if there is a byte in the FIFO or not. This works fine on OMAP4+ HW like AM335x or DRA7. OMAP3630 ES1.1 (which means probably all OMAP3 and earlier) does not like this: |Unhandled fault: external abort on non-linefetch (0x1028) at 0xfb020000 |Internal error: : 1028 [#1] ARM |Modules linked in: |CPU: 0 PID: 1 Comm: swapper Not tainted 3.16.0-00022-g7edcb57-dirty #1213 |task: de0572c0 ti: de058000 task.ti: de058000 |PC is at mem32_serial_in+0xc/0x1c |LR is at serial8250_do_startup+0x220/0x85c |Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel |Control: 10c5387d Table: 80004019 DAC: 00000015 |[<c03051d4>] (mem32_serial_in) from [<c0307fe8>] (serial8250_do_startup+0x220/0x85c) |[<c0307fe8>] (serial8250_do_startup) from [<c0309e00>] (omap_8250_startup+0x5c/0xe0) |[<c0309e00>] (omap_8250_startup) from [<c030863c>] (serial8250_startup+0x18/0x2c) |[<c030863c>] (serial8250_startup) from [<c030394c>] (uart_startup+0x78/0x1d8) |[<c030394c>] (uart_startup) from [<c0304678>] (uart_open+0xe8/0x114) |[<c0304678>] (uart_open) from [<c02e9e10>] (tty_open+0x1a8/0x5a4) Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d74d5d1b7288ff9d4439c8c7e0e314cde9743467 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Sep 10 21:29:57 2014 +0200 tty: serial: 8250_core: add run time pm While comparing the OMAP-serial and the 8250 part of this I noticed that the latter does not use run time-pm. Here are the pieces. It is basically a get before first register access and a last_busy + put after last access. This has to be enabled from userland _and_ UART_CAP_RPM is required for this. The runtime PM can usually work transparently in the background however there is one exception to this: After serial8250_tx_chars() completes there still may be unsent bytes in the FIFO (depending on CPU speed vs baud rate + flow control). Even if the TTY-buffer is empty we do not want RPM to disable the device because it won't send the remaining bytes. Instead we leave serial8250_tx_chars() with RPM enabled and wait for the FIFO empty interrupt. Once we enter serial8250_tx_chars() with an empty buffer we know that the FIFO is empty and since we are not going to send anything, we can disable the device. That xchg() is to ensure that serial8250_tx_chars() can be called multiple times and only the first invocation will actually invoke the runtime PM function. So that the last invocation of __stop_tx() will disable runtime pm. NOTE: do not enable RPM on the device unless you know what you do! If the device goes idle, it won't be woken up by incomming RX data _unless_ there is a wakeup irq configured which is usually the RX pin configure for wakeup via the reset module. The RX activity will then wake up the device from idle. However the first character is garbage and lost. The following bytes will be received once the device is up in time. On the beagle board xm (omap3) it takes approx 13ms from the first wakeup byte until the first byte that is received properly if the device was in core-off. v5â?¦v8: - drop RPM from serial8250_set_mctrl() it will be used in restore path which already has RPM active and holds dev->power.lock v4â?¦v5: - add a wrapper around rpm function and introduce UART_CAP_RPM to ensure RPM put is invoked after the TX FIFO is empty. v3â?¦v4: - added runtime to the console code - removed device_may_wakeup() from serial8250_set_sleep() Cc: mika.westerberg@xxxxxxxxxxxxxxx Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 234abab143aef82c0ef1f2de409c0db96b666f3c Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Sep 10 21:29:56 2014 +0200 tty: serial: 8250_core: allow to set ->throttle / ->unthrottle callbacks The OMAP UART provides support for HW assisted flow control. What is missing is the support to throttle / unthrottle callbacks which are used by the omap-serial driver at the moment. This patch adds the callbacks. It should be safe to add them since they are only invoked from the serial_core (uart_throttle()) if the feature flags are set. Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49757c9cc7887bc79f742eb8aacf16e464ca5f0b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Sep 23 13:56:56 2014 +0200 perf tools: Fix line number in the config file error message If we fail to parse the config file within the callback function, the line number counter 'could be' already on the next line. This results in wrong line number report like: $ cat ~/.perfconfig [call-graph] sort-key = krava $ perf record ls Fatal: bad config file line 3 in /home/jolsa/.perfconfig Fixing this by saving the current line number for this case. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140923115656.GC2979@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5a2e5e85989025a3bb23ea5571fdac0cc5787807 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 23 10:01:44 2014 +0900 perf tools: Convert {record,top}.call-graph option to call-graph.record-mode So that it'll be passed to perf_callchain_config(). Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411434104-5307-6-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2b9240cafe9780f77b257321b13c4c4d2c2d0dc8 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 23 10:01:43 2014 +0900 perf tools: Introduce perf_callchain_config() This patch adds support for following config options to ~/.perfconfig file. [call-graph] record-mode = dwarf dump-size = 8192 print-type = fractal order = callee threshold = 0.5 print-limit = 128 sort-key = function Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411434104-5307-5-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f7f084f4d3c29b0f9877a32fc6e2feacd47695b9 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 23 10:01:42 2014 +0900 perf callchain: Move some parser functions to callchain.c And rename record_callchain_parse() to parse_callchain_record_opt() in accordance to parse_callchain_report_opt(). Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411434104-5307-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 72a128aa083a7f4cc4f800718aaae05d9c698e26 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 23 10:01:41 2014 +0900 perf tools: Move callchain config from record_opts to callchain_param So that all callchain config parameters can be read/written to a single place. It's a preparation to consolidate handling of all callchain options. Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411434104-5307-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 72f72ed21e56c386dd92118e5da3ce06752b1614 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 23 10:01:40 2014 +0900 perf hists browser: Fix callchain print bug on TUI Currently perf report -g graph option doesn't work as expected and always work as same as -g fractal. This was a bug during recent callchain print code cleanup. Before: $ perf report -g graph Children Self Command Shared Object Symbol ================================================================ - 56.19% 35.41% sleep [kernel.kallsyms] [k] page_fault - page_fault + 63.02% _dl_relocate_object + 36.98% clear_user After: Children Self Command Shared Object Symbol ================================================================ - 56.19% 35.41% sleep [kernel.kallsyms] [k] page_fault - page_fault + 35.41% _dl_relocate_object + 20.78% clear_user Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411434104-5307-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b08fec2262c8dbb349fe9456586cf0724407e5ee Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 22 15:52:29 2014 +0100 power: reset: st: Provide DT bindings for ST's Power Reset driver Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1da34daf24823f19cfd56c97973334cd95635926 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Sep 23 10:55:08 2014 -0400 perf tools: Use ACCESS_ONCE() instead of volatile cast Use ACCESS_ONCE() instead of the cast to volatile and read. This is just a style change which is reader friendly. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411484109-10442-1-git-send-email-bobby.prani@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f0745f3696e88b4055c6229e1306a78fbe503066 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 22 15:52:28 2014 +0100 power: reset: Add restart functionality for STiH41x platforms This driver adds the restart functionality for STiH415 and STiH416 platforms from STMicroelectronics. This driver registers an arm_pm_restart function to reset the platform. Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 52e0283497ccb1e675d56c9499cc2cc5ec271094 Author: Taeung Song <treeze.taeung@xxxxxxxxx> Date: Wed Sep 24 10:33:37 2014 +0900 perf tools: Modify error code for when perf_session__new() fails Because perf_session__new() can fail for more reasons than just ENOMEM, modify error code(ENOMEM or EINVAL) to -1. Signed-off-by: Taeung Song <treeze.taeung@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1411522417-9917-1-git-send-email-treeze.taeung@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 661a88860274e059fdb744dfaa98c045db7b5d1d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 26 13:27:03 2014 +0200 power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge NULL pointer exception happens during charger-manager probe if 'cm-fuel-gauge' property is not present. [ 2.448536] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 2.456572] pgd = c0004000 [ 2.459217] [00000000] *pgd=00000000 [ 2.462759] Internal error: Oops: 5 [#1] PREEMPT SMP ARM [ 2.468047] Modules linked in: [ 2.471089] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc6-00251-ge44cf96cd525-dirty #969 [ 2.479765] task: ea890000 ti: ea87a000 task.ti: ea87a000 [ 2.485161] PC is at strcmp+0x4/0x30 [ 2.488719] LR is at power_supply_match_device_by_name+0x10/0x1c [ 2.494695] pc : [<c01f4220>] lr : [<c030fe38>] psr: a0000113 [ 2.494695] sp : ea87bde0 ip : 00000000 fp : eaa97010 [ 2.506150] r10: 00000004 r9 : ea97269c r8 : ea3bbfd0 [ 2.511360] r7 : eaa97000 r6 : c030fe28 r5 : 00000000 r4 : ea3b0000 [ 2.517869] r3 : 0000006d r2 : 00000000 r1 : 00000000 r0 : c057c195 [ 2.524381] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel [ 2.531671] Control: 10c5387d Table: 4000404a DAC: 00000015 [ 2.537399] Process swapper/0 (pid: 1, stack limit = 0xea87a240) [ 2.543388] Stack: (0xea87bde0 to 0xea87c000) [ 2.547733] bde0: ea3b0210 c026b1c8 eaa97010 eaa97000 eaa97010 eabb60a8 ea3b0210 00000000 [ 2.555891] be00: 00000008 ea2db210 ea1a3410 c030fee0 ea3bbf90 c03138fc c068969c c013526c [ 2.564050] be20: eaa040c0 00000000 c068969c 00000000 eaa040c0 ea2da300 00000002 00000000 [ 2.572208] be40: 00000001 ea2da3c0 00000000 00000001 00000000 eaa97010 c068969c 00000000 [ 2.580367] be60: 00000000 c068969c 00000000 00000002 00000000 c026b71c c026b6f0 eaa97010 [ 2.588527] be80: c0e82530 c026a330 00000000 eaa97010 c068969c eaa97044 00000000 c061df50 [ 2.596686] bea0: ea87a000 c026a4dc 00000000 c068969c c026a448 c0268b5c ea8054a8 eaa8fd50 [ 2.604845] bec0: c068969c ea2db180 c06801f8 c0269b18 c0590f68 c068969c c0656c98 c068969c [ 2.613004] bee0: c0656c98 ea3bbe40 c06988c0 c026aaf0 00000000 c0656c98 c0656c98 c00088a4 [ 2.621163] bf00: 00000000 c0055f48 00000000 00000004 00000000 ea890000 c05dbc54 c062c178 [ 2.629323] bf20: c0603518 c005f674 00000001 ea87a000 eb7ff83b c0476440 00000091 c003d41c [ 2.637482] bf40: c05db344 00000007 eb7ff858 00000007 c065a76c c0647d24 00000007 c062c170 [ 2.645642] bf60: c06988c0 00000091 c062c178 c0603518 00000000 c0603cc4 00000007 00000007 [ 2.653801] bf80: c0603518 c0c0c0c0 00000000 c0453948 00000000 00000000 00000000 00000000 [ 2.661959] bfa0: 00000000 c0453950 00000000 c000e728 00000000 00000000 00000000 00000000 [ 2.670118] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 2.678277] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 c0c0c0c0 c0c0c0c0 [ 2.686454] [<c01f4220>] (strcmp) from [<c030fe38>] (power_supply_match_device_by_name+0x10/0x1c) [ 2.695303] [<c030fe38>] (power_supply_match_device_by_name) from [<c026b1c8>] (class_find_device+0x54/0xac) [ 2.705106] [<c026b1c8>] (class_find_device) from [<c030fee0>] (power_supply_get_by_name+0x1c/0x30) [ 2.714137] [<c030fee0>] (power_supply_get_by_name) from [<c03138fc>] (charger_manager_probe+0x3d8/0xe58) [ 2.723683] [<c03138fc>] (charger_manager_probe) from [<c026b71c>] (platform_drv_probe+0x2c/0x5c) [ 2.732532] [<c026b71c>] (platform_drv_probe) from [<c026a330>] (driver_probe_device+0x10c/0x224) [ 2.741384] [<c026a330>] (driver_probe_device) from [<c026a4dc>] (__driver_attach+0x94/0x98) [ 2.749813] [<c026a4dc>] (__driver_attach) from [<c0268b5c>] (bus_for_each_dev+0x54/0x88) [ 2.757969] [<c0268b5c>] (bus_for_each_dev) from [<c0269b18>] (bus_add_driver+0xd4/0x1d0) [ 2.766123] [<c0269b18>] (bus_add_driver) from [<c026aaf0>] (driver_register+0x78/0xf4) [ 2.774110] [<c026aaf0>] (driver_register) from [<c00088a4>] (do_one_initcall+0x80/0x1bc) [ 2.782276] [<c00088a4>] (do_one_initcall) from [<c0603cc4>] (kernel_init_freeable+0x100/0x1cc) [ 2.790952] [<c0603cc4>] (kernel_init_freeable) from [<c0453950>] (kernel_init+0x8/0xec) [ 2.799029] [<c0453950>] (kernel_init) from [<c000e728>] (ret_from_fork+0x14/0x2c) [ 2.806572] Code: e12fff1e e1a03000 eafffff7 e4d03001 (e4d12001) [ 2.812832] ---[ end trace 7f12556111b9e7ef ]--- Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 856ee6115e2d ("charger-manager: Support deivce tree in charger manager driver") Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a5c2a4c9561cbbd374231bd341936dae716df9dd Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Sep 24 14:39:54 2014 -0700 perf tools: Fix perf record as non root with kptr_restrict == 1 Currently perf record always errors out when you run it as non-root with kptr_restrict == 1, which is often the default. Make it only warn instead and fix the kernel resolve code to not segfault later. Profiling works still fine, except kernel symbols are not resolved. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411594794-7229-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e16343c47e4276f5ebc77ca16feb5e50ca1918f9 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 24 08:51:57 2014 +0100 ARM: 8160/1: drop warning about return_address not using unwind tables The warning was introduced in 2009 (commit 4bf1fa5a34aa ([ARM] 5613/1: implement CALLER_ADDRESSx)). The only "problem" here is that CALLER_ADDRESSx for x > 1 returns NULL which doesn't do much harm. The drawback of implementing a fix (i.e. use unwind tables to implement CALLER_ADDRESSx) is that much of the unwinder code would need to be marked as not traceable. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c3c963e1fb1c43641831595f53aa23f34dcaed3a Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 24 09:01:19 2014 +0100 ARM: 8161/1: footbridge: select machine dir based on ARCH_FOOTBRIDGE Syntactically FOOTBRIDGE and ARCH_FOOTBRIDGE are identical (the former is defined in an if ARCH_FOOTBRIDGE block and the latter selects the former). Sematically FOOTBRIDGE means "we have a DC21285 (aka footbridge) device in the system" and ARCH_FOOTBRIDGE is the support for boards with a footbridge device, so ARCH_FOOTBRIDGE is the better symbol here. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit aeea3592a13bf12861943e44fc48f1f270941f8d Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 01:06:46 2014 +0100 ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h With compilers which follow the C99 standard (like modern versions of gcc and clang), "extern inline" does the wrong thing (emits code for an externally linkable version of the inline function). In this case using static inline and removing the NULL version of return_address in return_address.c does the right thing. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 389522b0c0530658eb9f9a53410ec2494616d785 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Mon Sep 22 22:12:35 2014 +0100 ARM: 8155/1: place sigpage at a random offset above stack The sigpage is currently placed alongside shared libraries etc in the address space. Similar to what x86_64 does for its VDSO, place the sigpage at a randomized offset above the stack so that learning the base address of the sigpage doesn't help expose where shared libraries are loaded in the address space (and vice versa). Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 02e0409a65560da66a747d2ac6023715b04659ea Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Mon Sep 22 22:08:42 2014 +0100 ARM: 8154/1: use _install_special_mapping for sigpage _install_special_mapping allows the VMA to be identifed in /proc/pid/maps without the use of arch_vma_name, providing a slight net reduction in object size: text data bss dec hex filename 2996 96 144 3236 ca4 arch/arm/kernel/process.o (before) 2956 104 144 3204 c84 arch/arm/kernel/process.o (after) Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 75c349062a666deab57bdca8b5bd0779c9fb0d58 Author: Vincent Sanders <vincent.sanders@xxxxxxxxxxxxxxx> Date: Thu Sep 18 20:39:15 2014 +0100 ARM: 8153/1: Enable gcov support on the ARM architecture Enable gcov support for ARM based on original patches by David Singleton and George G. Davis Riku - updated to patch to current mainline kernel. The patch has been submitted in 2010, 2012 - for symmetry, now in 2014 too. https://lwn.net/Articles/390419/ http://marc.info/?l=linux-arm-kernel&m=133823081813044 v2: remove arch/arm/kernel from gcov disabled files Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Vincent Sanders <vincent.sanders@xxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 195b58add463f697fb802ed55e26759094d40a54 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:08:14 2014 +0100 ARM: Avoid writing to control register on every exception If we are not changing the control register value, avoid writing to it. Writes to the control register can be very expensive, taking around a hundred cycles or so. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8b521cb2947d8811b4cf7fc6a7a6ebde35218243 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 16 20:41:43 2014 +0100 ARM: 8152/1: Convert pr_warning to pr_warn Use the more common pr_warn. Other miscellanea: o Coalesce formats o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit da88c7f78d842a6938d9adde6af87a2ce262051d Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Sep 24 13:50:46 2014 -0700 perf stat: Fix --per-core on multi socket systems On systems with more than one socket perf stat --per-core would either segfault or stop before outputting all cores. The problem was that the output code referenced the id including the socket number in the higher bits, which is far beyond any per cpu array. Mask out the socket number before referencing cpus in abs_printout. I also renamed the variable in nsec_printout to be clear what it is, even though it doesn't reference cpus. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1411591846-32736-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0496daa5cf99741ce8db82686b4c7446a37feabb Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Sep 26 12:29:34 2014 +0200 arm/arm64: KVM: Report correct FSC for unsupported fault types When we catch something that's not a permission fault or a translation fault, we log the unsupported FSC in the kernel log, but we were masking off the bottom bits of the FSC which was not very helpful. Also correctly report the FSC for data and instruction faults rather than telling people it was a DFCS, which doesn't exist in the ARM ARM. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit dbff124e29fa24aff9705b354b5f4648cd96e0bb Author: Joel Schopp <joel.schopp@xxxxxxx> Date: Wed Jul 9 11:17:04 2014 -0500 arm/arm64: KVM: Fix VTTBR_BADDR_MASK and pgd alloc The current aarch64 calculation for VTTBR_BADDR_MASK masks only 39 bits and not all the bits in the PA range. This is clearly a bug that manifests itself on systems that allocate memory in the higher address space range. [ Modified from Joel's original patch to be based on PHYS_MASK_SHIFT instead of a hard-coded value and to move the alignment check of the allocation to mmu.c. Also added a comment explaining why we hardcode the IPA range and changed the stage-2 pgd allocation to be based on the 40 bit IPA range instead of the maximum possible 48 bit PA range. - Christoffer ] Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Joel Schopp <joel.schopp@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 3f97d5fcf99cb87f590ffe1d9422b2a26a8ef3ed Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Sep 26 14:19:52 2014 +0200 gpio: handle also nested irqchips in the chained handler set-up To unify how we connect cascaded IRQ chips to parent IRQs, if NULL us passed as handler to the gpiochip_set_chained_irqchip() function, assume the chips is nested rather than chained, and we still get the parent set up correctly by way of this function call. Alter the drivers for tc3589x and stmpe to use this to set up their chained handlers as a demonstration of the usage. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 83141a771975f4e54402ab05e5cbbc3c56f45bdd Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Sep 26 13:50:12 2014 +0200 gpio: set parent irq on chained handlers If the IRQ from the parent is nested the IRQ may need to be resent under certain conditions. Currently the chained IRQ handler in gpiolib does not handle connecting nested IRQs but it is conceptually correct to indicate the actual parent IRQ. Reported-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Reported-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3a75d1ad9a14dfbc8ea02824457729b79444e74f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 14:15:54 2014 +0200 Revert "Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt" Apparently most of the newly added nodes had the same problem, so instead of reverting the individual patches, this undoes the effect of the merge and backs out all of them at once. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 932058a5d5f9fd919b90aaa2275d54b37340d585 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 07:34:45 2014 +0200 coccinelle: misc: semantic patch to delete overly complex return code processing This semantic patch simplifies cases where the effect of the processing of a function call's return code is just to return the result of the function directly. It may also delete a local return flag variable, if this is no longer used. This was proposed by Uwe Kleine-König. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 6b74db0650b0aaca8550d283eca7dcc1dc2ba80f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 13:42:11 2014 +0200 ARM: configs: fix duplicate entry in multi_v7 Two of the recent patches each added support for CPU_FREQ, which causes a kconfig warning: arch/arm/configs/multi_v7_defconfig:443:warning: override: reassigning to symbol CPU_FREQ This removes one of the two in order to avoid the warning. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e54951c8585e8e950ac04b15728910cc5a64e612 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Sep 26 11:45:55 2014 +0200 MAINTAINERS: Add maintainers entry for Mediatek SoCs I plan to stay with the Mediatek SoCs for the next future and hope to expand its support along the way with the help of a whole bunch of people. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e138e3ae873159e27f7df02bc1c83f62f94c6fa6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 12:27:00 2014 +0200 ARM: at91: fix nommu build regression The newly introduced support for SAMA5D4 added access to the 'AT91_ALT_BASE_SYS' register area, but failed to define the symbols in the case when CONFIG_MMU is disabled. We really should not hardwire addresses like this any more, but as a small fixup, this patch just adds the missing definitions for the nommu case, which gets at91x40_defconfig and any configuration of sam9 and sama5 with MMU disabled back to work. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 726d32bf79ef4 ("ARM: at91: SAMA5D4 SoC detection code and low ...") commit 849271a4e4b723c521df0f55d67614d8ffd5e125 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Sep 22 10:45:35 2014 +0200 UBI: wl: Rename cancel flag to shutdown It confused me more than once that the cancel flag of the work function does not indicate the cancellation of a single work. In fact it indicates the WL sub-system shutdown and therefore worker functions have to free their wl_entries too. That's why you cannot cancel a single work, you can only shutdown all works. Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 170505f58f01d89dea2667d484cb5da18fb9ffd9 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Sep 22 10:45:34 2014 +0200 UBI: ubi_eba_read_leb: Remove in vain variable assignment There is no need to set err, it will be overwritten in any case later at: if (scrub) err = ubi_wl_scrub_peb(ubi, pnum); Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 4b1a43eab1ab0b1d05bc0c2aa823262da2445a7f Author: hujianyang <hujianyang@xxxxxxxxxx> Date: Sat Sep 20 14:55:11 2014 +0800 UBIFS: Align the dump messages of SB_NODE I found the dump messages of UBIFS_SB_NODE is not aligned. This patch remove the extra space from the line which is retracted. Signed-off-by: hujianyang <hujianyang@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 242a112af62ea73ce507cbe76c2c944c23b6a1e3 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Sep 26 09:23:20 2014 +0200 s390/setup: correct 4-level kernel page table detection Fix calculation to decide if a 4-level kernel page table is required. Git commit c972cc60c23f5a63 "s390/vmalloc: have separate modules area" added the separate module area which reduces the size of the vmalloc area but fails to take it into account for the 3 vs 4 level page table decision. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 48e9a6c1f54695609b709bf674aac133794ada00 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Sep 24 16:37:20 2014 +0200 s390/topology: call set_sched_topology early The call to topology_init is too late for the set_sched_topology call. The initial scheduling domain structure has already been established with default topology array. Use the smp_cpus_done() call to get the s390 specific topology array registered early enough. Cc: stable@xxxxxxxxxxxxxxx # v3.16+ Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 214635f94dc3e4069b05817e5d55b58784ba8971 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Sep 26 06:53:15 2014 -0300 Revert "[media] media: em28xx - remove reset_resume interface" The reset_resume call is needed, otherwise it will break resume on some conditions, depending on the usb ehci/xhci controller. This reverts commit b89193e0b06f44f48e3bf897a5b5cb4a7aff3359. Reported-by: Johannes Stezenbach <js@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7d4020c3c400260ea0601a74eace1cb071f01dd3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 22:08:41 2014 -0300 [media] exynos4-is: fix some warnings when compiling on arm64 Got those warnings when compiling with gcc 4.9.1 for arm64: drivers/media/platform/exynos4-is/fimc-isp-video.c: In function â??isp_video_capture_buffer_queueâ??: drivers/media/platform/exynos4-is/fimc-isp-video.c:221:4: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 7 has type â??dma_addr_tâ?? [-Wformat=] isp_dbg(2, &video->ve.vdev, ^ drivers/media/platform/exynos4-is/fimc-is.c: In function â??fimc_is_load_firmwareâ??: drivers/media/platform/exynos4-is/fimc-is.c:391:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 3 has type â??size_tâ?? [-Wformat=] dev_err(dev, "wrong firmware size: %d\n", fw->size); ^ In file included from include/linux/printk.h:260:0, from include/linux/kernel.h:13, from include/linux/kernfs.h:10, from include/linux/sysfs.h:15, from include/linux/kobject.h:21, from include/linux/device.h:17, from drivers/media/platform/exynos4-is/fimc-is.c:15: include/linux/dynamic_debug.h:64:16: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:84:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/device.h:1106:2: note: in expansion of macro â??dynamic_dev_dbgâ?? dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \ ^ drivers/media/platform/exynos4-is/fimc-is.c:419:2: note: in expansion of macro â??dev_dbgâ?? dev_dbg(dev, "FW size: %d, paddr: %#x\n", fw->size, is->memory.paddr); ^ include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:84:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/device.h:1106:2: note: in expansion of macro â??dynamic_dev_dbgâ?? dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \ ^ drivers/media/platform/exynos4-is/fimc-is.c:419:2: note: in expansion of macro â??dev_dbgâ?? dev_dbg(dev, "FW size: %d, paddr: %#x\n", fw->size, is->memory.paddr); ^ drivers/media/platform/exynos4-is/fimc-is.c: In function â??fimc_is_hw_initializeâ??: include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media/platform/exynos4-is/fimc-is.c:696:2: note: in expansion of macro â??pr_debugâ?? pr_debug("shared region: %#x, parameter region: %#x\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 6 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media/platform/exynos4-is/fimc-is.c:696:2: note: in expansion of macro â??pr_debugâ?? pr_debug("shared region: %#x, parameter region: %#x\n", ^ Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7983b773bad92fcc790152fe6db616644db1dfda Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 20:36:07 2014 -0300 [media] usb drivers: use %zu instead of %zd size_t is unsigned. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 339f06c5d354c4c89814f11d0c3393f198b3dd00 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 20:35:48 2014 -0300 [media] pci drivers: use %zu instead of %zd size_t is unsigned. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 35f30f36a7e66caa0973a4db620b4245df2cf428 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 20:35:12 2014 -0300 [media] dvb-frontends: use %zu instead of %zd size_t is unsigned. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 03ce781626138e9cc972fa4fef0034a067726fb6 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 19:07:36 2014 -0300 [media] s5p-mfc: Fix several printk warnings drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:192:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??dma_addr_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:196:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??dma_addr_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:196:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??dma_addr_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1757:3: warning: format â??%zxâ?? expects argument of type â??size_tâ??, but argument 6 has type â??dma_addr_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1879:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f1a0c1858c63888511811a5b5661bd4d08941028 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 18:50:33 2014 -0300 [media] s5p_mfc_opr: Fix warnings CC drivers/media//platform/s5p-mfc/s5p_mfc_opr.o drivers/media//platform/s5p-mfc/s5p_mfc_opr.c: In function â??s5p_mfc_alloc_priv_bufâ??: drivers/media//platform/s5p-mfc/s5p_mfc_opr.c:44:2: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] mfc_debug(3, "Allocating priv: %d\n", b->size); ^ drivers/media//platform/s5p-mfc/s5p_mfc_opr.c:53:2: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??dma_addr_tâ?? [-Wformat=] mfc_debug(3, "Allocated addr %p %08x\n", b->virt, b->dma); ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5b31d9e036c1e18141b0458e89ce78e966a0d590 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 19:22:20 2014 -0300 [media] ti-vpe: Fix typecast Addresses have the same size of unsigned long, and not u32. That removes a warning on 64 bits compilation: drivers/media//platform/ti-vpe/vpdma.c:332:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] WARN_ON(((u32) buf->addr & VPDMA_DESC_ALIGN) != 0); ^ include/asm-generic/bug.h:86:25: note: in definition of macro â??WARN_ONâ?? int __ret_warn_on = !!(condition); \ ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c0a566f3d51beb226f2cd79f7e9439ff3bed44b3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 19:15:06 2014 -0300 [media] s3c-camif: fix dma_addr_t printks drivers/media//platform/s3c-camif/camif-capture.c: In function â??camif_prepare_addrâ??: include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-capture.c:283:2: note: in expansion of macro â??pr_debugâ?? pr_debug("DMA address: y: %#x cb: %#x cr: %#x\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 6 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-capture.c:283:2: note: in expansion of macro â??pr_debugâ?? pr_debug("DMA address: y: %#x cb: %#x cr: %#x\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 7 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-capture.c:283:2: note: in expansion of macro â??pr_debugâ?? pr_debug("DMA address: y: %#x cb: %#x cr: %#x\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%Xâ?? expects argument of type â??unsigned intâ??, but argument 6 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-regs.c:217:2: note: in expansion of macro â??pr_debugâ?? pr_debug("dst_buf[%d]: %#X, cb: %#X, cr: %#X\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%Xâ?? expects argument of type â??unsigned intâ??, but argument 7 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-regs.c:217:2: note: in expansion of macro â??pr_debugâ?? pr_debug("dst_buf[%d]: %#X, cb: %#X, cr: %#X\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%Xâ?? expects argument of type â??unsigned intâ??, but argument 8 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-regs.c:217:2: note: in expansion of macro â??pr_debugâ?? pr_debug("dst_buf[%d]: %#X, cb: %#X, cr: %#X\n", ^ Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4966bac19c870526f56ca0755539e86acd92fa72 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 18:43:59 2014 -0300 [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits There are several errors related to size_t size and the usage of unsigned int for pointers: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_alloc_codec_buffers_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:103:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "recon luma size: %d chroma size: %d\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:103:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_set_dec_frame_buffer_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:472:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "Luma %d: %x\n", i, ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:476:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "\tChroma %d: %x\n", i, ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:490:4: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "\tBuf1: %x, size: %d\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:498:2: warning: format â??%uâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "Buf1: %u, buf_size1: %d (frames %d)\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_set_enc_ref_buffer_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:596:2: warning: format â??%uâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "Buf1: %u, buf_size1: %d (ref frames %d)\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_write_info_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:1883:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] writel(data, (volatile void __iomem *)ofs); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_read_info_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:1893:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ret = readl((volatile void __iomem *)ofs); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_get_pic_type_top_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2022:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_ret_picture_tag_top); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_get_pic_type_bot_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2028:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_ret_picture_tag_bot); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_get_crop_info_h_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2034:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_display_crop_info1); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_get_crop_info_v_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2040:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_display_crop_info2); Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e13f7d5aec0694bf2cb6f53a732f6a444933fdf4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 18:32:54 2014 -0300 [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64 When compiled on x86_64, several warnings popup: drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:476:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:480:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:485:4: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:493:2: warning: format â??%uâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:570:2: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:570:2: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:609:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:609:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:640:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:640:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:666:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:666:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0db3241458685b22b6cd4db363722e6932244601 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 18:23:23 2014 -0300 [media] em28xx: Fix identation drivers/media/usb/em28xx/em28xx-audio.c:270 snd_em28xx_capture_open() warn: if statement not indented Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b39ba19cf3d0f8a7c86bfcf0b0964b0d4c1fae33 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 16:29:45 2014 -0300 [media] drxd: remove a dead code drivers/media/dvb-frontends/drxd_hard.c:2839 drxd_init() info: ignoring unreachable code. Firmware request/release is not at drxd_init. So, we can remove that dead code. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ae64b5ab4a181b483ff819174cfc74d02a54286a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 16:24:50 2014 -0300 [media] saa7146: remove return after BUG() As reported by smatch: drivers/media/common/saa7146/saa7146_fops.c:314 fops_mmap() info: ignoring unreachable code. drivers/media/common/saa7146/saa7146_fops.c:402 fops_read() info: ignoring unreachable code. drivers/media/common/saa7146/saa7146_fops.c:426 fops_write() info: ignoring unreachable code. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 84babee8fea9fc4fae2b5414ce71db1902eb7b7b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 16:23:30 2014 -0300 [media] cx88: remove return after BUG() As reported by smatch: drivers/media/pci/cx88/cx88-video.c:699 get_queue() info: ignoring unreachable code. drivers/media/pci/cx88/cx88-video.c:714 get_resource() info: ignoring unreachable code. drivers/media/pci/cx88/cx88-video.c:815 video_read() info: ignoring unreachable code. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e2392d347e1dbb4987beaaee0f87653480fcddc8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:49:50 2014 -0300 [media] cx88: fix cards table CodingStyle This is actually a coding style issue, but it was generating lots of smatch warnings: drivers/media/pci/cx88/cx88-cards.c:1513:37: warning: Initializer entry defined twice drivers/media/pci/cx88/cx88-cards.c:1517:19: also defined here drivers/media/pci/cx88/cx88-cards.c:1533:36: warning: Initializer entry defined twice drivers/media/pci/cx88/cx88-cards.c:1538:19: also defined here ... Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 25fb62b61bc5485a95988d3ecfd672b48f4bf6e2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:44:08 2014 -0300 [media] radio-sf16fmr2: declare some structs as static drivers/media/radio/radio-sf16fmr2.c:308:19: warning: symbol 'fmr2_isa_driver' was not declared. Should it be static? drivers/media/radio/radio-sf16fmr2.c:316:19: warning: symbol 'fmr2_pnp_driver' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 24c8f11f8bce5a959d04f887179b0f1ec43e1c33 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:42:11 2014 -0300 [media] radio-sf16fmi: declare pnp_attached as static drivers/media/radio/radio-sf16fmi.c:59:6: warning: symbol 'pnp_attached' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 64e01cbd9d3e22e38eadeff9e0d251d0d7d1c9d2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:35:55 2014 -0300 [media] pms: Fix a bad usage of the stack As warned by smatch: drivers/media/parport/pms.c:632:21: warning: Variable length array is used. The pms driver is doing something really bad: it is using the stack to read data into a buffer whose size is given by the user by the read() syscall. Replace it by a dynamically allocated buffer. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5a9ff85dc176e80c6fb7067dcb807c5e3ff7a913 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 14:06:25 2014 -0300 [media] saa7164-core: declare symbols as static Those symbols are used only at saa7164-core. drivers/media/pci/saa7164/saa7164-core.c:55:14: warning: symbol 'fw_debug' was not declared. Should it be static? drivers/media/pci/saa7164/saa7164-core.c:75:14: warning: symbol 'print_histogram' was not declared. Should it be static? drivers/media/pci/saa7164/saa7164-core.c:83:14: warning: symbol 'guard_checking' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 87f4ebcd0693f6de14f60cf7bf9821a005b5850f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 11:17:06 2014 -0300 [media] sta2x11_vip: fix address space casting drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:1140:30: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:1140:30: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:1140:30: got void volatile [noderef] <asn:2>*iomem drivers/media/pci/sta2x11/sta2x11_vip.c:1184:30: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:1184:30: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:1184:30: got void volatile [noderef] <asn:2>*iomem drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8f8218e89d5500f5d53556a3e0739d1ffc591aa1 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 11:11:44 2014 -0300 [media] st_rc: fix address space casting drivers/media/rc/st_rc.c:107:38: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:107:38: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:107:38: got void * drivers/media/rc/st_rc.c:110:53: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:110:53: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:110:53: got void * drivers/media/rc/st_rc.c:116:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:116:54: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:116:54: got void * drivers/media/rc/st_rc.c:120:45: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:120:45: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:120:45: got void * drivers/media/rc/st_rc.c:121:43: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:121:43: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:121:43: got void * drivers/media/rc/st_rc.c:150:46: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:150:46: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:150:46: got void * drivers/media/rc/st_rc.c:153:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:153:42: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:153:42: got void * drivers/media/rc/st_rc.c:174:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:174:32: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:174:32: got void * drivers/media/rc/st_rc.c:177:48: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:177:48: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:177:48: got void * drivers/media/rc/st_rc.c:187:48: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:187:48: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:187:48: got void * drivers/media/rc/st_rc.c:204:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:204:42: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:204:42: got void * drivers/media/rc/st_rc.c:205:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:205:35: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:205:35: got void * drivers/media/rc/st_rc.c:215:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:215:35: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:215:35: got void * drivers/media/rc/st_rc.c:216:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:216:35: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:216:35: got void * drivers/media/rc/st_rc.c:269:22: warning: incorrect type in assignment (different address spaces) drivers/media/rc/st_rc.c:269:22: expected void *base drivers/media/rc/st_rc.c:269:22: got void [noderef] <asn:2>* drivers/media/rc/st_rc.c:349:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:349:46: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:349:46: got void * drivers/media/rc/st_rc.c:350:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:350:46: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:350:46: got void * drivers/media/rc/st_rc.c:371:61: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:371:61: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:371:61: got void * drivers/media/rc/st_rc.c:372:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:372:54: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:372:54: got void * Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7f01308e543f33a977750bf464ae6bf3f9733cf0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 11:07:31 2014 -0300 [media] ir-hix5hd2: fix address space casting drivers/media/rc/ir-hix5hd2.c:99:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:99:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:99:41: got void * drivers/media/rc/ir-hix5hd2.c:100:16: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:100:16: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:100:16: got void * drivers/media/rc/ir-hix5hd2.c:117:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:117:40: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:117:40: got void * drivers/media/rc/ir-hix5hd2.c:119:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:119:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:119:41: got void * drivers/media/rc/ir-hix5hd2.c:121:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:121:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:121:41: got void * drivers/media/rc/ir-hix5hd2.c:147:18: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:147:18: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:147:18: got void * drivers/media/rc/ir-hix5hd2.c:155:28: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:155:28: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:155:28: got void * drivers/media/rc/ir-hix5hd2.c:157:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:157:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:157:25: got void * drivers/media/rc/ir-hix5hd2.c:159:61: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:159:61: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:159:61: got void * drivers/media/rc/ir-hix5hd2.c:167:28: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:167:28: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:167:28: got void * drivers/media/rc/ir-hix5hd2.c:169:36: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:169:36: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:169:36: got void * drivers/media/rc/ir-hix5hd2.c:188:64: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:188:64: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:188:64: got void * drivers/media/rc/ir-hix5hd2.c:190:68: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:190:68: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:190:68: got void * drivers/media/rc/ir-hix5hd2.c:220:20: warning: incorrect type in assignment (different address spaces) drivers/media/rc/ir-hix5hd2.c:220:20: expected void *base drivers/media/rc/ir-hix5hd2.c:220:20: got void [noderef] <asn:2>* drivers/media/rc/ir-hix5hd2.c:315:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:315:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:315:41: got void * drivers/media/rc/ir-hix5hd2.c:316:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:316:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:316:41: got void * drivers/media/rc/ir-hix5hd2.c:317:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:317:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:317:41: got void * drivers/media/rc/ir-hix5hd2.c:318:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:318:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:318:41: got void * Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d51a12c962f26fcb859203372fa196c2dfcd5f77 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 10:51:35 2014 -0300 [media] as102: fix endiannes casts Smatch complains a lot about endiannes issues on as102: drivers/media/usb/as102/as10x_cmd_stream.c:41:47: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:41:47: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_stream.c:41:47: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_stream.c:43:43: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:43:43: expected unsigned short [unsigned] [usertype] pid drivers/media/usb/as102/as10x_cmd_stream.c:43:43: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_stream.c:98:47: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:98:47: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_stream.c:98:47: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_stream.c:100:43: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:100:43: expected unsigned short [unsigned] [usertype] pid drivers/media/usb/as102/as10x_cmd_stream.c:100:43: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_stream.c:142:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:142:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_stream.c:142:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_stream.c:185:47: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:185:47: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_stream.c:185:47: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:46:40: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:46:40: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_cfg.c:46:40: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:47:36: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:47:36: expected unsigned short [unsigned] [usertype] tag drivers/media/usb/as102/as10x_cmd_cfg.c:47:36: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:48:37: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:48:37: expected unsigned short [unsigned] [usertype] type drivers/media/usb/as102/as10x_cmd_cfg.c:48:37: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:72:27: warning: cast to restricted __le32 drivers/media/usb/as102/as10x_cmd_cfg.c:102:40: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:102:40: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_cfg.c:102:40: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:104:50: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:104:50: expected unsigned int [unsigned] [usertype] value32 drivers/media/usb/as102/as10x_cmd_cfg.c:104:50: got restricted __le32 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:105:36: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:105:36: expected unsigned short [unsigned] [usertype] tag drivers/media/usb/as102/as10x_cmd_cfg.c:105:36: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:106:37: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:106:37: expected unsigned short [unsigned] [usertype] type drivers/media/usb/as102/as10x_cmd_cfg.c:106:37: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:156:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:156:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_cfg.c:156:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:197:14: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:40:40: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:40:40: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:40:40: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:81:41: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:81:41: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:81:41: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:123:41: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:123:41: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:123:41: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:124:43: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:124:43: expected unsigned int [unsigned] [usertype] freq drivers/media/usb/as102/as10x_cmd.c:124:43: got restricted __le32 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:178:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:178:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:178:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:202:17: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:203:24: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:204:24: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:230:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:230:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:230:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:262:25: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:289:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:289:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:289:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:313:17: warning: cast to restricted __le32 drivers/media/usb/as102/as10x_cmd.c:315:17: warning: cast to restricted __le32 drivers/media/usb/as102/as10x_cmd.c:317:17: warning: cast to restricted __le32 drivers/media/usb/as102/as10x_cmd.c:319:17: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:349:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:349:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:349:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:387:29: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:387:29: expected unsigned short [unsigned] [usertype] req_id drivers/media/usb/as102/as10x_cmd.c:387:29: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:388:27: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:388:27: expected unsigned short [unsigned] [usertype] prog drivers/media/usb/as102/as10x_cmd.c:388:27: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:389:30: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:389:30: expected unsigned short [unsigned] [usertype] version drivers/media/usb/as102/as10x_cmd.c:389:30: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:390:31: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:390:31: expected unsigned short [unsigned] [usertype] data_len drivers/media/usb/as102/as10x_cmd.c:390:31: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:408:14: warning: cast to restricted __le16 This happens because of the command endiannes that are sent/received to the firmware. So, add the correct endiannes tags to the command fields. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 71d1b2bec07c8aec4252111a84699273f50fdc52 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 10:15:22 2014 -0300 [media] dvb_frontend: Fix __user namespace As reported by smatch: drivers/media/dvb-core/dvb_frontend.c:1960:45: warning: incorrect type in argument 2 (different address spaces) drivers/media/dvb-core/dvb_frontend.c:1960:45: expected void const [noderef] <asn:1>*from drivers/media/dvb-core/dvb_frontend.c:1960:45: got struct dtv_property *[noderef] <asn:1>props drivers/media/dvb-core/dvb_frontend.c:1992:45: warning: incorrect type in argument 2 (different address spaces) drivers/media/dvb-core/dvb_frontend.c:1992:45: expected void const [noderef] <asn:1>*from drivers/media/dvb-core/dvb_frontend.c:1992:45: got struct dtv_property *[noderef] <asn:1>props drivers/media/dvb-core/dvb_frontend.c:2014:38: warning: incorrect type in argument 1 (different address spaces) drivers/media/dvb-core/dvb_frontend.c:2014:38: expected void [noderef] <asn:1>*to drivers/media/dvb-core/dvb_frontend.c:2014:38: got struct dtv_property *[noderef] <asn:1>props drivers/media/dvb-core/dvb_frontend.c:1946:17: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1947:17: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1951:22: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1951:42: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1954:31: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1960:41: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1960:54: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1965:33: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1978:17: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1979:17: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1983:22: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1983:42: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1986:31: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1992:41: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1992:54: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:2007:33: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:2014:34: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:2014:52: warning: dereference of noderef expression Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 289297b9a33d4de9644c422c0cf6349387af8ad3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:59:02 2014 -0300 [media] as102_drv.h: added a missing newline drivers/media/usb/as102/as102_drv.h:83:6: warning: no newline at end of file Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5c2cacc1028917168b0f7650008dceaa6f7e3fe2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:47:27 2014 -0300 [media] v4l2-dv-timings: fix a sparse warning This is detected with: gcc-4.8.3-7.fc20.x86_64 sparse-0.5.0-3.fc20.x86_64 drivers/media/v4l2-core/v4l2-dv-timings.c:34:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:35:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:36:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:37:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:38:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:39:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:40:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:41:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:42:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:43:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:44:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:45:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:46:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:47:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:48:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:49:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:50:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:51:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:52:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:53:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:54:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:55:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:56:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:57:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:58:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:59:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:60:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:61:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:62:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:63:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:64:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:65:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:66:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:67:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:68:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:69:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:70:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:71:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:72:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:73:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:74:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:75:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:76:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:77:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:78:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:79:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:80:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:81:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:82:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:83:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:84:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:85:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:86:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:87:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:88:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:89:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:90:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:91:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:92:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:93:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:94:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:95:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:96:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:97:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:98:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:99:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:100:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:101:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:102:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:103:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:104:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:105:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:106:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:107:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:108:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:109:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:110:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:111:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:112:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:113:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:114:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:115:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:116:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:117:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:118:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:119:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:120:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:121:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:122:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:123:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:124:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:125:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:126:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:127:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:128:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:129:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:130:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:131:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:132:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:133:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:134:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:135:9: error: too many errors drivers/media/usb/hdpvr/hdpvr-video.c:42:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:43:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:44:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:45:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:46:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:47:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:48:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:49:9: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:484:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:485:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:486:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:487:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:488:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:489:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:490:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:491:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:492:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:493:18: error: unknown field name in initializer Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dc11ef78e78b65fccae91ed42b05a039ddde7a9d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:34:47 2014 -0300 [media] s5p_mfc_opr_v6: remove address space removal warnings Smatch still has 3 warnings for s5p_mfc_opr_v6: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2028:18: warning: cast removes address space of expression drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2034:18: warning: cast removes address space of expression drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2040:18: warning: cast removes address space of expression Remove them. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b5e4d33070a3b1efc738c3889842be447a613211 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:31:25 2014 -0300 [media] s5p_mfc_opr_v6: fix wrong type for registers As reported by smatch, there are several warnings related to bad types for registers. Worse than that, there are too many errors, preventing smatch to warn about real issues. So, fix them: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35: got void *const d_stream_data_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34: got void *const d_cpb_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39: got void *const d_cpb_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40: got void *const d_cpb_buffer_offset drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46: got void *const d_num_dpb drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40: got void *const d_first_plane_dpb_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42: got void *const d_second_plane_dpb_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35: got void *const d_scratch_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47: got void *const d_scratch_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33: got void *const d_first_plane_dpb_stride_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33: got void *const d_second_plane_dpb_stride_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46: got void *const d_mv_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47: got void *const d_num_mv drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38: got void *const instance_id drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30: got void *const e_stream_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30: got void *const e_stream_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32: got void *const e_source_first_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32: got void *const e_source_second_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33: got void *const e_encoded_source_first_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33: got void *const e_encoded_source_second_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42: got void *const e_recon_luma_dpb_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42: got void *const e_recon_chroma_dpb_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35: got void *const e_scratch_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47: got void *const e_scratch_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35: got void *const e_tmv_buffer0 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35: got void *const e_tmv_buffer1 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38: got void *const instance_id drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41: got void *const e_mslice_mode drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52: got void *const e_mslice_size_mb drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54: got void *const e_mslice_size_bits drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37: got void *const e_mslice_size_mb drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37: got void *const e_mslice_size_bits drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40: got void *const e_frame_width drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41: got void *const e_frame_height drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40: got void *const e_cropped_frame_width drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41: got void *const e_cropped_frame_height drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29: got void *const e_frame_crop_offset drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29: got void *const e_gop_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45: got void *const e_ir_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37: got void *const pixel_format drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37: got void *const pixel_format drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37: got void *const pixel_format drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29: got void *const e_padding_ctrl drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37: got void *const e_padding_ctrl drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33: got void *const e_rc_bit_rate drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35: got void *const e_rc_bit_rate drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43: got void *const e_rc_mode drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43: got void *const e_rc_mode drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29: got void *const e_mv_hor_range drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29: got void *const e_mv_ver_range drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29: got void *const e_frame_insertion drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29: got void *const e_roi_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29: got void *const e_param_change drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29: got void *const e_rc_roi_ctrl drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29: got void *const e_picture_tag drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29: got void *const e_bit_count_enable drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29: got void *const e_max_bit_count drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29: got void *const e_min_bit_count drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29: got void *const e_metadata_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29: got void *const e_metadata_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29: got void *const e_gop_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29: got void *const e_gop_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29: got void *const e_picture_profile drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29: got void *const e_rc_qp_bound drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29: got void *const e_fixed_picture_qp drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37: got void *const e_fixed_picture_qp drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37: got void *const e_rc_frame_rate drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41: got void *const e_vbv_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54: got void *const e_vbv_init_delay drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29: got void *const e_h264_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:881:41: warning: too many warnings Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d7fa7b0e5ffe7f3225158ec59e7040aa6e84d45f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:25:56 2014 -0300 [media] s5p_mfc_opr_v5: fix smatch warnings drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23: warning: incorrect type in argument 2 (different modifiers) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23: got void const volatile [noderef] <asn:2>*<noident> drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36: got void * Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ca5ea0c5dfe0e63298eb157d877d19dfe892353f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:08:10 2014 -0300 [media] s5p_mfc: use static for some structs drivers/media/platform/s5p-mfc/s5p_mfc.c:1334:28: warning: symbol 'mfc_buf_size_v5' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1341:25: warning: symbol 'buf_size_v5' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1347:26: warning: symbol 'mfc_buf_align_v5' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1360:28: warning: symbol 'mfc_buf_size_v6' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1368:25: warning: symbol 'buf_size_v6' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1374:26: warning: symbol 'mfc_buf_align_v6' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1392:28: warning: symbol 'mfc_buf_size_v7' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1400:25: warning: symbol 'buf_size_v7' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1406:26: warning: symbol 'mfc_buf_align_v7' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1419:28: warning: symbol 'mfc_buf_size_v8' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1427:25: warning: symbol 'buf_size_v8' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1433:26: warning: symbol 'mfc_buf_align_v8' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5d28e29833c8bc80d96cb2f46c3cf06b43a8fa4 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Sep 22 13:05:56 2014 -0300 [media] coda: Improve runtime PM support For several reasons it's good practice to leave devices in runtime PM active state while those have been probed. In this cases we also want to prevent the device from going inactive, until the firmware has been completely installed, especially when using a PM domain. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7c672812fe230f54e86da0e56cd2917e897fe760 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Mon Sep 22 09:52:02 2014 -0300 [media] s5p-mfc: Use decode status instead of display status on MFCv5 Commit 90c0ae50097 changed how the frame_type of a decoded frame gets determined, by switching from the get_dec_frame_type to get_disp_frame_type operation. Unfortunately it seems that on MFC v5 the result of get_disp_frame_type is always 0 (no display) when decoding (tested with H264), resulting in no frame ever being output from the decoder. This patch reverts MFC v5 to the previous behaviour while keeping the new behaviour for v6 and up. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7e8fe13dc31d413c77ef1aaf7f7a2a60eab413da Author: ayaka <ayaka@xxxxxxxxxxx> Date: Thu Sep 18 16:41:12 2014 -0300 [media] s5p-mfc: fix enum_fmt for s5p-mfc As the s5p-mfc is a driver which use multiplanar api, so the vidioc_enum_fmt_vid serial of ioctl should only for multiplanar, non-multiplanar shouldn't be implemented at all. Signed-off-by: ayaka <ayaka@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e2c3be2aff3358e485ed307cc3ad11a9c58c086f Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Thu Sep 11 10:27:20 2014 -0300 [media] s5p-mfc: Fix sparse errors in the MFC driver The following error: "error: incompatible types in conditional expression (different base types)" was reported multiple times for the s5p-mfc driver. This error was caused by two macro definitions - s5p_mfc_hw_call (in s5p_mfc_common.h) and WRITEL (in s5p_mfc_opr_v6.c). In the former case the macro assumed that all ops return a value, but some ops return void. The solution to this problem was the addition of a s5p_mfc_hw_call_void macro. In the latter case the macro used the ?: construction to check whether the address is non zero. This is not necessary after the driver left the development and debugging cycle, so the READL and WRITEL macros were removed. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9aee8b80a8facefb29ad0077fdbcca116f25f6e6 Author: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Date: Wed Sep 3 23:28:43 2014 -0300 [media] s5p_mfc: unify variable naming style Variable frame_size represents the size of plane luminance here, not just frame size, its naming style should be unified as frame_size_ch and frame_size_mv. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 00684dab287956573122815bfdc04cb4b4561033 Author: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Date: Wed Sep 3 23:28:06 2014 -0300 [media] s5p_mfc: correct the loop condition It should take ctx->dst_fmt->num_planes as the loop condition for CAPTURE. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 327eeb3a1a335f2580e72878191ca7a5236797bc Author: Olli Salonen <olli.salonen@xxxxxx> Date: Tue Sep 23 13:53:09 2014 -0300 [media] si2168: add FE_CAN_MULTISTREAM into caps PLP selection was implemented for Si2168 last month (patchwork 25387). However, FE_CAN_MULTISTREAM was not added to dvb_frontend_ops of si2168. This patch adds FE_CAN_MULTISTREAM, which indicates that multiple PLP are supported. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c710f591a6f209220bd0649153e1fbc78bc09db9 Author: Kazunori Kobayashi <kkobayas@xxxxxxxxxx> Date: Thu Sep 11 03:09:38 2014 -0300 [media] soc_camera: Support VIDIOC_EXPBUF ioctl This patch allows for exporting a dmabuf descriptor from soc_camera drivers. Signed-off-by: Kazunori Kobayashi <kkobayas@xxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5d6de11c331d61dd27cf02f54243ebd1fcfbbfb3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Sep 18 09:23:36 2014 -0300 [media] mx2-camera: potential negative underflow bug My static checker complains: drivers/media/platform/soc_camera/mx2_camera.c:1070 mx2_emmaprp_resize() warn: no lower bound on 'num' The heuristic is that it's looking for values which the user can influence and we put an upper bound on them but we (perhaps accidentally) allow negative numbers. I am not very familiar with this code but I have looked at it and think there might be a bug. Making the variable unsigned seems like a safe option either way and this silences the static checker warning. The call tree is: -> subdev_do_ioctl() -> mx2_camera_set_fmt() -> mx2_emmaprp_resize() The check: if (num > RESIZE_NUM_MAX) can underflow and then we use "num" on the else path. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 197a47f2d51022c613bc7bf40953a0fa3497b9c5 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 20 16:12:54 2014 -0300 [media] rcar_vin: fix error message in rcar_vin_get_formats() The dev_err() call is supposed to output <width>x<height> in decimal but one of the format specifiers is "%x" instead of "%u" (most probably due to a typo). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2ea12442e3e5df6107ba4f948c7e6f7c99b3b373 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 22:38:37 2014 -0300 [media] tc90522: fix compilation on 32 bits drivers/built-in.o: In function `tc90522t_get_frontend': >> tc90522.c:(.text+0x260b64c): undefined reference to `__divdi3' >> tc90522.c:(.text+0x260b685): undefined reference to `__divdi3' >> tc90522.c:(.text+0x260b6bb): undefined reference to `__divdi3' >> tc90522.c:(.text+0x260b713): undefined reference to `__divdi3' drivers/built-in.o:tc90522.c:(.text+0x260bb64): more undefined references to `__divdi3' follow Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 46cebe017afd03614b17c70ed5ed2734ec3796f7 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 22:29:41 2014 -0300 [media] qm1d1c0042: fix compilation on 32 bits drivers/built-in.o: In function `qm1d1c0042_set_params': >> qm1d1c0042.c:(.text+0x2519730): undefined reference to `__divdi3' Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b2dd83b377d390ab503420c9a5867df5741e273d Author: Liu Hua <sdu.liu@xxxxxxxxxx> Date: Thu Sep 18 12:15:28 2014 +0800 Documentation: correct parameter error for dma_mapping_error dma_mapping_error takes two parameters, but some of examples in Documentation/DMA-API-HOWTO.txt just takes one. So correct it. Signed-off-by: Liu Hua <sdu.liu@xxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7bb38d57fd75f03753a5b362916c5bbde8290208 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 26 11:15:18 2014 +0200 Remove MN10300_PROC_MN2WS0038 The symbol is an orphan, get rid of it. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7efceb559579f11a05160ff92c12fc4c59a531d8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 16 22:00:47 2014 +0200 mei: fix comments Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: "Winkler, Tomas" <tomas.winkler@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit cf8102f64c8d23f0bd4af0659bbd94d0c1d8d1c7 Merge: 521e8ba 46fb3c2 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 26 11:12:46 2014 +0200 Merge tag 'perf-fdarray-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf tooling updates from Arnaldo Carvalho de Melo. Infrastructure changes: * We were not handling POLLHUP notifications for event file descriptors. Fix it by filtering entries in the events file descriptor array after poll() returns, refcounting mmaps so that when the last fd pointing to a perf mmap goes away we do the unmap. (Arnaldo Carvalho de Melo) User visible changes: * Now 'record' and 'trace' properly exit when a target thread exits. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f54619f28fb6829612eb90a31cc55caf14c5fcca Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Sep 18 12:09:42 2014 +0900 treewide: Fix typos in Kconfig This patch fix spelling typos found in Kconfig. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e8ac6ea8a42d6506345056c6de3e81c97d3f20af Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 24 16:08:33 2014 +1000 kprobes: update jprobe_example.c for do_fork() change In commit e80d666 "flagday: kill pt_regs argument of do_fork()", the arguments to do_fork() changed. The example code in jprobe_example.c was not updated to match, so the arguments inside the jprobe handler do not match reality. Fix it by updating the arguments to match do_fork(). While we're at it use pr_info() for brevity, and print stack_start as well for interest. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2d69049ab7028ac656a8545a068cc10a663a9805 Author: Oscar Utbult <oscar@xxxxxxx> Date: Thu Sep 25 15:41:35 2014 +0200 Documentation: change "&" to "and" in Documentation/applying-patches.txt http://english.stackexchange.com/questions/3127/when-to-use-instead-of-and Signed-off-by: Oscar Utbult <oscar@xxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 53007a7bfefd98cc3dd121f3b1ceedc6dcf08cc3 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Fri Sep 26 11:05:17 2014 +0200 MAINTAINERS: update location of linux-doc tree Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e043271b6ab41500c83dc79a2be1c3c592b4f78d Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:24:09 2014 -0700 Documentation: remove networking/.gitignore Remove empty networking/.gitignore Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Cc: rdunlap@xxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit ec84284b008858b240b6c5b2a581408f6351a0a3 Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:24:03 2014 -0700 tools: add more endian.h macros Add some more macros to tools/endian.h to allow mpssd to be compiled against glibc < 2.9. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Cc: rdunlap@xxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: sudeep.dutt@xxxxxxxxx Cc: nikhil.rao@xxxxxxxxx Cc: ashutosh.dixit@xxxxxxxxx Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8e2faea877eb24511c8e71b88e803e22c6bf235e Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:58 2014 -0700 Make Documenation depend on headers_install Cc: rdunlap@xxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: sudeep.dutt@xxxxxxxxx Cc: nikhil.rao@xxxxxxxxx Cc: ashutosh.dixit@xxxxxxxxx Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dd42a0882a70f10e429b8306dec8aad40babe19c Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Thu Sep 25 11:23:53 2014 -0700 Docs: this_cpu_ops: remove redundant add forms Commit ac490f4dca94 (Documentation: this_cpu_ops.txt: Update description of this_cpu_ops) added lists of {__,}this_cpu operations, but these have duplicate, parameter-less entries for {__,}this_cpu_add which don't correspond to any implementation. No other operations have such duplicate entries. Given both are also listed with their full complement of arguments, the empty forms are redundant and can be removed. This patch performs said removal. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 25b91ac204647de6f84fbc1dd7ea4fa2cc7e5a46 Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:48 2014 -0700 Documentation: disable vdso_test to avoid breakage with old glibc glibc versions older than 2.16 don't include sys/auxv.h which this executable uses. Since we don't have a good way to test for specific glibc versions in kbuild, just disable it for now. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 15565829e75ce6b50449462405dd7e72c37bd74e Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:43 2014 -0700 Documentation: update vDSO makefile to build portable examples Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c5e2a7e01269cd9839fef8a5c5ac258277b3b08f Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:37 2014 -0700 Documentation: update .gitignore files Add some missing files to .gitignore. Push Documentation/.gitignore down into subdirectories. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8c2b0dc83d9840da4d993a5dbb15c5974ad5a188 Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:32 2014 -0700 Documentation: support glibc versions without htole macros glibc 2.9 introduced the htole<16/32/64> macros, add them to tools/include to support older versions of glibc. Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 19f94f97003a70a5241efff035f6c181c290a799 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Sep 25 11:23:27 2014 -0700 v4l2-pci-skeleton: Only build if PCI is available Currently arm64 does not support PCI but it does support v4l2. Since the PCI skeleton driver is built unconditionally as a module with no dependency on PCI this causes build failures for arm64 allmodconfig. Fix this by defining a symbol VIDEO_PCI_SKELETON for the skeleton and conditionalising the build on that. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> [added VIDEO dependencies] Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6ab0e475f1f38b6be90aff4ef3ebf928c4a73dc8 Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:21 2014 -0700 Documentation: fix misc. warnings Fix a few warnings that gcc emits during a default build. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0421fc837c822e86c76884a30a9155e512a5a66a Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:15 2014 -0700 Documentation: make functions static to avoid prototype warnings Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit adb19fb66eeebac07fe37d968725bb8906dadb8e Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:09 2014 -0700 Documentation: add makefiles for more targets Add a bunch of previously unbuilt source files to the Documentation build machinery. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit df68a01014fd5dea890349321787ca08a5377f0b Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:02 2014 -0700 Documentation: use subdir-y to avoid unnecessary built-in.o files Change the Documentation makefiles from obj-m to subdir-y to avoid generating unnecessary built-in.o files since nothing in Documentation/ is ever linked in to vmlinux. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e3893386b90500d7f26fec3170bf96f67d3e557e Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Sep 25 19:09:23 2014 +0300 gpiolib: irqchip: use irq_find_mapping while removing irqchip There is no guarantee that VIRQs will be allocated sequentially for gpio irqchip in gpiochip_irqchip_add(). Therefore, it's unsafe to dispose VIRQ in gpiochip_irqchip_remove() basing on index relatively to stored irq_base value. Hence, use irq_find_mapping for VIRQ finding in gpiochip_irqchip_remove() instead of irq_base + index. Reported-by: Wang, Yalin <Yalin.Wang@xxxxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cf1fc187628913070c3e418ce0e205732435aa2f Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Tue Sep 23 15:59:53 2014 -0500 pinctrl: qcom: use restart_notifier mechanism for ps_hold By converting to the restart_notifier mechanism for restart, we allow for other mechanisms, like the watchdog, to be used for restart in the case where PS_HOLD has failed to reset the chip. Since this mechanism may be one of several mechanisms registered, change the post-ps_hold write timeout to be a more reasonable 1 second instead of 10 seconds. Choose priority 128, as according to documentation, this mechanism "is sufficient to restart the entire system". Tested-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6a642509801116037720892efe72f0e84f02f317 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 25 10:17:29 2014 +0800 regulator: qcom_rpm: Fix FORCE_MODE_IS_2_BITS macro Current code does not take the macro parameter, fix it. This is not a problem at this moment because the only user actually passes vreg to FORCE_MODE_IS_2_BITS(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aad615c632681168e48b3cafd79e43f55f7be1cf Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Sep 24 17:45:25 2014 +0800 regulator: qcom_rpm: Don't explicitly initialise the first field of config Doing so generates a warning as the first field is a pointer but we use 0 to initialize it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c5bb725ac2d1a13e9e766bf9a16bac986ade17cd Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Date: Thu Sep 25 16:39:11 2014 +0200 regulator: ltc3589: fix broken voltage transitions VCCR is used as a trigger to start voltage transitions, so we need to mark it volatile in order to make sure it gets written to hardware every time we set a new voltage. Fixes regulator voltage being stuck at the first voltage set after driver load. [lst: reworded commit message] Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit bb0ca6acd466af55c95b7ce508f29e23a24cabd9 Author: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Date: Thu Sep 25 15:26:50 2014 -0700 kvm: Fix kvm_get_page_retry_io __gup retval check Confusion around -EBUSY and zero (inside a BUG_ON no less). Reported-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 61d38b9a823c96c7a27fca3924959b1feba04b45 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 26 14:19:22 2014 +0800 spi: bcm53xx: Add missing module information Mainly to fix missing MODULE_LICENSE. Also add MODULE_DESCRIPTION and MODULE_AUTHOR. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 933fc7b06ca62741fd5067edab13068d13b3cb35 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 26 14:18:31 2014 +0800 spi: bcm53xx: Fix module dependency config SPI_BCM53XX needs to depend on BCMA_POSSIBLE and select BCMA. This fixes below build error: ERROR: "bcma_driver_unregister" [drivers/spi/spi-bcm53xx.ko] undefined! ERROR: "__bcma_driver_register" [drivers/spi/spi-bcm53xx.ko] undefined! Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d247a70a4d67623eb738176ee703a7bb8b6c325c Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Sep 26 09:49:02 2014 +0200 ipr: fix compile failure Fix a typo in the IPR_IOASC_HW_CMD_FAILED declaration. Based on a patch from Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 48b490d23ef5aaf65e16e194e0fd2578a9b6497f Author: Andreas Werner <andreas.werner@xxxxxx> Date: Mon Sep 15 09:36:30 2014 +0200 MAINTAINERS: Adds Andreas Werner to maintainers list for MEN F21BMC Added maintainer for the following MEN F21BMC drivers: - menf21bmc (MFD) - menf21bmc_wdt (Watchdog) - menf21bmc_hwmon (HWMON) - leds-menf21bmc (LED) Signed-off-by: Andreas Werner <andreas.werner@xxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Acked-by: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 71d134b9fa3b435649aca893f79811afc7e4f1f1 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 10:37:11 2014 +0100 mfd: arizona: Correct mask to allow setting micbias external cap Currently the mask for the external capacitor bit is missing when writing the MICBIAS config meaning it will never be set this patch fixes this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6ab3430129e258ea31dd214adf1c760dfafde67a Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Sep 16 14:52:36 2014 +0300 mfd: Add ACPI support If an MFD device is backed by ACPI namespace, we should allow subdevice drivers to access their corresponding ACPI companion devices through normal means (e.g using ACPI_COMPANION()). This patch adds such support to the MFD core. If the MFD parent device does not specify any ACPI _HID/_CID for the child device, the child device will share the parent ACPI companion device. Otherwise the child device will be assigned with the corresponding ACPI companion, if found in the namespace below the parent. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7be180cc7a0c5768a984126d9468afc82dcf93a2 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 10:37:10 2014 +0100 Revert "mfd: wm5102: Manually apply register patch" This reverts commit d9d03496f6f904a3588bdb8b215853bc4e50132c. It seems this commit was applied twice, once through ASoC and once through MFD: commit 4c9bb8bc352a14c9613c77bc3f1e9038cd086b9b mfd: wm5102: Manually apply register patch commit d9d03496f6f904a3588bdb8b215853bc4e50132c mfd: wm5102: Manually apply register patch This has lead to a small piece of duplicate code. It is harmless hence how it has gone unoticed for so long. This patch reverts one of the two commits removing the unneeded code. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f0933a60d1902c918249d11fb6d9a5ffd581ef5b Author: Jeff Lance <j-lance1@xxxxxx> Date: Thu Sep 4 19:01:57 2014 +0200 mfd: ti_am335x_tscadc: Update logic in CTRL register for 5-wire TS The logic in AFE_Pen_Ctrl bitmask in the CTRL register is different for five wire versus four or eight wire touschscreens. This patch should fix this for five-wire touch screens. There should be no change needed here for four and eight wire tousch screens. Signed-off-by: Jeff Lance <j-lance1@xxxxxx> [bigeasy: keep the change mfd only] Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 92b8f3abb8c30c15fc79a79ddd1ffab135fc0360 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Sep 24 11:33:44 2014 +0100 mfd: dt-bindings: atmel-gpbr: Rename doc file to conform to naming convention Cc: boris.brezillon@xxxxxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 937064bd9092067888ad031329e01f7f4beb22d1 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Sep 24 11:29:17 2014 +0100 mfd: dt-bindings: qcom-pm8xxx: Rename doc file to conform to naming convention Cc: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4f08df1b06bb4022fab5a2a916f455915856ed9e Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 21:37:55 2014 +0200 mfd: Inherit coherent_dma_mask from parent device dma_mask and dma_parms are already inherited from the parent device but dma_coherent_mask was left uninitialized (set to zero thanks to kzalloc). Set sub-device coherent_dma_mask to its parent value to simplify sub-drivers making use of dma coherent helper functions (those drivers currently have to explicitly set the dma coherent mask using dma_set_coherent_mask function). Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ab27c44754964aedd9f9ba74326d74e5e2a3c74f Author: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Date: Fri Aug 1 17:30:49 2014 +0300 mfd: Document DT bindings for Qualcomm SPMI PMICs Document DT bindings used to describe the Qualcomm SPMI PMICs. Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c3a973a770a122a5ec9a9b827ae25c00f56b3e47 Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Fri Aug 1 17:30:48 2014 +0300 mfd: Add support for Qualcomm SPMI PMICs The Qualcomm SPMI PMIC chips are components used with the Snapdragon 800 series SoC family. This driver exists largely as a glue mfd component, it exists to be an owner of an SPMI regmap for children devices described in device tree. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a5669e4872fd16d1ae25c76e55c995c911a1c5c7 Author: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Date: Tue Sep 23 16:52:40 2014 +0300 mfd: dt-bindings: pm8xxx: Add new compatible string The rtc driver now supports PM8941 PMIC device, reflect this in the binding document. Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6e6240a449614148d3fb49b23a50435b19c6baed Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 22:06:35 2014 +0200 mfd: axp209x: Drop the parent supplies field Now that the regulator code get its parent supplies purely from the DT, we can drop the parent supplies resources in the MFD driver. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fecc4452b9b3f4bbab41c1b7583a72066ee0c77c Author: Nishanth Menon <nm@xxxxxx> Date: Wed Sep 17 07:34:12 2014 -0500 mfd: twl4030-power: Use 'ti,system-power-controller' as alternative way to support system power off ti,system-power-controller is more or less the standard way of indicating that the PMIC is the system wide power controller and hence may be used to switch off the system. Almost ALL TI PMIC drivers and many Maxim PMIC drivers follow the same style. So support 'ti,system-power-controller' in addition to the usual 'ti,use_poweroff' to indicate that the PMIC instance has control for switching off the system. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b64c6887f44d9e9220ddf10acf5c0c6b313a9de1 Author: Nishanth Menon <nm@xxxxxx> Date: Wed Sep 17 07:34:11 2014 -0500 mfd: dt-bindings: twl4030-power: Use the standard property to mark power control ti,system-power-controller is more or less the standard way of indicating that the PMIC is the system wide power controller and hence may be used to switch off the system. Almost ALL TI PMIC drivers and many Maxim PMIC drivers follow the same style. So support 'ti,system-power-controller' in addition to the usual 'ti,use_poweroff' to indicate that the PMIC instance has control for switching off the system. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c896e68ec1a0548f29b3d29f6c14a29cf06aa56c Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 15:18:45 2014 +0200 mfd: syscon: Add Atmel GPBR DT bindings documention The GPBR block provides a set of battery-backed registers that can be used to save data which need to be kept when the system is powered down and VDD-core is maintained by an external battery. A typical usage is the RTT block (when used as an RTC) which needs one of those registers to save the current time. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Johan Hovold <johan@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2adb3b8e6fa310d64ea6209f8ac5d5575839f6da Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Sep 9 16:06:04 2014 -0700 mfd: rk808: Add register caching Let's define the voltatile registers (those that can't be cached) and enable caching. The rk808 is accessed almost constantly with cpufreq so this is really nice. As measured by ftrace: before this change: cpu0_set_target() => ~2200us after this change: cpu0_set_target() => ~500us Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit cfeb35da2ae36e26f6136b80351a06d34776587b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 17:00:09 2014 +0100 mfd: arizona: Use handle_simple_irq for IRQ dispatch chip We use a dummy IRQ chip to dispatch interrupts to the two seperate IRQ domains on the Arizona devices. This is just a simple software IRQ chip and thus the current handle_edge_irq is unnecessary for its needs. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit be69e9e00718ac5e93a22184ed33d8d719bee9cd Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 5 12:15:10 2014 +0200 mfd: max14577: Don't pass IRQ domain to mfd_add_devices The max14577 MFD cells do not have any resources so the IRQ domain passed to mfd_add_devices is not used. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0bf1f0cda11ef34765fd5e0bef9771785658fb91 Author: Sean Cross <xobs@xxxxxxxxxx> Date: Fri Sep 12 11:18:34 2014 +0800 mfd: stmpe: Document DT binding for irq_over_gpio STMPE now supports using a GPIO as an IRQ source. Document the device tree binding for this option. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 851ec59614d8cd0d122319c32a5be0f8799d36be Author: Sean Cross <xobs@xxxxxxxxxx> Date: Fri Sep 12 11:18:33 2014 +0800 mfd: stmpe: Support gpio over irq under device tree The stmpe_platform_data has a irq_over_gpio field, which allows the system to read STMPE events whenever an IRQ occurs on a GPIO pin. This patch adds the ability to configure this field and to use a GPIO as an IRQ source for boards configuring the STMPE in device tree. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bdaf67030cbab21a91fd2d6b1771cf336a0dd092 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Fri Sep 12 13:35:45 2014 +0900 mfd: intel_soc_pmic: Add CONFIG_PM_SLEEP check for suspend_fn/resume_fn This patch fix warning message with CONFIG_PM_SLEEP disabled If CONFIG_PM_SLEEP is not enabled we receive the following warning message: drivers/mfd/intel_soc_pmic_core.c:118:12: warning: 'intel_soc_pmic_suspend' defined but not used Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5152970538a5e16c03bbcb9f1c780489a795ed40 Author: Chris Ball <chris@xxxxxxxxxx> Date: Thu Sep 4 17:11:53 2014 +0100 mfd: rtsx_pcr: Fix MSI enable error handling pci_enable_msi() can return failure with both positive and negative integers -- it returns 0 for success -- but is only tested here for "if (ret < 0)". This causes us to try to use MSI on the RTS5249 SD reader in the Dell XPS 11 when enabling MSI failed, causing: [ 1.737110] rtsx_pci: probe of 0000:05:00.0 failed with error -110 Cc: stable <stable@xxxxxxxxxxxxxxx> Reported-by: D. Jared Dominguez <Jared_Dominguez@xxxxxxxx> Tested-by: D. Jared Dominguez <Jared_Dominguez@xxxxxxxx> Signed-off-by: Chris Ball <chris@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6a71f38dd87f255a0586104ce2a14d5a3ddf3401 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Mon Sep 8 15:28:42 2014 +0200 mfd: ti_am335x_tscadc: Fix TSC resume In the resume path, the ADC invokes am335x_tsc_se_set_cache() with 0 as the steps argument if continous mode is not in use. This in turn disables all steps and so the TSC is not working until one ADC sampling is performed. This patch fixes it by writing the current cached mask instead of the passed steps. Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADCA synchronization") Cc: stable@xxxxxxxxxxxxxxx # v3.13+ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0b496b4c95c74ba795bc642a6092263ebf905759 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 5 22:16:18 2014 +0100 mfd: tps65217: Tell regmap what registers are valid Allow regmap to provide debugfs access to the register map by telling it what registers are valid. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 34a4958e4cfe1a379ed18fb3e2d0b93ba08f28d3 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 8 09:01:11 2014 +0200 mfd: mc13xxx: Configure WDI reset Setup the PMIC to make a restart when a watchdog interrupt occures. If this is not configured, the PMIC will shut down the power supply without a restart. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 970d9fbca95c2f5277a4f55c2fba9a8b615c38f7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 4 12:32:12 2014 +0300 mfd: pcf50633: Use sprintf directly When dump a content of the registers let's use snprintf() directly with %*ph specifier. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8bdf87b400271ebc7fbf71e117c299d19a97ebb4 Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Mon Sep 1 16:28:34 2014 +0800 mfd: Add HI6421 PMIC Core driver This adds driver to support HiSilicon Hi6421 PMIC. Hi6421 includes multi- functions, such as regulators, codec, ADCs, Coulomb counter, etc. This driver includes core APIs _only_. Drivers for individul components, like voltage regulators, are implemented in corresponding driver directories and files. Registers in Hi6421 are memory mapped, so using regmap-mmio API. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0709b048cea5a368e078e10fa25adc030392125a Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Mon Sep 1 16:28:33 2014 +0800 mfd: dt-bindings: Add Device Tree bindings for HI6421 Add documentation for HiSilicon Hi6421 PMIC DT binding. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 85de80e8df54b43fadf6e33b3704dc3ea60181f9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 2 13:45:22 2014 +0300 mfd: lpc_sch: Remove FSF address This patch removes FSF address because it can be changed. While here, update the copyright lines by adding Intel Corp. to them. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ec689a8a8155ce8b966bd5d7737a3916f5e48be3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 2 13:45:21 2014 +0300 mfd: lpc_sch: Add support for Intel Quark X1000 Intel Quark X1000 SoC supports IRQ based GPIO. This patch will enable MFD support for Quark X1000 and provide IRQ resources to Quark X1000 GPIO device driver. Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@xxxxxxxxx> Tested-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bb048713bba3ead39f6112910906d9fe3f88ede7 Author: Josef Ahmad <josef.ahmad@xxxxxxxxx> Date: Tue Sep 2 13:45:20 2014 +0300 pci_ids: Add support for Intel Quark ILB This patch adds the PCI id for Intel Quark ILB. It will be used for GPIO and Multifunction device driver. Signed-off-by: Josef Ahmad <josef.ahmad@xxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b24512c860244716fa8ca74faff2ff617c465515 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 2 13:45:19 2014 +0300 mfd: lpc_sch: Reduce duplicate code and improve manageability This patch refactors the driver to use helper functions instead of copy'n'pasted pieces of code. It also introduces an additional struct to hold a chipset info. The chipset info will be used to store features that are supported by specific processor or chipset. LPC_SCH supports SMBUS, GPIO and WDT features. As this code base might expand further to support more processors, this implementation will help to keep code base clean and manageable. The patch is partially based on the work done by Chang Rebecca Swee Fun. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Tested-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f69a7cf74d5536faa180437581be2a9c0aad1bb1 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:51:44 2014 +0800 mfd: RK808: Add new mfd driver for RK808 The RK808 chip is a power management IC for multimedia and handheld devices. It contains the following components: - Regulators - RTC - Clkout The RK808 core driver is registered as a platform driver and provides communication through I2C with the host device for the different components. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Zhang Qing <zhangqing@xxxxxxxxxxxxxx> Tested-by: Heiko <heiko@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a53b9a97ac33fa74d136c2e3fd0d76ba7872a1d0 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:51:43 2014 +0800 mfd: dt-bindings: Add RK808 device tree bindings document Add device tree bindings documentation and a header file for rockchip's RK808 pmic. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Zhang Qing <zhangqing@xxxxxxxxxxxxxx> Tested-by: Heiko <heiko@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e9e9d3973594cadd9e892bc79f914f299bb61124 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 16 21:23:40 2014 +0800 mfd: da9052: Avoid setting read_flag_mask for da9052-i2c driver Current code init regmap with &da9052_regmap_config for both da9052-spi and da9052-i2c drivers. da9052-spi sets the read_flag_mask. The same setting may be applied for da9052-i2c if da9052-spi driver is loaded first because they actually use the same regmap_config setting. Fix this issue by using a local variable for regmap_config in da9052-spi driver, so the settings in spi driver won't impact the settings in i2c driver. Also makes da9052_regmap_config const to avoid similar issue. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c38715fed8f51a8fba4a15f86732ad885f073d78 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 1 15:29:11 2014 +0100 mfd: arizona: Propagate irq_wake through to parent IRQ If one of the internal Arizona IRQs is set as a wake source this needs to be propogated back to the actual IRQ line that the Arizona device is attached to. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit dc5193cc4a1e0103fe852acb21c588ea544697c6 Author: Inha Song <ideal.song@xxxxxxxxxxx> Date: Sat Aug 30 11:27:19 2014 +0900 mfd: arizona: Update DT binding to support INn_MODE init_data This patch update DT binding to support INn_MODE init_data. Each input signal path can be configurated either as a Analogue or Digital using the INn_MODE registers. Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Reviewed-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit cc47aed9a1ef8eadd7bf14e32117896777b5cc41 Author: Inha Song <ideal.song@xxxxxxxxxxx> Date: Sat Aug 30 11:27:18 2014 +0900 mfd: arizona: Add support for INn_Mode register control Some boards need to set the INn_MODE[1:0] register to change the input signal patch. This wlf,inmode property is optional. If present, values must be specified less than or equal to the number of input singals. If values less than the number of input signals, elements that has not been specifed are set to 0 by default. Example: - wlf,inmode = <2 0 2>; /* IN1, IN3 use DMIC */ Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Reviewed-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c24084db223aec7793201b94f0712cfdfa7e9fe7 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 1 15:48:52 2014 +0100 mfd: arizona: Add ASYNC_SAMPLE_RATE_2 registers Some arizona devices have a second asynchronous sample rate, add the registers necessary to support this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9bb9e29c78f8d8ee310987fd58a2b908a4ce0c40 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Aug 30 14:50:23 2014 +0200 mfd: Add Ricoh RN5T618 PMIC core driver Ricoh RN5T618 is a power management IC which integrates 3 step-down DCDC converters, 7 low-dropout regulators, a Li-ion battery charger, fuel gauge, ADC, GPIOs and a watchdog timer. This commit adds a MFD core driver to support the I2C communication with the device. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6ac734d2242949f41eb1346ca0fd4ed010c937aa Author: Vignesh R <vigneshr@xxxxxx> Date: Mon Sep 1 12:01:06 2014 +0530 mfd: ti_am335x_tscadc: Fix TSC operation after ADC continouous mode After enabling and disabling ADC continuous mode via sysfs, ts_print_raw fails to return any data. This is because when ADC is configured for continuous mode, it disables touch screen steps.These steps are not re-enabled when ADC continuous mode is disabled. Therefore existing values of REG_SE needs to be cached before enabling continuous mode and disabling touch screen steps and enabling ADC steps. The cached value are to be restored to REG_SE once ADC is disabled. Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADC synchronization") Cc: stable@xxxxxxxxxxxxxxx # v3.13+ Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a654f81640caa0bb648b0e45b792ba846c9bb02d Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Aug 30 14:50:26 2014 +0200 mfd: rn5t618: Document device tree bindings This adds the device tree bindings documentation for Ricoh RN5T618. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c593aca4e42a24b229a8070c4eb50d01f54877f2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 18:49:03 2014 +0200 mfd: davinci_voicecodec: Fix 'if defined' guard type in header The include guard doesn't work as intended due to the transposition typo DAVINCI -> DAVINIC. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit be1c770028b832945680ebf5c0d49b831ba719d5 Author: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx> Date: Fri Aug 22 17:30:56 2014 +0200 mfd: tps65910: Work around silicon erratum SWCZ010 http://www.ti.com/lit/pdf/SWCZ010: Glitch on SDA-SCL not managed correctly by the I2C IP Impact: The standard specifies that the I2C transfer should restart on a start event in all cases. The current design does not support two consecutive Start conditions. This can cause the first real access after such a glitch to be corrupted. Description: An unexpected glitch on SDA and SCL can generate a wrong start event. In the current design, the SCL line must toggle two times to detect a new start event and completely restart the I2C access; hence the real start event is not detected in the case of a single SCL toggle. Workaround: Repeat I2C access. A simpler workaround is to make a dummy transfer just before the first access to the tps65910 chip. This can be done unconditionally. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit dfa52c852dd3fcf3c0e696ab2d7df0bf91b2aed9 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:52:50 2014 +0200 mfd: ti_ssp: Remove unused header The header file include/linux/mfd/ti_ssp.h does not seem to be used anywhere. It was orphaned by 3033ee62 "mfd: Remove obsolete ti-ssp driver". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7929fa7740f2a8cba6857aaa0f6513f81a0e3d88 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 11:20:33 2014 +0100 mfd: stmpe: Rid variable length array Sparse warnings Numbers are generated by taking the largest currently used values. drivers/mfd/stmpe.c:252:17: warning: Variable length array is used. drivers/mfd/stmpe.c:857:16: warning: Variable length array is used. Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 87bd1c925040d97927c6f6b7fe41a487c7d976ef Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 11:01:15 2014 +0100 mfd: max8925-i2c: Fix variable length array Sparse warning The largest byte size in use currently is 8. Fix array size to 9. drivers/mfd/max8925-i2c.c:40:33: warning: Variable length array is used Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7a36ceb284f76d696c80998cc38f6d1c6721ac6d Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 10:51:26 2014 +0100 mfd: 88pm860x-i2c: Fix variable length array Sparse warning drivers/mfd/88pm860x-i2c.c:125:33: warning: Variable length array is used. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 260a127bfbeba4bb574e7b46f07c12d4ddac57c1 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 10:48:18 2014 +0100 mfd: 88pm860x-i2c: Purge unused functions The following functions appear to be unused since v2.6.39: pm860x_page_reg_read() pm860x_page_bulk_write() pm860x_page_set_bits() Let's remove them. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fea31042ff613145c7784e2ce454bf3c151b97ba Author: James Ralston <james.d.ralston@xxxxxxxxx> Date: Wed Aug 27 14:34:25 2014 -0700 mfd: lpc_ich: Add Device IDs for Intel 9 Series PCH This patch adds the LPC Device IDs for the Intel 9 Series PCH. Signed-off-by: James Ralston <james.d.ralston@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a0bc607208e295f70d0355fa4e632a0c8c27533b Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Fri Aug 22 11:06:18 2014 +0200 mfd: max77693: Improve support for the flash cell This patch improves support for the flash cell of max77693 mfd by adding relevant of_compatible field and a structure for caching related platform data. Added are also FLASH registers related macro definitions. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4b5c1f1e080f79c3c226596047a20ccd1c8a9486 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Aug 20 15:43:39 2014 +0200 mfd: max77693: Fix register enum name According to the MAX77693 documentation the name of the register is FLASH_STATUS. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ff0c9da013d2c9f1ec232926a54e536ab48c6678 Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Thu Aug 21 12:46:25 2014 +0300 mfd: lpc_ich: Add PCI ID for Intel Braswell This is the same as used in Baytrail so add the new PCI ID to the driver's list of supported IDs. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 378515fc10c7e1b607980ef67f7e02d830dc2fae Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 15 21:53:17 2014 +0800 mfd: da9052-i2c: Remove duplicate test for I2C_FUNC_SMBUS_BYTE_DATA functionality Since commit b42261078a91 ("regmap: i2c: fallback to SMBus if the adapter does not support standard I2C"), regmap-i2c will check the I2C_FUNC_SMBUS_[BYTE|WORD]_DATA functionality based on the regmap_config setting if the adapter does not support standard I2C. So remove the I2C_FUNC_SMBUS_BYTE_DATA functionality check in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 42a71ef97b7ac31ae8f929c36048fec5cd201a49 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Thu Aug 21 07:06:06 2014 -0500 mfd: menelaus: Fix error return code Convert a zero return value on error to a negative one, as returned elsewhere in the function. Additionally, converted 1 << 7 to BIT(7) at the suggestion of Lee Jones. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2a3377ee2d8ca15ba21caf1d420cfeaf3ba4390a Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 14:51:22 2014 +0100 mfd: arizona: Avoid use of legacy IRQ mapping regmap_add_irq_chip is called from arizona_irq_init with the irq_base specified as -1 and regmap_add_irq_chip uses if (irq_base) to check if it should use legacy IRQ mapping. As such the irq mappings are currently added with irq_domain_add_legacy, rather than irq_domain_add_linear. This is clearly a typo as there is no reason why this driver can't use irq_domain_add_linear. This patch corrects this by passing the irq_base as zero to regmap_add_irq_chip. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e569d937af96bc1ec00e33285fff33ae9c1e42d6 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 11:42:47 2014 +0100 mfd: arizona: Mark additional registers as volatile Mark some additional registers as volatile. The write sequencer control registers should not be cached, as we don't ever want their value synchronised as this might cause a write sequence to be accidentally initiated. Additionally, the DAC_COMP registers require special preconditions to write so there values wouldn't be updated accurately during a register sync. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 48018943eb906d81e48f40675c17b92abfeafcf1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Aug 13 11:42:46 2014 +0100 mfd: wm5102: Mark register write sequencer control 3 readable During init the core checks if the wm5102 has finished starting by reading register 0x19 and looking at the value. This read always fails since this is not a readable register, mark it as being one. While we're at it provide a constant for the register name (as supplied by Charles Keepax). Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5e9bbf17b35f89f31e6b76b4810d8c772621c153 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Tue Aug 5 21:42:28 2014 -0700 mfd: rtsx_usb: Fix decimal printf format specifiers prefixed with 0x The prefix suggests the number should be printed in hex, so use the %x specifier to do that. Found by using regex suggested by Joe Perches. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f2b86781619c0822b4e0b561ef9aa499b5ed76ff Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Aug 6 22:12:15 2014 +0200 mfd: twl6040: Fix error return code Convert a zero return value on error to a negative one, as returned elsewhere in the function. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6052d83e716fde1af22a1b812b141e373153735e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Jul 31 15:41:30 2014 +0100 mfd: wm8994: Allow modular build The interfaces that used to be built in only (interrupts IIRC) no longer are so allow the driver to be built as a module fixing arm64 allmodconfig builds. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e0c8a1f52d0d3dc5f79ce04d7bf6da0782dcee16 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Aug 9 22:10:27 2014 +0530 mfd: menelaus: Remove null pointer dereference If vtg is NULL, it is not possible to access its mode_reg field. At all sites where the static function menelaus_set_voltage is called, the first argument is the address of a structure defined in the file. So, the null test is unnecessary and is removed. Also, a label is done away with. This problem was found using the following Coccinelle semantic match: // <smpl> @@ expression E, E1; identifier f; statement S1,S2,S3; @@ * if (E == NULL) { ... when != if (E == NULL) S1 else S2 when != E = E1 * E->f ... when any return ...; } else S3 // </smpl> Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7821d9b24bf73eee7a4e3e3744f05c6eee88db48 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Aug 22 10:09:27 2014 +0100 mfd: wm8994: Export symbols ready for built-in => modular build We'd like to be able to build the WM8994 family as modules, but the build will fail if the external symbols aren't exported first. Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5f114ebcee681b011e8b5bcd2b24169b85286050 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 16:11:27 2014 +0100 mfd: sm501: Avoid implicit sign extension Suspicious implicit sign extension where 'reg' (unsigned char) is promoted in reg << clksrc to int, then sign-extended to unsigned long. If reg << clksrc is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8a012ff9d8723fdf7ea242f0f41703eed7365b79 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 16:03:14 2014 +0100 mfd: twl4030-irq: Check return value from twl_i2c_write() - warn() on failure In the original code a return value variable was provided, but it was never checked and the user was never informed of failure. Now it is and they are. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit cddc11412d604ad673709e91e7a35e9f10c68b39 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 15:54:06 2014 +0100 mfd: pcf50633: Check return value of platform_device_add() The return value of platform_device_add() is checked after every other use throughout the kernel. We're also sliding in another cheeky dev_err() => dev_warn() change as we're not actually erroring out here, rather reporting the fact that something's gone wrong, but carrying on regardless. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b87d9a0fed5828e6cca4c3b02eacbc9c12a9a8e8 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 15:41:59 2014 +0100 mfd: max77686: Remove check which is always true As 'reg' is unsigned, it can't be less than 0, so checking if it is greater than or equal to 0 will always result in a true condition. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 616e047992a4621a09ef45182076ff09b2495dec Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 15:05:01 2014 +0100 mfd: wm5102: Insert missing break in case statement Chip identifier wm5102_reva_patch is always overwritten with wm5102_revb_patch, even when the code is run on a Rev-A chip. Place in the missing break to force the code into doing something sensible instead. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9b6a5ad9da4118e8c2a087501ddff33f51a9e6ba Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 13:10:20 2014 +0100 mfd: htc-i2cpld: Rectify pointer offset error Checking the result of container_of() against NULL will always result to false. Using the offset of member 'chip_out' to find the start of 'struct htcpld_chip' will result in an offset error when .get_chip() is attempting to obtain 'htcpld-in'. Instead, we'll use the correct member based on a previously the set chip label. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 41cc08e955187b96867fa0f625c55496961699ba Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Aug 13 13:52:27 2014 +0100 mfd: htc-i2cpld: Use '!variable' instead of 'variable == NULL' This aids in consistency, as the rest of the checks in the file use this notation. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fe4b7ea8e7c1f03601f6521c24898a688e565626 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Aug 13 13:48:27 2014 +0100 mfd: htc-i2cpld: container_of() cannot return NULL Logically dead code (DEADCODE) dead_error_line: Execution cannot reach this statement: return; Remove the check for NULL. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6ae61fbf38d0cd2aa922eb5e7241e9b0bfd7009d Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Aug 13 12:45:19 2014 +0100 misc: st_kim: Increase size of dev_name buffer to incorporate termination Calling strncpy with a maximum size argument of 32 bytes on destination array kim_gdata->dev_name of size 32 bytes might leave the destination string unterminated. Cc: gregkh@xxxxxxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4001998a43f4791b6e6c06df563f5d5bb3fbe4fb Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Aug 13 12:23:10 2014 +0100 misc: st_core: Protect unsigned value against becoming negative Coverity reported: This less-than-zero comparison of an unsigned value is never true. In answer to that, we only ever decrement if protos_registered is positive. We can subsequently remove the paranoid checking during unregister. Cc: gregkh@xxxxxxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 374de1642ee4322cc4d6aa1d2679378b8547c368 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Aug 13 11:27:34 2014 +0100 iio: sensors-core: st: Check st_sensors_set_drdy_int_pin()'s return value Value from st_sensors_set_drdy_int_pin() is assigned to err here, but that stored value is not used before it is overwritten. To fix this we're enforcing a check on st_sensors_set_drdy_int_pin()'s return value and if it's an error, we're returning right away. Cc: jic23@xxxxxxxxxx Cc: linux-iio@xxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0608bab8c7ceabd363901376d3693e8f45371768 Merge: bd597f4 9643569 d6cc1f5 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Sep 26 08:14:30 2014 +0100 Merge branches 'ib-mfd-arm-3.18', 'ib-mfd-hwmon-leds-watchdog-3.18' and 'ib-mfd-power-charger-regulator-3.18' into ibs-for-mfd-merged commit 6cd6d94d96d9b1cd8a62da91aac44cf56e301e75 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:17 2014 +0000 arm/arm64: unexport restart handlers Implementing a restart handler in a module don't make sense as there would be no guarantee that the module is loaded when a restart is needed. Unexport arm_pm_restart to ensure that no one gets the idea to do it anyway. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit d20a1d90acf61f69a6474fce7e9656d36bd8ba80 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:17 2014 +0000 watchdog: sunxi: register restart handler with kernel restart handler The kernel core now provides an API to trigger a system restart. Register with it instead of setting arm_pm_restart. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 87ffc69e4b05f6e98e2b7a42f23132ed3662450a Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:17 2014 +0000 watchdog: alim7101: register restart handler with kernel restart handler The kernel core now provides an API to trigger a system restart. Register with it to restart the system instead of misusing the reboot notifier. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit ad0e0e6810b339ddeb97ab9ae24e996db5c11bac Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:17 2014 +0000 watchdog: moxart: register restart handler with kernel restart handler The kernel now provides an API to trigger a system restart. Register with it instead of setting arm_pm_restart. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 1a9607a3be14a43868c5e6a35962e7f6be9bcfe1 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:17 2014 +0000 arm: support restart through restart handler call chain The kernel core now supports a restart handler call chain for system restart functions. With this change, the arm_pm_restart callback is now optional, so drop its initialization and check if it is set before calling it. Only call the kernel restart handler if arm_pm_restart is not set. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 1c7ffc32eaadfae3e7ab106359af0cf21b7e94c1 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:16 2014 +0000 arm64: support restart through restart handler call chain The kernel core now supports a restart handler call chain to restart the system. Call it if arm_pm_restart is not set. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 0713e143c943c4f14aa5db1903bdbfd1356a2bb3 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:16 2014 +0000 power/restart: call machine_restart instead of arm_pm_restart machine_restart is supported on non-ARM platforms, and and ultimately calls arm_pm_restart, so dont call arm_pm_restart directly but use the more generic function. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit b63adb979583ef185718d774d8162387db5589c0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:16 2014 +0000 kernel: add support for kernel restart handler call chain Various drivers implement architecture and/or device specific means to restart (reset) the system. Various mechanisms have been implemented to support those schemes. The best known mechanism is arm_pm_restart, which is a function pointer to be set either from platform specific code or from drivers. Another mechanism is to use hardware watchdogs to issue a reset; this mechanism is used if there is no other method available to reset a board or system. Two examples are alim7101_wdt, which currently uses the reboot notifier to trigger a reset, and moxart_wdt, which registers the arm_pm_restart function. The existing mechanisms have a number of drawbacks. Typically only one scheme to restart the system is supported (at least if arm_pm_restart is used). At least in theory there can be multiple means to restart the system, some of which may be less desirable (for example one mechanism may only reset the CPU, while another may reset the entire system). Using arm_pm_restart can also be racy if the function pointer is set from a driver, as the driver may be in the process of being unloaded when arm_pm_restart is called. Using the reboot notifier is always racy, as it is unknown if and when other functions using the reboot notifier have completed execution by the time the watchdog fires. Introduce a system restart handler call chain to solve the described problems. This call chain is expected to be executed from the architecture specific machine_restart() function. Drivers providing system restart functionality (such as the watchdog drivers mentioned above) are expected to register with this call chain. By using the priority field in the notifier block, callers can control restart handler execution sequence and thus ensure that the restart handler with the optimal restart capabilities for a given system is called first. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 4a8e320c929991c9480a7b936512c57ea02d87b2 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Sep 20 18:01:30 2014 -0700 net: sched: use pinned timers While using a MQ + NETEM setup, I had confirmation that the default timer migration ( /proc/sys/kernel/timer_migration ) is killing us. Installing this on a receiver side of a TCP_STREAM test, (NIC has 8 TX queues) : EST="est 1sec 4sec" for ETH in eth1 do tc qd del dev $ETH root 2>/dev/null tc qd add dev $ETH root handle 1: mq tc qd add dev $ETH parent 1:1 $EST netem limit 70000 delay 6ms tc qd add dev $ETH parent 1:2 $EST netem limit 70000 delay 8ms tc qd add dev $ETH parent 1:3 $EST netem limit 70000 delay 10ms tc qd add dev $ETH parent 1:4 $EST netem limit 70000 delay 12ms tc qd add dev $ETH parent 1:5 $EST netem limit 70000 delay 14ms tc qd add dev $ETH parent 1:6 $EST netem limit 70000 delay 16ms tc qd add dev $ETH parent 1:7 $EST netem limit 80000 delay 18ms tc qd add dev $ETH parent 1:8 $EST netem limit 90000 delay 20ms done We can see that timers get migrated into a single cpu, presumably idle at the time timers are set up. Then all qdisc dequeues run from this cpu and huge lock contention happens. This single cpu is stuck in softirq mode and cannot dequeue fast enough. 39.24% [kernel] [k] _raw_spin_lock 2.65% [kernel] [k] netem_enqueue 1.80% [kernel] [k] netem_dequeue 1.63% [kernel] [k] copy_user_enhanced_fast_string 1.45% [kernel] [k] _raw_spin_lock_bh By pinning qdisc timers on the cpu running the qdisc, we respect proper XPS setting and remove this lock contention. 5.84% [kernel] [k] netem_enqueue 4.83% [kernel] [k] _raw_spin_lock 2.92% [kernel] [k] copy_user_enhanced_fast_string Current Qdiscs that benefit from this change are : netem, cbq, fq, hfsc, tbf, htb. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fb426a642a166730a8c916cb38c5461dbc28ffb Merge: 2fdbfea 53e5039 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 00:23:13 2014 -0400 Merge branch 'gso_send_check' Tom Herbert says: ==================== net: Eliminate gso_send_check gso_send_check presents a lot of complexity for what it is being used for. It seems that there are only two cases where it might be effective: TCP and UFO paths. In these cases, the gso_send_check function initializes the TCP or UDP checksum respectively to the pseudo header checksum so that the checksum computation is appropriately offloaded or computed in the gso_segment functions. The gso_send_check functions are only called from dev.c in skb_mac_gso_segment when ip_summed != CHECKSUM_PARTIAL (which seems very unlikely in TCP case). We can move the logic of this into the respective gso_segment functions where the checksum is initialized if ip_summed != CHECKSUM_PARTIAL. With the above cases handled, gso_send_check is no longer needed, so we can remove all uses of it and the fields in the offload callbacks. With this change, ip_summed in the skb should be preserved though all the layers of gso_segment calls. In follow-on patches, we may be able to remove the check setup code in tcp_gso_segment if we can guarantee that ip_summed will always be CHECKSUM_PARTIAL (verify all paths and probably add an assert in tcp_gro_segment). Tested these patches by: - netperf TCP_STREAM test with GSO enabled - Forced ip_summed != CHECKSUM_PARTIAL with above - Ran UDP_RR with 10000 request size over GRE tunnel. This exercised UFO path. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53e50398968d43338c4d932114e68bc099fc5fbd Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sat Sep 20 14:52:30 2014 -0700 net: Remove gso_send_check as an offload callback The send_check logic was only interesting in cases of TCP offload and UDP UFO where the checksum needed to be initialized to the pseudo header checksum. Now we've moved that logic into the related gso_segment functions so gso_send_check is no longer needed. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f71470b37e79d6eb151debd47364d920b7babd30 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sat Sep 20 14:52:29 2014 -0700 udp: move logic out of udp[46]_ufo_send_check In udp[46]_ufo_send_check the UDP checksum initialized to the pseudo header checksum. We can move this logic into udp[46]_ufo_fragment. After this change udp[64]_ufo_send_check is a no-op. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d020f8f73318589bf41f864b7f89f95669350873 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sat Sep 20 14:52:28 2014 -0700 tcp: move logic out of tcp_v[64]_gso_send_check In tcp_v[46]_gso_send_check the TCP checksum is initialized to the pseudo header checksum using __tcp_v[46]_send_check. We can move this logic into new tcp[46]_gso_segment functions to be done when ip_summed != CHECKSUM_PARTIAL (ip_summed == CHECKSUM_PARTIAL should be the common case, possibly always true when taking GSO path). After this change tcp_v[46]_gso_send_check is no-op. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e756c7b698604f11a979f2781d06eb7b80aba363 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Fri Sep 26 12:03:25 2014 +0800 Revert "cgroup: remove redundant variable in cgroup_mount()" This reverts commit 0c7bf3e8cab7900e17ce7f97104c39927d835469. If there are child cgroups in the cgroupfs and then we umount it, the superblock will be destroyed but the cgroup_root will be kept around. When we mount it again, cgroup_mount() will find this cgroup_root and allocate a new sb for it. So with this commit we will be trapped in a dead loop in the case described above, because kernfs_pin_sb() keeps returning NULL. Currently I don't see how we can avoid using both pinned_sb and new_sb, so just revert it. Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Reported-by: Andrey Wagin <avagin@xxxxxxxxx> Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 2fdbfea5735d3deb30a8782c57f7210cb034e69d Merge: 4daaab4 318fd49 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 00:13:06 2014 -0400 Merge branch 'stmmac' Beniamino Galvani says: ==================== net: stmmac glue layer for Amlogic Meson SoCs the Ethernet controller available in Amlogic Meson6 and Meson8 SoCs is a Synopsys DesignWare MAC IP core, already supported by the stmmac driver. These patches add a glue layer to the driver for the platform-specific settings required by the Amlogic variant. This has been tested on a Amlogic S802 device with the initial Meson support submitted by Carlo Caione [1]. [1] http://lwn.net/Articles/612000/ ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 318fd4909dcb7dc43a869132c2f38b769ed92d6a Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Sep 20 15:29:17 2014 +0200 net: stmmac: meson: document device tree bindings Add the device tree bindings documentation for the Amlogic Meson variant of the Synopsys DesignWare MAC. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ad5adcdb7335101f98066ec9239d06f4f2f7a9d Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Sep 20 15:29:16 2014 +0200 net: stmmac: add Amlogic Meson glue layer The Ethernet controller available in Meson6 and Meson8 SoCs is a Synopsys DesignWare MAC IP core, already supported by the stmmac driver. This glue layer implements some platform-specific settings needed by the Amlogic variant. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f3f760314afcb8522d2349b970b065589c5c8e48 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Sep 25 14:34:41 2014 +0100 NFS: Fabricate fscache server index key correctly When fabricating a server index key for fscache, we should clear the index key buffer before starting to fill it in, not in the middle. Reported-by: James Pearson <james-p@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Steve Dickson <steved@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2aca5b869ace67a63aab895659e5dc14c33a4d6e Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Sep 24 22:35:58 2014 -0400 SUNRPC: Add missing support for RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT The flag RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT was intended introduced in order to allow NFSv4 clients to disable resend timeouts. Since those cause the RPC layer to break the connection, they mess up the duplicate reply caches that remain indexed on the port number in NFSv4.. This patch includes the code that was missing in the original to set the appropriate flag in struct rpc_clnt, when the caller of rpc_create() sets RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT. Fixes: 8a19a0b6cb2e (SUNRPC: Add RPC task and client level options to...) Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit b52f4914f3be3ff50e7308e3ce03a2ce71195ecc Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Mon Sep 8 23:11:26 2014 -0700 asm-generic: COMMON_CLK defines __clk_{get,put} If CONFIG_COMMON_CLK is selected then __clk_get and __clk_put are defined in drivers/clk/clk.c and declared in include/linux/clkdev.h. Sylwester's series[0] to properly support clk_{get,put} in the common clock framework made changes to the asm-specific clkdev.h headers, but not the asm-generic version. Tomeu's recent changes[1] to introduce a provider/consumer split in the clock framework uncovered this problem, causing the following build error on any architecture using the asm-generic clkdev.h (e.g. x86 architecture and the ACPI LPSS driver): In file included from drivers/acpi/acpi_lpss.c:15:0: include/linux/clkdev.h:59:5: error: conflicting types for â??__clk_getâ?? int __clk_get(struct clk_core *clk); ^ In file included from arch/x86/include/generated/asm/clkdev.h:1:0, from include/linux/clkdev.h:15, from drivers/acpi/acpi_lpss.c:15: include/asm-generic/clkdev.h:20:19: note: previous definition of â??__clk_getâ?? was here static inline int __clk_get(struct clk *clk) { return 1; } ^ Fixed by only declarating __clk_get and __clk_put when CONFIG_COMMON_CLK is set. [0] http://lkml.kernel.org/r/<1386177127-2894-5-git-send-email-s.nawrocki@xxxxxxxxxxx> [1] http://lkml.kernel.org/r/<1409758148-20104-1-git-send-email-tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 59c0621d4d5fa4faeb8a0cdd0cfe27c13fdd09b2 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:15:29 2014 +0530 clk: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 32bb231845325ca4d19bba414f8883f3e0d6436f Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Sep 25 17:41:19 2014 -0700 Revert "ARM: dts: hix5hd2: add wdg node" This reverts commit 610bd8722ef40b649b51f01045c5d1903f41b583. "ARM: dts: hix5hd2: add wdg node" causes a build breakage due to an undefined constatns: Error: arch/arm/boot/dts/hisi-x5hd2.dtsi:374.22-23 syntax error (Don't you just looove the dtc error messages? They are so informative!) Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 55c71581d416b131667cf834491adc54105bb7fc Merge: 49dd0dc cfa1950 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 01:49:21 2014 +0200 Merge tag 'at91-fixes-non-critical' of git://github.com/at91linux/linux-at91 into next/fixes-non-critical Pull "Fixes non critical for AT91" from Nicolas Ferre: - mmc pinmux for at91sam9263 was missing - little fix of the old clock implementation Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-fixes-non-critical' of git://github.com/at91linux/linux-at91: ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings commit 49dd0dcfd76091989a746968b7403e038a1953bf Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 20:44:44 2014 -0700 arm, vt8500, LLVMLlinux: Use mcr instead of mcr% for mach-vt8500 The ASM below does not compile with clang and is not the way that the mcr command is used in other parts of the kernel. arch/arm/mach-vt8500/vt8500.c:72:11: error: invalid % escape in inline assembly string asm("mcr%? p15, 0, %0, c7, c0, 4" : : "r" (0)); ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. There are other forms that are supported on different ARM instruction sets but generally the kernel just uses mcr as it is supported in all ARM instruction sets. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Tony Prisk <linux@xxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit bb25ce633d0621786526a2b7ad0d54468a55e986 Merge: 7b13e1a bf7389c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 01:38:28 2014 +0200 Merge branch 'next/defconfig' of git+ssh://ra.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc into next/defconfig commit 7b13e1aa6e144d8014eaf593259a3deb532d990a Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Thu Sep 25 11:38:24 2014 -0600 ARM: multi_v7_defconfig: add missing Tegra options Add all HW-support options from tegra_defconfig that are missing from multi_v7_defconfig. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit f18cf05038729a958732fbcc16730004dc1b84dd Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 11:17:12 2014 -0700 MAINTAINERS: add a third maintainer to mach-bcm Add myself as a third maintainer to the mach-bcm code to increase the chances the redundancy in the merging/reviewing process. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Matt Porter <mporter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 01eacbb84c29db2fb9a844b88f7d4874ed565d11 Merge: 8446cef 9b02732 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:51:53 2014 +0200 Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Pull "Samsung DT update for 3.18" from Kukjin Kim: - un-use slot-node and deprecate the supports-highspped for dw-mmc - remove old USB2 PHY node for exynos5250 - exynos4412-odroid-common enable PMIC interrupt and i2c improvements - exynos5250-snow fold exynos5250-cros-common update display related nodes - Peach Pit and Pi improve power scheme, add support max77802 PMIC, add hdmi regulators add thermistor, ISL29018 sensor, set i2c clock at 400kHz, add support Atmel touchpad, update display related nodes Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: remove old USB2 PHY node for exynos5250 ARM: dts: remove old USB2 PHY node hook for exynos5250-arndale ARM: dts: update display related nodes for exynos5800-peach-pi ARM: dts: update display related nodes for exynos5420-peach-pit ARM: dts: update display related nodes for exynos5250-snow ARM: dts: Add support Atmel touchpad for exynos5800-peach-pi ARM: dts: Add support Atmel touchpad for exynos5420-peach-pit ARM: dts: Set i2c7 clock at 400kHz for exynos based Peach boards ARM: dts: Add ISL29018 sensor for exynos based Peach boards ARM: dts: Add thermistor dts fragment used by exynos based Peach boards ARM: dts: add hdmi regulators for exynos5420-peach-pit ARM: dts: add hdmi regulators for exynos5800-peach-pi ARM: dts: Add support max77802 PMIC for exynos based Peach boards ARM: dts: Improve Peach Pit and Pi power scheme ARM: dts: unuse the slot-node and deprecate the supports-highspeed for dw-mmc in exynos ARM: dts: Fold exynos5250-cros-common into exynos5250-snow ARM: dts: Fix MMC pinctrl for exynos5250-snow ARM: dts: ODROID i2c improvements for exynos4412-odroid-common ARM: dts: Enable PMIC interrupts for exynos4412-odroid-common commit fa531042ac3633b726067253f48ac542d86b80ad Merge: a52ae5a cd24850 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Thu Sep 25 15:48:04 2014 -0700 Merge branch 'clk-next-rockchip' into clk-next commit cd248502927fa5b4a700433675c4ff4a2bbee14b Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:48:47 2014 +0800 clk: rockchip: add clock node in PD_VIDEO This patch add the clock node in PD_VIDEO Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 8446cef1ca030792bae45dd3d7cd8bbbb96c7e62 Merge: a0f95e3 b2ed7d9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:40:43 2014 +0200 Merge tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt Pull "Keystone DTS updates for v3.18" from Santosh Shilimkar" - Add IRQ and GPIO nodes - Fix SPI chip select - Fix usb and pcie clock nodes Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: dts: keystone: fix bindings for pcie and usb clock nodes ARM: dts: keystone: k2l: Fix chip selects for SPI devices ARM: dts: keystone: add dsp gpio controllers nodes ARM: dts: keystone: add keystone irq controller node commit a0f95e35c7a518ea4c63762511733156023eed77 Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:54:55 2014 +0800 ARM: dts: add rk3288 i2s controller Add dt for rk3288 i2s controller, since i2s clock pins and data pins default to be GPIO, this patch also add pinctrl to mux them. Tested on RK3288 board. Signed-off-by: Jianqun Xu <jay.xu@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 741c798a0229c9523c1f68bc8c83a79fefad4333 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu May 22 00:35:37 2014 +0200 leds: add device tree bindings for register bit LEDs This adds the device tree bindings used by register bit LEDs. Cc: devicetree@xxxxxxxxxxxxxxx Cc: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a2974c9c1f83e7163e855eb80c772db45bc9a291 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Jul 25 15:04:52 2014 +0200 soc: add driver for the ARM RealView This adds a SoC driver to be used by the ARM RealView reference boards. We create the "versatile" directory to hold the different ARM reference designs as per the pattern of the clk directory layout. The driver utilze the syscon to get to the register needed. After this we can use sysfs to get at some SoC properties on RealView DT variants like this: > cd /sysbus/soc/devices/soc0 > ls board family machine power subsystem build fpga manufacturer soc_id uevent > cat family Versatile > cat fpga Multi-layer AXI > cat board HBI-0147 > cat build 03 Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Conflicts: drivers/soc/Kconfig drivers/soc/Makefile commit 0e545f57b708630c54c8c5c24ea7f7034f6c40d9 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu May 22 10:20:38 2014 +0200 power: reset: driver for the Versatile syscon reboot This driver enabled us to drive the reboot of the Versatile family of ARM reference boards. Even though only the RealView boards are supported initially, these boards all have the same procedure for reboot: - Write a magic value into an unlocking register - Write another magic value into a reset control register The driver will be reusable for Versatile and possibly also the Integrator family of reference boards. Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 535f09cc1ca7788ecdaf27466b23887a4932ae73 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu May 22 00:34:16 2014 +0200 leds: add a driver for syscon-based LEDs This makes it possible to create a set of LEDs from a syscon MFD instance, which is lean mean and clean on the ARM reference designs and can replace the Versatile LEDs driver in the long run, as well as other custom syscon LEDs drivers. Cc: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> [Fixed cocinelle warnings] Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6d50424a390966e0afdf4d28c2713c8312645bc9 Merge: 0c18acc11 02037a9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:15:09 2014 +0200 Merge tag 'at91-soc2' of git://github.com/at91linux/linux-at91 into next/soc Pull "Second SoC batch for 3.18" from Nicolas Ferre: - introduction of the new SAMA5D4 SoC and associated Evaluation Kit - low level soc detection and early printk code - taking advantage of this, documentation of all AT91 SoC DT strings Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-soc2' of git://github.com/at91linux/linux-at91: ARM: at91: document Atmel SMART compatibles ARM: at91: add sama5d4 support to sama5_defconfig ARM: at91: dt: add device tree file for SAMA5D4ek board ARM: at91: dt: add device tree file for SAMA5D4 SoC ARM: at91: SAMA5D4 SoC detection code and low level routines ARM: at91: introduce basic SAMA5D4 support clk: at91: add a driver for the h32mx clock commit 0c18acc110c5d582327f78aa2d5d061d2e67af68 Merge: cd95427 5db722e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:14:31 2014 +0200 Merge branch 'at91/soc' into next/soc The soc2 branch is based on this cleanup: * at91/soc: ARM: at91: Remove the support for the RSI EWS board ARM: at91: remove board file for Acme Systems Fox G20 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 05301fe7de11dac87638f1728f8ee8b31bc1cf31 Merge: ddfe53d 5db722e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:12:30 2014 +0200 Merge tag 'at91-soc' of git://github.com/at91linux/linux-at91 into next/cleanup Pull "First AT91 SoC batch for 3.18" from Nicolas Ferre: - removal of 2 board C files in mach-at91 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-soc' of git://github.com/at91linux/linux-at91: ARM: at91: Remove the support for the RSI EWS board ARM: at91: remove board file for Acme Systems Fox G20 commit ddfe53d1cbfcb214f7ea58f13e811937dc74663e Merge: 2b3a47d 3d0cb73 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:09:49 2014 +0200 Merge tag 'cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Pull "Clean-up for omaps for v3.18 merge window" from Tony Lindgren: - Remove unused pieces of the legacy DMA API as we're moving to dmaengine API - Search and replace to standardize on pr_warn instead of pr_warning Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: arm: mach-omap2: Convert pr_warning to pr_warn ARM: OMAP: Remove unused pieces of legacy DMA API commit 16529509a52b9c0a01697ac587bce4f5c466ac64 Merge: 478a4f8 f53e3c5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:08:06 2014 +0200 Merge tag 'dt-part2-v2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Pull "part 2 of omap dts changes" from Tony Lindgren: Changes to add dra7 PMU, display support for cm-t54, misc changes needed for omap3 boards for device tree support. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'dt-part2-v2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: DRA7: Add PMU nodes ARM: dts: cm-t54: setup omap_dwc3 ARM: dts: cm-t54: add ADS7846 touchscreen support ARM: dts: cm-t54: add Startek LCD support ARM: dts: cm-t54: add HDMI/DVI display data ARM: dts: cm-t54: fix mux mode comment style ARM: dts: sbc-t54: fix mux mode comment style ARM: dts: Enable PMIC idle configuration for LDP ARM: dts: Add support for Ethernet on some N900 macro boards ARM: dts: Do not set pulls for I2C lines ARM: dts: omap: Remove WAKEUPENABLE mux options for UARTs ARM: dts: omap3-overo: Fix UART wake-up events commit 89d83e14f44c37c46fc1880a0768da1a77b682c7 Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:48:46 2014 +0800 clk: rockchip: use the clock id for nodes init This patch use the new defined clock ID to initial the clock nodes. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit cd954274817e33004c64d9fb6e13821ab7f6e204 Merge: e1e85e7 1306c08 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:00:02 2014 +0200 Merge tag 'soc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Pull "part 2 of omap SoC changes" from Tony Lindgren: Few hwmod changes to support upcoming 8250 driver with DMA, start using the SRAM driver for some omaps, and update the defconfig. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'soc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP4+: Remove static iotable mappings for SRAM ARM: OMAP4+: Move SRAM data to DT ARM: AM335x: Get rid of unused sram init function ARM: omap2plus_defconfig: Enable some display features ARM: omap2plus_defconfig: Enable battery and reset drivers ARM: omap2plus_defconfig: Add support for distros with systemd ARM: omap2plus_defconfig: Add cpufreq to defconfig ARM: omap2plus_defconfig: Shrink with savedefconfig ARM: OMAP3: Use manual idle for UARTs because of DMA errata ARM: OMAP2+: Add hwmod flag for HWMOD_RECONFIG_IO_CHAIN commit 6839dbbb1627964518c417b07eb18f38aa8c8451 Merge: 8a87f1a 64d5947 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 23:57:23 2014 +0200 Merge tag 'intc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers Merge "part 2 of omap intc changes" from Tony Lindgren: Second part of omap intc interrupt controller changes to move it to drivers. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'intc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: irqchip: omap-intc: remove unnecessary comments irqchip: omap-intc: correct maximum number or MIR registers irqchip: omap-intc: enable TURBO idle mode irqchip: omap-intc: enable IP protection irqchip: omap-intc: remove unnecesary of_address_to_resource() call irqchip: omap-intc: comment style cleanup irqchip: omap-intc: minor improvement to omap_irq_pending() arm: omap: irq: move irq.c to drivers/irqchip/ irqchip: add irq-omap-intc.h header arm: omap2: n8x0: move i2c devices to DT commit 478a4f81af4936c683a03488e15b087e28cb4f0d Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Thu Sep 18 10:23:06 2014 +0100 ARM: vexpress: Add CLCD Device Tree properties ... for V2M-P1 motherboard CLCD (limited to 640x480 16bpp and using dedicated video RAM bank) and for V2P-CA9 (up to 1024x768 16bpp). Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 5e9a3d70710ef7196170a8feca4aecb73d8eb9c4 Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Wed Sep 24 21:36:34 2014 +0800 clk: rockchip: add some needed clock binding id for rk3288 This patch add some clock binding id for different modules that under development and going to send upstream. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit e1e85e76ef327d4b013453ddd7b2c673aa304a71 Merge: 57e33ff e076e96 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 23:48:18 2014 +0200 Merge tag 'bcm63138-v4' of http://github.com/brcm/linux into next/soc Merge "ARM: BCM: Broadcom BCM63138 support" from Florian Fainelli: This patchset adds very minimal support for the BCM63138 SoC which is a xDSL SoC using a dual Cortex A9 CPU complex. * tag 'bcm63138-v4' of http://github.com/brcm/linux: MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs ARM: BCM63XX: add BCM963138DVT Reference platform DTS ARM: BCM63XX: add BCM63138 minimal Device Tree ARM: BCM63XX: add low-level UART debug support ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC Conflicts: arch/arm/Kconfig.debug Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d1a559a1cb1d4aa1c63c56bdb39d9d18dfaf9523 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Sep 24 23:41:54 2014 +0200 clk: rockchip: add missing rk3288 npll rate table The npll on rk3288 is exactly the same pll type as the other 4. Yet it was missing the link to the rate table, making rate changes impossible. Change that by setting the table. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit f9c0d14062e235ef11c9d5e776ebc7a05894f299 Author: Mark yao <mark.yao@xxxxxxxxxxxxxx> Date: Fri Sep 12 17:24:46 2014 +0800 clk: rockchip: rk3288: fix softreset register count The rk3288 actually has 12 softresets, so fix the register count. Signed-off-by: Mark yao <mark.yao@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 4b47c3f5f7a330ce953b799872ded7bdc59bfd27 Author: Mark yao <mark.yao@xxxxxxxxxxxxxx> Date: Fri Sep 12 19:45:27 2014 +0800 clk: rockchip: rk3288: add reset indices for SOFTRST9-11 The patch add the rest of the indices of the additional reset registers from the updated TRM. Signed-off-by: Mark yao <mark.yao@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 367dc4b75f4349d5363bc3ebdc030939db944786 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Tue Sep 16 12:37:16 2014 +0200 CNS3xxx: Fix PCIe read size limit. Max_Read_Request_Size is 3 bits wide, not 2 bits. Also fix the message. Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit defaa4d1dc97320ccc0ea83bc3851443b1c9083a Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Tue Sep 16 12:36:32 2014 +0200 CNS3xxx: Fix logical PCIe topology. Without this patch, each root port and the device connected directly to it seem to be located on a shared (virtual) bus #0. It creates problems with enabling devices (the PCI code doesn't know that the root bridge must be enabled in order to access other devices). The PCIe topology shown by lspci doesn't reflect reality, e.g.: 0000:00:00.0 PCI bridge: Cavium Networks Device 3400 0000:00:01.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge 0000:02:... 0001:00:00.0 PCI bridge: Cavium Networks Device 3400 (for the second lane/bus) -+-[0001:00]---00.0-[01]-- \-[0000:00]-+-00.0-[01]-- | ^^^^ root bridge \-01.0-[02]----... ^^^^ first external device With this patch, the first external PCIe device is connected to bus #1 (behind the root bridge). -+-[0001:00]---00.0-[01]-- \-[0000:00]---00.0-[01-02]----------00.0-[02]----... ^^^^ root bridge ^^^^ first external device Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit b125170a39ea35fe5ef93c894940feb6cf08ebd3 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Tue Sep 16 12:35:10 2014 +0200 CNS3xxx: Fix debug UART. UARTs on CNS3xxx are 8250-compatible, not AMBA. The base address for UART0 is 0x78000000 (physical) and 0xfb002000 (virtual). Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit bf7389c49d1db5d731bbb9cece2fd95edc7a176a Author: Lubomir Rintel <lkundrak@xxxxx> Date: Tue Sep 16 19:52:04 2014 -0600 ARM: bcm2835: enable USB_DWC2_HOST in defconfig It broke when host was moved into a separate module, in 47a1685 ("usb: dwc2/s3c-hsotg: move s3c-hsotg into dwc2 directory"), Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 667bbd533772e2539cf7d7fed7cd7d284a624e37 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 16 19:51:36 2014 -0600 ARM: bcm2835: add I2S pinctrl to device tree Signed-off-by: Florian Meier <florian.meier@xxxxxxxx> [Tweaked slightly to disable by default -- broonie] Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> [swarren, removed duplicate i2s node] Signed-off-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2b3a47d7a0cda3b35d95a4935d502ff5abab2c4d Merge: 28fd837 f6361c6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 23:23:34 2014 +0200 Merge tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup Pull "Samsung cleanup for 3.18" from Kukjin Kim: - remove unused <mach/memory.h> in exynos - local <mach/regs-clock.h> for s5pv210 - cleanup boot address calculate for exynos - remove separate restart code for s3c24xx Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: S3C24XX: remove separate restart code ARM: EXYNOS: Do not calculate boot address twice ARM: S5PV210: move <mach/regs-clock.h> into mach-s5pv210/ ARM: EXYNOS: remove unused <mach/memory.h> commit f70ced09170761acb69840cafaace4abc72cba4b Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:47 2014 +0800 blk-mq: support per-distpatch_queue flush machinery This patch supports to run one single flush machinery for each blk-mq dispatch queue, so that: - current init_request and exit_request callbacks can cover flush request too, then the buggy copying way of initializing flush request's pdu can be fixed - flushing performance gets improved in case of multi hw-queue In fio sync write test over virtio-blk(4 hw queues, ioengine=sync, iodepth=64, numjobs=4, bs=4K), it is observed that througput gets increased a lot over my test environment: - throughput: +70% in case of virtio-blk over null_blk - throughput: +30% in case of virtio-blk over SSD image The multi virtqueue feature isn't merged to QEMU yet, and patches for the feature can be found in below tree: git://kernel.ubuntu.com/ming/qemu.git v2.1.0-mq.4 And simply passing 'num_queues=4 vectors=5' should be enough to enable multi queue(quad queue) feature for QEMU virtio-blk. Suggested-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e97c293cdf77263abdc021de280516e0017afc84 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:46 2014 +0800 block: introduce 'blk_mq_ctx' parameter to blk_get_flush_queue This patch adds 'blk_mq_ctx' parameter to blk_get_flush_queue(), so that this function can find the corresponding blk_flush_queue bound with current mq context since the flush queue will become per hw-queue. For legacy queue, the parameter can be simply 'NULL'. For multiqueue case, the parameter should be set as the context from which the related request is originated. With this context info, the hw queue and related flush queue can be found easily. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0bae352da54a95435f721705d3670a6eaefdcf87 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:45 2014 +0800 block: flush: avoid to figure out flush queue unnecessarily Just figuring out flush queue at the entry of kicking off flush machinery and request's completion handler, then pass it through. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ba483388e3058b3e412632a84e6bf1f134beaf3d Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:44 2014 +0800 block: remove blk_init_flush() and its pair Now mission of the two helpers is over, and just call blk_alloc_flush_queue() and blk_free_flush_queue() directly. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7c94e1c157a227837b04f02f5edeff8301410ba2 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:43 2014 +0800 block: introduce blk_flush_queue to drive flush machinery This patch introduces 'struct blk_flush_queue' and puts all flush machinery related fields into this structure, so that - flush implementation details aren't exposed to driver - it is easy to convert to per dispatch-queue flush machinery This patch is basically a mechanical replacement. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7ddab5de5b80d3111f9e6765714e728b2c4f1c07 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:42 2014 +0800 block: avoid to use q->flush_rq directly This patch trys to use local variable to access flush request, so that we can convert to per-queue flush machinery a bit easier. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3c09676c12b1dabf84acbb5849bfc54acadaf092 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:41 2014 +0800 block: move flush initialization to blk_flush_init These fields are always used with the flush request, so initialize them together. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f355265571440a7db16e784b6edf4e7d26971a03 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:40 2014 +0800 block: introduce blk_init_flush and its pair These two temporary functions are introduced for holding flush initialization and de-initialization, so that we can introduce 'flush queue' easier in the following patch. And once 'flush queue' and its allocation/free functions are ready, they will be removed for sake of code readability. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1bcb1eada4f11a713cbe586d1b5a5d93a48277cb Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:39 2014 +0800 blk-mq: allocate flush_rq in blk_mq_init_flush() It is reasonable to allocate flush req in blk_mq_init_flush(). Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 08e98fc6016c890c2f4ffba6decc0ca9d2d5d7f8 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:38 2014 +0800 blk-mq: handle failure path for initializing hctx Failure of initializing one hctx isn't handled, so this patch introduces blk_mq_init_hctx() and its pair to handle it explicitly. Also this patch makes code cleaner. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0bee2b6f441a6d3b335f9068cd4b350fe6971229 Merge: cd7555a 610bd87 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 23:21:09 2014 +0200 Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt Pull "ARM: DT: Hisilicon terminal SoC HiX5HD2 DT updates for 3.18" from Wei Xu: - Add watchdog, gpio, sata, usb, mmc and gmac nodes in HiX5HD2 SoC DT - Enable sata and gmac in HiX5HD2 dkb board DT Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi: ARM: dts: hix5hd2: add wdg node ARM: dts: hix5hd2: add gpio node ARM: dts: hix5hd2: add sata node ARM: dts: hix5hd2: add usb node ARM: dts: hix5hd2: add mmc node ARM: dts: hix5hd2: add gmac node commit 3fc3edf141fd78f624194eb89d7b37ff86138422 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Sep 25 16:28:53 2014 -0400 NFSv3: Fix missing includes of nfs3_fs.h Silence a few warnings about missing symbols that are due to missing includes of nfs3_fs.h. Fixes: 00a36a1090350 (NFS: Move v3 declarations out of internal.h) Fixes: cb8c20fa53ec2 (NFS: Move NFS v3 acl functions to nfs3_fs.h) Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit eeb1aa5f78caf8d5ec1ef651c09bde34370321d8 Merge: 9133664 d2e5c87 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Sep 25 22:18:45 2014 +0200 Merge branch 'cpuidle/3.18' of https://git.linaro.org/people/daniel.lezcano/linux into pm-cpuidle Pull ARM cpuidle changes for v3.18 from Daniel Lezcano: "this pull request contains the following changes: * Lorenzo Pieralisi implemented a framework to initialize the ARM cpuidle drivers with the DT. As an example, it provided a couple of drivers using it: arm64 and big little. The former one is a new driver while the latter is a change. There was also a patch for Exynos allowing to use this framework but as it depends on a change in Samsung's tree, I postponed this patch until the change is visible after the merge. The set of changes depends on some other changes made in the ARM64 tree, for this reason a shared branch is used. This is why there is a merge from arm64 in my pull request. I believe we already used this procedure. * Kevin Hilman added the compatible string for the exynos 5800 in the DT" * 'cpuidle/3.18' of https://git.linaro.org/people/daniel.lezcano/linux: drivers: cpuidle: initialize big.LITTLE driver through DT drivers: cpuidle: CPU idle ARM64 driver drivers: cpuidle: implement DT based idle states infrastructure cpuidle: big.LITTLE: add Exynos5800 compatible string arm64: add PSCI CPU_SUSPEND based cpu_suspend support arm64: kernel: introduce cpu_init_idle CPU operation arm64: kernel: refactor the CPU suspend API for retention states Documentation: arm: define DT idle states bindings commit 7961bb722631cbf0cd68c57f3255ba66e1a879d9 Merge: 0f33be0 cd8caa1 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Sep 25 22:16:09 2014 +0200 Merge tag 'avs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux into pm-avs Pull AVS changes for v3.18 from Kevin Hilman: - Add new driver for Rockchip IO voltage domains - update MAINTAINERS to reflect maintenance of drivers/power/avs/* * tag 'avs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux: MAINTAINERS: update entry for drivers/power/avs PM / AVS: rockchip-io: add driver handling Rockchip io domains commit 263c589bae9eb404df2c1e8d49ec775bb7b288d4 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Sep 25 17:49:59 2014 +0200 PM / Domains: Remove legacy API for adding devices through DT There are no active clients of the legacy API and we now also have a better way to handle genpd DT support. So let's remove the legacy API. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d79b6fe17aa279c7015a9c4ee88809dad4be9959 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Sep 25 18:28:28 2014 +0200 PM / Domains: Add genpd attach/detach callbacks While a PM domain can enable PM runtime management of its devices' module clocks by setting genpd->dev_ops.stop = pm_clk_suspend; genpd->dev_ops.start = pm_clk_resume; this also requires registering the clocks with the pm_clk subsystem. In the legacy case, this is handled by the platform code, after attaching the device to its PM domain. When the devices are instantiated from DT, devices are attached to their PM domains by generic code, leaving no method for the platform-specific PM domain code to register their clocks. Add two callbacks, allowing a PM domain to perform platform-specific tasks when a device is attached to or detached from a PM domain. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c0ed74e9d026af7b4f79bc29aaac37aac5b6e0a4 Merge: b1bf295 89ec3dc 89b51cb 2f4096e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Sep 25 13:52:02 2014 -0600 Merge branches 'pci/enumeration', 'pci/virtualization' and 'pci/cleanup' into next * pci/enumeration: PCI: Generate uppercase hex for modalias interface class * pci/virtualization: PCI: Add ACS quirk for Solarflare SFC9120 & SFC9140 PCI: Remove unused pci_get_dma_source() PCI: Remove unused pci_find_upstream_pcie_bridge() * pci/cleanup: PCI: Remove assignment from complicated "if" conditions PCI: Remove assignment from "if" conditions PCI: Remove unnecessary curly braces PCI: Add space before open parenthesis commit b1bf29577870d7b10167d1d8ac86e08757993016 Merge: 783a28e 56fab6e 65aaae2 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Sep 25 13:51:55 2014 -0600 Merge branches 'pci/host-mvebu' and 'pci/host-spear' into next * pci/host-mvebu: PCI: mvebu: Fix uninitialized variable in mvebu_get_tgt_attr() * pci/host-spear: PCI: spear: Pass config resource through reg property commit 46fb3c21d20415dd2693570c33d0ea6eb8745e04 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 22 14:39:48 2014 -0300 perf trace: Filter out POLLHUP'ed file descriptors So that we don't continue polling on vanished file descriptors, i.e. file descriptors for events monitoring threads that exited. I.e. the following 'trace' command now exits as expected, instead of staying in an eternal loop: $ sleep 5s & $ trace -p `pidof sleep` Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-6qegv786zbf6i8us6t4rxug9@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6dcf45ef9877863fb68c065e5ade3cdb6217c504 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Aug 13 11:33:59 2014 -0300 perf record: Filter out POLLHUP'ed file descriptors So that we don't continue polling on vanished file descriptors, i.e. file descriptors for events monitoring threads that exited. I.e. the following 'perf record' command now exits as expected, instead of staying in an eternal loop: $ sleep 5s & $ perf record -p `pidof sleep` Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8dg8o21t2ntzly2bfh53p3sg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e4b356b56cfe77b800a9bc2e6efefa6a069b8a78 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 8 11:27:49 2014 -0300 perf evlist: Unmap when all refcounts to fd are gone and events drained As noticed by receiving a POLLHUP for all its pollfd entries. That will remove the refcount taken in perf_evlist__mmap_per_evsel(), and when all events are consumed via perf_evlist__mmap_read() + perf_evlist__mmap_consume(), the ring buffer will be unmap'ed. Thanks to Jiri Olsa for pointing out that we must wait till all events are consumed, not being ok to unmmap just when receiving all the POLLHUPs. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-t10w1xk4myp7ca7m9fvip6a0@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2171a9256862ec139a042832a9ae737b942ca882 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 8 11:24:01 2014 -0300 tools lib fd array: Allow associating an integer cookie with each entry We will use this in perf's evlist class so that it can, at fdarray__filter() time, to unmap the associated ring buffer. We may need to have further info associated with each fdarray entry, in that case we'll make that int array a 'union fdarray_priv' one and put a pointer there so that users can stash whatever they want there. For now, an int is enough tho. v2: Add clarification to the per array entry priv area, as well as make it a union, which makes usage a bit longer, but if/when we make it use more space by allowing per entry pointers existing users source code will not have to be changed, just rebuilt. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0p00bn83quck3fio3kcs9vca@xxxxxxxxxxxxxx commit 82396986032915c1572bfb74b224fcc2e4e8ba7c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 8 13:26:35 2014 -0300 perf evlist: Refcount mmaps We need to know how many fds are using a perf mmap via PERF_EVENT_IOC_SET_OUTPUT, so that we can know when to ditch an mmap, refcount it. v2: Automatically unmap it when the refcount hits one, which will happen when all fds are filtered by perf_evlist__filter_pollfd(), in later patches. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140908153824.GG2773@xxxxxxxxxx Link: http://lkml.kernel.org/n/tip-cpv7v2lw0g74ucmxa39xdpms@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1b85337d0685d1dc5a6f9061434ba4316d69f3b8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 3 18:02:59 2014 -0300 tools lib api: Adopt fdarray class from perf's evlist The extensible file description array that grew in the perf_evlist class can be useful for other tools, as it is not something that only evlists need, so move it to tools/lib/api/fd to ease sharing it. v2: Don't use {} like in: libapi_dirs: $(QUIET_MKDIR)mkdir -p $(OUTPUT){fs,fd}/ in Makefiles, as it will not work in some systems, as in ubuntu13.10. v3: Add fd/*.[ch] to LIBAPIKFS_SOURCES (Fix from Jiri Olsa) v4: Leave the fcntl(fd, O_NONBLOCK) in the evlist layer, remains to be checked if it is really needed there, but has no place in the fdarray class (Fix from Jiri Olsa) v5: Remove evlist details from fdarray grow/filter tests. Improve it a bit doing more tests about expected internal state. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kleuni3hckbc3s0lu6yb9x40@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f66a889dbc96dd342c87232d74f0956076707746 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 18 17:25:59 2014 -0300 perf evlist: Introduce poll method for common code idiom Since we have access two evlist members in all these poll calls, provide a helper. This will also help to make the patch introducing the pollfd class more clear, as the evlist specific uses will be hiden away perf_evlist__poll(). Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jr9d4aop4lvy9453qahbcgp0@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0a04c9e0b2181aff8348b5e80d9d96ec8df1ffb3 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 18 17:12:30 2014 -0300 perf kvm stat live: Use perf_evlist__add_pollfd() instead of local equivalent Since we can add file descriptors to the evlist pollfd and it will autogrow, no need to copy all events to a local pollfd array, just add the timer and stdin file descriptors. Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2hvp9iromiheh6rl4oaa08x5@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9ae28035b8677b82e1d71cea4f793cb5504ec104 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 18 16:49:00 2014 -0300 perf tests: Add pollfd growing test [acme@ssdandy linux]$ perf test "Add fd" 34: Add fd to pollfd array, making it autogrow : Ok [acme@ssdandy linux]$ perf test -v "Add fd" 34: Add fd to pollfd array, making it autogrow : --- start --- test child forked, pid 19817 before growing array: 2 [ 1, 2 ] after 3rd add_pollfd: 3 [ 1, 2, 35 ] after 4th add_pollfd: 4 [ 1, 2, 35, 88 ] test child finished with 0 ---- end ---- Add fd to pollfd array, making it autogrow: Ok [acme@ssdandy linux]$ Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-smflpyta146bzog7z0effjss@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ad6765dd3b2f043e819bdec565db8f5a2f781e06 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 18 16:44:06 2014 -0300 perf evlist: Allow growing pollfd on add method This way we will be able to add more file descriptors to be polled, like stdin or some timer fd. At this point we might as well yank the pollfd class from evlist so that it can be used in other places. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-o2mzsjl7taumsoc35ryol00i@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 033fa713db66b96d5779e6a93d50ff821bc1abd2 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 8 12:55:12 2014 -0300 perf evlist: We need to poll all event file descriptors Because we want to notice when they get POLLHUP'ed, so that we can figure out when all threads exited in a workload being monitored. We can't just monitor the fds that were mmaped, we need to notice when all the fds that were PERF_EVENT_IOC_SET_OUTPUT'ed too, because the mmap stays even after the fd that originally was used to do the mmap call went away, its only when all the set-output fds for a mmap are gone that the mmap is. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140908151016.GH17728@xxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/n/tip-24omlq5asrfg4uo3muuzn2bl@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8179672c2f7b9c41a7ef3e8c907d214fa92ed614 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Aug 13 11:26:21 2014 -0300 perf evlist: Monitor POLLERR and POLLHUP events too We want to know when the fd went away, like when a monitored thread exits. If we do not monitor such events, then the tools will wait forever on events from a vanished thread, like when running: $ sleep 5s & $ perf record -p `pidof sleep` This builds upon the kernel patch by Jiri Olsa that actually makes a poll on those file descriptors to return POLLHUP. It is also needed to change the tools to use perf_evlist__filter_pollfd() to check if there are remainings fds to monitor or if all are gone, in which case they will exit the poll/mmap/read loop. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-a4fslwspov0bs69nj825hqpq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 54dbfae3007b0c61727abba45af1e4c226908d82 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 12 23:34:06 2014 -0300 perf tests: Add test for perf_evlist__filter_pollfd() That will use a synthetic evlist with just what is touched by this new method to check that it works as expected. Output in verbose mode: $ perf test -v pollfd 33: Filter fds with revents mask in a pollfd array : --- start --- filtering all but pollfd[2]: before: 5 [ 5, 4, 3, 2, 1 ] after: 1 [ 3 ] filtering all but (pollfd[0], pollfd[3]): before: 5 [ 5, 4, 3, 2, 1 ] after: 2 [ 5, 2 ] test child finished with 0 ---- end ---- Filter fds with revents mask in a pollfd array: Ok $ Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-x7c8liszdvc3ocmanf2cet8p@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1ddec7f0d0ab5b71cf2cc5a782441c20e7afbcfb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 12 23:04:11 2014 -0300 perf evlist: Introduce perf_evlist__filter_pollfd method To remove all entries in evlist->pollfd[] that have revents matching at least one of the bits in the specified mask. It'll adjust evlist->nr_fds to the number of unfiltered fds and will return this value, as a convenience and to avoid requiring direct access to internal state of perf_evlist objects. This will be used after polling the evlist fds so that we remove fds that were closed by the kernel. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-y2sca7z3wicvvy40a50lozwm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0fea6d7628ed6e25a9ee1b67edf7c859718d39e8 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Thu Sep 25 18:41:07 2014 +0200 arm/arm64: KVM: Fix set_clear_sgi_pend_reg offset The sgi values calculated in read_set_clear_sgi_pend_reg() and write_set_clear_sgi_pend_reg() were horribly incorrectly multiplied by 4 with catastrophic results in that subfunctions ended up overwriting memory not allocated for the expected purpose. This showed up as bugs in kfree() and the kernel complaining a lot of you turn on memory debugging. This addresses: http://marc.info/?l=kvm&m=141164910007868&w=2 Reported-by: Shannon Zhao <zhaoshenglong@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c50e3247aa2d825e0dc0f4b876ee22d7134d24ca Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Sep 9 15:59:37 2014 +0200 iommu/amd: Fix devid mapping for ivrs_ioapic override When the device id for an IOAPIC is overridden on the kernel command line, the iommu driver has to make sure it sets up a DTE for this device id. Reported-by: Su Friendy <friendy.su@xxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5fc24d8cb9d43e0db335137051092da03a6845dc Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Wed Sep 17 17:32:19 2014 +0800 iommu/irq_remapping: Fix the regression of hpet irq remapping Commit 71054d8841b4 ("x86, hpet: Introduce x86_msi_ops.setup_hpet_msi") introduced x86_msi_ops.setup_hpet_msi to setup hpet MSI irq when irq remapping enabled. This caused a regression of hpet MSI irq remapping. Original code flow before commit 71054d8841b4: hpet_setup_msi_irq() arch_setup_hpet_msi() setup_hpet_msi_remapped() remap_ops->setup_hpet_msi() alloc_irte() msi_compose_msg() hpet_msi_write() ... Current code flow after commit 71054d8841b4: hpet_setup_msi_irq() x86_msi.setup_hpet_msi() setup_hpet_msi_remapped() intel_setup_hpet_msi() alloc_irte() Currently, we only call alloc_irte() for hpet MSI, but do not composed and wrote its msg... Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit cd8caa18deff6d2d87a4e3161b4dd8c6da3c4f38 Merge: 20651e0 7179569 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Thu Sep 25 09:57:57 2014 -0700 Merge branch 'topic/voltage-ev' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into avs-next commit 20651e0b218e3684fee5e46319a1ba363c864179 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 24 16:30:00 2014 -0700 MAINTAINERS: update entry for drivers/power/avs Some more AVS-related drivers are arriving. Update MAINTAINERS to reflect that myself and Nishanth will keep an eye on the new ones as well. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 662a958638bdb802451da6933e7ddb4a69517893 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Sep 11 15:48:55 2014 -0700 PM / AVS: rockchip-io: add driver handling Rockchip io domains IO domain voltages on some Rockchip SoCs are variable but need to be kept in sync between the regulators and the SoC using a special register. A specific example using rk3288: - If the regulator hooked up to a pin like SDMMC0_VDD is 3.3V then bit 7 of GRF_IO_VSEL needs to be 0. If the regulator hooked up to that same pin is 1.8V then bit 7 of GRF_IO_VSEL needs to be 1. Said another way, this driver simply handles keeping bits in the SoC's general register file (GRF) in sync with the actual value of a voltage hooked up to the pins. Note that this driver specifically doesn't include: - any logic for deciding what voltage we should set regulators to - any logic for deciding whether regulators (or internal SoC blocks) should have power or not have power If there were some other software that had the smarts of making decisions about regulators, it would work in conjunction with this driver. When that other software adjusted a regulator's voltage then this driver would handle telling the SoC about it. A good example is vqmmc for SD. In that case the dw_mmc driver simply is told about a regulator. It changes the regulator between 3.3V and 1.8V at the right time. This driver notices the change and makes sure that the SoC is on the same page. Signed-off-by: Heiko Stübner <heiko@xxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [khilman: fix compiler warnings] Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 8a87f1a6c8f6b78758f4e5e8e616b0df821ba2b2 Merge: b2fc3f3 64a1925 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:15:34 2014 +0200 Merge tag 'sunxi-drivers-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/drivers Pull "Allwinner drivers additions for 3.18" from Maxime Ripard: Nothing major, just handling the RTC driver changes needed for the A31/A23. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'sunxi-drivers-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc rtc: sun6i: Add sun6i RTC driver commit cd7555aeae372c6faf09cbbc1dfbdd0c91fe76f7 Merge: 45c636b d07fe96 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:13:49 2014 +0200 Merge tag 'sunxi-dt-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Pull "Allwinner DT Additions for 3.18" from Maxime Ripard: Mostly: - A23 bringup ongoing - New boards: HSG H702, Merrii A20 Hummingbird - sun(4|5|7)i DMA support - DT relicensing to a dual GPL/X11 license Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'sunxi-dt-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (30 commits) ARM: dts: sun8i: Add DMA controller node ARM: dts: sun5i: Add DT for HSG H702 tablet board ARM: dts: sunxi: Add fixed 5V regulator ARM: sun8i: Relicense the A23 DTSI under GPLv2/X11 ARM: sun7i: Relicense the A20 DTSI under GPLv2/X11 ARM: sun6i: Relicense the A31 DTSI under GPLv2/X11 ARM: sun7i: Add support for Olimex A20-OLinuXino-LIME ARM: dts: sun7i: Add Merrii A20 Hummingbird board ARM: dts: sun7i: Add uart3/4/5, i2c3 and spi2 pinmux ARM: dt: sunxi: Remove i2c controller clock-frequency that matches default ARM: dts: sun8i: Enable i2c controllers on ippo-q8h-v5 ARM: dts: sun8i: Add i2c controller nodes ARM: dts: sun8i: Add pin-muxing info for the i2c controllers ARM: dts: sun8i: Enable mmc controller on ippo-q8h-v5 ARM: dts: sun8i: Add mmc controller nodes ARM: dts: sun8i: Add pin-muxing info for the mmc controllers ARM: dts: sun8i: Add mmc clocks to the dtsi ARM: dts: sun8i: ippo-q8h: Add pinctrl properties for R_UART ARM: dts: sun8i: Add pin muxing option for R_UART ARM: dts: sun8i: Add pinmux set for uart0 ... commit cb88e7cdd1547d280e1fe94502133daca2bfccc7 Merge: 413cb00 9524fa5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:12:02 2014 +0200 Merge tag 'sunxi-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/defconfig Pull "Allwinner defconfig additions for 3.18" from Maxime Ripard Nothing major, just a few drivers additions and misc options Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'sunxi-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: sunxi_defconfig: add NLS_CODEPAGE_437 and NLS_ISO8859_1 ARM: sunxi: Add A31 RTC driver to multi_v7_defconfig ARM: sunxi: Add A31 RTC driver to sunxi_defconfig commit 57e33ff1dba139a70723e922c5838499610b60c1 Merge: a508698 8237f9e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:10:40 2014 +0200 Merge tag 'renesas-soc5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Fifth Round of Renesas ARM Based SoC Soc Updates for v3.18" from Simon Horman: * r8a7740: Fix documentation error copied from elsewhere * r8a7794: Reserve memory for CMA in a manner consistent to other R-Car Gen2 SoCs Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-soc5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7740 legacy: Fix copied bug in comment ARM: shmobile: r8a7794: Reserve memory as other R-Car Gen2 SoCs commit 45c636b46e25981e22a4ab3cbf53ac80fbbc5b08 Merge: 84bdd3a 08adafd Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:08:56 2014 +0200 Merge tag 'renesas-dt5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Fifth Round of Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman: * Document manufacturer for KZM boards * Use SoC-specific irqc compatible property Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Add manufacturer for KZM boards ARM: shmobile: r8a73a4 dtsi: Add SoC-specific irqc compatible property commit a508698e6bbe38a3f34dd7e611931c0c8fabc213 Merge: 14b62fb 0da0e22 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:06:05 2014 +0200 Merge tag 'pxa3xx-ssp-name' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux into next/soc Pull "fix PXA3xx SSP naming issue" from Haojian Zhuang: It's imported by 972a55b62 ASoC: fix pxa-ssp compiling issue under mach-mmp from v3.5 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'pxa3xx-ssp-name' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux: ARM: pxa3xx: provide specific platform_devices for all ssp ports ARM: pxa: ssp: provide platform_device_id for PXA3xx commit 84bdd3a491aecd83781244a2f42d37625a9ed431 Merge: ea62edd 7a08cf77 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:02:30 2014 +0200 Merge tag 'pxa-fix-abi' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux into next/dt Pull "pxa2xx DT changes" from Haojian Zhuang: Since DT aren't fully enabled in pxa2xx, it's fine to merge them in v3.18 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'pxa-fix-abi' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux: ARM: pxa: dts: fix ohci controller compatible string ARM: pxa: dts: fix mmc controller compatible string commit 413cb0036c24b91ba057fbb8b125b4bbf6afa55a Merge: 5efbc31 b82daf8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:55:25 2014 +0200 Merge tag 'tegra-for-3.18-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/defconfig Pull "ARM: tegra: tegra_defconfig changes for 3.18" from Stephen Warren: Support is enabled for Venice2's touchpad, and Tegra124's AHCI (SATA) controller, as used on Jetson TK1. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'tegra-for-3.18-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: ARM: tegra: enable Atmel touchpad in defconfig ARM: tegra: Add options for Tegra AHCI support to tegra_defconfig Contains an update to 3.17-rc2. commit ea62edd850da4c0b277105877fa4adea5877b03e Merge: 4408614 8e2b9e4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:54:32 2014 +0200 Merge tag 'tegra-for-3.18-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/dt Pull "ARM: tegra: device tree changes for 3.18" from Stephen Warren: The main highlights are: * SATA and PCIe support added to Tegra124, and enabled on Jetson TK1. * Touchpad enabled on Venice2 (although the driver still has a few issues to be worked out). * NVIDIA reference boards rely on the bootloader to program the pinmux. * Support added for the Acer Chromebook 13 (CB5). * DT nodes added for the Tegra flow controller HW module. This will help reduce use of iomap.h in a future code cleanup. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'tegra-for-3.18-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: ARM: tegra: enable PCIe in Jetson TK1 DT ARM: tegra: add PCIe to Tegra124 DT ARM: tegra: rely on bootloader pinmux programming on Tegra124 ARM: tegra: add Acer Chromebook 13 device tree ARM: tegra: Move pwm and dpaux labels to tegra124.dtsi ARM: tegra: add touchpad to Venice2 DT ARM: tegra: Add device tree nodes for flow controller ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables ARM: tegra: Add SATA and SATA power to Jetson TK1 device tree ARM: tegra: Add SATA controller to Tegra124 device tree commit 14b62fb0159a77989708370ca8c8ba5db55c1dab Merge: e360879 d37aba5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:53:39 2014 +0200 Merge tag 'tegra-for-3.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc Pull "ARM: tegra: core SoC code changes for 3.18" from Stephen Warren: the primary change here gets its address information from DT rather than iomap.h. This removes one more user of iomap.h, and will help allow the code to move to a location that can be shared between arch/arm and arch/arm64. An unused header file was also removed. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'tegra-for-3.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: ARM: tegra: remove unused tegra_emc.h ARM: tegra: Initialize flow controller from DT of: Add NVIDIA Tegra flow controller bindings commit 44086148bf0047fcdb5dd013f79ffe394e82cf1c Merge: 41c9002 4dd7933 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:50:36 2014 +0200 Merge tag 'at91-dt3' of git://github.com/at91linux/linux-at91 into next/dt Pull "More AT91 DT material for 3.18" from Nicolas Ferre: - specify DMA channels for USART on sama5d3 and choose peripherals that will use them on the EK boards - SSC update for audio on at91sam9rl and at91sam9g20 - addition of the NFC clock and new pinctrl compatible string to use enhancements that will land in drivers during this release - several new nodes and fixes Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-dt3' of git://github.com/at91linux/linux-at91: ARM: at91/dt: at91sam9m10g45ek add rtc node ARM: at91/dt: sama5d3: use new pinctrl compatible string ARM: at91/dt: sama5d3: add the nfc clock ARM: at91/dt: declare sckc node on at91sam9g45 ARM: at91/dt: Fix typo regarding can0_clk ARM: at91/dt: at91sam9g20: switch ssc compatible string ARM: at91/dt: at91sam9rl: switch ssc compatible string ARM: at91: sama5d3xek: reserve dma channel for audio ARM: at91: sama5d3: add usart dma configurations commit 41c9002ad1c8a16806cdf0d45faae20eb98213b2 Merge: 2d3a2cd 6f752f7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:47:26 2014 +0200 Merge tag 'zynq-dt-for-3.18' of git://git.xilinx.com/linux-xlnx into next/dt Pull "arm: Xilinx Zynq dt patches for v3.18" from Michal Simek: - Add eth phys - Add led for zc702 - Various dts cleanups Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'zynq-dt-for-3.18' of git://git.xilinx.com/linux-xlnx: ARM: zynq: Add ISL9305 regulator on Parallella board ARM: zynq: DT: Add Ethernet phys ARM: zynq: DT: Fix coding style issues in dtsi ARM: zynq: DT: Describe interrupt-names for pl330 ARM: zynq: DT: Extend compatible string for zedboard ARM: zynq: DT: Use 0x prefix for memory nodes ARM: zynq: DT: Update years in header ARM: zynq: DT: Move size/address properties to dtsi ARM: zynq: DT: Fix Ethernet phy modes ARM: zynq: DT: Add LEDs to zc702 DT commit e36087998a3b01f3c6c93fa9465e40103f427315 Merge: 3b8f503 8097171 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:42:57 2014 +0200 Merge tag 'zynq-cleanup-for-3.18' of git://git.xilinx.com/linux-xlnx into next/soc Pull "arm: Xilinx Zynq cleanup patches for v3.18" from Michal Simek: - PM support - Fix L2 useless setting Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'zynq-cleanup-for-3.18' of git://git.xilinx.com/linux-xlnx: ARM: zynq: Remove useless L2C AUX setting ARM: zynq: Rename 'zynq_platform_cpu_die' ARM: zynq: Remove hotplug.c ARM: zynq: Synchronise zynq_cpu_die/kill ARM: zynq: cpuidle: Remove pointless code ARM: zynq: Remove invalidate cache for cpu die ARM: zynq: PM: Enable DDR clock stop ARM: zynq: DT: Add DDRC node Documentation: devicetree: Add binding for Synopsys DDR controller ARM: zynq: PM: Enable A9 internal clock gating feature commit 846fc70986a65563a19ae86928c3acf34f12296d Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 13 02:22:40 2014 -0400 PCI/AER: Rename PCI_ERR_UNC_TRAIN to PCI_ERR_UNC_UND In PCIe r1.0, sec 5.10.2, bit 0 of the Uncorrectable Error Status, Mask, and Severity Registers was for "Training Error." In PCIe r1.1, sec 7.10.2, bit 0 was redefined to be "Undefined." Rename PCI_ERR_UNC_TRAIN to PCI_ERR_UNC_UND to reflect this change. No functional change. [bhelgaas: changelog] Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit d179111767aa2a1d594023ce65abf9c81bfbb0cf Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Thu Sep 25 09:36:43 2014 -0600 PCI/AER: Add additional PCIe AER error strings Add strings for all AER error bits defined in PCIe r3.0. [bhelgaas: changelog, drop designated initializer change] Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3b8f5030ddcf51112542e1e6ef27da237642069d Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Wed Sep 10 22:16:59 2014 +0200 ARM: meson: add basic support for MesonX SoCs This patch adds the basic machine file for the MesonX SoCs. Only Meson6 is populated. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2d3a2cdbbd1d1abed2ef6f5804036331a666ca07 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Wed Sep 10 22:17:19 2014 +0200 ARM: meson: documentation: add bindings documentation Add vendor prefixes and basic documentation for MesonX SoCs bindings Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6b112e24142176382f2c627e6e9c4b958601c120 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Tue Sep 9 22:12:56 2014 +0200 ARM: meson: dts: add basic Meson/Meson6/Meson6-atv1200 DTSI/DTS The Meson6 SoC is produced by Amlogic inc. and it is based on 2 Cortex A9 and an ARM Mali-400 GPU. This patch adds two basic DTSI for the preliminary support of Meson and Meson6 SoCs. Another DTS is also added for supporting the atv1200 board, produced by Geniatech inc. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 7c1e38769fa448de02ad6b6aa4b499fff4d89842 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Fri Sep 12 20:18:31 2014 +0200 MAINTAINERS: Add entry for the Amlogic MesonX SoCs I'm going to maintain the platform. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 5efbc31600fb9a2ccf86585a9cd8ca0569b26f5d Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Tue Sep 9 22:29:15 2014 +0200 ARM: meson: update multi_v7_defconfig This patch updates the multi_v7_defconfig with the CONFIG_* needed by the just added Meson anch. It also adds a new defconfig specifically for the Meson SoCs. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d8a00916b30313879c814144c18f27b8100bc401 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Tue Sep 9 21:38:00 2014 +0200 ARM: meson: debug: add debug UART for earlyprintk support Add the UART definitions needed to support earlyprintk for MesonX SoCs on UARTAO. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 4fdea26762c6095b18c22ca19bc3857064620ae4 Author: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Date: Fri Aug 22 01:31:20 2014 +0200 irq: Export handle_fasteoi_irq Export handle_fasteoi_irq to be able to use it in e.g. the Zynq gpio driver since commit 6dd859508336 ("gpio: zynq: Fix IRQ handlers"). This fixes the following link issue: ERROR: "handle_fasteoi_irq" [drivers/gpio/gpio-zynq.ko] undefined! Signed-off-by: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Vincent Stehle <vincent.stehle@xxxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408663880-29179-1-git-send-email-vincent.stehle@xxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8da5e30289c285025483f14c6923330f224d505c Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Sep 24 23:08:00 2014 +0200 MAINTAINERS: update ARM pxa maintainers Change pxa active maintainers, and remove more busy people. Remove Eric's tree as it is not accessible anymore. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Daniel Mack <zonque@xxxxxxxxx> Acked-by: Eric Miao <eric.y.miao@xxxxxxxxx> Acked-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Acked-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit cb9a684acb3d79a5431ac78832148817debf3a06 Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 13 02:22:39 2014 -0400 trace, RAS: Add additional PCIe AER error strings Add all AER error bits defined in PCIe r3.0. [bhelgaas: changelog] Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 83a7fc98dc9c29c5d2d66c80fb50725303a78192 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 25 16:19:30 2014 +0200 ASoC: wm8741: Remove unused wm8741_suspend define This driver has no suspend callback. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1b11629737ca5414b0310d35e01a125cfde1ba4d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 24 21:51:06 2014 +0200 drm: Drop grab fpriv->fbs_lock in drm_fb_release Paulo Zanoni reported a lockdep splat with a locking inversion between fpriv->fbs_lock and the modeset locks. This issue was introduced in commit f2b50c1161590c3bcdbf3455fe4c575f1c1bd293 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Sep 12 17:07:32 2014 +0200 drm: Fixup locking for universal cursor planes This here is actually one of the rare cases where lockdep hits a false positive: The deadlock only happens in drm_fb_release, which cleans up the file private structure when all the references are gone. So the locking is the very last one and no one else can deadlock. It also doesn't protect anything at all, since all ioctls are guaranteed to have returned at this point - otherwise they'd still hold a reference on the file. So let's just drop it and replace it with a big comment. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Paulo Zanoni <przanoni@xxxxxxxxx> Reported-and-Tested-by: Paulo Zanoni <przanoni@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 99d440242c08c8a95576c0bc89278f8912f65bda Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 13 02:22:37 2014 -0400 trace, RAS: Replace bare numbers with #defines for PCIe AER error strings Replace bare numbers like "BIT(0)" with the existing #defines, e.g., PCI_ERR_COR_RCVR, to improve maintainability. This way grep will find more uses of the #defines. No functional change. [bhelgaas: changelog] Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0cfbd328d60f85b0dcf66df61a3615e9a8e5d4e4 Author: Michal Sojka <sojka@xxxxxxxxx> Date: Wed Sep 24 22:43:21 2014 +0200 usb: Add LED triggers for USB activity With this patch, USB activity can be signaled by blinking a LED. There are two triggers, one for activity on USB host and one for USB gadget. Both triggers should work with all host/device controllers. Tested only with musb. Performace: I measured performance overheads on ARM Cortex-A8 (TI AM335x) running on 600 MHz. Duration of usb_led_activity(): - with no LED attached to the trigger: 2 ± 1 µs - with one GPIO LED attached to the trigger: 2 ± 1 µs or 8 ± 2 µs (two peaks in histogram) Duration of functions calling usb_led_activity() (with this patch applied and no LED attached to the trigger): - __usb_hcd_giveback_urb(): 10 - 25 µs - usb_gadget_giveback_request(): 2 - 6 µs Signed-off-by: Michal Sojka <sojka@xxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa923ef1aa39473b7d1f413c73a3e1d19ebde65d Author: Michal Sojka <sojka@xxxxxxxxx> Date: Wed Sep 24 22:43:20 2014 +0200 usb: Rename usb-common.c In the next commit, we will want the usb-common module to be composed of two object files. Since Kbuild cannot "append" another object to an existing one, we need to rename usb-common.c to something else (common.c) and create usb-common.o by linking the wanted objects together. Currently, usb-common.o comprises only common.o. Signed-off-by: Michal Sojka <sojka@xxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 304f7e5e1d08fa2f5674c1323bd0ebd806c86b81 Author: Michal Sojka <sojka@xxxxxxxxx> Date: Wed Sep 24 22:43:19 2014 +0200 usb: gadget: Refactor request completion Use the recently introduced usb_gadget_giveback_request() in favor of direct invocation of the completion routine. All places in drivers/usb/ matching "[-.]complete(" were replaced with a call to usb_gadget_giveback_request(). This was compile-tested with all ARM drivers enabled and runtime-tested for musb. Signed-off-by: Michal Sojka <sojka@xxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fc2aa5522ab958374d93ef5d2e12df7ee233c91 Author: Michal Sojka <sojka@xxxxxxxxx> Date: Wed Sep 24 22:43:18 2014 +0200 usb: gadget: Introduce usb_gadget_giveback_request() All USB peripheral controller drivers call completion routines directly. This patch adds usb_gadget_giveback_request() which will be used instead of direct invocation in the next patch. The goal here is to have a place where common functionality can be added. Signed-off-by: Michal Sojka <sojka@xxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb3e306515ba6a012364b698b8ca71c337424ed3 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Sun Sep 21 13:58:24 2014 -0400 iommu: Fix bus notifier breakage iommu_bus_init() registers a bus notifier on the given bus by using a statically defined notifier block: static struct notifier_block iommu_bus_nb = { .notifier_call = iommu_bus_notifier, }; This same notifier block is used for all busses. This causes a problem for notifiers registered after iommu has registered this callback on multiple busses. The problem is that a subsequent notifier being registered on a bus which has this iommu notifier will also get linked in to the notifier list of all other busses which have this iommu notifier. This patch fixes this by allocating the notifier_block at runtime. Some error checking is also added to catch any allocation failure or notifier registration error. Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 25b11ce2a3607d7c39a2ca121eea0c67c722b34e Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Sep 19 10:03:13 2014 -0600 iommu/amd: Split init_iommu_group() from iommu_init_device() For a PCI device, aliases from the IVRS table won't be populated into dma_alias_devfn until after iommu_init_device() is called on each device. We therefore want to split init_iommu_group() to be called from a separate loop immediately following. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17 Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f096c061f5525d1b35a65b793057b52061dcb486 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Sep 19 10:03:06 2014 -0600 iommu: Rework iommu_group_get_for_pci_dev() It turns out that our assumption that aliases are always to the same slot isn't true. One particular platform reports an IVRS alias of the SATA controller (00:11.0) for the legacy IDE controller (00:14.1). When we hit this, we attempt to use a single IOMMU group for everything on the same bus, which in this case is the root complex. We already have multiple groups defined for the root complex by this point, resulting in multiple WARN_ON hits. This patch makes these sorts of aliases work again with IOMMU groups by reworking how we search through the PCI address space to find existing groups. This should also now handle looped dependencies and all sorts of crazy inter-dependencies that we'll likely never see. The recursion used here should never be very deep. It's unlikely to have individual aliases and only theoretical that we'd ever see a chain where one alias causes us to search through to yet another alias. We're also only dealing with PCIe device on a single bus, which means we'll typically only see multiple slots in use on the root complex. Loops are also a theoretically possibility, which I've tested using fake DMA alias quirks and prevent from causing problems using a bitmap of the devfn space that's been visited. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17 Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7acf71d1a224b6e7a40a244d804cea1780a643ed Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Thu Sep 25 13:47:47 2014 +0100 arm64: Fix typos in KGDB macros Some of the KGDB macros used for generating the BRK instructions had the wrong spelling for DBG and KGDB abbreviations. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit a9ae04c9faeff1ad617e4f4492af3143d8c5ad9b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 16 17:42:33 2014 +0100 arm64: insn: Add return statements after BUG_ON() Following a recent series of enhancements to the insn code the ARMv8 allnoconfig build has been generating a large number of warnings in the form of: arch/arm64/kernel/insn.c:689:8: warning: 'insn' may be used uninitialized in this function [-Wmaybe-uninitialized] This is because BUG() and related macros can be compiled out so we get execution paths which normally result in a panic compiling out to noops instead. I wasn't able to immediately identify a sensible return value to use in these cases so just return AARCH64_BREAK_FAULT - this is all "should never happen" code so hopefully it never has a practical impact. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> [catalin.marinas@xxxxxxx: AARCH64_BREAK_FAULT definition contributed by Daniel Borkmann] [catalin.marinas@xxxxxxx: replace return 0 with AARCH64_BREAK_FAULT] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 0121327c1a68bc8c80f240c2794e682722b69051 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Sep 19 16:46:03 2014 +0530 ASoC: Intel: mfld-pcm: add control for powering up/down dsp When we have PCM (FE/BE) opened or DAPM widgets triggered we need power up/down DSP accordingly. The DSP will do ref count of these requests i.e. link these runtime_get/put calls of DSP Also fix some preexisting spacing error. Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6a91e854442cf950d9cb806891667d16c4a41d88 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Sep 25 09:05:31 2014 +0200 power: max14577: Fix circular config SYSFS dependency Make the max14577 charger driver depending on SYSFS instead selecting it. This fixes warning on x86_64 with allmodconfig: scripts/kconfig/conf --allmodconfig Kconfig fs/sysfs/Kconfig:1:error: recursive dependency detected! fs/sysfs/Kconfig:1: symbol SYSFS is selected by CHARGER_MAX14577 drivers/power/Kconfig:327: symbol CHARGER_MAX14577 depends on POWER_SUPPLY drivers/power/Kconfig:1: symbol POWER_SUPPLY is selected by HID_SONY drivers/hid/Kconfig:638: symbol HID_SONY depends on NEW_LEDS drivers/leds/Kconfig:8: symbol NEW_LEDS is selected by SENSORS_APPLESMC drivers/hwmon/Kconfig:299: symbol SENSORS_APPLESMC depends on HWMON drivers/hwmon/Kconfig:5: symbol HWMON is selected by EEEPC_LAPTOP drivers/platform/x86/Kconfig:496: symbol EEEPC_LAPTOP depends on HOTPLUG_PCI drivers/pci/hotplug/Kconfig:5: symbol HOTPLUG_PCI depends on SYSFS Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d943b0ffba153cd63f836647b873b445842a2f58 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Thu Sep 11 19:07:36 2014 +0530 iommu: Make of_device_id array const Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 63eaa75e4362ac7981a7e619196a9c75fd03d717 Author: Maurizio Lombardi <mlombard@xxxxxxxxxx> Date: Thu Sep 11 12:28:03 2014 +0200 amd_iommu: do not dereference a NULL pointer address. under low memory conditions, alloc_pte() may return a NULL pointer. iommu_map_page() does not check it and will panic the system. Signed-off-by: Maurizio Lombardi <mlombard@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a6fda0f586bb2c39e763a2ae5561e1f6ade8c3a8 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 18:45:45 2014 +0300 iommu/omap: Remove omap_iommu unused owner field The owner field is never set. Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 24278a24d88ae730229417e5d3bd452d7545fbcc Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:57:11 2014 +0200 iommu: Remove iommu_domain_has_cap() API function Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 6f952710917cfb801664333a491e4a120451a9ff Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 12:22:27 2014 +0200 IB/usnic: Convert to use new iommu_capable() API function Cc: Upinder Malhi <umalhi@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit eb165f0584d2c073dd343bdc609e2f94d143037e Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:56:05 2014 +0200 vfio: Convert to use new iommu_capable() API function Cc: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ee5ba30ff75277cbfcfce2bb3b54211be5105a87 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:54:09 2014 +0200 kvm: iommu: Convert to use new iommu_capable() API function Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7c2aa6441e957df85eded3a7297d36a57b210988 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:51:37 2014 +0200 iommu/tegra: Convert to iommu_capable() API function Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 4480845eef8d7751f015322e3c6d2680ff7d7dc7 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:51:14 2014 +0200 iommu/msm: Convert to iommu_capable() API function Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5d587b8de56eec6c6a31b452a177cd8c066b267e Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:50:45 2014 +0200 iommu/vt-d: Convert to iommu_capable() API function Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit b7eb67858562c053c314dee264c425e8214c2bfb Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:50:27 2014 +0200 iommu/fsl: Convert to iommu_capable() API function Cc: Varun Sethi <Varun.Sethi@xxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1fd0c775a573646eec972a3f40563506e33d9f8a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:49:34 2014 +0200 iommu/arm-smmu: Convert to iommu_capable() API function Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ab636481863a1039f5ca3643cfb04d4ae0c965cd Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:48:21 2014 +0200 iommu/amd: Convert to iommu_capable() API function Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 3c0e0ca0a4e757159d868c4870556515d66b6c97 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Sep 3 18:47:25 2014 +0200 iommu: Introduce iommu_capable API function This function will replace the current iommu_domain_has_cap function and clean up the interface while at it. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1aed074869a9cbe0a846ea7b254d8fd9a4a4d31f Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Sep 3 18:34:04 2014 +0200 iommu: Convert iommu-caps from define to enum Allow compile-time type-checking. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit dedd9431484a826f85667967ef0c5954b12c3537 Merge: 0f33be0 ccd359f Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Sep 25 15:34:23 2014 +0200 Merge branch 'for-joerg/arm-smmu/updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu commit dcdc3018d6357c35eae7d80b323e10bd72253cb7 Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Thu Sep 25 10:57:26 2014 +0800 gpio: crystalcove: support virtual GPIO The virtual GPIO introduced in ACPI table of Baytrail-T based system is used to solve a problem under Windows. We do not have such problems under Linux so we do not actually need them. But we have to tell GPIO library that the Crystal Cove GPIO chip has this many GPIO pins or the common GPIO handler will refuse any access to those high number GPIO pins, which will resulted in a failure evaluation of every ACPI control method that is used to turn on/off power resource and/or report sensor temperatures. Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> [changed vgpio number from 0x5e to 94] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6d31c2fa0eee89e31ca48a66ccfaf71ef545c474 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Sep 21 10:55:06 2014 -0700 powerpc: pci-ioda: Use a single function to emit logging messages No need for 3 functions when a single one will do. Modify the function declaring macros to call the single function. Reduces object code size a little: $ size arch/powerpc/platforms/powernv/pci-ioda.o* text data bss dec hex filename 22303 1073 6680 30056 7568 arch/powerpc/platforms/powernv/pci-ioda.o.new 22840 1121 6776 30737 7811 arch/powerpc/platforms/powernv/pci-ioda.o.old Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 45eb47242df87acbf26c0c2c0a7ab677661153c6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Sep 21 10:55:05 2014 -0700 powerpc: pci-ioda: Remove unnecessary return value from printk The return value is unnecessary and unused, so make the functions void instead of int. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2a58222f8220089c7b602cf5fae557e0bc0bc303 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 17 10:48:26 2014 +0800 powerpc/eeh: Fix kernel crash when passing through VF When doing vfio passthrough a VF, the kernel will crash with following message: [ 442.656459] Unable to handle kernel paging request for data at address 0x00000060 [ 442.656593] Faulting instruction address: 0xc000000000038b88 [ 442.656706] Oops: Kernel access of bad area, sig: 11 [#1] [ 442.656798] SMP NR_CPUS=1024 NUMA PowerNV [ 442.656890] Modules linked in: vfio_pci mlx4_core nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6t_REJECT xt_conntrack bnep bluetooth rfkill ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw tg3 nfsd be2net nfs_acl ses lockd ptp enclosure pps_core kvm_hv kvm_pr shpchp binfmt_misc kvm sunrpc uinput lpfc scsi_transport_fc ipr scsi_tgt [last unloaded: mlx4_core] [ 442.658152] CPU: 40 PID: 14948 Comm: qemu-system-ppc Not tainted 3.10.42yw-pkvm+ #37 [ 442.658219] task: c000000f7e2a9a00 ti: c000000f6dc3c000 task.ti: c000000f6dc3c000 [ 442.658287] NIP: c000000000038b88 LR: c0000000004435a8 CTR: c000000000455bc0 [ 442.658352] REGS: c000000f6dc3f580 TRAP: 0300 Not tainted (3.10.42yw-pkvm+) [ 442.658419] MSR: 9000000000009032 <SF,HV,EE,ME,IR,DR,RI> CR: 28004882 XER: 20000000 [ 442.658577] CFAR: c00000000000908c DAR: 0000000000000060 DSISR: 40000000 SOFTE: 1 GPR00: c0000000004435a8 c000000f6dc3f800 c0000000012b1c10 c00000000da24000 GPR04: 0000000000000003 0000000000001004 00000000000015b3 000000000000ffff GPR08: c00000000127f5d8 0000000000000000 000000000000ffff 0000000000000000 GPR12: c000000000068078 c00000000fdd6800 000001003c320c80 000001003c3607f0 GPR16: 0000000000000001 00000000105480c8 000000001055aaa8 000001003c31ab18 GPR20: 000001003c10fb40 000001003c360ae8 000000001063bcf0 000000001063bdb0 GPR24: 000001003c15ed70 0000000010548f40 c000001fe5514c88 c000001fe5514cb0 GPR28: c00000000da24000 0000000000000000 c00000000da24000 0000000000000003 [ 442.659471] NIP [c000000000038b88] .pcibios_set_pcie_reset_state+0x28/0x130 [ 442.659530] LR [c0000000004435a8] .pci_set_pcie_reset_state+0x28/0x40 [ 442.659585] Call Trace: [ 442.659610] [c000000f6dc3f800] [00000000000719e0] 0x719e0 (unreliable) [ 442.659677] [c000000f6dc3f880] [c0000000004435a8] .pci_set_pcie_reset_state+0x28/0x40 [ 442.659757] [c000000f6dc3f900] [c000000000455bf8] .reset_fundamental+0x38/0x80 [ 442.659835] [c000000f6dc3f980] [c0000000004562a8] .pci_dev_specific_reset+0xa8/0xf0 [ 442.659913] [c000000f6dc3fa00] [c0000000004448c4] .__pci_dev_reset+0x44/0x430 [ 442.659980] [c000000f6dc3fab0] [c000000000444d5c] .pci_reset_function+0x7c/0xc0 [ 442.660059] [c000000f6dc3fb30] [d00000001c141ab8] .vfio_pci_open+0xe8/0x2b0 [vfio_pci] [ 442.660139] [c000000f6dc3fbd0] [c000000000586c30] .vfio_group_fops_unl_ioctl+0x3a0/0x630 [ 442.660219] [c000000f6dc3fc90] [c000000000255fbc] .do_vfs_ioctl+0x4ec/0x7c0 [ 442.660286] [c000000f6dc3fd80] [c000000000256364] .SyS_ioctl+0xd4/0xf0 [ 442.660354] [c000000f6dc3fe30] [c000000000009e54] syscall_exit+0x0/0x98 [ 442.660420] Instruction dump: [ 442.660454] 4bfffce9 4bfffee4 7c0802a6 fbc1fff0 fbe1fff8 f8010010 f821ff81 7c7e1b78 [ 442.660566] 7c9f2378 60000000 60000000 e93e02c8 <e8690060> 2fa30000 41de00c4 2b9f0002 [ 442.660679] ---[ end trace a64ac9546bcf0328 ]--- [ 442.660724] The reason is current VF is not EEH enabled. This patch introduces a macro to convert eeh_dev to eeh_pe. By doing so, it will prevent converting with NULL pointer. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> CC: Michael Ellerman <mpe@xxxxxxxxxxxxxx> V3 -> V4: 1. move the macro definition from include/linux/pci.h to arch/powerpc/include/asm/eeh.h V2 -> V3: 1. rebased on 3.17-rc4 2. introduce a macro 3. use this macro in several other places V1 -> V2: 1. code style and patch subject adjustment Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9e34992a622a15fb915471ccdebed19a87d8d531 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Aug 7 17:26:33 2014 +1000 powerpc/mm: Unindent htab_dt_scan_page_sizes() We can unindent the bulk of htab_dt_scan_page_sizes() by returning early if the property is not found. That is nice in and of itself, but also has the advantage of making it clear that we always return success once we have found the ibm,segment-page-sizes property. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 87d99c0e2c2f9d1386d8e284a5fbc13e96adbe25 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Aug 6 19:08:22 2014 +1000 powerpc/ppc64: Print CPU/MMU/FW features at boot "Helps debug funky firmware issues". After: Starting Linux PPC64 #108 SMP Wed Aug 6 19:04:51 EST 2014 ----------------------------------------------------- ppc64_pft_size = 0x1a phys_mem_size = 0x200000000 cpu_features = 0x17fc7a6c18500249 possible = 0x1fffffff18700649 always = 0x0000000000000040 cpu_user_features = 0xdc0065c2 0xee000000 mmu_features = 0x5a000001 firmware_features = 0x00000001405a440b htab_hash_mask = 0x7ffff ----------------------------------------------------- Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bdce97e94b95db409264d5ae6badd0db7628681c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Aug 6 19:08:21 2014 +1000 powerpc/ppc64: Clean up the boot-time settings display At boot we display a bunch of low level settings which can be useful to know, and can help to spot bugs when things are fundamentally misconfigured. At the moment they are very widely spaced, so that we can accommodate the line: ppc64_caches.dcache_line_size = 0xYY But we only print that line when the cache line size is not 128, ie. almost never, so it just makes the display look odd usually. The ppc64_caches prefix is redundant so remove it, which means we can align things a bit closer for the common case. While we're there replace the last use of camelCase (physicalMemorySize), and use phys_mem_size. Before: Starting Linux PPC64 #104 SMP Wed Aug 6 18:41:34 EST 2014 ----------------------------------------------------- ppc64_pft_size = 0x1a physicalMemorySize = 0x200000000 ppc64_caches.dcache_line_size = 0xf0 ppc64_caches.icache_line_size = 0xf0 htab_address = 0xdeadbeef htab_hash_mask = 0x7ffff physical_start = 0xf000bar ----------------------------------------------------- After: Starting Linux PPC64 #103 SMP Wed Aug 6 18:38:04 EST 2014 ----------------------------------------------------- ppc64_pft_size = 0x1a phys_mem_size = 0x200000000 dcache_line_size = 0xf0 icache_line_size = 0xf0 htab_address = 0xdeadbeef htab_hash_mask = 0x7ffff physical_start = 0xf000bar ----------------------------------------------------- This patch is final, no bike shedding ;) Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 92f792ece9c41befde64d8799fd3dde5d57407ab Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Thu Aug 21 09:16:04 2014 -0400 powerpc: Fix build failure when CONFIG_USB=y We are enabling USB unconditionally which results in following build failure drivers/built-in.o: In function `tb_drom_read': (.text+0x1b62b70): undefined reference to `usb_speed_string' make: *** [vmlinux] Error Enable USB only if USB_SUPPORT is set to avoid such failures Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Alistair Popple <alistair@xxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a9303e1bd05751649e5408e521aab19380c7fd8a Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Thu Aug 21 09:04:31 2014 -0400 powerpc: Fix build failure on 44x Fix the following build failure drivers/built-in.o: In function `nhi_init': nhi.c:(.init.text+0x63390): undefined reference to `ehci_init_driver' by adding a dependency on USB_EHCI_HCD which supplies the ehci_init_driver(). Also we need to depend on USB_OHCI_HCD similarly Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Alistair Popple <alistair@xxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 297cf5025b3bda59e15d6ba1f84022ebd409925b Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 17:34:01 2014 +0800 powerpc: some changes in numa_setup_cpu() this patches changes some error handling logics in numa_setup_cpu(), when cpu node is not found, so: if the cpu is possible, but not present, -1 is kept in numa_cpu_lookup_table, so later, if the cpu is added, we could set correct numa information for it. if the cpu is present, then we set the first online node to numa_cpu_lookup_table instead of 0 ( in case 0 might not be an online node? ) Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Acked-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bc3c4327c92b9ceb9a6356ec64d1b2ab2dc851f9 Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 17:34:00 2014 +0800 powerpc: Only set numa node information for present cpus at boottime As Nish suggested, it makes more sense to init the numa node informatiion for present cpus at boottime, which could also avoid WARN_ON(1) in numa_setup_cpu(). With this change, we also need to change the smp_prepare_cpus() to set up numa information only on present cpus. For those possible, but not present cpus, their numa information will be set up after they are started, as the original code did before commit 2fabf084b6ad. Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Acked-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Tested-by: Cyril Bur <cyril.bur@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 70ad237515d99595ed03848bd8e549e50e83c4f2 Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 17:33:59 2014 +0800 powerpc: Fix warning reported by verify_cpu_node_mapping() With commit 2fabf084b6ad ("powerpc: reorder per-cpu NUMA information's initialization"), during boottime, cpu_numa_callback() is called earlier(before their online) for each cpu, and verify_cpu_node_mapping() uses cpu_to_node() to check whether siblings are in the same node. It skips the checking for siblings that are not online yet. So the only check done here is for the bootcpu, which is online at that time. But the per-cpu numa_node cpu_to_node() uses hasn't been set up yet (which will be set up in smp_prepare_cpus()). So I saw something like following reported: [ 0.000000] CPU thread siblings 1/2/3 and 0 don't belong to the same node! As we don't actually do the checking during this early stage, so maybe we could directly call numa_setup_cpu() in do_init_bootmem(). Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Acked-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c9f6f4ed95d47e3319dedaf8cc31d744ac67fe6f Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 2 14:35:09 2014 +1000 powerpc: Implement emulation of string loads and stores The size field of the op.type word is now the total number of bytes to be loaded or stored. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit cf87c3f6b64791ce5d4c7e591c915065d31a162d Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 2 14:35:08 2014 +1000 powerpc: Emulate icbi, mcrf and conditional-trap instructions This extends the instruction emulation done by analyse_instr() and emulate_step() to handle a few more instructions that are found in the kernel. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit be96f63375a14ee8e690856ac77e579c75bd0bae Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 2 14:35:07 2014 +1000 powerpc: Split out instruction analysis part of emulate_step() This splits out the instruction analysis part of emulate_step() into a separate analyse_instr() function, which decodes the instruction, but doesn't execute any load or store instructions. It does execute integer instructions and branches which can be executed purely by updating register values in the pt_regs struct. For other instructions, it returns the instruction type and other details in a new instruction_op struct. emulate_step() then uses that information to execute loads, stores, cache operations, mfmsr, mtmsr[d], and (on 64-bit) sc instructions. The reason for doing this is so that the KVM code can use it instead of having its own separate instruction emulation code. Possibly the alignment interrupt handler could also use this. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ad72a279a2b874828d1b5070ef01cf6ee6b1d62c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Aug 28 18:40:47 2014 +1000 powerpc: Check flat device tree version at boot In commit e6a6928c3ea1 "of/fdt: Convert FDT functions to use libfdt", the kernel stopped supporting old flat device tree formats. The minimum supported version is now 0x10. There was a checking function added, early_init_dt_verify(), but it's not called on powerpc. The result is, if you boot with an old flat device tree, the kernel will fail to parse it correctly, think you have no memory etc. and hilarity ensues. We can't really fix it, but we can at least catch the fact that the device tree is in an unsupported format and panic(). We can't call BUG(), it's too early. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d6a4f70909d279004a2b3d539e240e07b1ecc1cb Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 2 14:23:16 2014 +1000 powerpc/powernv: Don't call generic code on offline cpus On PowerNV platforms, when a CPU is offline, we put it into nap mode. It's possible that the CPU wakes up from nap mode while it is still offline due to a stray IPI. A misdirected device interrupt could also potentially cause it to wake up. In that circumstance, we need to clear the interrupt so that the CPU can go back to nap mode. In the past the clearing of the interrupt was accomplished by briefly enabling interrupts and allowing the normal interrupt handling code (do_IRQ() etc.) to handle the interrupt. This has the problem that this code calls irq_enter() and irq_exit(), which call functions such as account_system_vtime() which use RCU internally. Use of RCU is not permitted on offline CPUs and will trigger errors if RCU checking is enabled. To avoid calling into any generic code which might use RCU, we adopt a different method of clearing interrupts on offline CPUs. Since we are on the PowerNV platform, we know that the system interrupt controller is a XICS being driven directly (i.e. not via hcalls) by the kernel. Hence this adds a new icp_native_flush_interrupt() function to the native-mode XICS driver and arranges to call that when an offline CPU is woken from nap. This new function reads the interrupt from the XICS. If it is an IPI, it clears the IPI; if it is a device interrupt, it prints a warning and disables the source. Then it does the end-of-interrupt processing for the interrupt. The other thing that briefly enabling interrupts did was to check and clear the irq_happened flag in this CPU's PACA. Therefore, after flushing the interrupt from the XICS, we also clear all bits except the PACA_IRQ_HARD_DIS (interrupts are hard disabled) bit from the irq_happened flag. The PACA_IRQ_HARD_DIS flag is set by power7_nap() and is left set to indicate that interrupts are hard disabled. This means we then have to ignore that flag in power7_nap(), which is reasonable since it doesn't indicate that any interrupt event needs servicing. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 423216ed3273dae18c347ce52c5ecc193cfdd4e5 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Sep 16 10:49:14 2014 +1000 powerpc: Use CONFIG_ARCH_HAS_FAST_MULTIPLIER I ran some tests to compare hash_64 using shifts and multiplies. The results: POWER6: ~2x slower POWER7: ~2x faster POWER8: ~2x faster Now we have a proper config option, select CONFIG_ARCH_HAS_FAST_MULTIPLIER on POWER7 and POWER8. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ff2e466aa2339238c941dee873e553687e941f3f Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Sep 16 10:47:49 2014 +1000 powerpc: Add POWER8 CPU selection This allows the user to build a kernel targeted at POWER8 (ie gcc -mcpu=power8). Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e36d1227776a2daa2c9aa7f997ac7083d6783f2c Author: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 14:11:42 2014 -0500 pseries: Fix endian issues in cpu hot-removal When removing a cpu, this patch makes sure that values gotten from or passed to firmware are in the correct endian format. Signed-off-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 822e71224e07f07a07c385be869fe416ce436430 Author: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 14:11:41 2014 -0500 pseries: Fix endian issues in onlining cpu threads The ibm,ppc-interrupt-server#s property is in big endian format. These values need to be converted when used by little endian architectures. Signed-off-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fe921c8c3957dec5022b12fb858f8cb489e1b2bb Author: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Date: Sat Sep 13 10:20:17 2014 +0200 powerpc: Simplify symbol check in prom_init_check.sh Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ce6d73c94d7cfbdc3dc31860fe14af2f37d1b4fe Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 10 21:56:38 2014 +0200 powerpc: make of_device_ids const of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. This allows to mark all struct of_device_id const, too. While touching these line also put the __init annotation at the right position where necessary. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d4fe0965e20820f3dd05bcc4d89de3da29bb83aa Author: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx> Date: Thu Aug 21 10:41:23 2014 +0800 powerpc/jump_label: use HAVE_JUMP_LABEL? CONFIG_JUMP_LABEL doesn't ensure HAVE_JUMP_LABEL, if it is not the case use maintainers's own mutex to guard the modification of global values. Signed-off-by: Zhouyi Zhou <yizhouzhou@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 22e55fcfd6002accfe1e57e59cf429e6700d4ab4 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Aug 19 23:24:15 2014 -0400 powerpc: Export dcr_ind_lock to fix build error Fix build error caused by missing export: ERROR: "dcr_ind_lock" [drivers/net/ethernet/ibm/emac/ibm_emac.ko] undefined! Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a24e70c0ac146f8bcae3cdb7f514950d5b32219e Author: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Date: Thu Sep 25 14:59:41 2014 +0800 spi/rockchip: fix bug that cause the failure to read data in DMA mode In my test on RK3288-pinky board, if spi is enabled, it will begin to read data from slave regardless of whether the DMA is ready. So we need prepare DMA before spi is enable. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit f6026df1a4997db64e8201627421758585a15f55 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:55:21 2014 +1000 powerpc: Move htab_remove_mapping function prototype into header file A recent patch added a function prototype for htab_remove_mapping in c code. Fix it. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a38efcea56988761f89a3134145f0d5f9ea68076 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:55:20 2014 +1000 powerpc: Remove stale function prototypes There were a number of prototypes for functions that no longer exist. Remove them. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1217d34b531c76362217057ca70a8ce8950574e0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:55:19 2014 +1000 powerpc: Ensure global functions include their prototype Fix a number of places where global functions were not including their prototype. This ensures the prototype and the function match. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e51df2c170efaeadce4d416e1825b0830de0a795 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:55:18 2014 +1000 powerpc: Make a bunch of things static Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5144b6bfe25fda7c51f6f9d8d79cf0fe61df5c28 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:05 2014 +1000 powerpc: Separate ppc32 symbol exports into ppc_ksyms_32.c Simplify things considerably by moving all the ppc32 specific symbol exports into its own file. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7b20a955c3eec58e87f3d32cc1438eab6447ff4c Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:04 2014 +1000 powerpc: Move lib symbol exports into arch/powerpc/lib/ppc_ksyms.c Move the lib symbol exports closer to their function definitions Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5889bafa933e9f096c82cc46c9b134d2562b114b Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:03 2014 +1000 powerpc: Remove unused 32bit symbol exports Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e1802b065d189cdfa25eaf6d019c222a91618b9c Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:02 2014 +1000 powerpc: Move more symbol exports next to function definitions Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4a1b08e84454f9eb46bcb1aaf307421a4df46de2 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:01 2014 +1000 powerpc: Move via-cuda symbol exports next to function definitions Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 370a3abdbba85f5d7b8571850fa666e240893c79 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:00 2014 +1000 powerpc: Move adb symbol exports next to function definitions Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 831cf65b0295de75f40f8cf52ce62e5d261dab4f Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Tue Aug 19 14:48:02 2014 +1000 powerpc/powernv: Check OPAL dump calls exist before using Check that the OPAL_DUMP_READ token exists before initalising the elog infrastructure. This avoids littering the OPAL console with: "OPAL: Called with bad token 91" Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7dc992ec7b3fd875b05f49f454a922ee94af330b Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Tue Aug 19 14:48:01 2014 +1000 powerpc/powernv: Check OPAL elog calls exist before using Check that the OPAL_ELOG_READ token exists before initalising the elog infrastructure. This avoids littering the OPAL console with: "OPAL: Called with bad token 74" Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 035ed26fb090ff3277900259f19d57e54da2e116 Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Tue Aug 19 14:48:00 2014 +1000 powerpc/powernv: Check OPAL RTC calls exists before using Check that the OPAL_RTC_READ token exists before we use the OPAL RTC. Refactors the code a little to merge error paths. This avoids littering the OPAL console with: "OPAL: Called with bad token 3". Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bffe6bda342578deea0b74f2d9cb97cc40585a1b Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Tue Aug 19 14:47:59 2014 +1000 powerpc/powernv: Add OPAL check token call Currently there is no way to generically check if an OPAL call exists or not from the host kernel. This adds an OPAL call opal_check_token() which tells you if the given token is present in OPAL or not. Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3484a31fce22348b9034024cf9368ab2dbbfd0ab Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Mon Aug 18 17:13:41 2014 -0400 powerpc: Fix build error with CONFIG_PCI=n Fix ppc 32 build failure as reported here: http://kisskb.ellerman.id.au/kisskb/buildresult/11663513/ The error is as follows: arch/powerpc/include/asm/floppy.h:142:20: error: 'isa_bridge_pcidev' undeclared (first use in this function) This is happening since floppy.o is enabled by BLK_DEV_FD which depends on ARCH_MAY_HAVE_PC_FDC which is in-turn enabled if PPC_PSERIES=n. The following commit changes the dependency so that ARCH_MAY_HAVE_PC_FDC is dependent exclusively on PCI since otherwise it will not compile. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c913e5f95e546d8d3a9f99ba9908f7e095cbc1fb Author: Tony Breeds <tony@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 17:05:04 2014 +1000 powerpc/boot: Don't install zImage.* from make install in commit 29f1aff2c (powerpc: Copy bootable images in the default install script) we changed to copying all the built boot targets based on the assumption that it's backwards compatible. It turns out that debian devived installkernel scripts will barf if not given exactly 4 args. This change reverts make install to just install the vmlinux (we can change the dfault in a seperate patch) and introduces a new make zInstall which works with a more flexible installkernel script. Cc: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: Tony Breeds <tony@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit cdd91b89adedb77e3e581c40788620790edc33b5 Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 12:16:39 2014 +0530 powerpc/powernv: Improve error messages in dump code Presently we only support initiating Service Processor dump from host. Hence update sysfs message. Also update couple of other error/info messages. Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0e612ff10c86241683f0a77e3dd0a6631b640009 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Wed Sep 24 11:31:58 2014 -0700 ASoC: rt5677: Add gpio-controller DTS documentation Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e03f73a01f010b29504ceebda3c4fca25468516d Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Wed Sep 24 11:17:14 2014 -0700 ASoC: trace: Remove trailing new-lines in trace messages These new-lines add empty lines to trace output Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 90f90bbb6049db243289f31800e750b2ce160322 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 13:32:24 2014 +0200 spi: fsl-dspi: Remove probe info message Remove the probe info message which also has wrong output. No need to add KERN_INFO to pr_info. Output was: 6Freescale DSPI master initialized Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1b59fc7e3cda3f626204cadda8bb9b7d15f4f55b Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Tue Sep 9 10:44:52 2014 +0200 usb: dwc2/gadget: move phy bus legth initialization This patch moves the part of code that initializes the PHY bus width. This results in simpler code and removes the need to check whether the Generic PHY Framework is used. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1aff52562939485e503936e17934be077ffaea53 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Sep 24 11:28:32 2014 +1000 NFS/SUNRPC: Remove other deadlock-avoidance mechanisms in nfs_release_page() Now that nfs_release_page() doesn't block indefinitely, other deadlock avoidance mechanisms aren't needed. - it doesn't hurt for kswapd to block occasionally. If it doesn't want to block it would clear __GFP_WAIT. The current_is_kswapd() was only added to avoid deadlocks and we have a new approach for that. - memory allocation in the SUNRPC layer can very rarely try to ->releasepage() a page it is trying to handle. The deadlock is removed as nfs_release_page() doesn't block indefinitely. So we don't need to set PF_FSTRANS for sunrpc network operations any more. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 353db7966288a2f18da22438aeec2b4862c0b241 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Sep 24 11:28:32 2014 +1000 NFS: avoid waiting at all in nfs_release_page when congested. If nfs_release_page() is called on a sequence of pages which are all in the same file which is blocked on COMMIT, each page could contribute a 1 second delay which could be come excessive. I have seen delays of as much as 208 seconds. To keep the delay to one second, mark the bdi as write-congested if the commit didn't finished. Once it does finish, the write-congested flag will be cleared by nfs_commit_release_pages(). With this, the longest total delay in try_to_free_pages that I have seen is under 3 seconds. With no waiting in nfs_release_page at all I have seen delays of nearly 1.5 seconds. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9590544694becc64f4874963dbfc4b4d391024b7 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Sep 24 11:28:32 2014 +1000 NFS: avoid deadlocks with loop-back mounted NFS filesystems. Support for loop-back mounted NFS filesystems is useful when NFS is used to access shared storage in a high-availability cluster. If the node running the NFS server fails, some other node can mount the filesystem and start providing NFS service. If that node already had the filesystem NFS mounted, it will now have it loop-back mounted. nfsd can suffer a deadlock when allocating memory and entering direct reclaim. While direct reclaim does not write to the NFS filesystem it can send and wait for a COMMIT through nfs_release_page(). This patch modifies nfs_release_page() to wait a limited time for the commit to complete - one second. If the commit doesn't complete in this time, nfs_release_page() will fail. This means it might now fail in some cases where it wouldn't before. These cases are only when 'gfp' includes '__GFP_WAIT'. nfs_release_page() is only called by try_to_release_page(), and that can only be called on an NFS page with required 'gfp' flags from - page_cache_pipe_buf_steal() in splice.c - shrink_page_list() in vmscan.c - invalidate_inode_pages2_range() in truncate.c The first two handle failure quite safely. The last is only called after ->launder_page() has been called, and that will have waited for the commit to finish already. So aborting if the commit takes longer than 1 second is perfectly safe. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a4796e37c12e177572b80864cbab9c907ea250b0 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Sep 24 11:28:32 2014 +1000 MM: export page_wakeup functions This will allow NFS to wait for PG_private to be cleared and, particularly, to send a wake-up when it is. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 63163e060127876f57c327c85f2890ed427a4907 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:59 2014 -0400 qla2xxx: Add memory barrier before ringing doorbell. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e07f8f6547c246936b489772717b05695af53e35 Author: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Date: Thu Sep 25 06:14:58 2014 -0400 qla2xxx: Add flags for tracing the target commands. Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d564a372b0047de8014614fa66f2d071815605ed Author: Quinn Tran <quinn.tran@xxxxxxxxxx> Date: Thu Sep 25 06:14:57 2014 -0400 qla2xxx: Fix hang due to cmd_kref not decrementing Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit da6b0ace34378e928a6cba6010d7856664c46746 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:56 2014 -0400 qla2xxx: Do not send SS_RESIDUAL_UNDER with SAM_STAT_BUSY Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 33e7997755936ba92516c6ad69cd012c2e7d4dbb Author: Quinn Tran <quinn.tran@xxxxxxxxxx> Date: Thu Sep 25 06:14:55 2014 -0400 qla2xxx: Add support for QFull throttling and Term Exchange retry Through the qla target code, the qlt_send_term_exchange() routine is used in various different places to cleanup an exchange. For the case of IOCB request queue is full, the exchange is left unhandled/ dangling. Existing code does not have re-try logic to cleanup the exchange. This patch add retry logic to cleanup the exchange before letting new commands through. For the case of FW running out of exchanges, driver need to reply SAM_STAT_BUSY to the initiators. This patch add a pending queue for the busy reply in case IOCB queue is unable to handle the cmd. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f2ea653fd448b814dd92b6554ede85abd9e22d9f Author: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Date: Thu Sep 25 06:14:54 2014 -0400 qla2xxx: Increase the request queue size to 8K for ISP2031 Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 80187f8e7b05dff98c30909b668b5eb72482c3cb Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:53 2014 -0400 qla2xxx: Host reset handling in ABTS path. ABTS path takes path similar to regular task management, but reset_count was not initialized when allocating mcmd causing the response to get dropped in qlt_xmit_tm_rsp. Fix this by initializing reset_count correctly. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b6a029e1b0aba337ee54de66b1e428dd3bb624ca Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:52 2014 -0400 qla2xxx: Handle chip reset in target mode. A chip reset can occur after driver submits command to the stack. Abort command processing if a chip reset has occurred or in progress when you get a follow up for a command. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c0cb44967b4a934252091557c8e46345f7ef7259 Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:51 2014 -0400 qla2xxx: Add Host reset handling in target mode. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit dd9c4eff77fc7412fa79a1a05a2dec2469cc8ca8 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:50 2014 -0400 qla2xxx: fix crash due to task mgmt cmd type tcm_qla2xxx_get_task_tag incorrectly assume command is qla_tgt_cmd. Add check to see if it's a scsi cmd or task mgmt command. Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d29fb7360ee61ec02257e9c49848c9d2a05345a0 Author: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Date: Thu Sep 25 06:14:49 2014 -0400 qla2xxx: Add counter for message Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d154f35029c1f77b589389d2afb1e1766fb80c28 Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:48 2014 -0400 qla2xxx: Enable SLER conditionally in target mode. Sequence level error recovery (aka FC Tape) is not really required for disk devices. On heavily loaded system, with slow turn around, a bunch of status enquiries using REC puts additional burden to the target, so just turn off SLER by default. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 667024a36549186ce334c1027e434b45cf2c943d Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:47 2014 -0400 qla2xxx: Remove verbose messages in target mode. Turning logging bits for target mode ON dumps quite a lot verbose messages, remove those and change some of the IO path logging to use IO bits. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 940070374441fc78ad6d994f6ce67d5c6646e6f6 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:46 2014 -0400 qla2xxx: Increase room in request queue for sending priority packets Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 75554b68ac1e018bca00d68a430b92ada8ab52dd Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:45 2014 -0400 qla2xxx: Use correct offset to req-q-out for reserve calculation Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 78c2106a50e067f7168ee8c0944baaeb0e988272 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:44 2014 -0400 qla2xxx: fix kernel NULL pointer access This patch is to fix regression added by commit id 51a07f84649d2be206c4c2ad9a612956db0c2f8c. When allocating memory for new session original patch does not assign vha to op->vha resulting into NULL pointer access during qlt_create_sess_from_atio(). Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4d6609c47373ce85ed887ae471b34fb188f9c2b8 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:43 2014 -0400 qla2xxx: Fix sparse warnings in tcm_qla2xxx.c Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1b5fd56466967d0092ba489e45343d7c3317ed95 Author: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Date: Thu Sep 25 05:17:06 2014 -0400 qla2xxx: Update the driver version to 8.07.00.16-k. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6d78e5576b9450ad795577c1a31b20aafad4dd71 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:17:05 2014 -0400 qla2xxx: Fix sparse warning in qla_iocb.c file. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7ab3d962085f8b4953aca7517611bd3d164eb323 Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Thu Sep 25 05:17:04 2014 -0400 qla2xxx: Move warning message to debug level. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f261f7aff7badc76b266c6df799446ee24313449 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:17:03 2014 -0400 qla2xxx: Fail adapter initialization on load ram failure. If we fail to load one of the segments of firmware fail the operation instead of trying to continue which will lead to a system crash since the pointers to the next segment will not be updated correctly. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 61d41f610debd557b1c451338fa0afaac9dd8719 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:17:02 2014 -0400 qla2xxx: Disable PCI device in shutdown handler. Disable the PCI device during shutdown to prevent any races with other PCI code such as the AER handling code. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit ef86cb2059a14b4024c7320999ee58e938873032 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:17:01 2014 -0400 qla2xxx: Mark port lost when we receive an RSCN for it. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2486c62765d73ad8f206ba43b8ede09e689bd803 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:17:00 2014 -0400 qla2xxx: Restore WWPN in case of Loop Dead. For FA-WWPN capable device, ISP2031 and ISP27XX, when loop dead is detected by a driver, restore WWPN from NVRAM. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e05fe2924892a6c3c23dc818e94ce80dbceb86b1 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:16:59 2014 -0400 qla2xxx: Honor FCP_RSP retry delay timer field. Parse the retry delay timer field from the FCP response data and if: - It is not zero - The SCSI status is busy or queue full return SCSI_MLQUEUE_TARGET_BUSY for the number of milliseconds specified in the retry delay timer field. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9a6e6400a9bef4a7fb11ccddf932e1868f566a73 Author: Alex Vechersky <alex.vechersky@xxxxxxxxxx> Date: Thu Sep 25 05:16:58 2014 -0400 qla2xxx: Add missing ISP27xx checks to optrom code. Signed-off-by: Alex Vechersky <alex.vechersky@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f3982d89317797f34d4996ab36d4408f956e7a7c Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:16:57 2014 -0400 qla2xxx: Force use of mailbox interface for flash access commands for ISP27xx. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7473952e8de0eefed006bd415539f8161e87130d Author: Nigel Kirkland <nigel.kirkland@xxxxxxxxxx> Date: Thu Sep 25 05:16:56 2014 -0400 qla2xxx: Free sysfs attributes for ISP27xx. Signed-off-by: Nigel Kirkland <nigel.kirkland@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2d5a4c344ad35eaaab59a5079eb6c62a843fb9d6 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:16:55 2014 -0400 qla2xxx: Disable laser for ISP2031 while unloading driver. Nameserver data on FC switch is not refreshed when qla2xxx driver is unloaded. Disabling laser for ISP2031 will force FC switch to rescan ports and clear fdmi entries from Nameserver. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 25232cc9b8eca0406f51e61e944e854ed021a9d7 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:16:54 2014 -0400 qla2xxx: Enable diagnostic port using NVRAM parameters. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 93f2bd67b34b4f6b35b2300d668d92e3fd01163a Author: Quinn Tran <quinn.tran@xxxxxxxxxx> Date: Thu Sep 25 05:16:53 2014 -0400 qla2xxx: Declaration error cause stack corruption. Declaration error of mb array in qla2x00_iidma_fcport cause data to be written beyond the array. This ends up causing stack corruption. Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9d35894d338abc351cad8b0c0d5fb3e992f5cea9 Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Thu Sep 25 05:16:52 2014 -0400 qla2xxx: Add fix in driver unload for pending activity. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d2749ffadb4c76c04ad82645cc86a2fa39ceff3e Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 05:16:51 2014 -0400 qla2xxx: Unload of qla2xxx driver crashes the machine. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit de187df86721da0a4d38f94557797a7138895e0a Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:16:50 2014 -0400 qla2xxx: Allow user to change ql2xfdmienable value. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 00ef7d885b716389f1ffd0a3158b673783b95506 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:16:49 2014 -0400 qla2xxx: Fix driver version string message. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b5a340dd858b5bdd2813756e14991dc64c0b16d9 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:48 2014 -0400 qla2xxx: Add diagnostic port functionality. Add support for the D-port (diagnostic port) fabric switch feature. (Fabric Switch initiates loopback style port testing) Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7c9c4766896335d2f20928ccc5d8ad2d1e621b9a Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:47 2014 -0400 qla2xxx: Add FA-WWN functionality. Add support for the FA-WWN (fabric assigned wwn) fabric switch feature. (Fabric Assigned World Wide Port Name) Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit df57cabac41fd54e8eb73f9de482f054eb0b98eb Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:16:46 2014 -0400 qla2xxx: Add FDMI-2 functionality. Add support for the FDMI-2 fabric switch feature. Since FDMI-2 uses code from FDMI-1, some of the existing code needed to be repaired to prevent fields from being overflowed. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e475f9c0a5a12dfc79647f5a9b222f20db5f61a5 Author: Jan Kulich <jan.kulich@xxxxxxxxxx> Date: Thu Sep 25 05:16:45 2014 -0400 qla2xxx: ISPFx00 unexpected resets during adapter boot sequence. Signed-off-by: Jan Kulich <jan.kulich@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 24a42d50efdbb279f26c179e980e3420532fdf2a Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:44 2014 -0400 qla2xxx: Incorrect linked list semantic in qlafx00_get_fcport(). Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7b711623e1924b4ca1b06610f694c71b0feb05f9 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:43 2014 -0400 qla2xxx: Incorrect debug level on mailbox command print 0x1111. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4bb2efc45ffb7e5f249e97f86a387f6f3a7daae3 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:42 2014 -0400 qla2xxx: ISPFX00 avoid writing semaphore register in request_irqs(). Semaphore register does not exist for ISPFx00. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit efcdf9f5c8dfb1fa2b052e58e4ccb85541aee2cd Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:41 2014 -0400 qla2xxx: Fix potential return count bug in qla2xxx_get_vpd_field(). Call scnprintf() instead of snprintf() since the latter may return an incorrect count in cases where the write is truncated to fit. scnprintf() returns the count of what was actually written; snprintf() returns the count of what would have been written. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 349c390f43c63c2c919b81beb84b3a7592f2dd14 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:40 2014 -0400 qla2xxx: ISP27xx fwdump template error print simplification. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4096953054ad4369774f9dadc125ef7a57bb9ed0 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:39 2014 -0400 qla2xxx: ISP25xx multiqueue shadow register crash fix. When creating request/response queues from qla25xx_setup_mode(), the shadow index register pointers were not being initialized to point at the registers. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 98aee70d19a7e3203649fa2078464e4f402a0ad8 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:38 2014 -0400 qla2xxx: Add endianizer to max_payload_size modifier. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 420854b3cda9e7e0ff1ace8dba3ad45387d15d14 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:16:37 2014 -0400 qla2xxx: Enable fast flash access for ISP83xx. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2ac224bc0e9021520be95f6678c94440d526aa49 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:36 2014 -0400 qla2xxx: Add ISP27xx fwdump template entry T275 (insert buffer). Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit ce9b9b0858c6806ae84072d5fabb5ae0ca3f2799 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:35 2014 -0400 qla2xxx: ISP27xx fwdump template fix insertbuf() routine. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 01cb65f1bb3e71df1a0eb3393d3066ea0161a425 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:34 2014 -0400 qla2xxx: ISP27xx fwdump template remove high frequency debug logs. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit aa2dc3727a934e63a74e6dd5f017d263d9baa70a Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:33 2014 -0400 qla2xxx: ISP27xx optimize fwdump entry table lookup. Since the entry call array is sorted in order of entry type opcode, the search can be terminated as soon as the search key is exceeded. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 299f5e27ac5fac42f5be38a1cdf004b4e8217cbf Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:32 2014 -0400 qla2xxx: ISP27xx add tests for incomplete template. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4089b71cc820a426d601283c92fcd4ffeb5139c2 Author: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Date: Tue Sep 23 09:22:25 2014 -0500 mptfusion: enable no_write_same for vmware scsi disks When using a virtual SCSI disk in a VMWare VM if blkdev_issue_zeroout is used data can be improperly zeroed out using the mptfusion driver. This patch disables write_same for this driver and the vmware subsystem_vendor which ensures that manual zeroing out is used instead. Cc: stable@xxxxxxxxxxxxxxx BugLink: http://bugs.launchpad.net/bugs/1371591 Reported-by: Bruce Lucas <bruce.lucas@xxxxxxxxxxx> Tested-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Signed-off-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit cbbce82209490df8b68da9aec0d642451fe0a668 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 25 13:55:19 2014 +1000 SCHED: add some "wait..on_bit...timeout()" interfaces. In commit c1221321b7c25b53204447cff9949a6d5a7ddddc sched: Allow wait_on_bit_action() functions to support a timeout I suggested that a "wait_on_bit_timeout()" interface would not meet my need. This isn't true - I was just over-engineering. Including a 'private' field in wait_bit_key instead of a focused "timeout" field was just premature generalization. If some other use is ever found, it can be generalized or added later. So this patch renames "private" to "timeout" with a meaning "stop waiting when "jiffies" reaches or passes "timeout", and adds two of the many possible wait..bit..timeout() interfaces: wait_on_page_bit_killable_timeout(), which is the one I want to use, and out_of_line_wait_on_bit_timeout() which is a reasonably general example. Others can be added as needed. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 859c75aba20264d87dd026bab0d0ca3bff385955 Author: Tomas Henzl <thenzl@xxxxxxxxxx> Date: Fri Sep 12 14:44:15 2014 +0200 hpsa: add missing pci_set_master in kdump path Add a call to pci_set_master(...) missing in the previous patch "hpsa: refine the pci enable/disable handling". Found thanks to Rob Elliot. Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Robert Elliott <elliott@xxxxxx> Tested-by: Robert Elliott <elliott@xxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2e9feb434a66311f30bde2430a5609e9e24df62b Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Wed Sep 24 17:33:34 2014 +0800 arcmsr: simplify ioctl data read/write Signed-off-by: Ching Huang <ching 2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 3185ea63907cb281cfdc5aa29aa2d855826ad16a Author: wenxiong@xxxxxxxxxxxxxxxxxx <wenxiong@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 16:25:47 2014 -0500 ipr: don't log error messages when applications issues illegal requests Failing Device information are logged when IOA firmware detected these illegal request such as IOA firmware doesn't support inquiry with page code 2. The patch fixes the issue. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Tested-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 346e2e4a8b47089f4319f114ec9ac3a95b5f0ac8 Merge: 5caf6ae 4f0eb5d Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 13:11:52 2014 +0200 Merge tag 'phy-for_3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next Kishon writes: Adds 3 new PHY drivers stih407, stih41x and rcar gen2 PHY. It also includes miscellaneous cleanup of other PHY drivers. Conflicts: MAINTAINERS commit 5caf6ae5ce880ec15448b310e47a9515ebb7e808 Merge: 638139e dee80ad Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 12:18:11 2014 +0200 Merge tag 'usb-serial-3.17-final' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next Johan writes: USB-serial fixes for v3.17 Here are two more device IDs for v3.17. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit cc952e7017fa2e8871ee6a94f2c606ff5911f61e Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 06:26:21 2014 -0400 tty: Fix width of unsigned long bitfield padding Commit c545b66c6922b002b5fe224a6eaec58c913650b5, 'tty: Serialize tcflow() with other tty flow control changes' and commit 99416322dd16b810ba74098cc50ef2a844091d35, 'tty: Workaround Alpha non-atomic byte storage in tty_struct' work around compiler bugs and non-atomic storage on multiple arches by padding bitfields out to the declared type which is unsigned long. However, the width varies by arch. Pad bitfields to actual width of unsigned long (which is BITS_PER_LONG). Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 981c5b4a3b372402dc3aeae3a7a3eb687df44067 Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Wed Sep 24 09:38:19 2014 -0400 HID: sony: Update the DualShock 4 touchpad resolution The DualShock 4 touchpad has been measured to have a resolution of 44.86 dots/mm which equates to 1920x942. Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 508423bebcda29eb0ba7c627f895387dad7cdcd6 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 25 18:20:18 2014 +0900 ARM: exynos_defconfig: enable USB gadget support Enable USB gadget support without support for any specific gadgets to more easily catch cases where a devices dts doesn't specify the usb controllers dr_mode while it should. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit d2e5c871ed8a250f7ee1fe34dd52ed5757363fba Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Jun 24 16:20:28 2014 +0100 drivers: cpuidle: initialize big.LITTLE driver through DT With the introduction of DT based idle states, CPUidle drivers for ARM can now initialize idle states data through properties in the device tree. This patch adds code to the big.LITTLE CPUidle driver to dynamically initialize idle states data through the updated device tree source file. Cc: Chander Kashyap <k.chander@xxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 3299b63de384159579143d4abdfb94013e0b5470 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Fri Feb 28 13:03:44 2014 +0000 drivers: cpuidle: CPU idle ARM64 driver This patch implements a generic CPU idle driver for ARM64 machines. It relies on the DT idle states infrastructure to initialize idle states count and respective parameters. Current code assumes the driver is managing idle states on all possible CPUs but can be easily generalized to support heterogenous systems and build cpumasks at runtime using MIDRs or DT cpu nodes compatible properties. The driver relies on the arm64 CPU operations to call the idle initialization hook used to parse and save suspend back-end specific idle states information upon probing. Idle state index 0 is always initialized as a simple wfi state, ie always considered present and functional on all ARM64 platforms. Idle state indices higher than 0 trigger idle state entry by calling the cpu_suspend function, that triggers the suspend operation through the CPU operations suspend back-end hook. cpu_suspend passes the idle state index as a parameter so that the CPU operations suspend back-end can retrieve the required idle state data by using the idle state index to execute a look-up on its internal data structures. Reviewed-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 9f14da345599c14b329cf5ac9499ad322056dd32 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Fri Feb 14 14:28:39 2014 +0000 drivers: cpuidle: implement DT based idle states infrastructure On most common ARM systems, the low-power states a CPU can be put into are not discoverable in HW and require device tree bindings to describe power down suspend operations and idle states parameters. In order to enable DT based idle states and configure idle drivers, this patch implements the bulk infrastructure required to parse the device tree idle states bindings and initialize the corresponding CPUidle driver states data. The parsing API accepts a start index that defines the first idle state that should be initialized by the parsing code in order to give new and legacy driver flexibility over which states should be parsed using the new DT mechanism. The idle states node(s) is obtained from the phandle list of the first cpu in the driver cpumask; the kernel checks that the idle state node phandle is the same for all CPUs in the driver cpumask before declaring the idle state as valid and start parsing its content. The idle state enter function pointer is initialized through DT match structures passed in by the CPUidle driver, so that ARM legacy code can cope with platform specific idle entry method based on compatible string matching and the code used to initialize the enter function pointer can be moved to the DT generic layer. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 2a0a5b2299b9bef76123fac91e68d39cb361c33e Author: Jan Willeke <willeke@xxxxxxxxxx> Date: Mon Sep 22 16:39:06 2014 +0200 s390/uprobes: architecture backend for uprobes Signed-off-by: Jan Willeke <willeke@xxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 975fab17399a2b29985166181ad80e5f50fa42e9 Author: Jan Willeke <willeke@xxxxxxxxxx> Date: Mon Sep 22 16:37:27 2014 +0200 s390/uprobes: common library for kprobes and uprobes This patch moves common functions from kprobes.c to probes.c. Thus its possible for uprobes to use them without enabling kprobes. Signed-off-by: Jan Willeke <willeke@xxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit bbae71bf9c2fe90dc5642d4cddbbc1994861fd92 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 22 16:34:38 2014 +0200 s390/rwlock: use the interlocked-access facility 1 instructions Make use of the load-and-add, load-and-or and load-and-and instructions to atomically update the read-write lock without a compare-and-swap loop. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 94232a4332de3bc210e7067fd43521b3eb12336a Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 22 16:25:25 2014 +0200 s390/rwlock: improve writer fairness Set the write-lock bit in the out-of-line rwlock code to indicate that a writer is waiting. Additional readers will no be able to get the lock until at least one writer got the lock. Additional writers have to wait for the first writer to release the lock again. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2684e73a861fe7b2ab763f442207025a1d9bb6a6 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 22 14:45:11 2014 +0200 s390/rwlock: remove interrupt-enabling rwlock variant. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6a5c1482e2b700e89f174ddb42434b37f15abccd Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Sep 22 08:50:51 2014 +0200 s390/mm: remove change bit override support Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 70c9d296325b398a87c30de77cc94033a60bdad2 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Sat Sep 20 11:12:08 2014 +0200 s390/vmemmap: remove memset call from vmemmap_populate() If the vmemmap array gets filled with large pages we allocate those pages with vmemmap_alloc_block(), which returns cleared pages. Only for single 4k pages we call our own vmem_alloc_pages() which does not return cleared pages. However we can also call vmemmap_alloc_block() to allocate the 4k pages. This way we can also make sure the vmemmap array is cleared after its population. Therefore we can remove the memset at the end of the function which would clear the vmmemmap array a second time on machines which do support EDAT1. On very large configurations this can save us several seconds. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b881dcfbf7fd89b2be801843b060b9ad77cc77e7 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 19 15:46:02 2014 +0200 s390/head.s: use zero as address for stfl The architecture suggests to use address 0 as parameter for stfl, to allow for future extensions. Using __LC_STFL_FAC_LIST (0x200) shows which address is used, but might be not future proof. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d59b93da5e572703e1a7311c13dd3472a4e56e30 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Sep 19 14:29:31 2014 +0200 s390/rwlock: use directed yield for write-locked rwlocks Add an owner field to the arch_rwlock_t to be able to pass the timeslice of a virtual CPU with diagnose 0x9c to the lock owner in case the rwlock is write-locked. The undirected yield in case the rwlock is acquired writable but the lock is read-locked is removed. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 46b05c7bd51edafb8c8da088b49bddf7f78d48f9 Author: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Date: Tue Sep 16 14:37:25 2014 +0200 s390/zcrypt: Fixed possible race condition in zcrypt module handling Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9fc98ad0d2bf3cd71772d1bda75e7a8b4dce261b Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Tue Sep 16 11:02:24 2014 +0200 s390/tape: fix MTIOCGET ioctl to report blocksize Remove tape_state from status register and report the drive's current setting for block size instead as known from other tapes. Density is not supported so nothing to report here. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8f933b1043e1e51f4776fc1ffe86752c7785fd4e Author: Ralf Hoppe <rhoppe@xxxxxxxxxx> Date: Mon Apr 8 09:52:57 2013 +0200 s390/hmcdrv: HMC drive CD/DVD access This device driver allows accessing a HMC drive CD/DVD-ROM. It can be used in a LPAR and z/VM environment. Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Ralf Hoppe <rhoppe@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ea61a579ab87f1620b14777afc32cf3827f07bc8 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Sep 9 12:53:12 2014 +0200 s390/sclp: reduce dependency on event type masks The event type masks can change asynchronously. These changes are reported by SCLP to the OS by state-change events which are retrieved with the read event data command. The SCLP driver has a request queue, there is a window where the read event data request has not completed yet but the SCLP console drivers are trying to queue output requests. As the masks are not updated yet the requests are discarded. The simplest fix is to queue the console requests independent of the event type masks and rely on SCLP to return with an error code if a specific event type is not available. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 170387a8877b2c12fee5ae901be1ef4693d06094 Author: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Date: Mon Sep 8 13:24:13 2014 +0200 s390/zcrypt: support for extended number of ap domains Extends the number of ap domains within the zcrypt device driver up to 256. AP domains in the range 00..255 will be detected. Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6baf6ee534c56e754ca854176be0073bc2c9e6a4 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Tue Aug 12 17:11:05 2014 -0700 cpuidle: big.LITTLE: add Exynos5800 compatible string Exynos 5800 is big.LITTLE SoC compatible with the 5420. Add the compatible string so this driver works on the 5800. Tested on exynos5800-peach-pi (aka Samsung Chromebook2) Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit f4ea5332c800c54f4d4c231d3338d95c2dd70a66 Merge: 0f33be0 18910ab Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Thu Sep 25 10:47:25 2014 +0200 Merge branch 'for-next/cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux into cpuidle/3.18 These are the specific changes for ARM64 to make it possible to integrate the DT based generic cpuidle driver in this tree. It contains: * The documentation for the DT definitions for ARM * The refactoring of the cpu_suspend function for ARM64 * Introduce the cpu_idle_init function for ARM64 * Add the PSCI CPU SUSPEND based on the previous changes on cpu_suspend Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 565766b087a6d6ff257f5b79c8ceda0188c9169f Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Sep 25 09:48:01 2014 +0300 Bluetooth: Rename sco_param_wideband table to esco_param_msbc The sco_param_wideband table represents the eSCO parameters for specifically mSBC encoding. This patch renames the table to the more descriptive esco_param_msbc name. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e4742d5769e7f502f1b928b759ddecabf03375d7 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 24 10:15:24 2014 +0200 pinctrl: bcm281xx: make Kconfig dependency more strict This driver is only useful on BCM281xx, so let the driver depend on ARCH_BCM_MOBILE but allow compile coverage testing. The main benefit is that the driver isn't available to be selected for machines that don't have the matching hardware. Signed-off-by: Uwe Kleine-KÃ?¶nig <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Sherman Yin <syin@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7b31997a734cd24c305d5c58a366e4c8f7673e02 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Feb 21 14:42:26 2014 +0100 gpio: kona: enable only on BCM_MOBILE or for compile testing This change makes it easier to configure a kernel for a real machine by not showing the option to enable it at all if COMPILE_TEST is off. Signed-off-by: Uwe Kleine-KÃ?¶nig <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Markus Mayer <mmayer@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e2e08970100db03bb84fd4a72f9c35bfc18d595a Author: Nikolaus Voss <n.voss@xxxxxxxxxxxxxxx> Date: Tue Sep 23 15:30:21 2014 +0200 pwm: atmel: Fix calculation of prescale value The prescale value used for calculating the period was incremented afterwards, thus the resulting prescale value is by one too high. This resulted in a PWM frequency only half as high as requested. This patch moves the 64 bit division out of the prescale loop to correct the above issue and make the calculation more efficient. Signed-off-by: Nikolaus Voss <n.voss@xxxxxxxxxxxxxxx> Tested-by: Bo Shen <voice.shen@xxxxxxxxx> Acked-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit e87b4c7a7ac6d895846570dec637744cf7050df3 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 18 16:09:27 2014 +1000 NFS: don't use STABLE writes during writeback. commit b31268ac793fd300da66b9c28bbf0a200339ab96 FS: Use stable writes when not doing a bulk flush was a bit heavy handed. The particular problem that lead to this patch was that small writes to an O_SYNC file we being written as UNSTABLE writes followed by a commit. This is appropriate for large writes (which require multiple NFS requests) but for small writes (single NFS request), using NFS_FILE_SYNC is more efficient. So that patch causes the code to select between the two methods depending on how many nfs requests get generated. Unfortunately this ends up applying to non O_SYNC writes as well. In particular if you memory-map a file and update random pages, then when they are eventually written out by writeback they will go as NFS_FILE_SYNC. This is inefficient and slows down the application. So: only set FLUSH_COND_STABLE when wbc->sync_mode is WB_SYNC_ALL. With this patch: O_SYNC writes are NFS_FILE_SYNC for single requests, and NFS_UNSTABLE followed by COMMIT for multiple requests Writing immediately before close of fsync follow the same pattern. Non-O_SYNC writes without an fsync of close eventually get flushed out as UNSTABLE and a commit follows eventually as appropriate. Signed-off-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8478eaa16e701ecfe054b62ec764bc1291b79e19 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 18 16:09:27 2014 +1000 NFSv4: use exponential retry on NFS4ERR_DELAY for async requests. Currently asynchronous NFSv4 request will be retried with exponential timeout (from 1/10 to 15 seconds), but async requests will always use a 15second retry. Some "async" requests are really synchronous though. The async mechanism is used to allow the request to continue if the requesting process is killed. In those cases, an exponential retry is appropriate. For example, if two different clients both open a file and get a READ delegation, and one client then unlinks the file (while still holding an open file descriptor), that unlink will used the "silly-rename" handling which is async. The first rename will result in NFS4ERR_DELAY while the delegation is reclaimed from the other client. The rename will not be retried for 15 seconds, causing an unlink to take 15 seconds rather than 100msec. This patch only added exponential timeout for async unlink and async rename. Other async calls, such as 'close' are sometimes waited for so they might benefit from exponential timeout too. Signed-off-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3dedbb5ca10ef13f25055776d2f6d9499d9ca1ba Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Wed Sep 24 18:08:04 2014 +0000 rpc: Add -EPERM processing for xs_udp_send_request() If an iptables drop rule is added for an nfs server, the client can end up in a softlockup. Because of the way that xs_sendpages() is structured, the -EPERM is ignored since the prior bits of the packet may have been successfully queued and thus xs_sendpages() returns a non-zero value. Then, xs_udp_send_request() thinks that because some bits were queued it should return -EAGAIN. We then try the request again and again, resulting in cpu spinning. Reproducer: 1) open a file on the nfs server '/nfs/foo' (mounted using udp) 2) iptables -A OUTPUT -d <nfs server ip> -j DROP 3) write to /nfs/foo 4) close /nfs/foo 5) iptables -D OUTPUT -d <nfs server ip> -j DROP The softlockup occurs in step 4 above. The previous patch, allows xs_sendpages() to return both a sent count and any error values that may have occurred. Thus, if we get an -EPERM, return that to the higher level code. With this patch in place we can successfully abort the above sequence and avoid the softlockup. I also tried the above test case on an nfs mount on tcp and although the system does not softlockup, I still ended up with the 'hung_task' firing after 120 seconds, due to the i/o being stuck. The tcp case appears a bit harder to fix, since -EPERM appears to get ignored much lower down in the stack and does not propogate up to xs_sendpages(). This case is not quite as insidious as the softlockup and it is not addressed here. Reported-by: Yigong Lou <ylou@xxxxxxxxxx> Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f279cd008fc9742f5ec294d9b8a793a7a0b163ef Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Wed Sep 24 18:08:00 2014 +0000 rpc: return sent and err from xs_sendpages() If an error is returned after the first bits of a packet have already been successfully queued, xs_sendpages() will return a positive 'int' value indicating success. Callers seem to treat this as -EAGAIN. However, there are cases where its not a question of waiting for the write queue to drain. For example, when there is an iptables rule dropping packets to the destination, the lower level code can return -EPERM only after parts of the packet have been successfully queued. In this case, we can end up continuously retrying resulting in a kernel softlockup. This patch is intended to make no changes in behavior but is in preparation for subsequent patches that can make decisions based on both on the number of bytes sent by xs_sendpages() and any errors that may have be returned. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 173b3afceebe76fa2205b2c8808682d5b541fe3c Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Tue Sep 23 12:26:20 2014 -0400 lockd: Try to reconnect if statd has moved If rpc.statd is restarted, upcalls to monitor hosts can fail with ECONNREFUSED. In that case force a lookup of statd's new port and retry the upcall. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a743419f420a64d442280845c0377a915b76644f Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Tue Sep 23 12:26:19 2014 -0400 SUNRPC: Don't wake tasks during connection abort When aborting a connection to preserve source ports, don't wake the task in xs_error_report. This allows tasks with RPC_TASK_SOFTCONN to succeed if the connection needs to be re-established since it preserves the task's status instead of setting it to the status of the aborting kernel_connect(). This may also avoid a potential conflict on the socket's lock. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.14+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8faaa6d5d48b201527e0451296d9e71d23afb362 Author: Olga Kornievskaia <kolga@xxxxxxxxxx> Date: Wed Sep 24 18:11:28 2014 -0400 Fixing lease renewal Commit c9fdeb28 removed a 'continue' after checking if the lease needs to be renewed. However, if client hasn't moved, the code falls down to starting reboot recovery erroneously (ie., sends open reclaim and gets back stale_clientid error) before recovering from getting stale_clientid on the renew operation. Signed-off-by: Olga Kornievskaia <kolga@xxxxxxxxxx> Fixes: c9fdeb280b8c (NFS: Add basic migration support to state manager thread) Cc: stable@xxxxxxxxxxxxxxx # 3.13+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2f3169fb18f4643ac9a6a097a6a6c71f0b2cef75 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 24 18:56:11 2014 +0200 nfs: fix duplicate proc entries Commit 65b38851a174 ("NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes") updated the following function: static int nfs_volume_list_open(struct inode *inode, struct file *file) it used &nfs_server_list_ops instead of &nfs_volume_list_ops which means cat /proc/fs/nfsfs/volumes = /proc/fs/nfsfs/servers Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Fixes: 65b38851a174 (NFS: Fix /proc/fs/nfsfs/servers and...) Cc: stable@xxxxxxxxxxxxxxx # 3.4.x+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fd642bb94c75f08ed15111a7fe75027da6abdd07 Merge: 4d96fb1 d6cc1f5 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Thu Sep 25 01:55:14 2014 +0200 Merge tag 'tags/mfd-power-charger-regulator-v3.18' into next Immutable branch between MFD, Power, Charger and Regulator for v3.18 commit 4d96fb1ec81118c6406fe6d3670f172b2faaedf3 Author: Heiko Stuebner <heiko.stuebner@xxxxxx> Date: Tue Sep 23 22:42:16 2014 +0200 power: gpio-charger: do not use gpio value directly Some gpio implementations return interesting values for gpio_get_value when the value is not 0 - as seen on a imx6sl board. Therefore do not use the value returned from gpio_get_value directly but simply check for 0 or not 0. Signed-off-by: Heiko Stuebner <heiko.stuebner@xxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ddd26dff757d08d4eb309a28bf2a02372387e71f Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 16 18:10:41 2014 +0200 power: max8925: Use of_get_child_by_name Use of_get_child_by_name to obtain reference to charger node instead of of_find_node_by_name which can walk outside of the parent node. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 920ac5be91bc447c5ef82f457207a169aa79c5f6 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 16 18:10:40 2014 +0200 power: max8925: Fix NULL ptr dereference on memory allocation failure Check the return value of devm_kzalloc() to fix possible NULL pointer dereference and properly exit the probe() on memory allocation failure. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 628ef02c56e515430dd8d8439126dd0ecb8ce8bb Author: Puthikorn Voravootivat <puthik@xxxxxxxxxxxx> Date: Tue Sep 9 12:20:35 2014 -0700 bq27x00_battery: Add support to bq27742 Add support to bq27742 in bq27x00 driver. bq27742 register addresses are mostly mostly the same as bq27500 addresses with minor differences. Signed-off-by: Puthikorn Voravootivat <puthik@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Rhyland Klein <rklein@xxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 042e1c79166b9250edd8262bea84e1703f27ad2e Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Mon Sep 22 10:31:14 2014 -0700 Input: soc_button_array - convert to platform bus ACPI device enumeration mechanism changed a lot since 3.16-rc1. ACPI device objects with _HID will be enumerated to platform bus by default. For the existing PNP drivers that probe the PNPACPI devices, the device ids are listed explicitly in drivers/acpi/acpi_pnp.c. But ACPI folks will continue their effort on shrinking this id list by converting the PNP drivers to platform drivers, for the devices that don't belong to PNP bus in nature. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9133664097dd4aca0bed4882a86f0bfccbf07e53 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 22:51:26 2014 +0200 cpuidle: Replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c7750e8321155d39625c1ffb03227af4fa7f9122 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 18 08:41:28 2014 -0300 gpu: ipu-v3: Kconfig: Remove SOC_IMX6SL from IMX_IPUV3_CORE Kconfig SOC_IMX6SL does not have the IPU block, so remove it from the Kconfig entry. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7bc5a2bad0b8d9d1ac9f7b8b33150e4ddf197334 Author: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Date: Sat Sep 20 13:19:47 2014 +0200 ACPI: Support _OSI("Darwin") correctly Apple hardware queries _OSI("Darwin") in order to determine whether the system is running OS X, and changes firmware behaviour based on the answer. The most obvious difference in behaviour is that Thunderbolt hardware is forcibly powered down unless the system is running OS X. The obvious solution would be to simply add Darwin to the list of supported _OSI strings, but this causes problems. Recent Apple hardware includes two separate methods for checking _OSI strings. The first will check whether Darwin is supported, and if so will exit. The second will check whether Darwin is supported, but will then continue to check for further operating systems. If a further operating system is found then later firmware code will assume that the OS is not OS X. This results in the unfortunate situation where the Thunderbolt controller is available at boot time but remains powered down after suspend. The easiest way to handle this is to special-case it in the Linux-specific OSI handling code. If we see Darwin, we should answer true and then disable all other _OSI vendor strings. The next problem is that the Apple PCI _OSC method has the following code: if (LEqual (0x01, OSDW ())) if (LAnd (LEqual (Arg0, GUID), NEXP) (do stuff) else (fail) NEXP is a value in high memory and is presumably under the control of the firmware. No methods sets it. The methods that are called in the "do stuff" path are dummies. Unless there's some additional firmware call in early boot, there's no way for this call to succeed - and even if it does, it doesn't do anything. The easiest way to handle this is simply to ignore it. We know which flags would be set, so just set them by hand if the platform is running in Darwin mode. Signed-off-by: Matthew Garrett <matthew.garrett@xxxxxxxxxx> [andreas.noever@xxxxxxxxx: merged two patches, do not touch ACPICA] Signed-off-by: Andreas Noever <andreas.noever@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9faf6136ff4647452580b019f4b16f8c5082e589 Author: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Date: Sat Sep 20 13:19:46 2014 +0200 ACPI / SBS: Disable smart battery manager on Apple Touching the smart battery manager at all on Apple hardware appears to make it unhappy - unplugging the AC adapter triggers accesses that hang the controller for several minutes. Quirk it out via DMI in order to avoid this. Compensate by changing battery presence if we fail to communicate with the battery. Signed-off-by: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Signed-off-by: Andreas Noever <andreas.noever@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3031cddea633ea5328162d3d712a582e4205dbed Author: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Date: Sat Sep 20 13:19:45 2014 +0200 ACPI / SBS: Don't assume the existence of an SBS charger Apple hardware continues to expose an ACPI AC charger even when using SBS to report battery state. The charger status byte returns all 0s in this case. Since the spec requires that bit 4 be 1 at all times, assume that there's not really a charger if it's set to zero. Signed-off-by: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Signed-off-by: Andreas Noever <andreas.noever@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ffd8a731d9bfd186b8bb8b88f558de7e04ae06e6 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 22:51:24 2014 +0200 ACPI / battery: Replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5d30f7410220eb212614654677264f1ba04ae746 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Mon Sep 15 19:36:53 2014 +0800 ACPI / utils: Update acpi_check_dsm() comments Update function comments. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8ee4104a681a3a30a495265825d8ebfe87d57d28 Author: Edward Lin <yidi.lin@xxxxxxxxxxxxx> Date: Mon Sep 15 11:56:12 2014 +0800 ACPI / blacklist: add Win8 OSI quirks for some Dell laptop models The wireless hotkey of those machines does not work with Win8 OSI. Due to insufficient documentation for the driver implementation, blacklist those machines as a workaround. "audo wake on after shutdown" bug on Dell Inspiron 7737 is fixed by BIOS. But this machine still suffers the hotkey issue. So keep the quirk for the wireless hotkey issue. Link: http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=MJWNX Signed-off-by: Edward Lin <yidi.lin@xxxxxxxxxxxxx> [ rjw: Subject ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 00c027db0cc4b7387b258330482c6e5f5e836b18 Merge: c24ae0d 8d0eff6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Sep 24 23:19:45 2014 +0200 Merge tag 'signed-kvm-ppc-next' of git://github.com/agraf/linux-2.6 into kvm-next Patch queue for ppc - 2014-09-24 New awesome things in this release: - E500: e6500 core support - E500: guest and remote debug support - Book3S: remote sw breakpoint support - Book3S: HV: Minor bugfixes Alexander Graf (1): KVM: PPC: Pass enum to kvmppc_get_last_inst Bharat Bhushan (8): KVM: PPC: BOOKE: allow debug interrupt at "debug level" KVM: PPC: BOOKE : Emulate rfdi instruction KVM: PPC: BOOKE: Allow guest to change MSR_DE KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG KVM: PPC: BOOKE: Guest and hardware visible debug registers are same KVM: PPC: BOOKE: Add one reg interface for DBSR KVM: PPC: BOOKE: Add one_reg documentation of SPRG9 and DBSR KVM: PPC: BOOKE: Emulate debug registers and exception Madhavan Srinivasan (2): powerpc/kvm: support to handle sw breakpoint powerpc/kvm: common sw breakpoint instr across ppc Michael Neuling (1): KVM: PPC: Book3S HV: Add register name when loading toc Mihai Caraman (10): powerpc/booke: Restrict SPE exception handlers to e200/e500 cores powerpc/booke: Revert SPE/AltiVec common defines for interrupt numbers KVM: PPC: Book3E: Increase FPU laziness KVM: PPC: Book3e: Add AltiVec support KVM: PPC: Make ONE_REG powerpc generic KVM: PPC: Move ONE_REG AltiVec support to powerpc KVM: PPC: Remove the tasklet used by the hrtimer KVM: PPC: Remove shared defines for SPE and AltiVec interrupts KVM: PPC: e500mc: Add support for single threaded vcpus on e6500 core KVM: PPC: Book3E: Enable e6500 core Paul Mackerras (2): KVM: PPC: Book3S HV: Increase timeout for grabbing secondary threads KVM: PPC: Book3S HV: Only accept host PVR value for guest PVR commit ef86c3f4bec932bee4ad05728f7306359ae2f87a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 15:12:43 2014 +0200 ACPI / processor: use container_of instead of casting first structure member Use container_of instead of casting first structure member to resolve acpi_madt_local_apic/sapic/x2apic from acpi_subtable_header. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> [ rjw: Subject and changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a11d342fb89aedec5003d116e7427d43cbba714d Author: Stepan Bujnak <stepanbujnak@xxxxxxxxxxx> Date: Wed Sep 10 17:44:43 2014 +0200 ACPI / video: force vendor backlight on Lenovo Ideapad Z570 Lenovo Ideapad 570 is a pre-win8 laptop where not using vendor backlight causes the backlight controls not to work. Signed-off-by: Stepan Bujnak <stepanbujnak@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1f47a77c4e4951f141bf20fe7f7c5d9438ea1663 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Thu Sep 11 15:19:33 2014 +0300 ACPI / LPSS: not using UART RTS override with Auto Flow Control Adding a check for UART Auto Flow Control feature and only enabling the RTS override when it's not supported. RTS override is not needed when Auto Flow Control is used and they shouldn't be used together. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4daaab4f0c2b55adccab08da06e17acc270cb84a Merge: 3c4d1da b94d525 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 24 16:48:32 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit 783a28ec0bf2c2d560d8004c92919d112a777e55 Merge: 2f419d7 31ff2a5 615f775 94e57fe Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Sep 24 14:36:11 2014 -0600 Merge branches 'pci/hotplug', 'pci/initdata' and 'pci/misc' into next * pci/hotplug: PCI: pciehp: Stop disabling notifications during init PCI: pciehp: Add more Slot Control debug output PCI: pciehp: Fix wait time in timeout message * pci/initdata: x86/PCI: Mark PCI BIOS initialization code as such x86/PCI: Constify pci_mmcfg_probes[] array x86/PCI: Mark constants of pci_mmcfg_nvidia_mcp55() as __initconst x86/PCI: Move __init annotation to the correct place x86/PCI: Mark DMI tables as initialization data * pci/misc: PCI: Move PCI_VENDOR_ID_VMWARE to pci_ids.h commit c7da579763f29cf45a861ad4c339aba590d8b80d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 24 22:41:46 2014 +0300 Bluetooth: Add retransmission effort into SCO parameter table It is expected that new parameter combinations will have the retransmission effort value different between some entries (mainly because of the new S4 configuration added by HFP 1.7), so it makes sense to move it into the table instead of having it hard coded based on the selected SCO_AIRMODE_*. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b2fc3f3c6d397d434174147eca3db1ec778195ce Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:42:38 2014 -0700 drivers/soc: ti: fix build break with modules Fixes below build break by not switching to stubs when the driver is a module: drivers/soc/ti/knav_dma.c:418:7: error: redefinition of 'knav_dma_open_channel' void *knav_dma_open_channel(struct device *dev, const char *name, ^ In file included from drivers/soc/ti/knav_dma.c:26:0: include/linux/soc/ti/knav_dma.h:165:21: note: previous definition of 'knav_dma_open_channel' was here static inline void *knav_dma_open_channel(struct device *dev, const char *name, ^ Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9cd701648d1ec6b2ad4d0a8cbbd7241b5ad9e830 Merge: 7e9b282 2b2244a Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:29:31 2014 -0700 Merge tag 'imx-dt-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt Merge "ARM: imx: device tree changes for 3.18" from Shawn Guo: The i.MX device tree changes for 3.18: - Device tree support for i.MX ADS and Armadeus APF9328 boards - Enable thermal sensor support for i.MX6SL - Add LCD support for i.MX6SL EVK board - Fix display duplicate name for a bunch of board dts files - Configure imx6qdl-sabresd board pins locally to remove the dependency on bootloader - A set of imx28-tx28 board dts updates from Lothar - Add pci config space as platform resource - Enable devices RTC, I2C and HDMI for nitrogen6x board - Split HummingBoard DT to support s/dl and d/q - mSATA and IR input support for HummingBoard - Add SSI baud clock for i.MX6 device trees - Add USB support for vf610-colibri and vf610-twr boards - A set of cleanup and updates on Gateworks boards * tag 'imx-dt-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (86 commits) ARM: dts: imx6: make gpt per clock can be from OSC ARM: dts: imx: ventana: add canbus support for GW52xx ARM: dts: imx: ventana: cleanup pinctrl groups ARM: dts: imx: ventana: configure padconf for all pins ARM: dts: imx: ventana: use gpio constants ARM: dts: imx: ventana: remove unused aliases ARM: dts: imx: ventana: remove unsupported dt nodes ARM: dts: imx28-tx28: add alias for CAN XCVR regulator ARM: dts: imx28-tx28: add spi-gpio as alternative for spi-mxs ARM: dts: imx28-tx28: use GPIO flags ARM: dts: imx28-tx28: remove spidev labels and add third instance of spidev ARM: dts: imx6sl: add baud clock and clock-names for ssi ARM: dts: imx6qdl: add baud clock and clock-names for ssi ARM: dts: imx6qdl-sabresd: Configure the pins locally ARM: dts: imx28-m28evk: Fix display duplicate name warning ARM: dts: imx28-tx28: Fix display duplicate name warning ARM: dts: imx28-m28cu: Fix display duplicate name warning ARM: dts: imx28-cfa100: Fix display duplicate name warning ARM: dts: imx28-apf28dev: Fix display duplicate name warning ARM: dts: imx28-apx4devkit: Fix display duplicate name warning ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 14bbd322f4264afc26c93907add4870f686d28b9 Merge: 739d8d8 64546e9 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:27:17 2014 -0700 Merge tag 'imx-soc-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc Merge "ARM: imx: SoC updates for 3.18" from Shawn Guo: The i.MX SoC updates for 3.18: - Add initial devicetree support for i.MX1 - Support GPT per clock source from OSC for i.MX6 - A couple of parent selection corrections for i.MX6SL clock driver - Support more chip revision for i.MX6 - Convert pr_warning to pr_warn - Add exclusive gate clock support - Add BYPASS support for i.MX6 PLL clocks - Update i.MX6 clock tree for audio use case - A couple of VF610 clock driver updates * tag 'imx-soc-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (30 commits) ARM: imx_v6_v7_defconfig updates ARM: imx_v4_v5_defconfig: Select CONFIG_IMX_WEIM arm: mach-imx: Convert pr_warning to pr_warn ARM: imx: source gpt per clk from OSC for system timer ARM: imx: add gpt_3m clk for i.mx6qdl ARM: imx: fix register offset of pll7_usb_host gate clock ARM: clk-imx6sl: refine clock tree for SSI ARM: imx: remove ENABLE and BYPASS bits from clk-pllv3 driver ARM: imx6sx: add BYPASS support for PLL clocks ARM: imx6sl: add BYPASS support for PLL clocks ARM: imx6q: add BYPASS support for PLL clocks ARM: imx: add an exclusive gate clock type ARM: clk-imx6q: refine clock tree for SSI ARM: clk-imx6q: refine clock tree for ASRC ARM: clk-imx6sl: correct the pxp and epdc axi clock selections ARM: clk-imx6q: refine clock tree for ESAI ARM: clk-imx6sl: Select appropriate parents for LCDIF clocks ARM: clk-imx6sl: Remove csi_lcdif_sels[] ARM: imx: clk-vf610: Add USBPHY clocks ARM: imx: add cpufreq support for i.mx6sx ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 28fd837204236cf5b5533525e5b53c5176fa97a3 Merge: c82eb46 64d14a3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:20:48 2014 -0700 Merge tag 'imx-cleanup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/cleanup Merge "ARM: imx: cleanup for 3.18" from Shawn Guo: The i.MX cleanup for 3.18: - Reomve a few i.MX27 and i.MX1 board files - Remove imx_scu_standby_enable() since core code handles scu standby now - Remove unnecessary iomux declaration - Remove useless sound card property from vf610-twr dts * tag 'imx-cleanup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: Remove mach-mxt_td60 board file ARM: i.MX: Remove i.MX1 ADS board support ARM: dts: vf610-twr: remove useless property for sound card. ARM: imx: remove imx_scu_standby_enable() ARM: i.MX: Remove Phytec i.MX27 PCM038/PCM970 board files ARM: i.MX: Remove mach-cpuimx27sd board file ARM: imx: iomux: Do not export symbol without public declaration Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 739d8d8bc33488ef11b34875e84860db7e09c8b4 Merge: d668208 1370078 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:17:26 2014 -0700 Merge tag 'renesas-soc4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Fourth Round of Renesas ARM Based SoC Soc Updates for v3.18" from Simon Horman: Fourth Round of Renesas ARM Based SoC Soc Updates for v3.18 * r8a7794: Remove unnecessary #ifdef CONFIG_USE_OF * tag 'renesas-soc4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7794: Remove unnecessary #ifdef CONFIG_USE_OF Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ecc5d5d286188c71b12091a656b842e6bea3564c Merge: 2d9251e 7d984c9 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:16:40 2014 -0700 Merge tag 'renesas-defconfig4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Merge "Fourth Round of Renesas ARM Based SoC Defconfig Updates for v3.18" from Simon Horman: Fourth Round of Renesas ARM Based SoC Defconfig Updates for v3.18 * Enable r8a7794 SoC in shmobile_defconfig * tag 'renesas-defconfig4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Enable r8a7794 SoC in shmobile_defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 2d9251e3501356ceb44444a8f9a393b57163dc6a Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: multi_v7_defconfig: Enable Mediatek platform Enable Mediatek platform support for multi_v7_defconfig. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d66820853251e8a9b53125a95a773e482cd79136 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: mediatek: Add earlyprintk support for mt6589 Enable low-level debug for Mediatek mt6589 SoC on UART0. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7e9b2828f25ec156623da0c2156604066de5514d Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: dts: mt6589: Change compatible string for GIC This patch changes the compatible string of the GIC to the new "arm,cortex-a7-gic" which does reflect the actual hardware. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6e9cb2633698ddadd2493b3793dbc9723f570538 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: dts: mediatek: Add compatible property for aquaris5 Add the missing 'compatible' property to device tree root node of - mt6589-aquaris5.dts and document the new values. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d82df11466df3e0934c7e7aa2f5e08c284e1fd9d Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: dts: mt6589-aquaris5: Add boot argument earlyprintk Add boot argument for earlyprintk to the aquaris5 device tree file. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 510f1d72e526e776243397142cbcd459dd2a2efa Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: dts: mt6589: Fix typo in GIC unit address This changes the unit address of the gic node to it's first register area. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 995425883e4087a4bfd61d12e442089d1201fc5c Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: dts: Build dtb for Mediatek board This allows the "make dtbs" to build the aquaris5 dtb for the Mediatek SoC. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0a2b4a843d327c2ed4d26a3e88bece9d3e77081b Merge: 3ef7de5 9643569 Author: Bryan Wu <cooloney@xxxxxxxxx> Date: Wed Sep 24 11:02:57 2014 -0700 Merge tag 'mfd-hwmon-leds-watchdog-v3.18' into devel Immutable branch between MFD, HWMON, LEDs and Watchdog for v3.18 commit 94e57fea62020dbf6e5d0093eabcd28366e86044 Author: Francesco Ruggeri <fruggeri@xxxxxxxxxx> Date: Wed Sep 24 10:12:41 2014 -0700 PCI: Move PCI_VENDOR_ID_VMWARE to pci_ids.h Move PCI_VENDOR_ID_VMWARE from device-specific files to pci_ids.h. It is useful to always have access to it, especially when accessing subsystem_vendor_id on emulated devices. [bhelgaas: keep pci_ids.h sorted and use lower-case hex] Signed-off-by: Francesco Ruggeri <fruggeri@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit ea66fa627d24f67afc086baa9e11ae20dc5668a4 Merge: e415765 e4d223b Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 10:41:01 2014 -0700 Merge tag 'mvebu-defconfig-3.18' of git://git.infradead.org/linux-mvebu into next/defconfig Merge "ARM: mvebu: defconfig changes for v3.18" from Jason Cooper: mvebu defconfig changes for v3.18 - mvebu_v7 - add LED class - add gpio-fan - add 'useful' options * tag 'mvebu-defconfig-3.18' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add gpio-fan to mvebu_v7_defconfig ARM: mvebu: add LED class support built-in in mvebu_v7_defconfig ARM: mvebu: update v7 defconfig with useful options Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3e32adc8193086b5cc493ec3652f82affdebb845 Merge: fa0510f 5b1e9e8 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 10:38:57 2014 -0700 Merge tag 'mvebu-dt-3.18' of git://git.infradead.org/linux-mvebu into next/dt Merge "ARM: mvebu: DT changes for v3.18" from Jason Cooper: mvebu DT changes for v3.18 - Armada 375 - Add RTC support - Armada 370 - Add proper pinmuxing - Add SSCG - Add gpio-fan - Add LED support - change Intersil vendor prefix to isil - use improved Armada SPI compatible string * tag 'mvebu-dt-3.18' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add user LED support of Armada 370 RD ARM: mvebu: add gpio fan support to Armada 370 RD ARM: mvebu: Change vendor prefix for Intersil Corporation to isil ARM: mvebu: use improved armada spi device tree compatible name ARM: mvebu: add SSCG to Armada 370 Device Tree ARM: mvebu: Add proper pin muxing on Armada 370 RD board ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 104 ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 102 ARM: mvebu: Add proper pin muxing on the Armada 370 DB board ARM: mvebu: Add proper pin muxing on Globalscale Mirabox board ARM: mvebu: Add network pin mux configuration for the Armada 370 SoC ARM: mvebu: Add RTC support for Armada 375 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c82eb464879dd0ecbe0c4cb1b80ac4e82b634872 Merge: 17fa6e4 9d06d34 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 10:37:27 2014 -0700 Merge tag 'mvebu-soc-3.18' of git://git.infradead.org/linux-mvebu into next/cleanup Merge "ARM: mvebu: SoC changes for v3.18" from Jason Cooper: mvebu SoC changes for v3.18 - orion5x - remove pr_warning(), use pr_warn() * tag 'mvebu-soc-3.18' of git://git.infradead.org/linux-mvebu: ARM: orion5x: Convert pr_warning to pr_warn Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 17497acbdce9506fd6a75115dee4ab80c3cc5ee5 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:50 2014 -0400 blk-mq, percpu_ref: start q->mq_usage_counter in atomic mode blk-mq uses percpu_ref for its usage counter which tracks the number of in-flight commands and used to synchronously drain the queue on freeze. percpu_ref shutdown takes measureable wallclock time as it involves a sched RCU grace period. This means that draining a blk-mq takes measureable wallclock time. One would think that this shouldn't matter as queue shutdown should be a rare event which takes place asynchronously w.r.t. userland. Unfortunately, SCSI probing involves synchronously setting up and then tearing down a lot of request_queues back-to-back for non-existent LUNs. This means that SCSI probing may take above ten seconds when scsi-mq is used. [ 0.949892] scsi host0: Virtio SCSI HBA [ 1.007864] scsi 0:0:0:0: Direct-Access QEMU QEMU HARDDISK 1.1. PQ: 0 ANSI: 5 [ 1.021299] scsi 0:0:1:0: Direct-Access QEMU QEMU HARDDISK 1.1. PQ: 0 ANSI: 5 [ 1.520356] tsc: Refined TSC clocksource calibration: 2491.910 MHz <stall> [ 16.186549] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 16.190478] sd 0:0:1:0: Attached scsi generic sg1 type 0 [ 16.194099] osd: LOADED open-osd 0.2.1 [ 16.203202] sd 0:0:0:0: [sda] 31457280 512-byte logical blocks: (16.1 GB/15.0 GiB) [ 16.208478] sd 0:0:0:0: [sda] Write Protect is off [ 16.211439] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 16.218771] sd 0:0:1:0: [sdb] 31457280 512-byte logical blocks: (16.1 GB/15.0 GiB) [ 16.223264] sd 0:0:1:0: [sdb] Write Protect is off [ 16.225682] sd 0:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA This is also the reason why request_queues start in bypass mode which is ended on blk_register_queue() as shutting down a fully functional queue also involves a RCU grace period and the queues for non-existent SCSI devices never reach registration. blk-mq basically needs to do the same thing - start the mq in a degraded mode which is faster to shut down and then make it fully functional only after the queue reaches registration. percpu_ref recently grew facilities to force atomic operation until explicitly switched to percpu mode, which can be used for this purpose. This patch makes blk-mq initialize q->mq_usage_counter in atomic mode and switch it to percpu mode only once blk_register_queue() is reached. Note that this issue was previously worked around by 0a30288da1ae ("blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe") for v3.17. The temp fix was reverted in preparation of adding persistent atomic mode to percpu_ref by 9eca80461a45 ("Revert "blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe""). This patch and the prerequisite percpu_ref changes will be merged during v3.18 devel cycle. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/g/20140919113815.GA10791@xxxxxx Fixes: add703fda981 ("blk-mq: use percpu_ref for mq usage count") Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 3730964321a79e563b763f604b79123c7e02c385 Merge: 791cc88 e0c5240 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 10:35:48 2014 -0700 Merge tag 'drivers-soc-ti-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/drivers Merge "soc: Keystone SOC Navigator drivers for 3.18" from Santosh Shilimkar: Keystone SOC Navigator drivers for 3.18 The Keystone Multi-core Navigator contains QMSS and packet DMA subsystems which interwork together to form the Navigator cloud used by various subsystems like NetCP, SRIO, SideBand Crypto engines etc. * tag 'drivers-soc-ti-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: MAINTAINERS: Add Keystone Multicore Navigator drivers entry soc: ti: add Keystone Navigator DMA support Documentation: dt: soc: add Keystone Navigator DMA bindings soc: ti: add Keystone Navigator QMSS driver Documentation: dt: soc: add Keystone Navigator QMSS bindings Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1cae13e75b7a7848c03138636d4eb8d8a5054dd5 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:50 2014 -0400 percpu_ref: make INIT_ATOMIC and switch_to_atomic() sticky Currently, a percpu_ref which is initialized with PERPCU_REF_INIT_ATOMIC or switched to atomic mode via switch_to_atomic() automatically reverts to percpu mode on the first percpu_ref_reinit(). This makes the atomic mode difficult to use for cases where a percpu_ref is used as a persistent on/off switch which may be cycled multiple times. This patch makes such atomic state sticky so that it survives through kill/reinit cycles. After this patch, atomic state is cleared only by an explicit percpu_ref_switch_to_percpu() call. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 2aad2a86f6685c10360ec8a5a55eb9ab7059cb72 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:50 2014 -0400 percpu_ref: add PERCPU_REF_INIT_* flags With the recent addition of percpu_ref_reinit(), percpu_ref now can be used as a persistent switch which can be turned on and off repeatedly where turning off maps to killing the ref and waiting for it to drain; however, there currently isn't a way to initialize a percpu_ref in its off (killed and drained) state, which can be inconvenient for certain persistent switch use cases. Similarly, percpu_ref_switch_to_atomic/percpu() allow dynamic selection of operation mode; however, currently a newly initialized percpu_ref is always in percpu mode making it impossible to avoid the latency overhead of switching to atomic mode. This patch adds @flags to percpu_ref_init() and implements the following flags. * PERCPU_REF_INIT_ATOMIC : start ref in atomic mode * PERCPU_REF_INIT_DEAD : start ref killed and drained These flags should be able to serve the above two use cases. v2: target_core_tpg.c conversion was missing. Fixed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit f47ad45784611297b699f3dffb6c7222b76afe64 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:49 2014 -0400 percpu_ref: decouple switching to percpu mode and reinit percpu_ref has treated the dropping of the base reference and switching to atomic mode as an integral operation; however, there's nothing inherent tying the two together. The use cases for percpu_ref have been expanding continuously. While the current init/kill/reinit/exit model can cover a lot, the coupling of kill/reinit with atomic/percpu mode switching is turning out to be too restrictive for use cases where many percpu_refs are created and destroyed back-to-back with only some of them reaching extended operation. The coupling also makes implementing always-atomic debug mode difficult. This patch separates out percpu mode switching into percpu_ref_switch_to_percpu() and reimplements percpu_ref_reinit() on top of it. * DEAD still requires ATOMIC. A dead ref can't be switched to percpu mode w/o going through reinit. v2: __percpu_ref_switch_to_percpu() was missing static. Fixed. Reported by Fengguang aka kbuild test robot. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: kbuild test robot <fengguang.wu@xxxxxxxxx> commit 490c79a65708873228cf114cf00e32c204e4e907 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:49 2014 -0400 percpu_ref: decouple switching to atomic mode and killing percpu_ref has treated the dropping of the base reference and switching to atomic mode as an integral operation; however, there's nothing inherent tying the two together. The use cases for percpu_ref have been expanding continuously. While the current init/kill/reinit/exit model can cover a lot, the coupling of kill/reinit with atomic/percpu mode switching is turning out to be too restrictive for use cases where many percpu_refs are created and destroyed back-to-back with only some of them reaching extended operation. The coupling also makes implementing always-atomic debug mode difficult. This patch separates out atomic mode switching into percpu_ref_switch_to_atomic() and reimplements percpu_ref_kill_and_confirm() on top of it. * The handling of __PERCPU_REF_ATOMIC and __PERCPU_REF_DEAD is now differentiated. Among get/put operations, percpu_ref_tryget_live() is the only one which cares about DEAD. * percpu_ref_switch_to_atomic() can be called multiple times on the same ref. This means that multiple @confirm_switch may get queued up which we can't do reliably without extra memory area. This is handled by making the later invocation synchronously wait for the completion of the previous one. This isn't particularly desirable but such synchronous waits shouldn't happen in most cases. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 27344a9017cdaff82a167827da3001a0918afdc3 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:49 2014 -0400 percpu_ref: add PCPU_REF_DEAD percpu_ref will be restructured so that percpu/atomic mode switching and reference killing are dedoupled. In preparation, add PCPU_REF_DEAD and PCPU_REF_ATOMIC_DEAD which is OR of ATOMIC and DEAD. For now, ATOMIC and DEAD are changed together and all PCPU_REF_ATOMIC uses are converted to PCPU_REF_ATOMIC_DEAD without causing any behavior changes. percpu_ref_init() now specifies an explicit alignment when allocating the percpu counters so that the pointer has enough unused low bits to accomodate the flags. Note that one flag was fine as min alignment for percpu memory is 2 bytes but two flags are already too many for the natural alignment of unsigned longs on archs like cris and m68k. v2: The original patch had BUILD_BUG_ON() which triggers if unsigned long's alignment isn't enough to accomodate the flags, which triggered on cris and m64k. percpu_ref_init() updated to specify the required alignment explicitly. Reported by Fengguang. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: kbuild test robot <fengguang.wu@xxxxxxxxx> commit 9e804d1f58da1eca079f796347c1cf1d1df564e2 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:48 2014 -0400 percpu_ref: rename things to prepare for decoupling percpu/atomic mode switch percpu_ref will be restructured so that percpu/atomic mode switching and reference killing are dedoupled. In preparation, do the following renames. * percpu_ref->confirm_kill -> percpu_ref->confirm_switch * __PERCPU_REF_DEAD -> __PERCPU_REF_ATOMIC * __percpu_ref_alive() -> __ref_is_percpu() This patch is pure rename and doesn't introduce any functional changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> commit eecc16ba9a49b05dd847a317af166a6728eb56ca Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:48 2014 -0400 percpu_ref: replace pcpu_ prefix with percpu_ percpu_ref uses pcpu_ prefix for internal stuff and percpu_ for externally visible ones. This is the same convention used in the percpu allocator implementation. It works fine there but percpu_ref doesn't have too much internal-only stuff and scattered usages of pcpu_ prefix are confusing than helpful. This patch replaces all pcpu_ prefixes with percpu_. This is pure rename and there's no functional change. Note that PCPU_REF_DEAD is renamed to __PERCPU_REF_DEAD to signify that the flag is internal. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> commit 6251f9976af7656b6970a8820153f356430f5de2 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:48 2014 -0400 percpu_ref: minor code and comment updates * Some comments became stale. Updated. * percpu_ref_tryget() unnecessarily initializes @ret. Removed. * A blank line removed from percpu_ref_kill_rcu(). * Explicit function name in a WARN format string replaced with __func__. * WARN_ON() in percpu_ref_reinit() converted to WARN_ON_ONCE(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> commit a2237370194484ee6aeeff04b617e4b14d178966 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:48 2014 -0400 percpu_ref: relocate percpu_ref_reinit() percpu_ref is gonna go through restructuring. Move percpu_ref_reinit() after percpu_ref_kill_and_confirm(). This will make later changes easier to follow and result in cleaner organization. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> commit 1aafa57340c6d906a285d7823e0fe68696c1ae07 Author: Wei Xu <xuwei5@xxxxxxxxxxxxx> Date: Wed Sep 24 17:07:48 2014 +0800 ARM: hisi: Fix platmcpm compilation when ARMv6 is selected When compiling with "ARCH=arm" and "allmodconfig", with commit: 9cdc99919a95e8b54c1998b65bb1bfdabd47d27b [2/7] ARM: hisi: enable MCPM implementation we will get: /tmp/cc6DjYjT.s: Assembler messages: /tmp/cc6DjYjT.s:63: Error: selected processor does not support ARM mode `ubfx r1,r0,#8,#8' /tmp/cc6DjYjT.s:761: Error: selected processor does not support ARM mode `isb ' /tmp/cc6DjYjT.s:762: Error: selected processor does not support ARM mode `dsb ' /tmp/cc6DjYjT.s:769: Error: selected processor does not support ARM mode `isb ' /tmp/cc6DjYjT.s:775: Error: selected processor does not support ARM mode `isb ' /tmp/cc6DjYjT.s:776: Error: selected processor does not support ARM mode `dsb ' /tmp/cc6DjYjT.s:795: Error: selected processor does not support ARM mode `isb ' /tmp/cc6DjYjT.s:801: Error: selected processor does not support ARM mode `isb ' /tmp/cc6DjYjT.s:802: Error: selected processor does not support ARM mode `dsb ' Fix platmcpm compilation when ARMv6 is selected. Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9eca80461a45177e456219a9cd944c27675d6512 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:07:33 2014 -0400 Revert "blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe" This reverts commit 0a30288da1aec914e158c2d7a3482a85f632750f, which was a temporary fix for SCSI blk-mq stall issue. The following patches will fix the issue properly by introducing atomic mode to percpu_ref. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> commit d06efebf0c37d438fcf07057be00dd40fcfce08d Merge: bb2e226 0a30288 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:00:21 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block into for-3.18 This is to receive 0a30288da1ae ("blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe") which implements __percpu_ref_kill_expedited() to work around SCSI blk-mq stall. The commit reverted and patches to implement proper fix will be added. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> commit 7ad8966f4f0a4606dfaba119ea4e2b3ac4c548ee Merge: c08860f 9643569 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Sep 24 09:25:06 2014 -0700 Merge tag 'mfd-hwmon-leds-watchdog-v3.18' into hwmon-next Immutable branch between MFD, HWMON, LEDs and Watchdog for v3.18 commit cfa1950e6c6b72251e80adc736af3c3d2907ab0e Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Sep 22 15:51:33 2014 +0200 ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks When introducing support for sama5d3, the write to PMC_PCDR register has been accidentally removed. Reported-by: Nathalie Cyrille <nathalie.cyrille@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.10.x and later commit b65e0fb3d046cc65d0a3c45d43de351fb363271b Author: Andreas Henriksson <andreas.henriksson@xxxxxxxxx> Date: Tue Sep 23 17:12:52 2014 +0200 ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings As discovered on a custom board similar to at91sam9263ek and basing its devicetree on that one apparently the pin muxing doesn't get set up properly. This was discovered since the custom boards u-boot does funky stuff with the pin muxing and leaved it set to SPI which made the MMC driver not work under Linux. The fix is simply to define the given configuration as the default. This probably worked by pure luck before, but it's better to make the muxing explicitly set. Signed-off-by: Andreas Henriksson <andreas.henriksson@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.11+ commit 964356938fcd3c0001a786f55b9f0a0fbe47656a Author: Andreas Werner <andreas.werner@xxxxxx> Date: Wed Aug 27 19:53:06 2014 +0200 hwmon: (menf21bmc) Introduce MEN14F021P00 BMC HWMON driver Added driver to support the 14F021P00 BMC Hardware Monitoring. The BMC is a Board Management Controller including monitoring of the board voltages. Signed-off-by: Andreas Werner <andreas.werner@xxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 38433639af915deeb0b0e28462dd740ce57b72fd Author: Andreas Werner <andreas.werner@xxxxxx> Date: Wed Aug 27 19:52:36 2014 +0200 leds: leds-menf21bmc: Introduce MEN 14F021P00 BMC LED driver Added driver to support the 14F021P00 BMC LEDs. The BMC is a Board Management Controller including four LEDs which can be switched on and off. Signed-off-by: Andreas Werner <andreas.werner@xxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5033263992eece84e19946d2cab940c86ec862ba Author: Andreas Werner <andreas.werner@xxxxxx> Date: Wed Aug 27 19:52:06 2014 +0200 watchdog: menf21bmc_wdt: Introduce MEN 14F021P00 BMC Watchdog driver Added driver to support the 14F021P00 BMC Watchdog. The BMC is a Board Management Controller including watchdog functionality. Signed-off-by: Andreas Werner <andreas.werner@xxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d6cc1f5824cbca392d099f3bb0c441efd9e54de9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:54:00 2014 +0200 Documentation: charger: max14577: Document exported sysfs entry Document the 'fast charge timer' setting exported by max14577 driver through sysfs entry. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8d70d68d7a1b3082ca5a3808be18103a83ae348d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:59 2014 +0200 devicetree: mfd: max14577: Add device tree bindings document Add document describing device tree bindings for MAX14577 MFD drivers: MFD core, extcon, regulator and charger. Both MAX14577 and MAX77836 chipsets are documented. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2c33e9296202cd11bf2e2f801b69ffba0953748a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:58 2014 +0200 power: max17040: Add ID for MAX77836 Fuel Gauge block MAX77836 has the same Fuel Gauge as MAX17040/17048. The max17040 driver can be safely re-used. The patch adds MAX77836 device to the array of i2c_device_id. Additionally it removes the id associated with MAX17040 device as the value is not used. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e30110e9c96f48aea01abc3e6dfadb369cbafec3 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:57 2014 +0200 charger: max14577: Configure battery-dependent settings from DTS and sysfs Remove hard-coded values for: - Fast Charge current, - End Of Charge current, - Fast Charge timer, - Overvoltage Protection Threshold, - Battery Constant Voltage, and use DTS or sysfs to configure them. This allows using the max14577 charger driver with different batteries. Now the charger driver requires valid configuration data from DTS. In case of wrong configuration data it fails during probe. The fast charge timer is configured through sysfs entry. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b8f139f68f2099b7f8b4ef470a1e53210e3aa025 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:56 2014 +0200 regulator/mfd: max14577: Export symbols for calculating charger current This patch prepares for changing the max14577 charger driver to allow configuring battery-dependent settings from DTS. The patch moves from regulator driver to MFD core driver and exports: - function for calculating register value for charger's current; - table of limits for chargers (MAX14577, MAX77836). Previously they were used only by the max14577 regulator driver. In next patch the charger driver will use them as well. Exporting them will reduce unnecessary code duplication. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3682a8ee87f9107253e51733f42da10160ce41e3 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:55 2014 +0200 charger: max14577: Add support for MAX77836 charger Add support for MAX77836 charger to the max14577 driver. The MAX77836 charger is almost the same as 14577 model except: - No dead-battery detection; - Support for special charger (like in MAX77693); - Support for DX over-voltage protection (like in MAX77693); - Lower values of charging current (two times lower current for slow/fast charge, much lower EOC current); - Slightly different values in ChgTyp field of STATUS2 register. On MAX14577 0x6 is reserved and 0x7 dead battery. On the MAX77836 the 0x6 means special charger and 0x7 is reserved. Regardless of these differences the driver maps them to one enum max14577_muic_charger_type. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2f4096e311ef0922c42cbf7bc5df44efb3aff716 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Sun Sep 7 20:04:28 2014 +0200 PCI: Remove assignment from complicated "if" conditions The modifications effectively change the value of len_tmp in the case where the first condition is not met. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 79e50e72986c9fcb06d707ce587cfd24fefa33e3 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Sun Sep 7 20:03:32 2014 +0200 PCI: Remove assignment from "if" conditions The following Coccinelle semantic patch was used to find and correct cases of assignments in "if" conditions: @@ expression var, expr; statement S; @@ + var = expr; if( - (var = expr) + var ) S Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 656f978f9af9d8d77436e8159f51f7aa1e673309 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Sun Sep 7 20:02:47 2014 +0200 PCI: Remove unnecessary curly braces Remove curly braces in simple "if" cases. No functional change. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit e0c524049f8279d00d2fbd4748b03234a2726fdd Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Thu Jul 10 11:30:08 2014 -0400 MAINTAINERS: Add Keystone Multicore Navigator drivers entry Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 88139ed030583557751e279968e13e892ae10825 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Sun Mar 30 17:29:04 2014 -0400 soc: ti: add Keystone Navigator DMA support The Keystone Navigator DMA driver sets up the dma channels and flows for the QMSS(Queue Manager SubSystem) who triggers the actual data movements across clients using destination queues. Every client modules like NETCP(Network Coprocessor), SRIO(Serial Rapid IO) and CRYPTO Engines has its own instance of packet dma hardware. QMSS has also an internal packet DMA module which is used as an infrastructure DMA with zero copy. Initially this driver was proposed as DMA engine driver but since the hardware is not typical DMA engine and hence doesn't comply with typical DMA engine driver needs, that approach was naked. Link to that discussion - https://lkml.org/lkml/2014/3/18/340 As aligned, now we pair the Navigator DMA with its companion Navigator QMSS subsystem driver. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sandeep Nair <sandeep_n@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 8172296d8717be1951da4bb4feb2700a60e8cdde Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Sun Mar 30 17:29:04 2014 -0400 Documentation: dt: soc: add Keystone Navigator DMA bindings The Keystone Navigator DMA driver sets up the dma channels and flows for the QMSS(Queue Manager SubSystem) who triggers the actual data movements across clients using destination queues. Every client modules like NETCP(Network Coprocessor), SRIO(Serial Rapid IO) and CRYPTO Engines has its own instance of packet dma hardware. QMSS has also an internal packet DMA module which is used as an infrastructure DMA with zero copy. Initially this driver was proposed as DMA engine driver but since the hardware is not typical DMA engine and hence doesn't comply with typical DMA engine driver needs, that approach was naked. Link to that discussion - https://lkml.org/lkml/2014/3/18/340 As aligned, now we pair the Navigator DMA with its companion Navigator QMSS subsystem driver. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sandeep Nair <sandeep_n@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 41f93af900a20d1a0a358b522b5129c89677e9dc Author: Sandeep Nair <sandeep_n@xxxxxx> Date: Fri Feb 28 10:47:50 2014 -0500 soc: ti: add Keystone Navigator QMSS driver The QMSS (Queue Manager Sub System) found on Keystone SOCs is one of the main hardware sub system which forms the backbone of the Keystone Multi-core Navigator. QMSS consist of queue managers, packed-data structure processors(PDSP), linking RAM, descriptor pools and infrastructure Packet DMA. The Queue Manager is a hardware module that is responsible for accelerating management of the packet queues. Packets are queued/de-queued by writing or reading descriptor address to a particular memory mapped location. The PDSPs perform QMSS related functions like accumulation, QoS, or event management. Linking RAM registers are used to link the descriptors which are stored in descriptor RAM. Descriptor RAM is configurable as internal or external memory. The QMSS driver manages the PDSP setups, linking RAM regions, queue pool management (allocation, push, pop and notify) and descriptor pool management. The specifics on the device tree bindings for QMSS can be found in: Documentation/devicetree/bindings/soc/keystone-navigator-qmss.txt Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sandeep Nair <sandeep_n@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit a4dfb8c41043dd6c2b9defbe846c44389c4b6f02 Author: Sandeep Nair <sandeep_n@xxxxxx> Date: Fri Feb 28 10:47:50 2014 -0500 Documentation: dt: soc: add Keystone Navigator QMSS bindings The QMSS (Queue Manager Sub System) found on Keystone SOCs is one of the main hardware sub system which forms the backbone of the Keystone Multi-core Navigator. QMSS consist of queue managers, packed-data structure processors(PDSP), linking RAM, descriptor pools and infrastructure Packet DMA. The Queue Manager is a hardware module that is responsible for accelerating management of the packet queues. Packets are queued/de-queued by writing or reading descriptor address to a particular memory mapped location. The PDSPs perform QMSS related functions like accumulation, QoS, or event management. Linking RAM registers are used to link the descriptors which are stored in descriptor RAM. Descriptor RAM is configurable as internal or external memory. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sandeep Nair <sandeep_n@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 382a9c9adc1cd540f5b714b65db315fc1c0b553d Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Sun Sep 7 20:02:04 2014 +0200 PCI: Add space before open parenthesis Add space before open parenthesis as is conventional. No functional change. [bhelgaas: fix a few more in ibmphp, shpchp] Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit eeeda4cd06e828b331b15741a204ff9f5874d28d Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Wed Sep 24 13:30:12 2014 +0100 x86/relocs: Make per_cpu_load_addr static per_cpu_load_addr is only used for 64-bit relocations, but is declared in both configurations of relocs.c - with different types. This has undefined behaviour in general. GNU ld is documented to use the larger size in this case, but other tools may differ and some warn about this. References: https://bugs.debian.org/748577 Reported-by: Michael Tautschnig <mt@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: 748577@xxxxxxxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411561812.3659.23.camel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 212be3b2320bcf33eff648bc4e1f0edbf4d90acf Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 20:42:32 2014 +0200 x86/lib/Makefile: Remove the unnecessary "+= thunk_64.o" Trivial. We have "lib-y += thunk_$(BITS).o" at the start, no need to add thunk_64.o if !CONFIG_X86_32. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140921184232.GB23727@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0ad6e3c5199be12c9745da8f8b9e3c9f8066c235 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 20:41:53 2014 +0200 x86: Speed up ___preempt_schedule*() by using THUNK helpers ___preempt_schedule() does SAVE_ALL/RESTORE_ALL but this is suboptimal, we do not need to save/restore the callee-saved register. And we already have arch/x86/lib/thunk_*.S which implements the similar asm wrappers, so it makes sense to redefine ___preempt_schedule() as "THUNK ..." and remove preempt.S altogether. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140921184153.GA23727@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 24832b4de315ad00e5430a53772750dfcf18514d Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Tue Sep 23 22:28:59 2014 +0800 PCI: designware: Add get_msi_data() to pcie_host_ops Add a struct pcie_host_ops .get_msi_data() method for platforms to return their special MSI message data. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit KUMAR <mohit.kumar@xxxxxx> commit ee1b5b165c0a2f04d2107e634e51f05d0eb107de Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Wed Sep 24 00:26:24 2014 +0100 x86/intel/quark: Switch off CR4.PGE so TLB flush uses CR3 instead Quark x1000 advertises PGE via the standard CPUID method PGE bits exist in Quark X1000's PTEs. In order to flush an individual PTE it is necessary to reload CR3 irrespective of the PTE.PGE bit. See Quark Core_DevMan_001.pdf section 6.4.11 This bug was fixed in Galileo kernels, unfixed vanilla kernels are expected to crash and burn on this platform. Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411514784-14885-1-git-send-email-pure.logic@xxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 450e344e421b9f555261a2d97952d9e71d4cb082 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Tue Sep 23 22:28:58 2014 +0800 PCI: designware: Rename get_msi_data() to get_msi_addr() The struct pcie_host_ops .get_msi_data() method returns the MSI message address. To accurately express its purpose, rename it to .get_msi_addr(). Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit KUMAR <mohit.kumar@xxxxxx> commit 0c61ea77cceafd1134225099961c2df0866b500f Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Tue Sep 23 22:28:57 2014 +0800 PCI: designware: Fix IO resource end address calculation End address should be equal to start_addr + size - 1. Fix PCI IO resource end address calculation. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit KUMAR <mohit.kumar@xxxxxx> commit 2ed53c0d6cc99fc712f7c037e41d9ec4eb8d6b08 Author: Lan Tianyu <tianyu.lan@xxxxxxxxx> Date: Tue Aug 26 15:43:45 2014 +0800 x86/smpboot: Speed up suspend/resume by avoiding 100ms sleep for CPU offline during S3 With certain kernel configurations, CPU offline consumes more than 100ms during S3. It's a timing related issue: native_cpu_die() would occasionally fall into a 100ms sleep when the CPU idle loop thread marked the CPU state to DEAD too slowly. What native_cpu_die() does is that it polls the CPU state and waits for 100ms if CPU state hasn't been marked to DEAD. The 100ms sleep doesn't make sense and is purely historic. To avoid such long sleeping, this patch adds a 'struct completion' to each CPU, waits for the completion in native_cpu_die() and wakes up the completion when the CPU state is marked to DEAD. Tested on an Intel Xeon server with 48 cores, Ivybridge and on Haswell laptops. The CPU offlining cost on these machines is reduced from more than 100ms to less than 5ms. The system suspend time is reduced by 2.3s on the servers. Borislav and Prarit also helped to test the patch on an AMD machine and a few systems of various sizes and configurations (multi-socket, single-socket, no hyper threading, etc.). No issues were seen. Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: srostedt@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: imammedo@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409039025-32310-1-git-send-email-tianyu.lan@xxxxxxxxx [ Improved a few minor details in the code, cleaned up the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ec98e9ab6f2475ff57c12d069e78b90548c0f60e Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Tue Sep 23 22:28:56 2014 +0800 PCI: designware: Fix configuration base address when using 'reg' The code has calculated cfg0_base and cfg1_base when parsing 'reg' or 'ranges' property of PCI DTS node, so remove duplicate calculation. When using 'reg', resource cfg is not used, so this code computed an incorrect configuration base. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit KUMAR <mohit.kumar@xxxxxx> commit 521e8bac67a71a6544274f39d5c61473e0e54ac0 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Wed Sep 17 11:06:16 2014 +0200 perf/x86/intel/uncore: Update support for client uncore IMC PMU This patch restructures the memory controller (IMC) uncore PMU support for client SNB/IVB/HSW processors. The main change is that it can now cope with more than one PCI device ID per processor model. There are many flavors of memory controllers for each processor. They have different PCI device ID, yet they behave the same w.r.t. the memory controller PMU that we are interested in. The patch now supports two distinct memory controllers for IVB processors: one for mobile, one for desktop. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140917090616.GA11281@quad Cc: ak@xxxxxxxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b10fc1c3e30c44033d1cb1d2900cc2ab06dff342 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Sep 4 16:08:29 2014 -0700 perf/x86/intel/uncore: Fix PCU filter setup for Sandy/Ivy/Haswell EP The PCU frequency band filters use 8 bit each in a register. When setting up the value the shift value was not correctly scaled, which resulted in all filters except for band 0 to be zero. Fix the scaling. This allows to correctly monitor multiple uncore frequency bands. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409872109-31645-5-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7e96ae1a8915e7064091ab75857f8c63334ea28d Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Sep 4 16:08:28 2014 -0700 perf/x86/intel/uncore: Add missing cbox filter flags on IvyBridge-EP uncore driver The IvyBridge-EP uncore driver was missing three filter flags: NC, ISOC, C6 which are useful in some cases. Support them in the same way as the Haswell EP driver, by allowing to set them and exposing them in the sysfs formats. Also fix a typo in a define. Relies on the Haswell EP driver to be applied earlier. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409872109-31645-4-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 513d793e5fe138d779ad6c532cd20c289a6897fc Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Thu Sep 4 16:08:27 2014 -0700 perf/x86/intel/uncore: Register the PMU only if the uncore pci device exists Current code registers PMUs for all possible uncore pci devices. This is not good because, on some machines, one or more uncore pci devices can be missing. The missing pci device make corresponding PMU unusable. Register the PMU only if the uncore device exists. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409872109-31645-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e735b9db12d76d45f74aee78bd63bbd2f8f480e1 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Thu Sep 4 16:08:26 2014 -0700 perf/x86/intel/uncore: Add Haswell-EP uncore support The uncore subsystem in Haswell-EP is similar to Sandy/Ivy Bridge-EP. There are some differences in config register encoding and pci device IDs. The Haswell-EP uncore also supports a few new events. Add the Haswell-EP driver to the snbep split driver. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> [ Add missing break. Add imc events. Add cbox nc/isoc/c6. ] Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409872109-31645-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fdda3c4aacec30bdf3c10904d0c32409145dc1b6 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:44:15 2014 -0700 perf/x86/intel: Use Broadwell cache event list for Haswell Use the newly added Broadwell cache event list for Haswell too. All Haswell and Broadwell events and offcore masks used in these lists are identical. However Haswell is very different from the Sandy Bridge list that was used previously. That fixes a wide range of mis-counting cache events. The node events are now only for retired memory events, so prefetching and speculative memory accesses are not included. They are PEBS capable now, which makes it much easier to sample for them, plus it's possible to create address maps with -d. The prefetch events are gone now. They way the hardware counts them is very misleading (some prefetches included, others not), so it seemed best to leave them out. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409683455-29168-5-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c46e665f037743bbce7887e7c55750713eb7fb09 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:44:14 2014 -0700 perf/x86: Add INST_RETIRED.ALL workarounds On Broadwell INST_RETIRED.ALL cannot be used with any period that doesn't have the lowest 6 bits cleared. And the period should not be smaller than 128. Add a new callback to enforce this, and set it for Broadwell. This is erratum BDM57 and BDM11. How does this handle the case when an app requests a specific period with some of the bottom bits set The apps thinks it is sampling at X occurences per sample, when it is in fact at X - 63 (worst case). Short answer: Any useful instruction sampling period needs to be 4-6 orders of magnitude larger than 128, as an PMI every 128 instructions would instantly overwhelm the system and be throttled. So the +-64 error from this is really small compared to the period, much smaller than normal system jitter. Long answer: <write up by Peter:> IFF we guarantee perf_event_attr::sample_period >= 128. Suppose we start out with sample_period=192; then we'll set period_left to 192, we'll end up with left = 128 (we truncate the lower bits). We get an interrupt, find that period_left = 64 (>0 so we return 0 and don't get an overflow handler), up that to 128. Then we trigger again, at n=256. Then we find period_left = -64 (<=0 so we return 1 and do get an overflow). We increment with sample_period so we get left = 128. We fire again, at n=384, period_left = 0 (<=0 so we return 1 and get an overflow). And on and on. So while the individual interrupts are 'wrong' we get then with interval=256,128 in exactly the right ratio to average out at 192. And this works for everything >=128. So the num_samples*fixed_period thing is still entirely correct +- 127, which is good enough I'd say, as you already have that error anyhow. So no need to 'fix' the tools, al we need to do is refuse to create INST_RETIRED:ALL events with sample_period < 128. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Cc: Mark Davies <junk@xxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1409683455-29168-4-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 86a349a28b249bf4c3b396af3cc550760dedb456 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:44:13 2014 -0700 perf/x86/intel: Add Broadwell core support Add Broadwell support for Broadwell Client to perf. This is very similar to Haswell. It uses a new cache event table, because there were various changes there. The constraint list has one new event that needs to be handled over Haswell. The PEBS event list is the same, so we reuse Haswell's. [fengguang.wu: make intel_bdw_event_constraints[] static] Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409683455-29168-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d86c8eaf95700d932bdfa8a4f7b4e6d28949fd84 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:44:12 2014 -0700 perf/x86/intel: Document all Haswell models Add names for each Haswell model as requested by Peter. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409683455-29168-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b76146851eeba6ad9fef982e8cf7cd8ebd4d30e1 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:44:11 2014 -0700 perf/x86/intel: Remove incorrect model number from Haswell perf 71 is a Broadwell, not a Haswell. The model number was added by mistake earlier. Remove it for now, until it can be re-added later with real Broadwell support. In practice it does not cause a lot of issues because the Broadwell PMU is very similar to Haswell, but some details were wrong, and it's better to handle it correctly. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1409683455-29168-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 802c8a61d4c9c794db863dcabb0006ab001a651b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Sep 12 13:18:28 2014 +0200 Revert "perf: Do not allow optimized switch for non-cloned events" This reverts commit 1f9a7268c67f0290837aada443d28fd953ddca90. With the fix of the initial state for the cloned event we now correctly handle the error described in: 1f9a7268c67f perf: Do not allow optimized switch for non-cloned events so we can revert it. I made an automated test for this, but its not suitable for automated perf tests framework. It needs to be customized for each machine (the more cpu the higher numbers for GROUPS/WORKERS/BYTES) and it could take longer time to hit the issue. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140910143535.GD2409@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1929def9e609d1a8cdb1626d85eda3da66921a7d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Sep 12 13:18:27 2014 +0200 perf: Fix child event initial state setup Currently we initialize the child event based on the original parent state. This is wrong, because the original parent event (and its state) is not related to current fork and also could be already gone. We need to initialize the child state based on the immediate parent event state. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410520708-19275-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dc633982ff3f4fd74cdc11b5a6ae53d39a0b2451 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Sep 12 13:18:26 2014 +0200 perf: Do not POLLHUP event if it has children Currently we return POLLHUP in event polling if the monitored process is done, but we didn't consider possible children, that might be still running and producing data. Before returning POLLHUP making sure that: 1) the monitored task has exited and that 2) we don't have any children to monitor Also adding parent wakeup when the child event is gone. Suggested-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410520708-19275-1-git-send-email-jolsa@xxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cebf15eb09a2fd2fa73ee4faa9c4d2f813cf0f09 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Sep 18 12:33:34 2014 -0700 x86, sched: Add new topology for multi-NUMA-node CPUs I'm getting the spew below when booting with Haswell (Xeon E5-2699 v3) CPUs and the "Cluster-on-Die" (CoD) feature enabled in the BIOS. It seems similar to the issue that some folks from AMD ran in to on their systems and addressed in this commit: 161270fc1f9d ("x86/smp: Fix topology checks on AMD MCM CPUs") Both these Intel and AMD systems break an assumption which is being enforced by topology_sane(): a socket may not contain more than one NUMA node. AMD special-cased their system by looking for a cpuid flag. The Intel mode is dependent on BIOS options and I do not know of a way which it is enumerated other than the tables being parsed during the CPU bringup process. In other words, we have to trust the ACPI tables <shudder>. This detects the situation where a NUMA node occurs at a place in the middle of the "CPU" sched domains. It replaces the default topology with one that relies on the NUMA information from the firmware (SRAT table) for all levels of sched domains above the hyperthreads. This also fixes a sysfs bug. We used to freak out when we saw the "mc" group cross a node boundary, so we stopped building the MC group. MC gets exported as the 'core_siblings_list' in /sys/devices/system/cpu/cpu*/topology/ and this caused CPUs with the same 'physical_package_id' to not be listed together in 'core_siblings_list'. This violates a statement from Documentation/ABI/testing/sysfs-devices-system-cpu: core_siblings: internal kernel map of cpu#'s hardware threads within the same physical_package_id. core_siblings_list: human-readable list of the logical CPU numbers within the same physical_package_id as cpu#. The sysfs effects here cause an issue with the hwloc tool where it gets confused and thinks there are more sockets than are physically present. Before this patch, there are two packages: # cd /sys/devices/system/cpu/ # cat cpu*/topology/physical_package_id | sort | uniq -c 18 0 18 1 But 4 _sets_ of core siblings: # cat cpu*/topology/core_siblings_list | sort | uniq -c 9 0-8 9 18-26 9 27-35 9 9-17 After this set, there are only 2 sets of core siblings, which is what we expect for a 2-socket system. # cat cpu*/topology/physical_package_id | sort | uniq -c 18 0 18 1 # cat cpu*/topology/core_siblings_list | sort | uniq -c 18 0-17 18 18-35 Example spew: ... NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter. #2 #3 #4 #5 #6 #7 #8 .... node #1, CPUs: #9 ------------[ cut here ]------------ WARNING: CPU: 9 PID: 0 at /home/ak/hle/linux-hle-2.6/arch/x86/kernel/smpboot.c:306 topology_sane.isra.2+0x74/0x90() sched: CPU #9's mc-sibling CPU #0 is not on the same node! [node: 1 != 0]. Ignoring dependency. Modules linked in: CPU: 9 PID: 0 Comm: swapper/9 Not tainted 3.17.0-rc1-00293-g8e01c4d-dirty #631 Hardware name: Intel Corporation S2600WTT/S2600WTT, BIOS GRNDSDP1.86B.0036.R05.1407140519 07/14/2014 0000000000000009 ffff88046ddabe00 ffffffff8172e485 ffff88046ddabe48 ffff88046ddabe38 ffffffff8109691d 000000000000b001 0000000000000009 ffff88086fc12580 000000000000b020 0000000000000009 ffff88046ddabe98 Call Trace: [<ffffffff8172e485>] dump_stack+0x45/0x56 [<ffffffff8109691d>] warn_slowpath_common+0x7d/0xa0 [<ffffffff8109698c>] warn_slowpath_fmt+0x4c/0x50 [<ffffffff81074f94>] topology_sane.isra.2+0x74/0x90 [<ffffffff8107530e>] set_cpu_sibling_map+0x31e/0x4f0 [<ffffffff8107568d>] start_secondary+0x1ad/0x240 ---[ end trace 3fe5f587a9fcde61 ]--- #10 #11 #12 #13 #14 #15 #16 #17 .... node #2, CPUs: #18 #19 #20 #21 #22 #23 #24 #25 #26 .... node #3, CPUs: #27 #28 #29 #30 #31 #32 #33 #34 #35 Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> [ Added LLC domain and s/match_mc/match_die/ ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: brice.goglin@xxxxxxxxx Cc: "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140918193334.C065EBCE@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8aa6f0ebf41b5fdd186276394bf07e7bd6884d94 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Mon Sep 22 22:36:43 2014 +0400 sched/rt: Use resched_curr() in task_tick_rt() Some time ago PREEMPT_NEED_RESCHED was implemented, so reschedule technics is a little more difficult now. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140922183642.11015.66039.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f1e3a0932f3a9554371792a7daaf1e0eb19f66d5 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Mon Sep 22 22:36:36 2014 +0400 sched: Use rq->rd in sched_setaffinity() under RCU read lock Probability of use-after-free isn't zero in this place. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140922183636.11015.83611.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 16303ab2fe214635240a8f57cad2cd29792d4e3b Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Mon Sep 22 22:36:30 2014 +0400 sched: cleanup: Rename 'out_unlock' to 'out_free_new_mask' Nothing is locked there, so label's name only confuses a reader. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140922183630.11015.59500.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 66339c31bc3978d5fff9c4b4cb590a861def4db2 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Mon Sep 22 22:36:24 2014 +0400 sched: Use dl_bw_of() under RCU read lock dl_bw_of() dereferences rq->rd which has to have RCU read lock held. Probability of use-after-free isn't zero here. Also add lockdep assert into dl_bw_cpus(). Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140922183624.11015.71558.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7a96c231ca23f0f5622852307df4209afc502ec3 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Mon Sep 22 22:36:12 2014 +0400 sched/fair: Remove duplicate code from can_migrate_task() Combine two branches which do the same. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140922183612.11015.64200.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c55f5158f5606f8a62e694b7e009f59b92ac6258 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 23 17:06:41 2014 +0200 sched, mips, ia64: Remove __ARCH_WANT_UNLOCKED_CTXSW Kirill found that there's a subtle race in the __ARCH_WANT_UNLOCKED_CTXSW code, and instead of fixing it, remove the entire exception because neither arch that uses it seems to actually still require it. Boot tested on mips64el (qemu) only. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <davidlohr@xxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: oleg@xxxxxxxxxx Cc: linux@xxxxxxxxxxxx Cc: linux-ia64@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140923150641.GH3312@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5bd96ab6fef66ec6b9f54134364e618fd0f8f2f3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 21:33:41 2014 +0200 sched: print_rq(): Don't use tasklist_lock read_lock_irqsave(tasklist_lock) in print_rq() looks strange. We do not need to disable irqs, and they are already disabled by the caller. And afaics this lock buys nothing, we can rely on rcu_read_lock(). In this case it makes sense to also move rcu_read_lock/unlock from the caller to print_rq(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140921193341.GA28628@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3472eaa1f12e217e2b8b0ef658ff861b2308cbbd Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 21:33:38 2014 +0200 sched: normalize_rt_tasks(): Don't use _irqsave for tasklist_lock, use task_rq_lock() 1. read_lock(tasklist_lock) does not need to disable irqs. 2. ->mm != NULL is a common mistake, use PF_KTHREAD. 3. The second ->mm check can be simply removed. 4. task_rq_lock() looks better than raw_spin_lock(&p->pi_lock) + __task_rq_lock(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140921193338.GA28621@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8651c65844e93af44554272b7e0d2b142837b244 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 21:33:36 2014 +0200 sched: Fix the task-group check in tg_has_rt_tasks() tg_has_rt_tasks() wants to find an RT task in this task_group, but task_rq(p)->rt.tg wrongly checks the root rt_rq. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140921193336.GA28618@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 83a0a96a5f26d974580fd7251043ff70c8f1823d Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Thu Sep 4 11:32:10 2014 -0400 sched/fair: Leverage the idle state info when choosing the "idlest" cpu The code in find_idlest_cpu() looks for the CPU with the smallest load. However, if multiple CPUs are idle, the first idle CPU is selected irrespective of the depth of its idle state. Among the idle CPUs we should pick the one with with the shallowest idle state, or the latest to have gone idle if all idle CPUs are in the same state. The later applies even when cpuidle is configured out. This patch doesn't cover the following issues: - The idle exit latency of a CPU might be larger than the time needed to migrate the waking task to an already running CPU with sufficient capacity, and therefore performance would benefit from task packing in such case (in most cases task packing is about power saving). - Some idle states have a non negligible and non abortable entry latency which needs to run to completion before the exit latency can start. A concurrent patch series is making this info available to the cpuidle core. Once available, the entry latency with the idle timestamp could determine when the exit latency may be effective. Those issues will be handled in due course. In the mean time, what is implemented here should improve things already compared to the current state of affairs. Based on an initial patch from Daniel Lezcano. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/n/tip-@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 442bf3aaf55a91ebfec71da46a4ee10a3c905bcc Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Thu Sep 4 11:32:09 2014 -0400 sched: Let the scheduler see CPU idle states When the cpu enters idle, it stores the cpuidle state pointer in its struct rq instance which in turn could be used to make a better decision when balancing tasks. As soon as the cpu exits its idle state, the struct rq reference is cleared. There are a couple of situations where the idle state pointer could be changed while it is being consulted: 1. For x86/acpi with dynamic c-states, when a laptop switches from battery to AC that could result on removing the deeper idle state. The acpi driver triggers: 'acpi_processor_cst_has_changed' 'cpuidle_pause_and_lock' 'cpuidle_uninstall_idle_handler' 'kick_all_cpus_sync'. All cpus will exit their idle state and the pointed object will be set to NULL. 2. The cpuidle driver is unloaded. Logically that could happen but not in practice because the drivers are always compiled in and 95% of them are not coded to unregister themselves. In any case, the unloading code must call 'cpuidle_unregister_device', that calls 'cpuidle_pause_and_lock' leading to 'kick_all_cpus_sync' as mentioned above. A race can happen if we use the pointer and then one of these two scenarios occurs at the same moment. In order to be safe, the idle state pointer stored in the rq must be used inside a rcu_read_lock section where we are protected with the 'rcu_barrier' in the 'cpuidle_uninstall_idle_handler' function. The idle_get_state() and idle_put_state() accessors should be used to that effect. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 91ec6778ec4f963fcb2c2793610919b572f633b0 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Fri Sep 19 10:22:41 2014 +0100 sched/deadline: Fix inter- exclusive cpusets migrations Users can perform clustered scheduling using the cpuset facility. After an exclusive cpuset is created, task migrations happen only between CPUs belonging to the same cpuset. Inter- cpuset migrations can only happen when the user requires so, moving a task between different cpusets. This behaviour is broken in SCHED_DEADLINE, as currently spurious inter- cpuset migration may happen without user intervention. This patch fix the problem (and shuffles the code a bit to improve clarity). Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: raistlin@xxxxxxxx Cc: michael@xxxxxxxxxxxxxxxxxxxx Cc: fchecconi@xxxxxxxxx Cc: daniel.wagner@xxxxxxxxxxxx Cc: vincent@xxxxxxxxxxx Cc: luca.abeni@xxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411118561-26323-4-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5e7be3b28a235108c59561bea55eea1072b23b0 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Fri Sep 19 10:22:39 2014 +0100 sched/deadline: Clear dl_entity params when setscheduling to different class When a task is using SCHED_DEADLINE and the user setschedules it to a different class its sched_dl_entity static parameters are not cleaned up. This causes a bug if the user sets it back to SCHED_DEADLINE with the same parameters again. The problem resides in the check we perform at the very beginning of dl_overflow(): if (new_bw == p->dl.dl_bw) return 0; This condition is met in the case depicted above, so the function returns and dl_b->total_bw is not updated (the p->dl.dl_bw is not added to it). After this, admission control is broken. This patch fixes the thing, properly clearing static parameters for a task that ceases to use SCHED_DEADLINE. Reported-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Reported-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Reported-by: Vincent Legout <vincent@xxxxxxxxxxx> Tested-by: Luca Abeni <luca.abeni@xxxxxxxx> Tested-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Tested-by: Vincent Legout <vincent@xxxxxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Fabio Checconi <fchecconi@xxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411118561-26323-2-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 615f77511e4fafa9e67a5b84d8d886dde4f297df Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Aug 25 23:26:39 2014 +0200 x86/PCI: Mark PCI BIOS initialization code as such The pci_find_bios() function is only ever called from initialization code, therefore can be marked as such, too. This, in turn, allows marking other functions called only in this context as well. The bios32_indirect variable can be marked as __initdata as it is only referenced from __init functions now. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6af13bac777aaec7460475a9fea8e9640c4b606e Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Aug 25 23:26:38 2014 +0200 x86/PCI: Constify pci_mmcfg_probes[] array The pci_mmcfg_probes[] array is only ever read, therefore make it const. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 776f7ad6322817a5a021c5c479d688d322fb4b27 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Aug 25 23:26:37 2014 +0200 x86/PCI: Mark constants of pci_mmcfg_nvidia_mcp55() as __initconst The constants in pci_mmcfg_nvidia_mcp55() need to be marked as __initconst or they will remain in memory after init memory was released. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 64474b5235e83cc5e6002dcdb37145850ad86194 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Aug 25 23:26:36 2014 +0200 x86/PCI: Move __init annotation to the correct place According to include/linux/init.h, the __init annotation should be added immediately before the function name. However, for quite a few functions in mmconfig-shared.c this is not the case. It's either before the return type or even in the middle of it. Beside gcc still getting it right, we should change them to comply to the rules of include/linux/init.h. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4476767cff44737f8965b34af0f375ac49f7fafa Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:54 2014 +0200 mfd: max14577: Map charger device to its own of_node Add a "maxim,max14577-charger" of_compatible to the mfd_cell so the MFD child device (the charger) will have its own of_node set. This will be used by the max14577 charger driver in next patches to obtain battery configuration from DTS. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 25cc24c200dcba21bd1f1a59a01741185062dc0e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:53 2014 +0200 mfd: max14577: Add defines for MAX77836 charger Prepare for adding support for MAX77836 charger to the max14577 charger driver by adding necessary new defines and prefixes to existing ones. The MAX77836 uses slightly different values for ChgTyp field of STATUS2 register. On the MAX14577 value of 0x6 is reserved and 0x7 dead battery. On the MAX77836 the opposite: - 0x6 means special charger, - 0x7 is reserved. Regardless of these differences use one common enum max14577_muic_charger_type. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit b91671bb23a79c32a23b0ad5d6e6ad292bb21bdf Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 19 17:37:56 2014 +0200 UBI: Fix livelock in produce_free_peb() The while loop in produce_free_peb() assumes that each work will produce a free PEB. This is not true. If ubi->works_count is 1 and the only scheduled work is the wear_leveling_worker() produce_free_peb() can loop forever in case nobody schedules an erase work. Fix this issue by checking in the while loop whether work is scheduled. Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit dfbdcd7cefcaba306fc1ad36aa8bc1352149e730 Author: Andreas Werner <andreas.werner@xxxxxx> Date: Wed Aug 27 19:51:45 2014 +0200 mfd: menf21bmc: Introduce MEN 14F021P00 BMC MFD Core driver The MEN 14F021P00 Board Management Controller provides an I2C interface to the host to access the feature implemented in the BMC. The BMC is a PIC Microntroller assembled on CPCI Card from MEN Mikroelektronik and on a few Box/Display Computer. Added MFD Core driver, supporting the I2C communication to the device. The MFD driver currently supports the following features: - Watchdog - LEDs - Hwmon (voltage monitoring) Signed-off-by: Andreas Werner <andreas.werner@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f19f4f9525cf32f97341fac20ce66392e86a1b67 Author: Simon Vincent <simon.vincent@xxxxxxxxxx> Date: Wed Sep 24 12:21:33 2014 +0200 ieee802154: 6lowpan: ensure header compression does not corrupt ipv6 header The 6lowpan ipv6 header compression was causing problems for other interfaces that expected a ipv6 header to still be in place, as we were replacing the ipv6 header with a compressed version. This happened if you sent a packet to a multicast address as the packet would be output on 802.15.4, ethernet, and also be sent to the loopback interface. The skb data was shared between these interfaces so all interfaces ended up with a compressed ipv6 header. The solution is to ensure that before we do any header compression we are not sharing the skb or skb data with any other interface. If we are then we must take a copy of the skb and skb data before modifying the ipv6 header. The only place we can copy the skb is inside the xmit function so we don't leave dangling references to skb. This patch moves all the header compression to inside the xmit function. Very little code has been changed it has mostly been moved from lowpan_header_create to lowpan_xmit. At the top of the xmit function we now check if the skb is shared and if so copy it. In lowpan_header_create all we do now is store the source and destination addresses for use later when we compress the header. Signed-off-by: Simon Vincent <simon.vincent@xxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ca079ad6af0d9948101992d03e7145ab8b426f66 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Wed Sep 24 12:21:32 2014 +0200 mrf24j40: use pr_* / dev_* instead of printk() Replace printk() with dev_*() pr_*(). Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alan Ott <alan@xxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3d920f06e2f2f8f601084718da6c55f8885d7a7f Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Wed Sep 24 12:21:31 2014 +0200 mrf24j40: remove unnecessary return statement Remove the return statement in the void function. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alan Ott <alan@xxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 529160dc73a1cb4bb377887f5453d33b6d84d18f Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Wed Sep 24 12:21:30 2014 +0200 mrf24j40: fix Missing a blank line after declarations Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alan Ott <alan@xxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c24ae0dcd3e8695efa43e71704d1fc4bc7e29e9b Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:58 2014 +0800 kvm: x86: Unpin and remove kvm_arch->apic_access_page In order to make the APIC access page migratable, stop pinning it in memory. And because the APIC access page is not pinned in memory, we can remove kvm_arch->apic_access_page. When we need to write its physical address into vmcs, we use gfn_to_page() to get its page struct, which is needed to call page_to_phys(); the page is then immediately unpinned. Suggested-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 38b9917350cb2946e368ba684cfc33d1672f104e Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:54 2014 +0800 kvm: vmx: Implement set_apic_access_page_addr Currently, the APIC access page is pinned by KVM for the entire life of the guest. We want to make it migratable in order to make memory hot-unplug available for machines that run KVM. This patch prepares to handle this for the case where there is no nested virtualization, or where the nested guest does not have an APIC page of its own. All accesses to kvm->arch.apic_access_page are changed to go through kvm_vcpu_reload_apic_access_page. If the APIC access page is invalidated when the host is running, we update the VMCS in the next guest entry. If it is invalidated when the guest is running, the MMU notifier will force an exit, after which we will handle everything as in the previous case. If it is invalidated when a nested guest is running, the request will update either the VMCS01 or the VMCS02. Updating the VMCS01 is done at the next L2->L1 exit, while updating the VMCS02 is done in prepare_vmcs02. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4256f43f9fab91e1c17b5846a240cf4b66a768a8 Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:54 2014 +0800 kvm: x86: Add request bit to reload APIC access page address Currently, the APIC access page is pinned by KVM for the entire life of the guest. We want to make it migratable in order to make memory hot-unplug available for machines that run KVM. This patch prepares to handle this in generic code, through a new request bit (that will be set by the MMU notifier) and a new hook that is called whenever the request bit is processed. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fe71557afbec641fee73711e40602bed37f6f33b Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:57 2014 +0800 kvm: Add arch specific mmu notifier for page invalidation This will be used to let the guest run while the APIC access page is not pinned. Because subsequent patches will fill in the function for x86, place the (still empty) x86 implementation in the x86.c file instead of adding an inline function in kvm_host.h. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 445b8236959bfe624a5aa9bce89f44a3bec9b2b1 Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:55 2014 +0800 kvm: Rename make_all_cpus_request() to kvm_make_all_cpus_request() and make it non-static Different architectures need different requests, and in fact we will use this function in architecture-specific code later. This will be outside kvm_main.c, so make it non-static and rename it to kvm_make_all_cpus_request(). Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 57128468080a8b6ea452223036d3e417f748af55 Author: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Date: Mon Sep 22 14:54:42 2014 -0700 kvm: Fix page ageing bugs 1. We were calling clear_flush_young_notify in unmap_one, but we are within an mmu notifier invalidate range scope. The spte exists no more (due to range_start) and the accessed bit info has already been propagated (due to kvm_pfn_set_accessed). Simply call clear_flush_young. 2. We clear_flush_young on a primary MMU PMD, but this may be mapped as a collection of PTEs by the secondary MMU (e.g. during log-dirty). This required expanding the interface of the clear_flush_young mmu notifier, so a lot of code has been trivially touched. 3. In the absence of shadow_accessed_mask (e.g. EPT A bit), we emulate the access bit by blowing the spte. This requires proper synchronizing with MMU notifier consumers, like every other removal of spte's does. Signed-off-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8a9522d2fe6a1b643d3aef5ab7f097f73c601e7a Author: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Date: Tue Sep 23 12:34:54 2014 -0700 kvm/x86/mmu: Pass gfn and level to rmapp callback. Callbacks don't have to do extra computation to learn what the caller (lvm_handle_hva_range()) knows very well. Useful for debugging/tracing/printk/future. Signed-off-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c1118b3602c2329671ad5ec8bdf8e374323d6343 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 22 13:17:48 2014 +0200 x86: kvm: use alternatives for VMCALL vs. VMMCALL if kernel text is read-only On x86_64, kernel text mappings are mapped read-only with CONFIG_DEBUG_RODATA. In that case, KVM will fail to patch VMCALL instructions to VMMCALL as required on AMD processors. The failure mode is currently a divide-by-zero exception, which obviously is a KVM bug that has to be fixed. However, picking the right instruction between VMCALL and VMMCALL will be faster and will help if you cannot upgrade the hypervisor. Reported-by: Chris Webb <chris@xxxxxxxxxxxx> Tested-by: Chris Webb <chris@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: x86@xxxxxxxxxx Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 81760dccf8d1fe5b128b58736fe3f56a566133cb Author: Chen Yucong <slaoub@xxxxxxxxx> Date: Tue Sep 23 10:44:35 2014 +0800 kvm: x86: use macros to compute bank MSRs Avoid open coded calculations for bank MSRs by using well-defined macros that hide the index of higher bank MSRs. No semantic changes. Signed-off-by: Chen Yucong <slaoub@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d5262739cbb8a6414ba521a79bf0549717459a09 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Tue Sep 23 10:01:57 2014 +0300 KVM: x86: Remove debug assertion of non-PAE reserved bits Commit 346874c9507a ("KVM: x86: Fix CR3 reserved bits") removed non-PAE reserved bits which were not according to Intel SDM. However, residue was left in a debug assertion (CR3_NONPAE_RESERVED_BITS). Remove it. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2ea75be3219571d0ec009ce20d9971e54af96e09 Author: David Matlack <dmatlack@xxxxxxxxxx> Date: Fri Sep 19 16:03:25 2014 -0700 kvm: don't take vcpu mutex for obviously invalid vcpu ioctls vcpu ioctls can hang the calling thread if issued while a vcpu is running. However, invalid ioctls can happen when userspace tries to probe the kind of file descriptors (e.g. isatty() calls ioctl(TCGETS)); in that case, we know the ioctl is going to be rejected as invalid anyway and we can fail before trying to take the vcpu mutex. This patch does not change functionality, it just makes invalid ioctls fail faster. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 234b239bea395316d7f78018c672f4a88b3cdf0d Author: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Date: Wed Sep 17 10:51:48 2014 -0700 kvm: Faults which trigger IO release the mmap_sem When KVM handles a tdp fault it uses FOLL_NOWAIT. If the guest memory has been swapped out or is behind a filemap, this will trigger async readahead and return immediately. The rationale is that KVM will kick back the guest with an "async page fault" and allow for some other guest process to take over. If async PFs are enabled the fault is retried asap from an async workqueue. If not, it's retried immediately in the same code path. In either case the retry will not relinquish the mmap semaphore and will block on the IO. This is a bad thing, as other mmap semaphore users now stall as a function of swap or filemap latency. This patch ensures both the regular and async PF path re-enter the fault allowing for the mmap semaphore to be relinquished in the case of IO wait. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b4619660635732bd2da376bb8f31f94d0f15fc98 Author: Tiejun Chen <tiejun.chen@xxxxxxxxx> Date: Mon Sep 22 10:31:38 2014 +0800 kvm: x86: fix two typos in comment s/drity/dirty and s/vmsc01/vmcs01 Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4566654bb9be9e8864df417bb72ceee5136b6a6a Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Thu Sep 18 22:39:44 2014 +0300 KVM: vmx: Inject #GP on invalid PAT CR Guest which sets the PAT CR to invalid value should get a #GP. Currently, if vmx supports loading PAT CR during entry, then the value is not checked. This patch makes the required check in that case. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 040c8dc8a5afa7364bb8bb5b1b76c30007d6be14 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Thu Sep 18 22:39:43 2014 +0300 KVM: x86: emulating descriptor load misses long-mode case In 64-bit mode a #GP should be delivered to the guest "if the code segment descriptor pointed to by the selector in the 64-bit gate doesn't have the L-bit set and the D-bit clear." - Intel SDM "Interrupt 13ââ?¬â??General Protection Exception (#GP)". This patch fixes the behavior of CS loading emulation code. Although the comment says that segment loading is not supported in long mode, this function is executed in long mode, so the fix is necassary. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 77c3913b74212a86027d311f5e81625736816620 Author: Liang Chen <liangchen.linux@xxxxxxxxx> Date: Thu Sep 18 12:38:37 2014 -0400 KVM: x86: directly use kvm_make_request again A one-line wrapper around kvm_make_request is not particularly useful. Replace kvm_mmu_flush_tlb() with kvm_make_request(). Signed-off-by: Liang Chen <liangchen.linux@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a70656b63a82d639b0cec54861bf8faf16ad74e6 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Sep 18 12:38:36 2014 -0400 KVM: x86: count actual tlb flushes - we count KVM_REQ_TLB_FLUSH requests, not actual flushes (KVM can have multiple requests for one flush) - flushes from kvm_flush_remote_tlbs aren't counted - it's easy to make a direct request by mistake Solve these by postponing the counting to kvm_check_request(). Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Liang Chen <liangchen.linux@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bc6134942dbbf31c25e9bd7c876be5da81c9e1ce Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Thu Sep 18 18:24:57 2014 -0300 KVM: nested VMX: disable perf cpuid reporting Initilization of L2 guest with -cpu host, on L1 guest with -cpu host triggers: (qemu) KVM: entry failed, hardware error 0x7 ... nested_vmx_run: VMCS MSR_{LOAD,STORE} unsupported Nested VMX MSR load/store support is not sufficient to allow perf for L2 guest. Until properly fixed, trap CPUID and disable function 0xA. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a2b9e6c1a35afcc0973acb72e591c714e78885ff Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Wed Sep 17 02:50:50 2014 +0300 KVM: x86: Don't report guest userspace emulation error to userspace Commit fc3a9157d314 ("KVM: X86: Don't report L2 emulation failures to user-space") disabled the reporting of L2 (nested guest) emulation failures to userspace due to race-condition between a vmexit and the instruction emulator. The same rational applies also to userspace applications that are permitted by the guest OS to access MMIO area or perform PIO. This patch extends the current behavior - of injecting a #UD instead of reporting it to userspace - also for guest userspace code. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1f755a827538226fff38aad128c4a6836bd89b48 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 16 13:37:40 2014 +0200 kvm: Make init_rmode_tss() return 0 on success. In init_rmode_tss(), there two variables indicating the return value, r and ret, and it return 0 on error, 1 on success. The function is only called by vmx_set_tss_addr(), and ret is redundant. This patch removes the redundant variable, by making init_rmode_tss() return 0 on success, -errno on failure. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dd598091de4aabbc8bd7290a04f364e443c03455 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Tue Sep 16 15:10:03 2014 +0300 KVM: x86: Warn if guest virtual address space is not 48-bits The KVM emulator code assumes that the guest virtual address space (in 64-bit) is 48-bits wide. Fail the KVM_SET_CPUID and KVM_SET_CPUID2 ioctl if userspace tries to create a guest that does not obey this restriction. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3c3c29fd0d7cddc32862c350d0700ce69953e3bd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Sep 24 13:02:46 2014 +0200 kvm-vfio: do not use module_init /me got confused between the kernel and QEMU. In the kernel, you can only have one module_init function, and it will prevent unloading the module unless you also have the corresponding module_exit function. So, commit 80ce1639727e (KVM: VFIO: register kvm_device_ops dynamically, 2014-09-02) broke unloading of the kvm module, by adding a module_init function and no module_exit. Repair it by making kvm_vfio_ops_init weak, and checking it in kvm_init. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Alex Williamson <Alex.Williamson@xxxxxxxxxx> Fixes: 80ce1639727e9d38729c34f162378508c307ca25 Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d41c15cf95bd91b9c333f6f749670e22c8a47ad9 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 24 13:14:46 2014 +0300 Bluetooth: Fix reason code used for rejecting SCO connections The core specification defines valid values for the HCI_Reject_Synchronous_Connection_Request command to be 0x0D-0x0F. So far the code has been using HCI_ERROR_REMOTE_USER_TERM (0x13) which is not a valid value and is therefore being rejected by some controllers: > HCI Event: Connect Request (0x04) plen 10 bdaddr 40:6F:2A:6A:E5:E0 class 0x000000 type eSCO < HCI Command: Reject Synchronous Connection (0x01|0x002a) plen 7 bdaddr 40:6F:2A:6A:E5:E0 reason 0x13 Reason: Remote User Terminated Connection > HCI Event: Command Status (0x0f) plen 4 Reject Synchronous Connection (0x01|0x002a) status 0x12 ncmd 1 Error: Invalid HCI Command Parameters This patch introduces a new define for a value from the valid range (0x0d == Connection Rejected Due To Limited Resources) and uses it instead for rejecting incoming connections. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3778129206419c41f0dac877d931900397cab25c Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 15:55:07 2014 -0700 gpio, bcm-kona, LLVMLinux: Remove use of __initconst The __initconst is in the wrong place, and when moved to the correct place it uncovers an error where the variable is used by non-init data structures. Instead merely make them const and put the const in the right spot. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Matt Porter <mporter@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1b4c5a6e6b73b082170bfcbf1ff3e2fcf2e7530c Author: Gernot Vormayr <gvormayr@xxxxxxxxx> Date: Wed Sep 24 00:58:45 2014 +0200 gpio: Fix ngpio in gpio-xilinx driver If one adds gpio-controller; to the chip in the devicetree, then initialization fails with 'gpiochip_find_base: cannot find free range', because ngpio is 0. This patch fixes the bug. This version includes the suggestions from Linus Walleij. Tested on ml507 board. Signed-off-by: Gernot Vormayr <gvormayr@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 58a3b92d33d289e2f3390b40a2c5cfd7f32cfe7a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 24 13:30:24 2014 +0200 gpio: dwapb: fix pointer to integer cast The statements BUG_ON(ctx == 0) was implicitly casting a pointer to an integer for comparison. Do this with a bool test instead to get away from sparse warnings. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fa0111be4ff30150720db3c3e5ee8d7823921639 Author: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Date: Wed Jul 30 13:25:32 2014 +0530 clk: samsung: exynos4: remove duplicate div_core2 divider clock instantiation The 'div_core2' clock and the 'arm_clk' divider clocks are instances of the same divider clock. So remove the 'arm_clk' clock instance. Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> [tomasz.figa@xxxxxxxxx: Fixed remaining occurences of 'arm_clk'.] Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit ee0d68ab5f0997a500fdf90924a58e787b216292 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:22 2014 +0200 drm/udl: use container_of to resolve udl_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d634f6e5b0d1d6e2b044b23d448ab5fb7c102e5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:21 2014 +0200 drm/ast: use container_of to resolve ast_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c39aa6a1e32aab4826c613866024cbdd4933631a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:20 2014 +0200 drm/gma500: use container_of to resolve psb_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f38e34ac54569756963827434d4b18b9ad9d8b95 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:19 2014 +0200 drm/qxl: use container_of to resolve qxl_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ee932d049a4e6e1e134f521dbb98fdd3993a8e9 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:18 2014 +0200 drm/nouveau: use container_of to resolve nouveau_plane from drm_plane Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 918b7ed423ab7c423efe0e71f7670ff9139d3ee0 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:17 2014 +0200 drm/nouveau: use container_of to resolve nouveau_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a1d0280e678c4d0074bd994ac53d95d39be9383c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:16 2014 +0200 drm/radeon: use container_of to resolve radeon_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 98cc0343178558579aacb7b27dc5aee2791c8263 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:15 2014 +0200 drm/mgag200: use container_of to resolve mga_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea0622cfb4c0dbf3a8e6c4b448b8636ea75e1069 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:14 2014 +0200 drm/cirrus: use container_of to resolve cirrus_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 80c873b6b7b4de56d0771e3834ea71467937e506 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 15 14:04:28 2014 +0200 drm: Improve debug output for drm_wait_one_vblank This replicates what we've done in i915 in commit 31e4b89acbd7b19c9a8557e6e660a583a0b97daa Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Aug 18 13:51:00 2014 +0100 drm/i915: Print the pipe on which the vblank wait times out to make sure that when we switch i915 to drm_wait_one_vblank that the debug output doesn't regress. Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Thomas Wood <thomas.wood@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f2b50c1161590c3bcdbf3455fe4c575f1c1bd293 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Sep 12 17:07:32 2014 +0200 drm: Fixup locking for universal cursor planes Bunch of things amiss: - Updating crtc->cursor_x/y was done without any locking. Spotted by David Herrmann. - Dereferencing crtc->cursor->fb was using the wrong lock, should take the crtc lock. - Grabbing _all_ modeset locks torpedoes the reason why we added fine-grained locks originally: Cursor updates shouldn't stall on background stuff like probing outputs. Best is to just grab the crtc lock around everything and drop all the other locking. The only issue is that we can't switch planes between crtcs with that, so make sure that never happens when someone uses universal plane helpers. This shouldn't be a possible regression ever since legacy ioctls also only grabbed the crtc lock, so switching crtcs was never possible for the underlying plane object. And i915 (the only user of universal cursors thus far) has fixed cursor->crtc links. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Pallavi G<pallavi.g@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit da8f43962bd323813f7215b00b5da48ad766b9b2 Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Date: Sat Sep 13 18:25:54 2014 +0200 drm: Don't update vblank timestamp when the counter didn't change If we already have a timestamp for the current vblank counter, don't update it with a new timestmap. Small errors can creep in between two timestamp queries for the same vblank count, which could be confusing to userspace when it queries the timestamp for the same vblank sequence number twice. This problem gets exposed when the vblank disable timer is not used (or is set to expire quickly) and thus we can get multiple vblank disable<->enable transition during the same frame which would all attempt to update the timestamp with the latest estimate. Testcase: igt/kms_flip/flip-vs-expired-vblank Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> v2:Mario: Trivial rebase on top of current drm-next (13-Sep-2014) Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 29f1b65b5984c1e35e2d60d1416d03cee0b91ee2 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Mon Sep 22 23:33:08 2014 +0200 KVM: EVENTFD: Remove inclusion of irq.h Commit c77dcac (KVM: Move more code under CONFIG_HAVE_KVM_IRQFD) added functionality that depends on definitions in ioapic.h when __KVM_HAVE_IOAPIC is defined. At the same time, kvm-arm commit 0ba0951 (KVM: EVENTFD: remove inclusion of irq.h) removed the inclusion of irq.h, an architecture-specific header that is not present on ARM but which happened to include ioapic.h on x86. Include ioapic.h directly in eventfd.c if __KVM_HAVE_IOAPIC is defined. This fixes x86 and lets ARM use eventfd.c. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4f0eb5d7efe375859b15c97f453113a242bf057b Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:14 2014 +0100 phy: remove .owner field for drivers using module_platform_driver This patch removes the superflous .owner field for drivers which use the module_platform_driver or platform_driver_register api, as this is overriden in __platform_driver_register. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a5ec598650257d9a7abefa6616840c872e194fdb Author: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Date: Tue Sep 16 10:32:06 2014 +0530 phy: exynos-dp-video: Use syscon support to control pmu register Currently the DP_PHY_ENABLE register is mapped in the driver, and accessed to control power to the PHY. With mfd-syscon and regmap interface available at our disposal, it's wise to use that instead of using a 'reg' property for the controller and allocating a memory resource for that. To facilitate this, we have added another compatible string for Exynso5420 SoC to acquire driver data which contains different DP-PHY-CONTROL register offset. Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 26389c78269ada2927a4ec114bbf4df45776445d Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 11:33:02 2014 +0100 MAINTAINERS: Add phy-stih41x-usb.c to ARCH/STI architecture This patch adds the new phy-sti41x-usb.c PHY driver found on STMicroelectronics stih41x consumer electronics SoC's into the STI arch section of the maintainers file. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit d6140c70ed5759e1097cf8ac80f89b208cf0260f Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 11:33:01 2014 +0100 phy: phy-stih41x-usb: Add dt documentation for USB phy on STiH415/6 This patch adds dt documentation bindings for the usb phy found on STiH415/5 SoC's from STMicroelectronics, which support USB 1.1 and 2.0. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 3f8da2e36c04577a39dc210255f53bdc9e4ca0e4 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 11:33:00 2014 +0100 phy: phy-stih41x-usb: Add usb phy support for STiH41x SoCs. This driver adds support for USB (1.1 and 2.0) phy for STiH415 and STiH416 System-On-Chips from STMicroelectronics. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 6da969a5fe9768f4735480c91e4885cf9babf023 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Sep 11 18:02:46 2014 +0100 MAINTAINERS: Add phy-stih407-usb.c file to ARCH/STI architecture This patch adds the new phy-stih407-usb.c usb phy driver found on STMicroelectronics stih407 consumer electronics SoC's into the STI arch section of the maintainers file. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit ea1e53c7f147c48e5227f7ba67224ee99b67f865 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Sep 11 18:02:45 2014 +0100 phy: phy-stih407-usb: Add dt documentation for USB picophy found on stih407 SoC family This patch adds the dt documentation for the usb picophy found on stih407 SoC family available from STMicroelectronics. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 89ae1f5d4c9a62dd32e14d5edfb7221d2f73039e Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Sep 11 18:02:44 2014 +0100 phy: phy-stih407-usb: Add usb picoPHY driver found on stih407 SoC family This is the generic phy driver for the picoPHY ports used by the USB2 and USB3 Host controllers when controlling usb2/1.1 devices. It is found on STiH407 SoC family from STMicroelectronics. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit dcc35b2160f32b8528973e91c25595fc91354e92 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Aug 27 16:28:11 2014 -0700 usb: phy: twl4030-usb: Use mutex instead of spinlock for protecting the data We're using threaded irq on a I2C bus and we're sleeping in twl4030_usb_irq() as it calls twl4030_usb_linkstat() which calls the i2c functions. If we ever need to lock for longer I2C transaction sequences a mutex will allow us to do that easily. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 48f48e172c45e66e5323813fccc7dfd34e404bbe Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Aug 27 16:28:10 2014 -0700 usb: phy: twl4030-usb: Remove asleep and rely on runtime PM There's no longer need for tracking the phy state in the driver with asleep, we can now rely on runtime PM. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit bad8e33582cb3ea5f3a7a3517ca48e0a03be11a3 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Aug 27 16:28:09 2014 -0700 usb: phy: twl4030-usb: Move code from twl4030_phy_power to the runtime PM calls We don't need twl4030_phy_power() any longer now that we have the runtime PM calls. Let's get rid of it as it's confusing. No functional changes, just move the code and use res instead of ret as we are not returning that value. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 62dc5769bbd9f187e2e5df64f4e3b5affd48fe7b Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Aug 27 16:28:08 2014 -0700 usb: phy: twl4030-usb: Simplify phy init to use runtime PM We can now let the interrupt and delayed work do all that's needed with runtime PM. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit bb419402cc1075db508f9ee8cfff3618e111f744 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Aug 18 07:54:16 2014 -0700 usb: phy: twl4030-usb: Remove unused irq_enabled It's not being used any longer. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 25451e5cb99d6e8ab848b9c2c277fef532240a5a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:16 2014 +0100 phy: phy-spear1340-miphy: Use module_platform_driver to register driver. Using the module_platform_driver macro to register the driver as this gets rid of a lot of the boilerplate code. Also remove .owner field as this gets overridden in __platform_driver_register. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 7e65e9c94a0d8dba3a6e1e2052fca26d6ca853e7 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:15 2014 +0100 phy: phy-spear1310-miphy: Use module_platform_driver to register driver. Use the module_platform_driver macro to register the driver as this gets rid of a lot of the boilerplate code. Also remove .owner field as this gets overridden in __platform_driver_register. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 556bdebb3bb155459d3ed1d0c23fdb34cd46af33 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:13 2014 +0100 phy: phy-spear1340-miphy: Remove unncessary site specific OOM messages The site specific OOM messages are unncessary, because they duplicate messages from the memory subsystem which include dump_stack(). Removing these superflous messages makes the kernel smaller. A discussion here http://patchwork.ozlabs.org/patch/324158/ found that all error paths from kzalloc will print a error message, and that any error path which maybe found which doesn't would be considered a bug in kzalloc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 0e71e235638b9422b4c2c81e939a4d8d4509349a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:12 2014 +0100 phy: phy-spear1310-miphy: Remove unncessary site specific OOM messages The site specific OOM messages are unncessary, because they duplicate messages from the memory subsystem which include dump_stack(). Removing these superflous messages makes the kernel smaller. A discussion here http://patchwork.ozlabs.org/patch/324158/ found that all error paths from kzalloc will print a error message, and that any error path which maybe found which doesn't would be considered a bug in kzalloc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 3a4cfcbbaf675eca0d6a3be224212a98cca60c2b Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:11 2014 +0100 phy: phy-ti-pipe3: Remove unncessary site specific OOM messages The site specific OOM messages are unncessary, because they duplicate messages from the memory subsystem which include dump_stack(). Removing these superflous messages makes the kernel smaller. A discussion here http://patchwork.ozlabs.org/patch/324158/ found that all error paths from kzalloc will print a error message, and that any error path which maybe found which doesn't would be considered a bug in kzalloc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 0b68253d9f8d25728bd2b7ec378bfb5e116cbe17 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:10 2014 +0100 phy: phy-omap-usb2: Remove unncessary site specific OOM messages The site specific OOM messages are unncessary, because they duplicate messages from the memory subsystem which include dump_stack(). Removing these superflous messages makes the kernel smaller. A discussion here http://patchwork.ozlabs.org/patch/324158/ found that all error paths from kzalloc will print a error message, and that any error path which maybe found which doesn't would be considered a bug in kzalloc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1f8de849cf8399ff287bab560d04df4515ec73c0 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:09 2014 +0100 phy: phy-mvebu-sata: Add missing error check for devm_kzalloc Currently this driver is missing a check on the return value of devm_kzalloc, which would cause a NULL pointer dereference in a OOM situation. This patch adds the aformentioned missing check. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 437a6bc478e6530efad9aeb04b84b2f5c4e356d5 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:08 2014 +0100 phy: phy-omap-control: Remove unncessary site specific OOM messages The site specific OOM messages are unncessary, because they duplicate messages from the memory subsystem which include dump_stack(). Removing these superflous messages makes the kernel smaller. A discussion here http://patchwork.ozlabs.org/patch/324158/ found that all error paths from kzalloc will print a error message, and that any error path which maybe found which doesn't would be considered a bug in kzalloc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1233f59f745b237d85f12aa9cf12ffab469f322d Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 22 23:27:14 2014 +0400 phy: Renesas R-Car Gen2 PHY driver This PHY, though formally being a part of Renesas USBHS controller, contains the UGCTRL2 register that controls multiplexing of the USB ports (Renesas calls them channels) to the different USB controllers: channel 0 can be connected to either PCI EHCI/OHCI or USBHS controllers, channel 2 can be connected to PCI EHCI/OHCI or xHCI controllers. This is a new driver for this USB PHY currently already supported under drivers/ usb/phy/. The reason for writing the new driver was the requirement that the multiplexing of USB channels to the controller be dynamic, depending on what USB drivers are loaded, rather than static as provided by the old driver. The infrastructure provided by drivers/phy/phy-core.c seems to fit that purpose ideally. The new driver only supports device tree probing for now. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit db4fa45ed3182d8206af241811dfc99369ffa849 Author: Anders Berg <anders.berg@xxxxxxxxxxxxx> Date: Wed Sep 17 08:46:58 2014 +0200 spi: pl022: Add support for chip select extension Add support for a extended PL022 which has an extra register for controlling up to five chip select signals. This controller is found on the AXM5516 SoC. Unfortunately the PrimeCell identification registers are identical to a standard ARM PL022. To work around this, the peripheral ID must be overridden in the device tree using the "arm,primecell-periphid" property with the value 0x000b6022. Signed-off-by: Anders Berg <anders.berg@xxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 517bf80fe74494e2d7f185c107085cde11f0e9a4 Author: Roger Tseng <rogerable@xxxxxxxxxxx> Date: Wed Sep 24 17:07:14 2014 +0800 mmc: rtsx_pci: Set power related cap2 macros Set MMC_CAP2_NO_PRESCAN_POWERUP and MMC_CAP2_FULL_PWR_CYCLE for rtsx_pci_sdmmc and rtsx_usb_sdmmc to reflect properties of Realtek card reader hosts. Signed-off-by: Roger Tseng <rogerable@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8af465db967bf25a4617416c0cbaaaa506d444f5 Author: Roger Tseng <rogerable@xxxxxxxxxxx> Date: Wed Sep 24 17:07:13 2014 +0800 mmc: core: Add new power_mode MMC_POWER_UNDEFINED Add MMC_POWER_UNDEFINED for power_mode in struct mmc_ios and use it as the initial value of host->ios.power_mode. For hosts with MMC_CAP2_NO_PRESCAN_POWERUP, this makes the later mmc_power_off() do real power-off things instead of NOP, and further prevents state messed up in cards that was already initialized (eg. by BIOS of UEFI driver). Signed-off-by: Roger Tseng <rogerable@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7756a96d1617753d8387e59e0ba410e0dd512be4 Author: Yi Sun <yi.y.sun@xxxxxxxxx> Date: Tue Sep 9 02:13:59 2014 +0000 mmc: sdhci: execute tuning when device is not busy We find tuning timeout because of the secure erase operation lasts too long, so don't do tuning when device is busy. Signed-off-by: Yi Sun <yi.y.sun@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 513d3c0f40c8e22fac019d5b0694374d17fbe682 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Sep 21 12:32:59 2014 +0800 gpio: xgene: Remove unneeded #ifdef CONFIG_OF guard This driver depends on OF_GPIO, so it won't be built if !CONFIG_OF. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 02ed185af0c146b479e5c62f9aeff975672f1d2f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Sep 21 12:32:10 2014 +0800 gpio: xgene: Remove unneeded forward declation for struct xgene_gpio Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1a19864e3bc2715e95940c7ec89f75c77030ccb5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Sep 21 12:31:29 2014 +0800 gpio: xgene: Fix missing spin_lock_init() Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f9f6a592cf4f35e7b614f1fb2e8d73969ee39a6d Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Wed Sep 17 13:14:20 2014 -0700 ASoC: rt5677: Add a configuration option for LDO2_POW pin Some boards have this pin statically tied and do not require any configuration, some other boards allow to enable chip using GPIO. Add an option that tells which GPIO is used to power the audio codec. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0397375dc936142fa0b96b525064306f4c2e312d Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Sat Sep 20 20:44:30 2014 +0530 gpio: ks8695: fix switch case indentation Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 295494af0695bc190e6b939df1036af898c2856f Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Fri Sep 19 23:22:44 2014 +0300 gpiolib: add irq_not_threaded flag to gpio_chip Some GPIO chips (e.g. the DLN2 USB adapter) have blocking get/set operation but do not need a threaded irq handler. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c7908a37aeee2a038d7b1492eae29750d8738d2e Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Wed Sep 24 14:30:29 2014 +0800 spi: Fix possible ZERO_SIZE_PTR pointer dereferencing error. Since we cannot make sure the 'n' will always be none zero here, and then if either equal to zero, the kzalloc() will return ZERO_SIZE_PTR, which equals to ((void *)16). So this patch fix this with just doing the zero check before calling kzalloc(). Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c3c6e231d860774037e7001ff3d536e5644fe2da Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 18 20:08:57 2014 +0300 spi: dw: fix style of code in few places Make comments be surrounded by spaces and move part of code to one line where it suits 80 characters. There is no functional changes. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c3ce15bf2ae5cde3392944ad043b80f123510cde Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 18 20:08:56 2014 +0300 spi: dw: introduce support of loopback mode For testing purposes it's good to have a loopback mode enabled. The patch adds necessary bits for that. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e45ef682cb31fda62ed4eeede5d9745a0a1b1e2 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 18 20:08:53 2014 +0300 spi: dw-mid: terminate ongoing transfers at exit Do full clean up at exit, means terminate all ongoing DMA transfers. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b41583e7299046abdc578c33f25ed83ee95b9b31 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 18 20:08:51 2014 +0300 spi: dw-mid: respect 8 bit mode In case of 8 bit mode and DMA usage we end up with every second byte written as 0. We have to respect bits_per_word settings what this patch actually does. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit a5b4b234e15b68539dd4677bb8b0aeeef100fbba Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Sep 20 11:05:09 2014 +0400 spi: clps711x: Migrate to the new clk subsystem Currently clps711x arch have a fully functional CLK driver. This patch migrates clps711x-spi driver to use the new CLK subsystem. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 528bc7808f4e36a330ec17ef22803f1345091494 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 23 15:50:06 2014 +0530 mmc: atmel-mci: Release mmc resources on failure in probe This change takes care of releasing mmc resources on error cases in probe function which was missing. Also release timer in remove function. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d37cf5f7e1b315585940a735a8508d955ffc0f16 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Sep 19 20:05:26 2014 +0300 drm/i915/bdw: Cleanup pre prod workarounds as these have been fixed in production hw and hurt performance if applied. v2: adjust requested ring space (Ville) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83482 Tested-by: zhoujian <jianx.zhou@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7bca646e0fc34b19cd84e14ed474d1c95830cc80 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 23 18:21:48 2014 +0530 mmc: atmel-mci: Switch to using managed resource in probe This change uses managed resource APIs to allocate resources such as, clk, gpio, io in order to simplify the driver unload or failure cases. Hence does away with release statements of the same resources in error labels and remove function. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 99632d1077853c2030bec3530011b9d9f423cc89 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:48:21 2014 +0300 ASoC: max98090: Remove unused byte access macros Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0e2cadf39a37f633d3b6d286318506ea3bd0b286 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:48:20 2014 +0300 ASoC: max98090: Remove unused version define Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3256ff6e5117c493ec20e96aad9f0a20d656d561 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:48:19 2014 +0300 ASoC: max98090: Remove structure member extmic_mux from private data There is no other use for extmic_mux than setting it to zero so remove it. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ced1933db67087554abf22bcb285eb6873380b10 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:48:18 2014 +0300 ASoC: max98090: Remove structure member irq from private data struct max98090_priv member irq is now used only locally in max98090_i2c_probe() and can be removed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7a7f0ba03d521ac2d36c9015278bc35657b3dcc9 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:48:17 2014 +0300 ASoC: max98090: Move interrupt request from codec probe to i2c probe Keep MAX98090 interrupt requested after i2c device probing as long as the driver is loaded. This fixes the issue where subsequent codec probe max98090_probe() call fails in interrupt request since interrupt wasn't freed over codec remove-reprobe cycle. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c7c343a1159d1cb7604b6137cf547b2c1e2375d Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Fri Sep 19 12:50:31 2014 +0100 ASoC: core: Fix volsw_range funcs so SOC_DOUBLE_R_RANGE_TLV works. This fixes a bug when using the SOC_DOUBLE_R_RANGE_TLV macro in the invert mode. In the non-invert case, e.g. SOC_DOUBLE_R_RANGE_TLV("<name>", <reg_l>, <reg_r>, 0, 40, 255, 0, <tlv>) the range sent to the hardware is 40..255, but in the invert case: SOC_DOUBLE_R_RANGE_TLV("<name>", <reg_l>, <reg_r>, 0, 40, 255, 1, <tlv>) the range 215..0 was being sent to the hardware. This commit corrects this to 255..40 so it is consistent with the non-invert case. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2720386ec5d4df8fd31ff7845b6e8557dcde3a26 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Sep 22 16:25:29 2014 -0700 regulator: qcom-rpm: Regulator driver for the Qualcomm RPM Driver for regulators exposed by the Resource Power Manager (RPM) found in Qualcomm 8660, 8960 and 8064 based devices. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dfa5d19658a308b373ce0cb9f6be9338c16ce14f Author: Balaji T K <balajitk2@xxxxxxxxx> Date: Wed Sep 17 22:50:11 2014 +0530 MAINTAINERS: omap_hsmmc: remove myself from MAINTAINERS As I won't be able to maintain omap_hsmmc driver Signed-off-by: Balaji T K <balajitk2@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6606110d89aefcb21b9e70adfe064987cbd8393a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Sep 12 14:56:56 2014 -0700 mmc: Convert pr_warning to pr_warn Use the much more common pr_warn instead of pr_warning. Other miscellanea: o Coalesce formats o Realign arguments o Remove extra spaces when coalescing formats Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4f51b91335a63b2672a0f21fd13a684c8e35c4e8 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Fri Sep 12 07:12:14 2014 +0800 gpio: Fix return value check in xgene_gpio_probe() In case of error, the function devm_ioremap_nocache() returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f12c1f9002d27374fd205f6e692891116ca22272 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Wed Jul 30 14:59:49 2014 -0700 x86/vdso: Fix vdso2c's special_pages[] error checking Stephen Rothwell's compiler did something amazing: it unrolled a loop, discovered that one iteration of that loop contained an always-true test, and emitted a warning that will IMO only serve to convince people to disable the warning. That bogus warning caused me to wonder what prompted such an absurdity from his compiler, and I discovered that the code in question was, in fact, completely wrong -- I was looking things up in the wrong array. This affects 3.16 as well, but the only effect is to screw up the error checking a bit. vdso2c's output is unaffected. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/53d96ad5.80ywqrbs33ZBCQej%25akpm@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2b0bf6c85a4940e00516f68ff7103329abf8512d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 11:17:41 2014 -0700 Bluetooth: Convert bt_<level> logging functions to return void No caller or macro uses the return value so make all the functions return void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit be34f0f3e6aed6e828a8059247d169d38da128d7 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 21:47:43 2014 +0200 sched/numa: Kill the wrong/dead TASK_DEAD check in task_numa_fault() current->state == TASK_DEAD means that the task is doing its last schedule(), page fault is obviously impossible at this stage. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140921194743.GA30114@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 368c75b98bdfdfad54e7f165016819ef344e3587 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:59 2014 +0530 staging: rtl8188eu: odm.h: Remove unused struct dyn_primary_cca struct odm_dm_struct has a member of struct dyn_primary_cca, which is initialized once and then never used by driver, so we can remove struct dyn_promary_cca and code which initialize it. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f4ece938a70f6022a269f85bc06e796500f3ce3 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:58 2014 +0530 staging: rtl8188eu: Rework function ODM_AntennaDiversity_88E() Rename CamelCase function name. Remove unnecessary comments. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2f44b7cf616f0e309f5ebee46159b671ccb9aff Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:57 2014 +0530 staging: rtl8188eu: Rework function odm_HWAntDiv() Rename CamelCase function name and local variables. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c45dde4ab133b1e8f1690670b5a09d60a8754d6 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:56 2014 +0530 staging: rtl8188eu: Rework function ODM_AntselStatistics_88E() Rename CamelCase function name and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b26b75dafb0dd53d10c2cf98c9b8c92e41a4cf3 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:55 2014 +0530 staging: rtl8188eu: Rework function ODM_SetTxAntByTxInfo_88E() Rename CamelCase function name and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7614f023502475c0532a9024c0b1ea42ea61c225 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:54 2014 +0530 staging: rtl8188eu: Rework function odm_UpdateTxAnt_88E() Rename CamelCase function name and local variables. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 052a806d6b4e6bed40bb4a184b1082ac26ffaf03 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:53 2014 +0530 staging: rtl8188eu: Rework function ODM_UpdateRxIdleAnt_88E() Rename CamelCase function name and local variables. Remove unnecessary debugging messages and comments. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db0ccdacd086343ee3672fa8abd659a5d8b18929 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:52 2014 +0530 staging: rtl8188eu: Rework function ODM_AntennaDiversityInit_88E() Rename CamelCase function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4d7ea09910ec8e97f60517f20d37debec947a83 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:51 2014 +0530 staging: rtl8188eu: Rework function odm_FastAntTrainingInit() Rename CamelCase function name. Remove unnecessary comments and debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09002c76b56c2b3e29bf83c78c8120fa9d8a9d37 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:50 2014 +0530 staging: rtl8188eu: Rework function odm_TRX_HWAntDivInit() Rename CamelCase function name. Remove unnecessary comments. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87b89e850fbaae16ce845be8559e1b54cb57fec5 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:49 2014 +0530 staging: rtl8188eu: Rework function odm_RX_HWAntDivInit() Rename CamelCase function name. Remove unnecessary comments. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 146b901038eea2e73fb4674d63f55b97c7a09de5 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:48 2014 +0530 staging: rtl8188eu: Remove unused header file odm_RegDefine11AC.h Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f1b7df41526538d544b108c1d7ceca79963abe4 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:47 2014 +0530 staging: rtl8188eu: Remove odm_debug.c Move a function and global variable from odm_debug.c to odm.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46fa0ec0fa4d396e94ac9a8d3e01e6da1f35efdd Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Mon Sep 22 21:27:47 2014 +0100 staging: vt6655: device_get_options remove unused variable devname Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42f709eff132e82f5375b4daae208953035768b2 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Mon Sep 22 21:27:46 2014 +0100 staging: vt6655: pr_err remove string to net device name Just print driver name with dev_err removing the string formatting. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74316949a2f26b75e66cd1c8c8bad4cde1841645 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Tue Sep 9 09:38:01 2014 +0300 MAINTAINERS: Move Xillybus out of staging Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7051924f771722c6dd235e693742cda6488ac700 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Tue Sep 9 09:36:04 2014 +0300 xillybus: Move out of staging This driver has been functional and stable throughout the year it has spent in the staging area. It has been patched for minor bugs, coding style issues and improvements during this period. This is the second submission of this move-out, after making several style improvements, as suggested by Dan Carpenter. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b4c8cfaff67086f7c8c2540576a6e9504c8bd88 Author: Grzegorz Swirski <grzegorz@xxxxxxxxxxxx> Date: Sat Sep 20 12:09:11 2014 +0100 staging: wlan-ng: remove unused 'result' var Signed-off-by: Grzegorz Swirski <grzegorz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1d1a9d3a104531e25b7a33d60b627e93700327f Author: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Date: Sat Sep 20 14:40:38 2014 +0200 staging: line6: fix midibuf.c coding style issue Fix the following checkpatch.pl warning: - else is not generally useful after a break or return Signed-off-by: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c74920124750e5270c689d8c892a1c4263e5a547 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Sep 23 09:22:36 2014 +0900 staging: dgap: use dgap_release_remap() in dgap_cleanup_board() Just simply use dgap_release_remap() in dgap_cleanup_board() for releasing map memory. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b23e487903ae1cf5d06c14fa719555dead0f5ae4 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Sep 23 09:22:08 2014 +0900 staging: dgap: adds missing iounmap for re_map_port in dgap_release_remap() Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 476f6bc80ba98ce4feab8eb90ed389b6cd47d613 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Sep 23 09:21:38 2014 +0900 staging: dgap: remove unused 'runwait' variable Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d40f0d8d3d09732853ea010c12100609269a6e41 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Tue Sep 23 20:41:14 2014 +0100 staging: et131x: Remove unnecessary defines to enable driver PM The Power Management functions can be conditional by assigning pm ops directly to .driver.pm, instead of using #ifdef's, saving some lines of code. Reported-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b57cb55b463d918e07843ebd552da8557d37e3ff Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Tue Sep 23 20:41:13 2014 +0100 staging: et131x: Add space after { in pci ID table Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecce565056db18b6136d9ff9232aa3761aae4e48 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Tue Sep 23 20:41:12 2014 +0100 staging: et131x: don't cast a void* to a struct pointer Casting a void* popinter to a struct pointer is unnecessary, don't do it. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e112eb598db4fb7b99086c33765cf262dcfda0d2 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Tue Sep 23 20:41:11 2014 +0100 staging: et131x: zero allocation of fbr to prevent random address access If et131x_rx_dma_memory_alloc() allocates rx_ring->fbr[0] but fails to allocate rx_ring->fbr[1], this leaves fbr[0]->ring_virtaddr with the possibility of being accessed in et131x_rx_dma_memory_free() as it contains a random value, potentially causing an oops. Fix this by zeroing the fbr memory on allocation. Subsequent frees of this fbr memory explicitly zeros the ring_virtaddr value. Reported-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfe945c8e1260e405a7a257719c9e2cf77cafa4e Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Wed Sep 10 22:43:51 2014 +0800 imx-drm: imx-drm-core: add basic suspend/resume support HDMI currently stops working after a system suspend/resume cycle. The cause is that the mode setting states in hardware gets lost and isn't restored across the suspend/resume cycle. The patch adds a very basic suspend/resume support to imx-drm driver, and calls drm_helper_resume_force_mode() in .resume hook to restore the mode setting states, so that HDMI can continue working after a system suspend/resume cycle. Since the suspend/resume hook can be called with drm_device pointer being NULL from driver data, we need a check on the pointer in the hooks. And to avoid using a stale pointer from driver data, it also clears driver data in .unload hook. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b46355f0f77f6553ad6079ffd6ee5adfb8ca7a8b Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Wed Sep 10 22:10:43 2014 +0800 imx-drm: ipuv3-plane: remove function ipu_plane_dpms() All those ipu_*_put() calls in ipu_plane_dpms() are unnecessary, because the only occurrence of ipu_plane_dpms() with 'mode' not being DRM_MODE_DPMS_ON is in function ipu_disable_plane(), which already has a ipu_plane_put_resources() call to put those ipu resources right after ipu_plane_dpms(). So with those redundant ipu_*_put() calls removed from ipu_plane_dpms(), the only left code in the function is ipu_plane_enable|disable(). Thus, we can just call ipu_plane_enable|disable() as needed directly and remove the ipu_plane_dpms() function completely. Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bef59c5024be687ef4f228915af9961307a779ab Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 15:26:35 2014 +0200 devres: Improve devm_kasprintf()/kvasprintf() support - Add devm_kasprintf()/kvasprintf(), introduced by commit 75f2a4ead5d5890ada9c2663a70fb58613c0d9f2 ("devres: Add devm_kasprintf and devm_kvasprintf API"), to Documentation/driver-model/devres.txt, - Improve kernel doc: the string is not an existing formatted string, but is formatted into the newly-allocated buffer, - Add a __printf() annotation to devm_kasprintf(), so the compiler will verify the format string argument types. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54270354b518952da934ee1c7e13ed1c9654fd22 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 15:26:34 2014 +0200 Documentation: devres: Add missing devm_kstrdup() managed interface Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea05166aac28c1792201b8ab8d5e342f512e6c8f Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Thu Aug 14 10:05:03 2014 +0200 Documentation: devres: Add missing IRQ functions Commit 0668d3065128 ("genirq: Add devm_request_any_context_irq()") introduced devm_request_any_context_irq() and commit 935bd5b971f0 ("genirq: add support for threaded interrupts to devres") added devm_request_threaded_irq(). Add these two functionions to the list of managed interfaces. Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 046c7911b224267062ab1caeabbf11bc46e9c152 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Sep 5 17:29:12 2014 -0700 Drivers: hv: vmbus: Enable interrupt driven flow control In win8 we have a feature that allows for interrupt driven flow management for host/guest communication. For instance, if the host were blocked because there was no space available in the ringbuffer, the host could request that the guest send an interrupt when space becomes available in the ringbuffer (when the guest drains the ringbuffer). While this feature was implemented in the guest a while ago, we had not advertised that the guest supported this feature. This patch advertises the support to the host. For pre-win8 hosts, this has no effect since the size of the ringbuffer control structure has not changed and all changes have been backward compatible - unused/reserved space has been used to implement this feature. In this version of the patch I have cleaned up the commit log based on feedback from Greg KH. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc5a5b02331a3175a5fca20a4beba249e573b672 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Tue Sep 2 19:21:47 2014 -0700 Drivers: hv: util: Properly pack the data for file copy functionality Properly pack the data for file copy functionality. Patch based on investigation done by Matej Muzila <mmuzila@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reported-by: <qge@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2115b5617adf2eecca49e78f3810f359ddc5c396 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Thu Aug 28 18:29:53 2014 -0700 Drivers: hv: vmbus: Properly protect calls to smp_processor_id() Disable preemption when sampling current processor ID when preemption is otherwise possible. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b29ef3546aecb253a5552b198cef23750d56e1e4 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Thu Aug 28 18:29:52 2014 -0700 Drivers: hv: vmbus: Cleanup hv_post_message() Minimize failures in this function by pre-allocating the buffer for posting messages. The hypercall for posting the message can fail for a number of reasons: 1. Transient resource related issues 2. Buffer alignment 3. Buffer cannot span a page boundry We address issues 2 and 3 by preallocating a per-cpu page for the buffer. Transient resource related failures are handled by retrying by the callers of this function. This patch is based on the investigation done by Dexuan Cui <decui@xxxxxxxxxxxxx>. I would like to thank Sitsofe Wheeler <sitsofe@xxxxxxxxx> for reporting the issue and helping in debuggging. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reported-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98d731bb064a9d1817a6ca9bf8b97051334a7cfe Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 27 16:25:33 2014 -0700 Drivers: hv: vmbus: Cleanup vmbus_close_internal() Eliminate calls to BUG_ON() in vmbus_close_internal(). We have chosen to potentially leak memory, than crash the guest in case of failures. In this version of the patch I have addressed comments from Dan Carpenter (dan.carpenter@xxxxxxxxxx). Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45d727cee9e200f5b351528b9fb063b69cf702c8 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 27 16:25:35 2014 -0700 Drivers: hv: vmbus: Fix a bug in vmbus_open() Fix a bug in vmbus_open() and properly propagate the error. I would like to thank Dexuan Cui <decui@xxxxxxxxxxxxx> for identifying the issue. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72c6b71c245dac8f371167d97ef471b367d0b66b Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 27 16:25:34 2014 -0700 Drivers: hv: vmbus: Cleanup vmbus_establish_gpadl() Eliminate the call to BUG_ON() by waiting for the host to respond. We are trying to reclaim the ownership of memory that was given to the host and so we will have to wait until the host responds. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66be653083057358724d56d817e870e53fb81ca7 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 27 16:25:32 2014 -0700 Drivers: hv: vmbus: Cleanup vmbus_teardown_gpadl() Eliminate calls to BUG_ON() by properly handling errors. In cases where rollback is possible, we will return the appropriate error to have the calling code decide how to rollback state. In the case where we are transferring ownership of the guest physical pages to the host, we will wait for the host to respond. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdeebcc62279119dbeafbc1a2e39e773839025fd Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 27 16:25:31 2014 -0700 Drivers: hv: vmbus: Cleanup vmbus_post_msg() Posting messages to the host can fail because of transient resource related failures. Correctly deal with these failures and increase the number of attempts to post the message before giving up. In this version of the patch, I have normalized the error code to Linux error code. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 471b095dfe0d693a8d624cbc716d1ee4d74eb437 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Sep 18 11:25:37 2014 -0700 firmware_class: make sure fw requests contain a name An empty firmware request name will trigger warnings when building device names. Make sure this is caught earlier and rejected. The warning was visible via the test_firmware.ko module interface: echo -ne "\x00" > /sys/devices/virtual/misc/test_firmware/trigger_request Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Tested-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06c88b0d7ad87540405aea7f91d98ef43be04c95 Author: Steven Honeyman <stevenhoneyman@xxxxxxxxx> Date: Fri Sep 5 18:03:42 2014 +0100 i8k: Add support for Dell Latitude E6540 Add support for the Dell Latitude E6540 which needs a different fan speed multiplier. Signed-off-by: Steven Honeyman <stevenhoneyman@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e45354645f77e83fe3832f150acdcfeff45f44c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 29 11:42:56 2014 +0300 VMCI: integer overflow in vmci_datagram_dispatch() This is untrusted user data from vmci_host_do_send_datagram() so the VMCI_DG_SIZE() macro can have an integer overflow. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95e838c915edbdde366d111905245171ac99c2cc Author: Federico Vaga <federico.vaga@xxxxxxx> Date: Mon Sep 1 13:49:56 2014 +0200 ipoctal: clear break interrupt as soon as it occurs In some condition we receive the break interrupt but nothing is putted in the Rx FIFO and the correspondend bit in the status register is not set. Thus, no-one clear the interrupt and the handler will be called forever. This patch clear the break interrupt as soon as it occurs. Then, if the break character '\0' is putted in the fifo we will manage it. We can also unmask the Break interrupt but its bit in ISR is still set on break. So I think is better to keep the registers clean. Signed-off-by: Federico Vaga <federico.vaga@xxxxxxx> Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1451f414639465995dfc1f820aa1a64723cbd662 Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:53 2014 +0200 GenWQE: Support blocking when DDCB queue is busy When the GenWQE hardware queue was busy, the driver returned simply -EBUSY. This caused polling by applications which increased the load on the already busy system. This change implements the possiblity to sleep on a waitqueue instead when the DDCB queue is busy. The requestor is woken up when there is free space on the queue again. The old way to get -EBUSY is still available if the device is openend with O_NONBLOCKING. The default is now blocking behavior. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08e4906cc29d092ae2da0ff089efe1488e584d3c Author: Eberhard S. Amann <esa@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:52 2014 +0200 GenWQE: Fix problem when reading HSI and Retc This patch fixes a problem we found during debug on PPC64 when reading HSI status and Retc. Signed-off-by: Eberhard S. Amann <esa@xxxxxxxxxxxxxxxxxx> Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9c11d45b33c9226abd50a50c87e19bfa7c7a2cb Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:51 2014 +0200 GenWQE: Fix checkpatch complaints The checkpatch.pl script got improved. I ran it on the latest GenWQE sources and fixed what it complained about. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc407dd319bb8c3608369989d95b700d00e6cf43 Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:50 2014 +0200 GenWQE: Check return code of pci_sriov_enable Forgetting to check this, can lead to problems on systems which do not support SRIOV. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d880ccfa9be92a10ea19f5a8f7e4be2a7d45e4d Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:49 2014 +0200 GenWQE: Do not modify return code of genwqe_set_interrupt_capability Follow up patch to the one from Sebastian Ott. There is no need to change the return code once it fails. And Sebastians version is tested now and works nicely on our test-system. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26d8f6f15112b8b0fbff360c360e8c42bf2bc370 Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:48 2014 +0200 GenWQE: Update author information Updated email address of co-author. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Jung <mijung@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64df2ec5108de3f627761cade7b31e5d583ce448 Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:47 2014 +0200 GenWQE: Remove sysfs entry for driver version A special sysfs entry to display the driver version is not needed. We left the driver version and adjusted it to the naming a lot of other drivers use. The information can be retrieved by using modinfo genwqe_card. modinfo genwqe_card will provide the same information. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95a8825c9c3482e31ee5064184138a18be186515 Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:46 2014 +0200 GenWQE: Check pci_get_totalvfs return code Currently the driver is using the pci_get_totalvfs() return code directly in a loop. To avoid problems with potentially negative returns in case of errors, we are adding some more sanity checking code. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffdbb715fa0c53203b1ea2a6ecc54bdcc8951612 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 14:14:09 2014 +0100 misc: st_kim: Increase size of dev_name buffer to incorporate termination Calling strncpy with a maximum size argument of 32 bytes on destination array kim_gdata->dev_name of size 32 bytes might leave the destination string unterminated. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4ebe5fe2d507a4c228bf90dea7dd4de57cbce92 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 14:14:08 2014 +0100 misc: st_core: Protect unsigned value against becoming negative Coverity reported: This less-than-zero comparison of an unsigned value is never true. In answer to that, we only ever decrement if protos_registered is positive. We can subsequently remove the paranoid checking during unregister. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ae39cc98192252f756f8943be85e9f4dbd8436e Author: Matwey V. Kornilov <matwey@xxxxxxxxxx> Date: Wed Aug 27 12:07:44 2014 +0400 parport: parport_pc: Implement architecture and device check to cut off false-positives We definitely know that only x86 (32-bit) architecture is affected by the issue, so implement a stub instead of the actual check for other architectures. We also know that motherboard LPT chipset is affected, so the port is either come from parport_pc_init (when `io' module param is used) or parport_pc_find_isa_ports (when default LPT ports are probbed: 0x378, 0x278, 0x3bc). In both cases the port considered as 'legacy' and `dev' member of struct parport is NULL. See also comments for `struct parport' in parport.h Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17891c8a9ea17a11b437c7184f7f04e0ab7be811 Author: Matwey V. Kornilov <matwey@xxxxxxxxxx> Date: Wed Aug 27 12:07:43 2014 +0400 parport: parport_pc: Introduce intel_bug_present function. Put the code to check present of the Intel bug from parport_EPP_supported into new intel_bug_present function. The later also return ECR register to the state it has before function call. Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82a82340bab6c251e0705339f60763718eaa2a22 Author: Federico Vaga <federico.vaga@xxxxxxx> Date: Tue Sep 2 17:31:41 2014 +0200 ipoctal: get carrier driver to avoid rmmod Signed-off-by: Federico Vaga <federico.vaga@xxxxxxx> Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36c53b3cc3fac6952af68f43609b15ae050c9318 Author: Federico Vaga <federico.vaga@xxxxxxx> Date: Tue Sep 2 17:31:40 2014 +0200 ipack: save carrier owner to allow device to get it There was not any kind of protection against carrier driver removal. In this way, device driver can 'get' the carrier driver when it is using it. Signed-off-by: Federico Vaga <federico.vaga@xxxxxxx> Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78f22bc29e6e367f272a7fc700baa4d4263d376a Author: Federico Vaga <federico.vaga@xxxxxxx> Date: Tue Sep 2 17:31:39 2014 +0200 ipoctal: reset function istead of duplicate code Signed-off-by: Federico Vaga <federico.vaga@xxxxxxx> Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0b04f2e94baca0f8135e7d5648c21be2e29d831 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 14:09:23 2014 +0200 drivers/ipack/devices/ipoctal.h: Fix typo in include guard Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95ead5f606971022b6b72557038eef6a78c86e59 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sun Aug 17 18:01:03 2014 +0300 documentation: devicetree: Added xillybus to vendor-prefixes Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5534b6733d202b72e3e78be4e9b601b57120d1e3 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 14:02:05 2014 +0200 char: xilinx_hwicap: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41575335ed026339e07f265ede3a21e995bee8e6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 8 15:56:36 2014 +0200 driver core: Remove kerneldoc from local function The deferred_probe_work_func() function is locally scoped, therefore an associated kerneldoc comment isn't very useful. Replace the kerneldoc opening marker (/**) with a regular block comment marker (/*) to avoid the comment from being parsed by kerneldoc. This gets rid of a warning caused by a missing description for the "work" argument. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 759e7d6df3e4da96573a0bf957383211314792ee Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Thu Aug 7 17:43:28 2014 +0530 pcie-gadget-spear: use devm_ functions The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Also, the unnecessary labels are removed and linux/device.h is added to make sure the devm_*() routine declarations are unambiguously available. The initial call to platform_get_resource is moved down to the introduced call to devm_ioremap_resource that uses its result. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 322d3f6a58e479d27b86deb6024148669d6a2fa1 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 6 17:37:41 2014 +0200 misc: lattice-ecp3-config: Add missing MODULE_FIRMWARE() Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Tested-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1698da246134e88bb05550dafe7c34b47387655a Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Aug 2 00:34:23 2014 +0530 EEPROM: Introduce the use of devm_kzalloc This patch introduces the use of devm_kzalloc and does away with the kfrees in the probe and remove functions. Also, a label and the err variable are removed. The header device.h is included to make the devm_ function explicitly available and slab.h is done away with as it is no longer needed. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26c3af6c1580a0a6d63cf507ad249953cfaff703 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Sep 10 14:07:36 2014 -0700 crypto: qat - Removed unneeded partial state Removed additional bufer for HW state for partial requests, which are not going to be supported. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7752759d957a84c889556e3096db21ec43312eb3 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Sep 10 14:07:31 2014 -0700 crypto: qat - Fix typo in name of tasklet_struct Fix typo. resp_hanlder should be resp_handler Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cfda2794b5afe7ce64ee9605c64bef0e56a48125 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Aug 25 16:46:53 2014 +0300 mei: bus: fix possible boundaries violation function 'strncpy' will fill whole buffer 'id.name' of fixed size (32) with string value and will not leave place for NULL-terminator. Possible buffer boundaries violation in following string operations. Replace strncpy with strlcpy. Cc: stable@xxxxxxxxxxxxxxx # 3.10+ Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 154eb18fedd5219516887a7e2bf2825b1b06ff2b Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:23 2014 +0300 mei: use connect_data on the stack There is no need for dynamic allocation for connect_data. We can use variable on the stack and make code less error prone and simple Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f046e7b6f4f0d8c9504e22cf8eacfe5c78f0f01 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:22 2014 +0300 mei: enable adding more IOCTL handlers Handle ioctls in a switch statement so we can add more commands easily Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bae1cc7d41fd3048f55c21a6e59c35a3f0abaafe Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:21 2014 +0300 mei: extract supported features from the hbm version extract supported hbm features and commands from the hbm version Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2af89db1d61a872e5f2f1fb18d44cf5d8f5f6a2a Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:20 2014 +0300 mei: simplify handling of hbm client events Add mei_hbm_cl_find_by_cmd handler to retrieve the destination client Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb02efc3a6e96a0dc4aba8ebf0c1136b72fbe8ba Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Thu Aug 21 14:29:19 2014 +0300 mei: wait for hbm start non-interruptible We cannot handle user interrupt in context of hbm start so we only wait for time out which is reasonably short. 1. Add kdoc 2. Rename state to better reflect its function 3. Simplify wait condition and rename wait_recvd_msg to wait_hbm_start Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12f45ed414c8d2eac1a98bf2deaf4117e8c0324f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:18 2014 +0300 mei: revamp connect and disconnect response handling Both responses have same flow only the client status update is different. We introduce handler mei_hbm_cl_res() that handles both responses Also we use per client wait queue (cl->wait) rather then global dev->wait_recvd_msg Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a8373fba0ab2cec8d206747ad60ca4a30821a37 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:17 2014 +0300 mei: use disconnect name consistently Rename mei_cl_irq_close to mei_cl_irq_disconnect and MEI_FOP_CLOSE to MEI_FOP_DISCONNECT Remove unused MEI_FOP_OPEN Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89778d6e2a39027977e2de822808bd82afd6ea46 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:16 2014 +0300 mei: add hbm commands return status values HBM uses global list of status values from which the values of particular commands are derived Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d880f3294d0576e79dfab4e2cd5a2eb62fe188f0 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:15 2014 +0300 mei: add mei_me_cl_by_uuid_id function When handling dynamic clients there might be a race scenario in which two me clients with the same me address would be linked in the me clients list, therefore we need to search by both uuid and me address. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25ca6472b590e87efba314892a76bd5629c8c989 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:14 2014 +0300 mei: add me client remove functions To support dynamic addition/remove we add wrappers for removal of me clients Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ca2d3882d60c040285d0b45df731e11f5da7c64 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:13 2014 +0300 mei: use list for me clients book keeping To support dynamic addition/remove of clients it is more convenient to use list instead of static array Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d320832f64666089a06778782e42fac29abd7bf7 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Aug 24 12:08:55 2014 +0300 mei: me_client lookup function to return me_client object For support of dynamic addition and removal of me clients it is more convenient to use a list instead of static array as is use now. As the first step of the transition to the new data structure we change the lookup function so it returns me client address instead of an index. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68d1aa65978b86b2ca5bdf7211b27cfd32c3212d Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:11 2014 +0300 mei: use wrapper for simple hbm client message Reduce few code lines by using wrappers for sending simple hbm client messages Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3438c1f3b7b3f18a85ea7ed3c2f70ffe387aeee9 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:10 2014 +0300 mei: use consistently me_addr in the hbm structures Use consistently me_addr name in hbm protocol structures to represent in firmware client address Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05e314e2535f1693098e58b0261169565a43bec1 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Thu Aug 14 17:22:21 2014 +0300 mei: amthif: don't check amthif client identity on amthif queues Amthif has its own queues therefore it is redundant to check the client type when processing the queues Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5456796b1a2aedd2d6345944b73ac41aeb8cb589 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Thu Aug 14 17:22:20 2014 +0300 mei: amthif: use service function to flush amthif queue Replace open coded loop with an existing service function: mei_io_list_flush Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c2b93ecace25c3720e68e6cd7ee47f38c1d2e90 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Aug 12 20:16:03 2014 +0300 mei: me: wait for hw ready non-interruptible We cannot handle user interrupt in context of hw initialization so we only wait for time out which is reasonably short Also we don't need to check error from wait, only flag value. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 287f9bd9325b982ed19371697d4af7032c5a3b0b Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Tue Aug 12 02:54:09 2014 +0530 attribute_container: fix coding style issues Fix checkpatch.pl issues with coding style. Added and removed spaces accordingly. Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24a7d36a7260a30b8477d1fe0335c87ad846ed56 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Tue Aug 12 02:54:08 2014 +0530 attribute_container: fix whitespace errors This is a clean-up patch to the attribute_container.c file to fix the whitespace errors. Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 655e5b7c031e84cf8c07cfd6a5944ce53cba1add Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Tue Aug 26 00:34:44 2014 -0700 drivers/base: Fix length checks in create_syslog_header()/dev_vprintk_emit() snprintf() returns the number of bytes that could have been written (excluding the null), not the actual number of bytes written. Given a long enough subsystem or device name, these functions will advance beyond the end of the on-stack buffer in dev_vprintk_exit(), resulting in an information leak or stack corruption. I don't know whether such a long name is currently possible. In case snprintf() returns a value >= the buffer size, do not add structured logging information. Also WARN if this happens, so we can fix the driver or increase the buffer size. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 833c95456a70826d1384883b73fd23aff24d366f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 12 09:01:56 2014 +0200 device coredump: add new device coredump class Many devices run firmware and/or complex hardware, and most of that can have bugs. When it misbehaves, however, it is often much harder to debug than software running on the host. Introduce a "device coredump" mechanism to allow dumping internal device/firmware state through a generalized mechanism. As devices are different and information needed can vary accordingly, this doesn't prescribe a file format - it just provides mechanism to get data to be able to capture it in a generalized way (e.g. in distributions.) The dumped data will be readable in sysfs in the virtual device's data file under /sys/class/devcoredump/devcd*/. Writing to it will free the data and remove the device, as does a 5-minute timeout. Note that generalized capturing of such data may result in privacy issues, so users generally need to be involved. In order to allow certain users/system integrators/... to disable the feature at all, introduce a Kconfig option to override the drivers that would like to have the feature. For now, this provides two ways of dumping data: 1) with a vmalloc'ed area, that is then given to the subsystem and freed after retrieval or timeout 2) with a generalized reader/free function method We could/should add more options, e.g. a list of pages, since the vmalloc area is very limited on some architectures. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 638139eb95d2d241781330a321e88c8dafe46078 Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:24 2014 +0200 usb: hub: allow to process more usb hub events in parallel It seems that only choose_devnum() was not ready to process more hub events at the same time. All should be fine if we take bus->usb_address0_mutex there. It will make sure that more devnums will not be chosen for the given bus and the related devices at the same time. Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37ebb54915dc42944f6ae92fe53b9531c3903801 Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:23 2014 +0200 usb: hub: rename khubd to hub_wq in documentation and comments USB hub has started to use a workqueue instead of kthread. Let's update the documentation and comments here and there. This patch mostly just replaces "khubd" with "hub_wq". There are only few exceptions where the whole sentence was updated. These more complicated changes can be found in the following files: Documentation/usb/hotplug.txt drivers/net/usb/usbnet.c drivers/usb/core/hcd.c drivers/usb/host/ohci-hcd.c drivers/usb/host/xhci.c Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59d48b3f1fdf307115af38b91c3ea4ddb57b73a2 Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:22 2014 +0200 usb: hub: rename usb_kick_khubd() to usb_kick_hub_wq() USB hub started to use a workqueue instead of kthread. Let's make it clear from the function names. Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32a6958998c52e2b00c2f6459acf9a1f09f054ad Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:21 2014 +0200 usb: hub: convert khubd into workqueue There is no need to have separate kthread for handling USB hub events. It is more elegant to use the workqueue framework. The workqueue is allocated as freezable because the original thread was freezable as well. Also it is allocated as ordered because the code is not ready for parallel processing of hub events, see choose_devnum(). struct usb_hub is passed via the work item. Therefore we do not need hub_event_list. Also hub_thread() is not longer needed. It would call only hub_event(). The rest of the code did manipulate the kthread and it is handled by the workqueue framework now. kick_khubd is renamed to kick_hub_wq() to make the function clear. And the protection against races is done another way, see below. hub_event_lock has been removed. It cannot longer be used to protect struct usb_hub between hub_event() and hub_disconnect(). Instead we need to get hub->kref already in kick_hub_wq(). The lock is not really needed for the other scenarios as well. queue_work() returns whether it succeeded. We could revert the needed operations accordingly. This is enough to avoid duplicity and inconsistencies. Yes, the removed lock causes that there is not longer such a strong synchronization between scheduling the work and manipulating hub->disconnected. But kick_hub_wq() must never be called together with hub_disconnect() otherwise even the original code would have failed. Any callers are responsible for this. Therefore the only problem is that hub_disconnect() could be called in parallel with hub_event(). But this was possible even in the past. struct usb_hub is still guarded by hub->kref and released in hub_events() when needed. Note that the source file is still full of the obsolete "khubd" strings. Let's remove them in a follow up patch. This patch already is complex enough. Thanks a lot Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> for code review, many useful tips and guidance. Also thanks to Tejun Heo <tj@xxxxxxxxxx> for hints how to allocate the workqueue. Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb6e29248714d767d5338b8b82d286293e8a041a Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:20 2014 +0200 usb: hub: rename hub_events() to hub_event() and handle only one event there We would like to convert khubd kthread to a workqueue. As a result hub_events() will handle only one event per call. In fact, we could do this already now because there is another cycle in hub_thread(). It calls hub_events() until hub_event_list is empty. This patch renames the function to hub_event(), removes the while cycle, and renames the goto targets from loop* to out*. When touching the code, it fixes also formatting of dev_err() and dev_dbg() calls to make checkpatch.pl happy :-) Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d14f323834eeb0cd428bcec4a9cd8d8839467fb Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:19 2014 +0200 usb: hub: keep hub->dev reference all the time when struct usb_hub lives This is just a small optimization of the fix from the commit c605f3cdff53a743f6 ("usb: hub: take hub->hdev reference when processing from eventlist). We do not need to take the reference for each event. Instead we could get it when struct usb_hub is allocated and put it when it is released. By other words, we could handle it the same way as the reference for hub->intfdev. The motivation is that it will make the life easier when switching from khubd kthread to a workqueue. Suggested-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3512e7bfea6a459cad84712a021d856bd78cd7e4 Author: Mark Knibbs <markk@xxxxxxxxxxx> Date: Tue Sep 23 12:43:02 2014 +0100 storage: Add quirk for another SCM-based USB-SCSI converter There is apparently another SCM USB-SCSI converter with ID 04E6:000F. It is listed along with 04E6:000B in the Windows INF file for the Startech ICUSBSCSI2 as "eUSB SCSI Adapter (Bus Powered)". The quirk allows devices with SCSI ID other than 0 to be accessed. Also make a couple of existing SCM product IDs lower case to be consistent with other entries. Signed-off-by: Mark Knibbs <markk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57cde01a7b8111cdd43b6a261763aad1ead8161c Author: Mark Knibbs <markk@xxxxxxxxxxx> Date: Tue Sep 23 11:20:17 2014 +0100 storage: Add quirks for Castlewood and Double-H USB-SCSI converters Castlewood Systems supplied various models of USB-SCSI converter with their ORB external removable-media drive. The ORB Windows and Macintosh drivers support six USB IDs: 084B:A001 [VID 084B is Castlewood Systems] 04E6:0002 (*) ORB USB Smart Cable P/N 88205-001 (generic SCM ID) 2027:A001 Double-H Technology DH-2000SC 1822:0001 (*) Ariston iConnect/iSCSI 07AF:0004 (*) Microtech XpressSCSI (25-pin) 07AF:0005 (*) Microtech XpressSCSI (50-pin) *: quirk already in unusual-devs.h [Apparently the official VID for Double-H Technology is 0x07EB = 2027 decimal. That's another hex/decimal mix-up with these SCM-based products (in addition to the Ariston and Entrega ones). Perhaps the USB-IF informed companies of their allocated VID in decimal, but they assumed it was hex? It seems all Entrega products used VID 0x1645, not just the USB-SCSI converter.] Double-H Technology Co., Ltd. produced a USB-SCSI converter, model DH-2000SC, which is probably the one supported by the ORB drivers. Perhaps the Castlewood-bundled product had a different label or PID though? Castlewood mentioned Conmate as being one type of USB-SCSI converter. Conmate and Double-H seem related somehow; both company addresses in the same road, and at one point the Conmate web site mentioned DH-2000H4, DH-200D4/DH-2000C4 as models of USB hub (DH short for Double-H presumably). Conmate did show a USB-SCSI converter model CM-660 on their web site at one point. My guess is that was identical to the DH-2000SC. Mention of the Double-H product: http://web.archive.org/web/20010221010141/http://www.doubleh.com.tw/dh-2000sc.htm The only picture I could find is at http://jp.acesuppliers.com/catalog/j64/component/page03.html The casing design looks the same as my ORB USB Smart Cable which has ID 04E6:0002. Anyway, that's enough rambling. Here's the patch. storage: Add quirks for Castlewood and Double-H USB-SCSI converters Add quirks for two SCM-based USB-SCSI converters which were bundled with some Castlewood ORB removable drives. Without the quirk only the (single) drive with SCSI ID 0 can be accessed. Signed-off-by: Mark Knibbs <markk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bda9893c50fb56253d3c206c14e3f933e5f68b3c Author: Mark Knibbs <markk@xxxxxxxxxxx> Date: Sun Sep 21 19:59:42 2014 +0100 storage: Replace magic number with define in usb_stor_euscsi_init() usb_stor_euscsi_init() calls usb_stor_control_msg() with timeout argument 5000. USB_CTRL_SET_TIMEOUT is defined to be 5000 in usb.h, so would it make sense to use that instead? Patch below if it would. Signed-off-by: Mark Knibbs <markk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 422d9abf99f12de5eb5fbc0f5bce87ff1066f941 Merge: 2fee8c1 ace8578 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:29:09 2014 -0700 Merge tag 'mvebu-fixes-3.17' of git://git.infradead.org/linux-mvebu into next/fixes-non-critical Merge "mvebu fixes for v3.17" from Jason Cooper: - kirkwood - final driver cleanup of ARCH_KIRKWOOD removal - fix DT based DSA - mvebu - use BCH ECC for the RN2120 and RN104/2 nand chips * tag 'mvebu-fixes-3.17' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Netgear RN102: Use Hardware BCH ECC ARM: Kirkwood: Fix DT based DSA. ARM: mvebu: Netgear RN2120: Use Hardware BCH ECC ARM: mvebu: Netgear RN104: Use Hardware BCH ECC cpufreq: Remove ARCH_KIRKWOOD dependency watchdog: Remove ARCH_KIRKWOOD dependency rtc: Remove ARCH_KIRKWOOD dependency leds: Remove ARCH_KIRKWOOD dependency thermal: Remove ARCH_KIRKWOOD dependency ata: Remove ARCH_KIRKWOOD dependency cpuidle: kirkwood: Remove ARCH_KIRKWOOD dependency commit 14e0e2833d44f61cb8168d04e979a2bfbc0f4bfb Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Sep 6 18:47:28 2014 +0800 dmaengine: sun6i: Remove obsolete clk muxing code The sun6i DMA controller requires the AHB1 bus clock to be clocked from PLL6. This was originally done by the dmaengine driver during probe time. The AHB1 clock driver has since been unified, so the original code does not work. Remove the clk muxing code, and replace it with DT clk default properties. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit fa0510fb215f600df663e31ab6bc027142dee92e Merge: 5f0798c 6051ddd Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:27:38 2014 -0700 Merge tag 'v3.18-rockchip-dts2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Merge "second bunch of dts changes for 3.18" from Heiko Stubner: More peripheral support for Rockchip SoCs - dwc2 usb controllers - spi controllers - emmc controller * tag 'v3.18-rockchip-dts2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: Remove "regulator-always-on" in vcc_rmii for Radxa Rock ARM: dts: rockchip: fix rk3188 emmc pull references ARM: dts: rockchip: fix swapped Radxa Rock pinctrl references ARM: dts: rockchip: clean up rk3xxx mmc nodes ARM: dts: rockchip: add emmc nodes for rk3066 and rk3188 ARM: dts: rockchip: add Cortex-A9 SPI controller nodes ARM: dts: rockchip: enable usb ports on Radxa Rock ARM: dts: rockchip: add dwc2 controllers for rk3066 and rk3188 ARM: dts: rockchip: remove rockchip,bus-index from rk3xxx i2c0 ARM: dts: Switch i2c0 to 400kHz on rk3288-evb-rk808 ARM: dts: Add rk808 PMIC to rk3288-evb-rk808 ARM: dts: Add mshc aliases for rk3288 ARM: dts: Add SPI nodes to rk3288 ARM: dts: Enable USB host1(dwc) on rk3288-evb ARM: dts: add rk3288 dwc2 controller support ARM: dts: Add sdio0 and sdio1 to the rk3288 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5f0798ce4a88e8f787c67f5265d77fc6428e2c88 Merge: 007c7fd aabff7b Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:26:19 2014 -0700 Merge tag 'qcom-dt-for-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/dt Merge "qcom DT changes for v3.18-2" from Kumar Gala: Qualcomm ARM Based Device Tree Updates for v3.18-2 * Added SDCC nodes on MSM8960/CDP and MSM8660/SURF * Added I2C and SDCC4/WLAN on APQ8064/IFC6410 * Added I2C on MSM8984/DB8074 * tag 'qcom-dt-for-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: DT: msm8960: Add sdcc nodes ARM: DT: msm8660: Add sdcc nodes ARM: DT: apq8064: Add i2c device nodes ARM: DT: apq8064: add support to sdcc4 for wlan. ARM: dts: qcom: Add I2C dt node for MSM8974 and DB8074 board Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 007c7fdbdfbb532c1af84770782898e2f7115007 Merge: 8adc36b edb81ca Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:25:39 2014 -0700 Merge tag 'qcom-dt-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/dt Merge "qcom DT changes for v3.18" from Kumar Gala: Qualcomm ARM Based Device Tree Updates for v3.18 * Added APQ8084 dt support for clocks, serial, pinctrl, and IFC6540 board * Added IPQ8064 dt support for basic SoC and AP148 board * Added APQ8064 dt support for pinctrl, reset, SDHC, and multimedia clocks * Added PMIC 8058 dt support on MSM8660, enables PMIC based power key, keypad, rtc, and vibrator * Added PMIC 8921 dt support on MSM8960, enables PMIC based power key, keypad, and rtc * tag 'qcom-dt-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: DT: QCOM: apq8064: Add dma support for sdcc node ARM: DT: apq8064: Add sdcc support via mcci driver. ARM: dts: qcom: Add 8064 multimedia clock controller node ARM: DT: APQ8064: Add node for ps_hold function in pinctrl ARM: DT: APQ8064: Add pinctrl support ARM: dts: qcom: Add TLMM DT node for APQ8084 ARM: dts: qcom: Add initial IFC6540 board device tree ARM: dts: msm: Add 8058 PMIC to ssbi bus ARM: dts: msm: Add 8921 PMIC to ssbi bus ARM: qcom: Add initial IPQ8064 SoC and AP148 device trees ARM: dts: qcom: Add APQ8084 serial port DT node ARM: dts: qcom: Add APQ8084 Global Clock Controller DT node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5cb307c4c27a9f37ef0c8e6bedc8c53c9197f48f Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 22:23:55 2014 -0700 USB: quirks.h: use BIT() Use the BIT macro instead of "open coding" bit fields. This makes it easier to actually see that the bits are not conflicting/overlapping. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37bdaf8291a403fbb17a758cccc566226e3b485a Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:21:54 2014 -0700 ARM: debug: fix alphanumerical order on debug uarts HIP04 was added out of order, but so was the previous HISI debug uart support as well. Minor reshuffling of order. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c8bc4dceb798fc18abd45ae7b7d9200009b1b2eb Merge: 0501414 c9a1df4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:20:10 2014 -0700 Merge tag 'D01-for-3.18' of git://github.com/hisilicon/linux-hisi into next/soc Merge "pull request for hisilicon hip04 soc and D01 board updates" from Wei Xu: ARM: mach-hisi: Hisilicon hip04 soc and D01 board updates for 3.18 - Add the CONFIG_MCPM_QUAD_CLUSTER configuration to enlarge cluster number from 2 to 4 - Enable MCPM on HiP04 SoC - Enable 16 cores on HiP04 SoC - Add platform & Fabric controller devicetree binding document for HiP04 SoC - Add hip04.dtsi & hip04-d01.dts for hip04 SoC platform and D01 board - Enable HiP04 SoC in both hi3xxx_defconfig & multi_v7_defconfig - Add the support of Hisilicon HiP04 debug uart * tag 'D01-for-3.18' of git://github.com/hisilicon/linux-hisi: ARM: debug: add HiP04 debug uart ARM: config: enable hisilicon hip04 ARM: dts: add hip04 dts document: dt: add the binding on HiP04 ARM: hisi: enable HiP04 ARM: hisi: enable MCPM implementation ARM: mcpm: support 4 clusters Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ddbe1fca0bcb87ca8c199ea873a456ca8a948567 Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Fri Sep 19 10:13:50 2014 +0800 USB: Add device quirk for ASUS T100 Base Station keyboard This full-speed USB device generates spurious remote wakeup event as soon as USB_DEVICE_REMOTE_WAKEUP feature is set. As the result, Linux can't enter system suspend and S0ix power saving modes once this keyboard is used. This patch tries to introduce USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk. With this quirk set, wakeup capability will be ignored during device configure. This patch could be back-ported to kernels as old as 2.6.39. Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0501414bd52409464a74d457b576c1666f2eb75c Merge: eec3173 b32c44b Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:15:16 2014 -0700 Merge tag 'renesas-clk2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Second Round of Renesas ARM Based SoC Clk Updates for v3.18" from Simon Horman. * Add r8a7740, sh73a0 SoCs to MSTP bindings * tag 'renesas-clk2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: clk: shmobile: Add r8a7740, sh73a0 SoCs to MSTP bindings Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4463e1526780ad1c4a15ef5d68cdc19315303d44 Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 07:19:48 2014 +0200 usb3503: clarify what the registers 'PDS' and 'CFG1' really do The current comment sounds like you have to disable some of the ports to be able to use self-powered mode. This is misleading, so change the wording to reflect this. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3717c5c9b9ddebcc8c3c612faf395767d462662c Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 07:19:47 2014 +0200 usb3503: fix typos in devicetree binding documentation 'availe' to 'available' 'desribed' to 'described' Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b0844214d1b9b9a09b5811e1965b903c43dd3ca Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 07:19:46 2014 +0200 usb3503: correct error message in probe ('connect' to 'interrupt') intn is obviously the interrupt pin. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6cd244b921973e4ff38f238496cc094142bd444 Author: Mickael Maison <mickael.maison@xxxxxxxxx> Date: Thu Sep 18 11:25:04 2014 +0200 usb: Fixed a few typos Fixed typos in comments of various drivers/usb files Signed-off-by: Mickael Maison <mickael.maison@xxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7adce46784a0992eb7276416798db6746ba8f667 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 5 17:56:25 2014 +0300 USB: storage: use %*ph specifier to dump small buffers Instead of dereference each byte let's use %*ph specifier in the printk() calls. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8adc36bcd374dc7381d15e654215dd1f548ccbef Merge: 96bdd9a d27704d Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:11:05 2014 -0700 Merge tag 'dt-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap dts changes for v3.18 merge window" from Tony Lindgren: Changes for .dts files for omaps for v3.18 merge window: - Updates for gta04 to add gta04a3 model - Add support for Tehnexion TAO3530 boards - Regulator names for beaglebone - Pinctrl related updates for omap5, dra7 and am437 - Model name fix for sbc-t54 - Enable mailbox for various omaps * tag 'dt-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (291 commits) ARM: dts: OMAP2+: Add sub mailboxes device node information ARM: dts: dra7-evm: Mark uart1 rxd as wakeup capable ARM: dts: OMAP5 / DRA7: switch over to interrupts-extended property for UART ARM: dts: AM437x: switch to compatible pinctrl ARM: dts: DRA7: switch to compatible pinctrl ARM: dts: OMAP5: switch to compatible pinctrl ARM: dts: am335x-boneblack: Add names for remaining regulators ARM: dts: sbc-t54: fix model property ARM: dts: omap5.dtsi: add DSS RFBI node ARM: dts: omap3: Add HEAD acoustics omap3-ha.dts and omap3-ha-lcd.dts (TAO3530 based) ARM: dts: omap3: Add Technexion Thunder support (TAO3530 SOM based) ARM: dts: omap3: Add Technexion TAO3530 SOM omap3-tao3530.dtsi ARM: OMAP2+: tao3530: Add pdata-quirk for the mmc2 internal clock ARM: OMAP2+: board-generic: add support for AM57xx family ARM: dts: dra72-evm: Add tps65917 PMIC node ARM: dts: dra72-evm: Enable I2C1 node Linux 3.17-rc3 unicore32: Fix build error vexpress/spc: fix a build warning on array bounds spi: sh-msiof: Fix transmit-only DMA transfers ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 791cc88c57b524b4267a9ea550b5306749fc7479 Merge: 9cdf6bd 75288cc Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:10:18 2014 -0700 Merge tag 'mailbox-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers Mailbox related changes for omaps to get it to work with device tree. * tag 'mailbox-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: mailbox/omap: add support for parsing dt devices Documentation: dt: add omap mailbox bindings Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9cdf6bd51030e8b80b752adc016719a5b5d75d50 Merge: 4693c72 55601c9f Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:08:40 2014 -0700 Merge tag 'intc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers Merge "omap intc changes for v3.18 merge window" from Tony Lindgren: Interrupt code related clean-up for omap2 and 3 to make it ready to move to drivers/irqchip. Note that this series does not yet move the interrupt code to drivers, that will be posted separately as a follow-up series. Note that this branch has a dependency to patches both in fixes-v3.18-not-urgent and soc-for-v3.18 and is based on a merge. Without doing the merge, off-idle would not work properly for git bisect. * tag 'intc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (325 commits) arm: omap: intc: switch over to linear irq domain arm: omap: irq: get rid of ifdef hack arm: omap: irq: introduce omap_nr_pending arm: omap: irq: remove nr_irqs argument arm: omap: irq: remove unnecessary header arm: omap: irq: drop omap2_intc_handle_irq() arm: omap: irq: drop omap3_intc_handle_irq() arm: omap: irq: call set_handle_irq() from .init_irq arm: omap: irq: move some more code around arm: boot: dts: omap2/3/am33xx: drop ti,intc-size arm: omap: irq: drop ti,intc-size support arm: boot: dts: am33xx/omap3: fix intc compatible flag arm: omap: irq: use compatible flag to figure out number of IRQ lines arm: omap: irq: add specific compatibles for omap3 and am33xx devices arm: omap: irq: drop .handle_irq and .init_irq fields arm: omap: irq: use IRQCHIP_DECLARE macro arm: omap: irq: call set_handle_irq() from intc_of_init arm: omap: irq: make intc_of_init static arm: omap: irq: reorganize code a little bit arm: omap: irq: always define omap3 support ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 13d79f223ff369970f3c9b402035125dd3c9cc00 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Wed Sep 3 23:50:31 2014 +0800 drivers/usb/host/ehci-xilinx-of.c: Include "linux/of_irq.h" to avoid compiling error Need include it for irq_of_parse_and_map(), the related error with allmodconfig under microblaze: drivers/usb/host/ehci-xilinx-of.c: In function â??ehci_hcd_xilinx_of_probeâ??: drivers/usb/host/ehci-xilinx-of.c:156:2: error: implicit declaration of function â??irq_of_parse_and_mapâ?? [-Werror=implicit-function-declaration] irq = irq_of_parse_and_map(dn, 0); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Michal Simek <monstr@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 275e517c30ab23d6da332419b6da5e2d5a234891 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:40:15 2014 -0500 usb: wusbcore: fix device disconnect on rekey timeout If three or more wireless devices are connected and two of them disconnect between 1-3 seconds apart, it can cause the HWA to disconnect the remaining devices due to failing to see a DN_Alive message from them. This happens because when the HWA detects that the first device is gone, it will attempt to rekey the remaining devices. If one of the devices is not responding because it has also been disconnected but not yet timed out, the synchronous rekey operation running on the wusbd workqueue can block for up to 5 seconds. This will prevent the KEEPALIVE timer from running and DN_Alive messages from being processed because they are processed by the same workqueue. This patch moves the rekey operation to a separate workqueue since it is the only wusb work item that needs to communicate directly with wireless devices. The rest of the WUSB work items either perform no device IO or communicate directly with the host controller and should not be blocked out by a non-responding wireless device. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b94be0db5b17fe5616ecfc4c064264625f92afb2 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:36:02 2014 -0500 usb: wusbcore: skip done segs before completing aborted transfer When completing an aborted transfer, skip done segs before calling wa_complete_remaining_xfer_segs to avoid a runtime warning. The warning is harmless in this case but avoiding it prevents false error reports. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f55025289cf7b5694d5c8af13c512660196ee285 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:25:26 2014 -0500 usb: wusbcore: USB_WUSB_CBAF depends on USB Add USB build dependency for USB_WUSB_CBAF. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f8ba4736af60e8e6a8daceb89a154b53d18c79 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:25:25 2014 -0500 usb: wusbcore: remove USB_WUSB build dependency on PCI Wireless USB does not require PCI so remove USB_WUSB build dependency on PCI. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbb671992b7a9c8467917f4a1eba9784650703e6 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:25:24 2014 -0500 usb: hwa: add USB build dependency for USB_HWA_HCD An HWA is a USB device so it depends on USB. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 534574bb462d044bd6e19471597672302625bd5e Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:10:51 2014 -0500 uwb: doc: add documentation for ASIE sysfs attribute Document the /sys/class/uwb_rc/uwbN/ASIE sysfs attribute Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d08e1ad994afb70daf4ebf340f50425c1c5a2b75 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:10:50 2014 -0500 uwb: add an ASIE sysfs attribute to uwb_rc devices Allow user mode to add and remove application specific information elements (ASIEs) to the beacon of a uwb_rc device. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 005799d560769bca8d87b08502c34317ab5e3bcd Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 15:53:09 2014 -0500 uwb: doc: bring uwb documentation up to date The existing UWB documentation states that UWB devices show up in /sys/class/uwb and /sys/bus/uwb/devices. Up until the most recent changes to add uwb devices to their own bus, neither of these statements were actually true. Now, UWB devices do show up in /sys/bus/uwb/devices so the documentation has been updated to reflect that and removed references to /sys/class/uwb. The existing documentation also states that local UWB radio controller (RC) devices also show up as UWB devices along with their wireless peer UWB devices under /sys/class/uwb. This is not true so that statement has been removed. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 848879340a7d220fd9801396eba82ecac2f2a739 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 15:53:08 2014 -0500 uwb: create a uwb bus type and add in-range peer devices to it Documentation/usb/WUSB-Design-overview.txt states that UWB devices seen by a UWB radio controller are added to /sys/bus/uwb/devices, but this was not actually being done. This functionality is needed in order for UWB peer devices to be enumerated by user mode tools. This patch creates a uwb bus type and adds UWB peer devices to it as they are discovered by the radio controller. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58e4ab3eb02c77e11eae1555e4d635a058afb629 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 15:40:04 2014 -0500 uwb: remove UWB build dependency on PCI UWB does not require PCI to be enabled so remove build dependency. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e53582bbb53c91342f0a80add9c689e75cd9b564 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 15:40:03 2014 -0500 uwb: update uwb device prints to be more useful Print info about the radio controller device instead of the its parent when UWB devices connect and disconnect. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eec317319ded3de245ca270a77cb83f523312575 Merge: 60f9126 377fb3f Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:04:19 2014 -0700 Merge tag 'soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc SoC related changes for omaps for v3.18 merge window: - PM changes to make the code easier to use on newer SoCs - PM changes for newer SoCs suspend and resume and wake-up events - Minor clean-up to remove dead Kconfig options Note that these have a dependency to the fixes-v3.18-not-urgent tag and is based on a commit in that series. * tag 'soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (514 commits) ARM: OMAP5+: Reuse OMAP4 PM code for OMAP5 and DRA7 ARM: dts: OMAP3+: Add PRM interrupt ARM: omap: Remove stray ARCH_HAS_OPP references ARM: DRA7: Add hook in SoC initcalls to enable pm initialization ARM: OMAP5: Add hook in SoC initcalls to enable pm initialization ARM: OMAP5 / DRA7: Enable CPU RET on suspend ARM: OMAP5 / DRA7: PM: Provide a dummy startup function for CPU hotplug ARM: OMAP5 / DRA7: PM: Avoid all SAR saves ARM: OMAP5 / DRA7: PM: Enable Mercury retention mode on CPUx powerdomains ARM: OMAP5 / DRA7: PM / wakeupgen: Enables ES2 PM mode by default ARM: OMAP5 / DRA7: PM: Set MPUSS-EMIF clock-domain static dependency ARM: OMAP5 / DRA7: PM: Update CPU context register offset ARM: AM437x: use pdata quirks for pinctrl information ARM: DRA7: use pdata quirks for pinctrl information ARM: OMAP5: use pdata quirks for pinctrl information ARM: OMAP4+: PM: Use only valid low power state for CPU hotplug ARM: OMAP4+: PM: use only valid low power state for suspend ARM: OMAP4+: PM: Make logic state programmable ARM: OMAP2+: powerdomain: introduce logic for finding valid power domain ARM: OMAP2+: powerdomain: pwrdm_for_each_clkdm iterate only valid clkdms ... commit 9282502044ce1db0e807fb4db09e66cbbcdd2b3d Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 15:40:02 2014 -0500 uwb: line length cleanup Fix line length in uwb-internal.h Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f8c0602ea75a48c3fd3e9ccd7b54b34ce68e71f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:26 2014 +0200 wusb: delete double assignment Delete successive assignments to the same location. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2fee8c1dd07260329e9788984b79b099456a9d11 Merge: 01100c0 3195760 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:03:03 2014 -0700 Merge tag 'fixes-v3.18-not-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical Merge "non-urgent omap fixes for v3.18 merge window" from Tony Lindgren: Fixes for omaps that were not considered urgent enough for the -rc cycle: - Fixes for .dts files to differentiate panda and beaglebone versions - Powerdomain fixes from Nishant Menon mostly for newer omaps - Fixes for __initconst and of_device_ids const usage * tag 'fixes-v3.18-not-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: make of_device_ids const ARM: omap2: make arrays containing machine compatible strings const ARM: OMAP4+: PM: Use only valid low power state for CPU hotplug ARM: OMAP4+: PM: use only valid low power state for suspend ARM: OMAP4+: PM: Make logic state programmable ARM: OMAP2+: powerdomain: introduce logic for finding valid power domain ARM: OMAP2+: powerdomain: pwrdm_for_each_clkdm iterate only valid clkdms ARM: OMAP5: powerdomain data: fix powerdomain powerstate ARM: OMAP: DRA7: powerdomain data: fix powerdomain powerstate ARM: dts: am335x-bone*: Fix model name and update compatibility information ARM: dts: omap4-panda: Fix model and SoC family details + Linux 3.17-rc3 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4693c723f713a11c9ef3cecdea295e824bf57901 Merge: 2f83c3d b052ff3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 21:58:35 2014 -0700 Merge tag 'at91-drivers2' of git://github.com/at91linux/linux-at91 into next/drivers Merge " Second drivers series for AT91/3.18" from Nicolas Ferre: - move of the PIT (basic timer) from mach-at91 to its proper location: drivers/clocksource - big cleanup of this driver along the way * tag 'at91-drivers2' of git://github.com/at91linux/linux-at91: ARM: at91: PIT: Move the driver to drivers/clocksource ARM: at91: Give the PIT irq as an argument of at91sam926x_pit_init ARM: at91: Convert the boards to the init_time callback ARM: at91: soc: Add init_time callback ARM: at91: PIT: (Almost) remove the global variables ARM: at91: PIT: use request_irq instead of setup_irq ARM: at91: PIT: Use pr_fmt ARM: at91: PIT: Use consistent exit path in probe ARM: at91: dt: Remove init_time definitions ARM: at91: PIT: Rework probe functions ARM: at91: PIT: Use of_have_populated_dt instead of CONFIG_OF ARM: at91: PIT: Use DIV_ROUND_CLOSEST to compute the cycles ARM: at91: generic.h: Add include safe guards ARM: at91: PIT: Follow the general coding rules Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 2b6127ddefb33c339b4f1effcefc788fdd3d7679 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 1 16:24:40 2014 +0200 usb: renesas_usbhs: fix driver dependencies Renesas USBHS controller support should be available only on Renesas ARM SoCs and SuperH architecture. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2db941623d5cf9e421455879393dd1d2e55c65b7 Author: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Date: Mon Sep 22 11:16:19 2014 +0530 usb: host: ohci-exynos: Remove unnecessary usb-phy support Now that we have completely moved from older USB-PHY drivers to newer GENERIC-PHY drivers for PHYs available with USB controllers on Exynos series of SoCs, we can remove the support for the same in our host drivers too. We also defer the probe for our host in case we end up getting EPROBE_DEFER error when getting PHYs. Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 113ad911ad4a1ccbd0eaf6926b75b0ec77510c14 Author: Arjun Sreedharan <arjun024@xxxxxxxxx> Date: Tue Aug 19 04:23:34 2014 +0530 usb: misc: yurex: remove useless casting of private_data Signed-off-by: Arjun Sreedharan <arjun024@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cffb9be80f8a6d51d025780864c781ba83541720 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:51 2014 +0300 xhci: Log extra info on "ERROR Transfer event TRB DMA ptr not part of current TD" Lately (with the use of uas / bulk-streams) we have been seeing several cases where this error triggers (which should never happen). Add some extra logging to make debugging these errors easier. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f85c9fb62c59b78a1169b269f4ca697b1e06ee98 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:54 2014 +0300 xhci: Remove "FIXME - check all the stream rings for pending cancellations" Even though a Set TR deq ptr command operates on a ring, and an endpoint can have multiple rings, we can have only one Set TR deq ptr command pending. When an endpoint with streams halts or is stopped to unlink urbs, there will only be at most one ring active / one td being executed (the td stopped_td points to). So when we reset the endpoint (for a halt), or the stop command completes, we will queue one Set TR deq ptr command at most, cancelled urbs on other stream rings then the one being executed will have there trbs turned to nops, and once the hcd gets around to execute that stream ring they will be simply skipped. So the SET_DEQ_PENDING flag in the endpoint is sufficient protection against starting the endpoing before all stream rings are cleaned up. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d4976ec8ec17f331a094e3d6dd3917f4c8dd1ce Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:55 2014 +0300 xhci: Always ring the doorbell for active eps when a Set TR deq ptr cmd completes Even if the stream for which the command was intended has been freed in the mean time. This ensures that things start rolling again after an unlink / halt. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3a43e66e02571ada527e0ea9e34a786b048849a Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:53 2014 +0300 xhci: Fold queue_set_tr_deq into xhci_queue_new_dequeue_state xhci_queue_new_dequeue_state is the only caller of queue_set_tr_deq and queue_set_tr_deq checks for SET_DEQ_PENDING, where as xhci_queue_new_dequeue_state sets it which is inconsistent. Simply fold the 2 into one is a nice cleanup and fixes the inconsistency. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7f9696bd1b170dbff44b1b374b1473278bd2c53 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:56 2014 +0300 xhci: xhci_ring_device: Ring stream ring bells for endpoints with streams Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14e61a1bd986ac35be92c2dfb631a03a7c03abf4 Author: Al Cooper <alcooperx@xxxxxxxxx> Date: Wed Aug 20 16:41:57 2014 +0300 usb: xhci_suspend is not stopping the root hub timer for the shared HCD V2 - Restart polling (which will restart the timer) for the shared HCD in xhci_resume(). xhci_suspend() will stop the primary HCD's root hub timer, but leaves the shared HCD's timer running. This change adds stopping of the shared HCD timer. Signed-off-by: Al Cooper <alcooperx@xxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e3452e3f08c5af7fb4b08551aaa96b6627c7416 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:52 2014 +0300 xhci: Move allocating of command for new_dequeue_state to queue_set_tr_deq() There are multiple reasons for this: 1) This fixes a missing check for xhci_alloc_command failing in xhci_handle_cmd_stop_ep() 2) This adds a warning when we cannot set the new dequeue state because of xhci_alloc_command failing 3) It puts the allocation of the command after the sanity checks in queue_set_tr_deq(), avoiding leaking the command if those fail 4) Since queue_set_tr_deq now owns the command it can free it if queue_command fails 5) It reduces code duplication Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fac1f48584c1b6c745412cf8c5dbdc1725aad8f2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:51 2014 +0200 uas: Add response iu handling If something goes wrong in our communication with an uas device we may get a response iu in reaction to a cmnd, rather then a status iu. In this case propagate an error upwards, rather then logging a bogus iu message. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce39fe6fa115d9fea0112c907773a400b98d2463 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:50 2014 +0200 uas: Log error codes when logging errors Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ad7ed5af3d85d0d8b3cdc5a4b823272b85c46cf Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:49 2014 +0200 uas: Cleanup uas_log_cmd_state usage Instead of doing: uas_log_cmd_state(cmnd, __func__) scmd_printk(KERN_ERR, cmnd, "error doing foo %d\n", err) On error, resulting in 2 log calls for a single error, make uas_log_cmd_state take a status code, and change calls like the above to: uas_log_cmd_state(cmnd, "error doing foo", err) Also change various sanity checks (which should never trigger) from: "scmd_printk(KERN_ERR, cmnd, "sanity foo failed\n")" to calling the new uas_log_cmd_state(), so that when they do trigger we get more info. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 102c00cb91f36f6f7afa6658b2436b04fb3d95b3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:48 2014 +0200 uas: Remove protype hardware usb interface info We've removed all hack from the driver for pre-production hardware. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ad22cfc13399cc46267e5685769d6e7a0bbe163 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:47 2014 +0200 uas: Remove support for old sense ui as used in pre-production hardware I've access to a number of different uas devices now, and none of them use old style sense urbs. The only case where these code-paths trigger is with the asm1051 and there they do the wrong thing, as the asm1051 sends 8 bytes status iu-s when it does not have any sense data, but uses new style sense iu-s regardless, as can be seen for scsi cmnds where there is sense data. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb7d664ae459114cbbee8ecef17f90b9c71d994c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:46 2014 +0200 uas: Drop COMMAND_COMPLETED flag It was only used to sanity check against completing the same cmnd twice, but that is the case we're likely operating on free-ed memory, and doing sanity checks on free-ed memory is not really helpful. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6dcd8ec24052fefb7faee80b6ccc8ada860e33d7 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:45 2014 +0200 uas: Use scsi_print_command Use scsi_print_command to print commands during errors, rather then printing the rather meaningless pointer to the command. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51b361737bcec832ea07650e27f93098e44c834b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:44 2014 +0200 uas: Do not log urb status error on cancellation Check for both type of cancellation codes for sense and data urbs. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5e558192f01857254938349f78cd492daee7d72 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:43 2014 +0200 uas: Use streams on upcoming 10Gbps / 3.1 USB Limit the no-streams case to speeds less then USB_SPEED_SUPER. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9dc024a2da1fe6b0ce180b89fac085e1255a932 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:42 2014 +0200 uas: pre_reset and suspend: Fix a few races The purpose of uas_pre_reset is to: 1) Stop any new commands from being submitted while an externally triggered usb-device-reset is running 2) Wait for any pending commands to finish before allowing the usb-device-reset to continue The purpose of uas_suspend is to: 2) Wait for any pending commands to finish before suspending This commit fixes races in both paths: 1) For 1) we use scsi_block_requests, but the scsi midlayer calls queuecommand without holding any locks, so a queuecommand may already past the midlayer scsi_block_requests checks when we call it, add a check to uas_queuecommand to fix this 2) For 2) we were waiting for all sense-urbs to complete, there are 2 problems with this approach: a) data-urbs may complete after the sense urb, so we need to check for those too b) if a sense-urb completes with a iu id of READ/WRITE_READY a command is not yet done. We submit a new sense-urb immediately in this case, but that submit may fail (in which case it will get retried by uas_do_work), if this happens the sense_urbs anchor may become empty while the cmnd is not yet done Also unblock requests on timeout, to avoid things getting stuck in that case. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c5481efb4346948ba7034432f86235a16ac9180 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:41 2014 +0200 uas: Fix memleak of non-submitted urbs Not all urbs we've allocated are necessarily also submitted, non-submitted urbs will not be free-ed by their completion handler. So we need to free them manually. There are 2 scenarios where this can happen: 1) We have failed to submit some urbs at abort / disconnect 2) When running over usb-2 we may have never tried to submit the data urbs when completing the scsi cmnd, because we never got a READ/WRITE_READY iu Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 616f0e6cab4698309ff9e48ee2a85b5eb78cf31a Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:40 2014 +0200 uas: Drop all references to a scsi_cmnd once it has been aborted Do not keep references around to a cmnd which is under error handling. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6823c51fcd82e993275f5403e120279232ecaec Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:39 2014 +0200 uas: Remove cmnd reference from the cmd urb It is not strictly necessary for the cmd urb to have a reference to the cmnd, and without this reference it becomes easier to drop all references to a cmnd on an abort. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43cd99cb178ce3d0a1fb6faa898b30be6dcbc8b5 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:38 2014 +0200 uas: Drop inflight list We've the same info doubled in both the inflight list and the cmnd array, drop the list. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c15c5738b5219fdc273e8923b2c1a9d5e8ce3b3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:37 2014 +0200 uas: zap_pending: data urbs should have completed at this time The data urbs are all killed before calling zap_pending, and their completion handler should have cleared their inflight flag. Do not 0 the data inflight flags, and add a check for try_complete succeeding, as it should always succeed when called from zap_pending. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1589349f74d669b767bc0971fb21372ad300452e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:36 2014 +0200 uas: Simplify reset / disconnect handling Drop the whole dance with first moving cmnds to a dead-list. The resetting flag ensures that no new cmds / urbs will be submitted, and that any urb completions are short-circuited without trying to complete the scsi cmnd. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85fea82554ee74f0a2e17729a3911865df5fbba0 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:35 2014 +0200 uas: Free data urbs on completion Now that we no longer drop our lock to unlink the data urbs, we can simply free them on completion, making their handling consistent with the other urbs. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60d9f67d478e7c8ed09e3a6888b29aca2d978979 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:34 2014 +0200 uas: Simplify unlink of data urbs on error There is no need for all the trickery with dropping the lock, we can simply reference the urbs while we hold the lock to ensure the urbs don't disappear beneath us, and do the actual unlink (+ unreference) after we've dropped the lock. This also fixes a race where we may loose of cmnd ownership to the scsi midlayer without holding the lock due to the midlayer re-claiming ownership through an abort (which will be handled by a future patch in this series). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d89da03acec19b39506f3ef32e09134b50b4adb9 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:33 2014 +0200 uas: Check against unexpected completions The status urb should not complete before the command has been submitted, nor should we get a second status urb for the same tag after a IU_ID_STATUS. Data urbs should not complete before the command has been submitted, but may complete after the IU_ID_STATUS. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e61aede477ee108de3f9e57f19cacd8ce3ffe52 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:32 2014 +0200 uas: Do not use scsi_host_find_tag Using scsi_host_find_tag with tags returned by the device is unsafe for multiple reasons: 1) It returns tags->rqs[tag], which may be non NULL even when the cmnd is not owned by us 2) It returns tags->rqs[tag], without holding any locks protecting it 3) It returns tags->rqs[tag], without doing any boundary checking Instead keep our own list which maps tags -> inflight cmnds. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0620001e4e318d85ebf43a95eec15fae26ed706 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:31 2014 +0200 uas: Add uas_get_tag() helper function Factor out the mapping of scsi-tags -> uas-tags/stream-ids to a helper function so that there is a single place where this "magic" happens. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7b5d11fae766ee0e92821df2694c41f15f98954 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:30 2014 +0200 uas: Fix resetting flag handling - Make sure we always hold the lock when setting / checking resetting - Check resetting before checking urb->status - Add missing check for resetting to uas_data_cmplt - Add missing check for resetting to uas_do_work Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5df2be63332a661a8d7234ca15c23bc48ed8e2a2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:29 2014 +0200 uas: Remove task-management / abort error handling code There are various bug reports about oopses / hangs with the uas driver, which all point to the abort-command and logical-unit-reset (task-management) error handling paths. Getting these right is very hard, there are quite a few corner cases, and testing is almost impossible since under normal operation these code paths are not used at all. Another problem is that there are also some cases where it simply is not clear what to do at all. E.g. over usb-2 multiple outstanding commands share the same endpoint. What if a command gets aborted while its sense urb is half way through completing (so some data has been transfered but not all). Since the urb is not yet complete we don't know if the sense urb is actually for this command, or for one of the other oustanding commands. If it is for one of the other commands and we cancel it, then we end up in an undefined state. But if it is actually for the command we're aborting, and the abort succeeds, then it may never complete... This exact same problem applies to logical unit resets too, if there are multiple luns, then commands outstanding on both luns share the sense endpoint. If there is only a single lun, then doing a logical unit reset is little better then doing a full usb device reset. So summarizing because: 1) abort / lun-reset is very tricky to get right 2) Not being able to test the tricky code, which means it will have bugs 3) This being a code path which under normal operation will never happen, so being slow / sub-optimal here is not really an issue 4) Under error conditions we will still be able to recover through usb device resets. 5) This may be a bit slower in some cases, but this is actually faster in cases where the bridge ship has locked up, which seems to be the most common error case sofar. This commit removes the abort / lun-reset error handling paths, and also the taks-mgmt code since those are the only 2 task-mgmt users. Leaving only the (tested and testable) usb-device-reset error handling path in place. Note I realize that this is somewhat of a big hammer, but currently people are seeing very hard to debug oopses with uas. First let focus on making uas work reliable, then we can later look into adding more fine grained error handling. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 710f1bf16ab1b1558f099b62c5011c4cbba6a7bb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 23 15:48:50 2014 +0200 uas: Add another ASM1051 usb-id to the uas blacklist As most ASM1051 based devices, this one has unfixable issues with uas too. Cc: stable@xxxxxxxxxxxxxxx # 3.16 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9554a6b199360c2f888173fd600e1eb7ff165ef Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Sep 17 10:10:58 2014 +0200 uas: Add US_FL_NO_ATA_1X quirk for Seagate (0bc2:ab20) drives https://bbs.archlinux.org/viewtopic.php?pid=1457492 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 734016b00b50a3c6a0e1fc1b7b217e783f5123a1 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 16 18:36:52 2014 +0200 uas: Add no-report-opcodes quirk Besides the ASM1051 (*) needing sdev->no_report_opcodes = 1, it turns out that the JMicron JMS567 also needs it to work properly with uas (usb-storage always sets it). Since some of the scsi devs were not to keen on the idea to outrightly set sdev->no_report_opcodes = 1 for all uas devices, so add a quirk for this, and set it for the JMS567. *) Which has become a non-issue since we've completely blacklisted uas on the ASM1051 for other reasons Cc: stable@xxxxxxxxxxxxxxx Reported-and-tested-by: Claudio Bizzarri <claudio.bizzarri@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 593078525c8b234a35a36ff551b8716464e86481 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Sep 15 16:04:12 2014 +0200 uas: Add a quirk for rejecting ATA_12 and ATA_16 commands And set this quirk for the Seagate Expansion Desk (0bc2:2312), as that one seems to hang upon receiving an ATA_12 or ATA_16 command. https://bugzilla.kernel.org/show_bug.cgi?id=79511 https://bbs.archlinux.org/viewtopic.php?id=183190 While at it also add missing documentation for the u value for usb-storage quirks. Cc: stable@xxxxxxxxxxxxxxx # 3.16, 3.17 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> -- Changes in v2: Add documentation for new t and u usb-storage.quirks flags Changes in v3: Fix typo in documentation Changes in v4: Also apply the quirk to (0bc2:3312) Changes in v5: Rebased on 3.17-rc5, drop u documentation, already upstream Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab945eff8396bc3329cc97274320e8d2c6585077 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Tue Aug 12 12:10:21 2014 +0530 uas: replace WARN_ON_ONCE() with lockdep_assert_held() on some architecture spin_is_locked() always return false in uniprocessor configuration and therefore it would be advise to replace with lockdep_assert_held(). Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62f6f0863e5b304284bcf9b80e12ec1bd4f01c9a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 13:04:48 2014 +0100 MAINTAINERS: Add ehci-st.c and ohci-st.c to ARCH/STI architecture This patch adds the ehci-st.c and ohci-st.c files for the usb 2.0 & usb1.1 host controller drivers found on stih41x and stih4xx STMicroelectronics SoC's into the STI arch section of the maintainers file. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 554405d4591f2ee6249571f720ff7e12ac35ff5b Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 13:04:47 2014 +0100 usb: host: ohci-st: Add ohci-st devicetree bindings documentation This patch documents the device tree bindings required for the ohci on-chip controller found in ST consumer electronics SoC's. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fee1dc0282ca7bc4077b886502a4bd5247d98e89 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 13:04:46 2014 +0100 usb: host: ehci-st: Add ehci-st devicetree bindings documentation This patch documents the device tree bindings required for the ehci on-chip controller found in ST consumer electronics SoC's. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d115837259ada33cb66e8fedc365d58d2cc8df38 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 13:04:45 2014 +0100 usb: host: ohci-st: Add OHCI driver support for ST STB devices This patch adds the glue code required to ensure the on-chip OHCI controller works on STi consumer electronics SoC's from STMicroelectronics. It mainly manages the setting and enabling of the relevant clocks and manages the reset / power signals to the IP block. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e47c5a0906f9a5792988786c8a186e9f5880f622 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 13:04:44 2014 +0100 usb: host: ehci-st: Add EHCI support for ST STB devices This patch adds the glue code required to ensure the on-chip EHCI controller works on STi consumer electronics SoC's from STMicroelectronics. It mainly manages the setting and enabling of the relevant clocks and manages the reset / power signals to the IP block. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae7c798d6b482682d1fa05b42ad02e3bdade07aa Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Aug 5 14:01:35 2014 +0200 USB: isp1362: Use devm_ioremap_resource Use devm_ioremap_resource to simplify error handling in the probe function and to get rid of some boilerplate in the remove function. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b760017076235f09de33b3c4c193fe934800bbc6 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Sep 22 08:14:18 2014 +0800 of: add vendor prefix for Chipidea Adds chipidea to the list of DT vendor prefixes. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19353881b4afc9e2351fa8987b8fa2921587e0d6 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Sep 22 08:14:17 2014 +0800 usb: chipidea: enhance kernel-doc format Some kernel-doc style comment are not satisfied for format, fix them. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27c62c2da177178771517744acaced08767214e2 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Sep 22 08:14:16 2014 +0800 usb: chipidea: otg initialization is only needed when the gadget is supported We have only needed to enable otg initialization when both of below conditions are satisfied: - The controller is otg capable - The gadget function is enabled If the controller is otg capable, but is host-only configuration, we do not need to access register otgsc and do any otg operations (eg, create otg workqueue). Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f40017e0f3325b4c42139f54748ac4f0bbed3c52 Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Sep 22 08:14:15 2014 +0800 chipidea: usbmisc_imx: Add USB support for VF610 SoCs This adds Vybrid VF610 SoC support. The IP is very similar to i.MX6, however, the non-core registers are spread in two different register areas. Hence we support multiple instances of the USB misc driver and add the driver instance to the imx_usbmisc_data structure. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0e602dbf39eef7af75a84a8a354eade6be6a9ff Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:57 2014 +0800 doc: dt-binding: ci-hdrc-imx: add TPL support TPL (Targeted Peripheral List) is needed for targets host (OTG and Embedded Hosts) for usb certification and other vendor specific requirements. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6a9ff07832a9d30d457e976e6233b4351cd4cdf Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:56 2014 +0800 usb: chipidea: add TPL support for targeted hosts For OTG and Embedded hosts, they may need TPL (Targeted Peripheral List) for usb certification and other vender specific requirements, the platform can tell chipidea core driver if it supports tpl through DT or platform data. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05f8b35a62efb8e70ebcd78e9c957324e9caddad Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:55 2014 +0800 usb: common: add API to get if the platform supports TPL The TPL (Targeted Peripheral List) is used for targeted hosts (non-PC hosts), and it can be used at USB OTG & EH certification and some specific products which need white list. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9bd0181c74527dbfd3a63ffef412b5d1c660d7e4 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:54 2014 +0800 usb: core: Kconfig: TPL should apply for both OTG and EH Update configuration for USB_OTG_WHITELIST, any targeted hosts (non PC-hosts) can have TPL (Targered Peripheral List). Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 026f3fcbb0fc516e0fd3467318f13a6144e519a7 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:53 2014 +0800 usb: core: TPL should apply for both OTG and EH According to On-The-Go and Embedded Host Supplement to the USB Revision 2.0 Specification, the targeted hosts (non-PC hosts) include both embedded hosts and otg, and each targeted host product defines the set of supported peripherals on a TPL (Targeted Peripheral List). So, TPL should apply for both OTG and embedded host, and the otg support is not a must for embedded host. The TPL support feature will only be effect when CONFIG_USB_OTG_WHITELIST has been chosen and hcd->tpl_support flag is set, it can avoid the enumeration fails problem for the user who chooses CONFIG_USB_OTG_WHITELIST wrongly. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2693b430b33d9554daa0f21fbcae57633f8d4f1 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:52 2014 +0800 usb: hcd: add TPL support flag The targeted hosts (non-PC hosts) need to have TPL (Targeted Peripheral List) for USB OTG & EH certification and other vendor specific requirements. The platform who needs TPL feature should set this flag at usb host controller driver. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99416322dd16b810ba74098cc50ef2a844091d35 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:36 2014 -0400 tty: Workaround Alpha non-atomic byte storage in tty_struct The Alpha EV4/EV5 cpus can corrupt adjacent byte and short data because those cpus use RMW to store byte and short data. Thus, concurrent adjacent byte stores could become corrupted, if serialized by a different lock. tty_struct uses different locks to protect certain fields within the structure, and thus is vulnerable to byte stores which are not atomic. Merge the ->ctrl_status byte and packet mode bit, both protected by the ->ctrl_lock, into an unsigned long. The padding bits are necessary to force the compiler to allocate the type specified; otherwise, gcc will ignore the type specifier and allocate the minimum number of bytes required to store the bitfield. In turn, this would allow Alpha EV4/EV5 cpus to corrupt adjacent byte or short storage (because those cpus use RMW to store byte and short data). gcc versions < 4.7.2 will also corrupt storage adjacent to bitfields smaller than unsigned long on ia64, ppc64, hppa64, and sparc64, thus requiring more than unsigned int storage (which would otherwise be sufficient to fix the Alpha non-atomic storage problem). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c274f6ef1c6665632767d32e4ab912aad839ce27 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:35 2014 -0400 tty: Hold termios_rwsem for tcflow(TCIxxx) While transmitting a START/STOP char for tcflow(TCION/TCIOFF), prevent a termios change. Otherwise, a garbage in-band flow control char may be sent, if the termios change overlaps the transmission setup. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 136d5258b2bc4ffae99cb69874a76624c26fbfad Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:34 2014 -0400 tty: Move and rename send_prio_char() as tty_send_xchar() Relocate the file-scope function, send_prio_char(), as a global helper tty_send_xchar(). Remove the global declarations for tty_write_lock()/tty_write_unlock(), as these are file-scope only now. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c545b66c6922b002b5fe224a6eaec58c913650b5 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:33 2014 -0400 tty: Serialize tcflow() with other tty flow control changes Use newly-introduced tty->flow_lock to serialize updates to tty->flow_stopped (via tcflow()) and with concurrent tty flow control changes from other sources. Merge the storage for ->stopped and ->flow_stopped, now that both flags are serialized by ->flow_lock. The padding bits are necessary to force the compiler to allocate the type specified; otherwise, gcc will ignore the type specifier and allocate the minimum number of bytes necessary to store the bitfield. In turn, this would allow Alpha EV4 and EV5 cpus to corrupt adjacent byte storage because those cpus use RMW to store byte and short data. gcc versions < 4.7.2 will also corrupt storage adjacent to bitfields smaller than unsigned long on ia64, ppc64, hppa64 and sparc64, thus requiring more than unsigned int storage (which would otherwise be sufficient to workaround the Alpha non-atomic byte/short storage problem). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01adc80706f80a583948db6768c5571204cd5f99 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:32 2014 -0400 tty: Move packet mode flow control notifications to pty driver When a master pty is set to packet mode, flow control changes to the slave pty cause notifications to the master pty via reads and polls. However, these tests are occurring for all ttys, not just ptys. Implement flow control packet mode notifications in the pty driver. Only the slave side implements the flow control handlers since packet mode is asymmetric; the master pty receives notifications for slave-side changes, but not vice versa. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9e053dcfc02b0ad29daec8524fb1afe09774976 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:31 2014 -0400 tty: Serialize tty flow control changes with flow_lock Without serialization, the flow control state can become inverted wrt. the actual hardware state. For example, CPU 0 | CPU 1 stop_tty() | lock ctrl_lock | tty->stopped = 1 | unlock ctrl_lock | | start_tty() | lock ctrl_lock | tty->stopped = 0 | unlock ctrl_lock | driver->start() driver->stop() | In this case, the flow control state now indicates the tty has been started, but the actual hardware state has actually been stopped. Introduce tty->flow_lock spinlock to serialize tty flow control changes. Split out unlocked __start_tty()/__stop_tty() flavors for use by ioctl(TCXONC) in follow-on patch. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7a855bd6ab25d10d5e3b6aeb53d9c57fa17b808 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:30 2014 -0400 tty: Convert tty_struct bitfield to ints The stopped, hw_stopped, flow_stopped and packet bits are smp-unsafe and interrupt-unsafe. For example, CPU 0 | CPU 1 | tty->flow_stopped = 1 | tty->hw_stopped = 0 One of these updates will be corrupted, as the bitwise operation on the bitfield is non-atomic. Ensure each flag has a separate memory location, so concurrent updates do not corrupt orthogonal states. Because DEC Alpha EV4 and EV5 cpus (from 1995) perform RMW on smaller-than-machine-word storage, "separate memory location" must be int instead of byte. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 938f7e13b55a76ad98964509f6d13bbcf852e617 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:29 2014 -0400 serial: core: Use spin_lock_irq() in uart_set_termios() uart_set_termios() is called with interrupts enabled; no need to save and restore the interrupt state when taking the uart port lock. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8620d3e5382a3c172a7885fa67a70955ca930425 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:28 2014 -0400 serial: bfin-uart: Fix auto CTS Commit 64851636d568ae9f167cd5d1dcdbfe17e6eef73c, serial: bfin-uart: Remove ASYNC_CTS_FLOW flag for hardware automatic CTS, open-codes uart_handle_cts_change() when CONFIG_SERIAL_BFIN_HARD_CTSRTS to skip start and stop tx. But the CTS interrupt handler _still_ calls uart_handle_cts_change(); only call uart_handle_cts_change() if !CONFIG_SERIAL_BFIN_HARD_CTSRTS. cc: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d95e3caea2d1424dfdec30b46bd94087da94f928 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:27 2014 -0400 usb: serial: Remove unused tty->hw_stopped The tty core does not test tty->hw_stopped; remove from drivers which don't test it themselves. Acked-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d01f4d181c92877ecc678adce248a30cb7077ff1 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:26 2014 -0400 serial: core: Privatize tty->hw_stopped tty->hw_stopped is not used by the tty core and is thread-unsafe; hw_stopped is a member of a bitfield whose fields are updated non-atomically and no lock is suitable for serializing updates. Replace serial core usage of tty->hw_stopped with uport->hw_stopped. Use int storage which works around Alpha EV4/5 non-atomic byte storage, since uart_port uses different locks to protect certain fields within the structure. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 317c1360200059a7a8a832294a58409c73b784bf Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:25 2014 -0400 isdn: i4l: Remove ASYNC_CTS_FLOW ISDN4Linux always enables CTS flow control and does not use the tty_port_cts_enabled() helper function; remove ASYNC_CTS_FLOW state enable/disable. cc: Karsten Keil <isdn@xxxxxxxxxxxxxx> cc: <netdev@xxxxxxxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 299245a145b2ad4cfb4c5432eb1264299f55e7e0 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:24 2014 -0400 serial: core: Privatize modem status enable flags The serial core uses the tty port flags, ASYNC_CTS_FLOW and ASYNC_CD_CHECK, to track whether CTS and DCD changes should be ignored or handled. However, the tty port flags are not safe for atomic bit operations and no lock provides serialized updates. Introduce the struct uart_port status field to track CTS and DCD enable states, and serialize access with uart port lock. Substitute uart_cts_enabled() helper for tty_port_cts_enabled(). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d90bb147ef6b91f529a21b498ff2b5fdc6785b4 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:23 2014 -0400 serial: core: Document and assert lock requirements for irq helpers The serial core provides two helper functions, uart_handle_dcd_change() and uart_handle_cts_change(), for UART drivers to use at interrupt time. The serial core expects the UART driver to hold the uart port lock when calling these helpers to prevent state corruption. If lockdep enabled, trigger a warning if the uart port lock is not held when calling these helper functions. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c68929f75dfcb6354918862b91b5778585de1fa5 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 25 17:51:27 2014 +0200 USB: quirks: enable device-qualifier quirk for Elan Touchscreen Enable device-qualifier quirk for Elan Touchscreen, which often fails to handle requests for the device_descriptor. Note that the device sometimes do respond properly with a Request Error (three times as USB core retries), but usually fails to respond at all. When this happens any further descriptor requests also fails, for example: [ 1528.688934] usb 2-7: new full-speed USB device number 4 using xhci_hcd [ 1530.945588] usb 2-7: unable to read config index 0 descriptor/start: -71 [ 1530.945592] usb 2-7: can't read configurations, error -71 This has been observed repeating for over a minute before eventual successful enumeration. Reported-by: Drew Von Spreecken <drewvs@xxxxxxxxx> Reported-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a159389bf5d962359349a76827b2f683276a1c7 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 25 17:51:26 2014 +0200 USB: core: add device-qualifier quirk Add new quirk for devices that cannot handle requests for the device_qualifier descriptor. A USB-2.0 compliant device must respond to requests for the device_qualifier descriptor (even if it's with a request error), but at least one device is known to misbehave after such a request. Suggested-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a37110d20c95d1ebf6c04881177fe8f62831db2 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 14:31:39 2014 -0400 locking: Add WARN_ON_ONCE lock assertion An interface may need to assert a lock invariant and not flood the system logs; add a lockdep helper macro equivalent to lockdep_assert_held() which only WARNs once. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13e55e49472643b56986138da4aff115cabb111c Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Tue Sep 23 12:52:33 2014 -0700 staging: ft1000-pcmcia: Don't initialise static to 0 This fixes the following checkpatch.pl error: ERROR: do not initialise statics to 0 or NULL Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a7cbc38ad53815a2a2626e1b472d3b5db363e11 Author: Sarah Khan <sarahjmi07@xxxxxxxxx> Date: Wed Sep 24 03:05:16 2014 +0530 staging: rtl8712: fixed missing blank line WARNING : Missing a blank line after declaration checkpatch.pl warning in hal_init.c Signed-off-by: Sarah Khan <sarahjmi07@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3d822b8e3df89a116ce86df6200da9004438518 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Tue Sep 23 22:09:23 2014 +0530 Staging: media: omap24xx: Fix else is not useful warning This fixes the following checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8e186cebc94ac06682364b9931f38809ce7b1b5 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Tue Sep 23 21:13:36 2014 +0530 Staging: rtl8192e: rtl8192e: Merge two lines and remove unused variable This patch merges an assignment with an immediately following return of the assigned variable. It also removes variables that became unused due to this transformation. The following Coccinelle semantic patch was used to make this transformation: @r@ identifier ret; identifier f; @@ -ret = +return f(...); -return ret; @@ identifier r.ret; expression e1; type t; @@ ( -t ret = e1; | -t ret; ) ... when != ret when strict Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfcc6be5bcf3f17a98765df5aa69d59ccf87a1bd Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 22:22:36 2014 +0530 staging: rtl8192u: remove unecessary variable This patch removes unncessary variable in file r8192U_core.c using Coccinelle. Semantic patch for this is as follows : @@ identifier ret; @@ -int ret = 0; ... when != ret when strict -return ret; +return 0; Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a579c97823d36613375d636c7b684133d8f79855 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Tue Sep 23 21:24:47 2014 +0530 Staging: media: lirc: Merge two lines and remove unused variable This patch merges an assignment with an immediately following return of the assigned variable. It also removes a variable that becomes unused due to this transformation. The following Coccinelle semantic patch was used to make this transformation: @r@ identifier ret; identifier f; @@ -ret = +return f(...); -return ret; @@ identifier r.ret; expression e1; type t; @@ ( -t ret = e1; | -t ret; ) ... when != ret when strict Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 707505b58eb9aeef294e975a6d7f5afd1c74dd0a Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Tue Sep 23 01:55:55 2014 +0300 staging: dgnc: Replace non-standard spinlock's macros This patch replaces non-standard spinlock's macros. It is done using coccinelle and the following semantic patch: @@ expression x; @@ - DGNC_SPINLOCK_INIT(x) + spin_lock_init(&x) @@ expression x, y; @@ - DGNC_LOCK(x, y) + spin_lock_irqsave(&x, y) @@ expression x, y; @@ - DGNC_UNLOCK(x, y) + spin_unlock_irqrestore(&x, y) @used_by_lock exists@ typedef ulong; symbol lock_flags; position p1, p2; @@ ( ulong lock_flags@p1; | unsigned long lock_flags@p2; ) ... ( spin_lock_irqsave(..., lock_flags) | spin_unlock_irqrestore(..., lock_flags) ) @@ position used_by_lock.p1, used_by_lock.p2; @@ ( - ulong lock_flags@p1; + unsigned long flags; | - unsigned long lock_flags@p2; + unsigned long flags; ) <... - lock_flags + flags ...> Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f3a2e04e3f763092e04a66fc7b57adf838920b5 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Mon Sep 22 15:14:18 2014 -0700 staging: ft1000-pcmcia: replace DEBUG macro with netdev_dbg This fixes the following checkpatch.pl warning: WARNING: Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ... Removing the macro also fixes: WARNING: macros should not use a trailing semicolon Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 666e9084c073badd813d90ade694f12a5a104b07 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Tue Sep 23 11:37:02 2014 +0300 staging: emxx_udc: Do not assign bool to 0/1 This fixes the following coccinelle warning: WARNING: Assignment of bool to 0/1 Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cbca957067a58dd1e381693b4a8a01f5aea6485 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Tue Sep 23 11:36:37 2014 +0300 staging: emxx_udc: Do not use comparisons on bool tests This fixes the following coccinelle warning: WARNING: Comparison of bool to 0/1 Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a366abe5d5e4da65a10531240a246fb3f90d2bd Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 19:40:21 2014 +0300 Staging: imx-drm: Fix line over 80 characters warning Fix checkpatch.pl issues with line over 80 characters in parallel-display.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc489a528728dcce38df10a74cc1539522b670e7 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 22 23:04:13 2014 +0530 Staging: vme: devices: Merges two lines of code and removes unused variable This patch merges an assignment with an immediately following return of the assigned variable. The following Coccinelle semantic patch was used to make this transformation: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d743ecf360637d489a3ba81a268f574359149601 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:54 2014 +0200 drm/doc: Fixup drm_irq kerneldoc includes. Only !P can be used together with a function list. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d9fc9413f97f5c615256a5657ec667c064c07a70 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:53 2014 +0200 drm: Extract <drm/drm_gem.h> v2: Don't forget git add, noticed by David. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Acked-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit c2611031b49e9ccd571a3737845af3fca2a2090f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:52 2014 +0200 drm: Move internal debugfs functions to drm_internal.h In my header cleanup I've missed the debugfs functions completely. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e7f0a889841e14315062c268abea6d2e657d60d3 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:51 2014 +0200 drm: Move leftover ioctl declarations to drm_internal.h Somehow I've missed these three, fix this up asap. Plus move drm_master_create since while at it. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 884d9f05eb6c765d62da0ec8c36a669d8c813340 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:50 2014 +0200 drm: Move drm_vm_open_locked into drm_internal.h Leftover from my previous header cleanup. This depends upon the patch to rework exynos mmap support, otherwise it'll break exynos. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit bfbf3c851ce53b914fe98d60ea3fe3fc1ab75b96 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:49 2014 +0200 drm: move drm_mmap to <drm/drm_legacy.h> Now that we've removed the copypasted users in gem/ttm we can relegate the legacy buffer mapping support to where it belongs. Also give it the proper drm_legacy_ prefix. While at it statify drm_mmap_locked, somehow I've missed that in my previous header rework. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 197633b924517082327b66db6caf34bae720ea4e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:48 2014 +0200 drm/gem: Don't call drm_mmap from drm_gem_mmap The only user I could dig out was i915 back when ums+gem was still a thing. But we've just very much killed that, and even when someone screams about that we should resurrect that with a special hack (wrapping drm_gem_mmap) in i915, not in the core code. So good riddance to another entry point of the legacy buffer mapping code. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 884c6dabb0eafe7227f099c9e78e514191efaf13 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:47 2014 +0200 drm/<ttm-based-drivers>: Don't call drm_mmap Really, the legacy buffer api should be dead, especially for all these newfangled drivers. I suspect this is copypasta from the transitioning days, which probably originated in radeon. Cc: "Christian König" <christian.koenig@xxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Rashika <rashika.kheria@xxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Cc: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 9908fb654088e50d7d528f74898c5e5ebbd0fb68 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 09:30:11 2014 -0700 drm: change drm_err return type to void The return value is not used by callers of this function nor by uses of the DRM_ERROR macro so change the function to return void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 5b5560842a7ee002d208a20866f88fafd63198eb Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sun Sep 21 07:53:19 2014 -0300 [media] af9035: Add support for IT930x USB bridge Add support for IT930x USB bridge and IT9303 reference design. It is a DVB-T/T2/C tuner with the following components: - IT9303 USB bridge - Si2168-B40 demodulator - Si2147-A30 tuner The IT9303 requires firmware that can be downloaded here: http://trsqr.net/olli/linux/firmwares/it930x/ The Si2168-B40 requires firmware, but the one that is used by PCTV 292e can be used. http://palosaari.fi/linux/v4l-dvb/firmware/Si2168/Si2168-B40/ The Si2147-A30 tuner does not require firmware loading. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5dcf5bf6d9dd81cdf66aab94f62bee354a7d1238 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sun Sep 21 07:53:18 2014 -0300 [media] af9035: Add possibility to define which I2C adapter to use Some I2C tuner drivers require that the I2C device of the tuner is added to the I2C adapter of the demodulator (Si2168+Si2157 for example). Add possibility to tell af9035_add_i2c_dev which I2C adapter should be used. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 294422662215188ace50ae14318ac025a56843d8 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:15 2014 -0300 [media] cx23855: add support for DVBSky T9580 DVB-C/T2/S2 tuner DVBSky T9580 is a dual tuner card with one DVB-T2/C tuner and one DVB-S2 tuner. It contains the following components: - PCIe bridge: Conexant CX23885 - Demod for terrestrial/cable: Silicon Labs Si2168-A30 - Tuner for terrestrial/cable: Silicon Labs Si2158-A20 - Demod for sat: Montage DS3103 - Tuner for sat: Montage TS2022 This patch depends on Max Nibble's patch for m88ds3103 (see patchwork 25312: https://patchwork.linuxtv.org/patch/25312/ ). 3 firmwares are needed: - Si2168-A30 demod and Si2158-A20 tuner: same as TechnoTrend CT2-4400, https://www.mail-archive.com/linux-media@xxxxxxxxxxxxxxx/msg76944.html - Montage DS3103 demod: same as PCTV 461e, Antti has it on his LinuxTV project page: http://palosaari.fi/linux/v4l-dvb/firmware/M88DS3103/ IR receiver is not supported. Values in cx23885_gpio_setup, cx23885_card_setup and dvbsky_t9580_set_voltage as well as the EEPROM read function are taken from the manufacturer provided semi-open source driver. The drivers in question are Linux GPL'd media tree drivers for cx23885 modified by Max Nibble (nibble.max@xxxxxxxxx) with proprietary tuner/demod drivers. Max is aware of this patch and has approved my use of the values in this patch. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5cd3b6b40d3a08394a9e973c597a284153eac0b5 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:14 2014 -0300 [media] cx23855: add frontend set voltage function into state Setting the LNB voltage requires setting some GPIOs on the cx23885 with some boards before calling the actual set_voltage function in the demod driver. Add a function pointer into state for that case. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b0b12e63f999c91690f3f95bd585cf7812a251d9 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:13 2014 -0300 [media] cx23885: add i2c client handling into dvb_unregister and state Prepare cx23885 driver for handling I2C client that is needed for certain demodulators and tuners (for example Si2168 and Si2157). I2C client for tuner and demod stored in state and unregistering of the I2C devices added into dvb_unregister. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 094e93592433312548dd5e43d7b24b152f658063 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:53 2014 +0200 NFC: st21nfca: Fix potential double kfree_skb error skb is already freed in st21nfca_tx_work and was freed also in st21nfca_im_send_psl_req. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 459e794b9b1e0c6be93745344c40364296e7aacd Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:52 2014 +0200 NFC: st21nfca: ERR_PTR vs NULL fix "skb" can be NULL here but it can't be an ERR_PTR: - IS_ERR(NULL) return false and skb migth be NULL. - skb cannot be a ERR_PTR as nfc_hci_send_cmd_async it never using such cast. !skb is more appropriate at those places. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit bc6b8275924b8af3d10ac35df0579d94fa169680 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:51 2014 +0200 NFC: st21nfcb: remove error output In case we are not able to read out the NDLC/NCI header, we do not consider this as an issue and we will give a later chance. The NDLC layer will handle errors thanks to its internal timers. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 941ec5c6b02a93710c397e69b50671949f3b9dd3 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:50 2014 +0200 NFC: st21nfcb: Add ISO15693 Reader/Writer support Add support for ISO/IEC 15693 RF technology and Type 5 tags. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9e87f9a9c4c4754508b2c2638fbde9e10c7a103b Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:49 2014 +0200 NFC: nci: Add support for proprietary RF Protocols In NFC Forum NCI specification, some RF Protocol values are reserved for proprietary use (from 0x80 to 0xfe). Some CLF vendor may need to use one value within this range for specific technology. Furthermore, some CLF may not becompliant with NFC Froum NCI specification 2.0 and therefore will not support RF Protocol value 0x06 for PROTOCOL_T5T as mention in a draft specification and in a recent push. Adding get_rf_protocol handle to the nci_ops structure will help to set the correct technology to target. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fa0daa02fb063ecef39b7d421c3d9c4109381dc2 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:48 2014 +0200 NFC: st21nfcb: Fix improper ndlc T2 management T2 was never started when sending a command. Start it when sending a command for the first attempt and stop it once we receive the answer. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4294e32040b5142824f420d4a3ae604b92f1d1b5 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:47 2014 +0200 NFC: st21nfcb: Fix improper management of -EREMOTEIO error code. On st21nfcb the irq line might be kept to active state because of other interfaces activity. This may generate i2c read tentative resulting in i2c NACK. This fix will currently let NDLC upper layer to decide when it is relevent to signal to the physical layer when the chip as muted. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit f06d87a5b5a01fced0493651a12c002906d0bb69 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:46 2014 +0200 NFC: dts: st21nfcb_i2c: Fix invalid interrupts polarity. St21nfcb has a reverse polarity compare to st21nfca. In st21nfcb case, the irq pin is active high. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 90d5f81afc8369774a6c581b600aef80b1448d35 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:45 2014 +0200 NFC: st21nfca: Fix recursive fault when doing p2p in target mode. This patch fix a previous patch introduce by commit 0a91e8ac240a12ac3a03581deb8cd531788c63d4 It is actually fixing a double free mistake in all st21nfca_tm_* function. We decide to return directly in case of successful execution because skb got already freed. In st21nfca_tm_recv_dep_req it got freed by nfc_tm_data_received. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ecc6522b0804d8102d57a9eac36448bda416ce8c Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:44 2014 +0200 NFC: st21nfca: Fix potential skb leaks in NFC-DEP code After a unsuccessful call to nfc_hci_send_event the skb was not freed and might lead to memory leak. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cc3faac9d88faebe59556f3754ad306117e53b72 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:43 2014 +0200 NFC: st21nfca: Fix few coding style issue Fix few conding style issue such as useless line return or tab. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fc0ae24386142299db14dfea7f32a20022d94d90 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 23 11:25:48 2014 -0700 NFC: trf7970a: Unlock mutex before exiting _trf7970a_tg_listen() The recently added _trf7970a_tg_listen() routine has some return paths that don't unlock the mutex that is locked when the routine is entered. Fix this by always unlocking the mutex before returning. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b9e3016a5369839bf923c8d2bec9d1552e50f3f3 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 23 11:25:47 2014 -0700 NFC: trf7970a: Unlock mutex before exiting trf7970a_irq() Recent changes to trf7970a_irq() added a couple return paths that don't unlock the mutex that is locked when the routine is entered. Fix this by ensuring the mutex is always unlocked before returning. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 55ef2e75ccf0d91f7b2f4251dc3b9e56df840928 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 23 11:25:46 2014 -0700 NFC: trf7970a: Remove unnecessary local variable initialization There is no need to initialize the 'ret' variable in trf7970a_resume(). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 671970f531378e2a22ba0168d85dfca1f4e082c4 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 23 11:25:45 2014 -0700 NFC: trf7970a: Remove useless local variable The trf7970a_suspend() routine always returns zero so don't use a local return variable to hold the return value. This fixes up a smatch warning. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 49310ed0ab8da344dece4a543bfcdd14490ccfa0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:05:02 2014 -0300 [media] pt3: make pt3_pm_ops() static drivers/media/pci/pt3/pt3.c:862:1: warning: symbol 'pt3_pm_ops' was not declared. Should it be static? Cc: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2bd5306a8764d9496f3e3d90c4e608c247fcfd31 Author: Maciej Matraszek <m.matraszek@xxxxxxxxxxx> Date: Mon Sep 15 13:09:10 2014 +0200 PM / Domains: add debugfs listing of struct generic_pm_domain-s Add /sys/kernel/debug/pm_genpd/pm_genpd_summary file, which lists power domains in the system, their statuses and attached devices, resembling /sys/kernel/debug/clk/clk_summary. Currently it is impossible to inspect (from userland) whether a power domain is on or off. And, if it is on, which device blocks it from powering down. This change allows developers working on embedded devices power efficiency to list all necessary information about generic power domains in one place. The content of pm_genpd/pm_genpd_summary file is generated by iterating over all generic power domain in the system, and, for each, over registered devices and over the subdomains, if present. Example output: $ cat /sys/kernel/debug/pm_genpd/pm_genpd_summary domain status slaves /device runtime status ---------------------------------------------------------------------- a4su off a3sg off a3sm on a3sp on /devices/e6600000.pwm suspended /devices/e6c50000.serial active /devices/e6850000.sd suspended /devices/e6bd0000.mmc active a4s on a3sp, a3sm, a3sg /devices/e6900000.irqpin unsupported /devices/e6900004.irqpin unsupported /devices/e6900008.irqpin unsupported /devices/e690000c.irqpin unsupported /devices/e9a00000.ethernet active a3rv off a4r off a3rv /devices/fff20000.i2c suspended a4lc off c5 on a4lc, a4r, a4s, a4su /devices/e6050000.pfc unsupported /devices/e6138000.timer active To enable this feature, compile the kernel with debugfs and CONFIG_PM_ADVANCED_DEBUG enabled. Signed-off-by: Maciej Matraszek <m.matraszek@xxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 92db2a276c6ad8ded8e1fea2329d4d00394f5ad4 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 22 01:21:48 2014 +0530 Staging: rtl8192e: Fix else is not useful warning style This fixes the following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d364291677320d0e7d1c4807bd7b54a0649ef49 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 19:38:30 2014 +0530 staging: rtl8723au: core: add consistent spacing around '-' This patch fixes checkpatch.pl error in file rtw_ap.c ERROR: need consistent spacing around '-' (ctx:WxV) Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5310dc66906d2e7dc3ab6688541df1da491c578 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sun Sep 21 18:47:46 2014 +0530 Staging: rtl8192e: rtl8192e: Merges two lines of code and removes unused variable This patch merges an assignment with an immediately following return of the assigned variable. It also removes a variable that becomes unused due to this transformation. The following Coccinelle semantic patch was used to make this transformation: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; @@ identifier ret; type t; identifier c; @@ -t ret = c; ... when != ret when strict Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca7617852df7700deb90bdade6eebb4e879bc5ed Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Mon Sep 22 11:11:45 2014 +0530 Staging: bcm: Fix line over 80 characters. The following patch fixes the checkpatch.pl warning: WARNING: line over 80 characters Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38bb617449060ae5301c1b0802bbe4c0fb1252e3 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Mon Sep 22 15:44:01 2014 +0530 Staging: bcm: Remove unneeded else after return. The following patch fixes the checkpatch.pl warning: WARNING: else is generally not useful after a break or return. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 522c15ee3759a94907bdb500ff920d0b857d80ef Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 15:15:06 2014 +0530 staging: bcm: remove space before tab This patch fixes checkpatch.pl warning in headers.h file WARNING : please, no space before tabs Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd93bf4082063e5695d031b264b6ce07fa32020e Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 15:12:02 2014 +0530 staging: bcm: fix error do not use c99 comments This patch fixes checkpatch.pl error in InterfaceMacros.h file ERROR: do not use C99 // comments Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca6a32f3a3233c54ca2971ab3f6df5c0f54800b8 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:19:15 2014 +0530 Staging: ste_rmi4: add new line after declarations This patch fixes checkpatch.pl warning in synaptics_i2c_rmi4.c file WARNING : Missing a blank line after declarations Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b9999ec18c569d485bdaee86224214eeef1d2b0 Author: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Date: Tue Sep 23 10:16:17 2014 +0530 Staging: vt6656: Merge two lines of code into one This patch merges an assignment with an immediately following return of the assigned variable. The following Coccinelle semantic patch was used to make this transformation: @@ expression ret; identifier f; @@ -ret= +return f(...); -return ret; A variable that became unused due to this transformation was also removed. Signed-off-by: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e46587ef1582ad4da40bf631dba0c6c8c8a7a47 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 17:02:20 2014 +0530 staging: vt6656: remove unnecessary else after return This patch fixes checkpatch.pl warning in files of vt6656 WARNING: else is not generally useful after a break or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78fc84848accc287ca8bc8c566c45c6d599f9ccb Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 14:51:09 2014 +0530 staging: vt6655: shift open brace '{' to previous line This patch fixes checkpatch.pl error in baseband.c file ERROR : that open brace { should be on the previous line Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf329e54b34ed1f0d5e69e67c6622995997777cb Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 14:50:45 2014 +0530 staging: vt6655: remove unnecessary else after return This patch fixes checkpatch.pl warning in aes_ccmp.c file WARNING : else is not generally useful after a break or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eab4e78d0828e22dda46076250d0f260803488d2 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sun Sep 21 20:54:52 2014 +0530 Staging: vt6656: Merges two lines of code and also removes unused variable This patch merges an assignment with an immediately following return of the assigned variable. The following Coccinelle semantic patch was used to make this transformation: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; A variable that became unused due to this transformation was also removed. Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88c9cc0092788ad37bc6ea7fe669358d0fbcb095 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sun Sep 21 20:53:52 2014 +0530 Staging: vt6656: Merges two lines of code and removes unused variable This patch merges an assignment with an immediately following return of the assigned variable.The following Coccinelle semantic patch was used to make this transformation: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; A variable that became unused due to this transformation was also removed. Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdeef1fe4d5361cfa819313a89a0c39e2d3ed066 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 03:26:35 2014 +0300 Staging: vt6655: Fix C99 style commenting. This patch fixes these error messages found by checkpatch.pl: ERROR: do not use C99 // comments Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9eab339b197a6903043d272295dcb716ff739b21 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Sat Mar 15 18:42:34 2014 -0400 audit: get comm using lock to avoid race in string printing When task->comm is passed directly to audit_log_untrustedstring() without getting a copy or using the task_lock, there is a race that could happen that would output a NULL (\0) in the output string that would effectively truncate the rest of the report text after the comm= field in the audit, losing fields. Use get_task_comm() to get a copy while acquiring the task_lock to prevent this and to prevent the result from being a mixture of old and new values of comm. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit f874738e8c178b19479f7b143211a1df00367988 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Mon Sep 15 16:17:37 2014 -0400 audit: remove open_arg() function that is never used open_arg() was added in commit 55669bfa "audit: AUDIT_PERM support" and never used. Remove it. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 9ef91514774a140e468f99d73d7593521e6d25dc Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Sun Aug 24 20:37:52 2014 -0400 audit: correct AUDIT_GET_FEATURE return message type When an AUDIT_GET_FEATURE message is sent from userspace to the kernel, it should reply with a message tagged as an AUDIT_GET_FEATURE type with a struct audit_feature. The current reply is a message tagged as an AUDIT_GET type with a struct audit_feature. This appears to have been a cut-and-paste-eo in commit b0fed40. Reported-by: Steve Grubb <sgrubb@xxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 54e05eddbe507d54f1df18c2680d4f614af9e133 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Aug 21 13:40:41 2014 -0400 audit: set nlmsg_len for multicast messages. Report: Looking at your example code in http://people.redhat.com/rbriggs/audit-multicast-listen/audit-multicast-listen.c, it seems that nlmsg_len field in the received messages is supposed to contain the length of the header + payload, but it is always set to the size of the header only, i.e. 16. The example program works, because the printf format specifies the minimum width, not "precision", so it simply prints out the payload until the first zero byte. This isn't too much of a problem, but precludes the use of recvmmsg, iiuc? (gdb) p *(struct nlmsghdr*)nlh $14 = {nlmsg_len = 16, nlmsg_type = 1100, nlmsg_flags = 0, nlmsg_seq = 0, nlmsg_pid = 9910} The only time nlmsg_len would have been updated was at audit_buffer_alloc() inside audit_log_start() and never updated after. It should arguably be done in audit_log_vformat(), but would be more efficient in audit_log_end(). Reported-by: Zbigniew JÄ?drzejewski-Szmek <zbyszek@xxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 219ca39427bf6c46c4e1473493e33bc00635e99b Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Mar 26 07:26:47 2014 -0400 audit: use union for audit_field values since they are mutually exclusive Since only one of val, uid, gid and lsm* are used at any given time, combine them to reduce the size of the struct audit_field. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit e7df61f4d1ddb7fdd654dde6cd40f7cc398c3932 Author: Burn Alting <burn@xxxxxxxxxxxxxxx> Date: Fri Apr 4 16:00:38 2014 +1100 audit: invalid op= values for rules Various audit events dealing with adding, removing and updating rules result in invalid values set for the op keys which result in embedded spaces in op= values. The invalid values are op="add rule" set in kernel/auditfilter.c op="remove rule" set in kernel/auditfilter.c op="remove rule" set in kernel/audit_tree.c op="updated rules" set in kernel/audit_watch.c op="remove rule" set in kernel/audit_watch.c Replace the space in the above values with an underscore character ('_'). Coded-by: Burn Alting <burn@xxxxxxxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 01478d7d60f654419ba863856cad0446bcb73a59 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Fri Jun 13 18:22:00 2014 -0400 audit: use atomic_t to simplify audit_serial() Since there is already a primitive to do this operation in the atomic_t, use it to simplify audit_serial(). Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 6eed9b261334932c742458edd64b7b9fd0b981a9 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Jun 3 22:05:10 2014 +0200 kernel/audit.c: use ARRAY_SIZE instead of sizeof/sizeof[0] Use kernel.h definition. Cc: Eric Paris <eparis@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 691e6d59d2b6cdb4595e5f626503a1c9e98b8baf Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Mon May 26 11:02:48 2014 -0400 audit: reduce scope of audit_log_fcaps audit_log_fcaps() isn't used outside kernel/audit.c. Reduce its scope. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit c0a8d9b0692cced5b0701ed501012e28b224d32b Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Mon May 26 10:59:28 2014 -0400 audit: reduce scope of audit_net_id audit_net_id isn't used outside kernel/audit.c. Reduce its scope. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 77b55d84aa49d2144afa74725118321189593fbb Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 22:56:15 2014 +0300 staging: dgnc: Fix unnecessary braces warning. Fixes "braces {} are not necessary for single statement blocks" checkpatch.pl warnings in dgnc_sysfs.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35b8117b0ad066d5964a85e5fc0fdbe1bc735a13 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Sep 22 13:45:03 2014 -0400 staging: unisys: fix IO memory copy in channel.h The function ULTRA_check_channel_client() was recently patched to use ioread8_rep(). Unfortunately the parameters were incorrectly ordered, and this causes the function to fail and the guest to not boot. This patch switches the parameters around and uses memcpy_fromio() instead, which is clearer since a structure is being copied, not an array, and it fixes the error message printout later in the function that was using the UUID value in the channel, rather than the value copied from the channel, which causes a misleading error to be reported. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24fc2d01dbd569554373818b72e6d26c86290763 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 21:24:00 2014 +0300 Staging: unisys: channels: Missing a blank line after declarations This patch fixes these warning messages found by checkpatch.pl: WARNING : Missing a blank line after declarations. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d870f87dec6d01d1c323d0560885d49a58143efa Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Sat Sep 20 11:00:40 2014 -0700 staging: unisys: virthba: remove unnecessary return statement This fixes the following checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6905cae3a86f6411b62fda0c7a8e1c0d04eaef88 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Sat Sep 20 09:39:07 2014 -0700 staging: unisys: visorutil: remove unnecessary braces This fixes the following checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 890d228fd901db88c4a79dbe8cd95aec8a0e57cd Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Sep 23 09:22:30 2014 +0530 Staging: iio: light: Use usleep_range instead of msleep This patch fixes following checkpatch.pl warning: WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89021ecc8364e727a24b0683a74515c8ddf308db Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 19:22:51 2014 +0530 staging: speakup: remove jiffies comparison using time_after_eq() This patch fixes checkpatch.pl warning in files of speakup WARNING : Comparing jiffies is almost always wrong; prefer time_after, time_before and friends Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e94283b68d8fad5e358e32e52aebf1f569544d7 Author: Erin Grasmick <ecg@xxxxxxxxx> Date: Mon Sep 22 17:07:51 2014 -0500 staging: rtl8192ee: Remove unnecessary return statement Removes void function return statements. Signed-off-by: Erin Grasmick <ecg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90be2f1ff7202b42e382da43c8063da6ab05ff56 Author: Erin Grasmick <ecg@xxxxxxxxx> Date: Mon Sep 22 17:07:50 2014 -0500 staging: rtl8192ee: Add blank lines after declarations Signed-off-by: Erin Grasmick <ecg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a56f7905426ef39d474c691ec181e7c1501d36a Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 01:35:39 2014 +0300 Staging: rtl8192ee: Missing a blank line after declarations This patch fixes these warning messages found by checkpatch.pl: WARNING : Missing a blank line after declarations. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 239a5b01a1f4cf5039e7e06554b4cb7a0a1d03f7 Author: Erin Grasmick <ecg@xxxxxxxxx> Date: Sat Sep 20 09:28:06 2014 -0500 staging: rtl8192ee: Fix unnecessary return at end of function. Fix for unnecessary return at end of function as diagnosed by checkpatch.pl. Signed-off-by: Erin Grasmick <ecg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4913c59890b0774990cceb7b0539fee71301dabe Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Sep 23 16:25:34 2014 -0400 audit: arm64: Remove the audit arch argument to audit_syscall_entry The arm64 tree added calls to audit_syscall_entry() and rightly included the syscall number. The interface has since been changed to not need the syscall number. As such, arm64 should no longer pass that value. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 23fed6218d7f6ce6e4cde698579f0f51845f0b25 Author: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Date: Fri Jul 4 08:28:31 2014 +0100 arm64: audit: Add audit hook in syscall_trace_enter/exit() This patch adds auditing functions on entry to or exit from every system call invocation. Acked-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Acked-by Will Deacon <will.deacon@xxxxxxx> Signed-off-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4a8e3076984625a3be728d9db48ec40d0a704fe6 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sun Sep 21 13:32:32 2014 +0300 staging: rts5208: add new line after declarations This fixes the warning: WARNING: Missing a blank line after declarations Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 767c6a552b5d0cf342b1a68bc9937d648e8e92be Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Sun Sep 21 11:38:11 2014 +0530 Staging: rts5208: Fix checkpatch warning: Missing blank line The following checkpatch warning was fixed : WARNING: Missing a blank line after declarations Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb14865040d42c35f7246ab1e1753bb73bd2aa5e Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 20 17:21:40 2014 +0300 staging: rts5208: remove unnecessary return statement This fixes the warning: WARNING: void function return statements are not generally useful Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b037e229e1c316bbdfdaa265fb47e437db0f3c07 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 20 17:21:04 2014 +0300 staging: rts5208: remove unnecessary else This fixes the warning: WARNING: else is not generally useful after a break or return Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4f0d3755c5e9cc86292d5fd78261903b4f23d4a Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Tue Mar 4 10:38:06 2014 -0500 audit: x86: drop arch from __audit_syscall_entry() interface Since the arch is found locally in __audit_syscall_entry(), there is no need to pass it in as a parameter. Delete it from the parameter list. x86* was the only arch to call __audit_syscall_entry() directly and did so from assembly code. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: x86@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-audit@xxxxxxxxxx Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> --- As this patch relies on changes in the audit tree, I think it appropriate to send it through my tree rather than the x86 tree. commit a17c8b54dc738c4fda31e8be0302cd131a04c19f Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Apr 22 12:39:51 2014 -0400 sparc: implement is_32bit_task We are currently embedding the same check from thread_info.h into syscall.h thanks to the way syscall_get_arch() was implemented in the audit tree. Instead create a new function, is_32bit_task() which is similar to that found on the powerpc arch. This simplifies the syscall.h code and makes the build/Kconfig requirements much easier to understand. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx commit 01ed102c8522a71d6d05824dd4dc3e17ee9b6d29 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue Apr 22 16:22:07 2014 +1000 sparc: properly conditionalize use of TIF_32BIT After merging the audit tree, today's linux-next build (sparc defconfig) failed like this: In file included from include/linux/audit.h:29:0, from mm/mmap.c:33: arch/sparc/include/asm/syscall.h: In function 'syscall_get_arch': arch/sparc/include/asm/syscall.h:131:9: error: 'TIF_32BIT' undeclared (first use in this function) arch/sparc/include/asm/syscall.h:131:9: note: each undeclared identifier is reported only once for each function it appears in And many more ... Caused by commit 374c0c054122 ("ARCH: AUDIT: implement syscall_get_arch for all arches"). This patch wraps the usage of TIF_32BIT in: if defined(__sparc__) && defined(__arch64__) Which solves the build problem. Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 75dddcbd9651eec29708f91149e405cd42cf68d7 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Apr 22 12:07:30 2014 -0400 sparc: simplify syscall_get_arch() Include linux/thread_info.h so we can use is_32_bit_task() cleanly. Then just simplify syscall_get_arch() since is_32_bit_task() works for all configuration options. Suggested-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit a9ebe0b98896b276a3a1664da5f40d3b7c92f316 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Apr 22 11:46:16 2014 -0400 audit: fix build error when asm/syscall.h does not exist avr32 does not have an asm/syscall.h file. We need the syscall_get_arch() definition from that file for all arch's which support CONFIG_AUDITSYSCALL. Obviously avr32 is not one of those arch's. Move the include inside the CONFIG_AUDITSYSCALL such that we only do the include if we need the results. When the syscall_get_arch() call is moved inside __audit_syscall_entry() this include can be dropped entirely. But that is going to require some assembly changes on x86* in a patch that is not ready for the tree... Reported-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 84db564aad45774ab64375ee019d5e7a42675b1f Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Jan 29 16:17:58 2014 -0500 audit: add arch field to seccomp event log The AUDIT_SECCOMP record looks something like this: type=SECCOMP msg=audit(1373478171.953:32775): auid=4325 uid=4325 gid=4325 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0 pid=12381 comm="test" sig=31 syscall=231 compat=0 ip=0x39ea8bca89 code=0x0 In order to determine what syscall 231 maps to, we need to have the arch= field right before it. To see the event, compile this test.c program: ===== int main(void) { return seccomp_load(seccomp_init(SCMP_ACT_KILL)); } ===== gcc -g test.c -o test -lseccomp After running the program, find the record by: ausearch --start recent -m SECCOMP -i Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 4a99854c5840065e7d3a464523cbe1993acb4f00 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Fri Feb 28 14:30:45 2014 -0500 audit: __audit_syscall_entry: ignore arch arg and call syscall_get_arch() directly Since every arch should have syscall_get_arch() defined, stop using the function argument and just collect this ourselves. We do not drop the argument as fixing some code paths (in assembly) to not pass this first argument is non-trivial. The argument will be dropped when that is fixed. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 91397401bb5072f71e8ce8744ad0bdec3e875a91 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Mar 11 13:29:28 2014 -0400 ARCH: AUDIT: audit_syscall_entry() should not require the arch We have a function where the arch can be queried, syscall_get_arch(). So rather than have every single piece of arch specific code use and/or duplicate syscall_get_arch(), just have the audit code use the syscall_get_arch() code. Based-on-patch-by: Richard Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Cc: linux-alpha@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-ia64@xxxxxxxxxxxxxxx Cc: microblaze-uclinux@xxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxxxx Cc: linux-parisc@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Cc: linux-sh@xxxxxxxxxxxxxxx Cc: sparclinux@xxxxxxxxxxxxxxx Cc: user-mode-linux-devel@xxxxxxxxxxxxxxxxxxxxx Cc: linux-xtensa@xxxxxxxxxxxxxxxx Cc: x86@xxxxxxxxxx commit ce5d112827e5c2e9864323d0efd7ec2a62c6dce0 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Mar 11 13:50:46 2014 -0400 ARCH: AUDIT: implement syscall_get_arch for all arches For all arches which support audit implement syscall_get_arch() They are all pretty easy and straight forward, stolen from how the call to audit_syscall_entry() determines the arch. Based-on-patch-by: Richard Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Cc: linux-ia64@xxxxxxxxxxxxxxx Cc: microblaze-uclinux@xxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxxxx Cc: linux-parisc@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: sparclinux@xxxxxxxxxxxxxxx commit 0451623ad780a478b11c29736dae506e0059966a Author: Eric Paris <eparis@xxxxxxxxxx> Date: Wed Mar 19 19:04:52 2014 -0400 Alpha: define syscall_get_arch() Since Alpha supports syscall audit it now needs to have a syscall.h which implements syscall_get_arch() rather than hard coding this value into audit_syscall_entry(). Based-on-patch-by: Richard Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Cc: linux-alpha@xxxxxxxxxxxxxxx commit 4b4665e13cef9ba66f3ce53548e6bf49530de2e5 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Mar 18 15:35:57 2014 -0400 UM: implement syscall_get_arch() This patch defines syscall_get_arch() for the um platform. It adds a new syscall.h header file to define this. It copies the HOST_AUDIT_ARCH definition from ptrace.h. (that definition will be removed when we switch audit to use this new syscall_get_arch() function) Based-on-patch-by: Richard Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Cc: user-mode-linux-devel@xxxxxxxxxxxxxxxxxxxxx commit 37d181bbfe387346b00bd722acfdf93685ac73b3 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Mar 11 13:41:04 2014 -0400 SH: define syscall_get_arch() for superh This patch defines syscall_get_arch() for the superh platform. It does so in both syscall_32.h and syscall_64.h. I'm not certain if the implementation in syscall_64.h couldn't just be used in syscall.h as I can't really track the setting of CONFIG_64BIT... This way is safe, but we might be able to combine these if a superh person were able to review... [v2] fixed indentation stoopidity (Sergei Shtylyov) use AUDIT_ARCH_SH instead of EM_SH Based-on-patch-by: Richard Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Cc: linux-sh@xxxxxxxxxxxxxxx commit 1002d94d30765b1faf0840adef9ed7e6b7aa5783 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Fri Feb 28 15:34:19 2014 -0500 syscall.h: fix doc text for syscall_get_arch() syscall_get_arch() used to take a task as a argument. It now uses current. Fix the doc text. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 7e51aa4486bcf72daeb5d30227c4c01563f37044 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Wed Apr 2 16:00:58 2014 -0400 audit: drop unused struct audit_rule definition The kernel only uses struct audit_rule_data. We dropped support for struct audit_rule a long time ago. Drop the definition in the header file. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit b76e05869a6434b1af16880d1929230119f67b8b Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 16:44:49 2014 +0300 staging: rtl8821ae: Fixes unnecessary return warning. This patch fixes "void function return statements are not generally useful" checkpatch.pl warning in base.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70dc53633760de48b2d244da8a7b477c628eee05 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:01:02 2014 -0300 [media] tc90522: declare tc90522_functionality as static drivers/media/dvb-frontends/tc90522.c:706:5: warning: symbol 'tc90522_functionality' was not declared. Should it be static? drivers/media/dvb-frontends/tc90522.c:706:5: warning: no previous prototype for 'tc90522_functionality' [-Wmissing-prototypes] u32 tc90522_functionality(struct i2c_adapter *adap) ^ Cc: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5a98f37a535a43b3a27c6a63b07f23d248e4b31 Author: Akihiro Tsukada <tskd08@xxxxxxxxx> Date: Mon Sep 8 14:20:43 2014 -0300 [media] pt3: add support for Earthsoft PT3 ISDB-S/T receiver card This patch adds support for PT3 PCIe cards. PT3 has an FPGA PCIe bridge chip, a TC90522 demod chip and a VA4M6JC2103 tuner module which contains two QM1D1C0042 chips for ISDB-S and two MxL301RF's for ISDB-T. It can receive and deliver 4 (2x ISDB-S, 2x ISDB-T) streams simultaneously, and a kthread is used per stream to poll incoming data, because PT3 does not have interrupts. As an antenna input for each delivery system is split in the tuner module and shared between the corresponding two tuner chips, LNB/LNA controls that the FPGA chip provides are (naturally) shared as well. The tuner chips also share the power line in the tuner module, which is controlled on/off by a GPIO pin of the demod chip. As with the demod chip and the ISDB-T tuner chip, the init sequences/register settings for those chips are not disclosed and stored in a private memory of the FPGA, PT3 driver executes the init of those chips on behalf of their drivers. Signed-off-by: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5d82a75e666a6cc66453285cb3ce28c5d02397a Author: Akihiro Tsukada <tskd08@xxxxxxxxx> Date: Mon Sep 8 14:20:42 2014 -0300 [media] tc90522: add driver for Toshiba TC90522 quad demodulator This patch adds driver for tc90522 demodulator chips. The chip contains 4 demod modules that run in parallel and are independently controllable via separate I2C addresses. Two of the modules are for ISDB-T and the rest for ISDB-S. It is used in earthsoft pt3 cards. Note that this driver does not init the chip, because the initilization sequence / register setting is not disclosed. Thus, the driver assumes that the chips are initilized externally by its parent board driver before fe->ops->init() are called. Earthsoft PT3 PCIe card, for example, contains the init sequence in its private memory and provides a command to trigger the sequence. Signed-off-by: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7608f575b81599ba8e73c27b7ca1fa3993dee585 Author: Akihiro Tsukada <tskd08@xxxxxxxxx> Date: Mon Sep 8 14:20:41 2014 -0300 [media] qm1d1c0042: add driver for Sharp QM1D1C0042 ISDB-S tuner This patch adds driver for qm1d1c0042 tuner chips. It is used as an ISDB-S tuner in earthsoft pt3 cards. Signed-off-by: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit aff0c42a78ed2b6410a083dce59bb6c9fe85da27 Author: Akihiro Tsukada <tskd08@xxxxxxxxx> Date: Mon Sep 8 14:20:40 2014 -0300 [media] mxl301rf: add driver for MaxLinear MxL301RF OFDM tuner This patch adds driver for mxl301rf OFDM tuner chips. It is used as an ISDB-T tuner in earthsoft pt3 cards. Note that this driver does not initilize the chip, because the initilization sequence / register setting is not disclosed. Thus, the driver assumes that the chips are initilized externally by its parent board driver before tuner_ops->init() are called, like in PT3 driver where the bridge chip contains the init sequence in its private memory and provides a command to trigger the sequence. Signed-off-by: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0f531e735651555568816b6cf7631816003dc1d2 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 14:50:35 2014 -0300 [media] tda18271-common: Convert _tda_printk to return void No caller or macro uses the return value so make it void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit da8e77f5e945ee92a6225c18f545630e07fc41bc Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Sep 22 19:22:48 2014 -0300 [media] media: st-rc: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Acked-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cdd9a6316bfb85176aba83e9532fbc46c9588378 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Sep 22 19:22:38 2014 -0300 [media] media: st-rc: move pm ops setup out of conditional compilation This patch moves setting of pm_ops out of the CONFIG_PM_SLEEP condition. Setting pm ops under CONFIG_PM_SLEEP does not make any sense. This patch also remove unnecessary also remove CONFIG_PM condition for pm member in st_rc_driver structure. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 89d7ce5a0f159ffa99d0521b4336b922acdc7ac5 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Sep 22 19:22:26 2014 -0300 [media] media: st-rc: move to using reset_control_get_optional This patch fixes a compilation error while building with the random kernel configuration. drivers/media/rc/st_rc.c: In function 'st_rc_probe': drivers/media/rc/st_rc.c:281:2: error: implicit declaration of function 'reset_control_get' [-Werror=implicit-function-declaration] rc_dev->rstc = reset_control_get(dev, NULL); drivers/media/rc/st_rc.c:281:15: warning: assignment makes pointer from integer without a cast [enabled by default] rc_dev->rstc = reset_control_get(dev, NULL); Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a84fcdaa905862b09482544d190c94a8436e4334 Author: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Date: Sat Aug 30 23:39:10 2014 -0300 [media] rc: Introduce hix5hd2 IR transmitter driver IR transmitter driver for Hisilicon hix5hd2 soc By default all protocols are disabled. For example nec decoder can be enabled by either 1. ir-keytable -p nec 2. echo nec > /sys/class/rc/rc0/protocols See see Documentation/ABI/testing/sysfs-class-rc [mchehab@xxxxxxxxxxxxxxx: Add a fixup for the driver to compile on archs that don't provide writel_relaxed() macro] Signed-off-by: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3c4d1daecef875d28bdbe93587908c897c29ba71 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Tue Sep 23 01:44:51 2014 -0700 vxlan: Fix bug introduced by commit acbf74a76300 Commit acbf74a76300 ("vxlan: Refactor vxlan driver to make use of the common UDP tunnel functions." introduced a bug in vxlan_xmit_one() function, causing it to transmit Vxlan packets without proper Vxlan header inserted. The change was not needed in the first place. Revert it. Reported-by: Tom Herbert <therbert@xxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a3920e86e0291c46db8b5b81ed31a98141e9670 Author: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Date: Sat Aug 30 23:39:09 2014 -0300 [media] rc: Add DT bindings for hix5hd2 Signed-off-by: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 67cbf633c8f03c3f4915fdd771fbf01689cd824c Author: nibble.max <nibble.max@xxxxxxxxx> Date: Wed Aug 6 01:38:48 2014 -0300 [media] rc: add a map for DVBSky devices. This is a RC5 remote controller map for DVBSky S860/960 devices. Signed-off-by: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit af64fb3fa4ae8d4008586e81127b0a25c86f27f5 Author: nibble.max <nibble.max@xxxxxxxxx> Date: Mon Aug 11 01:45:37 2014 -0300 [media] dvbsky: new driver to support DVBSky S860/S960 devices Support for DVBSky dvb-s2 usb: add dvb-usb-v2 driver for DVBSky dvb-s2 box, no ci support yet. Signed-off-by: Nibble Max <nibble.max@xxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8db3e5df4b5aa5ab8ce1edb8ee59ca9f2c2e7cd9 Author: nibble.max <nibble.max@xxxxxxxxx> Date: Wed Aug 6 01:40:01 2014 -0300 [media] rc: add dvbsky rc keymap macro This RC will be used by DVBSky driver, added on the next patch. Signed-off-by: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 27ccd694bb3d71d1aa8342276dd0aca872f99ec9 Author: Shuah Khan <shuah.kh@xxxxxxxxxxx> Date: Wed Aug 13 22:09:24 2014 -0300 [media] media: tuner xc5000 - try to avoid firmware load in resume path xc5000 doesn't load firmware at attach time instead loads it when it needs to set and change configuration from its init, frequency, digital and analog mode set interffaces. As a result, when system is suspended before firmware is loaded, firmware load can be avoided during resume. Loading formware in this scenario results in slowpath warnings during resume as it won't be in the suspend firmware cache. Signed-off-by: Shuah Khan <shuah.kh@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5264a522a597032c009f9143686ebf0fa4e244fb Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Mon Sep 22 21:30:46 2014 -0300 [media] media: tuner xc5000 - release firmwware from xc5000_release() xc5000 releases firmware right after loading it. Change it to save the firmware and release it from xc5000_release(). This helps avoid fecthing firmware when forced firmware load requests come in to change analog tv frequence and when firmware needs to be reloaded after suspend and resume. Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8eb988f1be98e13d33c786ad1511f9870d3038fb Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 07:58:00 2014 -0300 [media] saa7134: Remove unused status var drivers/media/pci/saa7134/saa7134-go7007.c: In function â??saa7134_go7007_interface_resetâ??: drivers/media/pci/saa7134/saa7134-go7007.c:147:6: warning: variable â??statusâ?? set but not used [-Wunused-but-set-variable] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> commit 23ea6ec0785e25600e6bc33332cc5bc255caf91c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 07:54:09 2014 -0300 [media] saa7134: Remove some casting warnings drivers/media/pci/saa7134/saa7134-go7007.c:247:17: warning: incorrect type in argument 1 (different base types) drivers/media/pci/saa7134/saa7134-go7007.c:247:17: expected unsigned int [unsigned] val drivers/media/pci/saa7134/saa7134-go7007.c:247:17: got restricted __le32 [usertype] <noident> drivers/media/pci/saa7134/saa7134-go7007.c:252:17: warning: incorrect type in argument 1 (different base types) drivers/media/pci/saa7134/saa7134-go7007.c:252:17: expected unsigned int [unsigned] val drivers/media/pci/saa7134/saa7134-go7007.c:252:17: got restricted __le32 [usertype] <noident> drivers/media/pci/saa7134/saa7134-go7007.c:299:9: warning: incorrect type in argument 1 (different base types) drivers/media/pci/saa7134/saa7134-go7007.c:299:9: expected unsigned int [unsigned] val drivers/media/pci/saa7134/saa7134-go7007.c:299:9: got restricted __le32 [usertype] <noident> drivers/media/pci/saa7134/saa7134-go7007.c:300:9: warning: incorrect type in argument 1 (different base types) drivers/media/pci/saa7134/saa7134-go7007.c:300:9: expected unsigned int [unsigned] val drivers/media/pci/saa7134/saa7134-go7007.c:300:9: got restricted __le32 [usertype] <noident> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit aff440fa6197d0f78f04cfe552c97464f7048ded Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 12:52:21 2014 -0300 [media] saa7134: Fix compilation breakage when go7007 is not selected All error/warnings: drivers/built-in.o: In function `saa7134_go7007_fini': >> saa7134-go7007.c:(.text+0x3b628b): undefined reference to `go7007_snd_remove' drivers/built-in.o: In function `saa7134_go7007_interface_reset': >> saa7134-go7007.c:(.text+0x3b659a): undefined reference to `go7007_read_interrupt' drivers/built-in.o: In function `saa7134_go7007_init': >> saa7134-go7007.c:(.text+0x3b65fa): undefined reference to `go7007_alloc' >> saa7134-go7007.c:(.text+0x3b66ed): undefined reference to `go7007_boot_encoder' >> saa7134-go7007.c:(.text+0x3b66fe): undefined reference to `go7007_register_encoder' drivers/built-in.o: In function `saa7134_go7007_irq_ts_done': >> saa7134-go7007.c:(.text+0x3b6c2a): undefined reference to `go7007_parse_video_stream' >> saa7134-go7007.c:(.text+0x3b6c86): undefined reference to `go7007_parse_video_stream' This happens when: - VIDEO_SAA7134 is either 'm' or 'y' - VIDEO_GO7007 is not selected. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 452015de2e2afaf0e2f76f28477dd3025d44bc95 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Sep 21 06:52:03 2014 -0300 [media] saa7134: add saa7134-go7007 This patch adds support to saa7134 for 'WIS Voyager or compatible' PCI boards such as the Sensoray model 614 with which this patch was tested. It is a saa7134-based PCI board with a go7007 MPEG encoder. This was a patch when the go7007 was still in staging and was not applied when go7007 was moved to drivers/media since it needed more work. That work is now done and this last piece of go7007 support can now go in. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Tested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 033d008821b9d04e823ef7adb5ef2504506f7028 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Sep 21 06:38:55 2014 -0300 [media] saa7134: also capture the WSS signal for 50 Hz VBI capture The saa7134 driver missed capturing line 23 of the VBI area for the 50 Hz formats. Include that line in the VBI capture. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Tested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 017ab36a8bce08ebdca741ea636f0b2e5006a143 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Sep 21 09:09:58 2014 -0300 [media] v4l2-ioctl.c: fix inverted condition v4l_print_ext_controls() would print the 'size' if it was 0 and 'value' if size was non-zero, but it should have been the other way around. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 692f637522f0ae230fe49aab3776603d5e2c5f31 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 22 05:00:08 2014 -0300 [media] davinci: remove an unneeded check We don't need to check "ret", we know it's zero. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 271430efb21223e9654fcae58955305c5f70663b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 22 04:58:53 2014 -0300 [media] as102: remove some unneeded checks We know "ret" is zero so we don't need to test for it. It upsets the static checkers when we test stuff but we know the answer. drivers/media/usb/as102/as102_usb_drv.c:164 as102_send_ep1() warn: we tested 'ret' before and it was 'false' drivers/media/usb/as102/as102_usb_drv.c:189 as102_read_ep2() warn: we tested 'ret' before and it was 'false' Also, we don't need to initialize "ret". Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 146af9cb809c6b6a0f4e215570fb3f397cd55a21 Author: Amber Thrall <amber.rose.thrall@xxxxxxxxx> Date: Sat Sep 20 01:03:15 2014 -0300 [media] Media: USB: usbtv: Fixed all coding style issues in usbtv source files Fixed various coding styles, ignoring coding style error on line 5 for all files containing a link that is longer than 80 characters long. Signed-off-by: Amber Thrall <amber.rose.thrall@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e87cb470896e9089d2185e1dcbe8d17b0e3361d3 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Mon Sep 15 18:36:15 2014 -0300 [media] imon: fix usbdev leaks imon_probe() does three usb_get_dev(), but there is no any usb_put_dev() in the driver. The patch adds usb_put_dev() to error paths, to imon_disconnect() and to imon_probe() as far as usbdev is not saved anywhere. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3bacc10cd4a85bc70bc0b6c001d3bf995c7fe04c Author: Maciej Matraszek <m.matraszek@xxxxxxxxxxx> Date: Mon Sep 15 05:14:48 2014 -0300 [media] v4l2-common: fix overflow in v4l_bound_align_image() Fix clamp_align() used in v4l_bound_align_image() to prevent overflow when passed large value like UINT32_MAX. In the current implementation: clamp_align(UINT32_MAX, 8, 8192, 3) returns 8, because in line: x = (x + (1 << (align - 1))) & mask; x overflows to (-1 + 4) & 0x7 = 3, while expected value is 8192. v4l_bound_align_image() is heavily used in VIDIOC_S_FMT and VIDIOC_SUBDEV_S_FMT ioctls handlers, and documentation of the latter explicitly states that: "The modified format should be as close as possible to the original request." -- http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-subdev-g-fmt.html Thus one would expect, that passing UINT32_MAX as format width and height will result in setting maximum possible resolution for the device. Particularly, when the driver doesn't support VIDIOC_ENUM_FRAMESIZES ioctl, which is common in the codebase. Fixes changeset: b0d3159be9a3 Signed-off-by: Maciej Matraszek <m.matraszek@xxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 43c3ea312c49efa01dc3b6cd5d78dd8bed27f347 Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Sep 13 05:56:46 2014 -0300 [media] em28xx: remove dead code line from em28xx_audio_setup() Setting the value of the chip config register to EM28XX_CHIPCFG_AC97 in case of a read error is a leftover from the past which is no longer needed. Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 920f1e4a528a1db01d6822026f653659ecb4983d Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Sep 13 05:52:21 2014 -0300 [media] em28xx: get rid of field has_audio in struct em28xx_audio_mode Field has_audio in struct em28xx_audio_mode is used together with value EM28XX_NO_AC97 of field ac97 to determine the internal type of audio (none/i2s/ac97). This makes the code difficult to understand: !audio_mode.has_audio && audio_mode.ac97 == EM28XX_NO_AC97 => no audio !audio_mode.has_audio && audio_mode.ac97 != EM28XX_NO_AC97 => BUG audio_mode.has_audio && audio_mode.ac97 == EM28XX_NO_AC97 => AC97 audio audio_mode.has_audio && audio_mode.ac97 != EM28XX_NO_AC97 => I2S audio Simplify the whole thing by introducing an enum em28xx_int_audio_type which describes the internal audio type (none, ac97, i2s) and is hooked directly to the device struct. Then get rid of field has_audio in struct em28xx_audio_mode. A follow-up patch will then remove struct em28xx_ac97_mode and finally the whole struct em28xx_audio_mode. Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5874208ff78a5180ef0456caa117704983f3a45 Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Sep 13 05:52:20 2014 -0300 [media] em28xx: simplify usb audio class handling As far as we know devices can either have audio class or vendor class usb interfaces but not both at the same time. Even if both interface types could be provided by devices at the same time, the current code is totally broken for that case. So clean up and simplify the usb audio class handling by replacing fields "has_audio_class" (device has usb audio class compliant interface) and "has_alsa_audio" (device has vendor audio interface) in struct em28xx with a single enum em28xx_usb_audio_type. Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 60a24ba03c5dcd51a754cb45e7d65753126f58ce Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Sep 13 05:52:19 2014 -0300 [media] em28xx: remove some unnecessary fields from struct em28xx_audio_mode Fields "ac97_feat", "ac97_vendor_id" and "i2s_samplerates" of struct em28xx_audio_mode are used nowhere, except in function em28xx_audio_setup(). So get rid of them and use local variables instead. Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 072f1a489efa348223db07730c4b946a4b1ca0cc Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Sep 11 19:43:46 2014 -0300 [media] v4l: videobuf2: Fix typos in comments The buffer flags are incorrectly referred to as V4L2_BUF_FLAGS_* instead of V4L2_BUF_FLAG_* in comments. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d87a50586dbeb2b6019b9e695799838401f21db6 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Thu Sep 11 17:01:38 2014 -0300 [media] si2157: Add support for Si2147-A30 tuner This patch adds support for Si2147-A30 tuner. Fairly trivial, no firmware needed for this tuner. However, command 14 00 02 07 01 00 seems to be mandatory. On Si2157 and Si2158 the value 0x0100 is the default value, so this patch does not impact the existing tuners/devices. On Si2147 the default is 0x0000 and I can't get a lock with that value. While here, fix the return length of the previous set command to 4 bytes. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7ac95cf59d59473e680937319594ce0719497e98 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 9 09:11:23 2014 -0300 [media] firewire: firedtv-avc: fix more potential buffer overflow "program_info_length" is user controlled and can go up to 4095. The operand[] array has 509 bytes so we need to add a limit here to prevent buffer overflows. The " - 4" in the limit check is because we have 4 bytes more data to add after the memcpy(). [mchehab@xxxxxxxxxxxxxxx: as I merged the version 1 of the patch, I needed to rebase to apply just the differences between v1 and v2] Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cf3b576d52c1f0a204f0c8bdecc22a338f7ca5a4 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 9 09:05:28 2014 -0300 [media] dvb: si21xx: buffer overflow in si21_writeregs() "len" is user controlled and can be up to 255. Anything more than 59 will cause a buffer overflow so we need to add a test for that. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e947d9ad8ab118d51ff07b7d93c3c1a3e9f7c42f Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Mon Sep 8 19:10:43 2014 -0300 [media] mceusb: fix usbdev leak mceusb_init_rc_dev() does usb_get_dev(), but there is no any usb_put_dev() in the driver. The patch tries to straighten logic. It moves usb_get_dev() directly to mceusb_dev_probe() and adds usb_put_dev() to an error path and to mceusb_dev_disconnect(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3011e5e592a2d31556cc3eff335a1ecccd473fa0 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 8 08:18:43 2014 -0300 [media] firewire: firedtv-avc: potential buffer overflow "program_info_length" is user controlled and can go up to 4095. The operand[] array has 509 bytes so we need to add a limit here to prevent buffer overflows. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f2e323ec96077642d397bb1c355def536d489d16 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Sep 5 09:09:28 2014 -0300 [media] ttusb-dec: buffer overflow in ioctl We need to add a limit check here so we don't overflow the buffer. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9380e112f7b9ab83b57062f2164476e76c5533c7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 4 10:04:38 2014 -0300 [media] hdpvr: reduce memory footprint when debugging There is no need to use hex_dump_to_buffer() since we have a kernel helper to dump up to 64 bytes just via printk(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3232e04df7224f31a31cfe927096f3d03ba743ab Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Sep 4 08:10:05 2014 -0300 [media] staging: lirc: freeing ERR_PTRs We call kfree(data_buf) in the error handling and that will oops if this is an error pointer. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fb91bde9d3664dd879655f3a1013c0b5728e7a09 Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Fri Dec 27 00:16:13 2013 -0300 [media] em28xx: check if a device has audio earlier" GIT_AUTHOR_DATE=1409603039 This reverts commit b99f0aadd33fad269c8e62b5bec8b5c012a44a56 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> [media] em28xx: check if a device has audio earlier Better to split chipset detection from the audio setup. So, move the detection code to em28xx_init_dev(). It broke analog audio of the Hauppauge winTV HVR 900 and very likely many other em28xx devices. Background: The local variable has_audio in em28xx_usb_probe() describes if the currently probed _usb_interface_ has an audio endpoint, while dev->audio_mode.has_audio means that the _device_ as a whole provides analog audio. Hence it is wrong to set dev->audio_mode.has_audio = has_audio in em28xx_usb_probe(). As result, audio support is no longer detected and configured on devices which have the audio endpoint on a separate interface, because em28xx_audio_setup() bails out immediately at the beginning. Revert the faulty commit to restore the old audio detection procedure, which checks the chip configuration register to determine if the device has analog audio. Cc: <stable@xxxxxxxxxxxxxxx> # 3.14 to 3.16 Reported-by: Oravecz Csaba <oravecz@xxxxxxxxxxxx> Tested-by: Oravecz Csaba <oravecz@xxxxxxxxxxxx> Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 66756611c12cfff7260a3c388900dae480a1179d Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Sun Aug 31 08:35:10 2014 -0300 [media] mceusb: add support for more cx231xx devices Add support for the si2161-based cx231xx devices: [2040:b138] Hauppauge WinTV HVR-900-H (model 111xxx) [2040:b139] Hauppauge WinTV HVR-901-H (model 1114xx) They're similar to the already supported: [2040:b130] Hauppauge WinTV 930C-HD (model 1113xx) Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8618ac4d016a8a81f185111310bdd60e22843127 Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Sun Aug 31 08:35:09 2014 -0300 [media] cx231xx: Add support for Hauppauge WinTV-HVR-901H (1114xx) Add support for: [2040:b139] Hauppauge WinTV HVR-901H (1114xx) According to the inf file, the hardware is similar to [2040:b131] Hauppauge WinTV 930C-HD (model 1114xx) The only difference is the demod Si2161 instead of Si2165 (but both are supported by the si2165 driver). Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 57cbf3efc8b610b605cbbef6cba8c1759ca9aa87 Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Sun Aug 31 08:35:08 2014 -0300 [media] cx231xx: Add support for Hauppauge WinTV-HVR-900H (111xxx) Add support for: [2040:b138] Hauppauge WinTV HVR-900H (111xxx) The hardware is similar to [2040:b130] Hauppauge WinTV 930C-HD (model 1113xx) The only difference is the demod Si2161 instead of Si2165 (but both are supported by the si2165 driver). Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 119bd82e0e87903ef45fffe9c17b1fb6a99cc628 Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Sun Aug 31 08:35:07 2014 -0300 [media] si2165: enable Si2161 support Additionally print chip name with revision symbolically. This is a preparation for supporting new Hauppauge WinTV-HVR-900-H based on cx231xx. Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 55bea40070f33a6b52c605a74b4920bad645d0ea Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Sun Aug 31 08:35:06 2014 -0300 [media] si2165: Load driver for all hardware revisions Current firmware is only for revision D. Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b9ed09b3bc2f40d83f90dd563d27d9877be1d1b1 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:17 2014 +0100 staging: et131x: Remove TODO item regarding split lines Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26ca0f1b1afce102ea4071bdfe5ac6318facbf6a Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:16 2014 +0100 staging: et131x: Reduce split lines by renaming flowcontrol Rename adapter->flowcontrol to adapter->flow, reducing split lines. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9e3c03a76f13dd8ba1e6c941b0d115da5e7839b Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:15 2014 +0100 staging: et131x: Use braces on all arms of if/else in et131x_handle_recv_pkts The 'if' blocks have braces, so the 'else' blocks should too. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f4d2029421c1bfabc6504bdd96669af5ff82f32 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:14 2014 +0100 staging: et131x: Reduce split lines by renaming some psr variables Modify some packet status ring associated variables to save a few split lines: pktstat_ringsize -> psr_size psr_num_entries -> psr_entries index -> ii Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a02a26f0d6dd25fe3e543d2ad4c6c14d9d33c1c7 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:13 2014 +0100 staging: et131x: Reduce split lines in et131x_rx_dma_memory_alloc() Modify temporary variables so that split lines can be reduced: index -> k fbr_tmp_physaddr -> fbr_physaddr Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b11d00df7b31ce1d922b7080cedf923abccb906 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:12 2014 +0100 staging: et131x: Remove unused ce_stats struct member This ce_stats struct member is no longer used. Remove it. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d99249f17b0adc50e4fe2ca1750923899c490d73 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:11 2014 +0100 staging: et131x: Remove unused MP_TCB defines These two defines are not used, so remove them. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 365027332b7a514d0f10c557a94b3ea082f038a5 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:10 2014 +0100 staging: et131x: Remove unused et131x_adapter struct members These two adapter struct members are not used, remove them. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2ce06152ad5fdc67b3841d74852ffd30c2488e3 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Tue Sep 23 01:36:23 2014 +0300 Staging: octeon: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in ethernet-xaui.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a512b03235d422b5d008022bd34b64ed0dcd9a7 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Sep 24 03:19:29 2014 +0900 ARM: exynos_defconfig: Enable Maxim 77693 and I2C GPIO drivers The Exynos System-on-Chips have ~7 distinctive I2C IO ports (exact number depends on chip). However some integrated circuits on board, also using I2C protocol for communication, can be connected to the SoC by other GPIO. Enabling the I2C GPIO driver allows using such additional integrated circuits. An example of such chip using I2C and connected over GPIO to SoC is Maxim 77693 MUIC on Trats2 board. The regulator driver of Maxim 77693 offers charger and safeout LDO (necessary for USB OTG). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 20f4f1a0536c20ccd870a04b14cabf87c0fa295c Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 11:53:20 2014 +0530 staging: media: lirc: remove unnecessary break after return This patch fixes checkpatch.pl warning in lirc_serial.c file WARNING : break is not useful after goto or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5366563d5b1372c8ef6d2863ac315bd98674232 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 11:51:38 2014 +0530 Staging: media: lirc: fixed else after return or break warning This patch fixes checkpatch.pl warning in file lirc_serial.c WARNING : else is not generally useful after a break or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95dd89730119b97d82f9edc806757cef737703e5 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 17 17:52:58 2014 -0700 f2fs: use more free segments until SSR is activated Previously, f2fs activates SSR if the # of free segments reaches to the # of overprovisioned segments. In this case, SSR starts to use dirty segments only, so that the overprovisoned space cannot be selected for new data. This means that we have no chance to utilizae the overprovisioned space at all. This patch fixes that by allowing LFS allocations until the # of free segments reaches to the last threshold, reserved space. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9b5f136fd41658f384a5b4ea49d8ef37036e15f5 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 16 18:30:54 2014 -0700 f2fs: change the ipu_policy option to enable combinations This patch changes the ipu_policy setting to use any combination of orthogonal policies. Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 210f41bc048263d572515e1e0edc28d362ce673e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 15 18:05:44 2014 +0800 f2fs: fix to search whole dirty segmap when get_victim In ->get_victim we get max_search value from dirty_i->nr_dirty without protection of seglist_lock, after that, nr_dirty can be increased/decreased before we hold seglist_lock lock. Then in main loop we attempt to traverse all dirty section one time to find victim section, but it's not accurate to use max_search as the total loop count, because we might lose checking several sections or check sections redundantly for the case of nr_dirty are increased or decreased previously. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 26666c8a4366debae30ae37d0688b2bec92d196a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 15 18:04:44 2014 +0800 f2fs: fix to clean previous mount option when remount_fs In manual of mount, we descript remount as below: "mount -o remount,rw /dev/foo /dir After this call all old mount options are replaced and arbitrary stuff from fstab is ignored, except the loop= option which is internally generated and maintained by the mount command." Previously f2fs do not clear up old mount options when remount_fs, so we have no chance of disabling previous option (e.g. flush_merge). Fix it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 14cecc5cd6ed33ef3cb7328de904cc636dd390a4 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 15 18:03:32 2014 +0800 f2fs: skip punching hole in special condition Now punching hole in directory is not supported in f2fs, so let's limit file type in punch_hole(). In addition, in punch_hole if offset is exceed file size, we should skip punching hole. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 55cf9cb63f0e5439f208d78ed944de9a8df65011 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 15 18:01:10 2014 +0800 f2fs: support large sector size Block size in f2fs is 4096 bytes, so theoretically, f2fs can support 4096 bytes sector device at maximum. But now f2fs only support 512 bytes size sector, so block device such as zRAM which uses page cache as its block storage space will not be mounted successfully as mismatch between sector size of zRAM and sector size of f2fs supported. In this patch we support large sector size in f2fs, so block device with sector size of 512/1024/2048/4096 bytes can be supported in f2fs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 09db6a2ef8d9ca6da71b5de56097e8b769bef299 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 15 18:02:09 2014 +0800 f2fs: fix to truncate blocks past EOF in ->setattr By using FALLOC_FL_KEEP_SIZE in ->fallocate of f2fs, we can fallocate block past EOF without changing i_size of inode. These blocks past EOF will not be truncated in ->setattr as we truncate them only when change the file size. We should give a chance to truncate blocks out of filesize in setattr(). Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 976e4c50aea111bc7193b48950a3b0c8bc0a25ff Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 15 19:32:16 2014 -0700 f2fs: update i_size when __allocate_data_block The f2fs_direct_IO uses __allocate_data_block, but inside the allocation path, we should update i_size at the changed time to update its inode page. Otherwise, we can get wrong i_size after roll-forward recovery. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 90a893c749f4582f21e97639f4e85e7f2362c2f0 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 22 16:21:07 2014 -0700 f2fs: use MAX_BIO_BLOCKS(sbi) This patch cleans up a simple macro. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c52e1b10b175bef84f1681946b4a438cc4c84147 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Sep 11 14:29:06 2014 -0700 f2fs: remove redundant operation during roll-forward recovery If same data is updated multiple times, we don't need to redo whole the operations. Let's just update the lastest one. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 19c9c466e5c79402cbf8929f922011b02fbb59bd Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 10 15:04:03 2014 -0700 f2fs: do not skip latest inode information In f2fs_sync_file, if there is no written appended writes, it skips to write its node blocks. But, if there is up-to-date inode page, we should write it to update its metadata during the roll-forward recovery. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 441ac5cb323a47b0a665f77f7cd6f76aacbdf21c Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 15 16:46:08 2014 -0700 f2fs: fix roll-forward missing scenarios We can summarize the roll forward recovery scenarios as follows. [Term] F: fsync_mark, D: dentry_mark 1. inode(x) | CP | inode(x) | dnode(F) -> Update the latest inode(x). 2. inode(x) | CP | inode(F) | dnode(F) -> No problem. 3. inode(x) | CP | dnode(F) | inode(x) -> Recover to the latest dnode(F), and drop the last inode(x) 4. inode(x) | CP | dnode(F) | inode(F) -> No problem. 5. CP | inode(x) | dnode(F) -> The inode(DF) was missing. Should drop this dnode(F). 6. CP | inode(DF) | dnode(F) -> No problem. 7. CP | dnode(F) | inode(DF) -> If f2fs_iget fails, then goto next to find inode(DF). 8. CP | dnode(F) | inode(x) -> If f2fs_iget fails, then goto next to find inode(DF). But it will fail due to no inode(DF). So, this patch adds some missing points such as #1, #5, #7, and #8. Signed-off-by: Huang Ying <ying.huang@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 88bd02c9472a166b706284a34a84f1243322d782 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 15 14:50:48 2014 -0700 f2fs: fix conditions to remain recovery information in f2fs_sync_file This patch revisited whole the recovery information during the f2fs_sync_file. In this patch, there are three information to make a decision. a) IS_CHECKPOINTED, /* is it checkpointed before? */ b) HAS_FSYNCED_INODE, /* is the inode fsynced before? */ c) HAS_LAST_FSYNC, /* has the latest node fsync mark? */ And, the scenarios for our rule are based on: [Term] F: fsync_mark, D: dentry_mark 1. inode(x) | CP | inode(x) | dnode(F) 2. inode(x) | CP | inode(F) | dnode(F) 3. inode(x) | CP | dnode(F) | inode(x) | inode(F) 4. inode(x) | CP | dnode(F) | inode(F) 5. CP | inode(x) | dnode(F) | inode(DF) 6. CP | inode(DF) | dnode(F) 7. CP | dnode(F) | inode(DF) 8. CP | dnode(F) | inode(x) | inode(DF) For example, #3, the three conditions should be changed as follows. inode(x) | CP | dnode(F) | inode(x) | inode(F) a) x o o o o b) x x x x o c) x o o x o If f2fs_sync_file stops ------^, it should write inode(F) --------------^ So, the need_inode_block_update should return true, since c) get_nat_flag(e, HAS_LAST_FSYNC), is false. For example, #8, CP | alloc | dnode(F) | inode(x) | inode(DF) a) o x x x x b) x x x o c) o o x o If f2fs_sync_file stops -------^, it should write inode(DF) --------------^ Note that, the roll-forward policy should follow this rule, which means, if there are any missing blocks, we doesn't need to recover that inode. Signed-off-by: Huang Ying <ying.huang@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7ef35e3b9e7a99db4930b58b33a94455dbf53276 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 15 12:07:13 2014 -0700 f2fs: introduce a flag to represent each nat entry information This patch introduces a flag in the nat entry structure to merge various information such as checkpointed and fsync_done marks. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4c521f493b625c7982cf2eae246e86c893f62dfa Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Sep 11 13:49:55 2014 -0700 f2fs: use meta_inode cache to improve roll-forward speed Previously, all the dnode pages should be read during the roll-forward recovery. Even worsely, whole the chain was traversed twice. This patch removes that redundant and costly read operations by using page cache of meta_inode and readahead function as well. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit abb0bdad0c2c2aad5fbd5049b8c3bb71878ccda9 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 22:26:02 2014 +0300 staging: media: lirc: Fixed quoted string split warning. This patch fixes "quoted string split across lines" checkpatch.pl warning in lirc_imon.c. Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00ef07e3621f6ddab5992804b8d2cb1c5a350b6b Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 16:37:20 2014 +0300 staging: media: omap4iss: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in iss_video.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d374b2c7a7d4cc8ab302d15939cfd0af9ab0467 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 16:31:03 2014 +0300 staging: media: omap4iss: Fixes missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in iss_csi2.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6f1ae82bd288bceed5a93594a8a081845f11b41 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Sep 24 02:18:32 2014 +0900 ARM: mm: Fix ifdef around cpu_*_do_[suspend, resume] ops Ifdef around cpu_\name\()_do_suspend and cpu_\name\()_do_resume ops in proc-macros.S should check for CONFIG_ARM_CPU_SUSPEND and not CONFIG_PM_SLEEP. Fix it. [ Please note that cpu_v7_do_[suspend,resume] code in proc-v7.S already correctly checks for CONFIG_ARM_CPU_SUSPEND, same is true for functions for other architectures. ] This fix is needed for decoupling suspend/resume and advanced cpuidle support on Exynos platform (next patch fixes build for config with CONFIG_PM_SLEEP=n and CONFIG_ARM_EXYNOS_CPUIDLE=y). If this fix is not present then the following OOPS happens on the first attempt to go into advanced cpuidle mode (AFTR): [ 22.244143] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 22.250759] pgd = c0004000 [ 22.253445] [00000000] *pgd=00000000 [ 22.257012] Internal error: Oops: 80000007 [#1] PREEMPT SMP ARM [ 22.262906] Modules linked in: [ 22.265949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.16.0-next-20140811-dirty #730 [ 22.273757] task: c05dce68 ti: c05d2000 task.ti: c05d2000 [ 22.279139] PC is at 0x0 [ 22.281661] LR is at __cpu_suspend_save+0x4c/0xa8 [ 22.286344] pc : [<00000000>] lr : [<c00125e0>] psr: a0000093 [ 22.286344] sp : c05d3ef4 ip : c05da414 fp : 00000001 [ 22.297799] r10: c05da414 r9 : c0609cb0 r8 : 0000000f [ 22.303008] r7 : c05da444 r6 : 00000038 r5 : ea802c00 r4 : c05d3f14 [ 22.309517] r3 : 00000000 r2 : c05d3f4c r1 : 00000038 r0 : c05d3f20 [ 22.316029] Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel [ 22.323406] Control: 10c5387d Table: 69d5404a DAC: 00000015 [ 22.329135] Process swapper/0 (pid: 0, stack limit = 0xc05d2240) [ 22.335124] Stack: (0xc05d3ef4 to 0xc05d4000) [ 22.339466] 3ee0: ea802c00 00000038 c05d3f4c [ 22.347626] 3f00: 00000000 00000007 c00123bc 00000000 c001d468 6a888000 c05d3f4c 80000000 [ 22.355785] 3f20: 00000007 c003d3a0 0000193d eaf9dde4 eaf9dde4 c02ef0c8 c000969c fffffffe [ 22.363944] 3f40: 00000000 c0037b54 eaf9dbb8 e9d1a380 00000000 c001d468 c0609cb0 00000000 [ 22.372103] 3f60: c0609cb0 c061649e 00000001 c001250c eaf9dbb8 00000001 c0609cb0 c001d618 [ 22.380262] 3f80: c001d5d0 c02ef56c 2d9d2e1e 00000005 eaf9dbb8 c02edcc4 2d9d2e1e 00000005 [ 22.388421] 3fa0: c040446c c05da4ec c040446c eaf9dbb8 c05cfbb0 c004c580 c05dce68 c05b3ae8 [ 22.396580] 3fc0: 00000000 c058bb24 ffffffff ffffffff c058b5e4 00000000 00000000 c05b3ae8 [ 22.404740] 3fe0: c0616994 c05da47c c05b3ae4 c05ddeec 4000406a 40008074 00000000 00000000 [ 22.412909] [<c00125e0>] (__cpu_suspend_save) from [<c00123bc>] (__cpu_suspend+0x5c/0x70) [ 22.421074] [<c00123bc>] (__cpu_suspend) from [<c05d3f4c>] (init_thread_union+0x1f4c/0x2000) [ 22.429479] Code: bad PC value [ 22.432518] ---[ end trace fb90ebf4217d0ad9 ]--- [ 22.437116] Kernel panic - not syncing: Attempted to kill the idle task! [ 22.443800] Rebooting in 5 seconds.. This patch has been tested on Exynos4210 based Origen board. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 658cff0de56ebb1baa581f605dd92015366c511f Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Sep 24 02:18:27 2014 +0900 ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n Fix building of exynos_defconfig with disabled CONFIG_PM_SLEEP by adding checking whether Exynos cpuidle support is enabled before accessing exynos_enter_aftr. The build error message: arch/arm/mach-exynos/built-in.o:(.data+0x74): undefined reference to `exynos_enter_aftr' make: *** [vmlinux] Error 1 This patch has been tested on Exynos4210 based Origen board. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 2c054716a57c6eac839e94129b17f73930e817eb Author: Tomasz Figa <t.figa@xxxxxxxxxxx> Date: Wed Sep 24 02:10:04 2014 +0900 ARM: SAMSUNG: Restore Samsung PM Debug functionality Due to recently merged patches and previous merge conflicts, the Samsung PM Debug functionality no longer can be enabled. This patch fixes incorrect dependency of SAMSUNG_PM_DEBUG on an integer symbol and adds missing header inclusion. Signed-off-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit b756dc48b7645f8753516c49594157e45ba3e4f1 Author: Tomasz Figa <t.figa@xxxxxxxxxxx> Date: Sun Sep 14 02:10:35 2014 +0900 ARM: dts: Fix pull setting in sd4_width8 pin group for exynos4x12 The group has the samsung,pin-pud property set to 4, which is not a correct value. This patch fixes this by replacing it with 3, which is the correct value for pull-up. Signed-off-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 3e95b7b7367801f115b9fcf63063a5c1ea34de20 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 11:25:51 2014 -0500 ARM: exynos_defconfig: Enable SBS battery support Many Exynos5 boards (e.g: Snow, Peach Pit and Pi) have a SBS-compliant gas gauge battery. Enable to built it so the needed support is available for these boards. Suggested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 4c79279940988d55bfe7596a61d3784f1ae1bca7 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Sep 24 02:42:52 2014 +0900 ARM: exynos_defconfig: Enable Control Groups support systemd needs control groups support to be enabled in the kernel so let's enable it by default since is quite likely that a user-space with systemd will be used. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit a5ec3a4860374a0f1a5075359fd30a594cb2bed7 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Sep 24 02:42:49 2014 +0900 ARM: exynos_defconfig: Enable Atmel maXTouch support Many Exynos based Chromebooks have an Atmel trackpad so enable support for it by default will make easier for users. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 6e80e3d87549bbe6768bdfc46e6e2e84673c9acd Author: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Date: Wed Sep 24 02:42:40 2014 +0900 ARM: exynos_defconfig: Enable MAX77802 Enabled MAX77802 pmic for exynos systems. One config USB_ANNOUNCE_NEW_DEVICES to display device information on connect. Another config for I2C_CHARDEV to see i2c device nodes. Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit bd1e75abf4b3c666f61a5cf90c896aa928a735d5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 19 08:26:20 2014 -0700 tcp: add coalescing attempt in tcp_ofo_queue() In order to make TCP more resilient in presence of reorders, we need to allow coalescing to happen when skbs from out of order queue are transferred into receive queue. LRO/GRO can be completely canceled in some pathological cases, like per packet load balancing on aggregated links. I had to move tcp_try_coalesce() up in the file above tcp_ofo_queue() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cdf507d54525842dfd9f6313fdafba039084046 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 19 07:38:40 2014 -0700 icmp: add a global rate limitation Current ICMP rate limiting uses inetpeer cache, which is an RBL tree protected by a lock, meaning that hosts can be stuck hard if all cpus want to check ICMP limits. When say a DNS or NTP server process is restarted, inetpeer tree grows quick and machine comes to its knees. iptables can not help because the bottleneck happens before ICMP messages are even cooked and sent. This patch adds a new global limitation, using a token bucket filter, controlled by two new sysctl : icmp_msgs_per_sec - INTEGER Limit maximal number of ICMP packets sent per second from this host. Only messages whose type matches icmp_ratemask are controlled by this limit. Default: 1000 icmp_msgs_burst - INTEGER icmp_msgs_per_sec controls number of ICMP packets sent per second, while icmp_msgs_burst controls the burst size of these packets. Default: 50 Note that if we really want to send millions of ICMP messages per second, we might extend idea and infra added in commit 04ca6973f7c1a ("ip: make IP identifiers less predictable") : add a token bucket in the ip_idents hash and no longer rely on inetpeer. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e8b56d55a30afe588d905913d011678235dda437 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Fri Sep 19 14:56:57 2014 +0200 net: bpf: arm: make hole-faulting more robust Will Deacon pointed out, that the currently used opcode for filling holes, that is 0xe7ffffff, seems not robust enough ... $ echo 0xffffffe7 | xxd -r > test.bin $ arm-linux-gnueabihf-objdump -m arm -D -b binary test.bin ... 0: e7ffffff udf #65535 ; 0xffff ... while for Thumb, it ends up as ... 0: ffff e7ff vqshl.u64 q15, <illegal reg q15.5>, #63 ... which is a bit fragile. The ARM specification defines some *permanently* guaranteed undefined instruction (UDF) space, for example for ARM in ARMv7-AR, section A5.4 and for Thumb in ARMv7-M, section A5.2.6. Similarly, ptrace, kprobes, kgdb, bug and uprobes make use of such instruction as well to trap. Given mentioned section from the specification, we can find such a universe as (where 'x' denotes 'don't care'): ARM: xxxx 0111 1111 xxxx xxxx xxxx 1111 xxxx Thumb: 1101 1110 xxxx xxxx We therefore should use a more robust opcode that fits both. Russell King suggested that we can even reuse a single 32-bit word, that is, 0xe7fddef1 which will fault if executed in ARM *or* Thumb mode as done in f928d4f2a86f ("ARM: poison the vectors page"). That will still hold our requirements: $ echo 0xf1defde7 | xxd -r > test.bin $ arm-unknown-linux-gnueabi-objdump -m arm -D -b binary test.bin ... 0: e7fddef1 udf #56801 ; 0xdde1 $ echo 0xf1defde7f1defde7f1defde7 | xxd -r > test.bin $ arm-unknown-linux-gnueabi-objdump -marm -Mforce-thumb -D -b binary test.bin ... 0: def1 udf #241 ; 0xf1 2: e7fd b.n 0x0 4: def1 udf #241 ; 0xf1 6: e7fd b.n 0x4 8: def1 udf #241 ; 0xf1 a: e7fd b.n 0x8 So on ARM 0xe7fddef1 conforms to the above UDF pattern, and the low 16 bit likewise correspond to UDF in Thumb case. The 0xe7fd part is an unconditional branch back to the UDF instruction. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Mircea Gherzan <mgherzan@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f6d80358dc9bbbeb56cb43384fa11fd645d9289 Merge: a2aeb02 98f75b8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 23 12:09:27 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: arch/mips/net/bpf_jit.c drivers/net/can/flexcan.c Both the flexcan and MIPS bpf_jit conflicts were cases of simple overlapping changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31ff2a5e42f459f36a88afa82244dd3d3285572e Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Fri Aug 22 18:15:12 2014 -0700 PCI: pciehp: Stop disabling notifications during init During pciehp initialization, we previously wrote two hotplug commands: pciehp_probe pcie_init pcie_disable_notification pcie_write_cmd # command 1 pcie_init_notification pcie_enable_notification pcie_write_cmd # command 2 For controllers with errata like Intel CF118, we previously waited for a timeout before issuing the second hotplug command because the first command only updates interrupt enable bits and is not a "real" hotplug command, so the controller doesn't report Command Completed for it. But there's no need to disable notifications in the first place. If BIOS left them enabled, we could easily take an interrupt before disabling them, so there's no benefit in disabling them for the tiny window before we enable them. Drop the unnecessary pcie_disable_notification() call. [bhelgaas: changelog] Link: http://www.intel.com/content/www/us/en/processors/xeon/xeon-e7-v2-spec-update.html Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit cf8d7b589c53f17e10e9f1ef91dd9e2ba3ca9a7c Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Mon Sep 22 20:36:09 2014 -0600 PCI: pciehp: Add more Slot Control debug output Add more Slot Control debug output and move one print after pcie_write_cmd() to be consistent with other debug output. Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit d433889cd5a0933fbd90f1e65bff5a8d7963cc52 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Mon Sep 22 20:07:35 2014 -0600 PCI: pciehp: Fix wait time in timeout message When we warned about a timeout on a hotplug command, we previously printed the time between calls to pcie_write_cmd(), without accounting for any time spent actually waiting. Consider this sequence: pcie_write_cmd write SLTCTL cmd_started = jiffies # T1 pcie_write_cmd pcie_wait_cmd now = jiffies # T2 wait_event_timeout # we may wait here if (timeout) ctrl_info("Timeout on command issued %u msec ago", jiffies_to_msecs(now - cmd_started)) We previously printed (T2 - T1), but that doesn't include the time spent in wait_event_timeout(). Fix this by using the current jiffies value, not the one cached before calling wait_event_timeout(). [bhelgaas: changelog, use current jiffies instead of adding timeout] Fixes: 40b960831cfa ("PCI: pciehp: Compute timeout from hotplug command start time") Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 2f419d76599e2fd1a2c2cf31730c80e952201af1 Merge: ef39ab7 bceee4a Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Sep 23 10:03:18 2014 -0600 Merge branch 'pci/hotplug' into next * pci/hotplug: PCI: pciehp: Prevent NULL dereference during probe PCI: pciehp: Reduce PCIe slot_ctrl to 16 bits PCI: Configure *all* devices, not just hot-added ones PCI: Preserve MPS and MRRS when applying _HPX settings PCI: Apply _HPP settings to all hot-added PCI devices PCI: Preserve BIOS PCI_COMMAND_SERR and PCI_COMMAND_PARITY settings PCI: Apply _HPP settings to PCIe devices as well as PCI and PCI-X PCI: Remove unused pci_configure_slot() ACPI / hotplug / PCI: Remove pci_configure_slot() usage PCI: shpchp: Remove pci_configure_slot() usage PCI: pciehp: Remove pci_configure_slot() usage PCI: Add pci_configure_device() during enumeration PCI: Move pci_configure_slot() to drivers/pci/probe.c PCI: Shuffle pci-acpi.c functions to group them logically PCI: Whitespace cleanup in pci-acpi.c PCI: Move pci_get_hp_params() to drivers/pci/pci-acpi.c PCI: pciehp: Configure hot-added display devices PCI: Remove "no hotplug settings from platform" warning commit 43a8785aeedc3eb1ffce95d46a8e7ca3e0d591d8 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Fri Sep 19 11:39:25 2014 +0400 GPIO: gpiolib: trivial: Add missing carriage return Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 46824e224490af1e6d70fe613930a52253ea969d Author: Nishanth Menon <nm@xxxxxx> Date: Fri Sep 5 14:52:55 2014 -0500 gpio: omap: Fix interrupt names When viewing the /proc/interrupts, there is no information about which GPIO bank a specific gpio interrupt is hooked on to. This is more than a bit irritating as such information can esily be provided back to the user and at times, can be crucial for debug. So, instead of displaying something like: 31: 0 0 GPIO 0 palmas 32: 0 0 GPIO 27 mmc0 Display the following with appropriate device name: 31: 0 0 4ae10000.gpio 0 palmas 32: 0 0 4805d000.gpio 27 mmc0 This requires that we create irq_chip instance specific for each GPIO bank which is trivial to achieve. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Acked-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9afd23b61221a5c5c0d588f6d8f0e4495ecc8d24 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Sep 23 17:40:45 2014 +0200 gpio: samsung: Remove remaining check for CONFIG_S5P_GPIO_DRVSTR Commit d78c16ccde96 ("ARM: SAMSUNG: Remove remaining legacy code") removed the Kconfig symbol S5P_GPIO_DRVSTR. It didn't remove one check for the related macro. Remove that check and the dead code it hides. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Reviewed-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7ca267faba8ad097f57cb71c32ae1865de83241a Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Sep 15 17:09:44 2014 +0300 gpio: Increase ARCH_NR_GPIOs to 512 Some newer Intel SoCs, like Braswell already have more than 256 GPIOs available so the default limit is exceeded. Instead of adding more architecture specific gpio.h files with custom ARCH_NR_GPIOs we increase the gpiolib default limit to be twice the current. Current generic ARCH_NR_GPIOS limit is 256 which starts to be too small for newer Intel SoCs like Braswell. In order to support GPIO controllers on these SoCs we increase ARCH_NR_GPIOS to be 512 which should be sufficient for now. The kernel size increases a bit with this change. Below is an example of x86_64 kernel image. ARCH_NR_GPIOS=256 text data bss dec hex filename 11476173 1971328 1265664 14713165 e0814d vmlinux ARCH_NR_GPIOS=512 text data bss dec hex filename 11476173 1971328 1269760 14717261 e0914d vmlinux So the BSS size and this the kernel image size increases by 4k. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 56b427678cc3c1c4e305a96c9cfa8ba985c70a48 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 15:56:55 2014 +0200 gpio: use container_of to resolve cs5535_gpio_chip from gpio_chip Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1e960dbb7b12886d2095df05adf8754eef1c26d0 Author: Weike Chen <alvin.chen@xxxxxxxxx> Date: Wed Sep 17 09:18:42 2014 -0700 GPIO: gpio-dwapb: Suspend & Resume PM enabling This patch enables suspend and resume mode for the power management, and it is based on Josef Ahmad's previous work. Reviewed-by: Hock Leong Kweh <hock.leong.kweh@xxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> Signed-off-by: Weike Chen <alvin.chen@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5d60d9efe1447b46f33075fb5841fd83247cdbb2 Author: Weike Chen <alvin.chen@xxxxxxxxx> Date: Wed Sep 17 09:18:41 2014 -0700 GPIO: gpio-dwapb: Support Debounce This patch enables 'debounce' for the designware GPIO, and it is based on Josef Ahmad's previous work. Reviewed-by: Hock Leong Kweh <hock.leong.kweh@xxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Weike Chen <alvin.chen@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 67809b974a07042dc61cb9d06e30df7a5f25446a Author: Weike Chen <alvin.chen@xxxxxxxxx> Date: Wed Sep 17 09:18:40 2014 -0700 GPIO: gpio-dwapb: Change readl&writel to dwapb_read&dwapb_write This patch replaces 'readl&writel' with 'dwapb_read&dwapb_write'. Reviewed-by: Shevchenko, Andriy <andriy.shevchenko@xxxxxxxxx> Signed-off-by: Weike Chen <alvin.chen@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3d2613c4289ff22de3aa24d2d0a29e33937f023a Author: Weike Chen <alvin.chen@xxxxxxxxx> Date: Wed Sep 17 09:18:39 2014 -0700 GPIO: gpio-dwapb: Enable platform driver binding to MFD driver The Synopsys DesignWare APB GPIO driver only supports open firmware devices. But, like Intel Quark X1000 SOC, which has a single PCI function exporting a GPIO and an I2C controller, it is a Multifunction device. This patch is to enable the current Synopsys DesignWare APB GPIO driver to support the Multifunction device which exports the designware GPIO controller. Reviewed-by: Hock Leong Kweh <hock.leong.kweh@xxxxxxxxx> Signed-off-by: Weike Chen <alvin.chen@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e1db1706c86ee455f25eeaeadeda827e1e02310f Author: abdoulaye berthe <berthe.ab@xxxxxxxxx> Date: Sat Jul 5 18:28:50 2014 +0200 gpio: gpiolib: set gpiochip_remove retval to void This avoids handling gpiochip remove error in device remove handler. Signed-off-by: Abdoulaye Berthe <berthe.ab@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e27e278608d0dca1b97abea3c1855beafcc68bcb Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 16 15:14:46 2014 -0700 tty: sc16is7xx: remove retval from gpiochip_remove() We are trying to smoke out the use of the return value from gpiochip_remove() from the kernel, this has been missed. Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit da26d5d803e45a30c7d72b83ce906f3a466f4cc3 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 16 15:11:41 2014 -0700 gpio: remove remaining users of gpiochip_remove() retval Some drivers accidentally still use the return value from gpiochip_remove(). Get rid of them so we can simplify this function and get rid of the return value. Cc: Abdoulaye Berthe <berthe.ab@xxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2fcea6cecbc965b4e02a39537d9d939f5251bbbd Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 16 15:05:41 2014 -0700 pinctrl: remove remaining users of gpiochip_remove() retval Some drivers accidentally still use the return value from gpiochip_remove(). Get rid of them so we can simplify this function and get rid of the return value. Cc: Abdoulaye Berthe <berthe.ab@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 50cf5534df852d30f1fd07030c2084b708a88308 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 28 13:50:19 2014 -0300 dma: Kconfig: Include mx6 in the IMX_SDMA help section MX6 processors also use the IMX_SDMA driver, so include it in the help text. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c2e6f424a4abc9bb561133b00b2134ce11be34e9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 22 15:19:44 2014 +0300 dmatest: prevent memory leakage on error path in thread When we fail to allocate memory for thread->srcs or thread->dsts and src_cnt or dst_cnt great than 1 we leak memory on error path. This patch fixes the issue. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 75c49d40c3807c7f6eeaecb959a289f77e438bfe Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Sep 22 09:39:53 2014 -0500 drivers: staging: lustre: Fix "open brace '{' following struct go on the same line" errors Fix checkpatch.pl "open brace '{' following struct go on the same line" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b06b70b52fc24a8a6c6e59f06ae632be379c6eb Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Tue Sep 23 01:53:24 2014 +0300 Staging: lustre: include: linux: Fix line over 80 characters. The following patch fixes the checkpatch.pl warning: WARNING: line over 80 characters. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d02b0b81c0474212310c5a72cf088736c9aab41 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Sep 23 19:21:32 2014 +0530 Staging: lustre: Unnecessory else and braces are removed This patch fixes following checkpatch.pl warning using coccinelle: WARNING: else is not generally useful after a break or return Semantic patch used for this is as follows: @rule1@ expression e1; @@ if (e1) { ... return ...; } - else{ ... - } @rule2@ expression e2; statement s1; @@ if(e2) { ... return ...; } - else s1 Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ce91a9e854aba900a5bcddcd1c2297d7ff5cd40 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Sep 23 19:22:41 2014 +0530 Staging: lustre: Return statement is moved left after removing else This patch fixes following checkpatch.pl warning using coccinelle: WARNING: else is not generally useful after a break or return Semantic patch used for this is as follows: @rule1@ expression e1; @@ if (e1) { ... return ...; } - else{ ... - } @rule2@ expression e2; statement s1; @@ if(e2) { ... return ...; } - else s1 Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26c4ea46a55c9056fa20e3c91b1989f3cd9473d7 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Sun Sep 21 00:08:05 2014 +0530 Staging: lustre: Replace GOTO macro with necessary code The GOTO macro is neither standard in Linux nor does its definiton contain much useful code. Hence GOTO can be replaced with useful parts of its definition. In a statement like GOTO(label, rc), the replacing code will be goto label if rc is a constant or a variable. But in cases like GOTO(label, e) where e is an assignment statement, both assignment and goto statements are kept. This patch was done using Coccinelle and the following semantic patch was used: @@ identifier rc,label; expression e; constant c; @@ ( -GOTO(label,rc = e); +rc = e; +goto label; | -GOTO(label,rc); +goto label; | -GOTO(label,c); +goto label; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddcb81e7419baa90fab79dbbb1b983a69a235c91 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 22:03:43 2014 +0530 staging: rtl8712: merge lines and remove unused variable for immediate return This patch merge two lines in a single line if immediate return is found. Unused variables in each case were removed manually as they are no longer needed. This is done using Coccinelle. Semantic patch used for this is as follows : @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a988265c61a8e0f4420148c8b62f334b31f49c69 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 07:03:31 2014 +0530 Staging: rtl8712: Add space after return type This patch fixes checkpatch.pl warning in file rtl871x_ioctl.h WARNING : Missing space after return type Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c08242008a11d01112b8681b94ccce6ea6e4ae8a Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 06:52:39 2014 +0530 Staging: rtl8712: Remove unnecessary parentheses This patch fixes checkpatch.pl warning in files of rel8712 WARNING : Unnecessary parentheses - maybe == should be = ? Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57b6686ebbf55d3f44d02c72d0d87f5d12032a08 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 06:42:21 2014 +0530 Staging: rtl8712 : Fix line over 80 characters This patch fixes checkpatch.pl warning in files of rtl8712 WARNING : line over 80 characters Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d76a7e4dc516016e1471f33de218ee0745bbc2d Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:49:41 2014 +0530 Staging: rtl8712: use kmalloc_array over kmalloc This patch fixes checkpatch.pl warning in file rtl871x_xmit.c WARNING : prefer kmalloc_array over kmalloc with multiply Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a332c96c29c84cd9205c29dfa1add4667456059 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Sep 11 00:55:55 2014 +0300 pinctrl: sh-pfc: sh73a0: Remove unnecessary SoC data allocation The SoC data structure allocated at init time only holds a regulator pointer that is only used in the init function. Replace it with a local variable and get rid of the SoC data structure allocation altogether. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 15a4db9268f4090987cab4b2c40818291652607e Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:47:37 2014 +0530 Staging: rtl8712: remove unnecessary 'out of memory' message This patch fixes checkpatch.pl warning in file usb_ops_linux.c WARNING : possible unecessary 'out of memory' message Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b105374c51f88dd8c2fc0524fd4f7a7c0ec3388a Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:45:18 2014 +0530 Staging: rtl8712: fixed space prohibition This patch fixes checkpatch.pl warning in file rtl871x_io.h WARNING : space prohibited before semicolon Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbdba9c10bb43ae99b74341e6a4cc4f7f2f48bc8 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:38:20 2014 +0530 Staging: rtl8712: remove void function return; statement This patch fixes checkpatch.pl warning in files of rtl8712 WARNING : void function return statement are not generally useful Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2955b144b31a72a2feede70a99283c8f0c1eb3a Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:35:07 2014 +0530 Staging: rtl8712: remove semicolon after macro This patch fixes checkpatch.pl warning in rtl871x_mp.h file WARNING : Macro should not use a trailing semicolon Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5861b738ab0f4c71d08c8405f85d2b13e14f703 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 03:01:32 2014 +0300 Staging: rtl8712: Missing a blank line after declarations This patch fixes these warning messages found by checkpatch.pl: WARNING : Missing a blank line after declarations. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b631ecd70e0c5af6d5820f7890dccab1206c88b4 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 03:01:31 2014 +0300 Staging: rtl8712: Remove unnecessary parentheses. This patch fixes checkpatch.pl warning Unnecessary parentheses in rtl871x_xmit.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 730cb373f3aaf7be69f59db6999e1e07f18117c2 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:21:58 2014 +0530 Staging: rtl8712: remove break after return statement This patch fixes checkpatch.pl warning in rtl871x_ioctl_linux.c file WARNING : break is not useful after goto or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6064b1474ef3cfa523916008b5176026bbc990d3 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 11:15:51 2014 +0200 pinctrl: berlin: fix the dt_free_map function The berlin_pinctrl_dt_free_map function tries to free memory allocated and handled by the of subsystem. This is wrong and already handled by pinctrl_dt_free_maps() which calls of_node_put(). This patch fixes the Berlin pinctrl way of freeing its maps, avoiding a kernel BUG(), by using the common pinctrl_utils_dt_free_map function instead. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3d78427397daea47b5a38642f46f75ef993de571 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Thu Sep 11 16:40:15 2014 +0200 pinctrl: at91: disable PD or PU before enabling PU or PD Disable Pull-Down or Pull-Up property before enabling Pull-Up or Pull-Down, because the pin's Pull-Up and Pull-Down property is mutually exclusive. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bf17eba7ae1e813b0ad67cb1078dcbd7083b906e Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Sep 18 09:31:32 2014 -0500 Revert "usb: gadget: composite: dequeue cdev->req before free it in composite_dev_cleanup" This reverts commit f2267089ea17fa97b796b1b4247e3f8957655df3. That commit causes more problem than fixes. Firstly, kfree() should be called after usb_ep_dequeue() and secondly, the way things are, we will try to dequeue a request that has already completed much more frequently than one which is pending. Cc: Li Jun <b47624@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # 3.17 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7471725f618b95d2a61a4bf789dbdc5c7805ffa9 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 9 13:21:40 2014 +0530 pinctrl: st: remove gpiochip in failure cases This patch releases gpiochip related resources by calling gpiochip_remove when gpiochip_irqchip_add fails. Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxx> Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1059c6bf8534acda249e7e65c81e7696fb074dc1 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Sep 22 11:19:04 2014 +0100 arm64: debug: don't re-enable debug exceptions on return from el1_dbg When returning from a debug exception taken from EL1, we unmask debug exceptions after handling the exception. This is crucial for debug exceptions taken from EL0, so that any kernel work on the ret_to_user path can be debugged by kgdb. However, when returning back to EL1 the only thing left to do is to restore the original register state before the exception return. If single-step has been enabled by the debug exception handler, we will get stuck in an infinite debug exception loop, since we will take the step exception as soon as we unmask debug exceptions. This patch avoids unmasking debug exceptions on the debug exception return path when the exception was taken from EL1. Fixes: 2a2830703a23 (arm64: debug: avoid accessing mdscr_el1 on fault paths where possible) Cc: <stable@xxxxxxxxxxxxxxx> #3.16+ Reported-by: David Long <dave.long@xxxxxxxxxx> Reported-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d9ff958bb34aabdce08d11b0db24123c093d87cd Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Aug 20 19:20:53 2014 +0200 dmaengine: Mark the struct dma_slave_config direction field deprecated The direction passed to the device_prep_slave_sg, device_prep_dma_cyclic or device_prep_interleaved_dma (through struct dma_interleaved_template) should be used instead. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 22843545b20007ae33bc3774043303e0b44e3d65 Author: Lior Amsalem <alior@xxxxxxxxxxx> Date: Wed Aug 27 10:52:55 2014 -0300 dma: mv_xor: Add support for DMA_INTERRUPT The driver is capable of supporting DMA_INTERRUPT by issuing a dummy 128-byte transfer. This helps removing a poll in the async_tx stack, replacing it with a completion interrupt. Signed-off-by: Lior Amsalem <alior@xxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 37380b980e2db2e0dfdb920140c75f3cf2e98a27 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 10:52:54 2014 -0300 dma: mv_xor: Remove dead code The driver currently defines the USE_TIMER macro, but the timer-feature is never used in the code. The XOR and CRC32 results are never used. The 'unmap_xxx' fields are no longer needed, they were made obsolete in commit: 54f8d501e842 dmaengine: remove DMA unmap from drivers. Let's remove all this dead code. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ba87d13721b6fe4a2479871dc4f77c5bd8db3c32 Author: Lior Amsalem <alior@xxxxxxxxxxx> Date: Wed Aug 27 10:52:53 2014 -0300 dma: mv_xor: Reduce interrupts by enabling EOD only when needed This commit unmasks the end-of-chain interrupt and removes the end-of-descriptor command setting on all transactions, except those explicitly flagged with DMA_PREP_INTERRUPT. This allows to raise an interrupt only on chain completion, instead of on each descriptor completion, which reduces interrupt count. Signed-off-by: Lior Amsalem <alior@xxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0e7488ed01235fdd24ce7f0295dbbea0d45311bb Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 10:52:52 2014 -0300 dma: mv_xor: Remove all interrupt magic numbers This commit replaces the current magic numbers in the interrupt handling with proper macros, which makes more readable and self-documenting. While here replace the BUG() with a noisy WARN_ON(). There's no reason to tear down the entire system for an DMA IRQ error. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit dfc97661bdeadb57d35458430612072119b1c72f Author: Lior Amsalem <alior@xxxxxxxxxxx> Date: Wed Aug 27 10:52:51 2014 -0300 dma: mv_xor: Remove multi-slot support Although the driver supported multiple-slot allocation, only one slot was ever allocated for each transaction. So, given we have no users of the multi-slot support, we can remove it and greatly simplify the code. Signed-off-by: Lior Amsalem <alior@xxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3e4f52e2da9f66ba9c19b9266fa9ffcaee2f3ecc Author: Lior Amsalem <alior@xxxxxxxxxxx> Date: Wed Aug 27 10:52:50 2014 -0300 dma: mv_xor: Simplify the DMA_MEMCPY operation A memory copy operation can be expressed as an XOR operation with one source. This commit removes code duplication in the driver by reusing the XOR operation for the MEMCPY. As an added benefit, we can now put MEMCPY and XOR descriptors on the same chain, which improves performance. Signed-off-by: Lior Amsalem <alior@xxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b8291ddeed581e57327d715d29ffc501b9d48c5f Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 10:52:49 2014 -0300 dma: mv_xor: Replace printk with dev_info This commit replaces a printk(KERN_INFO ...) call with a dev_info() call, which is prefered for drivers. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 834e1678649db1e064ee397cca161a65bacfa801 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 9 15:50:37 2014 +0530 pinctrl: at91: Fix error handling while doing gpiochio_irqchip_add This patch removes a call to panic function when gpiochio_irqchip_add fails and just returns the error to the calling function. Same return value is used to handle the error case and adds a lable to release resources on error. The error message has been improved to indicate failure to add irqchip to gpiochip. This also changes first argument to function at91_gpio_of_irq_setup from struct device_node to struct platform_device. Because The device_node argument was anyway not being used. Passed pdev so that on failure dev_err can use &pdev->dev and log can be associated with proper device. CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 70e4197420a154a2a684b6e7b496dda70b20d9ec Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 9 15:50:36 2014 +0530 pinctrl: at91: Fix failure path in at91_gpio_probe path This fixes the whole error handling in probe function by capturing and returning error values on kernel function like clk_prepare, clk_enable, gpiochip_add etc. CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a77b6ee90dfc3798bdcbdca7a9284d7e8c006af7 Author: Suman Tripathi <stripathi@xxxxxxx> Date: Mon Sep 22 18:31:33 2014 +0530 ahci_xgene: Fix the error print invalid resource for APM X-Gene SoC AHCI SATA Host Controller driver. This patch fixes the error print invalid resource for the APM X-Gene SoC AHCI SATA Host Controller driver. This print was due to the fact that the controller 3 don't have a mux resource. This didn't result in any errors but the print seems like meaningless. Signed-off-by: Loc Ho <lho@xxxxxxx> Signed-off-by: Suman Tripathi <stripathi@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d7bead1b8890c3e47a24db270fdb840ea728d8f0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 09:52:18 2014 -0700 libata: change ata_<foo>_printk routines to return void The return value is not used by callers of these functions nor by uses of all macros so change the functions to return void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 7a7686bd0d153c0d6e120da6712c9339aaeaa2f9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 23 16:30:24 2014 +0530 ALSA: ctxfi: sparse warning fixed sparse warning of incorrect type (different address spaces) in cthw20k1.c and cthw20k2.c which was being actually caused as mem_base was of the type unsigned long. Again as mem_base was previously unsigned long , so it required many typecasts in the code to convert interger to pointer. Now after giving the correct type of mem_base as void __iomem * we can also remove those typecasts maintaining the same functionality and logic of the code. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 95f72cf2cdf0e612aeaf36d8af51689882fd64db Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Sep 23 10:38:18 2014 +0200 ALSA: hda - Sort input pins depending on amp caps If one input has a boost and another one has not, and they're equal otherwise, it's more likely you want to use the input with the boost as your primary input. See hda-emu.git/codecs/canonical/cx20590-lenovo-20b2z00bus-ccert-201305-13496 for an example. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 861a04ed15a48e9af7b591cd8ae3bc46aece1733 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Sep 23 10:38:17 2014 +0200 ALSA: hda - Move the function "check_amp_caps" to hda_codec.c The next patch will use it, so make it visible across modules. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit be8af2d54a66911693eddc556e4f7a866670082b Author: Bjørn Forsman <bjorn.forsman@xxxxxxxxx> Date: Sun Sep 14 12:57:50 2014 +0200 kconfig/lxdialog: get ncurses CFLAGS with pkg-config This makes "make menuconfig" also work on systems where ncurses is not installed in a standard location (such as on NixOS). This patch changes ccflags() so that it tries pkg-config first, and only if pkg-config fails does it go back to the fallback/manual checks. This is the same algorithm that ldflags() already uses. Signed-off-by: Bjørn Forsman <bjorn.forsman@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 8c8f2f6fc1c8eec9e14810f21386fe295a42a40f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 23 04:15:48 2014 +0200 ASoC: Fix snd_soc_{new,free}_ac97_codec() locking removal Commit e3f205a72c45 ("ASoC: Remove locking in snd_soc_{new,free}_ac97_codec()") overlooked a unlock on one of the error paths. Fixes: e3f205a72c45 ("ASoC: Remove locking in snd_soc_{new,free}_ac97_codec()") Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f955371ca9d3986bca100666041fcfa9b6d21962 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Tue Jan 7 17:03:06 2014 +0000 x86: remove the Xen-specific _PAGE_IOMAP PTE flag The _PAGE_IO_MAP PTE flag was only used by Xen PV guests to mark PTEs that were used to map I/O regions that are 1:1 in the p2m. This allowed Xen to obtain the correct PFN when converting the MFNs read from a PTE back to their PFN. Xen guests no longer use _PAGE_IOMAP for this. Instead mfn_to_pfn() returns the correct PFN by using a combination of the m2p and p2m to determine if an MFN corresponds to a 1:1 mapping in the the p2m. Remove _PAGE_IOMAP, replacing it with _PAGE_UNUSED2 to allow for future uses of the PTE flag. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: "H. Peter Anvin" <hpa@xxxxxxxxx> commit 7f2f88224517cdaad68b772b2a2095b87dc72886 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Jan 8 14:01:01 2014 +0000 x86/xen: do not use _PAGE_IOMAP PTE flag for I/O mappings Since mfn_to_pfn() returns the correct PFN for identity mappings (as used for MMIO regions), the use of _PAGE_IOMAP is not required in pte_mfn_to_pfn(). Do not set the _PAGE_IOMAP flag in pte_pfn_to_mfn() and do not use it in pte_mfn_to_pfn(). This will allow _PAGE_IOMAP to be removed, making it available for future use. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit 31668511424110ad470315c6a63dec9a10f1a7ba Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Apr 10 18:46:45 2014 +0100 x86: skip check for spurious faults for non-present faults If a fault on a kernel address is due to a non-present page, then it cannot be the result of stale TLB entry from a protection change (RO to RW or NX to X). Thus the pagetable walk in spurious_fault() can be skipped. See the initial if in spurious_fault() and the tests in spurious_fault_check()) for the set of possible error codes checked for spurious faults. These are: IRUWP Before x00xx && ( 1xxxx || xxx1x ) After ( 10001 || 00011 ) && ( 1xxxx || xxx1x ) Thus the new condition is a subset of the previous one, excluding only non-present faults (I == 1 and W == 1 are mutually exclusive). This avoids spurious_fault() oopsing in some cases if the pagetables it attempts to walk are not accessible. This obscures the location of the original fault. This also fixes a crash with Xen PV guests when they access entries in the M2P corresponding to device MMIO regions. The M2P is mapped (read-only) by Xen into the kernel address space of the guest and this mapping may contains holes for non-RAM regions. Read faults will result in calls to spurious_fault(), but because the page tables for the M2P mappings are not accessible by the guest the pagetable walk would fault. This was not normally a problem as MMIO mappings would not normally result in a M2P lookup because of the use of the _PAGE_IOMAP bit the PTE. However, removing the _PAGE_IOMAP bit requires M2P lookups for MMIO mappings as well. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: Dave Hansen <dave.hansen@xxxxxxxxx> commit 342cd340f6e73a974053dd09ed1bf8a9c1ed4458 Author: Daniel Kiper <daniel.kiper@xxxxxxxxxx> Date: Mon Sep 8 15:22:18 2014 +0200 xen/efi: Directly include needed headers I discovered that some needed stuff is defined/declared in headers which are not included directly. Currently it works but if somebody remove required headers from currently included headers then build will break. So, just in case directly include all needed headers. Signed-off-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 495daef902425e241a0b95791f3aeb737928256a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 8 14:17:35 2014 +0300 xen-scsiback: clean up a type issue in scsiback_make_tpg() This code was confusing because we had an unsigned long and then we compared it to UINT_MAX and then we stored it in a u16. How many bytes is this supposed to have: 2, 4 or 16??? I've made it a u16 throughout. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d9b1e6374b3a9b88774e30d0c6bf6e394cd10b76 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 8 14:15:42 2014 +0300 xen-scsifront: use GFP_ATOMIC under spin_lock This function is only called with a spin_lock held and IRQs disabled. The allocation is not allowed to sleep and NOIO is not sufficient, it has to be ATOMIC. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 15d036094b75e63a3817ec4f836959d38cecb1e6 Author: Juergen Gross <jgross@xxxxxxxx> Date: Thu Aug 28 06:44:13 2014 +0200 MAINTAINERS: Add xen pvscsi maintainer Add myself as maintainer for the Xen pvSCSI drivers. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d9d660f6e562a47b4065eeb7e538910b0471b988 Author: Juergen Gross <jgross@xxxxxxxx> Date: Thu Aug 28 06:44:12 2014 +0200 xen-scsiback: Add Xen PV SCSI backend driver Introduces the Xen pvSCSI backend. With pvSCSI it is possible for a Xen domU to issue SCSI commands to a SCSI LUN assigned to that domU. The SCSI commands are passed to the pvSCSI backend in a driver domain (usually Dom0) which is owner of the physical device. This allows e.g. to use SCSI tape drives in a Xen domU. The code is taken from the pvSCSI implementation in Xen done by Fujitsu based on Linux kernel 2.6.18. Changes from the original version are: - port to upstream kernel - put all code in just one source file - adapt to Linux style guide - use target core infrastructure instead doing pure pass-through - enable module unloading - support SG-list in grant page(s) - support task abort - remove redundant struct backend - allocate resources dynamically - correct minor error in scsiback_fast_flush_area - free allocated resources in case of error during I/O preparation - remove CDB emulation, now handled by target core infrastructure Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 8beb8d4c91d652617dc992de565ec9904361c33e Author: Juergen Gross <jgross@xxxxxxxx> Date: Thu Aug 28 06:44:11 2014 +0200 xen-scsifront: Add Xen PV SCSI frontend driver Introduces the Xen pvSCSI frontend. With pvSCSI it is possible for a Xen domU to issue SCSI commands to a SCSI LUN assigned to that domU. The SCSI commands are passed to the pvSCSI backend in a driver domain (usually Dom0) which is owner of the physical device. This allows e.g. to use SCSI tape drives in a Xen domU. The code is taken from the pvSCSI implementation in Xen done by Fujitsu based on Linux kernel 2.6.18. Changes from the original version are: - port to upstream kernel - put all code in just one source file - move module to appropriate location in kernel tree - adapt to Linux style guide - some minor code simplifications - replace constants with defines - remove not used defines - add support for larger SG lists by putting them in a granted page Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit e124c9a2c3c4c51555fe6f0bc214fe1b5cce3666 Author: Juergen Gross <jgross@xxxxxxxx> Date: Thu Aug 28 06:44:10 2014 +0200 xen: Add Xen pvSCSI protocol description Add the definition of pvSCSI protocol used between the pvSCSI frontend in a XEN domU and the pvSCSI backend in a XEN driver domain (usually Dom0). This header was originally provided by Fujitsu for Xen based on Linux 2.6.18. Changes are: - Added comments. - Adapt to Linux style guide. - Add support for larger SG-lists by putting them in an own granted page. - Remove stale definitions. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 854072dd0f73b8e4238c88bdf0dd2a8db0239c1c Author: Juergen Gross <jgross@xxxxxxxx> Date: Thu Aug 28 06:44:09 2014 +0200 xen/events: support threaded irqs for interdomain event channels Export bind_interdomain_evtchn_to_irq() so drivers can use threaded interrupt handlers with: irq = bind_interdomain_evtchn_to_irq(remote_dom, remote_port); if (irq < 0) /* error */ ret = request_threaded_irq(...); Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 46e3626adb86be2ff1321d26107cb75df07a7f4e Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Aug 26 23:38:44 2014 +0800 xen/grant-table: refactor error cleanup in grow_gnttab_list() The cleanup loop in grow_gnttab_list() is safe from the underflow of the unsigned 'i' since nr_glist_frames is >= 1, but refactor it anyway. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4fbb67e3c87b806ad54445a1b4a9c6bde2359c98 Author: Matt Rushton <mvrushton@xxxxxxxxx> Date: Mon Aug 11 11:57:57 2014 -0700 xen/setup: Remap Xen Identity Mapped RAM Instead of ballooning up and down dom0 memory this remaps the existing mfns that were replaced by the identity map. The reason for this is that the existing implementation ballooned memory up and and down which caused dom0 to have discontiguous pages. In some cases this resulted in the use of bounce buffers which reduced network I/O performance significantly. This change will honor the existing order of the pages with the exception of some boundary conditions. To do this we need to update both the Linux p2m table and the Xen m2p table. Particular care must be taken when updating the p2m table since it's important to limit table memory consumption and reuse the existing leaf pages which get freed when an entire leaf page is set to the identity map. To implement this, mapping updates are grouped into blocks with table entries getting cached temporarily and then released. On my test system before: Total pages: 2105014 Total contiguous: 1640635 After: Total pages: 2105014 Total contiguous: 2098904 Signed-off-by: Matthew Rushton <mrushton@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 2909ef28b1d385210d4fef551499debc914f30e4 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Mon Sep 22 23:42:54 2014 +0000 ftracetest: Add kprobe basic testcases Add basic testcases for kprobe dynamic events. This also shows that the ftracetest accepts sub-directory for new testcases. Link: http://lkml.kernel.org/p/20140922234254.23415.46964.stgit@xxxxxxxxxxxxxxxxxxxx Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 03e166450fca3867a8e940d13d650f11aa03ee90 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Mon Sep 22 23:42:52 2014 +0000 ftracetest: Add ftrace basic testcases Add ftrace basic testcases. This just checks ftrace debugfs interface works as it is designed. Link: http://lkml.kernel.org/p/20140922234252.23415.62897.stgit@xxxxxxxxxxxxxxxxxxxx Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 6e68e6c5e4b67a02aaa406da6124ea5cae7d5e10 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Mon Sep 22 23:42:50 2014 +0000 ftracetest: Initial commit for ftracetest ftracetest is a collection of testcase shell-scripts for ftrace. To avoid regressions of ftrace, these testcases check correct ftrace behaviors. If someone would like to add any features on ftrace, the patch series should have at least one testcase for checking the new behavior. Link: http://lkml.kernel.org/p/20140922234250.23415.68758.stgit@xxxxxxxxxxxxxxxxxxxx Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8494294b66dbb4d7996dd944575eebd4ac2a126b Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Mon Sep 22 15:09:46 2014 -0500 ata: qcom: Add device tree bindings information Add device tree binding for Qualcomm AHCI SATA controller and specifically the sata controller on the IPQ806x family of SoCs. We can utilize the "generic-ahci" platform driver with the addition of the sata phy to enable SATA support on Qualcomm SoCs with AHCI controllers. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ee309f382985cbb29d85965a2de96bc715260463 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Mon Sep 22 15:09:45 2014 -0500 ahci-platform: Bump max number of clocks to 5 Qualcomm IPQ806x SoCs with SATA controllers need 5 clocks to be enabled. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 33044dc408e6e6bb7f270c0a2e12598ef5592987 Merge: f6d31f4 2ebff7b Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 23 22:55:51 2014 +1000 Merge branch 'xfs-misc-fixes-for-3.18-2' into for-next commit 2ebff7bbd785c86e12956388b9e6f6bb8ea5d21e Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Sep 23 22:55:00 2014 +1000 xfs: flush entire last page of old EOF on truncate up On a sub-page sized filesystem, truncating a mapped region down leaves us in a world of hurt. We truncate the pagecache, zeroing the newly unused tail, then punch blocks out from under the page. If we then truncate the file back up immediately, we expose that unmapped hole to a dirty page mapped into the user application, and that's where it all goes wrong. In truncating the page cache, we avoid unmapping the tail page of the cache because it still contains valid data. The problem is that it also contains a hole after the truncate, but nobody told the mm subsystem that. Therefore, if the page is dirty before the truncate, we'll never get a .page_mkwrite callout after we extend the file and the application writes data into the hole on the page. Hence when we come to writing that region of the page, it has no blocks and no delayed allocation reservation and hence we toss the data away. This patch adds code to the truncate up case to solve it, by ensuring the partial page at the old EOF is always cleaned after we do any zeroing and move the EOF upwards. We can't actually serialise the page writeback and truncate against page faults (yes, that problem AGAIN) so this is really just a best effort and assumes it is extremely unlikely that someone is concurrently writing to the page at the EOF while extending the file. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 7981a28f1ab5259754843b65c21879337785cb14 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Sep 15 11:37:38 2014 -0500 amd64_edac: Modify usage of amd64_read_dct_pci_cfg() Rationale behind this change: - F2x1xx addresses were stopped from being mapped explicitly to DCT1 from F15h (OR) onwards. They use _dct[0:1] mechanism to access the registers. So we should move away from using address ranges to select DCT for these families. - On newer processors, the address ranges used to indicate DCT1 (0x140, 0x1a0) have different meanings than what is assumed currently. Changes introduced: - amd64_read_dct_pci_cfg() now takes in dct value and uses it for 'selecting the dct' - Update usage of the function. Keep in mind that different families have specific handling requirements - Remove [k8|f10]_read_dct_pci_cfg() as they don't do much different from amd64_read_pci_cfg() - Move the k8 specific check to amd64_read_pci_cfg - Remove f15_read_dct_pci_cfg() and move logic to amd64_read_dct_pci_cfg() - Remove now needless .read_dct_pci_cfg Testing: - Tested on Fam 10h; Fam15h Models: 00h, 30h; Fam16h using 'EDAC_DEBUG' and mce_amd_inj - driver obtains info from F2x registers and caches it in pvt structures correctly - ECC decoding works fine Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Link: http://lkml.kernel.org/r/1410799058-3149-1-git-send-email-aravind.gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a211e0136c9a3653acba13ec3b9a2f49c3c44f5e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:54:07 2014 -0400 fm10k: Add support for PTP This change adds support for the Linux PTP Hardware clock and timestamping functionality provided by the hardware. There are actually two cases that this timestamping is meant to support. The first case would be an ordinary clock scenario. In this configuration the host interface does not have access to BAR 4. However all of the host interfaces should be locked into the same boundary clock region and as such they are all on the same clock anyway. With this being the case they can synchronize among themselves and only need to adjust the offset since they are all on the same clock with the same frequency. The second case is a boundary clock scenario. This is a special case and would require both BAR 4 access, and a means of presenting a netdev per boundary region. The current plan is to use DSA at some point in the future to provide these interfaces, but the DSA portion is still under development. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5f226ddb5b0c477bd512085b0b1d1052a24f0020 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:53:40 2014 -0400 fm10k: Add support for ptp to hw specific files This change adds the messaging support needed to support PTP. In the case of Tx timestamps it is necessary for the Switch Management entity to return the frames via the mailbox as the host interface cannot know which port the timestamp will be delivered to. In addition there is only one clock on the entire switch, as such the entity that has BAR 4 access is the only one who can actually update the frequency as it is the only one with access. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7461fd913afe3a830b47cf133a6ad53e49a5db8b Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:53:23 2014 -0400 fm10k: Add support for debugfs This patch adds limited debugfs support for the driver. Most of the functionality needed for dumping registers is already provided via ethtool. The only thing we saw that we really neeed was the ability to dump the descriptor rings so as such this patch will add a fm10k directory containing a listing of directories each one with a unique PCI Bus, Device, and Function number. Each of those BDF directories will have a list of q_vectors, and the q_vectors will contain a file for each of the Rx/Tx rings that are a part of the vector. For example: # ls -RD /sys/kernel/debug/fm10k/ /sys/kernel/debug/fm10k/: 0000:01:00.0 /sys/kernel/debug/fm10k/0000:01:00.0: q_vector.000 q_vector.001 q_vector.002 q_vector.003 /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.000: rx_ring.000 tx_ring.000 /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.001: rx_ring.001 tx_ring.001 /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.002: rx_ring.002 tx_ring.002 /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.003: rx_ring.003 tx_ring.003 # cat /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.000/rx_ring.000 DES DATA RSS STATERR LENGTH VLAN DGLORT SGLORT TIMESTAMP --------------------------------------------------------------------------- 000 0x00000000 0x00000000 0x00000003 0x002a 0x0000 0x0000 0x0000 0x13951807dc4fedf0 001 0x00000000 0x00000000 0x00000003 0x002a 0x0000 0x0000 0x0000 0x1395180906c9f2c8 002 0x3731c000 0x00000000 0x00000000 0x0000 0x0000 0x0000 0x0000 0x0000000000000000 003 0x3731d000 0x00000000 0x00000000 0x0000 0x0000 0x0000 0x0000 0x0000000000000000 004 0xaab3a000 0x00000000 0x00000000 0x0000 0x0000 0x0000 0x0000 0x0000000000000000 ... # cat /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.000/tx_ring.000 DES BUFFER_ADDRESS LENGTH VLAN MSS HDRLEN FLAGS --------------------------------------------------------- 000 0x00000000aa8a1002 0x005a 0x0000 0x0000 0x0000 0xc0 001 0x00000000aa8a2002 0x005a 0x0000 0x0000 0x0000 0xc0 002 0x000000006bc13202 0x004e 0x0000 0x0000 0x0000 0xc0 003 0x000000006bc13c02 0x002a 0x0000 0x0000 0x0000 0xe1 004 0x000000006bc13602 0x0062 0x0000 0x0000 0x0000 0xc0 Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9f801abc3d4fe1e770268ae4e610556e79be6fca Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:53:08 2014 -0400 fm10k: Add support for IEEE DCBx This patch adds support for management of the limited QOS features of the FM10000 interface. Specifically we can support up to 8 traffic classes, however the part only provides 1 Rx and 1 Tx FIFO in the host interface and as a result this can lead to head-of-line blocking on Rx. This can be avoided by setting PFC only for priorities that cannot afford to drop frames. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 883a9ccbae560a5b8be2a403d4a0744cd60b784c Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:52:09 2014 -0400 fm10k: Add support for SR-IOV to driver This patch combines the recently added VF messaging and configuration functionality with the interfaces provided by the kernel to allow for configuration and management of SR-IOV. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c265386553871405f3324561298bb824f7dc6a6c Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:51:57 2014 -0400 fm10k: Add support for SR-IOV to PF core files This change adds a set of functions to fm10k_pf.c which allows for configuring the VF via a set of standardized TLV messages. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5cb8db4a4cbc6dff56959a6331e9d62fd461f719 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:51:40 2014 -0400 fm10k: Add support for VF This patch provides the functions necessary to configure the VF making use of the same API pointers as the PF. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b651957c202cabc8d5abfc5ad1ddc2607daf6a4f Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:51:27 2014 -0400 fm10k: Add support for PF <-> VF mailbox This patch adds support for the PF <-> VF mailbox. It functions similar to the PF <-> SM mailbox however there are several modifications made to improve the reliability of the mailbox itself. In addition the PF/VF mailbox is much smaller an only supports a total size of 16 DWORDs vs the 1024 DWORDS provided for the PF/SM mailbox. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5cd5e2e98205df377d93fb8dd15c6f3ed4bfa1d6 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:51:15 2014 -0400 fm10k: Add support for MACVLAN acceleration This patch adds support for L2 MACVLAN by making use of the fact that the RRC provides a unique tag per filter called a Global Resource Tag, or GLORT. In the case of this offload what I have done is assigned a linear block of these so that each GLORT represents one of the MACVLAN netdevs. By doing this I can share the Rx queues and Tx queues for all of the MACVLAN netdevs while allowing them to be demuxed in the Rx cleanup path. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 76a540d4728a379e022fb2e2e8766d502b6d345c Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:51:02 2014 -0400 fm10k: Add support for netdev offloads This patch adds support for basic offloads including TSO, Tx checksum, Rx checksum, Rx hash, and the same features applied to VXLAN/NVGRE tunnels. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit aa3ac822689f5c4d8961a8707edba9b6bf4631a3 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:50:42 2014 -0400 fm10k: Add support for multiple queues This patch takes the driver from supporting a single queue to supporting multiple queues. The upper queue limit for the PF is 128 queues and the upper limit for the VF is (128 / num_vfs) rounded down to nearest power of 2. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 19ae1b3fb99c2d5a5a7540c296c4cb4df3e7f552 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:50:27 2014 -0400 fm10k: Add support for PCI power management and error handling Add PCI power management and error handling to allow the device to support suspend/resume and recovery of any PCIe errors. The fm10k devices do not support wake on LAN, and there is no plan to add this as a feature. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 82dd0f7ee9a3b6e5d861a7c550c738ec308d37c5 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:50:15 2014 -0400 fm10k: Add ethtool support This patch adds basic ethtool support to the device to allow for configuration. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b101c9626477b1f9d30f31d11442a9cc80c98d7c Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:50:03 2014 -0400 fm10k: Add transmit and receive fastpath and interrupt handlers This change adds the transmit and receive fastpath and interrupt handlers. With this code in place the network device is now able to send and receive frames over the network interface using a single queue. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> CC: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3abaae42e1bf686bf5c43063a00b0f4ddbb14373 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:49:43 2014 -0400 fm10k: Add Tx/Rx hardware ring bring-up/tear-down This patch adds support for allocating, configuring, and freeing Tx/Rx ring resources. With these changes in place the descriptor queues are in a state where they are ready to transmit or receive if provided buffers. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b7d8514c2320138be24b04e81a83afe1fa23d3c1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:49:25 2014 -0400 fm10k: Add service task to handle delayed events This patch adds support for the service task. The service task takes care of all processes that cannot be done in interrupt context such as resets, stats updates, TC prio updates, and checking for hung or detached devices. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e27ef599abc559dfc9b40910071cb6f27277e243 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:49:03 2014 -0400 fm10k: add support for Tx/Rx rings This change adds the defines and structures necessary to support both Tx and Rx descriptor rings. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 18283cad0a33b4ae6d25507b8b58cbebab49aad0 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:48:51 2014 -0400 fm10k: Add interrupt support This patch set adds interrupt support for the fm10k interfaces. The interfaces themselves only support MSI-X, so neither MSI or legacy interrupts are used. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 504c5eac1d7ed9498d7bf797a23592a8f2f9f234 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:48:29 2014 -0400 fm10k: Add support for ndo_open/stop Add support for brining the interface up/down. This is still primitive yet as we have not yet added support for the descriptor queues. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8f5e20d45c2bc25c882bc0c13fb136d31239ea96 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:48:20 2014 -0400 fm10k: Add support for L2 filtering This patch adds support for L2 filtering. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0e7b364408176362a6370f7182a8fa1c5c4e0628 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:48:10 2014 -0400 fm10k: Add netdev Now that we have the ability to configure the basic settings on the device we can start allocating and configuring a netdev for the interface. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 401b5383c6c9c5b85e1a60bf9de4c7f2dd09d114 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:47:58 2014 -0400 fm10k: Add support for configuring PF interface This patch adds support for the operations which will configure filters on the interface. In addition with these patches we begin to introduce the PF messages that will be sent to or received from the Switch Management entity. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b6fec18fd16bbf719c1c0aa83e41590573b4c58c Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:47:46 2014 -0400 fm10k: Add support for PF This patch adds basic support for the PF. With this it is possible to bring up the interface, but without being able to configure any of the filters on the interface itself. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1337e6b9775639ce10b4b454b8d018470886d7f3 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:47:33 2014 -0400 fm10k: Implement PF <-> SM mailbox operations This patch adds support for the mailbox that connects the PF to the Switch Management entity. This mailbox will pass TLV formatted messages between the two entities by using a pair of shared ring buffers. The primary use of the mailbox is to configure L2 forwarding addresses, VLANs, and general resource allocation from the switch. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6b1f201f1a32cc88af405b07cc2cfd5dcc308df1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:47:13 2014 -0400 fm10k: Add support for mailbox This patch adds generic mailbox support. The general idea of the mailboxes is to use a pair of ring buffers, one for request, one for response to send data between the local driver and some remote entity be it the PF of the Switch Manager. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 04a5aefbfb0109961e1bc3c84ecee00693f78005 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:46:45 2014 -0400 fm10k: Add support for basic interaction with hardware This patch adds the basic read/write operations for accessing the hardware. In addition to read read functionality the read functions also provide surprise remove detection in the event that the device either loses power or is removed. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ae17db0ee5eefb8a605d5af31b19e86f7deae7e7 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:46:30 2014 -0400 fm10k: Add support for TLV message parsing and generation This patch adds support for the TVL message formats supported by the PF, VF, and Switch Management entity. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6d2ce9001bf3ec9d149be044edf303d0ff1f5cf1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:46:20 2014 -0400 fm10k: Add register defines and basic structures This patch adds the basic defines and structures needed by the PF for operation. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b3890e3074766817923c6910ce4827b82ea5f96f Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:46:05 2014 -0400 fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver This patch adds the beginning framework onto which I am going to add the fm10k driver which supports the Intel(R) FM10000 Ethernet Switch Host Interface. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a64efe15cf28f9d784f7a23cb0de2a4f656da7a4 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Sep 10 21:18:53 2014 -0500 dmaengine: qcom_adm: Add device tree binding Add device tree binding support for the QCOM ADM DMA driver. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 849a8c25c80a2cde824072813bf4aabbc79b8789 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 9 13:35:52 2014 +0530 pinctrl: lantiq: Release gpiochip resources in fail case This patch releases gpiochip resources with of_gpiochip_remove and gpiochip_remove in failure cases. CC: John Crispin <blogic@xxxxxxxxxxx> CC: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3dac1918a4912cea9375e76cb3916b751cef22db Author: Stefan Agner <stefan@xxxxxxxx> Date: Sat Sep 6 18:25:04 2014 +0200 pinctrl: imx: detect uninitialized pins The pinctrl driver initialized the register offsets for the pins with 0. On Vybrid an offset of 0 is a valid offset for the pinctrl mux register. So far, this was solved using the ZERO_OFFSET_VALID flag which allowed offsets of 0. However, this does not allow to verify whether a pins struct imx_pmx_func was initialized or not. Use signed offset values for register offsets and initialize those with -1 in order to detect uninitialized offset values reliable. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 48e68ff5e55af6907d3f90233e5c4d5601a628a6 Author: Bernhard Thaler <bernhard.thaler@xxxxxxx> Date: Tue Sep 23 11:01:07 2014 +0200 Bluetooth: Check for SCO type before setting retransmission effort SCO connection cannot be setup to devices that do not support retransmission. Patch based on http://permalink.gmane.org/gmane.linux.bluez.kernel/7779 and adapted for this kernel version. Code changed to check SCO/eSCO type before setting retransmission effort and max. latency. The purpose of the patch is to support older devices not capable of eSCO. Tested on Blackberry 655+ headset which does not support retransmission. Credits go to Alexander Sommerhuber. Signed-off-by: Bernhard Thaler <bernhard.thaler@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a5062dee82826f54529c89d0e58211897b1b4c68 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Sep 23 09:04:49 2014 +0200 ALSA: hda - add explicit include of err.h Since every caller of snd_hda_jack_detect_enable_callback needs to use the macros from err.h, it makes sense to include it directly from hda_jack.h. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 48d11e067fc90ec9fc9c8f7ab982e5a83bf1887b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Sep 22 12:26:10 2014 -0700 mmc: Consolidate emmc tuning blocks The same tuning block exists in the dw_mmc h.c and sdhci-msm.c files. Move these into mmc.c so that they can be shared across drivers. Reported-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ffed1b94cbf869e81de0525608193f367db2ba36 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Sep 22 12:26:09 2014 -0700 mmc: sdhci-msm: Make tuning block table endian agnostic If we're tuning on a big-endian CPU we'll never determine we properly tuned the device because we compare the data we received from the controller with a table that assumes the CPU is little-endian. Change the table to be an array of bytes instead of 32-bit words so we can use memcmp() without needing to byte-swap every word depending on the endianess of the CPU. Cc: Asutosh Das <asutoshd@xxxxxxxxxxxxxx> Cc: Venkat Gopalakrishnan <venkatg@xxxxxxxxxxxxxx> Reviewed-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Fixes: 415b5a75da43 "mmc: sdhci-msm: Add platform_execute_tuning implementation" Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d4d11449088ee9aca16fd1884b852b8b73a4bda1 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Mon Sep 22 09:57:42 2014 -0600 mmc: don't request CD IRQ until mmc_start_host() As soon as the CD IRQ is requested, it can trigger, since it's an externally controlled event. If it does, delayed_work host->detect will be scheduled. Many host controller probe()s are roughly structured as: *_probe() { host = sdhci_pltfm_init(); mmc_of_parse(host->mmc); rc = sdhci_add_host(host); if (rc) { sdhci_pltfm_free(); return rc; } In 3.17, CD IRQs can are enabled quite early via *_probe() -> mmc_of_parse() -> mmc_gpio_request_cd() -> mmc_gpiod_request_cd_irq(). Note that in linux-next, mmc_of_parse() calls mmc_gpio*d*_request_cd() rather than mmc_gpio_request_cd(), and mmc_gpio*d*_request_cd() doesn't call mmc_gpiod_request_cd_irq(). However, this issue still exists if mmc_gpio_request_cd() is called directly before mmc_start_host(). sdhci_add_host() may fail part way through (e.g. due to deferred probe for a vmmc regulator), and sdhci_pltfm_free() does nothing to unrequest the CD IRQ nor cancel the delayed_work. sdhci_pltfm_free() is coded to assume that if sdhci_add_host() failed, then the delayed_work cannot (or should not) have been triggered. This can lead to the following with CONFIG_DEBUG_OBJECTS_* enabled, when kfree(host) is eventually called inside sdhci_pltfm_free(): WARNING: CPU: 2 PID: 6 at lib/debugobjects.c:263 debug_print_object+0x8c/0xb4() ODEBUG: free active (active state 0) object type: timer_list hint: delayed_work_timer_fn+0x0/0x18 The object being complained about is host->detect. There's no need to request the CD IRQ so early; mmc_start_host() already requests it. For most SDHCI hosts at least, the typical call path that does this is: *_probe() -> sdhci_add_host() -> mmc_add_host() -> mmc_start_host(). Therefore, remove the call to mmc_gpiod_request_cd_irq() from mmc_gpio_request_cd(). This also matches mmc_gpio*d*_request_cd(), which already doesn't call mmc_gpiod_request_cd_irq(). However, some host controller drivers call mmc_gpio_request_cd() after mmc_start_host() has already been called, and assume that this will also call mmc_gpiod_request_cd_irq(). Update those drivers to explicitly call mmc_gpiod_request_cd_irq() themselves. Ideally, these drivers should be modified to move their call to mmc_gpio_request_cd() before their call to mmc_add_host(). However that's too large a change for stable. This solves the problem (eliminates the kernel error message above), since it guarantees that the IRQ can't trigger before mmc_start_host() is called. The critical point here is that once sdhci_add_host() calls mmc_add_host() -> mmc_start_host(), sdhci_add_host() is coded not to fail. In other words, if there's a chance that mmc_start_host() may have been called, and CD IRQs triggered, and the delayed_work scheduled, sdhci_add_host() won't fail, and so cleanup is no longer via sdhci_pltfm_free() (which doesn't free the IRQ or cancel the work queue) but instead must be via sdhci_remove_host(), which calls mmc_remove_host() -> mmc_stop_host(), which does free the IRQ and cancel the work queue. CC: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7abbb8f928e5b7cea1edd077131b2ace665c6712 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 23 16:20:11 2014 +1000 xfs: xfs_swap_extent_flush can be static Fix sparse warning introduced by commit 4ef897a ("xfs: flush both inodes in xfs_swap_extents"). Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 02cc18764c753befcdc163d1bc668a6599a54585 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 23 16:15:45 2014 +1000 xfs: xfs_buf_write_fail_rl_state can be static Fix sparse warning introduced by commit ac8809f9 ("xfs: abort metadata writeback on permanent errors"). Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3cf6b0151ba584714f6eafb99bc66d7326efeed7 Merge: b25c2ff 9def39be d3ac21c 0da1d4a 3afed06 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Mon Sep 22 23:14:40 2014 -0700 Merge branches 'tiny/bloat-o-meter-no-SyS', 'tiny/more-procless', 'tiny/no-advice', 'tiny/tinyconfig' and 'tiny/x86-boot-compressed-use-yn' into tiny/next commit ea95961df714f7fc446aa4bedfc61510ed1b59cc Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Tue Sep 23 16:11:43 2014 +1000 xfs: xfs_rtget_summary can be static Fix sparse warning introduced by commit afabfd3 ("xfs: combine xfs_rtmodify_summary and xfs_rtget_summary"). Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e3cf17962a757e59fed2cbcbda6373c1b35a35dd Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 23 16:05:55 2014 +1000 xfs: remove second xfs_quota.h inclusion in xfs_icache.c xfs_quota.h was included twice. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fb040131561a6b34cefb92cdf598218104abeda0 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 23 16:05:32 2014 +1000 xfs: don't ASSERT on corrupt ftype xfs_dir3_data_get_ftype() gets the file type off disk, but ASSERTs if it's invalid: ASSERT(type < XFS_DIR3_FT_MAX); We shouldn't ASSERT on bad values read from disk. V3 dirs are CRC-protected, but V2 dirs + ftype are not. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8af3dcd3c89aef10375bdd79d5f336b22b57487c Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Sep 23 15:57:59 2014 +1000 xfs: xlog_cil_force_lsn doesn't always wait correctly When running a tight mount/unmount loop on an older kernel, RedHat QE found that unmount would occasionally hang in xfs_buf_unpin_wait() on the superblock buffer. Tracing and other debug work by Eric Sandeen indicated that it was hanging on the writing of the superblock during unmount immediately after logging the superblock counters in a synchronous transaction. Further debug indicated that the synchronous transaction was not waiting for completion correctly, and we narrowed it down to xlog_cil_force_lsn() returning NULLCOMMITLSN and hence not pushing the transaction in the iclog buffer to disk correctly. While this unmount superblock write code is now very different in mainline kernels, the xlog_cil_force_lsn() code is identical, and it was bisected to the backport of commit f876e44 ("xfs: always do log forces via the workqueue"). This commit made the CIL push asynchronous for log forces and hence exposed a race condition that couldn't occur on a synchronous push. Essentially, the xlog_cil_force_lsn() relied implicitly on the fact that the sequence push would be complete by the time xlog_cil_push_now() returned, resulting in the context being pushed being in the committing list. When it was made asynchronous, it was recognised that there was a race condition in detecting whether an asynchronous push has started or not and code was added to handle it. Unfortunately, the fix was not quite right and left a race condition where it it would detect an empty CIL while a push was in progress before the context had been added to the committing list. This was incorrectly seen as a "nothing to do" condition and so would tell xfs_log_force_lsn() that there is nothing to wait for, and hence it would push the iclogbufs in memory. The fix is simple, but explaining the logic and the race condition is a lot more complex. The fix is to add the context to the committing list before we start emptying the CIL. This allows us to detect the difference between an empty "do nothing" push and a push that has not started by adding a discrete "emptying the CIL" state to avoid the transient, incorrect "empty" condition that the (unchanged) waiting code was seeing. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f6d31f4b0462898896ba68e491662958ce37d095 Merge: a4241ae 8b5279e Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 23 15:51:14 2014 +1000 Merge branch 'xfs-shift-extents-rework' into for-next commit 8b5279e33f241a074a9c8649bba8f77a2167b798 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 23 15:39:05 2014 +1000 xfs: only writeback and truncate pages for the freed range xfs_free_file_space() only affects the range of the file for which space is being freed. It currently writes and truncates the page cache from the start offset of the free to EOF. Modify xfs_free_file_space() to write back and truncate page cache of just the range being freed. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f71721d061e872a39b2680d13f309c1eb6893438 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 23 15:39:05 2014 +1000 xfs: writeback and inval. file range to be shifted by collapse The collapse range operation currently writes the entire file before starting the collapse to avoid changes in the in-core extent list due to writeback causing the extent count to change. Now that collapse range is fsb based rather than extent index based it can sustain changes in the extent list during the shift sequence without disruption. Modify xfs_collapse_file_space() to writeback and invalidate pages associated with the range of the file to be shifted. xfs_free_file_space() currently has similar behavior, but the space free need only affect the region of the file that is freed and this could change in the future. Also update the comments to reflect the current implementation. We retain the eofblocks trim permanently as a best option for dealing with delalloc extents. We don't shift delalloc extents because this scenario only occurs with post-eof preallocation (since data must be flushed such that the cache can be invalidated and data can be shifted). That means said space must also be initialized before being shifted into the accessible region of the file only to be immediately truncated off as the last part of the collapse. In other words, the eofblocks trim will happen anyways, we just run it first to ensure the file remains in a consistent state throughout the collapse. Finally, detect and fail explicitly in the event of a delalloc extent during the extent shift. The implementation does not support delalloc extents and the caller is expected to prevent this scenario in advance as is done by collapse. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a979bdfea10a61dce0055b4d416d640f4f5f495e Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 23 15:39:04 2014 +1000 xfs: refactor single extent shift into xfs_bmse_shift_one() helper xfs_bmap_shift_extents() has a variety of conditions and error checks that make the logic difficult to follow and indent heavy. Refactor the loop body of this function into a new xfs_bmse_shift_one() helper. This simplifies the error checks, eliminates index decrement on merge hack by pushing the index increment down into the helper, and makes the code more readable by reducing multiple levels of indentation. This is a code refactor only. The behavior of extent shift and collapse range is not modified. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ddb19e3180fa42362a04e86771d758be1de0bb13 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 23 15:38:09 2014 +1000 xfs: refactor shift-by-merge into xfs_bmse_merge() helper The extent shift mechanism in xfs_bmap_shift_extents() is complicated and handles several different, non-deterministic scenarios. These include extent shifts, extent merges and potential btree updates in either of the former scenarios. Refactor the code to be more linear and readable. The loop logic in xfs_bmap_shift_extents() and some initial error checking is adjusted slightly. The associated btree lookup and update/delete operations are condensed into single blocks of code. This reduces the number of btree-specific blocks and facilitates the separation of the merge operation into a new xfs_bmse_merge() and xfs_bmse_can_merge() helpers. This is a code refactor only. The behavior of extent shift and collapse range is not modified. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2c845f5a5f238f42376b6551a7f7716952c8f509 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 23 15:37:09 2014 +1000 xfs: track collapse via file offset rather than extent index The collapse range implementation uses a transaction per extent shift. The progress of the overall operation is tracked via the current extent index of the in-core extent list. This is racy because the ilock must be dropped and reacquired for each transaction according to locking and log reservation rules. Therefore, writeback to prior regions of the file is possible and can change the extent count. This changes the extent to which the current index refers and causes the collapse to fail mid operation. To avoid this problem, the entire file is currently written back before the collapse operation starts. To eliminate the need to flush the entire file, use the file offset (fsb) to track the progress of the overall extent shift operation rather than the extent index. Modify xfs_bmap_shift_extents() to unconditionally convert the start_fsb parameter to an extent index and return the file offset of the extent where the shift left off, if further extents exist. The bulk of ths function can remain based on extent index as ilock is held by the caller. xfs_collapse_file_space() now uses the fsb output as the starting point for the subsequent shift. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0d085a529b427d97710e6a41f8a4f23e1757cd12 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Sep 23 15:36:27 2014 +1000 xfs: ensure WB_SYNC_ALL writeback handles partial pages correctly XFS has been having trouble with stray delayed allocation extents beyond EOF for a long time. Recent changes to the collapse range code has triggered erroneous EBUSY errors on page invalidtion for block size smaller than page size filesystems. These have been caused by dirty buffers beyond EOF on a partial page which do not get written to disk during a sync. The issue is that write-ahead in xfs_cluster_write() finds such a partial page and handles it by leaving the page dirty but pushing it into a writeback state. This used to work just fine, as the write_cache_pages() code would then find the dirty partial page in the next mapping tree lookup as the dirty tag is still set. Unfortunately, when we moved to a mark and sweep approach to writeback to fix other writeback sync issues, we broken this. THe act of marking the page as under writeback now clears the TOWRITE tag in the radix tree, even though the page is still dirty. This causes the TOWRITE tag to be cleared, and hence the next lookup on the mapping tree does not find the dirty partial page and so doesn't try to write it again. This same writeback bug was found recently in ext4 and fixed in commit 1c8349a ("ext4: fix data integrity sync in ordered mode") without communication to the wider filesystem community. We can use exactly the same fix here so the TOWRITE flag is not cleared on partial page writes. cc: stable@xxxxxxxxxxxxxxx # dependent on 1c8349a17137b93f0a83f276c764a6df1b9a116e Root-cause-found-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 62731433591156ece255e23ffd69ea4544b424f1 Merge: 7c9a373 dd56af4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 23 07:21:42 2014 +0200 Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull the v3.18 RCU changes from Paul E. McKenney: " * Update RCU documentation. These were posted to LKML at https://lkml.org/lkml/2014/8/28/378. * Miscellaneous fixes. These were posted to LKML at https://lkml.org/lkml/2014/8/28/386. An additional fix that eliminates a documented (but now inconvenient) deadlock between RCU hotplug and expedited grace periods was posted at https://lkml.org/lkml/2014/8/28/573. * Changes related to No-CBs CPUs and NO_HZ_FULL. These were posted to LKML at https://lkml.org/lkml/2014/8/28/412. * Torture-test updates. These were posted to LKML at https://lkml.org/lkml/2014/8/28/546 and at https://lkml.org/lkml/2014/9/11/1114. * RCU-tasks implementation. These were posted to LKML at https://lkml.org/lkml/2014/8/28/540. " Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 94318d50ffc84a1ebaf1a83a0a56bbbaf415bacf Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:47:23 2014 +1000 drm/ttm: Clean usage of ttm_io_prot() with TTM_PL_FLAG_CACHED Today, most callers of ttm_io_prot() check TTM_PL_FLAG_CACHED before calling it since on some archs it will unconditionally create non-cached mappings. But not all callers do which is incorrect as far as I can tell. Instead, move that check inside ttm_io_port() itself for all archs and make powerpc use the same implementation as ia64 and arm Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6bd3110ce6e50fb15c975b26f068d606f4434431 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:46:45 2014 +1000 drm: powerpc can use a simpler drm_io_prot() What the code does is equivalent to the x86 code, so let's use it as well Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e3f205a72c4554b58f51d5afd98195c4ff54d215 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 23 00:56:28 2014 +0200 ASoC: Remove locking in snd_soc_{new,free}_ac97_codec() snd_soc_new_ac97_codec() and snd_soc_free_ac97_codec() are called from within a CODEC's probe() and remove() callbacks. Those will not run concurrently against each other for the same CODEC instance, hence it is not necessary to protect the two functions with a mutex. This removes the last user in the ASoC core of the snd_soc_codec mutex field and will allow us to eventually remove it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0d90ecf31e11f8204649943ed3478d7a015c2cb9 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 22:06:34 2014 +0200 regulator: axp20x: Use parent device as regulator configuration device The current device used for the regulator configuration is the child device created by the MFD driver. This means that it doesn't have any of_node pointing to it, and whenever we register the regulators, it will not look into the regulator supply in the DT, hence requiring to provide regulator aliases in the MFD driver. We can easily fix that by using the parent device in our configuration, which has a DT node associated to it, and will allow a DT lookup. Eventually, we will be able to remove the aliases in the MFD driver. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2172d6606843cbad58498310a28125e7a700e658 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 14:48:47 2014 +0530 powerpc/pseries: Drop unnecessary continue Continue is not needed at the bottom of a loop. The Coccinelle semantic patch implementing this change is: @@ @@ for (...;...;...) { ... if (...) { ... - continue; } } Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 90bdbb46f41c9fa670d7b0709e0c8a92ad82bdfe Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Thu Sep 18 14:45:59 2014 +0800 ASoC: rt5677: Add sidetone function Add sidetone function Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e60cdc907c1d656b628480b737710fb73bb69001 Merge: 9e82bf0 6236435 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 17:42:40 2014 -0700 Merge tag 'extcon-next-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next Chanwoo writes: Update extcon for v3.18 This patchset add new extcon provider driver and fix minor issue of extcon driver. Detailed description for patchset: 1. Add new Richtek RT8973A extcon driver This driver support for Richtek RT8973A which is Micro USB Switch OVP and i2c interface. The RT8973A is a USB port accessory detector and switch that is optimized to protect low voltage system from abnormal high input voltage (up to 28V) and supports high speed USB operation. Also, RT8973A support 'auto-configuration' mode. If auto-configuration mode is enabled, RT8973A would control internal h/w patch for USB D-/D+ switching. 2. Fix code cleanup for other extcon driver - extcon-sm5502 driver : Fix bug to check cable type and build break. : Move header file from include/linux/extcon to drivers/extcon because this header file is only user for extcon-sm5502.c. : Clean up codes by using checkpatch script - extcon-max77693 driver : Use resource managed interrupt function : Fix bug to set ADC debounce time - extcon-gpio driver : Fix minor code cleanup commit 1d52c78afbbf80b58299e076a159617d6b42fe3c Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Sep 18 11:30:44 2014 -0400 Btrfs: try not to ENOSPC on log replay When doing log replay we may have to update inodes, which traditionally goes through our delayed inode stuff. This will try to move space over from the trans handle, but we don't reserve space in our trans handle on replay since we don't know how much we will need, so instead we try to flush. But because we have a trans handle open we won't flush anything, so if we are out of reserve space we will simply return ENOSPC. Since we know that if an operation made it into the log then we definitely had space before the box bought the farm then we don't need to worry about doing this space reservation. Use the fs_info->log_root_recovering flag to skip the delayed inode stuff and update the item directly. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f6acfd50110b335c7af636cf1fc8e55319cae5fc Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Sep 18 11:27:17 2014 -0400 Btrfs: don't do async reclaim during log replay Trying to reproduce a log enospc bug I hit a panic in the async reclaim code during log replay. This is because we use fs_info->fs_root as our root for shrinking and such. Technically we can use whatever root we want, but let's just not allow async reclaim while we're doing log replay. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 47ab2a6c689913db23ccae38349714edf8365e0a Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Sep 18 11:20:02 2014 -0400 Btrfs: remove empty block groups automatically One problem that has plagued us is that a user will use up all of his space with data, remove a bunch of that data, and then try to create a bunch of small files and run out of space. This happens because all the chunks were allocated for data since the metadata requirements were so low. But now there's a bunch of empty data block groups and not enough metadata space to do anything. This patch solves this problem by automatically deleting empty block groups. If we notice the used count go down to 0 when deleting or on mount notice that a block group has a used count of 0 then we will queue it to be deleted. When the cleaner thread runs we will double check to make sure the block group is still empty and then we will delete it. This patch has the side effect of no longer having a bunch of BUG_ON()'s in the chunk delete code, which will be helpful for both this and relocate. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1eb96047052fe13557d6f278c835ef8b88ac3b4c Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Fri Aug 29 00:49:43 2014 -0300 [media] v4l: ti-vpe: Remove casting the return value which is a void pointer Casting the return value which is a void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 47c0b565ecd827984f43e52a4ec9b9a191feb80c Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Wed Aug 27 22:12:43 2014 -0300 [media] vpfe_standards[] can be static make vpfe_standards[] static. Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 229fd4a505553c3a475b90e9aa8e452f5d78eb3b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Apr 28 15:59:16 2014 -0700 clk: qcom: Add support for banked MD RCGs The banked MD RCGs in global clock control have a different register layout than the ones implemented in multimedia clock control. Add support for these types of clocks so we can change the rates of the UBI32 clocks. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ae3669ac5c09fa8dfc8d8a294ccb5f265b8929be Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Apr 28 15:58:11 2014 -0700 clk: qcom: Add support for setting rates on PLLs Some PLLs may require changing their rate at runtime. Add support for these PLLs. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 50c6a50344c58f73c697e2fe38960dc176a2e69f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Sep 4 13:21:50 2014 -0700 clk: qcom: Consolidate frequency finding logic There are two find_freq() functions in clk-rcg.c and clk-rcg2.c that are almost exactly the same. Consolidate them into one function to save on some code space. Cc: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit dc1b3f657f25798b2dc9ed8928b80eb3183019a2 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Tue Sep 16 16:04:12 2014 -0500 clk: qcom: Add IPQ8064 PLL required for USB This patch adds the PLL0 that is required for the USB clocks to work properly. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Fixes: 24d8fba44af3 "clk: qcom: Add support for IPQ8064's global clock controller (GCC)" Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 990a6a997774fae9667f08805ea6c7fe25381b84 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Fri Aug 22 13:50:42 2014 -0300 [media] MAINTAINERS: add sp2 entry Add a maintainer for the new CIMaX SP2 driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 09628b2c2105722e61b8c799531304a1cd317b2e Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Sep 22 18:57:45 2014 -0300 [media] dib0700_devices: Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Not sure why, but some tables are still using the old way, but at least several of them got fixed. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 557b4549714536b161522960a36f0aa7f527418c Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Sun Sep 21 00:22:17 2014 +0200 eeepc-laptop: clean up control flow in *_rfkill_notifier Handle errors immediately in eeepc_register_rfkill_notifier and eeepc_unregister_rfkill_notifier. This clears up the control flow for the reader. It also removes unnecessary indentation. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 1148f6fdb0136b6cf9ec5e1ff6db2dfa899b3906 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 08:20:23 2014 -0300 [media] v4l: ti-vpe: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 89b51cb5c3b0e8c2b8016c60f3386a5bfa468498 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Sep 17 08:59:36 2014 -0600 PCI: Add ACS quirk for Solarflare SFC9120 & SFC9140 Solarflare confirms that these devices do not allow peer-to-peer between functions. Quirk them to allow IOMMU grouping to expose this isolation. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Robert Stonehouse <rstonehouse@xxxxxxxxxxxxxx> commit 4093a8443941d7021c7f747474a87a56cf666270 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Sep 18 20:47:48 2014 -0400 selinux: normalize audit log formatting Restructure to keyword=value pairs without spaces. Drop superfluous words in text. Make invalid_context a keyword. Change result= keyword to seresult=. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [Minor rewrite to the patch subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 9f0dbe087bff6cfffcf8b0c25c08891d66b987be Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 22 14:52:07 2014 -0600 PCI: designware: Use NULL instead of false of_get_address() expects pointers in the third and fourth parameters. Pass NULL in order to fix the following sparse warnings: drivers/pci/host/pcie-designware.c:433:51: warning: Using plain integer as NULL pointer drivers/pci/host/pcie-designware.c:433:58: warning: Using plain integer as NULL pointer Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> commit 5d40018623a53f5e21cb3393ab9ef2a3a7bc57dd Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Mon Aug 18 08:51:29 2014 -0300 [media] au0828: fill tuner type on all boards This is used by the I2C code in order to slow down the speed to 20 kHz on devices with xc5000 or xc5000c. So, it needs to be filled for all devices that use either xc5000 or xc5000c. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b13b47e0b5eecbd18ebaa7f6657ca0f53eb783a3 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Mon Aug 18 08:51:28 2014 -0300 [media] au0828: explicitly identify boards with analog TV Right now, the au0828 driver uses .tuner to detect if analog tv is being used or not. By not filling .tuner fields at the board struct, the I2C core can't do decisions based on it. So, add a field to explicitly tell when analog TV is supported. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5d8f4c9fdd67404c9f94683836e49ec8bded2287 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Sep 17 10:41:13 2014 -0600 PCI: Remove unused pci_get_dma_source() pci_get_dma_source() is unused, so remove it. We now have dma_alias_devfn() to describe this. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 1ba3f927ad66759b0081fe1f96d77500c9a622c3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Sep 22 17:48:01 2014 -0300 [media] au0828-cards: remove a comment about i2c clock stretching This comment is already at the au0828-i2c where it belongs. So, remove it from a board's entry. It doesn't make any sense there, as we're setting the clock to 250kHz there, slowing it down only at the au0828-i2c. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a2aeb02a8e6a9fef397c344245a54eeae67341f6 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 22 13:42:53 2014 -0700 net: sched: fix compile warning in cls_u32 $ grep CONFIG_CLS_U32_MARK .config # CONFIG_CLS_U32_MARK is not set net/sched/cls_u32.c: In function 'u32_change': net/sched/cls_u32.c:852:1: warning: label 'errout' defined but not used [-Wunused-label] Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bee3f304435a9c8c70b135083e23516872a17c98 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Sep 22 14:46:13 2014 -0600 PCI: Remove unused pci_find_upstream_pcie_bridge() pci_find_upstream_pcie_bridge() is unused, so remove it. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 56fab6e189441d714a2bfc8a64f3df9c0749dff7 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 17 17:58:27 2014 +0200 PCI: mvebu: Fix uninitialized variable in mvebu_get_tgt_attr() Geert Uytterhoeven reported a warning when building pci-mvebu: drivers/pci/host/pci-mvebu.c: In function 'mvebu_get_tgt_attr': drivers/pci/host/pci-mvebu.c:887:39: warning: 'rtype' may be used uninitialized in this function [-Wmaybe-uninitialized] if (slot == PCI_SLOT(devfn) && type == rtype) { ^ And indeed, the code of mvebu_get_tgt_attr() may lead to the usage of rtype when being uninitialized, even though it would only happen if we had entries other than I/O space and 32 bits memory space. This commit fixes that by simply skipping the current DT range being considered, if it doesn't match the resource type we're looking for. Reported-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.12+ commit 886da6ac33ac7e82392f1bc8b7b25b058710a269 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Sep 22 17:36:53 2014 -0300 [media] stv0367: Remove an unused parameter cab_state->modulation is initialized with a wrong value: drivers/media/dvb-frontends/stv0367.c:3000:42: warning: mixing different enum types drivers/media/dvb-frontends/stv0367.c:3000:42: int enum fe_modulation versus drivers/media/dvb-frontends/stv0367.c:3000:42: int enum stv0367cab_mod as it was declared as "enum stv0367cab_mod". While it could be fixed, there's no value on it, as this is never used. So, just remove the modulation from cab_state structure. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eafeda9666f634abc1b133ee4b578708269d99ab Author: Maks Naumov <maksqwe1@xxxxxxx> Date: Fri Aug 15 16:23:20 2014 -0300 [media] media: stv0367: fix frontend modulation initialization with FE_CAB_MOD_QAM256 It was using the wrong constant for QAM256 on get_frontend. Signed-off-by: Maks Naumov <maksqwe1@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 78e719a5f30b7017b575c08220f4480e3140c6f1 Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Fri Aug 15 15:16:58 2014 -0300 [media] em28xx-input: i2c IR decoders: improve i2c_client handling Instead of using a temporary stack allocated i2c_client in em28xx_i2c_ir_handle_key(), allocate/free the i2c_client at module init/uninit and hook it into struct em28xx_IR (if the device has an i2c IR decoder). This reduces the frame size of function em28xx_i2c_ir_handle_key() and speeds it up a bit. Also make sure that all fields of struct i2c_client are initialized properly. Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fcdd1cf4dd63aecf86c987d7f4ec7187be5c2fbc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 22 13:19:44 2014 -0700 tcp: avoid possible arithmetic overflows icsk_rto is a 32bit field, and icsk_backoff can reach 15 by default, or more if some sysctl (eg tcp_retries2) are changed. Better use 64bit to perform icsk_rto << icsk_backoff operations As Joe Perches suggested, add a helper for this. Yuchung spotted the tcp_v4_err() case. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5611588b86492eded428cad0f698c39178f88d23 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 15 13:22:35 2014 -0300 [media] rc-core: use USB API functions rather than constants This patch introduces the use of !usb_endpoint_dir_in(epd) and !usb_endpoint_xfer_int(epd). The Coccinelle semantic patch that makes these changes is as follows: - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) != - \(USB_DIR_IN\|0x80\)) + !usb_endpoint_dir_in(epd) @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) != - \(USB_ENDPOINT_XFER_INT\|3\)) + !usb_endpoint_xfer_int(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4ac9cbfa35f2c05ed294a2b3e0bf5d0bb7cba607 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Aug 25 23:26:35 2014 +0200 x86/PCI: Mark DMI tables as initialization data The DMI tables are only used in __init code, thereby can be marked as initialization data, too. The same is true for the callback functions referenced from the DMI tables. This moves ~9.6 kB of code and r/o data to the init sections, marking the memory for release after initialization. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 35f7aa5309c048bb70e58571942795fa9411ce6a Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Sat Sep 20 14:03:55 2014 +0200 ipv6: mld: answer mldv2 queries with mldv1 reports in mldv1 fallback RFC2710 (MLDv1), section 3.7. says: The length of a received MLD message is computed by taking the IPv6 Payload Length value and subtracting the length of any IPv6 extension headers present between the IPv6 header and the MLD message. If that length is greater than 24 octets, that indicates that there are other fields present *beyond* the fields described above, perhaps belonging to a *future backwards-compatible* version of MLD. An implementation of the version of MLD specified in this document *MUST NOT* send an MLD message longer than 24 octets and MUST ignore anything past the first 24 octets of a received MLD message. RFC3810 (MLDv2), section 8.2.1. states for *listeners* regarding presence of MLDv1 routers: In order to be compatible with MLDv1 routers, MLDv2 hosts MUST operate in version 1 compatibility mode. [...] When Host Compatibility Mode is MLDv2, a host acts using the MLDv2 protocol on that interface. When Host Compatibility Mode is MLDv1, a host acts in MLDv1 compatibility mode, using *only* the MLDv1 protocol, on that interface. [...] While section 8.3.1. specifies *router* behaviour regarding presence of MLDv1 routers: MLDv2 routers may be placed on a network where there is at least one MLDv1 router. The following requirements apply: If an MLDv1 router is present on the link, the Querier MUST use the *lowest* version of MLD present on the network. This must be administratively assured. Routers that desire to be compatible with MLDv1 MUST have a configuration option to act in MLDv1 mode; if an MLDv1 router is present on the link, the system administrator must explicitly configure all MLDv2 routers to act in MLDv1 mode. When in MLDv1 mode, the Querier MUST send periodic General Queries truncated at the Multicast Address field (i.e., 24 bytes long), and SHOULD also warn about receiving an MLDv2 Query (such warnings must be rate-limited). The Querier MUST also fill in the Maximum Response Delay in the Maximum Response Code field, i.e., the exponential algorithm described in section 5.1.3. is not used. [...] That means that we should not get queries from different versions of MLD. When there's a MLDv1 router present, MLDv2 enforces truncation and MRC == MRD (both fields are overlapping within the 24 octet range). Section 8.3.2. specifies behaviour in the presence of MLDv1 multicast address *listeners*: MLDv2 routers may be placed on a network where there are hosts that have not yet been upgraded to MLDv2. In order to be compatible with MLDv1 hosts, MLDv2 routers MUST operate in version 1 compatibility mode. MLDv2 routers keep a compatibility mode per multicast address record. The compatibility mode of a multicast address is determined from the Multicast Address Compatibility Mode variable, which can be in one of the two following states: MLDv1 or MLDv2. The Multicast Address Compatibility Mode of a multicast address record is set to MLDv1 whenever an MLDv1 Multicast Listener Report is *received* for that multicast address. At the same time, the Older Version Host Present timer for the multicast address is set to Older Version Host Present Timeout seconds. The timer is re-set whenever a new MLDv1 Report is received for that multicast address. If the Older Version Host Present timer expires, the router switches back to Multicast Address Compatibility Mode of MLDv2 for that multicast address. [...] That means, what can happen is the following scenario, that hosts can act in MLDv1 compatibility mode when they previously have received an MLDv1 query (or, simply operate in MLDv1 mode-only); and at the same time, an MLDv2 router could start up and transmits MLDv2 startup query messages while being unaware of the current operational mode. Given RFC2710, section 3.7 we would need to answer to that with an MLDv1 listener report, so that the router according to RFC3810, section 8.3.2. would receive that and internally switch to MLDv1 compatibility as well. Right now, I believe since the initial implementation of MLDv2, Linux hosts would just silently drop such MLDv2 queries instead of replying with an MLDv1 listener report, which would prevent a MLDv2 router going into fallback mode (until it receives other MLDv1 queries). Since the mapping of MRC to MRD in exactly such cases can make use of the exponential algorithm from 5.1.3, we cannot [strictly speaking] be aware in MLDv1 of the encoding in MRC, it seems also not mentioned by the RFC. Since encodings are the same up to 32767, assume in such a situation this value as a hard upper limit we would clamp. We have asked one of the RFC authors on that regard, and he mentioned that there seem not to be any implementations that make use of that exponential algorithm on startup messages. In any case, this patch fixes this MLD interoperability issue. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25ee7327d04bc3ff41a7a5ac42d74226f8d60ac6 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 19 13:53:51 2014 -0700 net: bpf: fix compiler warnings in test_bpf old gcc 4.2 used by avr32 architecture produces warnings: lib/test_bpf.c:1741: warning: integer constant is too large for 'long' type lib/test_bpf.c:1741: warning: integer constant is too large for 'long' type lib/test_bpf.c: In function '__run_one': lib/test_bpf.c:1897: warning: 'ret' may be used uninitialized in this function silence these warnings. Fixes: 02ab695bb37e ("net: filter: add "load 64-bit immediate" eBPF instruction") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65aaae245a2842e3ed9d12f27aeb42fa215dfc2c Author: Pratyush Anand <pratyush.anand@xxxxxx> Date: Wed Sep 3 10:50:49 2014 +0530 PCI: spear: Pass config resource through reg property PCIe configuration space should be passed through reg property, rather than through ranges property. This patch does the correction for SPEAr13XX SOCs. Signed-off-by: Pratyush Anand <pratyush.anand@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit 9408d8f0f86b9eaafc3c5a07f148f009a6abcfc6 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 15 13:18:53 2014 -0300 [media] media/rc/imon.c: use USB API functions rather than constants This patch introduces the use of the function usb_endpoint_type. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) + usb_endpoint_type(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 612f676bbef9b937764db453c931ea48be8020ef Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Thu Aug 7 02:42:04 2014 -0300 [media] dvb: return the error from i2c_transfer if negative Just returns whatever error that was returned by the i2c core, in the case of errors, only returning -EREMOTEIO if the transfer size is not what it was expected. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a375218460a625f15b5403d15d9a67d8f8951177 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Thu Aug 7 02:41:45 2014 -0300 [media] dvb: remove 0x prefix from decimal value in printf The returned code is 0, 1 or an error. It doesn't make sense to print it in hexadecimal. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit de5df63228fcfbd5bb7fd883774c18fec9e61f12 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 19 21:50:34 2014 -0700 net: sched: cls_u32 changes to knode must appear atomic to readers Changes to the cls_u32 classifier must appear atomic to the readers. Before this patch if a change is requested for both the exts and ifindex, first the ifindex is updated then the exts with tcf_exts_change(). This opens a small window where a reader can have a exts chain with an incorrect ifindex. This violates the the RCU semantics. Here we resolve this by always passing u32_set_parms() a copy of the tc_u_knode to work on and then inserting it into the hash table after the updates have been successfully applied. Tested with the following short script: #tc filter add dev p3p2 parent 8001:0 protocol ip prio 99 handle 1: \ u32 divisor 256 #tc filter add dev p3p2 parent 8001:0 protocol ip prio 99 \ u32 link 1: hashkey mask ffffff00 at 12 \ match ip src 192.168.8.0/2 #tc filter add dev p3p2 parent 8001:0 protocol ip prio 102 \ handle 1::10 u32 classid 1:2 ht 1: \ match ip src 192.168.8.0/8 match ip tos 0x0a 1e #tc filter change dev p3p2 parent 8001:0 protocol ip prio 102 \ handle 1::10 u32 classid 1:2 ht 1: \ match ip src 1.1.0.0/8 match ip tos 0x0b 1e CC: Eric Dumazet <edumazet@xxxxxxxxxx> CC: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1ddcfee2d9ae172d0095f3f8227f7fa53288c65 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 19 21:50:04 2014 -0700 net: cls_u32: fix missed pcpu_success free_percpu This fixes a missed free_percpu in the unwind code path and when keys are destroyed. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6694ba62c7231f68f12a2d9466bcbdf734637f04 Author: Andrey Utkin <andrey.krieger.utkin@xxxxxxxxx> Date: Mon Aug 4 17:04:52 2014 -0300 [media] drivers/media/dvb-frontends/stv0900_sw.c: Fix break placement Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=81621 Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Andrey Utkin <andrey.krieger.utkin@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e173fb2646a832b424c80904c306b816760ce477 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Sep 18 20:50:17 2014 -0400 selinux: cleanup error reporting in selinux_nlmsg_perm() Convert audit_log() call to WARN_ONCE(). Rename "type=" to nlmsg_type=" to avoid confusion with the audit record type. Added "protocol=" to help track down which protocol (NETLINK_AUDIT?) was used within the netlink protocol family. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [Rewrote the patch subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 37ab7ddf3f81cec9175f53f17c357bb0d27a343e Author: dingtianhong <dingtianhong@xxxxxxxxxx> Date: Fri Sep 19 21:05:01 2014 +0800 bonding: remove the unnecessary notes for bond_xmit_broadcast() Signed-off-by: Ding Tianhong <dingtianhong@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a64d044e3907b717ae3d1e3711226064b42c83f4 Author: dingtianhong <dingtianhong@xxxxxxxxxx> Date: Fri Sep 19 21:04:57 2014 +0800 bonding: slight optimization for bond_xmit_roundrobin() When the slave is the curr_active_slave, no need to check whether the slave is active or not, it is always active. Signed-off-by: Ding Tianhong <dingtianhong@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2ed7d98e1c7098f452cf95ab69211a2f8e02ac8 Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Mon Sep 22 15:19:28 2014 -0400 ARM: dts: keystone: fix bindings for pcie and usb clock nodes Fix incorrect clock names for usb1, pcie1 and domain register offset for pcie1 clock nodes on K2E EVM Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 48443f07bd077f127d9157f22d8b5eefe28537a1 Author: Karicheri Muralidharan <m-karicheri2@xxxxxx> Date: Mon Sep 22 15:19:27 2014 -0400 ARM: dts: keystone: k2l: Fix chip selects for SPI devices There are 5 chip selects per SPI0 and SPI2 and 3 per SPI1. SPI2 needs to be pinned out to use and by default they are disabled. So keep the state disabled to reflect default. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit a3d3ee3f7d0b754dc06de68248d752231dddc9a5 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Sep 22 15:19:27 2014 -0400 ARM: dts: keystone: add dsp gpio controllers nodes Add Keystone 2 DSP GPIO nodes for SoCs: k2hk: DSP GPIO banks 0-7 correspond to DSP0-DSP7 k2l: DSP GPIO banks 0-3 correspond to DSP0-DSP3 k2e: DSP GPIO bank 0 corresponds to DSP0 Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit a392d42de7e9372b1049be1dee1aeefa51e14345 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Sep 22 15:19:27 2014 -0400 ARM: dts: keystone: add keystone irq controller node Add Keystone IRQ controller IP node which allows ARM CorePac core to receive signals from DSP cores. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 3fcb95a84fdb11e922cfac3b5cd3a9d96a9e9995 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 22 11:39:44 2014 -0700 udp: Need to make ip6_udp_tunnel.c have GPL license Unable to load various tunneling modules without this: [ 80.679049] fou: Unknown symbol udp_sock_create6 (err 0) [ 91.439939] ip6_udp_tunnel: Unknown symbol ip6_local_out (err 0) [ 91.439954] ip6_udp_tunnel: Unknown symbol __put_net (err 0) [ 91.457792] vxlan: Unknown symbol udp_sock_create6 (err 0) [ 91.457831] vxlan: Unknown symbol udp_tunnel6_xmit_skb (err 0) Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5624e80f8dba63499684d8920733d7465ad7d14b Merge: cecda69 cd3307aa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 22 15:01:13 2014 -0400 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Patches 1 and 2 fix sparse warnings (static declaration needed and endian declaration needed) introduced by the earlier patch set. Patches 3 and 4 add 20G/40G speed reporting via ethtool for the Skyhawk-R chip. Patches 5 to 12 fix various style issues and checkpatch warnings in the driver such as: - removing unnecessary return statements in void routines - adding needed blank lines after a declaration block - deleting multiple blank lines - inserting a blank line after a function/struct definition - removing space after typecast - fixing multiple assignments on a single line - fixing alignment on a line wrap ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd3307aaced34c0d1f5dfd96ee84d012c614e3b7 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:47:02 2014 +0530 be2net: fix alignment on line wrap This patch fixes alignment whereever it doesn't match the open parenthesis alignment. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f820b6c6e1cd75d5f2d08a684ecb3c2fda22d14 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:47:01 2014 +0530 be2net: remove multiple assignments on a single line This patch removes multiple assignments on a single line as warned by checkpatch. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 504fbf1e4f1a0f9c1586dfa22ef0eb20521f9df3 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:47:00 2014 +0530 be2net: remove space after typecasts This patch removes unnecessary spaces after typecasts as per checkpatch warnings. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 619f2d1a8f2f94d31ae90480f8e39dc91d5a7360 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:59 2014 +0530 be2net: remove unnecessary blank lines after an open brace This patch fixes checkpatch warnings about blank lines after an open brace '{'. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2fb1afa60dd1195a7d851d563c5eec3f069b760 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:58 2014 +0530 be2net: insert a blank line after function/struct//enum definitions This patch inserts a blank line after function/struct/union/enum definitions as per checkpatch warnings. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6f5473c4250f972eab2feb3faa1c923ec245124 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:57 2014 +0530 be2net: remove multiple blank lines This patch removes multiple blank lines in the driver as per checkpatch warnings. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03d28ffe9901c306daff494124921b12d0133c17 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:56 2014 +0530 be2net: add blank line after declarations This patch fixes checkpatch warnings in be2net by adding a blank line between declaration and code blocks. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 627cd5f8a74a2239ac3ca742b710025dee85db1d Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:55 2014 +0530 be2net: remove return statements for void functions Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6b7a9b7e77ae4d2a7652cdfbd65f2de0a1053b0 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Fri Sep 19 15:46:54 2014 +0530 be2net: add speed reporting for 20G-KR interface This patch adds speed reporting via ethtool for 20G KR2 interface on the Skyhawk-R chip. Signed-off-by: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca39076cd1c4b0a461720ed9edfdd742ad9757b2 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:53 2014 +0530 be2net: add speed reporting for 40G/KR interface This patch adds speed reporting via ethtool for 40Gbps KR4 interface on the Skyhawk-R chip. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72d7e2bf8f4c4f126b352bfbb67a64348623e31e Author: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Date: Fri Sep 19 15:46:52 2014 +0530 be2net: fix sparse warnings in be_cmd_req_port_type{} This patch fixes a sprase warnings regarding endian declarations introduced by the following commit: fixes: e36edd9 ("be2net: add ethtool "-m" option support") Signed-off-by: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b502ae8d9cbbbf4ad822571537b9e17173d9c8b8 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:51 2014 +0530 be2net: fix a sparse warning in be_cmd_modify_eqd() This patch fixes a sparse warning about missing static declaration that was introduced by the following commit: fixes: 936767039cdf ("be2net: send a max of 8 EQs to be_cmd_modify_eqd() on Lancer") Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b6357a79b7b0a2c3b31c5c92d5dd0c51cda0391 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Thu Sep 11 12:07:08 2014 -0500 ARM: qcom: Update defconfig * Enable APQ8084 pinctrl Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit cecda693a969816bac5e470e1d9c9c0ef5567bca Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Sep 19 16:04:38 2014 +0800 net: keep original skb which only needs header checking during software GSO Commit ce93718fb7cdbc064c3000ff59e4d3200bdfa744 ("net: Don't keep around original SKB when we software segment GSO frames") frees the original skb after software GSO even for dodgy gso skbs. This breaks the stream throughput from untrusted sources, since only header checking was done during software GSO instead of a true segmentation. This patch fixes this by freeing the original gso skb only when it was really segmented by software. Fixes ce93718fb7cdbc064c3000ff59e4d3200bdfa744 ("net: Don't keep around original SKB when we software segment GSO frames.") Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89ec3dcf17fd3fa009ecf8faaba36828dd6bc416 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Aug 27 14:57:57 2014 +0200 PCI: Generate uppercase hex for modalias interface class Some implementations of modprobe fail to load the driver for a PCI device automatically because the "interface" part of the modalias from the kernel is lowercase, and the modalias from file2alias is uppercase. The "interface" is the low-order byte of the Class Code, defined in PCI r3.0, Appendix D. Most interface types defined in the spec do not use alpha characters, so they won't be affected. For example, 00h, 01h, 10h, 20h, etc. are unaffected. Print the "interface" byte of the Class Code in uppercase hex, as we already do for the Vendor ID, Device ID, Class, etc. [bhelgaas: changelog] Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx commit b749fc9bff50013182edf2371d7f6c6796aed808 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Fri Sep 19 14:26:03 2014 +0800 net: fec: fix code identation There have extra identation before .skb_copy_to_linear_data_offset(), this patch just remove the identation. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aabff7bfe55afd01d71a5f11d4a84bd873c20f5e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Sep 19 16:50:51 2014 -0700 ARM: DT: msm8960: Add sdcc nodes Add the sdcc nodes to support the SD card controller using pl180 mmci driver. We also add a temporary fixed regulator until the regulator driver is mainlined. Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 55602a09dd7e0cad5f85b0945bfcbac2898540a0 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Sep 19 16:50:50 2014 -0700 ARM: DT: msm8660: Add sdcc nodes Add the sdcc nodes to support the SD card controller using pl180 mmci driver. We also add a temporary fixed regulator until the regulator driver is mainlined. Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 61a3bd1492b7b1872768798384ba6451f83c87a5 Merge: 34f6b87 96e65d7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 22 14:41:28 2014 -0400 Merge branch 'dsa-suspend' Florian Fainelli says: ==================== dsa: Broadcom SF2 suspend/resume and WoL This patch add supports for suspend/resume and configuring Wake-on-LAN for Broadcom Starfighter 2 switches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96e65d7f3f88d6e117ff80f3003d13c65e85cb03 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Sep 18 17:31:25 2014 -0700 net: dsa: bcm_sf2: add support for Wake-on-LAN In order for Wake-on-LAN to work properly, we query the parent network device Wake-on-LAN features and advertise those. Similarly, when configuring Wake-on-LAN on a per-port network interface, we make sure that we do not accept something the master network devices does not support. Finally, we need to maintain a bitmask of the ports enabled for Wake-on-LAN to prevent the suspend() callback from disabling a port that is used for waking up the system. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19e57c4e6dc6b82a3204b801f4c5f27c7d007559 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Sep 18 17:31:24 2014 -0700 net: dsa: add {get, set}_wol callbacks to slave devices Allow switch drivers to implement per-port Wake-on-LAN getter and setters. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8cfa94984c9cfdd5f5af2af4f161176cb7256d44 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Sep 18 17:31:23 2014 -0700 net: dsa: bcm_sf2: add suspend/resume callbacks Implement the suspend/resume callbacks for the Broadcom Starfighter 2 switch driver. Suspending the switch requires masking interrupts and shutting down ports. Resuming the switch requires a software reset since we do not know which power-sate we might be coming from, and re-enabling the physical ports that are used. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2446254915a7d6f08bba9a755a34cc0402880472 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Sep 18 17:31:22 2014 -0700 net: dsa: allow switch drivers to implement suspend/resume hooks Add an abstraction layer to suspend/resume switch devices, doing the following split: - suspend/resume the slave network devices and their corresponding PHY devices - suspend/resume the switch hardware using switch driver callbacks Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d178ef2fd5e4a7f601874a6e641090e706da3c8 Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 17:53:14 2014 +0100 mtd: nand: Move ELM driver and rename as omap_elm The ELM driver is only used by the OMAP NAND driver, so let's move it to the nand/ directory. Additionally, let's rename it to a less confusing name, so the module is built with a meaningful name, instead of the previous 'elm.ko'. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d2f08c7521cd67bc5f3c990af87add7b02f46ebe Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 17:53:13 2014 +0100 nand: omap2: Replace pr_err with dev_err Usage of pr_err is frowned upon, so replace it with dev_err. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 93af53b8633c4cb474585158512182b21219d743 Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 17:53:12 2014 +0100 nand: omap2: Remove horrible ifdefs to fix module probe The current code abuses ifdefs to determine if the selected ECC scheme is supported by the running kernel. As a result the code is hard to read, and it also fails to load as a module. This commit removes all the ifdefs and instead introduces a function omap2_nand_ecc_check() to check if the ECC is supported by using IS_ENABLED(CONFIG_xxx). Since IS_ENABLED() is true when a config is =y or =m, this change fixes the module so it can be loaded with no issues. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 34f6b8745d421683ca0a268540869eb30721e970 Merge: 5f5316f c9b1a5b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 22 14:35:36 2014 -0400 Merge branch 'qlge' Harish Patil says: ==================== qlge: Fix compilation warning and update maintainers This patch series includes the following set of patches: - Fix the below warning message: qlge_main.c:1754: warning: 'lbq_desc' may be used uninitialized in this function I have made changes according to your earlier feedback: "Please fix this differently. The problem is that the compiler can't see that you've done the !length check at the top of the function, so when it later sees the while (length > 0) loop, it doesn't know that this loop will always execute at least once. Just change that loop to a do { } while() loop and the compiler will be able to see everything." - Update qlge driver maintainers list ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9b1a5b5c24d3249f5b618b900d64a6a76f8dd23 Author: Harish Patil <harish.patil@xxxxxxxxxx> Date: Thu Sep 18 17:27:25 2014 -0400 Update qlge driver maintainers list Signed-off-by: Harish Patil <harish.patil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afe6e00cb201ae7980637509385b20ca71289d93 Author: Harish Patil <harish.patil@xxxxxxxxxx> Date: Thu Sep 18 17:27:24 2014 -0400 qlge: Fix compilation warning Fix the below warning message: qlge_main.c:1754: warning: 'lbq_desc' may be used uninitialized in this function Signed-off-by: Harish Patil <harish.patil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a960cce03d1dbd3dba54e660c479f64674eb5e3 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 16:25:11 2014 +0200 mtd: nand: add Hynix's H27UCG8T2ATR-BC to nand_ids table Add the full description of the Hynix H27UCG8T2ATR-BC NAND chip in the nand_ids table so that we can later use the NAND ECC infos and ONFI timings mode in controller drivers. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ef39ab79f7401f99212e2ae8a2399d88d6c77c64 Merge: 134cd00 adf70fc 3fce0e8 8665a48 7f1f054 f9dd0ce Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Sep 22 12:31:10 2014 -0600 Merge branches 'pci/host-designware', 'pci/host-imx6', 'pci/host-keystone', 'pci/host-tegra' and 'pci/host-xilinx' into next * pci/host-designware: PCI: designware: Fold struct pcie_port_info into struct pcie_port * pci/host-imx6: PCI: imx6: Delay enabling reference clock for SS until it stabilizes * pci/host-keystone: PCI: keystone: Set device ID based on SoC to support multiple ports PCI: keystone: Assume controller is already in RC mode PCI: keystone: Limit MRSS for all downstream devices * pci/host-tegra: PCI: tegra: Add Tegra124 support PCI: tegra: Make sure the PCIe PLL is really reset PCI: tegra: Fix extended configuration space mapping PCI: tegra: Clear CLKREQ# enable on port disable * pci/host-xilinx: PCI: xilinx: Fix xilinx_pcie_assign_msi() return value test commit 134cd00d766fc7014b53d9cea67a6bcb894ae51e Merge: a2351ef f3dbd80 63ddc0b be63497 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Sep 22 12:31:01 2014 -0600 Merge branches 'pci/enumeration', 'pci/misc' and 'pci/virtualization' into next * pci/enumeration: PCI: Enable CRS Software Visibility for root port if it is supported PCI: Check only the Vendor ID to identify Configuration Request Retry * pci/misc: PCI: Parenthesize PCI_DEVID and PCI_VPD_LRDT_ID parameters PCI: Increase IBM ipr SAS Crocodile BARs to at least system page size PCI/AER: Make <linux/aer.h> standalone includable * pci/virtualization: PCI: Use device flag helper functions xen/pciback: Use PCI device flag helper functions KVM: Use PCI device flag helper functions PCI: Add device flag helper functions PCI: Assume all Mellanox devices have broken INTx masking commit 57a94e24bc927f642f7f48ca1bf5476aa5be269d Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 20:11:50 2014 +0200 mtd: nand: support ONFI timing mode retrieval for non-ONFI NANDs Add an onfi_timing_mode_default field to nand_chip and nand_flash_dev in order to support NAND timings definition for non-ONFI NAND. NAND that support better timings mode than the default one have to define a new entry in the nand_ids table. The default timing mode should be deduced from timings description from the datasheet and the ONFI specification (www.onfi.org/~/media/ONFI/specs/onfi_3_1_spec.pdf, chapter 4.15 "Timing Parameters"). You should choose the closest mode that fit the timings requirements of your NAND chip. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5f5316fcd08ef74b282adf6774956431fac62663 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Thu Sep 18 02:33:41 2014 -0700 am2150: Update nmclan_cs.c to use update PCMCIA API Resolves compile warning about use of a deprecated function call: drivers/net/ethernet/amd/nmclan_cs.c: In function â??nmclan_configâ??: drivers/net/ethernet/amd/nmclan_cs.c:624:3: warning: â??pcmcia_request_exclusive_irqâ?? is deprecated (declared at include/pcmcia/ds.h:213) [-Wdeprecated-declarations] ret = pcmcia_request_exclusive_irq(link, mace_interrupt); Updates pcmcia_request_exclusive_irq() to pcmcia_request_irq(). CC: Roger Pao <rpao@xxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c08860ffe5c0e986e208e8217dae8191c0b40b24 Author: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Date: Wed Sep 17 14:54:37 2014 +0900 hwmon: (ntc_thermistor) Add ntc thermistor to thermal subsystem as a sensor. To get more comprehensive and integrated thermal management, it adds ntc thermistor to thermal framework as a thermal sensor. It's governed thermal susbsystem only if it is described in DT node. Otherwise, it just notifies temperature to userspace via sysfs as it used to be. Signed-off-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9b993e36611bd8029b81637ad53a262fa7882af1 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 8 09:27:38 2014 +0800 hwmon: (smsc47b397) Convert to devm_hwmon_device_register_with_groups Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 93c090b36ae977bc719f7ea2fcbf4a2e8e92e439 Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Wed Aug 20 11:29:23 2014 +0200 MAINTAINERS: add entry for the PWM fan driver Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 3e3e102251a7e3a535087e0acdc6010c6acf1474 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Aug 15 09:27:03 2014 -0700 hwmon: (k10temp) Convert to devm_hwmon_device_register_with_groups Use devm_hwmon_device_register_with_groups() to simplify the code and reduce code size. Cc: Clemens Ladisch <clemens@xxxxxxxxxx> Tested-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit f89ce2706d8341c921b96e13a00b951a10eed308 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Thu Aug 14 18:15:27 2014 -0500 hwmon: (k10temp) Add support for F15h M60h This patch adds temperature monitoring support for F15h M60h processor. - Add new pci device id for the relevant processor - The functionality of REG_REPORTED_TEMPERATURE is moved to D0F0xBC_xD820_0CA4 [Reported Temperature Control] - So, use this to get CUR_TEMP value - Since we need an indirect register access, protect this with a mutex lock - Add Kconfig, Doc entries to indicate support for this processor. Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Clemens Ladisch <clemens@xxxxxxxxxx> [Guenter Roeck: Declare new mutex and function static] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 4222eb5f2b4fe9a0f50b283ba25111c595723429 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 9 09:20:41 2014 +0800 hwmon: (da9052) Convert to devm_hwmon_device_register_with_groups Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e7d275e7619510314dbb9207896bb12074d71c81 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 9 09:25:12 2014 +0800 hwmon: (da9055) Convert to devm_hwmon_device_register_with_groups Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 8e35762fd5f2b074cff3e5c176c80008c70cc8f3 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Aug 5 10:56:47 2014 +0800 hwmon: (ads1015) Use of_property_read_u32 at appropriate places Simplify the code a bit and also improve readability. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit fe052529e465daff25225aac769828baa88b7252 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Sep 22 15:59:31 2014 +0200 scsi: move blk_mq_start_request call earlier Some ATA drivers need the dma drain size workaround, and thus need to call blk_mq_start_request before the S/G mapping. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 90415837659fec54f33584b423dab250eb1e8432 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Sep 22 10:21:48 2014 -0600 block: fix blk_abort_request on blk-mq Signed-off-by: Christoph Hellwig <hch@xxxxxx> Moved blk_mq_rq_timed_out() definition to the private blk-mq.h header. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5e940aaa597c15e916618240ae5838864f36c91e Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Fri Sep 19 21:53:46 2014 +0800 blk-timeout: fix blk_add_timer Commit 8cb34819cdd5d(blk-mq: unshared timeout handler) introduces blk-mq's own timeout handler, and removes following line: blk_queue_rq_timed_out(q, blk_mq_rq_timed_out); which then causes blk_add_timer() to bypass adding the timer, since blk-mq no longer has q->rq_timed_out_fn defined. This patch fixes the problem by bypassing the check for blk-mq, so that both request deadlines are still set and the rolling timer updated. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit aedcd72f6c283dffefbb8b808ae67bdd2c6eb11a Author: Jens Axboe <axboe@xxxxxx> Date: Wed Sep 17 08:27:03 2014 -0600 blk-mq: limit memory consumption if a crash dump is active It's not uncommon for crash dump kernels to be limited to 128MB or something low in that area. This is normally not a problem for devices as we don't use that much memory, but for some shared SCSI setups with huge queue depths, it can potentially fill most of memory with tons of request allocations. blk-mq does scale back when it fails to allocate memory, but it scales back just enough so that blk-mq succeeds. This could still leave the system with not enough memory to make any real progress. Check if we are in a kdump environment and limit the hardware queues and tag depth. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2edd2c740b2918eb0a9a1fe1b69678b903769ec2 Author: Ming Lei <ming.lei@xxxxxxxxxxxx> Date: Wed Sep 17 17:47:58 2014 +0800 blk-mq: remove unnecessary blk_clear_rq_complete() This patch removes two unnecessary blk_clear_rq_complete(), the REQ_ATOM_COMPLETE flag is cleared inside blk_mq_start_request(), so: - The blk_clear_rq_complete() in blk_flush_restore_request() needn't because the request will be freed later, and clearing it here may open a small race window with timeout. - The blk_clear_rq_complete() in blk_mq_requeue_request() isn't necessary too, even though REQ_ATOM_STARTED is cleared in __blk_mq_requeue_request(), in theory it still may cause a small race window with timeout since the two clear_bit() may be reordered. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0152fb6b57c4fae769ee75ea2ae670f4ff39fba9 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:13 2014 -0700 blk-mq: pass a reserved argument to the timeout handler Allow blk-mq to pass an argument to the timeout handler to indicate if we're timing out a reserved or regular command. For many drivers those need to be handled different. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 46f92d42ee37e10970e33891b7b61a342bd97aeb Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:12 2014 -0700 blk-mq: unshared timeout handler Duplicate the (small) timeout handler in blk-mq so that we can pass arguments more easily to the driver timeout handler. This enables the next patch. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 81481eb423c295c5480a3fab9bb961cf286c91e7 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:11 2014 -0700 blk-mq: fix and simplify tag iteration for the timeout handler Don't do a kmalloc from timer to handle timeouts, chances are we could be under heavy load or similar and thus just miss out on the timeouts. Fortunately it is very easy to just iterate over all in use tags, and doing this properly actually cleans up the blk_mq_busy_iter API as well, and prepares us for the next patch by passing a reserved argument to the iterator. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c8a446ad695ada43a885ec12b38411dbd190a11b Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:10 2014 -0700 blk-mq: rename blk_mq_end_io to blk_mq_end_request Now that we've changed the driver API on the submission side use the opportunity to fix up the name on the completion side to fit into the general scheme. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e2490073cd7c3d6f6ef6e029a208edd4d38efac4 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:09 2014 -0700 blk-mq: call blk_mq_start_request from ->queue_rq When we call blk_mq_start_request from the core blk-mq code before calling into ->queue_rq there is a racy window where the timeout handler can hit before we've fully set up the driver specific part of the command. Move the call to blk_mq_start_request into the driver so the driver can start the request only once it is fully set up. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bf57229745f849e500ba69ff91e35bc8160a7373 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:08 2014 -0700 blk-mq: remove REQ_END Pass an explicit parameter for the last request in a batch to ->queue_rq instead of using a request flag. Besides being a cleaner and non-stateful interface this is also required for the next patch, which fixes the blk-mq I/O submission code to not start a time too early. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6d11fb454b161a4565c57be6f1c5527235741003 Merge: b207892 8b95741 Author: Jens Axboe <axboe@xxxxxx> Date: Mon Sep 22 11:57:32 2014 -0600 Merge branch 'for-linus' into for-3.18/core Moving patches from for-linus to 3.18 instead, pull in this changes that will go to Linus today. commit e5bffb59cfbb3371ff00a165a5a48c1f3fdf125a Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Wed Sep 17 13:08:28 2014 -0500 mtd: physmap_of: Add non-obsolete map_rom probe Previously, the only way to map a NOR device as a simple ROM was to use the obsolete "direct-mapped" compatible binding (which further requires device_type = "nor" and probe-type = "NOR" properties). This patch adds an "mtd-rom" compatible binding to the "map_rom" probe type. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9b07a8d1ab85ccacaceb9f704c361119348aabab Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Wed Sep 17 13:08:18 2014 -0500 mtd: physmap_of: Fix ROM support via OF The "ROM" and unknown probe types within the obsolete "direct-mapped" probe function used the nonexistent "mtd_rom" probe instead of the intended "map_rom". Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6f325eaa86f167f8c1e1ffa288dfb991248a6ac7 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Mon Sep 22 18:02:49 2014 +0100 Revert "arm64: dmi: Add SMBIOS/DMI support" This reverts commit 668ebd106860f09f43993517f786a2ddfd0f9ebe. ... because of lots of warnings during boot if Linux isn't started as an EFI application: WARNING: CPU: 4 PID: 1 at /work/Linux/linux-2.6-aarch64/drivers/firmware/dmi_scan.c:591 dmi_matches+0x10c/0x110() dmi check: not initialized yet. Modules linked in: CPU: 4 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc4+ #606 Call trace: [<ffffffc000087fb0>] dump_backtrace+0x0/0x124 [<ffffffc0000880e4>] show_stack+0x10/0x1c [<ffffffc0004d58f8>] dump_stack+0x74/0xb8 [<ffffffc0000ab640>] warn_slowpath_common+0x8c/0xb4 [<ffffffc0000ab6b4>] warn_slowpath_fmt+0x4c/0x58 [<ffffffc0003f2d7c>] dmi_matches+0x108/0x110 [<ffffffc0003f2da8>] dmi_check_system+0x24/0x68 [<ffffffc0006974c4>] atkbd_init+0x10/0x34 [<ffffffc0000814ac>] do_one_initcall+0x88/0x1a0 [<ffffffc00067aab4>] kernel_init_freeable+0x148/0x1e8 [<ffffffc0004d2c64>] kernel_init+0x10/0xd4 Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 020e46e06afccaecd2db8ace32ce22dae1549b44 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 20:43:06 2014 +0300 Staging: iio: meter: Fix unnecessary space warning Fixed "Unnecessary space before function pointer argument" checkpatch.pl warning in ade7854.h Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5e736bd6881d9e78384eed8ab7fdcb586f0e402 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 14:50:22 2014 +0530 staging: iio: accel: remove else after return This patch fixes checkpatch.pl warning in files of iio: accel WARNING : else is not generally useful after a break or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f8ad68b23c50338ad44b1c63bc821a065bdd221 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sun Sep 21 15:11:41 2014 +0530 Staging: iio: adc: Fix else after return warning This patch fixes checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26cfea9e0e4034c29f9a64d91af213d9974aa123 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sun Sep 21 12:14:02 2014 +0530 Staging: iio: adc: Fix quoted string split accross lines This patch fixes the checkpatch warning: WARNING: quoted string split across lines Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ab7c7d48d2a62f9c0183fca05850ccba315ed8b Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Sep 20 20:44:24 2014 +0530 Staging: iio: accel: Replace msleep with usleep for given range This patch fixes checkpatch.pl warning: WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt As per Documentation/timers/timers-howto.txt usleep_range should be used for sleeping for 10us-20ms Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b12d0ac20dd9084995d10e1ec5bd43b7ec90f41 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Sep 20 18:30:19 2014 +0530 Staging: iio: adc: Fix warning prefer kmalloc_array over kmalloc This patch fixes the checkpatch warning: WARNING: Prefer kmalloc_array over kmalloc with multiply kmalloc_array is preffered for allocating for arrays. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ffffd5212846b72f116f7a9572e83d580e25802 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 16 16:56:39 2014 -0400 HID: wacom: fix timeout on probe for some wacoms Some Wacom tablets (at least the ISDv4 found in the Lenovo X230) timeout during probe while retrieving the input reports. The only time this information is valuable is during the feature_mapping stage, so we can ask for it there and discard the generic input reports retrieval. This gives a code path closer to the wacom.ko driver when it was in the input subtree (not HID). Cc: stable@xxxxxxxxxxxxxxx # requires cherry-pick of c64d883476 Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8deab4754c478149f8a139d6f54dc8b3ff665724 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 07:54:10 2014 -0700 staging: iio: fix up merge error Fix up a build merge error in drivers/iio/accel/bma180.c that I caused. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 576b586303f76be9e5e2f5266ccbeba1b46bbd06 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Mon Sep 15 17:44:18 2014 -0700 cxgb4i: avoid holding mutex in interrupt context cxgbi_inet6addr_handler() can be called in interrupt context, so use rcu protected list while finding netdev Applies on top of core-for-3.18 Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Karen Xie <kxie@xxxxxxxxxxx> Fixes: fc8d0590d914 ("libcxgbi: Add ipv6 api to driver") Fixes: 759a0cc5a3e1 ("cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api") Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6c1e7b7729b19eb41d93a411c82126a5993a8e90 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Tue Sep 2 16:43:16 2014 -0700 storvsc: get rid of overly verbose warning messages Get rid of the warning messages since they will clutter up various system logs and are of questionable value to the end user. For debugging purposes, this information can be gotten by setting the scsi log level appropriately. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Olaf Hering <olaf@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f78f694c34ae6fdc29f5e80abb2dbb894f961772 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 19 12:17:27 2014 +0530 mpt2sas: fix undefined reference to `__udivdi3' compilation errors This patch will fix the below compilation errors on i386 ARCH drivers/built-in.o: In function `_scsih_qcmd': mpt2sas_scsih.c:(.text+0x1e7b56): undefined reference to `__udivdi3' mpt2sas_scsih.c:(.text+0x1e7b8a): undefined reference to `__umoddi3' Used sector_div() API to fix above compilation errors. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d84a2b0d6fecbb6e29875dd9dc97cdcdaa15744a Merge: 3f76a4e 0f33be0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 07:30:03 2014 -0700 Merge 3.17-rc6 into staging-next. We want the fixes in there, and it resolves a merge issue with drivers/iio/accel/bma180.c Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce8efc3b563070c2aa2e0455b992256c98e03547 Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Thu Sep 18 21:15:01 2014 -0400 HID: sony: Set touchpad bits in the input_configured callback Set the DualShock4 touchpad bits in the input_configured callback so that they are registered properly for any input devices created during hid_hw_start. Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 91d66cd27f5fd8a3bca4621a3505c9067925478d Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:44 2014 +0200 ACPI / PM: Convert acpi_dev_pm_detach() into a static function The ->detach() callback for the PM domain has now been fully adopted, thus there no users left of the acpi_dev_pm_detach() API. This allow us to convert it into a static function. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a4a8c2c4962bb655e7152c53a0eb6ca31c47f159 Author: Tomasz Figa <tomasz.figa@xxxxxxxxx> Date: Fri Sep 19 20:27:43 2014 +0200 ARM: exynos: Move to generic PM domain DT bindings This patch moves Exynos PM domain code to use the new generic PM domain look-up framework introduced in previous patches, thus also allowing the new code to be compiled with CONFIG_ARCH_EXYNOS. This patch was originally submitted by Tomasz Figa when he was employed by Samsung. Link: http://marc.info/?l=linux-pm&m=139955336002083&w=2 Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 207f1a2d294e3781b56d1acecd48aaa3b4b7b2ad Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:42 2014 +0200 amba: Add support for attach/detach of PM domains AMBA devices may on some SoCs resides in PM domains. To be able to manage these devices from there, let's try to attach devices to their corresponding PM domain during the probe phase. To reverse these actions at the remove phase, we try to detach the device from its PM domain. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 676e7c257a339b44b8a613be145b22b85cf2ffc4 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:41 2014 +0200 spi: core: Convert to dev_pm_domain_attach|detach() Previously only the ACPI PM domain was supported by the spi bus. Let's convert to the common attach/detach functions for PM domains, which currently means we are extending the support to include the generic PM domain as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 397a0253527a578fa036d3438ad4909c65d63166 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:40 2014 +0200 mmc: sdio: Convert to dev_pm_domain_attach|detach() Previously only the ACPI PM domain was supported by the sdio bus. Let's convert to the common attach/detach functions for PM domains, which currently means we are extending the support to include the generic PM domain as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e09b0d4e9b03e08f47ad53e3c509db2cf8f1dc9c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:39 2014 +0200 i2c: core: Convert to dev_pm_domain_attach|detach() Previously only the ACPI PM domain was supported by the i2c bus. Let's convert to the common attach/detach functions for PM domains, which currently means we are extending the support to include the generic PM domain as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cb51841397e8e5714cf82a7f91053f6e1fb80d1f Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:38 2014 +0200 drivercore / platform: Convert to dev_pm_domain_attach|detach() Previously only the ACPI PM domain was supported by the platform bus. Let's convert to the common attach/detach functions for PM domains, which currently means we are extending the support to include the generic PM domain as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 46420dd73b800f87a19af13af5883855cf38cb08 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:37 2014 +0200 PM / Domains: Add APIs to attach/detach a PM domain for a device To maintain scalability let's add common methods to attach and detach a PM domain for a device, dev_pm_domain_attach|detach(). Typically dev_pm_domain_attach() shall be invoked from subsystem level code at the probe phase to try to attach a device to its PM domain. The reversed actions may be done a the remove phase and then by invoking dev_pm_domain_detach(). When attachment succeeds, the attach function should assign its corresponding detach function to a new ->detach() callback added in the struct dev_pm_domain. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit aa42240ab2544a8bcb2efb400193826f57f3175e Author: Tomasz Figa <tomasz.figa@xxxxxxxxx> Date: Fri Sep 19 20:27:36 2014 +0200 PM / Domains: Add generic OF-based PM domain look-up This patch introduces generic code to perform PM domain look-up using device tree and automatically bind devices to their PM domains. Generic device tree bindings are introduced to specify PM domains of devices in their device tree nodes. Backwards compatibility with legacy Samsung-specific PM domain bindings is provided, but for now the new code is not compiled when CONFIG_ARCH_EXYNOS is selected to avoid collision with legacy code. This will change as soon as the Exynos PM domain code gets converted to use the generic framework in further patch. This patch was originally submitted by Tomasz Figa when he was employed by Samsung. Link: http://marc.info/?l=linux-pm&m=139955349702152&w=2 Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 86f1e15f5646b4855bd77025c950239650c4843e Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:35 2014 +0200 ACPI / PM: Assign the ->detach() callback when attaching the PM domain As as preparation to simplify the detachment of devices from their PM domains, we assign the ->detach() callback to genpd_dev_pm_detach(). Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c3099a5294f2c7266234e8ea35cbffc20a41aa9a Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:34 2014 +0200 PM / Domains: Add a detach callback to the struct dev_pm_domain The intent of this callback is to simplify detachment of devices from their PM domains. Further patches will show the benefit. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6ca01a1b451de067462368bd9737efb7accb291c Merge: 93177d1 0f33be0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 06:46:16 2014 -0700 Merge 3.17-rc6 into usb-next We want the USB fixes in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93177d1f562e4c33871dcf8272e5f8686c73eff1 Merge: 18f340f f8c0e05 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 06:18:07 2014 -0700 Merge tag 'usb-serial-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next Johan writes: USB-serial updates for v3.18-rc1 These changes add two new "simple" drivers, while removing the redundant zte_ev driver (PIDs moved to option). Included are also some minor clean ups to the xsens_mt driver, and the enabling of further baud rates for pl2303 devices. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 35e1efd25a9e7d5cf2884fa23441ab87353849bb Merge: 6f98e89 d1ac554 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Mon Sep 22 22:54:56 2014 +1000 Merge tag 'keys-next-20140922' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next commit 0cadc70282df0d957c00e8e68ba58afeefdf0f64 Author: Todd E Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:07:12 2014 -0700 PM / sleep: new suspend_resume trace event for console resume This patch adds another suspend_resume trace event for analyze_suspend to capture. The resume_console call can take several hundred milliseconds if the printk buffer is full of debug info. The tool will now inform testers of the wasted time and encourage them to disable it in production builds. Signed-off-by: Todd Brandt <todd.e.brandt@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 12e10bb60be2a4259373c05dfbf8f71b87a17421 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 16 21:59:39 2014 +0200 PM / domains: Spelling s/domian/domain/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 02037a9719fa89b7e5dc25cb22afc06c4eae406e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 18:15:59 2014 +0200 ARM: at91: document Atmel SMART compatibles Document all the available compatibles for Atmel "SMART" SoCs. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 2f58617168108660b5559c5e6d195c41767f823b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 18:15:58 2014 +0200 ARM: at91: add sama5d4 support to sama5_defconfig Add sama5d4 to sama5_defconfig to build kernel booting on both sama5d3 and samad4. Note that earlyprintk can only be working for one or the other. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7a4752677c449efa4a545014d5a153c409744d9f Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 15 18:15:57 2014 +0200 ARM: at91: dt: add device tree file for SAMA5D4ek board Add reference SAMA5D4-EK platform DT file. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7c661394c56c9fcd98734bb762fb4191e4ff0ecc Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 15 18:15:56 2014 +0200 ARM: at91: dt: add device tree file for SAMA5D4 SoC Add SAMA5D4 SoC DT file. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit b511593d7165809019a5b84b35adf95f284410a8 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Sep 22 14:17:12 2014 +0200 clk: samsung: exynos4: fix g3d clocks sclk_g3d clock doesn't have enable/disable bits, but the driver hijacked g3d gate clock bits for this purpose and didn't provide real g3d clock at all. This patch fixes this issue by adding proper definition for g3d clock and removing incorrect access to GATE_IP_G3D register in sclk_g3d. In addition CLK_SET_RATE_PARENT flag is dropped from sclk_g3d, because it does not make any sense and most likely has been added by mistake. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> [tomasz.figa@xxxxxxxxx: Adjusted commit message.] Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 4676f0aab9dc4f9aa729d5a5b75d20f824d77742 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Jul 1 10:10:05 2014 +0200 clk: samsung: exynos4: add support for MOUT_HDMI and MOUT_MIXER clocks This patch adds support for exporting mout_hdmi and mout_mixer to device tree. Access to those clocks is required to correctly setup HDMI module on Exynos 4210 and 4x12 SoCs. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> CC: Mike Turquette <mturquette@xxxxxxxxxx> CC: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit c14254300131f5dcb3fe18a1ff6eee163c2bc9b4 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Sep 16 13:54:31 2014 +0200 clk: samsung: exynos4: add missing smmu_g2d clock and update comments This patch adds missing smmu_g2d clock implementation and updates comment about Exynos4 clocks from 278-282 range. Those clocks are available on all Exynos4 SoC series, so the misleading comment has been removed. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 07ccf02ba5c3b2c6ff7d0325aefabe3b79732b57 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 2 15:21:17 2014 +0200 dt-bindings: clk: samsung: Document the DMC domain of Exynos3250 CMU Document the new compatible for clock in DMC (Dynamic Memory Controller) domain of Exynos3250 Clock Management Unit (CMU). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit d0e73eaf1925053cbf33fb002382aee72accd044 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 2 15:21:16 2014 +0200 ARM: dts: exynos3250: Add CMU node for DMC domain clocks Add CMU (Clock Management Unit) node for DMC (Dynamic Memory Controller) domain clocks on Exynos3250. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit e3c3f19bc6185e0a24454e7b439e11635e6db960 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 2 15:21:15 2014 +0200 clk: samsung: exynos3250: Register DMC clk provider Add clock provider for clocks in DMC domain including EPLL and BPLL. The DMC clocks are necessary for Exynos3 devfreq driver. The DMC clock domain uses different address space (0x105C0000) than standard clock domain (0x10030000 - 0x10050000). The difference is huge enough to add new DT node for the clock provider, rather than extending existing address space. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 22842d244af353a66fa4e6d1978d3f4c39ee4d20 Author: Chander Kashyap <k.chander@xxxxxxxxxxx> Date: Wed Sep 10 11:26:05 2014 +0530 clk: samsung: exynos5260: fix typo in clock name The parent name added in parent list as mout_phyclk_mipi_dphy_4l_m_txbyte_clkhs_p, is different than the defined parent due to typo. Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Signed-off-by: Chander Kashyap <k.chander@xxxxxxxxxxx> Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit e82ba578ccdeb3faa90dfcee06dbbb8dffe1145a Author: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Date: Fri Sep 5 17:24:41 2014 +0530 clk: samsung: exynos3250: fix width field of mout_mmc0/1 As per Exynos3250 user manual mmc0/1 mux selection has 4 bit wide. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 59037b92f440c10d0c717a91f0b35a49b774c708 Author: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Date: Tue Sep 9 17:24:57 2014 +0530 clk: samsung: exynos3250: fix width and shift of div_spi0_isp clock Update shift and width field of div_spi0_isp clock as per Exynos3250 user manual. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 5ce37f266650528978cc2fa410b45ded4fd57e1c Author: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Date: Sat Sep 6 18:33:33 2014 +0530 clk: samsung: exynos3250: fix mout_cam_blk parent list As per user manual of Exynos3250 SRC_CAM can select div_cam_blk_320 if it's value is 0xC, so placing div_cam_blk_320 at proper index in parent list of mout_cam_blk. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 4b050ba7a66c3ff26cc329ea4db0e9fb2d66a064 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 18 10:51:33 2014 +0100 MIPS: pgtable.h: Implement the pgprot_writecombine function for MIPS Previously, the pgprot_writecombine function was simply defined as pgprot_uncached in include/asm-generic/pgtable.h. This is not optimal for cores that can actually do write-combine memory writes so define this function to take into account the core's cache coherency attribute to achieve such behavior. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7403/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4f12b91d2da577d81c580da62373fd37b31e0da1 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 18 10:51:32 2014 +0100 MIPS: cpu-probe: Set the write-combine CCA value on per core basis Different cores use different CCA values to achieve write-combine memory writes. For cores that do not support write-combine we set the default value to CCA:2 (uncached, non-coherent) which is the default value as set by the kernel. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7402/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 80bc94d10466c710158d5f30c43625ed9fa59e78 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 18 10:51:31 2014 +0100 MIPS: pgtable-bits: Define the CCA bit for WC writes on Ingenic cores Ingenic uses the CCA:1 bit to achieve write-combine memory writes. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7401/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fb02035083d9e2de1deba529b45835a698944f07 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 18 10:51:30 2014 +0100 MIPS: pgtable-bits: Move the CCA bits out of the core's ifdef blocks Define all the CCA bits outside the ifdef blocks for specific cores but also allow cores to override them if necessary. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7400/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f46493826a79f6a2bf9d8a0030e627e0255bbf48 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Jul 16 16:51:32 2014 +0100 MIPS: DMA: Add cma support Adds cma support to the MIPS architecture. cma uses memblock. However, mips uses bootmem. bootmem is informed about any regions reserved by memblock dma api is modified to use cma reserved memory regions when available Tested using cma_test. cma_test is a simple driver that assigns blocks of memory from cma reserved sections. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: catalin.marinas@xxxxxxx Cc: will.deacon@xxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: mingo@xxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: arnd@xxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Cc: m.szyprowski@xxxxxxxxxxx Cc: x86@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7360/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8057b30814e1c90e9425bb7b3be868b55bf5435c Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Jul 16 16:51:31 2014 +0100 x86: use generic dma-contiguous.h dma-contiguous.h is now in asm-generic. Use that to avoid code repetition in x86. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: catalin.marinas@xxxxxxx Cc: will.deacon@xxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: mingo@xxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: arnd@xxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Cc: m.szyprowski@xxxxxxxxxxx Cc: x86@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7359/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2f06dbe4e4fcea81b719b025850350324a722366 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Jul 16 16:51:30 2014 +0100 arm64: use generic dma-contiguous.h dma-contiguous.h is now in asm-generic. Use that to avoid code repetition in arm64. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: will.deacon@xxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: mingo@xxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: arnd@xxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Cc: m.szyprowski@xxxxxxxxxxx Cc: x86@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7358/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 02d31c7de1e799c1fc171d86cfac92240885ce7e Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Jul 16 16:51:29 2014 +0100 asm-generic: Add dma-contiguous.h This header is used by arm64 and x86 individually. Adding to asm-generic to avoid further code repetition while adding cma to mips. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: catalin.marinas@xxxxxxx Cc: will.deacon@xxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: mingo@xxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: arnd@xxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Cc: m.szyprowski@xxxxxxxxxxx Cc: x86@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7357/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 39bcb7969a84aab3dcdb857b261a87d5d888f5a7 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Wed Jul 23 10:00:09 2014 +0100 MIPS: BPF: Add new emit_long_instr macro This macro uses the capitalized UASM_* macros to emit 32 or 64-bit instructions depending on the kernel configurations. This allows us to remove a few CONFIG_64BIT ifdefs from the code. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7446/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 011eeece0bb2e1b65b2d2fd618067425e8ccdbb4 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:26 2014 -0700 MIPS: ralink: Move device-trees to arch/mips/boot/dts/ Move the Ralink device-trees to arch/mips/boot/dts/ and update the Makefiles accordingly. A built-in device-tree is optional, so select BUILTIN_DTB when it is requested. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7561/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 36094619e419c306dc08d83f043bc9937cc63e03 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:25 2014 -0700 MIPS: Netlogic: Move device-trees to arch/mips/boot/dts/ Move the Netlogic XLP device-trees to arch/mips/boot/dts/ and update the Makefiles accordingly. A built-in device-tree is optional, so select BUILTIN_DTB when it is requested. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7560/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f262b5f2d5820799fd58ae08eee4ec3fc97686ab Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:24 2014 -0700 MIPS: sead3: Move device-trees to arch/mips/boot/dts/ Move the SEAD-3 device-tree to arch/mips/boot/dts/ and update the Makefiles accordingly. Since SEAD-3 requires the device-tree to be built into the kernel, select BUILTIN_DTB when building for SEAD-3. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7555/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3229a6d865d78152fb2a25aa0cf97e1904cf18d8 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:23 2014 -0700 MIPS: Lantiq: Move device-trees to arch/mips/boot/dts/ Move the Lantiq device-trees to arch/mips/boot/dts/ and update the Makefiles accordingly. There is currently only a single Lantiq device-tree (EASY50712), and it's required to be built into the kernel, so select BUILTIN_DTB for it. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7559/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e326479f2f5767be3341c305a4457c4a1405e5a7 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:22 2014 -0700 MIPS: Octeon: Move device-trees to arch/mips/boot/dts/ Move the Octeon device-trees to arch/mips/boot/dts/ and update the Makefiles accordingly. Since Octeon requires the device-tree to be built into the kernel, select BUILTIN_DTB as well. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7556/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c8d333dfe4bab898fd87f4c3ae555f2c1388eb8f Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:21 2014 -0700 MIPS: Add support for building device-tree binaries Add a 'dtbs' Makefile target that just builds the device-tree binaries enabled by the configuration. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7557/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7fafb06831431ed7bc882c3cd7c981e3f41cfdb0 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:20 2014 -0700 MIPS: Create common infrastructure for building built-in device-trees In preparation for moving the device-trees to a common location, introduce the config option BUILTIN_DTB, which can be selected by platforms that use a device-tree built into the kernel image, and create a Makefile to build the device-trees in arch/mips/boot/dts/. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7564/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bfe0307942366b729520718b1ddcd96fb9bd5391 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Apr 8 16:09:03 2014 +0100 MIPS: SEAD3: Enable DEVTMPFS This is similar to 68f30ba7f8b9d666d1218eec97822ade0f23d9c3 "MIPS: Malta: Enable DEVTMPFS" Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/6738/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ff848c9f359ba4de478c01886d3664cd768defed Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Apr 8 16:09:02 2014 +0100 MIPS: SEAD3: Regenerate defconfigs This is similar to a86dc812881fab40175f4d3c3028acf8627a3804 "MIPS: Regenerate malta defconfigs" Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/6737/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c64bb5f0c26f6ea791270852217b7cb28553ba76 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Wed Aug 20 21:36:33 2014 +0200 MIPS: Alchemy: DB1300: Add touch penirq support wire up the WM9713 pendown irq support. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/7563/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c02a505e5a7787ee7aa871152ba571e6c1d1dc62 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Wed Aug 20 21:36:32 2014 +0200 MIPS: Alchemy: DB1xxx: Explicitly set 50MHz clock for I2C/SPI units. Add an explicit call to set the desired rate to get the correct clock routing for the PSC clocks. It wasn't broken before, but now it's less affected by bootloader changes. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/7554/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7ec32e4965ae69976de0fb0f340496904e23e113 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Wed Aug 20 21:36:31 2014 +0200 MIPS: Alchemy: Update cpu-feature-overrides More features the Au1 core definitely doesn't have. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/7562/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 092ea4660808cd441ccf3d415b80665dbe8712f4 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Wed Aug 20 21:36:30 2014 +0200 MIPS: Alchemy: devboards: sit and spin after poweroff On boards which don't support poweroff, systemd complains about this fact. In case poweroff fails, just sit and spin in the wait loop. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/7558/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3c09bae43ba92a07a6a7b7d42360deb32d289cc0 Author: Chen Jie <chenj@xxxxxxxxxx> Date: Fri Aug 15 16:56:58 2014 +0800 MIPS: Use WSBH/DSBH/DSHD on Loongson 3A Signed-off-by: chenj <chenj@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: chenhc@xxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7542/ Patchwork: https://patchwork.linux-mips.org/patch/7550/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2189064795dc3fb4101e5c34d28c6b62b8a3bfd9 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Mon Sep 22 11:48:31 2014 +0100 arm64: Implement set_arch_dma_coherent_ops() to replace bus notifiers Commit 6ecba8eb51b7 (arm64: Use bus notifiers to set per-device coherent DMA ops) introduced bus notifiers to set the coherent dma ops based on the 'dma-coherent' DT property. Since the generic of_dma_configure() handles this property for platform and AMBA devices, replace the notifiers with set_arch_dma_coherent_ops(). Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c9d571bee9628bc925253a21ea5943707aadb5f1 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Sep 17 12:56:07 2014 +0100 of: amba: use of_dma_configure for AMBA devices Commit 591c1e ("of: configure the platform device dma parameters) introduced a common mechanism to configure DMA from DT properties. AMBA devices created from DT can take advantage of this, too. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ccd359f219bee914501a8892b148e2a1315066d3 Author: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Date: Fri Sep 19 22:58:42 2014 +0100 iommu/arm-smmu: fix bug in pmd construction We are using the same pfn for every pte we create while constructing the pmd. Fix this by actually updating the pfn on each iteration of the pmd construction loop. It's not clear if we can actually hit this bug right now since iommu_map splits up the calls to .map based on the page size, so we only ever seem to iterate this loop once. However, things might change in the future that might cause us to hit this. Signed-off-by: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 668ebd106860f09f43993517f786a2ddfd0f9ebe Author: Yi Li <yi.li@xxxxxxxxxx> Date: Mon Sep 22 11:11:18 2014 +0100 arm64: dmi: Add SMBIOS/DMI support SMBIOS is important for server hardware vendors. It implements a spec for providing descriptive information about the platform. Things like serial numbers, physical layout of the ports, build configuration data, and the like. This has been tested by dmidecode and lshw tools. This patch adds the call to dmi_scan_machine() to arm64_enter_virtual_mode(), as that is the point where the EFI Configuration Tables are registered as being available. It needs to be in an early_initcall anyway as dmi_id_init(), which is an arch_initcall itself, depends on dmi_scan_machine() having been called already. Signed-off-by: Yi Li <yi.li@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 6051ddd4f94894cce8fde3aa29f90ae6c567fc46 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Fri Sep 19 12:36:27 2014 +0000 ARM: dts: rockchip: Remove "regulator-always-on" in vcc_rmii for Radxa Rock On Rockchip RK3188 SoCs the platform driver emac_rockchip is used. This variant driver enables this regulator when the device driver is loaded. The phy no longer needs to be always on. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 726d32bf79ef4042004535c9af9c8ea543abe46f Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 15 18:15:55 2014 +0200 ARM: at91: SAMA5D4 SoC detection code and low level routines SoC identification code, kernel uncompress and low level debugging routines update. On SAMA5D4, DBGU is at another address AT91_BASE_DBGU2 so another round of detection is needed. We also had to differentiate with SAMA5D3 SoC family and rename some variables. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2dc850b62e5b727a5413b60197cdddf92ab4f1a2 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 15 18:15:54 2014 +0200 ARM: at91: introduce basic SAMA5D4 support Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit bcc5fd49a0fda5abc22057f65b318788ccb5d2ad Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 18:15:53 2014 +0200 clk: at91: add a driver for the h32mx clock Newer SoCs have two different AHB interconnect. The AHB 32 bits Matrix interconnect (h32mx) has a clock that can be setup at the half of the h64mx clock (which is mck). The h32mx clock can not exceed 90 MHz. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit dee80ad12d2b1b304286a707fde7ab05d1fc7bab Author: Andreas Bomholtz <andreas@xxxxxxxxxxx> Date: Mon Sep 22 09:50:43 2014 +0200 USB: cp210x: add support for Seluxit USB dongle Added the Seluxit ApS USB Serial Dongle to cp210x driver. Signed-off-by: Andreas Bomholtz <andreas@xxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit bfc2d7dfdd761ae3beccdb26abebe03cef042f46 Author: Joe Savage <joe.savage@xxxxxxxxxxx> Date: Sat Sep 20 08:01:16 2014 -0500 USB: serial: cp210x: added Ketra N1 wireless interface support Added support for Ketra N1 wireless interface, which uses the Silicon Labs' CP2104 USB to UART bridge with customized PID 8946. Signed-off-by: Joe Savage <joe.savage@xxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 7639913f7298ed23a3f026ebcbb3b4e8850bcc39 Merge: 4e9c58c f8fb117 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 22 10:12:16 2014 +0200 Merge branch 'topic/hda-jack-rework' into for-next This is a merge of rework of HD-audio jack event handling code. It extends the jack table to allow multiple callbacks. commit 8d0eff6385640a9e6eed0b0c09113794b2bb74e9 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Sep 10 14:37:29 2014 +0200 KVM: PPC: Pass enum to kvmppc_get_last_inst The kvmppc_get_last_inst function recently received a facelift that allowed us to pass an enum of the type of instruction we want to read into it rather than an unreadable boolean. Unfortunately, not all callers ended up passing the enum. This wasn't really an issue as "true" and "false" happen to match the two enum values we have, but it's still hard to read. Update all callers of kvmppc_get_last_inst() to follow the new calling convention. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 033aaa14af0251285226a7dafc11c24a13959bca Author: Madhavan Srinivasan <maddy@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 22:37:36 2014 +0530 powerpc/kvm: common sw breakpoint instr across ppc This patch extends the use of illegal instruction as software breakpoint instruction across the ppc platform. Patch extends booke program interrupt code to support software breakpoint. Signed-off-by: Madhavan Srinivasan <maddy@xxxxxxxxxxxxxxxxxx> [agraf: Fix bookehv] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a59c1d9e609c4bbad9ec3b238221ecf3b9ca091b Author: Madhavan Srinivasan <maddy@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 22:37:35 2014 +0530 powerpc/kvm: support to handle sw breakpoint This patch adds kernel side support for software breakpoint. Design is that, by using an illegal instruction, we trap to hypervisor via Emulation Assistance interrupt, where we check for the illegal instruction and accordingly we return to Host or Guest. Patch also adds support for software breakpoint in PR KVM. Signed-off-by: Madhavan Srinivasan <maddy@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d2ca32a2d4f029b90e4b8f67879a9dfead0c85fa Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Mon Sep 1 12:01:59 2014 +0300 KVM: PPC: Book3E: Enable e6500 core Now that AltiVec and hardware thread support is in place enable e6500 core. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 188e267ce249b491dfbb77d881996dcb5610dc90 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Mon Sep 1 12:01:58 2014 +0300 KVM: PPC: e500mc: Add support for single threaded vcpus on e6500 core ePAPR represents hardware threads as cpu node properties in device tree. So with existing QEMU, hardware threads are simply exposed as vcpus with one hardware thread. The e6500 core shares TLBs between hardware threads. Without tlb write conditional instruction, the Linux kernel uses per core mechanisms to protect against duplicate TLB entries. The guest is unable to detect real siblings threads, so it can't use the TLB protection mechanism. An alternative solution is to use the hypervisor to allocate different lpids to guest's vcpus that runs simultaneous on real siblings threads. On systems with two threads per core this patch halves the size of the lpid pool that the allocator sees and use two lpids per VM. Use even numbers to speedup vcpu lpid computation with consecutive lpids per VM: vm1 will use lpids 2 and 3, vm2 lpids 4 and 5, and so on. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> [agraf: fix spelling] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9333e6c4c15a4084dd5f4336cd4379afbf99e458 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 2 16:14:43 2014 +1000 KVM: PPC: Book3S HV: Only accept host PVR value for guest PVR Since the guest can read the machine's PVR (Processor Version Register) directly and see the real value, we should disallow userspace from setting any value for the guest's PVR other than the real host value. Therefore this makes kvm_arch_vcpu_set_sregs_hv() check the supplied PVR value and return an error if it is different from the host value, which has been put into vcpu->arch.pvr at vcpu creation time. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b754c739ee8cd0101dc3f5a24e8c2ff76ee7eff9 Author: Paul Mackerras <paulus@xxxxxxxxxxx> Date: Tue Sep 2 16:14:42 2014 +1000 KVM: PPC: Book3S HV: Increase timeout for grabbing secondary threads Occasional failures have been seen with split-core mode and migration where the message "KVM: couldn't grab cpu" appears. This increases the length of time that we wait from 1ms to 10ms, which seems to work around the issue. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e9a94832f3d3ce10f5ae48dd119ccb50cfb0d04e Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Mon Sep 1 13:17:43 2014 +0300 KVM: PPC: Remove shared defines for SPE and AltiVec interrupts We currently decide at compile-time which of the SPE or AltiVec units to support exclusively. Guard kernel defines with CONFIG_SPE_POSSIBLE and CONFIG_PPC_E500MC and remove shared defines. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d02d4d156e72baf9a6628c76eb53019124d3c82f Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Mon Sep 1 17:19:56 2014 +0300 KVM: PPC: Remove the tasklet used by the hrtimer Powerpc timer implementation is a copycat version of s390. Now that they removed the tasklet with commit ea74c0ea1b24a6978a6ebc80ba4dbc7b7848b32d follow this optimization. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Bogdan Purcareata <bogdan.purcareata@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2f699a59f399d65d51df6eb916bf2e0f7c6f8148 Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 13 14:39:44 2014 +0530 KVM: PPC: BOOKE: Emulate debug registers and exception This patch emulates debug registers and debug exception to support guest using debug resource. This enables running gdb/kgdb etc in guest. On BOOKE architecture we cannot share debug resources between QEMU and guest because: When QEMU is using debug resources then debug exception must be always enabled. To achieve this we set MSR_DE and also set MSRP_DEP so guest cannot change MSR_DE. When emulating debug resource for guest we want guest to control MSR_DE (enable/disable debug interrupt on need). So above mentioned two configuration cannot be supported at the same time. So the result is that we cannot share debug resources between QEMU and Guest on BOOKE architecture. In the current design QEMU gets priority over guest, this means that if QEMU is using debug resources then guest cannot use them and if guest is using debug resource then QEMU can overwrite them. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3840edc8033ad5b86deee309c1c321ca54257452 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:36:25 2014 +0300 KVM: PPC: Move ONE_REG AltiVec support to powerpc Move ONE_REG AltiVec support to powerpc generic layer. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8a41ea53b32ffbe7524e3424cf0403fa3b4c73fb Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:36:24 2014 +0300 KVM: PPC: Make ONE_REG powerpc generic Make ONE_REG generic for server and embedded architectures by moving kvm_vcpu_ioctl_get_one_reg() and kvm_vcpu_ioctl_set_one_reg() functions to powerpc layer. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 95d80a294b1eec83eb58c57e101b05828d97a851 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:36:23 2014 +0300 KVM: PPC: Book3e: Add AltiVec support Add AltiVec support in KVM for Book3e. FPU support gracefully reuse host infrastructure so follow the same approach for AltiVec. Book3e specification defines shared interrupt numbers for SPE and AltiVec units. Still SPE is present in e200/e500v2 cores while AltiVec is present in e6500 core. So we can currently decide at compile-time which of the SPE or AltiVec units to support exclusively by using CONFIG_SPE_POSSIBLE and CONFIG_PPC_E500MC defines. As Alexander Graf suggested, keep SPE and AltiVec exception handlers distinct to improve code readability. Guests have the privilege to enable AltiVec, so we always need to support AltiVec in KVM and implicitly in host to reflect interrupts and to save/restore the unit context. KVM will be loaded on cores with AltiVec unit only if CONFIG_ALTIVEC is defined. Use this define to guard KVM AltiVec logic. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3efc7da61f6c5af78f67f03df8b0e1a473d8bc45 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:36:22 2014 +0300 KVM: PPC: Book3E: Increase FPU laziness Increase FPU laziness by loading the guest state into the unit before entering the guest instead of doing it on each vcpu schedule. Without this improvement an interrupt may claim floating point corrupting guest state. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bc8a4e5c2504eeca248f0b668fe94a80081cb9b6 Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 13 14:40:06 2014 +0530 KVM: PPC: BOOKE: Add one_reg documentation of SPRG9 and DBSR This was missed in respective one_reg implementation patch. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 06a29e427432b4baaacc3b816b57e90fe08561ff Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Tue Aug 19 14:59:30 2014 +1000 KVM: PPC: Book3S HV: Add register name when loading toc Add 'r' to register name r2 in kvmppc_hv_enter. Also update comment at the top of kvmppc_hv_enter to indicate that R2/TOC is non-volatile. Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2b2695a8d85593ec0253f7fdbeea1e18f0f9e5e2 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:09:04 2014 +0300 powerpc/booke: Revert SPE/AltiVec common defines for interrupt numbers Book3E specification defines shared interrupt numbers for SPE and AltiVec units. Still SPE is present in e200/e500v2 cores while AltiVec is present in e6500 core. So we can currently decide at compile-time which unit to support exclusively. As Alexander Graf suggested, this will improve code readability especially in KVM. Use distinct defines to identify SPE/AltiVec interrupt numbers, reverting c58ce397 and 6b310fc5 patches that added common defines. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3477e71d53197d7f1b6a1f7416f3c42ffec5f221 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:09:03 2014 +0300 powerpc/booke: Restrict SPE exception handlers to e200/e500 cores SPE exception handlers are now defined for 32-bit e500mc cores even though SPE unit is not present and CONFIG_SPE is undefined. Restrict SPE exception handlers to e200/e500 cores adding CONFIG_SPE_POSSIBLE and consequently guard __stup_ivors and __setup_cpu functions. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2c5096720f3e325df697881cc2a5b3d810b57109 Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:56 2014 +0530 KVM: PPC: BOOKE: Add one reg interface for DBSR Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 348ba71081cd8444178d24d3ed13d34fc1b61dae Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:55 2014 +0530 KVM: PPC: BOOKE: Guest and hardware visible debug registers are same Guest visible debug register and hardware visible debug registers are same, so ther is no need to have arch->shadow_dbg_reg, instead use arch->dbg_reg. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2190991e7caa2e2a2b976e9ed16e55f8c51623be Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:54 2014 +0530 KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG Dbsr is not visible to userspace and we do not think any need to expose this to userspace because: Userspace cannot inject debug interrupt to guest (as this does not know guest ability to handle debug interrupt), so userspace will always clear DBSR. Now if userspace has to always clear DBSR in KVM_EXIT_DEBUG handling then clearing dbsr in kernel looks simple as this avoid doing SET_SREGS/set_one_reg() to clear DBSR Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 37277b1129de84024f1f427da7bf25aabccf835e Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:53 2014 +0530 KVM: PPC: BOOKE: Allow guest to change MSR_DE This patch changes the default behavior of MSRP_DEP, that is guest is not allowed to change the MSR_DE, to guest can change MSR_DE. When userspace is debugging guest then it override the default behavior and set MSRP_DEP. This stops guest to change MSR_DE when userspace is debugging guest. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c8ca97ca9b87c0a9c9e67feda656b8dbca65cf08 Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:52 2014 +0530 KVM: PPC: BOOKE : Emulate rfdi instruction This patch adds "rfdi" instruction emulation which is required for guest debug hander on BOOKE-HV Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9fee7563cdb535596c48e7b05383d75590a64418 Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:51 2014 +0530 KVM: PPC: BOOKE: allow debug interrupt at "debug level" Debug interrupt can be either "critical level" or "debug level". There are separate set of save/restore registers used for different level. Example: DSRR0/DSRR1 are used for "debug level" and CSRR0/CSRR1 are used for critical level debug interrupt. Using CPU_FTR_DEBUG_LVL_EXC to decide which interrupt level to be used. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 62364357c184db52d556f868e493963fac2aea78 Author: George Cherian <george.cherian@xxxxxx> Date: Tue Sep 9 09:44:34 2014 +0530 extcon: gpio: Fix code cleanup This patch fixes following minor cleanup: - Order the include files in alphabetical order. - Fix description of state_off in extcon_gpio.h - Add a descrition for check_on_resume in extcon_gpio.h Signed-off-by: George Cherian <george.cherian@xxxxxx> [Modify the name/description of patch to keep standary codiyg style by Chanwoo Choi] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit dc6048d7231914a608938d330a5006f9929f76c7 Author: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Date: Wed Sep 17 12:58:43 2014 +0900 extcon: max77693: Fix a bug occured at changing ADC debounce time. When it writes some value other than 0 to BTLDset and JIGset, muic device will be reset automatically. And it happens during updating ADC debounce time, because it shares same register. To update ADC debounce time without reset, set value only to ADCDbset and 0 to BTLDset and JIGset. Signed-off-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> [Remove un-needed masking operation by Chanwoo Choi] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit b7c7e0865944131820e1a65ff3b08d94ae553d0f Author: Jean Delvare <jdelvare@xxxxxxx> Date: Tue Sep 16 23:16:15 2014 +0200 extcon: sm5502: Drop useless include Don't include <linux/input.h> when the driver does not use anything from this header file. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 4e9c58cb1219bcbcf6e698ed6541b275048bfa88 Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 21 22:52:46 2014 +0200 ALSA: oxygen: set fifo_size Allow the driver to report the hardware FIFO size. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5ae0095d00d48be60b2e3cbdb79a35a7d796d96b Author: Harley Griggs <hgriggs@xxxxxxxxxxxx> Date: Wed Sep 10 19:58:25 2014 +0100 ALSA: virtuoso: add partial Xonar Xense support This patch adds partial support for the Xonar Xense. [trivial coding style fixes by tiwai] Signed-off-by: Harley Griggs <hgriggs@xxxxxxxxxxxx> Acked-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d715523174479455b07a8baffbe63ff13e0695bf Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 15:16:37 2014 +0200 extcon: max77693: Use resource managed interrupt line Use resource managed interrupt line devm_request_threaded_irq() to simplify a little cleanup paths: - no goto to cleanup label, - simpler remove function. Overall the driver size is decreased by 11 line of code. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit bb2e226b3bef596dd56be97df655d857b4603923 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Sep 21 15:04:53 2014 -0700 Revert "percpu: free percpu allocation info for uniprocessor system" This reverts commit 3189eddbcafc ("percpu: free percpu allocation info for uniprocessor system"). The commit causes a hang with a crisv32 image. This may be an architecture problem, but at least for now the revert is necessary to be able to boot a crisv32 image. Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Honggang Li <enjoymindful@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: 3189eddbcafc ("percpu: free percpu allocation info for uniprocessor system") Cc: stable@xxxxxxxxxxxxxxx # Please don't apply 3189eddbcafc commit 6281100ec84016facda2bbbed5be649ff0f82073 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Aug 4 15:54:14 2014 +0900 dt-bindings: extcon: Add support for Richtek RT8973A MUIC device This patch add documentation for binding of Richtek RT8973A (Micro USB Switch) device which is using EXTCON subsystem. The RT8973A device can detect various external accessories when external accessories is attached or detached. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> commit c03e017c4d3d0fb783cbe6b7b9e4f278addcb23a Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Aug 18 09:05:21 2014 +0900 extcon: rt8973a: Add Richtek RT8973A extcon driver This patch add support for Richtek RT8973A which is Micro USB Switch OVP and i2c interface. The RT8973A is a USB port accessory detector and switch that is optimized to protect low voltage system from abnormal high input voltage (up to 28V) and supports high speed USB operation. Also, RT8973A support 'auto-configuration' mode. If auto-configuration mode is enabled, RT8973A would control internal h/w patch for USB D-/D+ switching. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> commit fbae30d8dd35454bd4a55445d1bb51c620f8e646 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Aug 12 10:15:39 2014 +0900 extcon: sm5502: Clean up codes by using checkpatch script This patch just clean up codes by using checkpatch script and fix warning message about if statement. - the result of checkpatch script as following: WARNING: void function return statements are not generally useful + return; +} WARNING: quoted string split across lines + dev_err(info->dev, "failed: irq request (IRQ: %d," + " error :%d)\n", muic_irq->irq, ret); - warning message about coding style. drivers/extcon/extcon-sm5502.c:398 sm5502_muic_cable_handler() warn: we tested 'attached' before and it was 'false' Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit ca2a07e45d1d3d31a0a85d2f63d81a897c610040 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Jul 31 16:32:46 2014 +0900 extcon: sm5502: Move sm5502.h header file to extcon directory This patch move sm5502.h header file from 'include/linux/extcon' to 'driver/extcon' because sm5502.h is used for driver/extcon/extcon-sm5502.c. and remove duplicate license description. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 0746d5d31f61721bf3e4ab84d75fac08d03e2a9a Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Aug 12 13:28:11 2014 +0900 extcon: sm5502: Add I2C dependency to fix build break This patch add I2C configuration dependency to fix following build break. If specific kernel build I2C as module, extcon-sm5502 have to depend on I2C configuration. drivers/built-in.o: In function `regmap_smbus_byte_reg_read': regmap-i2c.c:(.text+0x5030a): undefined reference to `i2c_smbus_read_byte_data' drivers/built-in.o: In function `regmap_smbus_byte_reg_write': regmap-i2c.c:(.text+0x50338): undefined reference to `i2c_smbus_write_byte_data' drivers/built-in.o: In function `regmap_smbus_word_reg_read': regmap-i2c.c:(.text+0x50356): undefined reference to `i2c_smbus_read_word_data' drivers/built-in.o: In function `regmap_smbus_word_reg_write': regmap-i2c.c:(.text+0x50384): undefined reference to `i2c_smbus_write_word_data' drivers/built-in.o: In function `regmap_i2c_read': regmap-i2c.c:(.text+0x503cf): undefined reference to `i2c_transfer' drivers/built-in.o: In function `regmap_i2c_gather_write': regmap-i2c.c:(.text+0x50442): undefined reference to `i2c_transfer' drivers/built-in.o: In function `regmap_i2c_write': regmap-i2c.c:(.text+0x50474): undefined reference to `i2c_master_send' drivers/built-in.o: In function `sm5502_muic_i2c_init': extcon-sm5502.c:(.init.text+0x6630): undefined reference to `i2c_register_driver' Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 0ccc7955acc19e7f4515e51993b7b95cf5a35fdc Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 30 15:39:02 2014 +0900 extcon: sm5502: Fix bug to check cable type This patch fix bug when checking cable type. SM5502 have to use ADC value to get correct cable type. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 42532512ee0eff90076fc7c49391e17b1d51d91b Merge: 6b654af 72ed6cc Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Sep 22 10:07:25 2014 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next Sorry for late. This pull request includes some enhancements for Exynos drm, new feature supports, cleanups and fixups like below, - Consider low power transmission for drm mipi dsi module, and also add non-continuous clock mode support for Exynos mipi dsi driver. - Add Exynos3250 SoC support. - Enhance and clean up ipp framework and fimc driver. - Update to use component match support and fix up de-initialization order. - Remove a direct mmap interface and relevant stuff specific to Exynos drm, use drm generic mmap interface instead. And we will remove the specific interface from userspace library, libdrm soon. - Use universal plane which allows to replace fake primary plane with the real one. - Some code cleanups and fixups. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (40 commits) drm/exynos: switch to universal plane API drm/exynos: use drm generic mmap interface drm/exynos: remove DRM_EXYNOS_GEM_MAP_OFFSET ioctl drm/exynos: factor out initial setting of each driver drm/exynos/hdmi: unregister connector on removal drm/exynos/dp: unregister connector on removal drm/exynos/dpi: unregister connector and panel on removal drm/exynos/dsi: unregister connector on removal drm/exynos/fb: free exynos framebuffer on error drm/exynos/fbdev: fix fbdev gem object cleanup drm/exynos: fix drm driver de-initialization order drm/exynos/ipp: traverse ipp drivers list safely drm/exynos: update to use component match support drm/exynos/ipp: add file checks for ioctls drm/exynos/ipp: remove file argument from node related functions drm/exynos/fimc: fix source buffer registers drm/exynos/fimc: simplify buffer queuing drm/exynos/fimc: do not enable fimc twice drm/exynos/fimc: avoid clearing overflow bits drm/exynos/ipp: remove events during command cleaning ... commit eb500df22c930f5185bcfc66fd501358d45ce071 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Sep 19 13:02:11 2014 -0300 [media] em28xx: Get rid of some unused modprobe parameters at vbi code There are two modprobe parameters for VBI that aren't used anywhere (one for debug, the other one related to the buffer size). Get rid of them! Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e0aa2b28d4b5cdf3d878331bce88d05b303304a0 Author: Morgan Phillips <winter2718@xxxxxxxxx> Date: Mon Sep 8 09:49:47 2014 -0300 [media] sn9c20x: fix checkpatch warning: sizeof cmatrix should be sizeof(cmatrix) Signed-off-by: Morgan Phillips <winter2718@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 312487ccfde9df5e39cd23d1c686b5cce8bab046 Author: Morgan Phillips <winter2718@xxxxxxxxx> Date: Mon Sep 8 09:32:22 2014 -0300 [media] sn9c20x.c: fix checkpatch error: that open brace { should be on the previous line Signed-off-by: Morgan Phillips <winter2718@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1c5eaa23d8fb8bb8c0f4707eeb456a870d7c18c4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Sep 20 10:19:33 2014 -0300 [media] cx23885: fix size helper functions The norm_swidth function was unused and is dropped. It's not clear what the purpose of that function was. The norm_maxh function was changed so it tests for 60 Hz standards rather than for 50 Hz standards. The is the preferred order. The norm_maxw function was poorly written and used: it gives the maximum allowed line width for the given standard. For 60 Hz that's 720, but for 50 Hz that's 768 which allows for 768x576 which gives you square pixels. For 60 Hz formats it is 640x480 that gives square pixels, so there is no need to go beyond 720. The initial width was set using norm_maxh(), which was wrong. Just set to 720, that's what you normally use. Since the initial standard was NTSC anyway the initial width was always 720 anyway. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 420b21761986dc16521e72951b9fc6e5d0a515df Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Sep 20 10:19:32 2014 -0300 [media] cx23885: fix VBI support Tested VBI support and discovered that the wrong offset was used. After this change it is now working. Verified with CC/XDS for NTSC and WSS/Teletext on PAL. It also reported the wrong start lines for the second field. That's now fixed as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f8789e6d9c824aeaeeb5b44b926dc8e960487cfe Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Sep 20 07:36:39 2014 -0300 [media] adv7604/adv7842: fix il_vbackporch typo and zero the struct Both adv7604 and adv7842 had the same typo in the code that sets the vertical backporch for the second interlaced field: it was assigned to vbackporch instead of il_vbackporch. In addition, the timings struct wasn't zeroed in the adv7842 driver, leaving several fields to undefined values causing the timing match function to fail. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c166845c9c452e9639a2e8b44581ce95942e89a5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Sep 20 07:36:38 2014 -0300 [media] v4l2-dv-timings: only check standards if non-zero If one or both of the timings being compared have the standards field with value 0, then accept that. Only check for matching standards if both timings have actually filled in that field. Otherwise no match will ever be found since when timings are detected the standards field will typically be set to 0 by the driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 62f28725a8dc5c16d3d63606f046899ae41fcf4a Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Sep 20 06:11:44 2014 -0300 [media] vivid: add teletext support to VBI capture This is useful to test teletext capture applications like alevt and mtt. It also fixes a previously undetected bug where the PAL VBI start line of the second field was off by one. Using the new field start defines helps a lot fixing such bugs. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 625c3442dcc79722c60afc398beac4c11f0395ac Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Sep 13 06:28:02 2014 -0300 [media] DocBook media: fix wrong prototype G_EDID is an RW ioctl, so the struct v4l2_edid isn't const. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e93e7fd9f5a3fffec7792dbcc4c3574653effda7 Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Date: Tue Sep 9 04:42:43 2014 -0300 [media] v4l2: uvcvideo: Allow using larger buffers A test in uvc_video_decode_isoc() checks whether an image has been received from the camera completely. For this the data amount is compared to the buffer length, which, however, doesn't have to be equal to the image size. Switch to using formats .sizeimage field for an exact expected image size. [Renamed image_size to frame_size] Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 720b055d4b2ac8a73118019e1a01d8e6c8f63332 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Sep 21 20:35:05 2014 -0300 [media] hackrf: Fix a long constant drivers/media/usb/hackrf/hackrf.c:64:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] .rangehigh = 4294967294, /* max u32, hw goes over 7GHz */ ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e5ab1477bc4d213c602cb7427b6594db35d5c4c4 Author: Antti Palosaari <crope@xxxxxx> Date: Wed Sep 10 04:20:15 2014 -0300 [media] MAINTAINERS: add HackRF SDR driver HackRF SDR driver. Video4Linux USB device. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 969ec1f6bd925092109eaf21501a9d64adfc7ad4 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 23 04:40:01 2014 -0300 [media] hackrf: HackRF SDR driver V4L2 driver for HackRF SDR. Very basic version, with reduced feature set. Driver implements receiver only, hardware supports also transmitter. USB ID 1d50:6089. Model HackRF One Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 22889ef8162b86c25b6c609624a9c53f9fd7f642 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jul 21 19:36:58 2014 -0300 [media] v4l: Fix ARGB32 fourcc value in the documentation The ARGB32 pixel format's fourcc value is defined to 'BA24' in the videodev2.h header, but documented as 'AX24'. Fix the documentation. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fcc0d3db28922f9ba21ea6c7b23ea10ffb5d3521 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jul 21 17:06:33 2014 -0300 [media] v4l: Add ARGB555X and XRGB555X pixel formats The existing RGB555X pixel format is ill-defined in respect to its alpha bit and its meaning is driver dependent. Create new standard ARGB555X and XRGB555X variants with clearly defined meanings and make the existing variant deprecated. The new pixel formats 4CC values have been selected to match the DRM 4CCs for the same in-memory formats. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit de8eae36057b50086278af1ec4d96fc9a2e35f0b Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Jul 17 08:52:08 2014 -0300 [media] media: Use strlcpy instead of custom code Replace strncpy + manually setting the terminating '\0' with an strlcpy call. Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 62ea864f84fed6e04dd033d500d4c9183a83d590 Author: Paul Fertser <fercerpav@xxxxxxxxx> Date: Sun Jun 8 12:16:48 2014 -0300 [media] media: usb: uvc: add a quirk for Dell XPS M1330 webcam As reported on [1], this device needs this quirk to be able to reliably initialise the webcam. [1] http://ubuntuforums.org/showthread.php?t=2145996 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paul Fertser <fercerpav@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 17e1319fd051f6f1d8b923ca3104c3391610ab32 Author: William Manley <will@xxxxxxxxxxxxxxxxx> Date: Thu Mar 13 09:38:48 2014 -0300 [media] uvcvideo: Work around buggy Logitech C920 firmware The uvcvideo webcam driver exposes the v4l2 control "Exposure (Absolute)" which allows the user to control the exposure time of the webcam, essentially controlling the brightness of the received image. By default the webcam automatically adjusts the exposure time automatically but the if you set the control "Exposure, Auto"="Manual Mode" the user can fix the exposure time. Unfortunately it seems that the Logitech C920 has a firmware bug where it will forget that it's in manual mode temporarily during initialisation. This means that the camera doesn't respect the exposure time that the user requested if they request it before starting to stream video. They end up with a video stream which is either too bright or too dark and must reset the controls after video starts streaming. This patch introduces the quirk UVC_QUIRK_RESTORE_CTRLS_ON_INIT which causes the cached controls to be re-uploaded to the camera immediately after initialising the camera. This quirk is applied to the C920 to work around this camera bug. Signed-off-by: William Manley <will@xxxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3ea375239ca06014b8b421ab1d73d6628d22036f Author: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Date: Wed Sep 3 21:47:48 2014 -0300 [media] v4l: uvcvideo: Add support for pan/tilt speed controls Map V4L2_CID_TILT_SPEED and V4L2_CID_PAN_SPEED to the standard UVC CT_PANTILT_RELATIVE_CONTROL terminal control request. Tested by plugging a Logitech ConferenceCam C3000e USB camera and controlling pan/tilt from the userspace using the VIDIOC_S_CTRL ioctl. Verified that it can pan and tilt at the same time in both directions. Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Reviewed-by: Pawel Osciak <posciak@xxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e3d6eb1c16ef174a8fbbdd40770f5cbace0710e4 Author: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Date: Wed Sep 3 16:38:39 2014 -0300 [media] v4l: Add camera pan/tilt speed controls The V4L2_CID_PAN_SPEED and V4L2_CID_TILT_SPEED controls allow to move the camera by setting its rotation speed around its axis. Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Reviewed-by: Pawel Osciak <posciak@xxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7000e325de875fa8a5dd3885c8e8f0f12cf71eaf Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Aug 16 17:33:18 2014 -0300 [media] media: davinci: remove unneeded dependency ARCH_OMAP3 this patch removes unneeded dependency of ARCH_OMAP3 on VIDEO_DM6446_CCDC. Also the top level platform Makefile descended into davinci/ without any dependency so just drop the dependency obj-y, as obj-$(CONFIG_ARCH_DAVINCI) already exists. Reported-by: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c54d4a0b08bc4deddd3919d64f4121eaa487e28e Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Sep 6 12:26:51 2014 -0300 [media] media: davinci: vpif_capture: fix the check on suspend/resume callbacks It is possible to call STREAMON without having any buffers queued. So vb2_is_streaming() can return true without start_streaming() having been called. Only after at least one buffer has been queued will start_streaming be called. The check vb2_is_streaming() is incorrect as this would start the DMA without having proper DMA pointers set up. this patch uses vb2_start_streaming_called() instead to check is streaming was called. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 815789244eda0b3be11fb1824354ca20c8ec3508 Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Sep 6 12:26:50 2014 -0300 [media] media: davinci: vpif_display: fix the check on suspend/resume callbacks It is possible to call STREAMON without having any buffers queued. So vb2_is_streaming() can return true without start_streaming() having been called. Only after at least one buffer has been queued will start_streaming be called. The check vb2_is_streaming() is incorrect as this would start the DMA without having proper DMA pointers set up. this patch uses vb2_start_streaming_called() instead to check is streaming was called. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ead130335f35fb732921ee0ffde6639be35aa108 Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Sep 6 12:26:49 2014 -0300 [media] media: videobuf2-core.h: add a helper to get status of start_streaming() this patch adds a helper to get the status if start_streaming() was called successfully. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Cc: Pawel Osciak <pawel@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3b8a269b7dd64cab4645f95daf3e470e72adfed8 Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Sep 6 12:26:48 2014 -0300 [media] media: davinci: vpif_capture: drop setting of vb2 buffer state to ACTIVE this patch drops setting of vb2 buffer state to VB2_BUF_STATE_ACTIVE, as any buffer queued to the driver is marked ACTIVE by the vb2 core. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 55d3b439acad5c9faf34765f8391a13d153a1e81 Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Sep 6 12:26:47 2014 -0300 [media] media: davinci: vpif_display: drop setting of vb2 buffer state to ACTIVE this patch drops setting of vb2 buffer state to VB2_BUF_STATE_ACTIVE, as any buffer queued to the driver is marked ACTIVE by the vb2 core. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b7900eedfb393dcea9794fbb6d57e4d43338a16b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Aug 31 07:19:21 2014 -0300 [media] videobuf: Allow reqbufs(0) to free current buffers All the infrastructure for this is already there, and despite our desires for the old videobuf code to go away, it is currently still in use in 18 drivers. Allowing reqbufs(0) makes these drivers behave consistent with modern drivers, making live easier for userspace, see e.g. : https://bugzilla.gnome.org/show_bug.cgi?id=735660 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 12561ad622de254d69ec1baaf6734afc602a2c30 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Aug 25 08:57:59 2014 -0300 [media] videobuf2-core: take mmap_sem before calling __qbuf_userptr (Changes since v2: dropped local variable as suggested by Laurent) Commit f035eb4e976ef5a059e30bc91cfd310ff030a7d3 (videobuf2: fix lockdep warning) unfortunately removed the mmap_sem lock that is needed around the call to __qbuf_userptr. Amazingly nobody noticed this (especially me as the author) until Jan Kara pointed this out to me. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Reported-by: Jan Kara <jack@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 825fd08dbbd830b3f42e0f014f4c9f6eba5c434c Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 13:45:17 2014 -0300 [media] drivers: media: i2c: adv7343_regs.h: Fix typo in #ifndef Test for definedness of the macro which is actually defined, and which matches the name of the file. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 69486eb00b3e89735dddb48c8b93ac28458a9c80 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 13:41:56 2014 -0300 [media] drivers: media: b2c2: flexcop.h: Fix typo in include guard Three trailing underscores is one too many. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 18cb65033832df8d33aa3a9c9c3e32016fc09cf5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 16 03:57:30 2014 -0300 [media] tvp7002: Don't update device->streaming if write to register fails This ensures device->streaming has correct status. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a0ffe4c0908b27b35ce56d35ba6f3c10be3fd371 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 15 13:21:15 2014 -0300 [media] radio-si470x-usb: use USB API functions rather than constants This patch introduces the use of the function usb_endpoint_is_int_in. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_INT\|3\)) + usb_endpoint_xfer_int(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_xfer_int(epd) && usb_endpoint_dir_in(epd)) + usb_endpoint_is_int_in(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3b60b761cbec21af35f08d9220023c1f93b0df2c Author: Antti Palosaari <crope@xxxxxx> Date: Mon Aug 4 01:00:46 2014 -0300 [media] tda18212: convert to RegMap API Use RegMap API to handle all the boring I2C register access boilerplate stuff. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e4a42e1866edf68c7ddfc42b07676238af49f4df Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 23:40:23 2014 -0300 [media] tda18212: rename state from 'priv' to 'dev' foo_dev seems to be most correct term for the structure holding data of each device instance. It is most used term in Kernel codebase and also examples from book Linux Device Drivers, Third Edition, uses it. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bdb32655f2fa5055cad1145dac17b76243d20a02 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 23:26:27 2014 -0300 [media] tda18212: clean logging There is no need to print module name nor function name as those are done by kernel logging system when dev_xxx logging is used and driver is proper I2C driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0e584cc29567f9ad248420f9cbd35c0ae3b5e821 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 23:05:31 2014 -0300 [media] tda18212: convert driver to I2C binding Convert driver from DVB proprietary model to common I2C model. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d1ac5540455c3a2a11e943e19e2dc044cebe147d Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Sep 22 00:02:01 2014 +0100 KEYS: Check hex2bin()'s return when generating an asymmetric key ID As it stands, the code to generate an asymmetric key ID prechecks the hex string it is given whilst determining the length, before it allocates the buffer for hex2bin() to translate into - which mean that checking the result of hex2bin() is redundant. Unfortunately, hex2bin() is marked as __must_check, which means that the following warning may be generated if the return value isn't checked: crypto/asymmetric_keys/asymmetric_type.c: In function asymmetric_key_hex_to_key_id: crypto/asymmetric_keys/asymmetric_type.c:110: warning: ignoring return value of hex2bin, declared with attribute warn_unused_result The warning can't be avoided by casting the result to void. Instead, use strlen() to check the length of the string and ignore the fact that the string might not be entirely valid hex until after the allocation has been done - in which case we can use the result of hex2bin() for this. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit ac7a24fb7560217381d996aae68eda57bbce462a Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 22:35:03 2014 -0300 [media] em28xx: convert tda18212 tuner to I2C client Used tda18212 tuner is implemented as a I2C driver. Use em28xx tuner I2C client for tda18212 driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f80f2ae2135966dcd21020dcdca066d3fe5f06df Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 21:47:10 2014 -0300 [media] anysee: convert tda18212 tuner to I2C client Used tda18212 tuner is implemented as I2C driver. Implement I2C client to anysee and use it for tda18212. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3ab779c0399276c82a6a64610e7c9c4d5bb267f2 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 22:43:26 2014 -0300 [media] tda18212: prepare for I2C client conversion We need carry pointer to frontend via config struct (I2C platform_data ptr) when I2C model is used. Add that pointer first in order to keep build unbreakable during conversion. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2db4d179e16d0fcc1ece25798a8e140fa4f9c18a Author: Antti Palosaari <crope@xxxxxx> Date: Sat Sep 6 11:24:14 2014 -0300 [media] af9033: init DVBv5 statistics We need to init supported stats here in order signal app which stats are supported. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d4d6a34d36b1e72d0c5cf470a41fc7bc79acd73f Author: Antti Palosaari <crope@xxxxxx> Date: Thu Sep 4 18:35:59 2014 -0300 [media] af9035: remove I2C client differently It crash kernel when device was removed while it was streaming. That is because we removed driver and frontend thread was still running. Use new callback which allows I2C driver removal just after frontend is unregistered. V2: fixed by reported by Daniel Reported-by: Daniel Glöckner <daniel-gl@xxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1066d77f682e84efb56fbd4e5c8bb236532eccc7 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Sep 4 18:31:40 2014 -0300 [media] dvb-usb-v2: add tuner_detach callback Add tuner_detach callback in order to allow custom detach. It is needed when tuner driver is implemented I2C client or some other kernel bus, but not proprietary dvb_attach / dvb_detach. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ca42129f867fbc427d709408b3ae35988cc08ed4 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Sep 4 17:04:44 2014 -0300 [media] dvb-usb-v2: add frontend_detach callback Add frontend_detach callback in order to allow custom detach. It is needed when demod driver is implemented I2C client or some other kernel bus, but not proprietary dvb_attach / dvb_detach. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ef2fb46b6d7ed9df5906a3c76c9c4673355cd339 Author: Antti Palosaari <crope@xxxxxx> Date: Wed Sep 3 23:30:44 2014 -0300 [media] af9033: remove all DVBv3 stat calculation logic Statistics are now calculated for DVBv5 and those DVBv5 values are returned for legacy DVBv3 calls also. So we could remove all old statistics calculation logic. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e53c47445bb585f864dd861393691b1346f6ec80 Author: Antti Palosaari <crope@xxxxxx> Date: Wed Sep 3 23:22:53 2014 -0300 [media] af9033: wrap DVBv3 BER to DVBv5 BER DVBv5 BER is calculated anyway, so just return it for legacy read_ber() API too. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1d0ceae4a19d318b443277ea6ac891a2e6e8fdc3 Author: Antti Palosaari <crope@xxxxxx> Date: Wed Sep 3 23:07:39 2014 -0300 [media] af9033: wrap DVBv3 UCB to DVBv5 UCB stats Remove 'duplicate' DVBv3 read UCB implementation and return value, calculated already for DVBv5 statistics. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6bb096c92671cad4a8cfcb8bf2a5309a9033faee Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 2 08:29:46 2014 -0300 [media] af9033: implement DVBv5 post-Viterbi BER Implement following DTV API commands: DTV_STAT_POST_ERROR_BIT_COUNT DTV_STAT_POST_TOTAL_BIT_COUNT These will provide post-Viterbi bit error rate reporting. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 204f4319289fcd45ae2d059a4cfc200c7754b050 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 2 08:01:10 2014 -0300 [media] af9033: implement DVBv5 stat block counters Implement following API commands: DTV_STAT_ERROR_BLOCK_COUNT DTV_STAT_TOTAL_BLOCK_COUNT These returns total and uncorrected error packets from outer FEC. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6b45778609dbe4e7d03abe9482a1a5621e2a3e64 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 2 05:03:21 2014 -0300 [media] af9033: wrap DVBv3 read SNR to DVBv5 CNR Remove 'duplicate' DVBv3 read SNR implementation and return value, calculated already by DVBv5 CNR, from the cache. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3e41313aeadfc5e3b3f827519f3840bca1b98f6d Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 2 04:24:41 2014 -0300 [media] af9033: implement DVBv5 statistics for CNR Return CNR via DVBv5 statistics API. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 83f1161911c5f32dc4cfa817a73ae028d32c43b7 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 2 03:55:21 2014 -0300 [media] af9033: implement DVBv5 statistics for signal strength Let the demod firmware estimate RF signal strength and return it to the app as a dBm. To handle that, use thread which reads signal strengths from firmware in 2 sec intervals when device is active. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 249c697e5e2c8e1347d79be0a9c93a985f2ad12e Author: Antti Palosaari <crope@xxxxxx> Date: Mon Sep 1 19:44:59 2014 -0300 [media] MAINTAINERS: IT913X driver filenames I removed tuner_ prefix from the driver file names. Update maintainers entry according to that. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5c114a4f88e0998aac77e7b22f992bcd4104334c Author: Antti Palosaari <crope@xxxxxx> Date: Mon Sep 1 00:38:01 2014 -0300 [media] af9035: replace PCTV device model numbers with name Use device names for recent PCTV Systems devices: PCTV AndroiDTV (78e) PCTV microStick (79e) Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a781edd16c9da9c3cd9ceea36c780895b87417d2 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 22:57:26 2014 -0300 [media] af9033: remove I2C addr from config I2C driver address is passed as a i2c_new_device() parameter when device is created. Thus no need to keep it in config struct. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ee36381ee8cec66ff976ad2c91e85dbee4a02859 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 22:17:12 2014 -0300 [media] af9035: few small I2C master xfer changes Biggest problem of that function is complexity. Try reduce complexity: * define macros to detect all 3 supported xfers * remove duplicate message maximum size checks Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6a087f1f6bb731719ff7b8e20a3ec6a8613fff12 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 21:08:09 2014 -0300 [media] af9033: clean up logging It uses I2C client so logging system prints module name automatically. Function name is also added automatically, if it is requested from dynamic debug by setting proper format. Because of that, we could simplify logging in our driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5b00a767006e47f9c32099f0797068a7a3e4c5c Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 20:57:05 2014 -0300 [media] af9033: convert to I2C client Convert driver to kernel I2C model. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 09611caad158f868993261c7d9277a9a331f8ea3 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 02:18:34 2014 -0300 [media] af9033: rename 'state' to 'dev' foo_dev seems to be most correct term for the structure holding data of each device instance. It is most used term in Kernel codebase and also examples from book Linux Device Drivers, Third Edition, uses it. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ef5211fd59ac28e9728bcf5c02207207fb8a74b5 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 02:03:05 2014 -0300 [media] af9033: fix firmware version logging AF9030 and IT9130 series has different memory location for firmware version. Choose correct location according to chip type. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5190ff3e3e6ec55ecda805e68c4746aec8c1203c Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 00:29:33 2014 -0300 [media] it913x: replace udelay polling with jiffies udelay based I/O polling loop is a bad idea, especially system performance point of view. Kernel jiffies are preferred solution for such situations. Use it instead. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 17027b9620e6a2ea1d7f3cd0761803c44c65e2ed Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 30 23:52:48 2014 -0300 [media] it913x: refactor code largely Refactor code largely. Try to keep order of register read/write same as windows driver does as it makes comparing sniffs easier. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3d2f18d34692a413fcd75f5e83fc1dcb7afac13c Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 28 02:07:08 2014 -0300 [media] it913x: get rid of script loader and and private header file Used script loader is quite useless and hides register numbers making code hard to understand. Get rid of it and use standard RegMap register write functions directly. it913x_priv.h file leaves empty after that change and is also removed. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b7413c800fa7566696f1209207a90d014f548dac Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 28 01:45:52 2014 -0300 [media] it913x: remove dead code Remove unused tuner set template. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 676c350f97366f648dbe7f7f8202a695d946f764 Author: Antti Palosaari <crope@xxxxxx> Date: Wed Aug 27 03:59:27 2014 -0300 [media] it913x: re-implement sleep Re-implement sleep. Based USB sniffs taken from the latest Hauppauge windows driver version 07/10/2014, 14.6.23.32191. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d2dbc00cea35081b9f998a0985d151f60ce37835 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Aug 26 21:45:33 2014 -0300 [media] it913x: convert to RegMap API Use RegMap API to cover I2C register access routines. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a71b65e8c545f5a72c1c227eae8a6df1d68f3f24 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Aug 26 20:11:08 2014 -0300 [media] it913x: rename 'state' to 'dev' foo_dev seems to be most correct term for the structure holding data of each device instance. It is most used term in Kernel and also examples from book Linux Device Drivers, Third Edition, uses it. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8da55c94dd85474a9925bd07a73959ae77a5aa6d Author: Antti Palosaari <crope@xxxxxx> Date: Tue Aug 26 18:56:46 2014 -0300 [media] it913x: change reg read/write routines more common Change register write and read routines to similar which are typically used. We have to add processor core as a part of register address in order to simplify register access. Chip has two cores, called link and ofdm. As for now, use address bit 24 to address used core. Bits 15:0 are register address in given core. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3b2a5e8c080da37be6135f44d236fe6b796666d9 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Aug 26 17:14:16 2014 -0300 [media] it913x: convert to I2C driver Change the it913x driver to use the I2C high lever tuner binding model. As af9035 depends on it, add a code there to do the binding. [mchehab@xxxxxxxxxxxxxxx: Merge 3 patches into one, because we don't want to break bisect due to the conversion] Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c2ba9726c342d113bdc36cfd8e984e30498037c6 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Aug 26 00:08:16 2014 -0300 [media] it913x: rename tuner_it913x => it913x Remove tuner_ prefix from module name and file names. Prefix was added due to file name conflict on media out-tree build system. Demodulator having same name does not exists anymore. So lets remove dumb prefix. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d11132411538761ca79ecded63cd16621b6c40ee Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 15:02:14 2014 -0300 [media] it913x: make checkpatch.pl happy Correct issues reported by checkpatch.pl Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 24e419a0f383e626092eb3c13097b691d2923735 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 14:59:53 2014 -0300 [media] af9033: make checkpatch.pl happy Correct issues reported by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c10989a2a86aa8f6eff9115f67bab55304e2dd0d Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 14:49:46 2014 -0300 [media] af9035: make checkpatch.pl happy Correct issues reported by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b619ff7ab484ace964b97dacc7e6c78c0e6228aa Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 14:16:29 2014 -0300 [media] af9035: remove AVerMedia eeprom override Reverts commit 3ab25123373270152a9fae98e3c48ef1b2a878c0 [media] af9035: override tuner for AVerMedia A835B devices Original commit itself is correct, but it was replaced by more general solution (commit 1cbbf90d0406913ad4b44194b07f4f41bde84e54). This old solution was committed by a accident and is not needed anymore. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9e0a976ed60345d53e8d421cb0a39202ce8487fe Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 13:39:16 2014 -0300 [media] it913x: fix IT9135 AX sleep Old IT9135 AX needs a little bit different register settings for sleep than newer IT9135 BX. This has been broken always, as power management of the whole driver, but it started to be problem as I fixed clock. Earlier clock was disabled very first on sleep and rest of the commands were skipped by the chip as no clock, leaving tuner full power state. When I fixed clocks these PM bugs started raising out as I/O errors. Cc: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 66f6319936344279466bd09f9788e888e03c99a0 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 12:35:00 2014 -0300 [media] it913x: avoid division by zero on error case Error on init leaves some internal divisor zero, which causes oops later. Fix it by populating divisors even it fails. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f69429447ac11edfcbedd11cff62917831141e35 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 00:15:05 2014 -0300 [media] it913x: fix tuner sleep power leak IT913x tuner driver disables own clock, provided by demod core, as very a first operation when tuner is put on *sleep*. That likely causes failure of all the rest commands on sleep sequence, which leads situation where tuner is not actually on sleep, but consuming a lot of power. I measured 102mA current consumption from the USB before change and after change it was only 32mA. Used device was single tuner IT9135 BX. Second reason to remove that register from tuner driver is reason it is simply on wrong driver (demod vs. tuner), breaking the principle of correct driver. Clock is now provided more correctly af9033 demod driver as a config option. Cc: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 15ba8202e6f9417abd1d6831aca4237407e0ff0b Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 00:08:57 2014 -0300 [media] af9035: enable AF9033 demod clock source for IT9135 Integrated RF tuner of IT9135 is connected to demod clock source named dyn0_clk. Enable that clock source in order to provide stable clock early enough. Cc: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ca681fe0bc9358516c159a35e54069b1a43f25b2 Author: Antti Palosaari <crope@xxxxxx> Date: Fri Aug 8 23:56:49 2014 -0300 [media] af9033: provide dyn0_clk clock source AF903x/IT913x demod provides clock source(s). It seems that this clock source is used for integrated RF tuner of IT913x. It is enabled by default, but firmware disables it automatically when suspend is requested (suspend_flag (0x004c) + trigger_ofsm (0x0000)). Automatic disable behavior seems to be similar for both AF903x and IT913x I tested, though there is no likely any real clock user in a case of AF903x. Cc: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7c5e3e5f017d3fced9211747bed423c6bcda7f7c Author: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Date: Fri Aug 1 06:19:58 2014 -0300 [media] get_dvb_firmware: Update firmware of ITEtech IT9135 IT9135 firmware update. Signed-off-by: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c0aaf696d45e2a72048a56441e81dad78659c698 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 19 08:32:30 2014 -0300 [media] coda: coda-bit: Include "<linux/slab.h>" coda-bit uses kmalloc/kfree functions, so the slab header needs to be included in order to fix the following build errors: drivers/media/platform/coda/coda-bit.c: In function 'coda_fill_bitstream': drivers/media/platform/coda/coda-bit.c:231:4: error: implicit declaration of function 'kmalloc' [-Werror=implicit-function-declaration] drivers/media/platform/coda/coda-bit.c: In function 'coda_alloc_framebuffers': drivers/media/platform/coda/coda-bit.c:312:3: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration] Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 976bcb2f6f9c9fb11f0aad7b7c87953e9c3f0116 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Jul 31 16:35:56 2014 -0300 [media] tda18212: add support for slave chip version There is 2 different versions of that chip available, master and slave. Slave is used only on dual tuner devices with master tuner. Laser printing top of chip is 18212/M or 18212/S according to chip version. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8e417224dfb397633601a04214841df12cd470b0 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 25 15:07:04 2014 -0300 [media] si2168: avoid firmware loading if it has been loaded previously Add a variable to keep track if firmware is loaded or not and skip parts of the initialization if fw is already loaded. Resume from sleep with a different command compared to initial power up and run command 85 after resume command. This behaviour is observed when using manufacturer provided binary-only si2168 driver for TechnoTrend CT2-4400. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4cbf6ed910c88d7f6c15304f9a5a3ed86290dc06 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 25 15:07:03 2014 -0300 [media] si2157: avoid firmware loading if it has been loaded previously Add a variable into state to keep track if firmware has been loaded or not. Skip firmware loading in case it is already loaded (resume from sleep). Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0e38233d329e463a64146080c008d8044651bd3f Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 25 15:07:02 2014 -0300 [media] si2157: change command for sleep Instead of sending command 13 to the tuner, send command 16 when sleeping. This behaviour is observed when using manufacturer provided binary-only Linux driver for TechnoTrend CT2-4400 (Windows driver does not do power management). The issue with command 13 is that firmware loading is necessary after that. This is not an issue with tuners that do not require firmware, but starting streaming after sleep on an Si2158 takes noticeable time as firmware is loaded on resume. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d4d2050006bfb0c4af41288143424d3b0b9b325e Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:57:54 2014 -0300 [media] rtl2832_sdr: logging changes Remove function name from debug logs. Logging system could add it automatically. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b538a8e85b2b2fbb954da2b9189eaf18cf9098bf Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:44:13 2014 -0300 [media] rtl2832_sdr: enhance sample rate debug calculation precision Sample rate calculation gives a little bit too large results because in real life there was around one milliseconds (~one usb packet) too much data for given time. Calculate time more accurate in order to provide better results. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit abfc8d66d72ba183eb3b5d344fd1ec17233db8bb Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:37:57 2014 -0300 [media] rtl2832_sdr: remove unneeded spinlock irq flags initialization There is no need to init flags before calling spin_lock_irqsave(). spin_lock_irqsave is macro which stores value to 'flags' Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 13bd82d18ec29c7c81f2d42816f5a14095977c9e Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:35:48 2014 -0300 [media] e4000: logging changes Remove function name from debug logs. Logging system could add it automatically. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b63ab6b064f73721568a46080d41422ea223ee6e Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:26:23 2014 -0300 [media] msi2500: remove unneeded spinlock irq flags initialization There is no need to init flags before calling spin_lock_irqsave(). spin_lock_irqsave is macro which stores value to 'flags'. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5fa51cc36ac14e0a2a6fd4f9037bf4372066e894 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:12:13 2014 -0300 [media] msi001: logging changes Remove function name from debug logs. Logging system could add it automatically. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 100b7931f4c300fd6c278d890a92b9668feaf44d Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 22:54:06 2014 -0300 [media] msi2500: logging changes Kernel logging system needs pointer to usb interface device in order to print names and bus numbers properly. There was wrong device pointer given and log printings wasn't correct. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b8843c7979fc8ea54efeaef8e9d524c33c42f099 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 20:11:27 2014 -0300 [media] airspy: enhance sample rate debug calculation precision Sample rate calculation gives a little bit too large results because in real life there was around one milliseconds (~one usb packet) too much data for given time. Calculate time more accurate in order to provide better results. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8880f2cbdb0a981ea8e6a5ce2915abac26120523 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 19:27:43 2014 -0300 [media] airspy: remove unneeded spinlock irq flags initialization There is no need to init flags before calling spin_lock_irqsave(). spin_lock_irqsave is a macro which stores value to 'flags'. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 617123ae383e66b3a2c5f57155b49af5bb4327db Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 19:14:32 2014 -0300 [media] airspy: logging changes Kernel logging system needs pointer to usb interface device in order to print names and bus numbers properly. There was wrong device pointer given and log printings wasn't correct. Remove some debug logging from v4l2 ioctl functions. v4l2 core debug prints almost same information when enabled. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7057005db6482516099e7b48b3bebaf9a3f213cb Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 18:31:52 2014 -0300 [media] airspy: coding style issues Fix issues reported by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6b831d78477c9bbfbcb4cb60af13e13bd2c7467e Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 21:59:36 2014 -0300 [media] airspy: fix error handling on start streaming Free all reserved USB buffers and URBs on failure. Return all queued buffers to vb2 with state queued on error case. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3cf0c6bd68915aee3b5827b960e485de201e42c1 Merge: f5281fc c1f03b4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Sep 21 16:40:04 2014 -0300 Merge remote-tracking branch 'linus/master' into patchwork There are some patches that depends on media-v3.16-rc6. So, merge back from upstream before applying them. * linus/master: (1123 commits) drm/nouveau: ltc/gf100-: fix cbc issues on certain boards drm/bochs: add missing drm_connector_register call drm/cirrus: add missing drm_connector_register call staging: vt6655: buffer overflow in ioctl USB: storage: Add quirks for Entrega/Xircom USB to SCSI converters USB: storage: Add quirk for Ariston Technologies iConnect USB to SCSI adapter USB: storage: Add quirk for Adaptec USBConnect 2000 USB-to-SCSI Adapter USB: EHCI: unlink QHs even after the controller has stopped [SCSI] fix for bidi use after free [SCSI] fix regression that accidentally disabled block-based tcq [SCSI] libiscsi: fix potential buffer overrun in __iscsi_conn_send_pdu drm/radeon: Fix typo 'addr' -> 'entry' in rs400_gart_set_page drm/nouveau/runpm: fix module unload drm/radeon/px: fix module unload vgaswitcheroo: add vga_switcheroo_fini_domain_pm_ops drm/radeon: don't reset dma on r6xx-evergreen init drm/radeon: don't reset sdma on CIK init drm/radeon: don't reset dma on NI/SI init drm/radeon/dpm: fix resume on mullins drm/radeon: Disable HDP flush before every CS again for < r600 ... commit 48849a4150e353656dc5d207f2a56ebd00484ce6 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Tue Sep 9 10:58:49 2014 +0300 iwlwifi: mvm: Refactor and fix max probe len computation Move iwl_mvm_max_scan_ie_len function to scan.c and fix the implementation to conform with the LMAC scan API. Since the correct implementation would leave us with unacceptably tiny probes, add a workaround which returns a larger value. In current implementation it's possible that unified_scan_lmac and unified_sched_scan_lmac would return -ENOBUFS. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9b60bb6d86496af1adc753795de2c12c4499868a Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Sep 21 12:45:34 2014 +0300 iwlwifi: mvm: disable BT Co-running by default The tables still contain dummy values. Cc: <stable@xxxxxxxxxxxxxxx> [3.15+] Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5466112f0935f079e225514905c57d5e5285a9b6 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Sep 18 17:03:46 2014 -0400 pnfs/blocklayout: Fix a 64-bit division/remainder issue in bl_map_stripe kbuild test robot reports: fs/built-in.o: In function `bl_map_stripe': >> :(.text+0x965b4): undefined reference to `__aeabi_uldivmod' >> :(.text+0x965cc): undefined reference to `__aeabi_uldivmod' >> :(.text+0x96604): undefined reference to `__aeabi_uldivmod' Fixes: 5c83746a0cf2 (pnfs/blocklayout: in-kernel GETDEVICEINFO XDR parsing) Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit efed66407d465549e0457b2c1f5419503edfb79b Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Sep 14 15:58:53 2014 +0300 iwlwifi: mvm: rs: fix logic in case of multiple TIDs In case of traffic on multiple TIDs where one is aggregated and the other is not RS would toggle between considering traffic vs. the station as aggregated and not aggregated. Instead consider the sta state as aggregated as long as there's at least one TID aggregated. This limitation is because the rates table is kept per station and not per TID. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a7130442b03e095f3a86efac799fbf0374a5adb9 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Sep 14 15:28:09 2014 +0300 iwlwifi: mvm: report all BA notifs to RS Currently BA notifications which don't reclaim any frames would not cause the RS to be called as no skbs are passed to mac80211. This is not optimal as RS can benefit from the statistics of sent vs. acked of such a BA. This can improve the reaction time of the RS algorithm. Also, an upcoming change in the firmware would cause BA timeout to be reported as a BA notif with 0 acked so this change is required for that as well. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2bf6508133c606ff3acd9a65a5175feaeb7a5e30 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Thu Sep 18 17:22:58 2014 +0300 iwlwifi: 8000: fix fw name to account for revision The 8000 HW series also includes the revision in the FW name. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1fc0e22138406ac0e8451f7203dfbfd74fa5cfba Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Wed Sep 17 13:28:50 2014 +0300 iwlwifi: pcie: fix HW_REV saving for 8000 series Align the trans->hw_rev variable format with previous series format. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4f08970f5284dce486f0e2290834aefb2a262189 Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Wed Sep 17 10:31:56 2014 +0300 iwlwifi: Add missing PCI IDs for the 7260 series Add 4 missing PCI IDs for the 7260 series. Cc: <stable@xxxxxxxxxxxxxxx> [3.10+] Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ddfc1593737f36a04ec5e23e9cb0c6b2bad3f3a6 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Sep 14 16:40:38 2014 +0300 iwlwifi: mvm: limit aggregation size in low latency to 6 This is a tradeoff between enabling better throughput for bursty traffic and low latency. The number 6 was found to be a good tradeoff for the Miracast use case which is the major use case for low latency. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1ebc8f2ef83d182941e741af4b59dc904f12853c Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Sep 14 15:23:23 2014 +0300 iwlwifi: mvm: rs: refactor to allow direct rs updating Enable RS to get updated directly via iwl_mvm_rs_tx_status which will be called by the driver and not via mac80211 rate control. This is required for a following patch to report on BAs which do not cause the BA window to progress. Also this is a first step in decoupling rs from the mac80211 rate control. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 361dbec8acffe0201486f1750353a26d21cfff32 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Wed Aug 13 00:31:13 2014 +0300 iwlwifi: mvm: choose an initial tx rate based on rssi conditions Improve the initial tx rate and antenna selection to be based on the rssi of the last rx. This avoids starting at the lowest legacy rate always and requiring more tx traffic to "climb" up the rates. Since this option might cause trouble in certain setups, allow to disable it by default. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9c58c79a8a76c510cd3a5012c536d4fe3c81ec3b Author: Zhihui Zhang <zzhsuny@xxxxxxxxx> Date: Sat Sep 20 21:24:36 2014 -0400 sched: Clean up some typos and grammatical errors in code/comments Signed-off-by: Zhihui Zhang <zzhsuny@xxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1411262676-19928-1-git-send-email-zzhsuny@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 871dd05c0520c2e4caf5516455fb08abc86cd703 Merge: 9e82bf0 3f56bf3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Sep 21 01:15:34 2014 +0200 Merge back earlier 'acpi-lpss' material for 3.18-rc1 commit 0c7bf3e8cab7900e17ce7f97104c39927d835469 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Sat Sep 20 14:49:10 2014 +0800 cgroup: remove redundant variable in cgroup_mount() Both pinned_sb and new_sb indicate if a new superblock is needed, so we can just remove new_sb. Note now we must check if kernfs_tryget_sb() returns NULL, because when it returns NULL, kernfs_mount() may still re-use an existing superblock, which is just allocated by another concurent mount. Suggested-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3e2cd91ab92665148616a80dc0745c499d2746a7 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Sat Sep 20 14:35:43 2014 +0800 cgroup: fix missing unlock in cgroup_release_agent() The patch 971ff4935538: "cgroup: use a per-cgroup work for release agent" from Sep 18, 2014, leads to the following static checker warning: kernel/cgroup.c:5310 cgroup_release_agent() warn: 'mutex:&cgroup_mutex' is sometimes locked here and sometimes unlocked. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 93b8877471796c04c16fdef755d4e5c0f521509f Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Sep 20 09:34:45 2014 +0400 tty: serial_mctrl_gpio: Fix COMPILE_TEST build for architectures with custom termios.h This patch fixes COMPILE_TEST build of serial_mctrl_gpio module for architectures with custom termios.h header. sparc64:allmodconfig: In file included from drivers/tty/serial/serial_mctrl_gpio.c:21:0: include/uapi/asm-generic/termios.h:22:8: error: redefinition of 'struct termio' ./arch/sparc/include/uapi/asm/termbits.h:16:8: note: originally defined here make[3]: *** [drivers/tty/serial/serial_mctrl_gpio.o] Error 1 Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d07fe967189ff7c32f5a78b4f28c2ccbab850091 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Sep 18 11:24:40 2014 +0800 ARM: dts: sun8i: Add DMA controller node Add the DMA controller node and DMA bindings to the supported devices. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit e625305b390790717cf2cccf61efb81299647028 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Sat Sep 20 01:27:25 2014 -0400 percpu-refcount: make percpu_ref based on longs instead of ints percpu_ref is currently based on ints and the number of refs it can cover is (1 << 31). This makes it impossible to use a percpu_ref to count memory objects or pages on 64bit machines as it may overflow. This forces those users to somehow aggregate the references before contributing to the percpu_ref which is often cumbersome and sometimes challenging to get the same level of performance as using the percpu_ref directly. While using ints for the percpu counters makes them pack tighter on 64bit machines, the possible gain from using ints instead of longs is extremely small compared to the overall gain from per-cpu operation. This patch makes percpu_ref based on longs so that it can be used to directly count memory objects or pages. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 4843c3320c3d23ab4ecf520f5eaf485aff8c7252 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Sat Sep 20 01:27:24 2014 -0400 percpu-refcount: improve WARN messages percpu_ref's WARN messages can be a lot more helpful by indicating who's the culprit. Make them report the release function that the offending percpu-refcount is associated with. This should make it a lot easier to track down the reported invalid refcnting operations. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Kent Overstreet <kmo@xxxxxxxxxxxxx> commit 6d967f8789249628a6388a3a4314c5fef423f36a Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Fri Sep 19 18:02:53 2014 -0700 udp_tunnel: Only build ip6_udp_tunnel.c when IPV6 is selected Functions supplied in ip6_udp_tunnel.c are only needed when IPV6 is selected. When IPV6 is not selected, those functions are stubbed out in udp_tunnel.h. ================================================================== net/ipv6/ip6_udp_tunnel.c:15:5: error: redefinition of 'udp_sock_create6' int udp_sock_create6(struct net *net, struct udp_port_cfg *cfg, In file included from net/ipv6/ip6_udp_tunnel.c:9:0: include/net/udp_tunnel.h:36:19: note: previous definition of 'udp_sock_create6' was here static inline int udp_sock_create6(struct net *net, struct udp_port_cfg *cfg, ================================================================== Fixes: fd384412e udp_tunnel: Seperate ipv6 functions into its own file Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f76a4ea5383ba2f9e76f9625f77ff246907a134 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Thu Sep 18 19:27:09 2014 +0530 Staging: rtl8192e: Fix __constant_htons to htons style warning This fixes the following checkpatch.pl warning: WARNING: __constant_htons should be htons Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 288903f6b91e759b0a813219acd376426cbb8f14 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Fri Sep 19 15:55:05 2014 -0700 staging: iio: cdc: Don't put an else right after a return This fixes the following checkpatch.pl warning: WARNING: else is not generally useful after a break or return. While at it, remove new line for symmetry with the rest of the code. Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a5fcc6b2efdc86619af793e0216a508469cfaa4 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 23:32:05 2014 +0300 staging: octeon: Fix quoted string split warning. This patch fixes "quoted string split across lines" checkpatch.pl warning in ethernet.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39bc7513aa92b38c391dbe9649841f9f9dfcd0ac Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 23:27:39 2014 +0300 staging: octeon: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in ethernet.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ff99b312f9c94516acb38bad7421ba1d74abeb2 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 19 23:34:36 2014 +0300 staging: emxx_udc: Replace __constant_cpu_to_le16 with cpu_to_le16 This fixes the following checkpatch.pl warning: WARNING: __constant_cpu_to_le16 should be cpu_to_le16 Additionally, it removes the space between function name and (. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 113f5f24c6be6f7d888946320d01b51b81aa213d Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 00:31:44 2014 +0300 Staging: rtl8821ae: Fix warnings of no space before tabs. This patch fixes these warning messages found by checkpatch.pl: WARNING: please, no space before tabs. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a45cbb78147e8f57250f1687f5b61470b8343a20 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 18 23:56:13 2014 +0300 Staging: rtl8821ae: Fix "foo * bar" warning. This patch fixes these error messages found by checkpatch.pl: ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34c376fe07342e06f531504b01d3b953962e456c Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 18 01:03:28 2014 +0300 Staging: wlan-ng: Fix return in void function warning This fixes checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcf1b73d08cd15912205f3b259ea81ccfde11970 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 18 00:54:04 2014 +0300 Staging: media: cxd2099: Missing a blank line after declarations Fix checkpatch.pl issues with missing a blank line after declarations in cxd2099.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2e91542695270452ea7b5d3266ad0e9b5dc7bdb Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Wed Sep 17 23:43:15 2014 +0300 Staging: octeon: Missing a blank line after declarations Fix checkpatch.pl issues with missing a blank line after declarations in ethernet-sgmii.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05fd349b1750d456423538e69c3c1d4d8a10f1c8 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Wed Sep 17 16:10:36 2014 +0300 staging: gs_fpgaboot Fix trailing whitespace. Fix checkpatch.pl issues with trailing whitespace in README. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de77c125f57a308250cfaec945541fd8abe0e054 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Wed Sep 17 15:33:25 2014 +0300 staging: bcm: Fix line over 80 characters Fix checkpatch.pl issues with line over 80 characters in HandleControlPacket.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ad6ae1acfd883d8f4c8998b4e5bc9d4aea7985f Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 01:20:44 2014 +0300 staging: media: lirc: Fixes missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in lirc_serial.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5613fe8967534ce626875fab4bcface70d366b4 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 01:26:03 2014 +0300 staging: media: lirc: Fixes unnecessary return warning. This patch fixes "void function return statements are not generally useful" checkpatch.pl warning in lirc_zilog.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a17ec4c9fd07d3f4760cc6545b54f8323ea6ccb4 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 01:06:55 2014 +0300 staging: media: lirc: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in lirc_bt829.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f8028023c3f6804751a920d97e9c8dffc575cc0 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 01:02:21 2014 +0300 staging: media: lirc: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in lirc_sasem.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a87ba73ed10266dba8278b2a6b89da597a38092a Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 00:59:11 2014 +0300 staging: media: lirc: Fix unnecessary return warning. This patch fixes "void function return statements are not generally useful" checkpatch.pl warning in lirc_sasem.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd8392f3097140a9db7b0903a63635e652b6eb45 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 22:46:57 2014 +0300 staging: media: lirc: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in lirc_zilog.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3170f3277b1809c19fe4a45914cffa0e09471973 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Wed Sep 17 03:14:52 2014 +0530 Staging: media: lirc: lirc_imon: Removed unnecessary variable to simplify return variable handling Variable rc was removed after merging its assignment statement with immediately following return statement. Variable retval is not used at all other that to return its initial value.Hence replaced retval with its initial value in the return statement and removed the variable. This patch was done using Coccinelle script and the following semantic patch was used: @rule1@ identifier ret; expression e; @@ -int ret = 0; ... when != ret ( -ret = e; +return e; -return ret; | -return ret; +return 0; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ad5360ad81a32b4e9fdc956e7c453308050a97d Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 21:39:46 2014 +0300 staging: lustre: lnet: lnet: Fixed quoted string split warning. This patch fixes "quoted string split across lines" checkpatch.pl warning in api-ni.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70b694c32e405cff8e2640b3943ed9598d97f75e Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 21:48:00 2014 +0300 staging: lustre: lnet: lnet: Fix missing line warning. This patch fixes "Fixes "Missing a blank line after declarations" checkpatch.pl warning in api-ni.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a446b47d5d815865c2715da8fab1a7c06f1338ca Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 21:53:31 2014 +0300 staging: lustre: lnet: lnet: Fix quoted string split warning. This patch fixes "quoted string split across lines" checkpatch.pl warning in lib-eq.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e9cc5b0450a40be3442a82a5a5293f85ca06c7d Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Wed Sep 17 20:58:43 2014 +0530 Staging: lustre: Fix return in void function warning This fixes checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6606a77f92821f8bfd4b1b6ba296da662fecb640 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Wed Sep 17 20:28:54 2014 +0530 Staging: lustre: place open brace following struct on same line This patch fixes checkpatch.pl warning: WARNING: open brace following struct goes on the same line. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4467a945fc08c0d6624b1dd64cfcc2cbd3b3dee3 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Wed Sep 17 18:14:45 2014 +0530 Staging: lustre: libcfs: fix checkpatch warning else after return statement Fix checkpatch warning by removing unnecessary else after return statement. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5740b2e7e74fa9ba915aa74bfba7cf849dce8a7 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 16 13:24:13 2014 +0530 Staging: lustre: include: libcfs: removed else before return statement in libcfs_crypto.h This is a patch to libcfs_crypto.h that fixes warning on unnecessary else before return statement found by checkpatch.pl tool. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 225557bf274ed1519362865815da7425533191d1 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Mon Sep 15 14:58:44 2014 +0300 staging: speakup: fix checkpatch warning This fixes the checkpatch warning: WARNING: line over 80 characters Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a3a725adb2c421ea79089ea12004a007fb371ce Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sun Sep 14 20:28:53 2014 +0300 staging: speakup: fix checkpatch warning This fixes the cheackpatch warning: WARNING: Missing a blank line after declarations Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 472fe30efd52fde30249a04971a62151e0606c1d Author: Nicoleta Birsan <nicolle.birsan@xxxxxxxxx> Date: Sun Sep 14 03:38:34 2014 -0700 Staging: speakup: fix checkpatch warning This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Nicoleta Birsan <nicolle.birsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 297cbdaeca2b68aaae6bbb7affa4533430e8e91a Author: Blaj Roxana <roxanagabriela10@xxxxxxxxx> Date: Tue Sep 16 20:13:28 2014 +0300 staging: skein: replace spaces with tabs This fixes the error and warning: ERROR: code indent should use tabs where possible WARNING: please, no spaces at the start of a line Signed-off-by: Blaj Roxana <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb33aa47a00edc789d17d80174cd3ed8a1c82c66 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Sat Sep 20 00:01:39 2014 +0300 staging: dgnc: Check sscanf return value This fixes the following checkpatch.pl warnings: WARNING: unchecked sscanf return value Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f23e875fd26a05a0850db7c5e090030c80b4f583 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 19:34:45 2014 +0300 staging: dgnc: Fix unnecessary space warning. Fixed "Unnecessary space before function pointer argument" checkpatch.pl warning in dgnc_driver.h Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8756d4a51d1246be36c5621827c288eb2d5e9b7 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 19:31:15 2014 +0300 staging: dgnc: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in dgnc_sysfs.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3dfe7557809e5867306c7a0614b9d1c6036cbe4d Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Sep 19 10:30:59 2014 +0530 Staging: dgnc: Merge lines and remove unused variable for immediate return This patch merges two lines in a single line if immediate return is found. It also removes unnecessory variable rc as it is no longer needed. This is done using Coccinelle. Semantic patch used for this is as follows: @@ type T; identifier i; identifier f; constant C; @@ - T i; ...when != i when strict ( return -C; | - i = + return f(...); - return i; ) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Reviewed-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10352c2a69f4aa2724f007a4922518c9ece7bf89 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Sep 18 21:38:04 2014 +0300 staging: dgnc: Move open brace on previous line This fixes the following checkpatch.pl errors: ERROR: that open brace { should be on the previous line Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05a70e14035438e6866d7fcf8a79c67b8e1425e1 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Tue Sep 16 20:33:03 2014 +0300 staging: dgnc: Do not initialise statics to 0 or NULL This fixes the following checkpatch.pl error: ERROR: do not initialise statics to 0 or NULL Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b051017fb4e593998fc46ec9a991ad390c9114b5 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Mon Sep 15 21:32:59 2014 +0300 staging: dgnc: Replace kzalloc with kcalloc This fixes the following checkpatch.pl warnings: WARNING: Prefer kcalloc over kzalloc with multiply Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3dadd29f7197d93d0441391f5e3815bf008cce1 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Sun Sep 14 23:13:20 2014 +0300 staging: dgnc: Fix warnings relating to printk() This fixes the following checkpatch.pl warnings: WARNING: printk() should include KERN_ facility level It replaces printk() with dev_dbg() in order to avoid the warning that a more specific function should be used. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2be13f7b7c63cecc439876c8c06a5b30afdf46f9 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 04:59:59 2014 +0530 Staging: rtl8192ee: rtl8192ee: Fix missing blank line warning This fixes the following checkpatch.pl warnings: WARNING: Missing a blank line after declarations Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9209a93edbccafb6c2f860bc0ddfe9eda1e3ccd Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 04:49:43 2014 +0530 Staging: rtl8192ee: Fix else not useful style warning This fixes the following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1709a582e1f8977de040f02d9e9e52ec89f8603f Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 04:03:36 2014 +0530 Staging: rtl8192ee: Fix break is not useful warning This fixes the following checkpatch.pl warnings: WARNING: break is not useful after a goto or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe6dc85eaf8bb180ad3510a57bd69f3b8f9c2dbb Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 03:42:01 2014 +0530 Staging: rtl8192ee: Fix else is not useful warning This fixes the following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f41788b7c933127863435f72f456ec46ed5540b2 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 03:29:19 2014 +0530 Staging: rtl8192ee: Fix missing blank line warning This fixes the following checkpatch.pl warnings: WARNING: Missing a blank line after declarations Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad39fe743419d58f9bc29373189c93ba2251e675 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 02:43:26 2014 +0530 Staging: rtl8192e: Fix printk debug style warning This fixes the following checkpatch.pl warnings: WARNING: Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ... Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4344672830d8500eac97d82976b03e41580c3a04 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 02:40:43 2014 +0530 Staging: rtl8192e: Fix printk style warning This fixes the following checkpatch.pl warnings: WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ... Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6af197672f2330045c171aed3ea90fb93d89ecc6 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 02:38:39 2014 +0530 Staging: rtl8192e: Fix space before semicolon warning This fixes the following checkpatch.pl warning: WARNING: space prohibited before semicolon Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13402f7b76223e7f50ab42c82aac4788940c8277 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 02:36:31 2014 +0530 Staging: rtl8192e: Fix else is not useful warning This fixes the following checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5110e40260d03fdb2d93a94fec06a31b81d57b0b Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Fri Sep 19 23:56:02 2014 +0530 Staging: rtl8192e: Fix void function return statements style warning This fixes the following checkpatch.pl warnings: WARNING: void function return statements are not generally useful Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59422a74b55c616d500c3be721077ff0d00f7fb0 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Fri Sep 19 23:12:53 2014 +0530 Staging: rtl8192e: Fix else is not useful style warning This fixes the following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f921b9f61b1a324366c8f6a02c5a8e89164ed52 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Sep 19 22:22:19 2014 +0530 Staging: rtl8192e: Fixed style warning relating to printk() This patch fixes following checkpatch.pl warning in file rtl_dm.c: WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO . Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52e93b8ab435978bc12280aa4418ef25fd6e74f2 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Fri Sep 19 05:22:33 2014 +0530 Staging: rtl8192e: Fix unnecessary parentheses style warning This fixes the following checkpatch.pl warning: WARNING: Unnecessary parentheses - maybe == should be = ? Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fee9d3e61d04422628a3d22ed5eb8370dcef259b Author: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Date: Wed Aug 27 13:26:53 2014 -0500 ktest: add ability to skip during BISECT_MANUAL When doing a manual bisect, a build can fail or a test can be inconclusive. In these cases it would be helpful to be able to skip the test entirely. Link: http://lkml.kernel.org/r/1409164021-2136-1-git-send-email-chris.j.arges@xxxxxxxxxxxxx Reviewed-by: Satoru Takeuchi <satoru.takeuchi@xxxxxxxxx> Signed-off-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4af409f6c38029e1eda0a5e7bbf15e9b1b7d7fab Author: Benedict Boerger <benedict.boerger@xxxxxxxxxxxxxxxxx> Date: Thu Sep 18 17:46:23 2014 +0200 staging: rtl8192u: delete unused function CAM_read_entry Fix the sparse warning: symbol 'CAM_read_entry' was not declared. Should it be static? The function CAM_read_entry is not used and therefore deleted. Signed-off-by: Benedict Boerger <benedict.boerger@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77baad9e4d71e75d7ad6ee83454113d4a6a7b04d Author: Ragnar B. Johannsson <ragnar@xxxxxx> Date: Thu Sep 18 14:33:25 2014 +0000 staging: rtl8192u: Move ieee80211_crypto_* declarations to ieee80211/ieee80211.h Move ieee80211_crypto*_init and _exit prototype declarations from r8192U_core.c to ieee80211/ieee80211.h. This fixes the following sparse warnings: drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c:203:12: warning: symbol 'ieee80211_crypto_init' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c:223:13: warning: symbol 'ieee80211_crypto_deinit' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c:764:12: warning: symbol 'ieee80211_crypto_tkip_init' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c:769:13: warning: symbol 'ieee80211_crypto_tkip_exit' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c:467:12: warning: symbol 'ieee80211_crypto_ccmp_init' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c:472:13: warning: symbol 'ieee80211_crypto_ccmp_exit' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c:281:12: warning: symbol 'ieee80211_crypto_wep_init' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c:286:13: warning: symbol 'ieee80211_crypto_wep_exit' was not declared. Should it be static? Signed-off-by: Ragnar B. Johannsson <ragnar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5635b82a553620c511dc6bc8cb0990c0a791e21e Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Thu Sep 18 15:43:53 2014 +0530 Staging: rtl8192e: Fix style warnings relating to printk(KERN_DEBUG This fixes the following checkpatch.pl warnings: WARNING: Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ... Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe40a0b361de10ea794116160308cc7fd0b7fbeb Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Sep 17 08:35:24 2014 +0530 Staging: rtl8192e: rtl8192e: Remove unnecessory braces and space This patch removes following checkpatch.pl warnings in rtl_core.c file: WARNING: Braces {} are not necessary for single statement blocks WARNING: Space prohibited before semicolon Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c8b3961da9a55762ea5481e8f9412c0d18dc684 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Sep 17 08:02:43 2014 +0530 Staging: rtl8192e: rtl8192e: Remove unnecessory variable This patch removes unnecessory variable in file ret_core.c using coccinelle script.Semantic patch for this is as follows: @@ identifier ret; @@ -int ret = 0; ... when != ret when strict -return ret; +return 0; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23a0e1611b880bd8d94bbebcb3577c9f78029435 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 19 20:10:39 2014 -0400 ktest: Add PATCHCHECK_CHERRY Add a way to run a patchcheck test on the commits that are in one branch but not in another. This uses git cherry to find a list of commits to test each one with. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4309635f692192ddcc540964189d92cad0ade249 Author: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Date: Tue Sep 16 11:25:31 2014 +0530 Staging: vt6655: Break 80 character long line to remove checkpatch error This removes checkpatch.pl warning WARNING: line over 80 characters Signed-off-by: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b377ed4cce004d7c3dbd92cffdbf2aa21d28e2e6 Author: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Date: Wed Sep 17 21:27:03 2014 +0530 Staging: vt6656: Removing else after break statement to fix warning This patch fixes the checkpatch.pl warning in baseband.c file WARNING: else is not useful after a break or return Signed-off-by: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbc6ee63d4355a51fd84ee8ebf127763180b1585 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 19:49:33 2014 +0300 Staging: vt6655: Fix C99 style commenting. This patch fixes these error messages found by checkpatch.pl: ERROR: do not use C99 // comments Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a600f4589fdbb51a0ad885408f996ec0f1f90be9 Author: Abel Moyo <abelmoyo.ab@xxxxxxxxx> Date: Thu Sep 18 21:49:10 2014 +0200 Staging: gdm724x: gdm_usb: added error checking in do_tx() Added error checking for alloc_tx_struct in do_tx() Signed-off-by: Abel Moyo <abelmoyo.ab@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37d963fb80d2fd944bd0124570b2adc5b826ccef Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 20:43:53 2014 +0300 staging: gdm724x: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in gdm_mux.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 492a1e7be585c88a04ba763bb77fc865700e209d Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Sep 16 16:19:06 2014 +0900 staging: dgap: use schedule_timeout_interruptible() instead of dgap_ms_sleep() Using schedule_timeout_interruptible() is exactly same as setting a status of current process and calling schedule_timeout(). Removes dgap_ms_sleep(), because this function is used only when closing tty channel on dgap_tty_close(). And also removes ch_close_delay that is always set to 250 on dgap_tty_init(). Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 335d9c85be096cf492cb3eaeef160b45e1f25d8d Author: Ankita Patil <patil.ankita.r@xxxxxxxxx> Date: Thu Sep 18 12:31:00 2014 +0530 Staging: dgap: Remove unnecessary variable. This patch removes unnecessary variable in file dgap.c using Coccinelle. Semantic patch for this is as follows: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Also removed the unneeded variable manually. Signed-off-by: Ankita Patil <patil.ankita.r@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50d0a21b61f22b38f881fa21d2ada6ab4a61f93f Author: Purnendu Kapadia <pro8linux@xxxxxxxxx> Date: Mon Sep 15 13:06:36 2014 +0100 staging: android: sw_sync: checkpatch fixes - no space after cast - allignment should match open parenthesis - remove unnecessary new line Signed-off-by: Purnendu Kapadia <pro8linux@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f0f6c9862b687db36f5e853402f76bc118ff0bf Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 01:58:29 2014 +0300 Staging: rtl8723au: hal: Space prohibited before semicolon This patch fixes these warning messages found by checkpatch.pl: WARNING: Space prohibited before semicolon. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c09757d91703ccbf0da9fc67764de9714c9e615 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 02:23:53 2014 +0300 Staging: rtl8723au: core: Fix unnecassary braces warning. This patch fixes these warning messages found by checkpatch.pl: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 867ce1bd68fb1eadb70b82bcda1e451b27ff824a Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 02:33:38 2014 +0300 Staging: rtl8723au: core: Fix "foo * bar" warning. This patch fixes these error messages found by checkpatch.pl: ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c895a5df852ca9bbac1dee413747303a61aa4ebd Author: Greg Donald <gdonald@xxxxxxxxx> Date: Tue Sep 16 18:37:41 2014 -0500 drivers: staging: rtl8723au: Fix "space required after that ','" errors Fix checkpatch.pl "space required after that ','" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f78c0710cd60cd108d436490955909983f309c62 Author: Kieron Browne <kieron.browne@xxxxxxxxx> Date: Tue Sep 16 23:28:09 2014 +0100 staging: rtl8723au: fix sparse incorrect type assignment warnings Use cpu_to_le16 to cast int for assignment to __le16 members Signed-off-by: Kieron Browne <kieron.browne@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adabff85c9486c09ec700d835328e18ccfc9abf0 Author: MihaelaGaman <mp.gaman@xxxxxxxxx> Date: Sun Sep 14 12:56:43 2014 +0300 staging: rtl8723au: Fix checkpatch errors Fix checkpatch.pl "spaces required around": >, =, =, =, =, +=, >, >, <, <, :, < errors. Signed-off-by: MihaelaGaman <mp.gaman@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1703c17b8a02b7d1dd3080c4ce9d41a83e95a071 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sun Sep 14 13:46:37 2014 +0530 Staging: rtl8188eu: os_dep: Compression of lines for immediate return This patch compresses two lines in to a single line in file rtw_android.c if immediate return statement is found. It also removes variable bytes_written as it is no longer needed. It is done using script Coccinelle. And coccinelle uses following semantic patch for this compression function: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Vaishali Thakkar<vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16e614e85025d69c87e9ce80b9e1b5238f0f4479 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 00:13:29 2014 +0300 staging: rtl8188eu: core: Fixed wrong space error. This patch fixes "foo * bar" should be "foo *bar" checkpatch.pl error in rtw_cmd.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69869c01ff148ef22d0ea1adec27b4543789792b Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Fri Sep 19 14:54:54 2014 -0700 staging: iio: impedance-analyzer: add blank line after declaration This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations. Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 714ab9bdd350413f48ad401bd25e11b3e9f257ab Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Fri Sep 19 14:32:09 2014 -0700 staging: iio: trigger: add blank lines after declarations This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations. Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a689c114796d8a3801c2bf3e25d3e21d6816036 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 18:48:05 2014 +0300 Staging: iio: resolver: Missing a blank line after declarations This patch fixes these warning messages found by checkpatch.pl: WARNING : Missing a blank line after declarations Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b4c727519b510ab9d9b33de51ea41fc34b9ef27 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Thu Sep 18 14:55:06 2014 -0700 staging: iio: dummy: add blank lines after declarations. This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations. Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b581c3d9a90772613e05e659b4e8defc81704212 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Sat Sep 13 15:46:15 2014 +0530 Staging: iio: meter: ade7753: Fixed checkpatch.pl warnings Clean-up patch to fix the following checkpatch.pl warnings: ade7753.c:325: WARNING: Missing a blank line after declarations ade7753.c:383: WARNING: Missing a blank line after declarations Signed-off-by: Tina Johnson<tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9034720a54738bbaf96b619f34f887199ac7efed Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Sun Sep 14 16:30:05 2014 +0530 Staging: iio: meter: ade7753: Merged assignment with immediately following return statement Saved one line of code by merging the assigning and return statements of variable ret. And thus removed variable len which was no longer useful. This patch was done using Coccinelle script and the following semantic patch was used: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Acked-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18f340f90e087c078c634d5c4fed5e0d632d4fb6 Author: Paul Zimmerman <Paul.Zimmerman@xxxxxxxxxxxx> Date: Fri Sep 19 14:49:36 2014 -0700 usb: dwc2: add T: line to MAINTAINERS showing Felipe's tree Starting with v3.18-rc, patches for dwc2 will go through Felipe's tree. Add a T: line to MAINTAINERS to document this. Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dce95554a1866339de039060ecd7122056a9d71 Author: Paul Zimmerman <Paul.Zimmerman@xxxxxxxxxxxx> Date: Tue Sep 16 13:47:27 2014 -0700 usb: dwc2: handle DMA buffer unmapping sanely The driver's handling of DMA buffers for non-aligned transfers was kind of nuts. For IN transfers, it left the URB DMA buffer mapped until the transfer completed, then synced it, copied the data from the bounce buffer, then synced it again. Instead of that, just call usb_hcd_unmap_urb_for_dma() to unmap the buffer before starting the transfer. Then no syncing is required when doing the copy. This should also allow handling of other types of mappings besides just dma_map_single() ones. Also reduce the size of the bounce buffer allocation for Isoc endpoints to 3K, since that's the largest possible transfer size. Tested on Raspberry Pi and Altera SOCFPGA. Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f8c14d9da7ab1b8a7b0f769cd7148ca2cc7d10 Author: Paul Zimmerman <Paul.Zimmerman@xxxxxxxxxxxx> Date: Tue Sep 16 13:47:26 2014 -0700 usb: dwc2: clip max_transfer_size to 65535 Clip max_transfer_size to 65535 for host. dwc2_hc_setup_align_buf() allocates coherent buffers with this size, and if it's too large we can exhaust the coherent DMA pool. Tested on Raspberry Pi and Altera SOCFPGA. Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d00b41428042e72d9dc2557d9147434a4e3d631f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 9 10:44:57 2014 +0200 usb: dwc2/gadget: disable clock when it's not needed When device is stopped or suspended clock is not needed so we can disable it for this time. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b203d0a2e32dd28e87780078f0789322862e4da8 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 9 10:44:56 2014 +0200 usb: dwc2/gadget: assign TX FIFO dynamically Because we have not enough memory to have each TX FIFO of size at least 3072 bytes (the maximum single packet size with 3 transactions per microframe), we create four FIFOs of lenght 1024, and four of length 3072 bytes, and assing them to endpoints dynamically according to maxpacket size value of given endpoint. Up to now there were initialized 16 TX FIFOs, but we use only 8 IN endpoints, so we can split available memory for 8 FIFOs to have more memory for each one. It needed to do some small modifications in few places in code, because there was assumption that TX FIFO numbers assigned to endpoints are the same as the endpoint numbers, which is not true since we have dynamic FIFO assigning. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cff9eb756e18a7763d7ab9c574c0ab191e712341 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Sep 9 10:44:55 2014 +0200 usb: dwc2/gadget: ensure that all fifos have correct memory buffers Print warning if FIFOs are configured in such a way that they don't fit into the SPRAM available on the s3c hsotg module. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e01129373f757925a652ea4ea5b278f8c2b9222 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Sep 9 10:44:54 2014 +0200 usb: dwc2/gadget: hide some not really needed debug messages Some DWC2/s3c-hsotg debug messages are really useless for typical user, so hide them behind dev_dbg(). Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d784f1e50977e58db23a79181971c3c0f62452e5 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 10:44:53 2014 +0200 usb: dwc2/gadget: Fix comment text Adjust the debug text to the name of the printed variable. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 496a51bd64eb15f14cee3519f5b75b28d09567e3 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Sep 18 22:24:02 2014 +0200 staging: lustre: llite: Use kzalloc and rewrite null tests This patch removes some kzalloc-related macros and rewrites the associated null tests to use !x rather than x == NULL. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression ptr; statement S,S1; @@ \(OBD_ALLOC\|OBD_ALLOC_WAIT\|OBD_ALLOC_PTR\|OBD_ALLOC_PTR_WAIT\)(ptr,...); if ( + ! ptr - == NULL ) S else S1 @@ expression ptr,size; @@ - OBD_ALLOC(ptr,size) + ptr = kzalloc(size, GFP_NOFS) @@ expression ptr,size; @@ - OBD_ALLOC_WAIT(ptr,size) + ptr = kzalloc(size, GFP_KERNEL) @@ expression ptr,size; @@ - OBD_ALLOC_PTR(ptr) + ptr = kzalloc(sizeof(*ptr), GFP_NOFS) @@ expression ptr,size; @@ - OBD_ALLOC_PTR_WAIT(ptr,size) + ptr = kzalloc(sizeof(*ptr), GFP_KERNEL) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdbcd3305293d18f7ae73b2766699bddf634bb06 Author: Martin Kelly <martin@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 21:16:15 2014 -0700 Staging/bcm: Fix whitespace/comments in Ioctl.h Cleanup whitespace and comments in Ioctl.h in a few ways: - > 80 character cleanup - Comment clarification - More consistent vertical alignment Signed-off-by: Martin Kelly <martkell@xxxxxxxxxx> Reviewed-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33b443e467f6c92c4cc797f5acf6a933fcfe9ec3 Author: Fabien Malfoy <fabien.malfoy@xxxxxxxxxxx> Date: Mon Sep 15 09:02:36 2014 +0200 staging: rtl8821ae: Remove space after unary operator in efuse.c Several pointer declaration syntax have been fixed to match the coding style. Signed-off-by: Fabien Malfoy <fabien.malfoy@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c24cdca05edb9c5435529afa37ce8c9c25ac4c5e Author: Merlin Chlosta <eudyptula@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 01:56:10 2014 +0200 staging: rtl8192u: sparse warnings: declare ieee80211_TURBO_Info static Declare ieee80211_TURBO_Info static to fix a sparse "symbol was not declared" warning. Signed-off-by: Merlin Chlosta <eudyptula@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b1ebbffc0b2dd47a45380ba68da36f792a2977e Author: Vincenzo Scotti <vinc94@xxxxxxxxx> Date: Sat Sep 13 13:39:20 2014 +0200 staging: emxx_udc: fix compile warnings: discarding const qualifier Signed-off-by: Vincenzo Scotti <vinc94@xxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f02935c575cb00f2a164282866324816a1f52fc1 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Sep 13 01:14:30 2014 +0900 staging: exxx_udc: Convert pr_warning to pr_warn This patch Convert pr_warning to pr_warn. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3aa2ec581903747d926765850212278c7c24be77 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 12 17:57:26 2014 +0530 staging: unisys: uislib: uislib.c: sparse warning of context imbalance fixed sparse warning : context imbalance in 'destroy_device' unexpected unlock this patch will generate warning from checkpatch for lines over 80 character , but since those are user-visible strings so it was not modified. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Tested-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Acked-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 635ecc5f36438cdf8cf3b88421321ee7443eb2d1 Author: Luke Hart <luke.hart@xxxxxxxxxxxx> Date: Fri Sep 12 10:48:33 2014 +0100 staging: unisys: Fix sparse error - accessing __iomem directly Copy the channel type into a temporary buffer so that code will work for architectures that don't support MMIO. This now works in same way as other tests in same function. Signed-off-by: Luke Hart <luke.hart@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cec78b98df2f87a396890c802dccbf0e604c6829 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:05 2014 +0100 staging: et131x: logical continuations should be on the previous line Fix two occurrences of the checkpatch check: CHECK: Logical continuations should be on the previous line Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d855b8935e211b285aa6eb3d42e2ea810b03e043 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:04 2014 +0100 staging: et131x: Fix 'else is not generally useful after a break or return' Fix this checkpatch warning: WARNING: else is not generally useful after a break or return Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6cb966074d6863293b774327ca5738bb27a9b3a Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:08 2014 +0100 staging: et131x: Use variable names instead of types in sizeof A few calls to sizeof() in et131x.c give the type as a parameter - use the equivalent variable name instead. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee60c8ec323167a02de357e9d9b44af850052ee3 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:07 2014 +0100 staging: et131x: Use braces on all arms of if/else statements In some places in et131x.c, one arm of am if/else statement has braces and the other not - put braces on both arms where this happens. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c13756784a6a16fb5d25585a4058dd6d284fd033 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:06 2014 +0100 staging: et131x: Remove spaces after casts In three places in et131x.c, spaces exist after a cast. Remove them. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48c8f78914720b39b9de27c6e58134abdf1f1a4c Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:02 2014 +0100 staging: et131x: Add spinlock definition comments Checkpatch --strict advises that spinlocks should be described when defined, seems a good idea so this change does that. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c55fe2018f7f84e3620e85e4b0d5d06274862da Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:01 2014 +0100 staging: et131x: Remove useless assignment to NULL The stack variable skb is no longer used after it's set to NULL. Don't set it to NULL. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bacb71edb48050b46244a66ec8d49c55a89eec34 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:00 2014 +0100 staging: et131x: Remove send_hw_lock spinlock We don't need to use this lock - the tx path is protected by the networking subsystem xmit_lock, so we don't also need it in nic_send_packet(). The other use of this spinlock in et1310_enable_phy_coma() to protect a low power flag makes no sense, so can just be removed. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82d95799d89b0cb3ad4c15c60e2c19862cb3a459 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:58:59 2014 +0100 staging: et131x: Simplify unlocking tcb_send_qlock in et131x_tx_timeout() The tcb_send_qlock spinlock is unlocked in all three paths at the end of et131x_tx_timeout(). We can call it once before entering any of the paths, saving ourselves a few lines of code. This change puts tcb->count++ outside of the lock, but et131x_tx_timeout() itself is protected by the tx_global_lock, so this shouldn't matter. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b06912b847ed495f41ee12a06fb8b017acc8e89 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:58:58 2014 +0100 staging: et131x: Remove blank lines form et131x.c Remove some unecessary blank lines from et131x.c Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82bb0be4c0335d72ec69b0911ee77b2f6f6b9281 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 18:53:37 2014 +0100 staging: et131x: Remove extra blank lines in et131x.h Remove some blank lines from et131.h, including double blank lines. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be685bb01f63c5483e535854da75553e115bab54 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:46 2014 +0100 staging: et131x: Remove 'reduce number of spinlocks' TODO item The number of spinlocks has been halved, from 8 to 4 since this comment was made, let's see if this is enough. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8019f2e2aa76658890dcca0cdff56a78959e3c57 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:45 2014 +0100 staging: et131x: Simplify code in nic_rx_pkts() for multicast_pkts_rcvd In nic_rx_pkts(), we check that a multicast packet received (when using a multicast list) is one that was requested - despite setting the list up with the hardware. We shouldn't expect to get a mc packet we didn't ask for, so remove these extra checks. This also means that the surrounding code can be tiedied up a little. Tested somewhat with omping, with no adverse effects seen. Also remove this item from the TODO list. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 668caa674c045bb59dcde2dc017e254f18a90607 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:44 2014 +0100 staging: et131x: Combine two if statements with same effect Both these if statements have the same effect when true, so combine them and save a few lines. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97cd38dc93838d6eef14f487dd85504ba429d36b Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:43 2014 +0100 staging: et131x: Remove struct tcb->flags 'struct tcb' member 'flags' was only used to collect tx stats, now we are no longer collecting those particular stats, we no longer need tcb->flags or the code used to peek into the skb to set it's value. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7cc9e0fd434cce2eb79e64048f03168f4cc8363 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:42 2014 +0100 staging: et131x: Remove ununsed statistics From struct ce_stats; unicast_pkts_rcvd, unicast_pkts_xmtd, multicast_pkts_xmtd, broadcast_pkts_rcvd and broadcast_pkts_xmtd are not returned or used for anything meaningful - remove the code that collects them, and the struct members too. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23780f077b4ab6e7fdcc75160c2f013b73ef78bd Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:41 2014 +0100 staging: et131x: Tidy up rx/tx dropped & bytes stats Remove some fairly useless comments regarding rx/tx _bytes and _dropped, and use rcvd_pkts_dropped stat value to provide rx_dropped. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 701b943e5cbcbaeb9d86947d9822f41755b1fe49 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:40 2014 +0100 staging: et131x: In et131x_tx(), don't return NETDEV_TX_BUSY, just drop the packet Memory allocation errors do not denote NETDEV_TX_BUSY, simply drop the packet silently with kfree_skb() and return NETDEV_TX_OK. Also remove this item from the TODO list. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4792e6d136dc4a340cef1c713a3eb50bd0550764 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:39 2014 +0100 staging: et131x: Remove et131x_send_packets() function Remove et131x_send_packets() and replace the only use in et131x_tx with the removed function's body. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7baf92949198b9bbfae30486601b3bdcca604073 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:41 2014 +0200 staging: comedi: ni_usb6501: add counter subdevice Add counter support for NI USB-6501. The following functions are introduced: - ni6501_counter_command() - ni6501_cnt_insn_config() - ni6501_cnt_insn_read() - ni6501_cnt_insn_write() Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5116a48c1b0b819b9276993479d193f37fbfbd0a Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:40 2014 +0200 staging: comedi: ni_usb6501: rename ni6501_send_command() Rename ni6501_send_command to ni6501_port_command Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6669ba21b3e9b7c26aebbbe671ed77a1d756a70 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:39 2014 +0200 staging: comedi: ni_usb6501: remove empty lines ni6501_send_command(): remove empty lines in case statements Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78d8135608d35524d17702767167b0d0248f3df7 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:38 2014 +0200 staging: comedi: ni_usb6501: remove useless check Remove useless test in ni6501_send_command. The check is useless since this function is called only in this driver. Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9826c0c8a97f4b72d073db7dc879e4308e10822 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:37 2014 +0200 staging: comedi: ni_usb6501: replace spaces with tabs ni6501_auto_attach(): replace spaces with tabs to get proper alignment Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88367bd588892665d9b670358b5de21dca530cb0 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:36 2014 +0200 staging: comedi: ni_usb6501: cleanup response_size Cleanup response_size in ni6501_send_command (READ_PORT command). No logical/functional change is introduced by this patch. Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddf9b6a4a080422f5ab3f7718021bb98ad06853b Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:35 2014 +0200 staging: comedi: ni_usb6501: update comments Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa66cd164b592dc994cae4865415a3dccea15fa9 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:34 2014 +0200 staging: comedi: ni_usb6501: add counter commands Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aff5b1f8eb71b64bb613dc64c50b6904e89f79b9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:07 2014 +0100 staging: comedi: remove comedi_fc module All the exported functions in the "comedi_fc" module have been migrated to the core "comedi" module and renamed, so it is now just a dummy module. Remove it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8d57655fdedd40c8ef234b13b4da05dd607dbb5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:06 2014 +0100 staging: comedi: migrate copyrights from "comedi_fc.c" The "comedi_fc" module was originally written and copyrighted by Frank Mori Hess, but the functionality has been migrated into the core "comedi" module. Move the copyright notices over to the affected .c files in the core comedi module. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfa9facdb13fb7bc47677bc8f590fc816ccd0c9a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:05 2014 +0100 staging: comedi: add comedi_read_array_from_buffer() The "comedi_fc" module contains a few functions useful to Comedi drivers. Their functionality is being migrated to the core "comedi" module and renamed to start with the prefix `comedi_`. As part of this migration, move `cfc_read_array_from_buffer()` into the core comedi module and rename it to `comedi_read_array_from_buffer()`. Change the external declaration of `cfc_read_array_from_buffer()` into an inline function that calls `comedi_read_array_from_buffer()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af2c6a8a2429dd40555a9efd4f286eca2ab9add0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:04 2014 +0100 staging: comedi: comedi_fc.h: use comedi_write_array_to_buffer() Since `cfc_write_array_to_buffer()` is just an inline function that calls `comedi_write_array_to_buffer()`, replace calls to the former to the latter in the "comedi_fc.h" header. This is part of the migration of functionality from the "comedi_fc" module to the core "comedi" module. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea29c1d563a4d57db1c2955c22468a0947f110b0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:03 2014 +0100 staging: comedi: add comedi_write_array_to_buffer() The "comedi_fc" module contains a few functions useful to Comedi drivers. Their functionality is being migrated to the core "comedi" module and renamed to start with the prefix `comedi_`. As part of this migration, move `cfc_write_array_to_buffer()` into the core comedi module and rename it to `comedi_write_array_to_buffer()`. Change the external declaration of `cfc_write_array_to_buffer()` into an inline function that calls `comedi_write_array_to_buffer()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c520aafa0cb234a9124569f742e82d04ab5006b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:02 2014 +0100 staging: comedi: comedi_fc: cfc_write_array_to_buffer() data is const The `data` pointer of `cfc_write_array_to_buffer()` ought to point to `const` data. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a7803592409dc3b6ea3bce53a7517114f748dc8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:01 2014 +0100 staging: comedi: add comedi_handle_events() The "comedi_fc" module contains a few functions useful to Comedi drivers. Their functionality is being migrated to the core "comedi" module and renamed to start with the prefix `comedi_`. As part of this migration, move `cfc_handle_events()` into the core comedi module and rename it to `comedi_handle_events()`. Change the external declaration of `cfc_handle_events()` into an inline function that calls `comedi_handle_events()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c38d6f22a4b0d5128b5ef2c2930f2c96ff37fe8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:00 2014 +0100 staging: comedi: comedi_fc: use comedi_inc_scan_progress() Since `cfc_inc_scan_progress()` is just an inline function that calls `comedi_inc_scan_progress()`, replace calls to the former to the latter in the "comedi_fc" module. This is part of the migration of functionality from the "comedi_fc" module to the core "comedi" module. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b4e1f632478f43bda1b38e04e0d740980fff1f3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:45:59 2014 +0100 staging: comedi: add comedi_inc_scan_progress() The "comedi_fc" module contains a few functions useful to Comedi drivers. Their functionality is being migrated to the core "comedi" module and renamed to start with the prefix `comedi_`. As part of this migration, move `cfc_inc_scan_progress()` into the core comedi module and rename it to `comedi_inc_scan_progress()`. Change the external declaration of `cfc_inc_scan_progress()` into an inline function that calls `comedi_inc_scan_progress()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55deb39b1290df023b23273a4c541784c6570098 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:45:58 2014 +0100 staging: comedi: comedi_fc: use comedi_bytes_per_scan() Since `cfc_bytes_per_scan()` is just an inline function that calls `comedi_bytes_per_scan()`, replace calls to the former to the latter in the "comedi_fc" module. This is part of the migration of functionality from the "comedi_fc" module to the core "comedi" module. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f146fe63416de7162090a48135d33a2b74a4efcc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:45:57 2014 +0100 staging: comedi: add comedi_bytes_per_scan() The "comedi_fc" module contains a few functions useful to Comedi drivers. Their functionality is being migrated to the core "comedi" module and renamed to start with the prefix `comedi_`. As part of this migration, move `cfc_bytes_per_scan()` into the core comedi module and rename it to `comedi_bytes_per_scan()`. Change the external declaration of `cfc_bytes_per_scan()` into an inline function that calls `comedi_bytes_per_scan()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 062fdcada9858859b4c8a73322c4b0b718c779ff Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 12:19:57 2014 +0100 staging: comedi: addi_apci_3120: simplify setting of devpriv->us_UseDma `apci3120_auto_attach()` first sets `devpriv->us_UseDma` to 1, then sets it back to 0 if it fails to allocate the DMA buffer. Since `*devpriv` is initially zeroed out by `comedi_alloc_devpriv()`, change it to only set `devpriv->us_UseDma` to 1 if the allocation succeeds. Also, don't bother explicitly initializing `devpriv->b_DmaDoubleBuffer` to 0 as it is already zeroed out. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbfd9c8a1782f33d7b67294b2a42587063e61c0c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 12:19:56 2014 +0100 staging: comedi: addi_apci_3120: use dma_alloc_coherent() Use `dma_alloc_coherent()` to allocate the DMA buffers instead of using `__get_free_pages()` to allocate and `virt_to_bus()` to get the hardware address. The coherent buffers are fairly small - at most 4 pages (although there are two of them). Use of `virt_to_bus()` is discouraged. Note: `struct addi_private` is used by some other ADDI-DATA drivers as well, but this is the only one using the affected members. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c97e588d82e90ca74488cd16e8f804cbec75978 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 12:19:55 2014 +0100 staging: comedi: addi_apci_3120: don't overallocate DMA buffer The last parameter of `__get_free_pages()` is log2 (the 'order') of the number of pages to be allocated. This driver seems to think it is the linear number of pages, so `apci3120_auto_attach()` first tries to allocate 16 pages, but only uses 4 of them, setting the buffer size to PAGE_SIZE multiplied by the 'order'. If the allocation fails, it tries progressively smaller orders, down to 0. If the allocation at order 0 succeeds, the buffer size is set to 0, which is likely to cause problems. Set the buffer size to `PAGE_SIZE` shifted left by the allocation order. Since the maximum buffer size previously used was 4, start with an allocation order of 2 instead of 4. Rename the `ui_DmaBufferPages` member of `struct addi_private` to `ui_DmaBufferPageOrder` and rename the `pages` local variable to `order` to make it clearer what it is. Note: `struct addi_private` is used by some other ADDI-DATA drivers as well, but this is the only one using the affected members. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df567feb00277ddee715f61e4616eaae50532ea0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 12:19:54 2014 +0100 staging: comedi: addi_apci_3120: don't allocate 2nd DMA buffer on failure `apci3120_auto_attach()` tries to allocate two DMA buffers but may allocate a single buffer or none at all. If it fails to allocate the first buffer, it still tries to allocate the second buffer, even though it won't be used. Change it to not bother trying to allocate the second buffer if the first one fails. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aee447566d08b7b0da482c4a9d8dc7a8332e4d69 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 10:11:20 2014 +0100 staging: comedi: remove comedi_board() All calls to the inline function `comedi_board()` in "comedidev.h" have been removed, so remove the function. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75fbdbf61dd9f68a28a5e233ad1ccdda7c6f94e8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 10:04:44 2014 +0100 staging: comedi: adl_pci9118: use dma_alloc_coherent() Use `dma_alloc_coherent()` to allocate the DMA buffers instead of using `__get_free_pages()` to allocate and `virt_to_bus()` to get the hardware address. The coherent buffers are fairly small - at most 4 pages (although there are two of them). Use of `virt_to_bus()` is discouraged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f39f87e9ea944ca07b53d8261ba60bfbf4f097da Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 10:04:43 2014 +0100 staging: comedi: adl_pci9118: don't overallocate DMA buffer The last parameter of `__get_free_pages()` is log2 (the 'order') of the number of pages to be allocated. This driver seems to think it is the linear number of pages, so `pci9118_alloc_dma()` first tries to allocate 16 pages, but only uses 4 of them, setting the buffer size to PAGE_SIZE multiplied by the 'order'. If the allocation fails, it tries progressively smaller orders, down to 0. If the allocation at order 0 succeeds, the buffer size is set to 0, which is likely to cause problems. Set the buffer size to `PAGE_SIZE` shifted left by the allocation order. Since the maximum buffer size previously used was 4, start with an allocation order of 2 instead of 4. Rename the `pages` member of `struct pci9118_dmabuf` (and the local variable in `pci9118_alloc_dma()`) to `order` to make it clearer what it is. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5733baf238533e9df41d92948e1ace5e0eae1de Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 10:04:42 2014 +0100 staging: comedi: adl_pci9118: don't allocate 2nd DMA buffer on failure `pci9118_alloc_dma()` tries to allocate two DMA buffers but may allocate a single buffer or none at all. If it fails to allocate the first buffer, it still tries to allocate the second buffer, even though it won't be used. Change it to not bother trying to allocate the second buffer if the first one fails. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27f5a85fb535296ebaa8334627774f0201df8a11 Merge: caf382f 2017cff Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 19 15:21:21 2014 -0700 Merge tag 'iio-for-3.18b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: Second round of new IIO drivers, features and cleanups for the 3.18 cycle. New drivers and part support * Bosch bmg160 Gyroscope driver * Dyna-Image al3320a ambient light sensor driver * Bosh bmi055 gyroscope part driver (accelerometer part supported by bmc150) * isl29018 - add support for isl29023 and isl29035 * kxcjk-1013 - add support for kxcj9-1008 and kxtj2-1009 * bmc150 - additional part support (BMI055 accelerometer part, BMA255, BMA222E, BMA250E and BMA280). Different resolutions but otherwise similar parts. * bma180 - add BMA250 (note different from the BMA250E support above despite the naming). A lot of driver reworking lead up to this - described below. New features * kxcjk1013 - add threshold event support. * rockchip - document DT bindings. * isl29018 - ACPI support * bma180 - enable use without IRQ Cleanups * Tree wide - drop owner field assignment if using the module_platform_driver helper as that assigns it anyway. * kxcjk1013 - drop a redundant assignment of the current range and fix a a defined but not used warning. * inv_mpu6050 - Remove an unnecessary cast form a void pointer. * rockchip - drop and unused variable. * at91_adc - make a local function static. * st-sensors-core - correctly handle an error in setting in st_sensors_set_drdy_int_pin * isl29018 - typo fix * bmc150 - fix incorrect scale value for 16G range (Driver new this cycle) * bmc150 - fix issues when CONFIG_PM_RUNTIME not set (Driver new this cycle) * ad7606 - line length tidy up. * bmg160 - set power state only if PM_RUNTIME is defined. * ak8975 - fix some unnecessary casting between char * and const char * * bma180 - prefix remaining bits and bobs with bma180_ and ensure consistent. - use a bool instead of an int for state (as its either on or off). - expose the temperature channel - statically allocate buffers to avoid need for update_scan_mode callback. - refactor to allow futher chip variants including support for part specific config and disable code + different resolutions. commit 213db49399c05a98b529fc030b2dfbde4d6a83f2 Merge: ce4df0b 72a65a0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 19 15:18:00 2014 -0700 Merge tag 'usb-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next Felipe writes: usb: changes for v3.18 merge window Quite big pull request this time. Audio and UVC gadgets can now be used with our configfs-based binding. We have three PHY drivers being removed because a new one has been added using new PHY framework. Gadget framework got a new ->reset callback preparing for some other changes to come on next merge window. A few new drivers came in as well; among those we have a new UDC driver from Xilinx and two new glue layers for DWC3 (ST and Qualcomm). DWC3 also learned about tracepoints which will help debugging quite a bit. Other than that, a big series of non-critical fixes and cleanups. All patches have been on linux-next for quite a bit of time and I boot tested these changes on platforms I have access to and work with mainline. Signed-of-by: Felipe Balbi <balbi@xxxxxx> commit 00e262fd8744678262a0f662f1b5d45fc1f52e10 Author: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Date: Tue Sep 16 14:56:37 2014 -0700 Documentation/sysfs-rules.txt: Add device attribute error code documentation Provide some entry-level statements about what to expect from sysfs device attribute read/store return codes, both for users and kernel developers. Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Azael Avalos <coproscefalo@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c62f606b0db9f5ee47fbc20a5fc8ddcc803841a Merge: 58310b3 6fbac83 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 17:35:30 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-09-18 This series contains updates to ixgbe and ixgbevf. Ethan Zhao cleans up ixgbe and ixgbevf by removing bd_number from the adapter struct because it is not longer useful. Mark fixes ixgbe where if a hardware transmit timestamp is requested, an uninitialized workqueue entry may be scheduled. Added a check for a PTP clock to avoid that. Jacob provides a number of cleanups for ixgbe. Since we may call ixgbe_acquire_msix_vectors() prior to registering our netdevice, we should not use the netdevice specific printk and use e_dev_warn() instead. Similar to how ixgbevf handles acquiring MSI-X vectors, we can return an error code instead of relying on the flag being set. This makes it more clear that we have failed to setup MSI-X mode and will make it easier to consolidate MSI-X related code into a single function. In the case of disabling DCB, it is not an error since we still can function, we just have to let the user know. So use e_dev_warn() instead of e_err(). Added warnings for other features that are disabled when we are without MSI-X support. Cleanup flags that are no longer used or needed. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58310b3fc6aaa4f896ad3cbcd88851e7ad0908f6 Merge: 54003f1 b1b6b4d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 17:30:16 2014 -0400 Merge branch 'mlx4-next' Or Gerlitz says: ==================== mlx4: CQE/EQE stride support This series from Ido Shamay is intended for archs having cache line larger then 64 bytes. Since our CQE/EQEs are generally 64B in those systems, HW will write twice to the same cache line consecutively, causing pipe locks due to he hazard prevention mechanism. For elements in a cyclic buffer, writes are consecutive, so entries smaller than a cache line should be avoided, especially if they are written at a high rate. Reduce consecutive writes to same cache line in CQs/EQs, by allowing the driver to increase the distance between entries so that each will reside in a different cache line. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1b6b4da7867d220f0da5f6686b869b304c5459b Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Sep 18 11:51:01 2014 +0300 net/mlx4_en: Add mlx4_en_get_cqe helper This function derives the base address of the CQE from the CQE size, and calculates the real CQE context segment in it from the factor (this is like before). Before this change the code used the factor to calculate the base address of the CQE as well. The factor indicates in which segment of the cqe stride the cqe information is located. For 32-byte strides, the segment is 0, and for 64 byte strides, the segment is 1 (bytes 32..63). Using the factor was ok as long as we had only 32 and 64 byte strides. However, with larger strides, the factor is zero, and so cannot be used to calculate the base of the CQE. The helper uses the same method of CQE buffer pulling made by all other components that reads the CQE buffer (mlx4_ib driver and libmlx4). Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43c816c67a536cfcfc24da50153115b75eca94f0 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Sep 18 11:51:00 2014 +0300 net/mlx4_core: Cache line EQE size support Enable mlx4 interrupt handler to work with EQE stride feature, The feature may be enabled when cache line is bigger than 64B. The EQE size will then be the cache line size, and the context segment resides in [0-31] offset. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77507aa249aecd06fa25ad058b64481e46887a01 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Sep 18 11:50:59 2014 +0300 net/mlx4_core: Enable CQE/EQE stride support This feature is intended for archs having cache line larger then 64B. Since our CQE/EQEs are generally 64B in those systems, HW will write twice to the same cache line consecutively, causing pipe locks due to he hazard prevention mechanism. For elements in a cyclic buffer, writes are consecutive, so entries smaller than a cache line should be avoided, especially if they are written at a high rate. Reduce consecutive writes to same cache line in CQs/EQs, by allowing the driver to increase the distance between entries so that each will reside in a different cache line. Until the introduction of this feature, there were two types of CQE/EQE: 1. 32B stride and context in the [0-31] segment 2. 64B stride and context in the [32-63] segment This feature introduces two additional types: 3. 128B stride and context in the [0-31] segment (128B cache line) 4. 256B stride and context in the [0-31] segment (256B cache line) Modify the mlx4_core driver to query the device for the CQE/EQE cache line stride capability and to enable that capability when the host cache line size is larger than 64 bytes (supported cache lines are 128B and 256B). The mlx4 IB driver and libmlx4 need not be aware of this change. The PF context behaviour is changed to require this change in VF drivers running on such archs. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54003f119c26573d3bb86a5efc64f3e5fd43b8c6 Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Wed Sep 17 23:23:12 2014 +0200 net: fix sparse warnings in SNMP_UPD_PO_STATS(_BH) ptr used to be a non __percpu pointer (result of a this_cpu_ptr assignment, 7d720c3e4f0c4 ("percpu: add __percpu sparse annotations to net")). Since d25398df59b56 ("net: avoid reloads in SNMP_UPD_PO_STATS"), that's no longer the case, SNMP_UPD_PO_STATS uses this_cpu_add and ptr is now __percpu. Silence sparse warnings by preserving the original type and annotation, and remove the out-of-date comment. warning: incorrect type in initializer (different address spaces) expected unsigned long long *ptr got unsigned long long [noderef] <asn:3>*<noident> warning: incorrect type in initializer (different address spaces) expected void const [noderef] <asn:3>*__vpp_verify got unsigned long long *<noident> warning: incorrect type in initializer (different address spaces) expected void const [noderef] <asn:3>*__vpp_verify got unsigned long long *<noident> Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb5690d2458340b645ea3b36e8db560cb3272e65 Merge: 4e2840e 4565e99 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 17:15:40 2014 -0400 Merge branch 'fou-next' Tom Herbert says: ==================== net: foo-over-udp (fou) This patch series implements foo-over-udp. The idea is that we can encapsulate different IP protocols in UDP packets. The rationale for this is that networking devices such as NICs and switches are usually implemented with UDP (and TCP) specific mechanims for processing. For instance, many switches and routers will implement a 5-tuple hash for UDP packets to perform Equal Cost Multipath Routing (ECMP) or RSS (on NICs). Many NICs also only provide rudimentary checksum offload (basic TCP and UDP packet), with foo-over-udp we may be able to leverage these NICs to offload checksums of tunneled packets (using checksum unnecessary conversion and eventually remote checksum offload) An example encapsulation of IPIP over FOU is diagrammed below. As illustrated, the packet overhead for FOU is the 8 byte UDP header. +------------------+ | IPv4 hdr | +------------------+ | UDP hdr | +------------------+ | IPv4 hdr | +------------------+ | TCP hdr | +------------------+ | TCP payload | +------------------+ Conceptually, FOU should be able to encapsulate any IP protocol. The FOU header (UDP hdr.) is essentially an inserted header between the IP header and transport, so in the case of TCP or UDP encapsulation the pseudo header would be based on the outer IP header and its length field must not include the UDP header. * Receive In this patch set the RX path for FOU is implemented in a new fou module. To enable FOU for a particular protocol, a UDP-FOU socket is opened to the port to receive FOU packets. The socket is mapped to the IP protocol for the packets. The XFRM mechanism used to receive encapsulated packets (udp_encap_rcv) for the port. Upon reception, the UDP is removed and packet is reinjected in the stack for the corresponding protocol associated with the socket (return -protocol from udp_encap_rcv function). GRO is provided with the appropriate fou_gro_receive and fou_gro_complete. These routines need to know the encapsulation protocol so we save that in udp_offloads structure with the port and pass it in the napi_gro_cb structure. * TX This patch series implements FOU transmit encapsulation for IPIP, GRE, and SIT. This done by some common infrastructure in ip_tunnel including an ip_tunnel_encap to perform FOU encapsulation and common configuration to enable FOU on IP tunnels. FOU is configured on existing tunnels and does not create any new interfaces. The transmit and receive paths are independent, so use of FOU may be assymetric between tunnel endpoints. * Configuration The fou module using netlink to configure FOU receive ports. The ip command can be augmented with a fou subcommand to support this. e.g. to configure FOU for IPIP on port 5555: ip fou add port 5555 ipproto 4 GRE, IPIP, and SIT have been modified with netlink commands to configure use of FOU on transmit. The "ip link" command will be augmented with an encap subcommand (for supporting various forms of secondary encapsulation). For instance, to configure an ipip tunnel with FOU on port 5555: ip link add name tun1 type ipip \ remote 192.168.1.1 local 192.168.1.2 ttl 225 \ encap fou encap-sport auto encap-dport 5555 * Notes - This patch set does not implement GSO for FOU. The UDP encapsulation code assumes TEB, so that will need to be reimplemented. - When a packet is received through FOU, the UDP header is not actually removed for the skbuf, pointers to transport header and length in the IP header are updated (like in ESP/UDP RX). A side effect is the IP header will now appear to have an incorrect checksum by an external observer (e.g. tcpdump), it will be off by sizeof UDP header. If necessary we could adjust the checksum to compensate. - Performance results are below. My expectation is that FOU should entail little overhead (clearly there is some work to do :-) ). Optimizing UDP socket lookup for encapsulation ports should help significantly. - I really don't expect/want devices to have special support for any of this. Generic checksum offload mechanisms (NETIF_HW_CSUM and use of CHECKSUM_COMPLETE) should be sufficient. RSS and flow steering is provided by commonly implemented UDP hashing. GRO/GSO seem fairly comparable with LRO/TSO already. * Performance Ran netperf TCP_RR and TCP_STREAM tests across various configurations. This was performed on bnx2x and I disabled TSO/GSO on sender to get fair comparison for FOU versus non-FOU. CPU utilization is reported for receive in TCP_STREAM. GRE IPv4, FOU, UDP checksum enabled TCP_STREAM 24.85% CPU utilization 9310.6 Mbps TCP_RR 94.2% CPU utilization 155/249/460 90/95/99% latencies 1.17018e+06 tps IPv4, FOU, UDP checksum disabled TCP_STREAM 31.04% CPU utilization 9302.22 Mbps TCP_RR 94.13% CPU utilization 154/239/419 90/95/99% latencies 1.17555e+06 tps IPv4, no FOU TCP_STREAM 23.13% CPU utilization 9354.58 Mbps TCP_RR 90.24% CPU utilization 156/228/360 90/95/99% latencies 1.18169e+06 tps IPIP FOU, UDP checksum enabled TCP_STREAM 24.13% CPU utilization 9328 Mbps TCP_RR 94.23 149/237/429 90/95/99% latencies 1.19553e+06 tps FOU, UDP checksum disabled TCP_STREAM 29.13% CPU utilization 9370.25 Mbps TCP_RR 94.13% CPU utilization 149/232/398 90/95/99% latencies 1.19225e+06 tps No FOU TCP_STREAM 10.43% CPU utilization 5302.03 Mbps TCP_RR 51.53% CPU utilization 215/324/475 90/95/99% latencies 864998 tps SIT FOU, UDP checksum enabled TCP_STREAM 30.38% CPU utilization 9176.76 Mbps TCP_RR 96.9% CPU utilization 170/281/581 90/95/99% latencies 1.03372e+06 tps FOU, UDP checksum disabled TCP_STREAM 39.6% CPU utilization 9176.57 Mbps TCP_RR 97.14% CPU utilization 167/272/548 90/95/99% latencies 1.03203e+06 tps No FOU TCP_STREAM 11.2% CPU utilization 4636.05 Mbps TCP_RR 59.51% CPU utilization 232/346/489 90/95/99% latencies 813199 tps v2: - Removed encap IP tunnel ioctls, configuration is done by netlink only. - Don't export fou_create and fou_destroy, they are currently intended to be called within fou module only. - Filled on tunnel netlink structures and functions for new values. v3: - Fixed change logs for some of the patches. - Remove inline from fou_gro_receive and fou_gro_complete, let compiler decide on these. v4: - Don't need to cast void in fou_from_sock - Removed incorrest htons for port in fou_destroy - Some minor cleanup for readability ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4565e9919cda747815547e2e5d7b78f15efbffdf Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:26:01 2014 -0700 gre: Setup and TX path for gre/UDP foo-over-udp encapsulation Added netlink attrs to configure FOU encapsulation for GRE, netlink handling of these flags, and properly adjust MTU for encapsulation. ip_tunnel_encap is called from ip_tunnel_xmit to actually perform FOU encapsulation. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 473ab820dd4af588785a8e10b9c1547aadb4fd72 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:26:00 2014 -0700 ipip: Setup and TX path for ipip/UDP foo-over-udp encapsulation Add netlink handling for IP tunnel encapsulation parameters and and adjustment of MTU for encapsulation. ip_tunnel_encap is called from ip_tunnel_xmit to actually perform FOU encapsulation. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14909664e4e192f4c6f6fcdccd9919af7cf783ab Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:25:59 2014 -0700 sit: Setup and TX path for sit/UDP foo-over-udp encapsulation Added netlink handling of IP tunnel encapulation paramters, properly adjust MTU for encapsulation. Added ip_tunnel_encap call to ipip6_tunnel_xmit to actually perform FOU encapsulation. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56328486539ddd07cbaafec7a542a2c8a3043623 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:25:58 2014 -0700 net: Changes to ip_tunnel to support foo-over-udp encapsulation This patch changes IP tunnel to support (secondary) encapsulation, Foo-over-UDP. Changes include: 1) Adding tun_hlen as the tunnel header length, encap_hlen as the encapsulation header length, and hlen becomes the grand total of these. 2) Added common netlink define to support FOU encapsulation. 3) Routines to perform FOU encapsulation. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afe93325bc02a5b2dea0cd7d78225de692265e6e Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:25:57 2014 -0700 fou: Add GRO support Implement fou_gro_receive and fou_gro_complete, and populate these in the correponsing udp_offloads for the socket. Added ipproto to udp_offloads and pass this from UDP to the fou GRO routine in proto field of napi_gro_cb structure. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 23461551c00628c3f3fe9cf837bf53cf8f212b63 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:25:56 2014 -0700 fou: Support for foo-over-udp RX path This patch provides a receive path for foo-over-udp. This allows direct encapsulation of IP protocols over UDP. The bound destination port is used to map to an IP protocol, and the XFRM framework (udp_encap_rcv) is used to receive encapsulated packets. Upon reception, the encapsulation header is logically removed (pointer to transport header is advanced) and the packet is reinjected into the receive path with the IP protocol indicated by the mapping. Netlink is used to configure FOU ports. The configuration information includes the port number to bind to and the IP protocol corresponding to that port. This should support GRE/UDP (http://tools.ietf.org/html/draft-yong-tsvwg-gre-in-udp-encap-02), as will as the other IP tunneling protocols (IPIP, SIT). Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce3e02867ed8e12c6e6e83a793d273c1f4d929ea Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:25:55 2014 -0700 net: Export inet_offloads and inet6_offloads Want to be able to use these in foo-over-udp offloads, etc. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e2840eee6b21cb5230bd7cac8407badb201aac3 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Wed Sep 17 11:11:46 2014 -0700 net: sched: cls_u32: rcu can not be last node tc_u32_sel 'sel' in tc_u_knode expects to be the last element in the structure and pads the structure with tc_u32_key fields for each key. kzalloc(sizeof(*n) + s->nkeys*sizeof(struct tc_u32_key), GFP_KERNEL) CC: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab34f6480806263d7b4d00fa06d3647bac73b68c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 17 08:05:05 2014 -0700 net: sched: use __skb_queue_head_init() where applicable pfifo_fast and htb use skb lists, without needing their spinlocks. (They instead use the standard qdisc lock) We can use __skb_queue_head_init() instead of skb_queue_head_init() to be consistent. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ce77802f30b1820a88731f77b683567902ab2ef Merge: 77f4f62 83bad20 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 16:31:13 2014 -0400 Merge branch 'bnx2x-next' Yuval Mintz says: ==================== bnx2x: Support new Multi-function modes This patch series adds support for 2 new Multi-function modes - Unified Fabric Port [UFP] as well as nic partitioning 1.5 [NPAR1.5]. With the addition of the new multi-function modes, the series also revises some of the storage-related multi-function macros. [Do notice this series has several small issues with checkpatch] ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83bad206f7dd6638251840fa7846680f44c30bb4 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Sep 17 16:24:38 2014 +0300 bnx2x: Add a fallback multi-function mode NPAR1.5 When using new Multi-function modes it's possible that due to incompatible configuration management FW will fallback into an existing mode. Notice that at the moment this fallback is exactly the same as the already existing switch-independent multi-function mode, but we still use existing infrastructure to hold this information [in case some small differences will arise in the future]. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7609647e25a486174333ab01dcdaa23b517b8684 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Sep 17 16:24:37 2014 +0300 bnx2x: New multi-function mode: UFP Add support for a new multi-function mode based on the Unified Fabric Port system specifications. Support includes configuration of: 1. Outer vlan tags. 2. Bandwidth settings. 3. Virtual link enable/disable. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e98ffc21cacb170c2d2c01d110ed53fedb95768 Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Wed Sep 17 16:24:36 2014 +0300 bnx2x: Changes with storage & MAC macros Rearrange macros to query for storage-only modes in different MF environment. Improves the readibility and maintainability of the code. E.g.: - if (IS_MF_STORAGE_SD(bp) || IS_MF_FCOE_AFEX(bp)) + if (IS_MF_STORAGE_ONLY(bp)) In addition, this removes the need for bnx2x_is_valid_ether_addr(). Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77f4f6220a98f4f3eb08be10230d7e8c604aa2b8 Merge: 2e4e441 d8ebfed Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 16:27:13 2014 -0400 Merge branch 'fec-next' Florian Fainelli says: ==================== net: phy: Broadcom BCM7xxx PHY workaround update This patch sets the change to of_phy_connect() that you have seen before, this time with the full context of why it is useful and applicable here. Due to some design decision, the internal PHY on Broadcom BCM7xxx chips is not entirely self contained and does not report its internal revision through MII_PHYSID2, that is left to external PHY designs. This forces us to get the PHY revision from the GENET and SF2 switch drivers because those two peripherals integrate such a PHY and do contain the PHY revision in their registers. The approach taken here is hopefully easy to extend to similar needs for other chips/ as well. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d8ebfed3f11b62ebc192af3cab64d835ff047e74 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:56 2014 -0700 net: phy: bcm7xxx: utilize PHY revision in config_init Now that the GENET and SF2 drivers have been updated to communicate us what is the revision of the BCM7xxx integrated PHY, utilize that information in the config_init() callback to call into the appropriate workaround function based on our revision. While at it, we also print the revision and patch level to help debug new chips. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa9aef77c76113725d9dbf124c4dab414326b0a3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:55 2014 -0700 net: dsa: bcm_sf2: communicate integrated PHY revision to PHY driver The integrated BCM7xxx PHY contains no useful revision information in its MII_PHYSID2 bits 3:0, that information is instead contained in the SWITCH_REG_PHY_REVISION register. Read this register, store its value, and return it by implementing the dsa_switch::get_phy_flags() callback accordingly. The register layout is already matching what the BCM7xxx PHY driver is expecting to find. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6819563e646a7f3692836daefd12cd86c697759f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:54 2014 -0700 net: dsa: allow switch drivers to specify phy_device::dev_flags Some switch drivers (e.g: bcm_sf2) may have to communicate specific workarounds or flags towards the PHY device driver. Allow switches driver to be delegated that task by introducing a get_phy_flags() callback which will do just that. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 487320c541430a7a45eda668a26423e06eb32ad5 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:53 2014 -0700 net: bcmgenet: communicate integrated PHY revision to PHY driver The integrated BCM7xxx PHY contains no useful revision information in its MII_PHYSID2 bits 3:0, that information is instead contained in the GENET hardware block. We already read the GENET 32-bit revision register, so store the integrated PHY revision in the driver private structure, and then communicate this revision value to the PHY driver by overriding the phy_flags value. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80780a54ecded1647e661ababde13554a149f7f3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:52 2014 -0700 net: bcmgenet: remove PHY_BRCM_100MBPS_WAR Now that we have removed the need for the PHY_BRCM_100MBPS_WAR flag, we can remove it from the GENET driver and the broadcom shared header file. The PHY driver checks the PHY supported bitmask instead. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e18556ee3bd83ed58f9fd77f66f05d17213a95f9 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:51 2014 -0700 net: phy: bcm7xxx: do not use PHY_BRCM_100MBPS_WAR There is no need for the PHY driver to check PHY_BRCM_100MBPS_WAR since that is redundant with checking the PHY device supported features. Get rid of that workaround flag. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb7d93496f7ac203f7c3e9678000d1c83eb4e0ba Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:50 2014 -0700 net: phy: broadcom: add helper for PHY revision and patch level The Broadcom BCM7xxx internal PHYs do not contain any useful revision information in the low 4-bits of their MII_PHYSID2 (MII register 3) which could allow us to properly identify them. As a result, we need the actual hardware block integrating these PHYs: GENET or the SF2 switch to tell us what revision they are built with. To assist with that, add two helper macros for fetching the the PHY revision and patch level from the struct phy_device::dev_flags. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f63715138233db9f1c2afff33f7d8192a29ff91 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:49 2014 -0700 of: mdio: honor flags passed to of_phy_connect Commit f9a8f83b04e0 ("net: phy: remove flags argument from phy_{attach, connect, connect_direct}") removed the flags argument to the PHY library calls to: phy_{attach,connect,connect_direct}. Most Device Tree aware drivers call of_phy_connect() with the flag argument set to 0, but some of them might want to set a different value there in order for the PHY driver to key a specific behavior based on the phy_device::phy_flags value. Allow such drivers to set custom phy_flags as part of the of_phy_connect() call since of_phy_connect() does start the PHY state machine, it will call into the PHY driver config_init() callback which is usually where a specific phy_flags value is important. Fixes: f9a8f83b04e0 ("net: phy: remove flags argument from phy_{attach, connect, connect_direct}") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e4e44107176d552f8bb1bb76053e850e3809841 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 17 04:49:49 2014 -0700 net: add alloc_skb_with_frags() helper Extract from sock_alloc_send_pskb() code building skb with frags, so that we can reuse this in other contexts. Intent is to use it from tcp_send_rcvq(), tcp_collapse(), ... We also want to replace some skb_linearize() calls to a more reliable strategy in pathological cases where we need to reduce number of frags. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb0446c1b625326682ec4f9d1dd10779433646bc Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Sep 19 15:20:36 2014 -0500 Revert "powerpc/fsl_msi: spread msi ints across different MSIRs" This reverts commit c822e73731fce3b49a4887140878d084d8a44c08. This commit conflicted with a bitmap allocator change that partially accomplishes the same thing, but which does so more correctly. Revert this one until it can be respun on top of the correct change. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit cb93471acc42b71fa3f2e46805020f2b323db64f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 17 03:14:42 2014 -0700 tcp: do not fake tcp headers in tcp_send_rcvq() Now we no longer rely on having tcp headers for skbs in receive queue, tcp repair do not need to build fake ones. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6db35ad2373eed5deb3b105ae7c1e9de3e34ae94 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Sep 18 14:05:02 2014 -0500 powerpc/mm: Use common paging_init() for NUMA Commit 1c98025c6c95bc057a25e2c6596de23288c68160 "powerpc: Dynamic DMA zone limits" updated how zones are created in paging_init(), but missed the NUMA version of paging_init(). This was noticed via a linker error, since dma_pfn_limit_to_zone() was, like the non-NUMA paging_init(), limited by #ifndef CONFIG_NEED_MULTIPLE_NODES. It turns out that the NUMA paging_init() was not actually doing anything different from the standard paging_init(), other than a couple debug prints, a couple 32-bit-only ifdef sections, and a call to mark_nonram_nosave(). It's not clear whether mark_nonram_nosave() is inherently wrong to do for NUMA, or just not useful on targets that have NUMA, but for now I'm preserving the existing behavior. Fixes: 1c98025c6c9 "powerpc: Dynamic DMA zone limits" Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 94105a762016aea3284c07c813017b90a6325f10 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Sep 16 19:47:00 2014 -0500 powerpc/85xx/defconfig: Remove duplicate CONFIG_RTC_DRV_DS1307 Commit a95e8c28b3dc "powerpc/defconfig: update RTC support" duplicated the CONFIG_RTC_DRV_DS1307 symbol in mpc85xx_defconfig and mpc85xx_smp_defconfig, resulting in this: arch/powerpc/configs/mpc85xx_smp_defconfig:217:warning: override: reassigning to symbol RTC_DRV_DS1307 Fixes: a95e8c28b3dc "powerpc/defconfig: update RTC support" Cc: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 3ff64259616225c27f3fae8ac05c77c36bfd0348 Merge: 79ba2b4 c8fffce Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 15:57:46 2014 -0400 Merge branch 'udp-tunnel-common' Andy Zhou says: ==================== Refactor vxlan and l2tp to use new common UDP tunnel APIs This patch series add a few more UDP tunnel APIs and refactoring current UDP tunnel based protocols, vxlan and l2tp to make use of the new APIs. The added APIs are setup_udp_tunnel_sock(), udp_tunnel_xmit_skb() and udp_tunnel_sock_release(). Those implementation logics already exist in current vxlan and l2tp implementation. Move them to common APIs to reduce code duplications. Also split udp_tunnel.c into net/ipv4/udp_tunnel.c and net/ipv6/ip6_udp_tunnel.c to maintain proper IP protocol separation. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8fffcea0a079f933b4e98adf9ebaa384dc943b6 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Tue Sep 16 17:31:19 2014 -0700 l2tp: Refactor l2tp core driver to make use of the common UDP tunnel functions Simplify l2tp implementation using common UDP tunnel APIs. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit acbf74a763002bdc74ccfcdac22360bf18e305c5 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Tue Sep 16 17:31:18 2014 -0700 vxlan: Refactor vxlan driver to make use of the common UDP tunnel functions. Simplify vxlan implementation using common UDP tunnel APIs. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a93cc9052748c6355ec9d5b6c38b77f85f1cb0d Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Tue Sep 16 17:31:17 2014 -0700 udp-tunnel: Add a few more UDP tunnel APIs Added a few more UDP tunnel APIs that can be shared by UDP based tunnel protocol implementation. The main ones are highlighted below. setup_udp_tunnel_sock() configures UDP listener socket for receiving UDP encapsulated packets. udp_tunnel_xmit_skb() and upd_tunnel6_xmit_skb() transmit skb using UDP encapsulation. udp_tunnel_sock_release() closes the UDP tunnel listener socket. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd384412e199b62c3ddaabd18dce86d0e164c5b9 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Tue Sep 16 17:31:16 2014 -0700 udp_tunnel: Seperate ipv6 functions into its own file. Add ip6_udp_tunnel.c for ipv6 UDP tunnel functions to avoid ifdefs in udp_tunnel.c Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79ba2b4c5d3779d68b4cd3a569d483f1778f2b5a Merge: 709f6c58 37d6017 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 15:36:54 2014 -0400 Merge branch 'fec-next' Frank Li says: ==================== net: fec: add interrupt coalescence improve error handle when parse queue number. add interrupt coalescence feature. Change from v2 to v3 - add error check in fec_enet_set_coalesce - fix a run time warning to get clock rate in interrupt - fix commit message use TKT number Change from v1 to v2 - fix indention - use errata number instead of TKT ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37d6017b84f7a33f1089a7fc586554746e2c9f7b Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Wed Sep 17 05:18:54 2014 +0800 net: fec: Workaround for imx6sx enet tx hang when enable three queues When enable three queues on imx6sx enet, and then do tx performance test with iperf tool, after some time running, tx hang. Found that: If uDMA is running, software set TDAR may cause tx hang. If uDMA is in idle, software set TDAR don't cause tx hang. There is a TDAR race condition for mutliQ when the software sets TDAR and the UDMA clears TDAR simultaneously or in a small window (2-4 cycles). This will cause the udma_tx and udma_tx_arbiter state machines to hang. The issue exist at i.MX6SX enet IP. So, the Workaround is checking TDAR status four time, if TDAR cleared by hardware and then write TDAR, otherwise don't set TDAR. The patch is only one Workaround for the issue ERR007885. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73e7228941b135ecca14ab101752bd2d38126046 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Wed Sep 17 05:18:53 2014 +0800 net:fec: increase DMA queue number when enable interrupt coalesce, 8 BD is not enough. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d851b47b22fc4c7b5a739fc5cbc2cbee07adec90 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Wed Sep 17 05:18:52 2014 +0800 net: fec: add interrupt coalescence feature support i.MX6 SX support interrupt coalescence feature By default, init the interrupt coalescing frame count threshold and timer threshold. Supply the ethtool interfaces as below for user tuning to improve enet performance: rx_max_coalesced_frames rx_coalesce_usecs tx_max_coalesced_frames tx_coalesce_usecs Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7bd75cf53e8b65f48b21eec8653326897c29a96 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed Sep 17 05:18:51 2014 +0800 net: fec: refine error handle of parser queue number from DT check tx and rx queue seperately. fix typo, "Invalidate" and "fail". change pr_err to pr_warn. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 709f6c58d4dcd2b300c914ec17b297acae4cb998 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Sep 16 12:35:35 2014 -0700 sparc: bpf_jit: add SKF_AD_PKTTYPE support to JIT commit 233577a22089 ("net: filter: constify detection of pkt_type_offset") allows us to implement simple PKTTYPE support in sparc JIT Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb98d9d1d2e791f368295c9c09c9a03fe3ac0e62 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 18 23:33:49 2014 +0400 mmc: tmio: prevent endless loop in tmio_mmc_set_clock() I spent a couple of days with the driver just hanging due to me forgetting to specify the external crystal frequency, so that clk_get_rate() returned 0 and thus the loop in tmio_mmc_set_clock() never ended. I don't think that's an acceptable behavior, so I suggest that the minimum frequency is checked for 0 in tmio_mmc_host_probe(). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b9bd7ff8069a7125da897de657da421c497d4f15 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Sep 10 00:23:24 2014 -0700 mmc: tmio: enable odd number size access Current tmio is using sd_ctrl_read16/write16_rep() for data transfer. It works if transfer size was even number, but, last 1 byte will be ignored if transfer size was odd number. This patch adds new tmio_mmc_transfer_data() and solve this issue. Tested-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3ccc11f6b82c34646c8a4233278251d9e9e99390 Author: Sean Paul <seanpaul@xxxxxxxxxxxx> Date: Tue Sep 9 15:58:45 2014 -0400 pinctrl: tegra: Add MIPI pad control This patch adds MIPI CSI/DSIB pad control mux register from the APB misc block to tegra pinctrl. Without writing to this register, the dsib pads are muxed as csi, and cannot be used. The register is not yet documented in the TRM, here is the description: 70000820: APB_MISC_GP_MIPI_PAD_CTRL_0 [31:02] RESERVED [01:01] DSIB_MODE [CSI=0,DSIB=1] [00:00] RESERVED Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ab95eac99c1714ede92800a9c33f4c96ce8d558c Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Sep 15 21:56:17 2014 -0700 MAINTAINERS: add l2-mtd.git, 'next' tree for MTD We've been semi-officially queueing patches here for a while, and it's in linux-next, so let's advertise it in MAINTAINERS. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit d48690383febbf17d958e909ff8f0d15f4497325 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:27 2014 +0200 eeepc-laptop: store_cpufv: return error if set_acpi fails The result of set_acpi is left unchecked, but it may return errors. If one occurs, send the error to the caller. There's no reason to lie about it, if set_acpi fails. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit a5c155b16f4c170d96d41fc6066f245f2d53604d Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:26 2014 +0200 eeepc-laptop: check proper return values in get_cpufv In get_cpufv the return value of get_acpi is stored in the cpufv struct. Right before this value is checked for errors, it is and'ed with 0xff. This means c->cur can never be less than zero. Besides that, the actual error value is ignored. c->num is also and'ed with 0xff, which means we can ignore values below zero. Check the result of get_acpi() right away. While at it, propagate the error if we got one. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 48d4a5b29c8d0cf544ffe96f5855452446b6f20d Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:25 2014 +0200 eeepc-laptop: make fan1_input really read-only In the instantiation of the fan1_input device attribute, NULL is passed as set function to store_sys_hwmon. The function pointer is never checked before dereferencing it. This is fine if we can guarantee that it will never be called with an invalid pointer, but we can't. If someone from user space decides to change the permissions on this attribute and write to it, kernel will crash. Introduce EEEPC_CREATE_SENSOR_ATTR_RO() to instantiate a read-only attribute, and declare fan1_input with it. This ensures store_sys_hwmon is never called with NULL parameters. If someone tries to write the attribute, the system will at least keep its sanity. This also causes EEEPC_CREATE_SENSOR_ATTR() to be only used for R/W attributes.This enables us to drop the _mode argument from the macro and use DEVICE_ATTR_RW() internally while we're at it. Append _RW to the name for readability. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 28ac85f71ad1e55199302a59757ed21e082b88b1 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:24 2014 +0200 eeepc-laptop: pull out SENSOR_STORE_FUNC and SENSOR_SHOW_FUNC macros Pull out EEEPC_SENSOR_STORE_FUNC and EEEPC_SENSOR_SHOW_FUNC. These macros define functions that call store_sys_hwmon() and show_sys_hwmon() respectively. This helps prevent duplication later on. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 6fe3a77f6296a6c995eb08d564bafec028c15a18 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:23 2014 +0200 eeepc-laptop: tell sysfs that the disp attribute is write-only The disp attribute is write-only, but sysfs doesn't know this. Currently show_sys_acpi() is mimicking sysfs behavior, if the underlying acpi call should fail. This was introduced in 6dff29b63a5bf2eaf3 "eeepc-laptop: disp attribute should be write-only". This is not ideal; behaving like sysfs is better left to sysfs. Introduce EEEPC_CREATE_DEVICE_ATTR_WO() to instantiate a write-only attribute, and declare the disp attribute with it. Sysfs makes sure userspace can only write to disp at all times. This removes the need for mimicking the sysfs behavior in show_sys_acpi() and store_sys_acpi(), but we'll stick with -EIO, as changing sysfs return values should not be taken lightly. This change also causes EEEPC_CREATE_DEVICE_ATTR() to be used only for R/W attributes. This enables us to drop the _mode argument from the macro and use DEVICE_ATTR_RW() internally while we're at it. Append _RW to the name for readability. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 9797132577aa53734f4e980f9008f617947fddc9 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:22 2014 +0200 eeepc-laptop: pull out ACPI_STORE_FUNC and ACPI_SHOW_FUNC macros Pull out macros EEEPC_ACPI_STORE_FUNC and EEEPC_ACPI_SHOW_FUNC. These macros define functions that call store_sys_acpi() and show_sys_acpi() respectively. This helps prevent duplication later on. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit bb382dbaba09e74d728160f398391960dda3faf1 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:21 2014 +0200 eeepc-laptop: use DEVICE_ATTR* to instantiate device_attributes Device attributes are instantiated manually, while we have DEVICE_ATTR* macros available to do much of the work for us. Let's use them. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 8c72fc8bd7c698d7b5c99b83e187fda0d1538e1a Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:20 2014 +0200 eeepc-laptop: change sysfs function names to API expectations The eeepc-laptop driver follows the function naming convention <action>_<attrname>(), while the sysfs macros are built around the convention <attrname>_<action>(). Rename the sysfs functions to the convention used by sysfs. This makes it easier to use the available API later on. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 39a3e17e0d5c50e382992eeed6bb62668c31ded7 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:19 2014 +0200 eeepc-laptop: clean up coding style Correct indentation and brace usage to comply with Documentation/CodingStyle. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 8125450cd855839c2f6d0eec86c560ffd02db374 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 16 20:04:25 2014 +0900 mtd: denali: fix indents and other trivial things - Fix indents - Do not break a line unless it is longer than 80 columns - Do not insert a whitespace before ';' - Use whitespaces around operators - Use braces for a "else" block where the "if" block uses ones. Besides, eliminate all the warnings reported by checkpatch.pl: - WARNING: quoted string split across lines - WARNING: else is not generally useful after a break or return - WARNING: Missing a blank line after declarations - WARNING: Avoid line continuations in quoted strings Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7d14ecd050a43ff80ad284027a521390af1c29be Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 16 20:04:24 2014 +0900 mtd: denali: remove unnecessary parentheses We should use parentheses only when they are necessary or they really improve the readability. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ba5f2bc2afbf598aa2efb35542cd0d40fce76c45 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Sep 19 09:37:19 2014 -0700 mtd: denali: remove another set-but-unused variable The variable "irq_status" in denali_read_page_raw() is set, but not used. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 72ed6ccd086f679aa61c79cd3af733756b72429e Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 19 14:58:53 2014 +0200 drm/exynos: switch to universal plane API The patch replaces legacy functions drm_plane_init() / drm_crtc_init() with drm_universal_plane_init() and drm_crtc_init_with_planes(). It allows to replace fake primary plane with the real one. Additionally the patch leaves cleanup of crtcs to core, this way planes and crtcs are cleaned in correct order. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 832316c704fe3d15ae6ca9a552ae80411d1bbbcd Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Thu Sep 18 14:19:01 2014 +0900 drm/exynos: use drm generic mmap interface This patch removes DRM_EXYNOS_GEM_MMAP ictrl feature specific to Exynos drm and instead uses drm generic mmap. We had used the interface specific to Exynos drm to do mmap directly, not to use demand paging which maps each page with physical memory at page fault handler. We don't need the specific mmap interface because the drm generic mmap which uses vm offset manager stuff can also do mmap directly. This patch makes a userspace region to be mapped with whole physical memory region allocated by userspace request when mmap system call is requested. Changelog v2: - do not set VM_IO, VM_DONTEXPEND and VM_DONTDUMP. These flags were already set by drm_gem_mmap - do not include <linux/anon_inodes.h>, which isn't needed anymore. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d931589c01a20595d67192f075f9c84093c43c45 Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Sep 17 22:48:45 2014 +0900 drm/exynos: remove DRM_EXYNOS_GEM_MAP_OFFSET ioctl This interface and relevant codes aren't used anymore. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 4a3ffedda2bdadf7ae315ae5f5f74477635d6bd6 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Thu Sep 18 17:50:35 2014 +0900 drm/exynos: factor out initial setting of each driver From fimd driver and vidi driver, dev->irq_enabled and dev->vblank_disable_allowed are set and also mixer needs them even if missed. It's duplicated so set them when loads drm driver. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit ad279310d7133805e8353d36fbf65d923bc2e228 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:13 2014 +0200 drm/exynos/hdmi: unregister connector on removal During component removal driver should unregister connector. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7c61b1ecabdf51d4c7094e9ea2ae657fab09f66e Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:12 2014 +0200 drm/exynos/dp: unregister connector on removal During component removal driver should unregister connector. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 90eac89726e6dee77a7997a0598a06df3adc1ac8 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:11 2014 +0200 drm/exynos/dpi: unregister connector and panel on removal During component removal it should unregister connector and optionally detach the panel. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 0ae460159faf0520228c554a728cc27d561d4b5b Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:10 2014 +0200 drm/exynos/dsi: unregister connector on removal During component unbind connector should be unregistered. Also DSI host should be unregistered after KMS cleanup. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 849b43187a71bfecf37ffbcf2f88a69062240933 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:08 2014 +0200 drm/exynos/fb: free exynos framebuffer on error In case drm_framebuffer_init fails exynos_fb should be freed before returning an error. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 78ef31e20452ddb1c101efae6147b910c5f454f5 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:07 2014 +0200 drm/exynos/fbdev: fix fbdev gem object cleanup exynos_gem_obj is used by exynos_drm_fbdev_destroy so it cannot be destroyed before calling the latter. exynos_gem_obj will be destroyed anyway by exynos_drm_fbdev_destroy->...->exynos_drm_fb_destroy. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 9f3dd7dbc5a5b6048d7dfccff5e0e9d8b50ff674 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:06 2014 +0200 drm/exynos: fix drm driver de-initialization order Since components have their own cleanup routines calling drm_mode_config_cleanup before component_unbind_all causes errors due to double free of KMS objects. The patch fixes it by changing de-initialization order. Now it is exactly opposite to init order. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a36ed466870ef65755492a69886a38362d33d90e Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:05 2014 +0200 drm/exynos/ipp: traverse ipp drivers list safely On ipp subsystem removal list of ipp drivers is traversed and their members are deleted. To do it properly safe version of list_for_each* should be used. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 53c5558d95f544864a09372a8ffeffac55e60b7c Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Thu Sep 11 17:04:03 2014 +0900 drm/exynos: update to use component match support Update Exynos's DRM driver to use component match support rater than add_components. Changelog v2: - release devices and drivers if failed. - change compare_of to compare_dev. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Tested-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit 18383cb92f0d19e76e0374e573067e627cab9c92 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 2 14:56:21 2014 +0200 drm/exynos/ipp: add file checks for ioctls Process should not have access to ipp nodes created by another process. The patch adds necessary checks. It also simplifies lookup for command node. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d9b9734c5d2e856d59c074d272a68db91a812857 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 2 14:55:06 2014 +0200 drm/exynos/ipp: remove file argument from node related functions Since file pointer is preserved in c_node passing it as argument in node functions is redundant. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 20ed715ebb71eba110b08754412bd0bd5b062cbd Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:39 2014 +0200 drm/exynos/fimc: fix source buffer registers FIMC in default mode of operation uses only one input buffer, but the driver used also second buffer, as a result only the first frame was processed correctly. The patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 56442d83401f122cc5c38391bb5960bb6a52a343 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:38 2014 +0200 drm/exynos/fimc: simplify buffer queuing The patch removes redundant checks, redundant HW reads and simplifies code. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c7b3014bf90d91b0559b3b49f4c0acef7170ece6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:37 2014 +0200 drm/exynos/fimc: do not enable fimc twice The patch removes redundant H/W activation. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7794a775f4c77428370e81f98d9c5fb587610498 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:36 2014 +0200 drm/exynos/fimc: avoid clearing overflow bits Overflow bits shall be cleared by H/W. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c0592c854959214a2b08eeb776afae5dfe5dc053 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:35 2014 +0200 drm/exynos/ipp: remove events during command cleaning Events were removed only during stop command, as a result there were memory leaks if program prematurely exited. This patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8aa99dd3762b67e6555a9f3ef015989bbace39a5 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:34 2014 +0200 drm/exynos/ipp: stop hardware before freeing memory Memory shouldn't be freed when hardware is still running. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 05afb1ac5391a65b0f7e024064ab8f56397f6559 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:33 2014 +0200 drm/exynos/ipp: replace work_struct casting with better constructs Type casting should be avoided if possible. In case of work_struct it can be simply replaced by reference to member field. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 22e816f87cb0c0a4e507ec7a26cb08bfeef2daa4 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:32 2014 +0200 drm/exynos/ipp: clean memory nodes on command node cleaning The nodes should be removed before removing command node. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c4a856a733b0aa3c62ce53efa20cc09feefb7739 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:31 2014 +0200 drm/exynos/ipp: move nodes cleaning to separate function The patch introduces ipp_clean_mem_nodes function which replaces redundant code. Additionally memory node function definitions are moved up to increase its visibility. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 6602ffb84949779fd5d27399ca5f608a409a2a83 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:30 2014 +0200 drm/exynos/ipp: free partially allocated resources on error In case of allocation errors some already allocated buffers were not freed. The patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 985c293d094ae640a25e0c0e78d161a3fcb95b5d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:29 2014 +0200 drm/exynos/ipp: remove unused field in command node Since command node have file pointer dev field became useless. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 21a825ee1f8d7ae697d1bf86bfc4294a990ed182 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:28 2014 +0200 drm/exynos/ipp: remove only related commands on file close On file close driver should remove only command nodes created via this file. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 945a0aad96d91ccb14b033cfe757994afb86bbc0 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:27 2014 +0200 drm/exynos/ipp: move file reference from memory to command node Command node should contain file reference to distinguish commands created by different processes. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 6f7d48ea6541ac8c1000b7515c9fc458ba3d0f21 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:26 2014 +0200 drm/exynos/ipp: cancel works before command node clean All pending works should be canceled prior to its removal. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 9b5bd1c42059212883ba5687afd9025a67f192a3 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:25 2014 +0200 drm/exynos/ipp: remove fake pm callbacks PM callbacks in ipp core do nothing, so the patch removes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit eb8a3bf73ecd894597dad2ded9aca43b53db167d Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Sep 1 22:27:10 2014 +0900 drm/exynos: fimd: fix window clear code To correctly disable hardware window during driver init, both enable bits (WINCONx_ENWIN in WINCON and SHADOWCON_CHx_ENABLE in SHADOWCON) must be cleared, otherwise hardware fails to re-enable such window later. While touching this function, also temporarily disable ctx->suspended flag to let fimd_wait_for_vblank function really to do its job. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 71b1f1956b4466b47551e73d4dd2145df4241eb8 Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Mon Sep 1 21:28:00 2014 +0900 drm/exynos/fbdev: set smem_len for fbdev Commit [0] stopped setting fix.smem_start and fix.smem_len when creating the fbdev. [0] 2f1eab8d8ab59e799f7d51d62410b398607a7bc3 drm/exynos/fbdev: don't set fix.smem/mmio_{start,len} However, smem_len is used by some userland applications to calculate the size for mmap. In particular, it is used by xf86-video-fbdev: http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/fbdevhw/fbdevhw.c?id=xorg-server-1.15.99.903#n571 So, let's restore setting the smem_len to unbreak things for these users. Note: we are still leaving smem_start set to 0. Reported-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Reported-by: Gunther Noack <me@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 025d8e1348c1f421684f15b06f0a080787a0f9db Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 20:53:47 2014 +0900 ARM: dts: add mipi dsi device node to exynos3250.dtsi Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit 9fab9d6a7278ed75e7437c34043303e90bd019e3 Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 20:46:12 2014 +0900 ARM: dts: add mipi_phy device node to exynos3250.dtsi This patch adds mipi_phy device node to reset, disable and enable DSIM and CSIS PHY. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit 03b86c796225cac1bf9d06dca79cfbd4a8185227 Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 20:37:53 2014 +0900 ARM: dts: add fimd device node to exynos3250.dsti Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit d6ce7b5829a676d94e6f6a0d5acfec246d880af3 Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Mon Aug 18 16:53:19 2014 +0900 drm/exynos: fimd: add Exynos3 SoC support Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit 473462a1436b5c4b7e62909985b1c8f9b17f028a Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 17:09:12 2014 +0900 drm/exynos: mipi-dsi: add Exynos3 SoC support This patch adds Exynos3250/3472 SoCs support. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit 78d3a8c6134fbe1fe048b13bddb8e7602affabaa Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 17:03:12 2014 +0900 drm/exynos: mipi-dsi: consider non-continuous clock mode This patch adds non-continuous clock mode support Clock mode on Clock Lane is continuous clock by default. So if we want to transmit data in non-continuous clock mode to reduce power consumption, then host driver should set DSIM_CLKLANE_STOP bit. In this case, host controller turns off HS clock between high speed transmissions. For this, this patch adds a new bit, DSIM_CLKLANE_STOP, and makes the host driver sets this bit only in case that dsi->mode_flags has MIPI_DSI_CLOCK_NON_CONTINUOUS flag. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit d87f09abb31d2d52dda261b5128c39d3944afbab Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 16:38:23 2014 +0900 drm/mipi-dsi: consider low power transmission This patch adds a new flag, MIPI_DSI-MODE_LPM, to transmit data in low power. With this flag, msg.flags has MIPI_DSI_MSG_USE_LPM so that host driver of each SoC can clear or set relevant register bit for low power transmission. All host drivers shall support continuous clock behavior on the Clock Lane, and optionally may support non-continuous clock behavior. Both of them can transmit data in high speed of low power. With each clock behavior, non-continuous or continuous clock mode, host controller will transmit data in high speed by default so if peripheral wants to receive data in low power, the peripheral driver should set MIPI_DSI_MODE_LPM flag. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8525b5ec90a58b3e56709ffa1667d6593dbe24c3 Author: YoungJun Cho <yj44.cho@xxxxxxxxxxx> Date: Thu Aug 14 11:22:36 2014 +0900 drm/exynos: dsi: fix exynos_dsi_set_pll() wrong return value The type of this function is unsigned long, and it is expected to return proper fout value or zero if something is wrong. So this patch fixes wrong return value for error cases. Signed-off-by: YoungJun Cho <yj44.cho@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7fbbd05799976c0611dcb229649260504b2bdef5 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Sep 19 13:56:56 2014 +0300 UBI: return on error in rename_volumes() I noticed this during a code review. We are checking that the strlen() of ->name is not less than the ->name_len which the user gave us. I believe this bug is harmless but clearly we meant to return here instead of setting an error code and then not using it. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit adfe83be973dc990f3763de3667c4cd004e6e4f7 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 19 11:48:47 2014 +0200 UBI: Improve comment on work_sem Make clear what work_sem really does. Suggested-by: Artem Bityutskiy <dedekind1@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit d577bc104f2c01928d586358663de6d0a950130f Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 19 11:48:46 2014 +0200 UBIFS: Remove bogus assert This assertion was only correct before UBIFS had xattr support. Now with xattr support also a directory node can carry data and can act as host node. Suggested-by: Artem Bityutskiy <dedekind1@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 8407f553268a4611f2542ed90677f0edfaa2c9c4 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Sep 5 15:14:39 2014 +0100 Btrfs: fix data corruption after fast fsync and writeback error When we do a fast fsync, we start all ordered operations and then while they're running in parallel we visit the list of modified extent maps and construct their matching file extent items and write them to the log btree. After that, in btrfs_sync_log() we wait for all the ordered operations to finish (via btrfs_wait_logged_extents). The problem with this is that we were completely ignoring errors that can happen in the extent write path, such as -ENOSPC, a temporary -ENOMEM or -EIO errors for example. When such error happens, it means we have parts of the on disk extent that weren't written to, and so we end up logging file extent items that point to these extents that contain garbage/random data - so after a crash/reboot plus log replay, we get our inode's metadata pointing to those extents. This worked in contrast with the full (non-fast) fsync path, where we start all ordered operations, wait for them to finish and then write to the log btree. In this path, after each ordered operation completes we check if it's flagged with an error (BTRFS_ORDERED_IOERR) and return -EIO if so (via btrfs_wait_ordered_range). So if an error happens with any ordered operation, just return a -EIO error to userspace, so that it knows that not all of its previous writes were durably persisted and the application can take proper action (like redo the writes for e.g.) - and definitely not leave any file extent items in the log refer to non fully written extents. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 669249eea365dd32b793b58891c74281c0aac47e Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Tue Sep 2 11:09:58 2014 +0100 Btrfs: fix fsync race leading to invalid data after log replay When the fsync callback (btrfs_sync_file) starts, it first waits for the writeback of any dirty pages to start and finish without holding the inode's mutex (to reduce contention). After this it acquires the inode's mutex and repeats that process via btrfs_wait_ordered_range only if we're doing a full sync (BTRFS_INODE_NEEDS_FULL_SYNC flag is set on the inode). This is not safe for a non full sync - we need to start and wait for writeback to finish for any pages that might have been made dirty before acquiring the inode's mutex and after that first step mentioned before. Why this is needed is explained by the following comment added to btrfs_sync_file: "Right before acquiring the inode's mutex, we might have new writes dirtying pages, which won't immediately start the respective ordered operations - that is done through the fill_delalloc callbacks invoked from the writepage and writepages address space operations. So make sure we start all ordered operations before starting to log our inode. Not doing this means that while logging the inode, writeback could start and invoke writepage/writepages, which would call the fill_delalloc callbacks (cow_file_range, submit_compressed_extents). These callbacks add first an extent map to the modified list of extents and then create the respective ordered operation, which means in tree-log.c:btrfs_log_inode() we might capture all existing ordered operations (with btrfs_get_logged_extents()) before the fill_delalloc callback adds its ordered operation, and by the time we visit the modified list of extent maps (with btrfs_log_changed_extents()), we see and process the extent map they created. We then use the extent map to construct a file extent item for logging without waiting for the respective ordered operation to finish - this file extent item points to a disk location that might not have yet been written to, containing random data - so after a crash a log replay will make our inode have file extent items that point to disk locations containing invalid data, as we returned success to userspace without waiting for the respective ordered operation to finish, because it wasn't captured by btrfs_get_logged_extents()." Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a25eb52e81a40e986179a790fbb5a1f02f482b7a Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Fri Sep 19 16:51:00 2014 +0800 cgroup: remove CGRP_RELEASABLE flag We call put_css_set() after setting CGRP_RELEASABLE flag in cgroup_task_migrate(), but in other places we call it without setting the flag. I don't see the necessity of this flag. Moreover once the flag is set, it will never be cleared, unless writing to the notify_on_release control file, so it can be quite confusing if we look at the output of debug.releasable. # mount -t cgroup -o debug xxx /cgroup # mkdir /cgroup/child # cat /cgroup/child/debug.releasable 0 <-- shows 0 though the cgroup is empty # echo $$ > /cgroup/child/tasks # cat /cgroup/child/debug.releasable 0 # echo $$ > /cgroup/tasks && echo $$ > /cgroup/child/tasks # cat /proc/child/debug.releasable 1 <-- shows 1 though the cgroup is not empty This patch removes the flag, and now debug.releasable shows if the cgroup is empty or not. Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 4e2ba65068ac1d0e8c9df78a4ad787cf39640418 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Fri Sep 19 16:53:14 2014 +0800 perf/cgroup: Remove perf_put_cgroup() Commit 5a17f543ed68 ("cgroup: improve css_from_dir() into css_tryget_from_dir()") removed perf_tryget_cgroup(), so let's also remove perf_put_cgroup(). Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f29374b146dd02f5f99742aedaddd6ef3512fc9c Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Fri Sep 19 16:29:31 2014 +0800 cgroup: remove redundant check in cgroup_ino() After we implemented default unified hierarchy, cgrp->kn can never be NULL. Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit bda0381e72028708b37695bf7d5b18ec956cf0a2 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Mon Sep 15 19:24:03 2014 -0400 drm/i915: Use EIO instead of EAGAIN for sink CRC error. If something while getting panel CRC this means that probably hw I/O error so hw is busted and try again shouldn't help much. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40bae736116233a7e46711a9d28fc72d0e7d33eb Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 11 13:28:08 2014 +0200 drm/i915: Extend BIOS stolen mem handling to all platform Based upon a patch from Deepak, but reworked to only apply on gen7+ and with the logic a bit clarified. v2: Fix s/SHIFT/MASK/ fumble that Ville spotted. Cc: Deepak S <deepak.s@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4144f9b5e003e65b7e4be6abfff133bc83e73fec Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 08:43:48 2014 +0100 drm/i915: Match GTT space sanity checker with implementation If we believe that the device can cross cache domains in its prefetcher (i.e. we allow neighbouring pages in different domains), we don't supply a color_adjust callback. Use the presence of this callback to better determine when we should be verifying that the GTT space we just used is valid. v2: Remove the superfluous struct drm_device function param as well. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Also adjust the comment per irc discussion with Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 770722585639bc2da683e72f610d5f614298e415 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 12:18:27 2014 +0100 drm/i915: HSW always use GGTT selector for secure batches gen6 and earlier conflate address space selection (ppgtt vs ggtt) with the security bit (i.e. only privileged batches were allowed to run from ggtt). From Haswell only, you are able to select the security bit separate from the address space - and we always requested to use ppgtt. This breaks the golden render state batch execution with full-ppgtt as that is only present in the global GTT and more generally any secure batch that is not colocated in the ppgtt and ggtt. So we need to disable the use of the ppgtt selector bit for secure batches, or else we hang immediately upon boot and thence after every GPU reset... v2: Only HSW differentiates between secure dispatch and ggtt, so simply ignore the differentiation and always use secure==ggtt. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Rectify commit message as noted by Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a01b0e946f6db0a145dd92d7a44babd628d2c7a8 Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Date: Tue Sep 9 19:14:16 2014 +0530 drm/i915: add cherryview specfic forcewake in execlists_elsp_write In chv, we have two power wells Render & Media. We need to use corresponsing forcewake count. If we dont follow this we are getting error "*ERROR*: Timed out waiting for forcewake old ack to clear" due to multiple entry into __vlv_force_wake_get. Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Requested-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cf303626748e0a5c059e453d025539583d870116 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Sep 9 13:04:43 2014 +0100 drm/i915: fix another use-after-free in i915_gem_evict_everything Also here, i915_gem_evict_vm causes an unbind, which can end up dropping the last ref to the ppgtt. Triggered by igt gem_evict_everything test. Testcase: igt/gem_evict_everything Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a1e470d421f68d69bf35c1ed316a861625010eab Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 8 18:17:18 2014 +0200 drm/i915: Don't reinit hpd interrupts after gpu reset Somehow I've overlooked this when simplifying the irq reinit scheme on gen4.5+ in commit 78ad455fd229c6f6cc2f390ccbe0d8f1a62d55a9 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu May 22 22:18:21 2014 +0200 drm/i915: Improve irq handling after gpu resets Since display interrups in general survive a gpu reset on those platforms there's also no need to reinit the hotplug settings. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f0d3dad3ad618dbe4f65453c456c781c4568de29 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 7 16:51:12 2014 +0100 drm/i915: Wrap -EIO send-vblank event for failed pageflip in spinlock drm_send_vblank_event() demands that we hold the event spinlock whilst calling it, so do so. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Fix the double lock as requested by Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d1ef21dafd13ff5cedbde840544d6e86669fe1d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 07:02:43 2014 +0100 drm/i915: Drop any active reference before unbinding Before we process the final unbind on an object and move it to the unbound list, it is semantically cleaner if there are no more active references to the object. (An active reference would imply that it was still being accessed by the GPU after it became inaccessible.) The caveat is that all callsites must be prepared for the object to disappeared during the unbind - i.e. they must hold their own reference. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21ab4e746d4d455fef66e2bef8c0442eb369a1d4 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:16:08 2014 +0100 drm/i915: Objects on the unbound list may still have an active reference Due to the lazy retirement semantics, even though we have unbound an object, it may still hold onto an active reference. So in the debug code, play safe. v2: Export i915_gem_shrink() rather than opencoding it. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 344c5bbcb7a282cc59e2f111c8801106c4fe315c Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Sep 9 11:25:13 2014 +0300 drm/i915/edp: use lane count and link rate from DPCD for eDP eDP panels are generally designed to support only a single clock and lane configuration. commit 56071a207602a451f0c46d3dcc8379b59ef576e2 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue May 6 14:56:52 2014 +0300 drm/i915: use lane count and link rate from VBT as minimums for eDP should have started using the optimal link parameters for eDP panels. Turns out a certain other OS uses DPCD instead of VBT, which means trusting VBT on this may not be so reliable after all. Follow suit. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81647 Tested-by: Adam Jirasek <libm3l@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79386 Tested-by: Narthana Epa <narthana.epa+freedesktop@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8d8a672f9370278ae2c9752ad3021662dbc42fd Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 5 16:19:18 2014 +0300 drm/i915/dp: add missing \n in the TPS3 debug message This goes back to commit 06ea66b6bb445043dc25a9626254d5c130093199 Author: Todd Previte <tprevite@xxxxxxxxx> Date: Mon Jan 20 10:19:39 2014 -0700 drm/i915: Enable 5.4Ghz (HBR2) link rate for Displayport 1.2-capable devices Cc: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> [danvet: Pimp commit message a bit.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10e972d3f6dd77e009611c4bfeed02fa9827d0d6 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 21:43:45 2014 +0100 drm/i915/hdmi, dp: Do not dereference the encoder in the connector destroy Oops, apparently intel_hdmi/intel_dp is the encoder - an object with a distinct lifetime to the connector, and so we cannot simply reuse the common function to unset and free the edid. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d6feb1962d08890080cbce080a3d73e1035f0a3d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 5 21:54:13 2014 +0300 drm/i915: Limit the watermark to at least 8 entries on gen2/3 830 is very unhappy of the watermark value is too low (indicating a very high watermark in fact, ie. memory fetch will occur with an almost full FIFO). Limit the watermark value to at least 8 cache lines. That also matches the burst size we use on most platforms. BSpec seems to indicate we should limit the watermark to 'burst size + 1'. But on gen4 we already use a hardcoded 8 as the watermark value (as the spec says we should), so just use 8 as the limit on gen2/3 as well. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c4e02746147cef8853142a7c71efcb2b9660aed Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 5 21:52:42 2014 +0300 drm/i915: Fix DVO 2x clock enable on 830M The spec says: "For the correct operation of the muxed DVO pins (GDEVSELB/ I2Cdata, GIRDBY/I2CClk) and (GFRAMEB/DVI_Data, GTRDYB/DVI_Clk): Bit 31 (DPLL VCO Enable) and Bit 30 (2X Clock Enable) must be set to â??1â?? in both the DPLL A Control Register (06014h-06017h) and DPLL B Control Register (06018h-0601Bh)." The pipe A and B force quirks take care of DPLL_VCO_ENABLE, so we just need a bit of special care to handle DPLL_DVO_2X_MODE. v2: Recompute num_dvo_pipes on the spot, use PIPE_A/PIPE_B instead of pipe/!pipe for the register offsets in disable (Daniel) Add a comment about the ordering in enable and another one about filtering out the DVO 2x bit in state readout Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5db722eeba0051c68e638114f6720e715b03cd2c Author: Josef Holzmayr <holzmayr@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:02:26 2014 +0200 ARM: at91: Remove the support for the RSI EWS board The platform is end of life/support and should not clutter the mach-at91 directory with non-DT files. It is therefore removed. Signed-off-by: Josef Holzmayr <holzmayr@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ed2226bd4d4a53bcc3b2ea0b1b28e955ebc15da7 Author: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Date: Wed Sep 17 22:13:51 2014 -0700 x86/platform/intel/iosf: Add debugfs config option for IOSF Makes the IOSF sideband available through debugfs. Allows developers to experiment with using the sideband to provide debug and analytical tools for units on the SoC. Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411017231-20807-4-git-send-email-david.e.box@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ced3ce760b8df08e8bafba44f6b40407df2d0402 Author: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Date: Wed Sep 17 22:13:50 2014 -0700 x86/platform/intel/iosf: Add better description of IOSF driver in config Adds better description of IOSF driver to determine when it should be enabled. Also moves the Kconfig option to "Processor type and features" menu from main configuration menu. Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411017231-20807-3-git-send-email-david.e.box@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 849f5d894383d25c49132437aa289c9a9c98d5df Author: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Date: Wed Sep 17 22:13:49 2014 -0700 x86/platform/intel/iosf: Add Braswell PCI ID Add Braswell PCI ID to list of supported ID's for the IOSF driver. Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411017231-20807-2-git-send-email-david.e.box@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9f1ae7596aad71d18c3e88a3927f3f76b037b8fe Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Sep 19 12:05:45 2014 +0100 arm64: Correct ftrace calls to aarch64_insn_gen_branch_imm() The aarch64_insn_gen_branch_imm() function takes an enum as the last argument rather than a bool. It happens to work because AARCH64_INSN_BRANCH_LINK matches 'true' but better to use the actual type. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 9575a6a23a8081bc4c9d47d001621e2af0957c02 Author: Martin Kelly <martin@xxxxxxxxxxxxxxxx> Date: Wed Sep 17 07:17:56 2014 -0700 x86/platform/pmc_atom: Fix warning when CONFIG_DEBUG_FS=n When compiling with CONFIG_DEBUG_FS=n, GCC emits an unused variable warning for pmc_atom.c because "ret" is used only within the CONFIG_DEBUG_FS block. This patch adds a dummy #ifdef for pmc_dbgfs_register() when CONFIG_DEBUG_FS=n to simplify the code and remove the warning. Signed-off-by: Martin Kelly <martkell@xxxxxxxxxx> Acked-by: "Li, Aubrey" <aubrey.li@xxxxxxxxxxxxxxx> Cc: vishwesh.m.rudramuni@xxxxxxxxx Link: http://lkml.kernel.org/r/1410963476-8360-1-git-send-email-martin@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d286c3af48e3ad187fc52a0060c71b0844f234ff Author: Rakib Mullick <rakib.mullick@xxxxxxxxx> Date: Fri Sep 19 01:22:15 2014 +0600 x86/mce: Avoid showing repetitive message from intel_init_thermal() intel_init_thermal() is called from a) at the time of system initializing and b) at the time of system resume to initialize thermal monitoring. In case when thermal monitoring is handled by SMI, we get to know it via printk(). Currently it gives the message at both cases, but its okay if we get it only once and no need to get the same message at every time system resumes. So, limit showing this message only at system boot time by avoid showing at system resume and reduce abusing kernel log buffer. Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411068135.5121.10.camel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit beb9147e95a75f41c984d7235cf6d59f3ca2d5db Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Sep 18 12:56:06 2014 -0700 x86/mm: Update memory map description to list hypervisor-reserved area Peter Anvin says: > 0xffff880000000000 is the lowest usable address because we have > agreed to leave 0xffff800000000000-0xffff880000000000 for the > hypervisor or other non-OS uses. Let's call this out in the documentation. This came up during the kernel address sanitizer discussions where it was proposed to use this area for other kernel things. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140918195606.841389D2@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 64a1925c00706253aa887431fc45f96db48aa727 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 26 11:54:56 2014 +0800 rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc Now that we have Kconfig options for individual sunxi platforms, let the rtc-sunxi driver depend on the platforms that actually have this hardware, sun4i and sun7i. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 9765d2d9430971ca89b09af076e7a8ff250df473 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 26 11:54:55 2014 +0800 rtc: sun6i: Add sun6i RTC driver This patch introduces the driver for the RTC in the Allwinner A31 and A23 SoCs. Unlike the RTC found in A10/A20 SoCs, which was part of the timer, the RTC in A31/A23 are a separate hardware block, which also contain a few controls for the RTC block hardware (a regulator and RTC block GPIO pin latches), while also having separate interrupts for the alarms. The hardware is different enough to make a different driver for it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit bd61c98f9b3f142cd63f9e15acfe203bec9e5f5a Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:50 2014 +0200 sched: Test the CPU's capacity in wake_affine() Currently the task always wakes affine on this_cpu if the latter is idle. Before waking up the task on this_cpu, we check that this_cpu capacity is not significantly reduced because of RT tasks or irq activity. Use case where the number of irq and/or the time spent under irq is important will take benefit of this because the task that is woken up by irq or softirq will not use the same CPU than irq (and softirq) but a idle one. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409051215-16788-8-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d3bfca1a7b028a57d648dbc0985492c6a4466ccf Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:48 2014 +0200 ARM: topology: Use the new cpu_capacity interface Use the new arch_scale_cpu_capacity() scheduler facility in order to reflect the original capacity of a CPU instead of arch_scale_freq_capacity() which is more linked to a scaling of the capacity linked to the frequency. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1409051215-16788-6-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 26bc3c50d3b3984564c270da86f1fbbfb774dbcd Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:47 2014 +0200 sched: Allow all architectures to set 'capacity_orig' 'capacity_orig' is only changed for systems with an SMT sched_domain level in order to reflect the lower capacity of CPUs. Heterogenous systems also have to reflect an original capacity that is different from the default value. Create a more generic function arch_scale_cpu_capacity that can be also used by non SMT platforms to set capacity_orig. The __weak implementation of arch_scale_cpu_capacity() is the previous SMT variant, in order to keep backward compatibility with the use of capacity_orig. arch_scale_smt_capacity() and default_scale_smt_capacity() have been removed as they were not used elsewhere than in arch_scale_cpu_capacity(). Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Reviewed-by: Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx> Reviewed-by: Preeti U. Murthy <preeti@xxxxxxxxxxxxxxxxxx> [ Added default_scale_cpu_capacity() back. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409051215-16788-5-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 65fdac08c264506ff95ee1e34ae066e308c9e6e3 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:46 2014 +0200 sched: Fix avg_load computation The computation of avg_load and avg_load_per_task should only take into account the number of CFS tasks. The non-CFS tasks are already taken into account by decreasing the CPU's capacity and they will be tracked in the CPU's utilization (group_utilization) of the next patches. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409051215-16788-4-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 05bfb65f52cbdabe26ebb629959416a6cffb034d Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:45 2014 +0200 sched: Remove a wake_affine() condition In wake_affine() I have tried to understand the meaning of the condition: (this_load <= load && this_load + target_load(prev_cpu, idx) <= tl_per_task) but I failed to find a use case that can take advantage of it and I haven't found clear description in the previous commit's log. Futhermore, the comment of the condition refers to the task_hot function that was used before being replaced by the current condition: /* * This domain has SD_WAKE_AFFINE and * p is cache cold in this domain, and * there is no bad imbalance. */ If we look more deeply the below condition: this_load + target_load(prev_cpu, idx) <= tl_per_task When sync is clear, we have: tl_per_task = runnable_load_avg / nr_running this_load = max(runnable_load_avg, cpuload[idx]) target_load = max(runnable_load_avg', cpuload'[idx]) It implies that runnable_load_avg == 0 and nr_running <= 1 in order to match the condition. This implies that runnable_load_avg == 0 too because of the condition: this_load <= load. but if this _load is null, 'balanced' is already set and the test is redundant. If sync is set, it's not as straight forward as above (especially if cgroup are involved) but the policy should be similar as we have removed a task that's going to sleep in order to get a more accurate load and this_load values. The current conclusion is that these additional condition don't give any benefit so we can remove them. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409051215-16788-3-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit afdeee0510db918b31bb4aba47452df2ddbdbcf2 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:44 2014 +0200 sched: Fix imbalance flag reset The imbalance flag can stay set whereas there is no imbalance. Let assume that we have 3 tasks that run on a dual cores /dual cluster system. We will have some idle load balance which are triggered during tick. Unfortunately, the tick is also used to queue background work so we can reach the situation where short work has been queued on a CPU which already runs a task. The load balance will detect this imbalance (2 tasks on 1 CPU and an idle CPU) and will try to pull the waiting task on the idle CPU. The waiting task is a worker thread that is pinned on a CPU so an imbalance due to pinned task is detected and the imbalance flag is set. Then, we will not be able to clear the flag because we have at most 1 task on each CPU but the imbalance flag will trig to useless active load balance between the idle CPU and the busy CPU. We need to reset of the imbalance flag as soon as we have reached a balanced state. If all tasks are pinned, we don't consider that as a balanced state and let the imbalance flag set. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409051215-16788-2-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d9e26329b0c9263d4d9e0422d80a0e73268c52f Author: Aaron Tomlin <atomlin@xxxxxxxxxx> Date: Fri Sep 12 14:16:19 2014 +0100 sched: Add default-disabled option to BUG() when stack end location is overwritten Currently in the event of a stack overrun a call to schedule() does not check for this type of corruption. This corruption is often silent and can go unnoticed. However once the corrupted region is examined at a later stage, the outcome is undefined and often results in a sporadic page fault which cannot be handled. This patch checks for a stack overrun and takes appropriate action since the damage is already done, there is no point in continuing. Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: aneesh.kumar@xxxxxxxxxxxxxxxxxx Cc: dzickus@xxxxxxxxxx Cc: bmr@xxxxxxxxxx Cc: jcastillo@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: prarit@xxxxxxxxxx Cc: jgh@xxxxxxxxxx Cc: minchan@xxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: hannes@xxxxxxxxxxx Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Davidlohr Bueso <davidlohr@xxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Lubomir Rintel <lkundrak@xxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410527779-8133-4-git-send-email-atomlin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a70857e46dd13e87ae06bf0e64cb6a2d4f436265 Author: Aaron Tomlin <atomlin@xxxxxxxxxx> Date: Fri Sep 12 14:16:18 2014 +0100 sched: Add helper for task stack page overrun checking This facility is used in a few places so let's introduce a helper function to improve code readability. Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: aneesh.kumar@xxxxxxxxxxxxxxxxxx Cc: dzickus@xxxxxxxxxx Cc: bmr@xxxxxxxxxx Cc: jcastillo@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: prarit@xxxxxxxxxx Cc: jgh@xxxxxxxxxx Cc: minchan@xxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: hannes@xxxxxxxxxxx Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Seiji Aguchi <seiji.aguchi@xxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1410527779-8133-3-git-send-email-atomlin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d4311ff1a8da48d609db9500f121c15580dfeeb7 Author: Aaron Tomlin <atomlin@xxxxxxxxxx> Date: Fri Sep 12 14:16:17 2014 +0100 init/main.c: Give init_task a canary Tasks get their end of stack set to STACK_END_MAGIC with the aim to catch stack overruns. Currently this feature does not apply to init_task. This patch removes this restriction. Note that a similar patch was posted by Prarit Bhargava some time ago but was never merged: http://marc.info/?l=linux-kernel&m=127144305403241&w=2 Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: aneesh.kumar@xxxxxxxxxxxxxxxxxx Cc: dzickus@xxxxxxxxxx Cc: bmr@xxxxxxxxxx Cc: jcastillo@xxxxxxxxxx Cc: jgh@xxxxxxxxxx Cc: minchan@xxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: hannes@xxxxxxxxxxx Cc: Alex Thorlton <athorlton@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Daeseok Youn <daeseok.youn@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Seiji Aguchi <seiji.aguchi@xxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1410527779-8133-2-git-send-email-atomlin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a15b12ac36ad4e7b856a4ae54937ae26a51aebad Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 15:03:34 2014 +0400 sched: Do not stop cpu in set_cpus_allowed_ptr() if task is not running If a task is queued but not running on it rq, we can simply migrate it without migration thread and switching of context. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410519814.3569.7.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1ba93d42727c44001aa8ccffd39c8ab5705379e2 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 17:42:20 2014 +0400 sched/dl: Simplify pick_dl_task() 1) Nobody calls pick_dl_task() with negative cpu, it's old RT leftover. 2) If p->nr_cpus_allowed is 1, than the affinity has just been changed in set_cpus_allowed_ptr(); we'll pick it just earlier than migration thread. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410529340.3569.27.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f3f1768f89d601ad29f4701deef91caaa82b9f57 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 17:42:01 2014 +0400 sched/rt: Remove useless if from cleanup pick_next_task_rt() _pick_next_task_rt() never returns NULL. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410529321.3569.26.camel@tkhai Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f3cd1c4ec059c956d3346705e453aff3ace3b494 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 17:41:40 2014 +0400 sched/core: Use put_prev_task() accessor where possible Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410529300.3569.25.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a8edd075323cec607797fdd1d7b1222c987f4a47 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 17:41:16 2014 +0400 sched/fair: cleanup: Remove useless assignment in select_task_rq_fair() new_cpu is reassigned below, so we do not need this here. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410529276.3569.24.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f139caf2e89713687514d9db847a4fa2e29c87a2 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 17:40:54 2014 +0400 sched, cleanup, treewide: Remove set_current_state(TASK_RUNNING) after schedule() schedule(), io_schedule() and schedule_timeout() always return with TASK_RUNNING state set, so one more setting is unnecessary. (All places in patch are visible good, only exception is kiblnd_scheduler() from: drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c Its schedule() is one line above standard 3 lines of unified diff) No places where set_current_state() is used for mb(). Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410529254.3569.23.camel@tkhai Cc: Alasdair Kergon <agk@xxxxxxxxxx> Cc: Anil Belur <askb23@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Kleikamp <shaggy@xxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Cc: Frank Blaschka <blaschka@xxxxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Isaac Huang <he.huang@xxxxxxxxx> Cc: James E.J. Bottomley <JBottomley@xxxxxxxxxxxxx> Cc: James E.J. Bottomley <jejb@xxxxxxxxxxxxxxxx> Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Liang Zhen <liang.zhen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Masaru Nomura <massa.nomura@xxxxxxxxx> Cc: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxx> Cc: Oleg Drokin <green@xxxxxxxxxxxxxx> Cc: Peng Tao <bergwolf@xxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Robert Love <robert.w.love@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Cc: Ursula Braun <ursula.braun@xxxxxxxxxx> Cc: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Cc: dm-devel@xxxxxxxxxx Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Cc: fcoe-devel@xxxxxxxxxxxxx Cc: jfs-discussion@xxxxxxxxxxxxxxxxxxxxx Cc: linux390@xxxxxxxxxx Cc: linux-afs@xxxxxxxxxxxxxxxxxxx Cc: linux-cris-kernel@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-nfs@xxxxxxxxxxxxxxx Cc: linux-parisc@xxxxxxxxxxxxxxx Cc: linux-raid@xxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: qla2xxx-upstream@xxxxxxxxxx Cc: user-mode-linux-devel@xxxxxxxxxxxxxxxxxxxxx Cc: user-mode-linux-user@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9c368b5b6eccce1cbd7f68142106b3b4ddb1c5b5 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Sep 12 09:12:15 2014 -0400 sched, time: Fix lock inversion in thread_group_cputime() The sig->stats_lock nests inside the tasklist_lock and the sighand->siglock in __exit_signal and wait_task_zombie. However, both of those locks can be taken from irq context, which means we need to use the interrupt safe variant of read_seqbegin_or_lock. This blocks interrupts when the "lock" branch is taken (seq is odd), preventing the lock inversion. On the first (lockless) pass through the loop, irqs are not blocked. Reported-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: prarit@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410527535-9814-3-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ef8ac06359ddf95431cf6bb04ad2b36fff562328 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Sep 12 09:12:14 2014 -0400 seqlock: Add irqsave variant of read_seqbegin_or_lock() There are cases where read_seqbegin_or_lock() needs to block irqs, because the seqlock in question nests inside a lock that is also be taken from irq context. Add read_seqbegin_or_lock_irqsave() and done_seqretry_irqrestore(), which are almost identical to read_seqbegin_or_lock() and done_seqretry(). Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: prarit@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: sgruszka@xxxxxxxxxx Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410527535-9814-2-git-send-email-riel@xxxxxxxxxx [ Improved the readability of the code a bit. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2ed903c5485bad0eafdd3d59ff993598736e4f31 Author: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Date: Thu Sep 4 15:17:55 2014 +0800 cpuidle: Use wake_up_all_idle_cpus() to wake up all idle cpus Currently kick_all_cpus_sync() or smp_call_function() can not break the polling idle cpu immediately. Instead using wake_up_all_idle_cpus() which can wake up the polling idle cpu quickly is much more helpful for power. Signed-off-by: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: changcheng.liu@xxxxxxxxx Cc: xiaoming.wang@xxxxxxxxx Cc: souvik.k.chakravarty@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1409815075-4180-3-git-send-email-chuansheng.liu@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c6f4459fc3ba532e896cb678e29b45cb985f82bf Author: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Date: Thu Sep 4 15:17:54 2014 +0800 smp: Add new wake_up_all_idle_cpus() function Currently kick_all_cpus_sync() can break non-polling idle cpus thru IPI interrupts. But sometimes we need to break the polling idle cpus immediately to reselect the suitable c-state, also for non-idle cpus, we need to do nothing if we try to wake up them. Here adding one new function wake_up_all_idle_cpus() to let all cpus out of idle based on function wake_up_if_idle(). Signed-off-by: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: linux-pm@xxxxxxxxxxxxxxx Cc: changcheng.liu@xxxxxxxxx Cc: xiaoming.wang@xxxxxxxxx Cc: souvik.k.chakravarty@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Cc: Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409815075-4180-2-git-send-email-chuansheng.liu@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f6be8af1c95de4a46e325e728900a70ceadb52cf Author: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Date: Thu Sep 4 15:17:53 2014 +0800 sched: Add new API wake_up_if_idle() to wake up the idle cpu Implementing one new API wake_up_if_idle(), which is used to wake up the idle CPU. Suggested-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: linux-pm@xxxxxxxxxxxxxxx Cc: changcheng.liu@xxxxxxxxx Cc: xiaoming.wang@xxxxxxxxx Cc: souvik.k.chakravarty@xxxxxxxxx Cc: chuansheng.liu@xxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409815075-4180-1-git-send-email-chuansheng.liu@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ba7e5a279e72f4b246dc7a419ac707e1936ede3e Author: Rik van Riel <riel@xxxxxxxxxx> Date: Thu Sep 4 16:35:30 2014 -0400 sched/numa: Use select_idle_sibling() to select a destination for task_numa_move() The code in task_numa_compare() will only examine at most one idle CPU per node, because they all have the same score. However, some idle CPUs are better candidates than others, due to busy or idle SMT siblings, etc... The scheduler has logic to find the best CPU within an LLC to place a task. The NUMA code should probably use it. This seems to reduce the standard deviation for single instance SPECjbb2005 with a low warehouse count on my 4 node test system. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: mgorman@xxxxxxx Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140904163530.189d410a@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 00a158be83839f2d5370612d633eb2643ddf844e Author: Abhi Das <adas@xxxxxxxxxx> Date: Thu Sep 18 21:40:28 2014 -0500 GFS2: fix bad inode i_goal values during block allocation This patch checks if i_goal is either zero or if doesn't exist within any rgrp (i.e gfs2_blk2rgrpd() returns NULL). If so, it assigns the ip->i_no_addr block as the i_goal. There are two scenarios where a bad i_goal can result in a -EBADSLT error. 1. Attempting to allocate to an existing inode: Control reaches gfs2_inplace_reserve() and ip->i_goal is bad. We need to fix i_goal here. 2. A new inode is created in a directory whose i_goal is hosed: In this case, the parent dir's i_goal is copied onto the new inode. Since the new inode is not yet created, the ip->i_no_addr field is invalid and so, the fix in gfs2_inplace_reserve() as per 1) won't work in this scenario. We need to catch and fix it sooner in the parent dir itself (gfs2_create_inode()), before it is copied to the new inode. Signed-off-by: Abhi Das <adas@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 84d7fce693884897c6196cc98228a2ad56ae2a9a Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 4 14:30:22 2014 +0200 netfilter: nf_tables: export rule-set generation ID This patch exposes the ruleset generation ID in three ways: 1) The new command NFT_MSG_GETGEN that exposes the 32-bits ruleset generation ID. This ID is incremented in every commit and it should be large enough to avoid wraparound problems. 2) The less significant 16-bits of the generation ID are exposed through the nfgenmsg->res_id header field. This allows us to quickly catch if the ruleset has change between two consecutive list dumps from different object lists (in this specific case I think the risk of wraparound is unlikely). 3) Userspace subscribers may receive notifications of new rule-set generation after every commit. This also provides an alternative way to monitor the generation ID. If the events are lost, the userspace process hits a overrun error, so it knows that it is working with a stale ruleset anyway. Patrick spotted that rule-set transformations in userspace may take quite some time. In that case, it annotates the 32-bits generation ID before fetching the rule-set, then: 1) it compares it to what we obtain after the transformation to make sure it is not working with a stale rule-set and no wraparound has ocurred. 2) it subscribes to ruleset notifications, so it can watch for new generation ID. This is complementary to the NLM_F_DUMP_INTR approach, which allows us to detect an interference in the middle one single list dumping. There is no way to explicitly check that an interference has occurred between two list dumps from the kernel, since it doesn't know how many lists the userspace client is actually going to dump. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit fc04733a1a71af26bf30830571b71f5f2a354a06 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 11 14:53:17 2014 +0200 netfilter: nfnetlink: use original skbuff when committing/aborting This allows us to access the original content of the batch from the commit and the abort paths. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4f7cf3a992cc0c15c97d2e34ea08a1cb7faace39 Merge: c88f209 e568573 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 19 07:13:36 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: o Add +field argument support for --sort option (Jiri Olsa) o Do not access kallsyms when analyzing user binaries with 'probe' (Masami Hiramatsu) o Ignore stripped vmlinux and fallback to kallsyms (Anton Blanchard) o Add path to Ubuntu kernel debuginfo file (Anton Blanchard) o Disable kernel symbol demangling by default (Avi Kivity) Infrastructure changes: o More intel PT prep work, from Adrian Hunter, including: - Let a user specify a PMU event without any config terms - Add perf-with-kcore script - Let default config be defined for a PMU - Add perf_pmu__scan_file() o "perf kvm stat report" improvements by Alexander Yarygin: o Save pid string in opts.target.pid o Enable the target.system_wide flag o Unify the title bar output o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard) o Allow to specify lib compile variable for spec usage (Jiri Olsa) o Fix build on ARM (Stephane Eranian) o Fix build on powerpc when DWARF support is disabled (Anton Blanchard) o Don't include sys/poll.h directly (Arnaldo Carvalho de Melo) o Use ring buffer consume method to look like other tools (Arnaldo Carvalho de Melo) o Allow to specify lib compile variable for spec usage (Jiri Olsa) o Fix GNU-only grep usage in Makefile (John Spencer) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 513d1a2884a49654f368b5fa25ef186e976bdada Author: Christoph Lameter <cl@xxxxxxxxx> Date: Tue Sep 2 10:00:07 2014 -0500 irqchip: Properly fetch the per cpu offset The raw_cpu_read() conversion dropped the fetch of the offset from base->percpu_base in gic_get_percpu_base. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Reported-and-tested-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a98f26f183801685ef57333de4bafd4bbc692c7c Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:07 2014 +0100 arm/arm64: KVM: vgic: make number of irqs a configurable attribute In order to make the number of interrupts configurable, use the new fancy device management API to add KVM_DEV_ARM_VGIC_GRP_NR_IRQS as a VGIC configurable attribute. Userspace can now specify the exact size of the GIC (by increments of 32 interrupts). Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 4956f2bc1fdee4bc336532f3f34635a8534cedfd Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:06 2014 +0100 arm/arm64: KVM: vgic: delay vgic allocation until init time It is now quite easy to delay the allocation of the vgic tables until we actually require it to be up and running (when the first vcpu is kicking around, or someones tries to access the GIC registers). This allow us to allocate memory for the exact number of CPUs we have. As nobody configures the number of interrupts just yet, use a fallback to VGIC_NR_IRQS_LEGACY. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5fb66da64064d0cb8dcce4cc8bf4cb1b921b13a0 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:05 2014 +0100 arm/arm64: KVM: vgic: kill VGIC_NR_IRQS Nuke VGIC_NR_IRQS entierly, now that the distributor instance contains the number of IRQ allocated to this GIC. Also add VGIC_NR_IRQS_LEGACY to preserve the current API. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit c3c918361adcceb816c92b21dd95d2b46fb96a8f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:04 2014 +0100 arm/arm64: KVM: vgic: handle out-of-range MMIO accesses Now that we can (almost) dynamically size the number of interrupts, we're facing an interesting issue: We have to evaluate at runtime whether or not an access hits a valid register, based on the sizing of this particular instance of the distributor. Furthermore, the GIC spec says that accessing a reserved register is RAZ/WI. For this, add a new field to our range structure, indicating the number of bits a single interrupts uses. That allows us to find out whether or not the access is in range. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit fc675e355e705a046df7b635d3f3330c0ad94569 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:03 2014 +0100 arm/arm64: KVM: vgic: kill VGIC_MAX_CPUS We now have the information about the number of CPU interfaces in the distributor itself. Let's get rid of VGIC_MAX_CPUS, and just rely on KVM_MAX_VCPUS where we don't have the choice. Yet. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit fb65ab63b8cae510ea1e43e68b5da2f9980aa6d5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:02 2014 +0100 arm/arm64: KVM: vgic: Parametrize VGIC_NR_SHARED_IRQS Having a dynamic number of supported interrupts means that we cannot relly on VGIC_NR_SHARED_IRQS being fixed anymore. Instead, make it take the distributor structure as a parameter, so it can return the right value. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit c1bfb577addd4867a82c4f235824a315d5afb94a Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:01 2014 +0100 arm/arm64: KVM: vgic: switch to dynamic allocation So far, all the VGIC data structures are statically defined by the *maximum* number of vcpus and interrupts it supports. It means that we always have to oversize it to cater for the worse case. Start by changing the data structures to be dynamically sizeable, and allocate them at runtime. The sizes are still very static though. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 71afaba4a2e98bb7bdeba5078370ab43d46e67a1 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:00 2014 +0100 KVM: ARM: vgic: plug irq injection race As it stands, nothing prevents userspace from injecting an interrupt before the guest's GIC is actually initialized. This goes unnoticed so far (as everything is pretty much statically allocated), but ends up exploding in a spectacular way once we switch to a more dynamic allocation (the GIC data structure isn't there yet). The fix is to test for the "ready" flag in the VGIC distributor before trying to inject the interrupt. Note that in order to avoid breaking userspace, we have to ignore what is essentially an error. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 7e362919a59e6fc60e08ad1cf0b047291d1ca2e9 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Jun 14 22:34:04 2014 +0200 arm/arm64: KVM: vgic: Clarify and correct vgic documentation The VGIC virtual distributor implementation documentation was written a very long time ago, before the true nature of the beast had been partially absorbed into my bloodstream. Clarify the docs. Plus, it fixes an actual bug. ICFRn, pfff. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 9da48b5502622f9f0e49df957521ec43a0c9f4c1 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Jun 14 22:30:45 2014 +0200 arm/arm64: KVM: vgic: Fix SGI writes to GICD_I{CS}PENDR0 Writes to GICD_ISPENDR0 and GICD_ICPENDR0 ignore all settings of the pending state for SGIs. Make sure the implementation handles this correctly. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit faa1b46c3e9f4d40359aee04ff275eea5f4cae3a Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Jun 14 21:54:51 2014 +0200 arm/arm64: KVM: vgic: Improve handling of GICD_I{CS}PENDRn Writes to GICD_ISPENDRn and GICD_ICPENDRn are currently not handled correctly for level-triggered interrupts. The spec states that for level-triggered interrupts, writes to the GICD_ISPENDRn activate the output of a flip-flop which is in turn or'ed with the actual input interrupt signal. Correspondingly, writes to GICD_ICPENDRn simply deactivates the output of that flip-flop, but does not (of course) affect the external input signal. Reads from GICC_IAR will also deactivate the flip-flop output. This requires us to track the state of the level-input separately from the state in the flip-flop. We therefore introduce two new variables on the distributor struct to track these two states. Astute readers may notice that this is introducing more state than required (because an OR of the two states gives you the pending state), but the remaining vgic code uses the pending bitmap for optimized operations to figure out, at the end of the day, if an interrupt is pending or not on the distributor side. Refactoring the code to consider the two state variables all the places where we currently access the precomputed pending value, did not look pretty. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit cced50c9280ef7ca1af48080707a170efa1adfa0 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Jun 14 22:37:33 2014 +0200 arm/arm64: KVM: vgic: Clear queued flags on unqueue If we unqueue a level-triggered interrupt completely, and the LR does not stick around in the active state (and will therefore no longer generate a maintenance interrupt), then we should clear the queued flag so that the vgic can actually queue this level-triggered interrupt at a later time and deal with its pending state then. Note: This should actually be properly fixed to handle the active state on the distributor. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit dbf20f9d8105cca531614c8bff9a74351e8e67e7 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Mon Jun 9 12:55:13 2014 +0200 arm/arm64: KVM: Rename irq_active to irq_queued We have a special bitmap on the distributor struct to keep track of when level-triggered interrupts are queued on the list registers. This was named irq_active, which is confusing, because the active state of an interrupt as per the GIC spec is a different thing, not specifically related to edge-triggered/level-triggered configurations but rather indicates an interrupt which has been ack'ed but not yet eoi'ed. Rename the bitmap and the corresponding accessor functions to irq_queued to clarify what this is actually used for. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 227844f53864077ccaefe01d0960fcccc03445ce Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Mon Jun 9 12:27:18 2014 +0200 arm/arm64: KVM: Rename irq_state to irq_pending The irq_state field on the distributor struct is ambiguous in its meaning; the comment says it's the level of the input put, but that doesn't make much sense for edge-triggered interrupts. The code actually uses this state variable to check if the interrupt is in the pending state on the distributor so clarify the comment and rename the actual variable and accessor methods. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit a875dafcf9b6b266c855e1f9b0aa060ef585d38a Merge: 0ba0951 f51770e Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Thu Sep 18 18:15:32 2014 -0700 Merge remote-tracking branch 'kvm/next' into queue Conflicts: arch/arm64/include/asm/kvm_host.h virt/kvm/arm/vgic.c commit 6b654af5e694754672894c134eb50cfa2b79dc2e Merge: 8337486 3840a65 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 19 10:41:12 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next single AGP fix * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: fix AGP userptr handling commit dd56af42bd829c6e770ed69812bd65a04eaeb1e4 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 20:25:06 2014 -0700 rcu: Eliminate deadlock between CPU hotplug and expedited grace periods Currently, the expedited grace-period primitives do get_online_cpus(). This greatly simplifies their implementation, but means that calls to them holding locks that are acquired by CPU-hotplug notifiers (to say nothing of calls to these primitives from CPU-hotplug notifiers) can deadlock. But this is starting to become inconvenient, as can be seen here: https://lkml.org/lkml/2014/8/5/754. The problem in this case is that some developers need to acquire a mutex from a CPU-hotplug notifier, but also need to hold it across a synchronize_rcu_expedited(). As noted above, this currently results in deadlock. This commit avoids the deadlock and retains the simplicity by creating a try_get_online_cpus(), which returns false if the get_online_cpus() reference count could not immediately be incremented. If a call to try_get_online_cpus() returns true, the expedited primitives operate as before. If a call returns false, the expedited primitives fall back to normal grace-period operations. This falling back of course results in increased grace-period latency, but only during times when CPU hotplug operations are actually in flight. The effect should therefore be negligible during normal operation. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Tested-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> commit 3840a656f61fdc504f1b0c6617f6af800d551efe Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Sep 17 04:00:05 2014 -0600 drm/radeon: fix AGP userptr handling AGP mappings are not cache coherent, so userptr support won't work. Additional to that the AGP implementation uses a different ttm_tt container structure so we run into problems if we cast the pointer without checking if it's the right type. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 5e1344eb3f4804d2d50195e197fcbcdbd60ad049 Author: Johan Rudholm <johan.rudholm@xxxxxxxx> Date: Wed Sep 17 09:50:42 2014 +0200 mmc: block: change stop errors to info Stop command errors are not fatal to the transfer since we make sure that the card returns to the transfer state and check the card status. Change an unnecessary error to an info. Signed-off-by: Johan Rudholm <johanru@xxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7e1fc19b29e925d4e567a708625dad1f0fb8bf16 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Sep 16 09:54:55 2014 +0200 mmc: dw_mmc: Remove unused function for !CONFIG_OF dw_mci_of_find_slot_node() is only used in dw_mci_of_get_slot_quirks() if CONFIG_OF is defined, thus there is no need to have a !CONFIG_OF version of it. Fixes the following compile warning with !CONFIG_OF: CC [M] drivers/mmc/host/dw_mmc.o drivers/mmc/host/dw_mmc.c:2223:28: warning: â??dw_mci_of_find_slot_nodeâ?? defined but not used [-Wunused-function] Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 994324bbabc7e9dce75322bbf839b846aca8e1d6 Author: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Date: Mon Sep 15 17:47:11 2014 +0200 mmc: Checks EXT_CSD_PARTITION_SETTING_COMPLETED before partitions computation Checks EXT_CSD_PARTITION_SETTING_COMPLETED bit before computing enhanced user area offset and size, and adding mmc general purpose partitions. The two needs EXT_CSD_PARTITION_SETTING_COMPLETED bit be set to be valid (as described in JEDEC standard). Warn user in case of misconfiguration. Signed-off-by: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 69803d4f487fc60ce740f1fe1f0d2092d97277b6 Author: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Date: Mon Sep 15 17:47:09 2014 +0200 mmc: Replace "enhanced_area_en" attribute by "partition_setting_completed" Replace ext_csd "enhanced_area_en" attribute by "partition_setting_completed". It was used whether or not enhanced user area is defined and without checks of EXT_CSD_PARTITION_SETTING_COMPLETED bit. Signed-off-by: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b4493eea4a6561bd9fa57aaa2f7d2b5ea31a1f2e Author: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Date: Mon Sep 15 17:47:06 2014 +0200 mmc: Move code that manages user area and gp partitions into functions Move code that manages user area and general purpose partitions into functions. Signed-off-by: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f6e63f90809946d410c42045577cb159fedabf8c Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 18 17:12:30 2014 -0400 ext4: fold ext4_nojournal_sops into ext4_sops There's no longer any need to have a separate set of super_operations for nojournal mode. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit bb0445765866e5b1607af81e2f48ca5a8efbeed8 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 18 17:12:02 2014 -0400 ext4: support freezing ext2 (nojournal) file systems Through an oversight, when we added nojournal support to ext4, we didn't add support to allow file system freezing. This is relatively easy to add, so let's do it. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reported-by: Dexuan Cui <decui@xxxxxxxxxxxxx> commit bda3253043c54a705c8352096194ab6216e2e5c1 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 18 16:12:37 2014 -0400 ext4: fold ext4_sync_fs_nojournal() into ext4_sync_fs() This allows us to eliminate duplicate code, and eventually allow us to also fold ext4_sops and ext4_nojournal_sops together. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 73e3f1eb51888303389f2dc2219c97ce34ca6db0 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Thu Sep 18 12:57:47 2014 +0530 spi: pl022: Add missing error check for devm_kzalloc Currently this driver is missing a check on the return value of devm_kzalloc, which would cause a NULL pointer dereference in a OOM situation. This patch adds a missing check. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 88d5e520aa9701eb3e4f46165e02097cc03d363a Author: abdoulaye berthe <berthe.ab@xxxxxxxxx> Date: Sat Jul 12 22:30:14 2014 +0200 driver:gpio remove all usage of gpio_remove retval in driver this remove all reference to gpio_remove retval in all driver except pinctrl and gpio. the same thing is done for gpio and pinctrl in two different patches. Signed-off-by: Abdoulaye Berthe <berthe.ab@xxxxxxxxx> Acked-by: Michael Büsch <m@xxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e13426bf249b4928ad914c9ddf7f8b7e5a93e1c6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 18 21:49:38 2014 +0800 regulator: fan53555: Fix null pointer dereference Set di->regulator before dereference it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fe230531b3f94f33e5a4c0b201b651188c6cc132 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 18 21:48:48 2014 +0800 regulator: fan53555: Fixup report wrong vendor message Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0da0e227477fdf7c7712ab973621630ba88aebcb Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 13 21:59:19 2014 +0200 ARM: pxa3xx: provide specific platform_devices for all ssp ports Currently, devices for SSP ports 1, 2 and 3 are registered as compatible devices to pxa27x-ssp. While the actual IP core is comparable, there are some subtle differences which users of the SSP ports address by looking at the 'type' field. By registering devices of type 'pxa27x-ssp', this 'type' field is incorrectly set to PXA27x_SSP which confuses the users. To fix this, provide specific ssp port plaform devices which use 'pxa3xx-ssp' as driver name, an instantiate them from pxa3xx.c. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> commit 6f0243a1ec55e7140f69629b53e105d0715ef31b Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 13 21:59:18 2014 +0200 ARM: pxa: ssp: provide platform_device_id for PXA3xx Provide an explicit match string for PXA3xx SSP ports. Without this match string, SSP0/SSP1/SSP2 in PXA3xxx will be consided as PXA27x SSP Port. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> commit 6e64b6ccc1e46932768e3bb8974fc2e5589bca7a Author: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Date: Thu Sep 18 15:12:20 2014 +0530 regmap: fix NULL pointer dereference in regmap_get_val_endian Recents commits for getting reg endianness causing NULL pointer dereference if dev is passed NULL in regmap_init_mmio. This patch fixes this issue, and allows to parse reg endianness only if dev and dev->of_node exist. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7a08cf77dbb976cec39c300201cebfee94552f54 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Thu Aug 14 11:46:13 2014 +0200 ARM: pxa: dts: fix ohci controller compatible string The vendor prefix was renamed from "mrvl" to "marvell". Follow this change in the dts file. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> commit 2bf172cfddee1fc7012980edc97f62526f65281a Author: Daniel Mack <zonque@xxxxxxxxx> Date: Thu Aug 14 11:46:12 2014 +0200 ARM: pxa: dts: fix mmc controller compatible string The vendor prefix was renamed from "mrvl" to "marvell". Follow this change in the dts file. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> commit 52de4779f201758ddcf37360f09a16895756e708 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Thu Sep 18 16:03:36 2014 +0800 cpuset: simplify proc_cpuset_show() Use the ONE macro instead of REG, and we can simplify proc_cpuset_show(). Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 006f4ac49742b5f70ef7e39176fd42a500144ccc Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Thu Sep 18 16:03:15 2014 +0800 cgroup: simplify proc_cgroup_show() Use the ONE macro instead of REG, and we can simplify proc_cgroup_show(). Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 971ff49355387fef41d1327434d8939721a4eb35 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Thu Sep 18 16:06:19 2014 +0800 cgroup: use a per-cgroup work for release agent Instead of using a global work to schedule release agent on removable cgroups, we change to use a per-cgroup work to do this, which makes the code much simpler. v2: use a dedicated work instead of reusing css->destroy_work. (Tejun) Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f53e3c538da314913e5d3d82c9610f8da42bd894 Author: Lucas Weaver <l-weaver@xxxxxx> Date: Tue Aug 19 08:54:00 2014 -0500 ARM: dts: DRA7: Add PMU nodes DRA74x and DRA72x family of processors vary slightly in the number of CPUs. So, add different instances of PMU for each of these processor groups. Further, since the interrupts bypass crossbar and are directly connected to GIC, mark the dts nodes with relevant information. Tested with perf utility. Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Lucas Weaver <l-weaver@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3d0cb73e9c85e60206ea9d5191bc0b9a0c4c8a99 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Sep 13 11:31:16 2014 -0700 arm: mach-omap2: Convert pr_warning to pr_warn Use the more common pr_warn. Other miscellanea: o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 175655bd79b815f2b2035f3b44117c60be90e1d4 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Tue Sep 16 17:36:28 2014 -0700 ARM: OMAP: Remove unused pieces of legacy DMA API We're moving to the dmaengine API, so let's remove the unused pieces of the omap legacy DMA code to make sure we don't get any new users for these: omap_set_dma_color_mode omap_set_dma_src_index omap_set_dma_dest_index omap_dma_unlink_lch omap_clear_dma omap_dma_running omap_dma_set_prio_lch omap_set_dma_dst_endian_type omap_set_dma_src_endian_type omap_get_dma_index omap_dma_disable_irq omap_request_dma_chain omap_free_dma_chain omap_dma_chain_a_transfer omap_start_dma_chain_transfers omap_stop_dma_chain_transfers omap_get_dma_chain_index omap_get_dma_chain_dst_pos omap_get_dma_chain_src_pos omap_modify_dma_chain_params omap_dma_chain_status Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1306c08a7cd7e6136490ab2bc728d2c39741003e Author: Rajendra Nayak <rnayak@xxxxxx> Date: Wed Sep 10 11:04:04 2014 -0500 ARM: OMAP4+: Remove static iotable mappings for SRAM In order to handle errata I688, a page of sram was reserved by doing a static iotable map. Now that we use gen_pool to manage sram, we can completely remove all of these static mappings and use gen_pool_alloc() to get the one page of sram space needed to implement errata I688. omap_bus_sync will be NOP until SRAM initialization happens. Suggested-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8b9a2810b02e3d9806ba2bf307c8e8dcedaf902d Author: Rajendra Nayak <rnayak@xxxxxx> Date: Wed Sep 10 11:04:03 2014 -0500 ARM: OMAP4+: Move SRAM data to DT Use drivers/misc/sram.c driver to manage SRAM on all DT only OMAP platforms (am33xx, am43xx, omap4 and omap5) instead of the existing private plat-omap/sram.c Address and size related data is removed from mach-omap2/sram.c and now passed to drivers/misc/sram.c from DT. Users can hence use general purpose allocator apis instead of OMAP private ones to manage and use SRAM. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 95369a73a957ad221f1d6b8f11a63a376f38c544 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Wed Sep 17 21:02:51 2014 +0200 eeepc-laptop: simplify parse_arg() parse_arg() has three possible return values: -EINVAL if sscanf(), in short, fails; zero if "count" is zero; and "count" in all other cases But "count" will never be zero. See, parse_arg() is called by the various store functions. And the callchain of these functions starts with sysfs_kf_write(). And that function checks for a zero "count". So we can stop checking for a zero "count", drop the "count" argument entirely, and transform parse_arg() into a function that returns zero on success or a negative error. That, in turn, allows to make those store functions just return "count" on success. The net effect is that the code becomes a bit easier to understand. A nice side effect is that this GCC warning is silenced too: drivers/platform/x86/eeepc-laptop.c: In function â??store_sys_acpiâ??: drivers/platform/x86/eeepc-laptop.c:279:10: warning: â??valueâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] int rv, value; Which is, of course, the reason to have a look at parse_arg(). Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 0616f4eeddd81a22f4a5f0cc09b0ad71b94404cf Author: Rajendra Nayak <rnayak@xxxxxx> Date: Wed Sep 10 11:04:02 2014 -0500 ARM: AM335x: Get rid of unused sram init function Remove the empty am33xx_sram_init() function. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d71c97e9371f690bd58e0051955f4262007840e7 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:01:08 2014 -0700 ARM: omap2plus_defconfig: Enable some display features Now that we have panel support for DT based booting, let's make it usable and enable most things as modules. Note that omap3 boards need also the ads7847 module for the panel that we're now changing to a loadable module. And n900 seems to require setting the brightness via sysfs for acx565akm/brightness after modprobe of panel_sony_acx565akm and omapfb. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 111974506d81630cb329089850c17b2aaf2ac2ee Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:01:08 2014 -0700 ARM: omap2plus_defconfig: Enable battery and reset drivers Since many omaps run on battery, we should have the battery drivers enabled. Let's also enable the reset driver. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 673ce00c5d6cb9d49260b4cabeaf8972caee4c52 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:01:08 2014 -0700 ARM: omap2plus_defconfig: Add support for distros with systemd Some distros are now using systemd, so let's enable most of what's recommended at: http://cgit.freedesktop.org/systemd/systemd/tree/README Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4dd7933ad606af457bc85b1afdaaac68aa993abf Author: Erik van Luijk <evanluijk@xxxxxxxxxxx> Date: Tue Sep 2 12:52:12 2014 +0200 ARM: at91/dt: at91sam9m10g45ek add rtc node Add rtc node to both the at91sam9g45 SoC family and the at91sam9m10g45ek board. Signed-off-by: Erik van Luijk <evanluijk@xxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit be9d32e8ab4c1668abce1dae8ce4db9e9f3e874a Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:08 2014 +0300 ARM: dts: cm-t54: setup omap_dwc3 Add "extcon" and "vbus-supply" properties of DWC3 node. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1a3290b813ee71843480ece01493e23a2f4a807a Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:07 2014 +0300 ARM: dts: cm-t54: add ADS7846 touchscreen support Add ADS7846 touchscreen support. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ac84d6cc182971079df846c7814fbc5fd7b7e0f8 Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:06 2014 +0300 ARM: dts: cm-t54: add Startek LCD support Add DT support for Startek KD050C LCD 800x480 panel. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6097b5a5341614e36153d90189ac3ad75f19ce09 Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:05 2014 +0300 ARM: dts: cm-t54: add HDMI/DVI display data Add DSS related pinmux and display data nodes required to support HDMI and DVI video out on CM-T54. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit db5790f89f82759ba51a2c65969cb45befa61a00 Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:04 2014 +0300 ARM: dts: cm-t54: fix mux mode comment style Follow the comment style of mode0_name.modeX_name for pins which mux mode differs from MUX_MODE0. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 68dac838d3c3ae8e31bdd9ff512e2a4a111287d0 Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:03 2014 +0300 ARM: dts: sbc-t54: fix mux mode comment style Follow the comment style of mode0_name.modeX_name for pins which mux mode differs from MUX_MODE0. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7f5736c31bc9ec539fcb404292ee7e494922c07c Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:03:36 2014 -0700 ARM: dts: Enable PMIC idle configuration for LDP With the IO chain reconfigure fixed, we can now enable the PMIC scripts for LDP. Note that at least on my es3.0 based LDP, the UART seems to be flakey after wake-up events from off-idle and hangs but eventually continues. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 271d4c6bc709d922e5f8913bcb64d6c53a752e31 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:03:36 2014 -0700 ARM: dts: Add support for Ethernet on some N900 macro boards As we have support for this in board-rx51-peripherals.c, let's add it to the .dts files too. Note that the reset GPIO will eventually go to the driver. For now let's just pull it down and skip any further reset in case the bootloader has configured the MAC address so NFSroot works. Also note that after 3430-sdp are using proper GPMC timings we can remove the tests for smsc,lan91c94 in gpmc.c. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a4ff93c185787412936bc8414f14f50bdd56e546 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:03:36 2014 -0700 ARM: dts: Do not set pulls for I2C lines There are external pulls on these lines and enabling the internal pulls can cause issue. This is because the internal pulls are parallel with the external pulls. So let's clear the internal I2C pulls. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7c1babdcee6a99fcc61a9403b4c24baa6ef7cf1f Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:03:36 2014 -0700 ARM: dts: omap: Remove WAKEUPENABLE mux options for UARTs This is no longer needed as the device specific wake-up event can now be specified with interrupts-extended property where the second interrupt is the pinctrl-single register, such as the UART3 RX pin. Note that twl4030_omap3.dtsi needs to set WAKEUPENABLE for off-idle to properly trigger the PMIC scripts. And GPIO pins still need to set WAKEUPENABLE for wake-up events. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 28ce556b2eb5a38aecd8292ef7e1da4599766bd6 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:03:36 2014 -0700 ARM: dts: omap3-overo: Fix UART wake-up events Compared to legacy booting, we don't have wake-up events enabled for device tree based booting. This means that if deeper idle states are enabled, the device won't wake up to UART events and seems like it has hung. Let's fix that by adding the wake-up interrupt. Note that we don't need to set the PIN_OFF_WAKEUPENABLE any longer, that's handled by the wake-up interrupt when the serial driver does request_irq on it. Tested with the following on omap3-overo-summit that has the ES2.1 omap: #!/bin/bash uarts=$(find /sys/class/tty/ttyO*/device/power/ -type d) for uart in $uarts; do echo 3000 > $uart/autosuspend_delay_ms done uarts=$(find /sys/class/tty/ttyO*/power/ -type d) for uart in $uarts; do echo enabled > $uart/wakeup echo auto > $uart/control done echo 1 > /sys/kernel/debug/pm_debug/enable_off_mode # grep -i uart /proc/interrupts 90: 1085 INTC 74 OMAP UART2 338: 5 pinctrl 366 OMAP UART2 # grep ^core_pwrdm /sys/kernel/debug/pm_debug/count core_pwrdm (ON),OFF:1654,RET:131,INA:39,ON:1825... Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fdc509b15eb3eb2dd73e0e8651ae8927330d130c Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:01:07 2014 -0700 ARM: omap2plus_defconfig: Add cpufreq to defconfig Note that we can now use the CONFIG_GENERIC_CPUFREQ_CPU0, so let's only enable that. Let's use CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND as suggested by Nishant. And also let's enable thermal as explained by Nishant Menon: Many TI SoCs using Highest frequency is not really too nice of an idea for long periods of time. And not everything is upstream to support things optimially - example avs class 0, 1.5 ABB consolidation with cpufreq etc.. We definitely need thermal enabled as well for device safety needs. [tony@xxxxxxxxxxx: updated per Nishant's suggestions] Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d7c517b52edf12ffb4aaaeb76633ab00ec5089d0 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:01:07 2014 -0700 ARM: omap2plus_defconfig: Shrink with savedefconfig This saves few lines and makes it easier to make patches against omap2plus_defconfig. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a2fc36613ac1af2e92cbed7af80bc72d8114dd50 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 08:58:49 2014 -0700 ARM: OMAP3: Use manual idle for UARTs because of DMA errata In sprz318f.pdf "Usage Note 2.7" says that UARTs cannot acknowledge idle requests in smartidle mode when configured for DMA operations. This prevents L4 from going idle. So let's use manual idle mode instead. Otherwise systems using Sebastian's 8250 patches with DMA will never enter deeper idle states because of the errata above. Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6a08b11adda53b89d32d4becac4d7f062a0e2d99 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 08:58:28 2014 -0700 ARM: OMAP2+: Add hwmod flag for HWMOD_RECONFIG_IO_CHAIN Commit cc824534d4fe ("ARM: OMAP2+: hwmod: Rearm wake-up interrupts for DT when MUSB is idled") fixed issues with hung UART wake-up events by calling _reconfigure_io_chain() when MUSB is connected or disconnected. As pointed out by Paul Walmsley, we may need to also call _reconfigure_io_chain() in other cases, so it should be a separate flag. Let's add HWMOD_RECONFIG_IO_CHAIN as suggested by Paul. Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5eb596f55cacc2389554a8d7572d90d5e9d4269d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Sep 18 11:26:32 2014 +0300 Bluetooth: Fix setting correct security level when initiating SMP We can only determine the final security level when both pairing request and response have been exchanged. When initiating pairing the starting target security level is set to MEDIUM unless explicitly specified to be HIGH, so that we can still perform pairing even if the remote doesn't have MITM capabilities. However, once we've received the pairing response we should re-consult the remote and local IO capabilities and upgrade the target security level if necessary. Without this patch the resulting Long Term Key will occasionally be reported to be unauthenticated when it in reality is an authenticated one. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e0065cf719a9d84a05c9722d149c9ce8f0508a36 Author: Marek Roszko <mark.roszko@xxxxxxxxx> Date: Sat Aug 23 23:12:05 2014 -0400 ARM: at91/dt: sama5d3: use new pinctrl compatible string This switches the SAMA5D3 to use the new atmel,sama5d3-pinctrl id that was added with the drive strength options patch. Signed-off-by: Marek Roszko <mark.roszko@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> [nicolas.ferre@xxxxxxxxx: second compatible string kept as at91sam9x5] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8a85ba2075a5fde3bc4c69c3f972f5144522453c Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 10:43:57 2014 +0200 ARM: at91/dt: sama5d3: add the nfc clock The atmel_nand driver is now able to handle the nfc clock, add it to sama5d3. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e9f05b4cfed38d0e57b0a705a7f480cfbe0c3247 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Thu Sep 18 16:49:42 2014 +0200 drbd: use RB_DECLARE_CALLBACKS() to define augment callbacks The original code are the same as RB_DECLARE_CALLBACKS(). CC: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Andreas Gruenbacher <agruen@xxxxxxxxxx> Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 82cfb90bc99d7b7e0ec62d0505b9d4f06805d5db Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Thu Sep 18 16:49:41 2014 +0200 drbd: compute the end before rb_insert_augmented() Commit 98683650 "Merge branch 'drbd-8.4_ed6' into for-3.8-drivers-drbd-8.4_ed6" switches to the new augment API, but the new API requires that the tree is augmented before rb_insert_augmented() is called, which is missing. So we add the augment-code to drbd_insert_interval() when it travels the tree up to down before rb_insert_augmented(). See the example in include/linux/interval_tree_generic.h or Documentation/rbtree.txt. drbd_insert_interval() may cancel the insertion when traveling, in this case, the just added augment-code does nothing before cancel since the @this node is already in the subtrees in this case. CC: Michel Lespinasse <walken@xxxxxxxxxx> CC: stable@xxxxxxxxxx # v3.10+ Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Andreas Gruenbacher <agruen@xxxxxxxxxx> Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 97735da4e3fc2cad464994f615b0d2211f132497 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 12:14:20 2014 +0200 ARM: at91/dt: declare sckc node on at91sam9g45 Declare the SCKC (Slow Clock Configuration) block and its clks. Make use of the clk32k clk instead of slow_osc where appropriate. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0a51d644c20f5c88fd3a659119d1903f74927082 Author: David Dueck <davidcdueck@xxxxxxxxxxxxxx> Date: Wed Sep 17 10:33:32 2014 +0200 ARM: at91/dt: Fix typo regarding can0_clk Otherwise the clock for can0 will never get enabled. Signed-off-by: David Dueck <davidcdueck@xxxxxxxxxxxxxx> Signed-off-by: Anthony Harivel <anthony.harivel@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.14 Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 9bd277300fd81d69c335fc6a48d1b802dac4c7c3 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Wed Jun 11 18:14:42 2014 +0800 ARM: at91/dt: at91sam9g20: switch ssc compatible string As the SSC integrate in at91sam9g20 support frame sync length extension, so switch compatible string to support this feature. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 496d3c2898cedf66530e057e68b54ffe5055154c Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Wed Jun 11 18:14:41 2014 +0800 ARM: at91/dt: at91sam9rl: switch ssc compatible string As the SSC integrate in at91sam9rl support frame sync length extension, so switch compatible string to support this feature. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 72a65a0d19c16de36e970ca6981732b5e8f7f4c4 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Sep 18 09:41:39 2014 -0500 Revert "usb: gadget: composite: dequeue cdev->req before free its buffer" This reverts commit be0a8887bb931af0e21531da20c41533effbb0d6. The original commit f2267089ea17fa97b796b1b4247e3f8957655df3 (usb: gadget: composite: dequeue cdev->req before free it in composite_dev_cleanup) ended up being reverted because it caused more issues then fixed. We will also revert this counter part commit so we start clean to properly add that idea back. Cc: Li Jun <b47624@xxxxxxxxxxxxx> Signed-of-by: Felipe Balbi <balbi@xxxxxx> commit 254a2d14fa77ac8a1b64f6171ec5f717f0753b53 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Wed Sep 17 21:36:41 2014 +0800 Btrfs: fix wrong parse of extent map's tracepoint The tracepoint of extent map doesn't parse @flag correctly, we set @flag via set_bit(), so we need to parse it on a bit bias. Also add the missing flag, EXTENT_FLAG_FS_MAPPING. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e6c4efd87ab04e5ead363f24e6ac35ed3506d401 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Wed Sep 17 11:53:35 2014 +0800 btrfs: Fix and enhance merge_extent_mapping() to insert best fitted extent map The following commit enhanced the merge_extent_mapping() to reduce fragment in extent map tree, but it can't handle case which existing lies before map_start: 51f39 btrfs: Use right extent length when inserting overlap extent map. [BUG] When existing extent map's start is before map_start, the em->len will be minus, which will corrupt the extent map and fail to insert the new extent map. This will happen when someone get a large extent map, but when it is going to insert it into extent map tree, some one has already commit some write and split the huge extent into small parts. [REPRODUCER] It is very easy to tiger using filebench with randomrw personality. It is about 100% to reproduce when using 8G preallocated file in 60s randonrw test. [FIX] This patch can now handle any existing extent position. Since it does not directly use existing->start, now it will find the previous and next extent around map_start. So the old existing->start < map_start bug will never happen again. [ENHANCE] This patch will insert the best fitted extent map into extent map tree, other than the oldest [map_start, map_start + sectorsize) or the relatively newer but not perfect [map_start, existing->start). The patch will first search existing extent that does not intersects with the desired map range [map_start, map_start + len). The existing extent will be either before or behind map_start, and based on the existing extent, we can find out the previous and next extent around map_start. So the best fitted extent would be [prev->end, next->start). For prev or next is not found, em->start would be prev->end and em->end wold be next->start. With this patch, the fragment in extent map tree should be reduced much more than the 51f39 commit and reduce an unneeded extent map tree search. Reported-by: Tsutomu Itoh <t-itoh@xxxxxxxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1b68bdf9cded82d37e443a20c5ed47bbb084d5dc Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Fri Sep 12 19:35:56 2014 +0200 ima: detect violations for mmaped files This patch fixes the detection of the 'open_writers' violation for mmaped files. before) an 'open_writers' violation is detected if the policy contains a rule with the criteria: func=FILE_CHECK mask=MAY_READ after) an 'open_writers' violation is detected if the current event matches one of the policy rules. With the old behaviour, the 'open_writers' violation is not detected in the following case: policy: measure func=FILE_MMAP mask=MAY_EXEC steps: 1) open a shared library for writing 2) execute a binary that links that shared library 3) during the binary execution, modify the shared library and save the change result: the 'open_writers' violation measurement is not present in the IMA list. Only binaries executed are protected from writes. For libraries mapped in memory there is the flag MAP_DENYWRITE for this purpose, but according to the output of 'man mmap', the mmap flag is ignored. Since ima_rdwr_violation_check() is now called by process_measurement() the information about if the inode must be measured is already provided by ima_get_action(). Thus the unnecessary function ima_must_measure() has been removed. Changes in v3 (Dmitry Kasatkin): - Violation for MMAP_CHECK function are verified since this patch - Changed patch description a bit Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit f7a859ff7395c0ffe60f9563df5354473e5f9244 Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Fri Sep 12 19:35:55 2014 +0200 ima: fix race condition on ima_rdwr_violation_check and process_measurement This patch fixes a race condition between two functions that try to access the same inode. Since the i_mutex lock is held and released separately in the two functions, there may be the possibility that a violation is not correctly detected. Suppose there are two processes, A (reader) and B (writer), if the following sequence happens: A: ima_rdwr_violation_check() B: ima_rdwr_violation_check() B: process_measurement() B: starts writing the inode A: process_measurement() the ToMToU violation (a reader may be accessing a content different from that measured, due to a concurrent modification by a writer) will not be detected. To avoid this issue, the violation check and the measurement must be done atomically. This patch fixes the problem by moving the violation check inside process_measurement() when the i_mutex lock is held. Differently from the old code, the violation check is executed also for the MMAP_CHECK hook (other than for FILE_CHECK). This allows to detect ToMToU violations that are possible because shared libraries can be opened for writing while they are in use (according to the output of 'man mmap', the mmap() flag MAP_DENYWRITE is ignored). Changes in v5 (Roberto Sassu): * get iint if action is not zero * exit process_measurement() after the violation check if action is zero * reverse order process_measurement() exit cleanup (Mimi) Changes in v4 (Dmitry Kasatkin): * iint allocation is done before calling ima_rdrw_violation_check() (Suggested-by Mimi) * do not check for violations if the policy does not contain 'measure' rules (done by Roberto Sassu) Changes in v3 (Dmitry Kasatkin): * no violation checking for MMAP_CHECK function in this patch * remove use of filename from violation * removes checking if ima is enabled from ima_rdrw_violation_check * slight style change Suggested-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 6f98e892884c32b9273ecce1332b849bcad3b8b1 Merge: ac60ab4 21c7eae Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Sep 18 23:52:46 2014 +1000 Merge branch 'smack-for-3.18' of git://git.gitorious.org/smack-next/kernel into next commit fe855dbfd3fde8fd3093e51992904e3c875a4a02 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Thu Sep 18 14:56:43 2014 +0200 ARM: at91: sama5d3xek: reserve dma channel for audio We set the DMA configuration on USARTs in the SoC DT in (ARM: at91: sama5d3: add usart dma configurations). As the audio must work with DMA channels, we reserve some dma channels for audio, or else audio won't work. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: move to the sama5d3xmb.dtsi to cover all board variants] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit b9e742c3164344fece3615aca42ec51b41753908 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Sep 17 11:34:17 2014 +0200 clk: tegra: Make clock initialization more robust Don't abort clock initialization if we cannot match an entry in tegra_clk_init_table to a valid entry in the clk array. Also log a corresponding error message. This was discovered when testing a patch that removed the EMC clock from tegra124_clks but left a mention in tegra_clk_init_table. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Reviewed-by: Stephen Warren <swarren@xxxxxxxxxx> commit 8337486a8fda53e5f46b3cb2b4eb3272608348cb Merge: 109ab90 96c0269 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 17 19:55:19 2014 +1000 Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next Commit "drm/rcar-du: Use struct videomode in platform data" touches board code in arch/arm/mach-shmobile. There is, to the best of my knowledge, no risk of conflict for v3.18. Simon, are you fine with getting those changes merged through Dave's tree (and could you confirm that no conflict should occur) ? Simon acked the merge: Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev: drm/rcar-du: Add OF support drm/rcar-du: Use struct videomode in platform data video: Add DT bindings for the R-Car Display Unit video: Add THC63LVDM83D DT bindings documentation video: Add ADV7123 DT bindings documentation video: Add DT binding documentation for VGA connector devicetree: Add vendor prefix "thine" to vendor-prefixes.txt devicetree: Add vendor prefix "mitsubishi" to vendor-prefixes.txt drm/shmob: Update copyright notice drm/rcar-du: Update copyright notice commit 6fbac83952f85b7d1c7ad674eb7c65d206da2c66 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:13:01 2014 +0000 ixgbe: remove IXGBE_FLAG_MSI(X)_CAPABLE flags They were not used, and we don't need them, so we shouldn't bother with keeping values in the flags field that could be misleading. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d786cf7b42115fcf7e186397439453f5b3a4ebc5 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:13:00 2014 +0000 ixgbe: add warnings for other disabled features without MSI-X support When we can't get MSI-X vectors, we disable a few features which require MSI-X vectors. Print warnings just like we do when disabling DCB. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5d31b48a42be3a592e4c22303041d12cd4d88c0a Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:59 2014 +0000 ixgbe: use e_dev_warn instead of netif_printk Again, we should not be directly using netif_printk, as we have our own error print routines that we generate. In addition, instead of using an early return we can just use the else block of this one line if statement. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c1c55f63a5137e1e8d7d9cbf52a3873059768c09 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:58 2014 +0000 ixgbe: use e_dev_warn instead of e_err for displaying warning In this case, disabling DCB is not an error. We can still function, but we just have to let the user know. In addition, since we call this during probe before allocating our netdevice structure, we should use e_dev_warn instead of e_warn. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4c495c204f794125db11e74bd61228901b0acaa7 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Fri Jul 11 17:18:29 2014 +0300 clk: tegra124: Add PLL_M_UD and PLL_C_UD clocks These clocks are used as parents for some EMC timings. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> commit 3bcf344657afefdd468dd9c2b30a009ee7ce7abc Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:57 2014 +0000 ixgbe: determine vector count inside ixgbe_acquire_msix_vectors Our calculated v_budget doesn't matter except if we allocate MSI-X vectors. We shouldn't need to calculate this outside of the function, so don't. Instead, only calculate it once we attempt to acquire MSI-X vectors. This helps collocate all of the MSI-X vector code together. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d364a77d02071355edbd5ee26c248b1ea75c653c Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Fri Jul 11 17:18:28 2014 +0300 ARM: tegra: Add PLL_M_UD and PLL_C_UD to tegra124-car binding header Add these clocks to the binding header so that EMC timings that have them as parent can refer to the clocks. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> commit 027bb561eff4a5c2185d3cbad6a41785eb50dded Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:56 2014 +0000 ixgbe: move msix_entries allocation into ixgbe_acquire_msix_vectors We already have to kfree this value if we fail, and this is only part of MSI-X mode, so we should simply allocate the value where we need it. This is cleaner, and makes it a lot more obvious why we are freeing it inside of ixgbe_acquire_msix_vectors. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d7de3c6e8154c0d0398127bcc09977e260fdff55 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:55 2014 +0000 ixgbe: return integer from ixgbe_acquire_msix_vectors Similar to how ixgbevf handles acquiring MSI-X vectors, we can return an error code instead of relying on the flag being set. This makes it more clear that we have failed to setup MSI-X mode, and also will make it easier to consolidate MSI-X related code all into the single function. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 493043e5273b93b9f9a674cd554bb3757a800f10 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:54 2014 +0000 ixgbe: use e_dev_warn instead of netif_printk The netif_printk relies on our netdevice structure to be registered already. We may call ixgbe_acquire_msix_vectors prior to registering our netdevice, so we should not use the netdevice specific printk. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d52349337392b122a1bcd57d191e2a0329b2d9b2 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 9 07:02:09 2014 +0000 ixgbe: Do not schedule an uninitialized workqueue entry If a hardware Tx timestamp is requested, an uninitialized workqueue entry may be scheduled, especially on an 82598 adapter. Add a check for a PTP clock to avoid that. Also only apply the unlikely to the first term of the conditional. That will make the rest of the checks be in the cold path. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d38e92481bf3fe15a9d253a1a1aaa5a71358938a Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Jul 29 09:40:09 2014 +0000 ixgbe: remove useless bd_number from adapter struct Because bd_number is not useful anymore, so remove it from adapter struct, or if keep it, we have to fix the boards driven counter bug in ixgbe_remove() and ixgbe_probe() only for trivial debug purpose -- other output is enough. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8d34b31e0ed452485d30658a67f7f8136f13c923 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Jul 29 09:44:01 2014 +0000 ixgbevf: remove useless bd_number from struct ixgbevf_adapter It is useless and buggy, just remove it. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fcfa8f493f4b52b99c29067c4eed8887af9ed951 Merge: 07034ae bc18d37 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 18 10:57:46 2014 +0200 Merge branch 'ipvs-next' Simon Horman says: ==================== This pull requests makes the following changes: * Add simple weighted fail-over scheduler. - Unlike other IPVS schedulers this offers fail-over rather than load balancing. Connections are directed to the appropriate server based solely on highest weight value and server availability. - Thanks to Kenny Mathis * Support IPv6 real servers in IPv4 virtual-services and vice versa - This feature is supported in conjunction with the tunnel (IPIP) forwarding mechanism. That is, IPv4 may be forwarded in IPv6 and vice versa. - The motivation for this is to allow more flexibility in the choice of IP version offered by both virtual-servers and real-servers as they no longer need to match: An IPv4 connection from an end-user may be forwarded to a real-server using IPv6 and vice versa. - Further work need to be done to support this feature in conjunction with connection synchronisation. For now such configurations are not allowed. - This change includes update to netlink protocol, adding a new destination address family attribute. And the necessary changes to plumb this information throughout IPVS. - Thanks to Alex Gartrell and Julian Anastasov ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 689f1c9de2abbd76fda224d12cea5f43568a4335 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 18 16:38:18 2014 +0800 ipsec: Remove obsolete MAX_AH_AUTH_LEN While tracking down the MAX_AH_AUTH_LEN crash in an old kernel I thought that this limit was rather arbitrary and we should just get rid of it. In fact it seems that we've already done all the work needed to remove it apart from actually removing it. This limit was there in order to limit stack usage. Since we've already switched over to allocating scratch space using kmalloc, there is no longer any need to limit the authentication length. This patch kills all references to it, including the BUG_ONs that led me here. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit b25f32cb02155d68c690255ba846796a1c248fd3 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:49 2014 +0300 ath10k: use ether_addr_copy() As suggeested by checkpatch: WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) In wmi.c I had to change due to sparse warnings copying of struct wmi_mac_addr from form &cmd->peer_macaddr.addr to cmd->peer_macaddr.addr. In ath10k_wmi_set_ap_ps_param() I also added the missing ".addr" to the copy command. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 75cb96d3eb6d1eb16e48931e987c1a7770b4758e Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:44 2014 +0300 ath10k: reformat help text in ath10k_read_simulate_fw_crash() Makes it more readable and fixes checkpatch warnings: drivers/net/wireless/ath/ath10k/debug.c:593: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:594: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:595: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:596: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:597: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:599: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:600: WARNING: quoted string split across lines Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8cc7f26c782e4f5c6c844eb32400bd6848b902db Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:39 2014 +0300 ath10k: miscellaneous checkpatch fixes Fixes checkpatch warnings: ath10k/htc.c:49: WARNING: Possible unnecessary 'out of memory' message ath10k/htc.c:810: WARNING: Possible unnecessary 'out of memory' message ath10k/htt.h:1034: CHECK: Please use a blank line after function/struct/union/enum declarations ath10k/htt_rx.c:135: CHECK: Unnecessary parentheses around htt->rx_ring.alloc_idx.vaddr ath10k/htt_rx.c:173: CHECK: Unnecessary parentheses around htt->rx_ring.alloc_idx.vaddr ath10k/pci.c:633: WARNING: macros should not use a trailing semicolon ath10k/wmi.c:3594: WARNING: quoted string split across lines Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d8bb26b964038a465a944a393e83d7fb9f0c5f28 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:33 2014 +0300 ath10k: else is not generally useful after a break or return Fixes checkpatch warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit ac04506c73d19dc8bdc167f79eef05d6bae5b644 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:28 2014 +0300 ath10k: don't use return on void functions Fixes a checkpatch warning: WARNING: void function return statements are not generally useful Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cfbc06a95b4ad6fd2462fa6505a49424db3cf54f Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:23 2014 +0300 ath10k: fix space after a cast style errors Fixes checkpatch warnings: CHECK: No space is necessary after a cast Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit af762c0b0de586937409346d94d1f09035a5e64f Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:17 2014 +0300 ath10k: fix missing a blank line after declarations Fixes checkpatch warnings: WARNING: Missing a blank line after declarations Please note that some of the cases I fixed by moving the variable declarations to the beginning of the function, which is the preferred style in ath10k. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c6e2e60e858efa8dd92d94f5d442068fb12b9967 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:11 2014 +0300 ath10k: fix use of multiple blank lines Fixes checkpatch warnings: CHECK: Please don't use multiple blank lines Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5b07e07fd0a9432b6910badfdb084112be4390af Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:06 2014 +0300 ath10k: fix checkpatch warnings about parenthesis alignment CHECK: Alignment should match open parenthesis Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bd8bdbb6902491518f36491a6bac9b6e2cdb0b60 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:00 2014 +0300 ath10k: fix parenthesis alignment warning in ath10k_htt_rx_alloc() Fixes checkpatch warning: ath10k/htt_rx.c:519: CHECK: Alignment should match open parenthesis Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a81b4708838261784fa473582607a6c687c39d00 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Fri Aug 29 20:00:51 2014 +0900 mtd: denali: fix include guard and license block of denali.h It looks like this header file is a concatenation of two headers. Anyway, the include guard should be renamed and placed at the correct postion and the license block in the middle should be deleted. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2ac63d901b1170fba509ae135d5f5f4472b84819 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 13:55:34 2014 +0200 mtd: nand: don't break long print messages This follows Chapter 2 of Linux's CodingStyle: > However, never break user-visible strings such as printk messages, > because that breaks the ability to grep for them. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b7ab610f628a381a1029d214476742d8589f1e02 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 11:28:24 2014 +0200 mtd: bcm47xxnflash: replace some magic numbers Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit dfbd7dda0b8dc0bb2b255d173f4e8ffbe24c5764 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 09:14:16 2014 +0200 mtd: bcm47xxnflash: NAND_CMD_RESET support Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 90de63324f0abc84f8c1ba56b2848c338cfda1cd Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 09:14:15 2014 +0200 mtd: bcm47xxnflash: add cmd_ctrl handler This won't be used by NAND subsystem as we implement cmdfunc on our own, but will allow us to write a bit cleaner code. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 39d36536d4e89461c0733a48d5ffc9b730751983 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:21 2014 +0300 spi/pxa2xx-pci: Add support for Intel Braswell Instead of one port we have 3 ports and all of them can take advantage of the shared DMA controller. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b729bf34535ed413667b397a2f59cfa81266facf Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:19 2014 +0300 spi/pxa2xx: Don't use slave_id of dma_slave_config That field has been deprecated in favour of getting the necessary information from ACPI/DT. However, we still need to deal systems that are PCI only (no ACPI to back up). In order to support such systems, we allow the DMA filter function and its corresponding parameter via pxa2xx_spi_master platform data. Then when the pxa2xx_spi_dma_setup() doesn't find the channel via ACPI, it falls back to use the given filter function. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5282a3acbfa5295f331696e603a9fd6be3bd4094 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 09:14:14 2014 +0200 mtd: bcm47xxnflash: add dev_ready and fill chip_delay Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 785e5e111f2187ea3e6f4035f6009da62dd5c043 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 09:14:13 2014 +0200 mtd: bcm47xxnflash: fix typo in freq calculation We are supposed to mask value, not multiply it. Add some comments btw. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 024629fdca1bbb44a25d40c2362a878a7a67ce3b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Aug 18 20:20:27 2014 +0200 mtd: bcm47xxpart: find NVRAM partitions in middle blocks Old devices used to have NVRAM at the very end of flash and they could be unaligned (starting at some offset in a block). In new devices NVRAM can be located quite randomly, however it seems to always start at the beginning of a block. For example Netgear R6250 has NVRAM located right after the bootloader, before the kernel partition. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a0a53a43ef51374c144a5f19f3f90c43aed76857 Merge: 2989708 afa93c9 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Sep 18 11:43:50 2014 +0530 Merge commit 'tags/spi-pxa2xx-clk' into for-linus commit 022a478ce650f5c36d2a9badfd805368a90fb506 Author: Wu, Josh <Josh.wu@xxxxxxxxx> Date: Fri Aug 8 17:12:35 2014 +0800 mtd: atmel_nand: remove pmecc_bytes_per_sector, use chip->ecc.bytes instead For PMECC, the pmecc_bytes_per_sector has same meaning as ecc.bytes. So remove pmecc_bytes_per_sector and use ecc.bytes instead. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c9447fff34aacc04f2e7df39612d2d6e234643f3 Author: Wu, Josh <Josh.wu@xxxxxxxxx> Date: Fri Aug 8 17:12:34 2014 +0800 mtd: atmel_nand: remove pmecc_sector_number, use ecc.steps instead For PMECC, the pmecc_sector_number has same meaning as ecc.steps. So use ecc.steps to replace the pmecc_sector_number. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 279bf6d390933d5353ab298fcc306c391a961469 Author: Jan Kara <jack@xxxxxxx> Date: Thu Sep 18 01:12:15 2014 -0400 ext4: don't check quota format when there are no quota files The check whether quota format is set even though there are no quota files with journalled quota is pointless and it actually makes it impossible to turn off journalled quotas (as there's no way to unset journalled quota format). Just remove the check. CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 50849db32a9f529235a84bcc84a6b8e631b1d0ec Author: Jan Kara <jack@xxxxxxx> Date: Thu Sep 18 00:58:12 2014 -0400 jbd2: simplify calling convention around __jbd2_journal_clean_checkpoint_list __jbd2_journal_clean_checkpoint_list() returns number of buffers it freed but noone was using the value so just stop doing that. This also allows for simplifying the calling convention for journal_clean_once_cp_list(). Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit cc97f1a7c7eed970e674b84be0e68f479c80228d Author: Jan Kara <jack@xxxxxxx> Date: Thu Sep 18 00:42:16 2014 -0400 jbd2: avoid pointless scanning of checkpoint lists Yuanhan has reported that when he is running fsync(2) heavy workload creating new files over ramdisk, significant amount of time is spent in __jbd2_journal_clean_checkpoint_list() trying to clean old transactions (but they cannot be cleaned up because flusher hasn't yet checkpointed those buffers). The workload can be generated by: fs_mark -d /fs/ram0/1 -D 2 -N 2560 -n 1000000 -L 1 -S 1 -s 4096 Reduce the amount of scanning by stopping to scan the transaction list once we find a transaction that cannot be checkpointed. Note that this way of cleaning is still enough to keep freeing space in the journal after fully checkpointed transactions. Reported-and-tested-by: Yuanhan Liu <yuanhan.liu@xxxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit bc18d37f676f76edbb5e0c37def78c704b5fbed0 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:39 2014 -0700 ipvs: Allow heterogeneous pools now that we support them Remove the temporary consistency check and add a case statement to only allow ipip mixed dests. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f18ae7206eaebfecc2dd8b017b0d6a0950eabf8b Author: Julian Anastasov <ja@xxxxxx> Date: Tue Sep 9 16:40:38 2014 -0700 ipvs: use the new dest addr family field Use the new address family field cp->daf when printing cp->daddr in logs or connection listing. Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 4d316f3f9ae3d5fad8d3198eec0a4ef2511471d7 Author: Julian Anastasov <ja@xxxxxx> Date: Wed Sep 17 00:09:00 2014 +0300 ipvs: use correct address family in scheduler logs Needed to support svc->af != dest->af. Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3467e765a59241f8b0e488f4a6ef183547181f35 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:46:04 2014 +0100 ARM: remove unused do_unexp_fiq() function do_unexp_fiq() has never been called by any code in the last 10 years, it's about time it was removed! Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7f038073c0a3e22e12344ab8b41d46547c072c82 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 3 23:36:58 2014 +0100 ARM: remove extraneous newline in show_regs() Remove an unnecessary newline in show_regs(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c0e7f7ee717e2b4c5791e7422424c96b5008c39e Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Sep 17 17:12:06 2014 +0100 ARM: 8150/3: fiq: Replace default FIQ handler This patch introduces a new default FIQ handler that is structured in a similar way to the existing ARM exception handler and result in the FIQ being handled by C code running on the SVC stack (despite this code run in the FIQ handler is subject to severe limitations with respect to locking making normal interaction with the kernel impossible). This default handler allows concepts that on x86 would be handled using NMIs to be realized on ARM. Credit: This patch is a near complete re-write of a patch originally provided by Anton Vorontsov. Today only a couple of small fragments survive, however without Anton's work to build from this patch would not exist. Thanks also to Russell King for spoonfeeding me a variety of fixes during the review cycle. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8c3166f5d74b7936d29dc44f778e759c1b9fb43a Author: kiran.padwal@xxxxxxxxxxxxxxx <kiran.padwal@xxxxxxxxxxxxxxx> Date: Wed Sep 17 16:00:25 2014 +0530 ARM: DT: apq8064: Add i2c device nodes This patch adds i2c pinctrl DT node for IFC6410 board. It also adds necessary DT support for i2c eeprom which is present on IFC6410. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 0be5fef161151b8841d3e3d33d815695384a9451 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Wed Sep 17 06:39:35 2014 +0100 ARM: DT: apq8064: add support to sdcc4 for wlan. This patch adds sdcc4 node to enable wlan support on IFC6410 Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit bf7f6b0432871cb68f3e3f4961a33cc6be05bc75 Author: kiran.padwal@xxxxxxxxxxxxxxx <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Sep 16 17:15:38 2014 +0530 ARM: dts: qcom: Add I2C dt node for MSM8974 and DB8074 board Add support for i2c controller on the DB8074 board. It also adds necessary DT support for i2c eeprom which is present on DB8074 board. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit c435285df112da1125e61d826b03014a4e769386 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:50:01 2014 -0400 target: fix unused shift in core_scsi3_pri_report_capabilities Clearly a right-shift was meant. Effectively doesn't make a difference, as add_len is hard-coded to 8 and the high byte will be zero no matter which way you shift. But I hate leaving bad examples for others to copy. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ce31c1b0dc4038a1dec64585d892adb73d9c45f4 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:50:00 2014 -0400 target: correctly handle match_int errors in FILEIO + PSCSI This patch correctly handles match_int() errors in FILEIO + PSCSI backend parameter parsing, which can potentially fail due to a memory allocation failure or invalid argument. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 68edbce4fb4b173d3b9880967cfcce0fc3abc8d5 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:59 2014 -0400 target: fix pr_out length in iscsi_parse_pr_out_transport_id Old code in iscsi_parse_pr_out_transport_id() was obviously buggy and effectively ignored the high byte. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 1481473b5656d8841f63c455594f340306c22cb0 Author: Joern Engel <joern@xxxxxxxxx> Date: Wed Sep 17 15:11:28 2014 -0700 target: simplify target_fabric_make_lun error path Coverity complained that lun_cg has been dereferenced in all paths leading to NULL check. It didn't mention that only a single path could lead there and the code can be simplified even further. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit da0abaee4793bac4047b3bdfd221fc54850bbf5f Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:57 2014 -0400 target: Fix memory leak on error in target_fabric_make_mappedlun This patch fixes a memory leak on error in target_fabric_make_mappedlun(), where se_lun_acl memory does not get released on exit. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0c8fc2c1210556434835adfb2274f41704853e8a Author: Li Zefan <lizefan@xxxxxxxxxx> Date: Wed Sep 17 18:19:24 2014 +0800 cgroup: remove bogus comments We never grab cgroup mutex in fork and exit paths no matter whether notify_on_release is set or not. Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 244bb9a6336d2aa53526261ec35c593ebd5c1a33 Author: Li Zefan <lizefan@xxxxxxxxxx> Date: Wed Sep 17 18:18:34 2014 +0800 cgroup: remove redundant code in cgroup_rmdir() We no longer clear kn->priv in cgroup_rmdir(), so we don't need to get an extra refcnt. Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6213daab2547fdc0d02a86abf3ac209ac6881ae3 Author: Li Zefan <lizefan@xxxxxxxxxx> Date: Wed Sep 17 18:18:09 2014 +0800 cgroup: remove some useless forward declarations Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9253b279f493a8bcb3d6ee8c934bdae4a21bd44e Merge: 251f8c0 aa32362 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Sep 18 06:29:05 2014 +0900 Merge branch 'for-3.17-fixes' of ra.kernel.org:/pub/scm/linux/kernel/git/tj/cgroup into for-3.18 Pull to receive a4189487da1b ("cgroup: delay the clearing of cgrp->kn->priv") for the scheduled clean up patches. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 8d2135592d2ab5c8d7764a4f534afac64e563691 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:56 2014 -0400 target: Fix possible memory leak in aptpl_metadata parsing Each case of match_strdup could leak memory if the same argument was present before. I am not too concerned, as it would require a non-sensical combination like "target_lun=foo target_lun=bar", done with root privileges and even then leak just a few bytes per instance. But arg_p is different, as it will always leak memory. Let's plug that one. And while at it, replace some &args[0] with args. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit e5685730e2c620f97bc12380e9370e857e5bd7a7 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 17 16:42:58 2014 -0300 perf record: Use ring buffer consume method to look like other tools All builtins that consume events from perf's ring buffer now end up calling perf_evlist__mmap_consume(), which will allow unmapping the ring buffer when all the fds gets closed and all events in the buffer consumed. This is in preparation for the patchkit that will notice POLLHUP on perf events file descriptors. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8vhaeeoq11ppz0713el4xcps@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 664fee3dc37939bb8010906913fa9dbc52abb587 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Sep 17 08:41:01 2014 +0000 perf probe: Do not use dwfl_module_addrsym if dwarf_diename finds symbol name Do not use dwfl_module_addrsym if dwarf_diename can find the symbol name, since dwfl_module_addrsym can be failed on shared libraries. Without this patch ---- $ perf probe -x ../lib/traceevent/libtraceevent.so -V create_arg_op Failed to find symbol at 0x11df1 Failed to find the address of create_arg_op Error: Failed to show vars. ---- With this patch ---- $ perf probe -x ../lib/traceevent/libtraceevent.so -V create_arg_op Available variables at create_arg_op @<create_arg_op+0> enum filter_op_type btype struct filter_arg* arg ---- This bug was reported on linux-perf-users@xxxxxxxxxxxxxxxx Reported-by: david lerner <dlernerdroid@xxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: david lerner <dlernerdroid@xxxxxxxxx> Cc: linux-perf-user@xxxxxxxxxxxxxxx Cc: yrl.pp-manager.tt@xxxxxxxxxxx Link: http://permalink.gmane.org/gmane.linux.kernel.perf.user/1691 Link: http://lkml.kernel.org/r/20140917084101.3722.25299.stgit@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2b394bc4468c2f5e6814a8dbb2a923c0448f8497 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Sep 17 08:40:54 2014 +0000 perf probe: Do not access kallsyms when analyzing user binaries Do not access kallsyms to show available variables and show source lines in user binaries. This behavior always requires the root privilege when sysctl sets kernel.kptr_restrict=1, but we don't need it just for analyzing user binaries. Without this patch (by normal user, kptr_restrict=1): ---- $ perf probe -x ./perf -V add_cmdname Failed to init vmlinux path. Error: Failed to show vars. $ perf probe -x ./perf -L add_cmdname Failed to init vmlinux path. Error: Failed to show lines. ---- With this patch: ---- $ perf probe -x ./perf -V add_cmdname Available variables at add_cmdname @<perf_unknown_cmd_config+144> (No matched variables) @<list_commands_in_dir+160> (No matched variables) @<add_cmdname+0> char* name size_t len struct cmdnames* cmds $ perf probe -x ./perf -L add_cmdname <add_cmdname@/home/fedora/ksrc/linux-3/tools/perf/util/help.c:0> 0 void add_cmdname(struct cmdnames *cmds, const char *name, size_t len) 1 { 2 struct cmdname *ent = malloc(sizeof(*ent) + len + 1); 4 ent->len = len; 5 memcpy(ent->name, name, len); 6 ent->name[len] = 0; ... ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: david lerner <dlernerdroid@xxxxxxxxx> Cc: linux-perf-user@xxxxxxxxxxxxxxx Cc: yrl.pp-manager.tt@xxxxxxxxxxx Link: http://lkml.kernel.org/r/20140917084054.3722.73975.stgit@xxxxxxxxxxxxxxxxxxxx [ Added missing 'bool user' argument to the !DWARF show_line_range() stub ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a3d3c53f738bb931e15b20d3dc5d23722b9ede6a Author: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> Date: Wed Sep 17 00:13:56 2014 +0300 intel-rst: Clean up ACPI add function There is no need to initialize the error since it is going to be assigned with the return status of at least on of the device_create_file() call. We can return directly in case the first file creation fails. All the labels for goto can be removed (along with the gotos) as well. Tell the compiler that the failures are unlikely so it can create better binaries. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d46a76405fad48a7efc3faf07545fa886a3b271a Author: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> Date: Wed Sep 17 00:13:55 2014 +0300 intel-rst: Use ACPI_FAILURE() macro instead !ACPI_SUCCESS() for error checking ACPI_SUCCESS is defined as: #define ACPI_SUCCESS(a) (!(a)) There is no need for the the double ! since there is already a macro defined for failures: ACPI_FAILURE() Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 72a979f09fa9111fd6be8326e5f21319ff6918fb Author: Jan van den Berg <janvdberg@xxxxxxxxx> Date: Wed Sep 17 00:01:08 2014 +0200 x86: thinkpad_acpi.c: fixed spacing coding style issue Fixed 22 similar coding style issues: "ERROR: spaces required around that '?'" Signed-off-by: Jan van den Berg <janvdberg@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 93f8c16d635e6b1e3ea978e38e110391ce28b26f Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Sep 12 18:50:36 2014 -0600 toshiba_acpi: Support new keyboard backlight type Newer Toshiba models now come with a new (and different) keyboard backlight implementation with three modes of operation: TIMER, ON and OFF, and the LED is now controlled internally by the firmware. This patch adds support for that type of backlight, changing the existing code to accomodate the new implementation. The timeout value range is now 1-60 seconds, and the accepted modes are now: 1 (FN-Z), 2 (AUTO or TIMER), 8 (ON) and 10 (OFF), this adds two new entries kbd_type and available_kbd_modes, the first shows the keyboard type and the latter shows the supported modes depending on the keyboard type. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit c8a41669a76381f655f5567d3ccd8449a53f9a7f Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Sep 10 21:01:57 2014 -0600 toshiba_acpi: Change touchpad store to check for invalid values The function toshiba_touchpad_store is not checking for invalid values and simply returns silently. This patch checks for invalid values and returns accordingly. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 12962878fbf9578b3d30ee4d8a5cd6632f26324c Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Sep 5 11:14:04 2014 -0600 toshiba_acpi: Fix illumination not available on certain models Some Toshiba models with illumination support set a different value on the returned codes, thus not allowing the illumination LED to be registered, where it should be. This patch removes a check from toshiba_illumination_available function to allow such models to register the illumination LED. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 408a5d136b84f5fb43c9441153403d18255cb79c Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Sep 5 11:14:03 2014 -0600 toshiba_acpi: Additional hotkey scancodes Appart from reporting hotkeys, the INFO method is used as a system wide event notifier for hardware or software changes. This patch adds additional "events" to the keymap list, ignored by now, until we find them a good use. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit fdc84d11a278d468052afc8e17523545fafe6c5f Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:55 2014 -0400 iscsi-target: use strlcpy in iscsit_collect_login_stats last_intr_fail_name is a fixed-size array and could theoretically overflow. In reality intrname->value doesn't seem to depend on untrusted input or be anywhere near 224 characters, so the overflow is pretty theoretical. But strlcpy is cheap enough. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4d1a40c66bed0b3fa43b9da5fbd5cbe332e4eccf Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Sep 16 17:49:30 2014 +0800 Btrfs: fix up bounds checking in lseek An user reported this, it is because that lseek's SEEK_SET/SEEK_CUR/SEEK_END allow a negative value for @offset, but btrfs's SEEK_DATA/SEEK_HOLE don't prepare for that and convert the negative @offset into unsigned type, so we get (end < start) warning. [ 1269.835374] ------------[ cut here ]------------ [ 1269.836809] WARNING: CPU: 0 PID: 1241 at fs/btrfs/extent_io.c:430 insert_state+0x11d/0x140() [ 1269.838816] BTRFS: end < start 4094 18446744073709551615 [ 1269.840334] CPU: 0 PID: 1241 Comm: a.out Tainted: G W 3.16.0+ #306 [ 1269.858229] Call Trace: [ 1269.858612] [<ffffffff81801a69>] dump_stack+0x4e/0x68 [ 1269.858952] [<ffffffff8107894c>] warn_slowpath_common+0x8c/0xc0 [ 1269.859416] [<ffffffff81078a36>] warn_slowpath_fmt+0x46/0x50 [ 1269.859929] [<ffffffff813b0fbd>] insert_state+0x11d/0x140 [ 1269.860409] [<ffffffff813b1396>] __set_extent_bit+0x3b6/0x4e0 [ 1269.860805] [<ffffffff813b21c7>] lock_extent_bits+0x87/0x200 [ 1269.861697] [<ffffffff813a5b28>] btrfs_file_llseek+0x148/0x2a0 [ 1269.862168] [<ffffffff811f201e>] SyS_lseek+0xae/0xc0 [ 1269.862620] [<ffffffff8180b212>] system_call_fastpath+0x16/0x1b [ 1269.862970] ---[ end trace 4d33ea885832054b ]--- This assumes that btrfs starts finding DATA/HOLE from the beginning of file if the assigned @offset is negative. Also we add alignment for lock_extent_bits 's range. Reported-by: Toralf Förster <toralf.foerster@xxxxxx> Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a756024efea259282e65f3a00f512b094e805d76 Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Fri Sep 12 19:35:54 2014 +0200 ima: added ima_policy_flag variable This patch introduces the new variable 'ima_policy_flag', whose bits are set depending on the action of the current policy rules. Only the flags IMA_MEASURE, IMA_APPRAISE and IMA_AUDIT are set. The new variable will be used to improve performance by skipping the unnecessary execution of IMA code if the policy does not contain rules with the above actions. Changes in v6 (Roberto Sassu) * do not check 'ima_initialized' before calling ima_update_policy_flag() in ima_update_policy() (suggested by Dmitry) * calling ima_update_policy_flag() moved to init_ima to co-locate with ima_initialized (Dmitry) * add/revise comments (Mimi) Changes in v5 (Roberto Sassu) * reset IMA_APPRAISE flag in 'ima_policy_flag' if 'ima_appraise' is set to zero (reported by Dmitry) * update 'ima_policy_flag' only if IMA initialization is successful (suggested by Mimi and Dmitry) * check 'ima_policy_flag' instead of 'ima_initialized' (suggested by Mimi and Dmitry) Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit f612496bca664bff6a09a99a9a7506410b6e876e Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:44:04 2014 +0800 Btrfs: cleanup the read failure record after write or when the inode is freeing After the data is written successfully, we should cleanup the read failure record in that range because - If we set data COW for the file, the range that the failure record pointed to is mapped to a new place, so it is invalid. - If we set no data COW for the file, and if there is no error during writting, the corrupted data is corrected, so the failure record can be removed. And if some errors happen on the mirrors, we also needn't worry about it because the failure record will be recreated if we read the same place again. Sometimes, we may fail to correct the data, so the failure records will be left in the tree, we need free them when we free the inode or the memory leak happens. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8b110e393c5a6e72d50fcdf9fa7ed8b647cfdfc9 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:44:03 2014 +0800 Btrfs: implement repair function when direct read fails This patch implement data repair function when direct read fails. The detail of the implementation is: - When we find the data is not right, we try to read the data from the other mirror. - When the io on the mirror ends, we will insert the endio work into the dedicated btrfs workqueue, not common read endio workqueue, because the original endio work is still blocked in the btrfs endio workqueue, if we insert the endio work of the io on the mirror into that workqueue, deadlock would happen. - After we get right data, we write it back to the corrupted mirror. - And if the data on the new mirror is still corrupted, we will try next mirror until we read right data or all the mirrors are traversed. - After the above work, we set the uptodate flag according to the result. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 28e1cc7d1baf8038ae4ad4681c8f3dc94fcd7c00 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:44:02 2014 +0800 Btrfs: Set real mirror number for read operation on RAID0/5/6 We need real mirror number for RAID0/5/6 when reading data, or if read error happens, we would pass 0 as the number of the mirror on which the io error happens. It is wrong and would cause the filesystem read the data from the corrupted mirror again. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1203b6813ee84add8b4baa6d75e50ba85517e99c Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:44:01 2014 +0800 Btrfs: modify clean_io_failure and make it suit direct io We could not use clean_io_failure in the direct IO path because it got the filesystem information from the page structure, but the page in the direct IO bio didn't have the filesystem information in its structure. So we need modify it and pass all the information it need by parameters. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ffdd2018dd0bbfc0d9855ed811dba67201766a2d Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:44:00 2014 +0800 Btrfs: modify repair_io_failure and make it suit direct io The original code of repair_io_failure was just used for buffered read, because it got some filesystem data from page structure, it is safe for the page in the page cache. But when we do a direct read, the pages in bio are not in the page cache, that is there is no filesystem data in the page structure. In order to implement direct read data repair, we need modify repair_io_failure and pass all filesystem data it need by function parameters. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2fe6303e7cd099334cdb09370cece6bc168de131 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:59 2014 +0800 Btrfs: split bio_readpage_error into several functions The data repair function of direct read will be implemented later, and some code in bio_readpage_error will be reused, so split bio_readpage_error into several functions which will be used in direct read repair later. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 454ff3de42872870ffc3580b69132a9ef40f5cc5 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:58 2014 +0800 Btrfs: Cleanup unused variant and argument of IO failure handlers Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 6c387ab20db15f2bd448f7c508e2638101b16ea1 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:57 2014 +0800 Btrfs: fix missing error handler if submiting re-read bio fails We forgot to free failure record and bio after submitting re-read bio failed, fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c1dc08967f69c6b5067f8302c600f6628123f3bf Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:56 2014 +0800 Btrfs: do file data check by sub-bio's self Direct IO splits the original bio to several sub-bios because of the limit of raid stripe, and the filesystem will wait for all sub-bios and then run final end io process. But it was very hard to implement the data repair when dio read failure happens, because at the final end io function, we didn't know which mirror the data was read from. So in order to implement the data repair, we have to move the file data check in the final end io function to the sub-bio end io function, in which we can get the mirror number of the device we access. This patch did this work as the first step of the direct io data repair implementation. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dc380aea5fa4636fc498a351eb720943bc644451 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:55 2014 +0800 Btrfs: cleanup similar code of the buffered data data check and dio read data check Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 23ea8e5a07673127d05cb5cf6f9914d7a53e0847 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:54 2014 +0800 Btrfs: load checksum data once when submitting a direct read io The current code would load checksum data for several times when we split a whole direct read io because of the limit of the raid stripe, it would make us search the csum tree for several times. In fact, it just wasted time, and made the contention of the csum tree root be more serious. This patch improves this problem by loading the data at once. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c3929c3624e1764855e5a452728aec201b18b42a Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:47 2014 +0800 Btrfs: modify rw_devices counter under chunk_mutex context rw_devices counter is often used to tune the profile when doing chunk allocation, so we should modify it under the chunk_mutex context to avoid getting wrong chunk profile. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5f375835694426d00a7a4bc7fef72479578f279f Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:46 2014 +0800 Btrfs: move the missing device to its own fs device list For a missing device, we don't know it belong to which fs before we read its fsid from the chunk tree. So we add them into the current fs device list at first. When we get its fsid, we should move them to their own fs device list. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 416d7b802a8bc044e98dc8bd96b59ce7a02287ac Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:45 2014 +0800 Btrfs: stop mounting the fs if the non-ENOENT errors happen when opening seed fs When we open a seed filesystem, if the degraded mount option is set, we continue to mount the fs if we don't find some devices in the seed filesystem. But we should stop mounting if other errors happen. Fix it Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 82372bc816d75722c24d1abadb11cd8c0a33883a Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:44 2014 +0800 Btrfs: make the logic of source device removing more clear Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 67a2c45ee7f4f250458279a2e1244679c5d9735c Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:43 2014 +0800 Btrfs: fix use-after-free problem of the device during device replace The problem is: Task0(device scan task) Task1(device replace task) scan_one_device() mutex_lock(&uuid_mutex) device = find_device() mutex_lock(&device_list_mutex) lock_chunk() rm_and_free_source_device unlock_chunk() mutex_unlock(&device_list_mutex) check device Destroying the target device if device replace fails also has the same problem. We fix this problem by locking uuid_mutex during destroying source device or target device, just like the device remove operation. It is a temporary solution, we can fix this problem and make the code more clear by atomic counter in the future. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit adbbb8631beda8e4e5d2c964b8b47e04cfa0a2ae Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:42 2014 +0800 Btrfs: fix unprotected device list access when cloning fs devices We can build a new filesystem based a seed filesystem, and we need clone the fs devices when we open the new filesystem. But someone might clear the seed flag of the seed filesystem, then mount that filesystem and remove some device. If we mount the new filesystem, we might access a device list which was being changed when we clone the fs devices. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2196d6e8a71fc901e31c1d81581fc6cc6c64913e Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:41 2014 +0800 Btrfs: Fix misuse of chunk mutex There were several problems about chunk mutex usage: - Lock chunk mutex when updating metadata. It would cause the nested deadlock because updating metadata might need allocate new chunks that need acquire chunk mutex. We remove chunk mutex at this case, because b-tree lock and other lock mechanism can help us. - ABBA deadlock occured between device_list_mutex and chunk_mutex. When we update device status, we must acquire device_list_mutex at the beginning, and then we might get chunk_mutex during the device status update because we need allocate new chunks for metadata COW. But at most place, we acquire chunk_mutex at first and then acquire device list mutex. We need change the lock order. - Some place we needn't acquire chunk_mutex. For example we needn't get chunk_mutex when we free a empty seed fs_devices structure. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 15484377f597ca98ee84de87caa13667ea68bb14 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:40 2014 +0800 Btrfs: fix unprotected device list access when getting the fs information When we get the fs information, we forgot to acquire the mutex of device list, it might cause the problem we might access a device that was removed. Fix it by acquiring the device list mutex. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit fe48a5c00f3c8087fc0a447caee2b5f9f97cf238 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:39 2014 +0800 Btrfs: fix unprotected system chunk array insertion We didn't protect the system chunk array when we added a new system chunk into it, it would cause the array be corrupted if someone remove/add some system chunk into array at the same time. Fix it by chunk lock. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7cc8e58d53cd2295c3c1cee7b503bd1790ea4486 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:38 2014 +0800 Btrfs: fix unprotected device's variants on 32bits machine ->total_bytes,->disk_total_bytes,->bytes_used is protected by chunk lock when we change them, but sometimes we read them without any lock, and we might get unexpected value. We fix this problem like inode's i_size. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1c1161870c8bcb0d966ebbf1aec05a87a79a4175 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:37 2014 +0800 Btrfs: update free_chunk_space during allocting a new chunk We should update free_chunk_space in time when we allocate a new chunk, not when we deal with the pending device update and block group insertion, because we need the real free_chunk_space data to calculate the reserved space, if we don't update it in time, we would consider the disk space which has be allocated as free space, and would use it to do overcommit reservation. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 43530c46cc55cf5a381e788276a93c83cbc95e46 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:36 2014 +0800 Btrfs: fix unprotected device->bytes_used update We should update device->bytes_used in the lock context of chunk_mutex, or we would get wrong data. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5d778aaeb013bf819d00e33de7c673c04b5c4886 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:35 2014 +0800 Btrfs: Fix wrong free_chunk_space assignment during removing a device During removing a device, we have modified free_chunk_space when we shrink the device, so we needn't assign a new value to it after the device shrink. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ce7213c70c37e3a66bc0b50c45edcbfea505f62f Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:34 2014 +0800 Btrfs: fix wrong device bytes_used in the super block device->bytes_used will be changed when allocating a new chunk, and disk_total_size will be changed if resizing is successful. Meanwhile, the on-disk super blocks of the previous transaction might not be updated. Considering the consistency of the metadata in the previous transaction, We should use the size in the previous transaction to check if the super block is beyond the boundary of the device. Though it is not big problem because we don't use it now, but anyway it is better that we make it be consistent with the common metadata, maybe we will use it in the future. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 935e5cc935bcbf9b3d0dd59fed7dbc0f2ebca6bc Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:33 2014 +0800 Btrfs: fix wrong disk size when writing super blocks total_size will be changed when resizing a device, and disk_total_size will be changed if resizing is successful. Meanwhile, the on-disk super blocks of the previous transaction might not be updated. Considering the consistency of the metadata in the previous transaction, We should use the size in the previous transaction to check if the super block is beyond the boundary of the device. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1c43366d3b3f0fa6c6e81aaf3aa18e0550245dad Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:32 2014 +0800 Btrfs: fix unprotected assignment of the target device We didn't protect the assignment of the target device, it might cause the problem that the super block update was skipped because we might find wrong size of the target device during the assignment. Fix it by moving the assignment sentences into the initialization function of the target device. And there is another merit that we can check if the target device is suitable more early. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c7662111c741bc04a7192f2a00aad608cbc0b205 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:31 2014 +0800 Btrfs: cleanup double assignment of device->bytes_used when device replace finishes Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 90180da42c38a83b050452aa555d3d2df6ae2ad4 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:30 2014 +0800 Btrfs: cleanup unused num_can_discard in fs_devices The member variants - num_can_discard - of fs_devices structure are set, but no one use them to do anything. so remove them. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 82f70d62f7923cc43128e75ae85366f137055b76 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Mon Sep 8 20:41:09 2014 +0800 btrfs: remove the wrong comments This comments became wrong after c3c532[bdi: add helper function for doing init and register of a bdi for a file system], so remove them. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a2cc11db245b9d8fbd4e3adbe2a1e7cf60473950 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Sep 8 22:53:18 2014 +0100 Btrfs: fix directory recovery from fsync log When replaying a directory from the fsync log, if a directory entry exists both in the fs/subvol tree and in the log, the directory's inode got its i_size updated incorrectly, accounting for the dentry's name twice. Reproducer, from a test for xfstests: _scratch_mkfs >> $seqres.full 2>&1 _init_flakey _mount_flakey touch $SCRATCH_MNT/foo sync touch $SCRATCH_MNT/bar xfs_io -c "fsync" $SCRATCH_MNT xfs_io -c "fsync" $SCRATCH_MNT/bar _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey [ -f $SCRATCH_MNT/foo ] || echo "file foo is missing" [ -f $SCRATCH_MNT/bar ] || echo "file bar is missing" _unmount_flakey _check_scratch_fs $FLAKEY_DEV The filesystem check at the end failed with the message: "root 5 root dir 256 error". A test case for xfstests follows. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 25ce459c1af138f95a3fd318461193397ebb825b Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Wed Sep 10 12:58:50 2014 +0800 Btrfs: fix loop writing of async reclaim One of my tests shows that when we really don't have space to reclaim via flush_space and also run out of space, this async reclaim work loops on adding itself into the workqueue and keeps writing something to disk according to iostat's results, and these writes mainly comes from commit_transaction which writes super_block. This's unacceptable as it can be bad to disks, especially memeory storages. This adds a check to avoid the above situation. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dc046b10c8b7d4f40befe457acb82340bf8b0699 Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Sep 10 16:20:45 2014 -0400 Btrfs: make fiemap not blow when you have lots of snapshots We have been iterating all references for each extent we have in a file when we do fiemap to see if it is shared. This is fine when you have a few clones or a few snapshots, but when you have 5k snapshots suddenly fiemap just sits there and stares at you. So add btrfs_check_shared which will use the backref walking code but will short circuit as soon as it finds a root or inode that doesn't match the one we currently have. This makes fiemap on my testbox go from looking at me blankly for a day to spitting out actual output in a reasonable amount of time. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 78a017a2c92df9b571db0a55a016280f9019c65e Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Sep 11 11:44:49 2014 +0100 Btrfs: add missing compression property remove in btrfs_ioctl_setflags The behaviour of a 'chattr -c' consists of getting the current flags, clearing the FS_COMPR_FL bit and then sending the result to the set flags ioctl - this means the bit FS_NOCOMP_FL isn't set in the flags passed to the ioctl. This results in the compression property not being cleared from the inode - it was cleared only if the bit FS_NOCOMP_FL was set in the received flags. Reproducer: $ mkfs.btrfs -f /dev/sdd $ mount /dev/sdd /mnt && cd /mnt $ mkdir a $ chattr +c a $ touch a/file $ lsattr a/file --------c------- a/file $ chattr -c a $ touch a/file2 $ lsattr a/file2 --------c------- a/file2 $ lsattr -d a ---------------- a Reported-by: Andreas Schneider <asn@xxxxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 12b894cb288d57292b01cf158177b6d5c89a6272 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Wed Aug 20 16:10:15 2014 +0800 btrfs: Fix a deadlock in btrfs_dev_replace_finishing() btrfs-transacion:5657 [stack snip] btrfs_bio_map() btrfs_bio_counter_inc_blocked() percpu_counter_inc(&fs_info->bio_counter) ###bio_counter > 0(A) __btrfs_bio_map() btrfs_dev_replace_lock() mutex_lock(dev_replace->lock) ###wait mutex(B) btrfs:32612 [stack snip] btrfs_dev_replace_start() btrfs_dev_replace_lock() mutex_lock(dev_replace->lock) ###hold mutex(B) btrfs_dev_replace_finishing() btrfs_rm_dev_replace_blocked() wait until percpu_counter_sum == 0 ###wait on bio_counter(A) This bug can be triggered quite easily by the following test script: http://pastebin.com/MQmb37Cy This patch will fix the ABBA problem by calling btrfs_dev_replace_unlock() before btrfs_rm_dev_replace_blocked(). The consistency of btrfs devices list and their superblocks is protected by device_list_mutex, not btrfs_dev_replace_lock/unlock(). So it is safe the move btrfs_dev_replace_unlock() before btrfs_rm_dev_replace_blocked(). Reported-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Cc: Stefan Behrens <sbehrens@xxxxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a583c02664eea8796e80dd192a3bcc1d521939e5 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Aug 19 23:32:22 2014 +0800 Btrfs: cleanup the same name in end_bio_extent_readpage We've defined a 'offset' out of bio_for_each_segment_all. This is just a clean rename, no function changes. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0b4699dcb65c2cff793210b07f40b98c2d423a43 Author: Mark Fasheh <mfasheh@xxxxxxx> Date: Mon Aug 18 14:01:17 2014 -0700 btrfs: don't go readonly on existing qgroup items btrfs_drop_snapshot() leaves subvolume qgroup items on disk after completion. This can cause problems with snapshot creation. If a new snapshot tries to claim the deleted subvolumes id, btrfs will get -EEXIST from add_qgroup_item() and go read-only. The following commands will reproduce this problem (assume btrfs is on /dev/sda and is mounted at /btrfs) mkfs.btrfs -f /dev/sda mount -t btrfs /dev/sda /btrfs/ btrfs quota enable /btrfs/ btrfs su sna /btrfs/ /btrfs/snap btrfs su de /btrfs/snap sleep 45 umount /btrfs/ mount -t btrfs /dev/sda /btrfs/ We can fix this by catching -EEXIST in add_qgroup_item() and initializing the existing items. We have the problem of orphaned relation items being on disk from an old snapshot but that is outside the scope of this patch. Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b7831b20f32019b741eb8fe3435c2516e13e0c4a Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Fri Aug 15 23:38:06 2014 +0800 Btrfs: show real function name in btrfs workqueue tracepoint Use %pf instead of %p, just same as kernel workqueue tracepoints. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2a39e5980257c77f48b5c31f9fb483a72a03b213 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Aug 14 12:25:14 2014 +0100 Btrfs: shrink further sizeof(struct extent_buffer) The map_start and map_len fields aren't used anywhere, so just remove them. On a x86_64 system, this reduced sizeof(struct extent_buffer) from 296 bytes to 280 bytes, and therefore 14 extent_buffer structs can now fit into a page instead of 13. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4395e0c4da486f007dcb45b0336427be7ec08ab1 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Aug 20 10:45:45 2014 +0100 Btrfs: send, lower mem requirements for processing xattrs Maximum xattr size can be up to nearly the leaf size. For an fs with a leaf size larger than the page size, using kmalloc requires allocating multiple pages that are contiguous, which might not be possible if there's heavy memory fragmentation. Therefore fallback to vmalloc if we fail to allocate with kmalloc. Also start with a smaller buffer size, since xattr values typically are smaller than a page. Reported-by: Chris Murphy <lists@xxxxxxxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f87c4318af8bd5daec361e436c69f9d71a43b261 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Aug 20 17:34:22 2014 +0200 btrfs: remove stale define after removing ordered operations Last user removed in commit "btrfs: disable strict file flushes for renames and truncates" (8d875f95da43c6a8f18f77869f2ef26e9594fecc). Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 200055239604cf4bfaed40d8f404228ea606b4f9 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Aug 29 13:35:13 2014 +0100 Btrfs: improve free space cache management and space allocation While under random IO, a block group's free space cache eventually reaches a state where it has a mix of extent entries and bitmap entries representing free space regions. As later free space regions are returned to the cache, some of them are merged with existing extent entries if they are contiguous with them. But others are not merged, because despite the existence of adjacent free space regions in the cache, the merging doesn't happen because the existing free space regions are represented in bitmap extents. Even when new free space regions are merged with existing extent entries (enlarging the free space range they represent), we create chances of having after an enlarged region that is contiguous with some other region represented in a bitmap entry. Both clustered and non-clustered space allocation work by iterating over our extent and bitmap entries and skipping any that represents a region smaller then the allocation request (and giving preference to extent entries before bitmap entries). By having a contiguous free space region that is represented by 2 (or more) entries (mix of extent and bitmap entries), we end up not satisfying an allocation request with a size larger than the size of any of the entries but no larger than the sum of their sizes. Making the caller assume we're under a ENOSPC condition or force it to allocate multiple smaller space regions (as we do for file data writes), which adds extra overhead and more chances of causing fragmentation due to the smaller regions being all spread apart from each other (more likely when under concurrency). For example, if we have the following in the cache: * extent entry representing free space range: [128Mb - 256Kb, 128Mb[ * bitmap entry covering the range [128Mb, 256Mb[, but only with the bits representing the range [128Mb, 128Mb + 768Kb[ set - that is, only that space in this 128Mb area is marked as free An allocation request for 1Mb, starting at offset not greater than 128Mb - 256Kb, would fail before, despite the existence of such contiguous free space area in the cache. The caller could only allocate up to 768Kb of space at once and later another 256Kb (or vice-versa). In between each smaller allocation request, another task working on a different file/inode might come in and take that space, preventing the former task of getting a contiguous 1Mb region of free space. Therefore this change implements the ability to move free space from bitmap entries into existing and new free space regions represented with extent entries. This is done when a space region is added to the cache. A test was added to the sanity tests that explains in detail the issue too. Some performance test results with compilebench on a 4 cores machine, with 32Gb of ram and using an HDD follow. Test: compilebench -D /mnt -i 30 -r 1000 --makej Before this change: intial create total runs 30 avg 69.02 MB/s (user 0.28s sys 0.57s) compile total runs 30 avg 314.96 MB/s (user 0.12s sys 0.25s) read compiled tree total runs 3 avg 27.14 MB/s (user 1.52s sys 0.90s) delete compiled tree total runs 30 avg 3.14 seconds (user 0.15s sys 0.66s) After this change: intial create total runs 30 avg 68.37 MB/s (user 0.29s sys 0.55s) compile total runs 30 avg 382.83 MB/s (user 0.12s sys 0.24s) read compiled tree total runs 3 avg 27.82 MB/s (user 1.45s sys 0.97s) delete compiled tree total runs 30 avg 3.18 seconds (user 0.17s sys 0.65s) Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3c1dbdf54a31f4f049a33214c3096595988786bf Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 20 10:54:17 2014 +0800 btrfs: rename total_bytes to avoid confusion we are assigning number_devices to the total_bytes, that's very confusing for a moment Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit de4c296f63b43794df453a3fffbb4163ccd1c6af Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:25 2014 +0800 btrfs: fix typo in the log message there is no matching open parenthesis for the closing parenthesis Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b2efedca68c15bc6eab6cbe0756f90c3b8f23b8f Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:24 2014 +0800 btrfs: rw_devices shouldn't be incremented for seed fs in btrfs_rm_dev_replace_srcdev() seed fs devices don't participate as rw_device, so don't increment rw_devices when the device being handled belongs to a seed fs. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8bef8401a04ae1937f3330484c2d7a8c6b9b9897 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:23 2014 +0800 btrfs: fix memory leak when there is no more seed device When we replace all the seed device in the system there is no point in just keeping the btrfs_fs_devices with out any device Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 94d5f0c2ae83c367fe870b49ed0c87025be2956e Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:22 2014 +0800 btrfs: update sprout seed pointer when seed fs is relinquished We are not updating sprout fs seed pointer when all seed device is replaced. This patch will check if all seed device has been replaced and then update the sprout pointer accordingly. Same reproducer as in the previous patch would apply here. And notice that btrfs_close_device will check if seed fs is present and spits out the error with out this patch. int btrfs_close_devices(struct btrfs_fs_devices *fs_devices) { :: seed_devices = fs_devices->seed; :: while (seed_devices) { fs_devices = seed_devices; seed_devices = fs_devices->seed; __btrfs_close_devices(fs_devices); free_fs_devices(fs_devices); } Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 63dd86fa79db737a50f47488e5249f24e5acebc1 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:21 2014 +0800 btrfs: fix rw_devices miss match after seed replace reproducer: reproducer: mount /dev/sdb /btrfs btrfs dev add /dev/sdc /btrfs btrfs rep start -B /dev/sdb /dev/sdd /btrfs umount /btrfs WARNING: CPU: 0 PID: 3882 at fs/btrfs/volumes.c:892 __btrfs_close_devices+0x1c8/0x200 [btrfs]() which is WARN_ON(fs_devices->rw_devices); The problem here is that we did not add one to the rw_devices when we replace the seed device with a writable device. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 25e8e9113d340f0c32161ced0d4655eff8fed757 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 20 10:56:56 2014 +0800 btrfs: replace seed device followed by unmount causes kernel WARNING reproducer: mount /dev/sdb /btrfs btrfs dev add /dev/sdc /btrfs btrfs rep start -B /dev/sdb /dev/sdd /btrfs umount /btrfs WARNING: CPU: 0 PID: 12661 at fs/btrfs/volumes.c:891 __btrfs_close_devices+0x1b0/0x200 [btrfs]() :: __btrfs_close_devices() :: WARN_ON(fs_devices->open_devices); After the seed device has been replaced the new target device is no more a seed device. So we need to update the device numbers in the fs_devices as pointed by the fs_info. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Reviewed-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d51908ce4e5d7f7b07867180e36b9935094b78f2 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:19 2014 +0800 btrfs: preparatory to make btrfs_rm_dev_replace_srcdev() seed aware There is no logical change in this patch, just a preparatory patch, so that changes can be easily reasoned. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 56094eecd32cbb80d098eee5a7cbd60f39f4b764 Author: Andrey Utkin <andrey.krieger.utkin@xxxxxxxxx> Date: Sat Aug 9 14:51:15 2014 +0300 btrfs: Drop stray check of fixup_workers creation The issue was introduced in a79b7d4b3e8118f265dcb4bdf9a572c392f02708, adding allocation of extent_workers, so this stray check is surely not meant to be a check of something else. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=82021 Reported-by: Maks Naumov <maksqwe1@xxxxxxx> Signed-off-by: Andrey Utkin <andrey.krieger.utkin@xxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f98de9b9c07485f7e21edfd5b2b20c89d662af3c Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Aug 4 19:37:21 2014 +0100 Btrfs: make btrfs_search_forward return with nodes unlocked None of the uses of btrfs_search_forward() need to have the path nodes (level >= 1) read locked, only the leaf needs to be locked while the caller processes it. Therefore make it return a path with all nodes unlocked, except for the leaf. This change is motivated by the observation that during a file fsync we repeatdly call btrfs_search_forward() and process the returned leaf while upper nodes of the returned path (level >= 1) are read locked, which unnecessarily blocks other tasks that want to write to the same fs/subvol btree. Therefore instead of modifying the fsync code to unlock all nodes with level >= 1 immediately after calling btrfs_search_forward(), change btrfs_search_forward() to do it, so that it benefits all callers. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 79aec2b80db1089f983d60e4a22cb95d8b939844 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Jul 30 20:04:10 2014 +0800 btrfs: sysfs label interface should check for read only FS Not sure how this escaped many eyes so far Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 20ee0825ecec889afdf12f7c13b9dc3af0bb9f14 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Jul 30 20:04:09 2014 +0800 btrfs: code optimize: BTRFS_ATTR_RW could set the mode BTRFS_ATTR_RW could set the mode and be inline with BTRFS_ATTR Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 98b3d389eb473f28ef69547c0a9f72041c4c40e6 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Jul 30 20:04:08 2014 +0800 btrfs: code optimize: BTRFS_ATTR could handle the mode All that uses BTRFS_ATTR want mode to be set at 0444 so just do it at the define. And few spacing alignments. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3f4b57e09d6cbd97f92311a801e1b83992506dcd Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Jul 30 20:04:07 2014 +0800 btrfs: use BTRFS_ATTR instead of btrfs_no_store() we have BTRFS_ATTR define to create sysfs RO file, use that. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 160f4089c8580b32b5805e7fd8ec7b3810f442c1 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Jul 28 19:37:17 2014 +0100 Btrfs: avoid unnecessary switch of path locks to blocking mode If we need to cow a node, increase the write lock level and retry the tree search, there's no point of changing the node locks in our path to blocking mode, as we only waste time and unnecessarily wake up other tasks waiting on the spinning locks (just to block them again shortly after) because we release our path before repeating the tree search. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 24cdc847d9842bdfd85a005ebc39050bcbc7acba Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Jul 28 19:34:35 2014 +0100 Btrfs: unlock nodes earlier when inserting items in a btree In ctree.c:setup_items_for_insert(), we can unlock all nodes in our path before we process the leaf (shift items and data, adjust data offsets, etc). This allows for better btree concurrency, as we're often holding a write lock on at least the node at level 1. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d1b00a4711d5b953b13ccc859bc30c447c96860e Author: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Date: Fri Jul 25 17:07:48 2014 +0900 btrfs: use IS_ALIGNED() for assertion in btrfs_lookup_csums_range() for simplicity btrfs_lookup_csums_range() uses ALIGN() to check if "start" and "end + 1" are aligned to "root->sectorsize". It's better to replace these with IS_ALIGNED() for simplicity. Signed-off-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1a76e4ba5b18775e532faa4f8eb858c4553d196c Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Aug 12 16:33:18 2014 +0800 Btrfs: cleanup for btrfs workqueue tracepoints Tracepoint trace_btrfs_normal_work_done never has an user, just cleanup it. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b38a62586fed4ce058dc8d40deaa1b85cafc7fb3 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Aug 12 16:33:17 2014 +0800 Btrfs: add work_struct information for workqueue tracepoint Kernel workqueue's tracepoints print the address of work_struct, while btrfs workqueue's tracepoints print the address of btrfs_work. We need a connection between this two, for example when debuging, we usually grep an address in the trace output. So it'd be better to also print work_struct in btrfs workqueue's tracepoint. Please note that we can only add this into those tracepoints whose work is still available in memory because we need to reference the work. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d3982100baeb9bed8cf931545fb0522268f526e5 Author: Mark Fasheh <mfasheh@xxxxxxx> Date: Thu Jul 17 12:39:00 2014 -0700 btrfs: add trace for qgroup accounting We want this to debug qgroup changes on live systems. Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 443f24fee731703345e2e6eec8177bb7b7d094c6 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:15 2014 +0800 Btrfs: cleanup unused latest_devid and latest_trans in fs_devices The member variants - latest_devid and latest_trans - of fs_devices structure are set, but no one use them to do anything. so remove them. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 6ba40b615f6e2aac40c24b649c0170d43ae19165 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:12 2014 +0800 Btrfs: update the comment of total_bytes and disk_total_bytes of btrfs_devie Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit addc3fa74e5bcfabc0766f934a8895d1f9f6a67c Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:11 2014 +0800 Btrfs: Fix the problem that the dirty flag of dev stats is cleared The io error might happen during writing out the device stats, and the device stats information and dirty flag would be update at that time, but the current code didn't consider this case, just clear the dirty flag, it would cause that we forgot to write out the new device stats information. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d5ee37bcb1dff9c1d1cac5f7e5752309f1ff66b6 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:10 2014 +0800 Btrfs: make the device lock and its protected data in the same cacheline The lock in btrfs_device structure was far away from its protected data, it would make CPU load the cache line twice when we accessed them, move them together. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5f546063cee93047af90cf2756e023da9f9fca51 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:09 2014 +0800 Btrfs: fix wrong generation check of super block on a seed device The super block generation of the seed devices is not the same as the filesystem which sprouted from them because we don't update the super block on the seed devices when we change that new filesystem. So we should not use the generation of that new filesystem to check the super block generation on the seed devices, Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 17a9be2f28595945ec9bfac0dd15b86891c1f1de Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:08 2014 +0800 Btrfs: fix wrong fsid check of scrub All the metadata in the seed devices has the same fsid as the fsid of the seed filesystem which is on the seed device, so we should check them by the current filesystem. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2fad4e83e12591eb3bd213875b9edc2d18e93383 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 23 14:39:35 2014 +0200 btrfs: wake up transaction thread from SYNC_FS ioctl The transaction thread may want to do more work, namely it pokes the cleaner ktread that will start processing uncleaned subvols. This can be triggered by user via the 'btrfs fi sync' command, otherwise there was a delay up to 30 seconds before the cleaner started to clean old snapshots. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c01a5c074c0f6f85a3b02e39432b9e5576ab51de Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 17 11:44:12 2014 +0800 Btrfs: fix wrong max inline data size limit inline data is stored from offset of @disk_bytenr in struct btrfs_file_extent_item. So substracting total size of struct btrfs_file_extent_item is wrong, fix it. Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 354877befa852e9b62ddc92a6cc017210e982d46 Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 17 11:44:11 2014 +0800 Btrfs: fix off-by-one in cow_file_range_inline() Btrfs could still inline file data if its size is same as page size, so don't skip max value here. Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7816030eb48e00a36ecdc23d484b960922feee67 Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 17 11:44:10 2014 +0800 Btrfs: fall into nocompression codes quickly if possible If flag NOCOMPRESS is set which means bad compression ratio, we could avoid call cow_file_range_async() for this case earlier. Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f79707b092caff665a8a77e8e31fe4ab18b4d109 Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 17 11:44:09 2014 +0800 Btrfs: fix wrong skipping compression for an inode If a file's compression ratios is bad, we will set NOCOMPRESS flag for it, and it will skip compression for that inode next time. However, if we remount fs to COMPRESS_FORCE, it still should try if we could compress pages for that inode, this patch fix wrong check for this problem. Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d447d0da44cd7d396277d1d8f46b418c721fbc02 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Jul 15 21:17:17 2014 +0200 Btrfs: fix sparse warning Fix the following sparse warning: fs/btrfs/send.c:518:51: warning: incorrect type in argument 2 (different address spaces) fs/btrfs/send.c:518:51: expected char const [noderef] <asn:1>*<noident> fs/btrfs/send.c:518:51: got char * We can safely use (const char __user *) with set_fs(KERNEL_DS) __force added to avoid sparse-all warning: fs/btrfs/send.c:518:40: warning: cast adds address space to expression (<asn:1>) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Reviewed-by: Zach Brown <zab@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 14586651ed8f067e4add72c739f0bd2c2620fd9d Author: HIMANGI SARAOGI <himangi774@xxxxxxxxx> Date: Wed Jul 9 03:51:41 2014 +0530 Btrfs: use BUG_ON Use BUG_ON(x) rather than if(x) BUG(); The semantic patch that fixes this problem is as follows: // <smpl> @@ identifier x; @@ -if (x) BUG(); +BUG_ON(x); // </smpl> Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7880991344f73647fa2222b198cf5cfc10805ac2 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Mon Jul 7 23:38:29 2014 +0900 btrfs compression: merge inflate and deflate z_streams `struct workspace' used for zlib compression contains two zlib z_stream-s: `def_strm' used in zlib_compress_pages(), and `inf_strm' used in zlib_decompress/zlib_decompress_biovec(). None of these functions use `inf_strm' and `def_strm' simultaniously, meaning that for every compress/decompress operation we need only one z_stream (out of two available). `inf_strm' and `def_strm' are different in size of ->workspace. For inflate stream we vmalloc() zlib_inflate_workspacesize() bytes, for deflate stream - zlib_deflate_workspacesize() bytes. On my system zlib returns the following workspace sizes, correspondingly: 42312 and 268104 (+ guard pages). Keep only one `z_stream' in `struct workspace' and use it for both compression and decompression. Hence, instead of vmalloc() of two z_stream->worskpace-s, allocate only one of size: max(zlib_deflate_workspacesize(), zlib_inflate_workspacesize()) Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 555e12864063762964433139dee651c5b859a047 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Jul 7 12:35:21 2014 +0100 Btrfs: set error return value in btrfs_get_blocks_direct We were returning with 0 (success) because we weren't extracting the error code from em (PTR_ERR(em)). Fix it. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 27a3507de91e3dd51a2cf8dca4b33623dd6eaa88 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Sun Jul 6 20:09:59 2014 +0100 Btrfs: reduce size of struct extent_state The tree field of struct extent_state was only used to figure out if an extent state was connected to an inode's io tree or not. For this we can just use the rb_node field itself. On a x86_64 system with this change the sizeof(struct extent_state) is reduced from 96 bytes down to 88 bytes, meaning that with a page size of 4096 bytes we can now store 46 extent states per page instead of 42. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 6f84e23646704c93fa878c5b87a4990be8d1ca9c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Jul 4 21:10:27 2014 +0200 btrfs: use PTR_ERR_OR_ZERO replace IS_ERR/PTR_ERR Cc: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Cc: linux-btrfs@xxxxxxxxxxxxxxx Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 29549aec76bd6f1fc8e1723ed5396d65073d6521 Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Fri Jul 4 17:59:06 2014 +0800 Btrfs: print btrfs specific info for some fatal error cases Marc argued that if there are several btrfs filesystems mounted, while users even don't know which filesystem hit the corrupted errors something like generation verification failure. Since @extent_buffer structure has a member @fs_info, let's output btrfs device info. Reported-by: Marc MERLIN <marc@xxxxxxxxxxx> Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d20983b40e828fdca920b3d678544c6a0967a446 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 3 18:22:13 2014 +0800 Btrfs: fix writing data into the seed filesystem If we mounted a seed filesystem with degraded option, and then added a new device into the seed filesystem, then we found adding device failed because of the IO failure. Steps to reproduce: # mkfs.btrfs -d raid1 -m raid1 <dev0> <dev1> # btrfstune -S 1 <dev0> # mount <dev0> -o degraded <mnt> # btrfs device add -f <dev2> <mnt> It is because the original didn't set the chunk on the seed device to be read-only if the degraded flag was set. It was introduced by patch f48b90756, which fixed the problem the raid1 filesystem became read-only after one device of it was missing. But this fix method was not right, we should set the read-only flag according to the number of the missing devices, not the degraded mount option, if the number of the missing devices is less than the max error number that the profile of the chunk tolerates, we don't set it to be read-only. Cc: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 47059d930f0e002ff851beea87d738146804726d Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 3 18:22:07 2014 +0800 Btrfs: make defragment work with nodatacow option Btrfs defragment will utilize COW feature, which means this did not work for nodatacow option, this problem was detected by xfstests generic/018 with nodatacow mount option. Fix this problem by forcing cow for a extent with state @EXTETN_DEFRAG setting. Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 48fcc3ff7dce0138c053833adf81670494f177f3 Author: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Date: Tue Jul 1 17:00:07 2014 +0900 btrfs: label should not contain return char Rediffed remaining parts of original patch from Anand Jain. This makes sure to avoid trailing newlines in the btrfs label output reproducer.sh: =============================================================================== TEST_DEV=/dev/vdb TEST_DIR=/home/sat/mnt umount /home/sat/mnt mkfs.btrfs -f $TEST_DEV UUID=$(btrfs fi show $TEST_DEV | head -1 | sed -e 's/.*uuid: \([-0-9a-z]*\)$/\1/') mount $TEST_DEV $TEST_DIR LABELFILE=/sys/fs/btrfs/$UUID/label echo "Test for empty label..." >&2 LINES="$(cat $LABELFILE | wc -l | awk '{print $1}')" RET=0 if [ $LINES -eq 0 ] ; then echo '[PASS] Trailing \n is removed correctly.' >&2 else echo '[FAIL] Trailing \n still exists.' >&2 RET=1 fi echo "Test for non-empty label..." >&2 echo testlabel >$LABELFILE LINES="$(cat $LABELFILE | wc -l | awk '{print $1}')" if [ $LINES -eq 1 ] ; then echo '[PASS] Trailing \n is removed correctly.' >&2 else echo '[FAIL] Trailing \n still exists.' >&2 RET=1 fi exit $RET =============================================================================== Signed-off-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ec95d4917b9b5e9c73fd21294f4ff51f3127b5e7 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Tue Jul 1 00:58:57 2014 +0800 btrfs: device delete must be sysloged as in the disk add patch, disk detached from the volume must be recorded in the syslog as well for the same reason. Signed-off-by: Anand Jain <Anand.Jain@xxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 43d207616886da1d93623ac40bd1d922a79e0d1b Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Tue Jul 1 00:58:56 2014 +0800 btrfs: device add must be sysloged when we add a new disk to the mounted btrfs we don't record it as of now, disk add is a critical change of btrfs configuration, it must be recorded in the syslog to help offline investigations of customer problems when reported. Signed-off-by: Anand Jain <Anand.Jain@xxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4027e0f4c4b2df28d564560a3c65c179bebae4c8 Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Mon Jun 30 10:51:25 2014 +0800 Btrfs: clear compress-force when remounting with compress option Steps to reproduce: # mkfs.btrfs -f /dev/sdb # mount /dev/sdb /mnt -o compress-force=lzo # mount /dev/sdb /mnt -o remount,compress=zlib # cat /proc/mounts Remounting from compress-force to compress could not clear compress-force option. The problem is there is no way for users to clear compress-force option separately. Fix this problem by clearing @FORCE_COMPRESS flag when remounting to compress=xxx. Suggested-by: Tsutomu Itoh <t-itoh@xxxxxxxxxxxxxx> Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Reviewed-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Tested-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ed6078f70335f158ca79790a0d0708ce558a6e9a Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jun 5 01:59:57 2014 +0200 btrfs: use DIV_ROUND_UP instead of open-coded variants The form (value + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT is equivalent to (value + PAGE_CACHE_SIZE - 1) / PAGE_CACHE_SIZE The rest is a simple subsitution, no difference in the generated assembly code. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4e54b17ad67a2d0d59bda6edcf725dc5b281c253 Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jun 5 01:39:19 2014 +0200 btrfs: clean away stripe_align helper Only wraps the ALIGN macro. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 707e8a071528385a87b63a72a37c2322e463c7b8 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jun 4 19:22:26 2014 +0200 btrfs: use nodesize everywhere, kill leafsize The nodesize and leafsize were never of different values. Unify the usage and make nodesize the one. Cleanup the redundant checks and helpers. Shaves a few bytes from .text: text data bss dec hex filename 852418 24560 23112 900090 dbbfa btrfs.ko.before 851074 24584 23112 898770 db6d2 btrfs.ko.after Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 962a298f35110edd8f326814ae41a3dd306ecb64 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jun 4 18:41:45 2014 +0200 btrfs: kill the key type accessor helpers btrfs_set_key_type and btrfs_key_type are used inconsistently along with open coded variants. Other members of btrfs_key are accessed directly without any helpers anyway. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3abdbd780e9d75f0648b8a502c3789857b1e92ce Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jun 4 18:10:45 2014 +0200 btrfs: make close_ctree return void There's no user of the return value and we can get rid of the comment in put_super. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 57cdc8db21bf9cfa6b2e45310d56e74e263e8609 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Feb 5 02:37:48 2014 +0100 btrfs: cleanup ino cache members of btrfs_root The naming is confusing, generic yet used for a specific cache. Add a prefix 'ino_' or rename appropriately. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c6f83c74fd647e8e31a9a42a76d895bce4a61a08 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Feb 5 02:11:25 2014 +0100 btrfs: clenaup: don't call btrfs_release_path before free_path Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 32471dc2ba287f0bb8ac9af65c46f089965191f2 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Feb 5 02:03:47 2014 +0100 btrfs: remove obsolete comment in btrfs_clean_one_deleted_snapshot The comment applied when there was a BUG_ON. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 94e16e9c59312247de199b5f9bf141d1bd946dd0 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:53 2014 -0400 iscsi-target: remove unnecessary check in iscsit_setup_np error path Found by coverity. At this point sock is non-NULL, so the check to unnecessary. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 70b2823535d2d884eef2d3dab0dfd0ec3da8a019 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Sep 16 17:37:32 2014 -0400 nfsd4: clarify how grace period ends The grace period is ended in two steps--first userland is notified that the grace period is now long enough that any clients who have not yet reclaimed can be safely forgotten, then we flip the switch that forbids reclaims and allows new opens. I had to think a bit to convince myself that the ordering was right here. Document it. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit bea57fe45ba23995dcf954e66d29625944a1d039 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Mon Sep 15 11:05:46 2014 -0400 nfsd4: stop grace_time update at end of grace period The attempt to automatically set a new grace period time at the end of the grace period isn't really helpful. We'll probably shut down and reboot before we actually make use of the new grace period time anyway. So may as well leave it up to the init system to get this right. This just confuses people when they see /proc/fs/nfsd/nfsv4gracetime change from what they set it to. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 65decb650a95b00301e7ea1b75a65d64c52132c7 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:22 2014 -0400 nfsd: skip subsequent UMH "create" operations after the first one for v4.0 clients In the case of v4.0 clients, we may call into the "create" client tracking operation multiple times (once for each openowner). Upcalling for each one of those is wasteful and slow however. We can skip doing further "create" operations after the first one if we know that one has already been done. v4.1+ clients generally only call into this function once (on RECLAIM_COMPLETE), and we can't skip upcalling on the create even if the STABLE bit is set. Doing so would make it impossible for nfsdcltrack to lift the grace period early since the timestamp has a different meaning in the case where the client is expected to issue a RECLAIM_COMPLETE. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 788a7914ad43380d31efed1c4d14b5f2c466a764 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:21 2014 -0400 nfsd: set and test NFSD4_CLIENT_STABLE bit to reduce nfsdcltrack upcalls The nfsdcltrack upcall doesn't utilize the NFSD4_CLIENT_STABLE flag, which basically results in an upcall every time we call into the client tracking ops. Change it to set this bit on a successful "check" or "create" request, and clear it on a "remove" request. Also, check to see if that bit is set before upcalling on a "check" or "remove" request, and skip upcalling appropriately, depending on its state. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit d682e750ce14cfb3be655e6d492c77511e637228 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:21 2014 -0400 nfsd: serialize nfsdcltrack upcalls for a particular client In a later patch, we want to add a flag that will allow us to reduce the need for upcalls. In order to handle that correctly, we'll need to ensure that racing upcalls for the same client can't occur. In practice it should be rare for this to occur with a well-behaved client, but it is possible. Convert one of the bits in the cl_flags field to be an upcall bitlock, and use it to ensure that upcalls for the same client are serialized. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit d4318acd5d2d34d69a46537f057b20a8f0266e1e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:21 2014 -0400 nfsd: pass extra info in env vars to upcalls to allow for early grace period end In order to support lifting the grace period early, we must tell nfsdcltrack what sort of client the "create" upcall is for. We can't reliably tell if a v4.0 client has completed reclaiming, so we can only lift the grace period once all the v4.1+ clients have issued a RECLAIM_COMPLETE and if there are no v4.0 clients. Also, in order to lift the grace period, we have to tell userland when the grace period started so that it can tell whether a RECLAIM_COMPLETE has been issued for each client since then. Since this is all optional info, we pass it along in environment variables to the "init" and "create" upcalls. By doing this, we don't need to revise the upcall format. The UMH upcall can simply make use of this info if it happens to be present. If it's not then it can just avoid lifting the grace period early. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 1d30686da4a40029cb48eab28442896b58aeceef Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Wed Sep 17 13:17:55 2014 -0700 iscsi-target: Drop duplicate __iscsi_target_login_thread check This patch drops the now duplicate + unnecessary check for -ENODEV from iscsi_transport->iscsit_accept_np() for jumping to out:, or immediately returning 1 in __iscsi_target_login_thread() code. Since commit 81a9c5e72b the jump to out: and returning 1 have the same effect, and end up hitting the ISCSI_NP_THREAD_SHUTDOWN check regardless at the top of __iscsi_target_login_thread() during next loop iteration. So that said, it's safe to go ahead and remove this duplicate check. Reported-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7f5ef2e900d9462bf9cffaf6bb246ed87a20a6d6 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:21 2014 -0400 nfsd: add a v4_end_grace file to /proc/fs/nfsd Allow a privileged userland process to end the v4 grace period early. Writing "Y", "y", or "1" to the file will cause the v4 grace period to be lifted. The basic idea with this will be to allow the userland client tracking program to lift the grace period once it knows that no more clients will be reclaiming state. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit d68e3c4aa416d592d79152a49af121e4ecb204e3 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:20 2014 -0400 lockd: add a /proc/fs/lockd/nlm_end_grace file Add a new procfile that will allow a (privileged) userland process to end the NLM grace period early. The basic idea here will be to have sm-notify write to this file, if it sent out no NOTIFY requests when it runs. In that situation, we can generally expect that there will be no reclaim requests so the grace period can be lifted early. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 3b3e7b72239a748f516d6aee8c12df48d50e2d7e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:22 2014 -0400 nfsd: reject reclaim request when client has already sent RECLAIM_COMPLETE As stated in RFC 5661, section 18.51.3: Once a RECLAIM_COMPLETE is done, there can be no further reclaim operations for locks whose scope is defined as having completed recovery. Once the client sends RECLAIM_COMPLETE, the server will not allow the client to do subsequent reclaims of locking state for that scope and, if these are attempted, will return NFS4ERR_NO_GRACE. Ensure that we enforce that requirement. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 919b8049f0e00458ff4dce22ad293c9a24ac3723 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:20 2014 -0400 nfsd: remove redundant boot_time parm from grace_done client tracking op Since it's stored in nfsd_net, we don't need to pass it in separately. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit f7790029655f79cdcee4fa7c7884e0c2795ebebe Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:20 2014 -0400 lockd: move lockd's grace period handling into its own module Currently, all of the grace period handling is part of lockd. Eventually though we'd like to be able to build v4-only servers, at which point we'll need to put all of this elsewhere. Move the code itself into fs/nfs_common and have it build a grace.ko module. Then, rejigger the Kconfig options so that both nfsd and lockd enable it automatically. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 5c22e2294156377b7e2d2d99aaffea9ae6994452 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:51 2014 -0400 iscsi-target: simplify return statement The return statement cannot be reached without either recovery or dump being set to 1. Therefore the condition always evaluates to true and recovery and dump are useless variables. Found by Coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cb35484231e0b7edf23e192867e5fba955e584cb Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:50 2014 -0400 iscsi-target: remove always-true conditions Found by coverity. InitiatorName and InitiatorAlias are static arrays and therefore always non-NULL. At some point in the past they may have been dynamically allocated, but for current code the condition is useless. If the intent was to check InitiatorName[0] instead, I cannot find a use for that either. Let's get rid of it. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit fbecb6596a80554423d00aba92f2752a2ee0a62d Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:47 2014 -0400 iscsi-target: remove unused debug code Last user of buf was removed with c6037cc546ca. While at it, free_cpumask_var() handles a NULL argument just fine, so remove the conditionals. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit be39ffc2fec78ff80d50e4b7970e94a8b1583862 Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Fri Sep 12 19:35:53 2014 +0200 ima: return an error code from ima_add_boot_aggregate() This patch modifies ima_add_boot_aggregate() to return an error code. This way we can determine if all the initialization procedures have been executed successfully. Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 2faa6ef3b21152cc05b69a84113625dcee63176f Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Thu May 8 13:11:29 2014 +0300 ima: provide 'ima_appraise=log' kernel option The kernel boot parameter "ima_appraise" currently defines 'off', 'enforce' and 'fix' modes. When designing a policy and labeling the system, access to files are either blocked in the default 'enforce' mode or automatically fixed in the 'fix' mode. It is beneficial to be able to run the system in a logging only mode, without fixing it, in order to properly analyze the system. This patch adds a 'log' mode to run the system in a permissive mode and log the appraisal results. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 31b70f66328e85517b159c786ab31f3fd9a7293c Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Jun 27 13:01:32 2014 +0300 ima: move keyring initialization to ima_init() ima_init() is used as a single place for all initializations. Experimental keyring patches used the 'late_initcall' which was co-located with the late_initcall(init_ima). When the late_initcall for the keyring initialization was abandoned, initialization moved to init_ima, though it would be more logical to move it to ima_init, where the rest of the initialization is done. This patch moves the keyring initialization to ima_init() as a preparatory step for loading the keys which will be added to ima_init() in following patches. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit c657f423aed0d836c807ea1d6d8d28b3914446fa Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Sep 15 16:57:56 2014 -0300 perf symbols: Add path to Ubuntu kernel debuginfo file Ubuntu places the kernel debuginfo in /usr/lib/debug/boot/vmlinux-* Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> echo Link: http://lkml.kernel.org/n/tip-`ranpwd -l 24`@git.kernel.org Link: http://lkml.kernel.org/r/20140909091152.2698c0f7@kryten [ Adapted it to use the perf.data file kernel version as in 0a7e6d1b6844 ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d0b0d0406fe6743e734e1ba780155f8db5f713e6 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Sep 9 08:59:29 2014 +1000 perf symbols: Ignore stripped vmlinux and fallback to kallsyms If a vmlinux is stripped, perf will use it and ignore kallsyms. We end up with useless profiles where everything maps to a few runtime symbols: 63.39% swapper [kernel.kallsyms] [k] hcall_real_table 4.90% beam.smp [kernel.kallsyms] [k] hcall_real_table 4.44% beam.smp [kernel.kallsyms] [k] __sched_text_start 3.72% beam.smp [kernel.kallsyms] [k] __run_at_kexec Detect this case and fallback to using kallsyms. This fixes the issue: 62.81% swapper [kernel.kallsyms] [k] snooze_loop 4.44% beam.smp [kernel.kallsyms] [k] __schedule 0.91% beam.smp [kernel.kallsyms] [k] _switch 0.73% beam.smp [kernel.kallsyms] [k] put_prev_entity Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140909085929.4a5a81f0@kryten Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 512fe365373b9c95a70b4b6357503ee74d27214f Author: Chanho Park <chanho61.park@xxxxxxxxxxx> Date: Fri Sep 12 11:10:17 2014 +0900 perf tools: define _DEFAULT_SOURCE for glibc_2.20 _BSD_SOURCE was deprecated in favour of _DEFAULT_SOURCE since glibc 2.20[1]. To avoid build warning on glibc2.20, _DEFAULT_SOURCE should also be defined. [1]: https://sourceware.org/glibc/wiki/Release/2.20 Signed-off-by: Chanho Park <chanho61.park@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1410487817-13403-1-git-send-email-chanho61.park@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a8fa496092253a6309d46ecfe75eea4ab1d6fd79 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 15 15:54:34 2014 -0300 perf tools: Don't include sys/poll.h directly Include poll.h instead. Fixes the following warning in systems with musl's libc: /usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp] Reported-by: John Spencer <maillist-linux@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://thread.gmane.org/gmane.linux.kernel.perf.user/1687/focus=1690 Link: http://lkml.kernel.org/n/tip-k4ocrq1de3fk146oevy346bi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bf9e3e5763722c9668c6719a1de60ee58452b738 Author: John Spencer <maillist-linux@xxxxxxxxxxx> Date: Mon Aug 25 21:36:32 2014 +0200 perf tools: Fix GNU-only grep usage in Makefile This makes it work with non-GNU grep's as well. Signed-off-by: John Spencer <maillist-linux@xxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://thread.gmane.org/gmane.linux.kernel.perf.user/1686 Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 763122ade725592402190f5ff3b8d2edf42b87e8 Author: Avi Kivity <avi@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 13 07:15:05 2014 +0300 perf tools: Disable kernel symbol demangling by default Some Linux symbols (for example __vt_event_wait) are interpreted by the demangler as C++ mangled names, which of course they aren't. Disable kernel symbol demangling by default to avoid this, and allow enabling it with a new option --demangle-kernel for those who wish it. Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1410581705-26968-1-git-send-email-avi@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 29a3ce31c38c8f73f4e076b7ffc0876b4f5dd6c3 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Fri Sep 5 06:21:04 2014 +0200 perf tool: fix compilation for ARM This patch fixes ARM compile of the perf tool. The debug.h header file was missing from a couple of unwind related modules. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140905042103.GA3091@quad Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7d4bdab5a441772bfc757d7f9eea9465ec5de0ec Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:50 2014 +0300 perf tools: Add perf_pmu__scan_file() Add a function to scan a sysfs file within the pmu device directory. This will be used to read capability values from the PMU 'caps' subdirectory. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-8-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc0a6202421170a6d8d2c6f5176575b3f60e0f85 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:49 2014 +0300 perf tools: Let default config be defined for a PMU This allows default config terms to be provided for a PMU. So, for example, when the Intel PT PMU is added, it will be possible to specify: intel_pt// which will be the same as: intel_pt/tsc=1,noretcomp=0/ meaning that the trace should contain TSC timestamps and perform 'return compression'. An important consideration of this patch is that it must be possible to overwrite the default values. That has meant changing the logic so that a zero value can replace a non-zero value. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-7-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c501e90b4700e4f247ccdcf5ae81f9846a2ef5f9 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:01:12 2014 +0300 perf tools: Add perf-with-kcore script Decoding an Intel PT trace of the kernel requires an accurate kernel object image. This is provided by making a copy of kcore. However the copy needs to be made under the same conditions as the original recording, and then it needs to be associated with the perf.data file. The perf-with-kcore script does that. The script also checks the permissions on the buildid cache and can be used to fix them. That is needed for distributions where root does not have a home directory and consequently writes to the same buildid cache as the user, resulting in cached files that the user does not have access to. Example: $ ./perf-with-kcore Usage: perf-with-kcore <perf sub-command> <perf.data directory> [<sub-command options> [ -- <workload>]] <perf sub-command> can be record, script, report or inject or: perf-with-kcore fix_buildid_cache_permissions $ ./perf-with-kcore record pt_uname -e intel_pt// -- uname Recording Using /home/ahunter/bin/perf perf version 3.15.rc3.g4549ba /home/ahunter/bin/perf record -o pt_uname/perf.data -e intel_pt// -- uname Linux [ perf record: Woken up 3 times to write data ] [ perf record: Captured and wrote 0.023 MB pt_uname/perf.data ] Copying kcore [sudo] password for ahunter: Done $ tools/perf/perf-with-kcore.sh script pt_uname | head Using /home/ahunter/bin/perf perf version 3.15.rc3.g4549ba /home/ahunter/bin/perf script -i pt_uname/perf.data --kallsyms=pt_uname/kcore_dir/kallsyms swapper 0 [002] 161533.969666: sched:sched_switch: swapper/2:0 [120] R ==> perf:11316 [120] :11315 11315 [003] 161533.969704: sched:sched_switch: perf:11315 [120] S ==> swapper/3:0 [120] :11316 11316 [002] 161533.969783: sched:sched_switch: perf:11316 [120] R ==> migration/2:33 [0] :33 33 [002] 161533.969791: sched:sched_switch: migration/2:33 [0] S ==> swapper/2:0 [120] swapper 0 [003] 161533.969792: sched:sched_switch: swapper/3:0 [120] R ==> perf:11316 [120] :11316 11316 [003] 161533.970062: branches: 0 [unknown] ([unknown]) => ffffffff810532fa native_write_msr_safe ([kernel.kallsyms]) :11316 11316 [003] 161533.970062: branches: ffffffff810532fd native_write_msr_safe ([kernel.kallsyms]) => ffffffff81035b31 pt_config_start ([kernel.kallsyms]) Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-30-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ad96227349901838e1a7f96f1dc22d96a97520c0 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 15 22:08:40 2014 +0300 perf tools: Let a user specify a PMU event without any config terms This enables a PMU event to be specified in the form: pmu// which is effectively the same as: pmu/config=0/ This patch is a precursor to defining default config for a PMU. Further explanation extracted from lkml thread: Imagine that the 'tsc' term did not exist. Intel PT trace data would not contain TSC packets, and the decoder would not know how to decode them. Then imagine that a new version of the hardware adds 'tsc'. It is such a useful feature that we want it by default, but older versions of the tools don't know how to decode it, so the kernel cannot turn it on by default. It is similar to why the kernel does not select perf_event_attr.mmap2 by default. The kernel doesn't know whether the tool supports it. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408129739-17368-6-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6997af72e6c1e9d8c1cc511dc9485e9ee69a5e20 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 25 16:55:52 2014 +0200 perf tools: Allow to specify lib compile variable for spec usage We need a way to specify $(lib) part of the installation path for traceevent plugin libraries. Currently we use 'lib64' for x86_64 and 'lib' otherwise. Instead of listing all possible values, this change allows the rpm spec code to specify the correct $(lib) part based on processed architecture, like $ make ... lib=%{_lib} Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kyle McMartin <kyle@xxxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Kyle McMartin <kyle@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408978552-17131-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1f3e5b55035549311e42c3f84007e6c799ed991f Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 1 17:44:55 2014 +0400 perf kvm stat report: Unify the title bar output The 'live' command prints additional information to the "Analyze events for " title bar about the current target. Let's print the same title for the 'report' command. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1409579095-12963-4-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f181957c2849478fc963a8ac3c7dacf0a87c6b05 Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 1 17:44:54 2014 +0400 perf kvm stat report: Enable the target.system_wide flag The 'perf kvm stat report' command can be used to analyze events either for system wide or for specific pids. Let's enable kvm->opts.target.system_wide flag when 'report' command is running for system-wide analyzing. This helps to sync kvm->opts.target values in 'report' and 'live' commands. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1409579095-12963-3-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3ae4a76ac840021294c091884e04af7c92e481ae Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 1 17:44:53 2014 +0400 perf kvm stat report: Save pid string in opts.target.pid The 'perf kvm stat report' command uses the kvm->pid_str field to keep the value of the --pid option. Let's use kvm->opts.target.pid instead. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1409579095-12963-2-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 65ccb4faae872b63dd8f5fbc83d0195e3dfabf0d Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Aug 25 18:25:06 2014 +1000 perf tools powerpc: Fix build issue when DWARF support is disabled The powerpc skip callchain code uses DWARF, so we must disable it if DWARF is disabled. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140825182506.2be6512d@kryten Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1a1c0ffb2adb2d2ce7bb9c4dfd2935ba345cf2c2 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Aug 23 14:59:48 2014 +0200 perf tools: Add +field argument support for --sort option Adding support to add field(s) to default sort order via using the '+' prefix, like for report: $ perf report Samples: 2K of event 'cycles', Event count (approx.): 882172583 Overhead Command Shared Object Symbol 7.39% swapper [kernel.kallsyms] [k] intel_idle 1.97% firefox libpthread-2.17.so [.] pthread_mutex_lock 1.39% firefox [snd_hda_intel] [k] azx_get_position 1.11% firefox libpthread-2.17.so [.] pthread_mutex_unlock $ perf report -s +cpu Samples: 2K of event 'cycles', Event count (approx.): 882172583 Overhead Command Shared Object Symbol CPU 2.89% swapper [kernel.kallsyms] [k] intel_idle 000 2.61% swapper [kernel.kallsyms] [k] intel_idle 002 1.20% swapper [kernel.kallsyms] [k] intel_idle 001 0.82% firefox libpthread-2.17.so [.] pthread_mutex_lock 002 Works in general for commands using --sort option. v2 with changes suggested: - Use dynamic memory instead static buffer - Fix error message typo Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140823125948.GA1193@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a52ae5a755d980e9ff812c6f45a415ba27bfd33b Merge: 0469a43 8ce8ebe Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Wed Sep 17 11:47:56 2014 -0700 Merge branch 'clk-fixes' into clk-next commit f62caccd12c17e4cb516d43a6e4dd8a3abc1f7e0 Author: Robin Gong <b38343@xxxxxxxxxxxxx> Date: Thu Sep 11 09:18:44 2014 +0800 spi: spi-imx: add DMA support Enable DMA support on i.mx6. The read speed can increase from 600KB/s to 1.2MB/s on i.mx6q. You can disable or enable dma function in dts. If not set "dma-names" in dts, spi will use PIO mode. This patch only validate on i.mx6, not i.mx5, but encourage ones to apply this patch on i.mx5 since they share the same IP. Note: Sometime, there is a weid data in rxfifo after one full tx/rx transfer finish by DMA on i.mx6dl, so we disable dma functhion on i.mx6dl. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Robin Gong <b38343@xxxxxxxxxxxxx> Acked-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f4a43caba7d495699f98532b4faee90fd9980732 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Sep 16 10:13:16 2014 +0800 ASoC: fsl_ssi: refine ipg clock usage in this module Check if ipg clock is in clock-names property, then we can move the ipg clock enable and disable operation to startup and shutdown, that is only enable ipg clock when ssi is working and keep clock is disabled when ssi is in idle. But when the checking is failed, remain the clock control as before. Tested-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e076e96227ef6b5b66cfdd79e75401bd2f6d532f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Mar 4 18:14:58 2014 -0800 MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs Add a MAINTAINERS entry covering all the Broadcom BCM63xx ARM DSL SoCs files along with the relevant git tree and mailing-list. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 9c8c1b97d72605de985a334efa5ad81cb7cce26b Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Feb 20 16:47:00 2014 -0800 ARM: BCM63XX: add BCM963138DVT Reference platform DTS Add a DTS file for the Broadcom BCM963138DVT reference platform board which leverages the bcm63138.dtsi SoC DTSi file. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 46d4bca0445a052193a99dd361bf57517ac11049 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Feb 20 16:11:28 2014 -0800 ARM: BCM63XX: add BCM63138 minimal Device Tree Add a very minimalistic BCM63138 Device Tree include file which describes the BCM63138 SoC with only the basic set of required peripherals: - Cortex A9 CPUs - ARM GIC - ARM SCU - PL310 Level-2 cache controller - ARM TWD & Global timers - ARM TWD watchdog - legacy MIPS bus (UBUS) - BCM6345-style UARTs (disabled by default) Since the PL310 L2 cache controller does not come out of reset with correct default values, we need to override the 'cache-sets' and 'cache-size' properties to get its geometry right. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit b51312bebfa4452470c2bbf179200cb7c16d82d4 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Jan 8 09:19:50 2014 -0800 ARM: BCM63XX: add low-level UART debug support Broadcom BCM63xx DSL SoCs have a different UART implementation for which we need specially crafted low-level debug assembly code to support. Add support for this using the standard definitions provided in include/linux/serial_bcm63xx.h (shared with their MIPS counterparts). Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit dc6aec60e15fec86cdafc47d9fe3e2ca6c10958b Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Feb 20 15:53:13 2014 -0800 ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC This patch adds basic support for the Broadcom BCM63138 DSL SoC which is using a dual-core Cortex A9 system. Add the very minimum required code boot Linux on this SoC. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit a6583c7c8114c4850b57365e85da85e37d5fc568 Author: Ganapatrao Kulkarni <ganapatrao.kulkarni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 18:53:54 2014 +0100 arm64:mm: initialize max_mapnr using function set_max_mapnr Initializing max_mapnr using set_max_mapnr() helper function instead of direct reference. Also not adding PHYS_PFN_OFFSET to max_pfn, since it already contains it. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Ganapatrao Kulkarni <ganapatrao.kulkarni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 48561afef401876b4b0e35a303d89884c10fe468 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Sep 17 15:12:33 2014 +0800 ASoC: rt5677: Add the TDM function The patch adds the TDM function. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5d5e63af998026f0340d1081fb15ad3c26d80c81 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Sep 17 20:58:02 2014 +0800 ASoC: Remove return value checking for gpiochip_remove() gpiochip_remove() will return void eventually. Thus this patch removes return value checking for gpiochip_remove(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6f34163c5474326dd70239045f1957fe369460dd Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Sep 17 13:21:48 2014 +0200 regulator: fan53555: fix wrong cast in probe The vendor-id gathered from the dt match-data was cast to int but assigned to an unsigned long, producing warnings on at least sparc, like drivers/regulator/fan53555.c: In function 'fan53555_regulator_probe': >> drivers/regulator/fan53555.c:373:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] di->vendor = (int) match->data; Fix this by using an appropriate cast. Reported-by: kbuild test robot Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e2b9e4df655f3708fb8b712f0e66e6ea700995e Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Sep 17 10:02:45 2014 -0600 ARM: tegra: enable PCIe in Jetson TK1 DT Enable both PCIe ports, one of which is connected to an onboard ethernet chip, whereas the other goes to a miniPCIe slot. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> [swarren, fixed PCIe supply property names in DT] Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit ee588e2a30269d0572fc9ebdd7527f9711d6366d Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Sep 17 10:02:44 2014 -0600 ARM: tegra: add PCIe to Tegra124 DT Add the PCIe controller device tree node and hook up the PCIe PHY from the XUSB pad controller. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 6717f3d1286c5bb9b73a7a97f1e71333b72d82f9 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 17 00:04:46 2014 +0800 ARM: dts: sun5i: Add DT for HSG H702 tablet board This is a Q8 format 7 inch tablet with an Allwinner A13 SoC. It has 512MB DRAM, 4GB NAND flash, an accelerometer, camera, RTL8188-based WiFi, and micro SD slot for external storage. It is likely made by a subsidiary of Hanns.G (Hannstar). Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit a5a68f7509b86bf08a18ed6e4af9226ca5be1634 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 17 00:04:45 2014 +0800 ARM: dts: sunxi: Add fixed 5V regulator Most if not all boards we've seen have a fixed 5V regulator, which is the main power supply and/or fixed output of the PMIC. Add this one to the common regulators DTSI. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 32c741d07f7fdb1974eb07420fc143d479bfe19f Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 17 15:45:39 2014 +0200 ARM: mvebu: switch the Armada 370 RD board to internal registers at 0xf1000000 Recent bootloader versions from Marvell that have DT support and various other new features remap the internal registers at 0xf1000000. We have already done this change for most of the development boards from Marvell, and this commit does this change for the Marvell Armada 370 RD board. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410961539-10388-1-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit feb60beacd036400a9e1afe762892c08b4811ded Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 21:37:57 2014 +0200 Documentation: arm: add hardware datasheet reference for Marvell Armada XP Some time ago, the "Function Specifications" for the Marvell Armada XP processor has been released. However, the "Hardware Specifications" were not released at the same time. They have now been released publicly, so this commit updates the Marvell documentation file with the references to this new documentation. Three documents are available, one for each of the three variants of Armada XP: 78230, 78260 and 78460. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410896277-32476-1-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ce6a144a0d01c6628496e4c0d18fbf3a0362cc67 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Mon Sep 15 18:59:42 2014 -0400 selftests/memfd: Run test on all architectures Remove the dependence on x86 to run the memfd test. Verfied on 32-bit powerpc. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit f51770ed465e6eb41da7fa16fd92eb67069600cf Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Tue Sep 16 18:41:59 2014 +0800 kvm: Make init_rmode_identity_map() return 0 on success. In init_rmode_identity_map(), there two variables indicating the return value, r and ret, and it return 0 on error, 1 on success. The function is only called by vmx_create_vcpu(), and ret is redundant. This patch removes the redundant variable, and makes init_rmode_identity_map() return 0 on success, -errno on failure. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a255d4795f83cf3e6a1c7d5ab998392d9413298c Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Tue Sep 16 18:41:58 2014 +0800 kvm: Remove ept_identity_pagetable from struct kvm_arch. kvm_arch->ept_identity_pagetable holds the ept identity pagetable page. But it is never used to refer to the page at all. In vcpu initialization, it indicates two things: 1. indicates if ept page is allocated 2. indicates if a memory slot for identity page is initialized Actually, kvm_arch->ept_identity_pagetable_done is enough to tell if the ept identity pagetable is initialized. So we can remove ept_identity_pagetable. NOTE: In the original code, ept identity pagetable page is pinned in memroy. As a result, it cannot be migrated/hot-removed. After this patch, since kvm_arch->ept_identity_pagetable is removed, ept identity pagetable page is no longer pinned in memory. And it can be migrated/hot-removed. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 80ce1639727e9d38729c34f162378508c307ca25 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Sep 2 10:27:36 2014 +0100 KVM: VFIO: register kvm_device_ops dynamically Now that we have a dynamic means to register kvm_device_ops, use that for the VFIO kvm device, instead of relying on the static table. This is achieved by a module_init call to register the ops with KVM. Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Alex Williamson <Alex.Williamson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 84877d93336de21a6251db00b841468a83c65906 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Sep 2 10:27:35 2014 +0100 KVM: s390: register flic ops dynamically Using the new kvm_register_device_ops() interface makes us get rid of an #ifdef in common code. Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c06a841bf36340e9e917ce60d11a6425ac85d0bd Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Sep 2 10:27:34 2014 +0100 KVM: ARM: vgic: register kvm_device_ops dynamically Now that we have a dynamic means to register kvm_device_ops, use that for the ARM VGIC, instead of relying on the static table. Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d60eacb07053142bfb9b41582074a89a790a9d46 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Sep 2 10:27:33 2014 +0100 KVM: device: add simple registration mechanism for kvm_device_ops kvm_ioctl_create_device currently has knowledge of all the device types and their associated ops. This is fairly inflexible when adding support for new in-kernel device emulations, so move what we currently have out into a table, which can support dynamic registration of ops by new drivers for virtual hardware. Cc: Alex Williamson <Alex.Williamson@xxxxxxxxxx> Cc: Alex Graf <agraf@xxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 52362810bec8a912324169920cced021e3887b3e Author: Jan Kara <jack@xxxxxxx> Date: Wed Sep 10 21:06:39 2014 +0200 ocfs2: Don't use MAXQUOTAS value MAXQUOTAS value defines maximum number of quota types VFS supports. This isn't necessarily the number of types ocfs2 supports and with addition of project quotas these two numbers stop matching. So make ocfs2 use its private definition. CC: Mark Fasheh <mfasheh@xxxxxxxx> CC: Joel Becker <jlbec@xxxxxxxxxxxx> CC: ocfs2-devel@xxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> commit aca60617738334be3e8e0daa48be06844ce9e9fd Author: Jan Kara <jack@xxxxxxx> Date: Wed Sep 10 20:57:45 2014 +0200 reiserfs: Don't use MAXQUOTAS value MAXQUOTAS value defines maximum number of quota types VFS supports. This isn't necessarily the number of types reiserfs supports and with addition of project quotas these two numbers stop matching. So make reiserfs use its private definition. CC: reiserfs-devel@xxxxxxxxxxxxxxx CC: Jeff Mahoney <jeffm@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit a93114e4688f8ff7aba3a1012f17cfadc054d08b Author: Jan Kara <jack@xxxxxxx> Date: Wed Sep 10 20:48:02 2014 +0200 ext3: Don't use MAXQUOTAS value MAXQUOTAS value defines maximum number of quota types VFS supports. This isn't necessarily the number of types ext3 supports and with addition of project quotas these two numbers stop matching. So make ext3 use its private definition. CC: linux-ext4@xxxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> commit 6fb1ca92a6409a9d5b0696447cd4997bc9aaf5a2 Author: Jan Kara <jack@xxxxxxx> Date: Tue Sep 9 13:03:03 2014 +0200 udf: Fix race between write(2) and close(2) Currently write(2) updating i_size and close(2) of the file can race in such a way that udf_truncate_tail_extent() called from udf_file_release() sees old i_size but already new extents added by the running write call. This results in complaints like: UDF-fs: warning (device vdb2): udf_truncate_tail_extent: Too long extent after EOF in inode 877: i_size: 0 lbcount: 1073739776 extent 0+1073739776 UDF-fs: error (device vdb2): udf_truncate_tail_extent: Extent after EOF in inode 877 Fix the problem by grabbing i_mutex in udf_file_release() to be sure i_size is consistent with current state of extent list. Also avoid truncating tail extent unnecessarily when the file is still open for writing. Signed-off-by: Jan Kara <jack@xxxxxxx> commit fef775caa705255358cdf7bbaf9bbc2fd1111761 Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 12:02:08 2014 -0300 nand: omap2: Add support for flash-based bad block table This commit adds a new platform-data boolean property that enables use of a flash-based bad block table. This can also be enabled by setting the 'nand-on-flash-bbt' devicetree property. If the flash BBT is not enabled, the driver falls back to use OOB bad block markers only, as before. If the flash BBT is enabled the kernel will keep track of bad blocks using a BBT, in addition to the OOB markers. As explained by Brian Norris the reasons for using a BBT are: "" The primary reason would be that NAND datasheets specify it these days. A better argument is that nobody guarantees that you can write a bad block marker to a worn out block; you may just get program failures. This has been acknowledged by several developers over the last several years. Additionally, you get a boot-time performance improvement if you only have to read a few pages, instead of a page or two from every block on the flash. "" Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2d405ec5fdd5b6848beb820301d4fcaa3e2c4159 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 13 01:23:59 2014 +0200 mtd: nand: atmel_nand: retrieve NFC clock Retrieve the NFC clock to make sure it is enabled. Make that optional to ensure compatibility with previous device trees but document it as mandatory so newer device trees will include it. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0097db06f5ab2df1756bc4cbf4395593024d87a1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Sep 16 21:36:09 2014 +0200 Bluetooth: Remove exported hci_recv_fragment function The hci_recv_fragment function is no longer used by any driver and thus do not export it. In fact it is not even needed by the core and it can be removed altogether. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8bb1ffdf76276c040a065c4df173dfce98b5ffa3 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 22:51:22 2014 +0200 ALSA: hda - Replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c21c4ab0d6921f7160a43216fa6973b5924de561 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue Sep 16 11:37:08 2014 -0400 sparc64: Move request_irq() from ldc_bind() to ldc_alloc() The request_irq() needs to be done from ldc_alloc() to avoid the following (caught by lockdep) [00000000004a0738] __might_sleep+0xf8/0x120 [000000000058bea4] kmem_cache_alloc_trace+0x184/0x2c0 [00000000004faf80] request_threaded_irq+0x80/0x160 [000000000044f71c] ldc_bind+0x7c/0x220 [0000000000452454] vio_port_up+0x54/0xe0 [00000000101f6778] probe_disk+0x38/0x220 [sunvdc] [00000000101f6b8c] vdc_port_probe+0x22c/0x300 [sunvdc] [0000000000451a88] vio_device_probe+0x48/0x60 [000000000074c56c] really_probe+0x6c/0x300 [000000000074c83c] driver_probe_device+0x3c/0xa0 [000000000074c92c] __driver_attach+0x8c/0xa0 [000000000074a6ec] bus_for_each_dev+0x6c/0xa0 [000000000074c1dc] driver_attach+0x1c/0x40 [000000000074b0fc] bus_add_driver+0xbc/0x280 Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Dwight Engen <dwight.engen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05aa1651e8b9ca078b1808a2fe7b50703353ec02 Author: bob picco <bpicco@xxxxxxxxxx> Date: Tue Sep 16 10:09:06 2014 -0400 sparc64: T5 PMU The T5 (niagara5) has different PCR related HV fast trap values and a new HV API Group. This patch utilizes these and shares when possible with niagara4. We use the same sparc_pmu niagara4_pmu. Should there be new effort to obtain the MCU perf statistics then this would have to be changed. Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c21d533ab2ffa1e681bdaf4a53ce3046f6e0e17 Author: bob picco <bpicco@xxxxxxxxxx> Date: Tue Sep 16 09:29:54 2014 -0400 sparc64: mem boot option correction The "mem" boot option can result in many unexpected consequences. This patch attempts to prevent boot hangs which have been experienced on T4-4 and T5-8. Basically the boot loader allocates vmlinuz and initrd higher in available OBP physical memory. For example, on a 2Tb T5-8 it isn't possible to boot with mem=20G. The patch utilizes memblock to avoid reserved regions and trim memory which is only free. Other improvements are possible for a multi-node machine. This is a snippet of the boot log with mem=20G on T5-8 with the patch applied: MEMBLOCK configuration: <- before memory reduction memory size = 0x1ffad6ce000 reserved size = 0xa1adf44 memory.cnt = 0xb memory[0x0] [0x00000030400000-0x00003fdde47fff], 0x3fada48000 bytes memory[0x1] [0x00003fdde4e000-0x00003fdde4ffff], 0x2000 bytes memory[0x2] [0x00080000000000-0x00083fffffffff], 0x4000000000 bytes memory[0x3] [0x00100000000000-0x00103fffffffff], 0x4000000000 bytes memory[0x4] [0x00180000000000-0x00183fffffffff], 0x4000000000 bytes memory[0x5] [0x00200000000000-0x00203fffffffff], 0x4000000000 bytes memory[0x6] [0x00280000000000-0x00283fffffffff], 0x4000000000 bytes memory[0x7] [0x00300000000000-0x00303fffffffff], 0x4000000000 bytes memory[0x8] [0x00380000000000-0x00383fffc71fff], 0x3fffc72000 bytes memory[0x9] [0x00383fffc92000-0x00383fffca1fff], 0x10000 bytes memory[0xa] [0x00383fffcb4000-0x00383fffcb5fff], 0x2000 bytes reserved.cnt = 0x2 reserved[0x0] [0x00380000000000-0x0038000117e7f8], 0x117e7f9 bytes reserved[0x1] [0x00380004000000-0x0038000d02f74a], 0x902f74b bytes ... MEMBLOCK configuration: <- after reduction of memory memory size = 0x50a1adf44 reserved size = 0xa1adf44 memory.cnt = 0x4 memory[0x0] [0x00380000000000-0x0038000117e7f8], 0x117e7f9 bytes memory[0x1] [0x00380004000000-0x0038050d01d74a], 0x50901d74b bytes memory[0x2] [0x00383fffc92000-0x00383fffca1fff], 0x10000 bytes memory[0x3] [0x00383fffcb4000-0x00383fffcb5fff], 0x2000 bytes reserved.cnt = 0x2 reserved[0x0] [0x00380000000000-0x0038000117e7f8], 0x117e7f9 bytes reserved[0x1] [0x00380004000000-0x0038000d02f74a], 0x902f74b bytes ... Early memory node ranges node 7: [mem 0x380000000000-0x38000117dfff] node 7: [mem 0x380004000000-0x380f0d01bfff] node 7: [mem 0x383fffc92000-0x383fffca1fff] node 7: [mem 0x383fffcb4000-0x383fffcb5fff] Could not find start_pfn for node 0 Could not find start_pfn for node 1 Could not find start_pfn for node 2 Could not find start_pfn for node 3 Could not find start_pfn for node 4 Could not find start_pfn for node 5 Could not find start_pfn for node 6 . The patch was tested on T4-1, T5-8 and Jalap?no. Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 109ab90974995a06aeabab1535b0ce00f26dd24a Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Sep 11 13:53:54 2014 -0700 drm/ttm: make sure format string cannot leak in While zone->name is currently hard coded, the call to kobject_init_and_add() should follow the more defensive argument list usage (as already done in other places in ttm_memory.c) where "%s" is used instead of directly passing in a variable as a format string. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d898ce03675fc061f89a347a22d41271ed75c436 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:22 2014 -0300 drm/tilcdc: panel: Add support for enable GPIO In order to support the "enable GPIO" available in many panel devices, this commit adds a proper devicetree binding. By providing an enable GPIO in the devicetree, the driver can now turn off and on the panel device, and/or the backlight device. Both the backlight and the GPIO are optional properties. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 12778fc14301cf24d79cd89b0129874c319d0a38 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:21 2014 -0300 drm/tilcdc: panel: Set return value explicitly Instead of setting an initial value for the return code, set it explicitly on each error path. This is just a cosmetic cleanup, as preparation for the enable GPIO support. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 18c44db8cafe9bda4fcb51bfc05c1f1d7cefc44c Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:20 2014 -0300 drm/tilcdc: panel: Fix backlight devicetree support The current backlight support is broken; the driver expects a backlight-class in the panel devicetree node. Fix this by implementing it properly, getting an optional backlight from a phandle. This shouldn't cause any backward-compatibility DT issue because the current implementation doesn't work and is not even documented. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 3dee9df54836d5f844f3d58281d3f3e6331b467f Author: bob picco <bpicco@xxxxxxxxxx> Date: Tue Sep 16 09:28:15 2014 -0400 sparc64: find_node adjustment We have seen an issue with guest boot into LDOM that causes early boot failures because of no matching rules for node identitity of the memory. I analyzed this on my T4 and concluded there might not be a solution. I saw the issue in mainline too when booting into the control/primary domain - with guests configured. Note, this could be a firmware bug on some older machines. I'll provide a full explanation of the issues below. Should we not find a matching BEST latency group for a real address (RA) then we will assume node 0. On the T4-2 here with the information provided I can't see an alternative. Technically the LDOM shown below should match the MBLOCK to the favorable latency group. However other factors must be considered too. Were the memory controllers configured "fine" grained interleave or "coarse" grain interleaved - T4. Also should a "group" MD node be considered a NUMA node? There has to be at least one Machine Description (MD) "group" and hence one NUMA node. The group can have one or more latency groups (lg) - more than one memory controller. The current code chooses the smallest latency as the most favorable per group. The latency and lg information is in MLGROUP below. MBLOCK is the base and size of the RAs for the machine as fetched from OBP /memory "available" property. My machine has one MBLOCK but more would be possible - with holes? For a T4-2 the following information has been gathered: with LDOM guest MEMBLOCK configuration: memory size = 0x27f870000 memory.cnt = 0x3 memory[0x0] [0x00000020400000-0x0000029fc67fff], 0x27f868000 bytes memory[0x1] [0x0000029fd8a000-0x0000029fd8bfff], 0x2000 bytes memory[0x2] [0x0000029fd92000-0x0000029fd97fff], 0x6000 bytes reserved.cnt = 0x2 reserved[0x0] [0x00000020800000-0x000000216c15c0], 0xec15c1 bytes reserved[0x1] [0x00000024800000-0x0000002c180c1e], 0x7980c1f bytes MBLOCK[0]: base[20000000] size[280000000] offset[0] (note: "base" and "size" reported in "MBLOCK" encompass the "memory[X]" values) (note: (RA + offset) & mask = val is the formula to detect a match for the memory controller. should there be no match for find_node node, a return value of -1 resulted for the node - BAD) There is one group. It has these forward links MLGROUP[1]: node[545] latency[1f7e8] match[200000000] mask[200000000] MLGROUP[2]: node[54d] latency[2de60] match[0] mask[200000000] NUMA NODE[0]: node[545] mask[200000000] val[200000000] (latency[1f7e8]) (note: "val" is the best lg's (smallest latency) "match") no LDOM guest - bare metal MEMBLOCK configuration: memory size = 0xfdf2d0000 memory.cnt = 0x3 memory[0x0] [0x00000020400000-0x00000fff6adfff], 0xfdf2ae000 bytes memory[0x1] [0x00000fff6d2000-0x00000fff6e7fff], 0x16000 bytes memory[0x2] [0x00000fff766000-0x00000fff771fff], 0xc000 bytes reserved.cnt = 0x2 reserved[0x0] [0x00000020800000-0x00000021a04580], 0x1204581 bytes reserved[0x1] [0x00000024800000-0x0000002c7d29fc], 0x7fd29fd bytes MBLOCK[0]: base[20000000] size[fe0000000] offset[0] there are two groups group node[16d5] MLGROUP[0]: node[1765] latency[1f7e8] match[0] mask[200000000] MLGROUP[3]: node[177d] latency[2de60] match[200000000] mask[200000000] NUMA NODE[0]: node[1765] mask[200000000] val[0] (latency[1f7e8]) group node[171d] MLGROUP[2]: node[1775] latency[2de60] match[0] mask[200000000] MLGROUP[1]: node[176d] latency[1f7e8] match[200000000] mask[200000000] NUMA NODE[1]: node[176d] mask[200000000] val[200000000] (latency[1f7e8]) (note: for this two "group" bare metal machine, 1/2 memory is in group one's lg and 1/2 memory is in group two's lg). Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 971645d1fd734b8098a5113d61ab9ea93ce83921 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:19 2014 -0300 drm/tilcdc: panel: Use devm_kzalloc to simplify the error path Using the managed variant to allocate the resource makes the code simpler and less error-prone. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e3a9b04621681d0f07bc8e9935684e6400edef7c Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:18 2014 -0300 drm/tilcdc: panel: Spurious whitespace removal Just a cosmetic cleanup. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 75ece7b788f37bf7a2c51ff199b2011ee5e631a4 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:17 2014 -0300 drm/tilcdc: panel: Remove unused variable Just a trivial cleanup to remove the variable. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 9430dfa67d7609b2d6c1ba1ce609c4db192fd78e Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:16 2014 -0300 drm/tilcdc: panel: Add missing of_node_put This commit adds the missing calls to of_node_put to release the node that's currently held by the of_get_child_by_name() call in the panel info parsing code. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit b478e336b3e75505707a11e78ef8b964ef0a03af Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:15 2014 -0300 drm/tilcdc: Fix the error path in tilcdc_load() The current error path calls tilcdc_unload() in case of an error to release the resources. However, this is wrong because not all resources have been allocated by the time an error occurs in tilcdc_load(). To fix it, this commit adds proper labels to bail out at the different stages in the load function, and release only the resources actually allocated. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 4ccb9272892c33ef1c19a783cfa87103b30c2784 Author: bob picco <bpicco@xxxxxxxxxx> Date: Tue Sep 16 09:26:47 2014 -0400 sparc64: sun4v TLB error power off events We've witnessed a few TLB events causing the machine to power off because of prom_halt. In one case it was some nfs related area during rmmod. Another was an mmapper of /dev/mem. A more recent one is an ITLB issue with a bad pagesize which could be a hardware bug. Bugs happen but we should attempt to not power off the machine and/or hang it when possible. This is a DTLB error from an mmapper of /dev/mem: [root@sparcie ~]# SUN4V-DTLB: Error at TPC[fffff80100903e6c], tl 1 SUN4V-DTLB: TPC<0xfffff80100903e6c> SUN4V-DTLB: O7[fffff801081979d0] SUN4V-DTLB: O7<0xfffff801081979d0> SUN4V-DTLB: vaddr[fffff80100000000] ctx[1250] pte[98000000000f0610] error[2] . This is recent mainline for ITLB: [ 3708.179864] SUN4V-ITLB: TPC<0xfffffc010071cefc> [ 3708.188866] SUN4V-ITLB: O7[fffffc010071cee8] [ 3708.197377] SUN4V-ITLB: O7<0xfffffc010071cee8> [ 3708.206539] SUN4V-ITLB: vaddr[e0003] ctx[1a3c] pte[2900000dcc800eeb] error[4] . Normally sun4v_itlb_error_report() and sun4v_dtlb_error_report() would call prom_halt() and drop us to OF command prompt "ok". This isn't the case for LDOMs and the machine powers off. For the HV reported error of HV_ENORADDR for HV HV_MMU_MAP_ADDR_TRAP we cause a SIGBUS error by qualifying it within do_sparc64_fault() for fault code mask of FAULT_CODE_BAD_RA. This is done when trap level (%tl) is less or equal one("1"). Otherwise, for %tl > 1, we proceed eventually to die_if_kernel(). The logic of this patch was partially inspired by David Miller's feedback. Power off of large sparc64 machines is painful. Plus die_if_kernel provides more context. A reset sequence isn't a brief period on large sparc64 but better than power-off/power-on sequence. Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08adafd4a1f8c9b6e2c49d955a0e45743c9ffd9a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 16 21:57:16 2014 +0200 ARM: shmobile: Add manufacturer for KZM boards KZM-A9-Dual and KZM-A9-GT are manufactured by Kyoto Microcomputer Co. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8237f9e5c38098aeb8570a77bacd0fe0ebc61dfa Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 16 21:58:03 2014 +0200 ARM: shmobile: r8a7740 legacy: Fix copied bug in comment The corresponding bug in pm-sh7372.c was fixed in commit 70fe7b24672a988f ("ARM: shmobile: Do not access sh7372 A4S domain internals directly"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f9dd0ce67db80079484f154a27581e30c28e6938 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 9 15:11:50 2014 +0300 PCI: xilinx: Fix xilinx_pcie_assign_msi() return value test We should be testing "hwirq" instead of "irq". "irq" is unsigned so it's never less than zero. Also it's uninitialized. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Srikanth Thokala <sthokal@xxxxxxxxxx> commit 6df5d768050f31d810dd3ba0ad8210922c3e9b6d Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Sep 9 15:11:32 2014 +0530 ASoC: Intel: mrfld: Use snd_soc_dai_get_drvdata to derive drv data Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e306b6ee4d7ed7632765165749a36b8c8b4aeff2 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 16 21:02:31 2014 +0200 ASoC: cs35l32: remove second linux/slab.h inclusion linux/slab.h was included twice. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ee30928ab616786cae926c5c2efaa4303ba66802 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 21:22:54 2014 +0200 regulator: fan53555: add support for Silergy SYR82x regulators Silergy SYR82x regulators share the exact same functionality and register layout as the Fairchild FAN53555 regulators. Therefore extend the driver to add support for them. Both types use the same vendor id in their ID1 register, so it's not possible to distinguish them automatically. Similarly, the types also do not match. Type 8 used by the SYR827 and SYR828 start at 712.5mV and increment in 12.5mv steps, while the FAN53555 type 8 starts at 600mV and increments in 10mV steps. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 91f23d8fb67c90a50676e4db9260a21647ef753f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 21:22:53 2014 +0200 regulator: fan53555: add devicetree support Add the ability to parse regulator-data from the devicetree. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ed801b4046beead31cb83e78a5758497c0a6c3a6 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 21:22:52 2014 +0200 regulator: add devicetree bindings for Fairchild FAN53555 regulators Document the regulator and add a fairchild vendor-prefix. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 63ddc0b8fe5ebbac88e2ac84b489470bf3a22965 Author: Megan Kamiya <megan.a.kamiya@xxxxxxxxx> Date: Fri Sep 5 20:19:10 2014 -0700 PCI: Parenthesize PCI_DEVID and PCI_VPD_LRDT_ID parameters Add parentheses around parameters in PCI_DEVID and PCI_VPD_LRDT_ID macros to prevent possible expansion errors as described by the CERT Secure Coding Standard: PRE01-C: Use parentheses within macros around parameter names Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Megan Kamiya <megan.a.kamiya@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 7f1f054b3fac0b19ec0d74e3e18b73785c26f0a8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 26 17:11:38 2014 +0200 PCI: tegra: Add Tegra124 support The PCIe controller on Tegra124 has two root ports that can be used in a x4/x1 or x2/x1 configuration and can run at PCIe 2.0 link speeds (up to 5 GT/s). The PHY programming has been moved into a separate controller, so the driver now needs to request an external PHY referenced using the device tree. Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit ec73276204f06b6446a9c9b70173a1c15f6de536 Author: Eric Yuen <eyuen@xxxxxxxxxx> Date: Tue Aug 26 17:11:37 2014 +0200 PCI: tegra: Make sure the PCIe PLL is really reset Depending on the prior state of the controller, the PLL reset may not be pulsed. Clear the register bit and set it after a small delay to ensure that the PLL is really reset. Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Eric Yuen <eyuen@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 8d41794c6fc61ac2f09b5c25267e2c68748326cc Author: Peter Daifuku <pdaifuku@xxxxxxxxxx> Date: Tue Aug 26 17:11:36 2014 +0200 PCI: tegra: Fix extended configuration space mapping The 16 chunks of 64 KiB that need to be stitched together to make up the configuration space for one bus (1 MiB) are located 24 bits (== 16 MiB) apart in physical address space. This is determined by the start of the extended register field (bits 24-27) in the physical mapping. Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Peter Daifuku <pdaifuku@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0d20d6219216c5b37be8c82ee4a58d7f642e7cb0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 26 17:11:35 2014 +0200 PCI: tegra: Clear CLKREQ# enable on port disable When a root port is disabled, disable the CLKREQ# signal if available. Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit c22b47f03cdf01c7c4859b818b2a413251dde28d Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Thu Aug 21 16:01:30 2014 +0530 powerpc: dts: t208x: Change T208x USB controller version Change USB controller version to 2.5 in compatible string for T2080/T2081 Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 9fe373f9997b48fcd6222b95baf4a20c134b587a Author: Douglas Lehr <dllehr@xxxxxxxxxx> Date: Thu Aug 21 09:26:52 2014 +1000 PCI: Increase IBM ipr SAS Crocodile BARs to at least system page size The Crocodile chip occasionally comes up with 4k and 8k BAR sizes. Due to an erratum, setting the SR-IOV page size causes the physical function BARs to expand to the system page size. Since ppc64 uses 64k pages, when Linux tries to assign the smaller resource sizes to the now 64k BARs the address will be truncated and the BARs will overlap. Force Linux to allocate the resource as a full page, which avoids the overlap. [bhelgaas: print expanded resource, too] Signed-off-by: Douglas Lehr <dllehr@xxxxxxxxxx> Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Milton Miller <miltonm@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx commit e0d1b6b77ced59d852d38fcf9a8a0a1c40c84cee Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 5 14:08:55 2014 +0200 PCI/AER: Make <linux/aer.h> standalone includable The header file references u16 and u32 types, but they are not defined in the header nor does the header pull in the necessary includes for them. This causes build breakage when the file is included without any of the dependencies being satisfied from somewhere else. Fix this by including linux/types.h (for u16 and u32). [bhelgaas: removed pci_dev declaration (already added by 5ccb8225abf2)] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit be63497c413e22d5abdf32313f4b469af6aa7f4c Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Sep 9 10:21:28 2014 +0800 PCI: Use device flag helper functions Use PCI device flag helper functions when checking whether a device is assigned. No functional change. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit be507fd09011d2af3b34940fe616a2dd569fd3f7 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Sep 9 10:21:27 2014 +0800 xen/pciback: Use PCI device flag helper functions Use PCI device flag helper functions when assigning or releasing device. No functional change. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit ad0d217ca645477ba30c2f3cf1a5bbb7ef18b1fd Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Sep 9 10:21:26 2014 +0800 KVM: Use PCI device flag helper functions Use PCI device flag helper functions when assigning or releasing device. No functional change. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ce0529843a505d09f5809a7db6288d2f038f64c4 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Sep 9 10:21:25 2014 +0800 PCI: Add device flag helper functions Add helper functions to hide direct device flag operations: void pci_set_dev_assigned(struct pci_dev *dev); void pci_clear_dev_assigned(struct pci_dev *dev); bool pci_is_dev_assigned(struct pci_dev *dev); Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 8665a482dbb5dd4cba44f46e3099e783a3695027 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Wed Sep 10 13:12:39 2014 -0400 PCI: keystone: Set device ID based on SoC to support multiple ports K2E SoC has two PCI ports. The SATA controller is connected to second PCI port (port 1). To support multiple port handling in Keystone PCI driver, read the PCI device ID dynamically by iomap/read/unmap during probe and save it in driver's private data and update it in host init code. The PCI device ID field in the RC's config space is not filled by default by the hardware and has to be updated by the PCI driver by reading the same from the SoC register indicated by reg index #2 in DT bindings. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 4455efc90855ff5a6065caea835b0d13a284c5a1 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Wed Sep 10 13:12:38 2014 -0400 PCI: keystone: Assume controller is already in RC mode Keystone PCI hardware supports both RC and EP modes and devcfg register has bits to boot strap the device to either of these modes. It seems proper to add this functionality to the boot loader rather than in the driver as device will be operating in either mode, not both any time. Currently the driver supports only RC mode and hence register configuration in the driver is not needed and the driver can assume the hardware is in RC mode. Also update the DT documentation accordingly. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 64d5947b9ee1284b38b8e212e7c94024452b2bb4 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:09 2014 -0500 irqchip: omap-intc: remove unnecessary comments no fuctional changes. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 74b6c8ef546dec98f1817147d31f17a1f3aab09e Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:08 2014 -0500 irqchip: omap-intc: correct maximum number or MIR registers maximum number of MIR register is 4, rather than 3. Fix that. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b30791498a140d9460dfb9cb8edcb6fd1065363c Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:07 2014 -0500 irqchip: omap-intc: enable TURBO idle mode When TURBO bit is set in the INTC_IDLE register, the input synchronizer clock will be autogated based on activity on the INTC. Because this idle mode increases the interrupt latency by 2 clock cycles, we're only enabling it during suspend. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9836ee9f87dc669c8ce2b24ba986600a6977ca8b Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:06 2014 -0500 irqchip: omap-intc: enable IP protection When PROTECTION bit in enabled in PROTECTION register, INTC's registers are only accessible from privileged mode. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8bb3b375c8837ea73740883a90b1d7719b2653cc Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:05 2014 -0500 irqchip: omap-intc: remove unnecesary of_address_to_resource() call of_iomap(), which is called from omap_init_irq_of(), already takes care of making sure we have a valid resource to deal with. Because of that, we can safely remove our explicit call to of_address_to_resource(). Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 503b8d12e7462df0aea9b31ab65ac17b538540c9 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:04 2014 -0500 irqchip: omap-intc: comment style cleanup no functional changes, just making sure comment follows Coding Style. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6bd0f16e322b4572fe1e0ff3b0e78c800c2633b4 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:03 2014 -0500 irqchip: omap-intc: minor improvement to omap_irq_pending() We already hold the number of Pending registers in omap_nr_pending. Let's use that instead. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8598066cddd186809c4edf5aae5f018c00079e8c Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:02 2014 -0500 arm: omap: irq: move irq.c to drivers/irqchip/ Just move the code over as it has no dependencies on arch/arm/ anymore. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit eaacabc0d9b637c82788c66955b4ba0efebd5500 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:01 2014 -0500 irqchip: add irq-omap-intc.h header OMAP INTC irqchip driver will be moved under drivers/irqchip/ soon but we still have a dependency with mach-omap2 when it comes to idle functions. In order to make it easy to share those function prototypes with OMAP PM code, we introduce this new header. To avoid modifying several board-files and some of the PM-related code, we just include the new header from common.h which was already included by all users of IRQ-related PM code. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e92ce89c29fe104bc1246913f385093bbae7b564 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 16 15:31:40 2014 -0500 arm: omap2: n8x0: move i2c devices to DT By moving i2c devices to DT we can clean up i2c_board_info and fix a problem with moving INTC to irq domain where IRQs can be renumbered on each boot. Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2134cb997f2f1b2d960ad8705d67dc8d690ba59c Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Sep 3 20:05:34 2014 +0300 gpio: syscon: reuse for keystone 2 socs On Keystone SOCs, ARM host can send interrupts to DSP cores using the DSP GPIO controller IP. Each DSP GPIO controller provides 28 IRQ signals for each DSP core. This is one of the component used by the IPC mechanism used on Keystone SOCs. Keystone 2 DSP GPIO controller has specific features: - each GPIO can be configured only as output pin; - setting GPIO value to 1 causes IRQ generation on target DSP core; - reading pin value returns 0 - if IRQ was handled or 1 - IRQ is still pending. This patch updates gpio-syscon driver to be reused by Keystone 2 SoCs, because the Keystone 2 DSP GPIO controller is controlled through Syscon devices and, as requested by Linus Walleij, such kind of GPIO controllers should be integrated with drivers/gpio/gpio-syscon.c driver. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5a3e3f88b0a10f8b5baf224ebda5916195fb8745 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Sep 3 20:05:33 2014 +0300 gpio: syscon: retrive syscon node and regs offsets from dt This patch adds handling of new "gpio,syscon-dev" DT property, which allows to specify syscon node and data/direction registers offsets in DT. "gpio,syscon-dev" has following format: gpio,syscon-dev = <&syscon_dev data_reg_offset [direction_reg_offset]>; where - syscon_dev - phandle on syscon node - data_reg_offset - offset of data register (in bytes) - direction_reg_offset - offset of dirrection register (optional, in bytes) for example: gpio,syscon-dev = <&devctrl 0x254>; In such way, the support of multiple Syscon GPIO devices is added. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2c341d62eb4b697793c29da51fda64328df5ff59 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Sep 3 20:05:32 2014 +0300 gpio: syscon: add soc specific callback to assign output value Some SoCs (like Keystone) may require to perform special sequence of operations to assign output GPIO value, so default implementation of .set() callback from gpio-syscon driver can't be used. Hence, add optional, SoC specific callback to assign output gpio value. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c15982dfa8227f3e8fd2a6e2e13a009a9991d96c Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Mon Sep 8 13:03:34 2014 -0400 PCI: keystone: Limit MRSS for all downstream devices Keystone PCIe controller has a limitation that memory read request size must not exceed 256 bytes. This is a hardware limitation. Add a quirk to force this limit on all downstream devices by updating MRRS. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit bceee4a97eb58bd0e80e39eff11b506ddd9e7ad3 Author: Andreas Noever <andreas.noever@xxxxxxxxx> Date: Tue Sep 16 15:16:02 2014 -0600 PCI: pciehp: Prevent NULL dereference during probe pciehp assumes that dev->subordinate, the struct pci_bus for a bridge's secondary bus, exists. But we do not create that bus if we run out of bus numbers during enumeration. This leads to a NULL dereference in init_slot() (and other places). Change pciehp_probe() to return -ENODEV when no secondary bus is present. Signed-off-by: Andreas Noever <andreas.noever@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.2+ commit bf3c228d36c6b3c90074f928e84e318621969cc6 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed Sep 17 02:34:18 2014 +0800 net: fec: fix build error at m68k platform reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 4d494cdc92b3b9a0f5fb9e1560810fa27d5a0489 make.cross ARCH=m68k m5272c3_defconfig make.cross ARCH=m68k drivers/net/ethernet/freescale/fec.h:262:0: warning: "FEC_R_DES_START" redefined #define FEC_R_DES_START(X) ((X == 1) ? FEC_R_DES_START_1 : \ ^ drivers/net/ethernet/freescale/fec.h:158:0: note: this is the location of the previous definition #define FEC_R_DES_START 0x3d0 /* Receive descriptor ring */ ^ drivers/net/ethernet/freescale/fec.h:265:0: warning: "FEC_X_DES_START" redefined #define FEC_X_DES_START(X) ((X == 1) ? FEC_X_DES_START_1 : \ ... Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec4518aad8329364af373f4bf7f4eff25a01a339 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 10:50:01 2014 -0700 locktorture: Document boot/module parameters Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 59da22a02032cf1a069ec431f93d403b321ff6b4 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 10:36:15 2014 -0700 rcutorture: Rename rcutorture_runnable parameter This commit changes rcutorture_runnable to torture_runnable, which is consistent with the names of the other parameters and is a bit shorter as well. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit aaa693e3d8030e4cc531c71facb650ae0880f2fb Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 09:41:27 2014 -0700 locktorture: Add test scenario for rwsem_lock Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 862917a52b5f108200c1aa2a4f5a35c9156c84b9 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 09:36:53 2014 -0700 locktorture: Add test scenario for mutex_lock Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 0acf0153169768a5d672fdcb163279bd05f94ef2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 09:19:29 2014 -0700 locktorture: Make torture scripting account for new _runnable name Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 630952c22b04ada7e88ad93b87ad893cd818cc6b Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 21:42:25 2014 -0700 locktorture: Introduce torture context The amount of global variables is getting pretty ugly. Group variables related to the execution (ie: not parameters) in a new context structure. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4a3b427f0b27c7e15edfa607524ff012a155337a Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 21:41:30 2014 -0700 locktorture: Support rwsems We can easily do so with our new reader lock support. Just an arbitrary design default: readers have higher (5x) critical region latencies than writers: 50 ms and 10 ms, respectively. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4f6332c1dce9c64ef6bf93842067250dd850e482 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 21:40:41 2014 -0700 locktorture: Add infrastructure for torturing read locks Most of it is based on what we already have for writers. This allows readers to be very independent (and thus configurable), enabling future module parameters to control things such as rw distribution. Furthermore, readers have their own delaying function, allowing us to test different rw critical region latencies, and stress locking internals. Similarly, statistics, for now will only serve for the number of lock acquisitions -- as opposed to writers, readers have no failure detection. In addition, introduce a new nreaders_stress module parameter. The default number of readers will be the same number of writers threads. Writer threads are interleaved with readers. Documentation is updated, respectively. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d36a7a0d5e8b5bff1671723d733eb61621b0cee4 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:21 2014 -0700 torture: Address race in module cleanup When performing module cleanups by calling torture_cleanup() the 'torture_type' string in nullified However, callers are not necessarily done, and might still need to reference the variable. This impacts both rcutorture and locktorture, causing printing things like: [ 94.226618] (null)-torture: Stopping lock_torture_writer task [ 94.226624] (null)-torture: Stopping lock_torture_stats task Thus delay this operation until the very end of the cleanup process. The consequence (which shouldn't matter for this kid of program) is, of course, that we delay the window between rmmod and modprobing, for instance in module_torture_begin(). Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 1e6757a92189278c484799ea98fc69bdc528940e Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:20 2014 -0700 locktorture: Make statistics generic The statistics structure can serve well for both reader and writer locks, thus simply rename some fields that mention 'write' and leave the declaration of lwsa. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f095bfc0ea04829d6962edaf06a5c56e0c251f5b Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:19 2014 -0700 locktorture: Teach about lock debugging Regular locks are very different than locks with debugging. For instance for mutexes, debugging forces to only take the slowpaths. As such, the locktorture module should take this into account when printing related information -- specifically when printing user passed parameters, it seems the right place for such info. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 42ddc75ddd478edac6ad9dc8c63abb4441541af2 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:18 2014 -0700 locktorture: Support mutexes Add a "mutex_lock" torture test. The main difference with the already existing spinlock tests is that the latency of the critical region is much larger. We randomly delay for (arbitrarily) either 500 ms or, otherwise, 25 ms. While this can considerably reduce the amount of writes compared to non blocking locks, if run long enough it can have the same torturous effect. Furthermore it is more representative of mutex hold times and can stress better things like thrashing. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit cdf26bb10bcb50161d452b16eb3cf2901645d625 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:17 2014 -0700 locktorture: Add documentation Just like Documentation/RCU/torture.txt, begin a document for the locktorture module. This module is still pretty green, so I have just added some specific sections to the doc (general desc, params, usage, etc.). Further development should update the file. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> [ paulmck: Apply Randy Dunlap review comments. ] Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9f6c38e70b6c7ea379394a755fe76e09996f5370 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Tue Sep 16 00:33:42 2014 -0700 net: sched: cls_cgroup need tcf_exts_init in all cases This ensures the tcf_exts_init() is called for all cases. Fixes: 952313bd62589cae216a57 ("net: sched: cls_cgroup use RCU") Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d9d65fa4418b64112199449e90af226764537e4 Merge: e1f93eb 971427f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 16 16:21:48 2014 -0400 Merge branch 'net_next_ovs' of git://git.kernel.org/pub/scm/linux/kernel/git/pshelar/openvswitch Pravin B Shelar says: ==================== Open vSwitch Following patches adds recirculation and hash action to OVS. First patch removes pointer to stack object. Next three patches does code restructuring which is required for last patch. Recirculation implementation is changed, according to comments from David Miller, to avoid using recursive calls in OVS. It is using queue to record recirc action and deferred recirc is executed at the end of current actions execution. v1-v2: Changed subsystem name in subject to openvswitch v2-v3: Added patch to remove pkt_key pointer from skb->cb. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a0a260a0f6ff0226c33cf28a5cc26711ab0ae5f Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 16:43:42 2014 +0200 ath9k: enable ext channel pulse detection Enable pulse detection on extension channel if 40MHz channel width has been set Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 853854d6b2e43b7f7fbbcc87558503f00aa0abf2 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Tue Sep 16 07:19:27 2014 +0530 ath9k: Fix build error This happens when CONFIG_ATH9K_CHANNEL_CONTEXT is not enabled. ../drivers/net/wireless/ath/ath9k/recv.c: In function â??ath_rx_ps_beaconâ??: ../drivers/net/wireless/ath/ath9k/recv.c:553:27: error: â??struct ath_softcâ?? has no member named â??offchannelâ?? if (sc->cur_chan == &sc->offchannel.chan) ^ ../scripts/Makefile.build:257: recipe for target 'drivers/net/wireless/ath/ath9k/recv.o' failed make[10]: *** [drivers/net/wireless/ath/ath9k/recv.o] Error 1 ../scripts/Makefile.build:404: recipe for target 'drivers/net/wireless/ath/ath9k' failed make[9]: *** [drivers/net/wireless/ath/ath9k] Error 2 Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 44b47a7d483297f753577ed23369fcdeb67aac5e Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:16 2014 +0200 ath9k: initialize ath_node linked list Initialize neighbor linked list used by dynack to compute ACK timeout as the maximum STA ACK timeout Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 24a1936bda0aa1ccf95c63dd3042a970885aaf11 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:15 2014 +0200 ath9k: enable dynack using set_coverage_class codepath Enable ACK timeout estimation algorithm if set_coverage_class routine has been called with negative coverage_class parameter. Dynack is automatically disabled setting valid value for coverage class Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7a90744c333e5038793217f695dbbdb776b58698 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:14 2014 +0200 ath9k: add debugfs support for dynack Add ack_to entry to debugfs in order to dump current ACK timeout value Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 35c273eafe764791c635a45b5292039bbffea38f Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:13 2014 +0200 ath9k: enable control frame reception Set control frame bit in rx filter if dynack processing has been activated in order to enable ACK frame reception Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 982e0395d32780f6b3fcdbced1d17bbe909dd19f Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:12 2014 +0200 ath9k: add sampling methods for (tx|rx) timestamp Add sampling methods for ACK RX timestamp in ath_rx_tasklet() and for TX frame timestamp in ath_tx_complete_aggr() and in ath_tx_process_buffer(). These samples will be used in dynack processing for ACK timeout estimation Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7aefa8aacbd4694db9a7ea7cbff490a1e31c3613 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:11 2014 +0200 ath9k: do not overwrite ACK timeout estimation Do not overwrite ACK timeout estimation in ath9k_hw_init_global_settings() if dynack processing has been enabled Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ce7191526854f79b90bf627c5a8b8993491a3c2b Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:10 2014 +0200 ath9k: add config for (en|dis)abling ACK timeout estimation Add ACK timeout estimation algorithm to ath9k Makefile and Kconfig Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c774d57fd47c71675bb8c41a4dc2aafd78baa39d Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:09 2014 +0200 ath9k: add dynamic ACK timeout estimation Add dynamic ACK timeout estimation algorithm based on ACK frame RX timestamp, TX frame timestamp and frame duration. Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Tested-by: Philippe Duchein <wireless-dev@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 36678b2b67d7d455d5f4054604f97834a316a121 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:08 2014 +0200 ath9k: add duration field to ath_tx_status Add duration field to ath_tx_status in order to report frame duration for each entry in multi-retry chain. These fields will be used in ACK timeout estimation algorithm (dynack) Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8e15e09465977d38ed4cc45af10148a4e6542f1c Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:07 2014 +0200 ath9k: export methods related to ACK timeout estimation Remove static keyword and export ath9k_hw_setslottime(), ath9k_hw_set_ack_timeout() and ath9k_hw_set_cts_timeout() in hw.h. These methods will be used in ACK timeout estimation algorithm (dynack) Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e1f93eb06c3a13b29b1980f27dada960503cd49e Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Mon Sep 15 23:31:42 2014 -0700 net: sched: cls_fw: add missing tcf_exts_init call in fw_change() When allocating a new structure we also need to call tcf_exts_init to initialize exts. A follow up patch might be in order to remove some of this code and do tcf_exts_assign(). With this we could remove the tcf_exts_init/tcf_exts_change pattern for some of the classifiers. As part of the future tcf_actions RCU series this will need to be done. For now fix the call here. Fixes e35a8ee5993ba81fd6c0 ("net: sched: fw use RCU") Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d14cbfc88ff87e5054d67fde3ba5f4c20b773dab Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Mon Sep 15 23:31:17 2014 -0700 net: sched: cls_cgroup fix possible memory leak of 'new' tree: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master head: 54996b529ab70ca1d6f40677cd2698c4f7127e87 commit: c7953ef23042b7c4fc2be5ecdd216aacff6df5eb [625/646] net: sched: cls_cgroup use RCU net/sched/cls_cgroup.c:130 cls_cgroup_change() warn: possible memory leak of 'new' net/sched/cls_cgroup.c:135 cls_cgroup_change() warn: possible memory leak of 'new' net/sched/cls_cgroup.c:139 cls_cgroup_change() warn: possible memory leak of 'new' Fixes: c7953ef23042b7c4fc2be5ecdd216aac ("net: sched: cls_cgroup use RCU") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a96366bf263919c529baa74a0b029c82a8388045 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Mon Sep 15 23:30:49 2014 -0700 net: sched: cls_u32 add missing rcu_assign_pointer and annotation Add missing rcu_assign_pointer and missing annotation for ht_up in cls_u32.c Caught by kbuild bot, >> net/sched/cls_u32.c:378:36: sparse: incorrect type in initializer (different address spaces) net/sched/cls_u32.c:378:36: expected struct tc_u_hnode *ht net/sched/cls_u32.c:378:36: got struct tc_u_hnode [noderef] <asn:4>*ht_up >> net/sched/cls_u32.c:610:54: sparse: incorrect type in argument 4 (different address spaces) net/sched/cls_u32.c:610:54: expected struct tc_u_hnode *ht net/sched/cls_u32.c:610:54: got struct tc_u_hnode [noderef] <asn:4>*ht_up >> net/sched/cls_u32.c:684:18: sparse: incorrect type in assignment (different address spaces) net/sched/cls_u32.c:684:18: expected struct tc_u_hnode [noderef] <asn:4>*ht_up net/sched/cls_u32.c:684:18: got struct tc_u_hnode *[assigned] ht >> net/sched/cls_u32.c:359:18: sparse: dereference of noderef expression Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80aab73de4a076fc70ad5cc60395d935c40e605d Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Mon Sep 15 23:30:26 2014 -0700 net: sched: fix unsued cpu variable kbuild test robot reported an unused variable cpu in cls_u32.c after the patch below. This happens when PERF and MARK config variables are disabled Fix this is to use separate variables for perf and mark and define the cpu variable inside the ifdef logic. Fixes: 459d5f626da7 ("net: sched: make cls_u32 per cpu")' Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69301eaa7fdab984c55c227359905fd522dbfc9c Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 16:43:43 2014 -0700 net_sched: fix a null pointer dereference in tcindex_set_parms() This patch fixes the following crash: [ 42.199159] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018 [ 42.200027] IP: [<ffffffff817e3fc4>] tcindex_set_parms+0x45c/0x526 [ 42.200027] PGD d2319067 PUD d4ffe067 PMD 0 [ 42.200027] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [ 42.200027] CPU: 0 PID: 541 Comm: tc Not tainted 3.17.0-rc4+ #603 [ 42.200027] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 42.200027] task: ffff8800d22d2670 ti: ffff8800ce790000 task.ti: ffff8800ce790000 [ 42.200027] RIP: 0010:[<ffffffff817e3fc4>] [<ffffffff817e3fc4>] tcindex_set_parms+0x45c/0x526 [ 42.200027] RSP: 0018:ffff8800ce793898 EFLAGS: 00010202 [ 42.200027] RAX: 0000000000000001 RBX: ffff8800d1786498 RCX: 0000000000000000 [ 42.200027] RDX: ffffffff82114ec8 RSI: ffffffff82114ec8 RDI: ffffffff82114ec8 [ 42.200027] RBP: ffff8800ce793958 R08: 00000000000080d0 R09: 0000000000000001 [ 42.200027] R10: ffff8800ce7939a0 R11: 0000000000000246 R12: ffff8800d017d238 [ 42.200027] R13: 0000000000000018 R14: ffff8800d017c6a0 R15: ffff8800d1786620 [ 42.200027] FS: 00007f4e24539740(0000) GS:ffff88011a600000(0000) knlGS:0000000000000000 [ 42.200027] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 42.200027] CR2: 0000000000000018 CR3: 00000000cff38000 CR4: 00000000000006f0 [ 42.200027] Stack: [ 42.200027] ffff8800ce0949f0 0000000000000000 0000000200000003 ffff880000000000 [ 42.200027] ffff8800ce7938b8 ffff8800ce7938b8 0000000600000007 0000000000000000 [ 42.200027] ffff8800ce7938d8 ffff8800ce7938d8 0000000600000007 ffff8800ce0949f0 [ 42.200027] Call Trace: [ 42.200027] [<ffffffff817e4169>] tcindex_change+0xdb/0xee [ 42.200027] [<ffffffff817c16ca>] tc_ctl_tfilter+0x44d/0x63f [ 42.200027] [<ffffffff8179d161>] rtnetlink_rcv_msg+0x181/0x194 [ 42.200027] [<ffffffff8179cf9d>] ? rtnl_lock+0x17/0x19 [ 42.200027] [<ffffffff8179cfe0>] ? __rtnl_unlock+0x17/0x17 [ 42.200027] [<ffffffff817ee296>] netlink_rcv_skb+0x49/0x8b [ 43.462494] [<ffffffff8179cfc2>] rtnetlink_rcv+0x23/0x2a [ 43.462494] [<ffffffff817ec8df>] netlink_unicast+0xc7/0x148 [ 43.462494] [<ffffffff817ed413>] netlink_sendmsg+0x5cb/0x63d [ 43.462494] [<ffffffff810ad781>] ? mark_lock+0x2e/0x224 [ 43.462494] [<ffffffff817757b8>] __sock_sendmsg_nosec+0x25/0x27 [ 43.462494] [<ffffffff81778165>] sock_sendmsg+0x57/0x71 [ 43.462494] [<ffffffff81152bbd>] ? might_fault+0x57/0xa4 [ 43.462494] [<ffffffff81152c06>] ? might_fault+0xa0/0xa4 [ 43.462494] [<ffffffff81152bbd>] ? might_fault+0x57/0xa4 [ 43.462494] [<ffffffff817838fd>] ? verify_iovec+0x69/0xb7 [ 43.462494] [<ffffffff817784f8>] ___sys_sendmsg+0x21d/0x2bb [ 43.462494] [<ffffffff81009db3>] ? native_sched_clock+0x35/0x37 [ 43.462494] [<ffffffff8109ab53>] ? sched_clock_local+0x12/0x72 [ 43.462494] [<ffffffff810ad781>] ? mark_lock+0x2e/0x224 [ 43.462494] [<ffffffff8109ada4>] ? sched_clock_cpu+0xa0/0xb9 [ 43.462494] [<ffffffff810aee37>] ? __lock_acquire+0x5fe/0xde4 [ 43.462494] [<ffffffff8119f570>] ? rcu_read_lock_held+0x36/0x38 [ 43.462494] [<ffffffff8119f75a>] ? __fcheck_files.isra.7+0x4b/0x57 [ 43.462494] [<ffffffff8119fbf2>] ? __fget_light+0x30/0x54 [ 43.462494] [<ffffffff81779012>] __sys_sendmsg+0x42/0x60 [ 43.462494] [<ffffffff81779042>] SyS_sendmsg+0x12/0x1c [ 43.462494] [<ffffffff819d24d2>] system_call_fastpath+0x16/0x1b 'p->h' could be NULL while 'cp->h' is always update to date. Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-By: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 44b75e43178276f57141c314661526496e85a3ab Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 16:43:42 2014 -0700 net_sched: fix memory leak in cls_tcindex Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-By: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10615a5c49721803ed258316280858142a24e72a Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Sep 9 15:11:25 2014 +0530 ASoC: Intel: mrfld: add bytes control for modules This patch add support for various modules like eq etc for mrfld DSP. All these modules will be exposed to usermode as bytes controls. Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d2b16b8fa1b6352757cd0a58234591e1496a82ad Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Sep 9 15:11:24 2014 +0530 ASoC: Intel: mfld-pcm: don't call trigger ops to DSP for internal streams For internal stream i.e. BE we have don't need trigger ops as that would be handled by DAPM for us in subsequent patches Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 844749764b416ee2c4ba2da328c04eaad7388242 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Tue Sep 16 14:52:03 2014 -0400 ext4: explicitly inform user about orphan list cleanup Production fs likely compiled/mounted w/o jbd debugging, so orphan list clearing will be silent. Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1245799f752fa817a030b3b4448466e83ee7d61d Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Tue Sep 16 14:50:50 2014 -0400 jbd2: jbd2_log_wait_for_space improve error detetcion If EIO happens after we have dropped j_state_lock, we won't notice that the journal has been aborted. So it is reasonable to move this check after we have grabbed the j_checkpoint_mutex and re-grabbed the j_state_lock. This patch helps to prevent false positive complain after EIO. #DMESG: __jbd2_log_wait_for_space: needed 8448 blocks and only had 8386 space available __jbd2_log_wait_for_space: no way to get more journal space in ram1-8 ------------[ cut here ]------------ WARNING: CPU: 15 PID: 6739 at fs/jbd2/checkpoint.c:168 __jbd2_log_wait_for_space+0x188/0x200() Modules linked in: brd iTCO_wdt lpc_ich mfd_core igb ptp dm_mirror dm_region_hash dm_log dm_mod CPU: 15 PID: 6739 Comm: fsstress Tainted: G W 3.17.0-rc2-00429-g684de57 #139 Hardware name: Intel Corporation W2600CR/W2600CR, BIOS SE5C600.86B.99.99.x028.061320111235 06/13/2011 00000000000000a8 ffff88077aaab878 ffffffff815c1a8c 00000000000000a8 0000000000000000 ffff88077aaab8b8 ffffffff8106ce8c ffff88077aaab898 ffff8807c57e6000 ffff8807c57e6028 0000000000002100 ffff8807c57e62f0 Call Trace: [<ffffffff815c1a8c>] dump_stack+0x51/0x6d [<ffffffff8106ce8c>] warn_slowpath_common+0x8c/0xc0 [<ffffffff8106ceda>] warn_slowpath_null+0x1a/0x20 [<ffffffff812419f8>] __jbd2_log_wait_for_space+0x188/0x200 [<ffffffff8123be9a>] start_this_handle+0x4da/0x7b0 [<ffffffff810990e5>] ? local_clock+0x25/0x30 [<ffffffff810aba87>] ? lockdep_init_map+0xe7/0x180 [<ffffffff8123c5bc>] jbd2__journal_start+0xdc/0x1d0 [<ffffffff811f2414>] ? __ext4_new_inode+0x7f4/0x1330 [<ffffffff81222a38>] __ext4_journal_start_sb+0xf8/0x110 [<ffffffff811f2414>] __ext4_new_inode+0x7f4/0x1330 [<ffffffff810ac359>] ? lock_release_holdtime+0x29/0x190 [<ffffffff812025bb>] ext4_create+0x8b/0x150 [<ffffffff8117fe3b>] vfs_create+0x7b/0xb0 [<ffffffff8118097b>] do_last+0x7db/0xcf0 [<ffffffff8117e31d>] ? inode_permission+0x4d/0x50 [<ffffffff811845d2>] path_openat+0x242/0x590 [<ffffffff81191a76>] ? __alloc_fd+0x36/0x140 [<ffffffff81184a6a>] do_filp_open+0x4a/0xb0 [<ffffffff81191b61>] ? __alloc_fd+0x121/0x140 [<ffffffff81172f20>] do_sys_open+0x170/0x220 [<ffffffff8117300e>] SyS_open+0x1e/0x20 [<ffffffff811715d6>] SyS_creat+0x16/0x20 [<ffffffff815c7e12>] system_call_fastpath+0x16/0x1b ---[ end trace cd71c831f82059db ]--- Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 064d83892e9ba547f7d4eae22cbca066d95210ce Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Tue Sep 16 14:43:09 2014 -0400 jbd2: free bh when descriptor block checksum fails Free the buffer head if the journal descriptor block fails checksum verification. This is the jbd2 port of the e2fsprogs patch "e2fsck: free bh on csum verify error in do_one_pass". Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit a0626e75954078cfacddb00a4545dde821170bc5 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Tue Sep 16 14:34:59 2014 -0400 ext4: check EA value offset when loading When loading extended attributes, check each entry's value offset to make sure it doesn't collide with the entries. Without this check it is easy to crash the kernel by mounting a malicious FS containing a file with an EA wherein e_value_offs = 0 and e_value_size > 0 and then deleting the EA, which corrupts the name list. (See the f_ea_value_crash test's FS image in e2fsprogs for an example.) Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 803b58367ffb7ae89397637122f9a71b2ee40687 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Sep 16 08:00:29 2014 +0200 Bluetooth: btusb: Implement driver internal packet reassembly When receiving USB interrupt, bulk or isochronous packet, they normally come in fragments. So far the driver just handed each fragment off to the hci_recv_fragment function of the Bluetooth core. That function is however so specific that is does not belong in the core. This patch implements the same reassembly logic in the driver. In addition this fixes a long standing bug where multiple complete packets are received within a single USB packet. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8af252272a0d634b59c4c7fa88200b06695decde Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Sep 16 10:22:54 2014 -0700 regulator: rk808: Add function for ramp delay for buck1/buck2 On rk808 buck1 and buck2 have programmable ramp delays. Let's add a function to allow a client of rk808 to set them. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3aba0460a2e13b49892f7a12237f82658c44257 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Thu Aug 28 17:52:00 2014 +0100 iommu/arm-smmu: support MMU-401 MMU-401 is similar to MMU-400, but updated with limited ARMv8 support. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 093604033361928f7f355b4d1766d0179ae747fb Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Thu Aug 28 17:51:59 2014 +0100 iommu/arm-smmu: fix architecture version detection The SMMU driver was relying on a quirk of MMU-500 r2px to identify the correct architecture version. Since this does not apply to other implementations, make the architecture version for each supported implementation explicit. While we're at it, remove the unnecessary #ifdef since the dependencies for CONFIG_ARM_SMMU already imply CONFIG_OF. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 28d6007ba2fd344164e01ef300af7f621e9e6b0d Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Sep 1 16:24:48 2014 +0100 iommu/arm-smmu: don't bother truncating the s1 output size to VA_BITS In order for nested translation to work correctly, we need to ensure that the maximum output address size from stage-1 is <= the maximum supported input address size to stage-2. The latter is currently defined by VA_BITS, since we make use of the CPU page table functions for allocating out tables and so the driver currently enforces this restriction by truncating the stage-1 output size during probe. In reality, this doesn't make a lot of sense; the guest OS is responsible for managing the stage-1 page tables, so we actually just need to ensure that the ID registers of the virtual SMMU interface only advertise the supported stage-2 input size. This patch fixes the problem by treating the stage-1 and stage-2 input address sizes separately. Reported-by: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c757e8528a304214d0a9be2e99011b94bf374d37 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Jul 30 11:33:25 2014 +0100 iommu/arm-smmu: use page shift instead of page size to avoid division Arbitrary integer division is not available in all ARM CPUs, so the GCC may spit out calls to helper functions which are not implemented in the kernel. This patch avoids these problems in the SMMU driver by using page shift instead of page size, so that divisions by the page size (as required by the vSMMU code) can be expressed as a simple right shift. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 844e35bdfe834fccb5def1bc4cd614ca22409d0c Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 17 11:23:51 2014 +0100 iommu/arm-smmu: put iommu_domain pointer in dev->archdata.iommu In preparation for nested translation support, stick a pointer to the iommu_domain in dev->archdata.iommu. This makes it much easier to grab hold of the physical group configuration (e.g. cbndx) when dealing with vSMMU accesses from a guest. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8f68f8e28298abdf518648e794c71e534eb8841c Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jul 15 11:27:08 2014 +0100 iommu/arm-smmu: add support for multi-master iommu groups Whilst the driver currently creates one IOMMU group per device, this will soon change when we start supporting non-transparent PCI bridges which require all upstream masters to be assigned to the same address space. This patch reworks our IOMMU group code so that we can easily support multi-master groups. The master configuration (streamids and smrs) is stored as private iommudata on the group, whilst the low-level attach/detach code is updated to avoid double alloc/free when dealing with multiple masters sharing the same SMMU configuration. This unifies device handling, regardless of whether the device sits on the platform or pci bus. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4cf740b0b6628bda1e5c9201ae0d4f56fc6c06a5 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 14 19:47:39 2014 +0100 iommu/arm-smmu: allow translation stage to be forced on the cmdline When debugging and testing code on an SMMU that supports nested translation, it can be useful to restrict the driver to a particular stage of translation. This patch adds a module parameter to the ARM SMMU driver to allow this by restricting the ability of the probe() code to detect support for only the specified stage. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 365a7bb32e097a8501a6a70b9225abcb09924f8c Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Sep 16 14:25:05 2014 +0300 spi: davinci: add support for adding delay between word's transmissions This patch adds ability to configure delay between transmission of words over SPI bus if it's required by SPI slave devices. New optional SPI slave property: - ti,spi-word-delay : delay between transmission of words (SPIFMTn.WDELAY, SPIDAT1.WDEL) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 23a8e5c2d2a481fcf382490369c27b405a650212 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:16 2014 -0700 locktorture: Rename locktorture_runnable parameter ... to just 'torture_runnable'. It follows other variable naming and is shorter. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 96b4672703ed4538c7fc25de36df4415a0ee237c Merge: e98d06d a53dd6a Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 10:10:44 2014 -0700 Merge branch 'rcu-tasks.2014.09.10a' into HEAD rcu-tasks.2014.09.10a: Add RCU-tasks flavor of RCU. commit e98d06dd6cd791b5138b0fc6c14a9c0b4d1f2e72 Merge: 2456d2a 73a860c c847f14 bc51896 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 10:08:34 2014 -0700 Merge branches 'doc.2014.09.07a', 'fixes.2014.09.10a', 'nocb-nohz.2014.09.16b' and 'torture.2014.09.07a' into HEAD doc.2014.09.07a: Documentation updates. fixes.2014.09.10a: Miscellaneous fixes. nocb-nohz.2014.09.16b: No-CBs CPUs and NO_HZ_FULL updates. torture.2014.09.07a: Torture-test updates. commit c847f14217d5aec5336272a54a32ffcf6e06ddcb Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 13:54:21 2014 -0700 rcu: Avoid misordering in nocb_leader_wait() The NOCB follower wakeup ordering depends on the store to the tail pointer happening before the wakeup. However, because atomic_long_add() does not return a value, it does not provide ordering guarantees, and the locking in wake_up() only guarantees that the store will happen before the unlock, which might be too late. Even though this is only a theoretical issue, this commit adds a smp_mb__after_atomic() after the final atomic_long_add() to provide the needed ordering guarantee. Reported-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 1772947bd0126661866069157e95197e9c0020e9 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:27:31 2014 -0700 rcu: Handle NOCB callbacks from irq-disabled idle code If an RCU callback is queued on a no-CBs CPU from idle code with irqs disabled, and if that CPU stays idle forever after, the callback will never be invoked. This commit therefore adds a check for this situation in ____call_rcu_nocb(), invoking the RCU core solely for the purpose of the ensuing return-to-idle transition. (If the CPU doesn't return to idle, the next scheduling-clock interrupt will fix things up.) Reported-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 39953dfd40077c7480b1d5deb4d617e086b1c865 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 10:47:48 2014 -0700 rcu: Avoid misordering in __call_rcu_nocb_enqueue() The NOCB leader wakeup ordering depends on the store to the header happening before the check for the leader already being awake. However, because atomic_long_add() does not return a value, it does not provide ordering guarantees, the incorrect comment in wake_nocb_leader() notwithstanding. This commit therefore adds a smp_mb__after_atomic() after the final atomic_long_add() to provide the needed ordering guarantee. Reported-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 663e131090dd10bac9dc0b4f5b624dd3211b20f6 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 21 11:34:33 2014 -0700 rcu: Don't track sysidle state if no nohz_full= CPUs If there are no nohz_full= CPUs, then there is currently no reason to track sysidle state. This commit therefore short-circuits this state tracking if !tick_nohz_full_enabled(). Note that these checks will need to be revisited if nohz_full= state can ever be changed at runtime. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 417e8d26557c4264a484d78a7491316751afa46f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 21 11:26:54 2014 -0700 rcu: Eliminate redundant rcu_sysidle_state variable Now that we have rcu_state_p, which references rcu_preempt_state for TREE_PREEMPT_RCU and rcu_sched_state for TREE_RCU, we don't need a separate rcu_sysidle_state variable. This commit therefore eliminates rcu_preempt_state in favor of rcu_state_p. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 22c2f669611590b428647ac9a73bc63ef3989d4b Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Thu Jul 17 20:11:01 2014 -0400 rcu: Check for have_rcu_nocb_mask instead of rcu_nocb_mask If we configure a kernel with CONFIG_NOCB_CPU=y, CONFIG_RCU_NOCB_CPU_NONE=y and CONFIG_CPUMASK_OFFSTACK=n and do not pass in a rcu_nocb= boot parameter, the cpumask rcu_nocb_mask can be garbage instead of NULL. Hence this commit replaces checks for rcu_nocb_mask == NULL with a check for have_rcu_nocb_mask. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 35ce7f29a44a888c45c0a9f202f69e10613c5306 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 11 11:30:24 2014 -0700 rcu: Create rcuo kthreads only for onlined CPUs RCU currently uses for_each_possible_cpu() to spawn rcuo kthreads, which can result in more rcuo kthreads than one would expect, for example, derRichard reported 64 CPUs worth of rcuo kthreads on an 8-CPU image. This commit therefore creates rcuo kthreads only for those CPUs that actually come online. This was reported by derRichard on the OFTC IRC network. Reported-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 9386c0b75dda05f535a10ea1abf1817fe292c81c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 13 12:00:53 2014 -0700 rcu: Rationalize kthread spawning Currently, RCU spawns kthreads from several different early_initcall() functions. Although this has served RCU well for quite some time, as more kthreads are added a more deterministic approach is required. This commit therefore causes all of RCU's early-boot kthreads to be spawned from a single early_initcall() function. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit f4aa84ba24872e3a8e59b58bc8533cae95597f2e Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:17 2014 -0400 rcu: Return false instead of 0 in rcu_nocb_adopt_orphan_cbs() Return false instead of 0 in rcu_nocb_adopt_orphan_cbs() as this has bool as return type. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 4afc7e269befc7b6e09a994e48c67e36f4a378e1 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:16 2014 -0400 rcu: Use false for return in __call_rcu_nocb() Return false instead of 0 in __call_rcu_nocb() as this has bool as return type. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 0a9e1e111b3a9e1c21d2dd27ca361cd9601d99af Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:15 2014 -0400 rcu: Use true/false for return in rcu_nocb_adopt_orphan_cbs() Return true/false in rcu_nocb_adopt_orphan_cbs() instead of 0/1 as this function has return type of bool. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit c271d3a957384a162f7a6aae53455d8e8afd1f3e Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:14 2014 -0400 rcu: Use true/false for return in __call_rcu_nocb() Return true/false instead of 0/1 in __call_rcu_nocb() as this returns a bool type. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 949cccdbe6d286544ce3fe170298183eb7ada81c Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Jul 25 16:02:07 2014 -0700 rcu: Check the return value of zalloc_cpumask_var() This commit checks the return value of the zalloc_cpumask_var() used for allocating cpumask for rcu_nocb_mask. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit f4579fc57cf4244057b713b1f73f4dc9f0b11e97 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 25 11:21:47 2014 -0700 rcu: Fix attempt to avoid unsolicited offloading of callbacks Commit b58cc46c5f6b (rcu: Don't offload callbacks unless specifically requested) failed to adjust the callback lists of the CPUs that are known to be no-CBs CPUs only because they are also nohz_full= CPUs. This failure can result in callbacks that are posted during early boot getting stranded on nxtlist for CPUs whose no-CBs property becomes apparent late, and there can also be spurious warnings about offline CPUs posting callbacks. This commit fixes these problems by adding an early-boot rcu_init_nohz() that properly initializes the no-CBs CPUs. Note that kernels built with CONFIG_RCU_NOCB_CPU_ALL=y or with CONFIG_RCU_NOCB_CPU=n do not exhibit this bug. Neither do kernels booted without the nohz_full= boot parameter. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit bee1cef6011c308352c4d428922449953ffb257b Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 18:59:36 2014 +0200 ARM: dts: rockchip: fix rk3188 emmc pull references Fix a copy'n'paste error making the rk3188 emmc pinctrl nodes reference the pcfg_pull_default setting that is not available on rk3188. Reported-by: Naoki FUKAUMI <naobsd@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit dd7e71fbeefe9179b94eed81f8b33da06b9bf062 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 17:54:01 2014 +0200 regulator: fan53555: use set_ramp_delay to set the ramp up slew rate The regulator constraints already provide a field for the ramp_delay, so there is no need to set this manually. Therefore implement the set_ramp_delay callback and convert the pdata value to the constraint value if necessary. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f29a43206ae1adfadbb344f5ef9bc200784f9d61 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 16 14:04:14 2014 +0300 regmap: cache: Do not fail silently from regcache_sync calls Call stack of regcache_sync calls may not emit any error message even if operation was cancelled due an error in I/O driver. One such a silent error is for instance if I2C bus driver doesn't receive ACK from the I2C device and returns -EREMOTEIO. Since many users of regcache_sync() don't check and print the error there is no any indication that HW registers are potentially out of sync. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 66fa6cf29fc67ecbc42efd632c2310688530e441 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 18:53:10 2014 +0200 ARM: dts: rockchip: fix swapped Radxa Rock pinctrl references The host and otg regulator pinctrl settings got swapped, making the host reference the otg pinctrl and the other way round. The actual pins are correct (gpio0-3 for host and gpio2-31 for otg). Reported-by: Naoki FUKAUMI <naobsd@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 2be01d29f8555d5afe0c7c4bea6b306b0c31f17f Author: Oscar Utbult <oscar@xxxxxxx> Date: Tue Sep 16 12:52:13 2014 +0200 spi-summary: documentation mistake Contributors are not listed in alphabetical order as claimed by documentation. Signed-off-by: Oscar Utbult <oscar@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 050c0eaedfdcbc7f7b7f5a8d7ef02899f2ac1ba6 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 15 15:18:50 2014 +0200 ARM: at91: remove board file for Acme Systems Fox G20 As Acme Systems Fox G20 is available in Device Tree flavor and that we plan to remove all the board files soon, we can remove this one without problem. If you use this board, please use a DT-enabled at91sam9g20 kernel with at91-foxg20.dts. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Sergio Tanzilli <tanzilli@xxxxxxxxxxxxxx> commit 3b8155d582968f79a62c79358d5e137f99f04407 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Mon Sep 15 19:05:33 2014 +0800 arcmsr: simplify of updating doneq_index and postq_index Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b4eb6ae9075a958ffe24620f985f6bd729a1b138 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:28:36 2014 +0800 arcmsr: call scsi_scan_host at the end of host initialization Call scsi_scan_host at the end of host initialization and fix and error path to free allocated resource. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5b37479adee7164b17b6e2030b9a30d04583eb61 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:25:22 2014 +0800 arcmsr: add support new adapter ARC12x4 series Add code to support the new Areca Raid ARC12x4 series adapters. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit aaa64f69480bcde4e203584dfc77d7e4ffb737d6 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:22:45 2014 +0800 arcmsr: modify some character strings Revise comment and some character strings. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c10b1d544aaaf98ab1792845c106471ee1ee0c05 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:20:31 2014 +0800 arcmsr: fix sparse warnings and errors Fix sparse utility checking errors and warnings. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit bb263c4ecbb186fe394c6c9acc32d8c59b6a7bdd Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:17:45 2014 +0800 arcmsr: fix ioctl data read/write error for adapter type C Rewrite ioctl entry and its relate function. This patch fix ioctl data read/write error and change data I/O access from byte to Dword. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6e38adfc58406e7ea6f6701c49abaf046ce076a8 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:14:14 2014 +0800 arcmsr: revise allocation of second dma_coherent_handle for type B This modification is for consistency with upcoming adapter type D. Both adapter type B and D have similar H/W and S/W structure. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 626fa32c801ed583594831051ff9fd56f2e6d261 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:10:12 2014 +0800 arcmsr: rename functions and variables Rename some variable and function names for readability and consistency. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5eb6bfa02a9dfecbb1f644a0b13b16cd3d23770b Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:07:35 2014 +0800 arcmsr: clear outbound doorbell buffer completely Clear outbound doorbell buffer completely for adapter type C. This is to prevent getting bad data input from IOP before ioctl command processing starts. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a2c89bbccac476d42a8526c0c59d081d9e56d0a8 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:03:55 2014 +0800 arcmsr: modify printing adapter model number and F/W messages Adjust printing order of adapter model name and firmware version. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a5849726bc88506e84e5754d6bfde81ba091f24d Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:01:28 2014 +0800 arcmsr: remove calling arcmsr_hbb_enable_driver_mode Remove calling arcmsr_hbb_enable_driver_mode by in-lining the code into the caller. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 12aad94792718c6a79bbd395a650caff85f76ae4 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:59:00 2014 +0800 arcmsr: revise message_isr_bh_fn to remove duplicate code Revise message_isr_bh_fn to remove the duplicate code for each adapter type. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 8b7c994298d7a18f45a9cec2e9b496d9784b1135 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:55:57 2014 +0800 arcmsr: store adapter type in PCI id table Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit cab5aecee60a7930ca208ee723c18be7b400cfaf Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:47:16 2014 +0800 arcmsr: return status of abort command This patch fixes the wrong return status of abort command. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 3df824aff935444601101cc329ebe3f52e126a4e Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:29:41 2014 +0800 arcmsr: limit max. number of SCSI command request This patch limits the max. number of SCSI commmand request to avoid command overflow. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 61cda87f33be22828c3b52863da1c456ba108d37 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:26:09 2014 +0800 arcmsr: add code to support hibernation This patch adds code to support system hibernation. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1d1166ea16ac7047a1b01f20dcbcc6f7754c3c23 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:23:31 2014 +0800 arcmsr: add code to support MSI-X and MSI interrupt This patch adds code to support MSI and MSI-X interrupt. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6b3937227479e50032112faf74bd913f36dba2c6 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:18:24 2014 +0800 arcmsr: fix command timeout under heavy load This patch rewrites the interrupt service routine relate function to fix a command timeout under heavy controller load. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d3e4f41973753a7768a5728be53c7d9a3fdf86cb Merge: 1c9c115 757932e Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:38:07 2014 +0100 Merge tag 'keys-pkcs7-20140916' into keys-next Changes for next to improve the matching of asymmetric keys and to improve the handling of PKCS#7 certificates: (1) Provide a method to preparse the data supplied for matching a key. This permits they key type to extract out the bits it needs for matching once only. Further, the type of search (direct lookup or iterative) can be set and the function used to actually check the match can be set by preparse rather than being hard coded for the type. (2) Improves asymmetric keys identification. Keys derived from X.509 certs now get labelled with IDs derived from their issuer and certificate number (required to match PKCS#7) and from their SKID and subject (required to match X.509). IDs are now binary and match criterion preparsing is provided so that criteria can be turned into binary blobs to make matching faster. (3) Improves PKCS#7 message handling to permit PKCS#7 messages without X.509 cert lists to be matched to trusted keys, thereby allowing minimally sized PKCS#7 certs to be used. (4) Improves PKCS#7 message handling to better handle certificate chains that are broken due to unsupported crypto that can otherwise by used to intersect a trust keyring. These must go on top of the PKCS#7 parser cleanup fixes. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 757932e6da6de05b91cc4cb85493b17de48c2667 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:17 2014 +0100 PKCS#7: Handle PKCS#7 messages that contain no X.509 certs The X.509 certificate list in a PKCS#7 message is optional. To save space, we can omit the inclusion of any X.509 certificates if we are sure that we can look the relevant public key up by the serial number and issuer given in a signed info block. This also supports use of a signed info block for which we can't find a matching X.509 cert in the certificate list, though it be populated. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 41559420003cfe99522257dded7793192c77b4e9 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:15 2014 +0100 PKCS#7: Better handling of unsupported crypto Provide better handling of unsupported crypto when verifying a PKCS#7 message. If we can't bridge the gap between a pair of X.509 certs or between a signed info block and an X.509 cert because it involves some crypto we don't support, that's not necessarily the end of the world as there may be other ways points at which we can intersect with a ring of trusted keys. Instead, only produce ENOPKG immediately if all the signed info blocks in a PKCS#7 message require unsupported crypto to bridge to the first X.509 cert. Otherwise, we defer the generation of ENOPKG until we get ENOKEY during trust validation. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 46963b774d441c833afc1535f6d84b3df2a94204 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:13 2014 +0100 KEYS: Overhaul key identification when searching for asymmetric keys Make use of the new match string preparsing to overhaul key identification when searching for asymmetric keys. The following changes are made: (1) Use the previously created asymmetric_key_id struct to hold the following key IDs derived from the X.509 certificate or PKCS#7 message: id: serial number + issuer skid: subjKeyId + subject authority: authKeyId + issuer (2) Replace the hex fingerprint attached to key->type_data[1] with an asymmetric_key_ids struct containing the id and the skid (if present). (3) Make the asymmetric_type match data preparse select one of two searches: (a) An iterative search for the key ID given if prefixed with "id:". The prefix is expected to be followed by a hex string giving the ID to search for. The criterion key ID is checked against all key IDs recorded on the key. (b) A direct search if the key ID is not prefixed with "id:". This will look for an exact match on the key description. (4) Make x509_request_asymmetric_key() take a key ID. This is then converted into "id:<hex>" and passed into keyring_search() where match preparsing will turn it back into a binary ID. (5) X.509 certificate verification then takes the authority key ID and looks up a key that matches it to find the public key for the certificate signature. (6) PKCS#7 certificate verification then takes the id key ID and looks up a key that matches it to find the public key for the signed information block signature. Additional changes: (1) Multiple subjKeyId and authKeyId values on an X.509 certificate cause the cert to be rejected with -EBADMSG. (2) The 'fingerprint' ID is gone. This was primarily intended to convey PGP public key fingerprints. If PGP is supported in future, this should generate a key ID that carries the fingerprint. (3) Th ca_keyid= kernel command line option is now converted to a key ID and used to match the authority key ID. Possibly this should only match the actual authKeyId part and not the issuer as well. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 7901c1a8effbe5f89673bfc09d6e37b8f334f1a7 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:11 2014 +0100 KEYS: Implement binary asymmetric key ID handling Implement the first step in using binary key IDs for asymmetric keys rather than hex string keys. The previously added match data preparsing will be able to convert hex criterion strings into binary which can then be compared more rapidly. Further, we actually want more then one ID string per public key. The problem is that X.509 certs refer to other X.509 certs by matching Issuer + AuthKeyId to Subject + SubjKeyId, but PKCS#7 messages match against X.509 Issuer + SerialNumber. This patch just provides facilities for a later patch to make use of. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit f93b3cc7b1e6f16aedd745a8edba64355383184c Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:09 2014 +0100 KEYS: Update the keyrings documentation for match changes Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 0c903ab64feb0fe83eac9f67a06e2f5b9508de16 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:08 2014 +0100 KEYS: Make the key matching functions return bool Make the key matching functions pointed to by key_match_data::cmp return bool rather than int. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit c06cfb08b88dfbe13be44a69ae2fdc3a7c902d81 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:06 2014 +0100 KEYS: Remove key_type::match in favour of overriding default by match_preparse A previous patch added a ->match_preparse() method to the key type. This is allowed to override the function called by the iteration algorithm. Therefore, we can just set a default that simply checks for an exact match of the key description with the original criterion data and allow match_preparse to override it as needed. The key_type::match op is then redundant and can be removed, as can the user_match() function. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 614d8c39014c185aa0f7254f0a470cc33fc1b284 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:04 2014 +0100 KEYS: Remove key_type::def_lookup_type Remove key_type::def_lookup_type as it's no longer used. The information now defaults to KEYRING_SEARCH_LOOKUP_DIRECT but may be overridden by type->match_preparse(). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 462919591a1791e76042dc5c1e0148715df59beb Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:02 2014 +0100 KEYS: Preparse match data Preparse the match data. This provides several advantages: (1) The preparser can reject invalid criteria up front. (2) The preparser can convert the criteria to binary data if necessary (the asymmetric key type really wants to do binary comparison of the key IDs). (3) The preparser can set the type of search to be performed. This means that it's not then a one-off setting in the key type. (4) The preparser can set an appropriate comparator function. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 53d91c5ce0cb8945b55e8bb54e551cabc51eb28d Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:01 2014 +0100 Provide a binary to hex conversion function Provide a function to convert a buffer of binary data into an unterminated ascii hex string representation of that data. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 1c9c115ccc76d313f1a9232ffb903de325b64943 Merge: 68c45c7 15155b9 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:32:55 2014 +0100 Merge tag 'keys-next-fixes-20140916' into keys-next Merge in keyrings fixes for next: (1) Insert some missing 'static' annotations. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 68c45c7feaf1a8adebc6d9d77aa0a2018d974085 Merge: ac60ab4 cecf5d2 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:32:16 2014 +0100 Merge tag 'keys-fixes-20140916' into keys-next Merge in keyrings fixes, at least some of which later patches depend on: (1) Reinstate the production of EPERM for key types beginning with '.' in requests from userspace. (2) Tidy up the cleanup of PKCS#7 message signed information blocks and fix a bug this made more obvious. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit cecf5d2e1208da512a4c951c24acd66c54a4d06c Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:29:03 2014 +0100 PKCS#7: Fix the parser cleanup to drain parsed out X.509 certs Fix the parser cleanup code to drain parsed out X.509 certs in the case that the decode fails and we jump to error_decode. The function is rearranged so that the same cleanup code is used in the success case as the error case - just that the message descriptor under construction is only released if it is still pointed to by the context struct at that point. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 3cd0920cde6a726b9965b60184f9d5a54358304d Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:29:03 2014 +0100 PKCS#7: Provide a single place to do signed info block freeing The code to free a signed info block is repeated several times, so move the code to do it into a function of its own. This gives us a place to add clean ups for stuff that gets added to pkcs7_signed_info. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 54e2c2c1a9d6cbb270b0999a38545fa9a69bee43 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:29:03 2014 +0100 KEYS: Reinstate EPERM for a key type name beginning with a '.' Reinstate the generation of EPERM for a key type name beginning with a '.' in a userspace call. Types whose name begins with a '.' are internal only. The test was removed by: commit a4e3b8d79a5c6d40f4a9703abf7fe3abcc6c3b8d Author: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Date: Thu May 22 14:02:23 2014 -0400 Subject: KEYS: special dot prefixed keyring name bug fix I think we want to keep the restriction on type name so that userspace can't add keys of a special internal type. Note that removal of the test causes several of the tests in the keyutils testsuite to fail. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> cc: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 0d9d8b9ff4453e4816b22bf729256feb6b38e0ec Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:58:03 2014 +0530 megaraid_sas : Driver version update Resending the patch. Addressed the review comments by Tomas Henzl. Driver version upgrade patch. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 90dc9d98f01bdfe6d75853311195c6279886f3b8 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:58 2014 +0530 megaraid_sas : MFI MPT linked list corruption fix Resending the patch. Addressed the review comments from Tomas Henzl. Added comment for to-do work. Problem statement: MFI link list in megaraid_sas driver is used from mfi-mpt pass-through commands. This list can be corrupted due to many possible race conditions in driver and eventually we may see kernel panic. One example - MFI frame is freed from calling process as driver send command via polling method and interrupt for that command comes after driver free mfi frame (actually even after some other context reuse the mfi frame). When driver receive MPT frame in ISR, driver will be using the index of MFI and access that MFI frame and finally in-used MFI frameâ??s list will be corrupted. High level description of new solution - Free MFI and MPT command from same context. Free both the command either from process (from where mfi-mpt pass-through was called) or from ISR context. Do not split freeing of MFI and MPT, because it creates the race condition which will do MFI/MPT list corruption. Renamed the cmd_pool_lock which is used in instance as well as fusion with below name. mfi_pool_lock and mpt_pool_lock to add more code readability. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 44caf7648064502fd1d37d18443ae92c064ebadd Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Tue Sep 16 11:37:39 2014 +0800 ASoC: rt5677: Add the GPIO function The patch adds the GPIO function. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d2552ebe885314d3c8352e35f2fae2a7478ac778 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:53 2014 +0530 megaraid_sas : N-drive primary raid level 1 load balancing Resending the patch. Addressed the review comments from Tomas Henzl. Current driver does fast path read load balancing between arm and mirror disk for two Drive Raid-1 configuration only. Now, Driver support fast path read load balancing for all (any number of disk) Raid-1 configuration. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit ac95136ad40fc72c4842fee1ef002390ad96bfa0 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:48 2014 +0530 megaraid_sas : Add module parameter to disable IRQ-CPU affinity hint Resending the patch. Addressed the review comments from Tomas Henzl. For certain deployment, we may need to disable irq cpu affinity hint. This module parameter provides option for use to disable irq cpu affinity hint and allow irqbalancer to handle the rest. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a5fd2858e21af03555751124347e509b19c7b6f3 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:43 2014 +0530 megaraid_sas : Round down max sge supported by controller to power of two Resending the patch. Addressed the review comments from Tomas Henzl. Round down the max sge to power of two. Earlier max sge limit is 70 SGE, which will allow block layer to send 280K IO frame. It is optimal to provide max IO size aligned to the smallest possible stripe size. E.a Consider that we have configured RAID Volumes which does not allow Fast Path across the stripe. Raid volume with stripe size = 256K, will have peformance hit if we get io frame of size 280K. Driver will not send IO frame large than stripe size to the Fast Path. Also, FW will convert 280K frame into 256K + 24K. This is an additional overhead. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit fb1a24ff65cec6aecd28caff4e6565591182e381 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:38 2014 +0530 megaraid_sas : Host lock less mode to enabled asynchronous IO submission Resending the patch. Addressed the review comments from Tomas Henzl. Megaraid_sas driver can now work in host lock less mode. Remove host lock less as megaraid_sas driver will have safer access to raid map as described in earlier patch. We now keep Driver Raid map copy, which will make sure that driver will always have old or new map Driver raid map will be replaced safely in MR_PopulateDrvRaidMap(), so there is no issue even if IO is continue from the scsi mid layer. There is a plan to remove "host_lock" and "hba_lock" usage from megaraid_sas in future. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 51087a8617fef1fb15e5b7a8805cfbab3583944d Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:33 2014 +0530 megaraid_sas : Extended VD support Resending the patch. Addressed the review comments from Tomas Henzl. reserved1 field(part of union) of Raid map struct was not required so it is removed. Current MegaRAID firmware and hence the driver only supported 64VDs. E.g: If the user wants to create more than 64VD on a controller, it is not possible on current firmware/driver. New feature and requirement to support upto 256VD, firmware/driver/apps need changes. In addition to that there must be a backward compatibility of the new driver with the older firmware and vice versa. RAID map is the interface between Driver and FW to fetch all required fields(attributes) for each Virtual Drives. In the earlier design driver was using the FW copy of RAID map where as in the new design the Driver will keep the RAID map copy of its own; on which it will operate for any raid map access in fast path. Local driver raid map copy will provide ease of access through out the code and provide generic interface for future FW raid map changes. For the backward compatibility driver will notify FW that it supports 256VD to the FW in driver capability field. Based on the controller properly returned by the FW, the Driver will know whether it supports 256VD or not and will copy the RAID map accordingly. At any given time, driver will always have old or new Raid map. So with this changes, driver can also work in host lock less mode. Please see next patch which enable host lock less mode for megaraid_sas driver. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit fc62b3fc9021526d096d940ec62e74af72eb1e10 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:28 2014 +0530 megaraid_sas : Firmware crash dump feature support Resending the patch. Addressed the review comments from Tomas Henzl. Move buff_offset inside spinlock, corrected loop at crash dump buffer free, reset_devices check is added to disable fw crash dump feature in kdump kernel. This feature will provide similar interface as kernel crash dump feature. When megaraid firmware encounter any crash, driver will collect the firmware raw image and dump it into pre-configured location. Driver will allocate two different segment of memory. #1 Non-DMA able large buffer (will be allocated on demand) to capture actual FW crash dump. #2 DMA buffer (persistence allocation) just to do a arbitrator job. Firmware will keep writing Crash dump data in chucks of DMA buffer size into #2, which will be copy back by driver to the host memory as described in #1. Driver-Firmware interface: ================== A.) Host driver can allocate maximum 512MB Host memory to store crash dump data. This memory will be internal to the host and will not be exposed to the Firmware. Driver may not be able to allocate 512 MB. In that case, driver will do possible memory (available at run time) allocation to store crash dump data. Letâ??s call this buffer as Host Crash Buffer. Host Crash buffer will not be contigious as a whole, but it will have multiple chunk of contigious memory. This will be internal to driver and firmware/application are unaware of it. Partial allocation of Host Crash buffer may have valid information to debug depending upon what was collected in that buffer and depending on nature of failure. Complete Crash dump is the best case, but we do want to capture partial buffer just to grab something rather than nothing. Host Crash buffer will be allocated only when FW Crash dump data is available, and will be deallocated once application copy Host Crash buffer to the file. Host Crash buffer size can be anything between 1MB to 512MB. (It will be multiple of 1MBs) B.) Irrespective of underlying Firmware capability of crash dump support, driver will allocate DMA buffer at start of the day for each MR controllers. Letâ??s call this buffer as â??DMA Crash Bufferâ??. For this feature, size of DMA crash buffer will be 1MB. (We will not gain much even if DMA buffer size is increased.) C.) Driver will now read Controller Info sending existing dcmd â??MR_DCMD_CTRL_GET_INFOâ??. Driver should extract the information from ctrl info provided by firmware and figure out if firmware support crash dump feature or not. Driver will enable crash dump feature only if â??Firmware support Crash dumpâ?? + â??Driver was able to create DMA Crash Bufferâ??. If either one from above is not set, Crash dump feature should be disable in driver. Firmware will enable crash dump feature only if â??Driver Send DCMD- MR_DCMD_SET_CRASH_BUF_PARA with MR_CRASH_BUF_TURN_ONâ?? Helper application/script should use sysfs parameter fw_crash_xxx to actually copy data from host memory to the filesystem. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit db4fc864ae2a27153f7f0c2af169ad4447cb82bc Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:23 2014 +0530 megaraid_sas : Update threshold based reply post host index register Resending the patch. Addressed the review comments from Tomas Henzl. Current driver updates reply post host index to let firmware know that replies are processed, while returning from ISR function, only if there is no oustanding replies in reply queue. Driver will free the request frame immediately from ISR but reply post host index is not yet updated. It means freed request can be used by submission path and there may be a tight loop in request/reply path. In such condition, firmware may crash when it tries to post reply and there is no free reply post descriptor. Eventually two things needs to be change to avoid this issue. Increase reply queue depth (double than request queue) to accommodate worst case scenario. Update reply post host index to firmware once it reach to some pre-defined threshold value. This change will make sure that firmware will always have some buffer of reply descriptor and will never find empty reply descriptor in completion path. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 0756040952582c4e7c2f23ff2af882c0f0c7a516 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:18 2014 +0530 megaraid_sas : Use writeq for 64bit pci write to avoid spinlock overhead Resending the patch. Addressed the review comments from Tomas Henzl. Reduce the assingment for u64 req_data variable. Use writeq() for 64bit PCI write instead of writel() to avoid additional lock overhead. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 07e38d94ef3646ccee4f222ae1f3033bb37f7fa0 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:13 2014 +0530 megaraid_sas : Do not scan non syspd drives Resending the patch. Addressed the review comments from Tomas Henzl. Current driver allow device scan for all the devices on channel 0 and 1. E.a If we have two single drive raid volumes, we may see prints like below. First two prints are for physical device which are used to form VD. Prints like this creates confusion as it is really not required to scan any hidden physical devices. scsi1 : LSI SAS based MegaRAID driver scsi 1:0:0:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 scsi 1:0:1:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 scsi 1:2:0:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 scsi 1:2:1:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 When slave_alloc called, sdev-type will not be set, so current code will always return "0" in slave_alloc callback. This patch make sure that driver return "-ENXIO" for non-syspd devices. After this patch, we will see prints in syslog only for devices which are exposed. For current example, below print will be available in syslog. scsi1 : LSI SAS based MegaRAID driver scsi 1:2:0:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 scsi 1:2:1:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b65f1d4da7df44835bd0a2452332e253a5c66d9b Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:33 2014 +0530 mpt3sas, mpt2sas: fix scsi_add_host error handling problems in _scsih_probe In _scsih_probe, propagate the return value from scsi_add_host. In mpt3sas, avoid calling list_del twice if that returns an error, which causes list_del corruption warnings if an error is returned. Tested with blk-mq and scsi-mq patches to properly cleanup from and propagate blk_mq_init_rq_map errors. Signed-off-by: Robert Elliott <elliott@xxxxxx> Acked-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 70d8c86ebeaca552801500d20d5f2c6cc235cabd Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:32 2014 +0530 mpt3sas: Bump mpt3sas driver version to 04.100.00.00 Bump mpt3sas driver version to 04.100.00.00. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9b05c91ae7fbff96864ca7656d81d5980996e8f4 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:31 2014 +0530 mpt3sas: Added Reply Descriptor Post Queue (RDPQ) Array support Up to now, Driver allocates a single contiguous block of memory pool for all reply queues and passes down a single address in the ReplyDescriptorPostQueueAddress field of the IOC Init Request Message to the firmware. When firmware receives this address, it will program each of the Reply Descriptor Post Queue registers, as each reply queue has its own register. Thus the firmware, starting from a base address it determines the starting address of the subsequent reply queues through some simple arithmetic calculations. The size of this contiguous block of memory pool is directly proportional to number of MSI-X vectors and the HBA queue depth. For example higher MSIX vectors requires larger contiguous block of memory pool. But some of the OS kernels are unable to allocate this larger contiguous block of memory pool. So, the proposal is to allocate memory independently for each Reply Queue and pass down all of the addresses to the firmware. Then the firmware will just take each address and program the value into the correct register. When HBAs with older firmware(i.e. without RDPQ capability) is used with this new driver then the max_msix_vectors value would be set to 8 by default. Change set in v1: 1. Declared the _base_get_ioc_facts() functions at the beginning of the mpt3sas_base.c file instead of moving all these functions before mpt3sas_base_map_resources() function a. _base_wait_for_doorbell_int() b. _base_wait_for_doorbell_ack() c. _base_wait_for_doorbell_not_used() d. _base_handshake_req_reply_wait() e. _base_get_ioc_facts() 2. Initially set the consistent DMA mask to 32 bit and then change it to 64 bit mask after allocating RDPQ pools by calling the function _base_change_consistent_dma_mask. This is to ensure that all the upper 32 bits of RDPQ entries's base address to be same. 3. Reduced the redundancy between the RDPQ and non-RDPQ support in these following functions a. _base_release_memory_pools() b. _base_allocate_memory_pools() c. _base_send_ioc_init() d. _base_make_ioc_operational() Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1117b31a6fa411f9e367bfff1721e8f33f5b2d66 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:30 2014 +0530 mpt3sas: Added OEM branding Strings Added following branding Strings for Intel custom HBAs support. Driver String: Vendor ID Device ID SubSystemVendor ID SubSystemDevice ID Intel(R) Integrated RAID Module RMS3JC080 0x1000 0x0097 0x8086 0x3521 Intel(R) RAID Controller RS3GC008 0x1000 0x0097 0x8086 0x3522 Intel(R) RAID Controller RS3FC044 0x1000 0x0097 0x8086 0x3523 Intel(R) RAID Controller RS3UC080 0x1000 0x0097 0x8086 0x3524 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a4ffce0d63e0683060fee6bc269f7b0b12c9700a Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:29 2014 +0530 mpt3sas: Copyright in driver sources is updated for year the 2014. Copyright in driver sources is updated for year the 2014. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4c8bab4d891fac7b44a8e26ec043c42bc910b391 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:28 2014 +0530 mpt3sas: MPI2.5 Rev H (2.5.3) specifications Below is the change set in MPI2.5 Rev H specification and 2.00.32 header files 1) Added reserved fields to IO Unit Page 7 for future use. 2) Added optional functionality to IOCInit Request so that the host may specify a separate base address for each Reply Descriptor Post Queue. IOC support for this is indicated using a new IOCCapabilities bit in the IOCFacts Reply. 3) Added Toolbox Console Text Display Tool The host uses the Console Text Display Tool to send a string to IOC's Console using different console types (eg: UART serial terminal or Ethernet terminal). 4) Firmware images can now be signed using an encrypted hash. 5) Added MPI2_SAS_OP_TRANSMIT_PORT_SELECT_SIGNAL 6) Added more details about configuration page restrictions when Host Based Discovery is enabled Enabling host based discovery affects the availability of some configuration pages and events. The SAS Expander, SAS Device, and SAS Enclosure configuration pages are not available from the IOC. The IOC returns an error status to any Configuration Request message attempting to access these pages. The IOC does not send the SAS Discovery Event, the SAS Topology Change List Event, or the SAS Enclosure Device Status Change Event when host based discovery is enabled. 7) Bit 13 of the SAS IO Unit Page 1 ControlFlags field is now obsolete. It was used to enable limiting direct attached SATA maximum link rate to 1.5 Gbps. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit bd0a791ce281062f29ac984dcb64c960e24d2b0d Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:27 2014 +0530 mpt3sas: Bump mpt3sas driver version to 03.100.00.00 Bump mpt3sas driver version to 03.100.00.00. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 0f624c391ecbf18e69b20d681f7e3c52b4ef02c1 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:26 2014 +0530 mpt3sas: Clear PFA Status on SGPIO when PFA Drive is Removed or Replaced Added code to send an SEP message that turns off the Predictive Failure LED when a drive is removed (if Predictive Failure LED was turned on). Added a new flag 'pfa_led_on' per device that tracks the status of Predictive Failure LED. When the drive is removed, this flag is checked and sends an SEP message to turn off the respective Predictive Failure LED. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 861ff736c8d8ae574dcc1ef81e5da84ff85e70c9 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:25 2014 +0530 mpt3sas: MPI2.5 Rev G (2.5.2) specifications Below is the change set in MPI2.5 Rev G specification and 2.00.31 header files 1) Added SCSIStatusQualifier to SCSI IO Error Reply message. 2) Added ATA Security Freeze Lock to IO Unit Page 1 Flags field. 3) Added Allow Protection Information bit for IR Volume Create. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9b2dcba3aa2287cbd08d1b987fec7a0fd8a0ecb1 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:24 2014 +0530 mpt2sas: Bump mpt2sas driver version to 18.100.00.00 Bump mpt2sas driver version to 18.100.00.00. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a66dd970c7808f0a3453bbc38b39553f6eafd994 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:23 2014 +0530 mpt2sas: Get IOC_FACTS information using handshake protocol only after HBA card gets into READY or Operational state. Driver initialization fails if driver tries to send IOC facts request message when the IOC is in reset or in a fault state. This patch will make sure that 1.Driver to send IOC facts request message only if HBA is in operational or ready state. 2.If IOC is in fault state, a diagnostic reset would be issued. 3.If IOC is in reset state then driver will wait for 10 seconds to exit out of reset state. If the HBA continues to be in reset state, then the HBA wouldn't be claimed by the driver. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5fb1bf8aaa832e1e9ca3198de7bbecb8eff7db9c Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:22 2014 +0530 mpt2sas: Added Reply Descriptor Post Queue (RDPQ) Array support Up to now, Driver allocates a single contiguous block of memory pool for all reply queues and passes down a single address in the ReplyDescriptorPostQueueAddress field of the IOC Init Request Message to the firmware. When firmware receives this address, it will program each of the Reply Descriptor Post Queue registers, as each reply queue has its own register. Thus the firmware, starting from a base address it determines the starting address of the subsequent reply queues through some simple arithmetic calculations. The size of this contiguous block of memory pool is directly proportional to number of MSI-X vectors and the HBA queue depth. For example higher MSIX vectors requires larger contiguous block of memory pool. But some of the OS kernels are unable to allocate this larger contiguous block of memory pool. So, the proposal is to allocate memory independently for each Reply Queue and pass down all of the addresses to the firmware. Then the firmware will just take each address and program the value into the correct register. When HBAs with older firmware(i.e. without RDPQ capability) is used with this new driver then the max_msix_vectors value would be set to 8 by default. Change_set in v1: 1. Declared _base_get_ioc_facts() function at the beginning of the mpt2sas_base.c file instead of moving all these functions before mpt2sas_base_map_resources() function a. _base_wait_for_doorbell_int() b. _base_wait_for_doorbell_ack() c. _base_wait_for_doorbell_not_used() d. _base_handshake_req_reply_wait() e. _base_get_ioc_facts() 2. Initially set the consistent DMA mask to 32 bit and then change it to 64 bit mask after allocating RDPQ pools by calling the function _base_change_consistent_dma_mask. This is to ensure that all the upper 32 bits of RDPQ entries's base address to be same. 3. Reduced the redundancy between the RDPQ and non-RDPQ support in these following functions a. _base_release_memory_pools() b. _base_allocate_memory_pools() c. _base_send_ioc_init() d. _base_make_ioc_operational() Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit daeaa9df92bd742f4e6d4d6039d689277a8e31bd Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:21 2014 +0530 mpt2sas: Avoid type casting for direct I/O commands A type casting error caused the max volume LBA to be truncated from 64 to 32 bits. The virtual LBA would also get truncated to 32 bits in the case of a 16-byte READ/WRITE command. Rewrite entire function to get rid of code duplication and type casts. Use get/put_unaligned wrappers to extract and replace the LBA field in the MPI request CDB. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Tested-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 49563e1e4b202436a36409f365b0a96796db5aad Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:20 2014 +0530 mpt2sas: Bump mpt2sas driver version to 17.100.00.00 Bump mpt2sas driver version to 17.100.00.00 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit bd58ea3c25dbee16857733f3176dba23c34b64e5 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:19 2014 +0530 mpt2sas: Clear PFA Status on SGPIO when PFA Drive is Removed or Replaced Added code to send a SEP message that turns off the Predictive Failure LED when a drive is removed (if Predictive Failure LED was turned on). Added a new flag 'pfa_led_on' per device that tracks the status of Predictive Failure LED. When the drive is removed, this flag is checked and sends the SEP message to turn off the respective Predictive Failure LED. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e9edbe310dbb745067f7c5761ba91005fb9d60af Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:18 2014 +0530 mpt2sas: Copyright in driver sources is updated for year the 2014 Copyright in driver sources is updated for year the 2014. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit ff4637d6d1f2f4fdf014404b5b4b1d1e4adc6283 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:17 2014 +0530 mpt2sas: MPI2 Rev Y (2.00.17) and Rev Z (2.00.18) specifications Below is the change set in MPI2 Rev Y specification and in 2.00.17 header files 1) Added SCSIStatusQualifier to SCSI IO Error Reply message. 2) Added ATA Security Freeze Lock to IO Unit Page 1 Flags field. Below is the change set in MPI2 Rev Z specification and in 2.00.19 header files 1) Added reserved fields to IO Unit Page 7 for future use. 2) Added optional functionality to IOCInit Request so that the host may specify a separate base address for each Reply Descriptor Post Queue. IOC support for this is indicated using a new IOCCapabilities bit in the IOCFacts Reply. 3) Added Toolbox Console Text Display Tool The host uses the Console Text Display Tool to send a string to IOC's Console using different console types (eg: UART serial terminal or Ethernet terminal). The copyright in the mpi files is updated for year 2014 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4e1f20ae4f92706518d6c18b13da8c2bc28339c7 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:16 2014 +0530 mpt2sas: Added driver module parameter max_msix_vectors Added driver module parameter max_msix_vectors. Using this module parameter the maximum number of MSI-X vectors could be set. The number of MSI-X vectors used would be the minimum of MSI-X vectors supported by the HBA, the number of CPU cores and the value set to max_msix_vectors module parameters. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7c160fac54d81999e1a6df288d77b156705b36f9 Author: Tej Parkash <tej.parkash@xxxxxxxxxx> Date: Mon May 19 07:32:13 2014 -0400 bnx2i: Make boot_nic entry visible in the sysfs session objects Signed-off-by: Tej Parkash <tej.parkash@xxxxxxxxxx> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Acked-by: Eddie Wai <eddie.wai@xxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5565461e30c15525c431814dd612118a78d05992 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Tue Sep 2 14:34:58 2014 -0400 bnx2fc: fix incorrect DMA memory mapping in bnx2fc_unmap_sg_list() This patch is based on a problem and solution from Maurizio Lombardi where bnx2fc isn't consistent in which device struct we using for DMA map and unmap operations. Make them consistent by using dma_sg_unmap in bnx2fc_unmap_sg_list like bnx2fc_map_sg. Reviewed-by: Eddie Wai <eddie.wai@xxxxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit fd10ccfa8dfe740f61471b212c200fbdb5de82f5 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:58:23 2014 -0400 lpfc: update lpfc version to driver version 10.4.8000.0 Update lpfc version to driver version 10.4.8000.0 Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 8c50d25c0edd8ec05a7e069c23f6ac2e50c898b1 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:58:16 2014 -0400 lpfc: fix for handling unmapped ndlp in target reset handler Fix for handling unmapped ndlp in target reset handler Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit eb01656688edd686a80c89281043fe6f2b2af6ff Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:58:06 2014 -0400 lpfc: fix low priority issues from fortify source code scan Fixed Low priority issues from lpfc given by fortify source code scan. Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a2fc4aefa06d8b57b6728c1787c84fb3d3c86354 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:57:55 2014 -0400 lpfc: fix high priority issues from fortify source code scan Fixed High priority issues from lpfc given by fortify source code scan. Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7ba36effb666831ac3803ca5b8aed371e7d17c4e Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:57:43 2014 -0400 lpfc: fix crash from page fault caused by use after rport delete Fix crash from page fault caused by use after rport delete. Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9bd2bff5e7140beab948ad3934f4039246748a24 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:57:30 2014 -0400 lpfc: fix locking issues with abort data paths Fix locking issues with abort data paths Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 12838e74f5164054fd7d5f5201a846ebb9755471 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:57:19 2014 -0400 lpfc: fix race between LOGO/PLOGI handling causing NULL pointer Fix race between LOGO/PLOGI handling causing NULL pointer Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2f6fa2c911167e7a3fda130689a36f55b39ed86d Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:57:08 2014 -0400 lpfc: fix IP Reset processing - wait for RDY before proceeding Fix IP Reset processing - wait for RDY before proceeding Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c62321978f542e82960264f175c9e33d7279bec5 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:56:48 2014 -0400 lpfc: fix quarantined XRI recovery qualifier state in link bounce Fix quarantined XRI recovery qualifier state in link bounce Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit dafe8ceaa89577062c2364139997f04a32f77502 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:56:40 2014 -0400 lpfc: fix discovery timeout during nameserver login Fix discovery timeout during nameserver login Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4f871e1b27a7c7254ead541ad6405f339790b6c5 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Sep 3 12:56:29 2014 -0400 lpfc: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a7901acc4ac0f853d9aff284ff96e4a56ff74aa8 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Wed Sep 3 12:56:20 2014 -0400 lpfc: do not feed jiffies as random seed from lpfc driver In prandom we have already reseeding mechanisms that trigger periodically from a much better entropy source than just feeding in jiffies through lpfc_mbx_cmpl_fcf_scan_read_fcf_rec() [what a function name 8-)]. Therefore, just remove this. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 0d4aec132d8ad6303981db08a52d64b0dbe59e97 Author: Manuel Schölling <manuel.schoelling@xxxxxx> Date: Wed Sep 3 12:55:58 2014 -0400 lpfc: use time_after() To be future-proof and for better readability the time comparisons are modified to use time_after() instead of plain, error-prone math. Signed-off-by: Manuel Schölling <manuel.schoelling@xxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1aee383d5912de15af3045a63a07e98f760f041c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 3 12:56:12 2014 -0400 lpfc: use dma_zalloc_coherent Use the zeroing function instead of dma_alloc_coherent & memset(,0,) Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9ab9b134a86ed9f897a29d2ba5abb93f7b162dca Author: Rashika Kheria <rashika.kheria@xxxxxxxxx> Date: Wed Sep 3 12:55:46 2014 -0400 lpfc: mark function as static in lpfc/lpfc_bsg.c [PATCH 26/55] scsi: Mark function as static in lpfc/lpfc_bsg.c Mark function as static in lpfc/lpfc_bsg.c because it is not used outside this file. This eliminates the following warning in lpfc/lpfc_bsg.c: drivers/scsi/lpfc/lpfc_bsg.c:3348:1: warning: no previous prototype for â??lpfc_bsg_issue_mbox_cmplâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7bfe781edc26b01ebecef58be0aae91058544c9f Author: Rashika Kheria <rashika.kheria@xxxxxxxxx> Date: Wed Sep 3 12:55:36 2014 -0400 lpfc: mark functions as static in lpfc/lpfc_scsi.c Mark functions as static in lpfc/lpfc_scsi.c because they are not used outside this file. This eliminates the following warnings in lpfc/lpfc_scsi.c: drivers/scsi/lpfc/lpfc_scsi.c:299:1: warning: no previous prototype for â??lpfc_change_queue_depthâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_scsi.c:795:1: warning: no previous prototype for â??lpfc_sli4_post_scsi_sgl_listâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_scsi.c:3019:1: warning: no previous prototype for â??lpfc_bg_crcâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_scsi.c:3035:1: warning: no previous prototype for â??lpfc_bg_csumâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_scsi.c:3048:1: warning: no previous prototype for â??lpfc_calc_bg_errâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e399b22881c721626812008e25d930ac4d2bafc4 Author: Rashika Kheria <rashika.kheria@xxxxxxxxx> Date: Wed Sep 3 12:55:28 2014 -0400 lpfc: mark functions as static in lpfc/lpfc_init.c Mark functions as static in lpfc/lpfc_init.c because they are not used outside this file. This eliminates the following warning in lpfc/lpfc_init.c: drivers/scsi/lpfc/lpfc_init.c:652:1: warning: no previous prototype for â??lpfc_hba_init_linkâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_init.c:753:1: warning: no previous prototype for â??lpfc_hba_down_linkâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_init.c:3434:1: warning: no previous prototype for â??lpfc_sli4_fcf_redisc_wait_tmoâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b86a675672e471b495b9de7f240d3786548d25e1 Author: Rashika Kheria <rashika.kheria@xxxxxxxxx> Date: Wed Sep 3 12:55:17 2014 -0400 lpfc: mark functions as static in lpfc/lpfc_hbadisc.c Mark functions as static in lpfc/lpfc_hbadisc.c because they are not used outside this file. This eliminates the following warnings in lpfc/lpfc_hbadisc.c: drivers/scsi/lpfc/lpfc_hbadisc.c:2047:5: warning: no previous prototype for â??lpfc_sli4_fcf_pri_list_addâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_hbadisc.c:2681:1: warning: no previous prototype for â??lpfc_init_vfi_cmplâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_hbadisc.c:4432:1: warning: no previous prototype for â??lpfc_nlp_logo_unregâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5d8b81676829c14af98aec2233151aad02f5fe9d Author: Rashika Kheria <rashika.kheria@xxxxxxxxx> Date: Wed Sep 3 12:55:04 2014 -0400 lpfc: mark functions as static in lpfc/lpfc_sli.c [PATCH 22/55] scsi: Mark functions as static in lpfc/lpfc_sli.c Mark functions as static in lpfc/lpfc_sli.c because they are not used outside this file. This eliminates the following warnings in lpfc/lpfc_sli.c: drivers/scsi/lpfc/lpfc_sli.c:13867:1: warning: no previous prototype for â??lpfc_sli4_alloc_xriâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:13897:1: warning: no previous prototype for â??__lpfc_sli4_free_xriâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:14317:1: warning: no previous prototype for â??lpfc_update_rcv_time_stampâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:14786:1: warning: no previous prototype for â??lpfc_sli4_handle_unsol_abortâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:15331:1: warning: no previous prototype for â??__lpfc_sli4_free_rpiâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:15769:1: warning: no previous prototype for â??lpfc_check_next_fcf_pri_levelâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:16000:1: warning: no previous prototype for â??lpfc_mbx_cmpl_redisc_fcf_tableâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 86001f248e943b7b22c22b50151ffaee9447df2d Author: Hiral Shah <hishah@xxxxxxxxx> Date: Fri May 2 17:46:31 2014 -0700 fnic: assign FIP_ALL_FCF_MACS to fcoe_all_fcfs 1) Assgning FIP_ALL_FCF_MACS to fcoe_all_fcfs allows VLAN request to be sent to correct Mac address for VLAN Discovery otherwise VLAN request will be sent to invalid address hence FLOGI never happens. 2) Simplify the copy_and_format_trace_data code and log the correct Link event for fnic control path tracing in case of link status UP->UP. 3) Increment Fnic driver version Signed-off-by: Hiral Shah <hishah@xxxxxxxxx> Signed-off-by: Sesidhar Baddela <sebaddel@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6b3839790b16adffbbe2f5967e149562a5a603e8 Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:12:29 2014 -0400 qla2xxx: Prevent probe and board_disable race The PCI register read checking introduced in commit fe1b806f4f71 ("qla2xxx: Disable adapter when we encounter a PCI disconnect") is active during driver probe. Hold off scheduling any board removal until the driver probe has completed. This ensures that the the board_disable work structure is initialized and more importantly, avoids racing qla2x00_probe_one. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit beb9e315e6e0d8d1d7d3a79d2e5d4664aa8f8796 Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:12:14 2014 -0400 qla2xxx: Prevent removal and board_disable race Introduce mutual exclusion between the qla2xxx_remove_one PCI driver callback and qla2x00_disable_board_on_pci_error, which is scheduled as board_disable work by qla2x00_check_reg{32,16}_for_disconnect: * Leave the driver-specific data attached to the underlying PCI device intact in qla2x00_disable_board_on_pci_error, so that qla2x00_remove_one has enough breadcrumbs to determine that any board_disable work has been completed. * In qla2xxx_remove_one, set a bit to prevent any subsequent board_disable work from scheduling, then cancel and wait until pending work has completed. * Reuse the PCI device enable count check in qla2x00_remove_one to determine if board_disable has occured. The original purpose of this check was unnecessary since the driver remove function wasn't called when the probe fails. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 232792b6b43b1420324e432a0498602b9c8d5a8c Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:12:01 2014 -0400 qla2xxx: Schedule board_disable only once There are various callers of qla2x00_check_reg{32,16}_for_disconnect that may schedule board removal on PCI-disconnect. Test-and-set a dedicated flag before scheduling board_disable so it is invoked only once. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c821e0d5b20006acdaca7aa378097a084986e37b Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:11:41 2014 -0400 qla2xxx: Collect PCI register checks and board_disable scheduling Add an uint16_t variant of qla2x00_check_reg_for_disconnect and use these routines to check and schedule a PCI-disconnected board from a centralized place. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1a2fbf185cce45b80cfdb441fb6651c07915ddb1 Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:11:18 2014 -0400 qla2xxx: Use qla2x00_clear_drv_active on probe failure Take advantage of commit fe1b806f4f71 ("qla2xxx: Refactor shutdown code so some functionality can be reused") to remove an inlined copy of qla2x00_clear_drv_active in the driver's probe hardware error path. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit db7157d4cfce6edf052452fb1d327d4d11b67f4c Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:10:41 2014 -0400 qla2xxx: Fix shost use-after-free on device removal Once calling scsi_host_put, be careful to not access qla_hw_data through the Scsi_Host private data (ie, scsi_qla_host base_vha). Fixes: fe1b806f4f71 ("qla2xxx: Refactor shutdown code so some functionality can be reused") Cc: stable@xxxxxxxxxxxxxxx # 3.14, 3.15, 3.16 Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c01a8bc084b9bec58a9ee3c7a95fb4266328c4b8 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:53 2014 +0200 pmcraid: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 182801ff266e61d2c4b18aab20f0ffed0f36b873 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:52 2014 +0200 pmcraid: Get rid of a redundant assignment Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6b73352134d9cd6ff1af1962799b738b4de604be Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:50 2014 +0200 csiostor: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c6b9bad280674a51f42929fc1fe6964ac3528dc8 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:49 2014 +0200 csiostor: Remove superfluous call to pci_disable_msix() There is no need to call pci_disable_msix() in case the previous call to pci_enable_msix() failed Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e149fc13dbc1c113e667e7f5bd45288853bdf6bb Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:48 2014 +0200 be2iscsi: Use pci_enable_msix_range() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() and pci_enable_msix_range() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Acked-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5e8d90070b87df4237d3dc88ffa652f30badce85 Author: Adam Radford <aradford@xxxxxxxxx> Date: Wed Jul 9 15:17:58 2014 -0700 megaraid_sas: Version and Changelog update The following patch for megaraid_sas updates the driver version and Documentation/scsi/ChangeLog.megaraid_sas. Signed-off-by: Adam Radford <aradford@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a2fbcbc3f0aa3bea3bf5c86e41f9c543c8de9e75 Author: Adam Radford <aradford@xxxxxxxxx> Date: Wed Jul 9 15:17:54 2014 -0700 megaraid_sas: Fix reset_mutex leak The following patch for megaraid_sas fixes a reset_mutex leak in megasas_reset_fusion(). Signed-off-by: Adam Radford <aradford@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c21bb25e8a8653c6d5ba1bec5c6ef4a20ee35347 Author: Adam Radford <aradford@xxxxxxxxx> Date: Wed Jul 9 15:17:55 2014 -0700 megaraid_sas: Remove unused variables in megasas_instance The following patch for megaraid_sas removes some unused variables from the megasas_instance structure. Signed-off-by: Adam Radford <aradford@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9ea81f8169bef693a0136f3ab1110b00dc7c6f84 Author: Adam Radford <aradford@xxxxxxxxx> Date: Wed Jul 9 15:17:57 2014 -0700 megaraid_sas: Add missing initial call to megasas_get_ld_vf_affiliation(). The following patch for megaraid_sas adds a missing initial call to megasas_get_ld_vf_affiliation() at the end of megasas_probe_one(). Signed-off-by: Adam Radford <aradford@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4cbfea8865825ad9f38beb627b50b308eb2d92be Author: Adam Radford <aradford@xxxxxxxxx> Date: Wed Jul 9 15:17:56 2014 -0700 megaraid_sas: Fix LD/VF affiliation parsing The following patch for megaraid_sas fixes the LD/VF affiliation policy parsing code to account for LD targetId's and Hidden LD's (not yet affiliated with any Virtual Functions). This also breaks megasas_get_ld_vf_affiliation() into 2 separate functions: megasas_get_ld_vf_affiliation_111() and megasas_get_ld_Vf_affiliation_12() to reduce indentation levels. Signed-off-by: Adam Radford <aradford@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e46b0344be9b50e8254ddd74e3c5b439d5fca3ce Author: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Date: Tue Aug 5 12:21:53 2014 +0200 scsi_debug: bump inquiry version to SPC-4, update version descriptors Since a lot of functionality from SPC-4 is supported by this driver (e.g. LBP and PI) then bump the default INQUIRY version from SPC-3 to SPC-4. Also update the INQUIRY version descriptors. Signed-off-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit cd62b7dae245dd3bb3a21eaadcf01d93ec4fcc7c Author: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Date: Tue Aug 5 12:20:46 2014 +0200 scsi_debug: give unit attention and other errors precedence over TSF Give existing errors priority over the generation of Task Set Full (TSF) errors. So that max_queue is not exceeded, existing errors may be sent back in the invocation thread. This is done so errors like Unit Attentions are not hidden and lost by either max_queue exceeded or real/injected TSFs. Signed-off-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 01123ef4c3fc9b9ff3062df2e10dee9b139b46b4 Author: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Date: Tue Aug 5 12:20:02 2014 +0200 scsi_debug: scsi_cmnd->cmnd check and casts unnecessary This patch removes a NULL check for the scsi_cmnd::cmnd pointer since many other instances in this driver and elsewhere assume it is valid. Also redundant casts to 'unsigned char *' are removed as the pointer has that type. Signed-off-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5d46ad7d88a78cca36ff6472a5bdc7d1c9c22654 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sat Aug 16 14:15:15 2014 -0700 fusion: fix excess parameter kernel-doc warning Fix kernel-doc excess parameter warning: Warning(..//drivers/message/fusion/mptbase.c:1411): Excess function parameter 'prod_name' description in 'mpt_get_product_name' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 132aa220b45d60e9b20def1e9d8be9422eed9616 Author: Tomas Henzl <thenzl@xxxxxxxxxx> Date: Thu Aug 14 16:12:39 2014 +0200 hpsa: refine the pci enable/disable handling When a second(kdump) kernel starts and the hard reset method is used the driver calls pci_disable_device without previously enabling it, so the kernel shows a warning - [ 16.876248] WARNING: at drivers/pci/pci.c:1431 pci_disable_device+0x84/0x90() [ 16.882686] Device hpsa disabling already-disabled device ... This patch fixes it, in addition to this I tried to balance also some other pairs of enable/disable device in the driver. Unfortunately I wasn't able to verify the functionality for the case of a sw reset, because of a lack of proper hw. Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Stephen M. Cameron <scameron@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9e0328453ea1a0e800b10daafffbadeac68273fd Author: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Date: Mon Aug 11 11:50:35 2014 +0530 pm8001: Update nvmd response data to request buffer Instead of using the virt_ptr use request buffer for copying back the nvmd response data and use the same in request function also Signed-off-by: Suresh Thiagarajan <suresh.thiagarajan@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a07b67194307cc344953ce23c28d840609acac1f Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Fri Aug 8 01:00:02 2014 -0400 be2iscsi: Bump the driver version Bump the driver version Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b7ab35b13379e709a2a1c3f1b3a59e5db62ce4e3 Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Fri Aug 8 01:00:01 2014 -0400 be2iscsi: Fix processing CQE before connection resources are freed Driver should process the completion queue entries before a connection resources are freed. While running mixed traffic due to latency, driver processes the CQE after the connection resources are freed. This fix processes all the completion queue before the connection resources are freed. Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a3d313ea56fada1c73be022140b8d2b14ff1fc7b Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Fri Aug 8 01:00:00 2014 -0400 be2iscsi: Fix updating the boot enteries in sysfs During port async event driver should check if there is any boot target configured on the adapter. Update sysfs enteries with the boot target parameters. Signed-off-by: Minh Tran <minhduc.tran@xxxxxxxxxx> Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 65c5efa8166d146c088bef6e004f827c1070d826 Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Fri Aug 8 00:59:59 2014 -0400 be2iscsi: Fix the copyright year Change the copyright year to 2014 Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 39033413e22aa64944baf21b29e134d52be67038 Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Fri Aug 8 00:59:58 2014 -0400 be2iscsi: Fix the sparse warning introduced in previous submission commit 73af08e11c6638e2abd6b1fa13cdab58c2bbdbf8 Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Mon May 5 21:41:26 2014 -0400 be2iscsi: Fix interrupt Coalescing mechanism. Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit fc3850458c176a3cf925771ec822f9537d1dbbc6 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Tue Aug 5 21:43:29 2014 -0700 scsi: fix decimal printf format specifiers prefixed with 0x The prefix suggests the number should be printed in hex, so use the %x specifier to do that. Found by using regex suggested by Joe Perches. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 8e5a9484aee8d48f7dd3739c139ac684b30e6201 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Fri Aug 8 07:38:09 2014 -0400 qla2xxx: Remove restriction on starting remote device discovery on port update. Limiting which port update events will allow the driver to kick off a name server scan has been problematic in some corner cases so remove the restriction and restore the previous semantic. Also move the link up/down informational messages to the LOOP_UP and LOOP_DOWN events. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 34c5801d81b9ae287010888be55ec98a3026cddd Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Fri Aug 8 07:38:08 2014 -0400 qla2xxx: Move mailbox failure messages to a default debug level. Move the mailbox failure messages to a default debugging level so that benign failures won't flood the system logs but will still show up if default debug messaging is enabled (ql2xextended_error_logging=1). Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f6e495a2b317fd7f3693d7c9217abfe943cbb3c6 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 14:56:20 2014 +0200 mptfusion: simplify rounding Rounding up to a multiple of 4 should be done using the ALIGN macro. As a bonus, this also makes the generated code smaller. In GetIocFacts(), sz is assigned to a few lines below without being read in the meantime, so it is ok that it doesn't end up with the same value as facts->FWImageSize. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 84e32a06f4f8756ce9ec3c8dc7e97896575f0771 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:47 2014 +0200 qla2xxx: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Log message code 0x00c6 preserved, although it is reported after successful call to pci_enable_msix_range(), not before possibly unsuccessful call to pci_enable_msix(). Consumers of the error code should not notice the difference. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Cc: qla2xxx-upstream@xxxxxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6bfa6907046b7d97a460abf95f3f5b82c7e31a1e Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:46 2014 +0200 mpt3sas: Use pci_enable_msix_exact() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Cc: Nagalakshmi Nandigama <Nagalakshmi.Nandigama@xxxxxxx> Cc: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxx> Cc: support@xxxxxxx Cc: DL-MPTFusionLinux@xxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 52674c65f9751f607a4ed9d75227a0d8e4f54189 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:45 2014 +0200 mpt2sas: Use pci_enable_msix_exact() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Cc: Nagalakshmi Nandigama <Nagalakshmi.Nandigama@xxxxxxx> Cc: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxx> Cc: support@xxxxxxx Cc: DL-MPTFusionLinux@xxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 8ae80ed1734bbe9b2c2021ef1ea981b7d4ccc598 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:44 2014 +0200 megaraid: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Acked-by: Kashyap Desai <Kashyap.desai@xxxxxxxxxxxxx> Cc: Neela Syam Kolli <megaraidlinux@xxxxxxx> Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit dd0881281d98e7d3d5e34224058a5d1389241126 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:43 2014 +0200 megaraid: Fail resume if MSI-X re-initialization failed Currently the driver fails to analize MSI-X re-enablement status on resuming and always assumes the success. This update checks the MSI-X initialization result and fails to resume if MSI-Xs re-enablement failed. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Acked-by: Kashyap Desai <Kashyap.desai@xxxxxxxxxxxxx> Cc: Neela Syam Kolli <megaraidlinux@xxxxxxx> Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 18fce3c440c762ab4dfb6156bbd3c0beb0f67f17 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:42 2014 +0200 hpsa: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Acked-by: "Stephen M. Cameron" <scameron@xxxxxxxxxxxxxxxxxx> Cc: iss_storagedev@xxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 49bd1a8f96d7b169edb11eb41e084b1b1669557a Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:41 2014 +0200 hpsa: Fallback to MSI rather than to INTx if MSI-X failed Currently the driver falls back to INTx mode when MSI-X initialization failed. This is a suboptimal behaviour for chips that also support MSI. This update changes that behaviour and falls back to MSI mode in case MSI-X mode initialization failed. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Acked-by: "Stephen M. Cameron" <scameron@xxxxxxxxxxxxxxxxxx> Cc: iss_storagedev@xxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit ed81d7741eddb690aa9d5c79945123db11ec7a0c Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Jul 14 09:34:54 2014 +0200 eata: remove driver_lock port_detect is only called from the module_init routine and thus implicitly serialized, so remove the driver lock which was held over potentially sleeping function calls. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reported-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx> Tested-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> commit 15155b9a4530f8da42d6594927928e25b2b29875 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:07:07 2014 +0100 PKCS#7: Add a missing static Add a missing static (found by checker). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 8da79b6439f46a2bea71238ab2f0e84e3c16587d Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:07:07 2014 +0100 KEYS: Fix missing statics Fix missing statics (found by checker). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit fda322a1b3b9e8ee231913c500f73c6988b1aff5 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 18:42:30 2014 -0300 UBI: Dispatch update notification if the volume is updated The UBI_IOCVOLUP ioctl is used to start an update and also to truncate a volume. In the first case, a "volume updated" notification is dispatched when the update is done. This commit adds the "volume updated" notification to be also sent when the volume is truncated. This is required for UBI block and gluebi to get notified about the new volume size. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.15+ commit 06d9c2905f745c8b1920a335cbb366ba6b0fc754 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 18:42:29 2014 -0300 UBI: block: Add support for the UBI_VOLUME_UPDATED notification Static volumes can change its 'used_bytes' when they get updated, and so the block interface must listen to the UBI_VOLUME_UPDATED notification to resize the block device accordingly. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.15+ commit 978d6496758d19de2431ebf163337fc7b92f8c45 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 18:42:28 2014 -0300 UBI: block: Fix block device size setting We are currently taking the block device size from the ubi_volume_info.size field. However, this is not the amount of data in the volume, but the number of reserved physical eraseblocks, and hence leads to an incorrect representation of the volume. In particular, this produces I/O errors on static volumes as the block interface may attempt to read unmapped PEBs: $ cat /dev/ubiblock0_0 > /dev/null UBI error: ubiblock_read_to_buf: ubiblock0_0 ubi_read error -22 end_request: I/O error, dev ubiblock0_0, sector 9536 Buffer I/O error on device ubiblock0_0, logical block 2384 [snip] Fix this by using the ubi_volume_info.used_bytes field which is set to the actual number of data bytes for both static and dynamic volumes. While here, improve the error message to be less stupid and more useful: UBI error: ubiblock_read_to_buf: ubiblock0_1 ubi_read error -9 on LEB=0, off=15872, len=512 It's worth noticing that the 512-byte sector representation of the volume is only correct if the volume size is multiple of 512-bytes. This is true for virtually any NAND device, given eraseblocks and pages are 512-byte multiple and hence so is the LEB size. Artem: tweak the error message and make it look more like other UBI error messages. Fixes: 9d54c8a33eec ("UBI: R/O block driver on top of UBI volumes") Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.15+ commit 3df770725339c41d1cd9be4da4ca0d968119d8ad Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Wed Aug 20 10:19:38 2014 +0100 UBI: block: fix dereference on uninitialized dev commit 4df38926f337 ("UBI: block: Avoid disk size integer overflow") introduced a dereference on dev (which is not initialized at that point) when printing a warning message. Re-order disk_capacity check after the dev is found. Found by cppcheck: [drivers/mtd/ubi/block.c:509]: (error) Uninitialized variable: dev Artem: tweak the error message a bit Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 5f093ee76c8fc1ec82de8da04bd087663c853e7b Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 17:15:03 2014 +0200 clk: mvebu: fix sscg node lookup Commit 15917b16022427c53755abff4dc7051f3076dd7a ("clk: mvebu: Fix clk frequency value if SSCG is enabled") introduced some logic in the common mvebu clock code to adjust the clock frequency according to the configuration of the SSCG. In order to do this, it looks up for a DT node called "sscg" and maps it before accessing the SSCG configuration register. However, the lookup is currently done using: sscg_np = of_find_node_by_name(np, "sscg"); where "np" is a pointer to the DT node of the clock for which we are calculating the adjusted frequency. This means that if the "sscg" node is *after* the clock node in the Device Tree, it works fine (and that's the case for Armada 370). However, if it turns out that the "sscg" node is *before* the clock node in the Device Tree, it won't work because the sscg node will not be found. What we really want here is a search of the entire Device Tree, not only starting from the clock node, so instead of passing "np" as first argument of of_find_node_by_name(), we simply need to pass NULL. Passing a non-NULL argument is typically used in a loop, so that the search for the next matching node starts right after the node that was matched. This makes the "np" argument to the kirkwood_fix_sscg_deviation() function unnecessary, which leads to further cleanups. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Fixes: 15917b1602242 ("clk: mvebu: Fix clk frequency value if SSCG is enabled") Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410880503-2322-1-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f8fb117034847634bff8f02632151f7535981fa1 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 15:53:26 2014 +0200 ALSA: hda - Use standard hda_jack infrastructure for CA0132 driver For its headphone, mic and DSP responses, we can use the standard hda_jack infrastructure in CA0132 driver, too. The only point to handle carefully is the delayed headphone jack handling. It tries to react after a certain delay. Here we use the existing block_report flag in hda_jack_tbl (that was implemented for HDMI). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7c3008c47b405420bf2b24fb5a21af3df5b5c323 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 15:35:22 2014 +0200 ALSA: hda - Remove superfluous hooks from VIA driver Like the previous fix for STAC/IDT codecs, the automute hooks in VIA driver can be also removed by enabling the power control callback for all pins. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit aa699c492e77ec01a038e8a8add6ce04011b9561 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 15:29:18 2014 +0200 ALSA: hda - Remove superfluous callbacks from STAC/IDT codecs Now we can register multiple callbacks to each jack, most of hooks used in STAC/IDT codecs can be removed by enabling the powermap update callback for all relevant pins. Along with this, the call of stac_init_power_map() can be moved back to stac_parse_auto_config() and the own build_controls callback can be removed, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1a4f69d5aaecb39a980fc20b14ec800fd5b53061 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 15:22:46 2014 +0200 ALSA: hda - Allow multiple callbacks for jack So far, hda_jack infrastructure allows only one callback per jack, and this makes things slightly complicated when a driver wants to assign multiple tasks to a jack, e.g. the standard auto-mute with a power up/down sequence. This can be simplified if the hda_jack accepts multiple callbacks. This patch is such an extension: the callback-specific part (the function and private_data) is split to another struct from hda_jack_tbl, and multiple such objects can be assigned to a single hda_jack_tbl entry. The new struct hda_jack_callback is passed to each callback function now, thus the patch became bigger than expected. But these changes are mostly trivial. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1bf1890e86869032099b539bc83b098be12fc5a7 Author: Richard Genoud <richard.genoud@xxxxxxxxx> Date: Tue Sep 9 14:25:01 2014 +0200 UBI: add missing kmem_cache_free() in process_pool_aeb error path I ran into this error after a ubiupdatevol, because I forgot to backport e9110361a9a4 UBI: fix the volumes tree sorting criteria. UBI error: process_pool_aeb: orphaned volume in fastmap pool UBI error: ubi_scan_fastmap: Attach by fastmap failed, doing a full scan! kmem_cache_destroy ubi_ainf_peb_slab: Slab cache still has objects CPU: 0 PID: 1 Comm: swapper Not tainted 3.14.18-00053-gf05cac8dbf85 #1 [<c000d298>] (unwind_backtrace) from [<c000baa8>] (show_stack+0x10/0x14) [<c000baa8>] (show_stack) from [<c01b7a68>] (destroy_ai+0x230/0x244) [<c01b7a68>] (destroy_ai) from [<c01b8fd4>] (ubi_attach+0x98/0x1ec) [<c01b8fd4>] (ubi_attach) from [<c01ade90>] (ubi_attach_mtd_dev+0x2b8/0x868) [<c01ade90>] (ubi_attach_mtd_dev) from [<c038b510>] (ubi_init+0x1dc/0x2ac) [<c038b510>] (ubi_init) from [<c0008860>] (do_one_initcall+0x94/0x140) [<c0008860>] (do_one_initcall) from [<c037aadc>] (kernel_init_freeable+0xe8/0x1b0) [<c037aadc>] (kernel_init_freeable) from [<c02730ac>] (kernel_init+0x8/0xe4) [<c02730ac>] (kernel_init) from [<c00093f0>] (ret_from_fork+0x14/0x24) UBI: scanning is finished Freeing the cache in the error path fixes the Slab error. Tested on at91sam9g35 (3.14.18+fastmap backports) Signed-off-by: Richard Genoud <richard.genoud@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # 3.10+ commit 9f9ec08cf9cb8e8411b1d400d5c8d99d46c5c22b Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Mon Sep 8 16:48:25 2014 +0100 ARM: 8140/1: ep93xx: Enable DEBUG_LL_UART_PL01X This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE will be selected (but due to some back compability magic I'd like to remove is not actually honoured). DEBUG_LL_UART_PL01X is a much saner default. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit be26e0e0ef167f4aa1047ef14e8059a44262921a Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Mon Sep 8 16:47:47 2014 +0100 ARM: 8139/1: versatile: Enable DEBUG_LL_UART_PL01X This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE will be selected (but due to some back compability magic I'd like to remove is not actually honoured). DEBUG_LL_UART_PL01X is a much saner default. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 5b484989a998074762281a1ae71b2d88f26f66d6 Author: Andreas Larsson <andreas@xxxxxxxxxxx> Date: Mon Sep 15 12:32:54 2014 +0200 usb: gadget: gr_udc: Add bounce buffer to handle odd sized OUT requests This adds a bounce buffer that handles the end of OUT requests where req.length is not divisible by ep->ep.maxpacket. Before this, such requests were rejected as the DMA engine cannot restrict itself to buffers that are smaller than ep->ep.maxpacket. Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit af54954ad02091506ced45588215d389d606f74e Author: Andreas Larsson <andreas@xxxxxxxxxxx> Date: Mon Sep 15 12:42:27 2014 +0200 usb: gadget: udc_core: Use right kobj when calling sysfs_notify The state attribute is connected to the kobj of the udc, not the gadget. Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 468bcc2a2ca071f652009d2d20d97f2437630cae Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 09:03:24 2014 -0500 usb: musb: dsps: kill OTG timer on suspend if we don't make sure to kill the timer, it could expire after we have already gated our clocks. That will trigger a Data Abort exception because we would try to access register while clock is gated. Fix that bug. Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Fixes 869c597 (usb: musb: dsps: add support for suspend and resume) Tested-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6dd5b021bd6c735a6a1515d06dab1478fc461dfd Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Sep 16 17:26:48 2014 +0300 usb: gadget: uvc: Simplify uvcg_video_pump by using local variable Use the local queue variable instead of computing it every time. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e102609f107269fbc04af21548e78e99c02b6204 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Sep 16 17:26:47 2014 +0300 usb: gadget: uvc: Fix endianness mismatches The struct usb_endpoint_descriptor wMaxPacketSize field the struct usb_ss_ep_comp_descriptor wBytesPerInterval field are stored in little-endian format. Convert the values from CPU order to little endian before storing the values. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4a6698b80cfe36dd4e3c6bc30ab81b4e0a837f64 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Tue Sep 16 17:26:46 2014 +0300 usb: gadget: uvc: uvc_alloc() can be static The function isn't called from outside of its compilation unit, make it static. Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1b0bf88fd8b845aef4300c7c0feca774265dd1c4 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 9 08:23:17 2014 +0200 usb: gadget: f_fs: virtual endpoint address mapping This patch introduces virtual endpoint address mapping. It separates function logic form physical endpoint addresses making it more hardware independent. Following modifications changes user space API, so to enable them user have to switch on the FUNCTIONFS_VIRTUAL_ADDR flag in descriptors. Endpoints are now refered using virtual endpoint addresses chosen by user in endpoint descpriptors. This applies to each context when endpoint address can be used: - when accessing endpoint files in FunctionFS filesystemi (in file name), - in setup requests directed to specific endpoint (in wIndex field), - in descriptors returned by FUNCTIONFS_ENDPOINT_DESC ioctl. In endpoint file names the endpoint address number is formatted as double-digit hexadecimal value ("ep%02x") which has few advantages - it is easy to parse, allows to easly recognize endpoint direction basing on its name (IN endpoint number starts with digit 8, and OUT with 0) which can be useful for debugging purpose, and it makes easier to introduce further features allowing to use each endpoint number in both directions to have more endpoints available for function if hardware supports this (for example we could have ep01 which is endpoint 1 with OUT direction, and ep81 which is endpoint 1 with IN direction). Physical endpoint address can be still obtained using ioctl named FUNCTIONFS_ENDPOINT_REVMAP, but now it's not neccesary to handle USB transactions properly. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4cd41ffd27b6b775445ecfdb72b592b71d6b4a32 Merge: d915216 9e82bf0 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 16 09:53:59 2014 -0500 Merge tag 'v3.17-rc5' into next Linux 3.17-rc5 Signed-off-by: Felipe Balbi <balbi@xxxxxx> Conflicts: Documentation/devicetree/bindings/usb/mxs-phy.txt drivers/usb/phy/phy-mxs-usb.c commit 184564efae4d775225c8fe3b762a56956fb1f827 Author: Zhang Haoyu <zhanghy@xxxxxxxxxxx> Date: Thu Sep 11 16:47:04 2014 +0800 kvm: ioapic: conditionally delay irq delivery duringeoi broadcast Currently, we call ioapic_service() immediately when we find the irq is still active during eoi broadcast. But for real hardware, there's some delay between the EOI writing and irq delivery. If we do not emulate this behavior, and re-inject the interrupt immediately after the guest sends an EOI and re-enables interrupts, a guest might spend all its time in the ISR if it has a broken handler for a level-triggered interrupt. Such livelock actually happens with Windows guests when resuming from hibernation. As there's no way to recognize the broken handle from new raised ones, this patch delays an interrupt if 10.000 consecutive EOIs found that the interrupt was still high. The guest can then make a little forward progress, until a proper IRQ handler is set or until some detection routine in the guest (such as Linux's note_interrupt()) recognizes the situation. Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Zhang Haoyu <zhanghy@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 105b21bbf67bb50000a0dc4b547a2f99b6376136 Author: Guo Hui Liu <liuguohui@xxxxxxxxx> Date: Fri Sep 12 13:43:19 2014 +0800 KVM: x86: Use kvm_make_request when applicable This patch replace the set_bit method by kvm_make_request to make code more readable and consistent. Signed-off-by: Guo Hui Liu <liuguohui@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 60979115a69e0e7916a1c1796f902264f1350977 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Sep 13 00:35:58 2014 +0900 f2fs: fix double lock for inode page during roll-foward recovery If the inode is same and its data index are needed to truncate, we can fall into double lock for its inode page via get_dnode_of_data. Error case is like this. 1. write data 1, 2, 3, 4, 5 in inode #4. 2. write data 100, 102, 103, 104, 105 in dnode #6 of inode #4. 3. sync 4. update data 100->106 in dnode #6. 5. fsync inode #4. 6. power-cut -> Then, 1. go back to #3's checkpoint 2. in do_recover_data, get_dnode_of_data() gets inode #4. 3. detect 100->106 in dnode #6. 4. check_index_in_prev_nodes tries to truncate 100 in dnode #6. 5. to trigger truncate_hole, get_dnode_of_data should grab inode #4. 6. detect *kernel hang* This patch should resolve that bug. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c6e489305eb5ed029002b037e36800032a994bb4 Author: Huang Ying <ying.huang@xxxxxxxxx> Date: Fri Sep 12 19:21:11 2014 +0800 f2fs: fix a race condition in next_free_nid The nm_i->fcnt checking is executed before spin_lock, so if another thread delete the last free_nid from the list, the wrong nid may be gotten. So fix the race condition by moving the nm_i->fnct checking into spin_lock. Signed-off-by: Huang, Ying <ying.huang@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7704182387f7eab6217a587420f8a3b3aa2d17d5 Author: Huang Ying <ying.huang@xxxxxxxxx> Date: Fri Sep 12 20:19:48 2014 +0800 f2fs: use nm_i->next_scan_nid as default for next_free_nid Now, if there is no free nid in nm_i->free_nid_list, 0 may be saved into next_free_nid of checkpoint, this may cause useless scanning for next mount. nm_i->next_scan_nid should be a better default value than 0. Signed-off-by: Huang, Ying <ying.huang@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c1ce1b02bb25640567dc484dc94d3a195d21e705 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 10 16:53:02 2014 -0700 f2fs: give an option to enable in-place-updates during fsync to users If user wrote F2FS_IPU_FSYNC:4 in /sys/fs/f2fs/ipu_policy, f2fs_sync_file only starts to try in-place-updates. And, if the number of dirty pages is over /sys/fs/f2fs/min_fsync_blocks, it keeps out-of-order manner. Otherwise, it triggers in-place-updates. This may be used by storage showing very high random write performance. For example, it can be used when, Seq. writes (Data) + wait + Seq. writes (Node) is pretty much slower than, Rand. writes (Data) Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a7ffdbe22cecaed59b5d76a5f003d68907d64240 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Sep 12 15:53:45 2014 -0700 f2fs: expand counting dirty pages in the inode page cache Previously f2fs only counts dirty dentry pages, but there is no reason not to expand the scope. This patch changes the names on the management of dirty pages and to count dirty pages in each inode info as well. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 8097171e19bb69f3e2226827440b71ececa5d74f Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Fri Aug 29 16:08:58 2014 +0200 ARM: zynq: Remove useless L2C AUX setting AUX setting has no effect that's why remove it. Warning log: L2C: platform provided aux values match the hardware, so have no effect. Please remove them. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit ed62e330948dea39b455d94dc14522386291688a Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:14 2014 -0700 ARM: zynq: Rename 'zynq_platform_cpu_die' Match the naming pattern of all other SMP ops and rename zynq_platform_cpu_die --> zynq_cpu_die. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit caf86a73eab4132f870e883216850d9eee40b04b Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:13 2014 -0700 ARM: zynq: Remove hotplug.c The hotplug code contains only a single function, which is an SMP function. Move that to platsmp.c where all other SMP runctions reside. That allows removing hotplug.c and declaring the cpu_die function static. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 50c7960a4517d6c93226351cd8c43c86f104c919 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:12 2014 -0700 ARM: zynq: Synchronise zynq_cpu_die/kill Avoid races and add synchronisation between the arch specific kill and die routines. The same synchronisation issue was fixed on IMX platform by this commit: "ARM: imx: fix sync issue between imx_cpu_die and imx_cpu_kill" (sha1: 2f3edfd7e27ad4206acbc2ae99c9df5f46353024) Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 18aebf116b494101841f109f07e0d6a0aad9a46e Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Sep 2 14:19:11 2014 -0700 ARM: zynq: cpuidle: Remove pointless code The core is not powered down, it is pointless to call the cpu_pm notifiers and switch to the global timer. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-and-tested-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 61ce3ed57b40212a9ae79cebb44861a8c63df54a Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Sep 2 14:19:10 2014 -0700 ARM: zynq: Remove invalidate cache for cpu die As there is no Power management unit on this board, it is not possible to power down a core, just WFI is allowed. There is no point to invalidate the cache and exit coherency. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-and-tested-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 0beb2bd36f6216f455363f47f8ba32fdf26667fb Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:09 2014 -0700 ARM: zynq: PM: Enable DDR clock stop The DDR controller can detect idle periods and leverage low power features clock stop. When new requests occur, the DDRC resumes normal operation. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 36ad5ae6dea7ae6abbb7bdf25078e7d1dabcecad Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:08 2014 -0700 ARM: zynq: DT: Add DDRC node Add the DDR controller to the Zynq devicetree. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit c07c8b007732dacafd4ba9cda04ea9b9d0e8ec7d Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:07 2014 -0700 Documentation: devicetree: Add binding for Synopsys DDR controller Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit ae88b85e801ba77939b07eb9214f1d6542fa23f7 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:06 2014 -0700 ARM: zynq: PM: Enable A9 internal clock gating feature Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 6f752f70a3a344af53d0e8100c2f7c15074b0651 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 12:40:16 2014 +0100 ARM: zynq: Add ISL9305 regulator on Parallella board There is an ISL9305 regulator on the Parallella board, add it to the DT along with descriptions of all the supplies. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit f62f40475137c905d8e4bcbe9870b4d7e4fed91f Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Wed Aug 20 08:56:59 2014 -0700 ARM: zynq: DT: Add Ethernet phys Add missing Ethernet phys to Zynq DTs. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 59ecb1283fde3da7b40803067ee9ef91cd8eadc2 Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Wed Jul 30 17:40:28 2014 +0300 iwlwifi: mvm: Allow schedule scan while connected In the past when schedule scan was started while connected on one of interfaces FW crashes were observed. In the newest FW this issue is solved, so remove limitaion after examining corresponding TLV flag. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c549e3903a3be964b58449140d4f87f2132b55c2 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Thu Sep 4 15:58:47 2014 +0300 iwlwifi: mvm: add debugfs entry to read the current temperature When read, this new debugfs entry requests the current temperature from the firmware and outputs it. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3edf8ff6179dc470d53f3b88d4a778e241a73654 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Wed Jul 30 11:41:01 2014 +0300 iwlwifi: mvm: prepare for scheduler config command The scheduler is a HW sub-block that directs the work of the Flow Handler by issuing requests for frame transfers, specifying source and destination. Its primary function is to allocate flows into the TX FIFOs based upon a pre-determined mapping. The driver has some responsibilities to the scheduler, namely initialising and maintaining the hardware registers. This is currently done by directly accessing them, which can cause races with the firmware also accessing the registers. To address this problem, change the driver to no longer directly access the registers but go through the firmware for this if the firmware has support for DQA and thus the new command. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 73897bd1d949d34b7a38a2cd14302d91f68ef12d Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Wed Jul 9 18:59:14 2014 +0300 iwlwifi: mvm: Set RRM_ENABLED bit in scan commands Set RRM_ENABLED (bit 6) flag in scan commands. When this flag is set the fw will add WFA vendor-specific TPC report and DS parameter set IEs into probe requests. This bit is set for SCAN_OFFLOAD_REQUEST_CMD(0x51). Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Reviewed-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 226bcd48eac7cfc22844a84897d62c24603395c6 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Thu Mar 13 08:12:15 2014 +0200 iwlwifi: mvm: Announce Quiet Period support Add a ucode capability flag for support of Quiet Period (part of RRM). If this flag is set, advertise device support. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f1daa00e36c97e24b4d9a210397349212422ed85 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Tue Jul 1 12:54:25 2014 +0300 iwlwifi: mvm: Update TX power in TPC reports Introduce new tx command flag (TX_CMD_FLG_WRITE_TX_POWER) which requests the fw to update the tx power value at some constant offset. Set this flag when transmitting either TPC report or Link measurement report action frames. In addition, introduce new tlv which indicates whether the fw supports power insertion (IWL_UCODE_TLV_CAPA_TXPOWER_INSERTION_SUPPORT) and publish the corresponding nl80211 feature. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b71d9c8a9d7284a5cc6c93e01bf258323f0d334a Author: Ido Yariv <ido@xxxxxxxxxx> Date: Wed Jul 23 09:31:14 2014 -0400 iwlwifi: mvm: support cloned tx skbs Since tx skbs are not modified by the driver, let mac80211 know the driver can handle cloned skbs. Signed-off-by: Ido Yariv <idox.yariv@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ce4b1b16502b182368cda20a61de2995762c8bcc Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Jun 20 14:23:11 2014 +0200 x86/smpboot: Initialize secondary CPU only if master CPU will wait for it Hang is observed on virtual machines during CPU hotplug, especially in big guests with many CPUs. (It reproducible more often if host is over-committed). It happens because master CPU gives up waiting on secondary CPU and allows it to run wild. As result AP causes locking or crashing system. For example as described here: https://lkml.org/lkml/2014/3/6/257 If master CPU have sent STARTUP IPI successfully, and AP signalled to master CPU that it's ready to start initialization, make master CPU wait indefinitely till AP is onlined. To ensure that AP won't ever run wild, make it wait at early startup till master CPU confirms its intention to wait for AP. If AP doesn't respond in 10 seconds, the master CPU will timeout and cancel AP onlining. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Acked-by: Toshi Kani <toshi.kani@xxxxxx> Tested-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1403266991-12233-1-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a4b7aef6b066bda215566cf4af3455a6e36c381d Author: René Moll <Rene.Moll@xxxxxxxxx> Date: Fri Aug 8 13:12:22 2014 +0000 Documentation: DT: Add LTC2952 poweroff bindings LTC2952 is an external power control chip, which signals the OS to shut down. This patch documents the DT binding for the chip. Signed-off-by: René Moll <rene.moll@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6647156c00cc70c1e93161c3cf178071b3381bbb Author: René Moll <Rene.Moll@xxxxxxxxx> Date: Fri Aug 8 13:12:17 2014 +0000 power: reset: add LTC2952 poweroff driver This adds a driver for the LTC2952, an external power control chip, which signals the OS to shut down. Additionally this driver lets the kernel power down the board. Signed-off-by: René Moll <rene.moll@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7195c505c2e8e2dd372f7b1737f2a788e74889fb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:36 2014 +0530 power_supply: Don't iterate over devices to return -EPROBE_DEFER This piece of code was added so that we return -EPROBE_DEFER when no devices are registered. But even if class_for_each_device() returns 0, we are going to return -EPROBE_DEFER only. And so this code isn't required at all. Remove it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 464069cae95f71ba670c7e3a90d919b18fb48d66 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:35 2014 +0530 power-supply: Avoid unnecessary 'goto' statements Using 'goto' statements for freeing resources on failures is a good choice as it makes code very clean, and reduces the chances of human errors. Though in most cases compiler may take care of this. But adding unnecessary 'goto' statements wouldn't make anything better. Code becomes less readable actually. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 73b4a087ba4c0d0d52519769320fa684185c563e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:34 2014 +0530 power-supply: Check for failures only when we can fail In power_supply_show_property() routine, we call ->get_property() conditionally and should check for failure in that case only. There is no point comparing 'ret' for errors when 'ret' is surely zero. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9d2410c79b5b2dd741648de26ad52ffd2ce3dc01 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:33 2014 +0530 power-supply: Use PTR_ERR_OR_ZERO() routine At multiple places we are doing exactly what PTR_ERR_OR_ZERO() does. And so that routine can be reused instead of increasing lines of code here. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 061f3806bbe4d8e86dddf101f75f49c38d3f1669 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:32 2014 +0530 power-supply: Mark 'if' blocks in power_supply_changed_work() with 'likely' The 'if' statements in power_supply_changed_work() are mostly there for taking care of races and normally they will always evaluate to true. Optimize them for fast execution with 'likely' statements. Also there is need to have better comments in code to mention about the races clearly. Get them in place. Cc: Zoran Markovic <zrn.markovic@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1c42a389eaa0fddca6e6d9625e65ff62c9b90e80 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:31 2014 +0530 power-supply: Drop useless 'if (ret.intval)' statements There is no need to check the value of ret.intval before returning it, as we will be returning zero explicitly when ret.intval is zero. So essentially we will end up returning value of ret.intval as it is. Drop the unnecessary 'if' statements. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 585b008743b5a14d93e3d506729c73978edc8da7 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:30 2014 +0530 power-supply: Don't return -EINVAL from __power_supply_find_supply_from_node() We need to stop 'class_for_each_device' loop when a supply matches with the of-node. In order to achieve this we currently return -EINVAL from __power_supply_populate_supplied_from() on successful match. class_for_each_device() is free to return similar errors in other cases as well and so the choice of return value here isn't particularly great. This commit isn't removing the Hack but making it more elegant by returning '1' instead. Also power_supply_find_supply_from_node() can return errors other than -EPROBE_DEFER now if class_for_each_device() fails. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit f5b89affe2b2e6a6092f4228baf08a6dd59bfc61 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:29 2014 +0530 power-supply: Propagate error returned by power_supply_find_supply_from_node() Callers of power_supply_find_supply_from_node(), i.e. power_supply_check_supplies(), must propagate the errors returned by it instead of returning their own. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8468b029a2871b1f0e372a9354bddeac6b03af3b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:28 2014 +0530 power-supply: Rearrange code to remove duplicate lines of_node_put() was called twice in power_supply_check_supplies() whereas a single call will also work. Rearrange code a bit to make that feasible. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a0f93b4268d903430d7e21110f10be0919daf3b2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:27 2014 +0530 power-supply: Use 'break' instead of 'continue' to end loop In few routines, we need to end the do-while loop when no more "power-supplies" are available. Currently we are doing 'continue' which will make the 'while(np)' conditional statement run again. Skip this by doing a 'break' instead. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e80cf421432bab7327891e7e8afe027fafb4c27b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:26 2014 +0530 power-supply: Drop unnecessary typecasts Typecast from 'void *' to any other pointer type falls under implicit typecasts category and so doesn't require explicit typecasts. Drop them. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3c5f8853469d3e549799808b9bf639b5d32751f0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:25 2014 +0530 power-supply: Forward declare structs together power_supply.h requires to forward declare few structures. One of them is done at the top of the file and other one just before it is used. Declare them together for better readability. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d8755dcf6b8107a31f4a573b6d7a4e414dd42415 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:24 2014 +0530 Documentation: Charger Manager: Fix spelling mistakes 'unnecessary' was wrongly spelled as 'unncessary', also it should have been 'unnecessarily'. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit f9c85486c4ae8fd56770340bd9c16a61127c96e1 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:23 2014 +0530 power-supply: Return early if "power-supplies" property isn't valid If power-supply's DT node doesn't have a valid "power-supplies" entry, then power_supply_check_supplies() should return early instead of trying to allocate memory for "supplied_from" array. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8f5a37cb28fce189f3d6802ade98a116f59a47bf Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:22 2014 +0530 power-supply: Don't over-allocate memory for "supplied-from" array In routine power_supply_check_supplies(), 'cnt' is counting the number of supplies passed in "power-supplies" field of a node. The value of 'cnt' will always be one more than the number of supplies after the do-while loop ends. And so we need to allocate memory for 'cnt - 1' char pointers. But we are allocating memory for 'cnt' instead. Fix this by not over-allocating memory. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5c630089442c2e3482855c0849fea53abded81e2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 18:05:39 2014 +0200 x86/kbuild: Eliminate duplicate command line options The options -mno-mmx and -mno-sse are unconditionally added to KBUILD_CFLAGS in both branches of an ifeq and through a $(cc-option) further down. We can safely remove the first instances. In fact, since the -mno-mmx and -mno-sse options were introduced simultaneous with the other two options in the $(cc-option) [according to http://www.gnu.org/software/gcc/gcc-3.1/changes.html], and since the former were unconditionally used, one can deduce that only gcc versions knowing about all four are supported. So also eliminate the $(cc-option) wrap. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410365139-24440-1-git-send-email-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c88f2096136416b261bd3647cc260935f6e95805 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 8 16:31:07 2014 +0200 perf: Do not check PERF_EVENT_STATE_EXIT on syscall read path Revert PERF_EVENT_STATE_EXIT check on read syscall path. It breaks standard way to read counter, which is to open the counter, wait for the monitored process to die and read the counter. Reported-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Stephane Eranian <eranian@xxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140908143107.GG17728@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13924d2a983fc1557eb737ea59e2324adb538fa2 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Tue Sep 9 10:57:16 2014 +0100 Documentation/scheduler/sched-deadline.txt: Add minimal main() appendix Add an appendix providing a simple self-contained code snippet showing how SCHED_DEADLINE reservations can be created by application developers. Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Reviewed-by: Henrik Austad <henrik@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410256636-26171-6-git-send-email-juri.lelli@xxxxxxx [ Fixed some whitespace inconsistencies. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f5801933ce595ba6eb77d170ab0dfbcd5c894e11 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Tue Sep 9 10:57:15 2014 +0100 Documentation/scheduler/sched-deadline.txt: Add tests suite appendix Add an appendix briefly describing tools that can be used to test SCHED_DEADLINE (and the scheduler in general). Links to where source code of the tools is hosted are also provided. Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Reviewed-by: Henrik Austad <henrik@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410256636-26171-5-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b56bfc6cd13c25264f614320de9183a5dbcab6ca Author: Luca Abeni <luca.abeni@xxxxxxxx> Date: Tue Sep 9 10:57:14 2014 +0100 Documentation/scheduler/sched-deadline.txt: Improve and clarify AC bits Admission control is of key importance for SCHED_DEADLINE, since it guarantees system schedulability (or tells us something about the degree of guarantees we can provide to the user). This patch improves and clarifies bits and pieces regarding AC, both for UP and SMP systems. Signed-off-by: Luca Abeni <luca.abeni@xxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Reviewed-by: Henrik Austad <henrik@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410256636-26171-4-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d9ba8b03cfaed2696de42fe15ed410ba2ec7dbe Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Tue Sep 9 10:57:13 2014 +0100 Documentation/scheduler/sched-deadline.txt: Rewrite section 4 intro Section 4 intro was still describing the old interface. Rewrite it. Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Luca Abeni <luca.abeni@xxxxxxxx> Reviewed-by: Henrik Austad <henrik@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410256636-26171-3-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ad67dc316f000df4756b027f3559ad0491497d9e Author: Luca Abeni <luca.abeni@xxxxxxxx> Date: Tue Sep 9 10:57:12 2014 +0100 Documentation/scheduler/sched-deadline.txt: Fix terminology and improve clarity Several small changes regarding SCHED_DEADLINE documentation that fix terminology and improve clarity and readability: - "current runtime" becomes "remaining runtime" - readablity of an equation is improved by introducing more spacing - clarify when admission control will certainly fail - new URL for CBS technical report - substitue "smallest" with "earliest" Signed-off-by: Luca Abeni <luca.abeni@xxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Reviewed-by: Henrik Austad <henrik@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410256636-26171-2-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 84779575554e2a19b9f6fc8d44f9763546a822ad Author: Lee, Chun-Yi <joeyli.kernel@xxxxxxxxx> Date: Fri Sep 12 11:03:58 2014 +0800 x86/mm, hibernate: Do not assume the first e820 area to be RAM In arch/x86/kernel/setup.c::trim_bios_range(), the codes introduced by 1b5576e6 (base on d8a9e6a5), it updates the first 4Kb of memory to be E820_RESERVED region. That's because it's a BIOS owned area but generally not listed in the E820 table: e820: BIOS-provided physical RAM map: BIOS-e820: [mem 0x0000000000000000-0x0000000000096fff] usable BIOS-e820: [mem 0x0000000000097000-0x0000000000097fff] reserved ... e820: update [mem 0x00000000-0x00000fff] usable ==> reserved e820: remove [mem 0x000a0000-0x000fffff] usable But the region of first 4Kb didn't register to nosave memory: PM: Registered nosave memory: [mem 0x00097000-0x00097fff] PM: Registered nosave memory: [mem 0x000a0000-0x000fffff] The code in e820_mark_nosave_regions() assumes the first e820 area to be RAM, so it causes the first 4Kb E820_RESERVED region ignored when register to nosave. This patch removed assumption of the first e820 area. Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1410491038-17576-1-git-send-email-jlee@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db0e716a1512179e8374a74c1f3184e9ce15d138 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 22:34:25 2014 -0700 locking/rwsem: Move EXPORT_SYMBOL() lines to follow function definition rw-semaphore is the only type of lock doing this ugliness of exporting at the end of the file. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: peterz@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1410500066-5909-1-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b375f64dcf45ba5cfb36398b69b877dc35410fa Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Aug 22 13:27:36 2014 -0700 x86/mm/numa: Drop dead code and rename setup_node_data() to setup_alloc_data() The setup_node_data() function allocates a pg_data_t object, inserts it into the node_data[] array and initializes the following fields: node_id, node_start_pfn and node_spanned_pages. However, a few function calls later during the kernel boot, free_area_init_node() re-initializes those fields, possibly with setup_node_data() is not used. This causes a small glitch when running Linux as a hyperv numa guest: SRAT: PXM 0 -> APIC 0x00 -> Node 0 SRAT: PXM 0 -> APIC 0x01 -> Node 0 SRAT: PXM 1 -> APIC 0x02 -> Node 1 SRAT: PXM 1 -> APIC 0x03 -> Node 1 SRAT: Node 0 PXM 0 [mem 0x00000000-0x7fffffff] SRAT: Node 1 PXM 1 [mem 0x80200000-0xf7ffffff] SRAT: Node 1 PXM 1 [mem 0x100000000-0x1081fffff] NUMA: Node 1 [mem 0x80200000-0xf7ffffff] + [mem 0x100000000-0x1081fffff] -> [mem 0x80200000-0x1081fffff] Initmem setup node 0 [mem 0x00000000-0x7fffffff] NODE_DATA [mem 0x7ffdc000-0x7ffeffff] Initmem setup node 1 [mem 0x80800000-0x1081fffff] NODE_DATA [mem 0x1081ea000-0x1081fdfff] crashkernel: memory value expected [ffffea0000000000-ffffea0001ffffff] PMD -> [ffff88007de00000-ffff88007fdfffff] on node 0 [ffffea0002000000-ffffea00043fffff] PMD -> [ffff880105600000-ffff8801077fffff] on node 1 Zone ranges: DMA [mem 0x00001000-0x00ffffff] DMA32 [mem 0x01000000-0xffffffff] Normal [mem 0x100000000-0x1081fffff] Movable zone start for each node Early memory node ranges node 0: [mem 0x00001000-0x0009efff] node 0: [mem 0x00100000-0x7ffeffff] node 1: [mem 0x80200000-0xf7ffffff] node 1: [mem 0x100000000-0x1081fffff] On node 0 totalpages: 524174 DMA zone: 64 pages used for memmap DMA zone: 21 pages reserved DMA zone: 3998 pages, LIFO batch:0 DMA32 zone: 8128 pages used for memmap DMA32 zone: 520176 pages, LIFO batch:31 On node 1 totalpages: 524288 DMA32 zone: 7672 pages used for memmap DMA32 zone: 491008 pages, LIFO batch:31 Normal zone: 520 pages used for memmap Normal zone: 33280 pages, LIFO batch:7 In this dmesg, the SRAT table reports that the memory range for node 1 starts at 0x80200000. However, the line starting with "Initmem" reports that node 1 memory range starts at 0x80800000. The "Initmem" line is reported by setup_node_data() and is wrong, because the kernel ends up using the range as reported in the SRAT table. This commit drops all that dead code from setup_node_data(), renames it to alloc_node_data() and adds a printk() to free_area_init_node() so that we report a node's memory range accurately. Here's the same dmesg section with this patch applied: SRAT: PXM 0 -> APIC 0x00 -> Node 0 SRAT: PXM 0 -> APIC 0x01 -> Node 0 SRAT: PXM 1 -> APIC 0x02 -> Node 1 SRAT: PXM 1 -> APIC 0x03 -> Node 1 SRAT: Node 0 PXM 0 [mem 0x00000000-0x7fffffff] SRAT: Node 1 PXM 1 [mem 0x80200000-0xf7ffffff] SRAT: Node 1 PXM 1 [mem 0x100000000-0x1081fffff] NUMA: Node 1 [mem 0x80200000-0xf7ffffff] + [mem 0x100000000-0x1081fffff] -> [mem 0x80200000-0x1081fffff] NODE_DATA(0) allocated [mem 0x7ffdc000-0x7ffeffff] NODE_DATA(1) allocated [mem 0x1081ea000-0x1081fdfff] crashkernel: memory value expected [ffffea0000000000-ffffea0001ffffff] PMD -> [ffff88007de00000-ffff88007fdfffff] on node 0 [ffffea0002000000-ffffea00043fffff] PMD -> [ffff880105600000-ffff8801077fffff] on node 1 Zone ranges: DMA [mem 0x00001000-0x00ffffff] DMA32 [mem 0x01000000-0xffffffff] Normal [mem 0x100000000-0x1081fffff] Movable zone start for each node Early memory node ranges node 0: [mem 0x00001000-0x0009efff] node 0: [mem 0x00100000-0x7ffeffff] node 1: [mem 0x80200000-0xf7ffffff] node 1: [mem 0x100000000-0x1081fffff] Initmem setup node 0 [mem 0x00001000-0x7ffeffff] On node 0 totalpages: 524174 DMA zone: 64 pages used for memmap DMA zone: 21 pages reserved DMA zone: 3998 pages, LIFO batch:0 DMA32 zone: 8128 pages used for memmap DMA32 zone: 520176 pages, LIFO batch:31 Initmem setup node 1 [mem 0x80200000-0x1081fffff] On node 1 totalpages: 524288 DMA32 zone: 7672 pages used for memmap DMA32 zone: 491008 pages, LIFO batch:31 Normal zone: 520 pages used for memmap Normal zone: 33280 pages, LIFO batch:7 This commit was tested on a two node bare-metal NUMA machine and Linux as a numa guest on hyperv and qemu/kvm. PS: The wrong memory range reported by setup_node_data() seems to be harmless in the current kernel because it's just not used. However, that bad range is used in kernel 2.6.32 to initialize the old boot memory allocator, which causes a crash during boot. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9661d5bcd058fe15b4138a00d96bd36516134543 Author: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Date: Fri Aug 22 13:27:34 2014 -0700 x86/mm/hotplug: Modify PGD entry when removing memory When hot-adding/removing memory, sync_global_pgds() is called for synchronizing PGD to PGD entries of all processes MM. But when hot-removing memory, sync_global_pgds() does not work correctly. At first, sync_global_pgds() checks whether target PGD is none or not. And if PGD is none, the PGD is skipped. But when hot-removing memory, PGD may be none since PGD may be cleared by free_pud_table(). So when sync_global_pgds() is called after hot-removing memory, sync_global_pgds() should not skip PGD even if the PGD is none. And sync_global_pgds() must clear PGD entries of all processes MM. Currently sync_global_pgds() does not clear PGD entries of all processes MM when hot-removing memory. So when hot adding memory which is same memory range as removed memory after hot-removing memory, following call traces are shown: kernel BUG at arch/x86/mm/init_64.c:206! ... [<ffffffff815e0c80>] kernel_physical_mapping_init+0x1b2/0x1d2 [<ffffffff815ced94>] init_memory_mapping+0x1d4/0x380 [<ffffffff8104aebd>] arch_add_memory+0x3d/0xd0 [<ffffffff815d03d9>] add_memory+0xb9/0x1b0 [<ffffffff81352415>] acpi_memory_device_add+0x1af/0x28e [<ffffffff81325dc4>] acpi_bus_device_attach+0x8c/0xf0 [<ffffffff813413b9>] acpi_ns_walk_namespace+0xc8/0x17f [<ffffffff81325d38>] ? acpi_bus_type_and_status+0xb7/0xb7 [<ffffffff81325d38>] ? acpi_bus_type_and_status+0xb7/0xb7 [<ffffffff813418ed>] acpi_walk_namespace+0x95/0xc5 [<ffffffff81326b4c>] acpi_bus_scan+0x9a/0xc2 [<ffffffff81326bff>] acpi_scan_bus_device_check+0x8b/0x12e [<ffffffff81326cb5>] acpi_scan_device_check+0x13/0x15 [<ffffffff81320122>] acpi_os_execute_deferred+0x25/0x32 [<ffffffff8107e02b>] process_one_work+0x17b/0x460 [<ffffffff8107edfb>] worker_thread+0x11b/0x400 [<ffffffff8107ece0>] ? rescuer_thread+0x400/0x400 [<ffffffff81085aef>] kthread+0xcf/0xe0 [<ffffffff81085a20>] ? kthread_create_on_node+0x140/0x140 [<ffffffff815fc76c>] ret_from_fork+0x7c/0xb0 [<ffffffff81085a20>] ? kthread_create_on_node+0x140/0x140 This patch clears PGD entries of all processes MM when sync_global_pgds() is called after hot-removing memory Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Acked-by: Toshi Kani <toshi.kani@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5255e0a79fcc0ff47b387af92bd9ef5729b1b859 Author: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Date: Fri Aug 22 13:27:31 2014 -0700 x86/mm/hotplug: Pass sync_global_pgds() a correct argument in remove_pagetable() When hot-adding memory after hot-removing memory, following call traces are shown: kernel BUG at arch/x86/mm/init_64.c:206! ... [<ffffffff815e0c80>] kernel_physical_mapping_init+0x1b2/0x1d2 [<ffffffff815ced94>] init_memory_mapping+0x1d4/0x380 [<ffffffff8104aebd>] arch_add_memory+0x3d/0xd0 [<ffffffff815d03d9>] add_memory+0xb9/0x1b0 [<ffffffff81352415>] acpi_memory_device_add+0x1af/0x28e [<ffffffff81325dc4>] acpi_bus_device_attach+0x8c/0xf0 [<ffffffff813413b9>] acpi_ns_walk_namespace+0xc8/0x17f [<ffffffff81325d38>] ? acpi_bus_type_and_status+0xb7/0xb7 [<ffffffff81325d38>] ? acpi_bus_type_and_status+0xb7/0xb7 [<ffffffff813418ed>] acpi_walk_namespace+0x95/0xc5 [<ffffffff81326b4c>] acpi_bus_scan+0x9a/0xc2 [<ffffffff81326bff>] acpi_scan_bus_device_check+0x8b/0x12e [<ffffffff81326cb5>] acpi_scan_device_check+0x13/0x15 [<ffffffff81320122>] acpi_os_execute_deferred+0x25/0x32 [<ffffffff8107e02b>] process_one_work+0x17b/0x460 [<ffffffff8107edfb>] worker_thread+0x11b/0x400 [<ffffffff8107ece0>] ? rescuer_thread+0x400/0x400 [<ffffffff81085aef>] kthread+0xcf/0xe0 [<ffffffff81085a20>] ? kthread_create_on_node+0x140/0x140 [<ffffffff815fc76c>] ret_from_fork+0x7c/0xb0 [<ffffffff81085a20>] ? kthread_create_on_node+0x140/0x140 The patch-set fixes the issue. This patch (of 2): remove_pagetable() gets start argument and passes the argument to sync_global_pgds(). In this case, the argument must not be modified. If the argument is modified and passed to sync_global_pgds(), sync_global_pgds() does not correctly synchronize PGD to PGD entries of all processes MM since synchronized range of memory [start, end] is wrong. Unfortunately the start argument is modified in remove_pagetable(). So this patch fixes the issue. Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Acked-by: Toshi Kani <toshi.kani@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 971427f353f3c42c8dcef62e7124440df68eb809 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Mon Sep 15 19:37:25 2014 -0700 openvswitch: Add recirc and hash action. Recirc action allows a packet to reenter openvswitch processing. currently openvswitch lookup flow for packet received and execute set of actions on that packet, with help of recirc action we can process/modify the packet and recirculate it back in openvswitch for another pass. OVS hash action calculates 5-tupple hash and set hash in flow-key hash. This can be used along with recirculation for distributing packets among different ports for bond devices. For example: OVS bonding can use following actions: Match on: bond flow; Action: hash, recirc(id) Match on: recirc-id == id and hash lower bits == a; Action: output port_bond_a Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> commit 32ae87ff795781b7ceffc44b7c694c1bb206a266 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Mon Sep 15 19:33:50 2014 -0700 openvswitch: simplify sample action implementation The current sample() function implementation is more complicated than necessary in handling single user space action optimization and skb reference counting. There is no functional changes. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> commit 8c8b1b83fcdd0f05e1f66ed6f8a2e831d5d374a2 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Mon Sep 15 19:28:44 2014 -0700 openvswitch: Use tun_key only for egress tunnel path. Currently tun_key is used for passing tunnel information on ingress and egress path, this cause confusion. Following patch removes its use on ingress path make it egress only parameter. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Andy Zhou <azhou@xxxxxxxxxx> commit 83c8df26a3b654871c0503fcf6eac61777e12ea1 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Mon Sep 15 19:20:31 2014 -0700 openvswitch: refactor ovs flow extract API. OVS flow extract is called on packet receive or packet execute code path. Following patch defines separate API for extracting flow-key in packet execute code path. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Andy Zhou <azhou@xxxxxxxxxx> commit 2ff3e4e4868675da1024175215991fa6d9856731 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Mon Sep 15 19:15:28 2014 -0700 openvswitch: Remove pkt_key from OVS_CB OVS keeps pointer to packet key in skb->cb, but the packet key is store on stack. This could make code bit tricky. So it is better to get rid of the pointer. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> commit 40d201af0b9e6196a210b97d3b2493b1156564f6 Merge: 29a7d17 a126249 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Sep 16 16:02:09 2014 +1000 Merge tag 'drm-intel-next-2014-09-05' of git://anongit.freedesktop.org/drm-intel into drm-next - final bits (again) for the rotation support (Sonika Jindal) - support bl_power in the intel backlight (Jani) - vdd handling improvements from Ville - i830M fixes from Ville - piles of prep work all over to make skl enabling just plug in (Damien, Sonika) - rename DP training defines to reflect latest edp standards, this touches all drm drivers supporting DP (Sonika Jindal) - cache edids during single detect cycle to avoid re-reading it for e.g. audio, from Chris - move w/a for registers which are stored in the hw context to the context init code (Arun&Damien) - edp panel power sequencer fixes, helps chv a lot (Ville) - piles of other chv fixes all over - much more paranoid pageflip handling with stall detection and better recovery from Chris - small things all over, as usual * tag 'drm-intel-next-2014-09-05' of git://anongit.freedesktop.org/drm-intel: (114 commits) drm/i915: Update DRIVER_DATE to 20140905 drm/i915: Decouple the stuck pageflip on modeset drm/i915: Check for a stalled page flip after each vblank drm/i915: Introduce a for_each_plane() macro drm/i915: Rewrite ABS_DIFF() in a safer manner drm/i915: Add comments explaining the vdd on/off functions drm/i915: Move DP port disable to post_disable for pch platforms drm/i915: Enable DP port earlier drm/i915: Turn on panel power before doing aux transfers drm/i915: Be more careful when picking the initial power sequencer pipe drm/i915: Reset power sequencer pipe tracking when disp2d is off drm/i915: Track which port is using which pipe's power sequencer drm/i915: Fix edp vdd locking drm/i915: Reset the HEAD pointer for the ring after writing START drm/i915: Fix unsafe vma iteration in i915_drop_caches drm/i915: init sprites with univeral plane init function drm/i915: Check of !HAS_PCH_SPLIT() in PCH transcoder funcs drm/i915: Use HAS_GMCH_DISPLAY un underrun reporting code drm/i915: Use IS_BROADWELL() instead of IS_GEN8() in forcewake code drm/i915: Don't call gen8_fbc_sw_flush() on chv ... commit 299e14734c22994e69c913e66ab1f4bb56423f5d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Sep 15 22:35:36 2014 +0900 ARM: shmobile: r8a7794: Reserve memory as other R-Car Gen2 SoCs Other R-Car Gen2 SoCs such as r8a7790 and r8a7791 reserve the top 256 MiB of memory for use with CMA. Adjust the board-less r8a7794 code to do the same. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 29a7d1795a0376beee6c0f7515fae3789277e03e Merge: 94d12b1 37b9b81 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Sep 16 14:59:16 2014 +1000 Merge branch 'drm-next-ast-fixes' of ssh://people.freedesktop.org/~/linux into drm-next Pull in first set of changes from Ben for ast on ppc. I've done a quick boot test on x86 and it still seems to boot. * 'drm-next-ast-fixes' of ssh://people.freedesktop.org/~/linux: drm/ast: Cleanup analog init code path drm/ast: Don't assume DVO enabled means SIL164 on uninitialized chips drm/ast: Properly initialize P2A base before using it in ast_init_3rdtx() drm/ast: POST chip at probe time if VGA not enabled drm/ast: Try to use MMIO registers when PIO isn't supported commit 94d12b137c2dccdd9a8c6586c96404484e2ab1df Author: Y.C. Chen <yc_chen@xxxxxxxxxxxxxx> Date: Thu Aug 28 17:11:04 2014 +0800 drm/ast: Add reduced blanking modes for wide screen mode Signed-off-by: Egbert Eich <eich@xxxxxxxx> Tested-by: Steven You2 Liang <liangyou2@xxxxxxxxxx> Signed-off-by: Y.C. Chen <yc_chen@xxxxxxxxxxxxxx> v3: based on [PATCH 1/2] drm/ast: Add missing entry to dclk_table[]. Add reduced blanking modes, improve mode matching to identify these modes by thier sync polarities. [airlied: argh whitespace damage] Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 1ffa4ad042c3151b57ba3f316d5582166f964537 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Sep 16 05:33:33 2014 +0200 Bluetooth: btusb: Split fragement receiption into separate functions The actual packet reassembly should be done inside the driver. To allow this to happen cleanly in future patches, split the fragment reception into its own functions. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 89e7533d0a96860f8aa24d05c9e35b18fdc28a61 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Sep 16 04:44:50 2014 +0200 Bluetooth: btusb: Fix old coding style issues The btusb driver has been around for a while now and it is time to bring its coding style in sync with what has been done for the Bluetooth subsystem and other drivers. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 610bd8722ef40b649b51f01045c5d1903f41b583 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Wed Aug 20 15:38:26 2014 +0800 ARM: dts: hix5hd2: add wdg node Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 6868feb6dd97ec1b273cca95e8dec9471f1d9f23 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Wed Aug 20 15:36:37 2014 +0800 ARM: dts: hix5hd2: add gpio node Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 420a2d55f0464a4b4762411ca7047979d9ad17eb Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Wed Aug 20 15:14:39 2014 +0800 ARM: dts: hix5hd2: add sata node Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit f16c7fb2f3ff258322850ac6f558d3b61ceb5a2b Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Wed Aug 20 14:57:44 2014 +0800 ARM: dts: hix5hd2: add usb node Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit b196e1ca400dca770ac22d158741cf646207a6e2 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Wed Aug 20 14:37:48 2014 +0800 ARM: dts: hix5hd2: add mmc node Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit de8b6054780e464038676baf399c816e239dd9b3 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Tue Aug 19 11:00:33 2014 +0800 ARM: dts: hix5hd2: add gmac node Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 2b2244a3e7c3d537f436a3580999b3032628d17d Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Thu Sep 11 11:29:41 2014 +0800 ARM: dts: imx6: make gpt per clock can be from OSC Original gpt per clk parent is from ipg_per clk which may be scaled when system enter low bus mode, as ipg clk will be lower in low bus mode, to keep system clk NOT drift, select gpt per clk parent from OSC which is at fixed freq always. On i.mx6qdl, add a osc_per clk source for i.mx6q TO > 1.0 and all i.MX6dl SoC. On i.mx6sx, just make gpt per clk from OSC. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7cab35c3643d9ad3b34eaf8501ab5292b6d41fcf Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:31 2014 -0700 ARM: dts: imx: ventana: add canbus support for GW52xx The GW52xx baseboard supports CANbus so we enable it, configure its pinmux and CAN_STBY gpio. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit b5f37b76053afe8863ce9a753903932eb542eca9 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:30 2014 -0700 ARM: dts: imx: ventana: cleanup pinctrl groups Follow the conventions for pinctrl: - grouping pinctrl in logical alphabatized groups - remove any pinctrl not being used by a driver or needed by user - move iomuxc to bottom of file for readability Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 73e005c111bc3f77ca3793d465539a11e7604c71 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:29 2014 -0700 ARM: dts: imx: ventana: configure padconf for all pins Follow the convention of configuring padconf for all pins and not leaving any 0x80000000 to leave them un-configured. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 326cdb16552c3670fefd583d94fe797e776130b6 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:28 2014 -0700 ARM: dts: imx: ventana: use gpio constants Use the gpio contants defined in bindings for active high/low Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e32ba7a7dad114d87c4d7411d07af7a26e4119ce Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:27 2014 -0700 ARM: dts: imx: ventana: remove unused aliases Remove aliases that are either not used by bootloader or are provided via included dtsi files. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit ea3b555e44a62a31fc90e1e034a8c797b92db28e Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:26 2014 -0700 ARM: dts: imx: ventana: remove unsupported dt nodes The general device-tree rule is to not include nodes that do not have a driver or bindings in a dts/dtsi. Remove the place-holder nodes from the Gateworks Ventana boards until a time that a driver with proper bindings exists. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 0361598baddc926d146b7f49e01c2231e19edaef Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:26:03 2014 +0200 ARM: dts: imx28-tx28: add alias for CAN XCVR regulator This alias is used by U-Boot to enable/disable the regulator depending on baseboard type. Signed-off-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d7dbe2c78f74f1d6514b2ea4fc3f4740f01f70c5 Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:26:02 2014 +0200 ARM: dts: imx28-tx28: add spi-gpio as alternative for spi-mxs The spi-mxs driver does not allow full duplex SPI transfers. The spi-gpio driver may be used as an alternative if this is required. Make the choice between those drivers easier for the end user by providing settings for both drivers. Signed-off-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 4d6480ac8c063e270e5edb63b8cf721a6e01f1e6 Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:26:01 2014 +0200 ARM: dts: imx28-tx28: use GPIO flags Signed-off-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e905e7f8d2ed6c59d4b1f2a4cad53b6c2d7eb785 Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:26:00 2014 +0200 ARM: dts: imx28-tx28: remove spidev labels and add third instance of spidev The labels on the spidev nodes are not used and not required, so remove them. The TX28 supports 3 chipselects on the SPI interface. Make all those chipselects available to the user. Signed-off-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 50a8835b9caf40c08b1c7ad440946dd2b6c3eb6a Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Sep 9 17:13:27 2014 +0800 ARM: dts: imx6sl: add baud clock and clock-names for ssi Baud clock is used for bit clock generation in master mode. Ipg clock is peripheral clock and peripheral access clock. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 935632e9938e3e286b9c62a7e54d35c428533cc9 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Sep 9 17:13:26 2014 +0800 ARM: dts: imx6qdl: add baud clock and clock-names for ssi Baud clock is used for bit clock generation in master mode. Ipg clock is peripheral clock and peripheral access clock. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 9a060c1a3bb8f5f3940ddb82cb7aa76a843b96cc Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 5 09:46:10 2014 -0300 ARM: dts: imx6qdl-sabresd: Configure the pins locally Passing '0x80000000' to the pin configuration means that kernel will skip the IOMUXC_SW_PAD_CTL configuration and will use whathever values come from the bootloader. Instead of relying on the bootloader setup, let's configure it in the kernel to have predictable settings. '0x1b0b0' is the default POR value for all these pins and has also been verified that the pins are using this value by manually inspecting the IOMUXC_SW_PAD_CTL registers, so no functional change has been made. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 433fb101132047383b550c58585b5a38797c90d1 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:23 2014 -0300 ARM: dts: imx28-m28evk: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 58a32d91306787d6733767321a14c39afc136d93 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:22 2014 -0300 ARM: dts: imx28-tx28: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7f0d61d6365c01b5941e2c166684392ccf9c340c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:21 2014 -0300 ARM: dts: imx28-m28cu: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7029b396b08aeb15d8cb23c4bff3e10c1f518238 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:20 2014 -0300 ARM: dts: imx28-cfa100: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit ee99b4636b3108a3a6d92f1189b797006e4416e9 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:19 2014 -0300 ARM: dts: imx28-apf28dev: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the wa Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d46c2dc14e92a7d7153f24b1e03321fc694ae906 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:18 2014 -0300 ARM: dts: imx28-apx4devkit: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 3f50a61937b3fabe0c46123cef48e2569042ca07 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 22:45:14 2014 -0300 ARM: dts: imx6sl-evk: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@02220000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 3148092df08f741d677c8eadce5a409555eda32c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 22:45:13 2014 -0300 ARM: dts: imx23-evk: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 20d412b2d805d650d1b820d41a80e023d6a98461 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 22:45:12 2014 -0300 ARM: dts: imx28-evk: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 31ffdbc80c8f139b0fe7f117d04bca0165e7e35e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 15:00:44 2014 -0300 ARM: dts: imx6x-sdb: Add LCD support Add support for the "MX28LCD Seiko 4.3' WVGA" panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 8c78c407bc1b0312e02a3ba9685495c6a2fa7f17 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 15:00:43 2014 -0300 ARM: dts: imx6sx: Add LCDIF compatible strings imx6sx has the same LCDIF controller IP as in mx28, so add the proper compatible strings. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7591e5cd1c10e5764aaf7ce50c7c6c50b7f6aa36 Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Mon Sep 1 20:44:32 2014 +0200 ARM: dts: apf27dev: add max1027 in the dts Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit fcd1730394330bdccac762190f8ec50d06c24daf Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Thu Aug 7 19:39:41 2014 +0200 ARM: imx6: add pci config space as platform resource Fixes "imx6q-pcie 1ffc000.pcie: missing *config* reg space" error exposed by new versions of the designware pcie driver. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit acc3329e04029f41f69d07a22d5c450094230213 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sun Aug 31 15:54:15 2014 +0400 ARM: dts: Add support for the i.MX1 Armadeus APF9328 board This patch adds support for the i.MX1 APF9328 from Armadeus. This change is intended to further remove non-DT support for this board. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d56ac1929cfe00e2071524a6fcbb340f7faef66e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 15:34:07 2014 +0100 ARM: dts: hummingboard: fix configuration of IR input Add the IOMUX setting for the IR input, rather than relying on the boot loader. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit af3f973b8706b9754eab4f3eccfd332a570046f9 Author: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Date: Sat Aug 23 10:11:47 2014 +0100 ARM: dts: hummingboard: gpio-ir on gpio 3,5 HummingBoard after rev 2.0 and the production one starting rev 3.0 uses gpio 3,5 (EIM_DA5 pad) as the gpio infra red receiver input. Since the original Carrier1 board is obsolete and we are retiring it, update the DT file for this. This will mean IR reception will not work on Carrier1 with this DT file. Signed-off-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 4011009d2300f23e60a780ac3fb3609aafd30874 Author: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Date: Sat Aug 23 10:11:42 2014 +0100 ARM: dts: hummingboard: add mSATA support for iMX6 quad/dual HummingBoard Initial patch from Rabeeh, but with the electrical properties added. Signed-off-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 4cd4f509c5dc3f935911c49f9813e2fc29063a6b Author: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Date: Sat Aug 23 10:11:36 2014 +0100 ARM: dts: hummingboard: Split HummingBoard DT to support s/dl and d/q Signed-off-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 49bdf58e9b0479f854232407b1e298efe2b27e5c Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Date: Fri Aug 22 14:02:27 2014 +0200 ARM: dts: i.MX53: add pmu node The i.MX53 has a Cortex-A8 Performance Monitor Unit. Add it to the dtsi. Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7881fb3f2272eb6f24270e1e228362242696d013 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Aug 22 11:13:02 2014 +0200 ARM: dts: nitrogen6x: Add Intersil ISL1208 RTC This patch adds the battery backed real time clock connected to I2C1 to the device tree. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e99b077bb340e37642b3eefda0de224ce1c8ee28 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 19 15:21:14 2014 -0300 ARM: dts: imx6sl-evk: Add LCD support Add support for the "MX28LCD Seiko 4.3' WVGA" panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 1bb9dae59f673fa0adcc4cd1c9e5e822e1382bc2 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 19 15:21:13 2014 -0300 ARM: dts: imx6sl-evk.dts: Keep pinctrl nodes sorted Let's keep pinctrl nodes sorted. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 4e394cd999fe99cbebd0c8ca753d000d6db66f59 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Fri Aug 22 14:52:54 2014 -0700 ARM: dts: Gateworks GW5520 support (i.MX6) Add support for the Gateworks GW5520 board. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 6ff7f51ef9d34a7be945468de8383f29e151ce11 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 20:00:09 2014 +0400 ARM: i.MX: dts: Add simple-card support This patch adds simple-card support to the i.MX SoCs. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit ce253b5622c1e8da28d0be938747692414355681 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 10:33:47 2014 +0400 ARM: i.MX: dts: Add support for the Freescale i.MX1 ADS board This patch adds support for the Freescale (Motorola) i.MX1 ADS board. This change is intended to further remove non-DT support for this board. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 49b2ae0ca02cbc972255ade1c96a6a1c347cbd8c Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Aug 18 22:07:17 2014 +0200 ARM: dts: vf610-twr: Add USB support Add USB support for Freescale Vybrid tower. The USB hosts over-current protection signal is not connected to the PHY's over- current protection, hence we need to disable it. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 0500953b4970ac1c56a26492024e74480982c088 Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Aug 18 22:07:16 2014 +0200 ARM: dts: vf610-colibri: Add USB support Add USB support for Colibri VF61 modules. The Colibri standard pinout defines a pin for USB over-current. However, due to lack of pinmux options, the USB hosts over-current protection signal of the Colibri standard could not be connected to the PHY's over-current protection. Hence we need to disable the over-current functionality of the USB controller. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 763dab227874c0550bdc0aed5b1e4ac04ea3971a Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Aug 18 22:07:14 2014 +0200 ARM: dts: vf610: Add usbmisc for non-core registers Add device tree node for usbmisc which controls the non-core USB registers. This is required to use the property to disable the over- current detection. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e34a68a316e71290d1d46a24ec6d80420c785759 Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Aug 18 22:07:11 2014 +0200 ARM: dts: vf610: Add USB PHY and controller This adds USB PHY and USB controller nodes. Vybrid SoCs have two independent USB cores which each supports DR (dual role). However, real OTG is not supported since the OTG ID pin is not available. The PHYs are located within the anadig register range, hence we need to change the length of the anadig registers. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 17c63dd0c3f285a78d9becd36bd5db4d7d7e8e7b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:24:22 2014 +0200 ARM: dts: imx28: add alternative pinmuxing for i2c1 Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 77d6386b3b2848b06a60a549a765651d0690d193 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:24:21 2014 +0200 ARM: dts: imx28: add pinmuxing for mmc1 Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> [ukl: rebase from ancient kernel version] Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 1a3c460cb9e6f9ff41a7116a485d18120311776f Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Aug 7 21:52:40 2014 +0200 ARM: dts: imx25-pinfunc: Add several pin configurations This patch adds pin configurations for: - csi aud6 - cspi1 uart3 - csi uart5 - cc - csi sdhc2 - csi cspi3 - sd1 cspi2 - cspi1 pwm Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 0f4290579fe55fd471fb6aa39fd37a44538f7a97 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Aug 7 21:52:38 2014 +0200 ARM: dts: imx25: remove imx35-sdma compatible The preloaded script addresses on imx25 and imx35 are different, so imx25 is not compatible with imx35-sdma unless a custom firmware is loaded. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d8c99930f1402931809f6da2dfd42d56c620e0d7 Author: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Date: Tue Aug 5 13:34:01 2014 -0400 ARM: dts: vf610-twr: Add ttyLP2 device. The ttyLP1 is already the default console/serial port. The tower board will route ttyLP2 to the same connectors depending on the JP23/24 settings. See: http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/276457.html http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/275576.html Signed-off-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 2998b332b8a8e727637f3a5811ed46a31124380c Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Tue Aug 5 17:34:52 2014 +0800 ARM: dts: add thermal sensor support for i.mx6sl Add thermal sensor support for i.MX6SL. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d0eb8fc5a59200a51b47f91b14242751b3225dda Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Jul 26 13:45:29 2014 +0400 ARM: dts: i.MX1: Add i.MX1 template This patch adds basic devicetree template for i.MX1 based SoCs. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 1dffdd6816faa0cb3936a3a354223a95d646de22 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 25 12:49:53 2014 +0200 ARM: dts: nitrogen6x: add i2c3 Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d653620e8fba04b1677bc3104dcbdc413673f0c7 Author: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Date: Fri Jul 25 12:49:52 2014 +0200 ARM: dts: nitrogen6x: add hdmi Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 43c3c0069493849892ac34ccfc328e5043ac9e6b Author: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Date: Fri Jul 25 12:49:51 2014 +0200 ARM: dts: nitrogen6x: add i2c2 Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 78827ec071ef4971a89e1da6349f2b73539639c3 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Jul 23 19:29:11 2014 +0200 ARM: dts: imx6qdl-sabresd: add always on pcie regulator Everything in the PCI specification assumes devices to be enumerable on startup. This is only possible if they have power available. A future improvement may allow this regulator to be switched off for D3hot and D3cold power states, but there is a lot of work to do the pcie host controller side for this to work. To keep things simple always enable the regulator for now. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 10f34a1341e374f372e3ff82f674e2475b262f9b Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Jul 18 16:25:18 2014 +0200 ARM: dts: vf610-colibri: split device tree for carrier boards The Colibri VF61 is a module which needs a carrier board to actually run. Different carrier board have different hardware support, hence we should reflect this in the device tree files. This patch adds the Colibri Evaluation Board, which supports almost all peripherals defined in the Colibri standard. Also align the compatible naming, file splitting and file naming with the scheme which was choosen for the Tegra based modules. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 155b2fd3d6862509ccb356ff20fff8115d36eedb Merge: ee64100 64546e9 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Tue Sep 16 10:24:58 2014 +0800 Merge branch 'imx/soc' into imx/dt commit ee64100953e9657532cef5f7bdace3f8cc691c29 Merge: 69e273c bd597f4 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Tue Sep 16 10:24:16 2014 +0800 Merge tag 'ib-mfd-arm-v3.18' into imx/dt Immutable branch between MFD and some ARM sub-arch maintainers. commit 64546e9fe3a5b8cf62c946521c71d0532d399850 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 9 23:40:41 2014 -0300 ARM: imx_v6_v7_defconfig updates The rtc isl1208 driver is used by mx6 nitrogen board, so let's enable it by default. The fsl sai driver is used by the vf610-twr board, so let's enable it by default. simple-audio-card driver is used by the vf610-twr board, so let's enable it by default. Generated this patch by doing: - make imx_v6_v7_defconfig - make menuconfig and manually select options - make savedefconfig - cp defconfig arch/arm/configs/imx_v6_v7_defconfig ,which results in some additional cleanups. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 0650f855d2e4b0b9b55f58bdd966a6769a5d2d90 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 5 11:34:23 2014 -0300 ARM: imx_v4_v5_defconfig: Select CONFIG_IMX_WEIM The imx weim driver is used by some mx27/mx1 boards, so let's enable it by default. Generated this patch by doing: - make imx_v4_v5_defconfig - make menuconfig and manually select CONFIG_IMX_WEIM - make savedefconfig - cp defconfig arch/arm/configs/imx_v4_v5_defconfig ,which results in some additional cleanups. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 75fd32b8ef68adf273c233b34c6b898780d290f2 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Sep 13 11:31:15 2014 -0700 arm: mach-imx: Convert pr_warning to pr_warn Use the more common pr_warn. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit bad3db104f8922df2c84fd7653cfbcbc93cd0cb7 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Thu Sep 11 11:29:42 2014 +0800 ARM: imx: source gpt per clk from OSC for system timer On i.MX6Q TO > 1.0, i.MX6DL and i.MX6SX, gpt per clock can be from OSC instead of ipg_per, as ipg_per's rate may be scaled when system enter low bus mode, to keep system timer NOT drift, better to make gpt per clock at fixed rate, here add support for gpt per clock to be from OSC which is at fixed rate always. There are some difference on this implementation of gpt per clock source, see below for details: i.MX6Q TO > 1.0: GPT_CR_CLKSRC, b'101 selects fix clock of OSC / 8 for gpt per clk; i.MX6DL and i.MX6SX: GPT_CR_CLKSRC, b'101 selects OSC for gpt per clk, and we must enable GPT_CR_24MEM to enable OSC clk source for gpt per, GPT_PR_PRESCALER24M is for pre-scaling of this OSC clk, here set it to 8 to make gpt per clk is 3MHz; i.MX6SL: ipg_per can be from OSC directly, so no need to implement this new clk source for gpt per. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 6f11c69d35d5b1db0ec4cfccd0188b00eada3ad3 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Thu Sep 11 11:29:40 2014 +0800 ARM: imx: add gpt_3m clk for i.mx6qdl Add gpt_3m clock for i.mx6qdl, as gpt can source clock from OSC, some i.MX6 series SOCs has fixed divider of 8 for gpt clock, so here add a fix clk of gpt_3m. i.MX6Q TO1.0 has no gpt_3m option, so force it to be from ipg_per. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 69d9a3fe06ed4bdb69f0a20cfa031dbcb0ee8dc3 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Fri Sep 12 10:40:28 2014 +0800 ARM: imx: fix register offset of pll7_usb_host gate clock There is a copy&paste error on register offset of pll7_usb_host gate clock introduced by i.MX6 PLL bypass support patches. The error breaks the ENET function, because it overwrites the pll6_enet gate bit. Correct the offset for all i.MX6 clock drivers. Thanks to Fugang Duan <B38611@xxxxxxxxxxxxx> for spotting the error. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit dbaf381ffbf3acd4ac9a987f567a2b1a5edf6e62 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Sep 9 17:13:25 2014 +0800 ARM: clk-imx6sl: refine clock tree for SSI Each SSI has "ssi", "ssi_ipg" clocks, and they share same gate bits. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit dc4805c2e78ba5a22ea1632f3e3e4ee601a1743b Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Tue Aug 26 23:06:33 2014 +0800 ARM: imx: remove ENABLE and BYPASS bits from clk-pllv3 driver Since ENABLE and BYPASS bits of PLLs are now implemented as separate gate and mux clocks by clock drivers, the code handling these two bits can be removed from clk-pllv3 driver. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit db7c0659452c5f490ea5048390ad94de786f4b85 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Mon Sep 1 15:15:57 2014 +0800 ARM: imx6sx: add BYPASS support for PLL clocks This is the same change for imx6sx clock driver as "ARM: imx6q: add BYPASS support for PLL clocks" for imx6q. The difference is that only anaclk1 is available on imx6sx. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e90f41990dce3557e345410ef33b0a47e8cb49fc Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Mon Sep 1 14:29:53 2014 +0800 ARM: imx6sl: add BYPASS support for PLL clocks This is the same change for imx6sl clock driver as "ARM: imx6q: add BYPASS support for PLL clocks" for imx6q. The difference is that only anaclk1 is available on imx6sl. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit b1f156db47ae914a308488ce28e84f3d4ad4f667 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Mon Sep 1 14:17:48 2014 +0800 ARM: imx6q: add BYPASS support for PLL clocks The imx6q clock driver currently hard-codes all PLL clocks to source from OSC24M without BYPASS support. The patch adds the missing lvds_in clock which is mutually exclusive with lvds_gate, and implements BYPASS and BYPASS_CLK_SRC selection for PLL clocks as per Figure 10-3. Primary Clock Generation in IMX6DQRM, i.e. both BYPASS_CLK_SRC and BYPASS bits are implemented as mux clocks, and ENABLE bit of PLL clocks is implemented as a gate clock after BYPASS mux. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 19d863446a6b75b2f97b3012acf67c40b9f2ea1f Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Tue Aug 26 15:06:33 2014 +0800 ARM: imx: add an exclusive gate clock type There are a couple of gate clocks are mutually exclusive on i.MX6, i.e. LVDSCLK1_IBEN and LVDSCLK1_OBEN. They cannot be enabled simultaneously. This patches adds an exclusive gate clock type specifically for such case. The clock driver will need to call imx_clk_gate_exclusive() to register a gate clock with parameter exclusive_mask indicating the mask of gate bits which are mutually exclusive to this gate clock. Right now, it only handles the exclusive gate clocks which are defined in a single hardware register, which is the case we're running into today. But it can be extended to handle exclusive gate clocks defined in different registers later if needed. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit bd404b1d337b960c44b75fcb01e3170f1d41ae80 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Thu Sep 4 17:48:59 2014 +0800 ARM: clk-imx6q: refine clock tree for SSI Each SSI has "ssi", "ssi_ipg" clocks, and they share same gate bits. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit aec247d4ac578693ee75ac2bf10eac1c29299c45 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Thu Sep 4 17:48:58 2014 +0800 ARM: clk-imx6q: refine clock tree for ASRC ASRC has "asrc", "asrc_ipg", "asrc_mem" clocks, and they share the same gate bits. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e37c1ad0327af0639f6358357f60f6209f8bbad6 Author: Fancy Fang <chen.fang@xxxxxxxxxxxxx> Date: Thu Sep 4 16:33:12 2014 +0800 ARM: clk-imx6sl: correct the pxp and epdc axi clock selections The parent clocks of IMX6SL_CLK_PXP_AXI_SEL and IMX6SL_CLK_EPDC_AXI_SEL clocks are not the same. So split the epdc_pxp_sels into two different clock selections 'pxp_axi_sels' and 'epdc_axi_sels'. Signed-off-by: Fancy Fang <chen.fang@xxxxxxxxxxxxx> Signed-off-by: Robby Cai <R63905@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7bce3d23ecfd327bd277598d67e93655fb4cc0ed Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Fri Aug 8 15:02:47 2014 +0800 ARM: clk-imx6q: refine clock tree for ESAI There are three clock for ESAI, esai_extal, esai_ipg, esai_mem. Rename 'esai' to 'esai_extal', 'esai_ahb' to 'esai_mem', and add 'esai_ipg'. Make the clock for ESAI more clear and align them with imx6sx. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 0783a56087e9ecfae2f01f9662ff52081c5b5e25 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 19 15:21:12 2014 -0300 ARM: clk-imx6sl: Select appropriate parents for LCDIF clocks PLL5 is well suited for being the parent of IMX6SL_CLK_LCDIF_PIX_SEL and PLL2_PFD for IMX6SL_CLK_LCDIF_AXI_SEL. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit bad66c3ebdcdb4043bdcfe24ddab4802d5fc4327 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 19 15:21:11 2014 -0300 ARM: clk-imx6sl: Remove csi_lcdif_sels[] Currently csi_lcdif_sels[] is a shared array for the providing the possible clock parents for csi and lcdif blocks. This is not correct, as csi and lcdif do not share the same clock parents. Introduce csi_sels[] for the csi and lcdif_axi_sels[] for the lcdif clocks in order to describe the parents correctly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 21231f81f13db2883f11664b67fc6fb2690e6af2 Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Aug 18 22:07:12 2014 +0200 ARM: imx: clk-vf610: Add USBPHY clocks This commit adds PLL7 which is required for USBPHY1. It also adds the USB PHY and USB Controller clocks and the gates to enable them. Acked-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 47526e410d32f749d78ce2655b6eeb2bffd9ed3d Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Wed Jun 25 17:10:12 2014 +0800 ARM: imx: add cpufreq support for i.mx6sx Add cpufreq support for i.MX6SX, using common i.MX6Q cpufreq driver. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 3b18dd7a86f925951c8543339f8137a80fa40891 Author: Stefan Agner <stefan@xxxxxxxx> Date: Tue Jul 29 16:20:28 2014 +0200 ARM: imx: clk-vf610: introduce clks_init_on At the end of the boot process, the clock framework might disable required main PLL's. So far, this was no issue since drivers requested clocks, which are descended of the main PLL's (e.g. pll1_pfd1, which provides the system clock). To archive the full 500MHz system clock, DDR clock need to be a descendant of PLL2 rather than PLL1 (DDRC_CLK_SEL set to 0). The bootloader sets up the clocks accordingly before making use of DDR at all. However, in Linux, there is no driver using PLL2, which lead to PLL2 being disabled by the clock framework. With this patch, we make sure that the main system clock and the DDR clock are initially enabled and are kept enabled. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 24980dc810f2c41929a50277946737e25ab3c0cd Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Jul 26 13:45:28 2014 +0400 ARM: i.MX1: Add devicetree support This patch adds basic devicetree support for i.MX1 based SoCs. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit c896e938505714d4346388ddc8a82fb190f235aa Author: Jason Liu <r64343@xxxxxxxxxxxxx> Date: Tue Nov 5 12:03:18 2013 +0800 ARM: i.MX6: add more chip revision support Add more revision support for the new i.MX6DQ tape-out (TO1.5). This TO1.5 is the Rev 1.3 as documented in i.MX6DQ data sheet, because TO1.3 and TO1.4 are never revealed. Signed-off-by: Jason Liu <r64343@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit b2efb3f0a1db62aff5e824125785ec6731143b6d Merge: 4ac0736 9e82bf0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Sep 16 11:28:52 2014 +1000 drm: backmerge tag 'v3.17-rc5' into drm-next This is requested to get the fixes for intel and radeon into the same tree for future development work. i915_display.c: fix missing dev_priv conflict. commit 2e151c70dfb0075ff83bec305c52a9da1ba49089 Author: Peter Neubauer <pneubauer@xxxxxxxxxxxxxx> Date: Fri Sep 12 13:06:13 2014 +0200 x86: HPET force enable for e6xx based systems As the Soekris net6501 and other e6xx based systems do not have any ACPI implementation, HPET won't get enabled. This patch enables HPET on such platforms. [ 0.430149] pci 0000:00:01.0: Force enabled HPET at 0xfed00000 [ 0.644838] HPET: 3 timers in total, 0 timers will be used for per-cpu timer Original patch by Peter Neubauer (http://www.mail-archive.com/soekris-tech@xxxxxxxxxxxxxxxxx/msg06462.html) slightly modified by Conrad Kostecki <ck@xxxxxxxxxxxxxxxxxx> and massaged accoring to Thomas Gleixners <tglx@xxxxxxxxxxxxx> by me. Suggested-by: Conrad Kostecki <ck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Eric Sesterhenn <eric.sesterhenn@xxxxxxxxxxxx> Cc: Peter Neubauer <pneubauer@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/5412D3A5.2030909@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 34abee398119acaed0b1fb4318eca5b364cf74e2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Sep 15 12:21:17 2014 +0200 ARM: shmobile: r8a73a4 dtsi: Add SoC-specific irqc compatible property The interrupt controller used the generic compatible property only. Add the SoC-specific one, to make it future proof. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cf34e646dad101170e00712fe51986cbcdad3044 Author: Julian Anastasov <ja@xxxxxx> Date: Tue Sep 9 16:40:30 2014 -0700 ipvs: address family of LBLCR entry depends on svc family The LBLCR entries should use svc->af, not dest->af. Needed to support svc->af != dest->af. Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f7fa38006983c0933a550fa790a3b3d3856394d1 Author: Julian Anastasov <ja@xxxxxx> Date: Tue Sep 9 16:40:29 2014 -0700 ipvs: address family of LBLC entry depends on svc family The LBLC entries should use svc->af, not dest->af. Needed to support svc->af != dest->af. Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 8052ba292559f907ea2ad4c827d83c195046dfe1 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:28 2014 -0700 ipvs: support ipv4 in ipv6 and ipv6 in ipv4 tunnel forwarding Pull the common logic for preparing an skb to prepend the header into a single function and then set fields such that they can be used in either case (generalize tos and tclass to dscp, hop_limit and ttl to ttl, etc) Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit c63e4de2be5e1d253adce16dbba57ed42868bc22 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:27 2014 -0700 ipvs: Add generic ensure_mtu_is_adequate to handle mixed pools The out_rt functions check to see if the mtu is large enough for the packet and, if not, send icmp messages (TOOBIG or DEST_UNREACH) to the source and bail out. We needed the ability to send ICMP from the out_rt_v6 function and DEST_UNREACH from the out_rt function, so we just pulled it out into a common function. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 919aa0b2bbcf013467295dc9736db6fb575a4fb0 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:26 2014 -0700 ipvs: Pull out update_pmtu code Another step toward heterogeneous pools, this removes another piece of functionality currently specific to each address family type. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 4a4739d56b006c4b34dfba03c356056e110521ca Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:25 2014 -0700 ipvs: Pull out crosses_local_route_boundary logic This logic is repeated in both out_rt functions so it was redundant. Additionally, we'll need to be able to do checks to route v4 to v6 and vice versa in order to deal with heterogeneous pools. This patch also updates the callsites to add an additional parameter to the out route functions. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 391f503d69779867f05e9296ae523e9002c2d7ee Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:24 2014 -0700 ipvs: prevent mixing heterogeneous pools and synchronization The synchronization protocol is not compatible with heterogeneous pools, so we need to verify that we're not turning both on at the same time. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ba38528aae6ee2d22226c6a78727ddc13512b068 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:23 2014 -0700 ipvs: Supply destination address family to ip_vs_conn_new The assumption that dest af is equal to service af is now unreliable, so we must specify it manually so as not to copy just the first 4 bytes of a v6 address or doing an illegal read of 16 butes on a v6 address. We "lie" in two places: for synchronization (which we will explicitly disallow from happening when we have heterogeneous pools) and for black hole addresses where there's no real dest. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ad147aa4dd2135e6d86e3329d4009283ba64287f Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:22 2014 -0700 ipvs: Pass destination address family to ip_vs_trash_get_dest Part of a series of diffs to tease out destination family from virtual family. This diff just adds a parameter to ip_vs_trash_get and then uses it for comparison rather than svc->af. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 655eef103d0bd99f540a52f7ede032e120756846 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:21 2014 -0700 ipvs: Supply destination addr family to ip_vs_{lookup_dest,find_dest} We need to remove the assumption that virtual address family is the same as real address family in order to support heterogeneous services (that is, services with v4 vips and v6 backends or the opposite). Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6cff339bbd5f9eda7a5e8a521f91a88d046e6d0c Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:20 2014 -0700 ipvs: Add destination address family to netlink interface This is necessary to support heterogeneous pools. For example, if you have an ipv6 addressed network, you'll want to be able to forward ipv4 traffic into it. This patch enforces that destination address family is the same as service family, as none of the forwarding mechanisms support anything else. For the old setsockopt mechanism, we simply set the dest address family to AF_INET as we do with the service. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 616a9be25cb9516e546c0de55d61e1e46e54ade9 Author: Kenny Mathis <kmathis@xxxxxxxxxxxxxx> Date: Tue Sep 9 09:20:15 2014 -0400 ipvs: Add simple weighted failover scheduler Add simple weighted IPVS failover support to the Linux kernel. All other scheduling modules implement some form of load balancing, while this offers a simple failover solution. Connections are directed to the appropriate server based solely on highest weight value and server availability. Tested functionality with keepalived. Signed-off-by: Kenny Mathis <kmathis@xxxxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b262b35c2ceb989c6b89dae6b8e0c0ce466cc90d Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 17:01:32 2014 +1000 pnfs/blocklayout: include vmalloc.h for __vmalloc Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 55ab9ec99bbfb4450dfa9bc0fd9e2c5052f4c3f7 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:01:55 2014 +0900 mtd: denali: remove a set-but-unused variable The variable "retry" in wait_for_irq() is set, but not used. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 93e3c8adf6fcf2204ca334237b92c7f8cdafce6f Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:01:54 2014 +0900 mtd: denali: change the type of iterators to int We should rathar use "int" type for loop iterators. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3157d1ed23098e3b004e78bc342af10d62f820f7 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:01:53 2014 +0900 mtd: denali: remove unnecessary casts Useless casts result in unreadable source code. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5637b69d1c489d4585c94a2a1d0a38f4e6b1a705 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:01:52 2014 +0900 mtd: denali: remove unnecessary variable initializations All of these variables are initialized to zero and then set to a different value below. Zero-initializing is redundant. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 43914a2dcc8f9fc1c25e6bd2650d8e7ad1a9b04a Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:01:51 2014 +0900 mtd: denali: fix the format of comment blocks We should use /* * Blah Blah ... * ... */ for multi-line comment blocks. In addition, refactor some comments where it seems reasonable and remove some comments where the code is clear enough such as: /* clear interrupts */ clear_interrupts(denali); Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7622d4905a038961da6b1c6c3fe4be6c3dad7ef9 Merge: 5b49ab3 9e82bf0 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Sep 15 16:28:16 2014 -0700 Merge tag 'v3.17-rc5' from upstream commit 6fe8c1dbefd63ef3988edb745d9eb81fc6d0513c Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Wed Sep 10 14:54:09 2014 +0300 scsi: balance out autopm get/put calls in scsi_sysfs_add_sdev() SCSI Well-known logical units generally don't have any scsi driver associated with it which means no one will call scsi_autopm_put_device() on these wlun scsi devices and this would result in keeping the corresponding scsi device always active (hence LLD can't be suspended as well). Same exact problem can be seen for other scsi device representing normal logical unit whose driver is yet to be loaded. This patch fixes the above problem with this approach: - make the scsi_autopm_put_device call at the end of scsi_sysfs_add_sdev to make it balance out the get earlier in the function. - let drivers do paired get/put calls in their probe methods. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 50c4e96411a6cd728f04cf70d8d6def57828b320 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 11:35:50 2014 -0400 scsi: don't store LUN bits in CDB[1] for USB mass-storage devices The SCSI specification requires that the second Command Data Byte should contain the LUN value in its high-order bits if the recipient device reports SCSI level 2 or below. Nevertheless, some USB mass-storage devices use those bits for other purposes in vendor-specific commands. Currently Linux has no way to send such commands, because the SCSI stack always overwrites the LUN bits. Testing shows that Windows 7 and XP do not store the LUN bits in the CDB when sending commands to a USB device. This doesn't matter if the device uses the Bulk-Only or UAS transports (which virtually all modern USB mass-storage devices do), as these have a separate mechanism for sending the LUN value. Therefore this patch introduces a flag in the Scsi_Host structure to inform the SCSI midlayer that a transport does not require the LUN bits to be stored in the CDB, and it makes usb-storage set this flag for all devices using the Bulk-Only transport. (UAS is handled by a separate driver, but it doesn't really matter because no SCSI-2 or lower device is at all likely to use UAS.) The patch also cleans up the code responsible for storing the LUN value by adding a bitflag to the scsi_device structure. The test for whether to stick the LUN value in the CDB can be made when the device is probed, and stored for future use rather than being made over and over in the fast path. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Reported-by: Tiziano Bacocco <tiziano.bacocco@xxxxxxxxx> Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Acked-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 64bdcbc449105377dd60c8da97cfc1663b39562c Author: Kashyap.Desai@xxxxxxxxxxxxx <Kashyap.Desai@xxxxxxxxxxxxx> Date: Wed Aug 20 19:24:33 2014 +0530 scsi: add use_cmd_list flag Add a use_cmd_list flag in struct Scsi_Host to request keeping track of all outstanding commands per device. Default behaviour is not to keep track of cmd_list per sdev, as this may introduce lock contention. (overhead is more on multi-node NUMA.), and only enable it on the two drivers that need it. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2eefd57b97609949ae40952da2dea338e7d9a125 Author: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Date: Mon Aug 11 15:40:37 2014 +0300 sd: Avoid sending medium write commands if device is write protected The SYNCHRONIZE_CACHE command is a medium write command and hence can fail when the device is write protected. Avoid sending such commands by making sure that write-cache-enable is disabled even though the device claim to support it. Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Venkatesh Srinivas <venkateshs@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 74cf298fedfcb732335cae5d157e95295e87cf2a Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sat Aug 16 14:15:11 2014 -0700 scsi: fix various kernel-doc problems in scsi_error.c Convert spaces to tabs in kernel-doc notation. Correct duplicated (copy-paste) kernel-doc comments that are incorrect. Fix kernel-doc warning: Warning(..//drivers/scsi/scsi_error.c:1647): No description found for parameter 'shost' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c1f570a6abc192f047550743f9957b617af605af Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 15 14:48:08 2014 -0700 net: dsa: fix mii_bus to host_dev replacement dsa_of_probe() still used cd->mii_bus instead of cd->host_dev when building with CONFIG_OF=y. Fix this by making the replacement here as well. Fixes: b4d2394d01b ("dsa: Replace mii_bus with a generic host device") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10ee1c34bedcc0e2a196d85ec87806fd111b5e79 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 14:06:49 2014 -0700 net_sched: use tcindex_filter_result_init() Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f9a220eff18d31cf82b92e74d5bbc8a3d7043d8 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 14:06:48 2014 -0700 net_sched: fix suspicious RCU usage in tcindex_classify() This patch fixes the following kernel warning: [ 44.805900] [ INFO: suspicious RCU usage. ] [ 44.808946] 3.17.0-rc4+ #610 Not tainted [ 44.811831] ------------------------------- [ 44.814873] net/sched/cls_tcindex.c:84 suspicious rcu_dereference_check() usage! Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3415d60113f64176114f1bddc09f76c222d85fae Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Sep 14 21:23:01 2014 +0200 regulator: fan53555: enable vin supply The regulator can be supplied by a parent regulator through its vin pin, so add the supply_name for it. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e5b2791d2a57e9da369bd75ae2a209bcce2ad4d3 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Sep 15 19:58:44 2014 +0800 ASoC: rt5677: Revise the wrong name in the header file The patch revises the wrong name in the header file. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a57a65ba47b71e7af67af30466c7e0bd2ec5786d Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 14:06:46 2014 -0700 net_sched: fix an allocation bug in tcindex_set_parms() Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80dcbd12fb30932bb001b913ffe36843e2a1fe3a Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 14:21:50 2014 -0700 net_sched: fix suspicious RCU usage in cls_bpf_classify() Fixes: commit 1f947bf151e90ec0baad2948 ("net: sched: rcu'ify cls_bpf") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05f7588c3c1641f64af93dc042947bbac35f39f6 Author: Nishanth Menon <nm@xxxxxx> Date: Mon Sep 15 14:33:37 2014 -0700 Input: palmas-pwrbutton - fix typo in the license string Follow the license string convention indicated in include/linux/module.h (don't capitalize v). This fixes following randconfig warning: FATAL: modpost: GPL-incompatible module palmas-pwrbutton.ko uses GPL-only symbol 'platform_driver_unregister' Fixes: adff5962fdd2 ("Input: introduce palmas-pwrbutton") Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5cc19b7c5e71bdd1214813c6d65a1dd5b37807ac Author: Nishanth Menon <nm@xxxxxx> Date: Mon Sep 15 14:31:22 2014 -0700 Input: palmas-pwrbutton - use IRQF_ONESHOT make C=2 CHECK="scripts/coccicheck" MODE=report COCCI=scripts/coccinelle/misc/irqf_oneshot.cocci ./drivers/input/misc/palmas-pwrbutton.o Reports: drivers/input/misc/palmas-pwrbutton.c:213:9-29: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT Palmas power button just needs threaded IRQ handler since I2C operations are involved and there is nothing in non-threaded primary handler we could do. So mark the request with ONESHOT as it should have been done in these cases. Fixes: adff5962fdd2 ("Input: introduce palmas-pwrbutton") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3ace3686f198e656624d7ca2984d053e65f6e09d Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Sep 12 17:24:47 2014 -0700 Input: psmouse - add support for detecting FocalTech PS/2 touchpads The Asus X450 and X550 laptops use a PS/2 touchpad from a new manufacturer called FocalTech: https://bugzilla.kernel.org/show_bug.cgi?id=77391 https://bugzilla.redhat.com/show_bug.cgi?id=1110011 The protocol for these devices is not known at this time, but even without knowing the protocol they need some special handling. They get upset by some of our other PS/2 device probing, and once upset generate random mouse events making things unusable even with an external mouse. This patch adds detection of these devices based on their pnp ids, and when they are detected, treats them as a bare ps/2 mouse. Doing things this way they at least work in their ps/2 mouse emulation mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c6c2a3de36b1e45841888e27bc2f85ef4e471ad3 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 14:54:31 2014 +0200 target: target_core_ua_h: Add #define of include guard Clearly the file was meant to contain an include guard, but it was missing the #define part. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c04047eceed45ae210d020868672456c33cae300 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Mon Aug 18 15:05:37 2014 +0300 tcm_fc: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0486b60a8c62d3a9470374601dbd2f5f03afb1dd Merge: 6cca9ad b4d2394 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 15 17:24:29 2014 -0400 Merge branch 'dsa-next' Alexander Duyck says: ==================== DSA Cleanups This patch series does two things, first it cleans up the tag_protocol and protocol ops being configured seperately. Second it addresses the desire to split DSA away from relying on a MII bus. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4d2394d01bc642e95b2cba956d908423c1bef77 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Mon Sep 15 13:00:27 2014 -0400 dsa: Replace mii_bus with a generic host device This change makes it so that instead of passing and storing a mii_bus we instead pass and store a host_dev. From there we can test to determine the exact type of device, and can verify it is the correct device for our switch. So for example it would be possible to pass a device pointer from a pci_dev and instead of checking for a PHY ID we could check for a vendor and/or device ID. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5075314e4e4b559cc37675ad8a721a89bccd6284 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Mon Sep 15 13:00:19 2014 -0400 dsa: Split ops up, and avoid assigning tag_protocol and receive separately This change addresses several issues. First, it was possible to set tag_protocol without setting the ops pointer. To correct that I have reordered things so that rcv is now populated before we set tag_protocol. Second, it didn't make much sense to keep setting the device ops each time a new slave was registered. So by moving the receive portion out into root switch initialization that issue should be addressed. Third, I wanted to avoid sending tags if the rcv pointer was not registered so I changed the tag check to verify if the rcv function pointer is set on the root tree. If it is then we start sending DSA tagged frames. Finally I split the device ops pointer in the structures into two spots. I placed the rcv function pointer in the root switch since this makes it easiest to access from there, and I placed the xmit function pointer in the slave for the same reason. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1ea97fef0cd579fd7ef3851548e068eaf2ad9f0 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Thu Jul 17 02:29:53 2014 +0530 target/configfs: Remove unnecessary null test This patch removes the null test on lun_cg. lun_cg is initialized at the beginning of the function to &lun->lun_group. Since lun_cg is dereferenced prior to the null test, it must be a valid pointer. The following Coccinelle script is used for detecting the change: @r@ expression e,f; identifier g,y; statement S1,S2; @@ *e = &f->g <+... f->y ...+> *if (e != NULL || ...) S1 else S2 Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6cca9adb786184be21f30be0982e3ea0281f75cb Merge: 4370240 e097458 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 15 17:19:55 2014 -0400 Merge branch 'bonding-cleanups' Nikolay Aleksandrov says: ==================== bonding: style, comment and assertion changes This is a small and simple patch-set that doesn't introduce (hopefully) any functional changes, but only stylistic and semantic ones. Patch 01 simply uses the already provided __rlb_next_rx_slave function inside rlb_next_rx_slave(), thus removing the duplication of code. Patch 02 changes all comments that I could find to netdev style, removes some outdated ones and fixes a few more small cosmetic issues (new line after declaration, braces around if; else and such) Patch 03 removes one extra ASSERT_RTNL() because we already have it in the parent function and consolidates two other ASSERT_RTNL()s to the function that is exported and supposed to be called with RTNL anyway. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0974585e74cc16446bc0690f0545b72aa2a3485 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Mon Sep 15 17:19:35 2014 +0200 bonding: consolidate ASSERT_RTNL()s and remove the unnecessary Consolidate the calls to ASSERT_RTNL() before bond_select_active_slave() inside bond_select_active_slave() itself and remove the ASSERT_RTNL() from bond_hw_addr_swap() as it's not exported and its only caller - bond_change_active_slave() already has an ASSERT_RTNL(). Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 547942cace50e536dcda9ce8397792bc992291d6 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Mon Sep 15 17:19:34 2014 +0200 bonding: trivial: style and comment fixes First adjust a couple of locking comments that were left inaccurate, then adjust comments to use the netdev styling and remove extra new lines where necessary and add a couple of new lines between declarations and code. These are all trivial styling changes, no functional change. Also removed a couple of outdated or obvious comments. This patch is by no means a complete fix of all netdev style violations but it gets the bonding closer. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56924c3811ae843527f7a1090ead73a0acf704a4 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Mon Sep 15 17:19:33 2014 +0200 bonding: consolidate the two rlb_next_rx_slave functions into one __rlb_next_rx_slave() is a copy of rlb_next_rx_slave() with the difference that it uses rcu primitives to walk the slave list. We don't need the two functions and can make rlb_next_rx_slave() a wrapper for callers which hold RTNL. So add a comment and ASSERT_RTNL() to make sure what is intended. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b8c6ba616deab7ddf2725f5833cf027a149987f Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Fri Sep 12 16:00:32 2014 -0700 scsi: fix regression that accidentally disabled block-based tcq Please try the fix below, looks like the commit broke TCQ for all drivers using block-level tagging. Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit cbaa42213461e9a722a391b3800d7c111de7049b Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Wed Sep 3 00:00:39 2014 -0500 libiscsi: fix potential buffer overrun in __iscsi_conn_send_pdu This patches fixes a potential buffer overrun in __iscsi_conn_send_pdu. This function is used by iscsi drivers and userspace to send iscsi PDUs/ commands. For login commands, we have a set buffer size. For all other commands we do not support data buffers. This was reported by Dan Carpenter here: http://www.spinics.net/lists/linux-scsi/msg66838.html Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4ac073640a528662a7c072a30e92e70ce00ded33 Merge: 19524f7 cc2a907 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Sep 16 06:20:53 2014 +1000 Merge branch 'linux-3.18' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next This is the main merge request for Nouveau 3.18, overview: - various bits of roy's gt21x clock work - various bits of kepler memory clock work (don't get too excited, there's at least one more major bit left that's busting higher freqs) - misc fan control improvements - kepler hdmi infoframe fixes - dp audio - l2 cache + cbc improvements * 'linux-3.18' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (68 commits) drm/gt214-/disp: enable dp audio drm/gt214-/kms: fix hda eld regression drm/g94-/disp: calculate some dp audio constants drm/gt214-/kms: perform hda codec setup on displayport too drm/gk104-/disp: infoframe registers moved yet again on kepler drm/nouveau/bios: parse older ramcfg/timing data like we do newer ones drm/nva3/fb/ram: Per-partition regs drm/nouveau/fb/ram: Support strided regs drm/nv50/fb/ram: Store the number of partitions in the designated fields drm/nv50/kms: Set VBLANK time in modeset script drm/nouveau/bios: Add rammap support for version 1.0 drm/gf100-/pwr/memx: block host and fifo around reclock drm/nouveau/pwr/memx: fix command ordering around block/unblock drm/nouveau/pwr/memx: rename fb off/on to block/unblock drm/nva3/clk: Pause the GPU before reclocking drm/nouveau/gpio: rename g92 class to g94 drm/gk104-/fb/ram: move fb enable/disable to same place as nvidia drm/gk104/fb/ram: twiddle some more bits when reclocking drm/nouveau/bios: parse another large chunk of random memory config data drm/gk104-/fb/ram: perform certain steps only when bios data differs ... commit 07034aeae152de52c29f032ca995bf9dafbe24e2 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Mon Sep 15 17:36:06 2014 +0200 netfilter: ipset: hash:mac type added to ipset Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit aef96193fe7b2791c4a3b19fe75426b929769471 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Mon Sep 15 17:30:54 2014 +0200 netfilter: ipset: send nonzero skbinfo extensions only Do not send zero valued skbinfo extensions to userspace at listing. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 76cea4109ca89dea218fdc652d2e1535fd9b5fc7 Author: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Date: Tue Sep 2 14:21:20 2014 +0400 netfilter: ipset: Add skbinfo extension support to SET target. Signed-off-by: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit cbee93d7b71bf9d73382e503a4f60848eec60ea8 Author: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Date: Thu Aug 28 10:11:30 2014 +0400 netfilter: ipset: Add skbinfo extension kernel support for the list set type. Add skbinfo extension kernel support for the list set type. Introduce the new revision of the list set type. Signed-off-by: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit af331419d34e2fc0e2d0c629734f8d160f95a3ec Author: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Date: Thu Aug 28 10:11:29 2014 +0400 netfilter: ipset: Add skbinfo extension kernel support for the hash set types. Add skbinfo extension kernel support for the hash set types. Inroduce the new revisions of all hash set types. Signed-off-by: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 39d1ecf1ad0e19145e1f3a6cd838b7354ef71bf7 Author: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Date: Thu Aug 28 10:11:28 2014 +0400 netfilter: ipset: Add skbinfo extension kernel support for the bitmap set types. Add skbinfo extension kernel support for the bitmap set types. Inroduce the new revisions of bitmap_ip, bitmap_ipmac and bitmap_port set types. Signed-off-by: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 0e9871e3f79fd17c691b50a9669220c54ff084a2 Author: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Date: Thu Aug 28 10:11:27 2014 +0400 netfilter: ipset: Add skbinfo extension kernel support in the ipset core. Skbinfo extension provides mapping of metainformation with lookup in the ipset tables. This patch defines the flags, the constants, the functions and the structures for the data type independent support of the extension. Note the firewall mark stores in the kernel structures as two 32bit values, but transfered through netlink as one 64bit value. Signed-off-by: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 73e64e1813e9ea45885419d0fff1e628a6ab95d4 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Mon Sep 15 20:48:26 2014 +0200 netfilter: ipset: Fix static checker warning in ip_set_core.c Dan Carpenter reported the following static checker warning: net/netfilter/ipset/ip_set_core.c:1414 call_ad() error: 'nlh->nlmsg_len' from user is not capped properly The payload size is limited now by the max size of size_t. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 1030f9fe65602465a89beaa05c3343cf9fd68a88 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 11:25:54 2014 +0530 ath9k: Fix primary station configuration Assign 'primary_sta' to the active primary station interface after iterating over the list of interfaces. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit af87dd33a17151f46ae50a564a799f9ea9397539 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 11:25:53 2014 +0530 ath9k: Remove useless opmode check The opmode is verified to be NL80211_IFTYPE_STATION before calling ath9k_set_assoc_state(). Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4ee26de18d267170fe44ecb6cc4bafaa218b26e3 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 11:25:52 2014 +0530 ath9k: Set offchannel state properly When switching offchannel, BSS related information in the HW has to be reset to default values. Add a routine to do this. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7f30eac9938daf12e34334c8eb1f8fba37fc7ace Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 11:25:51 2014 +0530 ath9k: Check beaconing mode properly In MCC mode, the TSF of a context needs to be adjusted only if it is GO/AP. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a2b28601503e8d0586d207732a0e8de90e6ce05b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 11:25:50 2014 +0530 ath9k: Remove unnecessary tbtt assignment The next_tbtt variable in the scheduler is needed only for GO/AP mode operation and is always read from the NEXT_TBTT_TIMER in the HW. There is no need to store the timestamp for received beacons. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4214852ea157bdae39c2dca64f1a09aa7dbb1d00 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Sep 14 23:09:12 2014 +0200 b43: add support for setting the beacon listen interval Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 0996c3910b8de402c319495c9560f3a909c8b866 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Sep 14 23:09:11 2014 +0200 b43: update some transmit header constants Some constants were missing and are added now. The rate mode was renamed, at least the ucode in brcsmac uses 2 for HT rates (iee80211n) and the more recent ucodes are using 3 for VHT (ieee80211ac). Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 30adb4d7a96d3e72447ed092e36e89ba3a6ab391 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Sep 14 23:09:10 2014 +0200 b43: add missing rate The OFDM reate 9MB was not set here Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 261b758ba6203da967f0927ec31617c9f22dbdaa Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Sep 14 23:09:09 2014 +0200 b43: tell ucode the phy type and version Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5eb3645e0f35e8e12a82b055ea1204ae322d2a19 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Sep 14 23:09:08 2014 +0200 b43: tell the ucode the mac capabilities This is based on code form brcmsmac. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a43b5142ad7ae97a277e001cb352e509da451cb9 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 11:14:10 2014 +0300 fixup! wil6210: fix usage of print_hex_dump_debug Use empty inline functions instead of empty #define. Fix for "unused variable" as reported below: tree: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git master head: 167bf96dd87d2a8360cb9e9783006876dac4f579 commit: 871d8c4bbb0f23c29a21b63b1801071766f69b51 [45/62] wil6210: fix usage of print_hex_dump_debug config: i386-allyesconfig reproduce: git checkout 871d8c4bbb0f23c29a21b63b1801071766f69b51 make ARCH=i386 allyesconfig make ARCH=i386 All warnings: drivers/net/wireless/ath/wil6210/wmi.c: In function 'wmi_evt_rx_mgmt': >> drivers/net/wireless/ath/wil6210/wmi.c:341:10: warning: unused variable 'ie_len' [-Wunused-variable] size_t ie_len = d_len - offsetof(struct ieee80211_mgmt, ^ >> drivers/net/wireless/ath/wil6210/wmi.c:340:13: warning: unused variable 'ie_buf' [-Wunused-variable] const u8 *ie_buf = rx_mgmt_frame->u.beacon.variable; ^ vim +/ie_len +341 drivers/net/wireless/ath/wil6210/wmi.c 2be7d22f Vladimir Kondratiev 2012-12-20 334 2be7d22f Vladimir Kondratiev 2012-12-20 335 if (ieee80211_is_beacon(fc) || ieee80211_is_probe_resp(fc)) { 2be7d22f Vladimir Kondratiev 2012-12-20 336 struct cfg80211_bss *bss; 8eea944a Vladimir Kondratiev 2014-06-16 337 u64 tsf = le64_to_cpu(rx_mgmt_frame->u.beacon.timestamp); 8eea944a Vladimir Kondratiev 2014-06-16 338 u16 cap = le16_to_cpu(rx_mgmt_frame->u.beacon.capab_info); 8eea944a Vladimir Kondratiev 2014-06-16 339 u16 bi = le16_to_cpu(rx_mgmt_frame->u.beacon.beacon_int); 8eea944a Vladimir Kondratiev 2014-06-16 340 const u8 *ie_buf = rx_mgmt_frame->u.beacon.variable; 8eea944a Vladimir Kondratiev 2014-06-16 341 size_t ie_len = d_len - offsetof(struct ieee80211_mgmt, 8eea944a Vladimir Kondratiev 2014-06-16 342 u.beacon.variable); 8eea944a Vladimir Kondratiev 2014-06-16 343 wil_dbg_wmi(wil, "Capability info : 0x%04x\n", cap); 8eea944a Vladimir Kondratiev 2014-06-16 344 wil_dbg_wmi(wil, "TSF : 0x%016llx\n", tsf); :::::: The code at line 341 was first introduced by commit :::::: 8eea944af0efcdba09dac1ad220c9bfa68293279 wil6210: print more info about BSS found Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a38a9ef1c0647f9add53ab4b43660d3fbefaa36e Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Sep 13 22:38:29 2014 +0200 brcm80211: use container_of to resolve dma_info from dma_pub Use container_of instead of casting first structure member. Compiled but untested. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d68e9f5d8549f37332a7ec810d2864b793219845 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Sep 13 22:38:28 2014 +0200 brcm80211: use container_of to resolve brcms_phy from brcms_phy_pub Use container_of instead of casting first structure member. Compiled but untested. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5eef40e5687da4ad0123e231e4fe952a12655f0b Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 12 15:50:58 2014 -0500 rtlwifi: btcoexist: Change local debugging macros CL_*** into the standard varieties Macros CL_SNPRINTF and CL_PRINTF are always used in that order. The first formats info into a buffer, and the second dumps it with printk. As the debug system in rtlwifi has a macro that does this with a single call, it seems reasonable to use it instead. An additional benefit is that the debug level can be set when loading the driver used by the wifi device. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 737f657f71b6e4bcb07478eb0a32eb92c80eaf4b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Sep 12 18:37:26 2014 +0200 b43: Implement PHY PLL reset We should reset PLL after changing MAC frequency. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 50398ee03414228ba834a52aa4f203871a506b72 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:09:00 2014 +0530 mwifiex: modify TX/RX window sizes for AP interface This patch sets uAP BA window sizes to 64. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6e251174c77a28a4ebaad9be963843898b658039 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:59 2014 +0530 mwifiex: add rx workqueue support This patch adds RX work queue support to mwifiex. Packets received are queued to internal queue which are then processed by scheduling a work item for RX process. RX work is enabled only on SMP systems. Reviewed-by: James Cameron <quozl@xxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d8d91253ba11bb6e98105c2bc88a40d08fac06ff Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 12 20:08:58 2014 +0530 mwifiex: remove low priority scan handling We have a logic in driver to delay or abort low priority scan to serve Tx traffic effectively. With scan channel gap support added, firmware now allows driver to send Tx data while scan operation is in progress. Hence low priority scan handling in driver is not required now. This patch removes related code. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 971a73f5523ea0512267949bd6ae3f68b9f3431f Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 12 20:08:57 2014 +0530 mwifiex: remove redundant variable report_scan_result This variable is never used, get rid of it. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5ec39efa16036c8291d2d81282280213c2c16ad1 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:56 2014 +0530 mwifiex: process TX even when scan is ongoing With channel scan gap, FW comes back to connected channel after each single channel scan. So we can safely transfer data to FW during scan. FW would send this data once on connected channel. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 97010cf8dfe5ca2d9f5d8d32a0e1f25246f852ea Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:55 2014 +0530 mwifiex: remove restriction of single channel scan when connected With scan channel gap in place, FW comes back to connected channel after each scan; so we dont need to restrict FW to scan single channel while connected. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit cb91be87e12c079fcf25069a21123756c0931dd6 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:54 2014 +0530 mwifiex: bring in scan channel gap feature With scan channel gap when any station/AP is active, FW comes back to connected channel for any pending data transfter after scanning each channel. We set scan channel gap TLV to FW in scan command when any of the interface is active. This enables scan channel gap in FW. Also when scan channel gap is enabled, we would scan maximum channels allowed by FW. Scan channel gap is supported only on FW with V15 FW API. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a9c1c89eea11884243825d473fd3991d943ffc65 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:53 2014 +0530 mwifiex: set passive scan type for scan requests with no ssid It was observed that station would sent probe request even when scan type has been set as passive during iw scan. This was happening because driver sets passive scan type only when channel has IEEE80211_CHAN_NO_IR flag set. Along with this, add condition to check if no ssids are specified in scan request so as to mark such scan request passive. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c48ba040acb81bc37ead17cae23fe3d9b3c08474 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 12 20:08:52 2014 +0530 mwifiex: minor cleanup in multiport aggregation 'mp_data_port_mask' and 'mp_end_port' gives correct information even for the chipsets supporting SDIO new mode (32 ports). We will get rid of this chip specific handling. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Bing Zhao <bzhao@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c7346c3231e9b8e530ab7b73796066f7bf60b240 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 12 20:08:51 2014 +0530 mwifiex: fix a bug in Tx multiport aggregation When aggregation port limit is reached, we stop aggregation and the data is sent to firmware. It is observed that one less packet than the port limit is aggregated in this case. ex. 15 instead of 16. The reason is we have redundant port limit checks before current packet is added to aggregation buffer. The issue is fixed by removing these checks. We already have necessary check in precopy current buffer handling. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Bing Zhao <bzhao@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a659c4306b3d8de0be218ad47ee92eae31d5b0dd Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Sep 12 20:08:50 2014 +0530 mwifiex: fix 5G association failure after leaving 2.4G IBSS When assocaiting to an AP , mwifiex set supported data rates based on target AP's capability. For 5G AP(11a mode), a/n/ac mode would possibly be set. However, for some chips which dont support 11AC mode current config_bands will be used instead. For example, if we join an IBSS in 11b mode ,adapter->config_bands will be set to 1(11b mode). Then we leave IBSS ,and try to connect 5G a/n mode AP. At this time , only 11b mode data rates will be supported in assoc request , which result in assoc failure with reason code 18: Association denied due to requesting station not supporting all rates. This patch fix such a cornel case, by adding additional check for current chip's 11ac capability. Reported-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2703a66865eb3a5b422749281371e9eefa8658c4 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:49 2014 +0530 mwifiex: support for event done interrupt This patch adds support for writing CPU event interrupt done back to device. Patch also increases interrupt buffer ring size from 4 to 8. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3223db2086c987d4527fdaa487a027b0148e9692 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:48 2014 +0530 mwifiex: rework internal scan for association There was an issue with internal scan during association wherein we would complete internal scan on first scan command response. This would cause association failure if AP is not found in first scan response e.g. APs from A band. This patch fixes this issue by completing internal scan only when all scan commands from scan pending queue and command pending queue are sent to FW and response to last scan command is received. Tested-by: Xinmin Hu <huxm@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 42a028aa952b66a039ee8c0a08ff4e3658246269 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:47 2014 +0530 mwifiex: avoid processing RX packets with invalid length If rx_len received in interface header from FW is more than RX buffer size, skb_put for such length results into skb_panic. Avoid this by not processing such packets. We just print a warning for such packets and free skb. Reviewed-by: Paul Stewart <pstew@xxxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Bing Zhao <bzhao@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3c99832d74777c9ec5545a92450fac5d37b0d0e1 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:46 2014 +0530 mwifiex: fix probable memory corruption while processing TDLS frame Size of RSN IE buffer in driver is 254 while maximum size of received buffer to be copied to RSN IE buffer can be 255. Add boundary check to copy maximum of 254 bytes into RSN IE buffer. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4721c63b929b13bce6860dc8ec068f86efcab2ea Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:45 2014 +0530 mwifiex: set fw api info for backword compatibility If we dont set FW API info here, for older FW releases where FW API is not available in GET_HW_SPEC, API version would remain 0. This may cause issues with 11ac if older FW is used with newer driver. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5effb73c529c5d66eecd541d30470b11cc58c64f Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Sep 12 10:24:11 2014 +0200 b43: HT-PHY: Update values for frequency calibration Previous values were extracted from MMIO dump of some old 5.x driver, new ones should improve calibration. This also adds values for 5 GHz. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1f21de53ac8651b1a3e79576f1adf00aabecd052 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Sep 12 10:24:10 2014 +0200 b43: HT-PHY: Implement band switching It works pretty much the same way as in N-PHY. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 48bf43fad76eb656f55bff3e3febe91578f1afe3 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 12 12:10:48 2014 +0530 ath9k: Fix beacon processing in offchannel When interfaces of different types are present in a context and an offchannel request is received on a STA interface, we end up trying to process beacons received when we are offchannel. This hits the below warning since offchannel will not have proper beacon parameters. Fix this by not processing beacons received when we are offchannel. ------------[ cut here ]------------ WARNING: CPU: 1 PID: 0 at ../drivers/net/wireless/ath/ath9k/recv.c:552 ath_rx_tasklet+0xf8f/0x1020 [ath9k]() CPU: 1 PID: 0 Comm: swapper/1 Tainted: G O 3.17.0-rc4-wl-debug #16 Hardware name: LENOVO 28427ZQ/INVALID, BIOS 6JET58WW (1.16 ) 09/17/2009 0000000000000000 15916787056abba3 ffff88013b603d08 ffffffff8156af94 ffff88013b603d50 ffff88013b603d40 ffffffff81070dbd ffff8800a84bb300 ffff8800b05db358 ffff8800a84cc578 ffff8800a84bb300 ffff8800b05daa40 Call Trace: <IRQ> [<ffffffff8156af94>] dump_stack+0x4d/0x6f [<ffffffff81070dbd>] warn_slowpath_common+0x7d/0xa0 [<ffffffff81070e3c>] warn_slowpath_fmt+0x5c/0x80 [<ffffffff81572143>] ? _raw_spin_lock_irqsave+0x83/0xa0 [<ffffffffa09d04a6>] ? ath_rx_tasklet+0x9f6/0x1020 [ath9k] [<ffffffffa09d0a3f>] ath_rx_tasklet+0xf8f/0x1020 [ath9k] [<ffffffffa09cd4f4>] ath9k_tasklet+0xf4/0x310 [ath9k] [<ffffffff81075a97>] tasklet_action+0xe7/0xf0 [<ffffffff8107508a>] __do_softirq+0x12a/0x340 [<ffffffff8107544e>] irq_exit+0x9e/0xc0 [<ffffffff81575e56>] do_IRQ+0x56/0xe0 [<ffffffff81573c72>] common_interrupt+0x72/0x72 <EOI> [<ffffffff81421037>] ? cpuidle_enter_state+0x67/0x1a0 [<ffffffff81421257>] cpuidle_enter+0x17/0x20 [<ffffffff810b3ebe>] cpu_startup_entry+0x3ce/0x420 [<ffffffff81048563>] start_secondary+0x233/0x2c0 ---[ end trace f15c3e33ba78d840 ]--- ------------[ cut here ]------------ Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6b5447ce630cdc231caf4f958325f8fa925216bf Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 11 19:02:10 2014 -0500 rtlwifi: btcoexist: avoid format string in printk Recent changes to this driver inadvertently reverted the change made by Kees Cook in commit 6437f51ec3. Reported-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4307b0fe22f4641530bc24066dc432e3f1125459 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Sep 11 23:50:54 2014 +0200 ath9k: fix radar parameters initialization Move ath9k_hw_set_radar_params() in ath9k_hw_reset() in order to avoid AR_PHY_RADAR registers are overwritten after hw reset Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 62c5afb8e388eae4e54f1ad415c1a1bc745c8b08 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 5 17:30:16 2014 +0300 hostap: proc: substitute loops by %*phN For dumping small buffers we may use %*phN specifier instead of custom approach.. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1186b623c2b04ae8c963c36f1dbcc159a6c99f60 Merge: 6bd2bd2 9a783a1 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Sep 15 14:55:45 2014 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 6bd2bd27baf12fa0f2e6d611509fc0e1bffb0f97 Merge: eb2eacf 0d8614b Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Sep 15 14:51:23 2014 -0400 Merge tag 'mac80211-next-for-john-2014-09-12' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg <johannes@xxxxxxxxxxxxxxxx> says: "This time, I have some rate minstrel improvements, support for a very small feature from CCX that Steinar reverse-engineered, dynamic ACK timeout support, a number of changes for TDLS, early support for radio resource measurement and many fixes. Also, I'm changing a number of places to clear key memory when it's freed and Intel claims copyright for code they developed." Conflicts: net/mac80211/iface.c Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 437024067ac1fbda7bb3a795e75922f9034672fb Merge: 13bb518 b3d6cb9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 15 14:41:12 2014 -0400 Merge branch 'tcpflags' Eric Dumazet says: ==================== tcp: no longer keep around headers in input path Looking at tcp_try_coalesce() I was wondering why I did : if (tcp_hdr(from)->fin) return false; The answer would be to allow the aggregation, if we simply OR the FIN and PSH flags eventually present in @from to @to packet. (Note a change is also needed in skb_try_coalesce() to avoid calling skb_put() with 0 len) Then, looking at tcp_recvmsg(), I realized we access tcp_hdr(skb)->syn (and maybe tcp_hdr(skb)->fin) for every packet we process from socket receive queue. We have to understand TCP flags are cold in cpu caches most of the time (assuming TCP timestamps, and that application calls recvmsg() a long time after incoming packet was processed), and bringing a whole cache line only to access one bit is not very nice. It would make sense to use in TCP input path TCP_SKB_CB(skb)->tcp_flags as we do in output path. This saves one cache line miss, and TCP tcp_collapse() can avoid dealing with the headers. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3d6cb92fd190d720a01075c4d20cdca896663fc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 15 04:19:53 2014 -0700 tcp: do not copy headers in tcp_collapse() tcp_collapse() wants to shrink skb so that the overhead is minimal. Now we store tcp flags into TCP_SKB_CB(skb)->tcp_flags, we no longer need to keep around full headers. Whole available space is dedicated to the payload. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e93a0435f809d009919a743fb6e93076faac8aa7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 15 04:19:52 2014 -0700 tcp: allow segment with FIN in tcp_try_coalesce() We can allow a segment with FIN to be aggregated, if we take care to add tcp flags, and if skb_try_coalesce() takes care of zero sized skbs. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e11ecddf5128011c936cc5360780190cbc901fdc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 15 04:19:51 2014 -0700 tcp: use TCP_SKB_CB(skb)->tcp_flags in input path Input path of TCP do not currently uses TCP_SKB_CB(skb)->tcp_flags, which is only used in output path. tcp_recvmsg(), looks at tcp_hdr(skb)->syn for every skb found in receive queue, and its unfortunate because this bit is located in a cache line right before the payload. We can simplify TCP by copying tcp flags into TCP_SKB_CB(skb)->tcp_flags. This patch does so, and avoids the cache line miss in tcp_recvmsg() Following patches will - allow a segment with FIN being coalesced in tcp_try_coalesce() - simplify tcp_collapse() by not copying the headers. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb2eacf77ec4828c9a2e451b06bc6fc44266f4c0 Merge: 167bf96 f991e17 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Sep 15 14:37:07 2014 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit 13bb5180e82349d9fcfa11cd17b3c1e7b558a902 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 19:34:47 2014 +0200 net: ethernet: neterion: vxge: vxge-main.c: Cleaning up missing null-terminate in conjunction with strncpy Replacing strncpy with strlcpy to avoid strings that lacks null terminate. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 949bdd208325a5a947135ed4f8e6df0aa18aae89 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 19:32:42 2014 +0200 net: ethernet: freescale: fec_main.c: Cleaning up missing null-terminate in conjunction with strncpy Replacing strncpy with strlcpy to avoid strings that lacks null terminate. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a9c43bed891d1f8d639c69893ee194f5700d0b2 Author: Jon Masters <jcm@xxxxxxxxxx> Date: Tue Aug 26 21:23:38 2014 +0100 setup: Move unmask of async interrupts after possible earlycon setup The kernel wants to enable reporting of asynchronous interrupts (i.e. System Errors) as early as possible. But if this happens too early then any pending System Error on initial entry into the kernel may never be reported where a user can see it. This situation will occur if the kernel is configured with CONFIG_PANIC_ON_OOPS set and (default or command line) enabled, in which case the kernel will panic as intended, however the associated logging messages indicating this failure condition will remain only in the kernel ring buffer and never be flushed out to the (not yet configured) console. Therefore, this patch moves the enabling of asynchronous interrupts during early setup to as early as reasonable, but after parsing any possible earlycon parameters setting up earlycon. Signed-off-by: Jon Masters <jcm@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit fe184066abda9de114a80db24f1496ee6c31d1af Author: Mark Charlebois <charlebm@xxxxxxxxx> Date: Mon Sep 15 06:30:15 2014 +0100 arm64: LLVMLinux: Fix inline arm64 assembly for use with clang Remove '#' from immediate parameter in AARCH64 inline assembly in mmu. This code now works with both gcc and clang. Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 17b6f244483a6799e43f9af649a2eb94fa1502ec Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Sep 13 22:38:27 2014 +0200 bna: use container_of to resolve bufdesc_ex from bufdesc Use container_of instead of casting first structure member. Compiled but untested. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61cd2ebb35dcf1990f66af76649260a79ae4cb15 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Sep 13 22:38:26 2014 +0200 net: fec: use container_of to resolve bufdesc_ex from bufdesc Use container_of instead of casting first structure member. ARM cross-compiled but untested. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8c0e057b4898055b24b44d03b837a15d8b93b37 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Sep 15 18:40:45 2014 +0200 USB: serial: remove zte_ev driver The zte_ev driver is based on code (once) distributed by ZTE that still appears to originally have been reverse-engineered and bolted onto the generic driver. A closer analysis of the zte_ev setup code reveals that it consists of standard CDC requests (SET/GET_LINE_CODING and SET_CONTROL_LINE_STATE) but unfortunately fails to get some of those right. In particular, as reported by Lei Liu, it fails to lower DTR/RTS on close. It also appears that the control requests lack the interface argument. Since line control is already handled properly by the option driver, and the SET/GET_LINE_CODING requests appears to be redundant (amounts to a SET 9600 8N1) let's remove the redundant zte_ev driver. Also move the remaining ZTE PIDs to the generic option modem driver. Reported-by: Lei Liu <liu.lei78@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 4b7154ba70bb20a3c024faabdd2bc207b550a813 Merge: adceac1 9e82bf0 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Sep 15 18:07:37 2014 +0200 Merge tag 'v3.17-rc5' into usb-next USB fixes in Linux 3.17-rc5 are needed to build on top of for 3.18. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit b052ff30cd450c91a32e8e928979bca021462996 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 18:12:35 2014 +0200 ARM: at91: PIT: Move the driver to drivers/clocksource Now that we don't depend on anyting in the mach-at91 directory, we can just move the driver to where it belongs. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Conflicts: arch/arm/mach-at91/Kconfig arch/arm/mach-at91/Makefile commit 7d80335e29701e9c2cc55ec0ea79afe6351aa20b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 16:02:24 2014 +0200 ARM: at91: Give the PIT irq as an argument of at91sam926x_pit_init This allows to remove the dependency of the timer driver on mach/hardware.h and having an hardcoded interrupt number in the driver itself. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 6970c34cea87ad54aab84e743970b84b1fdf1c7d Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 15 11:03:36 2014 +0300 MAINTAINERS: add maintainer for generic 6LoWPAN Add Jukka to 6LoWPAN maintainer list. He will concentrate on generic and bluetooth part of 6LoWPAN stack. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 941a74ca9e666595910751f4187797d5e1424565 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 15 15:22:02 2014 +0200 ALSA: Update document about PCM nonatomic ops Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3b73cfe5598eda7f5540608acd63b86688242731 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 10 14:58:59 2014 +0200 ALSA: pdaudiocf: Use nonatomic PCM ops Like other fixes, convert the tasklet to a threaded irq and replace spinlock with mutex appropriately. ak4117_lock remains as spinlock since it's called in another spinlock context from ak4117 driver. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6336c20cdaee1dd13d01dfa8c07ce3b18bbc846f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 10 14:01:05 2014 +0200 ALSA: lx6464es: Use nonatomic PCM ops Like the other previous changes, this patch for lx6464es takes the same strategy for converting to nonatomic PCM ops: replacing spinlock with mutex, converting the irq tasklet to the threaded irq, and merging the trigger tasklets back to the trigger callback. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9bef72bdb26e291d6dffb04768741a0e49582666 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 10 12:21:38 2014 +0200 ALSA: pcxhr: Use nonatomic PCM ops This time PCXHR, another Digigram boards: like the previous patches, the conversion is straightforward, replacing spinlocks with mutexes, merging the irq tasklet into the threaded irq handler and the PCM trigger tasklet back to the trigger callback. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8d3a8b5cb57da4e327bdaf7c81a90d4105b73205 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 10 11:48:07 2014 +0200 ALSA: mixart: Use nonatomic PCM ops Like the previous patch for VX boards, miXart device driver can be also rewritten to use nonatomic PCM ops. Simply spinlocks are replaced with mutex, the tasklet code is merged into the threaded irq handler. Also, now mgr->msg_mutex is superfluous, so merged to msg_lock. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit db0a5214b8d6cc7a90ce3336d24a85b90cbb4e67 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Sep 9 17:17:20 2014 +0200 ALSA: vx: Use nonatomic PCM ops Rewrite VXpocket and VX222 drivers to use the new PCM nonatomic ops. The former irq tasklet is replaced with a threaded irq handler, and the tasklet for the PCM delayed start is simply merged into the normal PCM trigger, as well as the replacement of spinlock with mutex. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cc2a9071458254cb0db6153811734750da0233ea Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 21:29:05 2014 +1000 drm/gt214-/disp: enable dp audio Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d889c52427d48c05f163f2f39b2cfc12e17e5266 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 21:11:51 2014 +1000 drm/gt214-/kms: fix hda eld regression Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9506140f425da42d919ea58307c8e83b78961dae Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 15:55:56 2014 +1000 drm/g94-/disp: calculate some dp audio constants NVIDIA appear to have tweaked the algorithm from GF110, this implements the previous algorithm for them still. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3eee8646c119db9c12f4fe66dc275093abd84555 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 15:20:47 2014 +1000 drm/gt214-/kms: perform hda codec setup on displayport too Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a522946174b5ae389af0856c422d865a63c70316 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 15:15:09 2014 +1000 drm/gk104-/disp: infoframe registers moved yet again on kepler Thanks to Vincent Pelletier for pointing this out and providing a proof of concept patch on the list. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c378eb746167e0e96e9a2da72781c0d409a8d94e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 12:30:08 2014 +1000 drm/nouveau/bios: parse older ramcfg/timing data like we do newer ones Done after discussion with Roy. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a407318913b11362e10d0948ae82de6edaf98a9e Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 12 18:00:16 2014 +0200 drm/nva3/fb/ram: Per-partition regs Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 930da220bf39372587af867ae6543d0205b8b66e Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 12 18:00:15 2014 +0200 drm/nouveau/fb/ram: Support strided regs Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit de1c4e281bda1b069b72a0b7fa2ab6fed585c70c Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 12 18:00:14 2014 +0200 drm/nv50/fb/ram: Store the number of partitions in the designated fields Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1dce6264045cd23e9c07574ed0bb31c7dce9354f Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 12 18:00:13 2014 +0200 drm/nv50/kms: Set VBLANK time in modeset script Solves blinking on reclocking memory. The value set is an underestimate, but with non-reduced vblanking this should give us plenty of time Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a7fa6744cd8333a414b5f3bfe4de647d787102e Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 12 18:00:12 2014 +0200 drm/nouveau/bios: Add rammap support for version 1.0 Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7a2f9743eab19b67688ff8cd491cf531e7516b8d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Sep 11 23:32:20 2014 +1000 drm/gf100-/pwr/memx: block host and fifo around reclock Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 30da08069726fc4ca0ef5590b897dc5a017edbc9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Sep 11 23:04:22 2014 +1000 drm/nouveau/pwr/memx: fix command ordering around block/unblock Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 630a6a466b5afff0ec5824e6f62e5dba15812256 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Sep 11 22:59:13 2014 +1000 drm/nouveau/pwr/memx: rename fb off/on to block/unblock More accurate as to the function of the opcodes. Not only is FB disabled, but the host is prevented from touching the GPU. An upcoming patch for Kepler will also halt PFIFO (as NVIDIA does). Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2fe7eaa0d4c9cf26b379a8054a87c4bf7ac4dc12 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Aug 29 12:27:42 2014 +0200 drm/nva3/clk: Pause the GPU before reclocking V2: always call post correctly even if pre fails V3: move function prototype to nva3.h Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> commit b485a7005faba38286bc02ab1d80e2cbf61c1002 Author: Emil Velikov <emil.l.velikov@xxxxxxxxx> Date: Mon Sep 8 20:27:57 2014 +0100 drm/nouveau/gpio: rename g92 class to g94 nv92 hardware has only 16 interrupt lines, while nv94 and later has 32. Accessing 0xe0c{0,4} registers on nv92 can lead to incorrect PDISP setup. This is a regression introduced with commit 9d0f5ec9ee0fd5dc5fc1cc2cf559286431e406e3 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon May 12 15:22:42 2014 +1000 gpio: split g92 class from nv50 Reported-by: estece on #nouveau Cc: stable@xxxxxxxxxxxxxxx # 3.16+ Signed-off-by: Emil Velikov <emil.l.velikov@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6cc406157d9e031aca2d3a3dd8566c74b1f0d680 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 15:21:48 2014 +1000 drm/gk104-/fb/ram: move fb enable/disable to same place as nvidia Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b6f97a089b6d0e7463a5062fb29a002fc9b1d025 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Sep 3 16:26:20 2014 +1000 drm/gk104/fb/ram: twiddle some more bits when reclocking *when* this is done is only a rough approximation of what the binary driver does.. need to investigate more to see if it matters Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5af430abdf2df5c9e80ca0cdeca389123151ac9c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Sep 3 16:25:47 2014 +1000 drm/nouveau/bios: parse another large chunk of random memory config data Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 91e4611ddc97c13ee66edfcd94974e6450d03726 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 14:41:26 2014 +1000 drm/gk104-/fb/ram: perform certain steps only when bios data differs Awful, awful. But, on the GK106 I have, some upcoming patches show that this is actually necessary after all. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d26e74895f500a67091d6e93814f4889b94ce7ff Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 13:29:04 2014 +1000 drm/gk104-/fb/ram: parse ramcfg data for all frequencies up-front Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 64804a6d513cba428ed0e9b5cac8967e4c24a180 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 13:38:02 2014 +1000 drm/gk104-/fb/ram: use parsed timing data in mr routines All the other chipsets should be moved over to this too. It's not needed yet for the upcoming commits, so left this step as it'll conflict badly with Roy's GT21x reclocking work. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d9b5f261db53db32d528698fa2330f6cda1a6292 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 12:48:31 2014 +1000 drm/nouveau/bios: parse freq ranges and timing id into ramcfg struct Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 595d373f1e9c9ce0fc946457fdb488e8a58972cd Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 10:33:32 2014 +1000 drm/nouveau/bios: memset dcb struct to zero before parsing Fixes type/mask calculation being based on uninitialised data for VGA outputs. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6b07c6cfd1530e39a6e5e81e63b59953b3f35eea Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Sep 3 12:40:04 2014 +1000 drm/gk104/fb/ram: make use of training data provided by vbios Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 43b6b2029eb2174ad8ce8a7be89a4a4499d67e8f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 1 15:42:45 2014 +1000 drm/nouveau/bios: add support for parsing table at BIT 'M' v2 + 0x09 Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7500bb7eb417d432cdb57643d813c122ee8c43c0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 1 15:33:14 2014 +1000 drm/nouveau/bios: add support for parsing table at BIT 'M' v2 + 0x05 Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 299dea4e0ef46b263d1d24dfb7ff62e56a8a396e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 1 11:15:21 2014 +1000 drm/gk104/fb/ram: fix register for second set of training data Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a6a4df96104f8db36e2365aabbfeb94653227cac Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 1 10:48:39 2014 +1000 drm/gk104/fb/ram: more random magic in fb init Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4cc6c3fe391b9a5869e3ca08f3619963064f079c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 1 10:44:57 2014 +1000 drm/gk104/fb/ram: skip table entry for mode we're already in NVIDIA binary driver appears to, not sure if it's for a good reason, but grasping at straws for some GDDR5 reclocking issues here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 50c4088313aa15e59a7a02645207599e6cdc9e91 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 5 02:41:46 2014 +0200 drm/nouveau/fb/sddr2: Generate MR values V2: Always disable DLL reset Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9c870007e9ec9a6203eaff41d3360493cc2b8d2f Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Sep 4 16:58:54 2014 +0200 drm/nouveau/fb/sddr3: Expand MR generation Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 941844327cc0e96b95ce9ad11bd3b0d539eff52d Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Sep 4 16:58:53 2014 +0200 drm/nva3/pwr/memx: Match blob's fb access behaviour Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6778911b2079809f2c0ab589380069307eb5076e Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Sep 4 16:58:52 2014 +0200 drm/nouveau/pwr/memx: Return debugging information Time measured from disabling FB to re-enabling, PPWR_IN reveals status of heads at the end of script. Helps debug various issues (like flicker). Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d93e996aed6e48c87dc5703a21b0e9368d4cc1f9 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Sep 4 16:58:50 2014 +0200 drm/nouveau/pwr/memx: Make FB disable and enable explicit Needs to be done after wait-for-VBLANK, and NVA3 requires register writes in between. Rather than hard-coding register writes, just split out fb_disable and fb_enable. v2. Squashed "fb/ramnve0: disable fb before reclocking" Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e1a6f7da9a8ec981c644e31de4a354cd95924df0 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Sep 4 16:58:49 2014 +0200 drm/nva3/pwr/memx: Implement "wait for VBLANK" Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3a405258b2baa71e8f042f0b55392d40e3f99f3e Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 24 23:15:11 2014 +0200 drm/nouveau/therm/nv84+: do not expose non-calibrated internal temp sensor Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c5b4865e20d47b7ebc1ad78602b744e0b4307224 Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 24 23:15:10 2014 +0200 drm/nouveau/therm: make sure the temperature settings are sane on nv84+ One of my nv92 has a calibrated internal sensor but it displays 0°C as the default values use sw calibration values to force the temperature to 0. Since we cannot read the temperature from the adt7473 present on this board, let's re-enable the internal reading! Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3ca6cd435effd1d762217529baaab010f34f8cc8 Author: Martin Peres <martin.peres@xxxxxxx> Date: Tue Aug 26 00:26:38 2014 +0200 drm/nouveau/subdev: add a pfuse subdev v2 We will use this subdev to disable temperature reading on cards that did not get a sensor calibration in the factory. v2: - rename "nouveau_fuse_rd32" to "gxXXX_fuse_rd32" as adviced by Christian Costa - fold the code a little as adviced by Emil Velikov Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3d40a7176d01ef35e5a3fd1508024c95b43b1130 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:17 2014 +0200 drm/nva3/clk: Set intermediate core clock on reclocking Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a749a1fb55b3c46a4f81137c2c1882774dc55296 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:16 2014 +0200 drm/nva3/clk: For PLL clocks always make sure the PLL is not in use Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 275dd6f48f9954df94ad15b4dc303fa7f820777c Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:15 2014 +0200 drm/nva3/clk: Abort when PLL doesn't lock Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 70c7995d12353542a951a5daa0b7a5c9e5a2869d Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:14 2014 +0200 drm/nva3/clk: HOST clock Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6a4a47cfd1812f607b5536e9332ce85981d4c262 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:13 2014 +0200 drm/nva3/clk: Set PLL refclk Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3d896d349e43b953e5278c49ab812435231d64b4 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:12 2014 +0200 drm/nva3/clk: Parse clock control registers more accurately Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 17eac85a8cf445387288db518719322562b5fb95 Author: Pierre Moreau <pierre.morrow@xxxxxxx> Date: Mon Aug 18 22:32:53 2014 +0200 drm/nouveau: Fix duplicate definition of NV04_PFB_BOOT_0_* Signed-off-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 703fa264b1c09ff9d0526553f5448fef77fda898 Author: Pierre Moreau <pierre.morrow@xxxxxxx> Date: Mon Aug 18 22:43:24 2014 +0200 drm/nouveau: Display Nouveau boot options at launch It can help to remove any ambiguity about which options were passed to Nouveau, especially in case the user had some options set in /etc/modprobe.d/*.conf that he forgot about, as they won't appear in a dmesg. Signed-off-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a2410f5a0fcb6326fe8da41a4e8dcdc116436c74 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Aug 18 12:41:57 2014 +1000 drm/nouveau/pwr: wait for scrubbers to finish before uploading new ucode Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4417be553c348540ec2c8acd423af2ec8e87cde5 Author: Martin Peres <martin.peres@xxxxxxxx> Date: Sun Aug 17 17:33:14 2014 +0200 drm/nouveau/pwr/fuc: make $r1-$r10 registers callee-saved in kernel.fuc Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b9fcf971bfd28bbc257794f5387c922efc12f7f4 Author: Martin Peres <martin.peres@xxxxxxxx> Date: Sun Aug 17 17:33:13 2014 +0200 drm/nouveau/pwr/fuc: add ld/st macros Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d5837df18c0700699dccdfd84f5eb94913b188c6 Author: Martin Peres <martin.peres@xxxxxxxx> Date: Sun Aug 17 17:33:12 2014 +0200 drm/nouveau/pwr: add helpers for delay-to-ticks and ticks-to-delay Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2befd17de2dff0238800ffa0b8364e2053f65e9f Author: Martin Peres <martin.peres@xxxxxxxx> Date: Sun Aug 17 17:33:11 2014 +0200 drm/nouveau/pwr: add some arith functions (mul32_32_64, subu64 and addu64) Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9db66fceace9811c4602785364b7e30f308cb9c7 Author: Martin Peres <martin.peres@xxxxxxxx> Date: Sun Aug 17 17:33:10 2014 +0200 drm/nouveau/pwr: fix the timers implementation with concurent processes The problem with the current implementation is that adding a timer improperly checked which process would time up first by not taking into account how much time elapsed since their timer got scheduled. Rework the re-scheduling decision t fix this. The catch with this fix is that we are limited to scheduling timers of up to 2^31 ticks to avoid any potential overflow. Since we are unlikely to need to wait for more than a second, this won't be a problem :) Another possible fix would be to decrement the timeouts of all processes but it would duplicate a lot of code and dealing with edge cases wasn't pretty last time I checked. Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a5e5fa7345d06e0e92d6c8bdb87415c3ca9b683 Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 17 17:33:09 2014 +0200 drm/nouveau/ppwr: enable ppwr on gm107 For some reason, it is now required to wait a 20 µs after the 0x200 reset of the engine. Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 808a188a33a3342737bc389afad9d13fd900ff67 Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 17 17:33:08 2014 +0200 drm/gm107/therm: add PWM fan support v2 v2: change the copyright ownership from "Nouveau Community" to myself, as per Illia's recommendation. Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 90a2c1aaa2855b43d35310b41b13357f25517771 Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 17 17:33:07 2014 +0200 drm/nouveau/therm/fan: do not use the pwm mode when the vbios tells us to use toggle Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 288c17bd9e959a32cfd8c3aec96410579cb9dccc Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 17 17:33:06 2014 +0200 drm/nouveau/bios/fan: add support for maxwell's fan management table v2 Re-use the therm-exported fan structure with only two minor modifications: - pwm_freq: u16 -> u32; - add fan_type (toggle or PWM) v2: - Do not memset the table to 0 as it erases the pre-set default values Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e0ae67982305f425b751291bbac3ea5b58d4b0a7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 15:16:16 2014 +1000 drm/nouveau/ltc: allocate tagram from memory that spans all partitions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 65270a6569710b42f5ab2073c1cc91fb90189eaa Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 14:30:52 2014 +1000 drm/nouveau/core/mm: allow allocation to be confined to a specific slice of heap Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 13dfe1286d1ea1af4c9330b039c2316d0d92c484 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 13:54:37 2014 +1000 drm/nouveau/core/mm: fill in holes with "allocated" nodes The allocation algorithm doesn't expect there to be holes in the mm, which causes its alignment/cutoff calculations to choke (and go negative) when encountering the last chunk of a block before a hole. The least expensive solution is to simply fill in any holes with nodes that are pre-marked as being allocated. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d7bda18c9102b65078c132fd7d7ffd835058f021 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 14:48:28 2014 +1000 drm/nouveau/core/mm: dump mm when trying to tear one down that still has allocations Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d979ab975ecdb336ed4da77a808be813a293b59e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 13:40:42 2014 +1000 drm/nouveau/core/mm: modify test for if building a mm with holes in it Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 79456e1a10d5f4e708822287ed0e97af469bf49b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 11:16:58 2014 +1000 drm/nouveau/core/mm: make it clearer what (type == 0) means Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a1fc50b4a5dde430c394f97b59c0e723628f637c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 10:22:31 2014 +1000 drm/gf100/ltc: translate interrupt status into more meaningful names Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9ea97ff8270ab44770109935028fc239e5c02841 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 10:01:13 2014 +1000 drm/nouveau/ltc: drop workaround for an interrupt storm that no longer happens This is really the wrong thing to do, but at the time it was our only option to prevent worse issues. We no longer cause quite so much anger from LTC, so it's not needed. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b38a2322df62dbcd423d3e329f401eb14c1f0e4a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Aug 11 14:38:10 2014 +1000 drm/nv50-/disp: add support for completion events Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 996f5a08235b27a7adcd01fe2b3f79e2f0f20ced Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Aug 11 13:56:56 2014 +1000 drm/nouveau/core: pass related object into notify constructor The event source types/index might need to be derived from it. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e94654e21d2a25ab331c91ad26a573dc7514f7b9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Aug 11 12:23:23 2014 +1000 drm/nouveau/bar: ioremap only the areas that we're actually using Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2d34056d27687180c0bab7dc40957a40d7ce0140 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Aug 19 17:10:46 2014 -0400 ppc4xx_edac: Fix build error caused by wrong member access Fix the following error drivers/edac/ppc4xx_edac.c:977:45: error: request for member 'dimm' in something not a structure or union by changing member access to pointer dereference. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408482646-22541-1-git-send-email-bobby.prani@xxxxxxxxx CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit fb4562b20894444288152e6de67c28adac6c789d Author: Nitesh Narayan Lal <b44382@xxxxxxxxxxxxx> Date: Mon Sep 1 15:00:44 2014 +0530 crypto: caam - Dynamic allocation of addresses for various memory blocks in CAAM. CAAM's memory is broken into following address blocks: Block Included Registers 0 General Registers 1-4 Job ring registers 6 RTIC registers 7 QI registers 8 DECO and CCB Size of the above stated blocks varies in various platforms. The block size can be 4K or 64K. The block size can be dynamically determined by reading CTPR register in CAAM. This patch initializes the block addresses dynamically based on the value read from this register. Signed-off-by: Ruchika Gupta <r66431@xxxxxxxxxxxxx> Signed-off-by: Nitesh Narayan Lal <b44382@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 077147a3055efbaafd624aa297f4284d0996b3f2 Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Sun Sep 14 11:56:39 2014 -0400 HID: sony: Update file header and correct comments Update the file header and correct an outdated comment block. Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit fb291cbd3f9f7bd5873f112a6924b650440779c6 Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Sun Sep 14 11:56:38 2014 -0400 HID: sony: Corrections for the DualShock 4 HID descriptor Fix a few minor issues in the HID descriptor: - A 6 bit entry had a logical maximum of 255 when the largest it can be is 63. - A logical max value was incorrectly being set to -1 instead of 255. - Set the min/max of the gyroscopes to -8192/8191 as that is the range of values which represent the true controller orientation. Any values beyond those extents are just noise. Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 19524f7c59c19854caf5b82d89bc558e38da5790 Merge: 98faa78 d0fa1af Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Sep 15 19:55:55 2014 +1000 Merge tag 'topic/core-stuff-2014-09-15' of git://anongit.freedesktop.org/drm-intel into drm-next Here's the updated topic/core-stuff pull request with the two patches already merged into drm-fixes dropped. * tag 'topic/core-stuff-2014-09-15' of git://anongit.freedesktop.org/drm-intel: drm: Drop modeset locking from crtc init function drm/i915/hdmi: Enable pipe pixel replication for SD interlaced modes drm/edid: Reduce horizontal timings for pixel replicated modes drm: Include task->name and master status in debugfs clients info drm/gem: Fix kerneldoc typo drm: use c99 initializers in structures drm: fix drm_modeset_lock.h kernel-doc notation commit bda17b82bfa9601f167ec338755b0b96909db5a0 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 14:39:09 2014 +0200 ALSA: hda - Make snd_hda_jack_detect_enable_callback() returning the jack object STAC/IDT driver calls snd_hda_jack_tbl_get() again after calling snd_hda_jack_detect_enable_callback(). For simplifying this, let's make snd_hda_jack_detect_enable_callback() returning the pointer while handling the error with the standard IS_ERR() & co. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 96c026911890ceacee238da00a0b140ad634cc43 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 21 15:57:26 2014 +0100 drm/rcar-du: Add OF support Implement support for the R-Car DU DT bindings in the rcar-du DRM driver. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 1d46fea7d091f9dc2d4fd3fcb9f0117ca288f9a5 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 00:42:56 2014 +0200 drm/rcar-du: Use struct videomode in platform data In preparation for DT support where panel timings will be described by a DRM-agnostic video mode, replace the struct drm_mode_modeinfo instance in the panel platform data with a struct videomode. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit cd8968f3dd520fae9623ab7d9154760e8feb27c2 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 18:26:39 2014 +0200 video: Add DT bindings for the R-Car Display Unit Aside of the usual boring core properties (compatible, reg, interrupts and clocks), the bindings use the OF graph bindings to model connections between the DU output video ports and the on-board and off-board components. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 71e1d5c7bfc6faea3a2a7e74fc3c512d28c8da16 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 11:20:04 2014 +0200 video: Add THC63LVDM83D DT bindings documentation The THC63LVDM83D is a video LVDS serializer described by an input port, an output port, and an optional power down GPIO. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 8d0f1956f7c11202ee689efff10b1868e54eaeee Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Aug 26 19:56:06 2014 +0200 video: Add ADV7123 DT bindings documentation The ADV7123 is a video DAC described by an input port, an output port, and an optional power save GPIO. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 2d777ea95ed7e93fbdb9ea500776efb76288d757 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Aug 26 19:45:30 2014 +0200 video: Add DT binding documentation for VGA connector The VGA connector is described by a single input port and an optional DDC bus. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 76ac2f3cf66e036ec032f7d91a1987dde094e65a Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 11:13:49 2014 +0200 devicetree: Add vendor prefix "thine" to vendor-prefixes.txt Use the company name as vendor prefix. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> commit ba9ab5472758ed5a7362d829f84bb667c7456887 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Aug 25 18:42:56 2014 +0200 devicetree: Add vendor prefix "mitsubishi" to vendor-prefixes.txt Mitsubishi Electric Corporation has a numerical stock ticker, use the company name as vendor prefix. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> commit 9588b826016835a3f67d8c38e0455fb7e0a411a1 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 6 18:13:52 2014 +0100 drm/shmob: Update copyright notice The "Renesas Corporation" listed in the copyright notice doesn't exist. Replace it with "Renesas Electronics Corporation" and update the copyright years. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 36d50464e05f498fa4024270e091b306af5de898 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 6 18:13:52 2014 +0100 drm/rcar-du: Update copyright notice The "Renesas Corporation" listed in the copyright notice doesn't exist. Replace it with "Renesas Electronics Corporation" and update the copyright years. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit d0fa1af40e784aaf7ebb7ba8a17b229bb3fa4c21 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 8 09:02:49 2014 +0200 drm: Drop modeset locking from crtc init function At driver init no one can access modeset objects and we're single-threaded. So locking is just cargo-culting here. Worse, with the new ww mutexes and ww mutex slowpath debugging the mutex_lock might actually fail, and we don't have the full-blown ww recovery dance. Which then leads to fireworks when we try to unlock the not-locked crtc lock. An audit of all the functions called from here shows that none of them contain locking checks, so there's also no reason to keep the locking around just for consistency of caller contexts. Besides that I have the rule (at least in i915) that such places where we take locks just to simplify locking checks and not for correctness always require a comment. This regression was introduced in commit 51fd371bbaf94018a1223b4e2cf20b9880fd92d4 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Nov 19 12:10:12 2013 -0500 drm: convert crtc and connection_mutex to ww_mutex (v5) v2: Don't drop the lock_init call, spotted by the 0day builder. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=83341 Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: thellstrom@xxxxxxxxxx Cc: maarten.lankhorst@xxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 697c4078c765c02b9c4ca2d828ae4d7af62453a6 Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Date: Tue Sep 2 17:03:36 2014 -0700 drm/i915/hdmi: Enable pipe pixel replication for SD interlaced modes Enable 2x pixel replication for modes the mode flag DBLCLK to double horizontal timings and pixel clock across TMDS. Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fb01d28070b711b164d84ff80a28dcc7cca506e7 Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Date: Tue Sep 2 17:03:35 2014 -0700 drm/edid: Reduce horizontal timings for pixel replicated modes Pixel replicated modes should be non-2x horizontal timings and pixel replicated by the HW across the HDMI cable at 2X pixel clock. Current horizontal resolution of 1440 does not allow pixel duplication to occur and scaling artifacts occur on the TV. HDMI certification 7-26 currently fails for all pixel replicated modes. This change will allow HDMI certification with 480i/576i modes once pixel replication is turned on. Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 50d47cb318ed3bfdea4032111772be6f7a5cc7a2 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 08:03:22 2014 +0100 drm: Include task->name and master status in debugfs clients info Showing who is the current master is useful for trying to decypher errors when trying to acquire master (e.g. a race with X taking over from plymouth). By including the process name as well as the pid simplifies the task of grabbing enough information remotely at the point of error. v2: Add the command column header and flesh out a couple of comments. (David Herrmann) Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2a5706a36d1f7ecd563fdff0b363c9b909e727e2 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Aug 28 14:34:36 2014 +0200 drm/gem: Fix kerneldoc typo The drm_gem_private_object_init function is called drm_gem_object_init in its kerneldoc. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce4df0b01259dc033c3ec8f855a3978818c3315d Merge: 151d0cb 9e82bf0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 22:26:10 2014 -0700 Merge 3.17-rc5 into usb-next We need the USB fixes in there to build on top of in this branch for 3.18. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 882ebfc28c389be86535bda4a7d9e407020356bf Merge: 1c84cd4 9e82bf0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 22:17:40 2014 -0700 Merge 3.17-rc5 into tty-next We want those fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43e73e4e2ad05d9bf3b438cfbe1e71b57a85f26c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Sep 14 23:06:28 2014 +0200 Bluetooth: Provide HCI command opcode information to driver The Bluetooth core already does processing of the HCI command header and puts it together before sending it to the driver. It is not really efficient for the driver to look at the HCI command header again in case it has to make certain decisions about certain commands. To make this easier, just provide the opcode as part of the SKB control buffer information. The extra information about the opcode is optional and only provided for HCI commands. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7cb9d20fd9f8fb41f29e294734c4f8b5dc81ed93 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Sep 14 22:50:46 2014 +0200 Bluetooth: Add BUILD_BUG_ON check for SKB control buffer size The struct bt_skb_cb size needs to stay within the limits of skb->cb at all times and to ensure that add a BUILD_BUG_ON to check for it at compile time. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit caf382fe31b7327a1e4449f1c05c0cc7fb5b90be Merge: ea521db 9e82bf0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 19:33:47 2014 -0700 Merge 3.17-rc5 into staging-next. This fixes a merge conflict in lustre, and we want the other fixes that went into 3.17-rc5 as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37b9b81f3074ce35fadf64d321b79292494220d1 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:45:26 2014 +1000 drm/ast: Cleanup analog init code path Move the MMIO mangling to a separate routine and actually disable the DVO output when using pure analog. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 42fb1427443b8a72a3c07efa14d53c63d324cba8 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:50:21 2014 +1000 drm/ast: Don't assume DVO enabled means SIL164 on uninitialized chips It looks like the AST2400 comes up with the DVO enable bit set, which causes us to incorrectly assume we have a SIL164 regardless of the value of the scratch registers setup by the BMC firmware. So let's limit that test to the case where the chip has already been setup by a BIOS. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 261a3ad42605f5824072d1410d3c5f7b93f7cad8 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:50:17 2014 +1000 drm/ast: Properly initialize P2A base before using it in ast_init_3rdtx() If the P2A has been used to target other SOC registers before that call, we're going to hit the wrong place so make sure we set the base address up properly before using it. (P2A stands for PCIe to AHB bridge and is the bride that allows accessing the AST's internal AHB bus using a relocatable 64k window in the second half of the PCIe MMIO BAR) Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d1b985572a3cf88e99a71fe7b8f294ad9f78f007 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:50:11 2014 +1000 drm/ast: POST chip at probe time if VGA not enabled We need to do it on machines without a BIOS such as POWER8. Also for detection to work without triggering PCIe errors, we need to enable VGA early on, inside ast_detect_chip(). While touching those files, replace a few hard coded register numbers with the corresponding symbolic constant. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 0dd68309b9c516eac76549b71f68f01f57bb0c71 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:44:18 2014 +1000 drm/ast: Try to use MMIO registers when PIO isn't supported If the PIO resources haven't been assigned, then we have no choice but try to use the MMIO version. This is the case for example on POWER8 which doesn't support PIO at all. Chips rev 0x20 or later have MMIO decoding enabled by default. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ea521dbc48c1550a4302c851a1e77f5b84ac8f81 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:53:51 2014 -0700 Revert "usb: dwc2: make the scheduler handle excessive NAKs better" This reverts commit f5717a75db0d4e590c0c050a6f49c6cc0afcec8a, as it wasn't ment to be applied to this branch / tree, it should go in through the USB tree, my fault. Reported-by: Paul Zimmerman <Paul.Zimmerman@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2017cff24cc08b145bff7256dd6b0ef99e7e8a01 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Add BMA250 chip support the BMA250 has only 10-bit resolution; while the data readout registers have identical layout, the configuration is completely different compared to the BMA180 datasheet: http://ae-bst.resource.bosch.com/media/products/dokumente/bma250/BST-BMA250-DS002-05.pdf Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 402a324e6103c234f73564a3a611766414b6325b Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Implement _available sysfs attribute dynamically makes it easier to add more chip variants and removes redundancy: scales and frequencies are now stated just once Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 6377aa496a0bc40af4f66574c813bb9a807a7e3a Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Prepare for accelerometer channels with different resolutions allow to specify channels resolution and compute shift assuming 16-bit registers and MSB allocation Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c1949ec18e50e1e23f3045a7c3836c289f553bb8 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Introduce part-specific _config() and disable() code move part of bma180_init() to bma180_config() (split initialization and configuration code); configuration is heavily chip-specific Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1b9030f5a0ac7c71bc733af3c9c1064204fc0258 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Introduce part_info to differentiate further chip variants Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b9a6a237ffc99f63fd96f3ad11b3c5c532d211f8 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Drop _update_scan_mode() statically allocate maximum size Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f991e17ba2584e2be66476cc468f19769efd55cc Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Aug 26 16:14:10 2014 +0300 iwlwifi: mvm: align CSA GO NOA time event naming with the firmware The time event used for CSA GO will also be used by CSA client. Rename the symbols to something more generic and aligned with the firmware code. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4cb832d559416605d2a863fa34f362c31d174cc3 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Aug 6 10:52:27 2014 +0300 iwlwifi: mvm: move IWL_MVM_UAPSD_QUEUES to constants.h Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9474d444bd0e6590ba99d640fa5e4d28380c1f04 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Sep 3 12:09:45 2014 +0300 iwlwifi: mvm: fix PSM disable during TDLS Simplify the code and check for TDLS stations just before sending the MAC_POWER_TABLE command. The previous version of the code still allowed PM in some multi-interface scenarios even with TDLS connected. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 49c6d8021f11a4e86ab2689c62fbfca2ea8cbd0d Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Wed Aug 27 19:58:56 2014 +0300 iwlwifi: mvm: Fix skip over dtim configuration in d0i3 There was some confusion concerning the units of the beacon interval. The driver assumed that it was in msec where it was in TU - so fix that. Skip over dtim was capped by 300TU where it should be by 306TU. It should also be subjected to several conditions: Not a DFS channel, dtim period < 10, and the multicast wake-lock is off. Concerning multicast lock - there is an implementation gap in the supplicant, so just leave a TODO. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d4317252330d9d0b24a8d707270c38cf3c0943ad Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Sep 7 19:18:31 2014 +0300 iwlwifi: mvm: move TDLS code to separate file The upcoming TDLS channel-switch functionality is big enough to warrant a separate file. Move existing related functions to the new file. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f7d8b70290e64eefcacfa598e46638689b8b6d11 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 9 15:49:19 2014 +0200 iwlwifi: mvm: update QoS parameters when they change The QoS parameters can change during the lifetime of the BSS, and more importantly hostapd only sets up the correct ones after having started the AP/GO. Resend the MAC context when the parameters change, with the updated parameters. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 397453377642e266676d60cb174ef58f3e202c70 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Wed Sep 10 16:40:41 2014 +0300 iwlwifi: mvm: reduce active dwell time Reduce basic active dwell time from 30 ms on 2.4 GHz and 20 on 5.2 to 20 on 2.4 and 10 on 5.2. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3d4060d58130aa805fb505c8ed4a9fbf8a3e09be Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 11 14:12:06 2014 +0200 iwlwifi: mvm: fix quota update avoidance When not updating the quota, the new command shouldn't be stored as otherwise slowly drifting quota would never update the firmware. Fix this by storing the command only when it was also sent. Since the error message also only makes sense when attempting to send the command, just short-circuit the function when there's no need to send the command. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4bfa47f3174155d4da088c5259e5fe2fcac01cf4 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Sep 11 16:19:43 2014 +0300 iwlwifi: mvm: allow to collect debug data when restart is disabled In some testing configuration, the firmware restart flow is not enabled. Allow to collect logs even in this case. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b81fbab7f567aaa12aba6532681b426f3e130e11 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Expose temperature channel 8-bit signed; 0 LSB @ 24 °C, 0.5 °C per LSB Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c7c69e8540895be5d09bf023f1b48db3cab7a78b Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Use bool instead of int for state Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9a70b147da1a3cbeb3fc6434b5c13ea938e28017 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Rename BMA_180 to BMA180_ Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit cab767d54daf775bc40322e9f8d4393b0c91a447 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Prefix remaining tables and functions with bma18_ and minor cleanups Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 16ed8692fa487c0a1569edd0e210357c087e1cc5 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Enable use of device without IRQ Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3a0888edcffd9406f1cbbe240f4533e35db67e81 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Sun Feb 9 11:59:00 2014 +0000 iio: gyro: bmi055 gyro sensor driver Add support for the BMI055 gyroscope sensor. BMI055 is a package consisting of an acceleration sensor and a gyroscope. This patch adds support for the gyroscope only. Spec downloaded from: http://ae-bst.resource.bosch.com/media/products/dokumente/bmi055/BST-BMI055-DS000-06.pdf The BMI055 gyroscope uses the same register definition as BMG160, but does not specify a temp register. However, the temp register seems to be working in the same way as for BMG160, so this patch does not remove the temp channel for BMI055. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c9bf2373da2144dec511503cebf5f8a63b0dcff3 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Sun Mar 9 16:13:00 2014 +0000 iio: accel: kxcjk-1013: Fix defined but unused warning Noticed when compiling with CONFIG_PM_RUNTIME not set: kxcjk-1013.c: warning: â??kxcjk1013_get_startup_timesâ?? defined but not used [-Wunused-function] Introduced by commit 124e1b1d (iio: accel: kxcjk-1013: support runtime pm). Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 48edc3748142ad393c6ee2bfcc1eb256e9f88b38 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Sat Aug 9 15:18:00 2014 +0100 iio: magn: ak8975: fix unnecessary casting between char* and const char* Use const char* instead of casting const char* to char*. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ef1c6b23355b70356ca18c0d4c39b25dfbd7be02 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Sat Aug 9 15:05:00 2014 +0100 iio: gyro: bmg160: only set power state if PM_RUNTIME is defined When CONFIG_PM_RUNTIME is not defined and bmg160 tries to power off the device, bmg160_set_power_state will call pm_runtime_put_autosuspend, which is not implemented (wil return -ENOSYS). Only call bmg160_set_power_state when CONFIG_PM_RUNTIME is defined. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3f2882d3696876c9458c794fa960f5c3133d70a5 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 18:03:16 2014 +0200 staging: lustre: Cleaning up unnecessary use of memset in conjunction with strncpy Using memset before strncpy just to ensure a trailing null character is an unnecessary double writing of a string Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb9671261d02fa322f0b77a30442198ff05e564c Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Sun Sep 14 18:36:38 2014 +0530 Staging: lustre: lustre: mdc: mdc_request: Removed useless variable Variable rc is initialised and returned by the function without modifying. Hence replaced rc with it's initial value in the return statement and removed the variable. Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 727543d639efe4abb4be8ce56a1065c32dbac918 Author: Spencer Baugh <sbaugh@xxxxxxxxxxxxxx> Date: Sun Sep 14 11:21:11 2014 -0400 staging: lustre: fix pointer whitespace style Fix errors reported by checkpatch of this kind: ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db7b4b391e2f301d6d18ded41628ce458cbd4129 Author: Spencer Baugh <sbaugh@xxxxxxxxxxxxxx> Date: Sun Sep 14 11:21:10 2014 -0400 staging: lustre: fix function definition style Fix errors reported by checkpatch of this kind: ERROR: open brace '{' following function declarations go on the next line Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2101f98caf8246cbf6b7ad40a585c017379c389e Author: Artemiy Volkov <artemiyv@xxxxxxx> Date: Sat Sep 13 02:31:33 2014 +1000 staging: lustre: Fix address space mismatch in ksocknal_recv_iov() This patch fixes the following sparse warnings: drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c:284:51: warning: cast removes address space of expression drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c:284:39: warning: incorrect type in assignment (different address spaces) drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c:284:39: expected void [noderef] <asn:1>*iov_base drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c:284:39: got void *<noident> by simplifying an expression containing non-__user-attributed type names. Signed-off-by: Artemiy Volkov <artemiyv@xxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4127ef9b55be3e8019320064d83d9eeed789e35d Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Sep 11 18:38:25 2014 -0500 drivers: staging: lustre: Cleanup src/dst comparisons in obdo_cmp_md() Cleanup obdo_cmp_md() src/dst comparisons using bitwise OR assignments Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5717a75db0d4e590c0c050a6f49c6cc0afcec8a Author: Nick Hudson <skrll@xxxxxxxxxx> Date: Thu Sep 11 15:22:48 2014 -0700 usb: dwc2: make the scheduler handle excessive NAKs better I'm seeing problems with a d-link dwcl-g122 wifi dongle that someone sent me. There are reports of other wifi dongles with the same/similar problem. The devices appear to be NAKing to the point of confusing the dwc2 driver completely. The attached patch helps with my d-link dwl-g122 - it's adapted from the Raspberry Pi dwc_otg driver, which is a modified version of the Synopsys vendor driver. The error recovery is still valid after the patch, I think. Cc: Dom Cobley <popcornmix@xxxxxxxxx> Signed-off-by: Nick Hudson <skrll@xxxxxxxxxx> Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 047b2ec8d3778a046d6985d4ad410c85211a86a4 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Sep 14 09:11:06 2014 +0200 Bluetooth: btusb: Separate TX URB allocation and submission The complete TX URB handling is done via a switch statement in the btusb_send_frame function. To allow for more clear separation between control, bulk and isoc URBs, split them into allocation and submission. Previously the inc_tx function has been used for tracking in-flight URB for HCI commands and ACL data packets. Convert that into a common function that either submits the URB or queues it when needed. This provides the flexibility to allow vendor specific hdev->send_frame callbacks without having to duplicate the whole URB handling logic. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c68613777517e538ace751e4e738e238eb216f86 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Sun Mar 9 08:33:00 2014 +0000 iio: accel: kxcjk-1013: add support for kxtj2-1009 This patch adds support for KXTJ2-1009 3-axis acceleromenter sensor. KXTJ2-1009 uses the same register definitions as KXCJK-1013. The specification for KXTJ2-1009 can be downloaded from: http://www.kionix.com/sites/default/files/KXTJ2-1009%20Specifications%20Rev%204.pdf Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit db985cbd67c45f875ef43cb5febfaa8cbd203c27 Merge: c6f1224 468a903 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Sep 14 15:34:38 2014 +0200 Merge tag 'irqchip-core-3.18' of git://git.infradead.org/users/jcooper/linux into irq/core irqchip core changes for v3.18 - renesas: suspend to RAM, runtime PM, cleanups and DT binding docs - keystone: add new driver - hip04: add Hisilicon HiP04 driver (without touching irq-gic.c) - gic: Use defines instead of magic number, preserve v2 bybass bits - handle_domain_irq: common low level interrupt entry handler commit a0a09243e02e0ad6a366139093d80b870ec9a16e Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Thu Sep 4 12:29:15 2014 +0300 iwlwifi: mvm: use the firmware to get the temperature during CT kill Reading the temperature directly from the hardware, without the help of the firmware, is a complex process and is not entirely the same for different hardware. Also, some NICs don't easily allow access to the sensors when the firmware is not running, which would add even more complexity to the code. To reduce the code complexity and to avoid code duplication between the firmware and the driver, boot the firmware briefly to read the current temperature while in CT kill mode. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 34e611ea2a9d88ccf77b2a073ab9b0c53e58e6f8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 12 10:28:01 2014 +0200 iwlwifi: mvm: update d0i3 debugfs A lot of the newer d0i3 ref additions weren't added to the debugfs file, fix that and add a comment to remember to do it in the future. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6d93affd3a49a7f846bb632ff0d19c02ac2a7bf0 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Tue Aug 26 07:09:52 2014 +0300 iwlwifi: mvm: remove unused static inline function Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ad25c1ee55b1e125d71891496eb52ccb508dd3d7 Author: Toralf Förster <toralf.foerster@xxxxxx> Date: Tue Sep 9 20:08:53 2014 +0200 iwlwifi/iwl-drv.c: fix typo defualt -> default trivial, but this is user visible b/c it is in the help text Signed-off-by: Toralf Förster <toralf.foerster@xxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b2b7875bfb6c69bb708b61c5f745491d240161a1 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Sep 8 16:42:54 2014 +0200 iwlwifi: mvm: don't update quota in firmware too often When updating quota in the firmware, it has to reset quite a bit of internal state, which apparently can have an adverse impact on its operation. Avoid that by only updating the quota command when there are any signification changes, i.e. added/removed bindings or changes in quota that are bigger than 8 TU within a binding. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit bbab758279a14556e6ccb17b1f98935634eeb8d5 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Sep 10 11:00:16 2014 +0300 iwlwifi: define the non shared antenna per hardware The sharing model will differ in new hardware. Define the non shared antenna based on the device so that different devices can have different names for the non shared antenna. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5d4185ae0c68eeff26d0390a4e99b6e7359a8b83 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 9 21:16:06 2014 +0200 iwlwifi: pcie: clear command data on freeing When freeing the structures used for command data, clear their memory as they may have contained key material at some point. Also clear the duplicated buffer when freeing it to be safe; currently key material is never put there but that may change. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c2a2b28bb7fbcb8e0e11b84714992750bba7b699 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Sun Sep 7 11:41:05 2014 +0300 iwlwifi: make hw rev checking more readable Rather than ANDing with a mask - use existing macros, which are more readable. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3a736bcb18f797996064cf18f4eecc4b3e46d39a Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Sep 10 11:16:41 2014 +0300 iwlwifi: trans: don't configure the set_active in SCD for dvm This configuration is not needed for dvm, and it actually broke it. Reported-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f7f89e7baef643788f09d9629012ea1612d827bb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Aug 5 15:24:44 2014 +0200 iwlwifi: mvm: disable aggregation queues in station DB in FW When disabling aggregation, disable the queues in the station DB in the firmware, otherwise we leave the tfd_queue_mask in a wrong state after an aggregation session has been torn down. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f58220f6b9ba69c782eafbfe703be8c4bca6b33d Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Aug 16 01:30:30 2014 +0300 iwlwifi: mvm: rs: don't zero tx stats after idle Move the tx stats to the persistent area of lq_sta to avoid them being zeroed out every time rs reinitializes which happens after tx idle for 5 secs for example. The automatic zeroing out made them difficult to use. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f3bd58f486acd954ca8d90f8733d752dbd98eec6 Author: Max Stepanov <Max.Stepanov@xxxxxxxxx> Date: Mon Aug 4 13:55:01 2014 +0300 iwlwifi: mvm: add MVM_FW_MCAST_FILTER_PASS_ALL option Add MVM_FW_MCAST_FILTER_PASS_ALL option to iwl-dbg-cfg.ini configuration file to enable/disable FW multicast filtering. Signed-off-by: Max Stepanov <Max.Stepanov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a26d4e7b096d85eeea0ce08950744e2887cb46fa Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Aug 20 10:21:07 2014 +0300 iwlwifi: mvm: fail temp test enabling if the ucode is not loaded If the ucode is not loaded, don't allow the temperature test to be started, but allow it to be changed or stopped if already running. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit bc44886d2645bb4c0422db09f67661638eacc3d1 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Aug 20 11:49:11 2014 +0300 iwlwifi: mvm: reset ucode_loaded flag when mac80211 stop is called We rely on the value of the mvm->ucode_loaded flag to decide whether or not we can perform certain operations (e.g. access to some debugfs entries), so we need to reset it when the mac80211 stop operation is called and the hardware is shutdown. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2536e7c35014c0bd5b8a7b5425004528c208c052 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Aug 31 02:33:33 2014 +0300 iwlwifi: mvm: rs: remove max_rate_idx max_rate_idx constraint is deprecated and it's handling is faulty as well as it is relevant only for legacy rates but was considered in HT/VHT. In most cases there was no side effect as max_rate_idx was set to -1 but in certain cases like P2P it got set to an actual rate idx which would limit the maximum rate in HT/VHT by mistake. max_rate_idx should be replaced by the masks fields but for now remove it. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 099d8086a814689d3c7f58aa6412da6513e1624e Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Thu Aug 28 02:33:05 2014 +0300 iwlwifi: enable LDPC in 8000 chip family This chip family supports LDPC so enable it. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 161bdb7780548918027511f1a2885e9b99d28482 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Sun Jul 27 08:03:06 2014 +0300 iwlwifi: mvm: allow preventing dummy notifications The firwmare now allows the driver to disable dummy notifications. These notifications sent by the firmware are an overhead for slow buses. They are still useful for fast buses. Add a hardware switch to prevent these notifications only on devices that work on slow buses. Signed-off-by: Eran <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d4200cb2487042291a056d4364450947344362e1 Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Thu Sep 4 09:16:49 2014 +0200 iwlwifi: add and edit 8000 series PCI IDs Edit some 8000 series PCI IDs and add configuration to Dual Band Wireless N 8260 devices. Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a3576ff28e3b6a75d79fdc33c8179e7e2b470e50 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Aug 9 10:57:59 2014 +0300 iwlwifi: mvm: add LDPC support Use LDPC for Tx and publish support for Rx in case the chip supports LDPC. Enable it for the 7265 family. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 71511c866bce04f931e462ad0cce3f122aa0c447 Merge: 712b24a 2cddddc Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Sep 14 12:54:42 2014 +0300 Merge remote-tracking branch 'iwlwifi-fixes/master' into NEXT commit 9aa59cacdf22de9127d147de9523c1a0f832da48 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Aug 14 09:25:38 2014 +0200 m68k/atari - stram: Add missing #include <linux/ioport.h> If CONFIG_BLOCK=n: arch/m68k/atari/stram.c:44: error: variable â??stram_poolâ?? has initializer but incomplete type arch/m68k/atari/stram.c:45: error: unknown field â??nameâ?? specified in initializer arch/m68k/atari/stram.c:46: warning: excess elements in struct initializer arch/m68k/atari/stram.c:46: warning: (near initialization for â??stram_poolâ??) arch/m68k/atari/stram.c: In function â??atari_stram_reserve_pagesâ??: arch/m68k/atari/stram.c:97: error: invalid use of undefined type â??struct resourceâ?? ... Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 3708d52fc6bb34ae16399fe998d515dd7d188ab0 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Tue Aug 26 16:03:35 2014 +0100 irqchip: gic-v3: Implement CPU PM notifier When a CPU enters a low power state, the contents of the GICv3/4 system registers are lost. They need to be saved and restored if required. For now, since most of the GICv3 register are set some initial values and not modified at runtime, it is better to re-initialise rather than saving and restoring them. It may need to be saved and restored in future if required. This patch adds a notifier to disable the redistributor(if allowed) and Group1 interrupts when powering down the processor and to re-initialise the system registers on wakeup. Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409065415-20176-3-git-send-email-sudeep.holla@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a2c225101234bcef8f40497bd50ccb5e9c1fb527 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Tue Aug 26 16:03:34 2014 +0100 irqchip: gic-v3: Refactor gic_enable_redist to support both enabling and disabling Currently gic_enable_redist configures the redistributors to never assert WakeRequest signal. However when powering down the processors with wake-up enabled(i.e suspend), we need to configure it to assert that signal. This patch extends gic_enable_redist so that the redistributor can be configure to assert WakeRequest and hold interrupts as pending. This is useful in suspending the processors. This patch also adds check to make sure GICR_WAKER is accessible when configuring it. Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> [maz: removed reference to GICD_CTLR.DS and added read-back of GICR_WAKER to check that it is not RAZ/WI] Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409065415-20176-2-git-send-email-sudeep.holla@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 468a903c0e5147e3f93187f0b808a3ef957fd00e Merge: ce92bfe 087fe00 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Sep 14 07:53:54 2014 +0000 Merge branch 'irqchip/handle_domain' into irqchip/core commit ce92bfe88ba38e76371feb93307125fac3f800f0 Merge: cec9694 3228950 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Sep 14 07:53:39 2014 +0000 Merge branch 'irqchip/gic' into irqchip/core commit cec9694af7ada37611eb41733065427c0e72cd6c Merge: 1fc9d96 8e4bebe Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Sep 14 07:53:29 2014 +0000 Merge branch 'irqchip/hip04' into irqchip/core commit 1fc9d96ec63e7e071f22b89c268145d50720d667 Merge: 705bc96 8703ec1 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Sep 14 07:53:17 2014 +0000 Merge branch 'irqchip/keystone' into irqchip/core commit e9753eff1b875d579dc04d675e72d6e31e866927 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sun Sep 14 08:49:34 2014 +0300 Bluetooth: btusb: Use GFP_KERNEL in btusb_send_frame() All hdev->send() calls are these days done through a work queue. For the btusb driver this means the btusb_send_frame() function. Because of this we can safely use GFP_KERNEL for all memory allocations in this code path. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 705bc96c2c15313c0677607f6e81800f4d2b4534 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 12 15:15:18 2014 +0200 irqchip: renesas-intc-irqpin: Add minimal runtime PM support This is just enough to let pm_clk_*() enable the functional clock, and manage it for suspend/resume, if present. Before, it was assumed enabled by the bootloader or reset state. To prevent the clock from being disabled while the module is needed for wake-up, implement irq_chip.irq_set_wake(), which increments/decrements the clock's enable_count when needed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1410527720-18061-3-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 36845f1b54edc3237626d48270bbf3bc26d45f4f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 12 15:15:17 2014 +0200 irqchip: renesas-intc-irqpin: Add helper variable dev = &pdev->dev Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1410527720-18061-2-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 20afdeb812da4097447eb324f34be11a10b11542 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 17:43:00 2014 +0200 irqchip: atmel-aic5: Add sama5d4 support Add sama5d4 support to irq-atmel-aic5. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410536587-24607-2-git-send-email-alexandre.belloni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0cae165ffc0c878b02c56efd62988f13d513c8a7 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 16:41:51 2014 +0200 irqchip: atmel-aic5: The sama5d3 has 48 IRQs The FUSE and RAM controllers don't have any connected IRQs, reducing the number of IRQs to 48. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Link: https://lkml.kernel.org/r/1410446511-29477-1-git-send-email-alexandre.belloni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit fda9203b924a8b4caa68fb4a2df5c954f9eb846a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Sep 9 17:44:22 2014 -0700 Documentation: bcm7120-l2: Add Broadcom BCM7120-style L2 binding This patch adds the Device Tree binding document for the Broadcom BCM7120-style Set-top-box Level 2 interrupt controller hardware. We provide some ascii art explaining the different roles and reasons why some properties are introduced to represent that interrupt controller. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Link: https://lkml.kernel.org/r/1410309862-27784-3-git-send-email-f.fainelli@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a5042de2688d3e903799caf1196539c57555e3ed Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Sep 9 17:44:21 2014 -0700 irqchip: bcm7120-l2: Add Broadcom BCM7120-style Level 2 interrupt controller This patch adds support for the Level-2 interrupt controller hardware found in Broadcom Set Top Box System-on-a-Chip devices. This interrupt controller is implemented using a single enable register. This interrupt controller is always present on the platforms supported by the irq-brcmstb-l2 driver, hence the reason why both are compiled using the same Kconfig symbol. [jac] removed the following warning: drivers/irqchip/irq-bcm7120-l2.c: In function 'bcm7120_l2_intc_irq_handle': drivers/irqchip/irq-bcm7120-l2.c:49:27: warning: unused variable 'gc' [-Wunused-variable] Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Link: https://lkml.kernel.org/r/1410309862-27784-2-git-send-email-f.fainelli@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 46eedb901c2a1784f2b781dccd3ec0bcf55d2f7c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:00:00 2014 +0200 irqchip: renesas-irqc: Add binding docs for new R-Car Gen2 SoCs - r8a7792 (R-Car V2H) - r8a7793 (R-Car M2-N) - r8a7794 (R-Car E2) r8a7791 is now called "R-Car M2-W". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1409212800-4957-3-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 41a3322a93395e02a58c938f8182b9402bcdb6d8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 09:59:59 2014 +0200 irqchip: renesas-irqc: Add DT binding documentation The renesas-irqc driver supports DT, but the DT binding documentation was missing. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409212800-4957-2-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9857b069b27abbc3d3b2c9f474e40d8b2b55a228 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 09:59:58 2014 +0200 irqchip: renesas-intc-irqpin: Document SoC-specific bindings The documentation only mentioned the generic fallback compatible property. Add the missing SoC-specific compatible properties, which are already in use. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409212800-4957-1-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ace8578182dc347b043c0825b9873f62fdaa5b77 Author: klightspeed@xxxxxxxxxxxxxxxx <klightspeed@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 18:55:41 2014 +1000 ARM: mvebu: Netgear RN102: Use Hardware BCH ECC The bootloader on the Netgear ReadyNAS RN102 uses Hardware BCH ECC (strength = 4), while the pxa3xx NAND driver by default uses Hamming ECC (strength = 1). This patch changes the ECC mode on these machines to match that of the bootloader and of the stock firmware. That way, it is now possible to update the kernel from userland (e.g. using standard tools from mtd-utils package); u-boot will happily load and boot it. Fixes: 92beaccd8b49 ("ARM: mvebu: Enable NAND controller in ReadyNAS 102 .dts file") Cc: <stable@xxxxxxxxxxxxxxx> #v3.14+ Signed-off-by: Ben Peddell <klightspeed@xxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Tested-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410339341-3372-1-git-send-email-klightspeed@xxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9b02732643d9f4b92b14f5ec041c166bd36033fc Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Sun Sep 14 10:08:37 2014 +0900 ARM: dts: remove old USB2 PHY node for exynos5250 drivers/usb/phy/phy-samsung-usb2 driver got replaced by drivers/phy/phy-samsung-usb2 one. Remove the leftover USB2 PHY node (EHCI/OHCI USB nodes are using the new one already) from Exynos5250 dtsi file. Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Cc: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> Reviewed-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 72a810810ff9e7a80f71f09f431c1b52156cbdda Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Sun Sep 14 10:08:33 2014 +0900 ARM: dts: remove old USB2 PHY node hook for exynos5250-arndale drivers/usb/phy/phy-samsung-usb2 driver got replaced by drivers/phy/phy-samsung-usb2 one. Remove the leftover hook from Arndale dts file. Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Cc: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> Reviewed-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 0a0752c6ee58f28a29e78f1a8c38f2f1b11cba9f Author: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Date: Sun Sep 14 09:22:45 2014 +0900 ARM: dts: update display related nodes for exynos5800-peach-pi Add DT nodes for panel-simple "auo,b133htn01" panel. Add backlight enable pin and backlight power supply for pwm-backlight. Also, add panel phandle needed by dp to enable display on peach_pi. Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit c0d1379a19c3dde3c32be50164997d246241c1e4 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Sat Sep 13 00:06:30 2014 -0400 net: bpf: correctly handle errors in sk_attach_filter() Commit "net: bpf: make eBPF interpreter images read-only" has changed bpf_prog to be vmalloc()ed but never handled some of the errors paths of the old code. On error within sk_attach_filter (which userspace can easily trigger), we'd kfree() the vmalloc()ed memory, and leak the internal bpf_work_struct. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3fc8867740b4a0bf56f372c6f5ddd14970962fb1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Sep 12 23:12:46 2014 -0700 netdevice: Support DSA tagging when DSA is built as a module This change corrects an error seen when DSA tagging is built as a module. Without this change it is not possible to get XDSA tagged frames as the test for tagging is stripped by the #ifdef check. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5879823fc66decc1c0416cad6cd506adbbda6a7f Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Sat Sep 13 01:57:49 2014 +0200 net/macb: Add hardware revision information during probe Print the IP revision when probing. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45f85a2565a9ba4ab4dc095d4d32c4cd2a56b168 Merge: 42f2725 0afdfe9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 17:32:29 2014 -0400 Merge branch 'fec-next' Frank Li says: ==================== net: fec: imx6sx multiqueue support These patches enable i.MX6SX multi queue support. i.MX6SX support 3 queue and AVB feature. Change from v3 to v4 - use "unsigned int" instead of "unsigned" Change from v2 to v3 - fixed alignment requirement for ARM and NO-ARM platform Change from v1 to v2. - Change num_tx_queue to unsigned int - Avoid block non-dt platform - remove call netif_set_real_num_rx_queues - seperate multi queue patch two part, one is tx and rx handle, with fixed queue 0 then other one is initilized multiqueue - use two difference alignment for tx and rx path ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0afdfe951989aec4528a88213b1e1b1b595feae0 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:57 2014 +0800 ARM: dts: imx6sx: add multi-queue support enet Enable 3 queues suppport for ethernet Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08313641e09326ace2b91bc461b1456c763c0d8b Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:56 2014 +0800 ARM: Documentation: Update fec dts binding doc This patch update fec devicetree binding doc that add Optional properties "fsl,num-tx-queues" and "fsl,num-rx-queues". Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4d39b53c2150439afbbeec418221ab96f432703 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:55 2014 +0800 net: fec: init complete variable in early to avoid kernel dump Software clear the MDIO interrupt before MDIO bus access, but MAC still generate MDIO interrupt. The issue only happen on imx6slx chip. CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc1-00399-g0bcad17 #315 Backtrace: [<800121fc>] (dump_backtrace) from [<800124e0>] (show_stack+0x18/0x1c) r6:8096e534 r5:8096e534 r4:00000000 r3:00000000 [<800124c8>] (show_stack) from [<806a4c60>] (dump_stack+0x8c/0xa4) [<806a4bd4>] (dump_stack) from [<80060ab8>] (__lock_acquire+0x1814/0x1c40) r6:be078000 r5:be074000 r4:be03f6e4 r3:be078000 [<8005f2a4>] (__lock_acquire) from [<800616e0>] (lock_acquire+0x70/0x84) r10:809ada33 r9:be010600 r8:00000096 r7:00000001 r6:be074000 r5:00000000 r4:60000193 [<80061670>] (lock_acquire) from [<806abb20>] (_raw_spin_lock_irqsave+0x40/0x54) r7:00000000 r6:8005a3f8 r5:00000193 r4:be03f6d4 [<806abae0>] (_raw_spin_lock_irqsave) from [<8005a3f8>] (complete+0x1c/0x4c) r6:80950904 r5:be03f6d0 r4:be03f6d4 [<8005a3dc>] (complete) from [<8041b4c0>] (fec_enet_interrupt+0x128/0x164) r6:80950904 r5:00800000 r4:be03f000 r3:00000000 [<8041b398>] (fec_enet_interrupt) from [<8006aeac>] (handle_irq_event_percpu+0x38/0x13c) r6:00000000 r5:be01065c r4:be399e00 r3:8041b398 [<8006ae74>] (handle_irq_event_percpu) from [<8006aff4>] (handle_irq_event+0x44/0x64) r10:be03f000 r9:80989fe0 r8:00000000 r7:00000096 r6:be399e00 r5:be01065c r4:be010600 [<8006afb0>] (handle_irq_event) from [<8006e3e8>] (handle_fasteoi_irq+0xc8/0x1bc) r6:8096e764 r5:be01065c r4:be010600 r3:00000000 [<8006e320>] (handle_fasteoi_irq) from [<8006a63c>] (generic_handle_irq+0x30/0x44) r6:be074010 r5:80945e4c r4:00000096 r3:8006e320 [<8006a60c>] (generic_handle_irq) from [<8000f218>] (handle_IRQ+0x54/0xbc) r4:80950d74 r3:00000180 [<8000f1c4>] (handle_IRQ) from [<800086cc>] (gic_handle_irq+0x30/0x68) r8:be3ab478 r7:c080e100 r6:be075bd8 r5:80950eec r4:c080e10c r3:000000a0 [<8000869c>] (gic_handle_irq) from [<80013064>] (__irq_svc+0x44/0x5c) Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41ef84ce4c7231ecdf6f116f03635d2a184bc5ba Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:54 2014 +0800 net: fec: change FEC alignment according to i.mx6 sx requirement i.MX6 SX change FEC alignment requirement. i.MX6 SX change internal bus from AHB to AXI. It require RX buffer must be 64 bytes alignment. And remove TX buffer alignment requirement. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba593e00e645a8522a97a14a90a176d53629976e Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:53 2014 +0800 net:fec: Add fsl,imx6sx-fec compatible strings Add compatible string "fsl,imx6sx-fec" for i.MX6SX. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce99d0d3abba0faf796a6ce999e4f0356c7b4653 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:52 2014 +0800 net: fec: add enet-avb IP support i.MX6SX Enet-AVB support 3 tx queues, 3 rx queues. For tx queues: ring 0 -> best effort ring 1 -> Class A ring 2 -> Class B For rx queues: ring 0 -> best effort ring 1 -> receive VLAN packet with classification match ring 2 -> receive VLAN packet with classification match Add enet-avb IP multiqueue support for the driver. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 106c314c7a765d3c472f264e0915de6180922cda Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:51 2014 +0800 net:fec: Disable enet-avb MAC instead of reset MAC For i.MX6SX enet use AXI bus, reset MAC will make system bus dead if ENET-AXI bus has pending access (AHB bus should not have such issue). So, disable enet with AVB MAC instead of reset MAC itself. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59d0f746564495c7f54526674deabfcf101236a1 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:50 2014 +0800 net: fec: init multi queue date structure initilized all queues according to queue number get from DT file. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Duan Fugang <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fc095f136b5436fafb22f31c4871b5edcb362b9 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:49 2014 +0800 net: fec: parser max queue number from dt file By default, the tx/rx queue number is 1, user can config the queue number at DTS file like this: fsl,num-tx-queues=<3>; fsl,num-rx-queues=<3> Since i.MX6SX enet-AVB IP support multi queues, so use multi queues interface to allocate and set up an Ethernet device. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d494cdc92b3b9a0f5fb9e1560810fa27d5a0489 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:48 2014 +0800 net: fec: change data structure to support multiqueue This patch just change data structure to support multi-queue. Only 1 queue enabled. Ethernet multiqueue mechanism can improve performance in SMP system. For single hw queue, multiqueue can balance cpu loading. For multi hw queues, multiple cores can process network packets in parallel, and refer the article for the detail advantage for multiqueue: http://vger.kernel.org/~davem/davem_nyc09.pdf Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <frank.li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95a774706d15fdbaef19656b8aae18a985465729 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:47 2014 +0800 net:fec: add enet AVB feature macro define for imx6sx Add enet AVB feature macro define for imx6sx. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b5330edf1f8e24a8ca25412e6d341e0fae0ad0a Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:46 2014 +0800 net:fec: add enet refrence clock for i.MX 6SX chip i.MX6sx enet has below clocks for user config: clk_ipg: ipg_clk_s, ipg_clk_mac0_s, 66Mhz clk_ahb: enet system clock, it is enet AXI clock for imx6sx. For imx6sx, it alos is the clock source of interrupt coalescing. The clock range: 200Mhz ~ 266Mhz. clk_ref: refrence clock for tx and rx. For imx6sx enet RGMII mode, the refrence clock is 125Mhz coming from internal PLL or external. In i.MX6sx-arm2 board, the clock is from internal PLL. clk_ref is optional, depends on board. clk_enet_out: The clock can be output from internal PLL. It can supply 50Mhz clock for phy. clk_enet_out is optional, depends on chip and board. clk_ptp: 1588 ts clock. It is optional, depends on chip. The patch add clk_ref to distiguish the different clocks. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9d06d34bcc62f4cc3679704ac42cff5b44a97c6e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Sep 13 11:31:17 2014 -0700 ARM: orion5x: Convert pr_warning to pr_warn Use the more common pr_warn. Other miscellanea: o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/b438c7c54306f095a150e50df41fbba4d515c2f8.1410632835.git.joe@xxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 42f272539487e49c9ea830ad97db41eb9937d5dc Author: Andrew Lunn <andrew@xxxxxxx> Date: Fri Sep 12 23:58:44 2014 +0200 net: DSA: Marvell mv88e6171 switch driver This is the Marvell driver with some cleanups by Claudio Leite and myself. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Claudio Leite <leitec@xxxxxxxxxxxx> Signed-off-by: Claudio Leite <leitec@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4d223bb9bd3ac5fa87ead246f5a7e1019b1faea Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 11:56:59 2014 +0200 ARM: mvebu: add gpio-fan to mvebu_v7_defconfig Since one of the platforms (Armada 370 RD) is now using the gpio-fan driver, it makes sense to enable it in mvebu_v7_defconfig. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1410429419-29820-5-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b06333f4a783c3a53a6c81bfef4f8fc4bade3811 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 11:56:58 2014 +0200 ARM: mvebu: add LED class support built-in in mvebu_v7_defconfig For some reason, while all other features are configured built-in, the LED class support was configured as a module in mvebu_v7_defconfig. This commit makes it consistent with the other options, by making this feature built-in. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1410429419-29820-4-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 5b1e9e80c044442cc80eb6bb03b11165515eedb8 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 11:56:57 2014 +0200 ARM: mvebu: add user LED support of Armada 370 RD The Armada 370 RD has a GPIO controlled LED connected on MPP32, so this commit adds the relevant hardware description to Armada 370 RD Device Tree. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1410429419-29820-3-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e8db78dd6af727fdbeefa1fc624bc5d7c572d841 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 11:56:56 2014 +0200 ARM: mvebu: add gpio fan support to Armada 370 RD The Armada 370 RD platform has a GPIO-controlled fan on MPP8, so this commit adds the relevant hardware description to Armada 370 RD Device Tree. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1410429419-29820-2-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0943629688c62c69d1355bf2abcd217029899da0 Merge: 233577a 2f951a9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 17:12:25 2014 -0400 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Patch 1 fixes some minor issues with log messages in be2net. Patch 2 replaces strcpy() calls with strlcpy() to avoid possible buffer overflow. Patch 3 improves the RX buffer posting scheme for jumbo frames. Patch 4 replaces the use of v0 of SET_FLOW_CONTROL cmd with v1 to receive a definitive completion status from FW. Patch 5 adds support for ethtool "-m" ethtool option. Patch 6 fixes port-type reporting via ethtool get_settings for QSFP/SFP+ interfaces. Patch 7 fixes the usage of MODIFY_EQD FW cmd to target a max of 8 EQs on Lancer chip. Patch 8 enables PCIe error reporting even for VFs. Pls consider applying this patch set to net-next. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f951a9abe040741f76a029691ab3e4eb3389acf Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 12 17:39:21 2014 +0530 be2net: enable PCIe error reporting on VFs too Currently PCIe error reporting is enabled only on PFs. This patch enables this feature on VFs too as Lancer VFs support it. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 936767039cdf9409153fbaafa3127b0c85101097 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 12 17:39:20 2014 +0530 be2net: send a max of 8 EQs to be_cmd_modify_eqd() on Lancer The MODIFY_EQ_DELAY FW cmd on Lancer is supported for a max of 8 EQs per cmd. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6809cee0ca2139877566d860abc892b4736de8af Author: Ravikumar Nelavelli <ravikumar.nelavelli@xxxxxxxxxx> Date: Fri Sep 12 17:39:19 2014 +0530 be2net: fix port-type reporting in get_settings Report the ethtool port-type/supported/advertising values based on the cable_type for QSFP and SFP+ interfaces. The cable_type is parsed from the transceiver data fetched from the FW. Signed-off-by: Ravikumar Nelavelli <ravikumar.nelavelli@xxxxxxxxxx> Signed-off-by: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e36edd9d26cf257511548edaf2b7a56eb4fed854 Author: Mark Leonard <mark.leonard@xxxxxxxxxx> Date: Fri Sep 12 17:39:18 2014 +0530 be2net: add ethtool "-m" option support This patch adds support for the dump-module-eeprom and module-info ethtool options. Signed-off-by: Mark Leonard <mark.leonard@xxxxxxxxxx> Signed-off-by: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b29812c13514b3bb9236aed4bd35192e6b3d0f2d Author: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Date: Fri Sep 12 17:39:17 2014 +0530 be2net: use v1 of SET_FLOW_CONTROL command In some configurations the FW doesn't allow changing flow control settings of a link. Unless a v1 version of the SET_FLOW_CONTROL cmd is used, the FW doesn't report an error to the driver. Signed-off-by: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c30d72665cce3613ed222215b71dd4b5213169d2 Author: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx> Date: Fri Sep 12 17:39:16 2014 +0530 be2net: fix RX fragment posting for jumbo frames In the RX path, the driver currently consumes upto 64 (budget) packets in one NAPI sweep. When the size of the packet received is larger than a fragment size (2K), more than one fragment is consumed for each packet. As the driver currently posts a max of 64 fragments, all the consumed fragments may not be replenished. This can cause avoidable drops in RX path. This patch fixes this by posting a max(consumed_frags, 64) frags. This is done only when there are atleast 64 free slots in the RXQ. Signed-off-by: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 242eb47010840056c121c1141bddf3b279cb47bc Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Fri Sep 12 17:39:15 2014 +0530 be2net: replace strcpy with strlcpy Replace strcpy with strlcpy, as it avoids a possible buffer overflow. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50762667f78e346c343544f88270c0a831789e7d Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Fri Sep 12 17:39:14 2014 +0530 be2net: fix some log messages This patch fixes the following minor issues with log messages in be2net: 1) Period is not required at the end of log message. 2) Remove "Unknown grp5 event" logs to reduce noise. The driver can safely ignore async events from FW it's not interested in. 3) Reword a log message for better readability to say that SRIOV "is disabled" rather than "not supported". Signed-off-by: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 233577a22089facf5271ab5e845b2262047c971f Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 14:04:43 2014 +0200 net: filter: constify detection of pkt_type_offset Currently we have 2 pkt_type_offset functions doing the same thing and spread across the architecture files. Remove those and replace them with a PKT_TYPE_OFFSET macro helper which gets the constant value from a zero sized sk_buff member right in front of the bitfield with offsetof. This new offset marker does not change size of struct sk_buff. Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac7a04c33dd7f8e429df4b929ba3a3e8e729cc89 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Sep 11 21:18:09 2014 -0700 net: dsa: change tag_protocol to an enum Now that we introduced an additional multiplexing/demultiplexing layer with commit 3e8a72d1dae37 ("net: dsa: reduce number of protocol hooks") that lives within the DSA code, we no longer need to have a given switch driver tag_protocol be an actual ethertype value, instead, we can replace it with an enum: dsa_tag_protocol. Do this replacement in the drivers, which allows us to get rid of the cpu_to_be16()/htons() dance, and remove ETH_P_BRCMTAG since we do not need it anymore. Suggested-by: Alexander Duyck <alexander.duyck@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f5e01e96d424b54f5f0e89ee1ba9ccca03a3941 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Sep 1 19:35:41 2014 +0200 ARM: Kirkwood: Fix DT based DSA. During the conversion of boards to use DT to instantiate Distributed Switch Architecture, nobody volunteered to test. As to be expected, the conversion was flawed. Testers and access to hardware has now become available, and this patch hopefully fixes the problems. dsa,mii-bus must be a phandle to the top level mdio node, not the port specific subnode of the mdio device. dsa,ethernet must be a phandle to the port subnode within the ethernet DT node, not the ethernet node. Don't pinctrl hog the card detect gpio for mvsdio. Rename the .dts files to make it clearer which file is for the Z0 stepping and which for the A0 or later stepping. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: seugene@xxxxxxxxxxx Tested-by: Eugene Sanivsky <seugene@xxxxxxxxxxx> Fixes: e2eaa339af44: ("ARM: Kirkwood: convert rd88f6281-setup.c to DT.") Fixes: e7c8f3808be8: ("ARM: kirkwood: Convert mv88f6281gtw_ge switch setup to DT") Cc: <stable@xxxxxxxxxxxxxxx> #v3.15+ Link: https://lkml.kernel.org/r/1409592941-22244-1-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit c55542983e572bcac813fd9a393e725e158074be Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Fri Sep 12 10:43:11 2014 +0800 r8152: support VLAN Support hw VLAN for tx and rx. And enable them by default. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f19f916d64e7a0af743bbfc7d1594db08c712f9f Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Fri Sep 12 07:12:57 2014 +0800 net: stmmac: fix return value check in socfpga_dwmac_parse_data() In case of error, the function devm_ioremap_resource() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ce62a84d53cd3d3cc5377bbf339e9b08ddf9c36 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:07:16 2014 -0700 ipv6: exit early in addrconf_notify() if IPv6 is disabled If IPv6 is explicitly disabled before the interface comes up, it makes no sense to continue when it comes up, even just print a message. (I am not sure about other cases though, so I prefer not to touch) Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4361eb664de09a9f60955c7f5e9355f7ed46a08d Merge: 8801d48 1691c63 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 16:38:53 2014 -0400 Merge branch 'ipv6-cleanups' Cong Wang says: ==================== ipv6: clean up locking code in anycast and mcast This patchset cleans up the locking code in anycast.c and mcast.c and makes the refcount code more readable. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> v1 -> v2: * refactor some code and make it in a separated patch * update comments ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1691c63ea42d6f57ba769df401b9773664edb936 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:16 2014 -0700 ipv6: refactor ipv6_dev_mc_inc() Refactor out allocation and initialization and make the refcount code more readable. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7ed925c1b4d62e82b72d8e99fa4be52fb0c73b6 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:15 2014 -0700 ipv6: update the comment in mcast.c Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 414b6c943fe25c5c576b6f0ce9077c29a150d826 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:14 2014 -0700 ipv6: drop some rcu_read_lock in mcast Similarly the code is already protected by rtnl lock. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5350916bfd49f737d73c4c512fbea1b3537c703 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:13 2014 -0700 ipv6: drop ipv6_sk_mc_lock in mcast Similarly the code is already protected by rtnl lock. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83aa29eefdb152d65e65a90605593766b4f793ef Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:12 2014 -0700 ipv6: refactor __ipv6_dev_ac_inc() Refactor out allocation and initialization and make the refcount code more readable. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 013b4d90387a5dca54281263e0d4650db97bd67c Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:11 2014 -0700 ipv6: clean up ipv6_dev_ac_inc() Make it accept inet6_dev, and rename it to __ipv6_dev_ac_inc() to reflect this change. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b03a9c04a3a605815c232506e1d76281afe0946f Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:10 2014 -0700 ipv6: remove ipv6_sk_ac_lock Just move rtnl lock up, so that the anycast list can be protected by rtnl lock now. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c555490e0ce885a9caf0a045db69382a3ccbc9c Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:09 2014 -0700 ipv6: drop useless rcu_read_lock() in anycast These code is now protected by rtnl lock, rcu read lock is useless now. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ecbb3c3c712d9c859586886d621e3b6175da972 Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Sun Feb 9 10:30:00 2014 +0000 iio: accel: BMC150: add support for other Bosch chips The following chips are either similar or have only the resolution different. Hence, change this driver to support these chips too: BMI055 - combo chip (accelerometer part is identical to BMC150's) BMA255 - identical to BMC150's accelerometer BMA222E - 8 bit resolution BMA250E - 10 bit resolution BMA280 - 14 bit resolution Additionally: * add bmc150_accel_match_acpi_device() function to check that the device has been enumerated through ACPI; * rename bmc150_accel_acpi_gpio_probe() to bmc150_accel_gpio_probe() since the ACPI matching has been moved to the new function. Also, this will allow for the GPIO matching to be done against a device tree too, not only ACPI tree; * rename bmc150_scale_info struct member 'range' to 'reg_range' to be consistent with the naming convention used elsewhere in the driver and declare it u8, instead of int; * change CONFIG description to list all supported chips; Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8801d48cbde6ddd275c1e6b866e434a72cafeabd Merge: b25bd25 8c0bc55 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 16:29:57 2014 -0400 Merge branch 'bonding-next' Nikolay Aleksandrov says: ==================== bonding: get rid of curr_slave_lock This is the second patch-set dealing with bond locking and the purpose here is to convert curr_slave_lock into a spinlock called "mode_lock" which can be used in the various modes for their specific needs. The first three patches cleanup the use of curr_slave_lock and prepare it for the conversion which is done in patch 4 and then the modes that were using their own locks are converted to use the new "mode_lock" giving us the opportunity to remove their locks. This patch-set has been tested in each mode by running enslave/release of slaves in parallel with traffic transmission and miimon=1 i.e. running all the time. In fact this lead to the discovery of a subtle bug related to RCU which will be fixed in -net. Also did an allmodconfig test just in case :-) v2: fix bond_3ad_state_machine_handler's use of mode_lock and curr_slave_lock ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c0bc550288d81e9ad8a2ed9136a72140b9ef507 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:28 2014 +0200 bonding: adjust locking comments Now that locks have been removed, remove some unnecessary comments and adjust others to reflect reality. Also add a comment to "mode_lock" to describe its current users and give a brief summary why they need it. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e470259fa1bd7ce5a375b16c5ec97cc0e83b058d Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:27 2014 +0200 bonding: 3ad: convert to bond->mode_lock Now that we have bond->mode_lock, we can remove the state_machine_lock and use it in its place. There're no fast paths requiring the per-port spinlocks so it should be okay to consolidate them into mode_lock. Also move it inside the unbinding function as we don't want to expose mode_lock outside of the specific modes. Suggested-by: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bab16d7c97498e91564231b922d49f52efaf7d4 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:26 2014 +0200 bonding: alb: convert to bond->mode_lock The ALB/TLB specific spinlocks are no longer necessary as we now have bond->mode_lock for this purpose, so convert them and remove them from struct alb_bond_info. Also remove the unneeded lock/unlock functions and use spin_lock/unlock directly. Suggested-by: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b743562819bd97cc7c282e870896bae8016b64b5 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:25 2014 +0200 bonding: convert curr_slave_lock to a spinlock and rename it curr_slave_lock is now a misleading name, a much better name is mode_lock as it'll be used for each mode's purposes and it's no longer necessary to use a rwlock, a simple spinlock is enough. Suggested-by: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c72cfdc96e63bf975cab514c4ca4d8a661ba0e6 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:24 2014 +0200 bonding: clean curr_slave_lock use Mostly all users of curr_slave_lock already have RTNL as we've discussed previously so there's no point in using it, the one case where the lock must stay is the 3ad code, in fact it's the only one. It's okay to remove it from bond_do_fail_over_mac() as it's called with RTNL and drops the curr_slave_lock anyway. bond_change_active_slave() is one of the main places where curr_slave_lock was used, it's okay to remove it as all callers use RTNL these days before calling it, that's why we move the ASSERT_RTNL() in the beginning to catch any potential offenders to this rule. The RTNL argument actually applies to all of the places where curr_slave_lock has been removed from in this patch. Also remove the unnecessary bond_deref_active_protected() macro and use rtnl_dereference() instead. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62c5f5185397f4bd8e5defe6fcb86420deeb2b38 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:23 2014 +0200 bonding: alb: remove curr_slave_lock First in rlb_teach_disabled_mac_on_primary() it's okay to remove curr_slave_lock as all callers except bond_alb_monitor() already hold RTNL, and in case bond_alb_monitor() is executing we can at most have a period with bad throughput (very unlikely though). In bond_alb_monitor() it's okay to remove the read_lock as the slave list is walked with RCU and the worst that could happen is another transmitter at the same time and thus for a period which currently is 10 seconds (bond_alb.h: BOND_ALB_LP_TICKS). And bond_alb_handle_active_change() is okay because it's always called with RTNL. Removed the ASSERT_RTNL() because it'll be inserted in the parent function in a following patch. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86e749866d7c6b0ee1f9377cf7142f2690596a05 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:22 2014 +0200 bonding: 3ad: clean up curr_slave_lock usage Remove the read_lock in bond_3ad_lacpdu_recv() since when the slave is being released its rx_handler is removed before 3ad unbind, so even if packets arrive, they won't see the slave in an inconsistent state. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71557d70b3c1c391ade6622a1369a3f2b695a1d8 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 10 17:10:35 2014 +0200 ARM: dts: rockchip: clean up rk3xxx mmc nodes Commit 356649ab6d64 ("ARM: dts: rockchip: unuse the slot-node and deprecate the supports-highspeed for dw-mmc") removed the slots but not the #xx-cells properties describing the subnodes. Do this now. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 4ff4ae1258a9d091e3ab4e467ca101cd6f0ccdd0 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 10 17:04:36 2014 +0200 ARM: dts: rockchip: add emmc nodes for rk3066 and rk3188 Add the controller node, pinctrl settings for the customizable pins and sort the controllers like on rk3288 as emmc, sdmmc, sdio for handling convenience. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 39c2bd782a2c50c51bced96ad3f2c97d4997d949 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 10 16:28:02 2014 +0200 ARM: dts: rockchip: add Cortex-A9 SPI controller nodes This adds basic spi nodes and pinctrl settings to the rk3066 and rk3188 devicetree files. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit f1c8547f56f1da9db51fe3281479c823e949a9fd Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 9 15:40:52 2014 +0200 ARM: dts: rockchip: enable usb ports on Radxa Rock This enables both the otg and host port and adds the vbus regulators on the Radxa Rock board. As we don't have phy support yet, the vbus regulators are added in always-on mode. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fd14e6f9b461c73c8706a2c7d3fb12fe07e59942 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 9 15:37:27 2014 +0200 ARM: dts: rockchip: add dwc2 controllers for rk3066 and rk3188 Add the two dwc2 controllers providing an otg and a designated host port. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ce6965ebcc0a5fa4bcaeba14956ae57c4e7f339c Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 9 15:27:27 2014 +0200 ARM: dts: rockchip: remove rockchip,bus-index from rk3xxx i2c0 This is a remnant from the first i2c driver iteration that seems to have been forgotten and thus made its way into the dtsi. Remove it. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit f6361c6b3880063c2248d4e453331e3dc1efbf83 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Sep 14 02:43:09 2014 +0900 ARM: S3C24XX: remove separate restart code The restart-handler series from Guenter Roeck got accepted recently and implements among other things also the restart handler in the samsung watchdog driver and where applicable in the clock drivers. So there is no need for having the restart callbacks in s3c24xx boards anymore. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 68ba947c1208504080397b9fc55a0ae9ba92936d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sun Sep 14 02:31:19 2014 +0900 ARM: EXYNOS: Do not calculate boot address twice Commit b3205dea8fbf ("ARM: EXYNOS: Map SYSRAM through generic DT bindings") introduced local variable boot_reg where boot address from cpu_boot_reg() call is stored. Re-use it instead calling cpu_boot_reg() again. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 3b8fe9859112dd46c5aff521ec51e9e301278873 Author: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Date: Sun Sep 14 02:20:18 2014 +0900 ARM: dts: update display related nodes for exynos5420-peach-pit Add DT nodes for ps8622 bridge chip and panel. Add backlight power supply for pwm-backlight. Also add bridge phandle needed by dp to enable display on peach_pit. Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit a98c3c23868fbb5eda3fd321cab89c6e34cc5b47 Author: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Date: Sun Sep 14 02:16:35 2014 +0900 ARM: dts: update display related nodes for exynos5250-snow Add DT nodes for ptn3460 bridge chip and panel. Add backlight enable pin and backlight power supply for pwm-backlight. Also add bridge phandle needed by dp to enable display on snow. Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit dc4ecaf21c4a0c060f2728d31bf492ceb2c8daaf Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Thu Jan 9 10:20:00 2014 +0000 staging: iio: light: isl29018: add ACPI support Add support for enumerating the device through ACPI. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b25bd2515ea32cf5ddd5fd5a2a93b8c9dd875e4f Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Sep 11 10:17:38 2014 +0930 virtio_ring: unify direct/indirect code paths. virtqueue_add() populates the virtqueue descriptor table from the sgs given. If it uses an indirect descriptor table, then it puts a single descriptor in the descriptor table pointing to the kmalloc'ed indirect table where the sg is populated. Previously vring_add_indirect() did the allocation and the simple linear layout. We replace that with alloc_indirect() which allocates the indirect table then chains it like the normal descriptor table so we can reuse the core logic. This slows down pktgen by less than 1/2 a percent (which uses direct descriptors), as well as vring_bench, but it's far neater. vring_bench before: 1061485790-1104800648(1.08254e+09+/-6.6e+06)ns vring_bench after: 1125610268-1183528965(1.14172e+09+/-8e+06)ns pktgen before: 787781-796334(793165+/-2.4e+03)pps 365-369(367.5+/-1.2)Mb/sec (365530384-369498976(3.68028e+08+/-1.1e+06)bps) errors: 0 pktgen after: 779988-790404(786391+/-2.5e+03)pps 361-366(364.35+/-1.3)Mb/sec (361914432-366747456(3.64885e+08+/-1.2e+06)bps) errors: 0 Now, if we make force indirect descriptors by turning off any_header_sg in virtio_net.c: pktgen before: 713773-721062(718374+/-2.1e+03)pps 331-334(332.95+/-0.92)Mb/sec (331190672-334572768(3.33325e+08+/-9.6e+05)bps) errors: 0 pktgen after: 710542-719195(714898+/-2.4e+03)pps 329-333(331.15+/-1.1)Mb/sec (329691488-333706480(3.31713e+08+/-1.1e+06)bps) errors: 0 Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eeebf9b1fc0862466c5661d63fbaf66ab4a50210 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Sep 11 10:17:37 2014 +0930 virtio_ring: assume sgs are always well-formed. We used to have several callers which just used arrays. They're gone, so we can use sg_next() everywhere, simplifying the code. On my laptop, this slowed down vring_bench by 15%: vring_bench before: 936153354-967745359(9.44739e+08+/-6.1e+06)ns vring_bench after: 1061485790-1104800648(1.08254e+09+/-6.6e+06)ns However, a more realistic test using pktgen on a AMD FX(tm)-8320 saw a few percent improvement: pktgen before: 767390-792966(785159+/-6.5e+03)pps 356-367(363.75+/-2.9)Mb/sec (356068960-367936224(3.64314e+08+/-3e+06)bps) errors: 0 pktgen after: 787781-796334(793165+/-2.4e+03)pps 365-369(367.5+/-1.2)Mb/sec (365530384-369498976(3.68028e+08+/-1.1e+06)bps) errors: 0 Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a58354409a00f2d8f7882c6a91fde1df5d0a4bb8 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Sep 11 10:17:36 2014 +0930 virtio_net: pass well-formed sgs to virtqueue_add_*() This is the only driver which doesn't hand virtqueue_add_inbuf and virtqueue_add_outbuf a well-formed, well-terminated sg. Fix it, so we can make virtio_add_* simpler. pktgen results: modprobe pktgen echo 'add_device eth0' > /proc/net/pktgen/kpktgend_0 echo nowait 1 > /proc/net/pktgen/eth0 echo count 1000000 > /proc/net/pktgen/eth0 echo clone_skb 100000 > /proc/net/pktgen/eth0 echo dst_mac 4e:14:25:a9:30:ac > /proc/net/pktgen/eth0 echo dst 192.168.1.2 > /proc/net/pktgen/eth0 for i in `seq 20`; do echo start > /proc/net/pktgen/pgctrl; tail -n1 /proc/net/pktgen/eth0; done Before: 746547-793084(786421+/-9.6e+03)pps 346-367(364.4+/-4.4)Mb/sec (346397808-367990976(3.649e+08+/-4.5e+06)bps) errors: 0 After: 767390-792966(785159+/-6.5e+03)pps 356-367(363.75+/-2.9)Mb/sec (356068960-367936224(3.64314e+08+/-3e+06)bps) errors: 0 Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b01f5bf3999a3db5b1bbd9fdfd80d8d304e94ee Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Mon Aug 18 01:36:07 2014 +0200 nohz: nohz full depends on irq work self IPI support The nohz full functionality depends on IRQ work to trigger its own interrupts. As it's used to restart the tick, we can't rely on the tick fallback for irq work callbacks, ie: we can't use the tick to restart the tick itself. Lets reject the full dynticks initialization if that arch support isn't available. As a side effect, this makes sure that nohz kick is never called from the tick. That otherwise would result in illegal hrtimer self-cancellation and lockup. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 4327b15f64b2580dad40d2674d50fc44f1b699c1 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sun Aug 17 22:02:55 2014 +0200 nohz: Consolidate nohz full init code The supports for CONFIG_NO_HZ_FULL_ALL=y and the nohz_full= kernel parameter both have their own way to do the same thing: allocate full dynticks cpumasks, fill them and initialize some state variables. Lets consolidate that all in the same place. While at it, convert some regular printk message to warnings when fundamental allocations fail. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 3631073659d0aafeaa52227bb61a100efaf901dc Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 16 18:48:05 2014 +0200 arm64: Tell irq work about self IPI support ARM64 irq work self-IPI support depends on __smp_cross_call to point to some relevant IRQ controller operations. This information should be available after the call to init_IRQ(). Lets implement arch_irq_work_has_interrupt() accordingly. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 0fe13151beaf1853753339c677d1bb37e5dbff27 Merge: 54996b5 de591c7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 12:43:24 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-09-12 This series contains updates to e1000, ixgbe and ixgbevf. Mark provide two fixes to reduce compile warnings produce by ixgbe and ixgbevf. Alex provides two patches for ixgbe, first removes the receive buffer allocation at the end of the ixgbe_clean_rx_irq(). The reason for removing this is to avoid the extra latency introduced by the MMIO write. Second patch addresses several issues in the current ixgbe implementation of busy poll sockets. It was possible for frames to be delivered out of order if they were held in GRO, so address this by flushing the GRO buffers before releasing the q_vector back to the idle state. Also, we were having to take a spinlock on changing the state to and from idle, so to resolve this, replaced the state value with an atomic and use atomic_cmpxchg to change the value from idle, and a simple atomic set to restore it back to idle after we have acquired it. This allows us to only use a locked operation on acquiring the vector without a need for a locked operation to release it. Florian Westphal provides several patches for e1000 which does some cleanup and updating of the driver. Moved e1000_tbi_adjust_stats() so that he could make the function static. Added a helper function to deal with the tbi workaround that was located in 2 different Rx clean functions. Added a e1000_rx_buffer struct for use on receive since the transmit and receive have different requirements. Updates e1000 to use napi_gro_frags API. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09f6edd424218eb69078551b2ecfada1f2d098eb Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 16 18:47:53 2014 +0200 arm: Tell irq work about self IPI support ARM irq work IPI support depends on SMP support. That information is partly known at early boottime. Lets implement arch_irq_work_has_interrupt() accordingly. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 3010279f0fc36f0388872203e63ca49912f648fd Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 16 18:47:15 2014 +0200 x86: Tell irq work about self IPI support x86 supports irq work self-IPIs when local apic is available. This is partly known on runtime so lets implement arch_irq_work_has_interrupt() accordingly. This should be safely called after setup_arch(). Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 3b40a80216e941c518426f7b86705e52acbd413f Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Sat Sep 13 08:41:38 2014 +0800 ASoC: rockchip-i2s: add dma data to snd_soc_dai Add playback/capture dma data to snd_soc_dai. Test on RK3288 with max98090. Signed-off-by: Jianqun Xu <jay.xu@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38306afc107c53c379757e7f3146a6418328ebc9 Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Sat Sep 13 08:40:19 2014 +0800 ASoC: rockchip-i2s: fix rockchip i2s defination more reasonable Fix SND_ROCKCHIP_I2S to be more reasonable - SND_SOC_ROCKCHIP_I2S, SND_SOC_ROCKCHIP_I2S should select by audio driver, instead of SND_SOC_ROCKCHIP. Signed-off-by: Jianqun Xu <jay.xu@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76a33061b9323b7fdb220ae5fa116c10833ec22e Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 16 18:37:19 2014 +0200 irq_work: Force raised irq work to run on irq work interrupt The nohz full kick, which restarts the tick when any resource depend on it, can't be executed anywhere given the operation it does on timers. If it is called from the scheduler or timers code, chances are that we run into a deadlock. This is why we run the nohz full kick from an irq work. That way we make sure that the kick runs on a virgin context. However if that's the case when irq work runs in its own dedicated self-ipi, things are different for the big bunch of archs that don't support the self triggered way. In order to support them, irq works are also handled by the timer interrupt as fallback. Now when irq works run on the timer interrupt, the context isn't blank. More precisely, they can run in the context of the hrtimer that runs the tick. But the nohz kick cancels and restarts this hrtimer and cancelling an hrtimer from itself isn't allowed. This is why we run in an endless loop: Kernel panic - not syncing: Watchdog detected hard LOCKUP on cpu 2 CPU: 2 PID: 7538 Comm: kworker/u8:8 Not tainted 3.16.0+ #34 Workqueue: btrfs-endio-write normal_work_helper [btrfs] ffff880244c06c88 000000001b486fe1 ffff880244c06bf0 ffffffff8a7f1e37 ffffffff8ac52a18 ffff880244c06c78 ffffffff8a7ef928 0000000000000010 ffff880244c06c88 ffff880244c06c20 000000001b486fe1 0000000000000000 Call Trace: <NMI[<ffffffff8a7f1e37>] dump_stack+0x4e/0x7a [<ffffffff8a7ef928>] panic+0xd4/0x207 [<ffffffff8a1450e8>] watchdog_overflow_callback+0x118/0x120 [<ffffffff8a186b0e>] __perf_event_overflow+0xae/0x350 [<ffffffff8a184f80>] ? perf_event_task_disable+0xa0/0xa0 [<ffffffff8a01a4cf>] ? x86_perf_event_set_period+0xbf/0x150 [<ffffffff8a187934>] perf_event_overflow+0x14/0x20 [<ffffffff8a020386>] intel_pmu_handle_irq+0x206/0x410 [<ffffffff8a01937b>] perf_event_nmi_handler+0x2b/0x50 [<ffffffff8a007b72>] nmi_handle+0xd2/0x390 [<ffffffff8a007aa5>] ? nmi_handle+0x5/0x390 [<ffffffff8a0cb7f8>] ? match_held_lock+0x8/0x1b0 [<ffffffff8a008062>] default_do_nmi+0x72/0x1c0 [<ffffffff8a008268>] do_nmi+0xb8/0x100 [<ffffffff8a7ff66a>] end_repeat_nmi+0x1e/0x2e [<ffffffff8a0cb7f8>] ? match_held_lock+0x8/0x1b0 [<ffffffff8a0cb7f8>] ? match_held_lock+0x8/0x1b0 [<ffffffff8a0cb7f8>] ? match_held_lock+0x8/0x1b0 <<EOE><IRQ[<ffffffff8a0ccd2f>] lock_acquired+0xaf/0x450 [<ffffffff8a0f74c5>] ? lock_hrtimer_base.isra.20+0x25/0x50 [<ffffffff8a7fc678>] _raw_spin_lock_irqsave+0x78/0x90 [<ffffffff8a0f74c5>] ? lock_hrtimer_base.isra.20+0x25/0x50 [<ffffffff8a0f74c5>] lock_hrtimer_base.isra.20+0x25/0x50 [<ffffffff8a0f7723>] hrtimer_try_to_cancel+0x33/0x1e0 [<ffffffff8a0f78ea>] hrtimer_cancel+0x1a/0x30 [<ffffffff8a109237>] tick_nohz_restart+0x17/0x90 [<ffffffff8a10a213>] __tick_nohz_full_check+0xc3/0x100 [<ffffffff8a10a25e>] nohz_full_kick_work_func+0xe/0x10 [<ffffffff8a17c884>] irq_work_run_list+0x44/0x70 [<ffffffff8a17c8da>] irq_work_run+0x2a/0x50 [<ffffffff8a0f700b>] update_process_times+0x5b/0x70 [<ffffffff8a109005>] tick_sched_handle.isra.21+0x25/0x60 [<ffffffff8a109b81>] tick_sched_timer+0x41/0x60 [<ffffffff8a0f7aa2>] __run_hrtimer+0x72/0x470 [<ffffffff8a109b40>] ? tick_sched_do_timer+0xb0/0xb0 [<ffffffff8a0f8707>] hrtimer_interrupt+0x117/0x270 [<ffffffff8a034357>] local_apic_timer_interrupt+0x37/0x60 [<ffffffff8a80010f>] smp_apic_timer_interrupt+0x3f/0x50 [<ffffffff8a7fe52f>] apic_timer_interrupt+0x6f/0x80 To fix this we force non-lazy irq works to run on irq work self-IPIs when available. That ability of the arch to trigger irq work self IPIs is available with arch_irq_work_has_interrupt(). Reported-by: Catalin Iacob <iacobcatalin@xxxxxxxxx> Reported-by: Dave Jones <davej@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit c5c38ef3d70377dc504a6a3f611a3ec814bc757b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sat Sep 6 15:43:02 2014 +0200 irq_work: Introduce arch_irq_work_has_interrupt() The nohz full code needs irq work to trigger its own interrupt so that the subsystem can work even when the tick is stopped. Lets introduce arch_irq_work_has_interrupt() that archs can override to tell about their support for this ability. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 01605ad12875c7b5ed71b486f9badb338f4f8c21 Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Sat Sep 13 08:43:13 2014 +0800 ASoC: rockchip-i2s: enable "hclk" for rockchip I2S controller As "hclk" is used for rockchip I2S controller, driver must to enable it in probe. Tested on RK3288 with max98090. Signed-off-by: Jianqun Xu <jay.xu@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a80e49e2cc3145af014a8ae44f575829cc236192 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 16 17:47:18 2014 +0200 nohz: Move nohz full init call to tick init This way we unbloat a bit main.c and more importantly we initialize nohz full after init_IRQ(). This dependency will be needed in further patches because nohz full needs irq work to raise its own IRQ. Information about the support for this ability on ARM64 is obtained on init_IRQ() which initialize the pointer to __smp_call_function. Since tick_init() is called right after init_IRQ(), this is a good place to call tick_nohz_init() and prepare for that dependency. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 132fd5be706f3d91a3589f493e1ec3ec85adba6c Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sun Sep 14 01:33:20 2014 +0900 ARM: dts: Add support Atmel touchpad for exynos5800-peach-pi The Peach Pi board has an Atmel maXTouch trackpad device. Add the needed Device Tree nodes to support it. This Device Tree change is based on the Chrome OS 3.8 tree but adapted to use the mainline Atmel maXTouch DT binding. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 6a9e7318f288d7f01b0d178d41566406c0843d38 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Sun Sep 14 01:33:15 2014 +0900 ARM: dts: Add support Atmel touchpad for exynos5420-peach-pit The Peach Pit board has an Atmel maXTouch trackpad device. Add the needed Device Tree nodes to support it. This Device Tree change is based on the Chrome OS 3.8 tree but adapted to use the mainline Atmel maXTouch DT binding. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 54996b529ab70ca1d6f40677cd2698c4f7127e87 Merge: 1f947bf d355ab0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 12:30:33 2014 -0400 Merge branch 'sched_rcu' John Fastabend says: ==================== net/sched rcu classifiers and tcf This series converts the tcf_proto usage to RCU. This requires updating each classifier individually to handle the new copy/update requirement and also to update the core list traversals. This makes the assumption that updates to the tables are infrequent in comparison to the packet per second being classified. On a 10Gbps running near line rate we can easily produce 12+ million packets per second so IMO this is a reasonable assumption. The updates are serialized by RTNL. I have done some basic testing on this series and do not see any immediate splats or issues. The patch series has been running on my dev systems for a month or so now and I've not seen any issues. Although my configurations are not overly complicated. My test cases at this point cover all the filters with a tight loop to add/remove filters. Some basic estimator tests where I add an estimator to the qdisc and verify the statistics accurate using pktgen. And finally I have a small script to exercise the 'tc actions' interface. Feel free to send me more tests off list and I can run them. This is prep work to drop the qdisc lock with the first target being the ingress qdisc. To be done is making the tc actions RCU safe and statistics per cpu. These patches are in the works. Comments: - Checkpatch is still giving errors on some >80 char lines I know about this. IMO the way to fix this is to restructure the sched code to avoid being so heavily indented. But doing this here bloats the patchset and anyways there are already lots of >80 chars in these files. I would prefer to keep the patches as is but let me know if others think I should fix these and I will. A follow up patch set could restructure the code and fix this throughout the code blocks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f947bf151e90ec0baad294881607ebf321a2863 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:10:24 2014 -0700 net: sched: rcu'ify cls_bpf This patch makes the cls_bpf classifier RCU safe. The tcf_lock was being used to protect a list of cls_bpf_prog now this list is RCU safe and updates occur with rcu_replace. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b929d86d25352496c528fcd74fdcabe3f6a4994a Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:09:49 2014 -0700 net: sched: rcu'ify cls_rsvp Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ce87720d456e471de0fbd814dc5d1fe10fc1c44 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:09:16 2014 -0700 net: sched: make cls_u32 lockless Make cls_u32 classifier safe to run without holding lock. This patch converts statistics that are kept in read section u32_classify into per cpu counters. This patch was tested with a tight u32 filter add/delete loop while generating traffic with pktgen. By running pktgen on vlan devices created on top of a physical device we can hit the qdisc layer correctly. For ingress qdisc's a loopback cable was used. for i in {1..100}; do q=`echo $i%8|bc`; echo -n "u32 tos: iteration $i on queue $q"; tc filter add dev p3p2 parent $p prio $i u32 match ip tos 0x10 0xff \ action skbedit queue_mapping $q; sleep 1; tc filter del dev p3p2 prio $i; echo -n "u32 tos hash table: iteration $i on queue $q"; tc filter add dev p3p2 parent $p protocol ip prio $i handle 628: u32 divisor 1 tc filter add dev p3p2 parent $p protocol ip prio $i u32 \ match ip protocol 17 0xff link 628: offset at 0 mask 0xf00 shift 6 plus 0 tc filter add dev p3p2 parent $p protocol ip prio $i u32 \ ht 628:0 match ip tos 0x10 0xff action skbedit queue_mapping $q sleep 2; tc filter del dev p3p2 prio $i sleep 1; done Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 459d5f626da75573e985a7197b0919c3b143146c Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:08:47 2014 -0700 net: sched: make cls_u32 per cpu This uses per cpu counters in cls_u32 in preparation to convert over to rcu. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 331b72922c5f58d48fd5500acadc91777cc31970 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:08:20 2014 -0700 net: sched: RCU cls_tcindex Make cls_tcindex RCU safe. This patch addds a new RCU routine rcu_dereference_bh_rtnl() to check caller either holds the rcu read lock or RTNL. This is needed to handle the case where tcindex_lookup() is being called in both cases. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1109c00547fc66df45b9ff923544be4c1e1bec13 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:07:50 2014 -0700 net: sched: RCU cls_route RCUify the route classifier. For now however spinlock's are used to protect fastmap cache. The issue here is the fastmap may be read by one CPU while the cache is being updated by another. An array of pointers could be one possible solution. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e35a8ee5993ba81fd6c092f6827458c60406255b Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:07:22 2014 -0700 net: sched: fw use RCU RCU'ify fw classifier. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70da9f0bf999627e50950f6845bd3819ff811085 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:06:55 2014 -0700 net: sched: cls_flow use RCU Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 952313bd62589cae216a579bb7ebc76f8e290817 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:06:26 2014 -0700 net: sched: cls_cgroup use RCU Make cgroup classifier safe for RCU. Also drops the calls in the classify routine that were doing a rcu_read_lock()/rcu_read_unlock(). If the rcu_read_lock() isn't held entering this routine we have issues with deleting the classifier chain so remove the unnecessary rcu_read_lock()/rcu_read_unlock() pair noting all paths AFAIK hold rcu_read_lock. If there is a case where classify is called without the rcu read lock then an rcu splat will occur and we can correct it. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9888faefe1327909f3acf34d1feda87a368bb858 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:05:59 2014 -0700 net: sched: cls_basic use RCU Enable basic classifier for RCU. Dereferencing tp->root may look a bit strange here but it is needed by my accounting because it is allocated at init time and needs to be kfree'd at destroy time. However because it may be referenced in the classify() path we must wait an RCU grace period before free'ing it. We use kfree_rcu() and rcu_ APIs to enforce this. This pattern is used in all the classifiers. Also the hgenerator can be incremented without concern because it is always incremented under RTNL. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25d8c0d55f241ce2d360df1bea48e23a55836ee6 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:05:27 2014 -0700 net: rcu-ify tcf_proto rcu'ify tcf_proto this allows calling tc_classify() without holding any locks. Updaters are protected by RTNL. This patch prepares the core net_sched infrastracture for running the classifier/action chains without holding the qdisc lock however it does nothing to ensure cls_xxx and act_xxx types also work without locking. Additional patches are required to address the fall out. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46e5da40aec256155cfedee96dd21a75da941f2c Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:04:52 2014 -0700 net: qdisc: use rcu prefix and silence sparse warnings Add __rcu notation to qdisc handling by doing this we can make smatch output more legible. And anyways some of the cases should be using rcu_dereference() see qdisc_all_tx_empty(), qdisc_tx_chainging(), and so on. Also *wake_queue() API is commonly called from driver timer routines without rcu lock or rtnl lock. So I added rcu_read_lock() blocks around netif_wake_subqueue and netif_tx_wake_queue. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d355ab09594118b8dfb3d78dbda72fff634a934b Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:10:24 2014 -0700 net: sched: rcu'ify cls_bpf This patch makes the cls_bpf classifier RCU safe. The tcf_lock was being used to protect a list of cls_bpf_prog now this list is RCU safe and updates occur with rcu_replace. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b21e2307f2601fd3baaddb3e22f1a25e6719695 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:09:49 2014 -0700 net: sched: rcu'ify cls_rsvp Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f787cd1cc1ea51cde3bba82bd0a63b343f88a32 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:09:16 2014 -0700 net: sched: make cls_u32 lockless Make cls_u32 classifier safe to run without holding lock. This patch converts statistics that are kept in read section u32_classify into per cpu counters. This patch was tested with a tight u32 filter add/delete loop while generating traffic with pktgen. By running pktgen on vlan devices created on top of a physical device we can hit the qdisc layer correctly. For ingress qdisc's a loopback cable was used. for i in {1..100}; do q=`echo $i%8|bc`; echo -n "u32 tos: iteration $i on queue $q"; tc filter add dev p3p2 parent $p prio $i u32 match ip tos 0x10 0xff \ action skbedit queue_mapping $q; sleep 1; tc filter del dev p3p2 prio $i; echo -n "u32 tos hash table: iteration $i on queue $q"; tc filter add dev p3p2 parent $p protocol ip prio $i handle 628: u32 divisor 1 tc filter add dev p3p2 parent $p protocol ip prio $i u32 \ match ip protocol 17 0xff link 628: offset at 0 mask 0xf00 shift 6 plus 0 tc filter add dev p3p2 parent $p protocol ip prio $i u32 \ ht 628:0 match ip tos 0x10 0xff action skbedit queue_mapping $q sleep 2; tc filter del dev p3p2 prio $i sleep 1; done Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4f640502dfbe9b658f9008ee614932bb463d541 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:08:47 2014 -0700 net: sched: make cls_u32 per cpu This uses per cpu counters in cls_u32 in preparation to convert over to rcu. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8332904aa971ed4547514f57c8b3780ad4f0f949 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:08:20 2014 -0700 net: sched: RCU cls_tcindex Make cls_tcindex RCU safe. This patch addds a new RCU routine rcu_dereference_bh_rtnl() to check caller either holds the rcu read lock or RTNL. This is needed to handle the case where tcindex_lookup() is being called in both cases. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc91210cd2f6832db1a174269627d97b7d4f2c80 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:07:50 2014 -0700 net: sched: RCU cls_route RCUify the route classifier. For now however spinlock's are used to protect fastmap cache. The issue here is the fastmap may be read by one CPU while the cache is being updated by another. An array of pointers could be one possible solution. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f31fea5a69089a40561548ff5931bc5e4e79b61 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:07:22 2014 -0700 net: sched: fw use RCU RCU'ify fw classifier. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad7a97ae7aef6227456c7a90bf3b3522d25f3171 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:06:55 2014 -0700 net: sched: cls_flow use RCU Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7953ef23042b7c4fc2be5ecdd216aacff6df5eb Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:06:26 2014 -0700 net: sched: cls_cgroup use RCU Make cgroup classifier safe for RCU. Also drops the calls in the classify routine that were doing a rcu_read_lock()/rcu_read_unlock(). If the rcu_read_lock() isn't held entering this routine we have issues with deleting the classifier chain so remove the unnecessary rcu_read_lock()/rcu_read_unlock() pair noting all paths AFAIK hold rcu_read_lock. If there is a case where classify is called without the rcu read lock then an rcu splat will occur and we can correct it. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8b9affec519d27ce202a7ed22617eecbd96f127 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:05:59 2014 -0700 net: sched: cls_basic use RCU Enable basic classifier for RCU. Dereferencing tp->root may look a bit strange here but it is needed by my accounting because it is allocated at init time and needs to be kfree'd at destroy time. However because it may be referenced in the classify() path we must wait an RCU grace period before free'ing it. We use kfree_rcu() and rcu_ APIs to enforce this. This pattern is used in all the classifiers. Also the hgenerator can be incremented without concern because it is always incremented under RTNL. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80a735f7b952b8bd7028cfffba2105a38c1a9f0c Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:05:27 2014 -0700 net: rcu-ify tcf_proto rcu'ify tcf_proto this allows calling tc_classify() without holding any locks. Updaters are protected by RTNL. This patch prepares the core net_sched infrastracture for running the classifier/action chains without holding the qdisc lock however it does nothing to ensure cls_xxx and act_xxx types also work without locking. Additional patches are required to address the fall out. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b26b0d1e8b1de83bbce81c8d119260ac91031ebd Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:04:52 2014 -0700 net: qdisc: use rcu prefix and silence sparse warnings Add __rcu notation to qdisc handling by doing this we can make smatch output more legible. And anyways some of the cases should be using rcu_dereference() see qdisc_all_tx_empty(), qdisc_tx_chainging(), and so on. Also *wake_queue() API is commonly called from driver timer routines without rcu lock or rtnl lock. So I added rcu_read_lock() blocks around netif_wake_subqueue and netif_tx_wake_queue. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53288fe9bdc7e8a0265bbe9074f71f1a6c478008 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:11:56 2014 +0300 spi: dw: don't use mrst prefix anymore Since driver is used on other platforms and debugfs stuff would be useful there as well let's substitute mrst_ by dw_ where it suits. Additionally let's use SPI master device name when print registers dump. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 551f6a58d496a99702088ac762f247e04d8bfff9 Merge: 197e96b a2cea98 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 13 17:03:05 2014 +0100 Merge branch 'topic/checkpatch' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-dw commit 197e96b4d80554a66aff34df5406b4c2d26f0111 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:12:01 2014 +0300 spi: dw-mid: remove FSF address and update copyright The FSF address is subject to change, thus remove it from the file. While here, update a copyright line. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b89e9c87dd3b118f0b953d349e5bede1505e3bc5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:12:00 2014 +0300 spi: dw-mid: remove redundant dmac member Instead of using that member we prefer to use dma_dev which represents actual struct device of the DMA device. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ea092455d713d28c0b74a2ebe022524025d97491 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:11:59 2014 +0300 spi: dw-mid: remove Moorestown support The support of the Moorestown was removed [1] from kernel long time ago. This is just a follow up of that change. [1] http://www.spinics.net/lists/platform-driver-x86/msg02948.html Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fb57862ead652454ceeb659617404c5f13bc34b5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:11:58 2014 +0300 spi: dw-mid: check that DMA was inited before exit If the driver was compiled with DMA support, but DMA channels weren't acquired by some reason, mid_spi_dma_exit() will crash the kernel. Fixes: 7063c0d942a1 (spi/dw_spi: add DMA support) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 05ed2aee3e97c9cfb737388706b439264e27eb0c Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:11:57 2014 +0300 spi: dw: remove FSF address There is no need to keep FSF address in the head of the file. While here, fix few typos in the header. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8be6a6d04ceae15de160ca4cbc0915baaee801e4 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sun Sep 14 00:47:22 2014 +0900 ARM: dts: Set i2c7 clock at 400kHz for exynos based Peach boards The downstream ChromeOS 3.8 kernel sets the clock frequency for the I2C bus 7 at 400kHz. Do the same change in mainline. Suggested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit dc0cf1a3ecd53c55aecd7182bce15843ca29c895 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sun Sep 14 00:47:17 2014 +0900 ARM: dts: Add ISL29018 sensor for exynos based Peach boards The Exynos5420 based Peach Pit and the Exynos5800 based Peach Pi machines have an i2c ISL29018 light sensor. This patch adds the device nodes needed to support this device. These DTS snippets were taken from the downstream Chrome OS 3.8 kernel Device Tree for Peach Pit and Pi boards. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 7b4880389053266c12e00e4a8fd5916c86161960 Author: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Date: Sun Sep 14 00:46:56 2014 +0900 ARM: dts: Add thermistor dts fragment used by exynos based Peach boards This patch creates a thermistor fragment carrying the NTC Thermistor nodes as children of the IIO based ADC. This fragment is included in exynos5420-peach-pit.dts and exynos5800-peach-pi.dts. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit e634a15242b99217189d43624b57de3fe73d47a5 Author: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Date: Sun Sep 14 00:45:23 2014 +0900 ARM: dts: add hdmi regulators for exynos5420-peach-pit Adding regulators for hdmi for peach-pit board. Signed-off-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 1dcd48c80063652966bbf5d588d50f9781e813e1 Author: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Date: Sun Sep 14 00:45:19 2014 +0900 ARM: dts: add hdmi regulators for exynos5800-peach-pi Adding regulators for HDMI for Peach-pi board. Signed-off-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 064ac05080062ffa41fd4699583933d58a4a32d4 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sun Sep 14 00:45:15 2014 +0900 ARM: dts: Add support max77802 PMIC for exynos based Peach boards Exynos5420 based Peach Pit and Exynos5800 based Peach Pi boards uses a Maxim 77802 power management IC to drive regulators and its Real Time Clock. This patch adds support for this chip. These are the device nodes and pinctrl configuration that are present on the Peach pit DeviceTree source file in the the Chrome OS kernel 3.8 tree. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit cfe4c93b58924b3764cd7269d3d953049405e938 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Sep 6 14:45:10 2014 +0800 clk: sunxi: add correct divider table for sun4i-apb0 clock The sun4i-apb0 clock, as found on all platforms using it, is a power-of-two-based divider clock, with a special divider of 2 for value 0. This was causing the clock framework to incorrectly calculate the clock rate for apb1 and related modules on sun6i and sun8i. On sun[4/5/7]i, u-boot SPL configures the divider with value 1 for /2 divider, so no suprises there. This patch adds a proper divider table for it, so the correct clock rate can be calculated. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d537a3abb4b7085ebc3ce35e64acbad8ece1eece Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Aug 15 17:18:44 2014 -0600 PCI: pciehp: Reduce PCIe slot_ctrl to 16 bits 4283c70e91dc ("PCI: pciehp: Make pcie_wait_cmd() self-contained") added a cache of the most recent command written to the Slot Control register. This register is only 16 bits wide, but the cache ("slot_ctrl") is 32 bits. Reduce slot_ctrl to a u16 so it matches the register size. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 1302fcf0d03e6ea74846c7fee14736306ab2ce4b Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sat Aug 30 07:23:01 2014 -0600 PCI: Configure *all* devices, not just hot-added ones There's not really a good way to determine whether firmware has already configured a device with _HPP/_HPX settings. On legacy systems, the BIOS has probably configured everything, but on UEFI systems it is not required to do so. Per the PCI Firmware Specification, rev 3.1, sec 3.5, if PCI_COMMAND_IO or PCI_COMMAND_MEMORY is set, we can assume firmware has set the corresponding BARs and maybe we can assume it has configured the rest of the device. And if a bridge has PCI_COMMAND_PARITY or PCI_COMMAND_SERR set, we can assume firmware has configured the bridge. But we can't tell much about devices without BARs. I think it should be safe to apply _HPP and _HPX settings anyway, even if firmware has already configured the device, so configure everything we find. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 302328c00341f1c161bfe32d085d3e6549a08f2d Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Sep 3 13:26:29 2014 -0600 PCI: Preserve MPS and MRRS when applying _HPX settings Linux manages MPS and MRRS settings to keep them consistent across the PCIe fabric. BIOS doesn't participate in this Linux management, so ignore that part of any _HPX settings it supplies. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit ca0647e08acd327d508c0fa4553c2148dc7e08b4 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sat Aug 30 07:22:13 2014 -0600 PCI: Apply _HPP settings to all hot-added PCI devices We currently apply _HPP settings only to: - non-bridge devices, and - PCI-to-PCI bridges i.e., we do not apply them to PCI-to-ISA bridges and the like. It has been that way since _HPP support was added by 40abb96c51bb ("pciehp: Fix programming hotplug parameters"), but I don't think there's any reason to exclude these other bridges. Apply _HPP settings to hot-added PCI devices of any type. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit eab3a0ee342106a1c82e10682c02632e9d6af0df Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Aug 27 14:38:14 2014 -0600 PCI: Preserve BIOS PCI_COMMAND_SERR and PCI_COMMAND_PARITY settings Do not clear PCI_COMMAND_SERR or PCI_COMMAND_PARITY based on _HPP. The spec (ACPI rev 5.0, sec 6.2.7) says that when "Enable SERR" is set to 1, we should enable SERR in the command register. It says nothing about *disabling* SERR or PERR; in fact, the example in 6.2.7.1 says we should leave PERR alone unless "Enable PERR" is 1. For hot-added devices, this probably doesn't matter because they power up with these bits cleared. But in addition to hot-plugged devices, the spec allows the platform to use _HPP for "configuration of PCI devices not configured by the BIOS at system boot," and it may make a difference for devices present at boot. This change means that if BIOS enables SERR or PERR on a device, and it supplies _HPP or _HPX with the SERR or PERR bits *cleared*, we will now leave SERR or PERR reporting enabled on that device instead of disabling it as we previously did. See also 40abb96c51bb ("pciehp: Fix programming hotplug parameters"), where this code was first added. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit c6285fc5b55ecbf78c53301a191f04bb2fda1b3a Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Aug 29 18:10:19 2014 -0600 PCI: Apply _HPP settings to PCIe devices as well as PCI and PCI-X The ACPI _HPP method was defined before PCIe existed, so its documentation only mentions PCI. The _HPX Type 0 setting record is essentially identical to _HPP, but the spec (ACPI rev 5.0, sec 6.2.8.1) says it should be applied to PCI, PCI-X, and PCIe devices, with settings being ignored if they are not applicable. Some platforms with both conventional PCI and PCIe devices provide only _HPP (not _HPX), so treat _HPP the same way as an _HPX Type 0 record and apply it to PCIe devices as well as PCI and PCI-X. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit fbfa398b84a5fc6e085dedba5ec3e94f21815d05 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 28 12:21:44 2014 -0600 PCI: Remove unused pci_configure_slot() All pci_configure_slot() uses have been removed, so remove the definition as well. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 81ee57326c9ca612436bd6c98258942d57063c98 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 28 11:59:41 2014 -0600 ACPI / hotplug / PCI: Remove pci_configure_slot() usage We now configure each PCI device as it is enumerated, in pci_device_add(), so remove the configuration done in acpiphp. That configuration, in pci_configure_device(), does not include the MPS/MRRS configuration done by pcie_bus_configure_settings(), so keep that here. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit b40716630375ec1bf9fe0c3534da4329663c5459 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 28 12:18:37 2014 -0600 PCI: shpchp: Remove pci_configure_slot() usage We now configure each PCI device as it is enumerated, in pci_device_add(), so remove the configuration done in shpchp. That configuration, in pci_configure_device(), does not include the MPS/MRRS configuration done by pcie_bus_configure_settings(), so keep that here. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 77094fb342eda5fbfa5ef77dea8a423fa2b9d10b Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 28 12:13:51 2014 -0600 PCI: pciehp: Remove pci_configure_slot() usage We now configure each PCI device as it is enumerated, in pci_device_add(), so remove the configuration done in pciehp. That configuration, in pci_configure_device(), does not include the MPS/MRRS configuration done by pcie_bus_configure_settings(), so keep that here. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 6cd33649fa83d97ba7b66f1d871a360e867c5220 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Aug 27 14:29:47 2014 -0600 PCI: Add pci_configure_device() during enumeration Some platforms can tell the OS how to configure PCI devices, e.g., how to set cache line size, error reporting enables, etc. ACPI defines _HPP and _HPX methods for this purpose. This configuration was previously done by some of the hotplug drivers using pci_configure_slot(). But not all hotplug drivers did this, and per the spec (ACPI rev 5.0, sec 6.2.7), we can also do it for "devices not configured by the BIOS at system boot." Move this configuration into the PCI core by adding pci_configure_device() and calling it from pci_device_add(), so we do this for all devices as we enumerate them. This is based on pci_configure_slot(), which is used by hotplug drivers. I omitted: - pcie_bus_configure_settings() because it configures MPS and MRRS, which requires global knowledge of the fabric and must be done later, and - configuration of subordinate devices; that will happen when we call pci_device_add() for those devices. Because pci_configure_slot() was only done by hotplug drivers, this initial version of pci_configure_device() only configures hot-added devices, ignoring anything added during boot. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 589fcc2307423d9c3856a4e2e72e1b57b6826f41 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 12 20:02:00 2014 -0600 PCI: Move pci_configure_slot() to drivers/pci/probe.c Move pci_configure_slot() and related functions from drivers/pci/hotplug/pcihp_slot to drivers/pci/probe.c. This is to prepare for doing device configuration during the normal enumeration process instead of just after hot-add. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 5e3d234456e25f664e0755c23689173588f4ca9b Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 12 15:36:29 2014 -0600 PCI: Shuffle pci-acpi.c functions to group them logically Move code around to put all the ACPI power management stuff together and all the pieces related to ACPI methods (_CBA, _HPP, _HPX) together. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit abbfec34e1df3073429cd6b0fad1c26635597799 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 12 15:29:55 2014 -0600 PCI: Whitespace cleanup in pci-acpi.c Whitespace fixes only; no functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 9ce90ea5c0d512ff66693b238167b56dbaef786b Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 12 15:23:14 2014 -0600 PCI: Move pci_get_hp_params() to drivers/pci/pci-acpi.c Move pci_get_hp_params() and related functions from drivers/pci/hotplug/acpi_pcihp.c to drivers/pci/pci-acpi.c. Previously, pci_get_hp_params() was used only by hotplug drivers. But future changes will move this into the normal device enumeration process, so it will be used even when CONFIG_HOTPLUG_PCI is not set. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 1197ba22c57df96bf3cac0bb2a936fb695370f35 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 28 11:12:50 2014 -0600 PCI: pciehp: Configure hot-added display devices We configure cache line size and other settings of hot-added devices, e.g., based on ACPI _HPP or _HPX methods. Previously we skipped this for display devices, but ACPI rev 5.0, sec 6.2.7 and 6.2.8 have no requirement to skip them. Remove the check so we configure display devices the same way we configure other devices. See also ac81860ea073 ("PCI: hotplug: pciehp: Removed check for hotplug of display devices"). Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 3ddee63a099ebbdc8f84697fe46730b58240c09d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 12 14:26:51 2014 -0400 ftrace: Only disable ftrace_enabled to test buffer in selftest The ftrace_enabled variable is set to zero in the self tests to keep delayed functions from being traced and messing with the checks. This only needs to be done when the checks are being performed, otherwise, if ftrace_enabled is off when calls back to the utility that is being tested, it can cause errors to happen and the tests can fail with false positives. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 84bde62ca4b49701190dbd953c1e04024860c1f5 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 12 14:21:13 2014 -0400 ftrace: Add sanity check when unregistering last ftrace_ops When the last ftrace_ops is unregistered, all the function records should have a zeroed flags value. Make sure that is the case when the last ftrace_ops is unregistered. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2c75ada6250990ea859b0b5498cb0b7c2823a9d7 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Sep 11 10:14:09 2014 -0700 Input: psmouse - add psmouse_matches_pnp_id helper function The matches_pnp_id function from the synaptics driver is useful for other drivers too. Make it a generic psmouse helper function. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d1015645dd535bbf10e52a3ef6d02ee0c3e0b267 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Sep 11 09:57:22 2014 -0400 sunvnet: Avoid sending superfluous LDC messages. When sending out a burst of packets across multiple descriptors, it is sufficient to send one LDC "start" trigger for the first descriptor, so do not send an LDC "start" for every pass through vnet_start_xmit. Similarly, it is sufficient to send one "DRING_STOPPED" trigger for the last dring (and if that fails, hold off and send the trigger later). Optimizations to the number of LDC messages helps avoid filling up the LDC channel with superfluous LDC messages that risk triggering flow-control on the channel, and also boosts performance. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Raghuram Kothakota <raghuram.kothakota@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c706471b2601d1c9058e7b866db77f6eb7dd37af Author: Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xxxxxxxxxx> Date: Thu Sep 11 14:53:33 2014 +0530 net: axienet: remove unnecessary ether_setup after alloc_etherdev calling ether_setup is redundant since alloc_etherdev calls it. Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9c3f99f8b176369929b44e6c80043ab1036009f Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Thu Sep 11 12:50:50 2014 +0530 ethernet: amd: use pr_info_once() It will use pr_info_one() to print the version info of the driver in probe function only once. No need to use the static variable here. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d8f7e2c8a63131828e8d4e2d98835399f27319e Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Sep 10 21:23:18 2014 -0500 udp: Fix inverted NAPI_GRO_CB(skb)->flush test Commit 2abb7cdc0d ("udp: Add support for doing checksum unnecessary conversion") caused napi_gro_cb structs with the "flush" field zero to take the "udp_gro_receive" path rather than the "set flush to 1" path that they would previously take. As a result I saw booting from an NFS root hang shortly after starting userspace, with "server not responding" messages. This change to the handling of "flush == 0" packets appears to be incidental to the goal of adding new code in the case where skb_gro_checksum_validate_zero_check() returns zero. Based on that and the fact that it breaks things, I'm assuming that it is unintentional. Fixes: 2abb7cdc0d ("udp: Add support for doing checksum unnecessary conversion") Cc: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5306726bc619be21303c55e09aac317072b3c25 Merge: 72b126a bf7fa55 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 12 17:51:32 2014 -0400 Merge branch 'sock_queue_err_skb' Alexander Duyck says: ==================== Address reference counting issues with sock_queue_err_skb After looking over the code for skb_clone_sk after some comments made by Eric Dumazet I have come to the conclusion that skb_clone_sk is taking the correct approach in how to handle the sk_refcnt when creating a buffer that is eventually meant to be returned to the socket via the sock_queue_err_skb function. However upon review of other callers I found what I believe to be a possible reference count issue in the path for handling "wifi ack" packets. To address this I have applied the same logic that is currently in place so that the sk_refcnt will be forced to stay at least 1, or we will not provide an skb to return in the sk_error_queue. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf7fa551e0ce507b82935055f4b4aa229be73eeb Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Wed Sep 10 18:05:42 2014 -0400 mac80211: Resolve sk_refcnt/sk_wmem_alloc issue in wifi ack path There is a possible issue with the use, or lack thereof of sk_refcnt and sk_wmem_alloc in the wifi ack status functionality. Specifically if a socket were to request acknowledgements, and the socket were to have sk_refcnt drop to 0 resulting in it waiting on sk_wmem_alloc to reach 0 it would be possible to have sock_queue_err_skb orphan the last buffer, resulting in __sk_free being called on the socket. After this the buffer is enqueued on sk_error_queue, however the queue has already been flushed resulting in at least a memory leak, if not a data corruption. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cab41c47d92851de71c74b1a7bdbf0fadf6ae4ba Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Wed Sep 10 18:05:26 2014 -0400 skb: Add documentation for skb_clone_sk This change adds some documentation to the call skb_clone_sk. This is meant to help clarify the purpose of the function for other developers. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ef7de5304edf60d0b8674dd7cdacc104e15a93c Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Aug 20 06:41:55 2014 -0700 leds: Improve and export led_update_brightness led_update_brightness helper function used to be exploited only locally in the led-class.c module, where its result was being passed to the brightness_show sysfs callback. With the introduction of v4l2-flash subdevice the same functionality becomes required for reading current brightness from a LED device. This patch adds checking of return value of the brightness_get callback and moves the led_update_brightness() function to the LED subsystem public API. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 98faa78ce7f1f986e11e7805d31b409782a6d2d4 Merge: edbaae5 6865b20 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Sat Sep 13 07:01:49 2014 +1000 Merge tag 'topic/drm-header-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel into drm-next So here's the header cleanup, rebased on top of drm-next. Two new header files are created here: - drivers/gpu/drm/drm_internal.h for non-legacy drm.ko private declarations. - include/drm/drm_legacy.h for legacy interfaces used by non-kms drivers. And of course lots fo stuff gets shuffled into the already existing drivers/gpu/drm/drm_legacy.h for drm.ko internal stuff. topic branch smoke-tested in drm-intel-nightly for a bit. And the 0day tester also worked through it (and found a few places I didn't add a static to functions). * tag 'topic/drm-header-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel: drm: Move DRM_MAGIC_HASH_ORDER into drm_drv.c drm: Move drm_class to drm_internal.h drm: Move LOCK_TEST_WITH_RETURN to <drm/drm_legacy.h> drm: Move legacy buffer structures to <drm/drm_legacy.h> drm: Move drm_memory.c map support declarations to <drm/drm_legacy.h> drm: Purge ioctl forward declarations from drmP.h drm: unexport drm_global_mutex drm: Move piles of functions from drmP.h to drm_internal.h drm: Move vblank related module options into drm_irq.c drm: Drop drm_sysfs_class from drmP.h drm: Move __drm_pci_free to drm_legacy.h drm: Create drm legacy driver header drm: Move drm_legacy_vma_flush into drm_legacy.h drm: Move sg functions into drm_legacy.h drm: Move dma functions into drm_legacy.h commit 5b65c2a0296644dd3dbdd590d6f00174d18c96b3 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Wed Sep 10 18:02:37 2014 -0700 HID: rmi: check sanity of the incoming report In the Dell XPS 13 9333, it appears that sometimes the bus get confused and corrupts the incoming data. It fills the input report with the sentinel value "ff". Synaptics told us that such behavior does not comes from the touchpad itself, so we filter out such reports here. Unfortunately, we can not simply discard the incoming data because they may contain useful information. Most of the time, the misbehavior is quite near the end of the report, so we can still use the valid part of it. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1123584 Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d9152161b4bfd131a8253a5b9fcd8ba9b10277c4 Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Fri Sep 12 14:28:07 2014 -0500 usb: dwc3: Add Qualcomm DWC3 glue layer driver DWC3 glue layer is hardware layer around Synopsys DesignWare USB3 core. Its purpose is to supply Synopsys IP with required clocks, voltages and interface it with the rest of the SoC. Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 72b126a45eaca22fb6a8788e8a89c159f3ae2ac5 Author: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Date: Wed Sep 10 18:20:23 2014 +0200 Revert "ipv4: Clarify in docs that accept_local requires rp_filter." This reverts commit c801e3cc1925 ("ipv4: Clarify in docs that accept_local requires rp_filter."). It is not needed anymore since commit 1dced6a85482 ("ipv4: Restore accept_local behaviour in fib_validate_source()"). Suggested-by: Julian Anastasov <ja@xxxxxx> Cc: Gregory Detal <gregory.detal@xxxxxxxxxxxx> Cc: Christoph Paasch <christoph.paasch@xxxxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bbfc6cb720df16b0c3895ac75c9804dd8c728ba4 Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Fri Sep 12 14:28:06 2014 -0500 usb: dwc3: qcom: Add device tree binding QCOM USB3.0 core wrapper consist of USB3.0 IP from Synopsys (SNPS) and HS, SS PHY's control and configuration registers. It could operate in device mode (SS, HS, FS) and host mode (SS, HS, FS, LS). Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 88ac815cdbef93dec8382b3531ef90474dd102f2 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Fri Sep 12 11:04:10 2014 +0800 nfs41: change PNFS_LAYOUTRET_ON_SETATTR to only return on truncation to smaller size Both blocks layout and objects layout want to use it to avoid CB_LAYOUTRECALL but that should only happen if client is doing truncation to a smaller size. For other cases, we let server decide if it wants to recall client's layouts. Change PNFS_LAYOUTRET_ON_SETATTR to follow the logic and not to send layoutreturn unnecessarily. Cc: Christoph Hellwig <hch@xxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit cb8c20fa53ec28602793ee43ddc7e8883be62e69 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Sep 3 12:19:10 2014 -0400 NFS: Move NFS v3 acl functions to nfs3_fs.h This code is internal to the v3 module, so other parts of the client shouldn't have any knowledge of it. nfs3_getxattr(), nfs3_setxattr(), and nfs3_removexattr() no longer exist anywhere so I remove the declarations while I'm here. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f08460dc23db1e5cd6b7ab34a62ffea60f55725f Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Sep 3 12:19:09 2014 -0400 NFS: Remove v3 not compiled check from validate_mount_data() This check is already performed by the module loading code - if the module can't be found then -EPROTONOSUPPORT will be returned. Let's handle v3 this way, too. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 00a36a1090350995127c2a4bfac6be7fc85b5b81 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Sep 3 12:19:08 2014 -0400 NFS: Move v3 declarations out of internal.h I am generally against the "one big header file" approach, and everything in the client includes this file. Let's move all the NFS v3 declarations into a v3-only header file. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f418c64b71590bac8fdebd0969a1eeaffaf036d2 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Sep 3 12:19:07 2014 -0400 NFS: Unconditionally enable commit code The goal is to create a generic NFS module with code that does not depend on what versions of NFS are enabled. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 164ae58c3c2a56e99d7ae207499f1fbd5e6f263d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Fri Sep 12 13:25:14 2014 -0400 pNFS/blocklayout: Remove a couple of unused variables Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 84c9dee3adc2bc49a52af74f18378a4887448288 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:37:28 2014 -0700 pnfs: enable CB_NOTIFY_DEVICEID support This code has been around for a while, but never was enabled, although it is in a working shape. Note that we implement NOTIFY_DEVICEID4_CHANGE identical to NOTIFY_DEVICEID4_DELETE. Given that in either case we can't do anything but preventing further lookups of a given device ID there isn't much difference in semantics for the two. For the delete case the server MUST ensure that there are no outstanding layouts, while for the change case it doesn't, but that has little relevance to the client. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:37:27 2014 -0700 pnfs/blocklayout: in-kernel GETDEVICEINFO XDR parsing This patches moves parsing of the GETDEVICEINFO XDR to kernel space, as well as the management of complex devices. The reason for that is we might have multiple outstanding complex devices after a NOTIFY_DEVICEID4_CHANGE, which device mapper or md can't handle as they claim devices exclusively. But as is turns out simple striping / concatenation is fairly trivial to implement anyway, so we make our life simpler by reducing the reliance on blkmapd. For now we still use blkmapd by feeding it synthetic SIMPLE device XDR to translate device signatures to device numbers, but in the long runs I have plans to eliminate it entirely. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 871760ce97a9a544cfb1ae4589598b25b8570a25 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:37:26 2014 -0700 pnfs/blocklayout: move all rpc_pipefs related code into a single file Create a file to house all the rpc_pipefs boilerplate code instead of sprinkling it over a few files. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit ca0fe1dfa5acac6ec4ef5820d2eb5460b02648d5 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:37:25 2014 -0700 pnfs/blocklayout: refactor extent processing Factor out a helper for all per-extent work, and merge the now trivial functions for lseg allocation and parsing. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9cc475411779d635619c2d414da0769e3cbf796b Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:37:24 2014 -0700 pnfs/blocklayout: move extent processing to blocklayout.c This isn't device(id) related, so move it into the main file. Simple move for now, the next commit will clean it up a bit. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 34dc93c2fc04da0d01acf8a1660b4ab276208af7 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:36:30 2014 -0700 pnfs/blocklayout: allocate separate pages for the layoutcommit payload Instead of overflowing the XDR send buffer with our extent list allocate pages and pre-encode the layoutupdate payload into them. We optimistically allocate a single page use alloc_page and only switch to vmalloc when we have more extents outstanding. Currently there is only a single testcase (xfstests generic/113) which can reproduce large enough extent lists for this to occur. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit d4b18c3e00b8d18fbd316abe9639b91ad416e1f3 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:36:31 2014 -0700 pnfs: remove GETDEVICELIST implementation The current GETDEVICELIST implementation is buggy in that it doesn't handle cursors correctly, and in that it returns an error if the server returns NFSERR_NOTSUPP. Given that there is no actual need for GETDEVICELIST, it has various issues and might get removed for NFSv4.2 stop using it in the blocklayout driver, and thus the Linux NFS client as whole. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fd41b4748b3b6c1220f926427bf63bef456034a5 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:36:29 2014 -0700 pnfs/objlayout: fix endianess annotation in objio_alloc_deviceid_node The kbuild test robot complained about a new sparse warning in objio_alloc_deviceid_node, but it turns out that this was just a moved reference to an existing variable. Fix it to have the right big endian annotated type. Note that there are some other endianess issues in this file that I didn't bother to sort out as they involve global headers. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3e3f6b4e2613627d4e971c44eec35e945b39e5e5 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:36:28 2014 -0700 pnfs/blocklayout: remove some debugging The kbuild test robot complained that we got the printk format wrong. Let's just kill these printks instead of fixing them as there is not point after the initial tree algorithm debugging. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fbf10641487d0c6938e580d143e4519e7ea90acf Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Sep 5 23:00:33 2014 +0100 ARM: 8138/1: drop ISAR0 workaround for B15 The Brahma-B15's ISAR0 correcty advertises UDIV/SDIV support in both ARM and Thumb2 modes (CPUID_EXT_ISAR0=02101110), so we don't need to manually apply this hwcap. The code in question actually predates the following commit, which made our hwcaps unnecessary: commit 8164f7af88d9ad3a757bd14f634b23997ee77f6b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Mar 18 19:44:15 2013 +0100 ARM: 7680/1: Detect support for SDIV/UDIV from ISAR0 register Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit abf3878047a92716704942d2a00917927004798b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 2 13:21:44 2014 +0100 ARM: 8136/1: sa1100: add Micro ASIC platform device This adds the Atmel Micro ASIC platform device and selects it by default for h3100 and h3600. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9a783a139c32a905825ee0aa9597f485ea461f76 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 12 09:31:52 2014 -0700 Bluetooth: Fix re-setting RPA as expired when deferring update The hci_update_random_address will clear the RPA_EXPIRED flag and proceed with setting a new one if the flag was set. However, the set_random_addr() function that is called may choose to defer the update to a later moment. In such a case the flag would incorrectly remain unset unless set_random_addr() re-sets it. This patch fixes the issue. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b4da1840dc4d92f05419bd2abbde82131d4301d9 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Sep 11 23:10:32 2014 +0100 arm64: pageattr: Correctly adjust unaligned start addresses The start address needs to be actually updated after it is detected to be unaligned. Adjust it and the end address properly. Reported-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Reviewed-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 60ef0494f197d4705b17132ee7d496283b5604b3 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Thu Sep 11 10:36:48 2014 +0100 net: bpf: arm64: fix module memory leak when JIT image build fails On ARM64, when the BPF JIT compiler fills the JIT image body with opcodes during translation of eBPF into ARM64 opcodes, we may fail for several reasons during that phase: one being that we jump to the notyet label for not yet supported eBPF instructions such as BPF_ST. In that case we only free offsets, but not the actual allocated target image where opcodes are being stored. Fix it by calling module_free() on dismantle time in case of errors. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d456ea2edc10ffa74cc226aacb9013c06e928858 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 18:09:56 2014 +0200 drm: use c99 initializers in structures Use c99 initializers for structures. Drop 0 initializers in drivers/gpu/drm/sti/sti_vtac.c. A 0x0 initializer is left in vtac_mode_aux in drivers/gpu/drm/sti/sti_vtac.c to highlight the relation to vtac_mode_main. A simplified version of the semantic match that finds the first problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> v2: Drop 0 initializers and add trailing commas at the suggestions of Josh Triplett. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f3a808817fdb48a9fa3e4ed40e7f8a8dec50014c Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sat Aug 16 14:15:34 2014 -0700 drm: fix drm_modeset_lock.h kernel-doc notation Fix drm kernel-doc notation to squelch these warnings: Warning(..//include/drm/drm_modeset_lock.h:41): cannot understand function prototype: 'struct drm_modeset_acquire_ctx ' Warning(..//include/drm/drm_modeset_lock.h:66): cannot understand function prototype: 'struct drm_modeset_lock ' Need to include the keyword 'struct' for structure descriptions. Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 974a70bdecea5296db1b643e4046ef208e99c592 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Sep 12 09:32:41 2014 +0800 usb: gadget: udc-core: add utility for bus reset The udc driver can notify the udc core that bus reset occurs by calling this utility, the core will notify gadget driver this information and update gadget state accordingly. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1f7c51660034091dc134fcc534b7f1fa86a6e823 Author: Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xxxxxxxxxx> Date: Wed Sep 10 19:24:04 2014 +0530 usb: gadget: Add xilinx usb2 device support Xilinx USB2 device is a soft IP which supports both full and high speed USB 2.0 data transfers. This patch adds xilinx usb2 device driver support. Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d799793b933baec9f086996d5b693d62f35c4d65 Author: Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xxxxxxxxxx> Date: Wed Sep 10 19:24:03 2014 +0530 usb: doc: udc-xilinx: Add devicetree bindings Add devicetree bindings for Xilinx udc driver. Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 22739edfc563fa42f02a2f7323fd352061ef32b3 Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Fri Sep 5 17:55:18 2014 +1000 deb-pkg: Add support for powerpc little endian The Debian powerpc little endian architecture is called ppc64el. This is the default architecture used by Ubuntu for powerpc. The below checks the kernel config to see if we are compiling little endian and sets the Debian arch appropriately. Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 9810f5370b6e60c4b564f294feb51761f0e741f6 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 9 21:38:24 2014 -0700 ASoC: simple-card: tidyup get dai_link/dai_props from priv It can get dai_link/dai_props pointer from priv + index Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f531913f01a07253d013a9c67a80df11154e7ae2 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 9 21:37:57 2014 -0700 ASoC: simple-card: tidyup use priv in parameter priv has many information about simple-card driver. Using it becomes easy to extend feature. This patch gets dev from priv as 1st step Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 336fb81b319ec4d5c09aa6417de7c042cfcd7461 Author: Wang, Yalin <Yalin.Wang@xxxxxxxxxxxxxx> Date: Thu Sep 11 16:19:49 2014 +0800 regmap: change struct regmap's internal locks as union this patch change struct regmap->mutex and struct regmap->spinlock as an union, because these 2 members are only used one of them, we change it to shrink the struct size. Signed-off-by: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ed3f8ce8399255c7cca43dde5d3a19b2b7dc287 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 11 18:22:48 2014 +0800 regulator: rk808: Fix missing of_node_put 1. Pass &pdev->dev rather than &client->dev to of_regulator_match, the *dev argument is used for devres to ensure devm_of_regulator_put_matches() will be called when unload the module. 2. of_get_child_by_name() returns a node pointer with refcount incremented. Thus add missing of_node_put(reg_np). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1f0c01621aa1beb0f6bc205beeada2a4a3178d5a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 11 18:21:10 2014 +0800 regulator: rk808: Remove unused variables Also remove non-informative comment. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6865b20ad354548a045c74a388eb37afe1ad5174 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:44:00 2014 +0200 drm: Move DRM_MAGIC_HASH_ORDER into drm_drv.c Only used in one place ever, so put it right next to that. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 00285be8ff2c07379d4809ed2750f8244f0c23fa Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:59 2014 +0200 drm: Move drm_class to drm_internal.h Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8f1a2c8dc0dc5c2842e08f304ebdd34b5ddb982c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:58 2014 +0200 drm: Move LOCK_TEST_WITH_RETURN to <drm/drm_legacy.h> Unfortunately we can't move struct drm_lock_data easily since it's embedded into struct drm_master. And figuring out where exactly this struct should be allocated isn't that simple ... Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ba8286fab52652e431784d066b075c1bb4933ea1 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 11 07:43:25 2014 +0200 drm: Move legacy buffer structures to <drm/drm_legacy.h> A few odd cases: - mgag200 someho had a totally unused drm_dma_handle_t. Remove it. - i915 still uses the legacy pci dma alloc api, so grows an include. Everything else fairly standard. v2: Include "drm_legacy.h" in drm.ko source files for consistency. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 86c1fbd55c6abc72496a45b7cbf1940324983977 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:56 2014 +0200 drm: Move drm_memory.c map support declarations to <drm/drm_legacy.h> And replace the drm_core_ prefix with drm_legacy_ since really, this isn't core stuff. Also drop drm_core_dropmap since it's unused. v2: Fix up i810.ko fully which somehow slipped through. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 78238757ebab54bf0d546dabe119f3a158d418b4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:55 2014 +0200 drm: Purge ioctl forward declarations from drmP.h If we push down the ioctl table in drm_ioctl.c all the forward declarations in drmP.h are not required any more. v2: Fold in fixup from Fenugguang Wu to declare functions as static. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac60ab4b4968b54fb5af20eac9dd78e36ad910c1 Merge: a0cfd75 a2d61ed Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Fri Sep 12 22:40:22 2014 +1000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into next commit 12969e3bdce5f63fbce2b6d616fdbc8eeb539f01 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Sep 11 13:14:04 2014 -0400 HID: wacom: make the WL connection friendly for the desktop Currently, tablets connected to the WL receiver all share the same VID/PID. There is no way for the user space to know which one is which besides parsing the name. We can force the PID to be set to the actual hardware. This way, the input device will have the correct PID which can be match in libwacom. With only this trick, the pad input does not inherit the ID_INPUT_TABLET udev property from its parent. We can force udev to accept it by declaring a BTN_STYLUS which is never used. This way, tablets connected through WL can be used from the user point of view in the same way they are used while connected through wire. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c2eb6b6139183af632a5be8f7c33006d7b03702d Merge: e367264 18910ab Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Sep 12 10:50:21 2014 +0100 Merge arm64 CPU suspend branch * cpuidle: arm64: add PSCI CPU_SUSPEND based cpu_suspend support arm64: kernel: introduce cpu_init_idle CPU operation arm64: kernel: refactor the CPU suspend API for retention states Documentation: arm: define DT idle states bindings commit 18910ab0d916b1a87016d69efd027714a80521dd Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Fri Sep 27 10:25:02 2013 +0100 arm64: add PSCI CPU_SUSPEND based cpu_suspend support This patch implements the cpu_suspend cpu operations method through the PSCI CPU SUSPEND API. The PSCI implementation translates the idle state index passed by the cpu_suspend core call into a valid PSCI state according to the PSCI states initialized at boot through the cpu_init_idle() CPU operations hook. The PSCI CPU suspend operation hook checks if the PSCI state is a standby state. If it is, it calls the PSCI suspend implementation straight away, without saving any context. If the state is a power down state the kernel calls the __cpu_suspend API (that saves the CPU context) and passed the PSCI suspend finisher as a parameter so that PSCI can be called by the __cpu_suspend implementation after saving and flushing the context as last function before power down. For power down states, entry point is set to cpu_resume physical address, that represents the default kernel execution address following a CPU reset. Reviewed-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d64f84f696463c58e1908510e45b0f5d450f737a Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Thu Jul 17 10:30:07 2014 +0100 arm64: kernel: introduce cpu_init_idle CPU operation The CPUidle subsystem on ARM64 machines requires the idle states implementation back-end to initialize idle states parameter upon boot. This patch adds a hook in the CPU operations structure that should be initialized by the CPU operations back-end in order to provide a function that initializes cpu idle states. This patch also adds the infrastructure to arm64 kernel required to export the CPU operations based initialization interface, so that drivers (ie CPUidle) can use it when they are initialized at probe time. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 714f59925595b9c2ea9c22b107b340d38e3b3bc9 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Thu Aug 7 14:54:50 2014 +0100 arm64: kernel: refactor the CPU suspend API for retention states CPU suspend is the standard kernel interface to be used to enter low-power states on ARM64 systems. Current cpu_suspend implementation by default assumes that all low power states are losing the CPU context, so the CPU registers must be saved and cleaned to DRAM upon state entry. Furthermore, the current cpu_suspend() implementation assumes that if the CPU suspend back-end method returns when called, this has to be considered an error regardless of the return code (which can be successful) since the CPU was not expected to return from a code path that is different from cpu_resume code path - eg returning from the reset vector. All in all this means that the current API does not cope well with low-power states that preserve the CPU context when entered (ie retention states), since first of all the context is saved for nothing on state entry for those states and a successful state entry can return as a normal function return, which is considered an error by the current CPU suspend implementation. This patch refactors the cpu_suspend() API so that it can be split in two separate functionalities. The arm64 cpu_suspend API just provides a wrapper around CPU suspend operation hook. A new function is introduced (for architecture code use only) for states that require context saving upon entry: __cpu_suspend(unsigned long arg, int (*fn)(unsigned long)) __cpu_suspend() saves the context on function entry and calls the so called suspend finisher (ie fn) to complete the suspend operation. The finisher is not expected to return, unless it fails in which case the error is propagated back to the __cpu_suspend caller. The API refactoring results in the following pseudo code call sequence for a suspending CPU, when triggered from a kernel subsystem: /* * int cpu_suspend(unsigned long idx) * @idx: idle state index */ { -> cpu_suspend(idx) |---> CPU operations suspend hook called, if present |--> if (retention_state) |--> direct suspend back-end call (eg PSCI suspend) else |--> __cpu_suspend(idx, &back_end_finisher); } By refactoring the cpu_suspend API this way, the CPU operations back-end has a chance to detect whether idle states require state saving or not and can call the required suspend operations accordingly either through simple function call or indirectly through __cpu_suspend() which carries out state saving and suspend finisher dispatching to complete idle state entry. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3f8161b260cb9232bb926a5d6c1cc2672fea07c7 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Wed Nov 27 16:22:55 2013 +0000 Documentation: arm: define DT idle states bindings ARM based platforms implement a variety of power management schemes that allow processors to enter idle states at run-time. The parameters defining these idle states vary on a per-platform basis forcing the OS to hardcode the state parameters in platform specific static tables whose size grows as the number of platforms supported in the kernel increases and hampers device drivers standardization. Therefore, this patch aims at standardizing idle state device tree bindings for ARM platforms. Bindings define idle state parameters inclusive of entry methods and state latencies, to allow operating systems to retrieve the configuration entries from the device tree and initialize the related power management drivers, paving the way for common code in the kernel to deal with idle states and removing the need for static data in current and previous kernel versions. ARM64 platforms require the DT to define an entry-method property for idle states. On system implementing PSCI as an enable-method to enter low-power states the PSCI CPU suspend method requires the power_state parameter to be passed to the PSCI CPU suspend function. This parameter is specific to a power state and platform specific, therefore must be provided by firmware to the OS in order to enable proper call sequence. Thus, this patch also adds a property in the PSCI bindings that describes how the PSCI CPU suspend power_state parameter should be defined in DT in all device nodes that rely on PSCI CPU suspend method usage. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Reviewed-by: Sebastian Capella <sebcape@xxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit de591c783ae739f6fb41e12f3371575edcb62af0 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:42 2014 +0000 e1000: switch to napi_gro_frags api napi_gro_frags allows skb re-use in case GRO can merge payload pages into an skb on the GRO lists. netperf TCP_STREAM, kvm-e1000 emulation, mtu 9k: Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec old: 87380 16384 16384 30.00 8985.78 new: 87380 16384 16384 30.00 9907.05 Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 44af3f5c6a2dc0358121b5ecf272361b3290649e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:54 2014 +0200 drm: unexport drm_global_mutex Drivers really, really have no business even looking at this lock. And thankfully they don't. So unexport it and move the declaration to drm_internal.h. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13809609610ae2ab4a7730982c3e067d8edb5a67 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:36 2014 +0000 e1000: convert to build_skb Instead of preallocating Rx skbs, allocate them right before sending inbound packet up the stack. e1000-kvm, mtu1500, netperf TCP_STREAM: Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec old: 87380 16384 16384 60.00 4532.40 new: 87380 16384 16384 60.00 4599.05 Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 67d0ec4e885cd2af861a14bb9bd59fd23e9644ae Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:53 2014 +0200 drm: Move piles of functions from drmP.h to drm_internal.h This way drivers can't grow crazy ideas any more, and it also helps a bit in reviewing EXPORT_SYMBOLS. v2: Even more stuff. Unfortunately we can't move drm_vm_open_locked because exynos does some horrible stuff with it. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 18882995713d2ebdd24d6b07f1853a866a7e1b66 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 08:16:10 2014 +0200 drm: Move vblank related module options into drm_irq.c This allows us to drop 2 header declarations from drmP.h. The 3rd one is also used in drm_ioctl.c, so for that create a new drm_internal.h header for non-legacy non-kms (since we have internal headers for those parts already) declarations private to drm.ko. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7610a04c008768abf8a372d2358e7629877b8305 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:52 2014 +0200 drm: Drop drm_sysfs_class from drmP.h No user at all. My guess is that this is a leftover from ttm before it used the more abstract helpers to register/unregister its sysfs objects (see drm_sysfs.h). At least in the existing history it was never used. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c96e84ee486d5dbf4a3850441f3c1f95b1343e4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:51 2014 +0200 drm: Move __drm_pci_free to drm_legacy.h Also sprinkle the customary legacy_ prefix. Unfortunately we can't move the other functions since i915 is still using them. Shame on me for that one :( v2: Fix patch subject as spotted by David Herrmann. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4f03b1fc1eb286b73d453c03cdb45a3827726a44 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:49 2014 +0200 drm: Create drm legacy driver header And move a few legayc functions to start things over there. It compiles ... Inspired by a patch from Dave Airlie, but with a split between drm.ko private legacy functions and stuff used by drivers. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a677f4cc88b2b7491c0c400e07b6630852971e32 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:48 2014 +0200 drm: Move drm_legacy_vma_flush into drm_legacy.h Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9ec4e2ff3e269756a253282c784776e2166be7bc Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 11 07:42:43 2014 +0200 drm: Move sg functions into drm_legacy.h Also sprinkle the drm_legacy_ prefix where missing. v2: Drop extern from function declarations and include "drm_legacy.h" in drm_scatter.c, spotted by David. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a266162aef4f43307d18c88fb5ecaffd8e9303af Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 11 07:41:51 2014 +0200 drm: Move dma functions into drm_legacy.h Also drop the unneeded EXPORT_SYMBOL and sprinkle drm_legacy_ prefixes where missing. v2: Drop the confusing _core_ and drop extern, both suggested by David. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit edbaae5a5cab89de0e64b8c03ebd9a8d5d266550 Merge: a9d6dd2 336879b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 12 19:04:53 2014 +1000 Merge tag 'topic/vblank-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel into drm-next So updated vblank-rework pull request, now with the polish that Mario requested applied (and reviewed by him). Also with backmerge like you've requested for easier merging. The neat thing this finally allows is to immediately disable the vblank interrupt on the last drm_vblank_put if the hardware has perfectly accurate vblank counter and timestamp readout support. On i915 that required piles of small adjustements from Ville since depending upon the platform and port the vblank happens at different scanout lines. Of course this is fully opt-in and per-device (we need that since gen2 doesn't have a hw vblank counter). * tag 'topic/vblank-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel: (22 commits) drm: Clarify vblank ts/scanoutpos sampling #defines drm: Simplify return value of drm_get_last_vbltimestamp drm: Only update final vblank count when precise ts is available drm: Really never disable vblank irqs for offdelay==0 drm: Use vblank_disable_and_save in drm_vblank_cleanup() drm: Remove drm_vblank_cleanup from drm_vblank_init error path. drm: Store the vblank timestamp when adjusting the counter during disable drm: Fix confusing debug message in drm_update_vblank_count() drm/i915: Update scanline_offset only for active crtcs drm: Kick start vblank interrupts at drm_vblank_on() drm/i915: Opt out of vblank disable timer on >gen2 drm: Add dev->vblank_disable_immediate flag drm: Disable vblank interrupt immediately when drm_vblank_offdelay<0 drm: Fix race between drm_vblank_off() and drm_queue_vblank_event() drm: Fix deadlock between event_lock and vbl_lock/vblank_time_lock drm: Reduce the amount of dev->vblank[crtc] in the code drm: Avoid random vblank counter jumps if the hardware counter has been reset drm: Have the vblank counter account for the time between vblank irq disable and drm_vblank_off() drm: Move drm_update_vblank_count() drm: Don't clear vblank timestamps when vblank interrupt is disabled ... commit 580f321d8498f1c7f83f2765601c84105a21e423 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:31 2014 +0000 e1000: rename struct e1000_buffer to e1000_tx_buffer and remove *page, its only used for Rx. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 93f0afe9ce9cb095f1fcb23da8a5897f85d61275 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:26 2014 +0000 e1000: add and use e1000_rx_buffer info for Rx e1000 uses the same metadata struct for Rx and Tx. But Tx and Rx have different requirements. For Rx, we only need to store a buffer and a DMA address. Follow-up patch will remove skb for Rx, bringing rx_buffer_info down to 16 bytes on x86_64. [ buffer_info is 48 bytes ] Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2b294b18689c6b68f631535acbcdb6c8e6fa11cf Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:21 2014 +0000 e1000: perform copybreak ahead of DMA unmap Currently we unmap the DMA range, then copy to new skb. Change this so we can keep the mapping in case the data is copied. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2037110c96d5f1dd71453fcd0d54e79be12a352b Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:15 2014 +0000 e1000: move tbi workaround code into helper function Its the same in both handlers. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4f0aeb1e967d1039d7988aaf84d087916bac30ea Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:10 2014 +0000 e1000: move e1000_tbi_adjust_stats to where its used ... and make it static. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0bbe80e571c7b866afd92a98edd32a969467a7a9 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 11 17:51:27 2014 +0200 netfilter: masquerading needs to be independent of x_tables in Kconfig Users are starting to test nf_tables with no x_tables support. Therefore, masquerading needs to be indenpendent of it from Kconfig. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3e8dc212a0e68a9a90c97f34a92c4cdd97d19dd3 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 11 17:42:00 2014 +0200 netfilter: NFT_CHAIN_NAT_IPV* is independent of NFT_NAT Now that we have masquerading support in nf_tables, the NAT chain can be use with it, not only for SNAT/DNAT. So make this chain type independent of it. While at it, move it inside the scope of 'if NF_NAT_IPV*' to simplify dependencies. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit adc810900a703ee78fe88fd65e086d359fec04b2 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Jul 26 02:42:44 2014 +0000 ixgbe: Refactor busy poll socket code to address multiple issues This change addresses several issues in the current ixgbe implementation of busy poll sockets. First was the fact that it was possible for frames to be delivered out of order if they were held in GRO. This is addressed by flushing the GRO buffers before releasing the q_vector back to the idle state. The other issue was the fact that we were having to take a spinlock on changing the state to and from idle. To resolve this I have replaced the state value with an atomic and use atomic_cmpxchg to change the value from idle, and a simple atomic set to restore it back to idle after we have acquired it. This allows us to only use a locked operation on acquiring the vector without a need for a locked operation to release it. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a9d6dd2554e35c0213382fff19f5dbf151707955 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 12 14:32:40 2014 +1000 drm/ast: switch to using CACHED by default for sysram This fixes problems on ppc64 platforms, where we could end up using a WC mapping for migrating BOs with memcpy, when really we want to use cached memory. Tested-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 15be71c92f10169600b5980ee06836614836057b Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Jul 26 02:42:39 2014 +0000 ixgbe: Drop Rx alloc at end of Rx cleanup This change removes the Rx buffer allocation at the end of ixgbe_clean_rx_irq. The reason for removing this is to avoid the extra latency introduced by the MMIO write. This can amount to somewhere around an extra 100ns of latency and one extra message worth of PCIe bus overhead. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit db99d95c9030b78b85dbdba53a4babb4cd6231be Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Jul 24 06:19:29 2014 +0000 ixgbevf: Resolve missing-field-initializers warnings Resolve missing-field-initializers warnings by using designated initialization. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ca8dfe2550cb36828db52f6b1a6ef340c80197e9 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Jul 24 06:19:24 2014 +0000 ixgbe: Resolve warnings produced in W=2 builds This patch resolves warnings produced by ixgbe in W=2 kernel builds. There are missing-field-initializers warnings and shadow warnings. None of these point to any deeper problem, so just resolve them so any new warnings get analyzed. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 76460a7becadbda5589057ee8394cbc98717c324 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 10:28:30 2014 -0700 Input: joystick - use ktime for measuring timing The current codes in gameport and analog joystick drivers for the time accounting have a long-standing problem when the system is running with CPU freq; since the timing is measured via TSC or sample counter, the calculation isn't reliable. In this patch, as a simple fix, use the standard ktime to measure the timing. In case where no high resolution timer is available, use_ktime bool option is provided to both modules. Setting use_ktime=false switches to the old methods. Tested-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a3b3ca753cdc92c7d5f57404afed3115b3b79cc6 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Thu Sep 11 23:15:01 2014 -0700 Input: add haptic driver on max77693 This driver to supports the haptic controller on MAX77693 Multifunction device with PMIC, CHARGER, LED, MUIC, HAPTIC. This driver supports external pwm and LRA (Linear Resonant Actuator) motor. User can control the haptic device via force feedback framework. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit adff5962fdd2f29bac943bc014ebd529444b2153 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Aug 26 15:57:47 2014 -0700 Input: introduce palmas-pwrbutton Many palmas family of PMICs have support for interrupt based power button. This allows the device to notify the processor of external push button events over the shared palmas interrupt. However, this event is generated only during a "press" operation. Software is supposed to poll(sigh!) for detecting a release event. The PMIC also supports ability to power off independent of the software decisions when the button is pressed for a long duration if the PMIC is appropriately configured on the platform. Even though the function is similar to twl4030_pwrbutton, it is substantially different in operation to belong to a new driver of it's own. Based on original work done by Girish S Ghongdemath <girishsg@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit fd7e0d719260259f6e4e7711bd63a4175557d559 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 10 18:23:07 2014 +1000 drm: split ati_pcigart.h out of drmP.h Just move this into a separate header file, and make the two users use it. Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 10d123b2f2b5bf54f59a884f12018d24a97d5a63 Merge: e351943 298593b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 12 13:58:27 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next concurrent buffer reads. * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: allow concurrent buffer reads drm/radeon: add the infrastructure for concurrent buffer access drm/ttm: allow fence to be added as shared commit e351943b081f4d9e6f692ce1a6117e8d2e71f478 Author: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Date: Fri Sep 5 13:19:59 2014 -0400 drm/vmwgfx: Fix drm.h include The userspace drm.h include doesn't prefix the drm directory. This can lead to compile failures as /usr/include/drm/ isn't in the standard gcc include paths. Fix it to be <drm/drm.h>, which matches the rest of the driver drm header files that get installed into /usr/include/drm. Red Hat Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1138759 Fixes: 1d7a5cbf8f74e Reported-by: Jeffrey Bastian <jbastian@xxxxxxxxxx> Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 914ae25a62e77ebbfa0ce7cbc60edd01cc4d1d31 Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 00:40:32 2014 -0700 leds: trigger: gpio: fix warning in gpio trigger for gpios whose accessor function may sleep When using a GPIO driver whose accessor functions may sleep (e.g. an I2C GPIO extender like PCA9554) the following warning is issued: WARNING: CPU: 0 PID: 665 at drivers/gpio/gpiolib.c:2274 gpiod_get_raw_value+0x3c/0x48() Modules linked in: CPU: 0 PID: 665 Comm: kworker/0:2 Not tainted 3.16.0-karo+ #115 Workqueue: events gpio_trig_work [<c00142cc>] (unwind_backtrace) from [<c00118f8>] (show_stack+0x10/0x14) [<c00118f8>] (show_stack) from [<c001bf10>] (warn_slowpath_common+0x64/0x84) [<c001bf10>] (warn_slowpath_common) from [<c001bf4c>] (warn_slowpath_null+0x1c/0x24) [<c001bf4c>] (warn_slowpath_null) from [<c020a1b8>] (gpiod_get_raw_value+0x3c/0x48) [<c020a1b8>] (gpiod_get_raw_value) from [<c02f68a0>] (gpio_trig_work+0x1c/0xb0) [<c02f68a0>] (gpio_trig_work) from [<c0030c1c>] (process_one_work+0x144/0x38c) [<c0030c1c>] (process_one_work) from [<c0030ef8>] (worker_thread+0x60/0x5cc) [<c0030ef8>] (worker_thread) from [<c0036dd4>] (kthread+0xb4/0xd0) [<c0036dd4>] (kthread) from [<c000f0f0>] (ret_from_fork+0x14/0x24) ---[ end trace cd51a1dad8b86c9c ]--- Fix this by using the _cansleep() variant of gpio_get_value(). Signed-off-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 7f14e6b9c36f6696eb937bc0cf86a7732aa89904 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Fri Aug 8 00:09:44 2014 -0700 leds: lp3944: fix sparse warning Fix sparse warning appeared after changing brightness type in the leds.h from int to enum led_brightness. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 3841961269f76db243339a94005729f10829911e Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Aug 7 05:10:24 2014 -0700 leds: avoid using DEVICE_ATTR macro for max_brightness attribute Make definition of the brightness related sysfs attributes consistent. The modification entails change of the function name: led_max_brightness_show -> max_brightness_show Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit d8082827d8a214343b761f2c4554d2a7d1573d63 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Aug 7 05:10:23 2014 -0700 leds: make brightness type consistent across whole subsystem Documentations states that brightness units type is enum led_brightness and this is the type used by the led API functions. Adjust the type of brightness variables in the struct led_classdev accordingly. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 047133066e6c2549403fe5a2d619f47ba4212ef5 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Aug 7 05:10:22 2014 -0700 leds: Reorder include directives Reorder include directives so that they are arranged in alphabetical order. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 151d0cbdbe8609e8489d10ddb7aed6e431fe6b5d Author: Nick Hudson <skrll@xxxxxxxxxx> Date: Thu Sep 11 15:22:48 2014 -0700 usb: dwc2: make the scheduler handle excessive NAKs better I'm seeing problems with a d-link dwcl-g122 wifi dongle that someone sent me. There are reports of other wifi dongles with the same/similar problem. The devices appear to be NAKing to the point of confusing the dwc2 driver completely. The attached patch helps with my d-link dwl-g122 - it's adapted from the Raspberry Pi dwc_otg driver, which is a modified version of the Synopsys vendor driver. The error recovery is still valid after the patch, I think. Cc: Dom Cobley <popcornmix@xxxxxxxxx> Signed-off-by: Nick Hudson <skrll@xxxxxxxxxx> Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4a814d4a99508ba9070c85deb19ce8a64154721 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 10 09:34:51 2014 +0200 staging: vt6655: Remove unnecessary condition around include ethtool (and SIOCETHTOOL in particular) is part of Linux since the pre-git era, it thus makes no sense no sense to make the include of linux/ethtool.h conditional. Also remove the unused define DEVICE_ETHTOOL_IOCTL_SUPPORT. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22981e0e5ab3aedfb46698ed7c12c7b944781bd3 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 10 09:34:50 2014 +0200 staging: vt6655: Use net_device_stats from struct net_device Instead of using an own copy of struct net_device_stats in struct vnt_private, use stats from struct net_device. Also remove the thus unnecessary device_get_stats(), as it would now just return netdev->stats, which is the default in dev_get_stats(). Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46ef6886ac5324058898a4e84cad029f06de8b18 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 10 09:34:49 2014 +0200 staging: vt6655: Remove unused member from struct vnt_private The pci_state member of struct vnt_private is used nowhere in the code, so remove it. Supposedly it was used to save the PCI configuration space which is now done using pci_save_state(). Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1299b721d35532a5786ef665aa86e7d01446396d Author: Tobenna P. Igwe <ptigwe@xxxxxxxxx> Date: Wed Sep 10 20:45:16 2014 +0100 staging:rtl8188eu: Fix sparse warning cast to restricted __le16 This patch fixes the following sparse warnings: CHECK drivers/staging/rtl8188eu/hal/fw.c drivers/staging/rtl8188eu/hal/fw.c:219:13: warning: cast to restricted __le16 drivers/staging/rtl8188eu/hal/fw.c:219:13: warning: cast to restricted __le16 drivers/staging/rtl8188eu/hal/fw.c:219:13: warning: cast to restricted __le16 drivers/staging/rtl8188eu/hal/fw.c:219:13: warning: cast to restricted __le16 by changing the signature from 'u16' to '__le16'. Signed-off-by: Tobenna P. Igwe <ptigwe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fe473b3a21f35379467b0aac996c39b65249eba Author: Vincenzo Scotti <vinc94@xxxxxxxxx> Date: Tue Sep 9 23:06:27 2014 +0200 staging: emxx_udc: fix style warnings: const strings should be const char Signed-off-by: Vincenzo Scotti <vinc94@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9af928157c48db3cb8968e9bfc13e0c28b315547 Author: Vincenzo Scotti <vinc94@xxxxxxxxx> Date: Tue Sep 9 23:06:26 2014 +0200 staging: emxx_udc: fix style warnings: return in void functions Signed-off-by: Vincenzo Scotti <vinc94@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f39ae05ad49bd7274ac43032511f51e0fb3b8aa Author: Vincenzo Scotti <vinc94@xxxxxxxxx> Date: Tue Sep 9 23:06:25 2014 +0200 staging: emxx_udc: fix style warnings: blank line after declarations Signed-off-by: Vincenzo Scotti <vinc94@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e69a8110686572a4b88d006faa8c3c759c4c261 Author: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Date: Tue Sep 9 20:04:34 2014 +0200 staging: speakup: fix missing blank lines after declarations Signed-off-by: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e48735236b8487f9e8f25fae8622645aaa640261 Author: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Date: Tue Sep 9 20:04:33 2014 +0200 staging: speakup: fix line indentations Signed-off-by: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11a18fc3d1bb5a437755fd3e90568e64f6e7583e Author: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Date: Tue Sep 9 20:04:32 2014 +0200 staging: speakup: fix redundant return in void functions Signed-off-by: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7027b9b2567cd3050d266bc56a2296840dd7f68 Author: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Date: Tue Sep 9 20:04:31 2014 +0200 staging: speakup: fix warnings: line over 80 characters Signed-off-by: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f01952d23977857c6e0b78a56d89b07b7e7ebec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 9 16:11:09 2014 +0530 staging: unisys: uislib: uislib.c: sparse warning of context imbalance fixed sparse warning : context imbalance in 'resume_device' unexpected unlock this patch will generate warning from checkpatch for lines over 80 character , but since those are user-visible strings so it was not modified. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Tested-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15ef0cc12482204b968794b25f9e2805509c686b Author: Nitin Kuppelur <nitinkuppelur@xxxxxxxxx> Date: Wed Sep 10 03:36:24 2014 +0200 Staging: octeon-hcd: removed dummy label This is a patch to the octeon-hcd.c file that fixes removes dummy label i.e. label followed by return of void function Signed-off-by: Nitin Kuppelur <nitinkuppelur@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93a9f05ac65d08245269bb97045ef624e03d1f40 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Tue Sep 9 09:58:48 2014 +0530 staging:r8190_rtl8256: coding style: Fixed commenting style This is a patch to the r8190_rtl8256.c file that fixes commenting style Error Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a82b4b018a2341ab19885a1bcef6235513c053c5 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Sep 8 20:50:23 2014 -0500 drivers: staging: rtl8723au: Fix 'code indent should use tabs where possible' errors Fix checkpatch.pl 'code indent should use tabs where possible' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91b3aaf99177d63382e3bc4b9f66632fda2eca82 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Tue Sep 9 13:39:08 2014 -0500 staging/lustre: remove lvfs.h Move the definition of struct lvfs_run_ctxt to the one file that needed it (lustre/include/obd.h). Remove the then unneeded headers lustre/include/lvfs.h and lustre/include/linux/lvfs.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04b18c8d492b1c4855c8a68c9a7ce4c69b5e55fd Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Tue Sep 9 13:39:07 2014 -0500 staging/lustre/libcfs: remove upcall cache The upcall cache is unused so remove include/linux/libcfs/lucache.h and lustre/libcfs/upcall_cache.c. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5d2337c561f40672a9d8afd19a727c82e6e5b24 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Tue Sep 9 13:39:06 2014 -0500 staging/lustre: remove unused lvfs code Remove the unused "lvfs" functions obd_lvfs_fid2dentry(), ll_lookup_one_len(), l_dput(), lustre_rename(), push_ctxt(), and pop_ctxt(). Remove the unused members of struct lvfs_run_ctxt. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6272d7780598358f45d80fe38455a0c27fbeb1a3 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Tue Sep 9 13:39:05 2014 -0500 staging/lustre: remove lvfs_linux.h The definitions in lustre/include/linux/lvfs_linux.h are not used so remove that header. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46ffc934385860a127c04010f5f3ee225e06b87b Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Tue Sep 9 13:39:04 2014 -0500 staging/lustre: remove portals_compat25.h Remove include/linux/libcfs/linux/portals_compat25.h. . remove some unused/unnecessary macros such as smp_num_cpus / SIGNAL_MASK_ASSERT etc. . replace some macros with direct kernel API calls such as RECALC_SIGPENDING/CLEAR_SIGPENDING/CURRENT_SECONDS, cfs_wait_event_interruptible/_exclusive etc. Signed-off-by: Liu Xuezhao <xuezhao.liu@xxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxx> Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/4778 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Keith Mannthey <keith.mannthey@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16e0631db72cf70e6be1abb8892ec2928a16f716 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Tue Sep 9 13:39:03 2014 -0500 staging/lustre: remove linux/lustre_common.h Expand the two uses of ll_inode_blksize() and remove the then unnecessary header lustre/include/linux/lustre_common.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11495 Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdedd94509fdcee9e604fcce406a45a6ad3ee559 Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Tue Sep 9 13:39:02 2014 -0500 staging/lustre/lvfs: remove the lvfs layer The lvfs layer is obsolete and unused by Lustre clients. So remove it and integrate the last of the procfs code into the obdclass layer. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: Mikhail Pershin <mike.pershin@xxxxxxxxx> Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/5512 Reviewed-by: Jian Yu <jian.yu@xxxxxxxxx> Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b037976f7a083b2cb80fbff5f6629620f1b53fc0 Author: Hugues Morisset <morisset.hugues@xxxxxxxxx> Date: Tue Sep 9 16:36:27 2014 +0200 staging: lustre: fix coding style of function's pointer Signed-off-by: Hugues Morisset <morisset.hugues@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe67299757b6c16c3230c6e1ed4912a04f55b2a8 Author: Hugues Morisset <morisset.hugues@xxxxxxxxx> Date: Tue Sep 9 16:36:26 2014 +0200 staging: lustre: fix inappropriate enums declarations. Signed-off-by: Hugues Morisset <morisset.hugues@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 498374f7b6273920dcaf0e25a89fce9e931c986a Author: Hugues Morisset <morisset.hugues@xxxxxxxxx> Date: Tue Sep 9 16:36:25 2014 +0200 staging: lustre: fix coding style on long lines Signed-off-by: Hugues Morisset <morisset.hugues@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 187516688df334bc34ae08db931193e0a2f7dc97 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Tue Sep 9 15:44:08 2014 +0200 staging: lustre: lov: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5b3f330f7f666b915e47542581e0b4ce3b96780 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 8 21:41:28 2014 -0400 staging/lustre: remove unused function is_osp_on_mdt This function is no longer used anywhere. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a33105259f5e79a06e9e0a3f233991584b5320b2 Author: Mikhail Pershin <mike.pershin@xxxxxxxxx> Date: Mon Sep 8 21:41:27 2014 -0400 staging/lustre: use osc_reply_portal for OUT services OUT service is used to server both MDS-MDS updates and MDS-OST therefore services on MDT and OST are set to use the same request and reply portals to be fully unified and able to serve any type of requests. Signed-off-by: Mikhail Pershin <mike.pershin@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/8390 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3467 Reviewed-by: wangdi <di.wang@xxxxxxxxx> Reviewed-by: Fan Yong <fan.yong@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cc30ab907dbb6222891cb277e4eb5605f17246f Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Sep 8 20:13:13 2014 -0500 drivers: staging: lustre: Fix 'code indent should use tabs where possible' errors Fix checkpatch.pl 'code indent should use tabs where possible' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 650ea11ffa0cb51440015c420de269a705d6666e Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Sep 8 17:32:08 2014 -0500 drivers: staging: lustre: Fix "space prohibited after that open parenthesis '('" errors Fix checkpatch.pl "space prohibited after that open parenthesis '('" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0220d472dfa98357c5642b9ca80602fad431e046 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:15 2014 +0100 staging: comedi: adl_pci9118: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 058543b77f312ee5df0e59a5373cf624d004f704 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:19 2014 +0100 staging: comedi: amplc_dio200_common: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d699f10766a0fdd7040b9b11daa0fddaca666c86 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Wed Sep 10 01:04:42 2014 -0500 staging: comedi: hwdrv_apci3120: remove void function return statement Returns at the end of void functions are useless. Remove this one. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfc81c4a223ec2ecdc3ca955b4c060c64e5fb71f Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Wed Sep 10 01:04:28 2014 -0500 staging: comedi: hwdrv_apci3120: else is not useful after return The statement nested in an else after a return may be brought out one indent level, the else is useless. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8aeec82ffdbf248e57caa52f1702dd09a45711ed Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Wed Sep 10 01:04:10 2014 -0500 staging: comedi: hwdrv_apci3120: add a blank line after declarations Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93093cad2aff07acd2e1b7f52d7fb744b03a1b7a Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Wed Sep 10 01:03:44 2014 -0500 staging: comedi: hwdrv_apci3120: clean up comments This patch fixes improper comment indentation, removes dead code and obsolete comments, and conforms remaining comments to a consistent kernel commenting style. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aaa0c2f77bee1f0834d549e9ca937fb2ecb6cda1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:06 2014 -0700 staging: comedi: usbduxsigma: prevent "empty acquisition" async commands This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0 for both the analog input and output async commands. The (*do_cmd) for both subdevices sets up and starts the command without handling the "empty acquisition". This results in the interrupt functions trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e98348e0cb52dbb48d505b54646180a1455d630c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:05 2014 -0700 staging: comedi: usbdux: prevent "empty acquisition" async commands This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0 for both the analog input and output async commands. The (*do_cmd) for both subdevices sets up and starts the command without handling the "empty acquisition". This results in the interrupt functions trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32f9ff7039eb59eaef0c153328601ac6164b746a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:04 2014 -0700 staging: comedi: s626: fix cmd->stop_arg validation for stop_src == TRIG_COUNT The only limit for the stop_arg with a stop_src == TRIG_COUNT is that there is at least 1 scan in order to prevent an empty acquisition. The max test is bogus. Fix the validation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b9505527e5560297be00094fb4819b0e91e4138 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:03 2014 -0700 staging: comedi: s626: 'ai_sample_count' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'ai_sample_count' is the cmd->stop_arg. For a stop_src == TRIG_NONE the 'ai_sample_count' is currently set to 1 but the driver never actually uses the value. Simplify the 'stop_count' initialization by just setting it to the cmd->stop_arg. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27cb98142f42432733ac0a0cb2a35330756d5c19 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:02 2014 -0700 staging: comedi: s626: clarify COMEDI_CB_EOA code The end-of-acquisition only applies when the cmd->stop_src == TRIG_COUNT. Refactor the code in s626_handle_eos_interrupt() that detects the end-of- acquisition to clarify this. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e37b20aa58d8b6e4df41222f4aacf2b055c973b2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:01 2014 -0700 staging: comedi: s626: remove 'ai_continuous' from private data This member of the private data is set based on the cmd->stop_src. Just use the cmd->stop_src directly and remove the member. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c602c498cd88faa78e17acc7efa29a36012e728 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:00 2014 -0700 staging: comedi: rtd520: prevent "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. The (*do_cmd) then sets up and starts the command without handling the "empty acquisition". This results in the interrupt function trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e2e39effd11ca7c09cc47aff9e99d976109bbe8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:59 2014 -0700 staging: comedi: pcmuio: return void from pcmuio_start_intr() This function always returns '0' so the comedi_event() is never done by the callers. Change the return type to void and remove the comedi_event() dead code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e7fed7ed760275c3e8e73e4328751fcb8f21642 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:58 2014 -0700 staging: comedi: pcmuio: 'stop_count' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'stop_count' is the cmd->stop_arg. For any other stop_src the 'stop_count' is 0, which is also the cmd->stop_arg. Simplify the 'stop_count' initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75d46fd7816ea5a22971b05e59c356f3964754a9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:57 2014 -0700 staging: comedi: pcmuio: remove 'continuous' from private data This member of the private data is set based on the cmd->stop_src. Just use the cmd->stop_src directly and remove the member. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71731264847096ab2d2045601b96c9c341a6ae12 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:56 2014 -0700 staging: comedi: pcmuio: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22499048e328469d228bbcbeb32e6c7de3322025 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:55 2014 -0700 staging: comedi: pcmmio: return void from pcmmio_start_intr() This function always returns '0' so the comedi_event() is never done by the callers. Change the return type to void and remove the comedi_event() dead code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 811ba919e469b2c96562119dfee3f93a490f4990 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:54 2014 -0700 staging: comedi: pcmmio: 'stop_count' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'stop_count' is the cmd->stop_arg. For any other stop_src the 'stop_count' is 0, which is also the cmd->stop_arg. Simplify the 'stop_count' initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ea37fd27a453e48dab31bdd3843d8569857f1e6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:53 2014 -0700 staging: comedi: pcmmio: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe094b7e00b507e279782e0a319b7fb32e53d2d0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:52 2014 -0700 staging: comedi: pcl711: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7be7f9c3e3f87fd1263014a14b177409b6542e54 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:51 2014 -0700 staging: comedi: ni_pcidio: prevent "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. The (*do_cmd) then sets up and starts the command without handling the "empty acquisition". This results in the interrupt function trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd6887b2ec985f7fcc42b48caa6561ed98cbf720 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:50 2014 -0700 staging: comedi: ni_atmio16d: prevent "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. The (*do_cmd) then sets up and starts the command without handling the "empty acquisition". This results in the interrupt function trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76af50ddee4f2fa76089b25f763749874acce07a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:49 2014 -0700 staging: comedi: me4000: validate cmd->stop_arg in step 3 of (*do_cmdtest) The async command arguments are supposed to be trivially validated in step 3 of the (*do_cmdtest). Fix the validation of the stop_arg. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 759658ddff327675bbf35063e2b04e0d7424124d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:48 2014 -0700 staging: comedi: dt282x: prevent "empty acquisition" async commands This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0 for both the analog input and output async commands. The (*do_cmd) for both subdevices sets up and starts the command without handling the "empty acquisition". This results in the interrupt functions trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a021d6387337c828c6e15c7fc65f3e013163f89 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:47 2014 -0700 staging: comedi: das16m1: prevent "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. The (*do_cmd) then sets up and starts the command without handling the "empty acquisition". This results in the interrupt function trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c8af779c4c205ff379dcc3ac52831730ec0f5d5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:46 2014 -0700 staging: comedi: das16: prevent "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. The (*do_cmd) then sets up and starts the command without handling the "empty acquisition". This results in the interrupt function trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5d9973b046fb8e0b0f3a8ad925d0033eec59856 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:45 2014 -0700 staging: comedi: cb_pcidas: prevent "empty acquisition" async commands This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0 for both the analog input and output async commands. The (*do_cmd) for both subdevices sets up and starts the command without handling the "empty acquisition". This results in the interrupt functions trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1dabb50199791d60b15ddfc958a8b56e5ea26460 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:44 2014 -0700 staging: comedi: amplc_pci230: 'ai_scan_count' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'ai_scan_count' is the cmd->stop_arg. For any other stop_src the 'ai_scan_count' is 0, which is also the cmd->stop_arg. Simplify the 'ai_scan_count' initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df9f5bad2187203d6c87cb406bab5f7675618498 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:43 2014 -0700 staging: comedi: amplc_pci230: remove analog input "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fabddd2261a84a4dbb4aac61baa7b4652c126e1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:42 2014 -0700 staging: comedi: amplc_pci230: 'ao_scan_count' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'ao_scan_count' is the cmd->stop_arg. For any other stop_src the 'ao_scan_count' is 0, which is also the cmd->stop_arg. Simplify the 'ao_scan_count' initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54d2925bd6b49b5330e8ebbdc83416b0b1605fa2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:41 2014 -0700 staging: comedi: amplc_pci230: remove analog output "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aaf6598f086396e51caafceee89f7ceecd7defd0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:38 2014 -0700 staging: comedi: amplc_pci224: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 157a340d1ff490c346e6ea02eaa21510432ac092 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:37 2014 -0700 staging: comedi: amplc_dio200_common: return void from dio200_start_intr() This function always returns '0' so the comedi_event() is never done by the callers. Change the return type to void and remove the comedi_event() dead code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06f55bb778390f5adbaa21c554505b3a4d27ff38 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:36 2014 -0700 staging: comedi: amplc_dio200_common: 'stopcount' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'stopcount' is the cmd->stop_arg. When the stop_src == TRIG_NONE the 'stopcount' is 0, which is also the cmd->stop_arg. Simplify the 'stopcount' initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75d756e9f0b329afe8f59df44ebc6ede9f2fa99c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:35 2014 -0700 staging: comedi: amplc_dio200_common: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediatelt generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 103e280141ecd19b429567af9e9931817dfacd2a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:34 2014 -0700 staging: comedi: addi_apci_2032: absorb apci2032_int_start() This function always returns 'false' so the caller never does the comedi_event(). Absorb the function into the caller and remove the 'do_event' dead code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52c22b803e1b0259adddb0bd2153674ddb2da0d3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:33 2014 -0700 staging: comedi: addi_apci_2032: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediatelt generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c469410741c017137a81f34c161af82a979846e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:55 2014 -0700 staging: comedi: adl_pci9118: move pci9118_ai_cmdtest() For aesthetics, move this function closer to the (*do_cmd). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa795752c2720a672efff0147f5ef715acde945b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:54 2014 -0700 staging: comedi: adl_pci9118: absorb DMA and non-DMA helpers Currently the pci9118_ai_docmd_dma() or pci9118_ai_docmd_sampl() helper is called by the (*do_cmd) to do the final setup for the command. Most of this invloves setting various bits in 'ai_ctrl' and 'int_ctrl' to setup the acquisition based on the 'ai_do' mode. Most of this is the same for the DMA and non-DMA setup. The differences are easily handled by either checking the cmd trigger sources or if DMA is used. Absorb the helper functions into the (*do_cmd) to clarify the code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7d2191b0ba09e070c1417fc8af73c3c5cd744f7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:53 2014 -0700 staging: comedi: adl_pci9118: clarify async command start The async command can start immediately (TRIG_NOW), from an internal trigger (TRIG_INT), or from an external trigger (TRIG_EXT). Currently the start of the command is scattered in the DMA and non-DMA helper functions. Consolidate the start of the async command at the end of the (*do_cmd) function. For aesthetics, use the 'cmd->start_src' directly instead of the 'ai12_startstop' in the private data to determine how to start the command. This also fixes a minor bug where the external trigger gets enabled for a start_src == TRIG_INT. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e17ae870c21c1860eb9dc3d911a8d2fe3d7a73e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:52 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_ai_cmd_start() Introduce a helper function to start the async command. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d900197e9e0ee372a6eabce6a8a98ec8c4174c2b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:51 2014 -0700 staging: comedi: adl_pci9118: enable DMA in common code path The pci9118_ai_docmd_dma() function enables the DMA bit in the ai control register for all acquisition modes. For aesthetics, move the enable of this bit into the (*do_cmd). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4cf13a1dc89b0f5e23ec5d33905c91e240e1f831 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:50 2014 -0700 staging: comedi: adl_pci9118: tidy up 'ai_cfg' in pci9118_ai_docmd_dma() The 'ai_cfg' was already set to PCI9118_AI_CFG_PDTRG | PCI9118_AI_CFG_PETRG. Don't bother setting those bits in pci9118_ai_docmd_dma(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3d3dad659df423f46ea8ec5050eb1af69eb1bf1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:49 2014 -0700 staging: comedi: adl_pci9118: clarify acquisition mode (ai_do) determination The async command can operation in 4 modes in this driver. Modes 1 and 4 use timers 1 and 2 as a cascaded timer to trigger each conversion. Mode 1 begins the acquisitions immediately (scan_begin_src == TRIG_FOLLOW) and Mode 4 begins after an external trigger (scan_begin_src == TRIG_EXT). Both modes use a convert_src == TRIG_TIMER. Mode 2 uses timers 1 and 2 in a double timed action (scan_begin_src == TRIG_TIMER and convert_src != TRIG_EXT (TRIG_TIMER and TRIG_NOW are valid)). Mode 3 does not use the timers. Each acquisition is triggered by an external signal (scan_begin_src == TRIG_FOLLOW and convert_src == TRIG_EXT. The (*do_cmdtest) validates the scan_begin_src as TRIG_FOLLOW, TRIG_TIMER, or TRIG_EXT. Remove the invalid check for TRIG_INT in the (*do_cmd). Clarify the logic used to determine the mode in the (*do_cmd). Also, simplify pci9118_calc_divisors(). Call i8253_cascade_ns_to_timer() directly in the (*do_cmd) for the mode 1 and mode 4 cases. Call pci9118_calc_divisors() only for mode 2 acquisitions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abaaa7f83a505f9a6cd0405d1dc92ab19a0c7805 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:48 2014 -0700 staging: comedi: adl_pci9118: TRIG_INT is not a valid scan_begin_src The (*do_cmdtest) validates the scan_begin_src as TRIG_FOLLOW, TRIG_TIMER, or TRIG_EXT. Remove the invalid check for TRIG_INT in the (*do_cmd). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d397fd5886090f9462098432bd9523fd8f3df37b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:47 2014 -0700 staging: comedi: adl_pci9118: remove sanity checks in pci9118_calc_divisors() The 'tim2' parameter to this function is actually the cmd->convert_arg which was validated in the (*do_cmdtest) as: err |= cfc_check_trigger_arg_min(&cmd->convert_arg, devprivriv->ai_ns_min); The sanity checks in this function are just repeating that validation. The 'min_pacer' sanity check is simply not needed. Remove these unnecessary checks. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5fc6c95c2fdc9c6bccf57ff15ab054530382ae76 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:46 2014 -0700 staging: comedi: adl_pci9118: tidy up pci9118_set_chanlist() Define some macros to set the 'chan' and 'range' bits in the chanlist register. Use them to tidy up this function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7a078e9cd8e92a989e5afa524e4d9f945e58c75 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:45 2014 -0700 staging: comedi: adl_pci9118: absorb pci9118_ai_set_range_aref() This function is called by the analog input (*insn_read) and (*do_cmd) operations. The pci9118_set_chanlist() function is also called by those operations. Setting the range and aref logically belongs with setting the chanlist. To clarify the code, absorb pci9118_ai_set_range_aref() into pci9118_set_chanlist(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d62b548ded7a5540ecd89fb38d0dab876aec78f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:44 2014 -0700 staging: comedi: adl_pci9118: rename setup_channel_list() Rename this function so it has namespace associated with the driver. Also, this function always succeeds. Change the return type to void and remove the unnecessary error handling by the callers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acdc21c2030659de8d9a9d3960b3b004a38eeec7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:43 2014 -0700 staging: comedi: adl_pci9118: remove unused parameters from setup_channel_list() The 'rot' and 'usedma' parameters are not used in this function. Remove them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11822f0218b4f44ff16a27b15a0742165a916936 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:42 2014 -0700 staging: comedi: adl_pci9118: merge pci9118_exttrg_{add,del}() For aesthetics, merge these two helper functions and add a parameter, 'enable', to determine if the external trigger is being added (enabled) or deleted (disabled). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 664e244ca5d90c5f3d97a67202cbdf821a3feeb0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:41 2014 -0700 staging: comedi: adl_pci9118: exttrg source is always EXTTRG_AI The 'source' passed to pci9118_exttrg_{add,del}() is always EXTTRG_AI. Remove the parameter and unnecessary sanity checking. Also, since there is only one vaild exttrg source, remove the unnecessary 'exttrg_users' member from the private data. The pci9118_exttrg_{add,del}() functions always succeed. For aesthetics change the return type to void. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9d208d3eaffcf4e014592fa3a004e8c3f4a4a13 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:40 2014 -0700 staging: comedi: adl_pci9118: fix interrupt_pci9118_ai_mode4_switch() This function modifies the analog input acquistion programming after the first DMA cycle to continue a "mode4" acqusition. Part of this programs timer 0 based on the hardware address of the next buffer. When double buffering is not used for DMA the "next" buffer is always the first, and only, buffer. Add a parameter to this function to indicate what the "next" buffer actually is and fix the callers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e652632fc240f4ed40da60ec899cdcf3655afd37 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:39 2014 -0700 staging: comedi: adl_pci9118: change type of pci9118_dmabuf 'virt' member For aesthetics, change the type of this member to avoid the casts when allocating and freeing the DMA buffers. This does introduce a cast in move_block_from_dma() but that cast is cleaner. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f2cbe2c5b8ba5f34e3d6bde5c285b009e6342b4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:38 2014 -0700 staging: comedi: adl_pci9118: introduce struct pci9118_dmabuf For aesthetics, wrap the DMA buffer information in a struct. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 231649a475c3938199f752410dc3ef0944ff37c0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:37 2014 -0700 staging: comedi: adl_pci9118: remove 'dmabuf_used_size' from private data This member of the private data is set but never used. Just remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32502f5aa1cd4772d29eabdce1cf82985edcfadd Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:36 2014 -0700 staging: comedi: adl_pci9118: convert private data true/false flags to bit-fields For aesthetics convert the private data true/false flags to bit-fields. The 'usemux' member is used in the driver as a flag. Refactor the analog input subdevice init so this member can also be a bit-field. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f463b8c08067f58eee5352a5822e67f5fe7360f5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:35 2014 -0700 staging: comedi: adl_pci9118: remove 'dmabuf_panic_size' from private data This member of the private data is only used in some #if 0'ed code. Remove it along with the unused code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 006e81e2bb06812bf6b0917d19c7f1ae1bbfcd3c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:34 2014 -0700 staging: comedi: adl_pci9118: remove PCI9118_PARANOIDCHECK code The comment states that paramoid checks are broken. They also would only work for 12-bit analog input samples. Instead of fixing the paranoid checking just remove it to simplify the driver a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45ada8e85c1c2c434256dcd54fb80450ed956ea6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:33 2014 -0700 staging: comedi: adl_pci9118: do cfc_handle_events() at end of interrupt Each of the error detections currently do a cfc_handle_events() and exits the interrupt handler if the error is detected. The DMA and non-DMA handlers also to a cfc_handle_events(). For aesthetics, use goto to exit the interrupt handler if an error is detected and move the cfc_handle_events() call to the end of the interrupt. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f16a7b85168af1dc6621a7edb7925fca577e1017 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:32 2014 -0700 staging: comedi: adl_pci9118: handle hardware errors in interrupt handler Hardware errors will now always terminate an async command. For aesthetics, absorb pci9118_decode_error_status() into the interrupt handler and use the register map defines to remove the "magic" numbers. Refactor the code to set the appropriate comedi event bits and handle the event. Remove the unnecessary 'ai_maskerr' and 'ai_maskharderr' members from the private data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fed2c8406016f04b0d35b87c4aec77f4f0b7609b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:31 2014 -0700 staging: comedi: adl_pci9118: handle error detection in main interrupt handler The DMA and non-DMA both check the analog input status value to detect hardware errors. For aesthetics, move the this detection into the main interrupt handler. This allows removing the unused 'int_adstat' parameter from the DMA and non-DMA handlers. In addition, the 'int_daq' parameter is also not used so remove it also. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 318141a18f7337338451512cc37ada3bf0a22ae6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:30 2014 -0700 staging: comedi: adl_pci9118: handle master/target abort in main interrupt handler For aesthetics, move the master/target abort detection from the DMA handler to the main interrupt handler. This allows removing the unused 'int_amcc' parameter from the DMA and non-DMA handlers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e5314851a87ebf0ed4cfed100fd984b22111962 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:29 2014 -0700 staging: comedi: adl_pci9118: don't ignore hardware errors The legacy (*attach) currently allows the user to pass a mask of error conditions to ignore when running async commands. Remove this support so that the async command is always terminated if the hardware reports an error. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb578327814da1d9c91dc22c3e3f9a3ed6d7c40b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:28 2014 -0700 staging: comedi: adl_pci9118: always try to use interrupt and DMA This driver currently supports both the (*auto_attach) and legacy (*attach) mechanisms. The (*auto_attach) always tries to use the interrupt and DMA to support async commands with the analog input subdevice. The legacy (*attach) only enables them depending on a user option that is passed to the (*attach). The 'default' (i.e. option == 0) is to enable both the interrupt and DMA. Simplify the attach by always trying to enable the interrupt and DMA. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cf6b36768db5770c3faf4cb5864926142b069fc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:27 2014 -0700 staging: comedi: adl_pci9118: DMA requires an interrupt In order for DMA to work we also need an interrupt. Refactor the code so that the DMA allocation is only done if the interrupt is available. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9ca5508bc39462ee2e1988a23021d8fb1cadd6b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:26 2014 -0700 staging: comedi: adl_pci9118: factor out DMA alloc/free For aesthetics, factor the DMA allocation/free code out of the attach and detach functions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 957b9f8b41473f113c64ca234120de52d8bf59f8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:57 2014 +0100 staging: comedi: vmk80xx: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 723b68a9f87f1387df9a0c7aada1fecb888b6509 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:56 2014 +0100 staging: comedi: rti800: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3afadfa542eb24c07331952a26626e8621c45060 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:55 2014 +0100 staging: comedi: rtd520: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bb221694eb419c3dcbe665cbc77c5dd70f447f8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:54 2014 +0100 staging: comedi: pcmuio: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3230e42a7116279c66d11ecf2f017ed490107741 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:53 2014 +0100 staging: comedi: pcmad: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc453864d6124603af8e3600650304d9b9643586 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:52 2014 +0100 staging: comedi: pcl818: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79c9f68f55b4d539e61bc8ca4bb1eb556e049d94 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:51 2014 +0100 staging: comedi: pcl816: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7c9874b93e475882697c3758f13b1fbc58ff691 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:50 2014 +0100 staging: comedi: pcl812: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81fec905f1f82c8d0f94ae998b6d5eed20c5c788 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:49 2014 +0100 staging: comedi: pcl730: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 334e2f59b04ed2493fba7a1df3aeb55a4c3883e9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:48 2014 +0100 staging: comedi: pcl726: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 411b6f89198fa49a5912da388306cf54a1ad1048 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:47 2014 +0100 staging: comedi: pcl724: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b825f6c31682a0f9f0992c45f12a296a7df43346 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:46 2014 +0100 staging: comedi: pcl711: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 068be4998bc72ab98e67e85d1b31b554d93ed27d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:45 2014 +0100 staging: comedi: ni_pcimio: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cf94adc51174bdec291a5c6cacb51b93d5cf847 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:44 2014 +0100 staging: comedi: ni_mio_common: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 765c8b03d7e7cd7f22e7233b01e4d3b68d656c61 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:43 2014 +0100 staging: comedi: ni_labpc_isadma: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cf27116e3650ca3f933d5689ee1065e0eb522e2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:42 2014 +0100 staging: comedi: ni_labpc_common: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af169cf1e215e213e8616774fc018547fabbbb26 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:41 2014 +0100 staging: comedi: ni_atmio: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 967b3eb2218b0962cf491e36c7d6130be3cb2b05 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:40 2014 +0100 staging: comedi: ni_atmio16d: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ec68b505a24049853e347b3b532f86b62342dd9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:39 2014 +0100 staging: comedi: ni_at_ao: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02cf9703e183424c0a1766b9581daa433ce342d2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:38 2014 +0100 staging: comedi: ni_at_a2150: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da8e2a52bed99beca82e3d69566e6d31f0f020f0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:37 2014 +0100 staging: comedi: ni_660x: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 369f87fadd8041eea33dcd2ce3c57be6c3010162 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:36 2014 +0100 staging: comedi: ni_65xx: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acaf8a5d40956d937c666c06adf9edaa5726303e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:35 2014 +0100 staging: comedi: me4000: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3972570c358a7de90dcba83b711d4b8a0b271ec Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:34 2014 +0100 staging: comedi: dt3000: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4759d39e25cf8858e66608cee04f29910225e11 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:33 2014 +0100 staging: comedi: dt282x: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5a74074d3401028fa09dfeaee12d38e2dae0075 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:32 2014 +0100 staging: comedi: dt2811: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36ecf0039662f5dc70fb9ce5f4724d60c23bd19d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:31 2014 +0100 staging: comedi: dt2801: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b77930940d2a3b9d69cbe1b637159bab6a1ade25 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:30 2014 +0100 staging: comedi: das800: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19924ce0c1fab868671d2fb845e402ab1bd848e3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:29 2014 +0100 staging: comedi: das6402: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0dd99bd12d883062d42cd2a912175b0525974da Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:28 2014 +0100 staging: comedi: das1800: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a5bd23d9e91a5d410c9fe9a449464efe69ccf03 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:27 2014 +0100 staging: comedi: das16: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c86b98a249a6a613c7b3b9784d82d18c4aa960ec Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:26 2014 +0100 staging: comedi: das08_isa: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fad0eb2f4208bdfec09153a736390d73c5c4c3c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:25 2014 +0100 staging: comedi: das08: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa8e8c8b4f5b3f3d57b75817a4a3b54cb9fac596 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:24 2014 +0100 staging: comedi: cb_pcidas: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bc86feba44f243900b522a4c7295dea00c51d41 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:23 2014 +0100 staging: comedi: cb_pcidas64: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e857c7ca7e2e2e4b2f58353d83648a1f2b8e6f54 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:22 2014 +0100 staging: comedi: amplc_pci230: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b417436aaa2f6d64d39f2be8338bb7a096f24bc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:21 2014 +0100 staging: comedi: amplc_pci224: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 280f7a4c4f1ce828b3347b079a7fcd99c0d2adad Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:20 2014 +0100 staging: comedi: amplc_pc236_common: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b37e1d6eebe4cb22ecf6ee489c8e223f512a08ef Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:18 2014 +0100 staging: comedi: aio_aio12_8: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb5c7f9388540ae68609bbeaa5020f54f29c3bd3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:17 2014 +0100 staging: comedi: adv_pci_dio: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4be15551848773fd1b623dca3fbb6f7cab76054b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:16 2014 +0100 staging: comedi: adv_pci1710: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef97126fd0f04f55e17d8beb409a6ffc9741f3dc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:14 2014 +0100 staging: comedi: addi_apci_3xxx: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db2d623bf0ff73b7d4a72a474f2276da5fe886d1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:13 2014 +0100 staging: comedi: addi_apci_3120: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8eae1303ac2b8ae5b6cc381d527b9a83440621d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:12 2014 +0100 staging: comedi: addi_apci_1516: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 664fce451e53ba521cbec59d36000dd1b5116ba6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:11 2014 +0100 staging: comedi: addi_eeprom: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01a0312256ff24e9d9b481e2eb816803d1d40071 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:10 2014 +0100 staging: comedi: addi_common: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9298b815efe500b272e4084ed05eeae7a92b5340 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Sep 11 14:15:24 2014 -0700 x86: Add more disabled features The original motivation for these patches was for an Intel CPU feature called MPX. The patch to add a disabled feature for it will go in with the other parts of the support. But, in the meantime, there are a few other features than MPX that we can make assumptions about at compile-time based on compile options. Add them to disabled-features.h and check them with cpu_feature_enabled(). Note that this gets rid of the last things that needed an #ifdef CONFIG_X86_64 in cpufeature.h. Yay! Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140911211524.C0EC332A@xxxxxxxxxxxxxxxxxx Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 381aa07a9b4e1f82969203e9e4863da2a157781d Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Sep 11 14:15:13 2014 -0700 x86: Introduce disabled-features I believe the REQUIRED_MASK aproach was taken so that it was easier to consult in assembly (arch/x86/kernel/verify_cpu.S). DISABLED_MASK does not have the same restriction, but I implemented it the same way for consistency. We have a REQUIRED_MASK... which does two things: 1. Keeps a list of cpuid bits to check in very early boot and refuse to boot if those are not present. 2. Consulted during cpu_has() checks, which allows us to optimize out things at compile-time. In other words, if we *KNOW* we will not boot with the feature off, then we can safely assume that it will be present forever. But, we don't have a similar mechanism for CPU features which may be present but that we know we will not use. We simply use our existing mechanisms to repeatedly check the status of the bit at runtime (well, the alternatives patching helps here but it does not provide compile-time optimization). Adding a feature to disabled-features.h allows the bit to be checked via a new macro: cpu_feature_enabled(). Note that for features in DISABLED_MASK, checks with this macro have all of the benefits of an #ifdef. Before, we would have done this in a header: #ifdef CONFIG_X86_INTEL_MPX #define cpu_has_mpx cpu_has(X86_FEATURE_MPX) #else #define cpu_has_mpx 0 #endif and this in the code: if (cpu_has_mpx) do_some_mpx_thing(); Now, just add your feature to DISABLED_MASK and you can do this everywhere, and get the same benefits you would have from #ifdefs: if (cpu_feature_enabled(X86_FEATURE_MPX)) do_some_mpx_thing(); We need a new function and *not* a modification to cpu_has() because there are cases where we actually need to check the CPU itself, despite what features the kernel supports. The best example of this is a hypervisor which has no control over what features its guests are using and where the guest does not depend on the host for support. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140911211513.9E35E931@xxxxxxxxxxxxxxxxxx Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit c8128cceb4f4b02c53096cb173628184c7e9bc36 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Sep 11 14:15:11 2014 -0700 x86: Axe the lightly-used cpu_has_pae cpu_has_pae is only referenced in one place: the X86_32 kexec code (in a file not even built on 64-bit). It hardly warrants its own macro, or the trouble we go to ensuring that it can't be called in X86_64 code. Axe the macro and replace it with a direct cpu feature check. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140911211511.AD76E774@xxxxxxxxxxxxxxxxxx Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 4a5c969411ded8f5c5a5c7248855e3c0be565f50 Merge: 2a3b60d 2eb671c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 14:27:19 2014 -0700 Merge tag 'ipu-for-staging-3.18' of git://git.pengutronix.de/git/pza/linux into work-next Philipp writes: IPUv3 CPMEM API change across staging and drm commit 87df8ac3d2e4f47f3d24e6038110feebbe8954cf Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Sep 11 14:53:31 2014 +0200 Revert "usb: dwc2: move "samsung,s3c6400-hsotg" into common platform" This reverts commit 8df438571cdbd5c4fcd1b25b19eea1ad5c3cf777. This patch breaks building dwc2 driver in gadget mode at samsung platforms. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd6860979522ceaaaa4d706790a880832f0d50ba Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Sep 11 14:53:30 2014 +0200 Revert "usb: dwc2: Update Kconfig to support dual-role" This reverts commit e006fee6ecfed5b957bdd41c236aad751ab29042. This patch causes build break. Modifications in Makefile and Kconfig have no connection with driver code. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adb43b24ec12a008656dcca831ab835a94261963 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 4 12:36:45 2014 +0200 ath10k: fix debugfs_create_dir() checking The function may return an -ENODEV if debugfs is disabled in kernel. This should originally be guarded by ath10k's Kconfig but it still makes sense to check for the non-NULL errno return value. Reported-by: Matteo Croce <matteo@xxxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d5aebc77b47f9e0a2b465fbcf77bde033a231c24 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Wed Sep 10 18:59:28 2014 +0300 ath10k: support firmware crash-by-assert 10.1 firmware does not have an official way to cause assert on purpose, but it can be done with carefully crafted WMI command. This is a different kind of crash from the 'hard' crash, which is a bad memory dereference. Different crashes decode in different manners, so this will help the crash-report testing as well as offer better ways to test firmware failure and recovery. kvalo: move the wmi command creation to debug.c, modify the info print Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 43d2a30fa80166243498fc6b8c841828ce52fcc1 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 18:23:30 2014 +0300 ath10k: add testmode Add testmode interface for starting and using UTF firmware which is used to run factory tests. This is implemented by adding new state ATH10K_STATE_UTF and user space can enable this state with ATH10K_TM_CMD_UTF_START command. To go back to normal mode user space can send ATH10K_TM_CMD_UTF_STOP. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 666a73f327d5a8fec58bbfedb36ae545862f479e Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 18:23:23 2014 +0300 ath10k: make ath10k_wmi_cmd_send() public We need this function to send wmi packets from testmode.c. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 55601c9f24670ba926ebdd4d712ac3b177232330 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:58 2014 -0700 arm: omap: intc: switch over to linear irq domain now that we don't need to support legacy board-files, we can completely switch over to a linear irq domain and make use of irq_alloc_domain_generic_chips() to allocate all generic irq chips for us. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d6a7c5c84f5ddab54717914ad293ed9d99d644ff Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:57 2014 -0700 arm: omap: irq: get rid of ifdef hack we don't need the ifdef if we have omap_nr_pending telling us how many pending registers we have on current platform. This solves a possible problem where we could try to handle bogus interrupts on OMAP2 and OMAP3 if using single zImage kernel, because we would end up reading the following pending FIQ register. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 52b1e1291334d79bb3d2fcaec15f7fc42eedbd83 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:57 2014 -0700 arm: omap: irq: introduce omap_nr_pending that variable will tell us how many INTC_PENDING_IRQn registers we have. It'll be used on a following patch to cleanup omap_intc_handle_irq() a bit. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a74f0a176e3e048df78816ec383b219f8ac6867e Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:55 2014 -0700 arm: omap: irq: remove nr_irqs argument we can set our global omap_nr_irqs early on and drop the extra argument to omap_init_irq(). Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3384f86fe5c1074fddabeeeed72e413eb28f0fcf Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:54 2014 -0700 arm: omap: irq: remove unnecessary header There's no need for that header to be included. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2aced8924638104d1e09ebb86f87f6ca265d325b Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:52 2014 -0700 arm: omap: irq: drop omap2_intc_handle_irq() that was just a no-op wrapper around omap_intc_handle_irq anyway. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 05f1e7387c21b7075bed6ae7e7412435a7002fe4 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:52 2014 -0700 arm: omap: irq: drop omap3_intc_handle_irq() now that we're calling set_handle_irq() from init_irq(), we can safely drop all callers to omap3_intc_handle_irq() and its definition. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit be0a768596a204af6f124bffc2588457c18375fd Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:52 2014 -0700 arm: omap: irq: call set_handle_irq() from .init_irq the idea is that board-files won't need to set .handle_irq on their machine_descs, which lets us drop a little more pointless code. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a4d3c5d91fd109dd852351193781352f0512d0c3 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:51 2014 -0700 arm: omap: irq: move some more code around We want .init_irq to call set_irq_handle() for legacy platforms. Note that this code will also be dropped once omap2/3 devices are completely moved to DT. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c2fb3b33f279a6f798b5bbb7fde7cfcdf9401039 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:49 2014 -0700 arm: boot: dts: omap2/3/am33xx: drop ti,intc-size we are now infering number of IRQ lines based on correct compatible flag, which renders this binding completely useless. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a05d92b0940d4b96c44ed42402acc242c16fa9b5 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:48 2014 -0700 arm: omap: irq: drop ti,intc-size support we don't need that anymore since specific devices are passing correct compatible flags. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit cab82b76f30cecfc09eeeb8a7b1bb78de2e0dadc Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:48 2014 -0700 arm: boot: dts: am33xx/omap3: fix intc compatible flag that way, our intc driver can figure out how many IRQ lines INTC has. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 470f30deaeb870dcc65d2357fbb675deb3e779de Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:47 2014 -0700 arm: omap: irq: use compatible flag to figure out number of IRQ lines so far, only am33xx has 128 lines, all other devices have only 96. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a35db9a4cb800f343cd4bbfeeb6568807a16aad8 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:46 2014 -0700 arm: omap: irq: add specific compatibles for omap3 and am33xx devices with this, we can use a compatible flag to figure out how many irq lines are wired up, no need for our TI-specific ti,intc-size binding. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e66c49b515aa4cbd621a4844f980ff487327aa7d Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:45 2014 -0700 arm: omap: irq: drop .handle_irq and .init_irq fields now we can safely drop those fields from our machine_desc. While at that, also drop the now unused omap_intc_of_init() definition. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b65ecd46125929941076e7af77b5e685a332c33c Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:43 2014 -0700 arm: omap: irq: use IRQCHIP_DECLARE macro IRQCHIP_DECLARE macro is used to declare the same of_device_id structure for irqchips, it's just a helper. No functional changes. Note that we're temporarily including irqchip.h with its full path, until we move this driver to drivers/irqchip/. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b15c76b74896f1a2c60fff13fdf20d07468de323 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:43 2014 -0700 arm: omap: irq: call set_handle_irq() from intc_of_init this will let us drop .handle_irq and .init_irq fields from our generic machine_descs. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 00b6b031ab527afa2981bdffea7752279a290c26 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:43 2014 -0700 arm: omap: irq: make intc_of_init static nobody uses that function outside of this file, so we don't need to expose it. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 131b48c061726d4ac98f70a2beae35280a8de5cf Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:42 2014 -0700 arm: omap: irq: reorganize code a little bit no functional changes, just moving code around. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f8cc9eaf26dc026f134996a0cc6e1d1ce157ce9c Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:40 2014 -0700 arm: omap: irq: always define omap3 support remove ifdef around omap3 INTC support. This will make it easier to reuse code for PM. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 272a8b04aba793347476ed768c5a2fe4fce046f9 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:38 2014 -0700 arm: omap: irq: rename omap3_intc_regs just to make it clearer that it can be used on all omaps. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d1e66d69616db9325f397e004c54042622d48e83 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:37 2014 -0700 arm: omap: irq: remove unnecessary base_addr argument omap_intc_handle_irq now had an unnecessary base_addr argument. Let's remove it and fix all callers. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1198365625bf22294263267df3360cb2a4c76f2d Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:37 2014 -0700 arm: omap: irq: switch over to intc_readl on omap_intc_handle_irq an almost blind conversion from readl_relaxed to our newly introduced intc_readl(). While at that, also remove some hardcoded register addresses. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 33ca0be0836c834ceba12761b506ff73cf46a376 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:37 2014 -0700 arm: omap: irq: remove unused macro no functional changes. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a88ab43083c6f3cb518f63cc5f53d8304092efc0 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:35 2014 -0700 arm: omap: irq: remove rest of irq_banks usage now we can finally remove the pointless irq_banks array. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 421b090c83280f9f47d7c2532a6a0ba35446d6b1 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:34 2014 -0700 arm: omap: irq: add a global omap_nr_irqs variable this will cache number of irqs. Also in preparation for removal of irq_banks array. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 71be00c90aba446779ea35a9740973a9be594257 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:32 2014 -0700 arm: omap: irq: start to remove irq_banks array We have a single bank in that array, this patch is in preparation to remove that array. It just shifts everything to a new set of functions for register IO while also removing old ones. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 33c7c7b7f2eb76520cd8ddcb7fe458383783e0f8 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:32 2014 -0700 arm: omap: irq: define INTC_ILR0 register this is currently used as a hardcoded 0x100 offset. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 176da6c766ce3d5d8c88a7afdaefcc5fd6d8afac Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:31 2014 -0700 arm: omap: irq: make omap_irq_base global This is in preparation for removing the pointless irq_banks array. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 051c544010cf089ca6b8a229546bb7ec2950a54d Merge: 5081ce6 3195760 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 11 13:03:25 2014 -0700 Merge branch 'omap-for-v3.18/fixes-not-urgent' into omap-for-v3.18/intc-v2 commit 31957609db529d401658adc2e91ef7df7ea42699 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 10 10:26:17 2014 +0200 ARM: OMAP2+: make of_device_ids const of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. So mark the non-const function parameters and structs for OMAP2+ as const, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 58cda01ed18945c17ad858dfcf4a9a74ba70157c Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Sep 11 21:29:01 2014 +0200 ARM: omap2: make arrays containing machine compatible strings const The definition static const char *omap3_boards_compat[] __initconst = { defines a changable array of constant strings. That is you must not do: *omap3_boards_compat[0] = 'f'; but omap3_boards_compat[0] = "another string"; is fine. So the annotation __initconst is wrong and yields a compiler error when other really const variables are added with __initconst. As the struct machine_desc member dt_compat is declared as const char *const *dt_compat; making the arrays const is the better alternative over changing all annotations to __initdata. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 167bf96dd87d2a8360cb9e9783006876dac4f579 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 19:16:00 2014 +0530 ath9k: Fix beacon miss handling The NoA duration for a GO is half the beacon interval and a concurrent context like a STA can be active only for that duration, before switching back to the GO's operating channel. Currently, when multiple beacons are missed, the dwell time for the STA context is extended to improve the chances of receiving a beacon. But the NoA is not updated and this will cause problems since the GO is offline for a period that is longer than the advertised duration. Fix this by ensuring that the NoA is updated first before extending the time slot for the STA context. Also make sure that non-periodic NoA is used for a one-time, longer absence period. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4899827d39ec913d4e46e77f4537945f3e68dca4 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 19:15:59 2014 +0530 ath9k: Fix channel switch time duration Since the NoA duration is the maximum time the GO interface can be offline, it needs to include the time take to switch channels in the HW. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 124130d766cefe8e6578695bc33bdc121c8cfaf3 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 19:15:58 2014 +0530 ath9k: Clear offchannel duration properly Clearing the offchannel duration value in the scheduler unconditionally breaks NoA when multiple contexts are active and an offchannel request is deferred, for example, in a scan run. Fix this by clearing the duration only if there is no pending offchannel request. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d0975edd59b94d8906008cf3c68020a44cc198c5 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 19:15:57 2014 +0530 ath9k: Fix Notice of Absence issues * The index has to incremented only when advertising a new NoA schedule. * Switch to non-periodic NoA when starting a scan operation and multiple channel contexts are active. * Make sure that periodic NoA is advertised again when scan ends. Since the offchannel timer moves the offchannel state to IDLE after the GO operating channel becomes active, use a flag "force_noa_update" to update the NoA contents. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit cbc775db2e17cc24a9d3b2f14570ec7c1e0923af Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 19:15:56 2014 +0530 ath9k: Assign offchannel duration properly In multi-channel mode, an offchannel request will be deferred if both contexts are active. The duration of the offchannel operation is calculated but is not stored in the scheduler state. Fix this. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 867fa0d49c8f5d3fd5e0138a754321ffa04903aa Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:51 2014 +0300 wil6210: fix PTR_ERR() usage after initialization to constant Reported by coccinelle: tree: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git master head: 6a5d088a923854569e20eac4f3f569926d5911ec commit: b7cde47009640b88cb3629ee7078a43bc2642459 [18/80] wil6210: convert debugfs to the table mode coccinelle warnings: (new ones prefixed by >>) >> drivers/net/wireless/ath/wil6210/debugfs.c:327:17-24: ERROR: PTR_ERR applied after initialization to constant on line 304 vim +327 drivers/net/wireless/ath/wil6210/debugfs.c 298 struct dentry *dbg, void *base, 299 const struct dbg_off * const tbl) 300 { 301 int i; 302 303 for (i = 0; tbl[i].name; i++) { > 304 struct dentry *f = NULL; 305 306 switch (tbl[i].type) { 307 case doff_u32: 308 f = debugfs_create_u32(tbl[i].name, tbl[i].mode, dbg, 309 base + tbl[i].off); 310 break; 311 case doff_x32: 312 f = debugfs_create_x32(tbl[i].name, tbl[i].mode, dbg, 313 base + tbl[i].off); 314 break; 315 case doff_ulong: 316 f = wil_debugfs_create_ulong(tbl[i].name, tbl[i].mode, 317 dbg, base + tbl[i].off); 318 break; 319 case doff_io32: 320 f = wil_debugfs_create_iomem_x32(tbl[i].name, 321 tbl[i].mode, dbg, 322 base + tbl[i].off); 323 break; 324 } 325 if (IS_ERR_OR_NULL(f)) 326 wil_err(wil, "Create file \"%s\": err %ld\n", > 327 tbl[i].name, PTR_ERR(f)); 328 } 329 } 330 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 73d839ae503d591bc0dc802490c00935b19250d1 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:50 2014 +0300 wil6210: fix for oops while stopping interface When interface stopped while running intensive Rx traffic, the following oops observed: [89846.734683] Call trace: [89846.737117] [<ffffffc00083aa64>] dev_gro_receive+0xac/0x358 [89846.742674] [<ffffffc00083ae94>] napi_gro_receive+0x24/0xa4 [89846.748251] [<ffffffbffc1c2f88>] $x+0xec/0x1f8 [wil6210] wil_netif_rx_any [89846.753547] [<ffffffbffc1c4830>] $x+0x34/0x54 [wil6210] wil_release_reorder_frame [89846.758755] [<ffffffbffc1c48ac>] wil_release_reorder_frames+0x5c/0x78 [wil6210] [89846.766044] [<ffffffbffc1c4bf8>] wil_tid_ampdu_rx_free+0x20/0x48 [wil6210] [89846.772901] [<ffffffbffc1bedc8>] $x+0x190/0x1e8 [wil6210] [89846.778285] [<ffffffbffc1c0ed4>] wmi_event_worker+0x230/0x2f8 [wil6210] [89846.784865] [<ffffffc0000b0bc8>] process_one_work+0x278/0x3fc [89846.790591] [<ffffffc0000b1218>] worker_thread+0x200/0x330 [89846.796060] [<ffffffc0000b6664>] kthread+0xac/0xb8 [89846.800836] Code: b940c661 f9406a62 8b010041 f9400026 (f8636882) [89846.807008] ---[ end trace d6fdc17cd27d18f6 ]--- Reason is the following: when removing Rx vring (wil_netdev_ops.ndo_stop -> wil_stop -> wil_down -> __wil_down -> wil_rx_fini), Rx interrupt occurs. It trigger Rx NAPI, calling wil_rx_handle() that reaps (already cleaned) buffer, causing skb referring to garbage memory being set into reorder buffer. Then, network stack trying to access this buffer and fails. Prevent Rx NAPI from being scheduled if device going to stop. Bit wil_status_napi_en reflects NAPI enablement state, check it when triggering Rx NAPI. Testing shows that check for wil_status_napi_en sometimes gets negative, and new error message get printed - in this case kernel oops would be observed. Original oops is no more reproducible. This change requires also changes in the AP flows. Properly enable/disable NAPI for the AP. Make sure Rx VRING is disabled when resetting target. For this, promote __wil_up() and __wil_down() to the module scope, and use it in the relevant flows. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e4dbb093de182bb515821105dcdb8f2268bf6ffc Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:49 2014 +0300 wil6210: rename [en|dis]able irq to [un]mask To better reflect real action performed, rename: s/wil6210_disable_irq/wil_mask_irq/ s/wil6210_enable_irq/wil_unmask_irq/ Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d00a6367d227199de52b37622c984af8a21a2507 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:48 2014 +0300 wil6210: fix typo in comment Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 77c91295ea537e454113297f6f6fbdfb9f3e67fa Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:47 2014 +0300 wil6210: specify max. IE length Expose firmware limit for the max_scan_ie_len; also do actually set IE's for the probe request max_scan_ie_len used to be 0, this blocks scan requests with non-zero IE's Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 595026472eb74e4b57f5389af8b7c588659df243 Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:46 2014 +0300 wil6210: introduce separate completion for WMI re-use of wmi_ready for both FW ready event and for wmi_call was causing false "FW not ready" indication in case wmi_call() was invoked while reset took place. add wmi_call completion variable instead of re-using wmi_ready. Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e0106adade2dd16fb776f53f25ffe50da0793f3d Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:45 2014 +0300 wil6210: enlarge TX/RX buffer length HW supports upto 2304 packet size on the air. HW is responsible for adding (Tx) or removing (Rx) the following headers: 802.11 hdr: 26B SNAP: 8B CRC: 4B Security (optional): 24B HW adds max 62B to the payload passed from driver. It means driver can use max packet size of 2304-62 = 2242B Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1bd922fce29168b8a7d5b53c7be89de87381896b Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:44 2014 +0300 wil6210: add change_beacon() driver callback This allows updating IEs (e.g. from hostapd) when AP is already started Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ac4acdb7af7b5f1f197e7c3fdce13b6aa72c29c6 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:43 2014 +0300 wil6210: send connect request IEs to FW also for non-secure connection Driver is sending connect request IEs to FW only for secure connection and ignores them for non-secure connection. This is fixed by always sending the IEs to FW upon connect request Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ec81b5adf42e02560b3b05a0c8897451cd3d8b29 Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:42 2014 +0300 wil6210: fix race condition between BACK event and Rx data While handling Rx packet, BACK event arrives and frees tid_ampdu_rx array. This causes kernel panic while accessing already freed spinlock The fix is to remove tid_ampdu_rx[]'s spinlock and instead use single sta's spinlock to guard the whole tid_ampdu_rx array. Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4cf99c93d24f9cdd338ab23cd671e949ee6ca1bd Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:41 2014 +0300 wil6210: modify confusing printout When WMI event received when driver not ready to accept it, the printed error message is misleading and hints that HW is stuck. Modify the error message to make it clearer Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8c86f757b1c0a154cb8939b0fff3aaa1ff9b1910 Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:40 2014 +0300 wil6210: fix race condition of disconnect while BACK event This race condition was causing double free of tid_ampdu_rx structures Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 871d8c4bbb0f23c29a21b63b1801071766f69b51 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:39 2014 +0300 wil6210: fix usage of print_hex_dump_debug When CONFIG_DYNAMIC_DEBUG is not defined, print_hex_dump_debug is mapped directly to print_hex_dump which might cause printout to exist all the time Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f172b56309fbc4835b3f258df6865309dc02e80c Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:38 2014 +0300 wil6210: fix for memory corruption upon rmmod Driver disabled PCI master before making sure HW is idle. This caused memory corruption in case HW access system memory after PCI master got disabled. The fix is to change uninit sequence. Make sure FW/HW is idle before disabling PCI Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 69778059734b38ea6f4aa9d31262ad03e77b1b06 Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:37 2014 +0300 wil6210: fix for memory corruption while insmod After setting interrupt handler, driver enabled interrupts. This caused stale (old) HW interrupts to fire before driver is fully initialized. The fix is to enable interrupts only when driver is fully initialized and after FW/HW reset (to prevent any stale interrupts) Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9cf10d623e4fc7d3d8bb6d6ce835e10933b3b114 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:36 2014 +0300 wil6210: add more debug printouts added misc printouts in some init/uninit functions for better traceability Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f772ebfb941a58af9e7adf9117bc0bb4c7d22f28 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:35 2014 +0300 wil6210: platform specific module New module (wil_platform) for handling platform specific tasks Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8fe596274d08b12126b90c5b1092286f66ce6d65 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:34 2014 +0300 wil6210: coding style fixes - parentheses, indentation, typos - seq_puts() instead of seq_printf() with single argument - sizeof(var) vs. sizeof(type) Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 028e1836d3f218619a6e7f04ff1540c398deb727 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:33 2014 +0300 wil6210: some more debug for the WMI mechanism Log worker thread start/stop; as well as every handler invocation Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8ca26163e58bb05d5c1b74778dd21fcee6738f89 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:32 2014 +0300 wil6210: print more information when connecting when connecting, print some info about BSS Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ef77285fc3837edaaa2b2a1e431b662ed8af700a Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:31 2014 +0300 wil6210: debug prints for vring de-allocation Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 151a9706503fe9274254d09742e550466c0b7537 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:30 2014 +0300 wil6210: firmware download Firmware download implemented but is still experimental feature; flag controlling it added, no_fw_load. It is true by default, use no_fw_load=N to activate feature. Reset flows also got some adjustment for the fw download to work Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bc944506551536dca2b85188b34cc2cf556492db Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Sep 10 09:07:13 2014 +0200 b43: HT-PHY: Set MAC frequency to correct values I misunderstood original Broadcom comment and used wrong values. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dbb30ebeefaf01121b32ae6b5baf29524f3a0b30 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Tue Sep 9 15:57:46 2014 -0500 rtlwifi: btcoexist: Fix "always true" warning from commit ed364abffd6e The 0-DAY kernel build testing backend reports the following warning: drivers/net/wireless/rtlwifi/btcoexist/halbtcoutsrc.c:516 halbtc_bitmask_write_1byte() warn: always true condition '(bit_mask != 4294967295) => (0-255 != u32max)' This problem was introduced in commit ed364abffd6e19bec67b7ccda8237213b8b37640, and arises because the caller of halbtc_bitmask_write_1byte() is using a u8 rather than a u32 for the data. Reported-by: Kbuild test robot <kbuild-all@xxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Kbuild test robot <kbuild-all@xxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ea422b2c33c7bf253c5e64c82cfb68363cf40d3f Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Sep 9 21:17:09 2014 +0200 b43: HT-PHY: Complete radio init (add missing entries) Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 28f051f5540091417c5bc05ac2016480d697fd4b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Sep 9 21:17:08 2014 +0200 b43: HT-PHY: Define some regs for 0x2059 radio Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5db4a37bec723d0095f9a0f0ef47b56482bf36c8 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Sep 9 21:17:07 2014 +0200 b43: HT-PHY: Move radio calibration to separated functions Also use b43_radio_wait_value to simplify the code and usleep_range when needed. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 85e6c26fb632dbf3722fa9d2d788cd4f7993c943 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Sep 9 21:17:06 2014 +0200 b43: HT-PHY: Move radio preparation into init function Radio should be prepared only before initialization. We need this to be able to call b43_radio_2059_init conditionally (in the future). This also documents RF control register a bit. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4f4378dead3792d21577739f07869fbd843dab23 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Fri Sep 5 20:19:50 2014 -0700 rtlwifi: fix %d confusingly prefixed with 0x in format strings Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 595a23fe1527261316e28d18cd06ac4b391d7ad1 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Fri Sep 5 20:41:48 2014 -0700 iwl4965: fix %d confusingly prefixed with 0x in format string Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 17fa6e4ecf1ccab5e90db7025cfc9d459774cd3f Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 19:19:47 2014 +0200 ARM: sunxi: Remove sun4i reboot code from mach directory Now that the restart code has been merged in the watchdog driver, we don't need the restart code in the mach-sunxi directory anymore. Remove it entirely. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d27704d1ec2f9ba06247b402c58a6f2febecef78 Author: Suman Anna <s-anna@xxxxxx> Date: Wed Sep 10 14:27:23 2014 -0500 ARM: dts: OMAP2+: Add sub mailboxes device node information The sub-mailbox devices are added to the Mailbox DT nodes on OMAP2420, OMAP2430, OMAP3, AM33xx, AM43xx, OMAP4 and OMAP5 family of SoCs. This data represents the same mailboxes that used to be represented in hwmod attribute data previously. The node name is chosen based on the .name field of omap_mbox_dev_info structure used in the hwmod data. Cc: "Benoît Cousson" <bcousson@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 75288cc66dc478b32e43970dd6913396526504ae Author: Suman Anna <s-anna@xxxxxx> Date: Wed Sep 10 14:20:59 2014 -0500 mailbox/omap: add support for parsing dt devices Logic has been added to the OMAP2+ mailbox code to parse the mailbox dt nodes and construct the different sub-mailboxes associated with the instance. The DT representation of the sub-mailbox devices is different from legacy platform data representation to allow flexibility of interrupt configuration between Tx and Rx fifos (to also possibly allow simplex devices in the future). The DT representation gathers similar information that was being passed previously through the platform data, except for the interrupt type information, which is gathered through driver compatible match data. The non-DT support has to be maintained for now to not break OMAP3 legacy boot, and the legacy-style code will be cleaned up once OMAP3 is also converted to DT-boot only. Cc: Jassi Brar <jassisinghbrar@xxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: Suman Anna <s-anna@xxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d800386343df6fd07264665244b4d6a7ed21abec Author: Suman Anna <s-anna@xxxxxx> Date: Wed Sep 10 14:20:58 2014 -0500 Documentation: dt: add omap mailbox bindings Add the device tree bindings document for OMAP2+ mailbox. Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fe00bcbf8a124980a38ce395ed6422d41be17374 Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Thu Sep 11 18:52:49 2014 +0200 usb: f_fs: replace BUG in dead-code with less serious WARN_ON Even though the BUG() in __ffs_event_add is a dead-code, it is still better to warn rather then crash the system if that code ever gets executed. Reported-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit edb81ca3bf586ad526ee67b245cb87f7c7142a87 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri May 16 20:18:53 2014 +0100 ARM: DT: QCOM: apq8064: Add dma support for sdcc node This patch adds dma support in both sdcc1 and sdcc3 device node. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 045644ffe618f140791643aa8b78ad2587e8de0f Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Apr 29 08:33:52 2014 +0100 ARM: DT: apq8064: Add sdcc support via mcci driver. This patch adds support to SD card controller using generic pl180 mmci driver. This patch also adds temporary fixed regulator to get it going till the actual regulator is mainlined. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 3fe5e3cee0662a6114d19b4d7e05c7463c85e212 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 16 13:49:43 2014 -0700 ARM: dts: qcom: Add 8064 multimedia clock controller node Add the mmcc node so that we can probe and use the multimedia clocks on apq8064. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit cd6dd11a23e1b4d630c6fe517b74a44ed7c54ab9 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Aug 29 20:00:57 2014 +0530 ARM: DT: APQ8064: Add node for ps_hold function in pinctrl This patch adds DT support to configure GPIO_78 as function ps_hold on apq8064. CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: devicetree@xxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 8b8936fc358f830e514bafdebe109e06a4a7aabd Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Aug 29 20:00:56 2014 +0530 ARM: DT: APQ8064: Add pinctrl support This patch adds device tree nodes to support pinctrl for apq8064 SOC CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: devicetree@xxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 44980b284d389121161a4d8cad5b08d4c0b78abd Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Wed Sep 3 19:28:15 2014 +0300 ARM: dts: qcom: Add TLMM DT node for APQ8084 This patch adds the TLMM node for the APQ8084 platform. Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 66c04e30f4a6e6ed998a6c154a6c45b3cd5b3fde Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Wed Sep 3 19:50:31 2014 +0300 ARM: dts: qcom: Add initial IFC6540 board device tree Add basic support for the IFC6540 single-board computer boards, that are based on the APQ8084 SoC. This patch adds the initial device tree and the neccessary nodes required for enabling the serial port and eMMC. Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 94ae991d63805b39baffacee0e8f25ddce0e83bc Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 24 14:03:54 2014 -0700 ARM: dts: msm: Add 8058 PMIC to ssbi bus Add the PMIC and the sub-devices that are currently supported in the kernel to the DT. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit fa410c099d9688ca06a9e46df8b2edf183487935 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 24 14:03:53 2014 -0700 ARM: dts: msm: Add 8921 PMIC to ssbi bus Add the PMIC and the sub-devices that are currently supported in the kernel to the DT. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 684de5748660e16e185754697ac0afa9e18297f6 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Thu Sep 11 11:45:12 2014 -0400 ext4: don't keep using page if inline conversion fails If inline->extent conversion fails (most probably due to ENOSPC) and we release the temporary page that we allocated to transfer the file contents, don't keep using the page pointer after releasing the page. This occasionally leads to complaints about evicting locked pages or hangs when blocksize > pagesize, because it's possible for the page to get reallocated elsewhere in the meantime. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Cc: Tao Ma <tm@xxxxxx> commit df4763bea5b04d8eed941cfe3df51f22cfe95570 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Thu Sep 11 11:44:36 2014 -0400 ext4: validate external journal superblock checksum If the external journal device has metadata_csum enabled, verify that the superblock checksum matches the block before we try to mount. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit feb8c6d3dd0f2cc0e1c3376d099cf298c5f2c2c8 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Thu Sep 11 11:38:21 2014 -0400 jbd2: fix journal checksum feature flag handling Clear all three journal checksum feature flags before turning on whichever journal checksum options we want. Rearrange the error checking so that newer flags get complained about first. Reported-by: TR Reardon <thomas_reardon@xxxxxxxxxxx> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b207892b061da7608878e273ae22ba9bf9be264b Merge: 018a17b a516440 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Sep 11 09:31:18 2014 -0600 Merge branch 'for-linus' into for-3.18/core A bit of churn on the for-linus side that would be nice to have in the core bits for 3.18, so pull it in to catch us up and make forward progress easier. Signed-off-by: Jens Axboe <axboe@xxxxxx> Conflicts: block/scsi_ioctl.c commit c7f725435adcf2ade4b9152ee33339d28f4cc330 Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Thu Sep 11 11:27:58 2014 -0400 ext4: provide separate operations for sysfs feature files Currently sysfs feature files uses ext4_attr_ops as the file operations to show/store data. However the feature files is not supposed to contain any data at all, the sole existence of the file means that the module support the feature. Moreover, none of the sysfs feature attributes actually register show/store functions so that would not be a problem. However if a sysfs feature attribute register a show or store function we might be in trouble because the kobject in this case is _not_ embedded in the ext4_sb_info structure as ext4_attr_show/store expect. So just to be safe, provide separate empty sysfs_ops to use in ext4_feat_ktype. This might safe us from potential problems in the future. As a bonus we can "store" something more descriptive than nothing in the files, so let it contain "enabled" to make it clear that the feature is really present in the module. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 52c198c6820f68b6fbe1d83f76e34a82bf736024 Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Thu Sep 11 11:18:13 2014 -0400 ext4: add sysfs entry showing whether the fs contains errors Currently there is no easy way to tell that the mounted file system contains errors other than checking for log messages, or reading the information directly from superblock. This patch adds new sysfs entries: errors_count (number of fs errors we encounter) first_error_time (unix timestamp for the first error we see) last_error_time (unix timestamp for the last error we see) If the file system is not marked as containing errors then any of the file will return 0. Otherwise it will contain valid information. More details about the errors should as always be found in the logs. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit a2d4a646e619541e803fb52636964df39aed94b7 Author: Jan Kara <jack@xxxxxxx> Date: Thu Sep 11 11:15:15 2014 -0400 ext4: don't use MAXQUOTAS value MAXQUOTAS value defines maximum number of quota types VFS supports. This isn't necessarily the number of types ext4 supports. Although ext4 will support project quotas, use ext4 private definition for consistency with other filesystems. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f0c63124a6165792f6e37e4b5983792d009e1ce8 Author: Christoph Hellwig <hch@xxxxxx> Date: Sun Sep 7 12:15:52 2014 -0700 nfsd: update mtime on truncate This fixes a failure in xfstests generic/313 because nfs doesn't update mtime on a truncate. The protocol requires this to be done implicity for a size changing setattr. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 39e393bb4f653d38aea40190e1aa9a49062eed4d Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 11 11:02:39 2014 +0200 netfilter: nf_tables: add NFTA_MASQ_UNSPEC to nft_masq_attributes To keep this consistent with other nft_*_attributes. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 67981fefb20e717cea55b42f9081a833fa46b3be Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 11 16:55:04 2014 +0200 netfilter: fix compilation of masquerading without IP_NF_TARGET_MASQUERADE CONFIG_NF_NAT_MASQUERADE_IPV6=m # CONFIG_IP6_NF_TARGET_MASQUERADE is not set results in: net/ipv6/netfilter/nf_nat_masquerade_ipv6.c: In function â??nf_nat_masquerade_ipv6â??: net/ipv6/netfilter/nf_nat_masquerade_ipv6.c:41:14: error: â??struct nf_conn_natâ?? has no member named â??masq_indexâ?? nfct_nat(ct)->masq_index = out->ifindex; ^ net/ipv6/netfilter/nf_nat_masquerade_ipv6.c: In function â??device_cmpâ??: net/ipv6/netfilter/nf_nat_masquerade_ipv6.c:61:12: error: â??const struct nf_conn_natâ?? has no member named â??masq_indexâ?? return nat->masq_index == (int)(long)ifindex; ^ net/ipv6/netfilter/nf_nat_masquerade_ipv6.c:62:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make[3]: *** [net/ipv6/netfilter/nf_nat_masquerade_ipv6.o] Error 1 Fix this by using the new NF_NAT_MASQUERADE_IPV4 and _IPV6 symbols in include/net/netfilter/nf_nat.h. Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 298593b609ecbf9e8a99e8a41c8c46acb3528468 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 4 20:01:54 2014 +0200 drm/radeon: allow concurrent buffer reads Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 57d20a43c9b30663bdbacde8294a902edef35a84 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 4 20:01:53 2014 +0200 drm/radeon: add the infrastructure for concurrent buffer access This allows us to specify if we want to sync to the shared fences of a reservation object or not. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ae9c0af2c0ea92e57013ab2dd7271ba7d6b2a833 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 4 20:01:52 2014 +0200 drm/ttm: allow fence to be added as shared This patch adds a new flag to the ttm_validate_buffer list to add the fence as shared to the reservation object. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 590001c229e86a0adab4a61a6d668940d7ce5299 Author: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Date: Thu Sep 11 14:29:13 2014 +0200 drbd: Add missing newline in resync progress display in /proc/drbd Was broken in 2010 with commit 4b0715f096 Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 729e8b87bac63dee09302ddffc05a7ba0e50c9ad Author: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Date: Thu Sep 11 14:29:12 2014 +0200 drbd: reduce lock contention in drbd_worker The worker may now dequeue work items in batches. This should reduce lock contention during busy periods. Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit abde9cc6a59cb7f07fda4c77fee2150314e423fa Author: Lars Ellenberg <lars@xxxxxxxxxx> Date: Thu Sep 11 14:29:11 2014 +0200 drbd: Improve asender performance Shorten receive path in the asender thread. Reduces CPU utilisation of asender when receiving packets, and with that increases IOPs. Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b47a06d10561bfe7317b1355b4b8e4168fc6b4b7 Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Date: Thu Sep 11 14:29:10 2014 +0200 drbd: Get rid of the WORK_PENDING macro This macro doesn't add any value; just use test_bit() instead. Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d1b8085356391d1d5151670ab96baae6234d1e20 Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Date: Thu Sep 11 14:29:09 2014 +0200 drbd: Get rid of the __no_warn and __cond_lock macros These macros can easily be replaced with its definition. Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8d4ba3f0fa53044b8b597caaa7d8e291e6e84642 Author: Andreas Gruenbacher <agruen@xxxxxxxxxx> Date: Thu Sep 11 14:29:08 2014 +0200 drbd: Avoid inconsistent locking warning request_timer_fn() takes resource->req_lock via the device and releases it via the connection. Avoid this as it is confusing static code checkers. Reported-by: "Dan Carpenter" <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andreas Gruenbacher <agruen@xxxxxxxxxx> Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f0c21e622869b101da098db57d61aba737621402 Author: Philipp Marek <philipp.marek@xxxxxxxxxx> Date: Thu Sep 11 14:29:07 2014 +0200 drbd: Remove superfluous newline from "resync_extents" debugfs entry. See "drbd/resources/*/volumes/*/resync_extents". Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ed15b795092637f61c08fd21dc011b5334d7974c Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Date: Thu Sep 11 14:29:06 2014 +0200 drbd: Use consistent names for all the bi_end_io callbacks Now they follow the _endio naming sheme. Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 11f8b2b69d32d43a6d9b45c60c1fee48ab91f440 Author: Andreas Gruenbacher <agruen@xxxxxxxxxx> Date: Thu Sep 11 14:29:05 2014 +0200 drbd: Use better variable names Rename local variable 'ds' to 'disk_state' or 'data_size'. 'dgs' to 'digest_size' Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 336879b1da97fffc097f77c6d6f818660f2826f0 Merge: 3d3cbd8 fdcaa1d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 11 14:46:53 2014 +0200 Merge remote-tracking branch 'airlied/drm-next' into topic/vblank-rework Dave asked me to do the backmerge before sending him the revised pull request, so here we go. Nothing fancy in the conflicts, just a few things changed right next to each another. Conflicts: drivers/gpu/drm/drm_irq.c Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 81965f1f58ce120a616f2fdd0594916fa183c5fc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 14:22:03 2014 +0200 ALSA: hda - Make snd_hda_jack_tbl_new() static It's called only in hda_jack.c, so make it local. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 62f949bf6bf6ceb44872c44ef3913a96d93fb5d4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 14:06:53 2014 +0200 ALSA: hda - Get rid of action field from struct hda_jack_tbl The action value assigned to each hda_jack_tbl entry is mostly superfluous. The actually used values are either the widget NID or a value specific to the callback. The former case can be simply replaced by a reference to widget NID itself. The only place doing the latter is STAC/IDT codec driver for the powermap handling. But, the code doesn't need to check the action field at all -- the function jack_update_power() is called either with a specific pin or with NULL. So the check of jack->action can be removed completely there, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 998052b74574699bdd1e451b6556e4d7667a7a4e Merge: e7e6926 7a9744c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 13:43:16 2014 +0200 Merge branch 'for-linus' into for-next Merging for-linus branch for syncing the latest STAC/IDT codec changes to be affected by the upcoming hda-jack rewrites. commit 3d3cbd84300e7be1e53083cac0f6f9c12978ecb4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 17:36:11 2014 +0200 drm: Clarify vblank ts/scanoutpos sampling #defines I've read INVBL as "invalid backlight" and got mightly confused. The #defines are already fairly long and we can afford to extend them a bit more without resulting in ugly code all over. I'm not sure how useful the complicated bitmask return value of these functions really are since no one checks them. But for now let's keep things as is. Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fb446a1acdb981921de06bfde3a2178da7174481 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 17:36:10 2014 +0200 drm: Simplify return value of drm_get_last_vbltimestamp Imo u32 hints at a register value, but in reality all callers only care whether the sampled timestamp is precise or not. So give them just a bool. Also move the declaration out of drmP.h, it's only used in drm_irq.c. v2: Also drop the EXPORT_SYMBOL, spotted by Mario. Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 0d8614b4b926d0f657d15d7eb5125bcb24b9fd41 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 10 14:07:36 2014 +0300 mac80211: replace SMPS hw flags with wiphy feature bits Use the new static_smps / dynamic_smps feature bits instead of mac80211-internal hw flags. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f69931748730763f8c8095fa88394cf9af75a578 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 10 14:07:35 2014 +0300 mac80211: set smps_mode according to ap params Take the requested smps mode from the ap params (instead of always starting with SMPS_OFF) Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 18998c381b19bfc3c285361ff6200ded7444aa2c Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 10 14:07:34 2014 +0300 cfg80211: allow requesting SMPS mode on ap start Add feature bits to indicate device support for static-smps and dynamic-smps modes. Add a new NL80211_ATTR_SMPS_MODE attribue to allow configuring the smps mode to be used by the ap (e.g. configuring to ap to dynamic smps mode will reduce power consumption while having minor effect on throughput) Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 855d30b402b91f09c90f65c34ec91debaae8cf3a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 17:36:09 2014 +0200 drm: Only update final vblank count when precise ts is available Drivers without a hardware vblank counter simply can't account for the vblanks that happened while the vblank interrupt was off. To check this grab a vblank timestamp and if the result is dubious follow the normal save-and-disable logic. Drivers should prevent this by setting vblank_disable_allowed = false, but since running vblank interrupts constantly is not good for power consumption most drivers lie. Testing for precise vblank timestamps is the next best thing we can check for. Suggested-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ab8905f1c6a74d695c6096791ec4b349bc985b8a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 17:36:08 2014 +0200 drm: Really never disable vblank irqs for offdelay==0 With the new support for immediate vblank disabling we always disabled the vblank interrupt right away, irrespective of the vblank offdelay setting. But being able to let vblanks run forever is fairly useful for debugging, so restore that behaviour. Suggested-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c4d922b14544d115232b7448a2ea7640ba901eb6 Merge: 91b06a8 3bcefb0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Sep 11 20:53:57 2014 +1000 Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next 1) add LVDS support for mdp4 (tested with auo B101XTN01.0 panel) 2) add B101XTN01.0 panel 3) bit of gpu refactoring to prepare for addition of addition gpu generations beyond just a3xx * 'msm-next' of git://people.freedesktop.org/~robclark/linux: drm/msm/adreno: push dump/show stuff to base class drm/msm/adreno: bit of init refactoring drm/msm/adreno: move decision about what gpu to to load drm/msm/adreno: split adreno device out into it's own file drm/panel/simple: add optronics B101XTN01.0 (v3) drm/msm/mdp4: add LVDS panel support drm/msm/mdp4: fix blend setup with multiple crtcs drm/msm: update generated headers commit 0ba09511ddc3ff0b462f37b4fe4b9c4dccc054ec Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Mon Sep 1 09:36:08 2014 +0100 KVM: EVENTFD: remove inclusion of irq.h No more needed. irq.h would be void on ARM. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit a7d079cea2dffb112e26da2566dd84c0ef1fce97 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Sep 9 11:27:09 2014 +0100 ARM/arm64: KVM: fix use of WnR bit in kvm_is_write_fault() The ISS encoding for an exception from a Data Abort has a WnR bit[6] that indicates whether the Data Abort was caused by a read or a write instruction. While there are several fields in the encoding that are only valid if the ISV bit[24] is set, WnR is not one of them, so we can read it unconditionally. Instead of fixing both implementations of kvm_is_write_fault() in place, reimplement it just once using kvm_vcpu_dabt_iswrite(), which already does the right thing with respect to the WnR bit. Also fix up the callers to pass 'vcpu' Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 59cd85cbcf2ecca9736652dc0cfd2ec600d7ef2a Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Tue Sep 9 17:11:02 2014 +0300 mac80211: set network header in TDLS frames Correctly mark the network header location in mac80211-generated TDLS frames. These may be used by lower-level drivers. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b0b6aa2c8e0d0e34f7658d5cc1e4fbb59f701c42 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Tue Sep 9 17:09:45 2014 +0300 cfg80211/mac80211: add wmm info to assoc event Userspace might need to know what queues are configured for uapsd (e.g. for setting proper default values in tspecs). Add this bitmap to the association event (inside wmm nested attribute) Add additional parameter to cfg80211_rx_assoc_resp, and update its callers. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 960d01acf62747d6518694f92be5b06f67473833 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 9 22:55:35 2014 +0300 cfg80211: add WMM traffic stream API Add nl80211 and driver API to validate, add and delete traffic streams with appropriate settings. The API calls for userspace doing the action frame handshake with the peer, and then allows only to set up the parameters in the driver. To avoid setting up a session only to tear it down again, the validate API is provided, but the real usage later can still fail so userspace must be prepared for that. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9d58f25b12f70f52581a5a1fdb1e59d322c4c729 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Thu Sep 4 08:28:40 2014 +0300 mac80211: add TDLS connection timeout Adding a timeout for tearing down a TDLS connection that hasn't had ACKed traffic sent through it for a certain amount of time. Since we have no other monitoring facility to indicate the existance (or non-existance) of a peer, this patch will cause a peer to be considered as unavailable if for some X time at least some Y packets have all not been ACKed. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5935839ad73583781b8bbe8d91412f6826e218a4 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 23:22:14 2014 +0200 mac80211: improve minstrel_ht rate sorting by throughput & probability This patch improves the way minstrel_ht sorts rates according to throughput and success probability. 3 FOR-loops across the entire rate and mcs group set in function minstrel_ht_update_stats() which where used to determine the fastest, second fastest and most robust rate are reduced to 2 FOR-loop. The sorted list of rates according throughput is extended to the best four rates as we need them in upcoming joint rate and power control. The sorting is done via the new function minstrel_ht_sort_best_tp_rates(). The annotation of those 4 best throughput rates in the debugfs file rc-stats is changes to: "A,B,C,D", where A is the fastest rate and C the 4th fastest. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Tested-by: Stefan Venz <ikstream86@xxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ca12c0c83334a84581bb01daaedf1009deb09204 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 23:22:13 2014 +0200 mac80211: Unify rate statistic variables between Minstrel & Minstrel_HT Minstrel and Mintrel_HT used there own structs to keep track of rate statistics. Unify those variables in struct minstrel_rate_states and move it to rc80211_minstrel.h for common usage. This is a clean-up patch to prepare Minstrel and Minstrel_HT codebase for upcoming TPC. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5393b917bcbb0ce0338668c89397137bd2b7436e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 10 15:00:16 2014 +0300 cfg80211: clear nl80211 messages carrying keys after processing Clear any nl80211 messages that might contain keys after processing them to avoid leaving their data in memory "forever" after they've been freed. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 78f686cae0c67a2edd167cbbe2f36017f0fa4b30 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 10 22:28:06 2014 +0300 cfg80211: don't put kek/kck/replay counter on the stack There's no need to put the values on the stack, just pass a pointer to the data in the nl80211 message. This reduces stack usage and avoids potential issues with putting sensitive data on the stack. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 538c9eb8b3fd33d3a0722b2c04ec4f574eaa6e9f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 10 13:39:56 2014 +0300 cfg80211: clear wext keys when freeing and removing them When freeing the keys stored for wireless extensions, clear the memory to avoid having the key material stick around in memory "forever". Similarly, when userspace overwrites a key, actually clear it instead of just setting the key length to zero. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 29c3f9c3996abea060fa6e0b9e6a30d3f0cc828c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 10 13:39:55 2014 +0300 mac80211: clear key material when freeing keys When freeing the key, clear the memory to avoid having the key material stick around in memory "forever". Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b47f610bd6e88f9d1032132d81b23c928a645e9d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 10 13:39:54 2014 +0300 cfg80211: clear connect keys when freeing them When freeing the connect keys, clear the memory to avoid having the key material stick around in memory "forever". Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 91b06a8e1cfd400c65e16b1ee0747bc6aca35e9e Merge: fdcaa1d f266f04 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Sep 11 19:58:32 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next A few more radeon patches for 3.18. This patch set gives us more flexibility with respect to buffer placement in vram with respect to CPU access. E.g., if you know you will not need CPU access, we can now pin outside of the CPU window, reducing contention for the CPU window space. * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: add RADEON_GEM_NO_CPU_ACCESS BO creation flag (v4) drm/radeon: Clean up assignment of TTM placement lpfn member for pinning drm/radeon: Add RADEON_GEM_CPU_ACCESS BO creation flag commit a183b638b61c104920a42b1eb7668953f8ada5cb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Sep 11 11:51:02 2014 +0200 KVM: x86: make apic_accept_irq tracepoint more generic Initially the tracepoint was added only to the APIC_DM_FIXED case, also because it reported coalesced interrupts that only made sense for that case. However, the coalesced argument is not used anymore and tracing other delivery modes is useful, so hoist the call out of the switch statement. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0f4fc382428f71453d195925a3c63efc48452417 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Sep 10 21:30:15 2014 -0700 ARM: dts: Switch i2c0 to 400kHz on rk3288-evb-rk808 We should be able to talk to the PMIC at 400kHz. No need to talk at the slow 100kHz. As measured by ftrace (with a bunch of extra patches, since cpufreq for rk808 hasn't landed yet): before this change: cpu0_set_target() => ~500us after this change: cpu0_set_target() => ~300us Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by Addy Ke <addy.ke@xxxxxxxxxxxxxx> Tested-by Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 73a6d9416279f138833574f11dc82134fb56908d Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Thu Sep 11 13:38:00 2014 +0800 kvm: Use APIC_DEFAULT_PHYS_BASE macro as the apic access page address. We have APIC_DEFAULT_PHYS_BASE defined as 0xfee00000, which is also the address of apic access page. So use this macro. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2c69c1a32140262d5d6104ab96df2e52c08c1e93 Merge: 209cf19 bfac1f5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Sep 11 11:09:33 2014 +0200 Merge tag 'kvm-s390-next-20140910' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-next KVM: s390: Fixes and features for next (3.18) 1. Crypto/CPACF support: To enable the MSA4 instructions we have to provide a common control structure for each SIE control block 2. Two cleanups found by a static code checker: one redundant assignment and one useless if 3. Fix the page handling of the diag10 ballooning interface. If the guest freed the pages at absolute 0 some checks and frees were incorrect 4. Limit guests to 16TB 5. Add __must_check to interrupt injection code commit 912ca216b548e0fe399f300b4511b0277fb874e4 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 10 12:41:31 2014 -0700 HID: wacom - enable LED support for Wireless Intuos5/Pro And associate all LED/OLED to PAD device Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Tested-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c64d883476812783e0400d37028756151d103e5c Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 10 12:41:04 2014 -0700 HID: wacom - remove report_id from wacom_get_report interface It is assigned in buf[0] anyway. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 37449adc582441f5ff1bbd95e6a8357073fae86b Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 10 12:40:30 2014 -0700 HID: wacom - Clean up of sysfs changed to scnprintf(buf, PAGE_SIZE, ... ) as suggested in sysfs.txt for show functions Signed-off-by: Paul A. Tessier <phernost@xxxxxxxxx> Signed-Off-by: Ping Cheng <pingc@xxxxxxxxx> Tested-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e0984bc376d84190d631d0a4f81215e48fa3a902 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 10 12:40:05 2014 -0700 HID: wacom - Add default permission defines for sysfs attributes RW : ug=rw,o=r WO : ug=w And enabled reading relavent sysfs attributes. Signed-off-by: Paul A. Tessier <phernost@xxxxxxxxx> Signed-Off-by: Ping Cheng <pingc@xxxxxxxxx> Tested-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 96bdd9aeb2cbc5eaae586f4d43badd072611fcb1 Merge: 87e9d8f a742795 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 11 09:49:31 2014 +0200 Merge tag 'renesas-dt4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Fourth Round of Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman: * Add r8a7794 SoC and Alt board device tree * Correct lager memory map Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Initial Alt board device tree ARM: shmobile: Initial r8a7794 SoC device tree ARM: shmobile: lager: correct memory map commit 9136ce889254ed51a00a41194befee8ecb2eda36 Merge: c40c402 834720d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 11 09:46:38 2014 +0200 Merge tag 'renesas-pm-cleanups-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Pull "Renesas ARM Based SoC PM Cleanups for v3.18" from Simon Horman: * Make domain_devices[] static __initdata * Add and use rmobile_add_devices_to_domain Signed-off-by: Arnd Bergmann <ardn@xxxxxxxx> * tag 'renesas-pm-cleanups-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: armadillo800eva legacy: Use rmobile_add_devices_to_domains() ARM: shmobile: r8a7740: Clean up pm domain table ARM: shmobile: r8a7740: Use rmobile_add_devices_to_domains() ARM: shmobile: sh7372: Make domain_devices[] static __initdata ARM: shmobile: mackerel: Make domain_devices[] static __initdata commit 60f91268ee29bd2303d94e8e86be40edc0ecb92d Merge: 138310e 48a0d1e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 11 09:45:18 2014 +0200 Merge tag 'renesas-dt-timers2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Second Round of Renesas ARM Based SoC DT Timers Updates for v3.18" from Simon Horman: * kzm9g-reference: Enable CMT1 in device tree * Use SoC-specific timer compat strings Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt-timers2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: kzm9g-reference: Enable CMT1 in device tree ARM: shmobile: sh73a0: Add CMT1 device to DT ARM: shmobile: r8a7740: Use SoC-specific 48-bit CMT compat string ARM: shmobile: r8a7779: Use SoC-specific TMU compat string ARM: shmobile: r8a7791: Use SoC-specific 48-bit CMT compat string ARM: shmobile: r7s72100: Use SoC-specific MTU2 compat string ARM: shmobile: r8a7790: Use SoC-specific 48-bit CMT compat string commit 29897087d90109a7ed67e68dbbc6fb077301c7d1 Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:23 2014 +0300 serial: 8250_pci: Add PCI IDs for Intel Braswell Add new PCI IDs to cover newer Intel SoCs such as Braswell. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9a1870ce812e13091c21af36d4dc1cd29077966d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:22 2014 +0300 serial: 8250: don't use slave_id of dma_slave_config That field has been deprecated in favour of getting the necessary information from ACPI or DT. However, we still need to deal systems that are PCI only (no ACPI to back up) like Intel Bay Trail. In order to support such systems, we explicitly bind setup() to the appropriate DMA filter function and its corresponding parameter. Then when serial8250_request_dma() doesn't find the channel via ACPI or DT, it falls back to use the given filter function. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b279c4922e9242b4b1a04da7fa5622f2323c85de Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:18 2014 +0300 dmaengine: dw: add PCI IDs for Braswell DMAs Braswell SoC has two DMA controllers for LPSS. This patch adds them to supported list in the PCI driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a15636e83eb0dedefcb1221be729023e4c281748 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:17 2014 +0300 dmaengine: dw: move clock operations to platform.c On BayTrail platform DMA is not functional in the PCI mode, whereby it always failed and exit at the point when it tries to get a clock. It causes the PCI mode probe to exit with the error message: dw_dmac_pci: probe of 0000:00:1e.0 failed with error -2 This patch moves clock operations to where it belongs to. Thus, the clock is provided only in ACPI / non-PCI cases. Reported-by: Chew, Chiau Ee <chiau.ee.chew@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4d130de20c3f39fc1a1aecd3969b50d49ff2e358 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:16 2014 +0300 dmaengine: dw: introduce generic filter function The introduced filter function would be reused in the ACPI and DT cases since in those cases we have to apply mandatory data to the requested channel. Thus, patch moves platform driver to use it in that case. The function unlikely can't be used by users of the driver due to an implicit dependency to the dw_dmac_core module. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8950052029874a6738552debb45077c596e90e6b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:15 2014 +0300 dmaengine: dw: apply both HS interfaces and remove slave_id usage Instead of one request line member let's use both source and destination ones. Usually we have no such hardware except Atmel MMC controller found on AVR32 platform (see arch/avr32/mach-at32ap/at32ap700x.c and drivers/mmc/host/atmel-mci.c). This patch removes slave_id usage since it'll be removed from the generic structure in later. This breaks the non-ACPI / non-DT cases for the users of the driver, i.e. SPI and HSUART. However, these cases mean only PCI enumerated devices for now, which is anyway broken (considering more than one DMA controller in the system) and this patch series is intended to fix that eventually. The ACPI and DT cases shall be aware of the channel direction when setting request lines, but this is a minor problem that would be addressed in future. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7e1e2f27c5508518e58e5cbb11e26cbb815f4c56 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:14 2014 +0300 dmaengine: dw: convert dw_dma_slave to use explicit HS interfaces Instead of exposing the possibility to set DMA registers CFG_HI and CFG_LO strict user to provide handshake interfaces explicitly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 61c4319cb523a2346416cddaa7d4e2f9260c14d9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:13 2014 +0300 avr32: at32ap700x: don't rely on default DMA masters In future we are going to remove the defaults of AHB masters from dw_dmac driver. It means each user have to supply proper source and destination masters by itself explicitly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3d598f47e804a77208c6bb0a454123018e2f2281 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:12 2014 +0300 dmaengine: dw: move dw_dmac.h to where it belongs to There is a common storage for platform data related structures and definitions inside kernel source tree. The patch moves file from include/linux to include/linux/platform_data and renames it acoordingly. The users are also updated. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> [For the arch/avr32/.* and .*sound/atmel.*] Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7ed3fa20780a5efd22bb192be0908468e7c376ed Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 22:16:35 2014 -0700 Bluetooth: Expire RPA if encryption fails If encryption fails and we're using an RPA it may be because of a conflict with another device. To avoid repeated failures the safest action is to simply mark the RPA as expired so that a new one gets generated as soon as the connection drops. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a22e292260079e781b66380eccdf4566cc3c95ed Author: Qiao Zhou <zhouqiao@xxxxxxxxxxx> Date: Wed Sep 10 16:40:49 2014 +0800 ASoC: mmp-pcm: add NO_PERIOD_WAKEUP for PCM INFO add NO_PERIOD_WAKEUP to PCM INFO, which supports audio no IRQ mode Signed-off-by: Qiao Zhou <zhouqiao@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e6222263124daae6be4b38b856af352667d95929 Author: Qiao Zhou <zhouqiao@xxxxxxxxxxx> Date: Wed Sep 10 16:40:48 2014 +0800 dmaengine: mmp_tdma: add DMA_PREP_INTERRUPT flag support add DMA_PREP_INTERRUPT flag to support no_period_wakeup, in which user space app doesn't want audio interrupt to wake up audio threads. Signed-off-by: Qiao Zhou <zhouqiao@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5be5e275ad214bbb420425754354add679d8ab68 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:58:54 2014 -0700 Bluetooth: Avoid hard-coded IO capability values in SMP This is a trivial change to use a proper define for the NoInputNoOutput IO capability instead of hard-coded values. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1370078db37de2aa5e906ae2b5dbbb6ba289adb4 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Sep 10 09:43:31 2014 +0900 ARM: shmobile: r8a7794: Remove unnecessary #ifdef CONFIG_USE_OF The r8a7794 support is always compiled using ARCH_MULTIPLATFORM which selects USE_OF. So #ifdef CONFIG_USE_OF is unnecessary. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7d984c95723725d26f3961c1655c20256f0affdf Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Sep 10 09:44:47 2014 +0900 ARM: shmobile: Enable r8a7794 SoC in shmobile_defconfig Support for the r8a7794 was recently added. Enable it in the shmobile_defconfig to increase build coverage. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit aeaeb4bbca520b862d3b3e7cd74c23042815a160 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:46 2014 -0700 Bluetooth: Fix L2CAP information request handling for fixed channels Even if we have no connection-oriented channels we should perform the L2CAP Information Request procedures before notifying L2CAP channels of the connection. This is so that the L2CAP channel implementations can perform checks on what the remote side supports (e.g. does it support the fixed channel in question). So far the code has relied on the l2cap_do_start() function to initiate the Information Request, however l2cap_do_start() is used on a per-channel basis and only for connection-oriented channels. This means that if there are no connection-oriented channels on the system we would never start the Information Request procedure. This patch creates a new l2cap_request_info() helper function to initiate the Information Request procedure, and ensures that it is called whenever a BR/EDR connection has been established. The patch also updates fixed channels to be notified of connection readiness only once the Information Request procedure has completed. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a6f7833ca353d50de46e3532afebe4abfc5dc4d9 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:45 2014 -0700 Bluetooth: Add smp_ltk_sec_level() helper function There are several places that need to determine the security level that an LTK can provide. This patch adds a convenience function for this to help make the code more readable. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1afc2a1ab6612dcc3f26db7ca1afba9cff359f1c Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:44 2014 -0700 Bluetooth: Fix SMP security level when we have no IO capabilities When the local IO capability is NoInputNoOutput any attempt to convert the remote authentication requirement to a target security level is futile. This patch makes sure that we set the target security level at most to MEDIUM if the local IO capability is NoInputNoOutput. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 24bd0bd94e0947e257c5cd6a85b0e337d953e79c Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:43 2014 -0700 Bluetooth: Centralize disallowing SMP commands to a single place All the cases where we mark SMP commands as dissalowed are their respective command handlers. We can therefore simplify the code by always clearing the bit immediately after testing it. This patch converts the corresponding test_bit() call to a test_and_clear_bit() call and also removes the now unused SMP_DISALLOW_CMD macro. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c05b9339c8a448a2df0c8598424ea9c0933288d1 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:42 2014 -0700 Bluetooth: Fix ignoring unknown SMP authentication requirement bits The SMP specification states that we should ignore any unknown bits from the authentication requirement. We already have a define for masking out unknown bits but we haven't used it in all places so far. This patch adds usage of the AUTH_REQ_MASK to all places that need it and ensures that we don't pass unknown bits onward to other functions. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3a7dbfb8ff943711be4221df978254ad2bc1ac46 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:41 2014 -0700 Bluetooth: Remove unnecessary early initialization of variable We do nothing else with the auth variable in smp_cmd_pairing_rsp() besides passing it to tk_request() which in turn only cares about whether one of the sides had the MITM bit set. It is therefore unnecessary to assign a value to it until just before calling tk_request(), and this value can simply be the bit-wise or of the local and remote requirements. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 184c3fc3f52fb75800deb76deffb70907d1f76ea Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Sep 11 09:47:23 2014 +0930 moduleparam: Resolve missing-field-initializer warning Resolve a missing-field-initializer warning, that is produced by every reference to module_param_call, by using designated initialization for the first field. That is enough to silence the complaint. The message is only seen when doing a W=2 build. I happened to be using gcc 4.8.3, but I think most versions would produce the warning when it is enabled. It can either be silenced by using even a single designated initializer as I did here, or providing values for all of the fields. Because of the number of references to the macro, this change silences many warnings in W=2 builds. One instance of the full warning message looks like this: /home/share/git/nn-mdr/include/linux/moduleparam.h:198:16: warning: missing initializer for field â??freeâ?? of â??struct kernel_param_opsâ?? [-Wmissing-field-initializers] static struct kernel_param_ops __param_ops_##name = \ ^ /home/share/git/nn-mdr/fs/fuse/inode.c:35:1: note: in expansion of macro â??module_param_callâ?? module_param_call(max_user_bgreq, set_global_limit, param_get_uint, ^ /home/share/git/nn-mdr/include/linux/moduleparam.h:56:9: note: â??freeâ?? declared here void (*free)(void *arg); Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 2403c155b83c09d8b6255237ef049f2650f9fe01 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 10 14:58:18 2014 -0700 f2fs: remove lengthy inode->i_ino This patch is to remove lengthy name by adding a new variable. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a53dd6a65668850493cce94395c1b88a015eb338 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 14:48:05 2014 -0700 rcutorture: Add RCU-tasks tests to default rcutorture list Although the test cases have been added, they must be specified explicitly via the kvm.sh --configs argument in order to run them. This commit therefore adds the RCU-tasks tests to the CFLIST so that they will be run automatically by default. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 0469a43bc32001e63092df87c2d1fdf588ea7b3a Merge: 2fed71e 6314b67 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Wed Sep 10 14:42:37 2014 -0700 Merge branch 'clk-next-debugfs-lock' into clk-next commit 6314b6796e3c070d4c8086b08dfd453a0aeac4cf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Sep 4 23:37:49 2014 -0700 clk: Don't hold prepare_lock across debugfs creation Rob Clark reports a lockdep splat that involves the prepare_lock chained with the mmap semaphore. ====================================================== [ INFO: possible circular locking dependency detected ] 3.17.0-rc1-00050-g07a489b #802 Tainted: G W ------------------------------------------------------- Xorg.bin/5413 is trying to acquire lock: (prepare_lock){+.+.+.}, at: [<c0781280>] clk_prepare_lock+0x88/0xfc but task is already holding lock: (qcom_iommu_lock){+.+...}, at: [<c079f664>] qcom_iommu_unmap+0x1c/0x1f0 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #4 (qcom_iommu_lock){+.+...}: [<c079f860>] qcom_iommu_map+0x28/0x450 [<c079eb50>] iommu_map+0xc8/0x12c [<c056c1fc>] msm_iommu_map+0xb4/0x130 [<c05697bc>] msm_gem_get_iova_locked+0x9c/0xe8 [<c0569854>] msm_gem_get_iova+0x4c/0x64 [<c0562208>] mdp4_kms_init+0x4c4/0x6c0 [<c056881c>] msm_load+0x2ac/0x34c [<c0545724>] drm_dev_register+0xac/0x108 [<c0547510>] drm_platform_init+0x50/0xf0 [<c0578a60>] try_to_bring_up_master.part.3+0xc8/0x108 [<c0578b48>] component_master_add_with_match+0xa8/0x104 [<c0568294>] msm_pdev_probe+0x64/0x70 [<c057e704>] platform_drv_probe+0x2c/0x60 [<c057cff8>] driver_probe_device+0x108/0x234 [<c057b65c>] bus_for_each_drv+0x64/0x98 [<c057cec0>] device_attach+0x78/0x8c [<c057c590>] bus_probe_device+0x88/0xac [<c057c9b8>] deferred_probe_work_func+0x68/0x9c [<c0259db4>] process_one_work+0x1a0/0x40c [<c025a710>] worker_thread+0x44/0x4d8 [<c025ec54>] kthread+0xd8/0xec [<c020e9a8>] ret_from_fork+0x14/0x2c -> #3 (&dev->struct_mutex){+.+.+.}: [<c0541188>] drm_gem_mmap+0x38/0xd0 [<c05695b8>] msm_gem_mmap+0xc/0x5c [<c02f0b6c>] mmap_region+0x35c/0x6c8 [<c02f11ec>] do_mmap_pgoff+0x314/0x398 [<c02de1e0>] vm_mmap_pgoff+0x84/0xb4 [<c02ef83c>] SyS_mmap_pgoff+0x94/0xbc [<c020e8e0>] ret_fast_syscall+0x0/0x48 -> #2 (&mm->mmap_sem){++++++}: [<c0321138>] filldir64+0x68/0x180 [<c0333fe0>] dcache_readdir+0x188/0x22c [<c0320ed0>] iterate_dir+0x9c/0x11c [<c03213b0>] SyS_getdents64+0x78/0xe8 [<c020e8e0>] ret_fast_syscall+0x0/0x48 -> #1 (&sb->s_type->i_mutex_key#3){+.+.+.}: [<c03fc544>] __create_file+0x58/0x1dc [<c03fc70c>] debugfs_create_dir+0x1c/0x24 [<c0781c7c>] clk_debug_create_subtree+0x20/0x170 [<c0be2af8>] clk_debug_init+0xec/0x14c [<c0208c70>] do_one_initcall+0x8c/0x1c8 [<c0b9cce4>] kernel_init_freeable+0x13c/0x1dc [<c0877bc4>] kernel_init+0x8/0xe8 [<c020e9a8>] ret_from_fork+0x14/0x2c -> #0 (prepare_lock){+.+.+.}: [<c087c408>] mutex_lock_nested+0x70/0x3e8 [<c0781280>] clk_prepare_lock+0x88/0xfc [<c0782c50>] clk_prepare+0xc/0x24 [<c079f474>] __enable_clocks.isra.4+0x18/0xa4 [<c079f614>] __flush_iotlb_va+0xe0/0x114 [<c079f6f4>] qcom_iommu_unmap+0xac/0x1f0 [<c079ea3c>] iommu_unmap+0x9c/0xe8 [<c056c2fc>] msm_iommu_unmap+0x64/0x84 [<c0569da4>] msm_gem_free_object+0x11c/0x338 [<c05413ec>] drm_gem_object_handle_unreference_unlocked+0xfc/0x130 [<c0541604>] drm_gem_object_release_handle+0x50/0x68 [<c0447a98>] idr_for_each+0xa8/0xdc [<c0541c10>] drm_gem_release+0x1c/0x28 [<c0540b3c>] drm_release+0x370/0x428 [<c031105c>] __fput+0x98/0x1e8 [<c025d73c>] task_work_run+0xb0/0xfc [<c02477ec>] do_exit+0x2ec/0x948 [<c0247ec0>] do_group_exit+0x4c/0xb8 [<c025180c>] get_signal+0x28c/0x6ac [<c0211204>] do_signal+0xc4/0x3e4 [<c02116cc>] do_work_pending+0xb4/0xc4 [<c020e938>] work_pending+0xc/0x20 other info that might help us debug this: Chain exists of: prepare_lock --> &dev->struct_mutex --> qcom_iommu_lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(qcom_iommu_lock); lock(&dev->struct_mutex); lock(qcom_iommu_lock); lock(prepare_lock); *** DEADLOCK *** 3 locks held by Xorg.bin/5413: #0: (drm_global_mutex){+.+.+.}, at: [<c0540800>] drm_release+0x34/0x428 #1: (&dev->struct_mutex){+.+.+.}, at: [<c05413bc>] drm_gem_object_handle_unreference_unlocked+0xcc/0x130 #2: (qcom_iommu_lock){+.+...}, at: [<c079f664>] qcom_iommu_unmap+0x1c/0x1f0 stack backtrace: CPU: 1 PID: 5413 Comm: Xorg.bin Tainted: G W 3.17.0-rc1-00050-g07a489b #802 [<c0216290>] (unwind_backtrace) from [<c0211d8c>] (show_stack+0x10/0x14) [<c0211d8c>] (show_stack) from [<c087a078>] (dump_stack+0x98/0xb8) [<c087a078>] (dump_stack) from [<c027f024>] (print_circular_bug+0x218/0x340) [<c027f024>] (print_circular_bug) from [<c0283e08>] (__lock_acquire+0x1d24/0x20b8) [<c0283e08>] (__lock_acquire) from [<c0284774>] (lock_acquire+0x9c/0xbc) [<c0284774>] (lock_acquire) from [<c087c408>] (mutex_lock_nested+0x70/0x3e8) [<c087c408>] (mutex_lock_nested) from [<c0781280>] (clk_prepare_lock+0x88/0xfc) [<c0781280>] (clk_prepare_lock) from [<c0782c50>] (clk_prepare+0xc/0x24) [<c0782c50>] (clk_prepare) from [<c079f474>] (__enable_clocks.isra.4+0x18/0xa4) [<c079f474>] (__enable_clocks.isra.4) from [<c079f614>] (__flush_iotlb_va+0xe0/0x114) [<c079f614>] (__flush_iotlb_va) from [<c079f6f4>] (qcom_iommu_unmap+0xac/0x1f0) [<c079f6f4>] (qcom_iommu_unmap) from [<c079ea3c>] (iommu_unmap+0x9c/0xe8) [<c079ea3c>] (iommu_unmap) from [<c056c2fc>] (msm_iommu_unmap+0x64/0x84) [<c056c2fc>] (msm_iommu_unmap) from [<c0569da4>] (msm_gem_free_object+0x11c/0x338) [<c0569da4>] (msm_gem_free_object) from [<c05413ec>] (drm_gem_object_handle_unreference_unlocked+0xfc/0x130) [<c05413ec>] (drm_gem_object_handle_unreference_unlocked) from [<c0541604>] (drm_gem_object_release_handle+0x50/0x68) [<c0541604>] (drm_gem_object_release_handle) from [<c0447a98>] (idr_for_each+0xa8/0xdc) [<c0447a98>] (idr_for_each) from [<c0541c10>] (drm_gem_release+0x1c/0x28) [<c0541c10>] (drm_gem_release) from [<c0540b3c>] (drm_release+0x370/0x428) [<c0540b3c>] (drm_release) from [<c031105c>] (__fput+0x98/0x1e8) [<c031105c>] (__fput) from [<c025d73c>] (task_work_run+0xb0/0xfc) [<c025d73c>] (task_work_run) from [<c02477ec>] (do_exit+0x2ec/0x948) [<c02477ec>] (do_exit) from [<c0247ec0>] (do_group_exit+0x4c/0xb8) [<c0247ec0>] (do_group_exit) from [<c025180c>] (get_signal+0x28c/0x6ac) [<c025180c>] (get_signal) from [<c0211204>] (do_signal+0xc4/0x3e4) [<c0211204>] (do_signal) from [<c02116cc>] (do_work_pending+0xb4/0xc4) [<c02116cc>] (do_work_pending) from [<c020e938>] (work_pending+0xc/0x20) We can break this chain if we don't hold the prepare_lock while creating debugfs directories. We only hold the prepare_lock right now because we're traversing the clock tree recursively and we don't want the hierarchy to change during the traversal. Replacing this traversal with a simple linked list walk allows us to only grab a list lock instead of the prepare_lock, thus breaking the lock chain. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit cbe0d6e8794f1da6cac1ea3864d2cfaf0bf87c8e Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed Sep 10 17:09:57 2014 -0400 selinux: make the netif cache namespace aware While SELinux largely ignores namespaces, for good reason, there are some places where it needs to at least be aware of namespaces in order to function correctly. Network namespaces are one example. Basic awareness of network namespaces are necessary in order to match a network interface's index number to an actual network device. This patch corrects a problem with network interfaces added to a non-init namespace, and can be reproduced with the following commands: [NOTE: the NetLabel configuration is here only to active the dynamic networking controls ] # netlabelctl unlbl add default address:0.0.0.0/0 \ label:system_u:object_r:unlabeled_t:s0 # netlabelctl unlbl add default address:::/0 \ label:system_u:object_r:unlabeled_t:s0 # netlabelctl cipsov4 add pass doi:100 tags:1 # netlabelctl map add domain:lspp_test_netlabel_t \ protocol:cipsov4,100 # ip link add type veth # ip netns add myns # ip link set veth1 netns myns # ip a add dev veth0 10.250.13.100/24 # ip netns exec myns ip a add dev veth1 10.250.13.101/24 # ip l set veth0 up # ip netns exec myns ip l set veth1 up # ping -c 1 10.250.13.101 # ip netns exec myns ping -c 1 10.250.13.100 Reported-by: Jiri Jaburek <jjaburek@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit b954d83421d51d822c42e5ab7b65069b25ad3005 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Wed Sep 10 15:01:02 2014 +0200 net: bpf: only build bpf_jit_binary_{alloc, free}() when jit selected Since BPF JIT depends on the availability of module_alloc() and module_free() helpers (HAVE_BPF_JIT and MODULES), we better build that code only in case we have BPF_JIT in our config enabled, just like with other JIT code. Fixes builds for arm/marzen_defconfig and sh/rsk7269_defconfig. ==================== kernel/built-in.o: In function `bpf_jit_binary_alloc': /home/cwang/linux/kernel/bpf/core.c:144: undefined reference to `module_alloc' kernel/built-in.o: In function `bpf_jit_binary_free': /home/cwang/linux/kernel/bpf/core.c:164: undefined reference to `module_free' make: *** [vmlinux] Error 1 ==================== Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Fixes: 738cbe72adc5 ("net: bpf: consolidate JIT binary allocator") Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1105287aabe88dbb3af825140badaa05cf0442c Author: Daniel Hellstrom <daniel@xxxxxxxxxxx> Date: Wed Sep 10 14:17:52 2014 +0200 sparc32: dma_alloc_coherent must honour gfp flags dma_zalloc_coherent() calls dma_alloc_coherent(__GFP_ZERO) but the sparc32 implementations sbus_alloc_coherent() and pci32_alloc_coherent() doesn't take the gfp flags into account. Tested on the SPARC32/LEON GRETH Ethernet driver which fails due to dma_alloc_coherent(__GFP_ZERO) returns non zeroed pages. Signed-off-by: Daniel Hellstrom <daniel@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17fa1f983649580772e95ee95e2c096baa650219 Merge: 0fc4dff 56e03e5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 10 14:02:37 2014 -0700 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== cxgb4: Allow FW size upto 1MB, support for S25FL032P flash and misc. fixes This patch series adds support to allow FW size upto 1MB, support for S25FL032P flash. Fix t4_flash_erase_sectors to throw an error, when erase sector aren't in the flash and also warning message when adapters have flashes less than 2Mb. Adds device id of new adapter and removes device id of debug adapter. The patches series is created against 'net-next' tree. And includes patches on cxgb4 driver and cxgb4vf driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56e03e51e61afc60d893be9647a8e3ad74155420 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Sep 10 17:44:31 2014 +0530 cxgb4/cxgb4vf: Add device ID for new adapter and remove for dbg adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c290607e3e7b8d24eb90468180f4cf96b371d8d0 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Sep 10 17:44:30 2014 +0530 cxgb4: Add warning msg when attaching to adapters which have FLASHes smaller than 2Mb Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0d5b8cf50c9842d0efcfb14871e58f42c6576e6 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Sep 10 17:44:29 2014 +0530 cxgb4: Fix t4_flash_erase_sectors() to throw an error when requested to erase sectors which aren't in the FLASH Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe2ee139aa295936e2bf6b7c620624d871c65058 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Sep 10 17:44:28 2014 +0530 cxgb4: Add support to S25FL032P flash Add support for Spansion S25FL032P flash Based on original work by Dimitris Michailidis Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60d42bf6b0eec663ad21170b1ff6b14536993b47 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Sep 10 17:44:27 2014 +0530 cxgb4: Allow T4/T5 firmware sizes up to 1MB Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fc4dffad13e81deb3bf72e74cac292172df5285 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Wed Sep 10 14:02:50 2014 +0200 tipc: fix sparse warnings This fixes the following sparse warnings: sparse: symbol 'tipc_update_nametbl' was not declared. Should it be static? Also, the function is changed to return bool upon success, rather than a potentially freed pointer. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf98192d2e2b923241b8e6eee05a5b31f4bc16f2 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Wed Sep 10 07:51:13 2014 +0000 net: ethernet: arc: Don't free Rockchip resources before disconnect from phy Free resources before being disconnected from phy and calling core driver is wrong and should not happen. It avoids a delay of 4-5s caused by the timeout of phy_disconnect(). Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d11620e1e43f829721aa1e76bd9dc2da079df9e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Sep 10 09:04:27 2014 -0400 nfs: add __acquires and __releases annotations to seqfile start/stop routines To make sparse happy... Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit dad2b015bb85799f8005da637954f8eafb83f34c Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Sep 10 09:03:55 2014 -0400 nfs: fix RCU cl_xprt handling in nfs_swap_activate/deactivate sparse says: fs/nfs/file.c:543:60: warning: incorrect type in argument 1 (different address spaces) fs/nfs/file.c:543:60: expected struct rpc_xprt *xprt fs/nfs/file.c:543:60: got struct rpc_xprt [noderef] <asn:4>*cl_xprt fs/nfs/file.c:548:53: warning: incorrect type in argument 1 (different address spaces) fs/nfs/file.c:548:53: expected struct rpc_xprt *xprt fs/nfs/file.c:548:53: got struct rpc_xprt [noderef] <asn:4>*cl_xprt cl_xprt is RCU-managed, so we need to take care to dereference and use it while holding the RCU read lock. Cc: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 08a899d5d9532efb7dea99aad44dc9af39627a92 Author: Christoph Hellwig <hch@xxxxxx> Date: Sun Sep 7 08:36:40 2014 -0700 nfs: setattr can only change regular file sizes The VFS never calls setattr with ATTR_SIZE on anything but regular files. Remove the if check and turn it into an assert similar to what some other file systems do. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 20d655d6197d02e98574208839da11684dc2ad1f Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 2 21:28:00 2014 -0700 pnfs/blocklayout: use the device id cache Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 30ff0603ca4d66c8244efc80ea8470d3d04aee8b Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 2 21:27:59 2014 -0700 pnfs: add a nfs4_get_deviceid helper This will be used by the block layout driver when splitting extents. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9dd2fcd32f488ea89c2227cc56069446147376e8 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 2 21:27:58 2014 -0700 pnfs: add a common GETDEVICELIST implementation At a simple helper to issue a GETDEVICELIST operation and pre-load the device id cache based on the result. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 661373b13d0490ff410a2133d4a7a117f2dd037e Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 2 21:27:57 2014 -0700 pnfs: factor GETDEVICEINFO implementations Add support to the common pNFS core to issue GETDEVICEINFO calls on a device ID cache miss. The code is taken from the well debugged file layout implementation and calls out to the layoutdriver through a new alloc_deviceid_node method. The calling conventions for nfs4_find_get_deviceid are changed so that all information needed to send a GETDEVICEINFO request is passed to the common code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 848746bd247cdc3ce1d103e92913316445763778 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:36 2014 -0700 pnfs/blocklayout: return layouts on setattr This speads up truncate-heavy workloads like fsx by multiple orders of magnitude. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 71d5b76302e21390b4ab747875de6bd5cfbca979 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:35 2014 -0700 pnfs/blocklayout: implement the return_range method This allows removing extents from the extent tree especially on truncate operations, and thus fixing reads from truncated and re-extended that previously returned stale data. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8067253c8cc531b6f367b9f5942bdc6168385701 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:34 2014 -0700 pnfs/blocklayout: rewrite extent tracking Currently the block layout driver tracks extents in three separate data structures: - the two list of pnfs_block_extent structures returned by the server - the list of sectors that were in invalid state but have been written to - a list of pnfs_block_short_extent structures for LAYOUTCOMMIT All of these share the property that they are not only highly inefficient data structures, but also that operations on them are even more inefficient than nessecary. In addition there are various implementation defects like: - using an int to track sectors, causing corruption for large offsets - incorrect normalization of page or block granularity ranges - insufficient error handling - incorrect synchronization as extents can be modified while they are in use This patch replace all three data with a single unified rbtree structure tracking all extents, as well as their in-memory state, although we still need to instance for read-only and read-write extent due to the arcane client side COW feature in the block layouts spec. To fix the problem of extent possibly being modified while in use we make sure to return a copy of the extent for use in the write path - the extent can only be invalidated by a layout recall or return which has to wait until the I/O operations finished due to refcounts on the layout segment. The new extent tree work similar to the schemes used by block based filesystems like XFS or ext4. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8c792ea940499153732adea2ea4ca37f6999778f Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:33 2014 -0700 pnfs/blocklayout: don't set pages uptodate The core nfs code handles setting pages uptodate on reads, no need to mess with the pageflags outselves. Also remove a debug function to dump page flags. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3a6fd1f004fcaf3dd1c28a7cd16406c8318eb64a Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:32 2014 -0700 pnfs/blocklayout: remove read-modify-write handling in bl_write_pagelist Use the new PNFS_READ_WHOLE_PAGE flag to offload read-modify-write handling to core nfs code, and remove a huge chunk of deadlock prone mess from the block layout writeback path. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c88953d87f5c8cd95bebcbd6d15f2f0cdd348136 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:31 2014 -0700 pnfs: add return_range method If a layout driver keeps per-inode state outside of the layout segments it needs to be notified of any layout returns or recalls on an inode, and not just about the freeing of layout segments. Add a method to acomplish this, which will allow the block layout driver to handle the case of truncated and re-expanded files properly. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 612aa983a041056c3368aacfdc9febd406d245a8 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:30 2014 -0700 pnfs: add flag to force read-modify-write in ->write_begin Like all block based filesystems, the pNFS block layout driver can't read or write at a byte granularity and thus has to perform read-modify-write cycles on writes smaller than this granularity. Add a flag so that the core NFS code always reads a whole page when starting a smaller write, so that we can do it in the place where the VFS expects it instead of doing in very deadlock prone way in the writeback handler. Note that in theory we could do less than page size reads here for disks that have a smaller sector size which are served by a server with a smaller pnfs block size. But so far that doesn't seem like a worthwhile optimization. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7c5d187581f57657de79e795602d9f1a0254c88c Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:29 2014 -0700 pnfs: force a layout commit when encountering busy segments during recall Expedite layout recall processing by forcing a layout commit when we see busy segments. Without it the layout recall might have to wait until the VM decided to start writeback for the file, which can introduce long delays. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3a3908c8b09d5ec19d543836d4f38d240ae27fe8 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Sep 8 22:21:00 2014 -0700 NFS: Fix a compile warning when !(CONFIG_NFS_V3 || CONFIG_NFS_V4) gcc reports: linux/fs/nfs/write.c: In function â??nfs_page_find_head_request_locked.isra.17â??: linux/fs/nfs/write.c:121:64: warning: â??cinfo.mdsâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] list_for_each_entry_safe(freq, t, &cinfo.mds->list, wb_list) { ^ linux/fs/nfs/write.c:110:25: note: â??cinfo.mdsâ?? was declared here struct nfs_commit_info cinfo; Reported-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Cc: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 921b81a8cd5a4acc2a009778d13eedd377362c4c Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:29 2014 -0500 pnfs/blocklayout: correctly decrement extent length When we do non-page sized reads we can underflow the extent_length variable and read incorrect data. Fix the extent_length calculation and change to defensive <= checks for the extent length in the read and write path. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit be98fd0ac3dd45c1aa404b101caa37f9b317ab57 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:28 2014 -0500 pnfs/blocklayout: plug block queues Make sure the block queue is plugged when performing pNFS blocklayout I/O. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 72c5e59f63ceaa604936b1693ba8c4b6cc2b114d Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:27 2014 -0500 pnfs/blocklayout: improve GETDEVICEINFO error reporting Tell userspace what stage of GETDEVICEINFO failed so that there is a chance to debug it, especially with the userspace daemon clusterf***k in the block layout driver. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e3aaf7f2b8e9e858c0d6626577d3456bf6070e5a Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:26 2014 -0500 pnfs/blocklayout: reject pnfs blocksize larger than page size The Linux VM subsystem can't support block sizes larger than page size for block based filesystems very well. While this can be hacked around to some extent for simple filesystems the read-modify-write cycles required for pnfs block invalid extents are extremly deadlock prone when operating on multiple pages. Reject this case early on instead of pretending to support it (badly). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5f919c9f10c1cf821ee5f414683214a361a1b98c Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:25 2014 -0500 pnfs: allow splicing pre-encoded pages into the layoutcommit args Currently there is no XDR buffer space allocated for the per-layout driver layoutcommit payload, which leads to server buffer overflows in the blocklayout driver even under simple workloads. As we can't do per-layout sizes for XDR operations we'll have to splice a previously encoded list of pages into the XDR stream, similar to how we handle ACL buffers. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 47abadefad213bb7de9592d2e09a8bd282ddc3de Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:22 2014 -0500 pnfs: avoid using stale stateids after layoutreturn After we issued a layoutreturn operations the may free the layout stateid and will thus cause bad stateid error when the client uses it again. We currently try to avoid this case by chosing the open stateid if not lsegs are present for this inode. But various places can hold refererence on lsegs and thus cause the list not to be empty shortly after a layout return. Add an explicit flag to mark the current layout stateid invalid and force usage of the openstateid after we did a full file layoutreturn. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit defb8460881cbf0a5890bc7a63b42c0cfbed721d Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:21 2014 -0500 pnfs: retry after a bad stateid error from layoutget Currently we fall through to nfs4_async_handle_error when we get a bad stateid error back from layoutget. nfs4_async_handle_error with a NULL state argument will never retry the operations but return the error to higher layer, causing an avoiable fallback to MDS I/O. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 362f74745c15fb9acad577ab8e1342ee5313a2a5 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:20 2014 -0500 pnfs: don't check sequence on new stateids in layoutget When layoutget returns an entirely new layout stateid it should not check the generation counter as the new stateid will start with a new counter entirely unrelated to old one. The current behavior causes constant layoutget failures against a block server which allocates a new stateid after an recall that removed all outstanding layouts. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 1013df61150e56f775ccacdaaeee66042f1e6eb6 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:18 2014 -0500 pnfs: do not pass uninitialized lsegs to ->free_lseg Ensure the lsegs are initialized early so that we don't pass an unitialized one back to ->free_lseg during error processing. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2e11f8296d22134c4fca7eb022eea2b09facd307 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:17 2014 -0500 nfs: cap request size to fit a kmalloced page array pNFS servers may return arbitrarily large layouts. Trim back the I/O size to one that we can at least allocate the page array for. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit bc7d4b8fd0917b4b84a8911185d34a97c696f219 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Thu Aug 7 10:15:03 2014 +0800 nfs/filelayout: set layoutcommit depending on write verifier Following http://www.rfc-editor.org/errata_search.php?rfc=5661&eid=2751 Don't set layoutcommit for commit_through_mds case. For FILE_SYNC writes, don't set layoutcommit. For DATA_SYNC wirtes, set layout commit right after wirtes done. For UNSTABLE writes, set layout commit when commit done. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 378520b837cf4da769600b83690d8e825f16a611 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Thu Aug 7 10:15:02 2014 +0800 nfs41: add a helper function to set layoutcommit after commit Track lwb in nfs_commit_data so that we can use it to setup layoutcommit in commit_done callback. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 61beef75cc5bae119e500c9f25daad8596c7cbe4 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Sep 3 14:15:40 2014 -0400 NFS: Clear up state owner lock usage can_open_cached() reads values out of the state structure, meaning that we need the so_lock to have a correct return value. As a bonus, this helps clear up some potentially confusing code. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0f7a622ca61621f951af01448b956f2ecf5fad99 Author: Chris Perl <chris.perl@xxxxxxxxx> Date: Fri Sep 5 15:40:21 2014 -0400 rpc: xs_bind - do not bind when requesting a random ephemeral port When attempting to establish a local ephemeral endpoint for a TCP or UDP socket, do not explicitly call bind, instead let it happen implicilty when the socket is first used. The main motivating factor for this change is when TCP runs out of unique ephemeral ports (i.e. cannot find any ephemeral ports which are not a part of *any* TCP connection). In this situation if you explicitly call bind, then the call will fail with EADDRINUSE. However, if you allow the allocation of an ephemeral port to happen implicitly as part of connect (or other functions), then ephemeral ports can be reused, so long as the combination of (local_ip, local_port, remote_ip, remote_port) is unique for TCP sockets on the system. This doesn't matter for UDP sockets, but it seemed easiest to treat TCP and UDP sockets the same. This can allow mount.nfs(8) to continue to function successfully, even in the face of misbehaving applications which are creating a large number of TCP connections. Signed-off-by: Chris Perl <chris.perl@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0aac383353693edcd8fc5a82a692bb7e5f60d2fd Merge: b167a37 9ba1f72 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 10 12:46:32 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== nf-next pull request The following patchset contains Netfilter/IPVS updates for your net-next tree. Regarding nf_tables, most updates focus on consolidating the NAT infrastructure and adding support for masquerading. More specifically, they are: 1) use __u8 instead of u_int8_t in arptables header, from Mike Frysinger. 2) Add support to match by skb->pkttype to the meta expression, from Ana Rey. 3) Add support to match by cpu to the meta expression, also from Ana Rey. 4) A smatch warning about IPSET_ATTR_MARKMASK validation, patch from Vytas Dauksa. 5) Fix netnet and netportnet hash types the range support for IPv4, from Sergey Popovich. 6) Fix missing-field-initializer warnings resolved, from Mark Rustad. 7) Dan Carperter reported possible integer overflows in ipset, from Jozsef Kadlecsick. 8) Filter out accounting objects in nfacct by type, so you can selectively reset quotas, from Alexey Perevalov. 9) Move specific NAT IPv4 functions to the core so x_tables and nf_tables can share the same NAT IPv4 engine. 10) Use the new NAT IPv4 functions from nft_chain_nat_ipv4. 11) Move specific NAT IPv6 functions to the core so x_tables and nf_tables can share the same NAT IPv4 engine. 12) Use the new NAT IPv6 functions from nft_chain_nat_ipv6. 13) Refactor code to add nft_delrule(), which can be reused in the enhancement of the NFT_MSG_DELTABLE to remove a table and its content, from Arturo Borrero. 14) Add a helper function to unregister chain hooks, from Arturo Borrero. 15) A cleanup to rename to nft_delrule_by_chain for consistency with the new nft_*() functions, also from Arturo. 16) Add support to match devgroup to the meta expression, from Ana Rey. 17) Reduce stack usage for IPVS socket option, from Julian Anastasov. 18) Remove unnecessary textsearch state initialization in xt_string, from Bojan Prtvar. 19) Add several helper functions to nf_tables, more work to prepare the enhancement of NFT_MSG_DELTABLE, again from Arturo Borrero. 20) Enhance NFT_MSG_DELTABLE to delete a table and its content, from Arturo Borrero. 21) Support NAT flags in the nat expression to indicate the flavour, eg. random fully, from Arturo. 22) Add missing audit code to ebtables when replacing tables, from Nicolas Dichtel. 23) Generalize the IPv4 masquerading code to allow its re-use from nf_tables, from Arturo. 24) Generalize the IPv6 masquerading code, also from Arturo. 25) Add the new masq expression to support IPv4/IPv6 masquerading from nf_tables, also from Arturo. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b167a37c7bbc6f7589f439ba7d9a49af5ad37ff5 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 21:17:32 2014 -0700 netfilter: Convert pr_warning to pr_warn Use the more common pr_warn. Other miscellanea: o Coalesce formats o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47c4cfc37fb71e0fa801a4ed9228de83404abfce Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 21:17:31 2014 -0700 iucv: Convert pr_warning to pr_warn Use the more common pr_warn. Coalesce formats. Realign arguments. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 294a0b7f3148e2a4e916965a6d14838e08143ba8 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 21:17:30 2014 -0700 pktgen: Convert pr_warning to pr_warn Use the more common pr_warn. Realign arguments. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef423a410943dab9198ec1d7d9558cb53a9569cc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 21:17:28 2014 -0700 atm: Convert pr_warning to pr_warn Use the more common pr_warn. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f007d7f1431ca9bc184782e704a7da460385d335 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Thu Oct 9 07:57:00 2014 +0100 iio: Add Dyna-Image AL3320A ambient light sensor driver Minimal implementation. This driver provides raw illuminance readings. This is based on drivers/hwmon/al3320.c (*) driver from msm tree written by Tsechih Lin <Tsechih_Lin@xxxxxxxx> * https://android.googlesource.com/kernel/msm.git Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2fed71e57ae8b44e854a36d33e9a86a94a7628a4 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Sep 10 17:52:02 2014 +0200 clk: rockchip: also protect hclk_peri as critical The dwc2 usb controller also uses agressive clock gating, which in this case leads to hclk_peri getting disabled and hanging the system. Therefore move it to the critical clocks until we also control that part of the system. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit feaefa0ea1f1ab3fb92519aef2099ab4d75cce05 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 28 12:46:10 2014 +0200 clk: fractional-divider: cast parent_rate to u64 before multiplying On 32bit architectures, like ARM calculating the fractional rate will do the multiplication before converting the value to u64 when it gets assigned to ret, which can produce overflows. The error in question happened with a parent_rate of 386MHz, m = 3000, n = 60000, which resulted in a wrong rate value of 15812Hz. Therefore cast parent_rate to u64 to make sure the multiplication happens in a 64bit space and produces the correct 192MHz in the example. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 1c84cd48a117486166f3597c081b170b76e5bd81 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Sep 10 10:57:08 2014 +0200 mips/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on all the archs. Unfortunaltely the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Reported-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef126a4a8112998a9d4dcea166781331f1020f76 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 15:17:01 2014 +0100 regulator: of: Add stub OF match function for !OF case Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f266f04d33e5265e2f61ffc9d2b2f97214804995 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Aug 28 10:59:05 2014 -0400 drm/radeon: add RADEON_GEM_NO_CPU_ACCESS BO creation flag (v4) Allows pinning of buffers in the non-CPU visible portion of vram. v2: incorporate Michel's comments. v3: rebase on Michel's patch v4: rebase on Michel's v2 patch Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> commit b76ee67a23e83bdad3e25def116c031eb007904d Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Tue Sep 9 10:09:23 2014 +0900 drm/radeon: Clean up assignment of TTM placement lpfn member for pinning This sets the lpfn member to 0 instead of the full domain size. TTM uses the full domain size when lpfn is 0. Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c858403943886a92eece9d0413aa65c48bbe6fa7 Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Thu Aug 28 15:56:00 2014 +0900 drm/radeon: Add RADEON_GEM_CPU_ACCESS BO creation flag This flag is a hint that userspace expects the BO to be accessed by the CPU. We can use that hint to prevent such BOs from ever being stored in the CPU inaccessible part of VRAM. Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 01100c022df5d9b8ac56d3705e33e69dc012a6e2 Author: Roland Stigge <stigge@xxxxxxxxx> Date: Tue Sep 9 15:13:14 2014 +0200 ARM: LPC32xx: Fix reset function In the recent change to the reset function API (commit 7b6d864b48d95e6ea1df7df64475b9cb9616dcf9), the mode argument changed from a char to an enum. lpc23xx_restart() only handles REBOOT_SOFT and REBOOT_HARD, but the new kernel code emits REBOOT_COLD (0) on reboots now which leads to lpc32xx simply not rebooting (but halting). This patch fixes this by just resetting unconditionally as on other platforms (e.g. mach-bcm2835). Pulling lpc32xx_watchdog_reset() into lpc23xx_restart() since the while() in lpc23xx_restart() is part of the procedure anyway and lpc32xx_watchdog_reset() isn't used anywhere else anymore. Signed-off-by: Roland Stigge <stigge@xxxxxxxxx> commit 3bcefb0497f9fcad19be286b14d286784d584c5b Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Sep 5 15:05:38 2014 -0400 drm/msm/adreno: push dump/show stuff to base class Add ptr to list of interesting registers to 'struct adreno_gpu' and use that to move most of the debugfs show and register dump bits down into adreno_gpu. This will avoid duplication as support for additional adreno generations is added. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3526e9fb4f3f178fe9dbab3886c86e294e45816c Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Sep 5 15:03:40 2014 -0400 drm/msm/adreno: bit of init refactoring Push a few bits down into adreno_gpu so they won't have to be duplicated as support for additional adreno generations is added. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit e2550b7a7d8f2030cfea43343eb3fccc3a8e8167 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Sep 5 13:30:27 2014 -0400 drm/msm/adreno: move decision about what gpu to to load Move this into into adreno_device, and decide based on gpu revision rather than just assuming a3xx. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit bfd28b136298f37ef2e10494d3a0bfb4dcbaa7b9 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Sep 5 13:06:37 2014 -0400 drm/msm/adreno: split adreno device out into it's own file We'd rather not duplicate these parts as support for additional gpu generations is added. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit dac746e04e2ed90bdf9b7f808ec1be0e5f1298c6 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Aug 1 17:01:06 2014 -0400 drm/panel/simple: add optronics B101XTN01.0 (v3) LVDS panel, make/model described as: AU Optronics Corporation - B101XTN01.0 (H/W:0A) See: http://www.encore-electronic.com/media/B101XTN01.0.pdf Tested with panel attached to an Inforce IFC6410 board. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3e87599b68e7929a84a32ab65ad17b79a3f271f6 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Aug 1 13:08:11 2014 -0400 drm/msm/mdp4: add LVDS panel support LVDS panel support uses the LCDC (parallel) encoder. Unlike with HDMI, there is not a separate LVDS block, so no need to split things into a bridge+connector. Nor is there is anything re-used with mdp5. Note that there can be some regulators shared between HDMI and LVDS (in particular, on apq8064, ext_3v3p), so we should not use the _exclusive() variants of devm_regulator_get(). The drm_panel framework is used for panel-specific driver. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit d65bd0e431156f156f43946b6efb524694afb685 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Aug 6 07:43:12 2014 -0400 drm/msm/mdp4: fix blend setup with multiple crtcs In particular, blend_setup() should not overwrite the other crtc's mixer settings. Also, the encoder needs to be able to specify the mixer-id explicitly, since both LVDS and DTV use 'INTF_LVDC_DTV', so we cannot guess the mixer-id from the interface. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit f9a1ca5c4734ad0da68ab322c8e9b7eb0b63a789 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Aug 1 08:26:56 2014 -0400 drm/msm: update generated headers In particular, pick up the definitions for a handful of LVDS related registers. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit e415765f90105a7d2d1b410559520d925444136f Merge: 85ff58a 4884f76 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 10 17:02:37 2014 +0200 Merge branch 'lpc32xx/defconfig' of git://git.antcom.de/linux-2.6 into next/defconfig Pull "ARM: LPC32xx: Device tree updates" from Roland Stigge: This enables ubifs in the lpc32xx defconfig. * 'lpc32xx/defconfig' of git://git.antcom.de/linux-2.6: ARM: LPC32xx: defconfig update commit fb5a613b4f310d6d520daf295547ab35b0ac58a3 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 17:28:22 2014 +0300 kernel: trace_syscalls: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The uses of "rcu_assign_pointer()" are NULLing out the pointers. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Link: http://lkml.kernel.org/p/20140822142822.GA32391@ada Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3a630178fd5f30c285fd7016c5340a176b625913 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Aug 7 10:52:04 2014 -0700 tracing: generate RCU warnings even when tracepoints are disabled Dave Jones reported seeing a bug from one of my TLB tracepoints: http://lkml.kernel.org/r/20140806181801.GA4605@xxxxxxxxxx I've been running these patches for months and never saw this. But, a big chunk of my testing, especially with all the debugging enabled, was in a vm where intel_idle doesn't work. On the systems where I was using intel_idle, I never had lockdep enabled and this tracepoint on at the same time. This patch ensures that whenever we have lockdep available, we do _some_ RCU activity at the site of the tracepoint, despite whether the tracepoint's condition matches or even if the tracepoint itself is completely disabled. This is a bit of a hack, but it is pretty self-contained. I confirmed that with this patch plus lockdep I get the same splat as Dave Jones did, but without enabling the tracepoint explicitly. Link: http://lkml.kernel.org/p/20140807175204.C257CAC5@xxxxxxxxxxxxxxxxxx Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx>, Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit fef5aeeee9e3717e7aea991a7ae9ff6a7a2d4c85 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Jul 24 12:25:47 2014 -0400 ftrace: Replace tramp_hash with old_*_hash to save space Allowing function callbacks to declare their own trampolines requires that each ftrace_ops that has a trampoline must have some sort of accounting that keeps track of which ops has a trampoline attached to a record. The easy way to solve this was to add a "tramp_hash" that created a hash entry for every function that a ops uses with a trampoline. But since we can have literally tens of thousands of functions being traced, that means we need tens of thousands of descriptors to map the ops to the function in the hash. This is quite expensive and can cause enabling and disabling the function graph tracer to take some time to start and stop. It can take up to several seconds to disable or enable all functions in the function graph tracer for this reason. The better approach albeit more complex, is to keep track of how ops are being enabled and disabled, and use that along with the counting of the number of ops attached to records, to determive what ops has a trampoline attached to a record at enabling and disabling of tracing. To do this, the tramp_hash has been replaced with an old_filter_hash and old_notrace_hash, which get the copy of the ops filter_hash and notrace_hash respectively. The old hashes is kept until the ops has been modified or removed and the old hashes are used with the logic of the accounting to determine the ops that have the trampoline of a record. The reason this has less of a footprint is due to the trick that an "empty" hash in the filter_hash means "all functions" and an empty hash in the notrace hash means "no functions" in the hash. This is much more efficienct, doesn't have the delay, and takes up much less memory, as we do not need to map all the functions but just figure out which functions are mapped at the time it is enabled or disabled. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit e1effa0144a1ddf5b456c388ffaf784f3c5163fd Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Aug 5 17:19:38 2014 -0400 ftrace: Annotate the ops operation on update Add three new flags for ftrace_ops: FTRACE_OPS_FL_ADDING FTRACE_OPS_FL_REMOVING FTRACE_OPS_FL_MODIFYING These will be set for the ftrace_ops when they are first added to the function tracing, being removed from function tracing or just having their functions changed from function tracing, respectively. This will be needed to remove the tramp_hash, which can grow quite big. The tramp_hash is used to note what functions a ftrace_ops is using a trampoline for. Denoting which ftrace_ops is being modified, will allow us to use the ftrace_ops hashes themselves, which are much smaller as they have a global flag to denote if a ftrace_ops is tracing all functions, as well as a notrace hash if the ftrace_ops is tracing all but a few. The tramp_hash just creates a hash item for every function, which can go into the 10s of thousands if all functions are using the ftrace_ops trampoline. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 5fecaa044af3dc52e4bc138842bdf1c6676105b1 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Jul 24 16:00:31 2014 -0400 ftrace: Grab any ops for a rec for enabled_functions output When dumping the enabled_functions, use the first op that is found with a trampoline to the record, as there should only be one, as only one ops can be registered to a function that has a trampoline. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3296fc4e2509fa8870923ed52e7990040b151847 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Jul 24 15:33:41 2014 -0400 ftrace: Remove freeing of old_hash from ftrace_hash_move() ftrace_hash_move() currently frees the old hash that is passed to it after replacing the pointer with the new hash. Instead of having the function do that chore, have the caller perform the free. This lets the ftrace_hash_move() be used a bit more freely, which is needed for changing the way the trampoline logic is done. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f7aad4e1a8221210db7eb434349cc6fe87aeee8c Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 10 10:42:46 2014 -0400 ftrace: Set callback to ftrace_stub when no ops are registered The clean up that adds the helper function ftrace_ops_get_func() caused the default function to not change when DYNAMIC_FTRACE was not set and no ftrace_ops were registered. Although static tracing is not very useful (not having DYNAMIC_FTRACE set), it is still supported and we don't want to break it. Clean up the if statement even more to specifically have the default function call ftrace_stub when no ftrace_ops are registered. This fixes the small bug for static tracing as well as makes the code a bit more understandable. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 76ce677063e9194d48d9d44377c4f7f7c1c2e3d3 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Tue Sep 9 17:31:43 2014 +0200 DTS: serial: Add bindings documention for the Mediatek UARTs This patch adds the devicetree documentation for the Mediatek UART. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4756f4f0d773c31e59f203e7f19fd3d5c490193 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Tue Sep 9 17:31:42 2014 +0200 tty: serial: 8250: Add Mediatek UART driver The device has a highspeed register which influences the calcualtion of the divisor. The chip lacks support for some baudrates. When requested, we set the divisor to the next smaller baudrate and adjust the c_cflag accordingly. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08177ece596ccc9b9c194542c095c863c101fd11 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Tue Sep 9 11:03:57 2014 +0100 serial: asc: Adopt readl_/writel_relaxed() The architectures supported by this driver, arm and sh, have expensive implementations of writel(), reliant on spin locks and explicit L2 cache management. These architectures provide a cheaper writel_relaxed() which is much better suited to peripherals that do not perform DMA. The situation with readl()/readl_relaxed()is similar although less acute. This driver does not use DMA and will be more power efficient and more robust (due to absence of spin locks during console I/O) if it uses the relaxed variants. The driver supports COMPILE_TEST and therefore falls back to writel() when writel_relaxed() does not exist. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: kernel@xxxxxxxxxxx Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87d2163dae1f2388c7ccda5269be8d58e24382dd Author: Xiang Wang <wangx@xxxxxxxxxxx> Date: Wed Jul 16 15:50:09 2014 +0800 mmc: sdhci-pxav3: fix error handling of sdhci_add_host Commit 0dcaa2499b7d111bd70da5b0976c34210c850fb3 improved error handling of sdhci_add_host. However, "err_of_parse" and "err_cd_req" should be placed after "pm_runtime_disable(&pdev->dev)". Signed-off-by: Xiang Wang <wangx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4884f769e65b2b02bfdafb9f64217844dfa3d84f Author: Roland Stigge <stigge@xxxxxxxxx> Date: Tue Sep 9 15:35:42 2014 +0200 ARM: LPC32xx: defconfig update This patch adds UBI+UBIFS to LPC32xx defconfig. Signed-off-by: Roland Stigge <stigge@xxxxxxxxx> commit ba441ec225337a82d06a56a5a874a565564a88e0 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Sep 10 08:44:36 2014 +0800 regulator: isl9305: REGULATOR_ISL9305 needs to select REGMAP_I2C Fix ERROR: "devm_regmap_init_i2c" [drivers/regulator/isl9305.ko] undefined! Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5e3905f62b2eb25d4421117e62f9d0434c0b6563 Merge: 2eb1dc3 fe0a29e b8a3ee8 133c268 03be88e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:21:03 2014 +0100 Merge remote-tracking branches 'asoc/fix/davinci', 'asoc/fix/max98090', 'asoc/fix/samsung' and 'asoc/fix/tlv320aic31xx' into asoc-linus commit 2eb1dc3179e1ac6eb5b1a5b1fa11d2a256897a20 Merge: e87a925 8f70e51 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:21:02 2014 +0100 Merge remote-tracking branch 'asoc/fix/pcm' into asoc-linus commit e87a925fb914af9c84ba2f08a6804e2b23c0b3cb Merge: 2ce7598 b794dbc Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:21:01 2014 +0100 Merge remote-tracking branch 'asoc/fix/core' into asoc-linus commit 93a127b11ac034b160ccdd32e27d791b98f52cf5 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:18:56 2014 +0100 regulator: isl9305: Convert to new style DT parsing This removes some code and replaces it with data. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca5c671fb960712e274bf37dff8d6f5ebc02d40a Author: Matteo Croce <matteo@xxxxxxxxxxx> Date: Thu Sep 4 14:51:09 2014 +0200 ath10k: ATH10K_DEBUGFS depends on DEBUG_FS ATH10K_DEBUGFS must depend on DEBUG_FS, otherwise ath10k will generate an invalid pointer on module load. Signed-off-by: Matteo Croce <matteo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c4f8c83665cf47b658ec2e4cc83cd873f8c943c7 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 4 10:18:32 2014 +0200 ath10k: use proper service bitmap size On 32bit systems the bitmap was too small and it was overwritten partially by the stat completion structure. This was visible with 10.2 firmware only due to it using a few of the last service ids. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit e13cf7a313a44c7279b4b646b5b7056d702ad0b7 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 4 09:13:08 2014 +0200 ath10k: move fw_crash_dump allocation The fw_crash_data was allocated too late. Upon early firmware crash, before registering to mac80211, it was possible to crash the whole system: ath10k_pci 0000:00:05.0: device has crashed during init BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffffa0058005>] ath10k_debug_get_new_fw_crash_data+0x15/0x30 [ath10k_core] PGD 0 Oops: 0002 [#1] SMP Modules linked in: ath10k_pci(O) ath10k_core(O) ath [last unloaded: ath] CPU: 3 PID: 29 Comm: kworker/u8:1 Tainted: G O 3.17.0-rc2-wl-ath+ #447 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 Workqueue: ath10k_wq ath10k_core_register_work [ath10k_core] task: ffff88001eb01ad0 ti: ffff88001eb60000 task.ti: ffff88001eb60000 RIP: 0010:[<ffffffffa0058005>] [<ffffffffa0058005>] ath10k_debug_get_new_fw_crash_data+0x15/0x30 [ath10k_core] RSP: 0018:ffff88001eb63ce8 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffffc90001a09030 RDI: 0000000000000001 RBP: ffff88001eb63cf0 R08: 0000000000000000 R09: ffff8800000bb200 R10: 00000000000001e2 R11: ffff88001eb638de R12: ffff88001d7459a0 R13: ffff88001d746ab0 R14: 00000000fffe14d4 R15: ffff88001d747c60 FS: 0000000000000000(0000) GS:ffff88001fd80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000000 CR3: 000000001df34000 CR4: 00000000000006e0 Stack: ffff88001d7459a0 ffff88001eb63d58 ffffffffa0083bbe ffff880000000010 ffff88001eb63d68 ffff88001eb63d18 0000000000000002 0000000000059010 ffffffffa0086fef 00000000deadbeef ffff88001d747a28 ffff88001d7459a0 Call Trace: [<ffffffffa0083bbe>] ath10k_pci_fw_crashed_dump+0x2e/0xd0 [ath10k_pci] [<ffffffffa0085410>] __ath10k_pci_hif_power_up+0x5f0/0x700 [ath10k_pci] [<ffffffffa0085550>] ath10k_pci_hif_power_up+0x30/0xe0 [ath10k_pci] [<ffffffffa005bc7b>] ath10k_core_register_work+0x2b/0x520 [ath10k_core] [<ffffffff810689cc>] process_one_work+0x18c/0x3f0 [<ffffffff81069011>] worker_thread+0x121/0x4a0 [<ffffffff81068ef0>] ? rescuer_thread+0x2c0/0x2c0 [<ffffffff8106daf2>] kthread+0xd2/0xf0 [<ffffffff8106da20>] ? kthread_create_on_node+0x170/0x170 [<ffffffff81857cfc>] ret_from_fork+0x7c/0xb0 [<ffffffff8106da20>] ? kthread_create_on_node+0x170/0x170 Code: 8b 40 38 48 c7 80 00 01 00 00 00 00 00 00 5b 5d c3 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 53 48 8b 9f 90 1d 00 00 48 8d 7b 01 <c6> 03 01 e8 e3 ec 2b e1 48 8d 7b 18 e8 6a 4f 05 e1 48 89 d8 5b RIP [<ffffffffa0058005>] ath10k_debug_get_new_fw_crash_data+0x15/0x30 [ath10k_core] RSP <ffff88001eb63ce8> CR2: 0000000000000000 ---[ end trace 5d0ed15b050bcc1f ]--- Kernel panic - not syncing: Fatal exception in interrupt Kernel Offset: 0x0 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffff9fffffff) ---[ end Kernel panic - not syncing: Fatal exception in interrupt To prevent that split debug functions and allocate fw_crash_data earlier. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3f7c69637511a39f4400dc8312bbcecaa592ab61 Merge: dec38b5 a0c7b16 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:03:23 2014 +0100 Merge branch 'topic/of' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-isl9305 commit 7d42a7f293da03387cd8737a360c89c81640b67d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 9 23:16:11 2014 +0100 regulator: tps65217: Use simplified DT parsing Remove a bunch of code in favour of data. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dc1e0b1db4e14b6e15674113c99dc75adf093d34 Merge: c2542d2 a0c7b16 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:02:41 2014 +0100 Merge branch 'topic/of' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-tps65217 commit a0c7b164ad115ec0556dc0904ee2218cbc5cedfa Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 9 23:13:57 2014 +0100 regulator: of: Provide simplified DT parsing method Currently regulator drivers which support DT all repeat very similar code to supply a list of known regulator identifiers to be matched with DT, convert that to platform data which is then matched up with the regulators as they are registered. This is both fiddly to get right and for devices which can use the standard helpers to provide their operations is the main source of code in the driver. Since this code is essentially identical for most drivers we can factor it out into the core, moving the identifiers in the match table into the regulator descriptors and also allowing drivers to pass in the name of the subnode to search. When a driver provides an of_match string for the regulator the core will attempt to use that to obtain init_data, allowing the driver to remove all explicit code for DT parsing and simply provide data instead. The current code leaks the phandles for the child nodes, this will be addressed incrementally and makes no practical difference for FDT anyway as the DT data structures are never freed. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 88a60e552f114ae34796604575239fb196658067 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 8 13:14:05 2014 +0200 ASoC: simple-card: fix regression in clock rate lookup Commit 7c7b9cf53d284f ("ASoC: simple-card: fixup cpu_dai_name clear case") changed the way that "sound-dai" properties are handled, which leads to the clock frequency not being picked up from the node that the phandle points to, as correctly identified by gcc with this warning: sound/soc/generic/simple-card.c: In function 'asoc_simple_card_sub_parse_of': sound/soc/generic/simple-card.c:165:7: warning: 'node' may be used uninitialized in this function [-Wmaybe-uninitialized] This restores the previous behavior by using the node from of_parse_phandle_with_args() that was previously being returned from of_parse_phandle(). Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0dd4fc3c2f663b9124855daf3fd841d70b4dbeea Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Wed Sep 10 09:59:55 2014 +0800 ASoC: simple-card: Adjust the comments of simple card. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 571a4010847a8b03c88de6543c5c00878a7e97d3 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Wed Sep 10 09:18:06 2014 +0800 regulator: rk808: Remove pdata from the regulator Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bfac1f59a1afb13a3cf225bffd04be99a49c51a6 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Sep 3 16:16:47 2014 +0200 KVM: s390/interrupt: remove double assignment r is already initialized to 0. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> commit f7a960affc6e5a33e8c7fcef065affc4f0461041 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Sep 3 21:23:13 2014 +0200 KVM: s390/cmm: Fix prefix handling for diag 10 balloon The old handling of prefix pages was broken in the diag10 ballooner. We now rely on gmap_discard to check for start > end and do a slow path if the prefix swap pages are affected: 1. discard the pages from start to prefix 2. discard the absolute 0 pages 3. discard the pages after prefix swap to end Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> commit 6b331952f1bc2df61c98954e25578629c439e417 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Sep 3 21:17:03 2014 +0200 KVM: s390: get rid of constant condition in ipte_unlock_simple Due to the earlier check we know that ipte_lock_count must be 0. No need to add a useless if. Let's make clear that we are going to always wakeup when we execute that code. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> commit f346026e55f1efd3949a67ddd1dcea7c1b9a615e Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Sep 3 16:21:32 2014 +0200 KVM: s390: unintended fallthrough for external call We must not fallthrough if the conditions for external call are not met. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 0349985add77ef5c9da8a75f4a9855977f4197d9 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Aug 25 12:38:57 2014 +0200 KVM: s390: Limit guest size to 16TB Currently we fill up a full 5 level page table to hold the guest mapping. Since commit "support gmap page tables with less than 5 levels" we can do better. Having more than 4 TB might be useful for some testing scenarios, so let's just limit ourselves to 16TB guest size. Having more than that is totally untested as I do not have enough swap space/memory. We continue to allow ucontrol the full size. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 614aeab4dcd0aafb1538d5035eb9855f15b84014 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Aug 25 12:27:29 2014 +0200 KVM: s390: add __must_check to interrupt deliver functions We now propagate interrupt injection errors back to the ioctl. We should mark functions that might fail with __must_check. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> commit 5102ee879539ebd2e0de1eb93290e3d691973e79 Author: Tony Krowiak <akrowiak@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 27 14:46:01 2014 -0400 KVM: CPACF: Enable MSA4 instructions for kvm guest We have to provide a per guest crypto block for the CPUs to enable MSA4 instructions. According to icainfo on z196 or later this enables CCM-AES-128, CMAC-AES-128, CMAC-AES-192 and CMAC-AES-256. Signed-off-by: Tony Krowiak <akrowiak@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> [split MSA4/protected key into two patches] commit 6157c7e1bb23dae5af4d5b2037203da4c64cc561 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Thu Aug 14 13:27:31 2014 -0400 locking/rwlock, x86: Delete unused asm/rwlock.h and rwlock.S This patch removes the unused asm/rwlock.h and rwlock.S files. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408037251-45918-3-git-send-email-Waiman.Long@xxxxxx Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Francesco Fusco <ffusco@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2ff810a7ef38b55ba6c7b80bb7ff22847fd3be69 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Thu Aug 14 13:27:30 2014 -0400 locking/rwlock, x86: Clean up asm/spinlock*.h to remove old rwlock code As the x86 architecture now uses qrwlock for its read/write lock implementation, it is no longer necessary to keep the old rwlock code around. This patch removes the old rwlock code in the asm/spinlock.h and asm/spinlock_types.h files. Now the ARCH_USE_QUEUE_RWLOCK config parameter cannot be removed from x86/Kconfig or there will be a compilation error. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Link: http://lkml.kernel.org/r/1408037251-45918-2-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit da4c54457e6d8262423aded4bcbccc4103049506 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 2 22:21:26 2014 +0200 locking, mips: Fix atomics The patch folding the atomic ops had two silly fails in the _return primitives. Fixes: ef31563e950c ("locking,arch,mips: Fold atomic_ops") Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Bart Van Assche <bvanassche@xxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902202126.GA3190@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit caa17d49f9a5cc09b3bbb101dc640f914f3b4ff7 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 2 11:40:16 2014 +0200 locking, sparc64: Fix atomics The patch folding the atomic ops had a silly fail in the _return primitives. Fixes: 4f3316c2b5fe ("locking,arch,sparc: Fold atomic_ops") Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140902094016.GD31157@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fdcaa1dbb7c6ed419b10fb8cdb5001ab0a00538f Merge: bb6d822 3feb049 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 10 19:43:29 2014 +1000 Merge tag 'ipu-3.18' of git://git.pengutronix.de/git/pza/linux into drm-next IPUv3 preparations for capture support * tag 'ipu-3.18' of git://git.pengutronix.de/git/pza/linux: (26 commits) gpu: ipu-v3: Add ipu_dump() gpu: ipu-cpmem: Add ipu_cpmem_dump() gpu: ipu-v3: Add more planar formats support gpu: ipu-cpmem: Add second buffer support to ipu_cpmem_set_image() gpu: ipu-cpmem: Add ipu_cpmem_set_rotation() gpu: ipu-cpmem: Add ipu_cpmem_set_axi_id() gpu: ipu-cpmem: Add ipu_cpmem_set_block_mode() gpu: ipu-v3: Add ipu_idmac_lock_enable() gpu: ipu-v3: Add ipu_idmac_enable_watermark() gpu: ipu-v3: Add ipu_stride_to_bytes() gpu: ipu-v3: Add __ipu_idmac_reset_current_buffer() gpu: ipu-v3: Add ipu_idmac_clear_buffer() gpu: ipu-v3: Add ipu_idmac_buffer_is_ready() gpu: ipu-v3: Move IDMAC channel names to imx-ipu-v3.h gpu: ipu-v3: Add helper function checking if pixfmt is planar gpu: ipu-v3: Add rotation mode conversion utilities gpu: ipu-v3: Add ipu_mbus_code_to_colorspace() gpu: ipu-v3: smfc: Add ipu_smfc_set_watermark() gpu: ipu-v3: smfc: Convert to per-channel gpu: ipu-v3: smfc: Move enable/disable to ipu-smfc.c ... commit 209cf19fcd927e6db9f2ef38e3ca6afdcc0d4d5a Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Sep 9 17:27:19 2014 +0100 KVM: fix api documentation of KVM_GET_EMULATED_CPUID It looks like when this was initially merged it got accidentally included in the following section. I've just moved it back in the correct section and re-numbered it as other ioctls have been added since. Signed-off-by: Alex BennÃ?©e <alex.bennee@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4bd9d3441edadff4c8df9de4b5d5386c36667ca6 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Sep 9 17:27:18 2014 +0100 KVM: document KVM_SET_GUEST_DEBUG api In preparation for working on the ARM implementation I noticed the debug interface was missing from the API document. I've pieced together the expected behaviour from the code and commit messages written it up as best I can. Signed-off-by: Alex BennÃ?©e <alex.bennee@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bb6d822ec546603bca01f7ba17c52f0f4f80e329 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:46 2014 +0200 drm: move drm-lock API to drm_legacy.h Same as the other legacy APIs, most of this is internal, so prefix it with drm_legacy_* and move into drm_legacy.h. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit c73541336389f9fd72f592601c40a2e70320cf31 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Aug 22 05:55:16 2014 +0100 mmc: mmci: rename sdio flag in vendor data to st_sdio This patch renames sdio flag in vendor data to st_sdio, as this flag is only used to enable ST specific sdio setup. This will also ensure that the ST specfic setup is not done on other vendor like Qualcomm. Originally the issue was detected while testing WLAN ath6kl on IFC6410 board with APQ8064 SOC. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5df014df12b1178e0b76b7273913ce1531ecf20e Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Aug 22 05:54:55 2014 +0100 mmc: mmci: Add sdio enable mask in variant data This patch adds sdio enable mask in variant data, SOCs like ST have special bits in datactrl register to enable sdio. Unconditionally setting this bit in this driver breaks other SOCs like Qualcomm which maps this bits to something else, so making this enable bit to come from variant data solves the issue. Originally the issue is detected while testing WLAN ath6kl on Qualcomm APQ8064. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d4f68a7506e924e28a9153933076628002ba8bbc Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:45 2014 +0200 drm: merge drm_usb into udl This merges all the remains of drm_usb into its only user, udl. We can then drop all the drm_usb stuff, including dev->usbdev. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit c5786fe5f1c50941dbe27fc8b4aa1afee46ae893 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:44 2014 +0200 drm: Goody bye, drm_bus! ..we will not miss you.. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 915b4d11b8b9e7b84ba4a4645b6cc7fbc0c071cf Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:43 2014 +0200 drm: add driver->set_busid() callback One step closer to dropping all the drm_bus_* code: Add a driver->set_busid() callback and make all drivers use the generic helpers. Nouveau is the only driver that uses two different bus-types with the same drm_driver. This is totally broken if both buses are available on the same machine (unlikely, but lets be safe). Therefore, we create two different drivers for each platform during module_init() and set the set_busid() callback respectively. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 1e444be0ef1bda2b180ecdedfa4c5d32bf236a5d Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:42 2014 +0200 drm: drop unused drm_master->unique_size This field is unused and there is really no reason to optimize unique-allocations. Drop it. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d0a39164b6adad0cec5046b6aad6b590cc9466cc Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:41 2014 +0200 drm: simplify drm_*_set_unique() Lets use kasprintf() to avoid pre-allocating the buffer. This is really nothing to optimize for speed and the input is trusted, so kasprintf() is just fine. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d7d2c48e5cfe27dc7378e48d4f22efcf417317d9 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:40 2014 +0200 drm: move remaining includes in drmP.h to the top Including headers somewhere else but at the top is ugly, deprecated and was used in early days only to speed up compile-times. Those days are over. Make headers independent and then move the inclusions to the top. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 69d516c0a990b42c4d55f7631fa28cc41bfcc8f0 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:39 2014 +0200 drm: inline "struct drm_sigdata" The sigdata structure is only used to group two fields in drm_device. Inline it and make it an unnamed object. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 2368ffb18b1d2b04eb80478d225676caa7a3c4c8 Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Date: Wed Aug 6 03:22:46 2014 +0200 drm: Use vblank_disable_and_save in drm_vblank_cleanup() Calling vblank_disable_fn() will cause that function to no-op if !dev->vblank_disable_allowed for some kms drivers, e.g., on nouveau-kms. This can cause the gpu vblank irq's to not get disabled before freeing the dev->vblank array, so if a vblank irq fires and calls into drm_handle_vblank() after drm_vblank_cleanup() completes, it will cause use-after-free access to dev->vblank array. Call vblank_disable_and_save unconditionally, so vblank irqs are guaranteed to be off, before we delete the data structures on which they operate. Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Fix subsystem name in patch subject.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit edf0ac7c67ce596f43d66a781660889bbdcc9505 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:38 2014 +0200 drm: drop DRM_DEBUG_CODE DRM_DEBUG_CODE is currently always set, so distributions enable it. The only reason to keep support in code is if developers wanted to disable debug support. Sounds unlikely. All the DRM_DEBUG() printks are still guarded by a drm_debug read. So if its cacheline is read once, they're discarded pretty fast.. There should hardly be any performance penalty, it's even guarded by unlikely(). Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 969939087da7aca386ff166a1c67ee9707215feb Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:37 2014 +0200 drm: order includes alphabetically in drmP.h It is hardly possible to review the drmP.h includes, anymore. Order them alphabetically, linux/ first, then asm/ and then local drm/ includes. Since a long time ago, kernel headers have been converted to include required headers themselves. No-one cares whether that means the compiler has to include a header multiple times. In fact, GCC already does some optimization regarding multiple inclusions if a sorrounding #ifndef is present. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 71930d74e4ad5b2cddc03e0a47ad0cc7ba51845c Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:36 2014 +0200 drm: move __OS_HAS_AGP into drm_agpsupport.h With drm_memory.h gone, there is no header left that uses __OS_HAS_AGP. Move it into drm_agpsupport.h (which is itself included from drmP.h) to hide it harder from public eyes. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d6db6564457c5ad617c3bcf44bed58a227f4c702 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:35 2014 +0200 drm: merge drm_memory.h into drm_memory.c The drm_memory.h header is only used to define PAGE_AGP, which is only used in drm_memory.c. Fold the header into drm_memory.c and drop it. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 32abc552bc869edcfa7b1c6ee365e0b58a134ec6 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:34 2014 +0200 drm: drop __KERNEL__ protection in drmP.h drmP.h is internal to the kernel. No need to keep the __KERNEL__ protection. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 2791ee85e1e9805d600782e554f706458ec6c84e Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:33 2014 +0200 drm: replace weird conditional includes pte_wrprotect() is only used by drm_vm.c, so move the include there. Also include it unconditionally, all architectures provide this header! Furthermore, replace asm/current.h with sched.h, which includes asm/current.h unconditionally. This way we get the same effect and avoid direct asm/ includes. Furthermore, drop the weird __alpha__ protection. It's safe to include sched.h everywhere (and the wait.h comment doesn't apply, anyway). Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit cc5ea5947a52b98cd9a03d4011a5a12b4e5a99c4 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:32 2014 +0200 drm: move AGP definitions harder Move drm_agp_head to drm_agpsupport.h and drm_agp_mem into drm_legacy.h. Unfortunately, drivers still heavily access drm_agp_head so we cannot move it to drm_legacy.h. However, at least it's no longer visible in drmP.h now (it's directly included from it, though). Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit cc33db0a6108d41b94eba0d84b0627cc52585109 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:31 2014 +0200 drm: drop unused "struct drm_waitlist" This structure is unused, drop it. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 71d39483de474d9513e23d9e21af7483684f4745 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:30 2014 +0200 drm: move "struct drm_magic_entry" to drm_auth.c In drm_release(), we currently call drm_remove_magic() if the drm_file has a drm-magic attached. Therefore, once drm_master_release() is called, the magic-list _must_ be empty. By dropping the no-op cleanup, we can move "struct drm_magic_entry" to drm_auth.c and avoid exposing it to all of DRM. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 03decbe57ac6c9e632f7cde0f7d0a54bbcaf8464 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:29 2014 +0200 drm: move "struct drm_vma_entry" to drm_vm.c Make all the drm_vma_entry handling local to drm_vm.c and hide it from global headers. This requires to extract the inlined legacy drm_vma_entry cleanup into a small helper and also move a weirdly placed drm_vma_info helper into drm_vm.c. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 9fc5cde7fb6699b0a75e90b7cbfee7c912dd94c2 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:28 2014 +0200 drm: mark drm_buf and drm_map as legacy Move internal declarations to drm_legacy.h and add drm_legacy_*() prefix to all legacy functions. [airlied: add a bit of an explaination to drm_legacy.h] Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 9f50bd8905ab12e3e8ebffd8296d7921bd3976eb Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:27 2014 +0200 drm/radeon: move drm_buffer to drm/radeon/ Radeon UMS is the last user of drm_buffer. Move it out of sight so radeon can drop it together with UMS. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit efb089517d2f34a58aceb600ab58b0ca3db1fa07 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Sep 9 08:14:36 2014 +0400 serial: clps711x: Fix COMPILE_TEST build for target without GPIOLIB support The patch fixes the following build error of CLPS711X serial driver for targets without GPIOLIB support: >> drivers/tty/serial/serial_mctrl_gpio.c:44:6: error: redefinition of 'mctrl_gpio_set' void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl) ^ In file included from drivers/tty/serial/serial_mctrl_gpio.c:23:0: drivers/tty/serial/serial_mctrl_gpio.h:80:6: note: previous definition of 'mctrl_gpio_set' was here void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl) ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 999156ada570cb4a2eaee42e47c9e659b5c577fb Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Sep 9 20:37:59 2014 +0200 sparc/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on all the archs. Unfortunaltely the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e63aee564229f95d1e1d7e5e21ffe2622f28f16 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Sep 9 20:59:50 2014 +0200 sh/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on all the archs. Unfortunaltely the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12b46b66f098de4b72ea6f14b8228d1e71ab9fd1 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Sep 9 20:58:15 2014 +0200 parisc/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on all the archs. Unfortunaltely the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9a2eab5fb65232512adac58898eef835124a40e Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Sep 9 21:39:24 2014 +0200 xtensa/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 [3/21] serial/8250: Add support for RS485 IOCTLs, adds support for RS485 ioctls for 825_core on all the archs. Unfortunaltely the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b4af1d94903143f88e541b00f028fa449a26f73 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Sep 9 07:17:45 2014 +0200 serial/8250_core: Add reference to uacess.h Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 [3/21] serial/8250: Add support for RS485 IOCTLs, adds a building error on arch m32r. All error/warnings: drivers/tty/serial/8250/8250_core.c: In function 'serial8250_ioctl': >> drivers/tty/serial/8250/8250_core.c:2859:3: error: implicit declaration of function 'copy_from_user' [-Werror=implicit-function-declaration] if (copy_from_user(&rs485_config, (void __user *)arg, ^ >> drivers/tty/serial/8250/8250_core.c:2871:3: error: implicit declaration of function 'copy_to_user' [-Werror=implicit-function-declaration] if (copy_to_user((void __user *)arg, &up->rs485, ^ cc1: some warnings being treated as errors Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6618ec6f742955dcddb71091ec461fbd5fec9fd3 Merge: fe3881c 19424e0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 9 21:29:50 2014 -0700 Merge branch 'ipip_sit_gro' Tom Herbert says: ==================== net: enable GRO for IPIP and SIT This patch sets populates the IPIP and SIT offload structures with gro_receive and gro_complete functions. This enables use of GRO for these. Also, fixed a problem in IPv6 where we were not properly initializing flush_id. Peformance results are below. Note that these tests were done on bnx2x which doesn't provide RX checksum offload of IPIP or SIT (i.e. does not give CHEKCSUM_COMPLETE). Also, we don't get 4-tuple hash for RSS only 2-tuple in this case so all the packets between two hosts are winding up on the same queue. Net result is the interrupting CPU is the bottleneck in GRO (checksumming every packet there). Testing: netperf TCP_STREAM between two hosts using bnx2x. * Before fix IPIP 1 connection 6.53% CPU utilization 6544.71 Mbps 20 connections 13.79% CPU utilization 9284.54 Mbps SIT 1 connection 6.68% CPU utilization 5653.36 Mbps 20 connections 18.88% CPU utilization 9154.61 Mbps * After fix IPIP 1 connection 5.73% CPU utilization 9279.53 Mbps 20 connections 7.14% CPU utilization 7279.35 Mbps SIT 1 connection 2.95% CPU utilization 9143.36 Mbps 20 connections 7.09% CPU utilization 6255.3 Mbps ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19424e052fb44da2f00d1a868cbb51f3e9f4bbb5 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Tue Sep 9 11:23:16 2014 -0700 sit: Add gro callbacks to sit_offload Add ipv6_gro_receive and ipv6_gro_complete to sit_offload to support GRO. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9667e9bb3f366435dde74f22578876daae850feb Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Tue Sep 9 11:23:15 2014 -0700 ipip: Add gro callbacks to ipip offload Add inet_gro_receive and inet_gro_complete to ipip_offload to support GRO. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03d56daafe9d4e04a8a0d305789cd3eda250746b Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Tue Sep 9 11:23:14 2014 -0700 ipv6: Clear flush_id to make GRO work In TCP gro we check flush_id which is derived from the IP identifier. In IPv4 gro path the flush_id is set with the expectation that every matched packet increments IP identifier. In IPv6, the flush_id is never set and thus is uinitialized. What's worse is that in IPv6 over IPv4 encapsulation, the IP identifier is taken from the outer header which is currently not incremented on every packet for Linux stack, so GRO in this case never matches packets (identifier is not increasing). This patch clears flush_id for every time for a matched packet in IPv6 gro_receive. We need to do this each time to overwrite the setting that would be done in IPv4 gro_receive per the outer header in IPv6 over Ipv4 encapsulation. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe3881cf7e09dfb93e4a4c65f44e2d92f92d0022 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 20:27:44 2014 -0700 drivers/net: Convert remaining uses of pr_warning to pr_warn Use the much more common pr_warn instead of pr_warning. Other miscellanea: o Typo fixes submiting/submitting o Coalesce formats o Realign arguments o Add missing terminating '\n' to formats Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64d14a31d5410ea34641c41795e0ba222bda740c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 9 14:43:10 2014 -0300 ARM: imx: Remove mach-mxt_td60 board file All the current support of mach-mxt_td60 board can be converted to devicetree. Remove the board file. Cc: Alan Carvalho de Assis <acassis@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 46cfd725c377bc5bb32b56b5151d6de4cb5a71e3 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 10 01:08:46 2014 +0200 net: use kfree_skb_list() helper in more places Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72bb17b37b9076e12b388feee4a52e85ef8f6620 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 9 08:29:12 2014 -0700 ipv4: udp4_gro_complete() is static net/ipv4/udp_offload.c:339:5: warning: symbol 'udp4_gro_complete' was not declared. Should it be static? Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Tom Herbert <therbert@xxxxxxxxxx> Fixes: 57c67ff4bd92 ("udp: additional GRO support") Acked-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 416c51e17b8b31b574763ac2b88ee99ddbb0c85d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 9 08:24:53 2014 -0700 netns: remove one sparse warning net/core/net_namespace.c:227:18: warning: incorrect type in argument 1 (different address spaces) net/core/net_namespace.c:227:18: expected void const *<noident> net/core/net_namespace.c:227:18: got struct net_generic [noderef] <asn:4>*gen We can use rcu_access_pointer() here as read-side access to the pointer was removed at least one grace period ago. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc9c668a0805cdf6141ffae3d8e9a94875ec7a54 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 9 08:16:17 2014 -0700 ipv6: udp6_gro_complete() is static net/ipv6/udp_offload.c:159:5: warning: symbol 'udp6_gro_complete' was not declared. Should it be static? Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 57c67ff4bd92 ("udp: additional GRO support") Cc: Tom Herbert <therbert@xxxxxxxxxx> Acked-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e380f004e8e3c071590426a64210331051a4c42 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 9 08:11:41 2014 -0700 ipv4: rcu cleanup in ip_ra_control() Remove one sparse warning : net/ipv4/ip_sockglue.c:328:22: warning: incorrect type in assignment (different address spaces) net/ipv4/ip_sockglue.c:328:22: expected struct ip_ra_chain [noderef] <asn:4>*next net/ipv4/ip_sockglue.c:328:22: got struct ip_ra_chain *[assigned] ra And replace one rcu_assign_ptr() by RCU_INIT_POINTER() where applicable. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbeddd5d163ba7a6cd96a96509f7043cce4f68d2 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Tue Sep 9 13:07:32 2014 +0200 ipv6: mcast: remove dead debugging defines It's not used anywhere, so just remove these. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be07b79dcfac2e19160f59229032325ff49ac69c Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 9 11:48:29 2014 +0300 irda: vlsi_ir: use %*ph specifier Instead of looping in the code let's use kernel extension to dump small buffers. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ddfa07778afdd9e00406a6a8ede827d51d9f26e Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Tue Sep 9 11:40:28 2014 +0800 r8152: use usleep_range Replace mdelay with usleep_range to avoid busy loop. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e5542604ab64d9a7866226bbab3725532caf070 Merge: 83c9b2a 66b0436 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Tue Sep 9 19:28:41 2014 -0700 Merge branch 'pull/v3.18/for-dt-pinctrl-updates' of https://github.com/nmenon/linux-2.6-playground into omap-for-v3.18/dt commit 377fb3f5d9a34b2913939e0620c1c585b5913bab Author: Nishanth Menon <nm@xxxxxx> Date: Tue Sep 9 12:15:33 2014 -0500 ARM: OMAP5+: Reuse OMAP4 PM code for OMAP5 and DRA7 OMAP4, OMAP5 and DRA7 share a lot of common logic and data structures. These have been enabled in the previous patches, however, this also means that OMAP5 or DRA7 only builds also need to build OMAP4 logic. Update to reuse OMAP4 logic. This fixes the 'undefined reference to 'omap4_pm_init_early'' in OMAP5 or DRA7 only builds. Fixes: 6af16a1dac5465c ("ARM: DRA7: Add hook in SoC initcalls to enable pm initialization") Fixes: 628ed4717000789 ("ARM: OMAP5: Add hook in SoC initcalls to enable pm initialization") Reported-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 67cc0d4077951295f42bed63805e91b46c24477b Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Mon Sep 8 19:58:58 2014 -0400 net-timestamp: optimize sock_tx_timestamp default path Few packets have timestamping enabled. Exit sock_tx_timestamp quickly in this common case. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17448e5f63c8f36d00532327ae65e253d1395b08 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Sep 8 23:33:01 2014 +0200 net_sched: sfq: remove unused macro not used anymore since ddecf0f (net_sched: sfq: add optional RED on top of SFQ). Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ef6dae4ba0fc074eca69157aa29fe59b22f812c Author: Rick Jones <rick.jones2@xxxxxx> Date: Tue Sep 9 14:43:27 2014 -0700 sfc: Convert the normal transmit complete path to dev_consume_skb_any() Convert the normal transmit completion path from dev_kfree_skb_any() to dev_consume_skb_any() to help keep dropped packet profiling meaningful. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29c10a817f54131ec6babe724aada6772acbbf47 Merge: c6ec956 87163ef Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 9 17:31:43 2014 -0700 Merge branch 'bond_lock_removal' Nikolay Aleksandrov says: ==================== bonding: get rid of bond->lock This patch-set removes the last users of bond->lock and converts the places that needed it for sync to use curr_slave_lock or RCU as appropriate. I've run this with lockdep and have stress-tested it via loading/unloading and enslaving/releasing in parallel while outputting bond's proc, I didn't see any issues. Please pay special attention to the procfs change, I've done about an hour of stress-testing on it and have checked that the event that causes the bonding to delete its proc entry (NETDEV_UNREGISTER) is called before ndo_uninit() and the freeing of the dev so any readers will sync with that. Also ran sparse checks and there were no splats. v2: Add patch 0001/cxgb4 bond->lock removal, RTNL should be held in the notifier call, the other patches are the same. Also tested with allmodconfig to make sure there're no more users of bond->lock. Changes from the RFC: use RCU in procfs instead of RTNL since RTNL might lead to a deadlock with unloading and also is much slower. The bond destruction syncs with proc via the proc locks. There's one new patch that converts primary_slave to use RCU as it was necessary to fix a longstanding bugs in sysfs and procfs and to make it easy to migrate bond's procfs to RCU. And of course rebased on top of net-next current. This is the first patch-set in a series that should simplify the bond's locking requirements and will make it easier to define the locking conditions necessary for the various paths. The goal is to rely on RTNL and rcu alone, an extra lock would be needed in a few special cases that would be documented very well. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87163ef9cda7617f8afdb549de191706641003c0 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:17:03 2014 +0200 bonding: remove last users of bond->lock and bond->lock itself The usage of bond->lock in bond_main.c was completely unnecessary as it didn't help to sync with anything, most of the spots already had RTNL. Since there're no more users of bond->lock, remove it. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 246df7b423aa61a8bd0b58404759a9abb4c15081 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:17:02 2014 +0200 bonding: options: remove bond->lock usage We're safe to remove the bond->lock use from the arp targets because arp_rcv_probe no longer acquires bond->lock, only rcu_read_lock. Also setting the primary slave is safe because noone uses the bond->lock as a syncing mechanism for that anymore. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9fe8efeeae11f19bb6fafd6153ec77deaeb4b83 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:17:01 2014 +0200 bonding: procfs: clean bond->lock usage and use RCU Use RCU to protect against slave release, the proc show function will sync with the bond destruction by the proc locks and the fact that the bond is released after NETDEV_UNREGISTER which causes the bonding to remove the proc entry. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 059b47e8aaf997245bc531e980581de492315fe6 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:17:00 2014 +0200 bonding: convert primary_slave to use RCU This is necessary mainly for two bonding call sites: procfs and sysfs as it was dereferenced without any real protection. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ecfede424e95b211050f777c3ae96356926ed1c4 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:16:59 2014 +0200 bonding: alb: clean bond->lock We can remove the lock/unlock as it's no longer necessary since RTNL should be held while calling bond_alb_set_mac_address(). Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdbc5f13036c13ba47dad5f99645556fc40381f0 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:16:58 2014 +0200 bonding: 3ad: use curr_slave_lock instead of bond->lock In 3ad mode the only syncing needed by bond->lock is for the wq and the recv handler, so change them to use curr_slave_lock. There're no locking dependencies here as 3ad doesn't use curr_slave_lock at all. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51752afa735ab28b6023fcf22ec63955107f8a65 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:16:57 2014 +0200 cxgb4: remove bond->lock RTNL should be already held in the notifier call so the slave list can be traversed without a problem, remove the unnecessary bond->lock. CC: Hariprasad S <hariprasad@xxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6ec956b73dbeb23f1f58aaf4dbb73eb509779c0 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Sep 8 17:14:50 2014 +0000 ARM: dts: Enable emac node on the rk3188-radxarock boards This enables EMAC Rockchip support on radxa rock boards. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18ec91e1947f478f4fb7d7b1a2b0696d15f464c5 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Sep 8 17:14:49 2014 +0000 ARM: dts: Add emac nodes to the rk3188 device tree This adds support for EMAC Rockchip driver on RK3188 SoCs. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40404e00f1a23f2a6350737ce02753917edece56 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Sep 8 17:14:48 2014 +0000 dt-bindings: Document EMAC Rockchip This adds the necessary binding documentation for the EMAC Rockchip platform driver found in RK3066 and RK3188 SoCs. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6eacf31139bf9638c62eb7853ee37f70da1ad28c Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Sep 8 17:14:47 2014 +0000 ethernet: arc: Add support for Rockchip SoC layer device tree bindings This patch defines a platform glue layer for Rockchip SoCs which support arc-emac driver. It ensures that regulator for the rmii is on before trying to connect to the ethernet controller. It applies right speed and mode changes to the grf when ethernet settings change. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b32c44b93af31e9163514df0f3ac2791972eb124 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Sep 2 11:13:04 2014 +0200 clk: shmobile: Add r8a7740, sh73a0 SoCs to MSTP bindings Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 60005c60b1ea807013bcbbfe9309fc924a3881f0 Merge: ca777ef 286aad3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 9 16:59:03 2014 -0700 Merge branch 'bpf-next' Daniel Borkmann says: ==================== BPF updates [ Set applies on top of current net-next but also on top of Alexei's latest patches. Please see individual patches for more details. ] Changelog: v1->v2: - Removed paragraph in 1st commit message - Rest stays the same ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 286aad3c4014ca825c447e07e24f8929e6d266d2 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Mon Sep 8 08:04:49 2014 +0200 net: bpf: be friendly to kmemcheck Reported by Mikulas Patocka, kmemcheck currently barks out a false positive since we don't have special kmemcheck annotation for bitfields used in bpf_prog structure. We currently have jited:1, len:31 and thus when accessing len while CONFIG_KMEMCHECK enabled, kmemcheck throws a warning that we're reading uninitialized memory. As we don't need the whole bit universe for pages member, we can just split it to u16 and use a bool flag for jited instead of a bitfield. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55309dd3d4cd7420376a3de0526d6ed24ff8fa76 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Mon Sep 8 08:04:48 2014 +0200 net: bpf: arm: address randomize and write protect JIT code This is the ARM variant for 314beb9bcab ("x86: bpf_jit_comp: secure bpf jit against spraying attacks"). It is now possible to implement it due to commits 75374ad47c64 ("ARM: mm: Define set_memory_* functions for ARM") and dca9aa92fc7c ("ARM: add DEBUG_SET_MODULE_RONX option to Kconfig") which added infrastructure for this facility. Thus, this patch makes sure the BPF generated JIT code is marked RO, as other kernel text sections, and also lets the generated JIT code start at a pseudo random offset instead on a page boundary. The holes are filled with illegal instructions. JIT tested on armv7hl with BPF test suite. Reference: http://mainisusuallyafunction.blogspot.com/2012/11/attacking-hardened-linux-systems-with.html Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Mircea Gherzan <mgherzan@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 738cbe72adc5c8f2016c4c68aa5162631d4f27e1 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Mon Sep 8 08:04:47 2014 +0200 net: bpf: consolidate JIT binary allocator Introduced in commit 314beb9bcabf ("x86: bpf_jit_comp: secure bpf jit against spraying attacks") and later on replicated in aa2d2c73c21f ("s390/bpf,jit: address randomize and write protect jit code") for s390 architecture, write protection for BPF JIT images got added and a random start address of the JIT code, so that it's not on a page boundary anymore. Since both use a very similar allocator for the BPF binary header, we can consolidate this code into the BPF core as it's mostly JIT independant anyway. This will also allow for future archs that support DEBUG_SET_MODULE_RONX to just reuse instead of reimplementing it. JIT tested on x86_64 and s390x with BPF test suite. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca777eff51f7fbaebd954e645d8ecb781a906b4a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 8 08:06:07 2014 -0700 tcp: remove dst refcount false sharing for prequeue mode Alexander Duyck reported high false sharing on dst refcount in tcp stack when prequeue is used. prequeue is the mechanism used when a thread is blocked in recvmsg()/read() on a TCP socket, using a blocking model rather than select()/poll()/epoll() non blocking one. We already try to use RCU in input path as much as possible, but we were forced to take a refcount on the dst when skb escaped RCU protected region. When/if the user thread runs on different cpu, dst_release() will then touch dst refcount again. Commit 093162553c33 (tcp: force a dst refcount when prequeue packet) was an example of a race fix. It turns out the only remaining usage of skb->dst for a packet stored in a TCP socket prequeue is IP early demux. We can add a logic to detect when IP early demux is probably going to use skb->dst. Because we do an optimistic check rather than duplicate existing logic, we need to guard inet_sk_rx_dst_set() and inet6_sk_rx_dst_set() from using a NULL dst. Many thanks to Alexander for providing a nice bug report, git bisection, and reproducer. Tested using Alexander script on a 40Gb NIC, 8 RX queues. Hosts have 24 cores, 48 hyper threads. echo 0 >/proc/sys/net/ipv4/tcp_autocorking for i in `seq 0 47` do for j in `seq 0 2` do netperf -H $DEST -t TCP_STREAM -l 1000 \ -c -C -T $i,$i -P 0 -- \ -m 64 -s 64K -D & done done Before patch : ~6Mpps and ~95% cpu usage on receiver After patch : ~9Mpps and ~35% cpu usage on receiver. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 196332f5a1e5c3ec7171742fce83d03795abf120 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Sep 9 16:21:46 2014 -0700 Bluetooth: Fix allowing SMP Signing info PDU If the remote side is not distributing its IRK but is distributing the CSRK the next PDU after master identification is the Signing Information. This patch fixes a missing SMP_ALLOW_CMD() for this in the smp_cmd_master_ident() function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b84ca92e1672432aac43cccaaa572881e7cc9fdd Author: Andreas Larsson <andreas@xxxxxxxxxxx> Date: Mon Sep 8 09:48:52 2014 +0200 sparc32, leon: Make leon_dma_ops avaiable when !CONFIG_PCI The leon_dma_ops struct is needed for leon regardless of PCI configuration. Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 384859d2af8ead22c9e5a570a4ab89f1b563c8e5 Author: Andreas Larsson <andreas@xxxxxxxxxxx> Date: Fri Aug 29 17:09:18 2014 +0200 sparc: leon: Fix race condition between leon_cycles_offset and timer_interrupt This makes sure that leon_cycles_offset takes the pending bit into account and that leon_clear_clock_irq clears the pending bit. Otherwise, if leon_cycles_offset is executed after the timer has wrapped but before timer_interrupt has increased timer_cs_internal_counter, time can be perceived to go backwards. Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74cad25c076a2f5253312c2fe82d1a4daecc1323 Author: Andreas Larsson <andreas@xxxxxxxxxxx> Date: Fri Aug 29 17:08:21 2014 +0200 sparc: Let memset return the address argument This makes memset follow the standard (instead of returning 0 on success). This is needed when certain versions of gcc optimizes around memset calls and assume that the address argument is preserved in %o0. Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32bc6d1a35f8897fbcdc260addc1b1ad63b8db15 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:37:11 2014 -0700 ath5k: Add missing vmalloc.h include. After merging the wireless-next tree, today's linux-next build (powerpc allyesconfig) failed like this: drivers/net/wireless/ath/ath5k/debug.c: In function 'open_file_eeprom': drivers/net/wireless/ath/ath5k/debug.c:933:2: error: implicit declaration of function 'vmalloc' [-Werror=implicit-function-declaration] buf = vmalloc(eesize); ^ drivers/net/wireless/ath/ath5k/debug.c:933:6: warning: assignment makes pointer from integer without a cast buf = vmalloc(eesize); ^ drivers/net/wireless/ath/ath5k/debug.c:960:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration] vfree(buf); ^ Caused by commit db906eb2101b ("ath5k: added debugfs file for dumping eeprom"). Also reported by Guenter Roeck. I have used Geert Uytterhoeven's suggested fix of including vmalloc.h and so added this patch for today: From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon, 8 Sep 2014 18:39:23 +1000 Subject: [PATCH] ath5k: fix debugfs addition Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7d6e223f5999df8d9ceb545459b5f726d86ce6a Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Wed Aug 13 18:40:25 2014 +0300 powerpc/fsl-booke64: add missing virtualization options in defconfig The 32-bit defconfig version has these enabled for years so make the 64-bit defconfig have them too. This patch only adds CONFIG_VIRT_DRIVERS, CONFIG_FSL_HV_MANAGER and CONFIG_PPC_EPAPR_HV_BYTECHAN other changes being "make savedefconfig" artifacts. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 667680f6841bb5cc239382fea916bf4ab6803842 Author: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Date: Fri Sep 5 16:15:00 2014 +0530 powerpc/fsl-booke: Add initial T1042RDB_PI board support T1042RDB_PI is Freescale Reference Design Board supporting the T1042 QorIQ Power Architectureâ?¢ processor. T1042 is a reduced personality of T1040 SoC without Integrated 8-port Gigabit. The board is designed with low power features targeted for Printing Image Market. T1042RDB_PI is similar to T1040RDB board with few differences like it has video interface, supports T1042 personality only T1042RDB_PI board Overview ----------------------- - SERDES Connections, 8 lanes supporting: - PCI - SATA 2.0 - DDR Controller - Supports rates of up to 1600 MHz data-rate - Supports one DDR3LP UDIMM -IFC/Local Bus - NAND flash: 1GB 8-bit NAND flash - NOR: 128MB 16-bit NOR Flash - Ethernet - Two on-board RGMII 10/100/1G ethernet ports. - PHY #0 remains powered up during deep-sleep - CPLD - Clocks - System and DDR clock (SYSCLK, â??DDRCLKâ??) - SERDES clocks - Power Supplies - USB - Supports two USB 2.0 ports with integrated PHYs - Two type A ports with 5V@xxxx per port. - SDHC - SDHC/SDXC connector - SPI - On-board 64MB SPI flash - I2C - Device connected: EEPROM, thermal monitor, VID controller, RTC - Other IO - Two Serial ports - ProfiBus port Add support for T1042RDB_PI board: -add device tree -Add entry in corenet_generic.c, as it is similar to other corenet platforms Signed-off-by: Poonam Aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Signed-off-by: Prabhakar Kushwaha <prabhakar@xxxxxxxxxxxxx> Signed-off-by: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 0babcd1c1489ae31bf0cea34fad24b3f047ad79c Author: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Date: Fri Sep 5 16:14:40 2014 +0530 powerpc/fsl-booke: Add initial T1040/T1042 RDB board support T1040/T1042RDB is Freescale Reference Design Board. The board can support both T1040/T1042 QorIQ Power Architectureâ?¢ processor. T1040/T1042RDB board Overview ----------------------- - SERDES Connections, 8 lanes supporting: - PCI - SGMII - QSGMII - SATA 2.0 - DDR Controller - Supports rates of up to 1600 MHz data-rate - Supports one DDR3LP UDIMM -IFC/Local Bus - NAND flash: 1GB 8-bit NAND flash - NOR: 128MB 16-bit NOR Flash - Ethernet - Two on-board RGMII 10/100/1G ethernet ports. - PHY #0 remains powered up during deep-sleep - CPLD - Clocks - System and DDR clock (SYSCLK, â??DDRCLKâ??) - SERDES clocks - Power Supplies - USB - Supports two USB 2.0 ports with integrated PHYs - Two type A ports with 5V@xxxx per port. - SDHC - SDHC/SDXC connector - SPI - On-board 64MB SPI flash - I2C - Devices connected: EEPROM, thermal monitor, VID controller - Other IO - Two Serial ports - ProfiBus port Add support for T1040/T1042 RDB board: -add device tree -add entry in Kconfig to build -Add entry in corenet_generic.c, as it is similar to other corenet platforms Signed-off-by: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Signed-off-by: Poonam Aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Signed-off-by: Prabhakar Kushwaha <prabhakar@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 87354059881ce9315181604dc17076c535f4d744 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Jul 22 20:41:42 2014 -0400 ftrace: Add helper function ftrace_ops_get_func() Add the helper function to what the mcount trampoline is to call for a ftrace_ops function. This helper will be used by arch code in the future to set up dynamic trampolines. But as this does the same tests that are performed in choosing what function to call for the default mcount trampoline, might as well use it to clean up the existing code. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 408316258521168614bfb4da0e070490d3e65a17 Author: Allen Pais <allen.pais@xxxxxxxxxx> Date: Mon Sep 8 11:48:55 2014 +0530 sparc64: cpu hardware caps support for sparc M6 and M7 Signed-off-by: Allen Pais <allen.pais@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9bd3ee33f6b97de092610d8dcabc4cb98d99505c Author: Allen Pais <allen.pais@xxxxxxxxxx> Date: Mon Sep 8 11:48:54 2014 +0530 sparc64: support M6 and M7 for building CPU distribution map Add M6 and M7 chip type in cpumap.c to correctly build CPU distribution map that spans all online CPUs. Signed-off-by: Allen Pais <allen.pais@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cadbb58039f7cab1def9c931012ab04c953a6997 Author: Allen Pais <allen.pais@xxxxxxxxxx> Date: Mon Sep 8 11:48:53 2014 +0530 sparc64: correctly recognise M6 and M7 cpu type The following patch adds support for correctly recognising M6 and M7 cpu type. Signed-off-by: Allen Pais <allen.pais@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2542d2a867c22540c8ad64883288eabb891568d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Sep 7 16:22:01 2014 +0100 regulator: tps65217: Remove unused driver_data from of_match table We don't ever reference the driver_data we supply so remove it. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0b4c5afde9b57c08b55d26725d228d5314cfc57a Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 8 10:59:43 2014 -0700 f2fs: fix negative value for lseek offset If application throws negative value of lseek with SEEK_DATA|SEEK_HOLE, previous f2fs went into BUG_ON in get_dnode_of_data, which was reported by Tommi Rantala. He could make a simple code to detect this having: lseek(fd, -17595150933902LL, SEEK_DATA); This patch should resolve that bug. Reported-by: Tommi Rentala <tt.rantala@xxxxxxxxx> [Jaegeuk Kim: relocate the condition as suggested by Chao] Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f5281fc81e9a0a3e80b78720c5ae2ed06da3bfae Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 9 11:31:40 2014 -0300 [media] vpif: Fix compilation with allmodconfig When vpif is compiled as module, those errors happen: ERROR: "vpif_lock" [drivers/media/platform/davinci/vpif_display.ko] undefined! ERROR: "vpif_lock" [drivers/media/platform/davinci/vpif_capture.ko] undefined! That's because vpif_lock symbol is not exported. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8087c35fc48c9545ee1f07bd812217b286cf13bb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 9 11:21:30 2014 -0300 [media] s5p-jpeg: Fix compilation with COMPILE_TEST ERROR: "__bad_ndelay" [drivers/media/platform/s5p-jpeg/s5p-jpeg.ko] undefined! That happens because asm-generic doesn't like any ndelay time bigger than 20us. Currently, usleep_range() couldn't simply be used, since exynos4_jpeg_sw_reset() is called with a spinlock held. So, let's use udelay() instead. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4228cd5682f07b6cf5dfd3eb5e003766f5640ee2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 9 14:55:15 2014 -0300 [media] disable COMPILE_TEST for omap1_camera This driver depends on a legacy OMAP DMA API. So, it won't compile-test on other archs. While we might add stubs to the functions, this is not a good idea, as the hole API should be replaced. So, for now, let's just remove COMPILE_TEST and wait for some time for people to fix. If not fixed, then we'll end by removing this driver as a hole. Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f82a1d1586a2bd553431cf09d469ece17d1e61e7 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:33:04 2014 +0200 clk: max77802: Add DT binding documentation Add Device Tree binding documentation for the clocks outputs in the Maxim 77802 Power Management IC. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 83ccf16cb9247b6b657637c31e4c2035fe64ae64 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:33:03 2014 +0200 clk: Add driver for Maxim 77802 PMIC clocks The MAX77802 PMIC has two 32.768kHz Buffered Clock Outputs with Low Jitter Mode. This patch adds support for these two clocks. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit fcd0864cdba2a93f5c51fdf06935151663f0954a Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:33:02 2014 +0200 clk: max77686: Improve Maxim 77686 PMIC clocks binding Like most clock drivers, the Maxim 77686 PMIC clock binding follows the convention that the "#clock-cells" property is used to specify the number of cells in a clock provider. But the binding document is not clear enough that it shall be set to 1 since the PMIC support multiple clocks outputs. Also, explain that the clocks identifiers are defined in a header file that can be included by Device Tree source with client nodes to avoid using magic numbers. Finally, add "clock-output-names" as an optional property since now is supported by the clock driver. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 1887d69308f94eec12d581b4dbab67c28274039d Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:33:01 2014 +0200 clk: max77686: Convert to the generic max clock driver Clocks drivers for Maxim PMIC are very similar so they can be converted to use the generic Maxim clock driver. Also, while being there use module_platform_driver() helper macro to eliminate more boilerplate code. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 5dbbb00f712edff8454f9741db61f9e0a4fec919 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:33:00 2014 +0200 clk: Add generic driver for Maxim PMIC clocks Maxim Integrated Power Management ICs are very similar with regard to their clock outputs. Most of the clock drivers for these chips are duplicating code and are simpler enough that can be converted to use a generic driver to consolidate code and avoid duplication. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit a8a76f563cfa1a4e47b6d8b2bef9c0d44a3fd7b0 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:32:59 2014 +0200 clk: max77686: Add DT include for MAX77686 PMIC clock This patch adds a dt-binding include for Maxim 77686 PMIC clock IDs that can be used by both the max77686 clock driver and Device Tree source files. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 9a01b56b1a79e210e9d2d67c9b18906d31d536c4 Author: Huang Ying <ying.huang@xxxxxxxxx> Date: Sun Sep 7 11:05:20 2014 +0800 f2fs: avoid node page to be written twice in gc_node_segment In gc_node_segment, if node page gc is run concurrently with node page writeback, and check_valid_map and get_node_page run after page locked and before cur_valid_map is updated as below, it is possible for the page to be written twice unnecessarily. sync_node_pages try_lock_page ... check_valid_map f2fs_write_node_page ... write_node_page do_write_page allocate_data_block ... refresh_sit_entry /* update cur_valid_map */ ... ... unlock_page get_node_page ... set_page_dirty ... f2fs_put_page unlock_page This can be solved via calling check_valid_map after get_node_page again. Signed-off-by: Huang, Ying <ying.huang@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 721bd4d5c3f957f98157b6dcac9c4a4dd828e3ff Author: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Date: Fri Sep 5 18:31:00 2014 +0800 f2fs: use lock-less list(llist) to simplify the flush cmd management We use flush cmd control to collect many flush cmds, and flush them together. In this case, we use two list to manage the flush cmds (collect and dispatch), and one spin lock is used to protect this. In fact, the lock-less list(llist) is very suitable to this case, and we use simplify this routine. - v2: -use llist_for_each_entry_safe to fix possible use-after-free issue. -remove the unused field from struct flush_cmd. Thanks for Yu's suggestion. - Signed-off-by: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 184a5cd2ce281f1207d72adb9ae18e416ca371db Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Sep 4 18:13:01 2014 +0800 f2fs: refactor flush_sit_entries codes for reducing SIT writes In commit aec71382c681 ("f2fs: refactor flush_nat_entries codes for reducing NAT writes"), we descripte the issue as below: "Although building NAT journal in cursum reduce the read/write work for NAT block, but previous design leave us lower performance when write checkpoint frequently for these cases: 1. if journal in cursum has already full, it's a bit of waste that we flush all nat entries to page for persistence, but not to cache any entries. 2. if journal in cursum is not full, we fill nat entries to journal util journal is full, then flush the left dirty entries to disk without merge journaled entries, so these journaled entries may be flushed to disk at next checkpoint but lost chance to flushed last time." Actually, we have the same problem in using SIT journal area. In this patch, firstly we will update sit journal with dirty entries as many as possible. Secondly if there is no space in sit journal, we will remove all entries in journal and walk through the whole dirty entry bitmap of sit, accounting dirty sit entries located in same SIT block to sit entry set. All entry sets are linked to list sit_entry_set in sm_info, sorted ascending order by count of entries in set. Later we flush entries in set which have fewest entries into journal as many as we can, and then flush dense set with merged entries to disk. In this way we can use sit journal area more effectively, also we will reduce SIT update, result in gaining in performance and saving lifetime of flash device. In my testing environment, it shows this patch can help to reduce SIT block update obviously. virtual machine + hard disk: fsstress -p 20 -n 400 -l 5 sit page num cp count sit pages/cp based 2006.50 1349.75 1.486 patched 1566.25 1463.25 1.070 Our latency of merging op is small when handling a great number of dirty SIT entries in flush_sit_entries: latency(ns) dirty sit count 36038 2151 49168 2123 37174 2232 Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d3a14afd5ed1970519a2d6ed59f4062ec3ba821f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Sep 4 18:11:47 2014 +0800 f2fs: remove unneeded sit_i in macro SIT_BLOCK_OFFSET/START_SEGNO sit_i in macro SIT_BLOCK_OFFSET/START_SEGNO is not used, remove it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit b0c44f05a2b719f3ecfa4673c04d80a17bb23e92 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 17:19:04 2014 -0700 f2fs: need fsck.f2fs if the recovery was failed If the roll-forward recovery was failed, we'd better conduct fsck.f2fs. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ec325b5270cd3ba01bce299d1ede1616f31813ea Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 16:24:11 2014 -0700 f2fs: handle bug cases by letting fsck.f2fs initiate This patch adds to handle corner buggy cases for fsck.f2fs. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 05796763b8d19b48bb4149bfb1aa1a91dd9faee6 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 16:05:00 2014 -0700 f2fs: add BUG cases to initiate fsck.f2fs This patch replaces BUG cases with f2fs_bug_on to remain fsck.f2fs information. And it implements some void functions to initiate fsck.f2fs too. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9850cf4a8908886370b1f15aacf83d291f098c72 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 15:52:58 2014 -0700 f2fs: need fsck.f2fs when f2fs_bug_on is triggered If any f2fs_bug_on is triggered, fsck.f2fs is needed. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2ae4c673e3cbd69bc2decf6d7f5961f3c7b9b38b Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 15:43:52 2014 -0700 f2fs: retain inconsistency information to initiate fsck.f2fs This patch adds sbi->need_fsck to conduct fsck.f2fs later. This flag can only be removed by fsck.f2fs. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f0b99ca041258ed0eb27dc724de22d84dab78a7c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:45 2014 +0200 ASoC: da732x: Cleanup manual bias level transitions Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ee6b42ee21b16aa322758fdab0d57082761b09fd Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:44 2014 +0200 ASoC: da732x: Remove unused codec field form da732x_priv struct The field is initialized in the probe callback, but never used again. So it can be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f66a91ff8e83e95c822691270d883cbcb3244302 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:43 2014 +0200 ASoC: da732x: Remove unnecessary idle_bias_off initialization idle_bias_off is false by default, no need to set it explicitly. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02bf34f4b8793a23dd0dbc4fda09d611a70ca0c9 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:42 2014 +0200 ASoC: cs42l73: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a4bc751fcc50c15bd4782cfc2ea513bef92a20f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:41 2014 +0200 ASoC: cs42l56: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 417c60e8f248a84e8e768c55d191689d1e27e05f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:40 2014 +0200 ASoC: cs42l52: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit de3ac8106815f0129947c78de5b7666ff8748096 Merge: e649057 a4f87ce Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 9 21:08:02 2014 +0100 Merge branch 'topic/cs42l56' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-suspend commit e0b93eddfe17dcb7d644eb5d6ad02a86fc41a977 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 11:27:32 2014 -0400 security: make security_file_set_fowner, f_setown and __f_setown void return security_file_set_fowner always returns 0, so make it f_setown and __f_setown void return functions and fix up the error handling in the callers. Cc: linux-security-module@xxxxxxxxxxxxxxx Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 1c994a0909a556508c2cc26ab5d9e13c5ce33aa0 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Aug 27 06:49:41 2014 -0400 locks: consolidate "nolease" routines GFS2 and NFS have setlease routines that always just return -EINVAL. Turn that into a generic routine that can live in fs/libfs.c. Cc: <linux-nfs@xxxxxxxxxxxxxxx> Cc: Steven Whitehouse <swhiteho@xxxxxxxxxx> Cc: <cluster-devel@xxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Acked-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 699688a416524c3cea9eafaca69fc6c06c13c02e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:18:44 2014 -0400 locks: remove lock_may_read and lock_may_write There are no callers of these functions. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 09802fd2a8caea2a2147fca8d7975697c5de573d Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:18:44 2014 -0400 lockd: rip out deferred lock handling from testlock codepath As Kinglong points out, the nlm_block->b_fl field is no longer used at all. Also, vfs_test_lock in the generic locking code will only return FILE_LOCK_DEFERRED if FL_SLEEP is set, and it isn't here. The only other place that returns that value is the DLM lock code, but it only does that in dlm_posix_lock, never in dlm_posix_get. Remove all of the deferred locking code from the testlock codepath since it doesn't appear to ever be used anyway. I do have a small concern that this might cause a behavior change in the case where you have a block already sitting on the list when the testlock request comes in, but that looks like it doesn't really work properly anyway. I think it's best to just pass that down to vfs_test_lock and let the filesystem report that instead of trying to infer what's going on with the lock by looking at an existing block. Cc: cluster-devel@xxxxxxxxxx Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Kinglong Mee <kinglongmee@xxxxxxxxx> commit aef9583b234a4ecdbcaf2c3024f29d4244b18e83 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 22 10:18:44 2014 -0400 NFSD: Get reference of lockowner when coping file_lock v5: using nfs4_get_stateowner() instead of an inline function v3: Update based on Jeff's comments v2: Fix bad using of struct file_lock_operations for handle the owner Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit b5971afa0b33361667bc88f3e0eb3fc31f778dc6 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 22 10:18:43 2014 -0400 NFSD: New helper nfs4_get_stateowner() for atomic_inc sop reference v5: same as the first version Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit f328296e27414394f25cebaef4a111a82ce0df32 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 22 10:18:43 2014 -0400 locks: Copy fl_lmops information for conflock in locks_copy_conflock() Commit d5b9026a67 ([PATCH] knfsd: locks: flag NFSv4-owned locks) using fl_lmops field in file_lock for checking nfsd4 lockowner. But, commit 1a747ee0cc (locks: don't call ->copy_lock methods on return of conflicting locks) causes the fl_lmops of conflock always be NULL. Also, commit 0996905f93 (lockd: posix_test_lock() should not call locks_copy_lock()) caused the fl_lmops of conflock always be NULL too. Make sure copy the private information by fl_copy_lock() in struct file_lock_operations, merge __locks_copy_lock() to fl_copy_lock(). Jeff advice, "Set fl_lmops on conflocks, but don't set fl_ops. fl_ops are superfluous, since they are callbacks into the filesystem. There should be no need to bother the filesystem at all with info in a conflock. But, lock _ownership_ matters for conflocks and that's indicated by the fl_lmops. So you really do want to copy the fl_lmops for conflocks I think." v5: add missing calling of locks_release_private() in nlmsvc_testlock() v4: only copy fl_lmops for conflock, don't copy fl_ops Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 5c97d7b1479982a48cf2129062b880c2555049ac Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 22 10:18:43 2014 -0400 locks: New ops in lock_manager_operations for get/put owner NFSD or other lockmanager may increase the owner's reference, so adds two new options for copying and releasing owner. v5: change order from 2/6 to 3/6 v4: rename lm_copy_owner/lm_release_owner to lm_get_owner/lm_put_owner Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 3fe0fff18fe87c6a2179837de68d1174903c6367 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 22 10:18:42 2014 -0400 locks: Rename __locks_copy_lock() to locks_copy_conflock() Jeff advice, " Right now __locks_copy_lock is only used to copy conflocks. It would be good to rename that to something more distinct (i.e.locks_copy_conflock), to make it clear that we're generating a conflock there." v5: change order from 3/6 to 2/6 v4: new patch only renaming function name Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit d0449b90f80f263e17e8b3ce31442e45121dc46c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Aug 22 10:18:42 2014 -0400 locks: Remove unused conf argument from lm_grant This argument is always NULL so don't pass it around. [jlayton: remove dependencies on previous patches in series] Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit f39b913cee67e401ad697578baca0ba34830209b Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Tue Sep 9 16:00:51 2014 -0400 locks: pass correct "before" pointer to locks_unlink_lock in generic_add_lease The argument to locks_unlink_lock can't be just any pointer to a pointer. It must be a pointer to the fl_next field in the previous lock in the list. Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 1716bcf3f76fe71e98d4851a3eb73ea3d93d4773 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Mon Sep 8 22:53:36 2014 +0200 bcma: add support for chipcommon B core This core is used on BCM4708 to configure the PCIe and USB3 PHYs and it contains the addresses to the Device Management unit. This will be used by the PCIe driver first. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 23a2f39c8f4035eade7f226eb7ada30c78d9eee3 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Mon Sep 8 22:53:35 2014 +0200 bcma: store more alternative addresses Each core could have more than one alternative address. There are cores with 8 alternative addresses for different functions. The PHY control in the Chip common B core is done through the 2. alternative address and not the first one. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> CC: linux-usb@xxxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 367b341edbebc405d80fecd28ff973dfb7390d65 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:50:57 2014 +0530 ath9k: Fix MCC scanning Scanning is curently broken when two channel contexts are active. For example in a P2P-GO/STA setup, the offchannel timer allows HZ / 10 to elapse before initiating a switch to the next scan channel from the current operating channel, which in this case would be the P2P-GO context. But, the channel context timer might decide to switch to the STA context when an SWBA comes early and a beacon is sent out. Since pending offchannel requests are processed in EVENT_BEACON_PREPARE, this causes inconsistent scanning. Fix this by making sure that a context switch happens before processing the pending offchannel request. This also makes sure that active channel contexts will always have higher priority than offchannel operations and the scan sequence looks like this: p2p-go, sta, p2p-go, offchannel, p2p-go, sta, p2p-go, offchannel,..... The oper-channel is p2p-go, so the STA context has to switch to p2p-go again before switching offchannel. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit da0162f3f0012465cc6d77c4d416fabb182713ad Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:50:56 2014 +0530 ath9k: Fix offchannel operation When multiple channel contexts are active, an offchannel request will not be handled immediately, but will be queued to be handled later. But, currently, the channel definition is not copied to the local offchannel state. This breaks operation like scanning when MCC is active. Fix this by storing the offchannel parameters properly. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a402764452672dfe119e68edf7a21f1739b71f76 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:50:55 2014 +0530 ath9k: Use a subroutine to assign HW queues Reduces code duplication. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ca529c9373bbcabf55a12e4225d625ee26fc8abb Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:19 2014 +0530 ath9k: Fix interface accounting Currently, the interface count is maintained globally, but this causes problems in RX filter calculation. Make the interface count a per-channel-context variable to fix this. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fce344309944c61d748eeef530b49764f90b05bb Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:18 2014 +0530 ath9k: Fix RX filters in channel contexts Maintain the RX filter on a per-channel-context basis and not globally. Not doing so was resulting in incorrect filter calculation. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3d1132d008e635c770d625f3908f201892634afe Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:17 2014 +0530 ath9k: Fix COMP_BAR filter ATH9K_RX_FILTER_COMP_BAR is used to receive BAR completion frames and is set if the current channel is HT. When channel contexts are enabled, instead of using the mac80211 helpers, check if the current channel definition is HT. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 19ec477f168fb514b961de5ffdb02742153728e6 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:16 2014 +0530 ath9k: Fix ath_startrecv() Since ath_startrecv() doesn't return an error value, cleanup the callsites. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9019f646b2da436da557e58c3fe3a2dfda440a55 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:15 2014 +0530 ath9k: Fix RX filter calculation If multiple channel contexts are active, then the opmode can be different in each context. Since the RX filter is calculated in ath_startrecv() before switching to the new opmode, the wrong filters are chosen. Fix this by calling ath9k_calculate_summary_state() before the RX module is started. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fdcf1bd44f5c8892255aefffa681426049670319 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:14 2014 +0530 ath9k: Add CTWindow support Since CTWindow can be used for improving discoverability, fill this field in the NoA Attribute properly. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bb628eb9f0bda030c2cc9e417f52c9a344fc65fc Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:13 2014 +0530 ath9k: Fix offchannel duration calculation Currently, different units are used for handling sc->offchannel.duration. In scan mode, it contains jiffies and in RoC mode, milliseconds is used. This causes confusion since in ath_chanctx_switch(), TU_TO_USEC is used to determine the offchannel duration, resulting in incorrect values. Fix this by using jiffies in both modes. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bd81533dbd79344232299b4669e9e3f596e618c5 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:12 2014 +0530 ath9k: Fix NoA start time calculation The start time field in the NoA attribute needs to be updated based on the TSF timer when an absence notification is sent by the P2P GO. When two channel contexts are active, continuous, cyclic NoA is announced by setting the count value to 255, but the start time is updated only once, for one beacon and the same value is sent in all subsequent beacons, even though the timestamp keeps moving. Fix this by removing the check for 'periodic_noa_duration' and assign the interface's start_time/duration values directly when there is more than one active context. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9bf30ff93dae035bb60ea2f3812e44ac79b31478 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:11 2014 +0530 ath9k: Fix panic when adding an AP interface If a station interface is already assigned to a context and is active and a second interface of type AP is added, then beaconing on the new interface has to be begin only after the BSS_CHANGED_BEACON_ENABLED flag is sent by mac80211 to the driver. But, since we issue ATH_CHANCTX_EVENT_ENABLE_MULTICHANNEL as soon as a new channel context is added, a switch occurs almost immediately before BSS_CHANGED_BEACON_ENABLED is received. When a HW reset is done for the new context, beacons are enabled for the interface since "enable_beacon" in the BSS config maintained in mac80211 is true - but the driver hasn't been notified yet. This causes a panic, since the beacon interval is zero for this interface and ath9k_cmn_beacon_config_ap() doesn't have a safety check. Fix this panic by checking if the beacon params has been cached for this context and use the "enable_beacon" flag maintained locally in the driver. Also, recalculate the summary data after the beacon params have been cached when BSS_CHANGED_BEACON_ENABLED is received. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 602607b6e7413e4f5b194bf28deb7195b0395486 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:10 2014 +0530 ath9k: Fix beacons for managed mode If the current opmode is managed, the ATH_OP_BEACONS flag needs to be set only when there is a primary station interface and it is associated/active. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 12a1b3d4c3067323c5140b405f9290cd7f1d1dac Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:09 2014 +0530 ath9k: Fix beacon configuration for channel contexts In channel context mode, when a new context is added, mac80211 issues a bss_info_changed() notfication when preparing the connection for the new interface/context. But, this is done prior to the mgd_prepare_tx() call which is where we switch to the new context. Since the current context will be different when the earlier bss_info_changed() is handled, the beacon information for the VIF is not updated, but discarded since the rules for the current context disallows it. In the subsequent association process for the new context/vif, this becomes a problem because the beacon parameters are invalid. This causes problems with the TSF timer, causing large jumps. To fix this, check if the beacon info is being updated for a different context and if so, allow it without any checks since we limit the max. interfaces to two anyway. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 37a7f8762d84327f8e7a8b7d7557c8415b42fc13 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Sep 5 00:18:49 2014 +0200 bcma: register NAND and QSPI cores early On Northstar (ARM arch) we will use MTD subsystem to access NVRAM and SPROM. To get access to flash device we need to register these cores first. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6e094bd805a9b6ad2f5421125db8f604a166616c Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Sep 5 00:18:48 2014 +0200 bcma: move code for core registration into separate function This cleans code a bit and will us to register cores in other places as well. The only difference with this patch is using "core_index" for setting device name. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ed364abffd6e19bec67b7ccda8237213b8b37640 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:46 2014 -0500 rtlwifi: btcoexist: Update remaining old parts of the driver This patch makes halbtcoutsrc.{c,h} work with the new pieces of the driver. Also included are some modifications to various header files. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c96fd200e9af8ad4c4891ef579044a75c659d8c7 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:45 2014 -0500 rtlwifi: btcoexist: Add second part of BT coexistence routines for rtl8821ae This code comes from the V062414 version of the drivers from Realtek. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2ec7f01c35727574953dbd884d7d45da940a25ee Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:44 2014 -0500 rtlwifi: btcoexist: Add BT coexistence routines for driver rtl8821ae This patch adds the code needed for the new rtl8821ae driver. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f5b5869095819970333dc9de54eed5c552407d35 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:43 2014 -0500 rtlwifi: btcoexist: Modify driver to support BT coexistence in rtl8723be This patch adds the routines found in the V062814 Realtek version. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2187e9a2ce575ee85a1ce31fa2ecbc0f580c105f Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:42 2014 -0500 rtlwifi: btcoexist: Modify driver for V062814 Realtek driver This patch adds the routines needed to support BT coexistence with the new rtl8192ee driver. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e8f3fef412d4ffd8cb1bd5cd7a6e5572e21bf80a Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:41 2014 -0500 rtlwifi: btcoexist: Modify rtl_btc for changes in latest Realtek code Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e79fff28587c9437282c863722d1fa186143f62a Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:40 2014 -0500 rtlwifi: btcoexist: Modify btcoexist for changes in the V062814 Realtek version This patch is the first of a set to bring this driver up to the latest Realtek code. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a395135ddebb0a06052b84c309eb6cb68b79c797 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 1 23:11:07 2014 +0200 bcma: use separated function to initialize bus on SoC This is required to split SoC bus init into two phases. The later one (which includes scanning) should be called when kalloc is available. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dc8ecdd3a3fccf73fcb07711cde064ce5727f9d1 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 1 23:11:06 2014 +0200 bcma: move bus struct setup into early part of host specific code This change is important for SoC host. In future we will want to know chip ID (needed for early MIPS boot) before doing cores scanning. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8eaf503480e4b45c2cb5d555388ab209ae305dd3 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 16:02:09 2014 -0700 clk: zynq: Move const initdata into correct code section Use __initconst instead of __initdata for constant init data. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 034cc6ebae0a811abb0de6f1a7b58e9a6a8c95c7 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 16:02:08 2014 -0700 clk: zynq: Remove pointless return at end of void function Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 88cebf5e09775b6ef024685729d41c3dd03a711d Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 16:02:07 2014 -0700 clk: zynq: Remove unnecessary OOM message As checkpatch suggests: WARNING: Possible unnecessary 'out of memory' message, remove an error message after failing kmalloc() from the PLL driver. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit c9104b04fe708ec4ac7452eef7ccdedfd22eff25 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Mon Sep 8 09:28:19 2014 +0530 ethernet: ti: remove unwanted THIS_MODULE macro It removes the owner field updation of driver structure. It will be automatically updated by module_platform_driver() Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e403aded79a1bfb610adc53490ded8d2058f9daf Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sat Sep 6 19:06:11 2014 +0800 openvswitch: change the data type of error status to atomic_long_t Change the date type of error status from u64 to atomic_long_t, and use atomic operation, then remove the lock which is used to protect the error status. The operation of atomic maybe faster than spin lock. Cc: Pravin Shelar <pshelar@xxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5aaa62d608464bedb30afc62e5073629de505afb Author: Rami Rosen <ramirose@xxxxxxxxx> Date: Sat Sep 6 13:08:08 2014 +0300 bridge: Cleanup of unncessary check. This patch removes an unncessary check in the br_afspec() method of br_netlink.c. Signed-off-by: Rami Rosen <ramirose@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b86f7f319330cf2c8ce13f36fa3b13828011daa Merge: 49a6015 1332351 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 9 11:30:05 2014 -0700 Merge branch 'bridge_rtnl_link' Jiri Pirko says: ==================== bridge: implement rtnl_link options for getting and setting bridge options So far, only sysfs is complete interface for getting and setting bridge options. This patchset follows-up on the similar bonding code and allows userspace to get/set bridge master/port options using Netlink IFLA_INFO_DATA/IFLA_INFO_SLAVE_DATA attr. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13323516172178ff8184855ee4bc66d46fd89619 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 15:51:32 2014 +0200 bridge: implement rtnl_link_ops->changelink Allow rtnetlink users to set bridge master info via IFLA_INFO_DATA attr This initial part implements forward_delay, hello_time, max_age options. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5c3ea5c668033b303e7ac835d7d91da32d97958 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 15:51:31 2014 +0200 bridge: implement rtnl_link_ops->get_size and rtnl_link_ops->fill_info Allow rtnetlink users to get bridge master info in IFLA_INFO_DATA attr This initial part implements forward_delay, hello_time, max_age options. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ac636b8591c37bb5028814a4ebd41d263b56181 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 15:51:30 2014 +0200 bridge: implement rtnl_link_ops->slave_changelink Allow rtnetlink users to set port info via IFLA_INFO_SLAVE_DATA attr Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ced8283f90b88bbf7ec9a6b869586b611167394e Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 15:51:29 2014 +0200 bridge: implement rtnl_link_ops->get_slave_size and rtnl_link_ops->fill_slave_info Allow rtnetlink users to get port info in IFLA_INFO_SLAVE_DATA attr Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f49579a39533bf839b2af807b094fc652f9e49b Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 15:51:28 2014 +0200 bridge: switch order of rx_handler reg and upper dev link The thing is that netdev_master_upper_dev_link calls call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev). That generates rtnl link message and during that, rtnl_link_ops->fill_slave_info is called. But with current ordering, rx_handler and IFF_BRIDGE_PORT are not set yet so there would have to be check for that in fill_slave_info callback. Resolve this by reordering to similar what bonding and team does to avoid the check. Also add removal of IFF_BRIDGE_PORT flag into error path. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49a601589caaf0e93194c0cc9b4ecddbe75dd2d5 Author: Vincent Bernat <vincent@xxxxxxxxx> Date: Fri Sep 5 15:09:03 2014 +0200 net/ipv4: bind ip_nonlocal_bind to current netns net.ipv4.ip_nonlocal_bind sysctl was global to all network namespaces. This patch allows to set a different value for each network namespace. Signed-off-by: Vincent Bernat <vincent@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afddacc3ccd048c49c7f4f0ad0b6a40730c74715 Merge: 5b4c314 daedfb2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 9 10:27:22 2014 -0700 Merge branch 'ebpf' Alexei Starovoitov says: ==================== load imm64 insn and uapi/linux/bpf.h V9->V10 - no changes, added Daniel's ack Note they're on top of Hannes's patch in the same area [1] V8 thread with 'why' reasoning and end goal [2] Original set [3] of ~28 patches I'm planning to present in 4 stages: I. this 2 patches to fork off llvm upstreaming II. bpf syscall with manpage and map implementation III. bpf program load/unload with verifier testsuite (1st user of instruction macros from bpf.h and 1st user of load imm64 insn) IV. tracing, etc [1] http://patchwork.ozlabs.org/patch/385266/ [2] https://lkml.org/lkml/2014/8/27/628 [3] https://lkml.org/lkml/2014/8/26/859 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit daedfb22451dd02b35c0549566cbb7cc06bdd53b Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Sep 4 22:17:18 2014 -0700 net: filter: split filter.h and expose eBPF to user space allow user space to generate eBPF programs uapi/linux/bpf.h: eBPF instruction set definition linux/filter.h: the rest This patch only moves macro definitions, but practically it freezes existing eBPF instruction set, though new instructions can still be added in the future. These eBPF definitions cannot go into uapi/linux/filter.h, since the names may conflict with existing applications. Full eBPF ISA description is in Documentation/networking/filter.txt Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02ab695bb37ee9ad515df0d0790d5977505dd04a Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Sep 4 22:17:17 2014 -0700 net: filter: add "load 64-bit immediate" eBPF instruction add BPF_LD_IMM64 instruction to load 64-bit immediate value into a register. All previous instructions were 8-byte. This is first 16-byte instruction. Two consecutive 'struct bpf_insn' blocks are interpreted as single instruction: insn[0].code = BPF_LD | BPF_DW | BPF_IMM insn[0].dst_reg = destination register insn[0].imm = lower 32-bit insn[1].code = 0 insn[1].imm = upper 32-bit All unused fields must be zero. Classic BPF has similar instruction: BPF_LD | BPF_W | BPF_IMM which loads 32-bit immediate value into a register. x64 JITs it as single 'movabsq %rax, imm64' arm64 may JIT as sequence of four 'movk x0, #imm16, lsl #shift' insn Note that old eBPF programs are binary compatible with new interpreter. It helps eBPF programs load 64-bit constant into a register with one instruction instead of using two registers and 4 instructions: BPF_MOV32_IMM(R1, imm32) BPF_ALU64_IMM(BPF_LSH, R1, 32) BPF_MOV32_IMM(R2, imm32) BPF_ALU64_REG(BPF_OR, R1, R2) User space generated programs will use this instruction to load constants only. To tell kernel that user space needs a pointer the _pseudo_ variant of this instruction may be added later, which will use extra bits of encoding to indicate what type of pointer user space is asking kernel to provide. For example 'off' or 'src_reg' fields can be used for such purpose. src_reg = 1 could mean that user space is asking kernel to validate and load in-kernel map pointer. src_reg = 2 could mean that user space needs readonly data section pointer src_reg = 3 could mean that user space needs a pointer to per-cpu local data All such future pseudo instructions will not be carrying the actual pointer as part of the instruction, but rather will be treated as a request to kernel to provide one. The kernel will verify the request_for_a_pointer, then will drop _pseudo_ marking and will store actual internal pointer inside the instruction, so the end result is the interpreter and JITs never see pseudo BPF_LD_IMM64 insns and only operate on generic BPF_LD_IMM64 that loads 64-bit immediate into a register. User space never operates on direct pointers and verifier can easily recognize request_for_pointer vs other instructions. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a6540ca856aeb5adbdee80836af7c2326e55d3b Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Sep 8 11:19:18 2014 +0200 ARM: mvebu: Change vendor prefix for Intersil Corporation to isil Currently there is a wild mixture of isl, isil, and intersil compatibles in the kernel. At this point, changing the vendor symbol to the most often used variant, which is equal to the NASDAQ symbol, isil, should not hurt. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410167960-554-4-git-send-email-p.zabel@xxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ccf8ca4bfb7247f0f209c41d9d9c84736b14651d Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Mon Sep 8 13:30:29 2014 +1000 ARM: mvebu: use improved armada spi device tree compatible name Switch the Armada SoC SPI port device tree binding to use the new improved armada-370-spi compatible name. This allows for a wider range of baud rates to be used. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410147029-30067-1-git-send-email-gerg@xxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2f83c3da277e08877280fa2c0fc21aad9aca6735 Merge: 6ce041a 71bcada Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 9 17:51:31 2014 +0200 Merge tag 'socfpga_driver_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next into next/drivers Pull "SOCFPGA driver update for v3.18" from Dinh Nguyen: This is the EDAC driver for EDAC. Boris had given me permission to take this patch together with it's DTS component. The DTS portion was in the previous pull request. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'socfpga_driver_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next: edac: altera: Add Altera SDRAM EDAC support commit 500abb6ccb9e3f8d638a7f422443a8549245ef90 Author: Arnaud Ebalard <arno@xxxxxxxxxxxx> Date: Sat Sep 6 22:49:38 2014 +0200 ARM: mvebu: Netgear RN2120: Use Hardware BCH ECC The bootloader on the Netgear ReadyNAS RN2120 uses Hardware BCH ECC (strength = 4), while the pxa3xx NAND driver by default uses Hamming ECC (strength = 1). This patch changes the ECC mode on these machines to match that of the bootloader and of the stock firmware. That way, it is now possible to update the kernel from userland (e.g. using standard tools from mtd-utils package); u-boot will happily load and boot it. The issue was initially reported and fixed by Ben Pedell for RN102. The RN2120 shares the same Hynix H27U1G8F2BTR NAND flash and setup. This patch is based on Ben's fix for RN102. Fixes: ad51eddd95ad ("ARM: mvebu: Enable NAND controller in ReadyNAS 2120 .dts file") Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/61f6a1b7ad0adc57a0e201b9680bc2e5f214a317.1410035142.git.arno@xxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 225b94cdf719d0bc522a354bdafc18e5da5ff83b Author: Arnaud Ebalard <arno@xxxxxxxxxxxx> Date: Sat Sep 6 22:49:25 2014 +0200 ARM: mvebu: Netgear RN104: Use Hardware BCH ECC The bootloader on the Netgear ReadyNAS RN104 uses Hardware BCH ECC (strength = 4), while the pxa3xx NAND driver by default uses Hamming ECC (strength = 1). This patch changes the ECC mode on these machines to match that of the bootloader and of the stock firmware. That way, it is now possible to update the kernel from userland (e.g. using standard tools from mtd-utils package); u-boot will happily load and boot it. The issue was initially reported and fixed by Ben Pedell for RN102. The RN104 shares the same Hynix H27U1G8F2BTR NAND flash and setup. This patch is based on Ben's fix for RN102. Fixes: 0373a558bd79 ("ARM: mvebu: Enable NAND controller in ReadyNAS 104 .dts file") Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/920c7e7169dc6aaaa3eb4bced2336d38e77b8864.1410035142.git.arno@xxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e86ed56adb571cddd47ba3a008e2353b057ba70b Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:15:18 2014 +0200 ARM: mvebu: add SSCG to Armada 370 Device Tree The Armada 370 SoC has a Spread Spectrum Clock Generator. This commit adds the description of this generator to the Device Tree describing this SoC. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Leigh Brown <leigh@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409645719-20003-4-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ceac26c64200015a5e6e358e903b1ca9a6f41dd8 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:15:19 2014 +0200 clk: mvebu: armada-375: Fix the description of the SAR in the comment For dealing with the code we use the SAR1 and not the SAR0. The code was correct, and now the comments too. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Leigh Brown <leigh@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409645719-20003-5-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 5e1a63f5f548bb8a3967f00be2f0e1e04290c613 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:15:17 2014 +0200 clk: mvebu: armada-370: Fix timer drift caused by the SSCG deviation This commit activates the SSCG deviation correction for the Armada 370. It uses the optional function introduced by the commit "clk: mvebu: Fix clk frequency value if SSCG is enabled". Without this fix the deviation measured on a Mirabox was of a few second each hour, whereas with this fix it was reduced at around 50ppm (around 4s per day). Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Leigh Brown <leigh@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409645719-20003-3-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 15917b16022427c53755abff4dc7051f3076dd7a Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:15:16 2014 +0200 clk: mvebu: Fix clk frequency value if SSCG is enabled When the SSCG (Spread Spectrum Clock Generator) is enabled, it shifts the frequency of the clock. The percentage is no more than 1% but when the clock is used for a timer it leads to a clock drift. This patch allows to correct the affected clock when the SSCG is enabled. The check is done in an new optional function related to each SoC: is_sscg_enabled(). The fix is done with the other new optional function related to each SoC: fix_sscg_deviation. If one these functions are not present then no correction is done on the clock frequency. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Leigh Brown <leigh@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409645719-20003-2-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 138310e18b70caed1b7acf02a2c97170dcb3c55d Merge: eb492df 5923abb2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 9 17:09:35 2014 +0200 Merge tag 'renesas-soc3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Third Round of Renesas ARM Based SoC Soc Updates for v3.18" from Simon Horman: * Initial r8a7794 SoC support * Support Cortex-A7 in shmobile_init_delay() Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-soc3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Initial r8a7794 SoC support ARM: shmobile: support Cortex-A7 in shmobile_init_delay() commit eb492df9616156416e160bb59f7fd0437d6f5424 Merge: 0b7f509 968d1af Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 9 17:07:30 2014 +0200 Merge tag 'renesas-r8a7740-multiplatform-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Renesas ARM Based SoC r8a7740 Multiplatform Updates for v3.18" from Simon Horman: * Enable multiplatform support for r8a7740 SoC and remove its DT-reference C board DTS files. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-r8a7740-multiplatform-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: armadillo800eva reference: Remove DTS ARM: shmobile: armadillo800eva reference: Remove C board code ARM: shmobile: r8a7740: Add restart callback ARM: shmobile: armadillo800eva: Build DTS for multiplatform ARM: shmobile: armadillo800eva: Sync DTS ARM: shmobile: r8a7740: Multiplatform support commit c559a353410939c0884e83bdb0e2420a986ac53b Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 9 08:23:16 2014 +0200 usb: gadget: f_fs: add ioctl returning ep descriptor This patch introduces ioctl named FUNCTIONFS_ENDPOINT_DESC, which returns endpoint descriptor to userspace. It works only if function is active. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c40c4028f048a077a8950fd95e5d8901f773a63f Merge: 32dc5ca d07a1ec Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 9 17:03:17 2014 +0200 Merge tag 'at91-cleanup2' of git://github.com/at91linux/linux-at91 into next/cleanup Pull "Second batch of AT91 cleanup for 3.18" from Nicolas Ferre: - Timer Counter (TC) fixup and cleanup: - fix segmentation fault when kexec-ing a kernel by masking TC interrupts at shutdown and probe time - use modern driver model: devm_*, probe function, sanitize IRQ request Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-cleanup2' of git://github.com/at91linux/linux-at91: clocksource: tcb_clksrc: sanitize IRQ request ARM: at91/tclib: mask interruptions at shutdown and probe ARM: at91/tclib: move initialization from alloc to probe ARM: at91/tclib: prefer using of devm_* functions commit e45cfa2051d1b7d3378887d9576e11484e25c7d6 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 9 08:56:52 2014 +0800 usb: gadget: dbgp: add reset API at usb_gadget_driver Add reset API at usb_gadget_driver, it calls disconnect handler currently, but may do different things in future. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0eba4550fc642f4a51d76bf20d2b8104ec81d8e5 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 9 08:56:51 2014 +0800 usb: gadget: gadgetfs: add reset API at usb_gadget_driver Add reset API at usb_gadget_driver, it calls disconnect handler currently, but may do different things in future. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 02f751b43f6766da4382bed322926eb99d56f516 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 9 08:56:50 2014 +0800 usb: gadget: configfs: add reset API at usb_gadget_driver Add reset API at usb_gadget_driver, it calls disconnect handler currently, but may do different things in future. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d8a816fc6f6a1d262798dc43d6791c3e93d2d2b5 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 9 08:56:49 2014 +0800 usb: gadget: composite: add reset API at usb_gadget_driver Add reset API at usb_gadget_driver, it calls disconnect handler currently, but may do different things in future. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ef979a26e3d521d51dbd9950e46a69e303073171 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 9 08:56:48 2014 +0800 usb: gadget: add reset API at usb_gadget_driver Adding reset API for UDC bus reset handler is useful for below two issues. Current disconnect API at usb_gadget_driver is also invoked at udc's bus reset handler, but the document says it is invoked when the host is disconnected. Besides, we may expect the gadget_driver to do different things for host sends bus reset and host disconnects gadget, eg, we may not want to flush dirty page for mass storage at bus reset, and want to do it at disconnection. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 85b06f5e53d17c15844ef3cd45d0c7107f0ae45c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 9 15:06:09 2014 +0300 usb: gadget: f_fs: signedness bug in __ffs_func_bind_do_descs() We need "idx" to be signed for the error handling to work. Fixes: 6d5c1c77bbf9 ('usb: gadget: f_fs: fix the redundant ep files problem') Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 13443799b559cde593826091a7de135483b245e5 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:13 2014 +0300 usb: gadget: f_uvc: use usb_gstrings_attach Attach strings to gadget with usb_strings_attach. It is required for correct instantiation of functions more than once: instead of modifying the local uvc_en_us_strings a function instance specific copy is created with usb_gstrings_attach. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cb47d889e651d36b4200800de1d56977b910d8a3 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:12 2014 +0300 usb: gadget: f_uvc: remove compatibility layer There are no users of the old interface left. Remove it. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c913881ec6f5d17defd16dfd96fea576b17c04b9 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:11 2014 +0300 usb: gadget: webcam: convert webcam to new interface of f_uvc Use the new function interface of f_uvc. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 87e9d8fd26c782623b79f2968431179f29b339f2 Merge: facdb3d 75a4182 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 9 16:49:28 2014 +0200 Merge tag 'socfpga_update_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next into next/dt Pull "arm: dts: Add Altera SDRAM EDAC bindings & devicetree entries" From Dinh Nguyen: 5 of the 6 patches are DTS updates and the 1 patch is updating the MAINTAINERS entry with my new email address. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'socfpga_update_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next: arm: dts: Add Altera SDRAM EDAC bindings & devicetree entries. ARM: dts: socfpga: memreserve first 4KB for future system use ARM: dts: socfpga: Add SD card detect ARM: dts: socfpga: remove extra alias in the ArriaV devkit ARM: dts: socfpga: unuse the slot-node and deprecate the supports-highspeed for dw-mmc MAINTAINERS: update entries for ARM/SOCFPGA platform commit 6d11ed76c45dd7c8322c2d03575f2164cc725c18 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:10 2014 +0300 usb: gadget: f_uvc: convert f_uvc to new function interface Use the new function registration interface. It is required in order to integrate configfs support. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> [Updated copyright years] Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3a83c16ef0e03e2ca2f1ce547a7cba53a62d0e0d Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:09 2014 +0300 usb: gadget: uvc: separately compile some components of f_uvc Compile uvc_queue, uvc_v4l2, uvc_video separately so that later they can be all combined in a separately compiled f_uvc. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> [Make uvc_v4l2_ioctl_ops non-static] [Rename __UVC__V4L2__H__ and __UVC__VIDEO__H__] [Update MAINTAINERS] Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7ea95b110811fa8e41f5960c278bcfc80b8b21c1 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:08 2014 +0300 usb: gadget: uvc: rename functions to avoid conflicts with host uvc Prepare for separate compilation of uvc function's components. Some symbols will have to be exported, so rename to avoid conflicts with functions of the same name in host uvc. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> [Rename uvc_video_pump and uvc_queue_head as well] [Rename forgotten uvc_queue_cancel instance in a comment] Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 70aacc5777d1f1ca0a88067c9121ce86441bc4e0 Author: Amit Virdi <amit.virdi@xxxxxx> Date: Tue Sep 9 11:57:37 2014 +0530 usb: gadget: zero: Fix warning generated by kbuild The kbuild test bot generated the warning: drivers/usb/gadget/function/f_sourcesink.c:1498: warning: comparison is always false due to limited range of data type This patch fixes it. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Amit Virdi <amit.virdi@xxxxxx> CC: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6c8df11ddc3af738c4230100d2de89a02a20cb22 Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:12 2014 +0200 cpufreq: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. ARCH_MVEBU is sufficient. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409417172-6846-8-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 6da4161355bb02876f9123857990f049959c8d7b Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:11 2014 +0200 watchdog: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. ARCH_MVEBU is sufficient. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: linux-watchdog@xxxxxxxxxxxxxxx Link: https://lkml.kernel.org/r/1409417172-6846-7-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ace2c0205b1bae2c3d1ea0932a1e45494938005a Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:10 2014 +0200 rtc: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. ARCH_MVEBU is sufficient. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Link: https://lkml.kernel.org/r/1409417172-6846-6-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1093d8cac46f9a40d2b4d6d20657e7970640a59b Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:09 2014 +0200 leds: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. Use MACH_KIRKWOOD which will be set when kirkwood is built as part of mach-mvebu. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: linux-leds@xxxxxxxxxxxxxxx Link: https://lkml.kernel.org/r/1409417172-6846-5-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 575be653f887601d3f656f7e951e34ecf66da5ec Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:08 2014 +0200 thermal: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. Depend on MACH_KIRKWOOD, which will be set when kirkwood is built as part of ARCH_MVEBU. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Link: https://lkml.kernel.org/r/1409417172-6846-4-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 4efded056ec03b5b1b2d494588514edab2528757 Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:07 2014 +0200 ata: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. ARCH_MVEBU is sufficient. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx Acked-by: Tejun Heo <tj@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1409417172-6846-3-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e9e0da3323c3bb5adad640018445df701156e13e Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:06 2014 +0200 cpuidle: kirkwood: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. Use MACH_KIRKWOOD, which is set when kirkwood is built as part of mach-mvebu. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409417172-6846-2-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9ba1f726bec090399eb9bb9157eb32dedc8e8c45 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Mon Sep 8 13:45:00 2014 +0200 netfilter: nf_tables: add new nft_masq expression The nft_masq expression is intended to perform NAT in the masquerade flavour. We decided to have the masquerade functionality in a separated expression other than nft_nat. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit be6b635cd674add9410efa9ac6f03e0040848b12 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Thu Sep 4 14:06:49 2014 +0200 netfilter: nf_nat: generalize IPv6 masquerading support for nf_tables Let's refactor the code so we can reach the masquerade functionality from outside the xt context (ie. nftables). The patch includes the addition of an atomic counter to the masquerade notifier: the stuff to be done by the notifier is the same for xt and nftables. Therefore, only one notification handler is needed. This factorization only involves IPv6; a similar patch exists to handle IPv4. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8dd33cc93ec92b8460ed2ad98c6db39276f6a72b Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Thu Sep 4 14:06:33 2014 +0200 netfilter: nf_nat: generalize IPv4 masquerading support for nf_tables Let's refactor the code so we can reach the masquerade functionality from outside the xt context (ie. nftables). The patch includes the addition of an atomic counter to the masquerade notifier: the stuff to be done by the notifier is the same for xt and nftables. Therefore, only one notification handler is needed. This factorization only involves IPv4; a similar patch follows to handle IPv6. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c55fbbb4a730e3d6e1727b7de08b39e6cd847fad Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Sep 8 14:11:45 2014 +0200 netfilter: ebtables: create audit records for replaces This is already done for x_tables (family AF_INET and AF_INET6), let's do it for AF_BRIDGE also. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e42eff8a32f8b7bde88ea3c5a56391407cbe84f3 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Thu Sep 4 14:06:14 2014 +0200 netfilter: nft_nat: include a flag attribute Both SNAT and DNAT (and the upcoming masquerade) can have additional configuration parameters, such as port randomization and NAT addressing persistence. We can cover these scenarios by simply adding a flag attribute for userspace to fill when needed. The flags to use are defined in include/uapi/linux/netfilter/nf_nat.h: NF_NAT_RANGE_MAP_IPS NF_NAT_RANGE_PROTO_SPECIFIED NF_NAT_RANGE_PROTO_RANDOM NF_NAT_RANGE_PERSISTENT NF_NAT_RANGE_PROTO_RANDOM_FULLY NF_NAT_RANGE_PROTO_RANDOM_ALL The caller must take care of not messing up with the flags, as they are added unconditionally to the final resulting nf_nat_range. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b9ac12ef099707f405d7478009564302d7ed8393 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 2 16:42:26 2014 +0200 netfilter: nf_tables: extend NFT_MSG_DELTABLE to support flushing the ruleset This patch extend the NFT_MSG_DELTABLE call to support flushing the entire ruleset. The options now are: * No family speficied, no table specified: flush all the ruleset. * Family specified, no table specified: flush all tables in the AF. * Family specified, table specified: flush the given table. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ee01d5425634264089db74889c3547be13c3faef Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 2 16:42:25 2014 +0200 netfilter: nf_tables: add helpers to schedule objects deletion This patch refactor the code to schedule objects deletion. They are useful in follow-up patches. In order to be able to use these new helper functions in all the code, they are placed in the top of the file, with all the dependant functions and symbols. nft_rule_disactivate_next has been renamed to nft_rule_deactivate. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c435201bede79735c23d6961ce369034f193e633 Author: Bojan Prtvar <prtvar.b@xxxxxxxxx> Date: Mon Sep 8 09:51:12 2014 +0200 netfilter: xt_string: Remove unnecessary initialization of struct ts_state The skb_find_text() accepts uninitialized textsearch state variable. Signed-off-by: Bojan Prtvar <prtvar.b@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5fcf0cf6073d4adb22e34cd1d14a6318699625a9 Author: Julian Anastasov <ja@xxxxxx> Date: Wed Sep 3 00:02:49 2014 +0300 ipvs: reduce stack usage for sockopt data Use union to reserve the required stack space for sockopt data which is less than the currently hardcoded value of 128. Now the tables for commands should be more readable. The checks added for readability are optimized by compiler, others warn at compile time if command uses too much stack or exceeds the storage of set_arglen and get_arglen. As Dan Carpenter points out, we can run for unprivileged user, so we can silent some error messages. Signed-off-by: Julian Anastasov <ja@xxxxxx> CC: Dan Carpenter <dan.carpenter@xxxxxxxxxx> CC: Andrey Utkin <andrey.krieger.utkin@xxxxxxxxx> CC: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3045d76070abe725dbb7fd8ff39c27b820d5a7eb Author: Ana Rey <anarey@xxxxxxxxx> Date: Tue Sep 2 20:36:14 2014 +0200 netfilter: nf_tables: add devgroup support in meta expresion Add devgroup support to let us match device group of a packets incoming or outgoing interface. Signed-off-by: Ana Rey <anarey@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ce24b7217b60980ff0366dc6afbd5418db9972f2 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 2 16:42:24 2014 +0200 netfilter: nf_tables: rename nf_table_delrule_by_chain() For the sake of homogenize the function naming scheme, let's rename nf_table_delrule_by_chain() to nft_delrule_by_chain(). Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c559879406c10087ea2eab0e1868f79eced12bf9 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 2 16:42:23 2014 +0200 netfilter: nf_tables: add helper to unregister chain hooks This patch adds a helper function to unregister chain hooks in the chain deletion path. Basically, a code factorization. The new function is useful in follow-up patches. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5e266fe7c046b107496a338839cfb6008aeddbd8 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 2 16:42:21 2014 +0200 netfilter: nf_tables: refactor rule deletion helper This helper function always schedule the rule to be removed in the following transaction. In follow-up patches, it is interesting to handle separately the logic of rule activation/disactivation from the transaction mechanism. So, this patch simply splits the original nf_tables_delrule_one() in two functions, allowing further control. While at it, for the sake of homigeneize the function naming scheme, let's rename nf_tables_delrule_one() to nft_delrule(). Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 876665eafc0e43523d0c57b5c937b59696fb4a8f Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Sep 9 16:31:09 2014 +0200 netfilter: nft_chain_nat_ipv6: use generic IPv6 NAT code from core Use the exported IPv6 NAT functions that are provided by the core. This removes duplicated code so iptables and nft use the same NAT codebase. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2a5538e9aa4929329813bee69922c9ae4990fcad Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Aug 25 12:05:27 2014 +0200 netfilter: nat: move specific NAT IPv6 to core Move the specific NAT IPv6 core functions that are called from the hooks from ip6table_nat.c to nf_nat_l3proto_ipv6.c. This prepares the ground to allow iptables and nft to use the same NAT engine code that comes in a follow up patch. This also renames nf_nat_ipv6_fn to nft_nat_ipv6_fn in net/ipv6/netfilter/nft_chain_nat_ipv6.c to avoid a compilation breakage. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a2d61ed525f3458a913147fd02b1a5cf15e7551b Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Wed Jul 2 15:42:19 2014 +0300 integrity: make integrity files as 'integrity' module The kernel print macros use the KBUILD_MODNAME, which is initialized to the module name. The current integrity/Makefile makes every file as its own module, so pr_xxx messages are prefixed with the file name instead of the module. Similar to the evm/Makefile and ima/Makefile, this patch fixes the integrity/Makefile to use the single name 'integrity'. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 7ef84e65ecc60289281e8e7e83a8bb6a97d7df5c Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Thu Apr 17 15:07:15 2014 +0300 integrity: base integrity subsystem kconfig options on integrity The integrity subsystem has lots of options and takes more than half of the security menu. This patch consolidates the options under "integrity", which are hidden if not enabled. This change does not affect existing configurations. Re-configuration is not needed. Changes v4: - no need to change "integrity subsystem" to menuconfig as options are hidden, when not enabled. (Mimi) - add INTEGRITY Kconfig help description Changes v3: - dependency to INTEGRITY removed when behind 'if INTEGRITY' Changes v2: - previous patch moved integrity out of the 'security' menu. This version keeps integrity as a security option (Mimi). Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 1ae8f41c23ff6a75c1432faed7281aea5ce7c236 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Thu Apr 17 14:41:06 2014 +0300 integrity: move asymmetric keys config option For better visual appearance it is better to co-locate asymmetric key options together with signature support. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit b4148db51720a6b25a981ea72185312d4b6634fe Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Thu May 8 11:23:53 2014 +0300 ima: initialize only required template IMA uses only one template. This patch initializes only required template to avoid unnecessary memory allocations. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Reviewed-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 17f4bad3abc7c09f42987d89ccccab02c03455a9 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Tue Aug 19 16:48:39 2014 +0300 ima: remove usage of filename parameter In all cases except ima_bprm_check() the filename was not defined and ima_d_path() was used to find the full path. Unfortunately, the bprm filename is a relative pathname (eg. ./<dir>/filename). ima_bprm_check() selects between bprm->interp and bprm->filename. The following dump demonstrates the differences between using filename and interp. bprm->filename filename: ./foo.sh, pathname: /root/bin/foo.sh filename: ./foo.sh, pathname: /bin/dash bprm->interp filename: ./foo.sh, pathname: /root/bin/foo.sh filename: /bin/sh, pathname: /bin/dash In both cases the pathnames are currently the same. This patch removes usage of filename and interp in favor of d_absolute_path. Changes v3: - 11 extra bytes for "deleted" not needed (Mimi) - purpose "replace relative bprm filename with full pathname" (Mimi) Changes v2: - use d_absolute_path() instead of d_path to work in chroot environments. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 86f2bc024966d962d4d7575468e226e2269d198c Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Wed Aug 20 12:37:57 2014 +0300 ima: remove unnecessary appraisal test ima_get_action() sets the "action" flags based on policy. Before collecting, measuring, appraising, or auditing the file, the "action" flag is updated based on the cached iint->flags. This patch removes the subsequent unnecessary appraisal test in ima_appraise_measurement(). Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit e4a9c5196566bd47ac92f6e5ef7f48412ded7176 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Wed Sep 3 10:19:58 2014 +0300 ima: add missing '__init' keywords Add missing keywords to the function definition to cleanup to discard initialization code. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Reviewed-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 3a8a2eadc4946ce3af39b3447c32532324538f75 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Wed Sep 3 10:19:57 2014 +0300 ima: remove unnecessary extra variable 'function' variable value can be changed instead of allocating extra '_func' variable. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit f68c05f4d2d4e19c40f4ac1e769cc0a2f9f544a0 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Aug 22 09:43:55 2014 +0300 ima: simplify conditional statement to improve performance Precede bit testing before string comparison makes code faster. Also refactor statement as a single line pointer assignment. Logic is following: we set 'xattr_ptr' to read xattr value when we will do appraisal or in any case when measurement template is other than 'ima'. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 65d98f3be25f7ee96af655f97e153d3d8d3d8ef9 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Tue Aug 19 14:56:18 2014 +0300 integrity: remove declaration of non-existing functions Commit f381c27 "integrity: move ima inode integrity data management" (re)moved few functions but left their declarations in header files. This patch removes them and also removes duplicated declaration of integrity_iint_find(). Commit c7de7ad "ima: remove unused cleanup functions". This patch removes these definitions as well. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit d9a2e5d788d39f7593e2af5e1a365e2b9300679f Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Wed Jul 2 15:12:26 2014 +0300 integrity: prevent flooding with 'Request for unknown key' If file has IMA signature, IMA in enforce mode, but key is missing then file access is blocked and single error message is printed. If IMA appraisal is enabled in fix mode, then system runs as usual but might produce tons of 'Request for unknown key' messages. This patch switches 'pr_warn' to 'pr_err_ratelimited'. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 3034a146820c26fe6da66a45f6340fe87fe0983a Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Jun 27 18:15:44 2014 +0300 ima: pass 'opened' flag to identify newly created files Empty files and missing xattrs do not guarantee that a file was just created. This patch passes FILE_CREATED flag to IMA to reliably identify new files. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 3.14+ commit f1ff6348b30b3658d138f05643149706f99078ae Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Jul 22 20:16:57 2014 -0400 ftrace: Add separate function for non recursive callbacks Instead of using the generic list function for callbacks that are not recursive, call a new helper function from the mcount trampoline called ftrace_ops_recur_func() that will do the recursion checking for the callback. This eliminates an indirection as well as will help in future code that will use dynamically allocated trampolines. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3dcbad52cf18c3c379e96b992d22815439ebbe53 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Tue Sep 2 16:31:43 2014 +0300 evm: properly handle INTEGRITY_NOXATTRS EVM status Unless an LSM labels a file during d_instantiate(), newly created files are not labeled with an initial security.evm xattr, until the file closes. EVM, before allowing a protected, security xattr to be written, verifies the existing 'security.evm' value is good. For newly created files without a security.evm label, this verification prevents writing any protected, security xattrs, until the file closes. Following is the example when this happens: fd = open("foo", O_CREAT | O_WRONLY, 0644); setxattr("foo", "security.SMACK64", value, sizeof(value), 0); close(fd); While INTEGRITY_NOXATTRS status is handled in other places, such as evm_inode_setattr(), it does not handle it in all cases in evm_protect_xattr(). By limiting the use of INTEGRITY_NOXATTRS to newly created files, we can now allow setting "protected" xattrs. Changelog: - limit the use of INTEGRITY_NOXATTRS to IMA identified new files Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 3.14+ commit 39e90c77637b3892a39f2908aea57539e961c50e Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 8 12:11:45 2014 +0300 Bluetooth: 6lowpan: Route packets that are not meant to peer via correct device Packets that are supposed to be delivered via the peer device need to be checked and sent to correct device. This requires that user has set the routes properly so that the 6lowpan module can then figure out the destination gateway and the correct Bluetooth device. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17.x commit b2799cec22812f5f1aaaa57133df51876f685d84 Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 8 12:11:44 2014 +0300 Bluetooth: 6lowpan: Set the peer IPv6 address correctly The peer IPv6 address contained wrong U/L bit in the EUI-64 part. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17.x commit 2ae50d8d3aaf7154f72b44331b71f15799cdc1bb Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 8 12:11:43 2014 +0300 Bluetooth: 6lowpan: Increase the connection timeout value Use the default connection timeout value defined in l2cap.h because the current timeout was too short and most of the time the connection attempts timed out. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17.x commit 66b0436977e2c62388d48836ff784f1fedb49c4f Author: Nishanth Menon <nm@xxxxxx> Date: Fri Jun 6 20:53:22 2014 -0500 ARM: dts: dra7-evm: Mark uart1 rxd as wakeup capable Mark rxd as wakeupcapable for 115200n8 no hardware-flow control configuration. If h/w flow control is being used, then rts/cts appropriately should be used. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit e2265abe7a18e5e6880d0cd35e2db08bcd237366 Author: Nishanth Menon <nm@xxxxxx> Date: Fri May 23 00:04:02 2014 -0500 ARM: dts: OMAP5 / DRA7: switch over to interrupts-extended property for UART We've had deeper idle states working on omaps for few years now, but only in the legacy mode. When booted with device tree, the wake-up events did not have a chance to work until commit 3e6cee1786a1 ("pinctrl: single: Add support for wake-up interrupts") that recently got merged. In addition to that we also needed commit 79d9701559a9 ("of/irq: create interrupts-extended property") that's now also merged. Note that there's no longer need to specify the wake-up bit in the pinctrl settings, the request_irq on the wake-up pin takes care of that. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit d8c5bab676774b9c260c7990b84a06a09310fbec Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 23:47:46 2014 -0500 ARM: dts: AM437x: switch to compatible pinctrl Now that ti,am437-padconf is available, switch over to that compatible property. Retain pinctrl-single for legacy support. While at it, mark the pinctrl as interrupt controller so that it can be used with interrupts-extended property for wakeup events. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit 817c0378c50c2aab2b026caab7486df6895ed8a2 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 23:47:46 2014 -0500 ARM: dts: DRA7: switch to compatible pinctrl Now that ti,dra7-padconf is available, switch over to that compatible property. Retain pinctrl-single for legacy support. While at it, mark pinctrl as interrupt controller so that it can be used with interrupts-extended property for wakeup events. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit 924c31cc688231292119aa1bdbf7ce349c42ca49 Author: Nishanth Menon <nm@xxxxxx> Date: Fri May 23 00:58:08 2014 -0500 ARM: dts: OMAP5: switch to compatible pinctrl Now that ti,omap5-padconf is available, switch over to that compatible property. Retain pinctrl-single for legacy support. While at it, mark pinctrl as interrupt controller so that it can be used with interrupts-extended property for wakeup events. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit ce437aa4519c46a0f12455c320b6f65dde16c26e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Aug 27 15:13:54 2014 +0200 mmc: mmci: augment driver to handle gpio descriptors Currently the MMCI driver will only handle GPIO descriptors implicitly through the device tree probe glue in mmc_of_init(), but devices instatiated other ways such as through board files and passing descriptors using the GPIO descriptor table will not be able to exploit descriptors. Augment the driver to look for a GPIO descriptor if device tree is not used for the device, and if that doesn't work, fall back to platform data GPIO assignment using the old API. The end goal is to get rid of the platform data integer GPIO assingments from the kernel. This enable the MMCI-embedding platforms to be converted to GPIO descritor tables. Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 98e90de99a0c43bd434da814c882c4332441871e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Aug 27 13:00:52 2014 +0200 mmc: host: switch OF parser to use gpio descriptors This switches the central MMC OF parser to use gpio descriptors instead of grabbing GPIOs explicitly from the device tree. This strips out an unecessary use of the integer-based GPIO API that we want to get rid of, cuts down on code as the gpio descriptor code will handle active low flags. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9d2fa2428ae149ba3a5b7a4ceb0a9e11f1882b3b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Aug 27 13:00:51 2014 +0200 mmc: slot-gpio: add gpiod variant to get wp GPIO This makes it possible to get the write protect (read only) GPIO line from a GPIO descriptor. Written to exactly mirror the card detect function. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9fbc695075e905b9201100860eacac6349db6644 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Aug 27 13:00:50 2014 +0200 mmc: slot-gpio: switch to use flags when getting GPIO When the slot GPIO driver gets the GPIO to be used for card detect, it is now possible to specify a flag to have the line set up as input. Get rid of the explicit setup call for input and use the flag. The extra argument works as there are transition varargs macros in place in the <linux/gpio/consumer.h> header, in the future we will make the flags argument compulsory. Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f5b4d71f72c5f08c2e1d0af68ef881f85537e7a1 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 11:02:23 2014 +0200 mmc: card: Prevent partition scan for the eMMC boot areas It seems very unlikely that eMMC devices would hold a standard partitiontable in one of it's boot areas. Therefore, let's prevent them from being scanned. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0abb71feb228ddbd17e0dfa13216541e036bb549 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:46:49 2014 -0700 mmc: remove MMC_CAP2_NO_MULTI_READ flags Now, mmc framework uses multi_io_quirk for I/O HW bug workaround. MMC_CAP2_NO_MULTI_READ flag is no longer needed Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9674e9545382153d6a78bb97915ba8e64c1fdf9f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:46:32 2014 -0700 ARM: shmobile: remove MMC_CAP2_NO_MULTI_READ from lager sh_mobile_sdhi cares multiblock read bug. remove MMC_CAP2_NO_MULTI_READ flag from board code Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b9409687a8dad8b7207f05c62b9c87d2a766473b Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:46:10 2014 -0700 ARM: shmobile: remove MMC_CAP2_NO_MULTI_READ from koelsch sh_mobile_sdhi cares multiblock read bug. remove MMC_CAP2_NO_MULTI_READ flag from board code Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8b4efe2f58b1699a57f6c30d17345b801ab4213b Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:45:46 2014 -0700 mmc: use .multi_io_quirk on sh_mobile Now, sh_mobile_sdhi can use .multi_io_quirk callback instead of MMC_CAP2_NO_MULTI_READ flags. let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bbf0208d39121bd8873b032459cb2b5f35e14593 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:45:25 2014 -0700 mmc: use .multi_io_quirk on tmio_mmc Now, tmio_mmc can use .multi_io_quirk callback instead of MMC_CAP2_NO_MULTI_READ flags. let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit afd8c29d254d7fddbae454f217fa5facefe8f5b0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:44:51 2014 -0700 mmc: use .multi_io_quirk on omap_hsmmc Now, omap_hsmmc can use .multi_io_quirk callback instead of MMC_CAP2_NO_MULTI_READ flags. let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2080437d375f4d8ba2fe37254199427f3f5e7bc2 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Wed Sep 3 10:23:39 2014 +0800 ASoC: simple-card: Merge single and muti DAI link(s) code. This patch will split the DT node into old style and new style: The new style will merge the single DAI link and muti DAI links code together, the new style will be easier to add muti DAI links from old single DAI link DTs. This patch will maintian compatibility with the old DTs. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b7574bad80f773dcc4c17950181cde9fb6701501 Author: Gao, Yunpeng <yunpeng.gao@xxxxxxxxx> Date: Thu Sep 4 15:18:05 2014 +0800 mmc: sdhci-pci: disable preset register for Baytrail and Merrifield Due to HW issue, SDHCI host controller on Intel Baytrail/Merrifield platforms can not use preset register. So, disable preset registers for them by quirks. Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2e47e84245adcb1b3872210678b6146f674fb3ff Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 2 19:08:53 2014 -0700 mmc: Add .multi_io_quirk callback for multi I/O HW bug Historically, we have been using MMC_CAP* to handle host HW issues and currently the block layer uses MMC_CAP2_NO_MULTI_READ flag for a multi I/O HW bug workaround. There are a few tweaks needed to make MMC_CAP2_NO_MULTI_READ suite all situations. Therefore let's add an optional host ops callback to enable host drivers to return the number of blocks it allows per request. In a future patch and when host drivers have converted to the new callback, MMC_CAP2_NO_MULTI_READ shall be removed. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit adc828556dfc3f87a5c1338fc5412cbec3c0b529 Author: Chuanxiao.Dong <chuanxiao.dong@xxxxxxxxx> Date: Tue Aug 19 11:02:41 2014 +0800 mmc: sdhci: check 1.2v IO capability for SDHC host Right now enable 1.2v IO voltage for SDHC is by using vqmmc. Thus for the host which doesn't have vqmmc, or its vqmmc does not support 1.2v, directly use MMC_CAP2_HS200 may cause HS200 failure. So needs to check if vqmmc is able to support 1.2v. If it does not support, disable 1.2v IO for HS200. Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 312449efd16bb06a1e4fda94793d3eb8b8bb16f6 Author: Chuanxiao.Dong <chuanxiao.dong@xxxxxxxxx> Date: Fri Aug 15 11:28:07 2014 +0800 mmc: core: Fix sequence for I/O voltage in DDR mode for eMMC Even (e)MMC card can support 3.3v to 1.2v vccq in DDR, but not all host controller can support this, like some of the SDHCI host which connect to an eMMC device. Some of these host controller still needs to use 1.8v vccq for supporting DDR mode. So the sequence will be: if (host and device can both support 1.2v IO) use 1.2v IO; else if (host and device can both support 1.8v IO) use 1.8v IO; so if host and device can only support 3.3v IO, this is the last choice. Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Tested-by: Jean-Michel Hautbois <jhautbois@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e73708190557911893ce4fb7a551ff5285e62ca2 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Tue Sep 2 11:23:55 2014 +0200 mmc: pxamci: prepare and unprepare the clocks Add the clock prepare and unprepare call to the driver set_ios calls phase. This will remove a warning once the PXA architecture is migrated to the clock infrastructure. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 578b36b69c31c874f8303c62efb40b8bb9b46ae5 Author: Gao, Yunpeng <yunpeng.gao@xxxxxxxxx> Date: Mon Sep 1 11:35:40 2014 +0800 mmc: sdhci-acpi: add probe_slot method for emmc/sd/sdio Similar to sdhci-pci controller, also add probe_slot and remove_slot method in the sdhci-acpi driver. Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f1b55a55e4ee6fe6d791cff994f6e4d990f69c1e Author: Gao, Yunpeng <yunpeng.gao@xxxxxxxxx> Date: Mon Aug 18 15:05:52 2014 +0800 mmc: sdhci-pci: enable runtime pm for Intel Merrifield platform Enable runtime pm support on Intel Merrifield platform. Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e99783a45220a2c5f5a598e0e81213ecf2dbcf2f Author: Chanho Min <chanho.min@xxxxxxx> Date: Sat Aug 30 12:40:40 2014 +0900 mmc: sdhci: handle busy-end interrupt during command It is fully legal for a controller to start handling busy-end interrupt before it has signaled that the command has completed. So make sure we do things in the proper order, Or it results that command interrupt is ignored so it can cause unexpected operations. This is founded at some toshiba emmc with the bellow warning. "mmc0: Got command interrupt 0x00000001 even though no command operation was in progress." This issue has been also reported by Youssef TRIKI: It is not specific to Toshiba devices, and happens with eMMC devices as well as SD card which support Auto-CMD12 rather than CMD23. Also, similar patch is submitted by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Changes since v1: Fixed conflict with the next of git.linaro.org/people/ulf.hansson/mmc.git and Tested if issue is fixed again. Signed-off-by: Hankyung Yu <hankyung.yu@xxxxxxx> Signed-off-by: Chanho Min <chanho.min@xxxxxxx> Tested-by: Youssef TRIKI <youssef.triki@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0b10f478d2ad93b3808d018327465aaab77c8d2b Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Aug 30 14:53:13 2014 -0300 sdhci: Make sdhci_disable_irq_wakeups() static sdhci_disable_irq_wakeups() is exported, but it is not called outside sdhci.c. Make it static and do not export it, so that the following sparse warning is fixed: drivers/mmc/host/sdhci.c:2548:6: warning: symbol 'sdhci_disable_irq_wakeups' was not declared. Should it be static? Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 03d6f5ffc5c469e66bfe0a7d8120d29d4c3c07c9 Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:32 2014 +0800 mmc: sdhci: move timeout_clk dynamically calculation code into common code The timeout_clk calculation code for SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK case is common and could be moved into common sdhci_do_set_ios, then platform code which is not using sdhci_set_clock does not need to write the same code again. Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 28aab053396125c8e191537ec2b9781ec0174b04 Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:31 2014 +0800 mmc: sdhci: calculate timeout_clk conditionally in sdhci_add_host The timeout_clk calculation code in sdhci_add_host is meaningless for SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK. So only execute them with no SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK set. Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e33eb8e2818c9a7b41bac68a1c83ee4c136af9ba Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:30 2014 +0800 mmc: sdhci-esdhc-imx: set the correct max timeout value for uSDHC The default sdhci driver write 0xE into timeout counter register to set the maximum timeout. The value is not correct for uSDHC since the max counter value for uSDHC is 0xF. Instead of using common timeout code in sdhci, we implement esdhc_set_timeout to handle the difference between eSDHC and uSDHC. Currently we simply set the max timeout value as before. But in the future, we probably may implement IMX specific timeout setting algorithm and use suitable timeout for different CMDs. Reviewed-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b45e668af4439bfc52ed92af44b6400661ba7ec8 Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:29 2014 +0800 mmc: sdhci: add platform set_timeout hook Currently the common code assume 0xE is the maximum timeout counter value and use it to write into the timeout counter register. However, it's fairly possible that some other SoCs may have different max timeout register value. That means 0xE may be incorrect and becomes meaningless. It's also possible that other platforms has different timeout calculation algorithm. To be flexible, this patch provides a .set_timeout hook for those platforms to set the timeout on their way if they need. Reviewed-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 10fd0ad967c05cda16b25f862e2a45eb63d83a21 Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:28 2014 +0800 mmc: sdhci-esdhc-imx: fix incorrect max timeout cout for uSDHC The default sdhci code use the 1 << 27 as the max timeout counter to to calculate the max_busy_timeout, however it's not correct for uSDHC since its the max counter is 1 << 28. Implement esdhc_get_max_timeout_cout to handle it correctly. Reviewed-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a6ff5aeb9b31f7b71a8566f8e130ad66bd103d20 Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:27 2014 +0800 mmc: sdhci: add platform get_max_timeout_count hook Currently the max timeout count is hardcode to 1 << 27 for calcuate the max_busy_timeout, however, for some platforms the max timeout count may not be 1 << 27, e.g. i.MX uSDHC is 1 << 28. Thus 1 << 27 is not correct for such platform. It is also possible that other platforms may have different values. To be flexible, we add a get_max_timeout_count hook to get the correct maximum timeout value for these platforms. Reviewed-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a638640335d86549da2b7d38f82d584294333512 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:07:19 2014 +0200 mmc: tmio-mmc: Add support for SDHI on new R-Car Gen2 SoCs - r8a7792 (R-Car V2H) - r8a7793 (R-Car M2-N) - r8a7794 (R-Car E2) Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3cf890fc42b2d3bd5a3a7e4c1f61b0637efbe2ec Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Aug 25 11:19:04 2014 -0700 mmc: dw_mmc: Pass back errors from mmc_of_parse() It's possible that mmc_of_parse() could return errors (possibly in some future version it might return -EPROBE_DEFER even). Let's pass those errors back. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1ba4c322caaecfb68c1e175599398caef946a525 Author: Minda Chen <Minda.Chen@xxxxxxx> Date: Tue Aug 26 10:50:42 2014 +0800 mmc: sdhci-sirf: fix 8bit width enable by overwriting set_bus_width the implementation of CSR SDHCI controller is a modified version of the one described in the 1.0 specification, and not a normal 3.0 controller. and 8bit-width enable bit of CSR MMC hosts is 3, while stardard hosts use bit 5. this patch fixes the functionality of 8bit transfer in mmc controllers and improve performance for mmc0 a lot. Signed-off-by: Minda Chen <Minda.Chen@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Reviewed-by: Romain Izard <romain.izard.pro@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0173055842cd1d9ed3984e70891c22dbf2f29372 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Aug 22 19:17:51 2014 +0530 mmc: dw_mmc: Support voltage changes For UHS cards we need the ability to switch voltages from 3.3V to 1.8V. Add support to the dw_mmc driver to handle this. Note that dw_mmc needs a little bit of extra code since the interface needs a special bit programmed to the CMD register while CMD11 is progressing. This means adding a few extra states to the state machine to track. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 51da2240906cb94e8f6ba55e403b6206df6fb2dd Author: Yuvaraj CD <yuvaraj.cd@xxxxxxxxx> Date: Fri Aug 22 19:17:50 2014 +0530 mmc: dw_mmc: use mmc_regulator_get_supply to handle regulators This patch makes use of mmc_regulator_get_supply() to handle the vmmc and vqmmc regulators.Also it moves the code handling the these regulators to dw_mci_set_ios().It turned on the vmmc and vqmmc during MMC_POWER_UP and MMC_POWER_ON,and turned off during MMC_POWER_OFF. Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit cc8aa7de48277f62fe3fced762d75f01ce57e909 Author: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Date: Thu Aug 14 18:29:24 2014 +0800 mmc: core: resolve divded by zero panic With one special SD card, below divide by zero error observed: ... [ 2.144300] divide error: 0000 [#1] PREEMPT SMP [ 2.148860] Modules linked in: [ 2.151898] [ 2.152685] Set up 4031 stolen pages starting at 0x0001f000, GTT offset 0K [ 2.157330] Set up 0 CI stolen pages starting at 0x00000000, GTT offset 131072K [ 2.167581] Pid: 5, comm: kworker/u:0 Not tainted 3.0.8-138216-g974a2ab #1 [ 2.169506] [drm] PSB GTT mem manager ready, tt_start 4031, tt_size 28737 pages [ 2.169906] [drm] SGX core id = 0x00000000 [ 2.169920] [drm] SGX core rev major = 0x00, minor = 0x00 [ 2.169934] [drm] SGX core rev maintenance = 0x00, designer = 0x00 [ 2.197370] Intel Corporation Medfield/iCDKB [ 2.201716] EIP: 0060:[<c1697ca6>] EFLAGS: 00010246 CPU: 1 [ 2.207198] EIP is at mmc_init_erase+0x76/0x150 [ 2.211704] EAX: 00002000 EBX: dcd1b400 ECX: 00002000 EDX: 00000000 [ 2.217957] ESI: 00000000 EDI: dcd5c800 EBP: dd867e84 ESP: dd867e7c [ 2.224214] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 2.229605] Process kworker/u:0 (pid: 5, ti=dd866000 task=dd868000 task.ti=dd866000) [ 2.237325] Stack: [ 2.239322] dcd1b400 00000000 dd867eb0 c16a06da c1ab7c44 dd995aa8 00000003 00000000 [ 2.247054] 00000000 00000000 dcd5c800 00000000 dcd1b400 dd867ef8 c16a1012 c1698b00 [ 2.254785] 00000029 00000001 c194eb80 dcd5c9ec dd867e00 c1239b00 00000000 00000000 [ 2.262519] Call Trace: [ 2.264975] [<c16a06da>] mmc_sd_setup_card+0x1da/0x4f0 [ 2.270183] [<c16a1012>] mmc_sd_init_card+0x192/0xc40 [ 2.275304] [<c1698b00>] ? __mmc_claim_host+0x160/0x160 [ 2.280610] [<c1239b00>] ? __schedule_bug+0x50/0x80 [ 2.285556] [<c16a1b89>] mmc_attach_sd+0xc9/0x230 [ 2.290333] [<c169b6ef>] mmc_rescan+0x25f/0x2c0 [ 2.294943] [<c1274223>] process_one_work+0x103/0x400 [ 2.300065] [<c12670fd>] ? mod_timer+0x1ad/0x3c0 [ 2.304756] [<c169b490>] ? mmc_suspend_host+0x1a0/0x1a0 [ 2.310056] [<c127502d>] worker_thread+0x12d/0x4a0 [ 2.314921] [<c18fcfbd>] ? preempt_schedule+0x2d/0x50 [ 2.320047] [<c1274f00[ 2.323976] ---[ end trace 5398ec2720494438 ]--- ... So, seems this bad SD card does not set valid value in related SSR / CSD register fields. And then the driver will set card->erase_size to 0. Then it triggered this divided by zero error when calculate card->pref_erase. Submit this patch to fix the issue. Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3df01a931348c4c295c0e8ace17d4d764d93ad2c Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Aug 20 21:39:20 2014 +0800 mmc: sunxi: Declare ERASE capability Declare ERASE capability so we can use filesystems with the discard option and the fstrim tool. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 066173b6436dfc57a96b2d940f4e727fe8131261 Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Wed Aug 20 13:27:44 2014 +0300 mmc: sdhci: Add PCI IDs for Intel Braswell The hardware is the same as used in Baytrail. Add these new PCI IDs to the driver's list of supported IDs. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4cdc2ec1da322776215c4d6bca0717a7a103a4dd Author: addy ke <addy.ke@xxxxxxxxxxxxxx> Date: Tue Aug 19 12:36:14 2014 +0800 mmc: dw_mmc: move rockchip related code to a separate file To support HS200 and UHS-1, we need add a big hunk of code, as shown in the following patches. So a separate file for rockchip SOCs is suitable. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit da29fe2bf573f0ae56fdc2e790387cb73fc8c6f8 Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Sun Aug 24 20:03:00 2014 -0700 mmc: tmio: add actual clock support as option Some controller is supporting actual clock on SD_CLK_CTRL :: DIV[7:0]. Renesas SH-Mobile SDHI doesn't support, but, Renesas R-Car SDHI supports it. This patch adds new TMIO_MMC_CLK_ACTUAL flag for it. [Kuninori Morimoto: tidyuped for upstreaming] Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b30d6958a014812158d9729a3e0b6d448f6e8968 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Sun Aug 24 20:02:16 2014 -0700 mmc: tmio: remove SCLKEN bit setting from tmio_mmc_set_clock() TMIO clock is set via tmio_mmc_set_clock() -> tmio_mmc_clk_start(), and SCLKEN bit will be set on tmio_mmc_clk_start(). It is not needed on tmio_mmc_set_clock() function. The required clock setting will not be able to set in some clocks without this patch. Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e85dd04ea8c8d32ba8eae278959d28df34338e9d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Sun Aug 24 20:01:54 2014 -0700 mmc: tmio: remove Renesas specific #ifdef This patch adds new TMIO_MMC_HAVE_CTL_DMA_REG flag, and remove Renesas specific #ifdef from tmio driver Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 81e888daab027e05130b0459e5d8e0b42dac4323 Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Sun Aug 24 20:01:32 2014 -0700 mmc: tmio: check ILL_FUNC instead of CBSY Some controllers need to check SD bus status when writing data. Then, it checks ILL_FUNC bit on SD_INFO2 register, and this method is controlled via TMIO_MMC_HAS_IDLE_WAIT flags. Same method is required on tmio_mmc_data_irq() which will be called after writing data. Current driver is checking CBSY bit for this purpose, but, some controllers doesn't have CBSY bit. This patch checks ILL_FUNC bit instead of CBSY bit if it has TMIO_MMC_HAS_IDLE_WAIT flags [Kuninori Morimoto: tidyuped for upstreaming] Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6b98757e53cb0e93b02db4067c14afcb32c90615 Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Sun Aug 24 20:00:52 2014 -0700 mmc: tmio: add TMIO_MMC_SDIO_STATUS_QUIRK Renesas R-Car SDHI should set reserved bits on CTL_SDIO_STATUS register when writing. This patch adds new TMIO_MMC_SDIO_STATUS_QUIRK flags for this purpose [Kuninori Morimoto: tidyuped for upstreaming enabled this flags for all SH-Mobile/R-Car] Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b8d11962c2d83c984d5afd091e5b725ad2fd5607 Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Sun Aug 24 20:00:25 2014 -0700 mmc: tmio: control multiple block transfer mode Renesas SDHI has "Multiple Block Transfer Mode" settings on SD_CMD register which controls CMD12 automatically. This patch cares it, because CMD12 is not needed when CMD53 (= SD_IO_RW_EXTENDED) [Kuninori Morimoto: tidyuped for upstreaming enabled this flags for all SH-Mobile/R-Car] Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f83bfa751babb521924f6d8c93055215d2eb33cc Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Sun Aug 24 19:59:22 2014 -0700 mmc: tmio: clear error IRQ status Next card access will be always error if it didn't clear error status Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 384b2cbd56a02efb16358ed7c0c039e4afca5ed0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Sun Aug 24 19:58:48 2014 -0700 mmc: tmio: care about DMA tx/rx addr offset Basically, SD_BUF0 Tx/Rx addresses are same in normal TMIO controller, but, it is different on Renesas R-Car SDHI controller if it uses DMAC (Rx address needs to add 0x2000 to Tx address) This patch adds new .dma_rx_offset and cares it Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Ben Dooks <ben-linux@xxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 341eb6a4e7beea5730faf55610ef60584bcfffcf Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 13:22:51 2014 +0200 mmc: tmio: Remove library functions for system PM These library functions aren't used and nor needed, let's remove them. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 70a15e1a3c58ee841415c84170b80a3859027686 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 12:28:20 2014 +0200 mmc: tmio_mmc: Fixup system PM suspend lock-up At system PM suspend, the tmio core accessed the internal registers of the controller without first moving the device into active state. This caused a lock-up in system PM suspend phase. The reason for the register access were masking of IRQs. Since that is managed via the runtime PM suspend path, let's just re-use that path for system PM suspend. In other words force the device into runtime PM suspend state at system PM suspend and restore it to active state at system PM resume. Reported-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 753a688c9f28ad3198611bbbd39f3b226c35ab98 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 12:18:26 2014 +0200 mmc: sdhi: Fixup system PM suspend lock-up At system PM suspend, the tmio core accessed the internal registers of the controller without first moving the device into active state. This caused a lock-up in system PM suspend phase. The reason for the register access were masking of IRQs. Since that is managed via the runtime PM suspend path, let's just re-use that path for system PM suspend. In other words force the device into runtime PM suspend state at system PM suspend and restore it to active state at system PM resume. Reported-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 78f76df60926f7853df9ee2b707ea9254129775c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 12:12:02 2014 +0200 mmc: tmio_mmc: Enable runtime PM support To take advantage of the clock gating support, use the runtime PM callbacks provided by the tmio core. Additionally, we make use of the SET_PM_RUNTIME_PM_OPS, which is a preparation needed to simplify system PM. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit f74f1e38206df93b9e11d5a8b84743e61c0768a6 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 12:06:55 2014 +0200 mmc: sdhi: Make runtime PM callbacks available for CONFIG_PM To be able to simplify system PM, let's re-use the runtime PM callbacks by converting to the SET_PM_RUNTIME_PM_OPS macro. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 9ade7dbf20e8fc73d9784b772e320239de2acf08 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 12:03:20 2014 +0200 mmc: tmio: Make runtime PM callbacks available for CONFIG_PM To give the option for tmio hosts to use the runtime PM callbacks for CONFIG_PM_SLEEP as well as CONFIG_PM_RUNTIME, move them to CONFIG_PM. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 20e955c3c746f434a2f97ab08ac6bd71f63c6afa Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 11:55:57 2014 +0200 mmc: tmio: Mask all IRQs when inactive To make sure we don't receive any spurious IRQs while we are inactive, mask the IRQs from within the ->runtime_suspend() callback. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit ae12d25053fa20d67b16e568917b956006d5dc01 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Oct 30 00:16:17 2013 +0100 mmc: tmio: Handle clock gating from runtime PM functions Add clock gating control as a part of the tmio library functions for runtime PM. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 3b292bb0e99018c448e0f5a26c29c68113a1b7bf Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 24 17:53:15 2013 +0200 mmc: tmio: Restructure ->set_ios() and adapt ->probe() to it An internal power state machine were beeing used to keep ->probe() and ->set_ios() in sync. Especially for handling specific scenarios while using CONFIG_MMC_CLKGATE. Moreover dependency to CONFIG_MMC_CLKGATE existed to handle runtime PM properly, which we moves away from here. By removing the state machine and instead make ->set_ios() rely on the information provided through the function's in-parameters, the code becomes significantly simplier. Additonally as a part of this rework we prepares for making the runtime PM callbacks responsible of clock gating. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 9ae4ed7d30f433873351d5ba14ae000d10e10430 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 24 17:42:53 2013 +0200 mmc: tmio: Extract bus_width modifications to a separate function Move code for bus_width modification, out of the ->set_ios() callback and into a separate function, to simplify code. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 0369483efc1719f47249fa94329aa94155edf69d Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 24 16:42:33 2013 +0200 mmc: tmio: Keep host active while serving requests Use runtime PM to keep the host active during I/O operations and other requests which requires the tmio hardware to be powered. Additionally make use of the runtime PM autosuspend feature with a default timeout of 50 ms. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 7501c4315faf46b088ed4de4d8695a91d7d63869 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 24 15:58:45 2013 +0200 mmc: tmio: Keep host active while SDIO IRQ is enabled The host must be kept active to be able to serve SDIO IRQs, thus let's prevent it from going inactive while SDIO IRQ is enabled. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 215ba3995ae89866a58b8df41136811c665a22b9 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Jun 12 09:47:45 2014 +0200 mmc: atmel-mci: add 0x600 IP version Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9ed7ca89e0d287e054d3816b8c0c57514eb23726 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Thu Aug 14 14:39:00 2014 +0200 mmc: core: Use regulator_get_voltage() if OCR mask is empty. The operation conditions register (OCR) stores the voltage profile of the card, however the list of possible voltages is restricted by the voltage range supported by the supply used as VCC/VDD. So in mmc_vddrange_to_ocrmask() a OCR mask is obtained to filter the not supported voltages, from the value read in the host controller OCR register. For fixed regulators, regulator_list_voltage() returns the fixed output for the first selector but this doesn't happen for switch (FET) regulators that obtain their voltage from their parent supply. A call to regulator_get_voltage() is needed in this case so the regulator core can return the FET's parent supply voltage output. This change is consistent with the fact that for other fixed regulators (that are not FETs) the OCR mask is returned even when mmc_regulator_set_ocr() checks if the regulator is fixed before calling regulator_set_voltage(). Without this patch, the following warning is reported when a FET is used as a vmmc-supply: dwmmc_exynos 12220000.mmc: Failed getting OCR mask: -22 Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3d705d14fe4c72be83bae1610680e209ee226b9d Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Aug 19 10:45:51 2014 +0200 mmc: implement Driver Stage Register handling Some eMMC and SD cards implement a DSR register that allows to tune raise/fall times and drive strength of the CMD and DATA outputs. The values to use depend on the card in use and the host. It might be needed to reduce the drive strength to prevent voltage peaks above the host's specification. Implement a 'dsr' devicetree property that allows to specify the value to set the DSR to. For non-dt setups the new members of mmc_host can be set by board code. This patch was initially authored by Sascha Hauer. It contains improvements authored by Markus Niebel and Uwe Kleine-König. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Markus Niebel <Markus.Niebel@xxxxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b315376573778b195e640a163675fb9f5937ddca Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 14:02:15 2014 +0100 mmc: sdhci-pxav3: set_uhs_signaling is initialized twice differently .set_uhs_signaling field is currently initialised twice once to the arch specific callback pxav3_set_uhs_signaling, and also to the generic sdhci_set_uhs_signaling callback. This means that uhs is currently broken for this platform currently, as pxav3 has some special constriants which means it can't use the generic callback. This happened in commit 96d7b78cfc2f ("mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function") commit a702c8abb2a9 ("mmc: host: split up sdhci-pxa, create sdhci-pxav3.c")' Fix this and hopefully prevent it happening in the future by ensuring named initialisers always follow the declaration order in the structure definition. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1d75f74b14dbeee1bd9f1e96efa1cbebeb2804cb Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Aug 12 17:14:29 2014 +0100 mmc: sdhci-acpi.c: Use SET_RUNTIME_PM_OPS macro to set runtime pm callbacks This allows us to get rid of the #else condition, as the macro compiles away to nothing if not enabled. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f3a92b1a3258f8ef9a59bab24b9ea68b60908c44 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Aug 12 17:14:28 2014 +0100 mmc: sdhci-pci: Use SET_RUNTIME_PM_OPS macro to set runtime pm callbacks This allows us to get rid of the #else condition, as the macro compiles away to nothing if not enabled. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0529b810944932038fae1691b635d585429e6030 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Aug 12 17:14:27 2014 +0100 mmc: dw_mmc-pltfm: Remove superflous #else condition on CONFIG_PM_SLEEP As the code is using SIMPLE_DEV_PM_OPS helper, this compiles away to nothing if CONFIG_PM_SLEEP is disabled. Thus we don't need to #define the suspend/resume callbacks to NULL. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit eb4667426ba7b0676e888aa8ffc448fcf607d284 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Aug 12 17:14:26 2014 +0100 mmc: dw_mmc-pci: Remove superflous #else condition on CONFIG_PM_SLEEP As the code is using SIMPLE_DEV_PM_OPS helper, this compiles away to nothing if CONFIG_PM_SLEEP is disabled. Thus we don't need to #define the suspend/resume callbacks to NULL. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2137f5d3b8e8e04cff06194cacd0f6357495ac94 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Aug 12 17:14:25 2014 +0100 mmc: remove .owner field for drivers using module_platform_driver This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit dea67c4ec8218b301d7cac7ee6e63dac0bc566cb Author: Fu Zhonghui <zhonghui.fu@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:48:14 2014 +0800 mmc: core: sdio: Fix unconditional wake_up_process() on sdio thread 781e989cf59 ("mmc: sdhci: convert to new SDIO IRQ handling") and bf3b5ec66bd ("mmc: sdio_irq: rework sdio irq handling") disabled the use of our own custom threaded IRQ handler, but left in an unconditional wake_up_process() on that handler at resume-time. Link: https://bugzilla.kernel.org/show_bug.cgi?id=80151 In addition, the check for MMC_CAP_SDIO_IRQ capability is added before enable sdio IRQ. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Chris Ball <chris@xxxxxxxxxx> Signed-off-by: Fu Zhonghui <zhonghui.fu@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b1dec12032af3a5239171c76cd43a4d372d8829b Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 14 09:45:28 2014 -0700 mmc: dw_mmc: Add support for MIPS There are upcoming MIPS SoCs with dw_mmc hosts. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0857c6912d5cd04d177473f2be38709f08982710 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 14 09:45:27 2014 -0700 mmc: dw_mmc: Add dependency on DMA The dw_mmc drivers rely on the DMA API, so update the Kconfig entry to depend on HAS_DMA. Since the drivers should build on any platform with DMA, allow the driver to compile tested on non-ARC/ARM platforms. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fac6a52fe9b14851d56b3c19c3d5a95790c46fac Author: Matthieu CASTET <matthieu.castet@xxxxxxxxxx> Date: Thu Aug 14 16:03:18 2014 +0200 sdhci : recompute timeout_clk when needed when SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK is set, timeout_clk is sdclk. We need to update it when we change sdclk in sdhci_set_clock. This allow to have a more precisse timeout and max_busy_timeout. This can help for command that need a big busy wait (erase, ...). Signed-off-by: Matthieu CASTET <matthieu.castet@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c5abd5e8998e20c2e82999670a03f26f1437d744 Author: Matthieu CASTET <matthieu.castet@xxxxxxxxxx> Date: Thu Aug 14 16:03:17 2014 +0200 sdhci : handle busy timeout irq When we wait for busy after sending a command, if there is a timeout, we got SDHCI_INT_DATA_TIMEOUT flags. Before this commit we got the message : "Got data interrupt 0x00100000 even though no data operation was in progress." and we need to wait 10s that sdhci_timeout_timer expires. Signed-off-by: Matthieu CASTET <matthieu.castet@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6f67cc6fd1cf339a0f19b9d4a998ec3c0123b1b6 Author: Roger Tseng <rogerable@xxxxxxxxxxx> Date: Fri Aug 15 14:06:01 2014 +0800 mmc: rtsx_usb_sdmmc: fix incorrect last byte in R2 response Current code erroneously fill the last byte of R2 response with an undefined value. In addition, the controller actually 'offloads' the last byte (CRC7, end bit) while receiving R2 response and thus it's impossible to get the actual value. This could cause mmc stack to obtain inconsistent CID from the same card after resume and misidentify it as a different card. Fix by assigning dummy CRC and end bit: {7'b0, 1} = 0x1 to the last byte of R2. Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Fixes: c7f6558d84af ("mmc: Add realtek USB sdmmc host driver") Signed-off-by: Roger Tseng <rogerable@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d1419d50c1bf711e9fd27b516a739c86b23f7cf9 Author: Roger Tseng <rogerable@xxxxxxxxxxx> Date: Fri Aug 15 14:06:00 2014 +0800 mmc: rtsx_pci_sdmmc: fix incorrect last byte in R2 response Current code erroneously fill the last byte of R2 response with an undefined value. In addition, the controller actually 'offloads' the last byte (CRC7, end bit) while receiving R2 response and thus it's impossible to get the actual value. This could cause mmc stack to obtain inconsistent CID from the same card after resume and misidentify it as a different card. Fix by assigning dummy CRC and end bit: {7'b0, 1} = 0x1 to the last byte of R2. Cc: <stable@xxxxxxxxxxxxxxx> # v3.8+ Fixes: ff984e57d36e ("mmc: Add realtek pcie sdmmc host driver") Signed-off-by: Roger Tseng <rogerable@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ee9d19d42c6b30e464a4c748654582fc6b3ff853 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Aug 14 09:00:19 2014 +0800 mmc: au1xmmc: fix error return code in au1xmmc_probe() Fix to return a negative error code from the error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2aa354650a8b024a507f5b0fd969b7cfa3848620 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Aug 13 08:13:43 2014 -0700 mmc: dw_mmc: Make sure we don't get stuck when we get an error If we happened to get a data error at just the wrong time the dw_mmc driver could get into a state where it would never complete its request. That would leave the caller just hanging there. We fix this two ways and both of the two fixes on their own appear to fix the problems we've seen: 1. Fix a race in the tasklet where the interrupt setting the data error happens _just after_ we check for it, then we get a EVENT_XFER_COMPLETE. We fix this by repeating a bit of code. 2. Fix it so that if we detect that we've got an error in the "data busy" state and we're not going to do anything else we end the request and unblock anyone waiting. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@xxxxxxxxx> Acked-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b3683994843a0ede0e19daccd1ac32a46b21eb39 Author: Yi Sun <yi.y.sun@xxxxxxxxx> Date: Wed Aug 13 13:34:01 2014 +0800 mmc: Correct the value of MMC_NUM_PHY_PARTITION eMMC card can support up to 7 physical partitions, including 2 boot, 1 RPMB and 4 GPs. Change MMC_NUM_PHY_PARTITION from 6 to 7, which is the correct value. Signed-off-by: Yi Sun <yi.y.sun@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ae9060377a67a0840f980bc0e2cb32af07baf479 Author: Chuanxiao.Dong <chuanxiao.dong@xxxxxxxxx> Date: Fri Aug 1 14:00:13 2014 +0800 mmc: sdhci: fix the wrong type of curr curr should use signed type since it will contain the returned value which is possible to be a negative value. Using u32 will make the returned value to be true even there is a negative result. Change to use int instead of u32 Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bb2f45927f8e0d1fc0633f65cc1f17a40c80bf24 Author: Apelete Seketeli <apelete@xxxxxxxxxxxx> Date: Mon Jul 21 06:37:45 2014 +0200 mmc: jz4740: prepare next dma transfer in parallel with current transfer Make use of the MMC asynchronous request capability to prepare the next DMA transfer request in parallel with the current transfer. This is done by adding pre-request and post-request callbacks that are used by the MMC framework during an active data transfer. It should help reduce the impact of DMA preparation overhead on the SD card performance. Signed-off-by: Apelete Seketeli <apelete@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7ca27a6f80a4042666a28977ff8ee3aa527c6cd4 Author: Apelete Seketeli <apelete@xxxxxxxxxxxx> Date: Mon Jul 21 06:37:44 2014 +0200 mmc: jz4740: add dma infrastructure for data transfers Until now the MMC driver for JZ4740 SoC was relying on PIO mode only for data transfers. This patch allows the use of DMA for data trasnfers in addition to PIO mode by relying on DMA Engine. DMA tranfers performance might be further improved by taking advantage of the asynchronous request capability of the MMC framework. Signed-off-by: Apelete Seketeli <apelete@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f629ba2c04c949aa62c85b48c0b73b915b98defc Author: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Date: Thu Jul 31 14:01:38 2014 +0800 mmc: dw_mmc: add support for RK3288 This patch focuses on clock setting for RK3288 mmc controller. In RK3288 mmc controller, CLKDIV register can only be set 0 or 1, and if DDR 8bit mode, CLKDIV register must be set 1. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8ca28610e5e37193cd61fefa4310941e28de10ca Author: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Date: Thu Aug 7 15:14:06 2014 +0200 mmc: include linux/types.h for bool definition in atmel-mci.h This patch adds an include of linux/types.h to make sure bool is defined before utilized in this header file. Signed-off-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 45c19e2a812f9f98c0ad65c8d4a5648b6edcd0f8 Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Tue Aug 12 11:37:52 2014 +0100 mmc: sdhci-pltfm: Do not use parent as the host's device The code selecting a device for the sdhci host has been continuously tweaked (4b711cb13843f5082e82970dd1e8031383134a65 "mmc: sdhci-pltfm: Add structure for host-specific data" and a4d2177f00a5252d825236c5124bc1e9918bdb41 "mmc: sdhci-pltfm: dt device does not pass parent to sdhci_alloc_host" while there does not seem to be any reason to use platform device's parent in the first place. The comment saying "Some PCI-based MFD need the parent here" seem to refer to Timberdale FPGA driver (the only MFD driver registering SDHCI cell, drivers/mfd/timberdale.c) but again, the only situation when parent device matter is runtime PM, which is not implemented for Timberdale. Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ca6429d4952398570a3963bd4b5842b519087df8 Author: Tim Kryger <tim.kryger@xxxxxxxxx> Date: Mon Aug 11 22:05:12 2014 -0700 mmc: core: Remove fixed voltage regulator logic There is no need for regulator consumers to include special logic for fixed voltage regulators as they support regulator_set_voltage() just like their non-fixed regulator counterparts. Signed-off-by: Tim Kryger <tim.kryger@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9cb15142d0e336874ecc753e9a4e5696c46a67d9 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Jul 29 03:50:30 2014 +0100 mmc: mmci: Add qcom dml support to the driver. On Qualcomm APQ8064 SOCs, SD card controller has an additional glue called DML (Data Mover Local/Lite) to assist dma transfers. This hardware needs to be setup before any dma transfer is requested. DML itself is not a DMA engine, its just a gule between the SD card controller and dma controller. Most of this code has been ported from qualcomm's 3.4 kernel. This patch adds the code necessary to intialize the hardware and setup before doing any dma transfers. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 30296f61159e803ba4c35b4bd1a2fef4cdd3a1d4 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 5 17:47:35 2014 +0300 video: fbdev: use %*ph specifier to dump small buffers Instead of dereference each byte let's use %*ph specifier in the printk() calls. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 9c8ee3c7341393811d5be5eb61b815e76f92c799 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 8 17:17:13 2014 +0200 video: mx3fb: always enable BACKLIGHT_LCD_SUPPORT Commit 7edaa761ee81b ("video: mx3fb: Add backlight control support") changed the mx3fb driver so it always selects the BACKLIGHT_CLASS_DEVICE symbol, but that is hidden behind BACKLIGHT_LCD_SUPPORT in Kconfig, so we get a Kconfig warning for multi_v5_defconfig, which doesn't have that: Warning: (DRM_RADEON && DRM_NOUVEAU && DRM_I915 && DRM_GMA500 && DRM_SHMOBILE && DRM_TILCDC && FB_BACKLIGHT && FB_MX3 && USB_APPLEDISPLAY && FB_OLPC_DCON && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT) This makes sure we always enable both symbols together for mx3fb, like we do for the other drivers that can't be built without backlight support. Note that a better solution would be to ensure the driver can work with or without backlight support. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 60c20784f243199599a425f73b8060da3a0f5ead Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Aug 26 10:28:43 2014 -0700 ARM: dts: Add rk808 PMIC to rk3288-evb-rk808 This adds initial support. For now, regulators are always on and we don't specify the input supply for all of the regulators. Signed-off-by: huang lin <hl@xxxxxxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 00703e0b79906969f3ac27ab9fab646afc671fb4 Author: Simon Danner <danner.simon@xxxxxxxxx> Date: Sat Sep 6 15:44:06 2014 +0200 Documentation: remove obsolete pcmcia-cs from Changes remove pcmcia-cs from Changes, since it seems to be obsolete since a long time Signed-off-by: Simon Danner <danner.simon@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 03ebb7d03f94cbba45742dae1a811ee17d4bbde4 Author: Simon Danner <danner.simon@xxxxxxxxx> Date: Sat Sep 6 15:42:48 2014 +0200 Documentation: update links in Changes Update broken links in Changes Signed-off-by: Simon Danner <danner.simon@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit da3dae54e4ff09886b9a19224c8d9556bb2ba096 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Tue Sep 9 01:27:23 2014 +0900 Documentation: Docbook: Fix generated DocBook/kernel-api.xml This patch fix spelling typo found in DocBook/kernel-api.xml. It is because the file is generated from the source comments, I have to fix the comments in source codes. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d7f9a3887b91df6404bb4aae101efecc4a4909f7 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Sep 3 16:05:23 2014 -0700 ARM: dts: Add mshc aliases for rk3288 It's convenient (and less confusing to people reading logs) if the eMMC port on rk3288 is consistenly marked with mmc0 and the sdmmc port on rk3288 is consistently marked with mmc1. Add the appropriate aliases. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 1f53170b80aeb3991b4a250a581422abf93bddb2 Author: huang lin <hl@xxxxxxxxxxxxxx> Date: Fri Sep 5 09:53:11 2014 -0700 ARM: dts: Add SPI nodes to rk3288 This adds basic SPI nodes to the base rk3288 device tree file. A few notes: * It's assumed that most users of the SPI ports are using chip select 0. Thus the default pinctrl for the ports enables chip select 0 (but not chip select 1 on ports that have it). If a board wants to use chip select 1 or wants a GPIO chip select the board should override the pinctrl (just like boards can override UART pinctrl if they have hardware flow control). * Since SPI DMA support appears broken and the SPI works fine without DMA we don't include the DMA references. That can come in a later change. Signed-off-by: huang lin <hl@xxxxxxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ddf8303f8d818cc002f523c7130aff2c0b1f9a2e Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:55:59 2014 +0800 ARM: dts: Enable USB host1(dwc) on rk3288-evb USB host1 port is the host A port nearby the otg port. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 12dd3653aebe81ea205e226079afb4f119954ec0 Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:55:58 2014 +0800 ARM: dts: add rk3288 dwc2 controller support rk3288 has two kind of usb controller, this add the dwc2 controller for otg and host1. Controller can works with usb PHY default setting and Vbus on. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e7e69265b6269763799a5de9c263fbbce32cd3a3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 8 22:48:03 2014 +0530 sound: pci: au88x0: printk replacement as pr_* macros are more preffered over printk, so printk replaced with corresponding pr_* macros. this patch will generate warning from checkpatch as it only did printk replacement and didnot fixed other style issues. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 442302820356977237e32a76a211e7942255003a Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Sep 8 08:20:43 2014 +0200 s390/spinlock: optimize spin_unlock code Use a memory barrier + store sequence instead of a load + compare and swap sequence to unlock a spinlock and an rw lock. For the spinlock case this saves us two memory reads and a not needed cpu serialization after the compare and swap instruction stored the new value. The kernel size (performance_defconfig) gets reduced by ~14k. Average execution time of a tight inlined spin_unlock loop drops from 5.8ns to 0.7ns on a zEC12 machine. An artificial stress test case where several counters are protected with a single spinlock and which are only incremented while holding the spinlock shows ~30% improvement on a 4 cpu machine. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3d1e220d08c6a00ffa83d39030b8162f66665b2b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Sep 3 13:26:23 2014 +0200 s390/ftrace: optimize mcount code Reduce the number of executed instructions within the mcount block if function tracing is enabled. We achieve that by using a non-standard C function call ABI. Since the called function is also written in assembler this is not a problem. This also allows to replace the unconditional store at the beginning of the mcount block with a larl instruction, which doesn't touch memory. In theory we could also patch the first instruction of the mcount block to enable and disable function tracing. However this would break kprobes. This could be fixed with implementing the "kprobes_on_ftrace" feature; however keeping the odd jprobes working seems not to be possible without a lot of code churn. Therefore keep the code easy and simply accept one wasted 1-cycle "larl" instruction per function prologue. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ea2f47699082b971769be8b8f38c08b49219f471 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Sep 3 10:37:40 2014 +0200 s390/kprobes: remove unused jprobe_return_end() Even if it has a __used annotation it is actually unused. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5d6a0163494c78ad7b6de733c8793e66b5da9212 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Aug 15 13:16:09 2014 +0200 s390/ftrace: enforce DYNAMIC_FTRACE if FUNCTION_TRACER is selected We have too many combinations for function tracing. Lets simply stick to the most advanced option, so we don't have to care of other combinations. This means we always select DYNAMIC_FTRACE if FUNCTION_TRACER is selected. In the s390 Makefile also remove CONFIG_FTRACE_SYSCALLS since that functionality got moved to architecture independent code in the meantime. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 10dec7dbd50ab0be96dda085d625d54ce800e426 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Aug 15 13:01:46 2014 +0200 s390/ftrace: add HAVE_DYNAMIC_FTRACE_WITH_REGS support This code is based on a patch from Vojtech Pavlik. http://marc.info/?l=linux-s390&m=140438885114413&w=2 The actual implementation now differs significantly: Instead of adding a second function "ftrace_regs_caller" which would be nearly identical to the existing ftrace_caller function, the current ftrace_caller function is now an alias to ftrace_regs_caller and always passes the needed pt_regs structure and function_trace_op parameters unconditionally. Besides that also use asm offsets to correctly allocate and access the new struct pt_regs on the stack. While at it we can make use of new instruction to get rid of some indirect loads if compiled for new machines. The passed struct pt_regs can be changed by the called function and it's new contents will replace the current contents. Note: to change the return address the embedded psw member of the pt_regs structure must be changed. The psw member is right now incomplete, since the mask part is missing. For all current use cases this should be sufficent. Providing and restoring a sane mask would mean we need to add an epsw/lpswe pair to the mcount code. Only these two instruction would cost us ~120 cycles which currently seems not necessary. Cc: Vojtech Pavlik <vojtech@xxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2481a87b0250bbf429fc8cdc78331efbc44a0221 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Aug 15 12:33:46 2014 +0200 s390/ftrace: optimize function graph caller code When the function graph tracer is disabled we can skip three additional instructions. So let's just do this. So if function tracing is enabled but function graph tracing is runtime disabled, we get away with a single unconditional branch. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0f1b1ff54b386926ef1a524e60ef89ae7738bbd5 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Aug 14 16:06:02 2014 +0200 s390: pass march flag to assembly files as well Currently the march flag gets only passed to C files, but not to assembler files. This means that we can't add new instructions like e.g. aghik to asm files, since the assembler doesn't know of the new instructions if the appropriate march flag isn't specified. So also pass the march flag when compiling assembler files as well. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b7eacb59cd7fb5e98852186e485c0c865f862645 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 29 12:31:45 2014 +0200 s390/vdso: add vdso support for coarse clocks Add CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE optimization to the 64-bit and 31-bit vdso. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 070b7be633dc33c0899e8c934b4d5fad046b06e8 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 29 12:44:40 2014 +0200 s390/vdso: replace stck with stcke If gettimeofday / clock_gettime are called multiple times in a row the STCK instruction will stall until a difference in the result is visible. This unnecessarily slows down the vdso calls, use stcke instead of stck to get rid of the stall. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 369e8c355383143964290b6a706eb6639ae3588c Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Aug 27 07:51:05 2014 +0200 Documentation/kprobes: add s390 to list of supported architectures s390 supports kprobes since 2006 but is missing in the list of architectures that support kprobes. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b7d5006de1afab266175288f41e5dc70e69cce33 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Aug 27 07:35:05 2014 +0200 s390: remove unused MACHINE_FLAG_RRBM Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit f3dbd802b3caf8da92173870bc270dda6b3f84ba Author: Rajat Jain <rajatxjain@xxxxxxxxx> Date: Tue Sep 2 16:26:00 2014 -0700 PCI: Enable CRS Software Visibility for root port if it is supported Per PCIe r3.0, sec 2.3.2, an endpoint may respond to a Configuration Request with a Completion with Configuration Request Retry Status (CRS). This terminates the Configuration Request. When the CRS Software Visibility feature is disabled (as it is by default), a Root Complex must handle a CRS Completion by re-issuing the Configuration Request. This is invisible to software. From the CPU's point of view, an endpoint that always responds with CRS causes a hang because the Root Complex never supplies data to complete the CPU read. When CRS Software Visibility is enabled, a Root Complex that receives a CRS Completion for a read of the Vendor ID must return data of 0x0001. The Vendor ID of 0x0001 indicates to software that the endpoint is not ready. We now have more devices that require CRS Software Visibility. For example, a PLX 8713 NT bridge may respond with CRS until it has been configured via I2C, and the I2C configuration is completely independent of PCI enumeration. Enable CRS Software Visibility if it is supported. This allows a system with such a device to work (though the PCI core times out waiting for it to become ready, and we have to rescan the bus after it is ready). This essentially reverts ad7edfe04908 ("[PCI] Do not enable CRS Software Visibility by default"). The failures that led to ad7edfe04908 should be addressed by 89665a6a7140 ("PCI: Check only the Vendor ID to identify Configuration Request Retry"). [bhelgaas: changelog] Link: http://lkml.kernel.org/r/20071029061532.5d10dfc6@snowcone Link: http://lkml.kernel.org/r/alpine.LFD.0.9999.0712271023090.21557@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Rajat Jain <rajatxjain@xxxxxxxxx> Signed-off-by: Rajat Jain <rajatjain@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <groeck@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 89665a6a71408796565bfd29cfa6a7877b17a667 Author: Rajat Jain <rajatxjain@xxxxxxxxx> Date: Mon Sep 8 14:19:49 2014 -0700 PCI: Check only the Vendor ID to identify Configuration Request Retry Per PCIe r3.0, sec 2.3.2, if a Root Complex - has Configuration Request Retry Status Software Visibility enabled, - issues a Configuration Read of both bytes of the Vendor ID, and - receives a Completion with Configuration Request Retry Status (CRS), it must complete the request to the host by fabricating data of 0x0001 for the Vendor ID and 0xff for any additional bytes in the request. Linux issues a single config read for the four bytes containing the Vendor ID and the Device ID. Previously we checked all four bytes for 0xffff0001 to identify CRS. However, it is only the Vendor ID that really indicates CRS, because it's sufficient to read only those two bytes. Checking the Device ID verifies spec compliance but doesn't add any information. Some Root Complexes appear to indicate CRS by returning 0x0001 for the Vendor ID along with the actual the Device ID. Previously we interpreted that as a valid Vendor/Device ID pair, although 0x0001 is reserved and cannot be a valid Vendor ID. [bhelgaas: changelog] Link: http://lkml.kernel.org/r/4729FC36.3040000@xxxxxxxxx Signed-off-by: Rajat Jain <rajatxjain@xxxxxxxxx> Signed-off-by: Rajat Jain <rajatjain@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <groeck@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a08b6769d4c5e8d2a3192a45e40b3cdcca0da6a1 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Aug 29 10:20:58 2014 -0700 perf/x86: Fix section mismatch in split uncore driver The new split Intel uncore driver code that recently went into tip added a section mismatch, which the build process complains about. uncore_pmu_register() can be called from uncore_pci_probe,() which is not __init and can be called from pci driver ->probe. I'm not fully sure if it's actually possible to call the probe function later, but it seems safer to mark uncore_pmu_register not __init. This also fixes the warning. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409332858-29039-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 066ce64c7e867e95e5fee7c5f6b852710486392a Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Tue Aug 26 18:49:45 2014 +0200 perf/x86/intel: Mark initialization code as such A few of the initialization functions are missing the __init annotation. Fix this and thereby allow ~680 additional bytes of code to be released after initialization. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: x86@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409071785-26015-1-git-send-email-minipli@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 70691d4a0bf7c871559d4ef1b0056edefbca123b Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 16:26:05 2014 +0300 perf/core: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140822132605.GA20130@ada Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e0455e194a5e0cf49bc7596a20d4f7e47995b9c6 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 17:15:36 2014 +0300 perf/callchain: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140822141536.GA32051@ada Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bdea534db894ea19320f470ce2e63b1d9de96a15 Merge: 39b5a56 2ce7598 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 9 06:48:07 2014 +0200 Merge tag 'v3.17-rc4' into perf/core, to pick up fixes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8236d907ab3411ad452280faa8b26c1347327380 Author: Jason Low <jason.low2@xxxxxx> Date: Tue Sep 2 00:41:24 2014 -0700 sched: Reduce contention in update_cfs_rq_blocked_load() When running workloads on 2+ socket systems, based on perf profiles, the update_cfs_rq_blocked_load() function often shows up as taking up a noticeable % of run time. Much of the contention is in __update_cfs_rq_tg_load_contrib() when we update the tg load contribution stats. However, it turns out that in many cases, they don't need to be updated and "tg_contrib" is 0. This patch adds a check in __update_cfs_rq_tg_load_contrib() to skip updating tg load contribution stats when nothing needs to be updated. This reduces the cacheline contention that would be unnecessary. Reviewed-by: Ben Segall <bsegall@xxxxxxxxxx> Reviewed-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: jason.low2@xxxxxx Cc: Yuyang Du <yuyang.du@xxxxxxxxx> Cc: Aswin Chandramouleeswaran <aswin@xxxxxx> Cc: Chegu Vinod <chegu_vinod@xxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409643684.19197.15.camel@j-VirtualBox Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5cd038f53ed9ec7a17ab7d536a727363080f4210 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Wed Jun 4 16:25:15 2014 +0800 sched: Migrate waking tasks Current code can fail to migrate a waking task (silently) when TTWU_QUEUE is enabled. When a task is waking, it is pending on the wake_list of the rq, but it is not queued (task->on_rq == 0). In this case, set_cpus_allowed_ptr() and __migrate_task() will not migrate it because its invisible to them. This behavior is incorrect, because the task has been already woken, it will be running on the wrong CPU without correct placement until the next wake-up or update for cpus_allowed. To fix this problem, we need to finish the wakeup (so they appear on the runqueue) before we migrate them. Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Reported-by: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Tested-by: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/538ED7EB.5050303@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a4241aebe924136d6838fd516da6daa727fcd728 Merge: 41b9d72 ab6978c Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 9 13:25:31 2014 +1000 Merge branch 'xfs-misc-fixes-for-3.18-1' into for-next commit 48a0d1e07d99ecfd1e5922dd22986d5813f17207 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Sep 8 09:57:08 2014 +0900 ARM: shmobile: kzm9g-reference: Enable CMT1 in device tree Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6a5336a77c2caa9b0f8b3aa5c70310291ce2679d Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Sep 8 09:57:06 2014 +0900 ARM: shmobile: sh73a0: Add CMT1 device to DT Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a2ffcf87f5ae83dcd02f5b87bf477ce7e474601e Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Sep 8 09:27:44 2014 +0900 ARM: shmobile: r8a7740: Use SoC-specific 48-bit CMT compat string In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to make use of the SoC-specific CMT compat string for the r8a7740 48-bit CMT clock source. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a51b7b38182918d54813b572d6c28d43082d94ff Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Sep 8 09:27:48 2014 +0900 ARM: shmobile: r8a7779: Use SoC-specific TMU compat string In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to make use of the SoC-specific CMT compat string for the r8a7779 TMU clock source. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4217f323206c50f4a035338c9a09bd24e5bb263a Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Sep 8 09:27:46 2014 +0900 ARM: shmobile: r8a7791: Use SoC-specific 48-bit CMT compat string In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to make use of the SoC-specific CMT compat string for the r8a7791 48-bit CMT clock source. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f401ce481082de6327d12a8dc5528d2f7a4a4445 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Sep 8 09:27:47 2014 +0900 ARM: shmobile: r7s72100: Use SoC-specific MTU2 compat string In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to make use of the SoC-specific CMT compat string for the r7s72100 MTU2 clock source. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 37757030b0f9f107cd428ae7dcb34a778a8e5d57 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Sep 8 09:27:45 2014 +0900 ARM: shmobile: r8a7790: Use SoC-specific 48-bit CMT compat string In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to make use of the SoC-specific CMT compat string for the r8a7790 48-bit CMT clock source. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit dcc683aba83cd8db964a9a1d4582d4829d6efcb2 Merge: 9dddfcf 4333067 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Sep 9 11:50:00 2014 +0900 Merge tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' into dt-timers-for-v3.18 Renesas ARM Based SoC R8a7740 CCF and Timers Updates for v3.18 When booting using the r8a7740/armadillo800eva using dt-reference: * Use CCF to initialise clocks via DT * Initialise timers via DT commit a742795be9ceae2853ca71f216193f29da151da8 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Sep 5 12:23:49 2014 +0200 ARM: shmobile: Initial Alt board device tree Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx> [uli: reduced to minimum, added cmt, enabled scif2, split off from SoC] Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0dce5454d5c258582a7da5590332d9e085886bf7 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Sep 5 12:23:48 2014 +0200 ARM: shmobile: Initial r8a7794 SoC device tree Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx> [uli: reduced to minimum, added cmt, enabled scif2, split off board part] Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 834720dbf03819a8b2d0ba5fbe01d008267f9da6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 29 15:26:21 2014 +0200 ARM: shmobile: armadillo800eva legacy: Use rmobile_add_devices_to_domains() Use a table and the rmobile_add_devices_to_domains() helper function to add all platform devices to their power domains at once, which is more size-efficient than calling rmobile_add_device_to_domain() explicitly for all devices individually. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 753490991fd5036fa4f31de7bc5dd7131ed44cc2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 29 15:26:22 2014 +0200 ARM: shmobile: r8a7740: Clean up pm domain table - Sort pm domains by bit_shift value, - Combine closing and opening curly braces on a single line, as the table will grow much bigger soon. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c839f93bf8468f4380056d0638e3cba0488bb190 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 29 15:26:20 2014 +0200 ARM: shmobile: r8a7740: Use rmobile_add_devices_to_domains() Use a table and the rmobile_add_devices_to_domains() helper function to add all platform devices to their power domains at once, which is more size-efficient than calling rmobile_add_device_to_domain() explicitly for all devices individually. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9eda01b2f665d8bf29f6ac93e3db403290e0f3cf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 29 15:26:19 2014 +0200 ARM: shmobile: sh7372: Make domain_devices[] static __initdata Make the domain_devices[] array static and __initdata, to reduce kernel size: - Making it static gets rid of the code to copy the data to the stack, - Marking it __initdata allows more init memory to be freed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d6dc6ed8540ab8802c6ba31b4292204dd3cb0fee Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 29 15:26:18 2014 +0200 ARM: shmobile: mackerel: Make domain_devices[] static __initdata Make the domain_devices[] array static and __initdata, to reduce kernel size: - Making it static gets rid of the code to copy the data to the stack, - Marking it __initdata allows more init memory to be freed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ab6978c295b074eb2ba4b06fdf206c7ab4f293e5 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:59:12 2014 +1000 xfs: remove rbpp check from xfs_rtmodify_summary_int rbpp is always passed into xfs_rtmodify_summary and xfs_rtget_summary, so there is no need to test for it in xfs_rtmodify_summary_int. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit afabfd30d05264ff493c24bce310b6a5350f099b Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:58:42 2014 +1000 xfs: combine xfs_rtmodify_summary and xfs_rtget_summary xfs_rtmodify_summary and xfs_rtget_summary are almost identical; fold them into xfs_rtmodify_summary_int(), with wrappers for each of the original calls. The _int function modifies if a delta is passed, and returns a summary pointer if *sum is passed. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b16ed7c114b8cca45fa87b675c431f43ff90c179 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:58:07 2014 +1000 xfs: combine xfs_dir_canenter into xfs_dir_createname xfs_dir_canenter and xfs_dir_createname are almost identical. Fold the former into the latter, with a helpful wrapper for the former. If createname is called without an inode number, it now only checks for space, and does not actually add the entry. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 94f3cad555d66048906deade06a764f7ea2c6e4d Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:57:52 2014 +1000 xfs: check resblks before calling xfs_dir_canenter Move the resblks test out of the xfs_dir_canenter, and into the caller. This makes a little more sense on the face of it; xfs_dir_canenter immediately returns if resblks !=0; and given some of the comments preceding the calls: * Check for ability to enter directory entry, if no space reserved. even more so. It also facilitates the next patch. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 970fd3f04d5949a4b5f6d0a5fea8e4b6797a5992 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Tue Sep 9 11:57:29 2014 +1000 xfs: deduplicate xlog_do_recovery_pass() In xlog_do_recovery_pass(), there are 2 distinct cases: non-wrapped and wrapped log recovery. If we find a wrapped log, we recover around the end of the log, and then handle the rest of recovery exactly as in the non-wrapped case - using exactly the same (duplicated) code. Rather than having the same code in both cases, we can get the wrapped portion out of the way first if needed, and then recover the non-wrapped portion of the log. There should be no functional change here, just code reorganization & deduplication. The patch looks a bit bigger than it really is; the last hunk is whitespace changes (un-indenting). Tested with xfstests "check -g log" on a stock configuration. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 59f9c004320704179913fa7c57645017ccf1b5c3 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Tue Sep 9 11:57:10 2014 +1000 xfs: lseek: the "whence" argument is called "whence" For some reason, the older commit: 965c8e5 lseek: the "whence" argument is called "whence" lseek: the "whence" argument is called "whence" But the kernel decided to call it "origin" instead. Fix most of the sites. left out xfs. So fix xfs. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Jie Liu <jeff.liu@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 49c69591c80648c14ff87525e97ee6ebe3a343cb Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:56:48 2014 +1000 xfs: combine xfs_seek_hole & xfs_seek_data xfs_seek_hole & xfs_seek_data are remarkably similar; so much so that they can be combined, saving a fair bit of semi-complex code duplication. The following patch passes generic/285 and generic/286, which specifically test seek behavior. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Jie Liu <jeff.liu@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2e2271787419a12496bf5da5c3028a9c73c9697f Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 9 11:56:13 2014 +1000 xfs: export log_recovery_delay to delay mount time log recovery XFS log recovery has been discovered to have race conditions with buffers when I/O errors occur. External tools are available to simulate I/O errors to XFS, but this alone is not sufficient for testing log recovery. XFS unconditionally resets the inactive region of the log prior to log recovery to avoid confusion over processing any partially written log records that might have been written before an unclean shutdown. Therefore, unconditional write I/O failures at mount time are caught by the reset sequence rather than log recovery and hinder the ability to test the latter. The device-mapper dm-flakey module uses an up/down timer to define a cycle for when to fail I/Os. Create a pre log recovery delay tunable that can be used to coordinate XFS log recovery with I/O errors simulated by dm-flakey. This facilitates coordination in userspace that allows the reset of stale log blocks to succeed and writes due to log recovery to fail. For example, define a dm-flakey instance with an uptime long enough to allow log reset to succeed and a log recovery delay long enough to allow the dm-flakey uptime to expire. The 'log_recovery_delay' sysfs tunable is exported under /sys/fs/xfs/debug and is only enabled for kernels compiled in XFS debug mode. The value is exported in units of seconds and allows for a delay of up to 60 seconds. Note that this is for XFS debug and test instrumentation purposes only and should not be used by applications. No delay is enabled by default. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 65b65735fede29b516fed1d8c2391e8bc373b805 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 9 11:52:42 2014 +1000 xfs: add debug sysfs attribute set Create a top-level debug directory for global debug sysfs attributes. This directory is added and removed on XFS module initialization and removal respectively for DEBUG mode kernels only. It typically resides at /sys/fs/xfs/debug. It is located at the top level of the xfs sysfs hierarchy as attributes might define global behavior or behavior that must be configured before an xfs mount is available (e.g., log recovery behavior). Define the global debug kobject that represents the debug sysfs directory and add generic attribute show/store helpers to support future attributes. No debug attributes are exported as of yet. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e1b05723ed834090caab56866adc05bce31c9bdd Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:47:24 2014 +1000 xfs: add a few more verifier tests These were exposed by fsfuzzer runs; without them we fail in various exciting and sometimes convoluted ways when we encounter disk corruption. Without the MAXLEVELS tests we tend to walk off the end of an array in a loop like this: for (i = 0; i < cur->bc_nlevels; i++) { if (cur->bc_bufs[i]) Without the dirblklog test we try to allocate more memory than we could possibly hope for and loop forever: xfs_dabuf_map() nfsb = mp->m_dir_geo->fsbcount; irecs = kmem_zalloc(sizeof(irec) * nfsb, KM_SLEEP... As for the logbsize check, that's the convoluted one. If logbsize is specified at mount time, it's sanitized in xfs_parseargs; in particular it makes sure that it's not > XLOG_MAX_RECORD_BSIZE. If not specified at mount time, it comes from the superblock via sb_logsunit; this is limited to 256k at mkfs time as well; it's copied into m_logbsize in xfs_finish_flags(). However, if for some reason the on-disk value is corrupt and too large, nothing catches it. It's a circuitous path, but that size eventually finds its way to places that make the kernel very unhappy, leading to oopses in xlog_pack_data() because we use the size as an index into iclog->ic_data, but the array is not necessarily that big. Anyway - bounds checking when we read from disk is a good thing! Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8018ec083c72443cc74fd2d08eb7c5dddc13af53 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 9 11:44:46 2014 +1000 xfs: mark all internal workqueues as freezable Workqueues must be explicitly set as freezable to ensure they are frozen in the assocated part of the hibernation/suspend sequence. Freezing of workqueues and kernel threads is important to ensure that modifications are not made on-disk after the hibernation image has been created. Otherwise, the in-memory state can become inconsistent with what is on disk and eventually lead to filesystem corruption. We have reports of free space btree corruptions that occur immediately after restore from hibernate that suggest the xfs-eofblocks workqueue could be causing such problems if it races with hibernation. Mark all of the internal XFS workqueues as freezable to ensure nothing changes on-disk once the freezer infrastructure freezes kernel threads and creates the hibernation image. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reported-by: Carlos E. R. <carlos.e.r@xxxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 85560c4a828ec9c8573840c9b66487b6ae584768 Author: Champion Chen <champion_chen@xxxxxxxxxxxxxx> Date: Sat Sep 6 14:06:08 2014 -0500 Bluetooth: Fix issue with USB suspend in btusb driver Suspend could fail for some platforms because btusb_suspend==> btusb_stop_traffic ==> usb_kill_anchored_urbs. When btusb_bulk_complete returns before system suspend and resubmits an URB, the system cannot enter suspend state. Signed-off-by: Champion Chen <champion_chen@xxxxxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e1e930f591bfd9604c3077f0af5c390f4f890259 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Sep 8 17:09:49 2014 -0700 Bluetooth: Fix mgmt pairing failure when authentication fails Whether through HCI with BR/EDR or SMP with LE when authentication fails we should also notify any pending Pair Device mgmt command. This patch updates the mgmt_auth_failed function to take the actual hci_conn object and makes sure that any pending pairing command is notified and cleaned up appropriately. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5081ce621d35b7ba34614415f78f629d26bdc155 Author: Nishanth Menon <nm@xxxxxx> Date: Fri Aug 22 09:03:50 2014 -0500 ARM: dts: OMAP3+: Add PRM interrupt Provide OMAP3, 4 and OMAP5 with interrupt number for PRM And for DRA7, provide crossbar number for prm interrupt. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 25db6bea1ff5a78ef493eefdcbb9c1d27134e560 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Wed Sep 3 17:42:13 2014 +0200 selinux: register nf hooks with single nf_register_hooks call Push ipv4 and ipv6 nf hooks into single array and register/unregister them via single call. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 01ac4565d68bfd1b6ef96b46576438423713b8db Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 11:14:16 2014 +0100 ARM: omap: Remove stray ARCH_HAS_OPP references OPP is now a normal kernel library selected by its users rather than a feature that architectures need to enable so ARCH_HAS_OPP serves no function any more - remove the selects. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 83c9b2afe66abf5dc6dab68da738557001fb5660 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 5 22:12:05 2014 +0100 ARM: dts: am335x-boneblack: Add names for remaining regulators Add regulator-name properties for the regulators that don't have them, allowing the kernel to display the name from the schematic rather than the name of the regulator on the PMIC in order to improve diagnostics. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 91890c0e89bed0d24e4fe50b97dd8fc9c9f81283 Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Thu Sep 4 16:02:53 2014 +0300 ARM: dts: sbc-t54: fix model property CM-T54 CoM can be used with various custom baseboards, other than SB-T54 (supplied with SBC-T54 single board computer). Update model property of SBC-T54 DT to clarify this. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 84ace6741bd9b957d3b6dc39fe63fee0f1bd5039 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 4 09:28:32 2014 +0300 ARM: dts: omap5.dtsi: add DSS RFBI node The RFBI node for OMAP DSS was left out when adding the rest of the DSS nodes, because it was not clear how to set up the clocks for the RFBI. However, it seems that if there is a HWMOD for a device, we also need a DT node for it. Otherwise, at boot, we get: WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2542 _init+0x464/0x4e0() omap_hwmod: dss_rfbi: doesn't have mpu register target base Now that v3.17-rc3 contains a fix 8fd46439e1f5 ("ARM: dts: omap54xx-clocks: Fix the l3 and l4 clock rates") for the L3 ICLK required by the RFBI, let's add the RFBI node to get rid of the warning. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> [tony@xxxxxxxxxxx: updated description per comments from Nishant] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e2459357f613f681a516e7c67ef8336bc475a482 Author: Stefan Roese <sr@xxxxxxx> Date: Fri Aug 29 12:40:06 2014 +0200 ARM: dts: omap3: Add HEAD acoustics omap3-ha.dts and omap3-ha-lcd.dts (TAO3530 based) These baseboards are equipped with the Technexion TAO35030 SOM. So they include this dtsi. The common parts are extracted into an "common" dtsi file. The main difference between both boards is, that the *lcd has DSS support enabled for the LCD. Some HEAD acoustics specific features are: - LED handling - Special FPGA/DSP audio driver (not included in this series) - powerdown GPIO Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Thorsten Eisbein <thorsten.eisbein@xxxxxxxxxxxxxxxxx> Cc: Tapani Utriainen <tapani@xxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d3a7a7479f149492b151516d62fff42328446e04 Author: Stefan Roese <sr@xxxxxxx> Date: Fri Aug 29 12:40:05 2014 +0200 ARM: dts: omap3: Add Technexion Thunder support (TAO3530 SOM based) This baseboard is equipped with the Technexion TAO35030 SOM. So includes this dtsi. Some Thunder specific features are: - LCD panel Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Thorsten Eisbein <thorsten.eisbein@xxxxxxxxxxxxxxxxx> Cc: Tapani Utriainen <tapani@xxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 30d95c6d70920348c58649c35a8d41915cd7db9c Author: Stefan Roese <sr@xxxxxxx> Date: Fri Aug 29 12:40:04 2014 +0200 ARM: dts: omap3: Add Technexion TAO3530 SOM omap3-tao3530.dtsi The Technexion TAO3530 is a OMAP3530 based SOM. This patch adds the basic support for it as an dtsi file which can be included by baseboard equipped with this SOM. E.g. the Technexion Thunder baseboard. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Thorsten Eisbein <thorsten.eisbein@xxxxxxxxxxxxxxxxx> Cc: Tapani Utriainen <tapani@xxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 63dd5bc03a1ac9dd90807f6f3fc2475c0d4f046a Author: Stefan Roese <sr@xxxxxxx> Date: Fri Aug 29 12:40:03 2014 +0200 ARM: OMAP2+: tao3530: Add pdata-quirk for the mmc2 internal clock Set internal clock source for MMC2 on tao3530. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Thorsten Eisbein <thorsten.eisbein@xxxxxxxxxxxxxxxxx> Cc: Tapani Utriainen <tapani@xxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0e0cb99d17614711834aa8b4c6b397bf8b8596a5 Author: Nishanth Menon <nm@xxxxxx> Date: Mon Aug 18 14:07:55 2014 -0500 ARM: OMAP2+: board-generic: add support for AM57xx family AM57xx processor family are variants of DRA7 family of processors and targetted at industrial and non-automotive applications. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit acc82342f68d85d570db3e2f070255929b0284d9 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:54:41 2014 -0700 PM / sleep: Update test_suspend option documentation Updated documentation to add freeze mode and repeat capability. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2ce986892faf843785f8cdab1c2ed6cd4a3c20aa Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:54:40 2014 -0700 PM / sleep: Enhance test_suspend option with repeat capability Enhanced test_suspend boot paramter to repeat tests multiple times, by adding optional repeat count. The new boot param syntax: test_suspend="mem|freeze|standby[,N]" Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bc7115b1447fe88d065e7f85078ed776ebe7be74 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:54:39 2014 -0700 PM / sleep: Support freeze as test_suspend option Added freeze as one of the option for test_suspend boot param. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 95b6105835293a910484c5bcdd1599b8588959e9 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:30 2014 +0530 cpufreq: cpu0: Make allocate_resources() work for any CPU Currently allocate_resources() supports only CPU0 and it would need to allocate resources for any CPU going forward. Add another argument to it, i.e. cpu, and update code accordingly. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2d2c5e0e72546c1b4375ff5820ca8016c7123cbb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:29 2014 +0530 cpufreq: cpu0: try regulators with name "cpu-supply" Currently, we expect regulator name to be "cpu0", but as we are going to support multiple cpu-blocks (all CPUs in a block share clock/voltage) later, we need to pass some generic string instead of that. For backwards compatibility try for "cpu0" first and if it fails, then try for "cpu". Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d2f31f1da54f83c4eb2738402284c49cd51798d1 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:28 2014 +0530 cpufreq: cpu0: Move per-cluster initialization code to ->init() Currently this driver only support platforms on which all CPUs share clock & voltage lines and there is requirement to support platforms which have separate clock & voltage lines for CPUs, like Qualcomm's Krait and ARM's big LITTLE. Each group of CPUs sharing clock/voltage lines are represented by 'struct cpufreq_policy' in cpufreq framework. And core calls ->init() once for each policy. Currently we do all initialization/allocation from probe() which wouldn't work for above scenario. To make it work for these platforms, the first step is to move all initialization/allocation to ->init() and add ->exit() to do the reverse of it. Also, remove all global variables and allocate space for them at runtime. This patch creates 'struct private_data' for keeping all such information and a pointer to that would be stored in policy->driver_data. The changed probe() routine now tries to see if regulator/clocks are available or we need to defer probe. In case they are available, it registers cpufreq driver. Otherwise, returns with -EPROBE_DEFER. We still *don't* support platforms with separate clock/voltage lines for CPUs. This would be done in a separate patch later. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fbd48ca5911b3cd70da57c3313d13004e40aea54 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:27 2014 +0530 cpufreq: cpu0: use dev_{err|warn|dbg} instead of pr_{err|warn|debug} We already have cpu_dev and is used at multiple places for printing errors using dev_*(). But some prints are still using pr_*(). Lets make it consistent and replace those pr_*() macros with dev_*() macros. Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 48a8624b3abe39bd66490e3ab692a74a73b582eb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:26 2014 +0530 cpufreq: cpu0: print relevant error when we defer probe Currently, we defer probe if regulator_get() returned -EPROBE_DEFER, i.e. regulator isn't registered yet. We do a dev_err() in this case. Sending a message to the log on probe defer just duplicates what the driver core is already doing. Convert it to dev_dbg() instead. We should defer in case of clk_get() as well. Current code already does it, but it wasn't intentional probably. Its just that we are returning the right error with wrong print message. Fix print message to convey right error. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ed4b053cb864f29f57cf5a4c3f3c85cda22edaf1 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:25 2014 +0530 cpufreq: cpu0: don't validate clock on clk_put() CPU clk is not optional for this driver and probe would fail if it couldn't find a suitable clock. And so, while calling clk_put() we don't need to validate clocks. Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 748c876634870f8e535ddebd76f409f0477d3dd4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:24 2014 +0530 cpufreq: cpu0: Update Module Author Two people are maintaining it now, Viresh and Shawn. Add Viresh's details in MODULE_AUTHOR() and copyright section. Suggested-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 413fffc3a1db7f270afdf1ecb35c1edc013acc68 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:23 2014 +0530 cpufreq: Add support for per-policy driver data Drivers supporting multiple clusters or multiple 'struct cpufreq_policy' instances may need to keep per-policy data. If the core doesn't provide support for that, they might do it in the most unoptimized way: 'per-cpu' data. This patch adds another field in struct cpufreq_policy: 'driver_data'. It isn't accessed by core and is for driver's internal use only. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5b4c314575ea6edd57c547c2123083d88d8ff4e6 Merge: a7f26b7 61a3d4f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 8 16:43:58 2014 -0700 Merge tag 'master-2014-09-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== pull request: wireless-next 2014-09-08 Please pull this batch of updates intended for the 3.18 stream... For the mac80211 bits, Johannes says: "Not that much content this time. Some RCU cleanups, crypto performance improvements, and various patches all over, rather than listing them one might as well look into the git log instead." For the Bluetooth bits, Gustavo says: "The changes consists of: - Coding style fixes to HCI drivers - Corrupted ack value fix for the H5 HCI driver - A couple of Enhanced L2CAP fixes - Conversion of SMP code to use common L2CAP channel API - Page scan optimizations when using the kernel-side whitelist - Various mac802154 and and ieee802154 6lowpan cleanups - One new Atheros USB ID" For the iwlwifi bits, Emmanuel says: "We have a new big thing coming up which is called Dynamic Queue Allocation (or DQA). This is a completely new way to work with the Tx queues and it requires major refactoring. This is being done by Johannes and Avri. Besides this, Johannes disables U-APSD by default because of APs that would disable A-MPDU if the association supports U-ASPD. Luca contributed to the power area which he was cleaning up on the way while working on CSA. A few more random things here and there." For the Atheros bits, Kalle says: "For ath6kl we had two small fixes and a new SDIO device id. For ath10k the bigger changes are: * support for new firmware version 10.2 (Michal) * spectral scan support (Simon, Sven & Mathias) * export a firmware crash dump file (Ben & me) * cleaning up of pci.c (Michal) * print pci id in all messages, which causes most of the churn (Michal)" Beyond that, we have the usual collection of various updates to ath9k, b43, mwifiex, and wil6210, as well as a few other bits here and there. Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7f26b7e1ee73ac9e766c430fea5af658d839954 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Mon Sep 8 19:08:34 2014 -0400 inet: remove dead inetpeer sequence code inetpeer sequence numbers are no longer incremented, so no need to check and flush the tree. The function that increments the sequence number was already dead code and removed in in "ipv4: remove unused function" (068a6e18). Remove the code that checks for a change, too. Verifying that v4_seq and v6_seq are never incremented and thus that flush_check compares bp->flush_seq to 0 is trivial. The second part of the change removes flush_check completely even though bp->flush_seq is exactly !0 once, at initialization. This change is correct because the time this branch is true is when bp->root == peer_avl_empty_rcu, in which the branch and inetpeer_invalidate_tree are a NOOP. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b99b121b2aa42e60e5b73fdd3a49863337839c7b Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Sep 5 21:02:37 2014 +0200 tty: serial: 8250_core: allow to overwrite & export serial8250_startup() The OMAP version of the 8250 can actually use 1:1 serial8250_startup(). However it needs to be extended by a wake up irq which should to be requested & enabled at ->startup() time and disabled at ->shutdown() time. v2â?¦v3: properly copy callbacks v1â?¦v2: add shutdown callback Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae14a7954f5124208e6e93cafb3099f83acd43f5 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Sep 5 21:02:36 2014 +0200 tty: serial: 8250_core: provide a function to export uart_8250_port There is no way to access a struct uart_8250_port for a specific line. This is only required outside of the 8250/uart callbacks like for devices' suspend & remove callbacks. For those the 8250-core provides a wrapper like serial8250_unregister_port() which passes the struct to the proper function based on the line argument. For run time suspend I need access to this struct not only to make serial_out() work but also to properly restore up->ier and up->mcr. Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d329c1c68d2cc625bb4b8191f37297db6061448 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Fri Sep 5 18:57:57 2014 -0700 tty/vt/keyboard: Resolve many shadow warnings Many local variables were given the same name as a global. This is valid, but generates many shadow warnings in W=2 builds. Resolve them by changing the local names. Also change local variables named "up" because they shadow the semaphore "up" function. Also moved the outer declaration of the variable "a" because it is only used in one block, and that resolves all of the shadow warnings for the other declarations of "a" that have different types. Change diacr => dia, kbd => kb, rep => rpt, up => udp. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5aa387c152fce7ae5cb29f2b191a1570cd04db5f Author: Alexey Charkov <alchark@xxxxxxxxx> Date: Sat Sep 6 21:21:14 2014 +0400 tty: vt8500_serial: explicitly calculate base baud rate Current code relies on the UART clock pre-divisor to be already configured in the baud rate register. Calculate it in the driver and set explicitly instead, also return the "real" effective baud rate, which is generally slightly different from the requested value. While at this, also ensure that break signal timing is updated when baud rate changes. Signed-off-by: Alexey Charkov <alchark@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1db894ecfa73759b1fde359562b9b4ef0e66e23d Author: Alexey Charkov <alchark@xxxxxxxxx> Date: Sat Sep 6 21:21:15 2014 +0400 tty: vt8500_serial: add polled console functions This adds simple polling functions for single-character transmit and receive, as used by kgdb. Signed-off-by: Alexey Charkov <alchark@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c986d3e20bcbf33c680130a5798f25429c53e31 Author: Alexey Charkov <alchark@xxxxxxxxx> Date: Sat Sep 6 21:21:13 2014 +0400 tty: vt8500_serial: add missing support for RTS setting Signed-off-by: Alexey Charkov <alchark@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae382735247e2daebeed3bafd400ff71039d2241 Author: Alexey Charkov <alchark@xxxxxxxxx> Date: Sat Sep 6 21:21:12 2014 +0400 tty: vt8500_serial: add support for UART in WM8880 chips Newer WonderMedia chips introduced another flag in the UART line control register, which controls whether RTS/CTS signalling should be handled in the driver or by the hardware itself. This patch ensures that the kernel can control RTS/CTS (including disabling it altogether) by forcing this flag to software mode on affected chips (only WM8880 so far). Also remove the redundant copy of the binding doc, while we are here. Signed-off-by: Alexey Charkov <alchark@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d480ef776b53c43ec70155bfefbddc71b4d0883 Author: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Date: Fri Sep 5 10:35:14 2014 +0800 doc: dt-binding: of-serial: add Freescale 64-byte FIFO mode uart binding This add the 64-byte FIFO mode device tree binding for Freescale DUART. Signed-off-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 287f03c0d4fbf0b57f88867a02632376b63ef0c8 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Sep 3 12:57:52 2014 +0100 serial: kgdb_nmi: No CON_ENABLED by default At present this console is optionally registered by NULL checking arch_kgdb_ops.enable_nmi. In practice this requires the architecture dependant code to implement some kind of control (e.g. module arguments) to enable/disable this feature. The kernel already provides us the perfectly adequate console= argument to enable/disable consoles. Let's use that instead! Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5820c24a817e7bbebf5c4366989d5f243b809ab Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Sep 3 12:51:55 2014 +0100 serial: amba-pl011: Use container_of() to get uart_amba_port Universally adopt container_of() for all pointer conversion from uart_port to uart_amba_port. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26c474128b96d277234f35a7fd870ed12bef96ca Author: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Date: Wed Sep 3 12:33:53 2014 +0100 serial: imx: clean up imx_poll_get_char() Looking at the get_poll_char() function of the 8250.c serial driver, we learn: * poll_get_char() doesn't have to save/disable/restore the interrupt registers. No interrupt handling is needed in this function at all. Remove it. * Don't block in case there is no data available. So instead blocking in the do {} while loop, just return with NO_POLL_CHAR, immediately . Additionally, while the i.MX6 register URXD[7-0] contain the RX_DATA, the upper bits of this register (URXD[15-10]) might contain some control flags. To ensure that these are not returned with the data read, just mask out URXD[7-0]. These changes fix the 'hang' working with kdb: $ echo ttymxc3 > /sys/module/kgdboc/parameters/kgdboc $ echo g >/proc/sysrq-trigger [0]kdb> help ... <hang> Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c993257bf7571945201205491de86268437ea174 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:21 2014 -0400 serial: core: Unwrap tertiary assignment in uart_handle_dcd_change() Prepare for spin lock assertion; move non-trivial assignment into function body. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5435d20f506f16352a4e1637b8e8fb7c0d422bb9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:20 2014 -0400 serial: 8250: Document serial8250_modem_status() locking Existing callers of serial8250_modem_status() [1] hold the uart port lock; document. [1] In-tree callers of serial8250_modem_status() drivers/tty/serial/8250/8250_fsl.c fsl8250_handle_irq() drivers/tty/serial/8250/8250_core.c serial8250_handle_irq() serial8250_console_write() serial8250_get_mctrl() * * Call graphs for callers of serial8250_get_mctrl() from the function which acquires the uart port lock drivers/tty/serial/serial_core.c uart_port_startup() uart_tiocmget() uart_set_termios() uart_carrier_raised() ops->get_mctrl() ---> serial8250_get_mctrl() Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a949b07e4062cbd07e04e6a47249e69ca65b944 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:19 2014 -0400 serial: core: Document lock requirement for UPF_* flags updates The flags field of struct uart_port can only be safely modified if the port mutex is held; no other lock prevents concurrent changes from corrupting the field. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16020b989ac72b0b02654612a7b70398a7faac21 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:18 2014 -0400 serial: blackfin: Fix missing gpio.h If CONFIG_SERIAL_BFIN_CTSRTS is set, compile fails because of missing declarations for the gpio_* api. Include necessary header. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98f8b83d6a504615f52a095acf92a2bdad985ae0 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:17 2014 -0400 serial: sunsab: Don't enable tx if tx stopped The serial core may call the UART driver's start_tx() even if tx is stopped; the UART driver must verify tx should be enabled before transmitting. Reported-by: Sam Ravnborg <sam@xxxxxxxxxxxx> cc: David S. Miller <davem@xxxxxxxxxxxxx> cc: <sparclinux@xxxxxxxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16f404e3666718917b2541503240cf8430aa49ff Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:16 2014 -0400 serial: mpc52xx: Use default serial core x_char handler mpc52xx_uart_send_xchar() is _identical_ to the default serial core x_char handling behavior in uart_send_xchar(). Remove mpc52xx_uart_send_xchar(). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db106df32d679db151b48a09543b03ee41cb2580 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:15 2014 -0400 serial: Fix send_xchar() handlers START_CHAR() & STOP_CHAR() can be disabled if set to '\0' (__DISABLED_CHAR). UART drivers which define a send_xchar() handler must not transmit __DISABLED_CHAR. Document requirement. Affected drivers: sunsab sunhv cc: David S. Miller <davem@xxxxxxxxxxxxx> cc: <sparclinux@xxxxxxxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fba594a848f6f35417a358565086d22c533c19c8 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:14 2014 -0400 serial: core: Remove unsafe x_char optimization uart_unthrottle() attempts to avoid sending START and the previous x_char if the previous x_char has not yet been sent. However, this optimization could leave the sender in a throttled state; for example, if the sender is throttled and this unthrottle coincides with a manual tcflow(TCION) from user-space, then neither START would be sent. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c235ccc1c4d6fd8b7d48b976b87416230ffd5149 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:13 2014 -0400 serial: core: Fix x_char race The UART driver is expected to clear port->x_char after transmission while holding the port->lock. However, the serial core fails to take the port->lock before assigning port->xchar. This allows for the following race CPU 0 | CPU 1 | | serial8250_handle_irq | ... | serial8250_tx_chars | if (port->x_char) | serial_out(up, UART_TX, port->x_char) uart_send_xchar | port->x_char = ch | | port->x_char = 0 port->ops->start_tx() | | The x_char on CPU 0 will never be sent. Take the port->lock in uart_send_xchar() before assigning port->x_char. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e42e9a30cdaae51411a9fd4d7de1dc6a7507038 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:12 2014 -0400 serial: imx: Fix x_char handling and tx flow control The serial core expects the UART driver to transmit x_char (START/STOP chars) even if tx is stopped and before data already in the tx ring buffer if possible. Also, sending x_char must not cause additional data in the tx ring buffer to transmit if tx is stopped. Cause x_char to be transmitted before any other data is sent. Auto-stop tx if the tx ring buffer is empty or tx should be stopped. Only perform one write wakeup if tx ring buffer space is below threshold. x_char handling in DMA mode is still broken; add FIXME. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99abf3b9242fbc5fec586223a5068544e0e9d90f Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:11 2014 -0400 serial: Style fix Unwrap if() conditional; no functional change. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6eec92ec0815ce8ce57e4746e9f717d4146d869 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:10 2014 -0400 Revert "serial: uart: add hw flow control support configuration" This reverts commit 06aa82e498c144c7784a6f3d3b55458b272d6146. This commit purports to enable auto CTS flow control for the 8250 UART driver. However, the 8250 UART driver already supports auto CTS flow control via UART_CAP_AFE and UART_CAP_EFR. Indeed, this patch introduces another DT attribute for which an existing firmware flag already exists ("auto-flow-control"). Furthermore, the use of UPF_HARD_FLOW requires the UART driver to define .throttle and .unthrottle methods, neither of which are defined for the 8250 UART driver (which will result in a NULL ptr dereference). Finally, this patch supposes to fix existing bugs in the serial core for auto CTS-enabled hardware, but does not include the class of hardware for which these bugs exist. CC: Murali Karicheri <m-karicheri2@xxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95562e7fdfe3fae2a10bb7ab16fc1260fe8dd810 Author: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Date: Tue Sep 2 21:05:42 2014 +0530 tty/serial: samsung: enable usage for 64-bit Exynos platforms Allow Samsung serial driver to be usable on Exynos 64-bit SoC based platforms. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6004bb11cf0d35574fdedb236d98672ccf86d9a9 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:24 2014 +0200 serial: vr41xx_siu: delete double assignment Delete successive assignments to the same location. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 920314dfd05f40cbe8ad677ba733ff1f8814d93a Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Aug 20 12:55:45 2014 -0400 serial: Fix build failure caused by missing header file Fix build failure caused by missing header file: drivers/tty/serial/nwpserial.c: In function 'wait_for_bits': drivers/tty/serial/nwpserial.c:53:3: error: implicit declaration of function 'udelay' [-Werror=implicit-function-declaration] Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c24622572d6ab2ec8e731588d1c131563a64b53 Author: Dan Murphy <dmurphy@xxxxxx> Date: Mon Sep 8 16:10:49 2014 -0700 Input: add support for the DRV2667 haptic driver Adding support for the DRV2667 haptic driver. This device has the ability to store vibration patterns in RAM and execute them once the GO bit is set. The initial driver sets a basic waveform in the first waveform sequence and will play the waveform when the GO bit is set and will continously play the waveform until the GO bit is unset. Data sheet is here: http://www.ti.com/product/drv2667 Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ff7693d079e58fb62d735b7b8085b53fcfb74528 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Sun Aug 17 12:49:49 2014 +0200 ARM: meson: serial: add MesonX SoC on-chip uart driver The SoC has four fully functional UARTs which use the same programming model. They are named UART_A, UART_B, UART_C and UART_AO (Always-On) which cannot be powered off. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b359c4264c64909867c2005bc71cbc7431d2d464 Author: Keerthy J <j-keerthy@xxxxxx> Date: Mon Jul 28 11:48:54 2014 +0530 ARM: dts: dra72-evm: Add tps65917 PMIC node DRA72x-evm uses TPS65917 PMIC. Add the node. NOTE: LDO2 is actually unused, but the usage if any is expected to be between 1.8 to 3.3v IO voltage. So define the node. NOTE: Interrupt used is crossbar number based. Tested-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Keerthy <j-keerthy@xxxxxx> Tested-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 75e4239b59393487dd79c88ebd419fda11eca465 Author: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Date: Wed Aug 13 15:54:48 2014 +0200 Documentation: serial: fix header path RS485 related structure will be defined in user space API header. Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e9711aacc25fa6728c0625e4cfe7a141201b676 Author: Keerthy J <j-keerthy@xxxxxx> Date: Mon Jul 28 11:48:53 2014 +0530 ARM: dts: dra72-evm: Enable I2C1 node I2C1 bus is used for the following peripherals P8 connector (MLB) TLV320AIC3106 Audio codec J15 LCD header 24WC256 eeprom TMP102AIDRLT temperature sensor PCF8575 GPIO expander PCA9306 i2c voltage translator -> Goes to P9 for comm interface P2 expansion connector TPS65917 PMIC The slowest speed of all the peripherals seems to be 400KHz. Tested-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Keerthy <j-keerthy@xxxxxx> Tested-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7acb88af6fedc4424a99425308a2f3e50d5ff1bc Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Fri Aug 8 23:56:34 2014 +0800 drivers/tty/nozomi.c: Use 'nozomi_setup_memory' instead of 'setup_memory' Several architectures (e.g. microblaze, um, and score) have already have extern 'setup_memory', so need use 'nozomi_setup_memory' instead of, or will cause compiling issue. The related error (with allmodconfig for microblaze): CC [M] drivers/tty/nozomi.o drivers/tty/nozomi.c:526:13: error: conflicting types for 'setup_memory' static void setup_memory(struct nozomi *dc) ^ In file included from include/linux/mm.h:51:0, from ./arch/microblaze/include/asm/io.h:17, from include/linux/io.h:22, from include/linux/pci.h:31, from drivers/tty/nozomi.c:46: ./arch/microblaze/include/asm/pgtable.h:569:6: note: previous declaration of 'setup_memory' was here void setup_memory(void); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bb2bd0798447c67d563311f337db9c2f390f2c6 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:53:43 2014 +0200 tty: serial: uartlite: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ebe78655476e5e94ab12867eb732923cae50ea4 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:53:42 2014 +0200 tty: serial: xuartps: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c10b73905a0bb4b91e6c153dbbf4c2809084e4c2 Author: Daniele Forsi <dforsi@xxxxxxxxx> Date: Fri Aug 8 17:56:30 2014 +0200 serial: 8250_hp300: trivial: fix symbol name in #warning message The symbol is defined in drivers/tty/serial/8250/Kconfig as "SERIAL_8250", not just "8250". Signed-off-by: Daniele Forsi <dforsi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23cb8981ed929b4dd48141401cd0fd31e0fa4ed0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 9 08:02:45 2014 +0900 percpu: fix locking regression in the failure path of pcpu_alloc() While updating locking, b38d08f3181c ("percpu: restructure locking") broke pcpu_create_chunk() creation path in pcpu_alloc(). It returns without releasing pcpu_alloc_mutex. Fix it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Julia Lawall <julia.lawall@xxxxxxx> commit 1923d6e4186c9470a83d0179e86e1aea8cfcbe67 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 8 22:54:02 2014 +0530 drivers: net: cpsw: Add support for pause frames CPSW supports both rx and tx pause frames for flow control. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57087d515441cab49ff02480aa40a09abfe02c78 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 7 07:14:10 2014 -0400 tty: Fix spurious poll() wakeups When the N_TTY line discipline receives data and wakes readers to process the input, polling writers are also mistakenly woken. This is because, although readers and writers are differentiated by different wait queues (tty->read_wait & tty->write_wait), both wait queues are polled together. Thus, reader wakeups without poll flags still cause poll(POLLOUT) to wakeup. For received data, wakeup readers with POLLIN. Preserve the unspecific wakeup in n_tty_packet_mode_flush(), as this action should flag both POLLIN and POLLOUT. Fixes epoll_wait() for edge-triggered EPOLLOUT. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b216df53848129c969a465bb9237fbc9b8fafaad Author: Cyrill Gorcunov <gorcunov@xxxxxxxxx> Date: Fri Aug 8 00:26:15 2014 +0400 tty: Fix potential use after free in release_one_tty In case if we're releasing the last tty reference the following call sequence is possible tty_driver_kref_put destruct_tty_driver kfree(driver); where @driver is used in next module_put call, which leads to | [ 285.964007] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 | [ 285.964007] Workqueue: events release_one_tty | [ 285.964007] task: ffff8800cc7ea5f0 ti: ffff8800cb800000 task.ti: ffff8800cb800000 | [ 285.964007] RIP: 0010:[<ffffffff810aeaf5>] [<ffffffff810aeaf5>] module_put+0x24/0xf4 | [ 285.964007] RSP: 0018:ffff8800cb801d48 EFLAGS: 00010213 | [ 285.964007] RAX: ffff8800cb801fd8 RBX: ffff8800ca3429d0 RCX: ffff8800cb1db400 | [ 285.964007] RDX: 0000000000000000 RSI: ffffffff817349c1 RDI: 0000000000000001 | [ 285.964007] RBP: ffff8800cb801d60 R08: ffff8800cd632b40 R09: 0000000000000000 | [ 285.964007] R10: 00000000ffffffff R11: ffff88011f40a000 R12: 6b6b6b6b6b6b6b6b | [ 285.964007] R13: ffff8800ca342520 R14: 0000000000000000 R15: ffff88011f5d8200 | [ 285.964007] FS: 0000000000000000(0000) GS:ffff88011f400000(0000) knlGS:0000000000000000 | [ 285.964007] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b | [ 285.964007] CR2: 00007faf5229d090 CR3: 0000000001c0b000 CR4: 00000000000006f0 | [ 285.964007] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 | [ 285.964007] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 | [ 285.964007] Stack: | [ 285.964007] ffff8800ca3429d0 ffff8800ca342a30 ffff8800ca342520 ffff8800cb801d88 | [ 285.964007] ffffffff8146554a ffff8800cc77cc78 ffff8800ca3429d0 ffff88011f5d3800 | [ 285.964007] ffff8800cb801e08 ffffffff810683c1 ffffffff810682ff 0000000000000046 | [ 285.964007] Call Trace: | [ 285.964007] [<ffffffff8146554a>] release_one_tty+0x54/0xa3 | [ 285.964007] [<ffffffff810683c1>] process_one_work+0x223/0x404 | [ 285.964007] [<ffffffff810682ff>] ? process_one_work+0x161/0x404 | [ 285.964007] [<ffffffff81068971>] worker_thread+0x136/0x205 | [ 285.964007] [<ffffffff8106883b>] ? rescuer_thread+0x26a/0x26a | [ 285.964007] [<ffffffff8106e5bf>] kthread+0xa2/0xaa | [ 285.964007] [<ffffffff810a4586>] ? trace_hardirqs_on_caller+0x16/0x1eb | [ 285.964007] [<ffffffff8106e51d>] ? __kthread_parkme+0x65/0x65 | [ 285.964007] [<ffffffff8173f59c>] ret_from_fork+0x7c/0xb0 | [ 285.964007] [<ffffffff8106e51d>] ? __kthread_parkme+0x65/0x65 | [ 285.964007] Code: 09 00 5b 41 5c 5d c3 0f 1f 44 00 00 55 48 85 ff 48 89 e5 41 55 41 54 49 89 fc 53 0f 84 d3 00 | 00 00 bf 01 00 00 00 e8 d0 a1 fc ff <49> 8b 84 24 50 02 00 00 65 48 ff 40 08 4c 8b 6d 08 0f 1f 44 00 so simply keep a local reference to the module owner and use it later. CC: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> CC: Jiri Slaby <jslaby@xxxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b374399468da1c25db5b5d436b167aafc10fbdc Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Aug 5 18:37:24 2014 -0700 serial: msm_serial: Fix kgdb continue Frank reports that after continuing in kgdb the RX stale event doesn't occur until after the RX fifo is filled up with exactly the amount of characters programmed for the RX watermark (in this case it's 48). To read a single character from the uartdm hardware we force a stale event so that any characters in the RX packing buffer are flushed into the RX fifo immediately instead of waiting for a stale timeout or for the fifo to fill. Forcing that stale event asserts the stale interrupt but we never clear that interrupt via UART_CR_CMD_RESET_STALE_INT in the polling functions. So when kgdb continues the stale interrupt is left pending in the hardware and we don't timeout with a stale event, like we usually would if a user typed one character on the console, until the reset stale interrupt and stale event commands are sent. Frank could get things working again by running handle_rx_dm(). By putting enough characters into the fifo he could trigger a watermark interrupt, and thus cause handle_rx_dm() to run finally resetting the stale interrupt and enabling the stale event so that single characters would cause timeouts again. The fix is to just do what the interrupt routine was doing all along and clear the stale interrupt and enable the event again. Doing this also smooths over any differences in the fifo behavior between v1.3 and v1.4 hardware allowing us to skip forcing the uart into single character mode. Reviewed-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Tested-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Fixes: f7e54d7ad743 "msm_serial: Add support for poll_{get,put}_char()" Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0525393baf07b1bb6e537ddbe7dfae3621649df Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Tue Aug 5 21:43:42 2014 -0700 TTY: fix decimal printf format specifiers prefixed with 0x The prefix suggests the number should be printed in hex, so use the %x specifier to do that. Found by using regex suggested by Joe Perches. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6af16a1dac5465cb63b3a7f0898ee03856afd311 Author: Rajendra Nayak <rnayak@xxxxxx> Date: Fri Aug 22 09:02:34 2014 -0500 ARM: DRA7: Add hook in SoC initcalls to enable pm initialization With consolidated code, now we can add the required hooks for DRA7 to enable power management. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> [nm@xxxxxx: minor modifications] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8df438571cdbd5c4fcd1b25b19eea1ad5c3cf777 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 26 11:19:53 2014 -0500 usb: dwc2: move "samsung,s3c6400-hsotg" into common platform Move the "samsung,s3c6400-hsotg" binding as the probe function in the gadget driver will get removed when the dual-role driver is implemented. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae3c511c2d72161b11e93866203b59a3a37dfac7 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:31 2014 +0200 PM / domains: Keep declaration of dev_power_governors together This is a pure code cleanup in the header file for the PM domain. No functional change. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0f574d4c3a7a325cbbef28ee738dedca9851e957 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:30 2014 +0200 PM / domains: Remove default_stop_ok() API There are currently no need to export default_stop_ok() as an API, instead let's keep it local to the PM domain governor. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f1bf45c70ffdcf048d046da4ad4611315f1a15bf Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:29 2014 +0200 drivers: sh: Leave disabling of unused PM domains to genpd Since genpd at late init, will try to disable unused PM domains we don't need to do it from here as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d40fce7e625dcecb196b1e4dba4dde19fdee919c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:28 2014 +0200 ARM: s3c64xx: Leave disabling of unused PM domains to genpd Since genpd at late init, will try to disable unused PM domains we don't need to do it from the machine specific code as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0fcc455252d2ec766deb45bb735e32c7023811fe Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:27 2014 +0200 ARM: exynos: Leave disabling of unused PM domains to genpd Since genpd at late init, will try to disable unused PM domains we don't need to do it from here as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2fe71dcdfd10d3f71bb559609a8ceda9f76b1e2c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:26 2014 +0200 PM / domains: Add late_initcall to disable unused PM domains As default behavior let genpd at late init try to disable the unused PM domains. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d971f0b0eaaf3f2086bf21bbd64f7ea7e2f28459 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:25 2014 +0200 PM / domains: Remove genpd_queue_power_off_work() API There are no active users of this API. Let's remove it and if future needs shows up we could consider to have a get/put API instead. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d47e6464ae6c96735d4706f5cb0537fe717b6b00 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:24 2014 +0200 PM / domains: Remove pm_genpd_syscore_switch() API The pm_genpd_syscore_poweroff() API and pm_genpd_syscore_poweron() API makes the pm_genpd_syscore_switch() API redundant. Moreover, since there are no active users, let's just remove it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 784b0d3d8bc5b8ac60fc620c3420dc430bba61a7 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:23 2014 +0200 PM / domains: Remove redundant check for CONFIG_PM CONFIG_PM_GENERIC_DOMAINS depends on CONFIG_PM, thus there are no need to check explicity for it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c5d79ec2a5715489cff16a0d1cf4fa9108a5509e Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:22 2014 +0200 PM / domains: Remove dev_irq_safe from genpd config The genpd dev_irq_safe configuration somewhat overlaps with the runtime PM pm_runtime_irq_safe() option. Also, currently genpd don't have a good way to deal with these device. So, until we figured out if and how to support this in genpd, let's remove the option to configure it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cec89297da88ae9e8df0e3b7ea2e7e464b038cc9 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:21 2014 +0200 ARM: shmobile: Drop dev_irq_safe from R-mobile genpd config The dev_irq_safe configuration is redundant, genpd don't have any special treatmeant for handling it. Let's remove it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 698616548528615052ccdff2f621f1fde3bd9a50 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:20 2014 +0200 ARM: shmobile: Drop dev_irq_safe from r8a7779 genpd config The dev_irq_safe configuration is redundant, genpd don't have any special treatmeant for handling it. Let's remove it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1e0407ca54d28db8e5f02e437ff21cc6416c0be8 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:19 2014 +0200 PM / domains: Remove system PM callbacks from gpd_dev_ops There no users of these callbacks, let's simplify the generic power domain by removing them. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 67da6d4bf43c4208433ef8f3ee487401b4dc9c74 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:18 2014 +0200 PM / domains: Ignore callbacks for subsys generic_pm_domain_data In a step of simplifying the generic power domain let's move away from using these callbacks. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 55e15c949fd05d247a889df0ed0177a676fec665 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:17 2014 +0200 PM / domains: Remove the pm_genpd_add|remove_callbacks APIs There are no users of these APIs. To simplify the generic power domain let's remove them. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e006fee6ecfed5b957bdd41c236aad751ab29042 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 26 11:19:52 2014 -0500 usb: dwc2: Update Kconfig to support dual-role Update DWC2 kconfig and makefile to support dual-role mode. The platform file will always get compiled for the case where the controller is directly connected to the CPU. So for loadable modules, only dwc2.ko is needed. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0155b9d5ef29092d39502ec57b0454b2b3c7cc9 Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Wed Aug 6 09:01:50 2014 +0800 usb: dwc2: add 'mode' which based on Kconfig select or dts setting According to the "dr_mode", the otg controller can work as device role and host role. Some boards always want to use host mode and some other boards want to use gadget mode. We use the dts setting to set dwc2's mode, rather than fixing it to whatever hardware says. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc1b0e2aa3251c5f90bb6c70358832e4dab9abfd Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Wed Aug 6 09:01:49 2014 +0800 Documentation: dt-bindings: add dt binding info for dwc2 dr_mode Indicate that the generic dr_mode binding should be used for dwc2. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2867c05d4cb1638217522fb270f1a0a5794a10b9 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Thu Aug 7 12:48:11 2014 -0700 usb: dwc2: Read GNPTXFSIZ when in forced HOST mode. The documentation for GNPTXFSIZ says that "For host mode, this field is always valid." Since we're already switching to host mode for HPTXFSIZ, let's also read GNPTXFSIZ in host mode. On an rk3288 SoC, without this change we see this at bootup: dwc2 ff580000.usb: gnptxfsiz=00100400 dwc2 ff580000.usb: 128 invalid for host_nperio_tx_fifo_size. Check HW configuration. After this change we see: dwc2 ff580000.usb: gnptxfsiz=04000400 Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9508314655ba3f730c6290f5a7683e3a0c9e351d Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:55:57 2014 +0800 usb: dwc2: add compatible data for rockchip soc This patch add compatible data for dwc2 controller found on rk3066, rk3188 and rk3288 processors from rockchip. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3675029a11bfd66b0cf2672e156a7e6c03956d57 Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:55:56 2014 +0800 Documentation: dt-bindings: add dt binding info for Rockchip dwc2 This add necessary dwc2 binding documentation for Rockchip socs: rk3066, rk3188 and rk3288 Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 119eccd5e7f6fcded9db6b7aa14f5f459d2a22ba Author: Rick Jones <rick.jones2@xxxxxx> Date: Mon Sep 8 08:31:32 2014 -0700 hp100: Convert the normal skb free path to dev_consume_skb_any() A bit of floor sweeping in a dusty old corner. Convert the "normal" skb free calls to dev_consume_skb_any() so packet drop tracing will be more sane. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Acked-by: Jaroslav Kysela <perex@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f7f41c7a73c7416e72a07baede021ab62bd5ae7 Author: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Date: Tue Aug 5 16:09:08 2014 +0530 usb: ehci/ohci-exynos: Fix PHY getting sequence Since we want to keep support for both older usb-phys as well as the newer generic phys, lets first get the generic PHYs and fallback to older USB-PHYs only when we fail to get the former. This should fix the issue with ehci-exynos and ohci-exynos, wherein in the absence of SAMSUNG_USB2PHY config symbol, we end up getting the NOP_USB_XCEIV phy when the same is enabled. And thus the PHYs are not configured properly. Reported-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Tested-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62b0a1b3e7593e0647db9ecc5e7809e4410acb81 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Sep 6 07:20:15 2014 +0400 serial: clps711x: Use mctrl_gpio helpers for handling modem signals CLPS711X serial driver uses the system wide registers to control the modem signals. Now gpio-syscon driver can be used for this purposes. mctrl_gpio helpers allow us to create GPIO bindings for any of modem/tty control signals that extends the functionality of the driver. This patch makes such change. This change does not break any current DT bindings, since DT support for this platform is not introduced yet. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4990141496b82f91cb96b37100ac882ea5cee8b7 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Tue Sep 9 00:21:59 2014 +0200 ACPI / PNP: remove Fujitsu device IDs from ACPI PNP ID list Fujitsu backlight and hotkey devices have ACPI drivers. The PNP MODULE_DEVICE_TABLE in fujitsu-laptop driver is just used as an indicator for module autoloading, but this is wrong because what we need is ACPI module device table instead, because the driver is probing ACPI devices. Thus remove those IDs from ACPI PNP scan handler list as we don't have a PNP driver for them, and convert the fujitsu-laptop PNP MODULE_DEVICE_TABLE to ACPI MODULE_DEVICE_TABLE. Link: https://bugzilla.kernel.org/show_bug.cgi?id=81971 Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Tested-by: Dirk Griesbach <spamthis@xxxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2f2dafe77df2c78e189a9fa6b1879dffd06ae5a1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 1 20:49:43 2014 +0530 serial: serial_core.c: printk replacement printk replaced with corresponding dev_* . fixed two broken user-visible strings used by the corresponding printk. the null check for uport->dev and port->dev is removed as dev_* will check for null while printing. printing of dev_name(uport->dev) and dev_name(port->dev) also removed as those are being printed by dev_* . Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1d51aa2214cea3f91611893610a2f769cada0e7 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Aug 8 13:01:21 2014 +0200 tty: fix typo in comment of tty_termios_encode_baud_rate Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d199a55c41b25f4255eaeea358f944e33e91a4b Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Aug 5 09:14:35 2014 +0200 serial: altera: Make of_device_id arrays const Make the of_device_id arrays const, as it is handled as const by all OF functions. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 864119917de4fe041e43787681eb706e6fe86624 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Aug 5 13:22:03 2014 +0530 tty: serial: msm: Fix 'void function return statements are not generally useful' warning fixed below checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f47abcb86cd9e061013a12a3aa4748b1949b25e Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Aug 5 13:22:02 2014 +0530 tty: serial: msm: Fix 'else is not generally useful after a break or return' warning fixed below checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a7cfe4611c5cab191da5b3934790b763c58906a Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Aug 5 13:22:01 2014 +0530 tty: serial: msm: Fix style warnings relating to printk() fixed below checkpatch.pl warning: WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ... Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e919cefb965465eb5ae15d05b1df3be6095af100 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Aug 5 13:22:00 2014 +0530 tty: serial: msm: Fix 'Missing a blank line after declarations' warning This patch fixes below checkpatch.pl warning and it remove extra blank lines: WARNING: Missing a blank line after declarations Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddea392e614736ae1c38e3a4c3b1dc427412047d Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Aug 5 13:21:59 2014 +0530 tty: serial: msm: remove braces {} in msm_serial.c fixed below checkpatch.pl warning: WARNING: braces {} are not necessary for any arm of this statement Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28e3fb6c4dce76d59a76755c4360d1cd5e0e226c Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Thu Jul 31 21:22:26 2014 +0200 serial: Add support for Fintek F81216A LPC to 4 UART This patch lets you set the RS485 cappabilites of the device through TIOCSRS485 and TIOCGRS485 as defined on Documentation/serial/serial-rs485.txt In order to probe the device, the PNP id and the device id is used. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e676253b19b2d269cccf67fdb1592120a0cd0676 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Aug 5 11:45:59 2014 +0200 serial/8250: Add support for RS485 IOCTLs This patch allow the users of the 8250 infrastructure to define a handler for RS485 configration. If no handler is defined the 8250 driver will work as usual. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> -- v2:Change suggested by Alan "One Thousand Gnomes": - Move rs485 structure further down on the uart_8250_port structure drivers/tty/serial/8250/8250_core.c | 39 +++++++++++++++++++++++++++++++++++++ include/linux/serial_8250.h | 3 +++ 2 files changed, 42 insertions(+) Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e701f16982a9d15488a5aa8c7f5c41444b1de67 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 8 08:29:12 2014 -0700 net: Fix GRE RX to use skb_transport_header for GRE header offset GRE assumes that the GRE header is at skb_network_header + ip_hrdlen(skb). It is more general to use skb_transport_header and this allows the possbility of inserting additional header between IP and GRE (which is what we will done in Generic UDP Encapsulation for GRE). Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a3b60d8ba4cdbed7fa9ed7ddb9d9fef664ca8f5 Author: Eddie Kovsky <ewk@xxxxxxxxxxxx> Date: Mon Sep 8 15:22:58 2014 -0600 staging: clean up checkpatch warnings in lustre Silence checkpatch warning: WARNING: type 'long long unsigned' should be specified in [[un]signed] [short|int|long|long long] order Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79d99c305fd4edb9ee11ff57f43dc961ad684ab6 Author: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Date: Mon Sep 8 18:09:48 2014 -0400 staging/rtl8192u - check for skb alloc failure It's possible for dev_alloc_skb() to fail. Propagate the error to the caller, so it can clean up and drop the packet. The sender should end up retransmitting the packet, hopefully at a time we're prepared to allocate skb's again. Reported-By: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-Off-By: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 887782e04f8ada770e24cfb190d2ceed3b2c4974 Merge: d7eb67f 628ed47 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Sep 8 15:20:15 2014 -0700 Merge branch 'pull/v3.18/for-omap-soc' of https://github.com/nmenon/linux-2.6-playground into omap-for-v3.18/soc commit 59f6e2073c72d36c814a4417320bfa4874faa228 Author: Mel Gorman <mgorman@xxxxxxx> Date: Mon Sep 8 23:06:54 2014 +0100 percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t -fix A commit in linux-next was causing boot to fail and bisection identified the patch 4ba2968420fa ("percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_"). One of the changes in that patch looks very suspicious. Reverting the full patch fixes boot as does this fixlet. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> commit d7eb67f7fef9c046f27a975118da2324de65a90c Merge: 9a15fff 3e6a1c9 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Sep 8 15:04:24 2014 -0700 Merge branch 'pull/v3.18/powerdomain-fixes' of https://github.com/nmenon/linux-2.6-playground into omap-for-v3.18/fixes-not-urgent commit f554f619b7041e388d46395b1e30b151925a7797 Author: Benjamin Valentin <benpicco@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 8 14:18:40 2014 -0700 Input: xpad - sync device IDs with xboxdrv The userspace xboxdrv driver knows some more device ids than the kernel. This patch adds the missing xbox gamepads from [1] to xpad.c [1] https://github.com/Grumbel/xboxdrv/blob/master/src/xpad_device.cpp Signed-off-by: Benjamin Valentin <benpicco@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a7b447380c5c974c740437af82793e450f47304d Author: Frank Razenberg <frank@xxxxxxxxxxxx> Date: Mon Sep 8 11:32:20 2014 -0700 Input: xpad - add VID/PID for Razer Sabertooth The xpad driver recognizes Razer Sabertooth controllers as generic xbox controller, while it is really a 360 controller. This patch adds pid/vid mappings for the controller so that it is correctly recognized. Signed-off-by: Frank Razenberg <frank@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b151d6b00bbb798c58f2f21305e7d43fa763f34f Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Jun 27 18:04:27 2014 +0300 ima: provide flag to identify new empty files On ima_file_free(), newly created empty files are not labeled with an initial security.ima value, because the iversion did not change. Commit dff6efc "fs: fix iversion handling" introduced a change in iversion behavior. To verify this change use the shell command: $ (exec >foo) $ getfattr -h -e hex -d -m security foo This patch defines the IMA_NEW_FILE flag. The flag is initially set, when IMA detects that a new file is created, and subsequently checked on the ima_file_free() hook to set the initial security.ima value. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 3.14+ commit 1f1009791b2e81f106d4809007720495ba3ed90c Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Aug 15 13:49:22 2014 +0300 evm: prevent passing integrity check if xattr read fails This patch fixes a bug, where evm_verify_hmac() returns INTEGRITY_PASS if inode->i_op->getxattr() returns an error in evm_find_protected_xattrs. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> commit db91b724b53b1cfd0e258d7cf3a03a062a89fe2d Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Mon Sep 8 11:25:34 2014 -0400 dp83640: Make use of skb_queue_purge instead of reimplementing the code This change makes it so that dp83640_remove can use skb_queue_purge instead of looping through itself to flush any entries out of the queue. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1dcf74f6edfc3a9acd84d83d8865dd9e2a3b1d1e Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Sep 5 15:13:56 2014 -0700 x86_64, entry: Use split-phase syscall_trace_enter for 64-bit syscalls On KVM on my box, this reduces the overhead from an always-accept seccomp filter from ~130ns to ~17ns. Most of that comes from avoiding IRET on every syscall when seccomp is enabled. In extremely approximate hacked-up benchmarking, just bypassing IRET saves about 80ns, so there's another 43ns of savings here from simplifying the seccomp path. The diffstat is also rather nice :) Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a3dbd267ee990110478d349f78cccfdac5497a84.1409954077.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 54eea9957f5763dd1a2555d7e4cb53b4dd389cc6 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Sep 5 15:13:55 2014 -0700 x86_64, entry: Treat regs->ax the same in fastpath and slowpath syscalls For slowpath syscalls, we initialize regs->ax to -ENOSYS and stick the syscall number into regs->orig_ax prior to any possible tracing and syscall execution. This is user-visible ABI used by ptrace syscall emulation and seccomp. For fastpath syscalls, there's no good reason not to do the same thing. It's even slightly simpler than what we're currently doing. It probably has no measureable performance impact. It should have no user-visible effect. The purpose of this patch is to prepare for two-phase syscall tracing, in which the first phase might modify the saved RAX without leaving the fast path. This change is just subtle enough that I'm keeping it separate. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/01218b493f12ae2f98034b78c9ae085e38e94350.1409954077.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit e0ffbaabc46db508b8717f023c0ce03b980eefac Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Sep 5 15:13:54 2014 -0700 x86: Split syscall_trace_enter into two phases This splits syscall_trace_enter into syscall_trace_enter_phase1 and syscall_trace_enter_phase2. Only phase 2 has full pt_regs, and only phase 2 is permitted to modify any of pt_regs except for orig_ax. The intent is that phase 1 can be called from the syscall fast path. In this implementation, phase1 can handle any combination of TIF_NOHZ (RCU context tracking), TIF_SECCOMP, and TIF_SYSCALL_AUDIT, unless seccomp requests a ptrace event, in which case phase2 is forced. In principle, this could yield a big speedup for TIF_NOHZ as well as for TIF_SECCOMP if syscall exit work were similarly split up. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2df320a600020fda055fccf2b668145729dd0c04.1409954077.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit fd143b210e685f0c4b37895f03fb79cd0555b00d Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Sep 5 15:13:53 2014 -0700 x86, entry: Only call user_exit if TIF_NOHZ The RCU context tracking code requires that arch code call user_exit() on any entry into kernel code if TIF_NOHZ is set. This patch adds a check for TIF_NOHZ and a comment to the syscall entry tracing code. The main purpose of this patch is to make the code easier to follow: one can read the body of user_exit and of every function it calls without finding any explanation of why it's called for traced syscalls but not for untraced syscalls. This makes it clear when user_exit() is necessary. Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/0b13e0e24ec0307d67ab7a23b58764f6b1270116.1409954077.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 81f49a8fd7088cfcb588d182eeede862c0e3303e Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Sep 5 15:13:52 2014 -0700 x86, x32, audit: Fix x32's AUDIT_ARCH wrt audit is_compat_task() is the wrong check for audit arch; the check should be is_ia32_task(): x32 syscalls should be AUDIT_ARCH_X86_64, not AUDIT_ARCH_I386. CONFIG_AUDITSYSCALL is currently incompatible with x32, so this has no visible effect. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a0138ed8c709882aec06e4acc30bfa9b623b8717.1409954077.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 9f87b447204cb1cbc6c838f97ff2e365689c15f4 Author: Nitin Kuppelur <nitinkuppelur@xxxxxxxxx> Date: Mon Sep 8 21:28:30 2014 +0200 Staging: octeon-hcd: removed unwanted return from void This is a patch to the octeon-hcd.c file that fixes checkpatch.pl warning by removing return statement from void functions. Signed-off-by: Nitin Kuppelur <nitinkuppelur@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9124e064d27a52c7a6e4bdc890cf0d63f079e85 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:38:04 2014 +0530 staging: rtl8188eu: Remove HalPhyRf_8188e.c Move functions from HalPhyRf_8188e.c to phy.c . Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 053ab2a18f36ce5dff64e1ed5834d7eaf51c8c0f Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:38:03 2014 +0530 staging: rtl8188eu: Remove HalPhyRf_8188e.h Move macros and function declarations from HalPhyRf_8188e.h to phy.h . Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9275ec238114afad994d57accb2b6dbd80fcd71a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:38:02 2014 +0530 staging: rtl8188eu: HalPhyRf_8188e.h :Remove unused function declaration Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbf346b76f051aa355d98e789570f97fe8c6613d Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:38:01 2014 +0530 staging: rtl8188eu: HalPhyRf_8188e.c: Remove unused functions Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0cf81f67c0b3d2f88ef33bf525da57809b7a7e72 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:38:00 2014 +0530 staging: rtl8188eu: Rework function PHY_LCCalibrate_8188E() Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ffb650322698c38378b559d7b4711bf2951756f Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:59 2014 +0530 staging: rtl8188eu: Rework function PHY_LCCalibrate_8188E() Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9c00d71c1d600a7c31d91264b63f44d189ea556 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:58 2014 +0530 staging: rtl8188eu: Rework function phy_LCCalibrate_8188E() Rename CamelCase local variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce7c49e7251a6af42c19dfca9761f90d9461ce94 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:57 2014 +0530 staging: rtl8188eu: Rework function phy_IQCalibrate_8188E() Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c14ad0565a6b6ae805d4f9a6bbbb5d0385f8cc9f Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:56 2014 +0530 staging: rtl8188eu: Rework function phy_SimularityCompare_8188E() Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00c185e76db802a5bbf77c1d50d513a025538c97 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:55 2014 +0530 staging: rtl8188eu: Rework function _PHY_PIModeSwitch() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3dec6aa2a17a2f47b155e331a153d6d69e7e2929 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:54 2014 +0530 staging: rtl8188eu: Rework function _PHY_PathAStandBy() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86e9e28889be27a358ebaa7f54a705cbc6009fc3 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:53 2014 +0530 staging: rtl8188eu: Rework function _PHY_MACSettingCalibration() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ef1a32dfc931753891b3941b002013b12d2f88b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:52 2014 +0530 staging: rtl8188eu: Rework function _PHY_PathADDAOn() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33ce0980079db2c09a0d6855a184708605e5499a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:51 2014 +0530 staging: rtl8188eu: Rework function _PHY_ReloadMACRegisters() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d99b8b3e8695c08990ecf5364277ba897d4c767 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:50 2014 +0530 staging: rtl8188eu: Rework function reload_adda_reg() Rename CamelCase local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccfd0b39e48b345c6c46f6663989a9bb9f955153 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:49 2014 +0530 staging: rtl8188eu: Rework function _PHY_SaveMACRegisters() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98c04a2dd3f34698b3cb3807dd3e81d813571f4e Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:48 2014 +0530 staging: rtl8188eu: Rework function _PHY_SaveADDARegisters() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2a2994b5f73b3bd2dd33343df8cb0f8ec8a6990 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:47 2014 +0530 staging: rtl8188eu: Rework function pathb_fill_iqk() Rename CamelCase local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 198cd2d35fa170d9e98f872d04ebb6b8798d4d0d Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:46 2014 +0530 staging: rtl8188eu: Rework function patha_fill_iqk() Rename CamelCase local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43a3876c99253f4ed388dca84ae6514a2295852a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:45 2014 +0530 staging: rtl8188eu: Rework function phy_PathB_IQK_8188E() Rename CamelCase function name and local variables. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14ee976b9606b52242bf5e2d73a9b610032e6e2a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:44 2014 +0530 staging: rtl8188eu: Rework function phy_PathA_IQK_8188E() Rename CamelCase function name and local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fdd0c324826381213c2b334e8d4ccfad314d66b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:43 2014 +0530 staging: rtl8188eu: Rework function phy_PathA_RxIQK() Rename CamelCase function name and variables. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05103ff0b9c246d437a966e2412822e34873d3c5 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:42 2014 +0530 staging: rtl8188eu: Rework odm_TXPowerTrackingCallback_ThermalMeter_8188E() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f335a61c7f8b41d74cbb0697820f9c89ce82058b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:41 2014 +0530 staging: rtl8188eu: Rename function odm_TxPwrTrackSetPwr88E() Rename CamelCase function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4de93b1ab73bf0b68ecd258573e34adcf989dfd1 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:40 2014 +0530 staging: rtl8188eu: Rework function ODM_TxPwrTrackAdjust88E() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a97c49af79fa9d2acbf81f791c063b12a44670f3 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:39 2014 +0530 staging: rtl8188eu: Rename function ODM_GetRightChnlPlaceforIQK() Rename CamelCase function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc5bcbbdbf29914e1ab679548c7da68ea46829cf Author: Ilja Sidoroff <ilja.sidoroff@xxxxxx> Date: Mon Sep 8 17:37:53 2014 +0300 Staging: wlan-ng: Remove redundant break/goto statements in hfa384x_usb.c This patch removes redundant goto or break statements in hfa384x_usb.c as found by checkpatch.pl Signed-off-by: Ilja Sidoroff <ilja.sidoroff@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 676d22047902753cc199be9f1242b18db7e7b134 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Sun Sep 7 16:12:30 2014 +0200 rtl8192u: remove typedef remove a typedef that is not even really used. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c56051c0a5f65459eca011e4a95ecc6a004d5083 Author: SeeChen Ng <seechen81@xxxxxxxxx> Date: Sun Sep 7 20:19:25 2014 +0800 staging: netlogic: fix checkpatch.pl "LINE_SPACING" issuses Follow the checkpatch.pl "LINE_SPACING" indication: 1. Insert a blank line after function declaration. 2. Remove multiple blank lines. Signed-off-by: SeeChen Ng <seechen81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e6646d50a429eb5804c30ff323ae545b0fcef12 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sat Sep 6 19:42:03 2014 -0500 drivers: staging: rtl8723au: Fix '"(foo*)" should be "(foo *)"' errors Fix checkpatch.pl '"(foo*)" should be "(foo *)"' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1f870c68ae4076716a5a75a2509f2216112c563 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sat Sep 6 18:40:29 2014 -0500 drivers: staging: rtl8821ae: Fix '"(foo*)" should be "(foo *)"' errors Fix checkpatch.pl '"(foo*)" should be "(foo *)"' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01b1ccd3a5dc20599019d12a673a587a5afda114 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Sat Sep 6 01:59:37 2014 -0700 staging: bcm: sort.c: fix coding style Fix checkpatch.pl "Alignment should match open parenthesis". Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Reviewed-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 163090a24cecb67966350b448a1c9f9106c7a872 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Sep 4 23:08:37 2014 +0100 staging: vt6656: remove rate_control_algorithm pid rate control algorithm pid was removed from wireless tree The device defaults to algorithm 'minstrel_ht' There has been no problems using this algorithm. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c72f65cccab03dc9524a3d7fa385f31d5b6ae377 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Sep 4 23:08:36 2014 +0100 staging: vt6655: device_free_info() warn: variable dereferenced before check pDevice is never NULL when this function is called remove the check. This fixes smatch warning drivers/staging/vt6655/device_main.c:1023 device_free_info() warn: variable dereferenced before check 'pDevice' (see line 1021) Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: kbuild@xxxxxx Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06a3fab941da48d04fb9c00a5422a6e9740578e8 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Sep 5 13:28:01 2014 +0200 staging: gs_fpgaboot: remove checks for CONFIG_B4860G100 There are two checks for CONFIG_B4860G100 in this driver. But there's no Kconfig symbol B4860G100. These checks will always evaluate to false. Remove them and the code they hide. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e676e0661d23cd9439f6627ff9718e44556020fc Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Sep 4 16:01:04 2014 -0500 drivers: staging: rtl8821ae: Fix "space required before that '*'" errors Fix checkpatch.pl "space required before that '*'" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99dc94f3224855808ff22e36b82a3bdd4b16242e Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Sep 4 15:49:30 2014 -0500 drivers: staging: rtl8723au: Fix "space required before that '*'" errors Fix checkpatch.pl "space required before that '*'" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41389e29e70d0e6529af60a4d135f67c226c028e Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Sep 4 15:37:41 2014 -0500 drivers: staging: rtl8192u: Fix "space required before that '*'" errors Fix checkpatch.pl "space required before that '*'" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a519946162b4bff7e452b80eee03f7e974886825 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Fri Sep 5 12:53:06 2014 +0300 staging: xillybus: Removed unnecessary cast Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64fa2b1bf4b623408f44925c45d82bb70229420e Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:57 2014 +0300 staging: xillybus: Blank lines add/remove * Blank lines between a function call and its return status check were removed. * Double blank lines were removed. * Blank lines were added and removed as to silence checkpatch.pl --strict Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91a2dea8f263357c8cdb772d9d1187c18c52f459 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:56 2014 +0300 staging: xillybus: Fix indentations Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79ae92c436f216112a543ab4e62e8b512c9526e5 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:55 2014 +0300 staging: xillybus: Trivial coding style fixes Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3274f20df58f58bab86a6b28c90676f75feb525 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:54 2014 +0300 staging: xillybus: Reorganize line breaks for clarity Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21c3184c5e88ab0d1cdfed69dde877a30fb19a89 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:52 2014 +0300 staging: xillybus: Fix comments Trivial comments removed, and one comment clarified Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c14cc622da94b9e0c9ddeea1bd51e7ff9b02cc04 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:51 2014 +0300 staging: xillybus: Added curly brackets as required Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1af1ea6b2caeefa9e99e5d8d9c94f34571a168d7 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:50 2014 +0300 staging: xillybus: Clarified the stop condition for a loop Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae870e5d04f4ebc6c27e76652dccb6bacc6e1e8e Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:49 2014 +0300 staging: xillybus: Use the return value of wait_event_interruptible Rather than checking the wait condition, the return value of wait_event_interruptible() and wait_event_interruptible_timeout() is used. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40931bbbfe7361d873b235e0667481c47796890a Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:48 2014 +0300 staging: xillybus: Fixes related to "rc" variable "rc" is often used to hold the return value of a function call. This patch removes unnecessary assignments to this variable, and makes a few related execution flow improvements. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06bda66b010324604883be715a9f46e857fa5346 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:47 2014 +0300 staging: xillybus: EAGAIN status handling improvement The -EAGAIN status is passed through an "rc" variable instead of a less common flow. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b09fc96476d7171fdffd5f5cd53da10685fc8e1 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:46 2014 +0300 staging: xillybus: Improved goto flow for error handling Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ac77ec61f943952019543c37848c0c9a97add15 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:45 2014 +0300 staging: xillybus: Improved error handling xilly_scan_idt() now returns an error status code, rather than being a void function and hint the status through an entry in a data structure. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31ca128d555d35e8bc53e6a3afce09f4c72b372b Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:44 2014 +0300 staging: xillybus: Removed unnecessary error message Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2531f6ccd01c584cc0b06baf854982d89c4f760f Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:43 2014 +0300 staging: xillybus: Removed unnecessary warning message Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a983dd5d9b0e28fd2c5f667633f6a55ab93f290b Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:42 2014 +0300 staging: xillybus: Non-interruptible mutex_lock() on release method Responding to an interrupt while handling the "release" method can't end well anyhow. In practical cases, this can force the user to wait up to one second while flushing remaining data is attempted (a timeout on the flush mechanism limits the time for flushing). Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cbc747946d9c4c0c018744fccfba952b7f8bcf0 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:41 2014 +0300 staging: xillybus: Use SEEK_* predefined constants Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5899005f94b66a1ec3f06d299bb2625098cc9720 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:40 2014 +0300 staging: xillybus: Use devm_kcalloc() for arrays Replace devm_kzalloc where it applies. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 649a7d15d3ec3bc5327b8910946e2119e92425e8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:51 2014 -0700 staging: comedi: adl_pci9118: move analog input (*insn_read) function For aesthetics, move the analog input (*insn_read) function so it is not located in the middle of the async command support functions. Also, rename it for consistency. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ed1bd5aa53de9995e40a22ab1bc3ba8850e0dcd Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:50 2014 -0700 staging: comedi: adl_pci9118: tidy up some wordy comments Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91ed3f750e10b785878a962637b7c360e61070df Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:49 2014 -0700 staging: comedi: adl_pci9118: no need to reset ai FIFO after (*insn_read) The analog input FIFO is reset at the start of every (*insn_read) and (*do_cmd) operation. It's also reset for the analog input (*cancel). There's no reason to reset the FIFO if an (*insn_read) times out or after all the samples have been acquired. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 959068c35447a5eb24d3ab3494e270a3bf6753e9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:48 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_amcc_setup_dma() Introduce a helper function to program the AMCC master write address and transfer count registers to setup a DMA transaction. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97d09d462aecd4e6c9b127a6fbe605c72b5dbeb6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:47 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_amcc_dma_ena() Introduce a helper function to program the AMCC master control/status register to enable/disable dma. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 312eaf0bfec60c840825312deccd6ffcc124b9d0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:46 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_amcc_int_ena() Introduce a helper function to program the AMCC interrupt control/ status register to enable/disable interrupts. Fix the analog input (*cancel). The analog input async command support is the only interrupt generator. The (*cancel) should always disable interrupts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26ec77653975adca0600e1ed865d95e5e442d7ef Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:45 2014 -0700 staging: comedi: adl_pci9118: rename 'IntControlReg' Rename this CamelCase member of the private data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 559cc1ee79b1926891ce8ffb0b13acf8c6780857 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:44 2014 -0700 staging: comedi: adl_pci9118: rename 'AdControlReg' Rename this CamelCase member of the private data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bdee661653cebd4f4f3fd0ea836c9ea91a383e9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:43 2014 -0700 staging: comedi: adl_pci9118: rename 'AdFunctionReg' Rename this CamelCase member of the private data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26318c1c167517a83f3561767738d08e98757630 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:42 2014 -0700 staging: comedi: adl_pci9118: fix ai range/aref programming Currently the analog input range and aref are set in setup_channel_list(). This works for the (*insn_read) but the (*do_cmd) has a problem. In (*do_cmd) the ai control register is reset to 0 before the function works out the bits needed to control the acquisition. This happens after the setup_channel_list() call so the range is reset to bipolar and the aref to single-ended. Introduce a helper function, pci9118_ai_set_range_aref(), to handle the programming of the range and aref bits. This function first clears the cached value of the ai control register in the private data then sets the appropriate bits. The (*insn_read) and (*do_cmd) can then set the other bits needed to control the acquisition. Then setup_channel_list() just needs to program the chanlist scan data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdbeaed3f869d474774edc72a8f1ba6e091e2d82 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:41 2014 -0700 staging: comedi: adl_pci9118: ai (*insn_read) does not use interrupts The analog input (*insn_read) in this driver is done as a software-triggered, polled operation. The PCI9118_AI_CTRL_INT bit in the control register, which is actually set in setup_channel_list(), should not be set. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5358e8996f76ba5f44992226f7eb15d502c663fa Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:40 2014 -0700 staging: comedi: adl_pci9118: cleanup and simplify pci9118_reset() Change the return type to void, this function always succeeds and the callers never check the return value. According to the The User Manual for the PCI-9118, the hardware does not require any particular "reset" in order to function. Simplify the reset so it justs gets the board info a known state with interrupts disabled. There is no reason to initialize the private data members in this function. They all default to '0' due to the kzalloc() of the private data and the subdevice operations all initialize them as needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cb3fc0a0292a720a87651337497af39f77ac64a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:39 2014 -0700 staging: comedi: adl_pci9118: move analog output (*insn_write) function For aesthetics, move the analog output (*insn_write) function so it is not located in the middle of the analog input functions. Also, rename it for consistency. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 458a76f4eeb3cb042878001d36ad796d411e7d80 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:38 2014 -0700 staging: comedi: adl_pci9118: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. The board is "reset" prior to the subdevice init. Part of this reset sets all the analog output channels to 0V. Move the initialization of the 'readback' values after the 'readback' member has been allocated. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f300fab2fcc281ef5b975ba0af9abd4a88af8599 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:37 2014 -0700 staging: comedi: adl_pci9118: move digitial input (*insn_bits) function For aesthetics, move the digital inputs (*insn_bits) function so it is not located in the middle of the analog input functions. Also, rename it for consistency. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 304e2be17e9f1675516e90a7e38cc40769567d4b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:36 2014 -0700 staging: comedi: adl_pci9118: don't reset digital outputs Currently this driver resets the digital output channels to a low state when the driver is attached and detached. Since the digital output state can be read, initialize the subdevice state when the driver is attached and don't reset them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8df6166b4da383fa9712b3a3883c64c4e4b24501 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:35 2014 -0700 staging: comedi: adl_pci9118: move digitial output (*insn_bits) function For aesthetics, move the digital outputs (*insn_bits) function so it is not located in the middle of the analog input functions. Also, rename it for consistency. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00bd059fee89b26d7c4b064abff716174aaacae0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:27 2014 -0700 staging: comedi: adl_pci9118: tidy up the interrupt control/status bit defines Rename the CamelCase defines used for the interrupt control/status register bits and convert them to bit shifts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74ba15ede74b78e8721d3d8750f5158aa31cfa87 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:26 2014 -0700 staging: comedi: adl_pci9118: tidy up the interrupt control/status register The register at offset 0x38 is the "interrupt control" register when written and the "interrupt status" register when read. Both registers use the same bit defines. For aesthetics, use a common define for this register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 582e59c042641b4b68a26fa8a5da8467b099c3ac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:25 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_ai_reset_fifo() Introduce a helper function to reset the analog input FIFO. For aesthetics, rename the register used to reset the FIFO. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ade7e01362848f864ca1e9632cb88a522f32657f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:24 2014 -0700 staging: comedi: adl_pci9118: tidy up the ai config register bit defines Rename the CamelCase defines used for the analog input config register bits and convert them to bit shifts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b460e9e2466b3baa10b6a669558528a1832e16b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:23 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_ADFUNC define For aesthetics, rename this define used for the analog input function config register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89a7dc157359cc39760551c95a51cb405834a968 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:22 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_SCANMOD define For aesthetics, rename this define used for the analog input auto scan mode register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16d44e86d59db2d5706479184479426a467c9cc6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:21 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_BURST define For aesthetics, rename this define used for the analog input burst number register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e38f36b3bf064b2c85cec670d8822d570d1593c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:20 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_GAIN define For aesthetics, rename this define used for the analog input chanlist programming register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1750bed3f795ad33d9b37c3669f97fe036fa7570 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:19 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_ai_start_conv() Writing any value to the "software trigger" register generates a trigger pulse to start an A/D conversion. Introduce a helper function to clarify this. For aesthetics, rename the define used for the register. According to the datasheet the extra delay is not needed after starting the conversion. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7f499bd03aa735d652e086762e48117d2b197b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:18 2014 -0700 staging: comedi: adl_pci9118: clarify the digital I/O register The same register is used for both the digital inputs and outputs. Reading the register returns the state of the 4 digtial input channels and the 4 digital output channels. Writing to the register updates the digital outputs. Add some comments to clarify this and use a single define for the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 862be05ecf79157a3f9ae09a98b97e2066d2cc90 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:17 2014 -0700 staging: comedi: adl_pci9118: tidy up the ai control register bit defines Rename the CamelCase defines used for the analog input control register bits and convert them to bit shifts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2a1fc7a4f5a0f6d99c6eb72858c715a13f40729 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:16 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_ADCNTRL define For aesthetics, rename this define used for the analog input control register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa2f430caacc2711032aa051a996735b21a0c0bf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:15 2014 -0700 staging: comedi: adl_pci9118: tidy up the ai status register bit defines Rename the CamelCase defines used for the analog input status register bits and convert them to bit shifts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 602c1729caed253b50058df3851f86f645a0d2e0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:14 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_ADSTAT define For aesthetics, rename this define used for the analog input status register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6908517f23baedaca31dbe738230bda9ffa377a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:13 2014 -0700 staging: comedi: adl_pci9118: tidy up analog output register defines Replace the current defines with a macro that calculates the correct register offset based on the channel. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cc1110ddaaafe18506fd002632557f0e155a012 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:12 2014 -0700 staging: comedi: adl_pci9118: tidy up analog input fifo register define For aesthetics, rename the define used for the analog input fifo register and tidy up its use in the driver. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8dbcc2d027d959300b172bf11764af92f9a8dcf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:11 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_timer_set_mode() This driver uses 32-bit instructions to write the 8254 timers so we can't use the helper functions provided by 8253.h. To clarify the code introduce a helper function to set the timer mode. Remove the unnecessary commented out timer mode programming. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6dc359535c3dfc5289bf321e5a1e192733810311 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:10 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_timer_write() This driver uses 32-bit instructions to write the 8254 timers so we can't use the helper functions provided by 8253.h. To clarify the code introduce a helper function to write to the timers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7362afc32b7d7b4279a1cd12572dcff500ec132a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:09 2014 -0700 staging: comedi: adl_pci9118: all registers are 32-bit According to the PCI-9118 User's Manual, all registers are 32-bit. Fix a couple of read/write operations that use 16-bit access. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76c1b7bc45136d509c6fd3c0ff45b6e291421780 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:42 2014 -0700 staging: comedi: adl_pci9118: tidy up analog input subdevice init For aesthetics, add some whitespace to the analog input subdevice init. Tidy up the subdevice n_chan initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 949dcfce4f5412fb3cd677a7e3820da5b750c1f5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:41 2014 -0700 staging: comedi: adl_pci9118: tidy up analog output subdevice init For aesthetics, add some whitespace to the analog output subdevice init. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32034aaf03ecc5ed0e895505306e4a0a8b433811 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:40 2014 -0700 staging: comedi: adl_pci9118: tidy up digital input subdevice init For aesthetics, add some whitespace to the digital input subdevice init. Remove the SDF_GROUND and SDF_COMMON subdev_flags. These flags only apply to analog subdevices. Remove the 'len_chanlist' init, this subdevice member is only used with subdevices that support async commands. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e9879f7a443d9bd06dd40544c1b91766008b880 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:39 2014 -0700 staging: comedi: adl_pci9118: tidy up digital output subdevice init For aesthetics, add some whitespace to the digital output subdevice init. Remove the SDF_GROUND and SDF_COMMON subdev_flags. These flags only apply to analog subdevices. Remove the 'len_chanlist' init, this subdevice member is only used with subdevices that support async commands. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6009ae536ec642e451d29327bf04532c4c7e0aa Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:38 2014 -0700 staging: comedi: adl_pci9118: allocate private data in pci9118_common_attach() The (*auto_attach) and legacy (*attach) both allocate the private data but don't use it. For aesthetics, move the allocation into the common attach code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25a8aaf03e1701c1821f3087f0f12a7da6aa17ed Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:37 2014 -0700 staging: comedi: adl_pci9118: rename boardinfo struct For aesthetics, rename the struct used for the boardinfo so it has namespace associated with the driver. Also, rename the local variable used for the boardinfo pointer to simply 'board'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f34afce444ca2e3a65264126bec2982358a25a1f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:36 2014 -0700 staging: comedi: adl_pci9118: remove unnecessary dev->board_name initialization The (*auto_attach) in this driver will set the dev->board_name and the comedi core will set it when using the legacy (*attach). Remove the unnecessary initialization in pci9118_common_attach(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8bd1e1dfcacd184abdf60dccc4c62ee02aeafc9b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:35 2014 -0700 staging: comedi: adl_pci9118: remove 'device_id' from boardinfo This member of the boardinfo is the same for all entries. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83defe83332e68f7e477370439d6da6826b715ad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:34 2014 -0700 staging: comedi: adl_pci9118: use 'context' in (*auto_attach) The pci_device_id 'driver_data' is passed as the 'context' when the (*auto_attach) mechanism is used to attach this driver. Add a boardid enum and index the boardinfo so that the "pci9118dg" boardinfo is automatically selected. This allow removing the pci9118_find_boardinfo() helper. Unfortunately all the boards supported by this driver have the same device id. Add commented out entries in the device table for them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0972008b2dfa2161ff1223214f5aae574bfe803 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:33 2014 -0700 staging: comedi: adl_pci9118: refactor 'ai_maxdata' in boardinfo The boards supported by this driver either have 12-bit or 16-bit analog inputs. For aesthetics, replace the 'ai_maxdata' member in the boardinfo with a bit-field flag, 'ai_is_16bit', and refactor the subdevice init to use the new member. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 344a15c14162d9976bfdf2a6145eab7989c513d4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:32 2014 -0700 staging: comedi: adl_pci9118: refactor 'rangelist_ai' in boardinfo The boards supported by this driver either have "normal" or "high gain" analog input ranges. For aesthetics, replace the 'rangelist_ai' member in the boardinfo with a bit-field flag 'is_hg' to indicate the "high gain" range is used. Refactor the subdevice init to use the flag to set the correct range_table. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84f3e3a8adad518b449807b4a9e74a0d6a5be0fb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:31 2014 -0700 staging: comedi: adl_pci9118: remove 'ai_pacer_min' from boardinfo This value can easily be calculated based on the minimum sampling rate, 'ai_ns_min', and the base clock speed of the timers. Do that instead and remove the boardinfo. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34607db8ad9d381bee30389731e42f66ff5a2c03 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:30 2014 -0700 staging: comedi: adl_pci9118: remove 'ai_ns_min' from boardinfo The minimum convert time 'ai_ns_min' is based on the sampling rate of the A/D converter. This driver supports boards that use different ADC chips for 16-bit and 12-bit analog inputs. These chips have different sampling rates. For aesthetics, move the 'ai_ns_min' member from the boardinfo to the private data. Initialize the member during the attach based on the 'maxdata' of the analog inputs. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df925ca27c10f27c06173e7227c9efacce599789 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:29 2014 -0700 staging: comedi: adl_pci9118: remove 'n_aichan' boardinfo This member of the boardinfo is the same for all entries. Remove it. Also, remove the initialization of the subdevice 'len_chanlist'. This member is only used if the subdevice supports async commands. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12fa2fe1ac6f3b2d51f8a06331a1f1a0e86863fc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:28 2014 -0700 staging: comedi: adl_pci9118: remove 'n_aichand' boardinfo This member of the boardinfo is the same for all entries. It's also half the subdevice 'n_chan'. Use that instead and remove the boardinfo. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7e1f441607f07e6e8bf3762f109b81aa87d8513 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:27 2014 -0700 staging: comedi: adl_pci9118: remove 'n_aichanlist' boardinfo This member of the boardinfo is the same for all entries. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea2d3993ce7edaf67d53ce9340ab6c984dfd08af Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:26 2014 -0700 staging: comedi: adl_pci9118: remove 'half_fifo_size' boardinfo This member of the boardinfo is the same for all entries. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44aa94e8cc406d70263495e34475e7e842952289 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:25 2014 -0700 staging: comedi: adl_pci9118: remove 'n_aochan' boardinfo This member of the boardinfo is the same for all entries. Remove it. Also, remove the initialization of the subdevice 'len_chanlist'. This member is only used if the subdevice supports async commands. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b22699d6734d66a68816a95f2628b27840da9dad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:24 2014 -0700 staging: comedi: adl_pci9118: remove 'ao_maxdata' boardinfo This member of the boardinfo is the same for all entries. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ac986af0f176c8345b465bc3a5d70ebdc0cecaf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:23 2014 -0700 staging: comedi: adl_pci9118: remove 'rangelist_ao' boardinfo This member of the boardinfo is the same for all entries. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06db74b4de6eba986c0be736fa1919d5a27c47d5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:22 2014 -0700 staging: comedi: adl_pci9118: remove unused boardinfo Remove all the boardinfo members that are not used by the driver. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 948ffcfd74ef8dece6621200c6862a781e77753e Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Wed Sep 3 18:58:49 2014 -0500 staging: comedi: hwdrv_apci1500: use dev->class_dev in calls to dev_warn() git-grep reveals that hwdrv_apci1500.c is the only file in comedi that uses dev->hw_dev in calls to dev_{err,warn}(). The rest of the drivers pass dev->class_dev to these macros instead. Switch the dev_warn() calls in this driver to use dev->class_dev as well, for consistency. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 889277b93b3d94e8166554eb06c6ae0543a3a3ef Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:46:00 2014 +0100 staging: comedi: s626: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ed2182efc3fc9351a35f7887c87263d1a91aedd Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:59 2014 +0100 staging: comedi: rtd520: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b302b8be957f73a9a59b46bf3982c70bbd737c6c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:58 2014 +0100 staging: comedi: ni_pcidio: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3280c2d2a6a345848384b9de0c8ed76db6ad0c79 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:57 2014 +0100 staging: comedi: ni_mio_common: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d9773b68a216c4db58d021c4b08208daeddc5f3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:56 2014 +0100 staging: comedi: ni_labpc_common: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b544bd69cb8141ce2bb3ccbfb4f88afa2d7cc07e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:55 2014 +0100 staging: comedi: ni_at_a2150: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e00dedc5e1ee79e929891da386900e346a7519e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:54 2014 +0100 staging: comedi: me4000: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8be3333e785a0139270a272c39caf4dc68256c5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:53 2014 +0100 staging: comedi: dt3000: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba81e62d9934d072a77c01cd7715eed0816b5c53 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:52 2014 +0100 staging: comedi: dt282x: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07600725059e1a1f6d27b1a310dfc73244f4afb3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:51 2014 +0100 staging: comedi: das1800: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f772bd57e6472cf9b2588c7f595669832e83f0d6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:50 2014 +0100 staging: comedi: cb_pcidas64: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8096616042aa52acde60b5aa610de112a93ad09 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:49 2014 +0100 staging: comedi: amplc_pci230: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed23e413bd2614f3fc767e1cd1250ff3a677f857 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:48 2014 +0100 staging: comedi: adl_pci9118: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74eede61acaa6881b9d9a733d904a314768f3eb7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:47 2014 +0100 staging: comedi: addi_apci_3xxx: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a512e418e5921b25e88acd07f41d0a04ff7fc74 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:46 2014 +0100 staging: comedi: 8253.h: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ab4ca10d298bfd425afbd8487538fafa9b77a13 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:45 2014 +0100 staging: comedi: add CMDF_ROUND_... as synonyms for TRIG_ROUND_... The `TRIG_ROUND_...` macros are some of the values that can be OR-ed into the `flags` member of `struct comedi_cmd`. They may influence the rounding of sample timings during operation of the asynchronous command. The names are a bit of a left-over from earlier times. It would be better to use the names `CMDF_ROUND_...` to match various other command flags. Define `CMDF_ROUND_MASK`, `CMDF_ROUND_NEAREST`, `CMDF_ROUND_DOWN`, `CMDF_ROUND_UP` and `CMDF_ROUND_UP_NEXT` with the same numeric values as `TRIG_ROUND_MASK`, `TRIG_ROUND_NEAREST`, `TRIG_ROUND_DOWN`, `TRIG_ROUND_UP` and `TRIG_ROUND_UP_NEXT`, and redefine the `TRIG_ROUND_...` macros as synonyms of the `CMDF_ROUND_...` macros. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0446a21bd4be9c5f27f15ea03fc0cba7d33acd6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:44 2014 +0100 staging: comedi: use CMDF_BOGUS in do_cmd_ioctl() `TRIG_BOGUS` is now just a synonym for `CMDF_BOGUS`. Change `do_cmd_ioctl()` to use the new name. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd7eb1251d3c99136e60d9d0e325ca40e03f89bc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:43 2014 +0100 staging: comedi: add CMDF_BOGUS as synonym for TRIG_BOGUS `TRIG_BOGUS` is one of the values that can be OR-ed into the `flags` member of `struct comedi_cmd`. It causes the comedi core to go through some of the motions of setting up an asynchronous command without actually setting it up. If all goes well, it causes the command set-up to fail with an `EAGAIN` error. The name `TRIG_BOGUS` is a bit of a left-over from earlier times. A better name would be `CMDF_BOGUS` to match various other command flags. Define `CMDF_BOGUS` with the same numeric value as the old `TRIG_BOGUS` and redefine `TRIG_BOGUS` as a synonym of it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6681d3da3c9e0dba9bfec175523bcfcfdaa3e607 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:42 2014 +0100 staging: comedi: rtd520: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f280e72dc7703dbd3715ba45f54d90c3de5bd7b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:41 2014 +0100 staging: comedi: pcl812: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 656d9b0fe1866397d407fae7f5fff55b54d5b861 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:40 2014 +0100 staging: comedi: ni_tiocmd: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c97140cb0929938a2a527c31d2ee7929d3779ef6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:39 2014 +0100 staging: comedi: ni_mio_common: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is the same. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82d5571b1f11482ee305a5490a185bef38a88631 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:38 2014 +0100 staging: comedi: ni_labpc_common: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is the same. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a28f42f3eb2dc2ab53d240c58503cffc0fd165ad Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:37 2014 +0100 staging: comedi: das1800: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ad08e4b269579c3b0a7f982738945562b48a13e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:36 2014 +0100 staging: comedi: cb_pcidas64: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07b2eb0e844377cf55dbf828ab817160ca6275fc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:35 2014 +0100 staging: comedi: cb_pcidas: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e455494472330e73ffbbf35e6664e4fdc16edc54 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:34 2014 +0100 staging: comedi: amplc_pci230: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e609aff2103e893e9ce8ec74ba18e9fd4c031fc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:33 2014 +0100 staging: comedi: adv_pci1710: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c25dec5773e3e4d66c29d53c96d008ac7ec9cb56 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:32 2014 +0100 staging: comedi: adl_pci9118: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Also change diagnostic messages to use "CMDF_WAKE_EOS" instead of "TRIG_WAKE_EOS" and change the Comedi driver description comment to use "CMDF_WAKE_EOS". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfd0f083b98e38a3f580d1f3928482077dd1ba5a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:31 2014 +0100 staging: comedi: addi_apci_3120: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8bff6e35e87ca5d8cd348d2563b34afb4faf28b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:30 2014 +0100 staging: comedi: use CMDF_WAKE_EOS in do_cmd_ioctl() `TRIG_WAKE_EOS` is now just a synonym for `CMDF_WAKE_EOS`. Change `do_cmd_ioctl()` to use the new name. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e15acd313d208651a1e8a0e9369a41b470b1893 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:29 2014 +0100 staging: comedi: add CMDF_WAKE_EOS as synonym for TRIG_WAKE_EOS `TRIG_WAKE_EOS` is one of the values that can be OR-ed into the `flags` member of `struct comedi_cmd`. It's intended action is tune the asynchronous command to interrupt at the end of every "scan". The name is a bit of a left-over from earlier times. A better name would be `CMDF_WAKE_EOS` to match various other command flags. Define `CMDF_WAKE_EOS` with the same numeric value as the old `TRIG_WAKE_EOS` and redefine `TRIG_WAKE_EOS` as a synonym of it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ae5857aa2888cb5e33b235ef6d94012296700e1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:28 2014 +0100 staging: comedi: ni_labpc_common: use CMDF_PRIORITY Replace use of `TRIG_RT` command flag with the equivalent flag `CMDF_PRIORITY`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34ae4160504a82891208eaf8599ec432f340e169 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:27 2014 +0100 staging: comedi: ni_at_a2150: use CMDF_PRIORITY Replace use of `TRIG_RT` command flag with the equivalent flag `CMDF_PRIORITY`. The numeric value is unchanged. Also replace "TRIG_RT" with "CMDF_PRIORITY" in the kernel messages. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a8df3a9e8179cfcc7bbced9ed89d222e7ac5c82 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:26 2014 +0100 staging: comedi: das1800: use CMDF_PRIORITY Replace use of `TRIG_RT` command flag with the equivalent flag `CMDF_PRIORITY`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0dbcf9c1c85643794ea5ce58378682002069bfe5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:25 2014 +0100 staging: comedi: das16: use CMDF_PRIORITY Replace use of `TRIG_RT` command flag with the equivalent flag `CMDF_PRIORITY`. The numeric value is unchanged. Also replace "TRIG_RT" with "CMDF_PRIORITY" in kernel log messages. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51d66b297c0a2e24ca2427ac929c0ae02169ada6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:24 2014 +0100 staging: comedi: comedi_test: use CMDF_PRIORITY Replace use of `TRIG_RT` command flag with the equivalent flag `CMDF_PRIORITY`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e5d7443646d5189e2b75170ff99455260bbc27b Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Thu Sep 4 12:44:53 2014 +0200 staging: emxx_udc: remove check for CONFIG_MACH_EMGR There's a check for CONFIG_MACH_EMGR. But the Kconfig symbol MACH_EMGR doesn't exist. Remove that check and the single #define it hides. Note that this macro isn't used by this driver anyway. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2052d11cc53a3357e387a0c64c167327f7937429 Author: An Ha <zero579911@xxxxxxxxx> Date: Wed Sep 3 18:33:08 2014 -0400 Staging: rtl8821ae: base: add missing blank line after declaration Add a missing blank line after declaration to fix coding style issue. Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 096e6224386bc81663f72ba2fe51ee74e3337d1a Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 3 22:40:57 2014 +0100 staging: et131x: Fix whitespace - alignment matching open parenthesis Fix occurrences in et131x.c of: CHECK: Alignment should match open parenthesis Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbf45bcfdaa27886dd1109f75ac2a4fa995e7b6d Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 3 22:40:56 2014 +0100 staging: et131x: Add auto-negotiation and 1000BT_Half as supported protocols The driver supports auto-negotiation and 100BaetT_Half but doesn't advertise or list it in it's phydev. Fix that. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b09e8cf369da1282fa55c2e4a36c89d6f5c6208 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 3 22:40:55 2014 +0100 staging: et131x: Remove spinlock fbr_lock The spinlock fbr_lock is only used in a single call sequence staring from et131x_poll. As this call is already locked by napi->poll_lock, we can remove it. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be40a261aa52912b3e708e34383f0f0afb10d212 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 3 22:40:54 2014 +0100 staging: et131x: Remove dead code in isr Dan Carpenter reports: The patch c2ebf58ba089: "staging: et131x: Implement NAPI support" from Aug 21, 2014, leads to the following static checker warning: drivers/staging/et131x/et131x.c:4004 et131x_isr() warn: we tested 'status' before and it was 'true' We don't actually need the dead code, as we're now using NAPI to handle enabling interrupts - but we do need to enable interrupts if NAPI is not scheduled - so enable interrupts if this is the case. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99cbb4de442d4e72e73031c60a2fb7a9a9f986f0 Author: An Ha <zero579911@xxxxxxxxx> Date: Tue Sep 2 21:00:46 2014 -0400 Staging: rtl8821ae: hal_bt_coexist: add a blank newline Fix coding style issue which requires a blank line after declarations. Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8dbab964ff3b89883369a8b176f3e44ad4e34e4 Author: An Ha <zero579911@xxxxxxxxx> Date: Tue Sep 2 21:00:45 2014 -0400 Staging: rtl8821ae: hal_bt_coexist: fix curly brace placement Fix coding style issue where the if statement unnecessarily uses curly braces for one line statements and where the else conditional statement should follow the closing curly brace '}'. Also, the open curly brace '{' should be on the same line as the if statement. Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a49f91576a3d5baf287c1d9d92581a2ab42d8a8 Author: An Ha <zero579911@xxxxxxxxx> Date: Tue Sep 2 21:00:44 2014 -0400 Staging: rtl8821ae: hal_bt_coexist: fix pointer placement coding style issue Fix pointer placement coding style issue, where using "foo *" is preferable over "foo*". Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77360f030d8bf74df7d4067ca2748b0dbec70c75 Author: An Ha <zero579911@xxxxxxxxx> Date: Tue Sep 2 21:00:43 2014 -0400 Staging: rtl8821ae: hal_bt_coexist: add/remove spaces Fix coding style issue which requires a space before the open curly brace '{', after the open parenthesis '(', after a comma, and after the equal sign '=' in an assignment. Also, remove unnecessary whitespace after open parenthesis '(' and before a quoted newline. Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7b8e19359f96288c3ec5d205c67a33a78f24b47 Author: An Ha <zero579911@xxxxxxxxx> Date: Tue Sep 2 21:00:42 2014 -0400 Staging: rtl8821ae: hal_bt_coexist: fix commenting style Fix commenting style from C99 comments to C89 comments Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73cfb7b028e045f7fc9d3ad695b7bdc55c6e56bb Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Wed Sep 3 14:15:16 2014 +0200 staging: rtl8723au: Remove write-only variables hal_data_8723a.EEPROM[VP]ID Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8048ed5b60700ca20b723ce9b1d6549410f920cb Author: Greg Donald <gdonald@xxxxxxxxx> Date: Tue Sep 2 18:30:30 2014 -0500 drivers: staging: rtl8192u: Fix "space prohibited after that open parenthesis '('" errors Fix checkpatch.pl "space prohibited after that open parenthesis '('" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4258d61c14a5afba7d2c5bd534ab82eaf2b7d183 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:01:50 2014 -0700 staging: comedi: skel: remove driver The comedi skeleton driver is one of the few "hybrid" drivers with both legacy and PCI attach mechanisms. Instead of splitting this driver, just remove it. There are many other comedi drivers that provide better examples. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e988e1f3f975a9d6013c6356c5b9369540c091f9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 14:13:30 2014 +0100 staging: comedi: ni_at_a2150: range check board index The "ni_at_a2150" driver determines the board type by calling `a2150_probe()`. This reads a register and converts it to a board index in the range 0 to 3. However, the board table array it indexes into (`a2150_boards[]`) only has 2 entries. Return an error from the Comedi driver "attach" handler `a2150_attach()` if the probed board index is beyond the end of the array. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 395262a9e69042b82293f8b6bcd7a48b2fd215de Author: Dmitry Voytik <voytikd@xxxxxxxxx> Date: Mon Sep 8 18:16:34 2014 +0400 staging: binder: fix coding style issues Fix coding style issues: * put braces in all if-else branches; * limit the length of changed lines to 80 columns. checkpatch.pl warning count reduces by 3. Signed-off-by: Dmitry Voytik <voytikd@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0232a42cbe3fe18c2dda833cb8e97253240a9479 Author: William Panlener <wpanlener@xxxxxxxxx> Date: Wed Sep 3 22:44:03 2014 -0500 staging: android: Break up a long line in binder_send_failed_reply Kernel coding style. Breaking long lines and strings. Signed-off-by: William Panlener <wpanlener@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0301d0d28a2e55da5b68338d6b9f933620da63b Author: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Date: Mon Sep 8 15:02:49 2014 -0400 staging: ozwpan: use kmalloc_array over kmalloc with multiply Cleanup checkpatch.pl warnings. Signed-off-by: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bb3f83d47a60109d8bc9d47e547392d9b6c390c Author: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Date: Mon Sep 8 14:43:44 2014 -0400 staging: ozwpan: fix redundant return in void function Cleanup checkpatch.pl warnings. Signed-off-by: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d75b6c6154267618363f0126bd50c73f8d448a24 Author: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Date: Mon Sep 8 14:41:48 2014 -0400 staging: ozwpan: fix redundant else after break or return Cleanup checkpatch.pl warnings. Signed-off-by: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce6880e17508b31e04628a71d4691ef4a00a8b3f Author: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Date: Mon Sep 8 14:39:58 2014 -0400 staging: ozwpan: fix missing blank line after declaration Cleanup checkpatch.pl warnings. Signed-off-by: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b51144323281d23aac51ac38c0748e12f0c1e72c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 5 14:52:46 2014 +0530 staging: unisys: uislib: uislib.c: sparse warning of context imbalance fixed sparse warning : context imbalance in 'pause_device' unexpected unlock this patch will generate warning from checkpatch for lines over 80 character , but since those are user-visible strings so it was not modified. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Tested-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b440ddd531490361d7b508bcfddd67f525c7c250 Author: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Date: Wed Sep 3 14:59:21 2014 +0530 staging: unisys: uislib: uisqueue.c: rewrite of do_locked_client_insert 1) removed unused variables 2) fixed sparse warning of context imbalance in 'do_locked_client_insert' different lock contexts for basic block 3) removed the call to visor_signalqueue_empty() , this function is checking whether a signal queue is empty, but the return value of the function is not beeing used, so it is safe to remove. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27d5775e75ec70c104479bd7fcdceb0d6e0203a8 Author: Bill Pemberton <wfp5p@xxxxxxxxxxxxxxx> Date: Sat Aug 30 16:35:58 2014 -0400 staging: dgnc: remove Neo card ids from device table The Digi Neo cards are supported by the jsm driver. Remove support for these cards from dgnc. Signed-off-by: Bill Pemberton <wfp5p@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 293b22650f405cb08d72470b42254047138c9a55 Author: Bill Pemberton <wfp5p@xxxxxxxxxxxxxxx> Date: Sat Aug 30 16:35:57 2014 -0400 jsm: add support for additional Neo cards Add device ids for additional Neo cards. The ids come from the dgnc driver. Signed-off-by: Bill Pemberton <wfp5p@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9b3e8f30e33d3542b00edcf0641d031b80967cb Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:29 2014 +0200 staging: lustre: ptlrpc: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d212afd9458a04f6c16f3d5d701593b915d526b0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:35 2014 +0200 staging: lustre: obdclass: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55df5fad56cdb87f221975d5a0d09137bf53c687 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:34 2014 +0200 staging: lustre: obdclass: expand the GOTO macro + break The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl,rc,f; constant c; @@ - GOTO(lbl,\(rc\|rc->f\|c\)); - break; + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); - break; + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09c8a87ce62e858a048ca958faffc16acacfbc4e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:33 2014 +0200 staging: lustre: obdclass: expand double GOTO macros The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; @@ if (...) GOTO(lbl,...); +else GOTO(lbl,...); @@ identifier lbl; expression e,e1,e2; @@ if (e) - GOTO(lbl,e1); -else GOTO(lbl,e2); + e1; +else e2; +goto lbl; @@ identifier lbl1,lbl2; expression e,e1,e2; @@ + e1=e2; if (e) - GOTO(lbl1,e1=e2); -GOTO(lbl2,e1=e2); + goto lbl1; +goto lbl2; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8e147da484b996e3d649059607c6707a612aad6 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:32 2014 +0200 staging: lustre: lvfs: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc5c7f3dd68b4ce1d7bfac82b30c7d7a13e609b1 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:30 2014 +0200 staging: lustre: libcfs: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91f96e8b7255537da3a58805cf465003521d7c5f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Sep 4 13:26:53 2014 -0300 [media] tw68: drop bogus cpu_to_le32() call tw_writel maps to writel which maps to __raw_writel(__cpu_to_le32(b),addr). So tw_writel already calls cpu_to_le32 and it shouldn't be called again in the code. Reported-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 82604f8c97730e2962ab4cc4704fdbe105cfb6df Author: Mostyn Bramley-Moore <mbmcode@xxxxxxxxx> Date: Sun Sep 7 11:46:40 2014 +0200 staging/lustre: annotate lock/unlock in lov_stripe_lock / lov_stripe_unlock Annotate the lock/unlock pair in lov_stripe_lock/lov_stripe_unlock to avoid sparse warning about a context imbalance. Part of the eudyptula challenge: http://eudyptula-challenge.org/ Signed-off-by: Mostyn Bramley-Moore <mbmcode@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 947b38bb110c90e0bc93e7afe9ab6f007b6799a7 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Sep 4 13:26:52 2014 -0300 [media] tw68: simplify tw68_buffer_count The code to calculate the maximum number of buffers allowed in 4 MB is 1) wrong if PAGE_SIZE != 4096 and 2) unnecessarily complex. Fix and simplify the code. Reported-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f7cc38b16e2741186253be3dff61a9d124112126 Merge: efb540c 2ce7598 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 14:39:01 2014 -0500 Merge tag 'v3.17-rc4' into next Merge Linux 3.17-rc4 here so we have all the latest fixes on next too. This also cleans up a few conflicts when applying patches. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Conflicts: drivers/usb/gadget/Makefile drivers/usb/gadget/function/Makefile drivers/usb/gadget/legacy/Makefile drivers/usb/phy/phy-samsung-usb.h commit 3db7eb2e447633c7e2adb656125e69ce6b28cd9a Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:18 2014 -0500 staging/lustre/obdclass: remove local_storage.[ch] Remove the unused files lustre/obdclass/local_storage.[ch]. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a8424e4d53aa2e99df839cc7bceec9d7ba30b37 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:17 2014 -0500 staging/lustre/obdclass: remove llog_ioctl.c Remove the unused function llog_ioctl() and the file lustre/obdclass/llog_ioctl.c. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9b047d8b723525d193990cb3265d5de82d2f390 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:16 2014 -0500 staging/lustre/ptlrpc: remove sptlrpc_conf_target_get_rules() Remove the unused function sptlrpc_conf_target_get_rules() and its supporting functions. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b79e161f90e30e5f16604e820202ce48c6661ff Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:15 2014 -0500 staging/lustre/mgc: remove server specific llog handling In mgc_process_cfg_log() remove code to handle LLOG_CONFIG_ORIG_CTXT. This context is not setup on clients. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecbed464dbc37e24fe258134fdfb023d0c6a91c6 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:14 2014 -0500 staging/lustre: remove unused OBD methods Remove the unused OBD device methods: obd_brw() obd_cancel() obd_cancel_unused() obd_change_cbdata() obd_create_async() obd_enqueue() obd_enqueue_rqset() obd_extent_calc() obd_llog_connect() obd_llog_finish() obd_llog_init() obd_merge_lvb() obd_pin() obd_pin_observer() obd_ping() obd_precreate() obd_punch() obd_punch_rqset() obd_sync() obd_sync_rqset() obd_unpin() obd_unpin_observer() Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d3d984825a83fcf8983a7fe05bdd11aaf716ab7 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:13 2014 -0500 staging/lustre/mgc: inline mgc_cancel() The function mgc_cancel() is never invoked as an OBD device method and is only called directly from mgc_process_log() so remove it. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 903af1188e953fee851951cf528e3edc794cbe8a Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:12 2014 -0500 staging/lustre/mdc: inline llog methods In mdc_setup() and mdc_precleanup() call mdc_llog_init() and mdc_llog_finish() directly rather than through the OBD method wrappers obd_llog_init() and obd_llod_finish(). Simplify the prototypes of mdc_llog_init() and mdc_llog_finish() according to their uses. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b4015fa2154fe67934719af10f536b10b005734 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:11 2014 -0500 staging/lustre/mdc: remove unused OBD methods Remove the unused OBD device methods mdc_pin() and mdc_unpin(). Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f024bad46aa6be7e3acaf02c68c5cbfef297fb26 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:10 2014 -0500 staging/lustre: remove obd_ost.h Move the structures defined in lustre/include/obd_ost.h to the one file that uses them (lustre/osc/osc_request.c). Remove the unused function osc_update_enqueue(). Remove the then empty header lustre/include/obd_ost.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd45f477f56f92b4af5e902467914787d836d0aa Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:09 2014 -0500 staging/lustre/osc: remove obsolete llog handling code In osc_request.c there is no reason to handle any llog contexts since they are never setup. Remove the functions unused function osc_llog_init() and the obsolete function osc_llog_finish(). Remove the llog cleanup code in osc_disconnect() and osc_precleanup(). Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a659b6370665cc52d294c6024b9c17f53cb6c94 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:08 2014 -0500 staging/lustre/osc: remove unused OBD methods Remove the unused OBD device methods: osc_brw() osc_cancel() osc_cancel_unused() osc_change_cbdata() osc_enqueue() osc_punch() osc_sync() and their supporting functions. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acda5261a2e6774722e3f0b44207e71faaa4f3e7 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:07 2014 -0500 staging/lustre/lov: remove unused OBD methods Remove the unused OBD device methods: lov_brw() lov_cancel() lov_cancel_unused() lov_change_cbdata() lov_enqueue() lov_extent_calc() lov_getattr() lov_merge_lvb() lov_punch() lov_setattr() lov_sync() and their supporting functions. In lov_iocontrol() remove the unused cases LL_IOC_LOV_SETSTRIPE and LL_IOC_LOV_SETEA and their supporting functions. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c68b7f127d5f517c214e8bcf231d0188f6776d2a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sat Sep 6 06:59:10 2014 +0300 Bluetooth: Fix dereferencing conn variable before NULL check This patch fixes the following type of static analyzer warning (and probably a real bug as well as the NULL check should be there for a reason): net/bluetooth/smp.c:1182 smp_conn_security() warn: variable dereferenced before check 'conn' (see line 1174) Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9f06a8d623b2c3aea09292b844e329fbfb401231 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 16:03:34 2014 -0700 Bluetooth: LLVMLinux: Remove VLAIS from bluetooth/amp.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using an char array. The new code can be compiled with both gcc and clang. struct shash_desc contains a flexible array member member ctx declared with CRYPTO_MINALIGN_ATTR, so sizeof(struct shash_desc) aligns the beginning of the array declared after struct shash_desc with long long. No trailing padding is required because it is not a struct type that can be used in an array. The CRYPTO_MINALIGN_ATTR is required so that desc is aligned with long long as would be the case for a struct containing a member with CRYPTO_MINALIGN_ATTR. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b28b4943660f4e36f118b751ec606c103ba6b1cc Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:55 2014 +0300 Bluetooth: Add strict checks for allowed SMP PDUs SMP defines quite clearly when certain PDUs are to be expected/allowed and when not, but doesn't have any explicit request/response definition. So far the code has relied on each PDU handler to behave correctly if receiving PDUs at an unexpected moment, however this requires many different checks and is prone to errors. This patch introduces a generic way to keep track of allowed PDUs and thereby reduces the responsibility & load on individual command handlers. The tracking is implemented using a simple bit-mask where each opcode maps to its own bit. If the bit is set the corresponding PDU is allow and if the bit is not set the PDU is not allowed. As a simple example, when we send the Pairing Request we'd set the bit for Pairing Response, and when we receive the Pairing Response we'd clear the bit for Pairing Response. Since the disallowed PDU rejection is now done in a single central place we need to be a bit careful of which action makes most sense to all cases. Previously some, such as Security Request, have been simply ignored whereas others have caused an explicit disconnect. The only PDU rejection action that keeps good interoperability and can be used for all the applicable use cases is to drop the data. This may raise some concerns of us now being more lenient for misbehaving (and potentially malicious) devices, but the policy of simply dropping data has been a successful one for many years e.g. in L2CAP (where this is the *only* policy for such cases - we never request disconnection in l2cap_core.c because of bad data). Furthermore, we cannot prevent connected devices from creating the SMP context (through a Security or Pairing Request), and once the context exists looking up the corresponding bit for the received opcode and deciding to reject it is essentially an equally lightweight operation as the kind of rejection that l2cap_core.c already successfully does. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c6e81e9ae61cae3ea265e8f7fb2cbe59afc63594 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:54 2014 +0300 Bluetooth: Fix calling smp_distribute_keys() when still waiting for keys When we're in the process of receiving keys in phase 3 of SMP we keep track of which keys are still expected in the smp->remote_key_dist variable. If we still have some key bits set we need to continue waiting for more PDUs and not needlessly call smp_distribute_keys(). This patch fixes two such cases in the smp_cmd_master_ident() and smp_cmd_ident_addr_info() handler functions. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 88d3a8acf33e8f4989a1032998eb819a89829573 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:53 2014 +0300 Bluetooth: Add define for key distribution mask This patch adds a define for the allowed bits of the key distribution mask so we don't have to have magic 0x07 constants throughout the code. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fc75cc8684d21d3649b28c4c37d4ce3f000759e4 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:52 2014 +0300 Bluetooth: Fix locking of the SMP context Before the move the l2cap_chan the SMP context (smp_chan) didn't have any kind of proper locking. The best there existed was the HCI_CONN_LE_SMP_PEND flag which was used to enable mutual exclusion for potential multiple creators of the SMP context. Now that SMP has been converted to use the l2cap_chan infrastructure and since the SMP context is directly mapped to a corresponding l2cap_chan we get the SMP context locking essentially for free through the l2cap_chan lock. For all callbacks that l2cap_core.c makes for each channel implementation (smp.c in the case of SMP) the l2cap_chan lock is held through l2cap_chan_lock(chan). Since the calls from l2cap_core.c to smp.c are covered the only missing piece to have the locking implemented properly is to ensure that the lock is held for any other call path that may access the SMP context. This means user responses through mgmt.c, requests to elevate the security of a connection through hci_conn.c, as well as any deferred work through workqueues. This patch adds the necessary locking to all these other code paths that try to access the SMP context. Since mutual exclusion for the l2cap_chan access is now covered from all directions the patch also removes unnecessary HCI_CONN_LE_SMP_PEND flag (once we've acquired the chan lock we can simply check whether chan->smp is set to know if there's an SMP context). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d6268e86a12a94a4f5193551c2367162e6a37db4 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:51 2014 +0300 Bluetooth: Remove unnecessary deferred work for SMP key distribution Now that the identity address update happens through its own deferred work there's no need to have smp_distribute_keys anymore behind a second deferred work. This patch removes this extra construction and makes the code do direct calls to smp_distribute_keys() again. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f3d82d0c8ec025fc113408e3ad5775fed5a060ff Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:50 2014 +0300 Bluetooth: Move identity address update behind a workqueue The identity address update of all channels for an l2cap_conn needs to take the lock for each channel, i.e. it's safest to do this by a separate workqueue callback. Previously this was partially solved by moving the entire SMP key distribution behind a workqueue. However, if we want SMP context locking to be correct and safe we should always use the l2cap_chan lock when accessing it, meaning even smp_distribute_keys needs to take that lock which would once again create a dead lock when updating the identity address. The simplest way to solve this is to have l2cap_conn manage the deferred work which is what this patch does. A subsequent patch will remove the now unnecessary SMP key distribution work struct. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 84bc0db53b3a425fb992d5fed25b575e4434167a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:49 2014 +0300 Bluetooth: Don't take any action in smp_resume_cb if not encrypted When smp_resume_cb is called if we're not encrypted (i.e. the callback wasn't called because the connection became encrypted) we shouldn't take any action at all. This patch moves also the security_timer cancellation behind this condition. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1b0921d6be7860271ccf6027891b8215fc28cde5 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:48 2014 +0300 Bluetooth: Remove unnecessary checks after canceling SMP security timer The SMP security timer used to be able to modify the SMP context state but now days it simply calls hci_disconnect(). It is therefore unnecessary to have extra sanity checks for the SMP context after canceling the timer. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 434714dc02b286d3f21179c651a6f1a84e199eb7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Sep 1 09:45:03 2014 +0300 Bluetooth: Add clarifying comment for LE CoC result value The "pending" L2CAP response value is not defined for LE CoC. This patch adds a clarifying comment to the code so that the reader will not think there is a bug in trying to use this value for LE CoC. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 839035a7b3acd17a6f739b1fb50298e9499d3fa4 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:34 2014 +0300 Bluetooth: Move clock offset reading into hci_disconnect() To give all hci_disconnect() users the advantage of getting the clock offset read automatically this patch moves the necessary code from hci_conn_timeout() into hci_disconnect(). This way we pretty much always update the clock offset when disconnecting. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e3f2f92a047cd2be3c87a2aaf0a8958e1fd4c17a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:33 2014 +0300 Bluetooth: Use hci_disconnect() for mgmt_disconnect_device() There's no reason to custom build the HCI_Disconnect command in the Disconnect Device mgmt command handler. This patch updates the code to use hci_disconnect() instead. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e3b679d56caa2bc555dee646a6ac5861631e7a28 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:32 2014 +0300 Bluetooth: Update hci_disconnect() to return an error value We'll soon use hci_disconnect() from places that are interested to know whether the hci_send_cmd() really succeeded or not. This patch updates hci_disconnect() to pass on any error returned from hci_send_cmd(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9b7b18ef1bea82e5fc1e05da386ff57b0f60f651 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:31 2014 +0300 Bluetooth: Fix SMP error and response to be mutually exclusive Returning failure from the SMP data parsing function will cause an immediate disconnect, making any attempts to send a response PDU futile. This patch updates the function to always either send a response or return an error, but never both at the same time: * In the case that HCI_LE_ENABLED is not set we want to send a Pairing Not Supported response but it is not required to force a disconnection, so do not set the error return in this case. * If we get garbage SMP data we can just fail with the handler function instead of also trying to send an SMP Failure PDU. * There's no reason to force a disconnection if we receive an unknown SMP command. Instead simply send a proper Command Not Supported SMP response. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b04afa0c280b7e7ced88692251d75a78c8fcb2a7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:30 2014 +0300 Bluetooth: Remove unused l2cap_conn_shutdown API Now that there are no more users of the l2cap_conn_shutdown API (since smp.c switched to using hci_disconnect) we can simply remove it along with all of it's l2cap_conn variables. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1e91c29eb60c031f4297d1a58125d0bd37691348 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:29 2014 +0300 Bluetooth: Use hci_disconnect for immediate disconnection from SMP Relying on the l2cap_conn_del procedure (triggered through the l2cap_conn_shutdown API) to get the connection disconnected is not reliable as it depends on all users releasing (through hci_conn_drop) and that there's at least one user (so hci_conn_drop is called at least one time). A much simpler and more reliable solution is to call hci_disconnect() directly from the SMP code when we want to disconnect. One side-effect this has is that it prevents any SMP Failure PDU from being sent before the disconnection, however neither one of the scenarios where l2cap_conn_shutdown was used really requires this. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e31fb86005a01b7df8427b09d0158da28d0c773a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:28 2014 +0300 Bluetooth: Set discon_timeout to 0 in l2cap_conn_del When the l2cap_conn_del() function is used we do not want to wait around "in case something happens" before disconnecting. This patch sets the disconnection timeout to 0 so that the disconnection routines get immediately scheduled. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bcbb655a180344d8004ede669228992bff1921e4 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:27 2014 +0300 Bluetooth: Remove hci_conn_hold/drop from hci_chan We can't have hci_chan contribute to the "active" reference counting of the hci_conn since otherwise the connection would never get dropped when there are no more users (since hci_chan would be counted as a user). This patch removes hold() when creating the hci_chan and drop() when destroying it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f94b665dcf15324f5ac8aa639e47be0829b6409d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 00:41:44 2014 +0300 Bluetooth: Ignore incoming data after initiating disconnection When hci_chan_del is called the disconnection routines get scheduled through a workqueue. If there's any incoming ACL data before the routines get executed there's a chance that a new hci_chan is created and the disconnection never happens. This patch adds a new hci_conn flag to indicate that we're in the process of driving the connection down. We set the flag in hci_chan_del and check for it in hci_chan_create so that no new channels are created for the same connection. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b3ff670a44cc34c01e78900c42255511e4f232e6 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 00:41:43 2014 +0300 Bluetooth: Set disc_timeout to 0 when calling hci_chan_del The hci_chan_del() function is used in scenarios where we've decided we want to get rid of the underlying baseband link. It makes therefore sense to force the disc_timeout to 0 so that the disconnection routines are immediately scheduled. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6c388d32ec1b9fcc2f2404fb5e9b3b0096be5de9 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 00:41:42 2014 +0300 Bluetooth: Fix hci_conn reference counting with hci_chan The hci_chan_del() function was doing a hci_conn_drop() but there was no matching hci_conn_hold() in the hci_chan_create() function. Furthermore, as the hci_chan struct holds a pointer to the hci_conn there should be proper use of hci_conn_get/put. This patch fixes both issues so that hci_chan does correct reference counting of the hci_conn object. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit eb78d7e53d144995b9e023b151de19fa40af72f3 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 00:41:41 2014 +0300 Bluetooth: Use zero timeout for immediate scheduling There's no point in passing a "small" timeout to queue_delayed_work() to try to get the callback faster scheduled. Passing 0 is perfectly valid and will cause a shortcut to a direct queue_work(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f6c63249698aaa87399e795adcf3b70171384dc2 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:59 2014 +0300 Bluetooth: Refactor connection parameter freeing into its own function The necessary steps for freeing connection paramaters have grown quite a bit so we can simplify the code by factoring it out into its own function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f8aaf9b65a77267f749c1af641e46c3457d50701 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sun Aug 17 23:28:57 2014 +0300 Bluetooth: Fix using hci_conn_get() for hci_conn pointers Wherever we keep hci_conn pointers around we should be using hci_conn_get/put to ensure that they stay valid. This patch fixes all places violating against the principle currently. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 51bb8457ddfa74ede52bf8c02054dea831d59fff Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:57 2014 +0300 Bluetooth: Improve *_get() functions to return the object type It's natural to have *_get() functions that increment the reference count of an object to return the object type itself. This way it's simple to make a copy of the object pointer and increase the reference count in a single step. This patch updates two such get() functions, namely hci_conn_get() and l2cap_conn_get(), and updates the users to take advantage of the new API. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5477610fc187d4aae0f699d21dfb0e3f440f7de7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:56 2014 +0300 Bluetooth: Optimize connection parameter lookup for LE connections When we get an LE connection complete event there's really no reason to look through the entire connection parameter list as the entry should be present in the hdev->pend_le_conns list too. This patch changes the lookup code to do a more restricted lookup only in the pend_le_conns list. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 08853f18eafe65aa97deb464c28505a67c898b0e Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:55 2014 +0300 Bluetooth: Set addr_type only when it's needed In the hci_le_conn_complete_evt() function there's no need to set the addr_type value until it's actually needed, i.e. for the black list lookup. This patch moves the code a bit further down in the function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c16900cf285ca240f0f84117bf8b88a03c55469b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:17:06 2014 +0300 Bluetooth: Fix hci_conn reference counting for fixed channels Now that SMP has been converted to use fixed channels we've got a bit of a problem with the hci_conn reference counting. So far the L2CAP code has kept a reference for each L2CAP channel that was notified of the connection. With SMP however this would mean that the connection is never dropped even though there are no other users of it. Furthermore, SMP already does its own hci_conn reference counting internally, starting from a security or pairing request and ending with the key distribution. This patch makes L2CAP fixed channels default to the L2CAP core not keeping a hci_conn reference for them. A new FLAG_HOLD_HCI_CONN flag is added so that L2CAP users can declare an exception to this rule and hold a reference even for their fixed channels. One such exception is the L2CAP socket layer which does want a reference for each socket (e.g. an ATT socket which uses a fixed channel). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b3ed6c63f7d4a51b01a61b10e53a2992ad26aa78 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:52 2014 +0300 Bluetooth: Remove unnecessary l2cap_chan_unlock before l2cap_chan_add The l2cap_chan_add() function doesn't require the channel to be unlocked. It only requires the l2cap_conn to be unlocked. Therefore, it's unnecessary to unlock a channel before calling l2cap_chan_add(). This patch removes such unnecessary unlocking from the l2cap_chan_connect() function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72c6fb915ff2d30ae14053edee4f0d30019bad76 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:51 2014 +0300 Bluetooth: Fix incorrect LE CoC PDU length restriction based on HCI MTU The l2cap_create_le_flowctl_pdu() function that l2cap_segment_le_sdu() calls is perfectly capable of doing packet fragmentation if given bigger PDUs than the HCI buffers allow. Forcing the PDU length based on the HCI MTU (conn->mtu) would therefore needlessly strict operation on hardware with limited LE buffers (e.g. both Intel and Broadcom seem to have this set to just 27 bytes). This patch removes the restriction and makes it possible to send PDUs of the full length that the remote MPS value allows. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 11e42532ada3174840196e8f23df29cb91c44b50 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 15:35:30 2014 -0600 PCI: Assume all Mellanox devices have broken INTx masking The VFIO driver routes LSI interrupts by capturing, masking, and then delivering. When passing though Mellanox adapters from host to guest, interrupt storm are reported from host and guest. That's because the PCI command register INTx Disable bit doesn't work on Mellanox devices. # lspci | grep Mellanox 0001:05:00.0 Ethernet controller: Mellanox Technologies MT27500 Family [ConnectX-3] 0005:01:00.0 Ethernet controller: Mellanox Technologies MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) Amir Vadai confirmed that all Mellanox devices have same problem. The patch marks broken INTx masking for all Mellanox adapters. Suggested-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-By: Amir Vadai <amirv@xxxxxxxxxxxx> commit 628ed4717000789bff827c5799d1aac4c1008541 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Tue May 20 16:19:23 2014 -0500 ARM: OMAP5: Add hook in SoC initcalls to enable pm initialization With consolidated code, now we can add the required hooks for OMAP5 to enable power management. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [nm@xxxxxx: minor rebase updates] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 6099dd37c66931085557363b4716483f97cf92a0 Author: Rajendra Nayak <rnayak@xxxxxx> Date: Mon May 27 15:46:44 2013 +0530 ARM: OMAP5 / DRA7: Enable CPU RET on suspend On OMAP5 / DRA7, prevent a CPU powerdomain OFF and resulting MPU OSWR and instead attempt a CPU RET and side effect, MPU RET in suspend. NOTE: the hardware was originally designed to be capable of achieving deep power states such as OFF and OSWR, however due to various issues and risks, deepest valid state was determined to be CSWR - hence we use the errata framework to handle this case. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> [nm@xxxxxx: updates] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit e97c4eb342055b24da886b56377dc0093e835b4a Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Fri Jun 6 17:30:43 2014 -0500 ARM: OMAP5 / DRA7: PM: Provide a dummy startup function for CPU hotplug Dont assume that all OMAP4+ code will be able to use OMAP4 hotplug logic. On OMAP5, DRA7, we do not need this in place yet, also, currently the CPU startup pointer is located in omap4_cpu_pm_info instead of cpu_pm_ops. So, isolate the function to hotplug_restart pointer in cpu_pm_ops where it should have belonged, initalize them as per valid startup pointers for OMAP4430/60 as in current logic, however provide dummy_cpu_resume to be the startup location as well. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [nm@xxxxxx: split this out of original code and isolate it] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 325f29da0d21900a78a91724acd6640e59f3e13c Author: Rajendra Nayak <rnayak@xxxxxx> Date: Fri May 3 15:34:40 2013 +0530 ARM: OMAP5 / DRA7: PM: Avoid all SAR saves Get rid of all assumptions about always having a sar base on *all* OMAP4+ platforms. We dont need one on DRA7 and it is not necessary at this point for OMAP5 either. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> [nm@xxxxxx: Split and optimize] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 6d846c46683a4a8a54fbd30b0ff1434a7d898026 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Thu Apr 12 17:01:52 2012 +0530 ARM: OMAP5 / DRA7: PM: Enable Mercury retention mode on CPUx powerdomains In addition to the standard power-management technique, the OMAP5 / DRA7 MPU subsystem also employs an SR3-APG (mercury) power management technology to reduce leakage. It allows for full logic and memories retention on MPU_C0 and MPU_C1 and is controlled by the PRCM_MPU. Only "Fast-mode" is supported on the OMAP5 and DRA7 family of processors. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [nm@xxxxxx: minor consolidation] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 4664d4d86012c4a51b9f40d0d72e27e39205e874 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Fri Feb 8 17:07:31 2013 +0530 ARM: OMAP5 / DRA7: PM / wakeupgen: Enables ES2 PM mode by default Enables MPUSS ES2 power management mode using ES2_PM_MODE in AMBA_IF_MODE register. 0x0: OMAP5 ES1 behavior, CPU cores would enter and exit OFF mode together. Broken! Fortunately, we do not support this anymore. 0x1: OMAP5 ES2, DRA7 behavior, CPU cores are allowed to enter/exit OFF mode independently. This is one time settings thanks to always ON domain. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [nm@xxxxxx: minor conflict resolutions, consolidation for DRA7] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit d2136bce9db79f7d983f081c5d1b6e9359714dd6 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Wed Feb 6 15:51:45 2013 +0530 ARM: OMAP5 / DRA7: PM: Set MPUSS-EMIF clock-domain static dependency With EMIF clock-domain put under hardware supervised control, memory corruption and untraceable crashes are observed on OMAP5. Further investigation revealed that there is a weakness in the PRCM on this specific dynamic depedency. The recommendation is to set MPUSS static dependency towards EMIF clock-domain to avoid issues. This recommendation holds good for DRA7 family of devices as well. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [rnayak@xxxxxx: DRA7] Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> [nm@xxxxxx: conflict resolution, dra7] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit a89726d3b4cb81b033e34cc55974a33dab3279da Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Wed Feb 6 19:39:07 2013 +0530 ARM: OMAP5 / DRA7: PM: Update CPU context register offset On OMAP5, RM_CPUi_CPUi_CONTEXT offset has changed. Update the code so that same code works for OMAP4+ devices. DRA7 and OMAP5 have the same context offset as well. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [rnayak@xxxxxx: for DRA7] Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> [nm@xxxxxx: rebase, split/merge etc..] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit dbbe9770d11284322db289c6ec83e8911e7a8f89 Author: Keerthy <j-keerthy@xxxxxx> Date: Mon Apr 7 11:54:49 2014 +0530 ARM: AM437x: use pdata quirks for pinctrl information Provide pdata-quirks for Am437x processor family. Signed-off-by: Keerthy <j-keerthy@xxxxxx> commit b0a3d0da6734116acf59e53aba9c61bc87bc78f1 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 23:39:54 2014 -0500 ARM: DRA7: use pdata quirks for pinctrl information Provide pdata-quirks for DRA7 processor family. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit 874fef7d02fab2208ab5b2ed0ad72c67b36ffb15 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 15:19:29 2014 -0500 ARM: OMAP5: use pdata quirks for pinctrl information Provide pdata-quirks for OMAP5 processor family. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit 3e6a1c945950140926dd6e2cc667893de0a7fe3b Author: Nishanth Menon <nm@xxxxxx> Date: Thu Jul 24 10:24:19 2014 -0500 ARM: OMAP4+: PM: Use only valid low power state for CPU hotplug Not all SoCs support OFF mode - for example DRA74/72. So, use valid power state during CPU hotplug. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit bd7593c69af8f610567fd6b105c440cfe9da7661 Author: Nishanth Menon <nm@xxxxxx> Date: Fri Jun 6 01:17:37 2014 -0500 ARM: OMAP4+: PM: use only valid low power state for suspend We are using power domain state as RET and logic state as OFF. This state is OSWR. This may not always be supported on ALL power domains. In fact, on certain power domains, this might result in a hang on certain platforms. Instead, depend on powerdomain data to provide accurate information about the supported powerdomain states and use the appropriate function to query and use it as part of suspend path. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 46ba55265254e8f47f8c2af6408841f31bab4870 Author: Nishanth Menon <nm@xxxxxx> Date: Thu Jun 5 21:40:39 2014 -0500 ARM: OMAP4+: PM: Make logic state programmable Move the logic state as different for each power domain. This allows us to customize the deepest power state we should target over all for each powerdomain in the follow on patches. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit bd002d7bdafc695decf7d4aeba285097356938f1 Author: Nishanth Menon <nm@xxxxxx> Date: Fri Jun 6 01:04:20 2014 -0500 ARM: OMAP2+: powerdomain: introduce logic for finding valid power domain powerdomain configuration in OMAP is done using PWRSTCTRL register for each power domain. However, PRCM lets us write any value we'd like to the logic and power domain target states, however the SoC integration tends to actually function only at a few discrete states. These valid states are already in our powerdomains_xxx_data.c file. So, provide a function to easily query valid low power state that the power domain is allowed to go to. Based on work originally done by Jean Pihet <j-pihet@xxxxxx> https://patchwork.kernel.org/patch/1325091/ . There is no attempt to create a new powerdomain solution here, except fixing issues seen attempting invalid programming attempts. Future consolidation to the generic powerdomain framework should consider this requirement as well. Similar solutions have been done in product kernels in the past such as: https://android.googlesource.com/kernel/omap.git/+blame/android-omap-panda-3.0/arch/arm/mach-omap2/pm44xx.c Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 13bbffd4ebca57dfae59a3f13ff98dc417f89b23 Author: Nishanth Menon <nm@xxxxxx> Date: Fri Jun 6 19:36:41 2014 -0500 ARM: OMAP2+: powerdomain: pwrdm_for_each_clkdm iterate only valid clkdms No need to invoke callback when the clkdm pointer is NULL. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 9f5dc91b691cf296c49aedf0a671fd659a70f737 Author: Nishanth Menon <nm@xxxxxx> Date: Wed Aug 20 08:13:16 2014 -0500 ARM: OMAP5: powerdomain data: fix powerdomain powerstate Update the power domain power states for final production chip capability. OFF mode, OSWR etc have been descoped for various domains. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit cafc8cb5b9c84426f3aae3179a64e41d3de97c50 Author: Nishanth Menon <nm@xxxxxx> Date: Fri Jun 6 01:21:51 2014 -0500 ARM: OMAP: DRA7: powerdomain data: fix powerdomain powerstate DRA7 supports only CSWR for CPU, MPU power domains. Core power domain supports upto INA. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 018a17bdc8658ad448497c84d4ba21b6985820ec Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:04:01 2014 +0900 bdi: reimplement bdev_inode_switch_bdi() A block_device may be attached to different gendisks and thus different bdis over time. bdev_inode_switch_bdi() is used to switch the associated bdi. The function assumes that the inode could be dirty and transfers it between bdis if so. This is a bit nasty in that it reaches into bdi internals. This patch reimplements the function so that it writes out the inode if dirty. This is a lot simpler and can be implemented without exposing bdi internals. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1a1e4530eacca37e85a4d66a164273c7dba9110c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:04:00 2014 +0900 bdi: explain the dirty list transferring in bdi_destroy() bdi_destroy() has code to transfer the remaining dirty inodes to the default_backing_dev_info; however, given the shutdown sequence, it isn't clear how such condition would happen. Also, it isn't a full solution as the transferred inodes stlil point to the bdi which is being destroyed. Operations on those inodes can end up accessing already released fields such as the percpu stat fields. Digging through the history, it seems that the code was added as a quick workaround for a bug report without fully root-causing the issue. We probably want to remove the code in time but for now let's add a comment noting that it is a quick workaround. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c0ea1c22bce63a27b47da90ad1ac49ce48e1a8aa Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:03:59 2014 +0900 bdi: make backing_dev_info->wb.dwork canceling stricter Canceling of bdi->wb.dwork is currently a bit mushy. bdi_wb_shutdown() performs cancel_delayed_work_sync() at the end after shutting down and flushing the delayed_work and bdi_destroy() tries yet again after bdi_unregister(). bdi->wb.dwork is queued only after checking BDI_registered while holding bdi->wb_lock and bdi_wb_shutdown() clears the flag while holding the same lock and then flushes the delayed_work. There's no way the delayed_work can be queued again after that. Replace the two unnecessary cancel_delayed_work_sync() invocations with WARNs on pending. This simplifies and clarifies the code a bit and will help future changes in further isolating bdi_writeback handling. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b68757341d8015d28e261990deea58dd836e04da Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:03:58 2014 +0900 bdi: remove bdi->wb_lock locking around bdi->dev clearing in bdi_unregister() The only places where NULL test on bdi->dev is used are bdi_[un]register(). The functions can't be called in parallel anyway and there's no point in protecting bdi->dev clearing with a lock. Remove bdi->wb_lock grabbing around bdi->dev clearing and move it after device_unregister() call so that bdi->dev doesn't have to be cached in a local variable. This patch shouldn't introduce any behavior difference. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e36f1dfce0b45d347927568efe1088821758cc3c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:03:57 2014 +0900 bdi: remove unused stuff Two flags and one bdi_writeback field are no longer used. Remove them. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ff9ea323816dc1c8ac7144afd4eab3ac97704430 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:03:56 2014 +0900 block, bdi: an active gendisk always has a request_queue associated with it bdev_get_queue() returns the request_queue associated with the specified block_device. blk_get_backing_dev_info() makes use of bdev_get_queue() to determine the associated bdi given a block_device. All the callers of bdev_get_queue() including blk_get_backing_dev_info() assume that bdev_get_queue() may return NULL and implement NULL handling; however, bdev_get_queue() requires the passed in block_device is opened and attached to its gendisk. Because an active gendisk always has a valid request_queue associated with it, bdev_get_queue() can never return NULL and neither can blk_get_backing_dev_info(). Make it clear that neither of the two functions can return NULL and remove NULL handling from all the callers. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Chris Mason <clm@xxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f4da80727cfbc3590d95ff17ef8db96e6f1483a4 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:15:20 2014 +0900 blkcg: remove blkcg->id blkcg->id is a unique id given to each blkcg; however, the cgroup_subsys_state which each blkcg embeds already has ->serial_nr which can be used for the same purpose. Drop blkcg->id and replace its uses with blkcg->css.serial_nr. Rename cfq_cgroup->blkcg_id to ->blkcg_serial_nr and @id in check_blkcg_changed() to @serial_nr for consistency. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1e037794f7f00ff464db446ace892dae84175a6a Author: Nishanth Menon <nm@xxxxxx> Date: Tue Aug 12 07:05:19 2014 -0500 ARM: OMAP3+: PRM: register interrupt information from DT Allow the PRM interrupt information to be picked up from device tree. OMAP3 may use legacy boot and needs to be compatible with old dtbs (without interrupt populated), for these, we use the value which is pre-populated. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 2aba071c50591eaa7a2e33d3df296dd74232691e Author: Nishanth Menon <nm@xxxxxx> Date: Mon Aug 11 14:58:23 2014 -0500 ARM: OMAP4+: PRM: Enable wakeup capability for OMAP5, DRA7 OMAP5 and DRA7 can now use pinctrl based I/O daisychain wakeup capability. So, enable the support. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit a6903ea3019f849df7377786ed7885189b3f860b Author: Nishanth Menon <nm@xxxxxx> Date: Fri May 23 00:20:37 2014 -0500 ARM: OMAP4+: PRM: remove "wkup" event "wkup" event at bit offset 0 exists only on OMAP3. OMAP4430/60 PRM_IRQSTATUS_A9, OMAP5/DRA7 PRM_IRQSTATUS_MPU register bit 0 is DPLL_CORE_RECAL_ST not wakeup event like OMAP3. The same applies to AM437x as well. Remove the wrong definition. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit a8f83aefcd5a5ec6e420077946d88833a594eb42 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 15:19:29 2014 -0500 ARM: OMAP4+: PRM: register interrupt information from DT Allow the PRM interrupt information to be picked up from device tree. the only exception is for OMAP4 which uses values pre-populated and allows compatibility with older dtb. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 390ddc19e2a56c47b46f11a5ed0a7be8e695dd8a Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 15:00:55 2014 -0500 ARM: OMAP4: PRM: use the generic prm_inst to allow logic to be abstracted use the generic function to pick up the prm_instance for a generic logic which can be reused from OMAP4+ Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit e3002d1ae16812ba6c1479a25cce77fd0d175838 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 14:53:54 2014 -0500 ARM: OMAP4+: prminst: provide function to find prm_dev instance offset PRM device instance can vary depending on SoC. We already handle the same during reset of the device, However, this is also needed for other logic instances. So, first abstract this out to a generic function. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 61a3d4f9d52c00b2016bc27fc66b10a194043f76 Merge: db906eb 1bd3fa7 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Sep 8 11:14:56 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless commit 848f3a82df50fcc68a78c9d7d45e210b626b0283 Author: Jurgen Kramer <gtmkramer@xxxxxxxxx> Date: Fri Sep 5 18:14:46 2014 +0200 ALSA: usb-audio: add native DSD support for XMOS based DACs Add quirks for XMOS based DACs for native DSD playback support using the new DSD_U32_LE sample format. This version adds native DSD support for: - iFi Audio micro iDSD/nano iDSD (they use the same prod. id) - DIYINHK USB to I2S/DSD converter Changes from v2: - fix and simplify switch statement Changes from v1: - use specific product id and alt setting per XMOS based device [fixed a misc coding style issue by tiwai] Signed-off-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d4288d3fac18bbc31cb6d369679b1fa1d9321ae9 Author: Jurgen Kramer <gtmkramer@xxxxxxxxx> Date: Fri Sep 5 10:47:56 2014 +0200 ALSA: pcm: add new DSD sampleformat for native DSD playback on XMOS based devices XMOS based USB DACs with native DSD support expose this feature via a USB alternate setting. The audio format is either 32-bit raw or a 32-bit PCM format. To utilize this feature on linux this patch introduces a new 32-bit DSD sampleformat DSD_U32_LE. A follow up patch will add a quirk for XMOS based devices to utilize the new format. Further patches will add support to alsa-lib. Signed-off-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e3672649faae400e8a598938766a63f395a27ae6 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 8 12:44:48 2014 +0100 arm64: defconfig: increase NR_CPUS default to 64 Raising the current maximum limit to 64. This is needed for Cavium's Thunder systems that will have at least 48 cores per die. The change keeps the current memory footprint in cpu mask structures. It does not break existing code. Setting the maximum to 64 cpus still boots systems with less cpus. Mark's Juno happily booted with a NR_CPUS=64 kernel. Tested on our Thunder system with 48 cores. We could see interrupts to all cores. Cc: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit efb540c895d2cb77b1472edda6ca45d40719a041 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Mon Sep 8 11:18:16 2014 +0300 usb: gadget: uvc: move module parameters from f_uvc When configfs support is integrated the future uvc function module must not take any parameters. Move parameters to webcam. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a1d27a4bf5bb4144c593358cbd7261c6c6f0a023 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Sep 8 11:18:15 2014 +0300 usb: gadget: f_uvc: Move to video_ioctl2 Simplify ioctl handling by using video_ioctl2. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 26a029f2277bf58c72ada0a92ae44ff9dd702a2e Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Sep 8 11:18:14 2014 +0300 usb: gadget: f_uvc: Store EP0 control request state during setup stage To handle class requests received on ep0, the driver needs to access the length and direction of the request after the setup stage. It currently stores them in a v4l2 event during the setup stage, and then copies them from the event structure to the driver internal state structure when the event is dequeued. This two-steps approach isn't necessary. Simplify the driver by storing the needed information in the driver internal state structure directly during the setup stage. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2b4f43131da08881423213dace0a514f325fe134 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Sep 8 08:48:00 2014 +0200 PM / sysfs: avoid shadowing variables The global variable "enabled" is shadowed in a number of functions in this file, rename it to "_enabled" to avoid that. For consistency, also rename "disabled" and move them both into the #ifdef where they're needed. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e54bcde3d69d40023ae77727213d14f920eb264a Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Tue Aug 26 21:15:30 2014 -0700 arm64: eBPF JIT compiler The JIT compiler emits A64 instructions. It supports eBPF only. Legacy BPF is supported thanks to conversion by BPF core. JIT is enabled in the same way as for other architectures: echo 1 > /proc/sys/net/core/bpf_jit_enable Or for additional compiler output: echo 2 > /proc/sys/net/core/bpf_jit_enable See Documentation/networking/filter.txt for more information. The implementation passes all 57 tests in lib/test_bpf.c on ARMv8 Foundation Model :) Also tested by Will on Juno platform. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5e6e15a2c4b529fd3cbf367b734842c4d8f6b0fa Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:29 2014 +0100 arm64: introduce aarch64_insn_gen_logical_shifted_reg() Introduce function to generate logical (shifted register) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 27f95ba59b34509dc8afa2f89ad51c044df9d7c7 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:28 2014 +0100 arm64: introduce aarch64_insn_gen_data3() Introduce function to generate data-processing (3 source) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6481063989283f7cbeb0b6c38506ba4dd319f93a Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:27 2014 +0100 arm64: introduce aarch64_insn_gen_data2() Introduce function to generate data-processing (2 source) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 546dd36b44613c770655531ee3ada6a9e9907d71 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:26 2014 +0100 arm64: introduce aarch64_insn_gen_data1() Introduce function to generate data-processing (1 source) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5fdc639a7a5b187f75b7408ee7ae9f9c06771218 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:25 2014 +0100 arm64: introduce aarch64_insn_gen_add_sub_shifted_reg() Introduce function to generate add/subtract (shifted register) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6098f2d5c7a349d388499503bb129d0088870dd6 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:24 2014 +0100 arm64: introduce aarch64_insn_gen_movewide() Introduce function to generate move wide (immediate) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4a89d2c98e1efadd135015668c499ae1bbd2131f Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:23 2014 +0100 arm64: introduce aarch64_insn_gen_bitfield() Introduce function to generate bitfield instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9951a157fa678db0ec92e5fc4c6320c038ffb67e Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:22 2014 +0100 arm64: introduce aarch64_insn_gen_add_sub_imm() Introduce function to generate add/subtract (immediate) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 1bba567d0f3050e33b4dd1404fdcbceaf5a73034 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:21 2014 +0100 arm64: introduce aarch64_insn_gen_load_store_pair() Introduce function to generate load/store pair instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 17cac179888166a4e8e252d00ad511e999859293 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:20 2014 +0100 arm64: introduce aarch64_insn_gen_load_store_reg() Introduce function to generate load/store (register offset) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 345e0d35ecdd7aff31881462a6f7786fda3241d9 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:19 2014 +0100 arm64: introduce aarch64_insn_gen_cond_branch_imm() Introduce function to generate conditional branch (immediate) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c0cafbae20d2878883ec3c06d6ea30ff38a6bf92 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:18 2014 +0100 arm64: introduce aarch64_insn_gen_branch_reg() Introduce function to generate unconditional branch (register) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 617d2fbc45233bed182accd3507d0df4d213492c Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:17 2014 +0100 arm64: introduce aarch64_insn_gen_comp_branch_imm() Introduce function to generate compare & branch (immediate) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a4ceab1adbe960c781e9e2f659d7f7840eefd786 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 05:29:34 2014 +0100 arm64: LLVMLinux: Use global stack pointer in return_address() The global register current_stack_pointer holds the current stack pointer. This change supports being able to compile the kernel with both gcc and clang. Author: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 34ccf8f455f1ae7761810a74308f82daca67ced1 Author: Mark Charlebois <charlebm@xxxxxxxxx> Date: Wed Aug 27 05:29:33 2014 +0100 arm64: LLVMLinux: Use global stack register variable for aarch64 To support both Clang and GCC, use the global stack register variable vs a local register variable. Author: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2128df143d840a20e12818290eb6e40b95cc4ac0 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 05:29:32 2014 +0100 arm64: LLVMLinux: Use current_stack_pointer in kernel/traps.c Use the global current_stack_pointer to get the value of the stack pointer. This change supports being able to compile the kernel with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 786248705ecf5290f26534e8eef62ba6dd63b806 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 05:29:31 2014 +0100 arm64: LLVMLinux: Calculate current_thread_info from current_stack_pointer Use the global current_stack_pointer to get the value of the stack pointer. This change supports being able to compile the kernel with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Reviewed-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit bb28cec4ea2f5151c08e061c6de825a8c853bbd6 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 05:29:30 2014 +0100 arm64: LLVMLinux: Use current_stack_pointer in save_stack_trace_tsk Use the global current_stack_pointer to get the value of the stack pointer. This change supports being able to compile the kernel with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Reviewed-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3337a10e0d0cbc9225cefc23aa7a604b698367ed Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 05:29:29 2014 +0100 arm64: LLVMLinux: Add current_stack_pointer() for arm64 Define a global named register for current_stack_pointer. The use of this new variable guarantees that both gcc and clang can access this register in C code. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 11d91a770f1fff44dafdf88d6089a3451f99c9b6 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Tue Aug 19 20:41:43 2014 +0100 arm64: Add CONFIG_DEBUG_SET_MODULE_RONX support In a similar fashion to other architecture, add the infrastructure and Kconfig to enable DEBUG_SET_MODULE_RONX support. When enabled, module ranges will be marked read-only/no-execute as appropriate. Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> [will: fixed off-by-one in module end check] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b6d4f2800b7bad654caf00654f4bff21594ef838 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Tue Aug 19 20:41:42 2014 +0100 arm64: Introduce {set,clear}_pte_bit It's useful to be able to change individual bits in ptes at times. Introduce functions for this and update existing pte_mk* functions to use these primatives. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> [will: added missing inline keyword for new header functions] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5e051531447259e5df95c44bccb69979537c19e4 Author: Arun Chandran <achandran@xxxxxxxxxx> Date: Mon Aug 18 10:06:58 2014 +0100 arm64: convert part of soft_restart() to assembly The current soft_restart() and setup_restart implementations incorrectly assume that compiler will not spill/fill values to/from stack. However this assumption seems to be wrong, revealed by the disassembly of the currently existing code (v3.16) built with Linaro GCC 4.9-2014.05. ffffffc000085224 <soft_restart>: ffffffc000085224: a9be7bfd stp x29, x30, [sp,#-32]! ffffffc000085228: 910003fd mov x29, sp ffffffc00008522c: f9000fa0 str x0, [x29,#24] ffffffc000085230: 94003d21 bl ffffffc0000946b4 <setup_mm_for_reboot> ffffffc000085234: 94003b33 bl ffffffc000093f00 <flush_cache_all> ffffffc000085238: 94003dfa bl ffffffc000094a20 <cpu_cache_off> ffffffc00008523c: 94003b31 bl ffffffc000093f00 <flush_cache_all> ffffffc000085240: b0003321 adrp x1, ffffffc0006ea000 <reset_devices> ffffffc000085244: f9400fa0 ldr x0, [x29,#24] ----> spilled addr ffffffc000085248: f942fc22 ldr x2, [x1,#1528] ----> global memstart_addr ffffffc00008524c: f0000061 adrp x1, ffffffc000094000 <__inval_cache_range+0x40> ffffffc000085250: 91290021 add x1, x1, #0xa40 ffffffc000085254: 8b010041 add x1, x2, x1 ffffffc000085258: d2c00802 mov x2, #0x4000000000 // #274877906944 ffffffc00008525c: 8b020021 add x1, x1, x2 ffffffc000085260: d63f0020 blr x1 ... Here the compiler generates memory accesses after the cache is disabled, loading stale values for the spilled value and global variable. As we cannot control when the compiler will access memory we must rewrite the functions in assembly to stash values we need in registers prior to disabling the cache, avoiding the use of memory. Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Arun Chandran <achandran@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 58015ec6b8e13c980c20d9fff3f986838c004348 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Jul 30 11:59:04 2014 +0100 arm64/efi: efistub: don't abort if base of DRAM is occupied If we cannot relocate the kernel Image to its preferred offset of base of DRAM plus TEXT_OFFSET, instead relocate it to the lowest available 2 MB boundary plus TEXT_OFFSET. We may lose a bit of memory at the low end, but we can still proceed normally otherwise. Acked-by: Mark Salter <msalter@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Tested-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c16173fa568582113145daee70fc317b10bc51e0 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Jul 30 11:59:03 2014 +0100 arm64/efi: efistub: cover entire static mem footprint in PE/COFF .text The static memory footprint of a kernel Image at boot is larger than the Image file itself. Things like .bss data and initial page tables are allocated statically but populated dynamically so their content is not contained in the Image file. However, if EFI (or GRUB) has loaded the Image at precisely the desired offset of base of DRAM + TEXT_OFFSET, the Image will be booted in place, and we have to make sure that the allocation done by the PE/COFF loader is large enough. Fix this by growing the PE/COFF .text section to cover the entire static memory footprint. The part of the section that is not covered by the payload will be zero initialised by the PE/COFF loader. Acked-by: Mark Salter <msalter@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Tested-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 113954c6463d1d80a206e91627ae49711f8b47cd Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Wed Jul 30 11:59:02 2014 +0100 arm64: spin-table: handle unmapped cpu-release-addrs In certain cases the cpu-release-addr of a CPU may not fall in the linear mapping (e.g. when the kernel is loaded above this address due to the presence of other images in memory). This is problematic for the spin-table code as it assumes that it can trivially convert a cpu-release-addr to a valid VA in the linear map. This patch modifies the spin-table code to use a temporary cached mapping to write to a given cpu-release-addr, enabling us to support addresses regardless of whether they are covered by the linear mapping. Acked-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Tested-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Tested-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> [ardb: added (__force void *) cast] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 169c018de7b6d376f821f9fae0ab23dc5c7bb549 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Aug 8 12:51:40 2014 +0100 arm64: don't flag non-aliasing VIPT I-caches as aliasing VIPT caches are non-aliasing if the index is derived from address bits that are always equal between VA and PA. Classifying these as aliasing results in unnecessary flushing which may hurt performance. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 80c517b0ff71a4c874fed9196fd990d2d9e911f3 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Aug 8 12:51:39 2014 +0100 arm64: add helper functions to read I-cache attributes This adds helper functions and #defines to <asm/cachetype.h> to read the line size and the number of sets from the level 1 instruction cache. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit f1b6a735328b507810d2436891ee977fb8cd62d7 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 14 06:43:36 2014 -0300 [media] cx23885: Add busy checks before changing formats Before you can change the standard or the capture format, make sure the various vb2_queues aren't in use since you cannot change the buffer size from underneath a a busy vb2_queue. Also make sure that the return code of cx23885_set_tvnorm is returned correctly, otherwise the -EBUSY will be lost. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4d63a25c4523b5d18e5307897d56aff785f43bf5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Aug 10 06:26:01 2014 -0300 [media] cx23885: remove btcx-risc dependency It's just as easy to do it in the driver. This dependency only uses a fraction of the btcx-risc module and doing it directly in the driver adds only a few lines. The btcx-risc module is really meant for the bttv driver, not for other drivers. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 96f233e97587a7f6c0f47476118cdb9a23a9ebe0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Aug 9 18:04:41 2014 -0300 [media] cx23885: fix field handling Add missing SEQ_BT/TB support, bottom field is first for all 60 Hz formats, not just NTSC, restore an overwritten field value and initialize dev->field correctly. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 453afdd9ce33293f640e84dc17e5f366701516e8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 14 06:43:01 2014 -0300 [media] cx23885: convert to vb2 As usual, this patch is very large due to the fact that half a vb2 conversion isn't possible. And since this affects 417, alsa, core, dvb, vbi and video the changes are all over. What made this more difficult was the peculiar way the risc program was setup. The driver allowed for running out of buffers in which case the DMA would stop and restart when the next buffer was queued. There was also a complicated timeout system for when buffers weren't filled. This was replaced by a much simpler scheme where there is always one buffer around and the DMA will just cycle that buffer until a new buffer is queued. In that case the previous buffer will be chained to the new buffer. An interrupt is generated at the start of the new buffer telling the driver that the previous buffer can be passed on to userspace. Much simpler and more robust. The old code seems to be copied from the cx88 driver. But it didn't fit the vb2 ops very well and replacing it with the new scheme made the code easier to understand. Not to mention that this patch removes 600 lines of code. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 73d8102298719863d54264f62521362487f84256 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Sep 3 10:18:57 2014 -0300 [media] vivid: tpg_reset_source prototype mismatch Replaced enum v4l2_field by u32, just as the prototype in the header has. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5754d0d586a5d7c6a6fa43551f6e3b377c5f111d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Sep 3 04:29:00 2014 -0300 [media] vivid: add missing includes Fix kbuild test robot warnings about missing vmalloc.h and string.h includes. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1d54b3a43cd1228dc90dcd331eb735f79e3b021e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Sep 3 04:18:23 2014 -0300 [media] vivid: remove duplicate and unused g/s_edid functions I'm not sure how I missed this, but they should be removed. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 751e78d0f5c3e90203682b6acc2a5cdf447a646d Author: Antonio Ospite <ao2@xxxxxx> Date: Wed Jun 4 09:03:40 2014 -0300 [media] trivial: drivers/media/usb/gspca/gspca.h: indent with TABs, not spaces Signed-off-by: Antonio Ospite <ao2@xxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 59234e5973b31dd7f7253233a00ae05b3176439f Author: Antonio Ospite <ao2@xxxxxx> Date: Wed Jun 4 09:03:39 2014 -0300 [media] trivial: drivers/media/usb/gspca/gspca.c: fix the indentation of a comment Fix indentation of a comment, put it on the same level of the code it refers to. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f461694b965b8cdf67c330d14c802a74acf7bec1 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 18:32:28 2014 -0300 [media] m88ts2022: change parameter type of m88ts2022_cmd It is driver internal function and does not need anything from frontend structure. Due to that change parameter type to driver state which is better for driver internal functions. Also remove one unused variable from state itself. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 35c77a85463cacf7fe2fa8e998698170c42e80f6 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 18:22:05 2014 -0300 [media] m88ts2022: convert to RegMap I2C API Use RegMap to cover I2C register routines. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b8d67ab656288457a6728284d3a054544f629979 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 17:07:17 2014 -0300 [media] m88ts2022: clean up logging There is no need to print module name nor function name as those are done by kernel logging system when dev_xxx logging is used and driver is proper I2C driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit eb773df5d2cf68be127b2ee146336f888962a521 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 16:27:55 2014 -0300 [media] m88ts2022: rename device state (priv => dev) foo_dev seems to be most correct term for the structure holding data of each device instance. It is most used term in Kernel and also examples from book Linux Device Drivers, Third Edition, uses it. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c65fde192257d3007030c1aca5f4953235394e74 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Aug 10 05:16:39 2014 -0300 [media] MAINTAINERS: add tw68 entry Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 04da2daee383391954b34e7d0fe0281d75447d61 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 20:44:04 2014 -0300 [media] ngene: properly handle __user ptr Sparse is complaining about ngene's bad usage of a __user ptr: >> drivers/media/pci/ngene/ngene-dvb.c:62:48: sparse: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-dvb.c:62:48: expected unsigned char const [usertype] *buf drivers/media/pci/ngene/ngene-dvb.c:62:48: got char const [noderef] <asn:1>*buf As this is intercepting a .write() file ops, we can't just memcpy. We need to use copy_from_user. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ba29e721eb2df6df8f33c1f248388bb037a47914 Author: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Date: Wed Jul 16 15:22:29 2014 +0300 UBIFS: fix free log space calculation Hu (hujianyang <hujianyang@xxxxxxxxxx>) discovered an issue in the 'empty_log_bytes()' function, which calculates how many bytes are left in the log: " If 'c->lhead_lnum + 1 == c->ltail_lnum' and 'c->lhead_offs == c->leb_size', 'h' would equalent to 't' and 'empty_log_bytes()' would return 'c->log_bytes' instead of 0. " At this point it is not clear what would be the consequences of this, and whether this may lead to any problems, but this patch addresses the issue just in case. Cc: stable@xxxxxxxxxxxxxxx Tested-by: hujianyang <hujianyang@xxxxxxxxxx> Reported-by: hujianyang <hujianyang@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 052c28073ff26f771d44ef33952a41d18dadd255 Author: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Date: Sun Jun 29 17:00:45 2014 +0300 UBIFS: fix a race condition Hu (hujianyang@xxxxxxxxxx) discovered a race condition which may lead to a situation when UBIFS is unable to mount the file-system after an unclean reboot. The problem is theoretical, though. In UBIFS, we have the log, which basically a set of LEBs in a certain area. The log has the tail and the head. Every time user writes data to the file-system, the UBIFS journal grows, and the log grows as well, because we append new reference nodes to the head of the log. So the head moves forward all the time, while the log tail stays at the same position. At any time, the UBIFS master node points to the tail of the log. When we mount the file-system, we scan the log, and we always start from its tail, because this is where the master node points to. The only occasion when the tail of the log changes is the commit operation. The commit operation has 2 phases - "commit start" and "commit end". The former is relatively short, and does not involve much I/O. During this phase we mostly just build various in-memory lists of the things which have to be written to the flash media during "commit end" phase. During the commit start phase, what we do is we "clean" the log. Indeed, the commit operation will index all the data in the journal, so the entire journal "disappears", and therefore the data in the log become unneeded. So we just move the head of the log to the next LEB, and write the CS node there. This LEB will be the tail of the new log when the commit operation finishes. When the "commit start" phase finishes, users may write more data to the file-system, in parallel with the ongoing "commit end" operation. At this point the log tail was not changed yet, it is the same as it had been before we started the commit. The log head keeps moving forward, though. The commit operation now needs to write the new master node, and the new master node should point to the new log tail. After this the LEBs between the old log tail and the new log tail can be unmapped and re-used again. And here is the possible problem. We do 2 operations: (a) We first update the log tail position in memory (see 'ubifs_log_end_commit()'). (b) And then we write the master node (see the big lock of code in 'do_commit()'). But nothing prevents the log head from moving forward between (a) and (b), and the log head may "wrap" now to the old log tail. And when the "wrap" happens, the contends of the log tail gets erased. Now a power cut happens and we are in trouble. We end up with the old master node pointing to the old tail, which was erased. And replay fails because it expects the master node to point to the correct log tail at all times. This patch merges the abovementioned (a) and (b) operations by moving the master node change code to the 'ubifs_log_end_commit()' function, so that it runs with the log mutex locked, which will prevent the log from being changed benween operations (a) and (b). Cc: stable@xxxxxxxxxxxxxxx # 07e19df UBIFS: remove mst_mutex Cc: stable@xxxxxxxxxxxxxxx Reported-by: hujianyang <hujianyang@xxxxxxxxxx> Tested-by: hujianyang <hujianyang@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 4980f95755e2966b30ac70d1841f4db66d1a8a22 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Mon Sep 8 11:21:49 2014 +0200 HID: usbhid: fix PIXART optical mouse This mouse keeps disconnecting in runlevel 3. It needs the ALWAYS_POLL quirk. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b1e9be8775b85d761cdb91386200a04d741f6a0d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Sep 8 11:22:42 2014 +0200 mac80211: annotate MMIC head/tailroom warning This message occasionally triggers for some people as in https://bugzilla.redhat.com/show_bug.cgi?id=1111740 but it's not clear which (headroom or tailroom) is at fault. Annotate the message a bit to get more information. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7fd4394dfe1db02ba904dfa1048f718cbca822d1 Merge: d6cc58e 7af142f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 8 11:01:10 2014 +0200 Merge branch 'topic/pcm-nonatomic' into for-next This is a merge for exending PCM ops to be non-atomic. commit d6cc58e127a0b7df78d869a29ff073da6fb899bb Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 7 21:47:33 2014 +0200 ALSA: virtuoso: add Xonar Essence STX II daughterboard support Detect and handle the H6 daughterboard; it works the same as with the ST, except that there is no conflict with the CS2000 chip. Tested-by: Andreas Allacher <andreas.allacher@xxxxxx> Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dd38dc1a9bf780b619ab93b3d7a5e90ebad441f5 Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 7 21:45:59 2014 +0200 ALSA: virtuoso: add one more headphone impedance setting Add one more option to the "Headphones Impedance" control to synchronize with recent versions of the Windows driver. Tested-by: fugazzi® <fugazzi99@xxxxxxxxx> Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 49f4b4d15c7c9ff8efbb18d9f8c224d3682da573 Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 7 21:44:29 2014 +0200 ALSA: usb-audio: add MIDI port names for the Yamaha MOTIF XF Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit df1e471966479526ae64b64d8851a89db26b30bb Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 7 21:43:41 2014 +0200 ALSA: pcm: snd_interval_step: fix changes of open intervals Changing an interval boundary to a multiple of the step size makes that boundary exact. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0f519b622151339b7754d0406ddc40940063572a Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 7 21:43:07 2014 +0200 ALSA: pcm: snd_interval_step: drop the min parameter The min parameter was not used by any caller. And if it were used, underflows in the calculations could lead to incorrect results. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d07a1ecdfb96b26dd665b54fee22fc7417b1cb08 Author: Gaël PORTAY <gael.portay@xxxxxxxxx> Date: Sat Sep 6 19:52:37 2014 +0200 clocksource: tcb_clksrc: sanitize IRQ request The clock is not unprepared in case of the request IRQ fails. Also update to request_irq. Signed-off-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 84f462371cc07272a17e2ae96c3540f795db273a Author: Gaël PORTAY <gael.portay@xxxxxxxxx> Date: Sat Sep 6 19:52:36 2014 +0200 ARM: at91/tclib: mask interruptions at shutdown and probe Shutdown properly the timer counter block by masking interruptions. Otherwise, a segmentation may happen when kexec-ing a new kernel (see backtrace below). An interruption may happen before the handler is set, leading to a kernel segmentation fault. Furthermore, we make sure the interruptions are masked when the driver is initialized. This will prevent freshly kexec-ed kernel from crashing when launched from a kernel which does not properly mask interruptions at shutdown. The backtrace below happened after kexec-ing a new kernel, from a kernel that did not shut down properly leaving interruptions unmasked. Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0004000 [00000000] *pgd=00000000 Internal error: Oops: 80000005 [#1] ARM Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 3.16.0+ #144 task: c1828aa0 ti: c182a000 task.ti: c182a000 PC is at 0x0 LR is at ch2_irq+0x28/0x30 pc : [<00000000>] lr : [<c01db904>] psr: 000000d3 sp : c182bd38 ip : c182bd48 fp : c182bd44 r10: c0373390 r9 : c1825b00 r8 : 60000053 r7 : 00000000 r6 : 00000000 r5 : 00000013 r4 : c036e800 r3 : 00000000 r2 : 00002004 r1 : c036e760 r0 : c036e760 Flags: nzcv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel Control: 0005317f Table: 20004000 DAC: 00000017 Process swapper (pid: 1, stack limit = 0xc182a1c0) Stack: (0xc182bd38 to 0xc182c000) bd20: c182bd7c c182bd48 bd40: c0045430 c01db8ec 00000000 c18c6f40 c182bd74 c1825b00 c035cec4 00000000 bd60: c182be2c 60000053 c1825b34 00000000 c182bd94 c182bd80 c0045570 c0045408 bd80: 00000000 c1825b00 c182bdac c182bd98 c0047f34 c0045550 00000013 c036619c bda0: c182bdc4 c182bdb0 c0044da4 c0047e98 0000007f 00000013 c182bde4 c182bdc8 bdc0: c0009e34 c0044d8c fefff000 c0046728 60000053 ffffffff c182bdf4 c182bde8 bde0: c00086a8 c0009ddc c182be74 c182bdf8 c000cb80 c0008674 00000000 00000013 be00: 00000000 00014200 c1825b00 c036e800 00000013 c035ed98 60000053 c1825b34 be20: 00000000 c182be74 c182be20 c182be40 c0047994 c0046728 60000053 ffffffff be40: 00000013 c036e800 c182be64 c1825b00 00000013 c036e800 c035ed98 c03874bc be60: 00000004 c036e700 c182be94 c182be78 c004689c c0046398 c036e760 c18c6080 be80: 00000000 c035ed10 c182bedc c182be98 c0348b08 c004684c 0000000c c034dac8 bea0: 004c4b3f c028c338 c036e760 00000013 c014ecc8 c18e67e0 c035b9c0 c0348884 bec0: c035b9c0 c182a020 00000000 00000000 c182bf54 c182bee0 c00089fc c0348894 bee0: c00da51c c1ffcc78 c182bf0c c182bef8 c002d100 c002d09c c1ffcc78 00000000 bf00: c182bf54 c182bf10 c002d308 c0336570 c182bf3c c0334e44 00000003 00000003 bf20: 00000030 c0334b44 c0044d74 00000003 00000003 c034dac8 c0350a94 c0373440 bf40: c0373440 00000030 c182bf94 c182bf58 c0336d24 c000890c 00000003 00000003 bf60: c0336560 c182bf64 c182bf64 6e616e0d 00000000 c0272fc8 00000000 00000000 bf80: 00000000 00000000 c182bfac c182bf98 c0272fd8 c0336bd8 c182a000 00000000 bfa0: 00000000 c182bfb0 c00095d0 c0272fd8 00000000 00000000 00000000 00000000 bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 374d27cd 33cc33e4 Backtrace: [<c01db8dc>] (ch2_irq) from [<c0045430>] (handle_irq_event_percpu+0x38/0x148) [<c00453f8>] (handle_irq_event_percpu) from [<c0045570>] (handle_irq_event+0x30/0x40) r10:00000000 r9:c1825b34 r8:60000053 r7:c182be2c r6:00000000 r5:c035cec4 r4:c1825b00 [<c0045540>] (handle_irq_event) from [<c0047f34>] (handle_fasteoi_irq+0xac/0x11c) r4:c1825b00 r3:00000000 [<c0047e88>] (handle_fasteoi_irq) from [<c0044da4>] (generic_handle_irq+0x28/0x38) r5:c036619c r4:00000013 [<c0044d7c>] (generic_handle_irq) from [<c0009e34>] (handle_IRQ+0x68/0x88) r4:00000013 r3:0000007f [<c0009dcc>] (handle_IRQ) from [<c00086a8>] (at91_aic_handle_irq+0x44/0x4c) r6:ffffffff r5:60000053 r4:c0046728 r3:fefff000 [<c0008664>] (at91_aic_handle_irq) from [<c000cb80>] (__irq_svc+0x40/0x4c) Exception stack(0xc182bdf8 to 0xc182be40) bde0: 00000000 00000013 be00: 00000000 00014200 c1825b00 c036e800 00000013 c035ed98 60000053 c1825b34 be20: 00000000 c182be74 c182be20 c182be40 c0047994 c0046728 60000053 ffffffff [<c0046388>] (__setup_irq) from [<c004689c>] (setup_irq+0x60/0x8c) r10:c036e700 r9:00000004 r8:c03874bc r7:c035ed98 r6:c036e800 r5:00000013 r4:c1825b00 [<c004683c>] (setup_irq) from [<c0348b08>] (tcb_clksrc_init+0x284/0x31c) r6:c035ed10 r5:00000000 r4:c18c6080 r3:c036e760 [<c0348884>] (tcb_clksrc_init) from [<c00089fc>] (do_one_initcall+0x100/0x1b4) r10:00000000 r9:00000000 r8:c182a020 r7:c035b9c0 r6:c0348884 r5:c035b9c0 r4:c18e67e0 [<c00088fc>] (do_one_initcall) from [<c0336d24>] (kernel_init_freeable+0x15c/0x224) r9:00000030 r8:c0373440 r7:c0373440 r6:c0350a94 r5:c034dac8 r4:00000003 [<c0336bc8>] (kernel_init_freeable) from [<c0272fd8>] (kernel_init+0x10/0xec) r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0272fc8 r4:00000000 [<c0272fc8>] (kernel_init) from [<c00095d0>] (ret_from_fork+0x14/0x24) r4:00000000 r3:c182a000 Code: bad PC value ---[ end trace 5b30f0017e282e47 ]--- Kernel panic - not syncing: Fatal exception in interrupt Signed-off-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4930d247af29f849cd1bddd65be2400684dc886e Author: Gaël PORTAY <gael.portay@xxxxxxxxx> Date: Sat Sep 6 19:52:35 2014 +0200 ARM: at91/tclib: move initialization from alloc to probe Move resource retrieval from atmel_tc_alloc to tc_probe to avoid lately reporting resource related issues when a TC block user request a TC block. Moreover, resources retrieval are usually done in the probe function, thus moving them add some consistency with other drivers. Initialization is done once, ie not every time a tc block is requested. If it fails, the device is not appended to the list of tc blocks. Furhermore, the device id is retrieved at probe as well, avoiding parsing DT every time the user requests of tc block. Signed-off-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Acked-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8495497f921e73d5192d4896d55414f0304d8561 Author: Gaël PORTAY <gael.portay@xxxxxxxxx> Date: Sat Sep 6 19:52:34 2014 +0200 ARM: at91/tclib: prefer using of devm_* functions Signed-off-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c8d6591752e96c550cb98b781326d72d8eedcc79 Author: Steinar H. Gunderson <sgunderson@xxxxxxxxxxx> Date: Wed Sep 3 06:48:37 2014 -0700 mac80211: support DTPC IE (from Cisco Client eXtensions) Linux already supports 802.11h, where the access point can tell the client to reduce its transmission power. However, 802.11h is only defined for 5 GHz, where the need for this is much smaller than on 2.4 GHz. Cisco has their own solution, called DTPC (Dynamic Transmit Power Control). Cisco APs on a controller sometimes but not always send 802.11h; they always send DTPC, even on 2.4 GHz. This patch adds support for parsing and honoring the DTPC IE in addition to the 802.11h element (they do not always contain the same limits, so both must be honored); the format is not documented, but very simple. Tested (on top of wireless.git and on 3.16.1) against a Cisco Aironet 1142 joined to a Cisco 2504 WLC, by setting various transmit power levels for the given access points and observing the results. The Wireshark 802.11 dissector agrees with the interpretation of the element, except for negative numbers, which seem to never happen anyway. Signed-off-by: Steinar H. Gunderson <sgunderson@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> commit 24a4e4008ca2a819c4c889163586a8a9b7a3a08d Author: Steinar H. Gunderson <sgunderson@xxxxxxxxxxx> Date: Wed Sep 3 06:22:10 2014 -0700 mac80211: split 802.11h parsing from transmit power policy Decouple the logic of parsing the 802.11d and 802.11h IEs from the part of deciding what to do about the data (messaging, clamping to 0 dBm, doing the actual setting). This paves the way for the next patch, which introduces more data sources for transmit power limitation. Signed-off-by: Steinar H. Gunderson <sgunderson@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 221414db1934c1c883501998f510bb75acfbaa51 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Thu Aug 7 18:07:07 2014 +0200 mmc: sdhci-s3c: fix runtime PM handling on sdhci_add_host() failure Runtime Power Management handling for the sdhci_add_host() failure case in sdhci_s3c_probe() should match the code in sdhci_s3c_remove() (which uses pm_runtime_disable() call which matches the earlier pm_runtime_enable() one). Fix it. This patch fixes "BUG: spinlock bad magic on CPU#0, swapper/0/1" and "Unbalanced pm_runtime_enable!" warnings. >From the kernel log: ... [ 1.659631] s3c-sdhci 12530000.sdhci: sdhci_add_host() failed [ 1.665096] BUG: spinlock bad magic on CPU#0, swapper/0/1 [ 1.670433] lock: 0xea01e484, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0 [ 1.677895] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.16.0-next-20140804-00008-ga59480f-dirty #707 [ 1.687037] [<c0013ae4>] (unwind_backtrace) from [<c0010d70>] (show_stack+0x10/0x14) [ 1.694740] [<c0010d70>] (show_stack) from [<c04050c8>] (dump_stack+0x68/0xb8) [ 1.701948] [<c04050c8>] (dump_stack) from [<c0052558>] (do_raw_spin_lock+0x15c/0x1a4) [ 1.709848] [<c0052558>] (do_raw_spin_lock) from [<c040a630>] (_raw_spin_lock_irqsave+0x20/0x28) [ 1.718619] [<c040a630>] (_raw_spin_lock_irqsave) from [<c030d7d0>] (sdhci_do_set_ios+0x1c/0x5cc) [ 1.727464] [<c030d7d0>] (sdhci_do_set_ios) from [<c030ddfc>] (sdhci_runtime_resume_host+0x50/0x104) [ 1.736574] [<c030ddfc>] (sdhci_runtime_resume_host) from [<c02462dc>] (pm_generic_runtime_resume+0x2c/0x40) [ 1.746383] [<c02462dc>] (pm_generic_runtime_resume) from [<c0247898>] (__rpm_callback+0x34/0x70) [ 1.755233] [<c0247898>] (__rpm_callback) from [<c02478fc>] (rpm_callback+0x28/0x88) [ 1.762958] [<c02478fc>] (rpm_callback) from [<c02486f0>] (rpm_resume+0x384/0x4ec) [ 1.770511] [<c02486f0>] (rpm_resume) from [<c02488b0>] (pm_runtime_forbid+0x58/0x64) [ 1.778325] [<c02488b0>] (pm_runtime_forbid) from [<c030ea70>] (sdhci_s3c_probe+0x4a4/0x540) [ 1.786749] [<c030ea70>] (sdhci_s3c_probe) from [<c02429cc>] (platform_drv_probe+0x2c/0x5c) [ 1.795076] [<c02429cc>] (platform_drv_probe) from [<c02415f0>] (driver_probe_device+0x114/0x234) [ 1.803929] [<c02415f0>] (driver_probe_device) from [<c024179c>] (__driver_attach+0x8c/0x90) [ 1.812347] [<c024179c>] (__driver_attach) from [<c023ffb4>] (bus_for_each_dev+0x54/0x88) [ 1.820506] [<c023ffb4>] (bus_for_each_dev) from [<c0240df8>] (bus_add_driver+0xd8/0x1cc) [ 1.828665] [<c0240df8>] (bus_add_driver) from [<c0241db8>] (driver_register+0x78/0xf4) [ 1.836652] [<c0241db8>] (driver_register) from [<c00088a4>] (do_one_initcall+0x80/0x1d0) [ 1.844816] [<c00088a4>] (do_one_initcall) from [<c059ac94>] (kernel_init_freeable+0x108/0x1d4) [ 1.853503] [<c059ac94>] (kernel_init_freeable) from [<c0401300>] (kernel_init+0x8/0xe4) [ 1.861568] [<c0401300>] (kernel_init) from [<c000e538>] (ret_from_fork+0x14/0x3c) [ 1.869582] platform 12530000.sdhci: Driver s3c-sdhci requests probe deferral ... [ 1.997047] s3c-sdhci 12530000.sdhci: Unbalanced pm_runtime_enable! ... [ 2.027235] s3c-sdhci 12530000.sdhci: sdhci_add_host() failed [ 2.032884] platform 12530000.sdhci: Driver s3c-sdhci requests probe deferral ... Tested on Hardkernel's Exynos4412 based ODROID-U3 board. Fixes: 9f4e8151dbbc ("mmc: sdhci-s3c: Enable runtime power management") Cc: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Cc: Ben Dooks <ben-linux@xxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2570741ac876fea8383fcea7388370f77d6574d7 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 5 06:56:18 2014 -0700 score: Remove GENERIC_HAS_IOMAP The symbol is an orphan, get rid of it. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> [Guenter Roeck: Merge with 3.17-rc3; update headline] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5df4eb054fe056ecb15875e812fdadbc47568d7d Author: John DeSilva <desilvjo@xxxxxxxxx> Date: Fri Sep 5 11:13:17 2014 -0400 HID: Add Holtek USB ID 04d9:a0c2 ETEKCITY Scroll The report descriptor for the HOLTEK USB ID 04d9:a0c2 (ETEKCITY Scroll T-140 Gaming Mouse) is set to a very large amount of consumer usages (2^16), exceeding HID_MAX_USAGES. Added id, bindings and comments for the mouse, added to hid_have_special_driver, and reduced the usage and logical maximums to 0x2fff, consistent with the other mice in the category. Tested on the hardware. Signed-off-by: John C. DeSilva <desilvjo@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 643727a92e92efd657fbbbe70b3c35a49e537010 Author: Hans Petter Selasky <hps@xxxxxxxxxxx> Date: Mon Sep 8 09:35:35 2014 +0200 HID: fix ignore_special_drivers modparam description Signed-off-by: Hans Petter Selasky <hps@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit bfe3c873e978d78b542a5852575dd74f4d1a5838 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Fri Sep 5 18:08:48 2014 +0200 HID: usbhid: enable always-poll quirk for Elan Touchscreen Enable the always-poll quirk for Elan Touchscreens found on some recent Samsung laptops. Without this quirk the device keeps disconnecting from the bus (and is re-enumerated) unless opened (and kept open, should an input event occur). Note that while the device can be run-time suspended, the autosuspend timeout must be high enough to allow the device to be polled at least once before being suspended. Specifically, using autosuspend_delay_ms=0 will still cause the device to disconnect on input events. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0b750b3baa2d64f1b77aecc10f20deeb28efe60d Author: Johan Hovold <johan@xxxxxxxxxx> Date: Fri Sep 5 18:08:47 2014 +0200 HID: usbhid: add always-poll quirk Add quirk to make sure that a device is always polled for input events even if it hasn't been opened. This is needed for devices that disconnects from the bus unless the interrupt endpoint has been polled at least once or when not responding to an input event (e.g. after having shut down X). Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit eb1b4af0a64ac7bb0ee36f579c1c7cefcbc3ac2c Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Aug 15 16:05:38 2014 -0400 sched, time: Atomically increment stime & utime The functions task_cputime_adjusted and thread_group_cputime_adjusted() can be called locklessly, as well as concurrently on many different CPUs. This can occasionally lead to the utime and stime reported by times(), and other syscalls like it, going backward. The cause for this appears to be multiple threads racing in cputime_adjust(), both with values for utime or stime that is larger than the original, but each with a different value. Sometimes the larger value gets saved first, only to be immediately overwritten with a smaller value by another thread. Using atomic exchange prevents that problem, and ensures time progresses monotonically. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: umgwanakikbuti@xxxxxxxxx Cc: fweisbec@xxxxxxxxx Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: srao@xxxxxxxxxx Cc: lwoodman@xxxxxxxxxx Cc: atheurer@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Link: http://lkml.kernel.org/r/1408133138-22048-4-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e78c3496790ee8a36522a838b59b388e8a709e65 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Sat Aug 16 13:40:10 2014 -0400 time, signal: Protect resource use statistics with seqlock Both times() and clock_gettime(CLOCK_PROCESS_CPUTIME_ID) have scalability issues on large systems, due to both functions being serialized with a lock. The lock protects against reporting a wrong value, due to a thread in the task group exiting, its statistics reporting up to the signal struct, and that exited task's statistics being counted twice (or not at all). Protecting that with a lock results in times() and clock_gettime() being completely serialized on large systems. This can be fixed by using a seqlock around the events that gather and propagate statistics. As an additional benefit, the protection code can be moved into thread_group_cputime(), slightly simplifying the calling functions. In the case of posix_cpu_clock_get_task() things can be simplified a lot, because the calling function already ensures that the task sticks around, and the rest is now taken care of in thread_group_cputime(). This way the statistics reporting code can run lockless. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Alex Thorlton <athorlton@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Daeseok Youn <daeseok.youn@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guillaume Morin <guillaume@xxxxxxxxxxx> Cc: Ionut Alexa <ionut.m.alexa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Michal Schmidt <mschmidt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: umgwanakikbuti@xxxxxxxxx Cc: fweisbec@xxxxxxxxx Cc: srao@xxxxxxxxxx Cc: lwoodman@xxxxxxxxxx Cc: atheurer@xxxxxxxxxx Link: http://lkml.kernel.org/r/20140816134010.26a9b572@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 90ed9cbe765ad358b3151a12b8bf889a3cbcd573 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Aug 15 16:05:36 2014 -0400 exit: Always reap resource stats in __exit_signal() Oleg pointed out that wait_task_zombie adds a task's usage statistics to the parent's signal struct, but the task's own signal struct should also propagate the statistics at exit time. This allows thread_group_cputime(reaped_zombie) to get the statistics after __unhash_process() has made the task invisible to for_each_thread, but before the thread has actually been rcu freed, making sure no non-monotonic results are returned inside that window. Suggested-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Guillaume Morin <guillaume@xxxxxxxxxxx> Cc: Ionut Alexa <ionut.m.alexa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Michal Schmidt <mschmidt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: umgwanakikbuti@xxxxxxxxx Cc: fweisbec@xxxxxxxxx Cc: srao@xxxxxxxxxx Cc: lwoodman@xxxxxxxxxx Cc: atheurer@xxxxxxxxxx Link: http://lkml.kernel.org/r/1408133138-22048-2-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e2627dce268024aff962132057cb8acb219c9c40 Merge: 177ef2a 2ce7598 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Sep 8 08:11:07 2014 +0200 Merge tag 'v3.17-rc4' into sched/core, to prevent conflicts with upcoming patches, and to refresh the tree Linux 3.17-rc4 commit eb84d6b60491a3ca3d90d62ee5346b007770d40d Merge: 97a13e5 d030671 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 7 21:41:53 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit a34375ef9e65340a138fc0be287de5c940d260fc Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 09:51:30 2014 +0900 percpu-refcount: add @gfp to percpu_ref_init() Percpu allocator now supports allocation mask. Add @gfp to percpu_ref_init() so that !GFP_KERNEL allocation masks can be used with percpu_refs too. This patch doesn't make any functional difference. v2: blk-mq conversion was missing. Updated. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Kent Overstreet <koverstreet@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> commit 20ae00792c6f1f18fc4fc5965445a145df92827e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 09:51:30 2014 +0900 proportions: add @gfp to init functions Percpu allocator now supports allocation mask. Add @gfp to [flex_]proportions init functions so that !GFP_KERNEL allocation masks can be used with them too. This patch doesn't make any functional difference. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> commit 908c7f1949cb7cc6e92ba8f18f2998e87e265b8e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 09:51:29 2014 +0900 percpu_counter: add @gfp to percpu_counter_init() Percpu allocator now supports allocation mask. Add @gfp to percpu_counter_init() so that !GFP_KERNEL allocation masks can be used with percpu_counters too. We could have left percpu_counter_init() alone and added percpu_counter_init_gfp(); however, the number of users isn't that high and introducing _gfp variants to all percpu data structures would be quite ugly, so let's just do the conversion. This is the one with the most users. Other percpu data structures are a lot easier to convert. This patch doesn't make any functional difference. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jan Kara <jack@xxxxxxx> Acked-by: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: x86@xxxxxxxxxx Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit ebd8fef304f99da84d4a52ad056f6137ac9652d4 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 09:51:29 2014 +0900 percpu_counter: make percpu_counters_lock irq-safe percpu_counter is scheduled to grow @gfp support to allow atomic initialization. This patch makes percpu_counters_lock irq-safe so that it can be safely used from atomic contexts. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 284a8c93af47306beed967a303d84730b32bab39 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 16:38:46 2014 -0700 rcu: Per-CPU operation cleanups to rcu_*_qs() functions The rcu_bh_qs(), rcu_preempt_qs(), and rcu_sched_qs() functions use old-style per-CPU variable access and write to ->passed_quiesce even if it is already set. This commit therefore updates to use the new-style per-CPU variable access functions and avoids the spurious writes. This commit also eliminates the "cpu" argument to these functions because they are always invoked on the indicated CPU. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 1d082fd061884a587c490c4fc8a2056ce1e47624 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 16:01:53 2014 -0700 rcu: Remove local_irq_disable() in rcu_preempt_note_context_switch() The rcu_preempt_note_context_switch() function is on a scheduling fast path, so it would be good to avoid disabling irqs. The reason that irqs are disabled is to synchronize process-level and irq-handler access to the task_struct ->rcu_read_unlock_special bitmask. This commit therefore makes ->rcu_read_unlock_special instead be a union of bools with a short allowing single-access checks in RCU's __rcu_read_unlock(). This results in the process-level and irq-handler accesses being simple loads and stores, so that irqs need no longer be disabled. This commit therefore removes the irq disabling from rcu_preempt_note_context_switch(). Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4ff475ed4cf61a7f56bbfbc424147189d0022b38 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 10 19:47:12 2014 -0700 rcu: Additional information on RCU-tasks stall-warning messages Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 01a81330344b09028881c953a51d1106a9e63518 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 5 05:23:35 2014 -0700 rcu: Remove redundant preempt_disable() from rcu_note_voluntary_context_switch() In theory, synchronize_sched() requires a read-side critical section to order against. In practice, preemption can be thought of as being disabled across every machine instruction, at least for those machine instructions that are not in the idle loop and not on offline CPUs. So this commit removes the redundant preempt_disable() from rcu_note_voluntary_context_switch(). Please note that the single instruction in question is the store of zero to ->rcu_tasks_holdout. The "if" is simply a performance optimization that avoids unnecessary stores. To see this, keep in mind that both the "if" condition and the store are in a quiescent state. Therefore, even if the task is preempted for a full grace period (presumably due to its having done a context switch beforehand), the store will be recording a legitimate quiescent state. Reported-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Conflicts: include/linux/rcupdate.h commit 8f20a5e83d2c5d0e126a2fc9bca67f7430dac907 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 5 05:10:24 2014 -0700 rcu: Make rcu_tasks_kthread()'s GP-wait loop allow preemption The grace-period-wait loop in rcu_tasks_kthread() is under (unnecessary) RCU protection, and therefore has no preemption points in a PREEMPT=n kernel. This commit therefore removes the RCU protection and inserts cond_resched(). Reported-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 176f8f7a52cc6d09d686f0d900abda6942a52fbb Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 17:43:50 2014 -0700 rcu: Make TASKS_RCU handle nohz_full= CPUs Currently TASKS_RCU would ignore a CPU running a task in nohz_full= usermode execution. There would be neither a context switch nor a scheduling-clock interrupt to tell TASKS_RCU that the task in question had passed through a quiescent state. The grace period would therefore extend indefinitely. This commit therefore makes RCU's dyntick-idle subsystem record the task_struct structure of the task that is running in dyntick-idle mode on each CPU. The TASKS_RCU grace period can then access this information and record a quiescent state on behalf of any CPU running in dyntick-idle usermode. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 84a8f446ffd70c2799a96268aaa4d47c22a83ff0 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 07:24:21 2014 -0700 rcu: Defer rcu_tasks_kthread() creation till first call_rcu_tasks() It is expected that many sites will have CONFIG_TASKS_RCU=y, but will never actually invoke call_rcu_tasks(). For such sites, creating rcu_tasks_kthread() at boot is wasteful. This commit therefore defers creation of this kthread until the time of the first call_rcu_tasks(). This of course means that the first call_rcu_tasks() must be invoked from process context after the scheduler is fully operational. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 37fe5f0e2713608573c5df5e529e13a135625629 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 29 09:49:23 2014 -0700 documentation: Add verbiage on RCU-tasks stall warning messages This commit documents RCU-tasks stall warning messages and also describes when to use the new cond_resched_rcu_qs() API. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c7b24d2b9a0f2ce19fdf631d3148c80a8f6010b1 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 28 14:39:25 2014 -0700 rcu: Improve RCU-tasks energy efficiency The current RCU-tasks implementation uses strict polling to detect callback arrivals. This works quite well, but is not so good for energy efficiency. This commit therefore replaces the strict polling with a wait queue. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 52db30ab23b6d00cf80b22a510c4ea4be4458031 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 18:16:30 2014 -0700 rcu: Add stall-warning checks for RCU-tasks This commit adds a ten-minute RCU-tasks stall warning. The actual time is controlled by the boot/sysfs parameter rcu_task_stall_timeout, with values less than or equal to zero disabling the stall warnings. The default value is ten minutes, which means that the tasks that have not yet responded will get their stacks dumped every ten minutes, until they pass through a voluntary context switch. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f1a828f5fa3537456c417a81ad534c14022c268c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 12:56:20 2014 -0700 rcutorture: Add RCU-tasks test cases This commit adds the TASKS01 and TASKS02 Kconfig fragments, along with the corresponding TASKS01.boot and TASKS02.boot boot-parameter files specifying that rcutorture test RCU-tasks instead of the default flavor. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 69c604557ce34015629b325b85ff1a4996038a3b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:59:36 2014 -0700 rcutorture: Add torture tests for RCU-tasks This commit adds torture tests for RCU-tasks. It also fixes a bug that would segfault for an RCU flavor lacking a callback-barrier function. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 06c2a9238fad48ec38f1be00455bf942d54377ee Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Jul 2 18:17:19 2014 -0700 rcu: Export RCU-tasks APIs to GPL modules This commit exports the RCU-tasks synchronous APIs, synchronize_rcu_tasks() and rcu_barrier_tasks(), to GPL-licensed kernel modules. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 3f95aa81d265223fdb13ea2b59883766a05adbdf Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 06:10:23 2014 -0700 rcu: Make TASKS_RCU handle tasks that are almost done exiting Once a task has passed exit_notify() in the do_exit() code path, it is no longer on the task lists, and is therefore no longer visible to rcu_tasks_kthread(). This means that an almost-exited task might be preempted while within a trampoline, and this task won't be waited on by rcu_tasks_kthread(). This commit fixes this bug by adding an srcu_struct. An exiting task does srcu_read_lock() just before calling exit_notify(), and does the corresponding srcu_read_unlock() after doing the final preempt_disable(). This means that rcu_tasks_kthread() can do synchronize_srcu() to wait for all mostly-exited tasks to reach their final preempt_disable() region, and then use synchronize_sched() to wait for those tasks to finish exiting. Reported-by: Oleg Nesterov <oleg@xxxxxxxxxx> Suggested-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 53c6d4edf874d3cbc031a53738c6cba9277faea5 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 12:22:23 2014 -0700 rcu: Add synchronous grace-period waiting for RCU-tasks It turns out to be easier to add the synchronous grace-period waiting functions to RCU-tasks than to work around their absense in rcutorture, so this commit adds them. The key point is that the existence of call_rcu_tasks() means that rcutorture needs an rcu_barrier_tasks(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit bde6c3aa993066acb0d6ce32ecabe03b9d5df92d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:26:57 2014 -0700 rcu: Provide cond_resched_rcu_qs() to force quiescent states in long loops RCU-tasks requires the occasional voluntary context switch from CPU-bound in-kernel tasks. In some cases, this requires instrumenting cond_resched(). However, there is some reluctance to countenance unconditionally instrumenting cond_resched() (see http://lwn.net/Articles/603252/), so this commit creates a separate cond_resched_rcu_qs() that may be used in place of cond_resched() in locations prone to long-duration in-kernel looping. This commit currently instruments only RCU-tasks. Future possibilities include also instrumenting RCU, RCU-bh, and RCU-sched in order to reduce IPI usage. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 8315f42295d2667a7f942f154b73a86fd7cb2227 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 27 13:42:20 2014 -0700 rcu: Add call_rcu_tasks() This commit adds a new RCU-tasks flavor of RCU, which provides call_rcu_tasks(). This RCU flavor's quiescent states are voluntary context switch (not preemption!) and userspace execution (not the idle loop -- use some sort of schedule_on_each_cpu() if you need to handle the idle tasks. Note that unlike other RCU flavors, these quiescent states occur in tasks, not necessarily CPUs. Includes fixes from Steven Rostedt. This RCU flavor is assumed to have very infrequent latency-tolerant updaters. This assumption permits significant simplifications, including a single global callback list protected by a single global lock, along with a single task-private linked list containing all tasks that have not yet passed through a quiescent state. If experience shows this assumption to be incorrect, the required additional complexity will be added. Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit bc51896da2ceef188f9cd708943d48c1259ebe84 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 26 11:35:43 2014 -0700 torture: Check for nul bytes in console output When starting a new torture run while an old one is still running, both qemu processes can be outputting to the same console.out file. This can cause quite a bit of confusion, so this commit checks for this situation, which is normally indicated by nul bytes in the console output. Yes, if your new run uses up an exact number of blocks of the file, this check will be ineffective, but the odds are not bad. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit b76592412a320dd58572fa3517c39adb2fdbd7ed Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 20:41:47 2014 -0700 torture: Print PID in hung-kernel diagnostic message Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit 38706bc5a29a73645e512c06ffb759fb56259d83 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 18 21:12:17 2014 -0700 rcutorture: Add callback-flood test Although RCU is designed to handle arbitrary floods of callbacks, this capability is not routinely tested. This commit therefore adds a cbflood capability in which kthreads repeatedly registers large numbers of callbacks. One such kthread is created for each four CPUs (rounding up), and the test may be controlled by several cbflood_* kernel boot parameters, which control the number of bursts per flood, the number of callbacks per burst, the time between bursts, and the time between floods. The default values are large enough to exercise RCU's emergency responses to callback flooding. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit eea203fea3484598280a07fe503e025e886297fb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Jul 14 09:16:15 2014 -0400 rcu: Use pr_alert/pr_cont for printing logs User pr_alert/pr_cont for printing the logs from rcutorture module directly instead of writing it to a buffer and then printing it. This allows us from not having to allocate such buffers. Also remove a resulting empty function. I tested this using the parse-torture.sh script as follows: $ dmesg | grep torture > log.txt $ bash parse-torture.sh log.txt test $ There were no warnings which means that parsing went fine. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 188c1e896c0c28ac98809d11b6f29523805b34ef Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 26 21:38:09 2014 -0700 rcutorture: Specify CONFIG_CPUMASK_OFFSTACK=y for TREE07 This commit specifies offstack cpumasks in TREE07 in order to catch references to unallocated cpumask_var_t variables. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit ae867ff03d09c2aec56b0443b8b04e5a3fa1e336 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 21 13:35:10 2014 -0700 rcutorture: Specify MAXSMP=y for TREE01 Setting CONFIG_MAXSMP=y causes cpumasks to be moved offstack, which introduces the possibility of NULL cpumask_var_t pointers. This commit therefore enables CONFIG_MAXSMP=y in TREE01 to increase test coverage. However, because CONFIG_MAXSMP=y implies 8192 CPUs, we need to use the maxcpus= boot parameter to limit the number of CPUs to something reasonable, which in turn requires updating the scripts to handle this. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit 9e62b0efdcead5b66c0c006df2f19a449b22cf08 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 21 13:13:35 2014 -0700 rcutorture: Test partial nohz_full= configuration The current set of tests covers only cases where either all possible CPUs are nohz_full= CPUs or none of them are. Because there have been some recent bug escapes in cases where only some of the CPUs are nohz_full= CPUs, this commit add a configuration where only half of the CPUs are nohz_full= CPUs. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit 616fd166f64df42db7d1bdd12918d9105f3add05 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 18 12:01:39 2014 -0700 rcu: Add step to initrd documentation This commit tries to get people into the correct directory before creating the initrd directory. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit 3327d924a7fef224754273d70224f130d63997c6 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Jul 11 19:47:35 2014 -0400 rcutorture: Set executable bit and drop bash from Usage This commit sets the executable bit on test scripts config2frag.sh and kvm.sh. Since #!/bin/bash is set in all the scripts, this commit also drops it from all usage lines because the scripts can now all be invoked directly. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 1a5e31fbf9199212915095c47ebf22d0715d3389 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Jul 11 17:31:27 2014 -0400 rcutorture: Use bash shell for all the test scripts Some of the scripts encode a default /bin/sh shell. On systems which use dash as default shell, these scripts fail as they are bash scripts. I encountered this while testing the sprintf() changes on a Debian system where dash is the default shell. This commit changes all such uses to use bash explicitly. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 58ade2dbe9a253635e0835adedfaa822849aa3a3 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Jun 11 16:39:43 2014 -0400 rcutorture: Fix a sparse warning by marking boost_mutex static This commit fixes the following sparse warning by marking boost_mutex static: kernel/rcu/rcutorture.c:185:1: warning: symbol 'boost_mutex' was not declared. Should it be static? Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 73a860cd58a1eb258e889b615cebf738ab33aa23 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 10:28:23 2014 -0700 rcu: Replace flush_signals() with WARN_ON(signal_pending()) Currently, when RCU awakens from a wait_event_interruptible() that might have awakened prematurely, it does a flush_signals(). This is done on the off-chance that someone figured out how to deliver a signal to a kthread, which is supposed to be impossible. Given that this is supposed to be impossible, this commit changes the flush_signals() calls into WARN_ON(signal_pending()). Reported-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 2aa792e6faf1a00f5accf1f69e87e11a390ba2cd Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Aug 12 13:07:47 2014 -0400 rcu: Use rcu_gp_kthread_wake() to wake up grace period kthreads The rcu_gp_kthread_wake() function checks for three conditions before waking up grace period kthreads: * Is the thread we are trying to wake up the current thread? * Are the gp_flags zero? (all threads wait on non-zero gp_flags condition) * Is there no thread created for this flavour, hence nothing to wake up? If any one of these condition is true, we do not call wake_up(). It was found that there are quite a few avoidable wake ups both during idle time and under stress induced by rcutorture. Idle: Total:66000, unnecessary:66000, case1:61827, case2:66000, case3:0 Total:68000, unnecessary:68000, case1:63696, case2:68000, case3:0 rcutorture: Total:254000, unnecessary:254000, case1:199913, case2:254000, case3:0 Total:256000, unnecessary:256000, case1:201784, case2:256000, case3:0 Here case{1-3} are the cases listed above. We can avoid these wake ups by using rcu_gp_kthread_wake() to conditionally wake up the grace period kthreads. There is a comment about an implied barrier supplied by the wake_up() logic. This barrier is necessary for the awakened thread to see the updated ->gp_flags. This flag is always being updated with the root node lock held. Also, the awakened thread tries to acquire the root node lock before reading ->gp_flags because of which there is proper ordering. Hence this commit tries to avoid calling wake_up() whenever we can by using rcu_gp_kthread_wake() function. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> CC: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ade9862470dd0595d8e292ecea8445ed90b98df5 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 16:02:33 2014 -0700 rcu: Make TINY_RCU tinier by putting error checks under #ifdef The rcu_idle_enter_common() and rcu_idle_exit_common() functions contain error checks that have to the best of my knowledge have never triggered over the past several years. These are nevertheless valuable when creating new architectures or doing other low-level changes, so the checks should not be deleted. This commit instead places these checks under #ifdef CONFIG_RCU_TRACE so that they are executed only when specifically requested. The savings are significant: Before: text data bss dec hex filename 1749 39 0 1788 6fc /tmp/b/kernel/rcu/tiny.o 632 152 0 784 310 /tmp/b/kernel/rcu/update.o ---- 2572 After: text data bss dec hex filename 1281 37 0 1318 526 /tmp/b/kernel/rcu/tiny.o 632 152 0 784 310 /tmp/b/kernel/rcu/update.o ---- 2102 This amounts to 470 bytes, or 18% of the original. Switched from #ifdef to IS_ENABLED() on Josh Triplett's advice. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 9fdd3bc9005824704f9802bec7b3e06f5edae434 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 29 14:50:47 2014 -0700 rcu: Break more call_rcu() deadlock involving scheduler and perf Commit 96d3fd0d315a9 (rcu: Break call_rcu() deadlock involving scheduler and perf) covered the case where __call_rcu_nocb_enqueue() needs to wake the rcuo kthread due to the queue being initially empty, but did not do anything for the case where the queue was overflowing. This commit therefore also defers wakeup for the overflow case. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 66d701ea7e148f8ed8b1497c9159fbf6175d462f Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Jul 16 22:20:33 2014 -0400 rcu: Remove stale comment in tree.c This commit removes a stale comment in rcu/tree.c which was left out when some code was moved around previously in commit 2036d94a7b61 ("rcu: Rework detection of use of RCU by offline CPUs") For reference, the following updated comment exists a few lines below this which means the same: /* Remove the outgoing CPU from the masks in the rcu_node hierarchy. */ Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit fafb6e843f229a6e842a22773f16d93194ca06e4 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 15 18:31:47 2014 -0400 rcu: Update tiny.c references to tree.c This commit updates the references to rcutree.c which is now rcu/tree.c Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit a8a29b3b7b18251c4e3ffce501f25ae868302a75 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Sat Jul 12 19:01:49 2014 +0200 rcu: Define tracepoint strings only if CONFIG_TRACING is set Commit f7f7bac9cb1c ("rcu: Have the RCU tracepoints use the tracepoint_string infrastructure") unconditionally populates the __tracepoint_str input section, but this section is not assigned an output section if CONFIG_TRACING is not set. This results in the __tracepoint_str turning up in unexpected places, i.e., after _edata. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 85b39d305bfe809a11ff2770d380be3e2465beec Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 8 15:17:59 2014 -0700 rcu: Uninline rcu_read_lock_held() This commit uninlines rcu_read_lock_held(). According to "size vmlinux" this saves 28549 in .text: - 5541731 3014560 14757888 23314179 + 5513182 3026848 14757888 23297918 Note: it looks as if the data grows by 12288 bytes but this is not true, it does not actually grow. But .data starts with ALIGN(THREAD_SIZE) and since .text shrinks the padding grows, and thus .data grows too as it seen by /bin/size. diff System.map: - ffffffff81510000 D _sdata - ffffffff81510000 D init_thread_union + ffffffff81509000 D _sdata + ffffffff8150c000 D init_thread_union Perhaps we can change vmlinux.lds.S to .data itself, so that /bin/size can't "wrongly" report that .data grows if .text shinks. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit e02b2edfa13878c6671d31d5c736f56f89d99bf1 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Jul 9 00:08:17 2014 -0400 rcu: Use true/false instead of 1/0 for a bool type This commit uses true/false instead of 1/0 for bool types in rcu_gp_fqs() and force_qs_rnp(). Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 521d24ee598bd8a8b71d7ac76ce2c0da0e548406 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:18 2014 -0400 rcu: Return bool type in rcu_lockdep_current_cpu_online() Return true instead of 1 in rcu_lockdep_current_cpu_online() as this has bool as return type. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d0bc90fd37e50e4ea22c51c26947fd78c2a7a6c2 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:13 2014 -0400 rcu: Return bool type for rcu_try_advance_all_cbs() Return a bool type instead of 0 in rcu_try_advance_all_cbs(). Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f534ed1fd71cea885a59255d9b44c3b17df03eb1 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:11 2014 -0400 rcu: Use bool type for return value in rcu_is_watching() Use a bool type for return in rcu_is_watching(). Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit bf33eb1aef23e8049cd222471d35b0988c420b18 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:10 2014 -0400 rcu: Fix sparse warning about rcu_batches_completed_preempt() being non-static fix sparse warning about rcu_batches_completed_preempt() being non-static by marking it as static Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4de376a1b14e32f550931274f06b571abc0f3d4b Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 17:46:50 2014 -0400 rcu: Remove remaining read-modify-write ACCESS_ONCE() calls Change the remaining uses of ACCESS_ONCE() so that each ACCESS_ONCE() either does a load or a store, but not both. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 2456d2a617de0a37a0f8d1e44f4b270172c4f17a Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 15:40:02 2014 -0700 memory-barriers: Fix description of 2-legged-if-based control dependencies Sad to say, current compilers really will hoist identical stores from both branches of an "if" statement to precede the conditional. This commit therefore updates the description of control dependencies to reflect this ugly reality. Reported-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit efdcd51a4d5bd355796b1a757ff0355bb09ed394 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 11:49:34 2014 -0700 memory-barriers: Retain barrier() in fold-to-zero example The transformation in the fold-to-zero example incorrectly omits the barrier() directive. This commit therefore adds it back in. Reported-by: Pranith Kumar <pranith@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 5646f7acc95f14873f1ec715380c1c493b4243ce Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 25 17:05:24 2014 -0700 memory-barriers: Fix control-ordering no-transitivity example The control-ordering example demonstrating lack of transitivity had multiple problems. This commit fixes them. Reported-by: Nikolay Samofatov <nikolay.samofatov@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit 97a13e5289baa96eaddd06e61d277457d837af3a Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Sep 6 00:28:23 2014 +0200 net: phy: mdio-sun4i: don't select REGULATOR The mdio-sun4i driver automatically selects REGULATOR and REGULATOR_FIXED_VOLTAGE because it uses the regulator API. But a driver selecting a subsystem increases the chance of generating circular Kconfig dependencies, especially when other drivers depend on the selected symbol. Since the regulator API functions are replaced with no-ops when REGULATOR is disabled, the driver can be built successfully even without regulator support and so those 'select' dependencies can be safely dropped. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13aa3463e574d2ae2618306dcd3e973c5eed6d7f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 5 18:32:18 2014 +0300 rose: use %*ph specifier Instead of dereference each byte let's use %*ph specifier in the printk() calls. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 890c165261f92e23005d84762acc98892acaa504 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Sep 3 23:30:32 2014 +0200 NFC: st21nfcb: Remove useless headers Remove some headers as they are: - not relevent for st21nfcb. - called multiple times for no reason: example st21nfcb.h already include ndlc.h. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0a91e8ac240a12ac3a03581deb8cd531788c63d4 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Sep 3 23:30:30 2014 +0200 NFC: st21nfca: fix "WARNING: else is not generally useful after a break or return" scripts/checkpatch.pl -f drivers/nfc/st21nfca.c is throwing the following: WARNING: else is not generally useful after a break or return #866: FILE: drivers/nfc/st21nfca/st21nfca.c:866: + return 0; + } else { Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit efaf956ad6852a7ae0cc4c78bd31079f8039daa6 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Sep 3 23:30:29 2014 +0200 NFC: st21nfca: Clean up macros alignment Align every macros on the same column. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cebe22244206d51b80c778f09304d21198652f71 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Sep 3 23:30:28 2014 +0200 NFC: st21nfca: Clean up st21nfca.h macros Clean up st21nfca.h macros and move the one only used in st21nfca.c. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ac633ba6acb94a11b09a7ec417c72f65c6308b7a Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Sep 3 23:30:26 2014 +0200 NFC: st21nfcb: Fix logic when running into i2c read retry When retrying to read the NCI header, the CLF might not be available the first time. However it may not be successful the second time and this may cause an error in the function. Enforce the retrieve data length is as expected. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 56f1ffcccd784672654918f9214979b4918c2544 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Aug 11 00:04:56 2014 +0200 NFC: st21nfca: Add condition to make sure atr_req->length is valid. gb_len in st21nfca_tm_send_atr_res can be negative. Not checking for that could lead to a potential kernel oops. We now make sure that atr_req->length > sizeof(struct st21nfca_atr_req) to avoid such situation. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a51577c9e3c49dbc44c821f9e170b96bbea716e3 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Aug 11 00:04:54 2014 +0200 NFC: st21nfca: Remove useless IS_ERR(skb) conditions skb is already verified to be not null from the below hci layer. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 32b41d8f7587b6e8a2cbb3a15f83c3a9687f1f17 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Aug 11 00:04:53 2014 +0200 NFC: st21nfca: Remove useless err == 0 condition On top of st21nfca_im_recv_atr_res_cb and st21nfca_im_recv_dep_res_cb a condition if (err != 0) is present. Because err is never modified in the code err will always be 0 at the end. The condition can be removed. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 72030a2eeb182575f1bf2383f1e9267d4a6ece61 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Aug 11 00:04:52 2014 +0200 NFC: st21nfca: Change nfcid3 generation nfcid3 is based on sensf_res value. target->sensf is never NULL as it is a table. Check the sensf_res_len instead to make sure sensf_res is set or not. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 06ed3d607b1030365e6f4bdae193e64378e4264b Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:38 2014 +0200 NFC: st21nfca: Remove useless new line in nfc_err call Remove a useless new line in nfc_err call. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9ec1f58b9a8ecd72e675c33bfe8ceaf1bc0dc4c5 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:37 2014 +0200 NFC: st21nfca: Fix logic when setting session_id If dev_num >= ST21NFCA_NUM_DEVICES, the driver was returning an incorrect success return code. Once dev_num is set, it was not stated as busy. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit df2566fe37d92dfba032e6084ebfb708dac5dc9a Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:36 2014 +0200 NFC: st21nfcb: Remove inappropriate kfree on a previously devm_kzalloc pointer In case of an error during driver probe, info pointer was freed with kfree. No need to free anything when using devm_kzalloc. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2c376a9e3c973e7923daba78aa16c768503cdef3 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:35 2014 +0200 NFC: st21nfcb: Remove useless new line in nfc_err call Remove a uselss new line in nfc_err call. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d363d7d0a5755b347de42c28aeab23ecfdcd2348 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:34 2014 +0200 NFC: st21nfcb: Remove double assignment of .owner in struct device_driver The .owner member of struct device_driver is assigned THIS_MODULE twice. Introduced by: commit 35630df68d6030daf12dde12ed07bbe26324e6ac NFC: st21nfcb: Add driver for STMicroelectronics ST21NFCB NFC chip Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 56ee645e304c9b86b48768de8e52babd5b6e1d8a Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:33 2014 +0200 NFC: st21nfcb: Convert to use devm_gpio_request_one Simplify the code a bit as mention by Axel Lin in a previous patch for st21nfca. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 361325e21d3a06a31ab53baf452c0946743b7abb Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:32 2014 +0200 NFC: st21nfcb: Fix scripts/checkpatch.pl error "code indent should use tabs where possible" Fixing scripts/checkpatch.pl error "code indent should use tabs where possible" in: - i2c.c in st21nfcb_nci_irq_thread_fn function. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3e6df9191abe9dc46b7f9f540e1c3c73cfaccedf Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:31 2014 +0200 NFC: st21nfca: Fix scripts/checkpatch.pl warnings "Missing a blank line after declarations" Fixing scripts/checkpatch.pl warning "Missing a blank line after declarations" in: - st21nfca.c: - check_presence after fwi variable declaration. - get_frame_size after len variable declaration. - st21nfca_hci_i2c_repack after "i, j, r, size" variable declaration. - st21nfca_dep.c st21nfca_tx_work after skb pointer declaration. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6ae3ed1c52b9ce12e1b3d2ac8f648b7de1569dfe Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:30 2014 +0200 NFC: st21nfca: Fix sparse: cast to restricted __be32 Fixing "sparse: cast to restricted __be32" message when building with make C=1 CF=-D__CHECK_ENDIAN__ Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0be8ce737c1f052a1811d029f8afb03583f7238f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Jul 28 18:11:29 2014 +0200 NFC: st21nfca: Convert to use devm_gpio_request_one This simplifies the code a bit. Acked-by: Christophe RICARD <christophe-h.ricard@xxxxxx> Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ce3a5de7f58f18976b6536d8ea663f90da0e8093 Author: Emil Goode <emilgoode@xxxxxxxxx> Date: Mon Jul 28 18:11:28 2014 +0200 NFC: st21nfca: Remove double assignment of .owner in struct device_driver The .owner member of struct device_driver is assigned THIS_MODULE twice. Introduced by: commit c44cb2edd01ca31471d9385f0895891b006ab904 ("NFC: dts: st21nfca: Add device-tree (Open Firmware) support to st21nfca") Acked-by: Christophe RICARD <christophe-h.ricard@xxxxxx> Signed-off-by: Emil Goode <emilgoode@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cb174aba86fe10ddac8b692c90a9480526c02953 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:46 2014 -0700 NFC: trf7970a: Add Target Mode Detection Support Add the ability to detect the mode (i.e., RF technology) used by the initiator. The RF technology that was detected can be retrieved by calling the 'tg_get_rf_tech' driver hook. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 13b4272a8264220ec043a922fd1fa05da72d57ae Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:45 2014 -0700 NFC: trf7970a: Add Target Mode Support Add target mode support to the trf7970a NFC driver. This effectively enables full Peer-to-Peer support. To handle changing framing between sending a response frame and receiving the subsequent request frame, most of the framing changes take effect in the interrupt handler and not in trf7970a_tg_config_framing(). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1961843ceeca0d3e55744bba7ae8d9e23d04cf6a Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:44 2014 -0700 NFC: trf7970a: Handle timeout values of zero The digital layer can try to send a command with a timeout value of zero (e.g., digital_tg_send_psl_res(). The zero value is used as a flag to indicate that the driver should not expect a response. To handle this, the driver sets an internal timer because it should still get an interrupt with the TX bit set in the IRQ Status Register. When it gets that interrupt, it returns a return value of '0'. If it doesn't get the interrupt before timing out, it returns ETIMEDOUT as usual. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6fb9edcb43d0b1bf0ac2aaf6ba488d105c45f477 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:43 2014 -0700 NFC: trf7970a: Cancel timer when error encountered Some paths leave a timer still running when trf7970a_send_err_upstream() is called. This can cause a timeout to occur in a subsequent transaction making it fail. Fix this by ensuring there is no timer running before sending an error upstream. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 851ee3cbf850501104e76683e439a4061f378a96 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:42 2014 -0700 NFC: trf7970a: Don't turn on RF if there is already an RF field Currently, the trf7970a driver blindly turns on its RF field when configuring its framing. This isn't a good idea if there is already a device generating an RF field. Instead, check if there is already an RF field present before turning on this device's RF field and, if there is, return EBUSY. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 7149d6bfecadc255e9d964782a9fdd70f610f1ea Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:41 2014 -0700 NFC: trf7970a: trf7970a_init() turns off the RF transmitter When trf7970a_init() initializes the trf7970a it implicitly turns off the RF transmitter. Track this by clearing the TRF7970A_CHIP_STATUS_RF_ON bit in the cached trf->chip_status_ctrl. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cfc708dbe4022324bcd2bcb5817dd29f1f91299d Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:40 2014 -0700 NFC: trf7970a: Don't turn off RF if its already off Don't try to turn off of RF transmitter is its already off. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 307e5caf6fb1dac1b9cfa1d78138d77e46517b56 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:39 2014 -0700 NFC: trf7970a: Add '_in_' to initiator routines Rename trf7970a_config_rf_tech() and trf7970a_config_framing() to trf7970a_in_config_rf_tech() and trf7970a_in_config_framing(), respectively to avoid confusion when target support is added. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4e007f810664541078e619d050f6290bf137aa61 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:38 2014 -0700 NFC: trf7970a: Delay after initialization The trf7970a should be given at least 1 ms to completely initialize after the 'Software Init' and 'Idle' commands have been issued. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 77c9539dc1284677539af442ac3629c9baf01202 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:37 2014 -0700 NFC: trf7970a: Add System Suspend/Resume support Add system suspend/resume support by gracefully shutting things down when suspending and bringing the device back to full power when resuming. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b528281b8b7a9c379baf37720191a799fbc9800c Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:36 2014 -0700 NFC: trf7970a: Create startup and shutdown routines Encapsulate the code to start up and gracefully shutdown the driver and trf7970a device. Doing this makes adding system suspend/resume support easier and the resulting code cleaner. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ceccd6aa50887352e66d0edf68d8be510a639da6 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:35 2014 -0700 NFC: trf7970a: Don't assume CONFIG_PM_RUNTIME is enabled The current code assumes that CONFIG_PM_RUNTIME is always defined so it won't power up the trf7970a when it isn't enabled. Fix this by moving the power up/down code from the pm_runtime_resume/suspend routines into their own routines and calling the power up function from the probe routine. This ensures the device is powered up even when CONFIG_PM_RUNTIME is not defined. In order to not power on/off a device that is already powered on/off, create a new state to indicate that the power is off (TRF7970A_ST_PWR_OFF). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b5e17d9b5bd7e53696bce21e38eec5b9bb8abb88 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:34 2014 -0700 NFC: trf7970a: Rename TRF7970A_ST_OFF to TRF7970A_ST_RF_OFF Rename the 'TRF7970A_ST_OFF' state to 'TRF7970A_ST_RF_OFF' to make it clear that this state means that the RF is off and not the entire device. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0a1de84205d3fe7baa3d013ebf703416b1919ecc Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:33 2014 -0700 NFC: trf7970a: Return error code when turning on RF fails trf7970a_switch_rf_on() is currently a void function but turning on the RF could fail so it should return a return code. That return code should also be propagated back to the entity that initiated the action. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit afa5b5f13e0e2372e440f3ab44620d4e10fca496 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:32 2014 -0700 NFC: trf7970a: Ensure no more RX data before completing receive Depending on the interrupt status value given by the trf7970a, the driver may not know when a receive operation is complete. To handle this, the driver waits for a period of time in case the trf7970a interrupts it again indicating there are more RX data in the FIFO. It is possible that the timeout will occur when there are RX data in the FIFO but before the trf7970a has generated an interrupt to tell the driver about it. Handle this by calling trf7970a_drain_fifo() (instead of trf7970a_send_upstream() which just passes up the data gathered to far) to check if there are more data in the FIFO. If so, gather that data into the receive buffer. If not, pass the data collected so far upstream as before. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 5d8f759424d3d7da998a7a9eee702071c8e5d381 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:31 2014 -0700 NFC: trf7970a: Reread FIFO Status Register when draining FIFO Receiving an interrupt whose Interrupt Status Register value has only the SRX bit set is supposed to mean that all of the data from the tag has been received. That turns out to not be true so we need to reread the FIFO Status Register to tell if there are any new bytes in the FIFO. If there are, continue receiving them; if there aren't, assume that the receive is complete and pass the data up. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit bece3c544fee62ba7750f70b214d612fd02dcc8f Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:30 2014 -0700 NFC: trf7970a: Handle low-watermark IRQ when transmitting Commit 4dd836e46c3d ("NFC: trf7970a: Reset FIFO when 'End of TX' Interrupt Occurs") fixes the issue that it was meant to fix but adds the unfortunate side effect of causing the driver to report an error when the TX low-watermark level is passed during transmits. This can be fixed by checking whether the IRQ status indicates that the low-watermark has been passed when transmitting. If it has been passed and the FIFO is empty, then its safe to reset the FIFO. Otherwise, silently continue since another TX interrupt will be generated and the FIFO will be reset then. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0e840ed59ba79670b66bba8c1d50b6f67e72d3fb Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:29 2014 -0700 NFC: trf7970a: Only fill FIFO if there is space Handle the case where trf7970a_fill_fifo() is called but there is no room in the FIFO for more TX data. When this happens, wait for another interrupt indicating that there is now space (and set a timer in case that interrupt never occurs). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 7a1e5552af61dce180f70c6fafe31553254b3728 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:28 2014 -0700 NFC: trf7970a: Prefix TX data when refilling FIFO When refilling the FIFO with more TX data (using a new SPI transaction), the driver must prefix the TX data with a write to the FIFO I/O Register. This tells the trf7970a that the following data is destined for the FIFO so it can be transmitted. To accomplish this, the driver cannot simply push the prefix data just before the next set of TX data that is to be transmitted because that will overwrite part of the TX data provided by the digital layer. Instead, separate the prefix data and the TX data when calling trf7970a_transmit(). trf7970a_transmit() can then send the prefix and TX data from different memory locations with one spi_sync() operation. This also means that the driver doesn't require any skb "tx_headroom" as provided by the digital layer (see nfc_digital_allocate_device() and digital_skb_alloc()). Also ensure that the prefix is of type 'u8' and not 'char'. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 5974150dead6da1db415f04a232f79b922f412a0 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:27 2014 -0700 NFC: trf7970a: Remove unnecessary FIFO reset & RSSI read It is no longer necessary to reset the FIFO and read the 'RSSI Levels and Oscillator Status Register' so remove that code. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit aff0564aa7b2118a1d76dc0118dfdbf4beaf4b8c Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:26 2014 -0700 NFC: trf7970a: Clear possible spurious interrupt before transmitting The trf7970a occasionally generates spurious interrupts which can confuse the driver. To help alleviate this, clear any interrupts by reading the 'IRQ Status Register' before starting a new transaction. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 38b4eb1f7fa87079a5a40f5d2ec4b5c0c7f14a4b Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:25 2014 -0700 NFC: trf7970a: Recalculate driver timeout values Some of the timeout values used in the driver are not long enough to handle worst-case scenarios so they need to be recalculated. The time to wait for the FIFO to drain past the low-watermark is now 20 ms because it can take around 14.35 ms to send 95 bytes (127 bytes in full FIFO minus 32 bytes where the low-watermark interrupt will fire). 95 bytes will take around 14.35 ms at 6.62 kbps (the lowest supported bit rate used by ISO/IEC 15693) so 20 ms should be a safe value. The time to wait before issuing an EOF to complete an ISO/IEC 15693 write or lock command is 40 ms-- 20 ms to drain the FIFO and another 20 ms to ensure the wait is long enough before sending an EOF. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4e64eff837fb682dfb2a1188fb036d75ec57375c Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:24 2014 -0700 NFC: trf7970a: Add RF technology specific guard times When turning on the RF field, the driver must wait an RF-technology-specific amount of time (known as the guard time) before modulating the field. Currently, the driver waits 5 ms but that is too short for NFCF and too long for ISO/IEC 15693. Fix this by determining the guard time when the RF technology is set and delaying that amount of time when turning on the RF field. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a08e54549e743ea3704da939f92caf3eaa8471d3 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:23 2014 -0700 NFC: trf7970a: Initialize when enabling RF Currently, the trf7970a is reset & initialized only when the pm_runtime resume hook is called. Instead, initialize it every time the RF is enabled to ensure that the trf7970a is quiesced and in a known state before being set up for another RF technology. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6c08df422ede7db94776b8099a5f43597629234c Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:22 2014 -0700 NFC: trf7970a: Disable SYS_CLK Output Currently, support for providing the external SYS_CLK signal on pin 27 is not supported so turn it off by writing to the 'Modulator and SYS_CLK Control' register immediately after reset. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 17b2151733ecdc96ee4fecdf5fae973b8cb0fea7 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:21 2014 -0700 NFC: trf7970a: Remove unnecessary sleep There is no need to sleep for 1-2 ms before transmitting a new command. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1568bfef18a9150d83b0f91aa254cef7ebead4cd Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:20 2014 -0700 NFC: trf7970a: FIFO Size is really 127 bytes Despite what the manual says, the FIFO size on the trf7970a is really 127 bytes so make the code respect that. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4542e8345af6076c87d036c7bd3f9dfa30768b1e Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:19 2014 -0700 NFC: trf7970a: Ignore Overflow bit in FIFO Status Register The Overflow bit in the 'FIFO Status Register' has proven to be untrustworthy so ignore it. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3e7f335689ebfa0a68814dfe9f0588076fb9ad01 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:18 2014 -0700 NFC: trf7970a: Use spi_sync() instead of spi_write_then_read() To more efficiently handle long continuous reads, use spi_sync() instead of spi_write_then_read(). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 24707296c762d1828c4a51aa1872dc275dc3fccc Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:17 2014 -0700 NFC: trf7970a: Call spi_setup() to configure SPI communication Call spi_setup() to configure SPI communication with the trf7970a. This will ensure that the correct SPI parameters are used. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cc8d7158644c439d946bfc65778a507b6f12b10d Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:16 2014 -0700 NFC: trf7970a: Remove trf7970a_tg_listen_mdaa() Currently, the digital layer 'tg_listen_mdaa' hook is not used and it isn't necessary to have a stub routine so remove it. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d3a6d33a7f72fa4d3bb0224da0839a5ca871d7a4 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:15 2014 -0700 NFC: trf7970a: Remove incorrect of_node_put() call of_property_read_u32() does not take a reference to the specified OF node so don't call of_node_put() in trf7970a_get_autosuspend_delay(). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a42f5c17131103ec54a71dfb7e6bb7b3704686a1 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Sun Sep 7 09:54:41 2014 -0500 amd-xgbe-phy: Fix build break for missing declaration A previous patch inadvertently deleted a declaration in the amd_xgbe_an_tx_training function causing the build to fail. Add the declaration for 'priv' back to the function. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d02fc738a9a9e6cddeed0bf00771286e22d52dee Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 19:25:26 2014 +0200 ARM: sun8i: Relicense the A23 DTSI under GPLv2/X11 The current GPL only licensing on the DTSI makes it very impractical for other software components licensed under another license. In order to make it easier for them to reuse our device trees, relicense our DTSI first under a GPL/X11 dual-license. Hopefully, the DTS will follow soon. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 394c56ce557b8ea7e74c7b2684a21f0dd434aae1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 19:25:26 2014 +0200 ARM: sun7i: Relicense the A20 DTSI under GPLv2/X11 The current GPL only licensing on the DTSI makes it very impractical for other software components licensed under another license. In order to make it easier for them to reuse our device trees, relicense our DTSI first under a GPL/X11 dual-license. Hopefully, the DTS will follow soon. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexander Bersenev <bay@xxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Carlo Caione <carlo@xxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Emilio López <emilio@xxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Oliver Schinagl <oliver@xxxxxxxxxxx> Acked-by: Roman Byshko <rbyshko@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6c3ba72415b15440ffc8085e502fbeca01dc2035 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 19:25:26 2014 +0200 ARM: sun6i: Relicense the A31 DTSI under GPLv2/X11 The current GPL only licensing on the DTSI makes it very impractical for other software components licensed under another license. In order to make it easier for them to reuse our device trees, relicense our DTSI first under a GPL/X11 dual-license. Hopefully, the DTS will follow soon. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Carlo Caione <carlo@xxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit e0f6429ecb0cc1d1cb39017135b658960e5b8417 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Sep 7 18:38:49 2014 +0800 regulator: bcm590xx: Remove unused **info field from struct bcm590xx_reg Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 192264e0a5473015df28f47241bcdbf6b8c24873 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Sep 7 18:34:51 2014 +0800 regulator: as3711: Remove unused fields from as3711_regulator_info and as3711_regulator The max_uV is not used, so remove it from struct as3711_regulator_info. Current code is using devm_regulator_register(), so we don't need to store *rdev in struct as3711_regulator for clean up. Also clean up AS3711_REG macro to remove _vshift, _min_uV and _max_uV arguments. _vshift is always 0, so remove it. _min_uV and _max_uV are not required, all required settings are set in REGULATOR_LINEAR_RANGE macro. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 177ef2a6315ea7bf173653182324e1dcd08ffeaa Author: xiaofeng.yan <xiaofeng.yan@xxxxxxxxxx> Date: Tue Aug 26 03:15:41 2014 +0000 sched/deadline: Fix a precision problem in the microseconds range An overrun could happen in function start_hrtick_dl() when a task with SCHED_DEADLINE runs in the microseconds range. For example, if a task with SCHED_DEADLINE has the following parameters: Task runtime deadline period P1 200us 500us 500us The deadline and period from task P1 are less than 1ms. In order to achieve microsecond precision, we need to enable HRTICK feature by the next command: PC#echo "HRTICK" > /sys/kernel/debug/sched_features PC#trace-cmd record -e sched_switch & PC#./schedtool -E -t 200000:500000:500000 -e ./test The binary test is in an endless while(1) loop here. Some pieces of trace.dat are as follows: <idle>-0 157.603157: sched_switch: :R ==> 2481:4294967295: test test-2481 157.603203: sched_switch: 2481:R ==> 0:120: swapper/2 <idle>-0 157.605657: sched_switch: :R ==> 2481:4294967295: test test-2481 157.608183: sched_switch: 2481:R ==> 2483:120: trace-cmd trace-cmd-2483 157.609656: sched_switch:2483:R==>2481:4294967295: test We can get the runtime of P1 from the information above: runtime = 157.608183 - 157.605657 runtime = 0.002526(2.526ms) The correct runtime should be less than or equal to 200us at some point. The problem is caused by a conditional judgment "delta > 10000" in function start_hrtick_dl(). Because no hrtimer start up to control the rest of runtime when the reset of runtime is less than 10us. So the process will continue to run until tick-period is coming. Move the code with the limit of the least time slice from hrtick_start_fair() to hrtick_start() because the EDF schedule class also needs this function in start_hrtick_dl(). To fix this problem, we call hrtimer_start() unconditionally in start_hrtick_dl(), and make sure the scheduling slice won't be smaller than 10us in hrtimer_start(). Signed-off-by: Xiaofeng Yan <xiaofeng.yan@xxxxxxxxxx> Reviewed-by: Li Zefan <lizefan@xxxxxxxxxx> Acked-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409022941-5880-1-git-send-email-xiaofeng.yan@xxxxxxxxxx [ Massaged the changelog and the code. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8fa74ef2fc0b79c6ff15e6add51069b4ea14b1a9 Author: Loïc Pellegrino <oort10@xxxxxxxxx> Date: Thu Sep 4 19:28:50 2014 +0100 staging/lustre: Different prototypes between the declaration and the definition Align the prototype of lprocfs_wr_uint() in the declaration with the one used in the definition. The prototype is: int lprocfs_wr_uint(struct file *file, const char __user *buffer, unsigned long count, void *data) In obdclass/lprocfs_status.c But in lustre/include/lprocfs_status.h, the __user annotation is missing for the attribute buffer. The correct prototype is the first one (the definition) since: - This function is eventually called by the write() function pointer of an instance of struct file_operations - In this function, buffer is a parameter of copy_from_user() - Before the commit 73bb1da692d0dc3e93b9c9e29084d6a5dcbc37a6, the declaration and the definition had the same prototype, but only the .c has been updated. Correcting this will remove a sparse error and add sparse warnings. This is a task of the Eudyptula challenge. Signed-off-by: Loïc Pellegrino <oort10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a08f0672b29659c5dcdbbe7fa136ab810292259 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Sep 4 15:24:57 2014 +0200 staging: lustre: Annotate user buffer with __user Fix the warning reported by sparse on drivers/staging/lustre/lnet/lnet/router_proc.c warning: incorrect type in argument 4 (different address spaces) The correction is to annotate all user buffer variable by __user Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f60705fd13f2573b66872a55f4a18214a1cbced2 Author: Nicolas Thery <nthery@xxxxxxxxx> Date: Sat Sep 6 07:18:47 2014 +0200 staging: rtl8188eu: include missing header This patch fixes the following sparse warnings: drivers/staging/rtl8188eu/hal/phy.c:46:5: warning: symbol 'phy_query_bb_reg' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:56:6: warning: symbol 'phy_set_bb_reg' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:129:5: warning: symbol 'phy_query_rf_reg' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:140:6: warning: symbol 'phy_set_rf_reg' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:228:6: warning: symbol 'phy_set_tx_power_level' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:324:6: warning: symbol 'phy_set_bw_mode' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:360:6: warning: symbol 'phy_sw_chnl' was not declared. Should it be static? Signed-off-by: Nicolas Thery <nthery@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 354cefee8db6752de758ae13f69ba7422c242e30 Author: Andreas Schlick <ninox@xxxxxxxxxx> Date: Sat Sep 6 10:13:09 2014 +0200 staging: rtl8821ae: Fix sparse warning by making functions static. Signed-off-by: Andreas Schlick <ninox@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f11b38ca8b8f1ed6a70b518dabcb4cd96db8996 Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:15 2014 +0200 staging: goldfish: avoid multiple assignments Coding style: avoid multiple assignments Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c50741597b60284c4142808429fa94f3e516c23 Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:14 2014 +0200 staging: goldfish: document mutex usage Coding style: document mutex usage Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f52e264e80e500a24f565d3cb4dc37ec6d1b289 Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:13 2014 +0200 staging: goldfish: fix alignment to match open parenthesis Coding style: fix alignment to match open parenthesis Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b61f085eb63bf1a304d7be5fc175cf478848bf2 Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:12 2014 +0200 staging: goldfish: document spinlock usage Coding style: document spinlock usage Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1977533a3f425cb9b7633d59e30459e048ce681f Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:11 2014 +0200 staging: goldfish: remove useless space after a cast Coding style: remove useless space after a cast Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f21b0c8aceb02ffbc06f4b803387e8ccc22725a Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:10 2014 +0200 staging: goldfish: suppress consecutive blank lines Coding style: suppress consecutive blank lines Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba660d25b59a68dbc44634a9844705c86ee6a893 Author: MichaÅ? Bartoszkiewicz <mbartoszkiewicz@xxxxxxxxx> Date: Thu Sep 4 22:05:36 2014 +0200 staging: gs_fpgaboot: remove unnecessary return statements This fixes "void function return statements are not generally useful" warnings from checkpatch.pl. Signed-off-by: MichaÅ? Bartoszkiewicz <mbartoszkiewicz@xxxxxxxxx> Reviewed-by: Insop Song <insop.song@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c8c8315144a8f14d3e5d2f6ad2d9104eed5c7d7 Author: Thomas Gummerer <t.gummerer@xxxxxxxxx> Date: Fri Sep 5 17:09:34 2014 +0200 staging: xgifb: remove unnecessary else Signed-off-by: Thomas Gummerer <t.gummerer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 588a12d789e1a9b8193465c09f32024c0d43a849 Author: Filipe Gonçalves <filipe@xxxxxxxxxxxxxxxxx> Date: Fri Sep 5 05:09:46 2014 +0100 staging/lustre: Fixed checkpatch warning: Use #include <linux/statfs.h> instead of <asm/statfs.h> Signed-off-by: Filipe Gonçalves <filipe@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70c0ed98256a1b297029842b9e250dc9ec9bddd1 Author: Piotr Witoslawski <pwitos@xxxxxxxxx> Date: Thu Sep 4 08:18:53 2014 +0200 drivers: staging: dgap: fix the checkpatch.pl issue "Warning: line over 80 characters" Break lines exceeding 80 characters Signed-off-by: Piotr Witoslawski <pwitos@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63b742981f1908d38f72d3d126cb309b8e057c54 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Wed Sep 3 22:42:24 2014 -0700 staging: lustre: lmv: lmv_internal.h: fix checkpatch.pl spacing errors lmv_internal.h:96: ERROR: space prohibited after that open parenthesis '(' lmv_internal.h:96: ERROR: space required before the open parenthesis '(' lmv_internal.h:147: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0710bf3d306e6e9c62e705bfe26eaacfb7487b6f Author: Chaitra Ramaiah <linux.delve@xxxxxxxxx> Date: Thu Sep 4 20:41:03 2014 +0530 Staging: rtl8192u: fix brace style coding issue in r819xU_firmware.c Signed-off-by: Chaitra Ramaiah <linux.delve@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 708a7ec873d38f6ebd938b623d349b747152c052 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Wed Sep 3 08:28:21 2014 +0200 staging: rtl8188eu: fix missing blank lines after declarations Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b3bfffc410268ccae137a36f1aee6024a72332c Merge: 87d9430 c4c112f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 6 12:30:27 2014 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-09-06 This series contains updates to e1000 and igb. Krzysztof provides a patch to cleanup the coding style in e1000 to quiet checkpatch.pl warnings. Todd adds two boolean flags to igb to allow for changes in the advertised EEE speeds from ethtool. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87d943085b76c6f07807dbc9fde2aad88e828590 Author: Neal Cardwell <ncardwell@xxxxxxxxxx> Date: Sat Sep 6 11:18:20 2014 -0400 tcp: remove obsolete comment about TCP_SKB_CB(skb)->when in tcp_fragment() The TCP_SKB_CB(skb)->when field no longer exists as of recent change 7faee5c0d514 ("tcp: remove TCP_SKB_CB(skb)->when"). And in any case, tcp_fragment() is called on already-transmitted packets from the __tcp_retransmit_skb() call site, so copying timestamps of any kind in this spot is quite sensible. Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Reported-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86515b7de86443775cf5e821e52df4c0adf528ab Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Fri Aug 29 12:45:27 2014 +0900 power: charger-manager: Remove casting the return value which is a void pointer Casting the return value which is a void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a8adcc9012d8502e06ba7b3f966bad8f2c58edc3 Author: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Date: Wed Aug 27 23:44:08 2014 +0530 power_supply: Add boot and calibration attributes Usually PMIC's come with coulomb counting mechanism which can be used to implement a Fuel Gauginig solution in Software itself. One of key input to these SW Fuel Gauge solutioons is the boot up parameters like boot voltage and boot current. This patch adds the VOLTAGE_BOOT and CURRENT_BOOT power supply attributes to report bootup voltage and current. This patch also adds CALIBRATE power supply attribute which useful is for calibrating the battery/coulomb counter. Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b1022e247872dc87a6ffd6f9aa6a92e0b67cdf00 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Aug 26 13:41:39 2014 +0900 power: charger-manager: Check charging state right after completed initialization This patch check the charging state after completed initialization of charger- manager and update current charging state. If charger-manager never check and update current charging state, charger-manager would have the mismatch issue between real state of cable connection and the charging state of charger-manager until first polling time of charger-manager. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Myungjoo Ham <myungjoo.ham@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c6738d06a363ac7010a5c3b54e2af1957852cc45 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Aug 26 13:41:38 2014 +0900 power: charger-manager: Fix checking of wrong return type This patch fix minor issue about checking wrong return type. The of_cm_parse_desc() return ERR_PTR(errnor number) when some error happen in this function. But, charger_manager_probe() has only checked whether desc is NULL or not. If of_cm_parse_desc() returns ERR_PTR(-ENOMEM), desc isn't NULL but desc is (void *)(-ENOMEM). Althouhg some error happen for parsing DT, charger_manager_probe() can't detect error of desc instance. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Myungjoo Ham <myungjoo.ham@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d3ed534cca703b2aaeee9277a5b8063ae6eab1d1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 24 19:36:29 2014 -0500 power/reset: xgene-reset: Fix prototype of xgene_restart() The xgene-reset driver uses xgene_restart() as arm_pm_restart() but that function should take an enum reset_type as the first argument rather than a char. Fix this; the paramter is not referenced in the implementation. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 4495b0adfb65a8eb9a5255b831f2160b6e583f3d Author: Simon Que <sque@xxxxxxxxxxxx> Date: Mon Aug 4 13:47:46 2014 +0200 sbs-battery: add min design voltage to sbs-battery sbs-battery has a max design voltage but not a min design voltage field. The SBS spec only has one design voltage: http://www.sbs-forum.org/specs/sbdat110.pdf Currently this is being used for max design voltage. This patch uses it for min design voltage as well. Signed-off-by: Simon Que <sque@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> Reviewed-by: Todd Broch <tbroch@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9ea89402e25edafb6ad8ec92848d12c1d5d3969f Author: Cheng-Yi Chiang <cychiang@xxxxxxxxxxxx> Date: Mon Aug 4 13:47:45 2014 +0200 sbs-battery: export manufacturer and model name to sysfs This CL supports two power_supply_property items for smart battery: POWER_SUPPLY_PROP_MANUFACTURER and POWER_SUPPLY_PROP_MODEL_NAME such that battery information 'manufacturer' and 'model_name' can be exported to sysfs. Signed-off-by: Cheng-Yi Chiang <cychiang@xxxxxxxxxxxx> Reviewed-by: Olof Johansson <olofj@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 02024756e6ab3a3fcdc3b203552b16b345ebd97d Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Sep 2 18:05:56 2014 +0530 ASoC: mfld: pcm: Replace pr_ with dev_ Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c5e417bc06ff8d8b3214675f38f362567f0cd22 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Sep 6 20:59:36 2014 +0800 regulator: hi6421: Fix misleading comment Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0634814fe0f29a46c44386a03f259f99c983bf7e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 20 13:08:49 2014 +0200 ASoC: Remove table based DAPM/control setup support from snd_soc_platform_driver There are no users left and new users should rather use the component_driver struct embedded in the snd_soc_platform_driver struct to do this. E.g.: static const struct snd_soc_platform_driver foobar_driver = { .component_driver = { .dapm_widgets = ..., .num_dapm_widgets = ..., ..., }, ... }; instead of static const struct snd_soc_platform_driver foobar_driver = { .dapm_widgets = ..., .num_dapm_widgets = ..., ... }; This also allows us to remove the steal_sibling_dai_widgets hack. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 923976a30b36ce0970e88f53ed2f2b5b61aeeb73 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 20 13:08:48 2014 +0200 ASoC: sst-haswell-pcm: Move controls and DAPM elements to component The sst-haswell-pcm driver registers both a snd_soc_component and a snd_soc_platform and expects that the DAPM widgets for the DAIs registered by component are added to the DAPM context of the platform. This requires us to have a hack in the ASoC core which does so. Moving the DAPM elements over to the component allows us to remove this hack. While we are at it also move the controls over to the component. The controls don't need the platform for anything other than snd_soc_platform_get_drvdata(), this can easily be replaced by snd_soc_component_get_drvdata(). As the long term goal is to register only a single component this is a step in the right direction. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bd033808e2b160bab61cfe18b0ecb4ccc7809516 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 20 13:08:47 2014 +0200 ASoC: sst-haswell-pcm: Alloc state struct in driver probe() Resource allocations should happen in driver probe callback rather than in snd_soc_platform probe functions. Especially if the resource is device managed. The snd_soc_* probe/remove functions are mainly intended to be used for things that require the component to be already bound to a card. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ee0beb985e097aa07fa7feab4e11ecf251d763c Merge: 06cb1eb c815dbb Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 14:44:11 2014 +0100 Merge branch 'topic/component' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit c815dbb47758bd469927849fdd45fed3ce206e73 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 20 13:08:46 2014 +0200 ASoC: Add snd_soc_component_{get,set}_drvdata() Add Add snd_soc_component_{get,set}_drvdata() similar to snd_soc_codec_{get,set}_drvdata() and snd_soc_platform_{get,set}_drvdata(). Also update them to use the new functions internally. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8d01370f59856a0ac5b222878667d52477b589f0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Sep 6 14:29:32 2014 +0200 ASoC: es8328: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bade5f09ca5bfd5a5f499a682509a9109472bca8 Merge: 75c3daa 85362ef Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 13:38:26 2014 +0100 Merge branch 'topic/suspend' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-es8328 commit e649057a41c24b4122e976746649e471709d4b16 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Sep 6 14:29:35 2014 +0200 ASoC: sgtl5000: Cleanup bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 35199a7c11d5f6a87a5b35dfd69fde3f65d37fac Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Sep 6 14:29:34 2014 +0200 ASoC: ml26124: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a93f70925a56ae1629be8b46c3c6d502f98dded Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Sep 6 14:29:33 2014 +0200 ASoC: jz4740: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3d2c42d191a89ab35e3002309882e3b70fe12112 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Sep 6 14:29:31 2014 +0200 ASoC: 88pm860x-codec: Cleanup manual bias level transitions Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c4c112f1585fde3926976da8962ba84d342d8869 Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Fri Aug 29 06:43:13 2014 +0000 igb: add flags to set eee advertisement mode Change e1000_set_eee and e1000_set_eee_i35(0|4) to allow changes in the advertised EEE speeds from ethtool. Adds two boolean flags to e1000_set_eee_i35(0|4) to pass in advertised speed data. Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 81baf9fe0243a4450d738676ccf99d325460c748 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 12:10:47 2014 +0100 regulator: tps65217: Remove spurious platform data check We should always be able to probe a regulator with no platform data. This will enable readback of current state, though no changes can be made to the device configuration. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dec38b5ce6a9edb406c60c2670b26a1a4262fdb9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 01:11:12 2014 +0100 regulator: isl9305: Add Intersil ISL9305/H driver The ISL9305 and ISL9305H are mini-PMICs offering two DCDC regulators and two LDO regulators. While there are some register differences between them these do not affect the current Linux driver as the relevant features are not yet supported. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 887a79f4a8cce981bb74bf56e1ee25786f235e66 Author: Krzysztof Majzerowicz-Jaszcz <cristos@xxxxxxxxxxx> Date: Wed Aug 27 07:10:58 2014 +0000 e1000: e1000_ethertool.c coding style fixes Fixed many errors/warnings and checks in e1000_ethtool.c reported by checkpatch.pl. Suggestions from Joe Perches and Alexander Duyck applied as well Signed-off-by: Krzysztof Majzerowicz-Jaszcz <cristos@xxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 196cf358422517b3ff3779c46a1f3e26fb084172 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 6 10:12:19 2014 +0200 x86/tty/serial/8250: Clean up the asm/serial.h include file a bit - correct spelling - align fields vertically to make things more readable - make the layout of magic defines more obvious Cc: Mark Rustad <mark.d.rustad@xxxxxxxxx> Cc: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Link: http://lkml.kernel.org/r/1409972149-26272-1-git-send-email-jeffrey.t.kirsher@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9ea029f12aab2fa3f2913e67d17cc24801ba694e Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Fri Sep 5 19:55:49 2014 -0700 x86/tty/serial/8250: Resolve missing-field-initializers warnings Resolve some missing-field-initializers warnings by using designated initialization in the expansion of the SERIAL_PORT_DFNS macro. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Link: http://lkml.kernel.org/r/1409972149-26272-1-git-send-email-jeffrey.t.kirsher@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cfecec56ae7c7c40f23fbdac04acee027ca3bd66 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 5 18:29:45 2014 -0700 mlx4: only pull headers into skb head Use the new fancy eth_get_headlen() to pull exactly the headers into skb->head. This speeds up GRE traffic (or more generally tunneled traffuc), as GRO can aggregate up to 17 MSS per GRO packet instead of 8. (Pulling too much data was forcing GRO to keep 2 frags per MSS) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 126859b992c30915aba8d6768254212010f1b43c Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Fri Sep 5 14:26:11 2014 +0100 mISDN: remove DSP_NEVER_DEFINED and adjust code identation The DSP_NEVER_DEFINED #ifdef is confusing, it slips in an extra } which is not required because the previous code is indented incorrectly. Correct the identation and remove the extraneous DSP_NEVER_DEFINED Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cea6aeb6979f6409cacd6900d237cb4ed39fd6d2 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 11:36:34 2014 +0200 bonding: add slave netlink policy and put slave-related ops together Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb0eee2f141976b5d7f31e477a71556d312f7dc3 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Aug 27 13:36:51 2014 +0900 clocksource: sh_tmu: Document r8a7779 binding In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to update the Renesas R-Car Timer Unit (TMU) driver to follow this convention. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> --- * I plan to follow up with a patch patch to use the new binding in the dtsi files for the r8a7779 SoC. commit 471269b790aec03385dc4fb127ed7094ff83c16d v2 * Suggestions by Mark Rutland and Sergei Shtylyov - Compatible strings should be "one or more" not "one" of those listed - Describe the generic binding as covering any MTU2 device - Re-order compat strings from most to least specific v3 * Suggested by Laurent Pinchart - Reword in keeping with a similar though more extensive patch for CMT commit ffd24a543afe4c693d5c611ecfa01cc48e97f97d Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Aug 27 13:36:51 2014 +0900 clocksource: sh_mtu2: Document r7s72100 binding In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to update the Renesas R-Car Multi-Function Timer Pulse Unit 2 (MTU2) driver to follow this convention. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> --- * I plan to follow up with a patch patch to use the new binding in the dtsi files for the r7s72100 SoC. v2 * Suggestions by Mark Rutland and Sergei Shtylyov - Compatible strings should be "one or more" not "one" of those listed - Describe the generic binding as covering any MTU2 device - Re-order compat strings from most to least specific v3 * Suggested by Laurent Pinchart - Reword compat documentation for consistency with a more extensive CMT change commit 01fe3aaa3abd3379788173e0017a6299b5b438db Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Aug 27 13:36:51 2014 +0900 clocksource: sh_cmt: Document SoC specific bindings In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to update the Renesas R-Car Compare Match Timer (CMT) driver to follow this convention. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> --- * I plan to follow up with patches to use these new bindings in the dtsi files for the affected SoCs. v2 * Reorder compat entries so more-specific entries and their fallbacks are grouped with the fallback entry coming last. * Explicitly document fallback v3 * Avoid circular dependency in documentation of fallback behaviour of renesas,cmt-48-gen2 * Use consistent case for SoC names in compat string descriptions commit 3aff50170a37d032c86d10c1815e875e8af0aa1a Merge: 2ba3894 7faee5c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 17:49:39 2014 -0700 Merge branch 'tcp' Eric Dumazet says: ==================== tcp: deduplicate TCP_SKB_CB(skb)->when TCP_SKB_CB(skb)->when has different meaning in output and input paths. In output path, it contains a timestamp. In input path, it contains an ISN, chosen by tcp_timewait_state_process() Its usage in output path is obsolete after usec timestamping. Lets simplify and clean this. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7faee5c0d514162853a343d93e4a0b6bb8bfec21 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 5 15:33:33 2014 -0700 tcp: remove TCP_SKB_CB(skb)->when After commit 740b0f1841f6 ("tcp: switch rtt estimations to usec resolution"), we no longer need to maintain timestamps in two different fields. TCP_SKB_CB(skb)->when can be removed, as same information sits in skb_mstamp.stamp_jiffies Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04317dafd11dd7b0ec19b85f098414abae6ed5f7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 5 15:33:32 2014 -0700 tcp: introduce TCP_SKB_CB(skb)->tcp_tw_isn TCP_SKB_CB(skb)->when has different meaning in output and input paths. In output path, it contains a timestamp. In input path, it contains an ISN, chosen by tcp_timewait_state_process() Lets add a different name to ease code comprehension. Note that 'when' field will disappear in following patch, as skb_mstamp already contains timestamp, the anonymous union will promptly disappear as well. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ba38943ba190eb6a494262003e23187d1b40fb4 Merge: 2c048e6 8496e33 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 17:47:12 2014 -0700 Merge branch 'eth_get_headlen' Alexander Duyck says: ==================== net: Drop get_headlen functions in favor of generic function This series replaces the igb_get_headlen and ixgbe_get_headlen functions with a generic function named eth_get_headlen. I have done some performance testing on ixgbe with 258 byte frames since the calls are only used on frames larger than 256 bytes and have seen no significant difference in CPU utilization. v2: renamed __skb_get_poff to skb_get_poff renamed ___skb_get_poff to __skb_get_poff ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8496e3382e33ef0b6862e07aaf4025420223232e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Sep 5 19:22:18 2014 -0400 ixgbe: use new eth_get_headlen interface Update ixgbe to drop the ixgbe_get_headlen function in favor of eth_get_headlen. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24cd23d3d2e3966bc48a535cacc92356715b50c0 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Sep 5 19:20:43 2014 -0400 igb: use new eth_get_headlen interface Update igb to drop the igb_get_headlen function in favor of eth_get_headlen. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56193d1bce2b2759cb4bdcc00cd05544894a0c90 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Sep 5 19:20:26 2014 -0400 net: Add function for parsing the header length out of linear ethernet frames This patch updates some of the flow_dissector api so that it can be used to parse the length of ethernet buffers stored in fragments. Most of the changes needed were to __skb_get_poff as it needed to be updated to support sending a linear buffer instead of a skb. I have split __skb_get_poff into two functions, the first is skb_get_poff and it retains the functionality of the original __skb_get_poff. The other function is __skb_get_poff which now works much like __skb_flow_dissect in relation to skb_flow_dissect in that it provides the same functionality but works with just a data buffer and hlen instead of needing an skb. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c048e646212f9880e6f201771a30daa963d7f8b Merge: d546c62 82eabd9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 17:43:54 2014 -0700 Merge branch 'timestamping' Alexander Duyck says: ==================== This change makes it so that the core path for the phy timestamping logic is shared between skb_tx_tstamp and skb_complete_tx_timestamp. In addition it provides a means of using the same skb clone type path in non phy timestamping drivers. The main motivation for this is to enable non-phy drivers to be able to manipulate tx timestamp skbs for such things as putting them in lists or setting aside buffer in the context block. v2: Incorporated suggested changes from Willem de Bruijn and Eric Dumazet dropped uneeded comment restored order of hwtstamp vs swtstamp added destructor for skb Dropped usage of skb_complete_tx_timestamp as a kfree_skb w/ destructor v3: Updated destructor handling and dealt with socket reference counting issues v4: Split out combining destructors into a separate patch ==================== commit 82eabd9eb2ec1603282a2c3f74dfcb6fe0aaea0e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Thu Sep 4 13:32:11 2014 -0400 net: merge cases where sock_efree and sock_edemux are the same function Since sock_efree and sock_demux are essentially the same code for non-TCP sockets and the case where CONFIG_INET is not defined we can combine the code or replace the call to sock_edemux in several spots. As a result we can avoid a bit of unnecessary code or code duplication. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62bccb8cdb69051b95a55ab0c489e3cab261c8ef Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Thu Sep 4 13:31:35 2014 -0400 net-timestamp: Make the clone operation stand-alone from phy timestamping The phy timestamping takes a different path than the regular timestamping does in that it will create a clone first so that the packets needing to be timestamped can be placed in a queue, or the context block could be used. In order to support these use cases I am pulling the core of the code out so it can be used in other drivers beyond just phy devices. In addition I have added a destructor named sock_efree which is meant to provide a simple way for dropping the reference to skb exceptions that aren't part of either the receive or send windows for the socket, and I have removed some duplication in spots where this destructor could be used in place of sock_edemux. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37846ef0188335e49f2491a5bbf4e0dc7d407ea0 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Thu Sep 4 13:31:10 2014 -0400 net-timestamp: Merge shared code between phy and regular timestamping This change merges the shared bits that exist between skb_tx_tstamp and skb_complete_tx_timestamp. By doing this we can avoid the two diverging as there were already changes pushed into skb_tx_tstamp that hadn't made it into the other function. In addition this resolves issues with the fact that skb_complete_tx_timestamp was included in linux/skbuff.h even though it was only compiled in if phy timestamping was enabled. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d546c621542df9e45eedc91f35356e887ac63b7b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Sep 4 08:21:31 2014 -0700 ipv4: harden fnhe_hashfun() Lets make this hash function a bit secure, as ICMP attacks are still in the wild. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18a47e6d8af01db1b691802a6bb8eae73d83ad9e Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Thu Sep 4 10:15:45 2014 -0400 net-timestamp: fix allocation error in test A buffer is incorrectly zeroed to the length of the pointer. If cfg_payload_len < sizeof(void *) this can overwrites unrelated memory. The buffer contents are never read, so no need to zero. Fixes: 8fe2f761cae9 ("net-timestamp: expand documentation") Reported-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1c849276b5e199f94501101c07ee9cb6ced4935 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Sep 4 14:11:23 2014 +0300 hyperv: NULL dereference on error We try to call free_netvsc_device(net_device) when "net_device" is NULL. It leads to an Oops. Fixes: f90251c8a6d0 ('hyperv: Increase the buffer length for netvsc_channel_cb()') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a77f9a282a2290526a6239b17ef822ec75ac793c Merge: c2b32e5 aac2f1b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 17:21:06 2014 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-09-04 This series contains updates to i40e, i40evf, ixgbe and ixgbevf. Catherine adds dual speed module support to i40e. Updates i40e to allow the user to change link settings when the link is down. Serey renames i40e_ndo_set_vf_spoofck() to i40e_ndo_set_vf_spookchk() to be more consistent with what is defined in netdev and removes a unnecessary variable assignment. Jesse makes a malicious driver detection warning only print if extended driver string is enabled for i40e. Fixes a panic under traffic load when resetting or if/whenever there was a Tx-timeout because we were enabling the Tx queue to early. Anjali fixes an issue when PF reset fails, where we were trying to restart the admin queue which has not been setup at that point. This resolves an occasional kernel panic when PF reset fails for some reason. Ethan Zhao replaces the use of a local i40e_vfs_are_assigned() with the global kernel pci_vfs_assigned() for i40e. Alex cleans up the FDB handling for ixgbe. This change makes it so that the behavior for FDB handling is consistent between both the SR-IOV and non-SR-IOV cases. The main change is that we perform bounds checking on the number of SR-IOV addresses regardless of if SR-IOV is enabled or not as we can only support a certain number of addresses in the hardware. Emil extends the pending Tx work check to the VF interfaces, where the driver initiates a reset of the interface on link loss with pending Tx work in order to clear the rings. Introduces a delay for 82599 VFs of at least 500 usecs to make sure the VFLINKS value is correct, since this bit tends to flap when a DA or SFP+ cable is disconnected. Jacob adds code comments in ixgbe to make it more obvious that we are resetting features based on the fact that we do not have MSI-X enabled, and cannot use the previous settings. Also resolves a kernel NULL pointer dereference by limiting the combined total of MACVLAN and SR-IOV VFs, since the hardware has a limited number of pools available (64). Previously, no checks were in place to limit the number of accelerated MACVLAN devices based on the number of pools, which would be ok since there was already a limit for these well below the number of available pools. However, SR-IOV uses the very same pools, therefore we need to ensure that the total number of pools does not exceed the number of pools available in the hardware. v2: - clean up code comment in patch 5 by replacing "an" with "auto negotiation" based on feedback from Sergei Shtylyov - removed un-necessary parenthesis around function call in patch 8 based on feedback from Sergei Shtylyov ==================== commit c2b32e580ccc574cf353661ee6d900947e9fdf28 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Thu Sep 4 09:00:23 2014 +0200 net: ethernet: cpsw: improve interrupt lookup logic in cpsw_probe() Simplify the interrupt resource lookup code in cpsw_probe() by the following: * Only look at the first member of the resource. As the driver only works for DT-enabled platforms anyway, a resource of type IORESOURCE_IRQ will only contain one single entry (res->start == res->end), so there is no need for the iteration. * Add a bounds check to avoid overflows if we are passed more than ARRAY_SIZE(priv->irqs_table) resources. * Assign 'ret' with the return value of devm_request_irq() so that cpsw_probe() returns the appropriate error code. * If devm_request_irq() fails, report the error code in the log message. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Acked-by: Mugunthan V N <mugunthanvnm@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit caa415270c732505240bb60171c44a7838c555e8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 3 22:21:56 2014 -0700 ipv4: fix a race in update_or_create_fnhe() nh_exceptions is effectively used under rcu, but lacks proper barriers. Between kzalloc() and setting of nh->nh_exceptions(), we need a proper memory barrier. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 4895c771c7f00 ("ipv4: Add FIB nexthop exceptions.") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit adf70fc087b1750c3792cd56abc6a45e49bb3a11 Author: Pratyush Anand <pratyush.anand@xxxxxx> Date: Fri Sep 5 17:48:54 2014 -0600 PCI: designware: Fold struct pcie_port_info into struct pcie_port The struct pcie_port_info doesn't contain any exclusive information compared to other elements of struct pcie_port. So, keeping a separate structure does not seem very logical. Therefore remove this struct and embed its elements directly into struct pcie_port. Signed-off-by: Pratyush Anand <pratyush.anand@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit 29abe2fda54f8e16ecff5d76d96325f31508d5ba Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Wed Sep 3 13:16:54 2014 -0700 l2tp: fix missing line continuation This syntax error was covered by L2TP_REFCNT_DEBUG not being set by default. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f35d2a5f8df97010ced72845f204545f215a2a2d Merge: e4cf0b7 b73c798 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 15:11:25 2014 -0700 Merge branch 'amd-xgbe-next' Tom Lendacky says: ==================== amd-xgbe: AMD XGBE driver updates 2014-09-03 The following series of patches includes fixes/updates to the driver. - Query the device for the actual speed mode (KR/KX) rather than trying to track it - Update parallel detection logic to support KR mode - Fix new warnings from checkpatch in the amd-xgbe and amd-xgbe-phy driver This patch series is based on net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b73c798b1709e70c8a845228ef07d92c25bd8d6b Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 3 12:14:39 2014 -0500 amd-xgbe-phy: Checkpatch driver fixes This patch contains fixes identified by checkpatch when run with the strict option. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2ea14d7724e5fc1e5ba187fb47f24dfb8c0f381 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 3 12:14:33 2014 -0500 amd-xgbe: Checkpatch driver fixes This patch contains fixes identified by checkpatch when run with the strict option. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e6f0562ff42967a21708acc963ae12059d1d13e3 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 3 12:14:22 2014 -0500 amd-xgbe-phy: Enhance parallel detection to support KR speed Add support to allow parallel detection to work in KR speed. With both speed modes of KX and KR supported, KX must be checked first. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3eec4e79322957d9408dc4e2cf7276c558999d7 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 3 12:14:16 2014 -0500 amd-xgbe-phy: Check device for current speed mode (KR/KX) Since device resets can change the current mode it's possible to think the device is in a different mode than it actually is. Rather than trying to determine every place that is needed to set/save the current mode, be safe and check the devices actual mode when needed rather than trying to track it. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b7f509d4585210ef062051e8949b1efe3256f14 Merge: 640b321 684284b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:46:24 2014 +0200 Merge tag 'integrator-for-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/soc Merge "single Integrator patch" from Linus Walleij: This sets up the dynamically detected IM-PD1 GPIO lines by way of GPIO descriptors, avoiding any use of the GPIO global numberspace. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'integrator-for-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: integrator: add MMCI device to IM-PD1 commit 640b321aba4b880dfa517a047ef6ccee0a437c3d Merge: 013c5b4 8de078f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:45:57 2014 +0200 Merge tag 'renesas-clk-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Clk Updates for v3.18" from Simon Horman: * Add r8a7794 support Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-clk-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: clk: shmobile: Add r8a7794 support commit facdb3dd378e81b8516a8faa061e0be56d2ae7be Merge: d62584f 3f52669 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:33:13 2014 +0200 Merge tag 'davinci-for-v3.18/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/dt Pull "DT additions for DA850" from Sekhar Nori: Adds EDMA and audio support Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'davinci-for-v3.18/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: DTS: da850-evm: Enable audio via simple-card ARM: DTS: da850-evm: Add node for tlv320aic3106 codec ARM: DTS: da850-evm: Enable McASP via DT boot ARM: DTS: da850: Add node for McASP ARM: DTS: da850: Add node for edma0 ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for mcasp0 commit 85ff58a3be610ca567a78c5d4e45ddd2e89088db Merge: b509b5e 7cc5f27 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:29:46 2014 +0200 Merge tag 'at91-defconfig' of git://github.com/at91linux/linux-at91 into next/defconfig Pull "First batch of AT91 defconfig update for 3.18" from Nicolas Ferre: - a dependency needed for SPI flash - enable sound on DT platforms - cleanup of current defconfigs: - addition of new PWM subsystem and related drivers - addition of ADC/touchscreen, watchdog or USB depending on the SoC - addition of power/reset drivers activated during this development cycle - removal of obsolete config options Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-defconfig' of git://github.com/at91linux/linux-at91: ARM: at91: sama5: update defconfig ARM: at91: at91sam9rl: update defconfig ARM: at91: at91sam9g45: update defconfig ARM: at91: at91sam9263: update defconfig ARM: at91: at91sam9261_9g10: update defconfig ARM: at91: at91sam9260_9g20: update defconfig ARM: at91: at91_dt: update defconfig ARM: at91/sama5_defconfig: enable sound support ARM: at91/at91_dt_defconfig: enable sound support ARM: at91: add MTD_SPI_NOR (new dependency for M25P80) commit d62584f3c7e7edf26512cbfe5d1723ef3fb739cd Merge: 046ed3c 5f81573 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:28:00 2014 +0200 Merge tag 'at91-dt2' of git://github.com/at91linux/linux-at91 into next/dt Pull "Second batch of AT91 DT patches for 3.18" from Nicolas Ferre: - 2 little fixes for at91sam9x5 and at91sam9n12ek - removal of a board specific hook for sama5d3xek about phy fixup replaced with proper DT property definition. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-dt2' of git://github.com/at91linux/linux-at91: ARM: at91: remove phy fixup for sama5d3xek boards ARM: at91/dt: describe rgmii ethernet phy connected to sama5d3xek boards ARM: at91/dt: sam9n12ek: ohci: add port and vbus property ARM: at91/dt: sam9x5: fix ADC compatible string commit 6ce041aba36c6f4702cd4f6efb7af3ceb3eb9e35 Merge: 52addcf 405a72c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:26:40 2014 +0200 Merge tag 'at91-drivers' of git://github.com/at91linux/linux-at91 into next/drivers Merge "First batch of AT91 drivers for 3.18" from Nicolas Ferre: - reset, poweroff and ram drivers are moved to their proper location instead of being in mach-at91 directory. They now use the appropriate frameworks. - big amount of removal of these machine specific drivers and use of the newly created drivers. This lead to an overhaul of the setup.c AT91 startup code. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-drivers' of git://github.com/at91linux/linux-at91: (31 commits) power: reset: at91-poweroff: fix wakeup status register index ARM: at91/power/reset: fix Kconfig "depends on" directive ARM: at91: fix ramc standby function registration ARM: at91: Remove rstc and shdwc headers ARM: at91: Remove rstc and shdwnc global base addresses ARM: at91/pm: Remove show_reset_status function ARM: at91: Remove poweroff code ARM: at91: Register the poweroff driver ARM: at91: Remove poweroff DT probing ARM: at91: Remove reset code from the machine code ARM: at91: Call at91_register_devices in the board files ARM: at91: Probe the reset driver ARM: at91/soc: Introduce register_devices callback ARM: at91: Remove the old-style reset probing ARM: at91: Rework ramc mapping code ARM: at91: setup: Switch to pr_fmt ARM: at91: remove old irq material ARM: at91: make use of the new AIC driver for dt enabled boards ARM: at91: enclose at91_aic_xx calls in IS_ENABLED(CONFIG_OLD_IRQ_AT91) blocks ARM: at91: introduce OLD_IRQ_AT91 Kconfig option ... commit 046ed3cc8886cd7f5e06cfa22e9d7c3e30873a1e Merge: d5f97a2 464d6e1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:24:48 2014 +0200 Merge tag 'at91-dt' of git://github.com/at91linux/linux-at91 into next/dt Merge "First batch of AT91 DT material for 3.18" from Nicolas Ferre: - RAM controller rework for multiple controller SoCs - shutdown controller addtion Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-dt' of git://github.com/at91linux/linux-at91: ARM: at91/dt: sama5d3: Add shutdown controller ARM: at91/dt: Declare a second ram controller when relevant ARM: at91/dt: at91sam9: use ddrck in ramc ARM: at91/dt: sama5d3: define mpddr clock and ramc clocks commit 32dc5ca0c10c859e0e4fcc457e7c0a0c2c4b15ae Merge: 184df9d 2626063 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:20:07 2014 +0200 Merge tag 'at91-cleanup' of git://github.com/at91linux/linux-at91 into next/cleanup Merge "at91: cleanup for 3.18" from Nicolas Ferre: First batch of AT91 cleanup for 3.18: Following the merge of AIC/AIC5 code as standard irqchip drivers during early 3.17 merge window, we can use these drivers for AT91 DT-enabled chips and boards. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-cleanup' of git://github.com/at91linux/linux-at91: ARM: at91: remove old irq material ARM: at91: make use of the new AIC driver for dt enabled boards ARM: at91: enclose at91_aic_xx calls in IS_ENABLED(CONFIG_OLD_IRQ_AT91) blocks ARM: at91: introduce OLD_IRQ_AT91 Kconfig option commit e4cf0b756c78e252b989b86e281ecc12d40bd2f6 Merge: b52b727 179bb6d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 12:17:39 2014 -0700 Merge branch 'r8152-next' Hayes Wang says: ==================== r8152: random MAC address If the interface has invalid MAC address, it couldn't be used. In order to let it work normally, give a random one. v3: Remove ether_addr_copy(dev->perm_addr, dev->dev_addr); v2: Use "%pM" format specifier for printing a MAC address. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 179bb6d7f0387102317005e131d3676e239878f5 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Sep 4 16:15:42 2014 +0800 r8152: use eth_hw_addr_random If the hw doesn't have a valid MAC address, give a random one and set it to the hw. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ba789ab13157c82dbdbd4215eac42660a384646 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Sep 4 16:15:41 2014 +0800 r8152: change the location of rtl8152_set_mac_address Exchange the location of rtl8152_set_mac_address() and set_ethernet_addr(). Then, the set_ethernet_addr() could set the MAC address by calling rtl8152_set_mac_address() later. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b52b727594f0a1433039e7afe389d07075152548 Merge: e020836 d4ad30b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 12:12:32 2014 -0700 Merge branch 'rx_copybreak' Govindarajulu Varadarajan says: ==================== enic: Add support for rx_copybreak The following series implements rx_copybreak. dma_map_single()/dma_unmap_single() is more expensive than alloc_skb & memcpy for smaller packets. By doing this we can reuse the dma buff which is already mapped. This is very useful when iommu is on. The default skb copybreak value is 256. When iommu is on, we can go much higher than 256. All the drivers that supports rx_copybreak provides module parameter to change this value. Since module parameter is the least preferred way for changing driver values, this series adds ethtool support for setting rx_copybreak. v4: Validate tunable length in ethtool_get_tunable, not in driver implemented function. Loose tunable_ops array for each tunable type. Define one function and let the driver use switch case for each type. Use double underscore for data type in UAPI headers. Use const qualifier where possible. v3: Add tunable namespace to ethtool. Use new ethtool cmd ETHTOOL_S/GTUNABLE to set/get rx_copybreak from userspace. v2: Add new ethtool_cmd for DMA buffer parameters, instead of adding new members to existing ethtool_ringparam. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4ad30b182305ecf97f145a5d4d1fd9e728c6d01 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Wed Sep 3 03:17:21 2014 +0530 enic: Add tunable_ops support for rx_copybreak This patch adds support for setting/getting rx_copybreak using generic ethtool tunable. Defines enic_get_tunable() & enic_set_tunable() to get/set rx_copybreak. As of now, these two function supports only rx_copybreak. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0db9b073415848709dd59a6394969882f517da9 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Wed Sep 3 03:17:20 2014 +0530 ethtool: Add generic options for tunables This patch adds new ethtool cmd, ETHTOOL_GTUNABLE & ETHTOOL_STUNABLE for getting tunable values from driver. Add get_tunable and set_tunable to ethtool_ops. Driver implements these functions for getting/setting tunable value. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a03bb56e67c357980dae886683733dab5583dc14 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Wed Sep 3 03:17:19 2014 +0530 enic: implement rx_copybreak Calling dma_map_single()/dma_unmap_single() is quite expensive compared to copying a small packet. So let's copy short frames and keep the buffers mapped. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e020836d953eb1ce5b9221b32f4613646a4d5772 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Tue Sep 2 23:30:05 2014 +0200 dev_ioctl: remove dev_load() CAP_SYS_MODULE message Marcel reported to see the following message when autoloading is being triggered when adding nlmon device: Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-nlmon instead. This false-positive happens despite with having correct capabilities set, e.g. through issuing `ip link del dev nlmon` more than once on a valid device with name nlmon, but Marcel has also seen it on creation time when no nlmon module is previously compiled-in or loaded as module and the device name equals a link type name (e.g. nlmon, vxlan, team). Stephen says: The netdev module alias is a hold over from the past. For normal devices, people used to create a alias eth0 to and point it to the type of network device used, that was back in the bad old ISA days before real discovery. Also, the tunnels create module alias for the control device and ip used to use this to autoload the tunnel device. The message is bogus and should just be removed, I also see it in a couple of other cases where tap devices are renamed for other usese. As mentioned in 8909c9ad8ff0 ("net: don't allow CAP_NET_ADMIN to load non-netdev kernel modules"), we nevertheless still might want to leave the old autoloading behaviour in place as it could break old scripts, so for now, lets just remove the log message as Stephen suggests. Reference: http://thread.gmane.org/gmane.linux.kernel/1105168 Reported-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Suggested-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60a3b2253c413cf601783b070507d7dd6620c954 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Tue Sep 2 22:53:44 2014 +0200 net: bpf: make eBPF interpreter images read-only With eBPF getting more extended and exposure to user space is on it's way, hardening the memory range the interpreter uses to steer its command flow seems appropriate. This patch moves the to be interpreted bytecode to read-only pages. In case we execute a corrupted BPF interpreter image for some reason e.g. caused by an attacker which got past a verifier stage, it would not only provide arbitrary read/write memory access but arbitrary function calls as well. After setting up the BPF interpreter image, its contents do not change until destruction time, thus we can setup the image on immutable made pages in order to mitigate modifications to that code. The idea is derived from commit 314beb9bcabf ("x86: bpf_jit_comp: secure bpf jit against spraying attacks"). This is possible because bpf_prog is not part of sk_filter anymore. After setup bpf_prog cannot be altered during its life-time. This prevents any modifications to the entire bpf_prog structure (incl. function/JIT image pointer). Every eBPF program (including classic BPF that are migrated) have to call bpf_prog_select_runtime() to select either interpreter or a JIT image as a last setup step, and they all are being freed via bpf_prog_free(), including non-JIT. Therefore, we can easily integrate this into the eBPF life-time, plus since we directly allocate a bpf_prog, we have no performance penalty. Tested with seccomp and test_bpf testsuite in JIT/non-JIT mode and manual inspection of kernel_page_tables. Brad Spengler proposed the same idea via Twitter during development of this patch. Joint work with Hannes Frederic Sowa. Suggested-by: Brad Spengler <spender@xxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3fce0e882f61513c45c67e15bd0fde03341b58a5 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Thu Aug 7 23:36:40 2014 -0700 PCI: imx6: Delay enabling reference clock for SS until it stabilizes According to the IMX6 reference manuals, REF_SSP_EN (Reference clock enable for SS function) must remain deasserted until the reference clock is running at the appropriate frequency. Delay enabling the reference clock for the SS function until it has stabilized. This prevents a high link failure rate (>5%) on certain IMX6 boards at various temperatures. [bhelgaas: reword changelog slightly] Tested-by: Fabio Estevam <festevam@xxxxxxxxx> Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Marek Vasut <marex@xxxxxxx> Acked-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> commit 6dbaff2bfb2ab0cf5590b193ca6ba52b8990a919 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Wed Sep 3 09:42:06 2014 -0600 ARM: tegra: rely on bootloader pinmux programming on Tegra124 The defined mechanism for programming the Tegra pinmux is to perform all of the following at once in order, before using any I/O controller that is affected by the pinmux: - Set the CLAMP_INPUTS_WHEN_TRISTATED PMC register bit. - Set up any GPIO pins to their "initial" state. - Program all pinmux settings in one go. Other methods such as: - Not setting CLAMP_INPUTS_WHEN_TRISTATED. - Not setting GPIOs to their "initial" state before programming the pinmux settings of the related pin, in particular the mux function. - Not programming the entire pinmux at once, in order to avoid possible conflicting settings. ... are not qualified or supported by NVIDIA ASIC/syseng. They could cause glitches or undesired output levels on some pins, or controller malfunction. While we've been getting away with doing something different on many Tegra boards without issue, I believe we've just been getting lucky. I'd like to switch all Tegra124 systems to the correct scheme now so they provide the right example to follow, and require that any new boards we support upstream work in the same fashion. While it would be nice to update boards containing older SoCs for consistency, I don't anticipate doing so. It's too much churn to change at this time. At least with all Tegra124 boards converted, the most recent boards provide the correct example. Since the bootloader needs to reprogram the pinmux to access certain peripherals, it must program the entire pinmux due to the supported rules above. As such, there is no need to program any part of the pinmux from the kernel, unless dynamic pinmuxing is used. Given this, we couuld simply remove the pinmux "default" state from the DT entirely. However, some bootloaders parse the DT to perform their initial pinmux setup, so it's useful to keep the pinmux data in DT. To allow this while avoiding redundant work in the kernel, rename the "default" state to "boot". The kernel won't apply this, but bootloaders can still look for this state name and apply it. Note however that the DT provides zero information about the required initial GPIO setup, so bootloaders using this approach are not likely to operate correctly without an additional GPIO initialization table somewhere. Previous discussions on the DT mailing list have rejected adding such a table to DT... The following U-Boot commits fully initialize the pinmux: Jetson TK1: 4ff213b8e478 ARM: tegra: clamp inputs on Jetson TK1 Venice2: 3365479ce78a ARM: tegra: Venice2 pinmux spreadsheet updates Both are part of U-Boot v2014.07 and later. Without those commits, the only fallout I see from this change is that HDMI on Venice2 no longer works. Given the very small user-base of this platform, I feel that requiring a bootloader update is reasonable. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit eb481f9ac95cc9350436311036e3a513e1993430 Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Thu Sep 4 15:20:35 2014 -0700 ARM: tegra: add Acer Chromebook 13 device tree The Acer Chromebook 13, codenamed Big, contains an NVIDIA tegra124 processor and is similar to the Venice2 reference platform. The keyboard, USB 2, audio, sdcard and emmc have been tested and work on the 1366x768 models. The Full HD models haven't been tested yet. WiFi does not yet work, it needs at least some PMIC changes to enable the 32k clock. The elan trackpad is not yet functional but hopefully will be soon as there are patches under review. There is also an issue on reboot because the TPM isn't reset. It will cause the stock firmware to enter recovery mode. This can be worked around by an EC-reset, press the refresh and power keys at the same time. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit edfbad068bde82ef228c551569ae4eabeacaf9a6 Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Thu Sep 4 15:20:34 2014 -0700 ARM: tegra: Move pwm and dpaux labels to tegra124.dtsi These labels will be used by other boards in addition to Venice2, move them to tegra124.dtsi so they are defined in a common place. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit a2351efeb3b4e11a97117e048027a9d09855d309 Merge: 52addcf efd01a7 385321e 84a263f 61da50d 0c4ffcf 41534e5 8961def Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 5 10:57:20 2014 -0600 Merge branches 'pci/misc', 'pci/pm', 'pci/host-designware', 'pci/host-imx6', 'pci/host-keystone', 'pci/host-tegra' and 'pci/host-xilinx' into next * pci/misc: PCI/AER: Make <linux/aer.h> standalone includable PCI: Remove unnecessary variable in pci_add_dynid() * pci/pm: PCI/PM: Allow PCI devices to be put into D3cold during system suspend PCI/PM: Drop unused runtime PM support code for PCIe ports * pci/host-designware: PCI: designware: Check private_data validity in single place PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init() PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus() PCI: designware: Parse bus-range property from devicetree PCI: designware: Add support for v3.65 hardware * pci/host-imx6: PCI: imx6: Probe in module_init(), not fs_initcall() PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init() PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus() PCI: designware: Parse bus-range property from devicetree PCI: imx6: Put LTSSM in "Detect" state before disabling it MAINTAINERS: Add Lucas Stach as co-maintainer for i.MX6 PCI driver PCI: designware: Add support for v3.65 hardware * pci/host-keystone: PCI: keystone: Add TI Keystone PCIe driver PCI: designware: Add support for v3.65 hardware * pci/host-tegra: PCI: tegra: Implement a proper resource hierarchy PCI: tegra: Add missing cleanup in error path and tegra_msi_teardown_irq() resources: Add device-managed request/release_resource() * pci/host-xilinx: PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver Conflicts: drivers/pci/host/Kconfig drivers/pci/host/Makefile commit b854100eda59a1df9eaf7454cc7c297910055f42 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Sep 3 14:25:56 2014 +0900 usb: renesas_usbhs: Add device tree support for R-Car H2 and M2 This driver supports other SoCs, but they need boards/Soc depend code. So, this patch adds device tree support for R-Car H2 and M2 initially. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 630a84a1819e8cd42974c66cbfb79549db70b694 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Sep 3 14:25:40 2014 +0900 usb: renesas_usbhs: Add device tree bindings documentation Document the device tree bindings for the Renesas USBHS controller. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a5e4aa4d770ae96da52c8fa035751d2046e2434f Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Wed Sep 3 17:21:24 2014 +0200 usb: musb: cppi41: tweak hrtimer values Intensive tests with USB audio devices connected to a musb host port have shown reproducible pops and clicks in both the playback and the capture stream. These are related to how the early_tx hrtimer is set up, and it turns out they can be fixed by reducing the timer's slack value from 40 to 25 us. Also, when the callback is ran without taking action, it should be rescheduled 20 us later instead of 50 us. Reported-and-tested-by: Sven Neumann <neumann@xxxxxxxxx> Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit eb11adabcfa0019ce0a5f124d282f624d58b4376 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Sep 5 16:36:32 2014 +0100 MAINTAINERS: Add dwc3-st.c file to ARCH/STI architecture This patch adds the new dwc3-st.c glue driver found on STMicroelectronics stih407 consumer electronics SoC's into the STI arch section of the maintainers file. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f9031449269257868be17d4516a29890b469625b Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Sep 5 16:36:31 2014 +0100 usb: dwc3: dwc3-st: Add st-dwc3 devicetree bindings documentation This patch documents the device tree documentation required for the ST usb3 controller glue layer found in STiH407 devices. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f83fca0707c66e36f14efef7f68702cb12de70b7 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Sep 5 16:36:30 2014 +0100 usb: dwc3: add ST dwc3 glue layer to manage dwc3 HC This patch adds the ST glue logic to manage the DWC3 HC on STiH407 SoC family. It manages the powerdown signal, and configures the internal glue logic and syscfg registers. [ balbi@xxxxxx : actually switch over to of_platform_depopulate() ] Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 013c5b4e6611746725cbcc0c39922d36d2968d50 Merge: 09d12ad ad8c3af Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:42:18 2014 +0200 Merge tag 'renesas-cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Cleanup Updates for v3.18" from Simon Horman: * Remove Genmai board code Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r7s72100: Remove legacy board support ARM: shmobile: r7s72100: genmai: Remove legacy board file ARM: shmobile: r7s72100: genmai: Remove reference board file commit 09d12ad7936df431ecbf0faf2b81c56cc4bb6392 Merge: e0ace5f 9dddfcf Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:40:32 2014 +0200 Merge tag 'renesas-dt-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC DT Timers Updates for v3.18" from Simon Horman: * Enable timers using DT when booting boards without Legacy-C code Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: genmai-reference: Enable MTU2 in device tree ARM: shmobile: r7s72100: Add MTU2 device to DT ARM: shmobile: marzen-reference: Enable TMU0 in device tree ARM: shmobile: koelsch-reference: Enable CMT0 in device tree ARM: shmobile: lager-reference: Enable CMT0 in device tree ARM: shmobile: r8a7779: Add TMU devices to DT ARM: shmobile: r8a7791: Add CMT devices to DT ARM: shmobile: r8a7790: Add CMT devices to DT Conflicts: arch/arm/mach-shmobile/setup-r8a7779.c commit 84a263f39403ca3b399af77499876e02e634b00b Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 5 09:37:55 2014 -0600 PCI: designware: Check private_data validity in single place The driver had checks for this sprinkled all over. As we call sys_to_pcie() before every instance of this check, we can move the check to this single location to make things clear. Removing the statements after BUG[_ON]() is safe as the kernel is halted at this point anyway. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit e0ace5fc33e2046e83b0ebbe03b7489eabd6cc03 Merge: 59255f4 4333067 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:36:52 2014 +0200 Merge tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC R8a7740 CCF and Timers Updates for v3.18" from Simon Horman: When booting using the r8a7740/armadillo800eva using dt-reference: * Use CCF to initialise clocks via DT * Initialise timers via DT Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt() ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree ARM: shmobile: r8a7740: Add CMT1 device to DT ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS ARM: shmobile: r8a7740: add MSTP clock assignments to DT ARM: shmobile: r8a7740: add SoC clocks to DTS ARM: shmobile: r8a7740: clock register bits commit 61da50da903fdfc00b40f3b3e3abeca7ae51b591 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 5 09:36:48 2014 -0600 PCI: imx6: Probe in module_init(), not fs_initcall() This effectively reverts f216f57ffe6e ("PCI: imx6: Probe the PCIe in fs_initcall()") as the resource allocation issue that prevented the driver from working properly at module_initcall level is now fixed in pcie-designware.c. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Richard Zhu <r65037@xxxxxxxxxxxxx> commit 59255f4de51e325571d23c8f6f5046069630619f Merge: 5fdebdc 86155b3 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:29:29 2014 +0200 Merge tag 'renesas-soc2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Second Round Of Renesas ARM Based SoC Updates For v3.18" from Simon Horman: * Move legacy INTC definitions from irqs.h to intc.h * Remove duplicate CPUFreq bits on r8a73a0/ape6evm Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-soc2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Move legacy INTC definitions from irqs.h to intc.h ARM: shmobile: ape6evm: Remove duplicate CPUFreq bits ARM: shmobile: sh73a0: Remove duplicate CPUFreq bits commit c346a54a6f5a68eb4d9e97b69c3905fbda34d0fc Merge: 3e3e406 8ddebc4 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 5 09:28:08 2014 -0600 Merge branch 'pci/host-designware' into pci/host-imx6 * pci/host-designware: PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init() PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus() PCI: designware: Parse bus-range property from devicetree PCI: designware: Add support for v3.65 hardware commit 5fdebdc959d7a8a6f37c4252806e0973093f7ec8 Merge: a6fff11 fc35ca2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:11:36 2014 +0200 Merge tag 'renesas-init-delay-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Init Delay Updates For v3.18" from Simon Horman: * Use shmobile_init_delay across a wider range of SoCs Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-init-delay-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: kzm9g: Use shmobile_init_delay() ARM: shmobile: bockw: Use shmobile_init_delay() ARM: shmobile: r8a7778: Use shmobile_init_delay() ARM: shmobile: sh73a0: Use shmobile_init_delay() ARM: shmobile: Remove shmobile_setup_delay() ARM: shmobile: r8a73a4: Use shmobile_init_delay() ARM: shmobile: sh7372: Use shmobile_init_delay() ARM: shmobile: r8a7778: Update DTS to include CPU frequency ARM: shmobile: sh73a0: Update DTS to include CPU frequency ARM: shmobile: sh7372: Update DTS to include CPU frequency ARM: shmobile: kzm9g-reference: Remove unneeded nr_irqs initialization ARM: shmobile: kzm9g: Remove unneeded nr_irqs initialization ARM: shmobile: marzen: Remove NR_IRQS_LEGACY ARM: shmobile: ape6evm: Use shmobile_init_delay() ARM: shmobile: ape6evm: Add shmobile_init_late() ARM: shmobile: bockw: Add shmobile_init_late() ARM: shmobile: marzen: Add shmobile_init_late() ARM: shmobile: kzm9g: Add shmobile_init_late() commit a6fff11391e7bf170ed803d2786df4cb34258546 Merge: e4e3a37 5ac9e7f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:08:14 2014 +0200 Merge tag 'renesas-soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Updates for v3.18" from Simon Horman: * Remove unnecessary nr_irqs initialisation on sh73a0, sh7372, and r8a7779 SoCs * Use defines hardcoded numbers for DMA * Rework multiplatform include workaround * Correctly use shmobile_init_late on a wider range of SoCs Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: sh73a0: Remove unneeded nr_irqs initialization ARM: shmobile: sh7372: Remove unneeded nr_irqs initialization ARM: shmobile: r8a7779: Remove NR_IRQS_LEGACY ARM: shmobile: dma: Use defines instead of hardcoded numbers ARM: shmobile: Rework multiplatform include workaround ARM: shmobile: r7s72100: Add shmobile_init_late() ARM: shmobile: r8a73a4: Add shmobile_init_late() ARM: shmobile: r8a7778: Fix shmobile_init_late() ARM: shmobile: r8a7779: Fix shmobile_init_late() ARM: shmobile: sh73a0: Add shmobile_init_late() ARM: shmobile: r8a7778: Add missing call to shmobile_init_late() commit b509b5e40e0a3ce39ced2187fb3ab34d10921080 Merge: aa4f88c de46e95 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:57:40 2014 +0200 Merge tag 'renesas-defconfig3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Pull "Renesas ARM Based SoC Defconfig Updates for v3.18" from Simon Horman: Third Round of Renesas ARM Based SoC Defconfig Updates for v3.18 * Enable Armadillo 800 EVA board in multiplatform defconfig Second Round Of Renesas ARM Based SoC Defconfig Updates For v3.18 * Do not disable SUSPEND in Bockw defconfig - Suspend to ram is now supported Renesas ARM Based SoC Defconfig Updates for v3.18 * Enable initrd in shmobile defconfig * Enable missing hardware support in shmobile and several board defconfigs Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-defconfig3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Enable Armadillo 800 EVA board in multiplatform defconfig ARM: shmobile: bockw: Do not disable SUSPEND in defconfig ARM: shmobile: defconfig: enable initrd ARM: shmobile: marzen_defconfig: Enable missing hardware support ARM: shmobile: lager_defconfig: Enable missing hardware support ARM: shmobile: kzm9g_defconfig: Enable missing hardware support ARM: shmobile: koelsch_defconfig: Enable missing hardware support ARM: shmobile: bockw_defconfig: Enable missing hardware support ARM: shmobile: ape6evm_defconfig: Enable missing hardware support ARM: shmobile: shmobile_defconfig: Enable missing hardware support commit 2c4cbe6e5a9c71408b496e00a78ea9284e98af16 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Apr 30 17:45:10 2014 -0500 usb: dwc3: add tracepoints to aid debugging When we're debugging hard-to-reproduce and time-sensitive use cases, printk() poses too much overhead. That's when the kernel's tracing infrastructure comes into play. This patch implements a few initial tracepoints for the dwc3 driver. More traces can be added as necessary in order to ease the task of debugging dwc3. Reviewed-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3ece0ec474bf3cea9eefa7f92e3d4b6c3f9f71fd Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Sep 5 09:47:44 2014 -0500 usb: dwc3: gadget: cmd argument should always be unsigned No functional changes, just making sure we're dealing with unsigned ints. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 184df9ddaab4a572e61b321abc079ca49155fc12 Merge: 647f95f 13298fb Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:53:56 2014 +0200 Merge tag 'renesas-kconfig-cleanups-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Pull "Renesas ARM Based SoC Kconfig Cleanups for v3.18" from Simon Horman: * Update name of "R-Car M2-W" SoC (previously there was no "-W") * Consolidate Legacy SH_CLK_CPG and CPU_V7 Kconfig * Only select PM_RMOBILE for legacy case * Cleanup pm-rcar.o and pm-rmobile.o build using Kconfig Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-kconfig-cleanups-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7791 is now called "R-Car M2-W" ARM: shmobile: Consolidate Legacy SH_CLK_CPG Kconfig ARM: shmobile: Consolidate Legacy CPU_V7 Kconfig ARM: shmobile: Only select PM_RMOBILE for legacy case ARM: shmobile: Cleanup pm-rmobile.o build using Kconfig ARM: shmobile: Cleanup pm-rcar.o build using Kconfig ARM: shmobile: Introduce a Kconfig entry for R-Car Gen2 ARM: shmobile: Introduce a Kconfig entry for R-Car Gen1 ARM: shmobile: Introduce a Kconfig entry for R-Mobile Includes an update to 3.17-rc2 to avoid a dependency commit e996061b9632d2ac7d00112208c644328c2411d5 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Aug 19 16:49:20 2014 -0500 usb: dwc3: debug: add dwc3_gadget_event_type_string this new helper will return a pretty string for DWC3 Gadget Events. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 80977dc99be5d874d10716594e716ef317c1723c Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Aug 19 16:37:22 2014 -0500 usb: dwc3: move all string helper functions to debug.h Those functions are only using within debugging messages, grouping them into debug.h makes sense. While at that, also add missing multiple inclusion guard. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8013e8c7117d9d54e84d80480b105f80603d9945 Merge: 3b0b8ec f7b9847 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:35:13 2014 +0200 Merge tag 'renesas-maintainers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/fixes-non-critical Merge "Renesas ARM Based SoC Maintainers Updates for v3.18" from Simon Horman: * Remove genmai_defconfig from MAINTAINERS genmai_defconfig was removed in v3.17-rc1. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-maintainers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Remove genmai_defconfig from MAINTAINERS commit d5f97a2ce9a9fc8ef3fdb366b01c8b4d2d38332a Merge: f60e660 40c488d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:29:57 2014 +0200 Merge tag 'renesas-dt3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Third Round of Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman: * Use tabs for indentation in kzm9g-reference and r8a7779 DTS(I) files * Add platform device tree bindings documentation * Add SoC-specific thermal compatible property to r8a73a4 and r8a7779 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: kzm9g-reference dts: Use tabs for indentation ARM: shmobile: r8a7779 dtsi: Use tabs for indentation ARM: shmobile: Add platform device tree bindings documentation ARM: shmobile: r8a73a4 dtsi: Add SoC-specific thermal compatible property ARM: shmobile: r8a7779 dtsi: Add SoC-specific thermal compatible property commit f60e660c5adf9af09d2143d6fe1f0f184fb3733d Merge: 085b5d6 f170b97 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:28:56 2014 +0200 Merge tag 'renesas-dt2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Second Round Of Renesas ARM Based SoC DT Updates For v3.18" from Simon Horman: * Tidy up interrupt-parents * Add clocks register defines for r8a7740 SoC * Add JPU clock to r8a7791 and r8a7790 SoCs Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: sh73a0 dtsi: Move interrupt-parent to the top ARM: shmobile: r8a7791 dtsi: Remove superfluous interrupt-parent ARM: shmobile: r8a7790 dtsi: Remove superfluous interrupt-parent ARM: shmobile: r8a7779 dtsi: Remove superfluous interrupt-parent ARM: shmobile: r8a7740: clock register bits ARM: shmobile: r8a7791: Add JPU clock dt and CPG define. ARM: shmobile: r8a7790: Add JPU clock dt and CPG define. commit 085b5d6faac39e2d04bcb67d728aa29d03d1a5f8 Merge: 8baebe3 d594c97 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:26:48 2014 +0200 Merge tag 'renesas-dt-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman: * Add VIN support to lager/r8a7790, koelsch/r8a7791 and henninger/r8a7791 * Enable DMA for MSIOF and QSPI on r8a7790 and r8a7791 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: lager: add VIN1/ADV7180 device nodes ARM: shmobile: r8a7790: add VIN device nodes ARM: shmobile: r8a7790 dtsi: Enable DMA for MSIOF ARM: shmobile: r8a7790 dtsi: Enable DMA for QSPI ARM: shmobile: r8a7791 dtsi: Enable DMA for MSIOF ARM: shmobile: r8a7791 dtsi: Enable DMA for QSPI ARM: shmobile: r8a7791: Add DMAC devices to DT ARM: shmobile: r8a7790: Add DMAC devices to DT ARM: shmobile: r8a7790: Add DMAC clocks to DT ARM: shmobile: koelsch: add VIN1/ADV7180 DT support ARM: shmobile: henninger: add VIN0/ADV7180 DT support ARM: shmobile: r8a7791: add VIN DT support commit 7d6827748d54f1745314e4e582691e8c02b9b4af Author: Suman Anna <s-anna@xxxxxx> Date: Thu Sep 4 17:27:30 2014 -0500 iommu/omap: Fix iommu archdata name for DT-based devices A device is tied to an iommu through its archdata field. The archdata is allocated on the fly for DT-based devices automatically through the .add_device iommu ops. The current logic incorrectly assigned the name of the IOMMU user device, instead of the name of the IOMMU device as required by the attach logic. Fix this issue so that DT-based devices can attach successfully to an IOMMU domain. Signed-off-by: Suman Anna <s-anna@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e3f595b9039c888016211c710eb1f58b3f60f809 Author: Suman Anna <s-anna@xxxxxx> Date: Thu Sep 4 17:27:29 2014 -0500 iommu/omap: Check for valid archdata in attach_dev Any device requiring to be attached to an iommu_domain must have valid archdata containing the necessary iommu information, which is SoC-specific. Add a check in the omap_iommu_attach_dev to make sure that the device has valid archdata before accessing different SoC-specific fields of the archdata. This prevents a NULL pointer dereference on any misconfigured devices. Signed-off-by: Suman Anna <s-anna@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a12624959ad4e3bfa8c344ad71728ffc9a379158 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Sep 5 14:57:29 2014 +0200 drm/i915: Update DRIVER_DATE to 20140905 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7d75a871888e3f5e1a7c99bf240d1cd67d8bdfa0 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Sep 5 13:09:25 2014 +0200 gpio: fix 'CONFIG_GPIO_IRQCHIP' comments These two typos were introduced in commit 1425052097b5 ("gpio: add IRQ chip helpers in gpiolib"). The correct symbol name is CONFIG_GPIOLIB_IRQCHIP. [jkosina@xxxxxxx: add changelog] Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f3000e1b43f164802f2a74c9de6a398943a36378 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Thu Sep 4 22:37:55 2014 +0300 mac80211: fix broken use of VHT/20Mhz with some APs commit "mac80211: disable 40MHz support in case of 20MHz AP" broke working VHT in 20Mhz with APs like Netgear R6300v2 which do not publish support for 40Mhz but allow use of VHT in 20Mhz. The break is because VHT is disabled once no HT cap doesn't indicate support for 40Mhz. This causes the assoc request to be sent without any VHT IE and the association is only HT due to this. For more details check out commit 4a817aa7 "mac80211: allow VHT with peers not capable of 40MHz" Fixes: 53b954ee4a71 ("mac80211: disable 40MHz support in case of 20MHz AP") Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a4bcaf5556da649f0160e60fa7b4bb2c29801c12 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Sep 4 23:57:41 2014 +0200 mac80211: extend set_coverage_class signature Extend mac80211 set_coverage_class API in order to enable ACK timeout estimation algorithm (dynack) passing coverage class equals to -1 to lower drivers. Synchronize set_coverage_class routine signature with mac80211 function pointer for p54, ath9k, ath9k_htc and ath5k drivers. Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3057dbfdab1b86a77ed6d512fc857b032f78663b Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Sep 4 23:57:40 2014 +0200 cfg80211: enable dynack through nl80211 Enable ACK timeout estimation algorithm (dynack) using mac80211 set_coverage_class API. Dynack is activated passing coverage class equals to -1 to lower drivers and it is automatically disabled setting valid value for coverage class. Define NL80211_ATTR_WIPHY_DYN_ACK flag attribute to enable dynack from userspace. In order to activate dynack NL80211_FEATURE_ACKTO_ESTIMATION feature flag must be set by lower drivers to indicate dynack capability. Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit eaa336b0f5087addb32217e6a70845ed57249f76 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 3 15:25:06 2014 +0300 mac80211: combine roc with the "next roc" if possible If the remaining time in the current roc is not long enough, mac80211 adds the new roc right after it (if they have similar params). However, in case of multiple rocs, the "next roc" is not considered, resulting in multiple rocs, each one with its own duration. Refactor the code a bit and consider the next roc, so a single max roc will be used instead of multiple rocs (which might last much longer). Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 24ecd45e2eb194dcadefeb60a16f4ca751402413 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 3 15:25:05 2014 +0300 mac80211: adjust roc duration when combining ROCs The new duration (remaining duration after the current ROC ends) was calculated but not used, making the optimization worthless. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a62a1aed3733d7ec6489adca4c2f69881d78cfd6 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 3 15:25:03 2014 +0300 cfg80211: avoid duplicate entries on regdomain intersection The regdom intersection code simply tries intersecting each rule of the source with each rule of the target. Since the resulting intersections are not observed as a whole, this can result in multiple overlapping/duplicate entries. Make the rule addition a bit more smarter, by looking for rules that can be contained within other rules, and adding only extended ones. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cd2f5dd709daa8a70f9eb408025dbb1c804929a8 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Sep 3 15:25:02 2014 +0300 mac80211: Add RRM support to assoc request In case of a RRM-supporting connection, in the association request frame: set the RRM capability flag, and add the required IEs. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit bab5ab7d2a5466406e8003d038cc7ce6b2d5d804 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Sep 3 15:25:01 2014 +0300 nl80211: Add flag attribute for RRM connections Add a flag attribute to use in associations, for tagging the target connection as supporting RRM. It is the responsibility of upper layers to set this flag only if both the underlying device, and the target network indeed support RRM. To be used in ASSOCIATE and CONNECT commands. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 1c7e23bf50264a251de53ad9fb1604683b801258 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Sep 3 15:25:00 2014 +0300 nl80211: Allow declaring RRM-related features Radio Resource Measurement (RRM) is a bundle of features which will require the entire stack to participate. In this patch, the driver is given the opportunity to advertise the device's support for these RRM-related features, using feature flags: 1. Support for Quiet IEs. 2. Support for adding DS Parameter Set IE to probe requests. 3. Support for adding WFA TPC Report IE to probe requests. 4. Support for inserting tx power value to tx-ed packets at a fixed offset. This is used in action frames, such as RRM's Link Measurement Report, where the actual tx power should be reported in the frame. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6188c271f0f2cbc89a52981d252107f7f409f45f Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Wed Sep 3 15:24:59 2014 +0300 mac80211: fix description comment of ieee80211_subif_start_xmit The function description claimed that on error the skb isn't freed even though it is, and stated return values that are different than what really happens in the code. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2740f0cf8ec8bc7ee6a58f68841759e367dda98f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 3 15:24:58 2014 +0300 cfg80211: add Intel Mobile Communications copyright Our legal structure changed at some point (see wikipedia), but we forgot to immediately switch over to the new copyright notice. For files that we have modified in the time since the change, add the proper copyright notice now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d98ad83ee86e523cc00cbf425f456fbd14b4fdc4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 3 15:24:57 2014 +0300 mac80211: add Intel Mobile Communications copyright Our legal structure changed at some point (see wikipedia), but we forgot to immediately switch over to the new copyright notice. For files that we have modified in the time since the change, add the proper copyright notice now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3b0b8ec99aadea710f3dece74c95523463c0087a Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Apr 15 10:26:47 2014 +0200 ARM: spear: Remove references to PLAT_SPEAR_SINGLE The Kconfig symbol PLAT_SPEAR_SINGLE briefly appeared during the v3.10 development cycle. It was removed in a merge commit before v3.10. A few references to it were left in the tree, probably because they didn't generate merge conflicts. Whatever it was, they're useless now and can safely be removed. Reported-by: Martin Walch <walch.martin@xxxxxx> Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Reviewed-by: Rajeev Kumar <rajeev-dlh.kumar@xxxxxx> Cc: Rajeev Kumar <rajeev_kumar@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6b44f519017b219a12b37173c7eef8dfce2c0100 Author: Scot Doyle <lkml14@xxxxxxxxxxxxx> Date: Sun Aug 24 17:12:27 2014 +0000 sched/wait: Document timeout corner case The timeout may elapse without 0 being returned, such as when waiting on an unused queue. Document this possibility. Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/alpine.LNX.2.11.1408241710070.6462@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6a52f5633944f075bcc403d66164b5b90b42a751 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 5 09:12:55 2014 +0800 regulator: da9211: Set of_match_table and export device table Also move da9211_i2c_id and da9211_dt_ids close to the user for better readability. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da0bb557ba0b5985631a98b7450d256251e7fb5d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 5 09:17:41 2014 +0800 regulator: max77802: Remove duplicate rdev_get_id() call Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 97795e4da234371be8ad3904d626566b7077a9ae Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 5 09:14:26 2014 +0800 regulator: hi6421: Fix misleading comment Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f2a25160887e00434ce1361007009120e1fecbda Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Sep 4 21:13:33 2014 +0200 KVM: remove redundant assignments in __kvm_set_memory_region __kvm_set_memory_region sets r to EINVAL very early. Doing it again is not necessary. The same is true later on, where r is assigned -ENOMEM twice. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a13f533b2f1d53a7c0baa7490498caeab7bc8ba5 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Sep 4 21:13:32 2014 +0200 KVM: remove redundant assigment of return value in kvm_dev_ioctl The first statement of kvm_dev_ioctl is long r = -EINVAL; No need to reassign the same value. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 34656113182b704682e23d1363417536addfec97 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Sep 4 21:13:31 2014 +0200 KVM: remove redundant check of in_spin_loop The expression `vcpu->spin_loop.in_spin_loop' is always true, because it is evaluated only when the condition `!vcpu->spin_loop.in_spin_loop' is false. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 54987b7afa902e886b3a751c056c2a4d4701020e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 2 13:23:06 2014 +0200 KVM: x86: propagate exception from permission checks on the nested page fault Currently, if a permission error happens during the translation of the final GPA to HPA, walk_addr_generic returns 0 but does not fill in walker->fault. To avoid this, add an x86_exception* argument to the translate_gpa function, and let it fill in walker->fault. The nested_page_fault field will be true, since the walk_mmu is the nested_mmu and translate_gpu instead operates on the "outer" (NPT) instance. Reported-by: Valentine Sinitsyn <valentine.sinitsyn@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ef54bcfeea6c8b04e2a4f9396e16d88558aa2eee Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Sep 4 19:46:15 2014 +0200 KVM: x86: skip writeback on injection of nested exception If a nested page fault happens during emulation, we will inject a vmexit, not a page fault. However because writeback happens after the injection, we will write ctxt->eip from L2 into the L1 EIP. We do not write back if an instruction caused an interception vmexit---do the same for page faults. Suggested-by: Gleb Natapov <gleb@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c10a19930f286a24f4994c83fe71866877fb1a71 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 5 10:56:35 2014 +0200 mac80211: clean up ieee80211_i.h Not sure how the declaration of ieee80211_tdls_peer_del_work landed after the double inclusion protection end. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 02b837ffe033ed3b50787e0f3e4103ea5a34636b Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Sun Aug 31 16:51:52 2014 +0530 pinctrl: at91: Switch to using managed clk_get This patch switches to using managed version of clk_get and hence removes clk_put from failure path. CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1f81bdc7a08e7aee271a4969f451207fd7946894 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Sat Aug 30 23:05:13 2014 +0530 pinctrl: adi2: Remove duplicate gpiochip_remove_pin_ranges This patch removes call to gpiochip_remove_pin_ranges() from platform_driver remove function as it will anway be called by gpiochip_remove(). CC: Sonic Zhang <sonic.zhang@xxxxxxxxxx> CC: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9e3a979f03b37b8502da6cfce8581e28375cf96f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Sep 5 09:53:23 2014 +0200 pinctrl: single: fix freudian slip commit 03e9f0cac5da6af85758276cb4624caf5911f2b9 "pinctrl: clean up after enable refactoring" renamed the vtable callback .enable to .set_mux. The renaming was done manually, and one of the alterations contained a freudian slip. I confess, I am human. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2de5da5771229c0822dc78472261f0cd82e8bc14 Author: Marek Roszko <mark.roszko@xxxxxxxxx> Date: Sat Aug 23 23:12:06 2014 -0400 pinctrl: at91: update for drive strength options and tweaks The drive strength patched introduced the atmel,sama5d-pinctrl compatible string. Drive strength is now an option for the CONFIG bits per pin. Also added note about MULTIDRIVE being equivalent to open-drain output and added missing "s" at the end of need everywhere in the bits descriptions. Signed-off-by: Marek Roszko <mark.roszko@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4334ac2db2be9e278c95fd15260c1f49f698ffc5 Author: Marek Roszko <mark.roszko@xxxxxxxxx> Date: Sat Aug 23 23:12:04 2014 -0400 pinctrl: at91: add drive strength configuration The SAMA5 and SAM9x5 series both have drive strength options for the PIOs. This patch adds the ability to set one of three hardware options for drive strengths of low, medium or high for the each pin. The actual current output of the chip based on the setting is defined in the datasheets and varies per pins separate from banks and with supply voltage. This patch adds three new dt-bindings that allow setting the strength when configuring pins. By default, no change will be made to the drive strength of a pin from its reset value. Due to the difference between the register addresses of the SAMA5 and SAM9x5 series, a new sama5d3-pinctrl id was added. Signed-off-by: Marek Roszko <mark.roszko@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5923abb205e05773e0bb16c7ca4c0b41dbeec40e Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Sep 4 16:02:28 2014 +0200 ARM: shmobile: Initial r8a7794 SoC support Initial support for the r8a7794 SoC, based on work by Hisashi Nakamura. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0dc50fd3dc4a70d0d317103188c129d378125643 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Sep 4 16:02:27 2014 +0200 ARM: shmobile: support Cortex-A7 in shmobile_init_delay() Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ea2d9fc1af6ebcdf849723ac4f3f91a1c93b5e7c Merge: 0e56673 78f543a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 16:11:43 2014 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Merging the crypto tree for 3.17 in order to resolve the conflict on the 32-bit DRBG overflow fix. commit 9c787942907face82da505c2c5493998b56cfc5a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 07:13:25 2014 +0100 drm/i915: Decouple the stuck pageflip on modeset If we successfully confuse the hardware, and cause it to drop a queued pageflip, we wait for 60s and issue a warning before continuing on with the modeset. However, this leaves the pending pageflip still stuck indefinitely. Pretend to userspace that it does complete, and let us start afresh following the modeset. v2: Rebase after refactor v3: Rebase, rebase. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=82612 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d6bbafa183793537d8dca4d4c2e448805e59448a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 07:13:24 2014 +0100 drm/i915: Check for a stalled page flip after each vblank Long ago, back in the racy haydays of 915gm interrupt handling, page flips would occasionally go astray and leave the hardware stuck, and the display not updating. This annoyed people who relied on their systems being able to display continuously updating information 24/7, and so some code to detect when the driver missed the page flip completion signal was added. Until recently, it was presumed that the interrupt handling was now flawless, but once again Simon Farnsworth has found a system whose display will stall. Reinstate the pageflip stall detection, which works by checking to see if the hardware has been updated to the new framebuffer address following each vblank. If the hardware is scanning out from the new framebuffer, but we still think the flip is pending, then we kick our driver into submision. This is a continuation of the effort started with commit 4e5359cd053bfb7d8dabe4a63624a5726848ffbc Author: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Date: Wed Sep 1 17:47:52 2010 +0100 drm/i915: Avoid pageflipping freeze when we miss the flip prepare interrupt This now includes a belt-and-braces approach to make sure the driver (or the hardware) doesn't miss an interrupt and cause us to stop updating the display should the unthinkable happen and the pageflip fail - i.e. that the user is able to continue submitting flips. v2: Cleanup, refactor, and rename v3: Only start counting vblanks after the flip command has been seen by the hardware. v4: Record the seqno after we touch the ring, or else there may be no seqno allocated yet. v5: Rebase on mmio-flip. v6: Rebase, rebase. Reported-by: Simon Farnsworth <simon@xxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75502 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [v4] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4a804c01635a43ed073893532c058fbaa1f5154e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Sep 2 11:17:07 2014 -0700 net: systemport: update UMAC_CMD only when link is detected When we bring the interface down, phy_stop() will schedule the PHY state machine to call our link adjustment callback. By the time we do so, we may have clock gated off the SYSTEMPORT hardware block, and this will cause bus errors to happen in bcm_sysport_adj_link(): Make sure that we only touch the UMAC_CMD register when there is an actual link. This is safe to do for two reasons: - updating the Ethernet MAC registers only make sense when a physical link is present - the PHY library state machine first set phydev->link = 0 before invoking phydev->adjust_link in the PHY_HALTED case This is a similar fix to the GENET one: c677ba8b3c47650358572091ed8a6af50bfca877 ("net: bcmgenet: update UMAC_CMD only when link is detected"). Fixes: 80105befdb4b ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35b123e2f701b28977db2cde7dbbdb3fad28cad1 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 17:50:43 2014 +0300 sched/fair: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140822145043.GA580@ada Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a9fe8e29945d56f35235a3a0fba99b4cf181d211 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 15:49:26 2014 +0200 ipv4: implement igmp_qrv sysctl to tune igmp robustness variable As in IPv6 people might increase the igmp query robustness variable to make sure unsolicited state change reports aren't lost on the network. Add and document this new knob to igmp code. RFCs allow tuning this parameter back to first IGMP RFC, so we also use this setting for all counters, including source specific multicast. Also take over sysctl value when upping the interface and don't reuse the last one seen on the interface. Cc: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f711939d2ea9dfaecebecd1324d2ec7a7a21f65 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 15:49:25 2014 +0200 ipv6: add sysctl_mld_qrv to configure query robustness variable This patch adds a new sysctl_mld_qrv knob to configure the mldv1/v2 query robustness variable. It specifies how many retransmit of unsolicited mld retransmit should happen. Admins might want to tune this on lossy links. Also reset mld state on interface down/up, so we pick up new sysctl settings during interface up event. IPv6 certification requests this knob to be available. I didn't make this knob netns specific, as it is mostly a setting in a physical environment and should be per host. Cc: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a49058fab2912296f068759490ac69ba43b43861 Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Thu Sep 4 22:36:35 2014 -0400 jbd/jbd2: use non-movable memory for the jbd superblock Sicne the jbd/jbd2 superblock is not released until the file system is unmounted, allocate the buffer cache from the non-moveable area to allow page migration and CMA allocations to more easily succeed. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit a8ac900b8163703340a2fdad11c32f96b8fe686d Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Thu Sep 4 22:36:15 2014 -0400 ext4: use non-movable memory for the ext4 superblock Since the ext4 superblock is not released until the file system is unmounted, allocate the buffer cache entry for the ext4 superblock out of the non-moveable are to allow page migrations and thus CMA allocations to more easily succeed if the CMA area is limited. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 3b5e6454aaf6b4439b19400d8365e2ec2d24e411 Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Thu Sep 4 22:04:42 2014 -0400 fs/buffer.c: support buffer cache allocations with gfp modifiers A buffer cache is allocated from movable area because it is referred for a while and released soon. But some filesystems are taking buffer cache for a long time and it can disturb page migration. New APIs are introduced to allocate buffer cache with user specific flag. *_gfp APIs are for user want to set page allocation flag for page cache allocation. And *_unmovable APIs are for the user wants to allocate page cache from non-movable area. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 111e32b2f6b3f9d348b549013dab8f5053acdf19 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:39 2014 +0200 powerpc/8xx: Duplicate two insns instead of branching Branching takes two cycles on MPC8xx. Lets duplicate the two instructions and avoid the branching. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 41cacac63c98803e9fbb054db0b74f92a8c082e4 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:38 2014 +0200 powerpc/8xx: Optimize verification in FixupDAR By XORing the upper part of the instruction code, we get a value that can directly be verified with the second test and we can remove the first test. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 5bcbe24f6c7aec918b8cb75e53f8f7f897e3a091 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:38 2014 +0200 powerpc/8xx: No need to save r10 and r3 when not calling FixupDAR r10 and r3 are only used inside FixupDAR function. So lets save them inside that function only. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 140a6a60ba18da6b36e7fe1cafbffd09bc805f21 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:38 2014 +0200 powerpc/8xx: Fix comment about DIRTY update Since commit 2321f33790a6c5b80322d907a92d5739e7521a13, dirty handling is not handled here anymore. So we fix the comment. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 3e43640346507caaa0b3b03882a93f641ace4e58 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:37 2014 +0200 powerpc/8xx: Remove loading of r10 at end of FixupDAR Since commit 2321f33790a6c5b80322d907a92d5739e7521a13, r10 is not used anymore after FixupDAR. There is therefore no need to set it up with the value of DAR. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 92625d491e59719f5241bad31eb0f2295479b019 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:37 2014 +0200 powerpc/8xx: Use SCRATCH0 and SCRATCH1 also for TLB handlers SCRATCH0 and SCRATCH1 are only used in Exceptions prologs where no other exception can happen. There is therefore no need to preserve them accross TLB handlers, we can use them there as in other exceptions. One of the advantages is that they do not suffer CPU6 errata unlike M_TW register. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ae466bde19752f8638fd458225fb65ded5db5e16 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:37 2014 +0200 powerpc/8xx: Declare SPRG2 as a SCRATCH register Since commit 469d62be9263b92f2c3329540cbb1c076111f4f3, SPRG2 is used as a scratch register just like SPRG0 and SPRG1. So Declare it as such and fix the comment which is not valid anymore since that commit. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit c822e73731fce3b49a4887140878d084d8a44c08 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Thu Aug 21 12:33:53 2014 +0300 powerpc/fsl_msi: spread msi ints across different MSIRs Allocate msis such that each time a new interrupt is requested, the SRS (MSIR register select) to be used is allocated in a round-robin fashion. The end result is that the msi interrupts will be spread across distinct MSIRs with the main benefit that now users can set affinity to each msi int through the mpic irq backing up the MSIR register. This is achieved with the help of a newly introduced msi bitmap api that allows specifying the starting point when searching for a free msi interrupt. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit de99f53d3af0e1bb9bc6c9e3107d72f3af6e05e9 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Tue Aug 19 14:25:05 2014 +0300 powerpc/fsl_msi: show more meaningful names in /proc/interrupts Rename the irq controller associated with a MSI interrupt to fsl-msi-<V>, where <V> is the virq of the cascade irq backing up this MSI interrupt. This way, one can set the affinity of a MSI through the cascade irq associated with said MSI interrupt. Given this example /proc/interrupts snippet: CPU0 CPU1 CPU2 CPU3 16: 0 0 0 0 OpenPIC 16 Edge mpic-error-int 17: 0 4 0 0 fsl-msi-224 0 Edge eth0-rx-0 18: 0 5 0 0 fsl-msi-225 1 Edge eth0-tx-0 19: 0 2 0 0 fsl-msi-226 2 Edge eth0 [...] 224: 0 11 0 0 OpenPIC 224 Edge fsl-msi-cascade 225: 0 0 0 0 OpenPIC 225 Edge fsl-msi-cascade 226: 0 0 0 0 OpenPIC 226 Edge fsl-msi-cascade [...] To change the affinity of MSI interrupt 17 (having the irq controller named "fsl-msi-224") instead of writing /proc/irq/17/smp_affinity, use the associated MSI cascade irq, in this case, interrupt 224, e.g.: echo 6 > /proc/irq/224/smp_affinity Note that a MSI cascade irq covers several MSI interrupts, so changing the affinity on the cascade will impact all of the associated MSI interrupts. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 543c043cbae79164aa087f96294cb37fc4a19a59 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Tue Aug 19 14:25:03 2014 +0300 powerpc/fsl_msi: change the irq handler from chained to normal As we do for other fsl-mpic related cascaded irqchips (e.g. error ints, mpic timers), use a normal irq handler for msi irqs too. This brings some advantages such as mask/unmask/ack/eoi and irq state taken care behind the scenes, kstats updates a.s.o plus access to features provided by mpic, such as affinity. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 834952314c8bae7331b0797a071958dda9bec60d Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Tue Aug 19 14:25:01 2014 +0300 powerpc/fsl_msi: reorganize structs to improve clarity and flexibility Store cascade_data in an array inside the driver data for later use. Get rid of the msi_virq array since now we can encapsulate the virqs in the cascade_data directly and access them through the array mentioned earlier. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 9593e61582248fe30b099d59d15edd5a30f87add Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Tue Sep 2 17:02:36 2014 +0800 spi: sirf: cleanup the indentation of marcos let "#define" statement keep same indentation. the old code layout is pretty ugly. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0021d97334d207169d2935489b8be11dc52c54a8 Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Tue Sep 2 17:01:04 2014 +0800 spi: sirf: fix 'cmd_transfer' function typos unify 'cmd_transfer' like 'pio_transfer' and 'dma_transfer' as void function, and also change left_rx_word according to transfer result. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d26e2c4d72c2f2a38246f618480864fe3224929c Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 4 18:09:29 2014 -0400 ext4: renumber EXT4_EX_* flags to avoid flag aliasing problems Suggested-by: Andreas Dilger <adilger@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 0e5ecf0a762627b949141df1d83094a9b0eb54a8 Author: Jan Kara <jack@xxxxxxx> Date: Thu Sep 4 18:09:29 2014 -0400 jbd2: optimize jbd2_log_do_checkpoint() a bit When we discover written out buffer in transaction checkpoint list we don't have to recheck validity of a transaction. Either this is the last buffer in a transaction - and then we are done - or this isn't and then we can just take another buffer from the checkpoint list without dropping j_list_lock. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit dc6e8d669cf5cb3ff84707c372c0a2a8a5e80845 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 4 18:09:22 2014 -0400 jbd2: don't call get_bh() before calling __jbd2_journal_remove_checkpoint() The __jbd2_journal_remove_checkpoint() doesn't require an elevated b_count; indeed, until the jh structure gets released by the call to jbd2_journal_put_journal_head(), the bh's b_count is elevated by virtue of the existence of the jh structure. Suggested-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 754cfed6bbcfdea6afb14f2686f7f8d71e94d4e2 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 4 18:08:22 2014 -0400 ext4: drop the EXT4_STATE_DELALLOC_RESERVED flag Having done a full regression test, we can now drop the DELALLOC_RESERVED state flag. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit e3cf5d5d9a86df1c5e413bdd3725c25a16ff854c Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 4 18:07:25 2014 -0400 ext4: prepare to drop EXT4_STATE_DELALLOC_RESERVED The EXT4_STATE_DELALLOC_RESERVED flag was originally implemented because it was too hard to make sure the mballoc and get_block flags could be reliably passed down through all of the codepaths that end up calling ext4_mb_new_blocks(). Since then, we have mb_flags passed down through most of the code paths, so getting rid of EXT4_STATE_DELALLOC_RESERVED isn't as tricky as it used to. This commit plumbs in the last of what is required, and then adds a WARN_ON check to make sure we haven't missed anything. If this passes a full regression test run, we can then drop EXT4_STATE_DELALLOC_RESERVED. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit a521100231f816f8cdd9c8e77da14ff1e42c2b17 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 4 18:06:25 2014 -0400 ext4: pass allocation_request struct to ext4_(alloc,splice)_branch Instead of initializing the allocation_request structure in ext4_alloc_branch(), set it up in ext4_ind_map_blocks(), and then pass it to ext4_alloc_branch() and ext4_splice_branch(). This allows ext4_ind_map_blocks to pass flags in the allocation request structure without having to add Yet Another argument to ext4_alloc_branch(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit efd01a72e7ec99ed583151fbf16b176cd2158967 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 5 14:08:55 2014 +0200 PCI/AER: Make <linux/aer.h> standalone includable The header file references u16 and u32 types, but they are not defined in the header nor does the header pull in the necessary includes for them. This causes build breakage when the file is included without any of the dependencies being satisfied from somewhere else. Fix this by including linux/types.h (for u16 and u32). [bhelgaas: removed pci_dev declaration (already added by 5ccb8225abf2)] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0a2e912d296201c476fe5d7ba6ac23a66325935f Author: Xia Kaixu <kaixu.xia@xxxxxxxxxx> Date: Wed Sep 3 21:18:12 2014 +0800 ARM: cns3xxx: fix allmodconfig panic in pci driver The kernel panic occurs when running an allmodconfig kernel on OMAP4460. The inicall "cns3xxx_pcie_init" does not check which hardware it's running on and just tries to access to its specific registers. Now call it from .init_late callback from the two machine descriptors. Signed-off-by: Xia Kaixu <kaixu.xia@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Anton Vorontsov <anton@xxxxxxxxxx> Cc: Felix Fietkau <nbd@xxxxxxxxxxx> Cc: Imre Kaloz <kaloz@xxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 8ddebc4103e6544bd31f0c97e55491387717a124 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Jul 23 19:52:40 2014 +0200 PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init() The pci_common_init_dev() call right before will already handle the device resource allocation, so this call was a no-op. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit 92483df2bad7649caacad60ec7b0f8016e894e11 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Jul 23 19:52:39 2014 +0200 PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus() Use pci_create_root_bus() similar to other PCI host controller drivers. The main problem with pci_scan_root_bus() is that it not only creates the root bus, but also activates all devices on the bus. This triggers PCI device driver probe routines, which fail because resources haven't been allocated. To work around this we made sure that the host controller driver is probed early and finishes resource allocation before any other device drivers are registered. Switching to pci_create_root_bus() allows us to get rid of this special handling. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit 4f2ebe00597c44f7dc6f88a052a2981ddcf6a0b6 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Jul 23 19:52:38 2014 +0200 PCI: designware: Parse bus-range property from devicetree This allows to explicitly specify the covered bus numbers in the devicetree, which will come in handy once we see a SoC with more than one PCIe host controller instance. Previously the driver relied on the behavior of pci_scan_root_bus() to fill in a range of 0x00-0xff if no valid range was found. We fall back to the same range if no valid DT entry was found to keep backwards compatibility, but now do it explicitly. [bhelgaas: use %pR in error message to avoid duplication] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit 0c4ffcfe1fbc1ef564ec137eab21137cb013b00e Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Sep 2 17:26:19 2014 -0600 PCI: keystone: Add TI Keystone PCIe driver The Keystone PCIe controller is based on v3.65 version of the Designware h/w. Main differences are: 1. No ATU support 2. Legacy and MSI IRQ functions are implemented in application register space 3. MSI interrupts are multiplexed over 8 IRQ lines to the Host side. All of the application register space handing code is organized into pci-keystone-dw.c and the functions are called from pci-keystone.c to implement PCI controller driver. Also add necessary DT documentation and update the MAINTAINERS file for the driver. [bhelgaas: spelling and whitespace fixes] Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Mohit Kumar <mohit.kumar@xxxxxx> CC: Pratyush Anand <pratyush.anand@xxxxxx> CC: Jingoo Han <jg1.han@xxxxxxxxxxx> CC: Richard Zhu <r65037@xxxxxxxxxxxxx> CC: Kishon Vijay Abraham I <kishon@xxxxxx> CC: Marek Vasut <marex@xxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> commit 41534e53786df49b708c1e06f5d6ef9b53fbb689 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 1 14:15:11 2014 +0200 PCI: tegra: Implement a proper resource hierarchy Currently the resource hierarchy generated from the PCIe host bridge is completely flat: $ cat /proc/iomem 00000000-00000fff : /pcie-controller@00003000/pci@1,0 00003000-000037ff : pads 00003800-000039ff : afi 10000000-1fffffff : cs 28000000-28003fff : r8169 28004000-28004fff : r8169 ... The host bridge driver doesn't request all the resources that are used. Windows allocated to each of the root ports aren't tracked, so there is no way for resources allocated to individual devices to be matched up with the correct parent resource by the PCI core. This patch addresses this in two steps. It first takes the union of all regions associated with the PCIe host bridge (control registers, root port registers, configuration space, I/O and prefetchable as well as non- prefetchable memory regions) and uses it as the new root of the resource hierarchy. Subsequently, regions are allocated from within this new root resource so that the resource tree looks much more like what's expected: # cat /proc/iomem 00000000-3fffffff : /pcie-controller@00003000 00000000-00000fff : /pcie-controller@00003000/pci@1,0 00003000-000037ff : pads 00003800-000039ff : afi 10000000-1fffffff : cs 20000000-27ffffff : non-prefetchable 28000000-3fffffff : prefetchable 28000000-280fffff : PCI Bus 0000:01 28000000-28003fff : 0000:01:00.0 28000000-28003fff : r8169 28004000-28004fff : 0000:01:00.0 28004000-28004fff : r8169 ... Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 019fa46ebc93c654da1b29f472a66b3bf7880464 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Jul 29 09:33:30 2014 +0800 PCI: tegra: Add missing cleanup in error path and tegra_msi_teardown_irq() We should call tegra_msi_free() to free the MSI bit if irq_create_mapping() fails. And we need to dispose the IRQ mapping during IRQ teardown. [bhelgaas: made irqd_to_hwirq() change suggested by Thierry] Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> commit 8d38821cbcf51292cd5a23469d03bd38932a3ba9 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 1 14:15:10 2014 +0200 resources: Add device-managed request/release_resource() Provide device-managed implementations of the request_resource() and release_resource() functions. Upon failure to request a resource, the new devm_request_resource() function will output an error message for consistent error reporting. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> commit aa4f88c812b50d0cf77289fd50a9a4fed6bd4173 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 31 13:09:39 2014 +0100 ARM: configs: Enable cpufreq-cpu0 for multi_v7_defconfig Many boards share the cpufreq-cpu0 driver meaning that if we enable it in multi_v7_defconfig we can get a reasonable amount of functional utility for systems and test coverage for a fairly small increase in kernel size. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 4b86a33b5c4558b5e36fb6ae1d18afec7bccec1e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 31 13:03:10 2014 +0100 ARM: configs: Remove REGULATOR_VIRTUAL_CONSUMER from defconfigs The virtual consumer is a test device intended to be used while developing regulator drivers, it should never be used in production. Remove it from all defconfigs to avoid confusion among users. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Matt Porter <mporter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 8baebe30642e76a5209093e75c7bdb4c8b6394eb Merge: c30131c ac42f48 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 4 22:01:33 2014 +0200 Merge tag 'v3.18-rockchip-dma' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Pull "rockchip dma support" from Heiko Stuebner: Enable the AMBA bus and add necessary dma-controller dts nodes * tag 'v3.18-rockchip-dma' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add rk3066 and rk3188 dma controllers ARM: dts: rockchip: add rk3288 dma controllers ARM: rockchip: enable the AMBA bus Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit c30131cf20a5a917a13f4bdefd71f2a545cb3fe6 Merge: 7d1311b f23a617 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 4 21:58:03 2014 +0200 Merge tag 'v3.18-rockchip-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Pull "First hunk of Rockchip dts changes for 3.18" from Heiko Stuebner: - dw_mmc conversion from Jaehoon Chung - mmc support for rk3288 - pwm + backlight for rk3288 - rtc for Radxa Rock - saradc base nodes * tag 'v3.18-rockchip-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add saradc nodes ARM: dts: rockchip: add hym8563 rtc to Radxa Rock board ARM: dts: Enable PWM backlight on rk3288-evb ARM: dts: Add main PWM info to rk3288 ARM: dts: Move the PMIC interrupt pinctrl line to rk3288-evb common ARM: dts: Enable emmc and sdmmc on the rk3288-evb boards ARM: dts: Add emmc and sdmmc to the rk3288 device tree ARM: dts: rockchip: unuse the slot-node and deprecate the supports-highspeed for dw-mmc Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit c96bfaffb783b86555e13d97e871c2adeb97d613 Merge: 7d1311b 9e9bc23 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 4 21:52:28 2014 +0200 Merge tag 'davinci-for-v3.18/board' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/fixes-non-critical Merge "DaVinci board file fixes for v3.18" from Sekhar Nori: Some non-critcal fixes for DA850 EVM board file adding missing regulator information. * tag 'davinci-for-v3.18/board' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: davinci: board-da850-evm: Add needed regulators for tlv320aic3106 codec ARM: davinci: board-da850-evm: Mark dcdc2 of TPS65070 as always_on Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 647f95fa99b16e7c7854a202e91e6aa22ebeecf4 Merge: fff74a9 77cfe68 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 4 21:44:54 2014 +0200 Merge tag 'msm-cleanup-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/cleanup Merge "MSM cleanups" from Linus Walleij: This cleans out some cruft code in the MSM architecture. * tag 'msm-cleanup-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: ARM: msm: Update the references to DEBUG_MSM_UARTx ARM: msm: remove reference to MSM_SERIAL_DEBUGGER ARM: msm: delete dangling mahimahi board file Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e4e3a37d3316332e02e06188dccf4401611e07b9 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 16:31:15 2014 +0400 ARM: clps711x: Add SOC BUS support Add SOC BUS support with CPU family, machine name and unique ID. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e917ba44f8775e476079f2c163985eb9f49703e8 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 16:31:14 2014 +0400 ARM: clps711x: edb7211: Use new PWM driver for backlight Remove existing tricks for handling PWM and use CLPS711X PWM driver. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit fff74a935ec81d2353423917a2638aa1570d4634 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 16:31:13 2014 +0400 ARM: clps711x: Switch CLPS711X subarch to use clk and clocksource driver This patch removes old support for clk and clocksource support and switches platform to use new drivers. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 7850cdfc8028cc7d522c032f64c62c1c01e85875 Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Tue Sep 2 17:01:01 2014 +0800 spi: sirf: correct spi gpio and hardware chipselect behaviour the old codes check the cs-gpios, if the gpio number is 0 like: <&gpio, 0, 0>, the driver will use the only hardware chipselect. this is wrong because of_spi_register_master() can read property cs-gpios from device node and set the spi master's cs number and gpio cs automatically based on whether the cs-gpios is valid. this patch fixes the beviour of CSR spi driver and move to a core level supported way. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85362efb80070bed890602483f71cd103be303c2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:12 2014 +0200 ASoC: ssm2602: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. While we are at it also remove the regcache_cache_only() calls from suspend/resume as there shouldn't be any IO between suspend and resume. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0f0cc5a775ebe88d9be12489874bd2799b42e242 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:11 2014 +0200 ASoC: ssm2518: Cleanup manual bias level transitions Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_OFF at the end of CODEC probe() can also be removed as the CODEC is already in OFF state at this point. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd5d3a151118cd815be15970db099bcdb3f0ad12 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:10 2014 +0200 ASoC: adav80x: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. While we are at it also remove the regcache_cache_only() calls from suspend/resume as there shouldn't be any IO between suspend and resume. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0e0f9b960a011a9e3815004f37cc475229170dfd Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:09 2014 +0200 ASoC: adau17x1: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d7858bd647cda68bf832997a280a2f44aec01f1b Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:08 2014 +0200 ASoC: adau1373: Cleanup manual bias level transitions The ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC, no need to do it manually anymore. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a80932979a72ef9d4e66a69520c7588cc6de5699 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:07 2014 +0200 ASoC: Always run default suspend/resume code We do a bit more than just running the callbacks during suspend and resume these days (e.g. call regcache_mark_dirty() during suspend). But this is only when suspend and resume callbacks are specified for the driver, otherwise nothing is done. This means that drivers which don't want to do anything special during suspend and resume, but still want the standard operations to run, need to provide empty suspend and resume callback functions (rather than no callbacks). This patch updates the suspend and resume code to always run standard sequence regardless of whether suspend and resume handlers are provided. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 86dbf2ac6fcb2d2932d4610f2dfe0954aa0633f7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:06 2014 +0200 ASoC: Add support for automatically going to BIAS_OFF on suspend There is a substantial amount of drivers that in go to SND_SOC_BIAS_OFF on suspend and go back to SND_SOC_BIAS_SUSPEND on resume (Often this is even the only thing done in the suspend and resume handlers). This patch introduces a new suspend_bias_off flag, which when set by a driver will let the ASoC core automatically put the device's DAPM context at the SND_SOC_BIAS_OFF level during suspend. Once the device is resumed the DAPM context will go back to SND_SOC_BIAS_STANDBY (if the context is idle, otherwise to SND_SOC_BIAS_ON). This will allow us to remove a fair bit of duplicated code from the drivers. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1c325f771a88579f227fe017e4ee77d852cf5435 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:05 2014 +0200 ASoC: Shutdown DAPM contexts when removing a card Currently when a ASoC sound card is unregistered we leave the individual components in their current state, just call the remove() callback and leave it to the drivers to do the proper shutdown/cleanup. This patch introduces a call to snd_soc_dapm_shutdown() when removing the card. This will make sure that all DAPM widgets are properly powered down and all DAPM contexts are put at the SND_SOC_BIAS_OFF level. This will ensure that all components are properly powered down when the card is removed. Since a lot of drivers manually go to SND_SOC_BIAS_OFF in their remove callback this will also allow us to remove a bit of duplicated code. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 01e0df6647e713469466c7bb6d7157c2e3046192 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:04 2014 +0200 ASoC: Set card->instantiated to false when removing the card Set card->instantiated to false when the card is removed to make sure that operations that expect the card to be fully instantiated do not run anymore during card removal. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 769b475323463cf7967ec993e8aa573022fbb68b Merge: e02c716 b792346 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Sep 4 20:10:21 2014 +0100 Merge branch 'topic/component' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-suspend commit 71bcada88b0f3c7f11fa5b8a4b30ae66dbfabbf3 Author: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 10:27:54 2014 -0500 edac: altera: Add Altera SDRAM EDAC support This patch adds support for the CycloneV and ArriaV SDRAM controllers. Correction and reporting of SBEs, Panic on DBEs. There was a discussion thread on whether this driver should be an mfd driver or just make use of syscon, which is already a mfd. Ultimately, the decision to use a simple syscon interface was reached.[1] [1] https://lkml.org/lkml/2014/7/30/514 [dinguyen] Fixed Kconfig to have EDAC_ALTERA_MC as a tristate to prevent a build failure for allmodconfig. Signed-off-by: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> [dinguyen] cleaned up commit message Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit db906eb2101b0564b0c65edf4a8647395196342e Author: Jade Bilkey <herself@xxxxxxxxxxxx> Date: Sat Aug 30 15:14:14 2014 -0400 ath5k: added debugfs file for dumping eeprom Signed-off-by: Jade Bilkey <herself@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 87fed556d08d21dd7dd3e0222c94c187e4c2d5e2 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Sep 3 10:35:13 2014 +0200 bcma: get info about flash type SoC booted from There is an ongoing work on cleaning MIPS's nvram support so it could be re-used on other platforms (bcm53xx to say precisely). This will require a bit of extra logic in bcma this patch implements. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d17ec4d55223d9487df195012762da6f85862d4c Merge: ef4ead3 712b24a Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Thu Sep 4 13:45:56 2014 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit ef4ead3f29256ed83991cd77b39334aadd25672a Merge: 6a5d088 d061661 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Thu Sep 4 13:41:33 2014 -0400 Merge tag 'mac80211-next-for-john-2014-08-29' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg <johannes@xxxxxxxxxxxxxxxx> says: "Not that much content this time. Some RCU cleanups, crypto performance improvements, and various patches all over, rather than listing them one might as well look into the git log instead." Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Conflicts: drivers/net/wireless/ath/wil6210/wmi.c commit 0d37899363b0e5486f8800231b7edd75e8b60942 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Sep 3 20:01:55 2014 +0200 pinctrl: generic: Fix PIN_CONFIG_DRIVE_OPEN_SOURCE source/drain doc mismatch PIN_CONFIG_DRIVE_OPEN_SOURCE enables open source, not open drain. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c4edb116803933346d7ac5640a3f91c91158f9db Author: Rongjun Ying <rongjun.ying@xxxxxxx> Date: Tue Sep 2 17:46:47 2014 +0800 pinctrl: prima2: add I2S 2ch, 6ch, nodin, mclk groups we have done that for atlas6 in commit ed36c1a, 086b8904 etc. here we do same things for prima2. Signed-off-by: Rongjun Ying <rongjun.ying@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2ed36928373cc3dfb20a4d17042e9a6e05538e41 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Thu Sep 4 11:58:19 2014 -0400 memfd_test: Add missing argument to printf() Add a missing path argument buf to printf() Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 3af0dbd592fe0a92002f16e341519ba03e92adf7 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Mon Sep 1 11:19:52 2014 +0800 gpio: mcp23s08 to support both device tree and platform data Device tree is not enabled in some architecture where gpio driver mcp23s08 is still required. v2-changes: - Parse device tree properties into platform data other than individual variables. v3-changes: - Use of_node in gpio_chip device structure, because the struct device * always has an of_node which is NULL when OF is not used. Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 57e67900d4c7949ad646a5f43a8ca5180170d2a0 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Sep 3 10:31:16 2014 -0400 memfd_test: Make it work on 32-bit systems This test currently fails on 32-bit systems since we use u64 type to pass the flags to fcntl. This commit changes this to use 'unsigned int' type for flags to fcntl making it work on 32-bit systems. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 0a5d667048ab3b22dff3c60561a79310981ee897 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Sat Aug 30 16:43:00 2014 +0530 pinctrl: sirf: Remove gpiochip on failure cases This patch releases gpiochip related resources by calling gpiochip_remove when gpiochip_irqchip_add fails. CC: Linus Walleij <linus.walleij@xxxxxxxxxx> CC: Barry Song <Baohua.Song@xxxxxxx> CC: Rongjun Ying <rongjun.ying@xxxxxxx> CC: Yuping Luo <yuping.luo@xxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 59e22114b253aaa7caf14221df4dcf924d067922 Author: Ezra Savard <ezra.savard@xxxxxxxxxx> Date: Fri Aug 29 10:58:46 2014 -0700 gpio: zynq: Fixed broken wakeup implementation Use of unmask/mask in set_wake was an incorrect implementation. The new implementation correctly sets wakeup for the gpio chip's IRQ so the gpio chip will not sleep while wakeup-enabled gpio are in use. Signed-off-by: Ezra Savard <ezra.savard@xxxxxxxxxx> Reviewed-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a19467788170c55104082ba82c8d50f54b9d6106 Author: Ezra Savard <ezra.savard@xxxxxxxxxx> Date: Fri Aug 29 10:58:45 2014 -0700 gpio: zynq: Mask non-wakeup GPIO interrupts on suspend Added flag to the GPIO chip so that IRQ from non-wakeup GPIO will not wake the system. Signed-off-by: Ezra Savard <ezra.savard@xxxxxxxxxx> Reviewed-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f712c554a7fca8f6308afbce844eacbf5e48787b Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Wed Sep 3 19:28:16 2014 +0300 pinctrl: qcom: Make the target processor value configurable Currently the value used to specify that interrupts from the gpio should be routed to the application processor is hardcoded for all Qualcomm SoCs. But the new APQ8084 SoC uses a different value. To resolve this, we make this value configurable for each SoC. For all existing SoCs we continue to use the current value, and only for APQ8084 we use the new value. Suggested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a9d490c5a8a05b1ff7d2d6fe5bf1053033788e76 Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Wed Sep 3 19:28:14 2014 +0300 dt: Document Qualcomm APQ8084 pinctrl binding Define a new binding for the Qualcomm TLMM (Top-Level Mode Mux) based pin controller inside the APQ8084. Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c4f6f9c0f38a30148f05bf477ffe3213b8dc2e0c Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Wed Sep 3 19:28:13 2014 +0300 pinctrl: qcom: Add APQ8084 pinctrl support This patchset adds pinctrl support for the Qualcomm APQ8084 platform. This set of patches adds pinctrl support for the Qualcomm APQ8084 platform. The first patch adds the pin definitions. The second patch contains the devicetree binding documentation. The third patch adds the DT node. The last patch makes the INTR_TARGET_PROC_APPS value configurable and defines it for each existing SoC. Tested on IFC6540 board. Changes since v3: - Fixed the sdc valid pin values in the binding documentation - sdc2 instead of sdc3. (suggested by Bjorn Andersson) Changes since v2: - Fixed some incorrect bits and offsets. (suggested by Bjorn Andersson) - Updated binding documentation to follow the format of msm8960. (suggested by Bjorn Andersson) - Added fourth patch, which removes the hardcoded INTR_TARGET_PROC_APPS value and makes it configurable. Also we keep the current value for existing SoCs. (suggested by Bjorn Andersson) Changes since v1: - Updated the total number of pins (suggested by Bjorn Andersson) - Added the missing pin info (provided by Andy Gross) - Updated groups and functions to be consistent with other pinctrls. (suggested by Andy Gross) - Removed unused functions, qdss and test pins. (suggested by Andy Gross) - Updated the documentation with the possible functions. Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 75a41826e2c5dc1dc0fd5195fc29b031c97337af Author: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 26 16:09:32 2014 -0500 arm: dts: Add Altera SDRAM EDAC bindings & devicetree entries. Add the Altera SDRAM EDAC bindings and device tree changes to the Altera SoC project. There was a discussion thread on whether this driver should be an mfd driver or just make use of syscon, which is already a mfd. Ultimately, the decision to use a simple syscon interface was reached.[1] [1] https://lkml.org/lkml/2014/7/30/514 Signed-off-by: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxxx> [dinguyen] cleaned-up commit header and remove version history. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit c6dcb1010239e484a461178d3318b35ef44dbcf0 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 10:37:22 2014 -0500 ARM: dts: socfpga: memreserve first 4KB for future system use This patch adds a /memreserve/ section to reserve the first 4K for future use by the system. One possible use-case is trampoline code used to bring secondary cores online. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxxx> --- v3: Update commit message based on Mark Rutland's comment v2: Add a comment in the dts files commit 8126def857fdc5aba60a72a3a883f5eccf7c91d7 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 10:21:48 2014 -0500 ARM: dts: socfpga: Add SD card detect Revision D of the SOCFGPA devkit has a GPIO line used for SD/MMC card detect. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxxx> commit 6314b318735a7b02271255ea4dae91ed95f528a1 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 16:29:28 2014 -0500 ARM: dts: socfpga: remove extra alias in the ArriaV devkit commit [2755e187 dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac.] added an extra ethernet alias in the ArriaV devkit board file. This patch removes it. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit f5bbe55a270fa153465df23c266f61973c4c7dc0 Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Mon Aug 11 15:57:50 2014 -0500 ARM: dts: socfpga: unuse the slot-node and deprecate the supports-highspeed for dw-mmc dw-mmc controller can support multiple slots. But, there are no use-cases anywhere. So we don't need to support the slot-node for dw-mmc controller. And "supports-highspeed" property in dw-mmc is deprecated. "supports-highspeed" property can be replaced with "cap-sd/mmc-highspeed". Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Tushar Behera <trblinux@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxx> commit ce9e1ac1b9becb9481f8492d9ccf713398a07ef8 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Sep 4 11:31:58 2014 -0300 [media] tw68: make tw68_pci_tbl static and constify drivers/media/pci/tw68/tw68-core.c:72:22: warning: symbol 'tw68_pci_tbl' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e15d1c12c5878b3a80d6573af1721e17264e0286 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Sep 3 03:36:14 2014 -0300 [media] tw68: refactor and cleanup the tw68 driver Refactor and clean up the tw68 driver. It's now using the proper V4L2 core frameworks. Tested with my Techwell tw6805a and tw6816 grabber boards. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5740f4e75f713015067e2667a52bd3b35ef91e07 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Sep 3 03:31:07 2014 -0300 [media] tw68: add original tw68 code This tw68 driver has been out-of-tree for many years on gitorious: https://gitorious.org/tw68/tw68-v2. This copies that code to the kernel as a record of that original code. Note that William Brack's email address in these sources is no longer valid and I have not been able to contact him. However, all the code is standard GPL. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2d025a5b763bc8344fe656e2df8c9900c0c99f28 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Sep 4 12:27:43 2014 +0100 drm/i915: Introduce a for_each_plane() macro Tired of copy/pasting things around. v2: Rebase on top of the for_each_pipe() change adding dev_priv as first argument. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8961def56845593f22ce85474e428f6e4892fdd3 Author: Srikanth Thokala <sthokal@xxxxxxxxxx> Date: Wed Aug 20 21:56:02 2014 +0530 PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver This is the driver for Xilinx AXI PCIe Host Bridge Soft IP. [bhelgaas: minor whitespace fixes] Signed-off-by: Srikanth Thokala <sthokal@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2789339044fb6dfbee0c8cd77e26438b80e333ee Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Sep 4 12:27:23 2014 +0100 drm/i915: Rewrite ABS_DIFF() in a safer manner The new version of the macro does a few things better: - protect the arguments, - only evaluate the arguments once, - check that the arguments are of the same type, Change LC_FREQ_2K to be a unsigned 64bit constant and removed the '()' from the caller as a result. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 951468f33118d1183fd22a5e8450b80a5afc0dd9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 4 14:55:31 2014 +0300 drm/i915: Add comments explaining the vdd on/off functions Jani wanted some comments to explain why we call certain vdd on/off functions in certain places. v2: Make the comments more thorough (Imre) Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 08aff3fe26ae7a0d6f302ac2e1b7e2eb9933cd42 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:09 2014 +0300 drm/i915: Move DP port disable to post_disable for pch platforms We need to turn the DP port off after the pipe, otherwise the pipe won't turn off properly on certain pch platforms at least (happens on my ILK for example). This also matches the BSpec modeset sequence better. We still don't match the spec exactly though (eg. audio disable should happen much earlier), but at last this eliminates the nasty wait_for_pipe_off() timeouts. We already did the port disable after the pipe for VLV/CHV and for CPU eDP. For g4x leave the port disable where it is since that matches the modeset sequence in the documentation and I don't have a suitable machine to test if the other order would work. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b13b58a802bbea6d94aac4e3cc6b33e481eb900 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:08 2014 +0300 drm/i915: Enable DP port earlier Bspec says we should enable the DP port before enabling panel power, and that the port must be enabled with training pattern 1. Do so. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 43072a454646d22f81808bdc8fb1b269ee1717a6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:07 2014 +0300 drm/i915: Turn on panel power before doing aux transfers On VLV/CHV the panel power sequencer may need to be "kicked" a bit to lock onto the new port, and that needs to happen before any aux transfers are attempted if we want the aux transfers to actaully succeed. So turn on panel power (part of the "kick") before aux transfers (DPMS_ON + link training). This also matches the documented modeset sequence better for pch platforms. The documentation doesn't explicitly state anything about the DPMS or link training DPCD writes, but the panel power on step is always listed before link training is mentioned. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=70117 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6491ab27caa2d802b02bfa620a53476ffae5fa3e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:06 2014 +0300 drm/i915: Be more careful when picking the initial power sequencer pipe Try to make sure we find the power sequencer that the BIOS used by first looking for one which has the panel power enabled, then fall back to one with VDD force bit enabled, and finally look at just the port select bits. This should make us pick the correct power sequencer when the BIOS has already enabled the panel. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> [danvet: Shorten the vlv_intial_pps_pipe to make lines fit into 80 chars.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 773538e86081d146e0020435d614f4b96996c1f9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 4 14:54:56 2014 +0300 drm/i915: Reset power sequencer pipe tracking when disp2d is off The power sequencer loses its state when the disp2d power well is down. Clear the dev_priv->pps_pipe tracking so that the power sequencer state gets reinitialized the next time it's needed. v2: Fix the pps_mutex vs. power_domain mutex deadlock by taking power domain reference first v3: Rename from edp_pps_(un)lock() to just pps_(un)lock() for the future, update due to backlight code changes Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a4a5d2f8a96e09844a91469e889f15bd5e927399 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 4 14:54:20 2014 +0300 drm/i915: Track which port is using which pipe's power sequencer VLV/CHV have a per-pipe panel power sequencer which locks onto the port once used. We need to keep track wich power sequencers are locked to which ports. v2: remove spurious whitespace change, rebase due to backlight changes (Imre) Reviewed-by: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Break some really long lines to appease checkpatch a bit.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e39b999a6f229386ea6c58cb1c10ce9dc912869b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 4 14:53:14 2014 +0300 drm/i915: Fix edp vdd locking Introduce a new mutex (pps_mutex) to protect the power sequencer state. For now this state includes want_panel_vdd as well as the power sequencer registers. We need a single mutex (as opposed to per port) because later on we will need to deal with VLV/CHV which have multiple power sequencer which can be reassigned to different ports. v2: Add the locking to intel_dp_encoder_suspend too (Imre) v3: Take care intel_edp_backlight_power() and _intel_edp_backlight_on/off(), deal with reboot notifier vlv_power_sequencer_pipe() call (Imre) Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9cfb76905da525579d0d43c1205c86033d0ae3e5 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Sep 4 10:59:41 2014 +0300 ASoC: tlv320aic31xx: Enable support for S24_LE format S24_LE is the same on the bus as S24_3LE, which means the codec can support it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 95468892fdfeef6d1004b524e35957629efdbe00 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 7 15:39:54 2014 +0100 drm/i915: Reset the HEAD pointer for the ring after writing START Ville found an old w/a documented for g4x that suggested that we need to reset the HEAD after writing START. This is a useful fixup for some of the g4x ring initialisation woes, but as usual, not all. v2: Do the rewrite unconditionally anyway References: https://bugs.freedesktop.org/show_bug.cgi?id=76554 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ffe51d0d8abce3139a970c640ed48e73e9c360bb Author: Christian Gmeiner <christian.gmeiner@xxxxxxxxx> Date: Wed Sep 3 10:33:53 2014 +0200 HID: add support for PenMount HID TouchScreen Driver This patch adds a seperate hid-penmount driver to work around an issue with the HID report descriptor. The descriptor does not contain the ContactID usage and as result the touchscreen is represented as normal mouse to the system. This driver maps the button 0 emitted by the touchscreen to BTN_TOUCH. This makes it possible to use touch events in userspace. Signed-off-by: Christian Gmeiner <christian.gmeiner@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit adceac14166da8c466223a35ec59c4a4adeef976 Author: Frans Klaver <frans.klaver@xxxxxxxxx> Date: Thu Sep 4 09:25:37 2014 +0200 usb: serial: xsens_mt: always bind to interface number 1 Probe is testing if the current interface provides two bulk endpoints. While this achieves the goal of only binding to the correct interface, we already know we can find the device on interface number 1. Stop checking the endpoints and just return successfully when interface number 1 is probed. Signed-off-by: Frans Klaver <frans.klaver@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 7c13325380ee520ece4ddf517c6f6f895eb63f98 Author: Frans Klaver <frans.klaver@xxxxxxxxx> Date: Mon Sep 1 11:39:21 2014 +0200 usb: serial: xsens_mt: add author and description Signed-off-by: Frans Klaver <frans.klaver@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit aac2f1bf14d07c8f13048915f39df4a527350c9a Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Thu Aug 21 06:17:59 2014 +0000 ixgbe: limit combined total of macvlan and SR-IOV VFs Hardware has a limited number of pools available (64). Previously, no checks were in place to limit the number of accelerated macvlan devices based on the number of pools. Normally this would be ok, because there was already a limit for these well below the number of available pools. However, SR-IOV uses the very same pools. Therefor, we need to ensure that the total number of pools (number of VFs plus the number of non-VF pools in use for accelerated macvlans) does not exceed the number of pools available in hardware. This patch resolves a kernel NULL pointer dereference caused by the following commands: $modprobe ixgbe max_vfs=63 $ethtool -K eth2 l2-fwd-offload on $ip link add link eth2 macvlan0 type macvlan $ip link set dev macvlan0 up [ 992.950080] BUG: unable to handle kernel NULL pointer dereference at 0000000000000056 [ 992.951109] IP: [<ffffffffa003b71e>] ixgbe_disable_fwd_ring+0x1e/0xf0 [ixgbe] [ 992.951684] PGD 22a80e067 PUD 232e9b067 PMD 0 [ 992.952389] Oops: 0000 [#1] SMP [ 992.953014] Modules linked in: nfsd lockd nfs_acl exportfs auth_rpcgss oid_registry sunrpc bridge stp llc vhost_net macvtap macvlan vhost tun kvm_intel kvm ioatdma ixgbe mdio igb dca [ 992.956042] CPU: 2 PID: 11928 Comm: ifconfig Not tainted 3.16.0-rc6-net-next-07-29-2014-FCoE+ #1 [ 992.956915] Hardware name: Intel Corporation S2600CO/S2600CO, BIOS SE5C600.86B.02.03.0003.041920141333 04/19/2014 [ 992.957791] task: ffff8804341c0000 ti: ffff8801d7dc8000 task.ti: ffff8801d7dc8000 [ 992.958660] RIP: 0010:[<ffffffffa003b71e>] [<ffffffffa003b71e>] ixgbe_disable_fwd_ring+0x1e/0xf0 [ixgbe] [ 992.959613] RSP: 0018:ffff8801d7dcbbb8 EFLAGS: 00010286 [ 992.960093] RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000000000001 [ 992.960575] RDX: ffff880232eb7000 RSI: 0000000000000000 RDI: ffff88022dc05800 [ 992.961059] RBP: ffff8801d7dcbbd8 R08: 0000000000000000 R09: 0000000000000000 [ 992.961541] R10: 0000000000000001 R11: 0000000000000000 R12: ffff88022ec20980 [ 992.962023] R13: ffff880232eb7000 R14: 0000000000000001 R15: 0000000000000001 [ 992.962508] FS: 00007fab264887a0(0000) GS:ffff880237640000(0000) knlGS:0000000000000000 [ 992.963378] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 992.963858] CR2: 0000000000000056 CR3: 000000022a939000 CR4: 00000000001427e0 [ 992.964340] Stack: [ 992.964806] ffff88022ec28840 ffff88022ec20980 ffff88022dc05800 ffff880232eb7000 [ 992.965976] ffff8801d7dcbc28 ffffffffa003bae8 ffff8801d7dcbbe8 0000000000000400 [ 992.967147] 000000000000000d ffff88022ec20980 ffff88022ec20000 ffff88022dc05800 [ 992.968319] Call Trace: [ 992.968795] [<ffffffffa003bae8>] ixgbe_fwd_ring_up+0x88/0x280 [ixgbe] [ 992.969284] [<ffffffffa0041d83>] ixgbe_fwd_add+0x173/0x220 [ixgbe] [ 992.969767] [<ffffffffa015056c>] macvlan_open+0x1bc/0x230 [macvlan] [ 992.970256] [<ffffffff816b8de7>] __dev_open+0xd7/0x150 [ 992.970735] [<ffffffff816b8bd7>] __dev_change_flags+0xa7/0x170 [ 992.971220] [<ffffffff816b8ccb>] dev_change_flags+0x2b/0x70 [ 992.971703] [<ffffffff817471b2>] devinet_ioctl+0x602/0x6d0 [ 992.972184] [<ffffffff81748168>] inet_ioctl+0x78/0x90 [ 992.972666] [<ffffffff816a143b>] sock_do_ioctl+0x2b/0x70 [ 992.973146] [<ffffffff816a14ed>] sock_ioctl+0x6d/0x260 [ 992.973627] [<ffffffff811ad3b4>] do_vfs_ioctl+0x84/0x540 [ 992.974109] [<ffffffff811a4c81>] ? final_putname+0x21/0x50 [ 992.974593] [<ffffffff818725d5>] ? sysret_check+0x22/0x5d [ 992.975073] [<ffffffff811ad901>] SyS_ioctl+0x91/0xa0 [ 992.975550] [<ffffffff818725a9>] system_call_fastpath+0x16/0x1b [ 992.976026] Code: ff 66 66 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 48 83 ec 20 48 89 5d e8 4c 89 65 f0 48 89 f3 4c 89 6d f8 4c 8b a7 08 02 00 00 <44> 0f b6 6e 56 44 03 af 14 02 00 00 4c 89 e7 e8 5e f2 ff ff be [ 992.982261] RIP [<ffffffffa003b71e>] ixgbe_disable_fwd_ring+0x1e/0xf0 [ixgbe] [ 992.983212] RSP <ffff8801d7dcbbb8> [ 992.983681] CR2: 0000000000000056 [ 992.984248] ---[ end trace 9f54802b5cc3638b ]--- Cc: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit eec66731de41643c9752cccb54b9b1830039a5e9 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Thu Aug 21 06:16:55 2014 +0000 ixgbe: add comment noting recalculation of queues Since we previously called ixgbe_set_num_queues just prior to attempting to set our interrupt scheme, it may be non obvious why we have to call it again inside the function. Add a comment which helps make it more obvious that we are resetting features based on the fact that we do not have MSI-X enabled, and cannot use the previous settings. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b8a2ca19bc1479745952967ec998fd92de92ec85 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Wed Aug 13 05:52:13 2014 +0000 ixgbevf: introduce delay for checking VFLINKS on 82599 VFLINKS.LINKUP bit tends to flap when a DA or SFP+ cable is disconnected. It can take up to 500 usecs for the LINKUP bit to be correct. This patch resolves the issue by introducing a delay for 82599 VFs of at least 500 usecs to make sure the VFLINKS value is correct. Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 07923c17b15e5251bb6e22e5f05be0d1009858d6 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Tue Aug 12 07:12:08 2014 +0000 ixgbe: reset interface on link loss with pending Tx work from the VF ixgbe initiates a reset of the interface on link loss with pending Tx work in order to clear the rings. This patch extends the pending Tx work check to the VF interfaces with the same purpose. Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bcfd3432d1625ef749a8697d194010d0c75b97c9 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Thu Jul 17 02:11:22 2014 +0000 ixgbe: Cleanup FDB handling code This change makes it so that the behavior for FDB handling is consistent between both the SR-IOV and non-SR-IOV cases. The main change here is that we perform bounds checking on the number of SR-IOV addresses regardless of if SR-IOV is enabled or not as we can only support a certain number of addresses in the hardware. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c24817b6babd4b966e68db536c004949bf24dae7 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Jul 22 18:36:43 2014 +0000 i40e: use global pci_vfs_assigned() to replace local i40e_vfs_are_assigned() There is global funcion pci_vfs_assigned(), so use it instead of composing local one. Signed-off-by: Ethan Zhao <ethan.kernel@xxxxxxxxx> Tested-by: Sibai Li <sibai.li@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e966d5c612c08e04fe8ca1a87c2ba8403775b814 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Sat Jul 12 07:28:26 2014 +0000 i40e/i40evf: Bump i40e/i40evf versions Bump i40e version to 1.0.11 and i40evf version to 1.0.5. Change-ID: I63a60fa2efe82aae87a8a3095f43218db57d46ce Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> commit 32b5b81170b6a60cf41d403ab31c417b56ff0d44 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Aug 12 06:33:14 2014 +0000 i40e: fix panic due to too-early Tx queue enable This fixes the panic under traffic load when resetting. This issue could also show up if/whenever there is a Tx-timeout. Change-ID: Ie393a1f17fd5d962e56fc3bfe784899ef25402f5 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a316f651c73f782ff7c6df623a69b67f8f464856 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Sat Jul 12 07:28:25 2014 +0000 i40e: Fix an issue when PF reset fails We shouldn't restart Admin queue subtask if PF reset fails since we do not have the AQ setup at that point. This patch makes sure we disable AQ clean subtask when PF reset fails. This will resolve an occasional kernel panic when PF reset fails for some reason. Change-ID: I11a747773362a8c5c0ad7a10cd34be0bda8eb9e8 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit faf32978616dc2dfe3dbbbe628806887a2115d44 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Sat Jul 12 07:28:21 2014 +0000 i40e: make warning less verbose The driver is un-necessarily printing a warning that is only marginally useful to the user. Make the warning only print if extended driver string printing is enabled, other messages related to a reset event will still continue to print. Change-ID: I5e8beca6516a2f176cd2e72b0ac2b3b909e6c953 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 94128516290dad59d3aaef791faa815c1293298f Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Sat Jul 12 07:28:16 2014 +0000 i40e: Tell OS link is going down when calling set_phy_config Since we don't seem to be getting an LSE telling us link is going down during set_phy_config (but we do get an LSE telling us we are coming back up), fake one for the OS and tell them link is going down. Also do an atomic restart no matter what because there are times the user may want to end with link up even if they started with link down (like if they accidentally set it to a speed that can't link and are trying to fix it). Change-ID: I0a642af9c1d0feb67bce741aba1a9c33bd349ed6 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 356821a37dee93317779e39c781a5c103565c508 Author: Serey Kong <serey.kong@xxxxxxxxx> Date: Tue Jul 29 04:03:53 2014 +0000 i40e: Remove unnecessary assignment Remove unnecessary setting of "ret" variable as it's already set at the top of the function. Change-ID: Icaccfc67f335817a23579b7c43625d59ad6c9925 Signed-off-by: Serey Kong <serey.kong@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e6d9004d22989c9894d183e7161e7a4ea02477fe Author: Serey Kong <serey.kong@xxxxxxxxx> Date: Sat Jul 12 07:28:14 2014 +0000 i40e: Change wording to be more consistent Change "spoofck" to "spoofchk" to be consistent with as defined in netdev. Change-ID: I9866d6284cb5f92c8d71dc0776c6d1e71dfb62a5 Signed-off-by: Serey Kong <serey.kong@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c57e9f179b5cd2f4fbdfc973e9174094b06ca43b Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Sat Jul 12 07:28:13 2014 +0000 i40e: Allow user to change link settings if link is down Allow the user to change auto-negotiation and speed settings if link is down. Change-ID: I372967c627682b5e1835f623a7cbf41b21b51043 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 124ed15bf126b5bf437c8eee2873ecbeef464146 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Sat Jul 12 07:28:12 2014 +0000 i40e: Add dual speed module support Now that fw has implemented dual speed module support, we can add ours. Also, add the phy type for 1G LR/SR and set its media type to fiber. Lastly, instead of a WARN_ON if the phy type is not recognized just print a warning. Change-ID: I2e5227d4a8c2907b0ed423038e5dbce774e466b0 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 51128e8ac839495e0f2c8287cfe65f9277494a98 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 3 13:46:26 2014 +0200 pinctrl: sh-pfc: rename confusing pinmux ops variable The vtable named *pinmux_ops in the affected files are not really about pin multiplexing, but a struct related to some PFC-specific operations, inclusing pin config (bias setting). Rename the variable so as to avoid confusions. Acked-by: Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit edad3b2a57082f6166b4f13445f70e8d3fc415fb Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 3 13:37:38 2014 +0200 pinctrl: imx/mxs: move freescale drivers to subdir This moves all the Freescale-related drivers (i.MX and MXS) to its own subdirectory to clear the view. Cc: Alexander Shiyan <shc_work@xxxxxxx> Cc: Anson Huang <b20788@xxxxxxxxxxxxx> Cc: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Cc: Denis Carikli <denis@xxxxxxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 03e9f0cac5da6af85758276cb4624caf5911f2b9 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 3 13:02:56 2014 +0200 pinctrl: clean up after enable refactoring commit 2243a87d90b42eb38bc281957df3e57c712b5e56 "pinctrl: avoid duplicated calling enable_pinmux_setting for a pin" removed the .disable callback from the struct pinmux_ops, making the .enable() callback the only remaining callback. However .enable() is a bad name as it seems to imply that a muxing can also be disabled. Rename the callback to .set_mux() and also take this opportunity to clean out any remaining mentions of .disable() from the documentation. Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Fan Wu <fwu@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 83ee73c1795d867f20525a53ea60e55c7b59a373 Author: Richard Genoud <richard.genoud@xxxxxxxxx> Date: Wed Sep 3 17:53:48 2014 +0200 tty: doc: Fix grammar in serial/tty Correct spelling typos in serial/tty Signed-off-by: Richard Genoud <richard.genoud@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4ad72b7fadd285f849439cdbc408f8b847cef704 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 19:23:37 2014 +0100 drm/i915: Fix unsafe vma iteration in i915_drop_caches When unbinding, there is a possibility that we drop the active reference on the object, thereby freeing it. If that happens, we may destroy the vm link as well as the object and vma. So iterate carefully. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0e56673b7bb4e66c15a5a2ca2d9ecabf9d74c2af Author: Ted Percival <ted@xxxxxxxxxx> Date: Thu Sep 4 15:18:21 2014 +0800 crypto: mcryptd - Fix typos in CRYPTO_MCRYPTD description Signed-off-by: Ted Percival <ted@xxxxxxxxxx> Acked-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e2cffb5f493a8b431dc87124388ea59b79f0bccb Author: Ondrej Kozina <okozina@xxxxxxxxxx> Date: Mon Aug 25 11:49:54 2014 +0200 crypto: algif - avoid excessive use of socket buffer in skcipher On archs with PAGE_SIZE >= 64 KiB the function skcipher_alloc_sgl() fails with -ENOMEM no matter what user space actually requested. This is caused by the fact sock_kmalloc call inside the function tried to allocate more memory than allowed by the default kernel socket buffer size (kernel param net.core.optmem_max). Signed-off-by: Ondrej Kozina <okozina@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 67a97845830f79584c9db8849ac723e5d2d57f65 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Thu Sep 4 08:56:06 2014 +0200 HID: thingm: fix workqueue race on remove thingm_remove_rgb() needs to flush the workqueue after all the LED classes have been unregistered, otherwise the removal might race with another LED event coming, causing thingm_led_set() to schedule additional work after thingm_remove_rgb() has flushed it. This obviously causes oops later, as the scheduled work has been freed in the meantime. In addition to that, move the hid_hw_stop() to an earlier place, so that dmesg is not polluted by failure messages about not being able to write the LED while the device is being shut down. Reported-and-tested-by: Dylan Alex Simon <dylan-kernel@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 467669c5740a6f27780b991016995f95a6d47836 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Sep 3 16:00:54 2014 -0700 HID: hid-sensor-hub: re-add mistakenly removed USB_DEVICE_ID_STM_HID_SENSOR id Adding USB_DEVICE_ID_STM_HID_SENSOR again in the quirk table. During 3.16 merge cycle somehow quirk for device id USB_DEVICE_ID_STM_HID_SENSOR is missing. I see commit dde3b45cd74e ("HID: hid-sensor-hub: new device id and quirk for STM Sensor hub") added new id USB_DEVICE_ID_STM_HID_SENSOR_1, but didn't really delete the old device id. Anyway we need to add this back, otherwise it breaks ST sensor hubs. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 315427691c7a064718b5ad7d378d7f1c1898a626 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Wed Sep 3 03:17:24 2014 -0700 locking/semaphore: Resolve some shadow warnings Resolve some shadow warnings resulting from using the name jiffies, which is a well-known global. This is not a problem of course, but it could be a trap for someone copying and pasting code, and it just makes W=2 a little cleaner. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409739444-13635-1-git-send-email-jeffrey.t.kirsher@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b89df95d52d5fd0de5a2ca3f8b49aaaee4675151 Author: Rick Jones <rick.jones2@xxxxxx> Date: Wed Sep 3 09:18:00 2014 -0700 mlx4_en: Convert the normal skb free path to dev_consume_skb_any() It would appear the mlx4_en driver was still making a call to dev_kfree_skb_any() where dev_consume_skb_any() would be more appropriate. This should make dropped packet profiling/tracking easier/better over a NIC driven by mlx4_en. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 968d1af17b01b5eb343e17f64281561e1e169bb6 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Aug 28 12:35:27 2014 +0900 ARM: shmobile: armadillo800eva reference: Remove DTS The r8a7740 Armadillo800EVA DTS can now be used both for DT Multiplatform and the legacy case. Because of that remove the r8a7740 Armadillo800EVA DT reference DTS file. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 52031d41be060e9a7f6d113728109aed4758f7ae Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Aug 28 12:35:18 2014 +0900 ARM: shmobile: armadillo800eva reference: Remove C board code Now when the r8a7740 generic multiplatform case has the same features as the DT reference board code then get rid of the Armadillo800EVA DT reference C board code. DT Reference code in the future shall make use of the r8a7740 Multiplatform support code with the generic SoC machine vector. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 940001762ac514810e305aab356983829e5fa82a Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Sep 3 09:22:36 2014 +0800 lib/rhashtable: allow user to set the minimum shifts of shrinking Although rhashtable library allows user to specify a quiet big size for user's created hash table, the table may be shrunk to a very small size - HASH_MIN_SIZE(4) after object is removed from the table at the first time. Subsequently, even if the total amount of objects saved in the table is quite lower than user's initial setting in a long time, the hash table size is still dynamically adjusted by rhashtable_shrink() or rhashtable_expand() each time object is inserted or removed from the table. However, as synchronize_rcu() has to be called when table is shrunk or expanded by the two functions, we should permit user to set the minimum table size through configuring the minimum number of shifts according to user specific requirement, avoiding these expensive actions of shrinking or expanding because of calling synchronize_rcu(). Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f59533f9ca5634e7b8914252e48aee9d9cbe501 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Wed Sep 3 17:56:09 2014 +0200 qdisc: validate frames going through the direct_xmit path In commit 50cbe9ab5f8d ("net: Validate xmit SKBs right when we pull them out of the qdisc") the validation code was moved out of dev_hard_start_xmit and into dequeue_skb. However this overlooked the fact that we do not always enqueue the skb onto a qdisc. First situation is if qdisc have flag TCQ_F_CAN_BYPASS and qdisc is empty. Second situation is if there is no qdisc on the device, which is a common case for software devices. Originally spotted and inital patch by Alexander Duyck. As a result Alex was seeing issues trying to connect to a vhost_net interface after commit 50cbe9ab5f8d was applied. Added a call to validate_xmit_skb() in __dev_xmit_skb(), in the code path for qdiscs with TCQ_F_CAN_BYPASS flag, and in __dev_queue_xmit() when no qdisc. Also handle the error situation where dev_hard_start_xmit() could return a skb list, and does not return dev_xmit_complete(rc) and falls through to the kfree_skb(), in that situation it should call kfree_skb_list(). Fixes: 50cbe9ab5f8d ("net: Validate xmit SKBs right when we pull them out of the qdisc") Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f3c7eec60ad4f990d7bcbc41a1597a4fc7268f6 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Wed Sep 3 12:12:50 2014 +0200 qdisc: exit case fixes for skb list handling in qdisc layer More minor fixes to merge commit 53fda7f7f9e (Merge branch 'xmit_list') that allows us to work with a list of SKBs. Fixing exit cases in qdisc_reset() and qdisc_destroy(), where a leftover requeued SKB (qdisc->gso_skb) can have the potential of being a skb list, thus use kfree_skb_list(). This is a followup to commit 10770bc2d1 ("qdisc: adjustments for API allowing skb list xmits"). Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 126f998e4ae8bc45cd72c7e62c53767c007fc319 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Sep 3 09:49:01 2014 +0900 ARM: shmobile: lager: correct memory map The base address of the second memory region on the lager board is 0x140000000. Update the tag used in the dts file accordingly. This is a documentation fix and should have no run-time affect. This problem was introduced when the second memory region was added to the lager dts file by 62bc32a2573c4219 ("ARM: shmobile: Include all 4 GiB of memory on Lager)" in v3.14. Reported-by: NAOYA SHIIBA <naoya.shiiba.nx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4081363fbe84a7ebac6d3339dd2775df45d856d0 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 15:31:18 2014 -0700 f2fs: introduce F2FS_I_SB, F2FS_M_SB, and F2FS_P_SB This patch adds three inline functions to clean up dirty casting codes. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 017f14e88bf15ca96eb377b3b14fc3c3332e6b9b Author: Todd Broch <tbroch@xxxxxxxxxxxx> Date: Wed Sep 3 16:56:12 2014 -0700 Input: cros_ec_keyb - optimize ghosting algorithm Previous algorithm was a bit conservative and complicating with respect to identifying key ghosting. This CL uses the bitops hamming weight function (hweight8) to count the number of matching rows for colM & colN. If that number is > 1 ghosting is present. Additionally it removes NULL keys and our one virtual keypress KEY_BATTERY from consideration as these inputs are never physical keypresses. Signed-off-by: Todd Broch <tbroch@xxxxxxxxxxxx> Reviewed-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Reviewed-by: Luigi Semenzato <semenzato@xxxxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 26a047ab101a6ab765b805c7417e82e1ed413ff2 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Thu Aug 28 09:21:46 2014 +0530 powerpc: dts: t4240: Change T4240 USB controller version Change USB controller version to 2.5 in compatible string for T4240 Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 00406e8772c61feb57c1baeb97531aa199614e65 Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Tue Aug 26 16:46:11 2014 -0500 powerpc: fsl_pci: Add forced PCI Agent enumeration The following commit prevents the MPC8548E on the XPedite5200 PrPMC module from enumerating its PCI/PCI-X bus: powerpc/fsl-pci: use 'Header Type' to identify PCIE mode The previous patch prevents any Freescale PCI-X bridge from enumerating the bus, if it is hardware strapped into Agent mode. In PCI-X, the Host is responsible for driving the PCI-X initialization pattern to devices on the bus, so that they know whether to operate in conventional PCI or PCI-X mode as well as what the bus timing will be. For a PCI-X PrPMC, the pattern is driven by the mezzanine carrier it is installed onto. Therefore, PrPMCs are PCI-X Agents, but one per system may still enumerate the bus. This patch causes the device node of any PCI/PCI-X bridge strapped into Agent mode to be checked for the fsl,pci-agent-force-enum property. If the property is present in the node, the bridge will be allowed to enumerate the bus. Cc: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7b0e6d6f6de5916aee2a972a4e3a622009b9743a Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Mon Aug 25 16:40:05 2014 +0530 powerpc: configs: Add VFAT file-system configs Add CONFIG_NLS_CODEPAGE_437, CONFIG_NLS_CODEPAGE_850, CONFIG_NLS_ISO8859_1 in default configs for 85xx and 86xx socs. Required for mounting vfat file-systems on USB devices Signed-off-by: Ramneek Mehresh <ramneek.mehresh@xxxxxxxxxxxxx> Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 26ae4980b5e4739af93543a147facb421fb78ae8 Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Fri Aug 15 16:07:48 2014 -0500 fsl_ifc: Fix csor_ext position in fsl_ifc_regs According to Freescale manuals, the IFC_CSORn_EXT register is located immediately _after_ the bank's IFC_CSORn register. This patch adjusts the csor_ext member of and reserved register arrays immediately surrounding the csor_cs structure to provide proper access to this register. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Acked-by: Prabhakar Kushwaha <prabhakar@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 67e35c3a79b7349a9b0dbe1dd0bf82def0296714 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Wed Aug 13 16:55:13 2014 +0300 powerpc/fsl_msi: support vmpic msi with mpic 4.3 The new MSI block in MPIC 4.3 added the MSIIR1 register, with a different layout, in order to support 16 MSIR registers. The msi binding was also updated so that the "reg" reflects the newly introduced MSIIR1 register. Virtual machines advertise these msi nodes by using the compatible "fsl,vmpic-msi-v4.3" so add support for it. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 516d5f8b04ce2bcd24f03323fc743ae25b81373d Merge: 6ba6945 69e273c Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Sep 3 16:01:36 2014 -0700 Merge tag 'v3.17-rc3' into next Sync with mainline to bring in Chrome EC changes. commit 84f44cc56c0994df7778bde55c8d5e9aa9fff8f5 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Aug 8 18:40:45 2014 -0500 powerpc/fsl-pci: Limit ZONE_DMA32 to 2GiB on 64-bit platforms FSL PCI cannot directly address the whole lower 4 GiB due to conflicts with PCICSRBAR and outbound windows. By the time max_direct_dma_addr is set to the precise limit, it will be too late to alter the zone limits, but we should always have at least 2 GiB mapped (unless RAM is smaller than that). Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> commit cf5621032fbe7354c0c3fff17958b7029bbc9f30 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Aug 8 18:40:44 2014 -0500 powerpc/64: Limit ZONE_DMA32 to 4GiB in swiotlb_detect_4g() A DMA zone is still needed with swiotlb, for coherent allocations. This doesn't affect platforms that don't use swiotlb or that don't call swiotlb_detect_4g(). Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> commit 6397fc3fb05e73062b9790cfe2760e209ebd7b95 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Aug 8 18:40:43 2014 -0500 powerpc/64: Honor swiotlb limit in coherent allocations FSL PCI cannot directly address the whole lower 4 GiB due to conflicts with PCICSRBAR and outbound windows, and thus max_direct_dma_addr is less than 4GiB. Honor that limit in dma_direct_alloc_coherent(). Note that setting the DMA mask to 31 bits is not an option, since many PCI drivers would fail if we reject 32-bit DMA in dma_supported(), and we have no control over the setting of coherent_dma_mask if dma_supported() returns true. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> commit 1c98025c6c95bc057a25e2c6596de23288c68160 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Aug 8 18:40:42 2014 -0500 powerpc: Dynamic DMA zone limits Platform code can call limit_zone_pfn() to set appropriate limits for ZONE_DMA and ZONE_DMA32, and dma_direct_alloc_coherent() will select a suitable zone based on a device's mask and the pfn limits that platform code has configured. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> commit f1a07231611c9c6f6a9a49c5a0f230b4f594d5b4 Author: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Date: Tue Aug 19 18:21:08 2014 +0800 ARM: dts: Add sdio0 and sdio1 to the rk3288 This patch requires that <https://patchwork.kernel.org/patch/4701721/> land in order to compile. Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fbe1d5b00daabfa5313685c87ac8632a77aeb31d Merge: 69e273c c994068 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Sep 3 15:30:29 2014 -0700 Merge branch 'omap-for-v3.17/dt' into omap-for-v3.18/dt Merge the gta04 related changes that were too late for v3.17 commit 89fffac802c18caebdf4e91c0785b522c9f6399a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 19:11:45 2014 -0300 [media] drxk_hard: fix bad alignments drivers/media/dvb-frontends/drxk_hard.c:2224:3-22: code aligned with following code on line 2227 Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit cea130021448763b15f4b16af184bbab4be118fb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 19:16:00 2014 -0300 [media] drxd_hard: fix bad alignments As reported by cocinelle: drivers/media/dvb-frontends/drxd_hard.c:2632:3-51: code aligned with following code on line 2633 Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a16ae7d5bcc79fb4b882a611815fad05f818bfb4 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 19:13:59 2014 -0300 [media] sp8870: fix bad alignments As reported by cocinelle: drivers/media/dvb-frontends/sp8870.c:395:2-14: code aligned with following code on line 397 Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a0cfd75fdc46b56978ece383a7d6f6b04e9087ad Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Aug 12 15:41:17 2014 -0700 seccomp: Add reviewers to MAINTAINERS This adds two reviewers to the seccomp tree. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit ff27f38e0ef978aee4c9f7e3a4f3403aae832de2 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Mon Jul 21 18:49:17 2014 -0700 seccomp: Document two-phase seccomp and arch-provided seccomp_data The description of how archs should implement seccomp filters was still strictly correct, but it failed to describe the newly available optimizations. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit d39bd00deabe57420f2a3669eb71b0e0c4997184 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Mon Jul 21 18:49:16 2014 -0700 seccomp: Allow arch code to provide seccomp_data populate_seccomp_data is expensive: it works by inspecting task_pt_regs and various other bits to piece together all the information, and it's does so in multiple partially redundant steps. Arch-specific code in the syscall entry path can do much better. Admittedly this adds a bit of additional room for error, but the speedup should be worth it. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 13aa72f0fd0a9f98a41cefb662487269e2f1ad65 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Mon Jul 21 18:49:15 2014 -0700 seccomp: Refactor the filter callback and the API The reason I did this is to add a seccomp API that will be usable for an x86 fast path. The x86 entry code needs to use a rather expensive slow path for a syscall that might be visible to things like ptrace. By splitting seccomp into two phases, we can check whether we need the slow path and then use the fast path in if the filter allows the syscall or just returns some errno. As a side effect, I think the new code is much easier to understand than the old code. This has one user-visible effect: the audit record written for SECCOMP_RET_TRACE is now a simple indication that SECCOMP_RET_TRACE happened. It used to depend in a complicated way on what the tracer did. I couldn't make much sense of it. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit a4412fc9486ec85686c6c7929e7e829f62ae377e Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Mon Jul 21 18:49:14 2014 -0700 seccomp,x86,arm,mips,s390: Remove nr parameter from secure_computing The secure_computing function took a syscall number parameter, but it only paid any attention to that parameter if seccomp mode 1 was enabled. Rather than coming up with a kludge to get the parameter to work in mode 2, just remove the parameter. To avoid churn in arches that don't have seccomp filters (and may not even support syscall_get_nr right now), this leaves the parameter in secure_computing_strict, which is now a real function. For ARM, this is a bit ugly due to the fact that ARM conditionally supports seccomp filters. Fixing that would probably only be a couple of lines of code, but it should be coordinated with the audit maintainers. This will be a slight slowdown on some arches. The right fix is to pass in all of seccomp_data instead of trying to make just the syscall nr part be fast. This is a prerequisite for making two-phase seccomp work cleanly. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: linux-s390@xxxxxxxxxxxxxxx Cc: x86@xxxxxxxxxx Cc: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit e4cf19ffe060e75d34c007565d0aef7189ec654e Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 2 15:50:43 2014 -0400 HID: thingm: set the proper error code before leaving In case of an unsupported firmware, the driver bails out without setting the LEDs interfaces, but forget to set the proper error code. err is then still equal to 0 and the hid subsytem consider the device to be in perfect shape. When removing it, thingm_remove() tries to unbind the rgb LEDs which has not been created, leading to a segfault. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c56019fc40c5b7a7b3aa7be7f17c6b993cd853b5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 18:43:31 2014 -0300 [media] tuner-xc2028: fix bad alignments As reported by cocinelle: drivers/media/tuners/tuner-xc2028.c:182:2-18: code aligned with following code on line 183 drivers/media/tuners/tuner-xc2028.c:184:2-19: code aligned with following code on line 185 drivers/media/tuners/tuner-xc2028.c:186:2-19: code aligned with following code on line 187 drivers/media/tuners/tuner-xc2028.c:188:2-17: code aligned with following code on line 189 drivers/media/tuners/tuner-xc2028.c:190:2-19: code aligned with following code on line 191 drivers/media/tuners/tuner-xc2028.c:192:2-19: code aligned with following code on line 193 drivers/media/tuners/tuner-xc2028.c:194:2-18: code aligned with following code on line 195 drivers/media/tuners/tuner-xc2028.c:196:2-17: code aligned with following code on line 197 drivers/media/tuners/tuner-xc2028.c:198:2-18: code aligned with following code on line 199 drivers/media/tuners/tuner-xc2028.c:200:2-19: code aligned with following code on line 201 drivers/media/tuners/tuner-xc2028.c:202:2-18: code aligned with following code on line 203 drivers/media/tuners/tuner-xc2028.c:204:2-16: code aligned with following code on line 205 drivers/media/tuners/tuner-xc2028.c:206:2-20: code aligned with following code on line 207 drivers/media/tuners/tuner-xc2028.c:208:2-17: code aligned with following code on line 209 drivers/media/tuners/tuner-xc2028.c:210:2-18: code aligned with following code on line 211 drivers/media/tuners/tuner-xc2028.c:212:2-18: code aligned with following code on line 213 drivers/media/tuners/tuner-xc2028.c:214:2-18: code aligned with following code on line 215 drivers/media/tuners/tuner-xc2028.c:216:2-16: code aligned with following code on line 217 drivers/media/tuners/tuner-xc2028.c:218:2-18: code aligned with following code on line 219 drivers/media/tuners/tuner-xc2028.c:220:2-20: code aligned with following code on line 221 drivers/media/tuners/tuner-xc2028.c:222:2-21: code aligned with following code on line 223 drivers/media/tuners/tuner-xc2028.c:224:2-20: code aligned with following code on line 225 drivers/media/tuners/tuner-xc2028.c:226:2-23: code aligned with following code on line 227 drivers/media/tuners/tuner-xc2028.c:228:2-23: code aligned with following code on line 229 drivers/media/tuners/tuner-xc2028.c:230:2-22: code aligned with following code on line 231 drivers/media/tuners/tuner-xc2028.c:232:2-24: code aligned with following code on line 233 drivers/media/tuners/tuner-xc2028.c:234:2-19: code aligned with following code on line 235 drivers/media/tuners/tuner-xc2028.c:236:2-19: code aligned with following code on line 237 drivers/media/tuners/tuner-xc2028.c:238:2-20: code aligned with following code on line 239 drivers/media/tuners/tuner-xc2028.c:240:2-19: code aligned with following code on line 241 Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9a15fff05b702c3ea29ae64db0d3ff0355431eab Author: Nishanth Menon <nm@xxxxxx> Date: Wed Sep 3 11:03:10 2014 -0500 ARM: dts: am335x-bone*: Fix model name and update compatibility information Beaglebone white and beaglebone black differ in tiny little aspects. This is the reason why we maintain seperate dts for these platforms. However, there is no real way to decode from dtb which platform it is since compatible and model name are the same for both platforms. Fix this so that beaglebone black and beaglebone are identifiable, while maintaining compatibility for older zImages which might use old beaglebone compatible flag for black as well. Reported-by: Tom Rini <trini@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 027bc41a3eb4759d60641c033c9a4c85be1cfd39 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Sep 2 22:15:26 2014 +0800 NFSD: Put export if prepare_creds() fail Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 13c82e8eb515ea84de4e3a1a097137bd3d5c2cc5 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Sep 2 22:14:31 2014 +0800 NFSD: Full checking of authentication name Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 48c348b09c6b35b1cf6f2125d1d4fd7c962dd79d Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Sep 2 22:13:32 2014 +0800 NFSD: Fix bad using of return value from qword_get Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 15d176c195b164db59dd4473a0cfb1ad0bfbd0a4 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Sep 2 22:12:17 2014 +0800 NFSD: Fix a memory leak if nfsd4_recdir_load fail Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c2236f141ebb6198af0839b8e4f804ead2d30ca8 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Sep 2 22:11:27 2014 +0800 NFSD: Reset creds after mnt_want_write_file() fail Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 8519f994e5cf27ecdac3b0fe2a4dc7abd320643e Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Sep 3 08:14:06 2014 +0800 NFSD: Put file after ima_file_check fail in nfsd_open() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 89f2ab55ea0292bbdf07e5e0b3266ebf0018a224 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Wed Sep 3 15:43:25 2014 -0400 HID: wacom: Add support for the Cintiq Companion The Wacom Cintiq Companion shares the same sensor than the Cintiq Companion Hybrid, with the exception of the different PIDs. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 97e0e1e867952d369f245fce0d6791eacb40b2bb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 18:42:09 2014 -0300 [media] xc4000: Fix bad alignments As reported by cocinelle: drivers/media/tuners/xc4000.c:573:2-28: code aligned with following code on line 574 drivers/media/tuners/xc4000.c:575:2-29: code aligned with following code on line 576 drivers/media/tuners/xc4000.c:577:2-29: code aligned with following code on line 578 drivers/media/tuners/xc4000.c:579:2-27: code aligned with following code on line 580 drivers/media/tuners/xc4000.c:581:2-29: code aligned with following code on line 582 drivers/media/tuners/xc4000.c:583:2-29: code aligned with following code on line 584 drivers/media/tuners/xc4000.c:585:2-28: code aligned with following code on line 586 drivers/media/tuners/xc4000.c:587:2-27: code aligned with following code on line 588 drivers/media/tuners/xc4000.c:589:2-28: code aligned with following code on line 590 drivers/media/tuners/xc4000.c:591:2-29: code aligned with following code on line 592 drivers/media/tuners/xc4000.c:593:2-28: code aligned with following code on line 594 drivers/media/tuners/xc4000.c:595:2-26: code aligned with following code on line 596 drivers/media/tuners/xc4000.c:597:2-30: code aligned with following code on line 598 drivers/media/tuners/xc4000.c:599:2-27: code aligned with following code on line 600 drivers/media/tuners/xc4000.c:601:2-28: code aligned with following code on line 602 drivers/media/tuners/xc4000.c:603:2-28: code aligned with following code on line 604 drivers/media/tuners/xc4000.c:605:2-28: code aligned with following code on line 606 drivers/media/tuners/xc4000.c:607:2-26: code aligned with following code on line 608 drivers/media/tuners/xc4000.c:609:2-28: code aligned with following code on line 610 drivers/media/tuners/xc4000.c:611:2-30: code aligned with following code on line 612 drivers/media/tuners/xc4000.c:613:2-31: code aligned with following code on line 614 drivers/media/tuners/xc4000.c:615:2-30: code aligned with following code on line 616 drivers/media/tuners/xc4000.c:617:2-33: code aligned with following code on line 618 drivers/media/tuners/xc4000.c:619:2-33: code aligned with following code on line 620 drivers/media/tuners/xc4000.c:621:2-32: code aligned with following code on line 622 drivers/media/tuners/xc4000.c:623:2-34: code aligned with following code on line 624 drivers/media/tuners/xc4000.c:625:2-29: code aligned with following code on line 626 drivers/media/tuners/xc4000.c:627:2-29: code aligned with following code on line 628 drivers/media/tuners/xc4000.c:629:2-30: code aligned with following code on line 630 drivers/media/tuners/xc4000.c:631:2-29: code aligned with following code on line 632 Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8f507ef522d55a6e2f9e11a1c1163a92756da044 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 11:39:15 2014 -0400 HID: usbhid: improve handling of Clear-Halt and reset This patch changes the way usbhid carries out Clear-Halt and reset. Currently, after a Clear-Halt on the interrupt-IN endpoint, the driver immediately restarts the interrupt URB, even if the Clear-Halt failed. This doesn't work out well when the reason for the failure was that the device was disconnected (when a low- or full-speed device is connected through a hub to an EHCI controller, transfer errors caused by disconnection are reported as stalls by the hub). Instead now the driver will attempt a reset after a failed Clear-Halt. The way resets are carried out is also changed. Now the driver will call usb_queue_reset_device() instead of calling usb_reset_device() directly. This avoids a deadlock that would arise when a device is unplugged: The hid_reset() routine runs as a workqueue item, a reset attempt after the device has been unplugged will fail, failure will cause usbhid to be unbound, and the disconnect routine will try to do cancel_work_sync(). The usb_queue_reset_device() implementation is carefully written to handle scenarios like this one properly. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a1a57abaaf820a3ed2fe72d70bf52f57a7a5ae21 Author: Nishanth Menon <nm@xxxxxx> Date: Thu Aug 28 15:45:03 2014 -0500 ARM: dts: omap4-panda: Fix model and SoC family details Currently we claim that omap4-panda and omap4-panda-es are essentially the same, but they are not since PandaBoard-ES uses OMAP4460 and PandaBoard uses OMAP4430. So, split the common definition and make the model name available. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ea21f702fc65e1f343dcbc422613cbb8af23d901 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:16:53 2014 -0300 [media] cx231xx: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2f00fce46793bc5b523c64dcefd7bac13ab70b9c Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:16:04 2014 -0300 [media] mxl5005s: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4539fc5c68d78f2df815f426f957528011b50a08 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:06:55 2014 -0300 [media] mt2060: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f2747cf6f0a1110d132280d49ce3dd6886dacd85 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:03:41 2014 -0300 [media] nuvoton-cir: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit fc823729e0b432a628d3f32e11dfa83a30de35aa Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:03:08 2014 -0300 [media] ite-cir: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9b08f41724b60a49979a2458e90918f812228a37 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:02:30 2014 -0300 [media] fintek-cir: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6cf77d18f6ffa3eda879aff919a8cca10d5aa85a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:40:22 2014 -0300 [media] marvel-ccic: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b80cefb4153b374d536c11ac4664cfc6dd90073b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:39:46 2014 -0300 [media] davinci: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Acked-by: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5b0eb8271d9126db2daa2cf41422cc84ba319a6e Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:36:12 2014 -0300 [media] saa7164: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a896dc7a1f416e2b76efabff27c624c69645cc50 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:30:41 2014 -0300 [media] bt8xx: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8b37c6455fc8f43e0e95db2847284e618db6a4f8 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:18:27 2014 -0300 [media] media-devnode: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7c9950768fb4a0a3fbd3a866ae94734c5078fd0c Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:10:25 2014 -0300 [media] stv0367: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2f1e48d670dc755d40f7bd926d02713d90b378ea Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:02:55 2014 -0300 [media] siano: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d8e8b40c067c3242b32ebe835f6bc6247fd67454 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:50:39 2014 -0300 [media] s5p-tv: Simplify the return logic Make sure pm_runtime_* calls does not use unnecessary IS_ERR_VALUE(). Reported by scripts/coccinelle/api/pm_runtime.cocci script. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a04557a20be0ff3733eca454abdd1bd4c5ebc3f2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:04:59 2014 -0300 [media] e4000: simplify boolean tests Instead of using if (foo == false), just use if (!foo). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b2617dc3eb3ed3e768919cda55b36571bc6c7bf8 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:53:05 2014 -0300 [media] via-camera: simplify boolean tests Instead of using if (foo == false), just use if (!foo). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 160ac0babc0d8c382bdf32db238bf16a3d3fa0a5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:46:32 2014 -0300 [media] omap: simplify test logic instead of testing bools if they are false or true, just use if (!foo) or if (foo). That makes the code easier to read and shorter. Also, properly initialize booleans with true or false. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1b21e2187adea385d9de53c8c861d9f56ea5bebe Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:39:01 2014 -0300 [media] lm3560: simplify a boolean test lml33dpatch is boolean. So, the possible values are true or false. Instead of using if (lml33dpath), just use if (!lml33dpath). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit afb666d1e7b0af5ec8f8b35b6f9d813d538c95e3 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:28:27 2014 -0300 [media] lm3560: simplify boolean tests Instead of using if (on == true), just use if (on). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5a7f7b79d80ee8ee9f54055f1ba56fae1644b4ec Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:23:57 2014 -0300 [media] drxk_hard: simplify test logic instead of testing if it is false or true, just use if (!foo) or if (foo). That makes the code easier to read and shorter. Also, properly initialize booleans with true or false. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ad7b8c0227ef18b29256e063d788e206c1466ac2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:19:29 2014 -0300 [media] msi2500: simplify boolean tests Instead of using if (foo == false), just use if (!foo). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 61f6a0569c6ce563accb8f415373756febe62752 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:18:48 2014 -0300 [media] af9005: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 235d89ec4a1b7b34005ba5f277a3cd7ece7f3a8b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:18:17 2014 -0300 [media] lmedm04: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f6b83c3e06e2e6dddd126294bf465afec5dd495e Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:17:56 2014 -0300 [media] au0828-dvb: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2816cc31e06b9d04ac0a92ae6a8311b5ab873fed Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:01:36 2014 -0300 [media] ene_ir: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8b4b68186f7095fc2a4badaacd31a39ac6cadea2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:54:17 2014 -0300 [media] radio: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6c515a44a84aef17dc63b30e84ef87c53c580585 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:53:45 2014 -0300 [media] vivid-tpg: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 68bbbd7912abb7ec8633fb32342ed9049ed98ab5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:52:21 2014 -0300 [media] ti-vpe: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 11b4c175d99481b239993242b14961299477491d Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:48:14 2014 -0300 [media] omap3isp: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit cdde1a9bae292bcfca03ed9d77506ff1d376051f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:29:45 2014 -0300 [media] ov9740: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 06e916b75a067e4dceefcd19ddc34833b2f4a191 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:29:04 2014 -0300 [media] smiapp-core: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 79a5ee7882d0bc757f6861149934af7e89ef72fe Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:26:07 2014 -0300 [media] tda10071: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2fe15e201375ced4f2d1e9504f6ea19f6ffcae18 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:25:39 2014 -0300 [media] af9013: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Also, instead of testing foo == false, just use the simplified notation if(!foo). Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit afbd6eb4ba25388955a87caa9ffac5c5c0d1c22e Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:24:29 2014 -0300 [media] m88ds3103: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 285c0b005f387a9b1251d018aca3359497bd62a6 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:22:02 2014 -0300 [media] cxd2820r: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6a5e7fde3a04ef5134702753f77e9b8aa6aab789 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:20:50 2014 -0300 [media] af9013: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 22bf3deb7ee483167edd8ec1aecfb9928a759580 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:08:11 2014 -0300 [media] tuner-core: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7e6c8c1981b675c90820f55e5c03b83ae4ac3a43 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:06:13 2014 -0300 [media] em28xx: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 49bc89623d4f7d7c5540083622459122e0ad2312 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:11:54 2014 -0300 [media] stv0900_core: don't allocate a temporary var The error return code STV0900_NO_ERROR happens only once, at the end of the functions. So, just return it directly. This driver should actually be fixed to return standard Linux error codes, instead of its own macros, but this should be done on a separate patchset. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c611c908bb389b700501d028644b9feb8faa20f7 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:51:45 2014 -0300 [media] soc_camera: remove uneeded semicolons We don't use semicolons after curly braces in the middle of the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c3142a61e62481c8f7a4f19b92ff735516b54f87 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:32:07 2014 -0300 [media] bttv-driver: remove an uneeded semicolon We don't use semicolons after curly braces in the middle of the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit bc39d69ae18816577f20b122d8b2fca120cd2f4f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:15:53 2014 -0300 [media] s5k5baf: remove an uneeded semicolon We don't use semicolons after curly braces in the middle of the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0282969190495950564fb0a7e6905881339a1ebc Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 14:57:30 2014 -0300 [media] vivid-vid-out: use memdup_user() Instead of allocating and coping from __user, do it using one atomic call. That makes the code simpler. Found by coccinelle. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 93623c87a38533be4d8a636f29e58dbd01d3841b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 14:55:19 2014 -0300 [media] soc_camera: use kmemdup() Instead of calling kzalloc and then copying, use kmemdup(). That avoids zeroing the data structure before copying. Found by coccinelle. Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e4d38b55504f5675703244fa45491d74cbf183ee Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Aug 28 10:20:48 2014 +0200 ACPI / video: Remove video_set_use_native_backlight quirk use_native_backlight_dmi defaults to true now, so video_set_use_native_backlight is a nop. Drop it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 712b24adc105518f7cbbb6f9f353efea48954bb9 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Aug 4 14:14:14 2014 +0200 iwlwifi: mvm: clean up AUX station handling The auxiliary station is being handled using the internal station helper functions, clean that up and make the helpers static. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 013290aa46689a97447ef93c7058436315e476d7 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Aug 4 13:38:48 2014 +0200 iwlwifi: mvm: clean up broadcast station handling Unify all the functions that handle the per-interface broadcast station and make them have mvm and vif parameters. While at it, add a new function to allocate the broadcast station instead of open-coding it, and make the combined alloc+send and free+send functions use the alloc/free & send functions. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 110cf810852f0f5333bcfb10065995006d8ecbbb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 23:14:24 2014 +0200 iwlwifi: mvm: use iwl_mvm_mac_get_queues_mask() more There are a few places that can call the function iwl_mvm_mac_get_queues_mask() instead of open-coding the equivalent, so do that. This requires changing it to return the multicast queue as part of the bitmap, which broke GO mode because including it in the broadcast station queues seems to confuse the firmware, so work around that. Also, the API defines that the CAB queue shouldn't be included in the TFD queue mask, adjust the comment accordingly (not a bug). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9e848010bfa1c0da21292afb7a98957b5c35622d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Aug 4 14:33:42 2014 +0200 iwlwifi: mvm: use tdls indication from mac80211 Instead of checking whether a given station is the first to be added on a client interface check for the new TDLS flag and warn in the unexpected cases. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit df197c00bf1dbdee888aa886e5e93b49b42a268b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 18:14:45 2014 +0200 iwlwifi: mvm: clarify stop_count, remove transport_stopped The queue handling is a bit unclear - we have an array for stop_count[IWL_MAX_HW_QUEUES] but indices really are the mac80211 queue numbers. Change the array to be only of the right size for mac80211 queues (IEEE80211_MAX_QUEUES) and rename it to be clearer. While at it, also remove the unused transport queue stop bitmap in mvm. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b2d81db7b3d3e51f6f465cae8d450acf0ca8d2dc Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 20:48:25 2014 +0200 iwlwifi: mvm: clean up FIFO definitions Move all FIFO definitions together into the firmware API header file and use the same enum/naming scheme for the command FIFO. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3dfd3a97c8b0484e85e365472fe7e292e6e8de7e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Aug 11 21:37:30 2014 +0200 iwlwifi: mvm: correct firmware disassoc command sequence The firmware would like to have a MAC context (unassoc) before the AP station is removed (we do this) but would like to keep the BSSID until after it is removed, so we need to send two commands - one with the BSSID before and one without the BSSID after. In order to do this, we need to store the BSSID as it will have been cleared by mac80211 by the time we get notified of the disassociation. Also pass it around as an override to the various functions needing it, and keep taking it from the mac80211 data otherwise. This avoids having to keep track of the BSSID in all modes. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0ce04ce797f87cdb6e10deef6a6081366be8bcc0 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Thu May 8 16:03:39 2014 +0300 iwlwifi: mvm: set the TX disable bit when doing a chanctx switch During a channel switch we should tell the firmware to disable TX temporarily and re-enable it after the switch is done. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 8b4139dc9f2171f313fc703c08269f6f8a6f6fc4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Jul 24 14:05:26 2014 +0200 iwlwifi: add Intel Mobile Communications copyright Our legal structure changed at some point (see wikipedia), but we forgot to immediately switch over to the new copyright notice. For files that we have modified in the time since the change, add the proper copyright notice now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 002a9e2677cc2a8b0d320731f9749737db5ed23b Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Thu Jul 24 19:25:10 2014 +0300 iwlwifi: trans: configure the scheduler enable register Currently the firmware is handling this, but that is wrong as it then needs to assume a certain command queue, therefore this should be in the driver; add it here so it can be removed from the firmware in the future. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 64ba893066528a03d7d21d7e187005748027a309 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 13:33:46 2014 +0200 iwlwifi: trans: make aggregation explicit for TX queue handling Currently a valid sta_id is assumed to mean that the queue is meant to also be aggregated, but that assumption will not be true in the future, so don't make it in the lower level but only in the inline wrapper. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d4578ea810ce468fdb8e1b7014818c31db9be5e2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 12:17:40 2014 +0200 iwlwifi: trans: allow skipping scheduler hardware config In a later patch, the hardware configuration will be moved to firmware. Prepare for this by allowing hardware configuration in the transport to be skipped by not passing a configuration on enable and passing configure_scd=false on disable. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0ade579cce06806353e5f601ff3285a0a7d1e398 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Mon Aug 4 12:21:05 2014 +0300 iwlwifi: mvm: fix comment typo Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 532cf5c683ab027091ffc19d45e3a67a49f76f5d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Aug 5 10:36:54 2014 +0200 iwlwifi: don't export tracepoints unnecessarily The tracepoints that are only used in code linked with iwlwifi.ko, as are the tracepoints, don't need to be exported, so don't. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a43ad46a450b1a4466f34b057522f56c125710fb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Aug 4 16:39:54 2014 +0200 iwlwifi: mvm: add some debugging to quota allocation In order to follow more easily what's going on, add some debug statements to the quota allocation algorithm. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2ce89cd6dfc2ea57497ab38f88d4878c06869a81 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Tue Jul 22 13:11:18 2014 +0300 iwlwifi: mvm: enable passive fragmented scan changes Enable fragmented scan that was diabled due to a FW bug. New fixed FWs use a TLV bit to advertise fragmented scan support. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit fea7795f1c976513a3262284c4001606075abf5c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 11:58:47 2014 +0200 iwlwifi: trans: refactor txq_enable arguments Instead of having all arguments passed to the function, add a struct to hold them and only pass some directly. This will make future work in this area cleaner. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 680073b78a5ac2b559bb7315528aa9f95e57ae24 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Mon Jul 14 09:40:27 2014 +0300 iwlwifi: consolidate hw scheduler configuration code Configuring the hw scheduler during queue enablement is done by writing the appropriate values to the scheduler peripherals, and it is essentially the same for all buses. Whenever writing is done via the standard iwl_write_prph, we can avoid duplicating the code for each bus. Those operations are queue deactivation, RA/TID mapping, chain-building settings, enabling/disabling aggregations and activating/deactivating the TX FIFOs. Consolidate this code using static inlines in a new header file. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d20d37bc39766ecc31e68bc9cf238eab27a4157b Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Sun Jul 6 17:14:39 2014 +0300 iwlwifi: mvm: wait for TE notif when protecting TDLS session Make sure that when running the TDLS discovery session protection - the time event that ensures we remain on channel has been scheduled and started running before leaving. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2533edcee8aa311a24e5c0a7da955893ad65dc24 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Aug 8 19:50:46 2014 +0300 iwlwifi: mvm: add option that allows a vif to disable PS We need to disable PS when a monitor vif is active or, in the future, when a channel switch is happening. Add a boolean to mvmvif that allows PS to be disabled generically. Additionally, make the monitor interface use this new flag when it gets activated. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ef9203d23fecf11e02958de0988170a67adf7447 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Aug 8 19:18:35 2014 +0300 iwlwifi: mvm: add function to update only ps Add a new iwl_mvm_power_update_ps() function that allows only ps to be updated according to changes in the vifs. This allows us to disable ps only without affecting the pm values of the vifs (and to avoid sending unnecessary MAC_PM_POWER_TABLE commands to the firmware). Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 128aa948d0606e537b743fb8e29ce09fc3473137 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Aug 8 18:36:22 2014 +0300 iwlwifi: mvm: refactor iwl_mvm_power_set_pm() to spin the ps part off Separate the ps part of iwl_mvm_power_set_pm() into a new iwl_mvm_power_set_ps() function. This will enable us to update the ps part independently from the rest, which is needed by CSA (at least). This required a bit of refactoring and the creation of a new iterator function. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b1873300e15aff44c01f7c9bc275c2c6e414f2fa Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Aug 8 17:12:07 2014 +0300 iwlwifi: mvm: re-enable ps when monitor interfaces are removed If a monitor interface is added and then removed, we don't reset the mvm->ps_disabled flag, so we never re-enable power saving. Fix that and rearrange the code a bit. Additionally, fix a small indentation mistake in the iwl_mvm_power_set_pm() function declaration. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 228670b2e6f8d32f11d27c5165fb42a2c77f062c Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Aug 10 17:00:15 2014 +0300 iwlwifi: mvm: clear d0i3 state on recovery If recovery happened after mvm entered d0i3 (e.g. due to sysassert when releasing the bus), the mvm->state wasn't cleared properly, causing the ongoing recovery to fail (due to iwl_mvm_ref_sync failure). This in turn fails the ongoing recovery, and triggers a reprobe, which terminates any ongoing wifi activity. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9ecd051ecd87d0a361c85064e57b27dc825d012e Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Thu Aug 28 02:21:05 2014 +0300 iwlwifi: mvm: disable tx aggregation on low latency vifs Aggregations hit latency so disable it by default on low latency vifs for now. Enable control over this behavior and allow control over the max frames in an AMPDU in low latency vifs via debugfs. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit bdd54839589f92fdfe80493e70aa7fe276da0c46 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Thu Aug 7 18:08:56 2014 +0300 iwlwifi: mvm: add debugfs entry for ps_disabled In order to make debugging easier, add an entry to export the ps_disabled value via debugfs. To make usage of the debugfs_create_*() function easier, change the ps_disabled element to u8. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d6ca18de129fc4dd4374389561930b32820f35ff Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Sep 1 11:28:11 2014 +0200 iwlwifi: make U-APSD default configurable at compile time With a significant number of deployed APs, enabling uAPSD leads to the AP never using aggregation sessions (likely due to the complexities involved in handling uAPSD in those.) This obviously results in a large drop in throughput with such APs. On the other hand, uAPSD can result in some power consumption benefits, but for now just disable it to get performance with affected APs back up. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 32be1a83af63c43fddcc39c2c1aedaa486af475f Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Sun Aug 24 08:02:46 2014 +0300 iwlwifi: mvm: fix the dump_umac_error_log 1. the base_address limitation was wrong, address can be bigger than 0x80C000 2. the ucode data_struct changed. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Reviewed-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a2d79c5709659370cd2deeeeb8dc75bb0be5e318 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Mon Aug 25 14:41:23 2014 +0300 iwlwifi: mvm: Add marker command 0xcb Add Marker command. The marker command send the ucode the time of sending the command in milliseconds since 1970-01-01 00:00:00 UTC, in addition to other metatdata. The ucode inserts this information into the usniffer logs, and returns the GP2 time stamp inside the command response. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit efc36dbd5a0cbfbf0da0a6fa8e1c246bb78dab76 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Aug 20 17:58:20 2014 +0300 iwlwifi: mvm: don't run automatic checks if CT was caused by debugfs If we're manually testing the CT kill functionality via debugfs, we shouldn't schedule the work to recheck the temperature after the ct_kill_duration period has passed. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b689fa799a1450056044a47d6afa6ad52f3a8997 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Aug 20 17:26:58 2014 +0300 iwlwifi: mvm: reset the temperature when temperature test is disabled Since we can't read the actual temperature when the firmware is running, just set the temperature to 0 when the test is disabled and disable CT Kill if it was enabled. Additionally, since we rely on iwl_mvm_tt_handler() to exit CT kill when in test mode, call iwl_mvm_exit_ctkill() in that function if the temperature is low again. Also make the iwl_mvm_enter_ctkill() and iwl_mvm_exit_ctkill() return if called when not necessary anymore (e.g. when iwl_mvm_exit_ctkill() is called when we're not in CT-kill). Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a4db848f2d0160a3fca08a5787dbef6bcc4ce2b3 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jul 31 13:58:53 2014 +0300 iwlwifi: mvm: force protection for P2P Performance is less an issue in P2P and reliability is critical. Enable protection always for P2P. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 84fd7608a0d7b9e7ce350aab278780a3e341628f Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Jul 30 15:42:19 2014 +0300 iwlwifi: mvm: add use_ps-poll debugfs power option By default, when uapsd is not used, the ucode uses null data packet to exit power-save and get then pending frames. However, some tests require the explicit usage of ps-poll. Allow setting use_ps_poll power option (through debugfs) to configure the ucode to use ps-poll instead. The ucode configuration is done by setting the advanced-pm flag while setting all the ACs to non-upasd mode. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 697162a13dea92cb4fbe72207e05ecf9a1552abd Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Jul 30 15:56:42 2014 +0300 iwlwifi: mvm: use dynamic SMPS for P2P Client This allows to force the GO to use protection and enhances the reliability of the link. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7ceb98a313b8a1a5d949f538f4bb5ead4fabad23 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Jul 28 12:59:45 2014 +0300 iwlwifi: mvm: reduce the AMPDU size in low latency mode This allows to leave a frame in the Tx Fifo which allows the firmware to try to enter burst mode. The end result of this is a better latency since the firmware utilises the TxOP better. Also limit the AMPDU size to the limit set in the ADDBA response. This doesn't change much since the AMPDU size was limited by the configuration of the hardware scheduler, but here we add a software limit by the mean of the link quality command. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7280d1f0bd14271638bf6b4c3c9dc814af1aaafc Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Thu Jul 17 16:41:14 2014 +0300 iwlwifi: mvm: Add set NIC temperature debug option Add ability to set the NIC's temperature and ignore the actual temperature that the FW supplies. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a7459a9d3ab932209e3340d5ae4dadf73147e8d5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:44:54 2014 -0300 [media] marvel-ccic: don't initialize static vars with 0 alloc_bufs_at_read is static. No need to initialize with zero, as the Kernel will cleanup the data memory already. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3b7f1016628e04f937bafd468ce6fa437b92e275 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Fri Jul 25 10:36:14 2014 +0200 PCI: Remove unnecessary variable in pci_add_dynid() The variable "retval" in pci_add_dynid() is only used to store the return value of driver_attach() and is then directly returned. Remove the variable and directly pass on driver_attach()'s return value. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a2cea9831e7df2bd21ade3c02be4a94146e1645b Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:53:54 2014 +0900 spi: txx9: Fix checkpatch issue Fix the following checkpatch warnings. Missing a blank line after declarations. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 327f5386d59db6bbef65f3cd731508934ba55ed4 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:53:11 2014 +0900 spi: tegra20-sflash: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: macros should not use a trailing semicolon WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c19c8e7581cf89fab669871646617aa919d37a03 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:52:23 2014 +0900 spi: tegra114: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b8434048dd19f1e87f0d53315b0507a6dc05668d Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:51:39 2014 +0900 spi: orion: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: else is not generally useful after a break or return WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fadcace703bbb985a996d01141499bd8d1f7d5bc Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:49:24 2014 +0900 spi: dw: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: debugfs_remove_recursive(NULL) is safe this check is probably not required WARNING: min() should probably be min_t(u32, rx_left, dw_readw(dws, DW_SPI_RXFLR)) WARNING: else is not generally useful after a break or return WARNING: Missing a blank line after declarations WARNING: void function return statements are not generally useful Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 859c3377ccc14c11a398c26af4fd3088d7578b2c Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:48:00 2014 +0900 spi: davinci: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations WARNING: quoted string split across lines Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e02c716d2ec065fd58c2fc8100fd5f359ab61e7e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 2 22:20:34 2014 +0200 ASoC: wm8995: Remove unnecessary suspend/resume bias level changes The ASoC core will only call the suspend/resume callbacks when the device's DAPM context is idle. Since this driver sets idle_bias_off to true this means that the device is already in SND_SOC_BIAS_OFF when the suspend callback is called, so there is no need to manually set this state again. There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback since the core will go right back to SND_SOC_BIAS_OFF. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a7edeba4cbbd0f3d22d6d54da7c507bda29b2658 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 2 22:20:33 2014 +0200 ASoC: wm8804: Remove unnecessary suspend/resume bias level changes The ASoC core will only call the suspend/resume callbacks when the device's DAPM context is idle. Since this driver sets idle_bias_off to true this means that the device is already in SND_SOC_BIAS_OFF when the suspend callback is called, so there is no need to manually set this state again. There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback since the core will go right back to SND_SOC_BIAS_OFF. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7d1a99da0861330f02de5c0f59df1d338477cb54 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 2 22:20:32 2014 +0200 ASoC: tlv320aic3x: Remove unnecessary suspend/resume bias level changes The ASoC core will only call the suspend/resume callbacks when the device's DAPM context is idle. Since this driver sets idle_bias_off to true this means that the device is already in SND_SOC_BIAS_OFF when the suspend callback is called, so there is no need to manually set this state again. There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback since the core will go right back to SND_SOC_BIAS_OFF. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e6fe35eabc64f35eff5844a2e542c403a00db15 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 2 22:20:31 2014 +0200 ASoC: lm49453: Remove unnecessary suspend/resume bias level changes The ASoC core will only call the suspend/resume callbacks when the device's DAPM context is idle. Since this driver sets idle_bias_off to true this means that the device is already in SND_SOC_BIAS_OFF when the suspend callback is called, so there is no need to manually set this state again. There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback since the core will go right back to SND_SOC_BIAS_OFF. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b43cfb245f7346cbb25c1919577d9607d2adb974 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 2 22:20:30 2014 +0200 ASoC: adau1373: Remove unnecessary suspend/resume bias level changes The ASoC core will only call the suspend/resume callbacks when the device's DAPM context is idle. Since this driver sets idle_bias_off to true this means that the device is already in SND_SOC_BIAS_OFF when the suspend callback is called, so there is no need to manually set this state again. There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback since the core will go right back to SND_SOC_BIAS_OFF. Also drop the regcache_cache_only() calls from the suspend and resume handlers. There shouldn't be any IO happening after suspend and before resume. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 313ddec45cf1a7b3778eaa9fd3acb31f994b2e88 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 14:32:26 2014 -0300 [media] dmxdev: don't use before checking file->private_data As reported by smatch: drivers/media/dvb-core/dmxdev.c:1091 dvb_demux_poll() warn: variable dereferenced before check 'dmxdevfilter' (see line 1088) This was introduced by changeset d102cac8097c. We need to test before using it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b82daf87a82fc2261f86f48d1bd0706da9e4a675 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Sep 2 09:57:10 2014 -0600 ARM: tegra: enable Atmel touchpad in defconfig This driver is used on Venice2 for the touchpad. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit bf8f0392306869412887bf4a681fea9cb8062fc5 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Sep 2 09:57:09 2014 -0600 ARM: tegra: add touchpad to Venice2 DT Venice2 contains an Atmel MXT touchpad. Add an I2C node for it to DT. The Linux driver doesn't quite work on this platform yet, but adding the DT node causes no issues, and will allow the device to work once the driver is fixed. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 58b21c22c66dd223d27405d54b47102a27bda0b7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Sep 3 17:02:44 2014 +0200 drm/qxl: Fix crash in eviction from qxl_release_fence_buffer_objects This crash was already here before the conversion, but qxl never leaked hard enough to hit this. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit b75402c9f98a431ae352a223153825513eac9600 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Sep 3 17:01:28 2014 +0200 drm/qxl: fix gaping memory hole This is how you implement a memory sieve in a driver. ;-) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit d7e4d671369263381dd3a02e1f240f675be6b1f5 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Sep 3 16:59:41 2014 +0200 drm/qxl: Remove release_lock stupidity The locking of release_lock was stupid; t should have been be called with fence_lock_irq if it was legitimately used. Unfortunately it never protected anything except the fence implementation correctly. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit a7a91a1928fe69cc98814cb746d5171ae14d757e Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed Sep 3 10:51:59 2014 -0400 selinux: fix a problem with IPv6 traffic denials in selinux_ip_postroute() A previous commit c0828e50485932b7e019df377a6b0a8d1ebd3080 ("selinux: process labeled IPsec TCP SYN-ACK packets properly in selinux_ip_postroute()") mistakenly left out a 'break' from a switch statement which caused problems with IPv6 traffic. Thanks to Florian Westphal for reporting and debugging the issue. Reported-by: Florian Westphal <fwestpha@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit d89c6c0c91af0344b52dd21ca48dd29821fee677 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 1 10:07:04 2014 +0200 ALSA: hda - Add TLV_DB_SCALE_MUTE bit for relevant controls The DACs on Sigmatel/IDT codecs do mute at the lowest volume level, and in the earlier drivers, we passed TLV_DB_SCALE_MUTE bit for each volume control element like Speaker and Headphone as well as Master. Along with the translation to the generic parser, however, the TLV bit was lost for the slave controls (e.g. Speaker) but set only to Master. In theory this should have sufficed, but apps, particularly PA, do care the slave volume bits, so we seem to see a regression in the volume controls. This patch adds a flag to hda_gen_spec to specify the DAC mute feature, and adds the TLV bit properly for all relevant volume controls. Also, the TLV bit for vmaster is set in hda_generic.c, so that we can get rid of all tricks from the codec driver side. As the similar hack is applied to Conexant 5051 stuff, we can get rid of it as well. BugLink: https://bugs.launchpad.net/bugs/1357928 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 67c866cfcb7cfe74d66645aa4c1e983d22e0001a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Sep 3 09:15:30 2014 +0800 regulator: da9211: Fix missing config.of_node setting Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b8a3ee820f7b0802c9b90a9f3426dbda54e93d09 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 3 15:42:48 2014 +0300 ASoC: max98090: Add recovery for PLL lock failure All MAX98090 input clocks MCLK, LRCLK and BCLK must be running and stable before powering on the codec in slave mode. Otherwise the PLL may not lock to LRCLK causing silence in playback and capture. How often that happens is somewhat hardware and clock configuration specific. Now if wanting to follow strictly this clocks must be active before powering the codec on requirement we should have a notification from DAI driver to codec driver when clocks are activated and take codec out of shutdown only after that. Plus take care of possible active bypass paths. However, when PLL unlock occurs, MAX98090 asserts the PLL Unlock Flag which can be configured as an IRQ source. This allows to workaround around the issue by toggling the codec power shortly in case of PLL lock failure. In order to prevent needlessly toggling codec power in case of short PLL unlocks at the beginning of stream this patch implements delayed activation for PLL unlock interrupt. Then workaround is run only when the PLL doesn't lock at all. Power toggling workaround for PLL unlock comes originally from Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> and delayed activation from me. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ed36e96fd05470e98e7daf648f9cf7f38609670 Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Sep 3 15:52:34 2014 +0300 ASoC: tlv320aic31xx: Choose PLL p divider automatically This simplifies aic31xx_divs table. There is no more need for p_val or separate lines for 12 and 24 MHz mclks. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Tested-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 94fe356f4c6e600379a9949a419e880dfe896e11 Merge: 085f3ec 03be88e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 3 15:25:17 2014 +0100 Merge branch 'fix/tlv320aic31xx' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-tlv320aic31xx commit 8fe8a3feeb5aedd17f7b09e51b60b38a6ba7005f Author: Derek Foreman <derek.foreman@xxxxxxxxxxxxxxx> Date: Wed Sep 3 10:38:20 2014 -0300 drm/i915: init sprites with univeral plane init function Really just for completeness - old init function ends up making the plane exactly the same way due to the way the enums are set up. Signed-off-by: Derek Foreman <derek.foreman@xxxxxxxxxxxxxxx> Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe10b84e7f6c4c8c3dc8cf63be324bc13f5acd68 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:01:23 2014 -0300 [media] mt2063: fix sparse warnings drivers/media/tuners/mt2063.c:1238:56: warning: cast truncates bits from constant value (ffffff0f becomes f) drivers/media/tuners/mt2063.c:1313:62: warning: cast truncates bits from constant value (ffffff7f becomes 7f) drivers/media/tuners/mt2063.c:1321:62: warning: cast truncates bits from constant value (ffffff7f becomes 7f) Cast to u8 is unnecessary. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8ae632b11775254c5e555ee8c42b7d19baeb1473 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 17:07:21 2014 -0300 [media] v4l2-compat-ioctl32: fix sparse warnings A lot of these warnings are caused by the fact that we don't generally use __user in videodev2.h. Normally the video_usercopy function will copy anything pointed to by pointers into kernel space, so having __user in the struct will only cause lots of warnings in the drivers. But the flip side of that is that you need to add __force casts here. drivers/media/v4l2-core/v4l2-compat-ioctl32.c:337:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:337:30: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:338:31: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:338:49: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:343:21: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:346:21: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:349:35: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:349:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:352:35: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:352:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:363:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:363:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:364:31: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:364:51: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:371:35: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:371:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:376:35: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:376:48: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:430:30: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:433:48: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:433:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:501:24: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:507:48: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:507:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:565:18: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:670:22: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:680:29: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:692:55: warning: incorrect type in initializer (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:773:18: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:786:30: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:786:44: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:674:37: warning: dereference of noderef expression drivers/media/v4l2-core/v4l2-compat-ioctl32.c:718:37: warning: dereference of noderef expression Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit eadf9e26fab7f9841adcc36f3559dbce7604fcd5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 16:49:16 2014 -0300 [media] videodev2.h: add __user to v4l2_ext_control pointers These are not copied to kernel space by video_usercopy, so mark them as __user. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4a9e512afa31fc1af2a93467aa4363db97f815b5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 16:43:03 2014 -0300 [media] em28xx: fix sparse warnings drivers/media/usb/em28xx/em28xx-core.c:297:16: warning: cast to restricted __le16 drivers/media/usb/em28xx/em28xx-cards.c:2249:20: warning: symbol 'em28xx_bcount' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 39fd44607a5ec904b84ecd92bf1710a9ecb3f68c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 16:38:04 2014 -0300 [media] cx18: fix sparse warnings /home/hans/work/build/media-git/drivers/media/pci/cx18/cx18-firmware.c:169:32: warning: cast to restricted __le32 /home/hans/work/build/media-git/drivers/media/pci/cx18/cx18-firmware.c:170:32: warning: cast to restricted __le32 /home/hans/work/build/media-git/drivers/media/pci/cx18/cx18-firmware.c:171:31: warning: cast to restricted __le32 /home/hans/work/build/media-git/drivers/media/pci/cx18/cx18-firmware.c:172:31: warning: cast to restricted __le32 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3efb8ab6d4f0f38440a819d8302be18596899ebf Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 16:31:51 2014 -0300 [media] ivtv: fix sparse warnings drivers/media/pci/ivtv/ivtv-irq.c:195:25: warning: incorrect type in argument 1 (different base types) drivers/media/pci/ivtv/ivtv-irq.c:199:25: warning: incorrect type in argument 1 (different base types) drivers/media/pci/ivtv/ivtv-irq.c:278:35: warning: restricted __le32 degrades to integer drivers/media/pci/ivtv/ivtv-irq.c:281:51: warning: restricted __le32 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 711c31192057689e59c2a2095d3a7e0fadbfd213 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:56:42 2014 -0300 [media] cx23885: fix sparse warning drivers/media/pci/cx23885/cx23885-dvb.c:1494:72: warning: Using plain integer as NULL pointer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 41150cb9f51df07e78d82c196931c913633c95a0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:55:00 2014 -0300 [media] cxusb: fix sparse warning drivers/media/usb/dvb-usb/cxusb.c:178:40: warning: restricted __le16 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 888bd5dcb68437273ffc3752c4976f851205b25d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:50:34 2014 -0300 [media] dm1105: fix sparse warning drivers/media/pci/dm1105/dm1105.c:617:9: warning: incorrect type in argument 1 (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3f9280a8b4aa57186555e2d39587d13a6844ab98 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:34:02 2014 -0300 [media] cx231xx: fix sparse warnings drivers/media/usb/cx231xx/cx231xx-avcore.c:2226:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2447:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2475:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2500:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2647:18: warning: incorrect type in assignment (different base types) drivers/media/usb/cx231xx/cx231xx-avcore.c:2659:21: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-dvb.c:743:57: warning: Using plain integer as NULL pointer drivers/media/usb/cx231xx/cx231xx-dvb.c:776:57: warning: Using plain integer as NULL pointer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 38b2b8794d0ae7e086199e6077d2f234a3b69ab8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:26:29 2014 -0300 [media] cx25821: fix sparse warning drivers/media/pci/cx25821/cx25821-video-upstream.c:334:25: warning: incorrect type in argument 2 (different address spaces) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a7547af7d295bae3853accde5c746159b3e0e9de Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:06:36 2014 -0300 [media] via-camera: fix sparse warning drivers/media/platform/via-camera.c:445:34: warning: incorrect type in assignment (different address spaces) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 60519af3fd0e75a97036075fc657f1ebe87e0f0d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:41:03 2014 -0300 [media] lirc_dev: fix sparse warnings drivers/media/rc/lirc_dev.c:598:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:606:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:616:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:625:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:634:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:643:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:739:45: warning: cast removes address space of expression drivers/media/rc/lirc_dev.c:739:58: warning: incorrect type in argument 1 (different address spaces) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4d1afa51e957a48db9663e74816c411e70b8d15e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:37:53 2014 -0300 [media] v4l2-ioctl: fix sparse warnings drivers/media/v4l2-core/v4l2-ioctl.c:1156:53: warning: incorrect type in initializer (different address spaces) drivers/media/v4l2-core/v4l2-ioctl.c:1158:42: warning: incorrect type in initializer (different address spaces) drivers/media/v4l2-core/v4l2-ioctl.c:1161:34: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-ioctl.c:1163:35: warning: incorrect type in assignment (different address spaces) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 55522f37817728eff26a75a64c60f07580efa66b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 3 14:09:53 2014 +0300 drm/i915: Check of !HAS_PCH_SPLIT() in PCH transcoder funcs Check for !HAS_PCH_SPLIT() instead of 'gen < 5' in the PCH transcoder enable functions. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a3ed6aada3f2aaec6432f5c3380be6e2918af993 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 3 14:09:52 2014 +0300 drm/i915: Use HAS_GMCH_DISPLAY un underrun reporting code A few open coded HAS_GMCH_DISPLAY() remain in the underrun reporting code. Convert them over. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f98cd09664cd36a52a531aaf647e692f2a83b527 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 3 14:09:51 2014 +0300 drm/i915: Use IS_BROADWELL() instead of IS_GEN8() in forcewake code IS_GEN8() is a bad check in the forcewake code due to bdw vs. chv differences. Use IS_BROADWELL() instead. The only actual bug here is that we currently call __gen7_gt_force_wake_mt_reset() on chv. On the other places we have checked for chv before using IS_GEN8(), but change them to use IS_BROADWELL() anyway to reduce the chance of accidents in the future. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c317adcd58cdc05badd73db901c677164050ab6c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 3 14:09:50 2014 +0300 drm/i915: Don't call gen8_fbc_sw_flush() on chv CHV doesn't have FBC, so don't go calling gen8_fbc_sw_flush() on it. Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Add a FIXME comment while at it that we should rework this a lot more.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3d45eb8949efdcafc59769dd584fdf9f94bb6e53 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 11:59:36 2014 +0100 drm/i915: Remove shadowed local variable 'i' from i915_interrupt_info Just a stray local variable, begone. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 087fe000f086c933f831044cbd0e69b4e140f38c Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:41 2014 +0100 openrisc: Get rid of handle_IRQ The openrisc irqchip driver has been converted to handle_domain_irq, making it possible to remove the handle_IRQ stub entierely. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-27-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit c59e1ef874e699bb37c8ed20b70113e1e8f45f52 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:40 2014 +0100 arm64: Get rid of handle_IRQ All the arm64 irqchip drivers have been converted to handle_domain_irq, making it possible to remove the handle_IRQ stub entierely. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-26-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f978999f60966076f3f43ed1894b54507c8ddfc9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:39 2014 +0100 ARM: omap2: irq: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-25-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 5aef600321caee7f950842b87f878780f693ca3a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 11:56:07 2014 +0100 drm/i915: Rename global latency_ns variable We use the variable name latency_ns in both the local lowlevel wm calculation routines and at the global level. Rename the global value to reduce shadow warnings and future confusion. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cb221761001dc6c3eaf8b1edda0901b8c5c801bd Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:38 2014 +0100 ARM: imx: tzic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-24-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9705ca3dea5a7c5ae57fa65ab256f7b1b7d848c0 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:37 2014 +0100 ARM: imx: avic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-23-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b0fee1dc7883c3c4b2319d384decdd1563cf30bb Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:36 2014 +0100 irqchip: or1k-pic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-22-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 31b7b6a86e9b86b8d97b3bc47b22585074ad115b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:35 2014 +0100 irqchip: atmel-aic5: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-21-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 841f2aa46299b894ce146cd7d2a8fd9a1f6dbdcb Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:34 2014 +0100 irqchip: atmel-aic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-20-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ebc6de0056e277a0283845536fd219a96806fc80 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:33 2014 +0100 irqchip: gic-v3: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-19-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit d8c0ffa56798a9b6dc6ee44d230a50f1fe0a10d4 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:32 2014 +0100 irqchip: zevio: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-18-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit c9a1df48a97ac9141540f177e4293a9966348f8c Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Fri Dec 20 15:01:41 2013 +0800 ARM: debug: add HiP04 debug uart Add the support of Hisilicon HiP04 debug uart. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 0beb65041e86ea313eaceaa6a04c87f9cc01f6b1 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:31 2014 +0100 irqchip: vt8500: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-17-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0af83b3b00cc302388beea8b6bd48c5fcbc715a8 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:30 2014 +0100 irqchip: vic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-16-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 84bc7399099344e41672d72864e3c34297a877d2 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:29 2014 +0100 irqchip: versatile-fpga: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-15-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 21d06d91c23ddb24895bbe82ba96633864891f6e Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:28 2014 +0100 irqchip: sun4i: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-14-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2a07975bf1f180777640e2e298c6cb7fdd2da314 Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Fri Aug 1 20:30:12 2014 +0800 ARM: config: enable hisilicon hip04 Enable CONFIG_ARCH_HIP04 in both hi3xxx_defconfig & multi_v7_defconfig. Since CONFIG_ARM_LPAE is disabled by default, only 3GB memory could be support by this defconfig. User should enable CONFIG_ARM_LPAE locally to support 16GB memory on hip04 platform. Since hip04 doesn't belong to hi3xxx series, rename hi3xxx_defconfig to hisi_defconfig. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit c15018e9192bbaa1a0f68ebee0284f701491b800 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:27 2014 +0100 irqchip: sirfsoc: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-13-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit cf86bfdd68997b584f4a8f1da9ffd2fae852a5a9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:26 2014 +0100 irqchip: s3c24xx: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-12-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 40c7d4414b44a75971ba7c1a4fc1371dd7a299bf Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Wed May 7 08:55:29 2014 +0800 ARM: dts: add hip04 dts Add hip04-d01.dts & hip04.dtsi for hip04 SoC platform. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit f4bc9288b4a29ead48425dd7d1bf4b825a8aff58 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:25 2014 +0100 irqchip: orion: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-11-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b3410e5f4b6a9611fcdff8927d7ce04757708d96 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:24 2014 +0100 irqchip: mxs: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-10-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b918402c8092e9f55ad1e848c4264cc0c9ea7513 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:23 2014 +0100 irqchip: mmp: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-9-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f2b22ab5b32bbc801a3e205d60667ebb546ee39c Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Fri May 9 17:10:53 2014 +0800 document: dt: add the binding on HiP04 Add Hisilicon HiP04 SoC platform & Fabric controller. Fabric controller could be used to configure snoop filter among multiple clusters. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit a8e10cb769eb94277658d3f3bce12e10b5652b7f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:22 2014 +0100 irqchip: clps711x: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-8-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e89c6a06b876239161653da84dbb2a0e243768b8 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:21 2014 +0100 irqchip: armada-370-xp: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-7-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 60031b4ef40b62f6563cc6635f670a144f182b83 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:20 2014 +0100 irqchip: gic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-6-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2d518eda6361b38ba3f250c5f4fceefa9449490a Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Fri May 9 16:58:04 2014 +0800 ARM: hisi: enable HiP04 Support HiP04 SoC what supports 16 cores. And it relies on MCPM framework. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit d1f6f28f68507e3ae67203de3e7ab7e5b9bf0082 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:19 2014 +0100 openrisc: Convert handle_IRQ to use __handle_domain_irq In order to limit code duplication, convert the architecture specific handle_IRQ to use the generic __handle_domain_irq function. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9cdc99919a95e8b54c1998b65bb1bfdabd47d27b Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Fri May 9 15:59:29 2014 +0800 ARM: hisi: enable MCPM implementation Multiple CPU clusters are used in Hisilicon HiP04 SoC. Now use MCPM framework to manage power on HiP04 SoC. Changelog: v20: * Disable L2 prefetch when the whole cluster is down. * Move disabling snoop filter into power_down() after L2 prefetch disabled. * Remove delay in wait_for_power_down() after L2 prefetch disabled. * Add the sleep polling in wait_for_power_down() again since we need to wait L2 when the cluster is down. v19: * Add comments on those delay hacks. * Update on checking core enabled counts in wait_for_power_down(). v18: * Fix to release resource in probe(). * Check whether cpu is already up in the process of making cpu down. * Add udelay in power up/down sequence. * Optimize on setting relocation entry. * Optimize on polling status in wait_for_power_down(). * Add mcpm critical operations. v17: * Parse bootwrapper parameters in DTS file. * Fix to use msleep() in spinlock region. v16: * Parse bootwrapper parameters in command line instead. v13: * Restore power down operation in MCPM. * Fix disabling snoop filter issue in MCPM. v12: * Use wfi as power down state in MCPM. * Remove wait_for_powerdown() in MCPM because wfi is used now. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Reviewed-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit ebf4a5c5b4027b682ed8877a938e6d1d92f37745 Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Tue Apr 15 14:52:00 2014 +0800 ARM: mcpm: support 4 clusters Add the CONFIG_MCPM_QUAD_CLUSTER configuration to enlarge cluster number from 2 to 4. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Reviewed-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit d778d258b7850cf803378211011d38255f11107b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:34:33 2014 -0300 [media] imon: fix sparse warnings drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e73c7bfea0770ce9e908fc4b9093752c22155d1d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:32:03 2014 -0300 [media] si2165: fix sparse warning drivers/media/dvb-frontends/si2165.c:329:16: warning: odd constant _Bool cast (ffffffffffffffea becomes 1) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 817d2fd4cb3686191a3f411275394c4c573e79e0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:30:33 2014 -0300 [media] stv0367: fix sparse warnings drivers/media/dvb-frontends/stv0367.c:557:5: warning: symbol 'stv0367cab_RF_LookUp1' was not declared. Should it be static? drivers/media/dvb-frontends/stv0367.c:569:5: warning: symbol 'stv0367cab_RF_LookUp2' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a71b092a9c68685a270ebdde7b5986ba8787e575 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:18 2014 +0100 ARM: Convert handle_IRQ to use __handle_domain_irq In order to limit code duplication, convert the architecture specific handle_IRQ to use the generic __handle_domain_irq function. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a1ddc74a23c89ae236b163a3b0887f8c344aaa4a Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:17 2014 +0100 arm64: Convert handle_IRQ to use __handle_domain_irq In order to limit code duplication, convert the architecture specific handle_IRQ to use the generic __handle_domain_irq function. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 76ba59f8366f2d9282cb5bda9de75b4b68cbe55f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:16 2014 +0100 genirq: Add irq_domain-aware core IRQ handler Calling irq_find_mapping from outside a irq_{enter,exit} section is unsafe and produces ugly messages if CONFIG_PROVE_RCU is enabled: If coming from the idle state, the rcu_read_lock call in irq_find_mapping will generate an unpleasant warning: <quote> =============================== [ INFO: suspicious RCU usage. ] 3.16.0-rc1+ #135 Not tainted ------------------------------- include/linux/rcupdate.h:871 rcu_read_lock() used illegally while idle! other info that might help us debug this: RCU used illegally from idle CPU! rcu_scheduler_active = 1, debug_locks = 0 RCU used illegally from extended quiescent state! 1 lock held by swapper/0/0: #0: (rcu_read_lock){......}, at: [<ffffffc00010206c>] irq_find_mapping+0x4c/0x198 </quote> As this issue is fairly widespread and involves at least three different architectures, a possible solution is to add a new handle_domain_irq entry point into the generic IRQ code that the interrupt controller code can call. This new function takes an irq_domain, and calls into irq_find_domain inside the irq_{enter,exit} block. An additional "lookup" parameter is used to allow non-domain architecture code to be replaced by this as well. Interrupt controllers can then be updated to use the new mechanism. This code is sitting behind a new CONFIG_HANDLE_DOMAIN_IRQ, as not all architectures implement set_irq_regs (yes, mn10300, I'm looking at you...). Reported-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2954192529e9bb8158bb60f731b108f21c4017aa Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:28:02 2014 -0300 [media] pwc: fix sparse warning drivers/media/usb/pwc/pwc-v4l.c:55:12: warning: symbol 'pwc_auto_whitebal_qmenu' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6812667381d4e7d1baa93464af6fd02175db96de Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:26:47 2014 -0300 [media] dvb_usb_core: fix sparse warning drivers/media/usb/dvb-usb-v2/dvb_usb_core.c:24:5: warning: symbol 'dvb_usbv2_disable_rc_polling' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ff3ec57df9e87bcb18e81157cbe3bef3159d76a3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:25:34 2014 -0300 [media] s2255drv: fix sparse warning drivers/media/usb/s2255/s2255drv.c:2248:20: warning: cast to restricted __le16 At the USB structs there are two different idProduct: usb_device_id::idProduct - already on CPU endiannes usb_device::descriptor.idProduct - with is LE16 In this specific case, the driver checks for the one at usb_device_id struct, with already have CPU endianness. So, no conversion is required. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7c7b9cf53d284fe12eeab6e13d3098b18cff4692 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 2 04:05:30 2014 -0700 ASoC: simple-card: fixup cpu_dai_name clear case f687d900d30a61dda38db2a99239f5284a86a309 (ASoC: simple-card: cpu_dai_name creates confusion when DT case) cleared cpu_dai_name for caring fmt_single_name case, and 179949bc04c7157a4b2279f62a842638b61f78f9 (ASoC: simple-card: remove dai_link->cpu_dai_name when DT) cared multi dai-link case. but, cpu_dai_name matching is required when fmt_multiple_name was used Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fba16a1eee5c2d93d010a5b7c41d9c4b478c7eb8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:22:18 2014 -0300 [media] bcm3510: fix sparse warnings drivers/media/dvb-frontends/bcm3510.c:646:24: warning: cast to restricted __le16 drivers/media/dvb-frontends/bcm3510.c:647:24: warning: cast to restricted __le16 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2a8b7e5888f5f1306811f778a6678f78b7a98bcd Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:20:12 2014 -0300 [media] wl128x: fix sparse warnings drivers/media/radio/wl128x/fmdrv_common.c:598:32: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:598:32: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:598:32: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:598:32: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:767:38: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:767:38: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:767:38: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:767:38: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:992:21: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:992:21: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:992:21: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:992:21: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:443:41: warning: incorrect type in assignment (different base types) drivers/media/radio/wl128x/fmdrv_common.c:1359:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:39: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:39: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:39: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:39: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:25: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:25: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:25: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:25: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:47: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:47: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:47: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:47: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:119:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:119:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:119:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:119:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:192:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:192:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:192:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:192:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:288:28: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:288:28: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:288:28: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:288:28: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:534:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:534:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:534:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:534:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:625:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:625:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:625:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:625:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_tx.c:377:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_tx.c:377:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_tx.c:377:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_tx.c:377:20: warning: cast to restricted __be16 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 967a37830573a1fa4b7bdb7ce203c7ea8a91e0c4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 18:26:40 2014 -0300 [media] mantis: fix sparse warnings drivers/media/pci/mantis/hopper_vp3028.c:37:23: warning: symbol 'hopper_vp3028_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp1033.c:38:4: warning: symbol 'lgtdqcs001f_inittab' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp1033.c:153:23: warning: symbol 'lgtdqcs001f_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp1034.c:39:23: warning: symbol 'vp1034_mb86a16_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp1041.c:266:23: warning: symbol 'vp1041_stb0899_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp1041.c:303:23: warning: symbol 'vp1041_stb6100_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp2033.c:40:24: warning: symbol 'vp2033_tda1002x_cu1216_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp2033.c:45:24: warning: symbol 'vp2033_tda10023_cu1216_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp2040.c:40:24: warning: symbol 'vp2040_tda1002x_cu1216_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp2040.c:45:24: warning: symbol 'vp2040_tda10023_cu1216_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp3030.c:38:23: warning: symbol 'mantis_vp3030_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp3030.c:42:23: warning: symbol 'env57h12d5_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_dma.c:167:33: warning: incorrect type in assignment (different base types) drivers/media/pci/mantis/mantis_dma.c:172:33: warning: incorrect type in assignment (different base types) drivers/media/pci/mantis/mantis_dma.c:174:25: warning: incorrect type in assignment (different base types) drivers/media/pci/mantis/mantis_dma.c:178:9: warning: incorrect type in assignment (different base types) drivers/media/pci/mantis/mantis_dma.c:179:9: warning: incorrect type in assignment (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ce08131c42164a4be37e6bb7f34185ab48f6bba4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 18:08:17 2014 -0300 [media] mb86a16/mb86a20s: fix sparse warnings drivers/media/dvb-frontends/mb86a16.c:31:14: warning: symbol 'verbose' was not declared. Should it be static? drivers/media/dvb-frontends/mb86a20s.c:36:4: warning: symbol 'mb86a20s_subchannel' was not declared. Should it be static? drivers/media/dvb-frontends/mb86a20s.c:1333:24: warning: symbol 'cnr_qpsk_table' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6fbf4d0412d5084d555a5ffca31e683de7fcf9be Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 18:03:53 2014 -0300 [media] usbtv: fix sparse warnings drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d71b0b348f0ac68c7a330ceb97b80d9e37f14545 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 17:58:38 2014 -0300 [media] uvc: fix sparse warning drivers/media/usb/uvc/uvc_video.c:1466:38: warning: incorrect type in return expression (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4182438e658dbf01c37a3b0fa035f08c303403ab Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 17:53:39 2014 -0300 [media] drxj: fix sparse warnings drivers/media/dvb-frontends/drx39xyj/drxj.c:11768:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11768:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11768:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11768:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11770:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11770:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11770:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11770:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11796:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11796:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11796:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11796:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11798:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11798:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11798:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11798:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11800:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11800:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11800:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11800:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11605:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11605:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11605:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11605:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11632:29: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11632:29: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11632:29: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11632:29: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11652:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11652:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11652:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11652:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11654:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11654:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11654:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11654:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11656:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11656:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11656:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11656:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11670:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11670:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11670:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11670:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c463c9797c43dd66b72daa397716d6c6675087b8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 17:43:22 2014 -0300 [media] ngene: fix sparse warnings drivers/media/pci/ngene/ngene-core.c:188:27: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:190:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:199:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:260:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:263:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:282:32: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:283:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:284:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:285:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:286:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:287:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:288:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:292:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:293:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:294:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:295:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:296:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:297:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:303:17: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:316:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:368:17: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:372:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1160:28: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1199:20: warning: incorrect type in assignment (different address spaces) drivers/media/pci/ngene/ngene-core.c:1213:30: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1214:30: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1223:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1225:24: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1227:31: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1296:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1297:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1298:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1299:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1300:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1301:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1302:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1363:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1365:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1376:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1391:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1596:18: warning: Using plain integer as NULL pointer drivers/media/pci/ngene/ngene-core.c:1615:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-cards.c:699:29: warning: Using plain integer as NULL pointer drivers/media/pci/ngene/ngene-cards.c:699:32: warning: Using plain integer as NULL pointer drivers/media/pci/ngene/ngene-cards.c:699:35: warning: Using plain integer as NULL pointer drivers/media/pci/ngene/ngene-cards.c:699:38: warning: Using plain integer as NULL pointer drivers/media/pci/ngene/ngene-dvb.c:84:59: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-dvb.c:93:20: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) drivers/media/pci/ngene/ngene-dvb.c:94:20: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) drivers/media/pci/ngene/ngene-dvb.c:100:20: warning: Using plain integer as NULL pointer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b5c00cc5a56ce0060fb17380cc606514eb5bcd9e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 17:25:00 2014 -0300 [media] ddbridge: fix sparse warnings drivers/media/pci/ddbridge/ddbridge-core.c:88:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:93:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:95:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:99:15: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:117:58: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:119:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:123:68: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:130:17: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:131:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:136:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:138:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:152:22: warning: symbol 'ddb_i2c_algo' was not declared. Should it be static? drivers/media/pci/ddbridge/ddbridge-core.c:183:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:184:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:246:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:247:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:255:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:256:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:269:35: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:358:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:359:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:360:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:362:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:366:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:368:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:369:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:370:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:380:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:381:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:393:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:394:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:395:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:396:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:397:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:401:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:403:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:404:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:406:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:416:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:417:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:475:36: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:484:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:494:20: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:501:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:524:36: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:534:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:852:21: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:973:20: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) drivers/media/pci/ddbridge/ddbridge-core.c:974:20: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) drivers/media/pci/ddbridge/ddbridge-core.c:978:20: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:982:20: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:1003:23: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1006:23: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1009:30: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1015:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1017:39: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1035:24: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1041:20: warning: symbol 'cxd_cfg' was not declared. Should it be static? drivers/media/pci/ddbridge/ddbridge-core.c:1130:44: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:1183:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1188:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1193:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1198:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1213:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1214:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1215:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1216:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1231:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1232:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1233:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1289:17: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1333:23: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1295:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1347:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1353:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1354:24: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1359:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1361:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1373:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1374:16: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1378:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1382:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1385:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1386:24: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1388:24: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1393:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1394:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1395:16: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1398:16: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1399:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1451:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1462:45: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1467:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1538:28: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1550:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1561:31: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:1585:19: warning: incorrect type in assignment (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1591:47: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1591:60: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1607:9: warning: too many warnings Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6cde2904df44049dd58b5d71639a2c720c658f50 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 17:05:17 2014 -0300 [media] kinect: fix sparse warnings drivers/media/usb/gspca/kinect.c:151:19: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:152:19: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:153:19: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:191:13: warning: restricted __le16 degrades to integer drivers/media/usb/gspca/kinect.c:217:16: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:218:16: warning: incorrect type in assignment (different base types) Note that this fixes a real bug where cpu_to_le16 was used instead of the correct le16_to_cpu. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Antonio Ospite <ao2@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 18ef20da8f0ad4e867a9556d285a9c22b08f5a58 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:58:35 2014 -0300 [media] dib7000p: fix sparse warning drivers/media/dvb-frontends/dib7000p.c:2562:5: warning: symbol 'dib7090_set_diversity_in' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 616e3506a95d7ec7e308876cc3fd6144da59dece Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:55:35 2014 -0300 [media] go7007: fix sparse warnings drivers/media/usb/go7007/go7007-usb.c:699:30: warning: cast to restricted __le16 drivers/media/usb/go7007/go7007-usb.c:769:38: warning: cast to restricted __le16 drivers/media/usb/go7007/go7007-usb.c:770:39: warning: cast to restricted __le16 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ee40d32fc2a8749a89c1a372a46d619158c2d367 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:53:30 2014 -0300 [media] pctv452e: fix sparse warnings drivers/media/usb/dvb-usb/pctv452e.c:886:64: warning: Using plain integer as NULL pointer drivers/media/usb/dvb-usb/pctv452e.c:903:63: warning: Using plain integer as NULL pointer drivers/media/usb/dvb-usb/pctv452e.c:968:19: warning: Using plain integer as NULL pointer drivers/media/usb/dvb-usb/pctv452e.c:1026:19: warning: Using plain integer as NULL pointer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 18d6a28ac0613d86241c7271aab3f6562d6c8995 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:50:21 2014 -0300 [media] opera1: fix sparse warnings drivers/media/usb/dvb-usb/opera1.c:557:29: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/opera1.c:558:33: warning: restricted __le16 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ed26716521a2fc7e41b6c98e046987f8f00a3155 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:48:07 2014 -0300 [media] mxl111sf: fix sparse warnings drivers/media/usb/dvb-usb-v2/mxl111sf.c:34:5: warning: symbol 'dvb_usb_mxl111sf_isoc' was not declared. Should it be static? drivers/media/usb/dvb-usb-v2/mxl111sf.c:38:5: warning: symbol 'dvb_usb_mxl111sf_spi' was not declared. Should it be static? drivers/media/usb/dvb-usb-v2/mxl111sf.c:46:5: warning: symbol 'dvb_usb_mxl111sf_rfswitch' was not declared. Should it be static? drivers/media/usb/dvb-usb-v2/mxl111sf.c:890:22: warning: symbol 'mxl111sf_i2c_algo' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1ad5d0645ec8c2b4b1ca9d146530bf9b755d8920 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:45:27 2014 -0300 [media] dw2102: fix sparse warnings drivers/media/usb/dvb-usb/dw2102.c:670:65: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1601:32: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1904:34: warning: symbol 'p1100' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1911:34: warning: symbol 's660' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1930:34: warning: symbol 'p7500' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1937:34: warning: symbol 's421' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7754622baa7220d7048a5b97435adff1dfb15dbb Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:40:00 2014 -0300 [media] radio-tea5764: fix sparse warnings drivers/media/radio/radio-tea5764.c:168:24: warning: cast to restricted __be16 drivers/media/radio/radio-tea5764.c:168:24: warning: cast to restricted __be16 drivers/media/radio/radio-tea5764.c:168:24: warning: cast to restricted __be16 drivers/media/radio/radio-tea5764.c:168:24: warning: cast to restricted __be16 drivers/media/radio/radio-tea5764.c:185:20: warning: incorrect type in assignment (different base types) drivers/media/radio/radio-tea5764.c:186:20: warning: incorrect type in assignment (different base types) drivers/media/radio/radio-tea5764.c:187:20: warning: incorrect type in assignment (different base types) drivers/media/radio/radio-tea5764.c:188:20: warning: incorrect type in assignment (different base types) drivers/media/radio/radio-tea5764.c:189:20: warning: incorrect type in assignment (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 744263246d8cdb838db5bc7743f9220de016f7dc Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:34:27 2014 -0300 [media] af9015: fix sparse warning drivers/media/usb/dvb-usb-v2/af9015.c:422:38: warning: cast to restricted __le32 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b565e71dd2805f6efb99cfb31b1f116cdea974d7 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:32:26 2014 -0300 [media] dibusb: fix sparse warnings drivers/media/usb/dvb-usb/dibusb-common.c:261:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:262:52: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:300:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:301:44: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:313:47: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:314:47: warning: restricted __le16 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4bf167a373bbbd31efddd9c00adc97ecc69fdb67 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 1 10:18:02 2014 -0300 [media] v4l: vsp1: fix driver dependencies Renesas VSP1 Video Processing Engine support should be available only on Renesas ARM SoCs. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5da74fc66b58a943e32e8c8b59e8e7c719ab611b Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Mon Sep 1 10:05:52 2014 -0300 [media] s5p-jpeg: fix HUF_TBL_EN bit clearing path Use proper bitwise operator while clearing HUF_TBL_EN bit. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d727ff4241e4ed2f4f93816460b2af0567f0e3c1 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Mon Sep 1 10:05:51 2014 -0300 [media] s5p-jpeg: avoid overwriting JPEG_CNTL register settings Take into account the JPEG_CNTL register value read before setting SYS_INT_EN bit field. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 37a4bd757ce19a6f58339f8c3b85551f43911764 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Mon Sep 1 10:05:50 2014 -0300 [media] s5p-jpeg: remove stray call to readl There is no need to read INT_EN_REG before enabling interrupts. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0cd9b21ed5453055752e7f8ef4887fbc409b77dc Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Mon Sep 1 10:05:49 2014 -0300 [media] s5p-jpeg: Avoid assigning readl result Avoid gcc warning when -Wunused-but-set-variable is enabled. The readl return value need not to be assigned to any variable as the reading itself is just a part of a sequence required for clearing the interrupt flag. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0c2272170d78f826f6e97f99fb8a67fc17feef07 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Aug 27 09:36:28 2014 -0300 [media] media: s5p-mfc: rename special clock to sclk_mfc Commit d19f405a5a8d2ed942b40f8cf7929a5a50d0cc59 ("[media] s5p-mfc: Fix selective sclk_mfc init") added support for special clock handling (named "sclk-mfc"). However this clock is not defined yet on any platform, so before adding it to all Exynos platform, better rename it to "sclk_mfc" to match the scheme used for all other special clocks on Exynos platform. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7af142f752116e86adbe2073f2922d8265a77709 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 1 11:19:37 2014 +0200 ALSA: pcm: Uninline snd_pcm_stream_lock() and _unlock() The previous commit for the non-atomic PCM ops added more codes to snd_pcm_stream_lock() and its variants. Since they are inlined functions, it resulted in a significant code size bloat. For reducing the size bloat, this patch changes the inline functions to the normal function calls. The export of rwlock and rwsem are removed as well, since they are referred only in pcm_native.c now. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 257f8cce5d40b811d229ed71602882baa0012808 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Aug 29 15:32:29 2014 +0200 ALSA: pcm: Allow nonatomic trigger operations Currently, many PCM operations are performed in a critical section protected by spinlock, typically the trigger and pointer callbacks are assumed to be atomic. This is basically because some trigger action (e.g. PCM stop after drain or xrun) is done in the interrupt handler. If a driver runs in a threaded irq, however, this doesn't have to be atomic. And many devices want to handle trigger in a non-atomic context due to lengthy communications. This patch tries all PCM calls operational in non-atomic context. What it does is very simple: replaces the substream spinlock with the corresponding substream mutex when pcm->nonatomic flag is set. The driver that wants to use the non-atomic PCM ops just needs to set the flag and keep the rest as is. (Of course, it must not handle any PCM ops in irq context.) Note that the code doesn't check whether it's atomic-safe or not, but trust in 100% that the driver sets pcm->nonatomic correctly. One possible problem is the case where linked PCM substreams have inconsistent nonatomic states. For avoiding this, snd_pcm_link() returns an error if one tries to link an inconsistent PCM substream. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e47ccb1de5db8723b222149004584279a299571f Author: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Date: Wed Aug 13 23:11:47 2014 -0300 [media] media: s5p-mfc: correct improper logs This patch corrects improper logs within the code initializing hardware. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6c5c680b85deb98e1b90b5b3e112a6fa82c70b12 Author: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Date: Tue Aug 5 22:22:08 2014 -0300 [media] media: s5p_mfc: Release ctx->ctx if failed to allocate ctx->shm ctx->ctx should be released if the following allocation for ctx->shm gets failed. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 016da14439b83fbb82c67c497eb770c8025608fe Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 18 11:54:56 2014 +0200 gpio: zynq: Take bank offset into account when reporting a IRQ When looking up the IRQ the bank offset needs to be taken into account. Otherwise interrupts for banks other than bank 0 get incorrectly reported as interrupts for bank 0. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c44b6484db6e285cbc63bb8d400b5e8873e3a8d2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:27:38 2014 -0300 [media] solo6x10: fix sparse warnings drivers/media/pci/solo6x10/solo6x10-disp.c:184:24: warning: incorrect type in assignment (different base types) drivers/media/pci/solo6x10/solo6x10-disp.c:223:32: warning: incorrect type in assignment (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3ee733ea9c3d7c31469ec4f88319d32f019b8d09 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 18:55:23 2014 -0300 [media] img-ir: fix sparse warnings drivers/media/rc/img-ir/img-ir-nec.c:111:23: warning: symbol 'img_ir_nec' was not declared. Should it be static? drivers/media/rc/img-ir/img-ir-jvc.c:54:23: warning: symbol 'img_ir_jvc' was not declared. Should it be static? drivers/media/rc/img-ir/img-ir-sony.c:120:23: warning: symbol 'img_ir_sony' was not declared. Should it be static? drivers/media/rc/img-ir/img-ir-sharp.c:75:23: warning: symbol 'img_ir_sharp' was not declared. Should it be static? drivers/media/rc/img-ir/img-ir-sanyo.c:82:23: warning: symbol 'img_ir_sanyo' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5b5a9069e889cd87887cbd3ced6353281c7686b6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 09:56:47 2014 +0200 MAINTAINERS: Add irqchip DT bindings doc path to IRQCHIP DRIVERS section Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1409212607-4021-1-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 8703ec19c706eb4d9f2848d50e9fc41d73eb4a40 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Aug 28 20:16:29 2014 +0300 irqchip: keystone: Remove warning unsigned 'kirq->irq' is never less than zero Remove static checker warning: drivers/irqchip/irq-keystone.c:166 keystone_irq_probe() warn: unsigned 'kirq->irq' is never less than zero. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Link: https://lkml.kernel.org/r/1409246189-29727-1-git-send-email-grygorii.strashko@xxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 4549cf2b1803d29cfd019f7bfeaa784f8f9c558f Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Sep 2 14:05:10 2014 +0200 mac80211: fix offloaded BA session traffic after hw restart When starting an offloaded BA session it is unknown what starting sequence number should be used. Using last_seq worked in most cases except after hw restart. When hw restart is requested last_seq is (rightfully so) kept unmodified. This ended up with BA sessions being restarted with an aribtrary BA window values resulting in dropped frames until sequence numbers caught up. Instead of last_seq pick seqno of a first Rxed frame of a given BA session. This fixes stalled traffic after hw restart with offloaded BA sessions (currently only ath10k). Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0310539723fb173c398ad1a0da2683d41d20dba5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Aug 9 20:43:16 2014 -0300 [media] cx23885: remove FSF address as per checkpatch These addresses are usually out-of-date and the top-level license will always have the right address. So drop it from these sources. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 568f44a18e9b63fbb44fcb3292c3530087ae527b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 08:43:51 2014 -0300 [media] cx23885: use video_drvdata to get cx23885_dev pointer Use video_drvdata(file) instead of fh->dev to get the cx23885_dev pointer. This prepares for the vb2 conversion where fh->dev (renamed to fh->q_dev in this patch) will be removed completely. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9529a4b0cf49163e489446ec159a2dfb64f78df8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 08:27:00 2014 -0300 [media] cx23885: drop videobuf abuse in cx23885-alsa The alsa driver uses videobuf low-level functions that are not available in vb2, so replace them by driver-specific functions. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 91d2d6745205774b712727ede2a35c91e1eb4c48 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:52:07 2014 -0300 [media] cx23885: fmt, width and height are global, not per-fh Move these fields from cx23885_fh to cx23885_dev. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e749c6e64c6a8b1323fad2330d73855cf072a3b9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:37:35 2014 -0300 [media] cx23885: drop unused clip fields from struct cx23885_fh There is no overlay support, so drop these unused fields. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1f159c77d068aff4c8ee7f7c84312b64ebef121c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:35:54 2014 -0300 [media] cx23885: drop type field from struct cx23885_fh This information is available elsewhere as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8696193320118ba55e6469f49b33b4526c5cd5fa Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:22:06 2014 -0300 [media] cx23885: drop radio-related dead code Currently no radio device nodes are ever created, so remove the dead radio code. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 200e0841ee4a05d06041fb25a8931a5dfb15c767 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:18:12 2014 -0300 [media] cx23885: map invalid fields to a valid field If field format is not valid, map it as V4L2_FIELD_INTERLACED, instead of pretending to support an invalid format. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1af2ddd8b3fab054c908d24e00cb41f6b2b7d719 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:11:49 2014 -0300 [media] cx23885: fix format colorspace compliance error Fix v4l2-compliance failure relating to formatting. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5150392cd94c5a5a89b92e58ddc579f0de2d1a89 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:02:15 2014 -0300 [media] cx23885: convert 417 to the control framework Convert the -417 source to the control framework as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit da59a4deb2e2430aac82e775bb2b0a67cbb48f11 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 06:34:44 2014 -0300 [media] cx23885: convert to the control framework This is part 1, converting the uncompressed video/vbi nodes to use the control framework. The next patch converts the compressed video node as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 24a8f7b5648ff8dfd8d26f8444ab4b04286dba98 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Aug 9 11:29:55 2014 -0300 [media] cx23885: use core locking, switch to unlocked_ioctl Enable core locking which allows us to safely switch to unlocked_ioctl. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 86dd9831aea494e3e5c565c697df60484f55780c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 05:32:58 2014 -0300 [media] cx23885: support v4l2_fh and g/s_priority Add support for struct v4l2_fh and priority handling. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d43be757b945b292402edc28aa67cf53581d3428 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 05:24:58 2014 -0300 [media] cx23885: fix audio input handling Fix a bunch of v4l2-compliance errors relating to audio input handling. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a7d3eabd77402828a5d5a84604626cb824571e0b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 04:50:14 2014 -0300 [media] cx23885: fix querycap Set device_caps to fix the v4l2-compliance QUERYCAP complaints. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit fd34f90c6071bbc124572dae83b67044b1c663cc Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 30 16:51:03 2014 +0100 drm/i915: Don't restrict i915_wa_registers to BDW We have CHV code that already makes the test obsolete. Besides, when num_wa_regs is 0 (platforms not gathering that W/A data), we expose something sensible already. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b07ba1dc78a251fc02992a35b0fd8757029566e4 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 30 16:51:02 2014 +0100 drm/i915: Remove unneeded brackets Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 04ad2dc7116347a4219b13935c7569ceaab95155 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 30 16:51:01 2014 +0100 drm/i915: Don't silently discard workarounds If we happen to emit more than I915_MAX_WA_REGS workarounds, we will currently discard them, not even emit the LRI. Not really what we want, so warn loudly. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 55820e1e840def3802fc366607f2b25e31036ab1 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 30 16:51:00 2014 +0100 drm/i915: Don't overrun the intel_wa_regs array When entering intel_ring_emit_wa() with num_wa_regs equal to I915_MAX_WA_REGS, we end up indexing the intel_wa_regs array beyond its allocation. Fix the check then. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1ed1ef9dd91ef8067a45889367a888c7494675e0 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 30 16:50:59 2014 +0100 drm/i915: Rename intel_wa_registers with a i915_ prefix Those debugfs files are prefixed by i915, the name of the kernel module, presumably to make the difference with files exposed by core DRM. Also, add a ',' at the end of the last entry. This is to ease the conflict resolution when rebasing internal patches that add a member at the end of the array. Without it, wiggle can't do its job as we need to modify an existing line (appending the ','). Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 059b2fe9d8a7ae570b803ca7b71ef9a3628c2aa4 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Sep 2 16:53:57 2014 -0300 drm/i915: change CHV write_eld/global_resources function pointers Currently, CHV is using the same functions as HSW/BDW instead of the same functions as VLV. This looks wrong, especially since, for example, valleyview_modeset_global_resouces even has an IS_CHERRYVIEW check. This patch has the potential to fix display audio and the CHV CDCLK. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 953ece69711bfc51c57ef3976c84594b2fadbcb3 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 20:04:01 2014 +0100 drm/i915/hdmi: Cache EDID for a detection cycle As we may query the edid multiple times following a detect, record the EDID found during output discovery and reuse it. This is a separate issue from caching the output EDID across detection cycles. v2: Also hookup the force() callback for audio detection when the user forces the connection status. v3: Ville spots a typo, s/==/!=/ Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit beb60608477ec4ae252ec16f9b4018c015b980cb Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 20:04:00 2014 +0100 drm/i915/dp: Cache EDID for a detection cycle As we may query the edid multiple times following a detect, record the EDID found during output discovery and reuse it. This is a separate issue from caching the output EDID across detection cycles. v2: Implement connector->force() callback so that edid is associated with the connector for user overrides as well (Ville) Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d410b56d74bc706f414158cb0149e2a149ee1650 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 20:03:59 2014 +0100 drm/i915/dp: Refactor common eDP lid detection Both gmch and pch detection routines used the exact same routine for eDP, so de-duplicate. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: : Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aec856d0a8308cb34360c88a73b517c3a1fce170 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Sep 3 10:23:05 2014 +0200 ALSA: hda - Make the ALC269 pin quirk table shorter ...by factoring out common parts to the just added pin macros. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fea185e28e7c9f37a298f4184580f310e4eefd7b Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Sep 3 10:23:04 2014 +0200 ALSA: hda - Add common pin macros for ALC269 family This will be used in a later patch to make the pin quirk table shorter. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 26db63e3cb7af431707cd0467c7bcfefad25aa39 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:46 2014 +0530 drm: Remove old defines for vswing and pre-emph values This is the last patch in the series, so remove old defines Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd60018af33b36650a9d9b6e2b63dbc9a58e2163 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:41 2014 +0530 drm/i915: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eeb82a5cdb9ab8c5690186b60b2a2bc551fbdf5c Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:45 2014 +0530 drm/tegra: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Acked-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9cecb371cf7365dfaf40cf83e8068f012f27f86b Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:44 2014 +0530 drm/radeon: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_1200 (3 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_3 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Alex Deucher <alexdeucher@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 31160006f8b5aabc3701b22feccbc9a4ae9c59b1 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:43 2014 +0530 drm/gma500: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0ded925435ba40e1328565d3de869b3635207ef2 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:42 2014 +0530 drm/exynos: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0504cd170c86f0617f27a31f1ba2328caa976707 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:40 2014 +0530 drm: Renaming DP training vswing pre emph defines Adding new defines, older one will be removed in the last patch in the series. This is to rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f9cac7218a6e18f5f95917c9e3331ee7f063c439 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Sep 2 16:33:52 2014 +0300 drm/i915: debug sink dpms aux errors also on enable Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 09dba00c0091984626b48e1e2439f25e437c03ae Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 1 18:08:25 2014 +0300 drm/i915: Don't call intel_plane_restore() when the prop value didn't change No point in calling intel_plane_restore() in .set_property() if the value didn't change. More importantly this papers over a bug where the current primary plane code forgets to update the user coordinates we store under intel_plane unless the primary plane .update_plane() hook is actually called. This means we have 0 in the coordinates straight after boot and any call to intel_restore_plane() (such as from restore_fbdev_mode()) will actually turn off the primary plane. This mess needs to be fixed properly but that's a bigger task and the first step there is killing off intel_pipe_set_base() and just calling the primary plane .update_plane() hook. For the immediate problem of black screen after boot this small patch is enough to hide it. The problem originates from these two commits: commit 3a5f87c286515c54ff5c52c3e64d0c522b7570c0 Author: Thomas Wood <thomas.wood@xxxxxxxxx> Date: Wed Aug 20 14:45:00 2014 +0100 drm: fix plane rotation when restoring fbdev configuration commit d91a2cb8e5104233c02bbde539bd4ee455ec12ac Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 22 14:06:04 2014 +0530 drm/i915: Add 180 degree primary plane rotation support Cc: Thomas Wood <thomas.wood@xxxxxxxxx> Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> Tested-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Tested-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a8e98153627dfbb10ff4dd65729676115a932b2e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 1 14:12:01 2014 +0300 drm: i915: reduce memory footprint when debugging There is no need to use hex_dump_to_buffer() since we have a kernel helper to dump up to 64 bytes just via printk(). In our case the actual size is 15 bytes. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> [danvet: Add cast since %*ph expects and int for the size parameter.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6c65a587b123ab17389b0563cdc42668847ad652 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 29 14:14:07 2014 +0300 drm/i915: Don't use WaGsvRC0ResidenncyMethod on chv WaGsvRC0ResidenncyMethod is for vlv, it doesn't deal with chv appropriately (eg. doesn't limit rps values to even numbers). Fix a typo in the w/a name while at it. Cc: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 69769f9a422bfc62e17399da3590c5e31ac37f24 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:08 2014 +0300 drm/i915: Preserve VGACNTR bits from the BIOS My Fujistsu-Siemens Lifebook S6010 doesn't like to resume from S3 unless VGACNTR has been restore to the original value. The BIOS value in this case was 0x0124008E. Setting the "VGA disable" bit doesn't interfere with the S3 resume fortunately. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b6b5d049780c29fe6073b6ecbb712dd8dcb27ebc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:07 2014 +0300 drm/i915: Add pipe B force quirk for 830M 830M has problems when some of the pipes are disabled. Namely if a plane, DVO port etc. is currently assigned to a disabled pipe, it can't moved to the other pipe until the current pipe is also enabled. To keep things simple just leave both pipes running all the time. Ideally I think should turn the pipes off if neither is active, and when either becomes active we enable both. But that would reuquire proper atomic modeset support, and probably a bit of extra care in the order things get enabled. v2: Reorder wrt. double wide handling changes Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5f080c0f4bd526b36361dd15c4d22f6bbad95af9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:06 2014 +0300 Revert "drm/i915: Nuke pipe A quirk on i830M" 830 really does want the pipe A quirk. The planes and ports don't react to any register writes unless the pipe currently attached to them is running, so it's impossible to move them to the other pipe unless both pipes are running. Also it's documented that the DPLL must be enabled on both pipes whenever it's needed. This reverts commit ac6696d3236bd61503f89a1a99680fd7894d5d53. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b07aaf8849f08b2e4c1ea1a91cae80e0c11c8d2a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:04 2014 +0300 drm/i915: Check pixel clock in ns2501 mode_valid hook The vbt on my Fujitsu-Siemens Lifebook S6010 provides two 800x600 modes, 60Hz and 56Hz. The magic register values we have correspond to the 60Hz mode, and as I don't know how one would trick the VGA BIOS to set up the 56Hz mode we can't get the magic values for the orther mode. So when checking whether a mode is valid also check the pixel clock so that we filter out the 56Hz variant. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d9d9bced0a711ab5c14f8a6b6df497e5f27b783d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:03 2014 +0300 drm/i915: Init important ns2501 registers In my earlier rewrite I missed a few important registers. Thomas Richter noticed that they're needed to make his machine resume correctly. Looks like IEGD does a one time init of these three registers. We don't have a good one time init place in the ns2501 driver, so let's just stick them into the .mode_set() hook and see if that helps things along. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bae06ca122a5f37bdd4d8faedae7881f53b145cd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:02 2014 +0300 drm/i915: Rewrite ns2501 driver a bit Try to use the same programming sequence as used by the IEGD driver. Also shovel the magic register values into a big static const array. The register values are actually the based on what the BIOS programs on the Fujitsu-Siemens Lifebook S6010. IEGD seemed to have hardcoded register values (which also enabled the scaler for 1024x768 mode). However those didn't actually work so well on the S6010. Possibly the pipe timings that got used didn't match the ns2501 configuration. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 09b0085a9d52f444c986a2dd98c3309bd5a5923a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:01 2014 +0300 drm/i915: Kill useless ns2501_dump_regs Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e240d55d671c63056b118ec29acb26b273a94405 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:00 2014 +0300 drm/i915: Don't call DVO mode_set hook on DPMS changes Calling the mode_set hook on DPMS changes doesn't seem to be necessary for ns2501. Just drop it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9c054c203e7c9ca1c27ab02c4374a2b33de3344 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:59 2014 +0300 drm/i915: Enable DVO between mode_set and dpms hooks To more closely match the IEGD ns2501 driver behaviour, call the mode_set hook while the DVO port is still disabled, then enable the DVO port, and finally call the dpms hook. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 316e0157a9009f77bd8f73f96937caddbd87fcdc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:58 2014 +0300 drm/i915: ns2501 is on DVOB On Fujitsu-Siememens S6010 the ns2501 chip is hooked up to DVOB instead of DVOC. FIXME: Maybe need to dig out the correct DVO port from VBT Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 67adc6442a4ba9cbe412c4fc698a7e14333027e5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:57 2014 +0300 drm/i915: Disable double wide even when leaving the pipe on Disable double wide even if the pipe quirk compels us to leave the pipe running. Double wide has certain implications for the plane assignments so best keep it off. Also helps resuming from S3 on the Fujitsu-Siemens Lifebook S6010 when double wide was enabled prior to suspend. We do leave the pixel clock ticking at the original rate which would require double wide to be enabled. But since the planes are all disabled I'm hoping that the overly fast clock won't cause any problems. Seems to be fine so far. v2: Disable double wide also when turning the pipe off v3: Reorder wrt. force pipe B quirk Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 575f7ab754c49466090ed3fafa91c8efb3a5afb6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:56 2014 +0300 drm/i915: Pass intel_crtc to intel_disable_pipe() and intel_wait_for_pipe_off() Just pass the intel_crtc around instead of dev_priv+pipe. Also make intel_wait_for_pipe_off() static since it's only used in intel_display.c. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 81e7f2002b7db269799ebdac0d905574c0a85d1d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:55 2014 +0300 drm/i915: Idle unused rings on gen2/3 during init/resume gen2/3 platforms have a boatload of rings we're not using. On my 830 the BIOS/hw can leave some of those "active" after resume which will prevent c3 entry. The ring is apparently considered active whenever head != tail even if the ring is disabled. Disable and clear all such unused ringbuffers on init/resume. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1038392b4dd02a46006d38f33aab71486d477ced Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:54 2014 +0300 drm/i915: Disable trickle feed for gen2/3 My 830 is unhappy with trickle feed enabled. The symptom is that the image on the screen shifts a bit to right occasionally. The BIOS initially disables trickle feed, but it gets reset during suspend, so we need to re-disable it ourselves. Juse disable it always. Also disable it for all other gen2/3 platforms since we disable it for all more recent platforms as well (until HSW that is). At least my 855 doesn't seem to mind us doing this. I don't have gen3 hardware to test that. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9d53910580512207186729c94b39cca9a9778c13 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:53 2014 +0300 drm/i915: Fix gen2 planes B and C max watermark value The max watermark value for gen2 planes B and C is 0x1f, instead of the 0x3f that plane A uses. Also check against the max even if the pipe is disabled since the FIFO size exceeds the plane B and C max watermark value. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d1d70677e165826f3fa9966e1b7ec3765d7c0fb7 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Wed May 28 14:39:03 2014 -0700 drm/i915: make fbdev initialization asynchronous v2 This gets us out of our init code and out to userspace quite a bit faster, but does open us up to some bugs given the state of our init time locking. v2: switch to async_schedule (Chris) check with lockdep, seems happy (Jesse) move hotplug enable flag set to fbdev_initial_config (Jesse) Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Rebase on top of the dev_priv->enable_hotplug_processing removal.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 00e1e623e62cd8452e28633182b91ddcbb70cc7c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 27 17:33:12 2014 +0300 drm/i915: Init some CHV workarounds via LRIs in ring->init_context() Follow the BDW example and apply the workarounds touching registers which are saved in the context image through LRIs in the new ring->init_context() hook. This makes Mesa much happier and eg. glxgears doesn't hang after the first frame. Cc: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Add missing wa table initialization to avoid a functional conflict with Arun's wa table debugfs support.] Reviewed-by: "Barbalho, Rafael" <rafael.barbalho@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21386f86c9af92fea4897e90c1671b3f0010e936 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Aug 28 14:40:06 2014 -0300 drm/i915: trivial: remove unneed set to NULL At this point of the code the obj var is already NULL, so we don't need to set it again to NULL. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c14762d0cc3eecfdc5060bd634d124d32bd9d44 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 14:42:43 2014 +0300 drm/i915: Warn about odd rps values on CHV CHV wants even rps opcodes so print a warning of the min/max/rpe/rp1 values are odd, and warn if an odd value slips through to valleyview_set_rps() and truncate it to an even value. Also add a comment to chv_freq_opcode() to make sure no one changes the code without considering this requirement. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> [danvet: Help git along in applying the patch, somehow it silently ended up in the vlv init_gt_powersave function.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cbce710709f2b57cb955a98c0d3fad1559c4d93d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 28 12:17:42 2014 +0200 MAINTAINERS: Update Daniel Vetter's email address Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 564ddb2fae4da01406a24e5a763e601dc21c23d7 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Aug 21 11:40:54 2014 +0100 drm/i915/bdw: Render state init for Execlists The batchbuffer that sets the render context state is submitted in a different way, and from different places. We needed to make both the render state preparation and free functions outside accesible, and namespace accordingly. This mess is so that all LR, LRC and Execlists functionality can go together in intel_lrc.c: we can fix all of this later on, once the interfaces are clear. v2: Create a separate ctx->rcs_initialized for the Execlists case, as suggested by Chris Wilson. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> v3: Setup ring status page in lr_context_deferred_create when the default context is being created. This means that the render state init for the default context is no longer a special case. Execute deferred creation of the default context at the end of logical_ring_init to allow the render state commands to be submitted. Fix style errors reported by checkpatch. Rebased. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c76bb61a71083b2d90504cc6d0dda2047c5d63ca Author: Daisy Sun <daisy.sun@xxxxxxxxx> Date: Mon Aug 11 11:08:38 2014 -0700 drm/i915/bdw: BDW Software Turbo BDW supports GT C0 residency reporting in constant time unit. Driver calculates GT utilization based on C0 residency and adjusts RP frequency up/down accordingly. For offscreen workload specificly, set frequency to RP0. Offscreen task is not restricted by frame rate, it can be executed as soon as possible. Transcoding and serilized workload between CPU and GPU both need high GT performance, RP0 is a good option in this case. RC6 will kick in to compensate power consumption when GT is not active. v2: Rebase on recent drm-intel-nightly v3: Add flip timerout monitor, when no flip is deteced within 100ms, set frequency to RP0. Signed-off-by: Daisy Sun <daisy.sun@xxxxxxxxx> [torourke: rebased on latest and resolved conflict] Signed-off-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Acked-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2bb25c17bbe032eecaffa401dbc21809a3f8e44a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 14:42:44 2014 +0300 drm/i915: Populate mem_freq in init_gt_powerwave() init_clock_gating() is too late to read out the mem_freq. We already want to print out the GPU MHz numbers before it's called. Move the mem_freq setup to init_gt_powersave(). v2: Also kill the CHV_CZ_CLOCK_FREQ_MODE_* defines Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b98971271bf4c4566db2133ad0a36e4f24819fbe Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 27 16:51:22 2014 +0300 drm/i915: s, fb->bits_per_pixel/8, pixel_size, in primary plane code Use the pixel_size we got from drm_format_plane_cpp() instead of fb->bits_per_pixel/8 when computing the primary plane page/linear offsets. Avoids a few divs and makes the code more future proof against funky pixel formats where bits_per_pixel isn't well defined. This is what we already did in the sprite code. Note that the relevant sprite patch was commit ca320ac456099c29290568353d924157e626ede9 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Dec 19 12:14:22 2012 +0000 drm/i915: Use pixel size for computing linear offsets into a sprite This change was required on sprites because they support yuv formats which have fb->bits_per_pixel undefined. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add Chris' software archeology as a note to the commit message.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9ba6fad426faa8349523cef323f7b4b7d17a1e8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 27 17:48:41 2014 +0300 drm/i915: Don't dereference fb when disabling primary plane During driver init we may not have a valid framebuffer for the primary plane even though the plane is enabled due to failed BIOS fb takeover. This means we have to avoid dereferencing the fb in .update_primary_plane() when disabling the plane. The introduction of the primary plane rotation in commit d91a2cb8e5104233c02bbde539bd4ee455ec12ac Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 22 14:06:04 2014 +0530 drm/i915: Add 180 degree primary plane rotation support caused a regression by trying to look up the pixel format before we can be sure there's a valid fb available. This isn't entirely unsurprising since the rotation patches originally predate the change to the primary plane code that calls .update_primary_plane() also when disabling the plane: commit fdd508a6419217cce28213f3c9bd27c02a0d4c71 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 8 21:51:11 2014 +0300 drm/i915: Call .update_primary_plane in intel_{enable, disable}_primary_hw_plane() v2: Warn but don't blow up when trying to enable a plane w/o an fb (Chris) Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 888b59951ed5ac450fe3ddd7b3937d905b9bafbc Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Aug 26 14:44:51 2014 +0100 drm/i915/bdw: Export workaround data to debugfs The workarounds that are applied are exported to a debugfs file; this is used to verify their state after the test case (reset or suspend/resume etc). This patch is only required to support i-g-t. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 86d7f23842f1bce3ab5e8c8d0c676112bbc4c99b Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Aug 26 14:44:50 2014 +0100 drm/i915/bdw: Apply workarounds in render ring init function For BDW workarounds are currently initialized in init_clock_gating() but they are lost during reset, suspend/resume etc; this patch moves the WAs that are part of register state context to render ring init fn otherwise default context ends up with incorrect values as they don't get initialized until init_clock_gating fn. v2: Add workarounds to golden render state This method has its own issues, first of all this is different for each gen and it is generated using a tool so adding new workaround and mainitaining them across gens is not a straightforward process. v3: Use LRIs to emit these workarounds (Ville) Instead of modifying the golden render state the same LRIs are emitted from within the driver. v4: Use abstract name when exporting gen specific routines (Chris) For: VIZ-4092 Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c5ad011d7d256ecbe173324029e992817194d2b0 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Mon Aug 4 03:51:38 2014 -0700 drm/i915: FBC flush nuke for BDW According to spec FBC on BDW and HSW are identical without any gaps. So let's copy the nuke and let FBC really start compressing stuff. Without this patch we can verify with false color that nothing is being compressed. With the nuke in place and false color it is possible to see false color debugs. Unfortunatelly on some rings like BCS on BDW we have to avoid Bits 22:18 on LRIs due to a high risk of hung. So, when using Blt ring for frontbuffer rend cache would never been cleaned and FBC would stop compressing buffer. One alternative is to cache clean on software frontbuffer tracking. v2: Fix rebase conflict. v3: Do not clean cache on BCS ring. Instead use sw frontbuffer tracking. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1012205182fb9470a1bd1620872103a09f566225 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 16:27:30 2014 +0300 drm/i915/ddi: use struct for ddi buf translation tables Try to avoid confusion with ARRAY_SIZE()/2 and hdmi_level*2. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> [danvet: Resolve silent patch conflict (didn't even fail to build) with with Sonika's preceding patch to use the hsw_ddi_translations_fdi table to driver the fdi link training iteration loop. Also drop the double-write loop Damien spotted.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c5fe6a0637e8a9f407a87b78be6955067f01a4cd Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Aug 11 08:57:36 2014 +0530 drm/i915: Rename defines for selection of ddi buffer translation slot Renaming the HSW-specific macros for ddi buffer translation slot to denote the slot and not the vswing/pre-emph values as they are platform-dependent. This patch is based on top of the patch series for renaming the DP training vswing/pre-emph defines: http://lists.freedesktop.org/archives/intel-gfx/2014-August/050407.html v2: Creating single macro with argument for slot number (Damien) v3: Adding macro for num of translation entries (Damien) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 23ba9373ef0dc535b013a872fa565b326b93612d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 14:08:43 2014 +0300 drm/i915/dp: debug log whether backlight is being enabled or disabled Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be292e1563ac5bebc5d84c914a9e5019a0b2114f Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Aug 27 13:24:51 2014 +0200 drm/i915/bdw: Let the memory controller do all the swizzling Previously, it was possible for the GPU memory accesses to be swizzled to try to optimize the fetches for tiled buffers. This swizzling was on top of what the memory controller in the uncore already does. With broadwell, we drop that GPU side swizzling, and the corresponding initialization in 3 units (GAM, GT, DE). All those bits are reserved, as specs put it: Before Gen8, there was a historical configuration control field to swizzle address bit[6] for in X/Y tiling modes. This was set in three different places: TILECTL[1:0], ARB_MODE[5:4], and DISP_ARB_CTL[14:13]" For Gen8 the swizzle fields are all reserved, and the CPU's memory controller performs all address swizzling modifications. This also means that user space doesn't have to manually swizzle when accessing tiled buffers from the CPU, and so we always return I915_BIT_6_SWIZZLE_NONE from i915_gem_detect_bit_6_swizzle(), which short-circuits the initialization of the registers mentionned above in i915_gem_init_swizzling(). v2: Refine the explanation a bit more (Daniel) v3: Make it BDW+ specific (Steve) Cc: Steve Aarnio <steve.j.aarnio@xxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Keep the actual code to set the tiling bits for now, in case some bios escaped to the wild that uses this - we'd need it for fastboot.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1eab9234cbfdd72fe29a68f3da8002e2c74c0c36 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Aug 27 11:30:21 2014 +0100 drm/i915: Add "Intel Corporation" as module author Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0a6d16318939f3dbd9f5f91709c4e72c585d8554 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Aug 27 11:30:20 2014 +0100 drm/i915: Don't use a define when it's clearer to just put the value Instead of going through hoops, just put the driver author directly as DRM_AUTHOR() argument. This will also make it consistent when we add Intel to the list. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bedd4dba75dc583fd3c458f6af2d53c60912a3cb Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Aug 22 15:04:13 2014 +0300 drm/i915: improve assert_panel_unlocked Fix assert_panel_unlocked for vlv/chv, and improve it a bit for non-LVDS. Also don't pretend it works for DDI. There's still work to do to get this right for eDP on PCH platforms, but this is a start. v2: WARN_ON(HAS_DDI) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac66cf4b9af4322748fa46af79e9952bd58c6213 Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Tue Aug 26 10:42:51 2014 -0700 drm/i915/bdw: Add BDW support in the i915 debugfs entry The patch introduces fixes for the debugfs attributes emitted by the i915 driver for GEN8. Currently, it is not emitting the correct attributes which include the status of RC6 states. Change-Id: Ib2068a0cac9a5wq3f228e547fa1a097ad369d242df Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0a4cd7c8c89a15938d67bdc7be8314d85b9ef4da Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 14:41:39 2014 +0100 drm/i915: Differentiate between LLC or snooped for the user Rather than describing an object as either "snooped or LLC", we can do better as we should know what machine we are running on! Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c8a0bd42df69fe76646b45dea04c7cf4995fa6a3 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Aug 21 17:09:38 2014 -0300 drm/i915: send PCI_D3hot adapter opregion message on BDW RPM suspend On BDW we're seeing a problem that after we runtime resume, the outputs connected to DDI C are not detected: they don't appear in the SDEISR register and GMBUS transactions don't work. They stop working at the moment we call intel_opregion_notify_adapter() during runtime suspend, but they don't go back to work when we call the same function during runtime resume. They only work after we do a modeset and call intel_opregion_notify_encoder(), but this point is already too late. While debugging, I tried to pass PCI_D3hot which is the value that matches the spec, and it seems to have solved the problem. I couldn't find any explanation of why this solves the problem, but there's also no documented explanation - besides our code and git log - of why Haswell should use PCI_D1, so keep this for now in order to keep BDW runtime PM working. Also add a comment to point the fact that there's no spec documenting all the weirdness involved here. Cc: kristen.c.accardi@xxxxxxxxx Testcase: igt/pm_rpm/drm-resources-equal Testcase: igt/pm_rpm/i2c Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 47c2bd97cf367f712433eece065df276a64d3e66 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Aug 21 17:09:37 2014 -0300 drm/i915: rename gen8_init_clock_gating to broadwell_init_clock_gating Because CHV uses cherryview_init_clock_gating instead of gen8_init_clock_gating. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 89d6b2b81fdfa57666188d63dc970f8f14efed71 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Aug 21 17:09:36 2014 -0300 drm/i915: call lpt_init_clock_gating on BDW too Because BDW has WPT, which is equivalent to LPT. This is just like the CPT/PPT case. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec49ba2d709f3a1a4cd822e547db2f07e121b375 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 21 15:06:25 2014 +0300 drm/i915: fix panel unlock register mask Use the correct mask for the unlock bits. In theory this could have lead to incorrect asserts but this is unlikely in practise. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ecdb5fd8619964c8fb4e34703fb8e72eaa8a22cb Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Wed Aug 20 16:29:24 2014 +0100 drm/i915/bdw: Don't execute context reset and switch with Execlists These two functions make no sense in an Logical Ring Context & Execlists world. v2: We got rid of lrc_enabled and centralized everything in the sanitized i915.enable_execlists instead. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> v3: Rebased. Corrected a typo in comment for i915_switch_context and added a comment that it should not be called in execlist mode. Added WARN_ON if i915_switch_context is called in execlist mode. Moved check for execlist mode out of i915_switch_context and into callers. Added comment in context_reset explaining why nothing is done in execlist mode. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> [danvet: Simplify the patch subject so I can understand it.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9a2d2d8708208d983cb6101d58645537f7123a04 Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Date: Fri Aug 22 08:32:40 2014 +0530 drm/i915: Fix to Enable GT/PM Interrupts Programing GT IER interrupts was fumbled while enabling Interrupts for gen8 We forgot to program PM IER interrupt in gen8_gt_irq_postinstall based on the new re-worked interrupt routines. v2: Kill the loop and init GT interrupts individually (Ville) Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Adjust commit message as per discussion with Deepak.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 671b50134ccd75a5dd1584e306a9316587371af3 Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Wed Aug 20 16:24:50 2014 +0100 drm/i915/bdw: Do not initialize PPGTT in the legacy way for execlists A pending commit removes synchronous mode from switch_mm. This breaks execlists because switch_mm will always try to write to the legacy ring buffer. Return immediately from i915_ppgtt_init_gw in execlists mode. No longer check for execlists mode in gen8_ppgtt_enable() because this will no longer be called in execlists mode. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 975d568adeba8e50fe0e526298ab4fdf8636e115 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 20 13:13:34 2014 +0100 drm/i915: Make wait-for-pending-flips more defensive Be sure to always flush a stuck pageflip even if we couldn't possibly expect one to be there. References: https://bugs.freedesktop.org/show_bug.cgi?id=82612 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e07f0552c6adc9f36c8d07cac24adf2c87ddfd69 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Aug 19 15:49:41 2014 +0100 drm/i915: Handle i915_ppgtt_put correctly Unfortunately, the gem_obj/vma relationship is not symmetrical; a gem_obj can look up for the same vma more than once (where the ppgtt refcount is incremented), but will free the vma only once (i915_gem_free_object). This difference in refcount get/put means that the ppgtt is not removed after the context and vma are destroyed, because sometimes the refcount will never go back to zero. v2: Just move the ppgtt refcount into vma_create. OTC-Jira: VIZ-3719 Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c695b6b689b9c12611ae7ba849858b631322e11e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:03 2014 +0300 drm/i915: Flatten intel_edp_panel_vdd_on() Less pointless indentation is always nice. There will be a bit more code in this function once the power sequencer locking is fixed. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 15e899a01b5a50d12c96f696a43d4bd5a1ece8be Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:02 2014 +0300 drm/i915: Warn about want_panel_vdd in edp_panel_vdd_off_sync() If we force vdd off warn if someone is still using it. With this change the delayed vdd off work needs to check want_panel_vdd itself to make sure it doesn't try to turn vdd off when someone is using it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be2c9196e4da55b7351fc17dd6f3d11bd36ba893 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:01 2014 +0300 drm/i915: Replace big nested if block with early return Looks nicer. Not functional change. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> [danvet: Add "No functional change" as requested by Jani.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 72c3500ac4c260df661906dd6da484b35d149985 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:00 2014 +0300 drm/i915: Add a note explaining vdd on/off handling in intel_dp_aux_ch() Add a comment to explain why we care about the current want_panel_vdd state in intel_dp_aux_ch(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1e0560e05db2830f61465ce98b995564d33dfbcc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 19 13:24:25 2014 +0300 drm/i915: Rename edp vdd funcs for consistency edp_* are now the lower level functions and intel_edp_* the higher level ones. One should use them in pairs. v2: Don't return void (Jani) Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d337a341532d028920fc49832213c6dd2ce8289c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:15:58 2014 +0300 drm/i915: Use intel_edp_panel_vdd_on() in intel_dp_probe_mst() We want to use the higher level vdd on func here. Not a big deal yet (we'd just get the warn when things go awry) but when the locking gets fixed this becomes more important. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad933b5630ec4413070cbba1599426b97b1cee57 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:15:56 2014 +0300 drm/i915: Parametrize PANEL_PORT_SELECT_VLV Passing the port as a parameter to PANEL_PORT_SELECT_VLV results in neater code. Sadly the PCH port select bits aren't suitable for the same treatment and the resulting macro would be much uglier, so leave those defines as is. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2d96553613b861d62f28b3eb172f473ca10fea06 Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Tue Aug 19 10:13:36 2014 +0100 drm/i915/bdw: Populate lrc with aliasing ppgtt if required A previous commit broke aliasing PPGTT for lrc, resulting in a kernel oops on boot. Add a check so that is full PPGTT is not in use the context is populated with the aliasing PPGTT. Issue: VIZ-4278 Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d84a0f3280c48fa28857de59a47e2fbf8753969f Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 18 10:35:29 2014 -0700 drm/i915: honour forced connector modes In the move over to use BIOS connector configs, we lost the ability to force a specific set of connectors on or off. Try to remedy that by dropping back to the old behavior if we detect a hard coded connector config that tries to enable a connector (disabling is easy!). Based on earlier patches by Jesse Barnes. v2: Remove Jesse's patch Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e80f14b6d36e3e07111cf2ab084ef8dd5d015ce2 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Mon Aug 18 10:35:28 2014 -0700 drm/i915: Don't save/restore RS when not used v2: fix conflict on rebase. Cc: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 98a2e5f94275b6aafb12a3650937f6c54222cdc2 Author: Deepak S <deepak.s@xxxxxxxxx> Date: Mon Aug 18 10:35:27 2014 -0700 drm/i915: Bring UP Power Wells before disabling RC6. We need do forcewake before Disabling RC6, This is what the BIOS expects while going into suspend. v2: updated commit message. (Daniel) Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Deepak S <deepak.s@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 31e4b89acbd7b19c9a8557e6e660a583a0b97daa Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Aug 18 13:51:00 2014 +0100 drm/i915: Print the pipe on which the vblank wait times out Improve the debug message that tells us we've been waiting for a vblank that never arrived. Printing the pipe could lead a "doh!" moment where we've been waiting for a vblank on a pipe that was off for instance. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Thomas Wood <thomas.wood@xxxxxxxxx> [danvet: Polish commit message a bit.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 055e393fa3ade8cb91d8229f1c76ca9a7b23b8b3 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Aug 18 13:49:10 2014 +0100 drm/i915: Use dev_priv as first argument of for_each_pipe() Chris has decided that enough is enough. It's time to fixup dev Vs dev_priv. This is a modest contribution to the crusade. v2: Still use INTEL_INFO(), for the (mythical!) case we want to hardcode the info struct with defines (Chris) Rename the macro argument from 'dev' to 'dev_priv' (Jani) v3: Use names unlikely to be used as macro arguments (Chris) Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0f391f189eae2c479122dc934d8ffdcbe4257cfe Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:25 2014 +0200 ARM: at91: Convert the boards to the init_time callback Now that we have the init_time callback in the at91_init_soc structure, convert all the boards and SoC to this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d2992e51e799099e319aeaaa8648917954f59a3b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 18:05:04 2014 +0200 ARM: at91: soc: Add init_time callback Introduce an init_time callback to the at91_init_soc structure to be able to tweak the init_time machine callback on a per-soc basis, instead of having to rely on a global one. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Conflicts: arch/arm/mach-at91/setup.c commit 64568d1dbd673aca3de8d2a17b9db507c5b85df7 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:23 2014 +0200 ARM: at91: PIT: (Almost) remove the global variables The timer driver is using some global variables to define some variables it has to use in most of its functions, like the base address. Use some container_of calls to have a single dynamic (and local) variable to hold this content. The only exception is in the !DT case, where the call chain to at91sam926x_ioremap_pit and then at91sam926x_pit_init as init_time makes it hard for the moment to pass the physical address of the timer. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7f282e0137bfe712655e9f8da5ade105f6918741 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:22 2014 +0200 ARM: at91: PIT: use request_irq instead of setup_irq We can use the generic request_irq now to register a timer interrupt handler, instead of the more complex setup_irq. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit cffbfe63ec37cdaf8c9ede027759614faadd23cf Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:21 2014 +0200 ARM: at91: PIT: Use pr_fmt All the panic messages hardcode the same prefix. Define the pr_fmt macro to unify its definition. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit a981b29f027ace1b27fb4a96cef6cbfee49dbdd7 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:20 2014 +0200 ARM: at91: PIT: Use consistent exit path in probe The current probe code is, whenever it fails to retrieve a resource, either panicing, silently returning, or returning and displaying an error. Make the code consistent by always panicing whenever it fails to grab any resource. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit bc1aeaeb75f169f870573f6d4e517f925269de4a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 18:02:26 2014 +0200 ARM: at91: dt: Remove init_time definitions The current AT91 DT boards have a completely generic init_time definition. Remove them from the machine declaration. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Conflicts: arch/arm/mach-at91/board-dt-sam9.c arch/arm/mach-at91/board-dt-sama5.c commit f807a89cfe3e7379ec501810d67a5888edbb94f1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:18 2014 +0200 ARM: at91: PIT: Rework probe functions The PIT timer driver until now had a single probe function, disregarding wether it was probed through DT or in the old-style way. This code later on was calling some DT function to retrieve the proper values for its base address, interrupts and clocks. While this was working, it was preventing the usage of CLOCKSOURCE_OF_DECLARE, and the two different probe path were not as clearly separated as they could be. Rework the probe path to take this into account, and switch to CLOCKSOURCE_OF_DECLARE. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 6a9e7363775f699388f173bc4fba9c7c5a8626ae Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Aug 22 15:06:35 2014 +0300 drm/i915: don't check for i830 in vlv specific code Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9075e52face677b87c6bf08d8ea1a960d48d085c Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:43 2014 +0100 drm/i915/bdw: Make sure error capture keeps working with Execlists Since the ringbuffer does not belong per engine anymore, we have to make sure that we are always recording the correct ringbuffer. TODO: This is only a small fix to keep basic error capture working, but we need to add more information for it to be useful (e.g. dump the context being executed). v2: Reorder how the ringbuffer is chosen to clarify the change and rename the variable, both changes suggested by Chris Wilson. Also, add the TODO comment to the code, as suggested by Daniel. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 87a01e822db6e8b6a2898ddc7f116698247c7a4d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 20:05:50 2014 +0100 drm/i915: Suppress a WARN on reading an object back for a GPU hang Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8ae62dc62b340edd0f6a5a2522f284234e82c0ec Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 20:05:49 2014 +0100 drm/i915: Remove num_pages parameter to i915_error_object_create() For cleanliness, i915_error_object_create() was written to handle the NULL pointer in a central location. The macro that wrapped it and passed it a num_pages to use, was not safe. As we now never limit the num_pages to use (we did so at one point to only capture the first page of the context), we can remove the redundant macro and be NULL safe again. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b3c3f5e69e25583703383d674e73d0ce26e731c3 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 20:05:48 2014 +0100 drm/i915: Do not access stolen memory directly by the CPU, even for error capture For stolen pages, since it is verboten to access them directly on many architectures, we have to read them through the GTT aperture. If they are not accessible through the aperture, then we have to abort. This was complicated by commit 8b6124a633d8095b0c8364f585edff9c59568a96 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 30 14:38:16 2014 +0000 drm/i915: Don't access snooped pages through the GTT (even for error capture) and the desire to use stolen memory for ringbuffers, contexts and batches in the future. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e6755fb78e8f20ecadf2a4080084121336624ad9 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Aug 12 17:11:42 2014 +0300 drm/i915: switch off backlight for backlight class 0 brightness Make backlight class sysfs brightness 0 value switch off the backlight for connectors that have the backlight_power callback defined. For eDP, this has the similar caveats regarding power savings as bl_power as only the power sequencer backlight control is switched off. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73580fb764c4213d305c0d36bd8f856ae631eb42 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Aug 12 17:11:41 2014 +0300 drm/i915/dp: make backlight bl_power control power sequencer backlight This lets the userspace switch off the backlight using the backlight class sysfs bl_power file. The switch is done using the power sequencer; the backlight PWM, and everything else, remains enabled. The display backlight won't draw power, but for maximum power savings the encoder needs to be switched off. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Tested_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab656bb9012b9eabc21234caa47af478ea6ceec5 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 13 12:10:12 2014 +0300 drm/i915: add some framework for backlight bl_power support Make backlight class sysfs bl_power a sub-state of backlight enabled, if a backlight power connector callback is defined. It's up to the connector callback to handle the sub-state, typically in a way that respects panel power sequencing. v2: Post the version that does not oops. *facepalm*. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Tested_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1250d107cf9b82217a63520b0b76a947665537c2 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Aug 12 17:11:39 2014 +0300 drm/i915/dp: split up panel power control from backlight pwm control Make it possible to change panel power control backlight state without touching the PWM. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Tested_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9dd3c605a395c27afeadbb95cf73cdb35e99e135 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Aug 1 18:14:48 2014 -0300 drm/i915: fix i915_frequency_info on BDW The GEN6_PM* registers don't exist on BDW anymore, so when we read this file we trigger unclaimed register errors. The equivalent BDW register for PMs is GEN8_GT_I*R(2), so use it. Testcase: igt/pm_rpm/debugfs-read Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 48404c1e53d4e15d7e3e77cd2c8f3f22973ef38e Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 22 14:06:04 2014 +0530 drm/i915: Add 180 degree primary plane rotation support Primary planes support 180 degree rotation. Expose the feature through rotation drm property. v2: Calculating linear/tiled offsets based on pipe source width and height. Added 180 degree rotation support in ironlake_update_plane. v3: Checking if CRTC is active before issueing update_plane. Added wait for vblank to make sure we dont overtake page flips. Disabling FBC since it does not work with rotated planes. v4: Updated rotation checks for pending flips, fbc disable. Creating rotation property only for Gen4 onwards. Property resetting as part of lastclose. v5: Resetting property in i915_driver_lastclose properly for planes and crtcs. Fixed linear offset calculation that was off by 1 w.r.t width in i9xx_update_plane and ironlake_update_plane. Removed tab based indentation and unnecessary braces in intel_crtc_set_property and intel_update_fbc. FBC and flip related checks should be done only for valid crtcs. v6: Minor nits in FBC disable checks for comments in intel_crtc_set_property and positioning the disable code in intel_update_fbc. v7: In case rotation property on inactive crtc is updated, we return successfully printing debug log as crtc is inactive and only property change is preserved. v8: update_plane is changed to update_primary_plane, crtc->fb is changed to crtc->primary->fb and return value of update_primary_plane is ignored. v9: added rotation property to primary plane instead of crtc. Removing reset of rotation property from lastclose. rotation_property is moved to drm_mode_config, so drm layer will take care of resetting. Adding updation of fbc when rotation is set to 0. Allowing rotation only if value is different than old one. v10: Calling intel_primary_plane_setplane instead of update_primary_plane in set_property(Daniel). v11: Using same set_property function for both primary and sprite, Adding primary plane specific code in the same function (Matt). v12: Removing disabling/ enabling of fbc from set_property because it is done from intel_pipe_set_base. Other formatting v13: we need to call disable_fbc before changing the rotation to 180, disable_fbc from intel_pipe_set_base gets called very late, that will be used to re-enable fbc if rotation is set to 0 (Ville). Testcase: igt/kms_rotation_crc Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Signed-off-by: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> [danvet: Add FIXME to explain why we need the open-coded update_fbc hunk to disable fbc when rotated 180 degree. And make checkpatch happier.] Acked-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce54d85aba1e9f7065a3a0269854d31ed00b2490 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Aug 21 11:44:39 2014 +0530 drm/i915: Updating plane parameters for primary plane in setplane This unifies how the primary plane functions work with how the sprite functions works, which allows us to reuse them to update primary plane properties. v2: Moving setting of plane members in the end to take care of failure cases and not-visible cases (Matt). Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Matt Roper <matthew.d.roper@xxxxxxxxx> [danvet: Add a real commit message.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6689c167ae14c312972e89be1121e933e4de0001 Author: McAulay, Alistair <alistair.mcaulay@xxxxxxxxx> Date: Fri Aug 15 18:51:35 2014 +0100 drm/i915: Rework GPU reset sequence to match driver load & thaw This patch is to address Daniels concerns over different code during reset: http://lists.freedesktop.org/archives/intel-gfx/2014-June/047758.html "The reason for aiming as hard as possible to use the exact same code for driver load, gpu reset and runtime pm/system resume is that we've simply seen too many bugs due to slight variations and unintended omissions." Tested using igt drv_hangman. V2: Cleaner way of preventing check_wedge returning -EAGAIN V3: Clean the last_context during reset, to ensure do_switch() does the MI_SET_CONTEXT. As per review. Signed-off-by: McAulay, Alistair <alistair.mcaulay@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> [danvet: Rebase over ctx->ppgtt rework and extend the comment in check_wedge a bit.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5e352519519623a0b62587c606280e534d0cf1d9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 2 13:18:37 2014 +0200 KVM: nSVM: propagate the NPF EXITINFO to the guest This is similar to what the EPT code does with the exit qualification. This allows the guest to see a valid value for bits 33:32. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a0c0feb57992c5caed170feab8a68c51306eb7c3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 2 13:24:12 2014 +0200 KVM: x86: reserve bit 8 of non-leaf PDPEs and PML4Es in 64-bit mode on AMD Bit 8 would be the "global" bit, which does not quite make sense for non-leaf page table entries. Intel ignores it; AMD ignores it in PDEs, but reserves it in PDPEs and PML4Es. The SVM test is relying on this behavior, so enforce it. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d143148383d0395539073dd6c2f25ddf6656bdcc Author: Tiejun Chen <tiejun.chen@xxxxxxxxx> Date: Mon Sep 1 18:44:04 2014 +0800 KVM: mmio: cleanup kvm_set_mmio_spte_mask Just reuse rsvd_bits() inside kvm_set_mmio_spte_mask() for slightly better code. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 56f17dd3fbc44adcdbc3340fe3988ddb833a47a7 Author: David Matlack <dmatlack@xxxxxxxxxx> Date: Mon Aug 18 15:46:07 2014 -0700 kvm: x86: fix stale mmio cache bug The following events can lead to an incorrect KVM_EXIT_MMIO bubbling up to userspace: (1) Guest accesses gpa X without a memory slot. The gfn is cached in struct kvm_vcpu_arch (mmio_gfn). On Intel EPT-enabled hosts, KVM sets the SPTE write-execute-noread so that future accesses cause EPT_MISCONFIGs. (2) Host userspace creates a memory slot via KVM_SET_USER_MEMORY_REGION covering the page just accessed. (3) Guest attempts to read or write to gpa X again. On Intel, this generates an EPT_MISCONFIG. The memory slot generation number that was incremented in (2) would normally take care of this but we fast path mmio faults through quickly_check_mmio_pf(), which only checks the per-vcpu mmio cache. Since we hit the cache, KVM passes a KVM_EXIT_MMIO up to userspace. This patch fixes the issue by using the memslot generation number to validate the mmio cache. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: David Matlack <dmatlack@xxxxxxxxxx> [xiaoguangrong: adjust the code to make it simpler for stable-tree fix.] Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Tested-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ee3d1570b58677885b4552bce8217fda7b226a68 Author: David Matlack <dmatlack@xxxxxxxxxx> Date: Mon Aug 18 15:46:06 2014 -0700 kvm: fix potentially corrupt mmio cache vcpu exits and memslot mutations can run concurrently as long as the vcpu does not aquire the slots mutex. Thus it is theoretically possible for memslots to change underneath a vcpu that is handling an exit. If we increment the memslot generation number again after synchronize_srcu_expedited(), vcpus can safely cache memslot generation without maintaining a single rcu_dereference through an entire vm exit. And much of the x86/kvm code does not maintain a single rcu_dereference of the current memslots during each exit. We can prevent the following case: vcpu (CPU 0) | thread (CPU 1) --------------------------------------------+-------------------------- 1 vm exit | 2 srcu_read_unlock(&kvm->srcu) | 3 decide to cache something based on | old memslots | 4 | change memslots | (increments generation) 5 | synchronize_srcu(&kvm->srcu); 6 retrieve generation # from new memslots | 7 tag cache with new memslot generation | 8 srcu_read_unlock(&kvm->srcu) | ... | <action based on cache occurs even | though the caching decision was based | on the old memslots> | ... | <action *continues* to occur until next | memslot generation change, which may | be never> | | By incrementing the generation after synchronizing with kvm->srcu readers, we ensure that the generation retrieved in (6) will become invalid soon after (8). Keeping the existing increment is not strictly necessary, but we do keep it and just move it for consistency from update_memslots to install_new_memslots. It invalidates old cached MMIOs immediately, instead of having to wait for the end of synchronize_srcu_expedited, which makes the code more clearly correct in case CPU 1 is preempted right after synchronize_srcu() returns. To avoid halving the generation space in SPTEs, always presume that the low bit of the generation is zero when reconstructing a generation number out of an SPTE. This effectively disables MMIO caching in SPTEs during the call to synchronize_srcu_expedited. Using the low bit this way is somewhat like a seqcount---where the protected thing is a cache, and instead of retrying we can simply punt if we observe the low bit to be 1. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: David Matlack <dmatlack@xxxxxxxxxx> Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 00f034a12fdd81210d58116326d92780aac5c238 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Aug 20 14:29:21 2014 +0200 KVM: do not bias the generation number in kvm_current_mmio_generation The next patch will give a meaning (a la seqcount) to the low bit of the generation number. Ensure that it matches between kvm->memslots->generation and kvm_current_mmio_generation(). Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 47c1296829505d119d7d58dd23d39cc5db344f12 Author: Andreas Pokorny <andreas.pokorny@xxxxxxxxxxxxx> Date: Fri Aug 8 10:40:56 2014 +0200 drm/qxl: enables gem prime helpers for qxl using dummy driver callbacks As there should not be any other virtual device that might share buffers, the callbacks remain empty stubs. Still prime can be used to transfer buffers between processes that use qxl. Signed-off-by: Andreas Pokorny <andreas.pokorny@xxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 0279661b640317c31f288d66537d5805d4f18d05 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:11 2014 +0800 ALSA: hda/realtek - move HP_GPIO_MIC1_LED quirk for alc280 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 200afc097c79e906ea8f420d649b3906b27647e4 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:10 2014 +0800 ALSA: hda/realtek - move HP_LINE1_MIC1_LED quirk for alc282 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 058e9f5c8236ad740ab984588b507758e5feee6d Author: Andreas Pokorny <andreas.pokorny@xxxxxxxxxxxxx> Date: Fri Aug 8 10:40:55 2014 +0200 drm/qxl: simple crtc page flipping emulated using buffer copy Signed-off-by: Andreas Pokorny <andreas.pokorny@xxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e4442bcf1aa166a2b132ea9fde47036744a7f8a3 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:09 2014 +0800 ALSA: hda/realtek - move HP_MUTE_LED_MIC1 quirk for alc290 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2c609999759c6964d99a614e8259fa700b5b337c Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:08 2014 +0800 ALSA: hda/realtek - move HP_MUTE_LED_MIC1 quirk for alc282 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c77900e63abd9e2bdf385ba846a22858a0ed50a7 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:07 2014 +0800 ALSA: hda/realtek - move DELL2_MIC_NO_PRESENCE quirk for alc255 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 29a4f69973eede670f8c0735a064ea4a8cd90ac5 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:06 2014 +0800 ALSA: hda/realtek - move DELL1_MIC_NO_PRESENCE quirk for alc255 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bc262179a9196cb4eba266254f851253be0d3533 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:05 2014 +0800 ALSA: hda/realtek - move DELL1_MIC_NO_PRESENCE quirk for alc283 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e8818fa8c07d57242552c89d0b469892978b20fe Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:04 2014 +0800 ALSA: hda/realtek - move DELL2_MIC_NO_PRESENCE quirk for alc292 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c3ce6dfa48e3879206382cdfdc015bffc50dce30 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 2 13:52:15 2014 +0100 KEYS: Set pr_fmt() in asymmetric key signature handling Printing in base signature handling should have a prefix, so set pr_fmt(). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 6ba59f3b5c977af2df3f9446f030f71e29d77dc1 Merge: a18b29f 809e944 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 3 10:12:24 2014 +1000 Merge branch 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux into drm-next Merge the move to generic fences for TTM using drivers. * 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux: drm/nouveau: use shared fences for readable objects drm/nouveau: Keep only a single list for validation. drm/ttm: use rcu in core ttm drm/vmwgfx: use rcu in vmw_user_dmabuf_synccpu_grab drm/radeon: use rcu waits in some ioctls drm/nouveau: use rcu in nouveau_gem_ioctl_cpu_prep drm/ttm: flip the switch, and convert to dma_fence drm/qxl: rework to new fence interface drm/nouveau: rework to new fence interface drm/vmwgfx: rework to new fence interface, v2 drm/vmwgfx: get rid of different types of fence_flags entirely drm/radeon: use common fence implementation for fences, v4 drm/ttm: kill off some members to ttm_validate_buffer drm/ttm: add interruptible parameter to ttm_eu_reserve_buffers drm/ttm: kill fence_lock drm/ttm: call ttm_bo_wait while inside a reservation drm/nouveau: require reservations for nouveau_fence_sync and nouveau_bo_fence drm/nouveau: add reservation to nouveau_gem_ioctl_cpu_prep commit b14a3d1784a9252aa3bbe0bb9d14588be32f18a1 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Wed Jul 23 14:54:51 2014 -0400 PCI: designware: Add support for v3.65 hardware The Keystone PCI controller is based on v3.65 DesignWare hardware. This version differs from newer versions of the hardware in functional areas discussed below that make it necessary to change dw_pcie_host_init() to support v3.65 based PCI controller. 1. No support for ATU port. Any ATU-specific resource handling code is to be bypassed for v3.65 h/w. 2. MSI controller uses application space to implement MSI and 32 MSI interrupts are multiplexed over 8 IRQs to the host. Hence the code to process MSI IRQ needs to be different. This patch allows platform driver to provide its own irq_domain_ops ptr to irq_domain_add_linear() through an API callback from the DesignWare core driver. 3. MSI interrupt generation requires EP to write to the RC's application register. So enhance the driver to allow setup of inbound access to MSI IRQ register as a post scan bus API callback. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxx> Acked-by: Mohit KUMAR <mohit.kumar@xxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> CC: Santosh Shilimkar <santosh.shilimkar@xxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Jingoo Han <jg1.han@xxxxxxxxxxx> CC: Richard Zhu <r65037@xxxxxxxxxxxxx> CC: Kishon Vijay Abraham I <kishon@xxxxxx> CC: Marek Vasut <marex@xxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> commit 48c1947c53163afaadb3f140f46f5d968d405f5c Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Sep 2 08:27:40 2014 +0800 ACPICA: Update version to 20140828. Version 20140828. Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4cc0909ef226efa716ea0d1a8fba0e972eff00c9 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Sep 2 08:27:27 2014 +0800 ACPICA: Disassembler: Fix for gpio_int interrupt polarity flags. The field is actually 2 bits, not 1. Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 34ea065e5e607dcbb249046c42a491f8b24ad849 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Sep 2 08:27:19 2014 +0800 ACPICA: Headers: Add GTDT flag definitions for the timer subtable. Mostly by Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 63b8f8cd67fd8edfe1c30763e519e00b037891b5 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Sep 2 08:27:12 2014 +0800 ACPICA: ACPI 5.1/Disassembler: Add GICC affinity subtable to SRAT table. Update template for SRAT. Add clock_domain to standard CPU affinity subtable. Mostly by Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 36d32314ae773283413a91259eab8f546e7f485b Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Sep 2 08:27:05 2014 +0800 ACPICA: Add _PSx names to the METHOD_NAME list. Will be used by iASL. Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 385321e2c65a5c4812ef64f46c248c9b8ef66b90 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 21 03:18:24 2014 +0200 PCI/PM: Allow PCI devices to be put into D3cold during system suspend Commit 448bd857d48e ("PCI/PM: add PCIe runtime D3cold support") added a check to prevent PCI devices from being put into D3cold during system suspend without giving any particular reason. Also the check isn't really necessary, because acpi_pci_set_power_state() maps PCI_D3hot to ACPI_STATE_D3_COLD anyway. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3f56bf3e939f0344febf92c41fbc0c26a21593c4 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Sep 2 10:55:10 2014 +0300 ACPI / LPSS: remove struct lpss_shared_clock Nothing requires it anymore. The PWM driver no longer uses clk framework to get the rate. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 03f09f73bbd805f918fdc76888a1a83cdc28f28b Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Sep 2 10:55:09 2014 +0300 ACPI / LPSS: support for 133MHz I2C source clock on Baytrail The I2C controllers on Baytrail can get the clock from 100MHz or 133MHz source clock. The first bits in the private clock parameter register indicates which one is being used. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b0d00f8bd526dab6878913dfd5690eee5d4be10e Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Sep 2 10:55:08 2014 +0300 ACPI / LPSS: drop clkdev_name member from lpss_device_desc It was used to provide the correct con_id for the dma driver, but it's not needed. Even if the driver requests a clock with the con_id, it still gets the correct clock. The device name is enough to match a single clock. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ff8c1af5e7ebfdf2da5d2063ee34e16a8d05643c Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Sep 2 10:55:07 2014 +0300 ACPI / LPSS: introduce flags Replace the booleans with a single flags member variable. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fe9a743a2601c846279e8dbbb382d5a9b6b900ff Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 21 02:02:23 2014 +0200 PCI/PM: Drop unused runtime PM support code for PCIe ports Since commit de7d5f729c72 ("PCI/PM: Disable runtime PM of PCIe ports") the runtime PM support code for PCIe ports in portdrv_pci.c has never been used, so drop it entirely. If we are to support runtime PM of PCIe ports, it will have to be done in a different way most likely anyway. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 16eeaec77922c1349e130a9541e83a023deaf11f Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:50:18 2014 +0200 clk: at91: fix div by zero in USB clock driver Test rate value before calculating the div value to avoid div by zero. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Tested-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 13a6073d4c5db3103011eebe8c68b049323ced20 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:50:17 2014 +0200 clk: at91: rework rm9200 USB clock to propagate set_rate to the parent clk The RM9200 USB clock is actually connected to a single parent (the PLLB) on which we can apply a specific divider. The USB clock divider does not allow for fine grained control on the USB clock frequency, hence propagating the set_rate request to the parent is the only choice we have to properly configure the USB clock rate. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Tested-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 87e2ed338f1b56798807ccf12eb6112d25062202 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:50:16 2014 +0200 clk: at91: fix recalc_rate implementation of PLL driver Use the cached values to calculate PLL rate instead of the register values. This is required to prevent erroneous PLL rate return when the PLL rate has been configured but the PLL is not prepared yet. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Tested-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 3ef9dd2bab7d6a013f75f9fb226d0191e9981288 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:50:15 2014 +0200 clk: at91: rework PLL rate calculation The AT91 PLL rate configuration is done by configuring a multiplier/divider pair. The previous calculation was over-complicated (and apparently buggy). Simplify the implementation and add some comments to explain what is done here. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Tested-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 078a3eb519dacf28cb7c9bb2ad2f62e19ca6dcc2 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:50:14 2014 +0200 clk: at91: fix PLL_MAX_COUNT macro definition Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Tested-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit a18b29f0c6bd17703b5eb88c3b2184a26d173135 Merge: 04cd214 604effb Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 3 08:30:48 2014 +1000 Merge tag 'drm-intel-next-2014-09-01' of git://anongit.freedesktop.org/drm-intel into drm-next drm-intel-next-2014-08-22: - basic code for execlist, which is the fancy new cmd submission on gen8. Still disabled by default (Ben, Oscar Mateo, Thomas Daniel et al) - remove the useless usage of console_lock for I915_FBDEV=n (Chris) - clean up relations between ctx and ppgtt - clean up ppgtt lifetime handling (Michel Thierry) - various cursor code improvements from Ville - execbuffer code cleanups and secure batch fixes (Chris) - prep work for dev -> dev_priv transition (Chris) - some of the prep patches for the seqno -> request object transition (Chris) - various small improvements all over * tag 'drm-intel-next-2014-09-01' of git://anongit.freedesktop.org/drm-intel: (86 commits) drm/i915: fix suspend/resume for GENs w/o runtime PM support drm/i915: Update DRIVER_DATE to 20140822 drm: fix plane rotation when restoring fbdev configuration drm/i915/bdw: Disable execlists by default drm/i915/bdw: Enable Logical Ring Contexts (hence, Execlists) drm/i915/bdw: Document Logical Rings, LR contexts and Execlists drm/i915/bdw: Print context state in debugfs drm/i915/bdw: Display context backing obj & ringbuffer info in debugfs drm/i915/bdw: Display execlists info in debugfs drm/i915/bdw: Disable semaphores for Execlists drm/i915/bdw: Make sure gpu reset still works with Execlists drm/i915/bdw: Don't write PDP in the legacy way when using LRCs drm/i915: Track cursor changes as frontbuffer tracking flushes drm/i915/bdw: Help out the ctx switch interrupt handler drm/i915/bdw: Avoid non-lite-restore preemptions drm/i915/bdw: Handle context switch events drm/i915/bdw: Two-stage execlist submit process drm/i915/bdw: Write the tail pointer, LRC style drm/i915/bdw: Implement context switching (somewhat) drm/i915/bdw: Emission of requests with logical rings ... Conflicts: drivers/gpu/drm/i915/i915_drv.c commit fe94f974e9c8b820640a5873d81589ab67380516 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 14 23:00:26 2014 +0200 clk: rockchip: protect critical clocks from getting disabled The clock-tree contains clocks that should never get disabled automatically. One example are the base ACLKs, the base supplies for all peripherals. Therefore add a structure similar to the sunxi clock-tree to protect these special clocks from being disabled. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 1a4b1819950a278e44dd2e28c5cdb7d8b804dd73 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Aug 27 00:54:56 2014 +0200 clk: rockchip: make rockchip_clk_register_branch static It is only used locally in clk/rockchip/clk.c and thus can be static. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit b2155a71a7ff828eac72367ff9c2a0a2f4fec35b Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Aug 27 00:54:21 2014 +0200 clk: rockchip: implement the fraction divider branch type Rockchip SoCs may provide fraction dividers for some clocks, mostly for i2s and uarts. In contrast to the other registers, these do not use the hiword-mask paradigm, but instead split the register into the upper 16 bit for the nominator and the lower 16 bit for the denominator. The common clock framework got a generic fractional divider clock type recently that can accomodate this setting easily. All currently known fraction dividers have a separate gate too, therefore implement the divider as composite using the ops-struct from fractional_divider clock and add the gate if necessary. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 4abe240878db394b399a12a63f01324bcd65c547 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Aug 6 10:24:00 2014 +0900 clk: shmobile: add missing 0x0100 for SDCKCR 10cdfe9f327ab8d120cf6957e58c6203e3a53847 (clk: shmobile: Add R-Car Gen2 clocks support) added R-Car Gen2 clock support via DT for v3.14. But, cpg_sd01_div_table is missing "0x0100: x 1/8" division ratio. This patch fixes hidden bug. It is based on R-Car H2 v0.7, R-Car M2 v0.9. Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Reported-by: Yusuke Goda <yusuke.goda.sx@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 7466103cc0f3e0ae5b01949b3806d4aa1d322de8 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 29 20:15:10 2014 +0200 ARM: shmobile: r8a7794: document CPG clock support Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 5acb7bbbab7cec0ee68295e3ade929c880ad461e Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 29 20:15:08 2014 +0200 ARM: shmobile: r8a7794: document MSTP clock support Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 105299381d8720a3afd4252689ae8551f49944be Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Mon Aug 18 17:30:29 2014 +0200 cpufreq: kirkwood: use the powersave multiplexer The powersave clock acts like a multiplexer for the cpu, selecting either the clock signal derived from the cpu pll or from the ddr clock. This patch changes powersave from a gate clock to a mux clock to better reflect this behavior. This is a cleaner approach whereby the frequency of the cpu always matches the rate of powersave_clk. The cpufreq driver for the kirkwood platform no longer must parse this behavior out of various calls to clk_enable and clk_disable, but can instead simply select the parent cpu it wants when changing rate. Likewise when requesting the cpu rate we need only query powersave_clk's rate through the usual call to clk_get_rate. The new clock data and corresponding changes to the cpufreq driver are combined into this single commit to avoid a git bisect issue where this cpufreq driver fails to work properly between the commit that updates the kirkwood clock driver and the commit that changes how the cpufreq driver uses that clock. Cc: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 66f09ca717e7905e0eebe000b86e27d0274b95ac Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 2 13:58:58 2014 -0400 nfs: do not start the callback thread until we set rqstp->rq_task This fixes an Oopsable race when starting up the callback server. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6f46b3aef0031c08a7b439d63013dad2aeb093b2 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:33 2014 +0200 x86: copy_thread: Don't nullify ->ptrace_bps twice Both 32bit and 64bit versions of copy_thread() do memset(ptrace_bps) twice for no reason, kill the 2nd memset(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175733.GA21676@xxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit dc56c0f9b870fba7a4eef2bb463db6881284152b Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:30 2014 +0200 x86, fpu: Shift "fpu_counter = 0" from copy_thread() to arch_dup_task_struct() Cosmetic, but I think thread.fpu_counter should be initialized in arch_dup_task_struct() too, along with other "fpu" variables. And probably it make sense to turn it into thread.fpu->counter. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175730.GA21669@xxxxxxxxxx Reviewed-by: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 5e23fee23ea10730c752edce1777e6b7e727290f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:27 2014 +0200 x86, fpu: copy_process: Sanitize fpu->last_cpu initialization Cosmetic, but imho memset(&dst->thread.fpu, 0) is not good simply because it hides the (important) usage of ->has_fpu/etc from grep. Change this code to initialize the members explicitly. And note that ->last_cpu = 0 looks simply wrong, this can confuse fpu_lazy_restore() if per_cpu(fpu_owner_task, 0) has already exited and copy_process() re-allocated the same task_struct. Fortunately this is not actually possible because child->fpu_counter == 0 and thus fpu_lazy_restore() will not be called, but still this is not clean/robust. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175727.GA21666@xxxxxxxxxx Reviewed-by: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit f1853505d9ca1c3ea27c29cf83c24661531c527b Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:23 2014 +0200 x86, fpu: copy_process: Avoid fpu_alloc/copy if !used_math() arch_dup_task_struct() copies thread.fpu if fpu_allocated(), this looks suboptimal and misleading. Say, a forking process could use FPU only once in a signal handler but now tsk_used_math(src) == F, in this case the child gets a copy of fpu->state for no reason. The child won't use the saved registers anyway even if it starts to use FPU, this can only avoid fpu_alloc() in do_device_not_available(). Change this code to check tsk_used_math(current) instead. We still need to clear fpu->has_fpu/state, we could do this memset(0) under fpu_allocated() check but I think this doesn't make sense. See also the next change. use_eager_fpu() assumes that fpu_allocated() is always true, but a forking task (and thus its child) must always have PF_USED_MATH set, otherwise the child can either use FPU without used_math() (note that switch_fpu_prepare() doesn't do stts() in this case), or it will be killed by do_device_not_available()->BUG_ON(use_eager_fpu). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175723.GA21659@xxxxxxxxxx Reviewed-by: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 31d963389f67165402aa447a8e8ce5ffb9188b3d Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:20 2014 +0200 x86, fpu: Change __thread_fpu_begin() to use use_eager_fpu() __thread_fpu_begin() checks X86_FEATURE_EAGER_FPU by hand, we have a helper for that. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175720.GA21656@xxxxxxxxxx Reviewed-by: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit df24fb859a4e200d9324e2974229fbb7adf00aef Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:17 2014 +0200 x86, fpu: __restore_xstate_sig()->math_state_restore() needs preempt_disable() Add preempt_disable() + preempt_enable() around math_state_restore() in __restore_xstate_sig(). Otherwise __switch_to() after __thread_fpu_begin() can overwrite fpu->state we are going to restore. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175717.GA21649@xxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # v3.7+ Reviewed-by: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 66463db4fc5605d51c7bb81d009d5bf30a783a2c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:13 2014 +0200 x86, fpu: shift drop_init_fpu() from save_xstate_sig() to handle_signal() save_xstate_sig()->drop_init_fpu() doesn't look right. setup_rt_frame() can fail after that, in this case the next setup_rt_frame() triggered by SIGSEGV won't save fpu simply because the old state was lost. This obviously mean that fpu won't be restored after sys_rt_sigreturn() from SIGSEGV handler. Shift drop_init_fpu() into !failed branch in handle_signal(). Test-case (needs -O2): #include <stdio.h> #include <signal.h> #include <unistd.h> #include <sys/syscall.h> #include <sys/mman.h> #include <pthread.h> #include <assert.h> volatile double D; void test(double d) { int pid = getpid(); for (D = d; D == d; ) { /* sys_tkill(pid, SIGHUP); asm to avoid save/reload * fp regs around "C" call */ asm ("" : : "a"(200), "D"(pid), "S"(1)); asm ("syscall" : : : "ax"); } printf("ERR!!\n"); } void sigh(int sig) { } char altstack[4096 * 10] __attribute__((aligned(4096))); void *tfunc(void *arg) { for (;;) { mprotect(altstack, sizeof(altstack), PROT_READ); mprotect(altstack, sizeof(altstack), PROT_READ|PROT_WRITE); } } int main(void) { stack_t st = { .ss_sp = altstack, .ss_size = sizeof(altstack), .ss_flags = SS_ONSTACK, }; struct sigaction sa = { .sa_handler = sigh, }; pthread_t pt; sigaction(SIGSEGV, &sa, NULL); sigaltstack(&st, NULL); sa.sa_flags = SA_ONSTACK; sigaction(SIGHUP, &sa, NULL); pthread_create(&pt, NULL, tfunc, NULL); test(123.456); return 0; } Reported-by: Bean Anderson <bean@xxxxxxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175713.GA21646@xxxxxxxxxx Cc: <stable@xxxxxxxxxx> # v3.7+ Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit d4e89902990e3fae1b8d2ca501d2fa5f0657c053 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 2 13:58:57 2014 -0400 lockd: Do not start the lockd thread before we've set nlmsvc_rqst->rq_task This fixes an Oopsable race when starting lockd. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 10770bc2d1702e05575db0072e1ebbc06d0b270e Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Tue Sep 2 16:35:33 2014 +0200 qdisc: adjustments for API allowing skb list xmits Minor adjustments for merge commit 53fda7f7f9e (Merge branch 'xmit_list') that allows us to work with a list of SKBs. Update code doc to function sch_direct_xmit(). In handle_dev_cpu_collision() use kfree_skb_list() in error handling. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7d021e28328e0cc47b21cb9c6d8885326b0c2f5 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Aug 15 14:09:19 2014 +0300 evm: fix checkpatch warnings This patch fixes checkpatch 'return' warnings introduced with commit 9819cf2 "checkpatch: warn on unnecessary void function return statements". Use scripts/checkpatch.pl --file security/integrity/evm/evm_main.c to produce the warnings. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 27cd1fc3ae5374a4a86662c67033f15ef27b2461 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Jun 23 20:32:56 2014 +0300 ima: fix fallback to use new_sync_read() 3.16 commit aad4f8bb42af06371aa0e85bf0cd9d52c0494985 'switch simple generic_file_aio_read() users to ->read_iter()' replaced ->aio_read with ->read_iter in most of the file systems and introduced new_sync_read() as a replacement for do_sync_read(). Most of file systems set '->read' and ima_kernel_read is not affected. When ->read is not set, this patch adopts fallback call changes from the vfs_read. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 3.16+ commit 23c19e2ca736722a9523b64b07cda7efab7b6c57 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Aug 15 13:28:52 2014 +0300 ima: prevent buffer overflow in ima_alloc_tfm() This patch fixes the case where the file's signature/hash xattr contains an invalid hash algorithm. Although we can not verify the xattr, we still need to measure the file. Use the default IMA hash algorithm. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 9a8d289fbcb7dfd1fc74959e9930b406e76b2002 Author: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 28 07:59:49 2014 -0400 ima: fix ima_alloc_atfm() The patch 3bcced39ea7d: "ima: use ahash API for file hash calculation" from Feb 26, 2014, leads to the following static checker warning: security/integrity/ima/ima_crypto.c:204 ima_alloc_atfm()         error: buffer overflow 'hash_algo_name' 17 <= 17 Unlike shash tfm memory, which is allocated on initialization, the ahash tfm memory allocation is deferred until needed. This patch fixes the case where ima_ahash_tfm has not yet been allocated and the file's signature/hash xattr contains an invalid hash algorithm. Although we can not verify the xattr, we still need to measure the file. Use the default IMA hash algorithm. Changelog: - set valid algo before testing tfm - based on Dmitry's comment Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> commit 6c1c423a54b5b3a6c9c9561c7ef32aee0fda7253 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 2 18:01:05 2014 -0300 [media] vivid: comment the unused g_edid/s_edid functions Those non-static functions aren't used anywhere yet. Comment them while they're unused. Solves the following warnings: drivers/media/platform/vivid/vivid-vid-out.c:1120:5: warning: no previous prototype for 'vivid_vid_out_g_edid' [-Wmissing-prototypes] int vivid_vid_out_g_edid(struct file *file, void *_fh, ^ drivers/media/platform/vivid/vivid-vid-out.c:1152:5: warning: no previous prototype for 'vivid_vid_out_s_edid' [-Wmissing-prototypes] int vivid_vid_out_s_edid(struct file *file, void *_fh, ^ Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 20504fa92d072d427d1eaaa47f71f9fb60d6c43a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 2 17:58:59 2014 -0300 [media] vivid: Don't declare .vidioc_overlay twice Removes the following warnings: drivers/media/platform/vivid/vivid-core.c:581:2: warning: initialized field overwritten [-Woverride-init] .vidioc_overlay = vidioc_overlay, ^ drivers/media/platform/vivid/vivid-core.c:581:2: warning: (near initialization for 'vivid_ioctl_ops.vidioc_overlay') [-Woverride-init] Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 96ec7d2a6632d0757e2b83bd75c5784d4cc4a456 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 2 17:57:34 2014 -0300 [media] vivid: add some missing headers That remove a few warnings: drivers/media/platform/vivid/vivid-kthread-out.c:226:5: warning: no previous prototype for 'vivid_start_generating_vid_out' [-Wmissing-prototypes] int vivid_start_generating_vid_out(struct vivid_dev *dev, bool *pstreaming) ^ drivers/media/platform/vivid/vivid-kthread-out.c:260:6: warning: no previous prototype for 'vivid_stop_generating_vid_out' [-Wmissing-prototypes] void vivid_stop_generating_vid_out(struct vivid_dev *dev, bool *pstreaming) ^ drivers/media/platform/vivid/vivid-kthread-cap.c:806:5: warning: no previous prototype for 'vivid_start_generating_vid_cap' [-Wmissing-prototypes] int vivid_start_generating_vid_cap(struct vivid_dev *dev, bool *pstreaming) ^ drivers/media/platform/vivid/vivid-kthread-cap.c:841:6: warning: no previous prototype for 'vivid_stop_generating_vid_cap' [-Wmissing-prototypes] void vivid_stop_generating_vid_cap(struct vivid_dev *dev, bool *pstreaming) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 077af28c639be01d50e607754a84a3fada09ae9c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:49:53 2014 -0300 [media] vivi: remove driver, it's replaced by vivid The vivid driver is a vastly superior test driver, so just drop the old vivi driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e75420dd25bc9d7b6f4e3b4c4f6c778b610c8cda Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:06:34 2014 -0300 [media] vivid: enable the vivid driver Update the Kconfig and Makefile files so this driver can be compiled. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1fc78bc9d4cd9714b995f61ef414645c0d54a0bb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 2 17:52:07 2014 -0300 [media] vivid: Don't mess with namespace adding a "get_format" function This fixes a compilation error with allyesconfig: drivers/media/platform/exynos-gsc/built-in.o: In function `get_format': (.text+0x12f5): multiple definition of `get_format' drivers/media/platform/vivid/built-in.o:(.text+0x4bf4): first defined here Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4a31498869a944e6c4b2aaab71b8b95482d1da53 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 10:48:11 2014 +0900 ethernet: arc: remove unused dev Remove unused 'dev' variable from arc_emac_remove(), since it's not being used any more. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6de8653f410c5413a557eb48e2492a93f7af664b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:03:32 2014 -0300 [media] vivid: add support for software defined radio This adds support for an SDR capture device. It generates simple sine/cosine waves. The code for that has been contributed by Antti. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d46781bc8803b11d4f9540663ce6369fa0d28c58 Author: David Wood <devel@xxxxxxxxx> Date: Mon Sep 1 15:31:55 2014 -0700 ethernet: nvidia: Remove extra parens Remove unnecessary double parenthesis around if statement. Signed-off-by: David Wood <devel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55d58e989856aa7506001c4ecfc7920f5232bbd1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:02:56 2014 -0300 [media] vivid: add support for radio receivers and transmitters This adds radio receiver and transmitter support. Part of that is common to both and so is placed in the radio-common source. These drivers also support RDS. In order to generate valid RDS data a simple RDS generator is implemented in rds-gen. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 63881df94d3ecbb0deafa0b77da62ff2f32961c4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:02:14 2014 -0300 [media] vivid: add the Test Pattern Generator The test patterns for video capture are generated by this code. All patterns are precalculated taking into account colorspace information, pixel and video aspect ratios and scaling information. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ad4e02d5081d9da38b5b91886e5fa71f0505d607 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:01:49 2014 -0300 [media] vivid: add a simple framebuffer device for overlay testing In order to test capture and output overlays a simple framebuffer device is created. It's bare bone, but it does the job. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3f682ffcf957b556a7868decd5593d765ed3455d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:00:20 2014 -0300 [media] vivid: add the kthread code that controls the video rate Add the kthread handlers for video/vbi capture and video/vbi output. These carefully control the rate at which frames are generated (video capture) and accepted (video output). While the short-term jitter is around the order of a jiffie, in the long term the rate matches the configured framerate exactly. The capture thread handler also takes care of the video looping and of capture and overlay support. This is probably the most complex part of this driver due to the many combinations of crop, compose and scaling on the input and output, and the blending that has to be done if overlay support is enabled as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ac42f481b75b98076b47fac60796657508f80abe Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 14 23:01:50 2014 +0200 ARM: dts: rockchip: add rk3066 and rk3188 dma controllers Add both the cpu and peripheral pl330 dma controllers present in rk3188 socs. The first dma controller can change between secure and non-secure mode. Both instances are added but the non-secure variant is left disabled by default, as on the majority of boards the bootloader leaves it in secure mode. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 982891c3859f310935226c58ad84f3fb88a79e54 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 14 23:01:25 2014 +0200 ARM: dts: rockchip: add rk3288 dma controllers Add both the bus and peripheral pl330 dma controllers present in rk3288 socs. The first dma controller can change between secure and non-secure mode. Both instances are added but the non-secure variant is left disabled by default, as on the majority of boards the bootloader leaves it in secure mode. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Tested-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> commit 34f137b1c2b864d495620e24dfc3ec75c9ca34df Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 14 23:00:56 2014 +0200 ARM: rockchip: enable the AMBA bus This is needed to access the pl330 dma controllers on Rockchip SoCs. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> commit 7bb70caa3bd59454285738b31f7b47e89fe62c1e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 07:56:49 2014 -0300 [media] vivid: add VBI capture and output code This adds support for VBI capture (raw and sliced) and VBI output (raw and sliced) to the vivid driver. In addition a VBI generator is added that generates simple VBI data in either sliced or raw format. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ef834f7836ec0502f49f20bbc42f1240577a9c83 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 07:56:18 2014 -0300 [media] vivid: add the video capture and output parts This adds the ioctl and vb2 queue support for video capture and output. Part of this is common to both, so that is placed in a vid-common source. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 73c3f48230cda01402ae189b05d56f1f7e0d53c9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 07:55:23 2014 -0300 [media] vivid: add the control handling code The vivid-ctrls code sets up and processes the various V4L2 controls that are needed by this driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c88a96b023d8239b2019f93dac42c02e6fd0dff0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 07:54:46 2014 -0300 [media] vivid: add core driver code This is the core driver code that creates all the driver instances and all the configured devices. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 29fea209f8333e2351710c14c19bf5358da63e39 Merge: 219c536 ba99890 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 2 12:58:36 2014 -0700 Merge branch 'netdev_modified' Nicolas Dichtel says: ==================== rtnl: send notification in do_setlink() This series ensures to call the notifier chain and to send a netlink message when a change is done by do_setlink(). The three first patches mainly prepare the last one, which do this change. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba9989069f4e426b1e0ed7018eacc9e1ba607095 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Sep 1 16:07:29 2014 +0200 rtnl/do_setlink(): notify when a netdev is modified Depending on which parameters were updated, the changes were not propagated via the notifier chain and netlink. The new flag has been set only when the change did not cause a call to the notifier chain and/or to the netlink notification functions. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90c325e3bfe14ef360de6650fa2a2e92685e5cee Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Sep 1 16:07:28 2014 +0200 rtnl/do_setlink(): last arg is now a set of flags There is no functional changes with this commit, it only prepares the next one. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1889b0e7efe8373793069bd3deb7702a51e6f2a5 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Sep 1 16:07:27 2014 +0200 rtnl/do_setlink(): set modified when IFLA_LINKMODE is updated The only effect of this patch is to print a warning if IFLA_LINKMODE is updated and a following change fails. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d1180fcacc5ceb7da5494acfe9c5e4ebad4f281 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Sep 1 16:07:26 2014 +0200 rtnl/do_setlink(): set modified when IFLA_TXQLEN is updated The only effect of this patch is to print a warning if IFLA_TXQLEN is updated and a following change fails. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 219c5361e625186c21f3e1bc7bc67cd7dac50ca9 Merge: 364a9e9 a28277d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 2 12:46:04 2014 -0700 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set v2 changes: add a new line after variable declaration in patch 12. *** Patch 1 adds a few new log messages to help debugging in failure cases. Patch 2 uses new macros for parsing RX/TX completions and TX wrbs to help shorten the lines. Patch 3 adds a description for the RX counter rx_input_fifo_overflow_drop. Patch 4 adds TX completion error statistics reporting via ethtool. Patch 5 adds a dma_mapping_error counter and its reporting via ethtool. Patch 6 fixes up log messages in the Lancer FW download path. Patch 7 replaces gotos with direct return statements. Patch 8 cleans up be_change_mtu() code by using a new macro BE_MAX_MTU Patch 9 makes be_cmd_get_regs() routine to return an integer status similar to other FW cmd routines in be_cmds.c Patch 10 gets rid of TX budget as enforcing a budget on TX completion processing in NAPI is neither suggested nor it provides a performance benefit. Patch 11 defines and uses a new macro for_all_tx_queues_on_eq() similar to the RX processing code. Patch 12 queries max_tx_qs from the FW for BE3 super-nic profiles. For those profiles, the driver cannot assume a constant BE3_MAX_TX_QS value, as the value may change for each function. Please consider applying this patch set to the net-next tree. Thanks! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a28277dc65f4f7a58db899ab69acd8cf078b9039 Author: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Date: Tue Sep 2 09:56:57 2014 +0530 be2net: query max_tx_qs for BE3 super-nic profile from FW In the BE3 super-nic profile, the max_tx_qs value can vary for each function. So the driver needs to query this value from FW instead of using the pre-defined constant BE3_MAX_TX_QS. Signed-off-by: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4906ea0a5fe6dba89d3809f1e0e97b4d55ef4b7 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Tue Sep 2 09:56:56 2014 +0530 be2net: define macro for_all_tx_queues_on_eq() Replace the for() loop that traverses all the TX queues on an EQ with the macro for_all_tx_queues_on_eq(). With this expalnatory name, the one line comment is not required anymore. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8f64615fb8372844f25199c2aa3c7565e1e9e60 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Tue Sep 2 09:56:55 2014 +0530 be2net: get rid of TX budget Enforcing a budget on the TX completion processing in NAPI doesn't benefit performance in anyway. Just get rid of it. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5f156def02bffe41bb6c931302c074d00465354 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Tue Sep 2 09:56:54 2014 +0530 be2net: make be_cmd_get_regs() return a status There are a few failure cases in be_cmd_get_regs() that ideally must return an error value. This style is used across all the routines in be_cmds.c with this routine being an exception. This patch fixes this. Signed-off-by: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d3f5ccec907bcfb4f5d4941d762dc2f89b2d24d Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Tue Sep 2 09:56:53 2014 +0530 be2net: define BE_MAX_MTU This patch defines a new macro BE_MAX_MTU to make the code in be_change_mtu() more readable. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3fb8cb801a9393888c09bea38d3e9ca360221b66 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Tue Sep 2 09:56:52 2014 +0530 be2net: remove unncessary gotos In cases where there is no extra code to handle an error, this patch replaces gotos with a direct return statement. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb864e07b2ea9c3cb0206973baa79dc5f27d2ee8 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Tue Sep 2 09:56:51 2014 +0530 be2net: fix log messages in lancer FW download path Log messages in the Lancer FW download path have issues such as: - a single message spanning multiple lines - the success message is logged even in failure cases - status codes are already logged in the FW cmd routines This patch fixes these issues. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3de154071c14549c4b99d06a063bf3761e482c3 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Tue Sep 2 09:56:50 2014 +0530 be2net: Add a dma_mapping_error counter in ethtool Add a dma_mapping_error counter to count the number of packets dropped due to DMA mapping errors. Signed-off-by: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 512bb8a244d2854953c65c0b36b0d0812fced7d5 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Tue Sep 2 09:56:49 2014 +0530 be2net: Add TX completion error statistics in ethtool HW reports TX completion errors in TX completion. This patch adds these counters to ethtool statistics. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit acbd6ff833da9d84e6596bfc94c5605a9c5b66da Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Tue Sep 2 09:56:48 2014 +0530 be2net: add a description for counter rx_input_fifo_overflow_drop Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3c18bc1de27741de9188094fcd4e253c9426164 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Tue Sep 2 09:56:47 2014 +0530 be2net: shorten AMAP_GET/SET_BITS() macro calls The AMAP_GET/SET_BITS() macro calls take structure name as a parameter and hence are long and span more than one line. Replace these calls with a wrapper macros for RX/Tx compls and TX wrb. This results in fewer lines and more readable code in be_main.c Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit acbafeb1e9daa18d601e9d91b68925e863cc4f6e Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Tue Sep 2 09:56:46 2014 +0530 be2net: add a few log messages This patch adds the following log messages to help debugging failure cases: 1) log FW version number: this is useful when driver initialization fails and the FW version number cannot be queried via ethtool 2) per function resource limits for BEx chips: these values are currently being printed only for Skyhawk and Lancer 3) PCI BAR mapping failure 4) function_mode/caps queried from FW: this helps catch any FW bugs that could advertise wrong capabilities to the driver Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a683493e07b2dde304b5c23797abab6e9180a1e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 07:52:44 2014 -0300 [media] vivid.txt: add documentation for the vivid driver The vivid Virtual Video Test Driver helps testing V4L2 applications and can emulate V4L2 hardware. Add the documentation for this driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 529a53c6087b3e8648185dfa4491043ec43554d6 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Jul 25 06:08:36 2014 -0300 [media] vb2: fix multiplanar read() with non-zero data_offset If this is a multiplanar buf_type and the plane we want to read has a non-zero data_offset, then that data_offset was not taken into account. Note that read() or write() for formats with more than one plane is currently not allowed, hence the use of 'planes[0]' since this is only relevant for a single-plane format. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 220f115e5edd2163cac6ba808588051d1dbbd62c Author: Grzegorz Swirski <grzegorz@xxxxxxxxxxxx> Date: Tue Sep 2 20:24:04 2014 +0100 staging: android: use braces on all arms of if Signed-off-by: Grzegorz Swirski <grzegorz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41b9aa0040526d13e08e2ad79970377afe1d622d Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 21:38:29 2014 -0300 [media] m88ds3103: fix coding style issues Fix coding style issues pointed out by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d28677ffbc8443d9a97a50b15989ebbbf00a729e Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 21:06:13 2014 -0300 [media] m88ds3103: change .set_voltage() implementation Add some error checking and implement functionality a little bit differently. Cc: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6380b975b76478ee0fd7c43d8833a52dfb5b57eb Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 16:22:02 2014 -0300 [media] m88ts2022: fix coding style issues Fix coding style issues pointed out by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f538e085138e519e25ae0828bd6c6e7492ce8ca4 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 14:02:27 2014 -0300 [media] m88ts2022: fix 32bit overflow on filter calc Maximum satellite symbol rate used is 45000000Sps which overflows when multiplied by 135. As final calculation result is fraction, we could use mult_frac macro in order to keep calculation inside 32 bit number limits and prevent overflow. Original bug and fix was provided by Nibble Max. I decided to implement it differently as it is now. Reported-by: Nibble Max <nibble.max@xxxxxxxxx> Tested-by: Nibble Max <nibble.max@xxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit de3f2e2e0ac94c1369722a33e7d7b2ca121ba083 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 12:03:58 2014 -0300 [media] msi2500: remove unneeded local pointer on msi2500_isoc_init() There is no need to keep local copy of usb_device pointer as we have same pointer stored and available easily from device state. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 206ace2288449008742c8ca65f1865e51e83e442 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 11:19:13 2014 -0300 [media] dvb-usb-v2: remove dvb_usb_device NULL check Reported by Dan Carpenter: The patch d10d1b9ac97b: "[media] dvb_usb_v2: use dev_* logging macros" from Jun 26, 2012, leads to the following Smatch complaint: drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c:31 dvb_usb_v2_generic_io() error: we previously assumed 'd' could be null (see line 29) ... Remove whole check as it must not happen in any case. Driver is totally broken if it does not have valid pointer to device. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5cd62db71dcf3a4722959d9f90ca4c5ca09502cb Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sun Aug 17 02:24:49 2014 -0300 [media] si2157: Add support for delivery system SYS_ATSC Set the property for delivery system also in case of SYS_ATSC. This behaviour is observed in the sniffs taken with Hauppauge HVR-955Q Windows driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1a4d76076cda69b0abf15463a8cebc172406da25 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:05 2014 -0400 percpu: implement asynchronous chunk population The percpu allocator now supports atomic allocations by only allocating from already populated areas but the mechanism to ensure that there's adequate amount of populated areas was missing. This patch expands pcpu_balance_work so that in addition to freeing excess free chunks it also populates chunks to maintain an adequate level of populated areas. pcpu_alloc() schedules pcpu_balance_work if the amount of free populated areas is too low or after an atomic allocation failure. * PERPCU_DYNAMIC_RESERVE is increased by two pages to account for PCPU_EMPTY_POP_PAGES_LOW. * pcpu_async_enabled is added to gate both async jobs - chunk->map_extend_work and pcpu_balance_work - so that we don't end up scheduling them while the needed subsystems aren't up yet. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit fe6bd8c3d28357174587c4fe895d10b00321b692 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:05 2014 -0400 percpu: rename pcpu_reclaim_work to pcpu_balance_work pcpu_reclaim_work will also be used to populate chunks asynchronously. Rename it to pcpu_balance_work in preparation. pcpu_reclaim() is renamed to pcpu_balance_workfn() and some of its local variables are renamed too. This is pure rename. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b539b87fed37ffc16c89a6bc3beca2d7aed82e1c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:05 2014 -0400 percpu: implmeent pcpu_nr_empty_pop_pages and chunk->nr_populated pcpu_nr_empty_pop_pages counts the number of empty populated pages across all chunks and chunk->nr_populated counts the number of populated pages in a chunk. Both will be used to implement pre/async population for atomic allocations. pcpu_chunk_[de]populated() are added to update chunk->populated, chunk->nr_populated and pcpu_nr_empty_pop_pages together. All successful chunk [de]populations should be followed by the corresponding pcpu_chunk_[de]populated() calls. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9c824b6a172c8d44a6b037946bae90127c969b1b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:05 2014 -0400 percpu: make sure chunk->map array has available space An allocation attempt may require extending chunk->map array which requires GFP_KERNEL context which isn't available for atomic allocations. This patch ensures that chunk->map array usually keeps some amount of available space by directly allocating buffer space during GFP_KERNEL allocations and scheduling async extension during atomic ones. This should make atomic allocation failures from map space exhaustion rare. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 5835d96e9ce4efdba8c6cefffc2f1575925456de Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:04 2014 -0400 percpu: implement [__]alloc_percpu_gfp() Now that pcpu_alloc_area() can allocate only from populated areas, it's easy to add atomic allocation support to [__]alloc_percpu(). Update pcpu_alloc() so that it accepts @gfp and skips all the blocking operations and allocates only from the populated areas if @gfp doesn't contain GFP_KERNEL. New interface functions [__]alloc_percpu_gfp() are added. While this means that atomic allocations are possible, this isn't complete yet as there's no mechanism to ensure that certain amount of populated areas is kept available and atomic allocations may keep failing under certain conditions. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit e04d320838f573d8fa989a0d7af0972f9b0142d9 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:04 2014 -0400 percpu: indent the population block in pcpu_alloc() The next patch will conditionalize the population block in pcpu_alloc() which will end up making a rather large indentation change obfuscating the actual logic change. This patch puts the block under "if (true)" so that the next patch can avoid indentation changes. The defintions of the local variables which are used only in the block are moved into the block. This patch is purely cosmetic. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a16037c8dfc2734c1a2c8e3ffd4766ed25f2a41d Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:02 2014 -0400 percpu: make pcpu_alloc_area() capable of allocating only from populated areas Update pcpu_alloc_area() so that it can skip unpopulated areas if the new parameter @pop_only is true. This is implemented by a new function, pcpu_fit_in_area(), which determines the amount of head padding considering the alignment and populated state. @pop_only is currently always false but this will be used to implement atomic allocation. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b38d08f3181c5025a7ce84646494cc4748492a3b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:02 2014 -0400 percpu: restructure locking At first, the percpu allocator required a sleepable context for both alloc and free paths and used pcpu_alloc_mutex to protect everything. Later, pcpu_lock was introduced to protect the index data structure so that the free path can be invoked from atomic contexts. The conversion only updated what's necessary and left most of the allocation path under pcpu_alloc_mutex. The percpu allocator is planned to add support for atomic allocation and this patch restructures locking so that the coverage of pcpu_alloc_mutex is further reduced. * pcpu_alloc() now grab pcpu_alloc_mutex only while creating a new chunk and populating the allocated area. Everything else is now protected soley by pcpu_lock. After this change, multiple instances of pcpu_extend_area_map() may race but the function already implements sufficient synchronization using pcpu_lock. This also allows multiple allocators to arrive at new chunk creation. To avoid creating multiple empty chunks back-to-back, a new chunk is created iff there is no other empty chunk after grabbing pcpu_alloc_mutex. * pcpu_lock is now held while modifying chunk->populated bitmap. After this, all data structures are protected by pcpu_lock. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a63d4ac4ab6094c051a5a240260d16117a7a2f86 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:02 2014 -0400 percpu: make percpu-km set chunk->populated bitmap properly percpu-km instantiates the whole chunk on creation and doesn't make use of chunk->populated bitmap and leaves it as zero. While this currently doesn't cause any problem, the inconsistency makes it difficult to build further logic on top of chunk->populated. This patch makes percpu-km fill chunk->populated on creation so that the bitmap is always consistent. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> commit a93ace487a339dccf7040be7fee08c3415188e14 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:02 2014 -0400 percpu: move region iterations out of pcpu_[de]populate_chunk() Previously, pcpu_[de]populate_chunk() were called with the range which may contain multiple target regions in it and pcpu_[de]populate_chunk() iterated over the regions. This has the benefit of batching up cache flushes for all the regions; however, we're planning to add more bookkeeping logic around [de]population to support atomic allocations and this delegation of iterations gets in the way. This patch moves the region iterations out of pcpu_[de]populate_chunk() into its callers - pcpu_alloc() and pcpu_reclaim() - so that we can later add logic to track more states around them. This change may make cache and tlb flushes more frequent but multi-region [de]populations are rare anyway and if this actually becomes a problem, it's not difficult to factor out cache flushes as separate callbacks which are directly invoked from percpu.c. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit dca496451bddea9aa87b7510dc2eb413d1a19dfd Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:01 2014 -0400 percpu: move common parts out of pcpu_[de]populate_chunk() percpu-vm and percpu-km implement separate versions of pcpu_[de]populate_chunk() and some part which is or should be common are currently in the specific implementations. Make the following changes. * Allocate area clearing is moved from the pcpu_populate_chunk() implementations to pcpu_alloc(). This makes percpu-km's version noop. * Quick exit tests in pcpu_[de]populate_chunk() of percpu-vm are moved to their respective callers so that they are applied to percpu-km too. This doesn't make any meaningful difference as both functions are noop for percpu-km; however, this is more consistent and will help implementing atomic allocation support. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit cdb4cba5a3c9fa27240d04f4f8dad316b10d995b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:01 2014 -0400 percpu: remove @may_alloc from pcpu_get_pages() pcpu_get_pages() creates the temp pages array if not already allocated and returns the pointer to it. As the function is called from both [de]population paths and depopulation can only happen after at least one successful population, the param doesn't make any difference - the allocation will always happen on the population path anyway. Remove @may_alloc from pcpu_get_pages(). Also, add an lockdep assertion pcpu_alloc_mutex instead of vaguely stating that the exclusion is the caller's responsibility. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit fbbb7f4e149f6dd19a8dbebc9fa5c5b72173c6de Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:01 2014 -0400 percpu: remove the usage of separate populated bitmap in percpu-vm percpu-vm uses pcpu_get_pages_and_bitmap() to acquire temp pages array and populated bitmap and uses the two during [de]population. The temp bitmap is used only to build the new bitmap that is copied to chunk->populated after the operation succeeds; however, the new bitmap can be trivially set after success without using the temp bitmap. This patch removes the temp populated bitmap usage from percpu-vm.c. * pcpu_get_pages_and_bitmap() is renamed to pcpu_get_pages() and no longer hands out the temp bitmap. * @populated arugment is dropped from all the related functions. @populated updates in pcpu_[un]map_pages() are dropped. * Two loops in pcpu_map_pages() are merged. * pcpu_[de]populated_chunk() modify chunk->populated bitmap directly from @page_start and @page_end after success. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> commit e395e573b3ca028271fb2ee7edf614d45913d948 Author: CrazyCat <crazycat69@xxxxxxxx> Date: Sat Aug 16 18:33:14 2014 -0300 [media] si2168: DVB-T2 PLP selection implemented DVB-T2 PLP selection implemented for Si2168 demod. Tested with PCTV 292e. Signed-off-by: Evgeny Plehov <EvgenyPlehov@xxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d8b0e4230fc3078314cedf674a664d227cd5c0e1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:04:00 2014 +0100 staging: comedi: amplc_pci230: simplify interrupt enable handling `struct pci230_private` has two members to manage the enabled interrupt sources. `int_en` is the interrupt sources we want to be enabled and `ier` is a shadow of the write-only interrupt enable register. They have the same value most of the time. They differ in the interrupt handler (`pci230_interrupt()`) itself when it temporarily clears bits in the interrupt enable register and the `ier` member in order to unlatch them in hardware, but leaves the `int_en` member alone. They also differ in `pci230_ai_stop()` and `pci230_ao_stop()` which clear bits in the `int_en` member and wait for the interrupt handler to finish before copying the value to the `ier` member and the interrupt enable register. Simplify the handling a bit, by making the `ier` member take on the role of the `int_en` member, and allowing the value to differ from the interrupt enable register while the interrupt handler is running. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb8ef9231f9f7ee1dc685ac6b0f2360a4eab0e31 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:59 2014 +0100 staging: comedi: amplc_pci230: change pci230_handle_ao_fifo() return type Change the return type of `pci230_handle_ao_fifo()` from `int` to `bool`. A return value of `true` indicates the AO command is still running. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39455e17fa9c453c3671b34ca67d79904fafccb8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:58 2014 +0100 staging: comedi: amplc_pci230: reduce indentation in pci230_ai_start() Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6303f15e25babc6b13bd82489264226d5ec8f8a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:57 2014 +0100 staging: comedi: amplc_pci230: reduce indentation in pci230_ai_inttrig_convert() Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a046e4c1cc64aec5653abaf3de215c2131252ea6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:56 2014 +0100 staging: comedi: amplc_pci230: reduce indentation in pci230_ao_start() Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0dab04882ed3be085faf370b34f0e6fee5eb5afc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:55 2014 +0100 staging: comedi: amplc_pci230: reduce indentation in pci230_ao_inttrig_scan_begin() Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit beafb60389773e13152c7f67e05ba05111eef0f4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:54 2014 +0100 staging: comedi: amplc_pci230: rewrite shared resource handling Some counter channels may be required for AI commands and AO commands. Depending on how the commands are set up, it may not be possible to run both at the same time, so we keep some state and code to find out if the required resources are busy or not. The existing code is a bit unwieldy - the code for claiming resources involves two `for` loops for example. Rewrite it to make it simpler. The new code just has a bit-mask value for each shared resource (counter channels), and an array indexed by resource "owners" (AI and AO commands), so the code for claiming resources now just has a single loop that checks that none of the other owners have claimed the wanted resources. Rename the functions involved, because the old names involving 'put' and 'get' suggested some sort of usage counting. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b0ff3dc5e3d86ada66afcaab46a766d326facd4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:53 2014 +0100 staging: comedi: amplc_pci230: replace `state` member with bitfields The `state` member of `struct pci230_private` is used with the atomic bit-op functions and has a couple of bits defined, `AI_CMD_STARTED` and `AO_CMD_STARTED`. Spin-locks are used to protect the clearing of these bits and other stuff. No special protection is used for setting these bits. Replace the `state` member with a couple of new, single-bit bitfield members, `ai_cmd_started` and `ao_cmd_started` to save some space. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abea4ff48541348be06f6cd01d4db8badbbc2065 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:52 2014 +0100 staging: comedi: amplc_pci230: make `intr_running` a bitfield Change the `intr_running` member of `struct pci230_private` into a single-bit bitfield of type `bool` to save a bit of space. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2cd5da05b0ea4bf178fab718d42de5a386600991 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:51 2014 +0100 staging: comedi: amplc_pci230: use comedi_range_is_bipolar() Use the inline `comedi_range_is_bipolar()` function from "comedidev.h" to decide whether a range is bipolar or unipolar instead of using the local static arrays `pci230_ai_bipolar[]` and `pci230_ao_bipolar[]` which can then be removed. Change the types of the `ai_bipolar` and `ao_bipolar` members of `struct pci230_private` to `bool` to match the return value of `comedi_range_is_bipolar()` and change them into single-bit bitfields to save a bit of space. Also change the type and name of some local variables in `pci230_ai_check_chanlist()` that hold the result of `comedi_range_is_bipolar()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14c289d896d31903b04656701464de46ffb197c5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:50 2014 +0100 staging: comedi: amplc_pci230: add `pci230_` prefix to functions Most functions in "amplc_pci230" are named with the prefix `pci230_`, apart from one or two that have the prefix `amplc_pci230_` and a few odd-balls with no particular prefix. Rename the ones without a prefix for consistency. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4c5cc31183db5d545f5ec3aa71b8c7545f2ac31 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:49 2014 +0100 staging: comedi: amplc_pci230: rename pci230_ai_rinsn() Rename the AI subdevice "insn_read" handler function `pci230_ai_rinsn()` to `pci230_ai_insn_read()` for consistency. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9a687958e39bdf041c7164c0e8a259e9a5e889d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:48 2014 +0100 staging: comedi: amplc_pci230: remove 'inline' Some functions in "amplc_pci230.c" are declared `inline`. Remove the `inline` specifiers and let the compiler do what it wants with them. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66a462ba451346599d0b78098e41eceac3099946 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:47 2014 +0100 staging: comedi: amplc_pci230: simplify pci230_ai_read() `pci230_ai_read()` reads a sample from the ADC data register and converts it to a comedi sample value. The AI sample may have 12 or 16 bits of resolution, depending on the board type, but 12-bit sample values are in bits 15 to 4 of the register. The hardware value is signed, 2's complement if set to a bipolar mode, or unsigned, straight binary if set to a unipolar mode. To convert to a Comedi sample value it may need shifting right by 4 bits, and the top bit of the sample value may need to be toggled. Simplify the existing code by doing the 2's complement to straight binary conversion before the shift. That way, it is always bit 15 that is inverted regardless of the resolution. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9405d8724045a84c960a1e4ac9876cf5fb1de35e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:46 2014 +0100 staging: comedi: amplc_pci230: simplify pci230_ao_mangle_datum() `pci230_ao_mangle_datum()` converts comedi sample values for the AO subdevice to hardware register values. The comedi sample value will be an unsigned value in the range 0 to 4095 (assuming 12-bit resolution). The hardware wants the value shifted so the m.s. bit of the sample in in bit 15. If set to a bipolar range, it also expects a 2's complement value, so the top bit of the sample value needs to be inverted in that case. Simplify the existing code by doing the 2's complement conversion after the shift. That way, it is always bit 15 that is inverted regardless of the resolution. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33af02c7b259a60dca2cd1ca11a4568dcc000113 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:45 2014 +0100 staging: comedi: amplc_pci230: shrink struct pci230_board The `ai_bits`, `ao_bits`, and `min_hwver` members of `struct pci230_board` are only set to small, non-negative values, so make them `unsigned char`. The `have_dio` member is used as a boolean so change it to a bitfield of type `bool`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 867ae76dda9365c125ac88f256ca20d557e9e6e8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:44 2014 +0100 staging: comedi: amplc_pci230: remove ao_chans member The PCI230(+) has an AO subdevice with 2 channels, but the PCI260(+) has none. The `ao_chans` member of `struct pci230_board` indicates whether the board has an AO subdevice and the number of AO channels. The `ao_bits` member indicates the AO sample width in bits and will only be non-zero for boards with an AO subdevice. Use `ao_bits` to indicate whether the board has an AO subdevice. If it has, assume the the number of AO channels is 2. Then the `ao_chans` member becomes redundant and can be removed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e69ad291fbb08f79bf8014efeb29e2a74944bfa8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:43 2014 +0100 staging: comedi: amplc_pci230: remove ai_chans member All boards supported by the "amplc_pci230" driver have 16 AI channels, so the `ai_chans` member of `struct pci230_board` is superfluous and can be removed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a89e7147229d183f9e5566fc774d8e0dfeff627 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:42 2014 +0100 staging: comedi: amplc_pci230: absorb pci230_alloc_private() `pci230_alloc_private()` is now only called from `pci230_auto_attach()` to allocate private device storage and initialize various spin-lock members therein. Absorb the body of `pci230_alloc_private()` into `pci230_auto_attach()` itself. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77ffced7af82c13243a642e731b52fc1714fd48a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:41 2014 +0100 staging: comedi: amplc_pci230: no need to comedi_set_hw_dev() here The comedi core module calls `comedi_set_hw_dev()` to associate the hardware `struct device` with the `struct comedi_device` before it calls the comedi driver's "auto_attach" hook `pci230_auto_attach()`. There is no need for `pci230_auto_attach()` to call `comedi_set_hw_dev()` itself, so remove the call. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c800752bc85c8efb00d77c60aa89f585cc5f7bee Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:40 2014 +0100 staging: comedi: amplc_pci230: absorb pci230_attach_common() `pci230_attach_common()` is now only called from `pci230_auto_attach()`, so absorb it into that function. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5668ddf083fd7db5b904fc8332f4b28748fe5eed Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:39 2014 +0100 staging: comedi: amplc_pci230: set detach handler to comedi_pci_detach() Since the comedi driver's "detach`" handler `pci230_detach()` now merely calls `comedi_pci_detach()` with the same parameter, use `comedi_pci_detach()` itself as the "detach" handler. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 228df3c99b511ec563dbbd3c7385a3ed83201dd5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:38 2014 +0100 staging: comedi: amplc_pci230: no need to manipulate PCI ref count This driver no longer supports a "legacy" attach mechanism that searches for a suitable PCI device and increments it's reference count, but since the common "detach" handler `pci230_detach()` still has a left-over `pci_dev_put()`, a matching `pci_dev_get()` is needed in the "auto_attach" handler `pci230_auto_attach()`. There is no longer any reason to "get" and "put" the PCI device, so those calls can be removed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca5119c93f0dee89b5543fbdbc0c96a046ed20e6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:37 2014 +0100 staging: comedi: amplc_pci230: remove "legacy" attach mechanism The "amplc_pci230" driver currently retains the legacy attach mechanism to allow devices to be attached manually via the `COMEDI_DEVCONFIG` ioctl. The only real use for this is to pretend that a PCI230+ or PCI260+ is a PCI230 or PCI260 for backwards compatibility, as they have different number of bits of resolution on the AI subdevice. Since the card would be automatically configured as a PCI230+ or PCI260+ at PCI probe time anyway, hopefully any users who want it to appear as a PCI230 or PCI260 would have got tired of removing the automatically configured device and configuring it manually by now and will have updated their software to cope with the PCI230+ or PCI260+. Get rid of the legacy attach mechanism by removing the Comedi driver "attach" handler `pci230_attach()` and associated code. Also remove the "wildcard" entry from the board table `pci230_boards[]` as it is no longer needed. Don't bother initializing the `board_name`, `offset`, and `num_names` members of `struct comedi_driver amplc_pci230_driver` any longer as they are only needed when configuring the device manually. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 840d435f15f43bd3b45be586d3cc3b4803939176 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:36 2014 +0100 staging: comedi: amplc_pci230: collapse some 'else { if' chains Where the only thing in an `else { ... }` block is another `if` statement, collapse it to an `else if {` block where it makes sense to do so. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbbbd20d04282cfb19829aaa646cf57700635841 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:35 2014 +0100 staging: comedi: amplc_pci230: remove some unnecessary parentheses Remove some pairs of parentheses that don't really improve readability. Also, reduce the amount of leading whitespace in a few places. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4869826926197d75bb568131fb8a51627669401 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:34 2014 +0100 staging: comedi: amplc_pci230: don't use multiple blank lines Fix checkpatch issues: "CHECK: Please don't use multiple blank lines". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc0f88e9ca5483a7078f382f5944a1095ab89582 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:33 2014 +0100 staging: comedi: amplc_pci230: update MODULE_DESCRIPTION() Replace the generic, Comedi low-level driver module description string with something more specific. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c2775ec3ce533abf1dad62b3c79302bd64e174a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:43 2014 +0530 staging: rtl8188eu: Rename Hal8188EPwrSeq.h to pwrseq.h Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ff471fc1e6954d62c43a996af183dd42c6ed347 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:42 2014 +0530 staging: rtl8188eu: Hal8188EPwrSeq.h: fix lines over 80 char Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f2a798ac58ee5ffda24be07bd9068c5ce4842ca Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:41 2014 +0530 staging: rtl8188eu: Rename HalPwrSeqCmd.h to pwrseqcmd.h Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8290d2fbba4d3c47c6686cbc01d879d2e1760e4a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:40 2014 +0530 staging: rtl8188eu: Rename HalPwrSeqCmd.c to pwrseqcmd.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a031d01c8ded5e4030242e175c7d9ee52dde4d8c Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:39 2014 +0530 staging: rtl8188eu: Rename Hal8188EPwrSeq.c to pwrseq.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 582c7fbe16fdc2a0a84ce00c79a5406d0d9dd3d9 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:38 2014 +0530 staging: rtl8188eu: HalPwrSeqCmd.h: Remove unnecessary comments. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8bfdbb1b59d9efa733bb29dc5e5249442e996766 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:37 2014 +0530 staging: rtl8188eu: Hal8188EPwrSeq.c: fix lines over 80 characters. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 876cbe238d7ae7af8d0000a3bb8e0ebf3f245252 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:36 2014 +0530 staging: rtl8188eu: Rework function HalPwrSeqCmdParsing() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a45c2994d5980ad53234589935df15e4f6682704 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Thu Aug 21 09:05:01 2014 -0300 [media] cxusb: Add read_mac_address for TT CT2-4400 and CT2-4650 Read MAC address from the EEPROM. This version two corrects a flaw in the result code returning that did exist in the first version. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6832d11edde3e47ef54e0da5d61380de9043b704 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Fri Aug 8 04:06:37 2014 -0300 [media] cxusb: Add support for TechnoTrend TT-connect CT2-4650 CI TechnoTrend TT-connect CT2-4650 CI (0b48:3012) is an USB DVB-T2/C tuner with the following components: USB interface: Cypress CY7C68013A-56LTXC Demodulator: Silicon Labs Si2168-A20 Tuner: Silicon Labs Si2158-A20 CI chip: CIMaX SP2HF The firmware for the tuner is the same as for TechnoTrend TT-TVStick CT2-4400. See https://www.mail-archive.com/linux-media@xxxxxxxxxxxxxxx/msg76944.html The demodulator needs a firmware that can be extracted from the Windows drivers. File ttConnect4650_64.sys should be extracted from http://www.tt-downloads.de/bda-treiber_4.1.0.4.zip (MD5 sum below). 3464bfc37a47b4032568718bacba23fb ttConnect4650_64.sys Then the firmware can be extracted: dd if=ttConnect4650_64.sys ibs=1 skip=273376 count=6424 of=dvb-demod-si2168-a20-01.fw The SP2 CI module requires a definition of a function cxusb_tt_ct2_4650_ci_ctrl that is passed on to the SP2 driver and called back for CAM operations. [crope@xxxxxx: meld USB ID define patch to this] Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 868736ad3404b205794bc04233eca58293818dea Author: Olli Salonen <olli.salonen@xxxxxx> Date: Fri Aug 8 04:06:35 2014 -0300 [media] sp2: Add I2C driver for CIMaX SP2 common interface module Driver for the CIMaX SP2 common interface chip. It is very much based on the existing cimax2 driver for cx23885, but should be more reusable. The product has been sold with name Atmel T90FJR as well and the data sheets for that chip seem to be publicly available. It seems that the USB device that I have and the cx23885 based devices will need to interact differently with the chip for the CAM operations. Thus there is one callback function that is passed on to the sp2 driver (see function sp2_ci_op_cam for that one). IRQ functionality is not included currently (not needed by USB devices and I don't have a PCIe device for development). Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9b9beb1bf5eab918d2d54e42360dd1803b00dbfd Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:12 2014 -0300 [media] cxusb: add ts mode setting for TechnoTrend CT2-4400 TS mode must be set in the existing TechnoTrend CT2-4400 driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6fd2f44a000b514f7ad67e15efaccf9502e29883 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:11 2014 -0300 [media] em28xx: add ts mode setting for PCTV 292e TS mode must be set in the existing PCTV 292e driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 389ce3984b337690ed5124f2379fc8c3f3975c53 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:10 2014 -0300 [media] si2168: add ts_mode setting and move to si2168_init Luis Alves submitted a TS mode patch to si2168 earlier, but the patch was rejected due to a small issue. Here is a working version. Also, setting of TS mode is moved from si2168_set_frontend to si2168_init. This patch adds the TS mode as a config option for the si2168 demod: - ts_mode added to config struct. - Possible (interesting) values are * Parallel mode = 0x06 * Serial mode = 0x03 Currently the modules using this demod only use parallel mode. Patches for these modules later in this patch series. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 79d0933032d657e8f80e916b14b47b03731d6bea Author: nibble.max <nibble.max@xxxxxxxxx> Date: Mon Aug 11 01:22:45 2014 -0300 [media] m88ds3103: implement set voltage and TS clock Implement set voltage operation. Separate TS clock as a own configuration parameter. Add TS clock polarity parameter. [crope@xxxxxx: merge em28xx driver m88ds3103 config change patch to that one, in order to keep build unbroken] Signed-off-by: Nibble Max <nibble.max@xxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 67d0113a224f0fb1be784f7553fdeafd82cadc6c Author: Olli Salonen <olli.salonen@xxxxxx> Date: Tue Aug 5 09:03:54 2014 -0300 [media] si2157: clean logging Same thing for si2157 as Antti did earlier for tda18212: There is no need to print module name nor function name as those are done by kernel logging system when dev_xxx logging is used and driver is proper I2C driver. While here, fix a typo ("unknown") in si2157_init. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 37b4e43d8b51163183fef32d6f3334c9f97f61c1 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Tue Aug 5 08:54:08 2014 -0300 [media] si2168: clean logging Same thing for si2168 as Antti did earlier for tda18212: There is no need to print module name nor function name as those are done by kernel logging system when dev_xxx logging is used and driver is proper I2C driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1a5a5cbc3986dafc48c1ade21ba5fa2a4bfde5f6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 2 17:21:12 2014 +0530 staging: et131x: et131x.c: sparse warning of incompatible types fixed sparse warning: incompatible types in comparison expression (different address spaces) wolw and reg both are being used only for the initialization of the __iomem area. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a62fdebde5869d15536309b4a5bb9b1d5fd229c5 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:38:42 2014 -0500 staging: comedi: hwdrv_apci1500: miscellaneous cleanup This patch completes two final matters of cleanup which are each too small for their own patch. It corrects a couple of indentation issues and removes a return statement at the end of a void function. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a45dd57caedd07c82b01566caa89d0389f464aa7 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:38:26 2014 -0500 staging: comedi: hwdrv_apci1500: clean some whitespace style issues Now that commented out code has been removed, else statements can move to the same line as the close brace of the if statement. Also, a blank line has been added between declarations and code where needed. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2518477e0b8ec9f2c193e43b40597d07be53687 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:38:12 2014 -0500 staging: comedi: hwdrv_apci1500: remove commented out code Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c035291a6d7a19c8bb36ae5d5c4730cfc94fae8d Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:37:57 2014 -0500 staging: comedi: hwdrv_apci1500: remove unneeded braces We don't need braces around single-statement blocks. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2292d64c53e8acd4980eb3688c088e00fe8bf98b Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:36:11 2014 -0500 staging: comedi: hwdrv_apci3501: change printk to dev_err dev_err() is preferred to printk() in device drivers. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4689e6c2a3378fe563b6e19a6ea251aa007ddf44 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:35:49 2014 -0500 staging: comedi: hwdrv_apci035: remove useless return statement Checkpatch pointed out a void function with a return statement. It can be removed. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a834b96e20162d00df472bf87104b93b7338172 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 31 19:46:19 2014 -0500 drivers: staging: rtl8723au: Fix return is not a function, parentheses are not required error Fix checkpatch.pl return is not a function, parentheses are not required error Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c802a6447da58e9afb7580ede9f34607f5acf5b8 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 31 19:22:59 2014 -0500 drivers: staging: ft1000: Fix return is not a function, parentheses are not required errors Fix checkpatch.pl return is not a function, parentheses are not required errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96ee2cc81f278d6c0767f466c11658f5beb5d7c5 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Aug 31 23:43:51 2014 +0300 staging: octeon-usb: use USB_DIR_IN Replace a magic value with #defined macro. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e301dfb208ac25db6c133079de7ae5d99cf48b5f Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Aug 31 23:43:50 2014 +0300 staging: octeon-usb: use generic control packet header Use generic control packet header structure definition. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 587abd7b030283baf921ba1a62c8a7280fea5e9d Author: Seunghun Lee <waydi1@xxxxxxxxx> Date: Mon Sep 1 22:46:59 2014 +0900 staging: dgnc: split two assignments into the two assignments on two lines. split two assignments into the two assignments on two lines. CC: Lidza Louina <lidza.louina@xxxxxxxxx> CC: Mark Hounschell <markh@xxxxxxxxxx> Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 239d1346f5f77135e272eee0c33cfa3e52fc4e1c Author: Konrad Zapalowicz <bergo.torino+kernel@xxxxxxxxx> Date: Sun Aug 31 22:42:15 2014 +0200 staging: dgnc: Fix sleeping under spinlock bug This commit changes the memory allocation flags to ATOMIC in order to avoid sleeping in the nowait/nolock code. Signed-off-by: Konrad Zapalowicz <bergo.torino+kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdaef43dca4d9ebc4c560c6f53f54197b0167d92 Author: Ramon Fried <ramon.fried@xxxxxxxxx> Date: Sun Aug 31 23:40:29 2014 +0300 staging: netlogic: Fix checkpatch.pl warning This patch fixes the following checkpatch.pl warning: WARNING: Possible unnecessary 'out of memory' message #116: FILE: ./xlr_net.c:116: + if (!skb) { + pr_err("SKB allocation failed\n"); Signed-off-by: Ramon Fried <ramon.fried@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a80f58c96d6dd8c7bf7ec33ca695c4fa6b956862 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 14:45:00 2014 -0500 staging: comedi: usbduxsigma: fix more sparse endianness warnings Sparse shows a couple of warnings like: drivers/staging/comedi/drivers/usbduxsigma.c:787:23: warning: cast to restricted __be32 Looking at the indicated lines shows that the issue is caused by an incorrect cast to uint32_t instead of __be32. Fix this cast. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae689d52f778fef3026dc7f8d9349df4ca465e6d Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 14:44:23 2014 -0500 staging: comedi: usbdux: fix more sparse endianness warnings Sparse shows a couple of warnings like: drivers/staging/comedi/drivers/usbdux.c:889:20: warning: incorrect type in assignment (different base types) drivers/staging/comedi/drivers/usbdux.c:889:20: expected unsigned short [unsigned] [short] [usertype] <noident> drivers/staging/comedi/drivers/usbdux.c:889:20: got restricted __le16 [usertype] <noident> This is the result of a couple of calls to cpu_to_le16() being assigned to uint16_t typed variables. Switch the types of these variables/pointers to __le16 accordingly. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Suggested-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e49d63ea147df36311fc973f5bd540125bf653a9 Author: Mathieu OTHACEHE <m.othacehe@xxxxxxxxx> Date: Tue Sep 2 18:39:44 2014 +0200 staging: lustre: Fix space prohibited between function name and open parenthesis This patch fixes the following checkpatch.pl warning in lnet/lnet/lib-eq.c: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Mathieu OTHACEHE <m.othacehe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6e962c5a0d11bad9711171743756578d2969f45 Author: Zheng Di <zhengdi05@xxxxxxxxx> Date: Tue Sep 2 01:51:28 2014 +0800 staging: lustre: declare some functions as static Declare these functions as static: llog_alloc_handle() is used in llog_open() only. llog_free_handle() is used in llog_close() only. Signed-off-by: Zheng Di <zhengdi05@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31664dc6f8462a843fbddf6807498f452a7727be Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Sep 1 22:21:10 2014 +0200 staging: lustre: ldlm: simplify rc initialization Simplify initialization of rc to take advantage of the fact that it is done at statement level. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1c0d446da8e0255a0edb348325cac293e9eff4c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Sep 1 22:21:09 2014 +0200 staging: lustre: ldlm: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 995c8b4a555baf29de86ce6b68967d03791ae2b2 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Sep 1 06:36:14 2014 -0500 drivers: staging: lustre: Fix 'do not use C99 // comments' errors Fix checkpatch.pl 'do not use C99 // comments' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22403d9eae75ae0f86c92b9f0a8bda1aa2e069e3 Author: Sun Wang <sunwxg@xxxxxxxxx> Date: Mon Sep 1 12:27:25 2014 +0800 staging: lustre: lustre: mdc: mdc_reint: fix coding style issue Coding style issues, the changes include: -Remove '{}' Signed-off-by: Sun Wang <sunwxg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8291974f9d51906acbcda639f5e0e33f6eae765 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 31 17:40:17 2014 -0500 drivers: staging: lustre: Fix return is not a function, parentheses are not required errors Fix checkpatch.pl return is not a function, parentheses are not required errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d696b7f780b66135e34a4dcd781828acf907f6df Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Tue Sep 2 14:36:37 2014 +0300 MAINTAINERS: Add an entry for staging/xillybus Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a7d84d73b9ca32871da8fc05e95ca47c04fbb110 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:17 2014 +0200 ARM: at91: PIT: Use of_have_populated_dt instead of CONFIG_OF Until now, the machines, even when CONFIG_OF was enabled, were calling at91sam926x_ioremap_pit to try to map the PIT address using the defined physical address. Obviously, with DT, it's not appropriate anymore, and some code was added to the function to deal with this case. Unfortunately, this code was conditionned on CONFIG_OF, which can be enabled, even though no DT was actually used, which would result in such a case, to this code being executed, without any reason. Moreover, the logic that was here before to bail out of the function just check in the DT to see if the PIT node is there, which is the case in all our DTSI. All this can be made much more straightforward just by using of_have_populated_dt to bail out. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 2d7fdbe23c990a843177e3bff9a093d2f5fa4e02 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:16 2014 +0200 ARM: at91: PIT: Use DIV_ROUND_CLOSEST to compute the cycles Until now, the pit_cycle computation was dividing the rate by HZ, rounding to the closest integer, but without using the appropriate macro. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 1bd59dbe53d9913420ae751d0447e769fd22cbf5 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:15 2014 +0200 ARM: at91: generic.h: Add include safe guards The generic.h header file doesn't have any safe guards against multiple inclusion. It only worked so far because all the symbols defined in it were extern, but this is a rather fragile assumption. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 52c3ffb018f4af038039f783d932ba5c99e4a87b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:14 2014 +0200 ARM: at91: PIT: Follow the general coding rules Replace all masks and bits definitions by matching calls to BIT and GENMASK. While we're at it, also fix a few style issues. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit a7fa3219456bc044cc6b8654a5d8218a9df1c7bd Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:50:48 2014 +0900 spi: spi-mxs: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations WARNING: Prefer kcalloc over kzalloc with multiply Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b8074eba2a6b5b1b090cf9c53dbccf3bc3e5205a Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Sep 2 09:14:28 2014 -0700 regulator: RK808: Add proper input supplies for rk808 The original RK808 regulator driver didn't setup input supplies properly. Add them. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f318f7db00f4968d934b4ccb8e3fc0b21f419046 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Mon Sep 1 16:15:52 2014 -0500 ia64: sn_nodepda cannot be assigned to after this_cpu conversion. Use __this_cpu_write. There must be an explit statement to modify the percpu variable after the conversion of the sn_nodpda macro to use this_cpu_read. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Compile-tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 809e9447b92ffe1346b2d6ec390e212d5307f61c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Apr 9 16:19:30 2014 +0200 drm/nouveau: use shared fences for readable objects nouveau keeps track in userspace whether a buffer is being written to or being read, but it doesn't use that information. Change this to allow multiple readers on the same bo. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9242829a87e970773628f30522d2278dd91890ec Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Apr 9 16:18:58 2014 +0200 drm/nouveau: Keep only a single list for validation. Maintain the original order to handle VRAM/GART/mixed correctly for <nv50, it's likely not as important on newer cards. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 472db7ab3093bf2a2999f6b5aa64a030466d6f92 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed May 14 15:42:29 2014 +0200 drm/ttm: use rcu in core ttm Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 5fbad9928faf93f69903c8662ec9874ac4a0754e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed May 14 15:41:49 2014 +0200 drm/vmwgfx: use rcu in vmw_user_dmabuf_synccpu_grab Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 65cd90ac765fb6960f1e3815cc31972fc4599c37 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Aug 5 20:14:30 2014 +0200 netfilter: nft_chain_nat_ipv4: use generic IPv4 NAT code from core Use the exported IPv4 NAT functions that are provided by the core. This removes duplicated code so iptables and nft use the same NAT codebase. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 30766f4c2d60dd2a3fc67b7114174c417f43f4c6 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Aug 5 20:02:42 2014 +0200 netfilter: nat: move specific NAT IPv4 to core Move the specific NAT IPv4 core functions that are called from the hooks from iptable_nat.c to nf_nat_l3proto_ipv4.c. This prepares the ground to allow iptables and nft to use the same NAT engine code that comes in a follow up patch. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d102cac8097c71bbbba41f4d0cdf5b509d4c64cf Author: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Date: Wed Aug 20 23:05:40 2014 -0300 [media] media: check status of dmxdev->exit in poll functions of demux&dvr when usb-type tuner is pulled out, user applications did not close device's FD, and go on polling the device, we should return POLLERR directly. Signed-off-by: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 236c9bfa4a133cbdfeeb3f7a1902950210549634 Author: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Date: Wed Aug 20 23:05:07 2014 -0300 [media] media: correct return value in dvb_demux_poll Data type of return value is unsigned int, but in function of dvb_demux_poll, when the pointer of dmxdevfilter equals NULL, it will return -EINVAL, which is invalid. Signed-off-by: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7a0af6ed97f2f08baecb452e719d9c961d117109 Author: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Date: Wed Aug 20 23:04:25 2014 -0300 [media] media: fix kernel deadlock due to tuner pull-out while playing Normally, ADAP_STREAMING bit is set in dvb_usb_start_feed and cleared in dvb_usb_stop_feed. But in exceptional cases, for example, when the tv is playing programs and the tuner is pulled out, then dvb_usbv2_disconnect is called. In such case, it will first call dvb_usbv2_adapter_frontend_exit to stop dvb_frontend_thread, and then call dvb_usbv2_adapter_dvb_exit to clear ADAP_STREAMING bit. At this point, if dvb_frontend_thread is sleeping and waiting for ADAP_STREAMING to be cleared to get out of sleep. then dvb_frontend_thread can never be stoped, because clearing ADAP_STREAMING bit is performed after dvb_frontend_thread is stopped (i.e. performed in dvb_usbv2_adapter_dvb_exit). So, deadlock: [ 240.822037] INFO: task khubd:497 blocked for more than 120 seconds. [ 240.822655] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 240.830493] khubd D c0013b3c 0 497 2 0x00000000 [ 240.836996] [<c0013b3c>] (__schedule+0x200/0x54c) from [<c00110f4>] (schedule_timeout+0x14c/0x19c) [ 240.845940] [<c00110f4>] (schedule_timeout+0x14c/0x19c) from [<c00137f4>] (wait_for_common+0xac/0x150) [ 240.855234] [<c00137f4>] (wait_for_common+0xac/0x150) from [<c004989c>] (kthread_stop+0x58/0x90) [ 240.864004] [<c004989c>] (kthread_stop+0x58/0x90) from [<c03b2ebc>] (dvb_frontend_stop+0x3c/0x9c) [ 240.872849] [<c03b2ebc>] (dvb_frontend_stop+0x3c/0x9c) from [<c03b2f3c>] (dvb_unregister_frontend+0x20/0xd8) [ 240.882666] [<c03b2f3c>] (dvb_unregister_frontend+0x20/0xd8) from [<c03ed938>] (dvb_usbv2_exit+0x68/0xfc) [ 240.892204] [<c03ed938>] (dvb_usbv2_exit+0x68/0xfc) from [<c03eda18>] (dvb_usbv2_disconnect+0x4c/0x70) [ 240.901499] [<c03eda18>] (dvb_usbv2_disconnect+0x4c/0x70) from [<c031c050>] (usb_unbind_interface+0x58/0x188) [ 240.911395] [<c031c050>] (usb_unbind_interface+0x58/0x188) from [<c02c3e78>] (__device_release_driver+0x74/0xd0) [ 240.921544] [<c02c3e78>] (__device_release_driver+0x74/0xd0) from [<c02c3ef0>] (device_release_driver+0x1c/0x28) [ 240.931697] [<c02c3ef0>] (device_release_driver+0x1c/0x28) from [<c02c39b8>] (bus_remove_device+0xc4/0xe4) [ 240.941332] [<c02c39b8>] (bus_remove_device+0xc4/0xe4) from [<c02c1344>] (device_del+0xf4/0x178) [ 240.950106] [<c02c1344>] (device_del+0xf4/0x178) from [<c0319eb0>] (usb_disable_device+0xa0/0x1c8) [ 240.959040] [<c0319eb0>] (usb_disable_device+0xa0/0x1c8) from [<c03128b4>] (usb_disconnect+0x88/0x188) [ 240.968326] [<c03128b4>] (usb_disconnect+0x88/0x188) from [<c0313edc>] (hub_thread+0x4d0/0x1200) [ 240.977100] [<c0313edc>] (hub_thread+0x4d0/0x1200) from [<c0049690>] (kthread+0xa4/0xb0) [ 240.985174] [<c0049690>] (kthread+0xa4/0xb0) from [<c0009118>] (ret_from_fork+0x14/0x3c) [ 240.993259] INFO: task kdvb-ad-0-fe-0:3256 blocked for more than 120 seconds. [ 241.000349] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 241.008162] kdvb-ad-0-fe-0 D c0013b3c 0 3256 2 0x00000000 [ 241.014507] [<c0013b3c>] (__schedule+0x200/0x54c) from [<c03eda44>] (wait_schedule+0x8/0x10) [ 241.022924] [<c03eda44>] (wait_schedule+0x8/0x10) from [<c001120c>] (__wait_on_bit+0x74/0xb8) [ 241.031434] [<c001120c>] (__wait_on_bit+0x74/0xb8) from [<c00112b8>] (out_of_line_wait_on_bit+0x68/0x70) [ 241.040902] [<c00112b8>] (out_of_line_wait_on_bit+0x68/0x70) from [<c03e5e88>] (dvb_usb_fe_sleep+0xf4/0xfc) [ 241.050618] [<c03e5e88>] (dvb_usb_fe_sleep+0xf4/0xfc) from [<c03b4b74>] (dvb_frontend_thread+0x124/0x4e8) [ 241.060164] [<c03b4b74>] (dvb_frontend_thread+0x124/0x4e8) from [<c0049690>] (kthread+0xa4/0xb0) [ 241.068929] [<c0049690>] (kthread+0xa4/0xb0) from [<c0009118>] (ret_from_fork+0x14/0x3c) Fix it by calling dvb_usbv2_adapter_frontend_exit() latter. Test enviroment: odroidx2 + Hauppauge(WinTV-Aero-M) Signed-off-by: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 39e7f6f84b3a3aa4520504473f2e2bac1f949ffa Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed May 14 15:40:49 2014 +0200 drm/radeon: use rcu waits in some ioctls Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 59701f965442639e33b35cd2407d88948ea0b2b6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed May 14 15:38:23 2014 +0200 drm/nouveau: use rcu in nouveau_gem_ioctl_cpu_prep With the conversion to the reservation api this should be safe. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f2c24b83ae90292d315aa7ac029c6ce7929e01aa Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Apr 2 17:14:48 2014 +0200 drm/ttm: flip the switch, and convert to dma_fence Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 2f453ed4038526172292fb3250b638b3782c7f2b Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Apr 2 12:40:05 2014 +0200 drm/qxl: rework to new fence interface Final driver! \o/ This is not a proper dma_fence because the hardware may never signal anything, so don't use dma-buf with qxl, ever. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 29ba89b2371d466ca68973525816cf10debc2655 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxx> Date: Thu Jan 9 11:03:11 2014 +0100 drm/nouveau: rework to new fence interface Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2298e804e96eb3635c39519c8287befd92460303 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Mar 26 14:07:44 2014 +0100 drm/vmwgfx: rework to new fence interface, v2 Use the new fence interface on vmwgfx too. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> --- Changes since v1: Fix a sleeping function called from invalid context in enable_signaling. commit c060a4e135fdd8a35276f2e318f1e9b3bc2450a9 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Mar 26 13:06:24 2014 +0100 drm/vmwgfx: get rid of different types of fence_flags entirely Only one type was ever used. This is needed to simplify the fence support in the next commit. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 9bb87f168931cf55738ed2fbda3639575cede886 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 27 19:09:07 2014 +0200 usb: gadget: f_uac2: send reasonably sized packets The UAC2 function driver currently responds to all packets at all times with wMaxPacketSize packets. That results in way too fast audio playback as the function driver (which is in fact supposed to define the audio stream pace) delivers as fast as it can. Fix this by sizing each packet correctly with the following steps: a) Set the packet's size by dividing the nominal data rate by the playback endpoint's interval. b) If there is a residual value from the calculation in a), add it to a accumulator to keep track of it across packets. c) If the accumulator has gathered at least the number of bytes that are needed for one sample frame, increase the packet size. This way, the packet size calculation will get rid of any kind of imprecision that would otherwise occur with a simple division over time. Some of the variables that are needed while processing each packet are pre-computed for performance reasons. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ec9e43138f1219966850477e056f6eb7fbcc4fa4 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 27 19:09:06 2014 +0200 usb: gadget: f_uac2: handle partial dma area wrap With packet sizes other than 512, payloads in the packets may wrap around the ALSA dma buffer partially, which leads to memory corruption and audible clicks and pops in the audio stream at the moment, because there is no boundary check before the memcpy(). In preparation to an implementation for smaller and dynamically sized packets, we have to address such cases, and copy the payload in two steps conditionally. The 'src' and 'dst' approach doesn't work here anymore, as different behavior is necessary in playback and capture cases. Thus, this patch open-codes the routine now. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 254b3bf68b65ac8f82da1c7e0c1a2bb17012aa7d Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 27 19:09:05 2014 +0200 usb: gadget: f_uac2: introduce agdev_to_uac2_opts Add a simple container_of() wrapper to get a struct f_uac2_opts from a struct struct audio_dev. Use it in two places where it is currently open-coded. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a8147dabe56f7e7a4975e60abb613f7e62277577 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 27 19:09:04 2014 +0200 usb: gadget: f_uac2: add short-hand for 'dev' In afunc_bind() and afunc_set_alt(), &uac2->pdev.dev are used multiple times. Adding a short-hand for them makes lines shorter so we can remove some line wraps. No functional change. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 430fdbd3b7ea4a820d4c1aa936ede77433cfa818 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 27 19:09:03 2014 +0200 usb: gadget: f_uac2: restructure some code in afunc_set_alt() Restructure some code to make it easier to read. While at it, return -ENOMEM instead of -EINVAL if usb_ep_alloc_request() fails, and omit the logging in such cases (the mm core will complain loud enough). Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4953ef658910416655cdb4b61618458aa11302ab Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Wed Aug 27 22:58:48 2014 +0200 usb: gadget: f_mass_storage: simplify start_transfer slightly Flatten the start_transfer function by reversing the if condition and returning early out of the function if everything went fine. It makes the function look less complicated, at least to me, and easier to understand. Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9a4274699c6973f62979d664cbe7c9aca4f6a9a Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Wed Aug 27 22:58:47 2014 +0200 tools: ffs-test: add compatibility code for old kernels If ffs-test is used with a kernel prior to 3.14, which do not support the new descriptors format, it will fail when trying to write the descriptors. Add a function that converts the new descriptors to the legacy ones and use it to retry writing the descriptors using the legacy format. Also add â??-lâ?? flag to ffs-test which will cause the tool to never try the new format and instead immediatelly try the legacy one. This should be useful to test whether parsing of the old format still works on given 3.14+ kernel. Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 51c208c746e800dba37d1a54d3c5e601630266c4 Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Wed Aug 27 22:58:46 2014 +0200 tools: ffs-test: convert to new descriptor format Since commit [ac8dde11: â??Add flags to descriptors blockâ??] functionfs supports a new, more powerful and extensible, descriptor format. Since ffs-test is probably the first thing users of the functionfs interface see when they start writing functionfs user space daemons, convert it to use the new format thus promoting it. Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1df22b4ea9d91b01267fb61c155c31fb65d6b8a0 Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Wed Aug 27 22:58:45 2014 +0200 usb: gadget: f_fs: add usb_functionfs_descs_head_v2 structure The structure can be used with user space tools that use the new functionfs description format, for example as follows: static const struct { struct usb_functionfs_descs_head_v2 header; __le32 fs_count; __le32 hs_count; struct { â?¦ } fs_desc; struct { â?¦ } hs_desc; } descriptors = { .header = { .magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2), .length = cpu_to_le32(sizeof(descriptors)), .flags = cpu_to_le32(FUNCTIONFS_HAS_FS_DESC | FUNCTIONFS_HAS_HS_DESC) }, .fs_count = cpu_to_le32(X), .fs_desc = { â?¦ }, .hs_count = cpu_to_le32(Y), .hs_desc = { â?¦ } }; Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit be0a8887bb931af0e21531da20c41533effbb0d6 Author: Li Jun <B47624@xxxxxxxxxxxxx> Date: Thu Aug 28 21:44:11 2014 +0800 usb: gadget: composite: dequeue cdev->req before free its buffer commit f226708(usb: gadget: composite: dequeue cdev->req before free it in composite_dev_cleanup) fixed a bug: free the usb request(i.e. cdev->req) but does not dequeue it beforehand. This fix is not proper enough because it dequeues the request after free its data buffer, considering the hardware can access the buffer's memory anytime before the request's complettion rountine runs, and usb_ep_dequeue always call the complettion rountine before it returns, so the best way is to dequeue the request before free its buffer. Suggested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Li Jun <b47624@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d3102a5eaac708ab83fede0986f90e9971be55d3 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Aug 28 11:19:02 2014 -0700 usb: phy: twl6030-usb: Remove unused irq_enabled It's not being used any longer. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fa9a582da9e78c8498654d5c9c221ec3690944c1 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 29 21:31:40 2014 +0200 usb: gadget: USB_RENESAS_USBHS_UDC should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `usbhsg_dma_map_ctrl': mod_gadget.c:(.text+0x53b226): undefined reference to `usb_gadget_map_request' mod_gadget.c:(.text+0x53b242): undefined reference to `usb_gadget_unmap_request' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ea2fdf842365066c82ab941086c6a1741ced4f2a Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Thu Aug 28 13:58:53 2014 +0200 usb: phy: samsung: remove old common USB PHY code drivers/usb/phy/phy-samsung-usb[2,3] drivers got replaced by drivers/phy/phy-samsung-usb[2,3] ones and the old common Samsung USB PHY code is no longer used. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1c3c0528876e2dd86cfb86e96e03c38ef19858fe Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Aug 22 18:59:04 2014 +0200 usb: phy: samsung: remove old USB 3.0 PHY driver drivers/usb/phy/phy-samsung-usb3 driver got replaced by drivers/phy/phy-samsung-usb3 one and is no longer used. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a8b5b12eff1510d701ac5ad321e215d7153c96c3 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Aug 22 18:59:03 2014 +0200 usb: phy: samsung: remove old USB 2.0 PHY driver drivers/usb/phy/phy-samsung-usb2 driver got replaced by drivers/phy/phy-samsung-usb2 one and is no longer used. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2b37c2955204066d32566a50372da95ab734fc7e Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Sep 2 11:00:22 2014 +0300 ath10k: don't access tx_info while overwriting it Nothing important was being overwritten so it didn't yield any bugs yet. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d35a6c18cb70be7961127f179a3394fe29a4ffe4 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Sep 2 11:00:21 2014 +0300 ath10k: add device/driver strings to tracepoints This makes it easier to log and debug via tracing with more than 1 ath10k device on a system. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9e264945b8959f9e95fef162ae9c2fe0ec22f909 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Sep 2 11:00:21 2014 +0300 ath10k: remove diag_*_access functions Remove the ugly _access functions. Being explicit is a good thing. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit fbff66108352d19b5cffa7dce26d7638c9dd4d70 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Aug 28 04:43:09 2014 -0700 security: Silence shadow warning Renaming an unused formal parameter in the static inline function security_inode_init_security eliminates many W=2 warnings. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 7cc5f270ee6e271df466f9d3c1c4522593002ac4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:50:03 2014 +0200 ARM: at91: sama5: update defconfig Update defconfig, adding: - PWM support using the generic framework - generic PWM leds - Power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c92e99f0bc1cd9feefaa93ce9245db8abdeca836 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:50:02 2014 +0200 ARM: at91: at91sam9rl: update defconfig Update defconfig, adding: - USB gadget - PWM support using the generic framework - generic PWM leds - LEDs triggers - Power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 31bcf0a63994081a3a315d02379528701c0a0e43 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:50:01 2014 +0200 ARM: at91: at91sam9g45: update defconfig Update defconfig, adding: - PWM support using the generic framework - generic PWM leds - Power/reset - Watchdog and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c5de16c0b769753a6df20465bd53bd53ad7c9c8a Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:50:00 2014 +0200 ARM: at91: at91sam9263: update defconfig Update defconfig, adding: - PWM support using the generic framework - generic PWM leds - Power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 825f30bc22f946db988848cc981fbdc8f66f6042 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:49:59 2014 +0200 ARM: at91: at91sam9261_9g10: update defconfig Update defconfig, adding power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit f1c86dd86f658001c276dd29ae6f285370e5af13 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:49:58 2014 +0200 ARM: at91: at91sam9260_9g20: update defconfig Update defconfig, adding: - ADC/touchscreen - Power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 443c4a4a66bacd314bd407f8e9e634695478b914 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:49:57 2014 +0200 ARM: at91: at91_dt: update defconfig Update defconfig, adding: - ADC/touchscreen - PWM support using the generic framework - generic PWM leds - Power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 3feb049f378da6aa1209e05ef5c656a1f26a9183 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:55 2014 -0700 gpu: ipu-v3: Add ipu_dump() Adds ipu_dump() which dumps IPU register state to debug. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 60c04456f68f67f68180ebd84a47e4c58931f70f Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:54 2014 -0700 gpu: ipu-cpmem: Add ipu_cpmem_dump() Adds ipu_cpmem_dump() which dumps a channel's cpmem to debug. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 9a34cef01392358421b764645073601c352d0a85 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:53 2014 -0700 gpu: ipu-v3: Add more planar formats support Adds support for the following planar and partial-planar formats: YUV422 NV12 NV16 Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@xxxxxxxxxx> Signed-off-by: Mohsin Kazmi <mohsin_kazmi@xxxxxxxxxx> Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Unified base offset and Y plane offset into a single variable, moved all ipu_cpmem_set_buffer calls to a single location. Removed NV21 and NV61 for now. The IDMAC doesn't understand U/V order for chroma interleaved formats, so we'd need to work around this by implenting U/V switching via the CSC unit. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 2094b603ae59be6785e52a00d09b47b6ae910154 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:52 2014 -0700 gpu: ipu-cpmem: Add second buffer support to ipu_cpmem_set_image() Add a second buffer physaddr to struct ipu_image, for double-buffering support. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit c42d37ca421aa222e8f27744d4129bce726a3724 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:51 2014 -0700 gpu: ipu-cpmem: Add ipu_cpmem_set_rotation() Adds ipu_cpmem_set_rotation(). Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 555f0e6690a41245518003c02a1ecb84e4a69281 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:50 2014 -0700 gpu: ipu-cpmem: Add ipu_cpmem_set_axi_id() Adds ipu_cpmem_set_axi_id() to set which AXI bus master the channel will use to transfer data onto AXI bus. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 9b9da0be37490c77e92a2101a8c5d469ce1102f4 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:49 2014 -0700 gpu: ipu-cpmem: Add ipu_cpmem_set_block_mode() Adds ipu_cpmem_set_block_mode(). Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 4fd1a07af59bf5e1cfb73f7035bf525522cebc76 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:45 2014 -0700 gpu: ipu-v3: Add ipu_idmac_lock_enable() Adds ipu_idmac_lock_enable(), which enables or disables channel burst locking. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 2bcf577eb6361827f8347529803528031033cb83 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:44 2014 -0700 gpu: ipu-v3: Add ipu_idmac_enable_watermark() Adds the function ipu_idmac_enable_watermark(), which enables or disables watermarking in the IDMAC channel. Enabling watermarking can increase a channel's AXI bus arbitration priority. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 6930afdccfd2b3e6669c305d97958d81cf0d072e Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:43 2014 -0700 gpu: ipu-v3: Add ipu_stride_to_bytes() Adds ipu_stride_to_bytes(), which converts a pixel stride to bytes, suitable for passing to cpmem. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit e7268c699bbe578e6dcf02e9f7f5a267837bc18f Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:42 2014 -0700 gpu: ipu-v3: Add __ipu_idmac_reset_current_buffer() Adds __ipu_idmac_reset_current_buffer() that resets a channel's internal current buffer pointer so that transfers start from buffer 0 on the next channel enable. This operation is required for channel linking to work correctly, for instance video capture pipelines that carry out image rotations will fail after the first streaming unless this function is called for each channel before re-enabling the channels. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit bce6f087a958a21500c51a9e63a5f578f5b0510c Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:41 2014 -0700 gpu: ipu-v3: Add ipu_idmac_clear_buffer() Add the reverse of ipu_idmac_select_buffer(), that is, clear a buffer ready status in a channel. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit aa52f57894b93dcfdd615b35a7579e161f1e7a38 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:40 2014 -0700 gpu: ipu-v3: Add ipu_idmac_buffer_is_ready() Add ipu_idmac_buffer_is_ready(), returns true if the given buffer in the given channel is set ready (owned by IPU), or false if not ready (owned by CPU core). Support has been added for third buffer, there is no support yet for triple-buffering in idmac channels, but this function checks buffer-ready for third buffer in case this support is added later. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit a4cd8f229ff71db0c95c0d96381d4fb9239fdb19 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:39 2014 -0700 gpu: ipu-v3: Move IDMAC channel names to imx-ipu-v3.h Move the IDMAC channel names to imx-ipu-v3.h, to make the names available outside IPU. Add a couple new channels in the process (async display BG/FG, channels 24 and 29). Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 4cea940d34319fb5d5e2f4d554e23f766c228e90 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:38 2014 -0700 gpu: ipu-v3: Add helper function checking if pixfmt is planar Add simple helper function returning true if passed pixel format is one of supported planar ones. Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit f835f386a119c3f78f5acb93e86a4f025211739a Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:37 2014 -0700 gpu: ipu-v3: Add rotation mode conversion utilities Add two functions: - ipu_degrees_to_rot_mode(): converts a degrees, hflip, and vflip setting to an IPU rotation mode. - ipu_rot_mode_to_degrees(): converts an IPU rotation mode with given hflip and vflip settings to degrees. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit ae0e9708b30b3eebe5a58e4d055eb49a73d641dd Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:36 2014 -0700 gpu: ipu-v3: Add ipu_mbus_code_to_colorspace() Add ipu_mbus_code_to_colorspace() to find ipu_color_space from a media bus pixel format code. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit a2be35e3320b27c84488729e9fb56a62e74d65fa Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:35 2014 -0700 gpu: ipu-v3: smfc: Add ipu_smfc_set_watermark() Adds ipu_smfc_set_watermark() which programs a channel's SMFC FIFO levels at which the watermark signal is set and cleared. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7fafa8f06f9bdf32b806b4612bfe387de8e34125 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:34 2014 -0700 gpu: ipu-v3: smfc: Convert to per-channel Convert the smfc object to be specific to a single smfc channel. Add ipu_smfc_{get|put} to retrieve and release a single smfc channel for exclusive use, and add use counter to ipu_smfc_{enable|disable}. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit fc4353559e587f5962f22c24ca7e015bdbea1e49 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:33 2014 -0700 gpu: ipu-v3: smfc: Move enable/disable to ipu-smfc.c Move the SMFC module enable/disable helpers into the ipu-smfc submodule. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 1aa8ea0d2bd5d4ba7b5d2b132a02157bc1fb9793 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Mon Aug 11 13:04:50 2014 +0200 gpu: ipu-v3: Add Image Converter unit Adds the Image Converter (IC) unit. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Condensed the three CSC setup functions into a single one that uses static tables to set up the CSC task parameters. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 2ffd48f2e7ae06c3d7b2bcde9a0cb211d1a32468 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Tue Aug 19 10:52:40 2014 -0700 gpu: ipu-v3: Add Camera Sensor Interface unit Adds the Camera Sensor Interface (CSI) unit required for video capture. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Removed the unused clk_get_rate in ipu_csi_init_interface and the ipu_csi_ccir_err_detection_enable/disable functions. Checkpatch cleanup. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 327455817a92522e669d2d11367e42af5956a8ed Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Aug 29 20:00:59 2014 +0530 pinctrl: qcom: Add support for reset for apq8064 This patch adds support for reset functions to reboot the boards with soc apq8064. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: "Ivan T. Ivanov" <iivanov@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 79c62cdd0760fb43acf680c89dc508b41a60d222 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Aug 29 20:00:58 2014 +0530 pinctrl: msm: Add ps_hold function in pinctrl-apq8064 binding documentation This adds a function ps_hold (Power Suppy Hold Signal) in pinctrl-ap8064 documentation which was missing. This function is used to reset the targets with apq8064 soc. CC: "Ivan T. Ivanov" <iivanov@xxxxxxxxxx> CC: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> CC: Andy Gross <agross@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c6e927a27498bf9314ba8e313d15d1b3f6046d7f Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Aug 29 13:41:48 2014 +0530 pinctrl: qcom: remove gpiochip in failure cases This patch releases gpiochip related resources by calling gpiochip_remove when either of gpiochip_add_pin_range and gpiochip_irqchip_add fails. CC: Linus Walleij <linus.walleij@xxxxxxxxxx> CC: "Ivan T. Ivanov" <iivanov@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f9134be491dec9e6cada46abbfb01982a7afffa8 Author: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> Date: Tue Sep 2 14:28:14 2014 +0300 dma-debug: modify check_for_stack output s/fromstack/from stack Signed-off-by: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 880a6fab8f6ba5b5abe59ea68533202ddea1012c Author: Christophe Gouault <christophe.gouault@xxxxxxxxx> Date: Fri Aug 29 16:16:05 2014 +0200 xfrm: configure policy hash table thresholds by netlink Enable to specify local and remote prefix length thresholds for the policy hash table via a netlink XFRM_MSG_NEWSPDINFO message. prefix length thresholds are specified by XFRMA_SPD_IPV4_HTHRESH and XFRMA_SPD_IPV6_HTHRESH optional attributes (struct xfrmu_spdhthresh). example: struct xfrmu_spdhthresh thresh4 = { .lbits = 0; .rbits = 24; }; struct xfrmu_spdhthresh thresh6 = { .lbits = 0; .rbits = 56; }; struct nlmsghdr *hdr; struct nl_msg *msg; msg = nlmsg_alloc(); hdr = nlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, XFRMA_SPD_IPV4_HTHRESH, sizeof(__u32), NLM_F_REQUEST); nla_put(msg, XFRMA_SPD_IPV4_HTHRESH, sizeof(thresh4), &thresh4); nla_put(msg, XFRMA_SPD_IPV6_HTHRESH, sizeof(thresh6), &thresh6); nla_send_auto(sk, msg); The numbers are the policy selector minimum prefix lengths to put a policy in the hash table. - lbits is the local threshold (source address for out policies, destination address for in and fwd policies). - rbits is the remote threshold (destination address for out policies, source address for in and fwd policies). The default values are: XFRMA_SPD_IPV4_HTHRESH: 32 32 XFRMA_SPD_IPV6_HTHRESH: 128 128 Dynamic re-building of the SPD is performed when the thresholds values are changed. The current thresholds can be read via a XFRM_MSG_GETSPDINFO request: the kernel replies to XFRM_MSG_GETSPDINFO requests by an XFRM_MSG_NEWSPDINFO message, with both attributes XFRMA_SPD_IPV4_HTHRESH and XFRMA_SPD_IPV6_HTHRESH. Signed-off-by: Christophe Gouault <christophe.gouault@xxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit b58555f1767c9f4e330fcf168e4e753d2d9196e0 Author: Christophe Gouault <christophe.gouault@xxxxxxxxx> Date: Fri Aug 29 16:16:04 2014 +0200 xfrm: hash prefixed policies based on preflen thresholds The idea is an extension of the current policy hashing. Today only non-prefixed policies are stored in a hash table. This patch relaxes the constraints, and hashes policies whose prefix lengths are greater or equal to a configurable threshold. Each hash table (one per direction) maintains its own set of IPv4 and IPv6 thresholds (dbits4, sbits4, dbits6, sbits6), by default (32, 32, 128, 128). Example, if the output hash table is configured with values (16, 24, 56, 64): ip xfrm policy add dir out src 10.22.0.0/20 dst 10.24.1.0/24 ... => hashed ip xfrm policy add dir out src 10.22.0.0/16 dst 10.24.1.1/32 ... => hashed ip xfrm policy add dir out src 10.22.0.0/16 dst 10.24.0.0/16 ... => unhashed ip xfrm policy add dir out \ src 3ffe:304:124:2200::/60 dst 3ffe:304:124:2401::/64 ... => hashed ip xfrm policy add dir out \ src 3ffe:304:124:2200::/56 dst 3ffe:304:124:2401::2/128 ... => hashed ip xfrm policy add dir out \ src 3ffe:304:124:2200::/56 dst 3ffe:304:124:2400::/56 ... => unhashed The high order bits of the addresses (up to the threshold) are used to compute the hash key. Signed-off-by: Christophe Gouault <christophe.gouault@xxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 5a82067f013fb4f5083fabf4d28f4d1bbada8734 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 2 08:47:31 2014 +0800 regulator: rk808: Fix n_voltages for DCDC4 The min_sel is 0, max_sel is 15, so n_voltages should be 16. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cdc67fa9415ff37d9970729c7a8d5c8911c1d204 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:54:37 2014 +0900 spi: xtensa-xtfpga: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 175a3edcfdc4f25c53f265227c4e810ab2de80b5 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:50:13 2014 +0900 spi: ep93xx: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2c6fddd061d948733c8c417a9fc11b671b5499b6 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Fri Jun 6 17:37:06 2014 +0800 ARM: at91/sama5_defconfig: enable sound support Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7df3077b34840d50b42dbe077ad7172e409620ea Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Fri Jun 6 17:37:05 2014 +0800 ARM: at91/at91_dt_defconfig: enable sound support As sound support depends on ssc, i2c and dma, so also enable them. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e68885e24ad1a2d7d4ad6df04cbc9b623bd1d0b9 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 00:37:13 2014 -0300 gpu: ipu-v3: ipu-smfc: Do not leave DEBUG defined Let's only define DEBUG for debugging purpose and not by default to avoid printing debugging message unnecessarily. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit a198420028bb6ddb1930dddc3602a3e9b4803ed5 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Aug 29 14:39:19 2014 +0200 pinctrl: sh-pfc: use a saner Kconfig symbol There is currently a kludge to get the Makefile to move down to sh-pfc:s drivers: the arch definitions are used twice to get it done. However we can very well use the Kconfig symbol for the SH PFC pin control feature itself: it doesn't matter that it comes from a lower leaf in the Kconfig hierarchy which is completely orthogonal. Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0752e169ba523e35f70d2fee4d06680b33e0e202 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 2 15:17:54 2014 +0200 gpio: adnp: switch to use irqchip helpers This switches the ADNP GPIO driver to use the gpiolib irqchip helpers. Also do some random refactoring to make it look like most other GPIO drivers. Cc: Roland Stigge <stigge@xxxxxxxxx> Cc: Lars Poeschel <poeschel@xxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e4946cdcabcffd4814e153e71d28884b94c65e9e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 3 10:38:18 2014 +0800 gpu: ipu-v3: Return proper error on ipu_add_client_devices error path Avoid returning an uninitialized variable in the error path. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit b6c044a3d881c1b01fe0220ad76e548ea5d79b1c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 3 10:36:59 2014 +0800 gpu: ipu-v3: Select GENERIC_IRQ_CHIP to fix build error This driver uses GENERIC_IRQ_CHIP, so it needs to select GENERIC_IRQ_CHIP to avoid build error. Fixes below build errors: ERROR: "irq_alloc_domain_generic_chips" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! ERROR: "irq_gc_mask_clr_bit" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! ERROR: "irq_gc_mask_set_bit" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! ERROR: "irq_generic_chip_ops" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! ERROR: "irq_gc_ack_set_bit" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! ERROR: "irq_get_domain_generic_chip" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit d6b9302f79783dc79a5a1f99efb2f727316004b4 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Apr 30 23:26:41 2014 -0700 ARM: at91: add MTD_SPI_NOR (new dependency for M25P80) This defconfig contains the CONFIG_M25P80 symbol, which is now dependent on the MTD_SPI_NOR symbol. Add CONFIG_MTD_SPI_NOR to satisfy the new dependency. At the same time, drop the now-nonexistent CONFIG_MTD_CHAR symbol. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Andrew Victor <linux@xxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d24cd78399a3625a69887c8124638260c1c37a2b Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Tue Aug 12 16:37:57 2014 +0200 ARM: at91: sama5d3: add usart dma configurations Add the DMA configuration for USARTs mainly because it is not obvious to add the FIFO flag which is needed for rx. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e556f111847f94557ce7d5d9435e183783839f63 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 28 12:58:17 2014 +0200 ath10k: stop monitor vdev for sta assoc This prevents some fw revisions from crashing in many cases when user is trying to run a promiscuous station interface (e.g. sniffing, 4addr bridge). Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1933747f5c29d38936cb53f35b4d8070f1cbefe2 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 28 12:58:16 2014 +0200 ath10k: fix monitor start/stop sequences Fix some cases where monitor start failure left the driver in a confused state. This also makes the monitor code simpler. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2139627172429baee9d62696c6923ce5dc7052bc Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 28 10:24:40 2014 +0200 ath10k: kill tasklets after free_irq Commit 5c771e7454d148af35e8b4297d00f880de79ea49 introduced a regression. On some systems spurious interrupts could schedule a tasklet while tearing down leading to, e.g.: BUG: unable to handle kernel paging request at fe589030 IP: [<c1316fb0>] ioread32+0x30/0x40 ... Call Trace: [<fe576c1b>] ath10k_pci_tasklet+0x1b/0x60 [ath10k_pci] [<c1053fbe>] tasklet_action+0x9e/0xb0 [<c10534f1>] __do_softirq+0xf1/0x3f0 [<c1053400>] ? ftrace_raw_event_irq_handler_entry+0xa0/0xa0 [<c1004999>] do_softirq_own_stack+0x29/0x40 <IRQ> [<c1053a76>] irq_exit+0x86/0xb0 ... [<c132d522>] do_pci_disable_device+0x52/0x60 [<c132d57f>] pci_disable_device+0x4f/0xb0 [<c132a961>] ? __pci_set_master+0x51/0x80 [<fe5740b3>] ath10k_pci_release+0x33/0x40 [ath10k_pci] [<fe575d4b>] ath10k_pci_remove+0x7b/0x90 [ath10k_pci] Reported-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Tested-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a4841eb6392e14a5070e633de30637342f6578d2 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 28 09:59:39 2014 +0200 ath10k: fix num_legacy_stations tracking If a station was reassociated, i.e. due to change of supported rates update via sta_rc_update() the num_legacy_stations would be (incorrectly) bumped up leading to unbalanced usage of the var. This in turn could lock rtscts protection up as enabled. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit e75db4e3685f79e4d9426499565e56e347a9bd25 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 28 22:14:16 2014 +0300 ath10k: re-enable interrupts properly in hw recovery Recent changes done to start/restart sequences broke hw recovery in some hw configurations. The pci transport was stopped twice however due to a workaround in the pci disabling code the disable/enable for first msi interrupt was not balanced. This ended up with irqs not being properly re-enabled and the following print out during recovery: ath10k: failed to receive control response completion, polling.. ath10k: Service connect timeout: -110 ath10k: Could not init core: -110 Legacy interrupt mode was unaffected while msi ranged mode would be partially crippled (it would miss fw indication interrupts but otherwise it worked fine). This fixes completely broken fw recovery for a single msi interrupt mode and fixes subsequent fw crash reports for msi range interrupt mode. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f4ce6eca71d15b8e12a33ac8e1ef733a83944d2e Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 13 23:27:55 2014 +0200 EDAC: Fix mem_types strings type This one got forgotten during an earlier cleanup. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 364a9e93243d1785f310c0964af0e24bf1adac03 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Sun Aug 31 21:30:27 2014 -0400 sock: deduplicate errqueue dequeue sk->sk_error_queue is dequeued in four locations. All share the exact same logic. Deduplicate. Also collapse the two critical sections for dequeue (at the top of the recv handler) and signal (at the bottom). This moves signal generation for the next packet forward, which should be harmless. It also changes the behavior if the recv handler exits early with an error. Previously, a signal for follow-up packets on the errqueue would then not be scheduled. The new behavior, to always signal, is arguably a bug fix. For rxrpc, the change causes the same function to be called repeatedly for each queued packet (because the recv handler == sk_error_report). It is likely that all packets will fail for the same reason (e.g., memory exhaustion). This code runs without sk_lock held, so it is not safe to trust that sk->sk_err is immutable inbetween releasing q->lock and the subsequent test. Introduce int err just to avoid this potential race. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fe2f761cae9da9f9031162f104164a812ce78ab Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Sun Aug 31 21:27:47 2014 -0400 net-timestamp: expand documentation Expand Documentation/networking/timestamping.txt with new interfaces and bytestream timestamping. Also minor cleanup of the other text. Import txtimestamp.c test of the new features. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5a65680b3c29ddf8f4a0bfb4ba75ea230735a38 Merge: 52aec12 72297c5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 1 21:36:35 2014 -0700 Merge branch 'csums-next' Tom Herbert says: ==================== net: Checksum offload changes - Part VI I am working on overhauling RX checksum offload. Goals of this effort are: - Specify what exactly it means when driver returns CHECKSUM_UNNECESSARY - Preserve CHECKSUM_COMPLETE through encapsulation layers - Don't do skb_checksum more than once per packet - Unify GRO and non-GRO csum verification as much as possible - Unify the checksum functions (checksum_init) - Simplify code What is in this seventh patch set: - Add skb->csum. This allows a device or GRO to indicate that an invalid checksum was detected. - Checksum unncessary to checksum complete conversions. With these changes, I believe that the third goal of the overhaul is now mostly achieved. In the case of no encapsulation or one layer of encapsulation, there should only be at most one skb_checksum over each packet (between GRO and normal path). In the case of two layers of encapsulation, it is still possible with the right combination of non-zero and zero UDP checksums to have >1 skb_checksum. For instance: IP>GRE(with csum)>IP>UDP(zero csum)>VXLAN>IP>UDP(non-zero csum), would likely necessiate an skb_checksum in GRO and normal path. This doesn't seem like a common scenario at all so I'm inclined to not address this now, if multiple layers of encapsulation becomes popular we can reassess. Note that checksum conversion shows a nice improvement for RX VXLAN when outer UDP checksum is enabled (12.65% CPU compared to 20.94%). This is not only from the fact that we don't need checksum calculation on the host, but also allows GRO for VXLAN in this case. Checksum conversion does not help send side (which still needs to perform a checksum on host). For that we will implement remote checksum offload in a later patch (http://tools.ietf.org/html/draft-herbert-remotecsumoffload-00). Please review carefully and test if possible, mucking with basic checksum functions is always a little precarious :-) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72297c59f7188d12f24daee1877e7dcca787cf1f Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:46 2014 -0700 l2tp: Enable checksum unnecessary conversions for l2tp/UDP sockets Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c60c308cbd0e672eabaaa544216f79d8bb3e707b Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:45 2014 -0700 vxlan: Enable checksum unnecessary conversions for vxlan/UDP sockets Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 884d338c041c2aa4536ade8620efa585e7c57f3c Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:44 2014 -0700 gre: Add support for checksum unnecessary conversions Call skb_checksum_try_convert and skb_gro_checksum_try_convert after checksum is found present and validated in the GRE header for normal and GRO paths respectively. In GRO path, call skb_gro_checksum_try_convert Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2abb7cdc0dc84e99b76ef983a1ae1978922aa9b3 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:43 2014 -0700 udp: Add support for doing checksum unnecessary conversion Add support for doing CHECKSUM_UNNECESSARY to CHECKSUM_COMPLETE conversion in UDP tunneling path. In the normal UDP path, we call skb_checksum_try_convert after locating the UDP socket. The check is that checksum conversion is enabled for the socket (new flag in UDP socket) and that checksum field is non-zero. In the UDP GRO path, we call skb_gro_checksum_try_convert after checksum is validated and checksum field is non-zero. Since this is already in GRO we assume that checksum conversion is always wanted. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d96535a17dbbafd567961d14c08c0984ddda9c3c Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:42 2014 -0700 net: Infrastructure for checksum unnecessary conversions For normal path, added skb_checksum_try_convert which is called to attempt to convert CHECKSUM_UNNECESSARY to CHECKSUM_COMPLETE. The primary condition to allow this is that ip_summed is CHECKSUM_NONE and csum_valid is true, which will be the state after consuming a CHECKSUM_UNNECESSARY. For GRO path, added skb_gro_checksum_try_convert which is the GRO analogue of skb_checksum_try_convert. The primary condition to allow this is that NAPI_GRO_CB(skb)->csum_cnt == 0 and NAPI_GRO_CB(skb)->csum_valid is set. This implies that we have consumed all available CHECKSUM_UNNECESSARY checksums in the GRO path. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a21232983aa7acfe7fd26170832a9e0a4a7b4ae Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:41 2014 -0700 net: Support for csum_bad in skbuff This flag indicates that an invalid checksum was detected in the packet. __skb_mark_checksum_bad helper function was added to set this. Checksums can be marked bad from a driver or the GRO path (the latter is implemented in this patch). csum_bad is checked in __skb_checksum_validate_complete (i.e. calling that when ip_summed == CHECKSUM_NONE). csum_bad works in conjunction with ip_summed value. In the case that ip_summed is CHECKSUM_NONE and csum_bad is set, this implies that the first (or next) checksum encountered in the packet is bad. When ip_summed is CHECKSUM_UNNECESSARY, the first checksum after the last one validated is bad. For example, if ip_summed == CHECKSUM_UNNECESSARY, csum_level == 1, and csum_bad is set-- then the third checksum in the packet is bad. In the normal path, the packet will be dropped when processing the protocol layer of the bad checksum: __skb_decr_checksum_unnecessary called twice for the good checksums changing ip_summed to CHECKSUM_NONE so that __skb_checksum_validate_complete is called to validate the third checksum and that will fail since csum_bad is set. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52aec126c42819899793b9ffbd3f2e25705ba096 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Tue Sep 2 10:27:52 2014 +0800 r8152: rename rx_buf_sz The variable "rx_buf_sz" is used by both tx and rx buffers. Replace it with "agg_buf_sz". Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4559154a58fdb18939dda8f1691a2aecf9154166 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 29 12:43:56 2014 -0700 net: phy: mdio-bcm-unimac: NULL-terminate unimac_mdio_ids drivers/net/phy/mdio-bcm-unimac.c:195:37-38: unimac_mdio_ids is not NULL terminated at line 195 Make sure of_device_id tables are NULL terminated Generated by: scripts/coccinelle/misc/of_table.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61b7363ffa48b36e2ff086c2d2524e40d3766571 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 29 12:42:07 2014 -0700 net: dsa: make dsa_pack_type static net/dsa/dsa.c:624:20: sparse: symbol 'dsa_pack_type' was not declared. Should it be static? Fixes: 3e8a72d1dae374 ("net: dsa: reduce number of protocol hooks") Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb68d0e2fc5a4e5c06324ea5f485fccbae626d05 Author: Zheng Liu <wenqing.lz@xxxxxxxxxx> Date: Mon Sep 1 22:26:49 2014 -0400 ext4: track extent status tree shrinker delay statictics This commit adds some statictics in extent status tree shrinker. The purpose to add these is that we want to collect more details when we encounter a stall caused by extent status tree shrinker. Here we count the following statictics: stats: the number of all objects on all extent status trees the number of reclaimable objects on lru list cache hits/misses the last sorted interval the number of inodes on lru list average: scan time for shrinking some objects the number of shrunk objects maximum: the inode that has max nr. of objects on lru list the maximum scan time for shrinking some objects The output looks like below: $ cat /proc/fs/ext4/sda1/es_shrinker_info stats: 28228 objects 6341 reclaimable objects 5281/631 cache hits/misses 586 ms last sorted interval 250 inodes on lru list average: 153 us scan time 128 shrunk objects maximum: 255 inode (255 objects, 198 reclaimable) 125723 us max scan time If the lru list has never been sorted, the following line will not be printed: 586ms last sorted interval If there is an empty lru list, the following lines also will not be printed: 250 inodes on lru list ... maximum: 255 inode (255 objects, 198 reclaimable) 0 us max scan time Meanwhile in this commit a new trace point is defined to print some details in __ext4_es_shrink(). Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Zheng Liu <wenqing.lz@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit e963bb1de415ab06693357336c1bec664753e1e2 Author: Zheng Liu <wenqing.lz@xxxxxxxxxx> Date: Mon Sep 1 22:22:13 2014 -0400 ext4: improve extents status tree trace point This commit improves the trace point of extents status tree. We rename trace_ext4_es_shrink_enter in ext4_es_count() because it is also used in ext4_es_scan() and we can not identify them from the result. Further this commit fixes a variable name in trace point in order to keep consistency with others. Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Zheng Liu <wenqing.lz@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit d91bd2c1d78d8d22f9f721aae84650a08239b509 Author: Seunghun Lee <waydi1@xxxxxxxxx> Date: Mon Sep 1 22:15:30 2014 -0400 ext4: fix comments about get_blocks get_blocks is renamed to get_block. Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 45f1a9c3f63db3d4562c16062a51740801fbd88c Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Mon Sep 1 21:34:09 2014 -0400 ext4: enable block_validity by default Enable by default the block_validity feature, which checks for collisions between newly allocated blocks and critical system metadata. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 0f23124aaacd68e11271f72a13f3a8e8904c26d3 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Wed Aug 27 16:06:46 2014 +0200 bonding: add slave_changelink support and use it for queue_id This patch adds support for slave_changelink to the bonding and uses it to give the ability to change the queue_id of the enslaved devices via netlink. It sets slave_maxtype and uses bond_changelink as a prototype for bond_slave_changelink. Example/test command after the iproute2 patch: ip link set eth0 type bond_slave queue_id 10 CC: David S. Miller <davem@xxxxxxxxxxxxx> CC: Jay Vosburgh <j.vosburgh@xxxxxxxxx> CC: Veaceslav Falico <vfalico@xxxxxxxxx> CC: Andy Gospodarek <andy@xxxxxxxxxxxxx> Suggested-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88fe1acb5bedfcba5f42fcdf165493ee587ba643 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 21:26:09 2014 -0400 jbd2: fold __wait_cp_io into jbd2_log_do_checkpoint() __wait_cp_io() is only called by jbd2_log_do_checkpoint(). Fold it in to make it a bit easier to understand. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 40c488df84f9fbf4b84b4baed6e2cec4a2d946ed Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:21:56 2014 +0200 ARM: shmobile: kzm9g-reference dts: Use tabs for indentation Checkpatch says: ERROR: code indent should use tabs where possible Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 99e544c782ba03855b9b6762b73915565065dbf8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:21:55 2014 +0200 ARM: shmobile: r8a7779 dtsi: Use tabs for indentation Checkpatch says: ERROR: code indent should use tabs where possible Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit be1158cc615fd723552f0d9912087423c7cadda5 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 21:19:01 2014 -0400 jbd2: fold __process_buffer() into jbd2_log_do_checkpoint() __process_buffer() is only called by jbd2_log_do_checkpoint(), and it had a very complex locking protocol where it would be called with the j_list_lock, and sometimes exit with the lock held (if the return code was 0), or release the lock. This was confusing both to humans and to smatch (which erronously complained that the lock was taken twice). Folding __process_buffer() to the caller allows us to simplify the control flow, making the resulting function easier to read and reason about, and dropping the compiled size of fs/jbd2/checkpoint.c by 150 bytes (over 4% of the text size). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 688d1945bc89bd585ec67b5b83121f499e6290bb Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 23:32:05 2014 -0700 tcp: whitespace fixes Fix places where there is space before tab, long lines, and awkward if(){, double spacing etc. Add blank line after declaration/initialization. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d09d3038a336cbab6bde616ce44266c36c214f81 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Aug 28 15:11:03 2014 -0700 net: systemport: tell RXCHK if we are using Broadcom tags When Broadcom tags are enabled, e.g: when interfaced to an Ethernet switch, make sure that we tell the RXCHK engine that it should be expecting a 4-bytes Broadcom tag after the Ethernet MAC Source Address. Use netdev_uses_dsa() to check for that condition since that will tell us if a switch is attached to our network interface. Fixes: 80105befdb4b ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afb84b6261841f8ab387e267e748236fa805bea0 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Thu Aug 28 18:14:47 2014 +0200 pktgen: add flag NO_TIMESTAMP to disable timestamping Then testing the TX limits of the stack, then it is useful to be-able to disable the do_gettimeofday() timetamping on every packet. This implements a pktgen flag NO_TIMESTAMP which will disable this call to do_gettimeofday(). The performance change on (my system E5-2695) with skb_clone=0, goes from TX 2,423,751 pps to 2,567,165 pps with flag NO_TIMESTAMP. Thus, the cost of do_gettimeofday() or saving is approx 23 nanosec. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1174c712afa2779fad54b86b3569f40fab78c0c2 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Aug 28 12:35:09 2014 +0900 ARM: shmobile: r8a7740: Add restart callback Port the r8a7740 restart handling from the Armadillo code to the r8a7740 generic multiplatform case. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cc9517d52fbf4b6e8baf0254f90b47bc1a5d90bb Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Aug 28 12:35:01 2014 +0900 ARM: shmobile: armadillo800eva: Build DTS for multiplatform Build the r8a7740 Armadillo800EVA board DTB in case of Multiplatform. The DT reference case will be removed and can be ignored for now. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 25aa7ba3fdfbfcb48e13c1b7d008bd9e2ca9fa82 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Aug 28 12:34:51 2014 +0900 ARM: shmobile: armadillo800eva: Sync DTS Take the contents from the Armadillo800EVA DT reference DTS and add them to the "regular" Armadillo800EVA DTS. This is preparation for removal of the DT reference DTS. So the goal is to have a single DTS for this Armadillo board. The SoC "r8a7740" is added to compatible string but the board is left as-is (excluding the reference suffix). The kernel command line is left as-is, earlyprintk is used in case of legacy and for multiplatform we can simply ignore it for now. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c41215b781efbfa22ffc9dc474c2981c130c153d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:36:53 2014 +0900 ARM: shmobile: r8a7740: Multiplatform support Enable r8a7740 Multiplatform support for the generic r8a7740 machine vector. No board support is enabled, and the board code for Armadillo 800 EVA DT Reference is left by itself. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 05f8461bf746660ea725f922cfae9af66be1f79f Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Thu Aug 28 16:54:24 2014 +0300 bnx2x: fix tunneled GSO over IPv6 Set correct bit for packed description. Introduced in e42780b66aab88d3a82b6087bcd6095b90eecde7 bnx2x: Utilize FW 7.10.51 Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55ef5c89db81aabf2c3802de830774feb7eb8b22 Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Thu Aug 28 16:54:23 2014 +0300 bnx2x: prevent incorrect byte-swap in BE Fixes incorrectly defined struct in FW HSI for BE platform. Affects tunneling, tx-switching and anti-spoofing. Introduced in e42780b66aab88d3a82b6087bcd6095b90eecde7 bnx2x: Utilize FW 7.10.51 Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5325ae5b8bff051933a754db7727fc9823e6414 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Aug 28 09:08:47 2014 +0200 tipc: add name distributor resiliency queue TIPC name table updates are distributed asynchronously in a cluster, entailing a risk of certain race conditions. E.g., if two nodes simultaneously issue conflicting (overlapping) publications, this may not be detected until both publications have reached a third node, in which case one of the publications will be silently dropped on that node. Hence, we end up with an inconsistent name table. In most cases this conflict is just a temporary race, e.g., one node is issuing a publication under the assumption that a previous, conflicting, publication has already been withdrawn by the other node. However, because of the (rtt related) distributed update delay, this may not yet hold true on all nodes. The symptom of this failure is a syslog message: "tipc: Cannot publish {%u,%u,%u}, overlap error". In this commit we add a resiliency queue at the receiving end of the name table distributor. When insertion of an arriving publication fails, we retain it in this queue for a short amount of time, assuming that another update will arrive very soon and clear the conflict. If so happens, we insert the publication, otherwise we drop it. The (configurable) retention value defaults to 2000 ms. Knowing from experience that the situation described above is extremely rare, there is no risk that the queue will accumulate any large number of items. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4ad8a4b8b9f490a15c3239e0d6ac99e7e438d34 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Aug 28 09:08:46 2014 +0200 tipc: refactor name table updates out of named packet receive routine We need to perform the same actions when processing deferred name table updates, so this functionality is moved to a separate function. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1764bcd9fe0fa075b3c847836b646c386f7a672b Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Aug 28 10:24:18 2014 +0800 r8152: reduce the number of Tx Because the Tx has the features of stopping queue and aggregation, We don't need many tx buffers. Change the tx number from 10 to 4 to reduce the usage of the memory. This could save 16K * 6 bytes memory. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e8e8a9b0d86c093b208789fd71501c91a919ffdb Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Wed Aug 27 17:11:38 2014 -0700 clk: mvebu: powersave clock is a multiplexer Kirkwood is unique among the mvebu SoCs for having a clock multiplexer that feeds into the cpu. This multiplexer can select either the cpu pll or the ddr clock as its input signal, allowing for a choice between performance and power savings. This patch introduces the code needed to register the clock multiplexer on Kirkwood SoCs but does not include the clock data to actually register the clock. That will be done in a follow-up patch which is necessary to prevent breaking git bisect. Cc: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 87e392164ab6c0f3f055f8483dc7dc3f1afa19ad Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Wed Aug 27 15:36:37 2014 -0700 clk: mvebu: share locks between gate clocks Refactor mvebu_clk_gating_setup() to use a common spinlock instead of a unique lock for every instance of a struct clk_gating_ctrl object. This will be used later for a separate mux clock type that shares a register with gate clock types and needs to use the same lock to protect access to the register. Cc: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 53fda7f7f9e88fa9015b2cdabebfaf5477a28241 Merge: dace1b5 8dcda22 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 1 17:40:01 2014 -0700 Merge branch 'xmit_list' David Miller says: ==================== net: Make dev_hard_start_xmit() work fundamentally on lists After this patch set, dev_hard_start_xmit() will work fundemantally on any and all SKB lists. This opens the path for a clean implementation of pulling multiple packets out during qdisc_restart(), and then passing that blob in one shot to dev_hard_start_xmit(). There were two main architectural blockers to this: 1) The GSO handling, we kept the original GSO head SKB around simply because dev_hard_start_xmit() had no way to communicate to the caller how far into the segmented list it was able to go. Now it can, so the head GSO can be liberated immediately. All of the special GSO head SKB destructor et al. handling goes away too. 2) Validate of VLAN, CSUM, and segmentation characteristics was being performed inside of dev_hard_start_xmit(). If want to truly batch, we have to let the higher levels to this. In particular, this is now dequeue_skb()'s job. And with those two issues out of the way, it should now be trivial to build experiments on top of this patch set, all of the framework should be there now. You could do something as simple as: skb = q->dequeue(q); if (skb) skb = validate_xmit_skb(skb, qdisc_dev(q)); if (skb) { struct sk_buff *new, *head = skb; int limit = 5; do { new = q->dequeue(q); if (new) new = validate_xmit_skb(new, qdisc_dev(q)); if (new) { skb->next = new; skb = new; } } while (new && --limit); skb = head; } inside of the else branch of dequeue_skb(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8dcda22a5d0abaf347b21b057655f3809b91639d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 1 15:06:40 2014 -0700 net: xmit_list() becomes dev_hard_start_xmit(). Now fundamentally we can process lists of SKBs as cheaply as single packets. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce93718fb7cdbc064c3000ff59e4d3200bdfa744 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 30 19:22:20 2014 -0700 net: Don't keep around original SKB when we software segment GSO frames. Just maintain the list properly by returning the head of the remaining SKB list from dev_hard_start_xmit(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50cbe9ab5f8d92d2d4a327b56e96559d8f63a1fa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 30 19:13:51 2014 -0700 net: Validate xmit SKBs right when we pull them out of the qdisc. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eae3f88ee44251bcca3a085f9565257c6f9f9e69 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 30 15:17:13 2014 -0700 net: Separate out SKB validation logic from transmit path. dev_hard_start_xmit() does two things, it first validates and canonicalizes the SKB, then it actually sends it. Make a set of helper functions for doing the first part. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95f6b3dda2a4a052f7dabe9998e4ffac491b7bc2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 21:57:30 2014 -0700 net: Have xmit_list() signal more==true when appropriate. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa2dbdc253c2aee2a760c64de454cb62469ec11d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 21:55:22 2014 -0700 net: Pass a "more" indication down into netdev_start_xmit() code paths. For now it will always be false. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f2e870f2a48a0524a3b03b04fa019311d16a7f7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 21:19:14 2014 -0700 net: Move main gso loop out of dev_hard_start_xmit() into helper. There is a slight policy change happening here as well. The previous code would drop the entire rest of the GSO skb if any of them got, for example, a congestion notification. That makes no sense, anything NET_XMIT_MASK and below is something like congestion or policing. And in the congestion case it doesn't even mean the packet was actually dropped. Just continue until dev_xmit_complete() evaluates to false. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ea255137555052655c6a646c4e48ea7481494c7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 21:10:01 2014 -0700 net: Create xmit_one() helper for dev_hard_start_xmit() Hopefully making the code a bit easier to read and digest. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10b3ad8c21bb4b135768c30dd4c51a1c744da699 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 21:07:24 2014 -0700 net: Do txq_trans_update() in netdev_start_xmit() That way we don't have to audit every call site to make sure it is doing this properly. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13298fbbdb3f6a0ef55419dc048e064c7a7b0ef8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:28:09 2014 +0200 ARM: shmobile: r8a7791 is now called "R-Car M2-W" As per recent revisions of the datasheet. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0cdc23df6e4014a6dafe351da436dcc453f203b1 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:45:50 2014 +0900 ARM: shmobile: Consolidate Legacy SH_CLK_CPG Kconfig Consolidate SH_CLK_CPG under ARCH_SHMOBILE_LEGACY so it can be shared by the legacy ARM mach-shmobile support code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0ed82bc9895daad86966d53e561330929774f92d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:45:41 2014 +0900 ARM: shmobile: Consolidate Legacy CPU_V7 Kconfig Consolidate CPU_V7 under ARCH_SHMOBILE_LEGACY so it can be shared by the legacy ARM mach-shmobile support code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 46bff9db49d7995f824add28122e2a694d54d6de Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:36:44 2014 +0900 ARM: shmobile: Only select PM_RMOBILE for legacy case Adjust the ARM mach-shmobile Kconfig bits to only select PM_RMOBILE in case of legacy. This allows us to enable partial multiplatform support for various SoCs before Power Domains DT bindings are finalized. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit abebbc4a026d8cdceb9f65c497b3db445c8ff5e7 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:04:01 2014 +0900 ARM: shmobile: Cleanup pm-rmobile.o build using Kconfig Add a CONFIG_PM_RMOBILE entry and enable it for R-Mobile SoCs in case CONFIG_PM is set. Consolidate Makefile power management objects and get rid of #ifdefs in the C code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1a950ca536dd5c40167ef58951e738ae430fa96d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:03:52 2014 +0900 ARM: shmobile: Cleanup pm-rcar.o build using Kconfig Add a CONFIG_PM_RCAR entry and enable it for R-Car Generation 1 or 2 in case CONFIG_PM or CONFIG_SMP is set. Consolidate power management objects and get rid of #ifdefs in the C code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0d91843346049d3131c2f75ff21d6b405cb68741 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:03:43 2014 +0900 ARM: shmobile: Introduce a Kconfig entry for R-Car Gen2 Add a Kconfig entry for R-Car Generation 2 SoCs that enables CMT timer and the IRQC interrupt driver. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 57cc67d1422ebee313a62ff7b30981d945728094 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:03:34 2014 +0900 ARM: shmobile: Introduce a Kconfig entry for R-Car Gen1 Add a Kconfig entry for R-Car Generation 1 SoCs that enables TMU timer and the INTC IRQPIN driver. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5784b195e4c88374764d0961977e03f55f3618cb Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:03:25 2014 +0900 ARM: shmobile: Introduce a Kconfig entry for R-Mobile Add a Kconfig entry for R-Mobile SoCs that enables both CMT and TMU timers. Interrupt controller varies with SoC version so it is excluded. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ed8a1a766af7371bfbe41857a3a11496b4165143 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:43:09 2014 -0400 ext4: rename ext4_ext_find_extent() to ext4_find_extent() Make the function name less redundant. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 3bdf14b4d7a3a7416577e9f9f421dbf29b5b6747 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:42:09 2014 -0400 ext4: reuse path object in ext4_move_extents() Reuse the path object in ext4_move_extents() so we don't unnecessarily free and reallocate it. Also clean up the get_ext_path() wrapper so that it has the same semantics of freeing the path object on error as ext4_ext_find_extent(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit ee4bd0d963b75cbad9bfb59b547146671c7a655a Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:41:09 2014 -0400 ext4: reuse path object in ext4_ext_shift_extents() Now that the semantics of ext4_ext_find_extent() are much cleaner, it's safe and more efficient to reuse the path object across the multiple calls to ext4_ext_find_extent() in ext4_ext_shift_extents(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 10809df84a4d868db61af621bae3658494165279 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:40:09 2014 -0400 ext4: teach ext4_ext_find_extent() to realloc path if necessary This adds additional safety in case for some reason we end reusing a path structure which isn't big enough for current depth of the inode. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b7ea89ad0a6b855172158a999d3f5008403f4011 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:39:09 2014 -0400 ext4: allow a NULL argument to ext4_ext_drop_refs() Teach ext4_ext_drop_refs() to accept a NULL argument, much like kfree(). This allows us to drop a lot of checks to make sure path is non-NULL before calling ext4_ext_drop_refs(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 523f431ccfffd3022e80e13befb9594f54b5607e Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:38:09 2014 -0400 ext4: call ext4_ext_drop_refs() from ext4_ext_find_extent() In nearly all of the calls to ext4_ext_find_extent() where the caller is trying to recycle the path object, ext4_ext_drop_refs() gets called to release the buffer heads before the path object gets overwritten. To simplify things for the callers, and to avoid the possibility of a memory leak, make ext4_ext_find_extent() responsible for dropping the buffers. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit dfe5080939ea4686b3414b5d970a9b26733c57a4 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:37:09 2014 -0400 ext4: drop EXT4_EX_NOFREE_ON_ERR from rest of extents handling code Drop EXT4_EX_NOFREE_ON_ERR from ext4_ext_create_new_leaf(), ext4_split_extent(), ext4_convert_unwritten_extents_endio(). This requires fixing all of their callers to potentially ext4_ext_find_extent() to free the struct ext4_ext_path object in case of an error, and there are interlocking dependencies all the way up to ext4_ext_map_blocks(), ext4_swap_extents(), and ext4_ext_remove_space(). Once this is done, we can drop the EXT4_EX_NOFREE_ON_ERR flag since it is no longer necessary. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 4f224b8b7be6856a3ceaf7f9d9c1860d467174ae Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:36:09 2014 -0400 ext4: drop EXT4_EX_NOFREE_ON_ERR in convert_initialized_extent() Transfer responsibility of freeing struct ext4_ext_path on error to ext4_ext_find_extent(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit e8b83d9303317fb068ad83d87991b610fe990ed5 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:35:09 2014 -0400 ext4: collapse ext4_convert_initialized_extents() The function ext4_convert_initialized_extents() is only called by a single function --- ext4_ext_convert_initalized_extents(). Inline the code and get rid of the unnecessary bits in order to simplify the code. Rename ext4_ext_convert_initalized_extents() to convert_initalized_extents() since it's a static function that is actually only used in a single caller, ext4_ext_map_blocks(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 705912ca95f4bbdbb3be753e46bf30d6be15a5e8 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:34:09 2014 -0400 ext4: teach ext4_ext_find_extent() to free path on error Right now, there are a places where it is all to easy to leak memory on an error path, via a usage like this: struct ext4_ext_path *path = NULL while (...) { ... path = ext4_ext_find_extent(inode, block, path, 0); if (IS_ERR(path)) { /* oops, if path was non-NULL before the call to ext4_ext_find_extent, we've leaked it! :-( */ ... return PTR_ERR(path); } ... } Unfortunately, there some code paths where we are doing the following instead: path = ext4_ext_find_extent(inode, block, orig_path, 0); and where it's important that we _not_ free orig_path in the case where ext4_ext_find_extent() returns an error. So change the function signature of ext4_ext_find_extent() so that it takes a struct ext4_ext_path ** for its third argument, and by default, on an error, it will free the struct ext4_ext_path, and then zero out the struct ext4_ext_path * pointer. In order to avoid causing problems, we add a flag EXT4_EX_NOFREE_ON_ERR which causes ext4_ext_find_extent() to use the original behavior of forcing the caller to deal with freeing the original path pointer on the error case. The goal is to get rid of EXT4_EX_NOFREE_ON_ERR entirely, but this allows for a gentle transition and makes the patches easier to verify. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit bd30d702fc320085f178d22866b32fdc4736c991 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:33:09 2014 -0400 ext4: fix accidental flag aliasing in ext4_map_blocks flags Commit b8a8684502a0f introduced an accidental flag aliasing between EXT4_EX_NOCACHE and EXT4_GET_BLOCKS_CONVERT_UNWRITTEN. Fortunately, this didn't introduce any untorward side effects --- we got lucky. Nevertheless, fix this and leave a warning to hopefully avoid this from happening in the future. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 713e8dde3e71e92db2d8cc8459d236ce1fb576ce Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:32:09 2014 -0400 ext4: fix ZERO_RANGE bug hidden by flag aliasing We accidently aliased EXT4_EX_NOCACHE and EXT4_GET_CONVERT_UNWRITTEN falgs, which apparently was hiding a bug that was unmasked when this flag aliasing issue was addressed (see the subsequent commit). The reproduction case was: fsx -N 10000 -l 500000 -r 4096 -t 4096 -w 4096 -Z -R -W /vdb/junk ... which would cause fsx to report corruption in the data file. The fix we have is a bit of an overkill, but I'd much rather be conservative for now, and we can optimize ZERO_RANGE_FL handling later. The fact that we need to zap the extent_status cache for the inode is unfortunate, but correctness is far more important than performance. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> commit 5f8157309624929e05ece846d3ca8a3a64988378 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 21:59:54 2014 +0200 ARM: at91: remove phy fixup for sama5d3xek boards These board specific delays are now configured through micrel's specific DT bindings (see Documentation/devicetree/bindings/net/micrel-ksz9021.txt). Remove this phy fixup registration from sama5 DT machine file to keep it as generic as possible. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 71e8a328cb4893cdae88ab7653ede1b3d2605ad8 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 21:59:53 2014 +0200 ARM: at91/dt: describe rgmii ethernet phy connected to sama5d3xek boards Add ethernet-phy nodes and specify phy interrupt (connected to pin PB25) and board specific timing configs. Atmel has two different HW designs for its CPU modules: the first one (produced by Embest) is connecting PHYAD[0-2] pins to pull up resistors and the other one (produced by Ronetix) is connecting PHYAD0 to a pull up resistor and PHYAD[1-2] to pull down resistors. As a result, Ronetix design will have its PHY available at address 0x1 and Embest design at 0x7. By defining both phys we're letting the phy core detect the one actually available on the MDIO bus. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Bo Shen <voice.shen@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ae70b190fce4a09a969dd69d0bd1c33441e24e60 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 25 10:20:44 2014 +0200 ASoC: ab8500-codec: Revert back to regmap Commit ff795d614bfa ("ASoC: ab8500: Convert register I/O to regmap") initially converted the ab8500 CODEC driver to use regmap rather than legacy ASoC IO. This was reverted though in commit 63e6d43bf80d ("ASoC: ab8500: Revert to using custom I/O functions") since the inital conversion was not working properly. This was presumebly because the SOC_SINGLE_XR_SX controls, which are used by this driver, did not properly support regmap at that point. This has since been fixed in commit 6137a5ca326d ("ASoC: Prepare SOC_SINGLE_XR_SX controls for regmap"). So revert back to regmap again. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 405a72c5e78b5c560c8b2711d4000fa5eb063e1b Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 1 16:11:19 2014 +0200 power: reset: at91-poweroff: fix wakeup status register index The wakeup status is read from Shutdown Status Register and not the SHDW_CR which is the one at address 0. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 94d450edfdc6dab0bb92dcbb06f5ea3244558bf4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 1 10:26:04 2014 +0200 ARM: at91/power/reset: fix Kconfig "depends on" directive MACH_AT91 doesn't exist so we can't "depend" on it. Fix the typo by using the proper ARCH_AT91 config option. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c8260db557389c1fb46eeafb54414b03d9f19e49 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 18:06:51 2014 +0200 ARM: at91: fix ramc standby function registration After the for_each_matching_node loop, we end up with a null value for np. Then, of_match_node() is not matching anything and we can't register the standby function and "ramc no standby function available" is printed. Fix that by selecting the first available standby function. For now, at91_pm_set_standby doesn't support multiple different standby functions and no existing SoCs have different RAM controllers. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit eadb0019d206591e34e864b62059b292e157d8fc Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Fri Aug 29 15:12:12 2014 +0800 ASoC: fsl-sai: using 'lsb-first' property instead of 'big-endian-data'. The 'big-endian-data' property is originally used to indicate whether the LSB firstly or MSB firstly will be transmitted to the CODEC or received from the CODEC, and there has nothing relation to the memory data. Generally, if the audio data in big endian format, which will be using the bytes reversion, Here this can only be used to bits reversion. So using the 'lsb-first' instead of 'big-endian-data' can make the code to be readable easier and more easy to understand what this property is used to do. This property used for configuring whether the LSB or the MSB is transmitted first for the fifo data. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 025b78b809134ae710efca7ccf0a84b927ffb7c4 Merge: 855675f 014fd22 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 1 16:36:34 2014 +0100 Merge branch 'topic/fsl' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-fsl-sai commit 13758c528cd3c72e1dde34b0c73be4887773bc91 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sun Aug 31 15:54:14 2014 +0400 ARM: i.MX: Remove i.MX1 ADS board support mx1ads.c can be replaced with devicetree equivalent: imx1-ads.dts, so remove the board file. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 2b10368a5c7dcb8fb2ce43251b1facec01a31a72 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Fri Aug 29 10:22:21 2014 +0800 ARM: dts: vf610-twr: remove useless property for sound card. This was added by: Commit 8128c4f36 ("ARM: dts: vf610-twr: Add simple-card support.") This useless property may cause some confusions for users. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit ee295d7ff442699bb7982f2283f71eabcc16f367 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Mon Sep 1 08:57:20 2014 +0800 ARM: imx: remove imx_scu_standby_enable() With commit c716483c3db1 ("ARM: 8122/1: smp_scu: enable SCU standby support"), the STANDBY bit of SCU is handled by core function scu_enable(). So imx_scu_standby_enable() can be removed now. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 1ca7070d1d08e71692295ed06c6cb6331ecac3c8 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Aug 23 15:12:09 2014 +0400 ARM: i.MX: Remove Phytec i.MX27 PCM038/PCM970 board files pcm970-baseboard.c and mach-pcm038.c can be replaced with their devicetree equivalents: imx27-phytec-phycore-rdk.dts and imx27-phytec-phycore-som.dtsi respectively, so remove the board files. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7c5deaf77526508709b320b76b0d41cec7274edc Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Jul 26 17:41:08 2014 +0400 ARM: i.MX: Remove mach-cpuimx27sd board file eukrea_mbimx27-baseboard.c and mach-cpuimx27.c can be replaced with their devicetree equivalents: imx27-eukrea-mbimxsd27-baseboard.dts and imx27-eukrea-cpuimx27.dtsi respectively, so remove the board files. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Acked-by: Eric Bénard <eric@xxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 58b71c3ec7b53e948cb0e59d783ab0ed0c4d767e Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 24 09:05:21 2014 +0200 ARM: imx: iomux: Do not export symbol without public declaration The iomux function declarations are in headers only accessible in this directory. Thus those can't be used in any module. None of the objects in this directory is tristate. Neither can the header be included in out-of-tree modules. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 83724c3329c93f9efc7f53498edd4c538e724366 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Jul 22 19:48:40 2014 +0200 NFC: NCI: Fix NCI RF FRAME interface usage NCI RF FRAME interface is used for all kind of tags except ISODEP ones. So for all other kind of tags the status byte has to be removed. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3c1c0f5dc80bbde5baef2403cc6a0d33c9824d2d Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Jul 22 19:48:39 2014 +0200 NFC: NCI: Fix nci_register_device init sequence All contexts have to be initiliazed before calling nfc_register_device otherwise it is possible to call nci_dev_up before ending the nci_register_device function. In such case kernel will crash on non initialized variables. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cfdbeeafdbbdbc006f700e92cbad2cb5d4529f3d Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Jul 22 19:48:38 2014 +0200 NFC: NCI: Add support of ISO15693 Update nci.h to respect latest NCI specification proposal (stop using proprietary opcodes). Handle ISO15693 parameters in NCI_RF_ACTIVATED_NTF handler. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 27f3d18630cd7fbb03b62bd78a74303cb8c88069 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 1 14:14:17 2014 +0200 PM / genirq: Document rules related to system suspend and interrupts Add a document describing how IRQs are managed during system suspend and resume, how wakeup interrupts work and what the IRQF_NO_SUSPEND flag is supposed to be used for. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5ccedf03427ec71ab29a8bd77110242a605085a5 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Mon Sep 1 12:55:58 2014 +0100 regulator: max1586: of_get_max1586_platform_data() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76cde7e495904064d612cf3eb4bf6d9e76ff8191 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 1 13:49:16 2014 +0200 PCI / PM: Make PCIe PME interrupts wake up from suspend-to-idle To make PCIe PME interrupts wake up the system from suspend to idle, make the PME driver use enable_irq_wake() on the IRQ during system suspend (if there are any wakeup devices below the given PCIe port) without disabling PME interrupts. This way, an interrupt will still trigger if a wakeup event happens and the system will be woken up (or system suspend in progress will be aborted) by means of the new mechanics introduced previously. This change allows Wake-on-LAN to be used for wakeup from suspend-to-idle on my MSI Wind tesbed netbook. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5613570b133a294355d35fa66162afe7607a8abb Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 1 13:49:07 2014 +0200 x86 / PM: Set IRQCHIP_SKIP_SET_WAKE for IOAPIC IRQ chip objects Set the IRQCHIP_SKIP_SET_WAKE for IOAPIC IRQ chip objects so that interrupts from them can work as wakeup interrupts for suspend-to-idle. After this change, running enable_irq_wake() on one of the IRQs in question will succeed and IRQD_WAKEUP_STATE will be set for it, so all of the suspend-to-idle wakeup mechanics introduced previously will work for it automatically. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9ce7a25849e80cfb264f4995f832b932c1987e1a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Aug 29 14:00:16 2014 +0200 genirq: Simplify wakeup mechanism Currently we suspend wakeup interrupts by lazy disabling them and check later whether the interrupt has fired, but that's not sufficient for suspend to idle as there is no way to check that once we transitioned into the CPU idle state. So we change the mechanism in the following way: 1) Leave the wakeup interrupts enabled across suspend 2) Add a check to irq_may_run() which is called at the beginning of each flow handler whether the interrupt is an armed wakeup source. This check is basically free as it just extends the existing check for IRQD_IRQ_INPROGRESS. So no new conditional in the hot path. If the IRQD_WAKEUP_ARMED flag is set, then the interrupt is disabled, marked as pending/suspended and the pm core is notified about the wakeup event. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ rjw: syscore.c and put irq_pm_check_wakeup() into pm.c ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b76f16748fa61801b1a1fd3ffb6f25ee228a35e0 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Aug 29 13:54:09 2014 +0200 genirq: Mark wakeup sources as armed on suspend This allows us to utilize this information in the irq_may_run() check without adding another conditional to the fast path. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c7bd3ec0531aa636ad57ed9f27e637cbd247e64a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Aug 29 13:39:37 2014 +0200 genirq: Create helper for flow handler entry check All flow handlers - except the per cpu ones - check for an interrupt in progress and an eventual concurrent polling on another cpu. Create a helper function for the repeated code pattern. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c3d7acd0273edf0ee50ccf85167acd7ae0759eda Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Aug 29 13:46:08 2014 +0200 genirq: Distangle edge handler entry If the interrupt is disabled or has no action, then we should not call the poll check. Separate the checks. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c4df606c40c3ac8ba76ad11fdbb10139f7fbb261 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 28 22:50:43 2014 +0200 genirq: Avoid double loop on suspend We can synchronize the suspended interrupts right away. No need for an extra loop. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 092fadd59b50208f6859f89dd7ea84e03955b544 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 28 16:49:43 2014 +0200 genirq: Move MASK_ON_SUSPEND handling into suspend_device_irqs() There is no reason why we should delay the masking of interrupts whose interrupt chip requests MASK_ON_SUSPEND to the point where we check the wakeup interrupts. We can do it right at the point where we mark the interrupt as suspended. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5417de222393164b87b2d142b6ec332be40a2564 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 28 15:48:59 2014 +0200 genirq: Make use of pm misfeature accounting Use the accounting fields which got introduced for snity checking for the various PM options. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cab303be91dc47942bc25de33dc1140123540800 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 28 11:44:31 2014 +0200 genirq: Add sanity checks for PM options on shared interrupt lines Account the IRQF_NO_SUSPEND and IRQF_RESUME_EARLY actions on shared interrupt lines and yell loudly if there is a mismatch. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8df2e02c5c4de9e65ee60153dd9c442356534ad9 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 28 11:49:28 2014 +0200 genirq: Move suspend/resume logic into irq/pm code No functional change. Preparatory patch for cleaning up the suspend abort functionality. Update the comments while at it. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 068765ba7987e73d4381edfe47b70aa121c7155c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 1 13:47:49 2014 +0200 PM / sleep: Mechanism for aborting system suspends unconditionally It sometimes may be necessary to abort a system suspend in progress or wake up the system from suspend-to-idle even if the pm_wakeup_event()/pm_stay_awake() mechanism is not enabled. For this purpose, introduce a new global variable pm_abort_suspend and make pm_wakeup_pending() check its value. Also add routines for manipulating that variable. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e65b15852a4ac11113d42e9f6e55af908a2b30ef Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Aug 21 12:45:05 2014 +0200 ARM: zynq: DT: Fix coding style issues in dtsi Remove space before semicolon. sed -i 's/}\ ;/};/g' arch/arm/boot/dts/zynq-* Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 41683583126c7c5ca302b43e7b6295dc58dba779 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Aug 21 11:27:05 2014 +0200 ARM: zynq: DT: Describe interrupt-names for pl330 Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 357a454efde5686cb03fa25b8c5e9f8b60608e3b Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Aug 21 11:22:40 2014 +0200 ARM: zynq: DT: Extend compatible string for zedboard Aling compatible property with others and have xlnx,zynq-zed in compatible list too. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit b65186da8cb846b7bbea05304809638b1c8282fd Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Aug 21 11:21:09 2014 +0200 ARM: zynq: DT: Use 0x prefix for memory nodes Be align with the rest of zynq DTS and have 0 written as 0x0. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit aeb29453e38cc7a501c6dd98e160a7ddd781f12f Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Aug 21 11:19:46 2014 +0200 ARM: zynq: DT: Update years in header Add this year to the header. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit edbd35e70dd563f5e8062bed292a9900073fca48 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Wed Aug 20 08:56:58 2014 -0700 ARM: zynq: DT: Move size/address properties to dtsi Move the GEM's size and address cells properties to the common dtsi file. Cc: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit da45581ea825d53a459a90deb48a50b99369502b Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Wed Aug 20 08:56:57 2014 -0700 ARM: zynq: DT: Fix Ethernet phy modes The used PHYs should be qualified as 'rgmii-id' instead of just 'rgmii'. For the Zed board this seems to make a difference between working and broken Ethernet. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit f8aa6867a2365fa98de6932cce420d6106a5ddd1 Author: Ezra Savard <ezra.savard@xxxxxxxxxx> Date: Fri Aug 29 07:38:37 2014 -0700 ARM: zynq: DT: Add LEDs to zc702 DT Adds LEDs to the zc702 devicetree for use with the leds-gpio driver. Signed-off-by: Ezra Savard <ezra.savard@xxxxxxxxxx> Reviewed-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 4eea4b8e4491d3b2a96ec4b9b0f3a188da018cd1 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Aug 31 21:10:52 2014 +0200 regulator: max1586: add device-tree binding Add max1586 regulator device-tree bindings documentation. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4e00517945bed110f1b8de580cce97626e9ef0b5 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Aug 31 21:10:51 2014 +0200 regulator: max1586: add device-tree support Add device-tree support to max1586. The driver can still be used with the legacy platform data, or the new device-tree way. This work is heavily inspired by the device-tree support of its cousin max8660 driver. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 75c3daaad5a2f791e0fbad732690130ce1bc55d2 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Mon Sep 1 08:47:50 2014 +0800 ASoC: es8328: fix error return code in es8328_codec_probe() Fix to return a negative error code from the error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5dc23c442101d254246d88766c4423696b9aa9bd Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 29 12:41:43 2014 +0300 spi: dw-pci: remove FSF address and update copyright The FSF address is subject to change, thus remove it from the file. While here, update a copyright line. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c95791b6a5c5f18addb41530d1c27c8f5d612d65 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 29 12:41:42 2014 +0300 spi: dw-pci: provide platform specific data via driver_data Instead of checking for device and vendor IDs inside probe function let's provide a helper function via driver_data. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 35f2d4136477ce2cd684b03e7f1b802963750394 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 29 12:41:41 2014 +0300 spi: dw-pci: convert to use dev_pm_ops Convert system PM callbacks to use dev_pm_ops. In addition remove the PCI calls related to a power state since the bus code cares about this already. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ceb86de9d6dae58b66ae10e7533ff2d3d8c7bbae Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 29 12:41:40 2014 +0300 spi: dw-pci: apply pci_bar and re-use pci_name Nevertheless pci_bar is 0 let's explicitly use it when map IO regions. While here, use pci_name instead of dev_name. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fcf0af445bfdb617993af352ee442471aeca1073 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 29 12:41:39 2014 +0300 spi: dw-pci: move info message at the end of probe Let's print info message when controller is found and properly initialized. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cff9c2339a6d5105d7f6b1f9a96dd1d239cc76ac Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 18 18:23:19 2014 +0200 USB: serial: add Medtronic CareLink USB driver Add simple driver for Medtronic CareLink USB devices. Reported-by: Benjamin West <bewest@xxxxxxxxx> Tested-by: Benjamin West <bewest@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit c5cd24d7b179a415df263e5b18b72f6e3aaf81e0 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 18 18:14:53 2014 +0200 USB: serial: add Novatel Wireless GPS driver Add simple driver for Novatel Wireless GPS receivers. Reported-by: Kirk Madsen <kirkm@xxxxxxxxxx> Tested-by: Kirk Madsen <kirkm@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit b9f040389e23fb95fde36cb0a3c2c516fb3e9d1c Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 18 18:14:52 2014 +0200 USB: serial: add support for multi-port simple drivers Add support for multi-port simple drivers. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 399aa9a75ad372b301e5050f3653a297a767fdc4 Author: Lauri Hintsala <lauri.hintsala@xxxxxxxxxxxx> Date: Wed Aug 13 15:02:53 2014 +0300 USB: pl2303: use divisors for unsupported baud rates Use direct method for supported baud rates, otherwise use divisors. Limit baud rate to 12 Mbaud with HX type. This change has been tested to work with PL-2303HX at 115200, 500000, 1000000, 2000000, 2500000, 3000000 and 4000000 baud rates. Signed-off-by: Lauri Hintsala <lauri.hintsala@xxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 085f3ec6fd6c87907c4a19481dc13f02ecfcd316 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Sep 1 12:46:37 2014 +0300 ASoC: tlv320aic31xx: Correct interface register 2 variable name Rename iface_reg3 to iface_reg2 since this variable is actually used for interface register 2. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2fbda374a2add291bce8036c5084f955bbef7a94 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Wed Aug 27 17:52:49 2014 +0800 ARM: at91/dt: sam9n12ek: ohci: add port and vbus property Add the port number and vbus property for ohci port, or else if bootloader won't configure the vbus pin, the 5v supply is not power on, so can not work with usb devices. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5b87d31309938a49f57493ba86c765afdd4f2ffe Merge: 6be1f47 014fd22 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 1 10:49:32 2014 +0100 Merge branch 'topic/fsl' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-fsl-esai commit 74d90de2d0c20162d247cb2f9896e1aa7df98616 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 22 16:07:47 2014 +0200 ARM: at91/dt: sam9x5: fix ADC compatible string Use the correct compatible string for the ADC of the at91sam9x5 family of SoCs. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 9fddd74a238f03c322b373662803bd1ce80338da Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Fri Aug 29 13:11:52 2014 -0400 HID: sony: Set the Sixaxis cable state correctly Bit 3 in byte 31 of the Sixaxis report indicates whether the battery is charging or not charging as opposed to whether or not the cable is plugged in. As a result, when connected via USB and fully charged, the power_supply status is wrongly reported as 'Discharging' instead of 'Full'. Use the battery level value to set the cable state so that the power status is reported correctly as that seems to be the only reliable way to determine the cable status on the Sixaxis. Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1a84db567aeeb232daad598c7aa2334dda0176b7 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Fri Aug 29 23:37:33 2014 +0900 treewide: fix errors in printk This patch fix spelling typo in printk. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 954605ca3f897ad617123279eb3404a404cce5ab Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:12 2014 +0100 drm/radeon: use common fence implementation for fences, v4 Changes since v1: - Kill the sw interrupt dance, add and use radeon_irq_kms_sw_irq_get_delayed instead. - Change custom wait function, lockdep complained about it. Holding exclusive_lock in the wait function might cause deadlocks. Instead do all the processing in .enable_signaling, and wait on the global fence_queue to pick up gpu resets. - Process all fences in radeon_gpu_reset after reset to close a race with the trylock in enable_signaling. Changes since v2: - Small changes to work with the rewritten lockup recovery patches. Changes since v3: - Call radeon_fence_schedule_check when exclusive_lock cannot be acquired to always cause a wake up. - Reset irqs from hangup check. - Drop reading seqno in the callback, use cached value. - Fix indentation in radeon_fence_default_wait - Add a radeon_test_signaled function, drop a few test_bit calls. - Make to_radeon_fence global. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 1f0dc9a59afeccb96a35ebec36661266260f5eee Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:08 2014 +0100 drm/ttm: kill off some members to ttm_validate_buffer This reorders the list to keep track of what buffers are reserved, so previous members are always unreserved. This gets rid of some bookkeeping that's no longer needed, while simplifying the code some. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 58b4d720c1620bbf09e42b4f218dcb2d0d8cdf3e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:08 2014 +0100 drm/ttm: add interruptible parameter to ttm_eu_reserve_buffers It seems some drivers really want this as a parameter, like vmwgfx. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit dd7cfd641228abb2669d8d047d5ec377b1835900 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Jan 21 13:07:31 2014 +0100 drm/ttm: kill fence_lock No users are left, kill it off! :D Conversion to the reservation api is next on the list, after that the functionality can be restored with rcu. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 7040138ff85501931138970663a988f48c0666f0 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Jan 21 13:07:01 2014 +0100 drm/ttm: call ttm_bo_wait while inside a reservation This is the last remaining function that doesn't use the reservation lock completely to fence off access to a buffer. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit bdaf7ddf652ef51fd363b052e320711c06f6f553 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Jan 21 13:02:14 2014 +0100 drm/nouveau: require reservations for nouveau_fence_sync and nouveau_bo_fence This will ensure we always hold the required lock when calling those functions. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d0b3c3b6c26c6eed1ba3fa37242dfc8942b5e997 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Jan 21 13:00:24 2014 +0100 drm/nouveau: add reservation to nouveau_gem_ioctl_cpu_prep Apart from some code inside ttm itself and nouveau_bo_vma_del, this is the only place where ttm_bo_wait is used without a reservation. Fix this so we can remove the fence_lock later on. After the switch to rcu the reservation lock will be removed again. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bb693f13a0a535715034ce42405515ac3318c0e3 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Wed Aug 27 15:04:29 2014 -0400 x86: Remove set_pmd_pfn The last user of set_pmd_pfn() went away in commit f03574f2d5b2, so this has been dead code for over a year. Signed-off-by: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> arch/x86/include/asm/pgtable_32.h | 3 --- arch/x86/mm/pgtable_32.c | 35 ----------------------------------- 2 files changed, 38 deletions(-) commit e9723bf2ad1b7384e8d475e5356f51a1f35a8934 Merge: 79f284d 69e273c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 31 20:53:12 2014 -0700 Merge 3.17-rc3 into staging-next We want the staging bugfixes in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de46e95cdb8671e2b0728923b8113654779c3ba8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 14:40:22 2014 +0200 ARM: shmobile: Enable Armadillo 800 EVA board in multiplatform defconfig Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d2c2a0776899ba2d9d560815d0bcab486b8e64ab Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:05:20 2014 +0200 ARM: shmobile: Add platform device tree bindings documentation Add Renesas SH-Mobile, R-Mobile, and R-Car Platform Device Tree Bindings Documentation, listing supported SoCs and boards. This allows to use checkpatch to validate DTSes referring to Renesas shmobile SoCs, and boards containing those SoCs. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> [horms+renesas@xxxxxxxxxxxx: tweaked title] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a2cfaa7458e714aa00be98c630afaa1a4766e2ad Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:20:39 2014 +0200 ARM: shmobile: r8a73a4 dtsi: Add SoC-specific thermal compatible property The thermal node used the generic compatible property only. Add the SoC-specific one, to make it future proof. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4d50e6dd7a019993504a419d0057051788e477f1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:20:40 2014 +0200 ARM: shmobile: r8a7779 dtsi: Add SoC-specific thermal compatible property The thermal node used the generic compatible property only. Add the SoC-specific one, to make it future proof. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f23b73526b82ca2ef333362e704a51d817c1ffc1 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:47 2014 -0700 NFC: trf7970a: Make gpio labels more readable Make the labels for the two gpio enable lines more user friendly by prefixing them with the driver name. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6afed0eb8c4158c99845f8d30cd5c3fd8e4855d9 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:46 2014 -0700 NFC: trf7970a: Document the 'en2-rf-quirk' DT property Current versions of the trf7970a have an erratum where the EN2 pin must be kept low. If it isn't kept low, it will generate an RF field even when in passive target mode. To work around this issue, create the 'en2-rf-quirk' device tree property to indicate that the trf7970a that the driver is using has this erratum. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 95064bd95a822659f4a606b485aba5009d70fc88 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:45 2014 -0700 NFC: trf7970a: Add quirk to keep EN2 low A bug has been discovered in the trf7970a where it will generate an RF field even in passive target mode when EN2 is asserted. To work around this, add support for the 'en2-rf-quirk' device tree property which indicates that EN2 must remain low. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d953ada493711363d5b7f2151100c242923fc56b Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:44 2014 -0700 NFC: trf7970a: Document the 'irq-status-read-quirk' DT property The mechanism for specifying that the trf7970a being used by the driver has the "IRQ Status Read" erratum has been changed to a device tree property ('irq-status-read-quirk'). Document the new device tree property. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 772079eb77587e0242752fa67685a8132d899f79 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:43 2014 -0700 NFC: trf7970a: Move IRQ Status Read quirk to device tree The quirk indicating whether the trf7970a has the "IRQ Status Read" erratum or not is currently implemented using the 'driver_data' member of the 'spi_device_id' structure. That requires the driver to be modified to turn the quirk off when a version of the trf7970a that doesn't have the erratum is being used. To fix that, create a new device tree property called 'irq-status-read-quirk' that indicates that the trf7970a being used has the erratum. While at it, rename 'TRF7970A_QUIRK_IRQ_STATUS_READ_ERRATA' to 'TRF7970A_QUIRK_IRQ_STATUS_READ' to make it less of an eyesore. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit c2b33de06d23e66f9df34f515704cd3bfa8dd260 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:42 2014 -0700 NFC: trf7970a: Document the 'vin-voltage-override' DTS property The trf7970a driver recently had support for the 'vin-voltage-override' property added to it. This property is used to override the value given by the regulator subsystem for the VIN pin's voltage. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3bd14233aa0733fbc6c3f75ec928f1a393522644 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:41 2014 -0700 NFC: trf7970a: Add VIN voltage override support The trf7970a driver uses the voltage from the power/regulator subsystem to determine what the voltage on the VIN pin is. Normally, this is the right thing to do but sometimes the board that the trf7970a is on may change the voltage. This is the case for the trf7970atb board from Texas Instruments where it boosts the VIN voltage from 3.3V to 5V (see http://www.ti.com/tool/trf7970atb). To handle this, add support for the 'vin-voltage-override' device tree property which overrides the voltage value given by the regulator subsystem. When the DT property is not present, the value from the regulator subsystem is used. The value of 'vin-voltage-override' is in uVolts. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit dddb3da046a4d86de649ba795726afa7fe6fbb41 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Jul 22 20:18:01 2014 -0700 NFC: digital: Add Inititor-side PSL support In order to operate at the fasted bit rate possible, add initiator-side support for PSL REQ while in P2P mode. The PSL REQ will switch the RF technology to 424F whenever possible. Reviewed-by: Thierry Escande <thierry.escande@xxxxxxxxxxxxxxx> Tested-by: Thierry Escande <thierry.escande@xxxxxxxxxxxxxxx> Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 79f284d29bbf7852093d0262c097e8faee32bc03 Author: Seunghun Lee <waydi1@xxxxxxxxx> Date: Mon Sep 1 00:36:39 2014 +0900 staging: dgnc: remove some unused macros These macros do nothing, so remove it. CC: Lidza Louina <lidza.louina@xxxxxxxxx> CC: Mark Hounschell <markh@xxxxxxxxxx> Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b533ff4b18d4dee42683b4e149610347cb3a4e66 Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Sun Aug 31 16:30:56 2014 +0530 staging: lustre: lustre: ptlrpc: Fix space required This patch fixes the checkpatch.pl issue Error: Required space after " '+' ',' '=' '(' ' if' " Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ace5213e4fe6ae26260a9cafe11b3e7c3efcc4f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Aug 31 15:23:35 2014 +0530 staging: lustre: lnet: lib-ptl.c: sparsa warning: symbol not declared fixed sparse warning of following symbol not declared: warning: symbol 'lnet_ptl_cleanup' was not declared. Should it be static? warning: symbol 'lnet_ptl_setup' was not declared. Should it be static? Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58964e8d73834abfe983ee807e55e77e53d502c8 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:29 2014 +0530 staging: rtl8188eu: Remove unused function SetBcnCtrlReg() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c52fae3042fa61b820ee35aafa6345e5f52b92de Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:28 2014 +0530 staging: rtl8188eu: Rename rtl8188e_rf6052.c to rf.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b361e585fa748d4effe06aab1a0dace7667fb2d Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:27 2014 +0530 staging: rtl8188eu: Remove file rtl8188e_rf.h Move macros from rtl8188e_rf.h to rf.h and then remove rtl8188e_rf.h . Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d85713527030e0d9f4e4120f9cd6b8544385b4f1 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:26 2014 +0530 staging: rtl8188eu: Rework function get_rx_power_val_by_reg() Rename CamelCase variables. Remove block of the code which is specific to the bluetooth. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1faec15be4bde7bd6d8bec3ff3117f0a7cacc63f Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:25 2014 +0530 staging: rtl8188eu: Rework function writeOFDMPowerReg88E() Rename CamelCase variables and function name. Remove a block of the code which is executed only if RF type is T2R2 but rtl8188eu's RF is a T1R1 type, so driver doesn't need that code. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb393d260dd7cb5a75afa9a037be2607098db52e Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:24 2014 +0530 staging: rtl8188eu: Rework function rtl8188e_PHY_RF6052SetOFDMTxPower() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1adeba1220bf9db167bdaa0612638a735ea01a7 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:23 2014 +0530 staging: rtl8188eu: Rework function getpowerbase88e() Rename CamelCase variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5db81acf478d8d3bc46e6d76d32c406db368d94 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:22 2014 +0530 staging: rtl8188eu: Rework function rtl8188e_PHY_RF6052SetCckTxPower() Rename CamelCase variables and function name. Remove redundant variable TurboScanOff. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2027324402b6858fb6c0762529410f4b4827596c Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:21 2014 +0530 staging: rtl8188eu: Rework function rtl8188e_PHY_RF6052SetBandwidth() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86cb35aff188bc34a7ea5e2319e31c5b27b4d24e Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:34 2014 +0530 staging: rtl8188eu: Rename HalHWImg8188E_MAC.c to mac_cfg.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcaa9426b2878b046f98ca1bfa2e2bc0944e374b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:33 2014 +0530 staging: rtl8188eu: Rename HalHWImg8188E_RF.c to rf_cfg.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6767982d237d3dceae61380d546164aa592d49ed Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:32 2014 +0530 staging: rtl8188eu: Rename HalHWImg8188E_BB.c to bb_cfg.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 238bd31e2ee818bfbef998e68cc3586db4b0854a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:31 2014 +0530 staging: rtl8188eu: Rename rtl8188e_phycfg.c to phy.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba50fbc0ee735a31ef7a081f322563a4d945ceb1 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:30 2014 +0530 staging: rtl8188eu: Rework function PHY_SwChnl8188E() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f6a5cdb5fe505f94f1500c632176211531f6544 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:29 2014 +0530 staging: rtl8188eu: Rework function PHY_SetBWMode8188E() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01c5f833ee1ecfe39256898d66732770b54d0a7b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:28 2014 +0530 staging: rtl8188eu: Rework function PHY_SetTxPowerLevel8188E() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c431940530d4465f8094181cb7622e245ae7851 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:27 2014 +0530 staging: rtl8188eu: Rework function _PHY_SwChnl8192C() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55d8dfbfaf5b30ef1fe9e9c6b2ed2839b1f406c4 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:26 2014 +0530 staging: rtl8188eu: Rework function _PHY_SetBWMode92C() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8b74c3ec7c58692287a954beef71fc49c82058f Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:25 2014 +0530 staging: rtl8188eu: Rework function phy_PowerIndexCheck88E() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88cbb390265d41b6e2c643b180111d61ec40d357 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:24 2014 +0530 staging: rtl8188eu: Rework function getTxPowerIndex88E() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b98485c72fccbea30c6327bae34de9fc56d8aa0 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:23 2014 +0530 staging: rtl8188eu: Rework function rtl8188e_PHY_SetRFReg() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41b77d26026f525f253cdce43aae3e7e3c9ab33b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:22 2014 +0530 staging: rtl8188eu: Rework function PHY_QueryRFReg() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42f27158aec4446da0a6bfc9eb231757939503aa Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:21 2014 +0530 staging: rtl8188eu: Rework function phy_RFSerialWrite() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a35b747d3d567dbb93b57207983e7fd9f80b04b4 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:20 2014 +0530 staging: rtl8188eu: Rework function phy_RFSerialRead() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c6db65199d67370ee140b78412410e882f96048 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:19 2014 +0530 staging: rtl8188eu: Rework function PHY_SetBBReg() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef1220a0d4819e85f6434e4185158a0043fe09d0 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:18 2014 +0530 staging: rtl8188eu: Remove unused wrapper function rtw_hal_write_bbreg() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecd1f9b3f78d3eca8ae5eadc7d141249833288bf Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:17 2014 +0530 staging: rtl8188eu: Rework function PHY_QueryBBReg() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be82d9b2d57a923fca9384736a4332fdb45f41f3 Author: Janet Liu <jianhua.ljh@xxxxxxxxx> Date: Sun Aug 31 12:56:20 2014 +0800 staging:lustre:lnet: lib-md.c erase C99 // comments After changing the comments format, the other error disappears. So silences two checkpatch errors: ERROR: do not use C99 // comments ERROR: trailing statements should be on next line Signed-off-by: Janet Liu <jianhua.ljh@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 242c7b52bed14b43dba847c32d408f0b1636adc5 Author: Janet Liu <jianhua.ljh@xxxxxxxxx> Date: Sun Aug 31 12:55:07 2014 +0800 staging:lustre:lnet: lib-md.c make line not over 80 characters Reduce the following checkpatch warnings: WARNING: line over 80 characters Signed-off-by: Janet Liu <jianhua.ljh@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e057cff4bf04dec886281520e081f4714115221 Author: Anh Le <anhlq2110@xxxxxxxxx> Date: Sun Aug 31 12:24:50 2014 +0700 Staging: bcm: fixed a comment coding style issue Fixed a C99 comment issue in InterfaceMisc.h. Signed-off-by: Anh Le <anhlq2110@xxxxxxxxx> Reviewed-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19008f6dfa16d23afcd09dceaa598bb6da8de4b1 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Aug 31 15:03:14 2014 -0400 ext4: fix ext4_swap_extents() error handling If ext4_ext_find_extent() returns an error, we have to clear path1 or path2 or else we would end up trying to free an ERR_PTR, which would be bad. Also eliminate some redundant code and mark the error paths as unlikely() Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f59838a07ae5b26d2e050bc0227599932d22b549 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 29 18:10:31 2014 +0200 spi/drivers: Restrict COMPILE_TEST by HAS_DMA where needed commit dd1053a93fdc11d4 ("spi/drivers: Enable build of drivers with COMPILE_TEST") allows compile-testing drivers on platforms they're not meant for. However, adding "|| COMPILE_TEST" bypasses all other implicit dependencies assumed by the platform dependencies before, like HAS_DMA. If NO_DMA=y: drivers/built-in.o: In function `atmel_spi_dma_unmap_xfer': drivers/spi/spi-atmel.c:915: undefined reference to `dma_unmap_single' drivers/spi/spi-atmel.c:918: undefined reference to `dma_unmap_single' drivers/built-in.o: In function `atmel_spi_next_xfer_data': drivers/spi/spi-atmel.c:690: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `atmel_spi_dma_map_xfer': drivers/spi/spi-atmel.c:890: undefined reference to `dma_map_single' drivers/spi/spi-atmel.c:893: undefined reference to `dma_mapping_error' drivers/spi/spi-atmel.c:897: undefined reference to `dma_map_single' drivers/spi/spi-atmel.c:900: undefined reference to `dma_mapping_error' drivers/spi/spi-atmel.c:902: undefined reference to `dma_unmap_single' drivers/built-in.o: In function `atmel_spi_probe': drivers/spi/spi-atmel.c:1540: undefined reference to `dma_alloc_coherent' drivers/spi/spi-atmel.c:1623: undefined reference to `dma_free_coherent' drivers/built-in.o: In function `atmel_spi_remove': drivers/spi/spi-atmel.c:1665: undefined reference to `dma_free_coherent' drivers/built-in.o: In function `ep93xx_spi_dma_finish': drivers/spi/spi-ep93xx.c:550: undefined reference to `dma_unmap_sg' drivers/built-in.o: In function `ep93xx_spi_dma_prepare': drivers/spi/spi-ep93xx.c:516: undefined reference to `dma_map_sg' drivers/spi/spi-ep93xx.c:522: undefined reference to `dma_unmap_sg' drivers/built-in.o: In function `omap2_mcspi_rx_dma': drivers/spi/spi-omap2-mcspi.c:475: undefined reference to `dma_unmap_single' drivers/built-in.o: In function `omap2_mcspi_txrx_dma': drivers/spi/spi-omap2-mcspi.c:589: undefined reference to `dma_unmap_single' drivers/built-in.o: In function `omap2_mcspi_transfer_one_message': drivers/spi/spi-omap2-mcspi.c:1202: undefined reference to `dma_map_single' drivers/spi/spi-omap2-mcspi.c:1204: undefined reference to `dma_mapping_error' drivers/spi/spi-omap2-mcspi.c:1211: undefined reference to `dma_map_single' drivers/spi/spi-omap2-mcspi.c:1213: undefined reference to `dma_mapping_error' drivers/spi/spi-omap2-mcspi.c:1217: undefined reference to `dma_unmap_single' drivers/built-in.o: In function `tegra_spi_deinit_dma_param': drivers/spi/spi-tegra114.c:675: undefined reference to `dma_free_coherent' drivers/built-in.o: In function `tegra_spi_copy_spi_rxbuf_to_client_rxbuf': drivers/spi/spi-tegra114.c:415: undefined reference to `dma_sync_single_for_cpu' drivers/spi/spi-tegra114.c:440: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `tegra_spi_copy_client_txbuf_to_spi_txbuf': drivers/spi/spi-tegra114.c:381: undefined reference to `dma_sync_single_for_cpu' drivers/spi/spi-tegra114.c:405: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `tegra_spi_start_dma_based_transfer': drivers/spi/spi-tegra114.c:543: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `tegra_slink_deinit_dma_param': drivers/spi/spi-tegra20-slink.c:705: undefined reference to `dma_free_coherent' drivers/built-in.o: In function `tegra_slink_copy_spi_rxbuf_to_client_rxbuf': drivers/spi/spi-tegra20-slink.c:427: undefined reference to `dma_sync_single_for_cpu' drivers/spi/spi-tegra20-slink.c:452: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `tegra_slink_copy_client_txbuf_to_spi_txbuf': drivers/spi/spi-tegra20-slink.c:393: undefined reference to `dma_sync_single_for_cpu' drivers/spi/spi-tegra20-slink.c:417: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `tegra_slink_start_dma_based_transfer': drivers/spi/spi-tegra20-slink.c:561: undefined reference to `dma_sync_single_for_cpu' Add dependencies on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af14afd2abef9e01761ec6eb79dd7c0833a243f0 Author: Sören Brinkmann <soeren.brinkmann@xxxxxxxxx> Date: Sun Aug 31 07:57:00 2014 +0100 staging: ad7606_core: Fix checkpatch warning Fix the checkpatch complaint regarding unnecessary line continuation. WARNING: Avoid unnecessary line continuations #143: FILE: ad7606_core.c:143: Signed-off-by: Sören Brinkmann <soeren.brinkmann@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1bd06867f7f168273c80ba10ce4025a97be98305 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Aug 31 10:57:09 2014 +0200 ahci: ahci_p5wdh_workaround - constify DMI table The DMI table does not need to be written to, make it r/o. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6bb86fefa086faba7b60bb452300b76a47cde1a5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Aug 30 16:39:09 2014 -0300 libahci_platform: Staticize ahci_platform_<en/dis>able_phys() ahci_platform_enable_phys() and ahci_platform_disable_phys() are currently exported, but they are not used anywhere else other than libahci_platform.c. So make them static and do not export them to fix the following sparse warnings: drivers/ata/libahci_platform.c:52:5: warning: symbol 'ahci_platform_enable_phys' was not declared. Should it be static? drivers/ata/libahci_platform.c:88:6: warning: symbol 'ahci_platform_disable_phys' was not declared. Should it be static? Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit fcf6b1b729bcd23f2b49a84fb33ffbb44712ee6a Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Sat Aug 30 23:52:19 2014 -0400 ext4: refactor ext4_move_extents code base ext4_move_extents is too complex for review. It has duplicate almost each function available in the rest of other codebase. It has useless artificial restriction orig_offset == donor_offset. But in fact logic of ext4_move_extents is very simple: Iterate extents one by one (similar to ext4_fill_fiemap_extents) ->Iterate each page covered extent (similar to generic_perform_write) ->swap extents for covered by page (can be shared with IOC_MOVE_DATA) Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f8fb4f415034baeed983ca2fb0f51bd74d7370b0 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Sat Aug 30 23:50:56 2014 -0400 ext4: use ext4_ext_next_allocated_block instead of mext_next_extent This allows us to make mext_next_extent static and potentially get rid of it. Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit ee124d2746250786b306952bb8955d3171fa8e69 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Sat Aug 30 23:34:06 2014 -0400 ext4: use ext4_update_i_disksize instead of opencoded ones Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit a9873673484b5aa4346111d021c83a2f11d62eb5 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:49 2014 +0100 staging: vt6655: Replace typedef enum _CARD_OP_MODE eOPMode with enum nl80211_iftype op_mode. Using the nl80211 header. Using enum changes OP_MODE_ADHOC -> NL80211_IFTYPE_ADHOC OP_MODE_AP -> NL80211_IFTYPE_AP OP_MODE_INFRASTRUCTURE -> NL80211_IFTYPE_STATION OP_MODE_UNKNOWN -> NL80211_IFTYPE_UNSPECIFIED Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96372bd9b42e917cb83add7d43bcfbe60307da56 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:48 2014 +0100 staging: vt6655: s_uGetRTSCTSDuration always return __le16 This function should always return __le16, move all endian correction to here. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93320258989eb1f60b62e6d50fb509e51088aec7 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:47 2014 +0100 stgaing: vt6655: remove unused variable wCTSDuration wCTSDuration is always set to 0. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db1afd18e9cddffd957abea6287a6eae9edbeccc Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:46 2014 +0100 staging: vt6655: replace typedef struct tagSCTS_FB with struct vnt_cts_fb Replacing members b, wDuration_ba, wReserved, wCTSDuration_ba_f0, wCTSDuration_ba_f1, data and reserved2. With b, duration_ba, reserved, cts_duration_ba_f0, cts_duration_ba_f1, data and reserved2 unsigned short is replaced with u16 or __le16 where necessary. cast void pointer to pvCTS Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5172b0edf2fcc37dfe9b64899c2a318fa462a6b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:45 2014 +0100 staging: vt6655: replace typedef struct tagSCTS with struct vnt_cts Replacing members b, wDuration_ba, wReserved, data and reserved2 with b, duration_ba, reserved, data and reserved2 unsigned short is replaced with u16 or __le16 where necessary. cast void pointer to pvCTS Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e44804e73ae9e192df807eed2543e8b66cf5be0 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:44 2014 +0100 staging: vt6655: replace typedef struct tagSRTS_a_FB with struct vnt_rts_a_fb Replacing members a, wDuration, wReserved, wRTSDuration_f0, wRTSDuration_f1 and data with a, duration, reserved, rts_duration_f0, rts_duration_f1 and data unsigned short is replaced with u16 or __le16 where necessary. cast void pointer to pvRTS Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e21eb1c8d1002c519f84020da1b9883231c78369 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:43 2014 +0100 staging: vt6655: replace typedef struct tagSRTS_ab with struct vnt_rts_ab Replacing members ab, wDuration, wReserved and data with ab, duration, reserved and data replacing unsigned short with u16 and __le16 where necessary. pvRTS is void pointer. Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9587b09206d702d3ca50ef582072cd658185e7d4 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:42 2014 +0100 staging: vt6655: replace typedef struct tagSRTS_g_FB with struct vnt_rts_g_fb Replacing members b, a, wDuration_ba, wDuration_aa, wDuration_bb, wReserved, wRTSDuration_ba_f0, wRTSDuration_aa_f0, wRTSDuration_ba_f1, wRTSDuration_aa_f1 and data with b, a, duration_ba, duration_aa, duration_bb, wReserved, rts_duration_ba_f0, rts_duration_aa_f0, rts_duration_ba_f1, rts_duration_aa_f1 and data replacing unsigned short with u16 or __le16 where endian correction is necessary. Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17434f094a42792230cbb3a12c5ca69937b741f8 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:41 2014 +0100 staging: vt6655: replace typedef struct tagSRTS_g with struct vnt_rts_g Replacing members b, a, wDuration_ba, wDuration_aa, wDuration_bb, wReserved and data with b, a,duration_ba, duration_aa, duration_bb, reserved and data replacing unsigned short with u16 or __le16 where endian correction is necessary. Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0864db15a04711cae8ce3b63fbd459c8bf4df64c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:40 2014 +0100 staging: vt6655: Replace typedef struct tagSCTSData with ieee80211_cts data ieee80211_cts data needs extra padding with reserved2 set to 0 use IEEE80211_FTYPE_CTL | IEEE80211_STYPE_CTS to set frame_control Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52c4130bdb6f544c0b7f949c5d8152b264eda624 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:39 2014 +0100 staging: vt6655: Replace typedef struct tagSRTSData with ieee80211_rts data Replacing SRTSData Data with struct ieee80211_rts data Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a479ffc38885e52f16d0e28cdf40b2e3893ab6f3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:38 2014 +0100 staging: vt6655: Fix *Duration s_uFillDataHead to return to __le16 All callers should be __le16. Fix vGenerateMACHeader duration to __le16 and reverse the endian conversion. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c62c7abf8cc325b86a6d6a0d5427e48ef30f1b4 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:37 2014 +0100 staging: vt6655: replace -typedef struct tagSTxDataHead_a_FB with struct vnt_tx_datahead_a_fb Replace members a, wDuration, wTimeStampOff, wDuration_f0, and wDuration_f1; with a, duration, time_stamp_off, duration_f0, duration_f1 All unsigned short members should be __le16 Creating the new structure in rxtx.h. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ce842ab3fb0b14428788827b6cdd87496aa3348 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:36 2014 +0100 staging: vt6655: replace typedef struct tagSTxDataHead_ab with struct vnt_tx_datahead_ab Replacing members ab, wDuration and wTimeStampOff with ab, duration and time_stamp_off All unsigned short should be __le16 Structure is moved to rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2dd76679cc1160c65e7dc0d0214df5747e352b0a Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:35 2014 +0100 staging: vt6655: replace typedef struct tagSTxDataHead_g_FB with struct vnt_tx_datahead_g_fb Replacing members b, a, wDuration_b, wDuration_a, wDuration_a_f0, wDuration_a_f1, wTimeStampOff_b and wTimeStampOff_a with b, a, duration_b, duration_a, duration_a_f0, duration_a_f1, time_stamp_off_b and time_stamp_off_a All unsigned short need to be __le16 type. Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72edb7ed1fe1936805a71d5da60a6e72856851f3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:34 2014 +0100 staging: vt6655: replace typedef struct tagSTxDataHead_g with struct vnt_tx_datahead_g Replace members b, a, wDuration_b, wDuration_a, wTimeStampOff_b and wTimeStampOff_a with b, a, duration_b, duration_a, time_stamp_off_b and time_stamp_off_a Using __le16 endian type for unsigned short. Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6b95c0659df46f20f947110fc0535e8faf6c1fc Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:33 2014 +0100 staging: vt6655: rxtx.c create function to return __le16 wTimeStampOff wTimeStampOff always needs to be endian corrected. Create vnt_time_stamp_off to return this value. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c00a378bffaf48ef08366d7e84a536241fb187b5 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:32 2014 +0100 staging: vt6655: s_vGenerateTxParameter removed nested pvRrvTime NULL check Just do single NULL check on pvRrvTime and return. If pvRrvTime is NULL none of the if statements are valid. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 853532d3b5c440d9824b10c6aee478ef77aef3b7 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:31 2014 +0100 staging: vt6655: rxtx change s_uGetRTSCTSRsvTime to always return __le16 s_uGetRTSCTSRsvTime always needs to return little endian __le16 Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7a3481b7b994e4834ddc846a262f5cfab7e6f67 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:30 2014 +0100 staging: vt6655: create vnt_rxtx_rsvtime_le16 to return s_uGetTxRsvTime endian corrected. Replace s_uGetTxRsvTime where endian correction is needed. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6a634c3d2cbddcfe3485539ef0310f8af636d55 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:29 2014 +0100 staging: vt6655: rxtx replace typedef struct tagSRrvTime_ab with struct vnt_rrv_time_ab Replacing members wRTSTxRrvTime and wTxRrvTime with rts_rrv_time and rrv_time using __le16 type Moving structure to rxtx.h pvRrvTime is a void pointer Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d66a5a74649613314db86f657b4aea789333527e Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:28 2014 +0100 staging: vt6655: rxtx replace typedef struct tagSRrvTime_gCTS with struct vnt_rrv_time_cts replacing members wCTSTxRrvTime_ba, wReserved, wTxRrvTime_b and wTxRrvTime_a with cts_rrv_time_ba, reserved, rrv_time_b and rrv_time_a; Creating the new structure in rxtx.h and Using __le16 where necessary pvRrvTime is a void pointer Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9e6a2dcd333e84391b16b9be3f32566a16cc517 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:27 2014 +0100 staging: vt6655: rxtx replace typedef struct tagSRrvTime_gRTS with struct vnt_rrv_time_rts Replacing members wRTSTxRrvTime_ba, wRTSTxRrvTime_aa, wRTSTxRrvTime_bb, wReserved, wTxRrvTime_b and wTxRrvTime_a with rts_rrv_time_ba, rts_rrv_time_aa, rts_rrv_time_bb, reserved, rrv_time_b and rrv_time_a Creating the new structure in rxtx.h and Using __le16 where necessary Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b256126f3193253497337821a18375a9a5d8122 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Aug 30 17:12:51 2014 -0400 staging/lustre: remove unused som_attrs and hsm_attrs structures These structures are only used server-side to parse relevant attributes. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf21a6be943980d2e1a3ae220795c8da41c81165 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:50 2014 -0400 staging/lustre/mdc: remove obsolete llog ioctl handlers In mdc_iocontrol() remove the handlers for the obsolete llog ioctls OBD_IOC_PARSE, OBD_IOC_LLOG_INFO, and OBD_IOC_LLOG_PRINT. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c77bcdb515a96eac4745af96d7504282f03b7289 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:49 2014 -0400 staging/lustre/obdclass: remove llog_osd.c llog_osd_ops is not used so remove it and its supporting methods. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62b81e415e5aa87fb8726ed5ee0c1cb05e72634e Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:48 2014 -0400 staging/lustre/obdclass: remove llog_test.ko The llog_test module requires server support (it needs a local MGS to function) and should not have been included. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbf037fee64019f58fbea8542ce6144a8b13fd73 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:47 2014 -0400 staging/lustre/mgc: remove server specific handlers Remove the server specific set_info handlers (KEY_REGISTER_TARGET, KEY_SET_FS, KEY_CLEAR_FS) and supporting functions. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a339759f706d3bc7337348af728b04a8d30e31d Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:46 2014 -0400 staging/lustre: remove md_object.h The declarations from lustre/include/md_object.h are not used so remove them. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acbf9cea87858e414612800139ab7a1ee161d929 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:45 2014 -0400 staging/lustre/obdclass: remove mea.c The functions exported by lustre/obdclass/mea.c are not used so remove them. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05eac42b86849cec5f90fc6f4f18f8aa7b8d1c83 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:44 2014 -0400 staging/lustre/obdclass: remove lu_ucred.c The functions exported by lustre/obdclass/lu_ucred.c are not used so remove that file. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25bc5309a45288db858520fe6ac8e501d1bf47d9 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:43 2014 -0400 staging/lustre/obdclass: remove idmap.c The functions defined in lustre/include/lustre_idmap.h are not used so remove them. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6af874834774de7cd33e85f6ec2f83e57b8deb0 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:42 2014 -0400 staging/lustre/obdecho: remove #if 0-ed out regions The landing of clio #if 0-ed out some regions of echo_client.c. Just remove these regions entirely. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/5580 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2675 Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bd07d9985e1a30253023b6c74fc9525b67ce67e Author: Peng Tao <tao.peng@xxxxxxx> Date: Sat Aug 30 17:12:41 2014 -0400 staging/lustre/obdecho: remove metadata echo client The metadata echo client requires server support and should not have been included. Signed-off-by: Liu Xuezhao <xuezhao.liu@xxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxx> Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/2674 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-1330 Reviewed-by: Nathaniel Clark <nathaniel.l.clark@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b47f9fe0bf357650288be6ddbc8c6dd24264db3c Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Aug 30 17:12:40 2014 -0400 staging/lustre: Remove unused header libcfs_heap.h With removal of libcfs/heap.c, it's header can also go away now. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce1e3eb723d8627c1ff436c3c215e0a27a759aff Author: Andrew Plummer <plummer574@xxxxxxxxx> Date: Sat Aug 30 19:43:02 2014 +0100 Staging: emxx_udc: emxx_udc: remove spaces before semicolons Remove spaces before semicolons to remove checkpatch warnings. Signed-off-by: Andrew Plummer <plummer574@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35d49555eaa2df1135dbb5876acf462c5b657174 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Fri Aug 29 12:51:24 2014 +0900 staging: rts5208: Remove casting the return value which is a void pointer Casting the return value which is a void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30e94a564d079f71f53368733720caa0c7c413c8 Author: Yannis Damigos <giannis.damigos@xxxxxxxxx> Date: Tue Aug 19 18:26:46 2014 +0300 staging: imx-drm: Lines over 80 characters fixed. This is a patch to the ipuv3-crtc.c file that fixes up two "lines over 80 characters" warnings found by the checkpatch.pl tool, keeping the alignment of the x/y/width/height parameters for readability. Signed-off-by: Yannis Damigos <giannis.damigos@xxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a3c8834fe4e892281f857f74e46c15470c3e35c Author: Fred Chou <fred.chou.nd@xxxxxxxxx> Date: Thu Aug 28 09:50:56 2014 +0800 staging: vme: remove redundant else condition The else condition is redundant after a return. Remove these redundant else conditions. Signed-off-by: Fred Chou <fred.chou.nd@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b1046e040670ee9fb2abe110fb24b33d91ada86 Author: Dipak Zope <dipakzope.kernel.org@xxxxxxxxx> Date: Tue Aug 19 04:21:54 2014 -0400 staging: android: sync: Fix checkpatch warning: Missing a blank line after declarations Signed-off-by: Dipak Zope <dipakzope.kernel.org@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c643794eb3b57116924eadb40bbc34296b49d401 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Mon Aug 18 23:32:36 2014 +0900 staging: dgap: remove useless a variable within board_t The use_interrupts is used only in dagp_request_irq() for checking a value from user config file. It doesn't need in board_t struct. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f20ecc51bc08c1ee9c1ed320ef6ca411eb154c6 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Mon Aug 18 23:31:46 2014 +0900 staging: dgap: remove redundant setting a variable The brd(board_t) is initialized with zero, so "intr_used" is not needed to set zero when request_irq() is failed. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb33cac8dc3d1f64bba3beff0f8b64814f7f9485 Author: Kieron Browne <kieron.browne@xxxxxxxxx> Date: Wed Aug 20 22:21:31 2014 +0100 staging: dgnc: Fix checkpatch include warning checkpatch.pl fix. Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Kieron Browne <kieron.browne@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1e51745eb309a52f19d1115ddf8508a16aedbc4 Author: Seunghun Lee <waydi1@xxxxxxxxx> Date: Wed Aug 20 00:30:23 2014 +0900 staging: dgnc: remove DPR Macros and related codes. In dgnc_drivers.h, DPR macro and DPR_* macros are defined but do nothing. So remove them and related codes. CC: Lidza Louina <lidza.louina@xxxxxxxxx> CC: Mark Hounschell <markh@xxxxxxxxxx> Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebb10d8ea61934b9be3c7ac7a4fb433579ba0283 Author: Chaitanya Hazarey <c@xxxxx> Date: Fri Aug 22 10:29:19 2014 -0700 Staging: netlogic: xlr_net.c Fixed code-style warnings Fixed the following warning generated by checkpatch.pl: WARNING: Missing a blank line after declarations Signed-off-by: Chaitanya Hazarey <c@xxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8397bc69095f6111ed644b2f8ac725609f8a8bb Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Thu Aug 21 19:51:24 2014 +0530 Staging: Netlogic: Move all the netdev under single parent device XLR has one network controller and XLS has two network controllers, each controller has 4 gmac devices. This patch initializes each controller as a parent device and the four gmac devices of a controller are connected to the parent controller as a child Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1a083be73b4b5ac5481eb8104476ae7b386896d Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Thu Aug 21 19:51:23 2014 +0530 Staging: Netlogic: PHY address calculation fix SGMII PHY address calculation should be based on phy_addr of priv data Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9add4c3a30c78854867062eb2d5e768ebcc9895 Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Thu Aug 21 19:51:22 2014 +0530 Staging: Netlogic: Add nlm_cop2_enable/restore function name change The function name nlm_cop2_enable() and nlm_cop2_restore() in file "netlogic/xlr/fmn.c" has been renamed to nlm_cop2_enable_irqsave and nlm_cop2_disable_irqrestore respectively in commit "64f6ebe MIPS: Netlogic: rename nlm_cop2_save/restore". This patch takes care of these changes Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06f1465b71dfd5eb2843a01c7b513a55c0c9d941 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 24 18:34:43 2014 -0500 drivers: staging: rtl8821ae: Fix spaces required around that '<' errors Fix checkpatch.pl spaces required around that '<' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f25884839e7e8de72b3c0da518900f5915b7c4b1 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 24 17:51:32 2014 -0500 drivers: staging: rtl8192u: Fix switch and case should be at the same indent errors Fix checkpatch.pl switch and case should be at the same indent errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b4ef0a641d47570bcca4c2206f4736c0f5f4d9e Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 24 04:57:36 2014 -0500 drivers: staging: rtl8192u: Fix space required after that ',' errors Fix checkpatch.pl space required after that ',' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1beda8d52b2a1007d9168f663b050e3d996ba6cd Author: Greg Donald <gdonald@xxxxxxxxx> Date: Fri Aug 22 12:58:13 2014 -0500 drivers: staging: rtl8723au: Fix space prohibited before that close parenthesis ')' errors Fix checkpatch.pl space prohibited before that close parenthesis ')' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e66cf096c736532e277a992e8b0b3045af30b1d Author: Greg Donald <gdonald@xxxxxxxxx> Date: Fri Aug 22 10:57:49 2014 -0500 drivers: staging: rtl8723au: Fix "foo* bar" should be "foo *bar" errors Fix checkpatch.pl "foo* bar" should be "foo *bar" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a6b70c3f3558a2e47d2ca82752f0aed0f3c33c6 Author: Matthew Casey <mdcasey@xxxxxxxxxxxx> Date: Fri Aug 22 06:27:52 2014 -0400 staging: rtl8192e: fixed coding style issues Fixed missing blank line after declarations issues Signed-off-by: Matthew Casey <mdcasey@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc3b5de8a84ec39a53d87c30901fa95bd1c8141b Author: Hoang Tran <hoangtran.gwr@xxxxxxxxx> Date: Wed Aug 20 19:39:14 2014 +0800 staging: rtl8821ae: fix sparse warning for static declarations in rtl8821ae/stats.c This patch fixes the following sparse warnings in rtl8821ae/stats.c drivers/staging/rtl8821ae/stats.c:62:6: warning: symbol 'rtl_translate_todbm' was not declared. Should it be static? drivers/staging/rtl8821ae/stats.c:101:6: warning: symbol 'rtl_process_ui_rssi' was not declared. Should it be static? Signed-off-by: Hoang Tran <hoangtran.gwr@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90d88de82cd83852cb5b42f9c0a82708b111a59b Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Aug 18 08:40:48 2014 +1000 staging: rtl8188eu: using unique names is good fixes: drivers/staging/built-in.o:(.opd+0xaab8): multiple definition of `rtl88e_phy_rf_config' drivers/net/built-in.o:(.opd+0x78840): first defined here drivers/staging/built-in.o:(.opd+0xa9f8): multiple definition of `rtl88e_download_fw' drivers/net/built-in.o:(.opd+0x781b0): first defined here drivers/staging/built-in.o: In function `.rtl88e_phy_rf_config': (.text+0xe0a00): multiple definition of `.rtl88e_phy_rf_config' drivers/net/built-in.o:(.text+0xe85a48): first defined here drivers/staging/built-in.o: In function `.rtl88e_download_fw': (.text+0xdf28c): multiple definition of `.rtl88e_download_fw' drivers/net/built-in.o:(.text+0xe6f330): first defined here drivers/staging/built-in.o: In function `.rtl88e_phy_mac_config': (.text+0xdf984): multiple definition of `.rtl88e_phy_mac_config' drivers/net/built-in.o:(.text+0xe84a8c): first defined here drivers/staging/built-in.o: In function `.rtl88e_phy_bb_config': (.text+0xdfa2c): multiple definition of `.rtl88e_phy_bb_config' drivers/net/built-in.o:(.text+0xe84d14): first defined here drivers/staging/built-in.o:(.opd+0xaa58): multiple definition of `rtl88e_phy_bb_config' drivers/net/built-in.o:(.opd+0x78828): first defined here drivers/staging/built-in.o:(.opd+0xaa28): multiple definition of `rtl88e_phy_mac_config' Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 964172359150ae034a73aecccabf9bdb8d0b7c2c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 22 22:35:11 2014 +0100 staging: vt6655: rxtx create new structure vnt_tx_short_buf_head for csBeacon_xmit This is a merger of PSTxDataHead_ab and PSTxShortBufHead of which typedef struct tagSTxShortBufHead is removed. This is formed as fifo_ctl, time_stamp, struct vnt_phy_field, duration and time_stamp_off. Replacing stuctures in csBeacon_xmit and doing endian correction where necessary. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09a903b51b19516490f5305342c1dc42046aaa84 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 22 22:35:10 2014 +0100 staging: vt6655: rxtx.h structure vnt_mic_hdr add IEEE80211_CCMP_PN_LEN macro ccmp_pn is the size of IEEE80211_CCMP_PN_LEN (6) Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20b33b194459867d6df6c87f654c070227b4eb7b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 22 22:35:09 2014 +0100 staging: vt6655: 80211mgr.h add ieee80211.h header and fix conflicts Fix conflict with WLAN_EID macros, by removing them. This allows the adding other definitions from the ieee80211 header. Eventually the 80211mgr.h header will be removed. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43e79c0fb3cafef9bb5c9f048aad4ff2249c9741 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Aug 21 21:40:50 2014 +0100 staging: vt6655: dead code remove device_nics variable The module can not load more than once. Remove device_nics, MAX_UINTS and OPTION_DEFAULT Remove dead index variable from device_get_options Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33cfce64e73524225df2a7f90b74efafd1a4178a Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Aug 21 21:40:49 2014 +0100 staging: vt6655: remove multiple instances of netdevice. netdevice can only be created once. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70afb8e5037a97d7294955531395b65e225c98e1 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Aug 21 21:40:48 2014 +0100 staging: vt6655: remove multiple instances of driver loading. The driver can only load once from the instance provided by pci_dev. struct vnt_private next, prev and pDevice_Infos are removed. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c28f3253f2c113f86947ee6edacdad8e0c002177 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:31 2014 +0100 staging: vt6655: Remove BBvCalculateParameter and its data members Remove data members bySignalField*, byServiceField*, wTransmitLength* from structures in desc.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 864a5a37aa8c344209482d568ed8abecc38a3600 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:30 2014 +0100 staging: vt6655: card.c change BBvCalculateParameter to vnt_get_phy_field Using vnt_get_phy_field means the values are not in the correct write order the lower word and the upper word need to be swapped over for an u32 write out. Rather create another data variable to manipulate this structure. Create a new union vnt_phy_field_swap with struct vnt_phy_field, the u16 word swap and the u32 write out. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 429a24749562b46b15b87563e32db30fd7c965aa Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:29 2014 +0100 staging: vt6655: rxtx.c change BBvCalculateParameter to function vnt_get_phy_field Removing wLen and pointing to correct member. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10c174455af444de48ea0fbd2798d8bb0026963f Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:28 2014 +0100 staging: vt6655: baseband add new function vnt_get_phy_field This is a replacement for BBvCalculateParameter for getting the phy fields via struct vnt_phy_field This is a direct copy from the vt6656 driver. BBvCalculateParameter will removed later. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edbae997a8362a1017c59ef6853deeaea020e0e1 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:27 2014 +0100 staging: vt6655: add new stucture struct vnt_phy_field for rts/cts/data structures This will replace bySignalField*, byServiceField* and wTransmitLength_b members of these strutures, these are removed in the last patch. The len member is of little endian type. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5154b0d0e26545c52350f42b1a4c1e6dc0c4360f Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:26 2014 +0100 staging: vt6655: device.h dead code remove bCCK bCCK is always set to true, the only place it is used is in BBvCalculateParameter which nots the value to false. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e9df6704c1929ffd76e73f4740a468e00c44c11 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 17 20:42:29 2014 +0100 staging: vt6655: remove remaining comments of PLICE_DEBUG Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af925cc721d4f6b0253ab7f9bd5f3a397d910f43 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 17 20:42:28 2014 +0100 staging: vt6655: vntwifi.c remove unused directive PLICE_DEBUG PLICE_DEBUG is not defined remove dead code. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 281a19d21b6c2754490e1d5968a8f49b5909e0aa Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 17 20:42:27 2014 +0100 staging: vt6655: remove PLICE_DEBUG where it is defined Remove macro and directive leaving the code. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97fe1ad03c951c3b3526fab5a5f8765500c72d8b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 17 20:42:26 2014 +0100 staging: vt6655: main_usb.c remove undefined PLICE_DEBUG code. PLICE_DEBUG is not defined in any header for this file. Remove code, references and directives. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b39d60c1dea7389e3dcd1580f59b6717fa6b0159 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 17 20:42:25 2014 +0100 staging: vt6655: Use ether_crc in kernel. ether_crc is already in kernel remove local code and include linux/crc32.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65fe76eaa007f7ce7c5c37651217fc58ca571945 Author: Max Vozeler <max@xxxxxxxxxxxxx> Date: Sat Aug 30 15:06:30 2014 +0200 staging: rtl8188eu: Add missing include to pick up prototype This fixes the following sparse warning: drivers/staging/rtl8188eu/hal/HalHWImg8188E_MAC.c:119:6: warning: symbol 'rtl88e_phy_mac_config' was not declared. Should it be static? Signed-off-by: Max Vozeler <max@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48a86ca4df6d1f02ed42d51c974284032a088c13 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Aug 23 19:48:23 2014 +0530 staging: rtl8188eu: Remove unused wrapper function rtw_hal_read_bbreg() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e264feb6aa24d5369005895be4856debe1aaef4 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Aug 23 19:48:22 2014 +0530 staging: rtl8188eu: Rework function phy_CalculateBitShift() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2ebf58ba0896613ff99d23b7325e4a6f212c1f3 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Aug 21 11:26:09 2014 +0100 staging: et131x: Implement NAPI support This implements NAPI support for et131x by: -adding a napi_struct to the private adapter struct -changing netfif_rx_skb() call to netif_receive_skb() -changing et131x_handle_recv_interrupt() to et131x_handle_recv_pkts() and taking a budget allocation. -changing et131x_handle_send_interrupt() to et131x_handle_send_pkts() -replacing bottom half workqueue with poll function which handles send & receive of skbs. -adding various other necessary standard napi calls. Also remove this item from the README TODO list. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df7b3b8a3a38866ce9d21e3aa404c2c02ce8db75 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:57 2014 +0100 staging: et131x: Fix ET_INTR_TXDMA_ISR register name typo We actually mean to clear the ET_INTR_TXDMA_ISR reg after handling a completed transfer, not the ET_INTR_TXDMA_ERR reg, which should get handled immediately after. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b60e6d0ad36cf1a07f346c69d1a92d59b669e65a Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:56 2014 +0100 staging: et131x: Rename NUM_PACKETS_HANDLED to MAX_PACKETS_HANDLED To better describe it's use as a hard limit. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a5835ea5f72aaddfa2b5766e157a14bcd4c728f Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Aug 21 16:02:32 2014 +0100 staging: et131x: Remove unnecessary i2c_wack variable i2c_wack is only used to implement a while(1) loop, so let's remove it. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit becce4a47ea488c8f4f6fc0048085efb6fff72e7 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:54 2014 +0100 staging: et131x: Use for loop to initialise contiguous macstat registers to zero Replace a long list of contiguous writel() calls with a for loop iterating over the same address values. Also remove redundant comments on the macstat registers, the variable names are good enough. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6697b8705196f090dc564fd3bfca9173b30cd288 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:53 2014 +0100 staging: et131x: Use for loop to initialise contiguous registers to zero Replace a long list of contiguous writel() calls with a for loop iterating over the same values. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcbadc04c5eb4fa21c44d523a0d3ed0e92f6b807 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:52 2014 +0100 staging: et131x: Don't handle rx/tx packets when changing mtu There's no need to handle any rx/tx interrupts in the middle of an mtu change, so don't. After this change, receive and transmit interrupts are only handled in one place, which paves the way to using NAPI. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36087dc1ed80c9d1a4081f7fbd180013378b9021 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:51 2014 +0100 staging: et131x: Use eth_mac_addr() instead of duplicating the functionality There's already working code to set the mac address, so let's use it. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71f81efb22bc68533fe7a25e98361413d446850a Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sat Aug 30 00:55:01 2014 -0500 staging: comedi: addi_apci_1564: move boilerplate text to addi_apci_1564.c Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 165356c7cc931b5f441e52e5d2227d077b7c8271 Author: Vladimir A. Nazarenko <naszar@xxxxx> Date: Wed Aug 27 17:48:21 2014 +1100 Staging: comedi: Fix code style in jr3_pci.c Static variables are initialised to 0 by GCC. Fixes checkpatch.pl error: ERROR: do not initialise statics to 0 or NULL #684: FILE: jr3_pci.c:684: + static const struct jr3_pci_board *board = NULL; Signed-off-by: Vladimir A. Nazarenko <naszar@xxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b83d9fae0dd0557b75f22edf9da5c4bd7bcf73b2 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Fri Aug 29 20:40:55 2014 -0500 staging: comedi: usbduxsigma: fix sparse endianness warnings Sparse has many warnings like: drivers/staging/comedi/drivers/usbduxsigma.c:293:21: warning: cast to restricted __be32 on lines on which devpriv->in_buf is passed to be32_to_cpu(). This suggests that this variable should actually be of type __be32. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ae596b8c1464e671f040455c7da2719491c8e43 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Fri Aug 29 20:40:32 2014 -0500 staging: comedi: usbdux: fix sparse endianness warnings Sparse has many warnings like: drivers/staging/comedi/drivers/usbdux.c:366:32: warning: cast to restricted __le16 on lines on which devpriv->in_buf or devpriv->insn_buf are passed to le16_to_cpu(). This suggests that both of these variables should actually be of type __le16. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f3a7738081d12eef6acf89742a6e568e89b4e03 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Aug 27 20:37:18 2014 +0100 staging: comedi: Kconfig: make COMEDI_BOND select COMEDI_KCOMEDILIB Currently, to select the "comedi_bond" driver, the "kcomedilib" support has to be selected first. It seems more natural to allow the "comedi_bond" driver to be selected on its own and to automatically select the "kcomedilib" module as a result of that. Change the dependency/select relationship between the two configuration options to do that. Also, make "kcomedilib" a module that can be selected independently, perhaps for use by out-of-tree modules, although it is not terribly useful for anything other than "comedi_bond" currently. Also, improve the help text for the config options. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94254d1baec765b22cc5df3a9a16a8cc9a79d406 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 26 10:55:51 2014 +0300 staging: comedi: amplc_pci230: fix a precedence bug The addition operation has higher precedence than ?: so this would write to PCI230_DACOUT1 instead of devpriv->daqio + PCI230_DACOUT1. Fixes: 4f9c63fe5333 ('staging: comedi: amplc_pci230: refactor iobase addresses') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8075bfb67566376f706baa7cbc6b5b0e3eb99318 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:52 2014 -0700 staging: comedi: s626: use comedi_pci_detach() Use comedi_pci_detach() to handle the boilerplate part of the (*detach) for this PCI driver. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3757e79559534e722df93e184078a141dc0bcfa7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:51 2014 -0700 staging: comedi: s626: tidy up freeing of the dma buffers Currently the dma buffers are freed during the detach of the driver using the function s626_close_dma_b(). The buffers are also freed while the interrupt handler is still attached. This could result in a race condition. Refactor the code so that the buffers are freed after the interrupt handler is released and the PCI device is disabled. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d558c5967741e6c551883c58441d29f5440a4ab2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:54 2014 -0700 staging: comedi: gsc_hpdi: tidy up freeing of the dma buffers Factor the freeing of the dma buffers out of the (*detach). Move the freeing of the buffers so that it occurs after the PCI device has been disabled to avoid any race condition. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9804323a84017d370b5bd048a3ddd3069500955 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:53 2014 -0700 staging: comedi: cb_pcidas64: tidy up freeing of the dma buffers Factor the freeing of the dma buffers out of the (*detach). Move the freeing of the buffers so that it occurs after the PCI device has been disabled to avoid any race condition. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit caf6d12d036ea78e8f54c40fa99320416b040c71 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:50 2014 -0700 staging: comedi: icp_multi: remove 'valid' member from private data This member is set at the end of the driver attach and is only used to verify that icp_multi_reset() can be called in the (*detach). The only requirement for icp_multi_reset() to work is that the dev->mmio is valid. Remove the 'valid' member from the private data and use 'dev->mmio' to see if the reset can be done. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ab5db9ca63377904136dce678f0c42f09f1ce6d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:49 2014 -0700 staging: comedi: adv_pci_dio: remove 'valid' member from private data This member is set at the end of the driver attach and is only used to verify that pci_dio_reset() can be called in the (*detach). The only requirement for pci_dio_reset() to work is that the dev->iobase is valid. Remove the 'valid' member from the private data and use 'dev->iobase' to see if the reset can be done. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aac307f9dd5ce1fe651140a036ab4b0a0571b54a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:48 2014 -0700 staging: comedi: comedi_pci: introduce comedi_pci_detach() Introduce a generic (*detach) function for comedi PCI drivers to handle the boilerplate code needed to detach a PCI driver. This function works similar to comedi_legacy_detach() where it will: * free the dev->irq if it has been requested * iounmap the dev->mmio addres if it has been ioremap'ed The helper then calls comedi_pci_disable() to release the regions and disable the PCI device. Use the new helper directly for the (*detach) in the following cases: * where comedi_pci_disable() is used directly for the (*detach) * where the detach function is just boilerplate Use the new helper in the (*detach) of the simpler PCI drivers. Call the helper after disabling interrupts (reset) and before any additional cleanup (kfree) to avoid any race conditions with the interrupt handler. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 081b6ee6f1060517a9bcee26418c8ae762c7410e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:55 2014 -0700 staging: comedi: me4000: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97e658d17381689b8c047e15db3c340dab50b1db Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:54 2014 -0700 staging: comedi: me4000: remove sanity checks in me4000_ao_insn_write() The comedi core does the sanity checking of the comedi_insn before calling the (*insn_write). Remove the unnecessary checks. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3caaf7b7e942c8dce49b02476a8ae8799cf47793 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:53 2014 -0700 staging: comedi: rtd520: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b858206ae96d6a8484c8306bb8149f12206ce026 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:52 2014 -0700 staging: comedi: dt2801: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f88f75fe9c89c3c627659a6cfa91918176674500 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:51 2014 -0700 staging: comedi: cb_pcidas64: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46da1c8fe35026756154a11909dcc4e3fd4bcf00 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:50 2014 -0700 staging: comedi: cb_pcidas: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c8fb3867dd3cc191c8de33e79229f629ceb02a2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:49 2014 -0700 staging: comedi: mf6x4: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 496e7cd9b8f4e8cce2075c934f518c31ed94a47c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:48 2014 -0700 staging: comedi: mf6x4: analog output data does not need extra masking The comedi core validates that all the data values are <= s->maxdata before calling the (*insn_write) function. The extra masking is not needed. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7b20f72892c0d4d45a2323b1ebaa336e980d87e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:47 2014 -0700 staging: comedi: cb_pcimdas: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b26bdebbd5e7408515dea67da6f17d880b8a6ee7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:46 2014 -0700 staging: comedi: cb_pcimdas: cleanup cb_pcimdas_ao_winsn() The comedi core validates the insn->chanspec and data values before calling the (*insn_write) functions. The 'chan' will always be valid and the data values do not need to be masked. Tidy up this function and remove the unnecessary code. For aesthetics, rename the function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d0750cec59b15187e4778d8da8268b00f0db30b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:45 2014 -0700 staging: comedi: ni_670x: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d34b3d41cc5c333330d35d227b665b6dff9512ec Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:44 2014 -0700 staging: comedi: ni_670x: cleanup ni_670x_ao_winsn() For aesthetics, rename this function and tidy it up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b328ad30759bf3134175242cf7ea9a81b1ef02a5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:43 2014 -0700 staging: comedi: dmm32at: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf8e3e3ad467f9e63069d19e56baf40644b7ec03 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:42 2014 -0700 staging: comedi: dmm32at: cleanup dmm32at_ao_winsn() For aesthetics, rename the function and tidy it up a bit. Also rename the registers used by this function and add a macro to set the 'chan' bits in the MSB data register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15aba0d23987ee921737deb23663a0eb0c6b5697 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:41 2014 -0700 staging: comedi: daqboard2000: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, tidy up the (*insn_write) a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebe1882cf600a235b411a044525c039def88dc8e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:40 2014 -0700 staging: comedi: daqboard2000: remove #if 0'ed out code in ao (*insn_write) This code has been disabled since it's initial commit. It must not be needed so just remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35e769c4717cf08f71cd5c7a9e34aece3ff8852e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:39 2014 -0700 staging: comedi: rti800: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6dc125d2bea484ecee91e43f7ca5ba43d306480b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:38 2014 -0700 staging: comedi: rti800: save unmunged data for ao readback The unmunged data should be saved for readback not the munged data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2dfc3a5a295331b76919adfa9ecd4d5aea250a1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:37 2014 -0700 staging: comedi: das08: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. The das08_ao_initialize() function is only called when the subdevice is first setup during the attach. It is used to initialize the channels to a known state. Absorb that function to simplify the code a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 862f77363966434c35f1cbc17fcf1fe9cc9f497c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:36 2014 -0700 staging: comedi: das08: fix bug in das08_ao_winsn() The comedi core expects (*insn_write) functions to write insn->n values to the hardware and return the number of values written. Currently, this function only writes the first value. Fix it to work like the core expects. For aesthetics, rename the function and tidy it up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 073d4632600cb76e7452f8eaa25b720fa9a992ca Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:35 2014 -0700 staging: comedi: pcl818: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92b667754628ac86d8354378c839266e07b8a295 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:34 2014 -0700 staging: comedi: quatech_daqp_cs: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e024181b02ed6b833358bede3f2d0c52cb5fb6bc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:33 2014 -0700 staging: comedi: quatech_daqp_cs: fix bug in daqp_ao_insn_write() The comedi core expects (*insn_write) functions to write insn->n values to the hardware and return the number of values written. Currently, this function only writes the first value. Fix it to work like the core expects. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41e7a107104d74d7109a64c80a560f4256db1fdf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:32 2014 -0700 staging: comedi: dt3000: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fd142ce3d23ea5168b2c0eebca5c9fbdce632ef Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:31 2014 -0700 staging: comedi: ii_pci20kc: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3c17d2eadce4e497a88783a625e07acb31f1dfb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:30 2014 -0700 staging: comedi: ii_pci20kc: save unmunged data for ao readback The unmunged data should be saved for readback not the munged data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42c7b55cce1c52e9d3f605243e9d389fa6c9213b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:29 2014 -0700 staging: comedi: me_daq: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61e9332b1cf748673d6fe4217fa21730330a29d1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:28 2014 -0700 staging: comedi: me_daq: fix bug in me_ao_insn_write() The comedi core expects (*insn_write) functions to write insn->n values to the hardware and return the number of values written. Currently, this function only writes the first value. The core also validates all the data values so the extra masking with s->maxdata is not needed. Fix this function to work like the core expects. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8928754217560c70b1921de1a882cba9a069533 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:27 2014 -0700 staging: comedi: ni_atmio16d: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 898fb5cb5c174dfcdb87e8b1d49b11ecd77678b9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:26 2014 -0700 staging: comedi: ni_atmio16d: cleanup atmio16d_ao_insn_write() The comedi core validates the insn->chanspec and data values before calling the (*insn_write) functions. The 'chan' will always be valid. Tidy up this function up a bit and remove the unnecessary code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b38d64946f8e78055f742f23678b5ebed674a5b3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:25 2014 -0700 staging: comedi: addi_apci_3xxx: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38f9980f644a8e5eb06360b7105a6077b1198b89 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:24 2014 -0700 staging: comedi: amplc_pci230: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23b858dcb6bdd6ec7bbe41de179076486ebc7f18 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:23 2014 -0700 staging: comedi: amplc_pci224: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b00f53e9175ab157b6b1cb157eda8634e822b11 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:22 2014 -0700 staging: comedi: cb_das16_cs: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1d6bffb92fe78d11e18f8853a80d4cc372afc2d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:21 2014 -0700 staging: comedi: addi_apci_3501: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b33bad98afe06cb8bb2751a02bdae2f2531bd4f4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:20 2014 -0700 staging: comedi: dt2811: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acc5fe2ce36f41f74603d57b635df28a61c94c34 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:19 2014 -0700 staging: comedi: dt9812: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3dd0b514d95b2063c211d5b00940202921cce3ea Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:18 2014 -0700 staging: comedi: das6402: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58d10f32c4044a44ddf1e4762eeb72a1ac3fb3d7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:17 2014 -0700 staging: comedi: usbduxsigma: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65a847477f63c913f493d0a489549f24a776bd44 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:16 2014 -0700 staging: comedi: usbdux: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6d977e9fb8c63435ba5dec87e707e088df7e7f8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:15 2014 -0700 staging: comedi: ni_mio_common: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b01383a66e36a42af803a14de36ed7de179024a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:14 2014 -0700 staging: comedi: pcmmio: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf90bbd6a3bd41af7565118625c87f9c67d7abdb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:13 2014 -0700 staging: comedi: pcmda12: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72e35fd3c5b7fa08b1e39838889718df5fc04f84 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:12 2014 -0700 staging: comedi: ni_at_ao: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 096b4b0a51bd78c03c560847577c0395c3512f3b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:11 2014 -0700 staging: comedi: pcl711: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc49b499723ffd726a24f72fdab0908bff152b27 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:10 2014 -0700 staging: comedi: pcl812: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, tidy up pcl812_ao_insn_write(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18259ffcbccad9917342ebafab5f22a54dfba8c9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:09 2014 -0700 staging: comedi: s626: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6085cb45b0805f9daee9b68079c1a33c039d7ac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:08 2014 -0700 staging: comedi: rti802: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db4a1f5ebea6ecdd147798df3e0b18cdb39e485 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:07 2014 -0700 staging: comedi: s526: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0062e84c6cee925656210ce5bcc81586bd96f18 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:06 2014 -0700 staging: comedi: pcl726: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bba804d9a336e2eccaf4ad16fccba0f1ee283185 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:05 2014 -0700 staging: comedi: icp_multi: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 559975c175767ccb2f0f9a8231b3fcb3adcd1650 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:04 2014 -0700 staging: comedi: dt282x: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 551739b0d349448ca4bf34c43754c2f1ab7593cc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:03 2014 -0700 staging: comedi: das16: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 800242553a3fbc42741c95e108655dc4081ac73c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:02 2014 -0700 staging: comedi: adl_pci9111: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2e01ecbb2adae00d99ff26e74f7f7923ec529b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:01 2014 -0700 staging: comedi: cb_pcimdda: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. For aesthetics, rename the (*insn_write) and (*insn_read) functions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a416133abb117fc9cc50ff53762d72296140be39 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:00 2014 -0700 staging: comedi: multiq3: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec00fdc8922d1967e8e700e6f7b118e04b760c7a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:59 2014 -0700 staging: comedi: fl512: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 921f1b2eda8c3988b31909ea3f4b83ed059aa3a9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:58 2014 -0700 staging: comedi: dac02: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ac581336a6ddd781d92e03e6d4f2c17cbac021a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:57 2014 -0700 staging: comedi: aio_aio12_8: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. For aesthetics, rename the (*insn_write) function and tidy it up. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da1eed1824e5c7f231a0d256044bb0aa730f45f5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:56 2014 -0700 staging: comedi: adl_pci6208: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. The loop used to write the values could timeout. Move the saving of the readback value so that the last value written is always saved. Remove the unused private data and its allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1598f940376e12a3534a105466ac1c29be11c00 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:55 2014 -0700 staging: comedi: skel: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up a bit. Add a comment about the 'readback' member. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d27620669209e3cc87f13449326eeb68229e4bd0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:54 2014 -0700 staging: comedi: add a 'readback' member to comedi_subdevice The analog output hardware in most comedi drivers does not provide a way to readback to last values written to the channels. In order to provide an (*insn_read) for the analog output subdevice, the comedi drivers save the last values for each channel in the private data. Add a new member, 'readback', to the comedi_subdevice definition to provide a common way to save these values. Introduce a comedi core function, comedi_alloc_subdev_readback(), to allocate the memory needed to save the values. This memory will be automatically kfree'd when the driver is detached. Introduce a comedi core function, comedi_readback_insn_read(), that the comedi drivers can use for the (*insn_read) of a subdevice to return the saved values for each channel. This will allow removing the boilerplate in the comedi drivers to return the saved values. In some drivers it will also allow removing the private data completely. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0be9430420457bfffcf4fa7f1ee26dbfd8cedb6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:24:03 2014 -0700 staging: comedi: addi_apci_1032: remove deadcode in apci1032_cos_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc67b0167a366f4b13935fe05abd58d396c30375 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:24:02 2014 -0700 staging: comedi: addi_apci_1564: remove deadcode in apci1564_cos_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3cdebbfe22e26c3004eaec91fca1d1851b248d0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:24:01 2014 -0700 staging: comedi: addi_apci_2032: remove deadcode in apci2030_int_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7e84722063c372c2fe529aca58064475263e2ec Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:24:00 2014 -0700 staging: comedi: amplc_pc236_common: remove deadcode in pc236_intr_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68bd0f6f3cf38da7a99ff2582a9a64d8f62dd664 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:59 2014 -0700 staging: comedi: comedi_parport: remove deadcode in parport_intr_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 079d062fb5fa7b52be7f4ed67d55f9629a7a3869 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:58 2014 -0700 staging: comedi: dt3000: remove deadcode in dt3k_ai_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6883565484081cbaa5faca18f606bb1088549dec Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:57 2014 -0700 staging: comedi: gsc_hpdi: remove deadcode in gsc_hpdi_cmd_test() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d44945dc4bf4e091375b1c56bb60c12ec69a7b1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:56 2014 -0700 staging: comedi: me4000: fix aref test in ai_write_chanlist() The 'aref' (CR_AREF) values are all AREF_* defines. The SDF_* defines are subdevice flags. Fix the test in this function. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a7dab19845cbbb78744b420a9a3d63356caaaf24 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:55 2014 -0700 staging: comedi: me4000: fix aref test in me4000_ai_check_chanlist() The 'aref' (CR_AREF) values are all AREF_* defines. The SDF_* defines are subdevice flags. Fix the test in this function. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88eb626a7ed9b57e11cf08ddf5a5b2bcfd193961 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:54 2014 -0700 staging: comedi: ni_6527: remove deadcode in ni6527_intr_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8ee13c6620b526527e0b33227d6e9fd62565c9b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:53 2014 -0700 staging: comedi: ni_65xx: remove deadcode in ni_65xx_intr_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b32381c5a8fdf5275f3ea680afe77aac5bc38f6e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:52 2014 -0700 staging: comedi: ni_mio_common: remove deadcode in ni_cdio_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cad6daded3feed359b73cee8d1e0962bfac3059f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:51 2014 -0700 staging: comedi: ni_mio_common: remove deadcode in ni_ai_insn_config() The previous mask by 0xf ensures that calib_source will not be > 0xf. Remove the dead code. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0557344e21497fce9475dfe3f41fd92d57d8a274 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:50 2014 -0700 staging: comedi: ni_mio_common: fix local var for 32-bit read The local variable 'd' is used to read a 32-bit register. One branch of the code shifts the register value 16 bits to the right to get the high 16-bits. Change the type of the local variable so that this shift works correctly. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae2aef64fb10f8c976cd7e95372bab45944d754a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:49 2014 -0700 staging: comedi: ni_tiocmd: remove deadcode in ni_tio_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e24e9216ed9864e54704fb0bdc7e1868f9d61dc8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:48 2014 -0700 staging: comedi: usbdux: remove deadcode in pcl726_intr_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25e9398734ebc1ae10028d92ff001b45ce3da67f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:47 2014 -0700 staging: comedi: usbdux: fix errno (EL2NSYNC) check These should both be checking the -errno. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d77ac2c487a37da53e9dd4554a0d6ff1a210fdeb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:46 2014 -0700 staging: comedi: usbduxsigma: fix kcalloc 'size' argument This code wants to allocate two arrays of struct urb pointers not two arrays of struct urb objects. The size argument for both kcalloc calls should be sizeof(urb) not sizeof(*urb). Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f15f7ccfca183d16e2a47f3a2920d118d7588b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:45 2014 -0700 staging: comedi: usbduxsigma: fix errno (EL2NSYNC) check These should both be checking the -errno. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b41976933378192871629ba8afa37cfa1003f85 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:33 2014 +0100 staging: comedi: ni_labpc: split common code to ni_labpc_common The "ni_labpc" module is a Comedi driver for the National Instruments Lab-PC series of ISA data acquistion boards, and also provides common code for the "ni_labpc_pci" and "ni_labpci_cs" modules (for PCI boards and PCMCIA cards). Split out the common code into a new module "ni_labpc_common", leaving the driver for the ISA boards in the existing "ni_labpc" module. This removes the C preprocessor conditional directives from the resulting ".c" files (although they remain in the included header file "ni_labpc_isadma.h"). Unneccessary `#include` directives have been removed from the resulting ".c" files. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9439881a38c2bef6807954732768d636ff94c0d5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:32 2014 +0100 staging: comedi: ni_labpc: break lines after operators For consistency, break lines before operators, not after. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e3f39b16650db36bdc3f6a456f0a6509b6b6729 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:31 2014 +0100 staging: comedi: ni_labpc: Logical continuations should be on the previous line Fix checkpatch issues "CHECK: Logical continuations should be on the previous line". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd98a4abff8018e11273767404fb9ef3cdf8a807 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:30 2014 +0100 staging: comedi: ni_labpc: Alignment should match open parenthesis Fix checkpatch issues "CHECK: Alignment should match open parenthesis". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6569f098279225258e805e4c9a20805d87ab4277 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:29 2014 +0100 staging: comedi: ni_labpc: use braces on all arms of `if` statement Fix checkpatch issues "CHECK: braces {} should be used on all arms of this statement". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13fec56c96b5b81d425c4eba734b02ab0377e5a7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:28 2014 +0100 staging: comedi: ni_labpc: remove unnecessary braces in labpc_common_attach() Correct checkpatch issue "WARNING: braces {} are not necessary for any arm of this statement". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdbb0512205f717301e93421c08765c9af2bbe1c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 30 22:11:37 2014 +0200 staging: lustre: adjust spacing within pointer casts The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; expression e; @@ ( - T * + T * ) e // </smpl> This semantic patch just removes the cast and adds it back, but when it does so, it follows the spacing conventions of Linux. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea2e3182686e2df95e432fdaae66d6b0d1547720 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 17 22:43:44 2014 -0500 staging: comedi: s626: remove unnecessary variable initialization We initialize 'irqbit' to 0, only to properly set it immediately afterwards. Just remove the zero-initialization. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adb7a4777b47f23fdc67a02b195f3ad4b61946ff Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 17 22:43:02 2014 -0500 staging: comedi: dt2801: change function return type to void cppcheck was complaining that the variable 'stat' is being reassigned before the old value is used. Upon inspection, I found that dt2801_writecmd() cannot fail, always returns 0, and most callers already do not bother with assigning its return value anyway, so it makes sense to just change the return type for this function from int to void, and remove the two assignments to 'stat'. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb3f491d3195510af1c79c37a01076b4408a2e3c Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sat Aug 16 23:26:11 2014 -0500 staging: comedi: dt3000: remove unneeded variable Coccinelle (using scripts/coccinelle/tests/doublebitand.cocci) found this assignment because 0 is or'd twice. Upon inspection, I found that the variable "mode" is only assigned once and used once, and thus can be cleanly removed. This patch plugs its value straight into writew() and then removes the variable. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5283aab0483020a13b83cca09a840e50c4a2f9c Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sat Aug 16 23:25:51 2014 -0500 staging: comedi: addi_apci_1564: correct typo in macro definition A recent commit introduced a typo in the definition of APCI1564_DO_CC_INT_DISABLE. The macro is not use yet, so not a huge deal, but this patch corrects it. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6caf60158821699e772a9545b030c7254519078e Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sat Aug 16 23:25:16 2014 -0500 staging: comedi: addi_apci_1564: add whitespace to subdevice init For purely aesthetic purposes, add some whitespace to subdevice initialization. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d7f1d1c37e86a5a3cc4055fc761fbf7bdcb4988 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:58:01 2014 +0300 staging: xillybus: Removed read barrier at beginning of ISR The comment (also removed) explains why it was there in the first place, but that doesn't make much sense. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9959078c96748effba0a6a7c0fc5a2ec5f738129 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:58:00 2014 +0300 staging: xillybus: Removed unnecessary smp_wmb() These memory barriers were added "just to be safe". Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21fc0b9f9de43c761d8c86bb481abd99053daced Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:57:59 2014 +0300 staging: xillybus: Removed write memory barriers before wait_event_*() According to Documentation/memory-barriers.txt, a memory barrier is put in place by wait_event_*() Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fdde3668fc0f2520327f69bef97e4ab0e659043 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:57:58 2014 +0300 staging: xillybus: Removed mmiowb() as iowrite32() is ordered mmiowb() was used to make sure that iowrite32() take place in the correct order, which is an unnecessary precuation. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f66a49766fdfcb8186056bd44a407594c6a3d5ff Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:57:57 2014 +0300 staging: xillybus: Removed mmiowb() before mutex_unlock() The relevant sequences consist of two I/O memory writes. The second write depends on the first one. mmiowb() was inserted to make sure that no other thread inserts a "first write" before the current one finished its second. As a mutex protects this critical sequence, mmiowb() is unnecessary. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5b2e028bb47b4d6f4508e41120cfb2ea8aa9cac Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:57:56 2014 +0300 staging: xillybus: Remove mmiowb() before wait_event_*() calls According to Documentation/memory-barriers.txt, a memory barrier is put in place by wait_event_*() Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4102f90e87cfaa3fdbed6fdf469b23f0eeb4bfd Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 30 13:10:25 2014 -0700 staging: remove nokia_hp4p driver The Bluetooth maintainer has been complaining about it for a while, and I shouldn't have merged it over his objections. There also has been no real work done on it at all to get it out of the staging tree, so just delete the code for now. If someone wants to get this fixed up properly, feel free to revert this commit and send the revert, along with cleanups and we will be glad to consider it. Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: Pali Rohár <pali.rohar@xxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx>, Cc: Miguel Oliveira <cmroliv@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca801795b17b13a105b5209cf451abac3a6529ff Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Tue Aug 19 16:25:00 2014 +0100 iio: accel: kxcjk-1013: add support for kxcj9-1008 This patch adds support for KXCJ9-1008 3-axis acceleromenter sensor. KXCJ9-1008 uses the same register definitions as KXCJK-1013. The specification for KXCJ9-1008 can be downloaded from: http://www.kionix.com/sites/default/files/KXCJ9-1008%20Specifications%20Rev%205.pdf Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 86128a0dd6c691f6356c9fb81e1ade5d4ff89ea8 Author: Andrew Plummer <plummer574@xxxxxxxxx> Date: Fri Aug 29 21:50:16 2014 +0100 Staging: bcm: LeakyBucket: format kernel-docs Remove insignificant spaces before tabs in comments. Signed-off-by: Andrew Plummer <plummer574@xxxxxxxxx> Reviewed-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5aa89392fad217fae7df361dc812a27d5177d980 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Jul 23 22:24:00 2014 +0100 dt-bindings: document Rockchip saradc This add the necessary binding documentation for the saradc found in all recent processors from Rockchip. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7f90417bb9c7f4638f87d75a24a22afc7cebc100 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 13:03:29 2014 +0200 Staging: bcm: Bcmnet.c: Renamed variable: "IntfAdapter" -> "intf_ad" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dd1e5542c1f1bbec2f66e30470b529cf8e30ad6 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 13:03:31 2014 +0200 Staging: bcm: Bcmnet.c: Renamed variable: "psIntfAdapter" -> "intf_ad" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d07b030130b94dfa527e010b66f0162699377035 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 13:03:30 2014 +0200 Staging: bcm: Bcmnet.c: Renamed variable: "Adapter" -> "ad" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e324ae64c6777c0afd434c1b2081c9b8fcaf67c2 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:15 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "NOB" -> "nob" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b67bc7788f1bcfb0ac17719d9859ebb177cefb3a Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:14 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pTarang" -> "tarang" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad4a9e6d996f5ca57cb1c20f9d17a4e0d7cfbcba Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:13 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "stTimeElapsedSinceNetEntry" -> "time_elapsed_since_net_entry" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bafa367468ed3a1d9d31d2651bab963f4ee5ae9a Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:12 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "DevInfo" -> "dev_info" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd8107b2b2dc9fb1113bfe1a9cf2533ee19c57ee Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:11 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "RxCntrlMsgBitMask" -> "rx_cntrl_msg_bit_mask" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b2318a19f71e22cedf7ee97efe368fe9c5bb3d6 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:10 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "ReadOffset" -> "read_offset" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd5148325d05a1b8e8fae92ea62b8d763ad883b1 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:09 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "stNVMRead" -> "nvm_read" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f1d98eab69ba478ceb40f4e0400fcdab98ae380 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:08 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "SectOfset" -> "sect_offset" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50a9e6fe6dadc0fc4800beaf8f35042bc463eefc Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:07 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "sCopySectStrut" -> "copy_sect_strut" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d35be09d772eaa30f2aa088872dab8245352e5f2 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:06 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "eFlash2xSectionVal" -> "flash_2x_section_val" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d16c8489c164dad8bd3469aae591bc3db3a8c8c2 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:05 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "psFlash2xBitMap" -> "flash_2x_bit_map" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57240f04343177ae505ec422501f495f367d11a8 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:04 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "WriteOffset" -> "write_off" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b81edbc3d3c7a26f812a6d65f10fe203f3883be Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:03 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "InputAddr" -> "input_addr" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63f7a797f698e5f598600d2da316b2db472a8bd7 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:02 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pWriteBuff" -> "write_buff" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b69e66bcc03b3fd8f108753b5dd682f1e91a9bf2 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:01 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "WriteBytes" -> "write_bytes" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca3c80c2801cee676a95523f7673041537845df5 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:00 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "ReadBytes" -> "read_bytes" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac56aa228a1cada777bd0a70f034522f09e1e758 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:59 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "BuffSize" -> "buff_size" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3416bc87237d9bb76f355861add826b87dd00b40 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:58 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pReadBuff" -> "read_buff" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddf559a91adce5a45da1bf1e4a0bdeb4594dad6d Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:57 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "sFlash2xRead" -> "flash_2x_read" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f45700481f011a4dc27ea393514bd6e044bc370a Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:56 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pReadData" -> "read_data" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bad5f56d0eb7a09876a5dcc05a927b5d271ebfe4 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:55 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "stNVMReadWrite" -> "nvm_rw" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0622a6f46cd0c1cb16d14097a0e2872cf0e67c6f Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:54 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "sUserDebugState" -> "user_debug_state" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70edad0eaa2517d30823f2fde577b67a0445b0a4 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:53 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "uiSectorSize" -> "sector_size" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db1f4df0b3a298ce10e9b8f2a066d43844f3f373 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:52 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "uiTempVar" -> "tmp" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81d69c748ae596c1fb199bf6d275f2697dadd719 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:51 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pBulkBuffer" -> "bulk_buff" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27c31808014ae8b61e9a752460d900bda177ec12 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:50 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "uiData" -> "data" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2955572eaaa4171cd5a9e99d1750d44b23888bbf Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:49 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "uiLoopIndex" -> "i" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7029fbb7611ca150f3d377dad9a47c4f94a307a6 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:48 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "NVMAccess" -> "nvm_access" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f262b21dab0834ca09979fb404922c5f561eeed Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:47 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "psFwInfo" -> "fw_info" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea3d010d3ba6ec73cb4c6cbd5dbf7ee044605c1f Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:46 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "ulSFId" -> "sf_id" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9940ea6b6efd44f05727d1611803e6ea2835994 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:45 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pvBuffer" -> "buff" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ed2c01674015419e7e4d4d98c4e41f49e00b52f Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:44 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "ucResetValue" -> "reset_val" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ab1b7f2ae07bb0505c9f8e56ce79da87ed8c2b1 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:43 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "Status" -> "status" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92dae16fb42c33869aa6d1b9d4ef78a079235c5c Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:42 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "ucRead" -> "read" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a00765a0dae0516e61d41bddfe7be609e085266f Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:41 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "uiBit" -> "bit" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b62b9636c9e6a2957eeb3feaec02c480d7715f5 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:40 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "IoBuffer" -> "io_buff" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 657c65dd666058c3783796f3f844c6507c78d5f0 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:39 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "threadReq" -> "thread_req" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11d37b1f36c83e80267630c9856eb205b7426e0b Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:38 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "Adapter" -> "ad" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a2c9cea711348a4860e1ac0b414eea0e6f56bc2 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Mon Aug 18 12:38:31 2014 +0200 Staging: bcm: Bcmchar.c: Fixed debug output The output prints some struct variable contents, but uses a wrong variable name. This is fixed by this patch. Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42e7f1df4e731df3d5e658852b80c0657b019b31 Author: Marco Cyriacks <marco@xxxxxxxxxxxx> Date: Fri Aug 22 22:08:06 2014 +0200 staging: lustre: socklnd: Remove static initialization to NULL or 0 This patch fixes the following coding style issue: ERROR: do not initialise statics to 0 or NULL Signed-off-by: Marco Cyriacks <marco@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89180ca750f42ca701d7851e431c7b4cfc298b81 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 30 16:41:23 2014 +0200 staging: lustre: fid,fld: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34e1f2bb1e7ab87c2b950189f7ccae57a72f25a8 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 30 16:24:55 2014 +0200 staging: lustre: llite: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; @@ if (...) GOTO(lbl,...); +else GOTO(lbl,...); @@ identifier lbl,rc; constant c; expression e,e1; @@ if ( - e + !e ) - GOTO(lbl,\(rc\|c\)); -else GOTO(lbl,e1); + e1; +goto lbl; @@ identifier lbl,rc; constant c; expression e,e1; @@ if (e) - GOTO(lbl,e1); -else GOTO(lbl,\(rc\|c\)); + e1; +goto lbl; @@ identifier lbl; expression e,e1,e2; @@ if (e) - GOTO(lbl,e1); -else GOTO(lbl,e2); + e1; +else e2; +goto lbl; // ------------------------------------------------------------------------ @@ identifier lbl,rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> The rules above the line deal with the case where the goto desination is the same whether or not the the branch is taken. In that case, the goto is created in just one instance after the if. This affects only the files namei.c and llite_lib.c. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebcb983639ab007ce75a243e188c730fb0e6f1af Author: Janet Liu <jianhua.ljh@xxxxxxxxx> Date: Sat Aug 30 14:59:04 2014 +0800 staging:lustre:lnet lib-md.c erase space before ')' for code style Silences the following error: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Janet Liu <jianhua.ljh@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc8b040d5b995b2835c719a8cefb2548eee9ca8a Author: Janet Liu <jianhua.ljh@xxxxxxxxx> Date: Sat Aug 30 14:56:09 2014 +0800 staging:lustre:lnet: lib-md.c delete space before '(' for code style Silences the following checkpatch warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Janet Liu <jianhua.ljh@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cc9e6124dab4b6f780941e67a3df3ab924cd689 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:19 2014 -0500 staging/lustre: remove linux/obd_support.h Remove the superfluous header lustre/include/linux/obd_support.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 616331c3d36c066dd49f707d2bef06673beb105d Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:18 2014 -0500 staging/lustre: remove linux/obd_class.h Kill the macro ll_inode_flags() and remove the superfluous header lustre/include/linux/obd_class.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39c933416898eaaf23f2e3001fabc57cee484e7a Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:17 2014 -0500 staging/lustre: remove linux/lustre_quota.h Remove the superfluous header lustre/include/linux/lustre_quota.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48186028836dfaccc7ce556e1973f6a1b07374eb Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:16 2014 -0500 staging/lustre: remove linux/lustre_net.h Remove the superfluous header lustre/include/linux/lustre_net.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eed766c163bc3752e6bec97eb405a51a996af14d Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:15 2014 -0500 staging/lustre: remove linux/lustre_log.h Remove the superfluous header lustre/include/linux/lustre_log.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 376ef86bfa38137d6c50ca1a5e63fee69682c0d8 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:14 2014 -0500 staging/lustre: remove linux/lustre_lib.h Inline the only call to inode_init_lvb(). Move some definitions from lustre/include/linux/lustre_lib.h to lustre/include/lustre_lib.h and remove the first header. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00d65ec8e158121638ad8fa049b5f58960ad560c Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:13 2014 -0500 staging/lustre: move lustre_intent.h to .. Move lustre/include/linux/lustre_intent.h to lustre/include. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8504a9e54437949003bb7aabfaa79c9c26bbf00e Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:12 2014 -0500 staging/lustre: remove linux/lustre_handles.h Remove lustre/include/linux/lustre_acl.h and kill the cfs_rcu_head_t typedef. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1805124a54139ae6a67d8ad4fe5fd3de4806181 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:11 2014 -0500 staging/lustre: remove linux/lustre_dlm.h Remove the superfluous header lustre/include/linux/lustre_dlm.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec0859da8c325316eff942beedc4b749b5543188 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:10 2014 -0500 staging/lustre remove linux/lustre_acl.h Move the contents of lustre/include/linux/lustre_acl.h to lustre/include/lustre_acl.h and remove the first header. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9c7db391a7b46fd2f800671cb67c514c138ddab Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:09 2014 -0500 staging/lustre: remove linux/lprocfs_status.h Remove lustre/include/linux/lprocfs_status.h. Include linux/statfs.h where needed. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1144b19fcfac53d94eb73b53f783cec130634a1f Author: Mario Schlegel <m.schlegel@xxxxxxxxx> Date: Thu Aug 28 21:54:18 2014 +0200 staging: lustre: osc: add blank line after declarations fixed a coding style issue Signed-off-by: Mario Schlegel <m.schlegel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa075d31d2e0c5d735d72f2e901526e71ebb2ac7 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Aug 28 14:54:23 2014 -0400 staging/lustre: remove unused request policies. Client policies do not make much sense to have in client-only code, so remove all references to everything but fifo. This also removes lustre/libcfs/heap.c and its header, since it was only used by certain request policies (crr and orr). Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 986f7b96532da3592e5fdf4492480d7f0e222c80 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Aug 28 14:54:22 2014 -0400 staging/lustre/obdclass: remove unused file linkea.c Also unused header file lustre_linkea.h Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff9b828252bc5145733bd2dffcdbaa752c6443d6 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Aug 28 14:54:21 2014 -0400 staging/lustre/obdclass: remove unused file llog_lvfs.c This contains server-side llog operations. Also remove declaration of public structure from lustre_log.h Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb21ed15439e47be7998e3bbe7a581eb82ed45c8 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Aug 28 14:54:20 2014 -0400 staging/lustre/obdclass: remove unused file md_attrs.c It's only used by server side luster for on-disk structure swabbing. And also remove forward declarations for its functions from md_object.h and lustre_idl.h Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74d3ba9822fd95ddd6dbb97c9a7d3d928791a7be Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Aug 28 20:03:37 2014 +0200 staging: lustre: mgc: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36b7d8e62269a9da130f447354840f3a37b5470d Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Aug 28 19:47:00 2014 +0200 staging: lustre: mgc: remove unused file This file contains unresolved references and is not mentioned in the Makefile. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 973dbcbbd9b88976187d72cd6887a93d006871ba Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Aug 28 19:42:45 2014 +0200 staging: lustre: obdech: remove unused file This file contains unresolved references and is not mentioned in the Makefile. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5fdc207845b64584a71fb75edc04fdfee3bacbc Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Aug 28 12:10:35 2014 +0200 staging: lustre: mdc: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d54556f791318f49fed3b254ffd6248f35a207c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Aug 27 23:01:34 2014 +0200 staging: lustre: lmv: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbe7c6c72a8f36e78cf3886573bbc0fdd0aa55b5 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Tue Aug 26 22:00:33 2014 +0200 staging: lustre: remove parentheses from return arguments The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier i; constant c; @@ return - ( \(i\|-i\|i(...)\|c\) - ) ; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d8cb70c7bdda47125ed551fc390aa9597c5f264 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Aug 25 20:07:19 2014 -0500 drivers: staging: lustre: Fix space required after that ',' errors Fix checkpatch.pl space required after that ',' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4873972b407742b1ad6f6cc5c53e0b5e5cb0cf2f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 13:20:27 2014 +0200 lustre: obdclass: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d0b2b7a079599c69ef23109b3851d1cdd159c2e Author: Greg Donald <gdonald@xxxxxxxxx> Date: Fri Aug 22 09:06:15 2014 -0500 drivers: staging: lustre: Fix that open brace { should be on the previous line errors Fix checkpatch.pl that open brace { should be on the previous line errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a58a38ac0d94ccafdc1ae3c0ece750cbb9ca34c9 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Aug 21 12:40:35 2014 -0500 drivers: staging: lustre: Fix space required before the open parenthesis '(' errors Fix checkpatch.pl space required before the open parenthesis '(' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aff9d8e80489e2abe446094680009f6a23e8e6d7 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Aug 21 11:07:42 2014 -0500 drivers: staging: lustre: lustre: Fix "foo * bar" should be "foo *bar" errors Fix checkpatch.pl "foo * bar" should be "foo *bar" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc13eb86fdef902facdc95da1f6f3f29c3b04e22 Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Wed Aug 20 00:56:28 2014 +0530 staging: lustre: lustre: ptlrpc: Placing inline keyword This patch fixes the following error using checkpatch.pl ERROR: inline keyword should sit between storage class and type Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9cd474f86db4572a559a2c855b6f42aba713247 Author: Phong Tran <tranmanphong@xxxxxxxxx> Date: Tue Aug 19 22:45:50 2014 +0700 staging: lustre: lnet: socklnd_cb.c Fix sparse non-static symbol warning This patch fixes some non static function declarations that cause sparse warning. Tested by compilation. Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11c8779bc0e0002f2a3dd5400c1e2cff584b90d9 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Aug 17 13:13:51 2014 -0400 lustre: Add some basic documentation This adds drivers/staging/lustre/README.txt with some basic information about Lustre and how to use it. Eventually this will need to move to Documentation/filesystems/lustre.txt Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5e5de1e9edf1ac47c4e13a4ff864e76d8eb1fe1 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Aug 15 12:48:14 2014 -0400 lustre: Add MAINTAINERS entry Just add the entry with some info. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 811b700630ff328c52ddf17d653ffdcb0ba87d30 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Aug 30 14:50:24 2014 +0200 regulator: rn5t618: add driver for Ricoh RN5T618 regulators This driver supports the 3 DCDC and 7 LDO regulators available on Ricoh RN5T618 PMIC. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b31b05cf629574d47b324bb52128ed1b199faccd Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Fri Aug 29 09:38:00 2014 +0100 iio: accel: BMC150: fix issues when CONFIG_PM_RUNTIME is not set When CONFIG_PM_RUNTIME is not set, the following issues are seen: * warning message at compilation time: warning: 'bmc150_accel_get_startup_times' defined but not used [-Wunused-function] * bmc150_accel_set_power_state() will always fail and reading the accelerometer data is impossible; This occurs because of the call to pm_runtime_put_autosuspend calls __pm_runtime_suspend which returns -ENOSYS. This commit fixes these. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 823615e2de6880de3c8e681333147a09719f6fdb Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Fri Aug 29 09:38:00 2014 +0100 iio: accel: BMC150: fix scale value for 16G According to documentation ([1] - page 27), the range for 16G is 7.81mg/LSB. Converted to SI, this is: 7.81 * 10^-3 * 9.80665 m/s^2 / LSB = 0.0765899365 m/s^2 / LSB [1] http://ae-bst.resource.bosch.com/media/products/dokumente/bmc150/BST-BMC150-DS000-04.pdf Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 609acefa46090fbe814aa5dbfec79338b49cf784 Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Fri Aug 29 15:26:00 2014 +0100 staging: iio: light: isl29018: add support for isl29023 and isl29035 Intersil chips ISL29018, ISL29023 and ISL29035 are very similar. They're all ambience light sensors. The ISL29018, however, is also a proximity sensor. The registers are similar too: -------------+----------+---------- AVAILABLE IN | ADDR REG | NAME 290xx | | -------------+----------+---------- 18/23/35| 00h| COMMANDI 18/23/35| 01h| COMMANDII (B4-7 are used only in 29018 for proximity) 18/23/35| 02h| DATALSB 18/23/35| 03h| DATAMSB 18/23/35| 04h| INT_LT_LSB 18/23/35| 05h| INT_LT_MSB 18/23/35| 06h| INT_HT_LSB 18/23/35| 07h| INT_HT_MSB 18/23| 08h| TEST 35| 0Fh| ID -------------+----------+----------- So, this patch will add support for ISL29023 and ISL29035 to the existing isl29018 driver. Since these 2 chips don't have proximity detection, the proximity sysfs attribute is not needed. Also, for ISL29035, since it has an ID register, make use of it in order to properly detect the chip and clear the brownout bit. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5b4b5b9c6851418268cd0d5949942ba262106938 Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Fri Aug 29 15:26:00 2014 +0100 staging: iio: light: isl29018: fix typo isl29108 was used, instead of isl29018. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3c8bf223469b4db4d63e1dd8bdbde5ffb32d0cba Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 14:14:00 2014 +0100 iio: sensors-core: st: Check st_sensors_set_drdy_int_pin()'s return value Value from st_sensors_set_drdy_int_pin() is assigned to err here, but that stored value is not used before it is overwritten. To fix this we're enforcing a check on st_sensors_set_drdy_int_pin()'s return value and if it's an error, we're returning right away. Cc: jic23@xxxxxxxxxx Cc: linux-iio@xxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3068ab202e637d5e46831a2276c3849d97655192 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Aug 27 09:31:00 2014 +0100 iio: adc: at91: make the function handle_adc_eoc_trigger() static The handle_adc_eoc_trigger() in only used in at91_adc.c. So make it static. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit dd8f17a120d00e93b5f76d5904f5ea31934f0a90 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Tue Aug 26 23:40:00 2014 +0100 iio: adc: rockchip_saradc: remove unused variable in probe The rate variable in the probe function of the saradc is a remnant of a previous patch iteration. It is unused and thus produces a compile time warning. Therefore remove it. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 63d1157dedd79e37bbc3f68f6a9886c5eeb99c27 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Fri Aug 29 04:56:00 2014 +0100 iio: imu: inv_mpu6050: Remove casting the return value which is a void pointer Casting the return value which is a void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit dace1b54726bffe1c009f7661e3cee6b762f30c8 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Thu Aug 28 12:59:46 2014 +0800 net: stmmac: fix warning from Sparse for socfpga Warning: drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c:122:41: sparse: cast removes address space of expression drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c:122:38: sparse: incorrect type in assignment (different address spaces) Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> Acked-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 030824e039d6702ee309bf7441c446038d6a43f7 Merge: 96d4922 71d7a27 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 20:41:17 2014 -0700 Merge branch 'csums-next' Tom Herbert says: ==================== net: Checksum offload changes - Part VI I am working on overhauling RX checksum offload. Goals of this effort are: - Specify what exactly it means when driver returns CHECKSUM_UNNECESSARY - Preserve CHECKSUM_COMPLETE through encapsulation layers - Don't do skb_checksum more than once per packet - Unify GRO and non-GRO csum verification as much as possible - Unify the checksum functions (checksum_init) - Simplify code What is in this sixth patch set: - Clarify the specific requirements of devices returning CHECKSUM_UNNECESSARY (comments in skbuff.h). - Add csum_level field to skbuff. This is used to express how many checksums are covered by CHECKSUM_UNNECESSARY (stores n - 1). - Change __skb_checksum_validate_needed to "consume" each checksum as indicated by csum_level as layers of the the packet are parsed. - Remove skb_pop_rcv_encapsulation, no longer needed in the new csum_level model. - Allow GRO path to "consume" checksums provided in CHECKSUM_UNNECESSARY and to report new verfied checksums for use in normal path fallback. - Add proper support to SCTP to accept CHECKSUM_UNNECESSARY to validate header CRC. - Modify drivers to set skb->csum_level instead of setting skb->encapsulation to indicate validation of an encapsulated checksum on receive. v2: Allocate a new 16 bits for flags in skbuff. Please review carefully and test if possible, mucking with basic checksum functions is always a little precarious :-) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71d7a2772510a05a2cec4d005f984043827718e1 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:28:01 2014 -0700 qlcnic: Set skb->csum_level for encapsulated checksum Set skb->csum_level instead of skb->encapsulation when indicating CHECKSUM_UNNECESSARY for an encapsulated checksum. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ca8600ec1e2ea209b20a38d618ab2c00e86da28 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:27:53 2014 -0700 mlx4: Set skb->csum_level for encapsulated checksum Set skb->csum_level instead of skb->encapsulation when indicating CHECKSUM_UNNECESSARY for an encapsulated checksum. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 407fa0853c4c5427f7da4c435372f40d8adca4d4 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:27:43 2014 -0700 i40evf: Set skb->csum_level for encapsulated checksum Set skb->csum_level instead of skb->encapsulation when indicating CHECKSUM_UNNECESSARY for an encapsulated checksum. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa4ba69b246b6cba9b7ba447a385ed5c81cd552d Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:27:32 2014 -0700 i40e: Set skb->csum_level for encapsulated checksum Set skb->csum_level instead of skb->encapsulation when indicating CHECKSUM_UNNECESSARY for an encapsulated checksum. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6c0e89dd3a1b22e77fb495a0364a6883cfe81be Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:27:17 2014 -0700 benet: Set skb->csum_level for encapsulated checksum Set skb->csum_level instead of skb->encapsulation when indicating CHECKSUM_UNNECESSARY for an encapsulated checksum. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 202863fe4c7a5b0b9a3d3a00d207691635b31930 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:27:06 2014 -0700 sctp: Change sctp to implement csum_levels CHECKSUM_UNNECESSARY may be applied to the SCTP CRC so we need to appropriate account for this by decrementing csum_level. This is done by calling __skb_dec_checksum_unnecessary. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 662880f4420340aad4f9a62a349c6c9d4faa1a5d Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:26:56 2014 -0700 net: Allow GRO to use and set levels of checksum unnecessary Allow GRO path to "consume" checksums provided in CHECKSUM_UNNECESSARY and to report new checksums verfied for use in fallback to normal path. Change GRO checksum path to track csum_level using a csum_cnt field in NAPI_GRO_CB. On GRO initialization, if ip_summed is CHECKSUM_UNNECESSARY set NAPI_GRO_CB(skb)->csum_cnt to skb->csum_level + 1. For each checksum verified, decrement NAPI_GRO_CB(skb)->csum_cnt while its greater than zero. If a checksum is verfied and NAPI_GRO_CB(skb)->csum_cnt == 0, we have verified a deeper checksum than originally indicated in skbuf so increment csum_level (or initialize to CHECKSUM_UNNECESSARY if ip_summed is CHECKSUM_NONE or CHECKSUM_COMPLETE). Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77cffe23c1f88835f6bd7b47bfa0c060c2969828 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:26:46 2014 -0700 net: Clarification of CHECKSUM_UNNECESSARY This patch: - Clarifies the specific requirements of devices returning CHECKSUM_UNNECESSARY (comments in skbuff.h). - Adds csum_level field to skbuff. This is used to express how many checksums are covered by CHECKSUM_UNNECESSARY (stores n - 1). This replaces the overloading of skb->encapsulation, that field is is now only used to indicate inner headers are valid. - Change __skb_checksum_validate_needed to "consume" each checksum as indicated by csum_level as layers of the the packet are parsed. - Remove skb_pop_rcv_encapsulation, no longer needed in the new csum_level model. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de20fe8e2cc3c4ca13fdb529e6720d9d199333fe Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:26:35 2014 -0700 net: Allocate a new 16 bits for flags in skbuff Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96d49225a49536359e984fc4f21a87252aad8959 Author: Rick Jones <rick.jones2@xxxxxx> Date: Thu Aug 28 08:53:16 2014 -0700 be2net: Use dev_consume_skb_any() in the non-drop path The be2net driver was still using dev_kfree_skb_any() in a "normal" skb freeing path. This rather clutters perf top -G -e skb_kfree_skb profiling. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56daf66d3ca9558a71683779eec4f03c878f4de2 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Thu Aug 28 08:07:32 2014 +0300 bnx2x: Fix sparse warnings This fixes a sprase warning introduced recently by commit eeed018cbfa30 ("bnx2x: Add timestamping and PTP hardware clock support"), as well as another unrelated sparse endian issue. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 918bbc4ffdb84e9d2696315e427a6c43de65bc01 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:44:34 2014 +0200 include/rxrpc/types.h: Remove unused header The header file include/rxrpc/types.h does not seem to be used anywhere. It was orphaned by 63b6be55 "[AF_RXRPC]: Delete the old RxRPC code.". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fb7c3778f0fba0bad099c30e834c413c4f8bcb5 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:44:33 2014 +0200 include/linux/phonedev.h: Remove unused header The header file include/linux/phonedev.h does not seem to be used anywhere. It was orphaned by 7326446c "Staging: remove telephony drivers". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fbd74659d4513816a6249b0db491e8d831803520 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:44:32 2014 +0200 include/linux/i82593.h: Remove unused header The header file include/linux/i82593.h does not seem to be used anywhere. It was orphaned by 8a594170 "drivers/net: delete intel i825xx based znet notebook driver". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18fe8db5f2b53e4ac67b47048f24f50c57a2a759 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:44:31 2014 +0200 include/linux/cycx_x25.h: Remove unused header The header file include/linux/cycx_x25.h does not seem to be used anywhere. It was orphaned by 6fcdf4facb "wanrouter: delete now orphaned header content, files/drivers". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc086fcf92996965f0dcf05c6641d65381705266 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Thu Aug 28 10:02:41 2014 +0800 tipc: fix a potential oops Commit 6c9808ce09f7 ("tipc: remove port_lock") accidentally involves a potential bug: when tipc socket instance(tsk) is not got with given reference number in tipc_sk_get(), tsk is set to NULL. Subsequently we jump to exit label where to decrease socket reference counter pointed by tsk pointer in tipc_sk_put(). However, As now tsk is NULL, oops may happen because of touching a NULL pointer. Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Acked-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52c826db6d4b638677683c79e6c465b99074be74 Author: Wang Shilong <wshilong@xxxxxxx> Date: Fri Aug 29 23:20:44 2014 -0400 ext4: remove a duplicate call in ext4_init_new_dir() ext4_journal_get_write_access() has just been called in ext4_append() calling it again here is duplicated. Signed-off-by: Wang Shilong <wshilong@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 574746ddeca959cba407d6b556f96cb580fca8af Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 11:44:33 2014 -0700 net: phy: properly report internal PHYs through sysfs Internal PHYs may not have a valid PHY interface defined, which will show up in sysfs as "". Add an explicit check of internal PHYs to report their interface correctly. Fixes: 3d055d8d1c24 ("net: phy: expose PHY device interface mode") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 879ece6ecb2107ef1bbc3332cb2fea54c7d3a636 Merge: 10c51b5623 07fbc6b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 20:15:42 2014 -0700 Merge branch 'qlcnic-next' Shahed Shaikh says: ==================== qlcnic: Feature addition and enhancements This series contains following feature addition and enhancements, - Update Link speed and Port type information for 83xx series adapters - Support 0x8830 device ID - Support for Power on Self Test (POST) feature for 83xx - Use usleep_range() instead of msleep() for values less than 20ms ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07fbc6b79f63ae2a3e6afb88ec1b18abbf0430a0 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Wed Aug 27 12:43:22 2014 -0400 qlcnic: Update version to 5.3.62 Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f35a3ccb7b6aeb0fa2df73213b004df870ca466 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Wed Aug 27 12:43:21 2014 -0400 MAINTAINERS: Update group email alias for qlcnic driver Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ced0a88cd4c86587cf9545f67a7b9ae63f78a4a Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Wed Aug 27 12:43:20 2014 -0400 qlcnic: Add support to run firmware POST This patch adds support to run Power On Self Test (POST) for 83xx adapters. POST can be run in 3 different speed modes : i) Fast mode (takes about 690 ms) ii) Medium mode (takes about 2930 ms) iii) Slow mode (takes about 7500 ms) To run POST, firmware file with name "83xx_post_fw.bin" should be present under /lib/firmware directory. load_fw_file module parameter is used to specify POST operation and its speed mode. load_fw_file = 2 : Fast mode load_fw_file = 3 : Medium mode load_fw_file = 4 : Slow mode Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1b2037fc141cc838435e58a9e4efb0b92a696e4 Author: Jitendra Kalsaria <jitendra.kalsaria@xxxxxxxxxx> Date: Wed Aug 27 12:43:19 2014 -0400 qlcnic: Use usleep_range() instead of msleep() for sleep less than 20ms As per recommendation, msleep() may sleep longer than intended time for values less than 20ms. So, use usleep_range() instead of msleep() Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@xxxxxxxxxx> Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40e2b8ed855357b3b285d6575cec228e9ce8ebd1 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Wed Aug 27 12:43:18 2014 -0400 qlcnic: Add support for 0x8830 device ID Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd6e7381fbd925c85de1c208f2972e87a7c9d77b Author: Jitendra Kalsaria <jitendra.kalsaria@xxxxxxxxxx> Date: Wed Aug 27 12:43:17 2014 -0400 qlcnic: Update Link speed and port type info for 83xx adapter o Update the port type information o Advertise correct link modes and autonegotiation o Add support to change link speed Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@xxxxxxxxxx> Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10c51b56232d24f150e39884a9e749fd99cbc60c Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Wed Aug 27 11:11:27 2014 +0200 net: add skb_get_tx_queue() helper Replace occurences of skb_get_queue_mapping() and follow-up netdev_get_tx_queue() with an actual helper function. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8b3b59d4d561368cf8c92d50218fc0d5be7cb46 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Aug 29 20:52:18 2014 -0400 ext4: convert do_split() to use the ERR_PTR convention Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit dd73b5d5cb675e2aa3b1d4952e208af1546f91c1 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Aug 29 20:52:17 2014 -0400 ext4: convert dx_probe() to use the ERR_PTR convention Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1c2150283cae895526d0db3953d13d139f4e7a03 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Aug 29 20:52:15 2014 -0400 ext4: convert ext4_bread() to use the ERR_PTR convention Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1056008226769fe982236c26038a095aeb47714b Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Aug 29 20:51:32 2014 -0400 ext4: convert ext4_getblk() to use the ERR_PTR convention Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 537d8f93805ace30ce097736d3aac041931274b1 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Aug 29 20:49:51 2014 -0400 ext4: convert ext4_dx_find_entry() to use the ERR_PTR convention Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit fa31409a82ee050e52caad9e4c483fe3edca163a Author: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Date: Wed Aug 27 10:42:53 2014 +0200 usb: gadget: use $(srctree) instead of $(PWD) for includes Using $(PWD) breaks builds when make was invoked from outside of the kernel tree. Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b8adc3d1d852be653905b24cd8efcaee342b96ae Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sun Aug 24 05:21:16 2014 +0530 usb: gadget: udc: use USB API functions rather than constants This patch introduces the use of the functions usb_endpoint_type and usb_endpoint_num. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bEndpointAddress & \(USB_ENDPOINT_NUMBER_MASK\|0x0f\)) + usb_endpoint_num(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) + usb_endpoint_type(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 457a0955e152ac3b0de46ecbe7a8b434856fda67 Author: Amit Virdi <amit.virdi@xxxxxx> Date: Fri Aug 22 14:36:37 2014 +0530 usbtest: Add interrupt EP testcases Two simple test cases for interrupt endpoints are added to the usbtest.c file. These are simple non-queued interrupt IN and interrupt OUT transfers. Currently, only gadget zero is capable of executing the interrupt EP test cases. However, extending the same to other gadgets is extremely simple and can be done on-demand. The two new tests added are - Test 25: To verify Interrupt OUT transfer - Test 26: To verify Interrupt IN transfer Since the default value of wMaxPacketSize is set as 1024, so interrupt IN transfers must be specified with the size parameter = multiple of 1024. Otherwise the default value (512) in the usbtest application fails the transfer. See [RUN 4] for sample logs The application logs (usbtest) and corresponding kernel logs are as following: [Run 1] ./testusb -a -c 10 -s 2048 -t 26 -v 511 usbtest 7-1:3.0: TEST 26: read 2048 bytes 10 times [Run 2] ./testusb -a -c 10 -s 1024 -t 25 -v 511 usbtest 7-1:3.0: TEST 25: write 1024 bytes 10 times [Run 3] ./testusb -a -c 10 -s 1098 -t 25 -v 511 usbtest 7-1:3.0: TEST 25: write 1098 bytes 10 times [Run 4 - Failure case scenario] ./testusb -a -t 26 unknown speed /dev/bus/usb/007/004 0 /dev/bus/usb/007/004 test 26 --> 75 (Value too large for defined data type) usbtest 7-1:3.0: TEST 26: read 512 bytes 1000 times usb 7-1: test26 failed, iterations left 999, status -75 (not 0) Signed-off-by: Amit Virdi <amit.virdi@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 21c7eae21a2100a89cfb8cebaf7b770271f32c6e Author: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Date: Fri Aug 29 17:02:55 2014 +0200 Make Smack operate on smack_known struct where it still used char* Smack used to use a mix of smack_known struct and char* throughout its APIs and implementation. This patch unifies the behaviour and makes it store and operate exclusively on smack_known struct pointers when managing labels. Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Conflicts: security/smack/smack_access.c security/smack/smack_lsm.c commit d01757904d9deb619e23c9450218829943a46822 Author: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Date: Fri Aug 29 17:02:54 2014 +0200 Fix a bidirectional UDS connect check typo The 54e70ec5eb090193b03e69d551fa6771a5a217c4 commit introduced a bidirectional check that should have checked for mutual WRITE access between two labels. Due to a typo the second check was incorrect. Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> commit e95ef49b7f8f497bdb529f4cb1fe228e986b3255 Author: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Date: Fri Aug 29 17:02:53 2014 +0200 Small fixes in comments describing function parameters Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> commit fd2752352bbc98850d83b5448a288d8991590317 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 29 18:56:01 2014 +0200 KVM: x86: use guest maxphyaddr to check MTRR values The check introduced in commit d7a2a246a1b5 (KVM: x86: #GP when attempts to write reserved bits of Variable Range MTRRs, 2014-08-19) will break if the guest maxphyaddr is higher than the host's (which sometimes happens depending on your hardware and how QEMU is configured). To fix this, use cpuid_maxphyaddr similar to how the APIC_BASE MSR does already. Reported-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Tested-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 13a34e067eab24fec882e1834fbf2cc31911d474 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 28 15:13:03 2014 +0200 KVM: remove garbage arg to *hardware_{en,dis}able In the beggining was on_each_cpu(), which required an unused argument to kvm_arch_ops.hardware_{en,dis}able, but this was soon forgotten. Remove unnecessary arguments that stem from this. Signed-off-by: Radim KrÃ?Â?mÃ?¡Ã?â?¢ <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0865e636aef751966e6e0f8950a26bc7391e923c Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 28 15:13:02 2014 +0200 KVM: static inline empty kvm_arch functions Using static inline is going to save few bytes and cycles. For example on powerpc, the difference is 700 B after stripping. (5 kB before) This patch also deals with two overlooked empty functions: kvm_arch_flush_shadow was not removed from arch/mips/kvm/mips.c 2df72e9bc KVM: split kvm_arch_flush_shadow and kvm_arch_sched_in never made it into arch/ia64/kvm/kvm-ia64.c. e790d9ef6 KVM: add kvm_arch_sched_in Signed-off-by: Radim KrÃ?Â?mÃ?¡Ã?â?¢ <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 656473003bc7e056c3bbd4a4d9832dad01e86f76 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 29 14:01:17 2014 +0200 KVM: forward declare structs in kvm_types.h Opaque KVM structs are useful for prototypes in asm/kvm_host.h, to avoid "'struct foo' declared inside parameter list" warnings (and consequent breakage due to conflicting types). Move them from individual files to a generic place in linux/kvm_types.h. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 55872c5a3c01f0fe7b5298d19e24e237f5b5ff06 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Aug 28 15:05:40 2014 -0600 bsg: fix potential error pointer dereference Dan writes: block/bsg.c:327 bsg_map_hdr() error: 'next_rq' dereferencing possible ERR_PTR(). Fix this by setting next_rq to NULL, for the case where it can be != NULL but an error pointer. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ab81873974afa3ce7bd8669580b06d33353f1e7c Author: Feng Kan <fkan@xxxxxxx> Date: Fri Aug 22 16:26:40 2014 -0700 arm64: dts: add random number generator dts node to APM X-Gene platform. This adds random number generator dts node to APM X-Gene platform. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1b8815a980d17e387708eae5cf61c6283f354f7f Author: Feng Kan <fkan@xxxxxxx> Date: Fri Aug 22 16:26:39 2014 -0700 Documentation: rng: Add X-Gene SoC RNG driver documentation Add X-Gene SoC RNG driver documentation. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a91ae4eba9f9977863b57f2ac61e2e8e780375a8 Author: Feng Kan <fkan@xxxxxxx> Date: Fri Aug 22 16:26:38 2014 -0700 hwrng: xgene - add support for APM X-Gene SoC RNG support This adds the APM X-Gene SoC RNG support. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4a8f45f8184e3501be98609c0b5b681f0441e71a Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 18:33:37 2014 +0200 crypto: mv_cesa - Add missing #define Clearly this was meant to be an include guard, but the #define was missing. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1443cc9bcbbbc0951fe2208fb29207a301e364d9 Author: KOVACS Krisztian <hidden@xxxxxxxxxx> Date: Fri Aug 22 10:44:36 2014 +0200 crypto: testmgr - add test for lz4 and lz4hc This patch adds a simple test vector for the lz4 and lz4hc compression algorithms. Signed-off-by: KOVACS Krisztian <hidden@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d801ab204b5a500b66ca285ac7b440cc79933a27 Author: KOVACS Krisztian <hidden@xxxxxxxxxx> Date: Fri Aug 22 10:44:35 2014 +0200 crypto: lz4,lz4hc - fix decompression The lz4 library has two functions for decompression, with slightly different signatures and behaviour. The lz4_decompress_crypto() function seemed to be using the one that assumes that the decompressed length is known in advance. This patch switches to the other decompression function and makes sure that the length of the decompressed output is properly returned to the caller. The same issue was present in the lz4hc algorithm. Coincidentally, this change also makes very basic lz4 and lz4hc compression tests in testmgr pass. Signed-off-by: KOVACS Krisztian <hidden@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 51269ad2880774e7d46fb1e0edb7a83e15d05d33 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Tue Aug 19 09:32:04 2014 +0200 crypto: qat - Use pci_enable_msix_exact() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: qat-linux@xxxxxxxxx Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d5b77069701600b8189d3b4409b69f23ac4f5bc2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 14 12:54:48 2014 +0200 KVM: x86: remove Aligned bit from movntps/movntpd These are not explicitly aligned, and do not require alignment on AVX. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0a37027e83f867793af0ccb9176a6b383dd0b7c8 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Jul 11 11:56:31 2014 -0600 KVM: x86 emulator: emulate MOVNTDQ Windows 8.1 guest with NVIDIA driver and GPU fails to boot with an emulation failure. The KVM spew suggests the fault is with lack of movntdq emulation (courtesy of Paolo): Code=02 00 00 b8 08 00 00 00 f3 0f 6f 44 0a f0 f3 0f 6f 4c 0a e0 <66> 0f e7 41 f0 66 0f e7 49 e0 48 83 e9 40 f3 0f 6f 44 0a 10 f3 0f 6f 0c 0a 66 0f e7 41 10 $ as -o a.out .section .text .byte 0x66, 0x0f, 0xe7, 0x41, 0xf0 .byte 0x66, 0x0f, 0xe7, 0x49, 0xe0 $ objdump -d a.out 0: 66 0f e7 41 f0 movntdq %xmm0,-0x10(%rcx) 5: 66 0f e7 49 e0 movntdq %xmm1,-0x20(%rcx) Add the necessary emulation. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 08e5a1feaed6877325c6146cbd3559b23fb4938f Author: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Date: Wed Aug 27 15:18:09 2014 +0530 pinctrl: samsung: use CONFIG_PINCTRL_SAMSUNG symbol in makefile Samsung Exynos7 is a ARM64bit processor. Which does not select the CONFIG_PLAT_SAMSUNG symbol. CONFIG_PINCTRL_SAMSUNG is being selected for both PLAT_SAMSUNG and ARCH_EXYNOS7 symbols. This patch modifes the pinctrl/Makefile to use CONFIG_PINCTRL_SAMSUNG symbol to compile the pinctrl/samsung/*.c Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: linus.walleij@xxxxxxxxxx Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0f54a321302dfbdbd707ba989b2f468e58b9a363 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Fri Aug 29 11:26:55 2014 +0300 KVM: vmx: VMXOFF emulation in vm86 should cause #UD Unlike VMCALL, the instructions VMXOFF, VMLAUNCH and VMRESUME should cause a UD exception in real-mode or vm86. However, the emulator considers all these instructions the same for the matter of mode checks, and emulation upon exit due to #UD exception. As a result, the hypervisor behaves incorrectly on vm86 mode. VMXOFF, VMLAUNCH or VMRESUME cause on vm86 exit due to #UD. The hypervisor then emulates these instruction and inject #GP to the guest instead of #UD. This patch creates a new group for these instructions and mark only VMCALL as an instruction which can be emulated. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 48d89b92609a66bc41f479c560640bc413add3b4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Aug 26 13:27:46 2014 +0200 KVM: x86: fix some sparse warnings Sparse reports the following easily fixed warnings: arch/x86/kvm/vmx.c:8795:48: sparse: Using plain integer as NULL pointer arch/x86/kvm/vmx.c:2138:5: sparse: symbol vmx_read_l1_tsc was not declared. Should it be static? arch/x86/kvm/vmx.c:6151:48: sparse: Using plain integer as NULL pointer arch/x86/kvm/vmx.c:8851:6: sparse: symbol vmx_sched_in was not declared. Should it be static? arch/x86/kvm/svm.c:2162:5: sparse: symbol svm_read_l1_tsc was not declared. Should it be static? Cc: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a7c0b07d570848e50fce4d31ac01313484d6b844 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Thu Aug 21 19:46:50 2014 +0800 KVM: nVMX: nested TPR shadow/threshold emulation This patch fix bug https://bugzilla.kernel.org/show_bug.cgi?id=61411 TPR shadow/threshold feature is important to speed up the Windows guest. Besides, it is a must feature for certain VMM. We map virtual APIC page address and TPR threshold from L1 VMCS. If TPR_BELOW_THRESHOLD VM exit is triggered by L2 guest and L1 interested in, we inject it into L1 VMM for handling. Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> [Add PAGE_ALIGNED check, do not write useless virtual APIC page address if TPR shadowing is disabled. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a2bcba5035bb3d7fb3099e1893026316365f4b5d Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Thu Aug 21 19:46:49 2014 +0800 KVM: nVMX: introduce nested_get_vmcs12_pages Introduce function nested_get_vmcs12_pages() to check the valid of nested apic access page and virtual apic page earlier. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a44a750e5299fe2ece5aa68e8562dd6e2c2b16f4 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Aug 27 20:08:47 2014 -0700 ASoC: simple-card: use common for_each_child_of_node() for loop Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5960bd5984c808cdf7aa528e162e9e20e61b923 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Aug 27 20:08:27 2014 -0700 ASoC: simple-card: dai_link->init should be cared when multi DAI 6a91a17bd7b92b2d2aa9ece85457f52a62fd7708 (ASoC: simple-card: Handle many DAI links) added multi DAI support on simple-card. This means priv->dai_link might be pointer of multi DAI. dai_link->init is needed for all DAI. This patch cares it for all DAIs on DT/non-DT Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 179949bc04c7157a4b2279f62a842638b61f78f9 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Aug 27 20:08:06 2014 -0700 ASoC: simple-card: remove dai_link->cpu_dai_name when DT f687d900d30a61dda38db2a99239f5284a86a309 (ASoC: simple-card: cpu_dai_name creates confusion when DT case) removed dai_link->cpu_dai_name when DT case, since it uses DT phand in soc_bind_dai_link(). This binding will fail if it has cpu_dai_name. 6a91a17bd7b92b2d2aa9ece85457f52a62fd7708 (ASoC: simple-card: Handle many DAI links) added multi DAI link support to simple-card driver. Then, removing cpu_dai_name was cared only single DAI. But, it is needed in all DT cases. This patch moves it to asoc_simple_card_dai_link_of() so that care about all DAIs. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2d82eeb02655e32358efd42598d8276284c23364 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Aug 27 20:07:46 2014 -0700 ASoC: simple-card: use asoc_simple_xxx prefix simple-card driver is using asoc_simple_xxx() prefix. simple_card_dai_link_of() should be asoc_simple_card_dai_link_of(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 050429a78b2dbec763a6bb5423ea5a1fcc9adca3 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Thu Aug 28 18:21:09 2014 +0900 spi: bcm53xx: make local symbol static Make local symbol static, because this is used only in this file. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44b5ce73c99c389817be71b9161bceb197d40ecb Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 26 14:00:38 2014 +0200 KVM: Unconditionally export KVM_CAP_USER_NMI The idea between capabilities and the KVM_CHECK_EXTENSION ioctl is that userspace can, at run-time, determine if a feature is supported or not. This allows KVM to being supporting a new feature with a new kernel version without any need to update user space. Unfortunately, since the definition of KVM_CAP_USER_NMI was guarded by #ifdef __KVM_HAVE_USER_NMI, such discovery still required a user space update. Therefore, unconditionally export KVM_CAP_USER_NMI and change the the typo in the comment for the IOCTL number definition as well. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0f8a4de3e088797576ac76200b634b802e5c7781 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 26 14:00:37 2014 +0200 KVM: Unconditionally export KVM_CAP_READONLY_MEM The idea between capabilities and the KVM_CHECK_EXTENSION ioctl is that userspace can, at run-time, determine if a feature is supported or not. This allows KVM to being supporting a new feature with a new kernel version without any need to update user space. Unfortunately, since the definition of KVM_CAP_READONLY_MEM was guarded by #ifdef __KVM_HAVE_READONLY_MEM, such discovery still required a user space update. Therefore, unconditionally export KVM_CAP_READONLY_MEM and change the in-kernel conditional to rely on __KVM_HAVE_READONLY_MEM. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dc77d344b41f3ffdd3b02317597e717b0b799f46 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Aug 27 12:20:02 2014 +0200 KVM: s390/mm: fix up indentation of set_guest_storage_key commit ab3f285f227f ("KVM: s390/mm: try a cow on read only pages for key ops")' misaligned a code block. Let's fixup the indentation. Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c2a946e07f9776ba5a73c37087c02e0e1830b5ce Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Fri Aug 29 12:41:59 2014 +0100 regulator: da9211: fix coccinelle warnings drivers/regulator/da9211-regulator.c:281:2-3: Unneeded semicolon Removes unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d0616613d9cf17919fbd46fa0274db4b0084ad62 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 19 15:41:32 2014 +0300 net: rfkill: gpio: Add more Broadcom bluetooth ACPI IDs This adds one more ACPI ID of a Broadcom bluetooth chip. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a00f4f6e048dff90e64c6d1bde2bb4587c6d2234 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jul 28 15:16:59 2014 +0200 mac80211: fix chantype recalc warning When a device driver is unloaded local->interfaces list is cleared. If there was more than 1 interface running and connected (bound to a chanctx) then chantype recalc was called and it ended up with compat being NULL causing a call trace warning. Warn if compat becomes NULL as a result of incompatible bss_conf.chandef of interfaces bound to a given channel context only. The call trace looked like this: WARNING: CPU: 2 PID: 2594 at /devel/src/linux/net/mac80211/chan.c:557 ieee80211_recalc_chanctx_chantype+0x2cd/0x2e0() Modules linked in: ath10k_pci(-) ath10k_core ath CPU: 2 PID: 2594 Comm: rmmod Tainted: G W 3.16.0-rc1+ #150 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 0000000000000009 ffff88001ea279c0 ffffffff818dfa93 0000000000000000 ffff88001ea279f8 ffffffff810514a8 ffff88001ce09cd0 ffff88001e03cc58 0000000000000000 ffff88001ce08840 ffff88001ce09cd0 ffff88001ea27a08 Call Trace: [<ffffffff818dfa93>] dump_stack+0x4d/0x66 [<ffffffff810514a8>] warn_slowpath_common+0x78/0xa0 [<ffffffff81051585>] warn_slowpath_null+0x15/0x20 [<ffffffff818a407d>] ieee80211_recalc_chanctx_chantype+0x2cd/0x2e0 [<ffffffff818a3dda>] ? ieee80211_recalc_chanctx_chantype+0x2a/0x2e0 [<ffffffff818a4919>] ieee80211_assign_vif_chanctx+0x1a9/0x770 [<ffffffff818a6220>] __ieee80211_vif_release_channel+0x70/0x130 [<ffffffff818a6dd3>] ieee80211_vif_release_channel+0x43/0xb0 [<ffffffff81885f4e>] ieee80211_stop_ap+0x21e/0x5a0 [<ffffffff8184b9b5>] __cfg80211_stop_ap+0x85/0x520 [<ffffffff8181c188>] __cfg80211_leave+0x68/0x120 [<ffffffff8181c268>] cfg80211_leave+0x28/0x40 [<ffffffff8181c5f3>] cfg80211_netdev_notifier_call+0x373/0x6b0 [<ffffffff8107f965>] notifier_call_chain+0x55/0x110 [<ffffffff8107fa41>] raw_notifier_call_chain+0x11/0x20 [<ffffffff816a8dc0>] call_netdevice_notifiers_info+0x30/0x60 [<ffffffff816a8eb9>] __dev_close_many+0x59/0xf0 [<ffffffff816a9021>] dev_close_many+0x81/0x120 [<ffffffff816aa1c5>] rollback_registered_many+0x115/0x2a0 [<ffffffff816aa3a6>] unregister_netdevice_many+0x16/0xa0 [<ffffffff8187d841>] ieee80211_remove_interfaces+0x121/0x1b0 [<ffffffff8185e0e6>] ieee80211_unregister_hw+0x56/0x110 [<ffffffffa0011ac4>] ath10k_mac_unregister+0x14/0x60 [ath10k_core] [<ffffffffa0014fe7>] ath10k_core_unregister+0x27/0x40 [ath10k_core] [<ffffffffa003b1f4>] ath10k_pci_remove+0x44/0xa0 [ath10k_pci] [<ffffffff81373138>] pci_device_remove+0x28/0x60 [<ffffffff814cb534>] __device_release_driver+0x64/0xd0 [<ffffffff814cbcc8>] driver_detach+0xb8/0xc0 [<ffffffff814cb23a>] bus_remove_driver+0x4a/0xb0 [<ffffffff814cc697>] driver_unregister+0x27/0x50 Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7179569aeb52197fd2a9909ba226c4c9cc0e2e2a Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 28 12:36:04 2014 -0700 regulator: core: Add REGULATOR_EVENT_PRE_VOLTAGE_CHANGE (and ABORT) In some cases we need to know when a regulator is about to be changed. Add a way for clients to be notified. Note that for set_voltage() we don't necessarily know what voltage we'll end up with, so we tell the client what the range will be so they can prepare. Signed-off-by: Heiko Stübner <heiko@xxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie+linaro@xxxxxxxxxx> commit 0244790c8ad2408dfb313e5c886e6e5a808ea946 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Fri Aug 29 17:09:07 2014 +0800 xfrm: remove useless hash_resize_mutex locks In xfrm_state.c, hash_resize_mutex is defined as a local variable and only used in xfrm_hash_resize() which is declared as a work handler of xfrm.state_hash_work. But when the xfrm.state_hash_work work is put in the global workqueue(system_wq) with schedule_work(), the work will be really inserted in the global workqueue if it was not already queued, otherwise, it is still left in the same position on the the global workqueue. This means the xfrm_hash_resize() work handler is only executed once at any time no matter how many times its work is scheduled, that is, xfrm_hash_resize() is not called concurrently at all, so hash_resize_mutex is redundant for us. Cc: Christophe Gouault <christophe.gouault@xxxxxxxxx> Cc: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit bd597f47ca4bf7a522a0298a95c7f9b2f0a75b9e Author: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Fri Aug 22 15:26:55 2014 +0100 devicetree: Dialog Semiconductor consolidate existing vendor prefixes to standardise on 'dlg' This patch series updates the device tree vendor prefix for Dialog Semiconductor. Various methods are currently used throughout the kernel: 'diasemi', 'dialog' and 'dlg'. Others have also been suggested. This patch set aims to consolidate the usage of the vendor prefix to use a common standard. The prefix 'dlg' is used. Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 70145f87139fbc43b726f873813cd91dce371899 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 11:03:14 2014 +0200 pwm: Fix uninitialized warnings in pwm_get() With some versions of gcc (e.g. 4.1.2): drivers/pwm/core.c: In function â??pwm_getâ??: drivers/pwm/core.c:610: warning: â??polarityâ?? may be used uninitialized in this function drivers/pwm/core.c:609: warning: â??periodâ?? may be used uninitialized in this function While these are false positives, we can get rid of them by refactoring the code to store a pointer to the best match, as suggested before by Thierry Reding. This does require moving the mutex_unlock() down. Fixes: d717ea73e36dd565 ("pwm: Fix period and polarity in pwm_get() for non-perfect matches") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit aa2293d82c29309d8399d41941add7af606a4fea Author: Keerthy <j-keerthy@xxxxxx> Date: Fri Aug 22 09:01:02 2014 -0500 pinctrl: single: AM437x: Add pinctrl compatibility AM437x pinctrl definitions now differ from traditional 16 bit OMAP pin ctrl definitions, in that all 32 bits are used to describe a single pin Also the location of wakeupenable and event bits have changed. Signed-off-by: Keerthy <j-keerthy@xxxxxx> [nm@xxxxxx: minor updates] Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b6af73b42219aa6b253ef5c0020eff1019485ffc Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:15:01 2014 +0900 backlight: omap1: add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 31320beaa3d3c5190e7db08144f37a2d519f6d6d Author: Nishanth Menon <nm@xxxxxx> Date: Fri Aug 22 09:01:01 2014 -0500 pinctrl: single: Add DRA7 pinctrl compatibility DRA7 pinctrl definitions now differ from traditional 16 bit OMAP pin ctrl definitions, in that all 32 bits are used to describe a single pin Also the location of wakeupenable and event bits have changed. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3e51cd93f534b475c065c1513734860ce28a8da3 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:14:43 2014 +0900 backlight: jornada720: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Suggested-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5b007dfee8a8a9eac95a866b1dd151e136f47aa8 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:14:25 2014 +0900 backlight: jornada720: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4876b66497ed31fc10e235a34faa80c2de6adace Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:14:06 2014 +0900 backlight: wm831x_bl: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 51ed5dc253b4a11047266345d6ee30d0939f310e Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:13:49 2014 +0900 backlight: tdo24m: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 53fc66d87c71e7b5f6d4c46366884ad474d31489 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 23:32:09 2014 -0500 pinctrl: bindings: Add OMAP pinctrl binding Add basic skeleton of OMAP pinctrl bindings. This is compatible with pinctrl,single bindings and is meant purely as a reference point. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3bf3b79fab16b97b0a5a1232af760e8d7a2d3a78 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:13:30 2014 +0900 backlight: s6e63m0: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c915ae50d60df9d3e869ca05ea0f3dc8614a9bf9 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:13:10 2014 +0900 backlight: pcf50633: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a94cb126048058980ff57f6a7fa5e8237b8f6b44 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:12:53 2014 +0900 backlight: lp855x: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b50ffb8a5f7f7dedd92a3bc2733605b3888fae8c Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:12:37 2014 +0900 backlight: lms501kf03: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3033d2c0dd1d7ecbc8d4e04a7c1085931f86b68a Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:12:14 2014 +0900 backlight: lm3639: Remove unnecessary return statements Fixed the following checkpatch warning. WARNING: void function return statements are not generally useful Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e09bceac75b86c672b6e41b9341fa50325713438 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:11:52 2014 +0900 backlight: ld9040: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 547f60cee1b604477fde1cbc1bb2da8f6853c9bd Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:11:33 2014 +0900 backlight: ili922x: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7beeee469a2e8baece57ad5552e18671b7e56a30 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:11:14 2014 +0900 backlight: cr_bllcd: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ff32c2fa811674855dab0881417674404d25ebab Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:10:55 2014 +0900 backlight: corgi_lcd: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5b0d6e1912fce778b7a759e54676d492ad359934 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:10:34 2014 +0900 backlight: ams369fg06: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fe9a86235dd6367ea6748bc4f9e03fe1f7a15614 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:10:11 2014 +0900 backlight: adp8870: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5e548f0f55a9f8165a3f36226ac5d3f42a05cf47 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:09:52 2014 +0900 backlight: adp8860: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f9bda39d1384f1ecae131fd283db27a01b5fb6cd Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:09:14 2014 +0900 backlight: adp5520: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit abdc08a3a263a20e49534a36291d657bf53dda5b Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Aug 19 10:06:09 2014 -0700 gpio: change gpiochip_request_own_desc() prototype The current prototype of gpiochip_request_own_desc() requires to obtain a pointer to a descriptor. This is in contradiction to all other GPIO request schemes, and imposes an extra step of obtaining a descriptor to drivers. Most drivers actually cannot even perform that step since the function that does it (gpichip_get_desc()) is gpiolib-private. Change gpiochip_request_own_desc() to return a descriptor from a (chip, hwnum) tuple and update users of this function (currently gpiolib-acpi only). Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e46cf32ced90d00972d5c3d9322cdb848d183338 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Aug 19 10:06:08 2014 -0700 gpio: acpi: normalize use of gpiochip_get_desc() GPIO descriptors are changing from unique and permanent tokens to allocated resources. Therefore gpiochip_get_desc() cannot be used as a way to obtain a global GPIO descriptor anymore. This patch updates the gpiolib ACPI support code to keep and use the descriptor returned by a centralized call to gpiochip_get_desc(). Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 086b8904b42a20983757fc21895d692f84e0af32 Author: Rongjun Ying <rongjun.ying@xxxxxxx> Date: Mon Aug 18 16:49:24 2014 +0800 pinctrl: atlas6: Add I2S external clock input pingroup The I2S controller can use the external clock as reference clock with master mode. But based on different hardware or software design, this external clock might be needed or not needed. So the external input pin can be an independent pinctrl group, and the card driver can decice to get it or not. Signed-off-by: Rongjun Ying <rongjun.ying@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ed36c1a06fc73cab289f66cc60b935951f4a1fa0 Author: Rongjun Ying <rongjun.ying@xxxxxxx> Date: Mon Aug 18 16:49:22 2014 +0800 pinctrl: atlas6: take mclk pin out of i2s pingroup The I2S controller can output mclk to external audio codec. But by hardware design, some codecs need mclk and some codecs do not need mclk. So the mclk pin can be an independent pinctrl group, and the card driver can get it or not based on boards. Signed-off-by: Rongjun Ying <rongjun.ying@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c09f80db583c72f9c6198842cd7e6f71105fdc46 Author: Bin Shi <Bin.Shi@xxxxxxx> Date: Mon Aug 18 16:49:21 2014 +0800 pinctrl: sirf: fix lots of "line over 80 characters" According to key customer's requirement, fix "line over 80 characters". Signed-off-by: Bin Shi <Bin.Shi@xxxxxxx> Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4bee325cd9bc06c5e7b3cc4398f101ed3fa5cc0e Author: Bin Shi <Bin.Shi@xxxxxxx> Date: Mon Aug 18 16:49:20 2014 +0800 pinctrl: sirf: fix "quoted string split across lines" this patch fixes: WARNING: quoted string split across lines 902: FILE: drivers/pinctrl/sirf/pinctrl-sirf.c:902: +MODULE_AUTHOR("Rongjun Ying <rongjun.ying@xxxxxxx>, " + "Yuping Luo <yuping.luo@xxxxxxx>, " WARNING: quoted string split across lines 903: FILE: drivers/pinctrl/sirf/pinctrl-sirf.c:903: + "Yuping Luo <yuping.luo@xxxxxxx>, " + "Barry Song <baohua.song@xxxxxxx>"); Signed-off-by: Bin Shi <Bin.Shi@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5a2533a7478334593c50284fd414c70b3b9217c0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 18 11:54:55 2014 +0200 gpio: zynq: Reduce level of indention in zynq_gpio_irqhandler() zynq_gpio_irqhandler() uses up to 7 tabs of indention in some parts. Refactor things to use a helper function for the inner loop to reduce the indention to a sane level. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a879891ee80413f6999905db43ad0d6852dfa6ca Author: Daniel Mack <zonque@xxxxxxxxx> Date: Thu Aug 14 11:40:24 2014 +0200 gpio: pxa: Documentation: provide example bindings for PXA3xx Add another example to describe bindings that work for PXA3xx boards. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 51dd2e8ec99cc83bd787f836f1d812f384a61dff Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 14:01:21 2014 +0200 gpio: zynq: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ad3d7f1e8f0160b12ad8eb69f78015930645a166 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Mon Aug 11 20:24:57 2014 +0530 pinctrl: imx6sl: introduce MODULE_DEVICE_TABLE for module autoloading Enable autoloading of pinctrl-imx6sl module when a corresponing DT entry is present. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5dfe10b43a91642845dcf281e02ca43ffde0d750 Author: Kiran Padwal <kiran.padwal21@xxxxxxxxx> Date: Mon Aug 11 16:47:50 2014 +0530 pinctrl: Make of_device_id array const Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Kiran Padwal <kiran.padwal21@xxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a3bf5c429eb5f5ec4d364d51dfa8855efcc005f8 Author: Francois Romieu <romieu@xxxxxxxxxxxxx> Date: Tue Aug 26 22:40:38 2014 +0200 r8169: add missing MODULE_FIRMWARE. Leftover from 6e1d0b8988188956dac091441c1492a79a342666 ("r8169:add support for RTL8168H and RTL8107E"). Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Cc: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a5fc218151892eae35957737d75c0f41a2c9c8a Merge: c89fcfd e8e724d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 28 14:19:38 2014 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-08-27 This series contains updates to i40e and i40evf. Carolyn provides two patches, first changes the wording of the flow director add/remove and asynchronous failure messages to include the fd_id to try and add some way to track the operations on a given fd_id. Second adds a check during handle_link_event for unqualified modules when link is down and there is a module plugged in. Anjali provides four patches to i40e/i40evf. First update flow director messages so that a user can tell if a filter was added or deleted. Then updates the ATR policy to not auto-disable ATR when we have errors in programming. The disabling of ATR when we got programming errors was buggy and was still adding new rules and causing continuous errors. With this policy change, we flush instead when we see too many errors. In addition she adds a flow director flush counter to ethtool to help know how many times the interface had to flush and replay the flow director filter table. Updates the driver to ignores a driver perceived transmit hang if the number of descriptors pending is less than 4, and instead log a stat when this situation happens. This is because the queue progresses forward and the stack never experiences a real hang in these situations. Shannon provides three patches for i40e/i40evf, first enables the l2tsel bit on receive queue contexts that are assigned to VFs so that the VF can get the stripped VLAN tag. Then adds a max buffer size parameter to the print helper to be sure the code knows when to stop. Lastly, remove the complaint when removing the default MAC VLAN filter. This was because old firmware had an incorrect MAC VLAN filter that needed to be replaced at startup, and now newer firmware does not have this problem. So now we only add the new filter if the removal succeeded and no need to complain if the removal fails. Ashish provides a change to vsi->num_queue_pairs to equal the number that is configured by the VF. This limits the number of queues that are enabled/disabled and fixes the mismatch case for when a VF configures fewer queues than is allocated to it by the PF. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d166c8024d620d654b12834fac354fb4203c6c22 Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 14:51:27 2014 -0700 Smack: Bring-up access mode People keep asking me for permissive mode, and I keep saying "no". Permissive mode is wrong for more reasons than I can enumerate, but the compelling one is that it's once on, never off. Nonetheless, there is an argument to be made for running a process with lots of permissions, logging which are required, and then locking the process down. There wasn't a way to do that with Smack, but this provides it. The notion is that you start out by giving the process an appropriate Smack label, such as "ATBirds". You create rules with a wide range of access and the "b" mode. On Tizen it might be: ATBirds System rwxalb ATBirds User rwxalb ATBirds _ rwxalb User ATBirds wb System ATBirds wb Accesses that fail will generate audit records. Accesses that succeed because of rules marked with a "b" generate log messages identifying the rule, the program and as much object information as is convenient. When the system is properly configured and the programs brought in line with the labeling scheme the "b" mode can be removed from the rules. When the system is ready for production the facility can be configured out. This provides the developer the convenience of permissive mode without creating a system that looks like it is enforcing a policy while it is not. Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit ccad7dad86d8c42b0aec7a3ce7f911e033bf3c6a Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Aug 28 15:39:31 2014 -0400 nfsd4: remove labeled NFS warning from config help The working group appears committed to keeping the protocol stable, the code has gotten some use and seems to work OK. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 71efecb3f58c8c7a15f6135e3f9b39d1e3d3fae3 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Fri Aug 22 15:10:50 2014 -0400 sunrpc: fix byte-swapping of displayed XID xprt_lookup_rqst() and bc_send_request() display a byte-swapped XID, but receive_cb_reply() does not. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 2b8941b962a9f24d61c2b3c2e889928e6cf3d82b Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Aug 27 11:17:56 2014 -0400 NFSD: Update some as-yet unused 4.2 error codes Recent NFS v4.2 drafts have removed NFS4ERR_METADATA_NOTSUPP and reassigned the error code to NFS4ERR_UNION_NOTSUPP. I also add in the NFS4ERR_OFFLOAD_NO_REQS error code. We're not using any of these yet, so there's no harm done. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6cd906627b4f7438c6f5bb1d1eed63a6d7776e2e Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 15 08:02:55 2014 +0800 NFSD: Remove duplicate initialization of file_lock locks_alloc_lock() has initialized struct file_lock, no need to re-initialize it here. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ae89254da6879cffa6a17327e5f3f60217b718cf Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Wed Aug 20 16:18:32 2014 -0400 SUNRPC: Fix compile on non-x86 current_task appears to be x86-only, oops. Let's just delete this check entirely: Any developer that adds a new user without setting rq_task will get a crash the first time they test it. I also don't think there are normally any important locks held here, and I can't see any other reason why killing a server thread would bring the whole box down. So the effort to fail gracefully here looks like overkill. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Fixes: 983c684466e0 "SUNRPC: get rid of the request wait queue" Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6a5d088a923854569e20eac4f3f569926d5911ec Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Wed Aug 27 16:27:30 2014 +0300 carl9170: tx: Replace rcu_assign_pointer() with RCU_INIT_POINTER() According to RCU_INIT_POINTER()'s block comment 3.a, it can be used if "3. The referenced data structure has already been exposed to readers either at compile time or via rcu_assign_pointer() -and- a. You have not made -any- reader-visible changes to this structure since then". This case fulfills the conditions above because between the rcu_dereference() call (cvif = rcu_dereference(ar->beacon_iter);) and the rcu_assign_pointer() call there is no update of the "cvif" variable. Therefore, this patch makes the replacement. The following Coccinelle semantic patch was used: @@ identifier v; @@ v = rcu_dereference(...); ... when != rcu_dereference(...); when != v = ...; when != (<+...v...+>)++; when != \(memcpy\|memset\)(...); ( - rcu_assign_pointer + RCU_INIT_POINTER (..., v); | if(...) { ... when != v = ...; - rcu_assign_pointer + RCU_INIT_POINTER (..., v); ... when any } ) Because there are cases where between a â??rcu_dereference()â?? call and a â??rcu_assign_pointer()â?? call might be updates of the value that interests us, the Coccinelle semantic patch ignores them and replaces with "RCU_INIT_POINTER()" only when the update is not happening. Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Acked-by: Christian Lamparter <chunkeey@xxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1a7c5b7ef0cf93b42b9181973ce283fe77fb6093 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:07:25 2014 +0530 ath9k: Fix channel context timer Setup the channel context correctly. Not doing this was causing beacon loss in a P2P-GO/STA concurrent setup. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 878066e745b54578409ea765cfc718fcd99a4802 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:07:24 2014 +0530 ath9k: Add more debug statements for channel context Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9ea3598b225d9ffbeee65eb0a967bd0746ba1b97 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:07:23 2014 +0530 ath9k: Disable fastcc for channel context mode Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ac0372abf8524a7572a9cdaac6495eb2eba20457 Author: Canek Peláez Valdés <canek@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 19:06:11 2014 -0500 rt2x00: support Ralink 5362. Signed-off-by: Canek Peláez Valdés <canek@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4c7e9aee2d3f738924ba04baecf7bf854e72f07c Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:16:13 2014 +0530 ath9k: Fix channel context creation If a new context is being added in addition to the current one, then send the ASSIGN event to abort a running scan since the addition of a context is usually followed by VIF assignment and further operations. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 86162d497d4ceb995b268fc9c7756ae7bdb0bc71 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:16:12 2014 +0530 ath9k: Fix interface limits There is no reason why managed/p2p interfaces have to be limited to one. IBSS is the only type that needs a restriction. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5a8cbec7fb2be3b9a6929d8c22c3e320544d2de4 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:16:11 2014 +0530 ath9k: Print the event/state in ath_chanctx_event Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 02da18b7ec64135fc1b35c036acbd920d2cce2d6 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:16:10 2014 +0530 ath9k: Add new chanctx events This will be useful in handling addition/change of new channel contexts. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6e47fafbc38a93797f86413db8eea3e9319ebbd0 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 19:12:16 2014 +0530 ath9k: Fix ath_chanctx_get() Move it inside a CONFIG_ATH9K_CHANNEL_CONTEXT ifdef since it is not needed otherwise. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 11e39a4e054cde1aaa9f5d3830f41f86818602fd Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 19:12:15 2014 +0530 ath9k: Move ath9k_beacon_add_noa to channel.c Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7d876174e7cd81912930cb5e501f5036eabfaaf3 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 19:12:14 2014 +0530 ath9k: Remove redundant ifdef This was introduced in an earlier patch to handle a compilation warning, but since the channel context code has been mostly isolated, this is not required now. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fb02e95c9b3d76b658288af0c8a362c85f9d6d44 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 19:12:13 2014 +0530 ath9k: Fix channel context variables in ath_softc chanctx_work and next_chan are required only when CONFIG_ATH9K_CHANNEL_CONTEXT is enabled. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 77843167a926a1b11dff812f027fc56930948c1b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:23 2014 +0530 ath9k: Fix 'offchannel' in ath_softc Finally move the 'offchannel' instance in ath_softc inside a CONFIG_ATH9K_CHANNEL_CONTEXT cage. The offchannel usage in ath9k_calculate_iter_data() is closed off with an ifdef for now, since the state/opmode calculation is common for both the channel context mode and the normal mode. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4b93fd297fe9914e41099d37194f7acc6a1ccb48 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:22 2014 +0530 ath9k: Fix function argument type ath9k_vif_iter() was earlier used as an iterator routine when calling a mac80211 utility. This is no longer the case and hence we can mention the argument type explicitly. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a09798f4abb30f13f141e24ae496ba75e97995da Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:21 2014 +0530 ath9k: Use ath_chanctx_check_active properly ath_chanctx_check_active() is required only when channel contexts are used. Make sure that it is not called in normal usage. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e90e302a15b85ed27bdc148be2eed50c8aaaee06 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:20 2014 +0530 ath9k: Add ath9k_offchannel_init This patch adds a routine to setup the offchannel instance in ath_softc. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 0e08b5fb81111662bf9fa5f67f8a412791923b6f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:19 2014 +0530 ath9k: Add ath9k_chanctx_wake_queues Introduce a function that handles queues in channel context mode. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 70b06dacfe8bd1f62de058e2116388b8f7c58531 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:18 2014 +0530 ath9k: Add wrappers for beacon events Using these wrappers allows us to move the 'sched' variable in ath_softc inside CONFIG_ATH9K_CHANNEL_CONTEXT. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 73b5ef0bbfa03ba31bcaf781bc38b7af38e6999b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:17 2014 +0530 ath9k: Fix function declarations These routines are required only when CONFIG_ATH9K_CHANNEL_CONTEXT is enabled. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 27babf9f470b5e75763703626cae710a30bf703d Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:16 2014 +0530 ath9k: Fix channel context events Check if channel context usage is enabled before calling ath_chanctx_event() from various parts of the driver. Also, make sure that ath_chanctx_event() is compiled only when CONFIG_ATH9K_CHANNEL_CONTEXT is enabled. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 922c943dcc48fc0085daeaa3e8038c5446f226c2 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:15 2014 +0530 ath9k: Make ath_chanctx_switch static Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 98f411b80399c45a33f18b730eb36f489fba214a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:14 2014 +0530 ath9k: Make ath_chanctx_get_oper_chan static Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 344ae6abd00f7662113d91daeafa6ba8d38ed831 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:13 2014 +0530 ath9k: Make ath_chanctx_offchan_switch static Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 22dc0deb1ff9530be53e03d567fdf4554930ab86 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:12 2014 +0530 ath9k: Conditionally compile more functions Use CONFIG_ATH9K_CHANNEL_CONTEXT to exclude: ath_scan_complete() ath_roc_complete() ath_offchannel_next() ath_scan_next_channel() ath_scan_channel_duration() Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 55254eeacae622075cedc59bb2e1da9573bad9da Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:11 2014 +0530 ath9k: Exclude more functions Use CONFIG_ATH9K_CHANNEL_CONTEXT to exclude more functions: ath_offchannel_channel_change() ath_scan_channel_start() ath_scan_send_probe() Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6d7cbd779059fd2d79e3d54997036f6dd2dc9202 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:10 2014 +0530 ath9k: Conditionally compile a few functions Exclude these functions when CONFIG_ATH9K_CHANNEL_CONTEXT is not enabled: ath_chanctx_send_vif_ps_frame() ath_chanctx_send_ps_frame() ath_chanctx_defer_switch() ath_chanctx_set_next() Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e20a854ed32d30be1356fef7bf9d4f0a29d5cf6b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:09 2014 +0530 ath9k: Cleanup mgd_prepare_tx callback Rename the callback from ath9k_chanctx_force_active() to ath9k_mgd_prepare_tx(). Also, move it to main.c and group it with the other callbacks. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 0e62f8b706bd72095eb8ef4f60ccb007d1facf2e Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:08 2014 +0530 ath9k: Make ath_chanctx_work static Also compile it conditionally based on CONFIG_ATH9K_CHANNEL_CONTEXT. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ea22df29a300d4120e2d0a0727aa55f922374f42 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:07 2014 +0530 ath9k: Add a routine to tear down channel contexts Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 705d0bf83dbef34d49927d3bf05c6d497f42e8b0 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:06 2014 +0530 ath9k: Add a routine for initializing channel contexts Setup the offchannel/sched timers and the chanctx work inside the new function. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 69e2a77170f8de7c178343e1a867ba32938a0399 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 22:14:31 2014 +0300 carl9170: Remove redundant protection check The carl9170_op_ampdu_action() function is used only by the mac80211 framework. Since the mac80211 already takes care of checks and properly serializing calls to the driver's function there is no need for the driver to do the same thing. Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 499afaccf6f3d5d3180f4155e85becf15d09ff71 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:31 2014 +0530 ath9k: Isolate ath9k_use_chanctx module parameter This patch ensures that the module parameter "use_chanctx" is visible only when CONFIG_ATH9K_CHANNEL_CONTEXT is selected. Also register the channel context callbacks with mac80211 only when it is explicitly enabled and compile them out of the driver when CONFIG_ATH9K_CHANNEL_CONTEXT is not selected. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c7dd40c92af1f28b84995a07aa88ccd3068ee4de Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:30 2014 +0530 ath9k: Isolate P2P powersave routines Use CONFIG_ATH9K_CHANNEL_CONTEXT to conditionally compile P2P-PS code. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2471adff1f085ec049358f16dcbc97ca7f29d2ef Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:29 2014 +0530 ath9k: Move P2P functions to channel.c Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 0e721bd061c15417db388988d494e9f80389dc73 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:28 2014 +0530 ath9k: Add a config option for channel context Channel contexts are supported only for P2P right now, so make sure that the 'normal' path remains unaffected by using a config option. This will also reduce the size of the driver. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bc81d43ad21ede28cec6b21a4c0a36aa37fe8d0b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:27 2014 +0530 ath9k: Add debug information Add a few statements to debug channel context operation. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dfcbb3e8f4992b9f618cbe03a0ce90f704135ebf Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:26 2014 +0530 ath9k: Move channel operations to channel.c This reduces clutter in main.c Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4f6816913f5e0bc4c983674a14a08c6e3729b449 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:25 2014 +0530 ath9k: Handle failure to allocate HW timer Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 27328a75daa92035265a74199ff4fb919739357a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:24 2014 +0530 ath9k: Add a debug level for channel context Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dcb784050a518c59f695f76a0a3f802c0a9d92ab Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Fri Aug 22 09:18:02 2014 -0400 ath5k: remove redundant null check before kfree() kfree() null-checks its argument. Found by smatch. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit daf9669bea30aa22d44671e0d9ce90234579e1db Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Fri Aug 22 09:18:01 2014 -0400 ath5k: ensure led name is null terminated Add the missing null termination after strncpy(). This isn't actually a buffer overflow in this case since we use snprintf() appropriately to fill the buffer passed by the caller, but in the interest of not turning this into a bug down the road, go ahead and force termination here. Found by Coverity. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e6938ea4d56cca1dc7984428d3af79b27ce1db51 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Fri Aug 22 09:18:00 2014 -0400 ath5k: drop useless comparison rxs->rate_idx is unsigned, so it will always be >= 0. Found by Coverity. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c94c3c5e5e6bb3dd4041490a0202bab6e4c6e424 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 09:59:29 2014 +0200 ray_cs: Add include guards The files ray_cs.h and rayctl.h both contain two thirds of what appears to be an include guard using the macro name RAYLINK_H (both lack the #define). Since RAYLINK_H is not defined anywhere, the #ifndefs are confusing no-ops. Add proper include guards using different macro names. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ecf47e9bb796558423fa87b43a8fe55f086ca56e Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Fri Aug 22 08:44:52 2014 +0200 bcma: only map wrapper if its address is available The Chipcommon B core does not have a wrap address and it would fail here. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 89be7ceb80835238f04c09cb6efc2c70aabd02e8 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Aug 19 08:24:26 2014 -0400 mwifiex: use firmware API revision from GET_HW_SPEC response Newer firmware returns API revision in GET_HW_SPEC command response. We will make use of it instead of parsing this information from FW release number. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4b9fede594f05550a5b3e061784781aa13540d09 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Aug 19 08:24:25 2014 -0400 mwifiex: rename macro and variables related to API revision We will remove 'fw' prefix from these variable and macro names and make them generic. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2618d4fb0fb8e28d81f4f922727225470e31e717 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Aug 19 08:24:24 2014 -0400 mwifiex: fix left_len calculation issue While updating 'left_len' in each iteration, we should subtract last TLV length not the accumulated length of TLVs parsed till now. This bug in parsing logic is exposed by newer firmware which adds two TLVs in GET_HW_SPEC command response. Earlier firmwares used to add only one TLV. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ba1fa3cd615976ba5241060ceb2ab0c79c9b2605 Author: Csaba Kiraly <csaba.kiraly@xxxxxxxxx> Date: Mon Aug 18 01:53:34 2014 +0200 ath9k_htc: advertise support for TDLS Based on a quick test with AR9271, TDLS seems to be working fine. Tests were done with 2 Atheros AR9271 based devices with firmware 1.3 (sha1 8d49f928aa40ac53c729189bff1333cd373a7fb5), associated with a WAP54G access point. TDLS worked fine both in WPA2 mode and without encryption. Stations maintained ping flood traffic between each other and towards the AP without significant losses. Not tested with AR7010. TDLS was enabled in earlier patches the same way for other Atheros drivers: ath9k (fd6562344dea2b8b2a5d644cf971f4e56004500a), and carl9170 (d1f3de71a584a82ee4e84505fce9acccf40215ff). Signed-off-by: Csaba Kiraly <csaba.kiraly@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1eb3b2167433a7ae1950c6ed4cc4aaad30498f09 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Aug 11 13:14:25 2014 +0300 MAINTAINTERS: The NFC list is subscribers-only It's not moderated, it's subscribers-only. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 59e25676cf78c2ff41228820c1c2382387850154 Merge: 7bb75da 0fdc14e Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Thu Aug 28 14:36:38 2014 -0400 Merge branch 'for-linville' of git://github.com/kvalo/ath commit e221cc99bee4494a99aa8d8525cd7776092ced05 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:11:03 2014 +0200 spi: sh-msiof: Add support for new R-Car Gen2 SoCs Add support for MSIOF in: - r8a7792 (R-Car V2H) - r8a7793 (R-Car M2-N) - r8a7794 (R-Car E2) r8a7791 is now called "R-Car M2-W". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f609f282b59f111840e755bac8da980387e044e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 28 16:27:56 2014 +0800 ASoC: cs35l32: Simplify implementation of cs35l32_codec_set_sysclk Use single snd_soc_update_bits() call to update the register bits. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Brian Austin <brian.austin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a4f87cea72d78f80c0bda1b4d8a821278eb1e4e2 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 28 17:55:20 2014 +0800 ASoC: cs42l56: Remove unneeded regulator_bulk_free call in cs42l56_remove The regulator_bulk_free() call is not required because current code is using devm_regulator_bulk_get(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1a83269d5c41b77f2a4bbb3828c668c96832742e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 28 17:54:38 2014 +0800 ASoC: cs35l32: Remove unneeded regulator_bulk_free call in cs35l32_i2c_remove The regulator_bulk_free() call is not required because current code is using devm_regulator_bulk_get(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b792346fa8660a22a06f118cebe47709f507914f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Aug 28 14:07:11 2014 +0300 ASoC: Remove unused cache_only from struct snd_soc_codec There are no real users for cache_only in "struct snd_soc_codec" so remove it and needless debugfs node. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c2b49ae678b8bd1fd4ea3e3ae106020d663e8969 Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Thu Aug 28 10:02:42 2014 -0500 ASoC: cs42l56: use true/false returns for bool functions Return true or false instead of 1 and 0 Signed-off-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c216cc3f37a6eecb4e12ab0248b66e6386da0fe Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Thu Aug 28 10:02:41 2014 -0500 ASoC: cs42l52: use true/false returns for bool functions Return true or false instead of 1 and 0 Signed-off-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7eef08554ca35454e6da0de8a74f7c96bc2e58e0 Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Thu Aug 28 10:02:40 2014 -0500 ASoC: cs35l32: use true/false returns for bool functions Return true or false instead of 1 and 0 Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 98c5d36240e10c2e0e06e2bb10496291626d1d43 Author: Paul Handrigan <Paul.Handrigan@xxxxxxxxxx> Date: Thu Aug 28 10:54:08 2014 -0500 ASoC: cs4265: Add CHIP_ID as a readable register Reported-by: Zoltán Szenczi <zoltan@xxxxxxxxxxxxxxx> Signed-off-by: Paul Handrigan <Paul.Handrigan@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d37aba521379203b740a2929e6e6f6bd2485f5d7 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:54:18 2014 +0200 ARM: tegra: remove unused tegra_emc.h The header file include/linux/platform_data/tegra_emc.h does not seem to be used anywhere. It was orphaned by a7cbe92c "ARM: tegra: remove tegra EMC scaling driver". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit a492f075450f3ba87de36e5ffe92a9d0c7af9723 Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Thu Aug 28 08:15:21 2014 -0600 block,scsi: fixup blk_get_request dead queue scenarios The blk_get_request function may fail in low-memory conditions or during device removal (even if __GFP_WAIT is set). To distinguish between these errors, modify the blk_get_request call stack to return the appropriate ERR_PTR. Verify that all callers check the return status and consider IS_ERR instead of a simple NULL pointer check. For consistency, make a similar change to the blk_mq_alloc_request leg of blk_get_request. It may fail if the queue is dead, or the caller was unwilling to wait. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> [for pktdvd] Acked-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx> [for osd] Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7b0d0b40cd78cadb525df760ee4cac151533c2b5 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Mon Aug 4 13:36:49 2014 -0400 selinux: Permit bounded transitions under NO_NEW_PRIVS or NOSUID. If the callee SID is bounded by the caller SID, then allowing the transition to occur poses no risk of privilege escalation and we can therefore safely allow the transition to occur. Add this exemption for both the case where a transition was explicitly requested by the application and the case where an automatic transition is defined in policy. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit c61519fd9abb1b520bcbe2eb21cf161d4d1b9eec Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 28 21:04:49 2014 +0800 regulator: rk808: Fix memory leak The memory allocated in rk808_regulator_probe() needs to be freed when the module is unloaded. Thus pass &pdev->dev rather than &client->dev to devm_kzalloc. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 77c545398e33a0263a68142fcfbd4b11b0f06294 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 14:48:24 2014 +0200 ASoC: Allow SND_SOC_WM8978 to be selected manually When using a DT-based multi-platform kernel, there's not always Kconfig logic that selects the right codec driver. Allow the user to manually select WM8978. This is needed for Armadillo 800 EVA using a generic r8a7740 multi-platform kernel. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6089af775a4b4ea5237648de650dda548cb841c2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:10:19 2014 +0200 spi: rspi: Add support for new R-Car Gen2 SoCs Add support for QSPI in: - r8a7792 (R-Car V2H) - r8a7793 (R-Car M2-N) - r8a7794 (R-Car E2) r8a7791 is now called "R-Car M2-W". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 307b28b95ce9717680b5980d67ef0b060c8fde3b Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Tue Jul 1 16:47:35 2014 -0300 genirq: fix reference in devm_request_threaded_irq comment It should be request_threaded_irq, not request_irq [jkosina@xxxxxxx: not that it would matter, as both have the same set of arguments anyway, but for sake of consistency ...] Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f3ababa8ba2ace6668a24803910577a49dc146dd Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Aug 8 15:29:09 2014 -0700 pinctrl: Add mux options 3 and 4 for rockchip pinctrl Newer Rockchip SoCs have more muxing slots. Add slots 3 and 4 since the rk3288 table goes all the way up to 4. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 964a1c4e0e22cf2da7c35e7d57e61fcd7ba8ee21 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Aug 27 16:45:00 2014 -0300 backlight: generic_bl: Remove unused function genericbl_limit_intensity() is exported, but it is never called anywhere else. Fix the following sparse warning: drivers/video/backlight/generic_bl.c:59:6: warning: symbol 'genericbl_limit_intensity' was not declared. Should it be static? Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6728f2b109392484d38ac9e365496ac5fa1071f1 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Aug 13 13:38:38 2014 +0100 backlight: Remove .owner field for drivers using module_platform_driver This patch removes the superflous .owner field for drivers which use the module_platform_driver or platform_driver_register api, as this is overriden in __platform_driver_register. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d7cdb968081727746c8d2fb31b12ea6d1694888e Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Jun 20 17:19:06 2014 +0200 treewide: fix synchronize_rcu() in comments Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4ba2968420fa9d0604b6a6a5c61bfa8d0fa84ae0 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Tue Aug 26 19:12:21 2014 -0500 percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t __get_cpu_var can paper over differences in the definitions of cpumask_var_t and either use the address of the cpumask variable directly or perform a fetch of the address of the struct cpumask allocated elsewhere. This is important particularly when using per cpu cpumask_var_t declarations because in one case we have an offset into a per cpu area to handle and in the other case we need to fetch a pointer from the offset. This patch introduces a new macro this_cpu_cpumask_var_ptr() that is defined where cpumask_var_t is defined and performs the proper actions. All use cases where __get_cpu_var is used with cpumask_var_t are converted to the use of this_cpu_cpumask_var_ptr(). Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 208ad0012e372633e9d0cd01844455623779998f Author: Kyle McMartin <kyle@xxxxxxxxxx> Date: Fri Jun 20 11:41:37 2014 -0400 checkstack.pl: port to AArch64 AArch64 stores the frame pointer and return pointer, and decrements the stack. Also remove my (no longer valid) email address. Signed-off-by: Kyle McMartin <kyle@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit db4ced14c1fc509d408269ec15e1eac1eb0b440f Author: Arnd Hannemann <arnd@xxxxxxxxxx> Date: Tue Aug 26 12:33:20 2014 +0200 doc: queue-sysfs: minor fixes This patches fixes a typo, and for consistency use "IO" in upper case in the block/queue-sysfs.txt documentation. Signed-off-by: Arnd Hannemann <arnd@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0bf37ae4c45a0463671a50b443e1bafec730dd4d Author: Pavel Machek <pavel@xxxxxx> Date: Tue Aug 26 13:49:35 2014 +0200 init/do_mounts: better syntax description Specify hex device number unambiquously. Signed-off-by: Pavel Machek <pavel@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4f671cb25e0a1d2b903d9a19e66fa193572424cf Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sun Jul 27 09:52:51 2014 +0400 pinctrl: Add i.MX21 pincontrol driver This patch adds pincontrol driver for Freescale i.MX21 SOCs. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1b5bda21b05ef1b3c5462d4f066fda7c68240dda Author: Feng Kan <fkan@xxxxxxx> Date: Thu Jul 31 12:03:26 2014 -0700 Documentation: gpio: Add APM X-Gene SoC GPIO controller DTS binding Documentation for APM X-Gene SoC GPIO controller DTS binding. Signed-off-by: Feng Kan <fkan@xxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 29cbf4589fc0dabef4dfc95dd9589c366ad2ec46 Author: Feng Kan <fkan@xxxxxxx> Date: Thu Jul 31 12:03:25 2014 -0700 gpio: Add APM X-Gene SoC GPIO controller support Add APM X-Gene SoC gpio controller driver. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e8126753a9a5896ed50c9d9bf66fa46f0f1982a6 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Tue Jul 29 09:24:44 2014 +0200 gpio: pca953x: Add DT binding documentation Add a devicetree binding documentation for the pca953x driver. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4bb93349d9d001f565aafe2a1890cbb6e4476b58 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Tue Jul 29 09:24:43 2014 +0200 gpio: pca953x: Drop deprecated DT bindings Drop deprecated DT bindings and use automaticly assigned gpio and irq bases. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c89fcfd42cbcf839b6737c977f280188eeea92d7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 28 01:39:49 2014 -0700 virtio_net: flush when in xmit_more mode and under descriptor pressure Mirror the changes made to ixgbe in commit 2367a17390138f68b3aa28f2f220b8d7ff8d91f4 ("ixgbe: flush when in xmit_more mode and under descriptor pressure") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f19e12f623067d6a330748f932ca4a81b828ffb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 28 01:39:31 2014 -0700 igb: flush when in xmit_more mode and under descriptor pressure Mirror the changes made to ixgbe in commit 2367a17390138f68b3aa28f2f220b8d7ff8d91f4 ("ixgbe: flush when in xmit_more mode and under descriptor pressure") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba2b7d0ad59f4e3fb2619f840b8e89060ab5dc61 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 6 16:31:27 2014 -0500 MAINTAINERS: update entries for ARM/SOCFPGA platform Update email address, add W and T entries. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit e34b731faa7d12d3681187968ef899747e4feb55 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Aug 27 11:55:53 2014 +0100 dma: imx-sdma: Remove spurious __init annotation on sdma_probe() We can't annotate probe functions as __init since binding can occur at any time, not just during kernel init. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b19f40b8bf87bfc32b91260a90a7fa2cdebcd9bb Author: Ryo Kataoka <ryo.kataoka.wt@xxxxxxxxxxx> Date: Wed Aug 20 17:53:03 2014 -0700 dma: rcar-audmapp: Fix for no corresponding slave ID In case of no corresponding slave ID, the audmapp_set_slave() returns -ENXIO same as sh_dmae_set_slave() of shdmac.c. DMAEngine might return wrong channel without this patch Signed-off-by: Ryo Kataoka <ryo.kataoka.wt@xxxxxxxxxxx> Signed-off-by: Jun Watanabe <jun.watanabe.ue@xxxxxxxxxxx>, Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 58d06e989e1321b43c1e42bdf3846113e9e16ecd Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 15:18:44 2014 +0200 dmaengine: Update documentation for inline wrapper Commit 16052827d98fbc13c31ebad560af4bd53e2b4dd5 ("dmaengine/dma_slave: introduce inline wrappers") introduced some wrappers, but there is still a reference to the old function. Update the documentation to use the wrapper, and add a missing "()" to a function name. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2367a17390138f68b3aa28f2f220b8d7ff8d91f4 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Tue Aug 26 19:34:18 2014 +0200 ixgbe: flush when in xmit_more mode and under descriptor pressure When xmit_more mode is being used and the ring is about to become full or the stack has stopped the ring, enforce a tail pointer write to the hw. Otherwise, we could risk a TX hang. Code suggested by Alexander Duyck. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 900405d014c584c92b77e7f5d52d46cd2556602b Merge: 0ce4866 430ad68 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 23:16:19 2014 -0700 Merge branch 'bcm7xxx' Florian Fainelli says: ==================== Broadcom BCM7xxx PHY updates for new entries Another week, another set of updates for the Broadcom BCM7xxx PHY driver. This patch set cleanups the existing definitions, adds a macro to ease the addition of future chips, and finally add two new SoCs to the list of supported chips. Resending since the first patch did not make it to the list, sorry about that. Changes in v2: - rephrased commit message for patch 1 to make it pass majordomo capital triple X was rejected ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 430ad68ffb5fa632a277162e5995cd6f7a39fb78 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 26 13:15:27 2014 -0700 net: phy: bcm7xxx: add BCM7250 and BCM7364 PHY entries Add two new entries to the Broadcom BCM7xxx internal PHY driver for BCM7250 and BCM7364 chips. Those chips share the usual 28nm process Gigabit PHY sequence and require the same workarounds so far. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11bf2bbd596add62a86a74fc7aedc0b86c6ec154 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 26 13:15:26 2014 -0700 net: phy: broadcom: add new Broadcom OUI Broadcom started to use a new OUI for its 2013 and newer products: D4-01-29 which translates into 0xae025000 for a 32-bits OUI, add its definition. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97fdaab4699de3a2a91001efef60bb0622de1c53 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 26 13:15:25 2014 -0700 net: phy: broadcom: fix PHY_BCM_OUI_4 PHY_BCM_OUI_4 is missing two significant digits that actually make it an OUI, add those missing bits so it becomes usable again for matching. Fixes: b560a58c45c6 ("net: phy: add Broadcom BCM7xxx internal PHY driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 153df3c7d7af6772a99fe5589d26a6677ffd66db Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 26 13:15:24 2014 -0700 net: phy: bcm7xxx: introduce helper macro All 28nm Gigabit PHYs supported by the driver have the same callbacks, the only differences being the 32-bits OUI and the name. Use a macro to factor this, making it easier in the future to add new entries. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ce4866f1e4697d45011bd1a01f33036660abffc Merge: abc4da4 879bd83 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 23:07:18 2014 -0700 Merge branch 'sf2' Florian Fainelli says: ==================== dsa: Broadcom Starfighter 2 switch support This patch series adds support for the Broadcom Starfighter 2 (Roboswitch successor) using the existing DSA infrastructure. This integrated switch is heavily used in Set Top Box, Cable gateways and DSL gateways products from Broadcom, and to a larger extent the new ARM-based Wi-Fi routers although slightly differently. Changes in v5 are the introduction of ETH_P_XDSA as suggested by Alexander to help capture applications see this is a multiplexed DSA approach now. Changes in v4 are the introducing of an indirection level for DSA switch tag protocols receive and transmit functions. I intentionnaly did not address one comment from Alexander who suggested to move port_names and port_dn in a separate structure since that involves touching arch/arm/ and arch/blackfin/ code which I am not yet comfortable doing. Notable changes in v3 is the preliminary patch that reworks the skb->protocol override helpers for non-Ethertype switch tags, based on feedback from Alexander Duyck. The biggest changes from v1 of this patch series are: - use the new fixed PHY helpers - improved the switch driver with more complete features (interrupts, (RG)MII configuration, memory arrays power down/up, port disabling/enable VLAN separation Future work will focus on bringing the upstream driver in feature parity with the current downstream driver, including: - adding Wake-on-LAN support to the switch - adding suspend/resume callbacks for S2/S3 Power Management modes - extending the switch register interface to cover BCM5310X SoCs ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abc4da4503bf6cb1864454b464c52959241239bd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 22:59:26 2014 -0700 sungem: Fix global namespace pollution of phy accessors. The sungem driver has "phy_read()" and "phy_write()" functions, which we need to rename because the generic phy layer is about to export generic interfaces with the same name. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 879bd83d5916ea0cff444c4b0655a997c40692b7 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:58 2014 -0700 Documentation: devicetree: add Broadcom Starfighter 2 binding Add the binding documentation for the Broadcom Starfighter 2 integrated switch hardware. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51f265936fe138c05c7efc3a4fb78663c092f33e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:57 2014 -0700 Documentation: devicetree: update dsa binding with optional properties Add documentation for a bunch of new optional properties described in ethernet.txt and fixed-link.txt, this includes: 'phy-handle', 'phy-mode' and the 'fixed-link' subnode. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 246d7f773c13cac3e3ab1609fd4ffee520242c63 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:56 2014 -0700 net: dsa: add Broadcom SF2 switch driver Add support for the Broadcom Starfigther 2 switch chip using a DSA driver. This switch driver supports the following features: - configuration of the external switch port interface: MII, RevMII, RGMII and RGMII_NO_ID are supported - support for the per-port MIB counters - support for link interrupts for special ports (e.g: MoCA) - powering up/down of switch memories to conserve power when ports are unused Finally, update the compatible property for the DSA core code to match our switch top-level compatible node. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5037d532b83d7325a2743dffe82882a64697a8e8 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:55 2014 -0700 net: dsa: add Broadcom tag RX/TX handler Add support for the 4-bytes Broadcom tag that built-in switches such as the Starfighter 2 might insert when receiving packets, or that we need to insert while targetting specific switch ports. We use a fake local EtherType value for this 4-bytes switch tag: ETH_P_BRCMTAG to make sure we can assign DSA-specific network operations within the DSA drivers. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce31b31c68e7e39f29b1257581fbd08ce3ca5589 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:54 2014 -0700 net: dsa: allow updating fixed PHY link information Allow switch drivers to hook a PHY link update callback to perform port-specific link work. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec9436baedb689668c409cfc8b69eb9573b0d661 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:53 2014 -0700 net: dsa: allow drivers to do link adjustment Whenever libphy determines that the link status of a given PHY/port has changed, allow to call into the switch driver link adjustment callback so proper actions can be taken care of by the switch driver upon link notification. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5aed85cec29882d1c4b4b2a01cb75a99efdbe4ed Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:52 2014 -0700 net: dsa: allow switches to work without tagging In case switch port tagging is disabled (voluntarily, or the switch just does not support it), allow us to continue using the defined set of dsa_device_ops in net/dsa/slave.c. We introduce dsa_protocol_is_tagged() to check whether we need to override skb->protocol and go through the DSA-specifif packet_type function, or if we just go on and receive the SKB through the normal path. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d8bcdd383b8865e752a7e8edb4712c2e3902052 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:51 2014 -0700 net: dsa: allow for more complex PHY setups Modify the DSA slave interface to be bound to an arbitray PHY, not just the ones that are available as child PHY devices of the switch MDIO bus. This allows us for instance to have external PHYs connected to a separate MDIO bus, but yet also connected to a given switch port. Under certain configurations, the physical port mask might not be a 1:1 mapping to the MII PHYs mask. This is the case, if e.g: Port 1 of the switch is used and connects to a PHY at a MDIO address different than 1. Introduce a phys_mii_mask variable which allows driver to implement and divert their own MDIO read/writes operations for a subset of the MDIO PHY addresses. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd47497a0171b96264927e3377254db13b9fe3e3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:50 2014 -0700 net: dsa: retain a per-port device_node pointer We will later use the per-port device_node pointer to fetch a bunch of port-specific properties. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa981d9af82e08f316ed25ed43078f995cc4be0a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:49 2014 -0700 net: dsa: provide a switch device device tree node pointer We might need to fetch additional resources from the device tree node pointer, such as register ranges or other properties. Keep a device_node pointer around for this. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 464c3668f065baeacfffa9d421959d21069389fe Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:48 2014 -0700 net: phy: provide stub for fixed_phy_set_link_update In preparation for updating the DSA code and avoid using ifdefs there, provide an empty stub for fixed_phy_set_link_update when CONFIG_FIXED_PHY is not selected. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ba1b163c9d5d716fb1061f3fb76832cc6eea37f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:47 2014 -0700 net: phy: add generic UniMAC MDIO bus driver Add a generic UniMAC MDIO bus driver and its Device Tree binding, which can be used by the BCMGENET driver as-is, and the upcoming Starfighter 2 Ethernet switch MDIO bus controller. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e8a72d1dae374cf6fc1dba97cec663585845ff9 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:46 2014 -0700 net: dsa: reduce number of protocol hooks DSA is currently registering one packet_type function per EtherType it needs to intercept in the receive path of a DSA-enabled Ethernet device. Right now we have three of them: trailer, DSA and eDSA, and there might be more in the future, this will not scale to the addition of new protocols. This patch proceeds with adding a new layer of abstraction and two new functions: dsa_switch_rcv() which will dispatch into the tag-protocol specific receive function implemented by net/dsa/tag_*.c dsa_slave_xmit() which will dispatch into the tag-protocol specific transmit function implemented by net/dsa/tag_*.c When we do create the per-port slave network devices, we iterate over the switch protocol to assign the DSA-specific receive and transmit operations. A new fake ethertype value is used: ETH_P_XDSA to illustrate the fact that this is no longer going to look like ETH_P_DSA or ETH_P_TRAILER like it used to be. This allows us to greatly simplify the check in eth_type_trans() and always override the skb->protocol with ETH_P_XDSA for Ethernet switches tagged protocol, while also reducing the number repetitive slave netdevice_ops assignments. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8663dc2002b02abfe5dfb0fb7e544b81982ad95b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 22:59:26 2014 -0700 sungem: Fix global namespace pollution of phy accessors. The sungem driver has "phy_read()" and "phy_write()" functions, which we need to rename because the generic phy layer is about to export generic interfaces with the same name. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04cd214516d8a6f0f8c0116185d6e360df0860d2 Merge: 6adae10 feba9b0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 28 13:45:45 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next Just clearing out my -next queue before I go on vacation. Two UVD improvements that depend on the ttm change you just merged. * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: preallocate mem for UVD create/destroy msg drm/radeon: allow UVD to use a second 256MB segment commit feba9b0bcf492ba991d7fbfc211dd49ebbc95a4b Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 22 14:25:55 2014 +0200 drm/radeon: preallocate mem for UVD create/destroy msg llocating memory for UVD create and destroy messages can fail, which is rather annoying when this happens in the middle of a GPU reset. Try to avoid this condition by preallocating a page for those dummy messages. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3852752ca89ca00aa13f12a9b9450fd97ff437d4 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 21 12:18:12 2014 +0200 drm/radeon: allow UVD to use a second 256MB segment This improves concurrent stream decoding. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 6adae108b2fb0c7b945e297e4a0f0b7d66599656 Merge: fb1aaca 3c03638 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 28 11:39:11 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next More radeon changes for drm-next. Highlights: - UVD support for older asics - Reset rework in preparation for Maarten's fence patches I have a few more patches which depend on Christian's ttm changes, I'll send them out separately once you've merged the ttm changes. * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: drop doing resets in a work item drm/radeon: drop RADEON_FENCE_SIGNALED_SEQ v2 drm/radeon: add timeout argument to radeon_fence_wait_seq v2 drm/radeon: handle lockup in delayed work, v5 drm/radeon: take exclusive_lock in read mode during ring tests, v5 drm/radeon: force fence completion only on problematic rings (v2) drm/radeon: wake up all fences on manual reset drm/radeon: add UVD fw names for older asic drm/radeon: enable RB_ARB before resetting the VCPU drm/radeon: 760G/780V/880V don't have UVD drm/radeon: implement UVD hw workarounds for R6xx v3 drm/radeon: add UVD support for older asics v4 drm/radeon: add set_uvd_clocks callback for r6xx v4 drm/radeon: properly init UVD MC bits on R600 drm/radeon: force UVD buffers into VRAM on RS[78]80 v2 drm/radeon: move the IB test after the AGP fallback commit fb1aacae408a48968840f8743a73edaad94a2f94 Merge: 484048d f1217ed Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 28 11:34:48 2014 +1000 Merge branch 'ttm_pfn' of git://people.freedesktop.org/~deathsimple/linux into drm-next pull in placement changes radeon requires. * 'ttm_pfn' of git://people.freedesktop.org/~deathsimple/linux: drm/ttm: move fpfn and lpfn into each placement v2 commit 73852b2bfb743298dff9e731615ee0162b33630c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 18:24:16 2014 -0700 tulip: dmfe: Fix global namespace pollution of phy accessors. The dmfe driver has "phy_read()" and "phy_write()" functions, which we need to rename because the generic phy layer is about to export generic interfaces with the same name. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2c0e8b2b88cac379b2a2167b448000dedd2596a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 17:05:53 2014 -0700 f_ncm: Don't use netdev_start_xmit(). Unfortunately, the USB gadget layer has this weird things where NULL skbs are passed into ops->ndo_start_xmit() in order to trigger the dev->wrap() calls to build packets. This is completely outside of the allowable range of sane arguments for the ndo_start_xmit method. All invocations of ndo_start_xmit() should be with non-NULL SKB arguments. Put back the direct call, but with a comment explaining how this is not acceptable in the long term. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 23d2d9a630b98a554cc328c6b69c56fd285e0129 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Tue Aug 26 13:14:51 2014 +0000 ethernet: arc: Add support for specific SoC layer device tree bindings Some platforms have special bank registers which might be used to select the correct clock or the right mode for Media Indepent Interface controllers. Sometimes, it is also required to activate vcc regulators in the right order to supply the ethernet controller at the right time. This patch is an architecture refactoring of the arc-emac device driver. It adds a new software design which allows to add specific platform glue layer. Each platform has now its own module which performs custom initialization and remove for the target and then calls to the core driver. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93e91b3dda17be19ecf52de2400a02c6469decfa Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Tue Aug 26 13:14:50 2014 +0000 ethernet: arc: mdio changes for future SoC glue layer devtree support This is an api changes for the emac_mdio.c module. It will be required later when arc_emac_probe/arc_emac_remove will no longer use 'struct platform_device'. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f15f44e0839793ea03ffef5bae532cd63d92948c Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Tue Aug 26 13:14:49 2014 +0000 ethernet: arc: remove use of 'struct platform_device' This is a preparation of an api changes for the emac_main.c module. The involved functions are arc_emac_probe and arc_emac_remove. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 253ff51635ad6690276ef065d59523c4bd1cd584 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Aug 26 12:55:53 2014 +0200 tcp: syncookies: mark cookie_secret read_mostly only written once. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fc3de94076cd0c1e53e5ba8061763b33c7b27c2 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Tue Aug 26 10:24:41 2014 +0300 bnx2x: Fix static checker warning regarding `txdata_ptr' Incorrect checking of array instead of array contents in panic_dump flow - results of commit e261199872a2 ("bnx2x: Safe bnx2x_panic_dump()"). Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0b46c7766e6803df7f76cddbbc0172092b5fa7c Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Tue Aug 26 10:08:23 2014 +0800 r8152: replace strncpy with strlcpy Replace the strncpy with strlcpy, and use sizeof to determine the length. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8dc12f933c9d732c5bbfb233daf27377893b109c Author: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Date: Wed Aug 27 14:40:40 2014 -0700 x86/iosf: Add debugfs support Allows access to the iosf sideband through debugfs. Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409175640-32426-3-git-send-email-david.e.box@xxxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit aa8e4f22ab7773352ba3895597189b8097f2c307 Author: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Date: Wed Aug 27 14:40:39 2014 -0700 x86/iosf: Add Kconfig prompt for IOSF_MBI selection Fixes an error in having the iosf build as 'default m'. On X86 SoC's the iosf sideband is the only way to access information for some registers, as opposed to through MSR's on other Intel architectures. While selecting IOSF_MBI is preferred, it does mean carrying extra code on non-SoC architectures. This exports the selection to the user, allowing those driver writers to compile out iosf code if it's not being built. Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409175640-32426-2-git-send-email-david.e.box@xxxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit f23a6179d45e9d144bf2eb2bd82b2f1270f85fcf Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Aug 20 21:09:24 2014 +0200 ARM: dts: rockchip: add saradc nodes Add the core device nodes for the SARADC found on both the Cortex-A9 series (rk3066 and rk3188) as well as the newer rk3288. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 3c0363891c0fa5d17b683b758bff0d81fa6a9775 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 15:22:01 2014 +0200 drm/radeon: drop doing resets in a work item Blocking completely innocent processes with a GPU reset is a pretty bad idea. Just set needs_reset and let the next command submission or fence wait do the job. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d6d5c5b8364bcc4d52cddc68bcb0a330d2af20f3 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 15:22:00 2014 +0200 drm/radeon: drop RADEON_FENCE_SIGNALED_SEQ v2 It's causing issues with VMID handling and comparing the fence value two times actually doesn't make handling faster. v2: rebased on reset changes Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9867d00dbaef42e346e5d12eaa9591b057fea6d8 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Aug 27 15:21:59 2014 +0200 drm/radeon: add timeout argument to radeon_fence_wait_seq v2 This makes it possible to wait for a specific amount of time, rather than wait until infinity. v2 (chk): rebased on other changes Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 0bfa4b41268ad5fd741f16f484e4fee190822ec6 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 15:21:58 2014 +0200 drm/radeon: handle lockup in delayed work, v5 v5 (chk): complete rework, start when the first fence is emitted, stop when the last fence is signalled, make it work correctly with GPU resets, cleanup radeon_fence_wait_seq Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9bb39ff43e15e85bc1bd9bbbdc5b9cef7a670fd5 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Aug 27 16:45:18 2014 -0400 drm/radeon: take exclusive_lock in read mode during ring tests, v5 This is needed for the next commit, because the lockup detection will need the read lock to run. v4 (chk): split out forced fence completion, remove unrelated changes, add and handle in_reset flag v5 (agd5f): rebase fix Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4721ab855d1a1d3e472ff38d1cae06e23e0520cf Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Aug 20 21:07:22 2014 +0200 ARM: dts: rockchip: add hym8563 rtc to Radxa Rock board The Radxa Rock uses a hym8563 as rtc. Add the i2c device and necessary pinconfig for the interrupt pin - labeled rtc_int in the schematics. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 5c21403d74af2c9cd635a34c2f9199681a5b813e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 14:39:04 2014 -0700 net: Update sk_buff flag bit availability comment. We lost one when xmit_more was added. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0541f94fdff89fb7bc14bf5fe0da21d9d19a0c6d Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Aug 25 15:59:27 2014 -0700 ARM: dts: Enable PWM backlight on rk3288-evb PWM0 is the PWM associated with the LCD backlight. Enable it. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit df542df3f572af7e5f8279e78d86614483d9670d Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Aug 25 15:59:26 2014 -0700 ARM: dts: Add main PWM info to rk3288 This adds the PWM info (other than the VOP PWM) to the main rk3288 dtsi file. Signed-off-by: Caesar Wang <caesar.wang@xxxxxxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 604b607748a576c3861f549772b72fb62c05a3fd Author: Jiri Kosina <jkosina@xxxxxxx> Date: Wed Aug 27 23:27:10 2014 +0200 HID: picolcd: be more verbose when reporting report size error picolcd device is not expected to send any report with size larger than 64 bytes. If this impossible event happens (sic!), print also a report ID to allow for easier debugging. Suggested-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6ba42ba608df1e243d594a682073e783a57c95f5 Merge: c99428d cf673fb Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Aug 27 22:07:01 2014 +0100 Merge tag 'dt-endian' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into spi-fsl-dspi regmap: Device tree endianness support This adds generic support for specifying endianess for register map in the DT. commit 368d4e59b002d0742fc7c25de8fd7b6ad37a434c Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Fri Aug 22 16:16:06 2014 -0400 HID: logitech-dj: break out testing of validity of dj_device We can do once the test of the validity of the dj_device, which removes some duplicated code in various functions. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit de56fb1923ca11f428bf557870e0faa99f38762e Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:25 2014 +0100 KVM: vgic: declare probe function pointer as const We extract the vgic probe function from the of_device_id data pointer, which is const. Kill the sparse warning by ensuring that the local function pointer is also marked as const. Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 1fa451bcc67fa921a04c5fac8dbcde7844d54512 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:24 2014 +0100 KVM: vgic: return int instead of bool when checking I/O ranges vgic_ioaddr_overlap claims to return a bool, but in reality it returns an int. Shut sparse up by fixing the type signature. Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit bd218bce92d3868ba4fe5e9e3eb8199d2aa614af Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:23 2014 +0100 KVM: ARM/arm64: return -EFAULT if copy_from_user fails in set_timer_reg We currently return the number of bytes not copied if set_timer_reg fails, which is almost certainly not what userspace would like. This patch returns -EFAULT instead. Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 18d457661fb9fa69352822ab98d39331c3d0e571 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:22 2014 +0100 KVM: ARM/arm64: avoid returning negative error code as bool is_valid_cache returns true if the specified cache is valid. Unfortunately, if the parameter passed it out of range, we return -ENOENT, which ends up as true leading to potential hilarity. This patch returns false on the failure path instead. Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4000be423cb01a8d09de878bb8184511c49d4238 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:21 2014 +0100 KVM: ARM/arm64: fix broken __percpu annotation Running sparse results in a bunch of noisy address space mismatches thanks to the broken __percpu annotation on kvm_get_running_vcpus. This function returns a pcpu pointer to a pointer, not a pointer to a pcpu pointer. This patch fixes the annotation, which kills the warnings from sparse. Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 6951e48bff0b55d2a8e825a953fc1f8e3a34bf1c Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:20 2014 +0100 KVM: ARM/arm64: fix non-const declaration of function returning const Sparse kicks up about a type mismatch for kvm_target_cpu: arch/arm64/kvm/guest.c:271:25: error: symbol 'kvm_target_cpu' redeclared with different type (originally declared at ./arch/arm64/include/asm/kvm_host.h:45) - different modifiers so fix this by adding the missing const attribute to the function declaration. Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 06cb1eb3de5c905da60ab91dbf99aaf96a43d043 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Aug 21 18:20:49 2014 +0530 ASoC: mfld-compress: Use dedicated function instead of ioctl Also pass sst device as an argument to function pointer prototypes of compr_ops. This will be used to derive sst driver context. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eb98c709907c7a78b9cd0d18642477d47d348f9f Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 15:21:56 2014 +0200 drm/radeon: force fence completion only on problematic rings (v2) Instead of resetting all fence numbers, only reset the number of the problematic ring. Split out from a patch from Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> v2 (agd5f): rebase build fix Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a71b4438af8242f383906071205db95a8b8e7b6d Author: FUKAUMI Naoki <naobsd@xxxxxxxxx> Date: Wed Aug 20 14:25:03 2014 +0900 ARM: sun7i: Add support for Olimex A20-OLinuXino-LIME This patch adds support for Olimex A20-OLinuXino-LIME board. Signed-off-by: FUKAUMI Naoki <naobsd@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 98047888bb9fd57734028c44ec17413ddd623958 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 19 12:18:04 2014 +0200 arm/arm64: KVM: Support KVM_CAP_READONLY_MEM When userspace loads code and data in a read-only memory regions, KVM needs to be able to handle this on arm and arm64. Specifically this is used when running code directly from a read-only flash device; the common scenario is a UEFI blob loaded with the -bios option in QEMU. Note that the MMIO exit on writes to a read-only memory is ABI and can be used to emulate block-erase style flash devices. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 64d831269ccbca1fc6d739a0f3c8aa24afb43a5e Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 19 12:15:00 2014 +0200 KVM: Introduce gfn_to_hva_memslot_prot To support read-only memory regions on arm and arm64, we have a need to resolve a gfn to an hva given a pointer to a memslot to avoid looping through the memslots twice and to reuse the hva error checking of gfn_to_hva_prot(), add a new gfn_to_hva_memslot_prot() function and refactor gfn_to_hva_prot() to use this function. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit ef11982dd7a657512c362242508bb4021e0d67b6 Author: Amit Virdi <amit.virdi@xxxxxx> Date: Fri Aug 22 14:36:36 2014 +0530 usb: gadget: zero: Add support for interrupt EP Interrupt endpoints behave quite similar to the bulk endpoints with the difference that the endpoints expect data sending/reception request at particular intervals till the whole data has not been transmitted. The interrupt EP support is added to gadget zero. A new alternate setting (=2) has been added. It has 2 interrupt endpoints. The default parameters are set as: bInterval: 1 ms for FS and 8 uFrames (implying 1 ms) for HS/SS wMaxPacketSize: 64 bytes for FS and 1024 bytes for HS/SS However, the same can be overridden through the module parameter interface. The code is tested for HS and SS on a platform having DWC3 controller. Signed-off-by: Amit Virdi <amit.virdi@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c572a217d1b81209ae5a4fe09a96db758f86f10b Author: Richard Leitner <richard.leitner@xxxxxxxxxxx> Date: Thu Aug 21 08:57:28 2014 +0200 usb: gadget: serial: remove PREFIX macro Remove the ttyGS PREFIX macro from u_serial.c and replace all occurences with the hardcoded ttyGS string. This macro was mostly used in a few debug/warning messages and a lot of hardcoded ttyGS existed beneath. It may have been used for renaming the tty, but if done so most debug messages would have ignored this. Due to the fact the usage of this PREFIX in all debug calls would have resulted in a hard to read/grep code it is removed completely. Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b8b0ea51b381a43c3179281a7aaf95b49f9f5f7b Author: Richard Leitner <richard.leitner@xxxxxxxxxxx> Date: Thu Aug 21 08:31:39 2014 +0200 usb: gadget: serial: replace {V,}DBG macro with dev_{v,}dbg Replace the VDBG and DBG macro with the kernels "proper" debug macros (dev_vdbg and dev_dbg) in f_acm.c, f_obex.c & f_serial.c Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a1a4caf41ed8154c4e7b75b4e12c1a7d851e2137 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Thu Aug 21 07:45:10 2014 +0100 usb: phy: msm: Make phy_reset clk and reset line optional. This patch makes the phy reset clk and reset line optional as this clk is not available on boards like IFC6410 with APQ8064. phy-reset clk is only used as argument to the mach level callbacks, so this patch adds condition before clk_get calls so that the driver wouldn't fail on SOCs which do not have this support. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d0ee68b59e6aa33221445dc555efac3736b89026 Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Jul 28 16:57:29 2014 +0200 usb: phy: mxs: Add VF610 USB PHY support This adds support for the USB PHY in Vybrid VF610. We assume that the disconnection without VBUS is also needed for Vybrid. Tests showed, without MXS_PHY_NEED_IP_FIX, enumeration of devices behind a USB Hub fails with errors: [ 215.163507] usb usb1-port1: cannot reset (err = -32) [ 215.170498] usb usb1-port1: cannot reset (err = -32) [ 215.185120] usb usb1-port1: cannot reset (err = -32) [ 215.191345] usb usb1-port1: cannot reset (err = -32) [ 215.202487] usb usb1-port1: cannot reset (err = -32) [ 215.207718] usb usb1-port1: Cannot enable. Maybe the USB cable is bad? [ 215.219317] usb usb1-port1: unable to enumerate USB device Hence we also enable the MXS_PHY_NEED_IP_FIX flag. Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 014fd22ef9c6a7e9536b7e16635714a1a34810a8 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 25 11:31:02 2014 +0800 ASoC: fsl-sai: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 664915074e750614c5d140093d5098a165a24e3d Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 25 11:31:01 2014 +0800 ASoC: fsl-spdif: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 92bd0334b27845f250f1fadb091242140391c99b Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 25 11:31:00 2014 +0800 ASoC: fsl-esai: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bf16d883263dedefb6149916e41b3e2779bb1573 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 25 11:30:59 2014 +0800 ASoC: fsl-asrc: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e94b8f50907c063de25ca52072e54b0581614995 Merge: 38c6e4b cf673fb Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Aug 27 19:14:25 2014 +0100 Merge tag 'dt-endian' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-fsl regmap: Device tree endianness support This adds generic support for specifying endianess for register map in the DT. commit aea8dfb9f32bf90dd6fd00758978b50efdc08df5 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Tue Aug 26 13:37:41 2014 +0200 regulator: max77802: set opmode to normal if off is read from hw The max77802 driver reads the default operating mode (opmode) set for regulators when enabled from the hardware registers. But if a regulator is disabled and the system warm restarted, the hardware reports OFF as the opmode so the regulator is not enabled. Default to operating mode NORMAL if OFF is read from the hardware register. Reported-by: Yuvaraj Cd <yuvaraj.lkml@xxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Yuvaraj Kumar CD <yuvaraj.cd@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f0d970b4fd05cb7af89307bb17689c18c835d739 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 15:21:53 2014 +0200 drm/radeon: wake up all fences on manual reset Wake up all fences when we manually trigger a reset. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 14e935aeb0213e2ef522d0d8a14d2d29fb194956 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Apr 16 22:11:37 2013 +0200 drm/radeon: add UVD fw names for older asic Activating the UVD support. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 32517d59ebb3b6eb7a5a5736020072ce7e609e76 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 09:59:45 2014 +0200 drm/radeon: enable RB_ARB before resetting the VCPU This fixes "UVD not responding, trying to reset the VCPU" messages on earlier ASICs. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bdc99722d007ed1db7188b09404bda080d1d737a Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Aug 26 13:11:36 2014 -0400 drm/radeon: 760G/780V/880V don't have UVD Don't enable UVD on these asics as they don't have UVD hardware. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 115365e8a33e4ce5e12bee7999568a26b4c33d3f Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Apr 25 09:02:14 2013 +0200 drm/radeon: implement UVD hw workarounds for R6xx v3 Only the essentials, cause this hw generation is really buggy. v2: start supporting RV670,RV620 and RV635 as well v3: activate more workarounds Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 856754c3a23a622d26a82b29fab6429481705511 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Apr 16 22:11:22 2013 +0200 drm/radeon: add UVD support for older asics v4 v2: cleanup R600 support v3: rebased on current drm-fixes-3.12 v4: rebased on drm-next-3.14 Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4a956a70a8d4cc5268a60f6718de58892fa1275e Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Nov 28 16:55:21 2012 -0500 drm/radeon: add set_uvd_clocks callback for r6xx v4 v2: wake up PLL, set [VD]CLK_SRC, cleanup code v3: handle RV670,RV635,RV620 as well v4: merge rv6xx and rs780/rs880 code, fix ref divider mask Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> commit a8fba64ab08cf4a5baf211f1126b475e03f90fc1 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Apr 25 18:54:07 2013 +0200 drm/radeon: properly init UVD MC bits on R600 Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b6a7eeeaa1cdf76f2522b75a2fd46280e8c3b3d8 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Apr 16 15:41:25 2013 +0200 drm/radeon: force UVD buffers into VRAM on RS[78]80 v2 v2: only necessary on RS[78]80 Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 13a7d299dbbcd4c76ff088ec240d7cd896174c2e Author: Christian König <christian.koenig@xxxxxxx> Date: Sun Aug 24 14:52:46 2014 +0200 drm/radeon: move the IB test after the AGP fallback Otherwise we won't test if the fallback to PCIe GART really worked. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit cf673fbc6342b1c2310cdfdc4ed99f18f866b8e4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 27 16:36:03 2014 +0200 regmap: Split regmap_get_endian() in two functions Split regmap_get_endian() in two functions, regmap_get_reg_endian() and regmap_get_val_endian(). This allows to: - Get rid of the three switch()es on "type", incl. error handling in three "default" cases, - Get rid of the regmap_endian_type enum, - Get rid of the non-NULL check of "config" (regmap_init() already checks for that), - Get rid of the "endian" output parameters, and just return the regmap_endian enum value, as the functions can no longer fail. This saves 21 lines of code (despite the still-present one-comment-per-line over-documentation), and 30 bytes of code on ARM V7. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2d15d974618db4ed3adafe9b9fe092db0f5076a0 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Aug 27 19:50:34 2014 +0800 ASoC: rt5677: Add DMIC2 clock selection There are two pins can be used for rt5677's DMIC2 clock. This patch add the select options for it. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 23f66e2d661b4d3226d16e25910a9e9472ce2410 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Aug 27 11:18:29 2014 -0400 Revert "powerpc: Replace __get_cpu_var uses" This reverts commit 5828f666c069af74e00db21559f1535103c9f79a due to build failure after merging with pending powerpc changes. Link: http://lkml.kernel.org/g/20140827142243.6277eaff@xxxxxxxxxxxxxxxx Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 084bb5bc00c19ec32b45f44d11ba6a0ca2514ec3 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Wed Aug 20 20:49:54 2014 +0100 ARM: 8131/1: arm/smp: Absorb boot_secondary() After becoming a mandatory function, boot_secondary() is no longer used outside arch/arm/kernel/smp.c. Hence remove its public prototype, and, as suggested by Arnd, let it be absorbed by its single caller. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 31e1a602b97dd7f68adb44ebac89caa7f1a25b1c Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Aug 5 21:17:14 2014 +0100 ARM: 8126/1: crypto: enable NEON SHA-384/SHA-512 for big endian The SHA-512 NEON works just fine under big endian, so remove the Kconfig condition preventing it from being selected if CONFIG_CPU_BIG_ENDIAN is set. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0777e3e1723f69276136140209c11deeecb7c6dc Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Aug 5 21:15:19 2014 +0100 ARM: 8125/1: crypto: enable NEON SHA-1 for big endian This tweaks the SHA-1 NEON code slightly so it works correctly under big endian, and removes the Kconfig condition preventing it from being selected if CONFIG_CPU_BIG_ENDIAN is set. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit beb50df39e91745604ce3cb9dc6a503f39f4383d Author: Bertrand Jacquin <beber@xxxxxxxxxxxx> Date: Wed Aug 27 20:31:56 2014 +0930 kbuild: handle module compression while running 'make modules_install'. Since module-init-tools (gzip) and kmod (gzip and xz) support compressed modules, it could be useful to include a support for compressing modules right after having them installed. Doing this in kbuild instead of per distro can permit to make this kind of usage more generic. This patch add a Kconfig entry to "Enable loadable module support" menu and let you choose to compress using gzip (default) or xz. Both gzip and xz does not used any extra -[1-9] option since Andi Kleen and Rusty Russell prove no gain is made using them. gzip is called with -n argument to avoid storing original filename inside compressed file, that way we can save some more bytes. On a v3.16 kernel, 'make allmodconfig' generated 4680 modules for a total of 378MB (no strip, no sign, no compress), the following table shows observed disk space gain based on the allmodconfig .config : | time | +-------------+-----------------+ | manual .ko | make | size | percent | compression | modules_install | | gain +-------------+-----------------+------+-------- - | | 18.61s | 378M | GZIP | 3m16s | 3m37s | 102M | 73.41% XZ | 5m22s | 5m39s | 77M | 79.83% The gain for restricted environnement seems to be interesting while uncompress can be time consuming but happens only while loading a module, that is generally done only once. This is fully compatible with signed modules while the signed module is compressed. module-init-tools or kmod handles decompression and provide to other layer the uncompressed but signed payload. Reviewed-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Bertrand Jacquin <beber@xxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 40e42f6a2596bbe757e561d4806fadd924f8c9fd Author: Bertrand Jacquin <beber@xxxxxxxxxxxx> Date: Wed Aug 27 20:30:56 2014 +0930 modinst: wrap long lines in order to enhance cmd_modules_install Note: shouldn't we use 'install -D $(2)/$@ $@' instead of mkdir and cp ? Reviewed-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Bertrand Jacquin <beber@xxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d10f9f69bfeb9c8454b7cd05f6748c3d91d96485 Author: Bertrand Jacquin <beber@xxxxxxxxxxxx> Date: Wed Aug 27 20:29:56 2014 +0930 modsign: lookup lines ending in .ko in .mod files This does the same as commit ef591a5 (scripts/Makefile.modpost: error in finding modules from .mod files), but for scripts/Makefile.modsign Maybe we should also apply to Makefile.modsign and Makefile.modinst the change applied to Makefile.modpost by commit ea4054a (modpost: handle huge numbers of modules) ? Reviewed-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Bertrand Jacquin <beber@xxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d93e1719a313ca960b38c5159be0106884317997 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Wed Aug 27 20:28:56 2014 +0930 modpost: simplify file name generation of *.mod.c files Avoid the variable length array (vla), just use PATH_MAX instead. This not only makes this code clang friedly, it also leads to a code size reduction: text data bss dec hex filename 51765 2224 12416 66405 10365 scripts/mod/modpost.old 51677 2224 12416 66317 1030d scripts/mod/modpost.new Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7a3ee7538598e0d60e6aa87dcf34a4e8a0adebc2 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Wed Aug 27 20:28:53 2014 +0930 modpost: reduce visibility of symbols and constify r/o arrays Internally used symbols of modpost don't need to be externally visible; make them static. Also constify the string arrays so they resist in the r/o section instead of being runtime writable. Those changes lead to a small size reduction as can be seen below: text data bss dec hex filename 51381 2640 12416 66437 10385 scripts/mod/modpost.old 51765 2224 12416 66405 10365 scripts/mod/modpost.new Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7a486d3781295b5298cbf9556928a76d26896863 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Aug 27 06:25:23 2014 +0930 param: check for tainting before calling set op. This means every set op doesn't need to call it, and it can move into params.c. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit fc9740cebc3ab7c65f3c5f6ce0caf3e4969013ca Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 06:24:23 2014 +0930 drm/i915: taint the kernel if unsafe module parameters are set Taint the kernel if the semaphores, enable_rc6, enable_fbc, or ppgtt module parameters are modified. These module parameters are for debugging and testing only, and should never be changed from their platform specific default values by the users. We do not provide support for people enabling all the experimental features. Make this clear by tainting the kernel if the parameters are set. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 3baee201b06cfaff84c2c5ddc551b192bb3eaed3 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 06:23:23 2014 +0930 module: add module_param_unsafe and module_param_named_unsafe Add the helpers to be used by modules wishing to expose unsafe debugging or testing module parameters that taint the kernel when set. Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jean Delvare <khali@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Cc: Jon Mason <jon.mason@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 91f9d330cc14932084c37751997213cb0e7ea882 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 06:22:23 2014 +0930 module: make it possible to have unsafe, tainting module params Add flags field to struct kernel_params, and add the first flag: unsafe parameter. Modifying a kernel parameter with the unsafe flag set, either via the kernel command line or sysfs, will issue a warning and taint the kernel. Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jean Delvare <khali@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Cc: Jon Mason <jon.mason@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6a4c264313c4ae32dc53821a9c57e0dc9696fb81 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 06:21:23 2014 +0930 module: rename KERNEL_PARAM_FL_NOARG to avoid confusion Make it clear this is about kernel_param_ops, not kernel_param (which will soon have a flags field of its own). No functional changes. Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jean Delvare <khali@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Cc: Jon Mason <jon.mason@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 0fdc14e42b40ecd7115cc670981d39a89eeee6c3 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 26 19:14:03 2014 +0300 ath10k: make target endianess more explicit Some copy engine structures are target specific and are uploaded to the device during init/configuration. This also cleans up a bit diag_mem_read/write implicit byteswap mess leaving only diag_access_read/write with an implicit endianess byteswap. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7c6aa25db481f0c6e83ddf358001894a62ca294c Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 26 19:14:03 2014 +0300 ath10k: dont duplicate service-pipe mapping The mapping is already defined in a structure. It makes little sense to duplicate information stored in it within a function. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d7bfb7aa54031905a87e0f1d049d160259d71808 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 26 19:14:02 2014 +0300 ath10k: move pci init structures It doesn't make much sense to have copy engine configuration structures spread across the whole source file. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f1217ed09f827e42a49ffa6a5aab672aa6f57a65 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 13:16:04 2014 +0200 drm/ttm: move fpfn and lpfn into each placement v2 This allows us to more fine grained specify where to place the buffer object. v2: rebased on drm-next, add bochs changes as well Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 2688eba9d5ba2a35ac8e5efa2e228f105f0a379f Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Sun Aug 17 16:18:02 2014 +0300 mac80211: Replace rcu_dereference() with rcu_access_pointer() The "rcu_dereference()" calls are used directly in conditions. Since their return values are never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes the replacements. The following Coccinelle semantic patch was used: @@ @@ ( if( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} | while( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} ) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit bf3baca6c54ce8a2f51687296f868dfe20d33f13 Author: James Ban <james.ban.opensource@xxxxxxxxxxx> Date: Wed Aug 27 11:47:07 2014 +0900 regulator: da9211: support device tree This is a patch for supporting device tree of DA9211/DA9213. Signed-off-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 88299c9bdb109e0d95abdca648065631ff91b2cb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 1 11:28:48 2014 +0300 timerfd: Remove an always true check We would have returned -EINVAL earlier if ticks wasn't set. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140801082848.GF28869@mwanda Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2a8d1303c6618f44e7603a4625783d1aff5fef4a Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Tue Aug 26 22:18:57 2014 +0800 regulator: rk808: remove redundant code remove the redundant code, since pdata has been removed from stuct rk808 Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e8e724db0a559f666fc552e65294ce7b5b837eae Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Jul 10 07:58:26 2014 +0000 i40e/i40evf: Bump i40e & i40evf version Bump versions for i40e to 1.0.4 and i40evf to 1.0.1. Change-ID: I960c04da2c91bdf1d02f8e5011e68c34a634122d Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-By: Jim Young <jamesx.m.young@xxxxxxxxx> Tested-by: Sibai Li <sibai.li@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 810b3ae42f5a6d1ddb17bb20eb69046de08ab1ef Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Jul 10 07:58:25 2014 +0000 i40e/i40evf: Ignore a driver perceived Tx hang if the number of desc pending < 4 We are seeing situations where the driver sees a hang with less than 4 desc pending, if the driver chooses to ignore it the queue progresses forward and the stack never experiences a real hang. With this patch we will log a stat when this situation happens "tx_sluggish" will increment and we can see some more details at a higher debug level. Other than that we will ignore this particular case of Tx hang. Change-ID: I7d1d1666d990e2b12f4f6bed0d17d22e1b6410d5 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 30650cc552cf9a60fa80a205693c6f76f7a00549 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Tue Jul 29 04:01:50 2014 +0000 i40e: quiet complaints when removing default MAC VLAN filter and make set_mac reversible Older firmware has an incorrect MAC VLAN filter that needs to be replaced at startup, and now newer firmware doesn't have this problem. With this change we no longer complain if the remove fails, and we only add the new filter if the remove succeeded. Setting a new LAA worked the first time, but didn't work well in successive operations, including returning to the HW default address. This simplifies the code that was trying to be too smart. Lastly, this pulls the hardware default mac address out into separate handling code and keeps the broadcast filtering from getting munged. Change-ID: I1f54b002def04ffef2546febb9a4044385452f85 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f905dd62be8853644357044a455f83e63e8c68ef Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 10 07:58:20 2014 +0000 i40e/i40evf: add max buf len to aq debug print helper There is at least one case in the Firmware API where the response to a command changes the buffer size field in the AQ descriptor to a larger number than what the request's buffer size started as. This is in addition to setting an error flag and is in order to tell the requester how much larger a buffer is required for the answer. We need to be sure not to use that number when dumping the contents of the data buffer because it can send us into the weeds and generate an invalid pointer exception. This patch adds a max buffer size parameter to the print helper to be sure the code knows when to stop. Change-ID: Ib84f7ed72140fe9d600086d8f2002fc5d8753092 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Tested-by: Sibai Li <sibai.li@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7b592f6168e3091bc0868812b6a4a3126be5b82d Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Thu Jul 10 07:58:19 2014 +0000 i40e: Add checks and message for Qualified Module info This patch adds a check during handle_link_event for unqualified module when link is down and there is a module plugged. If found, print a message. Change-ID: Ibd8666d77d3044c2a3dd4d762d3ae9ac6e18e943 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5f5e33b6970953fc849852414014862fb388f6da Author: Ashish Shah <ashish.n.shah@xxxxxxxxx> Date: Thu Jul 10 07:58:15 2014 +0000 i40e: set num_queue_pairs to num configured by VF Change vsi->num_queue_pairs to equal the number that are configured by the VF. This, in turn, limits the number of queues that are enable/disabled. This fixes the mismatched case for when a VF configures fewer queues than is allocated to it by the PF. Change other sections to use alloc_queue_pairs as warranted. Change-ID: I0de1b55c9084e7be6acc818da8569f12128a82c2 Signed-off-by: Ashish Shah <ashish.n.shah@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c1d11cef92199764a3b0f35efc4a3583afedaddc Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Tue Jul 29 04:01:03 2014 +0000 i40e: Enable l2tsel bit for VLAN tag control Enable the l2tsel bit on Rx queue contexts that are assigned to VFs so that the VF can get the stripped VLAN tag. Change-ID: I7d9bc56238a9ea9baf5e8a97e69b9e27ebb9d169 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Ashish Shah <ashish.n.shah@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 60793f4ab541f9c279f823e42dc8053341cc7547 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Wed Jul 9 07:46:23 2014 +0000 i40e: Add a FD flush counter to ethtool This helps know how many times the interface had to flush and replay FD filter table, which gives an indication on how often we are getting FD table full situation. Also check on certain pf states before proceeding to add or delete filters since we can't add or delete filters if we are in those states. Change-ID: I97f5bbbea7146833ea61af0e08ea794fccba1780 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1e1be8f622ee3d01acdbf5f4e00fbdd53ff950c9 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Jul 10 08:03:26 2014 +0000 i40e: ATR policy change to flush the table to clean stale ATR rules Instead of disabling ATR when we get a programming error, we now will wait it out to see if some room gets created by ATR rule deletion. If we still have too many errors and ATR filter count did not change much, its time to flush and replay. We no more auto-disable ATR when we have errors in programming. The disabling of ATR when we get programming error was buggy and was still adding new rules and causing continuous errors. With this policy change we flush instead when we see too many errors. ATR is still disabled if we add a SB rule for TCP/IPv4 flow type, more logic is added to re-enable it once all SB TCP/IPv4 rules are gone. Change-ID: I77edcbeab9500c72a7e0bd7b5c5b113ced133a9c Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f7233c5491156bc530ed965d4fabc55db35f2e37 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Wed Jul 9 07:46:16 2014 +0000 i40e: Some FD message fixes Change the message that gets printed when adding/deleting a filter to the SB, so that user can tell if a filter was added or deleted. Print filter add failures only in case of SB filters. For ATR the information is not useful to the user and hence suppress it unless in higher debug mode. Change-ID: I78d7a7a6ecfa82a38a582b0d7b4da038355e3735 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e99bdd39a518cccb58c0b2df9566f839870799c5 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Wed Jul 9 07:46:12 2014 +0000 i40e: Update flow director error messages to reduce user confusion This patch changes the wording of the flow director add/remove and asynchronous failure messages to include fd_id to try and add some way to track the operations on a given fd_id. Its not perfect, but its better than what we had as PCTYPE can apply to several different filter requests. This patch also removes a redundant message when filter addition fails due to full condition. Change-ID: Icf58b0603d4f162d9fc542f11a74866a907049f2 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 890b13a308b9df78ad05fc57eb440b32399be35e Author: Konstantinos Tsimpoukas <kostaslinuxxx@xxxxxxxxx> Date: Tue Aug 26 23:21:48 2014 -0500 ALSA: ice1712: Replacing hex with #defines Adds to the readability of the ice1712 driver. Signed-off-by: Konstantinos Tsimpoukas <kostaslinuxxx@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8de078f189da45453d2ed2a04288e329cc169731 Author: Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx> Date: Fri Jul 25 16:40:47 2014 +0200 clk: shmobile: Add r8a7794 support Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx> Acked-by: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6ba694560caeb3531dbedd5b3a37af037ef2a833 Author: Dan Murphy <dmurphy@xxxxxx> Date: Tue Aug 26 15:38:31 2014 -0700 Input: drv260x - fix binding document Update the drv260x dt binding document: - Change the node name to the devices function not the device name. - Add vbat-supply to the example. - Fix indentation of the example. Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit dddf3bc454fe9b558c13ffd7896e8bea5d39ec29 Author: Dan Murphy <dmurphy@xxxxxx> Date: Tue Aug 26 15:36:55 2014 -0700 Input: drv260x - add check for ERM mode and LRA Libraries Add a check to ensure that LRA libraries are not mixed with the ERM mode. If ERM mode and the Library is empty "OR" the LRA library then exit, as the LRA and empty libraries are not applicable for the ERM actuator. Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6aa9751679b04b351bf4b2e2678bc11ea7d0fea4 Author: Dan Murphy <dmurphy@xxxxxx> Date: Tue Aug 26 15:36:23 2014 -0700 Input: drv260x - remove unused defines Removing some #defines that are not and should never be used pertaining to I2C. Removing: define DRV260X_ALLOWED_R_BYTES 25 define DRV260X_ALLOWED_W_BYTES 2 define DRV260X_MAX_RW_RETRIES 5 define DRV260X_I2C_RETRY_DELAY 10 Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 38a0731165250a0a77eff7b90ea3156d44cc7d66 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 16:51:56 2014 -0300 [media] omap: be sure that MMU is there for COMPILE_TEST COMPILE_TEST fail on (some) archs without MMU. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 12bd88e62cf7c1557c7cd78f42a76d7c716b2283 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 16:45:39 2014 -0300 [media] be sure that HAS_DMA is enabled for vb2-dma-contig vb2-dma-contig depends on HAS_DMA, but the Kbuild doesn't take it into account at select. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7155043c2d027c9c848c3d09badb5af2894ed652 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Aug 20 13:21:35 2014 -0600 [media] enable COMPILE_TEST for media drivers There are several arch-specific media drivers that don't require asm-specific includes and can be successfully compiled on x86. Add COMPILE_TEST dependency for them, in order to allow a broader test on those drivers. That helps static analysis tools like Coverity to discover eventual troubles there. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1dbfacf2dd30100ea38181f9cc25feaaa9204630 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Aug 20 13:56:21 2014 -0600 [media] enable COMPILE_TEST for OMAP2 vout We don't need anything special to enable COMPILE_TEST for this driver. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f2080e38813a3b04d4a6fde5a2697f47cfec4ee5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Aug 20 13:50:03 2014 -0600 [media] allow COMPILE_TEST for SAMSUNG_EXYNOS4_IS That helps some static checks, so enable it. While there, it was noticed that linux/sizes.h was missing: drivers/media/platform/exynos4-is/mipi-csis.c: In function â??s5pcsis_s_rx_bufferâ??: drivers/media/platform/exynos4-is/mipi-csis.c:114:31: error: â??SZ_4Kâ?? undeclared (first use in this function) #define S5PCSIS_PKTDATA_SIZE SZ_4K ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f3334180d4790856bae42fb2e7a3137f9a36aa18 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Aug 20 13:41:56 2014 -0600 [media] enable COMPILE_TEST for ti-vbe Allowing COMPILE_TEST here is trivial, but there's one missing header to be added: drivers/media/platform/ti-vpe/vpe.c: In function â??vpe_probeâ??: drivers/media/platform/ti-vpe/vpe.c:2266:56: error: â??SZ_32Kâ?? undeclared (first use in this function) dev->base = devm_ioremap(&pdev->dev, dev->res->start, SZ_32K); ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1c17d8c748b251071c61a4383490881a4071b003 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Aug 20 13:35:22 2014 -0600 [media] enable COMPILE_TEST for MX2 eMMa-PrP driver By allowing compilation on all archs, we can use static analysis tools to test this driver. In order to do that, replace asm/sizes.h by its generic name (linux/sizes.h), with should keep doing the right thing. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 821ee47e0ef589c75c0c10411463c8cd795afafb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 15:04:34 2014 -0300 Revert "[media] staging: omap4iss: copy paste error in iss_get_clocks" This patch readded a call to iss_put_clocks(), with was removed by changeset 1153be56a105, causing a compilation breakage. This reverts commit d4b32646468088323f27a7788ce3b07191015142. commit c438269948c420518101a836b526f71d389f80dd Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:23:58 2014 -0300 [media] s5p-jpeg: Get rid of a warning drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.c: In function 's5p_jpeg_clear_int': drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.c:327:16: warning: variable 'reg' set but not used [-Wunused-but-set-variable] unsigned long reg; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b91677ad098b7452b03b7a21d195269520f3522d Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:21:43 2014 -0300 [media] atmel-isi: get rid of a warning drivers/media/platform/soc_camera/atmel-isi.c: In function 'start_streaming': drivers/media/platform/soc_camera/atmel-isi.c:387:6: warning: variable 'sr' set but not used [-Wunused-but-set-variable] u32 sr = 0; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 615f1bcb34317afc615043dd61ba54198f075629 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:20:42 2014 -0300 [media] mx2_camera: get rid of a warning drivers/media/platform/soc_camera/mx2_camera.c: In function 'mx27_camera_emma_prp_reset': drivers/media/platform/soc_camera/mx2_camera.c:812:6: warning: variable 'cntl' set but not used [-Wunused-but-set-variable] u32 cntl; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit cdf58a6f87a6c941527699c00443d186154f475c Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:19:18 2014 -0300 [media] exynos4-is/media-dev: get rid of a warning for a dead code drivers/media/platform/exynos4-is/media-dev.c: In function 'fimc_md_link_notify': drivers/media/platform/exynos4-is/media-dev.c:1102:4: warning: suggest braces around empty body in an 'else' statement [-Wempty-body] ; /* TODO: Link state change validation */ ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 84ddba456e65a26d86c103aa0a4259197aac63fa Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:17:16 2014 -0300 [media] mipi-csis: get rid of a warning drivers/media/platform/exynos4-is/mipi-csis.c: In function 's5pcsis_parse_dt': drivers/media/platform/exynos4-is/mipi-csis.c:756:2: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (state->index < 0 || state->index >= CSIS_MAX_ENTITIES) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8492ec69801ea039546fd27e84fa84f7a0612474 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:13:47 2014 -0300 [media] s5p_mfc: get rid of several warnings drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:826:5: warning: no previous prototype for 'vidioc_decoder_cmd' [-Wmissing-prototypes] int vidioc_decoder_cmd(struct file *file, void *priv, ^ drivers/media/platform/s5p-mfc/s5p_mfc.c: In function 's5p_mfc_runtime_resume': drivers/media/platform/s5p-mfc/s5p_mfc.c:1314:6: warning: variable 'pre_power' set but not used [-Wunused-but-set-variable] int pre_power; ^ drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v5.c:163:25: warning: no previous prototype for 's5p_mfc_init_hw_cmds_v5' [-Wmissing-prototypes] struct s5p_mfc_hw_cmds *s5p_mfc_init_hw_cmds_v5(void) ^ drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v6.c:156:25: warning: no previous prototype for 's5p_mfc_init_hw_cmds_v6' [-Wmissing-prototypes] struct s5p_mfc_hw_cmds *s5p_mfc_init_hw_cmds_v6(void) ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c: In function 's5p_mfc_run_dec_frame': drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:1189:15: warning: variable 'index' set but not used [-Wunused-but-set-variable] unsigned int index; ^ drivers/media/platform/s5p-mfc/s5p_mfc_enc.c: In function 'cleanup_ref_queue': drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:742:27: warning: variable 'mb_c_addr' set but not used [-Wunused-but-set-variable] unsigned long mb_y_addr, mb_c_addr; ^ drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:742:16: warning: variable 'mb_y_addr' set but not used [-Wunused-but-set-variable] unsigned long mb_y_addr, mb_c_addr; ^ drivers/media/platform/s5p-mfc/s5p_mfc_enc.c: At top level: drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1684:5: warning: no previous prototype for 'vidioc_encoder_cmd' [-Wmissing-prototypes] int vidioc_encoder_cmd(struct file *file, void *priv, ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b171e3d8514e80c8e01e59565010b1d7879ac019 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 10:58:23 2014 -0300 [media] s5p_mfc_ctrl: add missing s5p_mfc_ctrl.h header That gets rid of the following warnings: drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:119:5: warning: no previous prototype for 's5p_mfc_release_firmware' [-Wmissing-prototypes] int s5p_mfc_release_firmware(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:132:5: warning: no previous prototype for 's5p_mfc_reset' [-Wmissing-prototypes] int s5p_mfc_reset(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:214:5: warning: no previous prototype for 's5p_mfc_init_hw' [-Wmissing-prototypes] int s5p_mfc_init_hw(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:291:6: warning: no previous prototype for 's5p_mfc_deinit_hw' [-Wmissing-prototypes] void s5p_mfc_deinit_hw(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:301:5: warning: no previous prototype for 's5p_mfc_sleep' [-Wmissing-prototypes] int s5p_mfc_sleep(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:330:5: warning: no previous prototype for 's5p_mfc_wakeup' [-Wmissing-prototypes] int s5p_mfc_wakeup(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:378:5: warning: no previous prototype for 's5p_mfc_open_mfc_inst' [-Wmissing-prototypes] int s5p_mfc_open_mfc_inst(struct s5p_mfc_dev *dev, struct s5p_mfc_ctx *ctx) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:420:6: warning: no previous prototype for 's5p_mfc_close_mfc_inst' [-Wmissing-prototypes] void s5p_mfc_close_mfc_inst(struct s5p_mfc_dev *dev, struct s5p_mfc_ctx *ctx) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2ff1d4c13b2881e9276a00bd3032d9afe7d15ef1 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 10:56:24 2014 -0300 [media] fimc-is-param: get rid of warnings In file included from drivers/media/platform/exynos4-is/fimc-is-param.c:31:0: drivers/media/platform/exynos4-is/fimc-is-errno.h:245:20: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const char * const fimc_is_strerr(unsigned int error); ^ drivers/media/platform/exynos4-is/fimc-is-errno.h:246:20: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const char * const fimc_is_param_strerr(unsigned int error); ^ drivers/media/platform/exynos4-is/fimc-is-param.c: In function 'fimc_is_set_initial_params': drivers/media/platform/exynos4-is/fimc-is-param.c:670:23: warning: variable 'sensor' set but not used [-Wunused-but-set-variable] struct sensor_param *sensor; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit dc916aa78aec95ce93d9e9e323ba3a5a88b1d516 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 10:52:56 2014 -0300 [media] g2d: remove unused var drivers/media/platform/s5p-g2d/g2d.c: In function 'job_abort': drivers/media/platform/s5p-g2d/g2d.c:493:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ The job_abort function returns void. No sense to get the returned argument, if this won't be used. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit af425be8b51b02c9bb7bc2fdeb7b4c9ccb25fc5a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 10:50:23 2014 -0300 [media] s5p-jpeg: get rid of some warnings Declare this as static: drivers/media/platform/s5p-jpeg/jpeg-core.c:732:6: warning: no previous prototype for 'exynos4_jpeg_set_huff_tbl' [-Wmissing-prototypes] void exynos4_jpeg_set_huff_tbl(void __iomem *base) ^ And don't compile this dead code, while not needed: drivers/media/platform/s5p-jpeg/jpeg-hw-exynos3250.c:236:14: warning: no previous prototype for 'exynos3250_jpeg_get_y' [-Wmissing-prototypes] unsigned int exynos3250_jpeg_get_y(void __iomem *regs) ^ drivers/media/platform/s5p-jpeg/jpeg-hw-exynos3250.c:241:14: warning: no previous prototype for 'exynos3250_jpeg_get_x' [-Wmissing-prototypes] unsigned int exynos3250_jpeg_get_x(void __iomem *regs) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 52334bb3df155e764dd1a9b084115a5a0fa485b6 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 10:46:49 2014 -0300 [media] omap_vout: Get rid of a few warnings drivers/media/platform/omap/omap_vout.c: In function 'omapvid_setup_overlay': drivers/media/platform/omap/omap_vout.c:372:29: warning: variable 'pixheight' set but not used [-Wunused-but-set-variable] int cropheight, cropwidth, pixheight, pixwidth; ^ drivers/media/platform/omap/omap_vout.c: In function 'vidioc_s_ctrl': drivers/media/platform/omap/omap_vout.c:1454:24: warning: variable 'ovl' set but not used [-Wunused-but-set-variable] struct omap_overlay *ovl; ^ drivers/media/platform/omap/omap_vout.c: In function 'vidioc_reqbufs': drivers/media/platform/omap/omap_vout.c:1492:55: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if ((req->type != V4L2_BUF_TYPE_VIDEO_OUTPUT) || (req->count < 0)) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 92e3919a49c0ed683ebab8a992eaac331afce8b7 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 11:11:06 2014 -0500 [media] omap: fix compilation if !VIDEO_OMAP2_VOUT_VRFB When CONFIG_VIDEO_OMAP2_VOUT_VRFB is disabled, the compilation will fail, as the function stubs are wrong. Also, as they weren't declared as static inline, lots of warnings will be generated. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 286da9902240ea8476af6afc02bc29e82508f63f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 10:57:21 2014 -0500 [media] gsc: Use %pad for dma_addr_t drivers/media/platform/exynos-gsc/gsc-core.c:855:2: note: in expansion of macro 'pr_debug' pr_debug("ADDR: y= 0x%X cb= 0x%X cr= 0x%X ret= %d", ^ include/linux/dynamic_debug.h:64:16: warning: format '%X' expects argument of type 'unsigned int', but argument 4 has type 'dma _addr_t' [-Wformat=] static struct _ddebug __aligned(8) \ ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c623ed63167adcbc16edac22260e1bff150e60df Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 10:30:17 2014 -0500 [media] dvb_frontend: estimate bandwidth also for DVB-S/S2/Turbo The needed bandwidth can be estimated using the symbol rate and the rolloff factor. This could be useful for the frontend drivers, as they don't need to calculate it themselves. Reported-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8dece35daf098e5d086b50724119ffbb24ceca7f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 07:00:42 2014 -0500 [media] dm644x_ccdc: use unsigned long for fpc_table_addr The fpc_table_addr is used as an unsigned integer that stores an address. At the Kernel, the proper type for such integers is unsigned long. This generates lots of warnings when compiling on 64 bits. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 212bdba38724f185344d8ea93f8db0eda1efc348 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 06:38:14 2014 -0500 [media] vpif: don't cast pointers to int Shut up several warnings about invalid casting when printing the values of two pointers. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 139adba64cdde218e6a679f1d5b675fee937a8d8 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 06:07:57 2014 -0500 [media] s5p_mfc: don't use an external symbol called 'debug' The 'debug' name is known to cause conflicts with allyesconfig on several archs. So, localize its name. >> drivers/built-in.o:(.bss+0xc7ee2c): multiple definition of `debug' arch/x86/built-in.o:(.entry.text+0xf78): first defined here ld: Warning: size of symbol `debug' changed from 86 in arch/x86/built-in.o to 4 in drivers/built-in.o While here, fix a wrong file name reference Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9842a417d46bf40f2d460120016b6392d3ac32c9 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 05:53:27 2014 -0500 [media] atmel-isi: Fix a truncate warning drivers/media/platform/soc_camera/atmel-isi.c: In function 'start_streaming': drivers/media/platform/soc_camera/atmel-isi.c:397:26: warning: large integer implicitly truncated to unsigned type [-Woverflow] isi_writel(isi, ISI_INTDIS, ~0UL); ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8f05232f59ce53f421faf35122bc0e2dd141ea00 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 05:52:54 2014 -0500 [media] atmel-isi: tag dma_addr_t as such Instead of using u32 for DMA address, use the proper Kernel type for it. drivers/media/platform/soc_camera/atmel-isi.c: In function 'atmel_isi_probe': >> drivers/media/platform/soc_camera/atmel-isi.c:981:26: warning: passing argument 3 of 'dma_alloc_attrs' from incompatible pointer type isi->p_fb_descriptors = dma_alloc_coherent(&pdev->dev, ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 14bb9b0485caa2577925393efc04fab957a38b40 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 05:45:02 2014 -0500 [media] ti-vpe: shut up a casting warning message drivers/media/platform/ti-vpe/vpdma.c: In function 'vpdma_alloc_desc_buf': >> drivers/media/platform/ti-vpe/vpdma.c:332:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] WARN_ON((u32) buf->addr & VPDMA_DESC_ALIGN); ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 78e100cb237389b816ef59ac40f17d2b9b88a930 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 05:41:56 2014 -0500 [media] ti-vpe: use %pad for dma address drivers/media/platform/ti-vpe/vpdma.c: In function 'dump_dtd': include/linux/dynamic_debug.h:64:16: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'dma_addr_t' [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro 'DEFINE_DYNAMIC_DEBUG_METADATA' DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:263:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ >> drivers/media/platform/ti-vpe/vpdma.c:587:2: note: in expansion of macro 'pr_debug' pr_debug("word2: start_addr = 0x%08x\n", dtd->start_addr); ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a6a632286865333651fcff3932fea2f945a4d501 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 16:05:39 2014 -0500 [media] gsc-m2m: Remove an unused var. drivers/media/platform/exynos-gsc/gsc-m2m.c: In function 'gsc_m2m_reqbufs': drivers/media/platform/exynos-gsc/gsc-m2m.c:365:20: warning: variable 'frame' s et but not used [-Wunused-but-set-variable] struct gsc_frame *frame; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit cff562137226d0f431e85733795edd271e946087 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:56:16 2014 -0500 [media] gsc-core: Remove useless test drivers/media/platform/exynos-gsc/gsc-core.c: In function 'gsc_probe': drivers/media/platform/exynos-gsc/gsc-core.c:1089:2: warning: comparison is alw ays false due to limited range of data type [-Wtype-limits] if (gsc->id < 0 || gsc->id >= drv_data->num_entities) { ^ gsc->id is declared as u16, so it should always be a positive value. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0448056c7e97f3d8aef6777ffc8ed18569f973e3 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:53:23 2014 -0500 [media] dm355_ccdc: declare a function as static drivers/media/platform/davinci/dm355_ccdc.c:463:5: warning: no previous prototy pe for 'ccdc_write_dfc_entry' [-Wmissing-prototypes] int ccdc_write_dfc_entry(int index, struct ccdc_vertical_dft *dfc) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f17513c9bf5650738d80cd82f716901b3562bf27 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:51:38 2014 -0500 [media] dm644x_ccdc: declare some functions as static drivers/media/platform/davinci/dm644x_ccdc.c:133:6: warning: no previous protot ype for 'ccdc_setwin' [-Wmissing-prototypes] void ccdc_setwin(struct v4l2_rect *image_win, ^ drivers/media/platform/davinci/dm644x_ccdc.c:373:6: warning: no previous protot ype for 'ccdc_config_ycbcr' [-Wmissing-prototypes] void ccdc_config_ycbcr(void) ^ drivers/media/platform/davinci/dm644x_ccdc.c:526:6: warning: no previous protot ype for 'ccdc_config_raw' [-Wmissing-prototypes] void ccdc_config_raw(void) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 24ab6338f3fc0f3fe9c541f5e7b29ae026dea0c2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:49:06 2014 -0500 [media] vpif_capture: get rid of some unused vars drivers/media/platform/davinci/vpif_capture.c: In function 'vpif_channel_isr': drivers/media/platform/davinci/vpif_capture.c:376:18: warning: variable 'field' set but not used [-Wunused-but-set-variable] enum v4l2_field field; ^ drivers/media/platform/davinci/vpif_capture.c: In function 'vpif_calculate_offs ets': drivers/media/platform/davinci/vpif_capture.c:536:23: warning: variable 'vpitch ' set but not used [-Wunused-but-set-variable] unsigned int hpitch, vpitch, sizeimage; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a4f20e2fbc8e84a3aace35af353ca662b455fae1 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:46:46 2014 -0500 [media] vpif_display: get rid of some unused vars drivers/media/platform/davinci/vpif_display.c: In function 'vpif_channel_isr': drivers/media/platform/davinci/vpif_display.c:363:18: warning: variable 'field' set but not used [-Wunused-but-set-variable] enum v4l2_field field; ^ drivers/media/platform/davinci/vpif_display.c: In function 'vpif_calculate_offs ets': drivers/media/platform/davinci/vpif_display.c:505:23: warning: variable 'vpitch ' set but not used [-Wunused-but-set-variable] unsigned int hpitch, vpitch, sizeimage; ^ drivers/media/platform/davinci/vpif_display.c: In function 'vpif_set_output': drivers/media/platform/davinci/vpif_display.c:816:27: warning: variable 'subdev _info' set but not used [-Wunused-but-set-variable] struct vpif_subdev_info *subdev_info = NULL; Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit eb571eeade2598635f813b3284d02c13a380301e Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Wed Jul 2 15:35:16 2014 -0400 block,scsi: verify return pointer from blk_get_request The blk-core dead queue checks introduce an error scenario to blk_get_request that returns NULL if the request queue has been shutdown. This affects the behavior for __GFP_WAIT callers, who should verify the return value before dereferencing. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> [for pktdvd] Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 81816affeacfa360bfefabba774774e95f3dcc12 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Wed Aug 20 10:32:00 2014 +0100 iio: remove .owner field for driver using module_platform_driver This patch removes the .owner field for drivers which use the platform_driver_register api because this is overriden in _platform_driver_register. Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b4b491c0832ef90a7a5070e5975bc8427f2049ca Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Fri Aug 22 20:01:00 2014 +0100 iio: accel: kxcjk-1013: Support thresholds This chip has a motion detect capability. Using IIO events to specify thresholds and pushing events. In addition a new trigger of type any-motion is added, which pushes data to buffer only when there is any movement. Change list: Comments addressed for Re: [PATCH 5/6] iio: accel: kxcjk-1013: Support thresholds Date: 07/20/2014 - Both motion detect and data ready can be enabled together - Sending RISING/FALLING events based on int status - Separate interrupt configuration for data ready and motion detect Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b5faca4b59ab604cd3ff367683a96c330b78d25f Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Fri Aug 22 08:35:00 2014 +0100 io: accel: kxcjk1013: Remove redundant assignment data->range is already set by kxcjk1013_set_range. Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f111f780ae1abf4cdc464f24293be90c010a04f6 Author: Alexey Perevalov <a.perevalov@xxxxxxxxxxx> Date: Wed Aug 20 22:03:18 2014 +0400 netfilter: nfnetlink_acct: add filter support to nfacct counter list/reset You can use this to skip accounting objects when listing/resetting via NFNL_MSG_ACCT_GET/NFNL_MSG_ACCT_GET_CTRZERO messages with the NLM_F_DUMP netlink flag. The filtering covers the following cases: 1. No filter specified. In this case, the client will get old behaviour, 2. List/reset counter object only: In this case, you have to use NFACCT_F_QUOTA as mask and value 0. 3. List/reset quota objects only: You have to use NFACCT_F_QUOTA_PKTS as mask and value - the same, for byte based quota mask should be NFACCT_F_QUOTA_BYTES and value - the same. If you want to obtain the object with any quota type (ie. NFACCT_F_QUOTA_PKTS|NFACCT_F_QUOTA_BYTES), you need to perform two dump requests, one to obtain NFACCT_F_QUOTA_PKTS objects and another for NFACCT_F_QUOTA_BYTES. Signed-off-by: Alexey Perevalov <a.perevalov@xxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 42594970022d223bf8f30d3aa22819e24779d6f6 Merge: 52addcf 2a16fc9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Aug 26 21:32:41 2014 +0200 Merge branch 'nohz/drop-double-write-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/core Pull nohz fixes from Frederic Weisbecker: " The tick reschedules itself unconditionally. It's relevant in periodic mode but not in dynticks mode where it results in spurious double clock writes and even spurious periodic behaviour for low-res case. This set fixes that: * 1st patch removes low-res periodic tick rescheduling in nohz mode. This fixes spurious periodic behaviour. * 2nd patch does the same for high-res mode. Here there is no such spurious periodic behaviour but it still spares a double clock write in some cases. " Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e4a73e9c6198b0751460edcabf2415ce79518c5c Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:32:20 2014 -0700 drivers/staging/unisys: fix build drivers/staging/unisys/visorchipset/file.c:31: error: redefinition of typedef 'GUEST_PHYSICAL_ADDRESS' drivers/staging/unisys/common-spar/include/channels/controlvmchannel.h:23: note: previous declaration of 'GUEST_PHYSICAL_ADDRESS' was here Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 912f102890c1d45b4357ec3ade8f982443431749 Author: Honggang Li <enjoymindful@xxxxxxxxx> Date: Tue Aug 19 19:29:43 2014 +0800 staging: unisys/virthba/virthba.c print u64 with %llu drivers/staging/unisys/virthba/virthba.c:520:2: warning: format â??%uâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??u64â?? [-Wformat=] drivers/staging/unisys/virthba/virthba.c:749:2: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??u64â?? [-Wformat=] drivers/staging/unisys/virthba/virthba.c:1142:4: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 7 has type â??u64â?? [-Wformat=] drivers/staging/unisys/virthba/virthba.c:1151:5: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??u64â?? [-Wformat=] After apply the patch: linux-next]$ make C=1 drivers/staging/unisys/virthba/virthba.o CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CHECK drivers/staging/unisys/virthba/virthba.c CC [M] drivers/staging/unisys/virthba/virthba.o Signed-off-by: Honggang Li <enjoymindful@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e22a4a0f67030da9e5c7688237ca976e7211abfb Author: Benjamin Romer <bromer@xxxxxxxxxxx> Date: Mon Aug 18 09:34:54 2014 -0400 staging: unisys: remove generally useless elses from visorchipset_main.c There are several else clauses that aren't necessary listed by checkpatch.pl in visorchipset_main.c. Remove these. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26eb2c0c57715bdc42b80039202338a47ec5c1cd Author: Benjamin Romer <bromer@xxxxxxxxxxx> Date: Mon Aug 18 09:34:53 2014 -0400 staging: unisys: fix spacing in visorchipset_main.c Fix the missing blank lines between declarations and code in visorchipset_main.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a8cca9f6c2558b7eb249fa86b7c42eb790a09df Author: Benjamin Romer <bromer@xxxxxxxxxxx> Date: Mon Aug 18 09:34:52 2014 -0400 staging: unisys: fix spacing in parser.c Fix the two spacing errors in parser.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a72afb9cd7897c4383a4d998662b1e19e6cffc7 Author: Benjamin Romer <bromer@xxxxxxxxxxx> Date: Mon Aug 18 09:34:51 2014 -0400 staging: unisys: fix spacing in file.c There's a missing blank line between code and declarations in file.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b10231344f64352bcfc1112b4d33c53e0a63fbcc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 26 08:14:03 2014 +0200 ARM: tegra: Add device tree nodes for flow controller These nodes are required so that the flow controller driver can obtain the I/O memory region from device tree rather than hard-coding it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 47405a253da4d8ca4b18ad537423083fdd790440 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:56 2014 -0500 percpu: Remove __this_cpu_ptr The __this_cpu_ptr macro is no longer in use so drop it. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 77422a8fee1b96d2420a8a254f784bab8644ac41 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:55 2014 -0500 clocksource: Replace __this_cpu_ptr with raw_cpu_ptr One newly introduced __this_cpu_ptr should be raw_cpu_ptr. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 494fc42170bf0747ac28e12ef13a7d388d5ff2c7 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:54 2014 -0500 sparc: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) Cc: sparclinux@xxxxxxxxxxxxxxx Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 8c23af6122e56ad30e3de259731c31a998ff5b11 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:53 2014 -0500 avr32: Replace __get_cpu_var with __this_cpu_write Replace the single use of __get_cpu_var in avr32 with __this_cpu_write. Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 7e788ab11d73fbb617973c12a9b3f84f93721e67 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:52 2014 -0500 blackfin: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) CC: Mike Frysinger <vapier@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 81829a96869c8bad74a582705617e75758c4152d Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:51 2014 -0500 tile: Use this_cpu_ptr() for hardware counters Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b4f501916ce2ae80c28017814d71d1bf83679271 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:50 2014 -0500 tile: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) Acked-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 5828f666c069af74e00db21559f1535103c9f79a Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:49 2014 -0500 powerpc: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) tj: Folded a fix patch. http://lkml.kernel.org/g/alpine.DEB.2.11.1408172143020.9652@xxxxxxxxxx Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> CC: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 2999a4b354c24985268f9310bc9522ff358453a8 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:48 2014 -0500 alpha: Replace __get_cpu_var __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) CC: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6065a244a039a23d933e4b803a4e052da2849208 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:47 2014 -0500 ia64: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: linux-ia64@xxxxxxxxxxxxxxx Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 0bf7fcf155160fd483af7ffdc50efd4be96f1c96 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:46 2014 -0500 s390: cio driver &__get_cpu_var replacements Use this_cpu_ptr() instead of &__get_cpu_var() Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit eb7e7d766326f70859046bfdb6277068c2461fe2 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:45 2014 -0500 s390: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to this_cpu_inc(y) Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> CC: linux390@xxxxxxxxxx Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 35898716b4d3382791d219be317faace580b6a41 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:44 2014 -0500 mips: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d1cd39ad583e36f3a945ba043a0a2bfae83fe859 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:43 2014 -0500 MIPS: Replace __get_cpu_var uses in FPU emulator. The use of __this_cpu_inc() requires a fundamental integer type, so change the type of all the counters to unsigned long, which is the same width they were before, but not wrapped in local_t. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 06b96c8beb940619ddc818e2e00915fbc524f807 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:42 2014 -0500 arm: Replace __this_cpu_ptr with raw_cpu_ptr __this_cpu_ptr is being phased out. So replace with raw_cpu_ptr. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit e16321709c8270f9803bbfdb51e5e02235078c7f Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:41 2014 -0500 uv: Replace __get_cpu_var Use __this_cpu_read instead. Cc: Hedi Berriche <hedi@xxxxxxx> Cc: Mike Travis <travis@xxxxxxx> Cc: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 89cbc76768c2fa4ed95545bf961f3a14ddfeed21 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:40 2014 -0500 x86: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: x86@xxxxxxxxxx Acked-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 532d0d0690d1532dcc5a190162ad820b636bcd4d Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:39 2014 -0500 irqchips: Replace __this_cpu_ptr uses [ARM specific] These are generally replaced with raw_cpu_ptr. However, in gic_get_percpu_base() we immediately dereference the pointer. This is equivalent to a raw_cpu_read. So use that operation there. Cc: nicolas.pitre@xxxxxxxxxx Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit eee8492db674a5c89daa83158d8bf2839efc8850 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:38 2014 -0500 drivers/net/ethernet/tile: __get_cpu_var call introduced in 3.14 Another case was merged for 3.14-rc1 Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit bd83e65bfaedafef1ba21ce19c1ea7913da01bec Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:37 2014 -0500 metag: Replace __get_cpu_var uses for address calculation Replace __get_cpu_var uses for address calculation with this_cpu_ptr(). Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 1f125e76f5c134b0a904ef30e96ee8da6a49f4b4 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:36 2014 -0500 md: Replace __this_cpu_ptr with raw_cpu_ptr __this_cpu_ptr is being phased out. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 903ceff7ca7b4d80c083a80ee5163b74e9fa359f Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:35 2014 -0500 net: Replace get_cpu_var through this_cpu_ptr Replace uses of get_cpu_var for address calculation through this_cpu_ptr. Cc: netdev@xxxxxxxxxxxxxxx Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f7f66b05aa2ac2632c5441a3f129f3be827fe7e7 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:34 2014 -0500 watchdog: Replace __raw_get_cpu_var uses Most of these are the uses of &__raw_get_cpu_var for address calculation. touch_softlockup_watchdog_sync() uses __raw_get_cpu_var to write to per cpu variables. Use __this_cpu_write instead. Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: linux-watchdog@xxxxxxxxxxxxxxx Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 70b2776a5cb16c39ff5451c4eee72691734eabfc Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:33 2014 -0500 drivers/net/ethernet/tile: Replace __get_cpu_var uses for address calculation Replace with this_cpu_ptr. Acked-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 27d051677977da11dc50caeb210204b587c94eb5 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:32 2014 -0500 drivers/clocksource: Replace __get_cpu_var used for address calculation Replace __get_cpu_var used for address calculation with this_cpu_ptr. Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 879d92745a1a5a6573dee83cfa2953413fed23fc Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:31 2014 -0500 drivers/oprofile: Replace __get_cpu_var uses for address calculation Replace the uses of __get_cpu_var for address calculation with this_cpu_ptr. Cc: Robert Richter <rric@xxxxxxxxxx> Cc: oprofile-list@xxxxxxxxxxxx Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 229b6863b2cf9514f08e468fea586bc195ebcf50 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:30 2014 -0500 drivers/cpuidle: Replace __get_cpu_var uses for address calculation All of these are for address calculation. Replace with this_cpu_ptr(). Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Acked-by: Rafael J. Wysocki <rjw@xxxxxxx> [cpufreq changes] Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 1b2a1a7e8ad1144dc3f676f2651cb84e01548d59 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:29 2014 -0500 drivers/char/random: Replace __get_cpu_var uses A single case of using __get_cpu_var for address calculation. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a0b6bc63a20a91faef0127cc61cca6d06ee737df Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:28 2014 -0500 block: Replace __this_cpu_ptr with raw_cpu_ptr __this_cpu_ptr is being phased out use raw_cpu_ptr instead which was introduced in 3.15-rc1. Cc: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 4a32fea9d78f2d2315c0072757b197d5a304dc8b Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:27 2014 -0500 scheduler: Replace __get_cpu_var with this_cpu_ptr Convert all uses of __get_cpu_var for address calculation to use this_cpu_ptr instead. [Uses of __get_cpu_var with cpumask_var_t are no longer handled by this patch] Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit dc5df73b3afffc8d042dadffc1c959008b2c1163 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:26 2014 -0500 time: Convert a bunch of &__get_cpu_var introduced in the 3.16 merge period Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 22127e93c587afa01e4f7225d2d1cf1d26ae7dfe Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:25 2014 -0500 time: Replace __get_cpu_var uses Convert uses of __get_cpu_var for creating a address from a percpu offset to this_cpu_ptr. The two cases where get_cpu_var is used to actually access a percpu variable are changed to use this_cpu_read/raw_cpu_read. Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit bb964a92ce70ac2039115edd019aa5eef8faa6bb Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:24 2014 -0500 kernel misc: Replace __get_cpu_var uses Replace uses of __get_cpu_var for address calculation with this_cpu_ptr. Cc: akpm@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 783944feaab8383495ba067276a16e28c205fb13 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 26 08:14:04 2014 +0200 ARM: tegra: Initialize flow controller from DT Use a matching device tree node to initialize the flow controller driver instead of hard-coding the I/O address. This is necessary to get rid of the iomap.h include, which in turn make it easier to share this code with 64-bit Tegra SoCs. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit ca45d02db82867cf703af5253474689a37f36ca0 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:57:00 2014 +0100 iio:gyro:bmg160 documentation Added any-motion trigger documentation. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9fc3bf5dc2cf3c8703601ad9a612b2f9eefb8a22 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 26 08:14:02 2014 +0200 of: Add NVIDIA Tegra flow controller bindings Add device tree bindings for the flow controller found on NVIDIA Tegra SoCs. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:57:00 2014 +0100 iio:gyro:bmg160 Gyro Sensor driver This change implements support for BMG160 Gyro sensor. Although chip has several advanced features, this change implements minimum set required for using gyro sensor. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b0da12d59d9432aed9f2ae04d6baa8a0e9bc384c Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Fri Aug 22 15:07:13 2014 -0600 ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables This pinmux tables currently omit any configuration for PCIe clk_req, wake, and rst pins, which in turn causes intermittent failures in U-Boot's PCIe support. Import an updated version of the pinmux tables which rectifies this. (While I'm still hoping to remove the pinmux tables from DTs for Tegra124+ devices, while they're still here, they may as well be complete and correct). Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 1b3ce99f930f991cb2e2b848f35321e23b6020a6 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Wed Jul 16 11:54:18 2014 +0300 ARM: tegra: Add SATA and SATA power to Jetson TK1 device tree This enables the integrated SATA controller on the Tegra124 system-on-chip on the Jetson TK1 board and adds regulators for the onboard Molex connector commonly used to power SATA devices. The regulators are marked always-on since they can be used for other purposes than powering SATA devices. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> [swarren, fixed node sort order] Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit fdd690969b8b05b0636ac46a66a885c5b1ccd651 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Wed Jul 16 11:54:17 2014 +0300 ARM: tegra: Add SATA controller to Tegra124 device tree This adds the integrated AHCI-compliant Serial ATA controller present in Tegra124 systems-on-chip to the Tegra124 device tree. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> [swarren, fixed node sort order] Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 91816a7fe5a671b826d5288ed7b42e92117a8fe8 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Wed Jul 16 11:54:23 2014 +0300 ARM: tegra: Add options for Tegra AHCI support to tegra_defconfig This adds ATA, SATA_AHCI and AHCI_TEGRA support to tegra_defconfig so that the SATA support will be automatically enabled. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 1bbb119db00dc1aff188df0f5705a759ede39b37 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 25 12:13:14 2014 +0200 ath10k: fix fw crash dumping Recent crash dump patches introduced a regression. If debugfs was disabled upon crash user could only see the following: [ 793.880000] ath10k: firmware crashed! (uuid n/a) [ 793.890000] ath10k: qca988x hw2.0 (0x4100016c, 0x043202ff) fw 10.1.467.2-1 api 2 htt 2.1 [ 793.890000] ath10k: debug 0 debugfs 0 tracing 0 dfs 1 The report was missing register dump. Fix it by printing registers regardless if crash_data is present or not. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7aa7a72a23679abf1cea9b3b65a8921244e769a7 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 25 12:09:38 2014 +0200 ath10k: improve logging to include dev id This makes it a lot easier to log and debug messages if there's more than 1 ath10k device on a system. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2d0871396995139b37f9ceb153c8b07589148343 Author: Michal Marek <mmarek@xxxxxxx> Date: Fri Aug 22 15:51:03 2014 +0200 builddeb: put the dbg files into the correct directory Since the conversion of objtree to use relative pathnames (commit 7e1c04779e, "kbuild: Use relative path for $(objtree)"), the debug info files have been ending up in /debian/dbgtmp/ in the regular linux-image package instead of the debug files package. Fix up the paths so that the debug files end up in the -dbg package. This is based on a similar patch by Darrick. Reported-and-tested-by: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 62afa853cb91288e85a8da6351bd29d798402308 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 26 19:01:43 2014 +0530 ALSA: ctxfi: fix broken user-visible string as broken user-visible strings breaks the ability to grep for them , so this patch fixes the broken user-visible strings Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e720b82027b99482ea5d1001a69bdf2200e86b79 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 26 19:01:42 2014 +0530 ALSA: ctxfi: prink replacement as pr_* macros are more preffered over printk, so printk replaced with corresponding pr_err and pr_alert this patch will generate a warning from checkpatch for an unnecessary space before new line and has not been fixed as this patch is only for printk replacement. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 58678a77029bc1f78f80f6f93da3d302d587f951 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:28 2014 +0200 video: fbdev: au1200fb: delete double assignment Delete successive assignments to the same location. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit a9a3cac6908a86ada51ab12f7eb39d0313814d23 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:27 2014 +0200 video: fbdev: sis: delete double assignment Delete successive assignments to the same location. The second assignment is changed to update a different field, as done in other nearby code. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 2079a513b0f03c8872322070944720d2c174b005 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:23 2014 +0200 video: fbdev: intelfb: delete double assignment Delete successive assignments to the same location. In the second case, = is converted to |=, which looks appropriate based on the values involved. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit f57eda296dc327fc3f5d21099cf232bcd004237f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:22 2014 +0200 video: fbdev: riva: delete double assignment Delete successive assignments to the same location. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit fbaa19df03f87c2aa6a3a0a14dd7d4c098d45643 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Aug 26 18:22:58 2014 +0530 msm: msm_fb: Move to using managed resources of kzalloc Move to managed verion of kzalloc. Also checks return for failure case which was missing. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Tomi Valkeinen <tomi.valkeinen@xxxxxx> CC: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> CC: Jingoo Han <jg1.han@xxxxxxxxxxx> CC: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 0c46575f7c7dea4068924f2c0d938232f68a5cda Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Aug 26 17:40:37 2014 +0530 msm: msm_fb: Add remove function for platform driver for clean unloading This adds a remove function to platform driver structure so that resources are released when driver is unloaded. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Tomi Valkeinen <tomi.valkeinen@xxxxxx> CC: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> CC: Jingoo Han <jg1.han@xxxxxxxxxxx> CC: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 87306c1d09c8dd7ed291a6b5d6c31323cd81f2ae Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Jul 11 18:13:27 2014 +0200 video: mx3fb: Update comment for dmaengine_prep_slave_sg() API Commit 16052827d98fbc13c31ebad560af4bd53e2b4dd5 ("dmaengine/dma_slave: introduce inline wrappers") changed the code to use the new API, but forgot to update a comment. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Jiri Kosina <trivial@xxxxxxxxxx> Cc: linux-fbdev@xxxxxxxxxxxxxxx -- v2: - New Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c76031f3ece10939d87cc96857b9e045133064e6 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Jul 8 18:27:18 2014 +0200 video: vermilion: remove unnecessary break after goto Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: linux-fbdev@xxxxxxxxxxxxxxx Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 084244646217ec83970facaf7baf200c02a8183e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 17:50:28 2014 +0200 video: fbdev: aty: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 39917f08721b2f04d06407777ce7ae5913533674 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 13:20:29 2014 +0200 OMAPDSS: DSI: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 1287c5bf214b906d64a71c481545010dbe1b5b66 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 13:20:24 2014 +0200 video: fbdev: matrox: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 68ecfe2fe2e6c636bb7e2cf616e658e342e05362 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Aug 8 12:07:55 2014 +0200 video: of: display_timing: delete unneeded test before of_node_put Of_node_put supports NULL as its argument, so the initial test is not necessary. Furthermore, native_mode cannot be NULL at this point. Suggested by Uwe Kleine-König. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression e; @@ -if (e) of_node_put(e); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit a7428c3ded540fb10dd32fd6c45352cb314f3569 Merge: 54ad89b f079e95 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Aug 26 14:31:44 2014 +0200 Merge tag 'kvm-s390-next-20140825' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD KVM: s390: Fixes and features for 3.18 part 1 1. The usual cleanups: get rid of duplicate code, use defines, factor out the sync_reg handling, additional docs for sync_regs, better error handling on interrupt injection 2. We use KVM_REQ_TLB_FLUSH instead of open coding tlb flushes 3. Additional registers for kvm_run sync regs. This is usually not needed in the fast path due to eventfd/irqfd, but kvm stat claims that we reduced the overhead of console output by ~50% on my system 4. A rework of the gmap infrastructure. This is the 2nd step towards host large page support (after getting rid of the storage key dependency). We introduces two radix trees to store the guest-to-host and host-to-guest translations. This gets us rid of most of the page-table walks in the gmap code. Only one in __gmap_link is left, this one is required to link the shadow page table to the process page table. Finally this contains the plumbing to support gmap page tables with less than 5 levels. commit 604effb782a8a4d9a20c8af16bcbf86d742db119 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Aug 26 13:26:56 2014 +0300 drm/i915: fix suspend/resume for GENs w/o runtime PM support Before sharing common parts between the system and runtime s/r handlers we WARNed if the runtime s/r handlers were called on GENs that didn't support RPM. But this WARN is not correct if the same handler is called from the system s/r path, since that can happen on any platform. This also broke system s/r on old platforms. The issue was introduced in commit 016970beb05da6285c2f3ed2bee1c676cb75972e Author: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Date: Wed Aug 13 23:07:06 2014 +0530 v2: - remove the WARN and depend on the HAS_RUNTIME_PM check in rutime_suspend/resume instead (Daniel) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82751 Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9e9bc235580829e3a06ccd13aa10110478c2e093 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Jul 28 14:24:38 2014 +0300 ARM: davinci: board-da850-evm: Add needed regulators for tlv320aic3106 codec IOVDD: tps65070's dcdc2 AVDD and DRVDD: fixed regulator derived from 5V via TPS73701DCQ DVDD: fixed regulator derived from 5V via TPS73701DCQ This patch needed to be able to probe the audio codec. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 79436f870c910bfa296c76e9f43a9aae69f1b46d Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Jul 28 14:24:37 2014 +0300 ARM: davinci: board-da850-evm: Mark dcdc2 of TPS65070 as always_on DCDC2 should not be turned off since it is powering the CPU among other things. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 3f526696e7840239844fc7ff9b5cf014d7192c42 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:30 2014 +0300 ARM: DTS: da850-evm: Enable audio via simple-card The audio on the board is using McASP <-> tlv320aic3106 codec and we have LineIn and LineOut jacks. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 204a87ed4bf80257ed89fd1647628d6b05545ad0 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:29 2014 +0300 ARM: DTS: da850-evm: Add node for tlv320aic3106 codec The board uses aic3106 for audio. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 4ec582e924825e649ca4cdc1fb9eac0b97c75d60 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:28 2014 +0300 ARM: DTS: da850-evm: Enable McASP via DT boot Add pinctrl nodes for the McASP0 pins and configure McASP to the desired mode for the board. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit db74904eb84c6ad3bde17ccd9d7ee1e2a7822ed9 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:27 2014 +0300 ARM: DTS: da850: Add node for McASP Node for mcasp0 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit ee766e4d0712e510898e4413fd968f8cdb450bcf Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:26 2014 +0300 ARM: DTS: da850: Add node for edma0 Add DT node for edma0. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 06b57f1d9ea7b495af4b3e3b4372e5a4ebc1f7d9 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:25 2014 +0300 ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for mcasp0 Add OF_DEV_AUXDATA for mcasp to be able to use clocks. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit cafd2545cfd36ef6fee14f9c36870b81d3c98de5 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 5 17:34:25 2014 +0200 iommu/amd: Remove device binding reference count This reference count is not used anymore, as all devices in an alias group are now attached and detached together. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 397111abaaac259afcc48cd2fbfb78f63f27e797 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 5 17:31:51 2014 +0200 iommu/amd: Attach and detach complete alias group Change tha device attach and detach semantic to apply to all devices in an alias group. This means all devices in an alias group are now attached and detached at the same time. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f251e187f2949c690fc13a91df7b873a6b5be671 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 5 16:48:10 2014 +0200 iommu/amd: Keep a list of devices in an alias group Some broken devices might use any request-id from the alias group, so we need to set a DTE entry for every device in there. This patch adds creation of those lists. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 50917e265ebd2ea33bc34b22b3981f1e88415eae Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 5 16:38:38 2014 +0200 iommu/amd: Move struct iommu_dev_data to amd_iommu.c The struct is only used there, so it doesn't need to be in the header file. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ad053a962f1e83597ec8388716619c7633a00ef1 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 16:14:49 2014 +0300 mac80211: scan: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5bc8c1f2b070bab82ed738f98ecfac725e33c57f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Aug 12 21:01:28 2014 +0200 cfg80211: allow passing frame type to cfg80211_inform_bss() When using the cfg80211_inform_bss[_width]() functions drivers cannot currently indicate whether the data was received in a beacon or probe response. Fix that by passing a new enum that indicates such (or unknown). For good measure, use it in ath6kl. Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> [ath6kl] Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> [brcmfmac] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0e227084aee36b3ba27b4fc9cd9e425be6ce2ab8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Aug 12 20:34:30 2014 +0200 cfg80211: clarify BSS probe response vs. beacon data There are a few possible cases of where BSS data came from: 1) only a beacon has been received 2) only a probe response has been received 3) the driver didn't report what it received (this happens when using cfg80211_inform_bss[_width]()) 4) both probe response and beacon data has been received Unfortunately, in the userspace API, a few things weren't there: a) there was no way to differentiate cases 1) and 4) above without comparing the data of the IEs b) the TSF was always from the last frame, instead of being exposed for beacon/probe response separately like IEs Fix this by i) exporting a new flag attribute that indicates whether or not probe response data has been received - this addresses (a) ii) exporting a BEACON_TSF attribute that holds the beacon's TSF if a beacon has been received iii) not exporting the beacon attributes in case (3) above as that would just lead userspace into thinking the data actually came from a beacon when that isn't clear To implement this, track inside the IEs struct whether or not it (definitely) came from a beacon. Reported-by: William Seto Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f41ef64853fb1e02728e56b2d0d55aef8ed12b26 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jul 28 15:21:05 2014 +0200 cfg80211: re-enable CSA for drivers that support it This reverts commit dda444d52496aa8ddc501561bca580f1374a96a9. Channel switching code has been reworked and improved significantly since the time original locking issues were found. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c70f59a2a007c57843195a93c3b7308204e0a5ab Author: Ido Yariv <ido@xxxxxxxxxx> Date: Tue Jul 29 15:39:14 2014 +0300 mac80211: don't resize skbs needlessly Header-less cloned skbs with sufficient headroom need not be cloned unless the tailroom is going to be modified. Fix ieee80211_skb_resize so it would only resize cloned skbs if either the header isn't released or the tailroom is going to be modified. Some drivers might have assumed that skbs are never cloned, so add a HW flag that explicitly permits cloned TX skbs. Drivers which do not modify TX skbs should set this flag to avoid copying skbs. Signed-off-by: Ido Yariv <idox.yariv@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ca34e3b5c808385b175650605faa29e71e91991b Author: Ido Yariv <ido@xxxxxxxxxx> Date: Tue Jul 29 15:38:53 2014 +0300 mac80211: Fix accounting of the tailroom-needed counter When hw acceleration is enabled, the GENERATE_IV or PUT_IV_SPACE flags will only require headroom space. Consequently, the tailroom-needed counter can safely be decremented. Signed-off-by: Ido Yariv <idox.yariv@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 170fd0b1f6108b48df4369afa0ee29a83e922748 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Wed Jul 30 14:36:18 2014 +0300 ieee80211: Support parsing TPC report element in action frames TPC report element is contained in spectrum management's tpc report action frames and in radio measurement's link measurement report action frames. Add a function which checks whether an action frame contains this element. This may be needed by the drivers in order to set the correct tx power value in these frames. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 970fdfa89babb5a6f1a3d345e8cb54d92c1e3a8f Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Mon Aug 11 03:29:57 2014 -0700 cfg80211: remove @gfp parameter from cfg80211_rx_mgmt() In the cfg80211_rx_mgmt(), parameter @gfp was used for the memory allocation. But, memory get allocated under spin_lock_bh(), this implies atomic context. So, one can't use GFP_KERNEL, only variants with no __GFP_WAIT. Actually, in all occurrences GFP_ATOMIC is used (wil6210 use GFP_KERNEL by mistake), and it should be this way or warning triggered in the memory allocation code. Remove @gfp parameter as no actual choice exist, and use hard coded GFP_ATOMIC for memory allocation. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 649b2a4da5d8a39c4d7be2fd228cf797819656f9 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jul 25 15:01:59 2014 +0200 mac80211: make ieee80211_vif_use_reserved_switch static Reorder some code to make ieee80211_vif_use_reserved_switch() static, no other changes. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f8134fed8346c05007ca23e22e1504097afcd7c9 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Sat Jun 28 16:35:26 2014 -0400 mac80211: mesh_plink: use get_unaligned_le16 instead of memcpy Use get_unaligned_le16 to access llid/plid. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b9347aff91ce4789619168539f08202d8d6a1177 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Tue Aug 26 10:29:45 2014 +0200 crypto: drbg - fix maximum value checks on 32 bit systems The maximum values for additional input string or generated blocks is larger than 1<<32. To ensure a sensible value on 32 bit systems, return SIZE_MAX on 32 bit systems. This value is lower than the maximum allowed values defined in SP800-90A. The standard allow lower maximum values, but not larger values. SIZE_MAX - 1 is used for drbg_max_addtl to allow drbg_healthcheck_sanity to check the enforcement of the variable without wrapping. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7264354c0cb8c04bd4a85d24e5d57a0e2417c2fb Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Aug 25 15:59:25 2014 -0700 pwm: rockchip: Allow polarity invert on rk3288 The rk3288 has the ability to invert the polarity of the PWM. Let's enable that ability. Note that this increases pwm_cells to 3 for rk3288. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Caesar Wang <caesar.wang@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 5819c2fa55d4a6eaf7fe025a393dce98fc4b2116 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 24 15:36:55 2014 +0200 ASoC: Restore idle_bias_off initialization This was accidentally lost in commit f1d45cc3ae96 ("ASoC: Consolidate platform and CODEC probe/remove"). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f079e9521464aa522d56af2a58a1666ca126bf6f Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 1 15:03:33 2014 +0200 KVM: s390/mm: remove outdated gmap data structures The radix tree rework removed all code that uses the gmap_rmap and gmap_pgtable data structures. Remove these outdated definitions. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit c6c956b80bdf151cf41d3e7e5c54755d930a212c Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Jul 1 14:36:04 2014 +0200 KVM: s390/mm: support gmap page tables with less than 5 levels Add an addressing limit to the gmap address spaces and only allocate the page table levels that are needed for the given limit. The limit is fixed and can not be changed after a gmap has been created. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 527e30b41d8b86e9ae7f5b740de416958c0e574e Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 30 16:04:25 2014 +0200 KVM: s390/mm: use radix trees for guest to host mappings Store the target address for the gmap segments in a radix tree instead of using invalid segment table entries. gmap_translate becomes a simple radix_tree_lookup, gmap_fault is split into the address translation with gmap_translate and the part that does the linking of the gmap shadow page table with the process page table. A second radix tree is used to keep the pointers to the segment table entries for segments that are mapped in the guest address space. On unmap of a segment the pointer is retrieved from the radix tree and is used to carry out the segment invalidation in the gmap shadow page table. As the radix tree can only store one pointer, each host segment may only be mapped to exactly one guest location. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 55688377b19b2483ad249be30984a900a8546a17 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Aug 25 10:50:12 2014 +0200 MIPS: fix comment spelling Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c614f13a9680a483f3558e20dc5fa350700f83fb Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Jun 29 12:21:36 2014 +0200 powerpc/simpleboot: fix comment Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 336ec137340daa62e9d61bce09d635b603aa4f2a Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Jun 29 12:13:49 2014 +0200 paride/pcd: Fix grammar Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 78b1e540f2a3c01c7487f025943cdf9fbfc9b605 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Jun 24 10:43:06 2014 +0200 fs: fix comment for 'CONFIG_LBADF' Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 45d5acd3cdf36b968067b11b1e138948325e55ed Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:19:14 2014 +0200 lib: rhashtable: Spelling s/compuate/compute/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 32db83eb1ae1a8432bfabe2c9f6fd522a5419c4b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:19:13 2014 +0200 cx23885: Spelling s/compuations/computations/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Cc: linux-media@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a395adcff0a1e009e2fb8a1090b7a29febce08c5 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:19:12 2014 +0200 cx25840: fix comment Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Cc: linux-media@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 51c0ff6db5b57f0bfaf415ae0581f6b98b5deb5f Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:15:14 2014 +0200 mm: Fix CROSS_MEMORY_ATTACH help text grammar Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4646d13199c4428f43ce390ca26c21c85de5f604 Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 7 13:11:58 2014 +0800 powerpc: Fix comment typos in hotplug-memory.c bae->base niumber->number Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 9b13494c916dc0bf93802d7426b477cc0130fb48 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Aug 6 22:31:28 2014 +0900 treewide: Fix typo in printk This patch fix spelling typo in printk within vairous part of the code. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 50d8a189013cef83eef771c45787cee68ecdf8fe Author: Raymond L. Rivera <ray.l.rivera@xxxxxxxxx> Date: Thu Jul 24 02:39:45 2014 -0700 linux/pagemap.h: Fixed a typo in a code comment. Corrected a minor typo in a code comment where 'be' was missing. Signed-off-by: Raymond L. Rivera <ray.l.rivera@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7c18fd786de3dabc43e0f412dd63080c14fe6e1b Author: Raymond L. Rivera <ray.l.rivera@xxxxxxxxx> Date: Thu Jul 24 02:39:44 2014 -0700 CodingStyle: fix a minor typo There was a minor typo in the CodingStyle document where the word 'section' had been spelled as 'secton'. Signed-off-by: Raymond L. Rivera <ray.l.rivera@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5de0642fa70e38783193e37a553479d1ba160115 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Thu Jun 26 11:12:51 2014 +0200 Documentation: au1xxx-ide.c has moved Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit abb3b1f8d70cc9dfac98e67faf974c422a3d3e72 Author: Rahul Bedarkar <rahulbedarkar89@xxxxxxxxx> Date: Thu Jul 31 23:50:19 2014 +0530 Documentation: kmemleak: correct spelling mistake Signed-off-by: Rahul Bedarkar <rahulbedarkar89@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1578ea3a09b4ad761bfe90d7c3dfef73f6d975df Author: Junien Fridrick <linux.kernel@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 23:26:57 2014 +0000 Documentation: ABI/testing: Spelling s/calss/class/ Signed-off-by: Junien Fridrick <linux.kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a2787312e9440301f606577805659ed2a1bde810 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu Aug 14 13:26:22 2014 +0800 Documentation: Fix null_blk parameter irq_mode to irqmode To match the real module parameter name we implemented. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8307959d5e244e533d3a049476fb1dfa366306a9 Author: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Date: Wed Aug 13 15:54:48 2014 +0200 Documentation: serial: fix header path RS485 related structure will be defined in user space API header. Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8ae34ea7e8e655a9afe477062f1d91a3700959b5 Author: Harish Jenny K N <harish_kandiga@xxxxxxxxxx> Date: Wed Aug 20 11:56:17 2014 +0530 lockup-watchdogs: Fix a typo s/BOOTPARAM_HARDLOCKUP_PANIC/BOOTPARAM_SOFTLOCKUP_PANIC Signed-off-by: Harish Jenny K N <harish_kandiga@xxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 924064e93970a1b45d83ac67165f0570f4649e0f Author: Pavel Machek <pavel@xxxxxxx> Date: Mon Aug 18 23:59:28 2014 +0200 stmmac.txt: fix typo Fix typo in devicetree example. Signed-off-by: Pavel Machek <pavel@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 24488c392067e948b3b2c6911d6e8b522931714c Author: Hayato Suzuki <hytszk@xxxxxxxxx> Date: Wed Jul 2 15:15:32 2014 +0900 Documentation: treewide: fix typos and grammar Correct spelling typo in treewide. Signed-off-by: Hayato Suzuki <hytszk@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a71db86e86e0a1b28ffebe6b161f4a628911ebaf Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 20 21:51:43 2014 +0200 fs/btrfs/tree-log.c: Fix closing brace followed by if Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7c8ae03f41e635813b777a0989d8ac1ff5a8494e Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Tue Aug 26 09:32:24 2014 +0200 crypto: drbg - fix sparse warning for cpu_to_be[32|64] The sparse tool complained that the cpu_to_be[32|64] functions return __be[32|64] instead of __u32 or __u64. The patch replaces the __u32 and __u64 with __be32 and __be64. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d76c333e9fe2d269c54f68747b2311a5657276e5 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Aug 25 21:37:06 2014 +0800 regulator: RK808: modify for struct rk808 change The "dev" has been deleted from "struct rk808" in rk808 mfd driver so rk808->dev should be replaced by &client->dev here. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 79346d620e9de87912de73337f6df8b7f9a46888 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Mon Aug 25 13:07:10 2014 -0400 HID: input: force generic axis to be mapped to their user space axis Atmel 840B digitizer presents a stylus interface which reports twice the X coordinate and then twice the Y coordinate. In its current implementation, hid-input assign the first X to X, then the second to Y, then the first Y to Z, then the second one to RX. This is wrong, and X should always be mapped to X, no matter what. A solution consists in forcing X, Y, Z, RX, RY, RZ to be mapped to their correct user space counter part. Reported-by: Ã?ric Brunet <Eric.Brunet@xxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4c1948fc471d444b15dfaca73ea0c9b77c2d5505 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Tue Aug 26 14:40:52 2014 +0800 crypto: sha-mb - sha1_mb_alg_state can be static CC: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> CC: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1f6e97f68b908a09c6ff74d4f1310e9ab8df0e64 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Tue Aug 26 14:40:39 2014 +0800 crypto: mcryptd - mcryptd_flist can be static CC: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> CC: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b4bbb107d73bbc0d92c9ae7fd8e69580aa9381e7 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jun 27 11:56:58 2014 +0200 dma-mapping: Provide write-combine allocations Provide an implementation for dma_{alloc,free,mmap}_writecombine() when the architecture supports DMA attributes. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> commit 90114d65feea716eeae0ab51e92c95b140b2e6fc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Aug 25 13:02:52 2014 +0200 s390: Implement dma_{alloc,free}_attrs() The S390 architecture advertises support for HAVE_DMA_ATTRS when PCI is enabled. Patches to unify some of the DMA API would like to rely on the dma_alloc_attrs() and dma_free_attrs() functions to be provided when an architecture supports DMA attributes. Rename dma_alloc_coherent() and dma_free_coherent() to dma_alloc_attrs() and dma_free_attrs() since they are functionally equivalent and alias the former to the latter for compatibility. For consistency with other architectures, also reuse the existing symbol HAVE_DMA_ATTRS defined in arch/Kconfig instead of providing a duplicate. Select it when PCI is enabled. While at it, drop a redundant 'default n' from the PCI Kconfig symbol. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Acked-By: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> commit a3d1214688d5259a200414def4d38f1e4531febd Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:05:30 2014 -0700 neigh: document gc_thresh2 Missing documentation for gc_thresh2 sysctl. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f79918afb714e0d699431d59bbba33a34a82cee0 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Aug 25 13:11:48 2014 -0700 net: bnx2x: fix build error with ptp bnx2x uses ptp functions, so it should select the provider of those functions (PTP_1588_CLOCK). Fixes these build errors: drivers/built-in.o: In function `__bnx2x_remove': /home/jim/linux/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:13409: undefined reference to `ptp_clock_unregister' drivers/built-in.o: In function `bnx2x_register_phc': /home/jim/linux/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:13202: undefined reference to `ptp_clock_register' drivers/built-in.o: In function `bnx2x_get_ts_info': /home/jim/linux/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c:3498: undefined reference to `ptp_clock_index' Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7d3c05135f37d8fdf73f9966d27155cada36e56 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Mon Aug 25 21:38:27 2014 +0200 team: set IFF_TEAM_PORT priv_flag after rx_handler is registered When one tries to add eth as a port into team and that eth is already in use by other rx_handler device (macvlan, bond, bridge, ...) a bug in team_port_add() causes that IFF_TEAM_PORT flag is set before rx_handler is registered. In between, netdev nofifier is called and team_device_event() sees IFF_TEAM_PORT and thinks that rx_handler_data pointer is set to team_port. But it isn't. Fix this by reordering rx_handler register and IFF_TEAM_PORT priv flag set so it is very similar to how bonding does this. Reported-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Fixes: 3d249d4ca7 "net: introduce ethernet teaming device" Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72b603ee8cfc6be587f301568d79ce38e7ed735d Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Aug 25 12:27:02 2014 -0700 bpf: x86: add missing 'shift by register' instructions to x64 eBPF JIT 'shift by register' operations are supported by eBPF interpreter, but were accidently left out of x64 JIT compiler. Fix it and add a testcase. Reported-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Fixes: 622582786c9e ("net: filter: x86: internal BPF JIT") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9785820e6dba63a26a3640b3faebcfec6ca286cc Merge: 453a940 8f15c61 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 25 17:30:27 2014 -0700 Merge branch 'bnx2x-next' Yuval Mintz says: ==================== bnx2x: `fixes' patch-series This series contains mostly bug fixes, but never the less is intended for `net-next' and not `net', as: - Some of the fixes are quite insignificant [`VF clean statistics', `ethtool -d might cause timeout in log']. - Some only recently were submitted to `net-next' [`Fix timesync endianity']. - Some are not usually compiled as part of the kernel [`Fix stop-on-error']. Dave - please consider applying this series to `net-next'; If you prefer, I can break this series into 2 parts [one for `net' and the other for `net-next'] - but personally I don't see much benefit in it. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f15c61301223138a01e62e009ad8b3a120b780c Author: Michal Kalderon <Michal.Kalderon@xxxxxxxxxx> Date: Mon Aug 25 17:48:33 2014 +0300 bnx2x: Fix timesync endianity Commit eeed018cbfa30 ("bnx2x: Add timestamping and PTP hardware clock support") has a missing conversion to LE32, which will prevent the feature from working on big endian machines. Signed-off-by: Michal Kalderon <Michal.Kalderon@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aebf6244cd39ba01a6d748e8b29a4f6c7be52535 Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Mon Aug 25 17:48:32 2014 +0300 bnx2x: Be more forgiving toward SW GRO This introduces 2 new relaxations in the bnx2x driver regarding GRO: 1. Don't prevent SW GRO if HW GRO is disabled. 2. If all aggregations are disabled, when GRO configuration changes there's no need to perform an inner-reload [since it will have no actual effect]. Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14f806a00a183c6a95d74eee29dabbe0c20ba1c4 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Aug 25 17:48:31 2014 +0300 bnx2x: VF clean statistics During statistics initialization of a VF we need to clean its statistics. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea36475a22ded71633331a0b9b3cddd7f1d6983a Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Aug 25 17:48:30 2014 +0300 bnx2x: Fix stop-on-error When STOP_ON_ERROR is set driver will not compile. Even if it did, traffic will not pass without this patch as several fields which are verified by FW/HW on the Tx path are not properly set. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3befae1d6cd4c4e15f1ecb6fe3e2bab94675d37 Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Mon Aug 25 17:48:29 2014 +0300 bnx2x: ethtool -d might cause timeout in log This changes slightly the set of registers read during `ethtool -d'. Without this change, it's possible the HW will generate a grc Attention which will be logged into system logs as `grc timeout'. Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 453a940ea725d692282f9e66475cec0d1b1e12f2 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Aug 25 17:03:47 2014 -0700 net: make skb an optional parameter for__skb_flow_dissect() Fixes: commit 690e36e726d00d2 (net: Allow raw buffers to be passed into the flow dissector) Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6451b3f59ab39162d1fbb5a5d0c8f46c0d9e1231 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Aug 25 17:03:46 2014 -0700 net: fix comments for __skb_flow_get_ports() Fixes: commit 690e36e726d00d2 (net: Allow raw buffers to be passed into the flow dissector) Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29a9e89548408028498bb63bcaabe2806232e26a Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Aug 18 09:29:47 2014 -0400 staging: unisys: fix indentation of uisutil_copy_fragsinfo_from_skb() The function uisutil_copy_fragsinfo_from_skb() in uisutils.c is messy and over-indented. This patch fixes the function's indentation so it is cleaner. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d283f0c62e331fc3516e6e25d1500de799712207 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Aug 18 09:29:46 2014 -0400 staging: unisys: fix spacing in uisthread.c Fix the missing blank line between code and declarations in uisthread.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 566a17405a4884ccec365fbbbb96b2c7b0c9fbb6 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Aug 18 09:29:45 2014 -0400 staging: unisys: remove void return from uislib_mod_exit() Remove the extraneous return from the uislib module exit function. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81e4c97e667f465d6f250a7a9ce6af04c3e6bce0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Aug 18 09:29:44 2014 -0400 staging: unisys: simplify destroy_bus() in uislib.c The destroy_bus() function is heavily indented and many lines extend past the right margin. This patch simplifies the function without changing its effects. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddc9f84b2dac02cd4b6e73f508c2b39c089618ac Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Aug 18 09:29:43 2014 -0400 staging: unisys: fix spacing in uislib.c Fix the line spacing between code and local variables in uislib.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c938cddc01d7e8a96e702183c822bf3e4452365 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Sun Aug 24 15:42:16 2014 +0200 ixgbe: support skb->xmit_more in netdev_ops->ndo_start_xmit() This implements the deferred tail pointer flush API for the ixgbe driver. Similar version also proposed longer time ago by Alexander Duyck. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b725a2ca61bedc33a2a63d0451d528b268cf975 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 25 15:51:53 2014 -0700 net: Remove ndo_xmit_flush netdev operation, use signalling instead. As reported by Jesper Dangaard Brouer, for high packet rates the overhead of having another indirect call in the TX path is non-trivial. There is the indirect call itself, and then there is all of the reloading of the state to refetch the tail pointer value and then write the device register. Move to a more passive scheme, which requires very light modifications to the device drivers. The signal is a new skb->xmit_more value, if it is non-zero it means that more SKBs are pending to be transmitted on the same queue as the current SKB. And therefore, the driver may elide the tail pointer update. Right now skb->xmit_more is always zero. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 484048db6b4890bc433aac7f5e32fdcf1b2b4786 Merge: d5a0f2e bd645e4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Aug 26 09:05:14 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next radeon userptr support. * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: allow userptr write access under certain conditions drm/radeon: add userptr flag to register MMU notifier v3 drm/radeon: add userptr flag to directly validate the BO to GTT drm/radeon: add userptr flag to limit it to anonymous memory v2 drm/radeon: add userptr support v8 Conflicts: drivers/gpu/drm/radeon/radeon_prime.c commit d5a0f2e7be20d29c5a23fdbc65c1f8307690413c Merge: c0ee755 2c0827c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Aug 26 09:04:32 2014 +1000 Merge tag 'drm-intel-next-2014-08-08' of git://anongit.freedesktop.org/drm-intel into drm-next - Setting dp M2/N2 values plus state checker support (Vandana Kannan) - chv power well support (Ville) - DP training pattern 3 support for chv (Ville) - cleanup of the hsw/bdw ddi pll code, prep work for skl (Damien) - dsi video burst mode support (Shobhit) - piles of other chv fixes all over (Ville et. al.) - cleanup of the ddi translation tables setup code (Damien) - 180 deg rotation support (Ville & Sonika Jindal) * tag 'drm-intel-next-2014-08-08' of git://anongit.freedesktop.org/drm-intel: (59 commits) drm/i915: Update DRIVER_DATE to 20140808 drm/i915: No busy-loop wait_for in the ring init code drm/i915: Add sprite watermark programming for VLV and CHV drm/i915: Round-up clock and limit drain latency drm/i915: Generalize drain latency computation drm/i915: Free pending page flip events at .preclose() drm/i915: clean up PPGTT checking logic drm/i915: Polish the chv cmnlane resrt macros drm/i915: Hack to tie both common lanes together on chv drm/i915: Add cherryview_update_wm() drm/i915: Update DDL only for current CRTC drm/i915: Parametrize VLV_DDL registers drm/i915: Fill out the FWx watermark register defines drm: Resetting rotation property drm/i915: Add rotation property for sprites drm: Add rotation_property to mode_config drm/i915: Make intel_plane_restore() return an error drm/i915: Add 180 degree sprite rotation support drm/i915: Introduce a for_each_intel_encoder() macro drm/i915: Demote the DRRS messages to debug messages ... commit c0ee755fc57319a623e0d9ef839cf8fb26ce8d60 Merge: 52addcf 14f476f Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Aug 26 09:04:03 2014 +1000 Merge tag 'topic/core-stuff-2014-08-15' of git://anongit.freedesktop.org/drm-intel into drm-next So small drm stuff all over for 3.18. Biggest one is the cmdline parsing from Chris with a few fixes from me to make it work for stupid kernel configs. Plus the atomic prep series. Tested for more than a week in -nightly and Ville/Imre indeed discovered some fun which is now fixed (and i915 vblank patches postponed since the fixups need this branch plus drm-intel-next merged together). * tag 'topic/core-stuff-2014-08-15' of git://anongit.freedesktop.org/drm-intel: drm: Use the type of the array element when reallocating drm: Don't return 0 for a value used as a denominator drm: Docbook fixes drm/irq: Implement a generic vblank_wait function drm: Add a plane->reset hook drm: trylock modest locking for fbdev panics drm: Move ->old_fb from crtc to plane drm: Handle legacy per-crtc locking with full acquire ctx drm: Move modeset_lock_all helpers to drm_modeset_lock.[hc] drm: Add drm_plane/connector_index drm: idiot-proof vblank drm: Warn when leaking flip events on close drm: Perform cmdline mode parsing during connector initialisation video/fbdev: Always built-in video= cmdline parsing drm: Don't grab an fb reference for the idr commit 44a52ffd6402a19544fb9dee081730d36d413202 Merge: a77e4ac c993189 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 25 15:42:25 2014 -0700 Merge branch 'is_kdump_kernel' Amir Vadai says: ==================== Make is_kdump_kernel() accessible from modules I'm re-spinning this patchset. At the begining it was suggested to use a different name for the parameter, but at the end [3] the resolution was to leave it as it is in this patch. Drivers need to know if running from kdump kernel in order to change their memory profile - since kdump environment is limited by available memory. Currently there are drivers that are using reset_devices as suggested in [2]. In [2] it was suggested to use reset_devices, but the context was, to enable driver to know when the hardware device is needed to be reset, and not if this is a kdump environment. We think that is_kdump_kernel() is better suited to select between different memory profiles. The first patch in this patchset exports a needed symbol in order to make is_kdump_kernel() accessible from the drivers. The rest of the patches change from reset_devices to is_kdump_kernel() in 2 networking drivers. The idea of this patchset was suggested by Vivek Goyal. Tested (only build) and applied on top of commit 8fc54f6: ("net: use reciprocal_scale() helper") [1] - ea1c1af: ("net/mlx4_en: Reduce memory consumption on kdump kernel") [2] - https://lkml.org/lkml/2011/1/27/341 [3] - http://www.spinics.net/lists/netdev/msg291492.html ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c993189601fa89842eee96814e3ab2277fae3076 Author: Amir Vadai <amirv@xxxxxxxxxxxx> Date: Mon Aug 25 16:06:54 2014 +0300 net/bnx2x: Use is_kdump_kernel() to detect kdump kernel Use is_kdump_kernel() to detect kdump kernel, instead of reset_devices. CC: Ariel Elior <ariel.elior@xxxxxxxxxx> CC: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48ea526a6877d605c961aa37fae33f3227b29424 Author: Amir Vadai <amirv@xxxxxxxxxxxx> Date: Mon Aug 25 16:06:53 2014 +0300 net/mlx4: Use is_kdump_kernel() to detect kdump kernel Use is_kdump_kernel() to detect kdump kernel, instead of reset_devices. Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3292e88e33677a90c18236fd895ace2d80efa3c Author: Amir Vadai <amirv@xxxxxxxxxxxx> Date: Mon Aug 25 16:06:52 2014 +0300 crash_dump: Make is_kdump_kernel() accessible from modules In order to make is_kdump_kernel() accessible from modules, need to make elfcorehdr_addr exported. This was rejected in the past [1] because reset_devices was prefered in that context (reseting the device in kdump kernel), but now there are some network drivers that need to reduce memory usage when loaded from a kdump kernel. And in that context, is_kdump_kernel() suits better. [1] - https://lkml.org/lkml/2011/1/27/341 CC: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a77e4accce126d50d02705c687dd0b5025b63f89 Author: Pavel Machek <pavel@xxxxxx> Date: Mon Aug 25 13:31:16 2014 +0200 stmmac: simple cleanups This adds simple cleanups for stmmac, removing test we know is always true, fixing whitespace, and moving code out of if(). Signed-off-by: Pavel Machek <pavel@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d83d2c26461d661384676a4eed935d925b0fcc34 Author: Marcin Niesluchowski <m.niesluchow@xxxxxxxxxxx> Date: Tue Aug 19 14:26:32 2014 +0200 Smack: Fix setting label on successful file open While opening with CAP_MAC_OVERRIDE file label is not set. Other calls may access it after CAP_MAC_OVERRIDE is dropped from process. Signed-off-by: Marcin Niesluchowski <m.niesluchow@xxxxxxxxxxx> commit 7bb75da1717296f5850e1a9a36896a52fd07a26a Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 15 21:53:24 2014 +0530 orinoco_usb: use USB API functions rather than constants This patch introduces the use of the functions usb_endpoint_is_bulk_in(epd) and usb_endpoint_is_bulk_out(epd). The semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_BULK\|2\)) + usb_endpoint_xfer_bulk(epd) @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_OUT\|0\)) + usb_endpoint_dir_out(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_in(epd)) + usb_endpoint_is_bulk_in(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_out(epd)) + usb_endpoint_is_bulk_out(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b9395df96ac41cdfcc929f1515828709b2f64b2f Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 22:40:24 2014 +0530 atmel_cs: Remove typedef local_info_t The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for local_info_t. Also, the name of the struct is changed to drop the _t, to make the name look less typedef-like. The following Coccinelle semantic patch detects the case: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a796dac9a6bedff6db99f57828c85c97071d3d1e Author: Tomasz Bursztyka <tomasz.bursztyka@xxxxxxxxxxxxxxx> Date: Wed Aug 13 16:04:51 2014 +0300 wireless: core: Reorder wiphy_register() notifications relevantly Currently it can send regulatory domain change notification before any NEW_WIPHY notification. Moreover, if rfill_register() fails, calling wiphy_unregister() will send a DEL_WIPHY though no NEW_WIPHY had been sent previously. Thus reordering so it properly notifies NEW_WIPHY before any other. Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f0bd88dfd7e5d53bce84a9d077c949774f27a25a Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 20:52:56 2014 +0200 net: wireless: ipw2x00: ipw2200.c: Cleaning up missing null-terminate in conjunction with strncpy Replacing strncpy with strlcpy to avoid strings that lacks null terminate. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 372e3a846814656d5e514167484f684f828fff56 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Thu Aug 7 16:32:45 2014 +0530 wireless: wlcore: Use devm_kzalloc This patch introduces the use of devm_kzalloc and does away with the kfrees in the probe and remove functions. Also, a couple of labels and the initial assignment of the ret variable in the probe function are removed. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 560ce3087292603dafb2603ee12cab0ff6c20aee Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:32:01 2014 +0300 wil6210: fix access after free in wil_pcie_remove() 'wil' released in wil_if_free(); save iomapped address aside to properly unmap it. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 48e81a15fa40dce4553ae3156e170a2be9562fa9 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:32:00 2014 +0300 wil6210: cfg80211_rx_mgmt to use GFP_ATOMIC Internally, cfg80211_rx_mgmt() takes lock: spin_lock_bh(&wdev->mgmt_registrations_lock); and therefore one can't use it with GFP_KERNEL allocation flags. When called with GFP_KERNEL, "sleep while atomic" warning triggered: <3>[242645.446224] BUG: sleeping function called from invalid context at kernel/mm/slub.c:926 <3>[242645.455516] in_atomic(): 1, irqs_disabled(): 0, pid: 18881, name: kworker/u16:0 <6>[242645.462868] CPU: 0 PID: 18881 Comm: kworker/u16:0 Tainted: G O 3.10.40-g619a884-00001-g357fa9c #2 <6>[242645.463044] Workqueue: wil6210_wmi wmi_event_worker [wil6210] <6>[242645.463087] Call trace: <6>[242645.463157] [<ffffffc000087390>] dump_backtrace+0x0/0x144 <6>[242645.463205] [<ffffffc0000874e4>] show_stack+0x10/0x1c <6>[242645.463259] [<ffffffc0009abc04>] dump_stack+0x1c/0x28 <6>[242645.463313] [<ffffffc0000c10c0>] __might_sleep+0xe0/0xf0 <6>[242645.463365] [<ffffffc00015a514>] kmem_cache_alloc+0x48/0x1e4 <6>[242645.463414] [<ffffffc00080d468>] __alloc_skb+0x48/0x164 <6>[242645.463466] [<ffffffc00097f2c4>] nl80211_send_mgmt+0x4c/0x1dc <6>[242645.463511] [<ffffffc000980268>] cfg80211_rx_mgmt+0x1bc/0x25c <6>[242645.463647] [<ffffffbffc005d64>] wmi_evt_rx_mgmt+0x21c/0x23c [wil6210] <6>[242645.463783] [<ffffffbffc0073b8>] wmi_event_worker+0x230/0x2f8 [wil6210] <6>[242645.463838] [<ffffffc0000afffc>] process_one_work+0x258/0x3d0 <6>[242645.463887] [<ffffffc0000b0fe0>] worker_thread+0x1f0/0x310 <6>[242645.463946] [<ffffffc0000b642c>] kthread+0xac/0xb8 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8fcfdeac97ee3ee8dd8e0e44b6a3b9d49b951bbd Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:59 2014 +0300 wil6210: fix free'd memory access in wil_if_free() In the wil_priv_deinit(), wdev->netdev is accessed, so free_netdev() should not be called before mentioned call. Set wdev->netdev to NULL Make sure no more attempts to use it. It is used for debug printk if not NULL. This fix kernel panic on module unload and in case error on probe; if memory allocation debugging enabled. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1eb9d1e5c659a9f2ae08a3d36d1c64d11368b58a Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxx> Date: Wed Aug 6 10:31:58 2014 +0300 wil6210: Limit max number of associated stations Add a module parameter to support setting the maximum number of stations that can be associated to an AP. Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a21420864a28f2cf24afdc555da7b6d7c100e9d8 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:57 2014 +0300 wil6210: fix false "scan timeout" When sending scan request, if hardware is not ready, scan timer was started and scan timeout mis-reported. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 36345ac33ca8d381c215091c5535e62335668f01 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:56 2014 +0300 wil6210: fix beamforming data reporting When reading 'bf' file on debugfs, query beam forming status from firmware. Ignore CID's that return error or return all zeros. Remove obsolete code that used to maintain statistics on per-device basis, as now it is reported be per-CID and current. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b7cde47009640b88cb3629ee7078a43bc2642459 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:55 2014 +0300 wil6210: convert debugfs to the table mode Define tables for similar file entries, i.e. - table for debugfs_create_file - table for static parameters - table for parameters that are members of "wil" structure - table for blobs - table for interrupt controllers Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6afd60055d8dd1f28bf6e9556ebc9996cceebaa8 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:54 2014 +0300 wil6210: Workaround for Sparrow with bad device id If firmware broken on the boot time, Sparrow card enumerates as device 0x302 instead of 0x310. Allow using this ID Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 520d68e7cf6c72687698c4584e8f1f8fab4dfc4e Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:53 2014 +0300 wil6210: wait longer for hardware reset completion Typical time for hardware reset, as measured, is about 200..250 msec. Adjust sleeping to use more relaxed msleep, increase sleep interval and increase total sleep time to be about 1sec Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bbb2adc7b47cbe841d3cb2fa048f720647f5f4cd Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:52 2014 +0300 wil6210: check error in wil_target_reset() When resetting target in wil_target_reset(), error may occur. Indicate error via error code. In case of error, don't attempt to further interact with card, specifically don't attempt firmware download or interrupts enabling. Move wil_rx_fini() to be always executed to prevent memory leak. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 02525a7925c9a3c55ceef7e9a30218dc47ced1ad Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:51 2014 +0300 wil6210: update copyright year 2014 Fix Copyright headers in all files changed in 2014, to mention 2014 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit cc9e4a2b667c79d531a79c5eede27d11c1394326 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:50 2014 +0300 wil6210: fix race in reset It is important to halt USER CPU first, then MAC CPU Otherwise, race happens in the firmware Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 91b775edf7ad54f849895e021677f7d9c15a9f5d Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:49 2014 +0300 wil6210: map MAC timer for packet lifetime into debugfs expose reading RGF_MAC_MTRL_COUNTER_0 in debugfs Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e2261afd4caaf1a6473eddbcbd8a5c5eb593316e Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Tue Aug 5 21:42:55 2014 -0700 mwifiex: fix decimal printf format specifiers prefixed with 0x The prefix suggests the number should be printed in hex, so use the %x specifier to do that. Found by using regex suggested by Joe Perches. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Acked-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 26c0604628f85d435a664f52fd2ca30aab812266 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Aug 2 20:22:46 2014 +0530 cw1200: Introduce the use of devm_kzalloc This patch introduces the use of devm_kzalloc and does away with the kfrees in the probe and remove functions. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6040aa70c30276e6cd2aacd1f428c3f05462a7f1 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Aug 2 16:51:30 2014 +0530 net: wireless: wl1251: Remove unnecessary free_irq This patch does away with free_irq in the remove function as the irq is allocated with a devm_request_irq. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8615eb2870f1a89ad551d80ef821172015af7c28 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:48 2014 +0200 b43: N-PHY: support setting custom TX power Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ec76643b0057e13c4cc6ed4b55af6389fcbb5e64 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:47 2014 +0200 b43: implement PPR (Power Per Rate) management/API Broadcom hardware supports auto-adjustment of TX power depending on the currently used rate. So far all calculations were handled without any helpers (API) using big arrays and magic offsets. It seems Broadcom recently decided to clean this up by developing PPR. Their wlc_ppr.h can be found in open parts of the SDK. As we plan to implement support for rate-based TX power it makes sense to also implement our version of PPR as well. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a68c356bcf1e76ae649e929db5e4cea9e6bdcd65 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:46 2014 +0200 b43: N-PHY: add RF power tables for radio 0x2057 revs 9 & 14 Don't write them as we don't have gains configured correctly yet. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 33df85f662a0ee03f2b8e0c9d34a51d8dd0406c0 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:45 2014 +0200 b43: N-PHY: update rev3+ gain control workarounds This fixes workarounds on rev 6+ and cleans code slightly. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 25c15566635fef86e87f762f73a19f24598e45fa Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Aug 7 07:45:37 2014 +0200 b43: flush some writes on Broadcom MIPS SoCs Access to PHY and radio registers is indirect on Broadcom hardware and it seems that addressing on some MIPS SoCs may require flushing. So far this problem was noticed on 0x4716 SoC only (marketing names: BCM4717, BCM4718). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d342b95dd735014a590f9051b1ba227eb54ca8f6 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:43 2014 +0200 b43: don't duplicate common PHY read/write ops Most of the PHYs use the same way of accessing registers, so move that code to the shared place. An exception is G-PHY which sometimes access A-PHY regs and requires special handling. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6247d2aa5188ac0ace33d8390341075c04107218 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:42 2014 +0200 b43: update flushing many writes performed in a row Flush radio writes as well and add some tiny optimizations (e.g. masksetting PHY reg involves reading it, so reset the counter). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b209af9981ee6b4274a0a46810dd0210e6520010 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Mon Aug 25 15:53:00 2014 +0800 r8152: check code with checkpatch.pl 626: CHECK: Alignment should match open parenthesis 646: CHECK: Alignment should match open parenthesis 655: CHECK: Alignment should match open parenthesis 695: CHECK: Alignment should match open parenthesis 729: CHECK: Alignment should match open parenthesis 739: CHECK: Alignment should match open parenthesis 976: WARNING: externs should be avoided in .c files 1314: CHECK: Alignment should match open parenthesis 1358: WARNING: networking block comments don't use an empty /* line, use /* Comment... 1402: WARNING: networking block comments don't use an empty /* line, use /* Comment... 1521: CHECK: multiple assignments should be avoided 1775: CHECK: Alignment should match open parenthesis 1838: CHECK: multiple assignments should be avoided 1843: CHECK: multiple assignments should be avoided 1847: CHECK: multiple assignments should be avoided 1850: WARNING: Missing a blank line after declarations 1864: CHECK: Alignment should match open parenthesis 1872: CHECK: braces {} should be used on all arms of this statement 1906: CHECK: usleep_range is preferred over udelay 2865: WARNING: networking block comments don't use an empty /* line, use /* Comment... 3088: CHECK: Alignment should match open parenthesis total: 0 errors, 5 warnings, 16 checks, 3567 lines checked Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07bc788424b9a2ee6cc20b70311c0950897ee0eb Merge: 47e4df9 13cac15 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Aug 25 15:58:02 2014 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 39bdc95871b57828b3bbefc0280a1a80a6b63d9e Merge: ed7f92d ff9e762 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 11:09:35 2014 -0700 Merge tag 'iio-for-3.18a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into work-next Jonathan writes: 1st round of new IIO drivers, functionality and cleanups for the 3.18 cycle. Maintainer Updates * Add 3 designated reviewers for IIO. Lars, Peter and Hartmut have been actively reviewing a lot of patches for a while now so this reflects the status quo. These three are probably the only reason I keep my head above the water! New drivers and device support * max5821 DAC * Rockchip SARADC * TI ADC128S052 ADC * BMC150 Accelerometer * exynos ADC driver gains support for s3c24xx and s3c64xx parts. * kxcjk-1013 gainst range control and runtime PM support to drive down it's power usage. Driver removals * Drop ad5930, ad99850, ad9852, ad9910 and ad9951 drivers on the simple basis that they drivers just provided a register write function with no compliant user space ABI whatsoever. Much better to drop them and start again for these in the fullness of time. Core Enhancements * Join together neighbouring elements in the demux units that feeds the binary interfaces. This cuts down on the number of individual copies needed when splitting out individual channels from the incoming channel scans. * Other demux related cleanups such as using roundup instead of a local implementation. Cleanups * Drop an unnecessary double setting of the owner field in xilinx adc. * Some more patches to use managed (devm) interfaces to cut down on complexity of removal code. * adis16060 coding style fixlets. * Fix some incorrect error returns in the Xilinx ADC driver. * Coding style fixlets for various accelerometer drivers. * Some sparse warning fixes to do with endianness and sign of variables. * Fix an incorrect and entirely pointless use of sizeof on a dynamic pointer in hid-sensor-magn-3d by dropping the relevant code. commit 251f8c0364f99fc21fcc7b07e4ec6b4f3250d841 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Mon Aug 25 19:27:52 2014 +0800 cgroup: fix a typo in comment. There is no function named cgroup_enable_task_cg_links(). Instead, the correct function name in this comment should be cgroup_enabled_task_cg_lists(). Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f55df0d654e10ad49e0e7edaeef02fa00e084d94 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:54:25 2014 +0200 ARM: at91: Remove rstc and shdwc headers These headers used to provide an "API" to access the rstc and shdwc registers. Now that no-one uses this API anymore, we can safely remove those. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 351a4ffea259a11deebe0eb169c46ccbfc3abd36 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:46:31 2014 +0200 ARM: at91: Remove rstc and shdwnc global base addresses Now that there's no user left for the global variables holding the reset and shutdown controllers base address, we can remove these variables and their associated mapping function. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 572e85e3aa58f11671759e9cfa6b9b5d79b131fd Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:46:05 2014 +0200 ARM: at91/pm: Remove show_reset_status function Both the reset and poweroff drivers are now implementing what the show_reset_status function used to do. Hence, we can remove this rather hackish function that prevents us from doing further cleanup. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4ae9ccf2fab87aaf9e0e906ba85675be020f6948 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 15:41:56 2014 +0200 ARM: at91: Remove poweroff code Now that all the SoC have been converted to use the new poweroff driver, we can remove the poweroff code defined in mach-at91. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 75ddf376d1aeac04688efc5c806f8a4baa995474 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:39:43 2014 +0200 ARM: at91: Register the poweroff driver Register the poweroff driver in the old-style SoC definition so that the driver is loaded and provide a shutdown hook. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5c0593db802c8a9da15216615e466fd4e729df6f Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 7 16:25:26 2014 +0200 ARM: at91: Remove poweroff DT probing Now that the poweroff code is a driver of its own, remove the DT probing in mach-at91 and let the usual DT code do its job. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 54ad89b05ec49b90790de814647b244d3d2cc5ca Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Aug 25 16:08:21 2014 +0200 kvm: x86: fix tracing for 32-bit Fix commit 7b46268d29543e313e731606d845e65c17f232e4, which mistakenly included the new tracepoint under #ifdef CONFIG_X86_64. Reported-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 99d63fa1c8fe8853540116a6deaedc1ba1fc0468 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 12:00:52 2014 +0200 ARM: at91: Remove reset code from the machine code Now that the transition is over and that we probe our reset driver in every case, we can remove the legacy code from the machine directory. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e76265c627ca0aff6cc129486ac656b6b6dd06af Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 11:55:33 2014 +0200 ARM: at91: Call at91_register_devices in the board files Make every board call the register_devices callback so that the devices declared by the SoC are registered. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d8dfa2d4e912c091c51c864af1e4b02b3bd6e9a2 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 11:10:10 2014 +0200 ARM: at91: Probe the reset driver Register the reset device in the right SoCs so that the reset driver is actually probed even in the old-style probing case. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 65f2ce96a94d2a61fca486a48d9da30845b16d20 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 2 17:49:28 2014 +0200 ARM: at91/soc: Introduce register_devices callback Some core devices should be registered by the SoC itself rather than by every board using this SoC. Introduce a register_devices callback that should be called during the init_machine in order to do that. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4b0a683cf16eac06385c96c2fcf21766818f757c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 2 17:47:50 2014 +0200 ARM: at91: Remove the old-style reset probing Now that the reset code is a driver of its own, just let the usual DT probing mecanism do its job, and remove the code entirely in this case. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8d248f0d3a1ddb3c671b4029f8950fbad09be7ae Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 15:58:49 2014 +0200 ARM: at91: Rework ramc mapping code Adapt the ramc mapping code to handle multiple ram controllers in the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 57f2d8b797c4c8d9e65e3b9fae98246be5a93df3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Aug 25 19:04:52 2014 +0530 ALSA: ctxfi: ctpcm.c: printk replacement replaced printk with corresponding pr_err Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9e8be232b934418932e40da276f6871dce83fa7c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 2 12:04:43 2014 +0200 ARM: at91: setup: Switch to pr_fmt Most of the printed messages are using the "AT91:" prefix in the setup.c file, but not all of them. Moreover, those who add it hardcode it directly in the message, while the pr_fmt macro makes it easier for us to support such a case. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 137fd45ffec15db14034990ceac890975cae7a32 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Wed May 28 18:50:13 2014 +0800 pwm: imx: Avoid sample FIFO overflow for i.MX PWM version2 The i.MX PWM version2 is embedded in several i.MX SoCs, such as i.MX27, i.MX51 and i.MX6SL. There is a 4-word (16 bit) sample FIFO in this IP. Each FIFO slot determines the duty period of a PWM waveform in one full cycle. The IP spec mentions that we should not write a fourth sample because the FIFO will become full and triggers a FIFO write error (FWE) which will prevent the PWM from starting once it is enabled. In order to avoid any sample FIFO overflow issue, this patch clears all sample FIFO by doing software reset in the configuration hook when the controller is disabled or waits for a full PWM cycle to get a relinquished FIFO slot when the controller is enabled and the FIFO is fully loaded. The FIFO overflow issue can be reproduced by the following commands on the i.MX6SL EVK platform, assuming we use PWM2 for the debug LED which is driven by the pin HSIC_STROBE and the maximal brightness is 255. echo 0 > /sys/class/leds/user/brightness echo 0 > /sys/class/leds/user/brightness echo 0 > /sys/class/leds/user/brightness echo 0 > /sys/class/leds/user/brightness echo 255 > /sys/class/leds/user/brightness Here, FWE happens (PWMSR register reads 0x58) and the LED can not be lighten. Another way to reproduce the FIFO overflow issue is to run this script: while true; do echo 255 > /sys/class/leds/user/brightness; done Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Cc: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Cc: linux-pwm@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 40f260c2cebb464dda6916055112963f1421a111 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Wed May 28 18:50:12 2014 +0800 pwm: imx: Cleanup indentation for register definitions This patch contains no logic change to cleanup indentation for register definitions only. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Cc: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Cc: linux-pwm@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit bd59bdc898623e6c948a9f900250ce7343cf9012 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Wed May 28 18:50:11 2014 +0800 pwm: imx: Fix the macro MX3_PWMCR_PRESCALER(x) definition This patch adds missing parentheses around the argument of the macro MX3_PWMCR_PRESCALER(x) to avoid any potential macro expansion issue. Reported-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Cc: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Cc: linux-pwm@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 7cd4b90a737e2e6f41be4ac8b1df847fec67f3da Merge: 7b46268 ab3f285 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Aug 25 15:37:00 2014 +0200 Merge tag 'kvm-s390-20140825' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD Here are two fixes for s390 KVM code that prevent: 1. a malicious user to trigger a kernel BUG 2. a malicious user to change the storage key of read-only pages commit e657ce689a85ff1c887b8020282e5b2ab1411ded Merge: 3933361 ae499f0 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Aug 25 15:35:26 2014 +0200 Merge tag 'at91-drivers-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux Pull AT91 reset, poweroff and ram drivers from Maxime Ripard: "This tag holds the various new drivers introduced to move code that used to be in mach-at91 over to the proper frameworks. These files are the reboot and poweroff code for all AT91 SoCs but the RM9200, and the ram controller driver is not doing much at the time, except for grabing the RAM clock in order to leave it always enabled." Conflicts: arch/arm/mach-at91/Kconfig commit 39333610ba3b1e076ac1ceccca34de037a413a03 Merge: 7d1311b 2626063 464d6e1 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Aug 25 15:33:23 2014 +0200 Merge branches 'at91-3.18-cleanup' and 'at91-3.18-dt' into at91-3.18-drivers commit 533acc0e8df7d6553f11cf91c177211cb6037968 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 18 17:08:44 2014 +0800 pwm: Fix possible ZERO_SIZE_PTR pointer dereferencing error. Since we cannot make sure the 'chip->npwm' will always be none zero here, and then if either equal to zero, the kzalloc() will return ZERO_SIZE_PTR, which equals to ((void *)16). So this patch fix this with just doing the zero check before calling kzalloc(). Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 6e0a0431bf7d90ed0b8a0a974ad219617a70cc22 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Apr 29 09:34:41 2014 +0200 KVM: s390/mm: cleanup gmap function arguments, variable names Make the order of arguments for the gmap calls more consistent, if the gmap pointer is passed it is always the first argument. In addition distinguish between guest address and user address by naming the variables gaddr for a guest address and vmaddr for a user address. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 9da4e3807657f3bcd12cfbb5671d80794303dde2 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 30 14:46:26 2014 +0200 KVM: s390/mm: readd address parameter to gmap_do_ipte_notify Revert git commit c3a23b9874c1 ("remove unnecessary parameter from gmap_do_ipte_notify"). Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 55dbbdd9a832b3c0546a65df155d9e6eee8c312e Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 30 14:44:44 2014 +0200 KVM: s390/mm: readd address parameter to pgste_ipte_notify Revert git commit 1b7fd6952063 ("remove unecessary parameter from pgste_ipte_notify") Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 331cbc277ec4ae5827b9ca538d9b5469fdca0947 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 15:39:43 2014 +0200 KVM: s390: don't use kvm lock in interrupt injection code The kvm lock protects us against vcpus going away, but they only go away when the virtual machine is shut down. We don't need this mutex here, so let's get rid of it. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 7939503147f89f0799ddc89afec2aeae57dd7e2c Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 17 10:10:30 2014 +0200 KVM: s390: return -EFAULT if lowcore is not mapped during irq delivery Currently we just kill the userspace process and exit the thread immediatly without making sure that we don't hold any locks etc. Improve this by making KVM_RUN return -EFAULT if the lowcore is not mapped during interrupt delivery. To achieve this we need to pass the return code of guest memory access routines used in interrupt delivery all the way back to the KVM_RUN ioctl. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit d3d692c82e4ed79ae7c85f8825ccfdb7d11819da Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 29 08:53:36 2014 +0200 KVM: s390: implement KVM_REQ_TLB_FLUSH and make use of it Use the KVM_REQ_TLB_FLUSH request in order to trigger tlb flushes instead of manipulating the SIE control block whenever we need it. Also trigger it for a control register sync directly instead of (ab)using kvm_s390_set_prefix(). Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit b028ee3edd54d338dd811aeafd670a2c682be558 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 17 10:47:43 2014 +0200 KVM: s390: synchronize more registers with kvm_run In order to reduce the number of syscalls when dropping to user space, this patch enables the synchronization of the following "registers" with kvm_run: - ARCH0: CPU timer, clock comparator, TOD programmable register, guest breaking-event register, program parameter - PFAULT: pfault parameters (token, select, compare) The registers are grouped to reduce the overhead when syncing. As this grows the number of sync registers quite a bit, let's move the code synchronizing registers with kvm_run from kvm_arch_vcpu_ioctl_run() into separate helper routines. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit c3950b66b9ceff1614db870d2d5a9bd47531a712 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Aug 4 16:54:22 2014 +0200 KVM: s390: no special machine check delivery The load PSW handler does not have to inject pending machine checks. This can wait until the CPU runs the generic interrupt injection code. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit fbfa304963fa8bf990dac1d05a77800d1e123b66 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 29 08:22:33 2014 +0200 KVM: s390: clear kvm_dirty_regs when dropping to user space We should make sure that all kvm_dirty_regs bits are cleared before dropping to user space. Until now, some would remain pending. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit d8482c0d87708114a10e232768723626bf1099ba Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 29 08:19:26 2014 +0200 KVM: clarify the idea of kvm_dirty_regs This patch clarifies that kvm_dirty_regs are just a hint to the kernel and that the kernel might just ignore some flags and sync the values (like done for acrs and gprs now). Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 8a2ef71b0bd0060c7095fd2043992b78e23735c4 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 23 16:36:06 2014 +0200 KVM: s390: factor out get_ilc() function Let's make this a reusable function. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 44c6ca3d1b9c16cb715c21ec15670d27a8950822 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 16 13:57:18 2014 +0200 KVM: s390: add defines for pfault init delivery code Get rid of open coded values for pfault init. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 84693d87a6d7e84a5183fc871653269880614d92 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:41:38 2014 +0200 crypto: drbg - remove unnecessary sanity check for shadow state During creation of the DRBG shadow state, it is ensured that the DRBG state structure is already allocated. Thus, a sanity check for verifying that the structure is allocated is removed. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 05c81ccd9087d238c10b234eadb55632742e5518 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:41:10 2014 +0200 crypto: drbg - remove configuration of fixed values SP800-90A mandates several hard-coded values. The old drbg_cores allows the setting of these values per DRBG implementation. However, due to the hard requirement of SP800-90A, these values are now returned globally for each DRBG. The ability to set such values per DRBG is therefore removed. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bc034ef5573ef4d81daa666c02a3df1ad28e24a7 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:40:20 2014 +0200 crypto: drbg - remove unnecessary sanity checks The drbg_make_shadow function contains sanity checks which are not needed as the function is invoked at times where it is ensured that the checked-for variables are available. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e6c0244ad38a358598392638688b1dcac7878f66 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:39:31 2014 +0200 crypto: drbg - use kmalloc instead of kzalloc for V and C When allocating V, C, the zeroization is only needed when allocating a new instance of the DRBG, i.e. when performing an initial seeding. For all other allocations, the memcpy implemented in drbg_copy_drbg ensures that the memory is filled with the correct information. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f072f0e0fe0f3758c7c94bee875564c89fd07d08 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:38:58 2014 +0200 crypto: drbg - remove superflowous memset(0) Remove memset(0) which is not needed due to the kzalloc of the memory. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 45943a58df46b912685af26000e4dbacddd9c567 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:38:29 2014 +0200 crypto: drbg - remove superflowous checks The crypto_init and crypto_fini functions are always implemented. Thus, there is no need for a protecting check. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 46f64f6ef978dc1f36ebaa50ed79c7c8386711ee Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:37:59 2014 +0200 crypto: drbg - kzfree does not need a check for NULL pointer The kzfree function already performs the NULL pointer check. Therefore, the DRBG code does not need to implement such check. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 72f3e00dd67ec449199a8844bc012a4fa1e0340a Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:37:34 2014 +0200 crypto: drbg - replace int2byte with cpu_to_be The DRBG requires the conversion of an integer into a string representation of that integer. The previous implementation converted the given integer byte-wise. However, the kernel offers the cpu_to_be function which already re-arranges the memory representation of an integer such that it applies when interpreting the same memory as character string. The change therefore uses an integer-cast / union of the target character array together with the cpu_to_be function to convert an integer into its string representation. Tests show that the Hash and CTR DRBG implementations (the HMAC DRBG does not require such conversion) is about 10% faster (or requires less computing power, respectively). Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4451d494b1910bf7b7f8381a637d0fe6d2142467 Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Thu Aug 14 13:51:57 2014 +0300 crypto: caam - fix addressing of struct member buf_0 and buf_1 in caam_hash_state are not next to each other. Accessing buf_1 is incorrect from &buf_0 with an offset of only size_of(buf_0). The same issue is also with buflen_0 and buflen_1 Cc: <stable@xxxxxxxxxxxxxxx> # 3.13+ Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 307fd543f3d23f8f56850eca1b27b1be2fe71017 Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Thu Aug 14 13:51:56 2014 +0300 crypto: caam - remove duplicated sg copy functions Replace equivalent (and partially incorrect) scatter-gather functions with ones from crypto-API. The replacement is motivated by page-faults in sg_copy_part triggered by successive calls to crypto_hash_update. The following fault appears after calling crypto_ahash_update twice, first with 13 and then with 285 bytes: Unable to handle kernel paging request for data at address 0x00000008 Faulting instruction address: 0xf9bf9a8c Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=8 CoreNet Generic Modules linked in: tcrypt(+) caamhash caam_jr caam tls CPU: 6 PID: 1497 Comm: cryptomgr_test Not tainted 3.12.19-rt30-QorIQ-SDK-V1.6+g9fda9f2 #75 task: e9308530 ti: e700e000 task.ti: e700e000 NIP: f9bf9a8c LR: f9bfcf28 CTR: c0019ea0 REGS: e700fb80 TRAP: 0300 Not tainted (3.12.19-rt30-QorIQ-SDK-V1.6+g9fda9f2) MSR: 00029002 <CE,EE,ME> CR: 44f92024 XER: 20000000 DEAR: 00000008, ESR: 00000000 GPR00: f9bfcf28 e700fc30 e9308530 e70b1e55 00000000 ffffffdd e70b1e54 0bebf888 GPR08: 902c7ef5 c0e771e2 00000002 00000888 c0019ea0 00000000 00000000 c07a4154 GPR16: c08d0000 e91a8f9c 00000001 e98fb400 00000100 e9c83028 e70b1e08 e70b1d48 GPR24: e992ce10 e70b1dc8 f9bfe4f4 e70b1e55 ffffffdd e70b1ce0 00000000 00000000 NIP [f9bf9a8c] sg_copy+0x1c/0x100 [caamhash] LR [f9bfcf28] ahash_update_no_ctx+0x628/0x660 [caamhash] Call Trace: [e700fc30] [f9bf9c50] sg_copy_part+0xe0/0x160 [caamhash] (unreliable) [e700fc50] [f9bfcf28] ahash_update_no_ctx+0x628/0x660 [caamhash] [e700fcb0] [f954e19c] crypto_tls_genicv+0x13c/0x300 [tls] [e700fd10] [f954e65c] crypto_tls_encrypt+0x5c/0x260 [tls] [e700fd40] [c02250ec] __test_aead.constprop.9+0x2bc/0xb70 [e700fe40] [c02259f0] alg_test_aead+0x50/0xc0 [e700fe60] [c02241e4] alg_test+0x114/0x2e0 [e700fee0] [c022276c] cryptomgr_test+0x4c/0x60 [e700fef0] [c004f658] kthread+0x98/0xa0 [e700ff40] [c000fd04] ret_from_kernel_thread+0x5c/0x64 Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 65fafbe9bddf49d53a2bbae92498909e3c5f964b Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Aug 14 09:00:44 2014 +0800 crypto: qat - Fix return value check in adf_chr_drv_create() In case of error, the function device_create() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e5ffbfc182bc148f44840bdd3970ea4c8bf80c3c Author: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Date: Mon Aug 11 11:40:17 2014 +0300 crypto: caam - enable raw data instead of von Neumann data The sampling of the oscillator can be done in multiple modes for generating the entropy value. By default, this is set to von Neumann. This patch changes the sampling to raw data, since it has been discovered that the generated entropy has a better 'quality'. Signed-off-by: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit eeaa1724a2e9c8958a8621b3c10d5ca0667e78fa Author: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Date: Mon Aug 11 11:40:16 2014 +0300 crypto: caam - change starting entropy delay value The entropy delay (the length in system clocks of each entropy sample) for the RNG4 block of CAAM is dependent on the frequency of the SoC. By elaborate methods, it has been determined that a good starting value for all platforms integrating the CAAM IP is 3200. Using a higher value has additional benefit of speeding up the process of instantiating the RNG, since the entropy delay will be increased and instantiation of the RNG state handles will be reattempted by the driver. If the starting value is low, for certain platforms, this can lead to a quite lengthy process. This patch changes the starting value of the length of the entropy sample to 3200 system clocks. In addition to this change, the attempted entropy delay values are now printed on the console upon initialization of the RNG block. While here, a safeguard for yielding the processor was added for ensuring that in very adverse cases, the CPU isn't hogged by the instantiation loop. Signed-off-by: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b061f3fefcffa0cdcdc61ae2a1123a4e7697d452 Author: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Date: Mon Aug 11 11:40:15 2014 +0300 crypto: caam - disable RNG oscillator maximum frequency check The rtfrqmax & rtfrqmin set the bounds of the expected frequency of the oscillator, when SEC runs at its maximum frequency. For certain platforms (f.i. T2080), the oscillator is very fast and thus if the SEC runs at a lower than normal frequency, the ring oscillator is incorrectly detected as being out of bounds. This patch effectively disables the maximum frequency check, by setting a high enough maximum allowable frequency for the oscillator. The reasoning behind this is that usually a broken oscillator will run too slow (i.e. not run at all) rather than run too fast. Signed-off-by: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d4c85f9bb53f25491524839ab1610b30810ab898 Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Fri Aug 8 12:30:04 2014 +0300 crypto: testmgr - remove unused function argument The argument "req" of do_one_async_hash_op is not used by the function. This patch removes this argument and renames the function to match more closely its purpose. Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ad61e042e9151b55b393d5875e467e7fe0c7470c Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:30:03 2014 -0700 crypto: sha-mb - SHA1 multibuffer job manager and glue code This patch introduces the multi-buffer job manager which is responsible for submitting scatter-gather buffers from several SHA1 jobs to the multi-buffer algorithm. It also contains the flush routine to that's called by the crypto daemon to complete the job when no new jobs arrive before the deadline of maximum latency of a SHA1 crypto job. The SHA1 multi-buffer crypto algorithm is defined and initialized in this patch. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 12d2513d5fe23aed53872f9303d9cb4b61b60d80 Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:30:00 2014 -0700 crypto: sha-mb - SHA1 multibuffer crypto computation (x8 AVX2) This patch introduces the assembly routines to do SHA1 computation on buffers belonging to serveral jobs at once. The assembly routines are optimized with AVX2 instructions that have 8 data lanes and using AVX2 registers. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2249cbb53ead12539c4ab7f422400e82263d174b Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:29:57 2014 -0700 crypto: sha-mb - SHA1 multibuffer submit and flush routines for AVX2 This patch introduces the routines used to submit and flush buffers belonging to SHA1 crypto jobs to the SHA1 multibuffer algorithm. It is implemented mostly in assembly optimized with AVX2 instructions. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 116177782392739f06868cfc2e6df5267aec4639 Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:29:54 2014 -0700 crypto: sha-mb - SHA1 multibuffer algorithm data structures This patch introduces the data structures and prototypes of functions needed for computing SHA1 hash using multi-buffer. Included are the structures of the multi-buffer SHA1 job, job scheduler in C and x86 assembly. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1e65b81a90df50bf450193065cc9073b706b8dda Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:29:51 2014 -0700 crypto: sha-mb - multibuffer crypto infrastructure This patch introduces the multi-buffer crypto daemon which is responsible for submitting crypto jobs in a work queue to the responsible multi-buffer crypto algorithm. The idea of the multi-buffer algorihtm is to put data streams from multiple jobs in a wide (AVX2) register and then take advantage of SIMD instructions to do crypto computation on several buffers simultaneously. The multi-buffer crypto daemon is also responsbile for flushing the remaining buffers to complete the computation if no new buffers arrive for a while. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2ee507c472939db4b146d545352b8a7c79ef47f8 Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:29:48 2014 -0700 sched: Add function single_task_running to let a task check if it is the only task running on a cpu This function will help an async task processing batched jobs from workqueue decide if it wants to keep processing on more chunks of batched work that can be delayed, or to accumulate more work for more efficient batched processing later. If no other tasks are running on the cpu, the batching process can take advantgae of the available cpu cycles to a make decision to continue processing the existing accumulated work to minimize delay, otherwise it will yield. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bbb9a7dd7fd1ec076b034e6f5bce3fb5a215f050 Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Fri Aug 8 14:27:52 2014 +0300 crypto: testmgr - delay execution of set-up code Prepare IV array only if the dependent code is executed. Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a1aa44a2eb498d17e725578f5c30c160a8ed9f8d Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Fri Aug 8 14:27:51 2014 +0300 crypto: testmgr - white space removal on __test_skcipher This patch inverts two if conditions to remove code blocks indentation. Several white space clean-ups follow. Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5f2b424e5c6c2d4de2c72875ea970e5984fe9268 Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Fri Aug 8 14:27:50 2014 +0300 crypto: testmgr - white space removal on __test_hash This patch inverts one if condition to remove code block indentation. Several white space clean-ups follow. Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 05b1d3386f33ef09500db471e7a7b92ebd2f5d5f Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Mon Jul 28 13:11:23 2014 +0300 crypto: testmgr - white space fix-ups on test_aead This patch inverts two if conditions and allows removal of one tab-stop in their code-blocks. Only white-space clean-up follows. Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6d9529c586dbf0d356916d113f72f36397e71cdb Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 10 16:18:08 2014 -0700 crypto: hash - initialize entry len for null input in crypto hash sg list walk For the special case when we have a null input string, we want to initialize the entry len to 0 for the hash/ahash walk, so cyrpto_hash_walk_last will return the correct result indicating that we have completed the scatter list walk. Otherwise we may keep walking the sg list and access bogus memory address. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ad16202de8d884c10ef7637ea3982953519c2418 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Aug 25 12:38:31 2014 +0300 pwm: lpss: make it buildable only on X86 There is no sign of this IP block on non-x86 architectures and rather will not be. Thus, make this explicit by applying a direct dependency to X86. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit b2b7adeb21745266326d453b95e5d0b1b9cb1d4e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 13:20:25 2014 +0200 pwm: lpss: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> [thierry.reding: rebased and applied same fix for Braswell] Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 61e9aab7a1930ae031d1b9d948837b5ffd8e3f5e Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:33:18 2014 +0200 ath10k: flush hif buffers before recovery Transport buffers weren't flushed and processed before queueing hw recovery request to mac80211. This could in theory result in an unwanted htt/wmi rx events being processed while mac80211 recovers the device and possibly interfere or even crash the system. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 53b4e07354d4547b7ebb17b6eb63ce2694ad1479 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:33:17 2014 +0200 ath10k: remove ar_pci->started There are basically no more uses for ar_pci->started. It is also perfectly safe to call hif_stop without hif_start now. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cf5dd36d96d725f798e82038463f7066ddda482a Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:33:16 2014 +0200 ath10k: ignore ar_pci->started in pipe cleanup Structures used by these functions are now guaranteed to remain accessible until driver is unregistered. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 10d23db44a6ab4bb454228e9e97ef19455522627 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:33:15 2014 +0200 ath10k: update comment regarding warm reset The old comment was a little out of date. HTT Rx ring is a more relevant problem when stopping transport layer. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 728f95eef5238bffdb20e511f5cd553321d404c3 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:33:14 2014 +0200 ath10k: rework posting pci rx buffers It was possible on a host system running low on memory to end up with no rx buffers on pci pipes. This makes the driver more robust as it won't fail to start if it can't allocate all rx buffers right away. If it is fatal then upper layers will notice trouble anyway. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5c771e7454d148af35e8b4297d00f880de79ea49 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:34 2014 +0200 ath10k: remove early irq handling It's not really necessary to have a dedicated irq handler just for the sake of catching early fw crashes anymore. It is now safe to use one handler even during early stages of device boot up. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit ec5ba4d3b6b60456b067e8c625e87e67cdde2d12 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:33 2014 +0200 ath10k: make sure to really disable irqs This fixes two corner cases. One is a race between disabling copy engine interrupts and unhandled pending interrupts on the host. This could end up with a runaway tasklet and consequently memory leak of a few copy engine rx buffers. The other one is an unexpected (and non-maskable via device CSR) MSI fw indication interrupt during teardown. This could trigger the same problem as the first corner case. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 145cc1214a271c72b81a064f4d65c3cf612e941e Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:32 2014 +0200 ath10k: split ce irq/handler setup It doesn't make much sense to overwrite send_cb and recv_cb callbacks over and over again whenever transport starts. Just make sure to unmask copy engine interrupts when starting. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 403d627be9a541437bfcf392c192b12f366ed2a2 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:31 2014 +0200 ath10k: setup irq method in probe It doesn't make sense to re-init irqs completely whenever transport is started/stopped. Do it just once upon probing/removing. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c947a9e1c7b81f7d6a94f3bc3f16475d982e77ea Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:30 2014 +0200 ath10k: fix legacy irq workaround Wrong register was being set up. This could prevent firmware from booting in some rare cases when using legacy interrupts. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8079de0daea7267f9064f1eb0e8c1bad6d37abad Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:29 2014 +0200 ath10k: move fw init print Firmware probing is done only once when driver is registered and firmware version is guaranteed to remain the same until driver is unregistered. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 76c7c4916e96e55e637943bc03aaaf2e9b43ef73 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:26 2014 +0200 HID: uhid: update documentation Remove legacy bits, refer people to hid-transport.txt and add descriptions for all new features. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c2b2f16c5c62583d4f8904e44c4b30c94a01eaf1 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:25 2014 +0200 HID: uhid: report to user-space whether reports are numbered This makes UHID_START include a "dev_flags" field that describes details of the hid-device in the kernel. The first flags we introduce describe whether a given report-type uses numbered reports. This is useful for transport layers that force report-numbers and therefore might have to prefix kernel-provided HID-messages with the report-number. Currently, only HoG needs this and the spec only talks about "global report numbers". That is, it's a global boolean not a per-type boolean. However, given the quirks we already have in kernel-space, a per-type value seems much more appropriate. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 11c221553080408b203a00b91ad5f647dfb218d1 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:24 2014 +0200 HID: uhid: implement SET_REPORT We so far lacked support for hid_hw_raw_request(..., HID_REQ_SET_REPORT); Add support for it and simply forward the request to user-space. Note that SET_REPORT is synchronous, just like GET_REPORT, even though it does not provide any data back besides an error code. If a transport layer does SET_REPORT asynchronously, they can just ACK it immediately by writing an uhid_set_report_reply to uhid. This patch re-uses the synchronous uhid-report infrastructure to query user-space. Note that this means you cannot run SET_REPORT and GET_REPORT in parallel. However, that has always been a restriction of HID and due to its blocking nature, this is just fine. Maybe some future transport layer supports parallel requests (very unlikely), however, until then lets not over-complicate things and avoid request-lookup-tables. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7c4003bc367d5ff1cbce579a883f17698a9a6da2 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:23 2014 +0200 HID: uhid: rename uhid_raw_request to uhid_hid_raw_request We use strict prefixed in uhid.c: uhid_char_*: implement char-dev callbacks uhid_dev_*: implement uhid device management and runtime uhid_hid_*: implement hid-dev callbacks uhid_raw_request is an hid callback, so rename it to uhid_hid_raw_request. While at it, move it closer to it's extracted helpers and keep the same order as in "struct hid_driver". Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 50598e7055d0d8610732e7eb2c84cbc3bc7db294 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:22 2014 +0200 HID: uhid: keep legacy definitions at the bottom of uhid.h Instead of inlining the legacy definitions into the main part of uhid.h, keep them at the bottom now. This way, the API is much easier to read and legacy requests can be looked up at a separate place. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit fa71f32b5de2be1644ee671ddbe211d79be7847f Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:21 2014 +0200 HID: uhid: add ABI compatible UHID_GET_REPORT replacing UHID_FEATURE The old hdev->hid_get_raw_report() was broken by design. It was never clear what kind of HW request it should trigger. Benjamin fixed that with the core HID cleanup, though we never really adjusted uhid. Unfortunately, our old UHID_FEATURE command was modelled around the broken hid_get_raw_report(). We converted it silently to the new GET_REPORT and nothing broke. Make this explicit by renaming UHID_FEATURE to UHID_GET_REPORT and UHID_FEATURE_ANSWER to UHID_GET_REPORT_REPLY. Note that this is 100% ABI compatible to UHID_FEATURE. This is just a rename. But we have to keep the old definitions around to not break API. >From now on, UHID_GET_REPORT must trigger a GET_REPORT request on the user-space hardware layer. All the ambiguity due to the weird "feature" name should be gone now. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5942b849b124c54002346e699f50db3714e300ed Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:20 2014 +0200 HID: uhid: invert report_done and make non-atomic All accesses to @report_done are protected by qlock (or report-contexts). No need to use an atomic. While at it, invert the logic and call it "report_running". This is similar to the uhid->running field and easier to read. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8cad5b017178bd7fa56d5039478d46964bcd94f7 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:19 2014 +0200 HID: uhid: turn report_id into u32 All accesses to @report_id are protected by @qlock. No need to use an atomic. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 25be7fe2be879a96920cc74809e1bff1b0ae0bac Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:18 2014 +0200 HID: uhid: avoid magic-numbers when setting strings Avoid hard-coding the target buffer sizes and use sizeof() instead. This also makes us future-proof to buffer-extensions later on. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 41c4a46423c08274ef83cdbd44bbd2066cba59bb Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:17 2014 +0200 HID: uhid: avoid dangling pointers in uhid context Avoid keeping uhid->rd_data and uhid->rd_size set in case uhid_dev_create2() fails. This is non-critical as we never flip uhid->running and thus never enter uhid_dev_destroy(). However, it's much nicer for debugging if pointers are only set if they point to valid data. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 56c47754631b98624e844305709d6a296bde20d1 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:16 2014 +0200 HID: uhid: forward create_req to create2_req Instead of hard-coding the uhid_dev_create() function twice, copy any create_req into a create2_req structure and forward it. We allocate uhid_create_req on the stack here, but that should be fine. Unlike uhid_create2_req it is fairly small (<1KB) and it's only used temporarily to swap entries. uhid_dev_create2() doesn't access it. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0e0d7520064c9f5668c030afafdbcab242176195 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:15 2014 +0200 HID: uhid: simplify report-cb shutdown The report-query is blocking, so when user-space destroys a device we have to wake up any blocking kernel context that is currently in the report-cb. We used some broken correlation between @report_done and @running so far. Replace it by a much more obvious use. We now wake up the report-cb if either @report_done or @running is set. wake_up() and wait_event() serve as implicit barriers (as they always do) so no need to use smp_rmb/wmb directly. Note that @report_done is never reset by anyone but the report-cb, thus it cannot flip twice while we wait for it. And whenever we set @running, we afterwards synchronously remove the HID device. Therefore, we wait for all report-cbs to finish before we return. This way, @running can never flip to true while we wait for it. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8a0c797edb65249a82fd6f2ede39785282b4901f Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Aug 25 08:37:45 2014 +0300 ath10k: print more driver info when firmware crashes Sometimes users forget to include important info like firmware version, so better to print all the info. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0e9848c0ec5a8f57e98264ae532b6adcaeecac3b Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Aug 25 08:37:37 2014 +0300 ath10k: rename ath10k_pci_hif_dump_area() to ath10k_pci_fw_crashed_dump() Better to have a clear name for the function. While at it, clear up the title for the register dump. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 384914b2e5566dfce25f3f38d992708a9ef6f51b Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Mon Aug 25 08:37:32 2014 +0300 ath10k: provide firmware crash info via debugfs Store the firmware registers and other relevant data to a firmware crash dump file and provide it to user-space via debugfs. Should help with figuring out why the firmware crashed. kvalo: remove dbglog support, rework and refactor the code to avoid ifdefs and otherwise simplify it as well Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3d29a3e04298e3883625c677f62f7f1e634eec10 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Aug 25 08:37:26 2014 +0300 ath10k: add ath10k_pci_diag_* helpers ath10k_pci_diag_read32() is for reading u32 from a device and ath10k_pci_diag_read_hi() is a helper for reading data using "host interest" table. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7a7b37328864286d0079d03198260e5f92d0a512 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 19 13:22:32 2014 +0200 ath10k: fix a conflict bug in wmi service bitmap Service mapping for main firmware branch was incorrectly used for 10.x firmware and vice-versa. This caused wmi_services in debugfs to print wrong values. This fixes commit cff990ce7ddd6 ("ath10k: fix wmi service bitmap debug") where for some reason there was either a conflict that wasn't resolved properly or git had a bad day. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 10d49878971852111b49f59f6f56c3641b691173 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Sun Aug 17 14:57:11 2014 -0700 ath6kl: fix %d confusingly prefixed with 0x in format strings Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit fe88e6dd8b9ac65912d0d9d9372fe421d6eeb21e Merge: 4c83acb c223a07 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 24 23:02:53 2014 -0700 Merge branch 'ndo_xmit_flush' Basic deferred TX queue flushing infrastructure. Over time, and specifically and more recently at the Networking Workshop during Kernel SUmmit in Chicago, we have discussed the idea of having some way to optimize transmits of multiple TX packets at a time. There are several areas of overhead that could be amortized with such schemes. One has to do with locking and transactional overhead, the other has to do with device specific costs. This patch set here is more aimed at device specific costs. Typically a device queues up a packet in the TX queue and then has to do something to have the device start processing that new entry. Sometimes this is composed of doing an MMIO write to a "tail" register, and in other cases it can involve something as expensive as a hypervisor call. The basic setup defined here is that when the driver supports deferred TX queue flushing, ndo_start_xmit should no longer perform that operation. Instead a new operation, ndo_xmit_flush, should do it. I have converted IGB and virtio_net as example initial users. The IGB conversion is tested, virtio_net is not but it does compile :-) All ndo_start_xmit call sites have been abstracted behind a new helper called netdev_start_xmit(). This just adds the infrastructure, it does not actually add any instances of actually doing multiple ndo_start_xmit calls per ndo_xmit_flush invocation. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c223a078cbe0a87d470b08db7c83c7053931ae63 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 23 13:18:10 2014 -0700 virtio_net: Support netdev_ops->ndo_xmit_flush() Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1ebf46c1f72fe542853fc00f059a7d15259379d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 22 17:24:49 2014 -0700 igb: Support netdev_ops->ndo_xmit_flush() Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4798248e4e023170e937a65a1d30fcc52496dd42 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 22 16:21:53 2014 -0700 net: Add ops->ndo_xmit_flush() Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c83acbc565d53296f1731034c5041a0fbabcaeb Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:53:12 2014 +0100 ipv6: White-space cleansing : gaps between function and symbol export This patch makes no changes to the logic of the code but simply addresses coding style issues as detected by checkpatch. Both objdump and diff -w show no differences. This patch removes some blank lines between the end of a function definition and the EXPORT_SYMBOL_GPL macro in order to prevent checkpatch warning that EXPORT_SYMBOL must immediately follow a function. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc24becae3e87d7aa8238f4fcb29bfb68f7ffb97 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:53:11 2014 +0100 ipv6: White-space cleansing : Structure layouts This patch makes no changes to the logic of the code but simply addresses coding style issues as detected by checkpatch. Both objdump and diff -w show no differences. This patch addresses structure definitions, specifically it cleanses the brace placement and replaces spaces with tabs in a few places. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67ba4152e8b77eada6a9c64e3c2c84d6112794fc Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:53:10 2014 +0100 ipv6: White-space cleansing : Line Layouts This patch makes no changes to the logic of the code but simply addresses coding style issues as detected by checkpatch. Both objdump and diff -w show no differences. A number of items are addressed in this patch: * Multiple spaces converted to tabs * Spaces before tabs removed. * Spaces in pointer typing cleansed (char *)foo etc. * Remove space after sizeof * Ensure spacing around comparators such as if statements. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9b0b2faa8ed299ca617a317e2abb9ea1bf0e733 Author: Darek Marcinkiewicz <reksio@xxxxxxxxxx> Date: Sun Aug 24 20:40:16 2014 +0200 net: ec_bhf: remove excessive debug messages This cuts down the number of debug information spit out by the driver. Signed-off-by: Dariusz Marcinkiewicz <reksio@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a98406e22c12e514bac28fec0a49dc793edaf3a8 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Sat Aug 23 17:03:28 2014 +0200 random32: improvements to prandom_bytes This patch addresses a couple of minor items, mostly addesssing prandom_bytes(): 1) prandom_bytes{,_state}() should use size_t for length arguments, 2) We can use put_unaligned() when filling the array instead of open coding it [ perhaps some archs will further benefit from their own arch specific implementation when GCC cannot make up for it ], 3) Fix a typo, 4) Better use unsigned int as type for getting the arch seed, 5) Make use of prandom_u32_max() for timer slack. Regarding the change to put_unaligned(), callers of prandom_bytes() which internally invoke prandom_bytes_state(), don't bother as they expect the array to be filled randomly and don't have any control of the internal state what-so-ever (that's also why we have periodic reseeding there, etc), so they really don't care. Now for the direct callers of prandom_bytes_state(), which are solely located in test cases for MTD devices, that is, drivers/mtd/tests/{oobtest.c,pagetest.c,subpagetest.c}: These tests basically fill a test write-vector through prandom_bytes_state() with an a-priori defined seed each time and write that to a MTD device. Later on, they set up a read-vector and read back that blocks from the device. So in the verification phase, the write-vector is being re-setup [ so same seed and prandom_bytes_state() called ], and then memcmp()'ed against the read-vector to check if the data is the same. Akinobu, Lothar and I also tested this patch and it runs through the 3 relevant MTD test cases w/o any errors on the nandsim device (simulator for MTD devs) for x86_64, ppc64, ARM (i.MX28, i.MX53 and i.MX6): # modprobe nandsim first_id_byte=0x20 second_id_byte=0xac \ third_id_byte=0x00 fourth_id_byte=0x15 # modprobe mtd_oobtest dev=0 # modprobe mtd_pagetest dev=0 # modprobe mtd_subpagetest dev=0 We also don't have any users depending directly on a particular result of the PRNG (except the PRNG self-test itself), and that's just fine as it e.g. allowed us easily to do things like upgrading from taus88 to taus113. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Tested-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Tested-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1e60bd4fe65ede0c7567d22b1e92a07b75c370f Merge: 8fc54f6 48a5fc7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 24 18:09:58 2014 -0700 Merge branch 'csums-next' Tom Herbert says: ==================== net: Checksum offload changes - Part V I am working on overhauling RX checksum offload. Goals of this effort are: - Specify what exactly it means when driver returns CHECKSUM_UNNECESSARY - Preserve CHECKSUM_COMPLETE through encapsulation layers - Don't do skb_checksum more than once per packet - Unify GRO and non-GRO csum verification as much as possible - Unify the checksum functions (checksum_init) - Simplify code What is in this fifth patch set: - Added GRO checksum validation functions - Call the GRO validations functions from TCP and GRE gro_receive - Perform checksum verification in the UDP gro_receive path using GRO functions and add support for gro_receive in UDP6 Changes in V2: - Change ip_summed to CHECKSUM_UNNECESSARY instead of moving it to CHECKSUM_COMPLETE from GRO checksum validation. This avoids performance penalty in checksumming bytes which are before the header GRO is at. Please review carefully and test if possible, mucking with basic checksum functions is always a little precarious :-) ---- Test results with this patch set are below. I did not notice any performace regression. Tests run: TCP_STREAM: super_netperf with 200 streams TCP_RR: super_netperf with 200 streams and -r 1,1 Device bnx2x (10Gbps): No GRE RSS hash (RX interrupts occur on one core) UDP RSS port hashing enabled. * GRE with checksum with IPv4 encapsulated packets With fix: TCP_STREAM 9.91% CPU utilization 5163.78 Mbps TCP_RR 50.64% CPU utilization 219/347/502 90/95/99% latencies 834103 tps Without fix: TCP_STREAM 10.05% CPU utilization 5186.22 tps TCP_RR 49.70% CPU utilization 227/338/486 90/95/99% latencies 813450 tps * GRE without checksum with IPv4 encapsulated packets With fix: TCP_STREAM 10.18% CPU utilization 5159 Mbps TCP_RR 51.86% CPU utilization 214/325/471 90/95/99% latencies 865943 tps Without fix: TCP_STREAM 10.26% CPU utilization 5307.87 Mbps TCP_RR 50.59% CPU utilization 224/325/476 90/95/99% latencies 846429 tps *** Simulate device returns CHECKSUM_COMPLETE * VXLAN with checksum With fix: TCP_STREAM 13.03% CPU utilization 9093.9 Mbps TCP_RR 95.96% CPU utilization 161/259/474 90/95/99% latencies 1.14806e+06 tps Without fix: TCP_STREAM 13.59% CPU utilization 9093.97 Mbps TCP_RR 93.95% CPU utilization 160/259/484 90/95/99% latencies 1.10262e+06 tps * VXLAN without checksum With fix: TCP_STREAM 13.28% CPU utilization 9093.87 Mbps TCP_RR 95.04% CPU utilization 155/246/439 90/95/99% latencies 1.15e+06 tps Without fix: TCP_STREAM 13.37% CPU utilization 9178.45 Mbps TCP_RR 93.74% CPU utilization 161/257/469 90/95/99% latencies 1.1068e+06 Mbps ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48a5fc773190bd5339869003fa65d38559bb8890 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:34:52 2014 -0700 gre: When GRE csum is present count as encap layer wrt csum In GRE demux if the GRE checksum pop rcv encapsulation so that any encapsulated checksums are treated as tunnel checksums. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57c67ff4bd92af634f7c91c40eb02a96dd785dda Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:34:44 2014 -0700 udp: additional GRO support Implement GRO for UDPv6. Add UDP checksum verification in gro_receive for both UDP4 and UDP6 calling skb_gro_checksum_validate_zero_check. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 149d0774a729497c6a876260d3884826088724b6 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:34:30 2014 -0700 tcp: Call skb_gro_checksum_validate In tcp[64]_gro_receive call skb_gro_checksum_validate to validate TCP checksum in the gro context. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 758f75d1ffa9ef482ae095f40087cf217e1f41b0 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:34:22 2014 -0700 gre: call skb_gro_checksum_simple_validate Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1933a7852ce6a81349855431b25122d7666bbfca Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:34:04 2014 -0700 net: add gro_compute_pseudo functions Add inet_gro_compute_pseudo and ip6_gro_compute_pseudo. These are the logical equivalents of inet_compute_pseudo and ip6_compute_pseudo for GRO path. The IP header is taken from skb_gro_network_header. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 573e8fca255a27e3573b51f9b183d62641c47a3d Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:33:47 2014 -0700 net: skb_gro_checksum_* functions Add skb_gro_checksum_validate, skb_gro_checksum_validate_zero_check, and skb_gro_checksum_simple_validate, and __skb_gro_checksum_complete. These are the cognates of the normal checksum functions but are used in the gro_receive path and operate on GRO related fields in sk_buffs. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39b5a56ec0be5effe9b7d0f18cb27724bf2e5d47 Merge: 83bc90e fd3cbdc Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Aug 24 22:35:42 2014 +0200 Merge branch 'rfc/perf' into perf/core, because it's ready for inclusion Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 83bc90e11576f9c100f8ef4ba2bcd0b89212e3fb Merge: e21ded5 451fd72 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Aug 24 22:32:24 2014 +0200 Merge branch 'linus' into perf/core, to fix conflicts Conflicts: arch/x86/kernel/cpu/perf_event_intel_uncore*.c Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 77cfe68e2808be01497124c1fa889322b483650c Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Mon May 26 19:37:40 2014 +0300 ARM: msm: Update the references to DEBUG_MSM_UARTx The Kconfig options DEBUG_MSM_UART1, DEBUG_MSM_UART2, DEBUG_MSM_UART3, MSM_DEBUG_UART1, MSM_DEBUG_UART2 and MSM_DEBUG_UART3 are removed, but they are still referenced in the following files: arch/arm/mach-msm/io.c, arch/arm/mach-msm/board-trout.c arch/arm/mach-msm/board-trout-gpio.c Fix this by updating the reference to the new Kconfig option. Reported-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 262334ae213b7e84da1d0f1c53c5ecb580fc19d0 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jul 8 16:09:37 2014 +0200 ARM: msm: remove reference to MSM_SERIAL_DEBUGGER This is a dangling symbol in the kernel: there is no config option for the MSM_SERIAL_DEBUGGER anywhere in the kernel. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8ead9f949d921f619ac474397531e799a1719e9d Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jul 8 16:07:21 2014 +0200 ARM: msm: delete dangling mahimahi board file This board file is not compiled, and includes header files that do not even exist so it can't be made to compile easily either. I assume it is a merge mistake, thus deleting it. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1b05756c48ea07ced9604ef01d11194d936da163 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Tue Aug 5 22:02:34 2014 +0200 netfilter: ipset: Fix warn: integer overflows 'sizeof(*map) + size * set->dsize' Dan Carpenter reported that the static checker emits the warning net/netfilter/ipset/ip_set_list_set.c:600 init_list_set() warn: integer overflows 'sizeof(*map) + size * set->dsize' Limit the maximal number of elements in list type of sets. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 94729f8a1e9d38c8df6c83799fde8d2eaef2ff54 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Tue Aug 5 04:56:21 2014 -0700 netfilter: ipset: Resolve missing-field-initializer warnings Resolve missing-field-initializer warnings by providing a directed initializer. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 6e41ee684ea0c338e7d83fc88725581027856595 Author: Sergey Popovich <popovich_sergei@xxxxxxx> Date: Mon May 5 11:07:06 2014 +0300 netfilter: ipset: netnet,netportnet: Fix value range support for IPv4 Ranges of values are broken with hash:net,net and hash:net,port,net. hash:net,net ============ # ipset create test-nn hash:net,net # ipset add test-nn 10.0.10.1-10.0.10.127,10.0.0.0/8 # ipset list test-nn Name: test-nn Type: hash:net,net Revision: 0 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 16960 References: 0 Members: 10.0.10.1,10.0.0.0/8 # ipset test test-nn 10.0.10.65,10.0.0.1 10.0.10.65,10.0.0.1 is NOT in set test-nn. # ipset test test-nn 10.0.10.1,10.0.0.1 10.0.10.1,10.0.0.1 is in set test-nn. hash:net,port,net ================= # ipset create test-npn hash:net,port,net # ipset add test-npn 10.0.10.1-10.0.10.127,tcp:80,10.0.0.0/8 # ipset list test-npn Name: test-npn Type: hash:net,port,net Revision: 0 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 17344 References: 0 Members: 10.0.10.8/29,tcp:80,10.0.0.0 10.0.10.16/28,tcp:80,10.0.0.0 10.0.10.2/31,tcp:80,10.0.0.0 10.0.10.64/26,tcp:80,10.0.0.0 10.0.10.32/27,tcp:80,10.0.0.0 10.0.10.4/30,tcp:80,10.0.0.0 10.0.10.1,tcp:80,10.0.0.0 # ipset list test-npn # ipset test test-npn 10.0.10.126,tcp:80,10.0.0.2 10.0.10.126,tcp:80,10.0.0.2 is NOT in set test-npn. # ipset test test-npn 10.0.10.126,tcp:80,10.0.0.0 10.0.10.126,tcp:80,10.0.0.0 is in set test-npn. # ipset create test-npn hash:net,port,net # ipset add test-npn 10.0.10.0/24,tcp:80-81,10.0.0.0/8 # ipset list test-npn Name: test-npn Type: hash:net,port,net Revision: 0 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 17024 References: 0 Members: 10.0.10.0,tcp:80,10.0.0.0 10.0.10.0,tcp:81,10.0.0.0 # ipset test test-npn 10.0.10.126,tcp:80,10.0.0.0 10.0.10.126,tcp:80,10.0.0.0 is NOT in set test-npn. # ipset test test-npn 10.0.10.0,tcp:80,10.0.0.0 10.0.10.0,tcp:80,10.0.0.0 is in set test-npn. Correctly setup from..to variables where no IPSET_ATTR_IP_TO{,2} attribute is given, so in range processing loop we construct proper cidr value. Check whenever we have no ranges and can short cut in hash:net,net properly. Use unlikely() where appropriate, to comply with other modules. Signed-off-by: Sergey Popovich <popovich_sergei@xxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit ecc245c2bd5dcee91e6818fd3e7fb6454ad2ca06 Author: Vytas Dauksa <vytas.dauksa@xxxxxxxxxxxxxx> Date: Fri Apr 4 16:10:14 2014 +0100 netfilter: ipset: Removed invalid IPSET_ATTR_MARKMASK validation Markmask is an u32, hence it can't be greater then 4294967295 ( i.e. 0xffffffff ). This was causing smatch warning: net/netfilter/ipset/ip_set_hash_gen.h:1084 hash_ipmark_create() warn: impossible condition '(markmask > 4294967295) => (0-u32max > u32max)' Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit e21ded5ecc531a64d6fc0c1693285e890b4e9569 Merge: af924aa 39ee533 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Aug 24 12:08:20 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: * Don't try to find DSOs in SYSV maps (Don Zickus) * Fallback to MAP__FUNCTION if daddr maps are NULL, i.e. addresses get looked upon more maps (Don Zickus) * Kernel fix to properly handle exited tasks, by returning POLLHUP values on perf event file descriptors. Tooling changes will come next, but were tested with this kernel fix. (Jiri Olsa) * Add +field argument support for --field option, so that one can add fields to the default list of fields to show, i.e. now one can just do: perf report --fields +pid And the pid will appear in addition to the default fields. (Jiri Olsa) Infrastructure changes: * More Intel PT prep stuff, including: - Add a 'perf test' for tracking with sched_switch - Add 'flush' callback to scripting API * hists browser (used in top and report) refactorings, getting rid of unused variables and reducing source code size by handling similar cases in a fewer functions (Namhyung Kim). * Explicitly include util/debug.h for powerpc, was being indirectly included, broke the build when some change made it stop being included. (Sukadev Bhattiprolu) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit afc5be3079796b024823bad42dc5ebf716453575 Author: Ana Rey <anarey@xxxxxxxxx> Date: Sun Aug 24 14:08:36 2014 +0200 netfilter: nft_meta: Add cpu attribute support Add cpu support to meta expresion. This allows you to match packets with cpu number. Signed-off-by: Ana Rey <anarey@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e2a093ff0dbfa4c5d99f25241cf33325e9691d91 Author: Ana Rey <anarey@xxxxxxxxx> Date: Wed Aug 6 13:52:49 2014 +0200 netfilter: nft_meta: add pkttype support Add pkttype support for ip, ipv6 and inet families of tables. This allows you to fetch the meta packet type based on the link layer information. The loopback traffic is a special case, the packet type is guessed from the network layer header. No special handling for bridge and arp since we're not going to see such traffic in the loopback interface. Joint work with Alvaro Neira Ayuso <alvaroneay@xxxxxxxxx> Signed-off-by: Alvaro Neira Ayuso <alvaroneay@xxxxxxxxx> Signed-off-by: Ana Rey <anarey@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 39ee533fcc7feb5b7938a3973a2bf5ad79bb595b Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Aug 22 09:13:21 2014 +0900 perf hists browser: Consolidate callchain print functions in TUI Currently there're two callchain print functions in TUI - one for the hists browser and another for file dump. They do almost same job so it'd be better consolidate the codes. To do that, provide two callbacks to the generic logic - one for printing and another for checking whether it should stop. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408666401-594-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2f3f9bcf000b2043a480e7cc0cae582559fb0f13 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 22 15:58:38 2014 +0200 perf tools: Add +field argument support for --field option Adding support to add field(s) to default field order via using the '+' prefix, like for report: $ perf report Samples: 10 of event 'cycles', Event count (approx.): 4463799 Overhead Command Shared Object Symbol 32.40% ls [kernel.kallsyms] [k] filemap_fault 28.19% ls [kernel.kallsyms] [k] get_page_from_freelist 23.38% ls [kernel.kallsyms] [k] enqueue_entity 15.04% ls [kernel.kallsyms] [k] mmap_region $ perf report -F +period,sample Samples: 10 of event 'cycles', Event count (approx.): 4463799 Overhead Period Samples Command Shared Object Symbol 32.40% 1446493 1 ls [kernel.kallsyms] [k] filemap_fault 28.19% 1258486 1 ls [kernel.kallsyms] [k] get_page_from_freelist 23.38% 1043754 1 ls [kernel.kallsyms] [k] enqueue_entity 15.04% 671160 1 ls [kernel.kallsyms] [k] mmap_region Works in general for commands using --field option. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408715919-25990-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3969cc094a9dbb40e624b259caa73c7a2056b249 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 15 16:24:45 2014 -0300 perf top: Use set_term_quiet() instead of open coded equivalent Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-h7n9te70flmaqfnj6l06ay6r@xxxxxxxxxxxxxx [ Yanked this out of a patch containing this and some other change ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 179033b3e064d2cd3f5f9945e76b0a0f0fbf4883 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Aug 7 11:48:26 2014 -0400 perf: Add PERF_EVENT_STATE_EXIT state for events with exited task Adding new perf event state to indicate that the monitored task has exited. In this case the event stays alive until the owner task exits or close the event fd while providing the last data through the read syscall and ring buffer. Instead it needs to propagate the error info (monitored task has died) via poll and read syscalls by returning POLLHUP and 0 respectively. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140811120102.GY9918@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-t5y3w8jjx6tfo5w8y6oajsjq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 61b67684c4a4d04b30d9ed67aa2eadfa0089c590 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Aug 13 19:39:56 2014 +0200 perf: Fix perf_poll to return proper POLLHUP value Currently perf_poll returns POLL_HUP in case of error, which is wrong, because poll syscall expects POLLHUP. The POLL_HUP is meant to be used for SIGIO state. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140811120102.GY9918@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0ywfthh4lh65swe15f6w2x2q@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 44afe6029422da55918d8156c6900dbf5259533b Merge: 5317821 ebc14dd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Aug 24 11:27:42 2014 +0200 Merge tag 'microcode_cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/microcode Pull x86/microcode updates from Borislav Petkov: "A bunch of cleanups from Henrique." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b25c2ff547530f63d71fc67048543ae54b434476 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Sun Aug 17 19:45:46 2014 -0500 bloat-o-meter: Ignore syscall aliases SyS_ and compat_SyS_ This avoids double-counting size changes in syscall implementations. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 8fc54f68919298ff9689d980efb495707ef43f30 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Sat Aug 23 20:58:54 2014 +0200 net: use reciprocal_scale() helper Replace open codings of (((u64) <x> * <y>) >> 32) with reciprocal_scale(). Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 690e36e726d00d2528bc569809048adf61550d80 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 23 12:13:41 2014 -0700 net: Allow raw buffers to be passed into the flow dissector. Drivers, and perhaps other entities we have not yet considered, sometimes want to know how deep the protocol headers go before deciding how large of an SKB to allocate and how much of the packet to place into the linear SKB area. For example, consider a driver which has a device which DMAs into pools of pages and then tells the driver where the data went in the DMA descriptor(s). The driver can then build an SKB and reference most of the data via SKB fragments (which are page/offset/length triplets). However at least some of the front of the packet should be placed into the linear SKB area, which comes before the fragments, so that packet processing can get at the headers efficiently. The first thing each protocol layer is going to do is a "pskb_may_pull()" so we might as well aggregate as much of this as possible while we're building the SKB in the driver. Part of supporting this is that we don't have an SKB yet, so we want to be able to let the flow dissector operate on a raw buffer in order to compute the offset of the end of the headers. So now we have a __skb_flow_dissect() which takes an explicit data pointer and length. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ad676a6bc4b284b68e4d24c0eac366438a32af6 Merge: 5aa8dbb b8f9a02 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 23 11:39:24 2014 -0700 Merge branch 'bcm7xxx_apd_eee' Florian Fainelli says: ==================== net: phy: bcm7xxx: APD and EEE support This patch series enables Auto-power down and EEE for the BCM7xxx integrated Gigabit PHYs. I also put a fix for the fixed PHY that would allow clause 45 over clause 22 reads/writes but would return bogus data by using e.g: ethtool --show-eee ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8f9a02924bbeb0c46ca4c19561cbe765b80e264 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:45 2014 -0700 net: phy: bcm7xxx: enable EEE at the PHY level The 28nm Gigabit PHY on BCM7xxx chips comes out of reset with absolutely no EEE capabilities, such that we would actually return that we do not support EEE when accessing 3.20 (MDIO_PCS_EEE_ABLE) registers. Poke through the vendor-specific C45 register to enable EEE globally at the PHY level, and advertise supported EEE modes. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9f6309585cbefa4a7f08c9017ca482c3222323a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:44 2014 -0700 net: phy: allow phy_init_eee() to work with internal PHYs Internal PHYs do not have any specific phy_interface_t defined because they are within an Ethernet MAC or a larger IC, they will fail the early check in phy_init_eee(). Allow these PHYs to proceed with EEE initialization and report error/success by checking the standard C45 EEE-related registers. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66ce7fb9807b036058aa380bfd2b3851ae25ce39 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:43 2014 -0700 net: phy: export phy_{read,write}_mmd_indirect Some PHY drivers might need to access Clause 45 registers in Clause 22 compatibility mode to e.g: properly advertise EEE support when disabled by default. Export these two helper functions: phy_read_mmd_indirect() and phy_write_mmd_indirect() for drivers to use them. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2dbba7674468ad03aa6cf4378ed0965f453e034 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:42 2014 -0700 net: phy: fixed: return an error for Clause 45 over 22 reads The fixed PHY driver does not properly emulate Clause 45 over Clause 22 MDIO reads, and as such, will return bogus values when we access such registers. Return an error when accessing these registers in order to prevent advertising bogus capabilities such as EEE support and such. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9df54ddab9aa91d53b672b1c0efbeb5d07919e66 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:41 2014 -0700 net: phy: bcm7xxx: enable auto power down The 28nm process BCM7xxx internal Gigabit PHYs all support automatic power down, turn on that feature as part of the configuration initialization callback. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 705314797b8b997554b7e9d0ea7b65a497356e53 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:40 2014 -0700 net: phy: broadcom: move shadow 0x1C register accessors to brcmphy.h The shadow register 0x1C is used both by the BCM54xxx PHYs and the BCM7xxx internal PHYs, move the accessors to a common location so both drivers can use them. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3af20efc0f83cdc65ce56ec108c0e81f602364df Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:39 2014 -0700 net: phy: broadcom: extract all registers to brcmphy.h Commit 439d39a9ac8fbbba9c04581361188f33f21ced50 ("net: phy: broadcom: extract register definitions") added a bunch of registers to brcmphy.h but left some to broadcom.c, move all of them to the header file since the BCM54xx and BCM7xxx PHY drivers do share all of these registers. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5aa8dbbd5f9ae6ec6f5ab88596a29a5b5d4caf31 Merge: f9474dd 301bae5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 23 11:18:41 2014 -0700 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: Merge port and socket layer code After the removal of the TIPC native interface, there is no reason to keep a distinction between a "generic" port layer and a "specific" socket layer in the code. Throughout the last months, we have posted several series that aimed at facilitating removal of the port layer, and in particular the port_lock spinlock, which in reality duplicates the role normally kept by lock_sock()/bh_lock_sock(). In this series, we finalize this work, by making a significant number of changes to the link, node, port and socket code, all with the aim of reducing dependencies between the layers. In the final commits, we then remove the port spinlock, port.c and port.h altogether. After this series, we have a socket layer that has only few dependencies to the rest of the stack, so that it should be possible to continue cleanups of its code without significantly affecting other code. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 301bae56f21295a4ba71367818d80735687f11ac Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:20 2014 -0400 tipc: merge struct tipc_port into struct tipc_sock We complete the merging of the port and socket layer by aggregating the fields of struct tipc_port directly into struct tipc_sock, and moving the combined structure into socket.c. We also move all functions and macros that are not any longer exposed to the rest of the stack into socket.c, and rename them accordingly. Despite the size of this commit, there are no functional changes. We have only made such changes that are necessary due of the removal of struct tipc_port. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 808d90f9c55943c2965d33b7156e559c59dd2db9 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:19 2014 -0400 tipc: remove files ref.h and ref.c The reference table is now 'socket aware' instead of being generic, and has in reality become a socket internal table. In order to be able to minimize the API exposed by the socket layer towards the rest of the stack, we now move the reference table definitions and functions into the file socket.c, and rename the functions accordingly. There are no functional changes in this commit. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e84c60b77e4dd96068f568a5971e681bb7e6b68 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:18 2014 -0400 tipc: remove include file port.h We move the inline functions in the file port.h to socket.c, and modify their names accordingly. We move struct tipc_port and some macros to socket.h. Finally, we remove the file port.h. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fc87aaebdfbf2c75112ce17aec093652c682acd Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:17 2014 -0400 tipc: remove source file port.c In this commit, we move the remaining functions in port.c to socket.c, and give them new names that correspond to their new location. We then remove the file port.c. There are only cosmetic changes to the moved functions. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c9808ce09f778a1de7b207b82cfc36a59cda2d3 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:16 2014 -0400 tipc: remove port_lock In previous commits we have reduced usage of port_lock to a minimum, and complemented it with usage of bh_lock_sock() at the remaining locations. The purpose has been to remove this lock altogether, since it largely duplicates the role of bh_lock_sock. We are now ready to do this. However, we still need to protect the BH callers from inadvertent release of the socket while they hold a reference to it. We do this by replacing port_lock by a combination of a rw-lock protecting the reference table as such, and updating the socket reference counter while the socket is referenced from BH. This technique is more standard and comprehensible than the previous approach, and turns out to have a positive effect on overall performance. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b50fd087a9f1454d6a8b613fff376dfb6d6ea93 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:15 2014 -0400 tipc: replace port pointer with socket pointer in registry In order to make tipc_sock the only entity referencable from other parts of the stack, we add a tipc_sock pointer instead of a tipc_port pointer to the registry. As a consequence, we also let the function tipc_port_lock() return a pointer to a tipc_sock instead of a tipc_port. We keep the function's name for now, since the lock still is owned by the port. This is another step in the direction of eliminating port_lock, replacing its usage with lock_sock() and bh_lock_sock(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a9ee0be3371eb77d671a77e26261931c5c3fb31 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:14 2014 -0400 tipc: use registry when scanning sockets The functions tipc_port_get_ports() and tipc_port_reinit() scan over all sockets/ports to access each of them. This is done by using a dedicated linked list, 'tipc_socks' where all sockets are members. The list is in turn protected by a spinlock, 'port_list_lock', while each socket is locked by using port_lock at the moment of access. In order to reduce complexity and risk of deadlock, we want to get rid of the linked list and the accompanying spinlock. This is what we do in this commit. Instead of the linked list, we use the port registry to scan across the sockets. We also add usage of bh_lock_sock() inside the scope of port_lock in both functions, as a preparation for the complete removal of port_lock. Finally, we move the functions from port.c to socket.c, and rename them to tipc_sk_sock_show() and tipc_sk_reinit() repectively. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b8fa7ce823a59a328e0a7661df2478bfb745de4 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:13 2014 -0400 tipc: eliminate functions tipc_port_init and tipc_port_destroy After the latest changes to the socket/port layer the existence of the functions tipc_port_init() and tipc_port_destroy() cannot be justified. They are both called only once, from tipc_sk_create() and tipc_sk_delete() respectively, and their functionality can better be merged into the latter two functions. This also entails that all remaining references to port_lock now are made from inside socket.c, something that will make it easier to remove this lock. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 739f5e4efc82c4cb6b5201cbed337b6ff663bf19 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:12 2014 -0400 tipc: redefine message acknowledge function The function tipc_acknowledge() is a remnant from the obsolete native API. Currently, it grabs port_lock, before building an acknowledge message and sending it to the peer. Since all access to socket members now is protected by the socket lock, it has become unnecessary to grab port_lock here. In this commit, we remove the usage of port_lock, simplify the function, and move it to socket.c, renaming it to tipc_sk_send_ack(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dadebc00299a19dc4639ba7192db937e31b81eb2 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:11 2014 -0400 tipc: eliminate port_connect()/port_disconnect() functions tipc_port_connect()/tipc_port_disconnect() are remnants of the obsolete native API. Their only task is to grab port_lock and call the functions __tipc_port_connect()/__tipc_port_disconnect() respectively, which will perform the actual state change. Since socket/port exection now is single-threaded the use of port_lock is not needed any more, so we can safely replace the two functions with their lock-free counterparts. In this commit, we remove the two functions. Furthermore, the contents of __tipc_port_disconnect() is so trivial that we choose to eliminate that function too, expanding its functionality into tipc_shutdown(). __tipc_port_connect() is simplified, moved to socket.c, and given the more correct name tipc_sk_finish_conn(). Finally, we eliminate the function auto_connect(), and expand its contents into filter_connect(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80e44c22255468337b891da2348cab68cb62766f Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:10 2014 -0400 tipc: eliminate function tipc_port_shutdown() tipc_port_shutdown() is a remnant from the now obsolete native interface. As such it grabs port_lock in order to protect itself from concurrent BH processing. However, after the recent changes to the port/socket upcalls, sockets are now basically single-threaded, and all execution, except the read-only tipc_sk_timer(), is executing within the protection of lock_sock(). So the use of port_lock is not needed here. In this commit we eliminate the whole function, and merge it into its only caller, tipc_shutdown(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5728901581139e68e6cf53b36590f64829c37453 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:09 2014 -0400 tipc: clean up socket timer function The last remaining BH upcall to the socket, apart for the message reception function tipc_sk_rcv(), is the timer function. We prefer to let this function continue executing in BH, since it only does read-acces to semi-permanent data, but we make three changes to it: 1) We introduce a bh_lock_sock()/bh_unlock_sock() inside the scope of port_lock. This is a preparation for replacing port_lock with bh_lock_sock() at the locations where it is still used. 2) We move the function from port.c to socket.c, as a further step of eliminating the port code level altogether. 3) We let it make use of the newly introduced tipc_msg_create() function. This enables us to get rid of three context specific functions (port_create_self_abort_msg() etc.) in port.c Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02be61a981fb5ca5f1526323336198ee92cadf95 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:08 2014 -0400 tipc: use message to abort connections when losing contact to node In the current implementation, each 'struct tipc_node' instance keeps a linked list of those ports/sockets that are connected to the node represented by that struct. The purpose of this is to let the node object know which sockets to alert when it loses contact with its peer node, i.e., which sockets need to have their connections aborted. This entails an unwanted direct reference from the node structure back to the port/socket structure, and a need to grab port_lock when we have to make an upcall to the port. We want to get rid of this unecessary BH entry point into the socket, and also eliminate its use of port_lock. In this commit, we instead let the node struct keep list of "connected socket" structs, which each represents a connected socket, but is allocated independently by the node at the moment of connection. If the node loses contact with its peer node, the list is traversed, and a "connection abort" message is created for each entry in the list. The message is sent to it respective connected socket using the ordinary data path, and the receiving socket aborts its connections upon reception of the message. This enables us to get rid of the direct reference from 'struct node' to ´struct port', and another unwanted BH access point to the latter. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50100a5e39461b2a61d6040e73c384766c29975d Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:07 2014 -0400 tipc: use pseudo message to wake up sockets after link congestion The current link implementation keeps a linked list of blocked ports/ sockets that is populated when there is link congestion. The purpose of this is to let the link know which users to wake up when the congestion abates. This adds unnecessary complexity to the data structure and the code, since it forces us to involve the link each time we want to delete a socket. It also forces us to grab the spinlock port_lock within the scope of node_lock. We want to get rid of this direct dependence, as well as the deadlock hazard resulting from the usage of port_lock. In this commit, we instead let the link keep list of a "wakeup" pseudo messages for use in such situations. Those messages are sent to the pending sockets via the ordinary message reception path, and wake up the socket's owner when they are received. This enables us to get rid of the 'waiting_ports' linked lists in struct tipc_port that manifest this direct reference. As a consequence, we can eliminate another BH entry into the socket, and hence the need to grab port_lock. This is a further step in our effort to remove port_lock altogether. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1dd0bd2b14032037d40a316dd52370f1713fa62b Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:06 2014 -0400 tipc: introduce new function tipc_msg_create() The function tipc_msg_init() has turned out to be of limited value in many cases. It take too few parameters to be usable for creating a complete message, it makes too many assumptions about what the message should be used for, and it does not allocate any buffer to be returned to the caller. Therefore, we now introduce the new function tipc_msg_create(), which takes all the parameters needed to create a full message, and returns a buffer of the requested size. The new function will be very useful for the changes we will be doing in later commits in this series. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9474ddfaa009ead12bba44fa8fd49dc4536a124 Merge: 989e04c a45e92a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 23 11:12:08 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pulling to get some TIPC fixes that a net-next series depends upon. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53f3cc46336b9e514c98556b4a009a69ed808d3b Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Aug 23 14:45:47 2014 +0400 pata_platform: Remove useless irq_flags field IRQ flags can be obtained from resource structure, there are no need to use additional field in the platform_data to store these values. This patch removes this field and convert existing users of this driver to use IRQ flags from the resources. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ca99140a63b7326ee9a38f64c326317f2c63b594 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Aug 23 14:46:10 2014 +0400 pata_of_platform: Remove "electra-ide" quirk "electra-ide" is not used anywhere in the kernel and could be represented in devicetree in a normal way. This patch removes specific quirk for "electra-ide". Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a18a32ce22d8b0e3174c0633fa61e46aac39e81e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Aug 23 11:05:21 2014 +0200 ASoC: ac97-codec: Remove ASoC level IO support This driver doesn't use any ASoC level IO nor does it register any controls or DAPM elements that require it. This means it can safely be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 433306747791845677ba662435a9bbbafaa21df3 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Aug 12 09:04:42 2014 +0900 ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt Now that r8a7740_add_standard_devices_dt() is simply a wrapper for a call to of_platform_populate() remove it and call of_platform_populate() directly. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5ebb4e849966e9cb3d5450773c86a1bf79e76f2d Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Aug 12 09:04:41 2014 +0900 ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt() Now that r8a7740_add_standard_devices_dt() is just a wrapper for of_platform_populate() call the latter directly. This is in preparation for removing r8a7740_add_standard_devices_dt(). Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1145eaabcf1d108993b5c7bea3d86bbef7143135 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Aug 12 09:04:39 2014 +0900 ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree Based on work by Magnus Damm Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c10df265febc7e46a60b129756915ad1d4d13e27 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Aug 12 09:04:38 2014 +0900 ARM: shmobile: r8a7740: Add CMT1 device to DT Add the CMT1 counters to the r8a7740 device tree and make it disabled by default. Based on work by Magnus Damm. Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ae2a8cdd5c52b4e205cc1e5abca31168fb20dadb Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 8 16:23:12 2014 +0200 ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4a7ae2e27e18cbbdd83fb7783cd62abb4a62f33b Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 8 16:23:11 2014 +0200 ARM: shmobile: r8a7740: add MSTP clock assignments to DT Assigns clocks to ether, i2c*, scif*, tpu, mmcif0, sdhi*, and fsi2. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d9ffd583bf345e2ea79a8ab8044df3a979349af7 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 8 16:23:10 2014 +0200 ARM: shmobile: r8a7740: add SoC clocks to DTS Declares the r8a7740 clocks supported by the legacy clock framework, excluding those requiring extensions to the DIV6 driver. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 477fa2bc4c838eebe8dcd66ff8e88a1ab81734b9 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 8 16:23:09 2014 +0200 ARM: shmobile: r8a7740: clock register bits Contains the header file with the clock pulse generator and MSTP bits. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 989e04c5bc3ff77d65e1f0d87bf7904dfa30d41c Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Aug 22 14:15:22 2014 -0700 tcp: improve undo on timeout Upon timeout, undo (via both timestamps/Eifel and DSACKs) was disabled if any retransmits were still in flight. The concern was perhaps that spurious retransmission sent in a previous recovery episode may trigger DSACKs to falsely undo the current recovery. However, this inadvertently misses undo opportunities (using either TCP timestamps or DSACKs) when timeout occurs during a loss episode, i.e. recurring timeouts or timeout during fast recovery. In these cases some retransmissions will be in flight but we should allow undo. Furthermore, we should only reset undo_marker and undo_retrans upon timeout if we are starting a new recovery episode. Finally, when we do reset our undo state, we now do so in a manner similar to tcp_enter_recovery(), so that we require a DSACK for each of the outstsanding retransmissions. This will achieve the original goal by requiring that we receive the same number of DSACKs as retransmissions. This patch increases the undo events by 50% on Google servers. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7d5f58d7dfb2f342ef7d676f58d1ec762ebb8ad Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 23:56:47 2014 +0400 phylib: use MDIO_DEVS[12] The bare register numbers are used despite <uapi/linux/mdio.h> has MDIO_DEVS[12] #define'd for those. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b80c0662371122d01888c9785becf1b962f6db90 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Fri Aug 22 08:54:26 2014 -0700 ARM: multi_v7_defconfig: Enable Zynq/Xilinx drivers This is a squashed series from Soren: "I went through the defconfig and searched for Zynq drivers. The result is this series of patches. The first few are all for Zynq and pretty much straight forward. The second half is mostly soft-IP, I think. That soft-IP works with Zynq devices, but I'm not sure whether those should go into the multi_v7 defconfig." Soren Brinkmann (11): ARM: multi_v7_defconfig: Enable Zynq cpuidle driver ARM: multi_v7_defconfig: Enable Zynq/Xilinx CAN driver ARM: multi_v7_defconfig: Enable XADC driver ARM: multi_v7_defconfig: Enable Zynq SPI driver ARM: multi_v7_defconfig: Enable Zynq GPIO driver ARM: multi_v7_defconfig: Enable Xilinx I2C driver ARM: multi_v7_defconfig: Enable Xilinx SPI driver ARM: multi_v7_defconfig: Enable Xilinx GPIO driver ARM: multi_v7_defconfig: Enable Xilinx VDMA driver ARM: multi_v7_defconfig: Enable Xilinx emaclite driver ARM: multi_v7_defconfig: Enable Xilinx watchdog timer Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> [olof: Added commit message from series envelope email, squashed to one patch] Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 884cf705c7e60bc6ade7ddafcbe943af4dc84604 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Aug 22 20:30:12 2014 -0700 net: remove dead code after sk_data_ready change As a followup to commit 676d23690fb ("net: Fix use after free by removing length arg from sk_data_ready callbacks"), we can remove some useless code in sock_queue_rcv_skb() and rxrpc_queue_rcv_skb() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2de875c6d4cbec8a99c880160181a3ed5b9992e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Aug 22 18:32:09 2014 -0700 net: use ktime_get_ns() and ktime_get_real_ns() helpers ktime_get_ns() replaces ktime_to_ns(ktime_get()) ktime_get_real_ns() replaces ktime_to_ns(ktime_get_real()) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f8a2b746e3aece61f9c4714b86d1484d66461f0 Merge: 13322f2 3a73aef Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 22 19:42:25 2014 -0700 Merge tag 'linux-can-next-for-3.18-20140820' of git://gitorious.org/linux-can/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2014-08-20 this is a pull request of 10 patches for net-next/master. There is one patch by Wolfram Sang to clean up the build system. Two patches by Stefan Agner that add vf610 support to the flexcan driver. Dong Aisheng add support for bosch's m_can core, which is found in the new freescale ARM SoCs. Sergei Shtylyov improves the rcar_can driver by supporting all input clocks and adding device tree support. The next patch is a small cleanup for the bit rate calculation function by Lad, Prabhakar. And finally a patch by Himangi Saraogi, which converts the mcp251x driver to use dmam_alloc_coherent. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0c86a3b63e948e51a47d17382c7cd8711d19750 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Sat Aug 23 00:22:45 2014 +0200 pwm: lpss: Fix build failure on PowerPC An x86 build seems to pull in the linux/io.h include indirectly. On PowerPC that doesn't happen and the build breaks due to the readl() and writel() functions not being declared. Fix this by explicitly including linux/io.h. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 90927fe9a001340304e0c37dee578e4432b1744e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 19:17:36 2014 +0300 pwm: lpss: pci: Move to use pcim_enable_device() Let's use managed functions for this driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit c558e39e14c2372394f49e07fbe94e9708b615cb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 19:17:35 2014 +0300 pwm: lpss: Properly split driver to parts The driver consists of core, PCI, and platform parts. It would be better to split them into separate files. The platform driver is now called pwm-lpss-platform. Thus, previously set CONFIG_PWM_LPSS=m is not enough to build it. But we are on the safe side since it seems no one from outside Intel is using it for now. While here, move to use macros module_pci_driver() and module_platform_driver(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> [thierry.reding: change select to depends on PWM_LPSS, cleanup] Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit c28135481428d0674fcc1da0740ed3f4343df5b2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Aug 22 22:39:37 2014 +0200 drm/i915: Update DRIVER_DATE to 20140822 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13322f2e664333b40ea7c71df8785e6f4bba1e68 Author: Christian Riesch <christian.riesch@xxxxxxxxxx> Date: Thu Aug 21 15:17:04 2014 +0200 dp83640: Fix length check for event timestamp status messages Event timestamp status messages have a variable length, ranging from 1 to 5 words (16 bit words). The current code however requires a minimum message length of sizeof(*phy_txts). In most cases this condition is fulfilled due to padding bytes. However, if several events are signaled in a single message, padding bytes may not be present. For short event timestamp status messages, the length check will fail, and the event timestamp will be dropped. Signed-off-by: Christian Riesch <christian.riesch@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4834c86e11bafc2bf7d3af6a6a5d9ea48b54b41 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Wed Aug 20 14:33:33 2014 +0800 net: stmmac: add fix_mac_speed support for socfpga This patch adds fix_mac_speed() support for Altera socfpga Ethernet controller. Emac splitter is a soft IP core in FPGA system that converts GMII interface from Synopsys mac to RGMII/SGMII interface. This splitter core is an optional IP if user would like to use RGMII/SGMII interface in their system. Software needs to update a register in splitter core when there is speed change. Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e1d0b8988188956dac091441c1492a79a342666 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Aug 20 01:54:04 2014 +0800 r8169:add support for RTL8168H and RTL8107E RTL8168H is Realtek PCIe Gigabit Ethernet controller. RTL8107E is Realtek PCIe Fast Ethernet controller. This patch add support for these two chips. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4261e5650004d6d51137553ea5433d5828562dc Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Tue Aug 19 16:02:12 2014 +0200 bonding: create netlink event when bonding option is changed Userspace needs to be notified if one changes some option. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Veaceslav Falico <vfalico@xxxxxxxxx> Acked-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c32ec8f5ba885fda08b1b822158b6135e56a308 Merge: c0b8023 97539f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 22 12:31:24 2014 -0700 Merge branch 'bnx2x-next' Yuval Mintz says: ==================== bnx2x: Start utilizing 7.10.51 This series will enable bnx2x to start utlizing its 7.10.51 FW. In addition, it will also add timestamping support, as well as a couple of routine semantic cleanups. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97539f1e4f1e4b53604970b2dfe7794794f57a76 Author: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Date: Sun Aug 17 16:47:51 2014 +0300 bnx2x: FW assertion changes This is mostly a semantic change which modifies the code parsing and printing of FW asserts. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58fee00ffae3b13b86f801146631012b3db4cea4 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:50 2014 +0300 bnx2x: Make BP_VF more robust Prevent dereference of pointer in case it's NULL. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a345ce71e5c027872ae5a595998717dc856272b1 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:49 2014 +0300 bnx2x: Prevent pci_disable_sriov with assigned VFs Trying to disable sriov when VFs are assigned may lead to all kinds of problems. This patch unifies the call in the driver to pci_disable_sriov() and prevents them if some of the PF's child VFs are marked as assigned. [Notice this is a bad scenario either way; User should not reach a point where the OS tries to disable SRIOV when a VF is assigned - but currently there's no way of preventing the user from doing so, and the ill-effect for the driver is smaller this way] Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d8de80f5cea004568af8775fd0a0933d5166759 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:48 2014 +0300 bnx2x: Prevent IOV if no entries in CAM It's possible there's a bad chip configuration which will result with PCIe IOV capabilities, but with no available interrupts for VFs. In such case, we want to gracefully prevent the PF from initializing its IOV capabilities rather than encounter difficulties further along the way. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e261199872a232beb6541c7dc6af2af0de840a27 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:47 2014 +0300 bnx2x: Safe bnx2x_panic_dump() The bnx2x panic dump spills a lot of information from the driver's fastpath, but may be called while some of the fastpath is uninitialized. This patch verifies that pointers are already allocated before dereferencing them to prevent possible kernel panics. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 626041248d3fb5b2fca5c9af172f00fa3bb6dcfe Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:46 2014 +0300 bnx2x: Update driver version to 1.710.51 Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c23ad37a220b6a58b90e36203fe915c80dbd403 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:45 2014 +0300 bnx2x: Code cleanup This patch does several semantic things: - Fixing typos. - Removing unnecessary prints. - Removing unused functions and definitions. - Change 'strange' usage of boolean variables. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eeed018cbfa30c0bde89075b06b62fc198afb51c Author: Michal Kalderon <Michal.Kalderon@xxxxxxxxxx> Date: Sun Aug 17 16:47:44 2014 +0300 bnx2x: Add timestamping and PTP hardware clock support This adds a PHC to the bnx2x driver. Driver supports timestamping send/receive PTP packets, as well as adjusting the on-chip clock. The driver has been tested with linuxptp project. Signed-off-by: Michal Kalderon <Michal.Kalderon@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e42780b66aab88d3a82b6087bcd6095b90eecde7 Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Sun Aug 17 16:47:43 2014 +0300 bnx2x: Utilize FW 7.10.51 - (L2) In some multi-function configurations, inter-PF and inter-VF Tx switching is incorrectly enabled. - (L2) Wrong assert code in FLR final cleanup in case it is sent not after FLR. - (L2) Chip may stall in very rare cases under heavy traffic with FW GRO enabled. - (L2) VF malicious notification error fixes. - (L2) Default gre tunnel to IPGRE which allows proper RSS for IPGRE packets, L2GRE traffic will reach single queue. - (FCoE) Fix data being placed in wrong buffer when corrupt FCoE frame is received. - (FCoE) Burst of FIP packets with destination MAC of ALL-FCF_MACs causes FCoE traffic to stop. Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0b802367b05fa6342ab9ef07abdf446b9ba223f Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 20 23:24:40 2014 +0530 af_decnet: Use time_after_eq The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the Coccinelle semantic patch making this change is as follows: @change@ expression E1,E2,E3; @@ - jiffies - E1 >= (E2*E3) + time_after_eq(jiffies, E1+E2*E3) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b1b1eb521004cec2518307c22dba8f4bff1c2bf Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 20 23:20:09 2014 +0530 decnet: Use time_after_eq The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the Coccinelle semantic patch making this change is as follows: @change@ expression E1,E2; @@ - (jiffies - E1) >= E2 + time_after_eq(jiffies, E1+E2) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c72c95a064e55923c5dd050d099e51ac550f29a2 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 20 23:14:10 2014 +0530 ipconfig: Use time_before The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the Coccinelle semantic patch making this change is as follows: @change@ expression E1,E2; @@ - jiffies - E1 < E2 + time_before(jiffies, E1+E2) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5c5c36d367c670b9a93b1029d9b3af8610d9535 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 20 23:13:07 2014 +0530 dn_dev: Use time_before The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the Coccinelle semantic patch making this change is as follows: @change@ expression E1,E2; @@ ( - (jiffies - E1) < E2 + time_before(jiffies, E1+E2) ) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0932997e34bad52353c25756c55ccf97c522ae7c Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 16:06:09 2014 +0300 br_multicast: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c6b00c816191ded80d1ccd5164b53168255ec15 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Sun Aug 17 16:29:43 2014 +0300 net/openvswitch/flow.c: Replace rcu_dereference() with rcu_access_pointer() The "rcu_dereference()" call is used directly in a condition. Since its return value is never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes the replacement. The following Coccinelle semantic patch was used: @@ @@ ( if( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} | while( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} ) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e6b688838e25b22e10dd273b48581cb2f62ec16e Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Sun Aug 17 15:49:41 2014 +0300 net/ipv4/igmp.c: Replace rcu_dereference() with rcu_access_pointer() The "rcu_dereference()" call is used directly in a condition. Since its return value is never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes the replacement. The following Coccinelle semantic patch was used: @@ @@ ( if( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} | while( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} ) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5091b552a9fd7c45f9f8f4efa23bc78af0553cd Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Sun Aug 17 13:21:45 2014 +0300 bonding: Replace rcu_dereference() with rcu_access_pointer() This "rcu_dereference()" call is used directly in a condition. Since its return value is never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes this replacement. The following Coccinelle semantic patch was used for solving it: @@ @@ ( if( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} | while( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} ) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 270b4b3115d816a91fdb31a0c1686709eb60c3ed Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Sun Aug 17 13:12:09 2014 +0300 cnic: Replace rcu_dereference() with rcu_access_pointer() The "rcu_dereference()" calls are used directly in conditions. Since their return values are never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes the replacements. The following Coccinelle semantic patch was used: @@ @@ ( if( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} | while( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} ) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Acked-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1dced6a854827eb5683f3c57ddbb4595daf145e4 Author: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Date: Sun Aug 17 09:19:54 2014 +0200 ipv4: Restore accept_local behaviour in fib_validate_source() Commit 7a9bc9b81a5b ("ipv4: Elide fib_validate_source() completely when possible.") introduced a short-circuit to avoid calling fib_validate_source when not needed. That change took rp_filter into account, but not accept_local. This resulted in a change of behaviour: with rp_filter and accept_local off, incoming packets with a local address in the source field should be dropped. Here is how to reproduce the change pre/post 7a9bc9b81a5b commit: -configure the same IPv4 address on hosts A and B. -try to send an ARP request from B to A. -The ARP request will be dropped before that commit, but accepted and answered after that commit. This adds a check for ACCEPT_LOCAL, to maintain full fib validation in case it is 0. We also leave __fib_validate_source() earlier when possible, based on the same check as fib_validate_source(), once the accept_local stuff is verified. Cc: Gregory Detal <gregory.detal@xxxxxxxxxxxx> Cc: Christoph Paasch <christoph.paasch@xxxxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14462b6e8c06a7b4e0977e93e44b3decab0951b0 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sun Aug 17 06:01:20 2014 +0530 isdn/bas_gigaset: use USB API functions rather than constants This patch introduces the use of the function usb_endpoint_num. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bEndpointAddress & \(USB_ENDPOINT_NUMBER_MASK\|0x0f\)) + usb_endpoint_num(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Acked-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1898a0eeec94e04998460a2ad34e6b20ba68e7c Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 15 21:54:12 2014 +0530 isdn/gigaset: use USB API functions rather than constants This patch introduces the use of the function usb_endpoint_num. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bEndpointAddress & \(USB_ENDPOINT_NUMBER_MASK\|0x0f\)) + usb_endpoint_num(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Acked-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f90251c8a6d06ed8b072a2a0f13c4b8a6d0cb222 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Fri Aug 15 19:18:19 2014 +0000 hyperv: Increase the buffer length for netvsc_channel_cb() When the buffer is too small for a packet from VMBus, a bigger buffer will be allocated in netvsc_channel_cb() and retry reading the packet from VMBus. Increasing this buffer size will reduce the retry overhead. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc9fa8714a759da94c5d54a621f584d65ca51ac6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Aug 22 10:40:02 2014 -0700 ARM: mvebu: update v7 defconfig with useful options Turn on a bunch of options to make my cubox bootable/usable: PRINTK_TIME EXT4 (and turn off 2/3 since 4 can mount all filesystems) MV643XX_ETH for Dove SDHCI for Dove DEVTMPFS PACKET and UNIX protocol support Much of the other churn is just due to reorderings in the defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> Link: https://lkml.kernel.org/r/1408729202-11064-1-git-send-email-olof@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2a16fc93d2c9568e16d45db77c7b5f15e1921cf1 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 12 16:24:41 2014 +0530 nohz: Avoid tick's double reprogramming in highres mode In highres mode, the tick reschedules itself unconditionally to the next jiffies. However while this clock reprogramming is relevant when the tick is in periodic mode, it's not that interesting when we run in dynticks mode because irq exit is likely going to overwrite the next tick to some randomly deferred future. So lets just get rid of this tick self rescheduling in dynticks mode. This way we can avoid some clockevents double write in favourable scenarios like when we stop the tick completely in idle while no other hrtimer is pending. Suggested-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit b5e995e671d8e4d7a75b339ce78ecc586014b0eb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 12 16:24:41 2014 +0530 nohz: Fix spurious periodic tick behaviour in low-res dynticks mode When we reach the end of the tick handler, we unconditionally reschedule the next tick to the next jiffy. Then on irq exit, the nohz code overrides that setting if needed and defers the next tick as far away in the future as possible. Now in the best dynticks case, when we actually don't need any tick in the future (ie: expires == KTIME_MAX), low-res and high-res behave differently. What we want in this case is to cancel the next tick programmed by the previous one. That's what we do in high-res mode. OTOH we lack a low-res mode equivalent of hrtimer_cancel() so we simply don't do anything in this case and the next tick remains scheduled to jiffies + 1. As a result, in low-res mode, when the dynticks code determines that no tick is needed in the future, we can recursively get a spurious tick every jiffy because then the next tick is always reprogrammed from the tick handler and is never cancelled. And this can happen indefinetly until some subsystem actually needs a precise tick in the future and only then we eventually overwrite the previous tick handler setting to defer the next tick. We are fixing this by introducing the ONESHOT_STOPPED mode which will let us pause a clockevent when no further interrupt is needed. Meanwhile we can't expect all drivers to support this new mode. So lets reduce much of the symptoms by skipping the nohz-blind tick rescheduling from the tick-handler when the CPU is in dynticks mode. That tick rescheduling wrongly assumed periodicity and the low-res dynticks code can't cancel such decision. This breaks the recursive (and thus the worst) part of the problem. In the worst case now, we'll get only one extra tick due to uncancelled tick scheduled before we entered dynticks mode. This also removes a needless clockevent write on idle ticks. Since those clock write are usually considered to be slow, it's a general win. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 06b2afc0b9a26e7673856a24ab57bfb307dad394 Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Wed Aug 20 23:25:11 2014 -0400 perf machine: Fallback to MAP__FUNCTION if daddr maps are NULL As we run "perf c2c" on more applications, we noticed we're missing significant samples from a common customer's application. Looking at the /proc/<pid>/maps file for the app, we see "rwxs" and "rwxp" permissions on many of the shared memory & heap regions, and on all the thread stacks. Because those regions have the "x" bit set, perf marks them with a MAP_FUNCTION type. Hence ip_resolve_data() never finds load or store events coming from them. We fixed this by re-calling thread__find_addr_location with MAP__FUNCTION in the case where map is NULL as a last ditch effort to map the sample before giving up and dropping it. Reported-by: Joe Mario <jmario@xxxxxxxxxx> Tested-by: Joe Mario <jmario@xxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joe Mario <jmario@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408591511-57884-1-git-send-email-dzickus@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c09a7e755c025558cb882fa20a5f30da738536fa Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Aug 21 10:15:45 2014 +0900 perf hists browser: Cleanup callchain print functions The hist_browser__show_callchain() and friends don't need to be that complex. They're splitted in 3 pieces - one for traversing top-level tree, other one for special casing first chains in the top-level entries, and last one for recursive traversing inner trees. It led to code duplication and unnecessary complexity IMHO. Simplify the function and consolidate the logic into a single function - it can recursively call itself. A little difference in printing callchains in top-level tree can be handled with a small change. It should have no functional change. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408583746-5540-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fbe2af45f6bd27ee69fd775303c936c3af4a4807 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 15 22:08:39 2014 +0300 perf tools: Add machine__kernel_ip() Add a function to determine if an address is in the kernel. This is based on the kernel function kernel_ip(). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408129739-17368-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4b99375b38fa137f501cfa60b70e3f0a9da39c93 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 15 22:08:38 2014 +0300 perf machine: Rename machine__get_kernel_start_addr() method Rename machine__get_kernel_start_addr() to machine__get_running_kernel_start() so that a new function, with a similar name to the original name, can be added that gets the kernel start address from the kernel map. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408129739-17368-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d445dd2a78eed884adf3b3426b078fe69d2516d8 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 15 22:08:37 2014 +0300 perf scripting: Add 'flush' callback to scripting API In order to defer some output via the scripting API, there needs to be a callback after session processing but before the session is deleted. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408129739-17368-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d44bc558297222d9a621fff2eca3f880e91c49f7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 15 22:08:36 2014 +0300 perf tests: Add a test for tracking with sched_switch Add a test that checks that sched_switch events and tracking events can be recorded for a workload using the evsel->system_wide and evsel->tracking flags (respectively) with other events sometimes enabled or disabled. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408129739-17368-2-git-send-email-adrian.hunter@xxxxxxxxx [ Fix build on fedora14 by using a designated initializer for the sched_switch variable ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 08223d80df38e666a42d7c82eb340db55c6e03bd Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Aug 19 06:07:56 2014 -0700 dmaengine maintainer update I am stepping down as dmaengine maintainer as the bulk of the activity in the subsystem is primarily targeted at the slave-dma case handled by Vinod, and I have recently been unable to give the few patches I do receive timely review. There is still an item in my backlog to eliminate the async_tx api and the constraints it poses on dmaengine drivers, but I need not hold on to the maintainer role in the meantime. I will still be subscribed to dmaengine@xxxxxxxxxxxxxxx to answer questions, but all patches should be routed through Vinod unless/until a maintainer for the non-slave-dma use case arrives. It is non-entirely clear at this point that there is enough work going forward for a separate maintainer of the pure-offload case. Ongoing development of the ioatdma driver is handled by Dave. I'm still interested in reviewing ioatdma patches, but he is the primary maintainer/developer going forward. IOP platforms are not generating any traffic in my inbox, but if a patch did arrive I've long since lost access to hardware. Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 8e1f50d7433b9a6e52cb296943f53c3ce8189ea5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 22 15:19:44 2014 +0300 dmatest: prevent memory leakage on error path in thread When we fail to allocate memory for thread->srcs or thread->dsts and src_cnt or dst_cnt great than 1 we leak memory on error path. This patch fixes the issue. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 373c57829a3f9da1405b1fbd3d17e50f8e1f476e Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Tue Aug 19 17:18:29 2014 +0300 pwm: lpss: Add ACPI and PCI IDs for Intel Braswell This is pretty much the same as Baytrail PWM. Only difference is that the input clock runs on different frequency. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 7285996aa0006d671bb01f0d35991d254b2b2b01 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Jun 4 00:52:31 2014 -0700 kconfig: nconfig: fix multi-byte UTF handling Currently, Kconfig descriptions that use multi-byte UTF-8 characters (such as MTD_NAND_CAFE) will have their menu entries dropped from the 'make nconfig' ncurses menu, and all subsequent entries in the same window will be omitted. This seems to be due to the ncurses 'menu' library, which does not traditionally handle UTF-8 >8-bit characters properly. The ncursesw library ('w' is for "wide") is written to handle these UTF-8 characters, and is practically a drop-in replacement at the source level. Use it by default, if available. Link: https://bugzilla.kernel.org/show_bug.cgi?id=43067 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: "Yann E. MORIN" <yann.morin.1998@xxxxxxx> Cc: Martin Walch <walch.martin@xxxxxx> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit c40724d3f38122b8ae06367a425a63c24988c10f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Jun 4 00:52:30 2014 -0700 kconfig: lxdialog: fix spelling Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: "Yann E. MORIN" <yann.morin.1998@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 00018a8ae5c552a2464e0df15437511ba4f56495 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 21 20:50:25 2014 -0300 pwm: fsl-ftm: Select REGMAP_MMIO Commit 42fa98a9c360 ("pwm: fsl-ftm: Convert to direct regmap API usage") introduced the following error when REGMAP_MMIO=n: drivers/built-in.o: In function `fsl_pwm_probe': >> pwm-fsl-ftm.c:(.text+0xd7d7): undefined reference to `devm_regmap_init_mmio_clk' Select select REGMAP_MMIO in order to fix this error. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit f170b97c9ad0b8ba3e99f02cbadc7676383fee09 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 16:28:34 2014 +0200 ARM: shmobile: sh73a0 dtsi: Move interrupt-parent to the top Add an "interrupt-parent = <&gic>;" at the top, which is inherited by all child nodes, so the "interrupt-parent" properties can be removed from the individual child nodes. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5fb1453c2ff02ce5e5298351ff774e19f8d9dbb3 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 16:31:02 2014 +0200 ARM: shmobile: r8a7791 dtsi: Remove superfluous interrupt-parent There's already an "interrupt-parent = <&gic>;" at the top, which is inherited by all child nodes, so the "interrupt-parent" property in the sound node can be removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 980724eb5b56b43d0ff2c7a7f5cf6e5ba290d2e5 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 16:28:32 2014 +0200 ARM: shmobile: r8a7790 dtsi: Remove superfluous interrupt-parent There's already an "interrupt-parent = <&gic>;" at the top, which is inherited by all child nodes, so the "interrupt-parent" property in the sound node can be removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6a7147f53f29887e627d84c0a562c8bb87691e9d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 16:28:31 2014 +0200 ARM: shmobile: r8a7779 dtsi: Remove superfluous interrupt-parent There's already an "interrupt-parent = <&gic>;" at the top, which is inherited by all child nodes, so the "interrupt-parent" properties in the serial nodes can be removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 86155b35d173317518458c6f9c0a3ea8c5324bed Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 15:39:23 2014 +0200 ARM: shmobile: Move legacy INTC definitions from irqs.h to intc.h Move all definitions for legacy INTC from the common "irqs.h" to the INTC-specific "intc.h". Include "intc.h" in sh7372/sh73a0 CPU and board files where needed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> [horms+renesas@xxxxxxxxxxxx: omitted whitespace change] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 664b4c172209f076866419a5a4162e4fc9631807 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:10:15 2014 +0900 ARM: shmobile: ape6evm: Remove duplicate CPUFreq bits The CPUFreq platform device is already registered by shmobile_init_late(), so get rid of ape6evm specific bits. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit aa0bdc303b0f8bc59fc0a0645560917810ba041b Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:07:07 2014 +0900 ARM: shmobile: sh73a0: Remove duplicate CPUFreq bits The CPUFreq platform device is already registered by shmobile_init_late(), so get rid of sh73a0 specific bits. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d6fb17ad7c9e0aa28ce0bc2e33790f9459677370 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 8 16:23:09 2014 +0200 ARM: shmobile: r8a7740: clock register bits Contains the header file with the clock pulse generator and MSTP bits. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fc35ca258c079411b64ed94e517eb04e7d89bc44 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:03:30 2014 +0900 ARM: shmobile: kzm9g: Use shmobile_init_delay() Adjust the KZM9G board support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ca609e666c47cceb64610ad703dda1bebafef605 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:03:21 2014 +0900 ARM: shmobile: bockw: Use shmobile_init_delay() Adjust the BockW board support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6fe950ebfd3a374c78ce66a335fce258648426a1 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:54 2014 +0900 ARM: shmobile: r8a7778: Use shmobile_init_delay() Adjust the r8a7778 SoC support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Get rid of the C code version. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5df622a56b7da3c54609f26cc6221ab3382efaaf Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:45 2014 +0900 ARM: shmobile: sh73a0: Use shmobile_init_delay() Adjust the sh73a0 SoC support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Get rid of the C code version. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7dd4cfd7f8c2976a8d65022146386480474501ca Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:03:12 2014 +0900 ARM: shmobile: Remove shmobile_setup_delay() All ARM mach-shmobile SoCs and boards now rely on DTS for CPU Frequency information, so remove the unused function shmobile_setup_delay(). While at it, make the function shmobile_setup_delay_hz() static. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f5720080b51d61c33dc559fedab9a601930e95c1 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:03:03 2014 +0900 ARM: shmobile: r8a73a4: Use shmobile_init_delay() Adjust the r8a73a4 SoC support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Get rid of the C code version and r8a73a4_init_early() that now are unused. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 39b22e20a3086002c5abe0c569cf11a71bc17faf Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:36 2014 +0900 ARM: shmobile: sh7372: Use shmobile_init_delay() Adjust the sh7372 SoC support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Get rid of the C code version. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 869f92aed207f2f6e595ea41c841bd9ad0c0d0d4 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:27 2014 +0900 ARM: shmobile: r8a7778: Update DTS to include CPU frequency Add CPU Frequency information to the r8a7778 DTS file. This will allow us to use the shared C code on r8a7778 and BockW which reads out the clock frequency from DT and calculates the delay settings from there. Also add other missing CPU information to the r8a7778 DTS. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 13bd825bdd5c087d156d294b427d05dcf9bff281 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:19 2014 +0900 ARM: shmobile: sh73a0: Update DTS to include CPU frequency Add CPU Frequency information to the sh73a0 DTS file. This will allow us to use the shared C code on sh73a0 and KZM9G which reads out the clock frequency from DT and calculates the delay settings from there. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2340cd112933ee837aa83017a6da23c72565d501 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:10 2014 +0900 ARM: shmobile: sh7372: Update DTS to include CPU frequency Add CPU Frequency information to the sh7372 DTS file. This will allow us to use the shared C code on sh7372 and Mackerel which reads out the clock frequency from DT and calculates the delay settings from there. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 93acbd2cd2482cb51bec70a1494fddf2c172c073 Merge: 5ac9e7f 3969d64 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Fri Aug 22 11:31:47 2014 +0900 Merge branch 'boards-for-v3.18' into soc-init-delay-for-v3.18.base commit 462004f1215ccb77969004a049aa5437f34c9b06 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Thu Aug 21 17:54:55 2014 -0700 regulator: rk808: Fix uninitialized value The RK808 regulator driver was putting its config on the stack but not initting it. That means that you got a semi-random config. Fix this. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ed48b5d6fd339d145df5a6a1e48cf56ef265cf4f Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:50:51 2014 +0400 ARM: shmobile: r8a7791: Add JPU clock dt and CPG define. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit da076a888ab19f13816372796ed231e7d6ff5fed Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:50:49 2014 +0400 ARM: shmobile: r8a7790: Add JPU clock dt and CPG define. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 99923753e7c17a9c9d46bfe4d7fa543e426ec647 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Fri Aug 15 06:36:28 2014 +0900 ARM: shmobile: bockw: Do not disable SUSPEND in defconfig As of "ARM: shmobile: r8a7778: Add missing call to shmobile_init_late()" suspend-to-ram is now supported on the r8a7778 SoC and thus the bockw board. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8913dc0bb913ac3dc83ed5c10bac2f4e55431981 Author: Paul Zimmerman <Paul.Zimmerman@xxxxxxxxxxxx> Date: Thu Aug 21 20:28:20 2014 +0000 usb: gadget: document a usb_ep_dequeue() requirement Document the requirement that the request be dequeued and its completion routine called before usb_ep_dequeue() returns. Also fix some capitalization issues in the existing text. Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b250392f7b5062cf026b1423e27265e278fd6b30 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Fri Aug 15 21:15:53 2014 -0300 [media] media: ttpci: fix av7110 build to be compatible with CONFIG_INPUT_EVDEV Fix build when CONFIG_INPUT_EVDEV=m and DVB_AV7110=y. Only build av7110_ir.c when CONFIG_INPUT_EVDEV is compatible with CONFIG_DVB_AV7110. Fixes these build errors: drivers/built-in.o: In function `input_sync': av7110_ir.c:(.text+0x1223ac): undefined reference to `input_event' drivers/built-in.o: In function `av7110_emit_key': av7110_ir.c:(.text+0x12247c): undefined reference to `input_event' av7110_ir.c:(.text+0x122495): undefined reference to `input_event' av7110_ir.c:(.text+0x122569): undefined reference to `input_event' av7110_ir.c:(.text+0x1225a7): undefined reference to `input_event' drivers/built-in.o:av7110_ir.c:(.text+0x122629): more undefined references to `input_event' follow drivers/built-in.o: In function `av7110_ir_init': (.text+0x1227e4): undefined reference to `input_allocate_device' drivers/built-in.o: In function `av7110_ir_init': (.text+0x12298f): undefined reference to `input_register_device' drivers/built-in.o: In function `av7110_ir_init': (.text+0x12299e): undefined reference to `input_free_device' drivers/built-in.o: In function `av7110_ir_exit': (.text+0x122a94): undefined reference to `input_unregister_device' drivers/built-in.o: In function `av7110_detach': av7110.c:(.text+0x228d4a): undefined reference to `av7110_ir_exit' drivers/built-in.o: In function `arm_thread': av7110.c:(.text+0x22a404): undefined reference to `av7110_check_ir_config' av7110.c:(.text+0x22a626): undefined reference to `av7110_check_ir_config' drivers/built-in.o: In function `av7110_attach': av7110.c:(.text+0x22b08c): undefined reference to `av7110_ir_init' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 85c1abcb5251673d18325576f4923bb78af479de Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 15 16:16:46 2014 -0300 [media] usbtv: Make it dependent on ALSA Now that alsa code is part of the driver, it can be compiled only if alsa is enabled. drivers/built-in.o: In function `snd_usbtv_hw_free': >> usbtv-audio.c:(.text+0x21eb55): undefined reference to `snd_pcm_lib_free_pages' drivers/built-in.o: In function `snd_usbtv_hw_params': >> usbtv-audio.c:(.text+0x21eb72): undefined reference to `snd_pcm_lib_malloc_pages' drivers/built-in.o: In function `usbtv_audio_urb_received': >> usbtv-audio.c:(.text+0x21ed66): undefined reference to `snd_pcm_link_rwlock' >> usbtv-audio.c:(.text+0x21ed9f): undefined reference to `snd_pcm_link_rwlock' >> usbtv-audio.c:(.text+0x21edf5): undefined reference to `snd_pcm_period_elapsed' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f00a): undefined reference to `snd_card_new' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f0a2): undefined reference to `snd_pcm_new' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f0e5): undefined reference to `snd_pcm_set_ops' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f103): undefined reference to `snd_pcm_lib_preallocate_pages_for_all' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f10c): undefined reference to `snd_card_register' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f12a): undefined reference to `snd_card_free' drivers/built-in.o: In function `usbtv_audio_free': >> (.text+0x21f15c): undefined reference to `snd_card_free' >> drivers/built-in.o:(.data+0x43250): undefined reference to `snd_pcm_lib_ioctl' Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 66cae53024c4b73d40b4e78c557a73e082522aed Author: Shuah Khan <shuah.kh@xxxxxxxxxxx> Date: Wed Aug 13 15:52:39 2014 -0300 [media] media: fix au0828 dvb suspend/resume to call dvb_frontend_suspend/resume au0828 doesn't resume correctly and TV tuning fails with xc_set_signal_source(0) failed message. Change au0828 dvb suspend and resume interfaces to suspend and resume frontend during suspend and resume respectively. dvb_frontend_suspend() suspends tuner and fe using tuner and fe ops. dvb_frontend_resume() resumes fe and tuner using fe and tuner ops ini before waking up the frontend. With this change HVR950Q suspend and resume work when system gets suspended when digital function is tuned to a channel and with active TV stream, and after resume it went right back to active TV stream. Signed-off-by: Shuah Khan <shuah.kh@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 662c97cf8f9e9d67d45d0a9f0c1565a1ede364c2 Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Aug 9 06:37:21 2014 -0300 [media] em28xx-v4l: fix video buffer field order reporting in progressive mode The correct field order in progressive mode is V4L2_FIELD_NONE, not V4L2_FIELD_INTERLACED. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 627530c32a43283474e9dd3e954519410ffa033a Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Aug 9 06:37:20 2014 -0300 [media] em28xx-v4l: give back all active video buffers to the vb2 core properly on streaming stop When a new video frame is started, the driver takes the next video buffer from the list of active buffers and moves it to dev->usb_ctl.vid_buf / dev->usb_ctl.vbi_buf for further processing. On streaming stop we currently only give back the pending buffers from the list but not the ones which are currently processed. This causes the following warning from the vb2 core since kernel 3.15: ... ------------[ cut here ]------------ WARNING: CPU: 1 PID: 2284 at drivers/media/v4l2-core/videobuf2-core.c:2115 __vb2_queue_cancel+0xed/0x150 [videobuf2_core]() [...] Call Trace: [<c0769c46>] dump_stack+0x48/0x69 [<c0245b69>] warn_slowpath_common+0x79/0x90 [<f925e4ad>] ? __vb2_queue_cancel+0xed/0x150 [videobuf2_core] [<f925e4ad>] ? __vb2_queue_cancel+0xed/0x150 [videobuf2_core] [<c0245bfd>] warn_slowpath_null+0x1d/0x20 [<f925e4ad>] __vb2_queue_cancel+0xed/0x150 [videobuf2_core] [<f925fa35>] vb2_internal_streamoff+0x35/0x90 [videobuf2_core] [<f925fac5>] vb2_streamoff+0x35/0x60 [videobuf2_core] [<f925fb27>] vb2_ioctl_streamoff+0x37/0x40 [videobuf2_core] [<f8e45895>] v4l_streamoff+0x15/0x20 [videodev] [<f8e4925d>] __video_do_ioctl+0x23d/0x2d0 [videodev] [<f8e49020>] ? video_ioctl2+0x20/0x20 [videodev] [<f8e48c63>] video_usercopy+0x203/0x5a0 [videodev] [<f8e49020>] ? video_ioctl2+0x20/0x20 [videodev] [<c039d0e7>] ? fsnotify+0x1e7/0x2b0 [<f8e49012>] video_ioctl2+0x12/0x20 [videodev] [<f8e49020>] ? video_ioctl2+0x20/0x20 [videodev] [<f8e4461e>] v4l2_ioctl+0xee/0x130 [videodev] [<f8e44530>] ? v4l2_open+0xf0/0xf0 [videodev] [<c0378de2>] do_vfs_ioctl+0x2e2/0x4d0 [<c0368eec>] ? vfs_write+0x13c/0x1c0 [<c0369a8f>] ? vfs_writev+0x2f/0x50 [<c0379028>] SyS_ioctl+0x58/0x80 [<c076fff3>] sysenter_do_call+0x12/0x12 ---[ end trace 5545f934409f13f4 ]--- ... Many thanks to Hans Verkuil, whose recently added check in the vb2 core unveiled this long standing issue and who has investigated it further. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c0d04f4026c305eadeac6cfdffdbac5fcdf9bc60 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 03:20:01 2014 -0300 [media] via-camera: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7c5a62e1eee1f59a5d2c25bbd28f0929811ffefa Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 03:19:20 2014 -0300 [media] sh_veu: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 91ba0e59babdb3c7aca836a65f1095b3eaff7b06 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 8 10:32:56 2014 -0300 [media] tda7432: Fix setting TDA7432_MUTE bit for TDA7432_RF register Fix a copy-paste bug when converting to the control framework. Fixes: commit 5d478e0de871 ("[media] tda7432: convert to the control framework") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a14e55190b8ac8305870ed9f7b5e1375ed870a34 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 03:01:39 2014 -0300 [media] soc_camera: ov772x: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 665152a4fb9f60df1c28cee8ab2634a6533edb9c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 03:00:44 2014 -0300 [media] soc_camera: mt9t112: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 37096b476b45e60b2b264d0b517089b47cb9374b Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 02:59:44 2014 -0300 [media] vs6624: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4721b3eb662ca5ea60a636f0f190f2fd2ac5df14 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 02:58:40 2014 -0300 [media] ov7670: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6e533c01a89fbb8b1a5c58808540e798e2dad645 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Wed Aug 6 03:52:08 2014 -0300 [media] v4l: Event documentation fixes Constify event type constants and correct motion detection event number (it's 6, not 5). Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6ddc2be511a76e6c3f689f46155cb0f4c8f5876e Author: Ulrich Eckhardt <uli-lirc@xxxxxxxxxxxxxxx> Date: Sat Jul 26 15:01:12 2014 -0300 [media] imon: Fix not working front panel Make the front panel buttons working after another button on the remote was pressed. Signed-off-by: Ulrich Eckhardt <uli@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7b5fc0714976aec5db5c4f8c66f12b23f5049b97 Author: Ulrich Eckhardt <uli@xxxxxxxxxxxxxxx> Date: Sat Jul 26 14:59:07 2014 -0300 [media] imon: Add internal key table for 15c2:0034 Add the key table for the Thermaltake DH-102 to the USB-Id 15c2:0034. Signed-off-by: Ulrich Eckhardt <uli@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0d8053f2ace52c816800193d705ea82a2ffd6dc8 Author: Ulrich Eckhardt <uli-lirc@xxxxxxxxxxxxxxx> Date: Sat Jul 26 14:56:01 2014 -0300 [media] imon: Define keytables per USB Device Id This patch defines the keytables per USB Device ID. Signed-off-by: Ulrich Eckhardt <uli@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d4b32646468088323f27a7788ce3b07191015142 Author: Vitaly Osipov <vitaly.osipov@xxxxxxxxx> Date: Thu Jun 5 04:07:48 2014 -0300 [media] staging: omap4iss: copy paste error in iss_get_clocks It makes more sense to return PTR_ERR(iss->iss_ctrlclk) here. The current code looks like an oversight in pasting the block just above this one. Signed-off-by: Vitaly Osipov <vitaly.osipov@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 63ddf68de52efaac40a9287e44266ac30e71dd36 Author: Federico Simoncelli <fsimonce@xxxxxxxxxx> Date: Mon Aug 11 18:42:22 2014 -0300 [media] usbtv: add audio support Add an ALSA handler inside usbtv module, in order to make audio to work with those devices. Signed-off-by: Federico Simoncelli <fsimonce@xxxxxxxxxx> Tested-by: Lubomir Rintel <lkundrak@xxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c8fa50549dc6e717e0941ee7092a973388253c7a Author: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Date: Sun Aug 10 17:30:18 2014 -0300 [media] drivers: media: pci: Makefile: Remove duplicate subdirectory from obj-y In the list of subdirectories compiled, b2c2/ appears twice. This patch removes one of the appearances. Signed-off-by: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6af6e9c84fcc8f86b15be607a9ae8afd1d1686ea Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 10 06:41:31 2014 -0300 [media] saa6752hs: Convert to devm_kzalloc() Using the managed function the kfree() calls can be removed from the probe error path and the remove handler. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 43e9d4ab0c14ccff3ed27f8e43274571e286f0ed Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 12:19:13 2014 -0300 [media] cx23885: Spelling s/compuations/computations/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d720b7aff6481b99a42d484383d7e19d86323b5d Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 12:19:12 2014 -0300 [media] cx25840: Spelling s/compuations/computations/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0821344d9e805912f1971c58318547ea62984321 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Aug 8 09:59:02 2014 -0300 [media] vb2: use pr_info instead of pr_debug Modern kernels enable dynamic printk support, which is fine, except when it is combined with a debug module option. Enabling debug in videobuf2-core now produces no debugging unless it is also enabled through the dynamic printk support in debugfs. Either use a debug module option + pr_info, or use pr_debug without a debug module option. In this case the fact that you can set various debug levels is very useful, so I believe that for videobuf2-core.c we should use pr_info. The mix of the two is very confusing: I've spent too much time already trying to figure out why I am not seeing any debug output in the kernel log when I do: echo 1 >/sys/modules/videobuf2_core/parameters/debug Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 83acb75d0dd37bd2eb24168f26d01c747ece3fc7 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Aug 8 04:38:09 2014 -0300 [media] DocBook media: fix order of v4l2_edid fields The order of the last two fields in the G/S_EDID specification was swapped from what is in the actual struct. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f035eb4e976ef5a059e30bc91cfd310ff030a7d3 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Aug 7 03:47:14 2014 -0300 [media] videobuf2: fix lockdep warning The following lockdep warning has been there ever since commit a517cca6b24fc54ac209e44118ec8962051662e3 one year ago: [ 403.117947] ====================================================== [ 403.117949] [ INFO: possible circular locking dependency detected ] [ 403.117953] 3.16.0-rc6-test-media #961 Not tainted [ 403.117954] ------------------------------------------------------- [ 403.117956] v4l2-ctl/15377 is trying to acquire lock: [ 403.117959] (&dev->mutex#3){+.+.+.}, at: [<ffffffffa005a6c3>] vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.117974] [ 403.117974] but task is already holding lock: [ 403.117976] (&mm->mmap_sem){++++++}, at: [<ffffffff8118291f>] vm_mmap_pgoff+0x6f/0xc0 [ 403.117987] [ 403.117987] which lock already depends on the new lock. [ 403.117987] [ 403.117990] [ 403.117990] the existing dependency chain (in reverse order) is: [ 403.117992] [ 403.117992] -> #1 (&mm->mmap_sem){++++++}: [ 403.117997] [<ffffffff810d733c>] validate_chain.isra.39+0x5fc/0x9a0 [ 403.118006] [<ffffffff810d8bc3>] __lock_acquire+0x4d3/0xd30 [ 403.118010] [<ffffffff810d9da7>] lock_acquire+0xa7/0x160 [ 403.118014] [<ffffffff8118c9ec>] might_fault+0x7c/0xb0 [ 403.118018] [<ffffffffa0028a25>] video_usercopy+0x425/0x610 [videodev] [ 403.118028] [<ffffffffa0028c25>] video_ioctl2+0x15/0x20 [videodev] [ 403.118034] [<ffffffffa0022764>] v4l2_ioctl+0x184/0x1a0 [videodev] [ 403.118040] [<ffffffff811d77d0>] do_vfs_ioctl+0x2f0/0x4f0 [ 403.118307] [<ffffffff811d7a51>] SyS_ioctl+0x81/0xa0 [ 403.118311] [<ffffffff8199dc69>] system_call_fastpath+0x16/0x1b [ 403.118319] [ 403.118319] -> #0 (&dev->mutex#3){+.+.+.}: [ 403.118324] [<ffffffff810d6a96>] check_prevs_add+0x746/0x9f0 [ 403.118329] [<ffffffff810d733c>] validate_chain.isra.39+0x5fc/0x9a0 [ 403.118333] [<ffffffff810d8bc3>] __lock_acquire+0x4d3/0xd30 [ 403.118336] [<ffffffff810d9da7>] lock_acquire+0xa7/0x160 [ 403.118340] [<ffffffff81999664>] mutex_lock_interruptible_nested+0x64/0x640 [ 403.118344] [<ffffffffa005a6c3>] vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118349] [<ffffffffa0022122>] v4l2_mmap+0x62/0xa0 [videodev] [ 403.118354] [<ffffffff81197270>] mmap_region+0x3d0/0x5d0 [ 403.118359] [<ffffffff8119778d>] do_mmap_pgoff+0x31d/0x400 [ 403.118363] [<ffffffff81182940>] vm_mmap_pgoff+0x90/0xc0 [ 403.118366] [<ffffffff81195cef>] SyS_mmap_pgoff+0x1df/0x2a0 [ 403.118369] [<ffffffff810085c2>] SyS_mmap+0x22/0x30 [ 403.118376] [<ffffffff8199dc69>] system_call_fastpath+0x16/0x1b [ 403.118381] [ 403.118381] other info that might help us debug this: [ 403.118381] [ 403.118383] Possible unsafe locking scenario: [ 403.118383] [ 403.118385] CPU0 CPU1 [ 403.118387] ---- ---- [ 403.118388] lock(&mm->mmap_sem); [ 403.118391] lock(&dev->mutex#3); [ 403.118394] lock(&mm->mmap_sem); [ 403.118397] lock(&dev->mutex#3); [ 403.118400] [ 403.118400] *** DEADLOCK *** [ 403.118400] [ 403.118403] 1 lock held by v4l2-ctl/15377: [ 403.118405] #0: (&mm->mmap_sem){++++++}, at: [<ffffffff8118291f>] vm_mmap_pgoff+0x6f/0xc0 [ 403.118411] [ 403.118411] stack backtrace: [ 403.118415] CPU: 0 PID: 15377 Comm: v4l2-ctl Not tainted 3.16.0-rc6-test-media #961 [ 403.118418] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/31/2013 [ 403.118420] ffffffff82a6c9d0 ffff8800af37fb00 ffffffff819916a2 ffffffff82a6c9d0 [ 403.118425] ffff8800af37fb40 ffffffff810d5715 ffff8802308e4200 0000000000000000 [ 403.118429] ffff8802308e4a48 ffff8802308e4a48 ffff8802308e4200 0000000000000001 [ 403.118433] Call Trace: [ 403.118441] [<ffffffff819916a2>] dump_stack+0x4e/0x7a [ 403.118445] [<ffffffff810d5715>] print_circular_bug+0x1d5/0x2a0 [ 403.118449] [<ffffffff810d6a96>] check_prevs_add+0x746/0x9f0 [ 403.118455] [<ffffffff8119c172>] ? find_vmap_area+0x42/0x70 [ 403.118459] [<ffffffff810d733c>] validate_chain.isra.39+0x5fc/0x9a0 [ 403.118463] [<ffffffff810d8bc3>] __lock_acquire+0x4d3/0xd30 [ 403.118468] [<ffffffff810d9da7>] lock_acquire+0xa7/0x160 [ 403.118472] [<ffffffffa005a6c3>] ? vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118476] [<ffffffffa005a6c3>] ? vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118480] [<ffffffff81999664>] mutex_lock_interruptible_nested+0x64/0x640 [ 403.118484] [<ffffffffa005a6c3>] ? vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118488] [<ffffffffa005a6c3>] ? vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118493] [<ffffffff810d8055>] ? mark_held_locks+0x75/0xa0 [ 403.118497] [<ffffffffa005a6c3>] vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118502] [<ffffffffa0022122>] v4l2_mmap+0x62/0xa0 [videodev] [ 403.118506] [<ffffffff81197270>] mmap_region+0x3d0/0x5d0 [ 403.118510] [<ffffffff8119778d>] do_mmap_pgoff+0x31d/0x400 [ 403.118513] [<ffffffff81182940>] vm_mmap_pgoff+0x90/0xc0 [ 403.118517] [<ffffffff81195cef>] SyS_mmap_pgoff+0x1df/0x2a0 [ 403.118521] [<ffffffff810085c2>] SyS_mmap+0x22/0x30 [ 403.118525] [<ffffffff8199dc69>] system_call_fastpath+0x16/0x1b The reason is that vb2_fop_mmap and vb2_fop_get_unmapped_area take the core lock while they are called with the mmap_sem semaphore held. But elsewhere in the code the core lock is taken first but calls to copy_to/from_user() can take the mmap_sem semaphore as well, potentially causing a classical A-B/B-A deadlock. However, the mmap/get_unmapped_area calls really shouldn't take the core lock at all. So what would happen if they don't take the core lock anymore? There are two situations that need to be taken into account: calling mmap while new buffers are being added and calling mmap while buffers are being deleted. The first case works almost fine without a lock: in all cases mmap relies on correctly filled-in q->num_buffers/q->num_planes values and those are only updated by reqbufs and create_buffers *after* any new buffers have been initialized completely. Except in one case: if an error occurred while allocating the buffers it will increase num_buffers and rely on __vb2_queue_free to decrease it again. So there is a short period where the buffer information may be wrong. The second case definitely does pose a problem: buffers may be in the process of being deleted, without the internal structure being updated. In order to fix this a new mutex is added to vb2_queue that is taken when buffers are allocated or deleted, and in vb2_mmap. That way vb2_mmap won't get stale buffer data. Note that this is a problem only for MEMORY_MMAP, so even though __qbuf_userptr and __qbuf_dmabuf also mess around with buffers (mem_priv in particular), this doesn't clash with vb2_mmap or vb2_get_unmapped_area since those are MMAP specific. As an additional bonus the hack in __buf_prepare, the USERPTR case, can be removed as well since mmap() no longer takes the core lock. All in all a much cleaner solution. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 23d3090f8b44ab42162e99e8584445bc25b8922f Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 5 05:11:13 2014 -0300 [media] vmalloc_sg: off by one in error handling The "i--" needs to happen at the start of the loop or it will try to release something bogus (probably it will crash) and it won't release the first ->vaddr_page[]. Fixes: 7b4eeed174b7 ('[media] vmalloc_sg: make sure all pages in vmalloc area are really DMA-ready') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5b6aa199196220a5901c8d9cbad497fea347850a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 21:35:44 2014 -0300 [media] as102-fe: Add a release function This is needed to free state and for dvb_detach() to be called. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4628f993bf66d595226d019e87a4baca636b71e2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:24 2014 -0300 [media] as102: add missing viterbi lock In order to get FE_HAS_SYNC, the viterbi should already be locked too. So, add the missing FE_HAS_VITERBI lock. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit dcae77814865122ed411de1a4e8ebd02796cf3c4 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:23 2014 -0300 [media] as102-fe: make it an independent driver Move as102-fe to dvb-frontends directory and make it an independent driver. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 47f79129ecf5fd12d847c2e63b6ce39d1df4a648 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:22 2014 -0300 [media] as102: prepare as102_fe to be compiled as a module Remove the dependencies of as102_cmd from as102, in order to allow it to be compiled as a separate module. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c098c219b0c2da64250dd0542c5c54ca7245d1a5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:21 2014 -0300 [media] as102: get rid of as10x_fe_copy_tps_parameters() This function just converts from the as10x internal data into the DVBv5 cache. Get rid of it. No functional changes. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1d6207fd2c262deb7006c9269eec33e64c5e514f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:20 2014 -0300 [media] as102: get rid of as102_fe_copy_tune_parameters() This function just parses the frontend cache and converts to the as102 internal format message. Get rid of it. No functional changes. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b601d9a5d668119219d1db95cbe04fdc38eaf5a4 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:19 2014 -0300 [media] as102: Move ancillary routines to the beggining Avoid having function prototypes by moving some ancillary routines to the beginning of the file. No functional changes. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d8eb070b6649c1663204300555fb740affc6cdc2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:18 2014 -0300 [media] as102: better name the unknown frontend Make the frontend .name more coherent with DVB namespace. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1d5c2bb1f9ded9af7bb7e4d2b9beeacbfdbc6f2b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:17 2014 -0300 [media] as102: CodingStyle fixes Fix this warning: WARNING: quoted string split across lines 566: FILE: drivers/media/usb/as102/as102_fe.c:141: + "demod status: fc: 0x%08x, bad fc: 0x%08x, " + "bytes corrected: 0x%08x , MER: 0x%04x\n", Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1f2563d68cce0d45b81a47894c135f65f192b1a9 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:16 2014 -0300 [media] as102: get rid of FSF mail address Make checkpatch happier by removing FSF mail address. No functional changes. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d6317c68f3324e086799e12e4864231bb71829cb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:15 2014 -0300 [media] as102: promote it out of staging This driver is stable and doesn't contain any really serious issue. Move it out of staging. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2179de602c33d0b7b87f087dd7fbf35d22da4bd8 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Mon Aug 4 08:13:16 2014 -0300 [media] staging: media: as102: replace custom dprintk() with dev_dbg() remove dprintk() and replace it with dev_dbg() or pr_debug() in order to use the common kernel coding style. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 29bbb7bd0a65e01a0423e1df764676119b71ecb3 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Mon Aug 11 18:09:32 2014 -0300 [media] siano: add support for PCTV 77e Add support for PCTV microStick (77e) device that uses a sms1140 chipset. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a328e7e3fd3030974b74da51daee625a14be0435 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Wed Jun 11 10:37:36 2014 -0300 [media] smiapp: Set 64-bit integer control using v4l2_ctrl_s_ctrl_int64() Don't manipulate struct v4l2_ctrl directly. Instead, use v4l2_ctrl_s_ctrl_int64() to change the values. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e47a81d8886d0262f9f6a4ecf7aa7e6ba2cb0dfc Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Wed Jun 11 10:34:35 2014 -0300 [media] smiapp: Use unlocked __v4l2_ctrl_modify_range() Instead of modifying the control ranges directly by manipulating struct v4l2_ctrl, use __v4l2_ctrl_modify_range() for the purpose. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f23797b636c4d69b29d2739ba5fc0e36b4e47390 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Aug 6 08:02:23 2014 -0300 [media] coda: checkpatch cleanup This patch breaks most long lines, concatenates broken up text strings, and adds or removes parentheses where needed to make checkpatch happy. The long codec list lines and a few 81-wide lines remain. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a188a668dda4ea6b9454066343b78d662946fe07 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:20 2014 -0300 [media] coda: disable old cropping ioctls Since we neither support composing on the OUTPUT side, nor cropping on the CAPTURE side, disable VIDIOC_CROPCAP and VIDIOC_G/S_CROP altogether. This silences a GStreamer warning when GStreamer tries to obtain the pixel aspect ratio using VIDIOC_CROPCAP. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f95a6ce16736ac3aca4eda2238ccdf1913f3567f Author: Philipp Zabel <philipp.zabel@xxxxxxxxx> Date: Tue Aug 5 14:00:19 2014 -0300 [media] coda: set capture frame size with output S_FMT This patch makes coda_s_fmt_vid_out propagate the output frame size to the capture side. The GStreamer v4l2videodec only ever calls S_FMT on the output side and then expects G_FMT on the capture side to return a valid format. Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2dc546d00c8deb22aac50c8cc0c6293aab975c6b Author: Philipp Zabel <philipp.zabel@xxxxxxxxx> Date: Tue Aug 5 14:00:18 2014 -0300 [media] coda: fix coda_s_fmt_vid_out Set the context color space when s_fmt succeeded, not when it failed. Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 18fd0cceb99fdfd551bb6520703f8e1be4f3f364 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:17 2014 -0300 [media] coda: fix timestamp list handling Lock modification of the timestamp list with bitstream_mutex and do not try to remove a timestamp element if the list is empty. This can happen if the userspace feeds us garbage or multiple encoded frames in a single buffer. Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 68fc31c5d29690685476ea3fbc7da8876f227792 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:16 2014 -0300 [media] coda: improve allocation error messages Produce some error messages when internal buffer allocation fails, for example because the CMA region is too small. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d60b18ba318ec4fb32851ad72f33e1dbc1b641f0 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:15 2014 -0300 [media] coda: add an intermediate debug level Dumping all register accesses drowns other debugging messages in the log. Add a less verbose debug level. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b0ed05b9025528b8480ba12d8e706eef6fe1dbc5 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:14 2014 -0300 [media] coda: increase max vertical frame size to 1088 This patch increases the maximum vertical frame size reported by enum_fmt and accepted by try_fmt/s_fmt from 1080 to 1088. Since for 16x16-pixel macroblocks 1080p will be rounded up to this anyway, we may as well admit that we support it. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8be31c898deea6ac57bc1dc4973b88c931c82980 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:13 2014 -0300 [media] coda: allow running coda without iram on mx6dl Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit fcf59764b99c7daa9b0876fe65d1393e6b759673 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:12 2014 -0300 [media] coda: skip calling coda_find_codec in encoder try_fmt_vid_out We know that it will return NULL in this case, so we can just as well skip it altogether. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4a31b52fca20d1fc0abe0d0f5489b9eec2760219 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:11 2014 -0300 [media] coda: dequeue buffers on streamoff This is needed to decrease the q->owned_by_drv_count to zero before __vb2_queue_cancel is called, to avoid the WARN_ON therein. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b906352c23388837a643720d8548ae9459b5ed76 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:10 2014 -0300 [media] coda: dequeue buffers if start_streaming fails Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 540b72e415d6033b72037dbdb1f6c00516034250 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:09 2014 -0300 [media] coda: request BIT processor interrupt by name Request the main coda interrupt using its name, "bit", if available. Fall back to requesting the first interrupt for backwards compatibility. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5727a5a4a1d89a8bf1442e7b0fd83de63512a1b6 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:08 2014 -0300 [media] coda: remove unnecessary peek at next destination buffer from coda_finish_decode The return value of this call to v4l2_m2m_next_dst_buf() is never used. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2c3759d406ded38b88992cb4e423ce232112001a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:06 2014 -0300 [media] coda: include header for memcpy coda_h264_padding uses memcpy, we should include string.h for that. Reported-by: Ian Jamison <ian.dev@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 79924ca9cf95544213d320e3f20d0aff3288e0cb Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:45 2014 -0300 [media] coda: move BIT specific functions into separate file This patch moves the BIT processor specific coda_context_ops, the firmware upload and other related functions from coda-common.c into coda-bit.c. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4f4ee9ee88720e27b2e90e5dc3d9c086b069a316 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:44 2014 -0300 [media] coda: move H.264 helper function into separate file Currently there is only the coda_h264_padding function, but we will have to add more H.264 specific helpers later. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 58b7677db01585736d2175f385dcfcc313aed3de Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:43 2014 -0300 [media] coda: move per-instance buffer allocation and cleanup This patch moves the context buffer allocation into the context start_streaming callbacks. The context buffer and internal framebuffer cleanup is moved into the context release callback. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 347bb7f019db8ff52a9285abc6d776c6a776e0e9 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:42 2014 -0300 [media] coda: add coda_bit_stream_set_flag helper This adds a helper function to consolidate three occurences where the bitstream parameter stream end flag is set during operation. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8a82c6ba2e92dbd39cb7e5f46aa40daf3432b967 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:41 2014 -0300 [media] coda: move BIT processor command execution out of pic_run_work In preparation for the split, move the AXI_SRAM_USE register access and the PIC_RUN command execution out of pic_run_work into prepare_encode/decode. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a1192a17eed8ee30fd0f8d944d66fbe5288641e2 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:40 2014 -0300 [media] coda: add context ops Add a struct coda_context_ops that encapsulates context specific operations. This will simplify adding JPEG support in the future and helps to avoid exporting all functions individually when they move out of the main code file. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a2b3e46acbf1edfc772a15e79ab1dbd20ad55cba Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:39 2014 -0300 [media] coda: move defines, enums, and structs into shared header These will have to be shared between multiple code files. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e19a763950fa3598edd488c9bf28c86e79262211 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:38 2014 -0300 [media] coda: move coda driver into its own directory The coda driver has grown significantly and will continue to grow. Move the coda driver into its own directory so it can be split. Rename coda.h to coda_regs.h as it contains the register defines. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 814c376255f2fed2c3120f04486f68fe0c286002 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:45 2014 -0300 [media] coda: mark constant structures as such The format and codec lists and the ops structures are read-only. Mark them as const. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4f31ff010261b9fd232980088bbdbcfcfc4b9318 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:44 2014 -0300 [media] coda: default to h.264 decoder on invalid formats If the user provides an invalid format, let the decoder device default to h.264. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 22e244b813ddd9a290a446ddca24ceca1f78dad2 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:43 2014 -0300 [media] coda: split format enumeration for encoder end decoder device Let the decoder capture side and encoder output side only list uncompressed formats, and the decoder output and encoder capture side only list compressed formats. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 121cacf44531666355d44d0f78948818c2ed9aca Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:42 2014 -0300 [media] coda: split userspace interface into encoder and decoder device Userspace has a hard time making sense of format enumerations on V4L2 mem2mem devices if there are restrictions on which input and output formats can be used together. Alleviate the problem by splitting the video4linux device into separate encoder and decoder devices which list only raw formats on one side and only encoded formats on the other side. With this patch, the instance type (encoder or decoder) is already determined by the open file operation. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 91b5841e24d1ebefd62f03ff790755ae0f379627 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:41 2014 -0300 [media] coda: lock capture frame size to output frame size when streaming As soon as the output queue is streaming, let try_fmt on the capture side only allow the frame size that was set on the output side. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit eabed931dfc3f47f78b93fb49013af6da66682af Author: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:40 2014 -0300 [media] coda: delay coda_fill_bitstream() coda_fill_bitstream() calls v4l2_m2m_buf_done() which is no longer allowed before streaming was started. Delay coda_fill_bitstream() until coda_start_streaming() and explicitly set 'start_streaming_called' before calling coda_fill_bitstream() Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 390503bdb49139e83a0cbfd25a31c5fa36db5ca3 Author: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:39 2014 -0300 [media] coda: use CODA_MAX_FRAME_SIZE everywhere Without this changing CODA_MAX_FRAME_SIZE to anything other than 0x100000 can break the bitstram handling Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d29a8cf24dca7106f16007e115d3128042e9267a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:38 2014 -0300 [media] coda: remove VB2_USERPTR from queue io_modes Disallow USERPTR buffers, videobuf2-dma-contig doesn't support them. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3898e7a72d8131aea2b8daa292df7416a69f41b4 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:37 2014 -0300 [media] coda: remove CAPTURE and OUTPUT caps This is a mem2mem driver, pure capture or output modes are not supported. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 65919e6baa4e6e193dd7e4aa4cfd94b9d69e367e Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:36 2014 -0300 [media] coda: initialize hardware on pm runtime resume only if firmware available If no firmware was found and the coda module is unloaded, coda_runtime_resume will be called without an allocated code buffer. Do not call coda_hw_init in this case. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ae5abd2561b40a1f046088cd30b900ccde63fbc5 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:35 2014 -0300 [media] coda: fix CODA7541 hardware reset Do not try to read the CODA960 GDI status register on CODA7541. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit cd73bb6c4e493cbe227f7861d96dd864a71fe5bc Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jul 23 10:30:57 2014 -0300 [media] omap3isp: resizer: Protect against races when updating crop When updating the crop rectangle during streaming, the IRQ handler will reprogram the resizer after the current frame. A race condition currently exists between the set selection operation and the IRQ handler: if the set selection operation is called twice in a row and the IRQ handler runs only during the second call, it could reprogram the hardware with partially updated values. Use a spinlock to protect against that. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d903a0a367f3e0350a3ba1455c0a7c533977fb42 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jul 23 10:30:57 2014 -0300 [media] omap3isp: resizer: Remove slow debugging message from interrupt handler The resizer_set_input_size() function prints a debugging message with the input width and height values. As the function is called from interrupt context, printing that message to the serial console could slow down the interrupt handler and cause it to miss the start of the next frame, causing image corruption. Fix this by reorganizing the resizer debug messages. The driver now prints the input size, the crop rectangle and the output size in the set selection handler instead of scattering debug messages in various places. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 41316a27ee96b31970175bec87210075752001fb Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jul 23 10:30:57 2014 -0300 [media] omap3isp: resizer: Remove needless variable initializations There's no need to initialize local variables to zero when they're explicitly assigned another value right after. Remove the needless initializations. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ca84ea49f8cba11aaca9c9d570431abb5288f56b Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 10:28:48 2014 -0300 [media] omap3isp: ccdc: Restart the CCDC immediately after an underrun in BT.656 As the CCDC doesn't generate interrupts when stopped in BT.656 mode, restart it immediately when the next buffer after an underrun is queued instead of relying on the interrupt handler to restart the CCDC. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0b3fcd5727e835c60de46d33b2f5f5803c4a5de7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 10:26:28 2014 -0300 [media] omap3isp: ccdc: Don't timeout on stream off when the CCDC is stopped When the CCDC is already stopped due to a buffer underrun, the stop state machine won't advance in BT.656 mode as no interrupt are generated by the stopped CCDC in that mode. Handle this case explicitly in the ccdc_disable() function. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 93456527b4488510d87a523028b3bb73dfdd7669 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 09:41:57 2014 -0300 [media] omap3isp: ccdc: Fix freeze when a short frame is received In BT.656 mode the synchronization signals are generated by the CCDC from the embedded sync codes. The VD0 and VD1 interrupts are thus only triggered when the CCDC is enabled, unlike external sync mode where the line counter runs even when the CCDC is stopped. We can't disable the CCDC at VD1 time, as no VD0 interrupt would be generated for a short frame, which would result in the CCDC being stopped and no VD interrupt generated anymore. The CCDC is stopped from the VD0 interrupt handler instead for BT.656. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit fd93c10afe383d7c28b5edffa29f92b6dae55191 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 09:16:08 2014 -0300 [media] omap3isp: ccdc: Increment the frame number at VD0 time for BT.656 We will stop using VD1 in BT.656 mode, move frame number increment to the VD0 interrupt handler. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1c74817405d42572db2071b0b4a9609b487c91a7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 06:15:33 2014 -0300 [media] omap3isp: ccdc: Simplify ccdc_lsc_is_configured() Use a local variable to avoid the duplicate spin_unlock_irqrestore() call. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8815392a1d190201765682a82ca4c3e6ad03a674 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Jun 7 20:57:07 2014 -0300 [media] omap3isp: ccdc: Rename __ccdc_handle_stopping to ccdc_handle_stopping There's no need for a double underscore in the function name, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 93d7badf1b929120cbc886f3dfec3ca55549d086 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Jun 7 20:57:07 2014 -0300 [media] omap3isp: ccdc: Only complete buffer when all fields are captured Checking that the captured field corresponds to the last required field depending on the requested field order before completing the buffer isn't enough. When the first field at stream start corresponds to the last required field, this would result in returning an interlaced buffer containing a single field. Fix this by keeping track of the fields captured in the buffer, and make sure that both fields are present for alternate field orders. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit aec2de0e93e34e27ef60e7a8f48bc68ec4b4fcbb Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 11:51:34 2014 -0300 [media] omap3isp: ccdc: Disable the video port when unused The video port doesn't support YUV formats. Disable it when the CCDC sink pad format is set to YUV instead of leaving it enabled and relying on downstream modules not to process data they receive from the video port. Experiments showed that this fixes some of the CCDC failures to stop, especially in BT.656 mode. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9de7af4d5bbff7998c09e854b2999359ac1b2721 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue May 20 14:18:53 2014 -0300 [media] omap3isp: ccdc: Add support for BT.656 YUV format at the CCDC input Query the CCDC input media bus type from the subdev connected to the CCDC sink pad and configure the CCDC accordingly to support BT.656 synchronization. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit bcb4e0efd1380d93866df51ec5d8dfaa026537ad Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 19:40:04 2014 -0300 [media] omap3isp: ccdc: Support the interlaced field orders at the CCDC output The CCDC can interleave fields into a single buffer when writing to memory. Support it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9a36d8ed33c481a99f69f8a2eeb22e3c7750e522 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 16:37:38 2014 -0300 [media] omap3isp: ccdc: Add basic support for interlaced video When the CCDC input is interlaced enable the alternate field order on the CCDC output video node. The field signal polarity is specified through platform data. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0a7b1a01037e0d43e1b85134be4217c7831f57d6 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 21:46:33 2014 -0300 [media] omap3isp: ccdc: Simplify the ccdc_isr_buffer() function Instead of using goto statements to a single line return, return the correct value immediately. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2e8f01725e332c8998b87a6fe09cfc3b105eb643 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 15:05:51 2014 -0300 [media] omap3isp: ccdc: Simplify the configuration function Assign the format variable to the sink pad format earlier and use it instead of accessing the sink pad format directly from the ISP structure. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f7abbe989f7aa5e1d65fc7f171b8c144f4382045 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 12:14:42 2014 -0300 [media] omap3isp: video: Validate the video node field order The field order requested on the video node must match the field order at the connected subdevice source pad. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 48a8a0cb764c25939788a476e7f1b1695c337835 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 10:49:58 2014 -0300 [media] omap3isp: Default to progressive field order when setting the format If the requested field order is not supported default to progressive as we can't guess how the user will configure the pipeline later on. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 25c5cc9194f241d9180b4ca76a1845efd0a02769 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 10:33:15 2014 -0300 [media] omap3isp: Move non-critical code out of the mutex-protected section The isp_video_pix_to_mbus() and isp_video_mbus_to_pix() calls in isp_video_set_format() only access static fields of the isp_video structure. They don't need to be protected by a mutex. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9884a955a9da8488a88672a3eff40309bbd7f74f Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 18:17:55 2014 -0300 [media] omap3isp: Remove boilerplate disclaimer and FSF address We don't want to modify all source files the day the FSF moves. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit eb228e897c902a65f6da536331f7d058fde1ea73 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue May 20 18:21:13 2014 -0300 [media] omap3isp: Don't ignore subdev streamoff failures Record the value returned by subdevs from s_stream(0) and handle stop failures when an error occurs. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 24acf8b211e25414cb288305292a1fda136c0bd8 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 11:36:23 2014 -0300 [media] v4l: subdev: Extend default link validation to cover field order The field order must match between the source and sink pads, or the sink pad field order must be NONE. This allows connecting an interlaced source to a bridge that has no hardware support for interlaced formats. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0e2a6b7f2b9303410c93fd4724f9d36ebc7be1c3 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Wed May 21 16:58:11 2014 -0300 [media] smiapp: Implement the test pattern control Add support for the V4L2_CID_TEST_PATTERN control. When the solid colour mode is selected, additional controls become available for setting the solid four solid colour components. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a913d8742e275dd2d80726afac02311a0f49d161 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Mon May 26 09:46:18 2014 -0300 [media] smiapp: Add driver-specific test pattern menu item definitions Add numeric definitions for menu items used in the smiapp driver's test pattern menu. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0fc87864879c46afe145e20ec09c9dba2328e3be Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Wed May 28 09:38:21 2014 -0300 [media] v4l: Add test pattern colour component controls In many cases the test pattern has selectable values for each colour component. Implement controls for raw bayer components. Additional controls should be defined for colour components that are not covered by these controls. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5275a3b6b01664317b1a0bdc95ad981dbbb62283 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 23:14:22 2014 -0300 [media] xc5000: be sure that the firmware is there before set params Now that xc5000_set_params() is also called during resume, move the code that checks for the firmware to happen there. This way, the firmware will be loaded either for analog or digital TV when .resume callback is called. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2930977ac5934540d876715fdf32b1dd6f405df5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 23:14:21 2014 -0300 [media] au0828: Fix DVB resume when streaming When DVB is streaming and suspend is called, it will call au0828_stop_transport(), with will clean the streaming flag. Due to that, stop_urb_transfer() will be called twice, causing an oops. So, we need another flag to be used at resume, telling it to restart DVB. While here, add a logic at stop_urb_transfer() to prevent it of being called twice, and convert the usb_streaming flag into boolean. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit bbc62a18b6d90da702d14f0d04f67de1e37ca790 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 23:14:20 2014 -0300 [media] au0828: fix checks if dvb is initialized dev->dvb is always not null, as it is an area at the dev memory. So, checking if (dev->dvb) is always true. Instead of this stupid check, what the code wants to do is to know if the DVB was successully registered. Fix it by checking, instead, for dvb->frontend. It should also be sure that this var will be NULL if the device was not properly initialized. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 59b94f3e74042a82fd59478d688909760b873b02 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:24 2014 -0300 [media] xc5000: better name the functions xc5000_set_params() is a bad name for a function that handles only digital TV. Rename it to xc5000_set_digital_params(), and proper name the generic function that works for both digital and analog. No functional changes. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7ab1c07614b984778a808dc22f84b682fedefea1 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:23 2014 -0300 [media] xc5000: add a resume function If a device suspends/hibertates with a station tuned, restore the tuner station at resume. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c3d6676bbaf4666ded026b35e0f62156e59ecfc1 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:22 2014 -0300 [media] xc5000: Split config and set code for analog/radio As we need a function that reapply the last tuned radio, in order to do resume, split the code that validates and updates the internal priv struct from the ones that actually set radio and TV. A latter patch will add support for resume. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 164352023104207322614deef8d03bd0d773a22a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:21 2014 -0300 [media] au0828: move the code that sets DTV on a separate function As we'll be adding a code to resume tuner operation, we need to move the code that actually sets DTV on a separate function, to be called by the resume code. No functional changes, just code got moved. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 91a5307cb0b164024725d68990441553740a2149 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:20 2014 -0300 [media] xc5000: fix xc5000 suspend After xc5000 stops working, it waits for 5 seconds, waiting for a new usage. Only after that it goes to low power mode. If a suspend event happens before that, a work queue will remain active, with causes suspend to crash. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 59d7889ae49f6e3e9d9cff8c0de7ad95d9ca068b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:19 2014 -0300 [media] dvb-frontend: add core support for tuner suspend/resume While several tuners have some sort of suspend/resume implementation, this is currently mangled with an optional .sleep callback that it is also used to put the device on low power mode. Not all drivers implement it, as returning the driver from low power may require to re-load the firmware, with takes some time. Also, some drivers may delay it. So, the more coherent is to add two new optional callbacks that will let the tuners to directy implement suspend and resume callbacks if they need. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 811872404bb021b73ecb4b78de88bd2d7f26548e Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:18 2014 -0300 [media] au0828: add pr_info to track au0828 suspend/resume code Suspend/resume conditions can be very tricky. Add some info printk's to help tracking what's happening there. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 83afb32aa9d8cc77049c0e4e124e3bed8b88428f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:17 2014 -0300 [media] au0828: use pr_foo macros Instead of using printk(KERN_foo, use pr_foo() macros. No functional changes. Note: we should do the same for dprintk(), but that would require to remove the dprintk levels. So, for now, let's not touch on it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3d8de92e07b855d22e9807a287f80ee910331d51 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:16 2014 -0300 [media] au0828: Remove a bad whitespace Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1a1ba95e80e567176aeb2a10b2dc6d920b06a33e Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:15 2014 -0300 [media] au0828: add suspend/resume code for V4L2 No timers should be enabled during suspend. So, stop them. At resume time, we should do the proper initialization for it to keep working. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e2147d0af0aa77c1a7b610224161993ef62e3ac1 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:14 2014 -0300 [media] au0828: properly handle stream on/off state The STREAM_ON state is used by s_format callback, but the driver never sets it. Fix it. This will also be needed in order to handle suspend/resume ops. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b799de75e032c4d27788af9b4df3ab25858f87a8 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:13 2014 -0300 [media] au0828: Add suspend code for DVB The scheduled work should be cancelled during suspend. At resume time, we need to set the frontend again. So, add such logic to the driver. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit fa500461db5af83fce7b1bd45e4925efadbebd90 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:12 2014 -0300 [media] au0828: be sure to reenable the bridge and GPIOs on resume At resume, we should restore the register contents. So, reenable the bridge and GPIO settings. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit aaeac1991b2c3dff46e0aae5e1d7c7f46ac9eddc Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:11 2014 -0300 [media] au0828: don't let the IR polling thread to run at suspend Trying to make au0828 to suspend can do very bad things, as the polling Kthread is not handled. We should disable it during suspend, only re-enabling it at resume. Still, analog and digital TV won't work, as we don't reinit the settings at resume, but at least it won't hang. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 92143f6fb0d6655391b1b42f54ab94d3f16c00ac Author: Shuah Khan <shuah.kh@xxxxxxxxxxx> Date: Sat Aug 9 21:47:10 2014 -0300 [media] au0828: remove CONFIG_VIDEO_AU0828_RC scope around au0828_rc_*() Remove CONFIG_VIDEO_AU0828_RC scope around au0828_rc_register() and au0828_rc_unregister() calls in au0828-core Signed-off-by: Shuah Khan <shuah.kh@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 917cbcde46adf3e155ec61d92f6f29a4eb3acad1 Author: Shuah Khan <shuah.kh@xxxxxxxxxxx> Date: Fri Aug 8 21:36:18 2014 -0300 [media] au0828: add au0828_rc_*() stubs for VIDEO_AU0828_RC disabled case Define au0828_rc_*() stubs to avoid compile errors when VIDEO_AU0828_RC is disabled and avoid the need to enclose au0828_rc_*() in ifdef CONFIG_VIDEO_AU0828_RC in .c files. Signed-off-by: Shuah Khan <shuah.kh@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 345e3bfdadf4ae12df6251d4bcb6b9fb48037690 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:08 2014 -0300 [media] au0828: handle IR int during suspend/resume It doesn't make sense to handle an IR code given before suspending after the device resume. So, turn off IR int while suspending. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e9018af0b8897b02dc8e83e6cd75391afcadf894 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:07 2014 -0300 [media] au0828: avoid race conditions at RC stop As the RC kthread can re-enable IR int, we should first cancel the kthread and then disable IR int. While here, remove a temporary debug printk. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2e0cc7ee75a218ad43b112164e87acb03f0fd9f0 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 7 10:46:30 2014 -0300 [media] au0828-input: Be sure that IR is enabled at polling When the DVB code sets the frontend, it disables the IR INT, probably due to some hardware bug, as there's no code there at au8522 frontend that writes on register 0xe0. Fixing it at au8522 code is hard, as it doesn't know if the IR is enabled or disabled, and just restoring the value of register 0xe0 could cause other nasty effects. So, better to add a hack at au0828-input polling interval to enable int, if disabled. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d84fdc774b3beea1a7c601ff6e8d22e6ac13dd01 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 7 13:10:26 2014 -0300 [media] au0828: Enable IR for HVR-850 HVR-850 also has a remote. Enable it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ff346b0f5d86688baf7c191faf192e69cf347583 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 7 13:10:25 2014 -0300 [media] au0828: add an option to disable IR via modprobe parameter The IR code increases the power consumption of the device. Allow to disable it via modprobe parameter. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f5885f40976bc8c8cb8fa17616ccc423f6daae04 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 7 13:10:24 2014 -0300 [media] au0828: no need to sleep at the IR code This sleep was doing some debouncing on the original driver. This is not needed on Linux, because the RC core and the input layer already takes care of it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2871f352c600d36b1b8ba57c79029cf8aa512948 Merge: 0f3bf3d 7d1311b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:23:58 2014 -0500 Merge tag 'v3.17-rc1' into patchwork Linux 3.17-rc1 commit e628ce70cae5ccd67830b0e2c3d038831746d86b Author: Manuel Schölling <manuel.schoelling@xxxxxx> Date: Thu May 22 22:11:06 2014 +0200 ioat: Use time_before_jiffies() To be future-proof and for better readability the time comparisons are modified to use time_before_jiffies() instead of plain, error-prone math. Signed-off-by: Manuel Schölling <manuel.schoelling@xxxxxx> [djbw: use time_before_jiffies() to make argument order more clear] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 87cea76384257e6ac3fa4791b6a6b9d0335f7457 Author: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx> Date: Tue Jul 1 16:32:38 2014 +0800 dmaengine: fix xor sources continuation the partial xor result must be kept until the next tx is generated. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 4e942fa68425451672e2c9aa6de6373454142722 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Fri Apr 11 14:18:29 2014 -0500 ARM: qcom: Update defconfig * General defconfig update to match upstream changes * Enable IPQ806x & APQ8084 clk support * Enable pinctrl on MSM8960 * Enable CPU_IDLE to get basic wfi support * Enable SPI NOR and MTD M25P80 support (used on AP148 board) * Enable SATA PHY support on IPQ806x and APQ8064 * Enable Fixed regulator and ARM MMCI support (mmc support on APQ8064) Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 7b46268d29543e313e731606d845e65c17f232e4 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 21 18:08:09 2014 +0200 KVM: trace kvm_ple_window grow/shrink Tracepoint for dynamic PLE window, fired on every potential change. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b4a2d31da812ce03efaf5d30c6b9d39c1cbd18d8 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 21 18:08:08 2014 +0200 KVM: VMX: dynamise PLE window Window is increased on every PLE exit and decreased on every sched_in. The idea is that we don't want to PLE exit if there is no preemption going on. We do this with sched_in() because it does not hold rq lock. There are two new kernel parameters for changing the window: ple_window_grow and ple_window_shrink ple_window_grow affects the window on PLE exit and ple_window_shrink does it on sched_in; depending on their value, the window is modifier like this: (ple_window is kvm_intel's global) ple_window_shrink/ | ple_window_grow | PLE exit | sched_in -------------------+--------------------+--------------------- < 1 | = ple_window | = ple_window < ple_window | *= ple_window_grow | /= ple_window_shrink otherwise | += ple_window_grow | -= ple_window_shrink A third new parameter, ple_window_max, controls the maximal ple_window; it is internally rounded down to a closest multiple of ple_window_grow. VCPU's PLE window is never allowed below ple_window. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a7653ecdf34c68a1af4fc085511afcf7ff011903 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 21 18:08:07 2014 +0200 KVM: VMX: make PLE window per-VCPU Change PLE window into per-VCPU variable, seeded from module parameter, to allow greater flexibility. Brings in a small overhead on every vmentry. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ae97a3b818324b92b5b9cc885c63c3f4bd46ee9d Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 21 18:08:06 2014 +0200 KVM: x86: introduce sched_in to kvm_x86_ops sched_in preempt notifier is available for x86, allow its use in specific virtualization technlogies as well. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e790d9ef6405633b007339d746b709aed43a928d Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 21 18:08:05 2014 +0200 KVM: add kvm_arch_sched_in Introduce preempt notifiers for architecture specific code. Advantage over creating a new notifier in every arch is slightly simpler code and guaranteed call order with respect to kvm_sched_in. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 68de308b1c02f3b11705406b07e84790eb1a37e9 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Fri Mar 7 10:56:59 2014 -0600 ARM: qcom: Add initial IPQ8064 SoC and AP148 device trees Add basic IPQ8064 SoC include device tree and support for basic booting on the AP148 Reference board with support for UART, I2C, and SPI. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 14ff1c43881aa8f43d0ec0fa264dc9ed995f801b Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Tue Jun 3 17:29:41 2014 +0300 ARM: dts: qcom: Add APQ8084 serial port DT node Add the necessary DT node to probe the serial driver on APQ8084 platforms. Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 98a295339e565457c732610585da965e4f4f6a26 Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Tue Jun 3 17:29:40 2014 +0300 ARM: dts: qcom: Add APQ8084 Global Clock Controller DT node This patch adds the necessary node to probe the global clock controller on APQ8084 platforms. Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 84d1b78af9b35d706de2d1c115b9194bcaaa97b0 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Aug 21 16:54:46 2014 +0200 usb: gadget: uvc: remove DRIVER_VERSION{,_NUMBER} As the driver is in mainline we can remove the version numbers. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e73798572e115f73066567f5840d4e5c21da70a8 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Thu Aug 21 16:54:45 2014 +0200 usb: gadget: f_uvc: fix potential memory leak If uvc->control_buf is successfuly allocated but uvc->control_req is not, uvc->control_buf is not freed in the error recovery path. With this patch applied uvc->control_buf is freed unconditionally; if it happens to be NULL kfree on it is safe anyway. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ee7ec7f6b39d2ae25dca000398929edaa2ce412d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Aug 21 16:54:44 2014 +0200 usb: gadget: uvc: Add support for DMABUF importing Activate the videobuf2 DMABUF support. As vb2-vmalloc supports the importer role only, exporting buffers isn't supported yet. When the exporter role will be implemented in vb2-vmalloc the UVC gadget driver will automatically gain support for it. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6bc17375d2e787e5c7ef94bfb4e194b6c690a4a7 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Aug 21 16:54:43 2014 +0200 usb: gadget: uvc: Change KERN_INFO to KERN_DEBUG on request shutdown The disconnect of the USB Device is a common pattern for an UVC Camera. In many cases this will give us an meaningless information for all buffers that couldn't be enqueued. That patch changes this to KERN_DEBUG. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8e820007caed7a03634fb14835a59bd0a232894d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 21 10:31:33 2014 +0800 regulator: hi6421: Remove unused fields from struct hi6421_regulator_info The valid_modes_mask and *dev are not used in this driver, remove them. Current code uses devm_regulator_register, so we don't need *regulator in hi6421_regulator_info. Use a local variable instead. Also removes a few unnecessary inclusion of header files. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit df11e506d330d9a0e5a701cd2c5fcb7d461b6060 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 21 10:11:34 2014 +0800 regulator: core: Add back the const qualifier for ops of struct regulator_desc Fix below build warning: CC [M] drivers/regulator/hi6421-regulator.o drivers/regulator/hi6421-regulator.c:356:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default] This is a revert of commit 716845ebeb50 ("regulator: core: Fix build error due to const qualifier for ops"). The build error was fixed by commit 39f5460d7f9c ("regulator: core: add const to regulator_ops and fix build error in mc13892"). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1c36d42c4ffee9e38e122ed822dd0a545a3a86da Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 16:49:32 2014 +0200 irqchip: renesas-intc-irqpin: Add suspend-to-RAM wake up support Set the ->irq_enable() and ->irq_disable() methods to NULL to enable lazy disable of interrupts, and set IRQCHIP_MASK_ON_SUSPEND to tell the core that only IRQs marked as wake-ups need to stay enabled during suspend-to-RAM. This makes wake-up by gpio-keys from suspend-to-RAM work on r8a7740/Armadillo. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1408546172-22484-1-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 6689fbe3cf65b8c0dbbc87c40c085452997ffd8b Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Wed Aug 20 16:38:19 2014 +0300 KVM: x86: Replace X86_FEATURE_NX offset with the definition Replace reference to X86_FEATURE_NX using bit shift with the defined X86_FEATURE_NX. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7103f60de8bed21a0ad5d15d2ad5b7a333dda201 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Aug 19 16:45:56 2014 +0200 KVM: avoid unnecessary synchronize_rcu We dont have to wait for a grace period if there is no oldpid that we are going to free. putpid also checks for NULL, so this patch only fences synchronize_rcu. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 448466b723cc7b44016547116aa2b55a3736f1f0 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Mon May 19 11:50:24 2014 -0600 x86: Remove obsolete comment in uapi/e820.h A comment introduced by this old commit: 028b785888c5 ("x86 boot: extend some internal memory map arrays to handle larger EFI input") had to do with some nested preprocessor directives. The directives were split into separate files by this commit: af170c5061dd ("UAPI: (Scripted) Disintegrate arch/x86/include/asm") The comment explaining their interaction was retained and is now present in arch/x86/include/uapi/asm/e820.h. This comment is no longer correct, so delete it. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1400521824-21040-1-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0854611a19ae4dfa56569e6f640017a1d2dd3312 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:43 2014 +0200 usb: gadget: f_uac1: add configfs support Add support for using f_uac1 function as a component of a gadget composed with configfs. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bcec9784dd78abfa9d8ca8b7144f6e37ea6abfd5 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:42 2014 +0200 usb: gadget: f_uac1: use defined constants as defaults When configfs support is added the values in question will have to be used in two different places. Substitute them with defined constants to avoid duplicating magic numbers. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 807dccdba5c157c7131772bb6bd9a114a2ed9760 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:41 2014 +0200 usb: gadget: f_uac1: use usb_gstrings_attach Use the new usb_gstring_attach interface. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 605ef833f0c6f9e609e27ff1582a14a4dbc7d341 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:40 2014 +0200 usb: gadget: f_uac1: remove compatibility layer There are no users of the old interface left, so it can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0d992dec967d6edc97b3001598db7c4ac4e4b3c1 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:39 2014 +0200 usb: gadget: audio: convert to new interface of f_uac1 Use the new interface so that the old one can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f3a3406b3f562f8d15b89979c0ca9e184b269084 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:38 2014 +0200 usb: gadget: f_uac1: convert to new function interface with backward compatibility Converting uac1 to the new function interface requires converting the USB uac1's function code and its users. This patch converts the f_uac1.c to the new function interface. The file is now compiled into a separate usb_f_uac1.ko module. The old function interface is provided by means of a preprocessor conditional directives. After all users are converted, the old interface can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit af1a58ca00b3735275c453ebd0b811a71a377470 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:37 2014 +0200 usb: gadget: f_uac1: prepare for separate compilation Integrating configfs requires converting f_uac1 to new function interface, which in turn requires converting it to the new function interface, which involves separate compilation of f_uac1.c into usb_f_uac1.ko. u_uac1.c contains some module parameters. After this patch is applied they are still a part of the resulting g_audio.ko, but can be guarded with a compatiblity flag which will be removed when no users of the old function interface of f_uac1 are left. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f73db69f95921512b7cba586066723b500770d1a Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:36 2014 +0200 usb: gadget: f_uac1: add function strings uac1 function is missing strings. Add them. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3aeea3c53e73b972ff07a1d03d6cc07f97de4f2f Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:35 2014 +0200 usb: gadget: f_uac2: add configfs support Add support for using f_uac2 function as a component of a gadget composed with configfs. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 065a107cdd70f0621011424009b3ecd4e42481b1 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:34 2014 +0200 usb: gadget: f_uac2: use defined constants as defaults When configfs is integrated the same values will have to be used as defaults. Use symbolic names in order not to duplicate magic numbers. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f408757f819a5792e6d27865a12f4da4ae802d28 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:33 2014 +0200 usb: gadget: f_uac2: use usb_gstrings_attach Use the new usb_gstring_attach interface. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d980039a89fafe03829e4423d0da5d8fd119189d Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:32 2014 +0200 usb: gadget: f_uac2: remove compatibility layer There are no users of the old interface left, so it can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ad94ac0cfdb6e28a2b0da740d2482a7306e947c3 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:31 2014 +0200 usb: gadget: audio: convert to new interface of f_uac2 Use the new interface so that the old one can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f8f93d244afad804e09595fcb14320fe2896fef5 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:30 2014 +0200 usb: gadget: f_uac2: convert to new function interface with backward compatibility Converting uac2 to the new function interface requires converting the USB uac2's function code and its users. This patch converts the f_uac2.c to the new function interface. The file is now compiled into a separate usb_f_uac2.ko module. The old function interface is provided by means of a preprocessor conditional directives. After all users are converted, the old interface can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5d73abf2a77a090ca4c920ac99c8ec0e272398a9 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:29 2014 +0200 usb: gadget: audio: Use container_of to free audio_dev Eliminate static struct *agdev_g from f_uac2.c. It is used for freeing its memory, but the same address can be found by calling container_of in afunc_unbind(). This implies eliminating uac2_unbind_config(). The audio_config_driver in audio.c does not have its unbind method any more. It has been used only when uac2 is used, so uac2 itself can handle unbinding in afunc_unbind(). Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8f90afd918886f10ac82aded9a30edfd80f2f69b Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Aug 20 13:38:18 2014 -0500 usb: phy: msm: mark msm_otg_mode_fops static that declaration is only used inside this driver, marking it static. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0dafc3d94596522787e216711d305add1c1dce99 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Mon Aug 4 10:44:31 2014 +0900 usb: phy: samsung: Remove unnecessary lines of register bit definitions Remove unnecessary lines of register bit definitions in order to enhance the readability. In this case, there are lines per register offset definitions. There is no functional change. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 17c128e8c8b06138bb088e48be5a89c27257d405 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Sun Jul 20 20:30:14 2014 +0800 usb: gadget: Remove redundant dev_err call in r8a66597_sudmac_ioremap() There is a error message within devm_ioremap_resource already, so remove the dev_err call to avoid redundant error message. Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 734d5a5393ed8eedf70f13c7078cb4a6134f49f2 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Thu Jul 17 12:45:11 2014 +0900 usb: dwc3: remove unnecessary OOM messages The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2cd64ae3d57b80f6d93682b98a59ed4b124cf2ef Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Wed Aug 20 11:36:42 2014 +0800 regulator: RK808: Add regulator driver for RK808 The regulator module consists of 4 DCDCs, 8 LDOs and 2 switches. The output voltages are configurable and are meant to supply power to the main processor and other components Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 29b9c318025bece77d019eada2dee856e3ca50b2 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 20 10:04:17 2014 +0800 regulator: max77802: Remove unused fields from struct max77802_regulator_prv Both num_regulators and *rdev[MAX77802_REG_MAX] are not used, remove them. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3a5f87c286515c54ff5c52c3e64d0c522b7570c0 Author: Thomas Wood <thomas.wood@xxxxxxxxx> Date: Wed Aug 20 14:45:00 2014 +0100 drm: fix plane rotation when restoring fbdev configuration Make sure plane rotation is reset correctly when restoring the fbdev configuration by using drm_mode_plane_set_obj_prop which calls the driver's set_property callback. The rotation reset feature was introduced in commit 9783de2 (drm: Resetting rotation property) and the callback issue was originally addressed in a previous version of the patch, but the fix was not present in the final version. v2: Fix documentation warning Add some more details to the commit message (Daniel Vetter) Testcase: igt/kms_rotation_crc Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82236 Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Thomas Wood <thomas.wood@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fd639ac6dcbcbae4f2131bf1390a032df659ffb7 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 15 16:48:36 2014 +0100 drm/i915/bdw: Disable execlists by default We still have a few missing bits and pieces to have execlists enabled by default eg. the error capture or the render state initialization and so it wouldn't be wise to enable it by default on BDW just yet. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Tested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82740 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d7f621e50704306c348ccb192f17047f1499f9bc Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:49 2014 +0100 drm/i915/bdw: Enable Logical Ring Contexts (hence, Execlists) The time has come, the Walrus said, to talk of many things. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73e4d07f8ae9cff8c869d73df4e299a3a6f5ad98 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:48 2014 +0100 drm/i915/bdw: Document Logical Rings, LR contexts and Execlists Add theory of operation notes to intel_lrc.c and comments to externally visible functions. v2: Add notes on logical ring context creation. v3: Use kerneldoc. v4: Integrate it in the DocBook template. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> (v1) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> (v2, v3) Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Drop hunk about render ring init function since that's not yet merged.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c0ab1ae9028f14bcb7bfb655bd2120c60681c479 Author: Ben Widawsky <ben@xxxxxxxxxxxx> Date: Thu Aug 7 13:24:26 2014 +0100 drm/i915/bdw: Print context state in debugfs This has turned out to be really handy in debug so far. Update: Since writing this patch, I've gotten similar code upstream for error state. I've used it quite a bit in debugfs however, and I'd like to keep it here at least until preemption is working. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> This patch was accidentally dropped in the first Execlists version, and it has been very useful indeed. Put it back again, but as a standalone debugfs file. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> v2: Take the device struct_mutex rather than mode_config mutex for atomic state capture. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9fe99bd4c4f8730207fed5e863d8f25224fd20b Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:46 2014 +0100 drm/i915/bdw: Display context backing obj & ringbuffer info in debugfs Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4ba70e448be91f52032595678c306e4aee2fae5c Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Aug 7 13:23:20 2014 +0100 drm/i915/bdw: Display execlists info in debugfs v2: Warn and return if LRCs are not enabled. v3: Grab the Execlists spinlock (noticed by Daniel Vetter). Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> v4: Lock the struct mutex for atomic state capture Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 71386ef9008817feebd863e46d8711ebe9e7cbbb Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:44 2014 +0100 drm/i915/bdw: Disable semaphores for Execlists Up until recently, semaphores weren't enabled in BDW so we didn't care about them. But then Rodrigo came and enabled them: commit 521e62e49a42661a4ee0102644517dbe2f100a23 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> drm/i915: Enable semaphores on BDW So now we have to explicitly disable them for Execlists until both features play nicely. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cc9130be805d955f0e06642e57741dd9df1fbc86 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:42 2014 +0100 drm/i915/bdw: Make sure gpu reset still works with Execlists If we reset a ring after a hang, we have to make sure that we clear out all queued Execlists requests. v2: The ring is, at this point, already being correctly re-programmed for Execlists, and the hangcheck counters cleared. v3: Daniel suggests to drop the "if (execlists)" because the Execlists queue should be empty in legacy mode (which is true, if we do the INIT_LIST_HEAD). v4: Do the pending intel_runtime_pm_put Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b7c71823f11158340b9d61325d3c44124650dc4e Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Fri Aug 15 12:01:31 2014 +0100 drm/i915/bdw: Don't write PDP in the legacy way when using LRCs This is mostly for correctness so that we know we are running the LR context correctly (this is, the PDPs are contained inside the context object). v2: Move the check to inside the enable PPGTT function. The switch happens in two places: the legacy context switch (that we won't hit when Execlists are enabled) and the PPGTT enable, which unfortunately we need. This would look much nicer if the ppgtt->enable was part of the ring init, where it logically belongs. v3: Move the check to the start of the enable PPGTT function. None of the legacy PPGTT enabling is required when using LRCs as the PPGTT is enabled in the context descriptor and the PDPs are written in the LRC. v4: Clarify comment based on review feedback. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Resolve conflicts with ppgtt_enable rework.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f4536ddd20d93b70d432b7ca5db873525e23c2c4 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Aug 20 17:07:57 2014 +0900 perf hists browser: Factor out hist_browser__show_callchain_entry() Factor out duplicate callchain printing code into the hist_browser__ show_callchain_entry(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408522080-26556-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2bfa152839e5adea66aa6309c94bf3a50a5d5d47 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Aug 20 17:07:56 2014 +0900 perf hists browser: Fix children overhead dump When perf report runs on TUI, 'P' key dumps current screen to a file but it incorrectly displayed children overhead (as same of self overhead). This was because it fetched the value from self stats. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408522080-26556-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 36e15dd4027a9b088264758fea292b6e876b5cdd Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Aug 20 17:07:58 2014 +0900 perf hists browser: Get rid of unused 'remaining' variable It seems that the 'remaining' variable is not used by any real code. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408522080-26556-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 06ed5c2bfacaf67039e87a213fa5d1cdde34246a Author: Michal Marek <mmarek@xxxxxxx> Date: Wed Aug 20 16:02:59 2014 +0200 kbuild: Make scripts executable The Makefiles call the respective interpreter explicitly, but this makes it easier to use the scripts manually. Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit e91ded8db57472c20b59b2242b100764cc152a10 Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Mon Aug 4 04:50:41 2014 -0400 uapi: netfilter_arp: use __u8 instead of u_int8_t Similarly, the u_int8_t type is non-standard and not defined. Change it to use __u8 like the rest of the netfilter headers. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8091c1f8ea2374695c105591179b1269fb5f2fbb Author: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Date: Wed Aug 20 10:16:01 2014 +0200 x86/apic/uv: Remove unnecessary #ifdef In the file x2apic_uv_x.c, some code is compiled conditionally depending on CONFIG_SMP. However, the file is only built, if CONFIG_X86_UV is enabled. CONFIG_X86_UV depends on CONFIG_NUMA, which itself depends on CONFIG_SMP, so the #ifdef will always evaluate to true, if the file is compiled. Thus, it is unnecessary and can be removed. Signed-off-by: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dimitri Sivanich <sivanich@xxxxxxx> Cc: Hedi Berriche <hedi@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Travis <travis@xxxxxxx> Cc: Russ Anderson <rja@xxxxxxx> Link: http://lkml.kernel.org/r/1408522561-23389-1-git-send-email-rupran@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 163122b7fcfa28c0e4a838fcc8043c616746802e Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 20 13:48:29 2014 +0400 sched/fair: Remove double_lock_balance() from load_balance() Avoid double_rq_lock() and use TASK_ON_RQ_MIGRATING for load_balance(). The advantage is (obviously) not holding two rq->lock's at the same time and thereby increasing parallelism. Further note that if there was no task to migrate we will not have acquired the second rq->lock at all. The important point to note is that because we acquire dst->lock immediately after releasing src->lock the potential wait time of task_rq_lock() callers on TASK_ON_RQ_MIGRATING is not longer than it would have been in the double rq lock scenario. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408528109.23412.94.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e5673f280501298dbb56efa46e333cf64ee5080a Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 20 13:48:01 2014 +0400 sched/fair: Remove double_lock_balance() from active_load_balance_cpu_stop() Avoid double_rq_lock() and use the TASK_ON_RQ_MIGRATING state for active_load_balance_cpu_stop(). The advantage is (obviously) not holding two 'rq->lock's at the same time and thereby increasing parallelism. Further note that if there was no task to migrate we will not have acquired the second rq->lock at all. The important point to note is that because we acquire dst->lock immediately after releasing src->lock the potential wait time of task_rq_lock() callers on TASK_ON_RQ_MIGRATING is not longer than it would have been in the double rq lock scenario. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408528081.23412.92.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a1e01829796aa7a993e28ffd7fee5c8d525be175 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 20 13:47:50 2014 +0400 sched: Remove double_rq_lock() from __migrate_task() Avoid double_rq_lock() and use TASK_ON_RQ_MIGRATING for __migrate_task(). The advantage is (obviously) not holding two rq->lock's at the same time and thereby increasing parallelism. The important point to note is that because we acquire dst->lock immediately after releasing src->lock the potential wait time of task_rq_lock() callers on TASK_ON_RQ_MIGRATING is not longer than it would have been in the double rq lock scenario. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408528070.23412.89.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cca26e8009d1939a6a5bf0200d276fa26f03e536 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 20 13:47:42 2014 +0400 sched: Teach scheduler to understand TASK_ON_RQ_MIGRATING state This is a new p->on_rq state which will be used to indicate that a task is in a process of migrating between two RQs. It allows to get rid of double_rq_lock(), which we used to use to change a rq of a queued task before. Let's consider an example. To move a task between src_rq and dst_rq we will do the following: raw_spin_lock(&src_rq->lock); /* p is a task which is queued on src_rq */ p = ...; dequeue_task(src_rq, p, 0); p->on_rq = TASK_ON_RQ_MIGRATING; set_task_cpu(p, dst_cpu); raw_spin_unlock(&src_rq->lock); /* * Both RQs are unlocked here. * Task p is dequeued from src_rq * but its on_rq value is not zero. */ raw_spin_lock(&dst_rq->lock); p->on_rq = TASK_ON_RQ_QUEUED; enqueue_task(dst_rq, p, 0); raw_spin_unlock(&dst_rq->lock); While p->on_rq is TASK_ON_RQ_MIGRATING, task is considered as "migrating", and other parallel scheduler actions with it are not available to parallel callers. The parallel caller is spining till migration is completed. The unavailable actions are changing of cpu affinity, changing of priority etc, in other words all the functionality which used to require task_rq(p)->lock before (and related to the task). To implement TASK_ON_RQ_MIGRATING support we primarily are using the following fact. Most of scheduler users (from which we are protecting a migrating task) use task_rq_lock() and __task_rq_lock() to get the lock of task_rq(p). These primitives know that task's cpu may change, and they are spining while the lock of the right RQ is not held. We add one more condition into them, so they will be also spinning until the migration is finished. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408528062.23412.88.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit da0c1e65b51a289540159663aa4b90ba2366bc21 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 20 13:47:32 2014 +0400 sched: Add wrapper for checking task_struct::on_rq Implement task_on_rq_queued() and use it everywhere instead of on_rq check. No functional changes. The only exception is we do not use the wrapper in check_for_tasks(), because it requires to export task_on_rq_queued() in global header files. Next patch in series would return it back, so we do not twist it from here to there. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408528052.23412.87.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8e4bebe0952af357e099147023af756baa466ede Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Thu Aug 7 18:51:34 2014 +0800 irqchip: hip04: Enable Hisilicon HiP04 interrupt controller HiP04 GIC is the variate of ARM GICv2. ARM GICv2 supports 8 cores. HiP04 GIC extends to support 16 cores. It results that bit fields in GIC_DIST_TARGET & GIC_DIST_SOFTINT are different from ARM GICv2. And the maximium IRQ is downgrade from 1020 to 510. Since different register offset & bitfields definitation breaks compartible with ARM GICv2, create a new hip04 irq driver. And this driver is derived from irq-gic.c to support the Hisilicon HiP04 interrupt controller, which is similar to the GIC, but deviates at some points. Support for power management, non-banked registers, cascaded GICs (and multiple controllers in general) and bigLittle support has been removed from the GIC driver. Affinity related functions have been adjusted to match the Hisilicon hardware implementation. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1407408695-19626-9-git-send-email-haojian.zhuang@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ad7e767a726dd7dffad45d7fcbf371094e7f2288 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 7 00:27:00 2014 -0700 perf tools powerpc: Explicitly include util/debug.h Looks like util/debug.h was indirectly included before and is no longer included now. pr_debug is left undefined and the build of perf tool fails on Powerpc. Explicitly include util/debug.h. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michael Ellerman <michaele@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140807072700.GA17623@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 700be564308bcfc217bd3515d634b56f0c3c1bbb Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Tue Aug 19 22:31:14 2014 -0400 perf symbols: Don't try to find DSOs in SYSV maps We are seeing a lot of the following with regards to SYSV memory Failed to open /SYSV0000279c, continuing without symbols We don't believe this memory will have DSO info, so treat it like the heap and stack for now and skip it to prevent the warning. Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Joe Mario <jmario@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joe Mario <jmario@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408501874-244377-1-git-send-email-dzickus@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e0ad0b477c36fde6b0923670647495d07bf42f94 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Aug 20 10:08:23 2014 +0200 KVM: emulate: warn on invalid or uninitialized exception numbers These were reported when running Jailhouse on AMD processors. Initialize ctxt->exception.vector with an invalid exception number, and warn if it remained invalid even though the emulator got an X86EMUL_PROPAGATE_FAULT return code. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 592f085847f4ea753586dfe6ce75ba37d5992a45 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Aug 20 10:05:08 2014 +0200 KVM: emulate: do not return X86EMUL_PROPAGATE_FAULT explicitly Always get it through emulate_exception or emulate_ts. This ensures that the ctxt->exception fields have been populated. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d27aa7f15c3b1105c8cd8c2d190ab354f877cac5 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Wed Aug 20 13:25:52 2014 +0300 KVM: x86: Clarify PMU related features bit manipulation kvm_pmu_cpuid_update makes a lot of bit manuiplation operations, when in fact there are already unions that can be used instead. Changing the bit manipulation to the union for clarity. This patch does not change the functionality. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a535e2e0debc2255fcf60a11d73fbb0534454cc3 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Tue Aug 19 12:38:03 2014 +0800 pwm: fsl-ftm: Document 'big-endian' property The same FTM PWM device can have a different endianness on different SoCs. The device tree provides a property to describing this so that an operating system device driver can handle all variants of the device. Refer to the table below for the endianness of the FTM PWM block as integrated into the existing SoCs: SoC | FTM-PWM endianness --------+------------------- Vybrid | LE LS1 | BE LS2 | LE Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit a32e84594ddf018cc618a8781298804c3e6131ce Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Wed Aug 20 15:31:53 2014 +0800 KVM: vmx: fix ept reserved bits for 1-GByte page EPT misconfig handler in kvm will check which reason lead to EPT misconfiguration after vmexit. One of the reasons is that an EPT paging-structure entry is configured with settings reserved for future functionality. However, the handler can't identify if paging-structure entry of reserved bits for 1-GByte page are configured, since PDPTE which point to 1-GByte page will reserve bits 29:12 instead of bits 7:3 which are reserved for PDPTE that references an EPT Page Directory. This patch fix it by reserve bits 29:12 for 1-GByte page. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 42fa98a9c3609c1aff466cb847e421c611cc9157 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Tue Aug 19 12:38:02 2014 +0800 pwm: fsl-ftm: Convert to direct regmap API usage The regmap core supports different endian modes for devices. This patch convert to direct regmap API usage, preparing to support big endianness for LS1 SoC. Using the regmap framework it will be easy to support devices that only differ in endianness with the same device driver. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit cd6d92d2aa1556b22cd05acbc5f2cc8e5caafcc4 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Tue Aug 19 12:38:01 2014 +0800 pwm: fsl-ftm: Clean up the code This patch intends to prepare for converting to direct regmap API usage. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit f36c019c79edb3a89920afae1b2b45987af1a112 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 6 12:06:01 2014 +0400 sched/fair: Fix reschedule which is generated on throttled cfs_rq (sched_entity::on_rq == 1) does not guarantee the task is pickable; changes on throttled cfs_rq must not lead to reschedule. Check for task_struct::on_rq instead. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407312361.8424.35.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b06c55bdb8b402cb4814e83dc4b1cb245fcc9f5 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Aug 13 13:28:12 2014 -0400 sched: Match declaration with definition Match the declaration of runqueues with the definition. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407950893-32731-1-git-send-email-bobby.prani@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5aface53d1a0ef7823215c4078fca8445995d006 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 13 21:20:03 2014 +0200 sched: Change autogroup_move_group() to use for_each_thread() Change autogroup_move_group() to use for_each_thread() instead of buggy while_each_thread(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Frank Mayhar <fmayhar@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Sanjay Rao <srao@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140813192003.GA19334@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1e4dda08b4c39b3d8f4a3ee7269d49e0200c8af8 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 13 21:20:00 2014 +0200 sched: Change thread_group_cputime() to use for_each_thread() Change thread_group_cputime() to use for_each_thread() instead of buggy while_each_thread(). This also makes the pid_alive() check unnecessary. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Frank Mayhar <fmayhar@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Sanjay Rao <srao@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140813192000.GA19327@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d38e83c715270cc2e137bbf6f25206c8c023896b Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 13 21:19:56 2014 +0200 sched: s/do_each_thread/for_each_process_thread/ in debug.c Change kernel/sched/debug.c to use for_each_process_thread(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Frank Mayhar <fmayhar@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Sanjay Rao <srao@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140813191956.GA19324@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5d07f4202c5d63b73ba1734ed38e08461a689313 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 13 21:19:53 2014 +0200 sched: s/do_each_thread/for_each_process_thread/ in core.c Change kernel/sched/core.c to use for_each_process_thread(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Frank Mayhar <fmayhar@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Sanjay Rao <srao@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140813191953.GA19315@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7132fe4f568721cbd5d9bce5a8a71556e9bc45b4 Author: Dan Murphy <dmurphy@xxxxxx> Date: Sun Aug 17 09:24:26 2014 -0700 Input: drv260x - add TI drv260x haptics driver Add the TI drv260x haptics/vibrator driver. This device uses the input force feedback to produce a wave form to driver an ERM or LRA actuator device. The initial driver supports the devices real time playback mode. But the device has additional wave patterns in ROM. This functionality will be added in future patchsets. Product data sheet is located here: http://www.ti.com/product/drv2605 Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5ac9e7f35db00e630c9f95a1f73ac329371cdbbf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 13 13:56:57 2014 +0200 ARM: shmobile: sh73a0: Remove unneeded nr_irqs initialization As per arch_probe_nr_irqs(), the default value is NR_IRQS, which maps to NR_IRQS_LEGACY if CONFIG_SPARSE_IRQ=y. Since SPARSE_IRQ is selected by both ARCH_MULTIPLATFORM and ARCH_SHMOBILE_LEGACY, it's always enabled on shmobile. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ea2e46086969e11b759a8f2c111c9b007d1b35c9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 13 13:56:56 2014 +0200 ARM: shmobile: sh7372: Remove unneeded nr_irqs initialization As per arch_probe_nr_irqs(), the default value is NR_IRQS, which maps to NR_IRQS_LEGACY if CONFIG_SPARSE_IRQ=y. Since SPARSE_IRQ is selected by both ARCH_MULTIPLATFORM and ARCH_SHMOBILE_LEGACY, it's always enabled on shmobile. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 93f05252514a8c7b6bf5a132f6b20f10215cb59c Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Aug 8 20:49:04 2014 +0900 ARM: shmobile: r8a7779: Remove NR_IRQS_LEGACY Remove NR_IRQS_LEGACY from the r8a7779 generic machine vector. The generic r8a7779 machine vector requires use of Multiplatform, and in such case SPARSE_IRQ is enabled by default. This in turns means that the default value of .nr_irqs equals NR_IRQS and NR_IRQS_LEGACY. Because of this we can simply remove NR_IRQS_LEGACY and move one step closer to a cruft-free environment. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fe8abe0bc2afb20b126e7e0759081dc0df2cd60d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 5 15:21:29 2014 +0200 ARM: shmobile: dma: Use defines instead of hardcoded numbers Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f2acab52e77650044b0772a6d7abbfef1eb4cede Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 09:25:15 2014 +0900 ARM: shmobile: Rework multiplatform include workaround Now when the majority of the include files have moved from arch/arm/mach-shmobile/include/mach/ to arch/arm/mach-shmobile/ remove the header include file workaround in the Makefile... ... and add another workaround in irqs.h to cope with the fact that <mach/irqs.h> needs to be where it is until the PFC code has been updated to remove legacy non-DT interfaces. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9b0fd79af38cb1d68f5faf4fb528713116480e9f Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:33:26 2014 +0900 ARM: shmobile: r7s72100: Add shmobile_init_late() Extend r7s72100 SoC machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0592d1b5d296b0b6a24b7e48b7b48662164d3117 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:33:08 2014 +0900 ARM: shmobile: r8a73a4: Add shmobile_init_late() Extend r8a73a4 SoC machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7759a7a8e9b07a9046c1bdb2cd4c9ce197280392 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:50 2014 +0900 ARM: shmobile: r8a7778: Fix shmobile_init_late() Fix r8a7778 SoC machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup and platform devices are omitted as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d5b00b90705d5fff53f611ba4746d79fedbb52be Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:33 2014 +0900 ARM: shmobile: r8a7779: Fix shmobile_init_late() Fix r8a7779 SoC machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup and platform devices are omitted as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e604d80971e65c7ae895a4b38caed3838cf07554 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:15 2014 +0900 ARM: shmobile: sh73a0: Add shmobile_init_late() Extend sh73a0 SoC machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3969d6490ba35b01f84bb12472c29c6029f7298b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 13 13:56:58 2014 +0200 ARM: shmobile: kzm9g-reference: Remove unneeded nr_irqs initialization As per arch_probe_nr_irqs(), the default value is NR_IRQS, which maps to NR_IRQS_LEGACY if CONFIG_SPARSE_IRQ=y. Since SPARSE_IRQ is selected by both ARCH_MULTIPLATFORM and ARCH_SHMOBILE_LEGACY, it's always enabled on shmobile. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f185a01b3877880135ea73ddfcec52bd9a4d4864 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 13 13:56:59 2014 +0200 ARM: shmobile: kzm9g: Remove unneeded nr_irqs initialization As per arch_probe_nr_irqs(), the default value is NR_IRQS, which maps to NR_IRQS_LEGACY if CONFIG_SPARSE_IRQ=y. Since SPARSE_IRQ is selected by both ARCH_MULTIPLATFORM and ARCH_SHMOBILE_LEGACY, it's always enabled on shmobile. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 322163c437b200b70ecb87ab102dfedce0ba0e91 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Aug 8 20:49:13 2014 +0900 ARM: shmobile: marzen: Remove NR_IRQS_LEGACY Remove NR_IRQS_LEGACY from the Marzen Reference code. The Marzen Reference machine vector requires use of Multiplatform, and in such case SPARSE_IRQ is enabled by default. This in turns means that the default value of .nr_irqs equals NR_IRQS and NR_IRQS_LEGACY. Because of this we can simply remove NR_IRQS_LEGACY and move one step closer to a cruft-free environment. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 911f7cec78af1445d4b0f5f79907cb5bd4522ce5 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:45:00 2014 +0900 ARM: shmobile: ape6evm: Use shmobile_init_delay() The r8a73a4 DTS includes CPU Frequency information so adjust the APE6EVM board code to use shmobile_init_delay() instead of relying on CPU Frequency information included in r8a73a4_init_delay() that is specified in C. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 509c42a5fce00f8769f68847580ba3c4dc884218 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:33:17 2014 +0900 ARM: shmobile: ape6evm: Add shmobile_init_late() Extend board specific APE6EVM reference machine vectors to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6e15a3873aa9b4ab2980f781b05bfc5c99bf4b99 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:59 2014 +0900 ARM: shmobile: bockw: Add shmobile_init_late() Extend board specific Bock-W DT reference machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b9c9281339376521d0feb78c9051fedfbb3cf111 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:41 2014 +0900 ARM: shmobile: marzen: Add shmobile_init_late() Extend board specific Marzen DT reference machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit eeed09e8116f9932b55aa284d109bdea1e2ddc46 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:24 2014 +0900 ARM: shmobile: kzm9g: Add shmobile_init_late() Extend board specific KZM9D DT reference machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 45e1a279ce1d2ff9b2b2fedf4cdced10c7ca3ab5 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Aug 19 10:49:07 2014 -0600 regmap: of_regmap_get_endian() cleanup Commit d647c199510c ("regmap: add DT endianness binding support") had some issues. Commit ba1b53feb8ca ("regmap: Fix DT endianess parsing logic") fixed the main problem. This patch fixes the other. Specifically, restore the overall default of REGMAP_ENDIAN_BIG if none of the config, DT, or the bus specify any endianness. Without this, of_regmap_get_endian() could return REGMAP_ENDIAN_DEFAULT, which the calling code can't handle. Since all busses do specify an endianness in the current code, this makes no difference right now, but I saw no justification in the patch description for removing this final default. Also, clean up the code a bit: * s/of_regmap_get_endian/regmap_get_endian/ since the function isn't DT- specific, even if the reason it was originally added was to add some DT-specific features. * After potentially reading an endianess specification from DT, the code checks whether DT did specify an endianness, and if so, returns it. Move this test outside the whole switch statement so that if the REGMAP_ENDIAN_REG case ever modifies *endian, this check will pick that up. This partially reverts part of commit ba1b53feb8ca ("regmap: Fix DT endianess parsing logic"), while maintaining the bug-fix that commit made to this code. * Make the comments briefer, and only refer to the specific action taken at their location. This makes most of the comments independent of DT, and easier to follow. Cc: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Cc: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Fixes: d647c199510c ("regmap: add DT endianness binding support") Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 468e0f47ed87350408ddac0e942fbf9a723408f9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:20 2014 +0300 spi/pxa2xx-pci: remove unnecessary assignment There is no need to unset driver data pointer at removal stage. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38ec10f60d9ca3a7eb3a5b52500a67479296b86f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Aug 16 16:27:41 2014 +0100 spi: Only call transfer_one() if we have buffers to transfer Client drivers such as the ChomeOS EC driver sometimes use transfers with no buffers and only a delay specified in order to allow a delay after the assertion of /CS. Rather than require controller drivers handle this noop case gracefully put checks in the core to ensure that we don't call into the controller for such transfers. Reported-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 464d6e18639c4347dafd8dbcee270674dd3d8fba Merge: 7d1311b 16aa7f1f1 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Aug 19 16:04:10 2014 -0500 Merge tag 'at91-dt-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux Pull AT91 ramc and reset/poweroff related DT patches from Maxim Ripard: "This branch gathers a few devicetree patches needed for the reworks found in the later patches to be sent. More precisely, it holds: - The addition of ddrck for the sama5d3 and the sam9 SoCs - The addition of the shutdown controller node in the sama5d3 DTSI - The slight rework of the ramc bindings for the SoCs that have several RAM controllers" Conflicts: arch/arm/boot/dts/at91sam9g45.dtsi commit ff9e7621586ff8b86a18cfbb7c437c277ebc1970 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:00:00 2014 +0100 iio: adc: xilinx: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c83441e0a7f45f19e8955ce45febaefa66e9e1af Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 18 08:57:00 2014 +0100 staging:iio: Remove ad5930/ad9850/ad9852/ad9910/ad9951 dummy drivers All what these 'drivers' do is expose a single (non standard ABI) sysfs attribute that when written to does a direct pass-through to spi_write(). This is rather ugly and does not justify the existence of a driver as the same can easily done by using the spidev interface. The drivers will eventually be rewritten as proper IIO ABI compliant drivers which do have the proper abstraction layers between userspace and the device. But in the meantime these driver do not add any extra value and just clutter up the staging area. So just remove them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4ce72abc6ea768d6f214456adcd7e0a293cbc065 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 18 09:08:00 2014 +0100 MAINTAINERS: Add entry for Analog Devices IIO drivers Add Michael and myself as the maintainer for the Analog Devices IIO drivers. The entry matches on all files in drivers/staging/iio and drivers/iio/ starting with the 'ad' prefix, except for 'adjd' as that one is used by Avago Technologies. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f0d61161620019599868a5840df16a9d483a96cf Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 18 09:29:00 2014 +0100 MAINTAINERS: Add designated reviewers for IIO subsystem Add those persons who generally tend to review new IIO patches to the list of designated reviewers to make sure that they are Cc'ed on new patches. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5b49ab3e03f68eb49db4bce6290e5707b7f6c6f3 Merge: b25046b 54ea17a Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Aug 19 11:57:23 2014 -0700 Merge l2-mtd/next into l2-mtd/master commit 54ea17a597b00e46b3720e75dd7595cd5dfa5670 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Aug 7 09:47:02 2014 +0200 mtd: spi-nor: drop jedec_probe /helper/ function It's a one-liner doing no magic and its name may be confusing because it does not have to use JEDEC (e.g. when using alternative read_id). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Huang Shijie <shijie8@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ab75e89c013d8fff8bd8a6e520d184c3da1a4583 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Aug 7 09:47:01 2014 +0200 mtd: spi-nor: remove duplicated w25q128 entry Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Huang Shijie <shijie8@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 02f8a24e7b1c253ee37edc684200c11300de23f9 Author: Aaron Wu <aaron.wu@xxxxxxxxxx> Date: Thu Aug 7 11:43:49 2014 +0800 mtd: gpio_flash: handle case where offset + len exceeds the window size Fix the bug in handling gpio flash read/write when offset + len from MTD exceeds the window size Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx> [Brian: made some commentary edits. Also note that the BUG_ON() was provably false for all non-negative inputs (since x % y <= x), so we dropped it.] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit bd8898db3e03147d9d7ddd48876fb3f3bcbab6c1 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sat Aug 9 19:07:53 2014 +0200 mtd: nand: Use ULL-suffix for big u64 constant drivers/mtd/nand/nand_timings.c:45: warning: integer constant is too large for â??longâ?? type [ Editorial note: This is a false warning. Looking at ISO draft N1124 (this is approximately C11, the first PDF I had lying around), section 6.4.4.1 (statement 5): "The type of an integer constant is the first of the corresponding list in which its value can be represented." So this should not be an overflow, and any toolchain that says so (e.g., GCC 4.4) is buggy. -Brian ] Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ff0a215438cf7be0a652cb3457f562539bd40b22 Author: Wu, Josh <Josh.wu@xxxxxxxxx> Date: Tue Aug 5 18:38:52 2014 +0800 mtd: atmel_nand: NFC: fix mtd_nandbiterrs.ko test fail when using sram write When enable NFC sram write, it will failed the mtd_nandbiterrs.ko test. As in driver's nfc_sram_write_page(), if ops->mode equal to MTD_OSP_RAW, driver assumes the data buffer contains one page data and one oob data followed. And driver will write the page data and oob data to nand. But this is wrong implementation. Since the data buffer don't contains the oob data to write. We should write the chip->oob_poi to nand's oob. So this patch fix it by writing the oob data from chip->oob_poi. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1cc8d8413327a684cd5e93cd52ececb0223bb40b Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:08:13 2014 -0700 mtd: terminate user-provided string Noticed by Coverity as a potential security issue. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 537ab1bd47d6518e8a40207a80dd0c2c4bc43aed Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:08:03 2014 -0700 mtd: nand: fix integer widening problems chip->pagebuf is a 32-bit type (int), so the shift will only be applied as 32-bit. Fix this for 64-bit safety. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7a6f43958a53020f85818ff5c895623e88781fd6 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:56 2014 -0700 mtd: maps: solutionengine: drop excess dependency Already depends on SOLUTION_ENGINE, so we don't need the SUPERH dependency too. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b033e1aac9afd314add799b6cd2a5489f892757f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:44 2014 -0700 mtd: nandsim: fix integer widening This multiplication should be done in 64-bit, not 32-bit. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c115add9d073752d38f6517882dfeafe76fc4458 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:31 2014 -0700 mtd: nand: denali: set proper error code on timeout The condition "if (irq_status == 0)" already ensures that one half of the ternary ?: is dead. I think this should probably actually be a FAIL, not a PASS. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Jamie Iles <jamie@xxxxxxxxxxxxx> commit 31f754628cbb12c983600f22d9f0fed50dfe2134 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:22 2014 -0700 mtd: use __packed shorthand Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1001ff7a4f64f3f4264e69d3ed70ff428f627e01 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:12 2014 -0700 mtd: tests: fix integer overflow issues These multiplications are done with 32-bit arithmetic, then converted to 64-bit. We should widen the integers first to prevent overflow. This could be a problem for large (>4GB) MTD's. Detected by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx> commit 8c3f3f1d7941bcb25590b784f84accd7dcb44ba3 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:02 2014 -0700 mtd: mtdswap: fix integer overflow Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5e47212831ac565993d21ebd36216d98f2b58f30 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:06:47 2014 -0700 mtd: remove dead non-char logic MTD used to allow compiling out character device support. This was dropped in the following commit, but some of the accompanying logic was never dropped: commit 660685d9d1b4730f0b5ca97fa95f272f99c63bce Author: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Date: Thu Mar 14 13:27:40 2013 +0200 mtd: merge mtdchar module with mtdcore The weird logic was flagged by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit f7f0d358f5f2f1133b5a14337028ddab848cd74e Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:06:39 2014 -0700 mtd: sm_ftl: initialize error code There is one theoretical case that could fall through to using an uninitialized value as the return code. Let's give it a value of 0. Untested. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0c2b4e21444d0e274e91fc7db85caddb30988853 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:06:27 2014 -0700 mtd: correct upper bounds check for mtd_*() APIs When checking the upper boundary (i.e., whether an address is higher than the maximum size of the MTD), we should be doing an inclusive check (greater or equal). For instance, an address of 16MB (0x1000000) on a 16MB device is invalid. The strengthening of this bounds check is redundant for those which already have a address+length check and ensure that the length is non-zero, but let's just fix them all, for completeness. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 36c6a7ac74044b8025488c018279115bb3c32eb0 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:06:19 2014 -0700 mtd: cfi_cmdset_0002: allow retry/timeout loop to exit The variable 'retries' is never modified, so if the reset operation never is going to complete, we'll get stuck in an infinite loop. It looks like the intention was to decrement 'retries' on every loop. Untested. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 57d3a9a89a0645f3597561e214f8d6852a2c56b4 Author: White Ding <bpqw@xxxxxxxxxx> Date: Thu Jul 24 00:10:45 2014 +0800 mtd: nand: fix nand_lock/unlock() function Do nand reset before write protect check. If we want to check the WP# low or high through STATUS READ and check bit 7, we must reset the device, other operation (eg.erase/program a locked block) can also clear the bit 7 of status register. As we know the status register can be refreshed, if we do some operation to trigger it, for example if we do erase/program operation to one block that is locked, then READ STATUS, the bit 7 of READ STATUS will be 0 indicate the device in write protect, then if we do erase/program operation to another block that is unlocked, the bit 7 of READ STATUS will be 1 indicate the device is not write protect. Suppose we checked the bit 7 of READ STATUS is 0 then judge the WP# is low (write protect), but in this case the WP# maybe high if we do erase/program operation to a locked block, so we must reset the device if we want to check the WP# low or high through STATUS READ and check bit 7. Signed-off-by: White Ding <bpqw@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6f3c0f163103fb225c77b73ca17fc4ecea308103 Author: Samarth Parikh <samarthp@xxxxxxxxx> Date: Wed Jul 16 16:14:37 2014 +0530 mtd: Fixed checkpatch seq_printf warnings Fixed checkpatch warnings: "WARNING: Prefer seq_puts to seq_printf" This patch is created with reference to the ongoing lkml thread https://lkml.org/lkml/2014/7/15/646 where Andrew Morton wrote: " - puts is presumably faster - puts doesn't go rogue if you accidentally pass it a "%". - this patch would actually make compiled object files few bytes smaller. Perhaps because seq_printf() is a varargs function, forcing the caller to pass args on the stack instead of in registers. " Signed-off-by: Samarth Parikh <samarthp@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2902330e7ac16d5962f114d92bb17631e9cb49e9 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Fri Jul 11 11:14:05 2014 +0900 mtd: denali: avoid using a magic number MAP10 command with '0x2000' data sets up a read-ahead/write access. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 8fb7b9309c41407801958138db978eb38fd80c01 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Mon Jul 28 21:19:55 2014 +0800 mtd: atmel_nand: remove redundant dev_err call There is a error message within devm_ioremap_resource already, so remove the dev_err call to avoid redundant error message. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f2fabe16b819cdead86fb38c8ab88a0d9c308293 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 27 23:56:08 2014 +0200 mtd: spi-nor: add support for Micron M25PX80 This commit adds the support in the spi-nor driver of the Micron M25PX80 flash, a 8 Mbit SPI flash from Micron. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7b7d8982f0169d5ac67c6c2877449fb7f6968cac Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sun Jul 27 14:31:53 2014 -0700 mtd: fix linux/mtd/nand.h kernel-doc warning Fix kernel-doc warning in <linux/mtd/nand.h>: Warning(..//include/linux/mtd/nand.h:795): No description found for parameter 'ecc' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a35571058ec8e7c82dceea90cdecead51674f963 Author: Wu, Josh <Josh.wu@xxxxxxxxx> Date: Tue Jul 22 17:24:18 2014 +0800 mtd: atmel_nand: add pmecc support for 512, 1k, 4k, 8k page size PMECC can support 512, 1k, 2k, 4k, 8k page size. The driver currently only support 2k page size nand flash. So this patch add support to 512, 1k, 4k and 8k page size nand flash. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 796fe3648a13b311f5b9a125e2d2532a2ce7c78a Author: Raphaël Poggi <poggi.raph@xxxxxxxxx> Date: Tue Jul 29 15:27:27 2014 +0200 mtd: atmel_nand: increase chip_delay Some nand with 8k page size like Micron MT29F32G08ABAAAWP need more than 20us. Signed-off-by: Raphaël Poggi <poggi.raph@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9b6e5172e363b0c35a6be4d3197f3bcdc789292e Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Thu Jul 31 16:31:16 2014 +0200 mtd: use NULL instead of 0 for an address Use NULL instead of 0 when returning an address. This fixes a sparse warning. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5828c60826e9422169b3711aa58a583242864cc8 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jul 31 18:36:20 2014 +0300 mtd: ndfc: silence an array underflow static checker warning We check "cs" for array overflows but we don't check for underflows and it upsets the static checkers. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2626063f86cdce500153e8550334b9331421dc6f Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 19:14:22 2014 +0200 ARM: at91: remove old irq material Remove all the material related to AIC5 support: this interrupt controller driver is now implemented in drivers/irqchip/atmel-aic.c. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 3b26f39b0ab1f390365701981e831aa128e3e4ac Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 19:14:21 2014 +0200 ARM: at91: make use of the new AIC driver for dt enabled boards Remove selection of OLD_IRQ_AT91 when selecting dt boards. Select ATMEL_AIC_IRQ for sama5 SoCs (a kernel compiled for this SoC will always use ATMEL_AIC_IRQ driver). Select ATMEL_AIC_IRQ for at91rm9200 and at91sam9 SoCs only if OLD_IRQ_AT91 is not selected (which means we are compiling a pure DT kernel, without any legacy board support). Remove specific irq init code in all dt board files: this init procedure is automatically handled in of_irq_init which is called by the arm irq core code and is in charge of calling the appropriate aic init functions. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 071926041e5b38f84f2aaac2122c57e398e535b5 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 19:14:20 2014 +0200 ARM: at91: enclose at91_aic_xx calls in IS_ENABLED(CONFIG_OLD_IRQ_AT91) blocks Enclose at91_aic_xx calls in IS_ENABLED(CONFIG_OLD_IRQ_AT91) blocks in order to prepare migration to the new AIC driver. In the new AIC driver the suspend/resume functions are called by the generic irq framework and are no longer needed in the PM specific code. Moreover, the new AIC driver no longer exposes the at91_aic_base variable which is used by the at91_aic_read functions. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 91a55d4f690066a249d5cdeca86f0c3164301861 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 19:14:19 2014 +0200 ARM: at91: introduce OLD_IRQ_AT91 Kconfig option Introduce the OLD_IRQ_AT91 Kconfig option to prepare migration to the new AIC driver. Select this option for all at91 SoCs and all available boards so that we can later move DT enabled boards to the new irq driver and keep the old implementation when legacy boards are selected. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 684284b64aae96c8d5de0dc0d6e4b72f8b3502ce Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jan 22 14:21:28 2014 +0100 ARM: integrator: add MMCI device to IM-PD1 The IM-PD1 logic module daughterboard holds an MMCI block, which we can now provide using platform resources such as proper GPIO lines etc. We add the GPIO table dynamically and using the new GPIO descriptor mechanism. Tested and hey, it works: root@integrator:/ mount /dev/mmcblk0p1 /mnt/ root@integrator:/ ls /mnt/ ARM U-BOOT.EXE u-boot.bin u-boot.srec u-pad.bin Reviewed-by: Alexandre Courbot <gnurou@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 29a4bb1431035560b4be3fc5917c5ab8b8141204 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:57:42 2014 +0200 dma: xilinx: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Reviewed-by: Levente Kurusa <lkurusa@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ddc643630f5deb1995d191719086b64873c67a44 Author: Srikanth Thokala <sthokal@xxxxxxxxxx> Date: Mon Jul 28 17:47:48 2014 +0530 dma: Add Xilinx AXI DMA DT Binding Documentation Device-tree binding documentation of Xilinx DMA Engine Signed-off-by: Srikanth Thokala <sthokal@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ff495d3a8ea4d46d237096e6521b24b7ba612e53 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 17:48:07 2014 +0200 ASoC: txx9: Don't opencode DMAengine API calls Use the proper wrapper functions instead of directly calling the DMAengine callback functions. Also add the missing include to linux/dmaengine.h. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5d0ecb0e7dd53e61e034bac8508d7601b04e679d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 17:48:06 2014 +0200 ASoC: sh: Don't opencode DMAengine API calls Use the proper wrapper functions instead of directly calling the DMAengine callback functions. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0fc6a323e19173fc89e17940bb1e19447aa0224e Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Aug 17 18:33:38 2014 +0200 spi: bcm53xx: driver for SPI controller on Broadcom bcma SoC Broadcom 53xx ARM SoCs use bcma bus that contains various cores (AKA devices). If board has a serial flash, it's connected over SPI and the bcma bus includes a SPI controller. Example log from such a board: bus0: Found chip with id 53010, rev 0x00 and package 0x02 (...) bus0: Core 18 found: SPI flash controller (manuf 0x4BF, id 0x50A, rev 0x01, class 0x0) This patch adds a bcma driver for SPI core, it registers SPI master controller and "bcm53xxspiflash" SPI device. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38c6e4bb67760db1392b9c5ee0082af07c0db20d Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Aug 19 17:36:41 2014 +0800 ASoC: fsl-asoc-card: move 'config SND_SOC_FSL_ASOC_CARD' to 'if SND_IMX_SOC' Build kernel with SND_SOC_FSL_ASOC_CARD=m && SND_SOC_FSL_{SSI,SAI,ESAI}=y leads the following error: sound/built-in.o: In function `fsl_sai_probe': >> fsl_sai.c:(.text+0x5f662): undefined reference to `imx_pcm_dma_init' sound/built-in.o: In function `fsl_esai_probe': >> fsl_esai.c:(.text+0x6044b): undefined reference to `imx_pcm_dma_init' The config SND_SOC_FSL_ASOC_CARD is for IMX SOC, So move it under condition of 'if SND_IMX_SOC'. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c5599b87a8317738a541d8893cb327df5d04b007 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:30 2014 +0200 ASoC: Replace list_empty(&card->codec_dev_list) with !card->instantiated With componentization we no longer necessarily need a snd_soc_codec struct for a card. Instead of checking if the card's CODEC list is empty just use card->instantiated to check if the card has been instantiated yet. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 75af7c081982d76cef0daf26e96b5d1e8cb9d631 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:29 2014 +0200 ASoC: Remove support for legacy snd_soc_platform IO There were never any actual users of this in upstream and by we have with regmap a replacement in place, which should be used by new drivers. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 886f5692253de1a9509f5cb708432b2157afb57c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:28 2014 +0200 ASoC: Automatically initialize regmap for all components So far regmap is only automatically initialized for CODECs. Now that we have the infrastructure in place to let components have DAPM widgets and controls that want to use the generic regmap based IO also make sure to automatically initialize regmap for all components. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 14621c7e5e72200ec021a7580121130ce7f2ff22 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:27 2014 +0200 ASoC: Consolidate CPU and CODEC DAI lookup The lookup of CPU and CODEC DAIs is fairly similar and can easily be consolidated into a single helper function. There are two main differences in the current implementation of the CPU and CODEC DAI lookup: 1) CPU DAIs can be looked up by the DAI name alone and do not necessarily require a component name/of_node. 2) The CODEC DAI search only considers DAIs from CODEC components. For 1) the new helper function will allow to lookup DAIs without providing a component name or of_node, but since snd_soc_register_card() already rejects CODEC DAI link components without neither a of_node or a name we'll never get into the situation where we try to lookup a CODEC DAI without a name/of_node. For 2) the new helper function just always considers all components. Componentization is now at a point where it is possible to register a CODEC as a snd_soc_component rather than a snd_soc_codec, by considering DAIs from all components it is possible to use such a CODEC in a DAI link. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e60cd14f0bf6c004cd7032a24a036ba32d56e08a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:26 2014 +0200 ASoC: Consolidate CPU and CODEC DAI removal CPU and CODEC DAI works exactly the same way. There is already a helper function for CODEC DAI removal, use that one as well for CPU DAI removal. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ffbd7dd72bd3ad9bcae9190788c858e57f1e8e4e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:25 2014 +0200 ASoC: Cleanup DAI module reference counting Currently when a DAI has no CODEC associated to it the reference on the module containing the DAI driver is increased when the DAI is probed and decrease when the DAI is removed. For DAIs with CODECs the module reference count was already incremented when the CODEC is probed. Now that all components have their module reference count incremented when they are probed and all DAIs do have a component it is possible to remove the module reference counting on DAI probe and removal. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 70090bbb8b7d7da7a6f64969b43a61c493c560ff Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:24 2014 +0200 ASoC: Move component->probed check into soc_{remove,probe}_component() Having the check in a centralized place makes the code a bit cleaner and shorter. Note: There is a slight semantic change in this patch. soc_probe_aux_dev() will no longer return -EBUSY if the AUX dev has already been probed before. This is fine though since it will simply do nothing in that case and return success. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 57bf772687700e206c760ba2e4097f78bde97887 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:23 2014 +0200 ASoC: Pass component instead of DAPM context to AUX dev init callback Given that the component is the containing structure it makes more sense to pass the component rather than the DAPM context to the AUX dev init callback. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 65d9361f0cb50a20641802ee3075145d72e4409c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:22 2014 +0200 ASoC: Move AUX dev support to the component level This patch makes it possible to register arbitrary components as a AUX dev for a card. This was previously only possible for CODEC components. With componentization having made it possible for components to have DAPM contexts and controls there is no reason why AUX devs should be artificially limited to snd_soc_codec devices. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 61aca5646b736a794d40de29a197144db3f0c5ba Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:21 2014 +0200 ASoC: Add component level probe/remove support Now that we have a unified probe and remove path make sure to call them for all components. soc_{probe,remove}_component are responsible for setting up the DAPM context for the component, initialize the component prefix, manage the debugfs entries as well as do the registration of table based controls and DAPM elements. They also call the component drivers probe and remove callbacks. This patch makes these things available for generic snd_soc_component drivers rather than only having them for snd_soc_codec and snd_soc_platform drivers. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93c3ce76ccced3a8718149e8734ccaa931e9a1f1 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:20 2014 +0200 ASoC: Make rtd->codec optional There are some place in the ASoC core that expect rtd->codec to be non NULL (mainly CODEC specific sysfs files). With componentization going forward rtd->codec might be NULL in some cases. This patch prepares the core for this by not registering CODEC specific sysfs files if rtd->codec is NULL. sysfs file removal does not need to be conditionalized as it handles the removal of non-existing files just fine. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f1d45cc3ae96a6173129b2c164c216272faa5fc0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:19 2014 +0200 ASoC: Consolidate platform and CODEC probe/remove The platform and CODEC probe and remove code is now largely identical. This patch consolidates it at the component level. The resulting code is slightly larger due to all the boiler plate code setting up the indirection for the table based control and DAPM registration. Once all drivers have been update to no longer use the snd_soc_codec_driver and snd_soc_platform_driver specific fields for this the indirection can be removed again. This patch contains two noteworthy hacks that are only meant to be temporary to be able to update drivers and the core in separate incremental patches. The first hack is related to that some DPCM platforms expect that the DAPM widgets for the DAIs of a snd_soc_component are created in the DAPM context of the snd_soc_platform that has the same parent device. For handling this the steal_sibling_dai_widgets attribute is introduced. It gets set for snd_soc_platforms that register DAPM elements. When creating the DAI widgets for a component this flag is checked and if it is found on one of the siblings the component will not create any DAI widgets in its own DAPM context. If the attribute is set on a platform it will look for siblings components and create DAI widgets for them in its own context. The fix for this will be to update the offending drivers to only register a single component rather than two. The second hack deals with the fact that the ASoC card suspend and resume code still needs a list of CODECs that have been registered for the card. To handle this the generic probe and remove path have a check to see if the component is CODEC and if yes add/remove it to the card's CODEC list. While it is possible to clean up the suspend/resume code to not need the CODEC list anymore this is a bit of a chicken and egg problem since it will become easier to clean up the suspend/resume code once there is a unified component layer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 81c7cfd1b22a0ee5e40efef72ec2cd17dbf12e6d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:18 2014 +0200 ASoC: Move debugfs registration to the component level The debugfs registration is mostly identical between platforms and CODECs. This patches consolidates the two implementations at the component level. Unfortunately there are still a couple of CODEC specific debugfs files that are related to legacy ASoC IO that need to be registered. For this a new callback is added to the component struct that will be initialized when a CODEC is registered and will be used to register the CODEC specific files. Once there are no drivers left using legacy IO this can be removed again. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4f37b504768c952b64bc9469a2d579c7597590f2 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 10:51:04 2014 +0400 libata: Use dev_name() for request_irq() to distinguish devices Use dev_name() instead of driver name for request_irq(). This will help to distinguish between multiple identical devices. Before: CPU0 5: 34425 clps711x-intc 5 pata_of_platform 6: 6778 clps711x-intc 6 pata_of_platform After: CPU0 5: 2182 clps711x-intc 5 20000000.ide 6: 11024 clps711x-intc 6 20100000.ide Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit cdec729765659adafba983d6b6760ad52c71d5d8 Author: Sean Cross <xobs@xxxxxxxxxx> Date: Tue Aug 19 12:49:34 2014 +0800 ASoC: fsl: Fix building of imx-es8328 on PPC The imx-es8328 driver fails to build on PPC because it explicitly depends on SND_SOC_IMX_PCM_FIQ, which itself doesn't build on PPC. Instead, rely on the SND_SOC_FSL_SSI config option to pull in the necessary libraries. While we're at it, remove SND_SOC_FSL_UTILS, which also is not needed. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ea62f4dfe329094cd988a73fe854c6f2e92dd486 Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Tue Aug 19 18:07:42 2014 +0800 regulator: hi6421: style fix, else with a single return is not required style fix for warnings. 'else' with a single 'return' is usually not required. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 39f5460d7f9cc57d3dd745301bf60ca5d65a6e7b Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Tue Aug 19 18:07:41 2014 +0800 regulator: core: add const to regulator_ops and fix build error in mc13892 Commit 272e2315fac3 ("regulator: core: add const qualifier to ops in struct regulator_desc") introduced const qualifier to ops in regulator_desc. This patch adds 'const' to regulator_ops vars in newly added core APIs for v3.17-rc1: - regulator_get_hardware_vsel_register() - regulator_list_hardware_vsel() This patch also fix a build error in mc13892-regulator.c due to const regulator_desc.ops. Modification of regulator_desc.ops' member fields is not allowed. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c12fe49726cfebacb47dca5f2bb544c38aa09e6d Author: Vignesh Raman <Vignesh_Raman@xxxxxxxxxx> Date: Tue Aug 5 18:39:42 2014 +0530 dma: imx-sdma: Adding tasklet_kill() in sdma_remove function. Several dma drivers calls tasklet_kill() in remove function. This is done because all running tasklets should be killed on remove. This is missing in imx sdma driver, so adding tasklet_kill() in sdma_remove function. Signed-off-by: Vignesh Raman <Vignesh_Raman@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 23e11811378259831777e8fdc8b9836faeaa72cd Author: Vignesh Raman <Vignesh_Raman@xxxxxxxxxx> Date: Tue Aug 5 18:39:41 2014 +0530 dma: imx-sdma: use module_platform_driver for SDMA driver Currently there is no module_exit declared in SDMA driver, so that once sdma module is inserted, it's shown with permanent attribute by lsmod, and it can't be removed. Use module_platform_driver to register/unregister SDMA driver and modify SDMA's remove operation, to make SDMA driver possible to be removed. Signed-off-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3228950621d92f0f212378f95a6998ef3a1be0bb Author: Feng Kan <fkan@xxxxxxx> Date: Wed Jul 30 14:56:59 2014 -0700 irqchip: gic: Preserve gic V2 bypass bits in cpu ctrl register This change is made to preserve the GIC v2 bypass bits in the GIC_CPU_CTRL register (also known as the GICC_CTLR register in spec). This code will preserve all bits configured by the bootloader regarding v2 bypass group bits. In the X-Gene platform, the bypass functionality is not used and bypass bits should not be changed by the kernel gic code as it could lead to incorrect behavior. Signed-off-by: Feng Kan <fkan@xxxxxxx> Reviewed-by: Vinayak Kale <vkale@xxxxxxx> Reviewed-by: Anup Patel <apatel@xxxxxxx> Link: https://lkml.kernel.org/r/1406757419-18729-3-git-send-email-fkan@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e5f81539f657af7e9f54ea37986fde8f92acef22 Author: Feng Kan <fkan@xxxxxxx> Date: Wed Jul 30 14:56:58 2014 -0700 irqchip: gic: Replace hex numbers with defines. This is to cleanup some hex numbers used in the code and replace them with defines to make the code cleaner. Signed-off-by: Feng Kan <fkan@xxxxxxx> Reviewed-by: Anup Patel <apatel@xxxxxxx> Link: https://lkml.kernel.org/r/1406757419-18729-2-git-send-email-fkan@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1e1b6c26443547b05925ae4a4494884c92eb7d95 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Tue Aug 19 00:03:00 2014 +0300 KVM: x86: recalculate_apic_map after enabling apic Currently, recalculate_apic_map ignores vcpus whose lapic is software disabled through the spurious interrupt vector. However, once it is re-enabled, the map is not recalculated. Therefore, if the guest OS configured DFR while lapic is software-disabled, the map may be incorrect. This patch recalculates apic map after software enabling the lapic. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fae0ba2157340635fd99912c0c3b7a28c355c588 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Mon Aug 18 22:42:13 2014 +0300 KVM: x86: Clear apic tsc-deadline after deadline Intel SDM 10.5.4.1 says "When the timer generates an interrupt, it disarms itself and clears the IA32_TSC_DEADLINE MSR". This patch clears the MSR upon timer interrupt delivery which delivered on deadline mode. Since the MSR may be reconfigured while an interrupt is pending, causing the new value to be overriden, pending timer interrupts are checked before setting a new deadline. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d7a2a246a1b5a0b0c803e800019600051e1e6f1a Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Aug 19 17:04:40 2014 +0800 KVM: x86: #GP when attempts to write reserved bits of Variable Range MTRRs Section 11.11.2.3 of the SDM mentions "All other bits in the IA32_MTRR_PHYSBASEn and IA32_MTRR_PHYSMASKn registers are reserved; the processor generates a general-protection exception(#GP) if software attempts to write to them". This patch do it in kvm. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit adfb5d2746bfbe692324bd26a6de05a3a036b38e Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Aug 19 17:04:39 2014 +0800 KVM: x86: fix check legal type of Variable Range MTRRs The first entry in each pair(IA32_MTRR_PHYSBASEn) defines the base address and memory type for the range; the second entry(IA32_MTRR_PHYSMASKn) contains a mask used to determine the address range. The legal values for the type field of IA32_MTRR_PHYSBASEn are 0,1,4,5, and 6. However, IA32_MTRR_PHYSMASKn don't have type field. This patch avoid check if the type field is legal for IA32_MTRR_PHYSMASKn. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3b63a43f1e04b935e1ce0383f78ac0f5c65433d8 Author: Monam Agarwal <monamagarwal123@xxxxxxxxx> Date: Sat Mar 22 12:28:10 2014 +0530 arch/x86: Use RCU_INIT_POINTER(x, NULL) in kvm/vmx.c Here rcu_assign_pointer() is ensuring that the initialization of a structure is carried out before storing a pointer to that structure. So, rcu_assign_pointer(p, NULL) can always safely be converted to RCU_INIT_POINTER(p, NULL). Signed-off-by: Monam Agarwal <monamagarwal123@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 15fc075269e42230605343554c5c8001eb819228 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Aug 18 13:17:00 2014 +0200 KVM: x86: raise invalid TSS exceptions during a task switch Conditions that would usually trigger a general protection fault should instead raise #TS. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4473b570a7ebb502f63f292ccfba7df622e5fdd3 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Mon Aug 18 17:50:28 2014 +0800 KVM: x86: drop fpu_activate hook The only user of the fpu_activate hook was dropped in commit 2d04a05bd7e9 (KVM: x86 emulator: emulate CLTS internally, 2011-04-20). vmx_fpu_activate and svm_fpu_activate are still called on #NM (and for Intel CLTS), but never from common code; hence, there's no need for a hook. Reviewed-by: Yang Zhang <yang.z.zhang@xxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dc9b2d933a1d5782b70977024f862759c8ebb2f7 Author: Wei Huang <wehuang@xxxxxxxxxx> Date: Wed Aug 13 12:06:14 2014 -0400 KVM: SVM: add rdmsr support for AMD event registers Current KVM only supports RDMSR for K7_EVNTSEL0 and K7_PERFCTR0 MSRs. Reading the rest MSRs will trigger KVM to inject #GP into guest VM. This causes a warning message "Failed to access perfctr msr (MSR c0010001 is ffffffffffffffff)" on AMD host. This patch adds RDMSR support for all K7_EVNTSELn and K7_PERFCTRn registers and thus supresses the warning message. Signed-off-by: Wei Huang <wehuang@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit eecbad7d0306b9ee4f621517052913d1adaea753 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Mon Aug 18 15:20:56 2014 +0300 iommu: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d95d6d47138ec1a3ab0a528470f98f8082f389d0 Author: Wills Wang <wills.wang.open@xxxxxxxxx> Date: Tue Aug 19 15:33:01 2014 +0800 ARM: dts: sun7i: Add Merrii A20 Hummingbird board This adds support for the A20 Hummingbird: http://www.merrii.com/en/pla_d.asp?id=171 This patch enable most on-board peripherals supported on current kernel, such as uart, i2c, spi, pwm, ohci/ehci, gmac and mmc. Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Wills Wang <wills.wang.open@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit f63ef69028742b09c1c0896177d555a30ff6cf13 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Aug 11 13:13:25 2014 +0200 iommu/vt-d: Don't store SIRTP request Don't store the SIRTP request bit in the register state. It will otherwise become sticky and could request an Interrupt Remap Table Pointer update on each command register write. Found while starting to emulate IR in QEMU, not by observing problems on real hardware. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f171abab8f1a75797124be5aae8376e20e4852d9 Author: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Date: Mon Aug 4 10:06:28 2014 +0530 iommu/exynos: Fix trivial typos Fixed trivial typos and grammar to improve readability. Changed w/a to workaround. Signed-off-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7b5bace34fe1ab412fb44ad1aaeaf9081b898d0a Author: Wills Wang <wills.wang.open@xxxxxxxxx> Date: Tue Aug 19 15:33:00 2014 +0800 ARM: dts: sun7i: Add uart3/4/5, i2c3 and spi2 pinmux This patch add generic dts node for uart3/4/5, i2c3 and spi2. Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Wills Wang <wills.wang.open@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8e170655b517ba49bf4d015008474bcc2f425b20 Author: Dirk Gouders <dirk@xxxxxxxxxxx> Date: Sat Aug 16 07:56:58 2014 +0200 scripts/tags.sh: fix DEFINE_HASHTABLE in emacs case The emacs --regex for DEFINE_HASHTABLE produced a warning because of an unmatched '\('. Further, the whole entry did not work, because the regex needs to match from the beginning of a line, including keywords like 'static'. Finally, '\w' should not be used, because it stops at underscores which are often part of variable names in C, resulting in wrong entries in the tags file. Signed-off-by: Dirk Gouders <dirk@xxxxxxxxxxx> Inspired-by: Masatake YAMATO <yamato@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit a60113d6a7fca3320e84d25db84c3c1a5a02b505 Author: Dirk Gouders <dirk@xxxxxxxxxxx> Date: Sat Aug 16 07:56:57 2014 +0200 scripts/tags.sh: remove *PCGFLAGS regular expressions Commit 0a31bc97c80c3fa8 (mm: memcontrol: rewrite uncharge API) removed the macros {TEST,SET,CLEAR,TESTCLEAR}PCFLAG. Remove corresponding entries from tags.sh -- in the emacs case they also produced warnigs because of unmatched '\('. Signed-off-by: Dirk Gouders <dirk@xxxxxxxxxxx> Inspired-by: Masatake YAMATO <yamato@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 8bf4abaddd01aa6c9d13804fa05084cb28135a47 Author: Dirk Gouders <dirk@xxxxxxxxxxx> Date: Sat Aug 16 07:56:56 2014 +0200 scripts/tags.sh: Don't specify kind-spec for emacs' ctags/etags Emacs' ctags/etags don't know about kind-spec in --regex and produce warnings: etags: invalid regexp modifier `v', ignoring etags: invalid regexp modifier `/', ignoring Fix it by removing kind-spec for the emacs case. Signed-off-by: Dirk Gouders <dirk@xxxxxxxxxxx> Inspired-by: Masatake YAMATO <yamato@xxxxxxxxxx> Tested-by: Masatake YAMATO <yamato@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 221ecca6cafefbb5106cfc8bf9f1105233a33745 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:34:23 2014 +0900 kbuild: remove redundant clean-files from scripts/kconfig/Makefile Now mconf, qconf, gconf, nconf are always added to hostprogs-y. Files added to hostprogs-y are removed by "make clean". Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 022af62d0190e1e3db63c19aeb5f51ae0612cd71 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:34:22 2014 +0900 kbuild: refactor script/kconfig/Makefile Now it is harmless to add all host programs to hostprogs-y. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 97e3226e6e984c8cd9bed47010f30827a3ce816a Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:34:21 2014 +0900 kbuild: handle the dependency of multi-objs hostprogs appropriately Assume we have a Makefile like: hostprogs-y := foo bar foo-objs := foo1.o foo2.o bar-objs := bar1.o bar2.o Without this commit, the host program foo depends on all of foo1.o foo2.o bar1.o bar2.o. This commit allows to handle the dependency of each host program separately. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit c8589d1e9e01debdb4f574afe7c585714353ad79 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:34:20 2014 +0900 kbuild: handle multi-objs dependency appropriately The comment in scripts/Makefile.build says as follows: We would rather have a list of rules like foo.o: $(foo-objs) but that's not so easy, so we rather make all composite objects depend on the set of all their parts This commit makes it possible! For example, assume a Makefile like this obj-m = foo.o bar.o foo-objs := foo1.o foo2.o bar-objs := bar1.o bar2.o Without this patch, foo.o depends on all of foo1.o foo2.o bar1.o bar2.o. It looks funny that foo.o is regenerated when bar1.c is updated. Now we can handle the dependency of foo.o and bar.o separately. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 39fed7015cd9124b5893fce18d33f49db1c48bea Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:23:10 2014 +0200 Documentation: kbuild: Improve grammar - singular versus plural, - "by" versus "of", - missing "if", "it", "the", - consistent use of "xxx-specific" versus "xxx specific". Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit cf6c53db9525a7f6c5052ccd84a0638128f14632 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:23:09 2014 +0200 Documentation: kbuild: Remove obsolete dtc_cpp section Commit b40b25fff8205dd18124d8fc87b2c9c57f269b5f ("kbuild: always run gcc -E on *.dts, remove cmd_dtc_cpp") improved the functionality of cmd_dtc_cpp and merged it back into cmd_dtc. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ef80f0a1e033bcab17257e2155a3c9263a0919c1 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:23:08 2014 +0200 Documentation: kbuild: Improve if_changed documentation - These days if_changed is used with many more commands than ld, objcopy, and gzip, hence add an ellipsis, - Any target that utilises if_changed must be listed in $(targets), so it needs an assignment to "targets", not "target". Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit b22ae40ef2e7847ddbd802d1a887188e113675f3 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:23:07 2014 +0200 Documentation: kbuild: Remove obsolete include/asm symlink step As of commit f7f16b7799ed68654850ab340ef812895aebcf4c ("kbuild: drop include/asm"), the include/asm symlink is no longer created. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 54db6c3949359ee35e9addb02506fca431721ef0 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 18 15:11:19 2014 +0200 ALSA: hda/realtek - Use tables for batch COEF writes/updtes There are many codes doing writes or updates COEF verbs sequentially in a batch. Rewrite such open codes with tables for optimization. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 98b248839474293481905562ae38dc2d6558ef20 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 18 13:47:50 2014 +0200 ALSA: hda/realtek - Add alc_update_coef*_idx() helper ... and rewrite a few open codes with them. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1687ccc8b2229d05c579924086e9b42ada9db888 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 18 13:49:35 2014 +0200 ALSA: hda/realtek - Use alc_write_coef_idx() in alc269_quanta_automake() Just a refactoring. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f2a227cd3891266f1486a21aac86fa39b3abd093 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 18 13:35:22 2014 +0200 ALSA: hda/realtek - Optimize alc888_coef_init() Just a refactoring using the existing helper functions. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e52faba0f3a5520fc766e24520c10cb79fee2fac Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 12 11:57:05 2014 +0200 ALSA: hda - Remove obsoleted EXPORT_SYMBOL_HDA() macro Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e9bd0224c130617d7d6037d3a405571c33b1e097 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 12 11:54:36 2014 +0200 ALSA: hda - Remove obsoleted snd_hda_check_board_config() & co The helper functions snd_hda_check_board_config() and snd_hda_check_board_codec_sid_config() are no longer used since the transition to the generic parser and all quirks have been replaced with fixups. Let's kill these dead codes. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1aaff096954b1e2ac90692649d1b550e264a63da Merge: 7d1311b f475371 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 19 08:04:02 2014 +0200 Merge branch 'for-linus' into topic/hda-cleanup Syncing the HD-audio updates for further cleanup works. commit a130548d8c06d4fda098f25a6b3dec62beec27cc Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 13:26:51 2014 -0500 ARM: dts: Improve Peach Pit and Pi power scheme The DeviceTree files for the Peach Pit and Pi machines have a simplistic model of the connections between the different regulators since not all the tps65090 regulators get their input supply voltage from the VDC. DCDC1-3, LD0-1 and fet7 parent supply is indded VDC but the fet1-6 get their input supply from the DCDC1 and DCDC2 output voltage rails. Update the DeviceTree to better reflect the real connections between tps65090 regulators. Having this information in the DTS is useful since FETs are switches that don't provide an output voltage so the regulator core needs to fetch the FET parent output voltage if the child voltage is queried. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 18c01ab30288d9d0a7d80b08b659531f37ed379d Author: Rajesh Ghanekar <Rajesh_Ghanekar@xxxxxxxxxxxx> Date: Fri Aug 1 22:17:30 2014 -0400 nfsd: allow turning off nfsv3 readdir_plus One of our customer's application only needs file names, not file attributes. With directories having 10K+ inodes (assuming buffer cache has directory blocks cached having file names, but inode cache is limited and hence need eviction of older cached inodes), older inodes are evicted periodically. So if they keep on doing readdir(2) from NSF client on multiple directories, some directory's files are periodically removed from inode cache and hence new readdir(2) on same directory requires disk access to bring back inodes again to inode cache. As READDIRPLUS request fetches attributes also, doing getattr on each file on server, it causes unnecessary disk accesses. If READDIRPLUS on NFS client is returned with -ENOTSUPP, NFS client uses READDIR request which just gets the names of the files in a directory, not attributes, hence avoiding disk accesses on server. There's already a corresponding client-side mount option, but an export option reduces the need for configuration across multiple clients. This flag affects NFSv3 only. If it turns out it's needed for NFSv4 as well then we may have to figure out how to extend the behavior to NFSv4, but it's not currently obvious how to do that. Signed-off-by: Rajesh Ghanekar <rajesh_ghanekar@xxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit aaa25a5a33cb2f406e59ff06a86b7f91026c2fa2 Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Mon Aug 18 11:55:32 2014 -0500 ARM: dts: unuse the slot-node and deprecate the supports-highspeed for dw-mmc in exynos dw-mmc controller can support multiple slots. But, there are no use-cases anywhere. So we don't need to support the slot-node for dw-mmc controller. And "supports-highspeed" property in dw-mmc is deprecated. "supports-highspeed" property can be replaced with "cap-sd/mmc-highspeed". Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Tushar Behera <trblinux@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Tested-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> [kgene.kim@xxxxxxxxxxx: rebased exynos5250-snow changes] Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 5fbc3f20d0bbf72423152f145e30a1d9e01ceadb Author: Andreas Faerber <afaerber@xxxxxxx> Date: Mon Aug 18 14:00:35 2014 -0500 ARM: dts: Fold exynos5250-cros-common into exynos5250-snow exynos5250-cros-common.dtsi was meant for sharing common pieces across ChromeOS devices. This turned out premature, as several devices ended up in the common file that are not common after all. Since the remaining common ChromeOS pieces are fairly minor, exynos5250-cros-common.dtsi was requested to be merged into the Snow device tree, sharing only the keyboard controller for now. This may be re-evaluated as both mature. Suggested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Andreas Faerber <afaerber@xxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit df08d2eb66d9805118d9a94c1df0129b193c9a4f Author: Andreas Faerber <afaerber@xxxxxxx> Date: Mon Aug 18 13:33:30 2014 -0500 ARM: dts: Fix MMC pinctrl for exynos5250-snow The pinctrl properties should be on the device directly and not on the slot sub-node. Reported-by: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Andreas Faerber <afaerber@xxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 447a0470a7b9745fc91a75182f37f7710fa91290 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 19 01:45:45 2014 +0800 ARM: dt: sunxi: Remove i2c controller clock-frequency that matches default The clock-frequency values of the i2c controller nodes match the defaults of the driver. Remove the properties to use the defaults, and be consistent with sun8i. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit dc66085b7a03c1c73774254ff7ac59159810b628 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 19 00:51:51 2014 +0800 ARM: dts: sun8i: Enable i2c controllers on ippo-q8h-v5 i2c0 is connected to the gsl1680 capacitive touch panel controller. i2c1 is connected to an mma7660 3-axis accelerometer. i2c2 is connected to the front and back gc0309 camera sensors. The camera sensors require additional regulators be enabled before they are available. All these peripherals are not supported by the kernel yet. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 0a97ea3b62fabc1c0eaca49bc584376b5cf0961b Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 19 00:51:50 2014 +0800 ARM: dts: sun8i: Add i2c controller nodes Add nodes for the 3 i2c controllers found on A23 SoCs to the sun8i DTSI. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8ea21348868f37f5b2e6ebbaf336d2a415b2b9ff Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 18 15:00:15 2014 +0800 ASoC: simple-card: Fix the compile warning. sound/soc/generic/simple-card.c: In function simple_card_dai_link_of: sound/soc/generic/simple-card.c:198:10: warning: passing argument 3 of asoc_simple_card_sub_parse_of from incompatible pointer type [enabled by default] &dai_link->cpu_dai_name); ^ sound/soc/generic/simple-card.c:112:1: note: expected const struct device_node ** but argument is of type struct device_node ** asoc_simple_card_sub_parse_of(struct device_node *np, ^ sound/soc/generic/simple-card.c:229:10: warning: passing argument 3 of asoc_simple_card_sub_parse_of from incompatible pointer type [enabled by default] &dai_link->codec_dai_name); ^ sound/soc/generic/simple-card.c:112:1: note: expected const struct device_node ** but argument is of type struct device_node ** asoc_simple_card_sub_parse_of(struct device_node *np, ^ Since the asoc_simple_card_sub_parse_of() is used in simple-card module only, and the third argument is just used to get the node ponters address, so there is no need it must to be 'const' type. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cc3fe7abda0abb9936598a90feaa2e323d62200d Author: Daniel Drake <drake@xxxxxxxxxxxx> Date: Mon Aug 18 11:39:53 2014 -0500 ARM: dts: ODROID i2c improvements for exynos4412-odroid-common Increase max i2c bus frequency beyond the default for faster data transfers. According to the manual, these faster speeds are only available when the board is wired up the right way. In this case, the vendor kernel has run at this speed for a long time. sda-delay is needed for talking to RTC on PMIC, otherwise the i2c controller never sees an ACK. Strangely the other PMIC i2c slave (the main one) works fine even without this delay. I Chose value 100 to match the vendor kernel. Signed-off-by: Daniel Drake <drake@xxxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Tested-by: Tomeu Vizoso <tomeu@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit eea6653aae7bc85e38104f9c3a22471cba04da68 Author: Daniel Drake <drake@xxxxxxxxxxxx> Date: Mon Aug 18 11:39:50 2014 -0500 ARM: dts: Enable PMIC interrupts for exynos4412-odroid-common The ODROID kernel shows that the PMIC interrupt line is hooked up to pin GPX3-2. This is needed for the max77686-irq driver to create the PMIC IRQ domain, which is needed by max77686-rtc. Signed-off-by: Daniel Drake <drake@xxxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Tested-by: Tomeu Vizoso <tomeu@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit ba1b53feb8cacbd84bcf0e48925e30ad29e141a6 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 15:09:02 2014 +0200 regmap: Fix DT endianess parsing logic Commit d647c199510c ("regmap: add DT endianness binding support.") added support to parse the device endianness from the device tree but unfortunately the added logic doesn't have the same semantics than the old code. This leads to a NULL dereference pointer error when these properties are not provided by the Device Tree: Unable to handle kernel NULL pointer dereference at virtual address 00000044 pgd = c0004000 [00000044] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 5 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc1-next-20140818ccu #671 task: ea412800 ti: ea484000 task.ti: ea484000 PC is at regmap_update_bits+0xc/0x5c The problem is that platforms that rely on the default value now gets different values due two related issues in the current code: a) It only parses the endianness from DT for the regmap registers and not for the regmap values but it checks unconditionally in both cases if the resulting endiannes is REGMAP_ENDIAN_NATIVE. b) REGMAP_ENDIAN_NATIVE is not even a valid DT property according to the regmap DT binding documentation so it shouldn't be set. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9524fa523e10c75750962c4079e6d002d7487280 Author: Luc Verhaegen <libv@xxxxxxxxx> Date: Sat Aug 2 15:06:30 2014 +0200 ARM: sunxi_defconfig: add NLS_CODEPAGE_437 and NLS_ISO8859_1 Otherwise CONFIG_VFAT_FS is useless as mounting vfat fails. Signed-off-by: Luc Verhaegen <libv@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 60fbce7f29ec8106c86e7ef74dacd5c9be3d4284 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jul 30 20:56:09 2014 +0800 ARM: sunxi: Add A31 RTC driver to multi_v7_defconfig Now that we have a driver for A31's RTC, enable it in multi_v7_defconfig. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 33f4dcdb28aff083be5367cd3d56b4d00c331c60 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jul 30 20:56:08 2014 +0800 ARM: sunxi: Add A31 RTC driver to sunxi_defconfig Now that we have a driver for A31's RTC, enable it in the default sunxi config. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4ece7045eb7cceaff9667b4ee2eec78915d3ee3b Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:32:42 2014 +0200 regulator: Add DT bindings for max77802 PMIC regulators Add Device Tree binding documentation for the regulators present in the Maxim 77802 Power Management IC. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e6f2f805d722bf94efe89755372bcc6ff60d8d90 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:32:41 2014 +0200 regulator: Add driver for max77802 PMIC PMIC regulators The MAX77802 PMIC has 10 high-efficiency Buck and 32 Low-dropout (LDO) regulators. This patch adds support for all these regulators found on the MAX77802 PMIC and is based on a driver added by Simon Glass to the Chrome OS kernel 3.8 tree. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 499898d66d88cc626a2e01b02c3b819536bdf169 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Mon Aug 18 16:38:40 2014 +0800 ASoC: fsl: fsl-asoc-card: Select SND_SOC_IMX_AUDMUX Building kernel with SND_SOC_IMX_AUDMUX=n leads to the following error: sound/built-in.o: In function `fsl_asoc_card_probe': >> fsl-asoc-card.c:(.text+0x1467b5): undefined reference to `imx_audmux_v2_configure_port' >> fsl-asoc-card.c:(.text+0x1467d0): undefined reference to `imx_audmux_v2_configure_port' >> fsl-asoc-card.c:(.text+0x1467ed): undefined reference to `imx_audmux_v2_configure_port' >> fsl-asoc-card.c:(.text+0x146807): undefined reference to `imx_audmux_v2_configure_port' Update Kconfig to select SND_SOC_IMX_AUDMUX when SND_SOC_FSL_ASOC_CARD=y. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f37671e004eeca017b93f6b26f2425acbb8d411 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Mon Aug 18 16:38:39 2014 +0800 ASoC: fsl-asoc-card: Fix build warning for maybe-uninitialized When build fsl-asoc-card as module, there is following error: sound/soc/fsl/fsl-asoc-card.c: In function 'fsl_asoc_card_probe': >> sound/soc/fsl/fsl-asoc-card.c:547:13: warning: 'asrc_np' may be used uninitialized in this function [-Wmaybe-uninitialized] of_node_put(asrc_np); ^ vim +/asrc_np +547 sound/soc/fsl/fsl-asoc-card.c 531 if (width == 24) 532 priv->asrc_format = SNDRV_PCM_FORMAT_S24_LE; 533 else 534 priv->asrc_format = SNDRV_PCM_FORMAT_S16_LE; 535 } 536 537 /* Finish card registering */ 538 platform_set_drvdata(pdev, priv); 539 snd_soc_card_set_drvdata(&priv->card, priv); 540 541 ret = devm_snd_soc_register_card(&pdev->dev, &priv->card); 542 if (ret) 543 dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret); 544 545 fail: 546 of_node_put(codec_np); > 547 of_node_put(asrc_np); 548 of_node_put(cpu_np); 549 550 return ret; 551 } 552 553 static const struct of_device_id fsl_asoc_card_dt_ids[] = { 554 { .compatible = "fsl,imx-audio-cs42888", }, 555 { .compatible = "fsl,imx-audio-sgtl5000", }, Add 'asrc_fail' branch for error jump after asrc_np initialized. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c99428d035908b9c0b8be452f9b091bc5e090256 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 18 15:48:20 2014 +0800 spi: fsl-dspi: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Acked-by: Chao Fu <b44548@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dc8fcd711610063681f1e9fd860823b1108182ca Merge: 7d1311b 275876e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 18 09:41:34 2014 -0500 Merge tag 'dt-endian' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into spi-fsl-dspi regmap: Device tree endianness support This adds generic support for specifying endianess for register map in the DT. commit 716845ebeb505353d900320b4a74e8330520410d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Aug 18 10:34:08 2014 +0800 regulator: core: Fix build error due to const qualifier for ops Drop const qualifier for ops of struct regulator_desc. Allow regulator drivers to update ops before registering regulator. Fix below build error: CC [M] drivers/regulator/mc13892-regulator.o drivers/regulator/mc13892-regulator.c: In function 'mc13892_regulator_probe': drivers/regulator/mc13892-regulator.c:586:3: error: assignment of member 'set_mode' in read-only object drivers/regulator/mc13892-regulator.c:588:3: error: assignment of member 'get_mode' in read-only object make[2]: *** [drivers/regulator/mc13892-regulator.o] Error 1 make[1]: *** [drivers/regulator] Error 2 make: *** [drivers] Error 2 Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9740bdd985277a7f71423738c34a2c88cd533f1c Author: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Date: Fri Aug 1 03:22:04 2014 +0900 ARM: S5PV210: move <mach/regs-clock.h> into mach-s5pv210/ This moves <mach/regs-clock.h> into mach-s5pv210 so no more include/mach/ under mach-s5pv210. Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> commit effd8c363d2c76d1941402cc23835fc986a445d8 Author: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Jul 23 08:40:05 2014 +0900 ARM: EXYNOS: remove unused <mach/memory.h> ARCH_EXYNOS doesn't select NEED_MACH_MEMORY_H, so <asm/memory.h> doesn't include <mach/memory.h> and so this file is not used and can go away. Signed-off-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> [t.figa@xxxxxxxxxxx: boot tested on Exynos4412-based Trats2 board] Tested-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Reviewed-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> [sachin.kamat: Tested on Arndale octa board (Exynos 5420)] Tested-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit c2d670fd3b16304124162bef99313eaa289f2bc3 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:31 2014 -0700 gpu: ipu-v3: Rename and add IDMAC channels Rename the ENC/VF/PP rotation channel names, to be more consistent with the convention that *_MEM is write-to-memory channels and MEM_* is read-from-memory channels. Also add the channels who's source and destination is the IC. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit ba07975f0fe5bf95107d71d0df0405c16f5c3266 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:30 2014 -0700 gpu: ipu-v3: Add functions to set CSI/IC source muxes Adds two new functions, ipu_set_csi_src_mux() and ipu_set_ic_src_mux(), that select the inputs to the CSI and IC respectively. Both muxes are programmed in the IPU_CONF register. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 2eb671c485c06133ff0b568d5ec3c09fda0f4359 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:48 2014 -0700 staging: imx-drm: Convert to new ipu_cpmem API The ipu_cpmem_*() calls now take a channel pointer instead of a pointer into cpmem for that channel. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7d2691da901d71ff62ad974510ea7149b391bdfe Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:47 2014 -0700 gpu: ipu-v3: Add ipu-cpmem unit Move channel parameter memory setup functions and macros into a new submodule ipu-cpmem. In the process, cleanup arguments to the functions to take a channel pointer instead of a pointer into cpmem for that channel. That allows the structure of the parameter memory to be private to ipu-cpmem.c. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit df577149594cefacd62740e86de080c6336d699e Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Mon Aug 11 10:49:25 2014 -0400 watchdog: Fix print-once on enable This patch avoids printing the message 'enabled on all CPUs, ...' multiple times. For example, the issue can occur in the following scenario: 1) watchdog_nmi_enable() fails to enable PMU counters and sets cpu0_err. 2) 'echo [0|1] > /proc/sys/kernel/nmi_watchdog' is executed to disable and re-enable the watchdog mechanism 'on the fly'. 3) If watchdog_nmi_enable() succeeds to enable PMU counters, each CPU will print the message because step1 left behind a non-zero cpu0_err. if (!IS_ERR(event)) { if (cpu == 0 || cpu0_err) pr_info("enabled on all CPUs, ...") The patch avoids this by clearing cpu0_err in watchdog_nmi_disable(). Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: pbonzini@xxxxxxxxxx Link: http://lkml.kernel.org/r/1407768567-171794-4-git-send-email-dzickus@xxxxxxxxxx [ Applied small cleanups. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f530504a063cfa028971e4b26ea8e0c32908de25 Author: chai wen <chaiw.fnst@xxxxxxxxxxxxxx> Date: Mon Aug 11 10:49:23 2014 -0400 watchdog: Remove unnecessary header files Signed-off-by: chai wen <chaiw.fnst@xxxxxxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: pbonzini@xxxxxxxxxx Link: http://lkml.kernel.org/r/1407768567-171794-2-git-send-email-dzickus@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit af924aa35129edf338ebc8da6a4eae08cf7cb297 Merge: f373da3 759e612 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 18 10:14:43 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: * Warn user to rebuild target with debuginfo in 'perf probe' (Masami Hiramatsu) * Don't truncate Intel style addresses in 'annotate'. (Alex Converse) Infrastructure changes: * Annotate PMU related list_head members with type info. (Cody P Schafer) * Add the triplet used for arm64 by Android (Elliott Hughes) * Replace thread unsafe strerror() with strerror_r() accross the whole tools/perf/ tree (Masami Hiramatsu) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d3ac21cacc24790eb45d735769f35753f5b56ceb Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Sun Aug 17 19:41:09 2014 -0500 mm: Support compiling out madvise and fadvise Many embedded systems will not need these syscalls, and omitting them saves space. Add a new EXPERT config option CONFIG_ADVISE_SYSCALLS (default y) to support compiling them out. bloat-o-meter: add/remove: 0/3 grow/shrink: 0/0 up/down: 0/-2250 (-2250) function old new delta sys_fadvise64 57 - -57 sys_fadvise64_64 691 - -691 sys_madvise 1502 - -1502 Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 874ee23c83d888f8824305c277e047c7799f30b9 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Aug 13 17:07:15 2014 -0700 ARM: shmobile: defconfig: enable initrd Enable initrd support. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> [horms+renesas@xxxxxxxxxxxx: dropped enabling atag dtb compat] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3a73aeff37c2e425b11d19c19e42e8269d58d417 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Aug 2 19:22:04 2014 +0530 can: mcp251x: Use dmam_alloc_coherent This patch moves the data allocated using dma_alloc_coherent to the corresponding managed interface and does away with the calls to free the allocated memory in the probe and remove functions. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit b25a437206ed5d45087bc40bd48bc34ce3bfa008 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Thu Aug 7 09:17:24 2014 +0100 can: dev: remove unused variable from can_calc_bittiming() function this patch removes best_rate variable from can_calc_bittiming() function which was set but was never used. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit a268de6c68e4933234e9ac62f2ab7ff8264ce0b4 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 01:25:53 2014 +0400 can: rcar_can: add device tree support Add support of the device tree probing for the Renesas R-Car CAN controllers. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 632e25ca722e5361a1b40d89e77808f8f1c6799f Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 01:24:25 2014 +0400 can: rcar_can: document device tree bindings Document the R-Car CAN device tree bindings. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 862e2b6af9413b43ef044979b934cab07bfd33e5 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 01:23:32 2014 +0400 can: rcar_can: support all input clocks When writing the driver, I didn't give enough attention to the possible sources of the CAN clock: although the value of the CLKR register was specified by the platform data, the driver only handled one case, that is CAN clock being sourced from the clkp1 clock, the same that clocks the whole CAN module. In order to fix that overlook, we'll have to handle the CAN clock separately from the peripheral clock (however, clkp1 will be specified for a CAN device only once)... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit e0d1f4816f2a7e311321db40ce69fbb1a4b1f1cf Author: Dong Aisheng <b29396@xxxxxxxxxxxxx> Date: Wed Jul 16 17:30:50 2014 +0800 can: m_can: add Bosch M_CAN controller support The patch adds the basic CAN TX/RX function support for Bosch M_CAN controller. For TX, only one dedicated tx buffer is used for sending data. For RX, RXFIFO 0 is used for receiving data to avoid overflow. Rx FIFO 1 and Rx Buffers are not used currently, as well as Tx Event FIFO. Due to the message ram can be shared by multi m_can instances and the fifo element is configurable which is SoC dependant, the design is to parse the message ram related configuration data from device tree rather than hardcode define it in driver which can make the message ram sharing fully transparent to M_CAN controller driver, then we can gain better driver maintainability and future features upgrade. M_CAN also supports CANFD protocol features like data payload up to 64 bytes and bitrate switch at runtime, however, this patch still does not add the support for these features. Cc: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Cc: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Cc: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> [mkl: Squahed semicolon cleanup by Fengguang Wu] Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit e35430807dad7f89e2a27e70ea1d6c29819cb749 Author: Dong Aisheng <b29396@xxxxxxxxxxxxx> Date: Wed Jul 16 17:30:49 2014 +0800 can: m_can: add device tree binding documentation add M_CAN device tree binding documentation Cc: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Cc: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Cc: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit cdce844865bea6869b34bacc98af3711774f5bb5 Author: Stefan Agner <stefan@xxxxxxxx> Date: Tue Jul 15 14:56:21 2014 +0200 can: flexcan: add vf610 support for FlexCAN Extend FlexCAN driver to support Vybrid. Vybrids variant of the IP has ECC support which is controlled through the memory error control register (MECR). There is also an errata which leads to false positive error detections (ID e5295). This patch disables the memory error detection completely. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit ec56acfef2af184ca485ffeba16adbd56c110c94 Author: Stefan Agner <stefan@xxxxxxxx> Date: Tue Jul 15 14:56:20 2014 +0200 can: flexcan: flexcan_get_berr_counter(): switch on clocks before accessing ecr register The funcion flexcan_get_berr_counter() may be called from userspace even if the interface is down, this the clocks are disabled. This patch switches on the clocks before accessing the ecr register. Reported-by: Ashutosh Singh <ashuleapyear@xxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 4ade6feb52262eae0c40d6714e3446bfa4d19a5f Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sun Aug 17 17:38:24 2014 -0500 net: can: use kbuild magic to inherit debug settings No need to manually copy debug settings into subdir Makefiles. kbuild has a mechanism for inheriting, so let's use it. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 9def39be4e960917fcb80514ff23651f9ec97193 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Wed Oct 30 08:09:45 2013 -0700 x86: Support compiling out human-friendly processor feature names The table mapping CPUID bits to human-readable strings takes up a non-trivial amount of space, and only exists to support /proc/cpuinfo and a couple of kernel messages. Since programs depend on the format of /proc/cpuinfo, force inclusion of the table when building with /proc support; otherwise, support omitting that table to save space, in which case the kernel messages will print features numerically instead. In addition to saving 1408 bytes out of vmlinux, this also saves 1373 bytes out of the uncompressed setup code, which contributes directly to the size of bzImage. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 39f838e06f46576694d425ac30fe8ff1e214fc0b Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Wed Oct 30 14:21:53 2013 +0000 x86: Drop support for /proc files when !CONFIG_PROC_FS arch/x86/kernel/cpu/proc.c only exists to support files in /proc; omit that file when compiling without CONFIG_PROC_FS. Saves 645 additional bytes on 32-bit x86 when !CONFIG_PROC_FS: add/remove: 0/5 grow/shrink: 0/0 up/down: 0/-645 (-645) function old new delta c_stop 1 - -1 c_next 11 - -11 cpuinfo_op 16 - -16 c_start 24 - -24 show_cpuinfo 593 - -593 Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 3afed06a355b5525d9a87bcb76567ef2e2e7b3a2 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Mon Mar 10 13:26:10 2014 -0700 x86, boot: Don't compile early_serial_console.c when !CONFIG_EARLY_PRINTK All the code in early_serial_console.c gets compiled out if !CONFIG_EARLY_PRINTK, but early_serial_console.o itself still gets compiled in. Eliminate it from the compile entirely in that case. This does not change the generated code at all, in either case. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 9e6abd2a98ca599e0efb8c46acc17f17dc1a6fe9 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Mon Mar 10 13:11:26 2014 -0700 x86, boot: Don't compile aslr.c when !CONFIG_RANDOMIZE_BASE All the code in aslr.c gets compiled out if !CONFIG_RANDOMIZE_BASE, but aslr.o itself still gets compiled in. Eliminate it from the compile entirely in that case. This does not change the generated code at all, in either case. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 9a1cb47112eff140659f04c261ca19fb1f002607 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Mon Mar 10 13:03:10 2014 -0700 x86, boot: Use the usual -y -n mechanism for objects in vmlinux Switch VMLINUX_OBJS to vmlinux-objs-y, to eliminate Makefile conditionals in favor of vmlinux-objs-$(CONFIG_*) constructs. This does not change the generated code at all. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 89323f8c504a8653c66fe4a314723b36b07e29e1 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Jul 23 17:40:30 2014 +0300 irqchip: keystone: Add irq controller ip driver On Keystone SOCs, DSP cores can send interrupts to ARM host using the IRQ controller IP. It provides 28 IRQ signals to ARM. The IRQ handler running on HOST OS can identify DSP signal source by analyzing SRCCx bits in IPCARx registers. This is one of the component used by the IPC mechanism used on Keystone SOCs. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Link: https://lkml.kernel.org/r/1406126430-9978-1-git-send-email-grygorii.strashko@xxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9dfb5c417c3210fe84a74b4cd30549e06962bd06 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:41 2014 -0300 ARM: mvebu: Add proper pin muxing on Armada 370 RD board This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces Only the second network interface is pin muxed. The first network interface is connected to the PHY using SGMII, which uses a dedicated SerDes lane. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-7-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a1451ab2f024be656fc1b5e560e5854b9d7e70fe Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:40 2014 -0300 ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 104 This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-6-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 8c640da6ac8b9a15429473114e0b8b248cf67080 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:39 2014 -0300 ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 102 This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-5-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit fea038ed55aec9a1dc59719e5e2728fe7e2148f8 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:38 2014 -0300 ARM: mvebu: Add proper pin muxing on the Armada 370 DB board This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-4-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 7d9d5d28ddb5b93a5445b5460d5da52d5143837f Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:37 2014 -0300 ARM: mvebu: Add proper pin muxing on Globalscale Mirabox board This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-3-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a43f99d260d30be8480f76b2c3eeb283a7115623 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:36 2014 -0300 ARM: mvebu: Add network pin mux configuration for the Armada 370 SoC This commit adds the pin mux configuration for the two network interfaces and the MDIO interface in the Armada 370 SoC .dtsi file. Only the configuration for RGMII is added for now. Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-2-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit dd2d62dfede7aa2bd87b3fb07db0c7450ca7ea41 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 16:32:02 2014 +0200 ARM: mvebu: Add RTC support for Armada 375 The Armada 375 SoC has the same real time clock as the one used in other Marvell EBU platforms. This patch consequently updates the Device Tree of the Armada 375 SoC to describe the internal RTC. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1406817122-15675-1-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ed7f92da59f24dd966555efef978fe14085b3318 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Sat Aug 16 16:58:08 2014 +0200 staging: dgnc: Remove unnecessary dgnc_Major_Control_Registered variable The dgnc_Major_Control_Registered variable purpose was to act as a flag to indicate if the character device has been successfully registered into the kernel. This flag was later checked in the module cleanup function to know if the character device needs to be deregistered. However the {device,class}_destroy and unregister_chrdev functions may be called with 'invalid' data perfectly fine. This means that this variable is not needed and can safely be removed which is what this commit does. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b3a07ede37d0c1a0985032c9f2044d71813282a Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Sat Aug 16 16:58:07 2014 +0200 staging: dgnc: Remove not needed dgnc_driver_start variable The dgnc_driver_start variable purpose was to indicate if the driver 'start' routine has been called. Now, because the 'start' routine can only be called once this variable is not needed thus this commit removes it. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3599abafcc51594f1629f19a6a12ff92f6e94017 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Sat Aug 16 16:58:06 2014 +0200 staging: dgnc: Remove driver-wide polling counter variable The polling counter variable is only exposed via sysfs and has no other purpose. Now, since the polling shall be implemented as a board specific feature rather than being global in the driver this counter is obsolete. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d8c5aa329e7a7a17d9c99122d89d76663195ddb Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Sat Aug 16 16:58:05 2014 +0200 staging: dgnc: Remove driver-wide state variable This commit removes the driver's global state variable. This is ok because the state was changed only once at the end of init phase thus the future usage of this variable is pointless. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2fd2914a2e456048e2a176185cb8e7576def452c Author: Purnendu Kapadia <pro8linux@xxxxxxxxx> Date: Fri Aug 15 18:20:30 2014 +0100 staging: android: fix attribute as suggested by checkpatch we should use __packed attribute Signed-off-by: Purnendu Kapadia <pro8linux@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 230fa11f5fab094512b6ad131ae1de86b12466f2 Author: Jeshwanth Kumar N K <jeshkumar555@xxxxxxxxx> Date: Fri Aug 15 01:41:04 2014 +0530 staging: wlan-ng: prism2mgmt.c Fix break not useful Fixed up warnings, break is not useful after return statement. And the exit Label is deleted, now returning inline. Signed-off-by: Jeshwanth Kumar N K <jeshkumar555@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b553a1a81565b14efb00ac4c984fb74106666503 Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Sun Aug 17 00:07:32 2014 +0530 staging: lustre: lustre: libcfs: pr_warn instead printk This patch fixes the following warning using checkpatch.pl WARNING: Prefer [subsystem eg: netdev]_warn([subsystem]dev, ... then dev_warn(dev, ... then pr_warn(... to printk(KERN_WARNING ... Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74bb9d4fef9ff789094e85ee1324616611d77baa Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Sun Aug 17 00:27:48 2014 +0530 staging: lustre: lustre: libcfs: do not use assignment in if condition This patch fixes the following error using checkpatch.pl Error: do not use assignment in if condition Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21aef7d9d654416b8167ad8047a628d3968a97da Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Aug 15 12:55:56 2014 -0400 staging/lustre: get rid of obd_* typedefs We have a bunch of typedefs for common things that made no sense and hid the actual type from plain view. Replace them with proper uXX or sXX types. Exception is in lustre_idl.h where they are replaced with __uXX and __sXX to be able to be included in userspace Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 114acca8ef16f21c5d50f16d154d05ffddb20049 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Aug 15 12:55:55 2014 -0400 staging/lustre: get rid of seqno_t and mdsno_t typedefs seqno_t is u64 and mdsno_t is u32 so just use them as such. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48caf5a060491edb2e1793539dad72e70c54c869 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Aug 17 09:17:04 2014 -0700 staging: vt6655: Convert DBG_PRT to pr_<level> DBG_PRT uses are unnecessarily complex. Convert DBG_PRT msglevel to pr_<level>. This changes the KERN_<level> type of several uses. It also enables dynamic_debug for the pr_debug conversions. This patch can be a prelude to converting these pr_<level> uses to dev_<level> as appropriate. Other changes: Realign arguments of these conversions. Remove now unused static int msglevel declarations. Remove now unused DBG_PRT #define. Compile tested only. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7b09efacf54210be511450768c0ee98071feb7f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Aug 15 12:48:13 2014 -0400 staging/lustre/llite: Fix integer overflow in ll_fid2path Reported by Dan Carpenter <dan.carpenter@xxxxxxxxxx> outsize = sizeof(*gfout) + gfin->gf_pathlen; Where outsize is int and gf_pathlen is u32 from userspace can lead to integer overflowwhere outsize is some small number less than sizeof(*gfout) Add a check for pathlen to be of sensical size. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11412 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5476 Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b358b4ea5b2912726d872611089e790a8388b62 Author: Frank Zago <fzago@xxxxxxxx> Date: Fri Aug 15 12:48:12 2014 -0400 staging/lustre/llite: optimize ll_fid2path() The only parameter from userspace that matters is the length of the buffer. We don't need to allocate then import the whole structure. By importing only that length, we can save a memory allocation. Add sparse annotations to that function. Signed-off-by: frank zago <fzago@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/11167 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5389 Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6ee56fe2afe10cf855de8d11b6097fa82c26163 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Aug 15 12:48:11 2014 -0400 staging/lustre/llite: hold inode mutex around ll_setattr_raw() ll_setattr_raw() expects to be called with the inode mutex held so do when calling it from ll_hsm_import(). Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11349 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5456 Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Reviewed-by: Faccini Bruno <bruno.faccini@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7acd3376387dbf55f76cc77e7dbc870c2719aff Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Aug 15 12:48:10 2014 -0400 staging/lustre/clio: reorder initialization in cl_req_alloc() In cl_req_alloc() ensure that the list heads crq_pages and crq_layers have been initialized before passing the request to cl_req_completion(). This fixes an oops in the error path. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11009 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5290 Reviewed-by: Bobi Jam <bobijam@xxxxxxxxx> Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f261f48a39dd3349e5980cdc40604d78ea587ffc Author: Fan Yong <fan.yong@xxxxxxxxx> Date: Fri Aug 15 12:48:09 2014 -0400 staging/lustre/ldlm: drop redundant ibits lock interoperability check In very old release (older than Lustre-1.8), if the client talks with the server that does not support ibits lock, then the client needs to convert it as plain lock. Such interoperability check and convertion is out of date for a long time. Drop it. Signed-off-by: Fan Yong <fan.yong@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11004 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4971 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: wangdi <di.wang@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6aa5107281ea065b9a7818a1c640e022d41a421b Author: Paul Cassella <cassella@xxxxxxxx> Date: Fri Aug 15 12:48:08 2014 -0400 staging/lustre/llite: Make sure ft_flags is valid In ll_fault0, the 'fault' struct is mostly cleared before the call to cl_io_loop, but ft_flags is not reset. It is ordinarily set by the call to filemap_fault in vvp_io_kernel_fault, but if Lustre returns before calling filemap_fault, it still has the old value of ft_flags. ll_fault0 will then consume the ft_flags field. If it has the VM_FAULT_RETRY bit set, it will be used as ll_fault0() and ll_fault()'s return value. This is a problem when VM_FAULT_RETRY is in ft_flags: When fault/filemap_fault return with that flag set, they have already released the mmap semaphore, and do_page_fault does not need to release it. Incorrectly returning this flag from ll_fault means mmap_sem is not upped in the kernel's do_page_fault(). In addition to clearing ft_flags, this patch does not use it unless it is valid. It's potentially misleading to return ft_flags in "fault_ret" if ft_flags has not been set by filemap_fault. This adds clarity, but does not change the current behavior: When not valid, ft_flags is replaced by fault_ret, which is zero, as is ft_flags when not set by filemap_fault. Signed-off-by: Patrick Farrell <paf@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/10956 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5291 Reviewed-by: Bobi Jam <bobijam@xxxxxxxxx> Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7591805af511b7f71fec87c69a539d1d0cfb93a1 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Aug 15 12:48:07 2014 -0400 staging/lustre/mdc: cleanup intent if mdc_finish_enqueue() fails In mdc_enqueue() clear the lock handle, lock mode, and request stored in the lookup intent if mdc_finish_enqueue() fails. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/10963 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5289 Reviewed-by: Lai Siyao <lai.siyao@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b2eb32e697d151ebaf52f9b0304d16f63a27b43 Author: Nathaniel Clark <nathaniel.l.clark@xxxxxxxxx> Date: Fri Aug 15 12:48:06 2014 -0400 staging/lustre/llite: check for integer overflow in hsm user request Check to make sure total size of request does not overflow when calculated. Return -1 from hur_len() if it does overflow. Signed-off-by: Nathaniel Clark <nathaniel.l.clark@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/10615 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4984 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7b43d0c992c3ec3e8d9285c3fb5e1e0eb0d031a Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Aug 12 11:41:40 2014 -0400 nfsd4: reserve adequate space for LOCK op As of 8c7424cff6 "nfsd4: don't try to encode conflicting owner if low on space", we permit the server to process a LOCK operation even if there might not be space to return the conflicting lockowner, because we've made returning the conflicting lockowner optional. However, the rpc server still wants to know the most we might possibly return, so we need to take into account the possible conflicting lockowner in the svc_reserve_space() call here. Symptoms were log messages like "RPC request reserved 88 but used 108". Fixes: 8c7424cff6 "nfsd4: don't try to encode conflicting owner if low on space" Reported-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 1383bf37ce2554d7632f21ee03f3ea815edaf933 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Mon Aug 11 16:41:05 2014 -0400 nfsd4: remove obsolete comment We do what Neil suggests now. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 63bab0651be0ba857200219a08644e6a99f448b6 Author: Ross Lagerwall <rosslagerwall@xxxxxxxxx> Date: Sat Aug 9 14:44:00 2014 +0100 nfsd3: Check write permission after checking existence When creating a file that already exists in a read-only directory with O_EXCL, the NFSv3 server returns EACCES rather than EEXIST (which local files and the NFSv4 server return). Fix this by checking the MAY_CREATE permission only if the file does not exist. Since this already happens in do_nfsd_create, the check in nfsd3_proc_create can simply be removed. Signed-off-by: Ross Lagerwall <rosslagerwall@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit afbda402a02bde74f350ff98243265dfd3108fb3 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Sat Aug 9 10:22:41 2014 -0400 nfsd: call nfs4_put_deleg_lease outside of state_lock Currently, we hold the state_lock when releasing the lease. That's potentially problematic in the future if we allow for setlease methods that can sleep. Move the nfs4_put_deleg_lease call out of the delegation unhashing routine (which was always a bit goofy anyway), and into the unlocked sections of the callers of unhash_delegation_locked. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6bcc034eac79873468cdfd1ccea9f25ee67c4500 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Sat Aug 9 10:22:40 2014 -0400 nfsd: protect lease-related nfs4_file fields with fi_lock Currently these fields are protected with the state_lock, but that doesn't really make a lot of sense. These fields are "private" to the nfs4_file, and can be protected with the more granular fi_lock. The fi_lock is already held when setting these fields. Make the code hold the fp->fi_lock when clearing the lease-related fields in the nfs4_file, and no longer require that the state_lock be held when calling into this function. To prevent lock inversion with the i_lock, we also move the vfs_setlease and fput calls outside of the fi_lock. This also sets us up for allowing vfs_setlease calls to block in the future. Finally, remove a redundant NULL pointer check. unhash_delegation_locked locks the fp->fi_lock prior to that check, so fp in that function must never be NULL. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ef9b16dc6de692865e898a35e750119b5b9c82c5 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:25 2014 -0400 nfsd: Reorder nfsd_cache_match to check more powerful discriminators first We would normally expect the xid and the checksum to be the best discriminators. Check them before looking at the procedure number, etc. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 89a26b3d295d35fefcc994cb0cf3817d0ff432d5 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:24 2014 -0400 nfsd: split DRC global spinlock into per-bucket locks Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 31e60f52224197dc989a82237905dfe643183f7c Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:23 2014 -0400 nfsd: convert num_drc_entries to an atomic_t ...so we can remove the spinlocking around it. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 11acf6ef3b58abd1c5eb94eaa38ed3b9dbc387f7 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:22 2014 -0400 nfsd: Remove the cache_hash list Now that the lru list is per-bucket, we don't need a second list for searches. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit bedd4b61a46d0398192a08fbe6821d1ac65aba84 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:21 2014 -0400 nfsd: convert the lru list into a per-bucket thing Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7142b98d9fd7cec4e5218869ec547f30068c8daf Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:20 2014 -0400 nfsd: Clean up drc cache in preparation for global spinlock elimination Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit f8d1ff47b6858c1a26a658060c18a778696636db Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:13 2014 -0400 SUNRPC: Optimise away svc_recv_available We really do not want to do ioctls in the server's fast path. Instead, let's use the fact that we managed to read a full record as the indicator that we should try to read the socket again. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 0c0746d03eac70e12bcb39e7f1c7f0a1dd31123c Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:12 2014 -0400 SUNRPC: More optimisations of svc_xprt_enqueue() Just move the transport locking out of the spin lock protected area altogether. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit a4aa8054a60c545f100826271ac9f04c34bf828d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:11 2014 -0400 SUNRPC: Fix broken kthread_should_stop test in svc_get_next_xprt We should definitely not be exiting svc_get_next_xprt() with the thread enqueued. Fix this by ensuring that we fall through to the dequeue. Also move the test itself outside the spin lock protected section. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 983c684466e02b21f83c025ea539deee6c0aeac0 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:10 2014 -0400 SUNRPC: get rid of the request wait queue We're always _only_ waking up tasks from within the sp_threads list, so we know that they are enqueued and alive. The rq_wait waitqueue is just a distraction with extra atomic semantics. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 106f359cf4d613ebf54cb9f29721bb956fc3460e Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:09 2014 -0400 SUNRPC: Do not grab pool->sp_lock unnecessarily in svc_get_next_xprt Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 887999774aeca9375b3831dbe58bab02df7b327f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:08 2014 -0400 nfs: Ensure that nfs_callback_start_svc sets the server rq_task... Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit d6a7ce424f9e32b6a5589f6bb96e0d1381479d48 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:07 2014 -0400 lockd: Ensure that lockd_start_svc sets the server rq_task... Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9e5b208dc9b2460f83f218ef6a6a1b1309fcd6b0 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:06 2014 -0400 SUNRPC: Do not override wspace tests in svc_handle_xprt We already determined that there was enough wspace when we called svc_xprt_enqueue. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6391fffb7b6099fae0e869229279d147c47f617a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 16:18:22 2014 +0200 ASoC: ab8500-codec: Drop bank prefix from AB8500_GPIO_DIR4_REG register define The AB8500_GPIO_DIR4_REG register define has the bank for the register in the upper 8 bits and the register itself in the lower 8 bits. When passing it to abx500_{set,get}_register_interruptible() the upper bits get truncated which generates the following warning from sparse: sound/soc/codecs/ab8500-codec.c:1972:53: warning: cast truncates bits from constant value (1013 becomes 13) sound/soc/codecs/ab8500-codec.c:1980:53: warning: cast truncates bits from constant value (1013 becomes 13) The bank is passed separately to abx500_{set,get}_register_interruptible() so the code works fine as it is. Given that all users of AB8500_GPIO_DIR4_REG always truncate the upper 8 bits just remove them from the define. Also remove the unnecessary casts to u8. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e8a70c25b809367fc314743e1ba1dbf0159398a7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 16:18:21 2014 +0200 ASoC: samsung idma: Add proper annotation for casting iomem pointers It is not always possible to interchange iomem pointers with normal pointers, which why we have annotations for iomem pointers and warn when casting them to a normal pointer or vice versa. In this case the casting is fine and unfortunately necessary so add the proper annotations to tell code checkers that it is intentional. This silences the following warnings from sparse: sound/soc/samsung/idma.c:354:20: warning: incorrect type in argument 1 (different address spaces) expected void volatile [noderef] <asn:2>*addr got unsigned char *area sound/soc/samsung/idma.c:372:22: warning: cast removes address space of expression Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c7d1dfca999f58c65ed7b10c2f0945dd92db103 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 16:18:20 2014 +0200 ASoC: sh: Fix dma direction type dmaengine_prep_slave_single() expects a enum dma_transfer_direction and not a enum dma_data_direction. Since the integer representations of both DMA_TO_DEVICE and DMA_MEM_TO_DEV aswell as DMA_FROM_DEVICE and DMA_DEV_TO_MEM have the same value the code worked fine even though it was using the wrong type. Fixes the following warnings from sparse: sound/soc/sh/fsi.c:1307:42: warning: mixing different enum types sound/soc/sh/fsi.c:1307:42: int enum dma_data_direction versus sound/soc/sh/fsi.c:1307:42: int enum dma_transfer_direction Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d80a12f92466d0bc4fd244c9052a8a88518c868e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 16:18:18 2014 +0200 ASoC: odrodix2_max98090: Make non exported symbols static odroidx2_drvdata and odroidu3_drvdata are not used outside this module so make them static (and also const while we are at it). Fixes the following warnings from sparse: sound/soc/samsung/odroidx2_max98090.c:69:26: warning: symbol 'odroidx2_drvdata' was not declared. Should it be static? sound/soc/samsung/odroidx2_max98090.c:74:26: warning: symbol 'odroidu3_drvdata' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 371e07ec837464375fe4d7ef3bd13e13cdfbb458 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 16:18:17 2014 +0200 ASoC: edma-pcm: Include edma-pcm.h edma_pcm_platform_register() is declared in edma-pcm.h and defined in edma-pcm.c. To make sure that the function signature matches for both edma-pcm.c should include edma-pcm.h Fixes the following sparse warning: sound/soc/davinci/edma-pcm.c:48:5: warning: symbol 'edma_pcm_platform_register' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1d3e6a6985c14f0510ebbd81fb9e8c02b24f8791 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 17 18:34:48 2014 +0800 regulator: da9211: Check return value of devm_kzalloc() Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9ba1e456e1fa3729fc6be73403a7b2083f9590eb Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 17 12:08:57 2014 +0200 regmap: Add explicit dependencies to catch "select" misuse Add explicit dependencies for the various regmap modules, so Kconfig will print a warning message when another module selects a regmap module without fulfilling its dependencies. Without this, it's much more difficult to find out which module did the offending select. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8a36eaa2ff4a9452a78d799503b920b4e1a0ec31 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 12:03:05 2014 +0200 ASoC: dmic: Add to SND_SOC_ALL_CODECS Improve build coverage of the dmic driver. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1890f518d9dd62f02c23046890ce5c288906a045 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:16 2014 +0800 ARM: dts: sun8i: Add pin-muxing info for the i2c controllers This adds pin-muxing info for the i2c controller / port combinations which are known to be used on actual boards. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cd78d3f2d716c291481206d4f87f1eeb20278f24 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:15 2014 +0800 ARM: dts: sun8i: Enable mmc controller on ippo-q8h-v5 The card detect pin setting was taken from the original fex file, and is confirmed to work. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit eacda1f11fcb8e38cdc9954c1f9cce295315bcab Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:14 2014 +0800 ARM: dts: sun8i: Add mmc controller nodes Add nodes for the 3 mmc controllers found on A23 SoCs to the sun8i DTSI. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cdb6fd6798339efd6e1cb768d9d504929342b91b Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:13 2014 +0800 ARM: dts: sun8i: Add pin-muxing info for the mmc controllers This adds pin-muxing info for the mmc controller / port combinations which are known to be used on actual boards. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4b7ecb38d87045968f477a4a4e98b859cd66b9b4 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:12 2014 +0800 ARM: dts: sun8i: Add mmc clocks to the dtsi The MMC module clocks on sun8i are the same as those found on previous Allwinner SoCs, module 0 clocks. This patch adds the clocks nodes to the dtsi with existing drivers. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 1c602064e00a81b1600bed6b2fe17dffe80b01e0 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:11 2014 +0800 ARM: dts: sun8i: ippo-q8h: Add pinctrl properties for R_UART Now that we have R_PIO controller support and the pinmux for R_UART, add the correct pinctrl properties to the R_UART node. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 813097915853100d6cb0655c75f64e67a1ef57a8 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:10 2014 +0800 ARM: dts: sun8i: Add pin muxing option for R_UART R_UART is available on extra pads on certain tablets, which makes it ideal for use as a console. Here we add the pins for it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c4021571e35d10233d331773124568ef94cee66d Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:09 2014 +0800 ARM: dts: sun8i: Add pinmux set for uart0 uart0 on sun8i is only muxed with mmc0, which makes it a poor choice for the console. However, some tablets only have pads for uart0 available on the circuit board. Here we add the uart0 pinmux set for people who need it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b6a8711261b2979051832d1389d14c35dbf09dc6 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:08 2014 +0800 ARM: dts: sun8i: Add R_PIO controller node to the dtsi Now that we have a driver for the R_PIO controller, add the corresponding device node to the dtsi. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6b2b16f5790e4187e1b38dfe495ae08eda235485 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:07 2014 +0800 ARM: dts: sun8i: Add PIO controller node to the sun8i dtsi Now that we have a driver for the sun8i PIO controller, add the corresponding device node to the dtsi. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ffec7210e11bb06c970c83ea0c3f2d7a1142458f Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:10:02 2014 -0300 ARM: sun7i: dt: enable DMA on SPI All of our SPI controllers support DMA transfers, so let's add the properties here so they can be used when it's best to do so. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit fed4c5c676f41359c7dbee635bd98e25e54c40f4 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:10:01 2014 -0300 ARM: sun5i: dt: enable DMA on SPI All of our SPI controllers support DMA transfers, so let's add the properties here so they can be used when it's best to do so. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4192ff81174609e7d548e7a04d6fd940e860472e Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:10:00 2014 -0300 ARM: sun4i: dt: enable DMA on SPI All of our SPI controllers support DMA transfers, so let's add the properties here so they can be used when it's best to do so. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 316e0b0eebcfb030cdf265554fb34ef78380bf5f Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:09:59 2014 -0300 ARM: sun7i: dt: Add node to represent the DMA controller The A20 SoC has a sun4i-compatible DMA controller. Let's add a node to represent it on the device tree. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6a5775e482c4e6639090dd1a2c349d325da8732b Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:09:58 2014 -0300 ARM: sun5i: dt: Add nodes to represent the DMA controllers The A10S and A13 SoCs have sun4i-compatible DMA controllers. Let's add the corresponding nodes to represent them on the device tree. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 1324f53211398cd157edbedfe933fe21a9628b99 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:09:57 2014 -0300 ARM: sun4i: dt: Add node to represent the DMA controller Let's add a node to represent the A10 DMA controller on the device tree. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5e7004351a8f144400873f0ad34690ec7cc97f01 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jul 30 20:56:06 2014 +0800 ARM: dts: sun6i: add rtc device node Now that we have a driver for sun6i's rtc hardware, add a device node for it so we can use it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 3b1213f551145c124630fb592a8321724a40da32 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jul 30 20:56:07 2014 +0800 ARM: dts: sun8i: add rtc device node sun8i shares the same rtc hardware as sun6i. Now that we have a driver for it, add a device node to the DTSI for it so we can use it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ad8c3af8b75ff26c5c887f2101da653bdcd53a38 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 2 18:23:38 2014 +0200 ARM: shmobile: r7s72100: Remove legacy board support There's no legacy board anymore, genmai now boots with multiplatform support only. Remove the leftovers. Makefile.boot portion pointed out by Paul Bolle. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> [horms+renesas@xxxxxxxxxxxx: squashed in patch containing Makefile.boot change] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 05104c266ae9a1673d92a068e2eeb0059db8c075 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 2 18:23:37 2014 +0200 ARM: shmobile: r7s72100: genmai: Remove legacy board file The genmai board now boots using DT and multiplatform kernel with the same feature set as the legacy board. Remove the legacy board file and the board Kconfig option. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 71d03dabd6d3141872e23effd00345afe2ea2dab Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 2 18:23:36 2014 +0200 ARM: shmobile: r7s72100: genmai: Remove reference board file The genmai board now boots using the generic R7S72100 DT machine with the same feature set as the board file. Remove the board file. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d594c9775409a4276133db5e34dbd791329c5eae Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Aug 13 00:18:26 2014 +0400 ARM: shmobile: lager: add VIN1/ADV7180 device nodes Add the Lager board specific device node part for VIN1 (composite video in); add the device node for Analog Devices ADV7180 video decoder to IIC2 bus. Add the necessary subnodes to interconnect VIN1 and ADV7180 devices. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> [Sergei: rebased, edited changelog and summary] Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9f685bfc30edb4cba5d5ae142a9967cd0d74c40a Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Aug 13 00:16:18 2014 +0400 ARM: shmobile: r8a7790: add VIN device nodes Add device nodes for the four video input controllers on the R8A7790. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> [Sergei: renamed VIN device nodes, edited changelog] Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fbff66886b9c5f657b6649a264551ac572fae0b7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:09 2014 +0200 ARM: shmobile: r8a7790 dtsi: Enable DMA for MSIOF Add register sets used for access by the DMA engine, and DMA properties to the MSIOF nodes. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 37cf3d61a94790c6f12c6e6e7a28640b8531a8af Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:08 2014 +0200 ARM: shmobile: r8a7790 dtsi: Enable DMA for QSPI Add a DMA property to the QSPI node Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a5ce27f5f3285520496af0fe5282395ac07c4138 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:07 2014 +0200 ARM: shmobile: r8a7791 dtsi: Enable DMA for MSIOF Add register sets used for access by the DMA engine, and DMA properties to the MSIOF nodes. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 591f2fa4eb0aae09cd76d276bb59e25824a7d408 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:06 2014 +0200 ARM: shmobile: r8a7791 dtsi: Enable DMA for QSPI Add a DMA property to the QSPI node Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fde8feefc489652749920f18123ad9e48b427c5e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sat Jul 19 01:50:25 2014 +0200 ARM: shmobile: r8a7791: Add DMAC devices to DT Instantiate the two system DMA controllers in the r8a7791 device tree. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b9fea49c79f23212ff21ef2f305ea4ae865db860 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sat Jul 19 01:50:24 2014 +0200 ARM: shmobile: r8a7790: Add DMAC devices to DT Instantiate the two system DMA controllers in the r8a7790 device tree. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c819acdab3bf02795db6d16a17426e21c99c3c28 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sat Jul 19 01:50:23 2014 +0200 ARM: shmobile: r8a7790: Add DMAC clocks to DT Add the SYS-DMAC0 and SYS-DMAC1 clocks to the MSTP2 clock node. They will be used by the upcoming DMAC DT nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2cf088105db14c00ad69df09b9b4a37c2370ff44 Author: sergei.shtylyov@xxxxxxxxxxxxxxxxxx <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 6 22:38:22 2014 +0400 ARM: shmobile: koelsch: add VIN1/ADV7180 DT support Define the Koelsch board dependent part of the VIN1 device node. Add the device node for Analog Devices ADV7180 video decoder to I2C2 bus. Add the necessary subnodes to interconnect VIN1 and ADV7180 devices. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8d62f4f75320db5e95d3610547a26e4487c30742 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 2 04:05:54 2014 +0400 ARM: shmobile: henninger: add VIN0/ADV7180 DT support Define the Henninger board dependent part of the VIN0 device node. Add the device node for Analog Devices ADV7180 video decoder to I2C2 bus. Add the necessary subnodes to interconnect VIN0 and ADV7180 devices. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0b8d1d579b4130f33a8776691453238839cb1973 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 2 04:04:21 2014 +0400 ARM: shmobile: r8a7791: add VIN DT support Define the generic R8A7791 parts of the VIN[0-2] device nodes. Add aliases for the VIN[0-2] device nodes. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f7b98477f613a69b74ba4a715856630cc6508c0d Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Aug 4 15:51:48 2014 +0900 ARM: shmobile: Remove genmai_defconfig from MAINTAINERS The genmai defconfig file has been removed by 3ed27bd90d6d0c8b ("ARM: shmobile: genmai: remove defconfig") so remove its entry in the MAINTAINERS accordingly. Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6e3a4b191ee6db512c17197130b4e5170b3dabc3 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:28 2014 +0200 ARM: shmobile: marzen_defconfig: Enable missing hardware support Based on the DTS Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 387ded8e60bcb6190492f90a3ef25e2bcb0a97a1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:27 2014 +0200 ARM: shmobile: lager_defconfig: Enable missing hardware support Based on the DTS Notes: - MTD_SPI_NOR is a dependency for MTD_M25P80 since commit 03e296f613affcc2671c1e86d8c25ecad867204e ("mtd: m25p80: use the SPI nor framework") and commit e43b20619bdb6c851dd7b49cbd15e52875a785d4 ("mtd: spi-nor: shorten Kconfig naming"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 489610f3324dc1f94c816f4053215d7540871875 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:26 2014 +0200 ARM: shmobile: kzm9g_defconfig: Enable missing hardware support Based on the DTS Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1a194078571a0d060a230949cd1b4da259117ef0 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:25 2014 +0200 ARM: shmobile: koelsch_defconfig: Enable missing hardware support Based on the DTS Notes: - MTD_SPI_NOR is a dependency for MTD_M25P80 since commit 03e296f613affcc2671c1e86d8c25ecad867204e ("mtd: m25p80: use the SPI nor framework") and commit e43b20619bdb6c851dd7b49cbd15e52875a785d4 ("mtd: spi-nor: shorten Kconfig naming"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4f0c320be6164ab39af42867aa1ccf69475850b7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:24 2014 +0200 ARM: shmobile: bockw_defconfig: Enable missing hardware support Based on the DTS Notes: - MTD_SPI_NOR is a dependency for MTD_M25P80 since commit 03e296f613affcc2671c1e86d8c25ecad867204e ("mtd: m25p80: use the SPI nor framework") and commit e43b20619bdb6c851dd7b49cbd15e52875a785d4 ("mtd: spi-nor: shorten Kconfig naming"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2815d447f6538d11d0fbe88a2f3418905922ca0d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:23 2014 +0200 ARM: shmobile: ape6evm_defconfig: Enable missing hardware support Based on the DTS Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0f6442bef67d7f543d65d12e27006ceda8932b81 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:22 2014 +0200 ARM: shmobile: shmobile_defconfig: Enable missing hardware support Based on the DTSes Notes: - MTD_SPI_NOR is a dependency for MTD_M25P80 since commit 03e296f613affcc2671c1e86d8c25ecad867204e ("mtd: m25p80: use the SPI nor framework") and commit e43b20619bdb6c851dd7b49cbd15e52875a785d4 ("mtd: spi-nor: shorten Kconfig naming"), - I2C_RIIC was enabled in the old genmai_defconfig. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 54a06dde40f6a01e323d49390d78b8c9f1dfacc0 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 13 13:45:00 2014 +0200 ARM: shmobile: r8a7778: Add missing call to shmobile_init_late() Add the missing call to shmobile_init_late() to r8a7778_init_late(). This should make sure Suspend-to-RAM and CPUIdle are setup as expected on bockw. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9dddfcfacaadb5491b62233b893b510fa00da4e0 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:44 2014 +0200 ARM: shmobile: genmai-reference: Enable MTU2 in device tree No more device needs to be added from platform code when booting the reference platform, move MTU2 registration from setup-r7s72100.c to board-genmai.c and remove the now empty r7s72100_add_dt_devices() function. As the genmai_add_standard_devices() function is now identical to the default init_machine implementation, remove it as well. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9162d39ccb9400bfaed85630cf517c85861faa6f Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:40 2014 +0200 ARM: shmobile: r7s72100: Add MTU2 device to DT Add the MTU2 counter to the r7s72100 device tree and make it disabled by default. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> [horms+renesas@xxxxxxxxxxxx correct irq number] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5ecd7a5185008723056a4b70815aa017272ca751 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:43 2014 +0200 ARM: shmobile: marzen-reference: Enable TMU0 in device tree No more device needs to be added from platform code when booting the reference platform, remove the now empty r8a7779_add_standard_devices_dt() function completely. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6a1d9460df90f96e31922ad5c891c5c54a4c7f4e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:42 2014 +0200 ARM: shmobile: koelsch-reference: Enable CMT0 in device tree No more device needs to be added from platform code when booting the reference platform, remove the now empty r8a7791_add_dt_devices() function completely. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 247fd5ec6e9a41f9299df27be82104efc56e622b Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:41 2014 +0200 ARM: shmobile: lager-reference: Enable CMT0 in device tree No more device needs to be added from platform code when booting the reference platform, remove the now empty r8a7790_add_dt_devices() function completely. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ef890ea26a37884a21f592c3feccadb019e8a11b Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:39 2014 +0200 ARM: shmobile: r8a7779: Add TMU devices to DT Add the TMU0, TMU1 and TMU2 counters to the r8a7779 device tree and make them disabled by default. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ceaa18949a190cf335408751cac0de2a0de0b9e7 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:38 2014 +0200 ARM: shmobile: r8a7791: Add CMT devices to DT Add the CMT0 and CMT1 counters to the r8a7791 device tree and make them disabled by default. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 39cf6d73dc1ed11c7d5d2c96a0ccbbb868a7f3ce Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:37 2014 +0200 ARM: shmobile: r8a7790: Add CMT devices to DT Add the CMT0 and CMT1 counters to the r8a7790 device tree and make them disabled by default. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 855675f6e6a65688a7f4cf45b9b5a98cf6c6f5c3 Author: Nicolin Chen <Guangyu.Chen@xxxxxxxxxxxxx> Date: Mon Aug 4 15:07:25 2014 +0800 ASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode There is one design rule according to SAI's reference manual: If the transmitter bit clock and frame sync are to be used by both transmitter and receiver, the transmitter must be configured for asynchronous operation and the receiver for synchronous operation. And SYNC of TCR2 is a 2-width control bit: 00 Asynchronous mode. 01 Synchronous with receiver. 10 Synchronous with another SAI transmitter. 11 Synchronous with another SAI receiver. So the driver should have set SYNC bit of TCR2 to 0x0, and meanwhile set SYNC bit of RCR2 to 0x1 (Synchronous with transmitter). Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6be1f475e0ed2b4f9cd9c157d06e65178f4e84bb Merge: de0d712 769091e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Aug 16 17:22:36 2014 -0500 Merge branch 'fix/fsl-esai' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-fsl-esai commit afa93c9017fd48d4d5265854c75f5fcde0871548 Author: Chew, Chiau Ee <chiau.ee.chew@xxxxxxxxx> Date: Fri Jul 25 01:10:54 2014 +0800 spi/pxa2xx-pci: Add common clock framework support in PCI glue layer SPI PXA2XX core layer has dependency on common clock framework to obtain information on host supported clock rate. Thus, we setup the clock device in the PCI glue layer to enable PCI mode host pass in the clock rate information. Signed-off-by: Chew, Chiau Ee <chiau.ee.chew@xxxxxxxxx> Acked-by: Kweh, Hock Leong <hock.leong.kweh@xxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7e7292dba2155c1433ce9f9a819f1acb9090747b Author: Sean Cross <xobs@xxxxxxxxxx> Date: Thu Jul 31 10:43:37 2014 +0800 ASoC: fsl: add imx-es8328 machine driver This adds an initial machine driver for the ES8328 audio codec on Freescale boards. The driver supports headphones and an audio regulator for an onboard speaker amp. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e1a65374a3bcaf34eb67322b3e761965f333a66a Merge: 708b435 567e4f9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Aug 16 17:18:02 2014 -0500 Merge branch 'topic/es8328' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-fsl commit 567e4f98922ce5542f8c2aa469a0c6ddf182b6ea Author: Sean Cross <xobs@xxxxxxxxxx> Date: Thu Jul 31 10:43:36 2014 +0800 ASoC: add es8328 codec driver Add a codec driver for the Everest ES8328. It supports two separate audio outputs and two separate audio inputs. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d4f7facde1796c8b3eb2f79e1fd903d7b776972f Author: Sean Cross <xobs@xxxxxxxxxx> Date: Thu Jul 31 10:43:35 2014 +0800 devicetree: bindings: Add Everest Semicodunctor Everest Semiconductor makes audio codecs. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9c0b8fd1a5493d0c5ab2fb147e758ca556e80863 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:52:39 2014 +0200 spi: xilinx: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7a9f957b395fc08edc47620c01e8bb5b798caddb Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 7 14:07:43 2014 +0200 spi: sh-msiof: Fix transmit-only DMA transfers Fix tx/rx mixup, which broke transmit-only transfers. Introduced by commit 4240305f7cbdc7782aa8bc40cc702775d9ac0839 ("spi: sh-msiof: Fix leaking of unused DMA descriptors"). Reported-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5e7c719fe257214aeda3dadb502a4cf58209a61 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 7 14:07:42 2014 +0200 spi: sh-msiof: Return early in sh_msiof_dma_once() where possible Reported-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a6be4de6a24cbef6209e3a0fcddaee9e312a1f63 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:05 2014 +0200 spi: sh-msiof: Add DT support to DMA setup Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 52fba2b85d30075490db023642632032371505c2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:04 2014 +0200 spi: sh-msiof: Configure DMA slave bus width The new Renesas R-Car Gen2 DMA Controller driver (rcar-dmac) requires explicit configuration of the DMA slave bus width. Hardcode the DMA transfer size to 4 bytes, as MSIOF DMA is limited to 32-bit words. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e825b8dd2b363e9134006fb141825518a11b2bf4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:02 2014 +0200 spi: rspi: Add DT support to DMA setup Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a30b95a7d81cfc3442beb5a9635f22b19c97bbfc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:01 2014 +0200 spi: rspi: Configure DMA slave bus width to 8 bit The new Renesas R-Car Gen2 DMA Controller driver (rcar-dmac) requires explicit configuration of the DMA slave bus width. Hardcode the DMA transfer size to 1 byte for both directions, as that's the only supported configuration (16-bit DMA support was removed in commit 9c5de2c1754c2bb3c69c4d7bf0d0edc0a61d8232 ("spi: rspi: Remove unused 16-bit DMA support")). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 43937455c9bf294cffc2f25c4a4d0a1b9bbd88e6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:00 2014 +0200 spi: rspi: Use devm_kasprintf() Use the devm_kasprintf() helper function instead of open coding error-prone buffer handling and string formatting. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d64b472678e17ef9afb251577f4f544793483fa9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:58:59 2014 +0200 spi: rspi: Remove unneeded semicolon Introduced by commit 426ef76dd8a394a0e04d096941cd9acb49539a3e ("spi: rspi: Add DT support"). Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9f5b8b4f56dd194fd33021810636879036d2acdd Author: Nick Krause <xerofoiffy@xxxxxxxxx> Date: Wed Aug 6 13:53:17 2014 -0400 spi: omap-100k: Remove unused definitions Remove unused definition which cause the following warnings drivers/spi/spi-omap-100k.c:73:0: warning: "WRITE" redefined [enabled by default] include/linux/fs.h:193:0: note: this is the location of the previous definition drivers/spi/spi-omap-100k.c:74:0: warning: "READ" redefined [enabled by default] include/linux/fs.h:192:0: note: this is the location of the previous definition Signed-off-by: Nick Krause <xerofoiffy@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e67f04c9187b76c9824c31b4aeb7b79dd36cb735 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:52:40 2014 +0200 spi: cadence: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dfe8f1f3f22f9922e773ae64f5621f290cb26023 Author: Nikesh Oswal <nikesh@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 10:05:45 2014 +0100 ASoC: wm8994: Demux the microphone detection IRQ Current code only allows direct routing of the WM8994 microphone detection signal to a GPIO this change adds support to demux the interrupt from the main interrupt line of the codec. Signed-off-by: Nikesh Oswal <nikesh@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a7a8e994ddd004fbabfcf04c26c204297b5f826d Author: Dan Murphy <dmurphy@xxxxxx> Date: Fri Aug 1 10:57:04 2014 -0500 ASoC: tas2552: Add DAPM calls for amp and PLL Add DAPM calls to enable/disable the Class D amp. Also add a DAPM call to turn off the PLL upon the stream completing. Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0d985b1c76623747107dbab1052044d6bac3866d Author: Rongjun Ying <rongjun.ying@xxxxxxx> Date: Wed Aug 13 16:31:40 2014 +0800 ASoC: sirf: usp: Add bitclock inversion support Signed-off-by: Rongjun Ying <rongjun.ying@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a493b6a637e9d8e828d7ed4be4bdf24dfd1f9250 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Aug 8 12:07:49 2014 +0200 ASoC: rsnd: delete unneeded test before of_node_put Of_node_put supports NULL as its argument, so the initial test is not necessary. Suggested by Uwe Kleine-König. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression e; @@ -if (e) of_node_put(e); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d8499c9b4b03ca88d7c7b4094cb09471658df7c2 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 4 15:15:55 2014 +0530 ASoC: Intel: add mrfld DSP defines We define the DSP commands,structures here which will be used to send the IPCs Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b12b087c8715286b8759016f1d5c36cac0bb37f6 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Mon Aug 4 15:04:21 2014 +0530 ASoC: Intel: mfld-pcm: Change sst_ops prototypes to take dev parameter sst_ops need to use the sst driver context. So pass sst device as argument, which can be used to retrieve sst context. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5981c2d6db2ef16d96ee4d1c4d3ddff4ad9d8ebc Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Mon Aug 4 15:04:20 2014 +0530 ASoC: Intel: mfld-pcm: Use function instead of ioctl Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ea5edfe2f1ce5b2254a5ec4c1bb224fac48c3153 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 4 15:04:19 2014 +0530 ASoC: Intel: Fix to use byte control interface Using a byte control interface instead of generic_params ioctl. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ce7344a4ebabe90e064d3e087727f45624cdc942 Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Fri Aug 8 18:41:19 2014 +0800 ASoC: fsl_sai: Make Synchronous and Asynchronous modes exclusive The previous patch (ASoC: fsl_sai: Add asynchronous mode support) added new Device Tree bindings for Asynchronous and Synchronous modes support. However, these two shall not be present at the same time. So this patch just simply makes them exclusive so as to avoid incorrect Device Tree binding usage. Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 08fdf65e37d560581233e06a659f73deeb3766f9 Author: Nicolin Chen <Guangyu.Chen@xxxxxxxxxxxxx> Date: Tue Aug 5 15:32:05 2014 +0800 ASoC: fsl_sai: Add asynchronous mode support SAI supports these operation modes: 1) asynchronous mode Both Tx and Rx are set to be asynchronous. 2) synchronous mode (Rx sync with Tx) Tx is set to be asynchronous, Rx is set to be synchronous. 3) synchronous mode (Tx sync with Rx) Rx is set to be asynchronous, Tx is set to be synchronous. 4) synchronous mode (Tx/Rx sync with another SAI's Tx) 5) synchronous mode (Tx/Rx sync with another SAI's Rx) * 4) and 5) are beyond this patch because they are related with another SAI. As the initial version of this SAI driver, it supported 2) as default while the others were totally missing. So this patch just adds supports for 1) and 3). Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af96ff5b7448dc776dc24a5c4313c6ec1ee94e53 Author: Nicolin Chen <Guangyu.Chen@xxxxxxxxxxxxx> Date: Mon Aug 4 15:07:25 2014 +0800 ASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode There is one design rule according to SAI's reference manual: If the transmitter bit clock and frame sync are to be used by both transmitter and receiver, the transmitter must be configured for asynchronous operation and the receiver for synchronous operation. And SYNC of TCR2 is a 2-width control bit: 00 Asynchronous mode. 01 Synchronous with receiver. 10 Synchronous with another SAI transmitter. 11 Synchronous with another SAI receiver. So the driver should have set SYNC bit of TCR2 to 0x0, and meanwhile set SYNC bit of RCR2 to 0x1 (Synchronous with transmitter). Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 376d1a92ca587d3974d4791cdb99baa8b8e7f0dd Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Tue Aug 5 17:20:21 2014 +0800 ASoC: fsl_sai: Initialize with software reset This patch adds software reset code in dai_probe() so as to make a true init by clearing SAI's internal logic, including the bit clock generation, status flags, and FIFO pointers. Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit de0d712a6dd1eed097dc6aa4f97ee461949414fe Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Fri Aug 8 14:47:21 2014 +0800 ASoC: fsl_esai: refine esai for TDM support Original driver didn't store the number of slots, just fix the slot number to 2, use this default number to calculate bclk and pins for TX/RX. In this patch, add one parameter for slots, and update the calculation of bclk and pins of TX/RX. Then driver will be compatible with slots > 2 in TDM mode. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 708b4351f08c08ea93f773fb9197bdd3f3b08273 Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Wed Jul 30 19:27:38 2014 +0800 ASoC: fsl: Add Freescale Generic ASoC Sound Card with ASRC support The Freescale Generic ASoC Sound Card is a general ASoC DAI Link driver that can be used, ideally, for all Freescale CPU DAI drivers and external CODECs. The idea of this generic sound card is a bit like ASoC Simple Card. However, for Freescale SoCs (especially those released in recent years), most of them have ASRC (Documentation/devicetree/bindings/sound/fsl,asrc.txt) inside. And this is a specific feature that might be painstakingly controlled and merged into the Simple Card driver. So having this driver will allow all Freescale SoC users to benefit from the simplification to support a new card and the capability of wide sample rates support through ASRC. The driver is initially designed for sound card using I2S or PCM DAI formats. However, it's also possible to merge those non-I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, into this card as long as the merge will not break the original function and as long as there is something redundant that can be abstracted along with I2S type sound cards. As an initial version, it only supports three cards that I can test: imx-audio-cs42888, a new card that links ESAI with CS42888 CODEC imx-audio-sgtl5000, just like the old imx-sgtl5000.c driver imx-audio-wm8962, just like the old imx-wm8962.c driver The driver is also compatible with the old Device Tree bindings of WM8962 and SGTL5000. So we may consider to remove those two drivers after this driver is totally enabled. (It needs to be added into defconfig) Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38f57532ede565a3c71da7b7727369f374c51acb Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Thu Aug 7 09:34:38 2014 -0500 ASoC: cs35l32: fix compile warning for i2c_probe Forgot to add a return for err_disable goto statement. Causes compile warning of control reaching end of non-void Signed-off-by: Brian Austin <briann.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9cf44690204db563ba065ed856546dc8a8b742a1 Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Mon Aug 4 15:11:17 2014 -0500 ASoC: cs35l32: Add bindings for CS35L32 The patch adds device tree bindings file for the Cirrus Logic CS35L32 Signed-off-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eef5bb2445ca49911c93c08ed0fb2ea7363ea945 Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Mon Aug 4 15:11:16 2014 -0500 ASoC: cs35l32: Add support for CS35L32 Boosted Amplifier This patch adds support for the Cirrus Logic CS35L32 Boosted Amplifier I2S output provides monitor data to the SOC/CODEC/DSP for speaker protection/enhancement algorithms Signed-off-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8ad9f9efcc7656cafb56bbbcd545f817a742bf32 Author: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Date: Mon Jun 16 16:33:46 2014 +0200 ASoC: Drop const from struct snd_soc_dai_link *of_node members Dropping the const qualifiers prevents "passing argument 1 of â??of_node_putâ?? discards â??constâ?? qualifier from pointer target type" type warnings when compiling the code dropping reference to cpu_of_node, codec_of_node or platform_of_node with with an of_node_put() function call. This lets us to avoid casting to struct device_node * or caching variables internally in drivers just to be able to properly drop a reference to the OF node on clean up paths. Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 87ca186f7eb663fc5e52b65452a91fe0fec170a0 Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Wed Aug 13 19:33:42 2014 +0800 regulator: add driver for hi6421 voltage regulator Add driver support for HiSilicon Hi6421 voltage regulators. Two rules for regulator enabling are defined in hi6421 spec: 1) Between disable and enable of each regulator (LDOs or BUCKs), there must be a protection gap. Use @off_on_delay of regulator core to implement this. 2) No two regulators can be enabled at the same time. Use mutex in hi6421_regulator_pdata to ensure this. A protection gap of 100us is added into each LDO/BUCK's .enable_time. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd060bc92748ce77231b2cd2657510b77cd94dea Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Aug 16 12:30:58 2014 +0100 regmap: Restore L: linux-kernel@xxxxxxxxxxxxxxx entry As with commit 981c3a4ff85 (MAINTAINERS: Restore "L: linux-kernel@xxxxxxxxxxxxxxx" entries) restore the mailing list entry for the regmap framework in order to assist users in finding the list if they read the file instead of using get_maintainers.pl. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 275876e208e28abf4b96ec89030e482b1331ee75 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Tue Jul 15 12:23:03 2014 +0800 regmap: Add the DT binding documentation for endianness Device-Tree binding for device endianness Index Device Endianness properties --------------------------------------------------- 1 BE 'big-endian' 2 LE 'little-endian' For one device driver, which will run in different scenarios above on different SoCs using the devicetree, we need one way to simplify this. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d647c199510c2c126ac03ecbea51086e10126a40 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Tue Jul 15 12:23:02 2014 +0800 regmap: add DT endianness binding support. For many drivers which will support rich endianness of Devices need define DT properties by itself with the binding support. The endianness using regmap: Index Device Properties if needs bytes-swap, or just ignore it ------------------------------------------------------------- 1 BE 'big-endian' 2 LE 'little-endian' The properties include all the register values and the buffers. And these properties are very usful for the MMIO devices: Such as: a memory-mapped device, on one SoC is in BE mode, while in another SoC will be in LE mode, and the CPU will always in LE mode. For the first case, we must use cpu_to_be32/be32_to_cpu for 32-bit registers accessing, so the 'big-endian' property is needed. For the second case, we can just ignore the bytes-swap functions like cpu_to_le32/le32_to_cpu, so the 'little-endian' property could be abscent. And vice versa... Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 871f565055ed232e5751da18a331b73e8254adaf Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Wed Aug 13 19:33:40 2014 +0800 regulator: core: add guard delay between calling regulator_disable and _enable Some regulator require a minimum delay between its disable and next enable. This is to avoid damages when out-of-range frequent disable/enable of a single regulator can bring to the regulator chip. Add @off_on_delay to struct regulator_desc. Device drivers' can use this field to set this guard time. Add @last_off_jiffy to struct regulator_dev. When @off_on_delay is set by driver, regulator core can store its last off (disable) time into this field. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 79fd114161a764dfa456191af89358b3f5201c87 Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Wed Aug 13 19:33:39 2014 +0800 regulator: core: factor out delay function from _regulator_do_enable A common delay function can be helpful when implementing new features. Factor it out to maximize code reusability. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 272e2315fac3bfca0edfa3252b8a643c425602af Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Wed Aug 13 19:33:38 2014 +0800 regulator: core: add const qualifier to ops in struct regulator_desc struct regulator_ops *ops is a member in struct regulator_desc, which gets its value from individual regulator driver upon regulator_register() and is used by regulator core APIs. It's not allowed for regulator core to modify any of these callbacks in *ops. Add 'const' qualifier to enforce that. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 23b1134838efdb5872be7b75e86fae41e60ba629 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Feb 18 21:11:48 2014 +0800 regulator: tps65910: Allow missing init_data for diagnostics The regulator core supports this to allow the configuration to be inspected at runtime even if no software management is enabled. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9839d627c2a2c74facde9a9ee949f2ba0a1363b1 Author: Gyungoh Yoo <gyungoh@xxxxxxxxx> Date: Fri Aug 8 18:10:22 2014 +0900 regulator: sky81452: Adding Skyworks SKY81452 regulator driver Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5a867cf288934c26f3034ace189bda25700c68fa Author: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Date: Tue Jul 15 16:32:53 2014 +0530 regulator: s2mps11: Optimize the regulator description macro This patch makes the regulator description macro take minimum and steps voltage as parameter. In this way many repeated macros can be removed. Now these macros are repeated only if the the LDO/BUCK ctrl registers have non-linear positions. The good thing is these ctrl registers are mostly linear so they are not passed as parameters. This patch reduces the code size and also allow easy addition of more s2mpxxx PMIC drivers which differs a lot in minimum/step voltages. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d264fd4541753bf3fe2613805b3cab95b54a3f32 Author: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Date: Tue Jul 15 16:32:52 2014 +0530 regulator: s2mpa01: Optimize the regulator description macro This patch makes the regulator description macro take minimum and steps voltage as parameter. In this way many repeated macros can be removed. Now these macros are repeated only if the the LDO/BUCK ctrl registers have non-linear positions. The good thing is these ctrl registers are mostly linear so they are not passed as parameters. This patch reduces the code size and also allow easy addition of more s2mpxxx PMIC drivers which differs a lot in minimum/step voltages. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0e4f417857083f399769491f6e7773d111debd0f Author: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Date: Tue Jul 15 16:32:51 2014 +0530 regulator: s2mpxxx: Move regulator min/step voltages in common place This is a cleanup patch and moves min/step voltages in a common samsung header file so that they can be used by other s2mpxxx PMIC drivers. Only few required macros are added currently and others can be added if needed. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 005547e0828ce9064afebb1e6d56a18efd80e7a3 Author: James Ban <james.ban.opensource@xxxxxxxxxxx> Date: Fri Aug 8 14:27:04 2014 +0900 regulator: da9211: support DA9213 This is a patch for supporting DA9213. Signed-off-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5cdeb2c837ddcf5b67692816952d0f38e29c2d7b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Aug 16 12:31:11 2014 +0100 regulator: Restore L: linux-kernel@xxxxxxxxxxxxxxx entry As with commit 981c3a4ff85 (MAINTAINERS: Restore "L: linux-kernel@xxxxxxxxxxxxxxx" entries) restore the mailing list entry for the regulator framework in order to assist users in finding the list if they read the file instead of using get_maintainers.pl. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 91ff8cd8c3aae34a26b517506cc1ff809401a490 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Aug 11 11:47:29 2014 -0700 ARM: dts: Move the PMIC interrupt pinctrl line to rk3288-evb common The PMIC interrupt pinctrl line was added to the rk3288-evb-act8846, but it's the same line on both the ACT8846 version and the RK808 version. This makes a lot of sense since they share the same SoC daugherboard. Move the pinctrl definition to the common file so we can use it for the RK808 version. NOTE: The PMIC interrupt doesn't _actually_ go to the PMIC on the ACT8846 version of the board (it does on the RK808), but our convention is to label things as they're labelled on the schematics. In the very least you can argue that this is the interrupt from the PMIC daughtercard even if it doesn't actually go to the PMIC chip. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 2c31d9498cb85dcf37806237870e8ccf4dbf84e0 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Aug 12 16:21:14 2014 -0700 ARM: dts: Enable emmc and sdmmc on the rk3288-evb boards This enables basic SD and eMMC support. Things are not yet running at the fastest speed and we don't have the regulators specified, but we can at least use the eMMC and SD cards now. A note: * Though MMC DDR50 mode is partially supported in the dw_mmc rk3288-specific code in Addy's patch, Addy's patch doesn't add tuning support. That means DDR50 mode is not reliable. From the 3288 TRM: "Tuning is required for other speed modes-such as DDR50-even though the output delay from the card is less than one cycle." Thus, we don't enable MMC DDR50 mode in this patch. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 85095bf30f028f6dcb7d8177ab9b00425c11ca58 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Aug 12 16:21:13 2014 -0700 ARM: dts: Add emmc and sdmmc to the rk3288 device tree This adds support for the sdmmc and emmc ports on the rk3288. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 356649ab6d6412b256a2ff789e50ddbe5d78aaec Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Thu Aug 7 16:38:02 2014 +0900 ARM: dts: rockchip: unuse the slot-node and deprecate the supports-highspeed for dw-mmc dw-mmc controller can support multiple slots. But, there are no use-cases anywhere. So we don't need to support the slot-node for dw-mmc controller. And "supports-highspeed" property in dw-mmc is deprecated. "supports-highspeed" property can be replaced with "cap-sd/mmc-highspeed". Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Tushar Behera <trblinux@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit d41b7b74cfab08cf7a5c07fafac474af9dd51d9c Author: Artemiy Volkov <artemiyv@xxxxxxx> Date: Thu Aug 14 16:20:09 2014 +1000 Staging: wlan-ng: Merge string literals on adjacent lines in prism2fw.c This patch fixes the 'quoted string split across lines' checkpatch.pl warning in prism2fw.c. Signed-off-by: Artemiy Volkov <artemiyv@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72267c27fd5780e70d6ec4e920f8e3e27cafcbb7 Author: vibi sreenivasan <vibisreenivasan@xxxxxxxxxxxxx> Date: Tue Aug 12 14:39:27 2014 +0000 staging/mt29f_spinand: coding style fixes This patch fixes the coding style error : "WARNING: else is not generally useful after a break or return" reported by checkpatch.pl Signed-off-by: Vibi Sreenivasan <vibisreenivasan@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f01620914699679a26212affa358e5bbc5ede63e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:29 2014 -0700 staging: comedi: 8255: provide common defines for registers There are a couple comedi drivers that duplicate some of the register defines used by the 8255 module. Move these defines into the header so the duplication can be removed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c19084bbd4ef7c0a10e5b01145b940edf872a63 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:28 2014 -0700 staging: comedi: 8255: handle memory mapped io The drivers that use this module with memory mapped io all have the ioremap'ed base address stored in the comedi_device 'mmio' member. Introduce a default (*io) function that does 8-bit memory mapped io. Modify subdev_8255_init() so that it takes a flag parameter indicating if the io is port or memory mapped. Make the function static and rename it to __subdev_8255_init(). Introduce two exported wrappers for __subdev_8255_init(): subdev_8255_init() - for drivers that do 8-bit port io subdev_8255_mm_init() - for drivers that do 8-bit memory mapped io Use subdev_8255_mm_init() in the drivers that do 8-bit memory mapped io and remove the private (*io) functions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9067983867516a425d3382cb2eeeb234a2e8e3b6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:27 2014 -0700 staging: comedi: 8255: remove incomplete async command support The async command support in this module is incomplete and nothing has ever used it. Just remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4085e93b9fecfad454159694c19efc36e7ac1cdf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:26 2014 -0700 staging: comedi: 8255: refactor how the (*io) function works Currently, all users of is module that use the default (*io) function pass an 'iobase' to subdev_8255_init() of the form: dev->iobase + OFFSET_TO_8255_BASE_REG Now that the (*io) callback includes the comedi_device 'dev' pointer the 'dev->iobase' does not need to be included. Modify the default (*io) function, subdev_8255_io(), to automatically add the dev->iobase to the address when reading/writing the port. For aesthetics, rename the subdevice private data member to 'regbase'. Also, rename the local variables in this module that are used to access this member. Add a comment in dev_8255_attach() about the 'iobase' that is passed to subdev_8255_init(). For manually attached 8255 devices the io region is requested with __comedi_request_region() which does not set dev->iobase. For these devices the 'regbase' is actually the 'iobase'. Remove the, now unnecessary, dev->iobase from all the callers of subdev_8255_init(). There are a couple drivers that only passed the dev->iobase. For those drivers pass a 'regbase' of 0x00. Note that the das16m1 driver is a bit goofy. The devpriv->extra_iobase is requested using __comedi_request_region() which does not set the dev->iobase. But the starting address passed is dev->iobase + DAS16M1_82C55 so a 'regbase' of DAS16M1_82C55 is passed to subdev_8255_init(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b1a3fcfdf4067290cafffb5bc348c158e170fd7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:25 2014 -0700 staging: comedi: 8255_pci: tidy up pci_8255_mmio() The 8255 driver (*io) callback now includes the comedi_device pointer. Using this we can get the ioremap'ed base address. Instead of passing the (cast) mmio address to subdev_8255_init(), pass the 'iobase' of the 8255 registers (i * 4). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da261e1d38f5ed4baaebc45f51e628e7d84a2560 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:24 2014 -0700 staging: comedi: cb_pcidas64: tidy up dio_callback_4020() The 8255 driver (*io) callback now includes the comedi_device pointer. Using this we can get the ioremap'ed base address. Instead of passing the (cast) mmio address to subdev_8255_init(), pass the 'iobase' of the 8255 registers (I8255_4020_REG). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27fdf38574e63f21c14098b11f36d932cb3aaf25 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:23 2014 -0700 staging: comedi: cb_pcidas64: tidy up dio_callback() The 8255 driver (*io) callback now includes the comedi_device pointer. Using this we can get the ioremap'ed base address. Instead of passing the (cast) mmio address to subdev_8255_init(), pass the 'iobase' of the 8255 registers (DIO_8255_OFFSET). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4e29703c790ee1045a0c0b7181c948b9a45636a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:22 2014 -0700 staging: comedi: daqboard2000: tidy up daqboard2000_8255_cb() The 8255 driver (*io) callback now includes the comedi_device pointer. Using this we can get the ioremap'ed base address. Instead of passing the (cast) mmio address to subdev_8255_init(), pass the 'iobase' of the 8255 registers (dioP2ExpansionIO8Bit). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed8c80d0a4c65c062ee520cd167649b80afce16f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:21 2014 -0700 staging: comedi: ni_labpc: tidy up labpc_8255_mmio() The 8255 driver (*io) callback now includes the comedi_device pointer. Instead of passing the (cast) pointer to subdev_8255_init(), pass the 'iobase' of the 8255 registers (DIO_BASE_REG). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67393c4fef245f46863f50bc8a553f0608d7a05d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:20 2014 -0700 staging: comedi: ni_mio_common: tidy up ni_8255_callback() The 8255 driver (*io) callback now includes the comedi_device pointer. Instead of passing the (cast) pointer to subdev_8255_init(), pass the 'iobase' of the 8255 registers (Port_A). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09d6dd7490ee7f1dda926e309df370e28679a71c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:19 2014 -0700 staging: comedi: 8255: add a comedi_device param to the (*io) callback The 8255 driver uses an (*io) callback to read/write the registers of the 8255 device. The default callback provided by the driver uses inb()/outb() calls to access to registers based on an 'iobase' that was initialized during the subdev_8255_init() and a 'port' value. The users of this module can optionally provide a custom (*io) callback to handle the read/write in another manner. Make the (*io) callback a bit more flexible by also passing the comedi_device pointer as a parameter. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f9c63fe5333b27ab23ed399830c7977f6970744 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:18 2014 -0700 staging: comedi: amplc_pci230: refactor iobase addresses This driver uses two iobase addresses, found in PCI bars 2 and 3. Currently, the address in PCI bar 2 is saved in the private data as 'iobase1' and the address in PCI bar 3 is saved in the comedi_device as the 'iobase'. The 'iobase' is the base address of the daq registers (ai/ao) of the board. The 'iobase1' address is the base address of the 8255, 8254, configuration, and interrupt registers. Flip the saving of these base addresses. Save the address from PCI bar 2 in the comedi_device 'iobase' and the address from PCI bar 3 in the private data as 'daqio'. This will help with some cleanup of the 8255 module. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f254029bfda3924b5b3dfece85c3bb77b3c9c0c3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:17 2014 -0700 staging: comedi: cb_pcidda: refactor iobase addresses This driver uses two iobase addresses, found in PCI bars 2 and 3. Currently, the address in PCI bar 3 is saved in the comedi_device as the 'iobase' and the one in PCI bar 2 is just passed to subdev_8255_init() as the 'iobase' parameter. Save the PCI bar 3 address in the private data as 'daqio' and the address from PCI bar 2 in the comedi_device as the 'iobase'. This will help with some cleanup of the 8255 module. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49fca95c403c01d2a91119fa64b86d4291324d17 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:16 2014 -0700 staging: comedi: cb_pcimdas: refactor iobase addresses This driver uses three iobase addresses, found in PCI bars 2, 3, and 4. Currently, the address in PCI bar 2 is saved in the comedi_device as the 'iobase', the PCI bar 3 address is saved in the private data as 'BADR3' and the one in PCI bar 4 is just passed to subdev_8255_init() as the 'iobase' parameter. Flip the saving of the PCI bar 2 and 4 base addresses. Save the address from PCI bar 2 in the private data as the 'daqio' and the address from PCI bar 4 in the comedi_device as the 'iobase'. This will help with some cleanup of the 8255 module. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a94180cf224cf0c3136c09b3cde69561ba94bda Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:15 2014 -0700 staging: comedi: cb_pcidas: use dev->iobase for PCI bar 3 Currently the base address of the 8254 and 8255 devices, found in PCI bar 3, is saved in the private data as 'pacer_counter_dio'. The 'iobase' in the comedi_device is currently unused. Save the address from PCI bar 3 in the comedi_device and remove the unnecessary member from the private data. This will help with some cleanup of the 8255 module. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb83abed7dd79ae1f0471c53144934efa57d7919 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:23 2014 -0700 staging: comedi: amplc_dio200: remove dio200_common_detach() This exported function just does a free_irq() to release the interrupt handler for the legacy and PCI dio200 drivers. The legacy driver also calls comedi_legacy_detach() which would also do the free_irq(). For that driver the just use comedi_legacy_detach() directly for the (*detach). For the PCI driver, add the free_irq() to the private (*datach) function. Remove the, then unused, dio200_common_detach() function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 294de579db53a810cb179fb06909c2dbdf17b74d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:22 2014 -0700 staging: comedi: amplc_dio200: absorb dio200_subdev_timer_init() This function is only called by amplc_dio200_common_attach() and it can never fail. For aesthetics, absorb it into that function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3f6aa33ed102cc36c3e2308c81f10fec62439f9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:21 2014 -0700 staging: comedi: amplc_dio200.h: remove boardinfo 'mainshift' This member of the boardinfo is only set for the PCIE boards. Use the 'is_pcie' flag to determine if the offset needs to be shifted when reading/writing the registers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1b0cccc59a30df185a23938dbd761650ef12337 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:20 2014 -0700 staging: comedi: amplc_dio200.h: rename 'has_enhancements' in boardinfo This member of the boardinfor is only set for the PCIE boards. For aeshetics, rename it to 'is_pcie'. For clarity, use this flag in the (*auto_attach) to determine if the dio200_pcie_board_setup() function needs to be called instead of using the switch (context_model). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42c6767bf3f92ab2aca1845fadd2ae5c204fc951 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:19 2014 -0700 staging: comedi: amplc_dio200.h: remove unnecessary function comment descriptions The function names provide enough description. The extra comments are not necessary. Remove them. Also, tidy up some of the function declarations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6ce09504ddc81aec07ddfcb16ad3c5b80ab19d0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:18 2014 -0700 staging: comedi: amplc_dio200.h: remove struct dio200_layout definition This struct is used to provide part of the boardinfo data. Using the extra indirection does not provide any additional clarity to the driver. Absorb the members from dio200_layout into dio200_board and remove the extra 'layout' indirection. For aesthetics, rename all the local variables used for the boardinfo pointer to 'board'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 593d11c5a30f4049887dfad7ca2ac56a97c33c99 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:17 2014 -0700 staging: comedi: amplc_dio200: tidy up {comedi, pci}_driver declarations For aesthetics, add some whitespace to these declarations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 849db1aacd223b25826246171519413fad601df6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:16 2014 -0700 staging: comedi: amplc_dio200: tidy up comedi_driver declaration For aesthetics, add some whitespace to the declaration. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85d7c9ab5129e96d25b455d7bf45066c376e8e2d Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Mon Aug 11 21:03:48 2014 -0500 staging: comedi: addi_apci_1564: tidy register map defines This commit performs a final tidying of the register map defines, bringing them to a state that is ready for merging into addi_apci_1564.c when the time comes. Actions performed include: *Removes the APCI1564_ADDRESS_RANGE macro, which is no longer needed/used. *Renames the APCI1564_DIGITAL_OP_{VCC,CC}_INTERRUPT_{ENABLE,DISABLE} macros to shorter names which are more consistent with the digital input interrupt macros. *Fixes a typo in a comment (dev>iobase changed to dev->iobase). *Renames the APCI1564_TCW_* macros to APCI1564_COUNTER_* names to more accurately reflect that they are only offsets to counter registers (since only the counters are offset from dev->iobase). Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3249b881e800d7374799b8aa551f498c5d39741 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Mon Aug 11 21:03:19 2014 -0500 staging: comedi: addi_apci_1564: Remove in-driver watchdog support code Starting with commit 1496e5961113 ("staging: comedi: addi_apci_1564: use addi_watchdog module to init watchdog subdevice"), this driver uses the addi_watchdog module to provide support for the watchdog subdevice. Any remaining watchdog code in-driver can and should be removed. This will also make future work on the timer and counter subdevices easier. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecc33af33ea8f71e691db1c1000ead675dc4d34f Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Mon Aug 11 21:02:58 2014 -0500 staging: comedi: addi_apci_1564: remove apci1564_do_config The DO config function served the purpose of configuring the diagnostic interrupts for the board. As the driver currently does not support diagnostic interrupts, the digital output subdevice does not need an insn_config operation and this function can be safely removed. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dffac89e2480487e79bc2c3e773ee649cdf7f3c Author: Ramesh Basukala <basukalaramesh@xxxxxxxxx> Date: Thu Aug 14 10:11:44 2014 -0400 Staging: bmc: fix coding style warning This is a patch to the vendorspecificextn.c that fixes coding style warning message line over 80 characters found by checkpatch.pl script. I am submitting this patch as required by Eudyptula Challenge. Signed-off-by: Ramesh Basukala <basukalaramesh@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b66157f36aff92ec3d93502471a7d26f10d39436 Author: Phong Tran <tranmanphong@xxxxxxxxx> Date: Wed Aug 13 20:37:06 2014 +0700 staging: android: ion: Remove redundant return of void function This patch fix checkpatch.pl warning Tested by compilation only. Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04e14356d549fd1c5487f8a5be13eb4a59802fb3 Author: Phong Tran <tranmanphong@xxxxxxxxx> Date: Wed Aug 13 20:37:05 2014 +0700 staging: android: ion: ion.c Add a new blank line after decleration This patch fix checkpatch.pl warning Tested by compilation only. Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d320c455cb726cc0618ad9852982debc8af535b3 Author: Phong Tran <tranmanphong@xxxxxxxxx> Date: Wed Aug 13 20:37:04 2014 +0700 staging: android: ion: ion_dummy_driver.c Replace kzalloc() by kcalloc() This patch fix checkpatch.pl warning Tested by compilation only. Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4246e490b59bf68839f75fa4354e099105ff927a Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Sun Aug 10 20:39:57 2014 +0200 Staging: rtl8188eu: Removed unneeded code. This patch removes some unneeded code. 1) kzalloc() allocates 4 extra bytes so that we can align the return value. But actually the return value is already aligned so we can remove the + 4 and the call to N_BYTE_ALIGMENT(). 2) The memset() isn't needed because kzalloc() zeroes the allocation. Suggested-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66ed681a304f2971f85b9d8c58d4c35f340e1af1 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Sun Aug 10 20:39:56 2014 +0200 Staging: rtl8188eu: Lines over 80 characters fixed. This is a patch to the hal/rtl8188eu_recv.c file that fixes up a "line over 80 characters" warning found by the checkpatch.pl tool. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7e7068f60d9570613f9737f4f94e3158322cf6e Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:35 2014 +0530 staging: rtl8188eu: Declare Efuse_GetCurrentSize() as a static function Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43ffc5be9e76d6b86c6b1e60c64eddb57bea4c15 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:34 2014 +0530 staging: rtl8188eu: rtw_iol.h: Remove unused struct, enum and macro Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1eb87e22062be9544431bcab2fd813aa1c795734 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:33 2014 +0530 staging: rtl8188eu: rtw_iol.c: Remove unused functions Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51e3d8ededd1317ab95dc9648ae45b0370464416 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:32 2014 +0530 staging: rtl8188eu: Remove unused function iol_ioconfig() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ffa54e6b191761eb0b71144f135e5b1935e752c Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:31 2014 +0530 staging: rtl8188eu: Remove rtl8188e_IOL_exec_cmds_sync() and its wrapper function rtl8188e_IOL_exec_cmds_sync() is a unused function. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5c391a4b0a46dff8d6e02e30ecd7ce16f446635 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:30 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_cmd_buf_dump() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63bd7e26d26b09e967067f9e5f8e781983f72f9e Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:29 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_cmd_tx_pkt_buf_dump() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 678826f5034af1a73439a71125bd5f254c9405d1 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:28 2014 +0530 staging: rtl8188eu: Remove unused functions rtw_IOL_append_DELAY_[US, MS]_cmd() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94616fbc5cf096a30158036bb87de48de6f3d7f6 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:27 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_exec_cmds_sync() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91ed283ab563727932d6cf92b74dd15226635870 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:26 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_append_WD_cmd() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a758a007ea6713213ea5458e551258ceab62fea1 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:25 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_cmd_boundary_handle() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f549788fa07738d71c0e54fe0986d7baa56a6d8a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:24 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_accquire_xmit_frame() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dcdb40ccabc396047e1ab0f7c965d358e764fcf8 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:23 2014 +0530 staging: rtl8188eu: Hal8188EPhyCfg.h: Remove unused function declaration Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 939af24f713865d4cbcfb4ee1a0794e701530306 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:22 2014 +0530 staging: rtl8188eu: Remove unused function storePwrIndexDiffRateOffset() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9ff221347dfc565c1a2f6bbce21baedf7766fb2 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:21 2014 +0530 staging: rtl8188eu: Remove odm_RegConfig8188E.[h, c] files driver doesn't require these files anymore. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c7d45c24e9dabf4160ae1af7f45e87079e45931 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:20 2014 +0530 staging: rtl8188eu: Cleanup and simplify Baseband configuration code Cleanup and consolidate Baseband configuration related code in HalHWImg8188E_BB.c file. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f386a9ce637df1cbffbedfaecbd730ef84c7ef04 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:19 2014 +0530 staging: rtl8188eu: Remove unused function odm_ConfigMAC_8188E() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02282888d714000db114512268b270d82e1088fb Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:18 2014 +0530 staging: rtl8188eu: Remove unused function odm_ConfigRFReg_8188E() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40a4325cd9b18bff0bf5c321eb8fd741ac8ec17a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:17 2014 +0530 staging: rtl8188eu: Remove unused functions odm_ConfigRF_Radio[A, B]_8188E() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 586b60877244595246e6aedc3766500d1227d1f2 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:16 2014 +0530 staging: rtl8188eu: Cleanup and simplify RF configuration code Cleanup and consolidate RF configuration related code in HalHWImg8188E_RF.c file. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff8f35d8c30b37bea061979cd0ec37b24a4148b7 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:15 2014 +0530 staging: rtl8188eu: Cleanup and simplify MAC configuration code Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6c28c23f89b00a01b34670f0f1ddcdc2e0bca67 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:14 2014 +0530 staging: rtl8188eu: Cleanup firmware initialization code Using rtl8188ee's (drivers/net/wireless/rtlwifi/rtl8188ee/fw.c) neat and clean firmware initialization code to replace rtl8188eu's messy firmware initialization code. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2ea5ff8a7cde20542d47d1398d3fc710d357f6f Author: Jeremiah Mahler <jmmahler@xxxxxxxxx> Date: Tue Aug 12 00:03:44 2014 -0700 staging: rtl8192u/ieee80211: Fix sparse ieee80211_debug_init/_exit not declared warning A sparse warning is generated about 'ieee80211_debug_init' and 'ieee80211_debug_exit' not being declared. drivers/staging/rtl8192u/ieee80211/ieee80211_module.c:275:12: warning: symbol 'ieee80211_debug_init' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_module.c:297:13: warning: symbol 'ieee80211_debug_exit' was not declared. Should it be static? These functions are used outside of this file so using static will not work. The prototypes are given in r8192U_core.c but sparse nonetheless still gives a warning. Fix the sparse warning by moving these prototypes from r8192U_core.c to ieee80211.h. Signed-off-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> Cc: Joel Pelaez Jorge <joelpelaez@xxxxxxxxx> Cc: Andrea Merello <andrea.merello@xxxxxxxxx> Cc: "John W. Linville" <linville@xxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Himangi Saraogi <himangi774@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Cc: Ana Rey <anarey@xxxxxxxxx> Cc: Chaitanya Hazarey <c@xxxxx> Cc: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Cc: Teodora Baluta <teobaluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4d6b8fbea3895973eb6153c27cb2bc015a17fdd Author: Ovidiu Toader <ovi@xxxxxxxxxxx> Date: Sun Aug 10 20:04:36 2014 -0700 drivers/staging/rtl8192u/r8192U_wx.c: fix warnings issued by sparse This minor patch motivated by eudyptula challenge fixes the following warnings issued by `sparse' in drivers/staging/rtl8192u/r8192U_wx.c: .../r8192U_wx.c:27:5: warning: symbol 'rtl8180_rates' was not declared. Should it be static? .../r8192U_wx.c:961:22: warning: symbol 'r8192_get_wireless_stats' was not declared. Should it be static? .../r8192U_wx.c:990:24: warning: symbol 'r8192_wx_handlers_def' was not declared. Should it be static? Signed-off-by: Ovidiu Toader <ovi@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe773165210890082ccab524b2818a4a466656dc Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:11 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "uiOperation" -> "operation" Renamed variable "uiOperation" -> "operation" in bcm_char_ioctl_gpio_set_request(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 198d73daacb97a49a4daa4894609f48819e39c0a Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:10 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "uiBit" -> "bit" Renamed variable "uiBit" -> "bit" in bcm_char_ioctl_gpio_set_request(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80c329ad0c1a743ca15e997bbcef8bc622c1df58 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:09 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "ucResetValue" -> "reset_val" Renamed variable "ucResetValue" -> "reset_val" in bcm_char_ioctl_gpio_set_request(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41e708109475001431a8182716f90898621e0555 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:08 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "uiTempVar" -> "tmp" Renamed variable "uiTempVar" -> "tmp" in bcm_char_ioctl_reg_write_private() bcm_char_ioctl_eeprom_reg_read() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95123f22a17f57bb5c51d662b1ecc3f6cc21afe6 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:07 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "sWrmBuffer" -> "wrm_buff" Renamed variable "sWrmBuffer" -> "wrm_buff" in bcm_char_ioctl_reg_write_private() bcm_char_ioctl_eeprom_reg_read() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 343fae74744506948d86af5144d3d9eadda59943 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:06 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "Bufflen" -> "buff_len" Renamed variable "Bufflen" -> "buff_len" in bcm_char_ioctl_reg_read_private(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00c6fbcdab7ba34f3597715497b3a8224164c508 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:05 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "IoBuffer" -> "io_buff" Renamed variable "IoBuffer" -> "io_buff" in bcm_char_ioctl_reg_read_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_eeprom_reg_read() bcm_char_ioctl_gpio_set_request() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 201893bc516a1797d2fac8e931fe551eb78ed8f5 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:04 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "sRdmBuffer" -> "rdm_buff" Renamed variable "sRdmBuffer" -> "rdm_buff" in bcm_char_ioctl_reg_read_private() bcm_char_ioctl_reg_write_private() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aafec40c30e97cbcbc703ca17ab1ebf7fc06cf3a Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:03 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "Packet" -> "packet" Renamed variable "Packet" -> "packet" in bcm_char_read(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dab41a0ea8a7704b8a7bf806f123fd8a3d2c0362 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:02 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "PktLen" -> "pkt_len" Renamed variable "PktLen" -> "pkt_len" in bcm_char_read(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f90a8a25f500700bb1c603b5c9d8a5069e6aa5b9 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:01 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "pTarang" -> "tarang" Renamed variable "pTarang" -> "tarang" in bcm_char_open() bcm_char_release() bcm_char_read() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 900025a3bd73e38ed6df25e3751c480babbcaf4c Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:00 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "ulDSDMagicNumInUsrBuff" -> "dsd_magic_num_in_usr_buff" Renamed variable "ulDSDMagicNumInUsrBuff" -> "dsd_magic_num_in_usr_buff" in handle_flash2x_adapter(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd9a40788d7d25b6fa17ad119c9000c536e6e58d Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:31:59 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "Status" -> "status" Renamed variable "Status" -> "status" in bcm_handle_nvm_read_cmd() handle_flash2x_adapter() bcm_char_ioctl_reg_read_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_eeprom_reg_read() bcm_char_ioctl_gpio_set_request() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dc535b57a0d1971044c28ca11bb6a95603a54e1 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:31:58 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "stNVMReadWrite" -> "nvm_rw" Renamed variable "stNVMReadWrite" -> "nvm_rw" in bcm_handle_nvm_read_cmd() handle_flash2x_adapter() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e17219af18faf7e093390d6273f709df7e20ff60 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:31:57 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "pReadData" -> "read_data" Renamed variable "pReadData" -> "read_data" in bcm_handle_nvm_read_cmd() handle_flash2x_adapter() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a7add1cc72f1ef3662146505add0fa5744fdbec Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:31:56 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "Adapter" -> "ad" Renamed variable "Adapter" -> "ad" in bcm_handle_nvm_read_cmd() handle_flash2x_adapter() bcm_char_open() bcm_char_release() bcm_char_read() bcm_char_ioctl_reg_read_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_eeprom_reg_read() bcm_char_ioctl_gpio_set_request() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf8fa21cb70ceaf8d5898c57b80e707dfca79fa9 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:31:55 2014 +0200 Staging: bcm: Bcmchar.c: Fixed indentation of function arguments Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3901270b1519a6b416383dfb29eeb79ed104dbbf Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Thu Aug 14 12:50:04 2014 +0530 staging: lustre: lustre: ptlrpc: Donot initialise null This patch fixes the following error using checkpatch.pl Error: Do not initialise statics to 0 or NULL Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0028d585b4f491948c3e732293f5aa781aee1ee9 Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Wed Aug 13 16:22:41 2014 +0530 staging: lustre: lustre: ptlrpc: Fix pointer declaration This patch fixes the following checkpatch.pl issue in client.c: ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ae015be950d498def53a429f50f3ca4f4ed482f Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Tue Aug 12 17:26:38 2014 +0530 staging: lustre: lustre: ptlrpc: Fix requires space Fix checkpatch.pl issues spaces required. Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 459d3236ad453642db3b99817c10a57d7d77faa4 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Aug 11 22:18:29 2014 -0400 staging/lustre/lnet: Fix potential uninitialized variable warning Greg reports that with one of the patches in his queue there's now an unused variable warning in lnet_parse_ip2nets for ipaddrs variable. Apparently the warning is a false positive as in all cases where lnet_ipaddr_enumerate can return without setting ipaddrs to something a negative return value is returned that is then checked before we actually use ipaddrs. Assign ipaddrs to NULL to quiet this. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab909585b813193bb45f52367c1e7d056e33cfa9 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:39 2014 +0530 staging: lustre: Cleanup variable declarations in mdc_enqueue() Changes: - move const union vars to the top - move rc to bottom - do not initialize req - set lvb_type to enum member instead of 0 - change __u64 to u64 - fix inconsistant columnization Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb44520b3ad9407704dd111c9acd48911c83beba Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:38 2014 +0530 staging: lustre: remove parentheses usage with return Fix the following checkpatch error: ERROR: return is not a function, parentheses are not required Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78dd07983b405df2f98ae96137c69cb9e208b312 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:37 2014 +0530 staging: lustre: move else on the same line as closing brace Fix the following checkpatch error: ERROR: else should follow close brace '}' Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a4cd3e9d53d786367c30e3a2a0864b69d370b3c Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:36 2014 +0530 staging: lustre: Fix misplaced opening brace warnings Fixes the following checkpatch error: ERROR: that open brace { should be on the previous line Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c35e01ff0859d77d2dea5cca974acf798a940e18 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:35 2014 +0530 staging: lustre: Added space between type name and * Fixes the following checkpatch error: ERROR: "(foo*)" should be "(foo *)" Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee990b3368d678611fd4d28ae702a3c24ea1d76c Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Wed Aug 13 19:31:16 2014 +0530 ] staging: lustre: fix multi line strings Fixes the following checkpatch warning: WARNING: quoted string split across lines Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7436d0704fd3fc98287bded7f30ad2b9b3a7e61b Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:33 2014 +0530 staging: lustre: add blank lines after declarations Fixes the following checkpatch warning: WARNING: Missing a blank line after declarations Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 125ffec0bd80313124b719465c9fd529b39d6230 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:32 2014 +0530 staging: lustre: replace c99 style comments with C89 Fixes the following checkpatch error: ERROR: do not use C99 // comments Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 301af9068dd1b72ee80d0321b67eb5d76e08b3c0 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:31 2014 +0530 staging: lustre: Add missing spaces around operators and braces. Fixes the following checkpatch errors: ERROR: space required after that ',' (ctx:VxV) ERROR: space required after that close brace '}' Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5e663ae7a6dc2c402211d38a65b12a189220723 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:30 2014 +0530 staging: lustre: fix lines over 80 chars Fixes the following checkpatch warning: WARNING: line over 80 characters Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 982ec91f50a0e417cb353a2e5dff5af16541377a Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:29 2014 +0530 staging: lustre: move open brace to next line after functions Fixes the following checkpatch error: ERROR: open brace '{' following function declarations go on the next line Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 444014d6f529434a856564f2d9436a33416b2f43 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:28 2014 +0530 staging: lustre: remove spaces from start of line Fixes the following checkpatch warning: WARNING: please, no spaces at the start of a line Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffdac6ce36580cacb72ab7775cc52e947c62721c Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:27 2014 +0530 staging: lustre: remove space between function name and and open parenthesis Fixes following checkpatch warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 139cc6aed5b235ca2b32b23962667d1173ce6005 Author: Junien Fridrick <linux.kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 10 23:05:38 2014 +0000 staging: lustre: fix coding style issue: missing space after 'if' Coding style issue reported by checkpatch.pl Signed-off-by: Junien Fridrick <linux.kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76be25ba313086c81392fe5dcddf73b806be2100 Author: Ragnar B. Johannsson <ragnar@xxxxxx> Date: Sun Aug 10 22:23:50 2014 +0000 staging: vt6656: add blank line after declaration Adds a blank line after declaration to comply with coding style. Signed-off-by: Ragnar B. Johannsson <ragnar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de657d59f2ccc433e7380b23fb565438c2bb7ffb Author: Ragnar B. Johannsson <ragnar@xxxxxx> Date: Sun Aug 10 22:23:49 2014 +0000 staging: vt6656: fix incorrect indentation Use tabs, not spaces. Signed-off-by: Ragnar B. Johannsson <ragnar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86140346adbb426b7b4e8ec397c9ef6db572c3e0 Author: Ragnar B. Johannsson <ragnar@xxxxxx> Date: Sun Aug 10 22:23:48 2014 +0000 staging: vt6656: remove unnecessary braces Removes unnecessary braces to comply with coding style. Signed-off-by: Ragnar B. Johannsson <ragnar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80f598ae8a8dbe7d56e9d08d205405dd9f6aecdd Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:47:03 2014 +0100 staging: vt6655: remove typedef from struct vnt_private Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd6375760ef13baeee404276b95034c691f2ed8 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:47:02 2014 +0100 staging: vt6655: device_main Replace DEVICE_INFO with size of pointer Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6af4336e64dde7d0dd910c10de5dced9ef7ecf64 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:47:01 2014 +0100 staging: vt6655: rf/wpactl/wroute use struct vnt_private Replacing PSDevice. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f335dd136f9ccfb04e35ada2f80bdb958faf6be Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:47:00 2014 +0100 staging: vt6655: hostap/ioctl/iwctl use struct vnt_private Replacing PSDevice. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf76dc4b85447e17678d61505eb1b92743c4b67b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:46:59 2014 +0100 staging: vt6655: bssdb/datarate/dpc/power/rxtx use struct vnt_private Replacing PSDevice. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ffc58742d835b83fa9f055233c11dcdf6724e77 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:46:58 2014 +0100 staging: vt6655: channel/wcmd/wctl/wmgr use struct vnt_private * Replacing PSDevice. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d052270b4372d015fbc19a0e0071b8f3640bff2b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:46:57 2014 +0100 staging: vt6655: card change PSDevice to struct vnt_private Repacing void *pDeviceHandler Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 582d6c220b16ba5e13743bd5cb14e8e0974d45f3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:46:56 2014 +0100 staging: vt6655: baseband replace PSDevice Coverting all functions to struct vnt_private. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f8597f4e4b39b0505b3891f64d4c3be78d86717 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:46:55 2014 +0100 staging: vt6655: device.h use change __device_info to vnt_private Coverting all functions to struct vnt_private in device.h and device_main.c Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 965d017f49f7094348d95d8034f1ef94ddce601c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:22:02 2014 +0100 staging: vt6655: upc.h replace read and write memory functions Update to the newer memory functions readb -> ioread8 readw -> ioread16 readl -> ioread32 writeb -> iowrite8 writew -> iowrite16 writel -> iowrite32 Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e66a2aadd5f89f0012ac4f66dd3456c5921a39e Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:22:01 2014 +0100 staging: vt6655: upc.h: Remove unused macros PCBv* are not used Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a5f718409f92f3bc12ee8020a4874d004f612ba Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:22:00 2014 +0100 staging: vt6655: CARDbSetBeaconPeriod call CARDbGetCurrentTSF to get TBTT There is already a function to get next TBTT. Replace code with CARDqGetNextTBTT. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 989ae8601b28b053d4882ad70ce62420f19f9e91 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:21:59 2014 +0100 staging: vt6655: CARDqGetNextTBTT calculate qwTSF using do_div Use do_div to compute equation as shown replacing existing code. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fc2a76eef05ee1aa82b3d9bf34eea2b50f5e1ba Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:21:58 2014 +0100 staging: vt6655: Replace and remove typedef QWORD/ DQWORD Replace the variables with u64/__le64. The endian variant is needed in some places endian correction is needed. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c98323a7da3cf3625c37743974d007a1fe6539a5 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:21:57 2014 +0100 staging: vt6655: BSSvSecondTxData remove #if 1 else directive There is a code alignment error after this directive realign code Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2af99ee5bca2eccc2d61bfee0ad82c84af18f8f Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:21:56 2014 +0100 staging: vt6655: Remove TxInSleep macro TxInSleep is always enabled remove the macro and any else code. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11a72e5e11429c1598a53bc314765e0ff15da2c7 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 9 20:15:56 2014 +0100 staging: vt6655: rxtx: Replace typedef struct tagSMICHDRHead With struct vnt_mic_hdr replacing pointer assigments in s_vFillTxKey. The size of new struture is the same as old with packing Create the struture rxtx.h where it is only used. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit effda6973dba27d80a669855603bdc0971f89449 Author: Martin Berglund <martin@xxxxxxxxxx> Date: Thu Aug 7 23:08:34 2014 +0100 staging: vt6655: wpactl.c: Fix sparse warnings Add missing __user macro casting in the function wpa_set_keys. This is okay since the function handles the possibility of param->u.wpa_key.key and param->u.wpa_key.seq pointing to kernelspace using a flag, fcpfkernel. Signed-off-by: Martin Berglund <martin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2160e944a911dae3c4b40cca72d6c83af6f85bb5 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Fri Aug 8 09:53:07 2014 +0530 staging:r819xU: coding style: Fixed commenting style This is a patch to the r819xU_phyreg.h file that fixes commenting style warning Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2892d397972496075523c63ad5bec77175654125 Author: Andreas Schlick <ninox@xxxxxxxxxx> Date: Thu Aug 7 19:20:50 2014 +0200 staging: rtl8723au: Remove unnecessary bit masking. Signed-off-by: Andreas Schlick <ninox@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5081c548eafb115645d9fc60703641d4597b589 Author: Andreas Schlick <ninox@xxxxxxxxxx> Date: Thu Aug 7 19:20:49 2014 +0200 staging: rtl8723au: Move open braces to the previous line. Correct coding style errors in rtw_efuse.c. checkpatch.pl reported: ERROR: that open brace { should be on the previous line Signed-off-by: Andreas Schlick <ninox@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6365fe50ebff17a5beccefed0c19d7dd847f076 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 22:17:10 2014 +0200 staging: dgnc: Remove unnecessary 'return' statement This commit fixes the checkpath warning 'void function return statements are not generally useful' caused by the 'return' at the end of 'void' function. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8aa5d0d825715db571be47b02ca8b176f70cb1da Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 22:17:09 2014 +0200 staging: dgnc: Fix missing blank line after declarations This commit fixes the missing blank lines after declarations checkpath warnings found in dgnc_cls.c file. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9b69997e74a88b388a6272a81e5133688683705 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 21:01:26 2014 +0200 staging: dgnc: Remove 'volatile' modifier where it is not needed This commit fixes the checkpath warning about misused 'volatile' modifier. In this case the 'volatile' was not needed as it was used for regular automatic variable. Thos commit removes the 'volatile'. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13d1773ace622802e99f2aae577f30eab444eb55 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 21:01:25 2014 +0200 staging: dgnc: Fix braces {} are not necessary for single statement blocks This commit fixes the following checkpath warning in dgnc_neo.c file: 'braces {} are not necessary for single statement blocks' Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ef33f38cb148ad0fb4a7c8860d8e1c7ebe16bdb Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 21:01:24 2014 +0200 staging: dgnc: Fix that open brace { should be on the previous line This commit fixes the following checkpath error in dgnc_neo.c file: 'that open brace { should be on the previous line' Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1eba3dba7463cddd254605b5372ee38ceb45fa30 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 21:01:23 2014 +0200 staging: dgnc: Fix missing blank line after declarations This commit deals with the checkapth warnings 'missing line after declarations' in the dgnc_neo.c file. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dfe5670e1ceeda7378a6f4234cca6820fd5af46 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 21:01:22 2014 +0200 staging: dgnc: Fix included header from 'asm' This commit fixes the checkpatch warning: drivers/staging/dgnc/dgnc_neo.c:37: WARNING: Use #include <linux/io.h> instead of <asm/io.h> Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98b3bcc05fa7efaf6a9a1420ce4a0fc6c9031b36 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 14:21:25 2014 +0200 staging: dgnc: Update the TODO file It turned out that the TODO file contained the invalid information as some of the work has already been done. This commit updates it with the current status of what is left to be done. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92ded48cc3f09b8f6bdf56348b9318f9badd28fe Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 15:40:11 2014 +0200 staging: dgnc: Siplify the dgnc_start function This commit slightly simplifies the sgnc_start() function by rearranging it. As a result the indentation level is reduced. This is not the functional change. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a633d00d14129b5865502a0f45c160f523b446f Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 14:21:23 2014 +0200 staging: dgnc: Move utility functions out of dgnc_driver.c This commit moves the utility functions out of dgnc_driver.c file and puts them in the new dgnc_utils.{c,h} files. The accompanying changes adjust the existing code to work with this design. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbecbacbed32db649c10d1d4e0a6045b4f4d4750 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 14:21:22 2014 +0200 staging: dgnc: Remove unnecessary functions from dgnc_driver.c This commit slightly cleans up the dgnc_driver.c file. The changes include removing one-line proxy functions as they were not needed. Additionaly the pci 'remove' function is deleted because it was no need for it. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea6e9dea2e72a7abd146a2c5bab726b27f34b36c Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 14:21:21 2014 +0200 staging: dgnc: Fix frame size is larger than 1024B This comit fixes the following sparse warnign: drivers/staging/dgnc/dgnc_tty.c:572:1: warning: the frame size of 1060 bytes is larger than 1024 bytes [-Wframe-larger-than=] This was caused by having buffer as an automatic variable. This commit moves it from the stack to the heap. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 338fd80f9da7772ff3b957adb7ae1ed4615c484c Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 14:21:20 2014 +0200 staging: dgnc: Fix no spaces before tabs checkpath warning This commit corrects the 'no space before tabs' checkpath warning. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e8810026b96f5ecaa551e1963c4fbc71d976d85 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Tue Aug 12 08:08:37 2014 +0200 staging: dgnc: Fix externs should be avoided in the .c files This commit fixes the following checkpatch warnings: WARNING: externs should be avoided in .c files #80: FILE: drivers/staging/dgnc/dgnc_driver.c:80: +int dgnc_init_module(void); #81: FILE: drivers/staging/dgnc/dgnc_driver.c:81: +void dgnc_cleanup_module(void); This was caused by putting the declarations for module init and module exit fucntions on the top of the file. The fix removes these declarations plus it also corrects the type of the init/exit functions. Due to the dependency between init and exit functions the dgnc_cleanup_module had to be put first. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d14b71231e78645008c3e2edee5496b4722d4d62 Author: Lars Hamre <lhamre@xxxxxxxxx> Date: Thu Aug 7 21:21:42 2014 -0400 Staging: nokia_h4p: removed unnecessary return statement in nokia_fw.c This is a patch to the nokia_fw.c file that removes an unnecessary return statement found by the checkpatch.pl tool Signed-off-by: Lars Hamre <hamham91@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41cb65c4854e14f12b1cbb8215e509d8ad4d0c88 Author: A Raghavendra Rao <raghav3276@xxxxxxxxx> Date: Thu Aug 7 14:10:39 2014 +0530 Staging: wlan-ng: fix sparse warning in prism2fw.c Fix the following sparse warning : In file included from drivers/staging/wlan-ng/prism2usb.c:5:0: drivers/staging/wlan-ng/prism2fw.c: In function â??read_cardpda.constprop.43â??: drivers/staging/wlan-ng/prism2fw.c:792:1: warning: the frame size of 1068 bytes is larger than 1024 bytes [-Wframe-larger-than=] The variable to 'struct p80211msg_p2req_readpda' was previously being created on the stack, which inturn exeeded the frame size limit, resulting in a sparse warning. This patch alloctes the memory to the structure dynamically and the operations are left unchanged. Signed-off-by: A Raghavendra Rao <arrao@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d0e9d9e777fcfcd50cb45299048e68edcd54ca4 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Mon Aug 4 21:10:24 2014 +0200 staging: slicoss: fix a blank line coding style issue Add 2 missing blank lines after declaration. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a855861d57890d8433b158e72bba7c31b8b2fff7 Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Aug 5 23:24:18 2014 +0200 Staging: rts5208: Remove CONFIG_RTS5208_DEBUG option CONFIG_RTS5208_DEBUG is no more needed, we rely on dynamic debug config options instead. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69b8b22489f5edf1fde0d6958ab3881068701e6d Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Aug 5 23:24:17 2014 +0200 Staging: rts5208: Use dev_dbg and print_hex_dump_bytes to dump memory Use dev_dbg with %*ph format specifier and print_hex_dump_bytes to dump memory instead of relying on custom macro. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63bc516402c615250ef9e88905b8c78a04fbacdb Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Mon Aug 4 21:07:07 2014 +0200 staging: imx-drm: fix a blank line coding style issue Add missing blank lines after declaration. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddf5a2c1cb62a2ce4e6d9104998df2d3eae8923e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Aug 8 12:07:50 2014 +0200 imx-drm: imx-drm-core: delete unneeded test before of_node_put Of_node_put supports NULL as its argument, so the initial test is not necessary. Suggested by Uwe Kleine-König. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression e; @@ -if (e) of_node_put(e); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a87c38090ea95d36925fefc5cb3d475416f3796c Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:56 2014 +0200 staging: ozwpan: Use list helpers Make use of the various list helper functions to improve readability. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50222db4b03ac8f3259c6d39bbd585ed3358f70f Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 8 08:01:09 2014 +0200 staging: ozwpan: Use slab cache for oz_tx_frame allocation Use a slab cache rather than rolling our own free list. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b8b61aaef59751fe85c1b2df51a848a6c50d202 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 8 08:00:42 2014 +0200 staging: ozwpan: Use slab cache for oz_elt_info allocation Use a slab cache rather than rolling our own free list. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e6fbdde1219bdd3875e72c6278beebf241bd416 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 8 07:59:24 2014 +0200 staging: ozwpan: Use slab cache for oz_urb_link allocation Use a slab cache rather than rolling our own free list. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9686e786896297f9f1d74a2cac4ffccc7b3e50e Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:52 2014 +0200 staging: ozwpan: Simplify app interface Simplify the somewhat overcomplicated application interface; improves readability and saves a bunch of lines. Use designated struct initializers for clarity. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a7ae725c9295d9076c889bbb75f83cd8e053bfb6 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:51 2014 +0200 staging: ozwpan: Remove dead code No need to return a value from elt_buf_init(). Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4abc48d140e75bb07143287f3be3fa858b8e10f5 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:50 2014 +0200 staging: ozwpan: Remove redundant initialization Member 'ops' has already been initialized by calling cdev_init(). Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f8fd6d85fa9b826282043b9a67604eff8725033 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:49 2014 +0200 staging: ozwpan: Remove unused OZ_MAX_TIMER_POOL_SIZE OZ_MAX_TIMER_POOL_SIZE is not used anywhere; remove it. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c24dd2e2cdd22ce7ae2c54a15ee585689d611e3e Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:48 2014 +0200 staging: ozwpan: Fix typo in typedef Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fca4f70edbdf7052458b21545d860637c41f863 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:47 2014 +0200 staging: ozwpan: Add module parameter description Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a3101884571e6a1aaf307620178f7532f3284ad Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Sun Aug 3 17:20:49 2014 -0700 staging: nokia_h4p: fix %d confusingly prefixed with 0x in format string Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 967544a65cf5d70b2d2ff069349eeca0cbf9e0b1 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Sun Aug 3 17:21:06 2014 -0700 staging: rtl8821ae: fix %d confusingly prefixed with 0x in format strings Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 714340db24b8b34dd9befc87db0e8c51040a4a7f Author: Benedict Boerger <benedict.boerger@xxxxxxxxxxxxxxxxx> Date: Fri Aug 8 18:26:22 2014 +0200 drivers: staging: lustre: fix sparse warnings / delete unused function drivers: staging: lustre: fix sparse warning: symbol XYZ was not declared. Should it be static? This was done by declaring them static. This could be done because the functions were used only in this file. Deleted the function lnet_print_text_bufs because it were unused. Compiled without an error. Done to complete a eudyptula task. Signed-off-by: Benedict Boerger <benedict.boerger@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca4e82966635d0b43cf668db036c0b9e9cc67b7c Author: Tom Wales <twales518@xxxxxxxxx> Date: Sun Aug 3 20:41:44 2014 +0100 Staging: lustre: checkpatch: remove blank spaces Remove spaces between the function names and open paranthesis and use the kernel coding style. Signed-off-by: Tom Wales <twales518@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 742728f97a99b9125dfeea37744f27ab72d74e9d Author: Fernando Apesteguia <fernando.apesteguia@xxxxxxxxx> Date: Tue Aug 5 21:10:19 2014 +0200 staging: rtl8192u: remove unused function. Remove ComputeTxTime since it is not used. Signed-off-by: Fernando Apesteguia <fernando.apesteguia@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e107b9f3979fdeef3b5366c24317d0c3a5bf490 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Tue Aug 5 00:30:17 2014 +0200 Staging: rtl8188eu: Missing a blank line after declarations. This is a patch to the rtl8188e_xmit.c file that fixes up a missing blank line warning found by the checkpatch.pl tool. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb418e57d5d65ac8f46b635ff9bce08377826d18 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Aug 3 15:57:26 2014 -0700 staging: rtl8192ee: Fix RT_TRACE #define and uses RT_TRACE uses require unnecessary parentheses. Fix the #define and remove the uses. Neaten the RT_TRACE lines and multi-line argument wrapping. dynamic debug can add KBUILD_MODNAME and __func__ so remove those from the #define. Use a single statement pr_debug instead of pr_debug and pr_cont which doesn't support dynamic debug anyway. Miscellaneous grammar and spelling fixes on the RT_TRACE uses. Compile tested only. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63d29d5160645260619e6a4359de2a89b41dc263 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:43 2014 +0200 staging: rtl8192u: remove misc. unused defines Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1572f632035194cfb2bf18a50d356faed676aa67 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:42 2014 +0200 staging: rtl8192u: remove unused define LOOP_TEST Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a49332ebce02239084dd8c0e83821430b0008152 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:41 2014 +0200 staging: rtl8192u: remove unused define USB_RX_AGGREGATION_SUPPORT Also remove related unreachable code. Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3e289658a72075221d01a693c1f76727d67e058 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:40 2014 +0200 staging: rtl8192u: remove unused define USB_TX_DRIVER_AGGREGATION_ENABLE Also remove the unreachable code. Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24de874861267a401815ef955a1112177f79da94 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:39 2014 +0200 staging: rtl8192u: remove define always set USE_ONE_PIPE Also remove the code previously under #ifndef USE_ONE_PIPE. Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2709273e63870721bd0587cdd07000d9619f515 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:38 2014 +0200 staging: rtl8192u: remove unused define DEBUG_EPROM Also remove the code now unreachable. Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a03bb00e50ab4c07107da58a52a0bff7943f360c Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Thu Aug 7 09:10:25 2014 +0200 staging: comedi: add NI USB-6501 support Enable support for the National Instruments USB-6501 module. The NI USB-6501 is a Full-Speed USB 2.0 (12 Mbit/s) device that provides 24 digital I/O lines channels and one 32-bit counter. This is a preliminary version: GPIO: works counter: doesn't work Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9254c8412a4d8286007089f70050ff578f5995eb Author: Niklas Svensson <nks@xxxxxxxxxxx> Date: Wed Aug 6 19:55:10 2014 +0200 staging: comedi: fixing coding style problems This patch fixes warnings of checkpatch.pl script: CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around devpriv->timer + init_timer(&(devpriv->timer)); CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis + dev_info(dev->class_dev, + "%s: %i microvolt, %li microsecond waveform attached\n", Task of Eudyptula challenge. Signed-off-by: Niklas Svensson <nks@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acb165135dcf48875e44fe323aa63653785bf01c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:07:04 2014 -0700 staging: comedi: amplc_dio200: remove unnecessary local variable The local variable 'irq' is not necessary in dio200_attach(). Just pass the it->options[1] value directly. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e1e2739ef967a3cb60ee73cb70dfdcb0515c8d3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:07:03 2014 -0700 staging: comedi: amplc_dio200.h: remove 'mainsize' from boardinfo This member of the boardinfo is not used by the drivers. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2dfb515764dcaf156bd06af998842afe19bd337 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:07:02 2014 -0700 staging: comedi: amplc_dio200_pci: remove 'mainsize' from PCI boardinfo The 'mainsize' member in the boardinfo for the DIO200 PCI boards is only used for a sanity check of the pci_resource_len(). This sanity check is not needed. Remove the sanity check along with the 'mainsize' values in the boardinfo. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf200de92ffd97ee46f6affeb8240448319af8ae Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:07:01 2014 -0700 staging: comedi: amplc_dio200: remove 'mainsize' from ISA boardinfo All the ISA DIO200 boards have an i/o region size of 0x20 (DIO200_IO_SIZE). Remove the boardinfo and open code the size in the comedi_request_region() call. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7560e527534570199382ac72278301e9ac82920e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:07:00 2014 -0700 staging: comedi: amplc_dio200: remove 'bustype' from boardinfo This member of the boardinfo is not used by the driver. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76212bf32b92a62d7057159498b7d9475d7bf295 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:06:59 2014 -0700 staging: comedi: amplc_dio200: remove private data The private data in this driver only has one member, 'intr_sd', which is the index to the interrupt subdevice. This member is initialized during the attach of the driver when the sd_intr subdevice is detected in the boadinfo 'layout'. The member is then used in the interrupt handler to get the pointer to the subdevice. This member is not necessary. The comedi_device 'read_subdev' is also initialized during the attach. This can be used in the interrupt handler to get the subdevice pointer. Refactor the code to not require the private data and remove the struct and its allocations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe10bdbda634597b4853cd45bc655e1bc8f3d89e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:55 2014 +0100 staging: comedi: amplc_pci224: no need to comedi_set_hw_dev() here The comedi core module calls `comedi_set_hw_dev()` to associate the hardware `struct device` with the `struct comedi_device` before it calls the comedi driver's "auto_attach" hook `pci224_auto_attach()`. There is no need for `pci224_auto_attach()` to call `comedi_set_hw_dev()` itself, so remove the call. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd2bb912e17aee18713504d157bceff7f41fad1e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:54 2014 +0100 staging: comedi: amplc_pci224: absorb pci224_attach_common() `pci224_attach_common()` is now only called from `pci225_auto_attach()`, so absorb it into that function. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dce75412aa80d0e569d09cc5ef296b52d4c71126 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:53 2014 +0100 staging: comedi: amplc_pci224: remove PCI_DEVICE_ID_... macros The macros `PCI_DEVICE_ID_AMPLICON_PCI224` and `PCI_DEVICE_ID_AMPLICON_PCI234` are only used in the PCI module device table `amplc_pci224_pci_table[]`. Just expand the macros where they are used and remove them. The macro `PCI_DEVICE_ID_INVALID` is no longer used either, so remove it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 930771fb905be0e1c09a2fe84c17b578d7a0fdd6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Aug 4 12:14:28 2014 +0100 staging: comedi: amplc_pci224: put board indices in PCI driver_data The `driver_data` member value from the matched entry of the PCI module device table `amplc_pci224_pci_table[]` is passed through to our comedi "auto_attach" handler, `pci224_auto_attach()`. Use that to index directly into our static board data array `pci224_boards[]` instead of calling `pci224_find_pci_board()` to search for the entry matching the PCI device ID. That function can be removed. The `devid` and `model` members of `struct pci224_board` are no longer needed either and can be removed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 176835357e7d468987d6ce3663241fac7677b83e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:51 2014 +0100 staging: comedi: amplc_pci224: no need to manipulate PCI ref count This driver no longer supports a "legacy" attach mechanism that searches for a suitable PCI device and increments it's reference count, but since the common "detach" handler `pci224_detach()` still has a left-over `pci_dev_put()`, a matching `pci_dev_get()` is needed in the "auto_attach" handler `pci224_auto_attach()`. There is no longer any reason to "get" and "put" the PCI device, so those calls can be removed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b2809efb16e4a975666b9b14f3e37edd4b39ad2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:50 2014 +0100 staging: comedi: amplc_pci224: remove "legacy" attach mechanism Since the driver no longer supports options in its "legacy" attach mechanism to describe the jumper settings (or any options beyond restricting a PCI search to a particular bus and/or slot), there is no need to retain this mechanism in the driver. Remove the comedi driver "attach" handler `pci224_attach()`, and the now unused `pci224_find_pci_dev()`. Also, remove the "wildcard" entry from the board table `pci224_boards[]` as it is no longer needed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7929e7133daead1b055b4dfceeed5f63ead28ae Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:49 2014 +0100 staging: comedi: amplc_pci224: remove options to select output ranges When attaching a PCI224 or PCI234 manually via the `COMEDI_DEVCONFIG` ioctl, there are several options the user can supply that describe the state of the hardware jumpers (LK1 for PCI224, LK1 thru LK5 for PCI234). These options control how the driver sets up the AO range tables for the device. Those options are useless when the board is attached automatically via the PCI driver probe function `amplc_pci225_pci_probe()`, `comedi_pci_auto_config()`, and the comedi driver "auto_attach" handler `pci224_auto_attach()`. Rip out the range table selection options and use a single, static range table per board type, containing all the software- and hardware-selectable ranges for that board. The PCI234 used to have a per-channel `range_table_list` rather than an all-channel `range_table`, as the jumpers selected different ranges for all channels. Now that the channels are using a unified range table, use an all-channel `range_table` instead. When checking the channel list for an asynchronous command in `pci224_ao_check_chanlist()` make sure the ranges specified in the list have compatible jumper settings. We don't know how the jumpers are actually set, but we can at least avoid conflicting settings. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74f6084336fa651e6e063f50c2cbaa62c3e831be Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:48 2014 +0100 staging: comedi: amplc_pci224: no need for '&function' Remove the "address-of" operator when the operand is a function. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56eb5cbc5894b206ef9d4b5d3bcc2e1b232e8c22 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:47 2014 +0100 staging: comedi: amplc_pci224: reduce leading whitespace in a few places Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e038756110401b6bca6b1091cbcb668fe2741756 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:46 2014 +0100 staging: comedi: amplc_pci224: remove some unnecessary parentheses Remove some pairs of parentheses that don't really improve readability. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe3cda6d39bba3368ed9823f78bbd145e3a1416e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:45 2014 +0100 staging: comedi: amplc_pci224: omit '!= 0' from logical expressions Since anything non-zero is logically "true", don't bother doing "not-equal" comparisons with zero, except when testing for an explicit number 0 (not as a result of bit tests for example). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf6002d898630cc3042f5f727f2ebf0ec4ebabb0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:44 2014 +0100 staging: comedi: amplc_pci224: set a more descriptive MODULE_DESCRIPTION() Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b18dc660a4e8b3a60d3f2696625b87af40b4d81 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:43 2014 +0100 staging: comedi: amplc_pci224: add whitespace to pci224_boards[] Add a bit of whitespace to the initializer of `pci224_boards[]` for aesthetic reasons. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71e70e9f6daea58bb5ef03d17ba26c630fcac1d2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:42 2014 +0100 staging: comedi: amplc_pci224: fix spinlock_t definition without comment Fix checkpatch issue: "CHECK: spinlock_t definition without comment". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab2064a5cbd732f5228c718cb7f1afd72ea180da Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:41 2014 +0100 staging: comedi: amplc_pci224: multiple assignments should be avoided Fix checkpatch issue: "CHECK: multiple assignments should be avoided". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0f2c953b692a81acafcb71f35b7cff578099de0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:40 2014 +0100 staging: comedi: amplc_pci224: blank lines aren't necessary before a close brace '}' Fix checkpatch issues: "CHECK: Blank lines aren't necessary before a close brace '}'". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c40bd48dbae93e7bd8369d8326f8850eff98f73 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:39 2014 +0100 staging: comedi: amplc_pci224: fix checkpatch line over 80 characters Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53bd9a204816a3513c5fa3c6170fe33100bb3f4d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:38 2014 +0100 staging: comedi: amplc_pci224: reformat some comments Reformat comments to fit in with the preferred coding style, including the copyright and comedi driver description comments at the start of the file. Also, remove a boiler-plate comment for the comedi device private data structure. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1566ac0bc919187bb605403f072fd3ebc58b00a0 Author: Tobenna P. Igwe <ptigwe@xxxxxxxxx> Date: Wed Aug 6 19:59:42 2014 +0100 staging: unisys: uislib: Fixed missing blank line coding style issue Fixed coding style issue "Missing a blank line after declarations" detected by the 'checkpatch.pl' script. Signed-off-by: Tobenna P. Igwe <ptigwe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11c4eba1ad4174512c8b8a682c3d41f97d286611 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:54 2014 -0400 staging: unisys: fix spacing in vbusdeviceinfo.h There was a missing line between declarations and code in vbusdeviceinfo.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffe58457492be4bea21d38abf4b84ad3e11abfff Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:53 2014 -0400 staging: unisys: clean up vmcall functions Clean up the format of the vmcall functions in iovmcall_gnuc.h. These functions are rewritten for clarity and to correct the indention, without changing any functionality. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c1a653b90d7b3a681a7e49feef32e3e290b36f0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:52 2014 -0400 staging: unisys: fix spacing in iovmcall_gnuc.h There are spacing errors in the functions in iovmcall_gnuc. Fix these. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3239c1cc156a1acaaccdf79dc2a9601798dbd109 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:51 2014 -0400 staging: unisys: fix line lengths in controlvmcompletionstatus.h The controlVM status file had comments going over the 80 character limit. These are moved to the next line and the spacing is fixed. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 613cbd9f0048d8220533b98f0924cee07546f240 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:50 2014 -0400 staging: unisys: fix whitespace in uisutils.h Correct a couple of missing blank lines in uisutils.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 746c28e1af51cc6e7c7c6f7bc7d502f6986713a2 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:49 2014 -0400 staging: unisys: get rid of uiscmpxchg64 Remove the uiscmpxchg64 macro from uisqueue.h and uisqueue.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52d13a618aa9b84b8ed8b761ca76cec51701afde Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:48 2014 -0400 staging: unisys: remove unused macros from timskmod.h Several macros in timskmod.h are unused. Remove them. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2170625b24f6224eec64f591b9360025ccae16f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:47 2014 -0400 staging: unisys: get rid of semaphore macros Remove all of the semaphore macros from timskmod.h and switch all uses of those types to the correct function names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5700df5238577e4e570d08a8ee1aa126731dae7 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:46 2014 -0400 staging: unisys: fix formatting in timskmod.h Fix all whitespace formatting issues in timskmod.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb75fc5c0b461a971ea82b169e65fb4d07b5fa01 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:45 2014 -0400 staging: unisys: get rid of unused VMMIO types Delete the unused common VMMIO types in timskmod.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d2def986df26bc8ad96e4a824e149dd5fc0e054 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:43 2014 -0400 staging: unisys: remove commontypes.h Delete commontypes.h, and replace all of the places that #included it with correct #includes for the types used in that file. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15fe5f2ceddc8b3fa3750ca54dacb950606cf8d5 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:42 2014 -0400 staging: unisys: move remaining macros from commontypes.h to channel.h All of the remaining macros in commontypes.h - the CHANNEL_*_MISMATCH macros and UltraLogEvent() - are used only in channel.h. Move the entire set of them to their new home. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e4701ae2cfe5dc45a320a647b498fd9f2527b35 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:41 2014 -0400 staging: unisys: remove OFFSETOF from commontypes The only place OFFSETOF was being used was in iochannel.h. Remove the macro from commontypes.h and replace all uses of it in iochannel.h with offsetof() instead. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af96e9c058ff620b78292945e24a9d044b0d6f97 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:40 2014 -0400 staging: unisys: remove GUEST_PHYSICAL_ADDRESS from commontypes.h The typedef for GUEST_PHYSICAL address is only used in two files, so remove it from commontypes.h and add it to visorchipset/file.c and controlvmchannel.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2046fcca74148b627577c6324c811c7e894fa45d Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:39 2014 -0400 staging: unisys: remove INLINE define from commontypes There was a macro for INLINE. Delete it and fix the one occurrance of it to just use 'inline' instead, though that function looks awfully big for an inline... Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e87cfde4a1e93aa0f0efc5ad7955500c2246f29b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:38 2014 -0400 staging: unisys: remove MEMORYBARRIER AND VolatileBarrier from commontypes Remove the MEMORYBARRIER and VolatileBarrier() defines from commontypes.h and convert the spots that used this to mb(). Add comments to each use to indicate that the barrier is used to ensure channel synchronization between guests. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e20c4a7c8179d3216eaf03c3c8fa8badfb35290 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:37 2014 -0400 staging: unisys: remove MEMCPY functions from commontypes.h This patch removes MEMCPY, MEMCPY_FROMIO, and MEMCPY_TOIO from commontypes.h, and switches all use of these macros to the appropriate built in definition. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c66843dabbc2cb75832c7ebcaade9038d16702f Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:39:29 2014 +0900 staging: dgap: cleanup print messages for dgap driver * use dev_{warn,err} instead of pr_{warn,err} * removes dgap_err() and just use pr_err(). pr_err() used in dgap_parsefile() not dev_err() because if dgap_parsefile() is failed, just one message is printed. * removes "out of memory" messages. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cfa648b124ccbf5bc6aea92beef8ed35a06f1ed Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:39:05 2014 +0900 staging: dgap: Simplify to set a module type It is same manner with setting a board type. After allocating a type of "MNODE", get a token value set to "module.type". Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6aa0164cd3b1c5192e87f5651ec382c3bc3abac Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:38:41 2014 +0900 staging: dgap: Simplify to set a concentrator type It is same manner with setting a board type. For example of config file for concentrator, "conc ccon" or "conc epcon" After allocating a type of "CNODE" then set a type of concentrator. So remove cases in swith statement, just get a token from string and set to "conc.type". And also it doesn't need to "conc.v_type". Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77a4492fcc5696efd667cf698cb806ae846ea163 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:38:14 2014 +0900 staging: dgap: Simplify set a board type from configration file Board types need to separate normal command like IO, MEM and so on. And the board type will come after "board" string in config file normally. (If it is not, dgap_gettok returns an error with zero) After that, set a variable of a number which is matched with specific a board number to "board.type". The dgap_gettok() returns that number so just set to "board.type" and also "v_type" can be removed. In case of boards of PCI type are set variables to zero. These can be removed because "p" as cnode get memory from kzalloc so already set to zero. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35edf11bed147a8fe1df529035ccb551d671916d Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:37:39 2014 +0900 staging: dgap: cleanup duplicated warning message on dgap_tty_init() If true_count is not same with brd->nasync, warning messages are printed. But it has duplicated messages within if statement. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 274d8b35f88079870f1691413be7ce4341d9f87b Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:37:11 2014 +0900 staging: dgap: remove redundant declarations. These are already defined in dgap.h. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83d24f82293eaa32f0f5679c743d9168cd74cad8 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:36:44 2014 +0900 staging: dgap: remove useless variable dgap_major_serial_registered and dgap_major_transparent_print_registered could be checked whether a board is initialized. But it doesn't need to check that variables becasue dgap module isn't calling the dgap_cleanup_tty() without initializing for a board completely. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99a643b8aebb91d1dba8dff6c0e416dfd1140b07 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Thu Jul 31 13:02:30 2014 +0900 staging: dgap: introduce dgap_cleanup_nodes() When a configration file is parsed with dgap_parsefile(), makes nodes for saving configrations for board. Making a node will allocate node memory and strings for saving configrations with kstrdup(). So these are freed when dgap is unloaded or failed to initialize. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Tested-by: Mark Hounschell <markh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2eb61f38821979dd3d065a8bbb72dc9f6306f005 Author: Martin Berglund <martin@xxxxxxxxxx> Date: Sat Aug 9 01:26:45 2014 +0200 staging: vt6655: iowpa.h: Fix sparse warnings This resolves a sparse address space warning in wpactl.c Signed-off-by: Martin Berglund <martin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5b4e003253a496a7414003c034ff51a365258d4 Author: Yee Chin, Chiam <phathetique@xxxxxxxxx> Date: Wed Aug 6 17:47:34 2014 -0400 Staging: android: sw_sync.c: Fixed coding style issue. Fixed coding style issue where blank line is missing after declaration. Signed-off-by: Yee Chin, Chiam <phathetique@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 515d9b2c03943ca904cd135e1b1d9ddd168c1b27 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Aug 12 18:22:27 2014 +0200 ata: remove deprecated struct ahci_platform_data The last user of the deprecated struct ahci_platform_data has been cleaned up recently (SPEAr1340 got a proper PHY driver). Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 759e612bf96627b64fcafe4174b3f6f2dedf2c0d Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:55 2014 +0000 perf stat: Use strerror_r instead of strerror Use strerror_r instead of strerror in error message for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022255.3545.81549.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ede395d27c60c06a2173e7a9c0f4a929a1fef73e Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:53 2014 +0000 perf help: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022253.3545.82136.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f9f33fdba159a9c163ecf1dc0106ebd4c2498130 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:51 2014 +0000 perf kvm: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022251.3545.83718.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 340481ada1af9322d99e9c1ba874391f53ff4fce Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:49 2014 +0000 perf buildid-cache: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022249.3545.53211.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fb74fbda42dc5bcbd9bae5d75bfb6755948db21d Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:47 2014 +0000 perf sched: Use strerror_r instead of strerror Use strerror_r instead of strerror in error message for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022247.3545.4564.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba3dfff8ad2d98df0c8116faaeb281c93e161636 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:45 2014 +0000 perf test: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022245.3545.91394.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 35550da389ba8752f024a44ef14b74001c4fc4d3 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:43 2014 +0000 perf record: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022243.3545.7411.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 942a91ed3ffff0267944ed3161ae292d0960fd44 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:41 2014 +0000 perf trace: Use strerror_r instead of strerror Use strerror_r instead of strerror in error message for thead-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022241.3545.97543.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 809adea685f7dbc9bdcc38b27d24801c461d8413 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:38 2014 +0000 perf top: Use strerror_r instead of strerror Use strerror_r instead of strerror in error message for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022238.3545.15569.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6e81c74cbf4b64620170da14844f1dc8a9a5950f Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:36 2014 +0000 perf util: Replace strerror with strerror_r for thread-safety Replaces all strerror with strerror_r in util for making the perf lib thread-safe. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022236.3545.3367.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5f03cba41590b5e7db5b66d2b2aa3e146ff8a84f Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:34 2014 +0000 perf probe: Make error messages thread-safe To make error messages thread-safe, this replaces strerror with strerror_r for warnings, and just shows the return value instead of using strerror for debug messages. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022234.3545.22199.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2348e1d8a67c58de44820587fabc4f987eafbb6 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:32 2014 +0000 perf: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. This also introduce STRERR_BUFSIZE macro for the default size of message buffer for strerror_r. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022232.3545.14026.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6eb08660962a91212902869672dab5199827cbfd Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:30 2014 +0000 perf probe: Don't use strerror if strlist__add failed Since the strlist__add doesn't involves any IO, the failure reason must be ENOMEM or EINVAL, moreover this is just a debug message, we don't need to show the error string. And also, if get_probe_trace_command_rawlist() returns NULL, it doesn't mean the rawlist is empty, there is an error. So caller must use -ENOMEM for the error. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022230.3545.99254.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e8232f1ad4682c34e7e774c212ccd0c15bb5aa26 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Aug 14 15:01:38 2014 +0900 perf report: Relax -g option parsing not to limit the option order Current perf report -g/--call-graph option parser requires for option argument having following order: type,min_percent[,print_limit],order,key But sometimes it's annoying to type all even if one just wants to change the "order" or "key" setting. This patch fixes it to remove the ordering restriction so that one can use just "-g caller", for instance. The only remaining restriction is that the "print_limit" always comes after the "min_percent". Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Arun Sharma <asharma@xxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rodrigo Campos <rodrigo@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407996100-6359-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 885b5930d6632fc7df55445d9021b87d8bb17a9b Author: Cody P Schafer <dev@xxxxxxxxxx> Date: Fri Aug 15 00:26:14 2014 -0700 perf tools: Annotate PMU related list_head members with type info So that we can more readily understand in which list heads structs are stored into. Signed-off-by: Cody P Schafer <cody@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Cody P Schafer <dev@xxxxxxxxxx> Cc: Haren Myneni <hbabu@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michael Ellerman <michaele@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1408087583-32239-6-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c4d2df495c5bf05661772abf9b88f2696fd810c4 Author: Elliott Hughes <enh@xxxxxxxxxx> Date: Thu Aug 14 12:39:20 2014 -0700 perf tools: Add arm64 triplets Adds the triplet used for arm64 by Android. Others will want to add their own later. Signed-off-by: Elliott Hughes <enh@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814193920.A7D2D20572@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1e2bb043f171084e5f34816a4268304512d35a46 Author: Alex Converse <aconverse@xxxxxxxxxx> Date: Thu Aug 14 14:03:00 2014 -0700 perf annotate: Don't truncate Intel style addresses Instructions like "mov r9,QWORD PTR [rdx+0x8]" were being truncated to "mov r9,QWORD" by code that assuemd operands cannot have spaces. Signed-off-by: Alex Converse <aconverse@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408050180-14088-1-git-send-email-aconverse@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 92561cb7883194714475c7a7775a11a9c40f75cb Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Aug 15 01:44:32 2014 +0000 perf probe: Warn user to rebuild target with debuginfo Warn user to rebuild target with debuginfo when the perf probe fails to find debug information in the target binary. Without this, perf probe just reports the failure, but it's no hint for users. This gives more hint for users. Without this: $ strip perf $ ./perf probe -x perf -L argv_split Failed to open debuginfo file. Error: Failed to show lines. With this: $ strip perf $ ./perf probe -x perf -L argv_split The /home/fedora/ksrc/linux-3/tools/perf/perf file has no debug information. Rebuild with -g, or install an appropriate debuginfo package. Error: Failed to show lines. The "rebuild with ..." part changes to "rebuild with CONFIG_DEBUG_INFO" if the target is the kernel or a kernel module. Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: yrl.pp-manager.tt@xxxxxxxxxxx Link: http://lkml.kernel.org/r/20140815014432.29869.57941.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 53b954ee4a71e782d7dfcdeee5bf4695caeeb112 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 24 11:20:05 2014 +0300 mac80211: disable 40MHz support in case of 20MHz AP If the AP only advertises support for 20MHz (in the ht operation ie), disable 40MHz and VHT. This can improve interoperability with APs that don't like stations exceeding their own advertised capabilities. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a74a8c846fb699f3277c0c21278bd4c414074b4a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jul 22 14:50:47 2014 +0200 mac80211: don't duplicate station QoS capability data We currently track the QoS capability twice: for all peer stations in the WLAN_STA_WME flag, and for any clients associated to an AP interface separately for drivers in the sta->sta.wme field. Remove the WLAN_STA_WME flag and track the capability only in the driver-visible field, getting rid of the limitation that the field is only valid in AP mode. Reviewed-by: Arik Nemtsov <arik@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4ed91096881449012b14b1e879f40b4a37533e0e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Aug 8 20:27:01 2014 +0200 drm/i915: Track cursor changes as frontbuffer tracking flushes We treat other plane updates in the same fashion. Spotted because Rodrigo kept reporting a bug in the PSR code where the frontbuffer was eternally stuck with a dirty cursor bit set. The psr testcase should have caught this, but that i-g-t is kaputt. Rodrigo is signed up to fix that. Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Tested-by-and-Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f1ad5a1fd4127b3a5e21b8f5ef7f1921a5d3063e Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:41 2014 +0100 drm/i915/bdw: Help out the ctx switch interrupt handler If we receive a storm of requests for the same context (see gem_storedw_loop_*) we might end up iterating over too many elements in interrupt time, looking for contexts to squash together. Instead, share the burden by giving more intelligence to the queue function. At most, the interrupt will iterate over three elements. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e1fee72c2ea2e9c0c6e6743d32a6832f21337d6c Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:40 2014 +0100 drm/i915/bdw: Avoid non-lite-restore preemptions In the current Execlists feeding mechanism, full preemption is not supported yet: only lite-restores are allowed (this is: the GPU simply samples a new tail pointer for the context currently in execution). But we have identified an scenario in which a full preemption occurs: 1) We submit two contexts for execution (A & B). 2) The GPU finishes with the first one (A), switches to the second one (B) and informs us. 3) We submit B again (hoping to cause a lite restore) together with C, but in the time we spend writing to the ELSP, the GPU finishes B. 4) The GPU start executing B again (since we told it so). 5) We receive a B finished interrupt and, mistakenly, we submit C (again) and D, causing a full preemption of B. The race is avoided by keeping track of how many times a context has been submitted to the hardware and by better discriminating the received context switch interrupts: in the example, when we have submitted B twice, we won´t submit C and D as soon as we receive the notification that B is completed because we were expecting to get a LITE_RESTORE and we didn´t, so we know a second completion will be received shortly. Without this explicit checking, somehow, the batch buffer execution order gets messed with. This can be verified with the IGT test I sent together with the series. I don´t know the exact mechanism by which the pre-emption messes with the execution order but, since other people is working on the Scheduler + Preemption on Execlists, I didn´t try to fix it. In these series, only Lite Restores are supported (other kind of preemptions WARN). v2: elsp_submitted belongs in the new intel_ctx_submit_request. Several rebase changes. v3: Clarify how the race is avoided, as requested by Daniel. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Align function parameters ...] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e981e7b17f2b41970e7e2367d4225e0bb3310667 Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Thu Jul 24 17:04:39 2014 +0100 drm/i915/bdw: Handle context switch events Handle all context status events in the context status buffer on every context switch interrupt. We only remove work from the execlist queue after a context status buffer reports that it has completed and we only attempt to schedule new contexts on interrupt when a previously submitted context completes (unless no contexts are queued, which means the GPU is free). We canot call intel_runtime_pm_get() in an interrupt (or with a spinlock grabbed, FWIW), because it might sleep, which is not a nice thing to do. Instead, do the runtime_pm get/put together with the create/destroy request, and handle the forcewake get/put directly. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> v2: Unreferencing the context when we are freeing the request might free the backing bo, which requires the struct_mutex to be grabbed, so defer unreferencing and freeing to a bottom half. v3: - Ack the interrupt inmediately, before trying to handle it (fix for missing interrupts by Bob Beckett <robert.beckett@xxxxxxxxx>). - Update the Context Status Buffer Read Pointer, just in case (spotted by Damien Lespiau). v4: New namespace and multiple rebase changes. v5: Squash with "drm/i915/bdw: Do not call intel_runtime_pm_get() in an interrupt", as suggested by Daniel. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch ...] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit acdd884a2e1b873995c120d5eabd8cab77f48f20 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Jul 24 17:04:38 2014 +0100 drm/i915/bdw: Two-stage execlist submit process Context switch (and execlist submission) should happen only when other contexts are not active, otherwise pre-emption occurs. To assure this, we place context switch requests in a queue and those request are later consumed when the right context switch interrupt is received (still TODO). v2: Use a spinlock, do not remove the requests on unqueue (wait for context switch completion). Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> v3: Several rebases and code changes. Use unique ID. v4: - Move the queue/lock init to the late ring initialization. - Damien's kmalloc review comments: check return, use sizeof(*req), do not cast. v5: - Do not reuse drm_i915_gem_request. Instead, create our own. - New namespace. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v1) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> (v2-v5) Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [davnet: Checkpatch + wash-up s/BUG_ON/WARN_ON/.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ae1250b9da308acd16554365d125b4afb795b825 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:37 2014 +0100 drm/i915/bdw: Write the tail pointer, LRC style Each logical ring context has the tail pointer in the context object, so update it before submission. v2: New namespace. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 84b790f80e5153d8d54074aa4eae49ff3070f2f1 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Jul 24 17:04:36 2014 +0100 drm/i915/bdw: Implement context switching (somewhat) A context switch occurs by submitting a context descriptor to the ExecList Submission Port. Given that we can now initialize a context, it's possible to begin implementing the context switch by creating the descriptor and submitting it to ELSP (actually two, since the ELSP has two ports). The context object must be mapped in the GGTT, which means it must exist in the 0-4GB graphics VA range. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> v2: This code has changed quite a lot in various rebases. Of particular importance is that now we use the globally unique Submission ID to send to the hardware. Also, context pages are now pinned unconditionally to GGTT, so there is no need to bind them. v3: Use LRCA[31:12] as hwCtxId[19:0]. This guarantees that the HW context ID we submit to the ELSP is globally unique and != 0 (Bspec requirements of the software use-only bits of the Context ID in the Context Descriptor Format) without the hassle of the previous submission Id construction. Also, re-add the ELSP porting read (it was dropped somewhere during the rebases). v4: - Squash with "drm/i915/bdw: Add forcewake lock around ELSP writes" (BSPEC says: "SW must set Force Wakeup bit to prevent GT from entering C6 while ELSP writes are in progress") as noted by Thomas Daniel (thomas.daniel@xxxxxxxxx). - Rename functions and use an execlists/intel_execlists_ namespace. - The BUG_ON only checked that the LRCA was <32 bits, but it didn't make sure that it was properly aligned. Spotted by Alistair Mcaulay <alistair.mcaulay@xxxxxxxxx>. v5: - Improved source code comments as suggested by Chris Wilson. - No need to abstract submit_ctx away, as pointed by Brad Volkin. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch. Sigh.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 48e29f5535b9eb506c44bd8f41bd9348fd219435 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:29 2014 +0100 drm/i915/bdw: Emission of requests with logical rings On a previous iteration of this patch, I created an Execlists version of __i915_add_request and asbtracted it away as a vfunc. Daniel Vetter wondered then why that was needed: "with the clean split in command submission I expect every function to know wether it'll submit to an lrc (everything in intel_lrc.c) or wether it'll submit to a legacy ring (existing code), so I don't see a need for an add_request vfunc." The honest, hairy truth is that this patch is the glue keeping the whole logical ring puzzle together: - i915_add_request is used by intel_ring_idle, which in turn is used by i915_gpu_idle, which in turn is used in several places inside the eviction and gtt codes. - Also, it is used by i915_gem_check_olr, which is littered all over i915_gem.c - ... If I were to duplicate all the code that directly or indirectly uses __i915_add_request, I'll end up creating a separate driver. To show the differences between the existing legacy version and the new Execlists one, this time I have special-cased __i915_add_request instead of adding an add_request vfunc. I hope this helps to untangle this Gordian knot. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Adjust to ringbuf->FIXME_lrc_ctx per the discussion with Thomas Daniel.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 14f476fa24e81d0beea1aa14d763102958518d60 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 8 19:15:20 2014 +0100 drm: Use the type of the array element when reallocating Static analysers find it 'suspicious', that we're trying to allocate memory for elements of size sizeof(struct drm_fb_helper_connector) when the array is defined as struct drm_fb_helper_connector **. Use sizeof(struct drm_fb_helper_connector *) instead. Note that the structure being defined as: struct drm_fb_helper_connector { struct drm_connector *connector; }; This was still doing the right thing, but may not in the future if additional fields are added. Cc: Todd Previte <tprevite@xxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c11cda52193dfa459dfea38f00b19bc9325fa922 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 8 18:50:18 2014 +0100 drm: Don't return 0 for a value used as a denominator Static analysis will be unhappy if a function can theoretically return 0 and we're trying to divide by that value. Mark that case that cannot occur as a BUG() instead. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 295ee85316aedfe1878306d71b5e9c7d4498fb1b Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 30 14:23:44 2014 +0200 drm: Docbook fixes Bunch of small leftovers spotted by looking at the make htmldocs output. I've left out dp mst, there's too much amiss there. v2: Also add the missing parameter docbook in the dp mst code - Dave Airlie correctly pointed out that we don't actually want kerneldoc for the missing structure members in header files. Cc: Dave Airlie <airlied@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 29db3cd372d1e75e2fadce5fd9961b7ef271061e Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Feb 8 23:11:00 2014 +0000 HID: hid-sensor-hub: use devm_ functions consistently Use devm_kzalloc for all calls to kzalloc and not just the first. Use devm functions for other allocations as well. The calls to free the allocated memory in the probe and remove functions are done away with and a label is removed in the probe function. The semantic match that finds the inconsistency is as follows: // <smpl> @@ @@ *devm_kzalloc(...) ... *kzalloc(...) // </smpl> Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 582d67f0b19afc2299bc8977aba835d8d25bb591 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:16 2014 +0100 drm/i915: Add temporary ring->ctx backpointer The execlist patches have a bit a convoluted and long history and due to that have the actual submission still misplaced deeply burried in the low-level ringbuffer handling code. This design goes back to the legacy ringbuffer code with its tricky lazy request and simple work submissiion using ring tail writes. For that reason they need a ring->ctx backpointer. The goal is to unburry that code and move it up into a level where the full execlist context is available so that we can ditch this backpointer. Until that's done make it really obvious that there's work still to be done. Cc: Oscar Mateo <oscar.mateo@xxxxxxxxx> Cc: Thomas Daniel <thomas.daniel@xxxxxxxxx> Acked-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a448734902359113b0c7c3454ce4cd56dc1e61f Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 20:05:47 2014 +0100 drm/i915: Print captured bo for all VM in error state The current error state harks back to the era of just a single VM. For full-ppgtt, we capture every bo on every VM. It behoves us to then print every bo for every VM, which we currently fail to do and so miss vital information in the error state. v2: Use the vma address rather than -1! Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 016970beb05da6285c2f3ed2bee1c676cb75972e Author: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Date: Wed Aug 13 23:07:06 2014 +0530 drm/i915: Sharing platform specific sequence between runtime and system suspend/ resume paths On VLV, post S0i3 during i915_drm_thaw following issue is observed during ring initialization. [ 335.604039] [drm:stop_ring] ERROR render ring :timed out trying to stop ring [ 336.607340] [drm:stop_ring] ERROR render ring :timed out trying to stop ring [ 336.607345] [drm:init_ring_common] ERROR failed to set render ring head to zero ctl 00000000 head 00000000 tail 00000000 start 00000000 [ 337.610645] [drm:stop_ring] ERROR bsd ring :timed out trying to stop ring [ 338.613952] [drm:stop_ring] ERROR bsd ring :timed out trying to stop ring [ 338.613956] [drm:init_ring_common] ERROR failed to set bsd ring head to zero ctl 00000000 head 00000000 tail 00000000 start 00000000 [ 339.617256] [drm:stop_ring] ERROR render ring :timed out trying to stop ring [ 339.617258] -----------[ cut here ]----------- [ 339.617267] WARNING: CPU: 0 PID: 6 at drivers/gpu/drm/i915/intel_ringbuffer.c:1666 intel_cleanup_ring+0xe6/0xf0() [ 339.617396] --[ end trace 5ef5ed1a3c92e2a6 ]-- [ 339.617428] [drm:__i915_drm_thaw] ERROR failed to re-initialize GPU, declaring wedged! This is happening since wake is not enabled and Gunit registers are not restored. For this system suspend/resume paths need to follow save/restore and additional platform specific setup in suspend_complete and resume_prepare. suspend_complete is shared unconditionaly for VLV, HSW, BDW. resume_prepare for HSW and BDW has pc8 disabling which is needed during thaw_early so sharing uncondtionally. For VLV and SNB runtime resume specific sequence exists. Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Goel, Akash <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ebc3282409ae4d1e90c2f9608665cc4d8fbf7e73 Author: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Date: Wed Aug 13 23:07:05 2014 +0530 drm/i915: Created common handler for platform specific suspend/resume With this change, intel_runtime_suspend and intel_runtime_resume functions become completely platform agnostic. Platform specific suspend/resume changes are moved to intel_suspend_complete and intel_resume_prepare. Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Goel, Akash <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 804eef14790f8917f74945f82db8b55903f76af4 Author: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 17:12:17 2014 +0200 ath10k: unregister spectral before mac If spectral is unregistered after mac80211, the relayfs file has already been removed recursively by mac/cfg80211, and spectral tries to remove the file once more, thus leading to double free problems. Better clean up spectral before to avoid that problem. Reported-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit beb4be849a92172b4b95185a19db1691e6223f22 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Aug 12 11:45:59 2014 +0100 ath6kl: Add SDIO device ID for QCA6234X Support This patch adds device ID 402 to support QCA6234X found in APQ8064 SOC in IFC6410 board. Tested with mainline mmci sdio driver. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f2bc4d203edf2c5a6054134765ad5935454dc6ea Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Tue Aug 12 11:02:20 2014 +0300 ath10k: fix typo in error message tranmist -> transmit Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a9aefb3b3761a55117c6d1a526ac0305c3be5f46 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Tue Aug 12 11:02:19 2014 +0300 ath10k: improve vdev map handling Check vdev map has space before calling ffs, fix invalid cleanup in failure to create vdev case. Open-code the BIT() logic since BIT does not properly handle 64-bit bitfields and future patches will make use of larger bitfields. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 560cb12a4080a48b84da8b96878cafbd193c4d64 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 16:12:30 2014 +0200 locking,arch: Rewrite generic atomic support Rewrite generic atomic support to only require cmpxchg(), generate all other primitives from that. Furthermore reduce the endless repetition for all these primitives to a few CPP macros. This way we get more for less lines. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140508135852.940119622@xxxxxxxxxxxxx Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-arch@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d4608dd5b4ec13855680b89f719d8d4b2da92411 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 18:31:12 2014 +0100 locking,arch,xtensa: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-xtensa@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.879575796@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4f3316c2b5fe2062c26c9b66915b5a5c80c60a5c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 18:29:28 2014 +0100 locking,arch,sparc: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.825281379@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c6470150dff9aff682063890c9b8eac71b695def Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 18:12:45 2014 +0100 locking,arch,sh: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-sh@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.770036493@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit af095dd60bdc52b11c186c3151e8e38d6faa094c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 18:11:31 2014 +0100 locking,arch,powerpc: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. Requires asm_op because PPC asm is weird :-) Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.713980957@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 15e3f6d782fc6ff7e004b40642ad895b91ae78bf Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 18:04:44 2014 +0100 locking,arch,parisc: Fold atomic_ops OK, no LoC saved in this case because sub was defined in terms of add. Still do it because this also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: James E.J. Bottomley <jejb@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-parisc@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.659342353@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e69a0ef76627005e3e83d0e086e6bb1d247bb65b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 17:59:04 2014 +0100 locking,arch,mn10300: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-am33-list@xxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.605324173@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ef31563e950c60bb41b97c2b61c32de874f3c949 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 17:56:43 2014 +0100 locking,arch,mips: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.521548500@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d6dfe2509da935a15583cace7cd3837b1e8addef Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 19:08:25 2014 +0100 locking,arch,metag: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.453864110@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d839bae4269aea46bff4133066a411cfba5c7c46 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 19:06:34 2014 +0100 locking,arch,m68k: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Requires asm_op due to eor. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140509091646.GO30445@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c9ebe21b204f95e3aba84ee91c8b9347d73806f1 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 19:02:22 2014 +0100 locking,arch,m32r: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hirokazu Takata <takata@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-m32r-ja@xxxxxxxxxxxxxxxxx Cc: linux-m32r@xxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.318635136@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 08be2dab191431f23f5f98ba2db76513d0d853e7 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 18:20:30 2014 +0100 locking,arch,ia64: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-ia64@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.245224472@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 50f853e38b0b90a5703ab14b70e20eb5a8ccd5de Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 18:20:26 2014 +0100 locking,arch,hexagon: Fold atomic_ops OK, no LoC saved in this case because the !return variants were defined in terms of the return ops. Still do it because this also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Richard Kuo <rkuo@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: linux-hexagon@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.171567636@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7179e30ef66a5bae91592ae7fbacf3df6c627dd6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 18:19:25 2014 +0100 locking,arch,cris: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-cris-kernel@xxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.104572724@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d325209b6000dcd13404ee946d2292e15a56718c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 9 21:51:29 2014 +0200 locking,arch,avr32: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Requires the asm_op because of eor. AVR32 is a bit special in that its ADD/SUB instructions are not symmetric. Its SUB instruction allows for an 21bit immediate. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Cc: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140531141445.GD16155@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 92ba1f530b4f90db78eb45f4b6598e75939146bd Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 16:57:20 2014 +0100 locking,arch,arm64: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Requires the asm_op due to eor. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Chen Gang <gang.chen@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135851.995123148@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aee9a55452f0371258e18b41649ce650ff344090 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 16:38:18 2014 +0100 locking,arch,arm: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Requires the asm_op because of eor. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Chen Gang <gang.chen@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nico@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Albin Tonnerre <albin.tonnerre@xxxxxxx> Cc: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135851.939725247@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f7d11e93ee97a37da1947b7c4e1794705a6f360c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 16:29:31 2014 +0100 locking,arch,arc: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140508135851.886055622@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b93c7b8c5b281bf3646d6c5b6e05249b98cc5ab7 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 16:25:53 2014 +0100 locking,arch,alpha: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: linux-alpha@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135851.832107183@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f6b4ecee0eb7bfa66ae8d5652105ed4da53209a3 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 17:02:18 2014 +0200 locking,x86: Kill atomic_or_long() There are no users, kill it. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140508135851.768177189@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f373da34282560c60f0c197690eecb1b2dc49fc0 Merge: ddcd097 1c65056 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Aug 14 10:38:40 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/probe fixes and improvements from Arnaldo Carvalho de Melo: User visible changes: * Do not show +/- callchain expansion when there are no childs (top/report) (Namhyung Kim) * Fix -z and add respective 'z' hotkey to zero samples before refresh in 'perf top' (Namhyung Kim) * Capability probing fixes, improving the detection of kernel features for non-priviledged users (Adrian Hunter) * Add beautifier for mremap flags param in 'trace' (Alex Snast) * Fix --list and --del options to show events when just uprobes is enabled (Masami Hiramatsu) * perf script: Allow callchains if any event samples them * Don't look for kernel idle symbols in all DSOs in 'perf top' (Arnaldo Carvalho de Melo) * Add cpu_startup_entry to the list of kernel idle symbols (Arnaldo Carvalho de Melo) * 'perf top' terminal output fixes (Jiri Olsa) * Fix stdin handling for 'perf kvm stat live' (Jiri Olsa) * Fix missing label symbols (Adrian Hunter) * Don't demangle C++ parameters and such by default, only in --verbose mode (Namhyung Kim) * Set proper sort__mode for the branch option (Naohiro Aota) * Check recorded kernel version when finding vmlinux (Namhyung Kim) Infrastructure changes: * More prep work for intel PT (Adrian Hunter) * Fix possible memory leaks (Namhyung Kim) * Fix a memory leak in vmlinux_path__init() (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13cac15296afe7e42088ecfcd0f1d4b658248c46 Author: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Date: Thu Aug 14 09:35:34 2014 +0200 Bluetooth: Fix ERTM L2CAP resend packet I-Frame which is going to be resend already has FCS field added and set (if it was required). Adding additional FCS field calculated from data + old FCS in resend function is incorrect. This patch fix that. Issue has been found during PTS testing. Signed-off-by: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 069cb27017de6476d47a70fbf144f69200d3e854 Author: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Date: Wed Aug 13 16:01:41 2014 +0200 Bluetooth: Improve data packing in SAR mode There is no need to decrease pdu size with L2CAP SDU lenght in Start L2CAP SDU frame. Start packtet is just 2 bytes longer as specified and we can keep payload as long as possible. When testing SAR L2CAP against PTS, L2CAP channel is usually configured in that way, that SDU = MPS * 3. PTS expets then 3 I-Frames from IUT: Start, Continuation and End frame. Without this fix, we sent 4 I-Frames. We could pass a test by using -b option in l2test and send just two bytes less than SDU length. With this patch no need to use -b option. Signed-off-by: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3bbaf812065e8b0feca02b6c7e5117b731709008 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 14:49:56 2014 +0530 Bluetooth: Remove typedef bt3c_info_t The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for bt3c_info_t. Also, the name of the struct is changed to drop the _t, to make the name look less typedef-like. The following Coccinelle semantic patch detects the case: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 66f4e0e43a0389a7f2814f0cc6df39019aead54f Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 14:52:27 2014 +0530 Bluetooth: Remove typedefs nsh_t and dtl1_info_t The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedefs for nsh_t and dtl1_info_t. Also, the name of the struct is changed to drop the _t, to make the name look less typedef-like. The following Coccinelle semantic patch detects the case for dtl1_info_t and a similar patch finds the nsh_t case: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ad709d4867985de0b239d01702f9ac6bb578099e Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 14:51:39 2014 +0530 Bluetooth: Remove typedef btuart_info_t The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for btuart_info_t. Also, the name of the struct is changed to drop the _t, to make the name look less typedef-like. The following Coccinelle semantic patch detects the case: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d664cd9895b498da4fea3b43c72b4aacfc4126a2 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 14:53:31 2014 +0530 Bluetooth: Remove typedef bluecard_info_t The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for bluecard_info_t. Also, the name of the struct is changed to drop the _t, to make the name look less typedef-like. The following Coccinelle semantic patch detects the case: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f55889128a776b51581394b20abd0b470304cf95 Author: Varka Bhadram <varkab@xxxxxxx> Date: Mon Aug 11 13:25:10 2014 +0200 mac802154: common tx error path This patch introduce the common error path on failure of Tx by inserting the label 'err_tx'. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0ba1f94e72b811215ce2f4610fe0f6cf88f4b28a Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 11 13:25:09 2014 +0200 ieee802154: 6lowpan: remove unused function Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b288a4963f09459c29cca240d3352cc7915710fc Author: Varka Bhadram <varkab@xxxxxxx> Date: Mon Aug 11 13:25:08 2014 +0200 mac802154: common error path By introducing label fail, making the common error path for mac802154_llsec_decrypt() and packet type default case. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 24bbd44a96c7a209fafbf1b28f0ac1a00cf4e551 Author: Varka Bhadram <varkab@xxxxxxx> Date: Mon Aug 11 13:25:07 2014 +0200 mac802154: cleanup in rx path This patch replace the sizeof(struct rx_work) with sizeof(*work) and directly passing the skb in mac802154_subif_rx() Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6f48e260a95c1a0161e5be39adb0f20c737fe459 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:44 2014 +0300 Bluetooth: Make smp_chan_destroy() private to smp.c There are no external users of smp_chan_destroy() so make it private to smp.c. The patch also moves the function higher up in the c-file in order to avoid forward declarations. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 86d1407cb9cd3cb866eae24a2aedb8006160db69 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:43 2014 +0300 Bluetooth: Always call smp_distribute_keys() from a workqueue The smp_distribute_keys() function calls smp_notify_keys() which in turn calls l2cap_conn_update_id_addr(). The l2cap_conn_update_id_addr() function will iterate through all L2CAP channels for the respective connection: lock the channel, update the address information and unlock the channel. Since SMP is now using l2cap_chan callbacks each callback is called with the channel lock held. Therefore, calling l2cap_conn_update_id_addr() would cause a deadlock calling l2cap_chan_lock() on the SMP channel. This patch moves calling smp_distribute_keys() through a workqueue so that it is never called from an L2CAP channel callback. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 109ec2309eb996fbe03302fbd40dec9014c6f849 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:42 2014 +0300 Bluetooth: Move canceling security_timer into smp_chan_destroy() All places needing to cancel the security timer also call smp_chan_destroy() in the same go. To eliminate the need to do these two calls in multiple places simply move the timer cancellation into smp_chan_destroy(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 276d807317dead63ef2f13aa46e3c17d57ba0713 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:41 2014 +0300 Bluetooth: Remove unused l2cap_conn->security_timer Now that there are no-longer any users for l2cap_conn->security_timer we can go ahead and simply remove it. The patch makes initialization of the conn->info_timer unconditional since it's better not to leave any l2cap_conn data structures uninitialized no matter what the underlying transport. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b68fda6848ebef3499905500971d40b84faa8319 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:40 2014 +0300 Bluetooth: Add SMP-internal timeout callback This patch adds an SMP-internal timeout callback to remove the depenency on (the soon to be removed) l2cap_conn->security_timer. The behavior is the same as with l2cap_conn->security_timer except that the new l2cap_conn_shutdown() public function is used instead of the L2CAP core internal l2cap_conn_del(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8ae9b9845b3252216cf5d2e033e5cca41bae48ef Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:39 2014 +0300 Bluetooth: Fix double free of SMP data skb In the case that the SMP recv callback returns error the calling code in l2cap_core.c expects that it still owns the skb and will try to free it. The SMP code should therefore not try to free the skb if it return an error. This patch fixes such behavior in the SMP command handler function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4befb867b9de8adc56c683f4cf6c9e6c035e94e3 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:38 2014 +0300 Bluetooth: Call l2cap_conn_shutdown() when SMP recv callback fails To restore pre-l2cap_chan functionality we should be trying to disconnect the connection when receviving garbage SMP data (i.e. when the SMP command handler fails). This patch renames the command handler back to smp_sig_channel() and adds a smp_recv_cb() wrapper function for calling it. If smp_sig_channel() fails the code calls l2cap_conn_shutdown(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dec5b49235e2526d7aacf5b93ea48f5e30c2f7c3 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:37 2014 +0300 Bluetooth: Add public l2cap_conn_shutdown() API to request disconnection Since we no-longer do special handling of SMP within l2cap_core.c we don't have any code for calling l2cap_conn_del() when smp.c doesn't like the data it gets. At the same time we cannot simply export l2cap_conn_del() since it will try to lock the channels it calls into whereas we already hold the lock in the smp.c l2cap_chan callbacks (i.e. it'd lead to a deadlock). This patch adds a new l2cap_conn_shutdown() API which is very similar to l2cap_conn_del() except that it defers the call to l2cap_conn_del() through a workqueue, thereby making it safe to use it from an L2CAP channel callback. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 44f1a7ab51ebe1ca189445837e0599a5edc6efb1 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:36 2014 +0300 Bluetooth: Use L2CAP resume callback to call smp_distribute_keys There's no need to export the smp_distribute_keys() function since the resume callback is called in the same scenario. This patch makes the smp_notify_keys function private (at the same time moving it higher up in smp.c to avoid forward declarations) and adds a resume callback for SMP to call it from there instead. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 89d2975fa06e66ea0d3665d91f799fb1ce4b8bad Author: Vincent Zwanenburg <vincentz@xxxxxxxxxx> Date: Fri Aug 8 12:33:56 2014 +0100 Add a new PID/VID 0227/0930 for AR3012. usb devices info: T: Bus=01 Lev=02 Prnt=05 Port=00 Cnt=01 Dev#= 20 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0930 ProdID=0227 Rev= 0.02 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=01 I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms Signed-off-by: Vincent Zwanenburg <vincentz@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ebef9c1236170fb3ba4dc05ccb41f6d842eb1c12 Author: Varka Bhadram <varkab@xxxxxxx> Date: Fri Aug 8 17:32:45 2014 +0530 MAINTAINERS: update maintainers info adds the mailing list address for bluetooth 6loWPAN and IEEE-802.15.4 subsystems. Also adds web page info. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4807b51895dce8aa650ebebc51fa4a795ed6b8b8 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Fri Aug 8 19:07:16 2014 +0200 Bluetooth: Fix HCI H5 corrupted ack value In this expression: seq = (seq - 1) % 8 seq (u8) is implicitly converted to an int in the arithmetic operation. So if seq value is 0, operation is ((0 - 1) % 8) => (-1 % 8) => -1. The new seq value is 0xff which is an invalid ACK value, we expect 0x07. It leads to frequent dropped ACK and retransmission. Fix this by using '&' binary operator instead of '%'. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5d88cc73dded31a93fcc4821f33a8c3d755bf454 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:37:18 2014 +0300 Bluetooth: Convert SMP to use l2cap_chan infrastructure Now that we have all the necessary pieces in place we can fully convert SMP to use the L2CAP channel infrastructure. This patch adds the necessary callbacks and removes the now unneeded conn->smp_chan pointer. One notable behavioral change in this patch comes from the following code snippet: - case L2CAP_CID_SMP: - if (smp_sig_channel(conn, skb)) - l2cap_conn_del(conn->hcon, EACCES); This piece of code was essentially forcing a disconnection if garbage SMP data was received. The l2cap_conn_del() function is private to l2cap_conn.c so we don't have access to it anymore when using the L2CAP channel callbacks. Therefore, the behavior of the new code is simply to return errors in the recv() callback (which is simply the old smp_sig_channel()), but no disconnection will occur. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit defce9e83666658d4420d65e45ab1ad190992f72 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:37:17 2014 +0300 Bluetooth: Make AES crypto context private to SMP Now that we have per-adapter SMP data thanks to the root SMP L2CAP channel we can take advantage of it and attach the AES crypto context (only used for SMP) to it. This means that the smp_irk_matches() and smp_generate_rpa() function can be converted to internally handle the AES context. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 70db83c4bcdc1447bbcb318389561c90d7056b18 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:37:16 2014 +0300 Bluetooth: Add SMP L2CAP channel skeleton This patch creates the initial SMP L2CAP channels and a skeleton for their callbacks. There is one per-adapter channel created upon adapter registration, and then one channel per-connection created through the new_connection callback. The channels are registered with the reserved CID 0x1f for now in order to not conflict with existing SMP functionality. Once everything is in place the value can be changed to what it should be, i.e. L2CAP_CID_SMP. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f193844c51e88ea3d2137bb0c1d38d27d37691a2 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:37:15 2014 +0300 Bluetooth: Add more L2CAP convenience callbacks In preparation for converting SMP to use l2cap_chan it's useful to add a few more callback helpers so that smp.c won't need to define all of its own. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 711eafe345d993cf4831e890fa989d02c06cad62 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:32:52 2014 +0300 Bluetooth: Move SMP (de)initialization to smp.c As preparation for moving SMP to use l2cap_chan infrastructure we need to move the (de)initialization functions to smp.c (where they'll eventually need access to the local L2CAP channel callbacks). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 54506918059a5bdbf396f34f2e0a2735803024db Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:32:51 2014 +0300 Bluetooth: Move SMP initialization after HCI init First of all, it's wasteful to initialize SMP if it's never going to be used (e.g. on non-LE controllers). Second of all, when we move to use l2cap_chan we need to know the real local address, meaning we must have completed at least part of the HCI init. This patch moves the SMP initialization to after the HCI init procedure and makes it depend on whether the controller actually supports LE. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 222916e3e509f04678d0b6f13f7b17bbc8dd14b6 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:32:50 2014 +0300 Bluetooth: Refactor SMP (de)initialization into separate functions As preparation for converting SMP to use the l2cap_chan infrastructure refactor the (de)initialization into separate functions. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 893ededeb189aa48c308116a7acd793efae5c830 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:32:49 2014 +0300 Bluetooth: Fix IRK lookup when tfm_aes is not available If the AES crypto has not been initialized properly we should cleanly return from the hci_find_irk_by_rpa() function. Right now this will not happen in practice, but once (in subsequent patches) SMP init is moved to after the HCI init procedure it is possible that the pointer is NULL. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fabed38fcf456cc5d3e6946fab78855aa65bd40b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:32:48 2014 +0300 Bluetooth: Fix hci_update_random_address() error return for no crypto If the AES crypto context is not available we cannot generate new RPAs. We should therefore cleanly return an error from the function responsible for updating the random address. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d3368605591b88cd8af522adadb1c460a8f8e7bb Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:28:05 2014 +0300 Bluetooth: Fix using HCI_CONN_LE_SMP_PEND to check for SMP context The code is consistently using the HCI_CONN_LE_SMP_PEND flag check for the existence of the SMP context, with the exception of this one place in smp_sig_channel(). This patch converts the place to use the flag just like all other instances. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 79a0572736ad4b9cac7be72d4402f9c79db8ebaf Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:28:04 2014 +0300 Bluetooth: Call l2cap_le_conn_ready after notifying channels For most cases it makes no difference whether l2cap_le_conn_ready() is called before or after calling the channel ready() callbacks, however for upcoming SMP code we need this as the ready() callback initializes certain structures that a call to smp_conn_security() from l2cap_le_conn_ready() depends on. Therefore, move the call to l2cap_le_conn_ready() after iterating through and notifying channels. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72847ce02180e8a0be1b23ba53ffe437cdb25d6a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:28:03 2014 +0300 Bluetooth: Call L2CAP teardown callback before clearing chan->conn L2CAP channel implementations may want to still access the chan->conn pointer. This will particularly be the case for SMP that will want to clear a reference to the SMP channel in the l2cap_conn structure. The only user of the teardown callback so far is l2cap_sock.c and for the code there it makes no difference whether the callback is called before or after clearing the chan->conn pointer. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 148243087b3a5d95a32825da26858dc9d893b141 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:50 2014 +0300 Bluetooth: Move parts of fixed channel initialization to l2cap_add_scid The l2cap_add_scid function is used for registering a fixed L2CAP channel. Instead of having separate initialization of the channel type and outgoing MTU in l2cap_sock.c it's more intuitive to do these things in the l2cap_add_scid function itself (and thereby make the functionality available to other users besides l2cap_sock.c). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 06171e0546434b006a3857ea745b4258ad5d677c Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:49 2014 +0300 Bluetooth: Remove special ATT data channel handling Now that we've got the fixed channel infrastructure cleaned up in a generic way there's no longer a need to have a dedicated function for handling data on the ATT channel. Instead the generic l2cap_data_channel() handler will be able to do the exact same thing. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 54a1b626c96039f172dd2ea15b2671053b3c5a68 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:48 2014 +0300 Bluetooth: Improve fixed channel lookup based on link type When notifying global fixed channels of new connections it doesn't make sense to consider channels meant for a different link type than the one available. This patch adds an extra parameter to the l2cap_global_fixed_chan() lookup function and ensures that only channels matching the current hci_conn type are looked up. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e760ec12134d5736065c4e88b0e783cc1fe0d20a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:47 2014 +0300 Bluetooth: Move L2CAP fixed channel creation into l2cap_conn_cfm In order to remove special handling of fixed L2CAP channels we need to start creating them in a single place instead of having per-channel exceptions. The most natural place is the l2cap_conn_cfm() function which is called whenever there is a new baseband link. The only really special case so far has been the ATT socket, so in order not to break the code in between this patch removes the ATT special handling at the same time as it adds the generic fixed channel handling from l2cap_le_conn_ready() into the hci_conn_cfm() function. As a related change the channel locking in l2cap_conn_ready() becomes simpler and we can thereby move the smp_conn_security() call into the l2cap_le_conn_ready() function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dc0f5088182b2e48ae47629a55bdf35ad5d6ed44 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:46 2014 +0300 Bluetooth: Refactor l2cap_connect_cfm This patch is a simple refactoring of l2cap_connect_cfm to allow easier extension of the function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 191eb398c677444bc08cb4497467ca9e2b8696bc Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:45 2014 +0300 Bluetooth: Remove special handling of ATT in l2cap_security_cfm() With the update to sk->resume() and __l2cap_no_conn_pending() we no-longer need to have special handling of ATT channels in the l2cap_security_cfm() function. The chan->sec_level update when encryption has been enabled is safe to do for any kind of channel, and the loop takes later care of calling chan->ready() or chan->resume() if necessary. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d52deb17489b8155e031fb1a9f116c602d719e11 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:44 2014 +0300 Bluetooth: Resume BT_CONNECTED state after LE security elevation The LE ATT socket uses a special trick where it temporarily sets BT_CONFIG state for the duration of a security level elevation. In order to not require special hacks for going back to BT_CONNECTED state in the l2cap_core.c code the most reasonable place to resume the state is the resume callback. This patch adds a new flag to track the pending security level change and ensures that the state is set back to BT_CONNECTED in the resume callback in case the flag is set. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5ff6f34d4260c542df3712e29ead87cf071ad472 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:43 2014 +0300 Bluetooth: Fix __l2cap_no_conn_pending() usage with all channels The __l2cap_no_conn_pending() function would previously only return a meaningful value for connection oriented channels and was therefore not useful for anything else. As preparation of making the L2CAP code more generic allow the function to be called for other channel types as well by returning a meaningful value for them. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a24cce144b9814a17f46006dbad6056f1f5f481e Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:42 2014 +0300 Bluetooth: Fix reference counting of global L2CAP channels When looking up entries from the global L2CAP channel list there needs to be a guarantee that other code doesn't go and remove the entry after a channel has been returned by the lookup function. This patch makes sure that the channel reference is incremented before the read lock is released in the global channel lookup functions. The patch also adds the corresponding l2cap_chan_put() calls once the channels pointers are no-longer needed. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2b29349044cc2cf74d4c6e23e26cd27977d91353 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 10:03:32 2014 +0300 Bluetooth: Fix confusion between parent and child channel for 6lowpan The new_connection L2CAP channel callback creates a new channel based on the provided parent channel. The 6lowpan code was confusingly naming the child channel "pchan" and the parent channel "chan". This patch swaps the names. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5fcb93475697911eb239f68241903eb5540803ac Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 10:03:31 2014 +0300 Bluetooth: Remove redundant check for remote_key_dist In the smp_cmd_sign_info() function the SMP_DIST_SIGN bit is explicitly cleared early on in the function. This means that there's no need to check for it again before calling smp_distribute_keys(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 22f433dcf7c71cf075e4c42b5f36ea4352978a6d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 1 11:13:32 2014 +0300 Bluetooth: Disable page scan if all whitelisted devices are connected When we're not connectable and all whitelisted (BR/EDR) devices are connected it doesn't make sense to keep page scan enabled. This patch adds code to check for any disconnected whitelist devices and if there are none take the appropriate action in the hci_update_page_scan() function to disable page scan. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 432df05eb1e57adfc46df08abbedca6c3b8862f7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 1 11:13:31 2014 +0300 Bluetooth: Create unified helper function for updating page scan Similar to our hci_update_background_scan() function we can simplify a lot of code by creating a unified helper function for doing page scan updates. This patch adds such a function to hci_core.c and updates all the relevant places to use it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 84c61d92bb6e9048eecc0738a83f1bf66f053026 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 1 11:13:30 2014 +0300 Bluetooth: Add convenience function to check for pending power off There are several situations where we're interested in knowing whether we're currently in the process of powering off an adapter. This patch adds a convenience function for the purpose and makes it public since we'll soon need to access it from hci_event.c as well. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1c65056c547141a0cb52fb8e6056f63524d2bbf2 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:56 2014 +0300 perf evlist: Add perf_evlist__enable_event_idx() Add a function to enable a specific event within a specific perf event buffer. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-14-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bf4939027decde7aaaf8b5dbeee70126d2822eb6 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:01:04 2014 +0300 perf tools: Add flags and insn_len to struct sample The flags will be used to export branch type and transaction status. insn_len is preparation for pairing calls and returns because the return address equals the call address plus the instruction length (insn_len). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-22-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cfe1c41405fe9a559f8b3c24c904b2bb42d4a6e8 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:45 2014 +0300 perf machine: Add machine__thread_exec_comm() Add machine__thread_exec_comm() to return the comm that matches the last exec, if the comm_exec flag is present, or the last comm otherwise. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 65de51f93ebf9305ec011da59c0b5fe29429d1b9 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:44 2014 +0300 perf tools: Identify which comms are from exec For grouping together all the data from a single execution, which is needed for pairing calls and returns e.g. any outstanding calls when a process exec's will never return. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-2-git-send-email-adrian.hunter@xxxxxxxxx [ Remove testing if comm->exec is false before setting it to true ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5563edfa1bd25d052d81f5ad7fe74ba71c3d44e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:01:01 2014 +0300 perf script python: Add helpers for calling Python objects The Python script API repeatedly uses the same lines of code to get and call objects. Make that into helper functions instead. A side-effect is that some reference counting bugs disappear because the new call_object() function always decrements the reference count of 'retval'. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-19-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 98526ee7229be8537373aebe037b74cac112d84b Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:59 2014 +0300 perf script: Allow callchains if any event samples them perf script was not displaying callchains if any selected event did not have PERF_SAMPLE_CALLCHAIN. Change this to disable callchains only if all selected events do not have PERF_SAMPLE_CALLCHAIN. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-17-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5a52f33adf02a3e5eafdc1e597a3fe172e620bec Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:57 2014 +0300 perf session: Add perf_session__peek_event() Add a function to peek at other events in the event stream. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-15-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 60b0896cc35243f515eda2085f9897e296177e45 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:52 2014 +0300 perf evlist: Add perf_evlist__set_tracking_event() Add a function to change which event is used to track mmap, comm and task events. This is needed with Instruction Tracing because the Instruction Tracing event must come first but cannot be used for tracking because it will be disabled under some circumstances. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-10-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bf8e8f4b832972c76d64ab2e2837a48397144887 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:51 2014 +0300 perf evlist: Add 'system_wide' option Add an option to cause a selected event to be opened always without a pid when configured by perf_evsel__config(). This is needed when using the sched_switch tracepoint to follow object code execution. sched_switch occurs before the task switch and so it cannot record it in a context limited to that task. Note that also means that sched_switch is useless when capturing data per-thread, as is the 'context-switches' software event for the same reason. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-9-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f247fb8191aa7f10d3f6c987e8ef0853ae789a02 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:46 2014 +0300 perf symbols: Fix missing label symbols Label symbols are missing because elf_sec__is_a() fails to find the section because the section strings do not match the section headers because the sections headers are from the 'runtime' object and the sections strings are from the 'symbol source' object. Fix by getting the section strings from the 'runtime' object so that they match the section headers. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e71e79457b79a52827039d9d7f253321bfd342bd Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:42 2014 +0900 perf symbols: Don't demangle parameters and such by default Some C++ symbols have very long name and they make column length longer. Most of them are about parameters including templates and we can ignore such info most of time IMHO. This patch passes DMGL_NO_OPTS by default when calling bfd_demangle(). One can still see full symbols with -v/--verbose option. before: JS_CallFunctionValue(JSContext*, JSObject*, JS::Value, unsigned int, JS::Value*, JS::Value*) after: JS_CallFunctionValue Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-9-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 42337a222c93cd22864f20ef9b157765ab1086a0 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 17:16:06 2014 +0900 perf top: Handle 'z' key for toggle zeroing samples in TUI The perf top TUI lacks 'z' key support to toggle sample zeroing. Add it. Reported-by: Stephane Eranian <eranian@xxxxxxxxxx> Tested-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407831366-28892-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 701937bd59cc94b6913086feb62f05ae565ff2de Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 17:16:05 2014 +0900 perf top: Fix -z option behavior The current -z option does almost nothing. It doesn't zero the existing samples so that we can see profiles of exited process after last refresh. It seems it only affects annotation. This patch clears existing entries before processing if -z option is given. For this original decaying logic also moved before processing. Reported-by: Stephane Eranian <eranian@xxxxxxxxxx> Tested-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407831366-28892-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit edd114e213751c3274891f692be66eb65771f278 Author: naota@xxxxxxxxx <naota@xxxxxxxxx> Date: Thu Aug 7 00:04:49 2014 +0900 perf report: Set proper sort__mode for the branch option When you specify "--branch-stack"("-b" for short) or "--no-branch-stack", "branch_mode" variable is set to 1 or 0 respectively. However, the code is just checking if the variable is -1 or not, ignoring "branch_mode == 1" case. Thus "perf report -b" dose not show its result with the branch sorted mode. This patch fix the problem. Signed-off-by: Naohiro Aota <naota@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/87y4v1fylq.fsf@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 82162b5ae3d152fd7d887b36213f5b6785fe1294 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Aug 13 15:02:41 2014 +0900 perf hists browser: Fix a small callchain display bug The currently when perf TUI report shows callchain, the first level chains have bogus '+' sign even though only the last one has children. Since they are on a single line of the chain, toggling intermediate entries has no effect. Fix it to show '+' sign at the last entry only. Note that non-first level callchain entries don't have this problem. Before: --------------------------------------------------------------------------- Children Self Command Shared Object Symbols - 40.70% 0.00% swapper [kernel.kallsyms] [k] cpuidle_wrap_enter + cpuidle_wrap_enter + cpuidle_enter_tk + cpuidle_idle_call + cpu_idle After: --------------------------------------------------------------------------- Children Self Command Shared Object Symbols - 40.70% 0.00% swapper [kernel.kallsyms] [k] cpuidle_wrap_enter cpuidle_wrap_enter cpuidle_enter_tk cpuidle_idle_call + cpu_idle Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407909761-10822-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0a7e6d1b6844bec2d6817615a693c7fce447b80d Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:45 2014 +0900 perf tools: Check recorded kernel version when finding vmlinux Currently vmlinux_path__init() only tries to find vmlinux file from current directory, /boot and some canonical directories with version number of the running kernel. This can be a problem when reporting old data recorded on a kernel version not running currently. We can use --symfs option for this but it's annoying for user to do it always. As we already have the info in the perf.data file, it can be changed to use it for the search automatically. Before: $ perf report ... # Samples: 4K of event 'cpu-clock' # Event count (approx.): 1067250000 # # Overhead Command Shared Object Symbol # ........ .......... ................. .............................. 71.87% swapper [kernel.kallsyms] [k] recover_probed_instruction After: # Overhead Command Shared Object Symbol # ........ .......... ................. .................... 71.87% swapper [kernel.kallsyms] [k] native_safe_halt This requires to change signature of symbol__init() to receive struct perf_session_env *. Reported-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-14-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb2ffae241cfdd6d90acb7ec5f52ad8401885dd2 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:44 2014 +0900 perf trace: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-13-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc5c8190b800dc59eff6bb2aa47ea749712197df Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:43 2014 +0900 perf timechart: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-12-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 38520dc31206bae1dc811ddd59ccea3a6536784d Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:42 2014 +0900 perf script: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-11-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0493410612486cadaa4e076caf4df3fa9cd20fde Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:41 2014 +0900 perf sched: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-10-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6fd6c6b462c55f33c20f38051f1116dc52054d67 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:40 2014 +0900 perf lock: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-9-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 14d37f38e956ba0dd4f2206f68534eb418ecd905 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:39 2014 +0900 perf kvm: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-8-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2b2b2c68c64fb9db392940b42355944064f2a4ca Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:38 2014 +0900 perf kmem: Move session handling out of __cmd_kmem() This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-7-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1cb8bdcca0e2f738a492c3857568cf34ba4a4373 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:37 2014 +0900 perf inject: Move session handling out of __cmd_inject() This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-6-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e3ed75bb537a860a375ca1e09ad1b87c707f1636 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:36 2014 +0900 perf buildid-cache: Move session handling into cmd_buildid_cache() This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-5-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fa10f316d59f39020d19d3f4a323598d05afa65c Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:35 2014 +0900 perf annotate: Move session handling out of __cmd_annotate() This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e96c674fe2c228fd5c16fd7a7607c60dea4cdaa2 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:34 2014 +0900 perf symbols: Fix a memory leak in vmlinux_path__init() When uname() failed, it should free vmlinux_path. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6cc870f09da4d50722bc1caa27cad51733ce36f6 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:33 2014 +0900 perf script: Fix possible memory leaks Some paths in perf script don't call perf_session__delete() after creating a new session. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-2-git-send-email-namhyung@xxxxxxxxxx [ Saved errno value before calling perror(), as pointed out by Adrian Hunter ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6edb53c4993ffe92ce521fb449d1c146cea6ec2 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Aug 12 18:04:31 2014 +0300 perf tools: Prefer to use a cpu-wide event for probing CLOEXEC When doing a system-wide trace with Intel PT, the jump label set up as a result of probing CLOEXEC gets reset while the trace is running. That causes an Intel PT decoding error because the object code (obtained from /proc/kcore) does not match the running code at that point. While we can't expect there never to be jump label changes, we can avoid cases that the perf tool itself creates. The problem is avoided by first trying a cpu-wide event (pid = -1) for probing the PERF_FLAG_FD_CLOEXEC flag and falling back to an event for the current process (pid = 0). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407855871-15024-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 46ec69add5df60310147ce3ce01a662053d82a1e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Aug 12 18:04:30 2014 +0300 perf tools: Fix probing the kernel API with cpu-wide events Fall back to probing with the current pid if cpu-wide probing fails. This primarily affects the setting of comm_exec flag when the user is un-privileged and /proc/sys/kernel/perf_event_paranoid > 0. The change to comm_exec can be observed by using -vv with perf record and a kernel that supports comm_exec. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407855871-15024-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c6fa35659c5fae5f9aeb6874b177baeb2adbc02e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Aug 12 18:04:29 2014 +0300 perf tools: Fix one of the probe events to exclude kernel When probing the kernel API the kernel should be excluded otherwise the probe will fail for users with insufficient privilege to profile the kernel. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407855871-15024-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5b0153c880c2775bf5bdd78306f0a47e860ea04 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Aug 12 18:04:28 2014 +0300 perf tools: Fix CLOEXEC probe for perf_event_paranoid == 2 With /proc/sys/kernel/perf_event_paranoid set to 2, the probe of PERF_FLAG_FD_CLOEXEC would fail. Fix by excluding kernel profiling from the probe event. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407855871-15024-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 86998dda5d244f4b1b994dfe34a677f3b70cfdd3 Author: Alex Snast <asnast@xxxxxxxxx> Date: Wed Aug 13 18:42:40 2014 +0300 perf trace: Add beautifier for mremap flags param ~/devel/kernel/tools/perf(branch:master*) » sudo ./perf trace ~/mremap_test 0.543 ( 0.003 ms): mprotect(start: 0x600000, len: 4096, prot: READ ) = 0 0.550 ( 0.003 ms): mprotect(start: 0x7f441260d000, len: 4096, prot: READ) = 0 0.561 ( 0.010 ms): munmap(addr: 0x7f44125e2000, len: 165572 ) = 0 0.595 ( 0.012 ms): mmap(len: 12288, prot: READ|WRITE, flags: SHARED|ANONYMOUS|LOCKED, fd: -1) = 0x12608000 0.603 ( 0.006 ms): mremap(addr: 0x7f4412608000, old_len: 4096, new_len: 4096, flags: MAYMOVE|FIXED, new_addr: 0x7f16da295000) = 0xda295000 0.608 ( 0.003 ms): mremap(addr: 0x7f441260a000, old_len: 4096, new_len: 4096, flags: MAYMOVE|FIXED, new_addr: 0x7f16da297000) = 0xda297000 0.612 ( 0.003 ms): mremap(addr: 0x7f4412609000, old_len: 4096, new_len: 4096, flags: MAYMOVE|FIXED, new_addr: 0x7f16da296000) = 0xda296000 0.619 ( 0.000 ms): exit_group( Signed-off-by: Alex Snast <asnast@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407944560-26924-1-git-send-email-asnast@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 467ec08567483e3868f240b1ee03808970e06388 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Aug 13 16:12:50 2014 +0000 perf probe: Fix --del option to delete events only with uprobe events Current perf probe --del doesn't work if only CONFIG_UPROBE_EVENTS=y because it aborts when it fails to open kprobe_events file before checking uprobe_events file. This fixes --del option to delete dynamic events if it can open either kprobe_events or uprobe_events. Only if it failed to open both of them, it shows an error message and aborts. Without this patch, if we run perf probe -d on the kernel configured with CONFIG_KPROBE_EVENTS=n and CONFIG_UPROBE_EVENTS=y, # perf probe -d \* kprobe_events file does not exist - please rebuild kernel with CONFIG_KPROBE_EVENTS. Error: Failed to delete events. With this patch, # perf probe -d \* Removed event: probe_perf:alloc_event Changes in v2: - Use strerror_r instead of strerror. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140813161250.26440.24028.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5e45187cc94814d2a5324bc18af994efc4fb4f7c Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Aug 13 16:12:48 2014 +0000 perf probe: Fix --list option to show events only with uprobe events Current perf probe --list doesn't work if only CONFIG_UPROBE_EVENTS=y because it aborts when it fails to open kprobe_events file before checking uprobe_events file. This fixes --list option to show dynamic events if it can open either kprobe_events or uprobe_events. Only if it failed to open both of them, it shows an error message and aborts. Without this patch, if we run perf probe -l on the kernel configured with CONFIG_KPROBE_EVENTS=n and CONFIG_UPROBE_EVENTS=y, # perf probe -l /sys/kernel/debug/tracing/kprobe_events file does not exist - please rebuild ker Error: Failed to show event list. With this patch, # perf probe -l probe_perf:alloc_event (on alloc_event@lib/traceevent/event-parse.c in /home/fedora/ksrc/linux-3/tools/perf/perf) Changes in v2: - Use strerror_r instead of strerror. Reported-by: Naohiro Aota <naota@xxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140813161248.26440.84370.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d177143c3670aa57ee08c73880beb55ee9d8ab7c Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Fri Aug 8 14:47:21 2014 +0800 ASoC: fsl_esai: refine esai for TDM support Original driver didn't store the number of slots, just fix the slot number to 2, use this default number to calculate bclk and pins for TX/RX. In this patch, add one parameter for slots, and update the calculation of bclk and pins of TX/RX. Then driver will be compatible with slots > 2 in TDM mode. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d5b4130ae636e1fd0eaaea7152170198c34fbf62 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 11 10:50:09 2014 +0200 perf kvm: Fix stdin handling for 'kvm stat live' command Currently the initial ~(ICANON | ECHO) terminal mode is not set, so we dont get stdin data until we press ENTER. Fixing this by early setting of the ~(ICANON | ECHO) mode and leaving this mode for whole life of the command, because canonical mode is not needed. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407747014-18394-16-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4a1a99712a8a13d97e9de818869bf1b88583d6bc Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 11 10:50:07 2014 +0200 perf top: Setup signals for terminal output The TUI code setup standard signals handling, while the stdio display code does not. This leads to premature termination of display thread when signal is received and leaving terminal in wrong state. Also adding terminal cleanup at the end of display thread, to ensure we get the old terminal state in case of signal interruption. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407747014-18394-14-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9398c484f8abc8d287cb90f5a33dd43ac26f24ef Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 11 10:50:02 2014 +0200 perf tools: Introduce set_term_quiet_input helper function Adding set_term_quiet_input helper to set the terminal quiet, out from 'perf top', used in following patches in 'perf kvm'. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407747014-18394-9-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ae256fa27118e54b0f093f0cfe2ada28f1704ef3 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 11 10:50:05 2014 +0200 perf top: Join the display thread on exit We create the display thread, but never join it. It gives the display thread a chance to quit and cleanup properly. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407747014-18394-12-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e0336ed66f5dd974e02b1af4a81bb567a2391e45 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Aug 8 18:02:41 2014 -0300 perf tools: Add cpu_startup_entry to the list of kernel idle symbols Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-oh4lrofvrqqv1eyslh7m4rq4@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e7110b9fb901dcc022afd358386c1be69658af7d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Aug 8 18:00:39 2014 -0300 perf top: Don't look for kernel idle symbols in all DSOs The 'top' tool initially supported only kernel symbols, when making it support userspace symbols we forgot to make the symbol filter first check that the DSO is the kernel one. Fix it. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> c: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-54haztkeigmbump5sexxnzhv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 82e3b8c130f046b7dd1e7898c10e40edb52fee6d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 13:09:46 2014 +0100 drm/i915: Localise the fbdev console lock frobbing Rather than take and release the console_lock() around a non-existent DRM_I915_FBDEV, move the lock acquisation into the callee where it will be compiled out by the config option entirely. This includes moving the deferred fb_set_suspend() dance and encapsulating it entirely within intel_fbdev.c. v2: Use an integral work item so that we can explicitly flush the work upon suspend/unload. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> [danvet: Add the flush_work in fbdev_fini per the mailing list discussion. And s/BUG_ON/WARN_ON/ because.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7312e2ddec1ffe4511a85a2814df44e79ded3c1d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 12:14:12 2014 +0100 drm/i915: Replace __I915__ with typesafe variant Ville pointed out the GCCism __builtin_types_compatible_p() that we could use to replace our heavily casted presumption __I915__ macro that was based on comparing struct sizes. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dc41c154ffc30afb7ee7e891140dead26fce5c39 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 13 11:57:05 2014 +0300 drm/i915: Add support for variable cursor size on 845/865 845/865 support different cursor sizes as well, albeit a bit differently than later platforms. Add the necessary code to make them work. Untested due to lack of hardware. v2: Warn but accept invalid stride (Chris) Rewrite the cursor size checks for other platforms (Chris) v3: More polish and magic to the cursor size checks (Chris) v4: Moar polish and a comment (Chris) Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8ac5466926daef2406f7b25e9a272567cb81adb0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 12 19:39:54 2014 +0300 drm/i915: Unify ivb_update_cursor() and i9xx_update_cursor() Ever since commit 5efb3e2838536832c9b6872512e6b6daf592cee9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Apr 9 13:28:53 2014 +0300 drm/i915/chv: Add cursor pipe offsets the only difference between i9xx_update_cursor() and ivb_update_cursor() was the hsw+ pipe csc handling. Let's unify them and we can rid outselves of some duplicated code. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d7ce484eeec43079ad842f1d351f53998ed6bb30 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 12 19:39:53 2014 +0300 drm/i915: Move CURSIZE setup to i845_update_cursor() CURSIZE register exists on 845/865 only, so move it to i845_update_cursor(). Changes to cursor size must be done only when the cursor is disabled, so do the write just before enabling the cursor. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a08a42ad441e113f87308e0844049cb881f1ac1d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 12 19:39:52 2014 +0300 drm/i915: Don't try to enable cursor from setplane when crtc is disabled Make sure the cursor gets fully clipped when enabling it on a disabled crtc via setplane. This will prevent the lower level code from attempting to enable the cursor in hardware. Cc: Paulo Zanoni <przanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 70e32544aa4027b4c27226da32eb3866e7bbbcdc Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:57 2014 +0200 drm/i915: Cleanup aliasging ppgtt alongside the global gtt Also remove related WARN_ONs which seem to have been hit since a rather long time. But apperently no one noticed since our module reload is already WARNING-infested :( Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 90d0a0e8d0e64c92c4a6147f3c7cdc7c544d6b1a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:56 2014 +0200 drm/i915: Extract commmon global gtt cleanup code We want to move the aliasing ppgtt cleanup back into the global gtt cleanup code for symmetry, but first we need to create such a place. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 19dd120ceee085dbac70b1b01bd09d599cf87bd0 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:55 2014 +0200 drm/i915: Extract common cleanup into i915_ppgtt_release Address space cleanup isn't really a job for the low-level cleanup callbacks. Without this change we can't reuse the low-level cleanup callback for the aliasing ppgtt cleanup. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d624d86e1e3b69cadb2dad42588e71e9a3b6d70a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:54 2014 +0200 drm/i915: Drop create_vm argument to i915_gem_create_context Now that all the flow is streamlined the rule is simple: We create a new ppgtt for a new context when we have full ppgtt enabled. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ae6c4806927b8b0781ecc187aa16b10c820fc430 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:53 2014 +0200 drm/i915: Only track real ppgtt for a context There's a bit a confusion since we track the global gtt, the aliasing and real ppgtt in the ctx->vm pointer. And not all callers really bother to check for the different cases and just presume that it points to a real ppgtt. Now looking closely we don't actually need ->vm to always point at an address space - the only place that cares actually has fixup code already to decide whether to look at the per-proces or the global address space. So switch to just tracking the ppgtt directly and ditch all the extraneous code. v2: Fixup the ppgtt debugfs file to not oops on a NULL ctx->ppgtt. Also drop the early exit - without aliasing ppgtt we want to dump all the ppgtts of the contexts if we have full ppgtt. v3: Actually git add the compile fix. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: "Thierry, Michel" <michel.thierry@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> OTC-Jira: VIZ-3724 [danvet: Resolve conflicts with execlist patches while applying.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fa76da3499f1789f0e37d3bbcdc320bdf47c89ca Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 20:19:54 2014 +0200 drm/i915: Initialize the aliasing ppgtt as part of global gtt Stuffing this into the context setup code doesn't make a lot of sense. Also reusing the real ppgtt setup code makes even less sense since the aliasing ppgtt isn't a real address space. Leaving all that stuff unitialized will make sure that we catch any abusers promptly. This is also a prep work to clean up the context->ppgtt link. v2: Fix up the logic fail, I've fumbled it so badly to completely disable ppgtt on gen6. Spotted by Ville and Michel. Also move around the pde write into the gen6 init function, since otherwise it won't work at all. v3: Only initialize the aliasing ppgtt when we actually enable it. Cc: "Thierry, Michel" <michel.thierry@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> [danvet: Squash in fixup from Fengguang Wu.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 82460d97246a993aa49e88bf9b4154cce60f8da8 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 20:19:53 2014 +0200 drm/i915: Rework ppgtt init to no require an aliasing ppgtt Currently we abuse the aliasing ppgtt to set up the ppgtt support in general. Which is a bit backwards since with full ppgtt we don't ever need the aliasing ppgtt. So untangle this and separate the ppgtt init from the aliasing ppgtt. While at it drag it out of the context enabling (which just does a switch to the default context). Note that we still have the differentiation between synchronous and asynchronous ppgtt setup, but that will soon vanish. So also correctly wire up the return value handling to be prepared for when ->switch_mm drops the synchronous parameter and could start to fail. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 896ab1a5d54269b463a24194c2e4a369103b46d8 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:51 2014 +0200 drm/i915: Fix up checks for aliasing ppgtt A subsequent patch will no longer initialize the aliasing ppgtt if we have full ppgtt enabled, since we simply don't need that any more. Unfortunately a few places check for the aliasing ppgtt instead of checking for ppgtt in general. Fix them up. One special case are the gtt offset and size macros, which have some code to remap the aliasing ppgtt to the global gtt. The aliasing ppgtt is _not_ a logical address space, so passing that in as the vm is plain and simple a bug. So just WARN about it and carry on - we have a gracefully fall-through anyway if we can't find the vma. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6c5566a82c6fb1da9e13a294f23d4cd85a08cb30 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:50 2014 +0200 drm/i915: Allow i915_gem_setup_global_gtt to fail We already needs this just as a safety check in case the preallocation reservation dance fails. But we definitely need this to be able to move tha aliasing ppgtt setup back out of the context code to this place, where it belongs. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5dc383b05a05d05e964172d882603cd171040c5f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:49 2014 +0200 drm/i915: Add proper prefix to obj_to_ggtt Stuff in headers really aught to have this. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 841cd7737557785c0f215b0984c06aaaaa882302 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:48 2014 +0200 drm/i915: Only refcount ppgtt if it actually is one This essentially unbreaks non-ppgtt operation where we'd scribble over random memory. While at it give the vm_to_ppgtt function a proper prefix and make it a bit more paranoid. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d884705dababd7d0f3f12796bc7b45e84962596 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:47 2014 +0200 drm/i915: Track file_priv, not ctx in the ppgtt structure Hardware contexts reference a ppgtt, not the other way round. And the only user of this (in debugfs) actually only cares about which file the ppgtt is associated with. So give it what it wants. While at it give the ppgtt create function a proper name&place. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ae17ea0ec7d8fa64fbb773a52b2df5ba4766bcb8 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Wed Aug 6 13:22:02 2014 -0400 locking/selftest: Support queued rwlock The queued rwlock does not support the use of recursive read-lock in the process context. With changes in the lockdep code to check and disallow recursive read-lock, it is also necessary for the locking selftest to be updated to change the process context recursive read locking results from SUCCESS to FAILURE for rwlock. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407345722-61615-3-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f0bab73cb539fb803c4d419951e8d28aa4964f8f Author: Waiman Long <Waiman.Long@xxxxxx> Date: Wed Aug 6 13:22:01 2014 -0400 locking/lockdep: Restrict the use of recursive read_lock() with qrwlock Unlike the original unfair rwlock implementation, queued rwlock will grant lock according to the chronological sequence of the lock requests except when the lock requester is in the interrupt context. Consequently, recursive read_lock calls will now hang the process if there is a write_lock call somewhere in between the read_lock calls. This patch updates the lockdep implementation to look for recursive read_lock calls. A new read state (3) is used to mark those read_lock call that cannot be recursively called except in the interrupt context. The new read state does exhaust the 2 bits available in held_lock:read bit field. The addition of any new read state in the future may require a redesign of how all those bits are squeezed together in the held_lock structure. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407345722-61615-2-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4999201a59ef555f9105d2bb2459ed895627f7aa Author: Bart Van Assche <bvanassche@xxxxxxx> Date: Fri Aug 8 12:35:36 2014 +0200 locking/spinlocks: Always evaluate the second argument of spin_lock_nested() Evaluating a macro argument only if certain configuration options have been selected is confusing and error-prone. Hence always evaluate the second argument of spin_lock_nested(). An intentional side effect of this patch is that it avoids that the following warning is reported for netif_addr_lock_nested() when building with CONFIG_DEBUG_LOCK_ALLOC=n and with W=1: include/linux/netdevice.h: In function 'netif_addr_lock_nested': include/linux/netdevice.h:2865:6: warning: variable 'subclass' set but not used [-Wunused-but-set-variable] int subclass = SINGLE_DEPTH_NESTING; ^ Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/53E4A7F8.1040700@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a7cbf9abe3198461de3d3e97268db32a646ba06 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:56 2014 -0700 locking/Documentation: Update locking/mutex-design.txt disadvantages Fortunately Jason was able to reduce some of the overhead we had introduced in the original rwsem optimistic spinning - an it is now the same size as mutexes. Update the documentation accordingly. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: aswin@xxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406752916-3341-7-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 214e0aed639ef40987bf6159fad303171a6de31e Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:55 2014 -0700 locking/Documentation: Move locking related docs into Documentation/locking/ Specifically: Documentation/locking/lockdep-design.txt Documentation/locking/lockstat.txt Documentation/locking/mutex-design.txt Documentation/locking/rt-mutex-design.txt Documentation/locking/rt-mutex.txt Documentation/locking/spinlocks.txt Documentation/locking/ww-mutex-design.txt Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: jason.low2@xxxxxx Cc: aswin@xxxxxx Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Chris Mason <clm@xxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Davidlohr Bueso <davidlohr@xxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Jason Low <jason.low2@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Lubomir Rintel <lkundrak@xxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: fengguang.wu@xxxxxxxxx Link: http://lkml.kernel.org/r/1406752916-3341-6-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7608a43d8f2e02f8b532f8e11481d7ecf8b5d3f9 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:54 2014 -0700 locking/mutexes: Use MUTEX_SPIN_ON_OWNER when appropriate 4badad35 ("locking/mutex: Disable optimistic spinning on some architectures") added a ARCH_SUPPORTS_ATOMIC_RMW flag to disable the mutex optimistic feature on specific archs. Because CONFIG_MUTEX_SPIN_ON_OWNER only depended on DEBUG and SMP, it was ok to have the ->owner field conditional a bit flexible. However by adding a new variable to the matter, we can waste space with the unused field, ie: CONFIG_SMP && (!CONFIG_MUTEX_SPIN_ON_OWNER && !CONFIG_DEBUG_MUTEX). Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: aswin@xxxxxx Cc: Davidlohr Bueso <davidlohr@xxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406752916-3341-5-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76916515d9d84e6552ee5e218e0ed566ad75e600 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:53 2014 -0700 locking/mutexes: Refactor optimistic spinning code When we fail to acquire the mutex in the fastpath, we end up calling __mutex_lock_common(). A *lot* goes on in this function. Move out the optimistic spinning code into mutex_optimistic_spin() and simplify the former a bit. Furthermore, this is similar to what we have in rwsems. No logical changes. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: aswin@xxxxxx Cc: mingo@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406752916-3341-4-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aa9fc0c19bee0cbc152e0e06488095fb69229236 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:52 2014 -0700 locking/mcs: Remove obsolete comment ... as we clearly inline mcs_spin_lock() now. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: aswin@xxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406752916-3341-3-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 42fa566bd74aa7b95413fb00611ec983b488222d Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:51 2014 -0700 locking/mutexes: Document quick lock release when unlocking When unlocking, we always want to reach the slowpath with the lock's counter indicating it is unlocked. -- as returned by the asm fastpath call or by explicitly setting it. While doing so, at least in theory, we can optimize and allow faster lock stealing. When unlocking, we always want to reach the slowpath with the lock's counter indicating it is unlocked. -- as returned by the asm fastpath call or by explicitly setting it. While doing so, at least in theory, we can optimize and allow faster lock stealing. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: jason.low2@xxxxxx Cc: aswin@xxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406752916-3341-2-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 242489cfe97d44290e7f88b12591fab6c0819045 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:50 2014 -0700 locking/mutexes: Standardize arguments in lock/unlock slowpaths Just how the locking-end behaves, when unlocking, go ahead and obtain the proper data structure immediately after the previous (asm-end) call exits and there are (probably) pending waiters. This simplifies a bit some of the layering. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: jason.low2@xxxxxx Cc: aswin@xxxxxx Cc: mingo@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1406752916-3341-1-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2e39465abc4b7856a0ea6fcf4f6b4668bb5db877 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Aug 4 12:07:15 2014 +0200 locking: Remove deprecated smp_mb__() barriers Its been a while and there are no in-tree users left, so remove the deprecated barriers. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Cc: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: John Sullivan <jsrhbz@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ddcd0973fe02aad3d4bdc59dd0f1db90f51105a9 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Aug 12 09:15:25 2014 +0200 perf/x86/uncore: Rename IvyTown to IvyBridge-EP Keeping track of all the various CPU names is hard enough; adding extra silly names for no reason is just not helping. If we know the base arch name (IvyBridge) then we can do the client/server parts with the well known {,EP,EX} postfixes, no need to remember endless amounts of unrelated and pointless names for this. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8559jke61dsyr7d0i74iutli@xxxxxxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 85a16ef66cc8a053de80aadf13722a2c1254d346 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Aug 12 08:00:31 2014 +0200 perf/x86/uncore: Export basic memory events for IVT IMC PMU This patch exposes two basic events for Ivytown IMC uncore PMU: - cas_count_read: number of full-cache line reads to memory controller - cas_count_write: number of full-cache line writes to memory controller Those events use the same encoding as for SNB-EP, so reuse the same event table. See specification in: http://www.intel.com/content/dam/www/public/us/en/documents/manuals/xeon-e5-2600-v2-uncore-manual.pdf By aggregating all the read and write events from all the memory controllers of each processor socket, one can determine the total memory bandwidth utilization. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140812060031.GA25239@quad Cc: zheng.z.yan@xxxxxxxxx Cc: ak@xxxxxxxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c8aab2e04ac9f442a07abeaf49ddd1703c608f47 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 11 21:27:13 2014 +0200 perf/x86: Clean up __intel_pmu_pebs_event() code This patch makes the code more readable. It also renames precise_store_data_hsw() to precise_datala_hsw() because the function is called for both loads and stores on HSW. The patch also gets rid of the hardcoded store events codes in that same function. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407785233-32193-5-git-send-email-eranian@xxxxxxxxxx Cc: ak@xxxxxxxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 770eee1fd38c70a009b321f5dbe64358f42511fd Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 11 21:27:12 2014 +0200 perf/x86: Fix data source encoding issues for load latency/precise store This patch fixes issues introuduce by Andi's previous patch 'Revamp PEBS' series. This patch fixes the following: - precise_store_data_hsw() encode the mem op type whenever we can - precise_store_data_hsw set the default data source correctly - 0 is not a valid init value for data source. Define PERF_MEM_NA as the default value This bug was actually introduced by commit 722e76e60f2775c21b087ff12c5e678cf0ebcaaf Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Thu May 15 17:56:44 2014 +0200 fix Haswell precise store data source encoding Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407785233-32193-4-git-send-email-eranian@xxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: ak@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f3908b8cfb65ab6e78ac84df3b864eb22d5b6d9e Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Aug 11 21:27:11 2014 +0200 perf/x86: Don't mark DataLA addresses as store Haswell supports reporting the data address for a range of PEBS events, including: UOPS_RETIRED.ALL MEM_UOPS_RETIRED.STLB_MISS_LOADS MEM_UOPS_RETIRED.STLB_MISS_STORES MEM_UOPS_RETIRED.LOCK_LOADS MEM_UOPS_RETIRED.SPLIT_LOADS MEM_UOPS_RETIRED.SPLIT_STORES MEM_UOPS_RETIRED.ALL_LOADS MEM_UOPS_RETIRED.ALL_STORES MEM_LOAD_UOPS_RETIRED.L1_HIT MEM_LOAD_UOPS_RETIRED.L2_HIT MEM_LOAD_UOPS_RETIRED.L3_HIT MEM_LOAD_UOPS_RETIRED.L1_MISS MEM_LOAD_UOPS_RETIRED.L2_MISS MEM_LOAD_UOPS_RETIRED.L3_MISS MEM_LOAD_UOPS_RETIRED.HIT_LFB MEM_LOAD_UOPS_L3_HIT_RETIRED.XSNP_MISS MEM_LOAD_UOPS_L3_HIT_RETIRED.XSNP_HIT MEM_LOAD_UOPS_L3_HIT_RETIRED.XSNP_HITM MEM_LOAD_UOPS_L3_HIT_RETIRED.XSNP_NONE MEM_LOAD_UOPS_L3_MISS_RETIRED.LOCAL_DRAM This facility was already enabled earlier with the original Haswell perf changes. However these addresses were always reports as stores by perf, which is wrong, as they could be loads too. The hardware does not distinguish loads and stores for these instructions, so there's no (cheap) way for the profiler to find out. Change the type to PERF_MEM_OP_NA instead. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407785233-32193-3-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 86a04461a99fb857bd7d7f87b234cae27df07f8a Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Aug 11 21:27:10 2014 +0200 perf/x86: Revamp PEBS event selection The basic idea is that it does not make sense to list all PEBS events individually. The list is very long, sometimes outdated and the hardware doesn't need it. If an event does not support PEBS it will just not count, there is no security issue. We need to only list events that something special, like supporting load or store addresses. This vastly simplifies the PEBS event selection. It also speeds up the scheduling because the scheduler doesn't have to walk as many constraints. Bugs fixed: - We do not allow setting forbidden flags with PEBS anymore (SDM 18.9.4), except for the special cycle event. This is done using a new constraint macro that also matches on the event flags. - Correct DataLA and load/store/na flags reporting on Haswell [Requires a followon patch] - We did not allow all PEBS events on Haswell: We were missing some valid subevents in d1-d2 (MEM_LOAD_UOPS_RETIRED.*, MEM_LOAD_UOPS_RETIRED_L3_HIT_RETIRED.*) This includes the changes proposed by Stephane earlier and obsoletes his patchkit (except for some changes on pre Sandy Bridge/Silvermont CPUs) I only did Sandy Bridge and Silvermont and later so far, mostly because these are the parts I could directly confirm the hardware behavior with hardware architects. Also I do not believe the older CPUs have any missing events in their PEBS list, so there's no pressing need to change them. I did not implement the flag proposed by Peter to allow setting forbidden flags. If really needed this could be implemented on to of this patch. v2: Fix broken store events on SNB/IVB (Stephane Eranian) v3: More fixes. Rename some arguments (Stephane Eranian) v4: List most Haswell events individually again to report memory operation type correctly. Add new flags to describe load/store/na for datala. Update description. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407785233-32193-2-git-send-email-eranian@xxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Cc: Mark Davies <junk@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 03de874aa76ac0adcf6f56ebf3de623d09a5dde3 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:08:54 2014 -0700 perf/x86: Fix :pp without LBR This fixes a side effect of Kan's earlier patch to probe the LBRs at boot time. Normally when the LBRs are disabled cycles:pp is disabled too. So for example cycles:pp doesn't work. However this is not needed with PEBSv2 and later (Haswell) because it does not need LBRs to correct the IP-off-by-one. So add an extra check for PEBSv2 that also allows :pp Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: kan.liang@xxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407456534-15747-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e708d7ad80737496870fd0b6794704d063fb0cdc Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Mon Aug 4 15:31:08 2014 +0200 perf: Do poll_wait() before checking condition in perf_poll() One should first enqueue to the waitqueue and then check for the condition. If the condition gets true after mutex_unlock() but before poll_wait() then we lose it and would have wait for another wakeup. This has been like this since v2.6.31-rc1 commit c7138f37f9 ("perf_counter: fix perf_poll()"). Before that it was slightly worse. I guess we get enough wakeups so if we miss here one it doesn't really matter. It is still a bad example. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407159068-1478-1-git-send-email-bigeasy@xxxxxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 36bbb2f2988a29cdc3f8e0c93478795934553454 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Jul 31 14:05:22 2014 -0700 perf/x86: Use extended offcore mask on Haswell HSW-EP has a larger offcore mask than the client Haswell CPUs. It is the same mask as on Sandy/IvyBridge-EP. All of Haswell was using the client mask, so some bits were missing. On the client parts some bits were also missing compared to Sandy/IvyBridge, in particular the bits to match on a L4 cache hit. The Haswell core in both client and server incarnations accepts the same bits (but some are nops), so we can use the same mask. So use the snbep extended mask, which is a superset of the client and the server, for all of Haswell. This allows specifying a number of extra offcore events, like for example for HSW-EP. % perf stat -e cpu/event=0xb7,umask=0x1,offcore_rsp=0x3fffc00100,name=offcore_response_pf_l3_rfo_l3_miss_any_response/ true which were <not supported> before. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Reviewed-by: eranian@xxxxxxxxxx Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406840722-25416-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 17a6034555c601331311d31beb395f6665056b3e Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Mon Aug 4 13:29:11 2014 +0200 perf/x86/uncore: Fix coccinelle warnings arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.c:961:2-3: Unneeded semicolon arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.c:1100:2-3: Unneeded semicolon arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.c:1138:2-3: Unneeded semicolon Remove unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ovfvr4nbqjo7nzc16y2lpjy9@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c1e46580c3b7bf25053519cf39f01a2f9ea4d865 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Wed Jul 30 15:22:15 2014 +0800 perf/x86/uncore: move NHM-EX/WSM-EX specific code to seperate file Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406704935-27708-4-git-send-email-zheng.z.yan@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8268fdfc45b747bcb3351464efefbdf611aeea9b Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Wed Jul 30 15:22:14 2014 +0800 perf/x86/uncore: Move SNB/IVB-EP specific code to seperate file Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406704935-27708-3-git-send-email-zheng.z.yan@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 92807ffdf32c380a09cfa396c853e97303826103 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Wed Jul 30 15:22:13 2014 +0800 perf/x86/uncore: Move NHM/SNB/IVB specific code to seperate file Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1406704935-27708-2-git-send-email-zheng.z.yan@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 514b2346df385fce61cefb940813207758648136 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Wed Jul 30 15:22:12 2014 +0800 perf/x86/uncore: Declare some functions and variables Prepare for moving hardware specific code to seperate files. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: andi@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1406704935-27708-1-git-send-email-zheng.z.yan@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fadfe7be6e50de7f03913833b33c56cd8fb66bac Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 1 14:33:02 2014 +0200 perf: Add queued work to remove orphaned child events In cases when the owner task exits before the workload and the workload made some forks, all the events stay in until the last workload process exits. Thats' because each child event holds parent reference. We want to release all children events once the parent is gone, because at that time there's no process to read them anyway, so they're just eating resources. This removal races with process exit, which removes all events and fork, which clone events. To be clear of those two, adding work queue to remove orphaned child for context in case such event is detected. Using delayed work queue (with delay == 1), because we queue this work under perf scheduler callbacks. Normal work queue tries to wake up the queue process, which deadlocks on rq->lock in this place. Also preventing clones from abandoned parent event. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406896382-18404-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f86977620ee4635f26befcf436700493a38ce002 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 1 14:33:01 2014 +0200 perf: Set owner pointer for kernel events Adding fake EVENT_OWNER_KERNEL owner pointer value for kernel perf events, so we could distinguish it from user events, which needs special care in following patch. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406896382-18404-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0f7c29ce90c4d20c23de5657e1e2c2eabf51d69a Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 30 12:08:56 2014 +0200 perf/x86/intel: Update Intel models The model number descriptions got a bit messy, clean them up. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-oo3xclxdoy8s7ubssn929vaj@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a91eac68b1e50482670007775e9ba82ef3bffbe Merge: f96f567 d6a947f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Aug 13 07:06:08 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible fixes and changes: * Show better error message in case we fail to open counters due to EBUSY error, for instance, when oprofile is running. (Jiri Olsa) * Honour -w in the report tools (report, top), allowing to specify the widths for the histogram entries columns. (Namhyung Kim) * Don't run workload if not told to, as happens when the user has no permission for profiling and even then the specified workload ends up running (Arnaldo Carvalho de Melo) * Do not ignore mmap events in 'perf kmem report'. This tool was using the kernel mmaps in the running machine instead of processing the mmap records from the perf.data file. (Namhyung Kim) * Properly show submicrosecond times in 'perf kvm stat' (Christian Borntraeger) * Honour existing 'perf record' --time/-T command line option (Andi Kleen) * Make sure --symfs usage includes the path separator (Arnaldo Carvalho de Melo) Development infrastructure fixes and changes: * Fix arm64 build error (Mark Salter) * Fix make PYTHON override (Namhyung Kim) * Rename ordered_samples to ordered_events and allow setting a queue size for ordering events (Jiri Olsa) * Default to python version 2 (Thomas Ilsche) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3220574143147db7c9f9b00c8dc6efcbacad44cc Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Aug 12 09:41:10 2014 +0800 regulator: tps65023: Remove duplicate test for I2C_FUNC_SMBUS_BYTE_DATA functionality Since commit b42261078a91 ("regmap: i2c: fallback to SMBus if the adapter does not support standard I2C"), regmap-i2c will check the I2C_FUNC_SMBUS_[BYTE|WORD]_DATA functionality based on the regmap_config setting if the adapter does not support standard I2C. So remove the I2C_FUNC_SMBUS_BYTE_DATA functionality check in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d6a947fb6cdff3a19db93895c746f70b5903a965 Author: Thomas Ilsche <thomas.ilsche@xxxxxxxxxxxxx> Date: Mon Aug 4 15:03:15 2014 +0200 perf tools: Default to python version 2 According to PEP 394 recommendation [1], it's more portable to use python2 rather than plain python to refer python binary version 2. Since there're distros using python3 by default like Arch, and we don't support python3 (yet), it'd be better using python2 explicitly. But older versions (prior to 2.7) seem not to provide python2 but just python. Given that it's only old version, try python2 first and then fallback to python. It'll ensure that it always points to python 2.x. I tested (compiles and perf script runs) with the combinations: 1) python -> python2.x, python-config -> python2.x-config python2 N/A, python2-config N/A 2) python -> python3.x, python-config -> python3.x-config python2 -> python2.x, python2-config -> python2.x-config 3) python -> python2.x, python-config -> python2.x-config python2 -> python2.x, python2-config -> python2.x-config 4) python -> python2.x, python-config -> python2.x-config python2 -> python2.x, python2-config N/A Based on / replaces the patch 2/2 by Namhyung Kim. [1] https://www.python.org/dev/peps/pep-0394 Based-on-patch-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Thomas Ilsche <thomas.ilsche@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/53DF8493.6070206@xxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 038fa0b9739d7f375f3f61a2ce4f78ad44329f66 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Aug 3 14:10:36 2014 +0200 perf tools: Fix PERF_FLAG_FD_CLOEXEC flag probing event type open counters due to EBUSY error We were using PERF_COUNT_SW_CPU_CLOCK as an probing event type. Using expected PERF_TYPE_SOFTWARE type instead. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: William Cohen <wcohen@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140803121036.GA1181@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 59dc9f2534569d11a55c8b5dbe93c36f2b2fa506 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:41 2014 +0900 perf tools: Fix column alignment when headers aren't shown on TUI If user sets ui.show-headers config option to false, it didn't calculate default column width so it broke the alignment. This is because it does the calculation just before showing headers. Move it to the beginning of the hist browser so that it can be called regardless of the config option. Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-8-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1ecd44533a8a724f64d4305abb69836ca73c7390 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:40 2014 +0900 perf tools: Add name field into perf_hpp_fmt It makes the code a bit simpler and easier to debug IMHO. I guess it can also remove similar code in perf diff, but let's keep it for a future work. :) Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-7-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cf59002fdebc9c00ee29233e65bc39dd69e0eaf6 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:39 2014 +0900 perf top: Add -w option for setting column width Add -w/--column-widths option like perf report does so that users are able to see symbols even with some very long C++ library/functions. It can be a list separated by comma for each column. $ perf top -w 0,20,30 The value of 0 means there's no limit. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-6-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5b5916696051b88e63f3726cc3db44bf9561bad9 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:38 2014 +0900 perf report: Honor column width setting Set column width and do not change it if user gives -w/--column-widths option. It'll truncate longer symbols than the width if exists. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-5-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e0d66c74b09f5103eef441a98b68056c4dae4cac Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:37 2014 +0900 perf tools: Save column length in perf_hpp_fmt Save column length in the hpp format and pass it to print functions. This is a preparation for users to control column width in the output. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d675107ce6fa988102851e0b0ef06e46c8aa7ac6 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:36 2014 +0900 perf tools: Make __hpp__fmt() receive an additional len argument So that it can properly handle alignment requirements later. To do that, add percent_color_len_snprintf() fucntion to help coloring of overhead columns. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8246de88e95ddef7508f5601d7af85c3ab9e476b Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:35 2014 +0900 perf tools: Left-align output contents Now perf left-aligns column headers but the contents does not. It should have same alignment. This requires a change in pid sort key - it consists of two part (pid and comm). As length of comm can be vary it'd be better to change the order of them. Thanks to Jiri Olsa for pointing this out. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 56c7d79e49776084b852e451bda5f59dc3bcf894 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Jul 29 15:57:19 2014 +0900 perf tools: Fix make PYTHON override Thomas reported that make PYTHON=python2 is not work on some systems. I can reproduce it on my ArchLinux box too. This is because it's overridden by config/feature-checks/Makefile regardless of PYTHON setting. I guess it's a bug slipped into during the feature checking change. Actually, we don't need to check python-config in the feature-checks. We can just pass appropriate FEATURE_CHECK_*FLAGS. Reported-by: Thomas Ilsche <thomas.ilsche@xxxxxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Thomas Ilsche <thomas.ilsche@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Thomas Ilsche <thomas.ilsche@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406617040-26909-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 64c40908938953d7afa90e9363327875286349e5 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Aug 1 14:59:31 2014 +0900 perf kmem: Do not ignore mmap events The perf kmem command didn't process mmap events for some unknown reason and it instead gets symbol info from a running kernel. This is problematic if perf kmem record was run on a different kernel. This patch adds the mmap event handlers and reverts the commit e727ca73f85d ("perf kmem: Resolve kernel symbols again"). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406872771-23933-1-git-send-email-namhyung@xxxxxxxxxx [ Fixed up merge conflict with Jiri's ordered_events rename patch set ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 63914aca8f7e7a75d0ee027af7b1755c69cc1e2c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 1 17:46:54 2014 +0200 perf tools: Show better error message in case we fail to open counters due to EBUSY error Showing better error message in case we fail to open counters due to the EBUSY error. If we detect oprofile daemon process running, we now display following message for EBUSY error: $ perf record ls Error: The PMU counters are busy/taken by another profiler. We found oprofile daemon running, please stop it and try again. In case oprofiled was not detected the current error message stays: $ perf record ls Error: The sys_perf_event_open() syscall returned with 16 (Device or resource busy) for event (cycles). /bin/dmesg may provide additional information. No CONFIG_PERF_EVENTS=y kernel support configured? Also changing PERF_FLAG_FD_CLOEXEC detection code not to display error in case of EBUSY error, as it currently does: $ perf record ls Error: perf_event_open(..., PERF_FLAG_FD_CLOEXEC) failed with unexpected error 16 (Device or resource busy) perf_event_open(..., 0) failed unexpectedly with error 16 (Device or resource busy) The PMU counters are busy/taken by another profiler. We found oprofile daemon running, please stop it and try again. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: William Cohen <wcohen@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406908014-8312-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b0a45203a75a800015828ac89f2945981019b65b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Jun 12 09:50:11 2014 +0200 perf tools: Allow out of order messages in forced flush In forced flush (OE_FLUSH__HALF) we break the rules of the flush timestamp via PERF_RECORD_FINISHED_ROUND event, so we could get out of order event. Do not force error in this case plus changing the output warning to use WARN_ONCE. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8q8794a8nlmpd1u8xrqmcyd2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cee3ab9caa7ae5ee81027e60c0109063664d9217 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Jul 11 14:49:54 2014 +0200 perf tools: Add debug prints for ordered events queue Adding some prints for ordered events queue, to help debug issues. Adding debug_ordered_events debug variable to be able to enable ordered events debug messages using: $ perf --debug ordered-events=2 report ... Also using oe pointer in perf_session__queue_event instead of chained session variable dereferencing. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-7p3mnnopjvsp9nmk9msqcfkm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 94786b67b5f4577c16486e8eb10ff045e59f80ef Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Jun 5 11:00:20 2014 +0200 perf tools: Add report.queue-size config file option Adding report.queue-size config file option to setup the maximum allocation size for session's struct ordered_events object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-lm42mbpu0cwljpyy8vw5y26n@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 94c0655fc16b0c09edc21cadddbeef95c408f3e7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Jun 6 05:27:28 2014 -0400 perf tools: Add perf_config_u64 function Adding perf_config_u64 function to be able to parse 'llong' values out of config file. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ni6gqdlvw7khp74r9htvklkb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit adc56ed1e01f1c43fc7bf75340f11f4ad5e11145 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jun 10 22:50:03 2014 +0200 perf tools: Add ordered_events__free function Adding ordered_events__free function to release all the struct ordered_events data. It's replacement for former perf_session_free_sample_buffers function. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-urraa8ccay4o14wambjraws7@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 36522f5cf2ad280c971557e04120d52f9330ed36 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jun 10 22:47:40 2014 +0200 perf tools: Add ordered_events__init function Adding ordered_events__init function for struct ordered_events struct initialization. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-g6dx35hed8g14eh1ygx4uzp6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fa4e5c67a2d169b9ef83f51b94e1d4a562ddfc0f Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Jun 15 19:46:08 2014 +0200 perf tools: Use list_move in ordered_events_delete function As Namhyung pointed out we can use list_move in ordered_events_delete. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Suggested-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-m8ae5s5cuwyytitgb6iqilid@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5f86b80b85f0dcd05fd1471eac6984181a707c4f Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 1 13:02:58 2014 -0300 perf tools: Create ordered-events object Move ordered events code into separated object ordered-events.[ch]. No functional change was intended. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-1ge3rilgudszbl87cejm1tfg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 79a30fe4f3758c98e1b7a474952b9701d513e580 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jun 10 22:31:35 2014 +0200 perf tools: Make perf_session__deliver_event global Making perf_session__deliver_event global function, as it will be called from another object in following patch. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-rz7s2b8uwv567bigckh75gvk@xxxxxxxxxxxxxx [ Fixup naming to match class__method schema, as now is more widely exposed ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d40b4a15ab2bfcfa7d946b69ca1f12c93b22d169 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 1 13:01:04 2014 -0300 perf tools: Flush ordered events in case of allocation failure In previous patches we added a limit for ordered events queue allocation size. If we reach this size we need to flush (part of) the queue to get some free buffers. The current functionality is not affected, because the limit is hard coded to (u64) -1. The configuration code for size will come in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ggcas0xdq847fi85bz73do2e@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8d99a6ceebe862ac4afd832cdab332ee7b3b5599 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Jun 11 15:09:35 2014 +0200 perf tools: Limit ordered events queue size Add limit to the ordered events queue allocation. This way we will be able to control the size of the queue buffers. There's no limit at the moment (it's set to (u64) -1). The config code will come in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-lw1ny3mk4ctb6su5ght5rsng@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d8836b5d1736632aa1a38a8ed0c9361c96d7c95a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Jun 5 10:29:45 2014 +0200 perf tools: Factor ordered_events__flush to be more generic Centralizing the next_flush calculation under the ordered_events__flush function. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-srwunsy7o5wl17vpt4a10oxp@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c64c7e1a5addf93b7dec98a27b8c48457506aa06 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jun 10 21:58:02 2014 +0200 perf tools: Add ordered_events__(new|delete) interface Adding new ordered events interface to new|delete event buffer: ordered_events__new - allocate event buffer from the cache ordered_events__delete - return event buffer to the cache Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-srwunsy7o5wl17vpt4a10oxp@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fc12482f4f7ae5c6fca13922a1e0898ff9002aa6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Jun 9 23:11:30 2014 +0200 perf tools: Rename ordered_events members Rename 'struct ordered_events' members to fit better the ordered events style. No functional change was intended. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-v0eb2hsmrxbolnoawu5fn92z@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 37e39aa8a8a42ad2fd72b7c7349115dad8297d9c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Jul 6 14:23:03 2014 +0200 perf tools: Rename ordered_samples struct to ordered_events Following up with ordered_samples rename for ordered_samples and sample_queue structs to ordered_events and ordered_event structs respectively. Also changing flush_sample_queue function name to ordered_events_flush. No functional change was intended. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2dkrdvh0bbmzxdse437fcgls@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0a8cb85c200c4082ed7e57efd90dd9d18c8d40b6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Jul 6 14:18:21 2014 +0200 perf tools: Rename ordered_samples bool to ordered_events The time ordering is generic for all kinds of events, so using generic name 'ordered_events' for ordered_samples bool in perf_tool struct. No functional change was intended. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-07mrqzcuhsks9wfmxrzsvemz@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8affc2b8c27bfc2d6e70827b746f490b62c44eaa Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Jul 31 14:45:04 2014 +0800 perf record: Honour --no-time command line option Time stamps are always implicitely enabled for record currently. The old --time/-T option is a nop. Allow the user to disable timestamps by using --no-time, honouring the existing option. The defaults are unchanged. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406789104-25863-10-git-send-email-zheng.z.yan@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ee960be7bb09b201926cb37eaa82fb7da605ea7c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:45 2014 +0200 drm/i915: Some cleanups for the ppgtt lifetime handling So when reviewing Michel's patch I've noticed a few things and cleaned them up: - The early checks in ppgtt_release are now redundant: The inactive list should always be empty now, so we can ditch these checks. Even for the aliasing ppgtt (though that's a different confusion) since we tear that down after all the objects are gone. - The ppgtt handling functions are splattered all over. Consolidate them in i915_gem_gtt.c, give them OCD prefixes and add wrappers for get/put. - There was a bit a confusion in ppgtt_release about whether it cares about the active or inactive list. It should care about them both, so augment the WARNINGs to check for both. There's still create_vm_for_ctx left to do, put that is blocked on the removal of ppgtt->ctx. Once that's done we can rename it to i915_ppgtt_create and move it to its siblings for handling ppgtts. v2: Move the ppgtt checks into the inline get/put functions as suggested by Chris. v3: Inline the now redundant ppgtt local variable. Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b9d06dd9d1dd3672b391e6387d62aa8dc4e377bd Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Aug 6 15:04:44 2014 +0200 drm/i915: vma/ppgtt lifetime rules VMAs should take a reference of the address space they use. Now, when the fd is closed, it will release the ref that the context was holding, but it will still be referenced by any vmas that are still active. ppgtt_release() should then only be called when the last thing referencing it releases the ref, and it can just call the base cleanup and free the ppgtt. Note that with this we will extend the lifetime of ppgtts which contain shared objects. But all the non-shared objects will get removed as soon as they drop of the active list and for the shared ones the shrinker can eventually reap them. Since we currently can't evict ppgtt pagetables either I don't think that temporary leak is important. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> [danvet: Add note about potential ppgtt leak with this approach.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83d7f2424741c9dc76c21377c9d00d47abaf88df Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Aug 4 13:23:28 2014 -0400 sched/numa: Fix numa capacity computation Commit c61037e9 fixes the phenomenon of 'fantom' cores due to N*frac(smt_power) >= 1 by limiting the capacity to the actual number of cores in the load balancing code. This patch applies the same correction to the NUMA balancing code. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: mgorman@xxxxxxx Cc: vincent.guittot@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: efault@xxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407173008-9334-3-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b932c03c34f3b03c7364c06aa8cae5b74609fc41 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Aug 4 13:23:27 2014 -0400 sched/numa: Fix off-by-one in capacity check Commit a43455a1d572daf7b730fe12eb747d1e17411365 ensures that task_numa_migrate will call task_numa_compare on the preferred node all the time, even when the preferred node has no free capacity. This could lead to a performance regression if nr_running == capacity on both the source and the destination node. This can be avoided by also checking for nr_running == capacity on the source node, which is one stricter than checking .has_free_capacity. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: mgorman@xxxxxxx Cc: vincent.guittot@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: efault@xxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407173008-9334-2-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aaecac4ad46b35ad308245384d019633fb9bc21b Author: Zhihui Zhang <zzhsuny@xxxxxxxxx> Date: Fri Aug 1 21:18:03 2014 -0400 sched: Rename a misleading variable in build_overlap_sched_groups() The child variable in build_overlap_sched_groups() actually refers to the peer or sibling domain of the given CPU. Rename it to sibling to be consistent with the naming in build_group_mask(). Signed-off-by: Zhihui Zhang <zzhsuny@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1406942283-18249-1-git-send-email-zzhsuny@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a5d9ba6a3631d55c358fe1bdbaa162a97471a05 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jul 29 17:15:11 2014 +0200 sched/fair: Allow calculate_imbalance() to move idle cpus Allow calculate_imbalance() to 'create' idle cpus in the busiest group if there are idle cpus in the local group. Suggested-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140729152705.GX12054@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit caeb178c60f4f93f1b45c0bc056b5cf6d217b67f Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Jul 28 14:16:28 2014 -0400 sched/fair: Make update_sd_pick_busiest() return 'true' on a busier sd Currently update_sd_pick_busiest only identifies the busiest sd that is either overloaded, or has a group imbalance. When no sd is imbalanced or overloaded, the load balancer fails to find the busiest domain. This breaks load balancing between domains that are not overloaded, in the !SD_ASYM_PACKING case. This patch makes update_sd_pick_busiest return true when the busiest sd yet is encountered. Groups are ranked in the order overloaded > imbalanced > other, with higher ranked groups getting priority even when their load is lower. This is necessary due to the possibility of unequal capacities and cpumasks between domains within a sched group. Behaviour for SD_ASYM_PACKING does not seem to match the comment, but I have no hardware to test that so I have left the behaviour of that code unchanged. Enum for group classification suggested by Peter Zijlstra. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> [peterz: replaced sg_lb_stats::group_imb with the new enum group_type in an attempt to avoid endless recalculation] Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Cc: ktkhai@xxxxxxxxxxxxx Cc: tim.c.chen@xxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: jhladky@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140729152743.GI3935@laptop Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 743cb1ff191f00fee653212bdbcee1e56086d6ce Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jul 29 17:00:21 2014 +0200 sched/fair: Make calculate_imbalance() independent Rik noticed that calculate_imbalance() relies on update_sd_pick_busiest() to guarantee that busiest->sum_nr_running > busiest->group_capacity_factor. Break this implicit assumption (with the intent of not providing it anymore) by having calculat_imbalance() verify it and not rely on others. Reported-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140729152631.GW12054@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b7967dc79fbd32ef198b429b2597459a4130207f Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 7 11:03:31 2014 +0200 ath10k: remove htc->stopped This is not necessary anymore. There are no more uncontrolled htc tx entry points. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2986e3efb84fc79e798c1967beec6bb5eede7dee Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 7 11:03:30 2014 +0200 ath10k: group some pci probing helpers Make probe/remove functions shorter and easier to understand. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0edf2577a5927aa8d1521f22da753e1d0c2a4db4 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 7 11:03:29 2014 +0200 ath10k: remove pci features var The ATH10K_PCI_FEATURE_MSI_X was originally introduced to support both chips QCA988Xv1 and QCA988Xv2. Since v1 isn't supported anymore it doesn't make sense to keep the feature flag around. Since this is the last one remove the whole thing. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c0c378f9907c9e52aa95a87ac4622039a84bac99 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 7 11:03:28 2014 +0200 ath10k: remove target soc ps code The soc powersave was disabled by default. It never was fully tested. Some hw apparently had problems with it and the implementation itself had a possible race. Just remove the refcounting and simply wake up the device when probing and put to sleep when removing. kvalo: make ath10k_pci_wake() and _sleep() static Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit e7b541948b7ae542267257a6183341f6a92ed1b8 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 7 11:03:27 2014 +0200 ath10k: embed ar_pci inside ar Use the common convention of embedding private structures inside parent structures. This reduces allocations and simplifies pci probing code. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5c81c7fd62004be13a3c9345ca25607d14862cc4 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 5 14:54:44 2014 +0200 ath10k: introduce a stricter scan state machine This aims at fixing some rare scan bugs related to firmware reporting unexpected scan event sequences. One such bug was if spectral scan phyerr reporting prevented firmware from properly propagating scan events to host. This led to scan timeout. After that next scan would trigger scan completed event first (before scan started event) leading to ar->scan.in_progress and timeout timer states to be overwritten incorrectly and making the very next scan to hang forever. Reported-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9ff8b7247dd211158410af4bb5ebbc507182729f Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 5 14:54:43 2014 +0200 ath10k: simplify scan debug prints This also reduces the cruft of printing scan event names in capitals. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cff990ce7ddd6a43f86757867399a8a64aa29af9 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 4 09:18:33 2014 +0300 ath10k: fix wmi service bitmap debug The 10.x and main firmware branches have conflicting WMI service bitmap definitions. This also fixes WMI services parsing on big-endian hosts and changes debugfs output to be more human friendly. kvalo: remove braces and the last semicolon from SVCSTR() Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 14bf993e83e1d6924f4bf4506120a15c4b255e58 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:34 2014 +0100 drm/i915/bdw: Always use MMIO flips with Execlists The normal flip function places things in the ring in the legacy way, so we either fix that or force MMIO flips always as we do in this patch. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch. Fucking again.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ba8b7ccb196b07c1c553450e8e7b44a7a938e58a Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:33 2014 +0100 drm/i915/bdw: Workload submission mechanism for Execlists This is what i915_gem_do_execbuffer calls when it wants to execute some worload in an Execlists world. v2: Check arguments before doing stuff in intel_execlists_submission. Also, get rel_constants parsing right. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Drop the chipset flush, that's pre-gen6. And appease checkpatch a bit .... again!] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 156485852684b511be28a83c78fece8b27ef7c26 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:32 2014 +0100 drm/i915/bdw: GEN-specific logical ring emit batchbuffer start Dispatch_execbuffer's evil twin. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Ditch the check for aliasing ppgtt. It'll break soon and execlists requires full ppgtt anyway.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73d477f6bb17a1f14c4897a4b4a6597fe9a38ad2 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:31 2014 +0100 drm/i915/bdw: Interrupts with logical rings We need to attend context switch interrupts from all rings. Also, fixed writing IMR/IER and added HWSTAM at ring init time. Notice that, if added to irq_enable_mask, the context switch interrupts would be incorrectly masked out when the user interrupts are due to no users waiting on a sequence number. Therefore, this commit adds a bitmask of interrupts to be kept unmasked at all times. v2: Disable HWSTAM, as suggested by Damien (nobody listens to these interrupts, anyway). v3: Add new get/put_irq functions. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> (v1) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> (v2 & v3) Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Drop the GEN8_ prefix from the context switch interrupt define and move it to its brethren.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9832b9dae8f9f505c7ed898a043b4f54b54597ed Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:30 2014 +0100 drm/i915/bdw: Ring idle and stop with logical rings This is a hard one, since there is no direct hardware ring to control when in Execlists. We reuse intel_ring_idle here, but it should be fine as long as i915_add_request does the ring thing. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4712274c362b7730a1c6e01c9a51a6d46f5b7f43 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:28 2014 +0100 drm/i915/bdw: GEN-specific logical ring emit flush Same as the legacy-style ring->flush. v2: The BSD invalidate bit still exists in GEN8! Add it for the VCS rings (but still consolidate the blt and bsd ring flushes into one). This was noticed by Brad Volkin. v3: The command for BSD and for other rings is slightly different: get it exactly the same as in gen6_ring_flush + gen6_bsd_ring_flush Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4da46e1e5bb7e7396fad172cdaffbe496562f3d8 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:27 2014 +0100 drm/i915/bdw: GEN-specific logical ring emit request Very similar to the legacy add_request, only modified to account for logical ringbuffer. v2: Use MI_GLOBAL_GTT, as suggested by Brad Volkin. v3: Unify render and non-render in the same function, as noticed by Brad Volkin. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 82e104cc266c6da30a30fc5028b2f0236c669cd7 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:26 2014 +0100 drm/i915/bdw: New logical ring submission mechanism Well, new-ish: if all this code looks familiar, that's because it's a clone of the existing submission mechanism (with some modifications here and there to adapt it to LRCs and Execlists). And why did we do this instead of reusing code, one might wonder? Well, there are some fears that the differences are big enough that they will end up breaking all platforms. Also, Execlists offer several advantages, like control over when the GPU is done with a given workload, that can help simplify the submission mechanism, no doubt. I am interested in getting Execlists to work first and foremost, but in the future this parallel submission mechanism will help us to fine tune the mechanism without affecting old gens. v2: Pass the ringbuffer only (whenever possible). Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Appease checkpatch. Again. And drop the legacy sarea gunk that somehow crept in.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26fbb77445bd402417f42936f68c0da26d33855d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 11 18:37:37 2014 +0300 drm/i915: Make hpd debug messages less cryptic Don't print raw numbers, use port_name() and tell the user whether it's long or short without having to figure out what the other magic number means. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e94e37ad19c74b4c2569d556cda9da4a03d4e3f8 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:25 2014 +0100 drm/i915/bdw: GEN-specific logical ring set/get seqno No mistery here: the seqno is still retrieved from the engine's HW status page (the one in the default context. For the moment, I see no reason to worry about other context's HWS page). Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd645e4314b95b21146aa6ff893d783de20c4e60 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 7 09:36:04 2014 +0200 drm/radeon: allow userptr write access under certain conditions It needs to be anonymous memory (no file mappings) and we are requried to install an MMU notifier. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 341cb9e426fac32523427c80c67543a16be46605 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 7 09:36:03 2014 +0200 drm/radeon: add userptr flag to register MMU notifier v3 Whenever userspace mapping related to our userptr change we wait for it to become idle and unmap it from GTT. v2: rebased, fix mutex unlock in error path v3: improve commit message Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 2a84a4476d6e13de72472f6ca4338aed0a8269b8 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 7 09:36:02 2014 +0200 drm/radeon: add userptr flag to directly validate the BO to GTT This way we test userptr availability at BO creation time instead of first use. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ddd00e33e17a62c5f44377ab42e7562ccfae7bd1 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 7 09:36:01 2014 +0200 drm/radeon: add userptr flag to limit it to anonymous memory v2 Avoid problems with writeback by limiting userptr to anonymous memory. v2: add commit and code comments Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f72a113a71ab08c4df8a5f80ab2f8a140feb81f6 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 7 09:36:00 2014 +0200 drm/radeon: add userptr support v8 This patch adds an IOCTL for turning a pointer supplied by userspace into a buffer object. It imposes several restrictions upon the memory being mapped: 1. It must be page aligned (both start/end addresses, i.e ptr and size). 2. It must be normal system memory, not a pointer into another map of IO space (e.g. it must not be a GTT mmapping of another object). 3. The BO is mapped into GTT, so the maximum amount of memory mapped at all times is still the GTT limit. 4. The BO is only mapped readonly for now, so no write support. 5. List of backing pages is only acquired once, so they represent a snapshot of the first use. Exporting and sharing as well as mapping of buffer objects created by this function is forbidden and results in an -EPERM. v2: squash all previous changes into first public version v3: fix tabs, map readonly, don't use MM callback any more v4: set TTM_PAGE_FLAG_SG so that TTM never messes with the pages, pin/unpin pages on bind/unbind instead of populate/unpopulate v5: rebased on 3.17-wip, IOCTL renamed to userptr, reject any unknown flags, better handle READONLY flag, improve permission check v6: fix ptr cast warning, use set_page_dirty/mark_page_accessed on unpin v7: add warning about it's availability in the API definition v8: drop access_ok check, fix VM mapping bits Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v4) Reviewed-by: Jérôme Glisse <jglisse@xxxxxxxxxx> (v4) Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9b1136d505b1de5478e11b59ca59cf8ce2a33217 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:24 2014 +0100 drm/i915/bdw: GEN-specific logical ring init Logical rings do not need most of the initialization their legacy ringbuffer counterparts do: we just need the pipe control object for the render ring, enable Execlists on the hardware and a few workarounds. v2: Squash with: "drm/i915: Extract pipe control fini & make init outside accesible". Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Make checkpatch happy.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 48d823878d64f93163f5a949623346748bbce1b4 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:23 2014 +0100 drm/i915/bdw: Generic logical ring init and cleanup Allocate and populate the default LRC for every ring, call gen-specific init/cleanup, init/fini the command parser and set the status page (now inside the LRC object). These are things all engines/rings have in common. Stopping the ring before cleanup and initializing the seqnos is left as a TODO task (we need more infrastructure in place before we can achieve this). v2: Check the ringbuffer backing obj for ring_is_initialized, instead of the context backing obj (similar, but not exactly the same). Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 454afebde873874b939465bfc1a294ac3697c96e Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:22 2014 +0100 drm/i915/bdw: Skeleton for the new logical rings submission path Execlists are indeed a brave new world with respect to workload submission to the GPU. In previous version of these series, I have tried to impact the legacy ringbuffer submission path as little as possible (mostly, passing the context around and using the correct ringbuffer when I needed one) but Daniel is afraid (probably with a reason) that these changes and, especially, future ones, will end up breaking older gens. This commit and some others coming next will try to limit the damage by creating an alternative path for workload submission. The first step is here: laying out a new ring init/fini. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a83014d3f8b936778a9bc9b3d4137769bb26d9eb Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:21 2014 +0100 drm/i915: Abstract the legacy workload submission mechanism away As suggested by Daniel Vetter. The idea, in subsequent patches, is to provide an alternative to these vfuncs for the Execlists submission mechanism. v2: Splitted into two and reordered to illustrate our intentions, instead of showing it off. Also, remove the add_request vfunc and added the stop_ring one. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: - Make checkpatch happy. - Be grumpy about the excessive vtable. - Ditch gt->is_ring_initialized.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec3e9963a681789860e5c0120a745b717d942392 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:18 2014 +0100 drm/i915/bdw: Deferred creation of user-created LRCs The backing objects and ringbuffers for contexts created via open fd are actually empty until the user starts sending execbuffers to them. At that point, we allocate & populate them. We do this because, at create time, we really don't know which engine is going to be used with the context later on (and we don't want to waste memory on objects that we might never use). v2: As contexts created via ioctl can only be used with the render ring, we have enough information to allocate & populate them right away. v3: Defer the creation always, even with ioctl-created contexts, as requested by Daniel Vetter. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8670d6f97d8c19595950af1838f8458d7529825f Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:17 2014 +0100 drm/i915/bdw: Populate LR contexts (somewhat) For the most part, logical ring context objects are similar to hardware contexts in that the backing object is meant to be opaque. There are some exceptions where we need to poke certain offsets of the object for initialization, updating the tail pointer or updating the PDPs. For our basic execlist implementation we'll only need our PPGTT PDs, and ringbuffer addresses in order to set up the context. With previous patches, we have both, so start prepping the context to be load. Before running a context for the first time you must populate some fields in the context object. These fields begin 1 PAGE + LRCA, ie. the first page (in 0 based counting) of the context image. These same fields will be read and written to as contexts are saved and restored once the system is up and running. Many of these fields are completely reused from previous global registers: ringbuffer head/tail/control, context control matches some previous MI_SET_CONTEXT flags, and page directories. There are other fields which we don't touch which we may want in the future. v2: CTX_LRI_HEADER_0 is MI_LOAD_REGISTER_IMM(14) for render and (11) for other engines. v3: Several rebases and general changes to the code. v4: Squash with "Extract LR context object populating" Also, Damien's review comments: - Set the Force Posted bit on the LRI header, as the BSpec suggest we do. - Prevent warning when compiling a 32-bits kernel without HIGHMEM64. - Add a clarifying comment to the context population code. v5: Damien's review comments: - The third MI_LOAD_REGISTER_IMM in the context does not set Force Posted. - Remove dead code. v6: Add a note about the (presumed) differences between BDW and CHV state contexts. Also, Brad's review comments: - Use the _MASKED_BIT_ENABLE, upper_32_bits and lower_32_bits macros. - Be less magical about how we set the ring size in the context. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> (v1) Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> (v2) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0c7dd53b84def4fbbba907bef3d32a5171b617a5 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Aug 11 16:17:44 2014 +0200 drm/i915/bdw: Add a context and an engine pointers to the ringbuffer Any given ringbuffer is unequivocally tied to one context and one engine. By setting the appropriate pointers to them, the ringbuffer struct holds all the infromation you might need to submit a workload for processing, Execlists style. v2: Drop ring->ctx since that looks terribly ill-defined for legacy ringbuffer submission. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> (v1) Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v2) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 84c2377fcee7a43cd964b62143e9a3714130bb0c Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:15 2014 +0100 drm/i915/bdw: Allocate ringbuffers for Logical Ring Contexts As we have said a couple of times by now, logical ring contexts have their own ringbuffers: not only the backing pages, but the whole management struct. In a previous version of the series, this was achieved with two separate patches: drm/i915/bdw: Allocate ringbuffer backing objects for default global LRC drm/i915/bdw: Allocate ringbuffer for user-created LRCs Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8c8579176a144b1dca1d99ebb92510924168d508 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:14 2014 +0100 drm/i915/bdw: A bit more advanced LR context alloc/free Now that we have the ability to allocate our own context backing objects and we have multiplexed one of them per engine inside the context structs, we can finally allocate and free them correctly. Regarding the context size, reading the register to calculate the sizes can work, I think, however the docs are very clear about the actual context sizes on GEN8, so just hardcode that and use it. v2: Rebased on top of the Full PPGTT series. It is important to notice that at this point we have one global default context per engine, all of them using the aliasing PPGTT (as opposed to the single global default context we have with legacy HW contexts). v3: - Go back to one single global default context, this time with multiple backing objects inside. - Use different context sizes for non-render engines, as suggested by Damien (still hardcoded, since the information about the context size registers in the BSpec is, well, *lacking*). - Render ctx size is 20 (or 19) pages, but not 21 (caught by Damien). - Move default context backing object creation to intel_init_ring (so that we don't waste memory in rings that might not get initialized). v4: - Reuse the HW legacy context init/fini. - Create a separate free function. - Rename the functions with an intel_ preffix. v5: Several rebases to account for the changes in the previous patches. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> (v1) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9e003af2d44d9f6eafe855448c41c9ac08ae895 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:13 2014 +0100 drm/i915/bdw: Introduce one context backing object per engine A context backing object only makes sense for a given engine (because it holds state data specific to that engine). In legacy ringbuffer sumission mode, the only MI_SET_CONTEXT we really perform is for the render engine, so one backing object is all we nee. With Execlists, however, we need backing objects for every engine, as contexts become the only way to submit workloads to the GPU. To tackle this problem, we multiplex the context struct to contain <no-of-engines> objects. Originally, I colored this code by instantiating one new context for every engine I wanted to use, but this change suggested by Brad Volkin makes it more elegant. v2: Leave the old backing object pointer behind. Daniel Vetter suggested using a union, but it makes more sense to keep rcs_state as a NULL pointer behind, to make sure no one uses it incorrectly when Execlists are enabled, similar to what he suggested for ring->buffer (Rusty's API level 5). v3: Use the name "state" instead of the too-generic "obj", so that it mirrors the name choice for the legacy rcs_state. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ede7d42baeece583c864badb6f9081f4cded6c32 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:12 2014 +0100 drm/i915/bdw: Initialization for Logical Ring Contexts For the moment this is just a placeholder, but it shows one of the main differences between the good ol' HW contexts and the shiny new Logical Ring Contexts: LR contexts allocate and free their own backing objects. Another difference is that the allocation is deferred (as the create function name suggests), but that does not happen in this patch yet, because for the moment we are only dealing with the default context. Early in the series we had our own gen8_gem_context_init/fini functions, but the truth is they now look almost the same as the legacy hw context init/fini functions. We can always split them later if this ceases to be the case. Also, we do not fall back to legacy ringbuffers when logical ring context initialization fails (not very likely to happen and, even if it does, hw contexts would probably fail as well). v2: Daniel says "explain, do not showcase". Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: s/BUG_ON/WARN_ON/.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd84b1e995918ad83bdba5d5be1bef901e169f19 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Aug 11 15:57:57 2014 +0200 drm/i915: WARN if module opt sanitization goes out of order Depending upon one module option to be sanitized (through USES_PPGTT) for the other is a bit too fragile for my taste. At least WARN about this. Cc: Ben Widawsky <ben@xxxxxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Oscar Mateo <oscar.mateo@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 127f100369a1f302904335950387d566680eb275 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:11 2014 +0100 drm/i915/bdw: Macro for LRCs and module option for Execlists GEN8 brings an expansion of the HW contexts: "Logical Ring Contexts". These expanded contexts enable a number of new abilities, especially "Execlists". The macro is defined to off until we have things in place to hope to work. v2: Rename "advanced contexts" to the more correct "logical ring contexts". v3: Add a module parameter to enable execlists. Execlist are relatively new, and so it'd be wise to be able to switch back to ring submission to debug subtle problems that will inevitably arise. v4: Add an intel_enable_execlists function. v5: Sanitize early, as suggested by Daniel. Remove lrc_enabled. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> (v1) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v3) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> (v2, v4 & v5) Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b20385f1f8434ec32d73414ffcadb7dcbd3a2a61 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:10 2014 +0100 drm/i915/bdw: New source and header file for LRs, LRCs and Execlists Some legacy HW context code assumptions don't make sense for this new submission method, so we will place this stuff in a separate file. Note for reviewers: I've carefully considered the best name for this file and this was my best option (other possibilities were intel_lr_context.c or intel_execlist.c). I am open to a certain bikeshedding on this matter, anyway. And some point in time, it would be a good idea to split intel_lrc.c/.h even further, but for the moment just shove everything together. v2: Change to intel_lrc.c v3: Squash together with the header file addition Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8450f51a4b39cfe0878b4aee339820b2bfff240 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 25 23:34:03 2014 +0200 drm/irq: Implement a generic vblank_wait function As usual in both a crtc index and a struct drm_crtc * version. The function assumes that no one drivers their display below 10Hz, and it will complain if the vblank wait takes longer than that. v2: Also check dev->max_vblank_counter since some drivers register a fake get_vblank_counter function. v3: Use drm_vblank_count instead of calling the low-level ->get_vblank_counter callback. That way we'll get the sw-cooked counter for platforms without proper vblank support and so can ditch the max_vblank_counter check again. v4: Review from Michel Dänzer: - Restore lost notes about v3: - Spelling in kerneldoc. - Inline wait_event condition. - s/vblank_wait/wait_one_vblank/ Cc: Michel Dänzer <michel@xxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2a0d7cfd9482ca4c10a4d8794791760a6a7ce40c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 29 15:32:37 2014 +0200 drm: Add a plane->reset hook In general having this can't hurt, and the atomic helpers will need it to be able to reset the state objects properly. The overall idea is to reset in the order pixels flow, so planes -> crtcs -> encoders -> connectors. v2: Squash in fixup from Ville to correctly deference struct drm_plane instead of drm_crtc when walking the plane list. Fixes an oops in driver init and resume. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 906843c3a1acc36407e500a073679c4207d307cd Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 10 06:29:11 2014 +0100 drm/i915: Simplify relocate_entry_gtt() and make 64-bit safe Even though we should not try to use 4+GiB GTTs on 32-bit systems, by using a local variable we can future proof the code whilst making it easier to read. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Appease checkpatch a bit.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 060e82c6f4ccf678decffb28ba8301ca9220a995 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 10 06:29:10 2014 +0100 drm/i915: Remove redundant list_empty(eb->vmas) tests in execbuffer Part of the pre-validation for an execbuffer call is that there is at least one object in the execlist. As we bail if we fail to lookup any object, we can be sure that after the eb_lookup_vma() there is at least one object in the vma list and so we do not need to assert. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad19f10bc2a5964f1564639e60953de76b7e50f6 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 10 06:29:08 2014 +0100 drm/i915: Pre-validate the NEED_GTTS flag for execbuffer We have an implementation requirement that precludes the user from requesting a ggtt entry when the device is operating in ppgtt mode. Move the current check from inside the execbuffer object collation to the prevalidation phase. v2: Roll both invalid flags checks into one Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit da51a1e7e398129d9fddd4b26b8469145dd4fd08 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Aug 11 12:08:58 2014 +0200 drm/i915: Fix secure dispatch with full ppgtt Based upon a hunk from a patch from Chris Wilson, but augmented to: - Process the batch in the full ppgtt vm so that self-relocations match again with userspace's expectations.. - Add a comment why plain pin for the global gtt binding is safe at that point. v2: Drop local bind_vm variable (Chris). v3: Explain why this works despite the lack of proper active tracking for the ggtt batch vma. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dbbe91279511d6a18a521b953a3c139e4787e660 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 9 19:18:43 2014 +0100 drm/i915: Agnostic INTEL_INFO Adapt the macro so that we can pass either the struct drm_device or the struct drm_i915_private pointers and get the answer we want. Over time, my plan is to convert all users over to using drm_i915_private and so trimming down the pointer dance. Having spent a few hours chasing that goal and achieved over 8k of object code saving, it appears to be a worthwhile target. This interim macro allows us to slowly convert over. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Drop the (struct drm_device *) cast per the m-l discussion. Also explain the seemingly unecessary first cast.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9bec9b1334d687c0a9fcf3d3a1987a61b4826a45 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:21:35 2014 +0100 drm/i915: Double check ring is idle before declaring the GPU wedged During ring initialisation, sometimes we observe, though not in production hardware, that the idle flag is not set even though the ring is empty. Double check before giving up. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1bee20175f27b46427f10290fdd4a79334d41a60 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 9 23:00:58 2014 +0100 drm/i915: Remove set but unused 'gt_perf_status' Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f6daaec29b2a201eb8db2ce26b4460b779ad8111 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 9 23:00:56 2014 +0100 drm/i915: Make intel_disable_shared_dpll() static Found with sparse. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 87f1f46514babd40fc3551ca2d6148cdedd9c7e3 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 9 19:18:42 2014 +0100 drm/i915: Copy PCI device id into the device info block This is so that we can make the drm_i915_private->info always the preferred source for chipset type and feature queries. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 82b6b6d786466e705e7244cc676189ce47a9199a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 9 17:37:24 2014 +0100 drm/i915: Remove fenced_gpu_access and pending_fenced_gpu_access This migrates the fence tracking onto the existing seqno infrastructure so that the later conversion to tracking via requests is simplified. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e6a844687cf929ec053c7578d5ecc794a8a6c5cf Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 12:00:12 2014 +0200 drm/i915: Force CPU relocations if not GTT mapped Move the decision on whether we need to have a mappable object during execbuffer to the fore and then reuse that decision by propagating the flag through to reservation. As a corollary, before doing the actual relocation through the GTT, we can make sure that we do have a GTT mapping through which to operate. Note that the key to make this work is to ditch the obj->map_and_fenceable unbind optimization - with full ppgtt it doesn't make a lot of sense any more anyway. v2: Revamp and resend to ease future patches. v3: Refresh patch rationale References: https://bugs.freedesktop.org/show_bug.cgi?id=81094 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> [danvet: Explain why obj->map_and_fenceable is key and split out the secure batch fix.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dc8cd1e790081a31ba4d86c3c0812c348eeec7fc Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 9 17:37:22 2014 +0100 drm/i915: Only perform set-to-gtt domain for objects bound to the global gtt If an object is not bound into the global GTT, then it cannot be accessed via the GTT. This restores the original code that was muddled by ppGTT. In the process, we remove a WARN that had long outlived its usefulness and was simply being coded around instead. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d6699dd3a7f696a80a5f8e5bb6ecf6ff6dd7c998 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 9 16:29:31 2014 +0100 drm/i915: Fix wrong number of HDMI translation entries I keep telling myself that those tables aren't great because their size is the number of dwords we need to program and not the number of entries (number of dwords = number of entries * 2). And... I got it wrong when I refactored the code. Fortunately, it was only wrong when the VBT table (or the code parsing it) is itself erroneous. Long story short, it shouldn't matter, but still, there's a potential array overflow and random programming of the DDI translation tables. Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3bb11b536c1037143765b4efc8056600438df7f6 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Aug 11 09:06:39 2014 +0530 drm/i915: Continuation of future readiness series Removing the check for HAS_PCH_SPLIT, it looks redundant here. Anyways all the platforms are checked separately. v2: Reordering as per the gen (Ville) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fd3cbdc0d1b5254a2e8793df58c409b469899a3f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Aug 10 08:53:39 2014 +0200 jump_label: Fix small typos in the documentation Was reading through the documentation of this code and noticed a few typos, missing commas, etc. Cc: Jason Baron <jbaron@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 22c59960d9fe72f3fbd28de69cc43c5522dd5fe6 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Aug 8 17:45:32 2014 -0300 drm/i915: fix i915_interrupt_info on BDW Currently, if the machine is runtime suspended an you read the file, you will get an "Unclaimed register" error message. Testcase: igt/pm_rpm/debugfs-read Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0da1d4a0b9516adb2acc4841e9f6da6618f47f4e Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Fri Aug 8 16:25:47 2014 -0700 x86: Add "make tinyconfig" to configure the tiniest possible kernel Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1, "make allnoconfig" disables every possible config option. However, a few configuration options (CC_OPTIMIZE_FOR_SIZE, OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few choices exist (compression, highmem, allocator) for which a non-default option produces a smaller kernel. Add a "tinyconfig" option, which starts from allnoconfig and then sets these options to configure the tiniest possible kernel. This provides a better baseline for embedded systems or efforts to reduce kernel size. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 3aaefce10351fecab348f5e06857f44cafc61a62 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 15:21:00 2014 -0700 x86, platform, kconfig: move kvmconfig functionality to a helper The new mergeconfig helper makes it easier to add other partial configurations similar to kvmconfig. Architecture-independent portions of those partial configurations should go in kernel/configs/${name}.config, and architecture-dependent portions should go in arch/${arch}/configs/${name}.config. Based on a patch by Luis R. Rodriguez <mcgrof@xxxxxxxx>. Originally-Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Modified to make the helper name more general than just virtualization, support architecture-dependent and architecture-independent partial configurations, move the helper and kvmconfig to scripts/kconfig/Makefile, and factor out more of the common file path. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit da1b63566c469bf3e2b24182114422e16b1aa34c Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Aug 7 20:52:49 2014 +0400 Smack: remove unneeded NULL-termination from securtity label Values of extended attributes are stored as binary blobs. NULL-termination of them isn't required. It just wastes disk space and confuses command-line tools like getfattr because they have to print that zero byte at the end. This patch removes terminating zero byte from initial security label in smack_inode_init_security and cuts it out in function smack_inode_getsecurity which is used by syscall getxattr. This change seems completely safe, because function smk_parse_smack ignores everything after first zero byte. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> commit b862e561bad6372872f5bf98d95f4131d265b110 Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Aug 7 20:52:43 2014 +0400 Smack: handle zero-length security labels without panic Zero-length security labels are invalid but kernel should handle them. This patch fixes kernel panic after setting zero-length security labels: # attr -S -s "SMACK64" -V "" file And after writing zero-length string into smackfs files syslog and onlycp: # python -c 'import os; os.write(1, "")' > /smack/syslog The problem is caused by brain-damaged logic in function smk_parse_smack() which takes pointer to buffer and its length but if length below or equal zero it thinks that the buffer is zero-terminated. Unfortunately callers of this function are widely used and proper fix requires serious refactoring. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> commit fd5c9d230d2ac8a2594dfd15f0cca678fd7a64c7 Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Aug 7 20:52:33 2014 +0400 Smack: fix behavior of smack_inode_listsecurity Security operation ->inode_listsecurity is used for generating list of available extended attributes for syscall listxattr. Currently it's used only in nfs4 or if filesystem doesn't provide i_op->listxattr. The list is the set of NULL-terminated names, one after the other. This method must include zero byte at the and into result. Also this function must return length even if string does not fit into output buffer or it is NULL, see similar method in selinux and man listxattr. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> commit fdd508a6419217cce28213f3c9bd27c02a0d4c71 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 8 21:51:11 2014 +0300 drm/i915: Call .update_primary_plane in intel_{enable, disable}_primary_hw_plane() Make the intel_{enable,disable}_primary_hw_plane() simply call .update_primary_plane(), thus eliminating the rmw from these functions which should help the poor old 830M. Now we can also remove the .update_primary_plane() from the .crtc_enable() hooks because we end up calling it via intel_crtc_enable_planes()->intel_enable_primary_hw_plane(). This also has the nice benefit of making primary planes a bit closer to the way we handle sprite planes during modesets. v2: Just write 0 to DSPCNTR and DSPSURF/DSPADDR if the plane is (to be) disabled. Quicker, and more importantly avoids an oops when fb==NULL due to BIOS fb takeover failure. Pimp the commit message a bit (Matt) v3: Drop useless primary_enabled checks when setting DISPLAY_PLANE_ENABLE Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f45651bae2ee73ae551699d481f76aa6ad92138f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 8 21:51:10 2014 +0300 drm/i915: Eliminate rmw from .update_primary_plane() Move the entire DSPCNTR register setup into the .update_primary_plane() functions. That's where it belongs anyway and it'll also help 830M which has the extra problem that plane registers reads will return the value latched at the last vblank, not the value that was last written. Also move DSPPOS and DSPSIZE setup there. v2: Don't move variable initialization to avoid churn later Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4fa790421c10e5c9c62406655c06d97a94555d54 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 8 19:25:57 2014 +0100 drm/i915: Fix erroneous conversion to u8 adj was defined as u8. The issue is last_adj can be negative and adj is initialized with: adj = dev_priv->rps.last_adj; and we were also happily doing things like: if (adj < 0) (thank static analysers!) v2: Make new_delay an int in case we overflow the u8 in the intermediate computations. new_delay will get clamped at the end anyway. (Ville) Cc: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2c0827cffca8ac0c654b888c58a1989a5172f007 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Aug 8 20:44:59 2014 +0200 drm/i915: Update DRIVER_DATE to 20140808 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cb597bb3a2fbfc871cc1c703fb330d247bd21394 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Jul 27 19:09:33 2014 +0200 drm: trylock modest locking for fbdev panics In the fbdev code we want to do trylocks only to avoid deadlocks and other ugly issues. Thus far we've only grabbed the overall modeset lock, but that already failed to exclude a pile of potential concurrent operations. With proper atomic support this will be worse. So add a trylock mode to the modeset locking code which attempts all locks only with trylocks, if possible. We need to track this in the locking functions themselves and can't restrict this to drivers since driver-private w/w mutexes must be treated the same way. There's still the issue that other driver private locks aren't handled here at all, but well can't have everything. With this we will at least not regress, even once atomic allows lots of concurrent kms activity. Aside: We should move the acquire context to stack-based allocation in the callers to get rid of that awful WARN_ON(kmalloc_failed) control flow which just blows up when memory is short. But that's material for separate patches. v2: - Fix logic inversion fumble in the fb helper. - Add proper kerneldoc. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3d30a59bfcb7c96d4aacdb053c2ccc49394b2311 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Jul 27 13:42:42 2014 +0200 drm: Move ->old_fb from crtc to plane Atomic implemenations for legacy ioctls must be able to drop locks. Which doesn't cause havoc since we only do that while constructing the new state, so no driver or hardware state change has happened. The only troubling bit is the fb refcounting the core does - if someone else has snuck in then it might potentially unref an outdated framebuffer. To fix that move the old_fb temporary storage into struct drm_plane for all ioctls, so that the atomic helpers can update it. v2: Fix up the error case handling as suggested by Matt Roper and just grab locks uncoditionally - there's no point in optimizing the locking for when userspace gets it wrong. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d059f652e73c35678d28d4cd09ab2cec89696af9 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 25 18:07:40 2014 +0200 drm: Handle legacy per-crtc locking with full acquire ctx So drivers using the atomic interfaces expect that they can acquire additional locks internal to the driver as-needed. Examples would be locks to protect shared state like shared display PLLs. Unfortunately the legacy ioctls assume that all locking is fully done by the drm core. Now for those paths which grab all locks we already have to keep around an acquire context in dev->mode_config. Helper functions that implement legacy interfaces in terms of atomic support can therefore grab this acquire contexts and reuse it. The only interfaces left are the cursor and pageflip ioctls. So add functions to grab the crtc lock these need using an acquire context and preserve it for atomic drivers to reuse. v2: - Fixup comments&kerneldoc. - Drop the WARNING from modeset_lock_all_crtcs since that can be used in legacy paths with crtc locking. v3: Fix a type on the kerneldoc Dave spotted. Cc: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a6a8bb848d5ca40bc0eb708ddeb23df2b0eca1fb Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 25 17:47:18 2014 +0200 drm: Move modeset_lock_all helpers to drm_modeset_lock.[hc] Somehow we've forgotten about this little bit of OCD. Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10f637bf292ba501f9b9e9df6dfe21d8fa521fbd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 29 13:47:11 2014 +0200 drm: Add drm_plane/connector_index In the atomic state we'll have an array of states for crtcs, planes and connectors and need to be able to at them by their index. We already have a drm_crtc_index function so add the missing ones for planes and connectors. If it later on turns out that the list walking is too expensive we can add the index to the relevant modeset objects. Rob Clark doesn't like the loops too much, but we can always add an obj->idx parameter later on. And for now reiterating is actually safer since nowadays we have hotpluggable connectors (thanks to DP MST). v2: Fix embarrassing copypasta fail in kerneldoc and header declarations, spotted by Matt Roper. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 403bdd10c815029694046adf5ffde0577cbd2866 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 7 16:05:39 2014 +0200 drm/i915: No busy-loop wait_for in the ring init code Doing a 1s wait (tops) with the cpu is a bit excessive. Tune it down like everything else in that code. v2: Also insert the missing space Chris spotted. Cc: Naresh Kumar Kachhi <naresh.kumar.kachhi@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 01e184cc85d4516cab0ecea7c2c43a2dd3ad432b Author: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Date: Thu Aug 7 17:03:30 2014 +0530 drm/i915: Add sprite watermark programming for VLV and CHV Program DDL register as part of sprite watermark programming for CHV and VLV. v2: Rename DRAIN_LATENCY_MAX by DRAIN_LATENCY_MASK v3: Addressed review comments by Ville - Changed Sprite DDL definitions to more generic to avoid multiple if-else - Changed bit masking to customary form - Changed to bitwise shorthand operator for sprite_dl assignment Signed-off-by: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a398e9c79eea74ba2f3f24ac08902661682f008c Author: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Date: Tue Aug 5 23:15:54 2014 +0530 drm/i915: Round-up clock and limit drain latency Round up clock computation and limit drain latency to maximum of 0x7F. Signed-off-by: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0948c2651413d56c90d7ee9c99d75bef82d4c351 Author: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Date: Thu Aug 7 01:58:24 2014 +0530 drm/i915: Generalize drain latency computation Modify drain latency computation to use it for any plane. Same function can be used for primary, cursor and sprite planes. v2: Adressed review comments by Imre and Ville. - Moved clock round up in separate patch - Added WARN check for clock and pixel size - Simplified bit masking - Use cursor_base instead of reg read v3: Changed to bitwise shorthand operator for plane_dl assignment. Signed-off-by: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e2fcdaa9c951c51d558fea2cc020d89b382d702e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:02:51 2014 +0300 drm/i915: Free pending page flip events at .preclose() If there are pending page flips when the fd gets closed those page flips may have events associated to them. When the page flip eventually completes it will queue the event to file_priv->event_list, but that may be too late and file_priv->event_list has already been cleaned up. Thus we leak a bit of kernel memory in the form of the event structure. To avoid such problems clear out such pending events from intel_crtc->unpin_work at ->preclose(). Any event that already made it to file_priv->event_list will get cleaned up by the drm_release_events() a bit later. We can ignore the file_priv->event_space accounting since file_priv is going away. This is already how drm core deals with pending vblank events, which are maintained by the drm core. What saves us from a total disaster (ie. dereferencing and alrady freed file_priv) is the fact that the fb descruction triggers a modeset and there we wait for pending flips. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 692ef70c016b5035ad1942ccc2bc4040aa290044 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Tue Aug 5 07:51:18 2014 -0700 drm/i915: clean up PPGTT checking logic sanitize_enable_ppgtt is the function that checks all the conditions, honoring a forced ppgtt status or doing auto-detect as necessary. Just make sure it returns the right value in all cases and use that in the macros instead of the confusing intel_enable_ppgtt() function. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> [danvet: Don't reenable full ppgtt through the backdoor.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit efd814b73cfcf4ed1cb561561d8df6daccb3ceb6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Jun 27 19:52:13 2014 +0300 drm/i915: Polish the chv cmnlane resrt macros Replace the semi-funky cmnlane assert/deassert macros with something a bit more conventional. Also protect the macro arguments properly (also for PHY_POWERGOOD()). Reviewed-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3dd7b97458e8aa2d8985b46622d226fa635071e7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Jun 27 19:49:57 2014 +0300 drm/i915: Hack to tie both common lanes together on chv It looks like frobbing the cmnreset line on pne PHY disturbs the other PHY on chv. The result is a black screen. On HDMI it's just a flash of black, but DP usually falls over and can't get back up. As a workaround set up the power domains so that both common lane wells power up and down together. I also tried leaving the cmnreset deasserted even the if the power well goes down but that didn't seem acceptable to the PHY. Reviewed-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3c2777fd2faa5d1c1d5867baa086f2fd8b05479e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 26 17:03:06 2014 +0300 drm/i915: Add cherryview_update_wm() CHV has a third pipe so we need to compute the watermarks for its planes. Add cherryview_update_wm() to do just that. v2: Rebase on top of Imre's cxsr changes v3: Pass crtc to vlv_update_drain_latency() Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 41aad816d7061f6cc3d92f39fc655f034bbfb1c0 Author: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Date: Wed Jul 16 18:24:03 2014 +0530 drm/i915: Update DDL only for current CRTC Instead of looping through all CRTCs, update DDL for current CRTC for which watermark is being updated. CHV is confirmed to have precision of 32/64 which is same as VLV. Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1abc4dc7e2ca7886b6b06bcf2ff1451702c83f9b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 26 17:02:37 2014 +0300 drm/i915: Parametrize VLV_DDL registers The VLV/CHV DDL registers are uniform, and neatly enough the register offsets are sane so we can easily unify them to a single set of defines and just pass the pipe as the parameter to compute the register offset. Note that we now fill out the drain latency for pipe C on CHV which we didn't do before. The rest of the pipe C watermarks are still untouched but that will be remedied later by adding a proper cherryview_update_wm() function. v2: Add a note about CHV pipe C changes (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0a56067469bde6662ce7c89a3d290171f878bac4 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 11 16:51:18 2014 +0300 drm/i915: Fill out the FWx watermark register defines Add defines for all the watermark registers on modernish gmch platforms. VLV has increased the number of bits available for certain watermaks so expand the masks appropriately. Also vlv and chv have added some extra FW registers. Not sure what happened on chv because a new register called FW9 is now at the offset where FW7 was on vlv, while FW7 and FW8 (another new register) have been moved off somewhere else. Oh well, well just need two defines for FW7 then. v2: Fix DSPHOWM1 offset (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9783de20967a59d7627772bf77fc8066c47bef79 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Tue Aug 5 11:26:57 2014 +0530 drm: Resetting rotation property Reset rotation property to 0. v2: Resetting after disabling the plane Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7ed6eeeec60c98ec824e27a5052aa249d98bd63a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 5 11:26:55 2014 +0530 drm/i915: Add rotation property for sprites Sprite planes support 180 degree rotation. The lower layers are now in place, so hook in the standard rotation property to expose the feature to the users. v2: Moving rotation_property to mode_config Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2a297cce2e775812e9d6ca84c3ab92cee5c38e25 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Tue Aug 5 11:26:54 2014 +0530 drm: Add rotation_property to mode_config Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e57465f35192246b6587c3bc89b5ed96a8fdfb00 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 5 11:26:53 2014 +0530 drm/i915: Make intel_plane_restore() return an error Propagate the error from intel_update_plane() up through intel_plane_restore() to the caller. This will be used for rollback purposes when setting properties fails. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 76eebda727c76b5712f6ce75a45a9917d3873a37 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 5 11:26:52 2014 +0530 drm/i915: Add 180 degree sprite rotation support The sprite planes (in fact all display planes starting from gen4) support 180 degree rotation. Add the relevant low level bits to the sprite code to make use of that feature. The upper layers are not yet plugged in. v2: HSW handles the rotated buffer offset automagically v3: BDW also handles the rotated buffer offset automagically Testcase: igt/kms_rotation_crc Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b2784e151903628a086d2ee12cf943690216cd6c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Aug 5 11:29:37 2014 +0100 drm/i915: Introduce a for_each_intel_encoder() macro Following the established idom, let's provide a macro to iterate through the encoders. spatch helps, once more, for the substitution: @@ iterator name list_for_each_entry; iterator name for_each_intel_encoder; struct intel_encoder * encoder; struct drm_device * dev; @@ -list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) { +for_each_intel_encoder(dev, encoder) { ... } I also modified a few call sites by hand where a pointer to mode_config was directly used (to avoid overflowing 80 chars). Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Wrap paramters correctly in the macro and remove spurious space checkpatch noticed.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4079b8d1c3e38b6f18fb31e2997fa25276feea07 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Aug 5 10:39:42 2014 +0100 drm/i915: Demote the DRRS messages to debug messages While those messages are interesting, there aren't _that_ interesting. We don't need them in the kernel logs by default. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7fad3594bf2c66843c7d1e09005ff845a94524ab Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Aug 1 16:19:54 2014 -0300 drm/i915: remove duplicate register defines cat i915_reg.h | sort | uniq -d | grep define Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac921bdde92a354e8c59ea185dff26dc2611ee81 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 1 11:07:57 2014 +0100 drm/i915: Remove now useless comments about the translation values We used to carry a default HDMI value in entry 9, but this entry got removed for both HSW and BDW. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 156ae28c9f327d2c026e91cfacb5e224bb760d66 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 1 11:07:56 2014 +0100 drm/i915/bdw: Remove the HDMI/DVI entry from the DP/eDP/FDI tables We always write entries 0 to 8 from the DDI translation tables and then entry 9 for HDMI/DVI with the help of the VBT. We then don't need the failsafe HDMI entry in the DP/eDP/FDI tables. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a26aa8baee6c274fc23efccf46e891e63c8d0a30 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 1 11:07:55 2014 +0100 drm/i915/bdw: Provide the BDW specific HDMI buffer translation table Among the changes, the tables has only 10 entries instead of 12 on HSW and the index the the 800mV/0dB entry has changed. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce4dd49e97813740bd2b03ecdc51521be10f3bf1 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 1 11:07:54 2014 +0100 drm/i915: Gather the HDMI level shifter logic into one place The knowledge about the HDMI/DVI DDI translation table was scattered around. - info->hdmi_level_shift was initialized with 6, the index of the 800 mV, 0dB translation - A check on the VBT value was done to ensure it wasn't overflowing the translation table (< 0xC) - The actual programming was done in intel_ddi.c As we need to change that knowledge for Broadwell, let's gather everything into one place. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit da46f936bb0396f6a0fb87c2786f541e9f19a73c Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Aug 1 02:04:45 2014 -0700 drm/i915: Introduce FBC False Color for debug purposes. With this bit enabled, HW changes the color when compressing frames for debug purposes. ALthough the simple way to enable a single bit is over intel_reg_write, this value is overwriten on next update_fbc so depending on the workload it is not possible to set this bit with intel-gpu-tools. So this patch introduces a persistent way to enable false color over debugfs. v2: Use DEFINE_SIMPLE_ATTRIBUTE as Daniel suggested v3: (Ville) only do false color for IVB+ since according to spec bit is MBZ before IVB. v4: We don't have FBC on valleyview nor on cherryview (Ben) v5: s/!HAS_PCH_SPLIT/!HAS_FBC (Ville) Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f3de8336fc8c44bede43c57e40448171b12ef68 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 30 22:34:27 2014 +0200 drm/i915: Align intel_dsi*.c files a bit I'm not really that insisting on checkpath compliance, but ragged function paramter alignment does get me. Please adjust your editor to just do this for you. Cc: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f0c860533ff2de4b3bb84f71d5ce238fffe4d63 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Wed Jul 30 20:34:57 2014 +0530 drm/i915: Add support for Video Burst Mode for MIPI DSI v2: Updated the error log as suggested by Imre Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1fb44505f6c547742fcbcba4d3999fb324b5f587 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:03 2014 +0300 drm/i915: Clarify CHV swing margin/deemph bits CHV display PHY registes have two swing margin/deemph settings. Make it clear which ones we're using. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 625695f8c3383765fd8974616aa57ffdbc644f83 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:02 2014 +0300 drm/i915: Call intel_{dp, hdmi}_prepare for chv CHV was forgotten the intel_{dp,hdmi}_prepare() were introduced (or the chv patches were still in flight?). Call these when enabling the ports. Things tend to work much better when we actually write something to the port registers :) Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1ae0d1377fda91367b27596001c82e877ec2057e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:00 2014 +0300 drm/i915: Split chv_update_pll() apart Split chv_update_pll() into two parts ala: commit bdd4b6a655749970cc632aafc5fd596c07b60b1c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Apr 24 23:55:11 2014 +0200 drm/i915: Extract vlv_prepare_pll Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d17ec4ced6c0907f80f51677a44236da94ecd92d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:03:59 2014 +0300 drm/i915: Leave DPLL ref clocks on We enable the DPLL refclock already when bringing up the cmnlane power well, so also leave it on when otherwise disabling the DPLL. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d49a340d6eb6de45c1a886b71469d110f2dbb57b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:03:58 2014 +0300 drm/i915: Disable cdclk changes for chv until Punit is ready Punit seems a bit WIP still. Disable cdclk changes until we have hardware where it works. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 383c5a6a4682f6816fb5a07aebd89c5813c3d1c7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:03:57 2014 +0300 drm/i915: Add cdclk change support for chv Looks like the Punit is supposed to support the 400MHz cdclk directly on chv, so we don't need the vlv tricks. FIXME: Punit doesn't seem ready for this yet on current hw Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 06ffc7789e76a095e85814dbcf7b660344f6b679 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 17 17:43:46 2014 -0300 d rm/i915: freeze display before the interrupts and GT Since we started using intel_runtime_pm_disable_interrupts() at normal (non-runtime) suspend/resume, we had to remove a WARN from ironlake_disable_display_irq to avoid a case where we were doing the correct thing and the WARN was not really needed. The problem is that the WARN was useful in other cases, and its removal can hide some bugs that we would catch automatically. To be able to add back the WARN, we have to call intel_crtc_control() before interrupts are disabled, which is what this patch currently does. Also notice that Ville's patch from the Watermarks series "drm/i915: Leave interrupts enabled while disabling crtcs during suspend" also did a change that's equivalent to the one we're doing on this patch, with the exception that its original patch, when applied to the current tree, procduces a WARN. Related commits: commit daa390e5ee45cc051d6bf37b296901f2f92b002d Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> drm/i915: don't warn if IRQs are disabled when shutting down display IRQs commit e11aa362308f5de467ce355a2a2471321b15a35c Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> drm/i915: use runtime irq suspend/resume in freeze/thaw Note that the function part of this patch has already been done in commit 0e32b39ceed665bfa4a77a4bc307b6652b991632 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri May 2 14:02:48 2014 +1000 drm/i915: add DP 1.2 MST support (v0.7) with the fixup commit 09b64267c1f72f2670fcde9f11e5453ce365ca23 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Jul 23 14:25:24 2014 +1000 drm/i915: don't suspend gt until after we disable irqs and display (v2) so all that's left from Paulo's patch is reinstating the WARNING. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> [danvet: Explain conflict resolution with Dave's DP MST patches with a note in the commit message.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3d51278af91f8e96077dad3a4c1cc0b19fa8ca25 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 29 20:57:08 2014 +0200 drm/i915: Make ddi_clock_gate() HSW/BDW specific Turns out we were again way too naive and optimistic, of course things will change. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad13d6048f5002f1c5ab21c71a5ee136a2d8e889 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:24 2014 +0100 drm/i915: Split the CDCLK retrieval per-platform This is only going to get worse, so split it now to avoid adding more cases to the if/else ladder. Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d664c0cece2dd410d8134aa820112e471e3592dd Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:23 2014 +0100 drm/i915: Make intel_ddi_calculate_wrpll() HSW/BDW specific Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0220ab6e00785da008bb3736737b877d45858608 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:22 2014 +0100 drm/i915: Split the BDW/HSW specific shared pll selection We'll need a different algorithm to select the shared DPLL. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf9584bd0e99bd284e115ea8eba9b02a5a2d7b4d Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:21 2014 +0100 drm/i915: Fix stale comment for intel_ddi_pll_select() Since the run-time PM on DPMS series, this function has an outdated comment. Refresh it a bit. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea155f32cea99f17371bec00ee9c8e3713a15d4f Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:20 2014 +0100 drm/i915: Restrict hsw_dp_set_ddi_pll_sel() to HSW/BDW Future platform will use config->ddi_pll_sel in a different way. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 143b307c43dcfeae41a3b6c24a29fae4c70884f4 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:19 2014 +0100 drm/i915: Extract the HSW/BDW shared dpll init code So we can easily provide an alternate implementation in the future. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7d2c81751c858442387fa5158d4cd80c2190d739 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:18 2014 +0100 drm/i915: Extract the HSW DDI selection code into its own function Future platform will slightly change that. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74dd69280bc3f3e84d46b2a0f78901a0d9b4562c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:17 2014 +0100 drm/i915: Add a space to the shared DPLL debug message Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dcfc3552136fb6996e19b9f6980dc5a6721defd5 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:16 2014 +0100 drm/i915: Specify when the PLL hw state fields are valid Not all those fields are valid on a given platform. Make it explicit. Unions could also be used, but were cluttering some code paths with if/else ladders. v2: Don't use anonymous unions (Daniel) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aad3d14d25c33c8e510c41aaaf2668e8d32811ab Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:25 2014 +0300 drm/i915: Add DP training pattern 3 for CHV CHV supports DP training pattern 3. Add the required stuff. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a5043453aa2412ece984373294529d177324c901 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:18 2014 +0300 drm/i915: Split a few long debug prints Split some WM debug prints to multiple lines. This shouldn't hurt grappability since the important part is at the start and the rest is just repeated stuff for each pipe. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 026b96e293fbe48153ae868308e341f226d76c46 Author: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Date: Mon Jul 28 19:56:27 2014 +0100 drm/i915: Fix read back of plane stride register According to the specifications bit 6 is actually valid in the stride register. Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2ce147f36dc5a1f3b49abd8ce3164ad0f04ec863 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:13 2014 +0300 drm/i915: Add chv port D TX wells Add the TX wells for port D. The Punit subsystem numbers are a total guess at this time. Also I'm not sure these even exist. Certainly the Punit in current hardware doesn't deal with these. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8258356537871cf579868002552a0ed1762b0487 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:12 2014 +0300 drm/i915: Add chv port B and C TX wells Add the TX wells for ports B and C just like on VLV. Again Punit doesn't seem ready (or the wells don't even exist anymore) so leave it iffed out. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26972b0a80091ccece1cbd9422772ae625a612f6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:11 2014 +0300 drm/i915: Add per-pipe power wells for chv CHV has a power well for each pipe. Add the code to deal with them. The Punit in current hardware doesn't seem ready for this yet, so leave it iffed out. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f07057d13c62c5b925725c6e03a0c4d1c0244bef Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:10 2014 +0300 drm/i915: Add disp2d power well for chv Not sure if it's still there since chv has per-pipe power wells. At least with current Punit this doesn't work. Also the display irq handling would need to be adjusted for pipe C. So leave the code iffed out for now. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a74d782c74644b2e50b3db61e115831cdc3e9010 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:09 2014 +0300 drm/i915: Kill intel_reset_dpio() Both VLV and CHV handle the cmnreset stuff in the power well code now, so intel_reset_dpio() is no longer needed. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5d6f7ea752228788eddce0b9e268fa1f0eabdd7f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:08 2014 +0300 drm/i915: Add chv cmnlane power wells CHV has two display PHYs so there are also two cmnlane power wells. Add the approriate code to power the wells up/down. Like on VLV we do the cmnreset assert/deassert and the DPLL refclock enabling at approriate times. This code actually works on my bsw. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4811ff4f2388727a161ea49c2b0ddca95e44c7f9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:07 2014 +0300 drm/i915: Add chv_power_wells[] Add chv_power_wells[] so we can start to build up the power well support for chv. Just the "always on" well there initialy. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 210871b67cd201c198b61ca80e1c51cd4b58c051 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu May 22 19:00:50 2014 +0300 drm/i915: Kill intel_crtc->vbl_wait Share the waitqueue that drm_irq uses when performing the vblank evade trick for atomic pipe updates. v2: Keep intel_pipe_handle_vblank() (Chris) Suggested-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 020178a1bcadf20b9d057988984f374c905d542e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu May 22 19:36:03 2014 +0300 drm: Add drm_crtc_vblank_waitqueue() Add a small static inline helper to grab the vblank wait queue based on the drm_crtc. This is useful for drivers to do internal vblank waits using wait_event() & co. v2: Pimp commit message (Daniel) Add kernel doc (Daniel) Suggested-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b95af8bee524974768681b2b92235e1e1e21bf1a Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Tue Aug 5 07:51:23 2014 -0700 drm/i915: State readout and cross-checking for dp_m2_n2 Adding relevant read out comparison code, in check_crtc_state, for the new member of crtc_config, dp_m2_n2, which was introduced to store link_m_n values for a DP downclock mode (if available). Suggested by Daniel. v2: Changed patch title. Daniel's review comments incorporated. Added relevant state readout code for M2_N2. dp_m2_n2 comparison to be done only when high RR is not in use (This is because alternate m_n register programming will be done only when low RR is being used). v3: Modified call to get_m2_n2 which had dp_m_n as param by mistake. Compare dp_m_n and dp_m2_n2 for gen 7 and below. compare the structures based on DRRS state for gen 8 and above. Save and restore M2 N2 registers for gen 7 and below v4: For Gen>=8, check M_N registers against dp_m_n and dp_m2_n2 as there is only one set of M_N registers v5: Removed the chunk which saves and restores M2_N2 registers. Modified get_m_n() to get M2_N2 registers as well. Modified the macro which compares hw.dp_m_n against sw.dp_m2_n2/sw.dp_m_n for gen > 8. v6: Added check to compare dp_m2_n2 only when DRRS is enabled v7: Modified drrs check to use has_drrs v8: Add has_drrs check before reading M2_N2 registers Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f769cd247d2be5af377adf82882eddd1dce183c4 Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Tue Aug 5 07:51:22 2014 -0700 drm/i915: Set M2_N2 registers during mode set For Gen < 8, set M2_N2 registers on every mode set. This is required to make sure M2_N2 registers are set during boot, resume from sleep for cross- checking the state. The register is set only if DRRS is supported. v2: Patch rebased v3: Daniel's review comments - Removed HAS_DRRS(dev) and added bool has_drrs to pipe_config to track drrs support v4: Jesse's review comments - Made changes to set m2_n2 in intel_dp_set_m_n() Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7cdca1784c6e1c9bacf053847676df53eec7b5ea Author: Jonathan Cameron <jic23@xxxxxxxxxx> Date: Fri Aug 8 09:43:00 2014 +0100 iio:buffer: Wrong sized allocation of demux table elements. The size of the allocation is currently set to the size of the pointer rather than the structure we should actually be allocating. Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> Reported-by: kbuild@xxxxxx Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> commit cf4f7fc3e7336e2e946880890e60ed36178889ea Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Mon Aug 4 17:08:07 2014 +0200 ASoC: fsl-ssi: Support for SND_SOC_DAIFMT_CBM_CFS Add SND_SOC_DAIFMT_CBM_CFS support for Freescale architecture. Successfully tested on i.MX 6Quad Wandboard and UDOO boards connected to the pcm1792a codec. In CBM_CFS mode, when using a sample size of 16 bits, we cannot use CCSR_SSI_SCR_I2S_MODE_MASTER since we get a frame sync every 16 bits. Signed-off-by: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Tested-by: Angelo Adamo <adamo.a60@xxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 145b0a5d18565615724045dbc2ada32324faa395 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Jul 28 13:44:00 2014 +0100 iio: adc: exynos_adc: Add support for s3c24xx ADC This patch add support for s3c2410/s3c2416/s3c2440/s3c2443 ADC. The s3c24xx is alomost same as ADCv1. But, There are a little difference as following: - ADCMUX register address - ADCDAT mask (10 bit or 12 bit ADC resolution according to SoC version) - s3c24xx/s3c64xx has not included ADC_PHY enable register Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 249535d894216f5dcd922accfb435d32d417d56f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Jul 28 13:44:00 2014 +0100 iio: adc: exynos_adc: add support for s3c64xx adc The ADC in s3c64xx is almost the same as exynosv1, but has a different 'select' method. Adding this here will be helpful to move over the existing s3c64xx platform from the legacy plat-samsung/adc driver to the new exynos-adc. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 44d6f2ef94f9825e6eb9072f1611e0ea4cd81fa1 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Jul 23 22:24:00 2014 +0100 iio: adc: add driver for Rockchip saradc The ADC is a 3-channel signal-ended 10-bit Successive Approximation Register (SAR) A/D Converter. It uses the supply and ground as its reference and converts the analog input signal into 10-bit binary digital codes. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit af097e86312f2a2ec83d9d2497425f5d61592953 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Mar 8 10:58:00 2014 +0000 staging:iio:ad9852: Use devm_iio_device_register This patch introduces the use of devm_iio_device_register and does away with the unregister in the remove function. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 84e93b38c2a93c59b23349b1e31de1a3657fa4c0 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Mar 8 11:00:00 2014 +0000 staging: iio: ad9951: Use devm_iio_device_register This patch introduces the use of devm_iio_device_register and does away with the unregister in the remove function. The remove function is no longer required and is completely removed. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 913b864686746e10c32ed65c04f70d886c4c0c76 Author: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Date: Sat Mar 8 18:38:00 2014 +0000 iio: adc: Add TI ADC128S052 This patch adds support for ADC128S052 from TI. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7144045d2ac4cfa9594f392c6468c3d384041c06 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:57:00 2014 +0100 iio: accel: BMC150 accel documentation Added any-motion trigger documentation. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bd7fe5b7191836a229981fdd83845a528ee9f846 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:57:00 2014 +0100 iio: accel: BMC150 accel support This change implements BMC150 accelerometer driver. A BMC150 package consist of a compass and an accelerometer. This driver only implements accelerometer part. Spec downloaded from: http://ae-bst.resource.bosch.com/media/products/dokumente/bmc150/BST-BMC150-DS000-03.pdf This sensor chip supports many advanced features, but this driver implements minimum feature set which is a must to be useful. This driver can be enhanced incrementally. If the sensor vendor wants to update full featured version, they can substitute or enhance this driver when they get chance. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a735e3d7f03ab40d746290954baaf535719d9025 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:58:00 2014 +0100 iio: accel: kxcjk-1013: Set adjustable range This chip can support 3 different ranges. Allowing range specification. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 124e1b1d0924ca51ded8bb6f52844b2bc9e485f7 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:58:00 2014 +0100 iio: accel: kxcjk-1013: support runtime pm In an effort to improve raw read performance and at the same time enter low power state at every possible chance. For raw reads, it will keep the system powered on for a default or user specified time, via autosuspend_delay attribute of device power. This will help read multiple samples without power on/off sequence. For triggers it will keep the system on till, requested to be turned off by trigger state by utilizing run time PM usage counters. When runtime pm is not enabled, then it keeps the chip in operation mode always. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ce9d475607e7bf48b066603700afdb4811cec9b6 Author: Oussama Jabbari <oussama.jabbari@xxxxxxxxx> Date: Sun Jun 8 18:06:00 2014 +0100 staging: iio: adis16060: Fix coding style problem This patch fixes a warning from checkpatch.pl script : "WARNING: Missing a blank line after declarations" Signed-off-by: Oussama Jabbari <oussama.jabbari@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 889c558095e96312d81b4084567c11a52b285393 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Jun 8 21:12:00 2014 +0100 iio: fix error return code Convert a zero return value on error to a negative one, as returned elsewhere in the function. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d7b79519faa926a9d6d1cdebfddea7a58a9951f3 Author: Murilo Opsfelder Araujo <mopsfelder@xxxxxxxxx> Date: Tue Jul 8 01:22:00 2014 +0100 staging: iio: accel: Add blank lines between declarations and code This patch adds missing blank lines between declarations and code and fixes lines starting by spaces, satisfying checkpatch.pl. Signed-off-by: Murilo Opsfelder Araujo <mopsfelder@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2f29c16889ae71b42aefbe235867d88f8c892548 Author: Murilo Opsfelder Araujo <mopsfelder@xxxxxxxxx> Date: Tue Jul 8 01:22:00 2014 +0100 staging: iio: accel: sca3000_core.c: Adjust code to fit 80-chars limit Signed-off-by: Murilo Opsfelder Araujo <mopsfelder@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 79a093aea44f11fda0a5b4dbe4c1e29b2f586f4e Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Date: Wed Aug 6 03:22:44 2014 +0200 drm: Remove drm_vblank_cleanup from drm_vblank_init error path. drm_vblank_cleanup() would operate on non-existent dev->vblank data structure, as failure to allocate that data structure is what triggers the error path in the first place. Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c50d7521617d823d769b280bc499e19e364434ae Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:59 2014 +0300 drm: Store the vblank timestamp when adjusting the counter during disable During vblank disable the code tries to guess based on the timestamps whether we just missed one vblank or not. And if so it increments the counter. However it forgets to store the new timestamp to the approriate slot in our timestamp ring buffer. So anyone querying the timestamp for the resulting sequence number would get a stale timestamp. Fix it up by storing the new timestamp. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 96a9fdd778037799f63c9ae272ec915dd3ad83dc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:50:02 2014 +0300 drm: Fix confusing debug message in drm_update_vblank_count() Now that drm_update_vblank_count() can be called even when we're not about to enable the vblank interrupts we shouldn't print debug messages stating otherwise. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d297e1037327884fe9545f434d720fd3e8f18c80 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:50:01 2014 +0300 drm/i915: Update scanline_offset only for active crtcs update_scanline_offset() in intel_sanitize_crtc() was supposed to be called only for active crtcs. But due to some underrun patches it now gets updated for all crtcs on gmch platforms. Move the update_scanline_offset() to the very beginning of intel_sanitize_crtc() where we update the vblank state. This seems like a better place anyway since the scanline offset ought to be up to date before we might need to consult it. So before any vblanky stuff happens. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cd19e52aee922ffe5c50b6ed67acd58cc1b2738b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:56 2014 +0300 drm: Kick start vblank interrupts at drm_vblank_on() If the user is interested in getting accurate vblank sequence numbers all the time they may disable the vblank disable timer entirely. In that case it seems appropriate to kick start the vblank interrupts already from drm_vblank_on(). v2: Adapt to the drm_vblank_offdelay ==0 vs <0 changes Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21da27005f79d72499bb809616b15fd2c5c15319 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:55 2014 +0300 drm/i915: Opt out of vblank disable timer on >gen2 Now that the vblank races are plugged, we can opt out of using the vblank disable timer and just let vblank interrupts get disabled immediately when the last reference is dropped. Gen2 is the exception since it has no hardware frame counter. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 00185e667009dda907887a4f84fbd02c6e651a49 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:54 2014 +0300 drm: Add dev->vblank_disable_immediate flag Add a flag to drm_device which will cause the vblank code to bypass the disable timer and always disable the vblank interrupt immediately when the last reference is dropped. v2: Add some notes about the flag to the kernel doc Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4ed0ce3d0bccd74416ba6beb33a8a79d1617e97b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:53 2014 +0300 drm: Disable vblank interrupt immediately when drm_vblank_offdelay<0 Make drm_vblank_put() disable the vblank interrupt immediately when the refcount drops to zero and drm_vblank_offdelay<0. v2: Preserve the current drm_vblank_offdelay==0 'never disable' behaviur Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ffe7c73a8d4f0caeebd5d220ddbf7126a4daca1f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:52 2014 +0300 drm: Fix race between drm_vblank_off() and drm_queue_vblank_event() Currently it's possible that the following will happen: 1. drm_wait_vblank() calls drm_vblank_get() 2. drm_vblank_off() gets called 3. drm_wait_vblank() calls drm_queue_vblank_event() which adds the event to the queue event though vblank interrupts are currently disabled (and may not be re-enabled ever again). To fix the problem, add another vblank->enabled check into drm_queue_vblank_event(). drm_vblank_off() holds event_lock around the vblank disable, so no further locking needs to be added to drm_queue_vblank_event(). vblank disable from another source is not possible since drm_wait_vblank() already holds a vblank reference. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 56cc279b29c7b204fe7d0943509ae209b8b128db Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:51 2014 +0300 drm: Fix deadlock between event_lock and vbl_lock/vblank_time_lock Currently both drm_irq.c and several drivers call drm_vblank_put() while holding event_lock. Now that drm_vblank_put() can disable the vblank interrupt directly it may need to grab vbl_lock and vblank_time_lock. That causes deadlocks since we take the locks in the opposite order in two places in drm_irq.c. So let's make sure the locking order is always event_lock->vbl_lock->vblank_time_lock. In drm_vblank_off() pull up event_lock from underneath vbl_lock. Hold the event_lock across the whole operation to make sure we only send out the events that were on the queue when we disabled the interrupt, and not ones that got added just after (assuming drm_vblank_on() already managed to get called somewhere between). To sort the other deadlock pull the event_lock out from drm_handle_vblank_events() into drm_handle_vblank() to be taken outside vblank_time_lock. Add the appropriate assert_spin_locked() to drm_handle_vblank_events(). Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8a51d5bef07f1c8c59de20089fb27ea39d395f1b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:50 2014 +0300 drm: Reduce the amount of dev->vblank[crtc] in the code Declare a local struct drm_vblank_crtc * and use that instead of having to do dig it out via 'dev->vblank[crtc]' everywhere. Performed with the following coccinelle incantation, and a few manual whitespace cleanups: @@ identifier func,member; expression num_crtcs; struct drm_device *dev; unsigned int crtc; @@ func (...) { + struct drm_vblank_crtc *vblank; ... if (crtc >= num_crtcs) return ...; + vblank = &dev->vblank[crtc]; <+... ( - dev->vblank[crtc].member + vblank->member | - &(dev->vblank[crtc]) + vblank ) ...+> } @@ struct drm_device *dev; int crtc; identifier member; expression num_crtcs; @@ for (crtc = 0; crtc < num_crtcs; crtc++) { + struct drm_vblank_crtc *vblank = &dev->vblank[crtc]; + <+... ( - dev->vblank[crtc].member + vblank->member | - &(dev->vblank[crtc]) + vblank ) ...+> } @@ identifier func,member; @@ func (struct drm_device *dev, int crtc, ...) { + struct drm_vblank_crtc *vblank = &dev->vblank[crtc]; <+... ( - dev->vblank[crtc].member + vblank->member | - &(dev->vblank[crtc]) + vblank ) ...+> } v2: Rebased Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8ad028cc033f75fc479ca1c30e2ea4ba56e5269 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:49 2014 +0300 drm: Avoid random vblank counter jumps if the hardware counter has been reset When drm_vblank_on() is called the hardware vblank counter may have been reset, so we can't trust that the old values sampled prior to drm_vblank_off() have anything to do with the new values. So update the .last count in drm_vblank_on() to make the first drm_vblank_enable() consider that as the reference point. This will correct the user space visible counter to account for the time between drm_vblank_on() and the first drm_vblank_enable() calls. For extra safety subtract one from the .last count in drm_vblank_on() to make sure that user space will never see the same counter value before and after modeset. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 812e7465a7decf3cca0b5f71977a25eecd9626a4 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:48 2014 +0300 drm: Have the vblank counter account for the time between vblank irq disable and drm_vblank_off() If the vblank irq has already been disabled (via the disable timer) when we call drm_vblank_off() sample the counter and timestamp one last time. This will make the sure that the user space visible counter will account for time between vblank irq disable and drm_vblank_off(). Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13b030af54a5e307cbcccdf5479873fbc4b7f185 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:47 2014 +0300 drm: Move drm_update_vblank_count() Move drm_update_vblank_count() to avoid forward a declaration. No functional change. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 844b03f27739135fe1fed2fef06da0ffc4c7a081 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:46 2014 +0300 drm: Don't clear vblank timestamps when vblank interrupt is disabled Clearing the timestamps causes us to send zeroed timestamps to userspace if they get sent out in response to the drm_vblank_off(). It's better to send the very latest timestamp and count instead. Testcase: igt/kms_flip/modeset-vs-vblank-race Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 08c71e5e817a956389af5da5e99ab3e26d5c673d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:45 2014 +0300 drm/i915: Warn if drm_vblank_get() still works after drm_vblank_off() v2: Drop the drm_vblank_off() (Daniel) Use drm_crtc_vblank_{get,put}() Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7ffd7a68511c710b84db3548a1997fd2625f580a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:44 2014 +0300 drm: Always reject drm_vblank_get() after drm_vblank_off() Make sure drm_vblank_get() never succeeds when called between drm_vblank_off() and drm_vblank_on(). Borrow a trick from the old drm_vblank_{pre,post}_modeset() functions and just bump the refcount in drm_vblank_off() and drop it in drm_vblank_on(). When drm_vblank_get() encounters a >0 refcount and the vblank interrupt is already disabled it will simply return -EINVAL. Hopefully the use of inmodeset won't conflict badly with drm_vblank_{pre,post}_modeset(). For i915 there's a window between drm_vblank_off() and marking the crtc as inactive where the current code still allows drm_vblank_get(). v2: Describe what drm_vblank_get() does to explain how a simple refcount bump manages to fix things (Daniel) Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e6ae8687a87b1fe5c25e824c8ad300f5587eb622 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Aug 6 13:16:59 2014 -0400 drm: idiot-proof vblank After spending slightly more time than I'd care to admit debugging the various and presumably spectacular way things fail when you pass too low a value to drm_vblank_init() (thanks console-lock for not letting me see the carnage!), I decided it might be a good idea to add some sanity checking. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ddde43711fdde505ac413102faa2352704cd858a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:02:50 2014 +0300 drm: Warn when leaking flip events on close Warn when there are events on the file_priv->event_list just before file_priv gets freed. This can occur if the driver doesn't clean up pending page flip events in ->preclose(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> commit eaf99c749d43ae74ac7ffece5512f3c73f01dfd2 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:08:32 2014 +0200 drm: Perform cmdline mode parsing during connector initialisation i915.ko has a custom fbdev initialisation routine that aims to preserve the current mode set by the BIOS, unless overruled by the user. The user's wishes are determined by what, if any, mode is specified on the command line (via the video= parameter). However, that command line mode is first parsed by drm_fb_helper_initial_config() which is called after i915.ko's custom initial_config() as a fallback method. So in order for us to honour it, we need to move the cmdline parser earlier. If we perform the connector cmdline parsing as soon as we initialise the connector, that cmdline mode and forced status is then available even if the fbdev helper is not compiled in or never called. We also then expose the cmdline user mode in the connector mode lists. v2: Rebase after connector->name upheaval. v3: Adapt mga200 to look for the cmdline mode in the new place. Nicely simplifies things while at that. v4: Fix checkpatch. v5: Select FB_CMDLINE to adapt to the changed fbdev patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73154 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> (v2) Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> (v2) Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Cc: Julia Lemire <jlemire@xxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea6763c104c93acb6554659fe4a3c9e9328a4b51 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 11:36:38 2014 +0200 video/fbdev: Always built-in video= cmdline parsing In drm/i915 we want to get at the video= cmdline modes even when we don't have fbdev support enabled, so that users can always override the kernel's initial mode selection. But that gives us a direct depency upon the parsing code in the fbdev subsystem. Since it's so little code just extract these 2 functions and always build them in. Whiel at it fix the checkpatch fail in this code. v2: Also move fb_mode_option. Spotted by the kbuild. v3: Review from Geert: - Keep the old copyright notice from fb_mem.c, although I have no idea what exactly applies. - Only compile this when needed. Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: linux-fbdev@xxxxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> -- I prefer if we can merge this through drm-next since we'll use it there in follow-up patches. -Daniel commit 83f45fc360c8e16a330474860ebda872d1384c8c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 09:10:18 2014 +0200 drm: Don't grab an fb reference for the idr The current refcounting scheme is that the fb lookup idr also holds a reference. This works out nicely bacause thus far we've always explicitly cleaned up idr entries for framebuffers: - Userspace fbs get removed in the rmfb ioctl or when the drm file gets closed. - Kernel fbs (for fbdev emulation) get cleaned up by the driver code at module unload time. But now i915 also reconstructs the bios fbs for a smooth transition. And that fb is purely transitional and should get removed immmediately once all crtcs stop using it. Of course if the i915 fbdev code decides to reuse it as the main fbdev fb then it shouldn't be cleaned up, but in that case the fbdev code will grab it's own reference. The problem is now that we also want to register that takeover fb in the idr, so that userspace can do a smooth transition (animated maybe even!) itself. But currently we have no one who will clean up the idr reference once that fb isn't useful any more, and so essentially leak it. Fix this by no longer holding a full fb reference for the idr, but instead just have a weak reference using kref_get_unless_zero. But that requires us to synchronize and clean up with the idr and fb_lock in drm_framebuffer_free, so add that. It's a bit ugly that we have to unconditionally grab the fb_lock, but without that someone might creep through a race. This leak was caught by the fb leak check in drm_mode_config_cleanup. Originally the leak was introduced in commit 46f297fb83d4f9a6f6891964beb184664341a28b Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Fri Mar 7 08:57:48 2014 -0800 drm/i915: add plane_config fetching infrastructure v2 Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77511 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa9e0de81b5b257f6dae48efe2ed5f255f066497 Merge: 4fbe63d 19583ca Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Tue Aug 5 15:44:22 2014 -0400 Merge tag 'v3.16' into next Linux 3.16 commit 17dc0b8068f9f01c56b0ade5c36b4c45a3339dda Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 1 21:41:15 2014 +0530 ath6kl: convert a driver to use module_usb_driver() This converts a driver in drivers/net/* to use the module_usb_driver() macro which makes the code smaller and a bit simpler. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 855aed1220d2c94425ab01a85fe7a6f5c436940f Author: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 2 09:12:54 2014 +0300 ath10k: add spectral scan feature Adds the spectral scan feature for ath10k. The spectral scan is triggered by configuring a mode through a debugfs control file. Samples can be gathered via another relay debugfs file. Essentially, to try it out: ip link set dev wlan0 up echo background > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl echo trigger > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl iw dev wlan0 scan echo disable > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl cat /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan0 > samples This feature is still experimental. Based on the original RFC patch of Sven Eckelmann. Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 95752b759e2e1d9c590252a92e080eeb611fdbcd Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sat Aug 2 09:12:53 2014 +0300 ath: Move spectral debugfs structs to shared header The ath9k and ath10k will share the definitions of the debugfs spectral structures and enums. Having them in the same place helps to avoid conflicts. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7557138a943bf460e56972b8b9f45d535a473a3c Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Mon Jul 28 12:18:00 2014 +0100 staging: iio: adis16240: fix sparse warnings regarding incorrect argument type Silence the following sparse warnings by changing cast from u16 to __be16: CHECK drivers/staging/iio/accel/adis16240_core.c drivers/staging/iio/accel/adis16240_core.c:128:51: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/accel/adis16240_core.c:128:51: expected unsigned short [usertype] *val drivers/staging/iio/accel/adis16240_core.c:128:51: got signed short *<noident> drivers/staging/iio/accel/adis16240_core.c:142:51: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/accel/adis16240_core.c:142:51: expected unsigned short [usertype] *val drivers/staging/iio/accel/adis16240_core.c:142:51: got signed short *<noident> Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 18210923ab663c799d1c218e4fc998a8f0f87765 Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Mon Jul 28 12:18:00 2014 +0100 staging: iio: isl29018: fix sparse warning regarding incorrect type (different signedness) Fix the following sparse warning: drivers/staging/iio/light/isl29018.c:508:50: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/light/isl29018.c:508:50: expected unsigned int *conf_adc_bit drivers/staging/iio/light/isl29018.c:508:50: got int *<noident> Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 883fc268f55db3d59cb7871cc0b81062b754477e Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Mon Jul 28 12:18:00 2014 +0100 staging: iio: hmc5843_core: fix sparse warnings Fix the following sparse warnings: CHECK drivers/staging/iio/magnetometer/hmc5843_core.c drivers/staging/iio/magnetometer/hmc5843_core.c:138:70: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/magnetometer/hmc5843_core.c:138:70: expected unsigned int *val drivers/staging/iio/magnetometer/hmc5843_core.c:138:70: got int *<noident> drivers/staging/iio/magnetometer/hmc5843_core.c:215:64: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/magnetometer/hmc5843_core.c:215:64: expected unsigned int *val drivers/staging/iio/magnetometer/hmc5843_core.c:215:64: got int *<noident> drivers/staging/iio/magnetometer/hmc5843_core.c:354:72: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/magnetometer/hmc5843_core.c:354:72: expected unsigned int *val drivers/staging/iio/magnetometer/hmc5843_core.c:354:72: got int *<noident> drivers/staging/iio/magnetometer/hmc5843_core.c:362:72: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/magnetometer/hmc5843_core.c:362:72: expected unsigned int *val drivers/staging/iio/magnetometer/hmc5843_core.c:362:72: got int *<noident> Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b048a24cc8f29dce1bad564aaeb8680020d3701c Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 31 13:13:51 2014 +0200 perf kvm stat: Properly show submicrosecond times For lots of exits the min time (and sometimes max) is 0 or 1. Lets increase the accurancy similar to what the average field alread does. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: kvm@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1406805231-10675-2-git-send-email-borntraeger@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc55e3074ca150d5820fd4be5d4afd6cb5e876ad Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Jul 29 12:53:36 2014 +0300 ath10k: improve channel switching In some cases during heavy tx vdev stop-start would timeout on vdev synchronization causing traffic to stall for a few seconds. Instead of stop-starting use a dedicated vdev restart command and down vdevs explicitly before doing so. This gets rid of the synchronization warnings/timeouts and makes channel switching smoother during traffic. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cbe88bcc8ec2f7d6739ea67d7c91517139f0a491 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 17 16:59:00 2014 +0100 iio: buffer: Coalesce adjacent demux table entries When copying multiple multiple samples that are adjacent in both the source as well as the destination buffer, instead of creating a new demux table entry for each sample just increase the length of the previous entry by the size of the new sample. This makes the demuxing process slightly more efficient. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 972f393bc8870e236edbd2ea0150a8da85b709e2 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Jul 29 10:21:58 2014 -0300 perf symbols: Make sure --symfs usage includes the path separator Minchan reported that perf failed to load vmlinux if --symfs argument doesn't end with '/' character. Fix it by making sure that the '/' path separator is used when composing pathnames with a --symfs provided directory name. Reported-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8n4s6b6zvsez5ktanw006125@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5f1c4225f6bcb20cc004b271dc72b96d0da29e9e Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 28 12:39:50 2014 -0300 perf evlist: Don't run workload if not told to The perf_evlist__prepare_workload() method works by forking and then waiting on a fd that must be written to to allow the workload to be exec()ed. But if the tool calling it fails to, say, set up the events with which it wants to sample the workload for, it will not call perf_evlist__start_workload(), but even in this case the workload ended up running: [acme@zoo linux]$ trace /bin/echo workload ends up running, it should not... Couldn't mmap the events: Operation not permitted workload ends up running, it should not... [acme@zoo linux]$ So check if at least one byte was written before letting exec() be called. Now the expected behaviour: [acme@zoo linux]$ trace /bin/echo workload ends up running, it should not... Couldn't mmap the events: Operation not permitted [acme@zoo linux]$ Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-oh1ixo8m74rf295a05gfjw8b@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7d885749b6de2c9a1168d566e2380207b9177108 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Fri Jul 25 18:02:46 2014 -0400 perf tools: Fix arm64 build error I'm seeing the following build error on arm64: In file included from util/event.c:3:0: util/event.h:95:17: error: 'PERF_REGS_MAX' undeclared here (not in a function) u64 cache_regs[PERF_REGS_MAX]; ^ This patch adds a PERF_REGS_MAX definition for arm64. Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Acked-by: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406325766-8085-1-git-send-email-msalter@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c9940680b599300c3fb46e799986b736d394432d Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Mon Jul 28 21:53:33 2014 +0200 ARM: dts: Add gta04a5 model Add model a5 which have additional jack detection. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> [tony@xxxxxxxxxxx: fixed a typo for make dtbs to work] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4cf64060a6ee4c2ab609fb915d924bdc98805875 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Mon Jul 28 21:53:32 2014 +0200 ARM: dts: Add gta04a3 model Add gta04a3 model with additional acceleromer. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d17eb9b2a97131c75c7ea83ba981ebbe26135207 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Mon Jul 28 21:53:31 2014 +0200 ARM: dts: omap3-gta04: Rename gta04.dts to gta04.dtsi and add a4 model This patch is preparation of adding more boards which have common moved to omap3-gta04.dtsi. Other boards have only small additions to omap3-gta04a4. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 76f5329a3dfe2f95dcc5664db603a2f1b0c9b825 Author: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Date: Mon Jul 28 23:59:43 2014 +0300 ath10k: extend debug code for RX path Print sequence number, AMSDU_MORE flag and AC when additional debug enabled in RX path. This is usefull for debugging purpose. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 72bdeb86552f8d992aa854af4e320401d8dd5cb5 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jul 28 23:59:42 2014 +0300 ath10k: fix aggregated 4addr Rx A-MSDU 4addr frames weren't reconstructed properly and in some cases this resulted in a warning: br0: received packet on wlan0.sta1 with own address as source address Since this was only related to A-MSDU it would trigger when more intense traffic was generated. Reported-by: Vu Hai NGUYEN <vh.nguyen@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 24c88f7807fb7c723690474d0a5d3441468185d9 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Jul 25 13:32:17 2014 +0200 ath10k: add support for 10.2 firmware The 10.2 firmware is a successor of 10.1 firmware (formerly identified as 10.x). Both share a lot but have some slight ABI differences that need to be taken care of. The 10.2 firmware introduces some new features but those can be added in subsequent patches. This patch makes ath10k boot and work with 10.2 with comparable functionality to 10.1. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 611b3682bbefd8213b9f46e5883c15f132b20f7c Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Fri Jul 25 11:56:40 2014 +0300 ath10k: improve 'hard' simulate fw crash Different firmware may support different numbers of vdevs. Use value that is always out of range for all firmware. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit ebc14ddcc9454c02439b67f6536628289faaa26e Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Wed Jul 23 17:10:49 2014 -0300 x86, microcode, intel: Fix total_size computation According to the Intel SDM vol 3A (order code 253668-051US, June 2014), on section 9.11.1, page 9-28: "For microcode updates with a data size field equal to 00000000H, the size of the microcode update is 2048 bytes. The first 48 bytes contain the microcode update header. The remaining 2000 bytes contain encrypted data." "For microcode updates with a data size not equal to 00000000H, the total size field specifies the size of the microcode update." Up to 2002/2003, Intel used an "old format" for the microcode update containers that was always 2048 bytes in size. That old format did not have Data Size and Total Size fields, the quadwords at those positions in the microcode container header were "reserved". The microcode header of the "old format" microcode container has a hrdver of 0x01. You can hunt down an old copy of the Intel SDM to validate this through its order number (#243192). I found one from 1999 through a Google search. Sometime in 2002/2003 (AFAICT, for the Prescott processors), Intel documented a new format for the microcode containers and contributed in 2003 some code to the Linux kernel microcode driver implementing support for the new format. This new format has Data Size and Total Size fields, as well as the optional extended signature table. However, it reuses the same hrdver as the old format (0x01), and it can only be told apart from the old format by a non-zero Data Size field. In fact, the only reason we can even trust a Data Size of zero to mean that the microcode container is in the old format, is because Intel reatroatively promised that the old format would always have a zero there when they wrote the documentation for the _new_ format. This is a very old bug, dating back to 2003. It has been dormant ever since, as Intel seems to set all reserved fields to zero on the microcode updates they distribute: I could not find a public microcode update that would trigger this bug. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406146251-8540-1-git-send-email-hmh@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 61072dbc8a017039059ec0e94548e4ba31602893 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 17 16:59:00 2014 +0100 iio: buffer: Use roundup() instead of open-coding it Makes the code slightly shorter and a bit easier to understand. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7ddebf54292052898dd0cf3925d113e3527608a7 Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Fri Jul 25 09:50:00 2014 +0100 staging: iio: ad5933: fix sparse warnings Fix the following sparse warnings: CHECK drivers/staging/iio/impedance-analyzer/ad5933.c drivers/staging/iio/impedance-analyzer/ad5933.c:241:17: warning: incorrect type in assignment (different base types) drivers/staging/iio/impedance-analyzer/ad5933.c:241:17: expected unsigned int [unsigned] [usertype] d32 drivers/staging/iio/impedance-analyzer/ad5933.c:241:17: got restricted __be32 [usertype] <noident> drivers/staging/iio/impedance-analyzer/ad5933.c:263:13: warning: incorrect type in assignment (different base types) drivers/staging/iio/impedance-analyzer/ad5933.c:263:13: expected unsigned short [unsigned] dat drivers/staging/iio/impedance-analyzer/ad5933.c:263:13: got restricted __be16 [usertype] <noident> drivers/staging/iio/impedance-analyzer/ad5933.c:271:13: warning: incorrect type in assignment (different base types) drivers/staging/iio/impedance-analyzer/ad5933.c:271:13: expected unsigned short [unsigned] [addressable] dat drivers/staging/iio/impedance-analyzer/ad5933.c:271:13: got restricted __be16 [usertype] <noident> drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:446:21: warning: incorrect type in assignment (different base types) drivers/staging/iio/impedance-analyzer/ad5933.c:446:21: expected unsigned short [unsigned] dat drivers/staging/iio/impedance-analyzer/ad5933.c:446:21: got restricted __be16 [usertype] <noident> drivers/staging/iio/impedance-analyzer/ad5933.c:454:21: warning: incorrect type in assignment (different base types) drivers/staging/iio/impedance-analyzer/ad5933.c:454:21: expected unsigned short [unsigned] [addressable] dat drivers/staging/iio/impedance-analyzer/ad5933.c:454:21: got restricted __be16 [usertype] <noident> drivers/staging/iio/impedance-analyzer/ad5933.c:548:23: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:548:23: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:548:23: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:548:23: warning: cast to restricted __be16 Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 472988972737cdc2ee83c05931822792a2bf2f76 Author: Philippe Reynes <tremyfr@xxxxxxxx> Date: Fri Jul 25 22:43:00 2014 +0100 iio: add support of the max5821 Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 03d795589d4e5adf83af0623ac5bac93ae2ce2a9 Author: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Date: Fri Jul 25 22:14:00 2014 +0100 iio: hid-sensor-magn-3d: Fix build warning Fix build warning, sizeof() called on dynamically sized pointer, by removing the call and the dependent function parameter. It is not needed or used in this driver, when pushing values to an iio buffer. Changes from v1 - Fix mistake in varible name Signed-off-by: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 532ed3740c1ed1583ea3fa6de9410edf0d508563 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Thu Jul 24 15:23:21 2014 -0300 x86, microcode, intel: Rename apply_microcode and declare it static Rename apply_microcode() in microcode/intel.c to apply_microcode_intel(), and declare it as static. This is a cosmetic fix to silence a warning issued by sparse. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406146251-8540-1-git-send-email-hmh@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit f99b45c3c2aa6960b8d21bb200d144be48a0a783 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Wed Jul 23 17:10:46 2014 -0300 x86, microcode, intel: Fix typos Fix some typos. One of them was in a struct name, fortunately harmless because it happened on a "sizeof(struct foo*)" construction. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406146251-8540-1-git-send-email-hmh@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 05a5f76d033f413396bc48ce2f8651b5659bcd31 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Wed Jul 23 17:10:45 2014 -0300 x86, microcode, intel: Add missing static declarations gcc reports that a few declarations are missing. Fix two obvious ones. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406146251-8540-1-git-send-email-hmh@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1d2ce978d160fa960f12d06bf84e45f47c141272 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Wed Jul 23 17:10:44 2014 -0300 x86, microcode, amd: Fix missing static declaration Make locally used variable static. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406146251-8540-1-git-send-email-hmh@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4318bad2a02dcc678afab376713b1132ca333951 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:20 2014 +0200 ARM: dts: omap3-gta04: Add twl4030 regulators parameters Define voltages and properties for various twl4030 regulators used on gta04 board. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 91b8457e6853540966960a50573d0e0d20f355ea Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:19 2014 +0200 ARM: dts: omap3-gta04: Add display alias Define alias for lcd display present on gta04 board. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1520a13bf03b3be8a87df665db878d0600560108 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:18 2014 +0200 ARM: dts: omap3-gta04: Add USB host support Define USB Host port mode and the PHY device. Also provide pin multiplexer information for USB host pins. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6c402f8d678ebc438c66fea8507f8c820843c26d Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:17 2014 +0200 ARM: dts: omap3-gta04: Move spi gpio pins to pmx_core2 Because of commit: 3d495383648a7cda3ea51a1e2fa5d288581479aa spi_gpio_pins node isn't valid anymore. Move to pmx_core2 node. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e51c6beaefe3e2fc7490064b7a4a5f70cd861cde Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:16 2014 +0200 ARM: dts: omap3-gta04: Add wifi reset node Define gpio node in tca6507 which will be used as wifi reset pin. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9edc57af01a22f227c30ae1261cf232ab8673cbf Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:59:08 2014 +0200 ARM: dts: omap3-gta04: Fix magnetometer model gta04 is using hmc5883l not hmc5843 so fix wrong compatible entry. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2618a18246a6164c212c47ee6b0031ad85909cc9 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:14 2014 +0200 ARM: dts: omap3-gta04: Add nand support Add the needed sections to enable nand support on gta04 board. Add nand partitions information. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 16aa7f1f173f3ca105296cf2709cb039c99ffe4a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:08:47 2014 +0200 ARM: at91/dt: sama5d3: Add shutdown controller The SAMA5D3 has a shutdown controller identical to the sam9x5 SoC family. Declare it in the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1e165a7dc2f07054736a6a16bdc2fa024f3aa2d4 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 12:01:29 2014 +0200 ARM: at91/dt: Declare a second ram controller when relevant The G45 and 9263 SoCs has two identical ram controller, that are defined as a single node, with two reg cells. The proper way to support such a case is to have two separate DT nodes. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7e948346000cfc300f39f1c14335b2ef364257ef Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:15 2014 +0200 ARM: at91/dt: at91sam9: use ddrck in ramc Make the ram controller driver take the ddrck clock for at91sam9n12 and at91sam9x5. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 063de897c411af65cb113cb5fb9a0022f913460e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:14 2014 +0200 ARM: at91/dt: sama5d3: define mpddr clock and ramc clocks Define the available clock for mprddr and take both mpddr_clk and ddrck in the ram controller driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ae499f0fadaf28bf3138676fa2d3f6cf7d57556a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:07:18 2014 +0200 power: reset: Add AT91 poweroff driver Add a driver to handle the shutdown of the Atmel SoCs. This code used to be (and still is) in arch/arm/mach-at91. We didn't remove it yet so that we can convert all the boards to using this driver, before removing it entirely in a separate patch. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit ecfe64d8c55f8f210a609cd2eabfcc03f03672a9 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 2 17:46:58 2014 +0200 power: reset: Add AT91 reset driver Implement the reset behaviour of the various AT91 SoCS in drivers/power/reset. It used to be (and still is) located in arch/arm/mach-at91, and in order to preserve bisectability is not removed yet, but every board should be converted to use this driver instead. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 6ca4f46005dd7934308588d8e4d73637bbaef7ad Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 16:58:40 2014 +0200 power: reset: Add if statement instead of multiple depends on All the config option so far are depending on the POWER_RESET symbol Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit b736bcb3d8fe6182d12feb0412106802d80b4527 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:16 2014 +0200 clk: at91: remove the useless CLK_IGNORE_UNUSED flag The CLK_IGNORE_UNUSED flag was added on all the system clocks because of the ddrck. Now that it is handled by the ram controller driver, we can drop it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 63e60368956ea076278dd3d70dc80b366e0ec6f3 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:13 2014 +0200 ARM: at91: select ATMEL_SDRAMC when using OF When using device tree, select the Atmel RAM controller driver to handle its clocks. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e81b6abebc87ec40a434ada4ca8d1f2aa16cea9d Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:12 2014 +0200 memory: add a driver for atmel ram controllers Atmel SoCs have one or multiple RAM controllers that need one or multiple clocks to run. This driver handle those clocks. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 017b5522d5e31a0b2c2f54f566aa8887838bccc7 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:11 2014 +0200 ARM: at91: Add new binding for sama5d3-ddramc The IP for the SDRAM controller found on sama5d3 SoCs is different from the g45 one. Introduce a new compatible string to reflect that. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 04ec5f5c0022ee941615e304bc75853fe1bc94ba Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Jul 8 18:30:07 2014 +0200 ecryptfs: remove unnecessary break after goto Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: ecryptfs@xxxxxxxxxxxxxxx Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit 27199b15e4f027e24969f6644ce4ff414c7e6cba Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Jun 18 21:15:59 2014 -0400 ecryptfs: Remove unnecessary include of syscall.h in keystore.c There's no reason to include syscalls.h in keystore.c. Remove it. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit 3db593e8af0a7361037a2abbe8910d4e44041d89 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Jun 16 20:06:12 2014 +0200 fs/ecryptfs/messaging.c: remove null test before kfree Fix checkpatch warning: WARNING: kfree(NULL) is safe this check is probably not required Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: ecryptfs@xxxxxxxxxxxxxxx Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit c4cf3ba4f34819170fee43532f729e2fc6aa9a76 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Jun 27 01:11:59 2014 +0530 ecryptfs: Drop cast This patch does away with cast on void * and the if as it is unnecessary. The following Coccinelle semantic patch was used for making the change: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit fbeec99ad5c03060ba71c470ac373e24e23a80e0 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 7 16:46:47 2014 -0300 dma: mv_xor: Rename __mv_xor_slot_cleanup() to mv_xor_slot_cleanup() Now that mv_xor_slot_cleanup() has no remaining callers, we remove it and rename __mv_xor_slot_cleanup() to mv_xor_slot_cleanup(). We take this opportunity to add a comment that makes it clear that the channel spinlock should be held before calling mv_xor_slot_cleanup(). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e43147acba6f64ba32664dd0e590657cc49b6940 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 7 16:46:46 2014 -0300 dma: mv_xor: Remove all callers of mv_xor_slot_cleanup() In order to simplify the code, remove all the calls to the locked mv_xor_slot_cleanup() and instead use the unlocked version only, It's less error prone to have just one function, and require the caller to ensure proper locking. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 890766d278548afdc059cd977687c4f1297d72a0 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 7 16:46:45 2014 -0300 dma: mv_xor: Remove unneeded mv_xor_clean_completed_slots() call In mv_xor_status(), we are currently calling mv_xor_clean_completed_slots() when the transaction is complete (the cookie status is DMA_COMPLETE). However, a completed status means that mv_xor_slot_cleanup() was called, which cleans the completed slots. In other words, there's nothing to cleanup for a completed transaction in mv_xor_status(). Remove the unneeded call to mv_xor_clean_completed_slots(). Reported-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 368da992b93eaf8861f1ef2d27bbe22c01140733 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Thu Mar 6 21:11:21 2014 +0100 ioat: Use pci_enable_msix_exact() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Function pci_enable_msix() returns a tri-state value while pci_enable_msi_exact() is a canonical zero/-errno variant. The former is being phased out in favor of the latter. In case of 'ioat' there (should be) no difference. Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 2358b820d42a33f1d1052b438489c90a4cc8f3fc Author: Rashika <rashika.kheria@xxxxxxxxx> Date: Mon Dec 16 15:44:39 2013 +0530 drivers: dma: Include appropriate header file in dca.c Includes an appropriate header file dma_v2.h in ioat/dca.c because functions ioat2_dca_init() and ioat3_dca_init() have their function declarations in dma_v2.h. This eliminates the following warning in ioat/dca.c: drivers/dma/ioat/dca.c:410:22: warning: no previous prototype for â??ioat2_dca_initâ?? [-Wmissing-prototypes] drivers/dma/ioat/dca.c:624:22: warning: no previous prototype for â??ioat3_dca_initâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 8d1d32767ca0df1b5cd75cdc1be3915bc6887ed1 Author: Rashika <rashika.kheria@xxxxxxxxx> Date: Mon Dec 16 15:40:40 2013 +0530 drivers: dma: Mark functions as static in dma_v3.c Mark the functions ioat3_prep_xor_val(), ioat3_prep_pq_val() and ioat3_prep_pqxor_val() as static in dma_v3.c because they are not used outside this file. This eliminates the following warnings in dma_v3.c: drivers/dma/ioat/dma_v3.c:741:1: warning: no previous prototype for â??ioat3_prep_xor_valâ?? [-Wmissing-prototypes] drivers/dma/ioat/dma_v3.c:1092:1: warning: no previous prototype for â??ioat3_prep_pq_valâ?? [-Wmissing-prototypes] drivers/dma/ioat/dma_v3.c:1134:1: warning: no previous prototype for â??ioat3_prep_pqxor_valâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit b8c01d259a08d75c5049b2bd5f579648262c30a4 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Dec 10 09:32:37 2013 -0300 dma: mv_xor: Add DMA API error checks This commit adds proper error checking for various DMA API calls, as reported by DMA_API_DEBUG=y. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 1fde2548460c1ded9fe71220b506473f0b7de768 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Thu Dec 5 19:31:18 2013 +0800 ioat/dca: Use dev_is_pci() to check whether it is pci device Use PCI standard marco dev_is_pci() instead of directly compare pci_bus_type to check whether it is pci device. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 9e78d14a9f641c0476f733f6fc559ba5cac6f52b Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Dec 10 15:26:48 2013 +0000 Use %pd in eCryptFS Use the new %pd printk() specifier in eCryptFS to replace passing of dentry name or dentry name and name length * 2 with just passing the dentry. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> cc: ecryptfs@xxxxxxxxxxxxxxx Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> For bisection revision-tuple graph see: http://www.chiark.greenend.org.uk/~xensrcts/results/bisect.linux-linus.test-amd64-i386-xl-qemuu-debianhvm-amd64.xen-boot.html Revision IDs in each graph node refer, respectively, to the Trees above. ---------------------------------------- Searching for failure / basis pass: 30856 fail [host=scape-moth] / 30749 [host=gall-mite] 30730 [host=field-cricket] 30706 [host=rice-weevil] 30694 [host=bush-cricket] 30602 [host=grain-weevil] 30591 [host=bush-cricket] 30567 ok. Failure / basis pass flights: 30856 / 30567 (tree with no url: seabios) Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: qemu git://xenbits.xen.org/staging/qemu-xen-unstable.git Tree: qemuu git://xenbits.xen.org/staging/qemu-upstream-unstable.git Tree: xen git://xenbits.xen.org/xen.git Latest c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 9cea500dc0294947b12b8e2479a238acd0e990f2 Basis pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d0395cc49b2ec6d1723c01f1daf2394b9264ca29 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e e01fa4e223fc077e18936d890dbd4813c3e7c9b1 Generating revisions with ./adhoc-revtuple-generator git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git#58586869599f6bb38aeca71a847cd77bfea74808-c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/staging/qemu-xen-unstable.git#d0395cc49b2ec6d1723c01f1daf2394b9264ca29-b0d42741f8e9a00854c3b3faca1da84bfc69bf22 git://xenbits.xen.org/staging/qemu-upstream-unstable.git#c9d8f8b755e8960edf7725e05f3e6ac743a5e12e-c9d8f8b755e8960edf7725e05f3e6ac743a5e12e git://xenbits.xen.org/xen.git#e01fa4e223fc077e18936d890dbd4813c3e7c9b1-9cea500dc0294947b12b8e2479a238acd0e990f2 + exec + sh -xe + cd /export/home/osstest/repos/linux-2.6 + git remote set-url origin git://drall.uk.xensource.com:9419/git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* adhoc-revtuple-generator: tree discontiguous: linux-2.6 + exec + sh -xe + cd /export/home/osstest/repos/qemu-xen-unstable + git remote set-url origin git://drall.uk.xensource.com:9419/git://xenbits.xen.org/staging/qemu-xen-unstable.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* + exec + sh -xe + cd /export/home/osstest/repos/xen + git remote set-url origin git://drall.uk.xensource.com:9419/git://xenbits.xen.org/xen.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* + exec + sh -xe + cd /export/home/osstest/repos/qemu-xen-unstable + git remote set-url origin git://drall.uk.xensource.com:9419/git://xenbits.xen.org/staging/qemu-xen-unstable.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* + exec + sh -xe + cd /export/home/osstest/repos/xen + git remote set-url origin git://drall.uk.xensource.com:9419/git://xenbits.xen.org/xen.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* Loaded 2004 nodes in revision graph Searching for test results: 30356 pass irrelevant 30375 [host=field-cricket] 30390 [host=bush-cricket] 30516 [host=bush-cricket] 30528 [host=rice-weevil] 30567 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d0395cc49b2ec6d1723c01f1daf2394b9264ca29 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e e01fa4e223fc077e18936d890dbd4813c3e7c9b1 30550 [host=field-cricket] 30591 [host=bush-cricket] 30602 [host=grain-weevil] 30657 [] 30681 [] 30667 [] 30694 [host=bush-cricket] 30706 [host=rice-weevil] 30749 [host=gall-mite] 30730 [host=field-cricket] 30764 fail irrelevant 30793 fail irrelevant 30856 fail c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 9cea500dc0294947b12b8e2479a238acd0e990f2 30925 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 747187995dd8cb28dcac1db8851d60e54f85f8e4 30927 blocked 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 4c5e3a8e84f2158487d8f403b3053c52d8ee2dd7 30928 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 9cea500dc0294947b12b8e2479a238acd0e990f2 30905 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d0395cc49b2ec6d1723c01f1daf2394b9264ca29 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e e01fa4e223fc077e18936d890dbd4813c3e7c9b1 30929 fail c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 9cea500dc0294947b12b8e2479a238acd0e990f2 30907 fail c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 9cea500dc0294947b12b8e2479a238acd0e990f2 30908 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e f16ed0eaaf84cfbaf625b07fb515e6d1303233b0 30931 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 9cea500dc0294947b12b8e2479a238acd0e990f2 30909 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 58fac0693d8ad591add917e939011fe069720b0c c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 1aa064329a4cf313ed9f0b5a0306237585dbddb9 30932 fail c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 9cea500dc0294947b12b8e2479a238acd0e990f2 30910 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 58fac0693d8ad591add917e939011fe069720b0c c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 1ce9a637d30ce69f4a4c1cb92cec81f7b288a5db 30913 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 58fac0693d8ad591add917e939011fe069720b0c c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 253d54081af32d6dc9ce08e6befa26a768c52521 30915 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 58fac0693d8ad591add917e939011fe069720b0c c9d8f8b755e8960edf7725e05f3e6ac743a5e12e ecf5678200ad2642b69ffea47ad138190bc3e190 30916 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 58fac0693d8ad591add917e939011fe069720b0c c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 50dc46985289738b7ade3463f7580f1afd2d7b91 30917 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e a547da77cd7dd018b74dc2d5c9fa405046c7c57b 30933 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 9cea500dc0294947b12b8e2479a238acd0e990f2 30920 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 0074c64aefc7e2b552503bbbd0d1b5dd08b11144 30936 fail c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 9cea500dc0294947b12b8e2479a238acd0e990f2 30922 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 7d96cc5c4b2670a4220a50746fa17a0e8a4da1c2 30924 pass 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 45829021078fbd0149451e17423bb93e43734560 Searching for interesting versions Result found: flight 30567 (pass), for basis pass Result found: flight 30856 (fail), for basis failure Repro found: flight 30905 (pass), for basis pass Repro found: flight 30907 (fail), for basis failure 0 revisions at 58586869599f6bb38aeca71a847cd77bfea74808 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b0d42741f8e9a00854c3b3faca1da84bfc69bf22 c9d8f8b755e8960edf7725e05f3e6ac743a5e12e 9cea500dc0294947b12b8e2479a238acd0e990f2 No revisions left to test, checking graph state. Result found: flight 30928 (pass), for last pass Result found: flight 30929 (fail), for first failure Repro found: flight 30931 (pass), for last pass Repro found: flight 30932 (fail), for first failure Repro found: flight 30933 (pass), for last pass Repro found: flight 30936 (fail), for first failure *** Found and reproduced problem changeset *** Bug is in tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Bug introduced: c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 Bug not present: 58586869599f6bb38aeca71a847cd77bfea74808 + exec + sh -xe + cd /export/home/osstest/repos/linux-2.6 + git remote set-url origin git://drall.uk.xensource.com:9419/git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + git fetch -p origin +refs/heads/*:refs/remotes/origin/* commit c3351dfabf5c78fb5ddc79d0f7b65ebd9e441337 Merge: 848a552 62d3ab4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 13:06:38 2014 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending Pull SCSI target updates from Nicholas Bellinger: "Here are the target updates for v3.18-rc2 code. These where originally destined for -rc1, but due to the combination of travel last week for KVM Forum and my mistake of taking the three week merge window literally, the pull request slipped.. Apologies for that. Things where reasonably quiet this round. The highlights include: - New userspace backend driver (target_core_user.ko) by Shaohua Li and Andy Grover - A number of cleanups in target, iscsi-taret and qla_target code from Joern Engel - Fix an OOPs related to queue full handling with CHECK_CONDITION status from Quinn Tran - Fix to disable TX completion interrupt coalescing in iser-target, that was causing problems on some hardware - Fix for PR APTPL metadata handling with demo-mode ACLs I'm most excited about the new backend driver that uses UIO + shared memory ring to dispatch I/O and control commands into user-space. This was probably the most requested feature by users over the last couple of years, and opens up a new area of development + porting of existing user-space storage applications to LIO. Thanks to Shaohua + Andy for making this happen. Also another honorable mention, a new Xen PV SCSI driver was merged via the xen/tip.git tree recently, which puts us now at 10 target drivers in upstream! Thanks to David Vrabel + Juergen Gross for their work to get this code merged" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (40 commits) target/file: fix inclusive vfs_fsync_range() end iser-target: Disable TX completion interrupt coalescing target: Add force_pr_aptpl device attribute target: Fix APTPL metadata handling for dynamic MappedLUNs qla_target: don't delete changed nacls target/user: Recalculate pad size inside is_ring_space_avail() tcm_loop: Fixup tag handling iser-target: Fix smatch warning target/user: Fix up smatch warnings in tcmu_netlink_event target: Add a user-passthrough backstore target: Add documentation on the target userspace pass-through driver uio: Export definition of struct uio_device target: Remove unneeded check in sbc_parse_cdb target: Fix queue full status NULL pointer for SCF_TRANSPORT_TASK_SENSE qla_target: rearrange struct qla_tgt_prm qla_target: improve qlt_unmap_sg() qla_target: make some global functions static qla_target: remove unused parameter target: simplify core_tmr_abort_task target: encapsulate smp_mb__after_atomic() ... commit 848a552893ff1fe071c57231edcd179cf84ec4f8 Merge: 43d451f 1fa3a00 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 12:53:45 2014 -0700 Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd Pull email address change from Boaz Harrosh. * 'for-linus' of git://git.open-osd.org/linux-open-osd: Boaz Harrosh - fix email in Documentation Boaz Harrosh - Fix broken email address MAINTAINERS: Change Boaz Harrosh's email commit 43d451f163c1b615c1bedef95258c49712679eeb Merge: 21d2271 9f3e3ca Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 11:21:19 2014 -0700 Merge branch 'mailbox-for-linus' of git://git.linaro.org/landing-teams/working/fujitsu/integration Pull mailbox framework from Jassi Brar: "A framework for Mailbox controllers and clients have been cooking for more than a year now. Everybody in the CC list had been copied on patchset revisions and most of them have made sounds of approval, though just one concrete Reviewed-by. The patchset has also been in linux-next for a couple of weeks now and no conflict has been reported. The framework has the backing of at least 5 platforms, though I can't say if/when they upstream their drivers (some businesses have 'changed')" (Further acked-by by Arnd Bergmann and Suman Anna in the pull request thread) * 'mailbox-for-linus' of git://git.linaro.org/landing-teams/working/fujitsu/integration: dt: mailbox: add generic bindings doc: add documentation for mailbox framework mailbox: Introduce framework for mailbox mailbox: rename pl320-ipc specific mailbox.h commit 21d2271fd0812ebe3716cab0b48356837485a74d Merge: 045aaed 06980b2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 08:24:55 2014 -0700 Merge git://www.linux-watchdog.org/linux-watchdog Pull watchdog updates from Wim Van Sebroeck: - new Cadence WDT driver - new Ricoh RN5T618 watchdog - new DA9063 PMIC watchdog driver - new Meson WDT driver - add restart handling code - fixes and improvements * git://www.linux-watchdog.org/linux-watchdog: (25 commits) watchdog: meson: remove magic value for reboot watchdog: Let XILINX_WATCHDOG and TEGRA_WATCHDOG depend on HAS_IOMEM watchdog: sunxi: Add A31 watchdog support watchdog: sunxi: support parameterized compatible strings watchdog: imx2_wdt: add restart handler support watchdog: qcom: register a restart notifier watchdog: s3c2410: add restart handler watchdog: dw_wdt: add restart handler support ARM: defconfig: update multi_v7_defconfig ARM: meson: add watchdog driver ARM: docs: add documentation binding for meson watchdog stmp3xxx_rtc_wdt: Add suspend/resume PM support watchdog: Add DA9063 PMIC watchdog driver. watchdog: add driver for Ricoh RN5T618 watchdog watchdog: s3c2410_wdt: Add support for Watchdog device on Exynos7 watchdog: qcom: document device tree bindings watchdog: qcom: add support for KPSS WDT watchdog: dw_wdt: initialise TOP_INIT in dw_wdt_set_top() devicetree: Add Cadence WDT devicetree bindings documentation watchdog: Add Cadence WDT driver ... commit 045aaedab67bc3f2f01fe46917e0e17a6b5a7d5d Merge: 5b9c897 a4c84e6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 08:18:38 2014 -0700 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds Pull LED update from Bryan Wu: "Basically we have some bug fixing and clean up and one big thing is we start to merge patch to add support LED Flash class" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: leds: gpio: cleanup the leds-gpio driver led: gpio: Fix possible ZERO_SIZE_PTR pointer dereferencing error. led: gpio: Sort include headers alphabetically leds: Improve and export led_update_brightness leds: trigger: gpio: fix warning in gpio trigger for gpios whose accessor function may sleep leds: lp3944: fix sparse warning leds: avoid using DEVICE_ATTR macro for max_brightness attribute leds: make brightness type consistent across whole subsystem leds: Reorder include directives commit 5b9c8972527fdb52d5cd7dadc9853c57430e0ff5 Merge: 3d430bd dec02f9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 08:17:43 2014 -0700 Merge tag 'pwm/for-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm Pull pwm changes from Thierry Reding: "There are no new drivers here, only a couple of fixes all over the place" * tag 'pwm/for-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm: pwm: Let PWM_CLPS711X depend on HAS_IOMEM pwm: atmel: Fix calculation of prescale value pwm: Fix uninitialized warnings in pwm_get() pwm: rockchip: Allow polarity invert on rk3288 pwm: imx: Avoid sample FIFO overflow for i.MX PWM version2 pwm: imx: Cleanup indentation for register definitions pwm: imx: Fix the macro MX3_PWMCR_PRESCALER(x) definition pwm: Fix possible ZERO_SIZE_PTR pointer dereferencing error. pwm: lpss: make it buildable only on X86 pwm: lpss: use c99 initializers in structures pwm: lpss: Fix build failure on PowerPC pwm: lpss: pci: Move to use pcim_enable_device() pwm: lpss: Properly split driver to parts pwm: lpss: Add ACPI and PCI IDs for Intel Braswell pwm: fsl-ftm: Select REGMAP_MMIO pwm: fsl-ftm: Document 'big-endian' property pwm: fsl-ftm: Convert to direct regmap API usage pwm: fsl-ftm: Clean up the code commit 3d430bdb74140224d90dd6253d67ff71d181cf64 Merge: dc30340 5637208 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 07:50:02 2014 -0700 Merge tag 'arc-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc Pull ARC updates from Vineet Gupta: "Sorry for the late pull request. Current stuff was ready for a while but I was hoping to squeeze in support for almost ready ARC SDP platform (and avoid a 2nd pull request), however it seems there are still some loose ends which warrant more time. - Platform code reduction/moving-up (TB10X no longer needs any callbacks) - updated boot printing - kgdb update for arc gdb 7.5 - bug fixes (some marked for stable) - more code refactoring/consolidation" * tag 'arc-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: ARC: boot: cpu feature print enhancements ARC: boot: consolidate cross-checking of h/w and s/w ARC: unbork FPU save/restore ARC: remove extraneous __KERNEL__ guards ARC: Update order of registers in KGDB to match GDB 7.5 ARC: Remove unneeded Kconfig entry NO_DMA ARC: BUG() dumps stack after @msg (@msg now same as in generic BUG)) ARC: refactoring: reduce the scope of some local vars ARC: remove gcc mpy heuristics ARC: RIP @running_on_hw ARC: Update comments about uncached address space ARC: rename kconfig option for unaligned emulation ARC: [nsimosci] Allow "headless" models to boot ARC: [arcfpga] Get rid of ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 ARC: [arcfpga] Remove more dead code ARC: [plat*] move code out of .init_machine into common ARC: [arcfpga] consolidate machine description, DT ARC: Allow SMP kernel to build/boot on UP-only infrastructure commit dc303408a716e865099fcb3f83a90d9c51184c02 Merge: c4301c3 e89dafb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 07:48:56 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull more powerpc updates from Michael Ellerman: "Here's some more updates for powerpc for 3.18. They are a bit late I know, though must are actually bug fixes. In my defence I nearly cut the top of my finger off last weekend in a gruesome bike maintenance accident, so I spent a good part of the week waiting around for doctors. True story, I can send photos if you like :) Probably the most interesting fix is the sys_call_table one, which enables syscall tracing for powerpc. There's a fix for HMI handling for old firmware, more endian fixes for firmware interfaces, more EEH fixes, Anton fixed our routine that gets the current stack pointer, and a few other misc bits" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (22 commits) powerpc: Only do dynamic DMA zone limits on platforms that need it powerpc: sync pseries_le_defconfig with pseries_defconfig powerpc: Add printk levels to setup_system output powerpc/vphn: NUMA node code expects big-endian powerpc/msi: Use WARN_ON() in msi bitmap selftests powerpc/msi: Fix the msi bitmap alignment tests powerpc/eeh: Block CFG upon frozen Shiner adapter powerpc/eeh: Don't collect logs on PE with blocked config space powerpc/eeh: Block PCI config access upon frozen PE powerpc/pseries: Drop config requests in EEH accessors powerpc/powernv: Drop config requests in EEH accessors powerpc/eeh: Rename flag EEH_PE_RESET to EEH_PE_CFG_BLOCKED powerpc/eeh: Fix condition for isolated state powerpc/pseries: Make CPU hotplug path endian safe powerpc/pseries: Use dump_stack instead of show_stack powerpc: Rename __get_SP() to current_stack_pointer() powerpc: Reimplement __get_SP() as a function not a define powerpc/numa: Add ability to disable and debug topology updates powerpc/numa: check error return from proc_create powerpc/powernv: Fallback to old HMI handling behavior for old firmware ... commit c4301c32663438afb8eac96db01944ad95c00260 Merge: c2661b8 d6fe5be Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 21 07:47:54 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "One patch to enable the BPF system call and three more bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/uprobes: fix kprobes dependency s390: wire up bpf syscall s390/mm: fixing calls of pte_unmap_unlock s390/hmcdrv: Restrict s390 HMC driver to S390 arch commit 06980b24cf9bfcc753a07ee362976169bb869869 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Thu Oct 9 21:59:16 2014 +0200 watchdog: meson: remove magic value for reboot This patch removes the magic value used for rebooting the board. This value is useless and leads to a static checker warning as reported by Dan Carpenter. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 71fd380a6b87f384002feceda39fd670ede7ea5f Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Sun Oct 5 09:28:33 2014 +0800 watchdog: Let XILINX_WATCHDOG and TEGRA_WATCHDOG depend on HAS_IOMEM They need HAS_IOMEM, so let them depend on it, the related error (with allmodconfig under um): MODPOST 1205 modules ERROR: "devm_ioremap_resource" [drivers/watchdog/tegra_wdt.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/watchdog/of_xilinx_wdt.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit c5ec618fbf83045b9d51679d809ddd45f990fe0a Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Mon Sep 22 00:05:19 2014 +0800 watchdog: sunxi: Add A31 watchdog support This patch adds support for the watchdog hardware found in A31 and newer SoCs. This new hardware has registers at different offsets, and the system reset control has been split out of the "mode" register into a new "configuration" register. Differences not supported by this driver include separate interrupt lines for each watchdog, instead of sharing an interrupt line and registers with the timer block. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f2147de334703c7c44372f013d7d466d756e6943 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Mon Sep 22 00:05:18 2014 +0800 watchdog: sunxi: support parameterized compatible strings This patch adds support for hardware parameters tied to compatible strings, so similar hardware can reuse the driver. This will be used to support the newer watchdog found in A31 and later SoCs. Differences in the new hardware include separate interrupt lines for each watchdog, and corresponding interrupt control/status registers. Watchdog control registers were also slightly rearranged. Also replace ioread32()/iowrite32() with readl()/writel() in various places changed. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 334a9d8131254e06685b2af0c0f3cc7b3ec5bd04 Author: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Date: Fri Sep 12 15:24:36 2014 +0800 watchdog: imx2_wdt: add restart handler support Register the watchdog as the system restart function to the new introducing kernel restart call chain in the driver instead of providing the restart in machine desc. This restart handler function is from the mxc_restart() in arch/arm/mach-imx/system.c Signed-off-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 05e487d905ab29b5756d6d1e47e27eefa6693fb3 Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Thu Sep 25 17:51:04 2014 -0500 watchdog: qcom: register a restart notifier The WDT's BITE_TIME warm-reset behavior can be leveraged as a last resort mechanism for triggering chip reset. Usually, other restart methods (such as PS_HOLD) are preferrable for issuing a more complete reset of the chip. As such, keep the priority of the watchdog notifier low. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit f286e1335f579dfd970c7fc3f62b248773a47a5c Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Aug 19 17:45:36 2014 -0700 watchdog: s3c2410: add restart handler On a lot of Samsung systems the watchdog is responsible for restarting the system and until now this code was contained in plat-samsung/watchdog-reset.c. With the introduction of the restart handlers, this code can now move into driver itself, removing the need for arch-specific code. Tested on a S3C2442 based GTA02 Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 31228f43ab528628c9b5f1351604361aa1d78533 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Sep 23 15:42:12 2014 +0800 watchdog: dw_wdt: add restart handler support The kernel core now provides an API to trigger a system restart. Register with it to support restarting the system via. watchdog. Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 69a160a0543fd569661048a8692c10afcdb1914b Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Sat Sep 20 19:06:52 2014 +0200 ARM: defconfig: update multi_v7_defconfig Update the multi_v7_defconfig enabling the watchdog driver for Meson SoCs. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 22e1b8f60f913cf71e688af9b64317b515303f4c Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Sat Sep 20 19:06:50 2014 +0200 ARM: meson: add watchdog driver This patch adds the watchdog driver for the Amlogic Meson SoCs used also to reboot the device. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 0c5691f00879cacf98a31b873c02d71c66d72855 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Sat Sep 20 19:06:49 2014 +0200 ARM: docs: add documentation binding for meson watchdog Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 3281b85c8697938e344d67144ca8ba520fa54d2b Author: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx> Date: Mon Sep 22 22:55:47 2014 +0200 stmp3xxx_rtc_wdt: Add suspend/resume PM support There is no conflict with rtc/rtc-stmp3xxx.c parent because modified registers in PM functions of stmp3xxx_rtc_wdt are different. Signed-off-by: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 5e9c16e3760893b3721f599f180795ca7160afef Author: Krystian Garbaciak <krystian.garbaciak@xxxxxxxxxxx> Date: Sun Sep 28 19:05:45 2014 +0200 watchdog: Add DA9063 PMIC watchdog driver. This driver supports the watchdog device inside the DA9063 PMIC. Signed-off-by: Krystian Garbaciak <krystian.garbaciak@xxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Acked-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Tested-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 22b1c841e31510c3124c88a13b8a7ada14e2e2d1 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Mon Sep 29 00:39:47 2014 +0200 watchdog: add driver for Ricoh RN5T618 watchdog This adds a driver for the watchdog timer available in Ricoh RN5T618 PMIC. The device supports a programmable expiration time of 1, 8, 32 or 128 seconds. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 2b9366b669679f1388457ec5a62f9dd1d0a78b08 Author: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Date: Wed Aug 27 15:17:11 2014 +0530 watchdog: s3c2410_wdt: Add support for Watchdog device on Exynos7 Exynos7 SoC has a Watchdog for Atlas (A57) cores This patch adds support for the Atlas watchdog. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 7c92c3d58429c38557ffd7e6a69dc97522335454 Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Thu Sep 25 17:51:03 2014 -0500 watchdog: qcom: document device tree bindings The Qualcomm Krait Processor Sub-system (KPSS) contains one or more instances of the WDT. Provide documentation on how to describe these in the device tree. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 1094ebe9d1e1dde0754ff8cede16159fb20b2f3b Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Thu Sep 25 17:51:02 2014 -0500 watchdog: qcom: add support for KPSS WDT Add a driver for the watchdog timer block found in the Krait Processor Subsystem (KPSS) on the MSM8960, APQ8064, and IPQ8064. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit dfa07141e7a792aecf98a8a99dd40df0bf91bce2 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Sep 23 15:42:11 2014 +0800 watchdog: dw_wdt: initialise TOP_INIT in dw_wdt_set_top() The TOP_INIT, ie bit 4-7 of the WDOG_TIMEOUT_RANGE_REG_OFFSET register may be zero, so the timeout period may be very short after initialization is done, thus the system may be reset soon after enabling. We fix this problem by also initialising the TOP_INIT when setting TOP in function dw_wdt_set_top(). Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 191891c0378f44aec8e06e889a08d0b76fe6c5cb Author: Harini Katakam <harinik@xxxxxxxxxx> Date: Fri Aug 22 14:58:02 2014 +0530 devicetree: Add Cadence WDT devicetree bindings documentation Add cadence-wdt bindings documentation. Signed-off-by: Harini Katakam <harinik@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 58bf016426594e5370e7e7059698a278294db997 Author: Harini Katakam <harinik@xxxxxxxxxx> Date: Fri Aug 22 14:58:01 2014 +0530 watchdog: Add Cadence WDT driver Add Cadence WDT driver. This is used by Xilinx Zynq. Signed-off-by: Harini Katakam <harinik@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 4846e3784585173f48e267b76f968bcb4a12d3b2 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Tue Sep 9 22:18:31 2014 +0200 watchdog: simplify definitions of WATCHDOG_NOWAYOUT(_INIT_STATUS)? Signed-off-by: Uwe Kleine-K=C3=B6nig <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 0461aea7ec379b00f4acb5d612bfb2f7a497eb92 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 18 16:12:50 2014 +0800 watchdog: imx2_wdt: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 1f897a81915222310374cac1a85c0c7104f16249 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 19 14:57:12 2014 +0300 watchdog: ts72xx_wdt: Kill superfluous variable in remove There is no need to store the return value of misc_deregister() in a variable. Instead we can just return the value directly. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit 62ce25439a7ea01eba5c2a6a8284e4aa23890042 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Aug 20 15:26:46 2014 -0400 powerpc: booke_wdt: Fix build error as a module Building booke_wdt fails when trying to build as a module as there is no early_param() in module. Fix by using module_param() instead of early_param(). Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit fca8c0481bc8d751479ca13f454e89a7fdfece03 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:51:28 2014 +0200 watchdog: xilinx: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Wim Van Sebroeck <wim@xxxxxxxxx> commit c2661b806092d8ea2dccb7b02b65776555e0ee47 Merge: f114040 813d32f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 20 09:50:11 2014 -0700 Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 updates from Ted Ts'o: "A large number of cleanups and bug fixes, with some (minor) journal optimizations" [ This got sent to me before -rc1, but was stuck in my spam folder. - Linus ] * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (67 commits) ext4: check s_chksum_driver when looking for bg csum presence ext4: move error report out of atomic context in ext4_init_block_bitmap() ext4: Replace open coded mdata csum feature to helper function ext4: delete useless comments about ext4_move_extents ext4: fix reservation overflow in ext4_da_write_begin ext4: add ext4_iget_normal() which is to be used for dir tree lookups ext4: don't orphan or truncate the boot loader inode ext4: grab missed write_count for EXT4_IOC_SWAP_BOOT ext4: optimize block allocation on grow indepth ext4: get rid of code duplication ext4: fix over-defensive complaint after journal abort ext4: fix return value of ext4_do_update_inode ext4: fix mmap data corruption when blocksize < pagesize vfs: fix data corruption when blocksize < pagesize for mmaped data ext4: fold ext4_nojournal_sops into ext4_sops ext4: support freezing ext2 (nojournal) file systems ext4: fold ext4_sync_fs_nojournal() into ext4_sync_fs() ext4: don't check quota format when there are no quota files jbd2: simplify calling convention around __jbd2_journal_clean_checkpoint_list jbd2: avoid pointless scanning of checkpoint lists ... commit dec02f98ae2e341a2e0bb25f27e84867e5f9f64a Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Sat Oct 4 17:48:42 2014 +0800 pwm: Let PWM_CLPS711X depend on HAS_IOMEM PWM_CLPS711X needs HAS_IOMEM, so depend on it, the related error (with allmodconfig under um): MODPOST 1205 modules ERROR: "devm_ioremap_resource" [drivers/pwm/pwm-clps711x.ko] undefined! ERROR: "devm_ioremap" [drivers/net/phy/mdio-bcm-unimac.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit f114040e3ea6e07372334ade75d1ee0775c355e1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 18:08:38 2014 -0700 Linux 3.18-rc1 commit 4d3639ac3c11afc8fdcb28f95916ef4b21c3fa36 Merge: ab074ad 5776451 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 17:43:06 2014 -0700 Merge tag 'arm-soc-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: "A batch of fixes that have come in during the merge window. Some of them are defconfig updates for things that have now landed, some errata additions and a few general scattered fixes. There's also a qcom DT update that adds support for SATA on AP148, and basic support for Sony Xperia Z1 and CM-QS600 platforms that seemed isolated enough that we could merge it even if it's late" * tag 'arm-soc-fixes-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: MAINTAINERS: corrected bcm2835 search ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa ARM: dts: Explicitly set dr_mode on exynos Peach boards ARM: dts: qcom: add CM-QS600 board ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone ARM: dts: qcom: Add SATA support on IPQ8064/AP148 MAINTAINERS: Update Santosh Shilimkar's email id ARM: sunxi_defconfig: enable CONFIG_REGULATOR ARM: dts: Disable smc91x on n900 until bootloader dependency is removed ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3 ARM: exynos_defconfig: enable USB gadget support ARM: exynos_defconfig: Enable Maxim 77693 and I2C GPIO drivers ARM: mm: Fix ifdef around cpu_*_do_[suspend, resume] ops ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n ARM: SAMSUNG: Restore Samsung PM Debug functionality ARM: dts: Fix pull setting in sd4_width8 pin group for exynos4x12 ARM: exynos_defconfig: Enable SBS battery support ARM: exynos_defconfig: Enable Control Groups support ARM: exynos_defconfig: Enable Atmel maXTouch support ARM: exynos_defconfig: Enable MAX77802 commit ab074ade9c33b3585da86d62e87bcb3e897a3f54 Merge: 61ed53d 2991dd2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 16:25:56 2014 -0700 Merge git://git.infradead.org/users/eparis/audit Pull audit updates from Eric Paris: "So this change across a whole bunch of arches really solves one basic problem. We want to audit when seccomp is killing a process. seccomp hooks in before the audit syscall entry code. audit_syscall_entry took as an argument the arch of the given syscall. Since the arch is part of what makes a syscall number meaningful it's an important part of the record, but it isn't available when seccomp shoots the syscall... For most arch's we have a better way to get the arch (syscall_get_arch) So the solution was two fold: Implement syscall_get_arch() everywhere there is audit which didn't have it. Use syscall_get_arch() in the seccomp audit code. Having syscall_get_arch() everywhere meant it was a useless flag on the stack and we could get rid of it for the typical syscall entry. The other changes inside the audit system aren't grand, fixed some records that had invalid spaces. Better locking around the task comm field. Removing some dead functions and structs. Make some things static. Really minor stuff" * git://git.infradead.org/users/eparis/audit: (31 commits) audit: rename audit_log_remove_rule to disambiguate for trees audit: cull redundancy in audit_rule_change audit: WARN if audit_rule_change called illegally audit: put rule existence check in canonical order next: openrisc: Fix build audit: get comm using lock to avoid race in string printing audit: remove open_arg() function that is never used audit: correct AUDIT_GET_FEATURE return message type audit: set nlmsg_len for multicast messages. audit: use union for audit_field values since they are mutually exclusive audit: invalid op= values for rules audit: use atomic_t to simplify audit_serial() kernel/audit.c: use ARRAY_SIZE instead of sizeof/sizeof[0] audit: reduce scope of audit_log_fcaps audit: reduce scope of audit_net_id audit: arm64: Remove the audit arch argument to audit_syscall_entry arm64: audit: Add audit hook in syscall_trace_enter/exit() audit: x86: drop arch from __audit_syscall_entry() interface sparc: implement is_32bit_task sparc: properly conditionalize use of TIF_32BIT ... commit 57764512cef5d67623b6ac0a966761f5bbc43aa0 Merge: e29c648 7dac24b Author: Olof Johansson <olof@xxxxxxxxx> Date: Sun Oct 19 13:39:08 2014 -0700 Merge tag 'qcom-dt-for-3.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into fixes Merge "qcom DT changes for v3.18-3" from Kumar Gala: Qualcomm ARM Based Device Tree Updates for v3.18-3 * Added Board support for CM-QS600 and Sony Xperia Z1 phone * Added SATA support on IPQ8064/AP148 * tag 'qcom-dt-for-3.18-3' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: dts: qcom: add CM-QS600 board ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone ARM: dts: qcom: Add SATA support on IPQ8064/AP148 commit e29c64865f6c7eeb98f7c6e2371f1100101f7562 Merge: 9209bec 4e03394 Author: Olof Johansson <olof@xxxxxxxxx> Date: Sun Oct 19 13:34:52 2014 -0700 Merge tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Pull more fixes from Kukjin Kim: 2nd Samsung fixes for v3.18 - Explicitly set dr_mode on exynos5800-peach-pi, exynos5420-peach-pit and exynos5420-arndale-octa boards, because the USB dwc3 controller will not work properly without dr_mode as host on above boards if the USB host and gadget are enabled in kernel configuration both. * tag 'samsung-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa ARM: dts: Explicitly set dr_mode on exynos Peach boards Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9209bec4f8112928c796f70400a23d1f44469631 Author: Scott Branden <sbranden@xxxxxxxxxxxx> Date: Thu Oct 16 21:57:16 2014 -0600 MAINTAINERS: corrected bcm2835 search Corrected bcm2835 maintainer info by using N: to specify any files with bcm2835 in are directed to the proper maintainer. Also corrected minor mispelling of ARCHITECTURE in 2 comment locations. Signed-off-by: Scott Branden <sbranden@xxxxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 61ed53deb1c6a4386d8710dbbfcee8779c381931 Merge: 278f1d0 ab760a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 12:58:22 2014 -0700 Merge tag 'ntb-3.18' of git://github.com/jonmason/ntb Pull ntb (non-transparent bridge) updates from Jon Mason: "Add support for Haswell NTB split BARs, a debugfs entry for basic debugging info, and some code clean-ups" * tag 'ntb-3.18' of git://github.com/jonmason/ntb: ntb: Adding split BAR support for Haswell platforms ntb: use errata flag set via DID to implement workaround ntb: conslidate reading of PPD to move platform detection earlier ntb: move platform detection to separate function NTB: debugfs device entry commit 278f1d0730f4d0acdfc64256ad9b1066d0f3ab57 Merge: d590c6c 3e27a84 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 12:50:44 2014 -0700 Merge branch 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c updates from Wolfram Sang: "Highlights from the I2C subsystem for 3.18: - new drivers for Axxia AM55xx, and Hisilicon hix5hd2 SoC. - designware driver gained AMD support, exynos gained exynos7 support The rest is usual driver stuff. Hopefully no lowlights this time" * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: i801: Add Device IDs for Intel Sunrise Point PCH i2c: hix5hd2: add i2c controller driver i2c-imx: Disable the clock on probe failure i2c: designware: Add support for AMD I2C controller i2c: designware: Rework probe() to get clock a bit later i2c: designware: Default to fast mode in case of ACPI i2c: axxia: Add I2C driver for AXM55xx i2c: exynos: add support for HSI2C module on Exynos7 i2c: mxs: detect No Slave Ack on SELECT in PIO mode i2c: cros_ec: Remove EC_I2C_FLAG_10BIT i2c: cros-ec-tunnel: Add of match table i2c: rcar: remove sign-compare flaw i2c: ismt: Use minimum descriptor size i2c: imx: Add arbitration lost check i2c: rk3x: Remove unlikely() annotations i2c: rcar: check for no IRQ in rcar_i2c_irq() i2c: rcar: make rcar_i2c_prepare_msg() *void* i2c: rcar: simplify check for last message i2c: designware: add support of platform data to set I2C mode i2c: designware: add support of I2C standard mode commit d590c6cdd96c8a254e7935ad12f65e4058c95a1b Merge: fb378df c8b00fd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 12:45:36 2014 -0700 Merge tag 'sound-fix-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound fixes from Takashi Iwai: "Here are a collection of small fixes after 3.18 merge. The urgent one is the fix for kernel panics with linked PCM substream triggered by the recent nonatomic PCM ops support. Other two fixes (emu10k1 and bebob) are stable fixes, and one easy PCI ID addition for a new Intel HD-audio controller" * tag 'sound-fix-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: ALSA: hda_intel: Add Device IDs for Intel Sunrise Point PCH ALSA: emu10k1: Fix deadlock in synth voice lookup ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88 commit fb378df57d5c0e92e935893b81be168897632374 Merge: 2eb7f91 4dfb15c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 12:40:24 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull second round of input updates from Dmitry Torokhov: "Mostly simple bug fixes, although we do have one brand new driver for Microchip AR1021 i2c touchscreen. Also there is the change to stop trying to use i8042 active multiplexing by default (it is still possible to activate it via i8042.nomux=0 on boxes that implement it)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: xpad - add Thrustmaster as Xbox 360 controller vendor Input: xpad - add USB ID for Thrustmaster Ferrari 458 Racing Wheel Input: max77693-haptic - fix state check in imax77693_haptic_disable() Input: xen-kbdfront - free grant table entry in xenkbd_disconnect_backend Input: alps - fix v4 button press recognition Input: i8042 - disable active multiplexing by default Input: i8042 - add noloop quirk for Asus X750LN Input: synaptics - gate forcepad support by DMI check Input: Add Microchip AR1021 i2c touchscreen Input: cros_ec_keyb - add of match table Input: serio - avoid negative serio device numbers Input: avoid negative input device numbers Input: automatically set EV_ABS bit in input_set_abs_params Input: adp5588-keys - cancel workqueue in failure path Input: opencores-kbd - switch to using managed resources Input: evdev - fix EVIOCG{type} ioctl commit 2eb7f910c158fd675ab33aff67904512779996e8 Merge: 1f6075f 7b909bb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 12:29:23 2014 -0700 Merge tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband Pull infiniband/RDMA updates from Roland Dreier: - large set of iSER initiator improvements - hardware driver fixes for cxgb4, mlx5 and ocrdma - small fixes to core midlayer * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (47 commits) RDMA/cxgb4: Fix ntuple calculation for ipv6 and remove duplicate line RDMA/cxgb4: Add missing neigh_release in find_route RDMA/cxgb4: Take IPv6 into account for best_mtu and set_emss RDMA/cxgb4: Make c4iw_wr_log_size_order static IB/core: Fix XRC race condition in ib_uverbs_open_qp IB/core: Clear AH attr variable to prevent garbage data RDMA/ocrdma: Save the bit environment, spare unncessary parenthesis RDMA/ocrdma: The kernel has a perfectly good BIT() macro - use it RDMA/ocrdma: Don't memset() buffers we just allocated with kzalloc() RDMA/ocrdma: Remove a unused-label warning RDMA/ocrdma: Convert kernel VA to PA for mmap in user RDMA/ocrdma: Get vlan tag from ib_qp_attrs RDMA/ocrdma: Add default GID at index 0 IB/mlx5, iser, isert: Add Signature API additions Target/iser: Centralize ib_sig_domain setting IB/iser: Centralize ib_sig_domain settings IB/mlx5: Use extended internal signature layout IB/iser: Set IP_CSUM as default guard type IB/iser: Remove redundant assignment IB/mlx5: Use enumerations for PI copy mask ... commit 1f6075f99073a8b5ec9649ae8c0bf2e06fdd42f1 Merge: 5e2ee7c 3b10ea7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 11:55:41 2014 -0700 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull more perf updates from Ingo Molnar: "A second (and last) round of late coming fixes and changes, almost all of them in perf tooling: User visible tooling changes: - Add period data column and make it default in 'perf script' (Jiri Olsa) - Add a visual cue for toggle zeroing of samples in 'perf top' (Taeung Song) - Improve callchains when using libunwind (Namhyung Kim) Tooling fixes and infrastructure changes: - Fix for double free in 'perf stat' when using some specific invalid command line combo (Yasser Shalabi) - Fix off-by-one bugs in map->end handling (Stephane Eranian) - Fix off-by-one bug in maps__find(), also related to map->end handling (Namhyung Kim) - Make struct symbol->end be the first addr after the symbol range, to make it match the convention used for struct map->end. (Arnaldo Carvalho de Melo) - Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat live' (Jiri Olsa) - Fix python test build by moving callchain_param to an object linked into the python binding (Jiri Olsa) - Document sysfs events/ interfaces (Cody P Schafer) - Fix typos in perf/Documentation (Masanari Iida) - Add missing 'struct option' forward declaration (Arnaldo Carvalho de Melo) - Add option to copy events when queuing for sorting across cpu buffers and enable it for 'perf kvm stat live', to avoid having events left in the queue pointing to the ring buffer be rewritten in high volume sessions. (Alexander Yarygin, improving work done by David Ahern): - Do not include a struct hists per perf_evsel, untangling the histogram code from perf_evsel, to pave the way for exporting a minimalistic tools/lib/api/perf/ library usable by tools/perf and initially by the rasd daemon being developed by Borislav Petkov, Robert Richter and Jean Pihet. (Arnaldo Carvalho de Melo) - Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and thread maps mean syswide monitoring, reducing the boilerplate for tools that only want system wide mode. (Arnaldo Carvalho de Melo) - Move exit stuff from perf_evsel__delete to perf_evsel__exit, delete should be just a front end for exit + free (Arnaldo Carvalho de Melo) - Add support to new style format of kernel PMU event. (Kan Liang) and other misc fixes" * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (45 commits) perf script: Add period as a default output column perf script: Add period data column perf evsel: No need to drag util/cgroup.h perf evlist: Add missing 'struct option' forward declaration perf evsel: Move exit stuff from __delete to __exit kprobes/x86: Remove stale ARCH_SUPPORTS_KPROBES_ON_FTRACE define perf kvm stat live: Enable events copying perf session: Add option to copy events when queueing perf Documentation: Fix typos in perf/Documentation perf trace: Use thread_{,_set}_priv helpers perf kvm: Use thread_{,_set}_priv helpers perf callchain: Create an address space per thread perf report: Set callchain_param.record_mode for future use perf evlist: Fix for double free in tools/perf stat perf test: Add test case for pmu event new style format perf tools: Add support to new style format of kernel PMU event perf tools: Parse the pmu event prefix and suffix Revert "perf tools: Default to cpu// for events v5" perf Documentation: Remove Ruplicated docs for powerpc cpu specific events perf Documentation: sysfs events/ interfaces ... commit 5e2ee7cd58fcee6c6cc954642faa584f54c8391e Merge: e25b492 e265314 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 11:46:09 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc fixes from David Miller: "Here we have two bug fixes: 1) The current thread's fault_code is not setup properly upon entry to do_sparc64_fault() in some paths, leading to spurious SIGBUS. 2) Don't use a zero length array at the end of thread_info on sparc64, otherwise end_of_stack() isn't right" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: Do not define thread fpregs save area as zero-length array. sparc64: Fix corrupted thread fault code. commit e25b492741373542fb593477547fcf7a6b7d8b04 Merge: 52d589a 228b16c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 19 11:41:57 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "A quick batch of bug fixes: 1) Fix build with IPV6 disabled, from Eric Dumazet. 2) Several more cases of caching SKB data pointers across calls to pskb_may_pull(), thus referencing potentially free'd memory. From Li RongQing. 3) DSA phy code tests operation presence improperly, instead of going: if (x->ops->foo) r = x->ops->foo(args); it was going: if (x->ops->foo(args)) r = x->ops->foo(args); Fix from Andew Lunn" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: Net: DSA: Fix checking for get_phy_flags function ipv6: fix a potential use after free in sit.c ipv6: fix a potential use after free in ip6_offload.c ipv4: fix a potential use after free in gre_offload.c tcp: fix build error if IPv6 is not enabled commit 1fa3a002b2546c42c343c77c144871285896ced5 Author: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> Date: Sun Oct 19 20:36:36 2014 +0300 Boaz Harrosh - fix email in Documentation I forgot to update Documentation/*.txt Signed-off-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> commit aa281ac631008b9c18c405c8880007789f659c7d Author: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> Date: Sun Oct 19 19:38:58 2014 +0300 Boaz Harrosh - Fix broken email address I no longer have access to the Panasas email. So change to an email that can always reach me. Signed-off-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> commit fadc07522c3ce65c4d1c69a9284605a07aea1be8 Author: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> Date: Sun Oct 19 19:19:57 2014 +0300 MAINTAINERS: Change Boaz Harrosh's email I have moved on, and do no longer have Panasas email access. Update to an email that can reach me. So change bharrosh@xxxxxxxxxxx => ooo@xxxxxxxxxxxxxxx Explain of email address: * electrozaur.com is a domain owned by me. * ooo - Stands for Open Osd . Org Another email alias that can be used is: openosd@xxxxxxxxx CC: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Boaz Harrosh <ooo@xxxxxxxxxxxxxxx> commit 228b16cb13dfa2f77354a9b144a07e86e2dda01c Author: Andrew Lunn <andrew@xxxxxxx> Date: Sun Oct 19 16:41:47 2014 +0200 Net: DSA: Fix checking for get_phy_flags function The check for the presence or not of the optional switch function get_phy_flags() called the function, rather than checked to see if it is a NULL pointer. This causes a derefernce of a NULL pointer on all switch chips except the sf2, the only switch to implement this call. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Fixes: 6819563e646a ("net: dsa: allow switch drivers to specify phy_device::dev_flags") Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2653143d7d79a49f1a961aeae1d82612838b12c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 18 23:12:33 2014 -0400 sparc64: Do not define thread fpregs save area as zero-length array. This breaks the stack end corruption detection facility. What that facility does it write a magic value to "end_of_stack()" and checking to see if it gets overwritten. "end_of_stack()" is "task_thread_info(p) + 1", which for sparc64 is the beginning of the FPU register save area. So once the user uses the FPU, the magic value is overwritten and the debug checks trigger. Fix this by making the size explicit. Due to the size we use for the fpsaved[], gsr[], and xfsr[] arrays we are limited to 7 levels of FPU state saves. So each FPU register set is 256 bytes, allocate 256 * 7 for the fpregs area. Reported-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 84bd6d8b9c0f06b3f188efb479c77e20f05e9a8a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 18 23:03:09 2014 -0400 sparc64: Fix corrupted thread fault code. Every path that ends up at do_sparc64_fault() must install a valid FAULT_CODE_* bitmask in the per-thread fault code byte. Two paths leading to the label winfix_trampoline (which expects the FAULT_CODE_* mask in register %g4) were not doing so: 1) For pre-hypervisor TLB protection violation traps, if we took the 'winfix_trampoline' path we wouldn't have %g4 initialized with the FAULT_CODE_* value yet. Resulting in using the TLB_TAG_ACCESS register address value instead. 2) In the TSB miss path, when we notice that we are going to use a hugepage mapping, but we haven't allocated the hugepage TSB yet, we still have to take the window fixup case into consideration and in that particular path we leave %g4 not setup properly. Errors on this sort were largely invisible previously, but after commit 4ccb9272892c33ef1c19a783cfa87103b30c2784 ("sparc64: sun4v TLB error power off events") we now have a fault_code mask bit (FAULT_CODE_BAD_RA) that triggers due to this bug. FAULT_CODE_BAD_RA triggers because this bit is set in TLB_TAG_ACCESS (see #1 above) and thus we get seemingly random bus errors triggered for user processes. Fixes: 4ccb9272892c ("sparc64: sun4v TLB error power off events") Reported-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52d589a01d4545ce1dc5c3892bb8c7b55edfe714 Merge: 0a58282 6b997ba Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 18:11:04 2014 -0700 Merge branch 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma Pull slave-dmaengine updates from Vinod Koul: "For dmaengine contributions we have: - designware cleanup by Andy - my series moving device_control users to dmanegine_xxx APIs for later removal of device_control API - minor fixes spread over drivers mainly mv_xor, pl330, mmp, imx-sdma etc" * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (60 commits) serial: atmel: add missing dmaengine header dmaengine: remove FSLDMA_EXTERNAL_START dmaengine: freescale: remove FSLDMA_EXTERNAL_START control method carma-fpga: move to fsl_dma_external_start() carma-fpga: use dmaengine_xxx() API dmaengine: freescale: add and export fsl_dma_external_start() dmaengine: add dmaengine_prep_dma_sg() helper video: mx3fb: use dmaengine_terminate_all() API serial: sh-sci: use dmaengine_terminate_all() API net: ks8842: use dmaengine_terminate_all() API mtd: sh_flctl: use dmaengine_terminate_all() API mtd: fsmc_nand: use dmaengine_terminate_all() API V4L2: mx3_camer: use dmaengine_pause() API dmaengine: coh901318: use dmaengine_terminate_all() API pata_arasan_cf: use dmaengine_terminate_all() API dmaengine: edma: check for echan->edesc => NULL in edma_dma_pause() dmaengine: dw: export probe()/remove() and Co to users dmaengine: dw: enable and disable controller when needed dmaengine: dw: always export dw_dma_{en,dis}able dmaengine: dw: introduce dw_dma_on() helper ... commit 0a582821d4f8edf41d9b56ae057ee2002fc275f0 Merge: 8a5de18 33ac9db Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 18:03:02 2014 -0700 Merge tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux Pull fbdev updates from Tomi Valkeinen: - new 6x10 font - various small fixes and cleanups * tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (30 commits) fonts: Add 6x10 font videomode: provide dummy inline functions for !CONFIG_OF video/atmel_lcdfb: Introduce regulator support fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume framebuffer: fix screen corruption when copying framebuffer: fix border color arm, fbdev, omap2, LLVMLinux: Remove nested function from omapfb arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info video: fbdev: pxafb.c: use container_of to resolve pxafb_info/layer from fb_info video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info video: fbdev: controlfb.c: use container_of to resolve fb_info_control from fb_info video: fbdev: sa1100fb.c: use container_of to resolve sa1100fb_info from fb_info video: fbdev: stifb.c: use container_of to resolve stifb_info from fb_info video: fbdev: sis: sis_main.c: Cleaning up missing null-terminate in conjunction with strncpy video: valkyriefb: Fix unused variable warning in set_valkyrie_clock() video: fbdev: use %*ph specifier to dump small buffers video: mx3fb: always enable BACKLIGHT_LCD_SUPPORT video: fbdev: au1200fb: delete double assignment video: fbdev: sis: delete double assignment ... commit 8a5de18239e418fe7b1f36504834689f754d8ccc Merge: 857b50f 2df36a5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 14:32:31 2014 -0700 Merge tag 'kvm-arm-for-3.18-take-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm Pull second batch of changes for KVM/{arm,arm64} from Marc Zyngier: "The most obvious thing is the sizeable MMU changes to support 48bit VAs on arm64. Summary: - support for 48bit IPA and VA (EL2) - a number of fixes for devices mapped into guests - yet another VGIC fix for BE - a fix for CPU hotplug - a few compile fixes (disabled VGIC, strict mm checks)" [ I'm pulling directly from Marc at the request of Paolo Bonzini, whose backpack was stolen at Düsseldorf airport and will do new keys and rebuild his web of trust. - Linus ] * tag 'kvm-arm-for-3.18-take-2' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm: arm/arm64: KVM: Fix BE accesses to GICv2 EISR and ELRSR regs arm: kvm: STRICT_MM_TYPECHECKS fix for user_mem_abort arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE arm64: KVM: Implement 48 VA support for KVM EL2 and Stage-2 arm/arm64: KVM: map MMIO regions at creation time arm64: kvm: define PAGE_S2_DEVICE as read-only by default ARM: kvm: define PAGE_S2_DEVICE as read-only by default arm/arm64: KVM: add 'writable' parameter to kvm_phys_addr_ioremap arm/arm64: KVM: fix potential NULL dereference in user_mem_abort() arm/arm64: KVM: use __GFP_ZERO not memset() to get zeroed pages ARM: KVM: fix vgic-disabled build arm: kvm: fix CPU hotplug commit 857b50f5d0eed113428c864e927289d8f5f2b864 Merge: 168f07a 31d6f57 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 14:24:36 2014 -0700 Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus Pull MIPS updates from Ralf Baechle: "This is the MIPS pull request for the next kernel: - Zubair's patch series adds CMA support for MIPS. Doing so it also touches ARM64 and x86. - remove the last instance of IRQF_DISABLED from arch/mips - updates to two of the MIPS defconfig files. - cleanup of how cache coherency bits are handled on MIPS and implement support for write-combining. - platform upgrades for Alchemy - move MIPS DTS files to arch/mips/boot/dts/" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (24 commits) MIPS: ralink: remove deprecated IRQF_DISABLED MIPS: pgtable.h: Implement the pgprot_writecombine function for MIPS MIPS: cpu-probe: Set the write-combine CCA value on per core basis MIPS: pgtable-bits: Define the CCA bit for WC writes on Ingenic cores MIPS: pgtable-bits: Move the CCA bits out of the core's ifdef blocks MIPS: DMA: Add cma support x86: use generic dma-contiguous.h arm64: use generic dma-contiguous.h asm-generic: Add dma-contiguous.h MIPS: BPF: Add new emit_long_instr macro MIPS: ralink: Move device-trees to arch/mips/boot/dts/ MIPS: Netlogic: Move device-trees to arch/mips/boot/dts/ MIPS: sead3: Move device-trees to arch/mips/boot/dts/ MIPS: Lantiq: Move device-trees to arch/mips/boot/dts/ MIPS: Octeon: Move device-trees to arch/mips/boot/dts/ MIPS: Add support for building device-tree binaries MIPS: Create common infrastructure for building built-in device-trees MIPS: SEAD3: Enable DEVTMPFS MIPS: SEAD3: Regenerate defconfigs MIPS: Alchemy: DB1300: Add touch penirq support ... commit 168f07a1ea75870b3fdee3d69d978813eb1fd58d Merge: 9272f2d aeba373 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 14:22:32 2014 -0700 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc fix from Michael Ellerman: "There was a bit of a misunderstanding between us and the ARM guys in the device tree PCI code, which is breaking virtio on powerpc. This is the minimal fix until we can sort it out properly" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: powerpc/pci: Fix IO space breakage after of_pci_range_to_resource() change commit 9272f2dc3956c6b6c4335de51bc897fa3b981584 Merge: e83e432 ff273cb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 13:39:19 2014 -0700 Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 Pull cifs/smb3 updates from Steve French: "Improved SMB3 support (symlink and device emulation, and remapping by default the 7 reserved posix characters) and a workaround for cifs mounts to Mac (working around a commonly encountered Mac server bug)" * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6: [CIFS] Remove obsolete comment Check minimum response length on query_network_interface Workaround Mac server problem Remap reserved posix characters by default (part 3/3) Allow conversion of characters in Mac remap range (part 2) Allow conversion of characters in Mac remap range. Part 1 mfsymlinks support for SMB2.1/SMB3. Part 2 query symlink Add mfsymlinks support for SMB2.1/SMB3. Part 1 create symlink Allow mknod and mkfifo on SMB2/SMB3 mounts add defines for two new file attributes commit e83e43237236ba89316e97a3743b5bd585726e47 Merge: ef161ea1 c07127b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 13:37:19 2014 -0700 Merge tag 'dlm-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm Pull dlm fix from David Teigland: "This includes a single commit fixing a missing endian conversion" * tag 'dlm-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm: dlm: fix missing endian conversion of rcom_status flags commit ef161ea1ff96337cbe2253afb72636474d90598e Merge: 8ccf863 d379730 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 13:32:17 2014 -0700 Merge branch 'for-linus-update' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs data corruption fix from Chris Mason: "I'm testing a pull with more fixes, but wanted to get this one out so Greg can pick it up. The corruption isn't easy to hit, you have to do a readonly snapshot and have orphans in the snapshot. But my review and testing missed the bug. Filipe has added a better xfstest to cover it" * 'for-linus-update' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: Revert "Btrfs: race free update of commit root for ro snapshots" commit 8ccf863f09bbff209b124cbd90644c0b75b8fefd Merge: 4869447 d4bf205d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 13:25:03 2014 -0700 Merge tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull pstore fix from Tony Luck: "Ensure unique filenames in pstore" * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: pstore: Fix duplicate {console,ftrace}-efi entries commit 4869447d21738f9d5bfdf2e9644bcc62db288d88 Merge: ead13ae 3569b70 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 12:54:46 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs Pull NTFS update from Anton Altaparmakov: "Here is a small NTFS update notably implementing FIBMAP ioctl for NTFS by adding the bmap address space operation. People seem to still want FIBMAP" * git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs: NTFS: Bump version to 2.1.31. NTFS: Add bmap address space operation needed for FIBMAP ioctl. NTFS: Remove changelog from Documentation/filesystems/ntfs.txt. NTFS: Split ntfs_aops into ntfs_normal_aops and ntfs_compressed_aops in preparation for them diverging. commit ead13aee235fa1619d85f2ab5cfb9308a19f8da3 Merge: 929254d b8fb9c3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 12:52:08 2014 -0700 Merge tag 'nfs-for-3.18-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs Pull NFS client updates from Trond Myklebust: "Highlights include: Stable fixes: - fix an uninitialised pointer Oops in the writeback error path - fix a bogus warning (and early exit from the loop) in nfs_generic_pgio() Features: - Add NFSv4.2 SEEK feature and client support for lseek(SEEK_HOLE/SEEK_DATA) Other fixes: - pnfs: replace broken pnfs_put_lseg_async - Remove dead prototype for nfs4_insert_deviceid_node" * tag 'nfs-for-3.18-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: NFS: Fix a bogus warning in nfs_generic_pgio NFS: Fix an uninitialised pointer Oops in the writeback error path NFSv4.1/pnfs: replace broken pnfs_put_lseg_async NFSv4: Remove dead prototype for nfs4_insert_deviceid_node() NFS: Implement SEEK commit 929254d8da55a046fe792e79a220f83df761305d Merge: e75437f 56ec16c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 12:25:30 2014 -0700 Merge tag 'dm-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device-mapper updates from Mike Snitzer: "I rebased the DM tree ontop of linux-block.git's 'for-3.18/core' at the beginning of October because DM core now depends on the newly introduced bioset_create_nobvec() interface. Summary: - fix DM's long-standing excessive use of memory by leveraging the new bioset_create_nobvec() interface when creating the DM's bioset - fix a few bugs in dm-bufio and dm-log-userspace - add DM core support for a DM multipath use-case that requires loading DM tables that contain devices that have failed (by allowing active and inactive DM tables to share dm_devs) - add discard support to the DM raid target; like MD raid456 the user must opt-in to raid456 discard support be specifying the devices_handle_discard_safely=Y module param" * tag 'dm-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm log userspace: fix memory leak in dm_ulog_tfr_init failure path dm bufio: when done scanning return from __scan immediately dm bufio: update last_accessed when relinking a buffer dm raid: add discard support for RAID levels 4, 5 and 6 dm raid: add discard support for RAID levels 1 and 10 dm: allow active and inactive tables to share dm_devs dm mpath: stop queueing IO when no valid paths exist dm: use bioset_create_nobvec() dm: remove nr_iovecs parameter from alloc_tio() commit e75437fb9322cf0ac707046a12d78a25f9d52ccf Merge: d3dc366 b277da0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 12:12:45 2014 -0700 Merge branch 'for-3.18/drivers' of git://git.kernel.dk/linux-block Pull block layer driver update from Jens Axboe: "This is the block driver pull request for 3.18. Not a lot in there this round, and nothing earth shattering. - A round of drbd fixes from the linbit team, and an improvement in asender performance. - Removal of deprecated (and unused) IRQF_DISABLED flag in rsxx and hd from Michael Opdenacker. - Disable entropy collection from flash devices by default, from Mike Snitzer. - A small collection of xen blkfront/back fixes from Roger Pau Monné and Vitaly Kuznetsov" * 'for-3.18/drivers' of git://git.kernel.dk/linux-block: block: disable entropy contributions for nonrot devices xen, blkfront: factor out flush-related checks from do_blkif_request() xen-blkback: fix leak on grant map error path xen/blkback: unmap all persistent grants when frontend gets disconnected rsxx: Remove deprecated IRQF_DISABLED block: hd: remove deprecated IRQF_DISABLED drbd: use RB_DECLARE_CALLBACKS() to define augment callbacks drbd: compute the end before rb_insert_augmented() drbd: Add missing newline in resync progress display in /proc/drbd drbd: reduce lock contention in drbd_worker drbd: Improve asender performance drbd: Get rid of the WORK_PENDING macro drbd: Get rid of the __no_warn and __cond_lock macros drbd: Avoid inconsistent locking warning drbd: Remove superfluous newline from "resync_extents" debugfs entry. drbd: Use consistent names for all the bi_end_io callbacks drbd: Use better variable names commit d3dc366bbaf07c125561e90d6da4bb147741101a Merge: 511c41d e19a8a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 11:53:51 2014 -0700 Merge branch 'for-3.18/core' of git://git.kernel.dk/linux-block Pull core block layer changes from Jens Axboe: "This is the core block IO pull request for 3.18. Apart from the new and improved flush machinery for blk-mq, this is all mostly bug fixes and cleanups. - blk-mq timeout updates and fixes from Christoph. - Removal of REQ_END, also from Christoph. We pass it through the ->queue_rq() hook for blk-mq instead, freeing up one of the request bits. The space was overly tight on 32-bit, so Martin also killed REQ_KERNEL since it's no longer used. - blk integrity updates and fixes from Martin and Gu Zheng. - Update to the flush machinery for blk-mq from Ming Lei. Now we have a per hardware context flush request, which both cleans up the code should scale better for flush intensive workloads on blk-mq. - Improve the error printing, from Rob Elliott. - Backing device improvements and cleanups from Tejun. - Fixup of a misplaced rq_complete() tracepoint from Hannes. - Make blk_get_request() return error pointers, fixing up issues where we NULL deref when a device goes bad or missing. From Joe Lawrence. - Prep work for drastically reducing the memory consumption of dm devices from Junichi Nomura. This allows creating clone bio sets without preallocating a lot of memory. - Fix a blk-mq hang on certain combinations of queue depths and hardware queues from me. - Limit memory consumption for blk-mq devices for crash dump scenarios and drivers that use crazy high depths (certain SCSI shared tag setups). We now just use a single queue and limited depth for that" * 'for-3.18/core' of git://git.kernel.dk/linux-block: (58 commits) block: Remove REQ_KERNEL blk-mq: allocate cpumask on the home node bio-integrity: remove the needless fail handle of bip_slab creating block: include func name in __get_request prints block: make blk_update_request print prefix match ratelimited prefix blk-merge: don't compute bi_phys_segments from bi_vcnt for cloned bio block: fix alignment_offset math that assumes io_min is a power-of-2 blk-mq: Make bt_clear_tag() easier to read blk-mq: fix potential hang if rolling wakeup depth is too high block: add bioset_create_nobvec() block: use bio_clone_fast() in blk_rq_prep_clone() block: misplaced rq_complete tracepoint sd: Honor block layer integrity handling flags block: Replace strnicmp with strncasecmp block: Add T10 Protection Information functions block: Don't merge requests if integrity flags differ block: Integrity checksum flag block: Relocate bio integrity flags block: Add a disk flag to block integrity profile block: Add prefix to block integrity profile flags ... commit 511c41d9e6665a07aca94eb00983cf6d77dd87ff Merge: 88ed806 8b3d58e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 11:48:03 2014 -0700 Merge tag 'for-linus-20141015' of git://git.infradead.org/linux-mtd Pull MTD update from Brian Norris: "Sorry for delaying this a bit later than usual. There's one mild regression from 3.16 that was noticed during the 3.17 cycle, and I meant to send a fix for it along with this pull request. I'll probably try to queue it up for a later pull request once I've had a better look at it, hopefully by -rc2 at the latest. Summary for this pull: NAND - Cleanup for Denali driver - Atmel: add support for new page sizes - Atmel: fix up 'raw' mode support - Atmel: miscellaneous cleanups - New timing mode helpers for non-ONFI NAND - OMAP: allow driver to be (properly) built as a module - bcm47xx: RESET support and other cleanups SPI NOR - Miscellaneous cleanups, to prepare framework for wider use (some further work still pending) - Compile-time configuration to select 4K vs. 64K support for flash that support both (necessary for using UBIFS on some SPI NOR) A few scattered code quality fixes, detected by Coverity See the changesets for more" * tag 'for-linus-20141015' of git://git.infradead.org/linux-mtd: (59 commits) mtd: nand: omap: Correct CONFIG_MTD_NAND_OMAP_BCH help message mtd: nand: Force omap_elm to be built as a module if omap2_nand is a module mtd: move support for struct flash_platform_data into m25p80 mtd: spi-nor: add Kconfig option to disable 4K sectors mtd: nand: Move ELM driver and rename as omap_elm nand: omap2: Replace pr_err with dev_err nand: omap2: Remove horrible ifdefs to fix module probe mtd: nand: add Hynix's H27UCG8T2ATR-BC to nand_ids table mtd: nand: support ONFI timing mode retrieval for non-ONFI NANDs mtd: physmap_of: Add non-obsolete map_rom probe mtd: physmap_of: Fix ROM support via OF MAINTAINERS: add l2-mtd.git, 'next' tree for MTD mtd: denali: fix indents and other trivial things mtd: denali: remove unnecessary parentheses mtd: denali: remove another set-but-unused variable mtd: denali: fix include guard and license block of denali.h mtd: nand: don't break long print messages mtd: bcm47xxnflash: replace some magic numbers mtd: bcm47xxnflash: NAND_CMD_RESET support mtd: bcm47xxnflash: add cmd_ctrl handler ... commit 88ed806abb981cc8ec61ee7fab93ecfe63521ebf Merge: e56d9fc b395f75 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 11:39:52 2014 -0700 Merge tag 'md/3.18' of git://neil.brown.name/md Pull md updates from Neil Brown: - a few minor bug fixes - quite a lot of code tidy-up and simplification - remove PRINT_RAID_DEBUG ioctl. I'm fairly sure it is unused, and it isn't particularly useful. * tag 'md/3.18' of git://neil.brown.name/md: (21 commits) lib/raid6: Add log level to printks md: move EXPORT_SYMBOL to after function in md.c md: discard PRINT_RAID_DEBUG ioctl md: remove MD_BUG() md: clean up 'exit' labels in md_ioctl(). md: remove unnecessary test for MD_MAJOR in md_ioctl() md: don't allow "-sync" to be set for device in an active array. md: remove unwanted white space from md.c md: don't start resync thread directly from md thread. md: Just use RCU when checking for overlap between arrays. md: avoid potential long delay under pers_lock md: simplify export_array() md: discard find_rdev_nr in favour of find_rdev_nr_rcu md: use wait_event() to simplify md_super_wait() md: be more relaxed about stopping an array which isn't started. md/raid1: process_checks doesn't use its return value. md/raid5: fix init_stripe() inconsistencies md/raid10: another memory leak due to reshape. md: use set_bit/clear_bit instead of shift/mask for bi_flags changes. md/raid1: minor typos and reformatting. ... commit e56d9fccb1c78283d7c163bb354be7cbbc93d9fb Merge: 0e6e58f 9b32011 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 10:26:10 2014 -0700 Merge branch 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull selinux fix from James Morris: "Fix for a list corruption bug in the SELinux code" * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: selinux: fix inode security list corruption commit 0e6e58f941176033fd9a224b39527b12f9cbb05e Merge: 50edb5c 1bbc260 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 10:25:09 2014 -0700 Merge tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull virtio updates from Rusty Russell: "One cc: stable commit, the rest are a series of minor cleanups which have been sitting in MST's tree during my vacation. I changed a function name and made one trivial change, then they spent two days in linux-next" * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: (25 commits) virtio-rng: refactor probe error handling virtio_scsi: drop scan callback virtio_balloon: enable VQs early on restore virtio_scsi: fix race on device removal virito_scsi: use freezable WQ for events virtio_net: enable VQs early on restore virtio_console: enable VQs early on restore virtio_scsi: enable VQs early on restore virtio_blk: enable VQs early on restore virtio_scsi: move kick event out from virtscsi_init virtio_net: fix use after free on allocation failure 9p/trans_virtio: enable VQs early virtio_console: enable VQs early virtio_blk: enable VQs early virtio_net: enable VQs early virtio: add API to enable VQs early virtio_net: minor cleanup virtio-net: drop config_mutex virtio_net: drop config_enable virtio-blk: drop config_mutex ... commit 50edb5cc22c7b2ea7df095913596e5a649bd6b41 Merge: ad3118b d3051b4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 10:24:26 2014 -0700 Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module fix from Rusty Russell: "A single panic fix for a rare race, stable CC'd" * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: modules, lock around setting of MODULE_STATE_UNFORMED commit ad3118b9861379e3a77883613369cb967ffac26a Author: Jonathan Corbet <corbet@xxxxxxx> Date: Fri Oct 17 08:59:26 2014 -0400 MAINTAINERS: Become the docs maintainer It seems it's my turn to be the documentation maintainer for a bit. My plan is to work to ensure that docs patches don't fall through the cracks; I assume most changes will continue to flow through subsystem-specific trees. Acked-by: Jiri Kosina <jkosina@xxxxxxx> Signed-off-by: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d974baa398f34393db76be45f7d4d04fbdbb4a0a Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Wed Oct 8 09:02:13 2014 -0700 x86,kvm,vmx: Preserve CR4 across VM entry CR4 isn't constant; at least the TSD and PCE bits can vary. TBH, treating CR0 and CR3 as constant scares me a bit, too, but it looks like it's correct. This adds a branch and a read from cr4 to each vm entry. Because it is extremely likely that consecutive entries into the same vcpu will have the same host cr4 value, this fixes up the vmcs instead of restoring cr4 after the fact. A subsequent patch will add a kernel-wide cr4 shadow, reducing the overhead in the common case to just two memory reads and a branch. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Cc: Petr Matousek <pmatouse@xxxxxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a6d4518da371b0d21512ef0f641928d6f99ee70f Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sat Oct 18 17:33:38 2014 +0800 ipv6: fix a potential use after free in sit.c pskb_may_pull() maybe change skb->data and make iph pointer oboslete, fix it by geting ip header length directly. Fixes: ca15a078 (sit: generate icmpv6 error when receiving icmpv4 error) Cc: Oussama Ghorbel <ghorbel@xxxxxxxxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc6fb41cd64fd810bcc69fe9776d2f500778f38f Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sat Oct 18 17:27:42 2014 +0800 ipv6: fix a potential use after free in ip6_offload.c pskb_may_pull() maybe change skb->data and make opth pointer oboslete, so set the opth again Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4e3cef703fb21b26db053a770900f2bd910638b Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sat Oct 18 17:26:04 2014 +0800 ipv4: fix a potential use after free in gre_offload.c pskb_may_pull() may change skb->data and make greh pointer oboslete; so need to reassign greh; but since first calling pskb_may_pull already ensured that skb->data has enough space for greh, so move the reference of greh before second calling pskb_may_pull(), to avoid reassign greh. Fixes: 7a7ffbabf9("ipv4: fix tunneled VM traffic over hw VXLAN/GRE GSO NIC") Cc: Wei-Chun Chao <weichunc@xxxxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 815afe1785da727ee48cd8e63ac4a3ec6c7459b3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Oct 18 08:34:37 2014 -0700 tcp: fix build error if IPv6 is not enabled $ make M=net/ipv4 CC net/ipv4/route.o In file included from net/ipv4/route.c:102:0: include/net/tcp.h: In function â??tcp_v6_iifâ??: include/net/tcp.h:738:32: error: â??union <anonymous>â?? has no member named â??h6â?? return TCP_SKB_CB(skb)->header.h6.iif; Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 870c3151382c ("ipv6: introduce tcp_v6_iif()") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e923b0251932ad4a82cc87ec1443a1f1d17073e Merge: ffd8221 f2d9da1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 09:31:37 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: 1) Include fixes for netrom and dsa (Fabian Frederick and Florian Fainelli) 2) Fix FIXED_PHY support in stmmac, from Giuseppe CAVALLARO. 3) Several SKB use after free fixes (vxlan, openvswitch, vxlan, ip_tunnel, fou), from Li ROngQing. 4) fec driver PTP support fixes from Luwei Zhou and Nimrod Andy. 5) Use after free in virtio_net, from Michael S Tsirkin. 6) Fix flow mask handling for megaflows in openvswitch, from Pravin B Shelar. 7) ISDN gigaset and capi bug fixes from Tilman Schmidt. 8) Fix route leak in ip_send_unicast_reply(), from Vasily Averin. 9) Fix two eBPF JIT bugs on x86, from Alexei Starovoitov. 10) TCP_SKB_CB() reorganization caused a few regressions, fixed by Cong Wang and Eric Dumazet. 11) Don't overwrite end of SKB when parsing malformed sctp ASCONF chunks, from Daniel Borkmann. 12) Don't call sock_kfree_s() with NULL pointers, this function also has the side effect of adjusting the socket memory usage. From Cong Wang. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (90 commits) bna: fix skb->truesize underestimation net: dsa: add includes for ethtool and phy_fixed definitions openvswitch: Set flow-key members. netrom: use linux/uaccess.h dsa: Fix conversion from host device to mii bus tipc: fix bug in bundled buffer reception ipv6: introduce tcp_v6_iif() sfc: add support for skb->xmit_more r8152: return -EBUSY for runtime suspend ipv4: fix a potential use after free in fou.c ipv4: fix a potential use after free in ip_tunnel_core.c hyperv: Add handling of IP header with option field in netvsc_set_hash() openvswitch: Create right mask with disabled megaflows vxlan: fix a free after use openvswitch: fix a use after free ipv4: dst_entry leak in ip_send_unicast_reply() ipv4: clean up cookie_v4_check() ipv4: share tcp_v4_save_options() with cookie_v4_check() ipv4: call __ip_options_echo() in cookie_v4_check() atm: simplify lanai.c by using module_pci_driver ... commit ffd8221bc348f8c282d1271883dbe629ea8ae289 Merge: e0a9272 f4da362 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 09:30:41 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull Sparc bugfix from David Miller: "Sparc64 AES ctr mode bug fix" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: sparc64: Fix FPU register corruption with AES crypto offload. commit e0a9272c616838109fc5988ab154dc10670eb15e Merge: 76835b0e 7546e52 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 18 09:29:59 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide Pull IDE cleanup from David Miller: "One IDE driver cleanup" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide: Drivers: ide: Remove typedef atiixp_ide_timing commit 76835b0ebf8a7fe85beb03c75121419a7dec52f0 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Oct 17 17:38:49 2014 +0100 futex: Ensure get_futex_key_refs() always implies a barrier Commit b0c29f79ecea (futexes: Avoid taking the hb->lock if there's nothing to wake up) changes the futex code to avoid taking a lock when there are no waiters. This code has been subsequently fixed in commit 11d4616bd07f (futex: revert back to the explicit waiter counting code). Both the original commit and the fix-up rely on get_futex_key_refs() to always imply a barrier. However, for private futexes, none of the cases in the switch statement of get_futex_key_refs() would be hit and the function completes without a memory barrier as required before checking the "waiters" in futex_wake() -> hb_waiters_pending(). The consequence is a race with a thread waiting on a futex on another CPU, allowing the waker thread to read "waiters == 0" while the waiter thread to have read "futex_val == locked" (in kernel). Without this fix, the problem (user space deadlocks) can be seen with Android bionic's mutex implementation on an arm64 multi-cluster system. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reported-by: Matteo Franchin <Matteo.Franchin@xxxxxxx> Fixes: b0c29f79ecea (futexes: Avoid taking the hb->lock if there's nothing to wake up) Acked-by: Davidlohr Bueso <dave@xxxxxxxxxxxx> Tested-by: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3b10ea7f922b538ba5dcb3d979a6b6b4d07daae2 Merge: 691286b e8564b7 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Oct 18 09:04:02 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: * Add period data column and make it default in 'perf script' (Jiri Olsa) Infrastructure changes: * Move exit stuff from perf_evsel__delete to perf_evsel__exit, delete should be just a front end for exit + free (Arnaldo Carvalho de Melo) * Add missing 'struct option' forward declaration (Arnaldo Carvalho de Melo) * No need to drag util/cgroup.h into evsel.h (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f2d9da1a8375cbe53df5b415d059429013a3a79f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 17 12:45:55 2014 -0700 bna: fix skb->truesize underestimation skb->truesize is not meant to be tracking amount of used bytes in an skb, but amount of reserved/consumed bytes in memory. For instance, if we use a single byte in last page fragment, we have to account the full size of the fragment. skb->truesize can be very different from skb->len, that has a very specific safety purpose. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a28205437b41a2c1333c1599ce1e8f09af7b00d6 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 17 16:02:13 2014 -0700 net: dsa: add includes for ethtool and phy_fixed definitions net/dsa/slave.c uses functions and structures declared in phy_fixed.h but does not explicitely include it, while dsa.h needs structure declarations for 'struct ethtool_wolinfo' and 'struct ethtool_eee', fix those by including the correct header files. Fixes: ec9436baedb6 ("net: dsa: allow drivers to do link adjustment") Fixes: ce31b31c68e7 ("net: dsa: allow updating fixed PHY link information") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25ef1328a03c72a7285883d5b337c4b602476ecd Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Fri Oct 17 13:56:31 2014 -0700 openvswitch: Set flow-key members. This patch adds missing memset which are required to initialize flow key member. For example for IP flow we need to initialize ip.frag for all cases. Found by inspection. This bug is introduced by commit 0714812134d7dcadeb7ecfbfeb18788aa7e1eaac ("openvswitch: Eliminate memset() from flow_extract"). Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc8e54165f1dc8ee946c953512a877676f8bbe3f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Oct 17 22:00:22 2014 +0200 netrom: use linux/uaccess.h replace asm/uaccess.h by linux/uaccess.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b184e497f7fe2895b2175859e0cb21ae5d531555 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Oct 17 12:30:58 2014 -0700 dsa: Fix conversion from host device to mii bus Commit b4d2394d01bc ("dsa: Replace mii_bus with a generic host device") replaces mii_bus with a generic host_dev, and introduces dsa_host_dev_to_mii_bus() to support conversion from host_dev to mii_bus. However, in some cases it uses to_mii_bus to perform that conversion. Since host_dev is not the phy bus device but typically a platform device, this fails and results in a crash with the affected drivers. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff81781d35>] __mutex_lock_slowpath+0x75/0x100 PGD 406783067 PUD 406784067 PMD 0 Oops: 0002 [#1] SMP ... Call Trace: [<ffffffff810a538b>] ? pick_next_task_fair+0x61b/0x880 [<ffffffff81781de3>] mutex_lock+0x23/0x37 [<ffffffff81533244>] mdiobus_read+0x34/0x60 [<ffffffff8153b95a>] __mv88e6xxx_reg_read+0x8a/0xa0 [<ffffffff8153b9bc>] mv88e6xxx_reg_read+0x4c/0xa0 Fixes: b4d2394d01bc ("dsa: Replace mii_bus with a generic host device") Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 643566d4b47e2956110e79c0e6f65db9b9ea42c6 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Oct 17 15:25:28 2014 -0400 tipc: fix bug in bundled buffer reception In commit ec8a2e5621db2da24badb3969eda7fd359e1869f ("tipc: same receive code path for connection protocol and data messages") we omitted the the possiblilty that an arriving message extracted from a bundle buffer may be a multicast message. Such messages need to be to be delivered to the socket via a separate function, tipc_sk_mcast_rcv(). As a result, small multicast messages arriving as members of a bundle buffer will be silently dropped. This commit corrects the error by considering this case in the function tipc_link_bundle_rcv(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 870c3151382c980590d4d609babf3b0243e7db93 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 17 09:17:20 2014 -0700 ipv6: introduce tcp_v6_iif() Commit 971f10eca186 ("tcp: better TCP_SKB_CB layout to reduce cache line misses") added a regression for SO_BINDTODEVICE on IPv6. This is because we still use inet6_iif() which expects that IP6 control block is still at the beginning of skb->cb[] This patch adds tcp_v6_iif() helper and uses it where necessary. Because __inet6_lookup_skb() is used by TCP and DCCP, we add an iif parameter to it. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 971f10eca186 ("tcp: better TCP_SKB_CB layout to reduce cache line misses") Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70b33fb0ddec827cbbd14cdc664fc27b2ef4a6b6 Author: Edward Cree <ecree@xxxxxxxxxxxxxx> Date: Fri Oct 17 15:32:25 2014 +0100 sfc: add support for skb->xmit_more Don't ring the doorbell, and don't do PIO. This will also prevent TX Push, because there will be more than one buffer waiting when the doorbell is rung. Signed-off-by: Edward Cree <ecree@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6cc69f2a404dea8641d6cf97c0fbe8d24579e259 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Fri Oct 17 16:55:08 2014 +0800 r8152: return -EBUSY for runtime suspend Remove calling cancel_delayed_work_sync() for runtime suspend, because it would cause dead lock. Instead, return -EBUSY to avoid the device enters suspending if the net is running and the delayed work is pending or running. The delayed work would try to wake up the device later, so the suspending is not necessary. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d8f00d27105a1553a13d4a96c3eb4544f70ca908 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 17 16:53:47 2014 +0800 ipv4: fix a potential use after free in fou.c pskb_may_pull() maybe change skb->data and make uh pointer oboslete, so reload uh and guehdr Fixes: 37dd0247 ("gue: Receive side for Generic UDP Encapsulation") Cc: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1245dfc8cadb258386fcd27df38215a0eccb1f17 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 17 16:53:23 2014 +0800 ipv4: fix a potential use after free in ip_tunnel_core.c pskb_may_pull() maybe change skb->data and make eth pointer oboslete, so set eth after pskb_may_pull() Fixes:3d7b46cd("ip_tunnel: push generic protocol handling to ip_tunnel module") Cc: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f88e67149f97d73c704d6fe6f492edde97463025 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Thu Oct 16 14:47:58 2014 -0700 hyperv: Add handling of IP header with option field in netvsc_set_hash() In case that the IP header has optional field at the end, this patch will get the port numbers after that field, and compute the hash. The general parser skb_flow_dissect() is used here. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff273cb879fbc6cd3c5d03a56cfc33f5830e2837 Author: Steve French <smfrench@xxxxxxxxx> Date: Fri Oct 17 17:17:12 2014 -0500 [CIFS] Remove obsolete comment Signed-off-by: Steven French <smfrench@xxxxxxxxx> commit f47de068f68db91b89e0d3335230d07e02da8727 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Thu Oct 16 21:55:45 2014 -0700 openvswitch: Create right mask with disabled megaflows If megaflows are disabled, the userspace does not send the netlink attribute OVS_FLOW_ATTR_MASK, and the kernel must create an exact match mask. sw_flow_mask_set() sets every bytes (in 'range') of the mask to 0xff, even the bytes that represent padding for struct sw_flow, or the bytes that represent fields that may not be set during ovs_flow_extract(). This is a problem, because when we extract a flow from a packet, we do not memset() anymore the struct sw_flow to 0. This commit gets rid of sw_flow_mask_set() and introduces mask_set_nlattr(), which operates on the netlink attributes rather than on the mask key. Using this approach we are sure that only the bytes that the user provided in the flow are matched. Also, if the parse_flow_mask_nlattrs() for the mask ENCAP attribute fails, we now return with an error. This bug is introduced by commit 0714812134d7dcadeb7ecfbfeb18788aa7e1eaac ("openvswitch: Eliminate memset() from flow_extract"). Reported-by: Alex Wang <alexw@xxxxxxxxxx> Signed-off-by: Daniele Di Proietto <ddiproietto@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a9f526fc3ee49b6034af2f243676ee0a27dcaa8 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 17 14:06:16 2014 +0800 vxlan: fix a free after use pskb_may_pull maybe change skb->data and make eth pointer oboslete, so eth needs to reload Fixes: 91269e390d062 ("vxlan: using pskb_may_pull as early as possible") Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 389f48947a5a37ea283de520abb742d42174edb0 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 17 14:03:08 2014 +0800 openvswitch: fix a use after free pskb_may_pull() called by arphdr_ok can change skb->data, so put the arp setting after arphdr_ok to avoid the use the freed memory Fixes: 0714812134d7d ("openvswitch: Eliminate memset() from flow_extract.") Cc: Jesse Gross <jesse@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4062090e3e5caaf55bed4523a69f26c3265cc1d2 Author: Vasily Averin <vvs@xxxxxxxxxxxxx> Date: Wed Oct 15 16:24:02 2014 +0400 ipv4: dst_entry leak in ip_send_unicast_reply() ip_setup_cork() called inside ip_append_data() steals dst entry from rt to cork and in case errors in __ip_append_data() nobody frees stolen dst entry Fixes: 2e77d89b2fa8 ("net: avoid a pair of dst_hold()/dst_release() in ip_append_data()") Signed-off-by: Vasily Averin <vvs@xxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e8564b710c6df2c3aeb56c507c22f4bcfa4c0b2d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 25 16:45:43 2014 +0200 perf script: Add period as a default output column Adding period as a default output column in script command fo hardware, software and raw events. If PERF_SAMPLE_PERIOD sample type is defined in perf.data, following will be displayed in perf script output: $ perf script ls 8034 57477.887209: 250000 task-clock: ffffffff81361d72 memset ([kernel.kallsyms]) ls 8034 57477.887464: 250000 task-clock: ffffffff816f6d92 _raw_spin_unlock_irqrestore ([kernel.kallsyms]) ls 8034 57477.887708: 250000 task-clock: ffffffff811a94f0 do_munmap ([kernel.kallsyms]) ls 8034 57477.887959: 250000 task-clock: 34080916c6 get_next_seq (/usr/lib64/libc-2.17.so) ls 8034 57477.888208: 250000 task-clock: 3408079230 _IO_doallocbuf (/usr/lib64/libc-2.17.so) ls 8034 57477.888717: 250000 task-clock: ffffffff814242c8 n_tty_write ([kernel.kallsyms]) ls 8034 57477.889285: 250000 task-clock: 3408076402 fwrite_unlocked (/usr/lib64/libc-2.17.so) Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: "Jen-Cheng(Tommy) Huang" <tommy24@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jen-Cheng(Tommy) Huang <tommy24@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408977943-16594-10-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 535aeaae7de821ba5d43ee2a204ee667ca95aae4 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 25 16:45:42 2014 +0200 perf script: Add period data column Adding period data column to be displayed in perf script. It's possible to get period values using -f option, like: $ perf script -f comm,tid,time,period,ip,sym,dso :26019 26019 52414.329088: 3707 ffffffff8105443a native_write_msr_safe ([kernel.kallsyms]) :26019 26019 52414.329088: 44 ffffffff8105443a native_write_msr_safe ([kernel.kallsyms]) :26019 26019 52414.329093: 1987 ffffffff8105443a native_write_msr_safe ([kernel.kallsyms]) :26019 26019 52414.329093: 6 ffffffff8105443a native_write_msr_safe ([kernel.kallsyms]) ls 26019 52414.329442: 537558 3407c0639c _dl_map_object_from_fd (/usr/lib64/ld-2.17.so) ls 26019 52414.329442: 2099 3407c0639c _dl_map_object_from_fd (/usr/lib64/ld-2.17.so) ls 26019 52414.330181: 1242100 34080917bb get_next_seq (/usr/lib64/libc-2.17.so) ls 26019 52414.330181: 3774 34080917bb get_next_seq (/usr/lib64/libc-2.17.so) ls 26019 52414.331427: 1083662 ffffffff810c7dc2 update_curr ([kernel.kallsyms]) ls 26019 52414.331427: 360 ffffffff810c7dc2 update_curr ([kernel.kallsyms]) Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: "Jen-Cheng(Tommy) Huang" <tommy24@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jen-Cheng(Tommy) Huang <tommy24@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408977943-16594-9-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 461b74c391c4ec9c766794e158508c357d8952e6 Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Date: Wed Oct 15 14:33:22 2014 -0700 ipv4: clean up cookie_v4_check() We can retrieve opt from skb, no need to pass it as a parameter. And opt should always be non-NULL, no need to check. Cc: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Tested-by: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e25f866fbc8a4bf387b5dbe8e25aa5b07e55c74f Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Date: Wed Oct 15 14:33:21 2014 -0700 ipv4: share tcp_v4_save_options() with cookie_v4_check() cookie_v4_check() allocates ip_options_rcu in the same way with tcp_v4_save_options(), we can just make it a helper function. Cc: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2077eebf7d8bf20b36524de45851e28111a60c52 Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Date: Wed Oct 15 14:33:20 2014 -0700 ipv4: call __ip_options_echo() in cookie_v4_check() commit 971f10eca186cab238c49da ("tcp: better TCP_SKB_CB layout to reduce cache line misses") missed that cookie_v4_check() still calls ip_options_echo() which uses IPCB(). It should use TCPCB() at TCP layer, so call __ip_options_echo() instead. Fixes: commit 971f10eca186cab238c49da ("tcp: better TCP_SKB_CB layout to reduce cache line misses") Cc: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Tested-by: Krzysztof Kolasa <kkolasa@xxxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7983e3f89dd960b2a6d156fd2200548c3300428 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 09:45:50 2014 +0200 atm: simplify lanai.c by using module_pci_driver This simplifies the lanai.c driver by using the module_pci_driver() macro, at the expense of losing only debugging messages. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f14d570785e6760284a9849f9bafd0a9825a1a25 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 17 12:17:40 2014 -0300 perf evsel: No need to drag util/cgroup.h The only thing we need is a forward declaration for 'struct cgroup_sel', that is inside 'struct perf_evsel'. Include cgroup.h instead on the tools that support cgroups. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-b7kuymbgf0zxi5viyjjtu5hk@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 724ce97e9f8616ffb62b940f3726685c6f31f9b9 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 17 12:16:00 2014 -0300 perf evlist: Add missing 'struct option' forward declaration It was being found, by chance, because evsel.h needlessly includes util/cgroup.h, which will be sorted out in a following patch. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-xsvxr747wkkpg1ay9dramorr@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 597e48c138632d1f55409dcfa5bee4e1152e7d4f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 16 13:25:01 2014 -0300 perf evsel: Move exit stuff from __delete to __exit So that when an evsel is embedded into other struct it can free up resources calling perf_evsel__exit(). Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-n1w68pfe9m2vkhm4sqs8y1en@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d6fe5be34cf03e7db36d99c1b9d8e472ad3bdb87 Author: Jan Willeke <willeke@xxxxxxxxxx> Date: Wed Oct 8 10:16:08 2014 +0200 s390/uprobes: fix kprobes dependency If kprobes is disabled uprobes will not compile. Fix this by including the correct header files. Signed-off-by: Jan Willeke <willeke@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit fcb1c2d75b55fe52c40cd9692fda73da061f19aa Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Oct 9 12:58:25 2014 +0200 s390: wire up bpf syscall Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ab760a0c5667519b375ea9c5ab3a23501c4817ef Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 28 13:53:23 2014 -0700 ntb: Adding split BAR support for Haswell platforms On the Haswell platform, a split BAR option to allow creation of 2 32bit BARs (4 and 5) from the 64bit BAR 4. Adding support for this new option. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 069684e888da73f175da0f10fe26da4f450d8c18 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 28 13:53:18 2014 -0700 ntb: use errata flag set via DID to implement workaround Instead of using a module parameter, we should detect the errata via PCI DID and then set an appropriate flag. This will be used for additional errata later on. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 1db97f258966878317ece10868eaca99201d5884 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 28 13:53:13 2014 -0700 ntb: conslidate reading of PPD to move platform detection earlier To simplify some of the platform detection code. Move the platform detection to a function to be called earlier. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit b775e85bdb0395077a23bc072c4a62986883e276 Author: Dave Jiang <dave.jiang@xxxxxxxxx> Date: Thu Aug 28 13:53:07 2014 -0700 ntb: move platform detection to separate function Move the platform detection function to separate functions to allow easier maintenence. Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Jon Mason <jdmason@xxxxxxxx> commit 6465d02ee15f7a45339b7e7859d0a0f22100ca87 Author: Jon Mason <jon.mason@xxxxxxxxx> Date: Mon Apr 7 10:55:47 2014 -0700 NTB: debugfs device entry Create a debugfs entry for the NTB device to log the basic device info, as well as display the error count on a number of registers. Signed-off-by: Jon Mason <jon.mason@xxxxxxxxx> commit d37973082b453ba6b89ec07eb7b84305895d35e1 Author: Chris Mason <clm@xxxxxx> Date: Wed Oct 15 13:50:56 2014 -0700 Revert "Btrfs: race free update of commit root for ro snapshots" This reverts commit 9c3b306e1c9e6be4be09e99a8fe2227d1005effc. Switching only one commit root during a transaction is wrong because it leads the fs into an inconsistent state. All commit roots should be switched at once, at transaction commit time, otherwise backref walking can often miss important references that were only accessible through the old commit root. Plus, the root item for the snapshot's root wasn't getting updated and preventing the next transaction commit to do it. This made several users get into random corruption issues after creation of readonly snapshots. A regression test for xfstests will follow soon. Cc: stable@xxxxxxxxxxxxxxx # 3.17 Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 691286b5561aab2e1b00119bc328598c01250548 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Fri Oct 17 07:29:50 2014 +1100 kprobes/x86: Remove stale ARCH_SUPPORTS_KPROBES_ON_FTRACE define Commit e7dbfe349d12 ("kprobes/x86: Move ftrace-based kprobe code into kprobes-ftrace.c") switched from using ARCH_SUPPORTS_KPROBES_ON_FTRACE to CONFIG_KPROBES_ON_FTRACE but missed removing the define. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Cc: masami.hiramatsu.pt@xxxxxxxxxxx Cc: ananth@xxxxxxxxxx Cc: a.p.zijlstra@xxxxxxxxx Cc: fweisbec@xxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4e03394e939135adcd453bd538ea02d98a30473b Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 25 17:32:31 2014 +0900 ARM: dts: Explicitly set dr_mode on exynos5420-arndale-octa Explicitly set the dr_mode for the second dwc3 controller on the Arndale Octa board to host mode. This is required to ensure the controller is initialized in the right mode if the kernel is build with USB gadget support. Reported-By: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit e1c69efc52bbad7fa289694672d467ab4fdf9f52 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 25 17:32:14 2014 +0900 ARM: dts: Explicitly set dr_mode on exynos Peach boards In case the optional dr_mode property isn't set in the dwc3 nodes the the controller will go into OTG mode if both USB host and USB gadget functionality are enabled in the kernel configuration. Unfortunately this results in USB not working on exynos5420-peach-pit and exynos5800-peach-pi with such a kernel configuration unless manually change the mode. To resolve that explicitly configure the dual role mode as host. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Andreas Faerber <afaerber@xxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit e89dafb5ca5022d3bc63602018adfc766c73bc2b Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 16 17:43:02 2014 +1100 powerpc: Only do dynamic DMA zone limits on platforms that need it Scott's patch 1c98025c6c95 "Dynamic DMA zone limits" changed dma_direct_alloc_coherent() to start using dev->coherent_dma_mask. That seems fair enough, but it exposes the fact that some of the drivers we care about on IBM platforms aren't setting the coherent mask. The proper fix is to have drivers set the coherent mask and also have the platform code honor it. For now, just restrict the dynamic DMA zone limits to the platforms that need it. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 4dfb15cd5aaa6682e93854a74b394a1c95b82621 Author: Tommi Rantala <tt.rantala@xxxxxxxxx> Date: Thu Oct 16 14:02:07 2014 -0700 Input: xpad - add Thrustmaster as Xbox 360 controller vendor Add Thrustmaster as Xbox 360 controller vendor. This is required for example to make the GP XID (044f:b326) gamepad work. Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4b54625822eb7a4eae9c5b8c890b6c4dc001b895 Author: Tommi Rantala <tt.rantala@xxxxxxxxx> Date: Thu Oct 16 14:01:43 2014 -0700 Input: xpad - add USB ID for Thrustmaster Ferrari 458 Racing Wheel Add the USB ID for the Xbox 360 Thrustmaster Ferrari 458 Racing Wheel. Signed-off-by: Tommi Rantala <tt.rantala@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 135d916fe8a5fa25ad87a62844acfd3dbb1c9fb9 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Thu Oct 16 13:56:52 2014 -0700 Input: max77693-haptic - fix state check in imax77693_haptic_disable() The check to see whether the device is already disabled in max77693_haptic_disable() was inversed, this change corrects it. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 4d544e3bdb12f8e48f61e7f2270b253a48c69e00 Author: Chang Huaixin <huaixin.chx@xxxxxxxxxxxxxxx> Date: Thu Oct 16 13:33:24 2014 -0700 Input: xen-kbdfront - free grant table entry in xenkbd_disconnect_backend xenkbd_disconnect_backend doesn't free grant table entry. This bug affects live migration. xenkbd_disconnect_backend uses gnttab_end_foreign_access_ref to handle grant table entry which doesn't really free an entry. Thus every time we do xenkbd_resume, grant table entry increses by one. As an grant table entry occupies 8 bytes, an grant table page has at most 512 entries. Every 512 times we do xenkdb_resume, grant table pages increses by one. After around 3500 times of live migration, grant table pages will increase by 7, causing too many pages to populate and hitting max_pages limit when assigning pages.Thus assign_pages will fail, so will live migration. Signed-off-by: Chang Huaixin <huaixin.chx@xxxxxxxxxxxxxxx> Acked-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9ffc5412964d5b276227684124efb702ec387c19 Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Oct 16 15:13:14 2014 -0500 Check minimum response length on query_network_interface Acked-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit b5b374eab11ef60d789e28bc36c18e2d08703212 Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Oct 6 01:01:03 2014 -0500 Workaround Mac server problem Mac server returns that they support CIFS Unix Extensions but doesn't actually support QUERY_FILE_UNIX_BASIC so mount fails. Workaround this problem by disabling use of Unix CIFS protocol extensions if server returns an EOPNOTSUPP error on QUERY_FILE_UNIX_BASIC during mount. Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit 2baa2682531ff02928e2d3904800696d9e7193db Author: Steve French <smfrench@xxxxxxxxx> Date: Sat Sep 27 02:19:01 2014 -0500 Remap reserved posix characters by default (part 3/3) This is a bigger patch, but its size is mostly due to a single change for how we check for remapping illegal characters in file names - a lot of repeated, small changes to the way callers request converting file names. The final patch in the series does the following: 1) changes default behavior for cifs to be more intuitive. Currently we do not map by default to seven reserved characters, ie those valid in POSIX but not in NTFS/CIFS/SMB3/Windows, unless a mount option (mapchars) is specified. Change this to by default always map and map using the SFM maping (like the Mac uses) unless the server negotiates the CIFS Unix Extensions (like Samba does when mounting with the cifs protocol) when the remapping of the characters is unnecessary. This should help SMB3 mounts in particular since Samba will likely be able to implement this mapping with its new "vfs_fruit" module as it will be doing for the Mac. 2) if the user specifies the existing "mapchars" mount option then use the "SFU" (Microsoft Services for Unix, SUA) style mapping of the seven characters instead. 3) if the user specifies "nomapposix" then disable SFM/MAC style mapping (so no character remapping would be used unless the user specifies "mapchars" on mount as well, as above). 4) change all the places in the code that check for the superblock flag on the mount which is set by mapchars and passed in on all path based operation and change it to use a small function call instead to set the mapping type properly (and check for the mapping type in the cifs unicode functions) Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit a4153cb1d3cb7d7c16968b0a9cf7c8aacf31424e Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Sep 25 14:01:34 2014 -0500 Allow conversion of characters in Mac remap range (part 2) The previous patch allowed remapping reserved characters from directory listenings, this patch adds conversion the other direction, allowing opening of files with any of the seven reserved characters. Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> commit b693855fe67314d501aae74b9adff8788eb2fd82 Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Sep 25 13:20:05 2014 -0500 Allow conversion of characters in Mac remap range. Part 1 This allows directory listings to Mac to display filenames correctly which have been created with illegal (to Windows) characters in their filename. It does not allow converting the other direction yet ie opening files with these characters (followon patch). There are seven reserved characters that need to be remapped when mounting to Windows, Mac (or any server without Unix Extensions) which are valid in POSIX but not in the other OS. : \ < > ? * | We used the normal UCS-2 remap range for this in order to convert this to/from UTF8 as did Windows Services for Unix (basically add 0xF000 to any of the 7 reserved characters), at least when the "mapchars" mount option was specified. Mac used a very slightly different "Services for Mac" remap range 0xF021 through 0xF027. The attached patch allows cifs.ko (the kernel client) to read directories on macs containing files with these characters and display their names properly. In theory this even might be useful on mounts to Samba when the vfs_catia or new "vfs_fruit" module is loaded. Currently the 7 reserved characters look very strange in directory listings from cifs.ko to Mac server. This patch allows these file name characters to be read (requires specifying mapchars on mount). Two additional changes are needed: 1) Make it more automatic: a way of detecting enough info so that we know to try to always remap these characters or not. Various have suggested that the SFM approach be made the default when the server does not support POSIX Unix extensions (cifs mounts to Samba for example) so need to make SFM remapping the default unless mapchars (SFU style mapping) specified on mount or no mapping explicitly requested or no mapping needed (cifs mounts to Samba). 2) Adding a patch to map the characters the other direction (ie UTF-8 to UCS-2 on open). This patch does it for translating readdir entries (ie UCS-2 to UTF-8) Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> commit c22870ea2deb2841402133909cfa707a2c0b12ed Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Sep 16 07:18:19 2014 -0500 mfsymlinks support for SMB2.1/SMB3. Part 2 query symlink Adds support on SMB2.1 and SMB3 mounts for emulation of symlinks via the "Minshall/French" symlink format already used for cifs mounts when mfsymlinks mount option is used (and also used by Apple). http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks This second patch adds support to query them (recognize them as symlinks and read them). Third version of patch makes minor corrections to error handling. Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Stefan Metzmacher <metze@xxxxxxxxx> commit 5ab97578cbb3bf9a28dec4534cb86fbc35e600bb Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Sep 15 04:49:28 2014 -0500 Add mfsymlinks support for SMB2.1/SMB3. Part 1 create symlink Adds support on SMB2.1 and SMB3 mounts for emulation of symlinks via the "Minshall/French" symlink format already used for cifs mounts when mfsymlinks mount option is used (and also used by Apple). http://wiki.samba.org/index.php/UNIX_Extensions#Minshall.2BFrench_symlinks This first patch adds support to create them. The next patch will add support for recognizing them and reading them. Although CIFS/SMB3 have other types of symlinks, in the many use cases they aren't practical (e.g. either require cifs only mounts with unix extensions to Samba, or require the user to be Administrator to Windows for SMB3). This also helps enable running additional xfstests over SMB3 (since some xfstests directly or indirectly require symlink support). Signed-off-by: Steve French <smfrench@xxxxxxxxx> CC: Stefan Metzmacher <metze@xxxxxxxxx> commit db8b631d4bc4eaa9f7e13a6b0a287306cac0cb72 Author: Steve French <smfrench@xxxxxxxxx> Date: Mon Sep 22 05:13:55 2014 -0500 Allow mknod and mkfifo on SMB2/SMB3 mounts The "sfu" mount option did not work on SMB2/SMB3 mounts. With these changes when the "sfu" mount option is passed in on an smb2/smb2.1/smb3 mount the client can emulate (and recognize) fifo and device (character and device files). In addition the "sfu" mount option should not conflict with "mfsymlinks" (symlink emulation) as we will never create "sfu" style symlinks, but using "sfu" mount option will allow us to recognize existing symlinks, created with Microsoft "Services for Unix" (SFU and SUA). To enable the "sfu" mount option for SMB2/SMB3 the calling syntax of the generic cifs/smb2/smb3 sync_read and sync_write protocol dependent function needed to be changed (we don't have a file struct in all cases), but this actually ended up simplifying the code a little. Signed-off-by: Steve French <smfrench@xxxxxxxxx> commit 73322979097f287101617904dd08180feaa658b4 Author: Steve French <smfrench@xxxxxxxxx> Date: Tue Sep 23 19:25:42 2014 -0500 add defines for two new file attributes Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Shirish Pargaonkar <shirishpargaonkar@xxxxxxxxx> commit 2c6ba4b15b5ef38213b6c42ce09e9398f78cef9f Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Oct 16 15:47:51 2014 +0200 netlink: fix description of portid Avoid confusion between pid and portid. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3331177cbde01e03e2eae7aee13ad87fffd7be42 Merge: f5b720b 600a507 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 16 14:42:51 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-10-16 This series contains updates to fm10k and ixgbe. Matthew provides two fixes for fm10k, first sets the flag to fetch the host state before kicking off the service task that reads the host state when bringing the interface up. The second makes sure that we release the mailbox lock after detecting an error and before we return the error code. Andy Zhou provides a compile fix for fm10k, when the driver is compiled into the kernel and the VXLAN driver is compiled as a module. Emil provides a fix for ixgbe to prevent against a panic by trying to dereference a NULL pointer in ixgbe_ndo_set_vf_spoofchk(). ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3569b70c4077db2b70a401c23ac597faf0d1b424 Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Thu Oct 16 12:53:35 2014 +0100 NTFS: Bump version to 2.1.31. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> commit 3f7fc6f2a2ba0f72a09e9f9999c3812fdee8fe70 Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Thu Oct 16 12:50:52 2014 +0100 NTFS: Add bmap address space operation needed for FIBMAP ioctl. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> commit 2b522cc16000c33d16bc76ee37e99ff9002a27be Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Thu Oct 16 12:43:57 2014 +0100 NTFS: Remove changelog from Documentation/filesystems/ntfs.txt. Changelog is in git history, no need to have a copy in the documentation. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> commit ce1bafa094a5ef3aaa8afa08727b1e970e9d4711 Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Thu Oct 16 12:28:03 2014 +0100 NTFS: Split ntfs_aops into ntfs_normal_aops and ntfs_compressed_aops in preparation for them diverging. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> commit 9b32011acdc4428474b7cba865f713a11b9b9bd3 Merge: 0429fbc 923190d Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Oct 16 21:04:18 2014 +1100 Merge branch 'stable-3.18' of git://git.infradead.org/users/pcmoore/selinux into for-linus2 commit 600a507ddcb99096731e1d96a3ebf43e20fc7f80 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Thu Oct 16 15:49:02 2014 +0000 ixgbe: check for vfs outside of sriov_num_vfs before dereference The check for vfinfo is not sufficient because it does not protect against specifying vf that is outside of sriov_num_vfs range. All of the ndo functions have a check for it except for ixgbevf_ndo_set_spoofcheck(). The following patch is all we need to protect against this panic: ip link set p96p1 vf 0 spoofchk off BUG: unable to handle kernel NULL pointer dereference at 0000000000000052 IP: [<ffffffffa044a1c1>] ixgbe_ndo_set_vf_spoofchk+0x51/0x150 [ixgbe] Reported-by: Thierry Herbelot <thierry.herbelot@xxxxxxxxx> Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Acked-by: Thierry Herbelot <thierry.herbelot@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f6b03c10a1b3f2c98ed23813997cdebef8aabeba Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Sat Oct 4 06:19:11 2014 +0000 fm10k: Add CONFIG_FM10K_VXLAN configuration option Compiling with CONFIG_FM10K=y and VXLAN=m resulting in linking error: drivers/built-in.o: In function `fm10k_open': (.text+0x1f9d7a): undefined reference to `vxlan_get_rx_port' make: *** [vmlinux] Error 1 The fix follows the same strategy as I40E. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2df36a5dd6792870bef48f63bfca42055ea5b79c Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sun Sep 28 16:04:26 2014 +0200 arm/arm64: KVM: Fix BE accesses to GICv2 EISR and ELRSR regs The EIRSR and ELRSR registers are 32-bit registers on GICv2, and we store these as an array of two such registers on the vgic vcpu struct. However, we access them as a single 64-bit value or as a bitmap pointer in the generic vgic code, which breaks BE support. Instead, store them as u64 values on the vgic structure and do the word-swapping in the assembly code, which already handles the byte order for BE systems. Tested-by: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 13cb2dad45cc8c8e350abc84de38449b89629c3c Author: Matthew Vick <matthew.vick@xxxxxxxxx> Date: Fri Oct 3 00:43:35 2014 +0000 fm10k: Unlock mailbox on VLAN addition failures After grabbing the mailbox lock and detecting an error, the lock must be released before the error code can be returned. Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6b997bab20448cfe85456e4789d5d9222ab6b830 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Oct 16 12:59:06 2014 +0530 serial: atmel: add missing dmaengine header The atmel serial driver uses dmaengine APIs but never included the dmaengine header as it was getting inculded thru one of driver headers. commit 3d588f83e4d6a5230d9094b97d38621cbaa9a972 - "dmaengine: dw: split dma-dw.h to platform and private parts" broke this as it moved headers around. Fix this by doing the right thing to include the dmaengine header Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Fixes: 08f738be88bb (serial: at91: add tx dma support) Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4d4191566fdd0e8990b2e8ab5ae819227c92892f Author: Matthew Vick <matthew.vick@xxxxxxxxx> Date: Thu Oct 2 05:10:18 2014 +0000 fm10k: Check the host state when bringing the interface up Set the flag to fetch the host state before kicking off the service task that reads the host state when bringing the interface back up. Signed-off-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7dac24bdc1dd561573cd8ce534a63dc975f51ca8 Author: Mike Rapoport <mike.rapoport@xxxxxxxxx> Date: Wed Oct 1 19:09:11 2014 +0300 ARM: dts: qcom: add CM-QS600 board CM-QS600 is a APQ8064 based computer on module. The details are available at http://compulab.co.il/products/computer-on-modules/cm-qs600/ Signed-off-by: Mike Rapoport <mike.rapoport@xxxxxxxxx> Acked-by: Igor Grinberg <grinberg@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 71b5235ab69bc65a19f5b15a7fa01a0a5de89cb5 Author: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Date: Tue Sep 30 15:49:49 2014 -0700 ARM: dts: qcom: Add initial DTS file for Sony Xperia Z1 phone This DTS has support for the Sony Xperia Z1 phone (codenamed Honami). This first version of the DTS supports just a serial console. Signed-off-by: Tim Bird <tim.bird@xxxxxxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit e512448f6e98fb77f2be8ec7155f0ed941855796 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Tue Sep 23 13:21:41 2014 -0500 ARM: dts: qcom: Add SATA support on IPQ8064/AP148 Add SATA PHY and SATA AHCI controller nodes to device tree to enable generic ahci support on the IPQ8064/AP148 board. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 3e27a8445c21f8056517f188303827450590d868 Author: james.d.ralston@xxxxxxxxx <james.d.ralston@xxxxxxxxx> Date: Mon Oct 13 15:20:24 2014 -0700 i2c: i801: Add Device IDs for Intel Sunrise Point PCH This patch adds the I2C/SMBus Device IDs for the Intel Sunrise Point PCH. Signed-off-by: James Ralston <james.d.ralston@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 15ef27756b23a9fe5ec637a92c40dabd31aa38f6 Author: Wei Yan <sledge.yanwei@xxxxxxxxxx> Date: Tue Oct 7 09:04:12 2014 +0800 i2c: hix5hd2: add i2c controller driver I2C drivers for hix5hd2 soc series, including following chipset Hi3716CV200, Hi3719CV100, Hi3718CV100, Hi3719MV100, Hi3718MV100. Signed-off-by: Wei Yan <sledge.yanwei@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> [wsa: folded dt docs into this patch] Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 86be175a730bd98de2b75522eae08160ec2dec91 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 20:17:33 2014 +1100 powerpc: sync pseries_le_defconfig with pseries_defconfig Now KVM is working on LE, enable it. Also enable transarent hugepage which has already been enabled on BE. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2c186e05a5c6dc8fcfb1e8bf6901ad1598c40db6 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 20:21:22 2014 +1100 powerpc: Add printk levels to setup_system output Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 71c62b24fe88e4d3f5470207426e94345ca94c83 Merge: ec4212d 673d659 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 16 07:15:45 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: * Add a visual cue for toggle zeroing of samples in 'perf top' (Taeung Song) * Fix for double free in 'perf stat' when using some specific invalid command line combo (Yasser Shalabi) Infrastructure changes: * Add option to copy events when queuing for sorting across cpu buffers and enable it for 'perf kvm stat live', to avoid having events left in the queue pointing to the ring buffer be rewritten in high volume sessions. (Alexander Yarygin, improving work done by David Ahern): * Document sysfs events/ interfaces (Cody P Schafer) * Add support to new style format of kernel PMU event. (Kan Liang) * Fix typos in perf/Documentation (Masanari Iida) * Improve callchains when using libunwind (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 91269e390d062b526432f2ef1352b8df82e0e0bc Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Oct 16 09:17:18 2014 +0800 vxlan: using pskb_may_pull as early as possible pskb_may_pull should be used to check if skb->data has enough space, skb->len can not ensure that. Cc: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce6502a8f9572179f044a4d62667c4645256d6e4 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Thu Oct 16 08:49:41 2014 +0800 vxlan: fix a use after free in vxlan_encap_bypass when netif_rx() is done, the netif_rx handled skb maybe be freed, and should not be used. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e8febd0a76333875636859e0092a14c1fba49e4 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 15 21:03:41 2014 +0200 openvswitch: use vport instead of p All functions used struct vport *vport except ovs_vport_find_upcall_portid. This fixes 1 kerneldoc warning Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7e78cc46b7ec0c80257de8d09f0097081754e206 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 15 21:03:18 2014 +0200 openvswitch: kerneldoc warning fix s/sock/gs Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aeba3731b150188685225b510886f1370d8814de Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Oct 16 12:29:46 2014 +1100 powerpc/pci: Fix IO space breakage after of_pci_range_to_resource() change Commit 0b0b0893d49b "of/pci: Fix the conversion of IO ranges into IO resources" changed the behaviour of of_pci_range_to_resource(). Previously it simply populated the resource based on the arguments. Now it calls pci_register_io_range() and pci_address_to_pio(). These both have two implementations depending on whether PCI_IOBASE is defined, which it is not for powerpc. Further complicating matters, both routines are weak, and powerpc implements it's own version of one - pci_address_to_pio(). However powerpc's implementation depends on other initialisations which are done later in boot. The end result is incorrectly initialised IO space. Often we can get away with that, because we don't make much use of IO space. However virtio requires it, so we see eg: pci_bus 0000:00: root bus resource [io 0xffff] (bus address [0xffffffffffffffff-0xffffffffffffffff]) PCI: Cannot allocate resource region 0 of device 0000:00:01.0, will remap virtio-pci 0000:00:01.0: can't enable device: BAR 0 [io size 0x0020] not assigned The simplest fix for now is to just stop using of_pci_range_to_resource(), and open-code the original implementation, that's all we want it to do. Fixes: 0b0b0893d49b ("of/pci: Fix the conversion of IO ranges into IO resources") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5c9fb1899400096c6818181c525897a31d57e488 Author: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 12:42:58 2014 +0200 powerpc/vphn: NUMA node code expects big-endian The associativity domain numbers are obtained from the hypervisor through registers and written into memory by the guest: the packed array passed to vphn_unpack_associativity() is then native-endian, unlike what was assumed in the following commit: commit b08a2a12e44eaec5024b2b969f4fcb98169d1ca3 Author: Alistair Popple <alistair@xxxxxxxxxxxx> Date: Wed Aug 7 02:01:44 2013 +1000 powerpc: Make NUMA device node code endian safe This issue fills the topology with bogus data and makes it unusable. It may lead to severe performance breakdowns. We should ideally patch the vphn_unpack_associativity() function to do the 64-bit loads, but this requires some more brain storming. In the meantime, let's go for a suboptimal and temporary bug fix: this patch converts each 64-bit value of the packed array to big endian, as expected by the current parsing code in vphn_unpack_associativity(). Signed-off-by: Greg Kurz <gkurz@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f5b720b85944413491df106f05a784cd1714436e Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Wed Oct 15 19:11:46 2014 +0300 gianfar: Add FCS to rx buffer size (fix) For each Rx frame the eTSEC writes its FCS (Frame Check Sequence) to the Rx buffer. The eTSEC h/w manual states in the "Receive Buffer Descriptor Field Descriptions" table: "Data length is the number of octets written by the eTSEC into this BD's data buffer if L is cleared (the value is equal to MRBLR), or, if L is set, the length of the frame including *CRC*, FCB (if RCTRL[PRSDEP > 00), preamble (if MACCFG2[PreAmRxEn]=1), time stamp (if RCTRL[TS] = 1) and any padding (RCTRL[PAL])." Though the FCS bytes are removed by the driver before passing the skb to the net stack, the Rx buffer size computation does not currently take into account the FCS bytes (4 bytes). Because the Rx buffer size is multiple of 512 bytes, leaving out the FCS is not a problem for the default MTU of 1500, as the Rx buffer size is 1536 in this case. However, for custom MTUs, where the difference between the MTU size and the Rx buffer size is less, this can be a problem as the computed Rx buffer size won't be enough to accomodate the FCS for a received frame that is big enough (close to MTU size). In such case the received frame is considered to be incomplete (L flag not set in the RxBD status) and silently dropped. Note that the driver does not currently support S/G on Rx, so it has to compute its Rx buffer size based on the MTU of the device. Reported-by: Kristian Otnes <kotnes@xxxxxxxxx> Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4bf205da618bbd0b038e404d646f14e76915718 Author: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Date: Sun Oct 12 23:09:08 2014 -0400 pstore: Fix duplicate {console,ftrace}-efi entries The pstore filesystem still creates duplicate filename/inode pairs for some pstore types. Add the id to the filename to prevent that. Before patch: [/sys/fs/pstore] ls -li total 0 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi 1250 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi After: [/sys/fs/pstore] ls -li total 0 1232 -r--r--r--. 1 root root 148 Sep 29 17:09 console-efi-141202499100000 1231 -r--r--r--. 1 root root 67 Sep 29 17:09 console-efi-141202499200000 1230 -r--r--r--. 1 root root 148 Sep 29 17:44 console-efi-141202705400000 1229 -r--r--r--. 1 root root 67 Sep 29 17:44 console-efi-141202705500000 1228 -r--r--r--. 1 root root 67 Sep 29 20:42 console-efi-141203772600000 1227 -r--r--r--. 1 root root 148 Sep 29 23:42 console-efi-141204854900000 1226 -r--r--r--. 1 root root 67 Sep 29 23:42 console-efi-141204855000000 1225 -r--r--r--. 1 root root 148 Sep 29 23:59 console-efi-141204954200000 1224 -r--r--r--. 1 root root 67 Sep 29 23:59 console-efi-141204954400000 Signed-off-by: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.6+ Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit 4b7fd2e688d51f8ed7380758047fcaa4d4693d47 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 16:23:28 2014 +0300 virtio_net: fix use after free commit 0b725a2ca61bedc33a2a63d0451d528b268cf975 net: Remove ndo_xmit_flush netdev operation, use signalling instead. added code that looks at skb->xmit_more after the skb has been put in TX VQ. Since some paths process the ring and free the skb immediately, this can cause use after free. Fix by storing xmit_more in a local variable. Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28b5f058cf1d268d965894ce42a614d13f853dd6 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Wed Oct 15 17:30:12 2014 +0800 net: fec: ptp: fix convergence issue to support LinuxPTP stack iMX6SX IEEE 1588 module has one hw issue in capturing the ATVR register. The current SW flow is: ENET0->ATCR |= ENET_ATCR_CAPTURE_MASK; ts_counter_ns = ENET0->ATVR; The ATVR value is not expected value that cause LinuxPTP stack cannot be convergent. ENET Block Guide/ Chapter for the iMX6SX (PELE) address the issue: After set ENET_ATCR[Capture], there need some time cycles before the counter value is capture in the register clock domain. The wait-time-cycles is at least 6 clock cycles of the slower clock between the register clock and the 1588 clock. So need something like: ENET0->ATCR |= ENET_ATCR_CAPTURE_MASK; wait(); ts_counter_ns = ENET0->ATVR; For iMX6SX, the 1588 ts_clk is fixed to 25Mhz, register clock is 66Mhz, so the wait-time-cycles must be greater than 240ns (40ns * 6). The patch add 1us delay before cpu read ATVR register. Changes V2: Modify the commit/comments log to describe the issue clearly. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 673d659f5c5918b7ddbafebf1f129c9eb82973b4 Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 18:40:12 2014 +0400 perf kvm stat live: Enable events copying Process of analyzing events caused by 2 functions: mmap_read() and finished_round(). During mmap_read(), perf receives events from shared memory, queues their pointers for further processing in finished_round() and notifies the kernel that the events have been processed. By the time when finished_round() is invoked, queued events can be overwritten by the kernel, so the finished_round() occurs on potentially corrupted memory. Since there is no place where the event can be safely consumed, let's copy events when queueing. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412347212-28237-3-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 54bf53b1cb9150b894213a705c562d52388376ef Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 18:40:11 2014 +0400 perf session: Add option to copy events when queueing When processing events the session code has an ordered samples queue which is used to time-sort events coming in across multiple mmaps. At a later point in time samples on the queue are flushed up to some timestamp at which point the event is actually processed. When analyzing events live (ie., record/analysis path in the same command) there is a race that leads to corrupted events and parse errors which cause perf to terminate. The problem is that when the event is placed in the ordered samples queue it is only a reference to the event which is really sitting in the mmap buffer. Even though the event is queued for later processing the mmap tail pointer is updated which indicates to the kernel that the event has been processed. The race is flushing the event from the queue before it gets overwritten by some other event. For commands trying to process events live (versus just writing to a file) and processing a high rate of events this leads to parse failures and perf terminates. Examples hitting this problem are 'perf kvm stat live', especially with nested VMs which generate 100,000+ traces per second, and a command processing scheduling events with a high rate of context switching -- e.g., running 'perf bench sched pipe'. This patch offers live commands an option to copy the event when it is placed in the ordered samples queue. Based on a patch from David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412347212-28237-2-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 96355f2cfb61bb057df9bc0712cd7323dba28080 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Sep 10 00:18:50 2014 +0900 perf Documentation: Fix typos in perf/Documentation This patch fix spelling typos found in tool/perf/Documentation. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410275930-17207-1-git-send-email-standby24x7@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 89dceb22c098bd6afa9f3054aedddb9e1349392b Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Oct 6 09:46:03 2014 +0900 perf trace: Use thread_{,_set}_priv helpers This is mechanical changes only for accounting access to thread->priv properly in the source level. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412556363-26229-6-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 69e865c353b226dbedf319ae6d1ab8fb3510fa25 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Oct 6 09:46:02 2014 +0900 perf kvm: Use thread_{,_set}_priv helpers This is mechanical changes only for accounting access to thread->priv properly in the source level. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412556363-26229-5-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 66f066d8994bd146304bab72fa09c1e644c4b3ff Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Oct 6 09:46:00 2014 +0900 perf callchain: Create an address space per thread The unw_addr_space_t in libunwind represents an address space to be used for stack unwinding. It doesn't need to be create/destory everytime to unwind callchain (as in get_entries) and can have a same lifetime as thread (unless exec called). So move the address space construction/destruction logic to the thread lifetime handling functions. This is a preparation to enable caching in the unwind library. Note that it saves unw_addr_space_t object using thread__set_priv(). It seems currently only used by perf trace and perf kvm stat commands which don't use callchain. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jean Pihet <jean.pihet@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Arun Sharma <asharma@xxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412556363-26229-3-git-send-email-namhyung@xxxxxxxxxx [ Fixup unwind-libunwind.c missing CALLCHAIN_DWARF definition, added missing __maybe_unused on unused parameters in stubs at util/unwind.h ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0cdccac6fe4b1316f04f0dbfcc4efab51932014a Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Mon Oct 6 09:45:59 2014 +0900 perf report: Set callchain_param.record_mode for future use Normally the callchain_param.record_mode is used only for record path. But as it might need to prepare something for dwarf unwinding, setup this info for perf report too. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412556363-26229-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2e19a934a36b2b4affcde9c170c0f01afabe50a Author: Yasser Shalabi <yassershalabi@xxxxxxxxx> Date: Sat Oct 4 11:37:57 2014 -0400 perf evlist: Fix for double free in tools/perf stat Fix for double free bug in tools/perf due to dangling thread_map pointer in perf_evlist struct. Code path excercised when perf stat -C switch is used but not set and is followed by another switch. Example: perf stat -C -e. Signed-off-by: Yasser Shalabi <yassershalabi@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412437077-13109-1-git-send-email-yassershalabi@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ffe59788e69b548bd62cc9a053253a8af2cdda1d Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Oct 7 11:08:52 2014 -0400 perf test: Add test case for pmu event new style format Add test case in automated tests suite. It checks not only the two types of pmu event stytle formats "pmu_event_name" and "cpu/pmu_event_name/", but also the different formats mixtures which are more likely to trigger parse issue. The patch set including this one has been tested by the perf automated test: ./perf test parse -v" On haswell, ivybridge and Romley platform. The patch set also has been tested on haswell by the following script. Note: please make sure that your test system support TSX and L1-dcache-loads events. Otherwise, you may want to change the events to other pmu events. [lk@localhost ~]$ cat perf_style_test.sh # hardware events + kernel pmu event with different style perf stat -x, -e cycles,mem-stores,tx-start sleep 2 perf stat -x, -e cpu-cycles,cycles-ct,cycles-t sleep 2 perf stat -x, -e cycles,cpu/cycles-ct/,cpu/cycles-t/ sleep 2 perf stat -x, -e instructions,cpu/tx-start/ sleep 2 perf stat -x, -e '{cycles,tx-start}' sleep 2 perf stat -x, -e '{cycles,cpu/tx-start/}' sleep 2 # HW Cache event + kernel pmu event with different style perf stat -x, -e L1-dcache-loads,cpu/mem-stores/,tx-start sleep 2 perf stat -x, -e L1-dcache-loads,mem-stores,cpu/tx-start/ sleep 2 perf stat -x, -e '{L1-dcache-loads,mem-stores}' sleep 2 perf stat -x, -e '{L1-dcache-loads,cpu/tx-start/}' sleep 2 # Raw event + kernel pmu event with different style: perf stat -x, -e cpu/event=0xc0,umask=0x00/,mem-loads,cpu/mem-stores/ sleep 2 perf stat -x, -e cpu/event=0xc0,umask=0x00/,tx-start,cpu/el-start/ sleep 2 perf stat -x, -e '{cpu/event=0xc0,umask=0x00/,tx-start}' sleep 2 Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412694532-23391-5-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba32a4511c65e41958384d2f7a046a6ec6e151e5 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Oct 7 11:08:51 2014 -0400 perf tools: Add support to new style format of kernel PMU event Add new rules for kernel PMU event. Currently, the patch only want to handle the PMU event name as "a-b" and "a". event_pmu: PE_KERNEL_PMU_EVENT sep_dc | PE_PMU_EVENT_PRE '-' PE_PMU_EVENT_SUF sep_dc PE_KERNEL_PMU_EVENT token is for cycles-ct/cycles-t/mem-loads/mem-stores. The prefix cycles is mixed up with cpu-cycles. loads and stores are mixed up with cache event So they have to be hardcode in lex. PE_PMU_EVENT_PRE and PE_PMU_EVENT_SUF tokens are for other PMU events. The lex looks generic identifier up in the table and return the matched token. If there is no match, generic PE_NAME token will be return. Using the rules, kernel PMU event could use new style format without // so you can use: perf record -e mem-loads ... instead of: perf record -e cpu/mem-loads/ Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412694532-23391-4-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dcb4e1022b40d886027500821a592dd8f8ccde8f Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Oct 7 11:08:50 2014 -0400 perf tools: Parse the pmu event prefix and suffix There are two types of event formats for PMU events. E.g. el-abort OR cpu/el-abort/. However, the lexer mistakenly recognizes the simple style format as two events. The parse_events_pmu_check function uses bsearch to search the name in known pmu event list. It can tell the lexer that the name is a PE_NAME or a PMU event name prefix or a PMU event name suffix. All these information will be used for accurately parsing kernel PMU events. The pmu events list will be read from sysfs at runtime. Note: Currently, the patch only want to handle the PMU event name as "a-b" and "a". The only exception, "stalled-cycles-frontend" and "stalled-cycles-fronted", are already hardcoded in lexer. Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412694532-23391-3-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 42f60c2d63b0d3f7230d28ac37c1da4885d4ee65 Author: Kan Liang <kan.liang@xxxxxxxxx> Date: Tue Oct 7 11:08:49 2014 -0400 Revert "perf tools: Default to cpu// for events v5" This reverts commit 50e200f07948 ("perf tools: Default to cpu// for events v5") The fixup cannot handle the case that new style format(which without //) mixed with other different formats. For example, group events with new style format: {mem-stores,mem-loads} some hardware event + new style event: cycles,mem-loads Cache event + new style event: LLC-loads,mem-loads Raw event + new style event: cpu/event=0xc8,umask=0x08/,mem-loads old style event and new stytle mixture: mem-stores,cpu/mem-loads/ Signed-off-by: Kan Liang <kan.liang@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412694532-23391-2-git-send-email-kan.liang@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b56d5beff4825f9f216f1fc4a54a5d07d4b68b71 Author: Cody P Schafer <dev@xxxxxxxxxx> Date: Tue Sep 30 23:03:20 2014 -0700 perf Documentation: Remove Ruplicated docs for powerpc cpu specific events Listing specific events doesn't actually help us at all here because: - these events actually vary between different ppc processors, they aren't garunteed to be present. - the documentation of the (generic) file contents is now superceded by the docs for arbitrary event file contents. Signed-off-by: Cody P Schafer <dev@xxxxxxxxxx> Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Haren Myneni <hbabu@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michael Ellerman <michaele@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1412143402-26061-5-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ed90a4466340e51699139ea83dbe0f4536360e6d Author: Cody P Schafer <dev@xxxxxxxxxx> Date: Tue Sep 30 23:03:19 2014 -0700 perf Documentation: sysfs events/ interfaces Add documentation for the <event>, <event>.scale, and <event>.unit files in sysfs. <event>.scale and <event>.unit were undocumented. <event> was previously documented only for specific powerpc pmu events. Signed-off-by: Cody P Schafer <dev@xxxxxxxxxx> Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Cody P Schafer <dev@xxxxxxxxxx> Cc: Haren Myneni <hbabu@xxxxxxxxxx> Cc: Haren Myneni <hbabu@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michael Ellerman <michaele@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1412143402-26061-4-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1e378ebd117d1828b9d5dbe0538887478fcb9d84 Author: Taeung Song <treeze.taeung@xxxxxxxxx> Date: Tue Oct 7 16:13:15 2014 +0900 perf top: Add a visual cue for toggle zeroing of samples When 'perf top' is run, one can't easily find a difference between -z option and normal output. So I added a visual cue to know whether it is the zeroing or not. Output is as below. Before: $ perf top Samples: 61K of event 'cycles', Event count (approx.): 3908136933 Overhead Shared Object Symbol 1.42% firefox [.] 0x0000000000011e76 1.32% libpthread-2.17.so [.] pthread_mutex_lock If you press key 'z' or run with zero option like '$ perf top --zero', it is as below. After: Samples: 61K of event 'cycles', Event count (approx.): 3908136933 [z] Overhead Shared Object Symbol 1.42% firefox [.] 0x0000000000011e76 1.32% libpthread-2.17.so [.] pthread_mutex_lock Signed-off-by: Taeung Song <treeze.taeung@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1412665995-26359-1-git-send-email-treeze.taeung@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7546e52b5e3d46d0deae4a336252b6dfd52c6571 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Thu Aug 14 22:14:30 2014 +0530 Drivers: ide: Remove typedef atiixp_ide_timing The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for atiixp_ide_timing. The following Coccinelle semantic patch detects the case: @tn1@ type td; @@ typedef struct { ... } td; @script:python tf@ td << tn1.td; tdres; @@ coccinelle.tdres = td; @@ type tn1.td; identifier tf.tdres; @@ -typedef struct + tdres { ... } -td ; @@ type tn1.td; identifier tf.tdres; @@ -td + struct tdres Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0cfb794a3dd1d699f3e453f9180bd06508fb8f0 Author: Andreas Bosch <linux@xxxxxxxxxxx> Date: Wed Oct 15 10:44:50 2014 -0700 Input: alps - fix v4 button press recognition Since the change to struct input_mt_pos some variables are now bitfields instead of integers. Automatic conversion from integer to bitfield entry destroys information, therefore enforce boolean interpretation instead. Link: https://bugzilla.redhat.com/show_bug.cgi?id=1114768 Fixes: 02d04254a5df ("Input: alps - use struct input_mt_pos to track coordinates") Signed-off-by: Andreas Bosch <linux@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 001586a737ee8c11a1198c352c5635f19fd090ed Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Wed Oct 15 00:26:47 2014 -0700 cxgb4i : Fix -Wmaybe-uninitialized warning. Identified by kbuild test robot. csk family is always set to be AF_INET or AF_INET6, so skb will always be initialized to some value but there is no harm in silencing the warning anyways. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Fixes : f42bb57c61fd ('cxgb4i : Fix -Wunused-function warning') Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04ffcb255f22a2a988ce7393e6e72f6eb3fcb7aa Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Tue Oct 14 15:19:06 2014 -0700 net: Add ndo_gso_check Add ndo_gso_check which a device can define to indicate whether is is capable of doing GSO on a packet. This funciton would be called from the stack to determine whether software GSO is needed to be done. A driver should populate this function if it advertises GSO types for which there are combinations that it wouldn't be able to handle. For instance a device that performs UDP tunneling might only implement support for transparent Ethernet bridging type of inner packets or might have limitations on lengths of inner headers. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf6c0ab54daeb614ae79bdd0168e8b7ec2650134 Merge: 2856fcd b80719b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 15 21:39:09 2014 +0530 Merge branch 'topic/dma_control_fsl_acks' into for-linus commit 2856fcdc1f7b6dc237afc2dbec6fbd21fe88dd4e Merge: 639559a a500789 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Wed Oct 15 21:38:49 2014 +0530 Merge branch 'topic/dma_control_cleanup_acks' into for-linus commit b80719b6bd083130c112cb4d3e5329a164eef4c3 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:48 2014 +0530 dmaengine: remove FSLDMA_EXTERNAL_START as users have been converted, so no need of this custom method Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 01c6ad660cb4a388d15d0e7ba9744c5ffc583a61 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:47 2014 +0530 dmaengine: freescale: remove FSLDMA_EXTERNAL_START control method since users have been move to fsl_dma_external_start() API, so remove this now Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7abfe6eca8f978f090b3c203cfb53d37a66ea9f2 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:46 2014 +0530 carma-fpga: move to fsl_dma_external_start() carma-fpga driver uses device control with custom FSLDMA_EXTERNAL_START command. Since we wnat to deprecate the device control, move this driver to use new fsl_dma_external_start() API Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4fdcf68487e520844e077f75943b1e04cc05943b Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:45 2014 +0530 carma-fpga: use dmaengine_xxx() API The drivers should use dmaengine_slave_config() and dmaengine_prep_dma_sg() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0a5642be03293f73706961a7649ac1d12bd0be59 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:44 2014 +0530 dmaengine: freescale: add and export fsl_dma_external_start() The freescale driver uses custom device control FSLDMA_EXTERNAL_START to put the controller in external start mode. Since we are planning to deprecate the device control, move this to exported API. Subsequent patches will remove the FSLDMA_EXTERNAL_START Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b65612a868768cd0431084ccf376d0946c12132d Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:16:43 2014 +0530 dmaengine: add dmaengine_prep_dma_sg() helper This was only prep API which didnt have an helper Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a500789d42f478bc5511e1ddafadc323a6036d11 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:40 2014 +0530 video: mx3fb: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2bcd90d56c6025189be98bed47c80c5261855a7e Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:37 2014 +0530 serial: sh-sci: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 843d349c20bc3562ae7b59de4067e304e89843c7 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:34 2014 +0530 net: ks8842: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0e497c36deef92ec7a54c6af6f4e87d5b4f39dda Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:33 2014 +0530 mtd: sh_flctl: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b177ea341a588ab270c31496f34c503c31589649 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:32 2014 +0530 mtd: fsmc_nand: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0aae803a08ae1c788b47f01eddd8787a8457a930 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:31 2014 +0530 V4L2: mx3_camer: use dmaengine_pause() API The drivers should use dmaengine_pause() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7e606d3bfe308115b7a0b516bcb8934d97b4275a Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:30 2014 +0530 dmaengine: coh901318: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 72b2caff4aac45157f79502aae5019e96059b301 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Sat Oct 11 21:10:29 2014 +0530 pata_arasan_cf: use dmaengine_terminate_all() API The drivers should use dmaengine_terminate_all() API instead of accessing the device_control which will be deprecated soon Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 71ae8f5271b31da1172751059deb8bfc32b2b759 Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx> Date: Wed Oct 15 07:30:41 2014 +0200 stmmac: fix sti compatibililies this patch is to fix the stmmac data compatibilities for all the SoCs inside the platform file. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 639559ada6194b722304fe267455b5bdf75c2f90 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Mon Sep 29 20:06:45 2014 +0200 dmaengine: edma: check for echan->edesc => NULL in edma_dma_pause() I added book keeping of whether or not the 8250-dma driver has an RX transfer pending or not so we don't BUG here if it calls dmaengine_pause() on a channel which has not a pending transfer. Guess what, this is not enough. The following can be triggered with a busy RX channel and hackbench in background: - DMA transfer completes. The callback is delayed via vchan_cookie_complete() into a tasklet so it das not happen asap. - hackbench keeps the system busy so the tasklet does not run "soon". - the UART collected enough data and generates an "timeout"-interrupt. Since 8250-dma *thinks* the DMA-transfer is still pending it tries to cancel it via invoking dmaengine_pause() first. This causes the segfault because echan->edesc is NULL now that the transfer completed (however the callback did not run yet). With this patch we don't BUG in the scenario described. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2a52f6e49e5e400ed98a79503193d81207009647 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:15 2014 +0300 dmaengine: dw: export probe()/remove() and Co to users The driver library functions can be used directly by the compound devices such as ADSP or serial driver where DesignWare DMA IP is privately attached to the main hardware. Instead of creating a new platform device leaf they may call dw_dma_probe() with given struct dw_dma_chip directly and make sure that the main device is DMA capable. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 99d9bf4ed27c63d5559e31d112f71af655c7182b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:14 2014 +0300 dmaengine: dw: enable and disable controller when needed Enable controller automatically whenever first user requires for a channel and disable it when the last user gone. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2540f74b187e3ec0fe106b7427c4a84c955dc140 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:13 2014 +0300 dmaengine: dw: always export dw_dma_{en,dis}able Instead of conditional exporing of dw_dma_suspend() / dw_dma_resume() let's export dw_dma_disable() / dw_dma_enable(). Since dw_dma_shutdown() repeats dw_dma_disable() we may safely remove it at all. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7a83c045435e896db6c689145d752d28b8b99b7b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:12 2014 +0300 dmaengine: dw: introduce dw_dma_on() helper As an opposite to dw_dma_off() let's introduce dw_dma_on() helper. It will be useful later as well. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3d588f83e4d6a5230d9094b97d38621cbaa9a972 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:11 2014 +0300 dmaengine: dw: split dma-dw.h to platform and private parts The introduced include/linux/dma/dw.h is going to contain the private extensions and structures which are shared for dw_dmac users in the kernel. Meanwhile include/linux/platform_data/dma-dw.h keeps only platform related data types and definitions. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 46e8c83c83c06b90ebc000df481c2fdcee79a141 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:18:10 2014 +0300 dmaengine: dw: move private definitions to regs.h Since we don't allow user to set registers directly through private slave configuration we may move definitions to the regs.h because they are not used anywhere except core.c part. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit f0f3b5fa7537e13dfd20b4cd399f00545f9fc0e7 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:53:46 2014 +0530 dma: cppi41: Switch to using managed resource in probe This change uses managed resource APIs to allocate resources such as, mem, irq in order to simplify the driver unload or failure cases Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 66e9bbdb3dbb335b158bb88de2642966af816ffe Author: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 16:34:44 2014 +0200 s390/mm: fixing calls of pte_unmap_unlock pte_unmap works on page table entry pointers, derefencing should be avoided. As on s390 pte_unmap is a NOP, this is more a cleanup if we want to supply later such function. Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit c9eeb7b813c9525cda34b61dcf4455c52fc58890 Author: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Date: Tue Oct 14 17:04:48 2014 +0200 s390/hmcdrv: Restrict s390 HMC driver to S390 arch This driver is only usable on 64-bit s390 machines. Mark the Kconfig dependencies to that users on other architectures are not prompted for it. Fixes: 8f933b1043e1e5 ("s390/hmcdrv: HMC drive CD/DVD access") Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 923190d32de4428afbea5e5773be86bea60a9925 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Mon Oct 6 16:32:52 2014 -0400 selinux: fix inode security list corruption sb_finish_set_opts() can race with inode_free_security() when initializing inode security structures for inodes created prior to initial policy load or by the filesystem during ->mount(). This appears to have always been a possible race, but commit 3dc91d4 ("SELinux: Fix possible NULL pointer dereference in selinux_inode_permission()") made it more evident by immediately reusing the unioned list/rcu element of the inode security structure for call_rcu() upon an inode_free_security(). But the underlying issue was already present before that commit as a possible use-after-free of isec. Shivnandan Kumar reported the list corruption and proposed a patch to split the list and rcu elements out of the union as separate fields of the inode_security_struct so that setting the rcu element would not affect the list element. However, this would merely hide the issue and not truly fix the code. This patch instead moves up the deletion of the list entry prior to dropping the sbsec->isec_lock initially. Then, if the inode is dropped subsequently, there will be no further references to the isec. Reported-by: Shivnandan Kumar <shivnandan.k@xxxxxxxxxxx> Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit ec4212d88a77eb6caec10777ddd629b702a5ebbd Merge: 7765490 2c241bd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Oct 15 11:54:14 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: Infrastructure fixes and changes: * Fix off-by-one bugs in map->end handling (Stephane Eranian) * Fix off-by-one bug in maps__find(), also related to map->end handling (Namhyung Kim) * Make struct symbol->end be the first addr after the symbol range, to make it match the convention used for struct map->end. (Arnaldo Carvalho de Melo) * Fix perf_evlist__add_pollfd() error handling in 'perf kvm stat live' (Jiri Olsa) * Fix python test build by moving callchain_param to an object linked into the python binding (Jiri Olsa) * Do not include a struct hists per perf_evsel, untangling the histogram code from perf_evsel, to pave the way for exporting a minimalistic tools/lib/api/perf/ library usable by tools/perf and initially by the rasd daemon being developed by Borislav Petkov, Robert Richter and Jean Pihet. (Arnaldo Carvalho de Melo) * Make perf_evlist__open(evlist, NULL, NULL), i.e. without cpu and thread maps mean syswide monitoring, reducing the boilerplate for tools that only want system wide mode. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c8b00fd2f4c504a564adcad5b8bd6952ab850b02 Author: James Ralston <james.d.ralston@xxxxxxxxx> Date: Mon Oct 13 15:22:03 2014 -0700 ALSA: hda_intel: Add Device IDs for Intel Sunrise Point PCH This patch adds the HD Audio Device IDs for the Intel Sunrise Point PCH. [the item position rearranged by tiwai] Signed-off-by: James Ralston <james.d.ralston@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3d08c629244257473450a8ba17cb8184b91e68f8 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Tue Oct 14 15:02:15 2014 +0100 arm: kvm: STRICT_MM_TYPECHECKS fix for user_mem_abort Commit: b886576 ARM: KVM: user_mem_abort: support stage 2 MMIO page mapping introduced some code in user_mem_abort that failed to compile if STRICT_MM_TYPECHECKS was enabled. This patch fixes up the failing comparison. Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Reviewed-by: Kim Phillips <kim.phillips@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 6e4a2a83f95826201bbd89f55522537ea52d1d67 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Sep 29 14:42:21 2014 +0200 dmaengine: pl330: Fix NULL pointer dereference on driver unbind Fix a NULL pointer dereference after unbinding the driver, if channel resources were not yet allocated (no call to pl330_alloc_chan_resources()): $ echo 12850000.mdma > /sys/bus/amba/drivers/dma-pl330/unbind [ 13.606533] DMA pl330_control: removing pch: eeab6800, chan: eeab6814, thread: (null) [ 13.614472] Unable to handle kernel NULL pointer dereference at virtual address 0000000c [ 13.622537] pgd = ee284000 [ 13.625228] [0000000c] *pgd=6e1e4831, *pte=00000000, *ppte=00000000 [ 13.631482] Internal error: Oops: 17 [#1] PREEMPT SMP ARM [ 13.636859] Modules linked in: [ 13.639903] CPU: 0 PID: 1 Comm: sh Not tainted 3.17.0-rc3-next-20140904-00004-g7020ffc33ca3-dirty #420 [ 13.649187] task: ee80a800 ti: ee888000 task.ti: ee888000 [ 13.654589] PC is at _stop+0x8/0x2c8 [ 13.658131] LR is at pl330_control+0x70/0x2e8 [ 13.662468] pc : [<c0206028>] lr : [<c020649c>] psr: 60000093 [ 13.662468] sp : ee889e58 ip : 00000001 fp : 000bab70 [ 13.673922] r10: eeab6814 r9 : ee16debc r8 : 00000000 [ 13.679131] r7 : eeab685c r6 : 60000013 r5 : ee16de10 r4 : eeab6800 [ 13.685641] r3 : 00000002 r2 : 00000000 r1 : 00010000 r0 : 00000000 [ 13.692153] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user [ 13.699357] Control: 10c5387d Table: 6e28404a DAC: 00000015 [ 13.705085] Process sh (pid: 1, stack limit = 0xee888240) [ 13.710466] Stack: (0xee889e58 to 0xee88a000) [ 13.714808] 9e40: 00000002 eeab6800 [ 13.722969] 9e60: ee16de10 eeab6800 ee16de10 60000013 eeab685c c020649c 00000000 c040280c [ 13.731128] 9e80: ee889e80 ee889e80 ee16de18 ee16de10 eeab6880 eeab6814 00200200 eeab68a8 [ 13.739287] 9ea0: 00100100 c0208048 00000000 c0409fc4 eea80800 eea808f8 c0605c44 0000000e [ 13.747446] 9ec0: 0000000e eeb3960c eeb39600 c0203c48 eea80800 c0605c44 c0605a8c c023f694 [ 13.755605] 9ee0: ee80a800 eea80834 eea80800 c023f704 ee80a800 eea80800 c0605c44 c023e8ec [ 13.763764] 9f00: 0000000e ee149780 ee29e580 ee889f80 ee29e580 c023e19c 0000000e c01167e4 [ 13.771923] 9f20: c01167a0 00000000 00000000 c0115e88 00000000 00000000 ee0b1a00 0000000e [ 13.780082] 9f40: b6f48000 ee889f80 0000000e ee888000 b6f48000 c00bfadc 00000000 00000003 [ 13.788241] 9f60: 00000000 00000000 00000000 ee0b1a00 ee0b1a00 0000000e b6f48000 c00bfdf4 [ 13.796401] 9f80: 00000000 00000000 ffffffff 0000000e b6f48000 b6edc5d0 00000004 c000e7a4 [ 13.804560] 9fa0: 00000000 c000e620 0000000e b6f48000 00000001 b6f48000 0000000e 00000000 [ 13.812719] 9fc0: 0000000e b6f48000 b6edc5d0 00000004 0000000e b6f4c8c0 000c3470 000bab70 [ 13.820879] 9fe0: 00000000 bed2aa50 b6e18bdc b6e6b52c 60000010 00000001 c0c0c0c0 c0c0c0c0 [ 13.829058] [<c0206028>] (_stop) from [<c020649c>] (pl330_control+0x70/0x2e8) [ 13.836165] [<c020649c>] (pl330_control) from [<c0208048>] (pl330_remove+0xb0/0xdc) [ 13.843800] [<c0208048>] (pl330_remove) from [<c0203c48>] (amba_remove+0x24/0xc0) [ 13.851272] [<c0203c48>] (amba_remove) from [<c023f694>] (__device_release_driver+0x70/0xc4) [ 13.859685] [<c023f694>] (__device_release_driver) from [<c023f704>] (device_release_driver+0x1c/0x28) [ 13.868971] [<c023f704>] (device_release_driver) from [<c023e8ec>] (unbind_store+0x58/0x90) [ 13.877303] [<c023e8ec>] (unbind_store) from [<c023e19c>] (drv_attr_store+0x20/0x2c) [ 13.885036] [<c023e19c>] (drv_attr_store) from [<c01167e4>] (sysfs_kf_write+0x44/0x48) [ 13.892928] [<c01167e4>] (sysfs_kf_write) from [<c0115e88>] (kernfs_fop_write+0xc0/0x17c) [ 13.901090] [<c0115e88>] (kernfs_fop_write) from [<c00bfadc>] (vfs_write+0xa0/0x1a8) [ 13.908812] [<c00bfadc>] (vfs_write) from [<c00bfdf4>] (SyS_write+0x40/0x8c) [ 13.915850] [<c00bfdf4>] (SyS_write) from [<c000e620>] (ret_fast_syscall+0x0/0x30) [ 13.923392] Code: e5813010 e12fff1e e92d40f0 e24dd00c (e590200c) [ 13.929467] ---[ end trace 10064e15a5929cf8 ]--- Terminate the thread and free channel resource only if channel resources were allocated (thread is not NULL). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: b3040e40675e ("DMA: PL330: Add dma api driver") Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0f5ebabdd03b471da1906f7edddc61ceb35cee02 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Sep 29 14:42:20 2014 +0200 dmaengine: pl330: Fix NULL pointer dereference on probe failure If dma_async_device_register() returns error and probe should clean up and return error, a NULL pointer exception happens because of dereference of not allocated channel thread: Dmesg log (from early printk): dma-pl330 12680000.pdma: unable to register DMAC DMA pl330_control: removing pch: eeac4000, chan: eeac4014, thread: (null) Unable to handle kernel NULL pointer dereference at virtual address 0000000c pgd = c0004000 [0000000c] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 2 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc3-next-20140904-00005-g6cc4c1937d90-dirty #427 task: ee80a800 ti: ee888000 task.ti: ee888000 PC is at _stop+0x8/0x2c8 LR is at pl330_control+0x70/0x2e8 pc : [<c0205dc8>] lr : [<c020623c>] psr: 60000193 sp : ee889df8 ip : 00000002 fp : 00000000 r10: eeac4014 r9 : ee0e62bc r8 : 00000000 r7 : eeac405c r6 : 60000113 r5 : ee0e6210 r4 : eeac4000 r3 : 00000002 r2 : 00000002 r1 : 00010000 r0 : 00000000 Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel Control: 10c5387d Table: 4000404a DAC: 00000015 Process swapper/0 (pid: 1, stack limit = 0xee888240) Stack: (0xee889df8 to 0xee88a000) 9de0: 00000002 eeac4000 9e00: ee0e6210 eeac4000 ee0e6210 60000113 eeac405c c020623c 00000000 c020725c 9e20: ee889e20 ee889e20 ee0e6210 eeac4080 00200200 00100100 eeac4014 00000020 9e40: ee0e6218 c0208374 00000000 ee9bb340 ee0e6210 00000000 00000000 c0605cd8 9e60: ee970000 c0605c84 ee9700f8 00000000 c05c4270 00000000 00000000 c0203b3c 9e80: ee970000 c06624a8 00000000 c0605c84 00000000 c023f890 ee970000 c0605c84 9ea0: ee970034 00000000 c05b23d0 c023fa3c 00000000 c0605c84 c023f9b0 c023e0d4 9ec0: ee947e78 ee9b9440 c0605c84 eea1e780 c0605acc c023f094 c0513b50 c0605c84 9ee0: c05ecbd8 c0605c84 c05ecbd8 ee11ba40 c0626500 c0240064 00000000 c05ecbd8 9f00: c05ecbd8 c0008964 c040f13c 0000009f c0626500 c057465c ee80a800 60000113 9f20: 00000000 c05efdb0 60000113 00000000 ef7fc89d c0421168 0000008f c003787c 9f40: c0573d6c 00000006 ef7fc8bb 00000006 c05efd50 ef7fc800 c05dfbc4 00000006 9f60: c05c4264 c0626500 0000008f c05c4270 c059b518 c059bcb4 00000006 00000006 9f80: c059b518 c003c08c 00000000 c040091c 00000000 00000000 00000000 00000000 9fa0: 00000000 c0400924 00000000 c000e7b8 00000000 00000000 00000000 00000000 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 c0c0c0c0 c0c0c0c0 [<c0205dc8>] (_stop) from [<c020623c>] (pl330_control+0x70/0x2e8) [<c020623c>] (pl330_control) from [<c0208374>] (pl330_probe+0x594/0x75c) [<c0208374>] (pl330_probe) from [<c0203b3c>] (amba_probe+0xb8/0x120) [<c0203b3c>] (amba_probe) from [<c023f890>] (driver_probe_device+0x10c/0x22c) [<c023f890>] (driver_probe_device) from [<c023fa3c>] (__driver_attach+0x8c/0x90) [<c023fa3c>] (__driver_attach) from [<c023e0d4>] (bus_for_each_dev+0x54/0x88) [<c023e0d4>] (bus_for_each_dev) from [<c023f094>] (bus_add_driver+0xd4/0x1d0) [<c023f094>] (bus_add_driver) from [<c0240064>] (driver_register+0x78/0xf4) [<c0240064>] (driver_register) from [<c0008964>] (do_one_initcall+0x80/0x1d0) [<c0008964>] (do_one_initcall) from [<c059bcb4>] (kernel_init_freeable+0x108/0x1d4) [<c059bcb4>] (kernel_init_freeable) from [<c0400924>] (kernel_init+0x8/0xec) [<c0400924>] (kernel_init) from [<c000e7b8>] (ret_from_fork+0x14/0x3c) Code: e5813010 e12fff1e e92d40f0 e24dd00c (e590200c) ---[ end trace c94b2f4f38dff3bf ]--- This happens because the necessary resources were not yet allocated - no call to pl330_alloc_chan_resources(). Terminate the thread and free channel resource only if channel thread is not NULL. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 0b94c5771705 ("DMA: PL330: Add check if device tree compatible") Reviewed-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c3cb38f43cb9130a3727a24a6a6e74742bd3e910 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Sep 29 14:42:19 2014 +0200 dmaengine: pl330: Remove unused 'regs' variable in pl330_submit_req() The 'void __iomem *regs' is not used in pl330_submit_req() function. Remove it. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 937cb2f2498dcbd8bcf6d79dcc24e5c8a3627067 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Mon Sep 29 14:42:18 2014 +0200 dmaengine: pl330: Remove non-NULL check for pl330_submit_req parameters The pl330_submit_req() checked supplied 'struct pl330_thread thrd' and 'struct dma_pl330_desc desc' parameters for non-NULL. However these checks are useless because supplied arguments won't be NULL. The pl330_submit_req() is called in only one place and: 1. 'desc' is already dereferenced in fill_queue() before calling pl330_submit_req(). 2. 'thrd' is always dereferenced after calling fill_queue()->pl330_submit_req(). Removing the checks for non-NULL values fixes following warning: drivers/dma/pl330.c:1376 pl330_submit_req() warn: variable dereferenced before check 'thrd' (see line 1367) Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 97215800e4b74212e51b1f373877f91f97579411 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxxxxx> Date: Mon Oct 13 14:16:28 2014 -0400 MAINTAINERS: Update Santosh Shilimkar's email id Signed-off-by: Santosh Shilimkar <ssantosh@xxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 22414f776d0b137a4156b84db3ec07dfec56784c Merge: e17fd8e 508423b Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Oct 14 23:32:18 2014 -0700 Merge tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Merge "Samsung defconfig, actually exynos_defconig updates for v3.18" from Kukjin Kim: - enable USB gadget support - enable Maxim77802 support - enable Maxim77693 and I2C GPIO drivers - enable Atmel maXTouch support - enable SBS battery support - enable Control Groups support * tag 'samsung-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: exynos_defconfig: enable USB gadget support ARM: exynos_defconfig: Enable Maxim 77693 and I2C GPIO drivers ARM: exynos_defconfig: Enable SBS battery support ARM: exynos_defconfig: Enable Control Groups support ARM: exynos_defconfig: Enable Atmel maXTouch support ARM: exynos_defconfig: Enable MAX77802 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit e17fd8e58a1eb39e23f29da065ccc1498f022ed7 Merge: 6d81dc8 f6f1ae8 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Oct 14 23:31:13 2014 -0700 Merge tag 'samsung-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into fixes Merge "Samsung fixes for v3.18" from Kukjin Kim: - fix ifdef around cpu_*_do_[suspend, resume] ops to check CONFIG_ARM_CPU_SUSPEND and not CONFIG_PM_SLEEP - fix exynos_defconfig build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n - fix enabling Samsung PM debug functionality due to recently merged patches and previous merge conflicts - fix pull-up setting in sd4_width8 pin group for exynos4x12 * tag 'samsung-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: mm: Fix ifdef around cpu_*_do_[suspend, resume] ops ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n ARM: SAMSUNG: Restore Samsung PM Debug functionality ARM: dts: Fix pull setting in sd4_width8 pin group for exynos4x12 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6d81dc87c0fac76efabcde6884fcbe4cec874a83 Merge: 9a2ad52 b16ccfe Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Oct 14 23:30:18 2014 -0700 Merge tag 'fixes-for-v3.18-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into fixes Merge "Two omap fixes for v3.18 merge window" from Tony Lindgren: Two omap fixes for issues noticed during the merge window: - We need to enable ARM errata 430973 for omap3 - The smc91x on some early n900 boards need to be disabled for now until the dependencies to specific a bootloader version are fixed * tag 'fixes-for-v3.18-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: Disable smc91x on n900 until bootloader dependency is removed ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9a2ad529ed26c4dd81368d0bc87fc77db1febb35 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Oct 14 23:26:56 2014 -0700 ARM: sunxi_defconfig: enable CONFIG_REGULATOR Commit 97a13e5289ba ('net: phy: mdio-sun4i: don't select REGULATOR') removed the select of REGULATOR, which means that it now has to be explicitly enabled in the defconfig or things won't work very well. In particular, this fixes a problem with SD/MMC not probing on my A31-based board. Cc: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0429fbc0bdc297d64188483ba029a23773ae07b0 Merge: 6929c35 513d1a2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 07:48:18 2014 +0200 Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu Pull percpu consistent-ops changes from Tejun Heo: "Way back, before the current percpu allocator was implemented, static and dynamic percpu memory areas were allocated and handled separately and had their own accessors. The distinction has been gone for many years now; however, the now duplicate two sets of accessors remained with the pointer based ones - this_cpu_*() - evolving various other operations over time. During the process, we also accumulated other inconsistent operations. This pull request contains Christoph's patches to clean up the duplicate accessor situation. __get_cpu_var() uses are replaced with with this_cpu_ptr() and __this_cpu_ptr() with raw_cpu_ptr(). Unfortunately, the former sometimes is tricky thanks to C being a bit messy with the distinction between lvalues and pointers, which led to a rather ugly solution for cpumask_var_t involving the introduction of this_cpu_cpumask_var_ptr(). This converts most of the uses but not all. Christoph will follow up with the remaining conversions in this merge window and hopefully remove the obsolete accessors" * 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (38 commits) irqchip: Properly fetch the per cpu offset percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t -fix ia64: sn_nodepda cannot be assigned to after this_cpu conversion. Use __this_cpu_write. percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t Revert "powerpc: Replace __get_cpu_var uses" percpu: Remove __this_cpu_ptr clocksource: Replace __this_cpu_ptr with raw_cpu_ptr sparc: Replace __get_cpu_var uses avr32: Replace __get_cpu_var with __this_cpu_write blackfin: Replace __get_cpu_var uses tile: Use this_cpu_ptr() for hardware counters tile: Replace __get_cpu_var uses powerpc: Replace __get_cpu_var uses alpha: Replace __get_cpu_var ia64: Replace __get_cpu_var uses s390: cio driver &__get_cpu_var replacements s390: Replace __get_cpu_var uses mips: Replace __get_cpu_var uses MIPS: Replace __get_cpu_var uses in FPU emulator. arm: Replace __this_cpu_ptr with raw_cpu_ptr ... commit 6929c358972facf2999f8768815c40dd88514fc2 Merge: 23971bd 4c5c302 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 07:30:52 2014 +0200 Merge tag 'llvmlinux-for-v3.18' of git://git.linuxfoundation.org/llvmlinux/kernel Pull LLVM updates from Behan Webster: "These patches remove the use of VLAIS using a new SHASH_DESC_ON_STACK macro. Some of the previously accepted VLAIS removal patches haven't used this macro. I will push new patches to consistently use this macro in all those older cases for 3.19" [ More LLVM patches coming in through subsystem trees, and LLVM itself needs some fixes that are already in many distributions but not in released versions of LLVM. Some day this will all "just work" - Linus ] * tag 'llvmlinux-for-v3.18' of git://git.linuxfoundation.org/llvmlinux/kernel: crypto: LLVMLinux: Remove VLAIS usage from crypto/testmgr.c security, crypto: LLVMLinux: Remove VLAIS from ima_crypto.c crypto: LLVMLinux: Remove VLAIS usage from libcrc32c.c crypto: LLVMLinux: Remove VLAIS usage from crypto/hmac.c crypto, dm: LLVMLinux: Remove VLAIS usage from dm-crypt crypto: LLVMLinux: Remove VLAIS from crypto/.../qat_algs.c crypto: LLVMLinux: Remove VLAIS from crypto/omap_sham.c crypto: LLVMLinux: Remove VLAIS from crypto/n2_core.c crypto: LLVMLinux: Remove VLAIS from crypto/mv_cesa.c crypto: LLVMLinux: Remove VLAIS from crypto/ccp/ccp-crypto-sha.c btrfs: LLVMLinux: Remove VLAIS crypto: LLVMLinux: Add macro to remove use of VLAIS in crypto code commit 23971bdffff5f7c904131dfb41c186711dc2c418 Merge: c0fa237 09b5269 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 07:23:49 2014 +0200 Merge tag 'iommu-updates-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu Pull IOMMU updates from Joerg Roedel: "This pull-request includes: - change in the IOMMU-API to convert the former iommu_domain_capable function to just iommu_capable - various fixes in handling RMRR ranges for the VT-d driver (one fix requires a device driver core change which was acked by Greg KH) - the AMD IOMMU driver now assigns and deassigns complete alias groups to fix issues with devices using the wrong PCI request-id - MMU-401 support for the ARM SMMU driver - multi-master IOMMU group support for the ARM SMMU driver - various other small fixes all over the place" * tag 'iommu-updates-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (41 commits) iommu/vt-d: Work around broken RMRR firmware entries iommu/vt-d: Store bus information in RMRR PCI device path iommu/vt-d: Only remove domain when device is removed driver core: Add BUS_NOTIFY_REMOVED_DEVICE event iommu/amd: Fix devid mapping for ivrs_ioapic override iommu/irq_remapping: Fix the regression of hpet irq remapping iommu: Fix bus notifier breakage iommu/amd: Split init_iommu_group() from iommu_init_device() iommu: Rework iommu_group_get_for_pci_dev() iommu: Make of_device_id array const amd_iommu: do not dereference a NULL pointer address. iommu/omap: Remove omap_iommu unused owner field iommu: Remove iommu_domain_has_cap() API function IB/usnic: Convert to use new iommu_capable() API function vfio: Convert to use new iommu_capable() API function kvm: iommu: Convert to use new iommu_capable() API function iommu/tegra: Convert to iommu_capable() API function iommu/msm: Convert to iommu_capable() API function iommu/vt-d: Convert to iommu_capable() API function iommu/fsl: Convert to iommu_capable() API function ... commit c0fa2373f8cfed90437d8d7b17e0b1a84009a10a Merge: fcc3a5d 98d147f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 07:05:03 2014 +0200 Merge tag 'clk-for-linus-3.18' of git://git.linaro.org/people/mike.turquette/linux Pull clock tree updates from Mike Turquette: "The clk tree changes for 3.18 are dominated by clock drivers. Mostly fixes and enhancements to existing drivers as well as new drivers. This tag contains a bit more arch code than I usually take due to some OMAP2+ changes. Additionally it contains the restart notifier handlers which are merged as a dependency into several trees. The PXA changes are the only messy part. Due to having a stable tree I had to revert one patch and follow up with one more fix near the tip of this tag. Some dead code is introduced but it will soon become live code after 3.18-rc1 is released as the rest of the PXA family is converted over to the common clock framework. Another trend in this tag is that multiple vendors have started to push the complexity of changing their CPU frequency into the clock driver, whereas this used to be done in CPUfreq drivers. Changes to the clk core include a generic gpio-clock type and a clk_set_phase() function added to the top-level clk.h api. Due to some confusion on the fbdev mailing list the kernel boot parameters documentation was updated to further explain the clk_ignore_unused parameter, which is often required by users of the simplefb driver. Finally some fixes to the locking around the clock debugfs stuff was done to prevent deadlocks when interacting with other subsystems." * tag 'clk-for-linus-3.18' of git://git.linaro.org/people/mike.turquette/linux: (99 commits) clk: pxa clocks build system fix Revert "arm: pxa: Transition pxa27x to clk framework" clk: samsung: register restart handlers for s3c2412 and s3c2443 clk: rockchip: add restart handler clk: rockchip: rk3288: i2s_frac adds flag to set parent's rate doc/kernel-parameters.txt: clarify clk_ignore_unused arm: pxa: Transition pxa27x to clk framework dts: add devicetree bindings for pxa27x clocks clk: add pxa27x clock drivers arm: pxa: add clock pll selection bits clk: dts: document pxa clock binding clk: add pxa clocks infrastructure clk: gpio-gate: Ensure gpiod_ APIs are prototyped clk: ti: dra7-atl-clock: Mark the device as pm_runtime_irq_safe clk: ti: LLVMLinux: Move __init outside of type definition clk: ti: consider the fact that of_clk_get() might return an error clk: ti: dra7-atl-clock: fix a memory leak clk: ti: change clock init to use generic of_clk_init clk: hix5hd2: add I2C clocks clk: hix5hd2: add watchdog0 clocks ... commit fcc3a5d277571bc6048e7b4ef8cd391b935de629 Merge: 50fa861 d86c21f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 06:58:16 2014 +0200 Merge tag 'mfd-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd Pull MFD updates from Lee Jones: "Changes to existing drivers: - DT clean-ups in da9055-core, max14577, rn5t618, arizona, hi6421, stmpe, twl4030 - Export symbols for use in modules in max14577 - Plenty of static code analysis/Coccinelle fixes throughout the SS - Regmap clean-ups in arizona, wm5102, wm5110, da9052, tps65217, rk808 - Remove unused/duplicate code in da9052, 88pm860x, ti_ssp, lpc_sch, arizona - Bug fixes in ti_am335x_tscadc, da9052, ti_am335x_tscadc, rtsx_pcr - IRQ fixups in arizona, stmpe, max14577 - Regulator related changes in axp20x - Pass DMA coherency information from parent => child in MFD core - Rename DT document files for consistency - Add ACPI support to the MFD core - Add Andreas Werner to MAINTAINERS for MEN F21BMC New drivers/supported devices: - New driver for MEN 14F021P00 Board Management Controller - New driver for Ricoh RN5T618 PMIC - New driver for Rockchip RK808 - New driver for HiSilicon Hi6421 PMIC - New driver for Qualcomm SPMI PMICs - Add support for Intel Braswell in lpc_ich - Add support for Intel 9 Series PCH in lpc_ich - Add support for Intel Quark ILB in lpc_sch" [ Delayed to after the poweer/reset pull due to Kconfig problems with recursive Kconfig select/depends-on chains. - Linus ] * tag 'mfd-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (79 commits) mfd: cros_ec: wait for completion of commands that return IN_PROGRESS i2c: i2c-cros-ec-tunnel: Set retries to 3 mfd: cros_ec: move locking into cros_ec_cmd_xfer mfd: cros_ec: stop calling ->cmd_xfer() directly mfd: cros_ec: Delay for 50ms when we see EC_CMD_REBOOT_EC MAINTAINERS: Adds Andreas Werner to maintainers list for MEN F21BMC mfd: arizona: Correct mask to allow setting micbias external cap mfd: Add ACPI support Revert "mfd: wm5102: Manually apply register patch" mfd: ti_am335x_tscadc: Update logic in CTRL register for 5-wire TS mfd: dt-bindings: atmel-gpbr: Rename doc file to conform to naming convention mfd: dt-bindings: qcom-pm8xxx: Rename doc file to conform to naming convention mfd: Inherit coherent_dma_mask from parent device mfd: Document DT bindings for Qualcomm SPMI PMICs mfd: Add support for Qualcomm SPMI PMICs mfd: dt-bindings: pm8xxx: Add new compatible string mfd: axp209x: Drop the parent supplies field mfd: twl4030-power: Use 'ti,system-power-controller' as alternative way to support system power off mfd: dt-bindings: twl4030-power: Use the standard property to mark power control mfd: syscon: Add Atmel GPBR DT bindings documention ... commit 50fa86172bec2769979b5eb0cd1a244391ae4bb0 Merge: 6b04908 7881c64 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 06:56:23 2014 +0200 Merge tag 'for-v3.18' of git://git.infradead.org/battery-2.6 Pull power supply and reset updates from Sebastian Reichel: - Initial support for the following chips * max77836 (charger) * max14577 (charger) * bq27742 (battery gauge) * ltc2952 (poweroff) * stih416 (restart) * syscon-reboot (restart) * gpio-restart (restart) - cleanup of power supply core - misc fixes in power supply and reset drivers * tag 'for-v3.18' of git://git.infradead.org/battery-2.6: (48 commits) power: ab8500_fg: Fix build warning Documentation: charger: max14577: Update the date of introducing ABI power: reset: corrections for simple syscon reboot driver Documentation: power: reset: Add documentation for generic SYSCON reboot driver power: reset: Add generic SYSCON register mapped reset bq27x00_battery: Fix flag reading for bq27742 power: reset: use restart_notifier mechanism for msm-poweroff power: Add simple gpio-restart driver power: reset: st: Provide DT bindings for ST's Power Reset driver power: reset: Add restart functionality for STiH41x platforms power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge power: max14577: Fix circular config SYSFS dependency power: gpio-charger: do not use gpio value directly power: max8925: Use of_get_child_by_name power: max8925: Fix NULL ptr dereference on memory allocation failure bq27x00_battery: Add support to bq27742 Documentation: charger: max14577: Document exported sysfs entry devicetree: mfd: max14577: Add device tree bindings document power: max17040: Add ID for MAX77836 Fuel Gauge block charger: max14577: Configure battery-dependent settings from DTS and sysfs ... Conflicts: drivers/power/reset/Kconfig drivers/power/reset/Makefile commit 6b0490816671b2f4126a99998c9bf3c8c0472de2 Merge: ce9d7f7 0bc6228 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 06:46:01 2014 +0200 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client Pull Ceph updates from Sage Weil: "There is the long-awaited discard support for RBD (Guangliang Zhao, Josh Durgin), a pile of RBD bug fixes that didn't belong in late -rc's (Ilya Dryomov, Li RongQing), a pile of fs/ceph bug fixes and performance and debugging improvements (Yan, Zheng, John Spray), and a smattering of cleanups (Chao Yu, Fabian Frederick, Joe Perches)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: (40 commits) ceph: fix divide-by-zero in __validate_layout() rbd: rbd workqueues need a resque worker libceph: ceph-msgr workqueue needs a resque worker ceph: fix bool assignments libceph: separate multiple ops with commas in debugfs output libceph: sync osd op definitions in rados.h libceph: remove redundant declaration ceph: additional debugfs output ceph: export ceph_session_state_name function ceph: include the initial ACL in create/mkdir/mknod MDS requests ceph: use pagelist to present MDS request data libceph: reference counting pagelist ceph: fix llistxattr on symlink ceph: send client metadata to MDS ceph: remove redundant code for max file size verification ceph: remove redundant io_iter_advance() ceph: move ceph_find_inode() outside the s_mutex ceph: request xattrs if xattr_version is zero rbd: set the remaining discard properties to enable support rbd: use helpers to handle discard for layered images correctly ... commit ce9d7f7b45930ed16c512aabcfe651d44f1c8619 Merge: 2d65a9f 0d08260 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 15 06:43:27 2014 +0200 Merge branch 'CVE-2014-7970' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux Pull pivot_root() fix from Andy Lutomirski. Prevent a leak of unreachable mounts. * 'CVE-2014-7970' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux: mnt: Prevent pivot_root from creating a loop in the mount tree commit 2ef1e9efebce49ffc9ae13a6e9d93da83734494e Merge: 9b462d0 c5bbcb5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 15 00:29:08 2014 -0400 Merge branch 'cxgb4' Anish Bhatt says: ==================== ipv6 and related cleanup for cxgb4/cxgb4i This patch set removes some duplicated/extraneous code from cxgb4i, guards cxgb4 against compilation failure based on ipv6 tristate, make ipv6 related code no longer be enabled by default irrespective of ipv6 tristate and fixes a refcnt issue. -Anish v2 : Provide more detailed commit messages, make subject more concise as recommended by Dave Miller. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5bbcb5822b25c9f738db98e6d6ad2506cab8136 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Tue Oct 14 20:07:24 2014 -0700 cxgb4i: Remove duplicate call to dst_neigh_lookup() There is an extra call to dst_neigh_lookup() leftover in cxgb4i that can cause an unreleased refcnt issue. Remove extraneous call. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Fixes : 759a0cc5a3e1b ('cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api') Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f42bb57c61fd21fb7e30a2b99dbeb1671666bc47 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Tue Oct 14 20:07:23 2014 -0700 cxgb4i : Fix -Wunused-function warning A bunch of ipv6 related code is left on by default. While this causes no compilation issues, there is no need to have this enabled by default. Guard with an ipv6 check, which also takes care of a -Wunused-function warning. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bb60376cda108306818365b186450f154ede5f2 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Tue Oct 14 20:07:22 2014 -0700 cxgb4 : Fix build failure in cxgb4 when ipv6 is disabled/not in-built cxgb4 ipv6 does not guard against ipv6 being disabled, or the standard ipv6 module vs inbuilt tri-state issue. This was fixed for cxgb4i & iw_cxgb4 but missed for cxgb4. Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 587ddfe2d212019de7c921d9c010789828893f86 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Tue Oct 14 20:07:21 2014 -0700 cxgb4i : Remove duplicated CLIP handling code cxgb4 already handles CLIP updates from a previous changeset for iw_cxgb4, there is no need to have this functionality in cxgb4i. Remove duplicated code Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4da3628dc7c32a59d1fb7116bb042e6f436d611 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 19:37:58 2014 -0700 sparc64: Fix FPU register corruption with AES crypto offload. The AES loops in arch/sparc/crypto/aes_glue.c use a scheme where the key material is preloaded into the FPU registers, and then we loop over and over doing the crypt operation, reusing those pre-cooked key registers. There are intervening blkcipher*() calls between the crypt operation calls. And those might perform memcpy() and thus also try to use the FPU. The sparc64 kernel FPU usage mechanism is designed to allow such recursive uses, but with a catch. There has to be a trap between the two FPU using threads of control. The mechanism works by, when the FPU is already in use by the kernel, allocating a slot for FPU saving at trap time. Then if, within the trap handler, we try to use the FPU registers, the pre-trap FPU register state is saved into the slot. Then at trap return time we notice this and restore the pre-trap FPU state. Over the long term there are various more involved ways we can make this work, but for a quick fix let's take advantage of the fact that the situation where this happens is very limited. All sparc64 chips that support the crypto instructiosn also are using the Niagara4 memcpy routine, and that routine only uses the FPU for large copies where we can't get the source aligned properly to a multiple of 8 bytes. We look to see if the FPU is already in use in this context, and if so we use the non-large copy path which only uses integer registers. Furthermore, we also limit this special logic to when we are doing kernel copy, rather than a user copy. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4a77f2bdbdef289a02bd02fac483a9350e039705 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Oct 10 19:04:25 2014 +1100 powerpc/msi: Use WARN_ON() in msi bitmap selftests As demonstrated in the previous commit, the failure message from the msi bitmap selftests is a bit subtle, it's easy to miss a failure in a busy boot log. So drop our check() macro and use WARN_ON() instead. This necessitates inverting all the conditions as well. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 695911fb1f0e00aebe6c5636b9c08bf0fd51a2fd Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Fri Oct 10 19:04:24 2014 +1100 powerpc/msi: Fix the msi bitmap alignment tests When we added the alignment tests recently we failed to check they were actually passing - oops. They weren't passing, because the bitmap was full. We should also be a bit more careful when checking the return code, a negative error return could by divisible by our alignment value. Fixes: b0345bbc6d09 ("powerpc/msi: Improve IRQ bitmap allocator") Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 179ea48bc7c04dba3526d66d9f358c2f4f3b3776 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 14:58:32 2014 +1000 powerpc/eeh: Block CFG upon frozen Shiner adapter The Broadcom Shiner 2-ports 10G ethernet adapter has same problem commit 6f20bda0 ("powerpc/eeh: Block PCI config access upon frozen PE") fixes. Put it to the black list as well. # lspci -s 0004:01:00.0 0004:01:00.0 Ethernet controller: Broadcom Corporation \ NetXtreme II BCM57810 10 Gigabit Ethernet (rev 10) # lspci -n -s 0004:01:00.0 0004:01:00.0 0200: 14e4:168e (rev 10) Reported-by: John Walthour <jwalthour@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c59004cc83c3f8b182c32ca9d366d222a59ab63f Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:54 2014 +1000 powerpc/eeh: Don't collect logs on PE with blocked config space When the PE's config space is marked as blocked, PCI config read requests always return 0xFF's. It's pointless to collect logs in this case. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b6541db1395298b326ae1bf59fae6fbb2c6e8f77 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:53 2014 +1000 powerpc/eeh: Block PCI config access upon frozen PE The problem was found when I tried to inject PCI config error by PHB3 PAPR error injection registers into Broadcom Austin 4-ports NIC adapter. The frozen PE was reported successfully and EEH core started to recover it. However, I run into fenced PHB when dumping PCI config space as EEH logs. I was told that PCI config requests should not be progagated to the adapter until PE reset is done successfully. Otherise, we would run out of PHB internal credits and trigger PCT (PCIE Completion Timeout), which leads to the fenced PHB. The patch introduces another PE flag EEH_PE_CFG_RESTRICTED, which is set during PE initialization time if the PE includes the specific PCI devices that need block PCI config access until PE reset is done. When the PE becomes frozen for the first time, EEH_PE_CFG_BLOCKED is set if the PE has flag EEH_PE_CFG_RESTRICTED. Then the PCI config access to the PE will be dropped by platform PCI accessors until PE reset is done successfully. The mechanism is shared by PowerNV platform owned PE or userland owned ones. It's not used on pSeries platform yet. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3409eb4e69e1150202bc4ec61801115da32aa380 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:52 2014 +1000 powerpc/pseries: Drop config requests in EEH accessors The pSeires EEH config accessors rely on rtas_{read, write}_config() and the condition to check if the PE's config space is blocked should be moved to those 2 functions so that config requests from kernel, userland, EEH core can be dropped to avoid recursive EEH error if necessary. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d2cfbcd7c8136bc4d944eb64f7f0479dd2b129b8 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:51 2014 +1000 powerpc/powernv: Drop config requests in EEH accessors It's bad idea to access the PCI config registers of the adapters, which is experiencing reset. It leads to recursive EEH error without exception. The patch drops PCI config requests in EEH accessors if the PE has been marked to accept PCI config requests, for example during PE reseet time. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8a6b3710ccc33da1fd5c85144ad3db01c4457552 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:50 2014 +1000 powerpc/eeh: Rename flag EEH_PE_RESET to EEH_PE_CFG_BLOCKED The flag EEH_PE_RESET indicates blocking config space of the PE during reset time. We potentially need block PE's config space other than reset time. So it's reasonable to replace it with EEH_PE_CFG_BLOCKED to indicate its usage. There are no substantial code or logic changes in this patch. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8315070c07e7ef5f58ce9e317dc91fd727ecd419 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:07:49 2014 +1000 powerpc/eeh: Fix condition for isolated state Function eeh_pe_state_mark() could possibly have combination of multiple EEH PE state as its argument. The patch fixes the condition used to check if EEH_PE_ISOLATED is included. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d6f1e7abdb95a7ea031e7604829e4b5514d7e2c1 Author: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 15:15:45 2014 -0500 powerpc/pseries: Make CPU hotplug path endian safe - ibm,rtas-configure-connector should treat the RTAS data as big endian. - Treat ibm,ppc-interrupt-server#s as big-endian when setting smp_processor_id during hotplug. Signed-off-by: Bharata B Rao <bharata@xxxxxxxxxxxxxxxxxx> Signed-off-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Acked-by: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4ff52b4dedcd4226cf1f2817eb14e8d733790eae Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 19:41:40 2014 +1100 powerpc/pseries: Use dump_stack instead of show_stack We can use the simpler dump_stack() instead of show_stack(current, __get_SP()) Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit acf620ecf56cfc4edaffaf158250e128539cdd26 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 19:41:39 2014 +1100 powerpc: Rename __get_SP() to current_stack_pointer() Michael points out that __get_SP() is a pretty horrible function name. Let's give it a better name. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bfe9a2cfe91a1c920f152ce5fd0a9ad74b3daf12 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 19:41:38 2014 +1100 powerpc: Reimplement __get_SP() as a function not a define Li Zhong points out an issue with our current __get_SP() implementation. If ftrace function tracing is enabled (ie -pg profiling using _mcount) we spill a stack frame on 64bit all the time. If a function calls __get_SP() and later calls a function that is tail call optimised, we will pop the stack frame and the value returned by __get_SP() is no longer valid. An example from Li can be found in save_stack_trace -> save_context_stack: c0000000000432c0 <.save_stack_trace>: c0000000000432c0: mflr r0 c0000000000432c4: std r0,16(r1) c0000000000432c8: stdu r1,-128(r1) <-- stack frame for _mcount c0000000000432cc: std r3,112(r1) c0000000000432d0: bl <._mcount> c0000000000432d4: nop c0000000000432d8: mr r4,r1 <-- __get_SP() c0000000000432dc: ld r5,632(r13) c0000000000432e0: ld r3,112(r1) c0000000000432e4: li r6,1 c0000000000432e8: addi r1,r1,128 <-- pop stack frame c0000000000432ec: ld r0,16(r1) c0000000000432f0: mtlr r0 c0000000000432f4: b <.save_context_stack> <-- tail call optimized save_context_stack ends up with a stack pointer below the current one, and it is likely to be scribbled over. Fix this by making __get_SP() a function which returns the callers stack frame. Also replace inline assembly which grabs the stack pointer in save_stack_trace and show_stack with __get_SP(). This also fixes an issue with perf_arch_fetch_caller_regs(). It currently unwinds the stack once, which will skip a valid stack frame on a leaf function. With the __get_SP() fixes in this patch, we never need to unwind the stack frame to get to the first interesting frame. We have to export __get_SP() because perf_arch_fetch_caller_regs() (which is used in modules) calls it from a header file. Reported-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1bbc26062754b012656d34103215f7552e02b999 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:33 2014 +1030 virtio-rng: refactor probe error handling Code like vi->vq = NULL; kfree(vi) does not make sense. Clean it up, use goto error labels for cleanup. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 5d8f16d08ba42937ae8c4152d218a77671be4b8f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:33 2014 +1030 virtio_scsi: drop scan callback Enable VQs early like we do for restore. This makes it possible to drop the scan callback, moving scanning into the probe function, and making code simpler. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 486d2e632ca157558a738626c092973f309f3b45 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:33 2014 +1030 virtio_balloon: enable VQs early on restore virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after resume returns, virtio balloon violated this rule by adding bufs, which causes the VQ to be used directly within restore. To fix, call virtio_device_ready before using VQ. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit e67423c7b4f20c327de533b068907aab33720482 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:33 2014 +1030 virtio_scsi: fix race on device removal We cancel event work on device removal, but an interrupt could trigger immediately after this, and queue it again. To fix, set a flag. Loosely based on patch by Paolo Bonzini Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 1fa5b2a784dc52d929432bcc963a0bfb3a74608f Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Oct 15 10:22:33 2014 +1030 virito_scsi: use freezable WQ for events Michael S. Tsirkin noticed a race condition: we reset device on freeze, but system WQ is still running so it might try adding bufs to a VQ meanwhile. To fix, switch to handling events from the freezable WQ. Reported-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit e53fbd11e983e896adaabef2d2f1695d6e0af829 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:32 2014 +1030 virtio_net: enable VQs early on restore virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after restore returns, virtio net violated this rule by using receive VQs within restore. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 401bbdc901b268113d7c562616feb7fc37492aca Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:32 2014 +1030 virtio_console: enable VQs early on restore virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after resume returns, virtio console violated this rule by adding inbufs, which causes the VQ to be used directly within restore. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 52c9cf1ac3d315995e9a65b900bc25e1d8a538b3 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:32 2014 +1030 virtio_scsi: enable VQs early on restore virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after restore returns, virtio scsi violated this rule on restore by kicking event vq within restore. To fix, call virtio_device_ready before using event queue. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6d62c37f1991aafc872f8d8be8ac60e57ede8605 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:32 2014 +1030 virtio_blk: enable VQs early on restore virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after restore returns, virtio block violated this rule on restore by restarting queues, which might in theory cause the VQ to be used directly within restore. To fix, call virtio_device_ready before using starting queues. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit cd679048958011418f14a8fc7dfdb64ab72ca315 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:31 2014 +1030 virtio_scsi: move kick event out from virtscsi_init We currently kick event within virtscsi_init, before host is fully initialized. This can in theory confuse guest if device consumes the buffers immediately. To fix, move virtscsi_kick_event_all out to scan/restore. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 024655555021e971203c519770609509e0af4468 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:31 2014 +1030 virtio_net: fix use after free on allocation failure In the extremely unlikely event that driver initialization fails after RX buffers are added, virtio net frees RX buffers while VQs are still active, potentially causing device to use a freed buffer. To fix, reset device first - same as we do on device removal. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 64b4cc3911fe8284dfb3cfdb8065c100b818bab8 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:31 2014 +1030 9p/trans_virtio: enable VQs early virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after probe returns, but virtio 9p device adds self to channel list within probe, at which point VQ can be used in violation of the spec. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit f5866db64f341776c2d9ed48080f82459fea6a55 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:31 2014 +1030 virtio_console: enable VQs early virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after probe returns, virtio console violated this rule by adding inbufs, which causes the VQ to be used directly within probe. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7a11370e5e6c26566904bb7f08281093a3002ff2 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:30 2014 +1030 virtio_blk: enable VQs early virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after probe returns, virtio block violated this rule by calling add_disk, which causes the VQ to be used directly within probe. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 4baf1e33d0842c9673fef4af207d4b74da8d0126 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:30 2014 +1030 virtio_net: enable VQs early virtio spec requires drivers to set DRIVER_OK before using VQs. This is set automatically after probe returns, virtio net violated this rule by using receive VQs within probe. To fix, call virtio_device_ready before using VQs. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 3569db593081fd88bbd6df21b9b0531873f2042c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:30 2014 +1030 virtio: add API to enable VQs early virtio spec 0.9.X requires DRIVER_OK to be set before VQs are used, but some drivers use VQs before probe function returns. Since DRIVER_OK is set after probe, this violates the spec. Even though under virtio 1.0 transitional devices support this behaviour, we want to make it possible for those early callers to become spec compliant and eventually support non-transitional devices. Add API for drivers to call before using VQs. Sets DRIVER_OK internally. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 507613bf31f4bc0a344a1dfc1bc9074fed6eab8f Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:30 2014 +1030 virtio_net: minor cleanup goto done; done: return; is ugly, it was put there to make diff review easier. replace by open-coded return. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 080c637373904258ecc20cedc552b2472ab03d10 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:29 2014 +1030 virtio-net: drop config_mutex config_mutex served two purposes: prevent multiple concurrent config change handlers, and synchronize access to config_enable flag. Since commit dbf2576e37da0fcc7aacbfbb9fd5d3de7888a3c1 workqueue: make all workqueues non-reentrant all workqueues are non-reentrant, and config_enable is now gone. Get rid of the unnecessary lock. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 102a2786c9df756cffdbcfd11096124e4dc6c311 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:29 2014 +1030 virtio_net: drop config_enable Now that virtio core ensures config changes don't arrive during probing, drop config_enable flag in virtio net. On removal, flush is now sufficient to guarantee that no change work is queued. This help simplify the driver, and will allow setting DRIVER_OK earlier without losing config change notifications. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 1f54b0c055b9322f4e7acb49c492edc5accd15ae Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:29 2014 +1030 virtio-blk: drop config_mutex config_mutex served two purposes: prevent multiple concurrent config change handlers, and synchronize access to config_enable flag. Since commit dbf2576e37da0fcc7aacbfbb9fd5d3de7888a3c1 workqueue: make all workqueues non-reentrant all workqueues are non-reentrant, and config_enable is now gone. Get rid of the unnecessary lock. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit cc74f71934da13fa979669467c04f0d2e5563112 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:22:26 2014 +1030 virtio_blk: drop config_enable Now that virtio core ensures config changes don't arrive during probing, drop config_enable flag in virtio blk. On removal, flush is now sufficient to guarantee that no change work is queued. This help simplify the driver, and will allow setting DRIVER_OK earlier without losing config change notifications. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 22b7050a024d7deb0c9ef1e14ed73e3b1e369f24 Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Wed Oct 15 10:21:55 2014 +1030 virtio: defer config changed notifications Defer config changed notifications that arrive during probe/scan/freeze/restore. This will allow drivers to set DRIVER_OK earlier, without worrying about racing with config change interrupts. This change will also benefit old hypervisors (before 2009) that send interrupts without checking DRIVER_OK: previously, the callback could race with driver-specific initialization. This will also help simplify drivers. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (cosmetic changes) commit c6716bae52f97347e25166c6270aa98693d9212c Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Oct 14 10:40:35 2014 +1030 virtio-pci: move freeze/restore to virtio core This is in preparation to extending config changed event handling in core. Wrapping these in an API also seems to make for a cleaner code. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 016c98c6fe0c914d12e2e242b2bccde6d6dea54b Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Oct 14 10:40:34 2014 +1030 virtio: unify config_changed handling Replace duplicated code in all transports with a single wrapper in virtio.c. The only functional change is in virtio_mmio.c: if a buggy device sends us an interrupt before driver is set, we previously returned IRQ_NONE, now we return IRQ_HANDLED. As this must not happen in practice, this does not look like a big deal. See also commit 3fff0179e33cd7d0a688dab65700c46ad089e934 virtio-pci: do not oops on config change if driver not loaded. for the original motivation behind the driver check. Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6fbc198cf623944ab60a1db6d306a4d55cdd820d Author: Michael S. Tsirkin <mst@xxxxxxxxxx> Date: Tue Oct 14 10:40:29 2014 +1030 virtio_pci: fix virtio spec compliance on restore On restore, virtio pci does the following: + set features + init vqs etc - device can be used at this point! + set ACKNOWLEDGE,DRIVER and DRIVER_OK status bits This is in violation of the virtio spec, which requires the following order: - ACKNOWLEDGE - DRIVER - init vqs - DRIVER_OK This behaviour will break with hypervisors that assume spec compliant behaviour. It seems like a good idea to have this patch applied to stable branches to reduce the support butden for the hypervisors. Cc: stable@xxxxxxxxxxxxxxx Cc: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d3051b489aa81ca9ba62af366149ef42b8dae97c Author: Prarit Bhargava <prarit@xxxxxxxxxx> Date: Tue Oct 14 02:51:39 2014 +1030 modules, lock around setting of MODULE_STATE_UNFORMED A panic was seen in the following sitation. There are two threads running on the system. The first thread is a system monitoring thread that is reading /proc/modules. The second thread is loading and unloading a module (in this example I'm using my simple dummy-module.ko). Note, in the "real world" this occurred with the qlogic driver module. When doing this, the following panic occurred: ------------[ cut here ]------------ kernel BUG at kernel/module.c:3739! invalid opcode: 0000 [#1] SMP Modules linked in: binfmt_misc sg nfsv3 rpcsec_gss_krb5 nfsv4 dns_resolver nfs fscache intel_powerclamp coretemp kvm_intel kvm crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel lrw igb gf128mul glue_helper iTCO_wdt iTCO_vendor_support ablk_helper ptp sb_edac cryptd pps_core edac_core shpchp i2c_i801 pcspkr wmi lpc_ich ioatdma mfd_core dca ipmi_si nfsd ipmi_msghandler auth_rpcgss nfs_acl lockd sunrpc xfs libcrc32c sr_mod cdrom sd_mod crc_t10dif crct10dif_common mgag200 syscopyarea sysfillrect sysimgblt i2c_algo_bit drm_kms_helper ttm isci drm libsas ahci libahci scsi_transport_sas libata i2c_core dm_mirror dm_region_hash dm_log dm_mod [last unloaded: dummy_module] CPU: 37 PID: 186343 Comm: cat Tainted: GF O-------------- 3.10.0+ #7 Hardware name: Intel Corporation S2600CP/S2600CP, BIOS RMLSDP.86I.00.29.D696.1311111329 11/11/2013 task: ffff8807fd2d8000 ti: ffff88080fa7c000 task.ti: ffff88080fa7c000 RIP: 0010:[<ffffffff810d64c5>] [<ffffffff810d64c5>] module_flags+0xb5/0xc0 RSP: 0018:ffff88080fa7fe18 EFLAGS: 00010246 RAX: 0000000000000003 RBX: ffffffffa03b5200 RCX: 0000000000000000 RDX: 0000000000001000 RSI: ffff88080fa7fe38 RDI: ffffffffa03b5000 RBP: ffff88080fa7fe28 R08: 0000000000000010 R09: 0000000000000000 R10: 0000000000000000 R11: 000000000000000f R12: ffffffffa03b5000 R13: ffffffffa03b5008 R14: ffffffffa03b5200 R15: ffffffffa03b5000 FS: 00007f6ae57ef740(0000) GS:ffff88101e7a0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000404f70 CR3: 0000000ffed48000 CR4: 00000000001407e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Stack: ffffffffa03b5200 ffff8810101e4800 ffff88080fa7fe70 ffffffff810d666c ffff88081e807300 000000002e0f2fbf 0000000000000000 ffff88100f257b00 ffffffffa03b5008 ffff88080fa7ff48 ffff8810101e4800 ffff88080fa7fee0 Call Trace: [<ffffffff810d666c>] m_show+0x19c/0x1e0 [<ffffffff811e4d7e>] seq_read+0x16e/0x3b0 [<ffffffff812281ed>] proc_reg_read+0x3d/0x80 [<ffffffff811c0f2c>] vfs_read+0x9c/0x170 [<ffffffff811c1a58>] SyS_read+0x58/0xb0 [<ffffffff81605829>] system_call_fastpath+0x16/0x1b Code: 48 63 c2 83 c2 01 c6 04 03 29 48 63 d2 eb d9 0f 1f 80 00 00 00 00 48 63 d2 c6 04 13 2d 41 8b 0c 24 8d 50 02 83 f9 01 75 b2 eb cb <0f> 0b 66 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48 89 e5 41 RIP [<ffffffff810d64c5>] module_flags+0xb5/0xc0 RSP <ffff88080fa7fe18> Consider the two processes running on the system. CPU 0 (/proc/modules reader) CPU 1 (loading/unloading module) CPU 0 opens /proc/modules, and starts displaying data for each module by traversing the modules list via fs/seq_file.c:seq_open() and fs/seq_file.c:seq_read(). For each module in the modules list, seq_read does op->start() <-- this is a pointer to m_start() op->show() <- this is a pointer to m_show() op->stop() <-- this is a pointer to m_stop() The m_start(), m_show(), and m_stop() module functions are defined in kernel/module.c. The m_start() and m_stop() functions acquire and release the module_mutex respectively. ie) When reading /proc/modules, the module_mutex is acquired and released for each module. m_show() is called with the module_mutex held. It accesses the module struct data and attempts to write out module data. It is in this code path that the above BUG_ON() warning is encountered, specifically m_show() calls static char *module_flags(struct module *mod, char *buf) { int bx = 0; BUG_ON(mod->state == MODULE_STATE_UNFORMED); ... The other thread, CPU 1, in unloading the module calls the syscall delete_module() defined in kernel/module.c. The module_mutex is acquired for a short time, and then released. free_module() is called without the module_mutex. free_module() then sets mod->state = MODULE_STATE_UNFORMED, also without the module_mutex. Some additional code is called and then the module_mutex is reacquired to remove the module from the modules list: /* Now we can delete it from the lists */ mutex_lock(&module_mutex); stop_machine(__unlink_module, mod, NULL); mutex_unlock(&module_mutex); This is the sequence of events that leads to the panic. CPU 1 is removing dummy_module via delete_module(). It acquires the module_mutex, and then releases it. CPU 1 has NOT set dummy_module->state to MODULE_STATE_UNFORMED yet. CPU 0, which is reading the /proc/modules, acquires the module_mutex and acquires a pointer to the dummy_module which is still in the modules list. CPU 0 calls m_show for dummy_module. The check in m_show() for MODULE_STATE_UNFORMED passed for dummy_module even though it is being torn down. Meanwhile CPU 1, which has been continuing to remove dummy_module without holding the module_mutex, now calls free_module() and sets dummy_module->state to MODULE_STATE_UNFORMED. CPU 0 now calls module_flags() with dummy_module and ... static char *module_flags(struct module *mod, char *buf) { int bx = 0; BUG_ON(mod->state == MODULE_STATE_UNFORMED); and BOOM. Acquire and release the module_mutex lock around the setting of MODULE_STATE_UNFORMED in the teardown path, which should resolve the problem. Testing: In the unpatched kernel I can panic the system within 1 minute by doing while (true) do insmod dummy_module.ko; rmmod dummy_module.ko; done and while (true) do cat /proc/modules; done in separate terminals. In the patched kernel I was able to run just over one hour without seeing any issues. I also verified the output of panic via sysrq-c and the output of /proc/modules looks correct for all three states for the dummy_module. dummy_module 12661 0 - Unloading 0xffffffffa03a5000 (OE-) dummy_module 12661 0 - Live 0xffffffffa03bb000 (OE) dummy_module 14015 1 - Loading 0xffffffffa03a5000 (OE+) Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> Reviewed-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit 0d0826019e529f21c84687521d03f60cd241ca7d Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Oct 8 10:42:27 2014 -0700 mnt: Prevent pivot_root from creating a loop in the mount tree Andy Lutomirski recently demonstrated that when chroot is used to set the root path below the path for the new ``root'' passed to pivot_root the pivot_root system call succeeds and leaks mounts. In examining the code I see that starting with a new root that is below the current root in the mount tree will result in a loop in the mount tree after the mounts are detached and then reattached to one another. Resulting in all kinds of ugliness including a leak of that mounts involved in the leak of the mount loop. Prevent this problem by ensuring that the new mount is reachable from the current root of the mount tree. [Added stable cc. Fixes CVE-2014-7970. --Andy] Cc: stable@xxxxxxxxxxxxxxx Reported-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/87bnpmihks.fsf@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> commit 9b462d02d6dd671a9ebdc45caed6fe98a53c0ebe Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 13 06:27:47 2014 -0700 tcp: TCP Small Queues and strange attractors TCP Small queues tries to keep number of packets in qdisc as small as possible, and depends on a tasklet to feed following packets at TX completion time. Choice of tasklet was driven by latencies requirements. Then, TCP stack tries to avoid reorders, by locking flows with outstanding packets in qdisc in a given TX queue. What can happen is that many flows get attracted by a low performing TX queue, and cpu servicing TX completion has to feed packets for all of them, making this cpu 100% busy in softirq mode. This became particularly visible with latest skb->xmit_more support Strategy adopted in this patch is to detect when tcp_wfree() is called from ksoftirqd and let the outstanding queue for this flow being drained before feeding additional packets, so that skb->ooo_okay can be set to allow select_queue() to select the optimal queue : Incoming ACKS are normally handled by different cpus, so this patch gives more chance for these cpus to take over the burden of feeding qdisc with future packets. Tested: lpaa23:~# ./super_netperf 1400 --google-pacing-rate 3028000 -H lpaa24 -l 3600 & lpaa23:~# sar -n DEV 1 10 | grep eth1 06:16:18 AM eth1 595448.00 1190564.00 38381.09 1760253.12 0.00 0.00 1.00 06:16:19 AM eth1 594858.00 1189686.00 38340.76 1758952.72 0.00 0.00 0.00 06:16:20 AM eth1 597017.00 1194019.00 38480.79 1765370.29 0.00 0.00 1.00 06:16:21 AM eth1 595450.00 1190936.00 38380.19 1760805.05 0.00 0.00 0.00 06:16:22 AM eth1 596385.00 1193096.00 38442.56 1763976.29 0.00 0.00 1.00 06:16:23 AM eth1 598155.00 1195978.00 38552.97 1768264.60 0.00 0.00 0.00 06:16:24 AM eth1 594405.00 1188643.00 38312.57 1757414.89 0.00 0.00 1.00 06:16:25 AM eth1 593366.00 1187154.00 38252.16 1755195.83 0.00 0.00 0.00 06:16:26 AM eth1 593188.00 1186118.00 38232.88 1753682.57 0.00 0.00 1.00 06:16:27 AM eth1 596301.00 1192241.00 38440.94 1762733.09 0.00 0.00 0.00 Average: eth1 595457.30 1190843.50 38381.69 1760664.84 0.00 0.00 0.50 lpaa23:~# ./tc -s -d qd sh dev eth1 | grep backlog backlog 7606336b 2513p requeues 167982 backlog 224072b 74p requeues 566 backlog 581376b 192p requeues 5598 backlog 181680b 60p requeues 1070 backlog 5305056b 1753p requeues 110166 // Here, this TX queue is attracting flows backlog 157456b 52p requeues 1758 backlog 672216b 222p requeues 3025 backlog 60560b 20p requeues 24541 backlog 448144b 148p requeues 21258 lpaa23:~# echo 1 >/proc/sys/net/ipv4/tcp_tsq_enable_tcp_wfree_ksoftirqd_detect Immediate jump to full bandwidth, and traffic is properly shard on all tx queues. lpaa23:~# sar -n DEV 1 10 | grep eth1 06:16:46 AM eth1 1397632.00 2795397.00 90081.87 4133031.26 0.00 0.00 1.00 06:16:47 AM eth1 1396874.00 2793614.00 90032.99 4130385.46 0.00 0.00 0.00 06:16:48 AM eth1 1395842.00 2791600.00 89966.46 4127409.67 0.00 0.00 1.00 06:16:49 AM eth1 1395528.00 2791017.00 89946.17 4126551.24 0.00 0.00 0.00 06:16:50 AM eth1 1397891.00 2795716.00 90098.74 4133497.39 0.00 0.00 1.00 06:16:51 AM eth1 1394951.00 2789984.00 89908.96 4125022.51 0.00 0.00 0.00 06:16:52 AM eth1 1394608.00 2789190.00 89886.90 4123851.36 0.00 0.00 1.00 06:16:53 AM eth1 1395314.00 2790653.00 89934.33 4125983.09 0.00 0.00 0.00 06:16:54 AM eth1 1396115.00 2792276.00 89984.25 4128411.21 0.00 0.00 1.00 06:16:55 AM eth1 1396829.00 2793523.00 90030.19 4130250.28 0.00 0.00 0.00 Average: eth1 1396158.40 2792297.00 89987.09 4128439.35 0.00 0.00 0.50 lpaa23:~# tc -s -d qd sh dev eth1 | grep backlog backlog 7900052b 2609p requeues 173287 backlog 878120b 290p requeues 589 backlog 1068884b 354p requeues 5621 backlog 996212b 329p requeues 1088 backlog 984100b 325p requeues 115316 backlog 956848b 316p requeues 1781 backlog 1080996b 357p requeues 3047 backlog 975016b 322p requeues 24571 backlog 990156b 327p requeues 21274 (All 8 TX queues get a fair share of the traffic) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b909bb49ac204bfd2e628707db37beb490dbc5c Merge: a040f95 da22b896 78eda2b f39f869 05df780 Author: Roland Dreier <roland@xxxxxxxxxxxxxxx> Date: Tue Oct 14 14:09:12 2014 -0700 Merge branches 'core', 'cxgb4', 'iser', 'mlx5' and 'ocrdma' into for-next commit 82b009f9b38e8285987b842f1f13015acf4439db Merge: db404b1 d47d2fd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 17:05:23 2014 -0400 Merge branch 'qlcnic' Rajesh Borundia says: ==================== qlcnic: Bug fixes This series fixes following issues. * We were programming maximum number of arguments supported by adapter instead of required in a command. * Destroy tx command requires three arguments instead of two. Please apply these patches to net. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d47d2fdd29cf41543a0c5a522c4cc9463f9627b2 Author: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx> Date: Tue Oct 14 07:41:46 2014 -0400 qlcnic: Fix number of arguments in destroy tx context command o Number of arguments taken by destroy tx command is three instead of two. Signed-off-by: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a1ef4b5a72614c72fce0e21f44e996ee8f0ef23 Author: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx> Date: Tue Oct 14 07:41:45 2014 -0400 qlcnic: Fix programming number of arguments in a command. o Initially we were programming maximum number of arguments. Instead we should program number of arguments required in a command. o Maximum number of arguments for 82xx adapter is four. Fix it for GET_ESWITCH_STATS command. Signed-off-by: Rajesh Borundia <rajesh.borundia@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db404b13617fe0cdb415da55762203d456837912 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Tue Oct 14 06:28:38 2014 -0700 genl_magic: Resolve logical-op warnings Resolve "logical 'and' applied to non-boolean constant" warnings" that appear in W=2 builds by adding !! to a bit test. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e53da5fbfc02586fe4506ed583069b8205f3e38d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 17:02:37 2014 -0400 net: Trap attempts to call sock_kfree_s() with a NULL pointer. Unlike normal kfree() it is never right to call sock_kfree_s() with a NULL pointer, because sock_kfree_s() also has the side effect of discharging the memory from the sockets quota. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dee49f203a7feef5d00c416b7dc7e34a7caba8e1 Author: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Date: Tue Oct 14 12:35:08 2014 -0700 rds: avoid calling sock_kfree_s() on allocation failure It is okay to free a NULL pointer but not okay to mischarge the socket optmem accounting. Compile test only. Reported-by: rucsoftsec@xxxxxxxxx Cc: Chien Yen <chien.yen@xxxxxxxxxx> Cc: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22c0b963d7400971f4c5a1a67b083e3742996640 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Oct 15 01:54:14 2014 +0530 cxgb4: Fix FW flash logic using ethtool Use t4_fw_upgrade instead of t4_load_fw to write firmware into FLASH, since t4_load_fw doesn't co-ordinate with the firmware and the adapter can get hosed enough to require a power cycle of the system. Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c241bd35e6f626ad6f867dcf9fefdc2315f125f Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Oct 14 17:19:44 2014 -0300 perf symbols: Make sym->end be the first address after the symbol range To follow vm_area_struct->vm_end convention. By adhering to the convention that ->end is the first address outside the symbol's range we can do things like: sym->end = start + len; len = sym->end - sym->start; This is also now the convention used for struct map->end, fixing some off-by-one bugs. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Chuck Ebbert <cebbert.lkml@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-agomujr7tuqaq6lu7kr6z7h6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit eba85230de892e2a925c85dca1fe177e8b3d84d8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Oct 14 16:39:27 2014 -0300 perf symbols: Fix map->end fixup When synthesizing maps from files that have incomplete symbol information, like kallsyms, we need to fixup the end of maps by seting its end from the ->start of the next map, fix it to set prev_map->end to curr_map->start, since ->end is the first byte outside prev_map address range. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ivbrj08sjakxdwkrcndbkoig@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4955ea225db42144d1667838f908315a16d51c5b Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Oct 14 16:05:38 2014 -0300 perf tools: Fixup off-by-one comparision in maps__find map->end is the first addr _outside_ the a map, following the convention of vm_area_struct->vm_end. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/8761fwh1nc.fsf@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 77faf4d060e3ee1fd2ff6cd39f2b2eb887100422 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Oct 6 10:35:32 2014 +0200 perf tools: fix off-by-one error in maps This patch fixes off-by-one errors in the management of maps. A map is defined by start address and length as implemented by map__new(): map__init(map, type, start, start + len, pgoff, dso); map->start = addr; map->end = end; Consequently, the actual address range is [start; end[ map->end is the first byte outside the range. This patch fixes two bugs where upper bound checking was off-by-one. In V2, we fix map_groups__fixup_overlappings() some more where map->start was off-by-one as reported by Jiri. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20141006083532.GA4850@quad Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e167f995e26249aa93708589c5eea539652351fa Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Oct 14 15:07:48 2014 -0300 perf machine: Add missing dsos->root rbtree root initialization A segfault happens on 'perf test hists_link' because we end up using a struct machines on the stack, and then machines__init() was not initializing the newly introduced rb_root, just the existing list_head. When we introduced struct dsos, to group the two ways to store dsos, i.e. the linked list and the rbtree, we didn't turned the initialization done in: machines__init(machines->host) -> machine__init() -> INIT_LIST_HEAD into a dsos__init() to keep on initializing the list_head but _as well_ initializing the rb_root, oops. All worked because outside perf-test we probably zalloc the whole thing which ends up initializing it in to NULL. So the problem looks contained to 'perf test' that uses it on stack, etc. Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Waiman Long <Waiman.Long@xxxxxx>, Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx>, Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx>, Link: http://lkml.kernel.org/r/20141014180353.GF3198@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6e36145d4ec754f4a8ce9d6912ca4d82ffb6ae3f Merge: 8c2a7a5 53b26b9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 16:40:49 2014 -0400 Merge branch 'stmmac' Giuseppe Cavallaro says: ==================== stmmac: review and fix the dwmac-sti glue-logic This patch is to review the whole glue logic adopted on STi SoCs that was bugged. In the old glue-logic there was a lot of confusion when setup the retiming especially for STiD127 where, for example, the bits 6 and 7 (in the GMAC control register) have a different meaning of what is used for STiH4xx SoCs. So we cannot adopt the same glue for all these SoCs. Moreover, GiGa on STiD127 didn't work and, for all the SoCs, the RGMII couldn't run when the speed was 10Mbps (because the clock was not properly managed). Note that the phy clock needs to be provided by the platform as well as documented in the related binding file (updated as consequence). The old code supported too many configurations never adopted and validated. This made the code very complex to maintain and debug in case of issues. The patch simplifies all the configurations as commented in the tables inside the file and obviously it has been tested on all the boards based on the SoCs mentioned. With this patch, the dwmac-sti is also ready to support new configurations that will be available on next SoC generations. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53b26b9bc9a547bf10135a8079e5ae88f354b9f6 Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx> Date: Tue Oct 14 08:12:56 2014 +0200 stmmac: dwmac-sti: review the glue-logic for STi4xx and STiD127 SoCs This patch is to review the whole glue logic adopted on STi SoCs that was bugged. In the old glue-logic there was a lot of confusion when setup the retiming especially for STiD127 where, for example, the bits 6 and 7 (in the GMAC control register) have a different meaning of what is used for STiH4xx SoCs. So we cannot adopt the same glue for all these SoCs. Moreover, GiGa on STiD127 didn't work and, for all the SoCs, the RGMII couldn't run when the speed was 10Mbps (because the clock was not properly managed). Note that the phy clock needs to be provided by the platform as well as documented in the related binding file (updated as consequence). The old code supported too many configurations never adopted and validated. This made the code very complex to maintain and debug in case of issues. The patch simplifies all the configurations as commented in the tables inside the file and obviously it has been tested on all the boards based on the SoCs mentioned. With this patch, the dwmac-sti is also ready to support new configurations that will be available on next SoC generations. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 160e1fd10a287bb805745ea4e5b8bb383b686b7f Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx> Date: Tue Oct 14 08:12:55 2014 +0200 stmmac: make the STi Layer compatible to STiH407 This adds the missing compatibility to the STiH407 SoC. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c2a7a5d2c6ec6c2a95fe22a6d3af1db07840da8 Author: Giuseppe CAVALLARO <peppe.cavallaro@xxxxxx> Date: Tue Oct 14 08:11:54 2014 +0200 stmmac: platform: fix FIXED_PHY support. On several STi platforms: e.g. stihxxx-b2120 an Ethernet switch is embedded and connected to the stmmac via RGMII mode. So this is managed by using the FIXED_PHY. In that case, the support in the platform needs to be fixed to allow the stmmac to dialog with the switch via fixed-link by using phy_bus_name property. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8885846fc4b708f543fe1dd3ef7402417d2d4151 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 13 13:30:27 2014 -0300 perf evsel: Make some exit routines static Since they are automatically called by other methods used by tools. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ne3g4any7q6ty5d6yv8t1wws@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 80b2210c623dc47e0847816989dd647738e4fb94 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Oct 13 10:29:50 2014 -0300 perf evsel: Add missing 'target' struct forward declaration We use it in evsel.h but were getting it indirectly, fix it. Noticed while working on having evsel.h usable by rasd.c. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-94t3jvw4tmzrq3dnovvpl65e@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4112eb1899c0e711b2ab1491f51215359cf94d74 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 15:55:15 2014 -0300 perf evlist: Default to syswide target when no thread/cpu maps set If all a tool wants is to do system wide event monitoring, there is no more the need to setup thread_map and cpu_map objects, just call perf_evlist__open() and it will do create one fd per CPU monitoring all threads. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-poovolkigu72brx4783uq4cf@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1aaf63b1ee912abd7675681f9d6ffaaf2ffc0451 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 14:29:49 2014 -0300 perf evlist: Check that there is a thread_map when preparing a workload The perf_evlist__prepare_workload expects a thread map to be in place so that it can store the pid of the workload being started, so check it and tell the developer about it instead of segfaulting. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jvlz2f264e7kpmhjmwltikqw@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 641556c98c821922a9a2121247b5fa25e4407d11 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 12:03:46 2014 -0300 perf thread_map: Create dummy constructor out of open coded equivalent Create a dummy thread_map, one that has just one entry and it is -1, meaning 'all threads', as this ends up going down to perf_event_open(). Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8av26cz8uxmbnihl5mmrygp9@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a635fc511e05774298153e3ddfef7c4cd51a1bb4 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 16:16:00 2014 -0300 perf tools: Remove hists from evsel Now tools that deals want to have an hists per evsel need to call hists__init() before creating any evsels, which can be as early as when parsing the command line, so do it before calling parse_options(). The current tools using hists/hist_entries are report, top and annotate, change them to request per evsel hists. This is in preparation for making evsels usable by 3rd party tools, that not necessarily live in perf's source code repository. Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-usjx2la743f10ippj7p1b20x@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8f651eae186f4dfb1740988623c83ba03dcf3a76 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 16:12:24 2014 -0300 perf callchain: Move the callchain_param extern to callchain.h It was lost in hist.h, move it to where it belongs, callchain.h, as there are places that gets hist.h by means of evsel.h, and since evsel.h is being untangled from hist.h... Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0rg7ji1jnbm6q6gj35j37jby@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ce8ccff5dd6b87dfe3495c7e9c5d56169bbacf58 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 15:29:51 2014 -0300 perf evsel: Subclassing Provide a method to be called at tool start to config the perf_evsel instance size, together with optional constructor and destructor. This will be used so that perf_evsel doesn't always include a struct hists, tools that works with hists/hist_entries, like report, top and annotate, will, at start, tell the evsel class the size they need per instance. v2: Don't use exit as a name of a member of function parameter, as this breaks the build on at least fedora14 and rhel6. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-7t8cay0ieryox4gqosie85ek@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 77b3a4dcde4f770a0f3edbe16dd423b3d0717318 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Oct 14 11:21:04 2014 -0700 dsa: mv88e6171: Fix tag_protocol check tag_protocol is now an enum, so drivers have to check against it. Cc: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c07127b48c6367255fb4506e6d6ba6e219205607 Author: Neale Ferguson <neale@xxxxxxxxxxxxxx> Date: Tue Oct 14 15:10:48 2014 -0500 dlm: fix missing endian conversion of rcom_status flags The flags are already converted to le when being sent, but are not being converted back to cpu when received. Signed-off-by: Neale Ferguson <neale@xxxxxxxxxxxxxx> Signed-off-by: David Teigland <teigland@xxxxxxxxxx> commit 4d1bafbe485240ee19dcedad864c7c5bae07a7e1 Merge: c15952d 5e6a024 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 16:09:38 2014 -0400 Merge branch 'xgene' Iyappan Subramanian says: ==================== Adding SGMII based 1GbE basic support to APM X-Gene SoC ethernet driver. v2: Address comments from v1 * Split the patchset into two, the first one being preparatory patch * Added link_state function pointer to the xgene_mac_ops structure * Added xgene_indirect_ctl structure for indirect read/write arguments v1: * Initial version ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5e6a024bebea5bad6b787cf2c0ee28116b4147f0 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 13 17:05:35 2014 -0700 drivers: net: xgene: Add SGMII based 1GbE ethtool support Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32f784b50e14c653ad0f010fbd5921a5f8caf846 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 13 17:05:34 2014 -0700 drivers: net: xgene: Add SGMII based 1GbE support Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc8385f0c0f46ca18c1c8ab59c9f565dc7cfa6bf Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 13 17:05:33 2014 -0700 drivers: net: xgene: Preparing for adding SGMII based 1GbE - Added link_state function pointer to the xgene__mac_ops structure - Moved ring manager (pdata->rm) assignment to xgene_enet_setup_ops - Removed unused variable (pdata->phy_addr) and macro (FULL_DUPLEX) Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c2e7f0954dcd9fbb47d065c654d44608dad38e0 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Mon Oct 13 17:05:32 2014 -0700 dtb: Add SGMII based 1GbE node to APM X-Gene SoC device tree Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c15952dc18d8a293d976ac6c06d44d9d98023b45 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Oct 14 02:08:54 2014 -0700 net: filter: move common defines into bpf_common.h userspace programs that use eBPF instruction macros need to include two files: uapi/linux/filter.h and uapi/linux/bpf.h Move common macro definitions that are shared between classic BPF and eBPF into uapi/linux/bpf_common.h, so that user app can include only one bpf.h file Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91c4467e3c76b6d40ecc29ed71d3aa1e0285ab80 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 14 19:01:14 2014 +0200 caif_usb: use target structure member in memset parent cfusbl was used instead of first structure member 'layer' Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7970f1918ff685e64063b54474a9c1ac087aee4d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 14 19:00:55 2014 +0200 caif_usb: remove redundant memory message Let MM subsystem display out of memory messages. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ff1e1e3c81426515e1782f2f13b7237211a43df Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 22:21:46 2014 +0200 caif: replace kmalloc/memset 0 by kzalloc Also add blank line after declaration Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 030b16a0e37ff2a870dd57c5da89c1741c683684 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 13 22:21:07 2014 +0530 drivers: net: cpsw: remove child devices while driver detach remove all the child devices from the system to make sure that re-insert of cpsw module doesn't fail on child device populated by of_platform_populate(). Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc7a99fb71b83f811e2c013ab55e507048153f23 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 13 22:21:06 2014 +0530 drivers: net: davinci_cpdma: remove spinlock as SOFTIRQ-unsafe lock order detected remove spinlock in cpdma_desc_pool_destroy() as there is no active cpdma channel and iounmap should be called without auquiring lock. root@dra7xx-evm:~# modprobe -r ti_cpsw [ 50.539743] [ 50.541312] ====================================================== [ 50.547796] [ INFO: SOFTIRQ-safe -> SOFTIRQ-unsafe lock order detected ] [ 50.554826] 3.14.19-02124-g95c5b7b #308 Not tainted [ 50.559939] ------------------------------------------------------ [ 50.566416] modprobe/1921 [HC0[0]:SC0[0]:HE0:SE1] is trying to acquire: [ 50.573347] (vmap_area_lock){+.+...}, at: [<c01127fc>] find_vmap_area+0x10/0x6c [ 50.581132] [ 50.581132] and this task is already holding: [ 50.587249] (&(&pool->lock)->rlock#2){..-...}, at: [<bf017c74>] cpdma_ctlr_destroy+0x5c/0x114 [davinci_cpdma] [ 50.597766] which would create a new lock dependency: [ 50.603048] (&(&pool->lock)->rlock#2){..-...} -> (vmap_area_lock){+.+...} [ 50.610296] [ 50.610296] but this new dependency connects a SOFTIRQ-irq-safe lock: [ 50.618601] (&(&pool->lock)->rlock#2){..-...} ... which became SOFTIRQ-irq-safe at: [ 50.626829] [<c06585a4>] _raw_spin_lock_irqsave+0x38/0x4c [ 50.632677] [<bf01773c>] cpdma_desc_free.constprop.7+0x28/0x58 [davinci_cpdma] [ 50.640437] [<bf0177e8>] __cpdma_chan_free+0x7c/0xa8 [davinci_cpdma] [ 50.647289] [<bf017908>] __cpdma_chan_process+0xf4/0x134 [davinci_cpdma] [ 50.654512] [<bf017984>] cpdma_chan_process+0x3c/0x54 [davinci_cpdma] [ 50.661455] [<bf0277e8>] cpsw_poll+0x14/0xa8 [ti_cpsw] [ 50.667038] [<c05844f4>] net_rx_action+0xc0/0x1e8 [ 50.672150] [<c0048234>] __do_softirq+0xcc/0x304 [ 50.677183] [<c004873c>] irq_exit+0xa8/0xfc [ 50.681751] [<c000eeac>] handle_IRQ+0x50/0xb0 [ 50.686513] [<c0008638>] gic_handle_irq+0x28/0x5c [ 50.691628] [<c06590a4>] __irq_svc+0x44/0x5c [ 50.696289] [<c0658ab4>] _raw_spin_unlock_irqrestore+0x34/0x44 [ 50.702591] [<c065a9c4>] do_page_fault.part.9+0x144/0x3c4 [ 50.708433] [<c065acb8>] do_page_fault+0x74/0x84 [ 50.713453] [<c00083dc>] do_DataAbort+0x34/0x98 [ 50.718391] [<c065923c>] __dabt_usr+0x3c/0x40 [ 50.723148] [ 50.723148] to a SOFTIRQ-irq-unsafe lock: [ 50.728893] (vmap_area_lock){+.+...} ... which became SOFTIRQ-irq-unsafe at: [ 50.736476] ... [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 50.741876] [<c011376c>] alloc_vmap_area.isra.28+0xb8/0x300 [ 50.747908] [<c0113a44>] __get_vm_area_node.isra.29+0x90/0x134 [ 50.754210] [<c011486c>] get_vm_area_caller+0x3c/0x48 [ 50.759692] [<c0114be0>] vmap+0x40/0x78 [ 50.763900] [<c09442f0>] check_writebuffer_bugs+0x54/0x1a0 [ 50.769835] [<c093eac0>] start_kernel+0x320/0x388 [ 50.774952] [<80008074>] 0x80008074 [ 50.778793] [ 50.778793] other info that might help us debug this: [ 50.778793] [ 50.787181] Possible interrupt unsafe locking scenario: [ 50.787181] [ 50.794295] CPU0 CPU1 [ 50.799042] ---- ---- [ 50.803785] lock(vmap_area_lock); [ 50.807446] local_irq_disable(); [ 50.813652] lock(&(&pool->lock)->rlock#2); [ 50.820782] lock(vmap_area_lock); [ 50.827086] <Interrupt> [ 50.829823] lock(&(&pool->lock)->rlock#2); [ 50.834490] [ 50.834490] *** DEADLOCK *** [ 50.834490] [ 50.840695] 4 locks held by modprobe/1921: [ 50.844981] #0: (&__lockdep_no_validate__){......}, at: [<c03e53e8>] driver_detach+0x44/0xb8 [ 50.854038] #1: (&__lockdep_no_validate__){......}, at: [<c03e53f4>] driver_detach+0x50/0xb8 [ 50.863102] #2: (&(&ctlr->lock)->rlock){......}, at: [<bf017c34>] cpdma_ctlr_destroy+0x1c/0x114 [davinci_cpdma] [ 50.873890] #3: (&(&pool->lock)->rlock#2){..-...}, at: [<bf017c74>] cpdma_ctlr_destroy+0x5c/0x114 [davinci_cpdma] [ 50.884871] the dependencies between SOFTIRQ-irq-safe lock and the holding lock: [ 50.892827] -> (&(&pool->lock)->rlock#2){..-...} ops: 167 { [ 50.898703] IN-SOFTIRQ-W at: [ 50.901995] [<c06585a4>] _raw_spin_lock_irqsave+0x38/0x4c [ 50.909476] [<bf01773c>] cpdma_desc_free.constprop.7+0x28/0x58 [davinci_cpdma] [ 50.918878] [<bf0177e8>] __cpdma_chan_free+0x7c/0xa8 [davinci_cpdma] [ 50.927366] [<bf017908>] __cpdma_chan_process+0xf4/0x134 [davinci_cpdma] [ 50.936218] [<bf017984>] cpdma_chan_process+0x3c/0x54 [davinci_cpdma] [ 50.944794] [<bf0277e8>] cpsw_poll+0x14/0xa8 [ti_cpsw] [ 50.952009] [<c05844f4>] net_rx_action+0xc0/0x1e8 [ 50.958765] [<c0048234>] __do_softirq+0xcc/0x304 [ 50.965432] [<c004873c>] irq_exit+0xa8/0xfc [ 50.971635] [<c000eeac>] handle_IRQ+0x50/0xb0 [ 50.978035] [<c0008638>] gic_handle_irq+0x28/0x5c [ 50.984788] [<c06590a4>] __irq_svc+0x44/0x5c [ 50.991085] [<c0658ab4>] _raw_spin_unlock_irqrestore+0x34/0x44 [ 50.999023] [<c065a9c4>] do_page_fault.part.9+0x144/0x3c4 [ 51.006510] [<c065acb8>] do_page_fault+0x74/0x84 [ 51.013171] [<c00083dc>] do_DataAbort+0x34/0x98 [ 51.019738] [<c065923c>] __dabt_usr+0x3c/0x40 [ 51.026129] INITIAL USE at: [ 51.029335] [<c06585a4>] _raw_spin_lock_irqsave+0x38/0x4c [ 51.036729] [<bf017d78>] cpdma_chan_submit+0x4c/0x2f0 [davinci_cpdma] [ 51.045225] [<bf02863c>] cpsw_ndo_open+0x378/0x6bc [ti_cpsw] [ 51.052897] [<c058747c>] __dev_open+0x9c/0x104 [ 51.059287] [<c05876ec>] __dev_change_flags+0x88/0x160 [ 51.066420] [<c05877e4>] dev_change_flags+0x18/0x48 [ 51.073270] [<c05ed51c>] devinet_ioctl+0x61c/0x6e0 [ 51.080029] [<c056ee54>] sock_ioctl+0x5c/0x298 [ 51.086418] [<c01350a4>] do_vfs_ioctl+0x78/0x61c [ 51.092993] [<c01356ac>] SyS_ioctl+0x64/0x74 [ 51.099200] [<c000e580>] ret_fast_syscall+0x0/0x48 [ 51.105956] } [ 51.107696] ... key at: [<bf019000>] __key.21312+0x0/0xfffff650 [davinci_cpdma] [ 51.115912] ... acquired at: [ 51.119019] [<c00899ac>] lock_acquire+0x9c/0x104 [ 51.124138] [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 51.129341] [<c01127fc>] find_vmap_area+0x10/0x6c [ 51.134547] [<c0114960>] remove_vm_area+0x8/0x6c [ 51.139659] [<c0114a7c>] __vunmap+0x20/0xf8 [ 51.144318] [<c001c350>] __arm_iounmap+0x10/0x18 [ 51.149440] [<bf017d08>] cpdma_ctlr_destroy+0xf0/0x114 [davinci_cpdma] [ 51.156560] [<bf026294>] cpsw_remove+0x48/0x8c [ti_cpsw] [ 51.162407] [<c03e62c8>] platform_drv_remove+0x18/0x1c [ 51.168063] [<c03e4c44>] __device_release_driver+0x70/0xc8 [ 51.174094] [<c03e5458>] driver_detach+0xb4/0xb8 [ 51.179212] [<c03e4a6c>] bus_remove_driver+0x4c/0x90 [ 51.184693] [<c00b024c>] SyS_delete_module+0x10c/0x198 [ 51.190355] [<c000e580>] ret_fast_syscall+0x0/0x48 [ 51.195661] [ 51.197217] the dependencies between the lock to be acquired and SOFTIRQ-irq-unsafe lock: [ 51.205986] -> (vmap_area_lock){+.+...} ops: 520 { [ 51.211032] HARDIRQ-ON-W at: [ 51.214321] [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 51.221090] [<c011376c>] alloc_vmap_area.isra.28+0xb8/0x300 [ 51.228750] [<c0113a44>] __get_vm_area_node.isra.29+0x90/0x134 [ 51.236690] [<c011486c>] get_vm_area_caller+0x3c/0x48 [ 51.243811] [<c0114be0>] vmap+0x40/0x78 [ 51.249654] [<c09442f0>] check_writebuffer_bugs+0x54/0x1a0 [ 51.257239] [<c093eac0>] start_kernel+0x320/0x388 [ 51.263994] [<80008074>] 0x80008074 [ 51.269474] SOFTIRQ-ON-W at: [ 51.272769] [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 51.279525] [<c011376c>] alloc_vmap_area.isra.28+0xb8/0x300 [ 51.287190] [<c0113a44>] __get_vm_area_node.isra.29+0x90/0x134 [ 51.295126] [<c011486c>] get_vm_area_caller+0x3c/0x48 [ 51.302245] [<c0114be0>] vmap+0x40/0x78 [ 51.308094] [<c09442f0>] check_writebuffer_bugs+0x54/0x1a0 [ 51.315669] [<c093eac0>] start_kernel+0x320/0x388 [ 51.322423] [<80008074>] 0x80008074 [ 51.327906] INITIAL USE at: [ 51.331112] [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 51.337775] [<c011376c>] alloc_vmap_area.isra.28+0xb8/0x300 [ 51.345352] [<c0113a44>] __get_vm_area_node.isra.29+0x90/0x134 [ 51.353197] [<c011486c>] get_vm_area_caller+0x3c/0x48 [ 51.360224] [<c0114be0>] vmap+0x40/0x78 [ 51.365977] [<c09442f0>] check_writebuffer_bugs+0x54/0x1a0 [ 51.373464] [<c093eac0>] start_kernel+0x320/0x388 [ 51.380131] [<80008074>] 0x80008074 [ 51.385517] } [ 51.387260] ... key at: [<c0a66948>] vmap_area_lock+0x10/0x20 [ 51.393841] ... acquired at: [ 51.396945] [<c00899ac>] lock_acquire+0x9c/0x104 [ 51.402060] [<c06584e8>] _raw_spin_lock+0x28/0x38 [ 51.407266] [<c01127fc>] find_vmap_area+0x10/0x6c [ 51.412478] [<c0114960>] remove_vm_area+0x8/0x6c [ 51.417592] [<c0114a7c>] __vunmap+0x20/0xf8 [ 51.422252] [<c001c350>] __arm_iounmap+0x10/0x18 [ 51.427369] [<bf017d08>] cpdma_ctlr_destroy+0xf0/0x114 [davinci_cpdma] [ 51.434487] [<bf026294>] cpsw_remove+0x48/0x8c [ti_cpsw] [ 51.440336] [<c03e62c8>] platform_drv_remove+0x18/0x1c [ 51.446000] [<c03e4c44>] __device_release_driver+0x70/0xc8 [ 51.452031] [<c03e5458>] driver_detach+0xb4/0xb8 [ 51.457147] [<c03e4a6c>] bus_remove_driver+0x4c/0x90 [ 51.462628] [<c00b024c>] SyS_delete_module+0x10c/0x198 [ 51.468289] [<c000e580>] ret_fast_syscall+0x0/0x48 [ 51.473584] [ 51.475140] [ 51.475140] stack backtrace: [ 51.479703] CPU: 0 PID: 1921 Comm: modprobe Not tainted 3.14.19-02124-g95c5b7b #308 [ 51.487744] [<c0016090>] (unwind_backtrace) from [<c0012060>] (show_stack+0x10/0x14) [ 51.495865] [<c0012060>] (show_stack) from [<c0652a20>] (dump_stack+0x78/0x94) [ 51.503444] [<c0652a20>] (dump_stack) from [<c0086f18>] (check_usage+0x408/0x594) [ 51.511293] [<c0086f18>] (check_usage) from [<c00870f8>] (check_irq_usage+0x54/0xb0) [ 51.519416] [<c00870f8>] (check_irq_usage) from [<c0088724>] (__lock_acquire+0xe54/0x1b90) [ 51.528077] [<c0088724>] (__lock_acquire) from [<c00899ac>] (lock_acquire+0x9c/0x104) [ 51.536291] [<c00899ac>] (lock_acquire) from [<c06584e8>] (_raw_spin_lock+0x28/0x38) [ 51.544417] [<c06584e8>] (_raw_spin_lock) from [<c01127fc>] (find_vmap_area+0x10/0x6c) [ 51.552726] [<c01127fc>] (find_vmap_area) from [<c0114960>] (remove_vm_area+0x8/0x6c) [ 51.560935] [<c0114960>] (remove_vm_area) from [<c0114a7c>] (__vunmap+0x20/0xf8) [ 51.568693] [<c0114a7c>] (__vunmap) from [<c001c350>] (__arm_iounmap+0x10/0x18) [ 51.576362] [<c001c350>] (__arm_iounmap) from [<bf017d08>] (cpdma_ctlr_destroy+0xf0/0x114 [davinci_cpdma]) [ 51.586494] [<bf017d08>] (cpdma_ctlr_destroy [davinci_cpdma]) from [<bf026294>] (cpsw_remove+0x48/0x8c [ti_cpsw]) [ 51.597261] [<bf026294>] (cpsw_remove [ti_cpsw]) from [<c03e62c8>] (platform_drv_remove+0x18/0x1c) [ 51.606659] [<c03e62c8>] (platform_drv_remove) from [<c03e4c44>] (__device_release_driver+0x70/0xc8) [ 51.616237] [<c03e4c44>] (__device_release_driver) from [<c03e5458>] (driver_detach+0xb4/0xb8) [ 51.625264] [<c03e5458>] (driver_detach) from [<c03e4a6c>] (bus_remove_driver+0x4c/0x90) [ 51.633749] [<c03e4a6c>] (bus_remove_driver) from [<c00b024c>] (SyS_delete_module+0x10c/0x198) [ 51.642781] [<c00b024c>] (SyS_delete_module) from [<c000e580>] (ret_fast_syscall+0x0/0x48) Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ff9538b1fce3a3af66578c072259dba7f7b4fe7a Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Oct 13 22:21:05 2014 +0530 drivers: net: davinci_cpdma: remove kfree on objects allocated with devm_* apis memories allocated with devm_* apis must not be freed with kfree apis, so removing the kfree calls Fixes: e194312854ed ('drivers: net: davinci_cpdma: Convert kzalloc() to devm_kzalloc().') Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c7c9ea429ba30fe506747b7da110e2212d8fefa Author: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Date: Mon Oct 13 09:21:42 2014 -0700 tg3: Add skb->xmit_more support Ring TX doorbell only if xmit_more is not set or the queue is stopped. Suggested-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Prashant Sreedharan <prashant@xxxxxxxxxxxx> Signed-off-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f76936d07c4eeb36d8dbb64ebd30ab46ff85d9f7 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Mon Oct 13 16:34:10 2014 +0200 ipv4: fix nexthop attlen check in fib_nh_match fib_nh_match does not match nexthops correctly. Example: ip route add 172.16.10/24 nexthop via 192.168.122.12 dev eth0 \ nexthop via 192.168.122.13 dev eth0 ip route del 172.16.10/24 nexthop via 192.168.122.14 dev eth0 \ nexthop via 192.168.122.15 dev eth0 Del command is successful and route is removed. After this patch applied, the route is correctly matched and result is: RTNETLINK answers: No such process Please consider this for stable trees as well. Fixes: 4e902c57417c4 ("[IPv4]: FIB configuration using struct fib_config") Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad971f616aa98ea2503f1a1064637bfb4ef7b21e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Oct 11 15:17:29 2014 -0700 tcp: fix tcp_ack() performance problem We worked hard to improve tcp_ack() performance, by not accessing skb_shinfo() in fast path (cd7d8498c9a5 tcp: change tcp_skb_pcount() location) We still have one spurious access because of ACK timestamping, added in commit e1c8a607b281 ("net-timestamp: ACK timestamp for bytestreams") By checking if sk_tsflags has SOF_TIMESTAMPING_TX_ACK set, we can avoid two cache line misses for the common case. While we are at it, add two prefetchw() : One in tcp_ack() to bring skb at the head of write queue. One in tcp_clean_rtx_queue() loop to bring following skb, as we will delete skb from the write queue and dirty skb->next->prev. Add a couple of [un]likely() clauses. After this patch, tcp_ack() is no longer the most consuming function in tcp stack. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Willem de Bruijn <willemb@xxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Cc: Yuchung Cheng <ycheng@xxxxxxxxxx> Cc: Van Jacobson <vanj@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0bc62284ee3f2a228c64902ed818b6ba8e04159b Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Oct 14 15:38:01 2014 +0800 ceph: fix divide-by-zero in __validate_layout() The 'stripe_unit' field is 64 bits, casting it to 32 bits can result zero. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 792c3a914910bd34302c5345578f85cfcb5e2c01 Author: Ilya Dryomov <idryomov@xxxxxxxxxx> Date: Fri Oct 10 18:36:07 2014 +0400 rbd: rbd workqueues need a resque worker Need to use WQ_MEM_RECLAIM for our workqueues to prevent I/O lockups under memory pressure - we sit on the memory reclaim path. Cc: stable@xxxxxxxxxxxxxxx # 3.17, needs backporting for 3.16 Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> Tested-by: Micha Krause <micha@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit f9865f06f7f18c6661c88d0511f05c48612319cc Author: Ilya Dryomov <idryomov@xxxxxxxxxx> Date: Fri Oct 10 16:39:05 2014 +0400 libceph: ceph-msgr workqueue needs a resque worker Commit f363e45fd118 ("net/ceph: make ceph_msgr_wq non-reentrant") effectively removed WQ_MEM_RECLAIM flag from ceph_msgr_wq. This is wrong - libceph is very much a memory reclaim path, so restore it. Cc: stable@xxxxxxxxxxxxxxx # needs backporting for < 3.12 Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> Tested-by: Micha Krause <micha@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit ab6c2c3ebe1d4fddc1f9ae29810799419be950c0 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Oct 9 23:16:35 2014 +0200 ceph: fix bool assignments Fix some coccinelle warnings: fs/ceph/caps.c:2400:6-10: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2401:6-15: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2402:6-17: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2403:6-22: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2404:6-22: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2405:6-19: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2440:4-20: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2469:3-16: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2490:2-18: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2519:3-7: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2549:3-12: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2575:2-6: WARNING: Assignment of bool to 0/1 fs/ceph/caps.c:2589:3-7: WARNING: Assignment of bool to 0/1 Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> commit 25f897773ba4ddc3dd9f8eabf358cfaefb23b8ae Author: Ilya Dryomov <idryomov@xxxxxxxxxx> Date: Mon Oct 6 18:40:27 2014 +0400 libceph: separate multiple ops with commas in debugfs output For requests with multiple ops, separate ops with commas instead of \t, which is a field separator here. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit 70b5bfa360aea4157b45c2863746ca67896c6ef1 Author: Ilya Dryomov <idryomov@xxxxxxxxxx> Date: Thu Oct 2 17:22:29 2014 +0400 libceph: sync osd op definitions in rados.h Bring in missing osd ops and strings, use macros to eliminate multiple points of maintenance. Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit eb179d3975c804ad98eaa403425eb6e48cfd3cc2 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 30 22:07:50 2014 +0200 libceph: remove redundant declaration ceph_release_page_vector was defined twice in libceph.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Ilya Dryomov <idryomov@xxxxxxxxxx> commit 14ed97033dac4cc5fd516bfe3e37d2fc74804684 Author: John Spray <john.spray@xxxxxxxxxx> Date: Fri Sep 12 16:58:49 2014 +0100 ceph: additional debugfs output MDS session state and client global ID is useful instrumentation when testing. Signed-off-by: John Spray <john.spray@xxxxxxxxxx> commit a687ecaf50f18329206c6b78764a8c7bd30a9df0 Author: John Spray <john.spray@xxxxxxxxxx> Date: Fri Sep 19 13:51:08 2014 +0100 ceph: export ceph_session_state_name function ...so that it can be used from the ceph debugfs code when dumping session info. Signed-off-by: John Spray <john.spray@xxxxxxxxxx> commit b1ee94aa593abd03634bc3887b8e189840e42c12 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Sep 16 20:35:17 2014 +0800 ceph: include the initial ACL in create/mkdir/mknod MDS requests Current code set new file/directory's initial ACL in a non-atomic manner. Client first sends request to MDS to create new file/directory, then set the initial ACL after the new file/directory is successfully created. The fix is include the initial ACL in create/mkdir/mknod MDS requests. So MDS can handle creating file/directory and setting the initial ACL in one request. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit 25e6bae356502cde283f1804111b44e6fad20fc2 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Sep 16 19:15:28 2014 +0800 ceph: use pagelist to present MDS request data Current code uses page array to present MDS request data. Pages in the array are allocated/freed by caller of ceph_mdsc_do_request(). If request is interrupted, the pages can be freed while they are still being used by the request message. The fix is use pagelist to present MDS request data. Pagelist is reference counted. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit e4339d28f640a7c0d92903bcf389a2dfa281270d Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Sep 16 17:50:45 2014 +0800 libceph: reference counting pagelist this allow pagelist to present data that may be sent multiple times. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit 0abb43dcacb52145aa265f82c914375d59dfe2da Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Thu Sep 18 16:11:12 2014 +0800 ceph: fix llistxattr on symlink only regular file and directory have vxattrs. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit dbd0c8bf79b2c73d11d47bdf2496e7ebf0948f02 Author: John Spray <john.spray@xxxxxxxxxx> Date: Tue Sep 9 19:26:01 2014 +0100 ceph: send client metadata to MDS Implement version 2 of CEPH_MSG_CLIENT_SESSION syntax, which includes additional client metadata to allow the MDS to report on clients by user-sensible names like hostname. Signed-off-by: John Spray <john.spray@xxxxxxxxxx> Reviewed-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 14cee8e377c09dc887047b3a322c71f45de7f0c0 Merge: f787d6c 86f8ef2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 15:05:39 2014 -0400 Merge branch 'isdn' Tilman Schmidt says: ==================== Coverity patches for drivers/isdn Here's a series of patches for the ISDN CAPI subsystem and the Gigaset ISDN driver. Patches 1 to 7 are specific fixes for Coverity warnings. Patches 8 to 11 fix related problems with the handling of invalid CAPI command codes I noticed while working on this. Patch 12 fixes an unrelated problem I noticed during the subsequent regression tests. It would be great if these could still be merged. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86f8ef2c4802ac9dbe0c8c1c12670bd915a13013 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/gigaset: fix usb_gigaset write_cmd result race In usb_gigaset function gigaset_write_cmd(), the length field of the command buffer structure could be cleared by the transmit tasklet before it was used for the function's return value. Fix by copying to a local variable before scheduling the tasklet. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 340184b35ac8786bdb574d2c8ce8e4f1269ec4da Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: don't return NULL from capi_cmd2str() capi_cmd2str() is used in many places to build log messages. None of them is prepared to handle NULL as a result. Change the function to return printable string "INVALID_COMMAND" instead. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2bf3a09ea51f807d78d48d0ebc591b9e1502a743 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: handle CAPI 2.0 message parser failures Have callers of capi_cmsg2message and capi_message2cmsg handle non-zero return values indicating failure. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5510ab18048397193ae073d6b0d4ea78ff0170f5 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: prevent NULL pointer dereference on invalid CAPI command An invalid CAPI 2.0 command/subcommand combination may retrieve a NULL pointer from the cpars[] array which will later be dereferenced by the parser routines. Fix by adding NULL pointer checks in strategic places. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 854d23b77aa25b203c7af11de885c3b8b3834c20 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: refactor command/subcommand table accesses Encapsulate accesses to the CAPI 2.0 command/subcommand name and parameter tables in a single place in preparation for redesign. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5362247a42e18ef74e698bb23575c272f8e35375 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: prevent index overrun from command_2_index() The result of the function command_2_index() is used to index two arrays mnames[] and cpars[] with max. index 0x4e but in its current form that function can produce results up to 3*(0x9+0x9)+0x7f = 0xb5. Fix by clamping all result values potentially overrunning the arrays to zero which is already handled as an invalid value. Re-spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ea8aa8d5087529210553114b7bc4bf4374ace8f Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/capi: correct capi20_manufacturer argument type mismatch Function capi20_manufacturer() is declared with unsigned int cmd argument but called with unsigned long. Fix by correcting the function prototype since the actual argument is part of the user visible API. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8324f94202af7dc688576259803a2ef9a98d655 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:30 2014 +0200 isdn/gigaset: fix non-heap pointer deallocation at_state structures may be allocated individually or as part of a cardstate or bc_state structure. The disconnect() function handled both cases, creating a risk that it might try to deallocate an at_state structure that had not been allocated individually. Fix by splitting disconnect() into two variants handling cases with and without an associated B channel separately, and adding an explicit check. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 846ac30135e7c5e03b487c16c87ccb1ab020a01f Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:29 2014 +0200 isdn/gigaset: fix NULL pointer dereference In do_action, a NULL pointer might be passed to function start_dial which will dereference it. Fix by adding a check for NULL before the call. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 097933ddcd28ef99c116651b20fd2e06717e0f0d Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:29 2014 +0200 isdn/gigaset: limit raw CAPI message dump length In dump_rawmsg, the length field from a received data package was used unscrutinized, allowing an attacker to control the size of the allocated buffer and the number of times the output loop iterates. Fix by limiting to a reasonable value. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee7ff5fed25711a26da7826071e6ede8af049ad2 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:29 2014 +0200 isdn/gigaset: make sure controller name is null terminated In gigaset_isdn_regdev, the name field may not have a null terminator if the source string's length is equal to the buffer size. Fix by zero filling the structure and excluding the last byte of the name field from the copy. Spotted with Coverity. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1bdc07ebabefd19b56d1d36584a401ff6085fa71 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Sat Oct 11 13:46:29 2014 +0200 isdn/gigaset: missing break in do_facility_req If we take the unsupported supplementary service notification mask path, we end up falling through and overwriting the error code. Insert a break statement to skip the remainder of the switch case and proceed to sending the reply message. Spotted with Coverity. Reported-by: Dave Jones <davej@xxxxxxxxxx> Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f787d6c8dd52ded9874cbbc447a32515c80fa2bf Merge: 02ea807 278d240 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 14:45:17 2014 -0400 Merge branch 'fec-ptp' Luwei Zhou says: ==================== Enable FEC pps feather Change from v2 to v3: -Using the default channel 0 to be PPS channel not PTP_PIN_SET/GETFUNC interface. -Using the linux definition of NSEC_PER_SEC. Change from v1 to v2: - Fix the potential 32-bit multiplication overflow issue. - Optimize the hareware adjustment code to improve efficiency as Richard suggested - Use ptp PTP_PIN_SET/GETFUNC interface to set PPS channel not device tree and add PTP_PF_PPS enumeration - Modify comments style ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 278d24047891a1bf4a98128eaa8ecafd019e58c2 Author: Luwei Zhou <b45643@xxxxxxxxxxxxx> Date: Fri Oct 10 13:15:30 2014 +0800 net: fec: ptp: Enable PPS output based on ptp clock FEC ptp timer has 4 channel compare/trigger function. It can be used to enable pps output. The pulse would be ouput high exactly on N second. The pulse ouput high on compare event mode is used to produce pulse per second. The pulse width would be one cycle based on ptp timer clock source.Since 31-bit ptp hardware timer is used, the timer will wrap more than 2 seconds. We need to reload the compare compare event about every 1 second. Signed-off-by: Luwei Zhou <b45643@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89bddcda7e4f4ff2586e736427405115c362bed4 Author: Luwei Zhou <b45643@xxxxxxxxxxxxx> Date: Fri Oct 10 13:15:29 2014 +0800 net: fec: ptp: Use hardware algorithm to adjust PTP counter. The FEC IP supports hardware adjustment for ptp timer. Refer to the description of ENET_ATCOR and ENET_ATINC registers in the spec about the hardware adjustment. This patch uses hardware support to adjust the ptp offset and frequency on the slave side. Signed-off-by: Luwei Zhou <b45643@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Fugang Duan <b38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f28460b229919387b2f97f3a688d0dd86cc819c9 Author: Luwei Zhou <b45643@xxxxxxxxxxxxx> Date: Fri Oct 10 13:15:28 2014 +0800 net: fec: ptp: Use the 31-bit ptp timer. When ptp switches from software adjustment to hardware ajustment, linux ptp can't converge. It is caused by the IP limit. Hardware adjustment logcial have issue when ptp counter runs over 0x80000000(31 bit counter). The internal IP reference manual already remove 32bit free-running count support. This patch replace the 32-bit PTP timer with 31-bit. Signed-off-by: Luwei Zhou <b45643@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02ea80741a25435123e8a5ca40cac6a0bcf0c9f1 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sat Oct 11 13:03:34 2014 +0800 ipv6: remove aca_lock spinlock from struct ifacaddr6 no user uses this lock. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0ee9c12157dc74e49e4731e0d07512e7d1ceb95 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Oct 10 20:30:23 2014 -0700 x86: bpf_jit: fix two bugs in eBPF JIT compiler 1. JIT compiler using multi-pass approach to converge to final image size, since x86 instructions are variable length. It starts with large gaps between instructions (so some jumps may use imm32 instead of imm8) and iterates until total program size is the same as in previous pass. This algorithm works only if program size is strictly decreasing. Programs that use LD_ABS insn need additional code in prologue, but it was not emitted during 1st pass, so there was a chance that 2nd pass would adjust imm32->imm8 jump offsets to the same number of bytes as increase in prologue, which may cause algorithm to erroneously decide that size converged. Fix it by always emitting largest prologue in the first pass which is detected by oldproglen==0 check. Also change error check condition 'proglen != oldproglen' to fail gracefully. 2. while staring at the code realized that 64-byte buffer may not be enough when 1st insn is large, so increase it to 128 to avoid buffer overflow (theoretical maximum size of prologue+div is 109) and add runtime check. Fixes: 622582786c9e ("net: filter: x86: internal BPF JIT") Reported-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Tested-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2532eb9abd88384aa586169b54a3e53574f29f8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 18:06:35 2014 -0700 tcp: fix ooo_okay setting vs Small Queues TCP Small Queues (tcp_tsq_handler()) can hold one reference on sk->sk_wmem_alloc, preventing skb->ooo_okay being set. We should relax test done to set skb->ooo_okay to take care of this extra reference. Minimal truesize of skb containing one byte of payload is SKB_TRUESIZE(1) Without this fix, we have more chance locking flows into the wrong transmit queue. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31eff81e94472ddb7549509bf4b6e93e1f6f7dc9 Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Fri Oct 10 23:10:47 2014 +0200 skbuff: fix ftrace handling in skb_unshare If the skb is not dropped afterwards we should run consume_skb instead kfree_skb. Inside of function skb_unshare we do always a kfree_skb, doesn't depend if skb_copy failed or was successful. This patch switch this behaviour like skb_share_check, if allocation of sk_buff failed we use kfree_skb otherwise consume_skb. Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c2b2f0cb9388df8aa8b5036cf18060ac77e6d94 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Oct 10 14:30:52 2014 -0700 fm10k: Add skb->xmit_more support This change adds support for skb->xmit_more based on the changes that were made to igb to support the feature. The main changes are moving up the check for maybe_stop_tx so that we can check netif_xmit_stopped to determine if we must write the tail because we can add no further buffers. Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4483e8a424d76bc1dfacdd94e739fba29d7f83f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Wed Sep 17 17:26:06 2014 +0800 ceph: remove redundant code for max file size verification Both ceph_update_writeable_page and ceph_setattr will verify file size with max size ceph supported. There are two caller for ceph_update_writeable_page, ceph_write_begin and ceph_page_mkwrite. For ceph_write_begin, we have already verified the size in generic_write_checks of ceph_write_iter; for ceph_page_mkwrite, we have no chance to change file size when mmap. Likewise we have already verified the size in inode_change_ok when we call ceph_setattr. So let's remove the redundant code for max file size verification. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Reviewed-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 3b70b388e3378d0b7272d649bb91451a6de4e924 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Sep 17 14:44:51 2014 +0800 ceph: remove redundant io_iter_advance() ceph_sync_read and generic_file_read_iter() have already advanced the IO iterator. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 6cd3bcad0d269f96667ea704d4f6459a5c6ccbab Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Sep 17 07:45:12 2014 +0800 ceph: move ceph_find_inode() outside the s_mutex ceph_find_inode() may wait on freeing inode, using it inside the s_mutex may cause deadlock. (the freeing inode is waiting for OSD read reply, but dispatch thread is blocked by the s_mutex) Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit 508b32d8661b12da4c9ca41a9b2054e1dc92fa7e Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Tue Sep 16 21:46:17 2014 +0800 ceph: request xattrs if xattr_version is zero Following sequence of events can happen. - Client releases an inode, queues cap release message. - A 'lookup' reply brings the same inode back, but the reply doesn't contain xattrs because MDS didn't receive the cap release message and thought client already has up-to-data xattrs. The fix is force sending a getattr request to MDS if xattrs_version is 0. The getattr mask is set to CEPH_STAT_CAP_XATTR, so MDS knows client does not have xattr. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit b76f82398c1017e303d87760e22125714010207f Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Mon Apr 7 16:52:03 2014 -0700 rbd: set the remaining discard properties to enable support max_discard_sectors must be set for the queue to support discard. Operations implementing discard for rbd zero data, so report that. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit d3246fb0da5d70838469c01d5b6b11163b49cd86 Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Mon Apr 7 16:49:21 2014 -0700 rbd: use helpers to handle discard for layered images correctly Only allocate two osd ops for discard requests, since the preallocation hint is only added for regular writes. Use rbd_img_obj_request_fill() to recreate the original write or discard osd operations, isolating that logic to one place, and change the assert in rbd_osd_req_create_copyup() to accept discard requests as well. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit 3b434a2aff38029ea053ce6c8fced53b2d01f7f0 Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Fri Apr 4 17:32:15 2014 -0700 rbd: extract a method for adding object operations rbd_img_request_fill() creates a ceph_osd_request and has logic for adding the appropriate osd ops to it based on the request type and image properties. For layered images, the original rbd_obj_request is resent with a copyup operation in front, using a new ceph_osd_request. The logic for adding the original operations should be the same as when first sending them, so move it to a helper function. op_type only needs to be checked once, so create a helper for that as well and call it outside the loop in rbd_img_request_fill(). Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit 1c220881e307b62cc2f77d911219de332aa3f61e Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Fri Apr 4 17:49:12 2014 -0700 rbd: make discard trigger copy-on-write Discard requests are a form of write, so they should go through the same process as plain write requests and trigger copy-on-write for layered images. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit d0265de7c358d71a494dcd1ee28206b32754bb0f Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Mon Apr 7 16:54:10 2014 -0700 rbd: tolerate -ENOENT for discard operations Discard may try to delete an object from a non-layered image that does not exist. If this occurs, the image already has no data in that range, so change the result to success. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit bef95455a44e2533fcea376740bb1a5cbd71269f Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Fri Apr 4 17:47:52 2014 -0700 rbd: fix snapshot context reference count for discards Discards take a reference to the snapshot context of an image when they are created. This reference needs to be cleaned up when the request is done just as it is for regular writes. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit 3c5df89367761d09d76454a2c4301a73bf2d46ce Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Fri Apr 4 12:06:32 2014 -0700 rbd: read image size for discard check safely In rbd_img_request_fill() the image size is only checked to determine whether we can truncate an object instead of zeroing it for discard requests. Take rbd_dev->header_rwsem while reading the image size, and move this read into the discard check, so that non-discard ops don't need to take the semaphore in this function. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit 90e98c5229c0adfadf2c2ad2c91d72902bf61bc4 Author: Guangliang Zhao <lucienchao@xxxxxxxxx> Date: Tue Apr 1 22:22:16 2014 +0800 rbd: initial discard bits from Guangliang Zhao This patch add the discard support for rbd driver. There are three types operation in the driver: 1. The objects would be removed if they completely contained within the discard range. 2. The objects would be truncated if they partly contained within the discard range, and align with their boundary. 3. Others would be zeroed. A discard request from blkdev_issue_discard() is defined which REQ_WRITE and REQ_DISCARD both marked and no data, so we must check the REQ_DISCARD first when getting the request type. This resolve: http://tracker.ceph.com/issues/190 [ Ilya Dryomov: This is incomplete and somewhat buggy, see follow up commits by Josh Durgin for refinements and fixes which weren't folded in to preserve authorship. ] Signed-off-by: Guangliang Zhao <lucienchao@xxxxxxxxx> Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 6d2940c881aeb9f46baac548dc4e906a53957dba Author: Guangliang Zhao <lucienchao@xxxxxxxxx> Date: Thu Mar 13 11:21:35 2014 +0800 rbd: extend the operation type It could only handle the read and write operations now, extend it for the coming discard support. Signed-off-by: Guangliang Zhao <lucienchao@xxxxxxxxx> Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit c622d226155b12276ae3d29d546f4b314d7cd68c Author: Guangliang Zhao <lucienchao@xxxxxxxxx> Date: Tue Apr 1 22:22:15 2014 +0800 rbd: skip the copyup when an entire object writing It need to copyup the parent's content when layered writing, but an entire object write would overwrite it, so skip it. Signed-off-by: Guangliang Zhao <lucienchao@xxxxxxxxx> Reviewed-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 70d045f660c7331bce8c9377929b52a9738a12cb Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Fri Sep 12 16:02:01 2014 +0400 rbd: add img_obj_request_simple() helper To clarify the conditions and make it easier to add new ones. Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> commit 4e752f0ab0e8114f4edd7574081dc625d679dd15 Author: Josh Durgin <josh.durgin@xxxxxxxxxxx> Date: Tue Apr 8 11:12:11 2014 -0700 rbd: access snapshot context and mapping size safely These fields may both change while the image is mapped if a snapshot is created or deleted or the image is resized. They are guarded by rbd_dev->header_rwsem, so hold that while reading them, and store a local copy to refer to outside of the critical section. The local copy will stay consistent since the snapshot context is reference counted, and the mapping size is just a u64. This prevents torn loads from giving us inconsistent values. Move reading header.snapc into the caller of rbd_img_request_create() so that we only need to take the semaphore once. The read-only caller, rbd_parent_request_create() can just pass NULL for snapc, since the snapshot context is only relevant for writes. Signed-off-by: Josh Durgin <josh.durgin@xxxxxxxxxxx> commit 7dd440c9e0711d828442c3e129ab8bcb9aeeac23 Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Thu Sep 11 18:49:18 2014 +0400 rbd: do not return -ERANGE on auth failures Trying to map an image out of a pool for which we don't have an 'x' permission bit fails with -ERANGE from ceph_extract_encoded_string() due to an unsigned vs signed bug. Fix it and get rid of the -EINVAL sink, thus propagating rbd::get_id cls method errors. (I've seen a bunch of unexplained -ERANGE reports, I bet this is it). Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 91883cd27c4e2523dd53e2bd6f71a1c5e0be5a38 Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Thu Sep 11 12:18:53 2014 +0400 libceph: don't try checking queue_work() return value queue_work() doesn't "fail to queue", it returns false if work was already on a queue, which can't happen here since we allocate event_work right before we queue it. So don't bother at all. Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 03974e8177b36d672eb59658f976f03cb77c1129 Author: Yan, Zheng <ukernel@xxxxxxxxx> Date: Thu Sep 11 14:28:56 2014 +0800 ceph: make sure request isn't in any waiting list when kicking request. we may corrupt waiting list if a request in the waiting list is kicked. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit 656e4382948d4b2c81bdaf707f1400f53eff2625 Author: Yan, Zheng <ukernel@xxxxxxxxx> Date: Thu Sep 11 14:25:18 2014 +0800 ceph: protect kick_requests() with mdsc->mutex Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> Reviewed-by: Sage Weil <sage@xxxxxxxxxx> commit b9a678994b4a64b1106ab2cf7cfe7cbc10bb6f40 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 21:17:29 2014 -0700 libceph: Convert pr_warning to pr_warn Use the more common pr_warn. Other miscellanea: o Coalesce formats o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> commit 5d23371fdb7dc03fa6fe054da3467efb0d347945 Author: Yan, Zheng <zyan@xxxxxxxxxx> Date: Wed Sep 10 16:56:23 2014 +0800 ceph: trim unused inodes before reconnecting to recovering MDS So the recovering MDS does not need to fetch these ununsed inodes during cache rejoin. This may reduce MDS recovery time. Signed-off-by: Yan, Zheng <zyan@xxxxxxxxxx> commit 589506f1e7f135943bcd34903bcdcf1fdaf00549 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sun Sep 7 18:10:51 2014 +0800 libceph: fix a use after free issue in osdmap_set_max_osd If the state variable is krealloced successfully, map->osd_state will be freed, once following two reallocation failed, and exit the function without resetting map->osd_state, map->osd_state become a wild pointer. fix it by resetting them after krealloc successfully. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> commit dc220db03f15c9875aa09c36beba582f20c76be1 Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Fri Sep 5 20:16:52 2014 +0400 libceph: select CRYPTO_CBC in addition to CRYPTO_AES We want "cbc(aes)" algorithm, so select CRYPTO_CBC too, not just CRYPTO_AES. Otherwise on !CRYPTO_CBC kernels we fail rbd map/mount with libceph: error -2 building auth method x request Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> commit 2cc6128ab2afff7864dbdc33a73e2deaa935d9e0 Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Wed Sep 3 14:41:45 2014 +0400 libceph: resend lingering requests with a new tid Both not yet registered (r_linger && list_empty(&r_linger_item)) and registered linger requests should use the new tid on resend to avoid the dup op detection logic on the OSDs, yet we were doing this only for "registered" case. Factor out and simplify the "registered" logic and use the new helper for "not registered" case as well. Fixes: http://tracker.ceph.com/issues/8806 Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit f671b581f1dac61354186b7373af5f97fe420584 Author: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Date: Tue Sep 2 13:40:33 2014 +0400 libceph: abstract out ceph_osd_request enqueue logic Introduce __enqueue_request() and switch to it. Signed-off-by: Ilya Dryomov <ilya.dryomov@xxxxxxxxxxx> Reviewed-by: Alex Elder <elder@xxxxxxxxxx> commit 5bc26726ada73264c0fd7b93ccbe7d9e78b2b2d2 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Mon Oct 13 10:53:48 2014 +0800 net: fec: Fix sparse warnings with different lock contexts for basic block reproduce: make ARCH=arm C=1 2>fec.txt drivers/net/ethernet/freescale/fec_main.o cat fec.txt sparse warnings: drivers/net/ethernet/freescale/fec_main.c:2916:12: warning: context imbalance in 'fec_set_features' - different lock contexts for basic block Christopher Li suggest to change as below: if (need_lock) { lock(); do_something_real(); unlock(); } else { do_something_real(); } Reported-by: Fabio Estevam <festevam@xxxxxxxxx> Suggested-by: Christopher Li <sparse@xxxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c53fed07a03d8b2a2e3bdaba87768211fa55806c Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 10:08:42 2014 -0500 MAINTAINERS: Update contact information for Vince Bridgers Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b27fa9939d50b0302888849c62ecae7b9cb85dc5 Merge: b838b4a 26b87c7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 14 12:46:29 2014 -0400 Merge branch 'sctp' Daniel Borkmann says: ==================== Here are some SCTP fixes. [ Note, immediate workaround would be to disable ASCONF (it is sysctl disabled by default). It is actually only used together with chunk authentication. ] ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 26b87c7881006311828bb0ab271a551a62dcceb4 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Thu Oct 9 22:55:33 2014 +0200 net: sctp: fix remote memory pressure from excessive queueing This scenario is not limited to ASCONF, just taken as one example triggering the issue. When receiving ASCONF probes in the form of ... -------------- INIT[ASCONF; ASCONF_ACK] -------------> <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------ -------------------- COOKIE-ECHO --------------------> <-------------------- COOKIE-ACK --------------------- ---- ASCONF_a; [ASCONF_b; ...; ASCONF_n;] JUNK ------> [...] ---- ASCONF_m; [ASCONF_o; ...; ASCONF_z;] JUNK ------> ... where ASCONF_a, ASCONF_b, ..., ASCONF_z are good-formed ASCONFs and have increasing serial numbers, we process such ASCONF chunk(s) marked with !end_of_packet and !singleton, since we have not yet reached the SCTP packet end. SCTP does only do verification on a chunk by chunk basis, as an SCTP packet is nothing more than just a container of a stream of chunks which it eats up one by one. We could run into the case that we receive a packet with a malformed tail, above marked as trailing JUNK. All previous chunks are here goodformed, so the stack will eat up all previous chunks up to this point. In case JUNK does not fit into a chunk header and there are no more other chunks in the input queue, or in case JUNK contains a garbage chunk header, but the encoded chunk length would exceed the skb tail, or we came here from an entirely different scenario and the chunk has pdiscard=1 mark (without having had a flush point), it will happen, that we will excessively queue up the association's output queue (a correct final chunk may then turn it into a response flood when flushing the queue ;)): I ran a simple script with incremental ASCONF serial numbers and could see the server side consuming excessive amount of RAM [before/after: up to 2GB and more]. The issue at heart is that the chunk train basically ends with !end_of_packet and !singleton markers and since commit 2e3216cd54b1 ("sctp: Follow security requirement of responding with 1 packet") therefore preventing an output queue flush point in sctp_do_sm() -> sctp_cmd_interpreter() on the input chunk (chunk = event_arg) even though local_cork is set, but its precedence has changed since then. In the normal case, the last chunk with end_of_packet=1 would trigger the queue flush to accommodate possible outgoing bundling. In the input queue, sctp_inq_pop() seems to do the right thing in terms of discarding invalid chunks. So, above JUNK will not enter the state machine and instead be released and exit the sctp_assoc_bh_rcv() chunk processing loop. It's simply the flush point being missing at loop exit. Adding a try-flush approach on the output queue might not work as the underlying infrastructure might be long gone at this point due to the side-effect interpreter run. One possibility, albeit a bit of a kludge, would be to defer invalid chunk freeing into the state machine in order to possibly trigger packet discards and thus indirectly a queue flush on error. It would surely be better to discard chunks as in the current, perhaps better controlled environment, but going back and forth, it's simply architecturally not possible. I tried various trailing JUNK attack cases and it seems to look good now. Joint work with Vlad Yasevich. Fixes: 2e3216cd54b1 ("sctp: Follow security requirement of responding with 1 packet") Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b69040d8e39f20d5215a03502a8e8b4c6ab78395 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Thu Oct 9 22:55:32 2014 +0200 net: sctp: fix panic on duplicate ASCONF chunks When receiving a e.g. semi-good formed connection scan in the form of ... -------------- INIT[ASCONF; ASCONF_ACK] -------------> <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------ -------------------- COOKIE-ECHO --------------------> <-------------------- COOKIE-ACK --------------------- ---------------- ASCONF_a; ASCONF_b -----------------> ... where ASCONF_a equals ASCONF_b chunk (at least both serials need to be equal), we panic an SCTP server! The problem is that good-formed ASCONF chunks that we reply with ASCONF_ACK chunks are cached per serial. Thus, when we receive a same ASCONF chunk twice (e.g. through a lost ASCONF_ACK), we do not need to process them again on the server side (that was the idea, also proposed in the RFC). Instead, we know it was cached and we just resend the cached chunk instead. So far, so good. Where things get nasty is in SCTP's side effect interpreter, that is, sctp_cmd_interpreter(): While incoming ASCONF_a (chunk = event_arg) is being marked !end_of_packet and !singleton, and we have an association context, we do not flush the outqueue the first time after processing the ASCONF_ACK singleton chunk via SCTP_CMD_REPLY. Instead, we keep it queued up, although we set local_cork to 1. Commit 2e3216cd54b1 changed the precedence, so that as long as we get bundled, incoming chunks we try possible bundling on outgoing queue as well. Before this commit, we would just flush the output queue. Now, while ASCONF_a's ASCONF_ACK sits in the corked outq, we continue to process the same ASCONF_b chunk from the packet. As we have cached the previous ASCONF_ACK, we find it, grab it and do another SCTP_CMD_REPLY command on it. So, effectively, we rip the chunk->list pointers and requeue the same ASCONF_ACK chunk another time. Since we process ASCONF_b, it's correctly marked with end_of_packet and we enforce an uncork, and thus flush, thus crashing the kernel. Fix it by testing if the ASCONF_ACK is currently pending and if that is the case, do not requeue it. When flushing the output queue we may relink the chunk for preparing an outgoing packet, but eventually unlink it when it's copied into the skb right before transmission. Joint work with Vlad Yasevich. Fixes: 2e3216cd54b1 ("sctp: Follow security requirement of responding with 1 packet") Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9de7922bc709eee2f609cd01d98aaedc4cf5ea74 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Thu Oct 9 22:55:31 2014 +0200 net: sctp: fix skb_over_panic when receiving malformed ASCONF chunks Commit 6f4c618ddb0 ("SCTP : Add paramters validity check for ASCONF chunk") added basic verification of ASCONF chunks, however, it is still possible to remotely crash a server by sending a special crafted ASCONF chunk, even up to pre 2.6.12 kernels: skb_over_panic: text:ffffffffa01ea1c3 len:31056 put:30768 head:ffff88011bd81800 data:ffff88011bd81800 tail:0x7950 end:0x440 dev:<NULL> ------------[ cut here ]------------ kernel BUG at net/core/skbuff.c:129! [...] Call Trace: <IRQ> [<ffffffff8144fb1c>] skb_put+0x5c/0x70 [<ffffffffa01ea1c3>] sctp_addto_chunk+0x63/0xd0 [sctp] [<ffffffffa01eadaf>] sctp_process_asconf+0x1af/0x540 [sctp] [<ffffffff8152d025>] ? _read_unlock_bh+0x15/0x20 [<ffffffffa01e0038>] sctp_sf_do_asconf+0x168/0x240 [sctp] [<ffffffffa01e3751>] sctp_do_sm+0x71/0x1210 [sctp] [<ffffffff8147645d>] ? fib_rules_lookup+0xad/0xf0 [<ffffffffa01e6b22>] ? sctp_cmp_addr_exact+0x32/0x40 [sctp] [<ffffffffa01e8393>] sctp_assoc_bh_rcv+0xd3/0x180 [sctp] [<ffffffffa01ee986>] sctp_inq_push+0x56/0x80 [sctp] [<ffffffffa01fcc42>] sctp_rcv+0x982/0xa10 [sctp] [<ffffffffa01d5123>] ? ipt_local_in_hook+0x23/0x28 [iptable_filter] [<ffffffff8148bdc9>] ? nf_iterate+0x69/0xb0 [<ffffffff81496d10>] ? ip_local_deliver_finish+0x0/0x2d0 [<ffffffff8148bf86>] ? nf_hook_slow+0x76/0x120 [<ffffffff81496d10>] ? ip_local_deliver_finish+0x0/0x2d0 [<ffffffff81496ded>] ip_local_deliver_finish+0xdd/0x2d0 [<ffffffff81497078>] ip_local_deliver+0x98/0xa0 [<ffffffff8149653d>] ip_rcv_finish+0x12d/0x440 [<ffffffff81496ac5>] ip_rcv+0x275/0x350 [<ffffffff8145c88b>] __netif_receive_skb+0x4ab/0x750 [<ffffffff81460588>] netif_receive_skb+0x58/0x60 This can be triggered e.g., through a simple scripted nmap connection scan injecting the chunk after the handshake, for example, ... -------------- INIT[ASCONF; ASCONF_ACK] -------------> <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------ -------------------- COOKIE-ECHO --------------------> <-------------------- COOKIE-ACK --------------------- ------------------ ASCONF; UNKNOWN ------------------> ... where ASCONF chunk of length 280 contains 2 parameters ... 1) Add IP address parameter (param length: 16) 2) Add/del IP address parameter (param length: 255) ... followed by an UNKNOWN chunk of e.g. 4 bytes. Here, the Address Parameter in the ASCONF chunk is even missing, too. This is just an example and similarly-crafted ASCONF chunks could be used just as well. The ASCONF chunk passes through sctp_verify_asconf() as all parameters passed sanity checks, and after walking, we ended up successfully at the chunk end boundary, and thus may invoke sctp_process_asconf(). Parameter walking is done with WORD_ROUND() to take padding into account. In sctp_process_asconf()'s TLV processing, we may fail in sctp_process_asconf_param() e.g., due to removal of the IP address that is also the source address of the packet containing the ASCONF chunk, and thus we need to add all TLVs after the failure to our ASCONF response to remote via helper function sctp_add_asconf_response(), which basically invokes a sctp_addto_chunk() adding the error parameters to the given skb. When walking to the next parameter this time, we proceed with ... length = ntohs(asconf_param->param_hdr.length); asconf_param = (void *)asconf_param + length; ... instead of the WORD_ROUND()'ed length, thus resulting here in an off-by-one that leads to reading the follow-up garbage parameter length of 12336, and thus throwing an skb_over_panic for the reply when trying to sctp_addto_chunk() next time, which implicitly calls the skb_put() with that length. Fix it by using sctp_walk_params() [ which is also used in INIT parameter processing ] macro in the verification *and* in ASCONF processing: it will make sure we don't spill over, that we walk parameters WORD_ROUND()'ed. Moreover, we're being more defensive and guard against unknown parameter types and missized addresses. Joint work with Vlad Yasevich. Fixes: b896b82be4ae ("[SCTP] ADDIP: Support for processing incoming ASCONF_ACK chunks.") Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b838b4aced99e0d31a272396d43d9ca21cb078cb Author: Bruno Thomsen <bth@xxxxxxxxxxx> Date: Thu Oct 9 16:48:14 2014 +0200 phy/micrel: KSZ8031RNL RMII clock reconfiguration bug Bug: Unable to send and receive Ethernet packets with Micrel PHY. Affected devices: KSZ8031RNL (commercial temp) KSZ8031RNLI (industrial temp) Description: PHY device is correctly detected during probe. PHY power-up default is 25MHz crystal clock input and output 50MHz RMII clock to MAC. Reconfiguration of PHY to input 50MHz RMII clock from MAC causes PHY to become unresponsive if clock source is changed after Operation Mode Strap Override (OMSO) register setup. Cause: Long lead times on parts where clock setup match circuit design forces the usage of similar parts with wrong default setup. Solution: Swapped KSZ8031 register setup and added phy_write return code validation. Tested with Freescale i.MX28 Fast Ethernet Controler (fec). Signed-off-by: Bruno Thomsen <bth@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e19a8a0ad2d255316830ead05b59c5a704434cbb Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Tue Oct 14 09:00:44 2014 -0600 block: Remove REQ_KERNEL REQ_KERNEL is no longer used. Remove it and drop the redundant uio argument to nfs_file_direct_{read,write}. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2a1731fb85ec96a1f6a326fb2d52cd93494dafa2 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 15:49:21 2014 -0300 perf session: Remove last reference to hists struct Now perf_session doesn't require that the evsels in its evlist are hists containing ones. Tools that are hists based and want to do per evsel events_stats updates, if at some point this turns into a necessity, should do it in the tool specific code, keeping the session class hists agnostic. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-cli1bgwpo82mdikuhy3djsuy@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c3058d5da2222629bc2223c488a4512b59bb4baf Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Oct 10 12:14:29 2014 +0200 arm/arm64: KVM: Ensure memslots are within KVM_PHYS_SIZE When creating or moving a memslot, make sure the IPA space is within the addressable range of the guest. Otherwise, user space can create too large a memslot and KVM would try to access potentially unallocated page table entries when inserting entries in the Stage-2 page tables. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 38f791a4e499792eeb2a3c0572dd5133511c5bbb Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Oct 10 12:14:28 2014 +0200 arm64: KVM: Implement 48 VA support for KVM EL2 and Stage-2 This patch adds the necessary support for all host kernel PGSIZE and VA_SPACE configuration options for both EL2 and the Stage-2 page tables. However, for 40bit and 42bit PARange systems, the architecture mandates that VTCR_EL2.SL0 is maximum 1, resulting in fewer levels of stage-2 pagge tables than levels of host kernel page tables. At the same time, systems with a PARange > 42bit, we limit the IPA range by always setting VTCR_EL2.T0SZ to 24. To solve the situation with different levels of page tables for Stage-2 translation than the host kernel page tables, we allocate a dummy PGD with pointers to our actual inital level Stage-2 page table, in order for us to reuse the kernel pgtable manipulation primitives. Reproducing all these in KVM does not look pretty and unnecessarily complicates the 32-bit side. Systems with a PARange < 40bits are not yet supported. [ I have reworked this patch from its original form submitted by Jungseok to take the architecture constraints into consideration. There were too many changes from the original patch for me to preserve the authorship. Thanks to Catalin Marinas for his help in figuring out a good solution to this challenge. I have also fixed various bugs and missing error code handling from the original patch. - Christoffer ] Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Jungseok Lee <jungseoklee85@xxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4c5c30249452aaebf258751ea4222eba3dd3da4c Author: Jan-Simon Möller <dl9pf@xxxxxx> Date: Mon Jul 2 13:48:30 2012 +0200 crypto: LLVMLinux: Remove VLAIS usage from crypto/testmgr.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: pageexec@xxxxxxxxxxx commit 357aabed626fe3fc753a99ef1d652f4e2d82ba26 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 4 18:18:00 2014 -0300 security, crypto: LLVMLinux: Remove VLAIS from ima_crypto.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Acked-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Cc: tglx@xxxxxxxxxxxxx commit ea0e0de69fc413aa80dbf1ec1fb9702ea1b6faca Author: Jan-Simon Möller <dl9pf@xxxxxx> Date: Mon Jul 2 12:54:28 2012 +0200 crypto: LLVMLinux: Remove VLAIS usage from libcrc32c.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: pageexec@xxxxxxxxxxx Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> commit ffb32e973eb5105ec55e0bbf2e77a1ea4a7a123a Author: Jan-Simon Möller <dl9pf@xxxxxx> Date: Mon Jul 2 13:47:40 2012 +0200 crypto: LLVMLinux: Remove VLAIS usage from crypto/hmac.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: pageexec@xxxxxxxxxxx commit b610626523cf5c780bf7d9746580c323e90580e6 Author: Jan-Simon Möller <dl9pf@xxxxxx> Date: Mon Jul 2 13:50:54 2012 +0200 crypto, dm: LLVMLinux: Remove VLAIS usage from dm-crypt Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: pageexec@xxxxxxxxxxx Cc: gmazyland@xxxxxxxxx Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> commit 37e5265437a02e66e8c345f563241e79b4b7f087 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 4 18:18:00 2014 -0300 crypto: LLVMLinux: Remove VLAIS from crypto/.../qat_algs.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7bc53c3f9ac8c0d6b6ffa92b4b7493576233e78e Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 4 18:18:00 2014 -0300 crypto: LLVMLinux: Remove VLAIS from crypto/omap_sham.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ce1f3e47d9d11ffde75d06170304dc9ff2afe0c6 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 4 18:18:00 2014 -0300 crypto: LLVMLinux: Remove VLAIS from crypto/n2_core.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7128470f6b21b922b42f790d429330562eb6eab1 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Apr 4 18:18:00 2014 -0300 crypto: LLVMLinux: Remove VLAIS from crypto/mv_cesa.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 61ded52438d5fdc4dea87f823c455f8ac1e426df Author: Jan-Simon Möller <dl9pf@xxxxxx> Date: Thu Sep 4 20:39:24 2014 +0200 crypto: LLVMLinux: Remove VLAIS from crypto/ccp/ccp-crypto-sha.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 0458a953d85088a9ba3e448745676377775879e0 Author: VinÃcius Tinti <viniciustinti@xxxxxxxxx> Date: Fri Apr 4 18:21:24 2014 -0300 btrfs: LLVMLinux: Remove VLAIS Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch instead allocates the appropriate amount of memory using a char array using the SHASH_DESC_ON_STACK macro. The new code can be compiled with both gcc and clang. Signed-off-by: VinÃcius Tinti <viniciustinti@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Acked-by: Chris Mason <clm@xxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> commit a0a77af14117e388d43b2385d5ecc800e2d6eee9 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 8 00:05:09 2014 -0500 crypto: LLVMLinux: Add macro to remove use of VLAIS in crypto code Add a macro which replaces the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This macro instead allocates the appropriate amount of memory using an char array. The new code can be compiled with both gcc and clang. struct shash_desc contains a flexible array member member ctx declared with CRYPTO_MINALIGN_ATTR, so sizeof(struct shash_desc) aligns the beginning of the array declared after struct shash_desc with long long. No trailing padding is required because it is not a struct type that can be used in an array. The CRYPTO_MINALIGN_ATTR is required so that desc is aligned with long long as would be the case for a struct containing a member with CRYPTO_MINALIGN_ATTR. If you want to get to the ctx at the end of the shash_desc as before you can do so using shash_desc_ctx(shash) Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: MichaÅ? MirosÅ?aw <mirqus@xxxxxxxxx> commit 2d65a9f48fcdf7866aab6457bc707ca233e0c791 Merge: da92da3 dfda0df Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 09:39:08 2014 +0200 Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux Pull drm updates from Dave Airlie: "This is the main git pull for the drm, I pretty much froze major pulls at -rc5/6 time, and haven't had much fallout, so will probably continue doing that. Lots of changes all over, big internal header cleanup to make it clear drm features are legacy things and what are things that modern KMS drivers should be using. Also big move to use the new generic fences in all the TTM drivers. core: atomic prep work, vblank rework changes, allows immediate vblank disables major header reworking and cleanups to better delinate legacy interfaces from what KMS drivers should be using. cursor planes locking fixes ttm: move to generic fences (affects all TTM drivers) ppc64 caching fixes radeon: userptr support, uvd for old asics, reset rework for fence changes better buffer placement changes, dpm feature enablement hdmi audio support fixes intel: Cherryview work, 180 degree rotation, skylake prep work, execlist command submission full ppgtt prep work cursor improvements edid caching, vdd handling improvements nouveau: fence reworking kepler memory clock work gt21x clock work fan control improvements hdmi infoframe fixes DP audio ast: ppc64 fixes caching fix rcar: rcar-du DT support ipuv3: prep work for capture support msm: LVDS support for mdp4, new panel, gpu refactoring exynos: exynos3250 SoC support, drop bad mmap interface, mipi dsi changes, and component match support" * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (640 commits) drm/mst: rework payload table allocation to conform better. drm/ast: Fix HW cursor image drm/radeon/kv: add uvd/vce info to dpm debugfs output drm/radeon/ci: add uvd/vce info to dpm debugfs output drm/radeon: export reservation_object from dmabuf to ttm drm/radeon: cope with foreign fences inside the reservation object drm/radeon: cope with foreign fences inside display drm/core: use helper to check driver features drm/radeon/cik: write gfx ucode version to ucode addr reg drm/radeon/si: print full CS when we hit a packet 0 drm/radeon: remove unecessary includes drm/radeon/combios: declare legacy_connector_convert as static drm/radeon/atombios: declare connector convert tables as static drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table drm/radeon/dpm: drop clk/voltage dependency filters for BTC drm/radeon/dpm: drop clk/voltage dependency filters for CI drm/radeon/dpm: drop clk/voltage dependency filters for SI drm/radeon/dpm: drop clk/voltage dependency filters for NI drm/radeon: disable audio when we disable hdmi (v2) drm/radeon: split audio enable between eg and r600 (v2) ... commit da22b896b119001b0cd9eb9ecb5b3fd85e948e43 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Sep 24 03:53:43 2014 +0530 RDMA/cxgb4: Fix ntuple calculation for ipv6 and remove duplicate line This fixes ntuple calculation for IPv6 active open request for T5 adapter. And also removes an duplicate line which got added in commit 92e7ae71726c ("iw_cxgb4: Choose appropriate hw mtu index and ISS for iWARP connections") Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit d480201b2261d26b4ca1fa4cc2bfc6cb644733a3 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Sep 24 03:53:42 2014 +0530 RDMA/cxgb4: Add missing neigh_release in find_route Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 04524a47c36bc7fc573a4856b4e0fd8cf66c3126 Author: Hariprasad S <hariprasad@xxxxxxxxxxx> Date: Wed Sep 24 03:53:41 2014 +0530 RDMA/cxgb4: Take IPv6 into account for best_mtu and set_emss best_mtu and set_emss were not considering ipv6 header for ipv6 case. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 65d4c01af0f5b394a33848bc27c4331e2959dfd5 Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 11:19:29 2014 -0500 RDMA/cxgb4: Make c4iw_wr_log_size_order static This fixes a sparse warning. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit a040f95dc81986d7d55bd98a9455217522ef706d Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 12:38:26 2014 +0300 IB/core: Fix XRC race condition in ib_uverbs_open_qp In ib_uverbs_open_qp, the sharable xrc target qp is created as a "pseudo" qp and added to a list of qp's sharing the same physical QP. This is done before the "pseudo" qp is assigned a uobject. There is a race condition here if an async event arrives at the physical qp. If the event is handled after the pseudo qp is added to the list, but before it is assigned a uobject, the kernel crashes in ib_uverbs_qp_event_handler, due to trying to dereference a NULL uobject pointer. Note that simply checking for non-NULL is not enough, due to error flows in ib_uverbs_open_qp. If the failure is after assigning the uobject, but before the qp has fully been created, we still have a problem. Thus, in ib_uverbs_qp_event_handler, we test that the uobject is present, and also that it is live. Reported-by: Matthew Finlay <matt@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 8b0f93d9490653a7b9fc91f3570089132faed1c0 Author: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Date: Fri Sep 26 20:45:32 2014 +0530 IB/core: Clear AH attr variable to prevent garbage data During create-ah from userspace, uverbs is sending garbage data in attr.dmac and attr.vlan_id. This patch sets attr.dmac and attr.vlan_id to zero. Fixes: dd5f03beb4f7 ("IB/core: Ethernet L2 attributes in verbs/cm structures") Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit da92da3638a04894afdca8b99e973ddd20268471 Merge: f33a3fa 4204111 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 09:27:48 2014 +0200 Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull misc kbuild updates from Michal Marek: "This is the less critical kbuild stuff for v3.18-rc1: - make deb-pkg debuginfo fix, ppc64el support and warning fix for recent dpkg tools - make TAGS fixes - new coccinelle patch - kbuild documentation improvements" * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: deb-pkg: remove obsolete -isp option to dpkg-gencontrol coccinelle: misc: semantic patch to delete overly complex return code processing deb-pkg: Add support for powerpc little endian builddeb: put the dbg files into the correct directory scripts/tags.sh: fix DEFINE_HASHTABLE in emacs case scripts/tags.sh: remove *PCGFLAGS regular expressions scripts/tags.sh: Don't specify kind-spec for emacs' ctags/etags Documentation: kbuild: Improve grammar Documentation: kbuild: Remove obsolete dtc_cpp section Documentation: kbuild: Improve if_changed documentation Documentation: kbuild: Remove obsolete include/asm symlink step commit f33a3faa25c569d2a7640de66bea69e15c12ecd1 Merge: 1b5a5f5 3014223 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 09:22:26 2014 +0200 Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kbuild changes from Michal Marek: - fix for handling dependencies of *-objs targets by Masahiro Yamada - lots of cleanups in the kbuild machinery, also by Masahiro - fixes for the kconfig build to use an UTF-8 capable ncurses library if possible and to build on not-so-standard installs - some more minor fixes * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: kbuild: Do not reference *-n variables in the Makefile kbuild: simplify build, clean, modbuiltin shorthands kbuild: arm: Do not define "comma" twice kbuild: remove obj-n and lib-n handling kbuild: remove unnecessary variable initializaions kbuild: remove unnecessary "obj- := dummy.o" trick kbuild: handle C=... and M=... after entering into build directory kbuild: use $(Q) for sub-make target kbuild: fake the "Entering directory ..." message more simply kconfig/lxdialog: get ncurses CFLAGS with pkg-config kconfig: nconfig: fix multi-byte UTF handling kconfig: lxdialog: fix spelling kbuild: Make scripts executable kbuild: remove redundant clean-files from scripts/kconfig/Makefile kbuild: refactor script/kconfig/Makefile kbuild: handle the dependency of multi-objs hostprogs appropriately kbuild: handle multi-objs dependency appropriately commit 95926035b187cc9fee6fb61385b7da9c28123f74 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 13 23:18:02 2014 +0200 ALSA: emu10k1: Fix deadlock in synth voice lookup The emu10k1 voice allocator takes voice_lock spinlock. When there is no empty stream available, it tries to release a voice used by synth, and calls get_synth_voice. The callback function, snd_emu10k1_synth_get_voice(), however, also takes the voice_lock, thus it deadlocks. The fix is simply removing the voice_lock holds in snd_emu10k1_synth_get_voice(), as this is always called in the spinlock context. Reported-and-tested-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 811deedebab38f8360a700a52b0b75688c9a10f7 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 13 23:14:46 2014 +0200 ALSA: pcm: Fix referred substream in snd_pcm_action_group() unlock loop In the unlock loop of snd_pcm_action_group(), the object "s" is used as the check of nonatomic PCM, but it should be rather "s1", which is the iterator of the loop. This supposedly causes a kernel panic when the substreams in operatino are linked. Fixes: 257f8cce5d40 ('ALSA: pcm: Allow nonatomic trigger operations') Reported-and-tested-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1b5a5f59e3435337bede67b9255bbb1d39fc4827 Merge: b11445f d5d9622 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 08:40:15 2014 +0200 Merge tag 'fscache-fixes-20141013' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs Pull fs-cache fixes from David Howells: "Two fixes for bugs in CacheFiles and a cleanup in FS-Cache" * tag 'fscache-fixes-20141013' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: fs/fscache/object-list.c: use __seq_open_private() CacheFiles: Fix incorrect test for in-memory object collision CacheFiles: Handle object being killed before being set up commit b11445f830df0ec9271f39bff19ecc6f8db58eb8 Merge: 0ef3a56 91401a34 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 08:38:54 2014 +0200 Merge tag 'upstream-3.18-rc1-v2' of git://git.infradead.org/linux-ubifs Pull UBI/UBIFS fixes from Artem Bityutskiy: - fix for a theoretical race condition which could lead to a situation when UBIFS is unable to mount a file-system (Hujianyang) - a few fixes for the ubiblock sybsystem, error path fixes - the ubiblock subsystem has had the volume size change handling improved - a few fixes and nicifications in the fastmap subsystem * tag 'upstream-3.18-rc1-v2' of git://git.infradead.org/linux-ubifs: UBI: Fastmap: Calc fastmap size correctly UBIFS: Fix trivial typo in power_cut_emulated() UBI: Fix trivial typo in __schedule_ubi_work UBI: wl: Rename cancel flag to shutdown UBI: ubi_eba_read_leb: Remove in vain variable assignment UBIFS: Align the dump messages of SB_NODE UBI: Fix livelock in produce_free_peb() UBI: return on error in rename_volumes() UBI: Improve comment on work_sem UBIFS: Remove bogus assert UBI: Dispatch update notification if the volume is updated UBI: block: Add support for the UBI_VOLUME_UPDATED notification UBI: block: Fix block device size setting UBI: block: fix dereference on uninitialized dev UBI: add missing kmem_cache_free() in process_pool_aeb error path UBIFS: fix free log space calculation UBIFS: fix a race condition commit 813d32f91333e4c33d5a19b67167c4bae42dae75 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Tue Oct 14 02:35:49 2014 -0400 ext4: check s_chksum_driver when looking for bg csum presence Convert the ext4_has_group_desc_csum predicate to look for a checksum driver instead of the metadata_csum flag and change the bg checksum calculation function to look for GDT_CSUM before taking the crc16 path. Without this patch, if we mount with ^uninit_bg,^metadata_csum and later metadata_csum gets turned on by accident, the block group checksum functions will incorrectly assume that checksumming is enabled (metadata_csum) but that crc16 should be used (!s_chksum_driver). This is totally wrong, so fix the predicate and the checksum formula selection. (Granted, if the metadata_csum feature bit gets enabled on a live FS then something underhanded is going on, but we could at least avoid writing garbage into the on-disk fields.) Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 0ef3a56b1c466629cd0bf482b09c7b0e5a085bb5 Merge: dfe2c6d a1480dc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 08:35:01 2014 +0200 Merge branch 'CVE-2014-7975' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux Pull do_umount fix from Andy Lutomirski: "This fix really ought to be safe. Inside a mountns owned by a non-root user namespace, the namespace root almost always has MNT_LOCKED set (if it doesn't, then there's a bug, because rootfs could be exposed). In that case, calling umount on "/" will return -EINVAL with or without this patch. Outside a userns, this patch will have no effect. may_mount, required by umount, already checks ns_capable(current->nsproxy->mnt_ns->user_ns, CAP_SYS_ADMIN) so an additional capable(CAP_SYS_ADMIN) check will have no effect. That leaves anything that calls umount on "/" in a non-root userns while chrooted. This is the case that is currently broken (it remounts ro, which shouldn't be allowed) and that my patch changes to -EPERM. If anything relies on *that*, I'd be surprised" * 'CVE-2014-7975' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux: fs: Add a missing permission check to do_umount commit b395f75eabb3844c99244928293796ff42feaa3d Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Oct 13 23:03:16 2014 +1100 lib/raid6: Add log level to printks Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 6c144d316478ccfff9452292edae5a59587463a2 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 16:15:38 2014 +1000 md: move EXPORT_SYMBOL to after function in md.c Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 2cbbca5e7c38d0c776497f586688464f8cfb1583 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 16:02:19 2014 +1000 md: discard PRINT_RAID_DEBUG ioctl All the interesting information printed by this ioctl is provided in /proc/mdstat and/or sysfs. So it isn't needed and isn't used and would be best if it didn't exist. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 403df4788837cdaceaa55bcfae1c6eade2abdb5b Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 15:52:29 2014 +1000 md: remove MD_BUG() Most of the places that call this are doing so pointlessly. A couple of the others a best replaced with WARN_ON(). Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 3adc28d85f18aebc34011cb7308a579c58072fe1 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 15:46:41 2014 +1000 md: clean up 'exit' labels in md_ioctl(). There are 4 labels and we only really need two. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 326eb17d73a6b424ed7c47c693ff53721618fc48 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 15:36:28 2014 +1000 md: remove unnecessary test for MD_MAJOR in md_ioctl() unknown ioctls no longer get this deep into md_ioctl since md_ioctl_valid() was introduced in 3.14. So remove the test and the misleading comment. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit e1960f8c5cd1420dd2ecf0754a136956246365e7 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 15:24:25 2014 +1000 md: don't allow "-sync" to be set for device in an active array. If an array is active, devices can be marked 'faulty', but simply removing the 'sync' flag is wrong. That only makes sense for an array which is not active (and is probably only useful for testing anyway). Signed-off-by: NeilBrown <neilb@xxxxxxx> commit f72ffdd68616e3697bc782b21c82197aeb480fd5 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 14:23:59 2014 +1000 md: remove unwanted white space from md.c My editor shows much of this is RED. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit ac05f256691fe427a3e84c19261adb0b67dd73c0 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 30 08:10:42 2014 +1000 md: don't start resync thread directly from md thread. The main 'md' thread is needed for processing writes, so if it blocks write requests could be delayed. Starting a new thread requires some GFP_KERNEL allocations and so can wait for writes to complete. This can deadlock. So instead, ask a workqueue to start the sync thread. There is no particular rush for this to happen, so any work queue will do. MD_RECOVERY_RUNNING is used to ensure only one thread is started. Reported-by: BillStuff <billstuff2001@xxxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 8b1afc3d6751063d3f0cdefe55719b1cd2f7edcc Author: NeilBrown <neilb@xxxxxxx> Date: Mon Sep 29 15:33:20 2014 +1000 md: Just use RCU when checking for overlap between arrays. We don't really need the full mddev_lock here, and having to drop it is messy. RCU is enough to protect these lists. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 50bd3774058137e687b41da8b31fdd3544f7d901 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Sep 25 15:28:34 2014 +0800 md: avoid potential long delay under pers_lock printk may cause long time lapse if value of printk_delay in sysctl is configured large by user. If register_md_personality takes long time to print in spinlock pers_lock, we may encounter high CPU usage rate when there are other pers_lock competitors who may be blocked to spin. We can avoid this condition by moving printk out of coverage of pers_lock spinlock. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 0638bb0e732fa2c839fceec93fc02e2347e0f596 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 25 17:43:47 2014 +1000 md: simplify export_array() We don't really need that for_each loop, or those MD_BUGs. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 4878e9eb88c3a3223de68760e64dd71da01a3118 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 25 17:00:11 2014 +1000 md: discard find_rdev_nr in favour of find_rdev_nr_rcu Having both is a waste - just use the one. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 1967cd5616c4792ef9d3cbaafe5fbe12fc429c9e Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 9 14:20:28 2014 +1000 md: use wait_event() to simplify md_super_wait() md_super_wait is really just wait_event() open-coded. So use the macro instead. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 9ba3b7f5d025915be2b8709e5fd35c9c3e9f14c6 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 9 14:00:15 2014 +1000 md: be more relaxed about stopping an array which isn't started. In general we don't allow an array to be stopped if it is in use. However if the array hasn't really been started yet, then any apparent use is an anomily, probably due to 'udev' or similar having a look to see what is there. This means that if something goes wrong while assembling an array it cannot reliably be un-assembled - STOP_ARRAY could fail. There is no value here, so change do_md_stop() to succeed despite concurrent opens if the array has not yet been activated. i.e. if ->pers is NULL. Reported-by: "Baldysiak, Pawel" <pawel.baldysiak@xxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> commit c95e6385e8098ef549008ab29d671bf528a50043 Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 9 13:54:11 2014 +1000 md/raid1: process_checks doesn't use its return value. process_checks() always returns '0', so change it to 'void'. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit b8e6a15a1af9b1c203002e7768e60136c4e0e5c6 Author: Markus Stockhausen <stockhausen@xxxxxxxxxxx> Date: Sat Aug 23 20:19:27 2014 +1000 md/raid5: fix init_stripe() inconsistencies raid5: fix init_stripe() inconsistencies 1) remove_hash() is not necessary. We will only be called right after get_free_stripe(). There we have already a call to remove_hash(). 2) Tracing prints out the sector of the freed stripe and not the sector that we want to initialize. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit c4796e215f487de9bc93731a81e885ac866ef7dc Author: NeilBrown <neilb@xxxxxxx> Date: Sat Aug 23 20:19:26 2014 +1000 md/raid10: another memory leak due to reshape. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit dfe2c6dcc8ca2cdc662d7c0473e9811b72ef3370 Merge: a45d572 64e4550 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 03:54:50 2014 +0200 Merge branch 'akpm' (patches from Andrew Morton) Merge second patch-bomb from Andrew Morton: - a few hotfixes - drivers/dma updates - MAINTAINERS updates - Quite a lot of lib/ updates - checkpatch updates - binfmt updates - autofs4 - drivers/rtc/ - various small tweaks to less used filesystems - ipc/ updates - kernel/watchdog.c changes * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (135 commits) mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared kernel/param: consolidate __{start,stop}___param[] in <linux/moduleparam.h> ia64: remove duplicate declarations of __per_cpu_start[] and __per_cpu_end[] frv: remove unused declarations of __start___ex_table and __stop___ex_table kvm: ensure hard lockup detection is disabled by default kernel/watchdog.c: control hard lockup detection default staging: rtl8192u: use %*pEn to escape buffer staging: rtl8192e: use %*pEn to escape buffer staging: wlan-ng: use %*pEhp to print SN lib80211: remove unused print_ssid() wireless: hostap: proc: print properly escaped SSID wireless: ipw2x00: print SSID via %*pE wireless: libertas: print esaped string via %*pE lib/vsprintf: add %*pE[achnops] format specifier lib / string_helpers: introduce string_escape_mem() lib / string_helpers: refactoring the test suite lib / string_helpers: move documentation to c-file include/linux: remove strict_strto* definitions arch/x86/mm/numa.c: fix boot failure when all nodes are hotpluggable fs: check bh blocknr earlier when searching lru ... commit a45d572841a24db02a62cf05e1157c35fdd3705b Merge: fc2414b e803d4b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 03:51:22 2014 +0200 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu Pull m68knommu update from Greg Ungerer: "The major change is to remove the arch/m68k/platform directory. The coldfire (and other non-mmu m68k platform) code is moved to the arch/m68k level, making them consistent with the traditional m68k platforms. A couple of other minor miscellaneous fixes as well" * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: m68k: Fix typo 'COFNIG_MBAR' m68knommu: add missing ioport_map() and ioport_unmap() m68k/coldfire: remove second asm/mcfclk.h inclusion in m54xx.c m68knommu: fix size of address field for 5272 interrupt controller m68k: fix crufty 68000 and 68360 intro comments m68k: remove the unused arch/m68k/platform directory m68k: move non-mmu 68360 platform code m68k: move non-mmu 68000 platform code m68k: fix crufty ColdFire intro comments m68k: move coldfire platform code commit fc2414b4b4569fab5404c6f49f36bae0dfa3d936 Merge: 31003e3 5dab4b7 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 03:50:34 2014 +0200 Merge tag 'please-pull-sys_bpf' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux Pull ia64 update from Tony Luck: "Wire up bpf syscall for ia64" * tag 'please-pull-sys_bpf' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux: [IA64] Enable bpf syscall for ia64 commit 31003e3a9df675f1ac85d7bcf8e5a5d622576375 Merge: 1ee07ef 5f78659 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 03:49:02 2014 +0200 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml Pull UML update from Richard Weinberger: "Besides of fixes this contains also support for CONFIG_STACKTRACE by Daniel Walter" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml: um: net: Eliminate NULL test after alloc_bootmem um: Add support for CONFIG_STACKTRACE um: ubd: Fix for processes stuck in D state forever um: delete unnecessary bootmem struct page array um: remove csum_partial_copy_generic_i386 to clean up exception table commit 1ee07ef6b5db7235b133ee257a3adf507697e6b3 Merge: 7765490 0cccdda Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 03:47:00 2014 +0200 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 updates from Martin Schwidefsky: "This patch set contains the main portion of the changes for 3.18 in regard to the s390 architecture. It is a bit bigger than usual, mainly because of a new driver and the vector extension patches. The interesting bits are: - Quite a bit of work on the tracing front. Uprobes is enabled and the ftrace code is reworked to get some of the lost performance back if CONFIG_FTRACE is enabled. - To improve boot time with CONFIG_DEBIG_PAGEALLOC, support for the IPTE range facility is added. - The rwlock code is re-factored to improve writer fairness and to be able to use the interlocked-access instructions. - The kernel part for the support of the vector extension is added. - The device driver to access the CD/DVD on the HMC is added, this will hopefully come in handy to improve the installation process. - Add support for control-unit initiated reconfiguration. - The crypto device driver is enhanced to enable the additional AP domains and to allow the new crypto hardware to be used. - Bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (39 commits) s390/ftrace: simplify enabling/disabling of ftrace_graph_caller s390/ftrace: remove 31 bit ftrace support s390/kdump: add support for vector extension s390/disassembler: add vector instructions s390: add support for vector extension s390/zcrypt: Toleration of new crypto hardware s390/idle: consolidate idle functions and definitions s390/nohz: use a per-cpu flag for arch_needs_cpu s390/vtime: do not reset idle data on CPU hotplug s390/dasd: add support for control unit initiated reconfiguration s390/dasd: fix infinite loop during format s390/mm: make use of ipte range facility s390/setup: correct 4-level kernel page table detection s390/topology: call set_sched_topology early s390/uprobes: architecture backend for uprobes s390/uprobes: common library for kprobes and uprobes s390/rwlock: use the interlocked-access facility 1 instructions s390/rwlock: improve writer fairness s390/rwlock: remove interrupt-enabling rwlock variant. s390/mm: remove change bit override support ... commit 77654908ff1a58cee4886298968b5262884aff0b Merge: 2fd7476 d286c3a 8091c1f f12c1f9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:31:22 2014 +0200 Merge branches 'x86-ras-for-linus', 'x86-uv-for-linus' and 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 ras, uv and vdso fixlets from Ingo Molnar: "ras: tone down a kernel message to only occur during initial bootup, not during suspend/resume cycles. uv: a cleanup commit vdso: a fix to error checking" * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mce: Avoid showing repetitive message from intel_init_thermal() * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/apic/uv: Remove unnecessary #ifdef * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/vdso: Fix vdso2c's special_pages[] error checking commit 2fd7476de999124bbf6830aa59ac092c882280fe Merge: ba1a96f 4ea48a0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:28:16 2014 +0200 Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fixes from Ingo Molnar: "Misc smaller fixes that missed the v3.17 cycle" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/build: Add arch/x86/purgatory/ make generated files to gitignore x86: Fix section conflict for numachip x86: Reject x32 executables if x32 ABI not supported x86_64, entry: Filter RFLAGS.NT on entry from userspace x86, boot, kaslr: Fix nuisance warning on 32-bit builds commit ba1a96fc7ddcaf0c8d4a6752f6a70f080bc307ac Merge: f1bfbd9 1dcf74f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:27:06 2014 +0200 Merge branch 'x86-seccomp-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 seccomp changes from Ingo Molnar: "This tree includes x86 seccomp filter speedups and related preparatory work, which touches core seccomp facilities as well. The main idea is to split seccomp into two phases, to be able to enter a simple fast path for syscalls with ptrace side effects. There's no substantial user-visible (and ABI) effects expected from this, except a change in how we emit a better audit record for SECCOMP_RET_TRACE events" * 'x86-seccomp-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86_64, entry: Use split-phase syscall_trace_enter for 64-bit syscalls x86_64, entry: Treat regs->ax the same in fastpath and slowpath syscalls x86: Split syscall_trace_enter into two phases x86, entry: Only call user_exit if TIF_NOHZ x86, x32, audit: Fix x32's AUDIT_ARCH wrt audit seccomp: Document two-phase seccomp and arch-provided seccomp_data seccomp: Allow arch code to provide seccomp_data seccomp: Refactor the filter callback and the API seccomp,x86,arm,mips,s390: Remove nr parameter from secure_computing commit f1bfbd984b4e2177886507b6a0ec5faeb6d7c217 Merge: df133e8 aece118 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:23:55 2014 +0200 Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 platform updates from Ingo Molnar: "The main changes in this tree are: - fix and update Intel Quark [Galileo] SoC platform support - update IOSF chipset side band interface and make it available via debugfs - enable HPETs on Soekris net6501 and other e6xx based systems" * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Add cpu_detect_cache_sizes to init_intel() add Quark legacy_cache() x86: Quark: Comment setup_arch() to document TLB/PGE bug x86/intel/quark: Switch off CR4.PGE so TLB flush uses CR3 instead x86/platform/intel/iosf: Add debugfs config option for IOSF x86/platform/intel/iosf: Add better description of IOSF driver in config x86/platform/intel/iosf: Add Braswell PCI ID x86/platform/pmc_atom: Fix warning when CONFIG_DEBUG_FS=n x86: HPET force enable for e6xx based systems x86/iosf: Add debugfs support x86/iosf: Add Kconfig prompt for IOSF_MBI selection commit df133e8fa8e1d4afa57c84953bf80eaed2b145e0 Merge: e343833 beb9147 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:22:41 2014 +0200 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 mm updates from Ingo Molnar: "This tree includes the following changes: - fix memory hotplug - fix hibernation bootup memory layout assumptions - fix hyperv numa guest kernel messages - remove dead code - update documentation" * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm: Update memory map description to list hypervisor-reserved area x86/mm, hibernate: Do not assume the first e820 area to be RAM x86/mm/numa: Drop dead code and rename setup_node_data() to setup_alloc_data() x86/mm/hotplug: Modify PGD entry when removing memory x86/mm/hotplug: Pass sync_global_pgds() a correct argument in remove_pagetable() x86: Remove set_pmd_pfn commit e3438330f58330ec236c861d43f46bef06780e62 Merge: c7b228a 44afe60 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:21:51 2014 +0200 Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 microcode loading updates from Ingo Molnar: "Misc smaller cleanups" * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, microcode, intel: Fix total_size computation x86, microcode, intel: Rename apply_microcode and declare it static x86, microcode, intel: Fix typos x86, microcode, intel: Add missing static declarations x86, microcode, amd: Fix missing static declaration commit c7b228adcafe5024a60fc246476e11af8699b759 Merge: 708d0b4 6f46b3a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:20:50 2014 +0200 Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 FPU updates from Ingo Molnar: "x86 FPU handling fixes, cleanups and enhancements from Oleg. The signal handling race fix and the __restore_xstate_sig() preemption fix for eager-mode is marked for -stable as well" * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: copy_thread: Don't nullify ->ptrace_bps twice x86, fpu: Shift "fpu_counter = 0" from copy_thread() to arch_dup_task_struct() x86, fpu: copy_process: Sanitize fpu->last_cpu initialization x86, fpu: copy_process: Avoid fpu_alloc/copy if !used_math() x86, fpu: Change __thread_fpu_begin() to use use_eager_fpu() x86, fpu: __restore_xstate_sig()->math_state_restore() needs preempt_disable() x86, fpu: shift drop_init_fpu() from save_xstate_sig() to handle_signal() commit 708d0b41a26907ac83cde41dd5a75b5a2f8f1218 Merge: f1d0d14 9298b81 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 14 02:19:47 2014 +0200 Merge branch 'x86-cpufeature-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cpufeature updates from Ingo Molnar: "This tree includes the following changes: - Introduce DISABLED_MASK to list disabled CPU features, to simplify CPU feature handling and avoid excessive #ifdefs - Remove the lightly used cpu_has_pae() primitive" * 'x86-cpufeature-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Add more disabled features x86: Introduce disabled-features x86: Axe the lightly-used cpu_has_pae commit 64e455079e1bd7787cc47be30b7f601ce682a5f6 Author: Peter Feiner <pfeiner@xxxxxxxxxx> Date: Mon Oct 13 15:55:46 2014 -0700 mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared For VMAs that don't want write notifications, PTEs created for read faults have their write bit set. If the read fault happens after VM_SOFTDIRTY is cleared, then the PTE's softdirty bit will remain clear after subsequent writes. Here's a simple code snippet to demonstrate the bug: char* m = mmap(NULL, getpagesize(), PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_SHARED, -1, 0); system("echo 4 > /proc/$PPID/clear_refs"); /* clear VM_SOFTDIRTY */ assert(*m == '\0'); /* new PTE allows write access */ assert(!soft_dirty(x)); *m = 'x'; /* should dirty the page */ assert(soft_dirty(x)); /* fails */ With this patch, write notifications are enabled when VM_SOFTDIRTY is cleared. Furthermore, to avoid unnecessary faults, write notifications are disabled when VM_SOFTDIRTY is set. As a side effect of enabling and disabling write notifications with care, this patch fixes a bug in mprotect where vm_page_prot bits set by drivers were zapped on mprotect. An analogous bug was fixed in mmap by commit c9d0bf241451 ("mm: uncached vma support with writenotify"). Signed-off-by: Peter Feiner <pfeiner@xxxxxxxxxx> Reported-by: Peter Feiner <pfeiner@xxxxxxxxxx> Suggested-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Jamie Liu <jamieliu@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 63a12d9d01831208a47f5c0fbbf93f503d1fb162 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:44 2014 -0700 kernel/param: consolidate __{start,stop}___param[] in <linux/moduleparam.h> Consolidate the various external const and non-const declarations of __start___param[] and __stop___param in <linux/moduleparam.h>. This requires making a few struct kernel_param pointers in kernel/params.c const. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4c6327dfaf20d6207efa765320748fd8699f74b0 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:41 2014 -0700 ia64: remove duplicate declarations of __per_cpu_start[] and __per_cpu_end[] They're already provided by <asm/sections.h>. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: "Luck, Tony" <tony.luck@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bd6aa7e51aea1bf58c4a917630dae31def11bd2d Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:39 2014 -0700 frv: remove unused declarations of __start___ex_table and __stop___ex_table Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9919e39a17381058dd0cdef2f78dbf5619e26474 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Mon Oct 13 15:55:37 2014 -0700 kvm: ensure hard lockup detection is disabled by default Use watchdog_enable_hardlockup_detector() to set hard lockup detection's default value to false. It's risky to run this detection in a guest, as false positives are easy to trigger, especially if the host is overcommitted. Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6e7458a6f074c71e74cda31c483114e65ea0f570 Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Mon Oct 13 15:55:35 2014 -0700 kernel/watchdog.c: control hard lockup detection default In some cases we don't want hard lockup detection enabled by default. An example is when running as a guest. Introduce watchdog_enable_hardlockup_detector(bool) allowing those cases to disable hard lockup detection. This must be executed early by the boot processor from e.g. smp_prepare_boot_cpu, in order to allow kernel command line arguments to override it, as well as to avoid hard lockup detection being enabled before we've had a chance to indicate that it's unwanted. In summary, initial boot: default=enabled smp_prepare_boot_cpu watchdog_enable_hardlockup_detector(false): default=disabled cmdline has 'nmi_watchdog=1': default=enabled The running kernel still has the ability to enable/disable at any time with /proc/sys/kernel/nmi_watchdog us usual. However even when the default has been overridden /proc/sys/kernel/nmi_watchdog will initially show '1'. To truly turn it on one must disable/enable it, i.e. echo 0 > /proc/sys/kernel/nmi_watchdog echo 1 > /proc/sys/kernel/nmi_watchdog This patch will be immediately useful for KVM with the next patch of this series. Other hypervisor guest types may find it useful as well. [akpm@xxxxxxxxxxxxxxxxxxxx: fix build] [dzickus@xxxxxxxxxx: fix compile issues on sparc] Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a1db92830d0a71e1429725992eb91470214c820 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:33 2014 -0700 staging: rtl8192u: use %*pEn to escape buffer Let's use kernel's native specifier to escape a buffer. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 50d5e53ddfc0d9cf4707d7d8e22624b26ab9114e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:31 2014 -0700 staging: rtl8192e: use %*pEn to escape buffer Let's use kernel's native specifier to escape a buffer. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 068c11dac2a5df02c650b8511e10055c95073d5a Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:29 2014 -0700 staging: wlan-ng: use %*pEhp to print SN This is a generic specifier to print an escaped buffer by given criteria. Let's use it instead of custom approach. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5df1415aee48e1d20328238d3077e39793e83232 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:27 2014 -0700 lib80211: remove unused print_ssid() In kernel we have %*pE specifier to print an escaped buffer. All users now switched to that approach. This fixes a bug as well. The current implementation wrongly prints octal numbers: only two first digits are used in case when 3 are required and the rest of the string ends up cut off. Additionally by default the \f, \v, \a, and \e are escaped to their alphabetic representation. It's safe to do since it is currently used for messaging only. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e5ead669a3de3cc822f19b7289932ffbf9664328 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:24 2014 -0700 wireless: hostap: proc: print properly escaped SSID Instead of substituting non-printable characters by '_' let's print SSID properly escaped by using recently added %*pE specifier. [akpm@xxxxxxxxxxxxxxxxxxxx: fix printk type warning] [akpm@xxxxxxxxxxxxxxxxxxxx: remove now-unused local `i'] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4b4890cb6aebb1669879a02c51a3c3eff629dff0 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:22 2014 -0700 wireless: ipw2x00: print SSID via %*pE Instead of custom approach this allows to print escaped strings via recently added kernel extension: %*pE. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit da169607ae17c4340fe2ab286130741266709b07 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:20 2014 -0700 wireless: libertas: print esaped string via %*pE Instead of custom approach this allows to print escaped strings via recently added kernel extension: %*pE. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 71dca95d5cf5ece6c1bee8e625e23c16025952c7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:18 2014 -0700 lib/vsprintf: add %*pE[achnops] format specifier This allows user to print a given buffer as an escaped string. The rules are applied according to an optional mix of flags provided by additional format letters. For example, if the given buffer is: 1b 62 20 5c 43 07 22 90 0d 5d The result strings would be: %*pE "\eb \C\a"\220\r]" %*pEhp "\x1bb \C\x07"\x90\x0d]" %*pEa "\e\142\040\\\103\a\042\220\r\135" Please, read Documentation/printk-formats.txt and lib/string_helpers.c kernel documentation to get further information. [akpm@xxxxxxxxxxxxxxxxxxxx: tidy up comment layout, per Joe] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c8250381c8272a9828fdd353171727b154fbd296 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:16 2014 -0700 lib / string_helpers: introduce string_escape_mem() This is almost the opposite function to string_unescape(). Nevertheless it handles \0 and could be used for any byte buffer. The documentation is supplied together with the function prototype. The test cases covers most of the scenarios and would be expanded later on. [akpm@xxxxxxxxxxxxxxxxxxxx: avoid 1k stack consumption] Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Wu Fengguang <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 45ff337a54c154680edf0c538e5c9eb4a2f862cc Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:14 2014 -0700 lib / string_helpers: refactoring the test suite This patch prepares test suite for a following update. It introduces test_string_check_buf() helper which checks the result and dumps an error. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d295634e965ecacdb44c6760b3ca4eae08812715 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:11 2014 -0700 lib / string_helpers: move documentation to c-file The introduced function string_escape_mem() is a kind of opposite to string_unescape. We have several users of such functionality each of them created custom implementation. The series contains clean up of test suite, adding new call, and switching few users to use it via %*pE specifier. Test suite covers all of existing and most of potential use cases. This patch (of 11): The documentation of API belongs to c-file. This patch moves it accordingly. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Cc: "John W . Linville" <linville@xxxxxxxxxxxxx> Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3db2e9cdc085144e243495137273e2318c53a82f Author: Daniel Walter <dwalter@xxxxxxxxxx> Date: Mon Oct 13 15:55:09 2014 -0700 include/linux: remove strict_strto* definitions Remove obsolete and unused strict_strto* functions Signed-off-by: Daniel Walter <dwalter@xxxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bd5cfb8977fbb49d9350f7c81cf1516142e35a6a Author: Xishi Qiu <qiuxishi@xxxxxxxxxx> Date: Mon Oct 13 15:55:07 2014 -0700 arch/x86/mm/numa.c: fix boot failure when all nodes are hotpluggable If all the nodes are marked hotpluggable, alloc node data will fail. Because __next_mem_range_rev() will skip the hotpluggable memory regions. numa_clear_kernel_node_hotplug() is called after alloc node data. numa_init() ... ret = init_func(); // this will mark hotpluggable flag from SRAT ... memblock_set_bottom_up(false); ... ret = numa_register_memblks(&numa_meminfo); // this will alloc node data(pglist_data) ... numa_clear_kernel_node_hotplug(); // in case all the nodes are hotpluggable ... numa_register_memblks() setup_node_data() memblock_find_in_range_node() __memblock_find_range_top_down() for_each_mem_range_rev() __next_mem_range_rev() This patch moves numa_clear_kernel_node_hotplug() into numa_register_memblks(), clear kernel node hotpluggable flag before alloc node data, then alloc node data won't fail even all the nodes are hotpluggable. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9470dd5d352985ba907df7554845f87a4b8f9ea5 Author: Zach Brown <zab@xxxxxxxxx> Date: Mon Oct 13 15:55:05 2014 -0700 fs: check bh blocknr earlier when searching lru It's very common for the buffer heads in the lru to have different block numbers. By comparing the blocknr before the bdev and size we can reduce the cost of searching in the very common case where all the entries have the same bdev and size. In quick hot cache cycle counting tests on a single fs workstation this cut the cost of a miss by about 20%. A diff of the disassembly shows the reordering of the bdev and blocknr comparisons. This is in such a tiny loop that skipping one comparison is a meaningful portion of the total work being done: 1628: 83 c1 01 add $0x1,%ecx 162b: 83 f9 08 cmp $0x8,%ecx 162e: 74 60 je 1690 <__find_get_block+0xa0> 1630: 89 c8 mov %ecx,%eax 1632: 65 4c 8b 04 c5 00 00 mov %gs:0x0(,%rax,8),%r8 1639: 00 00 163b: 4d 85 c0 test %r8,%r8 163e: 4c 89 c3 mov %r8,%rbx 1641: 74 e5 je 1628 <__find_get_block+0x38> - 1643: 4d 3b 68 30 cmp 0x30(%r8),%r13 + 1643: 4d 3b 68 18 cmp 0x18(%r8),%r13 1647: 75 df jne 1628 <__find_get_block+0x38> - 1649: 4d 3b 60 18 cmp 0x18(%r8),%r12 + 1649: 4d 3b 60 30 cmp 0x30(%r8),%r12 164d: 75 d9 jne 1628 <__find_get_block+0x38> 164f: 49 39 50 20 cmp %rdx,0x20(%r8) 1653: 75 d3 jne 1628 <__find_get_block+0x38> Signed-off-by: Zach Brown <zab@xxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f9f2bac27ca587dc3eb4737880ca4a8e5d92bd93 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:03 2014 -0700 kdb: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Jason Wessel <jason.wessel@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 484ac2f32d3a282bd583f7195b0b2970ef8d0c04 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:55:01 2014 -0700 thermal: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: Eduardo Valentin <edubezval@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7569055b81fc9e75b96d1a259163fc5325aac799 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:59 2014 -0700 staging: r8188eu: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3f8bfd9a7504bff350acd50c6eee23ca5c9913b2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:57 2014 -0700 s390/cio: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7fb1cab4ac8ef7a1fed5c19593cd5b4be1b1a9b3 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:54 2014 -0700 PNP: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 40f5c777ec61d908ffc7f2a6ccbed60d9930a1f8 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:52 2014 -0700 thinkpad_acpi: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Henrique de Moraes Holschuh <ibm-acpi@xxxxxxxxxx> Cc: Darren Hart <dvhart@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 30614cf34105c5b5b9a39c65a2ea32c58b03aa8e Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:50 2014 -0700 altera-stapl: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: "Igor M. Liplianin" <liplianin@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f3ae5baafba9e48e2d3b173b982a46ad90149b4 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:48 2014 -0700 input: edt-ft5x06: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b60459f080bf3a1fcc6f55cfb628d1d79423b6ff Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:46 2014 -0700 ib_srpt: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Roland Dreier <roland@xxxxxxxxxx> Cc: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 48a968763dba039972623caea2355fc573b559ba Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:44 2014 -0700 scsi: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b7a8d756fb8080ab6ba9f4a9d4056a1056245fbc Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:42 2014 -0700 batman-adv: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Marek Lindner <mareklindner@xxxxxxxxxxxxx> Acked-by: Antonio Quartulli <antonio@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a97df4277da28329f88520bc65d6310715563855 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:39 2014 -0700 isofs: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2bd63329cbdb6c6577d5ca0095dcb3e4f590ffca Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:37 2014 -0700 ocfs2: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 87e747cdb9828cb09828ccbdc398374192355c68 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:35 2014 -0700 cifs: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Steve French <sfrench@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c4dd08694b8f078900c8e0c86e369b667a5101c5 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:33 2014 -0700 video: fbdev: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 18082746a28588f94496f2daa050c11decb54179 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:31 2014 -0700 netfilter: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2bebf5cb4ea12164e7b15755baf423651e271146 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:29 2014 -0700 ARM: replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b0bfb63118612e3614cf77b115c00f895a42c96a Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:27 2014 -0700 lib: string: Make all calls to strnicmp into calls to strncasecmp The previous patch made strnicmp into a wrapper for strncasecmp. This patch makes all in-tree users of strnicmp call strncasecmp directly, while still making sure that the strnicmp symbol can be used by out-of-tree modules. It should be considered a temporary hack until all in-tree callers have been converted. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd514e727b18ff4d189b8e268db13729a4175091 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:25 2014 -0700 lib/string.c: remove duplicated function lib/string.c contains two functions, strnicmp and strncasecmp, which do roughly the same thing, namely compare two strings case-insensitively up to a given bound. They have slightly different implementations, but the only important difference is that strncasecmp doesn't handle len==0 appropriately; it effectively becomes strcasecmp in that case. strnicmp correctly says that two strings are always equal in their first 0 characters. strncasecmp is the POSIX name for this functionality. So rename the non-broken function to the standard name. To minimize the impact on the rest of the kernel (and since both are exported to modules), make strnicmp a wrapper for strncasecmp. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e48510f45107613bf14060eeabd658c49a044242 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:22 2014 -0700 arch/x86/kernel/cpu/common.c: fix unused symbol warning x86_64 allnoconfig: arch/x86/kernel/cpu/common.c:968: warning: 'syscall32_cpu_init' defined but not used Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cbc0ea79da2cbe70d8da9319895f07f872a3190 Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Date: Mon Oct 13 15:54:20 2014 -0700 scripts/sortextable: suppress warning: `relocs_size' may be used uninitialized In file included from scripts/sortextable.c:194:0: scripts/sortextable.c: In function `main': scripts/sortextable.h:176:3: warning: `relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized] memset(relocs, 0, relocs_size); ^ scripts/sortextable.h:106:6: note: `relocs_size' was declared here int relocs_size; ^ In file included from scripts/sortextable.c:192:0: scripts/sortextable.h:176:3: warning: `relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized] memset(relocs, 0, relocs_size); ^ scripts/sortextable.h:106:6: note: `relocs_size' was declared here int relocs_size; ^ gcc 4.9.1 Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Reviewed-by: Jamie Iles <jamie.iles@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f9a4d1103c1c4b9fa5b23b1ddc2666f015822ef2 Author: Javier Barrio <javier.barrio.mart@xxxxxxxxx> Date: Mon Oct 13 15:54:18 2014 -0700 scripts/headers_install.sh: fix error handling - headers_install requires at least two arguments - missed closing quote Signed-off-by: Javier Barrio <javier.barrio.mart@xxxxxxxxx> Cc: Michal Marek <mmarek@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0d5e75802c842ecc7c4778422c2d49609a889f3a Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Oct 13 15:54:16 2014 -0700 ipc: resolve shadow warnings Resolve some shadow warnings produced in W=2 builds by changing the name of some parameters and local variables. Change instances of "s64" because that clashes with the well-known typedef. Also change a local variable with the name "up" because that clashes with the name of of the "up" function for semaphores. These are hazards so eliminate the hazards by renaming them. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d66a0520cb46fb4f86b070e5f1926f6e53f23b38 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:54:14 2014 -0700 ipc/util.c: use __seq_open_private() instead of seq_open() Using __seq_open_private() removes boilerplate code from sysvipc_proc_open(). The resultant code is shorter and easier to follow. However, please note that __seq_open_private() call kzalloc() rather than kmalloc() which may affect timing due to the memory initialisation overhead. Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bf77b94c99ad5df0d97a52522fc7a220c0bf44fe Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Oct 13 15:54:12 2014 -0700 ipc/shm: kill the historical/wrong mm->start_stack check do_shmat() is the only user of ->start_stack (proc just reports its value), and this check looks ugly and wrong. The reason for this check is not clear at all, and it wrongly assumes that the stack can only grow down. But the main problem is that in general mm->start_stack has nothing to do with stack_vma->vm_start. Not only the application can switch to another stack and even unmap this area, setup_arg_pages() expands the stack without updating mm->start_stack during exec(). This means that in the likely case "addr > start_stack - size - PAGE_SIZE * 5" is simply impossible after find_vma_intersection() == F, or the stack can't grow anyway because of RLIMIT_STACK. Many thanks to Hugh for his explanations. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxx> Cc: Davidlohr Bueso <davidlohr.bueso@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1195d94e006b23c6292e78857e154872e33b6d7e Author: Andrey Vagin <avagin@xxxxxxxxxx> Date: Mon Oct 13 15:54:10 2014 -0700 ipc: always handle a new value of auto_msgmni proc_dointvec_minmax() returns zero if a new value has been set. So we don't need to check all charecters have been handled. Below you can find two examples. In the new value has not been handled properly. $ strace ./a.out open("/proc/sys/kernel/auto_msgmni", O_WRONLY) = 3 write(3, "0\n\0", 3) = 2 close(3) = 0 exit_group(0) $ cat /sys/kernel/debug/tracing/trace $strace ./a.out open("/proc/sys/kernel/auto_msgmni", O_WRONLY) = 3 write(3, "0\n", 2) = 2 close(3) = 0 $ cat /sys/kernel/debug/tracing/trace a.out-697 [000] .... 3280.998235: unregister_ipcns_notifier <-proc_ipcauto_dointvec_minmax Fixes: 9eefe520c814 ("ipc: do not use a negative value to re-enable msgmni automatic recomputin") Signed-off-by: Andrey Vagin <avagin@xxxxxxxxxx> Cc: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Manfred Spraul <manfred@xxxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Davidlohr Bueso <davidlohr@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c34d85aca91729596f876604e147892b81ecbbe9 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Mon Oct 13 15:54:07 2014 -0700 init/initramfs.c: resolve shadow warnings Resolve shadow warnings that are produced in W=2 builds by renaming a global with a too-generic name and renaming a formal parameter. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 906e36c5c717cc99e622350f533876feed9bffe0 Author: Mike Travis <travis@xxxxxxx> Date: Mon Oct 13 15:54:05 2014 -0700 x86: use optimized ioresource lookup in ioremap function Use the optimized ioresource lookup, "region_is_ram", for the ioremap function. If the region is not found, it falls back to the "page_is_ram" function. If it is found and it is RAM, then the usual warning message is issued, and the ioremap operation is aborted. Otherwise, the ioremap operation continues. Signed-off-by: Mike Travis <travis@xxxxxxx> Acked-by: Alex Thorlton <athorlton@xxxxxxx> Reviewed-by: Cliff Wickman <cpw@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Dave Young <dyoung@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 67cf13ceed89e2c1a967719e98624a20c48dfb5a Author: Mike Travis <travis@xxxxxxx> Date: Mon Oct 13 15:54:03 2014 -0700 x86: optimize resource lookups for ioremap We have a large university system in the UK that is experiencing very long delays modprobing the driver for a specific I/O device. The delay is from 8-10 minutes per device and there are 31 devices in the system. This 4 to 5 hour delay in starting up those I/O devices is very much a burden on the customer. There are two causes for requiring a restart/reload of the drivers. First is periodic preventive maintenance (PM) and the second is if any of the devices experience a fatal error. Both of these trigger this excessively long delay in bringing the system back up to full capability. The problem was tracked down to a very slow IOREMAP operation and the excessively long ioresource lookup to insure that the user is not attempting to ioremap RAM. These patches provide a speed up to that function. The modprobe time appears to be affected quite a bit by previous activity on the ioresource list, which I suspect is due to cache preloading. While the overall improvement is impacted by other overhead of starting the devices, this drastically improves the modprobe time. Also our system is considerably smaller so the percentages gained will not be the same. Best case improvement with the modprobe on our 20 device smallish system was from 'real 5m51.913s' to 'real 0m18.275s'. This patch (of 2): Since the ioremap operation is verifying that the specified address range is NOT RAM, it will search the entire ioresource list if the condition is true. To make matters worse, it does this one 4k page at a time. For a 128M BAR region this is 32 passes to determine the entire region does not contain any RAM addresses. This patch provides another resource lookup function, region_is_ram, that searches for the entire region specified, verifying that it is completely contained within the resource region. If it is found, then it is checked to be RAM or not, within a single pass. The return result reflects if it was found or not (-1), and whether it is RAM (1) or not (0). This allows the caller to fallback to the previous page by page search if it was not found. [akpm@xxxxxxxxxxxxxxxxxxxx: fix spellos and typos in comment] Signed-off-by: Mike Travis <travis@xxxxxxx> Acked-by: Alex Thorlton <athorlton@xxxxxxx> Reviewed-by: Cliff Wickman <cpw@xxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Cc: Dave Young <dyoung@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 76e512108935ecdb46792208dae5f59c7ea78e25 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:54:01 2014 -0700 FS/OMFS: block number sanity check during fill_super operation This patch defines maximum block number to 2^31. It also converts bitmap_size and array_size to unsigned int in omfs_get_imap Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Suggested-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Acked-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Tested-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5ef9819234e285abe6b616864e7b1b4607d39b58 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Oct 13 15:53:59 2014 -0700 memstick: r592: fix build warnings for !PM_SLEEP When PM_SLEEP is not enabled, the r592_clear_interrupts() function is never used. If so, don't build it to prevent a compiler warning. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Cc: Maxim Levitsky <maximlevitsky@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c70b17b6538ecda81050a0f5a5475137a0ae451f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:57 2014 -0700 fs/affs: remove redundant sys_tz declarations sys_tz is already declared in include/linux/time.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 73516ace940a7c3f374f3e34c3c03cd3886be62f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:54 2014 -0700 fs/affs/file.c: fix shadow warnings Four functions declared variables twice resulting in shadow warnings. This patch renames internal variables and adds blank line after declarations. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3bc759931d271dbe9c4156105173b81ecb35177c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:52 2014 -0700 fs/affs/inode.c: remove unused variable head is set to AFFS_HEAD(bh) but never used. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1e907f4f116dd94dcc751bc0a053acd29728cc95 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:50 2014 -0700 fs/affs/super.c: remove unused variable key is set in affs_fill_super but never used. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a841b65921a959c759da6b5c8d5dc21966b4cf86 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:53:48 2014 -0700 rbtree: add comment to rb_insert_augmented() The comment is copied from Documentation/rbtree.txt, but this comment is so important that it should also be in the code. Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Acked-by: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f8da964dfbdca0eb14f9bf67be4ab6d256f90b7f Author: Vivek Goyal <vgoyal@xxxxxxxxxx> Date: Mon Oct 13 15:53:46 2014 -0700 kexec-bzimage64: fix sparse warnings David Howells brought to my attention the mails generated by kbuild test bot and following sparse warnings were present. This patch fixes these warnings. arch/x86/kernel/kexec-bzimage64.c:270:5: warning: symbol 'bzImage64_probe' was not declared. Should it be static? arch/x86/kernel/kexec-bzimage64.c:328:6: warning: symbol 'bzImage64_load' was not declared. Should it be static? arch/x86/kernel/kexec-bzimage64.c:517:5: warning: symbol 'bzImage64_cleanup' was not declared. Should it be static? arch/x86/kernel/kexec-bzimage64.c:531:5: warning: symbol 'bzImage64_verify_sig' was not declared. Should it be static? arch/x86/kernel/kexec-bzimage64.c:546:23: warning: symbol 'kexec_bzImage64_ops' was not declared. Should it be static? Signed-off-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Reported-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 36f3f500efe6a19b7ce1e1205c105a2cbb2124d9 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Oct 13 15:53:44 2014 -0700 kexec: remove the unused function parameter This is a cleanup. In function parse_crashkernel_suffix, the parameter crash_base is not used. So here remove it. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a2d6aa8fa0750fe1d2fc9673d4a46b2fd87e44b3 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Oct 13 15:53:42 2014 -0700 kexec: check if crashk_res_low exists when exclude it from crash mem ranges Add a check if crashk_res_low exists just like GART region does. If crashk_res_low doesn't exist, calling exclude_mem_range is unnecessary. Meanwhile, since crashk_res_low has been initialized at definition, it's safe just use "if (crashk_low_res.end)" to check if it's exist. And this can make it consistent with other places of check. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 669280a152ce5144321c0e511498877383f34393 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Oct 13 15:53:40 2014 -0700 kexec: take the segment adding out of locate_mem_hole functions In locate_mem_hole functions, a memory hole is located and added as kexec_segment. But from the name of locate_mem_hole, it should only take responsibility of searching a available memory hole to contain data of a specified size. So in this patch add a new field 'mem' into kexec_buf, then take that kexec segment adding code out of locate_mem_hole_top_down and locate_mem_hole_bottom_up. This make clear of the functionality of locate_mem_hole just like it declars to do. And by this locate_mem_hole_callback chould be used later if anyone want to locate a memory hole for other use. Meanwhile Vivek suggested opening code function __kexec_add_segment(), that way we have to retreive ksegment pointer once and it is easy to read. So just do it in this patch and remove __kexec_add_segment() since no one use it anymore. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 887f4f8666960dcf8c13d516ff3e4311353f3206 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Mon Oct 13 15:53:37 2014 -0700 arch/x86/purgatory/Makefile: try to use automatic variable in kexec purgatory makefile Make the Makefile of kexec purgatory be consistent with others in linux src tree, and make it look generic and simple. Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b03023ecbdb76c1dec86b41ed80b123c22783220 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Oct 13 15:53:35 2014 -0700 coredump: add %i/%I in core_pattern to report the tid of the crashed thread format_corename() can only pass the leader's pid to the core handler, but there is no simple way to figure out which thread originated the coredump. As Jan explains, this also means that there is no simple way to create the backtrace of the crashed process: As programs are mostly compiled with implicit gcc -fomit-frame-pointer one needs program's .eh_frame section (equivalently PT_GNU_EH_FRAME segment) or .debug_frame section. .debug_frame usually is present only in separate debug info files usually not even installed on the system. While .eh_frame is a part of the executable/library (and it is even always mapped for C++ exceptions unwinding) it no longer has to be present anywhere on the disk as the program could be upgraded in the meantime and the running instance has its executable file already unlinked from disk. One possibility is to echo 0x3f >/proc/*/coredump_filter and dump all the file-backed memory including the executable's .eh_frame section. But that can create huge core files, for example even due to mmapped data files. Other possibility would be to read .eh_frame from /proc/PID/mem at the core_pattern handler time of the core dump. For the backtrace one needs to read the register state first which can be done from core_pattern handler: ptrace(PTRACE_SEIZE, tid, 0, PTRACE_O_TRACEEXIT) close(0); // close pipe fd to resume the sleeping dumper waitpid(); // should report EXIT PTRACE_GETREGS or other requests The remaining problem is how to get the 'tid' value of the crashed thread. It could be read from the first NT_PRSTATUS note of the core file but that makes the core_pattern handler complicated. Unfortunately %t is already used so this patch uses %i/%I. Automatic Bug Reporting Tool (https://github.com/abrt/abrt/wiki/overview) is experimenting with this. It is using the elfutils (https://fedorahosted.org/elfutils/) unwinder for generating the backtraces. Apart from not needing matching executables as mentioned above, another advantage is that we can get the backtrace without saving the core (which might be quite large) to disk. [mmilata@xxxxxxxxxx: final paragraph of changelog] Signed-off-by: Jan Kratochvil <jan.kratochvil@xxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Jan Kratochvil <jan.kratochvil@xxxxxxxxxx> Cc: Mark Wielaard <mjw@xxxxxxxxxx> Cc: Martin Milata <mmilata@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c3bea0e71892ef9100c01d3799cdae8cac273ef Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Mon Oct 13 15:53:33 2014 -0700 signal: use BUILD_BUG() instead of _NSIG_WORDS_is_unsupported_size() Kill _NSIG_WORDS_is_unsupported_size(), use BUILD_BUG() instead. This simplifies the code, avoids the nested-externs warnings, and this way we do not defer the problem to linker. Also, fix the indentation in _SIG_SET_BINOP() and _SIG_SET_OP(). Note: this patch assumes that the code like "if (0) BUILD_BUG();" is valid. If not (say __compiletime_error() is not defined and thus __compiletime_error_fallback() uses a negative array) we should fix BUILD_BUG() and/or BUILD_BUG_ON_MSG(). This code should be fine by definition, this is the documented purpose of BUILD_BUG(). [sfr@xxxxxxxxxxxxxxxx: fix powerpc build failures] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reported-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 877aabd6ce16bc17cf62c2356b5d61f36454c1ed Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:31 2014 -0700 fat: remove redundant sys_tz declaration sys_tz is already declared extern struct in include/linux/time.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 54cc6cea73bb5ddf0362a70ef58816898bfb7f87 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:29 2014 -0700 fs/reiserfs/journal.c: fix sparse context imbalance warning Merge conditional unlock/lock in the same condition to avoid sparse warning: fs/reiserfs/journal.c:703:36: warning: context imbalance in 'add_to_chunk' - unexpected unlock Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: Jeff Mahoney <jeffm@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 35c0b380d81bd566c37a252399f008928ef4b2cd Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:27 2014 -0700 fs/ufs/balloc.c: remove unused variable ucg is defined and set in ufs_bitmap_search but never used. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: Evgeniy Dushistov <dushistov@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a792d9082944fc0efcde7a58c59528f122663c52 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:53:25 2014 -0700 fs/hfs/hfs_fs.h: remove redundant sys_tz declaration sys_tz is already declared in include/linux/time.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b9f6614072687f1ea9bf09a99789c976cbe89714 Author: Andreas Rohner <andreas.rohner@xxxxxxx> Date: Mon Oct 13 15:53:22 2014 -0700 nilfs2: improve the performance of fdatasync() Support for fdatasync() has been implemented in NILFS2 for a long time, but whenever the corresponding inode is dirty the implementation falls back to a full-flegded sync(). Since every write operation has to update the modification time of the file, the inode will almost always be dirty and fdatasync() will fall back to sync() most of the time. But this fallback is only necessary for a change of the file size and not for a change of the various timestamps. This patch adds a new flag NILFS_I_INODE_SYNC to differentiate between those two situations. * If it is set the file size was changed and a full sync is necessary. * If it is not set then only the timestamps were updated and fdatasync() can go ahead. There is already a similar flag I_DIRTY_DATASYNC on the VFS layer with the exact same semantics. Unfortunately it cannot be used directly, because NILFS2 doesn't implement write_inode() and doesn't clear the VFS flags when inodes are written out. So the VFS writeback thread can clear I_DIRTY_DATASYNC at any time without notifying NILFS2. So I_DIRTY_DATASYNC has to be mapped onto NILFS_I_INODE_SYNC in nilfs_update_inode(). Signed-off-by: Andreas Rohner <andreas.rohner@xxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e2c7617ae36b27f97643bfa08aabe27e630c1a76 Author: Andreas Rohner <andreas.rohner@xxxxxxx> Date: Mon Oct 13 15:53:20 2014 -0700 nilfs2: add missing blkdev_issue_flush() to nilfs_sync_fs() Under normal circumstances nilfs_sync_fs() writes out the super block, which causes a flush of the underlying block device. But this depends on the THE_NILFS_SB_DIRTY flag, which is only set if the pointer to the last segment crosses a segment boundary. So if only a small amount of data is written before the call to nilfs_sync_fs(), no flush of the block device occurs. In the above case an additional call to blkdev_issue_flush() is needed. To prevent unnecessary overhead, the new flag nilfs->ns_flushed_device is introduced, which is cleared whenever new logs are written and set whenever the block device is flushed. For convenience the function nilfs_flush_device() is added, which contains the above logic. Signed-off-by: Andreas Rohner <andreas.rohner@xxxxxxx> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0f2a84f41aff6cefd1bc768738159d0cacea2f2d Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Mon Oct 13 15:53:18 2014 -0700 fs/befs/btree.c: remove typedef befs_btree_node The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for befs_btree_node. The following Coccinelle semantic patch detects the case. @tn1@ type td; @@ typedef struct { ... } td; @script:python tf@ td << tn1.td; tdres; @@ coccinelle.tdres = td; @@ type tn1.td; identifier tf.tdres; @@ -typedef struct + tdres { ... } -td ; @@ type tn1.td; identifier tf.tdres; @@ -td + struct tdres Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a882b14fe84951e236cd074e93575adc8a4be32e Author: Daniel Glöckner <daniel-gl@xxxxxxx> Date: Mon Oct 13 15:53:16 2014 -0700 rtc-cmos: fix wakeup from S5 without CONFIG_PM_SLEEP Commit b5ada4600dfd ("drivers/rtc/rtc-cmos.c: fix compilation warning when !CONFIG_PM_SLEEP") broke wakeup from S5 by making cmos_poweroff a nop unless CONFIG_PM_SLEEP was defined. Fix this by restricting the #ifdef to cmos_resume and restoring the old dependency on CONFIG_PM for cmos_suspend and cmos_poweroff. Signed-off-by: Daniel Glöckner <daniel-gl@xxxxxxx> Cc: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 706b632d042c87a288f8b9adc8b6c83207e6d452 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Mon Oct 13 15:53:14 2014 -0700 drivers/rtc/Kconfig: Let several drivers depend on HAS_IOMEM to avoid compiling issue Some drivers need 'devm_ioremap_resource' or 'devm_ioremap' which need HAS_IOMEM, so let them depend on it. The related error (with allmodconfig under score): MODPOST 1365 modules ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-xgene.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-stk17ta8.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1742.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1553.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1511.ko] undefined! ERROR: "devm_ioremap_resource" [drivers/rtc/rtc-ds1286.ko] undefined! ERROR: "devm_ioremap" [drivers/rtc/rtc-rp5c01.ko] undefined! ERROR: "devm_ioremap" [drivers/rtc/rtc-msm6242.ko] undefined! ERROR: "devm_ioremap" [drivers/rtc/rtc-m48t59.ko] undefined! ERROR: "devm_ioremap" [drivers/rtc/rtc-m48t35.ko] undefined! ERROR: "devm_ioremap" [drivers/rtc/rtc-bq4802.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b513e522cb8bda32560fb6b7f0475aa56e486ab9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:53:12 2014 -0700 drivers/rtc/rtc-rs5c372.c: use %*ph to dump small buffers Instead of pushing each byte let's reduce stack usage by using %*ph specifier. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ff38237f183ecd8a190318e0046138b92ee5e35 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 13 15:53:10 2014 -0700 drivers/rtc/rtc-pcf8563.c: fix pcf8563_irq() error return value As pointed out by Sergei Shtylyov, the pcf8563_irq function contains a bug in the error handling: an interrupt handler is not supposed to return an errno value but an 'enum irqreturn'. Let's fix this by returning IRQ_NONE in case of a communication error. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e698a51239f26c370247d759da9ea016f5841fc3 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 13 15:53:07 2014 -0700 drivers/rtc/rtc-pcf8563.c: fix uninitialized use warning gcc-4.9 found a potential condition under which the 'pending' variable may be used uninitialized: drivers/rtc/rtc-pcf8563.c: In function 'pcf8563_irq': drivers/rtc/rtc-pcf8563.c:173:5: warning: 'pending' may be used uninitialized in this function [-Wmaybe-uninitialized] This is because in the pcf8563_get_alarm_mode() function, we check any nonzero return of pcf8563_read_block_data, but in the irq function we only check for negative values, so a possible positive value does not get detected if the compiler chooses not to inline the entire call chain. Checking for any non-zero value in the interrupt handler as well is just as correct and lets the compiler know what we are doing, without needing a bogus initialization. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a4d4121ba753737c89e42a8df22e4859069fcf25 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:53:05 2014 -0700 rtc: add driver for Maxim 77802 PMIC Real-Time-Clock The MAX7802 PMIC has a Real-Time-Clock (RTC) with two alarms. This patch adds support for the RTC and is based on a driver added by Simon Glass to the Chrome OS kernel 3.8 tree. [akpm@xxxxxxxxxxxxxxxxxxxx: add comment clarifying ffs() use] Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Simon Glass <sjg@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a20cd88e20e59ce11ebca84fac769654193c51e0 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:53:03 2014 -0700 rtc: max77686: Use ffs() to calculate tm_wday max77686_rtc_calculate_wday() is used to calculate the day of the week to be filled in struct rtc_time but that function only calculates the number of bits shifted. So the ffs() function can be used to find the first bit set instead of a special function. [akpm@xxxxxxxxxxxxxxxxxxxx: add comment clarifying ffs() use] Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ea33c31b621e296356ab74ea0237ba7761f2287e Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:53:01 2014 -0700 rtc: max77686: remove unneeded info log If devm_rtc_device_register() fails a dev_err() is already reported so there is no need to do an additional dev_info(). Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1745d6d3bc181800ba2e0930ab15432b3e2755ff Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:59 2014 -0700 rtc: max77686: fail to probe if no RTC regmap irqchip is set The max77686 mfd driver adds a regmap IRQ chip which creates an IRQ domain that is used to map the virtual RTC alarm1 interrupt. The RTC driver assumes that this will always be true since the PMIC IRQ is a required property according to the max77686 DT binding doc. If an "interrupts" property is not defined for a max77686 PMIC, then the mfd probe function will fail and the RTC platform driver will never be probed. But even when it is not possible to probe the rtc-max77686 driver without a regmap IRQ chip, it's better to explicitly check if the IRQ chip data is not NULL and gracefully fail instead of getting an OOPS. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reported-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b50fac5ddb9748487aab3c5f8d323da01a6648f Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:57 2014 -0700 rtc: max77686: remove dead code for SMPL and WTSR The MAX77686 RTC chip has two features called SMPL (Sudden Momentary Power Loss) and WTSR (Watchdog Timeout and Software Resets). Support for these features seems to be implemented in the driver but compilation is disabled using a C pre-processor conditional. This code has been disabled since the driver was original merged in commit fca1dd031a28 ("rtc: max77686: add Maxim 77686 driver"). So, since this code has never been built, let's just remove it. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e7f7fc73693e0a9de693f261d63aa681f7979c33 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Oct 13 15:52:55 2014 -0700 rtc: max77686: Allow the max77686 rtc to wakeup the system This series add support for the Real Time clock present in the Maxim 77802 Power Managment IC. The version number is quite high because it previously was part of a bigger series [0] that aimed to add support for all the devices in the max77802 PMIC. But now that the max77802 dependencies were already merged for 3.17, the series were split but I kept the version numbering. While working on the max77802 rtc support a lot of feedback was given and the issues pointed out also apply to a driver for a similar PMIC RTC (max77686). So patches 01/06 to 05/06 in the series are cleanups for the max77686 driver and patch 06/06 adds the support for the max77802 RTC. The series were tested on an Exynos5250 Snow (max77686) and Exynos5420 Peach Pit (max77802) machines. This patch (of 6): The max77686 includes an RTC that keeps power during suspend. It's convenient to be able to use it as a wakeup source. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d5fae669a99d00dc9362da354f2b9fdfbeb669a7 Author: Pavel Machek <pavel@xxxxxx> Date: Mon Oct 13 15:52:52 2014 -0700 rtc: bq32000: add trickle charger device tree binding BQ32000 have "trickle chargers". Introduce a device tree binding for specifying the trickle charger configuration for that. Signed-off-by: Pavel Machek <pavel@xxxxxxx> Reviewed-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Matti Vaittinen <matti.vaittinen@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 765a98a6b9e71702fd8e3822b654f9041a206b47 Author: Pavel Machek <pavel@xxxxxx> Date: Mon Oct 13 15:52:50 2014 -0700 rtc: bq32000: add trickle charger option, with device tree binding BQ32000 devices have "trickle chargers". Introduce a code to enable the charger, based on device tree. Without charger, RTC does not keep time after power off. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Pavel Machek <pavel@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Matti Vaittinen <matti.vaittinen@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 33b04b7b7c03d04584be3f91ebc1eb40eb1ed33c Author: Matti Vaittinen <matti.vaittinen@xxxxxxx> Date: Mon Oct 13 15:52:48 2014 -0700 rtc: ds1307: add trickle charger device tree binding Some DS13XX devices have "trickle chargers". Introduce a device tree binding for specifying the trickle charger configuration for ds1339. Only ds1339 dt binding is supported because this is the only chip I have. I _assume_ the code would have worked on other allready supported chips. However I cannot check the resistor values for the other chips or test them. For other chips the driver code works as earlier Eg. it does not check the dt bindings at all Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Pavel Machek <pavel@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2ac848c018615bf3605faa711207518292d4bfef Author: Matti Vaittinen <matti.vaittinen@xxxxxxx> Date: Mon Oct 13 15:52:46 2014 -0700 Documentation: dt-bindings: trickle charger dt binding document for ds1339 Some DS13XX devices have "trickle chargers". Introduce a device tree binding for the resistor and diode configuration for enabling trickle charger. Signed-off-by: Matti Vaittinen <matti.vaittinen@xxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Pavel Machek <pavel@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 038b892aa925cd0530472284c7b4b3f32e2b1f56 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:44 2014 -0700 clk: RK808: add clkout driver for RK808 This is the initial version of the RK808 PMIC. This is a power management IC for multimedia products. It provides regulators that are able to supply power to processor cores and other components. The chip provides other modules including RTC, Clockout. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> says: Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Cc: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3ca1e326f5952f3acca320b8a91d92393a188c15 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:42 2014 -0700 RTC: RK808: add RTC driver for RK808 This is the initial version of the RK808 PMIC. This is a power management IC for multimedia products. It provides regulators that are able to supply power to processor cores and other components. The chip provides other modules including RTC, Clockout. Add RTC driver for supporting RTC device present inside RK808 PMIC. [akpm@xxxxxxxxxxxxxxxxxxxx: make tm_def static] Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Zhang Qing <zhangqing@xxxxxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> says: Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Dmitry Torokhov <dtor@xxxxxxxxxxxx> Cc: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a28885bc75da0aac61b975eb9c103407dbdf5cb5 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:39 2014 -0700 rtc: make of_device_ids const of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. This allows to mark all struct of_device_id below drivers/rtc const, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 78230477656295808c66226880d794818694e7f1 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Oct 13 15:52:37 2014 -0700 ARM: dts: fix wrong compatible string of Exynos3250 RTC dt node Fix wrong compatible string of Exynos3250 RTC (Real-Time Clock) dt node. The RTC of Exynos3250 must need additional source clock (XrtcXTI). Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit df9e26d093d33a097c5558aab017dd2f540ccfe5 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Oct 13 15:52:35 2014 -0700 rtc: s3c: add support for RTC of Exynos3250 SoC Add support for RTC of Exynos3250 SoC. The Exynos3250 needs source clock(32.768KHz) for RTC block. If source clock of RTC is registerd on clock list of common clk framework, Exynos RTC drvier have to control this clock. Clock list for s3c-rtc device: - rtc : CLK_RTC of CLK_GATE_IP_PERIR is gate clock for RTC. - rtc_src : XrtcXTI is 32.768.kHz source clock for RTC. (XRTCXTI: Specifies a clock from 32.768 kHz crystal pad with XRTCXTI and XRTCXTO pins. RTC uses this clock as the source of a real-time clock.) Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ae05c95074e0ead8a8fda4aca066e10270086e3f Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Oct 13 15:52:33 2014 -0700 rtc: s3c: add s3c_rtc_data structure to use variant data instead of s3c_cpu_type Add s3c_rtc_data structure to variant data according to SoC type. The s3c_rtc_data structure includes some functions to control RTC operation and specific data dependent on SoC type. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d67288da51b782f54dd3ae1455b997131160fd41 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Oct 13 15:52:31 2014 -0700 rtc: s3c: remove warning message when checking coding style with checkpatch script Remove warning message when checking codeing style with checkpatch script and reduce un-necessary i2c read operation on s3c_rtc_enable. WARNING: line over 80 characters #406: FILE: drivers/rtc/rtc-s3c.c:406: + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_RTCEN) == 0) { WARNING: line over 80 characters #414: FILE: drivers/rtc/rtc-s3c.c:414: + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_CNTSEL)) { WARNING: line over 80 characters #422: FILE: drivers/rtc/rtc-s3c.c:422: + if ((readw(info->base + S3C2410_RTCCON) & S3C2410_RTCCON_CLKRST)) { WARNING: Missing a blank line after declarations #451: FILE: drivers/rtc/rtc-s3c.c:451: + struct s3c_rtc_drv_data *data; + if (pdev->dev.of_node) { WARNING: Missing a blank line after declarations #453: FILE: drivers/rtc/rtc-s3c.c:453: + const struct of_device_id *match; + match = of_match_node(s3c_rtc_dt_match, pdev->dev.of_node); WARNING: DT compatible string "samsung,s3c2416-rtc" appears un-documented -- check ./Documentation/devicetree/bindings/ #650: FILE: drivers/rtc/rtc-s3c.c:650: + .compatible = "samsung,s3c2416-rtc", WARNING: DT compatible string "samsung,s3c2443-rtc" appears un-documented -- check ./Documentation/devicetree/bindings/ #653: FILE: drivers/rtc/rtc-s3c.c:653: + .compatible = "samsung,s3c2443-rtc", Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 19be09f51d36101e4dc1577eb73ff8397bedd0a3 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Oct 13 15:52:28 2014 -0700 rtc: s3c: define s3c_rtc structure to remove global variables. Define s3c_rtc structure including necessary variables for S3C RTC device instead of global variables. This patch improves the readability by removing global variables. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 473b86451276d6d342ecd26d5e503163c30ea974 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Oct 13 15:52:26 2014 -0700 rtc: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 87d672cbd512c8dca01423381c94ac3658db0a18 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:24 2014 -0700 autofs: the documentation I wanted to read This documents autofs from the perspective of what the module actually supports rather than how automount is expected to use it. It is formatted using "markdown" and works best with Markdown.pl (markdown_py doesn't like some constructs). [rdunlap@xxxxxxxxxxxxx: copy editing] Signed-off-by: NeilBrown <neilb@xxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Acked-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ef16cc5909c907586f4eba5455e183fd319637c8 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:22 2014 -0700 autofs4: d_manage() should return -EISDIR when appropriate in rcu-walk mode. If rcu-walk mode we don't *have* to return -EISDIR for non-mount-traps as we will simply drop into REF-walk and handling DCACHE_NEED_AUTOMOUNT dentrys the slow way. But it is better if we do when possible. In 'oz_mode', use the same condition as ref-walk: if not a mountpoint, then it must be -EISDIR. In regular mode there are most tests needed. Most of them can be performed without taking any spinlocks. If we find a directory that isn't obviously empty, and isn't mounted on, we need to call 'simple_empty()' which does take a spinlock. If this turned out to hurt performance, some other approach could be found to signal when a directory is known to be empty. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Ian Kent <raven@xxxxxxxxxx> Tested-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4d885f90e3784df77945101d8ec32dc798a49862 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:20 2014 -0700 autofs4: avoid taking fs_lock during rcu-walk ->fs_lock protects AUTOFS_INF_EXPIRING. We need to be sure that once the flag is set, no new references beneath the dentry are taken. So rcu-walk currently needs to take fs_lock before checking the flag. This hurts performance. Change the expiry to a two-stage process. First set AUTOFS_INF_NO_RCU which forces any path walk into ref-walk mode, then drop the lock and call synchronize_rcu(). Once that returns we can be sure no rcu-walk is active beneath the dentry and we can check reference counts again. Now during an RCU-walk we can test AUTOFS_INF_EXPIRING without taking the lock as along as we test AUTOFS_INF_NO_RCU too. If either are set, we must abort the RCU-walk If neither are set, we know that refcounts will be tested again after we finish the RCU-walk so we are safe to continue. ->fs_lock is still taken in d_manage() to check for a non-trap directory. That will be resolved in the next patch. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Ian Kent <raven@xxxxxxxxxx> Tested-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6ece08e6187a62dd5bdf7c49539980571922c551 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:18 2014 -0700 autofs4: make "autofs4_can_expire" idempotent. Have a "test" function change the value it is testing can be confusing, particularly as a future patch will be calling this function twice. So move the update for 'last_used' to avoid repeat expiry to the place where the final determination on what to expire is known. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Ian Kent <raven@xxxxxxxxxx> Tested-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a5d1dba1430f059d5bb4bf1d95274ff01ccad3d9 Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:16 2014 -0700 autofs4: factor should_expire() out of autofs4_expire_indirect. Future patch will potentially call this twice, so make it separate. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Ian Kent <raven@xxxxxxxxxx> Tested-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 23bfc2a24ea3d993cc5cc90c9970654e7232502e Author: NeilBrown <neilb@xxxxxxx> Date: Mon Oct 13 15:52:14 2014 -0700 autofs4: allow RCU-walk to walk through autofs4 This series teaches autofs about RCU-walk so that we don't drop straight into REF-walk when we hit an autofs directory, and so that we avoid spinlocks as much as possible when performing an RCU-walk. This is needed so that the benefits of the recent NFS support for RCU-walk are fully available when NFS filesystems are automounted. Patches have been carefully reviewed and tested both with test suites and in production - thanks a lot to Ian Kent for his support there. This patch (of 6): Any attempt to look up a pathname that passes though an autofs4 mount is currently forced out of RCU-walk into REF-walk. This can significantly hurt performance of many-thread work loads on many-core systems, especially if the automounted filesystem supports RCU-walk but doesn't get to benefit from it. So if autofs4_d_manage is called with rcu_walk set, only fail with -ECHILD if it is necessary to wait longer than a spinlock. Signed-off-by: NeilBrown <neilb@xxxxxxx> Reviewed-by: Ian Kent <raven@xxxxxxxxxx> Tested-by: Ian Kent <raven@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a273345dcb1d74d12f28a0a76320b23e7e32f55 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 13 15:52:12 2014 -0700 fs/ncpfs/dir.c: remove redundant sys_tz declaration sys_tz is already declared in include/linux/time.h Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: Petr Vandrovec <petr@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0049f26ae0ad00016d8e237a6d712bff155cedc5 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:52:10 2014 -0700 kernel/kallsyms.c: use __seq_open_private() Reduce boilerplate code by using __seq_open_private() instead of seq_open() in kallsyms_open(). Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Cc: Gideon Israel Dsouza <gidisrael@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de8288b1f87146da06f6912028a1a9615a75c987 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 13 15:52:08 2014 -0700 binfmt_misc: work around gcc-4.9 warning gcc-4.9 on ARM gives us a mysterious warning about the binfmt_misc parse_command function: fs/binfmt_misc.c: In function 'parse_command.part.3': fs/binfmt_misc.c:405:7: warning: array subscript is above array bounds [-Warray-bounds] I've managed to trace this back to the ARM implementation of memset, which is called from copy_from_user in case of a fault and which does #define memset(p,v,n) \ ({ \ void *__p = (p); size_t __n = n; \ if ((__n) != 0) { \ if (__builtin_constant_p((v)) && (v) == 0) \ __memzero((__p),(__n)); \ else \ memset((__p),(v),(__n)); \ } \ (__p); \ }) Apparently gcc gets confused by the check for "size != 0" and believes that the size might be zero when it gets to the line that does "if (s[count-1] == '\n')", so it would access data outside of the array. gcc is clearly wrong here, since this condition was already checked earlier in the function and the 'size' value can not change in the meantime. Fortunately, we can work around it and get rid of the warning by rearranging the function to check for zero size after doing the copy_from_user. It is still safe to pass a zero size into copy_from_user, so it does not cause any side effects. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 43bd40e5b6eab989a2186b09d45b8ff8efd127b2 Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Mon Oct 13 15:52:05 2014 -0700 binfmt_misc: touch up documentation a bit Line wrap the content to 80 cols, and add more details to various fields to match the code. Drop reference to a website that does not exist anymore. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bbaecc088245e840e59a5abe23d69cf7748b3c88 Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Mon Oct 13 15:52:03 2014 -0700 binfmt_misc: expand the register format limit to 1920 bytes The current code places a 256 byte limit on the registration format. This ends up being fairly limited when you try to do matching against a binary format like ELF: - the magic & mask formats cannot have any embedded NUL chars (string_unescape_inplace halts at the first NUL) - each escape sequence quadruples the size: \x00 is needed for NUL - trying to match bytes at the start of the file as well as further on leads to a lot of \x00 sequences in the mask - magic & mask have to be the same length (when decoded) - still need bytes for the other fields - impossible! Let's look at a concrete (and common) example: using QEMU to run MIPS ELFs. The name field uses 11 bytes "qemu-mipsel". The interp uses 20 bytes "/usr/bin/qemu-mipsel". The type & flags takes up 4 bytes. We need 7 bytes for the delimiter (usually ":"). We can skip offset. So already we're down to 107 bytes to use with the magic/mask instead of the real limit of 128 (BINPRM_BUF_SIZE). If people use shell code to register (which they do the majority of the time), they're down to ~26 possible bytes since the escape sequence must be \x##. The ELF format looks like (both 32 & 64 bit): e_ident: 16 bytes e_type: 2 bytes e_machine: 2 bytes Those 20 bytes are enough for most architectures because they have so few formats in the first place, thus they can be uniquely identified. That also means for shell users, since 20 is smaller than 26, they can sanely register a handler. But for some targets (like MIPS), we need to poke further. The ELF fields continue on: e_entry: 4 or 8 bytes e_phoff: 4 or 8 bytes e_shoff: 4 or 8 bytes e_flags: 4 bytes We only care about e_flags here as that includes the bits to identify whether the ELF is O32/N32/N64. But now we have to consume another 16 bytes (for 32 bit ELFs) or 28 bytes (for 64 bit ELFs) just to match the flags. If every byte is escaped, we send 288 more bytes to the kernel ((20 {e_ident,e_type,e_machine} + 12 {e_entry,e_phoff,e_shoff} + 4 {e_flags}) * 2 {mask,magic} * 4 {escape}) and we've clearly blown our budget. Even if we try to be clever and do the decoding ourselves (rather than relying on the kernel to process \x##), we still can't hit the mark -- string_unescape_inplace treats mask & magic as C strings so NUL cannot be embedded. That leaves us with having to pass \x00 for the 12/24 entry/phoff/shoff bytes (as those will be completely random addresses), and that is a minimum requirement of 48/96 bytes for the mask alone. Add up the rest and we blow through it (this is for 64 bit ELFs): magic: 20 {e_ident,e_type,e_machine} + 24 {e_entry,e_phoff,e_shoff} + 4 {e_flags} = 48 # ^^ See note below. mask: 20 {e_ident,e_type,e_machine} + 96 {e_entry,e_phoff,e_shoff} + 4 {e_flags} = 120 Remember above we had 107 left over, and now we're at 168. This is of course the *best* case scenario -- you'll also want to have NUL bytes in the magic & mask too to match literal zeros. Note: the reason we can use 24 in the magic is that we can work off of the fact that for bytes the mask would clobber, we can stuff any value into magic that we want. So when mask is \x00, we don't need the magic to also be \x00, it can be an unescaped raw byte like '!'. This lets us handle more formats (barely) under the current 256 limit, but that's a pretty tall hoop to force people to jump through. With all that said, let's bump the limit from 256 bytes to 1920. This way we support escaping every byte of the mask & magic field (which is 1024 bytes by themselves -- 128 * 4 * 2), and we leave plenty of room for other fields. Like long paths to the interpreter (when you have source in your /really/long/homedir/qemu/foo). Since the current code stuffs more than one structure into the same buffer, we leave a bit of space to easily round up to 2k. 1920 is just as arbitrary as 256 ;). Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f78d98f6ce66fc7cc0be714d56b0240923a8b4f4 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:52:01 2014 -0700 checkpatch: warn on logging functions with KERN_<LEVEL> Warn on probable misuses of logging functions with KERN_<LEVEL> like pr_err(KERN_ERR "foo\n"); Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Suggested-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 840080a08492bd2bb3314077b672b59c88bbe0e6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:51:59 2014 -0700 checkpatch: add exception to return then else test Add an exception to the return before else warning when the line following it is also a return like: if (foo) return bar; else return baz; This form of a test then return is at least as readable as if (foo) return bar; return baz; so don't emit a warning on the first form. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Elshad Mustafayev <elshadimo@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 66b47b4a9dad00e45c049d79966de9a3a1f4d337 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Mon Oct 13 15:51:57 2014 -0700 checkpatch: look for common misspellings Check for misspellings, based on Debian's lintian list. Several false positives were removed, and several additional words added that were common in the kernel: backword backwords invalide valide recieves singed unsinged While going back and fixing existing spelling mistakes isn't a high priority, it'd be nice to try to catch them before they hit the tree. In the 13830 commits between 3.15 and 3.16, the script would have noticed 560 spelling mistakes. The top 25 are shown here: $ git log --pretty=oneline v3.15..v3.16 | wc -l 13830 $ git log --format='%H' v3.15..v3.16 | \ while read commit ; do \ echo "commit $commit" ; \ git log --format=email --stat -p -1 $commit | \ ./scripts/checkpatch.pl --types=typo_spelling --no-summary - ; \ done | tee spell_v3.15..v3.16.txt | grep "may be misspelled" | \ awk '{print $2}' | tr A-Z a-z | sort | uniq -c | sort -rn 21 'seperate' 17 'endianess' 15 'sucess' 13 'noticable' 11 'occured' 11 'accomodate' 10 'interrup' 9 'prefered' 8 'unecessary' 8 'explicitely' 7 'supress' 7 'overriden' 7 'immediatly' 7 'funtion' 7 'defult' 7 'childs' 6 'succesful' 6 'splitted' 6 'specifc' 6 'reseting' 6 'recieve' 6 'changable' 5 'tmis' 5 'singed' 5 'preceeding' Thanks to Joe Perches for rewrites, suggestions, additional misspelling entries, and testing. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Joe Perches <joe@xxxxxxxxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08a2843e77fc581d204c1e83de4678b746cdbd6e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:51:55 2014 -0700 checkpatch: warn on macros with flow control statements Macros with flow control statements (goto and return) are not very nice to read as any flow movement is unexpected. Try to highlight them and emit a warning on their definition. Avoid warning on macros that use argument concatenation as those macros commonly create another function where the concatenation is used in the function name definition like: #define FOO_FUNC(name, rtn_type) \ rtn_type func##name(arg1, ...) \ { \ rtn_type rtn; \ [code...] \ return rtn; \ } Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d2207ccbc59900311c88bb9150b24253cd4ddd49 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:51:53 2014 -0700 checkpatch: remove unnecessary + after {8,8} There's a useless "+" use that needs to be removed as perl 5.20 emits a "Useless use of greediness modifier '+'" message each time it's hit. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reported-by: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f17dba4fc0496eb0daf018074fccebdc85993c75 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:51:51 2014 -0700 checkpatch: add --strict test for concatenated string elements Using a space between concatenated string elements is easier for a human to read. ie: "String"FOO"bar" is easier to read as: "String" FOO "bar" So suggest this style with a --strict command line option. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 56193274ef54265afc93fd282655836595fcff9d Author: Vadim Bendebury <vbendeb@xxxxxxxxxxxx> Date: Mon Oct 13 15:51:48 2014 -0700 checkpatch: allow optional shorter config descriptions This script is used by many other projects, and in some of them the requirement of at least 4 line long description for all Kconfig items is excessive. This patch adds a command line option to control the required minimum length. Tested running this script over a patch including a two line config description. The script generated a warning when invoked as is, and did not generate it when invoked with --min-conf-desc-length=2. Signed-off-by: Vadim Bendebury <vbendeb@xxxxxxxxxxxx> Acked-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de4c924c265049e576036d1ee6fc9dfefeb5ae87 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Oct 13 15:51:46 2014 -0700 checkpatch: enable whitespace checks for DTS files When run on *.dtsi or *.dts files, the whitespace checks were skipped, while they are valid for DTS files. Hence stop skipping them. I ran checkpatch on all in-tree DTS files, and didn't notice any error or warning messages that are inappropriate for DTS files. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cdcee686ee9047185b7a484614f6c2faa5c4a7bb Author: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Date: Mon Oct 13 15:51:44 2014 -0700 checkpatch: update $allowed_asm_includes macros, add reboot.h and time.h Several architectures (e.g. x86, MIPS, Blackfin) have asm/reboot.h and asm/time.h header files, which are not included in linux/reboot.h and linux/time.h headers. This lead to generation of false positive errors. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@xxxxxxxxx> Cc: Andy Whitcroft <apw@xxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 72c231cb70eddb56e7e532f64dc22301044486dc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Oct 13 15:51:42 2014 -0700 checkpatch: remove debugging message An unnecessary --fix debugging left-over is removed. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 388982b55e3290d4970e4c2951f3f6348fd0c54b Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:40 2014 -0700 checkpatch: fix spello The plural of parenthesis is parentheses. Cc: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8a6f0b47dad5f8653f2f6ca6360f9f97b8113571 Author: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Date: Mon Oct 13 15:51:38 2014 -0700 lib: rename TEST_MODULE to TEST_LKM The "_MODULE" suffix is reserved for tristates compiled as loadable kernel modules (LKM). The "TEST_MODULE" feature thereby violates this convention. The feature is used to compile the lib/test_module.c kernel module. Sadly this convention is not made explicit, but the Kconfig code documents it. The following code (./scripts/kconfig/confdata.c) is used to generate the autoconf.h header file during the build process. When a feature is selected as a kernel module ('m'), it is suffixed with "_MODULE" to indicate it. switch (*value) { case 'n': break; case 'm': suffix = "_MODULE"; /* fall through */ This causes problems for static code analysis, which assumes a consistent use of the "_MODULE" suffix. This patch renames the feature and its reference in a Makefile to "TEST_LKM", which still expresses the test of a LKM. Signed-off-by: Valentin Rothberg <valentinrothberg@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6de8ab68bc30da75116209d818c75497bdaed09d Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:36 2014 -0700 lib: remove prio_heap The prio_heap code is unused since commit 889ed9ceaa97 ("cgroup: remove css_scan_tasks()"). It should be compiled out to shrink the binary kernel size which can be done via introducing CONFIG_PRIO_HEAD or by removing the code. We can simply recover the code from git when needed, so it would be better to remove it IMO. Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Francesco Fusco <ffusco@xxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: George Spelvin <linux@xxxxxxxxxxx> Cc: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fec22908323dc56ce38b835f5a67cce30fc7b6fc Author: Raphael Silva <rapphil@xxxxxxxxx> Date: Mon Oct 13 15:51:34 2014 -0700 lib/textsearch.c: remove textsearch_put reference from comments There is no textsearch_put(). Remove it from the comments to avoid misunderstanding. Textsearch prepare no longer needs textsearch_put(). Signed-off-by: Raphael Silva <rapphil@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4bad78c550025346de3fc5820e366c7b525e1889 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:32 2014 -0700 lib/dynamic_debug.c: use seq_open_private() instead of seq_open() Using seq_open_private() removes boilerplate code from ddebug_proc_open(). The resultant code is shorter and easier to follow. This patch does not change any functionality. Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Acked-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b21d9ca17ff8ed0dbf650f4162ee2d59bb5a881 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:30 2014 -0700 list: include linux/kernel.h linux/list.h uses container_of, therefore it depends on linux/kernel.h. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit af9f1b3c7fa953d3df82a4548d8984de40ac9017 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:28 2014 -0700 MAINTAINERS: remove Chirag Kantharia, invalid e-mail This removes Chirag Kantharia from the MAINTAINERS file, as his e-mail address is now rejected by the HP mail server. Make the driver "Orphan" until he gets back with a working e-mail address or a new maintainer steps in. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b4174867bee83e79dc155479cb1b67c452da6476 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:26 2014 -0700 MAINTAINERS: orphan m32r Update the maintenance status for m32r - Removing Hirokazu Takata as maintainer (last commit merged: Nov. 2009) - Remove mailing lists that no longer exist, as the ml.linux-m32r.org subdomain no longer exists. - Maintenance status moved to "Orphan" Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Acked-by: Hirokazu Takata <takata@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5cbac98ad146af2da00bdf004a36b684cb1dc632 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Mon Oct 13 15:51:24 2014 -0700 MAINTAINERS: add atmel nand driver maintainer entry Add an entry in MAINTAINERS file for ATMEL nand driver. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: Greg KH <greg@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 13b122b3e5843f6177d22bd9484ef58b3660e7da Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:21 2014 -0700 MAINTAINERS: add entry for Kernel Selftest Framework Add entry for Kernel Selftest Framework. Individual tests continue to be maintained by the maintainers for those areas. Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8ada6d2d3063148202caa43b9bf375e646a4efb3 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Oct 13 15:51:19 2014 -0700 MAINTAINERS: linaro-mm-sig is moderated Previous patch is awaiting moderator approval for posting to this mailing list. Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 004bbd3c01d4811d9bd88061d44773943c4df87b Author: Christian Kujau <lists@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:17 2014 -0700 MAINTAINERS: remove non existent files Inspired by some recent cleanups in MAINTAINERS the following files (F:) cannot be found any more in the tree: * arch/arm/mach-s5pv210/mach-aquila.c * arch/arm/mach-s5pv210/mach-goni.c Those two got removed in commit 28c8331d386a ("ARM: S5PV210: Remove support for board files"). Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> * drivers/rtc/rtc-sec.c A MAINTAINERS fix was attempted in November 2012, but dismissed as rtc-sec.c was still being worked on. Alas, it's still not there. "MAINTAINERS: fix drivers/rtc/rtc-sec.c" http://lkml.iu.edu/hypermail/linux/kernel/1211.2/04820.html Cc: Sangbeom Kim <sbkim73@xxxxxxxxxxx> Cc: Cesar Eduardo Barros <cesarb@xxxxxxxxxxxxx> Signed-off-by: Christian Kujau <lists@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fb9d4959d2fbe564720b9a00ed6dabeca0870811 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Oct 13 15:51:15 2014 -0700 MAINTAINERS: assign systemace driver to Xilinx Assign systemace driver to Xilinx Zynq to ensure if there is a change that someone can even test it. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 98e35f5894cf208084688ec0c7bb7b713efc997f Author: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:13 2014 -0700 printk: git rid of [sched_delayed] message for printk_deferred Commit 458df9fd4815 ("printk: remove separate printk_sched buffers and use printk buf instead") hardcodes printk_deferred() to KERN_WARNING and inserts the string "[sched_delayed] " before the actual message. However it doesn't take into account the KERN_* prefix of the message, that now ends up in the middle of the output: [sched_delayed] ^a4CE: hpet increased min_delta_ns to 20115 nsec Fix this by just getting rid of the "[sched_delayed] " scnprintf(). The prefix is useless since 458df9fd4815 anyway since from that moment printk_deferred() inserts the message into the kernel printk buffer immediately. So if the message eventually gets printed to console, it is printed in the correct order with other messages and there's no need for any special prefix. And if the kernel crashes before the message makes it to console, then prefix in the printk buffer doesn't make the situation any better. Link: http://lkml.org/lkml/2014/9/14/4 Signed-off-by: Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> Acked-by: Jan Kara <jack@xxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2240a31db67582468e2f7a5a5962b7d0ffaaa6a4 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:11 2014 -0700 printk: don't bother using LOG_CPU_MAX_BUF_SHIFT on !SMP When configuring a uniprocessor kernel, don't bother the user with an irrelevant LOG_CPU_MAX_BUF_SHIFT question, and don't build the unused code. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit de9e14eebf33a60712a52a0bc6e08c043c0aba53 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Oct 13 15:51:09 2014 -0700 drivers: dma-contiguous: add initialization from device tree Add a function to create CMA region from previously reserved memory and add support for handling 'shared-dma-pool' reserved-memory device tree nodes. Based on previous code provided by Josh Cartwright <joshc@xxxxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7bfa5ab6fa1b18f53fb94f922e107e6fbdc5e485 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Oct 13 15:51:07 2014 -0700 drivers: dma-coherent: add initialization from device tree Initialization procedure of dma coherent pool has been split into two parts, so memory pool can now be initialized without assigning to particular struct device. Then initialized region can be assigned to more than one struct device. To protect from concurent allocations from structure. The last part of this patch adds support for handling 'shared-dma-pool' reserved-memory device tree nodes. [akpm@xxxxxxxxxxxxxxxxxxxx: use more appropriate printk facility levels] [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 71458cfc782eafe4b27656e078d379a34e472adf Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Mon Oct 13 15:51:05 2014 -0700 kernel: add support for gcc 5 We're missing include/linux/compiler-gcc5.h which is required now because gcc branched off to v5 in trunk. Just copy the relevant bits out of include/linux/compiler-gcc4.h, no new code is added as of now. This fixes a build error when using gcc 5. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 68faed630fc151a7a1c4853df00fb3dcacf782b4 Author: Weijie Yang <weijie.yang@xxxxxxxxxxx> Date: Mon Oct 13 15:51:03 2014 -0700 mm/cma: fix cma bitmap aligned mask computing The current cma bitmap aligned mask computation is incorrect. It could cause an unexpected alignment when using cma_alloc() if the wanted align order is larger than cma->order_per_bit. Take kvm for example (PAGE_SHIFT = 12), kvm_cma->order_per_bit is set to 6. When kvm_alloc_rma() tries to alloc kvm_rma_pages, it will use 15 as the expected align value. After using the current implementation however, we get 0 as cma bitmap aligned mask other than 511. This patch fixes the cma bitmap aligned mask calculation. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Weijie Yang <weijie.yang@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.17] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 85c9f4b04a08f6bc770b77530c22d04103468b8f Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Mon Oct 13 15:51:01 2014 -0700 mm/slab: fix unaligned access on sparc64 Commit bf0dea23a9c0 ("mm/slab: use percpu allocator for cpu cache") changed the allocation method for cpu cache array from slab allocator to percpu allocator. Alignment should be provided for aligned memory in percpu allocator case, but, that commit mistakenly set this alignment to 0. So, percpu allocator returns unaligned memory address. It doesn't cause any problem on x86 which permits unaligned access, but, it causes the problem on sparc64 which needs strong guarantee of alignment. Following bug report is reported from David Miller. I'm getting tons of the following on sparc64: [603965.383447] Kernel unaligned access at TPC[546b58] free_block+0x98/0x1a0 [603965.396987] Kernel unaligned access at TPC[546b60] free_block+0xa0/0x1a0 ... [603970.554394] log_unaligned: 333 callbacks suppressed ... This patch provides a proper alignment parameter when allocating cpu cache to fix this unaligned memory access problem on sparc64. Reported-by: David Miller <davem@xxxxxxxxxxxxx> Tested-by: David Miller <davem@xxxxxxxxxxxxx> Tested-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a86073e48ae85c9b50127facb0cc45bbd35972a1 Author: Jens Axboe <axboe@xxxxxx> Date: Mon Oct 13 15:41:54 2014 -0600 blk-mq: allocate cpumask on the home node All other allocs are done on the specific node, somehow the cpumask for hw queue runs was missed. Fix that by using zalloc_cpumask_var_node() in blk_mq_init_queue(). Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b65c7491cb865577e83e6b7fae2aa2f4ea457c38 Author: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Date: Mon Oct 13 14:07:27 2014 -0700 bio-integrity: remove the needless fail handle of bip_slab creating bip_slab is created with SLAB_PANIC, so the fail handler is unneeded. Signed-off-by: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5f786595a291092d20fafe10c5a30378971a8cc3 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Jul 19 17:04:05 2014 +0530 um: net: Eliminate NULL test after alloc_bootmem alloc_bootmem and related functions never return NULL. Thus a NULL test or memset after calls to these functions is unnecessary. The following Coccinelle semantic patch was used for making the change: @@ expression E; statement S; @@ E = \(alloc_bootmem\|alloc_bootmem_low\|alloc_bootmem_pages\|alloc_bootmem_low_pages\)(...) ... when != E - if (E == NULL) S Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 970e51feaddbc33ed0e7d187af7f69d1a12c7b6a Author: Daniel Walter <dwalter@xxxxxxxxxx> Date: Wed Aug 20 10:56:00 2014 +0100 um: Add support for CONFIG_STACKTRACE Add stacktrace support for User Mode Linux Signed-off-by: Daniel Walter <dwalter@xxxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 2a2361228c5e6d8c1733f00653481de918598e50 Author: Thorsten Knabe <linux@xxxxxxxxxxxxxxxxx> Date: Sat Aug 23 15:47:38 2014 +0200 um: ubd: Fix for processes stuck in D state forever Starting with Linux 3.12 processes get stuck in D state forever in UserModeLinux under sync heavy workloads. This bug was introduced by commit 805f11a0d5 (um: ubd: Add REQ_FLUSH suppport). Fix bug by adding a check if FLUSH request was successfully submitted to the I/O thread and keeping the FLUSH request on the request queue on submission failures. Fixes: 805f11a0d5 (um: ubd: Add REQ_FLUSH suppport) Signed-off-by: Thorsten Knabe <linux@xxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx # >= 3.12 Signed-off-by: Richard Weinberger <richard@xxxxxx> commit d5d962265d99088ce96480db3e61358d7170e24c Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Wed Sep 17 09:56:40 2014 +0100 fs/fscache/object-list.c: use __seq_open_private() Reduce boilerplate code by using __seq_open_private() instead of seq_open() in fscache_objlist_open(). Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Steve Dickson <steved@xxxxxxxxxx> commit a30efe261b5a8fb2e3cf8ea9c3aca51e0619c2cc Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 30 14:50:30 2014 +0100 CacheFiles: Fix incorrect test for in-memory object collision When CacheFiles cache objects are in use, they have in-memory representations, as defined by the cachefiles_object struct. These are kept in a tree rooted in the cache and indexed by dentry pointer (since there's a unique mapping between object index key and dentry). Collisions can occur between a representation already in the tree and a new representation being set up because it takes time to dispose of an old representation - particularly if it must be unlinked or renamed. When such a collision occurs, cachefiles_mark_object_active() is meant to check to see if the old, already-present representation is in the process of being discarded (ie. FSCACHE_OBJECT_IS_LIVE is not set on it) - and, if so, wait for the representation to be removed (ie. CACHEFILES_OBJECT_ACTIVE is then cleared). However, the test for whether the old representation is still live is checking the new object - which always will be live at this point. This leads to an oops looking like: CacheFiles: Error: Unexpected object collision object: OBJ1b354 objstate=LOOK_UP_OBJECT fl=8 wbusy=2 ev=0[0] ops=0 inp=0 exc=0 parent=ffff88053f5417c0 cookie=ffff880538f202a0 [pr=ffff8805381b7160 nd=ffff880509c6eb78 fl=27] key=[8] '2490000000000000' xobject: OBJ1a600 xobjstate=DROP_OBJECT fl=70 wbusy=2 ev=0[0] xops=0 inp=0 exc=0 xparent=ffff88053f5417c0 xcookie=ffff88050f4cbf70 [pr=ffff8805381b7160 nd= (null) fl=12] ------------[ cut here ]------------ kernel BUG at fs/cachefiles/namei.c:200! ... Workqueue: fscache_object fscache_object_work_func [fscache] ... RIP: ... cachefiles_walk_to_object+0x7ea/0x860 [cachefiles] ... Call Trace: [<ffffffffa04dadd8>] ? cachefiles_lookup_object+0x58/0x100 [cachefiles] [<ffffffffa01affe9>] ? fscache_look_up_object+0xb9/0x1d0 [fscache] [<ffffffffa01afc4d>] ? fscache_parent_ready+0x2d/0x80 [fscache] [<ffffffffa01b0672>] ? fscache_object_work_func+0x92/0x1f0 [fscache] [<ffffffff8107e82b>] ? process_one_work+0x16b/0x400 [<ffffffff8107fc16>] ? worker_thread+0x116/0x380 [<ffffffff8107fb00>] ? manage_workers.isra.21+0x290/0x290 [<ffffffff81085edc>] ? kthread+0xbc/0xe0 [<ffffffff81085e20>] ? flush_kthread_worker+0x80/0x80 [<ffffffff81502d0c>] ? ret_from_fork+0x7c/0xb0 [<ffffffff81085e20>] ? flush_kthread_worker+0x80/0x80 Reported-by: Manuel Schölling <manuel.schoelling@xxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Steve Dickson <steved@xxxxxxxxxx> commit f1d0d14120a8a6224a8aead925cf4310f48947d5 Merge: bf10fa8 2ed53c0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 18:20:39 2014 +0200 Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cpu offlining patch from Ingo Molnar: "This tree includes a single commit that speeds up x86 suspend/resume by replacing a naive 100msec sleep based polling loop with proper completion notification. This gives some real suspend/resume benefit on servers with larger core counts" * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/smpboot: Speed up suspend/resume by avoiding 100ms sleep for CPU offline during S3 commit bf10fa857f0604865006d9705e63415b9d4e0d62 Merge: 5941fe3b 196cf35 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 18:19:01 2014 +0200 Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 cleanups from Ingo Molnar: "Three small cleanups" * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/tty/serial/8250: Clean up the asm/serial.h include file a bit x86/tty/serial/8250: Resolve missing-field-initializers warnings x86: Remove obsolete comment in uapi/e820.h commit 5941fe3b812adb68adde74cd0bab3c208901840c Merge: 19e00d5 5c63008 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 18:17:33 2014 +0200 Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 build update from Ingo Molnar: "A single commit that simplifies the no-FPU-ops build options" * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/kbuild: Eliminate duplicate command line options commit 19e00d593e9a273ecbfbe131676ed11c140670ac Merge: 197fe6b eeeda4c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 18:16:32 2014 +0200 Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 bootup updates from Ingo Molnar: "The changes in this cycle were: - Fix rare SMP-boot hang (mostly in virtual environments) - Fix build warning with certain (rare) toolchains" * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/relocs: Make per_cpu_load_addr static x86/smpboot: Initialize secondary CPU only if master CPU will wait for it commit 197fe6b0e6843b6859c6a1436ff19e3c444c0502 Merge: faafcba f74954f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 18:14:50 2014 +0200 Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 asm updates from Ingo Molnar: "The changes in this cycle were: - Speed up the x86 __preempt_schedule() implementation - Fix/improve low level asm code debug info annotations" * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86: Unwind-annotate thunk_32.S x86: Improve cmpxchg8b_emu.S x86: Improve cmpxchg16b_emu.S x86/lib/Makefile: Remove the unnecessary "+= thunk_64.o" x86: Speed up ___preempt_schedule*() by using THUNK helpers commit 9e6a57d2cdee36a6d9c5d5cc3db85713dd416719 Author: Honggang Li <enjoymindful@xxxxxxxxx> Date: Tue Jun 3 13:30:45 2014 +0800 um: delete unnecessary bootmem struct page array 1) uml kernel bootmem managed through bootmem_data->node_bootmem_map, not the struct page array, so the array is unnecessary. 2) the bootmem struct page array has been pointed by a *local* pointer, struct page *map, in init_maps function. The array can be accessed only in init_maps's scope. As a result, uml kernel wastes about 1% of total memory. Signed-off-by: Honggang Li <enjoymindful@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit 671312304ec73059a0128ff3ac7a5ced459098ae Author: Honggang Li <enjoymindful@xxxxxxxxx> Date: Thu Jun 5 12:15:24 2014 +0800 um: remove csum_partial_copy_generic_i386 to clean up exception table arch/x86/um/checksum_32.S had been copy & paste from x86. When build x86 uml, csum_partial_copy_generic_i386 mess up the exception table. In fact, exception table dose not work in uml kernel. And csum_partial_copy_generic_i386 never been called. So, delete it. Signed-off-by: Honggang Li <enjoymindful@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> commit b8fb9c30f25e45dab5d2cd310ab6913b6861d00f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Oct 13 10:56:12 2014 -0400 NFS: Fix a bogus warning in nfs_generic_pgio It is OK for pageused == pagecount in the loop, as long as we don't add another entry to the *pages array. Move the test so that it only triggers in that case. Reported-by: Steve Dickson <SteveD@xxxxxxxxxx> Fixes: bba5c1887a92 (nfs: disallow duplicate pages in pgio page vectors) Cc: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.16.x Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7b2b10e0e2c65ebc11314e1af9924d0824ec1562 Author: Robert Elliott <elliott@xxxxxx> Date: Wed Aug 27 10:50:36 2014 -0500 block: include func name in __get_request prints In __get_request calls to printk_ratelimited, include the function name so the callbacks suppressed message matches the messages that are printed, and add "dev" before the device name so it matches other block layer messages. Signed-off-by: Robert Elliott <elliott@xxxxxx> Reviewed-by: Webb Scales <webbnh@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ef3ecb66bcd6b2076dc8782e1315cf2807b73c0c Author: Robert Elliott <elliott@xxxxxx> Date: Wed Aug 27 10:50:31 2014 -0500 block: make blk_update_request print prefix match ratelimited prefix In blk_update_request, change the printk_ratelimited prefix from end_request to blk_update_request so it matches the name printed if rate limiting occurs. Old: [10234.933106] blk_update_request: 174 callbacks suppressed [10234.934940] end_request: critical target error, dev sdr, sector 16 [10234.949788] end_request: critical target error, dev sdr, sector 16 New: [16863.445173] blk_update_request: 398 callbacks suppressed [16863.447029] blk_update_request: critical target error, dev sdr, sector 1442066176 [16863.449383] blk_update_request: critical target error, dev sdr, sector 802802888 [16863.451680] blk_update_request: critical target error, dev sdr, sector 1609535456 Signed-off-by: Robert Elliott <elliott@xxxxxx> Reviewed-by: Webb Scales <webbnh@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3caa0c6ed754d91b15266abf222498edbef982bd Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Oct 13 10:26:43 2014 -0400 NFS: Fix an uninitialised pointer Oops in the writeback error path SteveD reports the following Oops: RIP: 0010:[<ffffffffa053461d>] [<ffffffffa053461d>] __put_nfs_open_context+0x1d/0x100 [nfs] RSP: 0018:ffff880fed687b90 EFLAGS: 00010286 RAX: 0000000000000024 RBX: 0000000000000000 RCX: 0000000000000006 RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000000000000 RBP: ffff880fed687bc0 R08: 0000000000000092 R09: 000000000000047a R10: 0000000000000000 R11: ffff880fed6878d6 R12: ffff880fed687d20 R13: ffff880fed687d20 R14: 0000000000000070 R15: ffffea000aa33ec0 FS: 00007fce290f0740(0000) GS:ffff8807ffc60000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000070 CR3: 00000007f2e79000 CR4: 00000000000007e0 DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 Stack: 0000000000000000 ffff880036c5e510 ffff880fed687d20 ffff880fed687d20 ffff880036c5e200 ffffea000aa33ec0 ffff880fed687bd0 ffffffffa0534710 ffff880fed687be8 ffffffffa053d5f0 ffff880036c5e200 ffff880fed687c08 Call Trace: [<ffffffffa0534710>] put_nfs_open_context+0x10/0x20 [nfs] [<ffffffffa053d5f0>] nfs_pgio_data_destroy+0x20/0x40 [nfs] [<ffffffffa053d672>] nfs_pgio_error+0x22/0x40 [nfs] [<ffffffffa053d8f4>] nfs_generic_pgio+0x74/0x2e0 [nfs] [<ffffffffa06b18c3>] pnfs_generic_pg_writepages+0x63/0x210 [nfsv4] [<ffffffffa053d579>] nfs_pageio_doio+0x19/0x50 [nfs] [<ffffffffa053eb84>] nfs_pageio_complete+0x24/0x30 [nfs] [<ffffffffa053cb25>] nfs_direct_write_schedule_iovec+0x115/0x1f0 [nfs] [<ffffffffa053675f>] ? nfs_get_lock_context+0x4f/0x120 [nfs] [<ffffffffa053d252>] nfs_file_direct_write+0x262/0x420 [nfs] [<ffffffffa0532d91>] nfs_file_write+0x131/0x1d0 [nfs] [<ffffffffa0532c60>] ? nfs_need_sync_write.isra.17+0x40/0x40 [nfs] [<ffffffff812127b8>] do_io_submit+0x3b8/0x840 [<ffffffff81212c50>] SyS_io_submit+0x10/0x20 [<ffffffff81610f29>] system_call_fastpath+0x16/0x1b This is due to the calls to nfs_pgio_error() in nfs_generic_pgio(), which happen before the nfs_pgio_header's open context is referenced in nfs_pgio_rpcsetup(). Reported-by: Steve Dickson <SteveD@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.16.x Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit faafcba3b5e15999cf75d5c5a513ac8e47e2545f Merge: 13ead80 f10e00f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 16:23:15 2014 +0200 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler updates from Ingo Molnar: "The main changes in this cycle were: - Optimized support for Intel "Cluster-on-Die" (CoD) topologies (Dave Hansen) - Various sched/idle refinements for better idle handling (Nicolas Pitre, Daniel Lezcano, Chuansheng Liu, Vincent Guittot) - sched/numa updates and optimizations (Rik van Riel) - sysbench speedup (Vincent Guittot) - capacity calculation cleanups/refactoring (Vincent Guittot) - Various cleanups to thread group iteration (Oleg Nesterov) - Double-rq-lock removal optimization and various refactorings (Kirill Tkhai) - various sched/deadline fixes ... and lots of other changes" * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (72 commits) sched/dl: Use dl_bw_of() under rcu_read_lock_sched() sched/fair: Delete resched_cpu() from idle_balance() sched, time: Fix build error with 64 bit cputime_t on 32 bit systems sched: Improve sysbench performance by fixing spurious active migration sched/x86: Fix up typo in topology detection x86, sched: Add new topology for multi-NUMA-node CPUs sched/rt: Use resched_curr() in task_tick_rt() sched: Use rq->rd in sched_setaffinity() under RCU read lock sched: cleanup: Rename 'out_unlock' to 'out_free_new_mask' sched: Use dl_bw_of() under RCU read lock sched/fair: Remove duplicate code from can_migrate_task() sched, mips, ia64: Remove __ARCH_WANT_UNLOCKED_CTXSW sched: print_rq(): Don't use tasklist_lock sched: normalize_rt_tasks(): Don't use _irqsave for tasklist_lock, use task_rq_lock() sched: Fix the task-group check in tg_has_rt_tasks() sched/fair: Leverage the idle state info when choosing the "idlest" cpu sched: Let the scheduler see CPU idle states sched/deadline: Fix inter- exclusive cpusets migrations sched/deadline: Clear dl_entity params when setscheduling to different class sched/numa: Kill the wrong/dead TASK_DEAD check in task_numa_fault() ... commit 13ead805c5a14b0e7ecd34f61404a5bfba655895 Merge: ebf546c df57714 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 16:10:06 2014 +0200 Merge branch 'perf-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull watchdog fixes from Ingo Molnar: "Two small watchdog subsystem fixes" * 'perf-watchdog-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: watchdog: Fix print-once on enable watchdog: Remove unnecessary header files commit ebf546cc5391b9a8a17c1196b05b4357ef0138a2 Merge: 9d9420f 9c2b9d3 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 16:06:09 2014 +0200 Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf fixes from Ingo Molnar: "Two leftover fixes from the v3.17 cycle - these will be forwarded to stable as well, if they prove problem-free in wider testing as well" [ Side note: the "fix perf bug in fork()" fix had also come in through Andrew's patch-bomb - Linus ] * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf: Fix perf bug in fork() perf: Fix unclone_ctx() vs. locking commit 9d9420f1209a1facea7110d549ac695f5aeeb503 Merge: 6d5f0eb cc6cd47 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:58:15 2014 +0200 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf updates from Ingo Molnar: "Kernel side updates: - Fix and enhance poll support (Jiri Olsa) - Re-enable inheritance optimization (Jiri Olsa) - Enhance Intel memory events support (Stephane Eranian) - Refactor the Intel uncore driver to be more maintainable (Zheng Yan) - Enhance and fix Intel CPU and uncore PMU drivers (Peter Zijlstra, Andi Kleen) - [ plus various smaller fixes/cleanups ] User visible tooling updates: - Add +field argument support for --field option, so that one can add fields to the default list of fields to show, ie now one can just do: perf report --fields +pid And the pid will appear in addition to the default fields (Jiri Olsa) - Add +field argument support for --sort option (Jiri Olsa) - Honour -w in the report tools (report, top), allowing to specify the widths for the histogram entries columns (Namhyung Kim) - Properly show submicrosecond times in 'perf kvm stat' (Christian Borntraeger) - Add beautifier for mremap flags param in 'trace' (Alex Snast) - perf script: Allow callchains if any event samples them - Don't truncate Intel style addresses in 'annotate' (Alex Converse) - Allow profiling when kptr_restrict == 1 for non root users, kernel samples will just remain unresolved (Andi Kleen) - Allow configuring default options for callchains in config file (Namhyung Kim) - Support operations for shared futexes. (Davidlohr Bueso) - "perf kvm stat report" improvements by Alexander Yarygin: - Save pid string in opts.target.pid - Enable the target.system_wide flag - Unify the title bar output - [ plus lots of other fixes and small improvements. ] Tooling infrastructure changes: - Refactor unit and scale function parameters for PMU parsing routines (Matt Fleming) - Improve DSO long names lookup with rbtree, resulting in great speedup for workloads with lots of DSOs (Waiman Long) - We were not handling POLLHUP notifications for event file descriptors Fix it by filtering entries in the events file descriptor array after poll() returns, refcounting mmaps so that when the last fd pointing to a perf mmap goes away we do the unmap (Arnaldo Carvalho de Melo) - Intel PT prep work, from Adrian Hunter, including: - Let a user specify a PMU event without any config terms - Add perf-with-kcore script - Let default config be defined for a PMU - Add perf_pmu__scan_file() - Add a 'perf test' for tracking with sched_switch - Add 'flush' callback to scripting API - Use ring buffer consume method to look like other tools (Arnaldo Carvalho de Melo) - hists browser (used in top and report) refactorings, getting rid of unused variables and reducing source code size by handling similar cases in a fewer functions (Namhyung Kim). - Replace thread unsafe strerror() with strerror_r() accross the whole tools/perf/ tree (Masami Hiramatsu) - Rename ordered_samples to ordered_events and allow setting a queue size for ordering events (Jiri Olsa) - [ plus lots of fixes, cleanups and other improvements ]" * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (198 commits) perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment perf/x86/intel/uncore: Fix minor race in box set up perf record: Fix error message for --filter option not coming after tracepoint perf tools: Fix build breakage on arm64 targets perf symbols: Improve DSO long names lookup speed with rbtree perf symbols: Encapsulate dsos list head into struct dsos perf bench futex: Sanitize -q option in requeue perf bench futex: Support operations for shared futexes perf trace: Fix mmap return address truncation to 32-bit perf tools: Refactor unit and scale function parameters perf tools: Fix line number in the config file error message perf tools: Convert {record,top}.call-graph option to call-graph.record-mode perf tools: Introduce perf_callchain_config() perf callchain: Move some parser functions to callchain.c perf tools: Move callchain config from record_opts to callchain_param perf hists browser: Fix callchain print bug on TUI perf tools: Use ACCESS_ONCE() instead of volatile cast perf tools: Modify error code for when perf_session__new() fails perf tools: Fix perf record as non root with kptr_restrict == 1 perf stat: Fix --per-core on multi socket systems ... commit 6d5f0ebfc0be9cbfeaafdd9258d5fa24b7975a36 Merge: dbb885f 8acd91e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:51:40 2014 +0200 Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull core locking updates from Ingo Molnar: "The main updates in this cycle were: - mutex MCS refactoring finishing touches: improve comments, refactor and clean up code, reduce debug data structure footprint, etc. - qrwlock finishing touches: remove old code, self-test updates. - small rwsem optimization - various smaller fixes/cleanups" * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: locking/lockdep: Revert qrwlock recusive stuff locking/rwsem: Avoid double checking before try acquiring write lock locking/rwsem: Move EXPORT_SYMBOL() lines to follow function definition locking/rwlock, x86: Delete unused asm/rwlock.h and rwlock.S locking/rwlock, x86: Clean up asm/spinlock*.h to remove old rwlock code locking/semaphore: Resolve some shadow warnings locking/selftest: Support queued rwlock locking/lockdep: Restrict the use of recursive read_lock() with qrwlock locking/spinlocks: Always evaluate the second argument of spin_lock_nested() locking/Documentation: Update locking/mutex-design.txt disadvantages locking/Documentation: Move locking related docs into Documentation/locking/ locking/mutexes: Use MUTEX_SPIN_ON_OWNER when appropriate locking/mutexes: Refactor optimistic spinning code locking/mcs: Remove obsolete comment locking/mutexes: Document quick lock release when unlocking locking/mutexes: Standardize arguments in lock/unlock slowpaths locking: Remove deprecated smp_mb__() barriers commit dbb885fecc1b1b35e93416bedd24d21bd20f60ed Merge: d6dd50e 2291059 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:48:00 2014 +0200 Merge branch 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull arch atomic cleanups from Ingo Molnar: "This is a series kept separate from the main locking tree, which cleans up and improves various details in the atomics type handling: - Remove the unused atomic_or_long() method - Consolidate and compress atomic ops implementations between architectures, to reduce linecount and to make it easier to add new ops. - Rewrite generic atomic support to only require cmpxchg() from an architecture - generate all other methods from that" * 'locking-arch-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits) locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read() locking, mips: Fix atomics locking, sparc64: Fix atomics locking,arch: Rewrite generic atomic support locking,arch,xtensa: Fold atomic_ops locking,arch,sparc: Fold atomic_ops locking,arch,sh: Fold atomic_ops locking,arch,powerpc: Fold atomic_ops locking,arch,parisc: Fold atomic_ops locking,arch,mn10300: Fold atomic_ops locking,arch,mips: Fold atomic_ops locking,arch,metag: Fold atomic_ops locking,arch,m68k: Fold atomic_ops locking,arch,m32r: Fold atomic_ops locking,arch,ia64: Fold atomic_ops locking,arch,hexagon: Fold atomic_ops locking,arch,cris: Fold atomic_ops locking,arch,avr32: Fold atomic_ops locking,arch,arm64: Fold atomic_ops locking,arch,arm: Fold atomic_ops ... commit d6dd50e07c5bec00db2005969b1a01f8ca3d25ef Merge: 5ff0b9e fd19bda Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 15:44:12 2014 +0200 Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull RCU updates from Ingo Molnar: "The main changes in this cycle were: - changes related to No-CBs CPUs and NO_HZ_FULL - RCU-tasks implementation - torture-test updates - miscellaneous fixes - locktorture updates - RCU documentation updates" * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (81 commits) workqueue: Use cond_resched_rcu_qs macro workqueue: Add quiescent state between work items locktorture: Cleanup header usage locktorture: Cannot hold read and write lock locktorture: Fix __acquire annotation for spinlock irq locktorture: Support rwlocks rcu: Eliminate deadlock between CPU hotplug and expedited grace periods locktorture: Document boot/module parameters rcutorture: Rename rcutorture_runnable parameter locktorture: Add test scenario for rwsem_lock locktorture: Add test scenario for mutex_lock locktorture: Make torture scripting account for new _runnable name locktorture: Introduce torture context locktorture: Support rwsems locktorture: Add infrastructure for torturing read locks torture: Address race in module cleanup locktorture: Make statistics generic locktorture: Teach about lock debugging locktorture: Support mutexes locktorture: Add documentation ... commit 8eef91239e57d2e932e7470879c9a504d5494ebb Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Oct 10 17:00:32 2014 +0200 arm/arm64: KVM: map MMIO regions at creation time There is really no point in faulting in memory regions page by page if they are not backed by demand paged system RAM but by a linear passthrough mapping of a host MMIO region. So instead, detect such regions at setup time and install the mappings for the backing all at once. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 5ff0b9e1a1da58b584aa4b8ea234be20b5a1164b Merge: 77c688a 6889e78 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 12:06:54 2014 +0200 Merge tag 'xfs-for-linus-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs Pull xfs update from Dave Chinner: "This update contains: - various cleanups - log recovery debug hooks - seek hole/data implementation merge - extent shift rework to fix collapse range bugs - various sparse warning fixes - log recovery transaction processing rework to fix use after free bugs - metadata buffer IO infrastructuer rework to ensure all buffers under IO have valid reference counts - various fixes for ondisk flags, writeback and zero range corner cases" * tag 'xfs-for-linus-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (56 commits) xfs: fix agno increment in xfs_inumbers() loop xfs: xfs_iflush_done checks the wrong log item callback xfs: flush the range before zero range conversion xfs: restore buffer_head unwritten bit on ioend cancel xfs: check for null dquot in xfs_quota_calc_throttle() xfs: fix crc field handling in xfs_sb_to/from_disk xfs: don't send null bp to xfs_trans_brelse() xfs: check for inode size overflow in xfs_new_eof() xfs: only set extent size hint when asked xfs: project id inheritance is a directory only flag xfs: kill time.h xfs: compat_xfs_bstat does not have forkoff xfs: simplify xfs_zero_remaining_bytes xfs: check xfs_buf_read_uncached returns correctly xfs: introduce xfs_buf_submit[_wait] xfs: kill xfs_bioerror_relse xfs: xfs_bioerror can die. xfs: kill xfs_bdstrat_cb xfs: rework xfs_buf_bio_endio error handling xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality ... commit 77c688ac87183537ed0fb84ec2cb8fa8ec97c458 Merge: 5e40d33 a457606 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Mon Oct 13 11:28:42 2014 +0200 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs Pull vfs updates from Al Viro: "The big thing in this pile is Eric's unmount-on-rmdir series; we finally have everything we need for that. The final piece of prereqs is delayed mntput() - now filesystem shutdown always happens on shallow stack. Other than that, we have several new primitives for iov_iter (Matt Wilcox, culled from his XIP-related series) pushing the conversion to ->read_iter()/ ->write_iter() a bit more, a bunch of fs/dcache.c cleanups and fixes (including the external name refcounting, which gives consistent behaviour of d_move() wrt procfs symlinks for long and short names alike) and assorted cleanups and fixes all over the place. This is just the first pile; there's a lot of stuff from various people that ought to go in this window. Starting with unionmount/overlayfs mess... ;-/" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (60 commits) fs/file_table.c: Update alloc_file() comment vfs: Deduplicate code shared by xattr system calls operating on paths reiserfs: remove pointless forward declaration of struct nameidata don't need that forward declaration of struct nameidata in dcache.h anymore take dname_external() into fs/dcache.c let path_init() failures treated the same way as subsequent link_path_walk() fix misuses of f_count() in ppp and netlink ncpfs: use list_for_each_entry() for d_subdirs walk vfs: move getname() from callers to do_mount() gfs2_atomic_open(): skip lookups on hashed dentry [infiniband] remove pointless assignments gadgetfs: saner API for gadgetfs_create_file() f_fs: saner API for ffs_sb_create_file() jfs: don't hash direct inode [s390] remove pointless assignment of ->f_op in vmlogrdr ->open() ecryptfs: ->f_op is never NULL android: ->f_op is never NULL nouveau: __iomem misannotations missing annotation in fs/file.c fs: namespace: suppress 'may be used uninitialized' warnings ... commit 56372082533afb859e6d64707859349a2ee171bf Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Sep 25 16:54:43 2014 +0530 ARC: boot: cpu feature print enhancements Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit c4b9856b5e1eb6d4f0d226f3c48be208475fc3d7 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Sep 25 16:07:44 2014 +0530 ARC: boot: consolidate cross-checking of h/w and s/w Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 52e9bae93802bd29c33be11e9e758ad7daac805f Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Sep 27 12:53:41 2014 +0530 ARC: unbork FPU save/restore Fixes: 2ab402dfd65d15a4b2 "ARC: make start_thread() out-of-line" CC: <stable@xxxxxxxxxxxxxxx> #3.16 Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit be64c997d96dd29029ed40d9df9cbf80fa1c7ed4 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Sat Sep 27 12:49:11 2014 +0530 ARC: remove extraneous __KERNEL__ guards Verified by doing make headers_install as none of these files are exported to userspace commit ebc0c74e76cec9c4dd860eb0ca1c0b39dc63c482 Author: Anton Kolesov <Anton.Kolesov@xxxxxxxxxxxx> Date: Thu Sep 25 13:23:24 2014 +0400 ARC: Update order of registers in KGDB to match GDB 7.5 Order of registers has changed in GDB moving from 6.8 to 7.5. This patch updates KGDB to work properly with GDB 7.5, though makes it incompatible with 6.8. Signed-off-by: Anton Kolesov <Anton.Kolesov@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #3.10, 3.12, 3.14, 3.16 commit cdd4552686b5225047ce24b8449380e02c1481e1 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Wed Sep 24 20:32:22 2014 +0200 ARC: Remove unneeded Kconfig entry NO_DMA Architectures only need a Kconfig entry for NO_DMA if it is possible that its value will be 'y'. For arc its value will always be 'n', making it pointless. Remove it. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 3872d05299b5ab58446f484df18f71cab4628c50 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 24 16:36:48 2014 +0530 ARC: BUG() dumps stack after @msg (@msg now same as in generic BUG)) ARC specific version (doesn't panic) still makes sense so that generic code calling BUG doesn't panic and helps debugging more Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit c59414cca188e561d450b77e44ad281579946f18 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 24 11:36:20 2014 +0530 ARC: refactoring: reduce the scope of some local vars Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 68d8feee85dd9ff68a2d740c90b08dc4ae2fb8e5 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Aug 7 16:24:47 2014 -0700 ARC: remove gcc mpy heuristics Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 435abb6daf310b4c1d681097887ea7239c310732 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 10 10:38:10 2014 +0530 ARC: RIP @running_on_hw * No active users of this flag anymore * flag itself was no longer usable with new simualtor which acts just like hardware, not providing the special chip-id = 0xffff which good old ISS used to do. Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit c4aa49df4dca6d41d3a7488cf582a0ab778ad06d Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Sep 19 01:28:24 2014 +0530 ARC: Update comments about uncached address space Suggested-by: Noam Camus <noamc@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 1736a56f3d1d5765fa8953d39a900a494d7e415c Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Mon Sep 8 11:18:15 2014 +0530 ARC: rename kconfig option for unaligned emulation Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 5c05483e2db91890faa9a7be0a831701a3f442d6 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Fri Jun 20 16:24:49 2014 +0530 ARC: [nsimosci] Allow "headless" models to boot There are certain test configuration of virtual platform which don't have any real console device (uart/pgu). So add tty0 as a fallback console device to allow system to boot and be accessible via telnet Otherwise with ttyS0 as only console, but 8250 disabled in kernel build, init chokes. Reported-by: Anton Kolesov <akolesov@xxxxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> #3.10, 3.12, 3.14, 3.16 commit b4c43b4908fb53c6cd00281f1b19cc54d7791299 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Sep 23 11:39:04 2014 +0200 ARC: [arcfpga] Get rid of ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 Commit c00bfd974fb0 ("ARC: [arcfpga] Get rid of legacy BVCI latency unit support") removed the Kconfig symbol ARC_HAS_BVCI_LAT_UNIT. And that symbol's entry was the only place were the symbols ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 were used. So ARC_BOARD_ANGEL4 and ARC_BOARD_ML509 can be removed too. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 72f933e77cfc8c7e38e7214fd774806eb7ecc038 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 10 11:19:28 2014 +0530 ARC: [arcfpga] Remove more dead code specifically after switching to generic early arc uart, whole bunch of code is no longer needed Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit d7f8a085d4f48501b1fa253b48ec4ad7cb4d02cc Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 10 11:10:54 2014 +0530 ARC: [plat*] move code out of .init_machine into common All the platforms do the same thing in init_machine callback so move it out of callback into caller of callback Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit 70e956483efd8a70e86fb2260dcd2395eb1affef Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Wed Sep 10 11:08:39 2014 +0530 ARC: [arcfpga] consolidate machine description, DT * AA4/ML509 have same machine descriptions * Rename simulation machine description Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit aef4885ae14f1df75b58395c5314d71f613d26d9 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Mon Oct 13 03:42:12 2014 -0400 ext4: move error report out of atomic context in ext4_init_block_bitmap() Error report likely result in IO so it is bad idea to do it from atomic context. This patch should fix following issue: BUG: sleeping function called from invalid context at include/linux/buffer_head.h:349 in_atomic(): 1, irqs_disabled(): 0, pid: 137, name: kworker/u128:1 5 locks held by kworker/u128:1/137: #0: ("writeback"){......}, at: [<ffffffff81085618>] process_one_work+0x228/0x4d0 #1: ((&(&wb->dwork)->work)){......}, at: [<ffffffff81085618>] process_one_work+0x228/0x4d0 #2: (jbd2_handle){......}, at: [<ffffffff81242622>] start_this_handle+0x712/0x7b0 #3: (&ei->i_data_sem){......}, at: [<ffffffff811fa387>] ext4_map_blocks+0x297/0x430 #4: (&(&bgl->locks[i].lock)->rlock){......}, at: [<ffffffff811f3180>] ext4_read_block_bitmap_nowait+0x5d0/0x630 CPU: 3 PID: 137 Comm: kworker/u128:1 Not tainted 3.17.0-rc2-00184-g82752e4 #165 Hardware name: Intel Corporation W2600CR/W2600CR, BIOS SE5C600.86B.99.99.x028.061320111235 06/13/2011 Workqueue: writeback bdi_writeback_workfn (flush-1:0) 0000000000000411 ffff880813777288 ffffffff815c7fdc ffff880813777288 ffff880813a8bba0 ffff8808137772a8 ffffffff8108fb30 ffff880803e01e38 ffff880803e01e38 ffff8808137772c8 ffffffff811a8d53 ffff88080ecc6000 Call Trace: [<ffffffff815c7fdc>] dump_stack+0x51/0x6d [<ffffffff8108fb30>] __might_sleep+0xf0/0x100 [<ffffffff811a8d53>] __sync_dirty_buffer+0x43/0xe0 [<ffffffff811a8e03>] sync_dirty_buffer+0x13/0x20 [<ffffffff8120f581>] ext4_commit_super+0x1d1/0x230 [<ffffffff8120fa03>] save_error_info+0x23/0x30 [<ffffffff8120fd06>] __ext4_error+0xb6/0xd0 [<ffffffff8120f260>] ? ext4_group_desc_csum+0x140/0x190 [<ffffffff811f2d8c>] ext4_read_block_bitmap_nowait+0x1dc/0x630 [<ffffffff8122e23a>] ext4_mb_init_cache+0x21a/0x8f0 [<ffffffff8113ae95>] ? lru_cache_add+0x55/0x60 [<ffffffff8112e16c>] ? add_to_page_cache_lru+0x6c/0x80 [<ffffffff8122eaa0>] ext4_mb_init_group+0x190/0x280 [<ffffffff8122ec51>] ext4_mb_good_group+0xc1/0x190 [<ffffffff8123309a>] ext4_mb_regular_allocator+0x17a/0x410 [<ffffffff8122c821>] ? ext4_mb_use_preallocated+0x31/0x380 [<ffffffff81233535>] ? ext4_mb_new_blocks+0x205/0x8e0 [<ffffffff8116ed5c>] ? kmem_cache_alloc+0xfc/0x180 [<ffffffff812335b0>] ext4_mb_new_blocks+0x280/0x8e0 [<ffffffff8116f2c4>] ? __kmalloc+0x144/0x1c0 [<ffffffff81221797>] ? ext4_find_extent+0x97/0x320 [<ffffffff812257f4>] ext4_ext_map_blocks+0xbc4/0x1050 [<ffffffff811fa387>] ? ext4_map_blocks+0x297/0x430 [<ffffffff811fa3ab>] ext4_map_blocks+0x2bb/0x430 [<ffffffff81200e43>] ? ext4_init_io_end+0x23/0x50 [<ffffffff811feb44>] ext4_writepages+0x564/0xaf0 [<ffffffff815cde3b>] ? _raw_spin_unlock+0x2b/0x40 [<ffffffff810ac7bd>] ? lock_release_non_nested+0x2fd/0x3c0 [<ffffffff811a009e>] ? writeback_sb_inodes+0x10e/0x490 [<ffffffff811a009e>] ? writeback_sb_inodes+0x10e/0x490 [<ffffffff811377e3>] do_writepages+0x23/0x40 [<ffffffff8119c8ce>] __writeback_single_inode+0x9e/0x280 [<ffffffff811a026b>] writeback_sb_inodes+0x2db/0x490 [<ffffffff811a0664>] wb_writeback+0x174/0x2d0 [<ffffffff810ac359>] ? lock_release_holdtime+0x29/0x190 [<ffffffff811a0863>] wb_do_writeback+0xa3/0x200 [<ffffffff811a0a40>] bdi_writeback_workfn+0x80/0x230 [<ffffffff81085618>] ? process_one_work+0x228/0x4d0 [<ffffffff810856cd>] process_one_work+0x2dd/0x4d0 [<ffffffff81085618>] ? process_one_work+0x228/0x4d0 [<ffffffff81085c1d>] worker_thread+0x35d/0x460 [<ffffffff810858c0>] ? process_one_work+0x4d0/0x4d0 [<ffffffff810858c0>] ? process_one_work+0x4d0/0x4d0 [<ffffffff8108a885>] kthread+0xf5/0x100 [<ffffffff810990e5>] ? local_clock+0x25/0x30 [<ffffffff8108a790>] ? __init_kthread_worker+0x70/0x70 [<ffffffff815ce2ac>] ret_from_fork+0x7c/0xb0 [<ffffffff8108a790>] ? __init_kthread_work Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 9aa5d32ba269bec0e7eaba2697a986a7b0bc8528 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Mon Oct 13 03:36:16 2014 -0400 ext4: Replace open coded mdata csum feature to helper function Besides the fact that this replacement improves code readability it also protects from errors caused direct EXT4_S(sb)->s_es manipulation which may result attempt to use uninitialized csum machinery. #Testcase_BEGIN IMG=/dev/ram0 MNT=/mnt mkfs.ext4 $IMG mount $IMG $MNT #Enable feature directly on disk, on mounted fs tune2fs -O metadata_csum $IMG # Provoke metadata update, likey result in OOPS touch $MNT/test umount $MNT #Testcase_END # Replacement script @@ expression E; @@ - EXT4_HAS_RO_COMPAT_FEATURE(E, EXT4_FEATURE_RO_COMPAT_METADATA_CSUM) + ext4_has_metadata_csum(E) https://bugzilla.kernel.org/show_bug.cgi?id=82201 Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2d73bae12b26db6eba074b70406c707961b6cda9 Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 09:04:49 2014 -0700 powerpc/numa: Add ability to disable and debug topology updates We have hit a few customer issues with the topology update code (VPHN and PRRN). It would be nice to be able to debug the notifications coming from the hypervisor in both cases to the LPAR, as well as to disable responding to the notifications at boot-time, to narrow down the source of the problems. Add a basic level of such functionality, similar to the numa= command-line parameter. We already have a toggle in /proc/powerpc/topology_updates that allows run-time enabling/disabling, so the updates can be started at run-time if desired. But the bugs we've run into have occured during boot or very shortly after coming to login, and have resulted in a broken NUMA topology. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2d15b9b479512f05680541acffd9acbbc831a47c Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 16:41:28 2014 -0700 powerpc/numa: check error return from proc_create proc_create can fail, we should check the return value and pass up the failure. Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 6507955c9781a75f1b085f0cf0a77b9df06f0197 Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 21:28:26 2014 +0530 powerpc/powernv: Fallback to old HMI handling behavior for old firmware Recently we moved HMI handling into Linux kernel instead of taking HMI directly in OPAL. This new change is dependent on new OPAL call for HMI recovery which was introduced in newer firmware. While this new change works fine with latest OPAL firmware, we broke the HMI handling if we run newer kernel on old OPAL firmware that results in system hang. This patch fixes this issue by falling back to old HMI behavior on older OPAL firmware. This patch introduces a check for opal token OPAL_HANDLE_HMI to see if we are running on newer firmware or old firmware. On newer firmware this check would return OPAL_TOKEN_PRESENT, otherwise we are running on old firmware and fallback to old HMI behavior. Old firmware: POWER8 System Firmware Release as of today <= SV810_087 Action: Let OPAL handle HMIs Newer firmware: in development/yet to be released. Action: Let Linux host handle HMIs. This patch depends on opal check token patch posted at ppc-devel https://lists.ozlabs.org/pipermail/linuxppc-dev/2014-August/120224.html Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> [mpe: Minor comment and printk rewording] Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit dfda0df3426483cf5fc7441f23f318edbabecb03 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Aug 6 16:26:21 2014 +1000 drm/mst: rework payload table allocation to conform better. The old code has problems with the Dell MST monitors due to some assumptions I made that weren't true. I initially thought the Virtual Channel Payload IDs had to be in the DPCD table in ascending order, however it appears that assumption is bogus. The old code also assumed it was possible to insert a member into the table and it would move other members up, like it does when you remove table entries, however reality has shown this isn't true. So the new code allocates VCPIs separate from entries in the payload tracking table, and when we remove an entry from the DPCD table, I shuffle the tracking payload entries around in the struct. This appears to make VT switch more robust (still not perfect) with an MST enabled Dell monitor. Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6889e783cd68b79f8330ad4d10a2571c67c3f7df Merge: 75e58ce a8b1ee8 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Oct 13 10:22:45 2014 +1100 Merge branch 'xfs-misc-fixes-for-3.18-3' into for-next commit a8b1ee8bafc765ebf029d03c5479a69aebff9693 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Mon Oct 13 10:21:53 2014 +1100 xfs: fix agno increment in xfs_inumbers() loop caused a regression in xfs_inumbers, which in turn broke xfsdump, causing incomplete dumps. The loop in xfs_inumbers() needs to fill the user-supplied buffers, and iterates via xfs_btree_increment, reading new ags as needed. But the first time through the loop, if xfs_btree_increment() succeeds, we continue, which triggers the ++agno at the bottom of the loop, and we skip to soon to the next ag - without the proper setup under next_ag to read the next ag. Fix this by removing the agno increment from the loop conditional, and only increment agno if we have actually hit the code under the next_ag: target. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a457606a6f81cfddfc9da1ef2a8bf2c65a8eb35e Author: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Sun Oct 12 14:29:29 2014 -0500 fs/file_table.c: Update alloc_file() comment This comment is 5 years outdated; init_file() no longer exists. Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8cc431165d8fbda43634dd15ab17f76a151c39a8 Author: Eric Biggers <ebiggers3@xxxxxxxxx> Date: Sun Oct 12 11:59:58 2014 -0500 vfs: Deduplicate code shared by xattr system calls operating on paths The following pairs of system calls dealing with extended attributes only differ in their behavior on whether the symbolic link is followed (when the named file is a symbolic link): - setxattr() and lsetxattr() - getxattr() and lgetxattr() - listxattr() and llistxattr() - removexattr() and lremovexattr() Despite this, the implementations all had duplicated code, so this commit redirects each of the above pairs of system calls to a corresponding function to which different lookup flags (LOOKUP_FOLLOW or 0) are passed. For me this reduced the stripped size of xattr.o from 8824 to 8248 bytes. Signed-off-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 50b220bbe7092bbfe4406adfe3a216337a64655d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 14:21:38 2014 -0400 reiserfs: remove pointless forward declaration of struct nameidata Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7b600f2abb36909e70963cc7c744c15983500bee Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 13:31:58 2014 -0400 don't need that forward declaration of struct nameidata in dcache.h anymore Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 810bb172671aec17cf85cc748120cf73c17af372 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 12:45:37 2014 -0400 take dname_external() into fs/dcache.c never used outside and it's too low-level for legitimate uses outside of fs/dcache.c anyway Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 115cbfdc609702a131c51281864c08f5d27b459a Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 23:05:52 2014 -0400 let path_init() failures treated the same way as subsequent link_path_walk() As it is, path_lookupat() and path_mounpoint() might end up leaking struct file reference in some cases. Spotted-by: Eric Biggers <ebiggers3@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5e40d331bd72447197f26525f21711c4a265b6a6 Merge: d0ca475 594081e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 10:13:55 2014 -0400 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security Pull security subsystem updates from James Morris. Mostly ima, selinux, smack and key handling updates. * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (65 commits) integrity: do zero padding of the key id KEYS: output last portion of fingerprint in /proc/keys KEYS: strip 'id:' from ca_keyid KEYS: use swapped SKID for performing partial matching KEYS: Restore partial ID matching functionality for asymmetric keys X.509: If available, use the raw subjKeyId to form the key description KEYS: handle error code encoded in pointer selinux: normalize audit log formatting selinux: cleanup error reporting in selinux_nlmsg_perm() KEYS: Check hex2bin()'s return when generating an asymmetric key ID ima: detect violations for mmaped files ima: fix race condition on ima_rdwr_violation_check and process_measurement ima: added ima_policy_flag variable ima: return an error code from ima_add_boot_aggregate() ima: provide 'ima_appraise=log' kernel option ima: move keyring initialization to ima_init() PKCS#7: Handle PKCS#7 messages that contain no X.509 certs PKCS#7: Better handling of unsupported crypto KEYS: Overhaul key identification when searching for asymmetric keys KEYS: Implement binary asymmetric key ID handling ... commit d0ca47575ab3b41bb7f0fe5feec13c6cddb2913a Merge: 4ee9f61 1f25df2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 09:33:42 2014 -0400 Merge branch 'parisc-3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc fix from Helge Deller: "This patch intentionally breaks the ABI on PARISC Linux! It assigns new numbers to SIGSTKFLT, SIGXCPU, SIGXFSZ and SIGSYS so that those are below 32 and thus leaves us with 32 RT signals like other Linux architectures (SIGRTMIN now becomes 32 instead of 37). Even if it breaks the ABI, it doesn't seem to have any visible impact on existing userspace applications. I was able to mix new kernel and/or glibc without impacting normal bootup. So, even if it breaks the ABI, the benefits (e.g. being able to use systemd on PARISC Linux) outperforms the minimal (if any) impact it gives. The patch has been discussed on the parisc kernel mailing list and the coresponding glibc patch will be committed by the parisc glibc maintainer after this patch went into 3.18. Some more background information about this patch is in the commit message" [ Side note: the "no regressions" rule has always been about *users*, not ABI's. You can change ABI's all you like, until somebody actually notices. At that point it gets reverted regardless of how good your reasons and excuses. And admittedly, with parisc, the distinct lack of many users makes that fairly unlikely anyway :^p - Linus ] * 'parisc-3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux architectures commit 4ee9f6112923f270e67a9bac9f554494153d5de6 Merge: ce254b3 eabde0f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 09:30:38 2014 -0400 Merge tag 'platform-drivers-x86-v3.18-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86 Pull x86 platform driver updates from Darren Hart: "The following have all spent at least a few days in linux-next, most for more than a week. These are mostly cleanups and error handling improvements with a few updates to extend existing support to newer hardware. Details: - dell-wmi: fix access out of memory - eeepc-laptop: cleanups, refactoring, sysfs perms, and improved error handling - intel-rst: ACPI and error handling cleanups - thinkpad-acpi: whitespace cleanup - toshiba_acpi: HCI/SCI interface update, keyboard backlight type 2 support, new scancodes, cleanups" * tag 'platform-drivers-x86-v3.18-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (23 commits) toshiba_acpi: Adapt kbd_bl_timeout_store to the new kbd type toshiba_acpi: Change HCI/SCI functions return code type toshiba_acpi: Unify return codes prefix from HCI/SCI to TOS toshiba_acpi: Rename hci_raw to tci_raw dell-wmi: Fix access out of memory eeepc-laptop: clean up control flow in *_rfkill_notifier eeepc-laptop: store_cpufv: return error if set_acpi fails eeepc-laptop: check proper return values in get_cpufv eeepc-laptop: make fan1_input really read-only eeepc-laptop: pull out SENSOR_STORE_FUNC and SENSOR_SHOW_FUNC macros eeepc-laptop: tell sysfs that the disp attribute is write-only eeepc-laptop: pull out ACPI_STORE_FUNC and ACPI_SHOW_FUNC macros eeepc-laptop: use DEVICE_ATTR* to instantiate device_attributes eeepc-laptop: change sysfs function names to API expectations eeepc-laptop: clean up coding style eeepc-laptop: simplify parse_arg() intel-rst: Clean up ACPI add function intel-rst: Use ACPI_FAILURE() macro instead !ACPI_SUCCESS() for error checking x86: thinkpad_acpi.c: fixed spacing coding style issue toshiba_acpi: Support new keyboard backlight type ... commit ce254b34da41b121c6d781fea8940090c0107a20 Merge: 47e0de1 887e701 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 09:21:57 2014 -0400 Merge tag 'tiny/no-advice-fixup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux Pull tinification fix from Josh "Paper Bag" Triplett: "Fixup to use PATCHv2 of 'mm: Support compiling out madvise and fadvise'" * tag 'tiny/no-advice-fixup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux: mm: Support fadvise without CONFIG_MMU commit 47e0de1a74505537788dad41a55a7bdc224462b9 Merge: 90eac7e ce6a144 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 09:16:43 2014 -0400 Merge tag 'kselftest-3.18-updates-1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest Pull kselftest updates from Shuah Khan: - fix for missing arguments to printf - fix to build failures on 32-bit systems. - enhancement to run memfd_test run on all architectures as most architectures support __NR_memfd_create * tag 'kselftest-3.18-updates-1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests/memfd: Run test on all architectures memfd_test: Add missing argument to printf() memfd_test: Make it work on 32-bit systems commit 90eac7eee2f4257644dcfb9d22348fded7c24afd Merge: 6bbcb1d 89c5497 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 07:33:37 2014 -0400 Merge tag 'ftracetest-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull ftrace test code from Steven Rostedt: "This patch series starts a new selftests section in the tools/testing/selftest directory called "ftrace" that holds tests aimed at testing ftrace and subsystems that use ftrace (like kprobes). So far only a few tests were written (by Masami Hiramatsu), but more will be added in the near future (3.19)" * tag 'ftracetest-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing/kprobes: Add selftest scripts testing kprobe-tracer as startup test ftracetest: Add POSIX.3 standard and XFAIL result codes ftracetest: Add kprobe basic testcases ftracetest: Add ftrace basic testcases ftracetest: Initial commit for ftracetest commit 6bbcb1d3a2e0a31593e3b7d9bfd112fa7f447141 Merge: 8df6be1 d832d74 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 07:32:26 2014 -0400 Merge tag 'ktest-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest Pull ktest update from Steven Rostedt: "A fix and a clean up to ktest, as well as two small features. - A way to allow users to skip a manual bisect. - Allowing cherry picked patches to be tested. The cherry pick worked for a test I needed, but stressing it may not have all the desired effects. It doesn't cause any regressions so I kept it in" * tag 'ktest-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-ktest: ktest: Don't bother with bisect good or bad on replay ktest: Fix check for new kernel success on rebooting to good kernel ktest: add ability to skip during BISECT_MANUAL ktest: Add PATCHCHECK_CHERRY commit 8df6be116c87314e35c2ac9de35561b57f87739f Merge: 9837acf addff1f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 07:28:55 2014 -0400 Merge tag 'trace-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing fixes from Steven Rostedt: "Seems that Peter Zijlstra added a new check that is making old code scream nasty warnings: WARNING: CPU: 0 PID: 91 at kernel/sched/core.c:7253 __might_sleep+0x9a/0x378() do not call blocking ops when !TASK_RUNNING; state=1 set at [<ffffffff8d79b511>] event_test_thread+0x48/0x93 Call Trace: __might_sleep+0x9a/0x378 down_read+0x26/0x98 exit_signals+0x27/0x1c2 do_exit+0x193/0x10bd kthread+0x156/0x156 ret_from_fork+0x7a/0xb0 These are triggered by some self tests that run at start up when configure in. Although the code is technically correct, they are a little sloppy and not very robust. They work now because it runs at boot up and the tests do not call anything that might trigger a spurious wake up. But that doesn't mean those tests wont change in the future. It's best to clean them now to make sure the tests used to test the internal workings of the system don't cause breakage themselves. This also quiets the warnings made by the new checks" * tag 'trace-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: tracing: Clean up scheduling in trace_wakeup_test_thread() tracing: Robustify wait loop commit 9837acff77f51e40ab21521e914aa19f85beb312 Merge: ca32188 3ddee63 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 12 07:27:19 2014 -0400 Merge tag 'trace-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull tracing updates from Steven Rostedt: "This set has a few minor updates, but the big change is the redesign of the trampoline logic. The trampoline logic of 3.17 required a descriptor for every function that is registered to be traced and uses a trampoline. Currently, only the function graph tracer uses a trampoline, but if you were to trace all 32,000 (give or take a few thousand) functions with the function graph tracer, it would create 32,000 descriptors to let us know that there's a trampoline associated with it. This takes up a bit of memory when there's a better way to do it. The redesign now reuses the ftrace_ops' (what registers the function graph tracer) hash tables. The hash tables tell ftrace what the tracer wants to trace or doesn't want to trace. There's two of them: one that tells us what to trace, the other tells us what not to trace. If the first one is empty, it means all functions should be traced, otherwise only the ones that are listed should be. The second hash table tells us what not to trace, and if it is empty, all functions may be traced, and if there's any listed, then those should not be traced even if they exist in the first hash table. It took a bit of massaging, but now these hashes can be used to keep track of what has a trampoline and what does not, and allows the ftrace accounting to work. Now we can trace all functions when using the function graph trampoline, and avoid needing to create any special descriptors to hold all the functions that are being traced" * tag 'trace-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: ftrace: Only disable ftrace_enabled to test buffer in selftest ftrace: Add sanity check when unregistering last ftrace_ops kernel: trace_syscalls: Replace rcu_assign_pointer() with RCU_INIT_POINTER() tracing: generate RCU warnings even when tracepoints are disabled ftrace: Replace tramp_hash with old_*_hash to save space ftrace: Annotate the ops operation on update ftrace: Grab any ops for a rec for enabled_functions output ftrace: Remove freeing of old_hash from ftrace_hash_move() ftrace: Set callback to ftrace_stub when no ops are registered ftrace: Add helper function ftrace_ops_get_func() ftrace: Add separate function for non recursive callbacks commit 1f25df2eff5b25f52c139d3ff31bc883eee9a0ab Author: Helge Deller <deller@xxxxxx> Date: Fri Oct 10 22:20:17 2014 +0200 parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux architectures This patch reduces the value of SIGRTMIN on PARISC from 37 to 32, thus increasing the number of available RT signals and bring it in sync with other Linux architectures. Historically we wanted to natively support HP-UX 32bit binaries with the PA-RISC Linux port. Because of that we carried the various available signals from HP-UX (e.g. SIGEMT and SIGLOST) and folded them in between the native Linux signals. Although this was the right decision at that time, this required us to increase SIGRTMIN to at least 37 which left us with 27 (64-37) RT signals. Those 27 RT signals haven't been a problem in the past, but with the upcoming importance of systemd we now got the problem that systemd alloctes (hardcoded) signals up to SIGRTMIN+29 which is beyond our NSIG of 64. Because of that we have not been able to use systemd on the PARISC Linux port yet. Of course we could ask the systemd developers to not use those hardcoded values, but this change is very unlikely, esp. with PA-RISC being a niche architecture. The other possibility would be to increase NSIG to e.g. 128, but this would mean to duplicate most of the existing Linux signal handling code into the parisc specific Linux kernel tree which would most likely introduce lots of new bugs beside the code duplication. The third option is to drop some HP-UX signals and shuffle some other signals around to bring SIGRTMIN to 32. This is of course an ABI change, but testing has shown that existing Linux installations are not visibly affected by this change - most likely because we move those signals around which are rarely used and move them to slots which haven't been used in Linux yet. In an existing installation I was able to exchange either the Linux kernel or glibc (or both) without affecting the boot process and installed applications. Dropping the HP-UX signals isn't an issue either, since support for HP-UX was basically dropped a few months back with Kernel 3.14 in commit f5a408d53edef3af07ac7697b8bc54a755628450 already, when we changed EWOULDBLOCK to be equal to EAGAIN. So, even if this is an ABI change, it's better to change it now and thus bring PARISC Linux in sync with other architectures to avoid other issues in the future. Signed-off-by: Helge Deller <deller@xxxxxx> Cc: Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx> Cc: John David Anglin <dave.anglin@xxxxxxxx> Cc: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> Cc: PARISC Linux Kernel Mailinglist <linux-parisc@xxxxxxxxxxxxxxx> Tested-by: Aaro Koskinen <aaro.koskinen@xxxxxx> commit ca321885b0511a85e2d1cd40caafedbeb18f4af6 Merge: 052db7e 01d2d48 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 21:19:00 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pull networking fixes from David Miller: "This set fixes a bunch of fallout from the changes that went in during this merge window, particularly: - Fix fsl_pq_mdio (Claudiu Manoil) and fm10k (Pranith Kumar) build failures. - Several networking drivers do atomic_set() on page counts where that's not exactly legal. From Eric Dumazet. - Make __skb_flow_get_ports() work cleanly with unaligned data, from Alexander Duyck. - Fix some kernel-doc buglets in rfkill and netlabel, from Fabian Frederick. - Unbalanced enable_irq_wake usage in bcmgenet and systemport drivers, from Florian Fainelli. - pxa168_eth needs to depend on HAS_DMA, from Geert Uytterhoeven. - Multi-dequeue in the qdisc layer severely bypasses the fairness limits the previous code used to enforce, reintroduce in a way that at the same time doesn't compromise bulk dequeue opportunities. From Jesper Dangaard Brouer. - macvlan receive path unnecessarily hops through a softirq by using netif_rx() instead of netif_receive_skb(). From Jason Baron" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (51 commits) net: systemport: avoid unbalanced enable_irq_wake calls net: bcmgenet: avoid unbalanced enable_irq_wake calls net: bcmgenet: fix off-by-one in incrementing read pointer net: fix races in page->_count manipulation mlx4: fix race accessing page->_count ixgbe: fix race accessing page->_count igb: fix race accessing page->_count fm10k: fix race accessing page->_count net/phy: micrel: Add clock support for KSZ8021/KSZ8031 flow-dissector: Fix alignment issue in __skb_flow_get_ports net: filter: fix the comments Documentation: replace __sk_run_filter with __bpf_prog_run macvlan: optimize the receive path macvlan: pass 'bool' type to macvlan_count_rx() drivers: net: xgene: Add 10GbE ethtool support drivers: net: xgene: Add 10GbE support drivers: net: xgene: Preparing for adding 10GbE support dtb: Add 10GbE node to APM X-Gene SoC device tree Documentation: dts: Update section header for APM X-Gene MAINTAINERS: Update APM X-Gene section ... commit 052db7ec86dff26f734031c3ef5c2c03a94af0af Merge: fd9879b bdcf81b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 20:36:34 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc Pull sparc updates from David Miller: 1) Move to 4-level page tables on sparc64 and support up to 53-bits of physical addressing. Kernel static image BSS size reduced by several megabytes. 2) M6/M7 cpu support, from Allan Pais. 3) Move to sparse IRQs, handle hypervisor TLB call errors more gracefully, and add T5 perf_event support. From Bob Picco. 4) Recognize cdroms and compute geometry from capacity in virtual disk driver, also from Allan Pais. 5) Fix memset() return value on sparc32, from Andreas Larsson. 6) Respect gfp flags in dma_alloc_coherent on sparc32, from Daniel Hellstrom. 7) Fix handling of compound pages in virtual disk driver, from Dwight Engen. 8) Fix lockdep warnings in LDC layer by moving IRQ requesting to ldc_alloc() from ldc_bind(). 9) Increase boot string length to 1024 bytes, from Dave Kleikamp. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc: (31 commits) sparc64: Fix lockdep warnings on reboot on Ultra-5 sparc64: Increase size of boot string to 1024 bytes sparc64: Kill unnecessary tables and increase MAX_BANKS. sparc64: sparse irq sparc64: Adjust vmalloc region size based upon available virtual address bits. sparc64: Increase MAX_PHYS_ADDRESS_BITS to 53. sparc64: Use kernel page tables for vmemmap. sparc64: Fix physical memory management regressions with large max_phys_bits. sparc64: Adjust KTSB assembler to support larger physical addresses. sparc64: Define VA hole at run time, rather than at compile time. sparc64: Switch to 4-level page tables. sparc64: Fix reversed start/end in flush_tlb_kernel_range() sparc64: Add vio_set_intr() to enable/disable Rx interrupts vio: fix reuse of vio_dring slot sunvdc: limit each sg segment to a page sunvdc: compute vdisk geometry from capacity sunvdc: add cdrom and v1.1 protocol support sparc: VIO protocol version 1.6 sparc64: Fix hibernation code refrence to PAGE_OFFSET. sparc64: Move request_irq() from ldc_bind() to ldc_alloc() ... commit fd9879b9bb3258ebc27a4cc6d2d29f528f71901f Merge: 81ae31d d53ba6b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 20:34:00 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux Pull powerpc updates from Michael Ellerman: "Here's a first pull request for powerpc updates for 3.18. The bulk of the additions are for the "cxl" driver, for IBM's Coherent Accelerator Processor Interface (CAPI). Most of it's in drivers/misc, which Greg & Arnd maintain, Greg said he was happy for us to take it through our tree. There's the usual minor cleanups and fixes, including a bit of noise in drivers from some of those. A bunch of updates to our EEH code, which has been getting more testing. Several nice speedups from Anton, including 20% in clear_page(). And a bunch of updates for freescale from Scott" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux: (130 commits) cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking cxl: Add documentation for userspace APIs cxl: Add driver to Kbuild and Makefiles cxl: Add userspace header file cxl: Driver code for powernv PCIe based cards for userspace access cxl: Add base builtin support powerpc/mm: Add hooks for cxl powerpc/opal: Add PHB to cxl mode call powerpc/mm: Add new hash_page_mm() powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts cxl: Add new header for call backs and structs powerpc/powernv: Split out set MSI IRQ chip code powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize powerpc/msi: Improve IRQ bitmap allocator powerpc/cell: Make spu_flush_all_slbs() generic powerpc/cell: Move data segment faulting code out of cell platform powerpc/cell: Move spu_handle_mm_fault() out of cell platform powerpc/pseries: Use new defines when calling H_SET_MODE powerpc: Update contact info in Documentation files powerpc/perf/hv-24x7: Simplify catalog_read() ... commit 81ae31d78239318610d7c2acb3e2610d622a5aa4 Merge: ef4a48c 95afae4 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 20:29:01 2014 -0400 Merge tag 'stable/for-linus-3.18-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull Xen updates from David Vrabel: "Features and fixes: - Add pvscsi frontend and backend drivers. - Remove _PAGE_IOMAP PTE flag, freeing it for alternate uses. - Try and keep memory contiguous during PV memory setup (reduces SWIOTLB usage). - Allow front/back drivers to use threaded irqs. - Support large initrds in PV guests. - Fix PVH guests in preparation for Xen 4.5" * tag 'stable/for-linus-3.18-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: (22 commits) xen: remove DEFINE_XENBUS_DRIVER() macro xen/xenbus: Remove BUG_ON() when error string trucated xen/xenbus: Correct the comments for xenbus_grant_ring() x86/xen: Set EFER.NX and EFER.SCE in PVH guests xen: eliminate scalability issues from initrd handling xen: sync some headers with xen tree xen: make pvscsi frontend dependant on xenbus frontend arm{,64}/xen: Remove "EXPERIMENTAL" in the description of the Xen options xen-scsifront: don't deadlock if the ring becomes full x86: remove the Xen-specific _PAGE_IOMAP PTE flag x86/xen: do not use _PAGE_IOMAP PTE flag for I/O mappings x86: skip check for spurious faults for non-present faults xen/efi: Directly include needed headers xen-scsiback: clean up a type issue in scsiback_make_tpg() xen-scsifront: use GFP_ATOMIC under spin_lock MAINTAINERS: Add xen pvscsi maintainer xen-scsiback: Add Xen PV SCSI backend driver xen-scsifront: Add Xen PV SCSI frontend driver xen: Add Xen pvSCSI protocol description xen/events: support threaded irqs for interdomain event channels ... commit 65dd8327eb055a393a413a2214f70a9a10ff7ad6 Author: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Date: Sat Oct 11 19:56:34 2014 -0400 ext4: delete useless comments about ext4_move_extents In patch 'ext4: refactor ext4_move_extents code base', Dmitry Monakhov has refactored ext4_move_extents' implementation, but forgot to update the corresponding comments, this patch will try to delete some useless comments. Reviewed-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Xiaoguang Wang <wangxg.fnst@xxxxxxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 0ff8947fc5f700172b37cbca811a38eb9cb81e08 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Sat Oct 11 19:51:17 2014 -0400 ext4: fix reservation overflow in ext4_da_write_begin Delalloc write journal reservations only reserve 1 credit, to update the inode if necessary. However, it may happen once in a filesystem's lifetime that a file will cross the 2G threshold, and require the LARGE_FILE feature to be set in the superblock as well, if it was not set already. This overruns the transaction reservation, and can be demonstrated simply on any ext4 filesystem without the LARGE_FILE feature already set: dd if=/dev/zero of=testfile bs=1 seek=2147483646 count=1 \ conv=notrunc of=testfile sync dd if=/dev/zero of=testfile bs=1 seek=2147483647 count=1 \ conv=notrunc of=testfile leads to: EXT4-fs: ext4_do_update_inode:4296: aborting transaction: error 28 in __ext4_handle_dirty_super EXT4-fs error (device loop0) in ext4_do_update_inode:4301: error 28 EXT4-fs error (device loop0) in ext4_reserve_inode_write:4757: Readonly filesystem EXT4-fs error (device loop0) in ext4_dirty_inode:4876: error 28 EXT4-fs error (device loop0) in ext4_da_write_end:2685: error 28 Adjust the number of credits based on whether the flag is already set, and whether the current write may extend past the LARGE_FILE limit. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Andreas Dilger <adilger@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 4af6600fd793023c01634cca5abfe4a2b707788f Merge: 447a8b8 68da166 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Oct 11 11:41:19 2014 -0700 Merge branch 'next' into for-linus Prepare second round of input updates for 3.18. commit 68da166491655bc54051bf04c78ce648e2e33508 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Oct 10 12:19:03 2014 -0700 Input: i8042 - disable active multiplexing by default Active multiplexing is a nice feature as it allows several pointing devices (such as touchpad and external mouse) use their native protocols at the same time. Unfortunately many manufacturers do not implement the feature properly even though they advertise it. The problematic implementations are never fixed, since Windows by default does not use this mode, and move from one BIOS/model of laptop to another. When active multiplexing is broken turning it on usually results in touchpad, keyboard, or both unresponsive. With PS/2 usage on decline (most of PS/2 devices in use nowadays are internal laptop touchpads), I expect number of users who have laptops with working MUX implementation, docking stations with external PS/2 ports, and who are still using external PS/2 mice, to be rather small. Let's flip the default to be OFF and allow activating it through i8042.nomux=0 kernel option. We'll also keep DMI table where we can record known good models. Acked-by: Jiri Kosina <jkosina@xxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9ff84a17302aeb8913ff244ecc0d8f9d219fecb5 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Oct 11 11:27:37 2014 -0700 Input: i8042 - add noloop quirk for Asus X750LN Without this the aux port does not get detected, and consequently the touchpad will not work. https://bugzilla.redhat.com/show_bug.cgi?id=1110011 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit aa972409951e0675e07918620427517cad5090e0 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Tue Sep 2 09:49:18 2014 -0700 Input: synaptics - gate forcepad support by DMI check Unfortunately, ForcePad capability is not actually exported over PS/2, so we have to resort to DMI checks. Cc: stable@xxxxxxxxxxxxxxx Reported-by: Nicole Faerber <nicole.faerber@xxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9d93551188069a0a21e664b4bfc89ed4a6df1903 Merge: dd4cae8 bfe01a5 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Sat Oct 11 11:34:07 2014 -0700 Merge tag 'v3.17' into next Synchronize with mainline to bring in changes to Synaptics and i8042 drivers. commit ef4a48c513211d842c55e84f7a1c31884b91dcf7 Merge: 90d0c37 1b2b32d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 13:21:34 2014 -0400 Merge tag 'locks-v3.18-1' of git://git.samba.org/jlayton/linux Pull file locking related changes from Jeff Layton: "This release is a little more busy for file locking changes than the last: - a set of patches from Kinglong Mee to fix the lockowner handling in knfsd - a pile of cleanups to the internal file lease API. This should get us a bit closer to allowing for setlease methods that can block. There are some dependencies between mine and Bruce's trees this cycle, and I based my tree on top of the requisite patches in Bruce's tree" * tag 'locks-v3.18-1' of git://git.samba.org/jlayton/linux: (26 commits) locks: fix fcntl_setlease/getlease return when !CONFIG_FILE_LOCKING locks: flock_make_lock should return a struct file_lock (or PTR_ERR) locks: set fl_owner for leases to filp instead of current->files locks: give lm_break a return value locks: __break_lease cleanup in preparation of allowing direct removal of leases locks: remove i_have_this_lease check from __break_lease locks: move freeing of leases outside of i_lock locks: move i_lock acquisition into generic_*_lease handlers locks: define a lm_setup handler for leases locks: plumb a "priv" pointer into the setlease routines nfsd: don't keep a pointer to the lease in nfs4_file locks: clean up vfs_setlease kerneldoc comments locks: generic_delete_lease doesn't need a file_lock at all nfsd: fix potential lease memory leak in nfs4_setlease locks: close potential race in lease_get_mtime security: make security_file_set_fowner, f_setown and __f_setown void return locks: consolidate "nolease" routines locks: remove lock_may_read and lock_may_write lockd: rip out deferred lock handling from testlock codepath NFSD: Get reference of lockowner when coping file_lock ... commit 90d0c376f5ee1927327b267faf15bf970476f09e Merge: ac0c493 a43bb39 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 08:03:52 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs Pull btrfs updates from Chris Mason: "The largest set of changes here come from Miao Xie. He's cleaning up and improving read recovery/repair for raid, and has a number of related fixes. I've merged another set of fsync fixes from Filipe, and he's also improved the way we handle metadata write errors to make sure we force the FS readonly if things go wrong. Otherwise we have a collection of fixes and cleanups. Dave Sterba gets a cookie for removing the most lines (thanks Dave)" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (139 commits) btrfs: Fix compile error when CONFIG_SECURITY is not set. Btrfs: fix compiles when CONFIG_BTRFS_FS_RUN_SANITY_TESTS is off btrfs: Make btrfs handle security mount options internally to avoid losing security label. Btrfs: send, don't delay dir move if there's a new parent inode btrfs: add more superblock checks Btrfs: fix race in WAIT_SYNC ioctl Btrfs: be aware of btree inode write errors to avoid fs corruption Btrfs: remove redundant btrfs_verify_qgroup_counts declaration. btrfs: fix shadow warning on cmp Btrfs: fix compilation errors under DEBUG Btrfs: fix crash of btrfs_release_extent_buffer_page Btrfs: add missing end_page_writeback on submit_extent_page failure btrfs: Fix the wrong condition judgment about subset extent map Btrfs: fix build_backref_tree issue with multiple shared blocks Btrfs: cleanup error handling in build_backref_tree btrfs: move checks for DUMMY_ROOT into a helper btrfs: new define for the inline extent data start btrfs: kill extent_buffer_page helper btrfs: drop constant param from btrfs_release_extent_buffer_page btrfs: hide typecast to definition of BTRFS_SEND_TRANS_STUB ... commit ac0c49396d5ed9a33f08ce661635ac1bff80bb4f Merge: eca9fdf 6174c2e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 08:02:31 2014 -0400 Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs Pull UDF and quota updates from Jan Kara: "A few UDF fixes and also a few patches which are preparing filesystems for support of project quotas in VFS" * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: udf: Fix loading of special inodes ocfs2: Back out change to use OCFS2_MAXQUOTAS in ocfs2_setattr() udf: remove redundant sys_tz declaration ocfs2: Don't use MAXQUOTAS value reiserfs: Don't use MAXQUOTAS value ext3: Don't use MAXQUOTAS value udf: Fix race between write(2) and close(2) commit eca9fdf32dd48976eab18d310acb0b8d4cc9bf26 Merge: 41e46ac 0f9e2bf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 08:01:27 2014 -0400 Merge tag 'ecryptfs-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs Pull eCryptfs updates from Tyler Hicks: "Minor code cleanups and a fix for when eCryptfs metadata is stored in xattrs" * tag 'ecryptfs-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs: ecryptfs: remove unneeded buggy code in ecryptfs_do_create() ecryptfs: avoid to access NULL pointer when write metadata in xattr ecryptfs: remove unnecessary break after goto ecryptfs: Remove unnecessary include of syscall.h in keystore.c fs/ecryptfs/messaging.c: remove null test before kfree ecryptfs: Drop cast Use %pd in eCryptFS commit 41e46ac0fae9583d81e6b148329fec627d192181 Merge: 27a9716 d29c0af Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 08:00:16 2014 -0400 Merge tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw Pull gfs2 updates from Steven Whitehouse: "This time we have a couple of bug fixes, one relating to bad i_goal values which are now ignored (i_goal is basically a hint so it is safe to so this) and another relating to the saving of the dirent location during rename. There is one performance improvement, which is an optimisation in rgblk_free so that multiple block deallocations will now be more efficient, and one clean up patch to use _RET_IP_ rather than writing it out longhand" * tag 'gfs2-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw: GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0) GFS2: Use gfs2_rbm_incr in rgblk_free GFS2: Make rename not save dirent location GFS2: fix bad inode i_goal values during block allocation commit 27a9716bc80448f7e98fb1fb316daba241a4c539 Merge: e98d6e7 93899a6 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 06:49:24 2014 -0400 Merge tag 'vfio-v3.18-rc1' of git://github.com/awilliam/linux-vfio Pull VFIO updates from Alex Williamson: - Nested IOMMU extension to type1 (Will Deacon) - Restore MSIx message before enabling (Gavin Shan) - Fix remove path locking (Alex Williamson) * tag 'vfio-v3.18-rc1' of git://github.com/awilliam/linux-vfio: vfio-pci: Fix remove path locking drivers/vfio: Export vfio_spapr_iommu_eeh_ioctl() with GPL vfio/pci: Restore MSIx message prior to enabling PCI: Export MSI message relevant functions vfio/iommu_type1: add new VFIO_TYPE1_NESTING_IOMMU IOMMU type iommu: introduce domain attribute for nesting IOMMUs commit e98d6e7f7625ed60c7bc1d39aeb2375ed3918fd5 Merge: 4e0b7fe 2118f4b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 06:47:50 2014 -0400 Merge tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux Pull devicetree changes from Grant Likely: "This branch contains bug fixes and new features for the devicetree code. Most of the changes are either new testcases for the selftest code or documentation changes. The most notable change is the addition of a phandle resolver for use when grafting in a second device tree blob into the core tree. The resolver isn't currently used by anything other than the selftest module, but it will be used to support device tree overlays; probably in the v3.19 timeframe. Also note that I've moved my normal tree from git.secretlab.ca to git.kernel.org" * tag 'devicetree-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/glikely/linux: of/selftest: Move hash table off stack to fix large frame size To remove non-ascii characters in of_selftest.txt of/selftest: Use the resolver to fixup phandles of: Introduce Device Tree resolve support. of/selftest: Add a test for duplicate phandles of: Don't try to search when phandle == 0 of/selftest: Test structure of device tree of: Fix NULL dereference in selftest removal code of: add vendor prefix for Chipidea of: Add vendor prefix for Innolux Corporation of: Add vendor prefix for Sitronix devicetree: bindings: Document Gateworks vendor prefix of: Add vendor prefix for Energy Micro dt/documentation: add specification of dma bus information commit 4e0b7fe38345b81930363b9f1b4b324181ddcc9e Merge: f43b179 b6af73b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 06:38:33 2014 -0400 Merge tag 'backlight-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight Pull backlight driver updates from Lee Jones: "Changes to existing drivers: - Checkpatch fixes - Removal of unused code in generic_bl - Removal of superfluous .owner attribute No new or removed drivers/supported devices" * tag 'backlight-for-linus-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: backlight: omap1: add blank line after declarations backlight: jornada720: Remove 'else' after a return backlight: jornada720: Remove 'else' after a return backlight: wm831x_bl: Add blank line after declarations backlight: tdo24m: Add blank line after declarations backlight: s6e63m0: Remove 'else' after a return backlight: pcf50633: Add blank line after declarations backlight: lp855x: Add blank line after declarations backlight: lms501kf03: Remove 'else' after a return backlight: lm3639: Remove unnecessary return statements backlight: ld9040: Remove 'else' after a return backlight: ili922x: Remove 'else' after a return backlight: cr_bllcd: Add blank line after declarations backlight: corgi_lcd: Add blank line after declarations backlight: ams369fg06: Remove 'else' after a return backlight: adp8870: Add blank line after declarations backlight: adp8860: Add blank line after declarations backlight: adp5520: Add blank line after declarations backlight: generic_bl: Remove unused function backlight: Remove .owner field for drivers using module_platform_driver commit f43b179bbd84d2106c6fb8c7f2db1bfacff19f62 Merge: a2ce352 583f958 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 11 06:34:22 2014 -0400 Merge tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc Pull MMC updates from Ulf Hansson: "MMC core: - Fix SDIO IRQ bug - MMC regulator improvements - Fix slot-gpio card detect bug - Add support for Driver Stage Register - Convert the common MMC OF parser to use GPIO descriptors - Convert MMC_CAP2_NO_MULTI_READ into a callback, ->multi_io_quirk() - Some additional minor fixes MMC host: - mmci: Support Qualcomm specific DML layer for DMA - dw_mmc: Use common MMC regulators - dw_mmc: Add support for Rock-chips RK3288 - tmio: Enable runtime PM support - tmio: Add support for R-Car Gen2 SoCs - tmio: Several fixes and improvements - omap_hsmmc: Removed Balaji from MAINTAINERS - jz4740: add DMA and pre/post support - sdhci: Add support for Intel Braswell - sdhci: Several fixes and improvements" * tag 'mmc-v3.18-1' of git://git.linaro.org/people/ulf.hansson/mmc: (119 commits) ARM: dts: fix MMC2 regulators for Exynos5420 Arndale Octa board mmc: sdhci-acpi: Fix Braswell eMMC timeout clock frequency mmc: sdhci-acpi: Pass HID and UID to probe_slot mmc: sdhci-acpi: Get UID directly from acpi_device mmc, sdhci, bcm-kona, LLVMLinux: Remove use of __initconst mmc: sdhci-pci: Fix Braswell eMMC timeout clock frequency mmc: sdhci: Let a driver override timeout clock frequency mmc: sdhci-pci: Add Bay Trail and Braswell SD card detect mmc: sdhci-pci: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel BYT host controllers mmc: sdhci-acpi: Add a HID and UID for a SD Card host controller mmc: sdhci-acpi: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel host controllers mmc: sdhci: Add quirk for always getting TC with stop cmd mmc: core: restore detect line inversion semantics mmc: Fix incorrect warning when setting 0 Hz via debugfs mmc: Fix use of wrong device in mmc_gpiod_free_cd() mmc: atmel-mci: fix mismatched section on atmci_cleanup_slot mmc: rtsx_pci: Set power related cap2 macros mmc: core: Add new power_mode MMC_POWER_UNDEFINED mmc: sdhci: execute tuning when device is not busy mmc: atmel-mci: Release mmc resources on failure in probe .. commit a2ce35273c2f1aa0dcddd8822681d64ee5f31852 Merge: bf65dea fd1a2a9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 22:13:25 2014 -0400 Merge tag 'sound-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "This time it's a relatively calm update batch, but the amount isn't too small in the end. Here we go over some highlights: ALSA core: - One major change is the support of nonatomic PCM operations. This allows the trigger and other callbacks to call schedule(), which would be useful for mailbox type communications. Already some drivers (Digigram ones) have been converted to use together with threaded irqs as an example. - Improvement / fixes of DSD PCM format support HD-audio: - Large volume of rewrites are found in Realtek codec driver for converting Dell and HP quirks to generic forms. - Inverted dmic code cleanup from David. - Realtek COEF access has been optimized. - Now HD-audio jack infrastructure allows multiple callbacks, which fixes / simplifies the jack-dependent power controls on STAC/IDT and VIA codecs. - Many additional device-specific fixups as usual - A few deadcode cleanups, CA0132 code cleanup, etc. ASoC: - More componentization work from Lars-Peter, this time mainly cleaning up the suspend and bias level transition callbacks. - Real system support for the Intel drivers and a bunch of fixes and enhancements for the associated CODEC drivers, this is going to need a lot quirks over time due to the lack of any firmware description of the boards. - Jack detect support for simple card from Dylan Reid. - A bunch of small fixes and enhancements for the Freescale drivers. - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32, Everest Semiconductor ES8328 and Freescale cards using the ASRC in newer i.MX processors. - A few simple-card fixes, mostly cleanups but also a fix for interaction between GPIO 0 and simple-card. Misc: - Virtuoso / Oxygen updates by Clemens - USB-audio: Yamaha MOTIF XF MIDI port name fixes - Conversion of kernel messages to standard dev_*() in ctxfi driver" * tag 'sound-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (251 commits) ASoC: mc13783: Ensure we only try to dereference valid of_nodes ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_txctrl ALSA: hda - Add dock port support to Thinkpad L440 (71aa:501e) ALSA: Allow pass NULL dev for snd_pci_quirk_lookup() ASoC: imx-es8328: Fix of_node_put() call with uninitialized object ASoC: soc-pcm: fix sig_bits determination in soc_pcm_apply_msb() ASoC: simple-card: Initialize headphone and mic GPIO numbers ASoC: imx-es8328: Fix missing return code in imx_es8328_probe() ALSA: hda - Add dock support for Thinkpad T440 (17aa:2212) ALSA: usb: caiaq: check for cdev->n_streams > 1 ASoC: 88pm860x-codec: Fix possibly missing string termination ASoC: core: fix use after free in snd_soc_remove_platform() ASoC: soc-dapm: fix use after free ALSA: hda - Make the inv dmic handling for Realtek use generic parser ALSA: hda - Add Inverted Internal mic for Samsung Ativ book 9 (NP900X3G) ALSA: hda - Add inverted internal mic for Asus Aspire 4830T ASoC: Intel: byt-rt5640: fix coccinelle warnings ASoC: fsl_esai doc: Add "fsl,vf610-esai" as compatible string ASoC: da732x: Remove unnecessary KERN_ERR in pr_err() ASoC: simple-card: Fix detect gpio documentation. ... commit bf65dea87e87c53ba4f97c6432761498bc977efd Merge: 4d9708e d0585cd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 22:07:55 2014 -0400 Merge tag 'edac/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac Pull edac updates from Mauro Carvalho Chehab: "Nothing really exiting here: just one bug fix at sb_edac, and some changes to allow other drivers to use some shared PCI addresses" * tag 'edac/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-edac: sb_edac: Claim a different PCI device Move Intel SNB device ids from sb_edac to pci_ids.h sb_edac: avoid INTERNAL ERROR message in EDAC with unspecified channel commit 4d9708ea5e5a45973df7cf965805fdfb185dd5bf Merge: 754c780 a66d05d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 22:04:49 2014 -0400 Merge tag 'media/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - new IR driver: hix5hd2-ir - the virtual test driver (vivi) was replaced by vivid, with has an almost complete set of features to emulate most v4l2 devices and properly test all sorts of userspace apps - the as102 driver had several bugs fixed and was properly split into a frontend and a core driver. With that, it got promoted from staging into mainstream - one new CI driver got added for CIMaX SP2/SP2HF (sp2 driver) - one new frontend driver for Toshiba ISDB-T/ISDB-S demod (tc90522) - one new PCI driver for ISDB-T/ISDB-S (pt3 driver) - saa7134 driver got support for go7007-based devices - added a new PCI driver for Techwell 68xx chipsets (tw68) - a new platform driver was added (coda) - new tuner drivers: mxl301rf and qm1d1c0042 - a new DVB USB driver was added for DVBSky S860 & similar devices - added a new SDR driver (hackrf) - usbtv got audio support - several platform drivers are now compiled with COMPILE_TEST - a series of compiler fixup patches, making sparse/spatch happier with the media stuff and removing several warnings, especially on those platform drivers that didn't use to compile on x86 - Support for several new modern devices got added - lots of other fixes, improvements and cleanups * tag 'media/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (544 commits) [media] ir-hix5hd2: fix build on c6x arch [media] pt3: fix DTV FE I2C driver load error paths Revert "[media] media: em28xx - remove reset_resume interface" [media] exynos4-is: fix some warnings when compiling on arm64 [media] usb drivers: use %zu instead of %zd [media] pci drivers: use %zu instead of %zd [media] dvb-frontends: use %zu instead of %zd [media] s5p-mfc: Fix several printk warnings [media] s5p_mfc_opr: Fix warnings [media] ti-vpe: Fix typecast [media] s3c-camif: fix dma_addr_t printks [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64 [media] em28xx: Fix identation [media] drxd: remove a dead code [media] saa7146: remove return after BUG() [media] cx88: remove return after BUG() [media] cx88: fix cards table CodingStyle [media] radio-sf16fmr2: declare some structs as static [media] radio-sf16fmi: declare pnp_attached as static ... commit 754c780953397dd5ee5191b7b3ca67e09088ce7a Merge: 40c4326 b4bbb10 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 16:56:08 2014 -0400 Merge branch 'for-v3.18' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping Pull dma-mapping update from Marek Szyprowski: "Provide the dma write coherent api (available previously on ARM architecture) for all other architectures, which use dma_ops-based dma mapping implementation. This lets one to use the same code in the device drivers regardless of the selected architecture" * 'for-v3.18' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping: dma-mapping: Provide write-combine allocations s390: Implement dma_{alloc,free}_attrs() commit 40c43269cf8e88a0bdc306c717d1dd5446a6f3b8 Merge: 93834c6 3afb57f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 16:40:14 2014 -0400 Merge tag 'hwmon-for-linus-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull hwmon updates from Guenter Roeck: - new driver for menf21bmc. - convert k10temp, smsc47b397, da9052, da9055 to new hwmon API. - register ntc_thermistor driver with thermal subsystem. - add support for F15h M60h to k10temp driver. - add driver for MEN14F021P00 BMC HWMON driver; this required a merge with tag mfd-hwmon-leds-watchdog-v3.18 * tag 'hwmon-for-linus-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: hwmon: (ab8500) Call kernel_power_off instead of pm_power_off hwmon: (menf21bmc) Introduce MEN14F021P00 BMC HWMON driver leds: leds-menf21bmc: Introduce MEN 14F021P00 BMC LED driver watchdog: menf21bmc_wdt: Introduce MEN 14F021P00 BMC Watchdog driver mfd: menf21bmc: Introduce MEN 14F021P00 BMC MFD Core driver hwmon: (ntc_thermistor) Add ntc thermistor to thermal subsystem as a sensor. hwmon: (smsc47b397) Convert to devm_hwmon_device_register_with_groups MAINTAINERS: add entry for the PWM fan driver hwmon: (k10temp) Convert to devm_hwmon_device_register_with_groups hwmon: (k10temp) Add support for F15h M60h hwmon: (da9052) Convert to devm_hwmon_device_register_with_groups hwmon: (da9055) Convert to devm_hwmon_device_register_with_groups hwmon: (ads1015) Use of_property_read_u32 at appropriate places commit 93834c6419bccf102a17971c6b114826597a61c5 Merge: c798360 6cd6d94 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 16:38:02 2014 -0400 Merge tag 'restart-handler-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging Pull restart handler infrastructure from Guenter Roeck: "This series was supposed to be pulled through various trees using it, and I did not plan to send a separate pull request. As it turns out, the pinctrl tree did not merge with it, is now upstream, and uses it, meaning there are now build failures. Please pull this series directly to fix those build failures" * tag 'restart-handler-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: arm/arm64: unexport restart handlers watchdog: sunxi: register restart handler with kernel restart handler watchdog: alim7101: register restart handler with kernel restart handler watchdog: moxart: register restart handler with kernel restart handler arm: support restart through restart handler call chain arm64: support restart through restart handler call chain power/restart: call machine_restart instead of arm_pm_restart kernel: add support for kernel restart handler call chain commit 887e7019e3b8f00c7901c0bc66fb689ced69f7b4 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Fri Oct 10 13:12:28 2014 -0700 mm: Support fadvise without CONFIG_MMU Commit d3ac21cacc24790eb45d735769f35753f5b56ceb ("mm: Support compiling out madvise and fadvise") incorrectly made fadvise conditional on CONFIG_MMU. (The merged branch unintentionally incorporated v1 of the patch rather than the fixed v2.) Apply the delta from v1 to v2, to allow fadvise without CONFIG_MMU. Reported-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit bdcf81b658ebc4c2640c3c2c55c8b31c601b6996 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:49:16 2014 -0400 sparc64: Fix lockdep warnings on reboot on Ultra-5 Inconsistently, the raw_* IRQ routines do not interact with and update the irqflags tracing and lockdep state, whereas the raw_* spinlock interfaces do. This causes problems in p1275_cmd_direct() because we disable hardirqs by hand using raw_local_irq_restore() and then do a raw_spin_lock() which triggers a lockdep trace because the CPU's hw IRQ state doesn't match IRQ tracing's internal software copy of that state. The CPU's irqs are disabled, yet current->hardirqs_enabled is true. ==================== reboot: Restarting system ------------[ cut here ]------------ WARNING: CPU: 0 PID: 1 at kernel/locking/lockdep.c:3536 check_flags+0x7c/0x240() DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled) Modules linked in: openpromfs CPU: 0 PID: 1 Comm: systemd-shutdow Tainted: G W 3.17.0-dirty #145 Call Trace: [000000000045919c] warn_slowpath_common+0x5c/0xa0 [0000000000459210] warn_slowpath_fmt+0x30/0x40 [000000000048f41c] check_flags+0x7c/0x240 [0000000000493280] lock_acquire+0x20/0x1c0 [0000000000832b70] _raw_spin_lock+0x30/0x60 [000000000068f2fc] p1275_cmd_direct+0x1c/0x60 [000000000068ed28] prom_reboot+0x28/0x40 [000000000043610c] machine_restart+0x4c/0x80 [000000000047d2d4] kernel_restart+0x54/0x80 [000000000047d618] SyS_reboot+0x138/0x200 [00000000004060b4] linux_sparc_syscall32+0x34/0x60 ---[ end trace 5c439fe81c05a100 ]--- possible reason: unannotated irqs-off. irq event stamp: 2010267 hardirqs last enabled at (2010267): [<000000000049a358>] vprintk_emit+0x4b8/0x580 hardirqs last disabled at (2010266): [<0000000000499f08>] vprintk_emit+0x68/0x580 softirqs last enabled at (2010046): [<000000000045d278>] __do_softirq+0x378/0x4a0 softirqs last disabled at (2010039): [<000000000042bf08>] do_softirq_own_stack+0x28/0x40 Resetting ... ==================== Use local_* variables of the hw IRQ interfaces so that IRQ tracing sees all of our changes. Reported-by: Meelis Roos <mroos@xxxxxxxx> Tested-by: Meelis Roos <mroos@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 01d2d484e49e9bc0ed9b5fdaf345a0e2bf35ffed Merge: 35b7a19 61b423a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:39:22 2014 -0400 Merge branch 'bcmgenet_systemport' Florian Fainelli says: ==================== net: bcmgenet & systemport fixes This patch series fixes an off-by-one error introduced during a previous change, and the two other fixes fix a wake depth imbalance situation for the Wake-on-LAN interrupt line. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61b423a8a0bd9aeaa046f9a24bed42e3a953a936 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 10 10:51:54 2014 -0700 net: systemport: avoid unbalanced enable_irq_wake calls Multiple enable_irq_wake() calls will keep increasing the IRQ wake_depth, which ultimately leads to the following types of situation: 1) enable Wake-on-LAN interrupt w/o password 2) enable Wake-on-LAN interrupt w/ password 3) enable Wake-on-LAN interrupt w/o password 4) disable Wake-on-LAN interrupt After step 4), SYSTEMPORT would always wake-up the system no matter what wake-up device we use, which is not what we want. Fix this by making sure there are no unbalanced enable_irq_wake() calls. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 083731a8fbe71d83fc908adf137dc98ee352f280 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 10 10:51:53 2014 -0700 net: bcmgenet: avoid unbalanced enable_irq_wake calls Multiple enable_irq_wake() calls will keep increasing the IRQ wake_depth, which ultimately leads to the following types of situation: 1) enable Wake-on-LAN interrupt w/o password 2) enable Wake-on-LAN interrupt w/ password 3) enable Wake-on-LAN interrupt w/o password 4) disable Wake-on-LAN interrupt After step 4), GENET would always wake-up the system no matter what wake-up device we use, which is not what we want. Fix this by making sure there are no unbalanced enable_irq_wake() calls. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf377d886f7944a5ccdbd164b89949e13617b096 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Oct 10 10:51:52 2014 -0700 net: bcmgenet: fix off-by-one in incrementing read pointer Commit b629be5c8399d7c423b92135eb43a86c924d1cbc ("net: bcmgenet: check harder for out of memory conditions") moved the increment of the local read pointer *before* reading from the hardware descriptor using dmadesc_get_length_status(), which creates an off-by-one situation. Fix this by moving again the read_ptr increment after we have read the hardware descriptor to get both the control block and the read pointer back in sync. Fixes: b629be5c8399 ("net: bcmgenet: check harder for out of memory conditions") Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35b7a1915aa33da812074744647db0d9262a555c Merge: 1fadee0 4c45058 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:37:36 2014 -0400 Merge branch 'net-drivers-pgcnt' Eric Dumazet says: ==================== net: fix races accessing page->_count This is illegal to use atomic_set(&page->_count, ...) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. The only case it is valid is when page->_count is 0, we can use this in __netdev_alloc_frag() Note that I never seen crashes caused by these races, the issue was reported by Andres Lagar-Cavilla and Hugh Dickins. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c450583d9d0a8241f0f62b80038ac47b43ff843 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 04:48:18 2014 -0700 net: fix races in page->_count manipulation This is illegal to use atomic_set(&page->_count, ...) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. The only case it is valid is when page->_count is 0 Fixes: 540eb7bf0bbed ("net: Update alloc frag to reduce get/put page usage and recycle pages") Signed-off-by: Eric Dumaze <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98226208c8a1fe5834e92d827a2a1e8051a17943 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 04:48:17 2014 -0700 mlx4: fix race accessing page->_count This is illegal to use atomic_set(&page->_count, ...) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec91698360b3818ff426488a1529811f7a7ab87f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 04:48:16 2014 -0700 ixgbe: fix race accessing page->_count This is illegal to use atomic_set(&page->_count, 2) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 00cd5adb0313f540aa58672d14e764d164586a43 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 04:48:15 2014 -0700 igb: fix race accessing page->_count This is illegal to use atomic_set(&page->_count, 2) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42b0270b40e2ad692ef59e28233202ee6f293e1e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 10 04:48:14 2014 -0700 fm10k: fix race accessing page->_count This is illegal to use atomic_set(&page->_count, 2) even if we 'own' the page. Other entities in the kernel need to use get_page_unless_zero() to get a reference to the page before testing page properties, so we could loose a refcount increment. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fadee0c364572f2b2e098b34001fbaa82ee2e00 Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Fri Oct 10 09:48:05 2014 +0200 net/phy: micrel: Add clock support for KSZ8021/KSZ8031 The KSZ8021 and KSZ8031 support RMII reference input clocks of 25MHz and 50MHz. Both PHYs differ in the default frequency they expect after reset. If this differs from the actual input clock, then register 0x1f bit 7 must be changed. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Reviewed-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5af7fb6e3e92c2797ee30d66138cf6aa6b29240d Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Date: Fri Oct 10 12:09:12 2014 -0700 flow-dissector: Fix alignment issue in __skb_flow_get_ports This patch addresses a kernel unaligned access bug seen on a sparc64 system with an igb adapter. Specifically the __skb_flow_get_ports was returning a be32 pointer which was then having the value directly returned. In order to prevent this it is actually easier to simply not populate the ports or address values when an skb is not present. In this case the assumption is that the data isn't needed and rather than slow down the faster aligned accesses by making them have to assume the unaligned path on architectures that don't support efficent unaligned access it makes more sense to simply switch off the bits that were copying the source and destination address/port for the case where we only care about the protocol types and lengths which are normally 16 bit fields anyway. Reported-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2991dd2b0117e864f394c826af6df144206ce0db Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Oct 2 22:05:24 2014 -0400 audit: rename audit_log_remove_rule to disambiguate for trees Rename audit_log_remove_rule() to audit_tree_log_remove_rule() to avoid confusion with watch and mark rule removal/changes. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 8ea6e345a6123fa831e42cd8747f55892a58abff Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 10 13:56:51 2014 +0800 net: filter: fix the comments 1. sk_run_filter has been renamed, sk_filter() is using SK_RUN_FILTER. 2. Remove wrong comments about storing intermediate value. 3. replace sk_run_filter with __bpf_prog_run for check_load_and_stores's comments Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a9525f68e948d53cf99c963bdbf01223a08f4ed Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Fri Oct 10 11:36:54 2014 +0800 Documentation: replace __sk_run_filter with __bpf_prog_run __sk_run_filter has been renamed as __bpf_prog_run, so replace them in comments Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ab52c69282fbc7384fe7e9d14f68ce11040feac Merge: 2403077 d1dd9119 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:09:51 2014 -0400 Merge branch 'macvlan' Jason Baron says: ==================== macvlan: optimize receive path So after porting this optimization to net-next, I found that the netperf results of TCP_RR regress right at the maximum peak of transactions/sec. That is as I increase the number of threads via the first argument to super_netperf, the number of transactions/sec keep increasing, peak, and then start decreasing. It is right at the peak, that I see a small regression with this patch (see results in patch 2/2). Without the patch, the ksoftirqd threads are the top cpu consumers threads on the system, since the extra 'netif_rx()', is queuing more softirq work, whereas with the patch, the ksoftirqd threads are below all of the 'netserver' threads in terms of their cpu usage. So there appears to be some interaction between how softirqs are serviced at the peak here and this patch. I think the test results are still supportive of this approach, but I wanted to be clear on my findings. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1dd911930885659420421cfe123957610c54299 Author: jbaron@xxxxxxxxxx <jbaron@xxxxxxxxxx> Date: Fri Oct 10 03:13:31 2014 +0000 macvlan: optimize the receive path The netif_rx() call on the fast path of macvlan_handle_frame() appears to be there to ensure that we properly throttle incoming packets. However, it would appear as though the proper throttling is already in place for all possible ingress paths, and that the call is redundant. If packets are arriving from the physical NIC, we've already throttled them by this point. Otherwise, if they are coming via macvlan_queue_xmit(), it calls either 'dev_forward_skb()', which ends up calling netif_rx_internal(), or else in the broadcast case, we are throttling via macvlan_broadcast_enqueue(). The test results below are from off the box to an lxc instance running macvlan. Once the tranactions/sec stop increasing, the cpu idle time has gone to 0. Results are from a quad core Intel E3-1270 V2@xxxxxxx box with bnx2x 10G card. for i in {10,100,200,300,400,500}; do super_netperf $i -H $ip -t TCP_RR; done Average of 5 runs. trans/sec trans/sec (3.17-rc7-net-next) (3.17-rc7-net-next + this patch) ---------- ---------- 208101 211534 (+1.6%) 839493 850162 (+1.3%) 845071 844053 (-.12%) 816330 819623 (+.4%) 778700 789938 (+1.4%) 735984 754408 (+2.5%) Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c9799359bc691becc888f97a4b5bb035cb206f9 Author: jbaron@xxxxxxxxxx <jbaron@xxxxxxxxxx> Date: Fri Oct 10 03:13:27 2014 +0000 macvlan: pass 'bool' type to macvlan_count_rx() Pass last argument to macvlan_count_rx() as the correct bool type. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e85322d21cfebeac64f58a204e9adc0bc5c1e46f Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Oct 2 22:05:19 2014 -0400 audit: cull redundancy in audit_rule_change Re-factor audit_rule_change() to reduce the amount of code redundancy and simplify the logic. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 739c95038e68d364b01c0fc6f8fb8e47b1c1e979 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Fri Oct 10 15:05:21 2014 -0400 audit: WARN if audit_rule_change called illegally Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 2403077d47991a8385789779ee5fc90b003f9fbe Merge: 38b3629 41aace6 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:07:02 2014 -0400 Merge branch 'xgene' Iyappan Subramanian says: ==================== Add 10GbE support to APM X-Gene SoC ethernet driver Adding 10GbE support to APM X-Gene SoC ethernet driver. v4: Address comments from v3 * dtb: resolved merge conflict for the net tree v3: Address comments from v2 * dtb: changed to use all-zeros for the mac address v2: Address comments from v1 * created preparatory patch to review before adding new functionality * dtb: updated to use tabs consistently v1: * Initial version ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41aace6e088d198f2441f3d0e579657d6815234c Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:07 2014 -0700 drivers: net: xgene: Add 10GbE ethtool support Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0148d38d36b76b190ddddff68f02d2617ada3bcb Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:06 2014 -0700 drivers: net: xgene: Add 10GbE support - Added 10GbE support - Removed unused macros/variables - Moved mac_init call to the end of hardware init Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0eb74582fa7b5c15710d293a3c4d8d3409ae165 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:05 2014 -0700 drivers: net: xgene: Preparing for adding 10GbE support - Rearranged code to pave the way for adding 10GbE support - Added mac_ops structure containing function pointers for mac specific functions - Added port_ops structure containing function pointers for port specific functions Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5fb32417b7e52d2e6d5f5c64d277a03e5c998a02 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:04 2014 -0700 dtb: Add 10GbE node to APM X-Gene SoC device tree Added 10GbE interface and clock nodes. Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5239b978b686e336a501680c80399e4786ac12fc Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:03 2014 -0700 Documentation: dts: Update section header for APM X-Gene Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b61d18904e2a99ed16b6e97d5419f1db19e08bd2 Author: Iyappan Subramanian <isubramanian@xxxxxxx> Date: Thu Oct 9 18:32:02 2014 -0700 MAINTAINERS: Update APM X-Gene section Updated APM X-Gene ethernet driver maintainers list. Signed-off-by: Iyappan Subramanian <isubramanian@xxxxxxx> Signed-off-by: Keyur Chudgar <kchudgar@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3639f17068ed40e4e208a6e218481d49817bbd56 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Oct 2 22:05:18 2014 -0400 audit: put rule existence check in canonical order Use same rule existence check order as audit_make_tree(), audit_to_watch(), update_lsm_rule() for legibility. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 38b3629adb8c048dda8b98e888505c79ed33ae92 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Oct 9 15:16:41 2014 -0700 net: bpf: fix bpf syscall dependence on anon_inodes minimal configurations where EPOLL, PERF_EVENTS, etc are disabled, but NET is enabled, are failing to build with link error: kernel/built-in.o: In function `bpf_prog_load': syscall.c:(.text+0x3b728): undefined reference to `anon_inode_getfd' fix it by selecting ANON_INODES when NET is enabled Reported-by: Michal Sojka <sojkam1@xxxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b6fa1eef68591b0ba27f16c149180ce1cf7047f Merge: 4511a4a f0d1f04 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 15:01:09 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter fixes for net-next This batch contains two fixes for what you have in your net-next, they are: 1) Remove nf_send_reset6() from header file. This function now resides in the nf_reject_ipv6 module. Reported by Eric Dumazet. 2) Fix wrong NFT_REJECT_ICMPX_MAX definition and adjust code to fix errors reported by Dan Carpenter's static analysis tools. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95e8d97e9b78040285defe482e1edf8b6341a4c1 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 15:39:02 2014 -0300 perf ui browsers: Add missing include This file needs the K_{RIGHT,etc} definitions but isn't including the file where they are defined, ui/keysyms.h, fix it. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jlpybqegpdauzx64l9r1jgm3@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4318bcb70ecc567dd0414d87fcd7e926ce956aab Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 15:46:05 2014 -0300 perf tools: Move events_stats struct to event.h This is the only bit of hist.h that session.[ch] will end up using, so move it out of hist.h to make that abundantly clear. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-l9ftsl21ggw0c1g2ig87otmd@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4511a4a50e1a8757f771681c3e92dbf5a928eeac Merge: 3dab99e 1fca350 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 10 14:49:55 2014 -0400 Merge tag 'master-2014-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== pull request: wireless-next 2014-10-09 Please pull this batch of fixes intended for the 3.18 stream! Andrea Merello makes rtl818x_pci use a more reasonable transmission rate for HW generated frames. Fabian Frederick tweaks some kernel-doc bits to avoid warnings. Larry Finger corrects a possible unaligned access in the rtlwifi code. Marek Puzyniak avoids a kernel panic in ath9k_hw_reset. Sujith Manoharan goes for the hat trick -- he fixes a smatch warning in the shared ath code, he fixes a crash in ath9k, and he corrects a sequence number assignment problem in ath9k too. For ease of merging, I pulled the last bits of the wireless tree as well... Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3dab99e0b37e16525949757f46e33fb9612c73ec Author: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 10:10:36 2014 -0500 stmmac: correct mc_filter local variable in set_filter and set_mac_addr call Testing revealed that the local variable mc_filter was dimensioned incorrectly for all possible configurations and get_mac_addr should have been set_mac_addr (a typo). Make sure mc_filter is dimensioned to 8 32-bit unsigned longs - the largest size of the Synopsys multicast filter register set. Signed-off-by: Vince Bridgers <vbridger@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b3d136cf7e5e8e5ec80850e25bfea3e70d1bbe8 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 16:15:42 2014 +0200 net: pxa168_eth: PXA168_ETH should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `rxq_deinit': pxa168_eth.c:(.text+0x2a2f2e): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `txq_reclaim': pxa168_eth.c:(.text+0x2a3044): undefined reference to `dma_unmap_single' drivers/built-in.o: In function `txq_deinit': pxa168_eth.c:(.text+0x2a310a): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `txq_init': pxa168_eth.c:(.text+0x2a3226): undefined reference to `dma_alloc_coherent' drivers/built-in.o: In function `rxq_init': pxa168_eth.c:(.text+0x2a32d4): undefined reference to `dma_alloc_coherent' drivers/built-in.o: In function `init_hash_table': pxa168_eth.c:(.text+0x2a3354): undefined reference to `dma_alloc_coherent' drivers/built-in.o: In function `rxq_refill': pxa168_eth.c:(.text+0x2a345a): undefined reference to `dma_map_single' drivers/built-in.o: In function `rxq_process': pxa168_eth.c:(.text+0x2a39cc): undefined reference to `dma_unmap_single' drivers/built-in.o: In function `pxa168_eth_remove': pxa168_eth.c:(.text+0x2a3b84): undefined reference to `dma_free_coherent' drivers/built-in.o: In function `pxa168_eth_start_xmit': pxa168_eth.c:(.text+0x2a3e8a): undefined reference to `dma_map_single' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2329ade22844054f4dce79fb9358d8f9f0421a5 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Oct 10 15:12:15 2014 -0300 perf session: Don't count per evsel events PERF_RECORD_SAMPLE was not being counted here and is the only per-evsel thing anyway, the other events were not mapping to a evsel. With this we don't require that evsels used with a perf_session need to have space for hists, like the ones in annotate, report, top. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kzchpz0l1mhrsfpkirz086m2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 05df78059b3b991036666de9ee124d5cbd9e375d Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Oct 5 16:33:25 2014 +0200 RDMA/ocrdma: Save the bit environment, spare unncessary parenthesis Parenthesis around constants serves no purpose, save the bits! Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit de12348535a93535c408de396d3505541ca5e0d6 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Oct 5 16:33:24 2014 +0200 RDMA/ocrdma: The kernel has a perfectly good BIT() macro - use it No need to re-invent the wheel here Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit beb9b703811736adfc608034d1f0d5cf0c8a7073 Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Sun Oct 5 16:33:23 2014 +0200 RDMA/ocrdma: Don't memset() buffers we just allocated with kzalloc() Get rid of obfuscating ocrdma_alloc_mqe() kzalloc() wrapper as all it did was to make it less visible that the structure was already cleared on allocation. Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit e5dc9409933b21732a8c370e9f7cf79c2c92cbcb Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Mon Sep 29 14:59:43 2014 +0800 RDMA/ocrdma: Remove a unused-label warning If IPV6 is disabled, we get the warning: drivers/infiniband/hw/ocrdma/ocrdma_main.c:650:1: warning: label â??err_notifier6â?? defined but not used [-Wunused-label] Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 1b76d38332271d5a0468ae5e465c5ea534c473c6 Author: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Date: Fri Sep 5 19:35:40 2014 +0530 RDMA/ocrdma: Convert kernel VA to PA for mmap in user In some platforms, when iommu is enabled, the bus address returned by dma_alloc_coherent is different than the physical address. ocrdma should use physical address for mmap-ing the queue memory for the applications. This patch adds the use of virt_to_phys() at all such places where kernel buffer is mapped to user process context. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit bf67472ca1fac19c81367601bd4ba7d17bdc9f6e Author: Selvin Xavier <selvin.xavier@xxxxxxxxxx> Date: Fri Aug 22 16:57:20 2014 +0530 RDMA/ocrdma: Get vlan tag from ib_qp_attrs After IP-based GID changes, VLAN id can be obtained from qp_attr->vlan_id. Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Signed-off-by: Selvin Xavier <selvin.xavier@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 7ec11e0a14ae0a7a8fdce78860a70f25508de395 Author: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Date: Fri Aug 22 16:57:19 2014 +0530 RDMA/ocrdma: Add default GID at index 0 Signed-off-by: Devesh Sharma <devesh.sharma@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 3f4032861cfbff0b9134bf94c5c92e2146d1f068 Author: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Date: Fri Oct 10 23:32:49 2014 +0900 ALSA: bebob: Fix failure to detect source of clock for Terratec Phase 88 This patch fixes a failure to open PCM device with -ENOSYS in Terratec Phase 88. Terratec Phase 88 has two Selector Function Blocks of AVC Audio subunit to switch source of clock. One is to switch internal/external for the source and another is to switch word/spdif for the external clock. The IDs for these Selector Function Blocks are 9 and 8. But in current implementation they're 0 and 0. Reported-by: András Murányi <muranyia@xxxxxxxxx> Tested-by: András Murányi <muranyia@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Signed-off-by: Takashi Sakamoto <o-takashi@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c798360cd1438090d51eeaa8e67985da11362eba Merge: b211e9d 6ae833c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 07:26:02 2014 -0400 Merge branch 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu Pull percpu updates from Tejun Heo: "A lot of activities on percpu front. Notable changes are... - percpu allocator now can take @gfp. If @gfp doesn't contain GFP_KERNEL, it tries to allocate from what's already available to the allocator and a work item tries to keep the reserve around certain level so that these atomic allocations usually succeed. This will replace the ad-hoc percpu memory pool used by blk-throttle and also be used by the planned blkcg support for writeback IOs. Please note that I noticed a bug in how @gfp is interpreted while preparing this pull request and applied the fix 6ae833c7fe0c ("percpu: fix how @gfp is interpreted by the percpu allocator") just now. - percpu_ref now uses longs for percpu and global counters instead of ints. It leads to more sparse packing of the percpu counters on 64bit machines but the overhead should be negligible and this allows using percpu_ref for refcnting pages and in-memory objects directly. - The switching between percpu and single counter modes of a percpu_ref is made independent of putting the base ref and a percpu_ref can now optionally be initialized in single or killed mode. This allows avoiding percpu shutdown latency for cases where the refcounted objects may be synchronously created and destroyed in rapid succession with only a fraction of them reaching fully operational status (SCSI probing does this when combined with blk-mq support). It's also planned to be used to implement forced single mode to detect underflow more timely for debugging. There's a separate branch percpu/for-3.18-consistent-ops which cleans up the duplicate percpu accessors. That branch causes a number of conflicts with s390 and other trees. I'll send a separate pull request w/ resolutions once other branches are merged" * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: (33 commits) percpu: fix how @gfp is interpreted by the percpu allocator blk-mq, percpu_ref: start q->mq_usage_counter in atomic mode percpu_ref: make INIT_ATOMIC and switch_to_atomic() sticky percpu_ref: add PERCPU_REF_INIT_* flags percpu_ref: decouple switching to percpu mode and reinit percpu_ref: decouple switching to atomic mode and killing percpu_ref: add PCPU_REF_DEAD percpu_ref: rename things to prepare for decoupling percpu/atomic mode switch percpu_ref: replace pcpu_ prefix with percpu_ percpu_ref: minor code and comment updates percpu_ref: relocate percpu_ref_reinit() Revert "blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe" Revert "percpu: free percpu allocation info for uniprocessor system" percpu-refcount: make percpu_ref based on longs instead of ints percpu-refcount: improve WARN messages percpu: fix locking regression in the failure path of pcpu_alloc() percpu-refcount: add @gfp to percpu_ref_init() proportions: add @gfp to init functions percpu_counter: add @gfp to percpu_counter_init() percpu_counter: make percpu_counters_lock irq-safe ... commit b211e9d7c861bdb37b86d6384da9edfb80949ceb Merge: d9428f09 e756c7b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 07:24:40 2014 -0400 Merge branch 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup Pull cgroup updates from Tejun Heo: "Nothing too interesting. Just a handful of cleanup patches" * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: Revert "cgroup: remove redundant variable in cgroup_mount()" cgroup: remove redundant variable in cgroup_mount() cgroup: fix missing unlock in cgroup_release_agent() cgroup: remove CGRP_RELEASABLE flag perf/cgroup: Remove perf_put_cgroup() cgroup: remove redundant check in cgroup_ino() cpuset: simplify proc_cpuset_show() cgroup: simplify proc_cgroup_show() cgroup: use a per-cgroup work for release agent cgroup: remove bogus comments cgroup: remove redundant code in cgroup_rmdir() cgroup: remove some useless forward declarations cgroup: fix a typo in comment. commit d9428f09763d307a6d2220c4bbb01d8fc5c55b52 Merge: 0cf744b 37017ac Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 10 07:23:11 2014 -0400 Merge branch 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata Pull libata update from Tejun Heo: "AHCI is getting per-port irq handling and locks for better scalability. The gain is not huge but measureable with multiple high iops devices connected to the same host; however, the value of threaded IRQ handling seems negligible for AHCI and it likely will revert to non-threaded handling soon. Another noteworthy change is George Spelvin's "libata: Un-break ATA blacklist". During 3.17 devel cycle, the libata blacklist glob matching got generalized and rewritten; unfortunately, the patch forgot to swap arguments to match the new match function and ended up breaking blacklist matching completely. It got noticed only a couple days ago so it couldn't make for-3.17-fixes either. :( Other than the above two, nothing too interesting - the usual cleanup churns and device-specific changes" * 'for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata: (22 commits) pata_serverworks: disable 64-KB DMA transfers on Broadcom OSB4 IDE Controller libata: Un-break ATA blacklist AHCI: Do not acquire ata_host::lock from single IRQ handler AHCI: Optimize single IRQ interrupt processing AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode AHCI: Make few function names more descriptive AHCI: Move host activation code into ahci_host_activate() AHCI: Move ahci_host_activate() function to libahci.c AHCI: Pass SCSI host template as arg to ahci_host_activate() ata: pata_imx: Use the SIMPLE_DEV_PM_OPS() macro AHCI: Cleanup checking of multiple MSIs/SLM modes libata-sff: Fix controllers with no ctl port ahci_xgene: Fix the error print invalid resource for APM X-Gene SoC AHCI SATA Host Controller driver. libata: change ata_<foo>_printk routines to return void ata: qcom: Add device tree bindings information ahci-platform: Bump max number of clocks to 5 ahci: ahci_p5wdh_workaround - constify DMI table libahci_platform: Staticize ahci_platform_<en/dis>able_phys() pata_platform: Remove useless irq_flags field pata_of_platform: Remove "electra-ide" quirk ... commit 4a513fb009b96cf3d86491e00565367ceec29073 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 17 14:56:20 2014 -0700 arm64: kvm: define PAGE_S2_DEVICE as read-only by default Now that we support read-only memslots, we need to make sure that pass-through device mappings are not mapped writable if the guest has requested them to be read-only. The existing implementation already honours this by calling kvm_set_s2pte_writable() on the new pte in case of writable mappings, so all we need to do is define the default pgprot_t value used for devices to be PTE_S2_RDONLY. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 903ed3a54df2f6234c50f696b8a3db78c26ea119 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 17 14:56:19 2014 -0700 ARM: kvm: define PAGE_S2_DEVICE as read-only by default Now that we support read-only memslots, we need to make sure that pass-through device mappings are not mapped writable if the guest has requested them to be read-only. The existing implementation already honours this by calling kvm_set_s2pte_writable() on the new pte in case of writable mappings, so all we need to do is define the default pgprot_t value used for devices to be PTE_S2_RDONLY. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c40f2f8ff833eddc02cb599ef6e5a162223449ba Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 17 14:56:18 2014 -0700 arm/arm64: KVM: add 'writable' parameter to kvm_phys_addr_ioremap Add support for read-only MMIO passthrough mappings by adding a 'writable' parameter to kvm_phys_addr_ioremap. For the moment, mappings will be read-write even if 'writable' is false, but once the definition of PAGE_S2_DEVICE gets changed, those mappings will be created read-only. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 37b544087ef3f65ca68465ba39291a07195dac26 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 17 14:56:17 2014 -0700 arm/arm64: KVM: fix potential NULL dereference in user_mem_abort() Handle the potential NULL return value of find_vma_intersection() before dereferencing it. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit e9e8578b6cdfba0259e99e79f0cb80c55c99b3c2 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Sep 17 14:56:16 2014 -0700 arm/arm64: KVM: use __GFP_ZERO not memset() to get zeroed pages Pass __GFP_ZERO to __get_free_pages() instead of calling memset() explicitly. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c675c7db629bd1abf4a9a36c0200686716eeea05 Author: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 15:55:33 2014 +0530 powerpc/book3s: Don't clear MSR_RI in hmi handler. In HMI interrupt handler we don't touch SRR0/SRR1, instead we touch HSRR0/HSRR1. Hence we don't need to clear MSR_RI bit. Signed-off-by: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1028ccf560b97adbf272381a61a67e17d44d1054 Author: Romeo Cane <romeo.cane.ext@xxxxxxxxxxx> Date: Thu Oct 2 15:41:39 2014 +0100 powerpc: Fix sys_call_table declaration to enable syscall tracing Declaring sys_call_table as a pointer causes the compiler to generate the wrong lookup code in arch_syscall_addr(). <arch_syscall_addr>: lis r9,-16384 rlwinm r3,r3,2,0,29 - lwz r11,30640(r9) - lwzx r3,r11,r3 + addi r9,r9,30640 + lwzx r3,r9,r3 blr The actual sys_call_table symbol, declared in assembler, is an array. If we lie about that to the compiler we get the wrong code generated, as above. This definition seems only to be used by the syscall tracing code in kernel/trace/trace_syscalls.c. With this patch I can successfully use the syscall tracepoints: bash-3815 [002] .... 333.239082: sys_write -> 0x2 bash-3815 [002] .... 333.239087: sys_dup2(oldfd: a, newfd: 1) bash-3815 [002] .... 333.239088: sys_dup2 -> 0x1 bash-3815 [002] .... 333.239092: sys_fcntl(fd: a, cmd: 1, arg: 0) bash-3815 [002] .... 333.239093: sys_fcntl -> 0x1 bash-3815 [002] .... 333.239094: sys_close(fd: a) bash-3815 [002] .... 333.239094: sys_close -> 0x0 Signed-off-by: Romeo Cane <romeo.cane.ext@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b71b12dce200e4709bd9f709e71c84dcb2cf8a82 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Oct 10 01:19:06 2014 -0400 networking: fm10k: Fix build failure The latest linus git tip (3.18-rc1) fails with the following build failure. Fix this by making PTP support explicit for fm10k driver. rivers/built-in.o: In function `fm10k_ptp_register': (.text+0x12e760): undefined reference to `ptp_clock_registER' drivers/built-in.o: In function `fm10k_ptp_unregister': (.text+0x12e7dc): undefined reference to `ptp_clock_unregister' Makefile:930: recipe for target 'vmlinux' failed Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b4ecf39a2fb2285b3ffc869411461a3e83e1b63 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Thu Oct 9 16:54:43 2014 +0200 net: fs_enet: error: 'SCCE_ENET_TXF' undeclared [linux-devel:devel-hourly-2014100909 3763/3915] drivers/net/ethernet/freescale/fs_enet/mac-scc.c:119:32: error: 'SCCE_ENET_TXF' undeclared Due to patch d43a396 net: fs_enet: Add NAPI TX, it appears that some target compilations are broken. This is due to the fact that unlike the FEC, the SCC and FCC don't have a TXF event (complete Frame transmitted) but only TXB (buffer transmitted). Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0cf744bc7ae8e0072159a901f6e1a159bbc30ffa Merge: b528392 7f8998c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 22:26:14 2014 -0400 Merge branch 'akpm' (fixes from Andrew Morton) Merge patch-bomb from Andrew Morton: - part of OCFS2 (review is laggy again) - procfs - slab - all of MM - zram, zbud - various other random things: arch, filesystems. * emailed patches from Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>: (164 commits) nosave: consolidate __nosave_{begin,end} in <asm/sections.h> include/linux/screen_info.h: remove unused ORIG_* macros kernel/sys.c: compat sysinfo syscall: fix undefined behavior kernel/sys.c: whitespace fixes acct: eliminate compile warning kernel/async.c: switch to pr_foo() include/linux/blkdev.h: use NULL instead of zero include/linux/kernel.h: deduplicate code implementing clamp* macros include/linux/kernel.h: rewrite min3, max3 and clamp using min and max alpha: use Kbuild logic to include <asm-generic/sections.h> frv: remove deprecated IRQF_DISABLED frv: remove unused cpuinfo_frv and friends to fix future build error zbud: avoid accessing last unused freelist zsmalloc: simplify init_zspage free obj linking mm/zsmalloc.c: correct comment for fullness group computation zram: use notify_free to account all free notifications zram: report maximum used memory zram: zram memory size limitation zsmalloc: change return value unit of zs_get_total_size_bytes zsmalloc: move pages_allocated to zs_pool ... commit 7f8998c7aef3ac9c5f3f2943e083dfa6302e90d0 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:30:30 2014 -0700 nosave: consolidate __nosave_{begin,end} in <asm/sections.h> The different architectures used their own (and different) declarations: extern __visible const void __nosave_begin, __nosave_end; extern const void __nosave_begin, __nosave_end; extern long __nosave_begin, __nosave_end; Consolidate them using the first variant in <asm/sections.h>. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Guan Xuetao <gxt@xxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 578b25dfce2990d8bab5631f33a4283bd5b01556 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:30:28 2014 -0700 include/linux/screen_info.h: remove unused ORIG_* macros The ORIG_* macros definitions to access struct screen_info members and all of their users were removed 7 years ago by commit 3ea335100014785f ("Remove magic macros for screen_info structure members"), but (only) the definitions reappeared a few days later in commit ee8e7cfe9d330d6f ("Make asm-x86/bootparam.h includable from userspace."). Remove them for good. Amen. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0baae41ea8365a7b5a34c6474a77d7eb1126f6b2 Author: Scotty Bauer <sbauer@xxxxxxxxxxxx> Date: Thu Oct 9 15:30:26 2014 -0700 kernel/sys.c: compat sysinfo syscall: fix undefined behavior Fix undefined behavior and compiler warning by replacing right shift 32 with upper_32_bits macro Signed-off-by: Scotty Bauer <sbauer@xxxxxxxxxxxx> Cc: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ec94fc3d59b54561da03a0e433d93217b08c1481 Author: vishnu.ps <vishnu.ps@xxxxxxxxxxx> Date: Thu Oct 9 15:30:23 2014 -0700 kernel/sys.c: whitespace fixes Fix minor errors and warning messages in kernel/sys.c. These errors were reported by checkpatch while working with some modifications in sys.c file. Fixing this first will help me to improve my further patches. ERROR: trailing whitespace - 9 ERROR: do not use assignment in if condition - 4 ERROR: spaces required around that '?' (ctx:VxO) - 10 ERROR: switch and case should be at the same indent - 3 total 26 errors & 3 warnings fixed. Signed-off-by: vishnu.ps <vishnu.ps@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 067b722faf98adbe1e94581f39c06a7c82b58676 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Thu Oct 9 15:30:21 2014 -0700 acct: eliminate compile warning If ACCT_VERSION is not defined to 3, below warning appears: CC kernel/acct.o kernel/acct.c: In function `do_acct_process': kernel/acct.c:475:24: warning: unused variable `ns' [-Wunused-variable] [akpm@xxxxxxxxxxxxxxxxxxxx: retain the local for code size improvements Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 27fb10edcacbb70ac4e97fe1506006d732421210 Author: Ionut Alexa <ionut.m.alexa@xxxxxxxxx> Date: Thu Oct 9 15:30:19 2014 -0700 kernel/async.c: switch to pr_foo() Signed-off-by: Ionut Alexa <ionut.m.alexa@xxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 61a04e5b306ab9d6a30f78e86f1f140d7c888304 Author: Michele Curti <michele.curti@xxxxxxxxx> Date: Thu Oct 9 15:30:17 2014 -0700 include/linux/blkdev.h: use NULL instead of zero Quite useless but it shuts up some warnings. Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c185b07fc9f24d52a864376ed22a6d84384b0c53 Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Thu Oct 9 15:30:15 2014 -0700 include/linux/kernel.h: deduplicate code implementing clamp* macros Instead of open-coding clamp_t macro min_t and max_t the way clamp macro does and instead of open-coding clamp_val simply use clamp_t. Furthermore, normalise argument naming in the macros to be lo and hi. Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Mark Rustad <mark.d.rustad@xxxxxxxxx> Cc: "Kirsher, Jeffrey T" <jeffrey.t.kirsher@xxxxxxxxx> Cc: Hagen Paul Pfeifer <hagen@xxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2e1d06e1c05af9dbe8a3bfddeefbf041ca637fff Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Thu Oct 9 15:30:13 2014 -0700 include/linux/kernel.h: rewrite min3, max3 and clamp using min and max It appears that gcc is better at optimising a double call to min and max rather than open coded min3 and max3. This can be observed here: $ cat min-max.c #define min(x, y) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; }) #define min3(x, y, z) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ typeof(z) _min3 = (z); \ (void) (&_min1 == &_min2); \ (void) (&_min1 == &_min3); \ _min1 < _min2 ? (_min1 < _min3 ? _min1 : _min3) : \ (_min2 < _min3 ? _min2 : _min3); }) int fmin3(int x, int y, int z) { return min3(x, y, z); } int fmin2(int x, int y, int z) { return min(min(x, y), z); } $ gcc -O2 -o min-max.s -S min-max.c; cat min-max.s .file "min-max.c" .text .p2align 4,,15 .globl fmin3 .type fmin3, @function fmin3: .LFB0: .cfi_startproc cmpl %esi, %edi jl .L5 cmpl %esi, %edx movl %esi, %eax cmovle %edx, %eax ret .p2align 4,,10 .p2align 3 .L5: cmpl %edi, %edx movl %edi, %eax cmovle %edx, %eax ret .cfi_endproc .LFE0: .size fmin3, .-fmin3 .p2align 4,,15 .globl fmin2 .type fmin2, @function fmin2: .LFB1: .cfi_startproc cmpl %edi, %esi movl %edx, %eax cmovle %esi, %edi cmpl %edx, %edi cmovle %edi, %eax ret .cfi_endproc .LFE1: .size fmin2, .-fmin2 .ident "GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3" .section .note.GNU-stack,"",@progbits fmin3 function, which uses open-coded min3 macro, is compiled into total of ten instructions including a conditional branch, whereas fmin2 function, which uses two calls to min2 macro, is compiled into six instructions with no branches. Similarly, open-coded clamp produces the same code as clamp using min and max macros, but the latter is much shorter: $ cat clamp.c #define clamp(val, min, max) ({ \ typeof(val) __val = (val); \ typeof(min) __min = (min); \ typeof(max) __max = (max); \ (void) (&__val == &__min); \ (void) (&__val == &__max); \ __val = __val < __min ? __min: __val; \ __val > __max ? __max: __val; }) #define min(x, y) ({ \ typeof(x) _min1 = (x); \ typeof(y) _min2 = (y); \ (void) (&_min1 == &_min2); \ _min1 < _min2 ? _min1 : _min2; }) #define max(x, y) ({ \ typeof(x) _max1 = (x); \ typeof(y) _max2 = (y); \ (void) (&_max1 == &_max2); \ _max1 > _max2 ? _max1 : _max2; }) int fclamp(int v, int min, int max) { return clamp(v, min, max); } int fclampmm(int v, int min, int max) { return min(max(v, min), max); } $ gcc -O2 -o clamp.s -S clamp.c; cat clamp.s .file "clamp.c" .text .p2align 4,,15 .globl fclamp .type fclamp, @function fclamp: .LFB0: .cfi_startproc cmpl %edi, %esi movl %edx, %eax cmovge %esi, %edi cmpl %edx, %edi cmovle %edi, %eax ret .cfi_endproc .LFE0: .size fclamp, .-fclamp .p2align 4,,15 .globl fclampmm .type fclampmm, @function fclampmm: .LFB1: .cfi_startproc cmpl %edi, %esi cmovge %esi, %edi cmpl %edi, %edx movl %edi, %eax cmovle %edx, %eax ret .cfi_endproc .LFE1: .size fclampmm, .-fclampmm .ident "GCC: (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3" .section .note.GNU-stack,"",@progbits Linux mpn-glaptop 3.13.0-29-generic #53~precise1-Ubuntu SMP Wed Jun 4 22:06:25 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -rwx------ 1 mpn eng 51224656 Jun 17 14:15 vmlinux.before -rwx------ 1 mpn eng 51224608 Jun 17 13:57 vmlinux.after 48 bytes reduction. The do_fault_around was a few instruction shorter and as far as I can tell saved 12 bytes on the stack, i.e.: $ grep -e rsp -e pop -e push do_fault_around.* do_fault_around.before.s:push %rbp do_fault_around.before.s:mov %rsp,%rbp do_fault_around.before.s:push %r13 do_fault_around.before.s:push %r12 do_fault_around.before.s:push %rbx do_fault_around.before.s:sub $0x38,%rsp do_fault_around.before.s:add $0x38,%rsp do_fault_around.before.s:pop %rbx do_fault_around.before.s:pop %r12 do_fault_around.before.s:pop %r13 do_fault_around.before.s:pop %rbp do_fault_around.after.s:push %rbp do_fault_around.after.s:mov %rsp,%rbp do_fault_around.after.s:push %r12 do_fault_around.after.s:push %rbx do_fault_around.after.s:sub $0x30,%rsp do_fault_around.after.s:add $0x30,%rsp do_fault_around.after.s:pop %rbx do_fault_around.after.s:pop %r12 do_fault_around.after.s:pop %rbp or here side-by-side: Before After push %rbp push %rbp mov %rsp,%rbp mov %rsp,%rbp push %r13 push %r12 push %r12 push %rbx push %rbx sub $0x38,%rsp sub $0x30,%rsp add $0x38,%rsp add $0x30,%rsp pop %rbx pop %rbx pop %r12 pop %r12 pop %r13 pop %rbp pop %rbp There are also fewer branches: $ grep ^j do_fault_around.* do_fault_around.before.s:jae ffffffff812079b7 do_fault_around.before.s:jmp ffffffff812079c5 do_fault_around.before.s:jmp ffffffff81207a14 do_fault_around.before.s:ja ffffffff812079f9 do_fault_around.before.s:jb ffffffff81207a10 do_fault_around.before.s:jmp ffffffff81207a63 do_fault_around.before.s:jne ffffffff812079df do_fault_around.after.s:jmp ffffffff812079fd do_fault_around.after.s:ja ffffffff812079e2 do_fault_around.after.s:jb ffffffff812079f9 do_fault_around.after.s:jmp ffffffff81207a4c do_fault_around.after.s:jne ffffffff812079c8 And here's with allyesconfig on a different machine: $ uname -a; gcc --version; ls -l vmlinux.* Linux erwin 3.14.7-mn #54 SMP Sun Jun 15 11:25:08 CEST 2014 x86_64 AMD Phenom(tm) II X3 710 Processor AuthenticAMD GNU/Linux gcc (GCC) 4.8.3 Copyright (C) 2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -rwx------ 1 mpn eng 437027411 Jun 20 16:04 vmlinux.before -rwx------ 1 mpn eng 437026881 Jun 20 15:30 vmlinux.after 530 bytes reduction. Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Hagen Paul Pfeifer <hagen@xxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Hagen Paul Pfeifer <hagen@xxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: "Rustad, Mark D" <mark.d.rustad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 036c6508f183e9c730aee25e33d27b2b9b9a5bbc Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:30:10 2014 -0700 alpha: use Kbuild logic to include <asm-generic/sections.h> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08e4cf4be2153b0eac503679004889fd7e28c819 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:30:08 2014 -0700 frv: remove deprecated IRQF_DISABLED Remove the IRQF_DISABLED flag from FRV architecture code. It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21f456607a7acc73947580a84eb36d180d2562b7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Oct 9 15:30:06 2014 -0700 frv: remove unused cpuinfo_frv and friends to fix future build error Frv has a macro named cpu_data, interfering with variables and struct members with the same name: include/linux/pm_domain.h:75:24: error: expected identifier or '(' before '&' token struct gpd_cpu_data *cpu_data; As struct cpuinfo_frv, boot_cpu_data, cpu_data, and current_cpu_data are not used, removed them to fix this. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f203c3b33f0891da98ae3dcf829851c48473ed60 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Oct 9 15:30:04 2014 -0700 zbud: avoid accessing last unused freelist For now, there are NCHUNKS of 64 freelists in zbud_pool, the last unbuddied[63] freelist linked with all zbud pages which have free chunks of 63. Calculating according to context of num_free_chunks(), our max chunk number of unbuddied zbud page is 62, so none of zbud pages will be added/removed in last freelist, but still we will try to find an unbuddied zbud page in the last unused freelist, it is unneeded. This patch redefines NCHUNKS to 63 as free chunk number in one zbud page, hence we can decrease size of zpool and avoid accessing the last unused freelist whenever failing to allocate zbud from freelist in zbud_alloc. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5538c562377580947916b3366898f1eb5f53768e Author: Dan Streetman <ddstreet@xxxxxxxx> Date: Thu Oct 9 15:30:01 2014 -0700 zsmalloc: simplify init_zspage free obj linking Change zsmalloc init_zspage() logic to iterate through each object on each of its pages, checking the offset to verify the object is on the current page before linking it into the zspage. The current zsmalloc init_zspage free object linking code has logic that relies on there only being one page per zspage when PAGE_SIZE is a multiple of class->size. It calculates the number of objects for the current page, and iterates through all of them plus one, to account for the assumed partial object at the end of the page. While this currently works, the logic can be simplified to just link the object at each successive offset until the offset is larger than PAGE_SIZE, which does not rely on PAGE_SIZE being a multiple of class->size. Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6dd9737e31504f9377a8a19810ea4922e88516c1 Author: Wang Sheng-Hui <shhuiw@xxxxxxxxx> Date: Thu Oct 9 15:29:59 2014 -0700 mm/zsmalloc.c: correct comment for fullness group computation The letter 'f' in "n <= N/f" stands for fullness_threshold_frac, not 1/fullness_threshold_frac. Signed-off-by: Wang Sheng-Hui <shhuiw@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 015254daf1753003c19c46b90ee85a963260d270 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Thu Oct 9 15:29:57 2014 -0700 zram: use notify_free to account all free notifications `notify_free' device attribute accounts the number of slot free notifications and internally represents the number of zram_free_page() calls. Slot free notifications are sent only when device is used as a swap device, hence `notify_free' is used only for swap devices. Since f4659d8e620d08 (zram: support REQ_DISCARD) ZRAM handles yet another one free notification (also via zram_free_page() call) -- REQ_DISCARD requests, which are sent by a filesystem, whenever some data blocks are discarded. However, there is no way to know the number of notifications in the latter case. Use `notify_free' to account the number of pages freed by zram_bio_discard() and zram_slot_free_notify(). Depending on usage scenario `notify_free' represents: a) the number of pages freed because of slot free notifications, which is equal to the number of swap_slot_free_notify() calls, so there is no behaviour change b) the number of pages freed because of REQ_DISCARD notifications Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 461a8eee6af3b55745be64bea403ed0b743563cf Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Thu Oct 9 15:29:55 2014 -0700 zram: report maximum used memory Normally, zram user could get maximum memory usage zram consumed via polling mem_used_total with sysfs in userspace. But it has a critical problem because user can miss peak memory usage during update inverval of polling. For avoiding that, user should poll it with shorter interval(ie, 0.0000000001s) with mlocking to avoid page fault delay when memory pressure is heavy. It would be troublesome. This patch adds new knob "mem_used_max" so user could see the maximum memory usage easily via reading the knob and reset it via "echo 0 > /sys/block/zram0/mem_used_max". Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Reviewed-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: <juno.choi@xxxxxxx> Cc: <seungho1.park@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Reviewed-by: David Horner <ds2horner@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9ada9da9573f3460b156b7755c093e30b258eacb Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Thu Oct 9 15:29:53 2014 -0700 zram: zram memory size limitation Since zram has no control feature to limit memory usage, it makes hard to manage system memrory. This patch adds new knob "mem_limit" via sysfs to set up the a limit so that zram could fail allocation once it reaches the limit. In addition, user could change the limit in runtime so that he could manage the memory more dynamically. Initial state is no limit so it doesn't break old behavior. [akpm@xxxxxxxxxxxxxxxxxxxx: fix typo, per Sergey] Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: <juno.choi@xxxxxxx> Cc: <seungho1.park@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: David Horner <ds2horner@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 722cdc17232f0f684011407f7cf3c40d39457971 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Thu Oct 9 15:29:50 2014 -0700 zsmalloc: change return value unit of zs_get_total_size_bytes zs_get_total_size_bytes returns a amount of memory zsmalloc consumed with *byte unit* but zsmalloc operates *page unit* rather than byte unit so let's change the API so benefit we could get is that reduce unnecessary overhead (ie, change page unit with byte unit) in zsmalloc. Since return type is pages, "zs_get_total_pages" is better than "zs_get_total_size_bytes". Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Reviewed-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: <juno.choi@xxxxxxx> Cc: <seungho1.park@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Cc: David Horner <ds2horner@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 13de8933c96b4557f667c337676f05274e017f83 Author: Minchan Kim <minchan@xxxxxxxxxx> Date: Thu Oct 9 15:29:48 2014 -0700 zsmalloc: move pages_allocated to zs_pool Currently, zram has no feature to limit memory so theoretically zram can deplete system memory. Users have asked for a limit several times as even without exhaustion zram makes it hard to control memory usage of the platform. This patchset adds the feature. Patch 1 makes zs_get_total_size_bytes faster because it would be used frequently in later patches for the new feature. Patch 2 changes zs_get_total_size_bytes's return unit from bytes to page so that zsmalloc doesn't need unnecessary operation(ie, << PAGE_SHIFT). Patch 3 adds new feature. I added the feature into zram layer, not zsmalloc because limiation is zram's requirement, not zsmalloc so any other user using zsmalloc(ie, zpool) shouldn't affected by unnecessary branch of zsmalloc. In future, if every users of zsmalloc want the feature, then, we could move the feature from client side to zsmalloc easily but vice versa would be painful. Patch 4 adds news facility to report maximum memory usage of zram so that this avoids user polling frequently via /sys/block/zram0/ mem_used_total and ensures transient max are not missed. This patch (of 4): pages_allocated has counted in size_class structure and when user of zsmalloc want to see total_size_bytes, it should gather all of count from each size_class to report the sum. It's not bad if user don't see the value often but if user start to see the value frequently, it would be not a good deal for performance pov. This patch moves the count from size_class to zs_pool so it could reduce memory footprint (from [255 * 8byte] to [sizeof(atomic_long_t)]). Signed-off-by: Minchan Kim <minchan@xxxxxxxxxx> Reviewed-by: Dan Streetman <ddstreet@xxxxxxxx> Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: <juno.choi@xxxxxxx> Cc: <seungho1.park@xxxxxxx> Cc: Luigi Semenzato <semenzato@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seth Jennings <sjennings@xxxxxxxxxxxxxx> Reviewed-by: David Horner <ds2horner@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cd2567b6850b1648236a4aab0513a04ebaea6aa8 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Thu Oct 9 15:29:45 2014 -0700 m68k: call find_vma with the mmap_sem held in sys_cacheflush() Performing vma lookups without taking the mm->mmap_sem is asking for trouble. While doing the search, the vma in question can be modified or even removed before returning to the caller. Take the lock (shared) in order to avoid races while iterating through the vmacache and/or rbtree. In addition, this guarantees that the address space will remain intact during the CPU flushing. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7cc36bbddde5cd0c98f0c06e3304ab833d662565 Author: Christoph Lameter <cl@xxxxxxxxxx> Date: Thu Oct 9 15:29:43 2014 -0700 vmstat: on-demand vmstat workers V8 vmstat workers are used for folding counter differentials into the zone, per node and global counters at certain time intervals. They currently run at defined intervals on all processors which will cause some holdoff for processors that need minimal intrusion by the OS. The current vmstat_update mechanism depends on a deferrable timer firing every other second by default which registers a work queue item that runs on the local CPU, with the result that we have 1 interrupt and one additional schedulable task on each CPU every 2 seconds If a workload indeed causes VM activity or multiple tasks are running on a CPU, then there are probably bigger issues to deal with. However, some workloads dedicate a CPU for a single CPU bound task. This is done in high performance computing, in high frequency financial applications, in networking (Intel DPDK, EZchip NPS) and with the advent of systems with more and more CPUs over time, this may become more and more common to do since when one has enough CPUs one cares less about efficiently sharing a CPU with other tasks and more about efficiently monopolizing a CPU per task. The difference of having this timer firing and workqueue kernel thread scheduled per second can be enormous. An artificial test measuring the worst case time to do a simple "i++" in an endless loop on a bare metal system and under Linux on an isolated CPU with dynticks and with and without this patch, have Linux match the bare metal performance (~700 cycles) with this patch and loose by couple of orders of magnitude (~200k cycles) without it[*]. The loss occurs for something that just calculates statistics. For networking applications, for example, this could be the difference between dropping packets or sustaining line rate. Statistics are important and useful, but it would be great if there would be a way to not cause statistics gathering produce a huge performance difference. This patche does just that. This patch creates a vmstat shepherd worker that monitors the per cpu differentials on all processors. If there are differentials on a processor then a vmstat worker local to the processors with the differentials is created. That worker will then start folding the diffs in regular intervals. Should the worker find that there is no work to be done then it will make the shepherd worker monitor the differentials again. With this patch it is possible then to have periods longer than 2 seconds without any OS event on a "cpu" (hardware thread). The patch shows a very minor increased in system performance. hackbench -s 512 -l 2000 -g 15 -f 25 -P Results before the patch: Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 4.992 Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 4.971 Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 5.063 Hackbench after the patch: Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 4.973 Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 4.990 Running in process mode with 15 groups using 50 file descriptors each (== 750 tasks) Each sender will pass 2000 messages of 512 bytes Time: 4.993 [fengguang.wu@xxxxxxxxx: cpu_stat_off can be static] Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Reviewed-by: Gilad Ben-Yossef <gilad@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Mike Frysinger <vapier@xxxxxxxxxx> Cc: Minchan Kim <minchan.kim@xxxxxxxxx> Cc: Hakan Akkan <hakanakkan@xxxxxxxxx> Cc: Max Krasnyansky <maxk@xxxxxxxxxxxxxxxx> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f0d6d1f6ff6f8525cfa396ec1969b8f402391445 Author: Jean Delvare <jdelvare@xxxxxxx> Date: Thu Oct 9 15:29:41 2014 -0700 CMA: document cma=0 It isn't obvious that CMA can be disabled on the kernel's command line, so document it. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Chuck Ebbert <cebbert.lkml@xxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 86cf78d73de8c6bfa89804b91ee0ace71a459961 Author: Sebastien Buisson <sebastien.buisson@xxxxxxxx> Date: Thu Oct 9 15:29:38 2014 -0700 fs/buffer.c: increase the buffer-head per-CPU LRU size Increase the buffer-head per-CPU LRU size to allow efficient filesystem operations that access many blocks for each transaction. For example, creating a file in a large ext4 directory with quota enabled will access multiple buffer heads and will overflow the LRU at the default 8-block LRU size: * parent directory inode table block (ctime, nlinks for subdirs) * new inode bitmap * inode table block * 2 quota blocks * directory leaf block (not reused, but pollutes one cache entry) * 2 levels htree blocks (only one is reused, other pollutes cache) * 2 levels indirect/index blocks (only one is reused) The buffer-head per-CPU LRU size is raised to 16, as it shows in metadata performance benchmarks up to 10% gain for create, 4% for lookup and 7% for destroy. Signed-off-by: Liang Zhen <liang.zhen@xxxxxxxxx> Signed-off-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Sebastien Buisson <sebastien.buisson@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c0346a36cc8ac6cb85ab585964590974c84bdf0 Author: Mel Gorman <mgorman@xxxxxxx> Date: Thu Oct 9 15:29:36 2014 -0700 mm: mempolicy: skip inaccessible VMAs when setting MPOL_MF_LAZY PROT_NUMA VMAs are skipped to avoid problems distinguishing between present, prot_none and special entries. MPOL_MF_LAZY is not visible from userspace since commit a720094ded8c ("mm: mempolicy: Hide MPOL_NOOP and MPOL_MF_LAZY from userspace for now") but it should still skip VMAs the same way task_numa_work does. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0085d61fe05ec5a3739afb8ffb8a88130402633e Author: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Date: Thu Oct 9 15:29:34 2014 -0700 selftests/vm/transhuge-stress: stress test for memory compaction This tool induces memory fragmentation via sequential allocation of transparent huge pages and splitting off everything except their last sub-pages. It easily generates pressure to the memory compaction code. $ perf stat -e 'compaction:*' -e 'migrate:*' ./transhuge-stress transhuge-stress: allocate 7858 transhuge pages, using 15716 MiB virtual memory and 61 MiB of ram transhuge-stress: 1.653 s/loop, 0.210 ms/page, 9504.828 MiB/s 7858 succeed, 0 failed, 2439 different pages transhuge-stress: 1.537 s/loop, 0.196 ms/page, 10226.227 MiB/s 7858 succeed, 0 failed, 2364 different pages transhuge-stress: 1.658 s/loop, 0.211 ms/page, 9479.215 MiB/s 7858 succeed, 0 failed, 2179 different pages transhuge-stress: 1.617 s/loop, 0.206 ms/page, 9716.992 MiB/s 7858 succeed, 0 failed, 2421 different pages ^C./transhuge-stress: Interrupt Performance counter stats for './transhuge-stress': 1.744.051 compaction:mm_compaction_isolate_migratepages 1.014 compaction:mm_compaction_isolate_freepages 1.744.051 compaction:mm_compaction_migratepages 1.647 compaction:mm_compaction_begin 1.647 compaction:mm_compaction_end 1.744.051 migrate:mm_migrate_pages 0 migrate:mm_numa_migrate_ratelimit 7,964696835 seconds time elapsed Signed-off-by: Konstantin Khlebnikov <koct9i@xxxxxxxxx> Cc: Rafael Aquini <aquini@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 09316c09dde33aae14f34489d9e3d243ec0d5938 Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Oct 9 15:29:32 2014 -0700 mm/balloon_compaction: add vmstat counters and kpageflags bit Always mark pages with PageBalloon even if balloon compaction is disabled and expose this mark in /proc/kpageflags as KPF_BALLOON. Also this patch adds three counters into /proc/vmstat: "balloon_inflate", "balloon_deflate" and "balloon_migrate". They accumulate balloon activity. Current size of balloon is (balloon_inflate - balloon_deflate) pages. All generic balloon code now gathered under option CONFIG_MEMORY_BALLOON. It should be selected by ballooning driver which wants use this feature. Currently virtio-balloon is the only user. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Cc: Rafael Aquini <aquini@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9d1ba8056474a208ed9efb7e58cd014795d9f818 Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Oct 9 15:29:29 2014 -0700 mm/balloon_compaction: remove balloon mapping and flag AS_BALLOON_MAP Now ballooned pages are detected using PageBalloon(). Fake mapping is no longer required. This patch links ballooned pages to balloon device using field page->private instead of page->mapping. Also this patch embeds balloon_dev_info directly into struct virtio_balloon. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Cc: Rafael Aquini <aquini@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d6d86c0a7f8ddc5b38cf089222cb1d9540762dc2 Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Oct 9 15:29:27 2014 -0700 mm/balloon_compaction: redesign ballooned pages management Sasha Levin reported KASAN splash inside isolate_migratepages_range(). Problem is in the function __is_movable_balloon_page() which tests AS_BALLOON_MAP in page->mapping->flags. This function has no protection against anonymous pages. As result it tried to check address space flags inside struct anon_vma. Further investigation shows more problems in current implementation: * Special branch in __unmap_and_move() never works: balloon_page_movable() checks page flags and page_count. In __unmap_and_move() page is locked, reference counter is elevated, thus balloon_page_movable() always fails. As a result execution goes to the normal migration path. virtballoon_migratepage() returns MIGRATEPAGE_BALLOON_SUCCESS instead of MIGRATEPAGE_SUCCESS, move_to_new_page() thinks this is an error code and assigns newpage->mapping to NULL. Newly migrated page lose connectivity with balloon an all ability for further migration. * lru_lock erroneously required in isolate_migratepages_range() for isolation ballooned page. This function releases lru_lock periodically, this makes migration mostly impossible for some pages. * balloon_page_dequeue have a tight race with balloon_page_isolate: balloon_page_isolate could be executed in parallel with dequeue between picking page from list and locking page_lock. Race is rare because they use trylock_page() for locking. This patch fixes all of them. Instead of fake mapping with special flag this patch uses special state of page->_mapcount: PAGE_BALLOON_MAPCOUNT_VALUE = -256. Buddy allocator uses PAGE_BUDDY_MAPCOUNT_VALUE = -128 for similar purpose. Storing mark directly in struct page makes everything safer and easier. PagePrivate is used to mark pages present in page list (i.e. not isolated, like PageLRU for normal pages). It replaces special rules for reference counter and makes balloon migration similar to migration of normal pages. This flag is protected by page_lock together with link to the balloon device. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Link: http://lkml.kernel.org/p/53E6CEAA.9020105@xxxxxxxxxx Cc: Rafael Aquini <aquini@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> [3.8+] Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 29e5694054149acd25b0d5538c95fb6d64478315 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:25 2014 -0700 arm64: mm: enable RCU fast_gup Activate the RCU fast_gup for ARM64. We also need to force THP splits to broadcast an IPI s.t. we block in the fast_gup page walker. As THP splits are comparatively rare, this should not lead to a noticeable performance degradation. Some pre-requisite functions pud_write and pud_page are also added. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5e5f6dc10546f5c03bc572e3ba3089af30c66e2d Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:23 2014 -0700 arm64: mm: enable HAVE_RCU_TABLE_FREE logic In order to implement fast_get_user_pages we need to ensure that the page table walker is protected from page table pages being freed from under it. This patch enables HAVE_RCU_TABLE_FREE, any page table pages belonging to address spaces with multiple users will be call_rcu_sched freed. Meaning that disabling interrupts will block the free and protect the fast gup page walker. Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8cd51afe05a98ef907e61c603d5c5b7ad6242d8 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:20 2014 -0700 arm: mm: enable RCU fast_gup Activate the RCU fast_gup for ARM. We also need to force THP splits to broadcast an IPI s.t. we block in the fast_gup page walker. As THP splits are comparatively rare, this should not lead to a noticeable performance degradation. Some pre-requisite functions pud_write and pud_page are also added. Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a0ad5496b2b3accf09ab9485ad0170e3b4b1cb27 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:18 2014 -0700 arm: mm: enable HAVE_RCU_TABLE_FREE logic In order to implement fast_get_user_pages we need to ensure that the page table walker is protected from page table pages being freed from under it. This patch enables HAVE_RCU_TABLE_FREE, any page table pages belonging to address spaces with multiple users will be call_rcu_sched freed. Meaning that disabling interrupts will block the free and protect the fast gup page walker. Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bd951303be5b4df578c7f30ef78839f1a9d6658c Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:16 2014 -0700 arm: mm: introduce special ptes for LPAE We need a mechanism to tag ptes as being special, this indicates that no attempt should be made to access the underlying struct page * associated with the pte. This is used by the fast_gup when operating on ptes as it has no means to access VMAs (that also contain this information) locklessly. The L_PTE_SPECIAL bit is already allocated for LPAE, this patch modifies pte_special and pte_mkspecial to make use of it, and defines __HAVE_ARCH_PTE_SPECIAL. This patch also excludes special ptes from the icache/dcache sync logic. Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2667f50e8b81457fcb4a3dbe6aff3e81ea009e13 Author: Steve Capper <steve.capper@xxxxxxxxxx> Date: Thu Oct 9 15:29:14 2014 -0700 mm: introduce a general RCU get_user_pages_fast() This series implements general forms of get_user_pages_fast and __get_user_pages_fast in core code and activates them for arm and arm64. These are required for Transparent HugePages to function correctly, as a futex on a THP tail will otherwise result in an infinite loop (due to the core implementation of __get_user_pages_fast always returning 0). Unfortunately, a futex on THP tail can be quite common for certain workloads; thus THP is unreliable without a __get_user_pages_fast implementation. This series may also be beneficial for direct-IO heavy workloads and certain KVM workloads. This patch (of 6): get_user_pages_fast() attempts to pin user pages by walking the page tables directly and avoids taking locks. Thus the walker needs to be protected from page table pages being freed from under it, and needs to block any THP splits. One way to achieve this is to have the walker disable interrupts, and rely on IPIs from the TLB flushing code blocking before the page table pages are freed. On some platforms we have hardware broadcast of TLB invalidations, thus the TLB flushing code doesn't necessarily need to broadcast IPIs; and spuriously broadcasting IPIs can hurt system performance if done too often. This problem has been solved on PowerPC and Sparc by batching up page table pages belonging to more than one mm_user, then scheduling an rcu_sched callback to free the pages. This RCU page table free logic has been promoted to core code and is activated when one enables HAVE_RCU_TABLE_FREE. Unfortunately, these architectures implement their own get_user_pages_fast routines. The RCU page table free logic coupled with an IPI broadcast on THP split (which is a rare event), allows one to protect a page table walker by merely disabling the interrupts during the walk. This patch provides a general RCU implementation of get_user_pages_fast that can be used by architectures that perform hardware broadcast of TLB invalidations. It is based heavily on the PowerPC implementation by Nick Piggin. [akpm@xxxxxxxxxxxxxxxxxxxx: various comment fixes] Signed-off-by: Steve Capper <steve.capper@xxxxxxxxxx> Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit baa2ef83981c71ceb00f68fbdac323253c2c3e42 Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Thu Oct 9 15:29:11 2014 -0700 mm/dmapool.c: fixed a brace coding style issue Remove 3 brace coding style for any arm of this statement Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25acde317354997bb945892189f32ffb31b7379b Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Thu Oct 9 15:29:09 2014 -0700 mm: ksm use pr_err instead of printk WARNING: Prefer: pr_err(... to printk(KERN_ERR ... [akpm@xxxxxxxxxxxxxxxxxxxx: remove KERN_ERR] Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 22880ebe76be421a572b6f004604467c63f281f5 Author: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:29:07 2014 -0700 drivers/firmware/memmap.c: don't create memmap sysfs of same firmware_map_entry By the following commits, we prevented from allocating firmware_map_entry of same memory range: f0093ede: drivers/firmware/memmap.c: don't allocate firmware_map_entry of same memory range 49c8b24d: drivers/firmware/memmap.c: pass the correct argument to firmware_map_find_entry_bootmem() But it's not enough. When PNP0C80 device is added by acpi_scan_init(), memmap sysfses of same firmware_map_entry are created twice as follows: # cat /sys/firmware/memmap/*/start 0x40000000000 0x60000000000 0x4a837000 0x4a83a000 0x4a8b5000 ... 0x40000000000 0x60000000000 ... The flows of the issues are as follows: 1. e820_reserve_resources() allocates firmware_map_entrys of all memory ranges defined in e820. And, these firmware_map_entrys are linked with map_entries list. map_entries -> entry 1 -> ... -> entry N 2. When PNP0C80 device is limited by mem= boot option, acpi_scan_init() added the memory device. In this case, firmware_map_add_hotplug() allocates firmware_map_entry and creates memmap sysfs. map_entries -> entry 1 -> ... -> entry N -> entry N+1 | memmap 1 3. firmware_memmap_init() creates memmap sysfses of firmware_map_entrys linked with map_entries. map_entries -> entry 1 -> ... -> entry N -> entry N+1 | | | memmap 2 memmap N+1 memmap 1 memmap N+2 So while hot removing the PNP0C80 device, kernel panic occurs as follows: BUG: unable to handle kernel paging request at 00000001003e000b IP: sysfs_open_file+0x46/0x2b0 PGD 203a89fe067 PUD 0 Oops: 0000 [#1] SMP ... Call Trace: do_dentry_open+0x1ef/0x2a0 finish_open+0x31/0x40 do_last+0x57c/0x1220 path_openat+0xc2/0x4c0 do_filp_open+0x4b/0xb0 do_sys_open+0xf3/0x1f0 SyS_open+0x1e/0x20 system_call_fastpath+0x16/0x1b The patch adds a check of confirming whether memmap sysfs of firmware_map_entry has been created, and does not create memmap sysfs of same firmware_map_entry. Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d85fbee89f6e67e37ed722adaf085f49b1ce6c50 Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Thu Oct 9 15:29:05 2014 -0700 mm/bootmem.c: use include/linux/ headers Replace asm. headers with linux/headers: <linux/bug.h> <linux/io.h> Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 99dadfdde04b72ce98aa2fbebdb49526f494e4cf Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Thu Oct 9 15:29:03 2014 -0700 mm/filemap.c: remove trailing whitespace Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2581d20237f02984c16c7b23262150e6bd6b8c57 Author: Paul McQuade <paulmcquad@xxxxxxxxx> Date: Thu Oct 9 15:29:01 2014 -0700 mm/mremap.c: use linux headers "WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h>" Signed-off-by: Paul McQuade <paulmcquad@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cf2b8fbf1d2f7ba07999e97685563c94483d33d6 Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:59 2014 -0700 memcg: zap memcg_can_account_kmem memcg_can_account_kmem() returns true iff !mem_cgroup_disabled() && !mem_cgroup_is_root(memcg) && memcg_kmem_is_active(memcg); To begin with the !mem_cgroup_is_root(memcg) check is useless, because one can't enable kmem accounting for the root cgroup (mem_cgroup_write() returns EINVAL on an attempt to set the limit on the root cgroup). Furthermore, the !mem_cgroup_disabled() check also seems to be redundant. The point is memcg_can_account_kmem() is called from three places: mem_cgroup_salbinfo_read(), __memcg_kmem_get_cache(), and __memcg_kmem_newpage_charge(). The latter two functions are only invoked if memcg_kmem_enabled() returns true, which implies that the memory cgroup subsystem is enabled. And mem_cgroup_slabinfo_read() shows the output of memory.kmem.slabinfo, which won't exist if the memory cgroup is completely disabled. So let's substitute all the calls to memcg_can_account_kmem() with plain memcg_kmem_is_active(), and kill the former. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b70a2a21dc9d4ad455931b53131a0cb4fc01fafe Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Oct 9 15:28:56 2014 -0700 mm: memcontrol: fix transparent huge page allocations under pressure In a memcg with even just moderate cache pressure, success rates for transparent huge page allocations drop to zero, wasting a lot of effort that the allocator puts into assembling these pages. The reason for this is that the memcg reclaim code was never designed for higher-order charges. It reclaims in small batches until there is room for at least one page. Huge page charges only succeed when these batches add up over a series of huge faults, which is unlikely under any significant load involving order-0 allocations in the group. Remove that loop on the memcg side in favor of passing the actual reclaim goal to direct reclaim, which is already set up and optimized to meet higher-order goals efficiently. This brings memcg's THP policy in line with the system policy: if the allocator painstakingly assembles a hugepage, memcg will at least make an honest effort to charge it. As a result, transparent hugepage allocation rates amid cache activity are drastically improved: vanilla patched pgalloc 4717530.80 ( +0.00%) 4451376.40 ( -5.64%) pgfault 491370.60 ( +0.00%) 225477.40 ( -54.11%) pgmajfault 2.00 ( +0.00%) 1.80 ( -6.67%) thp_fault_alloc 0.00 ( +0.00%) 531.60 (+100.00%) thp_fault_fallback 749.00 ( +0.00%) 217.40 ( -70.88%) [ Note: this may in turn increase memory consumption from internal fragmentation, which is an inherent risk of transparent hugepages. Some setups may have to adjust the memcg limits accordingly to accomodate this - or, if the machine is already packed to capacity, disable the transparent huge page feature. ] Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3fbe724424fb104aaca9973389b4a9df428c3e2a Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Oct 9 15:28:54 2014 -0700 mm: memcontrol: simplify detecting when the memory+swap limit is hit When attempting to charge pages, we first charge the memory counter and then the memory+swap counter. If one of the counters is at its limit, we enter reclaim, but if it's the memory+swap counter, reclaim shouldn't swap because that wouldn't change the situation. However, if the counters have the same limits, we never get to the memory+swap limit. To know whether reclaim should swap or not, there is a state flag that indicates whether the limits are equal and whether hitting the memory limit implies hitting the memory+swap limit. Just try the memory+swap counter first. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Reviewed-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit aabfb57296e3dd9761e47736ec69305c95461d7d Author: Michal Hocko <mhocko@xxxxxxx> Date: Thu Oct 9 15:28:52 2014 -0700 mm: memcontrol: do not kill uncharge batching in free_pages_and_swap_cache free_pages_and_swap_cache limits release_pages to PAGEVEC_SIZE chunks. This is not a big deal for the normal release path but it completely kills memcg uncharge batching which reduces res_counter spin_lock contention. Dave has noticed this with his page fault scalability test case on a large machine when the lock was basically dominating on all CPUs: 80.18% 80.18% [kernel] [k] _raw_spin_lock | --- _raw_spin_lock | |--66.59%-- res_counter_uncharge_until | res_counter_uncharge | uncharge_batch | uncharge_list | mem_cgroup_uncharge_list | release_pages | free_pages_and_swap_cache | tlb_flush_mmu_free | | | |--90.12%-- unmap_single_vma | | unmap_vmas | | unmap_region | | do_munmap | | vm_munmap | | sys_munmap | | system_call_fastpath | | __GI___munmap | | | --9.88%-- tlb_flush_mmu | tlb_finish_mmu | unmap_region | do_munmap | vm_munmap | sys_munmap | system_call_fastpath | __GI___munmap In his case the load was running in the root memcg and that part has been handled by reverting 05b843012335 ("mm: memcontrol: use root_mem_cgroup res_counter") because this is a clear regression, but the problem remains inside dedicated memcgs. There is no reason to limit release_pages to PAGEVEC_SIZE batches other than lru_lock held times. This logic, however, can be moved inside the function. mem_cgroup_uncharge_list and free_hot_cold_page_list do not hold any lock for the whole pages_to_free list so it is safe to call them in a single run. The release_pages() code was previously breaking the lru_lock each PAGEVEC_SIZE pages (ie, 14 pages). However this code has no usage of pagevecs so switch to breaking the lock at least every SWAP_CLUSTER_MAX (32) pages. This means that the lock acquisition frequency is approximately halved and the max hold times are approximately doubled. The now unneeded batching is removed from free_pages_and_swap_cache(). Also update the grossly out-of-date release_pages documentation. Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Reported-by: Dave Hansen <dave@xxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Greg Thelen <gthelen@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 01c2965f0723a25209d5cf4cac630ed0f6d0edf4 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:50 2014 -0700 mm: dmapool: add/remove sysfs file outside of the pool lock lock cat /sys/.../pools followed by removal the device leads to: |====================================================== |[ INFO: possible circular locking dependency detected ] |3.17.0-rc4+ #1498 Not tainted |------------------------------------------------------- |rmmod/2505 is trying to acquire lock: | (s_active#28){++++.+}, at: [<c017f754>] kernfs_remove_by_name_ns+0x3c/0x88 | |but task is already holding lock: | (pools_lock){+.+.+.}, at: [<c011494c>] dma_pool_destroy+0x18/0x17c | |which lock already depends on the new lock. |the existing dependency chain (in reverse order) is: | |-> #1 (pools_lock){+.+.+.}: | [<c0114ae8>] show_pools+0x30/0xf8 | [<c0313210>] dev_attr_show+0x1c/0x48 | [<c0180e84>] sysfs_kf_seq_show+0x88/0x10c | [<c017f960>] kernfs_seq_show+0x24/0x28 | [<c013efc4>] seq_read+0x1b8/0x480 | [<c011e820>] vfs_read+0x8c/0x148 | [<c011ea10>] SyS_read+0x40/0x8c | [<c000e960>] ret_fast_syscall+0x0/0x48 | |-> #0 (s_active#28){++++.+}: | [<c017e9ac>] __kernfs_remove+0x258/0x2ec | [<c017f754>] kernfs_remove_by_name_ns+0x3c/0x88 | [<c0114a7c>] dma_pool_destroy+0x148/0x17c | [<c03ad288>] hcd_buffer_destroy+0x20/0x34 | [<c03a4780>] usb_remove_hcd+0x110/0x1a4 The problem is the lock order of pools_lock and kernfs_mutex in dma_pool_destroy() vs show_pools() call path. This patch breaks out the creation of the sysfs file outside of the pools_lock mutex. The newly added pools_reg_lock ensures that there is no race of create vs destroy code path in terms whether or not the sysfs file has to be deleted (and was it deleted before we try to create a new one) and what to do if device_create_file() failed. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6f817f4cda68b09621312ec5ba84217bc5e37b3d Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:47 2014 -0700 memcg: move memcg_update_cache_size() to slab_common.c `While growing per memcg caches arrays, we jump between memcontrol.c and slab_common.c in a weird way: memcg_alloc_cache_id - memcontrol.c memcg_update_all_caches - slab_common.c memcg_update_cache_size - memcontrol.c There's absolutely no reason why memcg_update_cache_size can't live on the slab's side though. So let's move it there and settle it comfortably amid per-memcg cache allocation functions. Besides, this patch cleans this function up a bit, removing all the useless comments from it, and renames it to memcg_update_cache_params to conform to memcg_alloc/free_cache_params, which we already have in slab_common.c. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Glauber Costa <glommer@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f3bb3043a092368a255bca5d1c6f4352c96a3b2d Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:45 2014 -0700 memcg: don't call memcg_update_all_caches if new cache id fits memcg_update_all_caches grows arrays of per-memcg caches, so we only need to call it when memcg_limited_groups_array_size is increased. However, currently we invoke it each time a new kmem-active memory cgroup is created. Then it just iterates over all slab_caches and does nothing (memcg_update_cache_size returns immediately). This patch fixes this insanity. In the meantime it moves the code dealing with id allocations to separate functions, memcg_alloc_cache_id and memcg_free_cache_id. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Glauber Costa <glommer@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 33a690c45b202e4c6483bfd1d93ad8d0f51df2ca Author: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:43 2014 -0700 memcg: move memcg_{alloc,free}_cache_params to slab_common.c The only reason why they live in memcontrol.c is that we get/put css reference to the owner memory cgroup in them. However, we can do that in memcg_{un,}register_cache. OTOH, there are several reasons to move them to slab_common.c. First, I think that the less public interface functions we have in memcontrol.h the better. Since the functions I move don't depend on memcontrol, I think it's worth making them private to slab, especially taking into account that the arrays are defined on the slab's side too. Second, the way how per-memcg arrays are updated looks rather awkward: it proceeds from memcontrol.c (__memcg_activate_kmem) to slab_common.c (memcg_update_all_caches) and back to memcontrol.c again (memcg_update_array_size). In the following patches I move the function relocating the arrays (memcg_update_array_size) to slab_common.c and therefore get rid this circular call path. I think we should have the cache allocation stuff in the same place where we have relocation, because it's easier to follow the code then. So I move arrays alloc/free functions to slab_common.c too. The third point isn't obvious. I'm going to make the list_lru structure per-memcg to allow targeted kmem reclaim. That means we will have per-memcg arrays in list_lrus too. It turns out that it's much easier to update these arrays in list_lru.c rather than in memcontrol.c, because all the stuff we need is defined there. This patch makes memcg caches arrays allocation path conform that of the upcoming list_lru. So let's move these functions to slab_common.c and make them static. Signed-off-by: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Glauber Costa <glommer@xxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7a82ca0d6437261d0727ce472ae4f3a05a9ce5f7 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:28:41 2014 -0700 mm/debug.c: use pr_emerg() - s/KERN_ALERT/pr_emerg/: we're going BUG so let's maximize the changes of getting the message out. - convert debug.c to pr_foo() Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 96dad67ff244e797c4bc3e4f7f0fdaa0cfdf0a7d Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:39 2014 -0700 mm: use VM_BUG_ON_MM where possible Dump the contents of the relevant struct_mm when we hit the bug condition. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 31c9afa6db122a5c7a7843278aaf77dd08ea6e98 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:37 2014 -0700 mm: introduce VM_BUG_ON_MM Very similar to VM_BUG_ON_PAGE and VM_BUG_ON_VMA, dump struct_mm when the bug is hit. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] [mhocko@xxxxxxx: fix build] [mhocko@xxxxxxx: fix build some more] [akpm@xxxxxxxxxxxxxxxxxxxx: do strange things to avoid doing strange things for the comma separators] Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx> Signed-off-by: Michal Hocko <mhocko@xxxxxxx> Cc: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 82742a3a5152195edd69528c0c9a1a6fb9caa293 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:34 2014 -0700 mm: move debug code out of page_alloc.c dump_page() and dump_vma() are not specific to page_alloc.c, move them out so page_alloc.c won't turn into the unofficial debug repository. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81d0fa623c5b8dbd5279d9713094b0f9b0a00fb4 Author: Peter Feiner <pfeiner@xxxxxxxxxx> Date: Thu Oct 9 15:28:32 2014 -0700 mm: softdirty: unmapped addresses between VMAs are clean If a /proc/pid/pagemap read spans a [VMA, an unmapped region, then a VM_SOFTDIRTY VMA], the virtual pages in the unmapped region are reported as softdirty. Here's a program to demonstrate the bug: int main() { const uint64_t PAGEMAP_SOFTDIRTY = 1ul << 55; uint64_t pme[3]; int fd = open("/proc/self/pagemap", O_RDONLY);; char *m = mmap(NULL, 3 * getpagesize(), PROT_READ, MAP_ANONYMOUS | MAP_SHARED, -1, 0); munmap(m + getpagesize(), getpagesize()); pread(fd, pme, 24, (unsigned long) m / getpagesize() * 8); assert(pme[0] & PAGEMAP_SOFTDIRTY); /* passes */ assert(!(pme[1] & PAGEMAP_SOFTDIRTY)); /* fails */ assert(pme[2] & PAGEMAP_SOFTDIRTY); /* passes */ return 0; } (Note that all pages in new VMAs are softdirty until cleared). Tested: Used the program given above. I'm going to include this code in a selftest in the future. [n-horiguchi@xxxxxxxxxxxxx: prevent pagemap_pte_range() from overrunning] Signed-off-by: Peter Feiner <pfeiner@xxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Jamie Liu <jamieliu@xxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3193913ce62c63056bc67a6ae378beaf494afa66 Author: Mel Gorman <mgorman@xxxxxxx> Date: Thu Oct 9 15:28:30 2014 -0700 mm: page_alloc: default node-ordering on 64-bit NUMA, zone-ordering on 32-bit Zones are allocated by the page allocator in either node or zone order. Node ordering is preferred in terms of locality and is applied automatically in one of three cases: 1. If a node has only low memory 2. If DMA/DMA32 is a high percentage of memory 3. If low memory on a single node is greater than 70% of the node size Otherwise zone ordering is used to preserve low memory for devices that require it. Unfortunately a consequence of this is that applications running on a machine with balanced NUMA nodes will experience different performance characteristics depending on which node they happen to start from. The point of zone ordering is to protect lower zones for devices that require DMA/DMA32 memory. When NUMA was first introduced, this was critical as 32-bit NUMA machines existed and exhausting low memory triggered OOMs easily as so many allocations required low memory. On 64-bit machines the primary concern is devices that are 32-bit only which is less severe than the low memory exhaustion problem on 32-bit NUMA. It seems there are really few devices that depends on it. AGP -- I assume this is getting more rare but even then I think the allocations happen early in boot time where lowmem pressure is less of a problem DRM -- If the device is 32-bit only then there may be low pressure. I didn't evaluate these in detail but it looks like some of these are mobile graphics card. Not many NUMA laptops out there. DRM folk should know better though. Some TV cards -- Much demand for 32-bit capable TV cards on NUMA machines? B43 wireless card -- again not really a NUMA thing. I cannot find a good reason to incur a performance penalty on all 64-bit NUMA machines in case someone throws a brain damanged TV or graphics card in there. This patch defaults to node-ordering on 64-bit NUMA machines. I was tempted to make it default everywhere but I understand that some embedded arches may be using 32-bit NUMA where I cannot predict the consequences. The performance impact depends on the workload and the characteristics of the machine and the machine I tested on had a large Normal zone on node 0 so the impact is within the noise for the majority of tests. The allocation stats show more allocation requests were from DMA32 and local node. Running SpecJBB with multiple JVMs and automatic NUMA balancing disabled the results were specjbb 3.17.0-rc2 3.17.0-rc2 vanilla nodeorder-v1r1 Min 1 29534.00 ( 0.00%) 30020.00 ( 1.65%) Min 10 115717.00 ( 0.00%) 134038.00 ( 15.83%) Min 19 109718.00 ( 0.00%) 114186.00 ( 4.07%) Min 28 104459.00 ( 0.00%) 103639.00 ( -0.78%) Min 37 98245.00 ( 0.00%) 103756.00 ( 5.61%) Min 46 97198.00 ( 0.00%) 96197.00 ( -1.03%) Mean 1 30953.25 ( 0.00%) 31917.75 ( 3.12%) Mean 10 124432.50 ( 0.00%) 140904.00 ( 13.24%) Mean 19 116033.50 ( 0.00%) 119294.75 ( 2.81%) Mean 28 108365.25 ( 0.00%) 106879.50 ( -1.37%) Mean 37 102984.75 ( 0.00%) 106924.25 ( 3.83%) Mean 46 100783.25 ( 0.00%) 105368.50 ( 4.55%) Stddev 1 1260.38 ( 0.00%) 1109.66 ( 11.96%) Stddev 10 7434.03 ( 0.00%) 5171.91 ( 30.43%) Stddev 19 8453.84 ( 0.00%) 5309.59 ( 37.19%) Stddev 28 4184.55 ( 0.00%) 2906.63 ( 30.54%) Stddev 37 5409.49 ( 0.00%) 3192.12 ( 40.99%) Stddev 46 4521.95 ( 0.00%) 7392.52 (-63.48%) Max 1 32738.00 ( 0.00%) 32719.00 ( -0.06%) Max 10 136039.00 ( 0.00%) 148614.00 ( 9.24%) Max 19 130566.00 ( 0.00%) 127418.00 ( -2.41%) Max 28 115404.00 ( 0.00%) 111254.00 ( -3.60%) Max 37 112118.00 ( 0.00%) 111732.00 ( -0.34%) Max 46 108541.00 ( 0.00%) 116849.00 ( 7.65%) TPut 1 123813.00 ( 0.00%) 127671.00 ( 3.12%) TPut 10 497730.00 ( 0.00%) 563616.00 ( 13.24%) TPut 19 464134.00 ( 0.00%) 477179.00 ( 2.81%) TPut 28 433461.00 ( 0.00%) 427518.00 ( -1.37%) TPut 37 411939.00 ( 0.00%) 427697.00 ( 3.83%) TPut 46 403133.00 ( 0.00%) 421474.00 ( 4.55%) 3.17.0-rc2 3.17.0-rc2 vanillanodeorder-v1r1 DMA allocs 0 0 DMA32 allocs 57 1491992 Normal allocs 32543566 30026383 Movable allocs 0 0 Direct pages scanned 0 0 Kswapd pages scanned 0 0 Kswapd pages reclaimed 0 0 Direct pages reclaimed 0 0 Kswapd efficiency 100% 100% Kswapd velocity 0.000 0.000 Direct efficiency 100% 100% Direct velocity 0.000 0.000 Percentage direct scans 0% 0% Zone normal velocity 0.000 0.000 Zone dma32 velocity 0.000 0.000 Zone dma velocity 0.000 0.000 THP fault alloc 55164 52987 THP collapse alloc 139 147 THP splits 26 21 NUMA alloc hit 4169066 4250692 NUMA alloc miss 0 0 Note that there were more DMA32 allocations with the patch applied. In this particular case there was no difference in numa_hit and numa_miss. The expectation is that DMA32 was being used at the low watermark instead of falling into the slow path. kswapd was not woken but it's not worken for THP allocations. On 32-bit, this patch defaults to zone-ordering as low memory depletion can be a serious problem on 32-bit large memory machines. If the default ordering was node then processes on node 0 will deplete the Normal zone due to normal activity. The problem is worse if CONFIG_HIGHPTE is not set. If combined with large amounts of dirty/writeback pages in Normal zone then there is also a high risk of OOM. The heuristics are removed as it's not clear they were ever important on 32-bit. They were only relevant for setting node-ordering on 64-bit. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 97ee4ba7cbd30f1858f0d16911e042737c53f2ef Author: Mel Gorman <mgorman@xxxxxxx> Date: Thu Oct 9 15:28:28 2014 -0700 mm: page_alloc: Make paranoid check in move_freepages a VM_BUG_ON Since 2.6.24 there has been a paranoid check in move_freepages that looks up the zone of two pages. This is a very slow path and the only time I've seen this bug trigger recently is when memory initialisation was broken during patch development. Despite the fact it's a slow path, this patch converts the check to a VM_BUG_ON anyway as it has served its purpose by now. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b246d3d11e9c04f76a4fd6aae9c61da82bba0afb Author: Xue jiufei <xuejiufei@xxxxxxxxxx> Date: Thu Oct 9 15:28:26 2014 -0700 ocfs2: fix a deadlock while o2net_wq doing direct memory reclaim Fix a deadlock problem caused by direct memory reclaim in o2net_wq. The situation is as follows: 1) Receive a connect message from another node, node queues a work_struct o2net_listen_work. 2) o2net_wq processes this work and call the following functions: o2net_wq -> o2net_accept_one -> sock_create_lite -> sock_alloc() -> kmem_cache_alloc with GFP_KERNEL -> ____cache_alloc_node ->__alloc_pages_nodemask -> do_try_to_free_pages -> shrink_slab -> evict -> ocfs2_evict_inode -> ocfs2_drop_lock -> dlmunlock -> o2net_send_message_vec then o2net_wq wait for the unlock reply from master. 3) tcp layer received the reply, call o2net_data_ready() and queue sc_rx_work, waiting o2net_wq to process this work. 4) o2net_wq is a single thread workqueue, it process the work one by one. Right now it is still doing o2net_listen_work and cannot handle sc_rx_work. so we deadlock. Junxiao Bi's patch "mm: clear __GFP_FS when PF_MEMALLOC_NOIO is set" (http://ozlabs.org/~akpm/mmots/broken-out/mm-clear-__gfp_fs-when-pf_memalloc_noio-is-set.patch) clears __GFP_FS in memalloc_noio_flags() besides __GFP_IO. We use memalloc_noio_save() to set process flag PF_MEMALLOC_NOIO so that all allocations done by this process are done as if GFP_NOIO was specified. We are not reentering filesystem while doing memory reclaim. Signed-off-by: joyce.xue <xuejiufei@xxxxxxxxxx> Cc: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 934f3072c17cc8886f4c043b47eeeb1b12f8de33 Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Date: Thu Oct 9 15:28:23 2014 -0700 mm: clear __GFP_FS when PF_MEMALLOC_NOIO is set commit 21caf2fc1931 ("mm: teach mm by current context info to not do I/O during memory allocation") introduces PF_MEMALLOC_NOIO flag to avoid doing I/O inside memory allocation, __GFP_IO is cleared when this flag is set, but __GFP_FS implies __GFP_IO, it should also be cleared. Or it may still run into I/O, like in superblock shrinker. And this will make the kernel run into the deadlock case described in that commit. See Dave Chinner's comment about io in superblock shrinker: Filesystem shrinkers do indeed perform IO from the superblock shrinker and have for years. Even clean inodes can require IO before they can be freed - e.g. on an orphan list, need truncation of post-eof blocks, need to wait for ordered operations to complete before it can be freed, etc. IOWs, Ext4, btrfs and XFS all can issue and/or block on arbitrary amounts of IO in the superblock shrinker context. XFS, in particular, has been doing transactions and IO from the VFS inode cache shrinker since it was first introduced.... Fix this by clearing __GFP_FS in memalloc_noio_flags(), this function has masked all the gfp_mask that will be passed into fs for the processes setting PF_MEMALLOC_NOIO in the direct reclaim path. v1 thread at: https://lkml.org/lkml/2014/9/3/32 Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: joyce.xue <xuejiufei@xxxxxxxxxx> Cc: Ming Lei <ming.lei@xxxxxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8b2d8253236331c3b26189f34e73f2af89ca982 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Thu Oct 9 15:28:21 2014 -0700 mm/compaction.c: fix warning of 'flags' may be used uninitialized C mm/compaction.o mm/compaction.c: In function isolate_freepages_block: mm/compaction.c:364:37: warning: flags may be used uninitialized in this function [-Wmaybe-uninitialized] && compact_unlock_should_abort(&cc->zone->lock, flags, ^ Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ff26f70f4323ffe332ab6a5b2550f687bbd15326 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:28:19 2014 -0700 mm/mmap.c: clean up CONFIG_DEBUG_VM_RB checks - be consistent in printing the test which failed - one message was actually wrong (a<b != b>a) - don't print second bogus warning if browse_rb() failed Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5705465174686d007473e017b76c4b64b44aa690 Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Oct 9 15:28:17 2014 -0700 mm: clean up zone flags Page reclaim tests zone_is_reclaim_dirty(), but the site that actually sets this state does zone_set_flag(zone, ZONE_TAIL_LRU_DIRTY), sending the reader through layers indirection just to track down a simple bit. Remove all zone flag wrappers and just use bitops against zone->flags directly. It's just as readable and the lines are barely any longer. Also rename ZONE_TAIL_LRU_DIRTY to ZONE_DIRTY to match ZONE_WRITEBACK, and remove the zone_flags_t typedef. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7c809968ffa92d41baaa9054e897436480179b20 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Oct 9 15:28:15 2014 -0700 mm/page-writeback.c: use min3/max3 macros to avoid shadow warnings Nested calls to min/max functions result in shadow warnings in W=2 builds. Avoid the warning by using the min3 and max3 macros to get the min/max of 3 values instead of nested calls. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7ade3c997208566c5bf50ece8fc319a8caf0d41a Author: Weijie Yang <weijie.yang@xxxxxxxxxxx> Date: Thu Oct 9 15:28:12 2014 -0700 mm: page_alloc: avoid wakeup kswapd on the unintended node When entering the page_alloc slowpath, we wakeup kswapd on every pgdat according to the zonelist and high_zoneidx. However, this doesn't take nodemask into account, and could prematurely wakeup kswapd on some unintended nodes. This patch uses for_each_zone_zonelist_nodemask() instead of for_each_zone_zonelist() in wake_all_kswapds() to avoid the above situation. Signed-off-by: Weijie Yang <weijie.yang@xxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 81d1b09c6be66afac7d41ee52279d9bccbce56d8 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:10 2014 -0700 mm: convert a few VM_BUG_ON callers to VM_BUG_ON_VMA Trivially convert a few VM_BUG_ON calls to VM_BUG_ON_VMA to extract more information when they trigger. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit fa3759ccd5651c4235f572302d58c8ec9ddf1c4b Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:08 2014 -0700 mm: introduce VM_BUG_ON_VMA Very similar to VM_BUG_ON_PAGE but dumps VMA information instead. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0bf55139782db1fa96af66e37cc84afde18443ef Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:28:06 2014 -0700 mm: introduce dump_vma Introduce a helper to dump information about a VMA, this also makes dump_page_flags more generic and re-uses that so the output looks very similar to dump_page: [ 61.903437] vma ffff88070f88be00 start 00007fff25970000 end 00007fff25992000 [ 61.903437] next ffff88070facd600 prev ffff88070face400 mm ffff88070fade000 [ 61.903437] prot 8000000000000025 anon_vma ffff88070fa1e200 vm_ops (null) [ 61.903437] pgoff 7ffffffdd file (null) private_data (null) [ 61.909129] flags: 0x100173(read|write|mayread|maywrite|mayexec|growsdown|account) [akpm@xxxxxxxxxxxxxxxxxxxx: make dump_vma() require CONFIG_DEBUG_VM] [swarren@xxxxxxxxxx: fix dump_vma() compilation] Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Konstantin Khlebnikov <khlebnikov@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Cc: Michel Lespinasse <walken@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b208ce32927ac2c4bf14edebfb3197acd7673165 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Thu Oct 9 15:28:03 2014 -0700 mm/slab.c: use __seq_open_private() instead of seq_open() Using __seq_open_private() removes boilerplate code from slabstats_open() The resultant code is shorter and easier to follow. This patch does not change any functionality. Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 703394c1005caeccaaf64945c1b6d6cc3af0cd1d Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Thu Oct 9 15:28:01 2014 -0700 mm/vmalloc.c: use seq_open_private() instead of seq_open() Using seq_open_private() removes boilerplate code from vmalloc_open(). The resultant code is shorter and easier to follow. However, please note that seq_open_private() call kzalloc() rather than kmalloc() which may affect timing due to the memory initialisation overhead. Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1c93923cc264105418e6ead149c76bd88302eff4 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:27:59 2014 -0700 include/linux/migrate.h: remove migrate_page #define This is designed to avoid a few ifdefs in .c files but it's obnoxious because it can cause unsuspecting "migrate_page" symbols to get turned into "NULL". Just nuke it and use the ifdefs. Cc: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Cc: Rafael Aquini <aquini@xxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit dd6eecb917938c1b7e505a83df307b3476e7c8bd Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:57 2014 -0700 mempolicy: unexport get_vma_policy() and remove its "task" arg - get_vma_policy(task) is not safe if task != current, remove this argument. - get_vma_policy() no longer has callers outside of mempolicy.c, make it static. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c7c3a7d08b28278112f2aaa0b7cf53140101e2a Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:55 2014 -0700 mempolicy: kill do_set_mempolicy()->down_write(&mm->mmap_sem) Remove down_write(&mm->mmap_sem) in do_set_mempolicy(). This logic was never correct and it is no longer needed, see the previous patch. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 498f237178a3d3151f7ebe329af9a4734e41f6ed Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:52 2014 -0700 mempolicy: fix show_numa_map() vs exec() + do_set_mempolicy() race 9e7814404b77 "hold task->mempolicy while numa_maps scans." fixed the race with the exiting task but this is not enough. The current code assumes that get_vma_policy(task) should either see task->mempolicy == NULL or it should be equal to ->task_mempolicy saved by hold_task_mempolicy(), so we can never race with __mpol_put(). But this can only work if we can't race with do_set_mempolicy(), and thus we can't race with another do_set_mempolicy() or do_exit() after that. However, do_set_mempolicy()->down_write(mmap_sem) can not prevent this race. This task can exec, change it's ->mm, and call do_set_mempolicy() after that; in this case they take 2 different locks. Change hold_task_mempolicy() to use get_task_policy(), it never returns NULL, and change show_numa_map() to use __get_vma_policy() or fall back to proc_priv->task_mempolicy. Note: this is the minimal fix, we will cleanup this code later. I think hold_task_mempolicy() and release_task_mempolicy() should die, we can move this logic into show_numa_map(). Or we can move get_task_policy() outside of ->mmap_sem and !CONFIG_NUMA code at least. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 74d2c3a05cc6c1eef2d7236a9919036ed85ddaaf Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:50 2014 -0700 mempolicy: introduce __get_vma_policy(), export get_task_policy() Extract the code which looks for vma's policy from get_vma_policy() into the new helper, __get_vma_policy(). Export get_task_policy(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6b6482bbf64ef6f6dbc8b52f7a7cf88a0498bd51 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:48 2014 -0700 mempolicy: remove the "task" arg of vma_policy_mof() and simplify it 1. vma_policy_mof(task) is simply not safe unless task == current, it can race with do_exit()->mpol_put(). Remove this arg and update its single caller. 2. vma can not be NULL, remove this check and simplify the code. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8d90274b3b118c9babeefb1302947f33a1364fb5 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:45 2014 -0700 mempolicy: sanitize the usage of get_task_policy() Cleanup + preparation. Every user of get_task_policy() calls it unconditionally, even if it is not going to use the result. get_task_policy() is cheap but still this does not look clean, plus the code looks simpler if get_task_policy() is called only when this is really needed. Note: I hope this is correct, but it is not clear why vma_policy_mof() doesn't fall back to get_task_policy() if ->get_policy() returns NULL. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f15ca78e33b0bb5acc0c5d9a5d5be3c55c4f0bb7 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:43 2014 -0700 mempolicy: change get_task_policy() to return default_policy rather than NULL Every caller of get_task_policy() falls back to default_policy if it returns NULL. Change get_task_policy() to do this. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2386740d1add7bb5048c731dd1127a4e9911a3ed Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:27:41 2014 -0700 mempolicy: change alloc_pages_vma() to use mpol_cond_put() Trivial cleanup. alloc_pages_vma() can use mpol_cond_put(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1f13ae399c58af5a05b5cee61da864e1f4071de4 Author: Johannes Weiner <hannes@xxxxxxxxxxx> Date: Thu Oct 9 15:27:39 2014 -0700 mm: remove noisy remainder of the scan_unevictable interface The deprecation warnings for the scan_unevictable interface triggers by scripts doing `sysctl -a | grep something else'. This is annoying and not helpful. The interface has been defunct since 264e56d8247e ("mm: disable user interface to manually rescue unevictable pages"), which was in 2011, and there haven't been any reports of usecases for it, only reports that the deprecation warnings are annying. It's unlikely that anybody is using this interface specifically at this point, so remove it. Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f606b77f1a9e362451aca8f81d8f36a3a112139e Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Date: Thu Oct 9 15:27:37 2014 -0700 prctl: PR_SET_MM -- introduce PR_SET_MM_MAP operation During development of c/r we've noticed that in case if we need to support user namespaces we face a problem with capabilities in prctl(PR_SET_MM, ...) call, in particular once new user namespace is created capable(CAP_SYS_RESOURCE) no longer passes. A approach is to eliminate CAP_SYS_RESOURCE check but pass all new values in one bundle, which would allow the kernel to make more intensive test for sanity of values and same time allow us to support checkpoint/restore of user namespaces. Thus a new command PR_SET_MM_MAP introduced. It takes a pointer of prctl_mm_map structure which carries all the members to be updated. prctl(PR_SET_MM, PR_SET_MM_MAP, struct prctl_mm_map *, size) struct prctl_mm_map { __u64 start_code; __u64 end_code; __u64 start_data; __u64 end_data; __u64 start_brk; __u64 brk; __u64 start_stack; __u64 arg_start; __u64 arg_end; __u64 env_start; __u64 env_end; __u64 *auxv; __u32 auxv_size; __u32 exe_fd; }; All members except @exe_fd correspond ones of struct mm_struct. To figure out which available values these members may take here are meanings of the members. - start_code, end_code: represent bounds of executable code area - start_data, end_data: represent bounds of data area - start_brk, brk: used to calculate bounds for brk() syscall - start_stack: used when accounting space needed for command line arguments, environment and shmat() syscall - arg_start, arg_end, env_start, env_end: represent memory area supplied for command line arguments and environment variables - auxv, auxv_size: carries auxiliary vector, Elf format specifics - exe_fd: file descriptor number for executable link (/proc/self/exe) Thus we apply the following requirements to the values 1) Any member except @auxv, @auxv_size, @exe_fd is rather an address in user space thus it must be laying inside [mmap_min_addr, mmap_max_addr) interval. 2) While @[start|end]_code and @[start|end]_data may point to an nonexisting VMAs (say a program maps own new .text and .data segments during execution) the rest of members should belong to VMA which must exist. 3) Addresses must be ordered, ie @start_ member must not be greater or equal to appropriate @end_ member. 4) As in regular Elf loading procedure we require that @start_brk and @brk be greater than @end_data. 5) If RLIMIT_DATA rlimit is set to non-infinity new values should not exceed existing limit. Same applies to RLIMIT_STACK. 6) Auxiliary vector size must not exceed existing one (which is predefined as AT_VECTOR_SIZE and depends on architecture). 7) File descriptor passed in @exe_file should be pointing to executable file (because we use existing prctl_set_mm_exe_file_locked helper it ensures that the file we are going to use as exe link has all required permission granted). Now about where these members are involved inside kernel code: - @start_code and @end_code are used in /proc/$pid/[stat|statm] output; - @start_data and @end_data are used in /proc/$pid/[stat|statm] output, also they are considered if there enough space for brk() syscall result if RLIMIT_DATA is set; - @start_brk shown in /proc/$pid/stat output and accounted in brk() syscall if RLIMIT_DATA is set; also this member is tested to find a symbolic name of mmap event for perf system (we choose if event is generated for "heap" area); one more aplication is selinux -- we test if a process has PROCESS__EXECHEAP permission if trying to make heap area being executable with mprotect() syscall; - @brk is a current value for brk() syscall which lays inside heap area, it's shown in /proc/$pid/stat. When syscall brk() succesfully provides new memory area to a user space upon brk() completion the mm::brk is updated to carry new value; Both @start_brk and @brk are actively used in /proc/$pid/maps and /proc/$pid/smaps output to find a symbolic name "heap" for VMA being scanned; - @start_stack is printed out in /proc/$pid/stat and used to find a symbolic name "stack" for task and threads in /proc/$pid/maps and /proc/$pid/smaps output, and as the same as with @start_brk -- perf system uses it for event naming. Also kernel treat this member as a start address of where to map vDSO pages and to check if there is enough space for shmat() syscall; - @arg_start, @arg_end, @env_start and @env_end are printed out in /proc/$pid/stat. Another access to the data these members represent is to read /proc/$pid/environ or /proc/$pid/cmdline. Any attempt to read these areas kernel tests with access_process_vm helper so a user must have enough rights for this action; - @auxv and @auxv_size may be read from /proc/$pid/auxv. Strictly speaking kernel doesn't care much about which exactly data is sitting there because it is solely for userspace; - @exe_fd is referred from /proc/$pid/exe and when generating coredump. We uses prctl_set_mm_exe_file_locked helper to update this member, so exe-file link modification remains one-shot action. Still note that updating exe-file link now doesn't require sys-resource capability anymore, after all there is no much profit in preventing setup own file link (there are a number of ways to execute own code -- ptrace, ld-preload, so that the only reliable way to find which exactly code is executed is to inspect running program memory). Still we require the caller to be at least user-namespace root user. I believe the old interface should be deprecated and ripped off in a couple of kernel releases if no one against. To test if new interface is implemented in the kernel one can pass PR_SET_MM_MAP_SIZE opcode and the kernel returns the size of currently supported struct prctl_mm_map. [akpm@xxxxxxxxxxxxxxxxxxxx: fix 80-col wordwrap in macro definitions] Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Andrew Vagin <avagin@xxxxxxxxxx> Tested-by: Andrew Vagin <avagin@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Julien Tinnes <jln@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 71fe97e185040c5dac3216cd54e186dfa534efa0 Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Date: Thu Oct 9 15:27:34 2014 -0700 prctl: PR_SET_MM -- factor out mmap_sem when updating mm::exe_file Instead of taking mm->mmap_sem inside prctl_set_mm_exe_file() move it out and rename the helper to prctl_set_mm_exe_file_locked(). This will allow to reuse this function in a next patch. Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Andrew Vagin <avagin@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Julien Tinnes <jln@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8764b338b37524ab1a78aee527318ebee9762487 Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Date: Thu Oct 9 15:27:32 2014 -0700 mm: use may_adjust_brk helper Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Andrew Vagin <avagin@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Julien Tinnes <jln@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9c5990240e076ae564cccbd921868cd08f6daaa5 Author: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Date: Thu Oct 9 15:27:29 2014 -0700 mm: introduce check_data_rlimit helper To eliminate code duplication lets introduce check_data_rlimit helper which we will use in brk() and prctl() syscalls. Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Andrew Vagin <avagin@xxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: Julien Tinnes <jln@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6d7ce55940b6ecd463ca044ad241f0122d913293 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Thu Oct 9 15:27:27 2014 -0700 mm, compaction: pass gfp mask to compact_control struct compact_control currently converts the gfp mask to a migratetype, but we need the entire gfp mask in a follow-up patch. Pass the entire gfp mask as part of struct compact_control. Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 43e7a34d265e884b7cf34f9b05e6f2e0c05bf120 Author: David Rientjes <rientjes@xxxxxxxxxx> Date: Thu Oct 9 15:27:25 2014 -0700 mm: rename allocflags_to_migratetype for clarity The page allocator has gfp flags (like __GFP_WAIT) and alloc flags (like ALLOC_CPUSET) that have separate semantics. The function allocflags_to_migratetype() actually takes gfp flags, not alloc flags, and returns a migratetype. Rename it to gfpflags_to_migratetype(). Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 99c0fd5e51c447917264154cb01a967804ace745 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:23 2014 -0700 mm, compaction: skip buddy pages by their order in the migrate scanner The migration scanner skips PageBuddy pages, but does not consider their order as checking page_order() is generally unsafe without holding the zone->lock, and acquiring the lock just for the check wouldn't be a good tradeoff. Still, this could avoid some iterations over the rest of the buddy page, and if we are careful, the race window between PageBuddy() check and page_order() is small, and the worst thing that can happen is that we skip too much and miss some isolation candidates. This is not that bad, as compaction can already fail for many other reasons like parallel allocations, and those have much larger race window. This patch therefore makes the migration scanner obtain the buddy page order and use it to skip the whole buddy page, if the order appears to be in the valid range. It's important that the page_order() is read only once, so that the value used in the checks and in the pfn calculation is the same. But in theory the compiler can replace the local variable by multiple inlines of page_order(). Therefore, the patch introduces page_order_unsafe() that uses ACCESS_ONCE to prevent this. Testing with stress-highalloc from mmtests shows a 15% reduction in number of pages scanned by migration scanner. The reduction is >60% with __GFP_NO_KSWAPD allocations, along with success rates better by few percent. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e14c720efdd73c6d69cd8d07fa894bcd11fe1973 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:20 2014 -0700 mm, compaction: remember position within pageblock in free pages scanner Unlike the migration scanner, the free scanner remembers the beginning of the last scanned pageblock in cc->free_pfn. It might be therefore rescanning pages uselessly when called several times during single compaction. This might have been useful when pages were returned to the buddy allocator after a failed migration, but this is no longer the case. This patch changes the meaning of cc->free_pfn so that if it points to a middle of a pageblock, that pageblock is scanned only from cc->free_pfn to the end. isolate_freepages_block() will record the pfn of the last page it looked at, which is then used to update cc->free_pfn. In the mmtests stress-highalloc benchmark, this has resulted in lowering the ratio between pages scanned by both scanners, from 2.5 free pages per migrate page, to 2.25 free pages per migrate page, without affecting success rates. With __GFP_NO_KSWAPD allocations, this appears to result in a worse ratio (2.1 instead of 1.8), but page migration successes increased by 10%, so this could mean that more useful work can be done until need_resched() aborts this kind of compaction. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 69b7189f12e0064237630e8c6bb64cad710bb268 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:18 2014 -0700 mm, compaction: skip rechecks when lock was already held Compaction scanners try to lock zone locks as late as possible by checking many page or pageblock properties opportunistically without lock and skipping them if not unsuitable. For pages that pass the initial checks, some properties have to be checked again safely under lock. However, if the lock was already held from a previous iteration in the initial checks, the rechecks are unnecessary. This patch therefore skips the rechecks when the lock was already held. This is now possible to do, since we don't (potentially) drop and reacquire the lock between the initial checks and the safe rechecks anymore. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Reviewed-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b44d2791f912566a7ef58c71a7f9cbd16c3eeae Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:16 2014 -0700 mm, compaction: periodically drop lock and restore IRQs in scanners Compaction scanners regularly check for lock contention and need_resched() through the compact_checklock_irqsave() function. However, if there is no contention, the lock can be held and IRQ disabled for potentially long time. This has been addressed by commit b2eef8c0d091 ("mm: compaction: minimise the time IRQs are disabled while isolating pages for migration") for the migration scanner. However, the refactoring done by commit 2a1402aa044b ("mm: compaction: acquire the zone->lru_lock as late as possible") has changed the conditions so that the lock is dropped only when there's contention on the lock or need_resched() is true. Also, need_resched() is checked only when the lock is already held. The comment "give a chance to irqs before checking need_resched" is therefore misleading, as IRQs remain disabled when the check is done. This patch restores the behavior intended by commit b2eef8c0d091 and also tries to better balance and make more deterministic the time spent by checking for contention vs the time the scanners might run between the checks. It also avoids situations where checking has not been done often enough before. The result should be avoiding both too frequent and too infrequent contention checking, and especially the potentially long-running scans with IRQs disabled and no checking of need_resched() or for fatal signal pending, which can happen when many consecutive pages or pageblocks fail the preliminary tests and do not reach the later call site to compact_checklock_irqsave(), as explained below. Before the patch: In the migration scanner, compact_checklock_irqsave() was called each loop, if reached. If not reached, some lower-frequency checking could still be done if the lock was already held, but this would not result in aborting contended async compaction until reaching compact_checklock_irqsave() or end of pageblock. In the free scanner, it was similar but completely without the periodical checking, so lock can be potentially held until reaching the end of pageblock. After the patch, in both scanners: The periodical check is done as the first thing in the loop on each SWAP_CLUSTER_MAX aligned pfn, using the new compact_unlock_should_abort() function, which always unlocks the lock (if locked) and aborts async compaction if scheduling is needed. It also aborts any type of compaction when a fatal signal is pending. The compact_checklock_irqsave() function is replaced with a slightly different compact_trylock_irqsave(). The biggest difference is that the function is not called at all if the lock is already held. The periodical need_resched() checking is left solely to compact_unlock_should_abort(). The lock contention avoidance for async compaction is achieved by the periodical unlock by compact_unlock_should_abort() and by using trylock in compact_trylock_irqsave() and aborting when trylock fails. Sync compaction does not use trylock. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1f9efdef4f3f1d2a073e524113fd0038af636f2b Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:14 2014 -0700 mm, compaction: khugepaged should not give up due to need_resched() Async compaction aborts when it detects zone lock contention or need_resched() is true. David Rientjes has reported that in practice, most direct async compactions for THP allocation abort due to need_resched(). This means that a second direct compaction is never attempted, which might be OK for a page fault, but khugepaged is intended to attempt a sync compaction in such case and in these cases it won't. This patch replaces "bool contended" in compact_control with an int that distinguishes between aborting due to need_resched() and aborting due to lock contention. This allows propagating the abort through all compaction functions as before, but passing the abort reason up to __alloc_pages_slowpath() which decides when to continue with direct reclaim and another compaction attempt. Another problem is that try_to_compact_pages() did not act upon the reported contention (both need_resched() or lock contention) immediately and would proceed with another zone from the zonelist. When need_resched() is true, that means initializing another zone compaction, only to check again need_resched() in isolate_migratepages() and aborting. For zone lock contention, the unintended consequence is that the lock contended status reported back to the allocator is detrmined from the last zone where compaction was attempted, which is rather arbitrary. This patch fixes the problem in the following way: - async compaction of a zone aborting due to need_resched() or fatal signal pending means that further zones should not be tried. We report COMPACT_CONTENDED_SCHED to the allocator. - aborting zone compaction due to lock contention means we can still try another zone, since it has different set of locks. We report back COMPACT_CONTENDED_LOCK only if *all* zones where compaction was attempted, it was aborted due to lock contention. As a result of these fixes, khugepaged will proceed with second sync compaction as intended, when the preceding async compaction aborted due to need_resched(). Page fault compactions aborting due to need_resched() will spare some cycles previously wasted by initializing another zone compaction only to abort again. Lock contention will be reported only when compaction in all zones aborted due to lock contention, and therefore it's not a good idea to try again after reclaim. In stress-highalloc from mmtests configured to use __GFP_NO_KSWAPD, this has improved number of THP collapse allocations by 10%, which shows positive effect on khugepaged. The benchmark's success rates are unchanged as it is not recognized as khugepaged. Numbers of compact_stall and compact_fail events have however decreased by 20%, with compact_success still a bit improved, which is good. With benchmark configured not to use __GFP_NO_KSWAPD, there is 6% improvement in THP collapse allocations, and only slight improvement in stalls and failures. [akpm@xxxxxxxxxxxxxxxxxxxx: fix warnings] Reported-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7d49d8868336bbf4f68714d8282ca5fd65e387ed Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:11 2014 -0700 mm, compaction: reduce zone checking frequency in the migration scanner The unification of the migrate and free scanner families of function has highlighted a difference in how the scanners ensure they only isolate pages of the intended zone. This is important for taking zone lock or lru lock of the correct zone. Due to nodes overlapping, it is however possible to encounter a different zone within the range of the zone being compacted. The free scanner, since its inception by commit 748446bb6b5a ("mm: compaction: memory compaction core"), has been checking the zone of the first valid page in a pageblock, and skipping the whole pageblock if the zone does not match. This checking was completely missing from the migration scanner at first, and later added by commit dc9086004b3d ("mm: compaction: check for overlapping nodes during isolation for migration") in a reaction to a bug report. But the zone comparison in migration scanner is done once per a single scanned page, which is more defensive and thus more costly than a check per pageblock. This patch unifies the checking done in both scanners to once per pageblock, through a new pageblock_pfn_to_page() function, which also includes pfn_valid() checks. It is more defensive than the current free scanner checks, as it checks both the first and last page of the pageblock, but less defensive by the migration scanner per-page checks. It assumes that node overlapping may result (on some architecture) in a boundary between two nodes falling into the middle of a pageblock, but that there cannot be a node0 node1 node0 interleaving within a single pageblock. The result is more code being shared and a bit less per-page CPU cost in the migration scanner. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit edc2ca61249679298c1f343cd9c549964b8df4b4 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:09 2014 -0700 mm, compaction: move pageblock checks up from isolate_migratepages_range() isolate_migratepages_range() is the main function of the compaction scanner, called either on a single pageblock by isolate_migratepages() during regular compaction, or on an arbitrary range by CMA's __alloc_contig_migrate_range(). It currently perfoms two pageblock-wide compaction suitability checks, and because of the CMA callpath, it tracks if it crossed a pageblock boundary in order to repeat those checks. However, closer inspection shows that those checks are always true for CMA: - isolation_suitable() is true because CMA sets cc->ignore_skip_hint to true - migrate_async_suitable() check is skipped because CMA uses sync compaction We can therefore move the compaction-specific checks to isolate_migratepages() and simplify isolate_migratepages_range(). Furthermore, we can mimic the freepage scanner family of functions, which has isolate_freepages_block() function called both by compaction from isolate_freepages() and by CMA from isolate_freepages_range(), where each use-case adds own specific glue code. This allows further code simplification. Thus, we rename isolate_migratepages_range() to isolate_migratepages_block() and limit its functionality to a single pageblock (or its subset). For CMA, a new different isolate_migratepages_range() is created as a CMA-specific wrapper for the _block() function. The checks specific to compaction are moved to isolate_migratepages(). As part of the unification of these two families of functions, we remove the redundant zone parameter where applicable, since zone pointer is already passed in cc->zone. Furthermore, going back to compact_zone() and compact_finished() when pageblock is found unsuitable (now by isolate_migratepages()) is wasteful - the checks are meant to skip pageblocks quickly. The patch therefore also introduces a simple loop into isolate_migratepages() so that it does not return immediately on failed pageblock checks, but keeps going until isolate_migratepages_range() gets called once. Similarily to isolate_freepages(), the function periodically checks if it needs to reschedule or abort async compaction. [iamjoonsoo.kim@xxxxxxx: fix isolated page counting bug in compaction] Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f8224aa5a0a4627926019bba7511926393fbee3b Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:07 2014 -0700 mm, compaction: do not recheck suitable_migration_target under lock isolate_freepages_block() rechecks if the pageblock is suitable to be a target for migration after it has taken the zone->lock. However, the check has been optimized to occur only once per pageblock, and compact_checklock_irqsave() might be dropping and reacquiring lock, which means somebody else might have changed the pageblock's migratetype meanwhile. Furthermore, nothing prevents the migratetype to change right after isolate_freepages_block() has finished isolating. Given how imperfect this is, it's simpler to just rely on the check done in isolate_freepages() without lock, and not pretend that the recheck under lock guarantees anything. It is just a heuristic after all. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 98dd3b48a7b8e8277f14c2b7d879477efc1ed0d0 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:04 2014 -0700 mm, compaction: do not count compact_stall if all zones skipped compaction The compact_stall vmstat counter counts the number of allocations stalled by direct compaction. It does not count when all attempted zones had deferred compaction, but it does count when all zones skipped compaction. The skipping is decided based on very early check of compaction_suitable(), based on watermarks and memory fragmentation. Therefore it makes sense not to count skipped compactions as stalls. Moreover, compact_success or compact_fail is also already not being counted when compaction was skipped, so this patch changes the compact_stall counting to match the other two. Additionally, restructure __alloc_pages_direct_compact() code for better readability. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 53853e2d2bfb748a8b5aa2fd1de15699266865e0 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:02 2014 -0700 mm, compaction: defer each zone individually instead of preferred zone When direct sync compaction is often unsuccessful, it may become deferred for some time to avoid further useless attempts, both sync and async. Successful high-order allocations un-defer compaction, while further unsuccessful compaction attempts prolong the compaction deferred period. Currently the checking and setting deferred status is performed only on the preferred zone of the allocation that invoked direct compaction. But compaction itself is attempted on all eligible zones in the zonelist, so the behavior is suboptimal and may lead both to scenarios where 1) compaction is attempted uselessly, or 2) where it's not attempted despite good chances of succeeding, as shown on the examples below: 1) A direct compaction with Normal preferred zone failed and set deferred compaction for the Normal zone. Another unrelated direct compaction with DMA32 as preferred zone will attempt to compact DMA32 zone even though the first compaction attempt also included DMA32 zone. In another scenario, compaction with Normal preferred zone failed to compact Normal zone, but succeeded in the DMA32 zone, so it will not defer compaction. In the next attempt, it will try Normal zone which will fail again, instead of skipping Normal zone and trying DMA32 directly. 2) Kswapd will balance DMA32 zone and reset defer status based on watermarks looking good. A direct compaction with preferred Normal zone will skip compaction of all zones including DMA32 because Normal was still deferred. The allocation might have succeeded in DMA32, but won't. This patch makes compaction deferring work on individual zone basis instead of preferred zone. For each zone, it checks compaction_deferred() to decide if the zone should be skipped. If watermarks fail after compacting the zone, defer_compaction() is called. The zone where watermarks passed can still be deferred when the allocation attempt is unsuccessful. When allocation is successful, compaction_defer_reset() is called for the zone containing the allocated page. This approach should approximate calling defer_compaction() only on zones where compaction was attempted and did not yield allocated page. There might be corner cases but that is inevitable as long as the decision to stop compacting dues not guarantee that a page will be allocated. Due to a new COMPACT_DEFERRED return value, some functions relying implicitly on COMPACT_SKIPPED = 0 had to be updated, with comments made more accurate. The did_some_progress output parameter of __alloc_pages_direct_compact() is removed completely, as the caller actually does not use it after compaction sets it - it is only considered when direct reclaim sets it. During testing on a two-node machine with a single very small Normal zone on node 1, this patch has improved success rates in stress-highalloc mmtests benchmark. The success here were previously made worse by commit 3a025760fc15 ("mm: page_alloc: spill to remote nodes before waking kswapd") as kswapd was no longer resetting often enough the deferred compaction for the Normal zone, and DMA32 zones on both nodes were thus not considered for compaction. On different machine, success rates were improved with __GFP_NO_KSWAPD allocations. [akpm@xxxxxxxxxxxxxxxxxxxx: fix CONFIG_COMPACTION=n build] Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: Minchan Kim <minchan@xxxxxxxxxx> Reviewed-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8b1645685acf3c7e0b93611fb4b328ef45c47e92 Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:27:00 2014 -0700 mm, THP: don't hold mmap_sem in khugepaged when allocating THP When allocating huge page for collapsing, khugepaged currently holds mmap_sem for reading on the mm where collapsing occurs. Afterwards the read lock is dropped before write lock is taken on the same mmap_sem. Holding mmap_sem during whole huge page allocation is therefore useless, the vma needs to be rechecked after taking the write lock anyway. Furthemore, huge page allocation might involve a rather long sync compaction, and thus block any mmap_sem writers and i.e. affect workloads that perform frequent m(un)map or mprotect oterations. This patch simply releases the read lock before allocating a huge page. It also deletes an outdated comment that assumed vma must be stable, as it was using alloc_hugepage_vma(). This is no longer true since commit 9f1b868a13ac ("mm: thp: khugepaged: add policy for finding target node"). Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 447f05bb488bff4282088259b04f47f0f9f76760 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Thu Oct 9 15:26:58 2014 -0700 block_dev: implement readpages() to optimize sequential read Sequential read from a block device is expected to be equal or faster than from the file on a filesystem. But it is not correct due to the lack of effective readpages() in the address space operations for block device. This implements readpages() operation for block device by using mpage_readpages() which can create multipage BIOs instead of BIOs for each page and reduce system CPU time consumption. Install 1GB of RAM disk storage: # modprobe scsi_debug dev_size_mb=1024 delay=0 Sequential read from file on a filesystem: # mkfs.ext4 /dev/$DEV # mount /dev/$DEV /mnt # fio --name=t --size=512m --rw=read --filename=/mnt/file ... read : io=524288KB, bw=2133.4MB/s, iops=546133, runt= 240msec Sequential read from a block device: # fio --name=t --size=512m --rw=read --filename=/dev/$DEV ... (Without this commit) read : io=524288KB, bw=1700.2MB/s, iops=435455, runt= 301msec (With this commit) read : io=524288KB, bw=2160.4MB/s, iops=553046, runt= 237msec Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4db96b71e3caea5bb39053d57683129e0682c66f Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Thu Oct 9 15:26:55 2014 -0700 vfs: guard end of device for mpage interface Add guard_bio_eod() check for mpage code in order to allow us to do IO even on the odd last sectors of a device, even if the block size is some multiple of the physical sector size. Using mpage_readpages() for block device requires this guard check. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 59d43914ed7b96255271ad6b7b735344beffa3c0 Author: Akinobu Mita <akinobu.mita@xxxxxxxxx> Date: Thu Oct 9 15:26:53 2014 -0700 vfs: make guard_bh_eod() more generic This patchset implements readpages() operation for block device by using mpage_readpages() which can create multipage BIOs instead of BIOs for each page and reduce system CPU time consumption. This patch (of 3): guard_bh_eod() is used in submit_bh() to allow us to do IO even on the odd last sectors of a device, even if the block size is some multiple of the physical sector size. This makes guard_bh_eod() more generic and renames it guard_bio_eod() so that we can use it without struct buffer_head argument. The reason for this change is that using mpage_readpages() for block device requires to add this guard check in mpage code. Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 21bb9bd19430a43e6462ce75030fd7fac4b766ef Author: Vlastimil Babka <vbabka@xxxxxxx> Date: Thu Oct 9 15:26:51 2014 -0700 mm: page_alloc: determine migratetype only once The check for ALLOC_CMA in __alloc_pages_nodemask() derives migratetype from gfp_mask in each retry pass, although the migratetype variable already has the value determined and it does not change. Use the variable and perform the check only once. Also convert #ifdef CONFIG_CMA to IS_ENABLED. Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> Acked-by: David Rientjes <rientjes@xxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: "Srivatsa S. Bhat" <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 95b0e655f9148881907fdbe5baba6a9f5d094fee Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Oct 9 15:26:49 2014 -0700 ARM: mm: don't limit default CMA region only to low memory DMA-mapping supports CMA regions places either in low or high memory, so there is no longer needed to limit default CMA regions only to low memory. The real limit is still defined by architecture specific DMA limit. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Reported-by: Russell King - ARM Linux <linux@xxxxxxxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Daniel Drake <drake@xxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f7426b983a6a353cf21e5733e84458219c4a817e Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Thu Oct 9 15:26:47 2014 -0700 mm: cma: adjust address limit to avoid hitting low/high memory boundary Russell King recently noticed that limiting default CMA region only to low memory on ARM architecture causes serious memory management issues with machines having a lot of memory (which is mainly available as high memory). More information can be found the following thread: http://thread.gmane.org/gmane.linux.ports.arm.kernel/348441/ Those two patches removes this limit letting kernel to put default CMA region into high memory when this is possible (there is enough high memory available and architecture specific DMA limit fits). This should solve strange OOM issues on systems with lots of RAM (i.e. >1GiB) and large (>256M) CMA area. This patch (of 2): Automatically allocated regions should not cross low/high memory boundary, because such regions cannot be later correctly initialized due to spanning across two memory zones. This patch adds a check for this case and a simple code for moving region to low memory if automatically selected address might not fit completely into high memory. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: Daniel Drake <drake@xxxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Russell King <rmk@xxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d4932f9e81ae7a7bf3c3967e48373909b9c98ee5 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:44 2014 -0700 arm64: add atomic pool for non-coherent and CMA allocations Neither CMA nor noncoherent allocations support atomic allocations. Add a dedicated atomic pool to support this. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 36d0fd2198da3fd16b0e0da50ece05b4d295d2f1 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:42 2014 -0700 arm: use genalloc for the atomic pool ARM currently uses a bitmap for tracking atomic allocations. genalloc already handles this type of memory pool allocation so switch to using that instead. Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 513510ddba9650fc7da456eefeb0ead7632324f6 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:40 2014 -0700 common: dma-mapping: introduce common remapping functions For architectures without coherent DMA, memory for DMA may need to be remapped with coherent attributes. Factor out the the remapping code from arm and put it in a common location to reduce code duplication. As part of this, the arm APIs are now migrated away from ioremap_page_range to the common APIs which use map_vm_area for remapping. This should be an equivalent change and using map_vm_area is more correct as ioremap_page_range is intended to bring in io addresses into the cpu space and not regular kernel managed memory. Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9efb3a421d55d30b65fb0dbee05108d15c6c55f7 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:38 2014 -0700 lib/genalloc.c: add genpool range check function After allocating an address from a particular genpool, there is no good way to verify if that address actually belongs to a genpool. Introduce addr_in_gen_pool which will return if an address plus size falls completely within the genpool range. Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Reviewed-by: Olof Johansson <olof@xxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 505e3be6c082489a32a88e042f930d047b6415bc Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:35 2014 -0700 lib/genalloc.c: add power aligned algorithm One of the more common algorithms used for allocation is to align the start address of the allocation to the order of size requested. Add this as an algorithm option for genalloc. Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Olof Johansson <olof@xxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Riley <davidriley@xxxxxxxxxxxx> Cc: Ritesh Harjain <ritesh.harjani@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6a33979d5bd7521497121c5ae4435d7003115a0f Author: Mel Gorman <mgorman@xxxxxxx> Date: Thu Oct 9 15:26:33 2014 -0700 mm: remove misleading ARCH_USES_NUMA_PROT_NONE ARCH_USES_NUMA_PROT_NONE was defined for architectures that implemented _PAGE_NUMA using _PROT_NONE. This saved using an additional PTE bit and relied on the fact that PROT_NONE vmas were skipped by the NUMA hinting fault scanner. This was found to be conceptually confusing with a lot of implicit assumptions and it was asked that an alternative be found. Commit c46a7c81 "x86: define _PAGE_NUMA by reusing software bits on the PMD and PTE levels" redefined _PAGE_NUMA on x86 to be one of the swap PTE bits and shrunk the maximum possible swap size but it did not go far enough. There are no architectures that reuse _PROT_NONE as _PROT_NUMA but the relics still exist. This patch removes ARCH_USES_NUMA_PROT_NONE and removes some unnecessary duplication in powerpc vs the generic implementation by defining the types the core NUMA helpers expected to exist from x86 with their ppc64 equivalent. This necessitated that a PTE bit mask be created that identified the bits that distinguish present from NUMA pte entries but it is expected this will only differ between arches based on _PAGE_PROTNONE. The naming for the generic helpers was taken from x86 originally but ppc64 has types that are equivalent for the purposes of the helper so they are mapped instead of duplicating code. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Cc: Hugh Dickins <hughd@xxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxx> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ed2f240094f900833ac06f533ab8bbcf0a1e8199 Author: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Date: Thu Oct 9 15:26:31 2014 -0700 memory-hotplug: add sysfs valid_zones attribute Currently memory-hotplug has two limits: 1. If the memory block is in ZONE_NORMAL, you can change it to ZONE_MOVABLE, but this memory block must be adjacent to ZONE_MOVABLE. 2. If the memory block is in ZONE_MOVABLE, you can change it to ZONE_NORMAL, but this memory block must be adjacent to ZONE_NORMAL. With this patch, we can easy to know a memory block can be onlined to which zone, and don't need to know the above two limits. Updated the related Documentation. [akpm@xxxxxxxxxxxxxxxxxxxx: use conventional comment layout] [akpm@xxxxxxxxxxxxxxxxxxxx: fix build with CONFIG_MEMORY_HOTREMOVE=n] [akpm@xxxxxxxxxxxxxxxxxxxx: remove unused local zone_prev] Signed-off-by: Zhang Zhen <zhenzhang.zhang@xxxxxxxxxx> Cc: Dave Hansen <dave.hansen@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx> Cc: Wang Nan <wangnan0@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cc71aba348906ff93a4ad2f600045ee2d1ecc291 Author: vishnu.ps <vishnu.ps@xxxxxxxxxxx> Date: Thu Oct 9 15:26:29 2014 -0700 mm/mmap.c: whitespace fixes Signed-off-by: vishnu.ps <vishnu.ps@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bf0dea23a9c094ae869a88bb694fbe966671bf6d Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:27 2014 -0700 mm/slab: use percpu allocator for cpu cache Because of chicken and egg problem, initialization of SLAB is really complicated. We need to allocate cpu cache through SLAB to make the kmem_cache work, but before initialization of kmem_cache, allocation through SLAB is impossible. On the other hand, SLUB does initialization in a more simple way. It uses percpu allocator to allocate cpu cache so there is no chicken and egg problem. So, this patch try to use percpu allocator in SLAB. This simplifies the initialization step in SLAB so that we could maintain SLAB code more easily. In my testing there is no performance difference. This implementation relies on percpu allocator. Because percpu allocator uses vmalloc address space, vmalloc address space could be exhausted by this change on many cpu system with *32 bit* kernel. This implementation can cover 1024 cpus in worst case by following calculation. Worst: 1024 cpus * 4 bytes for pointer * 300 kmem_caches * 120 objects per cpu_cache = 140 MB Normal: 1024 cpus * 4 bytes for pointer * 150 kmem_caches(slab merge) * 80 objects per cpu_cache = 46 MB Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Jeremiah Mahler <jmmahler@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 12220dea07f1ac6ac717707104773d771c3f3077 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:24 2014 -0700 mm/slab: support slab merge Slab merge is good feature to reduce fragmentation. If new creating slab have similar size and property with exsitent slab, this feature reuse it rather than creating new one. As a result, objects are packed into fewer slabs so that fragmentation is reduced. Below is result of my testing. * After boot, sleep 20; cat /proc/meminfo | grep Slab <Before> Slab: 25136 kB <After> Slab: 24364 kB We can save 3% memory used by slab. For supporting this feature in SLAB, we need to implement SLAB specific kmem_cache_flag() and __kmem_cache_alias(), because SLUB implements some SLUB specific processing related to debug flag and object size change on these functions. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 423c929cbbecc60e9c407f9048e58f5422f7995d Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:22 2014 -0700 mm/slab_common: commonize slab merge logic Slab merge is good feature to reduce fragmentation. Now, it is only applied to SLUB, but, it would be good to apply it to SLAB. This patch is preparation step to apply slab merge to SLAB by commonizing slab merge logic. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9163582c3f22cfba90a78749751ac70b127a9167 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Thu Oct 9 15:26:20 2014 -0700 slab: fix for_each_kmem_cache_node() Fix a bug (discovered with kmemcheck) in for_each_kmem_cache_node(). The for loop reads the array "node" before verifying that the index is within the range. This results in kmemcheck warning. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Reviewed-by: Pekka Enberg <penberg@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 109228389a943edd7e5c6ae94a7fda119691baec Author: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:26:18 2014 -0700 kernel/kthread.c: partial revert of 81c98869faa5 ("kthread: ensure locality of task_struct allocations") After discussions with Tejun, we don't want to spread the use of cpu_to_mem() (and thus knowledge of allocators/NUMA topology details) into callers, but would rather ensure the callees correctly handle memoryless nodes. With the previous patches ("topology: add support for node_to_mem_node() to determine the fallback node" and "slub: fallback to node_to_mem_node() node if allocating on memoryless node") adding and using node_to_mem_node(), we can safely undo part of the change to the kthread logic from 81c98869faa5. Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit a561ce00b09e1545953340deb5bef1036d7442de Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:15 2014 -0700 slub: fall back to node_to_mem_node() node if allocating on memoryless node Update the SLUB code to search for partial slabs on the nearest node with memory in the presence of memoryless nodes. Additionally, do not consider it to be an ALLOC_NODE_MISMATCH (and deactivate the slab) when a memoryless-node specified allocation goes off-node. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad2c8144418c6a81cefe65379fd47bbe8344cef2 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:13 2014 -0700 topology: add support for node_to_mem_node() to determine the fallback node Anton noticed (http://www.spinics.net/lists/linux-mm/msg67489.html) that on ppc LPARs with memoryless nodes, a large amount of memory was consumed by slabs and was marked unreclaimable. He tracked it down to slab deactivations in the SLUB core when we allocate remotely, leading to poor efficiency always when memoryless nodes are present. After much discussion, Joonsoo provided a few patches that help significantly. They don't resolve the problem altogether: - memory hotplug still needs testing, that is when a memoryless node becomes memory-ful, we want to dtrt - there are other reasons for going off-node than memoryless nodes, e.g., fully exhausted local nodes Neither case is resolved with this series, but I don't think that should block their acceptance, as they can be explored/resolved with follow-on patches. The series consists of: [1/3] topology: add support for node_to_mem_node() to determine the fallback node [2/3] slub: fallback to node_to_mem_node() node if allocating on memoryless node - Joonsoo's patches to cache the nearest node with memory for each NUMA node [3/3] Partial revert of 81c98869faa5 (""kthread: ensure locality of task_struct allocations") - At Tejun's request, keep the knowledge of memoryless node fallback to the allocator core. This patch (of 3): We need to determine the fallback node in slub allocator if the allocation target node is memoryless node. Without it, the SLUB wrongly select the node which has no memory and can't use a partial slab, because of node mismatch. Introduced function, node_to_mem_node(X), will return a node Y with memory that has the nearest distance. If X is memoryless node, it will return nearest distance node, but, if X is normal node, it will return itself. We will use this function in following patch to determine the fallback node. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Han Pingtian <hanpt@xxxxxxxxxxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Anton Blanchard <anton@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Wanpeng Li <liwanp@xxxxxxxxxxxxxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit c9e16131d6e39bddd183f0b9d787ec0a62bf0eeb Author: Christoph Lameter <cl@xxxxxxxxx> Date: Thu Oct 9 15:26:11 2014 -0700 slub: disable tracing and failslab for merged slabs Tracing of mergeable slabs as well as uses of failslab are confusing since the objects of multiple slab caches will be affected. Moreover this creates a situation where a mergeable slab will become unmergeable. If tracing or failslab testing is desired then it may be best to switch merging off for starters. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Tested-by: WANG Chao <chaowang@xxxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 25c4f304be8cd6831105d3a2876028e4ecd254a1 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:09 2014 -0700 mm/slab: factor out unlikely part of cache_free_alien() cache_free_alien() is rarely used function when node mismatch. But, it is defined with inline attribute so it is inlined to __cache_free() which is core free function of slab allocator. It uselessly makes kmem_cache_free()/kfree() functions large. What we really need to inline is just checking node match so this patch factor out other parts of cache_free_alien() to reduce code size of kmem_cache_free()/ kfree(). <Before> nm -S mm/slab.o | grep -e "T kfree" -e "T kmem_cache_free" 00000000000011e0 0000000000000228 T kfree 0000000000000670 0000000000000216 T kmem_cache_free <After> nm -S mm/slab.o | grep -e "T kfree" -e "T kmem_cache_free" 0000000000001110 00000000000001b5 T kfree 0000000000000750 0000000000000181 T kmem_cache_free You can see slightly reduced size of text: 0x228->0x1b5, 0x216->0x181. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit d3aec34466d9d6c8ceaa7f95088ced5705823735 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:06 2014 -0700 mm/slab: noinline __ac_put_obj() Our intention of __ac_put_obj() is that it doesn't affect anything if sk_memalloc_socks() is disabled. But, because __ac_put_obj() is too small, compiler inline it to ac_put_obj() and affect code size of free path. This patch add noinline keyword for __ac_put_obj() not to distrupt normal free path at all. <Before> nm -S slab-orig.o | grep -e "t cache_alloc_refill" -e "T kfree" -e "T kmem_cache_free" 0000000000001e80 00000000000002f5 t cache_alloc_refill 0000000000001230 0000000000000258 T kfree 0000000000000690 000000000000024c T kmem_cache_free <After> nm -S slab-patched.o | grep -e "t cache_alloc_refill" -e "T kfree" -e "T kmem_cache_free" 0000000000001e00 00000000000002e5 t cache_alloc_refill 00000000000011e0 0000000000000228 T kfree 0000000000000670 0000000000000216 T kmem_cache_free cache_alloc_refill: 0x2f5->0x2e5 kfree: 0x256->0x228 kmem_cache_free: 0x24c->0x216 code size of each function is reduced slightly. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3d88019408d6fbff1a38a58e694d56b7fd465408 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:04 2014 -0700 mm/slab: move cache_flusharray() out of unlikely.text section Now, due to likely keyword, compiled code of cache_flusharray() is on unlikely.text section. Although it is uncommon case compared to free to cpu cache case, it is common case than free_block(). But, free_block() is on normal text section. This patch fix this odd situation to remove likely keyword. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 61f47105a2c9c60e950ca808b7560f776f9bfa31 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:02 2014 -0700 mm/sl[ao]b: always track caller in kmalloc_(node_)track_caller() Now, we track caller if tracing or slab debugging is enabled. If they are disabled, we could save one argument passing overhead by calling __kmalloc(_node)(). But, I think that it would be marginal. Furthermore, default slab allocator, SLUB, doesn't use this technique so I think that it's okay to change this situation. After this change, we can turn on/off CONFIG_DEBUG_SLAB without full kernel build and remove some complicated '#if' defintion. It looks more benefitial to me. Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 07f361b2bee38896df8be17d8c3f8af3f3610606 Author: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Date: Thu Oct 9 15:26:00 2014 -0700 mm/slab_common: move kmem_cache definition to internal header We don't need to keep kmem_cache definition in include/linux/slab.h if we don't need to inline kmem_cache_size(). According to my code inspection, this function is only called at lc_create() in lib/lru_cache.c which may be called at initialization phase of something, so we don't need to inline it. Therfore, move it to slab_common.c and move kmem_cache definition to internal header. After this change, we can change kmem_cache definition easily without full kernel build. For instance, we can turn on/off CONFIG_SLUB_STATS without full kernel build. [akpm@xxxxxxxxxxxxxxxxxxxx: export kmem_cache_size() to modules] [rdunlap@xxxxxxxxxxxxx: add header files to fix kmemcheck.c build errors] Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3aa24f519e48e0db0ccf198d1b766a61d9463ce6 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:25:58 2014 -0700 mm/slab_common.c: suppress warning False positive: mm/slab_common.c: In function 'kmem_cache_create': mm/slab_common.c:204: warning: 's' may be used uninitialized in this function Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Pekka Enberg <penberg@xxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit bf3e2692468fe46eed57d18b3dd1af5b30049122 Author: Baoquan He <bhe@xxxxxxxxxx> Date: Thu Oct 9 15:25:56 2014 -0700 fs/proc/kcore.c: don't add modules range to kcore if it's equal to vmcore range On some ARCHs modules range is eauql to vmalloc range. E.g on i686 "#define MODULES_VADDR VMALLOC_START" "#define MODULES_END VMALLOC_END" This will cause 2 duplicate program segments in /proc/kcore, and no flag to indicate they are different. This is confusing. And usually people who need check the elf header or read the content of kcore will check memory ranges. Two program segments which are the same are unnecessary. So check if the modules range is equal to vmalloc range. If so, just skip adding the modules range. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 58cb65487e92b47448d00a711c9f5922137d5678 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:54 2014 -0700 proc/maps: make vm_is_stack() logic namespace-friendly - Rename vm_is_stack() to task_of_stack() and change it to return "struct task_struct *" rather than the global (and thus wrong in general) pid_t. - Add the new pid_of_stack() helper which calls task_of_stack() and uses the right namespace to report the correct pid_t. Unfortunately we need to define this helper twice, in task_mmu.c and in task_nommu.c. perhaps it makes sense to add fs/proc/util.c and move at least pid_of_stack/task_of_stack there to avoid the code duplication. - Change show_map_vma() and show_numa_map() to use the new helper. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2c03376d2db005869b1d4449097d51c96196529e Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:51 2014 -0700 proc/maps: replace proc_maps_private->pid with "struct inode *inode" m_start() can use get_proc_task() instead, and "struct inode *" provides more potentially useful info, see the next changes. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 47fecca15c0944924423390fe21b956eea57da30 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:49 2014 -0700 fs/proc/task_nommu.c: don't use priv->task->mm I do not know if CONFIG_PREEMPT/SMP is possible without CONFIG_MMU but the usage of task->mm in m_stop(). The task can exit/exec before we take mmap_sem, in this case m_stop() can hit NULL or unlock the wrong rw_semaphore. Also, this code uses priv->task != NULL to decide whether we need up_read/mmput. This is correct, but we will probably kill priv->task. Change m_start/m_stop to rely on IS_ERR_OR_NULL() like task_mmu.c does. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 27692cd56e2aa6924b49f4361247d707a023484a Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:47 2014 -0700 fs/proc/task_nommu.c: shift mm_access() from m_start() to proc_maps_open() Copy-and-paste the changes from "fs/proc/task_mmu.c: shift mm_access() from m_start() to proc_maps_open()" into task_nommu.c. Change maps_open() to initialize priv->mm using proc_mem_open(), m_start() can rely on atomic_inc_not_zero(mm_users) like task_mmu.c does. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ce34fddb5bafb424a4aaa9f403feb7dbe776c7d1 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:45 2014 -0700 fs/proc/task_nommu.c: change maps_open() to use __seq_open_private() Cleanup and preparation. maps_open() can use __seq_open_private() like proc_maps_open() does. [akpm@xxxxxxxxxxxxxxxxxxxx: deuglify] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 557c2d8a73dc078817ba6949697ceb8c0f3f7362 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:43 2014 -0700 fs/proc/task_mmu.c: update m->version in the main loop in m_start() Change the main loop in m_start() to update m->version. Mostly for consistency, but this can help to avoid the same loop if the very 1st ->show() fails due to seq_overflow(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8c20a9b85b057c850f63ee4c63531a356d8596a Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:41 2014 -0700 fs/proc/task_mmu.c: reintroduce m->version logic Add the "last_addr" optimization back. Like before, every ->show() method checks !seq_overflow() and sets m->version = vma->vm_start. However, it also checks that m_next_vma(vma) != NULL, otherwise it sets m->version = -1 for the lockless "EOF" fast-path in m_start(). m_start() can simply do find_vma() + m_next_vma() if last_addr is not zero, the code looks clear and simple and this case is clearly separated from "scan vmas" path. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ad2a00e4b7e20ab03700b0bb13270b6cee45c6e0 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:39 2014 -0700 fs/proc/task_mmu.c: introduce m_next_vma() helper Extract the tail_vma/vm_next calculation from m_next() into the new trivial helper, m_next_vma(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0c255321f879c36bd74f58f9c7ed235ea6b919cb Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:36 2014 -0700 fs/proc/task_mmu.c: simplify m_start() to make it readable Now that m->version is gone we can cleanup m_start(). In particular, - Remove the "unsigned long" typecast, m->index can't be negative or exceed ->map_count. But lets use "unsigned int pos" to make it clear that "pos < map_count" is safe. - Remove the unnecessary "vma != NULL" check in the main loop. It can't be NULL unless we have a vm bug. - This also means that "pos < map_count" case can simply return the valid vma and avoid "goto" and subsequent checks. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit ebb6cdde1a50c3cd2a0a4668dfb571ecb3213449 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:34 2014 -0700 fs/proc/task_mmu.c: kill the suboptimal and confusing m->version logic m_start() carefully documents, checks, and sets "m->version = -1" if we are going to return NULL. The only problem is that we will be never called again if m_start() returns NULL, so this is simply pointless and misleading. Otoh, ->show() methods m->version = 0 if vma == tail_vma and this is just wrong, we want -1 in this case. And in fact we also want -1 if ->vm_next == NULL and ->tail_vma == NULL. And it is not used consistently, the "scan vmas" loop in m_start() should update last_addr too. Finally, imo the whole "last_addr" logic in m_start() looks horrible. find_vma(last_addr) is called unconditionally even if we are not going to use the result. But the main problem is that this code participates in tail_vma-or-NULL mess, and this looks simply unfixable. Remove this optimization. We will add it back after some cleanups. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0d5f5f45f9a4f1f6b694c37f5142ebea893f0a15 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:32 2014 -0700 fs/proc/task_mmu.c: shift "priv->task = NULL" from m_start() to m_stop() 1. There is no reason to reset ->tail_vma in m_start(), if we return IS_ERR_OR_NULL() it won't be used. 2. m_start() also clears priv->task to ensure that m_stop() won't use the stale pointer if we fail before get_task_struct(). But this is ugly and confusing, move this initialization in m_stop(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 23d54837e4f3a44ad4514d5eae8245c2250217ff Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:30 2014 -0700 fs/proc/task_mmu.c: cleanup the "tail_vma" horror in m_next() 1. Kill the first "vma != NULL" check. Firstly this is not possible, m_next() won't be called if ->start() or the previous ->next() returns NULL. And if it was possible the 2nd "vma != tail_vma" check is buggy, we should not wrongly return ->tail_vma. 2. Make this function readable. The logic is very simple, we should return check "vma != tail" once and return "vm_next || tail_vma". Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 59b4bf12d4776c0e4f3fd5c02d942f3a0596da97 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:28 2014 -0700 fs/proc/task_mmu.c: simplify the vma_stop() logic m_start() drops ->mmap_sem and does mmput() if it retuns vsyscall vma. This is because in this case m_stop()->vma_stop() obviously can't use gate_vma->vm_mm. Now that we have proc_maps_private->mm we can simplify this logic: - Change m_start() to return with ->mmap_sem held unless it returns IS_ERR_OR_NULL(). - Change vma_stop() to use priv->mm and avoid the ugly vma checks, this makes "vm_area_struct *vma" unnecessary. - This also allows m_start() to use vm_stop(). - Cleanup m_next() to follow the new locking rule. Note: m_stop() looks very ugly, and this temporary uglifies it even more. Fixed by the next change. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 29a40ace841cba9b661711f042d1821cdc4ad47c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:26 2014 -0700 fs/proc/task_mmu.c: shift mm_access() from m_start() to proc_maps_open() A simple test-case from Kirill Shutemov cat /proc/self/maps >/dev/null chmod +x /proc/self/net/packet exec /proc/self/net/packet makes lockdep unhappy, cat/exec take seq_file->lock + cred_guard_mutex in the opposite order. It's a false positive and probably we should not allow "chmod +x" on proc files. Still I think that we should avoid mm_access() and cred_guard_mutex in sys_read() paths, security checking should happen at open time. Besides, this doesn't even look right if the task changes its ->mm between m_stop() and m_start(). Add the new "mm_struct *mm" member into struct proc_maps_private and change proc_maps_open() to initialize it using proc_mem_open(). Change m_start() to use priv->mm if atomic_inc_not_zero(mm_users) succeeds or return NULL (eof) otherwise. The only complication is that proc_maps_open() users should additionally do mmdrop() in fop->release(), add the new proc_map_release() helper for that. Note: this is the user-visible change, if the task execs after open("maps") the new ->mm won't be visible via this file. I hope this is fine, and this matches /proc/pid/mem bahaviour. [akpm@xxxxxxxxxxxxxxxxxxxx: coding-style fixes] Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reported-by: "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5381e169e78405bd54256860f151596f5a887617 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:24 2014 -0700 proc: introduce proc_mem_open() Extract the mm_access() code from __mem_open() into the new helper, proc_mem_open(), the next patch will add another caller. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4db7d0ee198d417f4144c58048fcb173d90096ea Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:21 2014 -0700 fs/proc/task_mmu.c: unify/simplify do_maps_open() and numa_maps_open() do_maps_open() and numa_maps_open() are overcomplicated, they could use __seq_open_private(). Plus they do the same, just sizeof(*priv) Change them to use a new simple helper, proc_maps_open(ops, psize). This simplifies the code and allows us to do the next changes. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 46c298cf69d0e9a27d33ff992a81bd7b441c7933 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Thu Oct 9 15:25:19 2014 -0700 fs/proc/task_mmu.c: don't use task->mm in m_start() and show_*map() get_gate_vma(priv->task->mm) looks ugly and wrong, task->mm can be NULL or it can changed by exec right after mm_access(). And in theory this race is not harmless, the task can exec and then later exit and free the new mm_struct. In this case get_task_mm(oldmm) can't help, get_gate_vma(task->mm) can read the freed/unmapped memory. I think that priv->task should simply die and hold_task_mempolicy() logic can be simplified. tail_vma logic asks for cleanups too. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Acked-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Cc: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b1a8de1f534337b398c7778578a56ec4f018cb27 Author: chai wen <chaiw.fnst@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:25:17 2014 -0700 softlockup: make detector be aware of task switch of processes hogging cpu For now, soft lockup detector warns once for each case of process softlockup. But the thread 'watchdog/n' may not always get the cpu at the time slot between the task switch of two processes hogging that cpu to reset soft_watchdog_warn. An example would be two processes hogging the cpu. Process A causes the softlockup warning and is killed manually by a user. Process B immediately becomes the new process hogging the cpu preventing the softlockup code from resetting the soft_watchdog_warn variable. This case is a false negative of "warn only once for a process", as there may be a different process that is going to hog the cpu. Resolve this by saving/checking the task pointer of the hogging process and use that to reset soft_watchdog_warn too. [dzickus@xxxxxxxxxx: update comment] Signed-off-by: chai wen <chaiw.fnst@xxxxxxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f775da2fc2a8e42aa49eddbf5186ac3df8961a71 Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Date: Thu Oct 9 15:25:15 2014 -0700 ocfs2: fix deadlock due to wrong locking order For commit ocfs2 journal, ocfs2 journal thread will acquire the mutex osb->journal->j_trans_barrier and wake up jbd2 commit thread, then it will wait until jbd2 commit thread done. In order journal mode, jbd2 needs flushing dirty data pages first, and this needs get page lock. So osb->journal->j_trans_barrier should be got before page lock. But ocfs2_write_zero_page() and ocfs2_write_begin_inline() obey this locking order, and this will cause deadlock and hung the whole cluster. One deadlock catched is the following: PID: 13449 TASK: ffff8802e2f08180 CPU: 31 COMMAND: "oracle" #0 [ffff8802ee3f79b0] __schedule at ffffffff8150a524 #1 [ffff8802ee3f7a58] schedule at ffffffff8150acbf #2 [ffff8802ee3f7a68] rwsem_down_failed_common at ffffffff8150cb85 #3 [ffff8802ee3f7ad8] rwsem_down_read_failed at ffffffff8150cc55 #4 [ffff8802ee3f7ae8] call_rwsem_down_read_failed at ffffffff812617a4 #5 [ffff8802ee3f7b50] ocfs2_start_trans at ffffffffa0498919 [ocfs2] #6 [ffff8802ee3f7ba0] ocfs2_zero_start_ordered_transaction at ffffffffa048b2b8 [ocfs2] #7 [ffff8802ee3f7bf0] ocfs2_write_zero_page at ffffffffa048e9bd [ocfs2] #8 [ffff8802ee3f7c80] ocfs2_zero_extend_range at ffffffffa048ec83 [ocfs2] #9 [ffff8802ee3f7ce0] ocfs2_zero_extend at ffffffffa048edfd [ocfs2] #10 [ffff8802ee3f7d50] ocfs2_extend_file at ffffffffa049079e [ocfs2] #11 [ffff8802ee3f7da0] ocfs2_setattr at ffffffffa04910ed [ocfs2] #12 [ffff8802ee3f7e70] notify_change at ffffffff81187d29 #13 [ffff8802ee3f7ee0] do_truncate at ffffffff8116bbc1 #14 [ffff8802ee3f7f50] sys_ftruncate at ffffffff8116bcbd #15 [ffff8802ee3f7f80] system_call_fastpath at ffffffff81515142 RIP: 00007f8de750c6f7 RSP: 00007fffe786e478 RFLAGS: 00000206 RAX: 000000000000004d RBX: ffffffff81515142 RCX: 0000000000000000 RDX: 0000000000000200 RSI: 0000000000028400 RDI: 000000000000000d RBP: 00007fffe786e040 R8: 0000000000000000 R9: 000000000000000d R10: 0000000000000000 R11: 0000000000000206 R12: 000000000000000d R13: 00007fffe786e710 R14: 00007f8de70f8340 R15: 0000000000028400 ORIG_RAX: 000000000000004d CS: 0033 SS: 002b crash64> bt PID: 7610 TASK: ffff88100fd56140 CPU: 1 COMMAND: "ocfs2cmt" #0 [ffff88100f4d1c50] __schedule at ffffffff8150a524 #1 [ffff88100f4d1cf8] schedule at ffffffff8150acbf #2 [ffff88100f4d1d08] jbd2_log_wait_commit at ffffffffa01274fd [jbd2] #3 [ffff88100f4d1d98] jbd2_journal_flush at ffffffffa01280b4 [jbd2] #4 [ffff88100f4d1dd8] ocfs2_commit_cache at ffffffffa0499b14 [ocfs2] #5 [ffff88100f4d1e38] ocfs2_commit_thread at ffffffffa0499d38 [ocfs2] #6 [ffff88100f4d1ee8] kthread at ffffffff81090db6 #7 [ffff88100f4d1f48] kernel_thread_helper at ffffffff81516284 crash64> bt PID: 7609 TASK: ffff88100f2d4480 CPU: 0 COMMAND: "jbd2/dm-20-86" #0 [ffff88100def3920] __schedule at ffffffff8150a524 #1 [ffff88100def39c8] schedule at ffffffff8150acbf #2 [ffff88100def39d8] io_schedule at ffffffff8150ad6c #3 [ffff88100def39f8] sleep_on_page at ffffffff8111069e #4 [ffff88100def3a08] __wait_on_bit_lock at ffffffff8150b30a #5 [ffff88100def3a58] __lock_page at ffffffff81110687 #6 [ffff88100def3ab8] write_cache_pages at ffffffff8111b752 #7 [ffff88100def3be8] generic_writepages at ffffffff8111b901 #8 [ffff88100def3c48] journal_submit_data_buffers at ffffffffa0120f67 [jbd2] #9 [ffff88100def3cf8] jbd2_journal_commit_transaction at ffffffffa0121372[jbd2] #10 [ffff88100def3e68] kjournald2 at ffffffffa0127a86 [jbd2] #11 [ffff88100def3ee8] kthread at ffffffff81090db6 #12 [ffff88100def3f48] kernel_thread_helper at ffffffff81516284 Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Alex Chen <alex.chen@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 70e82a12dbfa3acbff41be08a36e8be4578878c9 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Oct 9 15:25:13 2014 -0700 ocfs2: fix deadlock between o2hb thread and o2net_wq The following case may lead to o2net_wq and o2hb thread deadlock on o2hb_callback_sem. Currently there are 2 nodes say N1, N2 in the cluster. And N2 down, at the same time, N3 tries to join the cluster. So N1 will handle node down (N2) and join (N3) simultaneously. o2hb o2net_wq ->o2hb_do_disk_heartbeat ->o2hb_check_slot ->o2hb_run_event_list ->o2hb_fire_callbacks ->down_write(&o2hb_callback_sem) ->o2net_hb_node_down_cb ->flush_workqueue(o2net_wq) ->o2net_process_message ->dlm_query_join_handler ->o2hb_check_node_heartbeating ->o2hb_fill_node_map ->down_read(&o2hb_callback_sem) No need to take o2hb_callback_sem in dlm_query_join_handler, o2hb_live_lock is enough to protect live node map. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: xMark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: jiangyiwen <jiangyiwen@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5046f18d5bd9ad7638b32c3b304ff39a74c064df Author: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Date: Thu Oct 9 15:25:11 2014 -0700 ocfs2: don't fire quorum before connection established Firing quorum before connection established can cause unexpected node to reboot. Assume there are 3 nodes in the cluster, Node 1, 2, 3. Node 2 and 3 have wrong ip address of Node 1 in cluster.conf and global heartbeat is enabled in the cluster. After the heatbeats are started on these three nodes, Node 1 will reboot due to quorum fencing. It is similar case if Node 1's networking is not ready when starting the global heartbeat. The reboot is not friendly as customer is not fully ready for ocfs2 to work. Fix it by not allowing firing quorum before the connection is established. In this case, ocfs2 will wait until the wrong configuration is fixed or networking is up to continue. Also update the log to guide the user where to check when connection is not built for a long time. Signed-off-by: Junxiao Bi <junxiao.bi@xxxxxxxxxx> Reviewed-by: Srinivas Eeda <srinivas.eeda@xxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1848cb5530d3bada86c7b54f4f8b053b2081eb00 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Thu Oct 9 15:25:09 2014 -0700 fs/ocfs2/dlmglue.c: use __seq_open_private() not seq_open() Reduce boilerplate code by using seq_open_private() instead of seq_open() Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit f32883384846e1d4aa941c60dd8adb44093359c6 Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Thu Oct 9 15:25:07 2014 -0700 fs/ocfs2/cluster/netdebug.c: use seq_open_private() not seq_open() Reduce boilerplate code by using seq_open_private() instead of seq_open() Note that the code in and using sc_common_open() has been quite extensively changed. Not least because there was a latent memory leak in the code as was: if sc_common_open() failed, the previously allocated buffer was not freed. Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 8f9ac032322b855ff9f578efcb5de891dcf85e9b Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Thu Oct 9 15:25:05 2014 -0700 fs/ocfs2/dlm/dlmdebug.c: use seq_open_private() not seq_open() Reduce boilerplate code by using seq_open_private() instead of seq_open() Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 6ae075485e2d91921bdd64e49896b1bae87d1ba2 Author: Xue jiufei <xuejiufei@xxxxxxxxxx> Date: Thu Oct 9 15:25:03 2014 -0700 ocfs2: remove unused code in dlm_new_lockres() Remove the branch that free res->lockname.name because the condition is never satisfied when jump to label error. Signed-off-by: joyce.xue <xuejiufei@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 9a7e6b5a0ad1a554ca982c555a34ce8086d5b994 Author: alex chen <alex.chen@xxxxxxxxxx> Date: Thu Oct 9 15:25:00 2014 -0700 ocfs2/dlm: call dlm_lockres_put without resource spinlock dlm_lockres_put() should be called without &res->spinlock, otherwise a deadlock case may happen. spin_lock(&res->spinlock) ... dlm_lockres_put ->dlm_lockres_release ->dlm_print_one_lock_resource ->spin_lock(&res->spinlock) Signed-off-by: Alex Chen <alex.chen@xxxxxxxxxx> Reviewed-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 4a4e07c1bdbbc24d905e4c266b92cada9371db5d Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Oct 9 15:24:58 2014 -0700 ocfs2: call o2quo_exit() if malloc failed in o2net_init() In o2net_init, if malloc failed, it directly returns -ENOMEM. Then o2quo_exit won't be called in init_o2nm. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reviewed-by: joyce.xue <xuejiufei@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7fa05c6e46d76378d4403669ba6ea38364f910ac Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Oct 9 15:24:56 2014 -0700 ocfs2: fix shift left operations overflow ocfs2_inode_info->ip_clusters and ocfs2_dinode->id1.bitmap1.i_total are defined as type u32, so the shift left operations may overflow if volume size is large, for example, 2TB and cluster size is 1MB. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reviewed-by: Alex Chen <alex.chen@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 190a7721ac865744a59fdf2f291c2a211cab6217 Author: Joseph Qi <joseph.qi@xxxxxxxxxx> Date: Thu Oct 9 15:24:54 2014 -0700 ocfs2/dlm: refactor error handling in dlm_alloc_ctxt Refactoring error handling in dlm_alloc_ctxt to simplify code. Signed-off-by: Joseph Qi <joseph.qi@xxxxxxxxxx> Reviewed-by: Alex Chen <alex.chen@xxxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 98acbf63d63c83e847c5cbe454b36a53cfbbc7a5 Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:52 2014 -0700 fs/ocfs2/stack_user.c: fix typo in ocfs2_control_release() It is supposed to zero pv_minor. Reported-by: Himangi Saraogi <himangi774@xxxxxxxxx> Cc: Mark Fasheh <mfasheh@xxxxxxxx> Cc: Joel Becker <jlbec@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit e2cabe1d426fb10cd8e04c26a49e70f1c864d25c Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:50 2014 -0700 score: use Kbuild logic to include <asm-generic/sections.h> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 7143e494414f25c6209f94155d20b796e0f36626 Author: Andrea Gelmini <andrea.gelmini@xxxxxxxxx> Date: Thu Oct 9 15:24:48 2014 -0700 ntfs: remove bogus space fs/ntfs/debug.c:124: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Andrea Gelmini <andrea.gelmini@xxxxxxxxx> Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 5272d036b280d43a06ab790030609225480d2009 Author: Anton Altaparmakov <anton@xxxxxxxxxx> Date: Thu Oct 9 15:24:46 2014 -0700 ntfs: use find_get_page_flags() to mark page accessed as it is no longer marked later on Mel Gorman's commit 2457aec63745 ("mm: non-atomically mark page accessed during page cache allocation where possible") removed mark_page_accessed() calls from NTFS without updating the matching find_lock_page() to find_get_page_flags(GFP_LOCK | FGP_ACCESSED) thus causing the page to never be marked accessed. This patch fixes that. Signed-off-by: Anton Altaparmakov <anton@xxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2f82df0f3e6e89867695956aa061b464fe2c8958 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:44 2014 -0700 m32r: remove deprecated IRQF_DISABLED This patch removes the use of the IRQF_DISABLED flag from arch/m32r/kernel/time.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: Hirokazu Takata <takata@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 3a28663696569624e36161e2100fd61e38bd9824 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:42 2014 -0700 m32r: use Kbuild logic to include <asm-generic/sections.h> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Hirokazu Takata <takata@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0b37e097a648aa71d4db1ad108001e95b69a2da4 Author: Yann Droneaud <ydroneaud@xxxxxxxxxx> Date: Thu Oct 9 15:24:40 2014 -0700 fanotify: enable close-on-exec on events' fd when requested in fanotify_init() According to commit 80af258867648 ("fanotify: groups can specify their f_flags for new fd"), file descriptors created as part of file access notification events inherit flags from the event_f_flags argument passed to syscall fanotify_init(2)[1]. Unfortunately O_CLOEXEC is currently silently ignored. Indeed, event_f_flags are only given to dentry_open(), which only seems to care about O_ACCMODE and O_PATH in do_dentry_open(), O_DIRECT in open_check_o_direct() and O_LARGEFILE in generic_file_open(). It's a pity, since, according to some lookup on various search engines and http://codesearch.debian.net/, there's already some userspace code which use O_CLOEXEC: - in systemd's readahead[2]: fanotify_fd = fanotify_init(FAN_CLOEXEC|FAN_NONBLOCK, O_RDONLY|O_LARGEFILE|O_CLOEXEC|O_NOATIME); - in clsync[3]: #define FANOTIFY_EVFLAGS (O_LARGEFILE|O_RDONLY|O_CLOEXEC) int fanotify_d = fanotify_init(FANOTIFY_FLAGS, FANOTIFY_EVFLAGS); - in examples [4] from "Filesystem monitoring in the Linux kernel" article[5] by Aleksander Morgado: if ((fanotify_fd = fanotify_init (FAN_CLOEXEC, O_RDONLY | O_CLOEXEC | O_LARGEFILE)) < 0) Additionally, since commit 48149e9d3a7e ("fanotify: check file flags passed in fanotify_init"). having O_CLOEXEC as part of fanotify_init() second argument is expressly allowed. So it seems expected to set close-on-exec flag on the file descriptors if userspace is allowed to request it with O_CLOEXEC. But Andrew Morton raised[6] the concern that enabling now close-on-exec might break existing applications which ask for O_CLOEXEC but expect the file descriptor to be inherited across exec(). In the other hand, as reported by Mihai Dontu[7] close-on-exec on the file descriptor returned as part of file access notify can break applications due to deadlock. So close-on-exec is needed for most applications. More, applications asking for close-on-exec are likely expecting it to be enabled, relying on O_CLOEXEC being effective. If not, it might weaken their security, as noted by Jan Kara[8]. So this patch replaces call to macro get_unused_fd() by a call to function get_unused_fd_flags() with event_f_flags value as argument. This way O_CLOEXEC flag in the second argument of fanotify_init(2) syscall is interpreted and close-on-exec get enabled when requested. [1] http://man7.org/linux/man-pages/man2/fanotify_init.2.html [2] http://cgit.freedesktop.org/systemd/systemd/tree/src/readahead/readahead-collect.c?id=v208#n294 [3] https://github.com/xaionaro/clsync/blob/v0.2.1/sync.c#L1631 https://github.com/xaionaro/clsync/blob/v0.2.1/configuration.h#L38 [4] http://www.lanedo.com/~aleksander/fanotify/fanotify-example.c [5] http://www.lanedo.com/2013/filesystem-monitoring-linux-kernel/ [6] http://lkml.kernel.org/r/20141001153621.65e9258e65a6167bf2e4cb50@xxxxxxxxxxxxxxxxxxxx [7] http://lkml.kernel.org/r/20141002095046.3715eb69@mdontu-l [8] http://lkml.kernel.org/r/20141002104410.GB19748@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/cover.1411562410.git.ydroneaud@xxxxxxxxxx Signed-off-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Reviewed by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Tested-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Mihai Don\u021bu <mihai.dontu@xxxxxxxxx> Cc: Pádraig Brady <P@xxxxxxxxxxxxxx> Cc: Heinrich Schuchardt <xypron.glpk@xxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Cc: Michael Kerrisk-manpages <mtk.manpages@xxxxxxxxx> Cc: Lino Sanfilippo <LinoSanfilippo@xxxxxx> Cc: Richard Guy Briggs <rgb@xxxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Michael Kerrisk <mtk.manpages@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 105d1b425303120c7681abc0761b6fc6c3f8a8e8 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Thu Oct 9 15:24:37 2014 -0700 fsnotify: don't put user context if it was never assigned On some failure paths we may attempt to free user context even if it wasn't assigned yet. This will cause a NULL ptr deref and a kernel BUG. The path I was looking at is in inotify_new_group(): oevent = kmalloc(sizeof(struct inotify_event_info), GFP_KERNEL); if (unlikely(!oevent)) { fsnotify_destroy_group(group); return ERR_PTR(-ENOMEM); } fsnotify_destroy_group() would get called here, but group->inotify_data.user is only getting assigned later: group->inotify_data.user = get_current_user(); Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: John McCutchan <john@xxxxxxxxxxxxxxxxx> Cc: Robert Love <rlove@xxxxxxxxx> Cc: Eric Paris <eparis@xxxxxxxxxxxxxx> Reviewed-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cafbaae8afdb1e6cf9f4715aea2c897cf407ddfd Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:35 2014 -0700 fs/notify/group.c: make fsnotify_final_destroy_group() static No callers outside this file. Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 20882185dab2978952a705905284d2a9790b2bae Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:33 2014 -0700 cris: use Kbuild logic to include <asm-generic/sections.h> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 70323545e557eb853457288492be0bb2196c2733 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Oct 9 15:24:31 2014 -0700 mn10300: use Kbuild logic to include <asm-generic/sections.h> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit b8358d70ce1066dd4cc658cfdaf7862d459e2d78 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Thu Oct 9 12:18:10 2014 +0200 net_sched: restore qdisc quota fairness limits after bulk dequeue Restore the quota fairness between qdisc's, that we broke with commit 5772e9a346 ("qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE"). Before that commit, the quota in __qdisc_run() were in packets as dequeue_skb() would only dequeue a single packet, that assumption broke with bulk dequeue. We choose not to account for the number of packets inside the TSO/GSO packets (accessable via "skb_gso_segs"). As the previous fairness also had this "defect". Thus, GSO/TSO packets counts as a single packet. Further more, we choose to slack on accuracy, by allowing a bulk dequeue try_bulk_dequeue_skb() to exceed the "packets" limit, only limited by the BQL bytelimit. This is done because BQL prefers to get its full budget for appropriate feedback from TX completion. In future, we might consider reworking this further and, if it allows, switch to a time-based model, as suggested by Eric. Right now, we only restore old semantics. Joint work with Eric, Hannes, Daniel and Jesper. Hannes wrote the first patch in cooperation with Daniel and Jesper. Eric rewrote the patch. Fixes: 5772e9a346 ("qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE") Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a974038a89901f21c15189db2659e545576ed5d Merge: de3f0d0 b540327 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 9 19:06:15 2014 -0400 Merge branch 'r8152' Hayes Wang says: ==================== r8152: use mutex for hw settings v2: Make sure the autoresume wouldn't occur inside the mutex, otherwise the dead lock would happen. For the purpose, adjust some code about autosuspend/autoresume. v1: Use mutex to avoid that the serial hw settings would be interrupted by other settings. Although there is no problem now, it makes the driver more safe. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b54032736dbba2ae18995b930d0176bd8b0386c8 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Oct 9 18:00:26 2014 +0800 r8152: add mutex for hw settings Use the mutex to avoid the settings are interrupted by other ones. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d4a4d7286eb6fc783149de44aa90de4bc72a9fe Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Oct 9 18:00:25 2014 +0800 r8152: adjust usb_autopm_xxx Add usb_autopm_xxx for rtl8152_get_settings() ,and remove usb_autopm_xxx from read_mii_word() and write_mii_word(). Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 405f8a0ec71c869a374066cce22f88670d27a739 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Oct 9 18:00:24 2014 +0800 r8152: autoresume before setting feature Resume the device before setting the feature. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de3f0d0effecc2ccfbd679705519ed5b35f9cb33 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Oct 9 12:58:08 2014 +0900 net: Missing @ before descriptions cause make xmldocs warning This patch fix following warning. Warning(.//net/core/skbuff.c:4142): No description found for parameter 'header_len' Warning(.//net/core/skbuff.c:4142): No description found for parameter 'data_len' Warning(.//net/core/skbuff.c:4142): No description found for parameter 'max_page_order' Warning(.//net/core/skbuff.c:4142): No description found for parameter 'errcode' Warning(.//net/core/skbuff.c:4142): No description found for parameter 'gfp_mask' Acutually the descriptions exist, but missing "@" in front. This problem start to happen when following commit was merged into Linus's tree during 3.18-rc1 merge period. commit 2e4e44107176d552f8bb1bb76053e850e3809841 net: add alloc_skb_with_frags() helper Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e229b36e676d491a6305174dd025abba39be8d41 Merge: ea97cae 8203b50 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 9 18:53:59 2014 -0400 Merge branch 'cxgb4' Hariprasad Shenai says: ==================== cxgb4/cxgb4vf: Misc fixes and 40G support for cxgb4vf This patch series adds 40G support for cxgb4vf driver. Update the LSO length for cxgb4vf, fix macro. Wait for device to get ready before reading PL_WHOAMI register. The patches series is created against 'net-next' tree. And includes patches on cxgb4 and cxgb4vf driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8203b509c5b7aab7a8170626ce02372c61da2cdd Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 9 05:48:47 2014 +0530 cxgb4: Wait for device to get ready before reading any register Call t4_wait_dev_ready() before attempting to read the PL_WHOAMI register (to determine which function we have been attached to). This prevents us from failing on that read if it comes right after a RESET. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 897d55df3ca794ad4522472d46aa2dbbface8c37 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 9 05:48:46 2014 +0530 cxgb4vf: Add 40G support for cxgb4vf driver Add 40G support for cxgb4vf driver. ethtool speed values are just numbers of megabits and there is no SPEED_40000 in ethtool speed values. To be consistent, use integer constants directly for all speeds. Use is_x_10g_port()("is 10Gb/s or higher") in cfg_queues() instead of is_10g_port() ("is exactly 10Gb/s"). Else we will end up using a single "Queue Set" on 40Gb/s adapters. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7207c0d1540b679993d1f0bb9c1ff8e068958c75 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Thu Oct 9 05:48:45 2014 +0530 cxgb4/cxgb4vf: Updated the LSO transfer length in CPL_TX_PKT_LSO for T5 Update the lso length for T5 adapter and fix PIDX_T5 macro Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dd4cae8bf16611053ee7b00e20aa4fa945b92b99 Author: Christian Gmeiner <christian.gmeiner@xxxxxxxxx> Date: Wed Oct 8 09:22:54 2014 -0700 Input: Add Microchip AR1021 i2c touchscreen This patch adds support for the ar1021 i2c based touchscreen. The driver is quite simple and only supports the Touch Reporting Protocol. This is the final version for an RFC patch send a while ago. http://www.spinics.net/lists/linux-input/msg29419.html Signed-off-by: Christian Gmeiner <christian.gmeiner@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3f1fe73b92c4e5cd614f628621048c0c120e2620 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Wed Oct 8 11:38:21 2014 -0700 Input: cros_ec_keyb - add of match table To enable the cros_ec_keyb driver to be auto-loaded when build as module add an of match table (and export it) to match the modalias information passed on to userspace as the Cros EC MFD driver registers the MFD subdevices with an of_compatibility string. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 0224ec9e9f111b1c39ec00a10de4858061b4afea Author: Richard Leitner <richard.leitner@xxxxxxxxxxx> Date: Wed Oct 8 15:21:32 2014 -0700 Input: serio - avoid negative serio device numbers Fix the format string for serio device name generation to avoid negative device numbers when the id exceeds the maximum signed integer value. Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit bf1d50fa74df0339c925aa7e2ff9de60a42c30be Author: Richard Leitner <richard.leitner@xxxxxxxxxxx> Date: Wed Oct 8 14:24:15 2014 -0700 Input: avoid negative input device numbers Fix the format string for input device name generation to avoid negative device numbers when the id exceeds the maximum signed integer value. Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5dab4b73c736c2cb8e35148f9ee2365ee48bad79 Author: Tony Luck <tony.luck@xxxxxxxxx> Date: Thu Oct 9 13:26:58 2014 -0700 [IA64] Enable bpf syscall for ia64 See commit 99c55f7d47c0dc6fc64729f37bf435abf43f4c60 bpf: introduce BPF syscall and maps Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx> commit b528392669415dc1e53a047215e5ad6c2de879fc Merge: 80213c0 9f1a053 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 16:07:43 2014 -0400 Merge tag 'pm+acpi-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm Pull ACPI and power management updates from Rafael Wysocki: "Features-wise, to me the most important this time is a rework of wakeup interrupts handling in the core that makes them work consistently across all of the available sleep states, including suspend-to-idle. Many thanks to Thomas Gleixner for his help with this work. Second is an update of the generic PM domains code that has been in need of some care for quite a while. Unused code is being removed, DT support is being added and domains are now going to be attached to devices in bus type code in analogy with the ACPI PM domain. The majority of work here was done by Ulf Hansson who also has been the most active developer this time. Apart from this we have a traditional ACPICA update, this time to upstream version 20140828 and a few ACPI wakeup interrupts handling patches on top of the general rework mentioned above. There also are several cpufreq commits including renaming the cpufreq-cpu0 driver to cpufreq-dt, as this is what implements generic DT-based cpufreq support, and a new DT-based idle states infrastructure for cpuidle. In addition to that, the ACPI LPSS driver is updated, ACPI support for Apple machines is improved, a few bugs are fixed and a few cleanups are made all over. Finally, the Adaptive Voltage Scaling (AVS) subsystem now has a tree maintained by Kevin Hilman that will be merged through the PM tree. Numbers-wise, the generic PM domains update takes the lead this time with 32 non-merge commits, second is cpufreq (15 commits) and the 3rd place goes to the wakeup interrupts handling rework (13 commits). Specifics: - Rework the handling of wakeup IRQs by the IRQ core such that all of them will be switched over to "wakeup" mode in suspend_device_irqs() and in that mode the first interrupt will abort system suspend in progress or wake up the system if already in suspend-to-idle (or equivalent) without executing any interrupt handlers. Among other things that eliminates the wakeup-related motivation to use the IRQF_NO_SUSPEND interrupt flag with interrupts which don't really need it and should not use it (Thomas Gleixner and Rafael Wysocki) - Switch over ACPI to handling wakeup interrupts with the help of the new mechanism introduced by the above IRQ core rework (Rafael Wysocki) - Rework the core generic PM domains code to eliminate code that's not used, add DT support and add a generic mechanism by which devices can be added to PM domains automatically during enumeration (Ulf Hansson, Geert Uytterhoeven and Tomasz Figa). - Add debugfs-based mechanics for debugging generic PM domains (Maciej Matraszek). - ACPICA update to upstream version 20140828. Included are updates related to the SRAT and GTDT tables and the _PSx methods are in the METHOD_NAME list now (Bob Moore and Hanjun Guo). - Add _OSI("Darwin") support to the ACPI core (unfortunately, that can't really be done in a straightforward way) to prevent Thunderbolt from being turned off on Apple systems after boot (or after resume from system suspend) and rework the ACPI Smart Battery Subsystem (SBS) driver to work correctly with Apple platforms (Matthew Garrett and Andreas Noever). - ACPI LPSS (Low-Power Subsystem) driver update cleaning up the code, adding support for 133MHz I2C source clock on Intel Baytrail to it and making it avoid using UART RTS override with Auto Flow Control (Heikki Krogerus). - ACPI backlight updates removing the video_set_use_native_backlight quirk which is not necessary any more, making the code check the list of output devices returned by the _DOD method to avoid creating acpi_video interfaces that won't work and adding a quirk for Lenovo Ideapad Z570 (Hans de Goede, Aaron Lu and Stepan Bujnak) - New Win8 ACPI OSI quirks for some Dell laptops (Edward Lin) - Assorted ACPI code cleanups (Fabian Frederick, Rasmus Villemoes, Sudip Mukherjee, Yijing Wang, and Zhang Rui) - cpufreq core updates and cleanups (Viresh Kumar, Preeti U Murthy, Rasmus Villemoes) - cpufreq driver updates: cpufreq-cpu0/cpufreq-dt (driver name change among other things), ppc-corenet, powernv (Viresh Kumar, Preeti U Murthy, Shilpasri G Bhat, Lucas Stach) - cpuidle support for DT-based idle states infrastructure, new ARM64 cpuidle driver, cpuidle core cleanups (Lorenzo Pieralisi, Rasmus Villemoes) - ARM big.LITTLE cpuidle driver updates: support for DT-based initialization and Exynos5800 compatible string (Lorenzo Pieralisi, Kevin Hilman) - Rework of the test_suspend kernel command line argument and a new trace event for console resume (Srinivas Pandruvada, Todd E Brandt) - Second attempt to optimize swsusp_free() (hibernation core) to make it avoid going through all PFNs which may be way too slow on some systems (Joerg Roedel) - devfreq updates (Paul Bolle, Punit Agrawal, Ã?rjan Eide). - rockchip-io Adaptive Voltage Scaling (AVS) driver and AVS entry update in MAINTAINERS (Heiko Stübner, Kevin Hilman) - PM core fix related to clock management (Geert Uytterhoeven) - PM core's sysfs code cleanup (Johannes Berg)" * tag 'pm+acpi-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (105 commits) ACPI / fan: printk replacement PM / clk: Fix crash in clocks management code if !CONFIG_PM_RUNTIME PM / Domains: Rename cpu_data to cpuidle_data cpufreq: cpufreq-dt: fix potential double put of cpu OF node cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' PM / hibernate: Iterate over set bits instead of PFNs in swsusp_free() cpufreq: ppc-corenet: remove duplicate update of cpu_data ACPI / sleep: Rework the handling of ACPI GPE wakeup from suspend-to-idle PM / sleep: Rename platform suspend/resume functions in suspend.c PM / sleep: Export dpm_suspend_late/noirq() and dpm_resume_early/noirq() ACPICA: Introduce acpi_enable_all_wakeup_gpes() ACPICA: Clear all non-wakeup GPEs in acpi_hw_enable_wakeup_gpe_block() ACPI / video: check _DOD list when creating backlight devices PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h cpufreq: Replace strnicmp with strncasecmp cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec cpufreq: powernv: Set the pstate of the last hotplugged out cpu in policy->cpus to minimum cpufreq: Allow stop CPU callback to be used by all cpufreq drivers PM / devfreq: exynos: Enable building exynos PPMU as module PM / devfreq: Export helper functions for drivers ... commit 764f612c6c3c231b9c12cfae7c328ccc9c453258 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Oct 9 23:17:35 2014 +0800 blk-merge: don't compute bi_phys_segments from bi_vcnt for cloned bio It isn't correct to figure out req->bi_phys_segments from bio->bi_vcnt if the bio is cloned. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Tested-by: Jeff Mahoney <jeffm@xxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 80213c03c4151d900cf293ef0fc51f8d88495e14 Merge: ea58459 f92d9ee Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 15:03:49 2014 -0400 Merge tag 'pci-v3.18-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci Pull PCI updates from Bjorn Helgaas: "The interesting things here are: - Turn on Config Request Retry Status Software Visibility. This caused hangs last time, but we included a fix this time. - Rework PCI device configuration to use _HPP/_HPX more aggressively - Allow PCI devices to be put into D3cold during system suspend - Add arm64 PCI support - Add APM X-Gene host bridge driver - Add TI Keystone host bridge driver - Add Xilinx AXI host bridge driver More detailed summary: Enumeration - Check Vendor ID only for Config Request Retry Status (Rajat Jain) - Enable Config Request Retry Status when supported (Rajat Jain) - Add generic domain handling (Catalin Marinas) - Generate uppercase hex for modalias interface class (Ricardo Ribalda Delgado) Resource management - Add missing MEM_64 mask in pci_assign_unassigned_bridge_resources() (Yinghai Lu) - Increase IBM ipr SAS Crocodile BARs to at least system page size (Douglas Lehr) PCI device hotplug - Prevent NULL dereference during pciehp probe (Andreas Noever) - Move _HPP & _HPX handling into core (Bjorn Helgaas) - Apply _HPP to PCIe devices as well as PCI (Bjorn Helgaas) - Apply _HPP/_HPX to display devices (Bjorn Helgaas) - Preserve SERR & PARITY settings when applying _HPP/_HPX (Bjorn Helgaas) - Preserve MPS and MRRS settings when applying _HPP/_HPX (Bjorn Helgaas) - Apply _HPP/_HPX to all devices, not just hot-added ones (Bjorn Helgaas) - Fix wait time in pciehp timeout message (Yinghai Lu) - Add more pciehp Slot Control debug output (Yinghai Lu) - Stop disabling pciehp notifications during init (Yinghai Lu) MSI - Remove arch_msi_check_device() (Alexander Gordeev) - Rename pci_msi_check_device() to pci_msi_supported() (Alexander Gordeev) - Move D0 check into pci_msi_check_device() (Alexander Gordeev) - Remove unused kobject from struct msi_desc (Yijing Wang) - Remove "pos" from the struct msi_desc msi_attrib (Yijing Wang) - Add "msi_bus" sysfs MSI/MSI-X control for endpoints (Yijing Wang) - Use __get_cached_msi_msg() instead of get_cached_msi_msg() (Yijing Wang) - Use __read_msi_msg() instead of read_msi_msg() (Yijing Wang) - Use __write_msi_msg() instead of write_msi_msg() (Yijing Wang) Power management - Drop unused runtime PM support code for PCIe ports (Rafael J. Wysocki) - Allow PCI devices to be put into D3cold during system suspend (Rafael J. Wysocki) AER - Add additional AER error strings (Gong Chen) - Make <linux/aer.h> standalone includable (Thierry Reding) Virtualization - Add ACS quirk for Solarflare SFC9120 & SFC9140 (Alex Williamson) - Add ACS quirk for Intel 10G NICs (Alex Williamson) - Add ACS quirk for AMD A88X southbridge (Marti Raudsepp) - Remove unused pci_find_upstream_pcie_bridge(), pci_get_dma_source() (Alex Williamson) - Add device flag helpers (Ethan Zhao) - Assume all Mellanox devices have broken INTx masking (Gavin Shan) Generic host bridge driver - Fix ioport_map() for !CONFIG_GENERIC_IOMAP (Liviu Dudau) - Add pci_register_io_range() and pci_pio_to_address() (Liviu Dudau) - Define PCI_IOBASE as the base of virtual PCI IO space (Liviu Dudau) - Fix the conversion of IO ranges into IO resources (Liviu Dudau) - Add pci_get_new_domain_nr() and of_get_pci_domain_nr() (Liviu Dudau) - Add support for parsing PCI host bridge resources from DT (Liviu Dudau) - Add pci_remap_iospace() to map bus I/O resources (Liviu Dudau) - Add arm64 architectural support for PCI (Liviu Dudau) APM X-Gene - Add APM X-Gene PCIe driver (Tanmay Inamdar) - Add arm64 DT APM X-Gene PCIe device tree nodes (Tanmay Inamdar) Freescale i.MX6 - Probe in module_init(), not fs_initcall() (Lucas Stach) - Delay enabling reference clock for SS until it stabilizes (Tim Harvey) Marvell MVEBU - Fix uninitialized variable in mvebu_get_tgt_attr() (Thomas Petazzoni) NVIDIA Tegra - Make sure the PCIe PLL is really reset (Eric Yuen) - Add error path tegra_msi_teardown_irq() cleanup (Jisheng Zhang) - Fix extended configuration space mapping (Peter Daifuku) - Implement resource hierarchy (Thierry Reding) - Clear CLKREQ# enable on port disable (Thierry Reding) - Add Tegra124 support (Thierry Reding) ST Microelectronics SPEAr13xx - Pass config resource through reg property (Pratyush Anand) Synopsys DesignWare - Use NULL instead of false (Fabio Estevam) - Parse bus-range property from devicetree (Lucas Stach) - Use pci_create_root_bus() instead of pci_scan_root_bus() (Lucas Stach) - Remove pci_assign_unassigned_resources() (Lucas Stach) - Check private_data validity in single place (Lucas Stach) - Setup and clear exactly one MSI at a time (Lucas Stach) - Remove open-coded bitmap operations (Lucas Stach) - Fix configuration base address when using 'reg' (Minghuan Lian) - Fix IO resource end address calculation (Minghuan Lian) - Rename get_msi_data() to get_msi_addr() (Minghuan Lian) - Add get_msi_data() to pcie_host_ops (Minghuan Lian) - Add support for v3.65 hardware (Murali Karicheri) - Fold struct pcie_port_info into struct pcie_port (Pratyush Anand) TI Keystone - Add TI Keystone PCIe driver (Murali Karicheri) - Limit MRSS for all downstream devices (Murali Karicheri) - Assume controller is already in RC mode (Murali Karicheri) - Set device ID based on SoC to support multiple ports (Murali Karicheri) Xilinx AXI - Add Xilinx AXI PCIe driver (Srikanth Thokala) - Fix xilinx_pcie_assign_msi() return value test (Dan Carpenter) Miscellaneous - Clean up whitespace (Quentin Lambert) - Remove assignments from "if" conditions (Quentin Lambert) - Move PCI_VENDOR_ID_VMWARE to pci_ids.h (Francesco Ruggeri) - x86: Mark DMI tables as initialization data (Mathias Krause) - x86: Move __init annotation to the correct place (Mathias Krause) - x86: Mark constants of pci_mmcfg_nvidia_mcp55() as __initconst (Mathias Krause) - x86: Constify pci_mmcfg_probes[] array (Mathias Krause) - x86: Mark PCI BIOS initialization code as such (Mathias Krause) - Parenthesize PCI_DEVID and PCI_VPD_LRDT_ID parameters (Megan Kamiya) - Remove unnecessary variable in pci_add_dynid() (Tobias Klauser)" * tag 'pci-v3.18-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (109 commits) arm64: dts: Add APM X-Gene PCIe device tree nodes PCI: Add ACS quirk for AMD A88X southbridge devices PCI: xgene: Add APM X-Gene PCIe driver PCI: designware: Remove open-coded bitmap operations PCI/MSI: Remove unnecessary temporary variable PCI/MSI: Use __write_msi_msg() instead of write_msi_msg() MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg() PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg() PCI/MSI: Add "msi_bus" sysfs MSI/MSI-X control for endpoints PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib PCI/MSI: Remove unused kobject from struct msi_desc PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported() PCI/MSI: Move D0 check into pci_msi_check_device() PCI/MSI: Remove arch_msi_check_device() irqchip: armada-370-xp: Remove arch_msi_check_device() PCI/MSI/PPC: Remove arch_msi_check_device() arm64: Add architectural support for PCI PCI: Add pci_remap_iospace() to map bus I/O resources of/pci: Add support for parsing PCI host bridge resources from DT of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr() ... Conflicts: arch/arm64/boot/dts/apm-storm.dtsi commit ea584595fc85e65796335033dfca25ed655cd0ed Merge: 782d59c a092e19 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 14:58:15 2014 -0400 Merge tag 'gpio-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO changes from Linus Walleij: "This is the bulk of GPIO changes for the v3.18 development cycle: - Increase the default ARCH_NR_GPIO from 256 to 512. This was done to avoid having a custom <asm/gpio.h> header for the x86 architecture - GPIO is custom and complicated enough as it is already! We want to move to a radix to store the descriptors going forward, and finally get rid of this fixed array size altogether. - Endgame patching of the gpio_remove() semantics initiated by Abdoulaye Berthe. It is not accepted by the system that the removal of a GPIO chip fails during eg reboot or shutdown, and therefore the return value has now painfully been refactored away. For special cases like GPIO expanders on a hot-pluggable bus like USB, we may later add some gpiochip_try_remove() call, but for the cases we have now, return values are moot. - Some incremental refactoring of the gpiolib core and ACPI GPIO library for more descriptor usage. - Refactor the chained IRQ handler set-up method to handle also threaded, nested interrupts and set up the parent IRQ correctly. Switch STMPE and TC3589x drivers to use this registration method. - Add a .irq_not_threaded flag to the struct gpio_chip, so that also GPIO expanders that block but are still not using threaded IRQ handlers. - New drivers for the ARM64 X-Gene SoC GPIO controller. - The syscon GPIO driver has been improved to handle the "DSP GPIO" found on the TI Keystone 2 SoC:s. - ADNP driver switched to use gpiolib irqchip helpers. - Refactor the DWAPB driver to support being instantiated from and MFD cell (platform device). - Incremental feature improvement in the Zynq, MCP23S08, DWAPB, OMAP, Xilinx and Crystalcove drivers. - Various minor fixes" * tag 'gpio-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (52 commits) gpio: pch: Build context save/restore only for PM pinctrl: abx500: get rid of unused variable gpio: ks8695: fix 'else should follow close brace '}'' gpio: stmpe: add verbose debug code gpio: stmpe: fix up interrupt enable logic gpio: staticize xway_stp_init() gpio: handle also nested irqchips in the chained handler set-up gpio: set parent irq on chained handlers gpiolib: irqchip: use irq_find_mapping while removing irqchip gpio: crystalcove: support virtual GPIO pinctrl: bcm281xx: make Kconfig dependency more strict gpio: kona: enable only on BCM_MOBILE or for compile testing gpio, bcm-kona, LLVMLinux: Remove use of __initconst gpio: Fix ngpio in gpio-xilinx driver gpio: dwapb: fix pointer to integer cast gpio: xgene: Remove unneeded #ifdef CONFIG_OF guard gpio: xgene: Remove unneeded forward declation for struct xgene_gpio gpio: xgene: Fix missing spin_lock_init() gpio: ks8695: fix switch case indentation gpiolib: add irq_not_threaded flag to gpio_chip ... commit b16ccfe02313acd829debfccac45531f45d797cd Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Oct 9 11:28:34 2014 -0700 ARM: dts: Disable smc91x on n900 until bootloader dependency is removed I added smc91x support but turns out we currently do not set the smc91x timings in gpmc.c but rely on the bootloader timings. This produces the following error unless the smc91x GPMC timings are initialized by the bootloader: Unhandled fault: external abort on non-linefetch (0x1008) at 0xd080630e ... [<c04067fc>] (smc_drv_probe) from [<c038e9c4>] (platform_drv_probe+0x2c/0x5c) [<c038e9c4>] (platform_drv_probe) from [<c038d450>] (driver_probe_device+0x104/0x22c) [<c038d450>] (driver_probe_device) from [<c038d60c>] (__driver_attach+0x94/0x98) [<c038d60c>] (__driver_attach) from [<c038bc3c>] (bus_for_each_dev+0x54/0x88) [<c038bc3c>] (bus_for_each_dev) from [<c038cc3c>] (bus_add_driver+0xd8/0x1d8) [<c038cc3c>] (bus_add_driver) from [<c038dd74>] (driver_register+0x78/0xf4) [<c038dd74>] (driver_register) from [<c0008924>] (do_one_initcall+0x80/0x1c0) [<c0008924>] (do_one_initcall) from [<c0852d9c>] (kernel_init_freeable+0x1b8/0x28c) [<c0852d9c>] (kernel_init_freeable) from [<c05ce86c>] (kernel_init+0x8/0xec) [<c05ce86c>] (kernel_init) from [<c000e728>] (ret_from_fork+0x14/0x2c) Let's fix the issue by disabling the smc91x module for now until we have sorted out the issues in gpmc.c. Reported-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5c86c5339c566d943606f551332e0efa8cf87d03 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Oct 9 11:28:34 2014 -0700 ARM: omap2plus_defconfig: Enable ARM erratum 430973 for omap3 Somehow we don't have this set in omap2plus_defconfig. Without this apps can segfault randomly on omap3. I can reproduce this easily on am37xx-evm by doing apt-get update over NFSroot. Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a66d05d504a24894a8fdf11e4569752f313e5764 Merge: bfe01a5 5563caa Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 9 14:00:54 2014 -0300 Merge branch 'patchwork' into v4l_for_linus * patchwork: (544 commits) [media] ir-hix5hd2: fix build on c6x arch [media] pt3: fix DTV FE I2C driver load error paths Revert "[media] media: em28xx - remove reset_resume interface" [media] exynos4-is: fix some warnings when compiling on arm64 [media] usb drivers: use %zu instead of %zd [media] pci drivers: use %zu instead of %zd [media] dvb-frontends: use %zu instead of %zd [media] s5p-mfc: Fix several printk warnings [media] s5p_mfc_opr: Fix warnings [media] ti-vpe: Fix typecast [media] s3c-camif: fix dma_addr_t printks [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64 [media] em28xx: Fix identation [media] drxd: remove a dead code [media] saa7146: remove return after BUG() [media] cx88: remove return after BUG() [media] cx88: fix cards table CodingStyle [media] radio-sf16fmr2: declare some structs as static [media] radio-sf16fmi: declare pnp_attached as static ... Conflicts: Documentation/DocBook/media/v4l/compat.xml commit 5563caaf8b8cd22e35997d5d74cb3609df86b223 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Thu Oct 9 10:41:28 2014 -0300 [media] ir-hix5hd2: fix build on c6x arch While not all archs have readl_relaxed, we need to add a hack at the driver to allow it to COMPILE_TEST on all archs: drivers/media/rc/ir-hix5hd2.c: In function â??hix5hd2_ir_configâ??: drivers/media/rc/ir-hix5hd2.c:100:2: error: implicit declaration of function â??readl_relaxedâ?? [-Werror=implicit-function-declaration] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4ea062ed431d00153af0ac370cb6fef0620e5fa1 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 13:13:41 2014 -0300 perf evsel: Add hists helper Not all tools need a hists instance per perf_evsel, so lets pave the way to remove evsel->hists while leaving a way to access the hists from a specially allocated evsel, one that comes with space at the end where lives the evsel. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-qlktkhe31w4mgtbd84035sr2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b8839b8c55f3fdd60dc36abcda7e0266aff7985c Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Wed Oct 8 18:26:13 2014 -0400 block: fix alignment_offset math that assumes io_min is a power-of-2 The math in both blk_stack_limits() and queue_limit_alignment_offset() assume that a block device's io_min (aka minimum_io_size) is always a power-of-2. Fix the math such that it works for non-power-of-2 io_min. This issue (of alignment_offset != 0) became apparent when testing dm-thinp with a thinp blocksize that matches a RAID6 stripesize of 1280K. Commit fdfb4c8c1 ("dm thin: set minimum_io_size to pool's data block size") unlocked the potential for alignment_offset != 0 due to the dm-thin-pool's io_min possibly being a non-power-of-2. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit addff1feb02b03cb766b9a611c6b2cebf29bc285 Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Oct 8 13:52:16 2014 -0400 tracing: Clean up scheduling in trace_wakeup_test_thread() Peter's new debugging tool triggers when tasks exit with !TASK_RUNNING. The code in trace_wakeup_test_thread() also has a single schedule() call that should be encompassed by a loop. This cleans up the code a little to make it a bit more robust and also makes the return exit properly with TASK_RUNNING. Link: http://lkml.kernel.org/p/20141008135216.76142204@xxxxxxxxxxxxxxxxxx Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 49c23f2d541ebf7ae5e9fff03301f4e7145cc979 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 11:45:42 2014 -0300 perf script: Stop updating hists stats, not used Not used here, remove to reduce perf_evsel/hists structs interaction. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-zzmoo39yalrl9hzu9nc2xqml@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b3f25b6e04495ace0851cf0b88514f41c7807af6 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Thu Oct 9 11:40:15 2014 -0300 perf sched: Stop updating hists stats, not used Not used here, remove to reduce perf_evsel/hists structs interaction. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-cb7wkk4a3jpoovzim914ih3c@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6174c2eb8ecef271159bdcde460ce8af54d8f72f Author: Jan Kara <jack@xxxxxxx> Date: Thu Oct 9 12:52:16 2014 +0200 udf: Fix loading of special inodes Some UDF media have special inodes (like VAT or metadata partition inodes) whose link_count is 0. Thus commit 4071b9136223 (udf: Properly detect stale inodes) broke loading these inodes because udf_iget() started returning -ESTALE for them. Since we still need to properly detect stale inodes queried by NFS, create two variants of udf_iget() - one which is used for looking up special inodes (which ignores link_count == 0) and one which is used for other cases which return ESTALE when link_count == 0. Fixes: 4071b913622316970d0e1919f7d82b4403fec5f2 CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> commit 782d59c5dfc5ac39ac8cfb4c6dd40597938dde9c Merge: 47137c6 2828c9c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 06:42:04 2014 -0400 Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull irq updates from Thomas Gleixner: "The irq departement delivers: - a cleanup series to get rid of mindlessly copied code. - another bunch of new pointlessly different interrupt chip drivers. Adding homebrewn irq chips (and timers) to SoCs must provide a value add which is beyond the imagination of mere mortals. - the usual SoC irq controller updates, IOW my second cat herding project" * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits) irqchip: gic-v3: Implement CPU PM notifier irqchip: gic-v3: Refactor gic_enable_redist to support both enabling and disabling irqchip: renesas-intc-irqpin: Add minimal runtime PM support irqchip: renesas-intc-irqpin: Add helper variable dev = &pdev->dev irqchip: atmel-aic5: Add sama5d4 support irqchip: atmel-aic5: The sama5d3 has 48 IRQs Documentation: bcm7120-l2: Add Broadcom BCM7120-style L2 binding irqchip: bcm7120-l2: Add Broadcom BCM7120-style Level 2 interrupt controller irqchip: renesas-irqc: Add binding docs for new R-Car Gen2 SoCs irqchip: renesas-irqc: Add DT binding documentation irqchip: renesas-intc-irqpin: Document SoC-specific bindings openrisc: Get rid of handle_IRQ arm64: Get rid of handle_IRQ ARM: omap2: irq: Convert to handle_domain_irq ARM: imx: tzic: Convert to handle_domain_irq ARM: imx: avic: Convert to handle_domain_irq irqchip: or1k-pic: Convert to handle_domain_irq irqchip: atmel-aic5: Convert to handle_domain_irq irqchip: atmel-aic: Convert to handle_domain_irq irqchip: gic-v3: Convert to handle_domain_irq ... commit 47137c6ba1bcde30215795f9594cea770946456b Merge: afa3536 867f667 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 06:35:05 2014 -0400 Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer updates from Thomas Gleixner: "Nothing really exciting this time: - a few fixlets in the NOHZ code - a new ARM SoC timer abomination. One should expect that we have enough of them already, but they insist on inventing new ones. - the usual bunch of ARM SoC timer updates. That feels like herding cats" * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: clocksource: arm_arch_timer: Consolidate arch_timer_evtstrm_enable clocksource: arm_arch_timer: Enable counter access for 32-bit ARM clocksource: arm_arch_timer: Change clocksource name if CP15 unavailable clocksource: sirf: Disable counter before re-setting it clocksource: cadence_ttc: Add support for 32bit mode clocksource: tcb_clksrc: Sanitize IRQ request clocksource: arm_arch_timer: Discard unavailable timers correctly clocksource: vf_pit_timer: Support shutdown mode ARM: meson6: clocksource: Add Meson6 timer support ARM: meson: documentation: Add timer documentation clocksource: sh_tmu: Document r8a7779 binding clocksource: sh_mtu2: Document r7s72100 binding clocksource: sh_cmt: Document SoC specific bindings timerfd: Remove an always true check nohz: Avoid tick's double reprogramming in highres mode nohz: Fix spurious periodic tick behaviour in low-res dynticks mode commit afa3536be88b435a057cb727b48fd3d760a497d2 Merge: 35a9ad8 9b01f5b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Thu Oct 9 06:30:57 2014 -0400 Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fixes from Ingo Molnar: "Main changes: - Fix the deadlock reported by Dave Jones et al - Clean up and fix nohz_full interaction with arch abilities - nohz init code consolidation/cleanup" * 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: nohz: nohz full depends on irq work self IPI support nohz: Consolidate nohz full init code arm64: Tell irq work about self IPI support arm: Tell irq work about self IPI support x86: Tell irq work about self IPI support irq_work: Force raised irq work to run on irq work interrupt irq_work: Introduce arch_irq_work_has_interrupt() nohz: Move nohz full init call to tick init commit 583f958b8a23343c904ec0790c25c96f5f82d409 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Thu Oct 2 18:10:06 2014 +0200 ARM: dts: fix MMC2 regulators for Exynos5420 Arndale Octa board Regulators for MMC2 (SD card) are PVDD_TFLASH_2V8 (LDO19) for vmmc and PVDD_APIO_MMCOFF_2V8 (LDO13) for vqmmc. Currently the device tree entry for MMC2 uses PVDD_PRE_1V8 (LDO10) for vmmc and vqmmc is not specified. Fix it. Without this patch: - "mmc: dw_mmc: use mmc_regulator_get_supply to handle regulators" patch causes a SD card detection to fail - "mmc: dw_mmc: Support voltage changes" patch causes a boot hang This patch fixes both above problems. Suggested-by: Doug Anderson <dianders@xxxxxxxxxx> Cc: Yuvaraj Kumar C D <yuvaraj.cd@xxxxxxxxxxx> Cc: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Fixes: 0173055842cd ("mmc: dw_mmc: Support voltage changes") Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 33ac9dba859b07d40e9ec826057d20c857fdede5 Author: Maarten ter Huurne <maarten@xxxxxxxxxxxxxx> Date: Tue Sep 9 13:46:28 2014 +0200 fonts: Add 6x10 font This font is suitable for framebuffer consoles on devices with a 320x240 screen, to get a reasonable number of characters (53x24) that are still at a readable size. The font is derived from the existing 6x11 font, but gets 3 extra lines without sacrificing readability. Also I redesigned a some glyhps so they are more distinct and better fill the available space. Signed-off-by: Maarten ter Huurne <maarten@xxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 4ea48a01bb1a99f4185b77cd90cf962730336cc4 Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Mon Sep 29 12:41:56 2014 -0600 x86/build: Add arch/x86/purgatory/ make generated files to gitignore The following generated files are missing from gitignore and show up in git status after x86_64 build. Add them to gitignore. arch/x86/purgatory/kexec-purgatory.c arch/x86/purgatory/purgatory.ro Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1412016116-7213-1-git-send-email-shuahkh@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0cccdda8d1512af4d3f6913044e8c8e58e15ef37 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Oct 8 10:03:08 2014 +0200 s390/ftrace: simplify enabling/disabling of ftrace_graph_caller We can simply patch the mask field within the branch relative on condition instruction at the beginning of the ftrace_graph_caller code block. This makes the logic even simpler and we get rid of the displacement calculation. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 53255c9a4dade6ff2162121430d13aaadb38a69c Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Oct 7 15:45:10 2014 +0200 s390/ftrace: remove 31 bit ftrace support 31 bit and 64 bit diverge more and more and it is rather painful to keep both parts running. To make things simpler just remove the 31 bit support which nobody uses anyway. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a62bc0739253939d6fce40d51d92412252a9bb55 Author: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 17:57:43 2014 +0200 s390/kdump: add support for vector extension With this patch for kdump the s390 vector registers are stored into the prepared save areas in the old kernel and into the REGSET_VX_LOW and REGSET_VX_HIGH ELF notes for /proc/vmcore in the new kernel. The NT_S390_VXRS_LOW note contains the lower halves of the first 16 vector registers 0-15. The higher halves are stored in the floating point register ELF note. The NT_S390_VXRS_HIGH contains the full vector registers 16-31. The kernel provides a save area for storing vector register in case of machine checks. A pointer to this save are is stored in the CPU lowcore at offset 0x11b0. This save area is also used to save the registers for kdump. In case of a dumped crashed kdump those areas are used to extract the registers of the production system. The vector registers for remote CPUs are stored using the "store additional status at address" SIGP. For the dump CPU the vector registers are stored with the VSTM instruction. With this patch also zfcpdump stores the vector registers. Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3585cb0280654acbc559a360a839c8d58bb0cb87 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Oct 6 17:54:42 2014 +0200 s390/disassembler: add vector instructions Add the instruction introduced with the vector extension to the in-kernel disassembler. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8070361799ae1e3f4ef347bd10f0a508ac10acfb Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Oct 6 17:53:53 2014 +0200 s390: add support for vector extension The vector extension introduces 32 128-bit vector registers and a set of instruction to operate on the vector registers. The kernel can control the use of vector registers for the problem state program with a bit in control register 0. Once enabled for a process the kernel needs to retain the content of the vector registers on context switch. The signal frame is extended to include the vector registers. Two new register sets NT_S390_VXRS_LOW and NT_S390_VXRS_HIGH are added to the regset interface for the debugger and core dumps. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 42f4dd613fe808676126472bbe1283e452201148 Author: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Date: Thu Oct 2 14:48:46 2014 +0200 s390/zcrypt: Toleration of new crypto hardware The zcrypt device driver will accept the new crypto adapter in toleration mode. A new sysfs attribute 'raw_hwtype' will expose the raw hardware type. Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Signed-off-by: Harald Freudenberger <freude@xxxxxxxxxxxxxxxxxx> commit b5f87f15e20092c060f465b283b07a76af7f2e5f Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Oct 1 10:57:57 2014 +0200 s390/idle: consolidate idle functions and definitions Move the C functions and definitions related to the idle state handling to arch/s390/include/asm/idle.h and arch/s390/kernel/idle.c. The function s390_get_idle_time is renamed to arch_cpu_idle_time and vtime_stop_cpu to enabled_wait. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit fe0f49768d807a8fe6336b097feb8c4441951710 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Sep 30 17:37:52 2014 +0200 s390/nohz: use a per-cpu flag for arch_needs_cpu Move the nohz_delay bit from the s390_idle data structure to the per-cpu flags. Clear the nohz delay flag in __cpu_disable and remove the cpu hotplug notifier that used to do this. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit a9b1649917f0d2058022eda06082f9d299a06354 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Oct 1 10:44:40 2014 +0200 s390/vtime: do not reset idle data on CPU hotplug The sysfs attributes /sys/devices/system/cpu/cpu0/idle_count and /sys/devices/system/cpu/cpu0/idle_time_us are reset to zero every time a CPU is set online. The idle and iowait fields in /proc/stat corresponding to idle_time_us are not reset. To make things consistent do not reset the data for the sys attributes. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5db8440c36a3308649b99f65b68195394dd7fed4 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Wed Oct 1 14:39:47 2014 +0200 s390/dasd: add support for control unit initiated reconfiguration Add support for Control Unit Initiated Reconfiguration (CUIR) to Linux, a storage server interface to reconcile concurrent hardware changes between storage and host. Reviewed-by: Stefan Weinhuber <wein@xxxxxxxxxx> Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 362ce84f43aac61589a8b60e5bb3fcfae9801b13 Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Wed Oct 1 13:04:54 2014 +0200 s390/dasd: fix infinite loop during format Error recovery requests may not be cleaned up correctly so that other needed erp requests can not be build because of insufficient memory. This would lead to an infinite loop trying to build erp requests. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 78eda2bb6542057b214af3bc1cae09c63e65d1d1 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:35 2014 +0300 IB/mlx5, iser, isert: Add Signature API additions Expose more signature setting parameters. We modify the signature API to allow usage of some new execution parameters relevant to data integrity feature. This patch modifies ib_sig_domain structure by: - Deprecate DIF type in signature API (operation will be determined by the parameters alone, no DIF type awareness) - Add APPTAG check bitmask (for input domain) - Add REFTAG remap (increment) flag for each domain - Add APPTAG/REFTAG escape options for each domain The mlx5 driver is modified to follow the new parameters in HW signature setup. At the moment the callers (iser/isert) hard-code new parameters (by DIF type). In the future, callers will retrieve them from the scsi command structure. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 3d73cf1a2a05cca7b43f7a0c16d1077065b38385 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:34 2014 +0300 Target/iser: Centralize ib_sig_domain setting Later there will be more parameters to set, so we want to do it in a centralized place. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 92792c0a197db85e9d3039b59d2211ed0157e824 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:33 2014 +0300 IB/iser: Centralize ib_sig_domain settings Later there will be more parameters to set, so we want to do it in a centralized place. This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 142537f4e5f7ffd3e34b0c46646ac9cb5d986d06 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:32 2014 +0300 IB/mlx5: Use extended internal signature layout Rather than using the basic BSF layout which utilizes a pre-configured signature settings (sufficient for current DIF implementation), we use the extended BSF layout to expose advanced signature settings. These settings will also be exposed to the user later. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit f043032ef1acd294e0360bec96c91b90dec7cc17 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:31 2014 +0300 IB/iser: Set IP_CSUM as default guard type In the future this will be a per-command parameter so we can lose it, but in the mean time IP_CSUM is a lot lighter for SW layers to compute, set it as default. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 6f5f8a016edf6c469d01c9bc563f6d74d12672d9 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:30 2014 +0300 IB/iser: Remove redundant assignment We clear the struct before - no need to do 0 assignment. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit fd22f78cf7b95102d8e5b988afe27165e47471fc Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Aug 13 19:54:29 2014 +0300 IB/mlx5: Use enumerations for PI copy mask In case input and output space parameters match, we can use a copy mask from input and output space. Use enums for those. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit f39f86971c0cded8c2563e7dfd82c650ca9c0044 Author: Yishai Hadas <yishaih@xxxxxxxxxxxx> Date: Sun Sep 14 16:47:55 2014 +0300 IB/mlx5: Modify to work with arbitrary page size When dealing with umem objects, the driver assumed host page sizes defined by PAGE_SHIFT. Modify the code to use arbitrary page shift provided by umem->page_shift to support different page sizes. Signed-off-by: Yishai Hadas <yishaih@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit f83b42636a91e63f330ea90996646b4a885aca74 Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 16:47:54 2014 +0300 IB/mlx5: Remove duplicate code from mlx5_set_path Some of the fields were set twice. Re-organize to avoid that. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 1c3ce90d0acb0c661910dd84f416b3053e9710af Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 16:47:53 2014 +0300 IB/mlx5: Fix possible array overflow The check to verify that userspace does not provide an invalid index to the micro UAR was placed too late. Fix this by moving the check before using the index. Reported by: Shachar Raindel <raindel@xxxxxxxxxxxx> Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 377b513485fd885dea1083a9a5430df65b35e048 Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 16:47:52 2014 +0300 IB/core: Avoid leakage from kernel to user space Clear the reserved field of struct ib_uverbs_async_event_desc which is copied to user space. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Reviewed-by: Yann Droneaud <ydroneaud@xxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 900a6d79176ea9172e19f86aa324e9198b40339c Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 16:47:51 2014 +0300 IB/mlx5: Improve debug prints in mlx5_ib_reg_user_mr Print access flags and error code from ib_umem_get. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit eefd56e5895540ea78979b7845f76c9bb94c8fed Author: Eli Cohen <eli@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 16:47:50 2014 +0300 IB/mlx5: Clear umr resources after ib_unregister_device Some ULPs may make use of resources created in create_umr_res so make sure to call destroy_umrc_res after returning from ib_unregister_device, which makes sure all ULPs have closed their resources. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit b261aeafe115256c9b4589dd7bd4ca877eb0fa6c Author: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:17 2014 +0300 IB/iser: Bump version, add maintainer Update the driver version and add Sagi Grimberg as maintainer Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit dc05ac36f729b9f53465ad6e6985129470fa7fcd Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:16 2014 +0300 IB/iser: Fix/add kernel-doc style description in iscsi_iser.c This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit cd88621a9e91ee791dee321cb81a45cb357855ee Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:15 2014 +0300 IB/iser: Add/Fix kernel doc style descriptions in iscsi_iser.h - iser_hdr - iser_data_buf - iser_mem_reg - iser_regd_buf - iser_tx_desc - iser_rx_desc - iser_device - iser_pi_context - iser_conn - ib_conn - iser_comp - iscsi_iser_task - iser_global While we're at it, change nit alignments in this file This patch does not change any functionality. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit e9d49b82f1ff3f966af70d20b04bb0fae4432c24 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:14 2014 +0300 IB/iser: Nit - add space after __func__ in iser logging Change logging: "iser:XXXX" to "iser: XXXX" Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit bba0a3c9d7bd7f49ae38e7dfd87f6ee78c91317a Author: Ariel Nahum <arieln@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:13 2014 +0300 IB/iser: Change iscsi_conn_stop log level to info Match to the debug level of all functions in connect/disconnect flows. Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 6df5a128f0fde6315a44e80b30412997147f5efd Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:12 2014 +0300 IB/iser: Suppress scsi command send completions Singal completion of every 32 scsi commands and suppress all the rest. We don't do anything upon getting the completion so no need to "just consume" it. Cleanup of scsi command is done in cleanup_task callback. Still keep dataout and control send completions as we may need to cleanup there. This helps reducing the amount of interrupts/completions in the IO path. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 6e6fe2fb1d61b4baef1cf350049c6877583681ee Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:11 2014 +0300 IB/iser: Optimize completion polling Poll in batch of 16. Since we don't want it on the stack, keep under iser completion context (iser_comp). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit ff3dd52d267165347d6f92a90016e692d074a00c Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:10 2014 +0300 IB/iser: Use beacon to indicate all completions were consumed Avoid post_send counting (atomic) in the IO path just to keep track of how many completions we need to consume. Use a beacon post to indicate that all prior posts completed. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 6aabfa76f5e5281e5db128a34420d8f33b8574f7 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:09 2014 +0300 IB/iser: Use single CQ for RX and TX This will solve a possible condition where we might miss TX completion (flush error) during session teardown. Since we are using a single CQ, we don't need to actively drain the TX CQ, instead just wait for flush_completion (when counters reach zero) and remove iser_poll_for_flush_errors(). This patch might introduce a minor performance regression on its own, but the next patches will enhance performance using a single CQ for RX and TX. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 183cfa434ec90897b1423ce4f916e8a237139133 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:08 2014 +0300 IB/iser: Use internal polling budget to avoid possible live-lock We need a way to guarentee that we don't stay in soft-IRQ context for too long. We might starve other pending CQ tasklets or worse lock against application trying to issue IO on the running CPU. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit bf17554035ab2aaf770321208ce48e69aab71cc8 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:07 2014 +0300 IB/iser: Centralize iser completion contexts Introduce iser_comp which centralizes all iser completion related items and is referenced by iser_device and each ib_conn. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit aea8f4df6da46add468c44875348e1045bffeeb7 Author: Ariel Nahum <arieln@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:06 2014 +0300 IB/iser: Use iser_warn instead of BUG_ON in iser_conn_release In case iscsid was violently killed (SIGKILL) during its error recovery stage, we may never get a connection teardown sequence for some of the old connections. No harm done, but when we try to unload the module we will need to cleanup all these connections. So we actually may end-up here - so it's not a BUG_ON(), just give a relaxed warning that this happened and continue with normal unload. BUG_ON() will cause segfault on module_exit and we don't want that. Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 8c204e69ced1a8c0d74f8b6d7a1393d055c5c4fa Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:05 2014 +0300 IB/iser: Signal iSCSI layer that transport is broken in error completions Previously we notified iscsi layer about the connection layer when we consumed all of our flush errors. This was racy as there was no guarentee that iscsi_conn wasn't terminated by then (which ends up in an invalid memory access). In case we got a non FLUSH error completion, we are guarenteed that iscsi_conn is still alive. We should notify iSCSI layer with iscsi_conn_failure to initiate error handling. While we are at it, add a nice kernel-doc style documentation. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 3a940daf6fa105d28b69cf3b7a3739a3777f4185 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:04 2014 +0300 IB/iser: Protect tasks cleanup in case IB device was already released Bailout in case a task cleanup (iscsi_iser_cleanup_task) is called after the IB device was removed (DEVICE_REMOVAL CM event). We also call iscsi_conn_stop with a lock taken to prevent DEVICE_REMOVAL and tasks cleanup from racing. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit ec370e2b63526931a65f4668626dbb43896788c6 Author: Ariel Nahum <arieln@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:03 2014 +0300 IB/iser: Unbind at conn_stop stage Previously we didn't need to unbind the iser_conn and iscsi_conn since we always relied on iscsi daemon to teardown the connection and never let it finish before we cleanup all that is needed in iser. This is not the case anymore (for DEVICE_REMOVAL event). So avoid any possible chance we cause iscsi_conn dereference after iscsi_conn was freed. We also call iser_conn_terminate (safe to call multiple times) just for the corner case of iscsi daemon stopping an old connection before invoking endpoint removal (might happen if it was violently killed). Notice we are unbinding under a lock - which is required. Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit c107a6c0cf1ab883ea87ca50136f4fc5204a4b82 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:02 2014 +0300 IB/iser: Don't bound release_work completions timeouts We no longer rely on iscsi connection teardown sequence, so no need to give a grace period and continue cleanup if it expired. Have iser_conn_release wait for full completion before freeing iser_conn. ib_completion: Guaranteed to come when: - Got DISCONNECTED/ADDR_CHANGE event or - iSCSI called ep_disconnect/conn_stop Guaranteed to finish when: - Got TIMEWAIT_EXIT/DEVICE_REMOVAL event - All Flush errors are consumed - IB related resources are destroyed stop_completion: Guaranteed to come when: - iSCSI calls conn_stop Guaranteed to finish when: - All inflight tasks were cleaned up Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit c47a3c9ed5be167f49a6fd3f696dac03536282eb Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:01 2014 +0300 IB/iser: Fix DEVICE REMOVAL handling in the absence of iscsi daemon iscsi daemon is in user-space, thus we can't rely on it to be invoked at connection teardown (if not running or does not receive CPU time). This patch addresses the issue by re-structuring iSER connection teardown logic and CM events handling. The CM events will dictate the RDMA resources destruction (ib_conn) and iser_conn is kept around as long as iscsi_conn is left around allowing iscsi/iser callbacks to continue after RDMA transport was destroyed. This patch introduces a separation in logic when handling CM events: - DISCONNECTED_HANDLER, ADDR_CHANGED This events indicate the start of teardown process. Actions: 1. Terminate the connection: rdma_disconnect (send DREQ/DREP) 2. Notify iSCSI of connection failure 3. Change state to TERMINATING 4. Poll for all flush errors to be consumed - TIMEWAIT_EXIT, DEVICE_REMOVAL These events indicate the final stage of termination process and we can free RDMA related resources. Actions: 1. Call disconnected handler (we are not guaranteed that DISCONNECTED event was invoked in the past) 2. Cleanup RDMA related resources 3. For DEVICE_REMOVAL return non-zero rc from cma_handler to implicitly destroy the cm_id (Can't rely on user-space, make sure we have forward progress) We replace flush_completion (indicate all flushes were consumed) with ib_completion (rdma resources were cleaned up). The iser_conn_release_work will wait for teardown completions: - conn_stop was completed (tasks were cleaned-up) - stop_completion - RDMA resources were destroyed - ib_completion And then will continue to free iser connection representation (iser_conn). Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 96f15198c1457df29b51ed151b1e5b2a223d1346 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:02:00 2014 +0300 IB/iser: Extend iser_free_ib_conn_res() Put all connection IB related resources release in this routine. One exception is the cm_id which cannot be destroyed as the routine is protected by the state mutex. Also move its position to avoid forward declaration. While at it fix qp NULL assignment. Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 6bb0279f95dc74082184d91b65743b295a2a11a6 Author: Roi Dayan <roid@xxxxxxxxxxxx> Date: Wed Oct 1 14:01:59 2014 +0300 IB/iser: Remove unused variables and dead code Signed-off-by: Roi Dayan <roid@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit a4ee3539f6e2955815b93350bbce01e8915d27f8 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:01:58 2014 +0300 IB/iser: Re-introduce ib_conn Structure that describes the RDMA relates connection objects. Static member of iser_conn. This patch does not change any functionality Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit 5716af6e5234402b2017f41beb36c086201fae42 Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Wed Oct 1 14:01:57 2014 +0300 IB/iser: Rename ib_conn -> iser_conn Two reasons why we choose to do this: 1. No point today calling struct iser_conn by another name ib_conn 2. In the next patches we will restructure iser control plane representation - struct iser_conn: connection logical representation - struct ib_conn: connection RDMA layout representation This patch does not change any functionality. Signed-off-by: Ariel Nahum <arieln@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Roland Dreier <roland@xxxxxxxxxxxxxxx> commit fd19bda491207f66d39aeba93487197a087bc00b Merge: 6273143 3e28e37 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Oct 9 08:39:25 2014 +0200 Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull additional commits for locktorture, from Paul E. McKenney. Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 24dff96a37a2ca319e75a74d3929b2de22447ca6 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 23:44:00 2014 -0400 fix misuses of f_count() in ppp and netlink we used to check for "nobody else could start doing anything with that opened file" by checking that refcount was 2 or less - one for descriptor table and one we'd acquired in fget() on the way to wherever we are. That was race-prone (somebody else might have had a reference to descriptor table and do fget() just as we'd been checking) and it had become flat-out incorrect back when we switched to fget_light() on those codepaths - unlike fget(), it doesn't grab an extra reference unless the descriptor table is shared. The same change allowed a race-free check, though - we are safe exactly when refcount is less than 2. It was a long time ago; pre-2.6.12 for ioctl() (the codepath leading to ppp one) and 2.6.17 for sendmsg() (netlink one). OTOH, netlink hadn't grown that check until 3.9 and ppp used to live in drivers/net, not drivers/net/ppp until 3.1. The bug existed well before that, though, and the same fix used to apply in old location of file. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 821cc3070ff54e39ab6624c843f1905d737d9ac0 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 23:57:58 2014 -0400 ncpfs: use list_for_each_entry() for d_subdirs walk Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5e6123f3477e4260fb14392f0a88f1a842fa4d42 Author: Seunghun Lee <waydi1@xxxxxxxxx> Date: Sun Sep 14 22:15:10 2014 +0900 vfs: move getname() from callers to do_mount() It would make more sense to pass char __user * instead of char * in callers of do_mount() and do getname() inside do_mount(). Suggested-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4d93bc3e81736ce55c79d9cae743bab4f89b4f9c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 18:21:05 2014 -0400 gfs2_atomic_open(): skip lookups on hashed dentry hashed dentry can be passed to ->atomic_open() only if a) it has just passed revalidation and b) it's negative Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 18c85d09dcd14342cd4891d016f4086095160573 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 19:29:32 2014 -0400 [infiniband] remove pointless assignments Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit fb6c3225b49d389ff4a9a454fc8c3f3642632744 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 13:37:56 2014 -0400 gadgetfs: saner API for gadgetfs_create_file() return dentry, not inode. dev->inode is never used by anything, don't bother with storing it. Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1bb27cacf4992b77556ed4487f99c76c4af3b43d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 13:32:19 2014 -0400 f_fs: saner API for ffs_sb_create_file() make it return dentry instead of inode Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9bb8730ed3d2658c6dd49b7f811231e2a0a2e3ed Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 23:53:04 2014 -0400 jfs: don't hash direct inode hlist_add_fake(inode->i_hash), same as for the rest of special ones... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6b933de642d2726245df98d076cff09bf4d34dde Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 19:42:14 2014 -0400 [s390] remove pointless assignment of ->f_op in vmlogrdr ->open() The only way we can get to that function is from misc_open(), after the latter has set file->f_op to exactly the same value we are (re)assigning there. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c2e3f5d5f4620bb6568bc559f712ce80222e20cb Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:31:28 2014 -0400 ecryptfs: ->f_op is never NULL Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 765d368217715c794f767d396d8cea16502d823f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:29:40 2014 -0400 android: ->f_op is never NULL Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3cfb2face6205d30ecfc0145d68cd9e0c3dfe6f1 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 31 15:06:09 2014 -0400 nouveau: __iomem misannotations Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e983094d6dce524f3890edfec44b7ca6dbfa1183 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 31 14:12:09 2014 -0400 missing annotation in fs/file.c Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b8850d1fa8e2f6653e57daf6d08e58c5f5eb2c85 Author: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Date: Thu Aug 28 11:26:03 2014 -0600 fs: namespace: suppress 'may be used uninitialized' warnings The gcc version 4.9.1 compiler complains Even though it isn't possible for these variables to not get initialized before they are used. fs/namespace.c: In function â??SyS_mountâ??: fs/namespace.c:2720:8: warning: â??kernel_devâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags, ^ fs/namespace.c:2699:8: note: â??kernel_devâ?? was declared here char *kernel_dev; ^ fs/namespace.c:2720:8: warning: â??kernel_typeâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] ret = do_mount(kernel_dev, kernel_dir->name, kernel_type, flags, ^ fs/namespace.c:2697:8: note: â??kernel_typeâ?? was declared here char *kernel_type; ^ Fix the warnings by simplifying copy_mount_string() as suggested by Al Viro. Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tim Gardner <tim.gardner@xxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8ba7f6c2faada3ad553518b9febbdce7a988359b Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 12:37:29 2014 -0400 saner perf_atoll() That loop in there is both anti-idiomatic *and* completely pointless. strtoll() is there for purpose; use it and compare what's left with acceptable suffices. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 849f3127bb46ef75a66dffc1b9b0d3f5f43fa395 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 23 12:23:53 2014 -0400 switch /dev/kmsg to ->write_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit cd678fce428018dee0c9345ed63ebf9920d9902f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 23 12:20:37 2014 -0400 switch logger to ->write_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 512b2268156a4e15ebf897f9a883bdee153a54b7 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 23 11:28:14 2014 -0400 switch hci_vhci to ->write_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 13ba33e89991f6c020a36cfac0001dd54281e67c Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 18 10:04:12 2014 -0400 switch /dev/zero and /dev/full to ->read_iter() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit a1f6dbac629e36f89a1332b5ae773b831c136ee9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 20 11:05:50 2014 -0400 dma-buf: don't open-code atomic_long_read() ... not to mention that even atomic_long_read() is too low-level here - there's file_count(). Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8e3fb059ae7c246ff906c3b988d0de1d66809e84 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 14:42:04 2014 -0400 rsxx debugfs inanity check with the author of that horror... Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit d88c242623e90c99864317baae1e192bece2af57 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 12:08:37 2014 -0400 carma-fpga: switch to simple_read_from_buffer() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1a37f5ecb707aded73133e14b58102343de56bbd Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 12:06:18 2014 -0400 carma-fpga: switch to fixed_size_llseek() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2ec3a12a667847d303d4d0c0576d5ff388052b48 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 11:48:09 2014 -0400 cachefiles_write_page(): switch to __kernel_write() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 594822918de20bf3a50afbc4de65b6f2971a92db Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 11:28:35 2014 -0400 vme: don't open-code fixed_size_llseek() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 91360b02ab483fc96a70b8c3016838f5d3725f99 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 11:08:22 2014 -0400 ashmem: use vfs_llseek() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4b8e992392a2468f90ae8b5b9f3e95c5f54a61c9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 20:17:38 2014 -0400 9p: switch to %p[dD] Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 35c265e008b2c4e56765f07d47750d13f95a55c1 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 20:25:34 2014 -0400 cifs: switch to use of %p[dD] Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c2ca0fcd202863b14bd041a7fece2e789926c225 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Sun Jul 27 13:00:41 2014 -0400 fs: make cont_expand_zero interruptible This patch makes it possible to kill a process looping in cont_expand_zero. A process may spend a lot of time in this function, so it is desirable to be able to kill it. It happened to me that I wanted to copy a piece data from the disk to a file. By mistake, I used the "seek" parameter to dd instead of "skip". Due to the "seek" parameter, dd attempted to extend the file and became stuck doing so - the only possibility was to reset the machine or wait many hours until the filesystem runs out of space and cont_expand_zero fails. We need this patch to be able to terminate the process. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c35e02480014f7a86e264a2fda39a568690163da Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Fri Aug 1 09:27:22 2014 -0400 Add copy_to_iter(), copy_from_iter() and iov_iter_zero() For DAX, we want to be able to copy between iovecs and kernel addresses that don't necessarily have a struct page. This is a fairly simple rearrangement for bvec iters to kmap the pages outside and pass them in, but for user iovecs it gets more complicated because we might try various different ways to kmap the memory. Duplicating the existing logic works out best in this case. We need to be able to write zeroes to an iovec for reads from unwritten ranges in a file. This is performed by the new iov_iter_zero() function, again patterned after the existing code that handles iovec iterators. [AV: and export the buggers...] Signed-off-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 475d0db742e3755c6b267f48577ff7cbb7dfda0d Author: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Date: Sat May 17 20:56:38 2014 +0900 fs: Fix theoretical division by 0 in super_cache_scan(). total_objects could be 0 and is used as a denom. While total_objects is a "long", total_objects == 0 unlikely happens for 3.12 and later kernels because 32-bit architectures would not be able to hold (1 << 32) objects. However, total_objects == 0 may happen for kernels between 3.1 and 3.11 because total_objects in prune_super() was an "int" and (e.g.) x86_64 architecture might be able to hold (1 << 32) objects. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Cc: stable <stable@xxxxxxxxxx> # 3.1+ Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b8314f9303a985354f445763960c0db2d7948891 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Mon Aug 11 11:46:53 2014 +0900 dcache: Fix no spaces at the start of a line in dcache.c Fixed coding style in dcache.c Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 99358a1ca53e8e6ce09423500191396f0e6584d2 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 20:13:40 2014 +0100 [jffs2] kill wbuf_queued/wbuf_dwork_lock schedule_delayed_work() happening when the work is already pending is a cheap no-op. Don't bother with ->wbuf_queued logics - it's both broken (cancelling ->wbuf_dwork leaves it set, as spotted by Jeff Harris) and pointless. It's cheaper to let schedule_delayed_work() handle that case. Reported-by: Jeff Harris <jefftharris@xxxxxxxxx> Tested-by: Jeff Harris <jefftharris@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 4e07ad6406d8137cc5aa1317568408c461ee8ce8 Author: Kirill Smelkov <kirr@xxxxxxxxxx> Date: Thu Aug 14 15:25:10 2014 +0400 vfs: fix typo in s_op->alloc_inode() documentation The function which calls s_op->alloc_inode() is not inode_alloc(), but instead alloc_inode() which lives in fs/inode.c . The typo was there from the beginning from 5ea626aa (VFS: update documentation, 2005) - there was no standalone inode_alloc() for the whole kernel history. Cc: Pekka Enberg <penberg@xxxxxxxxxx> Signed-off-by: Kirill Smelkov <kirr@xxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1fa97e8b1f327059aa98089abd8c3378cdf43017 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Wed May 7 20:47:49 2014 -0400 constify file_inode() Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 19d860a140beac48a1377f179e693abe86a9dac9 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Sun May 4 20:11:36 2014 -0400 handle suicide on late failure exits in execve() in search_binary_handler() ... rather than doing that in the guts of ->load_binary(). [updated to fix the bug spotted by Shentino - for SIGSEGV we really need something stronger than send_sig_info(); again, better do that in one place] Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 2926620145095ffb0350b2312ac9d0af8537796f Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri May 30 11:39:02 2014 -0400 dcache.c: call ->d_prune() regardless of d_unhashed() the only in-tree instance checks d_unhashed() anyway, out-of-tree code can preserve the current behaviour by adding such check if they want it and we get an ability to use it in cases where we *want* to be notified of killing being inevitable before ->d_lock is dropped, whether it's unhashed or not. In particular, autofs would benefit from that. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 29355c3904e1765948c7721719a028b7eb5dfe1d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri May 30 11:25:30 2014 -0400 d_prune_alias(): just lock the parent and call __dentry_kill() The only reason for games with ->d_prune() was __d_drop(), which was needed only to force dput() into killing the sucker off. Note that lock_parent() can be called under ->i_lock and won't drop it, so dentry is safe from somebody managing to kill it under us - it won't happen while we are holding ->i_lock. __dentry_kill() is called only with ->d_lockref.count being 0 (here and when picked from shrink list) or 1 (dput() and dropping the ancestors in shrink_dentry_list()), so it will never be called twice - the first thing it's doing is making ->d_lockref.count negative and once that happens, nothing will increment it. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bbd5192412fdedbae00888316bfe350bf89d0458 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 10:24:23 2014 -0800 proc: Update proc_flush_task_mnt to use d_invalidate Now that d_invalidate always succeeds and flushes mount points use it in stead of a combination of shrink_dcache_parent and d_drop in proc_flush_task_mnt. This removes the danger of a mount point under /proc/<pid>/... becoming unreachable after the d_drop. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit c143c2333c48f1430231b31a8c17e074b9b504eb Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 10:19:10 2014 -0800 vfs: Remove d_drop calls from d_revalidate implementations Now that d_invalidate always succeeds it is not longer necessary or desirable to hard code d_drop calls into filesystem specific d_revalidate implementations. Remove the unnecessary d_drop calls and rely on d_invalidate to drop the dentries. Using d_invalidate ensures that paths to mount points will not be dropped. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 5542aa2fa7f6cddb03c4ac3135e390adffda98ca Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 09:46:25 2014 -0800 vfs: Make d_invalidate return void Now that d_invalidate can no longer fail, stop returning a useless return code. For the few callers that checked the return code update remove the handling of d_invalidate failure. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 1ffe46d11cc88479797b262f60d92e5fb461b411 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 09:39:37 2014 -0800 vfs: Merge check_submounts_and_drop and d_invalidate Now that d_invalidate is the only caller of check_submounts_and_drop, expand check_submounts_and_drop inline in d_invalidate. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9b053f3207e8887fed88162a339fdd4001abcdb2 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 09:34:30 2014 -0800 vfs: Remove unnecessary calls of check_submounts_and_drop Now that check_submounts_and_drop can not fail and is called from d_invalidate there is no longer a need to call check_submounts_and_drom from filesystem d_revalidate methods so remove it. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8ed936b5671bfb33d89bc60bdcc7cf0470ba52fe Author: Eric W. Biederman <ebiederman@xxxxxxxxxxx> Date: Tue Oct 1 18:33:48 2013 -0700 vfs: Lazily remove mounts on unlinked files and directories. With the introduction of mount namespaces and bind mounts it became possible to access files and directories that on some paths are mount points but are not mount points on other paths. It is very confusing when rm -rf somedir returns -EBUSY simply because somedir is mounted somewhere else. With the addition of user namespaces allowing unprivileged mounts this condition has gone from annoying to allowing a DOS attack on other users in the system. The possibility for mischief is removed by updating the vfs to support rename, unlink and rmdir on a dentry that is a mountpoint and by lazily unmounting mountpoints on deleted dentries. In particular this change allows rename, unlink and rmdir system calls on a dentry without a mountpoint in the current mount namespace to succeed, and it allows rename, unlink, and rmdir performed on a distributed filesystem to update the vfs cache even if when there is a mount in some namespace on the original dentry. There are two common patterns of maintaining mounts: Mounts on trusted paths with the parent directory of the mount point and all ancestory directories up to / owned by root and modifiable only by root (i.e. /media/xxx, /dev, /dev/pts, /proc, /sys, /sys/fs/cgroup/{cpu, cpuacct, ...}, /usr, /usr/local). Mounts on unprivileged directories maintained by fusermount. In the case of mounts in trusted directories owned by root and modifiable only by root the current parent directory permissions are sufficient to ensure a mount point on a trusted path is not removed or renamed by anyone other than root, even if there is a context where the there are no mount points to prevent this. In the case of mounts in directories owned by less privileged users races with users modifying the path of a mount point are already a danger. fusermount already uses a combination of chdir, /proc/<pid>/fd/NNN, and UMOUNT_NOFOLLOW to prevent these races. The removable of global rename, unlink, and rmdir protection really adds nothing new to consider only a widening of the attack window, and fusermount is already safe against unprivileged users modifying the directory simultaneously. In principle for perfect userspace programs returning -EBUSY for unlink, rmdir, and rename of dentires that have mounts in the local namespace is actually unnecessary. Unfortunately not all userspace programs are perfect so retaining -EBUSY for unlink, rmdir and rename of dentries that have mounts in the current mount namespace plays an important role of maintaining consistency with historical behavior and making imperfect userspace applications hard to exploit. v2: Remove spurious old_dentry. v3: Optimized shrink_submounts_and_drop Removed unsued afs label v4: Simplified the changes to check_submounts_and_drop Do not rename check_submounts_and_drop shrink_submounts_and_drop Document what why we need atomicity in check_submounts_and_drop Rely on the parent inode mutex to make d_revalidate and d_invalidate an atomic unit. v5: Refcount the mountpoint to detach in case of simultaneous renames. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 80b5dce8c59b0de1ed6e403b8298e02dcb4db64b Author: Eric W. Biederman <ebiederman@xxxxxxxxxxx> Date: Thu Oct 3 01:31:18 2013 -0700 vfs: Add a function to lazily unmount all mounts from any dentry. The new function detach_mounts comes in two pieces. The first piece is a static inline test of d_mounpoint that returns immediately without taking any locks if d_mounpoint is not set. In the common case when mountpoints are absent this allows the vfs to continue running with it's same cacheline foot print. The second piece of detach_mounts __detach_mounts actually does the work and it assumes that a mountpoint is present so it is slow and takes namespace_sem for write, and then locks the mount hash (aka mount_lock) after a struct mountpoint has been found. With those two locks held each entry on the list of mounts on a mountpoint is selected and lazily unmounted until all of the mount have been lazily unmounted. v7: Wrote a proper change description and removed the changelog documenting deleted wrong turns. Signed-off-by: Eric W. Biederman <ebiederman@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit e2dfa935464272395b4f35f4cc74ffcc87418b84 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Mon Feb 24 17:32:34 2014 -0800 vfs: factor out lookup_mountpoint from new_mountpoint I am shortly going to add a new user of struct mountpoint that needs to look up existing entries but does not want to create a struct mountpoint if one does not exist. Therefore to keep the code simple and easy to read split out lookup_mountpoint from new_mountpoint. Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 0a5eb7c8189922e86a840972cd0b57e41de6f031 Author: Eric W. Biederman <ebiederman@xxxxxxxxxxx> Date: Sun Sep 22 19:37:01 2013 -0700 vfs: Keep a list of mounts on a mount point To spot any possible problems call BUG if a mountpoint is put when it's list of mounts is not empty. AV: use hlist instead of list_head Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: Eric W. Biederman <ebiederman@xxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 7af1364ffa64db61e386628594836e13d2ef04b5 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Fri Oct 4 19:15:13 2013 -0700 vfs: Don't allow overwriting mounts in the current mount namespace In preparation for allowing mountpoints to be renamed and unlinked in remote filesystems and in other mount namespaces test if on a dentry there is a mount in the local mount namespace before allowing it to be renamed or unlinked. The primary motivation here are old versions of fusermount unmount which is not safe if the a path can be renamed or unlinked while it is verifying the mount is safe to unmount. More recent versions are simpler and safer by simply using UMOUNT_NOFOLLOW when unmounting a mount in a directory owned by an arbitrary user. Miklos Szeredi <miklos@xxxxxxxxxx> reports this is approach is good enough to remove concerns about new kernels mixed with old versions of fusermount. A secondary motivation for restrictions here is that it removing empty directories that have non-empty mount points on them appears to violate the rule that rmdir can not remove empty directories. As Linus Torvalds pointed out this is useful for programs (like git) that test if a directory is empty with rmdir. Therefore this patch arranges to enforce the existing mount point semantics for local mount namespace. v2: Rewrote the test to be a drop in replacement for d_mountpoint v3: Use bool instead of int as the return type of is_local_mountpoint Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit bafc9b754f752ea798c39f9b099a228fd56604e0 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Thu Feb 13 07:54:28 2014 -0800 vfs: More precise tests in d_invalidate The current comments in d_invalidate about what and why it is doing what it is doing are wildly off-base. Which is not surprising as the comments date back to last minute bug fix of the 2.2 kernel. The big fat lie of a comment said: If it's a directory, we can't drop it for fear of somebody re-populating it with children (even though dropping it would make it unreachable from that root, we still might repopulate it if it was a working directory or similar). [AV] What we really need to avoid is multiple dentry aliases of the same directory inode; on all filesystems that have ->d_revalidate() we either declare all positive dentries always valid (and thus never fed to d_invalidate()) or use d_materialise_unique() and/or d_splice_alias(), which take care of alias prevention. The current rules are: - To prevent mount point leaks dentries that are mount points or that have childrent that are mount points may not be be unhashed. - All dentries may be unhashed. - Directories may be rehashed with d_materialise_unique check_submounts_and_drop implements this already for well maintained remote filesystems so implement the current rules in d_invalidate by just calling check_submounts_and_drop. The one difference between d_invalidate and check_submounts_and_drop is that d_invalidate must respect it when a d_revalidate method has earlier called d_drop so preserve the d_unhashed check in d_invalidate. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 3ccb354d641d910309b916b9c856e2a82ced7237 Author: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Date: Wed Feb 12 16:08:06 2014 -0800 vfs: Document the effect of d_revalidate on d_find_alias d_drop or check_submounts_and_drop called from d_revalidate can result in renamed directories with child dentries being unhashed. These renamed and drop directory dentries can be rehashed after d_materialise_unique uses d_find_alias to find them. Reviewed-by: Miklos Szeredi <miklos@xxxxxxxxxx> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 9ea459e110df32e60a762f311f7939eaa879601d Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 8 13:08:20 2014 -0400 delayed mntput On final mntput() we want fs shutdown to happen before return to userland; however, the only case where we want it happen right there (i.e. where task_work_add won't do) is MNT_INTERNAL victim. Those have to be fully synchronous - failure halfway through module init might count on having vfsmount killed right there. Fortunately, final mntput on MNT_INTERNAL vfsmounts happens on shallow stack. So we handle those synchronously and do an analog of delayed fput logics for everything else. As the result, we are guaranteed that fs shutdown will always happen on shallow stack. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit b3ca406f2755c20cea1cc1169672c56dd03c266c Author: Ian Kent <raven@xxxxxxxxxx> Date: Wed Sep 10 09:56:22 2014 +0800 autofs - remove obsolete d_invalidate() from expire Biederman's umount-on-rmdir series changes d_invalidate() to sumarily remove mounts under the passed in dentry regardless of whether they are busy or not. So calling this in fs/autofs4/expire.c:autofs4_tree_busy() is definitely the wrong thing to do becuase it will silently umount entries instead of just cleaning stale dentrys. But this call shouldn't be needed and testing shows that automounting continues to function without it. As Al Viro correctly surmises the original intent of the call was to perform what shrink_dcache_parent() does. If at some time in the future I see stale dentries accumulating following failed mounts I'll revisit the issue and possibly add a shrink_dcache_parent() call if needed. Signed-off-by: Ian Kent <raven@xxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Eric W. Biederman <ebiederm@xxxxxxxxxxxx> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 8d85b4845a668d9a72649005c5aa932657311bd4 Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 14:54:27 2014 -0400 Allow sharing external names after __d_move() * external dentry names get a small structure prepended to them (struct external_name). * it contains an atomic refcount, matching the number of struct dentry instances that have ->d_name.name pointing to that external name. The first thing free_dentry() does is decrementing refcount of external name, so the instances that are between the call of free_dentry() and RCU-delayed actual freeing do not contribute. * __d_move(x, y, false) makes the name of x equal to the name of y, external or not. If y has an external name, extra reference is grabbed and put into x->d_name.name. If x used to have an external name, the reference to the old name is dropped and, should it reach zero, freeing is scheduled via kfree_rcu(). * free_dentry() in dentry with external name decrements the refcount of that name and, should it reach zero, does RCU-delayed call that will free both the dentry and external name. Otherwise it does what it used to do, except that __d_free() doesn't even look at ->d_name.name; it simply frees the dentry. All non-RCU accesses to dentry external name are safe wrt freeing since they all should happen before free_dentry() is called. RCU accesses might run into a dentry seen by free_dentry() or into an old name that got already dropped by __d_move(); however, in both cases dentry must have been alive and refer to that name at some point after we'd done rcu_read_lock(), which means that any freeing must be still pending. Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit ea97caeee2ba60d258292ffca0b2c4778eb6bc21 Merge: 59f35b8 d55398b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 9 01:40:56 2014 -0400 Merge branch 'gianfar' Claudiu Manoil says: ==================== gianfar: ARM port driver updates (1/2) This is the first round of driver portability fixes and clean-up with the main purpose to make gianfar portable on ARM, for the ARM based SoC that integrates the eTSEC ethernet controller - "ls1021a". The patches primarily address compile time errors, when compiling gianfar on ARM. They replace PPC specific functions and macros with architecture independent ones, solve arch specific header inclusions, guard code that relates to PPC only, and even address some simple endianess issues (see MAC address setup patch). The patches addressing the bulk of remaining endianess issues, like handling DMA fields (BD and FCB), will follow with the second round. ==================== Reviewed-by: Kim Phillips <kim.phillips@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d55398ba81139bc826a8c2417a01280e99f08cf3 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:35 2014 +0300 gianfar: Replace eieio with wmb for non-PPC archs Replace PPC specific eieio() with arch independent wmb() for other architectures, i.e. ARM. The eieio() macro is not defined on ARM and generates build error. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4feee89ce4590c7a4aead49ca5a4853dc6ea5dc Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:34 2014 +0300 gianfar: Replace spin_event_timeout() with arch independent Use arch independent code to replace the powerpc dependent spin_event_timeout() from gfar_halt_nodisable(). Added GRS/GTS read accessors to clean-up the implementation of gfar_halt_nodisable(). Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83bfc3c4765c35ef0dfff8a3d6dedab88f3f50ea Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:33 2014 +0300 gianfar: Make MAC addr setup endian safe, cleanup Fix the 32-bit memory access that is not endian safe, i.e. not giving the desired byte layout for a LE CPU: tempval = *((u32 *) (tmpbuf + 4)), where 'char tmpbuf[]'. Get rid of rendundant local vars (tmpbuf[] and idx) and forced casts. Cleanup comments. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6ef0bcce386531f250a8abee3c3595214ea1629 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:32 2014 +0300 gianfar: Exclude PPC specific errata handling from ARM builds This excludes the PPC specific instructions for PPC based SoC (MPC85xx family) version identification from ARM builds. The PPC specific macro mfspr() from asm/reg.h is not defined by the ARM architecture. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd31a9528800b52c7a56a9cfa0af30b44dcfb0c9 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:31 2014 +0300 gianfar: Include missing headers for ARM builds Include linux/of_address.h for of_iomap() and linux/of_irq.h for irq_of_parse_and_map(). This wasn't an issue for PPC, because these were implicitly included from asm/prom.h (via linux/of.h) for PPC builds only. ARM builds need these includes explicitly. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4b081f543030fc0b23d2cd7d1f6e3ac69d7f47f Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:30 2014 +0300 net/fsl_pq_mdio: Replace spin_event_timeout() with arch independent spin_event_timeout() is PPC dependent, use an arch independent equivalent instead. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5bbd262e70ff2355ce4284b0ad9eaf93fb5e374 Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:29 2014 +0300 net/fsl_pq_mdio: Use ioread/iowrite32be() portable accessors in_be32()/out_be32() are not defined by ARM. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9a4cbd53b80862c1e57ed20d30468770699b776e Author: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Date: Tue Oct 7 10:44:28 2014 +0300 net/fsl_pq_mdio: Fix asm/ucc.h compile error for ARM The UCC specific code included in fsl_pq_mdio.c (with function calls from asm/ucc.h) is already guarded by these config options, so this ARM build fix only provides consistency with the rest UCC specific code. Signed-off-by: Claudiu Manoil <claudiu.manoil@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59f35b810e3bb17efef2aa5feadffb66450190d9 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 7 22:31:32 2014 +0200 netlabel: kernel-doc warning fix no secid argument in netlbl_cfg_unlbl_static_del Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Paul Moore <paul@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd1a2a90d08b0052fa52bd36cebd0592c9e537c2 Merge: c497d9f bdf20b4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Oct 9 07:30:41 2014 +0200 Merge tag 'asoc-v3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus ASoC: Fixes for v3.18 A few small fixes, mostly small although a few really nasty ones like the interaction between GPIO 0 and simple-card. commit 35a9ad8af0bb0fa3525e6d0d20e32551d226f38e Merge: d5935b0 64b1f00 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 21:40:54 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next Pull networking updates from David Miller: "Most notable changes in here: 1) By far the biggest accomplishment, thanks to a large range of contributors, is the addition of multi-send for transmit. This is the result of discussions back in Chicago, and the hard work of several individuals. Now, when the ->ndo_start_xmit() method of a driver sees skb->xmit_more as true, it can choose to defer the doorbell telling the driver to start processing the new TX queue entires. skb->xmit_more means that the generic networking is guaranteed to call the driver immediately with another SKB to send. There is logic added to the qdisc layer to dequeue multiple packets at a time, and the handling mis-predicted offloads in software is now done with no locks held. Finally, pktgen is extended to have a "burst" parameter that can be used to test a multi-send implementation. Several drivers have xmit_more support: i40e, igb, ixgbe, mlx4, virtio_net Adding support is almost trivial, so export more drivers to support this optimization soon. I want to thank, in no particular or implied order, Jesper Dangaard Brouer, Eric Dumazet, Alexander Duyck, Tom Herbert, Jamal Hadi Salim, John Fastabend, Florian Westphal, Daniel Borkmann, David Tat, Hannes Frederic Sowa, and Rusty Russell. 2) PTP and timestamping support in bnx2x, from Michal Kalderon. 3) Allow adjusting the rx_copybreak threshold for a driver via ethtool, and add rx_copybreak support to enic driver. From Govindarajulu Varadarajan. 4) Significant enhancements to the generic PHY layer and the bcm7xxx driver in particular (EEE support, auto power down, etc.) from Florian Fainelli. 5) Allow raw buffers to be used for flow dissection, allowing drivers to determine the optimal "linear pull" size for devices that DMA into pools of pages. The objective is to get exactly the necessary amount of headers into the linear SKB area pre-pulled, but no more. The new interface drivers use is eth_get_headlen(). From WANG Cong, with driver conversions (several had their own by-hand duplicated implementations) by Alexander Duyck and Eric Dumazet. 6) Support checksumming more smoothly and efficiently for encapsulations, and add "foo over UDP" facility. From Tom Herbert. 7) Add Broadcom SF2 switch driver to DSA layer, from Florian Fainelli. 8) eBPF now can load programs via a system call and has an extensive testsuite. Alexei Starovoitov and Daniel Borkmann. 9) Major overhaul of the packet scheduler to use RCU in several major areas such as the classifiers and rate estimators. From John Fastabend. 10) Add driver for Intel FM10000 Ethernet Switch, from Alexander Duyck. 11) Rearrange TCP_SKB_CB() to reduce cache line misses, from Eric Dumazet. 12) Add Datacenter TCP congestion control algorithm support, From Florian Westphal. 13) Reorganize sk_buff so that __copy_skb_header() is significantly faster. From Eric Dumazet" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1558 commits) netlabel: directly return netlbl_unlabel_genl_init() net: add netdev_txq_bql_{enqueue, complete}_prefetchw() helpers net: description of dma_cookie cause make xmldocs warning cxgb4: clean up a type issue cxgb4: potential shift wrapping bug i40e: skb->xmit_more support net: fs_enet: Add NAPI TX net: fs_enet: Remove non NAPI RX r8169:add support for RTL8168EP net_sched: copy exts->type in tcf_exts_change() wimax: convert printk to pr_foo() af_unix: remove 0 assignment on static ipv6: Do not warn for informational ICMP messages, regardless of type. Update Intel Ethernet Driver maintainers list bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING tipc: fix bug in multicast congestion handling net: better IFF_XMIT_DST_RELEASE support net/mlx4_en: remove NETDEV_TX_BUSY 3c59x: fix bad split of cpu_to_le32(pci_map_single()) net: bcmgenet: fix Tx ring priority programming ... commit d53ba6b3bba33432cc37b7101a86f8f3392c46e7 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Thu Oct 9 11:17:46 2014 +1100 cxl: Fix afu_read() not doing finish_wait() on signal or non-blocking If afu_read() returned due to a signal or the AFU file descriptor being opened non-blocking it would not call finish_wait() before returning, which could lead to a crash later when something else wakes up the wait queue. This patch restructures the wait logic to ensure that the cleanup is done correctly. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fe0e01c77dd9f7a60916aec2149d8a1182baf63c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Oct 8 18:51:10 2014 +0200 tracing: Robustify wait loop The pending nested sleep debugging triggered on the potential stale TASK_INTERRUPTIBLE in this code. While there, fix the loop such that we won't revert to a while(1) yield() 'spin' loop if we ever get a spurious wakeup. And fix the actual issue by properly terminating the 'wait' loop by setting TASK_RUNNING. Link: http://lkml.kernel.org/p/20141008165110.GA14547@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3fd83717e47687817f5d3e45696bf22456d8b422 Author: NeilBrown <neilb@xxxxxxx> Date: Sat Aug 23 20:19:26 2014 +1000 md: use set_bit/clear_bit instead of shift/mask for bi_flags changes. Using {set,clear}_bit is more consistent than shifting and masking. No functional change. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 5965b642ff1ba36d7a1a22df2b3c5e2cb0445e3a Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 4 15:51:44 2014 +1000 md/raid1: minor typos and reformatting. Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 4b5060ddae2b03c5387321fafc089d242225697a Author: NeilBrown <neilb@xxxxxxx> Date: Tue Sep 9 14:13:51 2014 +1000 md/bitmap: always wait for writes on unplug. If two threads call bitmap_unplug at the same time, then one might schedule all the writes, and the other might decide that it doesn't need to wait. But really it does. It rarely hurts to wait when it isn't absolutely necessary, and the current code doesn't really focus on 'absolutely necessary' anyway. So just wait always. This can potentially lead to data corruption if a crash happens at an awkward time and data was written before the bitmap was updated. It is very unlikely, but this should go to -stable just to be safe. Appropriate for any -stable. Signed-off-by: NeilBrown <neilb@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx (please delay until 3.18 is released) commit d5935b07da53f74726e2a65dd4281d0f2c70e5d4 Merge: f86dc4b 18ef9fe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:40:02 2014 -0400 Merge tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM64 SoC changes from Arnd Bergmann: "Starting with 3.18, we are merging SoC-specific changes for arm64 through the arm-soc tree, like we have been doing for arm32. This time, there is only one set of changes, adding support for the Cavium "Thunder" Soc family. Since the changes are relatively small, this includes Kconfig, defconfig and DT changes. If all goes well, we will never require adding actual C source code for platform support in arm64, given that the architecture is more clearly defined and we have moved out a lot of the platform specifics into device drivers for arm32 already" * tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: arm64, defconfig: Enable Cavium Thunder SoC in defconfig arm64, thunder: Add Kconfig option for Cavium Thunder SoC Family arm64, thunder: Document devicetree bindings for Cavium Thunder SoC arm64, thunder: Add initial dts for Cavium Thunder SoC commit f86dc4b04dd5292cae3708c16ca6e46dbb5c95fa Merge: 8b45bc8 a41988a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:38:52 2014 -0400 Merge tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC defconfig changes from Arnd Bergmann: "This is a collection of the various changes to defconfig files, most importantly enabling some additional platforms in the multi_v7_defconfig file" * tag 'defconfig-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (40 commits) ARM: configs: fix duplicate entry in multi_v7 ARM: multi_v7_defconfig: add missing Tegra options ARM: bcm2835: enable USB_DWC2_HOST in defconfig ARM: meson: update multi_v7_defconfig ARM: multi_v7_defconfig: Enable Mediatek platform ARM: qcom: Update defconfig ARM: mvebu: add gpio-fan to mvebu_v7_defconfig ARM: mvebu: add LED class support built-in in mvebu_v7_defconfig ARM: shmobile: Enable r8a7794 SoC in shmobile_defconfig ARM: LPC32xx: defconfig update ARM: configs: Enable cpufreq-cpu0 for multi_v7_defconfig ARM: configs: Remove REGULATOR_VIRTUAL_CONSUMER from defconfigs ARM: tegra: enable Atmel touchpad in defconfig ARM: at91: sama5: update defconfig ARM: at91: at91sam9rl: update defconfig ARM: at91: at91sam9g45: update defconfig ARM: at91: at91sam9263: update defconfig ARM: at91: at91sam9261_9g10: update defconfig ARM: at91: at91sam9260_9g20: update defconfig ARM: at91: at91_dt: update defconfig ... commit 8b45bc892e6842115fc87c2b2a3b86a20617606a Merge: eb785be fa637bf Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:37:16 2014 -0400 Merge tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC driver updates from Arnd Bergmann: "These are changes for drivers that are intimately tied to some SoC and for some reason could not get merged through the respective subsystem maintainer tree. Most of the new code is for the Keystone Navigator driver, which is new base support that is going to be needed for their hardware accelerated network driver and other units. Most of the commits are for moving old code around from at91 and omap for things that are done in device drivers nowadays. - at91: move reset, poweroff, memory and clocksource code into drivers directories - socfpga: add edac driver (through arm-soc, as requested by Boris) - omap: move omap-intc code to drivers/irqchip - sunxi: added an RTC driver for sun6i - omap: mailbox driver related changes - keystone: support for the "Navigator" component - versatile: new reboot, led and soc drivers" * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (92 commits) bus: arm-ccn: Fix spurious warning message leds: add device tree bindings for register bit LEDs soc: add driver for the ARM RealView power: reset: driver for the Versatile syscon reboot leds: add a driver for syscon-based LEDs drivers/soc: ti: fix build break with modules MAINTAINERS: Add Keystone Multicore Navigator drivers entry soc: ti: add Keystone Navigator DMA support Documentation: dt: soc: add Keystone Navigator DMA bindings soc: ti: add Keystone Navigator QMSS driver Documentation: dt: soc: add Keystone Navigator QMSS bindings rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc rtc: sun6i: Add sun6i RTC driver irqchip: omap-intc: remove unnecessary comments irqchip: omap-intc: correct maximum number or MIR registers irqchip: omap-intc: enable TURBO idle mode irqchip: omap-intc: enable IP protection irqchip: omap-intc: remove unnecesary of_address_to_resource() call irqchip: omap-intc: comment style cleanup irqchip: omap-intc: minor improvement to omap_irq_pending() ... commit eb785bef684f2b7d03b530efc8e6f199e9777e2f Merge: cf377ad ee48874 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:22:23 2014 -0400 Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC DT updates from Arnd Bergmann: "As usual, this is the largest branch, though this time a little under half of the total changes with 307 individual non-merge changesets. The largest changes are the addition of new machines, in particular the Tegra based Chromebook, the Renesas r8a7794 SoC, and DT support for the old i.MX1 platform. Other changes include - at91: various sam9 and sama5 updates - exynos: much extended Peach Pi/Pit (Chromebook 2) support - keystone: new peripherals - meson: added DT for meson6 SoC - mvebu: new device support for Armada 370/375 - qcom: improved support for IPQ8064 and MSM8x60 - rockchip: much improved support for rk3288 - shmobile: lots of updates all over the place - sunxi: dts license change - sunxi: more a23 device support - vexpress: CLCD DT description" * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (308 commits) ARM: DTS: meson: update DTSI to add watchdog node ARM: dts: keystone-k2l: fix mdio io start address ARM: dts: keystone-k2e: fix mdio io start address ARM: dts: keystone-k2e: update usb1 node for dma properties ARM: dts: keystone: fix io range for usb_phy0 Revert "Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt" Revert "ARM: dts: hix5hd2: add wdg node" ARM: dts: add rk3288 i2s controller ARM: vexpress: Add CLCD Device Tree properties ARM: bcm2835: add I2S pinctrl to device tree ARM: meson: documentation: add bindings documentation ARM: meson: dts: add basic Meson/Meson6/Meson6-atv1200 DTSI/DTS ARM: dts: mt6589: Change compatible string for GIC ARM: dts: mediatek: Add compatible property for aquaris5 ARM: dts: mt6589-aquaris5: Add boot argument earlyprintk ARM: dts: mt6589: Fix typo in GIC unit address ARM: dts: Build dtb for Mediatek board ARM: dts: keystone: fix bindings for pcie and usb clock nodes ARM: dts: keystone: k2l: Fix chip selects for SPI devices ARM: dts: keystone: add dsp gpio controllers nodes ... commit cf377ad7d42c566356d79049536d9cb37499cb77 Merge: 212fe84 d8f0faa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:13:04 2014 -0400 Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC platform changes from Arnd Bergmann: "New and updated SoC support. Among the things new for this release are: - at91: Added support for the new SAMA5D4 SoC, following the earlier SAMA5D3 - bcm: Added support for BCM63XX family of DSL SoCs - hisi: Added support for HiP04 server-class SoC - meson: Initial support for the Amlogic Meson6 (aka 8726MX) platform - shmobile: added support for new r8a7794 (R-Car E2) automotive SoC Noteworthy changes to existing SoC support are: - imx: convert i.MX1 to device tree - omap: lots of power management work - omap: base support to enable moving to standard UART driver - shmobile: lots of progress for multiplatform support, still ongoing" * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (171 commits) ARM: hisi: depend on ARCH_MULTI_V7 CNS3xxx: Fix debug UART. ARM: at91: fix nommu build regression ARM: meson: add basic support for MesonX SoCs ARM: meson: debug: add debug UART for earlyprintk support irq: Export handle_fasteoi_irq ARM: mediatek: Add earlyprintk support for mt6589 ARM: hisi: Fix platmcpm compilation when ARMv6 is selected ARM: debug: fix alphanumerical order on debug uarts ARM: at91: document Atmel SMART compatibles ARM: at91: add sama5d4 support to sama5_defconfig ARM: at91: dt: add device tree file for SAMA5D4ek board ARM: at91: dt: add device tree file for SAMA5D4 SoC ARM: at91: SAMA5D4 SoC detection code and low level routines ARM: at91: introduce basic SAMA5D4 support clk: at91: add a driver for the h32mx clock ARM: pxa3xx: provide specific platform_devices for all ssp ports ARM: pxa: ssp: provide platform_device_id for PXA3xx ARM: OMAP4+: Remove static iotable mappings for SRAM ARM: OMAP4+: Move SRAM data to DT ... commit 212fe84a6f215c39795a76517c1c02114d428681 Merge: 4a4743e 05301fe Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:06:53 2014 -0400 Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC cleanups from Arnd Bergmann: "This time around, the cleanup branch contains mostly code removal. A number of board files for at91, imx and msm have become obsolete because of the DT conversion and are now ready to be removed. The OMAP platform has traditionally had its own DMA engine abstraction and as this is being phased out, a lot of the original code is now unused and can be removed as well. S3C24xx can be simplified now that the restart code is a proper device driver. Finally, a number of cleanups in shmobile are done to prepare for the addition of new code in other branches" * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits) ARM: at91: Remove the support for the RSI EWS board arm: mach-omap2: Convert pr_warning to pr_warn ARM: OMAP: Remove unused pieces of legacy DMA API ARM: at91: remove board file for Acme Systems Fox G20 ARM: orion5x: Convert pr_warning to pr_warn ARM: S3C24XX: remove separate restart code ARM: EXYNOS: Do not calculate boot address twice ARM: sunxi: Remove sun4i reboot code from mach directory ARM: imx: Remove mach-mxt_td60 board file ARM: shmobile: armadillo800eva legacy: Use rmobile_add_devices_to_domains() ARM: shmobile: r8a7740: Clean up pm domain table ARM: shmobile: r8a7740: Use rmobile_add_devices_to_domains() ARM: shmobile: sh7372: Make domain_devices[] static __initdata ARM: shmobile: mackerel: Make domain_devices[] static __initdata clocksource: tcb_clksrc: sanitize IRQ request ARM: at91/tclib: mask interruptions at shutdown and probe ARM: at91/tclib: move initialization from alloc to probe ARM: at91/tclib: prefer using of devm_* functions ARM: clps711x: Switch CLPS711X subarch to use clk and clocksource driver ARM: shmobile: r8a7791 is now called "R-Car M2-W" ... commit 4a4743e840d06a5772be7c21110807165c5b3c9f Merge: da01e61 5df2782 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 17:03:09 2014 -0400 Merge tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC non-critical bug fixes from Arnd Bergmann: "These are bug fixes for harmless problems that were not important enough to get fixed in 3.17. The majority of these are OMAP specific, but there are also a couple for Marvell mvebu, cns3xxx, and others, as well as some updates for the MAINTAINERS file. In particular, Robert Jarzmik and Daniel Mack now volunteered to help out maintaining the PXA platform, Krzysztof Halasa took over the cns3xxx platform, Carlo Caione is the maintainer for the new Amlogic meson platform, and Matthias Brugger is now listed for the mediatek platform he recently contributed" * tag 'fixes-nc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (42 commits) MAINTAINERS: update Shawn's email address MAINTAINERS: condense some Tegra related entries MAINTAINERS: add Alexandre Courbot for Tegra MAINTAINERS: CNS3xxx and IXP4xx update. MAINTAINERS: Add maintainers entry for Mediatek SoCs arm, vt8500, LLVMLlinux: Use mcr instead of mcr% for mach-vt8500 MAINTAINERS: add a third maintainer to mach-bcm CNS3xxx: Fix PCIe read size limit. CNS3xxx: Fix logical PCIe topology. CNS3xxx: Fix debug UART. MAINTAINERS: Add entry for the Amlogic MesonX SoCs MAINTAINERS: update ARM pxa maintainers ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings ARM: mvebu: Netgear RN102: Use Hardware BCH ECC ARM: Kirkwood: Fix DT based DSA. ARM: OMAP2+: make of_device_ids const ARM: omap2: make arrays containing machine compatible strings const ARM: LPC32xx: Fix reset function ARM: mvebu: Netgear RN2120: Use Hardware BCH ECC ... commit 6543f803670530f6aa93790d9fa116d8395a537d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Oct 8 16:39:12 2014 -0400 NFSv4.1/pnfs: replace broken pnfs_put_lseg_async You cannot call pnfs_put_lseg_async() more than once per lseg, so it is really an inappropriate way to deal with a refcount issue. Instead, replace it with a function that decrements the refcount, and puts the final 'free' operation (which is incompatible with locks) on the workqueue. Cc: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx> Fixes: e6cf82d1830f: pnfs: add pnfs_put_lseg_async Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 64b1f00a0830e1c53874067273a096b228d83d36 Merge: 16b99a4 5301e3e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 8 16:22:22 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit 16b99a4f6644d58c94acb4b4253e84049de588c5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 8 20:37:01 2014 +0200 netlabel: directly return netlbl_unlabel_genl_init() No need to store netlbl_unlabel_genl_init result and test it before returning. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 535114539bb2c081b6680cb5a34be17e7b45df37 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 8 08:19:27 2014 -0700 net: add netdev_txq_bql_{enqueue, complete}_prefetchw() helpers Add two helpers so that drivers do not have to care of BQL being available or not. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Fixes: 29d40c903247 ("net/mlx4_en: Use prefetch in tx path") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 709c48b39ecf11a81f3820c13a828c330fd832b9 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Oct 8 23:53:39 2014 +0900 net: description of dma_cookie cause make xmldocs warning In commit 7bced397510ab569d31de4c70b39e13355046387, dma_cookie was removed from struct skbuff. But the description of dma_cookie still exist. So the "make xmldocs" output following warning. Warning(.//include/linux/skbuff.h:609): Excess struct/union /enum/typedef member 'dma_cookie' description in 'sk_buff' Remove description of dma_cookie fix the symptom. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb5ac0de10ed49f9a18f47ec6d2edf359811ba58 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Oct 8 16:44:34 2014 +0300 cxgb4: clean up a type issue The tx_desc struct holds 8 __be64 values. The original code in ring_tx_db() took a tx_desc pointer then casted it to an int pointer and then casted it to a u64 pointer. It was confusing and triggered some static checker warnings. I have changed the cxgb_pio_copy() function to only take tx_desc pointers. This isn't really a loss of flexibility because anything else was buggy to begin with. I also removed the casting on the destination pointer since that was unnecessary and a bit messy. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fef84780348bbc01b14c1a0f88440ee67cfddfe Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Wed Oct 8 16:43:17 2014 +0300 cxgb4: potential shift wrapping bug "cntxt_id" is an unsigned int but "udb" is a u64 so there is a potential shift wrapping bug here. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0585cd815faef50ce3d12cbe173438eb4d81eb8 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Aug 14 14:45:41 2014 -0700 sb_edac: Claim a different PCI device sb_edac controls a large number of different PCI functions. Rather than registering as a normal PCI driver for all of them, it registers for just one so that it gets probed and, at probe time, it looks for all the others. Coincidentally, the device it registers for also contains the SMBUS registers, so the PCI core will refuse to probe both sb_edac and a future iMC SMBUS driver. The drivers don't actually conflict, so just change sb_edac's device table to probe a different device. An alternative fix would be to merge the two drivers, but sb_edac will also refuse to load on non-ECC systems, whereas i2c_imc would still be useful without ECC. The only user-visible change should be that sb_edac appears to bind a different device. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Rui Wang <ruiv.wang@xxxxxxxxx> Acked-by: Aristeu Rozanski <aris@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 68939df1d7d8da9088d51000bd334f4c59ea0cb3 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Thu Aug 14 14:45:40 2014 -0700 Move Intel SNB device ids from sb_edac to pci_ids.h The i2c_imc driver will use two of them, and moving only part of the list seems messier. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Aristeu Rozanski <aris@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 351fc4a99d49fde63fe5ab7412beb35c40d27269 Author: Seth Jennings <sjenning@xxxxxxxxxx> Date: Fri Sep 5 14:28:47 2014 -0500 sb_edac: avoid INTERNAL ERROR message in EDAC with unspecified channel Intel IA32 SDM Table 15-14 defines channel 0xf as 'not specified', but EDAC doesn't know about this and returns and INTERNAL ERROR when the channel is greater than NUM_CHANNELS: kernel: [ 1538.886456] CPU 0: Machine Check Exception: 0 Bank 1: 940000000000009f kernel: [ 1538.886669] TSC 2bc68b22e7e812 ADDR 46dae7000 MISC 0 PROCESSOR 0:306e4 TIME 1390414572 SOCKET 0 APIC 0 kernel: [ 1538.971948] EDAC MC1: INTERNAL ERROR: channel value is out of range (15 >= 4) kernel: [ 1538.972203] EDAC MC1: 0 CE memory read error on unknown memory (slot:0 page:0x46dae7 offset:0x0 grain:0 syndrome:0x0 - area:DRAM err_code:0000:009f socket:1 channel_mask:1 rank:0) This commit changes sb_edac to forward a channel of -1 to EDAC if the channel is not specified. edac_mc_handle_error() sets the channel to -1 internally after the error message anyway, so this commit should have no effect other than avoiding the INTERNAL ERROR message when the channel is not specified. Signed-off-by: Seth Jennings <sjenning@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4567dc10934292a3171f98d28817d58127b73b72 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Oct 7 13:30:23 2014 -0700 i40e: skb->xmit_more support Support skb->xmit_more in i40e is straightforward : we need to move around i40e_maybe_stop_tx() call to correctly test netif_xmit_stopped() before taking the decision to not kick the NIC. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 44783d87512999fe1450ff2cdf26c1ddc3fa5eea Merge: 935e221 d43a396 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 8 16:01:46 2014 -0400 Merge branch 'fs_enet_napi' Christophe Leroy says: ==================== net: fs_enet: Remove non NAPI RX and add NAPI for TX When using a MPC8xx as a router, 'perf' shows a significant time spent in fs_enet_interrupt() and fs_enet_start_xmit(). 'perf annotate' shows that the time spent in fs_enet_start_xmit is indeed spent between spin_unlock_irqrestore() and the following instruction, hence in interrupt handling. This is due to the TX complete interrupt that fires after each transmitted packet. This patchset first remove all non NAPI handling as NAPI has become the only mode for RX, then adds NAPI for handling TX complete. This improves NAT TCP throughput by 21% on MPC885 with FEC. Tested on MPC885 with FEC. [PATCH 1/2] net: fs_enet: Remove non NAPI RX [PATCH 2/2] net: fs_enet: Add NAPI TX Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d43a396af0f54740c4f491a066d249b7d7467593 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue Oct 7 15:05:02 2014 +0200 net: fs_enet: Add NAPI TX When using a MPC8xx as a router, 'perf' shows a significant time spent in fs_enet_interrupt() and fs_enet_start_xmit(). 'perf annotate' shows that the time spent in fs_enet_start_xmit is indeed spent between spin_unlock_irqrestore() and the following instruction, hence in interrupt handling. This is due to the TX complete interrupt that fires after each transmitted packet. This patch modifies the handling of TX complete to use NAPI. With this patch, my NAT router offers a throughput improved by 21% Original performance: [root@localhost tmp]# scp toto pgs:/tmp toto 100% 256MB 2.8MB/s 01:31 Performance with the patch: [root@localhost tmp]# scp toto pgs:/tmp toto 100% 256MB 3.4MB/s 01:16 Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 583d4a6885cfa75a3d189f6bb69b5c545e961c75 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue Oct 7 15:04:57 2014 +0200 net: fs_enet: Remove non NAPI RX In the probe function, use_napi is inconditionnaly set to 1. This patch removes all the code which is conditional to !use_napi, and removes use_napi which has then become useless. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 935e2218d5a0fade1645982fb034eee37f100f11 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Tue Oct 7 15:10:41 2014 +0800 r8169:add support for RTL8168EP RTL8168EP is Realtek PCIe Gigabit Ethernet controller with DASH support. It is a successor chip of RTL8168DP. For RTL8168EP, the read/write ocp register is via eri channel type 2, so I move ocp_xxx() related functions under rtl_eri_xxx. And use r8168dp_ocp_xxx() for RTL8168DP ocp read/write, r8168ep_ocp_xxx() for RTL8168EP ocp read/write. The way of checking dash enable is different with RTL8168DP. I use r8168dp_check_dash()for RTL8168DP and r8168ep_check_dash() for RTL8168EP, to check if dash is enabled. The driver_start() and driver_stop() of RTL8168EP is also different with RTL8168DP. I use rtl8168dp_driver_xxx() for RTL8168DP and rtl8168ep_driver_xxx for RTL8168EP. Right now, RTL8168EP phy mcu did not need firmware code patch, so I did not add firmware code for it. so I did not add firmware code for it. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5301e3e117d88ef0967ce278912e54757f1a31a2 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Oct 6 17:21:54 2014 -0700 net_sched: copy exts->type in tcf_exts_change() We need to copy exts->type when committing the change, otherwise it would be always 0. This is a quick fix for -net and -stable, for net-next tcf_exts will be removed. Fixes: commit 33be627159913b094bb578e83 ("net_sched: act: use standard struct list_head") Reported-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1480dcc3c706e309a88884723446f2e84fedd5b Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Wed Oct 8 12:32:47 2014 -0700 fs: Add a missing permission check to do_umount Accessing do_remount_sb should require global CAP_SYS_ADMIN, but only one of the two call sites was appropriately protected. Fixes CVE-2014-7975. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> commit fa637bf0595ee1796d728a0d33b6b7fff12e1f3d Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Mon Sep 15 15:33:48 2014 +0100 bus: arm-ccn: Fix spurious warning message Because CCN's cycle counter always runs, it will generate an interrupt on overflow even if the relevant perf event was not requested, causing a spurious warning message. Fixed now by warning on only normal counter unwanted overflows. Also cleaning the overflow mask at init now, not to warn on event previously requested by firmware. Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 5df27823b5552e885e02c1ea0d2f52326d7d710c Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Wed Oct 8 20:31:29 2014 +0800 MAINTAINERS: update Shawn's email address My Freescale email address will be gone shortly. Update my email to be the Linaro one. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 356d41422b00fed4bf8622a0721039a18f687fa0 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Fri Oct 3 09:50:33 2014 -0600 MAINTAINERS: condense some Tegra related entries There's little point having specific entries in MAINTAINERS for Tegra drivers that are already covered by the top-level Tegra architecture support entry, and maintained by people listed there. Remove the duplicates. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 554077c54beafc8d5fe46fa42bf36d9322a51855 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Fri Oct 3 09:50:32 2014 -0600 MAINTAINERS: add Alexandre Courbot for Tegra I'd like to propose Alexandre Courbot as an additional Tegra maintainer. He's been working on a variety of Tegra-related code for a while, and is now officially tasked with working on upstream support. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> -- v2: * Use Alexandre's full name. * Use a non-NVIDIA email address to avoid Exchange Server patch corruption. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 1fca350b761631d182c2e8bce530896e66404bc2 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Wed Oct 8 12:44:55 2014 -0500 rtlwifi: Fix possible unaligned array in ether_addr_copy() Two macros used to copy BSSID information use ether_addr_copy(), thus the arrays must be 2-byte aligned. In one case, the array could become unaligned if the struct containing it were changed. Use the __unaligned(2) attribute to retain the necessary alignment. In addition, the magic number used to specify the size of the array is replaced by ETH_ALEN. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ca14405e3b25b38221d027d8970c1d74ed0b6532 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Oct 8 08:43:19 2014 +0530 ath9k: Fix sequence number assignment Currently, ath9k uses a global counter for all frames that need to be assigned a sequence number. QoS-data frames are handled properly since they have a per-tid counter. But, beacons and other management frames use the same counter even if multiple interfaces or contexts are present. Fix this issue by making the counter per-interface and using it when mac80211 sets IEEE80211_TX_CTL_ASSIGN_SEQ. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2f29fed3f814f652a24b10c975b9d415a154fc9c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 7 22:20:23 2014 +0200 net: rfkill: kernel-doc warning fixes s/state/blocked Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ee48874d4aa50d9c4921b44a38dc33110b90638b Merge: 4394a00 d4ac2cf Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 8 21:19:21 2014 +0200 Merge tag 'meson-wdt-dt-3.18' of https://github.com/carlocaione/linux-meson into next/dt Merge "Meson6 WDT support" from Carlo Caione: This patch adds the support for the Meson6 watchdog in the DTSI * tag 'meson-wdt-dt-3.18' of https://github.com/carlocaione/linux-meson: ARM: DTS: meson: update DTSI to add watchdog node Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit ea18cb3f113d7f8d622622c176c51363cc656521 Author: Tom Haynes <loghyr@xxxxxxxxxxxxxxx> Date: Thu Oct 2 23:44:11 2014 -0700 NFSv4: Remove dead prototype for nfs4_insert_deviceid_node() nfs4_insert_deviceid_node() was removed in 661373b13d0490ff410a2133d4a7a117f2dd037e Signed-off-by: Tom Haynes <loghyr@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2c9a9cfec04f2c6ed7b4e607cd53ca903b2c4642 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Oct 8 09:28:32 2014 -0700 Input: automatically set EV_ABS bit in input_set_abs_params Let's automatically set EV_ABS bit in device's event type list when calling input_set_abs_params() so that drivers do not have to do it explicitly. These calls are never in a hot paths so we won't lose much time by setting the same bit several times. Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit da01e61428aa2b5c424fddc11178498462d8c77f Merge: 6dea073 02a1335 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 12:53:15 2014 -0400 Merge tag 'f2fs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs Pull f2fs updates from Jaegeuk Kim: "This patch-set introduces a couple of new features such as large sector size, FITRIM, and atomic/volatile writes. Several patches enhance power-off recovery and checkpoint routines. The fsck.f2fs starts to support fixing corrupted partitions with recovery hints provided by this patch-set. Summary: - retain some recovery information for fsck.f2fs - enhance checkpoint speed - enhance flush command management - bug fix for lseek - tune in-place-update policies - enhance roll-forward speed - revisit all the roll-forward and fsync rules - support larget sector size - support FITRIM - support atomic and volatile writes And several clean-ups and bug fixes are included" * tag 'f2fs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (42 commits) f2fs: support volatile operations for transient data f2fs: support atomic writes f2fs: remove unused return value f2fs: clean up f2fs_ioctl functions f2fs: potential shift wrapping buf in f2fs_trim_fs() f2fs: call f2fs_unlock_op after error was handled f2fs: check the use of macros on block counts and addresses f2fs: refactor flush_nat_entries to remove costly reorganizing ops f2fs: introduce FITRIM in f2fs_ioctl f2fs: introduce cp_control structure f2fs: use more free segments until SSR is activated f2fs: change the ipu_policy option to enable combinations f2fs: fix to search whole dirty segmap when get_victim f2fs: fix to clean previous mount option when remount_fs f2fs: skip punching hole in special condition f2fs: support large sector size f2fs: fix to truncate blocks past EOF in ->setattr f2fs: update i_size when __allocate_data_block f2fs: use MAX_BIO_BLOCKS(sbi) f2fs: remove redundant operation during roll-forward recovery ... commit 6dea0737bc5e160efc77f4c39d393b94fd2746dc Merge: 25641c0 34549ab Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 12:51:44 2014 -0400 Merge branch 'for-3.18' of git://linux-nfs.org/~bfields/linux Pull nfsd updates from Bruce Fields: "Highlights: - support the NFSv4.2 SEEK operation (allowing clients to support SEEK_HOLE/SEEK_DATA), thanks to Anna. - end the grace period early in a number of cases, mitigating a long-standing annoyance, thanks to Jeff - improve SMP scalability, thanks to Trond" * 'for-3.18' of git://linux-nfs.org/~bfields/linux: (55 commits) nfsd: eliminate "to_delegation" define NFSD: Implement SEEK NFSD: Add generic v4.2 infrastructure svcrdma: advertise the correct max payload nfsd: introduce nfsd4_callback_ops nfsd: split nfsd4_callback initialization and use nfsd: introduce a generic nfsd4_cb nfsd: remove nfsd4_callback.cb_op nfsd: do not clear rpc_resp in nfsd4_cb_done_sequence nfsd: fix nfsd4_cb_recall_done error handling nfsd4: clarify how grace period ends nfsd4: stop grace_time update at end of grace period nfsd: skip subsequent UMH "create" operations after the first one for v4.0 clients nfsd: set and test NFSD4_CLIENT_STABLE bit to reduce nfsdcltrack upcalls nfsd: serialize nfsdcltrack upcalls for a particular client nfsd: pass extra info in env vars to upcalls to allow for early grace period end nfsd: add a v4_end_grace file to /proc/fs/nfsd lockd: add a /proc/fs/lockd/nlm_end_grace file nfsd: reject reclaim request when client has already sent RECLAIM_COMPLETE nfsd: remove redundant boot_time parm from grace_done client tracking op ... commit 25641c0c8d72f3d235c022fd2c19181912c2ae8b Merge: ef0625b 72c23f0 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 12:49:23 2014 -0400 Merge tag 'nfs-for-3.18-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs Pull NFS client updates from Trond Myklebust: "Highlights include: Stable fixes: - fix an NFSv4.1 state renewal regression - fix open/lock state recovery error handling - fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails - fix statd when reconnection fails - don't wake tasks during connection abort - don't start reboot recovery if lease check fails - fix duplicate proc entries Features: - pNFS block driver fixes and clean ups from Christoph - More code cleanups from Anna - Improve mmap() writeback performance - Replace use of PF_TRANS with a more generic mechanism for avoiding deadlocks in nfs_release_page" * tag 'nfs-for-3.18-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (66 commits) NFSv4.1: Fix an NFSv4.1 state renewal regression NFSv4: fix open/lock state recovery error handling NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails NFS: Fabricate fscache server index key correctly SUNRPC: Add missing support for RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT NFSv3: Fix missing includes of nfs3_fs.h NFS/SUNRPC: Remove other deadlock-avoidance mechanisms in nfs_release_page() NFS: avoid waiting at all in nfs_release_page when congested. NFS: avoid deadlocks with loop-back mounted NFS filesystems. MM: export page_wakeup functions SCHED: add some "wait..on_bit...timeout()" interfaces. NFS: don't use STABLE writes during writeback. NFSv4: use exponential retry on NFS4ERR_DELAY for async requests. rpc: Add -EPERM processing for xs_udp_send_request() rpc: return sent and err from xs_sendpages() lockd: Try to reconnect if statd has moved SUNRPC: Don't wake tasks during connection abort Fixing lease renewal nfs: fix duplicate proc entries pnfs/blocklayout: Fix a 64-bit division/remainder issue in bl_map_stripe ... commit 6ae833c7fe0c6ef1f0ab13cc775da230d6f4c256 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Oct 8 12:01:52 2014 -0400 percpu: fix how @gfp is interpreted by the percpu allocator When @gfp is specified, the percpu allocator is interested in whether it contains all of GFP_KERNEL or not. If it does, the normal allocation path is taken; otherwise, the atomic allocation path. Unfortunately, pcpu_alloc() was incorrectly testing for whether @gfp contains any part of GFP_KERNEL. Fix it by testing "(gfp & GFP_KERNEL) != GFP_KERNEL" instead of "!(gfp & GFP_KERNEL)" to decide whether the allocation should be atomic or not. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit bdf20b4291eaa3b327398b8dd330065ad8e6d3ce Merge: 699f858 77eca3c 960baba 5c4c99f a66ae63 528a82b 2dbab97 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 16:44:50 2014 +0100 Merge remote-tracking branches 'asoc/fix/88pm860x', 'asoc/fix/fsl', 'asoc/fix/imx', 'asoc/fix/mc13783', 'asoc/fix/rockchip' and 'asoc/fix/simple' into asoc-linus commit 699f8584305cb5b4ba69c6880c64be1f8f15a563 Merge: b9fb729 e5092c9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 16:44:49 2014 +0100 Merge remote-tracking branch 'asoc/fix/dapm' into asoc-linus commit b9fb729949bcd9e592a4c599d2d7875157181db9 Merge: 7b8ab38 5e63dfc Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 16:44:49 2014 +0100 Merge remote-tracking branch 'asoc/fix/core' into asoc-linus commit 7b8ab38e8d9cc804f0d3c263bfaa62d82d8a2da7 Merge: 1db1d4e a5448c8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 16:44:43 2014 +0100 Merge tag 'asoc-v3.18' into asoc-linus ASoC: Updates for v3.18 - More componentisation work from Lars-Peter, this time mainly cleaning up the suspend and bias level transition callbacks. - Real system support for the Intel drivers and a bunch of fixes and enhancements for the associated CODEC drivers, this is going to need a lot quirks over time due to the lack of any firmware description of the boards. - Jack detect support for simple card from Dylan Reid. - A bunch of small fixes and enhancements for the Freescale drivers. - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32, Everest Semiconductor ES8328 and Freescale cards using the ASRC in newer i.MX processors. # gpg: Signature made Mon 06 Oct 2014 12:49:37 BST using RSA key ID 5D5487D0 # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit 1db1d4eefb0065abdc37f4fa40c67d322d7db663 Merge: bfe01a5 5e3905f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 16:44:36 2014 +0100 Merge tag 'asoc-v3.17-rc4' into asoc-linus ASoC: Fixes for v3.17 Another round of again fairly unexciting fixes - several driver fixes, an e-mail address change and a fix for error handling with DPCM. # gpg: Signature made Wed 10 Sep 2014 12:26:54 BST using RSA key ID 5D5487D0 # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit 89c5497d1f933af56dac617f0fd86150942a7fb6 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Oct 8 04:03:07 2014 +0000 tracing/kprobes: Add selftest scripts testing kprobe-tracer as startup test Add two selftest scripts which tests kprobe-tracer as the startup selftest does. These test cases are testing that the kprobe_event can accept a kprobe event with $stack related arguments and a kretprobe event with $retval argument. Link: http://lkml.kernel.org/p/20141008040307.13415.45145.stgit@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit a66ae631a3cffb00f441b229a07fa1b4c72e738a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 8 15:31:18 2014 +0100 ASoC: mc13783: Ensure we only try to dereference valid of_nodes Reported-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a43bb39b5c710e79e921fb76341bacc418cfde78 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Wed Oct 8 10:19:08 2014 +0800 btrfs: Fix compile error when CONFIG_SECURITY is not set. Fix the following compile error when CONFIG_SECURITY is not set: error: 'struct security_mnt_opts' has no member named 'num_mnt_opts' Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 528a82b41fda78435976c905546c3329c86bb264 Author: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Date: Wed Oct 8 00:58:51 2014 -0700 ASoC: rockchip-i2s: fix infinite loop in rockchip_snd_txctrl We can get into an infinite loop if the I2S_CLR register fails to clear due to a missing break statement, so add that. Signed-off-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ef0625b70dac9405ac9d9928cf767108041a9e51 Merge: 3fc1479 480bd3c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:55:41 2014 -0400 Merge tag 'char-misc-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull char/misc driver updates from Greg KH: "Here's the big set of driver patches for char/misc drivers. Nothing major in here, the shortlog goes into the details. All have been in the linux-next tree for a while with no issues" * tag 'char-misc-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (80 commits) mei: mei_txe_fw_sts can be static mei: fix kernel-doc warnings mei: fix KDoc documentation formatting mei: drop me_client_presentation_num mei: trivial: fix errors in prints in comments mei: remove include to pci header from mei module files mei: push pci cfg structure me hw mei: remove the reference to pdev from mei_device mei: move fw_status back to hw ops handlers mei: get rid of most of the pci dependencies in mei mei: push all standard settings into mei_device_init mei: move mei_hbm_hdr function from hbm.h the hbm.c mei: kill error message for allocation failure mei: nfc: fix style warning mei: fix style warning: Missing a blank line after declarations mei: pg: fix cat and paste error in comments mei: debugfs: add single buffer indicator mei: debugfs: adjust print buffer mei: add hbm and pg state in devstate debugfs print Drivers: hv: vmbus: Enable interrupt driven flow control ... commit 3fc1479c5e78afa3013ad80b9b7367f0278c629b Merge: bca5165 72cf901 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:54:13 2014 -0400 Merge tag 'compress-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull compression update from Greg KH: "More fun with the LZO compression code. Here's some patches that properly document what the logic is, and fix up all of the previously reported issues against the LZO code. This has been in linux-next for a while with no issues" * tag 'compress-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: lzo: check for length overrun in variable length encoding. Revert "lzo: properly check for overruns" Documentation: lzo: document part of the encoding commit bca51651fc2f197c6364c0e682f68047a7e4b444 Merge: 683a52a 906d201 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:53:19 2014 -0400 Merge tag 'driver-core-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core Pull driver core update from Greg KH: "Here's the driver core patches for 3.18-rc1. Just a few small things, and the addition of a new interface to dump firmware "core dumps" to userspace through sysfs that the wireless and graphic drivers want to use. All of these have been in linux-next for a while" * tag 'driver-core-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: dynamic_debug: change __dynamic_<foo>_dbg return types to void driver/base/node: remove unnecessary kfree of node struct from unregister_one_node devres: Improve devm_kasprintf()/kvasprintf() support Documentation: devres: Add missing devm_kstrdup() managed interface Documentation: devres: Add missing IRQ functions firmware_class: make sure fw requests contain a name driver core: Remove kerneldoc from local function attribute_container: fix coding style issues attribute_container: fix whitespace errors drivers/base: Fix length checks in create_syslog_header()/dev_vprintk_emit() device coredump: add new device coredump class Documentation/sysfs-rules.txt: Add device attribute error code documentation commit 683a52a10148e929fb4844f9237f059a47c0b01b Merge: b9af564 69784fa Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:52:11 2014 -0400 Merge tag 'tty-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty/serial driver updates from Greg KH: "Here's the big tty/serial driver patchset for 3.18-rc1. Lots of little things in here, some good work from Peter Hurley on the tty core, and in lots of drivers. There are also lots of other driver updates in here as well, full details in the changelogs. All have been in the linux-next tree for a while" * tag 'tty-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (99 commits) Revert "serial/core: Initialize the console pm state" tty: serial: 8250: use 32bit variable for rpm_tx_active tty: serial: msm: Add earlycon support serial/core: Initialize the console pm state serial: asc: Conditionally use readl_relaxed (COMPILE_TEST) serial: of-serial: add PM suspend/resume support m68k: AMIGA_BUILTIN_SERIAL should depend on TTY asm/uapi: Add definition of TIOC[SG]RS485 tty/metag_da: Add console_poll module parameter serial: 8250_pci: remove rts_n override from Baytrail quirk serial: cadence: Add generic earlycon support serial: imx: change the wait even to interruptiable serial: imx: terminate the RX DMA when the UART is suspending serial: imx: fix throttle/unthrottle callbacks for hardware assisted flow control serial: 8250: Add Quark X1000 to 8250_pci.c tty: omap-serial: pull out calculation from baud_is_mode16 tty: omap-serial: fix division by zero xen_hvc: no reason to write the type key on xenstore tty: serial: 8250_core: remove UART_IER_RDI in serial8250_stop_rx() tty: serial: 8250_core: use the ->line argument as a hint in serial8250_find_match_or_unused() ... commit b9af5643fdc5365a23f9752a1181fef374425217 Merge: 4633119 e603984 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:50:18 2014 -0400 Merge tag 'staging-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging updates from Greg KH: "Here is the big staging patch set for 3.18-rc1. Once again, we are deleting more code than we added, with something like 150000 lines deleted overall. Some of this is due to drivers being added to the networking tree, so the old versions are removed here, but even then, the overall difference is quite good. Other than driver deletions, lots and lots and lots of minor cleanups all over the place. Full details are in the changelog" * tag 'staging-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1481 commits) staging: et131x: Remove et131x driver from drivers/staging staging: emxx_udc: Use min_t instead of min staging: emxx_udc: Fix replace printk(KERN_DEBUG ..) with dev_dbg staging: media: Fixed else after return or break warning staging: media: omap4iss: Fixed else after return or break warning staging: rtl8712: Fixed else not required after return staging: rtl8712: Fix missing blank line warning staging: rtl8192e: rtl8192e: Remove spaces before the semicolons staging: rtl8192e: rtl8192e: Remove unnecessary return statements staging: rtl8192e: Remove unneeded void return staging: rtl8192e: Fix void function return statements style staging: rtl8712: Fix unnecessary parentheses style warning staging: rtl8192e: Fix unnecessary space before function pointer arguments staging: rtl8192e: Array was made static const char * const staging: ft1000: ft1000-usb: Removed unnecessary else statement. staging: ft1000: ft1000-usb: Removed unnecessary else statement. staging: ft1000: ft1000-usb: Removed unnecessary parentheses. staging: ft1000: ft1000-usb: Added new line after declarations. staging: vt6655: Fixed C99 // comment errors in wpactl.c staging: speakup: Fixed warning <linux/serial.h> instead of <asm/serial.h> ... commit 463311960e9312245418af98dce8c0161fd6b827 Merge: 87d7bce 4ed9a3d Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:47:31 2014 -0400 Merge tag 'usb-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB updates from Greg KH: "Here's the big USB patchset for 3.18-rc1. Also in here is the PHY tree, as it seems to fit well with the USB tree for various reasons... Anyway, lots of little changes in here, all over the place, full details in the changelog All have been in the linux-next tree for a while with no issues" * tag 'usb-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (244 commits) USB: host: st: fix typo 'CONFIG_USB_EHCI_HCD_ST' uas: Reduce number of function arguments for uas_alloc_foo functions xhci: Allow xHCI drivers to be built as separate modules xhci: Export symbols used by host-controller drivers xhci: Check for XHCI_COMP_MODE_QUIRK when disabling D3cold xhci: Introduce xhci_init_driver() usb: hcd: add generic PHY support usb: rename phy to usb_phy in HCD usb: gadget: uvc: fix up uvcg_v4l2_get_unmapped_area typo USB: host: st: fix ehci/ohci driver selection usb: host: ehci-exynos: Remove unnecessary usb-phy support usb: core: return -ENOTSUPP for all targeted hosts USB: Remove .owner field for driver usb: core: log higher level message on malformed LANGID descriptor usb: Add LED triggers for USB activity usb: Rename usb-common.c usb: gadget: Refactor request completion usb: gadget: Introduce usb_gadget_giveback_request() usb: dwc2/gadget: move phy bus legth initialization phy: remove .owner field for drivers using module_platform_driver ... commit 87d7bcee4f5973a593b0d50134364cfe5652ff33 Merge: 0223f9a be34c4ef Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 06:44:48 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Pull crypto update from Herbert Xu: - add multibuffer infrastructure (single_task_running scheduler helper, OKed by Peter on lkml. - add SHA1 multibuffer implementation for AVX2. - reenable "by8" AVX CTR optimisation after fixing counter overflow. - add APM X-Gene SoC RNG support. - SHA256/SHA512 now handles unaligned input correctly. - set lz4 decompressed length correctly. - fix algif socket buffer allocation failure for 64K page machines. - misc fixes * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (47 commits) crypto: sha - Handle unaligned input data in generic sha256 and sha512. Revert "crypto: aesni - disable "by8" AVX CTR optimization" crypto: aesni - remove unused defines in "by8" variant crypto: aesni - fix counter overflow handling in "by8" variant hwrng: printk replacement crypto: qat - Removed unneeded partial state crypto: qat - Fix typo in name of tasklet_struct crypto: caam - Dynamic allocation of addresses for various memory blocks in CAAM. crypto: mcryptd - Fix typos in CRYPTO_MCRYPTD description crypto: algif - avoid excessive use of socket buffer in skcipher arm64: dts: add random number generator dts node to APM X-Gene platform. Documentation: rng: Add X-Gene SoC RNG driver documentation hwrng: xgene - add support for APM X-Gene SoC RNG support crypto: mv_cesa - Add missing #define crypto: testmgr - add test for lz4 and lz4hc crypto: lz4,lz4hc - fix decompression crypto: qat - Use pci_enable_msix_exact() instead of pci_enable_msix() crypto: drbg - fix maximum value checks on 32 bit systems crypto: drbg - fix sparse warning for cpu_to_be[32|64] crypto: sha-mb - sha1_mb_alg_state can be static ... commit f74954f01ec9bb2004bcc24f247d1f26f1063ad2 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Wed Sep 24 08:41:30 2014 +0100 x86: Unwind-annotate thunk_32.S Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/542291CA0200007800038085@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit c497d9f917542a71e1654b31368d18153b6f1987 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Oct 8 12:14:40 2014 +0200 ALSA: hda - Add dock port support to Thinkpad L440 (71aa:501e) Yet another Thinkpad model that has a dock port. Reported-by: Sascha Wilde <wilde@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e5b50ada76f44c8742a123813689bff4db062a5a Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Oct 8 12:08:38 2014 +0200 ALSA: Allow pass NULL dev for snd_pci_quirk_lookup() Add a NULL check in snd_pci_quirk_lookup() so that NULL can be passed as a pci_dev pointer. This fixes the possible NULL dereferences in HD-audio drivers. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0223f9aaef94a09ffc0b6abcba732e62a483b88c Merge: 8a9e838 24cae79 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:40:17 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k Pull m68k updates from Geert Uytterhoeven: "Summary: - a fix for an intermittent crash in macsonic and hilkbd, marked for stable, - build fixes for uncommon configs. Note: "m68k: AMIGA_BUILTIN_SERIAL should depend on TTY" was also picked up by GregKH for his TTY/Serial patches tree" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: m68k: Reformat arch/m68k/mm/hwtest.c m68k: Disable/restore interrupts in hwreg_present()/hwreg_write() m68k: AMIGA_BUILTIN_SERIAL should depend on TTY m68k: Add missing ioport_unmap() m68k/atari - stram: Add missing #include <linux/ioport.h> commit 8a9e838f59115e55ca206fb5f0b567d7b3540517 Merge: f8e4fae 1742b63 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:37:24 2014 -0400 Merge tag 'for-linus-20141006' of git://github.com/sctscore/linux-off Pull S+core updates from Lennox Wu: "Three of the patches are for building allmodconfig, and the others are for removing useless flags" * tag 'for-linus-20141006' of git://github.com/sctscore/linux-off: score: Remove GENERIC_HAS_IOMAP arch/score/include/asm/Kbuild: Add generic "serial.h" score: remove deprecated IRQF_DISABLED arch/score/mm/cache.c: Export 'flush_icache_range' arch: score: Export necessary symbols in related files commit f8e4fae2e79d2d293fc490ede87be44c9b215d9e Merge: 6325e94 78410af Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:36:23 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile Pull arch/tile updates from Chris Metcalf: "The only substantive pieces in this batch are some more vDSO support, and removing the reference to &platform_bus in tile-srom.c. The rest are minor issues reported to me" * git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile: tile: add clock_gettime support to vDSO tile: switch to using seqlocks for the vDSO time code tile gxio: use better string copy primitive char: tile-srom: Add real platform bus parent Removed repeated word in comments tilegx: Enable ARCH_SUPPORTS_ATOMIC_RMW tile: Remove tile-specific _sinitdata and _einitdata tile: use ARRAY_SIZE commit 6325e940e7e0c690c6bdfaf5d54309e71845d3d9 Merge: 536fd93 0a6479b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:34:24 2014 -0400 Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux Pull arm64 updates from Catalin Marinas: - eBPF JIT compiler for arm64 - CPU suspend backend for PSCI (firmware interface) with standard idle states defined in DT (generic idle driver to be merged via a different tree) - Support for CONFIG_DEBUG_SET_MODULE_RONX - Support for unmapped cpu-release-addr (outside kernel linear mapping) - set_arch_dma_coherent_ops() implemented and bus notifiers removed - EFI_STUB improvements when base of DRAM is occupied - Typos in KGDB macros - Clean-up to (partially) allow kernel building with LLVM - Other clean-ups (extern keyword, phys_addr_t usage) * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (51 commits) arm64: Remove unneeded extern keyword ARM64: make of_device_ids const arm64: Use phys_addr_t type for physical address aarch64: filter $x from kallsyms arm64: Use DMA_ERROR_CODE to denote failed allocation arm64: Fix typos in KGDB macros arm64: insn: Add return statements after BUG_ON() arm64: debug: don't re-enable debug exceptions on return from el1_dbg Revert "arm64: dmi: Add SMBIOS/DMI support" arm64: Implement set_arch_dma_coherent_ops() to replace bus notifiers of: amba: use of_dma_configure for AMBA devices arm64: dmi: Add SMBIOS/DMI support arm64: Correct ftrace calls to aarch64_insn_gen_branch_imm() arm64:mm: initialize max_mapnr using function set_max_mapnr setup: Move unmask of async interrupts after possible earlycon setup arm64: LLVMLinux: Fix inline arm64 assembly for use with clang arm64: pageattr: Correctly adjust unaligned start addresses net: bpf: arm64: fix module memory leak when JIT image build fails arm64: add PSCI CPU_SUSPEND based cpu_suspend support arm64: kernel: introduce cpu_init_idle CPU operation ... commit 536fd93d432858eb6b7c1ad1dcfe051840ebef47 Merge: e4e6567 d5d1689 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:30:03 2014 -0400 Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm Pull ARM updates from Russell King: "Included in these updates are: - Performance optimisation to avoid writing the control register at every exception. - Use static inline instead of extern inline in ftrace code. - Crypto ARM assembly updates for big endian - Alignment of initrd/.init memory to page sizes when freeing to ensure that we fully free the regions - Add gcov support - A couple of preparatory patches for VDSO support: use _install_special_mapping, and randomize the sigpage placement above stack. - Add L2 ePAPR DT cache properties so that DT can specify the cache geometry. - Preparatory patch for FIQ (NMI) kernel C code for things like spinlock lockup debug. Following on from this are a couple of my patches cleaning up show_regs() and removing an unused (probably since 1.x days) do_unexp_fiq() function. - Use pr_warn() rather than pr_warning(). - A number of cleanups (smp, footbridge, return_address)" * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (21 commits) ARM: 8167/1: extend the reserved memory for initrd to be page aligned ARM: 8168/1: extend __init_end to a page align address ARM: 8169/1: l2c: parse cache properties from ePAPR definitions ARM: 8160/1: drop warning about return_address not using unwind tables ARM: 8161/1: footbridge: select machine dir based on ARCH_FOOTBRIDGE ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h ARM: 8155/1: place sigpage at a random offset above stack ARM: 8154/1: use _install_special_mapping for sigpage ARM: 8153/1: Enable gcov support on the ARM architecture ARM: Avoid writing to control register on every exception ARM: 8152/1: Convert pr_warning to pr_warn ARM: remove unused do_unexp_fiq() function ARM: remove extraneous newline in show_regs() ARM: 8150/3: fiq: Replace default FIQ handler ARM: 8140/1: ep93xx: Enable DEBUG_LL_UART_PL01X ARM: 8139/1: versatile: Enable DEBUG_LL_UART_PL01X ARM: 8138/1: drop ISAR0 workaround for B15 ARM: 8136/1: sa1100: add Micro ASIC platform device ARM: 8131/1: arm/smp: Absorb boot_secondary() ARM: 8126/1: crypto: enable NEON SHA-384/SHA-512 for big endian ... commit e4e65676f272adb63655a2ca95207e8212d282f1 Merge: f89f4a0 f439ed2 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:27:39 2014 -0400 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm Pull KVM updates from Paolo Bonzini: "Fixes and features for 3.18. Apart from the usual cleanups, here is the summary of new features: - s390 moves closer towards host large page support - PowerPC has improved support for debugging (both inside the guest and via gdbstub) and support for e6500 processors - ARM/ARM64 support read-only memory (which is necessary to put firmware in emulated NOR flash) - x86 has the usual emulator fixes and nested virtualization improvements (including improved Windows support on Intel and Jailhouse hypervisor support on AMD), adaptive PLE which helps overcommitting of huge guests. Also included are some patches that make KVM more friendly to memory hot-unplug, and fixes for rare caching bugs. Two patches have trivial mm/ parts that were acked by Rik and Andrew. Note: I will soon switch to a subkey for signing purposes" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (157 commits) kvm: do not handle APIC access page if in-kernel irqchip is not in use KVM: s390: count vcpu wakeups in stat.halt_wakeup KVM: s390/facilities: allow TOD-CLOCK steering facility bit KVM: PPC: BOOK3S: HV: CMA: Reserve cma region only in hypervisor mode arm/arm64: KVM: Report correct FSC for unsupported fault types arm/arm64: KVM: Fix VTTBR_BADDR_MASK and pgd alloc kvm: Fix kvm_get_page_retry_io __gup retval check arm/arm64: KVM: Fix set_clear_sgi_pend_reg offset kvm: x86: Unpin and remove kvm_arch->apic_access_page kvm: vmx: Implement set_apic_access_page_addr kvm: x86: Add request bit to reload APIC access page address kvm: Add arch specific mmu notifier for page invalidation kvm: Rename make_all_cpus_request() to kvm_make_all_cpus_request() and make it non-static kvm: Fix page ageing bugs kvm/x86/mmu: Pass gfn and level to rmapp callback. x86: kvm: use alternatives for VMCALL vs. VMMCALL if kernel text is read-only kvm: x86: use macros to compute bank MSRs KVM: x86: Remove debug assertion of non-PAE reserved bits kvm: don't take vcpu mutex for obviously invalid vcpu ioctls kvm: Faults which trigger IO release the mmap_sem ... commit f89f4a06a59f30dec64b2afc4111426fc01e9e12 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 8 05:23:02 2014 -0400 Fix up missing dmaengine header inclusion from qce crypto engine Commit 7bced397510a ("net_dma: simple removal") removed the long-dead net_dma code, but unintentionally broke the build for the qualcomm crypto engine (qce) that had accidentally depended on the inclusion of <linux/dmaengine.h> through the networking header files that used to have it. Add the required dmaengine.h include explicitly to fix the breakage. Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 2dee5c43da3a981489a4f18972827139afcbee82 Author: Andi Kleen <andi@xxxxxxxxxxxxxx> Date: Wed Sep 24 06:32:19 2014 +0200 x86: Fix section conflict for numachip A variable cannot be both __read_mostly and const. This is a meaningless combination. Just make it only const. This fixes the LTO build with numachip enabled. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411533139-25708-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 0e6d3112a4e95d55cf6dca88f298d5f4b8f29bd1 Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Sun Sep 7 21:05:05 2014 +0100 x86: Reject x32 executables if x32 ABI not supported It is currently possible to execve() an x32 executable on an x86_64 kernel that has only ia32 compat enabled. However all its syscalls will fail, even _exit(). This usually causes it to segfault. Change the ELF compat architecture check so that x32 executables are rejected if we don't support the x32 ABI. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410120305.6822.9.camel@xxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit a9282d01cf357379ce29103cec5e7651a53c634d Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:05 2014 +1100 cxl: Add documentation for userspace APIs This documentation gives an overview of the hardware architecture, userspace APIs via /dev/cxl/afuM.N and the syfs files. It also adds a MAINTAINERS file entry for cxl. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 881632c905f29fd7173250fd1d5b3a9a769d02be Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:04 2014 +1100 cxl: Add driver to Kbuild and Makefiles Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 66b43081c0bde3171208a7cb52f5807dce4a79e4 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:03 2014 +1100 cxl: Add userspace header file This adds a header file for use by userspace programs wanting to interact with the kernel cxl driver. It defines structs and magic numbers required for userspace to interact with devices in /dev/cxl/afuM.N. Further documentation on this interface is added in a subsequent patch in Documentation/powerpc/cxl.txt. It also adds this new userspace header file to Kbuild so it's exported when doing "make headers_installs". Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f204e0b8cedd7da1dfcfd05ed6b7692737e24029 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:02 2014 +1100 cxl: Driver code for powernv PCIe based cards for userspace access This is the core of the cxl driver. It adds support for using cxl cards in the powernv environment only (ie POWER8 bare metal). It allows access to cxl accelerators by userspace using the /dev/cxl/afuM.N char devices. The kernel driver has no knowledge of the function implemented by the accelerator. It provides services to userspace via the /dev/cxl/afuM.N devices. When a program opens this device and runs the start work IOCTL, the accelerator will have coherent access to that processes memory using the same virtual addresses. That process may mmap the device to access any MMIO space the accelerator provides. Also, reads on the device will allow interrupts to be received. These services are further documented in a later patch in Documentation/powerpc/cxl.txt. Documentation of the cxl hardware architecture and userspace API is provided in subsequent patches. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 10542ca0156f60571ef41799d44d40dd4cb0a473 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:01 2014 +1100 cxl: Add base builtin support This adds the base cxl support that cannot be built as a module. Specifically it adds the cxl callbacks that are called from the core powerpc mm code which must always exist irrespective of if the cxl module is loaded or not. This is similar to how cell works with CONFIG_SPU_BASE. This adds a cxl_slbia() call (similar to spu_flush_all_slbs()) which checks if the cxl module is loaded and in use, returning immediately if it is not. If it is in use it calls into the cxl SLB invalidation code. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4c6d9acce1f4ca815881f0e3adca192795eca1c5 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:55:00 2014 +1100 powerpc/mm: Add hooks for cxl This adds hooks into the core powerpc mm code for cxl. The core powerpc code sometimes uses local tlbie. Unfortunately this won't work with the current cxl driver as it relies on snooping tlbie broadcasts. The cxl hardware can have TLB entries invalidated via MMIO but this is not currently supported by the driver. In future we can make local tlbie smarter so that it invalidates cxl contexts via MMIO when it needs to but for now we have this workaround. This workaround checks for any active cxl contexts and if so, disables local tlbie. This also adds a hook for when SLBs are invalidated. This ensures any corresponding SLBs in cxl are also invalidated at the same time. This is required for segment demotion. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 09521736011e83003ca3cf7d9a31c43148306a20 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:59 2014 +1100 powerpc/opal: Add PHB to cxl mode call This adds the OPAL call to change a PHB into cxl mode. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a1dca3465a7be53980abab1e0d6646176fdc075f Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:58 2014 +1100 powerpc/mm: Add new hash_page_mm() This adds a new function hash_page_mm() based on the existing hash_page(). This version allows any struct mm to be passed in, rather than assuming current. This is useful for servicing co-processor faults which are not in the context of the current running process. We need to be careful here as the current hash_page() assumes current in a few places. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 80c49c7e4a397bb245d72a78e41640eeb0b6e953 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:57 2014 +1100 powerpc/powerpc: Add new PCIe functions for allocating cxl interrupts This adds a number of functions for allocating IRQs under powernv PCIe for cxl. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1cd258d7faccb330145f08d838608b2c6ad41604 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:56 2014 +1100 cxl: Add new header for call backs and structs This new header adds callbacks and structs needed by the rest of the kernel to hook into the cxl infrastructure. This adds the cxl_ctx_in_use() function for use in the mm code to see if any cxl contexts are currently in use. This is used by the tlbie() to determine if it can do local TLB invalidations or not. This also adds get/put calls for the cxl driver module to refcount the active cxl contexts. cxl_ctx_get/put/in_use are static inlined here as they are called in tlbie which we want to be fast (mpe's suggestion). Empty functions are provided when CONFIG_CXL_BASE is not enabled. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fd9a1c26ae7d70a2dc1eafad7b9bf076ad8b67d9 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:55 2014 +1100 powerpc/powernv: Split out set MSI IRQ chip code Some of the MSI IRQ code in pnv_pci_ioda_msi_setup() is generically useful so split it out. This will be used by some of the cxl PCIe code later. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8ca7a82f7b64ad29206daba7bdaf2f8766437243 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:54 2014 +1100 powerpc/mm: Export mmu_kernel_ssize and mmu_linear_psize Export mmu_kernel_ssize and mmu_linear_psize. These are needed by the cxl driver which has it's own MMU. To setup the MMU cxl needs access to these. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit b0345bbc6d0980e63b9730b487d4f4ccb8e5cd12 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:53 2014 +1100 powerpc/msi: Improve IRQ bitmap allocator Currently msi_bitmap_alloc_hwirqs() will round up any IRQ allocation requests to the nearest power of 2. eg. ask for 5 IRQs and you'll get 8. This wastes a lot of IRQs which can be a scarce resource. For cxl we may require multiple IRQs for every context that is attached to the accelerator. There may be 1000s of contexts attached, hence we can easily run out of IRQs, especially if we are needlessly wasting them. This changes the msi_bitmap_alloc_hwirqs() to allocate only the required number of IRQs, hence avoiding this wastage. It keeps the natural alignment requirement though. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit be3ebfe8215392b714349554c5138b8b6592fe20 Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:52 2014 +1100 powerpc/cell: Make spu_flush_all_slbs() generic This moves spu_flush_all_slbs() into a generic call copro_flush_all_slbs(). This will be useful when we add cxl which also needs a similar SLB flush call. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 73d16a6e0e51990cbe13f8d8f43bd5329bbab30a Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:51 2014 +1100 powerpc/cell: Move data segment faulting code out of cell platform __spu_trap_data_seg() currently contains code to determine the VSID and ESID required for a particular EA and mm struct. This code is generically useful for other co-processors. This moves the code of the cell platform so it can be used by other powerpc code. It also adds 1TB segment handling which Cell didn't support. The new function is called copro_calculate_slb(). This also moves the internal struct spu_slb to a generic struct copro_slb which is now used in the Cell and copro code. We use this new struct instead of passing around esid and vsid parameters. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e83d01697583d8610d1d62279758c2a881e3396f Author: Ian Munsie <imunsie@xxxxxxxxxxx> Date: Wed Oct 8 19:54:50 2014 +1100 powerpc/cell: Move spu_handle_mm_fault() out of cell platform Currently spu_handle_mm_fault() is in the cell platform. This code is generically useful for other non-cell co-processors on powerpc. This patch moves this function out of the cell platform into arch/powerpc/mm so that others may use it. Signed-off-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d29c0afe4db72ceb72149c3894a6079674e9751f Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Oct 3 20:15:36 2014 +0200 GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0) use macro definition Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit aece118e487a744eafcdd0c77fe32b55ee2092a1 Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Tue Oct 7 01:19:49 2014 +0100 x86: Add cpu_detect_cache_sizes to init_intel() add Quark legacy_cache() Intel processors which don't report cache information via cpuid(2) or cpuid(4) need quirk code in the legacy_cache_size callback to report this data. For Intel that callback is is intel_size_cache(). This patch enables calling of cpu_detect_cache_sizes() inside of init_intel() and hence the calling of the legacy_cache callback in intel_size_cache(). Adding this call will ensure that PIII Tualatin currently in intel_size_cache() and Quark SoC X1000 being added to intel_size_cache() in this patch will report their respective cache sizes. This model of calling cpu_detect_cache_sizes() is consistent with AMD/Via/Cirix/Transmeta and Centaur. Also added is a string to idenitfy the Quark as Quark SoC X1000 giving better and more descriptive output via /proc/cpuinfo Adding cpu_detect_cache_sizes to init_intel() will enable calling of intel_size_cache() on Intel processors which currently no code can reach. Therefore this patch will also re-enable reporting of PIII Tualatin cache size information as well as add Quark SoC X1000 support. Comment text and cache flow logic suggested by Thomas Gleixner Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Cc: davej@xxxxxxxxxx Cc: hmh@xxxxxxxxxx Link: http://lkml.kernel.org/r/1412641189-12415-3-git-send-email-pure.logic@xxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2075244f9b871f18a007935c73d2ab49d4fb43e0 Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Tue Oct 7 01:19:48 2014 +0100 x86: Quark: Comment setup_arch() to document TLB/PGE bug Quark SoC X1000 advertises Page Global Enable for it's Translation Lookaside Buffer via cpuid. The silicon does not in fact support PGE and hence will not flush the TLB when CR4.PGE is rewritten. The Quark documentation makes clear the necessity to instead rewrite CR3 in order to flush any TLB entries, irrespective of the state of CR4.PGE or an individual PTE.PGE See Intel Quark Core DevMan_001.pdf section 6.4.11 In setup.c setup_arch() the code will load_cr3() and then do a __flush_tlb_all(). On Quark the entire TLB will be flushed at the load_cr3(). The __flush_tlb_all() have no effect and can be safely ignored. Later on in the boot process we switch off the flag for cpu_has_pge() which means that subsequent calls to __flush_tlb_all() will call __flush_tlb() not __flush_tlb_global() flushing the TLB in the correct way via load_cr3() not CR4.PGE rewrite This patch documents the behaviour of flushing the TLB for Quark in setup_arch() Comment text suggested by Thomas Gleixner Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Cc: davej@xxxxxxxxxx Cc: hmh@xxxxxxxxxx Link: http://lkml.kernel.org/r/1412641189-12415-2-git-send-email-pure.logic@xxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 5f1d919a8ca15f450c749227bc5e2e18f3cbfdb4 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Wed Sep 24 08:40:14 2014 +0100 x86: Improve cmpxchg8b_emu.S - don't include unneeded headers - drop redundant entry point label - complete unwind annotations - use .L prefix on local labels to not clutter the symbol table Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/5422917E0200007800038081@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 3f63572187f5ae6a0a9e5ebee88b57e6f71c3cd4 Author: Jan Beulich <JBeulich@xxxxxxxx> Date: Wed Sep 24 08:37:00 2014 +0100 x86: Improve cmpxchg16b_emu.S - don't include unneeded headers - don't open-code PER_CPU_VAR() - drop redundant entry point label - complete unwind annotations - use .L prefix on local label to not clutter the symbol table Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> Link: http://lkml.kernel.org/r/542290BC020000780003807D@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 62d3ab49b8a5438d11a11605ea1a6d2fe0118f32 Author: Zach Brown <zab@xxxxxxxxx> Date: Mon Oct 6 16:40:13 2014 -0700 target/file: fix inclusive vfs_fsync_range() end Both of the file target's calls to vfs_fsync_range() got the end offset off by one. The range is inclusive, not exclusive. It would sync a bit more data than was required. The sync path already tested the length of the range and fell back to LLONG_MAX so I copied that pattern in the rw path. This is untested. I found the errors by inspection while following other code. Signed-off-by: Zach Brown <zab@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9f3e3cacb2ffdefe28c7cf490bf543e4dcb2770a Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Tue Jul 22 20:40:04 2014 +0530 dt: mailbox: add generic bindings Define generic bindings for the framework clients to request mailbox channels. Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 15320fbcec69dc3a4f217044ed848e4225397e25 Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Tue Jul 22 20:05:58 2014 +0530 doc: add documentation for mailbox framework Some explanations with examples of how to write to implement users and providers of the mailbox framework. Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit 2b6d83e2b8b7de82331a6a1dcd64b51020a6031c Author: Jassi Brar <jaswinder.singh@xxxxxxxxxx> Date: Thu Jun 12 22:31:19 2014 +0530 mailbox: Introduce framework for mailbox Introduce common framework for client/protocol drivers and controller drivers of Inter-Processor-Communication (IPC). Client driver developers should have a look at include/linux/mailbox_client.h to understand the part of the API exposed to client drivers. Similarly controller driver developers should have a look at include/linux/mailbox_controller.h Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Jassi Brar <jaswinder.singh@xxxxxxxxxx> commit f2fc42b6ac31f4d808da7a9da460dd433a71e976 Author: Suman Anna <s-anna@xxxxxx> Date: Thu Jun 12 22:30:34 2014 +0530 mailbox: rename pl320-ipc specific mailbox.h The patch 30058677 "ARM / highbank: add support for pl320 IPC" added a pl320 IPC specific header file as a generic mailbox.h. This file has been renamed appropriately to allow the introduction of the generic mailbox API framework. Acked-by: Mark Langsdorf <mark.langsdorf@xxxxxxxxxxx> Cc: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Suman Anna <s-anna@xxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 9a50aaefc1b896e734bf7faf3d085f71a360ce97 Merge: 1e345ac 19ac97f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:29:18 2014 -0400 Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI updates from James Bottomley: "This patch set consists of the usual driver updates (megaraid_sas, arcmsr, be2iscsi, lpfc, mpt2sas, mpt3sas, qla2xxx, ufs) plus several assorted fixes and miscellaneous updates (including the pci_msix_enable_range() changes that have been pending for a while)" * tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (202 commits) scsi: add a CONFIG_SCSI_MQ_DEFAULT option ufs: definitions for phy interface ufs: tune bkops while power managment events ufs: Add support for clock scaling using devfreq framework ufs: Add freq-table-hz property for UFS device ufs: Add support for clock gating ufs: refactor configuring power mode ufs: add UFS power management support ufs: introduce well known logical unit in ufs ufs: manually add well known logical units ufs: Active Power Mode - configuring bActiveICCLevel ufs: improve init sequence ufs: refactor query descriptor API support ufs: add voting support for host controller power ufs: Add clock initialization support ufs: Add regulator enable support ufs: Allow vendor specific initialization scsi: don't add scsi_device if its already visible scsi: fix the type for well known LUs scsi: fix comment in struct Scsi_Host definition ... commit 1e345ac6869cd2f2d5d4b780fc5d5332dd1e8905 Merge: 39520ee 447a8b8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:26:52 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: "A few new haptic/button drivers, a rudimentary support for laptops using FocalTech touchpads; xpad driver will bind to more devices, and a few other driver fixes." * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: Input: soc_button_array - convert to platform bus Input: palmas-pwrbutton - fix typo in the license string Input: palmas-pwrbutton - use IRQF_ONESHOT Input: psmouse - add support for detecting FocalTech PS/2 touchpads Input: psmouse - add psmouse_matches_pnp_id helper function Input: joystick - use ktime for measuring timing Input: add haptic driver on max77693 Input: introduce palmas-pwrbutton Input: add support for the DRV2667 haptic driver Input: xpad - sync device IDs with xboxdrv Input: xpad - add VID/PID for Razer Sabertooth Input: cros_ec_keyb - optimize ghosting algorithm Input: drv260x - fix binding document Input: drv260x - add check for ERM mode and LRA Libraries Input: drv260x - remove unused defines Input: drv260x - add TI drv260x haptics driver commit 39520eea198a7fbba35f4c7cffb4323f78455716 Merge: 28596c9 ee5db7e Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:17:29 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid Pull HID updates from Jiri Kosina: - quirk for devices that need to be pulled in much more aggresive way than mandated, by Johan Hovold - robustification of sanity checking of incoming reports in RMI driver, by Benjamin Tissoires - fixes, updates, and new HW support to SONY driver, by Frank Praznik - port of uHID to the new transport layer layout, by David Herrmann - robustification of Clear-Halt/reset in USB HID, by Alan Stern - native support for hopefully any future HID compliant wacom tablet. Those found on the various laptops (ISDv4/5) already are HID compliant and they should work in the future without any modification of the kernel. Written by Benjamin Tissoires. - a lot more simple fixes and device ID additions all over the place * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (45 commits) HID: uHID: fix excepted report type HID: usbhid: add another mouse that needs QUIRK_ALWAYS_POLL HID: wacom: implement the finger part of the HID generic handling HID: wacom: implement generic HID handling for pen generic devices HID: wacom: move allocation of inputs earlier HID: wacom: split out input allocation and registration HID: wacom: rename failN with some meaningful information HID: sony: Update the DualShock 4 touchpad resolution HID: wacom: fix timeout on probe for some wacoms HID: sony: Set touchpad bits in the input_configured callback HID: sony: Update file header and correct comments HID: sony: Corrections for the DualShock 4 HID descriptor HID: rmi: check sanity of the incoming report HID: wacom: make the WL connection friendly for the desktop HID: wacom - enable LED support for Wireless Intuos5/Pro HID: wacom - remove report_id from wacom_get_report interface HID: wacom - Clean up of sysfs HID: wacom - Add default permission defines for sysfs attributes HID: usbhid: fix PIXART optical mouse HID: Add Holtek USB ID 04d9:a0c2 ETEKCITY Scroll ... commit 28596c9722289b2f98fa83a2e4351eb0a031b953 Merge: b6420eb 7bb38d5 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:16:26 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull "trivial tree" updates from Jiri Kosina: "Usual pile from trivial tree everyone is so eagerly waiting for" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits) Remove MN10300_PROC_MN2WS0038 mei: fix comments treewide: Fix typos in Kconfig kprobes: update jprobe_example.c for do_fork() change Documentation: change "&" to "and" in Documentation/applying-patches.txt Documentation: remove obsolete pcmcia-cs from Changes Documentation: update links in Changes Documentation: Docbook: Fix generated DocBook/kernel-api.xml score: Remove GENERIC_HAS_IOMAP gpio: fix 'CONFIG_GPIO_IRQCHIP' comments tty: doc: Fix grammar in serial/tty dma-debug: modify check_for_stack output treewide: fix errors in printk genirq: fix reference in devm_request_threaded_irq comment treewide: fix synchronize_rcu() in comments checkstack.pl: port to AArch64 doc: queue-sysfs: minor fixes init/do_mounts: better syntax description MIPS: fix comment spelling powerpc/simpleboot: fix comment ... commit b6420ebd4a541455a75f9802f58cfa3ba0ea5390 Merge: d290106 0415447 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:14:57 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/doc Pull documentation updates from Jiri Kosina: "Updates to kernel documentation. I took this over (hopefully temporarily) from Randy who was not willing to maintain it any longer. This pile mostly is a relay of queue that Randy already had in his tree" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/doc: Documentation: fix broken v4l-utils URL Documentation: update include path for mpssd Documentation: correct parameter error for dma_mapping_error MAINTAINERS: update location of linux-doc tree Documentation: remove networking/.gitignore tools: add more endian.h macros Make Documenation depend on headers_install Docs: this_cpu_ops: remove redundant add forms Documentation: disable vdso_test to avoid breakage with old glibc Documentation: update vDSO makefile to build portable examples Documentation: update .gitignore files Documentation: support glibc versions without htole macros v4l2-pci-skeleton: Only build if PCI is available Documentation: fix misc. warnings Documentation: make functions static to avoid prototype warnings Documentation: add makefiles for more targets Documentation: use subdir-y to avoid unnecessary built-in.o files commit d29010694c7e78dadc0e3862b29481e0c4b48f04 Merge: 81e29b7 a2285b8 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:12:56 2014 -0400 Merge tag 'spi-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi Pull spi updates from Mark Brown: "A quiet release for SPI, mainly driver updates and not too many of them: - Support for dummy transfers (for delays on startup) in drivers using transfer_one(). - Lots of enhancements to the Designware driver to support new Intel SoCs. - Support for newer Renesas chips. - DMA support for the i.MX driver. - One new driver for Broadcom BCM53xx chips" * tag 'spi-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (64 commits) spi: spi-mxs: fix a tiny typo in a comment spi: dw-mid: follow new DMAengine workflow spi: dw-mid: convert to use DMAengine wrappers spi: dw-mid: change magic numbers to the constants spi: orion: support armada extended baud rates spi: fsl: Sort include headers alphabetically spi: bcm53xx: Add missing module information spi: bcm53xx: Fix module dependency spi/rockchip: fix bug that cause the failure to read data in DMA mode spi: fsl-dspi: Remove probe info message spi: pl022: Add support for chip select extension spi: Fix possible ZERO_SIZE_PTR pointer dereferencing error. spi: dw: fix style of code in few places spi: dw: introduce support of loopback mode spi: dw-mid: terminate ongoing transfers at exit spi: dw-mid: respect 8 bit mode spi: clps711x: Migrate to the new clk subsystem spi: pl022: Add missing error check for devm_kzalloc spi: spi-imx: add DMA support spi: davinci: add support for adding delay between word's transmissions ... commit 81e29b7d1be91ac78e561659171dd79af042aafd Merge: c831dd7 ad21edc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 21:07:48 2014 -0400 Merge tag 'regulator-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator Pull regulator updates from Mark Brown: "This time around most of the changes are a lot of new drivers along with the standard set of fixes and cleanups (thanks again largely to Axel Lin). We do have one nice new feature in the core which factors out the disappointingly tricky code around DT parsing, only a couple of drivers have been converted so far: - Factor out the code for parsing the standard bindings for a set of regulators out of DT, making the probe part of a lot of drivers simplier. - New drivers for Dialog DA9213, HiSilicon HI6420, Intersil ISL9305/H, Ricoh RN5T618, Rockchip RK808, Skyworks SKY81452, Silergy SYR82x, and Qualcomm RPM" * tag 'regulator-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (71 commits) regulator: da9211: Fix a bug in update of mask bit regulator: pwm-regulator: add devicetree bindings for pwm regulator regulator: pwm-regulator: get voltage and duty table from dts regulator: qcom_rpm: Fix FORCE_MODE_IS_2_BITS macro regulator: qcom_rpm: Don't explicitly initialise the first field of config regulator: ltc3589: fix broken voltage transitions regulator: qcom-rpm: Regulator driver for the Qualcomm RPM regulator: axp20x: Use parent device as regulator configuration device regulator: fan53555: Fix null pointer dereference regulator: fan53555: Fixup report wrong vendor message regulator: fan53555: fix wrong cast in probe regulator: fan53555: add support for Silergy SYR82x regulators regulator: fan53555: add devicetree support regulator: add devicetree bindings for Fairchild FAN53555 regulators regulator: rk808: Add function for ramp delay for buck1/buck2 regulator: fan53555: use set_ramp_delay to set the ramp up slew rate regulator: fan53555: enable vin supply regulator: rk808: Fix missing of_node_put regulator: rk808: Remove unused variables regulator: of: Add stub OF match function for !OF case ... commit c831dd7352c0eedb270b9b6430590da5991bb65c Merge: 2b425a3 f5b313a Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 20:57:56 2014 -0400 Merge tag 'regmap-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap Pull regmap updates from Mark Brown: "The main update this time around is the addition of a standard DT binding for specifying the endianness of devices. This allows drivers to support any endianness of device register map without any code, useful for configurable IP blocks. There's also a few bug fixes that I didn't get round to sending, none of them terribly severe or new, and a reduction in size for struct regmap" * tag 'regmap-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: regmap: Fix debugfs-file 'registers' mode regmap: fix possible ZERO_SIZE_PTR pointer dereferencing error. regmap: debugfs: fix possbile NULL pointer dereference regmap: fix NULL pointer dereference in _regmap_write/read regmap: fix NULL pointer dereference in regmap_get_val_endian regmap: cache: Do not fail silently from regcache_sync calls regmap: change struct regmap's internal locks as union regmap: Split regmap_get_endian() in two functions regmap: of_regmap_get_endian() cleanup regmap: Fix DT endianess parsing logic regmap: Add explicit dependencies to catch "select" misuse regmap: Restore L: linux-kernel@xxxxxxxxxxxxxxx entry regmap: Add the DT binding documentation for endianness regmap: add DT endianness binding support. commit 2b425a3f112aa24666fc5f415c8bf0e9132bb6c0 Merge: c91662c 2cdef8f Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 20:56:28 2014 -0400 Merge tag 'pinctrl-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control changes from Linus Walleij: "This is the bulk of pin control changes for the v3.18 development series: - New drivers for the Freescale i.MX21, Qualcomm APQ8084 pin controllers. - Incremental new features on the Rockchip, atlas 6, OMAP, AM437x, APQ8064, prima2, AT91, Tegra, i.MX, Berlin and Nomadik. - Push Freescale drivers down into their own subdirectory. - Assorted sprays of syntax and semantic fixes" * tag 'pinctrl-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (48 commits) pinctrl: specify bindings for pins and groups pinctrl: nomadik: improve GPIO debug prints pinctrl: abx500: refactor DT parser to take two paths pinctrl: abx500: use helpers for map allocation/free pinctrl: alter device tree bindings for functions pinctrl: nomadik: refactor DT parser to take two paths pinctrl: nomadik: use utils map free function pinctrl: nomadik: use util function to reserve maps pinctrl: qcom: use restart_notifier mechanism for ps_hold pinctrl: sh-pfc: sh73a0: Remove unnecessary SoC data allocation pinctrl: berlin: fix the dt_free_map function pinctrl: at91: disable PD or PU before enabling PU or PD pinctrl: st: remove gpiochip in failure cases pinctrl: at91: Fix error handling while doing gpiochio_irqchip_add pinctrl: at91: Fix failure path in at91_gpio_probe path pinctrl: lantiq: Release gpiochip resources in fail case pinctrl: imx: detect uninitialized pins pinctrl: tegra: Add MIPI pad control pinctrl: at91: Switch to using managed clk_get pinctrl: adi2: Remove duplicate gpiochip_remove_pin_ranges ... commit c91662cb18f00f225c74816353f222b6997131ca Merge: d0cd848 a18c3f1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 20:54:50 2014 -0400 Merge tag 'edac_for_3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp Pull EDAC fixes from Borislav Petkov: "Misc small fixes/improvements accumulated from the summer months, nothing earth-shattering. The mpc85xx_edac fix is tagged for stable but since it got confirmed only days before the final 3.17 release, I didn't rush a last minute pull request to you. I hope that's ok as it will trickle down to stable anyway and we'll make sure it lands in 3.17-stable too" * tag 'edac_for_3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: mpc85xx_edac: Make L2 interrupt shared too amd64_edac: Modify usage of amd64_read_dct_pci_cfg() ppc4xx_edac: Fix build error caused by wrong member access EDAC: Fix mem_types strings type commit d0cd84817c745655428dbfdb1e3f754230b46bef Merge: bdf428f 3f33407 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 20:39:25 2014 -0400 Merge tag 'dmaengine-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine Pull dmaengine updates from Dan Williams: "Even though this has fixes marked for -stable, given the size and the needed conflict resolutions this is 3.18-rc1/merge-window material. These patches have been languishing in my tree for a long while. The fact that I do not have the time to do proper/prompt maintenance of this tree is a primary factor in the decision to step down as dmaengine maintainer. That and the fact that the bulk of drivers/dma/ activity is going through Vinod these days. The net_dma removal has not been in -next. It has developed simple conflicts against mainline and net-next (for-3.18). Continuing thanks to Vinod for staying on top of drivers/dma/. Summary: 1/ Step down as dmaengine maintainer see commit 08223d80df38 "dmaengine maintainer update" 2/ Removal of net_dma, as it has been marked 'broken' since 3.13 (commit 77873803363c "net_dma: mark broken"), without reports of performance regression. 3/ Miscellaneous fixes" * tag 'dmaengine-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/dmaengine: net: make tcp_cleanup_rbuf private net_dma: revert 'copied_early' net_dma: simple removal dmaengine maintainer update dmatest: prevent memory leakage on error path in thread ioat: Use time_before_jiffies() dmaengine: fix xor sources continuation dma: mv_xor: Rename __mv_xor_slot_cleanup() to mv_xor_slot_cleanup() dma: mv_xor: Remove all callers of mv_xor_slot_cleanup() dma: mv_xor: Remove unneeded mv_xor_clean_completed_slots() call ioat: Use pci_enable_msix_exact() instead of pci_enable_msix() drivers: dma: Include appropriate header file in dca.c drivers: dma: Mark functions as static in dma_v3.c dma: mv_xor: Add DMA API error checks ioat/dca: Use dev_is_pci() to check whether it is pci device commit 28b7deae75642c51f097391765fd39ff0dd6ce95 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 7 22:12:03 2014 +0200 wimax: convert printk to pr_foo() Use current logging functions and add module name prefix. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdf428feb225229b1d4715b45bbdad4a934cd89c Merge: a40a720 184c3fc Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 20:17:38 2014 -0400 Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux Pull module update from Rusty Russell: "Nothing major: support for compressing modules, and auto-tainting params. PS. My virtio-next tree is empty: DaveM took the patches I had. There might be a virtio-rng starvation fix, but so far it's a bit voodoo so I will get to that in the next two days or it will wait" * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux: moduleparam: Resolve missing-field-initializer warning kbuild: handle module compression while running 'make modules_install'. modinst: wrap long lines in order to enhance cmd_modules_install modsign: lookup lines ending in .ko in .mod files modpost: simplify file name generation of *.mod.c files modpost: reduce visibility of symbols and constify r/o arrays param: check for tainting before calling set op. drm/i915: taint the kernel if unsafe module parameters are set module: add module_param_unsafe and module_param_named_unsafe module: make it possible to have unsafe, tainting module params module: rename KERNEL_PARAM_FL_NOARG to avoid confusion commit 1e99cfa8de0f0879091e33cd65fd60418d006ad9 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 19:04:58 2014 +1100 drm/ast: Fix HW cursor image The translation from the X driver to the KMS one typo'ed a couple of array indices, causing the HW cursor to look weird (blocky with leaking edge colors). This fixes it. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 960baba41f3cfb0a97bb1f0e720334156b2eff75 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 7 18:19:53 2014 +0200 ASoC: imx-es8328: Fix of_node_put() call with uninitialized object The of_node_put() calls in imx_es8328_probe() may take uninitialized pointers when reached though the early error path. This patch adds the proper NULL initialization for fixing these. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 37017ac6849e772e67dd187ba2fbd056c4afa533 Author: Scott Carter <ccscott@xxxxxxxxxxx> Date: Wed Sep 24 18:13:09 2014 -0700 pata_serverworks: disable 64-KB DMA transfers on Broadcom OSB4 IDE Controller The Broadcom OSB4 IDE Controller (vendor and device IDs: 1166:0211) does not support 64-KB DMA transfers. Whenever a 64-KB DMA transfer is attempted, the transfer fails and messages similar to the following are written to the console log: [ 2431.851125] sr 0:0:0:0: [sr0] Unhandled sense code [ 2431.851139] sr 0:0:0:0: [sr0] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE [ 2431.851152] sr 0:0:0:0: [sr0] Sense Key : Hardware Error [current] [ 2431.851166] sr 0:0:0:0: [sr0] Add. Sense: Logical unit communication time-out [ 2431.851182] sr 0:0:0:0: [sr0] CDB: Read(10): 28 00 00 00 76 f4 00 00 40 00 [ 2431.851210] end_request: I/O error, dev sr0, sector 121808 When the libata and pata_serverworks modules are recompiled with ATA_DEBUG and ATA_VERBOSE_DEBUG defined in libata.h, the 64-KB transfer size in the scatter-gather list can be seen in the console log: [ 2664.897267] sr 9:0:0:0: [sr0] Send: [ 2664.897274] 0xf63d85e0 [ 2664.897283] sr 9:0:0:0: [sr0] CDB: [ 2664.897288] Read(10): 28 00 00 00 7f b4 00 00 40 00 [ 2664.897319] buffer = 0xf6d6fbc0, bufflen = 131072, queuecommand 0xf81b7700 [ 2664.897331] ata_scsi_dump_cdb: CDB (1:0,0,0) 28 00 00 00 7f b4 00 00 40 [ 2664.897338] ata_scsi_translate: ENTER [ 2664.897345] ata_sg_setup: ENTER, ata1 [ 2664.897356] ata_sg_setup: 3 sg elements mapped [ 2664.897364] ata_bmdma_fill_sg: PRD[0] = (0x66FD2000, 0xE000) [ 2664.897371] ata_bmdma_fill_sg: PRD[1] = (0x65000000, 0x10000) ------------------------------------------------------> ======= [ 2664.897378] ata_bmdma_fill_sg: PRD[2] = (0x66A10000, 0x2000) [ 2664.897386] ata1: ata_dev_select: ENTER, device 0, wait 1 [ 2664.897422] ata_sff_tf_load: feat 0x1 nsect 0x0 lba 0x0 0x0 0xFC [ 2664.897428] ata_sff_tf_load: device 0xA0 [ 2664.897448] ata_sff_exec_command: ata1: cmd 0xA0 [ 2664.897457] ata_scsi_translate: EXIT [ 2664.897462] leaving scsi_dispatch_cmnd() [ 2664.897497] Doing sr request, dev = sr0, block = 0 [ 2664.897507] sr0 : reading 64/256 512 byte blocks. [ 2664.897553] ata_sff_hsm_move: ata1: protocol 7 task_state 1 (dev_stat 0x58) [ 2664.897560] atapi_send_cdb: send cdb [ 2666.910058] ata_bmdma_port_intr: ata1: host_stat 0x64 [ 2666.910079] __ata_sff_port_intr: ata1: protocol 7 task_state 3 [ 2666.910093] ata_sff_hsm_move: ata1: protocol 7 task_state 3 (dev_stat 0x51) [ 2666.910101] ata_sff_hsm_move: ata1: protocol 7 task_state 4 (dev_stat 0x51) [ 2666.910129] sr 9:0:0:0: [sr0] Done: [ 2666.910136] 0xf63d85e0 TIMEOUT lspci shows that the driver used for the Broadcom OSB4 IDE Controller is pata_serverworks: 00:0f.1 IDE interface: Broadcom OSB4 IDE Controller (prog-if 8e [Master SecP SecO PriP]) Flags: bus master, medium devsel, latency 64 [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [size=8] [virtual] Memory at 000003f0 (type 3, non-prefetchable) [size=1] I/O ports at 0170 [size=8] I/O ports at 0374 [size=4] I/O ports at 1440 [size=16] Kernel driver in use: pata_serverworks The pata_serverworks driver supports five distinct device IDs, one being the OSB4 and the other four belonging to the CSB series. The CSB series appears to support 64-KB DMA transfers, as tests on a machine with an SAI2 motherboard containing a Broadcom CSB5 IDE Controller (vendor and device IDs: 1166:0212) showed no problems with 64-KB DMA transfers. This problem was first discovered when attempting to install openSUSE from a DVD on a machine with an STL2 motherboard. Using the pata_serverworks module, older releases of openSUSE will not install at all due to the timeouts. Releases of openSUSE prior to 11.3 can be installed by disabling the pata_serverworks module using the brokenmodules boot parameter, which causes the serverworks module to be used instead. Recent releases of openSUSE (12.2 and later) include better error recovery and will install, though very slowly. On all openSUSE releases, the problem can be recreated on a machine containing a Broadcom OSB4 IDE Controller by mounting an install DVD and running a command similar to the following: find /mnt -type f -print | xargs cat > /dev/null The patch below corrects the problem. Similar to the other ATA drivers that do not support 64-KB DMA transfers, the patch changes the ata_port_operations qc_prep vector to point to a routine that breaks any 64-KB segment into two 32-KB segments and changes the scsi_host_template sg_tablesize element to reduce by half the number of scatter/gather elements allowed. These two changes affect only the OSB4. Signed-off-by: Scott Carter <ccscott@xxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1c40279960bcd7d52dbdf1d466b20d24b99176c8 Author: George Spelvin <linux@xxxxxxxxxxx> Date: Tue Oct 7 07:26:38 2014 -0400 libata: Un-break ATA blacklist lib/glob.c provides a new glob_match() function, with arguments in (pattern, string) order. It replaced a private function with arguments in (string, pattern) order, but I didn't swap the call site... The result was the entire ATA blacklist was effectively disabled. The lesson for today is "I f***ed up *how* badly *how* many months ago?", er, I mean "Nobody Tests RC Kernels On Legacy Hardware". This was not a subtle break, but it made it through an entire RC cycle unreported, presumably because all the people doing testing have full-featured hardware. (FWIW, the reason for the argument swap was because fnmatch() does it that way, and for a while implementing a full fnmatch() was being considered.) Fixes: 428ac5fc056e0 (libata: Use glob_match from lib/glob.c) Reported-by: Steven Honeyman <stevenhoneyman@xxxxxxxxx> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71371#c21 Signed-off-by: George Spelvin <linux@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.17 Tested-by: Steven Honeyman <stevenhoneyman@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 505e907db388185649d93925c9975d0a0704ea64 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Oct 7 23:02:15 2014 +0200 af_unix: remove 0 assignment on static static values are automatically initialized to 0 Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19ac97ff701ae3c0eda09dd88f590806f1c4eb2d Merge: 24c20f1 e785060 Author: James Bottomley <JBottomley@xxxxxxxxxxxxx> Date: Tue Oct 7 13:48:12 2014 -0700 Merge remote-tracking branch 'scsi-queue/drivers-for-3.18' into for-linus commit d832d743385dd5e735660951aa9d7d36a6a4176a Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Oct 7 16:34:25 2014 -0400 ktest: Don't bother with bisect good or bad on replay If git bisect reply is being used in the bisect tests, don't bother doing the git bisect good or git bisect bad calls. The git bisect reply will override them anyway, and that's called immediately after the other two. Going the git bisect (good|bad) is just a waste of time. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit ea85a0a2dc7263de733b7d1d13a433d35fcf36f7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 7 16:33:53 2014 -0400 ipv6: Do not warn for informational ICMP messages, regardless of type. There is no reason to emit a log message for these. Based upon a suggestion from Hannes Frederic Sowa. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> commit 995bc4314071db148222497875be32d1eb73726d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Oct 7 16:31:07 2014 -0400 ktest: Fix check for new kernel success on rebooting to good kernel The reboot function when rebooting back to a good kernel has a check to make sure that a new kernel was indeed booted. But that check uses a timeout value, which when calling the monitor will still return success if the timeout is hit (no bug was found). It should return an error to let the reboot code know that a new kernel was not reached. Only the reboot code checks the return value of the monitor. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 0d4cf4e6bf29033709ae8aba4645d873ed0167cc Author: Chris Mason <clm@xxxxxx> Date: Tue Oct 7 13:24:20 2014 -0700 Btrfs: fix compiles when CONFIG_BTRFS_FS_RUN_SANITY_TESTS is off Commit fccb84c94 moved added some helpers to cleanup our sanity tests, but it looks like both Dave and I always compile with the tests enabled. This fixes things to work when they are turned off too. Signed-off-by: Chris Mason <clm@xxxxxx> commit 1cef94c36bd4d79b5ae3a3df99ee0d76d6a4a6dc Author: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Date: Tue Oct 7 08:12:37 2014 -0500 sparc64: Increase size of boot string to 1024 bytes This is the longest boot string that silo supports. Signed-off-by: Dave Kleikamp <dave.kleikamp@xxxxxxxxxx> Cc: Bob Picco <bob.picco@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3a803e81713c8d1f3a79afdc35014f3f9f07561 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Oct 3 14:45:00 2014 -0700 Update Intel Ethernet Driver maintainers list I will no longer be working for Intel as of today. As such I am removing myself from the maintainers list and adding my replacement, Matthew Vick as he will be taking over maintenance of the fm10k driver. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93fdd47e52f3f869a437319db9da1ea409acc07e Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Sun Oct 5 12:00:22 2014 +0800 bridge: Save frag_max_size between PRE_ROUTING and POST_ROUTING As we may defragment the packet in IPv4 PRE_ROUTING and refragment it after POST_ROUTING we should save the value of frag_max_size. This is still very wrong as the bridge is supposed to leave the packets intact, meaning that the right thing to do is to use the original frag_list for fragmentation. Unfortunately we don't currently guarantee that the frag_list is left untouched throughout netfilter so until this changes this is the best we can do. There is also a spot in FORWARD where it appears that we can forward a packet without going through fragmentation, mark it so that we can fix it later. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c393d179924685d5c8c72446c5b6401f25fdb2a0 Author: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Date: Tue Oct 7 17:04:30 2014 +0200 ath9k_htc: avoid kernel panic in ath9k_hw_reset hw pointer of ath_hw is not assigned to proper value in function ath9k_hw_reset what finally causes kernel panic. This can be solved by proper initialization of ath_hw in ath9k_init_priv. Signed-off-by: Marek Puzyniak <marek.puzyniak@xxxxxxxxx> Acked-by: Oleksij Rempel <linux@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 02a1335f25a386db9afc68f8315162f862aac93f Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 6 16:11:16 2014 -0700 f2fs: support volatile operations for transient data This patch adds support for volatile writes which keep data pages in memory until f2fs_evict_inode is called by iput. For instance, we can use this feature for the sqlite database as follows. While supporting atomic writes for main database file, we can keep its journal data temporarily in the page cache by the following sequence. 1. open -> ioctl(F2FS_IOC_START_VOLATILE_WRITE); 2. writes : keep all the data in the page cache. 3. flush to the database file with atomic writes a. ioctl(F2FS_IOC_START_ATOMIC_WRITE); b. writes c. ioctl(F2FS_IOC_COMMIT_ATOMIC_WRITE); 4. close -> drop the cached data Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 908344cdda8039dd5c291e8a1ddd49649dff8c4b Author: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Date: Tue Oct 7 14:12:34 2014 -0400 tipc: fix bug in multicast congestion handling One aim of commit 50100a5e39461b2a61d6040e73c384766c29975d ("tipc: use pseudo message to wake up sockets after link congestion") was to handle link congestion abatement in a uniform way for both unicast and multicast transmit. However, the latter doesn't work correctly, and has been broken since the referenced commit was applied. If a user now sends a burst of multicast messages that is big enough to cause broadcast link congestion, it will be put to sleep, and not be waked up when the congestion abates as it should be. This has two reasons. First, the flag that is used, TIPC_WAKEUP_USERS, is set correctly, but in the wrong field. Instead of setting it in the 'action_flags' field of the arrival node struct, it is by mistake set in the dummy node struct that is owned by the broadcast link, where it will never tested for. Second, we cannot use the same flag for waking up unicast and multicast users, since the function tipc_node_unlock() needs to pick the wakeup pseudo messages to deliver from different queues. It must hence be able to distinguish between the two cases. This commit solves this problem by adding a new flag TIPC_WAKEUP_BCAST_USERS, and a new function tipc_bclink_wakeup_user(). The latter is to be called by tipc_node_unlock() when the named flag, now set in the correct field, is encountered. v2: using explicit 'unsigned int' declaration instead of 'uint', as per comment from David Miller. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b18111d911980af52bead74ee45250cc96ad5108 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Tue Oct 7 10:14:37 2014 +0530 ath9k: Fix crash in MCC mode When a channel context is removed, the hw_queue_base is set to -1, this will result in a panic because ath9k_chanctx_stop_queues() can be called on an interface that is not assigned to any context yet - for example, when trying to scan. Fix this issue by setting the hw_queue_base to zero when a channel context is removed. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d2a993e20e717a4ccbfa9a58b29362e4446208a0 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Tue Oct 7 10:14:36 2014 +0530 ath: Fix smatch warning drivers/net/wireless/ath/main.c:88 ath_printk() error: we previously assumed 'common->hw' could be null (see line 82) Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 79ee65659e116a49c81f63480a7672b7cbafa323 Author: Andrea Merello <andrea.merello@xxxxxxxxx> Date: Mon Oct 6 20:23:55 2014 +0200 rtl818x_pci: fix response rate may be incorrect. Currently the allowed "respose rate" set (rates for HW generated frames like ACKs) is the same as the basic rate set. The HW will use the higher allowed response rate that is lower than the rate of the received frame. This is more or less what IEEE80211 mandates, but I missed the fact that IEEE80211 also says that whenever it happens that for a modulation class there is no any rate in the basic rates set, then the response rate set shall include also all the mandatory rates for that modulation class. This patch adds mandatory OFDM rates to the allowed response rate set if no OFDM rate is included in the basic rate set. Depending by the AP, I faced cases in which this patch seems to cause a noticeable perfomance improvement. - With my usual test AP there is no particular perfomance difference. - With a prism54/hostapd AP this patch causes RX thoughput increase from about 5Mbps to about 20Mbps. Hopefully this patch may help people that faced performance regression wrt the old staging driver. Signed-off-by: Andrea Merello <andrea.merello@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d7ffd588f00ef2d9d0f3acc569ddbaebe5c4f8c3 Merge: 3f08e47 f8adaf0a Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Tue Oct 7 14:48:29 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless commit f0d1f04f0a2f662b6b617e24d115fddcf6ef8723 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Oct 7 19:02:11 2014 +0200 netfilter: fix wrong arithmetics regarding NFT_REJECT_ICMPX_MAX NFT_REJECT_ICMPX_MAX should be __NFT_REJECT_ICMPX_MAX - 1. nft_reject_icmp_code() and nft_reject_icmpv6_code() are called from the packet path, so BUG_ON in case we try to access an unknown abstracted ICMP code. This should not happen since we already validate this from nft_reject_{inet,bridge}_init(). Fixes: 51b0a5d ("netfilter: nft_reject: introduce icmp code abstraction for inet and bridge") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5e63dfccf34d4dbf21429c4919f33c028ff49991 Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Tue Oct 7 14:33:46 2014 +0200 ASoC: soc-pcm: fix sig_bits determination in soc_pcm_apply_msb() In the SNDRV_PCM_STREAM_CAPTURE branch in soc_pcm_apply_msb(), look at sig_bits of the capture stream, not the playback one. Spotted by coverity. Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1b2b32dcdb3df28dd103033c73cac2417fa05845 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Sep 24 08:38:44 2014 -0400 locks: fix fcntl_setlease/getlease return when !CONFIG_FILE_LOCKING Currently they both just return 0. Fix them to return more appropriate values instead. For better or worse, most places in the kernel return -EINVAL when leases aren't available. -ENOLCK would probably have been better, but let's follow suit here in the case of F_SETLEASE. In the F_GETLEASE case, just return F_UNLCK since we know that no lease will have been set. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 6e129d00689c4d75253d1d428e82047b0aef5891 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Thu Sep 4 10:25:06 2014 -0400 locks: flock_make_lock should return a struct file_lock (or PTR_ERR) Eliminate the need for a return pointer. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 7ca76311fe6c397e9f332e5e6c79e3310d5ee98a Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Sep 1 19:04:48 2014 -0400 locks: set fl_owner for leases to filp instead of current->files Like flock locks, leases are owned by the file description. Now that the i_have_this_lease check in __break_lease is gone, we don't actually use the fl_owner for leases for anything. So, it's now safe to set this more appropriately to the same value as the fl_file. While we're at it, fix up the comments over the fl_owner_t definition since they're rather out of date. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 4d01b7f5e7576858b71cbaa72b541e17a229cb91 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Sep 1 15:06:54 2014 -0400 locks: give lm_break a return value Christoph suggests: "Add a return value to lm_break so that the lock manager can tell the core code "you can delete this lease right now". That gets rid of the games with the timeout which require all kinds of race avoidance code in the users." Do that here and have the nfsd lease break routine use it when it detects that there was a race between setting up the lease and it being broken. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 03d12ddf845a4eb874ffa558d65a548aee9b715b Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Sep 1 14:53:41 2014 -0400 locks: __break_lease cleanup in preparation of allowing direct removal of leases Eliminate an unneeded "flock" variable. We can use "fl" as a loop cursor everywhere. Add a any_leases_conflict helper function as well to consolidate a bit of code. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 843c6b2f4cef384af8e0de6b7ac7191675030e3a Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Sep 1 14:27:43 2014 -0400 locks: remove i_have_this_lease check from __break_lease I think that the intent of this code was to ensure that a process won't deadlock if it has one fd open with a lease on it and then breaks that lease by opening another fd. In that case it'll treat the __break_lease call as if it were non-blocking. This seems wrong -- the process could (for instance) be multithreaded and managing different fds via different threads. I also don't see any mention of this limitation in the (somewhat sketchy) documentation. Remove the check and the non-blocking behavior when i_have_this_lease is true. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit c45198eda2794bb72601c9f96266d8b95db66dd5 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Mon Sep 1 07:12:07 2014 -0400 locks: move freeing of leases outside of i_lock There was only one place where we still could free a file_lock while holding the i_lock -- lease_modify. Add a new list_head argument to the lm_change operation, pass in a private list when calling it, and fix those callers to dispose of the list once the lock has been dropped. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit f82b4b6780afabce9d9a91c84fae17ec3d63b9d7 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 18:50:48 2014 -0400 locks: move i_lock acquisition into generic_*_lease handlers Now that we have a saner internal API for managing leases, we no longer need to mandate that the inode->i_lock be held over most of the lease code. Push it down into generic_add_lease and generic_delete_lease. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 1c7dd2ff430fa14b45c9def54468e3a25ab8342b Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:55:47 2014 -0400 locks: define a lm_setup handler for leases ...and move the fasync setup into it for fcntl lease calls. At the same time, change the semantics of how the file_lock double-pointer is handled. Up until now, on a successful lease return you got a pointer to the lock on the list. This is bad, since that pointer can no longer be relied on as valid once the inode->i_lock has been released. Change the code to instead just zero out the pointer if the lease we passed in ended up being used. Then the callers can just check to see if it's NULL after the call and free it if it isn't. The priv argument has the same semantics. The lm_setup function can zero the pointer out to signal to the caller that it should not be freed after the function returns. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit e6f5c78930e409f3a6b37f5484313a416359ac7f Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:40:25 2014 -0400 locks: plumb a "priv" pointer into the setlease routines In later patches, we're going to add a new lock_manager_operation to finish setting up the lease while still holding the i_lock. To do this, we'll need to pass a little bit of info in the fcntl setlease case (primarily an fasync structure). Plumb the extra pointer into there in advance of that. We declare this pointer as a void ** to make it clear that this is private info, and that the caller isn't required to set this unless the lm_setup specifically requires it. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 0c637be884f5eaa0ee53396ea7686ec0de03d126 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 12:05:43 2014 -0400 nfsd: don't keep a pointer to the lease in nfs4_file Now that we don't need to pass in an actual lease pointer to vfs_setlease on unlock, we can stop tracking a pointer to the lease in the nfs4_file. Switch all of the places that check the fi_lease to check fi_deleg_file instead. We always set that at the same time so it will have the same semantics. Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit e51673aa5d9a8c75cc836fac687fa4dde9a76182 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 18:13:28 2014 -0400 locks: clean up vfs_setlease kerneldoc comments Some of the latter paragraphs seem ambiguous and just plain wrong. In particular the break_lease comment makes no sense. We call break_lease (and break_deleg) from all sorts of vfs-layer functions, so there is clearly such a method. Also get rid of some of the other comments about what's needed for a full implementation. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 0efaa7e82f02fe69c05ad28e905f31fc86e6f08e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:18:45 2014 -0400 locks: generic_delete_lease doesn't need a file_lock at all Ensure that it's OK to pass in a NULL file_lock double pointer on a F_UNLCK request and convert the vfs_setlease F_UNLCK callers to do just that. Finally, turn the BUG_ON in generic_setlease into a WARN_ON_ONCE with an error return. That's a problem we can handle without crashing the box if it occurs. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 415b96c5a1fe31ed9deb0618e95ecbb1df3de54c Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 12:26:36 2014 -0400 nfsd: fix potential lease memory leak in nfs4_setlease It's unlikely to ever occur, but if there were already a lease set on the file then we could end up getting back a different pointer on a successful setlease attempt than the one we allocated. If that happens, the one we allocated could leak. In practice, I don't think this will happen due to the fact that we only try to set up the lease once per nfs4_file, but this error handling is a bit more correct given the current lease API. Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit bfe8602436c803c6d5e271d52cd985d491a7470a Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:18:44 2014 -0400 locks: close potential race in lease_get_mtime lease_get_mtime is called without the i_lock held, so there's no guarantee about the stability of the list. Between the time when we assign "flock" and then dereference it to check whether it's a lease and for write, the lease could be freed. Ensure that that doesn't occur by taking the i_lock before trying to check the lease. Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 91c1a09b33c902e20e09d9742560cc238a714de5 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Oct 7 18:48:12 2014 +0200 netfilter: kill nf_send_reset6() from include/net/netfilter/ipv6/nf_reject.h nf_send_reset6() now resides in net/ipv6/netfilter/nf_reject_ipv6.c Fixes: c8d7b98 ("netfilter: move nf_send_resetX() code to nf_reject_ipvX modules") Reported-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> commit 2dbab9784db1c0de517922d81394d9ff4a33c544 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Oct 7 15:09:26 2014 +0200 ASoC: simple-card: Initialize headphone and mic GPIO numbers The uninitialized default of 0 for gpio_hp_det and gpio_mic_det doesn't play well with asm-generic's gpio_is_valid(): static inline bool gpio_is_valid(int number) { return number >= 0 && number < ARCH_NR_GPIOS; } Hence on r8a7740/armadillo-legacy: sh-mobile-hdmi sh-mobile-hdmi: SH Mobile HDMI Audio Codec sh-mobile-hdmi sh-mobile-hdmi: ASoC: DAPM unknown pin Headphones sh-mobile-hdmi sh-mobile-hdmi: ASoC: DAPM unknown pin Mic Jack After that the kernel log is spammed ca. 7 times per second with: sh-mobile-hdmi sh-mobile-hdmi: ASoC: DAPM unknown pin Headphones Initialize the GPIO numbers with a negative number (-ENOENT) to fix this. Fixes: 3fe240326cc395c6 ("ASoC: simple-card: Add mic and hp detect gpios.") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a40a7201a4584a66ab234ba1006472be952f20e0 Merge: 74da386 567eded Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 13:22:40 2014 -0400 Merge branch 'ipmi' (patches from Corey Minyard) Merge ipmi patches from Corey Minyard: "These have been in linux-next for a while, ready for 3.18" * emailed patches from Corey Minyard <minyard@xxxxxxx>: ipmi: Clear drvdata when interface is removed ipmi: work around gcc-4.9 build warning ipmi/of: Don't use unavailable interfaces ipmi: Clean up the error handling for channel config errors commit 567eded965e589df25ebc26e3041a0a4aba4cf42 Author: Takao Indoh <indou.takao@xxxxxxxxxxxxxx> Date: Mon Oct 6 14:17:53 2014 -0500 ipmi: Clear drvdata when interface is removed This patch fixes a bug on hotmod removing. After ipmi interface is removed using hotmod, kernel panic occurs when rmmod impi_si. For example, try this: # echo "remove,"`cat /proc/ipmi/0/params` > \ /sys/module/ipmi_si/parameters/hotmod # rmmod ipmi_si Then, rmmod fails with the following messages. ------------[ cut here ]------------ WARNING: CPU: 12 PID: 10819 at /mnt/repos/linux/lib/list_debug.c:53 __list_del_entry+0x63/0xd0() CPU: 12 PID: 10819 Comm: rmmod Not tainted 3.17.0-rc1 #19 Hardware name: FUJITSU-SV PRIMERGY BX920 S2/D3030, BIOS 080015 Rev.3D81.3030 02/10/2012 Call Trace: dump_stack+0x45/0x56 warn_slowpath_common+0x7d/0xa0 warn_slowpath_fmt+0x4c/0x50 __list_del_entry+0x63/0xd0 list_del+0xd/0x30 cleanup_one_si+0x2a/0x230 [ipmi_si] ipmi_pnp_remove+0x15/0x20 [ipmi_si] pnp_device_remove+0x24/0x40 __device_release_driver+0x7f/0xf0 driver_detach+0xb0/0xc0 bus_remove_driver+0x55/0xd0 driver_unregister+0x2c/0x50 pnp_unregister_driver+0x12/0x20 cleanup_ipmi_si+0xbc/0xf0 [ipmi_si] SyS_delete_module+0x132/0x1c0 system_call_fastpath+0x16/0x1b ---[ end trace 70b4377268f85c23 ]--- list_del in cleanup_one_si() fails because the smi_info is already removed when hotmod removing. When ipmi interface is removed by hotmod, smi_info is removed by cleanup_one_si(), but is is still set in drvdata. Therefore when rmmod ipmi_si, ipmi_pnp_remove tries to remove it again and fails. By this patch, a pointer to smi_info in drvdata is cleared when hotmod removing so that it will be not accessed when rmmod. changelog: v2: - Clear drvdata in cleanup_one_si - Change subject v1: https://lkml.org/lkml/2014/9/8/741 Signed-off-by: Takao Indoh <indou.takao@xxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit cc4cbe9011bf995f48fa62f3c675e57284c50635 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Oct 6 14:17:52 2014 -0500 ipmi: work around gcc-4.9 build warning Building ipmi on arm with gcc-4.9 results in this warning for an allmodconfig build: drivers/char/ipmi/ipmi_si_intf.c: In function 'ipmi_thread': include/linux/time.h:28:5: warning: 'busy_until.tv_sec' may be used uninitialized in this function [-Wmaybe-uninitialized] if (lhs->tv_sec > rhs->tv_sec) ^ drivers/char/ipmi/ipmi_si_intf.c:1007:18: note: 'busy_until.tv_sec' was declared here struct timespec busy_until; ^ The warning is bogus and this case can not occur. Apparently this is a false positive resulting from gcc getting a little smarter about tracking assignments but not smart enough. Marking the ipmi_thread_busy_wait function as inline gives the gcc optimization logic enough information to figure out for itself that the case cannot happen, which gets rid of the warning without adding any fake initialization. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 08dc41696ad7f3f8bcb2ea8cb97935a6e79a1bd7 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 14:17:51 2014 -0500 ipmi/of: Don't use unavailable interfaces If an IPMI controller is used by the firmware and as such marked with a reserved status, we shouldn't use it. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 1f6684235825684b6257b7169b122011494c8a4d Author: Corey Minyard <cminyard@xxxxxxxxxx> Date: Mon Oct 6 14:17:50 2014 -0500 ipmi: Clean up the error handling for channel config errors The code to send the channel config errors was missing an error report in one place and needed some more information in another, and had an extraneous bit of code. Clean all that up. Signed-off-by: Corey Minyard <cminyard@xxxxxxxxxx> Signed-off-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> commit 0287587884b15041203b3a362d485e1ab1f24445 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 18:38:35 2014 -0700 net: better IFF_XMIT_DST_RELEASE support Testing xmit_more support with netperf and connected UDP sockets, I found strange dst refcount false sharing. Current handling of IFF_XMIT_DST_RELEASE is not optimal. Dropping dst in validate_xmit_skb() is certainly too late in case packet was queued by cpu X but dequeued by cpu Y The logical point to take care of drop/force is in __dev_queue_xmit() before even taking qdisc lock. As Julian Anastasov pointed out, need for skb_dst() might come from some packet schedulers or classifiers. This patch adds new helper to cleanly express needs of various drivers or qdiscs/classifiers. Drivers that need skb_dst() in their ndo_start_xmit() should call following helper in their setup instead of the prior : dev->priv_flags &= ~IFF_XMIT_DST_RELEASE; -> netif_keep_dst(dev); Instead of using a single bit, we use two bits, one being eventually rebuilt in bonding/team drivers. The other one, is permanent and blocks IFF_XMIT_DST_RELEASE being rebuilt in bonding/team. Eventually, we could add something smarter later. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Julian Anastasov <ja@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe971b95c22578456ff7198537827841c726d3f7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 6 09:30:35 2014 -0700 net/mlx4_en: remove NETDEV_TX_BUSY Drivers should avoid NETDEV_TX_BUSY as much as possible. They should stop the tx queue before qdisc even tries to push another packet, to avoid requeues. For a driver supporting skb->xmit_more, this is likely to be a prereq anyway, otherwise we could have a tx deadlock : We need to force a doorbell if TX ring is full. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88b09a6d958af6c458acf055ee2eb5bc9564efda Author: Sylvain "ythier" Hitier <sylvain.hitier@xxxxxxxxx> Date: Tue Oct 7 13:40:34 2014 +0000 3c59x: fix bad split of cpu_to_le32(pci_map_single()) In commit 6f2b6a3005b2c34c39f207a87667564f64f2f91a, # 3c59x: Add dma error checking and recovery the intent is to split out the mapping from the byte-swapping in order to insert a dma_mapping_error() check. Kinda this semantic patch: // See http://coccinelle.lip6.fr/ // // Beware, grouik-and-dirty! @@ expression DEV, X, Y, Z; @@ - cpu_to_le32(pci_map_single(DEV, X, Y, Z)) + dma_addr_t addr = pci_map_single(DEV, X, Y, Z); + if (dma_mapping_error(&DEV->dev, addr)) + /* snip */; + cpu_to_le32(addr) However, the #else part (of the #if DO_ZEROCOPY test) is changed this way: - cpu_to_le32(pci_map_single(DEV, X, Y, Z)) + dma_addr_t addr = cpu_to_le32(pci_map_single(DEV, X, Y, Z)); // ^^^^^^^^^^^ // That mismatches the 3 other changes! + if (dma_mapping_error(&DEV->dev, addr)) + /* snip */; + cpu_to_le32(addr) Let's remove the leftover cpu_to_le32() for coherency. v2: Better changelog. v3: Add Acked-by Fixes: 6f2b6a3005b2c34c39f207a87667564f64f2f91a # 3c59x: Add dma error checking and recovery Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: Sylvain "ythier" Hitier <sylvain.hitier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5c4c99f32226321e152b1462a1884ff2dfd3b3e2 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 7 18:19:54 2014 +0200 ASoC: imx-es8328: Fix missing return code in imx_es8328_probe() An error code was forgotten to be passed in the error path of imx_es8328_probe(). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 377421662a1739de5ccb71220a0b10a300addbd8 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Tue Oct 7 09:30:01 2014 -0700 net: bcmgenet: fix Tx ring priority programming GENET MAC has three Tx ring priority registers: - GENET_x_TDMA_PRIORITY0 for queues 0-5 - GENET_x_TDMA_PRIORITY1 for queues 6-11 - GENET_x_TDMA_PRIORITY2 for queues 12-16 Fix bcmgenet_init_multiq() to program them correctly. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd2ef0ba3071c92ac6272ab22ea3f2b16d88a4eb Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Mon Oct 6 11:38:30 2014 -0700 net: phy: adjust fixed_phy_register() return value Adjust fixed_phy_register() to return struct phy_device *, so that it becomes easy to use fixed PHYs without device tree support: phydev = fixed_phy_register(PHY_POLL, &fixed_phy_status, NULL); fixed_phy_set_link_update(phydev, fixed_phy_link_update); phy_connect_direct(netdev, phydev, handler_fn, phy_interface); This change is a prerequisite for modifying bcmgenet driver to work without a device tree on Broadcom's MIPS-based 7xxx platforms. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3f9db49c1d383256f95c53c850e90bc2f4e05e4 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Oct 7 09:33:16 2014 -0700 Input: adp5588-keys - cancel workqueue in failure path In case we start with the device not fully quiesced we should make sure we cancel the workqueue after freeing interrupt. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Acked-by: Michael Hennerich <michael.hennerich@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 848d479361793edb79aa68140cb64d4ec9032d88 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Oct 7 09:06:31 2014 -0700 Input: opencores-kbd - switch to using managed resources This change switch to managed resources to simplifies error handling and module unloading and does away with platform_driver remove function. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 7c4f56070fde2367766fa1fb04852599b5e1ad35 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Mon Oct 6 10:55:49 2014 -0700 Input: evdev - fix EVIOCG{type} ioctl The 'max' size passed into the function is measured in number of bits (KEY_MAX, LED_MAX, etc) so we need to convert it accordingly before trying to copy the data out, otherwise we will try copying too much and end up with up with a page fault. Reported-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: Pavel Machek <pavel@xxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6d16941aee6eb468c5a5cc78ecbaf840f3e16df5 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Oct 7 17:27:02 2014 +0200 ALSA: hda - Add dock support for Thinkpad T440 (17aa:2212) There is another Thinkpad T440 with SSID 17aa:2212 that has a dock port. Reported-by: Siwei Luo <sluo@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9d8f0bcca6ffa024a822ce4ab1008ab663f06672 Author: Bart Van Assche <bvanassche@xxxxxxx> Date: Tue Oct 7 08:45:21 2014 -0600 blk-mq: Make bt_clear_tag() easier to read Eliminate a backwards goto statement from bt_clear_tag(). Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit abab13b5c4fd1fec4f9a61622548012d93dc2831 Author: Jens Axboe <axboe@xxxxxx> Date: Tue Oct 7 08:39:20 2014 -0600 blk-mq: fix potential hang if rolling wakeup depth is too high We currently divide the queue depth by 4 as our batch wakeup count, but we split the wakeups over BT_WAIT_QUEUES number of wait queues. This defaults to 8. If the product of the resulting batch wake count and BT_WAIT_QUEUES is higher than the device queue depth, we can get into a situation where a task goes to sleep waiting for a request, but never gets woken up. Reported-by: Bart Van Assche <bvanassche@xxxxxxx> Fixes: 4bb659b156996 Cc: stable@xxxxxxxxxx Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 74da38631a874b5a3ffc4ace6f813a975c55130b Merge: bfe01a5 3cf6b01 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Tue Oct 7 08:51:59 2014 -0400 Merge tag 'tiny/for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux Pull "tinification" patches from Josh Triplett. Work on making smaller kernels. * tag 'tiny/for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux: bloat-o-meter: Ignore syscall aliases SyS_ and compat_SyS_ mm: Support compiling out madvise and fadvise x86: Support compiling out human-friendly processor feature names x86: Drop support for /proc files when !CONFIG_PROC_FS x86, boot: Don't compile early_serial_console.c when !CONFIG_EARLY_PRINTK x86, boot: Don't compile aslr.c when !CONFIG_RANDOMIZE_BASE x86, boot: Use the usual -y -n mechanism for objects in vmlinux x86: Add "make tinyconfig" to configure the tiniest possible kernel x86, platform, kconfig: move kvmconfig functionality to a helper commit 897c329bcb2206dd025cdb7ba84831a4f3c872d0 Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Tue Oct 7 14:25:13 2014 +0200 ALSA: usb: caiaq: check for cdev->n_streams > 1 Coverity spotted a possible DIV0 condition when cdev->n_streams is 0. Fix this by making sure the value is > 1 in snd_usb_caiaq_audio_init(). Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 77eca3cd461da663945eceddf454466a609d8ca4 Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Tue Oct 7 13:41:25 2014 +0200 ASoC: 88pm860x-codec: Fix possibly missing string termination Coverity spotted an issue with strncpy() in pm860x_codec_probe() which does not take the \0 termination byte into account. Fix this by making the buffers one byte larger so the can really accommodate MAX_NAME_LEN bytes long strings. Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit decc27b01d584c985c231e73d3b493de6ec07af8 Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Tue Oct 7 13:41:23 2014 +0200 ASoC: core: fix use after free in snd_soc_remove_platform() Coverity spotted an use-after-free condition in snd_soc_remove_platform(). Fix this by moving snd_soc_component_cleanup() after the debug print statement which uses the component's string. Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e5092c96c9c28f4d12811edcd02ca8eec16e748e Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Tue Oct 7 13:41:24 2014 +0200 ASoC: soc-dapm: fix use after free Coverity spotted the following possible use-after-free condition in dapm_create_or_share_mixmux_kcontrol(): If kcontrol is NULL, and (wname_in_long_name && kcname_in_long_name) validates to true, 'name' will be set to an allocated string, and be freed a few lines later via the 'long_name' alias. 'name', however, is used by dev_err() in case snd_ctl_add() fails. Fix this by adding a jump label that frees 'long_name' at the end of the function. Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 60666de2dac99777631d0df64257d7fd6a5118fe Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Thu May 29 17:45:47 2014 +1000 powerpc/pseries: Use new defines when calling H_SET_MODE Now that we define these in the KVM code, use these defines when we call H_SET_MODE. No functional change. Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2118f4b8dfc666c3e4a9e262beca79636a0852fe Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Tue Oct 7 11:30:31 2014 +0100 of/selftest: Move hash table off stack to fix large frame size The new testcase that checks phandle consistency was using a hash table on the stack which made the frame size much large than it should be. Fix the problem by moving the hash table into the file scope. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit b5e7a955a3515bf6b568050533fa9b1b72460a95 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 30 13:38:20 2014 +0200 ARM: KVM: fix vgic-disabled build The vgic code can be disabled in Kconfig and there are dummy implementations of most of the provided API functions for the disabled case. However, the newly introduced kvm_vgic_destroy/kvm_vgic_vcpu_destroy functions are lacking those dummies, resulting in this build error: arch/arm/kvm/arm.c: In function 'kvm_arch_destroy_vm': arch/arm/kvm/arm.c:165:2: error: implicit declaration of function 'kvm_vgic_destroy' [-Werror=implicit-function-declaration] kvm_vgic_destroy(kvm); ^ arch/arm/kvm/arm.c: In function 'kvm_arch_vcpu_free': arch/arm/kvm/arm.c:248:2: error: implicit declaration of function 'kvm_vgic_vcpu_destroy' [-Werror=implicit-function-declaration] kvm_vgic_vcpu_destroy(vcpu); ^ This adds two inline helpers to get it to build again in this configuration. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: c1bfb577add ("arm/arm64: KVM: vgic: switch to dynamic allocation") Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 7419eb064e74fba852f1a51842d3e27e248212fa Merge: 669a363 d22e913 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Tue Oct 7 11:13:53 2014 +0100 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux into devicetree/next commit 9d36a7dc4df6ef77cfc02ba78a10bc8577c2663f Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Oct 7 10:18:42 2014 +0200 ALSA: hda - Make the inv dmic handling for Realtek use generic parser From what I can see, the generic parser is now good enough to handle Realtek's inverted dmic handling, so let's remove the special handling and use the generic parser instead. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a33cc48d28b4ff58e2627e2613f15c63754dc376 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Oct 7 10:18:41 2014 +0200 ALSA: hda - Add Inverted Internal mic for Samsung Ativ book 9 (NP900X3G) In this case, it looks like the right channel records noise rather than the inverted signal, but the simplest way is to just call it "Inverted Internal Mic", which will cause it to be muted by default. Alsa-info at http://www.alsa-project.org/db/?f=064f0b536a1b068efd30d58c2641b5ec2348f059 BugLink: https://bugs.launchpad.net/bugs/1316518 Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 522a7fa883e04725806308a5b663ce1f570e5870 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Oct 7 10:18:40 2014 +0200 ALSA: hda - Add inverted internal mic for Asus Aspire 4830T Alsa-info at https://launchpadlibrarian.net/186697318/alsa-info.txt.37fYWkaJRc Reported-by: Tomas Nilsson <tomas.k.nilsson@xxxxxxxxx> Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8b3d58e554453ab858bbb169d93b7321bdc628d4 Author: Roger Quadros <rogerq@xxxxxx> Date: Wed Oct 1 14:33:30 2014 +0300 mtd: nand: omap: Correct CONFIG_MTD_NAND_OMAP_BCH help message The MTD_NAND_OMAP_BCH doesn't harm on legacy OMAP platforms so don't state that it should be disabled for them. Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit e7cd6824fd4105ff164aabc3767f195d1f6e4025 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 14:33:29 2014 +0300 mtd: nand: Force omap_elm to be built as a module if omap2_nand is a module This commit adds a hidden option to build the omap_elm as a module, if omap2_nand is a module (and similarly in the built-in case). This fixes the following build error when omap2_nand is chosen built-in, and omap_elm is chosen as a module: drivers/built-in.o: In function `omap_nand_probe': drivers/mtd/nand/omap2.c:2010: undefined reference to `elm_config' drivers/mtd/nand/omap2.c:1980: undefined reference to `elm_config' drivers/mtd/nand/omap2.c:1927: undefined reference to `elm_config' drivers/built-in.o: In function `omap_elm_correct_data': drivers/mtd/nand/omap2.c:1444: undefined reference to `elm_decode_bch_error_page' Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 422b67e0b31a0ed132f8091b6f3d5465d9df9387 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Mon Oct 6 15:03:57 2014 +0300 videomode: provide dummy inline functions for !CONFIG_OF If CONFIG_OF is disabled but we build any driver that tries to use of_get_display_timing, we get this link error: ERROR: "of_get_display_timing" [drivers/gpu/drm/rcar-du/rcar-du-drm.ko] undefined! This adds an empty inline function as an alternative, to avoid changing each driver using this function when we want to build them without CONFIG_OF. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit dfdac3932d769c2dcafbd37e3f231d5f50c1ac1c Author: sukadev@xxxxxxxxxxxxxxxxxx <sukadev@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 23:03:21 2014 -0700 powerpc: Update contact info in Documentation files Cody's email address has changed. Update the contact information for the 24x7 and GPCI counters to the PowerPC developers mailing list. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 56f12bee55d740dc47eed0ca9d5c72cffdffd6cf Author: sukadev@xxxxxxxxxxxxxxxxxx <sukadev@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 23:03:18 2014 -0700 powerpc/perf/hv-24x7: Simplify catalog_read() catalog_read() implements the read interface for the sysfs file /sys/bus/event_source/devices/hv_24x7/interface/catalog It essentially takes a buffer, an offset and count as parameters to the read() call. It makes a hypervisor call to read a specific page from the catalog and copy the required bytes into the given buffer. Each call to catalog_read() returns at most one 4K page. Given these requirements, we should be able to simplify the catalog_read(). Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 48bee8a6c98e34367fa9d5e1be14109c92cbbb3b Author: Cody P Schafer <dev@xxxxxxxxxx> Date: Tue Sep 30 23:03:17 2014 -0700 powerpc/perf/hv-24x7: use kmem_cache instead of aligned stack allocations Ian pointed out the use of __aligned(4096) caused rather large stack consumption in single_24x7_request(), so use the kmem_cache hv_page_cache (which we've already got set up for other allocations) insead of allocating locally. CC: Haren Myneni <hbabu@xxxxxxxxxx> Reported-by: Ian Munsie <imunsie@xxxxxxxxxxx> Signed-off-by: Cody P Schafer <dev@xxxxxxxxxx> Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bf7588a0859580a45c63cb082825d77c13eca357 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 17:12:25 2014 +1000 powerpc/powernv: Fix endian bug in LPC bus debugfs accessors When reading from the LPC, the OPAL FW calls return the value via pointer to a uint32_t which is always returned big endian. Our internal inb/outb implementation byteswaps that fine but our debugfs code is still broken. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> CC: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 46d987af7649ef9b2f1d1467b9249fb6e24d2658 Merge: 7bbc192 c7750e8 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 7 14:31:14 2014 +1000 Merge tag 'ipu-fixes-3.18' of git://git.pengutronix.de/git/pza/linux into drm-next IPUv3 fixes for v3.18 * tag 'ipu-fixes-3.18' of git://git.pengutronix.de/git/pza/linux: gpu: ipu-v3: Kconfig: Remove SOC_IMX6SL from IMX_IPUV3_CORE Kconfig gpu: ipu-v3: ipu-smfc: Do not leave DEBUG defined gpu: ipu-v3: Return proper error on ipu_add_client_devices error path gpu: ipu-v3: Select GENERIC_IRQ_CHIP to fix build error commit 7bbc1920c0fd1416e4660b1dee5c467a2996c80e Merge: 436e94a 1bcecfa Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 7 14:30:32 2014 +1000 Merge tag 'topic/core-stuff-2014-10-03' of git://anongit.freedesktop.org/drm-intel into drm-next two core fixes * tag 'topic/core-stuff-2014-10-03' of git://anongit.freedesktop.org/drm-intel: drm/core: use helper to check driver features drm/edid: Add missing interlaced flag to 576i@100 modes. commit 436e94a4cb6f60c99edc7e424d32821c454ab8f0 Merge: ccb09a8 ebb69c9 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 7 14:30:02 2014 +1000 Merge tag 'drm-intel-next-fixes-2014-10-03' of git://anongit.freedesktop.org/drm-intel into drm-next Bunch of fixes for 3.18. Major parts: - ppgtt fixes (but full ppgtt is for 3.19) from Chris, Michel, ... - hdmi pixel replication fixes (Clint Taylor) - leftover i830M patches from Ville - small things all over * tag 'drm-intel-next-fixes-2014-10-03' of git://anongit.freedesktop.org/drm-intel: (21 commits) drm/i915: Enable pixel replicated modes on BDW and HSW. drm/i915: Don't spam dmesg with rps messages on vlv/chv drm/i915: Do not leak pages when freeing userptr objects drm/i915: Do not store the error pointer for a failed userptr registration Revert "drm/i915/bdw: BDW Software Turbo" drm/i915/bdw: Cleanup pre prod workarounds drm/i915: Use EIO instead of EAGAIN for sink CRC error. drm/i915: Extend BIOS stolen mem handling to all platform drm/i915: Match GTT space sanity checker with implementation drm/i915: HSW always use GGTT selector for secure batches drm/i915: add cherryview specfic forcewake in execlists_elsp_write drm/i915: fix another use-after-free in i915_gem_evict_everything drm/i915: Don't reinit hpd interrupts after gpu reset drm/i915: Wrap -EIO send-vblank event for failed pageflip in spinlock drm/i915: Drop any active reference before unbinding drm/i915: Objects on the unbound list may still have an active reference drm/i915/edp: use lane count and link rate from DPCD for eDP drm/i915/dp: add missing \n in the TPS3 debug message drm/i915/hdmi, dp: Do not dereference the encoder in the connector destroy drm/i915: Limit the watermark to at least 8 entries on gen2/3 ... commit ccb09a8e36b64a4d161dd61d4066a5c54181615b Merge: 7a42e83 369283b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Oct 7 14:26:40 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next It looks like you missed my last 3.18 pull from 9/24. This one includes those patches and a few more on top. The additional patches are: - Maarten's radeon fence updates - Some additional debugging output From the previous pull request: - Re-enable some dpm features that were previously disabled due to a bug that was fixed in 3.16 - Make some arrays static - re-arrange some audio code to properly reflect connected status in the audio driver * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon/kv: add uvd/vce info to dpm debugfs output drm/radeon/ci: add uvd/vce info to dpm debugfs output drm/radeon: export reservation_object from dmabuf to ttm drm/radeon: cope with foreign fences inside the reservation object drm/radeon: cope with foreign fences inside display drm/radeon/cik: write gfx ucode version to ucode addr reg drm/radeon/si: print full CS when we hit a packet 0 drm/radeon: remove unecessary includes drm/radeon/combios: declare legacy_connector_convert as static drm/radeon/atombios: declare connector convert tables as static drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table drm/radeon/dpm: drop clk/voltage dependency filters for BTC drm/radeon/dpm: drop clk/voltage dependency filters for CI drm/radeon/dpm: drop clk/voltage dependency filters for SI drm/radeon/dpm: drop clk/voltage dependency filters for NI drm/radeon: disable audio when we disable hdmi (v2) drm/radeon: split audio enable between eg and r600 (v2) drm/radeon: consolidate r600_audio.c into r600_hdmi.c drm/radeon: consolidate duplicate encode is digital function drm/radeon: fix register name to match internal name commit 02c0fc1b8f41e6e895d6573615ba8ff549b685d2 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Oct 6 17:01:33 2014 -0700 net_sched: fix unused variables in __gnet_stats_copy_basic_cpu() Probably not a big deal, but we'd better just use the one we get in retry loop. Fixes: commit 22e0f8b9322cb1a48b1357e8 ("net: sched: make bstats per cpu and estimator RCU safe") Reported-by: Joe Perches <joe@xxxxxxxxxxx> Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c5df8fa1921450d2210db9928f43cf4f414982c Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Mon Oct 6 15:15:14 2014 -0700 openvswitch: fix a compilation error when CONFIG_INET is not setW! Fix a openvswitch compilation error when CONFIG_INET is not set: ===================================================== In file included from include/net/geneve.h:4:0, from net/openvswitch/flow_netlink.c:45: include/net/udp_tunnel.h: In function 'udp_tunnel_handle_offloads': >> include/net/udp_tunnel.h:100:2: error: implicit declaration of function 'iptunnel_handle_offloads' [-Werror=implicit-function-declaration] >> return iptunnel_handle_offloads(skb, udp_csum, type); >> ^ >> >> include/net/udp_tunnel.h:100:2: warning: return makes pointer from integer without a cast >> >> cc1: some warnings being treated as errors ===================================================== Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a5d1c55faa5414858857875496f6f6a9926fa51 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Mon Oct 6 13:22:51 2014 -0700 openvswitch: fix a sparse warning Fix a sparse warning introduced by commit: f5796684069e0c71c65bce6a6d4766114aec1396 (openvswitch: Add support for Geneve tunneling.) caught by kbuild test robot: reproduce: # apt-get install sparse # git checkout f5796684069e0c71c65bce6a6d4766114aec1396 # make ARCH=x86_64 allmodconfig # make C=1 CF=-D__CHECK_ENDIAN__ # # # sparse warnings: (new ones prefixed by >>) # # >> net/openvswitch/vport-geneve.c:109:15: sparse: incorrect type in assignment (different base types) # net/openvswitch/vport-geneve.c:109:15: expected restricted __be16 [usertype] sport # net/openvswitch/vport-geneve.c:109:15: got int # >> net/openvswitch/vport-geneve.c:110:56: sparse: incorrect type in argument 3 (different base types) # net/openvswitch/vport-geneve.c:110:56: expected unsigned short [unsigned] [usertype] value # net/openvswitch/vport-geneve.c:110:56: got restricted __be16 [usertype] sport Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42350dcaaf1d8d95d58e8b43aee006d62c84bc2e Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Mon Oct 6 13:22:50 2014 -0700 net: fix a sparse warning Fix a sparse warning introduced by Commit 0b5e8b8eeae40bae6ad7c7e91c97c3c0d0e57882 (net: Add Geneve tunneling protocol driver) caught by kbuild test robot: # apt-get install sparse # git checkout 0b5e8b8eeae40bae6ad7c7e91c97c3c0d0e57882 # make ARCH=x86_64 allmodconfig # make C=1 CF=-D__CHECK_ENDIAN__ # # # sparse warnings: (new ones prefixed by >>) # # >> net/ipv4/geneve.c:230:42: sparse: incorrect type in assignment (different base types) # net/ipv4/geneve.c:230:42: expected restricted __be32 [addressable] [assigned] [usertype] s_addr # net/ipv4/geneve.c:230:42: got unsigned long [unsigned] <noident> # Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6093f7570e5995177b5879cb3ddbc4d50177aec2 Merge: 1ff0dc9 327571c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Oct 7 00:02:49 2014 -0400 Merge branch 'ipv6-next' Hannes Frederic Sowa says: ==================== ipv6: cleanup after rt6_genid removal Leftover patches after rt6_genid removal after 705f1c869d577c ("ipv6: remove rt6i_genid"). Major two changes are: * keep fib6_sernum per namespace to reduce number of flushes in case system has high number of namespaces * make fn_sernum updates cheaper v2: Incorporated feedback from Cong Wang, thanks a lot! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 327571cb100cad587c9eda351e7a2d182466873b Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 19:58:38 2014 +0200 ipv6: don't walk node's leaf during serial number update Cc: YOSHIFUJI Hideaki <hideaki@xxxxxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 812918c464eca0e8c145f975932ca5020e9c05cb Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 19:58:37 2014 +0200 ipv6: make fib6 serial number per namespace Try to reduce number of possible fn_sernum mutation by constraining them to their namespace. Also remove rt_genid which I forgot to remove in 705f1c869d577c ("ipv6: remove rt6i_genid"). Cc: YOSHIFUJI Hideaki <hideaki@xxxxxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8c4d42a6b46ea9f81816c47ac8d6ae25cf533fc Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 19:58:36 2014 +0200 ipv6: only generate one new serial number per fib mutation Cc: YOSHIFUJI Hideaki <hideaki@xxxxxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42b18706469a02c1f84375ac0ee2f30f28d85d4c Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 19:58:35 2014 +0200 ipv6: make rt_sernum atomic and serial number fields ordinary ints Cc: YOSHIFUJI Hideaki <hideaki@xxxxxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 94b2cfe02bfe3f1918d91bd6f498e308c5605cbc Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Mon Oct 6 19:58:34 2014 +0200 ipv6: minor fib6 cleanups like type safety, bool conversion, inline removal Also renamed struct fib6_walker_t to fib6_walker and enum fib_walk_state_t to fib6_walk_state as recommended by Cong Wang. Cc: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Cc: YOSHIFUJI Hideaki <hideaki@xxxxxxxxxxxxx> Cc: Martin Lau <kafai@xxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6654cf60ab888170693084a06dfb7c00977ad964 Author: Ivan Vecera <ivecera@xxxxxxxxxx> Date: Mon Oct 6 19:02:37 2014 +0200 bna: allow transmit tagged frames When Tx VLAN offloading is disabled frames with size ~ MTU are not transmitted as the driver does not account 4 bytes of VLAN header added by stack. It should use VLAN_ETH_HLEN instead of ETH_HLEN. The second problem is with newer BNA chips (BNA 1860). These chips filter out any VLAN tagged frames in Tx path. This is a problem when Tx VLAN offloading is disabled and frames are tagged by stack. Older chips like 1010/1020 are not affected as they probably don't do such filtering. Cc: Rasesh Mody <rasesh.mody@xxxxxxxxxx> Signed-off-by: Ivan Vecera <ivecera@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eabde0fa967052df12bdd8e8a72f0af799e1e704 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Sat Oct 4 12:02:21 2014 -0600 toshiba_acpi: Adapt kbd_bl_timeout_store to the new kbd type With the introduction of the new keyboard backlight implementation, the *_timeout_store function is broken, as it only supports the first kbd_type. This patch adapts such function for the new kbd_type, as well as converts from using sscanf to kstrtoint. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 88b88a66797159949cec32eaab12b4968f6fae2d Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Oct 6 17:39:50 2014 -0700 f2fs: support atomic writes This patch introduces a very limited functionality for atomic write support. In order to support atomic write, this patch adds two ioctls: o F2FS_IOC_START_ATOMIC_WRITE o F2FS_IOC_COMMIT_ATOMIC_WRITE The database engine should be aware of the following sequence. 1. open -> ioctl(F2FS_IOC_START_ATOMIC_WRITE); 2. writes : all the written data will be treated as atomic pages. 3. commit -> ioctl(F2FS_IOC_COMMIT_ATOMIC_WRITE); : this flushes all the data blocks to the disk, which will be shown all or nothing by f2fs recovery procedure. 4. repeat to #2. The IO pattens should be: ,- START_ATOMIC_WRITE ,- COMMIT_ATOMIC_WRITE CP | D D D D D D | FSYNC | D D D D | FSYNC ... `- COMMIT_ATOMIC_WRITE Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9f1a053296953c69d7f23511db9441290cb89e2c Merge: c9671d1 a968bed Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:58 2014 +0200 Merge branch 'pm-clk' * pm-clk: PM / clk: Fix crash in clocks management code if !CONFIG_PM_RUNTIME commit c9671d17f82accff42bfafdd776edc260f8d1bb3 Merge: 4734c6e c8bc5f1 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:50 2014 +0200 Merge branch 'pm-devfreq' * pm-devfreq: PM / devfreq: exynos: Enable building exynos PPMU as module PM / devfreq: Export helper functions for drivers PM / devfreq: Remove ARCH_HAS_OPP completely commit 4734c6efc8c691fda80f11ae00016bc3a8d9ebb5 Merge: 0f4685d 7961bb7 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:38 2014 +0200 Merge branch 'pm-avs' * pm-avs: MAINTAINERS: update entry for drivers/power/avs PM / AVS: rockchip-io: add driver handling Rockchip io domains regulator: core: Add REGULATOR_EVENT_PRE_VOLTAGE_CHANGE (and ABORT) commit 0f4685d0ec9aa1db99f014f8f774518cae085aca Merge: b2eed30 6f1293f Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:30 2014 +0200 Merge branch 'pm-cpufreq' * pm-cpufreq: cpufreq: cpufreq-dt: fix potential double put of cpu OF node cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' cpufreq: ppc-corenet: remove duplicate update of cpu_data cpufreq: Replace strnicmp with strncasecmp cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec cpufreq: powernv: Set the pstate of the last hotplugged out cpu in policy->cpus to minimum cpufreq: Allow stop CPU callback to be used by all cpufreq drivers cpufreq: cpu0: Make allocate_resources() work for any CPU cpufreq: cpu0: try regulators with name "cpu-supply" cpufreq: cpu0: Move per-cluster initialization code to ->init() cpufreq: cpu0: use dev_{err|warn|dbg} instead of pr_{err|warn|debug} cpufreq: cpu0: print relevant error when we defer probe cpufreq: cpu0: don't validate clock on clk_put() cpufreq: cpu0: Update Module Author cpufreq: Add support for per-policy driver data commit b2eed302b67014a3825331c63880bf228ac842eb Merge: 49a09c9 eeb1aa5 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:23 2014 +0200 Merge branch 'pm-cpuidle' * pm-cpuidle: drivers: cpuidle: initialize big.LITTLE driver through DT drivers: cpuidle: CPU idle ARM64 driver drivers: cpuidle: implement DT based idle states infrastructure cpuidle: big.LITTLE: add Exynos5800 compatible string cpuidle: Replace strnicmp with strncasecmp arm64: add PSCI CPU_SUSPEND based cpu_suspend support arm64: kernel: introduce cpu_init_idle CPU operation arm64: kernel: refactor the CPU suspend API for retention states Documentation: arm: define DT idle states bindings commit 49a09c9ab012017c4673b86dbb28c616cf8f2381 Merge: 28c399e f39cb17 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:18:12 2014 +0200 Merge branch 'pm-domains' * pm-domains: (32 commits) PM / Domains: Rename cpu_data to cpuidle_data PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h PM / Domains: Remove legacy API for adding devices through DT PM / Domains: Add genpd attach/detach callbacks PM / Domains: add debugfs listing of struct generic_pm_domain-s ACPI / PM: Convert acpi_dev_pm_detach() into a static function ARM: exynos: Move to generic PM domain DT bindings amba: Add support for attach/detach of PM domains spi: core: Convert to dev_pm_domain_attach|detach() mmc: sdio: Convert to dev_pm_domain_attach|detach() i2c: core: Convert to dev_pm_domain_attach|detach() drivercore / platform: Convert to dev_pm_domain_attach|detach() PM / Domains: Add APIs to attach/detach a PM domain for a device PM / Domains: Add generic OF-based PM domain look-up ACPI / PM: Assign the ->detach() callback when attaching the PM domain PM / Domains: Add a detach callback to the struct dev_pm_domain PM / domains: Spelling s/domian/domain/ PM / domains: Keep declaration of dev_power_governors together PM / domains: Remove default_stop_ok() API drivers: sh: Leave disabling of unused PM domains to genpd ... commit 28c399e2a1ed03bd175858deef1e233317103089 Merge: 0ede470 a8d46b9 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:17:50 2014 +0200 Merge branch 'acpi-pm' * acpi-pm: ACPI / sleep: Rework the handling of ACPI GPE wakeup from suspend-to-idle PM / sleep: Rename platform suspend/resume functions in suspend.c PM / sleep: Export dpm_suspend_late/noirq() and dpm_resume_early/noirq() commit 0ede470030a35847a8b213bbdafb29d77bca76da Merge: 88b42a4 fdd64ed Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:17:30 2014 +0200 Merge branch 'pm-sleep' * pm-sleep: PM / hibernate: Iterate over set bits instead of PFNs in swsusp_free() PM / sleep: new suspend_resume trace event for console resume PM / sleep: Update test_suspend option documentation PM / sleep: Enhance test_suspend option with repeat capability PM / sleep: Support freeze as test_suspend option PM / sysfs: avoid shadowing variables commit 88b42a4883a7783972c8fc607e60bd3f027e24de Merge: 1e765cd 27f3d18 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:17:21 2014 +0200 Merge branch 'pm-genirq' * pm-genirq: PM / genirq: Document rules related to system suspend and interrupts PCI / PM: Make PCIe PME interrupts wake up from suspend-to-idle x86 / PM: Set IRQCHIP_SKIP_SET_WAKE for IOAPIC IRQ chip objects genirq: Simplify wakeup mechanism genirq: Mark wakeup sources as armed on suspend genirq: Create helper for flow handler entry check genirq: Distangle edge handler entry genirq: Avoid double loop on suspend genirq: Move MASK_ON_SUSPEND handling into suspend_device_irqs() genirq: Make use of pm misfeature accounting genirq: Add sanity checks for PM options on shared interrupt lines genirq: Move suspend/resume logic into irq/pm code PM / sleep: Mechanism for aborting system suspends unconditionally commit 1e765cd36bb8242a399f65501650bcfabc2229c9 Merge: dbcbe68 ef86c3f ffd8a73 5d30f74 88989fd Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Oct 7 01:17:06 2014 +0200 Merge branches 'acpi-processor', 'acpi-battery', 'acpi-utils' and 'acpi-fan' * acpi-processor: ACPI / processor: use container_of instead of casting first structure member * acpi-battery: ACPI / battery: Replace strnicmp with strncasecmp * acpi-utils: ACPI / utils: Update acpi_check_dsm() comments * acpi-fan: ACPI / fan: printk replacement commit 88989fd26a7475abdda222859c2bd76fce46976e Author: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Date: Thu Aug 28 19:17:19 2014 +0530 ACPI / fan: printk replacement printk replaced with corresponding dev_err and dev_info fixed one broken user-visible string multiine comment edited for correct commenting style asm/uaccess.h replaced with linux/uaccess.h PREFIX removed Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1ff0dc9499b25d016777f9b8d3ee486fd588ba59 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Oct 6 11:26:27 2014 -0700 net: validate_xmit_vlan() is static Marking this as static allows compiler to inline it. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79952bca8619b62c9b1a118238ca16ab41be7760 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Oct 6 20:15:20 2014 +0200 net: fix rcu access on phonet_routes -Add __rcu annotation on table to fix sparse warnings: net/phonet/pn_dev.c:279:25: warning: incorrect type in assignment (different address spaces) net/phonet/pn_dev.c:279:25: expected struct net_device *<noident> net/phonet/pn_dev.c:279:25: got void [noderef] <asn:4>*<noident> net/phonet/pn_dev.c:376:17: warning: incorrect type in assignment (different address spaces) net/phonet/pn_dev.c:376:17: expected struct net_device *volatile <noident> net/phonet/pn_dev.c:376:17: got struct net_device [noderef] <asn:4>*<noident> net/phonet/pn_dev.c:392:17: warning: incorrect type in assignment (different address spaces) net/phonet/pn_dev.c:392:17: expected struct net_device *<noident> net/phonet/pn_dev.c:392:17: got void [noderef] <asn:4>*<noident> -Access table with rcu_access_pointer (fixes the following sparse errors): net/phonet/pn_dev.c:278:25: error: incompatible types in comparison expression (different address spaces) net/phonet/pn_dev.c:391:17: error: incompatible types in comparison expression (different address spaces) Suggested-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e91a159ef58ebcf2155332dc395c6a29dca86051 Merge: fcbeb97 18cdb37 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 6 18:02:40 2014 -0400 Merge branch 'net_sched-next' John Fastabend says: ==================== net sched rcu updates This fixes the use of tcf_proto from RCU callbacks it requires moving the unbind calls out of the callbacks and removing the tcf_proto argument from the tcf_em_tree_destroy(). This is a rework of two previous series and addresses comments from Cong. And should apply against latest net-next. The previous series links below for reference: (1/2) net: sched: do not use tcf_proto 'tp' argument from call_rcu http://patchwork.ozlabs.org/patch/396149/ (2/2) net: sched: replace ematch calls to use struct net http://patchwork.ozlabs.org/patch/396150/ net: sched: cls_cgroup tear down exts and ematch from rcu callback http://patchwork.ozlabs.org/patch/396307/ ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18cdb37ebf4c986d9502405cbd16b0ac29770c25 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Oct 5 21:28:52 2014 -0700 net: sched: do not use tcf_proto 'tp' argument from call_rcu Using the tcf_proto pointer 'tp' from inside the classifiers callback is not valid because it may have been cleaned up by another call_rcu occuring on another CPU. 'tp' is currently being used by tcf_unbind_filter() in this patch we move instances of tcf_unbind_filter outside of the call_rcu() context. This is safe to do because any running schedulers will either read the valid class field or it will be zeroed. And all schedulers today when the class is 0 do a lookup using the same call used by the tcf_exts_bind(). So even if we have a running classifier hit the null class pointer it will do a lookup and get to the same result. This is particularly fragile at the moment because the only way to verify this is to audit the schedulers call sites. Reported-by: Cong Wang <xiyou.wangconf@xxxxxxxxx> Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13990f8156862fe945a1a226850a6550c8988a33 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Oct 5 21:28:20 2014 -0700 net: sched: cls_cgroup tear down exts and ematch from rcu callback It is not RCU safe to destroy the action chain while there is a possibility of readers accessing it. Move this code into the rcu callback using the same rcu callback used in the code patch to make a change to head. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 82a470f1119eb7d2e4941b915bf9cd6fd8d54494 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Oct 5 21:27:53 2014 -0700 net: sched: remove tcf_proto from ematch calls This removes the tcf_proto argument from the ematch code paths that only need it to reference the net namespace. This allows simplifying qdisc code paths especially when we need to tear down the ematch from an RCU callback. In this case we can not guarentee that the tcf_proto structure is still valid. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fcbeb976d7ce783fd58e63e61c196d9a8912b3be Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 10:11:27 2014 -0700 net: introduce netdevice gso_min_segs attribute Some TSO engines might have a too heavy setup cost, that impacts performance on hosts sending small bursts (2 MSS per packet). This patch adds a device gso_min_segs, allowing drivers to set a minimum segment size for TSO packets, according to the NIC performance. Tested on a mlx4 NIC, this allows to get a ~110% increase of throughput when sending 2 MSS per packet. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f9e2bf008a1b143973a01b52320eb66c20ac6ab Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Tue Sep 23 00:39:31 2014 +0400 ecryptfs: remove unneeded buggy code in ecryptfs_do_create() There is a bug in error handling of lock_parent() in ecryptfs_do_create(): lock_parent() acquries mutex even if dget_parent() fails, so mutex should be unlocked anyway. But dget_parent() does not fail, so the patch just removes unneeded buggy code. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit 9d31a7b9f9963e97e067e72ef13492e6ace7d345 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Mon Oct 6 10:36:04 2014 +0800 r8152: nway reset after setting eee Restart autonegotiation is necessary after setting EEE. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee5db7e47faccd07a8a17f73afb30345f8331e61 Merge: 467669c 5235166 368d4e5 604b607 5b65c2a 981c5b4 8493ecc 5df4eb0 5ae6e89 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Mon Oct 6 23:34:40 2014 +0200 Merge branches 'for-3.18/always-poll-quirk', 'for-3.18/logitech', 'for-3.18/picolcd', 'for-3.18/rmi', 'for-3.18/sony', 'for-3.18/uhid', 'for-3.18/upstream' and 'for-3.18/wacom' into for-linus commit b47bd8d2795412143a23d2961033c126ce6914d9 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Sun Oct 5 17:27:50 2014 +0200 ipv4: igmp: fix v3 general query drop monitor false positive In case we find a general query with non-zero number of sources, we are dropping the skb as it's malformed. RFC3376, section 4.1.8. Number of Sources (N): This number is zero in a General Query or a Group-Specific Query, and non-zero in a Group-and-Source-Specific Query. Therefore, reflect that by using kfree_skb() instead of consume_skb(). Fixes: d679c5324d9a ("igmp: avoid drop_monitor false positives") Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee6377147409a00c071b2da853059a7d59979fbc Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Sat Oct 4 17:45:01 2014 -0700 bonding: Simplify the xmit function for modes that use xmit_hash Earlier change to use usable slave array for TLB mode had an additional performance advantage. So extending the same logic to all other modes that use xmit-hash for slave selection (viz 802.3AD, and XOR modes). Also consolidating this with the earlier TLB change. The main idea is to build the usable slaves array in the control path and use that array for slave selection during xmit operation. Measured performance in a setup with a bond of 4x1G NICs with 200 instances of netperf for the modes involved (3ad, xor, tlb) cmd: netperf -t TCP_RR -H <TargetHost> -l 60 -s 5 Mode TPS-Before TPS-After 802.3ad : 468,694 493,101 TLB (lb=0): 392,583 392,965 XOR : 475,696 484,517 Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7021325a2ea5aaf4458097341c988f9dc93491f Author: Mahesh Bandewar <maheshb@xxxxxxxxxx> Date: Sat Oct 4 17:44:44 2014 -0700 bonding: display xmit_hash_policy for non-dynamic-tlb mode It's a trivial fix to display xmit_hash_policy for this new TLB mode since it uses transmit-hash-poilicy as part of bonding-master info (/proc/net/bonding/<bonding-interface). Signed-off-by: Mahesh Bandewar <maheshb@xxxxxxxxxx> Reviewed-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d86c21fd31114e3ef9fae64be335c76aa22859dc Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Sep 18 17:18:58 2014 +0200 mfd: cros_ec: wait for completion of commands that return IN_PROGRESS When an EC command returns EC_RES_IN_PROGRESS, we need to query the state of the EC until it indicates that it is no longer busy. Do this in cros_ec_cmd_xfer() under the EC's mutex so that other commands (e.g. keyboard, I2C passtru) aren't issued to the EC while it is working on the in-progress command. The 10 milliseconds delay and the number of retries are the values that were used by the flashrom tool when retrying commands. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 97720706084dd8c45eecc61d39353c7b62939b8f Author: Derek Basehore <dbasehore@xxxxxxxxxxxx> Date: Thu Sep 18 17:18:55 2014 +0200 i2c: i2c-cros-ec-tunnel: Set retries to 3 Since the i2c bus can get wedged on the EC sometimes, set the number of retries to 3. Since we un-wedge the bus immediately after the wedge happens, this is the correct fix since only one transfer will fail. Signed-off-by: Derek Basehore <dbasehore@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 63427530fa7a78b42a19f47fb0c12b303c0666ca Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Sep 18 17:18:57 2014 +0200 mfd: cros_ec: move locking into cros_ec_cmd_xfer Now that there's a central cros_ec_cmd_xfer(), move the locking out of the SPI driver. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a6551a76fff15056fde2342d0f7de41ee605264e Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Sep 18 17:18:56 2014 +0200 mfd: cros_ec: stop calling ->cmd_xfer() directly Instead of having users of the ChromeOS EC call the interface-specific cmd_xfer() callback directly, introduce a central cros_ec_cmd_xfer() to use instead. This will allow us to put all the locking and retry logic in one place instead of duplicating it across the different drivers. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 659e142be09482cfd8b9017f616afebc7cf48fa3 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Thu Sep 18 17:18:54 2014 +0200 mfd: cros_ec: Delay for 50ms when we see EC_CMD_REBOOT_EC If someone sends a EC_CMD_REBOOT_EC to the EC, the EC will likely be unresponsive for quite a while. Add a delay to the end of the command to prevent random failures of future commands. NOTES: * This could be optimized a bit by simply delaying the next command sent, but EC_CMD_REBOOT_EC is such a rare command that the extra complexity doesn't seem worth it. * This is a bit of an "ugly hack" since the SPI driver is effectively snooping on the communication and making a lot of assumptions. It would be nice to architect in some better solution long term. * This same logic probably needs to be applied to the i2c driver. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Randall Spangler <rspangler@xxxxxxxxxxxx> Reviewed-by: Vadim Bendebury <vbendeb@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a4ce47f108a6df129c9f4345c6dda0473cb68da5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 4 09:17:27 2014 -0300 i2c-imx: Disable the clock on probe failure In the case of errors during probe, we should disable i2c_imx->clk. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8c7aa698baca5e8f1ba9edb68081f1e7a1abf455 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Wed Oct 1 11:49:04 2014 -0700 x86_64, entry: Filter RFLAGS.NT on entry from userspace The NT flag doesn't do anything in long mode other than causing IRET to #GP. Oddly, CPL3 code can still set NT using popf. Entry via hardware or software interrupt clears NT automatically, so the only relevant entries are fast syscalls. If user code causes kernel code to run with NT set, then there's at least some (small) chance that it could cause trouble. For example, user code could cause a call to EFI code with NT set, and who knows what would happen? Apparently some games on Wine sometimes do this (!), and, if an IRET return happens, they will segfault. That segfault cannot be handled, because signal delivery fails, too. This patch programs the CPU to clear NT on entry via SYSCALL (both 32-bit and 64-bit, by my reading of the AMD APM), and it clears NT in software on entry via SYSENTER. To save a few cycles, this borrows a trick from Jan Beulich in Xen: it checks whether NT is set before trying to clear it. As a result, it seems to have very little effect on SYSENTER performance on my machine. There's another minor bug fix in here: it looks like the CFI annotations were wrong if CONFIG_AUDITSYSCALL=n. Testers beware: on Xen, SYSENTER with NT set turns into a GPF. I haven't touched anything on 32-bit kernels. The syscall mask change comes from a variant of this patch by Anish Bhatt. Note to stable maintainers: there is no known security issue here. A misguided program can set NT and cause the kernel to try and fail to deliver SIGSEGV, crashing the program. This patch fixes Far Cry on Wine: https://bugs.winehq.org/show_bug.cgi?id=33275 Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/395749a5d39a29bd3e4b35899cf3a3c1340e5595.1412189265.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxx> commit a445900c906092f3b49ee40a7365d0d54acc568e Author: Carl Peng <carlpeng008@xxxxxxxxx> Date: Tue Sep 30 13:04:55 2014 +0300 i2c: designware: Add support for AMD I2C controller Add support for AMD version of the DW I2C host controller. The device is enumerated from ACPI namespace with ACPI ID AMD0010. Because the core driver needs an input source clock, and this is not an Intel LPSS device where clocks are provided through drivers/acpi/acpi_lpss.c, we register the clock ourselves if the clock rate is given in ->driver_data Signed-off-by: Carl Peng <carlpeng008@xxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 925ddb240d6c76e56dd3aa22493f5755c452ba61 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Sep 30 13:04:54 2014 +0300 i2c: designware: Rework probe() to get clock a bit later In order to be able to create missing clock for AMD (and in future possibly others) we move getting clock for the device a bit later. Also make ACPI/DT configuration in the same place depending on from where the device was enumerated from. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 0b26c845dfd554dd9030efbf0249d3830251e58b Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Sep 30 13:04:53 2014 +0300 i2c: designware: Default to fast mode in case of ACPI There is no way in ACPI to tell in which speed the host controller is supposed to run, so we default to fast mode (400KHz). Since this has been the default all the time there should be no functional changes with this change. This is the first step required to refactor the driver probe so that we can supply source clock from ACPI part of the driver to the core. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 594081ee7145cc30a3977cb4e218f81213b63dc5 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Oct 6 17:31:58 2014 +0100 integrity: do zero padding of the key id Latest KEYS code return error if hexadecimal string length id odd. Fix it. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit d4016589855156b6afe5e9bc8ef85ce43f27e704 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Oct 6 17:25:45 2014 +0100 KEYS: output last portion of fingerprint in /proc/keys Previous version of KEYS used to output last 4 bytes of fingerprint. Now it outputs 8 last bytes of raw subject, which does not make any visual meaning at all. This patch restores old behavior. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 7a224e783ad2b325977253139aede1f5f38b1778 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Oct 6 17:02:32 2014 +0100 KEYS: strip 'id:' from ca_keyid The 'id:' prefix must be stripped for asymmetric_key_hex_to_key_id() to be able to process ca_keyid. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 4204111c028d492019e4440d12e9e3d062db4283 Author: Asbjoern Sloth Toennesen <asbjorn@xxxxxxxxxxx> Date: Sun Oct 5 17:43:18 2014 +0000 deb-pkg: remove obsolete -isp option to dpkg-gencontrol The -isp option has been deprecated, after it became the default behaviour back in 2006. Since dpkg 1.17.11, dpkg-gencontrol emits a warning on -isp usage. References: https://bugs.debian.org/215233 Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit f92d9ee3ab39841d1f29f2d1aa96ff7c74b36ee1 Merge: 55dd417 767ebaf Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Oct 6 09:59:15 2014 -0600 Merge branch 'pci/host-xgene' into next * pci/host-xgene: arm64: dts: Add APM X-Gene PCIe device tree nodes PCI: xgene: Add APM X-Gene PCIe driver Conflicts: drivers/pci/host/Kconfig drivers/pci/host/Makefile commit 55dd4175a4bc10d943c159dabef552baaf459a59 Merge: b9c9c25 3587e62 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Oct 6 09:58:37 2014 -0600 Merge branch 'pci/virtualization' into next * pci/virtualization: PCI: Add ACS quirk for AMD A88X southbridge devices commit 767ebaff4ef7235eb49ddec5d48db97b17c37cf5 Author: Tanmay Inamdar <tinamdar@xxxxxxx> Date: Fri Sep 26 14:08:25 2014 -0700 arm64: dts: Add APM X-Gene PCIe device tree nodes Add the device tree nodes for APM X-Gene PCIe host controller and PCIe clock interface. Since X-Gene SOC supports maximum 5 ports, 5 dts nodes are added. Signed-off-by: Tanmay Inamdar <tinamdar@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 8dd609805b87923a700a2fad646390a58013cdb9 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Oct 6 16:52:12 2014 +0100 KEYS: use swapped SKID for performing partial matching Earlier KEYS code used pure subject key identifiers (fingerprint) for searching keys. Latest merged code removed that and broke compatibility with integrity subsytem signatures and original format of module signatures. This patch returns back partial matching on SKID. Reported-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 33fb0d01ce60fe4c0c12c4f0c134c5cdb818ac5a Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Oct 6 16:26:35 2014 +0100 AHCI: Do not acquire ata_host::lock from single IRQ handler There is no need to acquire ata_host::lock spinlock from hardware context single IRQ interrupt handler since the handler does not access host data that could be altered by concurrent processors. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit 18dcf433f3ded61eb140a55e7048ec2fef79e723 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Oct 6 16:24:45 2014 +0100 AHCI: Optimize single IRQ interrupt processing Split interrupt service routine into hardware context handler and threaded context handler. That allows to protect ports with individual locks rather than with a single host-wide lock and move port interrupts handling out of the hardware interrupt context. Testing was done by transferring 8GB on two hard drives in parallel using command 'dd if=/dev/sd{a,b} of=/dev/null'. With lock_stat statistics I measured access times to ata_host::lock spinlock (since interrupt handler code is fully embraced with this lock). The average lock's holdtime decreased eight times while average waittime decreased two times. Both before and after the change the transfer time is the same, while 'perf record -e cycles:k ...' shows 1%-4% CPU time spent in ahci_single_irq_intr() routine before the update and not even sampled/shown ahci_single_irq_intr() after the update. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit 227dfb4dbf109596d76a9b842856c4ff68e4efb2 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Sep 29 18:26:01 2014 +0200 AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode As described in AHCI v1.0 specification chapter 10.6.2.2 "Multiple MSI Based Messages" generation of interrupts is not controlled through the HOST_IRQ_STAT register. Considering MMIO access is expensive remove unnecessary reading and writing of HOST_IRQ_STAT register. Further, serializing access to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Suggested-by: "Jiang, Dave" <dave.jiang@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: "Jiang, Dave" <dave.jiang@xxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit 5ee1cfd975518bc9cdcd79e0b76552b5ae5c8c1e Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Sep 29 18:26:00 2014 +0200 AHCI: Make few function names more descriptive Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit d1028e2f95b75acab4f1046acae1b1ca7d7b2577 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Sep 29 18:25:59 2014 +0200 AHCI: Move host activation code into ahci_host_activate() Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit 1c62854f5f7321b3ee8c08d34d7c1e615608566d Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Sep 29 18:25:58 2014 +0200 AHCI: Move ahci_host_activate() function to libahci.c This update is a prerequisite for consolidation of AHCI host activation code within ahci_host_activate() function. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit a6849b9fdbffd2492a848df942b39d23bd81ef27 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Sep 29 18:25:57 2014 +0200 AHCI: Pass SCSI host template as arg to ahci_host_activate() This update is a prerequisite for consolidation of AHCI host activation code within ahci_host_activate() function. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit f1b731dbc2530cab93fcfc5fcb18c9f3a100feeb Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Oct 6 15:21:05 2014 +0100 KEYS: Restore partial ID matching functionality for asymmetric keys Bring back the functionality whereby an asymmetric key can be matched with a partial match on one of its IDs. Whilst we're at it, allow for the possibility of having an increased number of IDs. Reported-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit f667aef6af626d0cdce0204bc7a2888e62076525 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Tue Sep 23 13:40:08 2014 +0800 btrfs: Make btrfs handle security mount options internally to avoid losing security label. [BUG] Originally when mount btrfs with "-o subvol=" mount option, btrfs will lose all security lable. And if the btrfs fs is mounted somewhere else, due to the lost of security lable, SELinux will refuse to mount since the same super block is being mounted using different security lable. [REPRODUCER] With SELinux enabled: #mkfs -t btrfs /dev/sda5 #mount -o context=system_u:object_r:nfs_t:s0 /dev/sda5 /mnt/btrfs #btrfs subvolume create /mnt/btrfs/subvol #mount -o subvol=subvol,context=system_u:object_r:nfs_t:s0 /dev/sda5 /mnt/test kernel message: SELinux: mount invalid. Same superblock, different security settings for (dev sda5, type btrfs) [REASON] This happens because btrfs will call vfs_kern_mount() and then mount_subtree() to handle subvolume name lookup. First mount will cut off all the security lables and when it comes to the second vfs_kern_mount(), it has no security label now. [FIX] This patch will makes btrfs behavior much more like nfs, which has the type flag FS_BINARY_MOUNTDATA, making btrfs handles the security label internally. So security label will be set in the real mount time and won't lose label when use with "subvol=" mount option. Reported-by: Eryu Guan <guaneryu@xxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8024379e0ae43b1154978c2291ce20f772cbb3bd Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Oct 6 15:23:07 2014 +0300 mmc: sdhci-acpi: Fix Braswell eMMC timeout clock frequency Braswell eMMC host controller specifies an incorrect timeout clock frequncy in the capabilities registers. The correct value is 1 MHz. A similar fix was done for sdhci-pci, however in the sdhci-acpi case the HID/UID is not unique so the capabilities register values are matched also. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7dafca835a459ab31792d9def69ed30cf6dc08ab Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Oct 6 15:23:06 2014 +0300 mmc: sdhci-acpi: Pass HID and UID to probe_slot Pass HID and UID to probe_slot so extra setup can be done for specific ids. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3db3525196a992da628fb210776d73ec4bb59460 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Mon Oct 6 15:23:05 2014 +0300 mmc: sdhci-acpi: Get UID directly from acpi_device UID was made available on acpi_device since commit ccf78040265b ("ACPI: Add _UID support for ACPI devices.") Use it from there instead of reprocessing the ACPI object info. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3e28e377204badfc3c4119ff2abda473127ee0ff Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Sun Oct 5 13:24:22 2014 -0400 workqueue: Use cond_resched_rcu_qs macro Tidy up and use cond_resched_rcu_qs when calling cond_resched and reporting potential quiescent state to RCU. Splitting this change in this way allows easy backporting to -stable for kernel versions not having cond_resched_rcu_qs(). Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 789cbbeca4eb7141cbd748ee93772471101b507b Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Sun Oct 5 13:24:21 2014 -0400 workqueue: Add quiescent state between work items Similar to the stop_machine deadlock scenario on !PREEMPT kernels addressed in b22ce2785d97 "workqueue: cond_resched() after processing each work item", kworker threads requeueing back-to-back with zero jiffy delay can stall RCU. The cond_resched call introduced in that fix will yield only iff there are other higher priority tasks to run, so force a quiescent RCU state between work items. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Link: https://lkml.kernel.org/r/20140926105227.01325697@xxxxxxxxxxxxxxxxxxxxxxxxxxxx Link: https://lkml.kernel.org/r/20140929115445.40221d8e@xxxxxxxxxxxxxxxxxxxxxxxxxxxx Fixes: b22ce2785d97 ("workqueue: cond_resched() after processing each work item") Cc: <stable@xxxxxxxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 8df22a4d6f5b81c9c1703579d4907b57002689ed Merge: 0cae90a a5448c8 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Oct 6 14:01:11 2014 +0200 Merge tag 'asoc-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-next ASoC: Updates for v3.18 - More componentisation work from Lars-Peter, this time mainly cleaning up the suspend and bias level transition callbacks. - Real system support for the Intel drivers and a bunch of fixes and enhancements for the associated CODEC drivers, this is going to need a lot quirks over time due to the lack of any firmware description of the boards. - Jack detect support for simple card from Dylan Reid. - A bunch of small fixes and enhancements for the Freescale drivers. - New drivers for Analog Devices SSM4567, Cirrus Logic CS35L32, Everest Semiconductor ES8328 and Freescale cards using the ASRC in newer i.MX processors. commit a5448c88b812390a3622e76d774e10c0da1fb970 Merge: 978d4dd ff495d3 77c5453 dfe8f1f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:49:09 2014 +0100 Merge remote-tracking branches 'asoc/topic/txx9', 'asoc/topic/wm8978' and 'asoc/topic/wm8994' into asoc-next commit 978d4ddb9ed2fe272d66219e109afe6e8eb090a9 Merge: 248519c 83a7fc9 be1aa3e 9766a1c 9cfb769 31d9f8f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:49:07 2014 +0100 Merge remote-tracking branches 'asoc/topic/suspend', 'asoc/topic/tas2552', 'asoc/topic/tegra', 'asoc/topic/tlv320aic31xx' and 'asoc/topic/tlv320aic3x' into asoc-next commit 248519c00eb239adc9a4a33e9970ccfea335b83a Merge: 7370780 872bbb3 0d985b1 58a9014 3b2a001 7c168d5 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:49:05 2014 +0100 Merge remote-tracking branches 'asoc/topic/simple', 'asoc/topic/sirf', 'asoc/topic/spdif', 'asoc/topic/ssm2602' and 'asoc/topic/ssm4567' into asoc-next commit 7370780cfd52552e570e4d252c75584c36378e4e Merge: 9568eae f3fa1bb 6f67c38 e8a70c2 6f4d2b3 5d0ecb0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:49:03 2014 +0100 Merge remote-tracking branches 'asoc/topic/rt5645', 'asoc/topic/rt5677', 'asoc/topic/samsung', 'asoc/topic/sgtl5000' and 'asoc/topic/sh' into asoc-next commit 9568eaec6c16f909e806a3920699376ec147d8fa Merge: 57b027f 99632d1 3b40a80 a493b6a a577483 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:49:02 2014 +0100 Merge remote-tracking branches 'asoc/topic/max98090', 'asoc/topic/rockchip', 'asoc/topic/rsnd' and 'asoc/topic/rt286' into asoc-next commit 57b027f697c9d7c0356a53fb9e11e9f8d601fb5c Merge: 565fefd d177143 eadb001 b93427b bb78cdd Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:59 2014 +0100 Merge remote-tracking branches 'asoc/topic/fsl-easi', 'asoc/topic/fsl-sai', 'asoc/topic/fsl-ssi' and 'asoc/topic/intel' into asoc-next commit 565fefdf31a58b5c07869fe598c3dcc69ed680d7 Merge: 9919bad f114ce6 8a36eaa 5d5e63a 8d01370 c05a11f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:57 2014 +0100 Merge remote-tracking branches 'asoc/topic/davinci', 'asoc/topic/dmic', 'asoc/topic/drivers', 'asoc/topic/es8328' and 'asoc/topic/fsl' into asoc-next commit 9919badff1ae85ecb273491b9f8adff0bb47b0e7 Merge: 1e9ca68 98c5d36 5c216cc a4f87ce cd9241e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:55 2014 +0100 Merge remote-tracking branches 'asoc/topic/cs4265', 'asoc/topic/cs42l52', 'asoc/topic/cs42l56' and 'asoc/topic/da732x' into asoc-next commit 1e9ca6857cee968f2af3a7be09418dfe27e81dce Merge: 7ddb870 ae70b19 a18a32c e306b6e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:54 2014 +0100 Merge remote-tracking branches 'asoc/topic/ab8500', 'asoc/topic/ac97' and 'asoc/topic/cs35l32' into asoc-next commit 7ddb870b78e6f655b98231e23ae637e7d6fcf78f Merge: 64fdf13 5ea55705 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:53 2014 +0100 Merge remote-tracking branch 'asoc/topic/fsl-esai' into asoc-next commit 64fdf13c8b5ff530f54dd767861f4e25a9ec2fe9 Merge: 97c53e2 5dc0158 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:52 2014 +0100 Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next commit 97c53e26f0773b9eb9ede21f544a91dd1bcd9ca9 Merge: 5bcaca4 e03f73a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:52 2014 +0100 Merge remote-tracking branch 'asoc/topic/core' into asoc-next commit 5bcaca4b5bf2b05cc15a2c5bfb3d95fc49607e36 Merge: 832a941 b2d9de5 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:51 2014 +0100 Merge remote-tracking branch 'asoc/topic/component' into asoc-next commit 832a94143c549bc750350c4e770f1f604e6aaffb Merge: fd7aff5 19926c6 f69e3ca Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:50 2014 +0100 Merge remote-tracking branches 'asoc/fix/davinci' and 'asoc/fix/max98090' into asoc-linus commit fd7aff54ff6862cde82db8a7d55166a2f0a34b9c Merge: bfe01a5 5e3905f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Oct 6 12:48:44 2014 +0100 Merge tag 'asoc-v3.17-rc4' into asoc-linus ASoC: Fixes for v3.17 Another round of again fairly unexciting fixes - several driver fixes, an e-mail address change and a fix for error handling with DPCM. # gpg: Signature made Wed 10 Sep 2014 12:26:54 BST using RSA key ID 5D5487D0 # gpg: Good signature from "Mark Brown <broonie@xxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxxxxxxx>" # gpg: aka "Mark Brown <broonie@xxxxxxxxxx>" # gpg: aka "Mark Brown <Mark.Brown@xxxxxxxxxx>" commit 95afae481414cbdb0567bf82d5e5077c3ac9da20 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Mon Sep 8 17:30:41 2014 +0100 xen: remove DEFINE_XENBUS_DRIVER() macro The DEFINE_XENBUS_DRIVER() macro looks a bit weird and causes sparse errors. Replace the uses with standard structure definitions instead. This is similar to pci and usb device registration. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 305559f16538708b603ceeb317ebaed9c4da9ce9 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Fri Sep 26 23:36:03 2014 +0800 xen/xenbus: Remove BUG_ON() when error string trucated xenbus_va_dev_error() is for printing error, so when error string is too long to be truncated, need not BUG_ON(), still return truncation string is OK. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit c7440a2f225e3b37abbe27f069465cd31ba94b3c Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Fri Sep 26 23:34:29 2014 +0800 xen/xenbus: Correct the comments for xenbus_grant_ring() A grant reference (which is a positive number) can indicate success, so the original comments need be improved. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit a2ef5dc2c7cbedbeb4c847039845afaea5e63745 Author: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx> Date: Wed Sep 10 16:36:06 2014 -0700 x86/xen: Set EFER.NX and EFER.SCE in PVH guests This fixes two bugs in PVH guests: - Not setting EFER.NX means the NX bit in page table entries is ignored on Intel processors and causes reserved bit page faults on AMD processors. - After the Xen commit 7645640d6ff1 ("x86/PVH: don't set EFER_SCE for pvh guest") PVH guests are required to set EFER.SCE to enable the SYSCALL instruction. Secondary VCPUs are started with pagetables with the NX bit set so EFER.NX must be set before using any stack or data segment. xen_pvh_cpu_early_init() is the new secondary VCPU entry point that sets EFER before jumping to cpu_bringup_and_idle(). Signed-off-by: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 669a36302641fb8ea34b558dc0e2ce1df6f262be Author: Gaurav Minocha <gaurav.minocha.os@xxxxxxxxx> Date: Sun Sep 28 12:38:07 2014 -0700 To remove non-ascii characters in of_selftest.txt This patch removes the non-ascii characters in Documentation/devicetree/of_selftest.txt Signed-off-by: Gaurav Minocha <gaurav.minocha.os@xxxxxxxxx> [grant.likely: Fix: s/of_fdt_unflatten_device_tree()/of_fdt_unflatten_tree()/] Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 4e62ccd901062c532673f4fda16c484de2c3c8fc Merge: f2600cf 1556b87 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 6 01:04:21 2014 -0400 Merge branch 'mlx4-next' Amir Vadai says: ==================== net/mlx4_en: Optimizations to TX flow This patchset contains optimizations to TX flow in mlx4_en driver. It also introduce setting/getting tx copybreak, to enable controlling inline threshold dynamically. TX flow optimizations was authored and posted to the mailing list by Eric Dumazet [1] as a single patch. I splitted this patch to smaller patches, Reviewed it and tested. Changed from original patch: - s/iowrite32be/iowrite32/, since ring->doorbell_qpn is stored as be32 The tx copybreak patch was also suggested by Eric Dumazet, and was edited and reviewed by me. User space patch will be sent after kernel code is ready. I am sending this patchset now since the merge window is near and don't want to miss it. More work need to do: - Disable BF when xmit_more is in use - Make TSO use xmit_more too. Maybe by splitting small TSO packets in the driver itself, to avoid extra cpu/memory costs of GSO before the driver - Fix mlx4_en_xmit buggy handling of queue full in the middle of a burst partially posted to send queue using xmit_more Eric, I edited the patches to have you as the Author and the first signed-off-by. I hope it is ok with you (I wasn't sure if it is ok to sign by you), anyway all the credit to those changes should go to you. Patchset was tested and applied over commit 1e203c1 "(net: sched: suspicious RCU usage in qdisc_watchdog") [1] - https://patchwork.ozlabs.org/patch/394256/ ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1556b8746e52501fdfaadd65837baaa63a9fa937 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:22 2014 +0300 net/mlx4_en: Use the new tx_copybreak to set inline threshold Instead of setting inline threshold using module parameter only on driver load, use set_tunable() to set it dynamically. No need to store the threshold per ring, using instead the netdev global priv->prof->inline_thold Initial value still is set using the module parameter, therefore backward compatability is kept. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1255a5055449781a92076fc5429952f2b33cf309 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:21 2014 +0300 ethtool: Ethtool parameter to dynamically change tx_copybreak Use new ethtool [sg]et_tunable() to set tx_copybread (inline threshold) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit acea73d671b25bfbbe6b8ceef949f4ac62c260c0 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:20 2014 +0300 net/mlx4_en: Enable the compiler to make is_inline() inlined Reorganize code to call is_inline() once, so compiler can inline it Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e70602a8b87649e9f7742d96929a8d83618fa320 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:19 2014 +0300 net/mlx4_en: tx_info->ts_requested was not cleared Properly clear tx_info->ts_requested Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e533ac7ea00c39f5ef4ab0976dd2662d50fa42a1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:18 2014 +0300 net/mlx4_en: Use local var for skb_headlen(skb) Access skb_headlen() once in tx flow Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b9d8839a44092cb4268ef2813c34d5dbf3363603 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:17 2014 +0300 net/mlx4_en: Use local var in tx flow for skb_shinfo(skb) Acces skb_shinfo(skb) once in tx flow. Also, rename @i variable to @i_frag to avoid confusion, as the "goto tx_drop_unmap;" relied on this @i variable. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f905c79e12791d09bbfd9ba7b672fbeb19c1e7c2 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:16 2014 +0300 net/mlx4_en: mlx4_en_xmit() reads ring->cons once, and ahead of time to avoid stalls Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb1843ee72c7b2ed784bf88ad79c6ccc2f652499 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:15 2014 +0300 net/mlx4_en: Avoid false sharing in mlx4_en_en_process_tx_cq() mlx4_en_process_tx_cq() carefully fetches and writes ring->last_nr_txbb and ring->cons only one time to avoid false sharing Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29d40c903247596c954446639116467eb6689bb7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:14 2014 +0300 net/mlx4_en: Use prefetch in tx path mlx4_en_free_tx_desc() uses a prefetchw(&skb->users) to speed up consume_skb() prefetchw(&ring->tx_queue->dql) to speed up BQL update Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d03641cb4ea050f969dd3ab34113adb95287f36 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:13 2014 +0300 net/mlx4_en: Avoid a cache line miss in TX completion for single frag skb's Add frag0_dma/frag0_byte_count into mlx4_en_tx_info to avoid a cache line miss in TX completion for frames having one dma element. (We avoid reading back the tx descriptor) Note this could be extended to 2/3 dma elements later, as we have free room in mlx4_en_tx_info Also, mlx4_en_free_tx_desc() no longer accesses skb_shinfo(). We use a new nr_maps fields in mlx4_en_tx_info to avoid 2 or 3 cache misses. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc9b06d156cefb95f7f6a3ac0521a3efa31d6805 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:12 2014 +0300 net/mlx4_en: tx_info allocated with kmalloc() instead of vmalloc() Try to allocate using kmalloc_node() first, only on failure use vmalloc() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a4e81211f475561ed87c613216f981fbef8b7fc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:11 2014 +0300 net/mlx4_en: Avoid calling bswap in tx fast path - doorbell_qpn is stored in the cpu_to_be32() way to avoid bswap() in fast path. - mdev->mr.key stored in ring->mr_key to also avoid bswap() and access to cold cache line. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 98b1634941e3efb0334f794efc79702839993d86 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:10 2014 +0300 net/mlx4_en: Align tx path structures to cache lines Reorganize struct mlx4_en_tx_ring to have: - One cache line containing last_nr_txbb & cons & wake_queue, used by tx completion. - One cache line containing fields dirtied by mlx4_en_xmit() - Following part is read mostly and shared by cpus. Align struct mlx4_en_tx_info to a cache line Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7dfa4b414d4eec8da56e44fb2b4aea3e549b092f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Oct 5 12:35:09 2014 +0300 net/mlx4_en: Code cleanups in tx path - Remove unused variable ring->poll_cnt - No need to set some fields if using blueflame - Add missing const's - Use unlikely - Remove unneeded new line - Make some comments more precise - struct mlx4_bf @offset field reduced to unsigned int to save space Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f2600cf02b5b59aaee082c3485b7f01fc7f7b70c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Oct 4 10:11:31 2014 -0700 net: sched: avoid costly atomic operation in fq_dequeue() Standard qdisc API to setup a timer implies an atomic operation on every packet dequeue : qdisc_unthrottled() It turns out this is not really needed for FQ, as FQ has no concept of global qdisc throttling, being a qdisc handling many different flows, some of them can be throttled, while others are not. Fix is straightforward : add a 'bool throttle' to qdisc_watchdog_schedule_ns(), and remove calls to qdisc_unthrottled() in sch_fq. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 681d2421e1135b95f5cd9d16fe10eac7f570a9f2 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 4 13:40:01 2014 -0300 fec: Fix fec_enet_alloc_buffers() error path When fec_enet_alloc_buffers() fails we should better undo the previous actions, which consists of: disabling the FEC clocks and putting the FEC pins into inactive state. The error path for fec_enet_mii_probe() is kept unchanged. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35425ea2492175fd39f6116481fe98b2b3ddd4ca Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Jul 24 17:25:42 2014 +0800 ecryptfs: avoid to access NULL pointer when write metadata in xattr Christopher Head 2014-06-28 05:26:20 UTC described: "I tried to reproduce this on 3.12.21. Instead, when I do "echo hello > foo" in an ecryptfs mount with ecryptfs_xattr specified, I get a kernel crash: BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff8110eb39>] fsstack_copy_attr_all+0x2/0x61 PGD d7840067 PUD b2c3c067 PMD 0 Oops: 0002 [#1] SMP Modules linked in: nvidia(PO) CPU: 3 PID: 3566 Comm: bash Tainted: P O 3.12.21-gentoo-r1 #2 Hardware name: ASUSTek Computer Inc. G60JX/G60JX, BIOS 206 03/15/2010 task: ffff8801948944c0 ti: ffff8800bad70000 task.ti: ffff8800bad70000 RIP: 0010:[<ffffffff8110eb39>] [<ffffffff8110eb39>] fsstack_copy_attr_all+0x2/0x61 RSP: 0018:ffff8800bad71c10 EFLAGS: 00010246 RAX: 00000000000181a4 RBX: ffff880198648480 RCX: 0000000000000000 RDX: 0000000000000004 RSI: ffff880172010450 RDI: 0000000000000000 RBP: ffff880198490e40 R08: 0000000000000000 R09: 0000000000000000 R10: ffff880172010450 R11: ffffea0002c51e80 R12: 0000000000002000 R13: 000000000000001a R14: 0000000000000000 R15: ffff880198490e40 FS: 00007ff224caa700(0000) GS:ffff88019fcc0000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000000 CR3: 00000000bb07f000 CR4: 00000000000007e0 Stack: ffffffff811826e8 ffff8800a39d8000 0000000000000000 000000000000001a ffff8800a01d0000 ffff8800a39d8000 ffffffff81185fd5 ffffffff81082c2c 00000001a39d8000 53d0abbc98490e40 0000000000000037 ffff8800a39d8220 Call Trace: [<ffffffff811826e8>] ? ecryptfs_setxattr+0x40/0x52 [<ffffffff81185fd5>] ? ecryptfs_write_metadata+0x1b3/0x223 [<ffffffff81082c2c>] ? should_resched+0x5/0x23 [<ffffffff8118322b>] ? ecryptfs_initialize_file+0xaf/0xd4 [<ffffffff81183344>] ? ecryptfs_create+0xf4/0x142 [<ffffffff810f8c0d>] ? vfs_create+0x48/0x71 [<ffffffff810f9c86>] ? do_last.isra.68+0x559/0x952 [<ffffffff810f7ce7>] ? link_path_walk+0xbd/0x458 [<ffffffff810fa2a3>] ? path_openat+0x224/0x472 [<ffffffff810fa7bd>] ? do_filp_open+0x2b/0x6f [<ffffffff81103606>] ? __alloc_fd+0xd6/0xe7 [<ffffffff810ee6ab>] ? do_sys_open+0x65/0xe9 [<ffffffff8157d022>] ? system_call_fastpath+0x16/0x1b RIP [<ffffffff8110eb39>] fsstack_copy_attr_all+0x2/0x61 RSP <ffff8800bad71c10> CR2: 0000000000000000 ---[ end trace df9dba5f1ddb8565 ]---" If we create a file when we mount with ecryptfs_xattr_metadata option, we will encounter a crash in this path: ->ecryptfs_create ->ecryptfs_initialize_file ->ecryptfs_write_metadata ->ecryptfs_write_metadata_to_xattr ->ecryptfs_setxattr ->fsstack_copy_attr_all It's because our dentry->d_inode used in fsstack_copy_attr_all is NULL, and it will be initialized when ecryptfs_initialize_file finish. So we should skip copying attr from lower inode when the value of ->d_inode is invalid. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.2+: b59db43 eCryptfs: Prevent file create race condition Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit b3a00c912cdf8efe985a08018fe26f362b32c1ac Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Sat Oct 4 17:54:33 2014 +0800 drivers/net/phy/Kconfig: Let MDIO_BCM_UNIMAC depend on HAS_IOMEM MDIO_BCM_UNIMAC needs HAS_IOMEM, so depend on it, the related error ( with allmodconfig under um): MODPOST 1205 modules ERROR: "devm_ioremap" [drivers/net/phy/mdio-bcm-unimac.ko] undefined! Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bec3cfdca36bf43cfa3751ad7b56db1a307e0760 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 3 20:59:19 2014 -0700 net: skb_segment() provides list head and tail Its unfortunate we have to walk again skb list to find the tail after segmentation, even if data is probably hot in cpu caches. skb_segment() can store the tail of the list into segs->prev, and validate_xmit_skb_list() can immediately get the tail. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45d9cc7c609680e921060d3eb4e399043eb5e4be Merge: c259c13 f579668 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Oct 6 00:32:25 2014 -0400 Merge branch 'geneve' Andy Zhou says: ==================== Add Geneve tunnel protocol support This patch series adds kernel support for Geneve (Generic Network Virtualization Encapsulation) based on Geneve IETF draft: http://www.ietf.org/id/draft-gross-geneve-01.txt Patch 1 implements Geneve tunneling protocol driver Patch 2-6 adds openvswitch support for creating and using Geneve tunnels by OVS user space. v1->v2: Style fixes: use tab instead space for Kconfig Patch 2-6 are reviewed by Pravin Shetty, add him to acked-by Patch 6 was reviewed by Thomas Graf when commiting to openvswitch.org, add him to acked-by. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5796684069e0c71c65bce6a6d4766114aec1396 Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Oct 3 15:35:33 2014 -0700 openvswitch: Add support for Geneve tunneling. The Openvswitch implementation is completely agnostic to the options that are in use and can handle newly defined options without further work. It does this by simply matching on a byte array of options and allowing userspace to setup flows on this array. Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Singed-off-by: Ansis Atteka <aatteka@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxxxxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6b205b2ca17e88ef5e10451b720056b790cc63a5 Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Oct 3 15:35:32 2014 -0700 openvswitch: Factor out allocation and verification of actions. As the size of the flow key grows, it can put some pressure on the stack. This is particularly true in ovs_flow_cmd_set(), which needs several copies of the key on the stack. One of those uses is logically separate, so this factors it out to reduce stack pressure and improve readibility. Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0b128c1e2cc33ad104daf0f51a51e34f7763c5f Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Oct 3 15:35:31 2014 -0700 openvswitch: Wrap struct ovs_key_ipv4_tunnel in a new structure. Currently, the flow information that is matched for tunnels and the tunnel data passed around with packets is the same. However, as additional information is added this is not necessarily desirable, as in the case of pointers. This adds a new structure for tunnel metadata which currently contains only the existing struct. This change is purely internal to the kernel since the current OVS_KEY_ATTR_IPV4_TUNNEL is simply a compressed version of OVS_KEY_ATTR_TUNNEL that is translated at flow setup. Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67fa034194bf82a3d5ca841759d921297daa63ca Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Oct 3 15:35:30 2014 -0700 openvswitch: Add support for matching on OAM packets. Some tunnel formats have mechanisms for indicating that packets are OAM frames that should be handled specially (either as high priority or not forwarded beyond an endpoint). This provides support for allowing those types of packets to be matched. Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0714812134d7dcadeb7ecfbfeb18788aa7e1eaac Author: Jesse Gross <jesse@xxxxxxxxxx> Date: Fri Oct 3 15:35:29 2014 -0700 openvswitch: Eliminate memset() from flow_extract. As new protocols are added, the size of the flow key tends to increase although few protocols care about all of the fields. In order to optimize this for hashing and matching, OVS uses a variable length portion of the key. However, when fields are extracted from the packet we must still zero out the entire key. This is no longer necessary now that OVS implements masking. Any fields (or holes in the structure) which are not part of a given protocol will be by definition not part of the mask and zeroed out during lookup. Furthermore, since masking already uses variable length keys this zeroing operation automatically benefits as well. In principle, the only thing that needs to be done at this point is remove the memset() at the beginning of flow. However, some fields assume that they are initialized to zero, which now must be done explicitly. In addition, in the event of an error we must also zero out corresponding fields to signal that there is no valid data present. These increase the total amount of code but very little of it is executed in non-error situations. Removing the memset() reduces the profile of ovs_flow_extract() from 0.64% to 0.56% when tested with large packets on a 10G link. Suggested-by: Pravin Shelar <pshelar@xxxxxxxxxx> Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b5e8b8eeae40bae6ad7c7e91c97c3c0d0e57882 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Fri Oct 3 15:35:28 2014 -0700 net: Add Geneve tunneling protocol driver This adds a device level support for Geneve -- Generic Network Virtualization Encapsulation. The protocol is documented at http://tools.ietf.org/html/draft-gross-geneve-01 Only protocol layer Geneve support is provided by this driver. Openvswitch can be used for configuring, set up and tear down functional Geneve tunnels. Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdf6fa52f01b941d4a80372d56de465bdbbd1d23 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri Oct 3 18:16:20 2014 -0400 sctp: handle association restarts when the socket is closed. Currently association restarts do not take into consideration the state of the socket. When a restart happens, the current assocation simply transitions into established state. This creates a condition where a remote system, through a the restart procedure, may create a local association that is no way reachable by user. The conditions to trigger this are as follows: 1) Remote does not acknoledge some data causing data to remain outstanding. 2) Local application calls close() on the socket. Since data is still outstanding, the association is placed in SHUTDOWN_PENDING state. However, the socket is closed. 3) The remote tries to create a new association, triggering a restart on the local system. The association moves from SHUTDOWN_PENDING to ESTABLISHED. At this point, it is no longer reachable by any socket on the local system. This patch addresses the above situation by moving the newly ESTABLISHED association into SHUTDOWN-SENT state and bundling a SHUTDOWN after the COOKIE-ACK chunk. This way, the restarted associate immidiately enters the shutdown procedure and forces the termination of the unreachable association. Reported-by: David Laight <David.Laight@xxxxxxxxxx> Signed-off-by: Vlad Yasevich <vyasevich@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c259c132ad284576ab44308d5d17ea6a16c971b5 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Fri Oct 3 14:29:14 2014 -0700 net: fec: fix build error at m68k platform reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 1b7bde6d659d30f171259cc2dfba8e5dab34e735 make.cross ARCH=m68k m5275evb_defconfig make.cross ARCH=m68k All error/warnings: drivers/net/ethernet/freescale/fec_main.c: In function 'fec_enet_rx_queue': >> drivers/net/ethernet/freescale/fec_main.c:1470:3: error: implicit declaration of function 'prefetch' [-Werror=implicit-function-declaration] prefetch(skb->data - NET_IP_ALIGN); ^ cc1: some warnings being treated as errors missed included prefetch.h Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5ad6e6c50899621030a9b10ddcb2fcd349cb5965 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Fri Oct 3 12:25:01 2014 -0700 net: bcmgenet: improve bcmgenet_mii_setup() bcmgenet_mii_setup() is called from the PHY state machine every 1-2 seconds when the PHYs are in PHY_POLL mode. Improve bcmgenet_mii_setup() so that it touches the MAC registers only when the link is up and there was a change to link, speed, duplex, or pause status. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Tested-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 120c2cba1d76494a68e36a11eb630cb335ed1494 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Oct 3 15:12:42 2014 -0700 f2fs: remove unused return value Don't return any value without any usage. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f4bb2981024fc91b23b4d09a8817c415396dbabb Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Oct 5 22:56:00 2014 -0400 ext4: add ext4_iget_normal() which is to be used for dir tree lookups If there is a corrupted file system which has directory entries that point at reserved, metadata inodes, prohibit them from being used by treating them the same way we treat Boot Loader inodes --- that is, mark them to be bad inodes. This prohibits them from being opened, deleted, or modified via chmod, chown, utimes, etc. In particular, this prevents a corrupted file system which has a directory entry which points at the journal inode from being deleted and its blocks released, after which point Much Hilarity Ensues. Reported-by: Sami Liedes <sami.liedes@xxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e2bfb088fac03c0f621886a04cffc7faa2b49b1d Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Oct 5 22:47:07 2014 -0400 ext4: don't orphan or truncate the boot loader inode The boot loader inode (inode #5) should never be visible in the directory hierarchy, but it's possible if the file system is corrupted that there will be a directory entry that points at inode #5. In order to avoid accidentally trashing it, when such a directory inode is opened, the inode will be marked as a bad inode, so that it's not possible to modify (or read) the inode from userspace. Unfortunately, when we unlink this (invalid/illegal) directory entry, we will put the bad inode on the ophan list, and then when try to unlink the directory, we don't actually remove the bad inode from the orphan list before freeing in-memory inode structure. This means the in-memory orphan list is corrupted, leading to a kernel oops. In addition, avoid truncating a bad inode in ext4_destroy_inode(), since truncating the boot loader inode is not a smart thing to do. Reported-by: Sami Liedes <sami.liedes@xxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit f13909cdab3ad0fda7be8c42f0930fbf7200ffa4 Merge: a4b4a2b 3354313 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:39:58 2014 -0400 Merge branch 'altera_tse' Walter Lozano says: ==================== Altera TSE with no PHY In some scenarios there is no PHY chip present, for example in optical links. This serie of patches moves PHY get addr and MDIO create to a new function and avoids PHY and MDIO probing in these cases. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3354313e504ab51d620388fb230e17cd9097388c Author: Walter Lozano <walter@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 15:09:01 2014 -0300 Altera TSE: Add support for no PHY This patch avoids PHY and MDIO probing if no PHY chip is present. This is the case mainly in optical links where there is no need for PHY chip, and therefore no need of MDIO. In this scenario Ethernet MAC is directly connected to an optical module through an external SFP transceiver. Signed-off-by: Walter Lozano <walter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 004fa11861f89c54c8839119a99e87b6164dcc2c Author: Walter Lozano <walter@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 15:09:00 2014 -0300 Altera TSE: Move PHY get addr and MDIO create Move PHY get addr and MDIO create to a new function to improve readability and make it easier to avoid its usage. This will be useful for example in the case where there is no PHY chip. Signed-off-by: Walter Lozano <walter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4b4a2b7f98a45c71a906b1126cabea6446a9905 Merge: 61b37d2 3f08e47 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:34:39 2014 -0400 Merge tag 'master-2014-10-02' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== pull request: wireless-next 2014-10-03 Please pull tihs batch of updates intended for the 3.18 stream! For the iwlwifi bits, Emmanuel says: "I have here a few things that depend on the latest mac80211's changes: RRM, TPC, Quiet Period etc... Eyal keeps improving our rate control and we have a new device ID. This last patch should probably have gone to wireless.git, but at that stage, I preferred to send it to -next and CC stable." For (most of) the Atheros bits, Kalle says: "The only new feature is testmode support from me. Ben added a new method to crash the firmware with an assert for debug purposes. As usual, we have lots of smaller fixes from Michal. Matteo fixed a Kconfig dependency with debugfs. I fixed some warnings recently added to checkpatch." For the NFC bits, Samuel says: "We've had major updates for TI and ST Microelectronics drivers, and a few NCI related changes. For TI's trf7970a driver: - Target mode support for trf7970a - Suspend/resume support for trf7970a - DT properties additions to handle different quirks - A bunch of fixes for smartphone IOP related issues For ST Microelectronics' ST21NFCA and ST21NFCB drivers: - ISO15693 support for st21nfcb - checkpatch and sparse related warning fixes - Code cleanups and a few minor fixes Finally, Marvell added ISO15693 support to the NCI stack, together with a couple of NCI fixes." For the Bluetooth bits, Johan says: "This 3.18 pull request replaces the one I did on Monday ("bluetooth-next 2014-09-22", which hasn't been pulled yet). The additions since the last request are: - SCO connection fix for devices not supporting eSCO - Cleanups regarding the SCO establishment logic - Remove unnecessary return value from logging functions - Header compression fix for 6lowpan - Cleanups to the ieee802154/mrf24j40 driver Here's a copy from previous request that this one replaces: ' Here are some more patches for 3.18. They include various fixes to the btusb HCI driver, a fix for LE SMP, as well as adding Jukka to the MAINTAINERS file for generic 6LoWPAN (as requested by Alexander Aring). I've held on to this pull request a bit since we were waiting for a SCO related fix to get sorted out first. However, since the merge window is getting closer I decided not to wait for it. If we do get the fix sorted out there'll probably be a second small pull request later this week. '" And, "Unless 3.17 gets delayed this will probably be our last -next pull request for 3.18. We've got: - New Marvell hardware supportr - Multicast support for 6lowpan - Several of 6lowpan fixes & cleanups - Fix for a (false-positive) lockdep warning in L2CAP - Minor btusb cleanup" On top of all that comes the usual sort of updates to ath5k, ath9k, ath10k, brcmfmac, mwifiex, and wil6210. This time around there are also a number of rtlwifi updates to enable some new hardware and to reconcile the in-kernel drivers with some newer releases of the Realtek vendor drivers. Also of note is some device tree work for the bcma bus. Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61b37d2f54961b336a47a501e797a05df20c3b30 Merge: ad9eef5 8da4cc1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:32:37 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== Netfilter/IPVS updates for net-next The following patchset contains another batch with Netfilter/IPVS updates for net-next, they are: 1) Add abstracted ICMP codes to the nf_tables reject expression. We introduce four reasons to reject using ICMP that overlap in IPv4 and IPv6 from the semantic point of view. This should simplify the maintainance of dual stack rule-sets through the inet table. 2) Move nf_send_reset() functions from header files to per-family nf_reject modules, suggested by Patrick McHardy. 3) We have to use IS_ENABLED(CONFIG_BRIDGE_NETFILTER) everywhere in the code now that br_netfilter can be modularized. Convert remaining spots in the network stack code. 4) Use rcu_barrier() in the nf_tables module removal path to ensure that we don't leave object that are still pending to be released via call_rcu (that may likely result in a crash). 5) Remove incomplete arch 32/64 compat from nft_compat. The original (bad) idea was to probe the word size based on the xtables match/target info size, but this assumption is wrong when you have to dump the information back to userspace. 6) Allow to filter from prerouting and postrouting in the nf_tables bridge. In order to emulate the ebtables NAT chains (which are actually simple filter chains with no special semantics), we have support filtering from this hooks too. 7) Add explicit module dependency between xt_physdev and br_netfilter. This provides a way to detect if the user needs br_netfilter from the configuration path. This should reduce the breakage of the br_netfilter modularization. 8) Cleanup coding style in ip_vs.h, from Simon Horman. 9) Fix crash in the recently added nf_tables masq expression. We have to register/unregister the notifiers to clean up the conntrack table entries from the module init/exit path, not from the rule addition / deletion path. From Arturo Borrero. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad9eef52085c5c6047e44705806a1b5b14b7f476 Merge: e885439 5be5a2d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:21:44 2014 -0400 Merge branch 'bridge_default_pvid' Vladislav Yasevich says: ==================== bridge: Add vlan filtering support for default pvid This series adds default pvid support to vlan filtering in the bridge. VLAN 1 (as recommended by 802.1q spec) is used as default pvid on ports. Then the user can over-ride this configuration by configuring their own vlan information. The user can additionally change the default value through the sysfs interface (netlink coming shortly). The user can turn off default pvid functionality by setting default pvid to 0. This series changes the default behavior of the bridge when vlan filtering is turned on. Currently, ports without any vlan filtering configured will not recevie any traffic at all. This patch changes the behavior of the above ports to receive only untagged traffic. Since v3: - allocated 'changed' bitmap on the heap and re-arrange code to clean it up. - remove extra blank lines. - Fix patch1 to build by itself. - Fix error recover to not add vlan 0. - Restructure nbp_vlan_init to remove uneeded variable. Since v2: - Fix handling of invalid values in sysfs interface. - Add some additional log messages. - Fix default_pvid handling when vlan filtering is compiled out. - Fix sparse issues with new code. - Fix how we located the old default pvid (added a helper function). Since v1: - Add ability to turn off default_pvid settings. - Drop the automiatic filtering support based on configured vlan devices (will be its own series) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5be5a2df40f005ea7fb7e280e87bbbcfcf1c2fc0 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri Oct 3 11:29:18 2014 -0400 bridge: Add filtering support for default_pvid Currently when vlan filtering is turned on on the bridge, the bridge will drop all traffic untill the user configures the filter. This isn't very nice for ports that don't care about vlans and just want untagged traffic. A concept of a default_pvid was recently introduced. This patch adds filtering support for default_pvid. Now, ports that don't care about vlans and don't define there own filter will belong to the VLAN of the default_pvid and continue to receive untagged traffic. This filtering can be disabled by setting default_pvid to 0. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3df6bf45ec008942f16f1814123c4bdebcf50741 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri Oct 3 11:29:17 2014 -0400 bridge: Simplify pvid checks. Currently, if the pvid is not set, we return an illegal vlan value even though the pvid value is set to 0. Since pvid of 0 is currently invalid, just return 0 instead. This makes the current and future checks simpler. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96a20d9d7fff7068a2233b00379f0778a150bf86 Author: Vlad Yasevich <vyasevich@xxxxxxxxx> Date: Fri Oct 3 11:29:16 2014 -0400 bridge: Add a default_pvid sysfs attribute This patch allows the user to set and retrieve default_pvid value. A new value can only be stored when vlan filtering is disabled. Signed-off-by: Vladislav Yasevich <vyasevic@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e885439f37b0dce404291350f7c0368c2bb97cdb Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 17:08:19 2014 +0200 net: pxa168_eth: avoid using signed char for bitops Signedness bugs may occur when using signed char for bitops, depending on if the highest bit is ever used. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5555dfdc0fd84c4df61756903632e1e37a63a247 Merge: 1e203c1 7b0c67e4 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:17:56 2014 -0400 Merge branch 'isdn-next' Tilman Schmidt says: ==================== ISDN patches for net-next Here's a series of patches for the ISDN CAPI subsystem and the Gigaset ISDN driver. Please merge via net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7b0c67e49545b523f21b625ba123f6ba2f553dcd Author: Tilman Schmidt <tilman@xxxxxxx> Date: Fri Oct 3 17:03:32 2014 +0200 isdn/gigaset: use USB API function usb_endpoint_num() Use function usb_endpoint_num() for the bulk endpoint and store the endpoint number in the cardstate structure instead of the raw endpoint address value. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 434d13ba399d40b3dc87f7d0b954a3f65d06f519 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Fri Oct 3 17:03:32 2014 +0200 isdn/gigaset: drop unused cardstate structure member Field int_in_endpointAddr was set but never used. Drop it. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5dcd7d843950edfc9108246eab94c858b6dc5d6f Author: Tilman Schmidt <tilman@xxxxxxx> Date: Fri Oct 3 17:03:32 2014 +0200 isdn/gigaset: improve error handling when leaving DLE mode Avoid cascading warnings when leaving DLE mode fails by clearing the DLE flag before entering recovery. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51db998fb6e04e8dfcf4e33295651367b91238a5 Author: Tilman Schmidt <tilman@xxxxxxx> Date: Fri Oct 3 17:03:32 2014 +0200 isdn/capi: drop two dead if branches The last branch in command_2_index() cannot be reached since c==0xff is already caught by the first "if". The empty second branch makes no difference since no other branch will be taken for c<0x0f. Signed-off-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f408c3d956c987844dcb7c6837abfbb0331fb7f6 Merge: 3a67c9c 96aaced Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Oct 5 21:15:23 2014 -0400 Merge branch 'spider_net' Antoine Tenart says: ==================== net: spider_net: fix possible bitops errors Dan reported a possible signedness issue on the pxa168_eth driver. While having a look at it, I came across a similar problem in the spider_net driver. Here is one proposal to fix it. The first patch rework the spider_net_set_mac() function by removing the spider_net_get_mac_address() call and using memcpy() to set netdev->dev_addr (which is what's done in lots of Ethernet drivers) and the second one fix the actual signedness issue. If for any reason you really want to keep a call to spider_net_get_mac_address() because the memcpy() is somehow not good enough here, we can also come up with a solution involving a temporary unsigned char variable. I couldn't test these changes, so please do. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96aacededcc601f5af894ead6b481e76cc8db2cd Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 17:01:56 2014 +0200 net: spider_net: avoid using signed char for bitops Signedness bugs may occur when using signed char for bitops, depending on if the highest bit is ever used. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f6a670116921eae11b81f1760e2fff1148712de Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 17:01:55 2014 +0200 net: spider_net: do not read mac address again after setting it This patch removes the spider_net_get_mac_address() call at the end of the spider_net_set_mac() function. The dev->dev_addr is instead updated with a memcpy() from sa->sa_data. Since spider_net_get_mac_address() is not used anywhere else, this patch also removes the function. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a67c9ccad926a168d8b7891537a452018368a5b Author: KY Srinivasan <kys@xxxxxxxxxxxxx> Date: Sun Oct 5 10:42:51 2014 -0700 hyperv: Fix a bug in netvsc_send() After the packet is successfully sent, we should not touch the packet as it may have been freed. This patch is based on the work done by Long Li <longli@xxxxxxxxxxxxx>. David, please queue this up for stable. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reported-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56ec16cb1e1ce46354de8511eef962a417c32c92 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Wed Oct 1 22:58:35 2014 +0200 dm log userspace: fix memory leak in dm_ulog_tfr_init failure path If cn_add_callback() fails in dm_ulog_tfr_init(), it does not deallocate prealloced memory but calls cn_del_callback(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Reviewed-by: Jonathan Brassow <jbrassow@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 0e825862f3c04cee40e25f55680333728a4ffa9b Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Wed Oct 1 13:29:48 2014 -0400 dm bufio: when done scanning return from __scan immediately When __scan frees the required number of buffer entries that the shrinker requested (nr_to_scan becomes zero) it must return. Before this fix the __scan code exited only the inner loop and continued in the outer loop -- which could result in reduced performance due to extra buffers being freed (e.g. unnecessarily evicted thinp metadata needing to be synchronously re-read into bufio's cache). Also, move dm_bufio_cond_resched to __scan's inner loop, so that iterating the bufio client's lru lists doesn't result in scheduling latency. Reported-by: Joe Thornber <thornber@xxxxxxxxxx> Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.2+ commit eb76faf53b1ff7a77ce3f78cc98ad392ac70c2a0 Author: Joe Thornber <ejt@xxxxxxxxxx> Date: Tue Sep 30 09:32:46 2014 +0100 dm bufio: update last_accessed when relinking a buffer The 'last_accessed' member of the dm_buffer structure was only set when the the buffer was created. This led to each buffer being discarded after dm_bufio_max_age time even if it was used recently. In practice this resulted in all thinp metadata being evicted soon after being read -- this is particularly problematic for metadata intensive workloads like multithreaded small random IO. 'last_accessed' is now updated each time the buffer is moved to the head of the LRU list, so the buffer is now properly discarded if it was not used in dm_bufio_max_age time. Signed-off-by: Joe Thornber <ejt@xxxxxxxxxx> Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.2+ commit 48cf06bc5f508d5f71bc0fd7530daebb12a48428 Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Date: Wed Sep 24 17:47:19 2014 +0200 dm raid: add discard support for RAID levels 4, 5 and 6 In case of RAID levels 4, 5 and 6 we have to verify each RAID members' ability to zero data on discards to avoid stripe data corruption -- if discard_zeroes_data is not set for each RAID member discard support must be disabled. But given the uncertainty of whether or not a RAID member properly supports zeroing data on discard we require the user to explicitly allow discard support on RAID levels 4, 5, and 6 by setting a dm-raid module paramter, e.g.: dm-raid.devices_handle_discard_safely=Y Otherwise, discards could cause data corruption on RAID4/5/6. Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 75b8e04bbf01bdd5c42a1d8ac54abf757196ce49 Author: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Date: Wed Sep 24 17:47:18 2014 +0200 dm raid: add discard support for RAID levels 1 and 10 Discard support is not enabled for RAID levels 4, 5, and 6 at this time due to concerns about unreliable discard_zeroes_data support on some hardware. Otherwise, discards could cause stripe data corruption (classic example of bad apples spoiling the bunch). Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 86f1152b117a404229fd6f08ec3faca779f37b92 Author: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Date: Wed Aug 13 13:53:43 2014 -0500 dm: allow active and inactive tables to share dm_devs Until this change, when loading a new DM table, DM core would re-open all of the devices in the DM table. Now, DM core will avoid redundant device opens (and closes when destroying the old table) if the old table already has a device open using the same mode. This is achieved by managing reference counts on the table_devices that DM core now stores in the mapped_device structure (rather than in the dm_table structure). So a mapped_device's active and inactive dm_tables' dm_dev lists now just point to the dm_devs stored in the mapped_device's table_devices list. This improvement in DM core's device reference counting has the side-effect of fixing a long-standing limitation of the multipath target: a DM multipath table couldn't include any paths that were unusable (failed). For example: if all paths have failed and you add a new, working, path to the table; you can't use it since the table load would fail due to it still containing failed paths. Now a re-load of a multipath table can include failed devices and when those devices become active again they can be used instantly. The device list code in dm.c isn't a straight copy/paste from the code in dm-table.c, but it's very close (aside from some variable renames). One subtle difference is that find_table_device for the tables_devices list will only match devices with the same name and mode. This is because we don't want to upgrade a device's mode in the active table when an inactive table is loaded. Access to the mapped_device structure's tables_devices list requires a mutex (tables_devices_lock), so that tables cannot be created and destroyed concurrently. Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 1f271972478d84dd9e4d6dd82f414d70ed9e78ce Author: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Date: Wed Aug 13 13:53:42 2014 -0500 dm mpath: stop queueing IO when no valid paths exist 'queue_io' is set so that IO is queued while paths are being initialized. Clear queue_io in __choose_pgpath if there are no valid paths, since there are obviously no paths that can be initialized. Otherwise IOs to the device will back up. Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 3d8aab2d2cca2dc878e396196d07889129440798 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Fri Oct 3 11:55:26 2014 +0000 dm: use bioset_create_nobvec() Since DM core uses bio_clone_fast() for both bio-based and request-based DM devices there is no need for DM's bioset to have a bvec mempool. With this patch, on arch with 4KB page for example, memory usage will be reduced by 64KB for each bio-based DM device and 1MB for each request-based DM device. For example, when you create 10,000 bio-based DM devices and 1,000 request-based DM devices, memory usage of biovec under no load is: # grep biovec /proc/slabinfo biovec-256 418068 418068 4096 ... biovec-128 0 0 2048 ... biovec-64 0 0 1024 ... biovec-16 0 0 256 ... With this patch series applied, the usage becomes: # grep biovec /proc/slabinfo biovec-256 116 116 4096 ... biovec-128 0 0 2048 ... biovec-64 0 0 1024 ... biovec-16 0 0 256 ... So 4096 * (418068 - 116) = 1.6GB of memory is saved in this example. Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit 997782735c0f1e2e069337129fe0d5738d83d19b Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Fri Oct 3 11:55:16 2014 +0000 dm: remove nr_iovecs parameter from alloc_tio() alloc_tio() uses bio_alloc_bioset() to allocate a clone-bio for a bio. alloc_tio() takes the number of bvecs to allocate for the clone-bio. However, with v3.14's immutable biovec changes DM now uses __bio_clone_fast() and no longer needs to allocate bvecs. In practice, the 'nr_iovecs' passed to alloc_tio() is always effectively 0. __clone_and_map_simple_bio() looked like it was passing non-zero nr_iovecs, but its value was always within the range of inline bvecs and no allocation actually happened. If allocation happened, the BUG_ON() in __bio_clone_fast() would've triggered. Remove the nr_iovecs parameter from alloc_tio() to prevent possible future bio_alloc_bioset() mis-use of a new bioset interface that will no longer allow bvecs to be allocated. Also fix extra whitespace before the __bio_clone_fast() call in __clone_and_map_simple_bio(). Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> commit d195b71bad4347d2df51072a537f922546a904f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 27 21:30:57 2014 -0700 sparc64: Kill unnecessary tables and increase MAX_BANKS. swapper_low_pmd_dir and swapper_pud_dir are actually completely useless and unnecessary. We just need swapper_pg_dir[]. Naturally the other page table chunks will be allocated on an as-needed basis. Since the kernel actually accesses these tables in the PAGE_OFFSET view, there is not even a TLB locality advantage of placing them in the kernel image. Use the hard coded vmlinux.ld.S slot for swapper_pg_dir which is naturally page aligned. Increase MAX_BANKS to 1024 in order to handle heavily fragmented virtual guests. Even with this MAX_BANKS increase, the kernel is 20K+ smaller. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit ee6a9333fa58e11577c1b531b8e0f5ffc0fd6f50 Author: bob picco <bpicco@xxxxxxxxxx> Date: Thu Sep 25 12:25:03 2014 -0700 sparc64: sparse irq This patch attempts to do a few things. The highlights are: 1) enable SPARSE_IRQ unconditionally, 2) kills off !SPARSE_IRQ code 3) allocates ivector_table at boot time and 4) default to cookie only VIRQ mechanism for supported firmware. The first firmware with cookie only support for me appears on T5. You can optionally force the HV firmware to not cookie only mode which is the sysino support. The sysino is a deprecated HV mechanism according to the most recent SPARC Virtual Machine Specification. HV_GRP_INTR is what controls the cookie/sysino firmware versioning. The history of this interface is: 1) Major version 1.0 only supported sysino based interrupt interfaces. 2) Major version 2.0 added cookie based VIRQs, however due to the fact that OSs were using the VIRQs without negoatiating major version 2.0 (Linux and Solaris are both guilty), the VIRQs calls were allowed even with major version 1.0 To complicate things even further, the VIRQ interfaces were only actually hooked up in the hypervisor for LDC interrupt sources. VIRQ calls on other device types would result in HV_EINVAL errors. So effectively, major version 2.0 is unusable. 3) Major version 3.0 was created to signal use of VIRQs and the fact that the hypervisor has these calls hooked up for all interrupt sources, not just those for LDC devices. A new boot option is provided should cookie only HV support have issues. hvirq - this is the version for HV_GRP_INTR. This is related to HV API versioning. The code attempts major=3 first by default. The option can be used to override this default. I've tested with SPARSE_IRQ on T5-8, M7-4 and T4-X and Jalap?no. Signed-off-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb4e6e85daa52a9f6210fa06a5ec6269598a202b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 27 11:05:21 2014 -0700 sparc64: Adjust vmalloc region size based upon available virtual address bits. In order to accomodate embedded per-cpu allocation with large numbers of cpus and numa nodes, we have to use as much virtual address space as possible for the vmalloc region. Otherwise we can get things like: PERCPU: max_distance=0x380001c10000 too large for vmalloc space 0xff00000000 So, once we select a value for PAGE_OFFSET, derive the size of the vmalloc region based upon that. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit 7c0fa0f24bb76ce3d67be7f737b799846a04570f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 24 21:49:29 2014 -0700 sparc64: Increase MAX_PHYS_ADDRESS_BITS to 53. Make sure, at compile time, that the kernel can properly support whatever MAX_PHYS_ADDRESS_BITS is defined to. On M7 chips, use a max_phys_bits value of 49. Based upon a patch by Bob Picco. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit c06240c7f5c39c83dfd7849c0770775562441b96 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 24 21:20:14 2014 -0700 sparc64: Use kernel page tables for vmemmap. For sparse memory configurations, the vmemmap array behaves terribly and it takes up an inordinate amount of space in the BSS section of the kernel image unconditionally. Just build huge PMDs and look them up just like we do for TLB misses in the vmalloc area. Kernel BSS shrinks by about 2MB. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit 0dd5b7b09e13dae32869371e08e1048349fd040c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 24 20:56:11 2014 -0700 sparc64: Fix physical memory management regressions with large max_phys_bits. If max_phys_bits needs to be > 43 (f.e. for T4 chips), things like DEBUG_PAGEALLOC stop working because the 3-level page tables only can cover up to 43 bits. Another problem is that when we increased MAX_PHYS_ADDRESS_BITS up to 47, several statically allocated tables became enormous. Compounding this is that we will need to support up to 49 bits of physical addressing for M7 chips. The two tables in question are sparc64_valid_addr_bitmap and kpte_linear_bitmap. The first holds a bitmap, with 1 bit for each 4MB chunk of physical memory, indicating whether that chunk actually exists in the machine and is valid. The second table is a set of 2-bit values which tell how large of a mapping (4MB, 256MB, 2GB, 16GB, respectively) we can use at each 256MB chunk of ram in the system. These tables are huge and take up an enormous amount of the BSS section of the sparc64 kernel image. Specifically, the sparc64_valid_addr_bitmap is 4MB, and the kpte_linear_bitmap is 128K. So let's solve the space wastage and the DEBUG_PAGEALLOC problem at the same time, by using the kernel page tables (as designed) to manage this information. We have to keep using large mappings when DEBUG_PAGEALLOC is disabled, and we do this by encoding huge PMDs and PUDs. On a T4-2 with 256GB of ram the kernel page table takes up 16K with DEBUG_PAGEALLOC disabled and 256MB with it enabled. Furthermore, this memory is dynamically allocated at run time rather than coded statically into the kernel image. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit 8c82dc0e883821c098c8b0b130ffebabf9aab5df Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 17 10:14:56 2014 -0700 sparc64: Adjust KTSB assembler to support larger physical addresses. As currently coded the KTSB accesses in the kernel only support up to 47 bits of physical addressing. Adjust the instruction and patching sequence in order to support arbitrary 64 bits addresses. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit 4397bed080598001e88f612deb8b080bb1cc2322 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 21:58:33 2014 -0700 sparc64: Define VA hole at run time, rather than at compile time. Now that we use 4-level page tables, we can provide up to 53-bits of virtual address space to the user. Adjust the VA hole based upon the capabilities of the cpu type probed. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit ac55c768143aa34cc3789c4820cbb0809a76fd9c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 21:19:46 2014 -0700 sparc64: Switch to 4-level page tables. This has become necessary with chips that support more than 43-bits of physical addressing. Based almost entirely upon a patch by Bob Picco. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Acked-by: Bob Picco <bob.picco@xxxxxxxxxx> commit 98d147f50eb0ce4328e013f5f2c076896003c761 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Oct 1 23:39:29 2014 +0200 clk: pxa clocks build system fix Fix the building of pxa clock drivers so that the files are actually compiled if and only if COMMON_CLK was selected by the architecture. This prevents conflicts with mach-pxa clock legacy implementation. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit dbcbe68bb76c4f8057160209859ecd7c75e86c30 Merge: a13f453 4990141 8ee4104 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 5 22:25:20 2014 +0200 Merge branches 'acpi-pnp' and 'acpi-blacklist' * acpi-pnp: ACPI / PNP: remove Fujitsu device IDs from ACPI PNP ID list * acpi-blacklist: ACPI / blacklist: add Win8 OSI quirks for some Dell laptop models commit a13f453140d542f9d5a0ee15601531c72e5401d7 Merge: 354f1db 3f9ae37 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 5 22:24:43 2014 +0200 Merge branch 'acpi-lpss' * acpi-lpss: ACPI / LPSS: not using UART RTS override with Auto Flow Control ACPI / LPSS: remove struct lpss_shared_clock ACPI / LPSS: support for 133MHz I2C source clock on Baytrail ACPI / LPSS: drop clkdev_name member from lpss_device_desc ACPI / LPSS: introduce flags commit 354f1dbe1905f8ab34ec5950277643a625b0c7f5 Merge: 939558f cbe68a2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 5 22:24:31 2014 +0200 Merge branch 'acpi-video' * acpi-video: ACPI / video: check _DOD list when creating backlight devices ACPI / video: force vendor backlight on Lenovo Ideapad Z570 ACPI / video: Remove video_set_use_native_backlight quirk commit 939558f2a4b7851c11ce8d08387730914a1e1f5f Merge: 65e8627 5159e39 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 5 22:24:19 2014 +0200 Merge branch 'acpi-apple' * acpi-apple: ACPI / SBS: Fix check in acpi_ac_get_present() ACPI: Support _OSI("Darwin") correctly ACPI / SBS: Disable smart battery manager on Apple ACPI / SBS: Don't assume the existence of an SBS charger commit 65e8627aad0b9ef24d282296f4d3a1638a2438e6 Merge: bfe01a5 e0fa975 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Oct 5 22:23:55 2014 +0200 Merge branch 'acpica' * acpica: ACPICA: Introduce acpi_enable_all_wakeup_gpes() ACPICA: Clear all non-wakeup GPEs in acpi_hw_enable_wakeup_gpe_block() ACPICA: Update version to 20140828. ACPICA: Disassembler: Fix for gpio_int interrupt polarity flags. ACPICA: Headers: Add GTDT flag definitions for the timer subtable. ACPICA: ACPI 5.1/Disassembler: Add GICC affinity subtable to SRAT table. ACPICA: Add _PSx names to the METHOD_NAME list. commit bfe01a5ba2490f299e1d2d5508cbbbadd897bbe9 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 5 12:23:04 2014 -0700 Linux 3.17 commit ef0a59924a795ccb4ced0ae1722a337745a1b045 Merge: 7b6ea43 2c2d831c Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sun Oct 5 10:16:11 2014 -0700 Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi Pull SCSI fixes from James Bottomley: "This is a set of two small fixes, both to code which went in during the merge window: cxgb4i has a scheduling in atomic bug in its new ipv6 code and uas fails to work properly with the new scsi-mq code" * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: [SCSI] uas: disable use of blk-mq I/O path [SCSI] cxgb4i: avoid holding mutex in interrupt context commit 0d0f660d882c1c02748ced13966a2413aa5d6cc2 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sun Oct 5 02:13:03 2014 -0700 iser-target: Disable TX completion interrupt coalescing This patch explicitly disables TX completion interrupt coalescing logic in isert_put_response() and isert_put_datain() that was originally added as an efficiency optimization in commit 95b60f07. It has been reported that this change can trigger ABORT_TASK timeouts under certain small block workloads, where disabling coalescing was required for stability. According to Sagi, this doesn't impact overall performance, so go ahead and disable it for now. Reported-by: Moussa Ba <moussaba@xxxxxxxxxx> Reported-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.13+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 473ad7f4fb005d1bb727e4ef27d370d28703a062 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Oct 4 21:05:14 2014 -0700 sparc64: Fix reversed start/end in flush_tlb_kernel_range() When we have to split up a flush request into multiple pieces (in order to avoid the firmware range) we don't specify the arguments in the right order for the second piece. Fix the order, or else we get hangs as the code tries to flush "a lot" of entries and we get lockups like this: [ 4422.981276] NMI watchdog: BUG: soft lockup - CPU#12 stuck for 23s! [expect:117032] [ 4422.996130] Modules linked in: ipv6 loop usb_storage igb ptp sg sr_mod ehci_pci ehci_hcd pps_core n2_rng rng_core [ 4423.016617] CPU: 12 PID: 117032 Comm: expect Not tainted 3.17.0-rc4+ #1608 [ 4423.030331] task: fff8003cc730e220 ti: fff8003d99d54000 task.ti: fff8003d99d54000 [ 4423.045282] TSTATE: 0000000011001602 TPC: 00000000004521e8 TNPC: 00000000004521ec Y: 00000000 Not tainted [ 4423.064905] TPC: <__flush_tlb_kernel_range+0x28/0x40> [ 4423.074964] g0: 000000000052fd10 g1: 00000001295a8000 g2: ffffff7176ffc000 g3: 0000000000002000 [ 4423.092324] g4: fff8003cc730e220 g5: fff8003dfedcc000 g6: fff8003d99d54000 g7: 0000000000000006 [ 4423.109687] o0: 0000000000000000 o1: 0000000000000000 o2: 0000000000000003 o3: 00000000f0000000 [ 4423.127058] o4: 0000000000000080 o5: 00000001295a8000 sp: fff8003d99d56d01 ret_pc: 000000000052ff54 [ 4423.145121] RPC: <__purge_vmap_area_lazy+0x314/0x3a0> [ 4423.155185] l0: 0000000000000000 l1: 0000000000000000 l2: 0000000000a38040 l3: 0000000000000000 [ 4423.172559] l4: fff8003dae8965e0 l5: ffffffffffffffff l6: 0000000000000000 l7: 00000000f7e2b138 [ 4423.189913] i0: fff8003d99d576a0 i1: fff8003d99d576a8 i2: fff8003d99d575e8 i3: 0000000000000000 [ 4423.207284] i4: 0000000000008008 i5: fff8003d99d575c8 i6: fff8003d99d56df1 i7: 0000000000530c24 [ 4423.224640] I7: <free_vmap_area_noflush+0x64/0x80> [ 4423.234193] Call Trace: [ 4423.239051] [0000000000530c24] free_vmap_area_noflush+0x64/0x80 [ 4423.251029] [0000000000531a7c] remove_vm_area+0x5c/0x80 [ 4423.261628] [0000000000531b80] __vunmap+0x20/0x120 [ 4423.271352] [000000000071cf18] n_tty_close+0x18/0x40 [ 4423.281423] [00000000007222b0] tty_ldisc_close+0x30/0x60 [ 4423.292183] [00000000007225a4] tty_ldisc_reinit+0x24/0xa0 [ 4423.303120] [0000000000722ab4] tty_ldisc_hangup+0xd4/0x1e0 [ 4423.314232] [0000000000719aa0] __tty_hangup+0x280/0x3c0 [ 4423.324835] [0000000000724cb4] pty_close+0x134/0x1a0 [ 4423.334905] [000000000071aa24] tty_release+0x104/0x500 [ 4423.345316] [00000000005511d0] __fput+0x90/0x1e0 [ 4423.354701] [000000000047fa54] task_work_run+0x94/0xe0 [ 4423.365126] [0000000000404b44] __handle_signal+0xc/0x2c Fixes: 4ca9a23765da ("sparc64: Guard against flushing openfirmware mappings.") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 36888e955c7c7ba8c66756fed60ac6e453fcbb5f Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 4 09:03:06 2014 -0300 ata: pata_imx: Use the SIMPLE_DEV_PM_OPS() macro Using the SIMPLE_DEV_PM_OPS() macro can make the code shorter and cleaner. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 47549650abd13d873fd2e5fc218db19e21031074 Author: Joe Lawrence <Joe.Lawrence@xxxxxxxxxxx> Date: Fri Oct 3 09:58:34 2014 -0400 team: avoid race condition in scheduling delayed work When team_notify_peers and team_mcast_rejoin are called, they both reset their respective .count_pending atomic variable. Then when the actual worker function is executed, the variable is atomically decremented. This pattern introduces a potential race condition where the .count_pending rolls over and the worker function keeps rescheduling until .count_pending decrements to zero again: THREAD 1 THREAD 2 ======== ======== team_notify_peers(teamX) atomic_set count_pending = 1 schedule_delayed_work team_notify_peers(teamX) atomic_set count_pending = 1 team_notify_peers_work atomic_dec_and_test count_pending = 0 (return) schedule_delayed_work team_notify_peers_work atomic_dec_and_test count_pending = -1 schedule_delayed_work (repeat until count_pending = 0) Instead of assigning a new value to .count_pending, use atomic_add to tack-on the additional desired worker function invocations. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Fixes: fc423ff00df3a19554414ee ("team: add peer notification") Fixes: 492b200efdd20b8fcfdac87 ("team: add support for sending multicast rejoins") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 34a419d4e20d6be5e0c4a3b27f6eface366a4836 Author: Ignacy GawÄ?dzki <ignacy.gawedzki@xxxxxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 15:44:48 2014 +0200 ematch: Fix early ending of inverted containers. The result of a negated container has to be inverted before checking for early ending. This fixes my previous attempt (17c9c8232663a47f074b7452b9b034efda868ca7) to make inverted containers work correctly. Signed-off-by: Ignacy GawÄ?dzki <ignacy.gawedzki@xxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1e203c1a2c104c8f8030245d2afaa337a79b4375 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Thu Oct 2 22:43:09 2014 -0700 net: sched: suspicious RCU usage in qdisc_watchdog Suspicious RCU usage in qdisc_watchdog call needs to be done inside rcu_read_lock/rcu_read_unlock. And then Qdisc destroy operations need to ensure timer is cancelled before removing qdisc structure. [ 3992.191339] =============================== [ 3992.191340] [ INFO: suspicious RCU usage. ] [ 3992.191343] 3.17.0-rc6net-next+ #72 Not tainted [ 3992.191345] ------------------------------- [ 3992.191347] include/net/sch_generic.h:272 suspicious rcu_dereference_check() usage! [ 3992.191348] [ 3992.191348] other info that might help us debug this: [ 3992.191348] [ 3992.191351] [ 3992.191351] rcu_scheduler_active = 1, debug_locks = 1 [ 3992.191353] no locks held by swapper/1/0. [ 3992.191355] [ 3992.191355] stack backtrace: [ 3992.191358] CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.17.0-rc6net-next+ #72 [ 3992.191360] Hardware name: /DZ77RE-75K, BIOS GAZ7711H.86A.0060.2012.1115.1750 11/15/2012 [ 3992.191362] 0000000000000001 ffff880235803e48 ffffffff8178f92c 0000000000000000 [ 3992.191366] ffff8802322224a0 ffff880235803e78 ffffffff810c9966 ffff8800a5fe3000 [ 3992.191370] ffff880235803f30 ffff8802359cd768 ffff8802359cd6e0 ffff880235803e98 [ 3992.191374] Call Trace: [ 3992.191376] <IRQ> [<ffffffff8178f92c>] dump_stack+0x4e/0x68 [ 3992.191387] [<ffffffff810c9966>] lockdep_rcu_suspicious+0xe6/0x130 [ 3992.191392] [<ffffffff8167213a>] qdisc_watchdog+0x8a/0xb0 [ 3992.191396] [<ffffffff810f93f2>] __run_hrtimer+0x72/0x420 [ 3992.191399] [<ffffffff810f9bcd>] ? hrtimer_interrupt+0x7d/0x240 [ 3992.191403] [<ffffffff816720b0>] ? tc_classify+0xc0/0xc0 [ 3992.191406] [<ffffffff810f9c4f>] hrtimer_interrupt+0xff/0x240 [ 3992.191410] [<ffffffff8109e4a5>] ? __atomic_notifier_call_chain+0x5/0x140 [ 3992.191415] [<ffffffff8103577b>] local_apic_timer_interrupt+0x3b/0x60 [ 3992.191419] [<ffffffff8179c2b5>] smp_apic_timer_interrupt+0x45/0x60 [ 3992.191422] [<ffffffff8179a6bf>] apic_timer_interrupt+0x6f/0x80 [ 3992.191424] <EOI> [<ffffffff815ed233>] ? cpuidle_enter_state+0x73/0x2e0 [ 3992.191432] [<ffffffff815ed22e>] ? cpuidle_enter_state+0x6e/0x2e0 [ 3992.191437] [<ffffffff815ed567>] cpuidle_enter+0x17/0x20 [ 3992.191441] [<ffffffff810c0741>] cpu_startup_entry+0x3d1/0x4a0 [ 3992.191445] [<ffffffff81106fc6>] ? clockevents_config_and_register+0x26/0x30 [ 3992.191448] [<ffffffff81033c16>] start_secondary+0x1b6/0x260 Fixes: b26b0d1e8b1 ("net: qdisc: use rcu prefix and silence sparse warnings") Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7d6b96f345be7e0bd8f7651f7fe1efa5404c1e3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Oct 2 18:56:03 2014 -0700 net: dsa: do not call phy_start_aneg Commit f7f1de51edbd ("net: dsa: start and stop the PHY state machine") add calls to phy_start() in dsa_slave_open() respectively phy_stop() in dsa_slave_close(). We also call phy_start_aneg() in dsa_slave_create(), and this call is messing up with the PHY state machine, since we basically start the auto-negotiation, and later on restart it when calling phy_start(). phy_start() does not currently handle the PHY_FORCING or PHY_AN states properly, but such a fix would be too invasive for this window. Fixes: f7f1de51edbd ("net: dsa: start and stop the PHY state machine") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dd3619f2ed5bd5ffce90f4fd8361ccd46d59b9b6 Author: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Date: Thu Oct 2 21:15:22 2014 +0200 Removed unused inet6 address state the inet6 state INET6_IFADDR_STATE_UP only appeared in its definition. Cc: Christoph Paasch <christoph.paasch@xxxxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8753d55afb436fd6a25c8bbe8d783f6dcf1c9f8 Author: Vijay Subramanian <subramanian.vijay@xxxxxxxxx> Date: Thu Oct 2 10:00:43 2014 -0700 net: Cleanup skb cloning by adding SKB_FCLONE_FREE SKB_FCLONE_UNAVAILABLE has overloaded meaning depending on type of skb. 1: If skb is allocated from head_cache, it indicates fclone is not available. 2: If skb is a companion fclone skb (allocated from fclone_cache), it indicates it is available to be used. To avoid confusion for case 2 above, this patch replaces SKB_FCLONE_UNAVAILABLE with SKB_FCLONE_FREE where appropriate. For fclone companion skbs, this indicates it is free for use. SKB_FCLONE_UNAVAILABLE will now simply indicate skb is from head_cache and cannot / will not have a companion fclone. Signed-off-by: Vijay Subramanian <subramanian.vijay@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e87474a6e697857df21cff0707a2472abceca8b3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Oct 2 09:43:16 2014 -0700 net: systemport: fix bcm_sysport_insert_tsb() Similar to commit bc23333ba11fb7f959b7e87e121122f5a0fbbca8 ("net: bcmgenet: fix bcmgenet_put_tx_csum()"), we need to return the skb pointer in case we had to reallocate the SKB headroom. Fixes: 80105befdb4b8 ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7881c64716f3a7d60b325ed0ad4d15f49b474a43 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sat Oct 4 16:31:13 2014 -0700 power: ab8500_fg: Fix build warning Fix drivers/power/ab8500_fg.c: In function 'ab8500_fg_probe': drivers/power/ab8500_fg.c:2989:27: warning: 'i' may be used uninitialized in this function drivers/power/ab8500_fg.c:2972:15: note: 'i' was declared here which actually points to a real bug. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3be07244b7337760a3269d56b2f4a63e72218648 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Thu Oct 2 18:26:49 2014 +0200 ip6_gre: fix flowi6_proto value in xmit path In xmit path, we build a flowi6 which will be used for the output route lookup. We are sending a GRE packet, neither IPv4 nor IPv6 encapsulated packet, thus the protocol should be IPPROTO_GRE. Fixes: c12b395a4664 ("gre: Support GRE over IPv6") Reported-by: Matthieu Ternisien d'Ouville <matthieu.tdo@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fab426de78140dc5cb0b85bbee6042c9c3d5ca5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 2 08:24:21 2014 -0700 mlx4: add a new xmit_more counter ethtool -S reports a new counter, tracking number of time doorbell was not triggered, because skb->xmit_more was set. $ ethtool -S eth0 | egrep "tx_packet|xmit_more" tx_packets: 2413288400 xmit_more: 666121277 I merged the tso_packet false sharing avoidance in this patch as well. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1742b630e43a6ccca67cf634704e8b76d128947f Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 5 06:56:18 2014 -0700 score: Remove GENERIC_HAS_IOMAP The symbol is an orphan, get rid of it. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> [Guenter Roeck: Merge with 3.17-rc3; update headline] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 2eb46da2a760e5764c48b752a5ef320e02b96b21 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Thu Oct 2 14:36:46 2014 +0100 of/selftest: Use the resolver to fixup phandles The selftest data ends up causing duplicate phandles in the live tree for the time that the testcase data is inserted into the live tree. This is obviously a bad situation because anything attempting to read the tree while the selftests are running make resolve phandles to one of the testcase data nodes. Fix the problem by using the of_resolve_phandles() function to eliminate duplicates. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Cc: Gaurav Minocha <gaurav.minocha.os@xxxxxxxxx> commit 7941b27b16e3282f6ec8817e36492f1deec753a7 Author: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> Date: Fri Jul 4 19:59:20 2014 +0300 of: Introduce Device Tree resolve support. Introduce support for dynamic device tree resolution. Using it, it is possible to prepare a device tree that's been loaded on runtime to be modified and inserted at the kernel live tree. Export of of_resolve and bug fix of double free by Guenter Roeck <groeck@xxxxxxxxxxx> Signed-off-by: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> [grant.likely: Don't need to select CONFIG_OF_DYNAMIC and CONFIG_OF_DEVICE] [grant.likely: Don't need to depend on OF or !SPARC] [grant.likely: Factor out duplicate code blocks into single function] Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit 841ec21357eee222416e3b7f1b6ef23cfc6ee43f Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Thu Oct 2 13:09:15 2014 +0100 of/selftest: Add a test for duplicate phandles All phandles in the tree should be unique. Add a testcase to make sure that this is so. Note: this testcase fails on the current kernel because the selftest code itself ends up adding duplicate phandles. Before this testcase is merged the selftest code needs to be modified to resolve phandles before adding them. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Pantelis Antoniou <pantelis.antoniou@xxxxxxxxxxxx> commit fc59b4479c172e413df615cea1635247265e07a0 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Thu Oct 2 13:08:02 2014 +0100 of: Don't try to search when phandle == 0 A value of '0' isn't a valid phandle, so searching for a node with that phandle is pointless. It will result in nothing but false positives. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> commit f2051d6a88cd03f74221da887f56d778a1b2f1f1 Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Wed Oct 1 17:40:22 2014 +0100 of/selftest: Test structure of device tree Add a testcase to verify that the device tree is properly constructed and the lists are in a correct order. The new testcase gets run twice; once after adding the testcase data, and once after removing it again. It is run twice to make sure adding and removing the testcase data doesn't corrupt the data structure. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Gaurav Minocha <gaurav.minocha.os@xxxxxxxxx> commit bb78cdd4914df22bdf233a9cd4b554a1f6e39804 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Sat Oct 4 19:09:33 2014 +0100 ASoC: Intel: byt-rt5640: fix coccinelle warnings sound/soc/intel/byt-rt5640.c:140:2-3: Unneeded semicolon Removes unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5ea5570579739a8f80231d884e2979e25d3c0992 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Oct 4 11:43:41 2014 -0300 ASoC: fsl_esai doc: Add "fsl,vf610-esai" as compatible string Since commit b21cc2f5fdfe224 ("ASoC: esai: Add VF610+ compatibles support.") the fsl_esai driver also accepts the "fsl,vf610-esai" compatible string. Update the documentation accordingly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d32c98e9855c719620fc418ff540acc6d5880bd8 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Jul 8 14:00:43 2014 +0800 arch/score/include/asm/Kbuild: Add generic "serial.h" The related error (with allmodconfig under score): CC [M] drivers/staging/speakup/speakup_acntpc.o In file included from drivers/staging/speakup/speakup_acntpc.c:33:0: drivers/staging/speakup/serialio.h:7:24: fatal error: asm/serial.h: No such file or directory #include <asm/serial.h> ^ compilation terminated. make[3]: *** [drivers/staging/speakup/speakup_acntpc.o] Error 1 make[2]: *** [drivers/staging/speakup] Error 2 make[1]: *** [drivers/staging] Error 2 make: *** [drivers] Error 2 Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> commit 203d2fbbec279e86f59e10662800ebbb0b5ce740 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 12:04:58 2014 +0200 score: remove deprecated IRQF_DISABLED This patch removes the use of the IRQF_DISABLED flag from arch/score/kernel/time.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> commit 000ab4b0a7afaa3799ffd8cc41a4328ee999990b Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Wed Jul 9 16:56:36 2014 +0800 arch/score/mm/cache.c: Export 'flush_icache_range' The related error (with allmodconfig under score): MODPOST 1365 modules ERROR: "flush_icache_range" [drivers/misc/lkdtm.ko] undefined! Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> commit 51de2f11f5d4d51ad3a77ea3ef67e7b66f6709f5 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Wed Jul 9 16:48:45 2014 +0800 arch: score: Export necessary symbols in related files 'csum_partial_copy_from_user' and 'flush_dcache_page' are also needed by outside modules, so need export them in the related files. The related error (with allmodconfig under score): MODPOST 1365 modules ERROR: "csum_partial_copy_from_user" [net/rxrpc/af-rxrpc.ko] undefined! ERROR: "flush_dcache_page" [net/sunrpc/sunrpc.ko] undefined! Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> commit 0ec31a61f0d46e03e9e80c2ff57fa3ae2fdf92d3 Merge: 27b19cc ee39b43 Author: Chris Mason <clm@xxxxxx> Date: Sat Oct 4 09:57:44 2014 -0700 Merge branch 'remove-unlikely' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus commit 27b19cc8864e206c4203041892b0f706f044a0f1 Merge: bbf65cf 4d75f8a Author: Chris Mason <clm@xxxxxx> Date: Sat Oct 4 09:57:14 2014 -0700 Merge branch 'cleanup/blocksize-diet-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus commit bbf65cf0b5b67843ca094df01019222b85af2183 Merge: bf8e8ca fccb84c Author: Chris Mason <clm@xxxxxx> Date: Sat Oct 4 09:56:45 2014 -0700 Merge branch 'cleanup/misc-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux into for-linus Signed-off-by: Chris Mason <clm@xxxxxx> Conflicts: fs/btrfs/extent_io.c commit b277da0a8a594308e17881f4926879bd5fca2a2d Author: Mike Snitzer <snitzer@xxxxxxxxxx> Date: Sat Oct 4 10:55:32 2014 -0600 block: disable entropy contributions for nonrot devices Clear QUEUE_FLAG_ADD_RANDOM in all block drivers that set QUEUE_FLAG_NONROT. Historically, all block devices have automatically made entropy contributions. But as previously stated in commit e2e1a148 ("block: add sysfs knob for turning off disk entropy contributions"): - On SSD disks, the completion times aren't as random as they are for rotational drives. So it's questionable whether they should contribute to the random pool in the first place. - Calling add_disk_randomness() has a lot of overhead. There are more reliable sources for randomness than non-rotational block devices. From a security perspective it is better to err on the side of caution than to allow entropy contributions from unreliable "random" sources. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7b6ea43d3f90ba1db87883126c2c09777f51d3d6 Merge: 126d457 62b4d20 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Sat Oct 4 09:32:47 2014 -0700 Merge tag 'tiny/kconfig-for-3.17' of https://git.kernel.org/pub/scm/linux/kernel/git/josh/linux Pull kconfig fixes for tiny setups from Josh Triplett: "Two Kconfig bugfixes for 3.17 related to tinification. These fixes make the Kconfig "General Setup" menu much more usable" * tag 'tiny/kconfig-for-3.17' of https://git.kernel.org/pub/scm/linux/kernel/git/josh/linux: init/Kconfig: Fix HAVE_FUTEX_CMPXCHG to not break up the EXPERT menu init/Kconfig: Hide printk log config if CONFIG_PRINTK=n commit cd9241e44af3d49977c39ddadbefbb719e2a4baf Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Oct 4 02:17:08 2014 +0900 ASoC: da732x: Remove unnecessary KERN_ERR in pr_err() This patch remove unnecessary KERN_ERR in pr_err(). Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 872bbb3aa35c2c73dee6ca13aeb5448b38b457ad Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Fri Oct 3 10:06:08 2014 -0700 ASoC: simple-card: Fix detect gpio documentation. The device tree property uses '-' not '_'. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 92404e609a2dffc55a9a22540ed48b6f0edc9c59 Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sat Oct 4 01:06:08 2014 +0000 target: Add force_pr_aptpl device attribute This patch adds a force_pr_aptpl device attribute used to force SPC-3 PR Activate Persistence across Target Power Loss (APTPL) operation. This makes PR metadata write-out occur during state change regardless if new PERSISTENT_RESERVE_OUT CDBs have their APTPL feature bit set. This is useful during H/A failover in active/passive setups where all PR state is being re-created on a different node, driven by configfs backend device + export layout and pre-loaded $DEV/pr/res_aptpl_metadata. Cc: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit e24805637d2d270d7975502e9024d473de86afdb Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Sat Oct 4 04:23:15 2014 +0000 target: Fix APTPL metadata handling for dynamic MappedLUNs This patch fixes a bug in handling of SPC-3 PR Activate Persistence across Target Power Loss (APTPL) logic where re-creation of state for MappedLUNs from dynamically generated NodeACLs did not occur during I_T Nexus establishment. It adds the missing core_scsi3_check_aptpl_registration() call during core_tpg_check_initiator_node_acl() -> core_tpg_add_node_to_devs() in order to replay any pre-loaded APTPL metadata state associated with the newly connected SCSI Initiator Port. Cc: Mike Christie <michaelc@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6106253e69413785b29b9bfb493e2544c70461e7 Merge: 0129120 bc1fc39 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 3 16:53:36 2014 -0700 Merge branch 'gudp' Tom Herbert says: ==================== net: Generic UDP Encapsulation Generic UDP Encapsulation (GUE) is UDP encapsulation protocol which encapsulates packets of various IP protocols. The GUE protocol is described in http://tools.ietf.org/html/draft-herbert-gue-01. The receive path of GUE is implemented in the FOU over UDP module (FOU). This includes a UDP encap receive function for GUE as well as GUE specific GRO functions. Management and configuration of GUE ports shares most of the same code with FOU. For the transmit path, the previous FOU support for IPIP, sit, and GRE was simply extended for GUE (when GUE is enabled insert the GUE header on transmit in addition to UDP header inserted for FOU). Semantically GUE is the same as FOU in that the encapsulation (UDP and GUE headers) that are inserted on transmission and removed on reception so that IP packet is processed with the inner header. This patch set includes: - Some fixes to FOU, removal of IPv4,v6 specific GRO functions - Support to configure a GUE receive port - Implementation of GUE receive path (normal and GRO) - Additions to ip_tunnel netlink to configure GUE - GUE header inserion in ip_tunnel transmit path v2: - Include net/gue.h in patch set Testing: I ran performance numbers using netperf TCP_RR with 200 streams, comparing encapsulation without GUE, encapsulation with GUE, and encapsulation with FOU. GRE TCP_STREAM IPv4, FOU, UDP checksum enabled 14.04% TX CPU utilization 13.17% RX CPU utilization 9211 Mbps IPv4, GUE, UDP checksum enabled 14.99% TX CPU utilization 13.79% RX CPU utilization 9185 Mbps IPv4, FOU, UDP checksum disabled 13.14% TX CPU utilization 23.18% RX CPU utilization 9277 Mbps IPv4, GUE, UDP checksum disabled 13.66% TX CPU utilization 23.57% RX CPU utilization 9184 Mbps TCP_RR IPv4, FOU, UDP checksum enabled 94.2% CPU utilization 155/249/460 90/95/99% latencies 1.17018e+06 tps IPv4, GUE, UDP checksum enabled 93.9% CPU utilization 158/253/472 90/95/99% latencies 1.15045e+06 tps IPIP TCP_STREAM FOU, UDP checksum enabled 15.28% TX CPU utilization 13.92% RX CPU utilization 9342 Mbps GUE, UDP checksum enabled 13.99% TX CPU utilization 13.34% RX CPU utilization 9210 Mbps FOU, UDP checksum disabled 15.08% TX CPU utilization 24.64% RX CPU utilization 9226 Mbps GUE, UDP checksum disabled 15.90% TX CPU utilization 24.77% RX CPU utilization 9197 Mbps TCP_RR FOU, UDP checksum enabled 94.23% CPU utilization 149/237/429 90/95/99% latencies 1.19553e+06 tps GUE, UDP checksum enabled 93.75% CPU utilization 152/243/442 90/95/99% latencies 1.17027e+06 tps SIT TCP_STREAM FOU, UDP checksum enabled 14.47% TX CPU utilization 14.58% RX CPU utilization 9106 Mbps GUE, UDP checksum enabled 15.09% TX CPU utilization 14.84% RX CPU utilization 9080 Mbps FOU, UDP checksum disabled 15.70% TX CPU utilization 27.93% RX CPU utilization 9097 Mbps GUE, UDP checksum disabled 15.04% TX CPU utilization 27.54% RX CPU utilization 9073 Mbps TCP_RR FOU, UDP checksum enabled 96.9% CPU utilization 170/281/581 90/95/99% latencies 1.03372e+06 tps GUE, UDP checksum enabled 97.16% CPU utilization 172/286/576 90/95/99% latencies 1.00469e+06 tps ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc1fc390e1728672b5b343b85185fcc1fe41043b Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Oct 3 15:48:10 2014 -0700 ip_tunnel: Add GUE support This patch allows configuring IPIP, sit, and GRE tunnels to use GUE. This is very similar to fou excpet that we need to insert the GUE header in addition to the UDP header on transmit. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37dd0247797b168ad1cc7f5dbec825a1ee66535b Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Oct 3 15:48:09 2014 -0700 gue: Receive side for Generic UDP Encapsulation This patch adds support receiving for GUE packets in the fou module. The fou module now supports direct foo-over-udp (no encapsulation header) and GUE. To support this a type parameter is added to the fou netlink parameters. For a GUE socket we define gue_udp_recv, gue_gro_receive, and gue_gro_complete to handle the specifics of the GUE protocol. Most of the code to manage and configure sockets is common with the fou. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit efc98d08e1ec4fd131f794370b274dceaf32c958 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Oct 3 15:48:08 2014 -0700 fou: eliminate IPv4,v6 specific GRO functions This patch removes fou[46]_gro_receive and fou[46]_gro_complete functions. The v4 or v6 variants were chosen for the UDP offloads based on the address family of the socket this is not necessary or correct. Alternatively, this patch adds is_ipv6 to napi_gro_skb. This is set in udp6_gro_receive and unset in udp4_gro_receive. In fou_gro_receive the value is used to select the correct inet_offloads for the protocol of the outer IP header. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7371e0221c7721a1486fef745abaa8ae84571621 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Oct 3 15:48:07 2014 -0700 ip_tunnel: Account for secondary encapsulation header in max_headroom When adjusting max_header for the tunnel interface based on egress device we need to account for any extra bytes in secondary encapsulation (e.g. FOU). Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62b4d2041117f35ab2409c9f5c4b8d3dc8e59d0f Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Fri Oct 3 16:19:24 2014 -0700 init/Kconfig: Fix HAVE_FUTEX_CMPXCHG to not break up the EXPERT menu commit 03b8c7b623c80af264c4c8d6111e5c6289933666 ("futex: Allow architectures to skip futex_atomic_cmpxchg_inatomic() test") added the HAVE_FUTEX_CMPXCHG symbol right below FUTEX. This placed it right in the middle of the options for the EXPERT menu. However, HAVE_FUTEX_CMPXCHG does not depend on EXPERT or FUTEX, so Kconfig stops placing items in the EXPERT menu, and displays the remaining several EXPERT items (starting with EPOLL) directly in the General Setup menu. Since both users of HAVE_FUTEX_CMPXCHG only select it "if FUTEX", make HAVE_FUTEX_CMPXCHG itself depend on FUTEX. With this change, the subsequent items display as part of the EXPERT menu again; the EMBEDDED menu now appears as the next top-level item in the General Setup menu, which makes General Setup much shorter and more usable. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> commit 361e9dfbaae84b0b246ed18d1ab7c82a1a41b53e Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Fri Oct 3 16:00:54 2014 -0700 init/Kconfig: Hide printk log config if CONFIG_PRINTK=n The buffers sized by CONFIG_LOG_BUF_SHIFT and CONFIG_LOG_CPU_MAX_BUF_SHIFT do not exist if CONFIG_PRINTK=n, so don't ask about their size at all. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> commit a66993e05b6af0d981ba2cc9a529df63151942b5 Merge: 23c4a3a 5f093ee Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Fri Oct 3 16:43:02 2014 -0700 Merge tag 'clk-mvebu-3.18-2' of git://git.infradead.org/linux-mvebu into clk-next clock mvebu changes for v3.18 (round 2) - armada 370/375 - Fix SSCG node lookup commit 23c4a3a5212701ad34bd30591fa33d7bacef9c5f Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Fri Oct 3 16:21:31 2014 -0700 Revert "arm: pxa: Transition pxa27x to clk framework" This reverts commit 9ff25d7b58d8a4374886843ed3ed21f1ef17bf16. Originally reported on the kernel-build-reports mailing list[0]. The problem is caused by kernel configs that select both pxa25x and pxa27x such as cm_x2xx_defconfig and palmz72_defconfig. The short term solution is to revert the patch introducing the failure. Longer term, all the PXA chips will be converted to the common clock framework allowing support for various PXA chips to build into a single image. Reverting just this one patch does introduce some dead code into the kernel, but that is offset by making it easier to convert the remaining PXA platforms to the clock framework. [0] http://lists.linaro.org/pipermail/kernel-build-reports/2014-October/005576.html Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit bf8e8ca6fd4ac6e8edc58b92cffb2ffd51933138 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Oct 2 19:17:32 2014 +0100 Btrfs: send, don't delay dir move if there's a new parent inode If between two snapshots we rename an existing directory named X to Y and make it a child (direct or not) of a new inode named X, we were delaying the move/rename of the former directory unnecessarily, which would result in attempting to rename the new directory from its orphan name to name X prematurely. Minimal reproducer: $ mkfs.btrfs -f /dev/vdd $ mount /dev/vdd /mnt $ mkdir -p /mnt/merlin/RC/OSD/Source $ btrfs subvolume snapshot -r /mnt /mnt/mysnap1 $ mkdir /mnt/OSD $ mv /mnt/merlin/RC/OSD /mnt/OSD/OSD-Plane_788 $ mv /mnt/OSD /mnt/merlin/RC $ btrfs subvolume snapshot -r /mnt /mnt/mysnap2 $ btrfs send /mnt/mysnap1 -f /tmp/1.snap $ btrfs send -p /mnt/mysnap1 /mnt/mysnap2 -f /tmp/2.snap $ mkfs.btrfs -f /dev/vdc $ mount /dev/vdc /mnt2 $ btrfs receive /mnt2 -f /tmp/1.snap $ btrfs receive /mnt2 -f /tmp/2.snap The second receive (from an incremental send) failed with the following error message: "rename o261-7-0 -> merlin/RC/OSD failed". This is a regression introduced in the 3.16 kernel. A test case for xfstests follows. Reported-by: Marc Merlin <marc@xxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c926093ec516f5d316ecdf8c1be11f577ac71b85 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Sep 30 19:16:47 2014 +0200 btrfs: add more superblock checks Populate btrfs_check_super_valid() with checks that try to verify consistency of superblock by additional conditions that may arise from corrupted devices or bitflips. Some of tests are only hints and issue warnings instead of failing the mount, basically when the checks are derived from the data found in the superblock. Tested on a broken image provided by Qu. Reported-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 42383020beb1cfb05f5d330cc311931bc4917a97 Author: Sage Weil <sage@xxxxxxxxxx> Date: Fri Sep 26 08:30:06 2014 -0700 Btrfs: fix race in WAIT_SYNC ioctl We check whether transid is already committed via last_trans_committed and then search through trans_list for pending transactions. If last_trans_committed is updated by btrfs_commit_transaction after we check it (there is no locking), we will fail to find the committed transaction and return EINVAL to the caller. This has been observed occasionally by ceph-osd (which uses this ioctl heavily). Fix by rechecking whether the provided transid <= last_trans_committed after the search fails, and if so return 0. Signed-off-by: Sage Weil <sage@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 656f30dba7ab8179c9a2e04293b0c7b383fa9ce9 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Sep 26 12:25:56 2014 +0100 Btrfs: be aware of btree inode write errors to avoid fs corruption While we have a transaction ongoing, the VM might decide at any time to call btree_inode->i_mapping->a_ops->writepages(), which will start writeback of dirty pages belonging to btree nodes/leafs. This call might return an error or the writeback might finish with an error before we attempt to commit the running transaction. If this happens, we might have no way of knowing that such error happened when we are committing the transaction - because the pages might no longer be marked dirty nor tagged for writeback (if a subsequent modification to the extent buffer didn't happen before the transaction commit) which makes filemap_fdata[write|wait]_range unable to find such pages (even if they're marked with SetPageError). So if this happens we must abort the transaction, otherwise we commit a super block with btree roots that point to btree nodes/leafs whose content on disk is invalid - either garbage or the content of some node/leaf from a past generation that got cowed or deleted and is no longer valid (for this later case we end up getting error messages like "parent transid verify failed on 10826481664 wanted 25748 found 29562" when reading btree nodes/leafs from disk). Note that setting and checking AS_EIO/AS_ENOSPC in the btree inode's i_mapping would not be enough because we need to distinguish between log tree extents (not fatal) vs non-log tree extents (fatal) and because the next call to filemap_fdatawait_range() will catch and clear such errors in the mapping - and that call might be from a log sync and not from a transaction commit, which means we would not know about the error at transaction commit time. Also, checking for the eb flag EXTENT_BUFFER_IOERR at transaction commit time isn't done and would not be completely reliable, as the eb might be removed from memory and read back when trying to get it, which clears that flag right before reading the eb's pages from disk, making us not know about the previous write error. Using the new 3 flags for the btree inode also makes us achieve the goal of AS_EIO/AS_ENOSPC when writepages() returns success, started writeback for all dirty pages and before filemap_fdatawait_range() is called, the writeback for all dirty pages had already finished with errors - because we were not using AS_EIO/AS_ENOSPC, filemap_fdatawait_range() would return success, as it could not know that writeback errors happened (the pages were no longer tagged for writeback). Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 15b636e1dd8f56ef1c580e086e46c8b32d8fe2b4 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Sep 25 23:33:06 2014 +0200 Btrfs: remove redundant btrfs_verify_qgroup_counts declaration. Do like disk-io function declared under CONFIG_BTRFS_FS_RUN_SANITY_TESTS and keep prototype in qgroup.h only Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b99d9a6a4a41712c609a0b468512b2043a1b5f1d Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Thu Sep 25 19:35:02 2014 +0200 btrfs: fix shadow warning on cmp cmp was declared twice in btrfs_compare_trees resulting in a shadow warning. This patch renames second internal variable. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1b6e44690d2283e49c9e967d6a1739aac8490672 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 24 20:23:05 2014 +0200 Btrfs: fix compilation errors under DEBUG bi_sector and bi_size moved to bi_iter since commit 4f024f3797c4 ("block: Abstract out bvec iterator") Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8146502820231da924ca22d147cdcf733ac9a057 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Sep 23 22:22:33 2014 +0800 Btrfs: fix crash of btrfs_release_extent_buffer_page This is actually inspired by Filipe's patch. When write_one_eb() fails on submit_extent_page(), it'll give up writing this eb and mark it with EXTENT_BUFFER_IOERR. So if it's not the last page that encounter the failure, there are some left pages which remain DIRTY, and if a later COW on this eb happens, ie. eb is COWed and freed, it'd run into BUG_ON in btrfs_release_extent_buffer_page() for the DIRTY page, ie. BUG_ON(PageDirty(page)); This adds the missing clear_page_dirty_for_io() for the rest pages of eb. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 55e3bd2e0c2e1cfb43429b962e61415e0526bc01 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Sep 22 17:41:04 2014 +0100 Btrfs: add missing end_page_writeback on submit_extent_page failure If submit_extent_page() fails in write_one_eb(), we end up with the current page not marked dirty anymore, unlocked and marked for writeback. But we never end up calling end_page_writeback() against the page, which will make calls to filemap_fdatawait_range (e.g. at transaction commit time) hang forever waiting for the writeback bit to be cleared from the page. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 32be3a1ac6d09576c57063c6c350ca36eaebdbd3 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Mon Sep 22 09:13:03 2014 +0800 btrfs: Fix the wrong condition judgment about subset extent map Previous commit: btrfs: Fix and enhance merge_extent_mapping() to insert best fitted extent map is using wrong condition to judgement whether the range is a subset of a existing extent map. This may cause bug in btrfs no-holes mode. This patch will correct the judgment and fix the bug. Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit bbe9051441effce51c9a533d2c56440df64db2d7 Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Sep 19 15:43:34 2014 -0400 Btrfs: fix build_backref_tree issue with multiple shared blocks Marc Merlin sent me a broken fs image months ago where it would blow up in the upper->checked BUG_ON() in build_backref_tree. This is because we had a scenario like this block a -- level 4 (not shared) | block b -- level 3 (reloc block, shared) | block c -- level 2 (not shared) | block d -- level 1 (shared) | block e -- level 0 (shared) We go to build a backref tree for block e, we notice block d is shared and add it to the list of blocks to lookup it's backrefs for. Now when we loop around we will check edges for the block, so we will see we looked up block c last time. So we lookup block d and then see that the block that points to it is block c and we can just skip that edge since we've already been up this path. The problem is because we clear need_check when we see block d (as it is shared) we never add block b as needing to be checked. And because block c is in our path already we bail out before we walk up to block b and add it to the backref check list. To fix this we need to reset need_check if we trip over a block that doesn't need to be checked. This will make sure that any subsequent blocks in the path as we're walking up afterwards are added to the list to be processed. With this patch I can now mount Marc's fs image and it'll complete the balance without panicing. Thanks, Reported-by: Marc MERLIN <marc@xxxxxxxxxxx> Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 75bfb9aff45e44625260f52a5fd581b92ace3e62 Author: Josef Bacik <jbacik@xxxxxx> Date: Fri Sep 19 10:40:00 2014 -0400 Btrfs: cleanup error handling in build_backref_tree When balance panics it tends to panic in the BUG_ON(!upper->checked); test, because it means it couldn't build the backref tree properly. This is annoying to users and frankly a recoverable error, nothing in this function is actually fatal since it is just an in-memory building of the backrefs for a given bytenr. So go through and change all the BUG_ON()'s to ASSERT()'s, and fix the BUG_ON(!upper->checked) thing to just return an error. This patch also fixes the error handling so it tears down the work we've done properly. This code was horribly broken since we always just panic'ed instead of actually erroring out, so it needed to be completely re-worked. With this patch my broken image no longer panics when I mount it. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 75d43b2d0a323ba894d85060888f039e41b441ca Merge: d0b7abb cb0446c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Sat Oct 4 08:59:06 2014 +1000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux.git Freescale updates from Scott (27 commits): "Highlights include DMA32 zone support (SATA, USB, etc now works on 64-bit FSL kernels), MSI changes, 8xx optimizations and cleanup, t104x board support, and PrPMC PCI enumeration." commit 01291202ed4ad548f9a7147d20425cb1d24f49a7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Oct 2 07:38:46 2014 -0700 net: do not export skb_gro_receive() skb_gro_receive() is only called from tcp_gro_receive() which is not in a module. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad2a2a6d7c4a59240dc67eb757e1986f3f1ef515 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Oct 2 22:32:56 2014 +0800 drivers/net/irda/Kconfig: Let SH_IRDA depend on HAS_IOMEM SH_IRDA needs HAS_IOMEM, so depend on it. The related error(with allmodconfig under um): CC [M] drivers/net/irda/sh_irda.o drivers/net/irda/sh_irda.c: In function â??sh_irda_probeâ??: drivers/net/irda/sh_irda.c:776:2: error: implicit declaration of function â??ioremap_nocacheâ?? [-Werror=implicit-function-declaration] self->membase = ioremap_nocache(res->start, resource_size(res)); ^ drivers/net/irda/sh_irda.c:776:16: warning: assignment makes pointer from integer without a cast [enabled by default] self->membase = ioremap_nocache(res->start, resource_size(res)); ^ drivers/net/irda/sh_irda.c:821:2: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(self->membase); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65cb29a4f3c7b1c6c61179de870ab568e2129f7e Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Oct 2 22:23:33 2014 +0800 drivers/net/ethernet/marvell/Kconfig: Let PXA168_ETH depend on HAS_IOMEM PXA168_ETH need HAS_IOMEM, so depend on it, the related error (with allmodconfig under um): CC [M] drivers/net/ethernet/marvell/pxa168_eth.o drivers/net/ethernet/marvell/pxa168_eth.c: In function â??pxa168_eth_probeâ??: drivers/net/ethernet/marvell/pxa168_eth.c:1605:2: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(pep->base); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 28b5533a6f5dca34316f90c59818a69e1c7ad6c1 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Oct 2 22:14:04 2014 +0800 drivers/net/dsa/Kconfig: Let NET_DSA_BCM_SF2 depend on HAS_IOMEM NET_DSA_BCM_SF2 need HAS_IOMEM, so depend on it, the related error (with allmodconfig under um): CC [M] drivers/net/dsa/bcm_sf2.o drivers/net/dsa/bcm_sf2.c: In function â??bcm_sf2_sw_setupâ??: drivers/net/dsa/bcm_sf2.c:487:3: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(*base); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9dc8be2816929b13f64e1d3c00d6101939d03df3 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Oct 2 22:01:42 2014 +0800 drivers/net/can/Kconfig: Let CAN_AT91 depend on HAS_IOMEM CAN_AT91 needs HAS_IOMEM, so depends on it. The related error (with allmodconfig under um): CC [M] drivers/net/can/at91_can.o drivers/net/can/at91_can.c: In function â??at91_can_probeâ??: drivers/net/can/at91_can.c:1329:2: error: implicit declaration of function â??ioremap_nocacheâ?? [-Werror=implicit-function-declaration] addr = ioremap_nocache(res->start, resource_size(res)); ^ drivers/net/can/at91_can.c:1329:7: warning: assignment makes pointer from integer without a cast [enabled by default] addr = ioremap_nocache(res->start, resource_size(res)); ^ drivers/net/can/at91_can.c:1384:2: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(addr); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 579899a9eac2a9051f65ec6d120f80383696d528 Merge: 48fea86 b5d130c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 3 15:43:50 2014 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-10-02 This series contains updates to fm10k, igb, ixgbe and i40e. Alex provides two updates to the fm10k driver. First reduces the buffer size to 2k for all page sizes, since most frames only have a 1500 MTU so supporting a buffer size larger than this is somewhat wasteful. Second fixes an issue where the number of transmit queues was not being updated, so added the lines necessary to update the number of transmit queues. Rick Jones provides two patches to convert ixgbe, igb and i40e to use dev_consume_skb_any(). Emil provides two patches for ixgbe, first cleans up a couple of wait loops on auto-negotiation that were not needed. Second fixes an issue reported by Fujitsu/Red Hat, which consolidates the logic behind the dynamically setting of TXDCTL.WTHRESH depending on interrupt throttle rate (ITR) setting regardless of BQL. Ethan Zhao provides a cleanup patch for ixgbe where he noticed a duplicate define. Bernhard Kaindl provides a patch for igb to remove a source of latency spikes by not calling code that uses mdelay() for feeding a PHY stat while being called with a spinlock held. Todd bumps the igb version based on the recent changes. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48fea861c9fbee5aae17897fb9acc4d348a9abac Merge: 55a93b3 f832dc8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 3 15:42:37 2014 -0700 Merge branch 'mlx5-next' Eli Cohen says: ==================== mlx5 update for 3.18 This series integrates a new mechanism for populating and extracting field values used in the driver/firmware interaction around command mailboxes. Changes from V1: - Remove unused definition of memcpy_cpu_to_be32() - Remove definitions of non_existent_*() and use BUILD_BUG_ON() instead. - Added a patch one line patch to add support for ConnectX-4 devices. Changes from V0: - trimmed the auto-generated file to a minimum, as required by the reviewers. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f832dc820fe8fca561933e8fa734adca75bba5a0 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 2 12:19:46 2014 +0300 net/mlx5_core: Add ConnectX-4 to list of supported devices Add the upcoming ConnectX-4 device to the list of supported devices by then mlx5 driver. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5903325a64834211daf63a62db3b35ee580cb8bf Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 2 12:19:45 2014 +0300 net/mlx5_core: Identify resources by their type This patch puts a common part as the first field of mlx5_core_qp. This field is used to identify which resource generated an event. This is required since upcoming new resource types such as DC targets are allocated for the same numerical space as regular QPs and may generate the same events. By searching the resource in the same table we can then look at the common field to identify the resource. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b775516b042f9e35f856bd2914afefd9d23021d7 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 2 12:19:44 2014 +0300 net/mlx5_core: use set/get macros in device caps Transform device capabilities related commands to use set/get macros to manipulate command mailboxes. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d29b796adada8780db3512c4a34b339f9aeef1ae Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 2 12:19:43 2014 +0300 net/mlx5_core: Use hardware registers description header file Add an auto generated header file that describes hardware registers along with set of macros that set/get values. The macros do static checks to avoid overflow, handle endianess, and overall provide a clean way to code commands. Currently the header file is small and we will add structs as we make use of the macros. A few commands were removed from the commands enum since they are not supported currently and will be added when support is available. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7a08ac7ee68b9af0d5af99c7b34b574cac4d144 Author: Eli Cohen <eli@xxxxxxxxxxxx> Date: Thu Oct 2 12:19:42 2014 +0300 net/mlx5_core: Update device capabilities handling Rearrange struct mlx5_caps so it has a "gen" field to represent the current capabilities configured for the device. Max capabilities can also be queried from the device. Also update capabilities struct to contain more fields as per the latest revision if firmware specification. Signed-off-by: Eli Cohen <eli@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea6a7112d8525f7b5b6fdd59b255845ed6331beb Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Oct 2 17:03:12 2014 +0800 r8152: autoresume before setting MAC address Resume the device before setting the MAC address. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3cc81d85ee01e5a0b7ea2f4190e2ed1165f53c31 Author: Michel Stam <m.stam@xxxxxxxx> Date: Thu Oct 2 10:22:02 2014 +0200 asix: Don't reset PHY on if_up for ASIX 88772 I've noticed every time the interface is set to 'up,', the kernel reports that the link speed is set to 100 Mbps/Full Duplex, even when ethtool is used to set autonegotiation to 'off', half duplex, 10 Mbps. It can be tested by: ifconfig eth0 down ethtool -s eth0 autoneg off speed 10 duplex half ifconfig eth0 up Then checking 'dmesg' for the link speed. Signed-off-by: Michel Stam <m.stam@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55a93b3ea780908b7d1b3a8cf1976223a9268d78 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Oct 3 15:31:07 2014 -0700 qdisc: validate skb without holding lock Validation of skb can be pretty expensive : GSO segmentation and/or checksum computations. We can do this without holding qdisc lock, so that other cpus can queue additional packets. Trick is that requeued packets were already validated, so we carry a boolean so that sch_direct_xmit() can validate a fresh skb list, or directly use an old one. Tested on 40Gb NIC (8 TX queues) and 200 concurrent flows, 48 threads host. Turning TSO on or off had no effect on throughput, only few more cpu cycles. Lock contention on qdisc lock disappeared. Same if disabling TX checksum offload. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a05880a8b22c6ba2ffdabbceb4635d28abe9072 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Thu Oct 2 10:15:30 2014 +0200 net: ethernet: Remove superfluous ether_setup after alloc_etherdev There is no need to call ether_setup after alloc_ethdev since it was already called there. Follow commits c706471b2601 ("net: axienet: remove unnecessary ether_setup after alloc_etherdev") and 3c87dcbfb36c ("net: ll_temac: Remove unnecessary ether_setup after alloc_etherdev") and fix the pattern in all remaining ethernet drivers. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 906d201530f2c52aeb4eee31895c71cdccf1e9a0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 24 11:17:56 2014 -0700 dynamic_debug: change __dynamic_<foo>_dbg return types to void The return value is not used by callers of these functions so change the functions to return void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33ead538f642a33b1d658782a5d14a40b5014d1f Author: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Date: Fri Oct 3 19:06:03 2014 +0900 driver/base/node: remove unnecessary kfree of node struct from unregister_one_node Commit 92d585ef067d ("numa: fix NULL pointer access and memory leak in unregister_one_node()") added kfree() of node struct in unregister_one_node(). But node struct is freed by node_device_release() which is called in unregister_node(). So by adding the kfree(), node struct is freed two times. While hot removing memory, the commit leads the following BUG_ON(): kernel BUG at mm/slub.c:3346! invalid opcode: 0000 [#1] SMP [...] Call Trace: [...] unregister_one_node [...] try_offline_node [...] remove_memory [...] acpi_memory_device_remove [...] acpi_bus_trim [...] acpi_bus_trim [...] acpi_device_hotplug [...] acpi_hotplug_work_fn [...] process_one_work [...] worker_thread [...] ? rescuer_thread [...] kthread [...] ? kthread_create_on_node [...] ret_from_fork [...] ? kthread_create_on_node This patch removes unnecessary kfree() from unregister_one_node(). Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Xishi Qiu <qiuxishi@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.16+ Fixes: 92d585ef067d "numa: fix NULL pointer access and memory leak in unregister_one_node()" Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ed9a3d455558406cad83d38764ee659de25851c Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Oct 3 10:21:44 2014 +0200 USB: host: st: fix typo 'CONFIG_USB_EHCI_HCD_ST' Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Fixes: 905e300e1043 ("USB: host: st: fix ehci/ohci driver selection") Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d75b9cbb1418f20ad1e688dd8312a029ef2e6b5 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Oct 3 12:08:56 2014 +0200 uas: Reduce number of function arguments for uas_alloc_foo functions The stream_id and pipe are already present in uas_cmd_info resp uas_dev_info, so there is no need to pass a copy along. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 29e409f0f7613f9fd2235e41f0fa33e48e94544e Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Fri Oct 3 11:35:29 2014 +0300 xhci: Allow xHCI drivers to be built as separate modules Instead of building all of the xHCI code into a single module, separate it out into the core (xhci-hcd), PCI (xhci-pci, now selected by the new config option CONFIG_USB_XHCI_PCI), and platform (xhci-plat) drivers. Also update the PCI/platform drivers with module descriptions/licenses and have them register their respective drivers in their initcalls. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 436e8c7d457ff4ca89beca20cf54f5884de6af61 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Fri Oct 3 11:35:28 2014 +0300 xhci: Export symbols used by host-controller drivers In preparation for allowing the xHCI host controller drivers to be built as separate modules, export symbols from the xHCI core that may be used by the host controller drivers. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1cd972741f537828307640c9e55f7b595e9ba1e Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Fri Oct 3 11:35:27 2014 +0300 xhci: Check for XHCI_COMP_MODE_QUIRK when disabling D3cold Instead of calling xhci_compliance_mode_recovery_timer_quirk_check() again in the PCI suspend path, just check for XHCI_COMP_MODE_QUIRK which will have been set based on xhci_compliance_mode_recovery_timer_quirk_check() in xhci_init(). Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1885d9a33753b73cbbe3f8efde4a852ecca08674 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Fri Oct 3 11:35:26 2014 +0300 xhci: Introduce xhci_init_driver() Since the struct hc_driver is mostly the same across the xhci-pci, xhci-plat, and the upcoming xhci-tegra driver, introduce the function xhci_init_driver() which will populate the hc_driver with the default xHCI operations. The caller must supply a setup function which will be used as the hc_driver's reset callback. Note that xhci-plat also overrides the default ->start() callback so that it can do rcar-specific initialization. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4c24db1b7ad0ce84409e15744d26c6f86a96840 Author: Joern Engel <joern@xxxxxxxxx> Date: Fri Oct 3 14:35:56 2014 -0700 qla_target: don't delete changed nacls The code is currently riddled with "drop the hardware_lock to avoid a deadlock" bugs that expose races. One of those races seems to expose a valid warning in tcm_qla2xxx_clear_nacl_from_fcport_map. Add some bandaid to it. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.5+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit d8f429e1669b9709f5b669aac9d734dbe0640891 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Fri Oct 3 17:27:12 2014 -0400 block: add bioset_create_nobvec() Users of bio_clone_fast() do not want bios with their own bvecs. Allocating a bvec mempool as part of the bioset intended for such users is a waste of memory. bioset_create_nobvec() creates a bioset that doesn't have the bvec mempool. Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 11dfce509eaa35e8fc81cb50d0910c0e235fd7e2 Author: Junichi Nomura <j-nomura@xxxxxxxxxxxxx> Date: Fri Oct 3 17:27:11 2014 -0400 block: use bio_clone_fast() in blk_rq_prep_clone() Request cloning clones bios in the request to track the completion of each bio. For that purpose, we can use bio_clone_fast() instead of bio_clone() to avoid unnecessary allocation and copy of bvecs. This patch reduces memory footprint of request-based device-mapper (about 1-4KB for each request) and is a preparation for further reduction of memory usage by removing unused bvec mempool. Signed-off-by: Jun'ichi Nomura <j-nomura@xxxxxxxxxxxxx> Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 126d4576cb73c8a440adc37c129589cd66051bcc Merge: 0390019 86b59bb Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 14:20:44 2014 -0700 Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux Pull i2c fixes from Wolfram Sang: "Two i2c driver bugfixes" * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: i2c: qup: Fix order of runtime pm initialization i2c: rk3x: fix 0 length write transfers commit e603984823a9218857c599195aaa514c5343de03 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Fri Oct 3 21:45:53 2014 +0100 staging: et131x: Remove et131x driver from drivers/staging The current version of the et131x driver has been accepted into the main tree at /drivers/net/ethernet, so it can now be removed from staging. The MAINTAINERS entry has not been touched here, as the patch to add the driver to drivers/net modifies it correctly. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 915de2adb584acea89f3f654a6c9b329f682100f Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Mon Sep 29 12:02:11 2014 +0000 ftracetest: Add POSIX.3 standard and XFAIL result codes Add XFAIL and POSIX 1003.3 standard codes (UNRESOLVED/ UNTESTED/UNSUPPORTED) as result codes. These are used for the results that test case is expected to fail or unsupported feature (by config). To return these result code, this introduces exit_unresolved, exit_untested, exit_unsupported and exit_xfail functions, which use real-time signals to notify the result code to ftracetest. This also set "errexit" option for the testcases, so that the tests don't need to exit explicitly. Note that if the test returns UNRESOLVED/UNSUPPORTED/FAIL, its test log including executed commands is shown on console and main logfile as below. ------ # ./ftracetest samples/ === Ftrace unit tests === [1] failure-case example [FAIL] execute: /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/fail.tc + . /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/fail.tc ++ cat non-exist-file cat: non-exist-file: No such file or directory [2] pass-case example [PASS] [3] unresolved-case example [UNRESOLVED] execute: /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unresolved.tc + . /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unresolved.tc ++ trap exit_unresolved INT ++ kill -INT 29324 +++ exit_unresolved +++ kill -s 38 29265 +++ exit 0 [4] unsupported-case example [UNSUPPORTED] execute: /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unsupported.tc + . /home/fedora/ksrc/linux-3/tools/testing/selftests/ftrace/samples/unsupported.tc ++ exit_unsupported ++ kill -s 40 29265 ++ exit 0 [5] untested-case example [UNTESTED] [6] xfail-case example [XFAIL] # of passed: 1 # of failed: 1 # of unresolved: 1 # of untested: 1 # of unsupported: 1 # of xfailed: 1 # of undefined(test bug): 0 ------ Link: http://lkml.kernel.org/p/20140929120211.30203.99510.stgit@xxxxxxxxxxxxxxxxxxxx Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 039001972a959ab31008a3924ff9519063371bc2 Merge: 7d1419f 24607f1 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 13:31:57 2014 -0700 Merge tag 'trace-fixes-v3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace Pull trace ring buffer iterator fix from Steven Rostedt: "While testing some new changes for 3.18, I kept hitting a bug every so often in the ring buffer. At first I thought it had to do with some of the changes I was working on, but then testing something else I realized that the bug was in 3.17 itself. I ran several bisects as the bug was not very reproducible, and finally came up with the commit that I could reproduce easily within a few minutes, and without the change I could run the tests over an hour without issue. The change fit the bug and I figured out a fix. That bad commit was: Commit 651e22f2701b "ring-buffer: Always reset iterator to reader page" This commit fixed a bug, but in the process created another one. It used the wrong value as the cached value that is used to see if things changed while an iterator was in use. This made it look like a change always happened, and could cause the iterator to go into an infinite loop" * tag 'trace-fixes-v3.17-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: ring-buffer: Fix infinite spin in reading buffer commit 7d1419f30cc5106196e54a282d7e115e698c95f6 Merge: ee042ec 1209bbd Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 13:09:57 2014 -0700 Merge branch 'for-linus' of git://git.samba.org/sfrench/cifs-2.6 Pull cifs/smb3 fixes from Steve French: "Fix for CIFS/SMB3 oops on reconnect during readpages (3.17 regression) and for incorrectly closing file handle in symlink error cases" * 'for-linus' of git://git.samba.org/sfrench/cifs-2.6: CIFS: Fix readpages retrying on reconnects Fix problem recognizing symlinks commit fba7516303c1f6bb45fcc3df888978d0b34202c4 Merge: ee042ec 593cbb3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 3 12:52:19 2014 -0700 Merge branch 'rds-net' Herton R. Krzesinski says: ==================== Small fixes/changes for RDS I got a report of one issue within RDS (after investigation it was a double free), and I'm sending the fix (patch 3/3) which reporter said it works (no more WARNING triggered on a specially instrumented kernel). The report/test was done on a very old kernel (RHEL 5, 2.6.18 based with backports), but the problem the patch handles still exists and should not change. Besides that, while reviewing some of the code but being unable to reproduce with rds_tcp, I noticed two small improvements/fixes which are in patches 1 and 2. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 593cbb3ec6a3f2424966832727f394b1696d0d72 Author: Herton R. Krzesinski <herton@xxxxxxxxxx> Date: Wed Oct 1 18:49:54 2014 -0300 net/rds: fix possible double free on sock tear down I got a report of a double free happening at RDS slab cache. One suspicion was that may be somewhere we were doing a sock_hold/sock_put on an already freed sock. Thus after providing a kernel with the following change: static inline void sock_hold(struct sock *sk) { - atomic_inc(&sk->sk_refcnt); + if (!atomic_inc_not_zero(&sk->sk_refcnt)) + WARN(1, "Trying to hold sock already gone: %p (family: %hd)\n", + sk, sk->sk_family); } The warning successfuly triggered: Trying to hold sock already gone: ffff81f6dda61280 (family: 21) WARNING: at include/net/sock.h:350 sock_hold() Call Trace: <IRQ> [<ffffffff8adac135>] :rds:rds_send_remove_from_sock+0xf0/0x21b [<ffffffff8adad35c>] :rds:rds_send_drop_acked+0xbf/0xcf [<ffffffff8addf546>] :rds_rdma:rds_ib_recv_tasklet_fn+0x256/0x2dc [<ffffffff8009899a>] tasklet_action+0x8f/0x12b [<ffffffff800125a2>] __do_softirq+0x89/0x133 [<ffffffff8005f30c>] call_softirq+0x1c/0x28 [<ffffffff8006e644>] do_softirq+0x2c/0x7d [<ffffffff8006e4d4>] do_IRQ+0xee/0xf7 [<ffffffff8005e625>] ret_from_intr+0x0/0xa <EOI> Looking at the call chain above, the only way I think this would be possible is if somewhere we already released the same socket->sock which is assigned to the rds_message at rds_send_remove_from_sock. Which seems only possible to happen after the tear down done on rds_release. rds_release properly calls rds_send_drop_to to drop the socket from any rds_message, and some proper synchronization is in place to avoid race with rds_send_drop_acked/rds_send_remove_from_sock. However, I still see a very narrow window where it may be possible we touch a sock already released: when rds_release races with rds_send_drop_acked, we check RDS_MSG_ON_CONN to avoid cleanup on the same rds_message, but in this specific case we don't clear rm->m_rs. In this case, it seems we could then go on at rds_send_drop_to and after it returns, the sock is freed by last sock_put on rds_release, with concurrently we being at rds_send_remove_from_sock; then at some point in the loop at rds_send_remove_from_sock we process an rds_message which didn't have rm->m_rs unset for a freed sock, and a possible sock_hold on an sock already gone at rds_release happens. This hopefully address the described condition above and avoids a double free on "second last" sock_put. In addition, I removed the comment about socket destruction on top of rds_send_drop_acked: we call rds_send_drop_to in rds_release and we should have things properly serialized there, thus I can't see the comment being accurate there. Signed-off-by: Herton R. Krzesinski <herton@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb74cc97b830c1e438dc1d6b049f17bdb2b9aae5 Author: Herton R. Krzesinski <herton@xxxxxxxxxx> Date: Wed Oct 1 18:49:53 2014 -0300 net/rds: do proper house keeping if connection fails in rds_tcp_conn_connect I see two problems if we consider the sock->ops->connect attempt to fail in rds_tcp_conn_connect. The first issue is that for example we don't remove the previously added rds_tcp_connection item to rds_tcp_tc_list at rds_tcp_set_callbacks, which means that on a next reconnect attempt for the same rds_connection, when rds_tcp_conn_connect is called we can again call rds_tcp_set_callbacks, resulting in duplicated items on rds_tcp_tc_list, leading to list corruption: to avoid this just make sure we call properly rds_tcp_restore_callbacks before we exit. The second issue is that we should also release the sock properly, by setting sock = NULL only if we are returning without error. Signed-off-by: Herton R. Krzesinski <herton@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 310886dd5fa3606d9325b10caf7c8ba5e9f9ab03 Author: Herton R. Krzesinski <herton@xxxxxxxxxx> Date: Wed Oct 1 18:49:52 2014 -0300 net/rds: call rds_conn_drop instead of open code it at rds_connect_complete Signed-off-by: Herton R. Krzesinski <herton@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2bf5ec20488fb91af32f1c7f7c63f338ebacc9f Merge: 38df649 808e7ac Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Oct 3 12:37:23 2014 -0700 Merge branch 'qdisc_bulk_dequeue' Jesper Dangaard Brouer says: ==================== qdisc: bulk dequeue support This patchset uses DaveM's recent API changes to dev_hard_start_xmit(), from the qdisc layer, to implement dequeue bulking. Patch01: "qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE" - Implement basic qdisc dequeue bulking - This time, 100% relying on BQL limits, no magic safe-guard constants Patch02: "qdisc: dequeue bulking also pickup GSO/TSO packets" - Extend bulking to bulk several GSO/TSO packets - Seperate patch, as it introduce a small regression, see test section. We do have a patch03, which exports a userspace tunable as a BQL tunable, that can byte-cap or disable the bulking/bursting. But we could not agree on it internally, thus not sending it now. We basically strive to avoid adding any new userspace tunable. Testing patch01: ================ Demonstrating the performance improvement of qdisc dequeue bulking, is tricky because the effect only "kicks-in" once the qdisc system have a backlog. Thus, for a backlog to form, we need either 1) to exceed wirespeed of the link or 2) exceed the capability of the device driver. For practical use-cases, the measureable effect of this will be a reduction in CPU usage 01-TCP_STREAM: -------------- Testing effect for TCP involves disabling TSO and GSO, because TCP already benefit from bulking, via TSO and especially for GSO segmented packets. This patch view TSO/GSO as a seperate kind of bulking, and avoid further bulking of these packet types. The measured perf diff benefit (at 10Gbit/s) for a single netperf TCP_STREAM were 9.24% less CPU used on calls to _raw_spin_lock() (mostly from sch_direct_xmit). If my E5-2695v2(ES) CPU is tuned according to: http://netoptimizer.blogspot.dk/2014/04/basic-tuning-for-network-overload.html Then it is possible that a single netperf TCP_STREAM, with GSO and TSO disabled, can utilize all bandwidth on a 10Gbit/s link. This will then cause a standing backlog queue at the qdisc layer. Trying to pressure the system some more CPU util wise, I'm starting 24x TCP_STREAMs and monitoring the overall CPU utilization. This confirms bulking saves CPU cycles when it "kicks-in". Tool mpstat, while stressing the system with netperf 24x TCP_STREAM, shows: * Disabled bulking: sys:2.58% soft:8.50% idle:88.78% * Enabled bulking: sys:2.43% soft:7.66% idle:89.79% 02-UDP_STREAM ------------- The measured perf diff benefit for UDP_STREAM were 6.41% less CPU used on calls to _raw_spin_lock(). 24x UDP_STREAM with packet size -m 1472 (to avoid sending UDP/IP fragments). 03-trafgen driver test ---------------------- The performance of the 10Gbit/s ixgbe driver is limited due to updating the HW ring-queue tail-pointer on every packet. As previously demonstrated with pktgen. Using trafgen to send RAW frames from userspace (via AF_PACKET), and forcing it through qdisc path (with option --qdisc-path and -t0), sending with 12 CPUs. I can demonstrate this driver layer limitation: * 12.8 Mpps with no qdisc bulking * 14.8 Mpps with qdisc bulking (full 10G-wirespeed) Testing patch02: ================ Testing Bulking several GSO/TSO packets: Measuring HoL (Head-of-Line) blocking for TSO and GSO, with netperf-wrapper. Bulking several TSO show no performance regressions (requeues were in the area 32 requeues/sec for 10G while transmitting approx 813Kpps). Bulking several GSOs does show small regression or very small improvement (requeues were in the area 8000 requeues/sec, for 10G while transmitting approx 813Kpps). Using ixgbe 10Gbit/s with GSO bulking, we can measure some additional latency. Base-case, which is "normal" GSO bulking, sees varying high-prio queue delay between 0.38ms to 0.47ms. Bulking several GSOs together, result in a stable high-prio queue delay of 0.50ms. Corrosponding to: (10000*10^6)*((0.50-0.47)/10^3)/8 = 37500 bytes (10000*10^6)*((0.50-0.38)/10^3)/8 = 150000 bytes 37500/1500 = 25 pkts 150000/1500 = 100 pkts Using igb at 100Mbit/s with GSO bulking, shows an improvement. Base-case sees varying high-prio queue delay between 2.23ms to 2.35ms diff of 0.12ms corrosponding to 1500 bytes at 100Mbit/s. Bulking several GSOs together, result in a stable high-prio queue delay of 2.23ms. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 808e7ac0bdef31204184904f6b3ea356a30a9ed5 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Wed Oct 1 22:36:09 2014 +0200 qdisc: dequeue bulking also pickup GSO/TSO packets The TSO and GSO segmented packets already benefit from bulking on their own. The TSO packets have always taken advantage of the only updating the tailptr once for a large packet. The GSO segmented packets have recently taken advantage of bulking xmit_more API, via merge commit 53fda7f7f9e8 ("Merge branch 'xmit_list'"), specifically via commit 7f2e870f2a4 ("net: Move main gso loop out of dev_hard_start_xmit() into helper.") allowing qdisc requeue of remaining list. And via commit ce93718fb7cd ("net: Don't keep around original SKB when we software segment GSO frames."). This patch allow further bulking of TSO/GSO packets together, when dequeueing from the qdisc. Testing: Measuring HoL (Head-of-Line) blocking for TSO and GSO, with netperf-wrapper. Bulking several TSO show no performance regressions (requeues were in the area 32 requeues/sec). Bulking several GSOs does show small regression or very small improvement (requeues were in the area 8000 requeues/sec). Using ixgbe 10Gbit/s with GSO bulking, we can measure some additional latency. Base-case, which is "normal" GSO bulking, sees varying high-prio queue delay between 0.38ms to 0.47ms. Bulking several GSOs together, result in a stable high-prio queue delay of 0.50ms. Using igb at 100Mbit/s with GSO bulking, shows an improvement. Base-case sees varying high-prio queue delay between 2.23ms to 2.35ms Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5772e9a3463b264cee5a4e73ef586ad482d7ba48 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Wed Oct 1 22:35:59 2014 +0200 qdisc: bulk dequeue support for qdiscs with TCQ_F_ONETXQUEUE Based on DaveM's recent API work on dev_hard_start_xmit(), that allows sending/processing an entire skb list. This patch implements qdisc bulk dequeue, by allowing multiple packets to be dequeued in dequeue_skb(). The optimization principle for this is two fold, (1) to amortize locking cost and (2) avoid expensive tailptr update for notifying HW. (1) Several packets are dequeued while holding the qdisc root_lock, amortizing locking cost over several packet. The dequeued SKB list is processed under the TXQ lock in dev_hard_start_xmit(), thus also amortizing the cost of the TXQ lock. (2) Further more, dev_hard_start_xmit() will utilize the skb->xmit_more API to delay HW tailptr update, which also reduces the cost per packet. One restriction of the new API is that every SKB must belong to the same TXQ. This patch takes the easy way out, by restricting bulk dequeue to qdisc's with the TCQ_F_ONETXQUEUE flag, that specifies the qdisc only have attached a single TXQ. Some detail about the flow; dev_hard_start_xmit() will process the skb list, and transmit packets individually towards the driver (see xmit_one()). In case the driver stops midway in the list, the remaining skb list is returned by dev_hard_start_xmit(). In sch_direct_xmit() this returned list is requeued by dev_requeue_skb(). To avoid overshooting the HW limits, which results in requeuing, the patch limits the amount of bytes dequeued, based on the drivers BQL limits. In-effect bulking will only happen for BQL enabled drivers. Small amounts for extra HoL blocking (2x MTU/0.24ms) were measured at 100Mbit/s, with bulking 8 packets, but the oscillating nature of the measurement indicate something, like sched latency might be causing this effect. More comparisons show, that this oscillation goes away occationally. Thus, we disregard this artifact completely and remove any "magic" bulking limit. For now, as a conservative approach, stop bulking when seeing TSO and segmented GSO packets. They already benefit from bulking on their own. A followup patch add this, to allow easier bisect-ability for finding regressions. Jointed work with Hannes, Daniel and Florian. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 38df6492eb511d2a6823303cb1a194c4fe423154 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Tue Sep 30 22:29:46 2014 +0100 et131x: Add PCIe gigabit ethernet driver et131x to drivers/net This adds the ethernet driver for Agere et131x devices to drivers/net/ethernet. The driver being added has been in the staging tree for some time, and will be removed from there in a seperate patch. This one merely disables the staging version to prevent two instances being built. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 447a8b858e4bda41c394b1bc7fdbc9dc0bdf44f6 Merge: 3049683 042e1c7 Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Fri Oct 3 11:24:46 2014 -0700 Merge branch 'next' into for-linus Prepare first round of input updates for 3.18. commit f56574a2b554492703030e3d3b9679c9a07a5d69 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Thu Oct 2 10:23:15 2014 -0700 target/user: Recalculate pad size inside is_ring_space_avail() If more than one thread is waiting for command ring space that includes a PAD, then if the first one finishes (inserts a PAD and a CMD at the start of the cmd ring) then the second one will incorrectly think it still needs to insert a PAD (i.e. cmdr_space_needed is now wrong.) This will lead to it asking for more space than it actually needs, and then inserting a PAD somewhere else than at the end -- not what we want. This patch moves the pad calculation inside is_ring_space_available() so in the above scenario the second thread would then ask for space not including a PAD. The patch also inserts a PAD op based upon an up-to-date cmd_head, instead of the potentially stale value. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6375f8908255ea7438b60bb5998e6b3e1628500d Author: Hannes Reinecke <hare@xxxxxxx> Date: Thu Oct 2 09:30:55 2014 +0200 tcm_loop: Fixup tag handling The SCSI command tag is set to the tag assigned from the block layer, not the SCSI-II tag message. So we need to convert it into the correct SCSI-II tag message based on the device flags, not the tag value itself. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 1acff63f6ec2622662e647364293cc3ca495401f Author: Sagi Grimberg <sagig@xxxxxxxxxxxx> Date: Thu Oct 2 21:40:34 2014 -0700 iser-target: Fix smatch warning Unused return value from down_interruptible Reported-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6e14eab90a933c2e936639be390bf231a377b44a Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Wed Oct 1 23:01:15 2014 -0700 target/user: Fix up smatch warnings in tcmu_netlink_event This patch fixes up the following unused return smatch warnings: drivers/target/target_core_user.c:778 tcmu_netlink_event warn: unused return: ret = nla_put_string() drivers/target/target_core_user.c:780 tcmu_netlink_event warn: unused `return: ret = nla_put_u32() (Fix up missing semicolon: grover) Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7c9e7a6fe11c8dc5b3b9d0e889dde73347247584 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Wed Oct 1 16:07:05 2014 -0700 target: Add a user-passthrough backstore Add a LIO storage engine that presents commands to userspace for execution. This would allow more complex backstores to be implemented out-of-kernel, and also make experimentation a-la FUSE (but at the SCSI level -- "SUSE"?) possible. It uses a mmap()able UIO device per LUN to share a command ring and data area. The commands are raw SCSI CDBs and iovs for in/out data. The command ring is also reused for returning scsi command status and optional sense data. This implementation is based on Shaohua Li's earlier version but heavily modified. Differences include: * Shared memory allocated by kernel, not locked-down user pages * Single ring for command request and response * Offsets instead of embedded pointers * Generic SCSI CDB passthrough instead of per-cmd specialization in ring format. * Uses UIO device instead of anon_file passed in mailbox. * Optional in-kernel handling of some commands. The main reason for these differences is to permit greater resiliency if the user process dies or hangs. Things not yet implemented (on purpose): * Zero copy. The data area is flexible enough to allow page flipping or backend-allocated pages to be used by fabrics, but it's not clear these are performance wins. Can come later. * Out-of-order command completion by userspace. Possible to add by just allowing userspace to change cmd_id in rsp cmd entries, but currently not supported. * No locks between kernel cmd submission and completion routines. Sounds like it's possible, but this can come later. * Sparse allocation of mmaped area. Current code vmallocs the whole thing. If the mapped area was larger and not fully mapped then the driver would have more freedom to change cmd and data area sizes based on demand. Current code open issues: * The use of idrs may be overkill -- we maybe can replace them with a simple counter to generate cmd_ids, and a hash table to get a cmd_id's associated pointer. * Use of a free-running counter for cmd ring instead of explicit modulo math. This would require power-of-2 cmd ring size. (Add kconfig depends NET - Randy) Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 3e67cfad22230ebed85c56cbe413876f33fea82b Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Fri Oct 3 12:47:23 2014 -0400 ext4: grab missed write_count for EXT4_IOC_SWAP_BOOT Otherwise this provokes complain like follows: WARNING: CPU: 12 PID: 5795 at fs/ext4/ext4_jbd2.c:48 ext4_journal_check_start+0x4e/0xa0() Modules linked in: brd iTCO_wdt lpc_ich mfd_core igb ptp dm_mirror dm_region_hash dm_log dm_mod CPU: 12 PID: 5795 Comm: python Not tainted 3.17.0-rc2-00175-gae5344f #158 Hardware name: Intel Corporation W2600CR/W2600CR, BIOS SE5C600.86B.99.99.x028.061320111235 06/13/2011 0000000000000030 ffff8808116cfd28 ffffffff815c7dfc 0000000000000030 0000000000000000 ffff8808116cfd68 ffffffff8106ce8c ffff8808116cfdc8 ffff880813b16000 ffff880806ad6ae8 ffffffff81202008 0000000000000000 Call Trace: [<ffffffff815c7dfc>] dump_stack+0x51/0x6d [<ffffffff8106ce8c>] warn_slowpath_common+0x8c/0xc0 [<ffffffff81202008>] ? ext4_ioctl+0x9e8/0xeb0 [<ffffffff8106ceda>] warn_slowpath_null+0x1a/0x20 [<ffffffff8122867e>] ext4_journal_check_start+0x4e/0xa0 [<ffffffff81228c10>] __ext4_journal_start_sb+0x90/0x110 [<ffffffff81202008>] ext4_ioctl+0x9e8/0xeb0 [<ffffffff8107b0bd>] ? ptrace_stop+0x24d/0x2f0 [<ffffffff81088530>] ? alloc_pid+0x480/0x480 [<ffffffff8107b1f2>] ? ptrace_do_notify+0x92/0xb0 [<ffffffff81186545>] do_vfs_ioctl+0x4e5/0x550 [<ffffffff815cdbcb>] ? _raw_spin_unlock_irq+0x2b/0x40 [<ffffffff81186603>] SyS_ioctl+0x53/0x80 [<ffffffff815ce2ce>] tracesys+0xd0/0xd5 Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 58a9014ae6422325f12d54b5dbb95531009ab70f Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Fri Oct 3 17:54:13 2014 +0200 ASoC: fsl_spdif: Remove unused includes of linux/clk-private.h Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ee042ec88022249b848306dd6e87ffd2fd88a839 Merge: 80ad99d 8e0e99b Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 08:40:37 2014 -0700 Merge tag 'md/3.17-final-fix' of git://neil.brown.name/md Pull raid5 discard fix from Neil Brown: "One fix for raid5 discard issue" * tag 'md/3.17-final-fix' of git://neil.brown.name/md: md/raid5: disable 'DISCARD' by default due to safety concerns. commit a2285b8c75bf7e21895f7c2cf75d6a910914517b Merge: bab4d75 9c0b8fd Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:44 2014 +0100 Merge remote-tracking branch 'spi/topic/xilinx' into spi-next commit bab4d751f70bcecdcaad56dad9785224a5a6f9db Merge: 899d81b db4fa45 468e0f4 6089af7 e221cc9 9593e61 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:42 2014 +0100 Merge remote-tracking branches 'spi/topic/pl022', 'spi/topic/pxa2xx', 'spi/topic/rspi', 'spi/topic/sh-msiof' and 'spi/topic/sirf' into spi-next commit 899d81b974ec7b3fd0f875c578bd91e89212742f Merge: 7020d76 90f90bb f62cacc a44619c 9f5b8b4 df59fa7 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:41 2014 +0100 Merge remote-tracking branches 'spi/topic/fsl-dspi', 'spi/topic/imx', 'spi/topic/mxs', 'spi/topic/omap-100k' and 'spi/topic/orion' into spi-next commit 7020d7697178afbb3fe579edb99afb05211e4bf1 Merge: 1fc8450 365a7bb 2be01d2 f7477c2 a310836 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:39 2014 +0100 Merge remote-tracking branches 'spi/topic/davinci', 'spi/topic/doc', 'spi/topic/dw' and 'spi/topic/fsl' into spi-next commit 1fc84503130927fae0b5e2f753f07a7192793223 Merge: 613c447 61d38b9 e67f04c a2cea98 a5b4b23 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:37 2014 +0100 Merge remote-tracking branches 'spi/topic/bcm53xx', 'spi/topic/cadence', 'spi/topic/checkpatch' and 'spi/topic/clps711x' into spi-next commit 613c44798f2ba41df8ac7635fab9ebba8118f834 Merge: ad71f40 f59838a Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:37 2014 +0100 Merge remote-tracking branch 'spi/topic/dma-dep' into spi-next commit ad71f40a834e6fe8877794230048551cc7ab8180 Merge: 62d02e4 c7908a3 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:37 2014 +0100 Merge remote-tracking branch 'spi/topic/core' into spi-next commit 62d02e41eaf08534203384ce5468e2d3ec337677 Merge: fe82dce a24e70c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Oct 3 16:33:35 2014 +0100 Merge remote-tracking branch 'spi/fix/rockchip' into spi-linus commit 80ad99da8bd213e12b925407f1c97a303aa8f87f Merge: 5858686 eee0815 Author: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Date: Fri Oct 3 08:31:14 2014 -0700 Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux Pull drm fixes from Dave Airlie: "Nothing too major or scary. One i915 regression fix, nouveau has a tmds regression fix, along with a regression fix for the runtime pm code for optimus laptops not restoring the display hw correctly" * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/nouveau: make sure display hardware is reinitialised on runtime resume drm/nouveau: punt fbcon resume out to a workqueue drm/nouveau: fix regression on original nv50 board drm/nv50/disp: fix dpms regression on certain boards drm/i915: Flush the PTEs after updating them before suspend commit 3afb57fa721f94206e642f8fda51f5a89dda3dfb Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Mon Sep 29 19:45:02 2014 -0700 hwmon: (ab8500) Call kernel_power_off instead of pm_power_off Drivers should not call pm_power_off directly; it is not guaranteed to be non-NULL. Call kernel_power_off instead. Cc: Jean Delvare <jdelvare@xxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit dd2f6c4481debfa389c1f2b2b1d5bd6449c42611 Author: David Howells <dhowells@xxxxxxxxxx> Date: Fri Oct 3 16:17:02 2014 +0100 X.509: If available, use the raw subjKeyId to form the key description Module signing matches keys by comparing against the key description exactly. However, the way the key description gets constructed got changed to be composed of the subject name plus the certificate serial number instead of the subject name and the subjectKeyId. I changed this to avoid problems with certificates that don't *have* a subjectKeyId. Instead, if available, use the raw subjectKeyId to form the key description and only use the serial number if the subjectKeyId doesn't exist. Reported-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 31d9f8faf9a54c851e835af489c82f45105a442f Author: Dmitry Lavnikevich <d.lavnikevich@xxxxxxxxxxxxxxxxx> Date: Fri Oct 3 16:18:56 2014 +0300 ASoC: tlv320aic3x: fix PLL D configuration Current caching implementation during regcache_sync() call bypasses all register writes of values that are already known as default (regmap reg_defaults). Same time in TLV320AIC3x codecs register 5 (AIC3X_PLL_PROGC_REG) write should be immediately followed by register 6 write (AIC3X_PLL_PROGD_REG) even if it was not changed. Otherwise both registers will not be written. This brings to issue that appears particulary in case of 44.1kHz playback with 19.2MHz master clock. In this case AIC3X_PLL_PROGC_REG is 0x6e while AIC3X_PLL_PROGD_REG is 0x0 (same as register default). Thus AIC3X_PLL_PROGC_REG also remains not written and we get wrong playback speed. In this patch snd_soc_read() is used to get cached pll values and snd_soc_write() (unlike regcache_sync() this function doesn't bypasses hardware default values) to write them to registers. Signed-off-by: Dmitry Lavnikevich <d.lavnikevich@xxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b2d9de549c30170eed5691d369cf16680e0ce03a Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Oct 3 15:32:40 2014 +0300 ASoC: dapm: Fix NULL pointer dereference when registering card with widgets Commit 0bd2ac3dae74 ("ASoC: Remove CODEC pointer from snd_soc_dapm_context") introduced regression to snd_soc_dapm_new_controls() when registering a card with card->dapm_widgets set. Call chain is: snd_soc_register_card() -> snd_soc_instantiate_card() -> snd_soc_dapm_new_controls() -> snd_soc_dapm_new_control() Null pointer dereference occurs since card->dapm context doesn't have associated component. Fix this by setting widget codec pointer conditionally. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 91401a34038e614076dbfb5c4969a052e72fb296 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Sep 30 00:20:46 2014 +0200 UBI: Fastmap: Calc fastmap size correctly We need to add fm_sb too. Signed-off-by: Richard Weinberger <richard@xxxxxx> Reviewed-by: Tanya Brokhman <tlinder@xxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit c8c5ebcc5e33a0ae65b6b1cba8d257d423f25da0 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Oct 2 14:12:34 2014 +0200 Documentation: charger: max14577: Update the date of introducing ABI Update the date of introducing max14577 charger's ABI (fast_charge_timer sysfs entry) to approximate date of kernel release which actually introduces this. The old date came from previous driver submissions. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a968bed78b549b4c61d4a46e59161fc1f60f96a6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Oct 1 20:38:17 2014 +0200 PM / clk: Fix crash in clocks management code if !CONFIG_PM_RUNTIME Unlike the clocks management code for runtime PM, the code used for system suspend does not check the pm_clock_entry.status field. If pm_clk_acquire() failed, ce->status will be PCE_STATUS_ERROR, and ce->clk will be a negative error code (e.g. 0xfffffffe = -2 = -ENOENT). Depending on the clock implementation, suspend or resume may crash with: Unable to handle kernel NULL pointer dereference at virtual address 00000026 (CCF clk_disable() has an IS_ERR_OR_NULL() check, while CCF clk_enable() only has a NULL check; pre-CCF implementations may behave differently) While just checking for PCE_STATUS_ERROR would be sufficient, it doesn't hurt to use the same state machine as is done for runtime PM, as this makes the two versions more similar, and eligible for a future consolidation. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0a6479b0ffad8dd236915e271faaf2cbb4cac287 Author: Geoff Levand <geoff@xxxxxxxxxxxxx> Date: Fri Aug 22 20:49:16 2014 +0100 arm64: Remove unneeded extern keyword Function prototypes are never definitions, so remove any 'extern' keyword from the funcion prototypes in cpu_ops.h. Fixes warnings emited by checkpatch. Signed-off-by: Geoff Levand <geoff@xxxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 0415447aa3b4decc2c05dfc45a0aa34a5eb4fc54 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Thu Oct 2 22:45:48 2014 +0200 Documentation: fix broken v4l-utils URL This replaces http://git.linuxtv.org/v4l-utils/ (broken link) by http://git.linuxtv.org/cgit.cgi/v4l-utils.git/ Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c8fdd497a44450e6183cb43b314fd81504d5c15e Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 10 09:26:19 2014 +0100 ARM64: make of_device_ids const of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. So mark the only non-const struct in arch/arm64 as const, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 7b345771ba921361b318e95bf21b257c65ac141c Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Oct 2 19:35:26 2014 -0400 Documentation: update include path for mpssd sysfs.c includes mpssd.h which includes virtio_ids.h. sysfs.c doesn't have the proper include flags set to use the latest headers, so this causes a build error if the system headers are too old. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Cc: rdunlap@xxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: sudeep.dutt@xxxxxxxxx Cc: nikhil.rao@xxxxxxxxx Cc: ashutosh.dixit@xxxxxxxxx Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Cc: harshavardhan.r.kharche@xxxxxxxxx Cc: caz.yokoyama@xxxxxxxxx Cc: dasaratharaman.chandramouli@xxxxxxxxx Cc: jkosina@xxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit cbe68a2bd092ff67575323f30a170d55df31f55f Merge: 77076c7 0b8db27 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Oct 3 15:46:02 2014 +0200 Merge back 'acpi-video' material for v3.18. commit f39cb1797ec1094b196d3dab44a7ca6060813d38 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 2 21:12:34 2014 +0200 PM / Domains: Rename cpu_data to cpuidle_data The "cpu_data" are defined for some archs and thus conflicting with the "cpu_data" member in the struct gpd_cpu_data. This causes a compiler error for those archs. Let's fix it by rename the member to cpuidle_data. In this context it also seems appropriate to rename the struct to gpd_cpuidle_data to better reflect its use. Fixes: f48c767ce895 (PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h) Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6f1293ff747ddcb696d546e3efcd31f7cc42b9a5 Merge: b1b12ba f9739d2 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Fri Oct 3 15:41:16 2014 +0200 Merge back cpufreq material for v3.18. commit f9739d27059d8fd7b64096ea7251608628b5bd30 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 26 15:33:46 2014 +0200 cpufreq: cpufreq-dt: fix potential double put of cpu OF node If cpufreq_generic_init() fails we jump into the resource cleanup path which contains a of_node_put() call. Another instance of this has already been called at that time resulting a double decrement of the refcount. Fix this by calling of_node_put() only after we are sure that nothing has gone wrong. Fixes: d2f31f1da54f "cpufreq: cpu0: Move per-cluster initialization code to ->init()" Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d24e0569e046430832d32eb3ea231dc763782e4d Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Fri Oct 3 08:38:06 2014 -0400 GFS2: Use gfs2_rbm_incr in rgblk_free This patch speeds up GFS2 unlink operations by using function gfs2_rbm_incr rather than continuously calculating the rbm. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit bbcf071969b20f356877c8067986be0a2dcaa2aa Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Sep 9 19:58:03 2014 +0530 cpufreq: cpu0: rename driver and internals to 'cpufreq_dt' The naming convention of this driver was always under the scanner, people complained that it should have a more generic name than cpu0, as it manages all CPUs that are sharing clock lines. Also, in future it will be modified to support any number of clusters with separate clock/voltage lines. Lets rename it to 'cpufreq_dt' from 'cpufreq_cpu0'. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 369283bfbd953a5d34c919746b3587737c0a47c8 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 2 10:37:21 2014 -0400 drm/radeon/kv: add uvd/vce info to dpm debugfs output Track whether UVD or VCE are enabled in debugfs. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3e15c35374305cea79ed73dec66143b569ee9204 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Oct 2 10:28:57 2014 -0400 drm/radeon/ci: add uvd/vce info to dpm debugfs output Track whether UVD or VCE are enabled in debugfs. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 831b6966a60fe72d85ae3576056b4e4e0775b112 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Sep 18 14:11:56 2014 +0200 drm/radeon: export reservation_object from dmabuf to ttm Adds an extra argument to radeon_bo_create, which is only used in radeon_prime.c. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 392a250bd080e296f97ccc7e91b051a6b5da0ff1 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Sep 25 12:39:38 2014 +0200 drm/radeon: cope with foreign fences inside the reservation object Not the whole world is a radeon! :-) Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a0e847641cd7239661ff1b39db0afb0e2992026f Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Sep 17 14:35:02 2014 +0200 drm/radeon: cope with foreign fences inside display Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 40b50e80c5ca78b3164d79d39b4889c4e58f462e Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Oct 3 11:53:28 2014 +0300 KEYS: handle error code encoded in pointer If hexlen is odd then function returns an error. Use IS_ERR to check for error, otherwise invalid pointer is used and kernel gives oops: [ 132.816522] BUG: unable to handle kernel paging request at ffffffffffffffea [ 132.819902] IP: [<ffffffff812bfc20>] asymmetric_key_id_same+0x14/0x36 [ 132.820302] PGD 1a12067 PUD 1a14067 PMD 0 [ 132.820302] Oops: 0000 [#1] SMP [ 132.820302] Modules linked in: bridge(E) stp(E) llc(E) evdev(E) serio_raw(E) i2c_piix4(E) button(E) fuse(E) [ 132.820302] CPU: 0 PID: 2993 Comm: cat Tainted: G E 3.16.0-kds+ #2847 [ 132.820302] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 132.820302] task: ffff88004249a430 ti: ffff880056640000 task.ti: ffff880056640000 [ 132.820302] RIP: 0010:[<ffffffff812bfc20>] [<ffffffff812bfc20>] asymmetric_key_id_same+0x14/0x36 [ 132.820302] RSP: 0018:ffff880056643930 EFLAGS: 00010246 [ 132.820302] RAX: 0000000000000000 RBX: ffffffffffffffea RCX: ffff880056643ae0 [ 132.820302] RDX: 000000000000005e RSI: ffffffffffffffea RDI: ffff88005bac9300 [ 132.820302] RBP: ffff880056643948 R08: 0000000000000003 R09: 00000007504aa01a [ 132.820302] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88005d68ca40 [ 132.820302] R13: 0000000000000101 R14: 0000000000000000 R15: ffff88005bac5280 [ 132.820302] FS: 00007f67a153c740(0000) GS:ffff88005da00000(0000) knlGS:0000000000000000 [ 132.820302] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 132.820302] CR2: ffffffffffffffea CR3: 000000002e663000 CR4: 00000000000006f0 [ 132.820302] Stack: [ 132.820302] ffffffff812bfc66 ffff880056643ae0 ffff88005bac5280 ffff880056643958 [ 132.820302] ffffffff812bfc9d ffff880056643980 ffffffff812971d9 ffff88005ce930c1 [ 132.820302] ffff88005ce930c0 0000000000000000 ffff8800566439c8 ffffffff812fb753 [ 132.820302] Call Trace: [ 132.820302] [<ffffffff812bfc66>] ? asymmetric_match_key_ids+0x24/0x42 [ 132.820302] [<ffffffff812bfc9d>] asymmetric_key_cmp+0x19/0x1b [ 132.820302] [<ffffffff812971d9>] keyring_search_iterator+0x74/0xd7 [ 132.820302] [<ffffffff812fb753>] assoc_array_subtree_iterate+0x67/0xd2 [ 132.820302] [<ffffffff81297165>] ? key_default_cmp+0x20/0x20 [ 132.820302] [<ffffffff812fbaa1>] assoc_array_iterate+0x19/0x1e [ 132.820302] [<ffffffff81297332>] search_nested_keyrings+0xf6/0x2b6 [ 132.820302] [<ffffffff810728da>] ? sched_clock_cpu+0x91/0xa2 [ 132.820302] [<ffffffff810860d2>] ? mark_held_locks+0x58/0x6e [ 132.820302] [<ffffffff810a137d>] ? current_kernel_time+0x77/0xb8 [ 132.820302] [<ffffffff81297871>] keyring_search_aux+0xe1/0x14c [ 132.820302] [<ffffffff812977fc>] ? keyring_search_aux+0x6c/0x14c [ 132.820302] [<ffffffff8129796b>] keyring_search+0x8f/0xb6 [ 132.820302] [<ffffffff812bfc84>] ? asymmetric_match_key_ids+0x42/0x42 [ 132.820302] [<ffffffff81297165>] ? key_default_cmp+0x20/0x20 [ 132.820302] [<ffffffff812ab9e3>] asymmetric_verify+0xa4/0x214 [ 132.820302] [<ffffffff812ab90e>] integrity_digsig_verify+0xb1/0xe2 [ 132.820302] [<ffffffff812abe41>] ? evm_verifyxattr+0x6a/0x7a [ 132.820302] [<ffffffff812b0390>] ima_appraise_measurement+0x160/0x370 [ 132.820302] [<ffffffff81161db2>] ? d_absolute_path+0x5b/0x7a [ 132.820302] [<ffffffff812ada30>] process_measurement+0x322/0x404 Reported-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 23aadb1fcda27e79a134ec35a7fb68f243269bcb Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Oct 1 18:00:26 2014 +0200 perf callchain: Move callchain_param to util object in to fix python test In following commit we changed the location of callchains data: 72a128aa083a7f4cc4f800718aaae05d9c698e26 perf tools: Move callchain config from record_opts to callchain_param Now all callchains stuff stays in callchain_param struct, which adds its dependency for evsel.c object and breaks python perf.so usage (unresolved callchain_param). Moving callchain_param into callchain.c and adding it into python-ext-sources unleash just another dependency hell, so I ended up adding callchain_param into util.c for now. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412179229-19466-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1ca72260e471a8b03f03fe9a6547deb088710042 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Oct 1 18:00:29 2014 +0200 perf kvm stat live: Use fdarray object instead of pollfd The reason is that we don't need to count the number of file descriptors because it's already handled in fdarray object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412179229-19466-5-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0cae013cf4450ea0ecb62241a2f3e7565db09f93 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Oct 1 18:00:28 2014 +0200 perf kvm stat live: Use perf_evlist__add_pollfd return fd position With the interface changed in following commit: 2171a9256862 tools lib fd array: Allow associating an integer cookie with each entry the perf_evlist__add_pollfd function now returns the fd position in the pollfd array. Hence we no longer need to count the fd position, because we get it as the return value. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412179229-19466-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fe636adda6caff6022e61b37202495dbf68e1410 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Oct 1 18:00:27 2014 +0200 perf kvm stat live: Fix perf_evlist__add_pollfd error handling With the interface changed in following commit: 2171a9256862 tools lib fd array: Allow associating an integer cookie with each entry the perf_evlist__add_pollfd function now returns the fd position in the pollfd array. We need to change this function's error check condition. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1412179229-19466-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b3f635ad6648d17178c3e2ab2f0a4823fcac1e83 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 15:45:22 2014 -0700 mmc, sdhci, bcm-kona, LLVMLinux: Remove use of __initconst The __initconst is in the wrong place, and when moved to the correct place it uncovers an error where the variable is used by non-init data structures. Instead merely make them const and put the const in the right spot. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Matt Porter <mporter@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a06586b62db5c63752e2e68daffec4baa275d594 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:33 2014 +0300 mmc: sdhci-pci: Fix Braswell eMMC timeout clock frequency Braswell eMMC host controller specifies an incorrect timeout clock frequncy in the capabilities registers. The correct value is 1 MHz. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f5fa92e58bce2cbcce99c2c5260c0b338a1ef201 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:32 2014 +0300 mmc: sdhci: Let a driver override timeout clock frequency Let a driver override the timeout clock frequency by populating it before calling sdhci_add_host(). Note the value will otherwise be zero because sdhci_host is zeroed when allocated. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ff59c520b5fec9733d5402fdfa76fa4435a40bba Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:31 2014 +0300 mmc: sdhci-pci: Add Bay Trail and Braswell SD card detect Add support for card detect for Bay Trail and Braswell SD Card host controllers in PCI mode. This uses the gpio descriptor API which can find gpio descriptors, for example, on an ACPI comapnion device. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8da4cc1b10c1aeba090d1d862b17174e4dbd50a4 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Fri Oct 3 14:13:36 2014 +0200 netfilter: nft_masq: register/unregister notifiers on module init/exit We have to register the notifiers in the masquerade expression from the the module _init and _exit path. This fixes crashes when removing the masquerade rule with no ipt_MASQUERADE support in place (which was masking the problem). Fixes: 9ba1f72 ("netfilter: nf_tables: add new nft_masq expression") Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e58e4a0d14a5b8b6ab2aa2942cb2440e45c1f8c9 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:30 2014 +0300 mmc: sdhci-pci: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel BYT host controllers Add quirk SDHCI_QUIRK2_STOP_WITH_TC for Intel BYT host controllers. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7147eaf3a4fe7e7dbb6e1f89e328ea0507e0c32c Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:29 2014 +0300 mmc: sdhci-acpi: Add a HID and UID for a SD Card host controller Add a HID (INT33BB) and UID (3) for a SD Card host controller. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 934e31b9dc848df56a65768388609358a1836ba0 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:28 2014 +0300 mmc: sdhci-acpi: Set SDHCI_QUIRK2_STOP_WITH_TC for Intel host controllers Add quirk SDHCI_QUIRK2_STOP_WITH_TC for Intel host controllers. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 615413979487a1e25a3b76abbaa316280ca19d26 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Wed Sep 24 10:27:27 2014 +0300 mmc: sdhci: Add quirk for always getting TC with stop cmd Add a quirk for a host controller that always sets a Transfer Complete interrupt status for the stop command even when a busy response is not indicated. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 08678b850cd0c49cc49c7fed0c93f720f85368e8 Author: Anders Berg <anders.berg@xxxxxxxxxxxxx> Date: Fri Oct 3 13:08:02 2014 +0200 i2c: axxia: Add I2C driver for AXM55xx Add I2C bus driver for the controller found in the LSI Axxia family SoCs. The driver implements 10-bit addressing and SMBus transfer modes via emulation (including SMBus block data read). Signed-off-by: Anders Berg <anders.berg@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit d1e9abd630fe66046087f6501a4e4b8de55f7ab9 Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Sep 17 06:12:36 2014 +0200 xen: eliminate scalability issues from initrd handling Size restrictions native kernels wouldn't have resulted from the initrd getting mapped into the initial mapping. The kernel doesn't really need the initrd to be mapped, so use infrastructure available in Xen to avoid the mapping and hence the restriction. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit bca9b6855888d978d6e5399b0a8a8ed9a11e9236 Author: Juergen Gross <jgross@xxxxxxxx> Date: Wed Sep 17 06:12:35 2014 +0200 xen: sync some headers with xen tree To be able to use an initially unmapped initrd with xen the following header files must be synced to a newer version from the xen tree: include/xen/interface/elfnote.h include/xen/interface/xen.h As the KEXEC and DUMPCORE related ELFNOTES are not relevant for the kernel they are omitted from elfnote.h. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 8ab85eba49c6f4ad67b65fb61104b912f86a1546 Author: Juergen Gross <jgross@xxxxxxxx> Date: Mon Sep 15 06:45:01 2014 +0200 xen: make pvscsi frontend dependant on xenbus frontend The pvscsi frontend driver requires the xenbus frontend driver. Reflect this in Kconfig. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> commit c2ba1f7d39ff4f3666f0fe0f9f55a41a81e745b6 Author: Julien Grall <julien.grall@xxxxxxxxxx> Date: Wed Sep 17 14:07:06 2014 -0700 arm{,64}/xen: Remove "EXPERIMENTAL" in the description of the Xen options The Xen ARM API is stable since Xen 4.4 and everything has been upstreamed in Linux for ARM and ARM64. Therefore we can drop "EXPERIMENTAL" from the Xen option in the both Kconfig. Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx commit 7921a11c7b2929f3ed6fe9081edcf695c60b23c6 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Sep 11 14:20:04 2014 +0100 xen-scsifront: don't deadlock if the ring becomes full scsifront_action_handler() will deadlock on host->host_lock, if the ring is full and it has to wait for entries to become available. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> commit 9766a1cfe5ef2042d1e604e2223629dc43307a21 Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Thu Oct 2 09:42:44 2014 -0700 ASoC: tegra: add mic detect gpio to tegra_max98090 Add an optional mic detect gpio property. If specified in device tree there will be a mic jack created for the given gpio. This will be used by the Tegra-based Chromebooks. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Reviewed-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6f4d2b3177ee3352e70c90f327e2dea3809c263e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Oct 2 17:36:05 2014 -0300 ASoC: sgtl5000: Do a sanity check on SYS_MCLK According to the sgtl5000 datasheet the valid range for SYS_MCLK is from 8 to 27 MHz. Add a sanity check prior to enabling SYS_MCLK. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fa558d0130debf847b6b8cd95880a2d7556770ac Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Oct 2 16:16:50 2014 -0300 ASoC: sgtl5000: Improve the error message on slave mode setting For sgtl5000 to operate in slave mode it can only work in "Synchronous SYS_MCLK input" mode. In this mode only the following rates can be supported: 256*Fs, 384*Fs, 512*Fs. Improve the error message to give a better indication as to why the clocking failed for slave mode: [ 12.515399] sgtl5000 1-000a: PLL not supported in slave mode [ 12.524124] sgtl5000 1-000a: 233 ratio is not supported. SYS_MCLK needs to be 256, 384 or 512 * fs [ 12.535938] sgtl5000 1-000a: ASoC: can't set sgtl5000 hw params: -22 Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a577483b6906b3d7aba9cc07e383682fc9b65318 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Fri Oct 3 09:55:07 2014 +0800 ASoC: rt286: Add depends on I2C rt286 use I2C as its I/O. So the driver can only available when I2C is selected. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a44619c31c203257fe9704e41c714f35d9990018 Author: Michael Heimpold <mhei@xxxxxxxxxxx> Date: Thu Oct 2 23:10:22 2014 +0200 spi: spi-mxs: fix a tiny typo in a comment Signed-off-by: Michael Heimpold <mhei@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2c2d831c81ec75a7b0d8e28caa8e3d9c1fe546f9 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Fri Oct 3 01:47:09 2014 -0700 [SCSI] uas: disable use of blk-mq I/O path The uas driver uses the block layer tag for USB3 stream IDs. With blk-mq we can get larger tag numbers that the queue depth, which breaks this assumption. A fix is under way for 3.18, but sits on top of large changes so can't easily be backported. Set the disable_blk_mq path so that a uas device can't easily crash the system when using blk-mq for SCSI. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 24cae7934cf1455c9793a95376a206ca6b965ade Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 28 11:18:49 2014 +0200 m68k: Reformat arch/m68k/mm/hwtest.c No functional changes Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit e4dc601bf99ccd1c95b7e6eef1d3cf3c4b0d4961 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 28 10:50:06 2014 +0200 m68k: Disable/restore interrupts in hwreg_present()/hwreg_write() hwreg_present() and hwreg_write() temporarily change the VBR register to another vector table. This table contains a valid bus error handler only, all other entries point to arbitrary addresses. If an interrupt comes in while the temporary table is active, the processor will start executing at such an arbitrary address, and the kernel will crash. While most callers run early, before interrupts are enabled, or explicitly disable interrupts, Finn Thain pointed out that macsonic has one callsite that doesn't, causing intermittent boot crashes. There's another unsafe callsite in hilkbd. Fix this for good by disabling and restoring interrupts inside hwreg_present() and hwreg_write(). Explicitly disabling interrupts can be removed from the callsites later. Reported-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1bcecfacde6269dc6cee9a098bc454222d441ff9 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 30 16:49:56 2014 +0200 drm/core: use helper to check driver features The patch replaces direct access to driver_features field by calls to helper function. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d0b7abb2c7c05552aca2a0358c53b6a48eab2843 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:11 2014 +1000 powerpc: Enable CONFIG_CRASH_DUMP=y for ppc64_defconfig It pulls in more code, including causing us to build a relocatable kernel, which is good for testing. The resulting kernel is still usable as a non-crash dump kernel. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit edcee77fef62c66db7b50c4883f5b0f94de9ae69 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:12 2014 +1000 powerpc/kdump: crash_dump.c needs to include io.h For __ioremap(). Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d3b94e4b3b22b9f95c4d6a5f0c7fcf9288309c20 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:10 2014 +1000 powerpc: Don't build powernv for other platform defconfigs Because powernv arrived after these other platforms, the defconfigs didn't have PPC_POWERNV disabled, and being default y it gets turned on. If we're going to bother having defconfigs for the specific platforms then they should only build the code required for those platforms. The grab bag of everything config is ppc64_defconfig. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8abf29f829de366b989b360af96b2ba871324ad6 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 19 17:25:22 2014 +0800 powerpc/pci: remove duplicate declaration of pci_bus_find_capability pci_bus_find_capability() is decleared in pci.h, so it is not necessary to do it again. This patch removes it. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Reviewed-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2828c9cdb8bd30f49c48210c014ccdd4cb994931 Merge: db985cb fae119b Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Oct 3 09:02:33 2014 +0200 Merge tag 'irqchip-core-3.18-2' of git://git.infradead.org/users/jcooper/linux into irq/core irqchip core changes for v3.18 (round 2) from Jason Cooper * atmel: - Add sama5d4 support - Correct # irqs for sama5d3 * broadcom: - Add bcm7120 l2 interrupt controller and DT binding * gic-v3: - Add CPU PM notifier - Add enable/disable support to gic_enable_redist commit ce87685128f3e0fced2aca9f73fc8cc67704ae11 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Wed Oct 1 16:07:04 2014 -0700 target: Add documentation on the target userspace pass-through driver Describes the driver and its interface to make it possible for user programs to back a LIO-exported LUN. Thanks to Richard W. M. Jones for review, and supplementing this doc with the first two paragraphs. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f14bb039a4e8206439d3e9abd92bc76bd142f243 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Wed Oct 1 16:07:03 2014 -0700 uio: Export definition of struct uio_device In order to prevent a O(n) search of the filesystem to link up its uio node with its target configuration, TCMU needs to know the minor number that UIO assigned. Expose the definition of this struct so TCMU can access this field. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 20959c4b4078847e629eed8918abb52bfe5f559a Author: Andy Grover <agrover@xxxxxxxxxx> Date: Wed Oct 1 16:07:02 2014 -0700 target: Remove unneeded check in sbc_parse_cdb The check of SCF_SCSI_DATA_CDB seems to be a remnant from before hch's refactoring of this function. There are no places where that flag is set that cmd->execute_cmd isn't also set. Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 69784fa539efa477f39b5a849c27d5e630e0db27 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 2 21:33:50 2014 -0700 Revert "serial/core: Initialize the console pm state" This reverts commit a86713b1536c818972675e6dd8c6e738f0379f1d. Kevin Hilman writes: Multiple boot failures on ARM[1] were bisected down to this patch. How was this patch tested, and on which platforms? Also, the changelog states that this should be done only for UART_CAP_SLEEP, but the patch does it for every UART. Greg, I suggest this patch be dropped from tty-next until it has been better described and tested. [1] http://lists.linaro.org/pipermail/kernel-build-reports/2014-October/005550.html Reported-by: Kevin Hilman <khilman@xxxxxxxxxx> Cc: Sudhir Sreedharan <ssreedharan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9410e0185e65394c0c6d046033904b53b97a9423 Author: Alexey Kardashevskiy <aik@xxxxxxxxx> Date: Thu Sep 25 16:39:18 2014 +1000 powerpc/iommu/ddw: Fix endianness rtas_call() accepts and returns values in CPU endianness. The ddw_query_response and ddw_create_response structs members are defined and treated as BE but as they are passed to rtas_call() as (u32 *) and they get byteswapped automatically, the data is CPU-endian. This fixes ddw_query_response and ddw_create_response definitions and use. of_read_number() is designed to work with device tree cells - it assumes the input is big-endian and returns data in CPU-endian. However due to the ddw_create_response struct fix, create.addr_hi/lo are already CPU-endian so do not byteswap them. ddw_avail is a pointer to the "ibm,ddw-applicable" property which contains 3 cells which are big-endian as it is a device tree. rtas_call() accepts a RTAS token in CPU-endian. This makes use of of_property_read_u32_array to byte swap and avoid the need for a number of be32_to_cpu calls. Cc: stable@xxxxxxxxxxxxxxx # v3.13+ Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> [aik: folded Anton's patch with of_property_read_u32_array] Signed-off-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Acked-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8acd91e8620836a56ff62028ed28ba629f2881a0 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 30 15:26:00 2014 +0200 locking/lockdep: Revert qrwlock recusive stuff Commit f0bab73cb539 ("locking/lockdep: Restrict the use of recursive read_lock() with qrwlock") changed lockdep to try and conform to the qrwlock semantics which differ from the traditional rwlock semantics. In particular qrwlock is fair outside of interrupt context, but in interrupt context readers will ignore all fairness. The problem modeling this is that read and write side have different lock state (interrupts) semantics but we only have a single representation of these. Therefore lockdep will get confused, thinking the lock can cause interrupt lock inversions. So revert it for now; the old rwlock semantics were already imperfectly modeled and the qrwlock extra won't fit either. If we want to properly fix this, I think we need to resurrect the work by Gautham did a few years ago that split the read and write state of locks: http://lwn.net/Articles/332801/ FWIW the locking selftest that would've failed (and was reported by Borislav earlier) is something like: RL(X1); /* IRQ-ON */ LOCK(A); UNLOCK(A); RU(X1); IRQ_ENTER(); RL(X1); /* IN-IRQ */ RU(X1); IRQ_EXIT(); At which point it would report that because A is an IRQ-unsafe lock we can suffer the following inversion: CPU0 CPU1 lock(A) lock(X1) lock(A) <IRQ> lock(X1) And this is 'wrong' because X1 can recurse (assuming the above lock are in fact read-lock) but lockdep doesn't know about this. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Cc: ego@xxxxxxxxxxxxxxxxxx Cc: bp@xxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140930132600.GA7444@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit debfab74e453f079cd8b12b0604387a8c510ef3a Author: Jason Low <jason.low2@xxxxxx> Date: Tue Sep 16 17:16:57 2014 -0700 locking/rwsem: Avoid double checking before try acquiring write lock Commit 9b0fc9c09f1b ("rwsem: skip initial trylock in rwsem_down_write_failed") checks for if there are known active lockers in order to avoid write trylocking using expensive cmpxchg() when it likely wouldn't get the lock. However, a subsequent patch was added such that we directly check for sem->count == RWSEM_WAITING_BIAS right before trying that cmpxchg(). Thus, commit 9b0fc9c09f1b now just adds overhead. This patch modifies it so that we only do a check for if count == RWSEM_WAITING_BIAS. Also, add a comment on why we do an "extra check" of count before the cmpxchg(). Signed-off-by: Jason Low <jason.low2@xxxxxx> Acked-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Aswin Chandramouleeswaran <aswin@xxxxxx> Cc: Chegu Vinod <chegu_vinod@xxxxxx> Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410913017.2447.22.camel@j-VirtualBox Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2291059c852706c6f5ffb400366042b7625066cd Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Sep 23 10:29:50 2014 -0400 locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read() Use the much more reader friendly ACCESS_ONCE() instead of the cast to volatile. This is purely a stylistic change. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-arch@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1411482607-20948-1-git-send-email-bobby.prani@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cc6cd47e7395bc05c5077009808b820633eb3f18 Author: Wei Huang <wei@xxxxxxxxxx> Date: Wed Sep 24 22:55:14 2014 -0500 perf/x86: Tone down kernel messages when the PMU check fails in a virtual environment PMU checking can fail due to various reasons. On native machine, this is mostly caused by faulty hardware and it is reasonable to use KERN_ERR in reporting. However, when kernel is running on virtualized environment, this checking can fail if virtual PMU is not supported (e.g. KVM on AMD host). It is annoying to see an error message on splash screen, even though we know such failure is benign on virtualized environment. This patch checks if the kernel is running in a virtualized environment. If so, it will use KERN_INFO in reporting, which reduces the syslog priority of them. This patch was tested successfully on KVM. Signed-off-by: Wei Huang <wei@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1411617314-24659-1-git-send-email-wei@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4f971248bc6ad2bb2a89a25a072ebfec5757d298 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Sep 22 15:27:06 2014 -0700 perf/x86/intel/uncore: Fix minor race in box set up I was looking for the trinity oops cause in the uncore driver. (so far didn't found it) However I found this tiny race: when a box is set up two threads on the same CPU, they may be setting up the box in parallel (e.g. with kernel preemption). This could lead to the reference count being increasing too much. Always recheck there is no existing cpu reference inside the lock. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1411424826-15629-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f10e00f4bf360c36edbe6bf18a6c75b171cbe012 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Tue Sep 30 12:23:37 2014 +0400 sched/dl: Use dl_bw_of() under rcu_read_lock_sched() rq->rd is freed using call_rcu_sched(), so rcu_read_lock() to access it is not enough. We should use either rcu_read_lock_sched() or preempt_disable(). Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Suggested-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Fixes: 66339c31bc39 "sched: Use dl_bw_of() under RCU read lock" Link: http://lkml.kernel.org/r/1412065417.20287.24.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 10a12983b3d437a6998b3845870e52c1c752c101 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Oct 1 01:04:44 2014 +0400 sched/fair: Delete resched_cpu() from idle_balance() We already reschedule env.dst_cpu in attach_tasks()->check_preempt_curr() if this is necessary. Furthermore, a higher priority class task may be current on dest rq, we shouldn't disturb it. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140930210441.5258.55054.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 347abad981c1ef815ea5ba861adba6a8c6aa1580 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Tue Sep 30 15:59:47 2014 -0400 sched, time: Fix build error with 64 bit cputime_t on 32 bit systems On 32 bit systems cmpxchg cannot handle 64 bit values, so some additional magic is required to allow a 32 bit system with CONFIG_VIRT_CPU_ACCOUNTING_GEN=y enabled to build. Make sure the correct cmpxchg function is used when doing an atomic swap of a cputime_t. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: umgwanakikbuti@xxxxxxxxx Cc: fweisbec@xxxxxxxxx Cc: srao@xxxxxxxxxx Cc: lwoodman@xxxxxxxxxx Cc: atheurer@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: linux390@xxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140930155947.070cdb1f@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 43f4d66637bc752e93a77ff2536474a5a3888442 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Wed Oct 1 15:38:55 2014 +0200 sched: Improve sysbench performance by fixing spurious active migration Since commit caeb178c60f4 ("sched/fair: Make update_sd_pick_busiest() ...") sd_pick_busiest returns a group that can be neither imbalanced nor overloaded but is only more loaded than others. This change has been introduced to ensure a better load balance in system that are not overloaded but as a side effect, it can also generate useless active migration between groups. Let take the example of 3 tasks on a quad cores system. We will always have an idle core so the load balance will find a busiest group (core) whenever an ILB is triggered and it will force an active migration (once above nr_balance_failed threshold) so the idle core becomes busy but another core will become idle. With the next ILB, the freshly idle core will try to pull the task of a busy CPU. The number of spurious active migration is not so huge in quad core system because the ILB is not triggered so much. But it becomes significant as soon as you have more than one sched_domain level like on a dual cluster of quad cores where the ILB is triggered every tick when you have more than 1 busy_cpu We need to ensure that the migration generate a real improveùent and will not only move the avg_load imbalance on another CPU. Before caeb178c60f4f93f1b45c0bc056b5cf6d217b67f, the filtering of such use case was ensured by the following test in f_b_g: if ((local->idle_cpus < busiest->idle_cpus) && busiest->sum_nr_running <= busiest->group_weight) This patch modified the condition to take into account situation where busiest group is not overloaded: If the diff between the number of idle cpus in 2 groups is less than or equal to 1 and the busiest group is not overloaded, moving a task will not improve the load balance but just move it. A test with sysbench on a dual clusters of quad cores gives the following results: command: sysbench --test=cpu --num-threads=5 --max-time=5 run The HZ is 200 which means that 1000 ticks has fired during the test. With Mainline, perf gives the following figures: Samples: 727 of event 'sched:sched_migrate_task' Event count (approx.): 727 Overhead Command Shared Object Symbol ........ ............... ............. .............. 12.52% migration/1 [unknown] [.] 00000000 12.52% migration/5 [unknown] [.] 00000000 12.52% migration/7 [unknown] [.] 00000000 12.10% migration/6 [unknown] [.] 00000000 11.83% migration/0 [unknown] [.] 00000000 11.83% migration/3 [unknown] [.] 00000000 11.14% migration/4 [unknown] [.] 00000000 10.87% migration/2 [unknown] [.] 00000000 2.75% sysbench [unknown] [.] 00000000 0.83% swapper [unknown] [.] 00000000 0.55% ktps65090charge [unknown] [.] 00000000 0.41% mmcqd/1 [unknown] [.] 00000000 0.14% perf [unknown] [.] 00000000 With this patch, perf gives the following figures Samples: 20 of event 'sched:sched_migrate_task' Event count (approx.): 20 Overhead Command Shared Object Symbol ........ ............... ............. .............. 80.00% sysbench [unknown] [.] 00000000 10.00% swapper [unknown] [.] 00000000 5.00% ktps65090charge [unknown] [.] 00000000 5.00% migration/1 [unknown] [.] 00000000 Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Reviewed-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1412170735-5356-1-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 728e5653e6fdb2a0892e94a600aef8c9a036c7eb Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Tue Sep 30 14:45:46 2014 -0700 sched/x86: Fix up typo in topology detection Commit: cebf15eb09a2 ("x86, sched: Add new topology for multi-NUMA-node CPUs") some code to try to detect the situation where we have a NUMA node inside of the "DIE" sched domain. It detected this by looking for cpus which match_die() but do not match NUMA nodes via topology_same_node(). I wrote it up as: if (match_die(c, o) == !topology_same_node(c, o)) which actually seemed to work some of the time, albiet accidentally. It should have been doing an &&, not an ==. This code essentially chopped off the "DIE" domain on one of Andrew Morton's systems. He reported that this patch fixed his issue. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Cc: Lan Tianyu <tianyu.lan@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Link: http://lkml.kernel.org/r/20140930214546.FD481CFF@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9c2b9d30e28559a78c9e431cdd7f2c6bf5a9ee67 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Sep 29 12:12:01 2014 +0200 perf: Fix perf bug in fork() Oleg noticed that a cleanup by Sylvain actually uncovered a bug; by calling perf_event_free_task() when failing sched_fork() we will not yet have done the memset() on ->perf_event_ctxp[] and will therefore try and 'free' the inherited contexts, which are still in use by the parent process. This is bad and might explain some outstanding fuzzer failures ... Suggested-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reported-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reported-by: Sylvain 'ythier' Hitier <sylvain.hitier@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Aaron Tomlin <atomlin@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Daeseok Youn <daeseok.youn@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140929101201.GE5430@worktop Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 211de6eba8960521e2be450a7d07db85fba4604c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 30 19:23:08 2014 +0200 perf: Fix unclone_ctx() vs. locking The idiot who did 4a1c0f262f88 ("perf: Fix lockdep warning on process exit") forgot to pay attention and fix all similar cases. Do so now. In particular, unclone_ctx() must be called while holding ctx->lock, therefore all such sites are broken for the same reason. Pull the put_ctx() call out from under ctx->lock. Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Probably-also-reported-by: Vince Weaver <vincent.weaver@xxxxxxxxx> Fixes: 4a1c0f262f88 ("perf: Fix lockdep warning on process exit") Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> Cc: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140930172308.GI4241@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 69e8f5b15ef43da1e177665a3e2063711ee4c9de Merge: 07394b5 281f92f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Oct 3 05:29:14 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: * Fix mmap return address truncation to 32-bit in 'perf trace'. (Chang Hyun Park) * Support operations for shared futexes. (Davidlohr Bueso) * Fix error message for --filter option not coming after tracepoint. (Arnaldo Carvalho de Melo) Infrastructure changes: * Refactor unit and scale function parameters for PMU parsing routines. (Matt Fleming) * Improve DSO long names lookup with rbtree, resulting in great speedup for workloads with lots of DSOs. (Waiman Long) * Fix build breakage on arm64 targets. (Will Deacon) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit afaebbdbd48ada5ead707d6a90ce4b604e1d77d4 Author: Feng Kan <fkan@xxxxxxx> Date: Thu Oct 2 11:24:15 2014 -0700 power: reset: corrections for simple syscon reboot driver This patch is to fix some bugs in reboot driver. Which includes auto selection of the MFD_SYSCON for the driver, use of container to locate restart handler, correction of the count down failure timer and ordering of the header file. Signed-off-by: Feng Kan <fkan@xxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> [ sre: return err instead of 0 in syscon_reboot_probe() ] Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit eee0815dabbdd7d584bea8275f5758d25c97cb9b Merge: 19318c0 91e5649 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Oct 3 11:38:16 2014 +1000 Merge tag 'drm-intel-fixes-2014-10-02' of git://anongit.freedesktop.org/drm-intel into drm-fixes final regression fix for 3.17. * tag 'drm-intel-fixes-2014-10-02' of git://anongit.freedesktop.org/drm-intel: drm/i915: Flush the PTEs after updating them before suspend commit 2374a5399b7263eb1afc6b5522a56ebf9f0b8636 Author: Naveen Krishna Ch <ch.naveen@xxxxxxxxxxx> Date: Tue Sep 16 15:03:17 2014 +0530 i2c: exynos: add support for HSI2C module on Exynos7 The HSI2C module on Exynos7 differs in the transfer status bits. Transfer status bits were moved to INT_ENABLE and INT_STATUS registers This patch adds support for the HSI2C module on Exynos7. 1. Implementes a "hw" field in the variant struct to distinguish the hardware. 2. Updates the dt-new compatible in dt-binding documenation Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 030f940a535433605e6b4ee43f36189e5cace022 Author: Janusz Użycki <j.uzycki@xxxxxxxxxxxxxx> Date: Tue Sep 23 12:48:26 2014 +0200 i2c: mxs: detect No Slave Ack on SELECT in PIO mode i2cdetect scanned i2c bus slow because the i2c-mxs driver ignored the NO_SLAVE_ACK bit during busy-waiting loop. Thanks to the patch, the speedup happens. Signed-off-by: Janusz Uzycki <j.uzycki@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 86b59bbfae2a895aa26b3d15f31b1a705dbfede1 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Mon Sep 29 17:00:51 2014 -0500 i2c: qup: Fix order of runtime pm initialization The runtime pm calls need to be done before populating the children via the i2c_add_adapter call. If this is not done, a child can run into issues trying to do i2c read/writes due to the pm_runtime_sync failing. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit cf27020d2f253bac6457d6833b97141030f0122a Author: Alexandru M Stan <amstan@xxxxxxxxxxxx> Date: Wed Oct 1 10:40:41 2014 -0700 i2c: rk3x: fix 0 length write transfers i2cdetect -q was broken (everything was a false positive, and no transfers were actually being sent over i2c). The way it works is by sending a 0 length write request and checking for NACK. This patch fixes the 0 length writes and actually sends them. Reported-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Alexandru M Stan <amstan@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Max Schwarz <max.schwarz@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Cc: stable@xxxxxxxxxx commit 52177937e9ac4573391143065b250403d3a6ae4b Author: Mark Tinguely <tinguely@xxxxxxx> Date: Fri Oct 3 09:09:50 2014 +1000 xfs: xfs_iflush_done checks the wrong log item callback Commit 3013683 ("xfs: remove all the inodes on a buffer from the AIL in bulk") made the xfs inode flush callback more efficient by combining all the inode writes on the buffer and the deletions of the inode log item from AIL. The initial loop in this patch should be looping through all the log items on the buffer to see which items have xfs_iflush_done as their callback function. But currently, only the log item passed to the function has its callback compared to xfs_iflush_done. If the log item pointer passed to the function does have the xfs_iflush_done callback function, then all the log items on the buffer are removed from the li_bio_list on the buffer b_fspriv and could be removed from the AIL even though they may have not been written yet. This problem is masked by the fact that currently all inodes on a buffer will have the same calback function - either xfs_iflush_done or xfs_istale_done - and hence the bug cannot manifest in any way. Still, we need to remove the landmine so that if we add new callbacks in future this doesn't cause us problems. Signed-off-by: Mark Tinguely <tinguely@xxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 24607f114fd14f2f37e3e0cb3d47bce96e81e848 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Oct 2 16:51:18 2014 -0400 ring-buffer: Fix infinite spin in reading buffer Commit 651e22f2701b "ring-buffer: Always reset iterator to reader page" fixed one bug but in the process caused another one. The reset is to update the header page, but that fix also changed the way the cached reads were updated. The cache reads are used to test if an iterator needs to be updated or not. A ring buffer iterator, when created, disables writes to the ring buffer but does not stop other readers or consuming reads from happening. Although all readers are synchronized via a lock, they are only synchronized when in the ring buffer functions. Those functions may be called by any number of readers. The iterator continues down when its not interrupted by a consuming reader. If a consuming read occurs, the iterator starts from the beginning of the buffer. The way the iterator sees that a consuming read has happened since its last read is by checking the reader "cache". The cache holds the last counts of the read and the reader page itself. Commit 651e22f2701b changed what was saved by the cache_read when the rb_iter_reset() occurred, making the iterator never match the cache. Then if the iterator calls rb_iter_reset(), it will go into an infinite loop by checking if the cache doesn't match, doing the reset and retrying, just to see that the cache still doesn't match! Which should never happen as the reset is suppose to set the cache to the current value and there's locks that keep a consuming reader from having access to the data. Fixes: 651e22f2701b "ring-buffer: Always reset iterator to reader page" Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 77d966f4b02179ad0b7b12179fedbd12b0c4f735 Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Thu Oct 2 23:32:07 2014 +0300 staging: emxx_udc: Use min_t instead of min Use min_t instead of min function in emxx_udc.c Fix checkpatch.pl warnings: WARNING: min() should probably be min_t(u32, iBufSize, ep->ep.maxpacket) WARNING: min() should probably be min_t(u32, data_size, ep->ep.maxpacket) WARNING: min() should probably be min_t(u16, udc->ctrl.wLength, sizeof(status_data)) Changes in v2: - Fixed min function call as min_t Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb71d24bdc3a212a497ff889f25f00c9a9e8546b Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Thu Oct 2 23:32:06 2014 +0300 staging: emxx_udc: Fix replace printk(KERN_DEBUG ..) with dev_dbg This patch fixes "Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG" checkpatch.pl warning in emxx_udc.c Changes in v2: - Fixed dev_debug function call as dev_dbg Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4571c4f6f61730c4f3624b6d3cb9ab042297949b Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Oct 2 22:02:20 2014 +0300 staging: media: Fixed else after return or break warning The following patch fixes the checkpatch.pl warning: drivers/staging/media/omap4iss/iss_csi2.c:811 warning: else is not generally useful after a break or return Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae357388c2b6e9fcdec04a9265968c666a57876b Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Thu Oct 2 22:09:47 2014 +0300 staging: media: omap4iss: Fixed else after return or break warning The following patch fixes the checkpatch.pl warning: drivers/staging/media/omap4iss/iss_ipipe.c:184 warning: else is not generally useful after a break or return Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5d16892243e7755da706d03b34da85ea6a74117 Merge: 3467e76 ad684dc f3354ab 421520b Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 21:47:02 2014 +0100 Merge branches 'fiq' (early part), 'fixes', 'l2c' (early part) and 'misc' into for-next commit 421520ba98290a73b35b7644e877a48f18e06004 Author: Yalin Wang <Yalin.Wang@xxxxxxxxxxxxxx> Date: Fri Sep 26 03:07:09 2014 +0100 ARM: 8167/1: extend the reserved memory for initrd to be page aligned This patch extends the start and end address of initrd to be page aligned, so that we can free all memory including the un-page aligned head or tail page of initrd, if the start or end address of initrd are not page aligned, the page can't be freed by free_initrd_mem() function. Signed-off-by: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 562c85cadb065e33ec9f651b8d41cdfd3054a5d0 Author: Yalin Wang <Yalin.Wang@xxxxxxxxxxxxxx> Date: Fri Sep 26 03:30:59 2014 +0100 ARM: 8168/1: extend __init_end to a page align address This patch changes the __init_end address to a page align address, so that free_initmem() can free the whole .init section, because if the end address is not page aligned, it will round down to a page align address, then the tail unligned page will not be freed. Signed-off-by: wang <yalin.wang2010@xxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit d4ac2cfea724d3874ce3f1f624bcd40e78b1a9d4 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Mon Sep 15 20:51:58 2014 +0200 ARM: DTS: meson: update DTSI to add watchdog node Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> commit f3354ab67476dc800463df32e33423158003d80b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Sep 26 09:01:58 2014 +0100 ARM: 8169/1: l2c: parse cache properties from ePAPR definitions When both 'cache-size' and 'cache-sets' are specified for a L2 cache controller node, parse those properties and set up the set size based on which type of L2 cache controller we are using. Update the L2 cache controller Device Tree binding with the optional 'cache-size', 'cache-sets', 'cache-block-size' and 'cache-line-size' properties. These come from the ePAPR specification. Using the cache size, number of sets and cache line size we can calculate desired associativity of the L2 cache. This is done by the calculation: set size = cache size / sets ways = set size / line size way size = cache size / ways = sets * line size associativity = cache size / way size Example output from the PB1176 DT that look like this: L2: l2-cache { compatible = "arm,l220-cache"; (...) arm,override-auxreg; cache-size = <131072>; // 128kB cache-sets = <512>; cache-line-size = <32>; }; Ends up like this: L2C OF: override cache size: 131072 bytes (128KB) L2C OF: override line size: 32 bytes L2C OF: override way size: 16384 bytes (16KB) L2C OF: override associativity: 8 L2C: DT/platform modifies aux control register: 0x02020fff -> 0x02030fff L2C-220 cache controller enabled, 8 ways, 128 kB L2C-220: CACHE_ID 0x41000486, AUX_CTRL 0x06030fff Which is consistent with the value earlier hardcoded for the PB1176 platform. This patch is an extended version based on the initial patch by Florian Fainelli. Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 1209bbdff2f6bbffa6eb5823033bbd7b8799a5e2 Author: Pavel Shilovsky <pshilovsky@xxxxxxxxx> Date: Thu Oct 2 20:13:35 2014 +0400 CIFS: Fix readpages retrying on reconnects If we got a reconnect error from async readv we re-add pages back to page_list and continue loop. That is wrong because these pages have been already added to the pagecache but page_list has pages that have not been added to the pagecache yet. This ends up with a general protection fault in put_pages after readpages. Fix it by not retrying the read of these pages and falling back to readpage instead. Fixes debian bug 762306 Signed-off-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> Signed-off-by: Steve French <smfrench@xxxxxxxxx> Tested-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx> commit 19e81573fca7b87ced7701e01ba164b968d929bd Author: Steve French <smfrench@xxxxxxxxx> Date: Thu Sep 25 01:26:55 2014 -0500 Fix problem recognizing symlinks Changeset eb85d94bd introduced a problem where if a cifs open fails during query info of a file we will still try to close the file (happens with certain types of reparse points) even though the file handle is not valid. In addition for SMB2/SMB3 we were not mapping the return code returned by Windows when trying to open a file (like a Windows NFS symlink) which is a reparse point. Signed-off-by: Steve French <smfrench@xxxxxxxxx> Reviewed-by: Pavel Shilovsky <pshilovsky@xxxxxxxxx> CC: stable <stable@xxxxxxxxxxxxxxx> #v3.13+ commit bc394a39cbbbce3e9672303d5c5fc3d7c7b93f19 Author: Sarah Khan <sarahjmi07@xxxxxxxxx> Date: Fri Oct 3 01:11:35 2014 +0530 staging: rtl8712: Fixed else not required after return WARNING: Else generally not required after return checkpatch.pl warning in hal_init.c Fixed by removing else Signed-off-by: Sarah Khan <sarahjmi07@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4eaef85670f347be2bf7431227fe2630598884a8 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Tue Sep 30 22:25:11 2014 +0300 staging: rtl8712: Fix missing blank line warning Fixes "Missing a blank line after declarations" checkpatch.pl warning in usb_ops_linux.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f654a7f25a95080d4cf0909c08d840ff0ac6998 Author: Feyza Yavuz <feyzaayavuz@xxxxxxxxx> Date: Wed Oct 1 21:29:52 2014 +0300 staging: rtl8192e: rtl8192e: Remove spaces before the semicolons Patch the following checkpatch.pl warnings drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c:232: warning: space prohibited before semicolon drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c:236: warning: space prohibited before semicolon Signed-off-by: Feyza Yavuz <feyzaayavuz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2e191ebfe9bf5ab4eeae03cd36cc4e3b31aade3 Author: Feyza Yavuz <feyzaayavuz@xxxxxxxxx> Date: Wed Oct 1 21:29:51 2014 +0300 staging: rtl8192e: rtl8192e: Remove unnecessary return statements Patch the following checkpatch.pl warnings drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c:304: warning: void function return statements are not generally useful drivers/staging/rtl8192e/rtl8192e/r8190P_rtl8256.c:83: warning: void function return statements are not generally useful Signed-off-by: Feyza Yavuz <feyzaayavuz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66abf01f1dc18068ca2a8677706aedfac386471d Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Wed Oct 1 00:21:54 2014 +0300 staging: rtl8192e: Remove unneeded void return Fixes "void function return statements are not generally useful"checkpatch.pl warning Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4dc5afdeffd16f1c8352aaf81a35562c62865e84 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Tue Sep 30 22:08:18 2014 +0300 staging: rtl8192e: Fix void function return statements style Fixes "void function return statements are not generally useful"checkpatch.pl warning in rtl819x_HTProc.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f08e47291879fb047d7d4464d2beaedfea4eb63 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Oct 2 12:00:54 2014 -0500 rtlwifi: Fix static checker warnings for various drivers Indenting errors yielded the following static checker warnings: drivers/net/wireless/rtlwifi/rtl8192ee/hw.c:533 rtl92ee_set_hw_reg() warn: add curly braces? (if) drivers/net/wireless/rtlwifi/rtl8192ee/hw.c:539 rtl92ee_set_hw_reg() warn: add curly braces? (if) An unreleased version of the static checker also reported: drivers/net/wireless/rtlwifi/rtl8723be/trx.c:550 rtl8723be_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8188ee/trx.c:621 rtl88ee_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8192ee/trx.c:567 rtl92ee_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8821ae/trx.c:758 rtl8821ae_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8723ae/trx.c:494 rtl8723e_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8192se/trx.c:315 rtl92se_rx_query_desc() warn: 'hdr' can't be NULL. drivers/net/wireless/rtlwifi/rtl8192ce/trx.c:392 rtl92ce_rx_query_desc() warn: 'hdr' can't be NULL. All of these are fixed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 989377e1cc9e713822d148d2e638d6c63d8a94b1 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Oct 2 12:00:53 2014 -0500 rtlwifi: Fix Kconfig for RTL8192EE The driver needs btcoexist, but Kconfig fails to select it. This omission could cause build errors for some configurations. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e2cba8d7590e76661e86f1f0987ef9f8c13c9a6d Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:20 2014 +0530 ath9k: Fix flushing in MCC mode When we are attempting to switch to a new channel context, the TX queues are flushed, but the mac80211 queues are not stopped and traffic can still come down to the driver. This patch fixes it by stopping the queues assigned to the current context/vif before trying to flush. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5ba8d9d2f018f2c4e23f9e68b90ca5b9d5470457 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:19 2014 +0530 ath9k: Fix queue handling for channel contexts When a full chip reset is done, all the queues across all VIFs are stopped, but if MCC is enabled, only the queues of the current context is awakened, when we complete the reset. This results in unfairness for the inactive context. Since frames are queued internally in the driver if there is a context mismatch, we can awaken all the queues when coming out of a reset. The VIF-specific queues are still used in flow control, to ensure fairness when traffic is high. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a064eaa10ca4ec58d5a405c9a7f87efc6d2fa423 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:18 2014 +0530 ath9k: Add ath9k_chanctx_stop_queues() This can be used when the queues of a context needs to be stopped. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b39031536aab9cb1324328cf46fa4ef940bd975f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:17 2014 +0530 ath9k: Pass context to ath9k_chanctx_wake_queues() Change the ath9k_chanctx_wake_queues() API so that we can pass the channel context that needs its queues to be stopped. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4f82eecf73019c27537f65c160e90385e159afd8 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:16 2014 +0530 ath9k: Fix queue handling in flush() When draining of the TX queues fails, a full HW reset is done. ath_reset() makes sure that the queues in mac80211 are restarted, so there is no need to wake them up again. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 60913f4d2951f6410eed969aae4717c7ced37044 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:15 2014 +0530 ath9k: Remove duplicate code ath9k_has_tx_pending() can be used to check if there are pending frames instead of having duplicate code. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fc1314c75e0558c03cb434e2af2c257caa201e76 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:14 2014 +0530 ath9k: Fix pending frame check Checking for the queue depth outside of the TX queue lock is incorrect and in this case, is not required since it is done inside ath9k_has_pending_frames(). Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b736728575af03488388e84fceac7bf0eac5dbb6 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:13 2014 +0530 ath9k: Check pending frames properly There is no need to check if the current channel context has active ACs queued up if the TX queue is not empty. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4b60af4ab4363bd79eeba94bb6bed396cf2aaf62 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Thu Oct 2 06:33:12 2014 +0530 ath9k: Print RoC expiration Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 739e4a758e0e2930f4bcdddd244254bae8dd7499 Merge: d068b02 50dddff Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 2 11:25:43 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: drivers/net/usb/r8152.c net/netfilter/nfnetlink.c Both r8152 and nfnetlink conflicts were simple overlapping changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 030bb75a1db4030a5ce91e93b82e00966e8b6522 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Oct 1 10:55:26 2014 -0700 mwifiex: add support for SD8887 chipset This patch adds SD8887 support to mwifiex. SD8887 is Marvell's 1x1 11ac solution. The corresponding firmware image file is located at: "mrvl/sd8887_uapsta.bin" Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Frank Huang <frankh@xxxxxxxxxxx> Signed-off-by: Nishant Sarmukadam <nishants@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 554a0113ccb149e3d04ceb608114a3425c507f00 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Oct 1 10:55:25 2014 -0700 mwifiex: few more register offset entries for sdio card structure This patch adds some more defitions to card specific register structure and removes static defines for these registers. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dba4b74d2da8798626e2b702ad3f452671e335f7 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Oct 1 15:05:25 2014 +0300 wil6210: atomic I/O for the card memory Introduce netdev IOCTLs, to be used by the debug tools. Allows to read/write single dword value or memory block, aligned to dword Different address modes supported: - BAR offset - Firmware "linker" address - target's AHB bus Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c33407a8c50430f1634a8809f9528b6888360e56 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Oct 1 15:05:24 2014 +0300 wil6210: manual FW error recovery mode Introduce manual FW recovery mode. It is activated if module parameter @no_fw_recovery set to true. May be changed at runtime. Recovery information provided by new "recovery" debugfs file. It prints: mode = [auto|manual] state = [idle|pending|running] In manual mode, after FW error, recovery won't start automatically. Instead, after notification to user space, recovery waits in "pending" state, as indicated by the "recovery" debugfs file. User space tools may perform data collection and allow to continue recovery by writing "run" to the "recovery" debugfs file. Alternatively, recovery pending may be canceled by stopping network interface i.e. 'ifconfig wlan0 down' Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e6664dff0608440f117b0348594b887cb9725e4f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Sep 27 13:27:45 2014 +0530 ath: Add support for tracing Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5dc0158a27f65e7efaa6e3cc496d93b4c4c65d19 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Fri Sep 19 16:46:05 2014 +0530 ASoC: Export dapm_kcontrol_get_value The DSP driver needs to know widget control value in its event handler for widgets like mixers. This is required in the subsequent patches Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f6cd071891c5c7971866fda8340202b73ce35206 Merge: 574a793 9c238ca Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Thu Oct 2 13:56:19 2014 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 78410af51146796f783925009c8676a30d6c6d90 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Oct 2 10:32:15 2014 -0400 tile: add clock_gettime support to vDSO This change adds support for clock_gettime with CLOCK_REALTIME and CLOCK_MONOTONIC using vDSO. It also updates the vdso struct nomenclature used for the clocks to match the x86 code to keep it easier to update going forward. We also support the *_COARSE clockid_t, for apps that want speed but aren't concerned about fine-grained timestamps; this saves about 20 cycles per call (see http://lwn.net/Articles/342018/). Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Acked-by: John Stultz <john.stultz@xxxxxxxxxx> commit f439ed27f8b8b90d243ae15acb193d37f96eebe0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Oct 2 13:53:24 2014 +0200 kvm: do not handle APIC access page if in-kernel irqchip is not in use This fixes the following OOPS: loaded kvm module (v3.17-rc1-168-gcec26bc) BUG: unable to handle kernel paging request at fffffffffffffffe IP: [<ffffffff81168449>] put_page+0x9/0x30 PGD 1e15067 PUD 1e17067 PMD 0 Oops: 0000 [#1] PREEMPT SMP [<ffffffffa063271d>] ? kvm_vcpu_reload_apic_access_page+0x5d/0x70 [kvm] [<ffffffffa013b6db>] vmx_vcpu_reset+0x21b/0x470 [kvm_intel] [<ffffffffa0658816>] ? kvm_pmu_reset+0x76/0xb0 [kvm] [<ffffffffa064032a>] kvm_vcpu_reset+0x15a/0x1b0 [kvm] [<ffffffffa06403ac>] kvm_arch_vcpu_setup+0x2c/0x50 [kvm] [<ffffffffa062e540>] kvm_vm_ioctl+0x200/0x780 [kvm] [<ffffffff81212170>] do_vfs_ioctl+0x2d0/0x4b0 [<ffffffff8108bd99>] ? __mmdrop+0x69/0xb0 [<ffffffff812123d1>] SyS_ioctl+0x81/0xa0 [<ffffffff8112a6f6>] ? __audit_syscall_exit+0x1f6/0x2a0 [<ffffffff817229e9>] system_call_fastpath+0x16/0x1b Code: c6 78 ce a3 81 4c 89 e7 e8 d9 80 ff ff 0f 0b 4c 89 e7 e8 8f f6 ff ff e9 fa fe ff ff 66 2e 0f 1f 84 00 00 00 00 00 66 66 66 66 90 <48> f7 07 00 c0 00 00 55 48 89 e5 75 1e 8b 47 1c 85 c0 74 27 f0 RIP [<ffffffff81193045>] put_page+0x5/0x50 when not using the in-kernel irqchip ("-machine kernel_irqchip=off" with QEMU). The fix is to make the same check in kvm_vcpu_reload_apic_access_page that we already have in vmx.c's vm_need_virtualize_apic_accesses(). Reported-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Tested-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Fixes: 4256f43f9fab91e1c17b5846a240cf4b66a768a8 Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 12636551a2d9361e188c8fe280d2a3d90bac4e35 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Tue Sep 30 21:35:59 2014 +0300 staging: rtl8712: Fix unnecessary parentheses style warning This fixes the following checkpatch.pl warning: drivers/staging/rtl8712/rtl871x_recv.c:634 warning: Unnecessary parentheses - maybe == should be = ? Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 042b623cf57a7c381326bdfe1db046e9b0b8517f Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Tue Sep 30 20:43:16 2014 +0300 staging: rtl8192e: Fix unnecessary space before function pointer arguments This patch fixes these warning messages found by checkpatch.pl: WARNING: Unnecessary space before function pointer arguments Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84780ecdf6c46909c6a4f06635c953f8d8d635f7 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Tue Sep 30 20:43:15 2014 +0300 staging: rtl8192e: Array was made static const char * const This patch fixes checkpatch.pl error in file rtllib.h WARNING: static const char * array should probably be static const char * const Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1ffa894cd35c402d41c4a12d7eaaaf69d7bfb3e Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 20:32:08 2014 +0300 staging: ft1000: ft1000-usb: Removed unnecessary else statement. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in ft1000_download.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c89e6be7118da01b3e4b7cf44c0f06ab42cbe2d9 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 20:32:07 2014 +0300 staging: ft1000: ft1000-usb: Removed unnecessary else statement. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in ft1000_hw.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3636ce82dbec023a775246a2d395744ed1f03f07 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 20:32:06 2014 +0300 staging: ft1000: ft1000-usb: Removed unnecessary parentheses. This patch fixes "Unnecessary parentheses" checkpatch.pl warning in ft1000_hw.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6254e1c06231259357b811c934ded22a2fd9f763 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 20:32:05 2014 +0300 staging: ft1000: ft1000-usb: Added new line after declarations. This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in ft1000_hw.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dab5aeebdd040f4efbc1cd111fe38bb8905d26c7 Author: Esra Altintas <es.altintas@xxxxxxxxx> Date: Mon Sep 29 21:55:06 2014 +0300 staging: vt6655: Fixed C99 // comment errors in wpactl.c The following patch fixes the checkpatch.pl warning: ERROR: do not use C99 // comments Signed-off-by: Esra Altintas <es.altintas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f79b0d9c223ca09cefffc72304a7bcbc401a1c6f Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Wed Oct 1 01:24:01 2014 +0300 staging: speakup: Fixed warning <linux/serial.h> instead of <asm/serial.h> This patch fixes warning: 'use <linux/serial.h> instead <asm/serial.h>' found by checkpatch Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a9c77d8c882f04a147c2a75bbc2a1fd9b63a66a Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Wed Oct 1 01:36:29 2014 +0300 staging: speakup: Fix missing blank line warning Fixes "Missing a blank line after declarations" checkpatch.pl warning in varhandlers.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07f113b5d5a86bb5398b7b513b2ff160039d7798 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Thu Oct 2 18:20:35 2014 +0300 staging: rts5208: remove unnecessary else This fixes the checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4525284742fe11426da23d8d0eb4946ed84d84be Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Thu Oct 2 18:20:34 2014 +0300 staging: rts5208: remove unnecessary else This fixes the checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4dae2a4fcafcbea0f5787e2dcab2ec808f21e29d Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Wed Oct 1 00:31:06 2014 +0300 staging: rts5208: Remove unneeded void return Fixes "void function return statements are not generally useful"checkpatch.pl warning Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb0f20a7e871743380b2cbaaf35281775567e88c Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Mon Sep 29 21:28:02 2014 +0300 staging: rts5208: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in rtsx_scsi.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e245b904186b3514e4e2eec0d58ad6b095c5daab Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Oct 2 15:59:19 2014 +0530 Staging: iio: adc: Update Kconfig entries adding module name information This patch fixes the following checkpatch.pl warning: WARNING: please write a paragraph that describes the config symbol fully Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e4b49234d7da14933ca7ad07cb6a938406c7342 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Oct 2 11:20:20 2014 +0530 Staging: iio: adc: Add missing blank line This fixes following checkpatch.pl warningi: WARNING: Missing a blank line after declarations Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97088bb3f7adf55a38e03fc0050beb77a676bf33 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Oct 2 02:35:38 2014 +0300 staging: iio: resolver: Annotate Kconfig entries with module name information This fixes the following checkpatch.pl warning: WARNING: please write a paragraph that describes the config symbol fully Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa27f0ba0fac819083c505c85021dc19d2b53083 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Wed Oct 1 00:09:11 2014 +0300 staging: iio: addac: Combined seperated strings. This patch fixes "quoted string split across lines" checkpatch.pl warning in adt7316.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 042e0e463c48765692fa4813a9a26748ca1b1917 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Wed Oct 1 00:09:10 2014 +0300 staging: iio: accel: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in adis16220_core.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e09b142e2b43f151f795579e6dbf1a3db0e74403 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 30 23:04:59 2014 +0530 Staging: iio: meter: Remove space before start of line This patch removes spaces before start of the line reported by checkpatch.pl Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8594e07c3c7fa08969e97c926c6826eaa94401e6 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 30 23:04:58 2014 +0530 Staging: iio: meter: Delete white spaces to make line shorter Found using checkpatch warning. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1592bfd203dc07dc1d58e7849402ef46d09f42dd Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 30 20:22:56 2014 +0530 Staging: iio: meter: Add blank line after declarations This patch adds a blank line after declarations found by checkpatch warning. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6f0a3ab16a050c2572f6e81e1199d442d8ead9d Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 30 20:22:57 2014 +0530 Staging: iio: meter: Add blank line after declarations. This patch adds a blank line after declarations to fix checkpatch warning. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0604719c956c5be3964558b990c025746b736b8 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 30 20:22:58 2014 +0530 Staging: iio: meter: Add a blank line after declarations Patch fixes warning and adds a blank line after declarations Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15c643661bf65176efd8349f0ad2bf096b915da1 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Tue Sep 30 12:36:29 2014 +0300 staging: iio: addac: remove unnecessary else This fixes the checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61e15f010e4a3647043e55e41f60197ba4aa9b4f Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 22:12:23 2014 +0300 staging: octeon: Combined seperate strings. This patch fixes "quoted string split across lines" checkpatch.pl warning in ethernet-rx.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42e0e19d5d5877ea6507aafcd8ff59c1fe6e2f59 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 22:12:22 2014 +0300 staging: octeon: Combined seperate strings. This patch fixes "quoted string split across lines" checkpatch.pl warning in ethernet-rgmii.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56e1ccac5fe3bcd106fd04b86e18b1e4ec35ea82 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 14:39:51 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it was not used by other files. The patch fixes the warning: WARNING: symbol 'brw_fill_bulk' was not declared. Should it be static? The above warning was reported by sparse. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43311238ce5864a8b01d35931d63da14044a2c0d Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 14:39:02 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it was not used by other files. The patch fixes the warning: WARNING: symbol 'brw_check_page' was not declared. Should it be static? The above warning was reported by sparse. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e3e133d2ec87e9c0b82d338e4491f766c1113b1 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 14:38:17 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it was not used by other files. The patch fixes the warning: WARNING: symbol 'brw_fill_page' was not declared. Should it be static? The above warning was reported by sparse. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4b2d88a08c64fd57ff93a0f21db87d4c7c35bac Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 14:37:36 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it is not used by other files. The patch fixes the following warning: WARNING: symbol brw_inject_one_error was not declared. Should it be static? The above warning was reported by sparse. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5bd05041631f6045130224eba1f50ef1c269826 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 14:36:27 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it was not used by other files. The patch fixes the following warning: WARNING: symbol brw_client_init was not declared. Should it be static? The above warning was reported by sparse. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28f54a86138fbc331083a3c11eab59996549f6d8 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Oct 1 13:39:28 2014 +0530 Staging: lustre: lnet: selftest: Made a function static. The following patch makes a function static as it was not used by other files and not declared in the same file. It fixes the following warning: WARNING: symbol 'lstcon_init_acceptor_service' was not declared. Should it be static? The above warning was given by sparse. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4de8e0d8171a6657c748e15914abbf60846c5ace Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 21:59:20 2014 +0300 staging: lustre: include: linux: libcfs: linux: Removed line continuations. This patch fixes "Avoid unnecessary line continuations" checkpatch.pl warning in linux-time.h Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa44eae464430475334264e3045d42b708c5a6d7 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 21:59:21 2014 +0300 staging: lustre: include: linux: libcfs: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning libcfs.h Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2ad80e45b8170f0cb332aaa6e51b9596282bb38 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Tue Sep 30 21:59:19 2014 +0300 staging: lustre: include: linux: libcfs: linux: Used "linux" instead of "asm". This patch fixes "Use #include <linux/uaccess.h> instead of <asm/uaccess.h"> checkpatch.pl warning in libcfs.h Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bcb5bd899dbd2704e063608af01d529aae8d693 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:03:12 2014 +0530 staging: lustre: lustre: obdclass: linux: include <linux/*.h> instead of <asm/*.h> This patch fixes checpatch.pl warning in linux-module.c file. WARNING: Use #include <linux/io.h> instead of <asm/io.h> WARNING: Use #include <linux/poll.h> instead of <asm/poll.h> WARNING: Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b7566d9dfb1c6f05d7390ddf42b449a2b36bad5 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:02:46 2014 +0530 staging: lustre: lnet: lnet: Remove space between function name and open paranthesis '(' This patch fixes checpatch.pl warning in api-ni.c file. WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c1d2535db8f1490d9e4aa9c8e0297daa6d05c31 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:02:23 2014 +0530 staging: lustre: lnet: lnet: Remove unnecessary else after return This patch fixes checpatch.pl warning in acceptor.c file. WARNING: else is not generally useful after a break or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f12ebb3911d742e5c217df52b3f1a3c224f566f9 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:01:59 2014 +0530 staging: lustre: include: linux: libcfs: Remove spaces at the start of a line This patch fixes checpatch.pl warning in file libcfs_cpu.h WARNING: please, no spaces at the start of a line Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84dd801ef2ec6dceefbcfd917b90cb83b036fd56 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:01:39 2014 +0530 staging: lustre: include: linux: libcfs: Remove intialization of static to 0 This patch fixes checpatch.pl error in file libcfs_time.h ERROR: do not initialise statics to 0 or NULL Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd9176527e78ad9358fcf76011bbede0eb4974f8 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 29 16:01:14 2014 +0530 staging: lustre: include: linux: libcfs: use __packed instead of __attribute__((packed)) This patch fixes checpatch.pl warning in libcfs_debug.h file. WARNING: __packed is preferred over __attribute__((packed)) Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7b33ff4031fe72319228e572f43ddcd8f19af7c Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:51 2014 -0400 staging: unisys: Fix CamelCase in uislib_force_channel_interrupt() Fix CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0dd33f34c2417fb9c3da7d1abcbaed91da92cfc Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:50 2014 -0400 staging: unisys: Fix CamelCase in uislib_disable_channel_interrupts() Fix CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93d1304fed13b05f39ccfbed2e60f4d06d4584dc Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:49 2014 -0400 staging: unisys: Fix CamelCase in uislib_enable_channel_interrupts() Fix CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ec8599769aea5ca2ae471f74ec5b1fd3c3cf9ef Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:48 2014 -0400 staging: unisys: Fix CamelCase in Issue_VMCALL_FATAL_BYE_BYE() Fix Camelcase name: Issue_VMCALL_FATAL_BYE_BYE => issue_vmcall_fatal Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b591ebf220e5dbf60ca8854337030c4d56520e99 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:47 2014 -0400 staging: unisys: Fix CamelCase in Issue_VMCALL_CHANNEL_MISMATCH() Fix CamelCase names: Issue_VMCALL_CHANNEL_MISMATCH => issue_vmcall_channel_mismatch ChannelName => chname ItemName => item_name SourceLineNumber => line_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8fd990204db5e3c87b15e8641417cff31b56f94 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:46 2014 -0400 staging: unisys: Fix CamelCase in Issue_VMCALL_UPDATE_PHYSICAL_TIME() Fix CamelCase names: Issue_VMCALL_UPDATE_PHYSICAL_TIME => issue_vmcall_update_physical_time Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f06ae67c5ffc6a7c9810729ac1b679a4ebe01cf3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:45 2014 -0400 staging: unisys: fix CamelCase in Issue_VMCALL_MEASUREMENT_DO_NOTHING() Fix CamelCase names: Issue_VMCALL_MEASUREMENT_DO_NOTHING => issue_vmcall_measurement_do_nothing Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e76446ea633e8bece4a06ab3e33e7c5681142690 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:44 2014 -0400 staging: unisys: fix Issue_VMCALL_QUERY_GUEST_VIRTUAL_TIME_OFFSET() Fix CamelCase names: Issue_VMCALL_QUERY_GUEST_VIRTUAL_TIME_OFFSET => issue_vmcall_query_guest_virtual_time_offset Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8359367ed9373a69343c5b97b5f4beef636635ca Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:43 2014 -0400 staging: unisys: Fix CamelCase in Issue_VMCALL_IO_VISORSERIAL_ADDR() Fix CamelCase names: Issue_VMCALL_IO_VISORSERIAL_ADDR => issue_vmcall_io_visorserial_addr DiagChannelAddress => channel_addr Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 007ef59b1e6a67a46d67d6a92c8c4b96dc6dd1ba Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:42 2014 -0400 staging: unisys: Fix CamelCase Issue_VMCALL_IO_DIAG_ADDR() Fix CamelCase names: Issue_VMCALL_IO_DIAG_ADDR => issue_vmcall_io_diag_addr DiagChannelAddress => diag_channel_addr Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74658c562132d411a5ac4af118eafcc450493d26 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:41 2014 -0400 staging: unisys: Fix CamelCase in Issue_VMCALL_IO_CONTROLVM_ADDR() Fix CamelCase names: Issue_VMCALL_IO_CONTROLVM_ADDR => issue_vmcall_io_controlvm_addr ControlAddress => control_addr ControlBytes => control_bytes Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03ec49dcdafe9c55ab871e0abaf5c1ac4247d832 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:27 2014 -0400 staging: unisys: fix CamelCase in uisctrl_register_req_handler Fix CamelCase names: chipset_driverInfo => chipset_driver_info Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eea94b3a3f449e17325f0cc271631ed27445e1e3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:17 2014 -0400 staging: unisys: get rid of typedef for EVENT_PC Just switch EVENT_PC over to enum event_pc. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 765efdb9170263a1fa202d873e15bfbbf1ec6a86 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:16 2014 -0400 staging: unisys: get rid of typedef for DRIVER_PC Simply switch DRIVER_PC to enum driver_pc. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ecf6d2a3b623dfdc527a1bd276d84b1674d1a9f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:15 2014 -0400 staging: unisys: remove doubled blank lines in guestlinuxdebug.h Take out those doubled blank lines in guestlinuxdebug.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 534429dbb9a4d0ff4fad2617dda2a19ee71365a8 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:14 2014 -0400 staging: unisys: fix CamelCase in bus_device_info_init() Fix CamelCase names: BusDeviceInfo_Init => bus_device_info_init pBusDeviceInfo => bus_device_info_ptr deviceType => dev_type driverName => driver_name verTag => ver_tag Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a56db94c7e07d275f61472f5b06b100638d3375d Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:13 2014 -0400 staging: unisys: fix copyright symbol in vbushelper.h The copyright character in vbushelper.h isn't UTF-8 - swap it out for a good, old-fashioned (C). Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 191126ac505e09e58608b040ac901b62fe11f0f2 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:12 2014 -0400 staging: unisys: fix line spacing in uniklog.h Take out the doubled blank lines in uniklog.h, too. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d559f2cf4d16f162ca8d35df42d41bce97c82de5 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:11 2014 -0400 staging: unisys: remove excess blank lines in uisthread.h Take out those doubled blank lines in uisthread.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62dd4cf01a99ad77f0e39c12b2240143d5ededb3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:10 2014 -0400 staging: unisys: fix up CamelCase in struct init_chipset_guestpart Fix up CamelCase names: busCount => bus_count switch_count => switch_count Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8bd352ef0a71432a17dffa6bfe87b46db86d1546 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:09 2014 -0400 staging: unisys: clean up CamelCase names in struct add_virt_guestpart Clean up CamelCase names: busNo => bus_no deviceNo => device_no devInstGuid => instance_uuid Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a990356d21a6032d49441472f1e2240ba6325cf7 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:08 2014 -0400 staging: unisys: fix CamelCase in struct del_vbus_guestpart Fix up CamelCase names: busNo => bus_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0014c3ccdab1441972bfa6d8296e0c3bf61ad854 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:06 2014 -0400 staging: unisys: fix CamelCase definitions in struct io_msgs Clean up CamelCase names: extPort => ext_port Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7867499b13d6f79aa8e873a417331d427eb75f9f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:05 2014 -0400 staging: unisys: fix CamelCase names in del_virt_iopart Clean up CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3af0c34f6b9858e5d313192443df2b5d17a7f802 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:04 2014 -0400 staging: unisys: fix CamelCase in del_vdisk_iopart Fix CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 057546f02e003c6dc242b85a1c766c68ec6b04fb Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:03 2014 -0400 staging: unisys: fix CamelCase names in struct add_vdisk_iopart Fix CamelCase names: busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44589920d0af06fabcec6a5fe599ce492d66fc48 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:02 2014 -0400 staging: unisys: clean up CamelCase in struct add_virt_iopart Clean up CamelCase names: guestHandle => guest_handle recvBusInterruptHandle => recv_bus_irq_handle useG2GCopy => use_g2g_copy Filler => filler busNo => bus_no dev_no => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6d40f42586f19ca0bbca1c748f602781f0cf93a Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:01 2014 -0400 staging: unisys: fix CamelCase struct name NetworkPolicy Clean up CamelCase name: NetworkPolicy => network_policy Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 059ec04b64470ed4801940d91b4f1343010f1ec3 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:08:00 2014 -0400 staging: unisys: clean up CamelCase in DEDICATED_SWITCH() macro Clean up CamelCase names: pSwitch => s Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f796e84cc92f90bcf266f1418311518e21ebf2fc Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:58 2014 -0400 staging: unisys: fix CamelCase in struct device_info Clean up CamelCase names: channelAddr => channel_addr channelBytes => channel_bytes channelTypeGuid => channel_uuid devInstGuid => instance_uuid busNo => bus_no devNo => dev_no Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1e72291082edeeeb436bdfa5cf9bc6884e9d5c9 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:55 2014 -0400 staging: unisys: remove uisqueue_send_int_if_needed() This function is not used anywhere, so remove it. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21f8c6b845e4dda0f456a0ec159455540f5376c7 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:54 2014 -0400 staging: unisys: fix CamelCase in uisqueue_put_cmdrsp_with_lock_client Clean up CamelCase names: issueInterruptIfEmpty => issue_irq_if_empty interruptHandle => irq_handle Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82dd8152efc4bd8e8cce27df23ef033b24148616 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:53 2014 -0400 staging: unisys: Clean up CamelCase in send_int_if_needed() Clean up CamelCase names: issueInterruptIfEmpty => issue_irq_if_empty interruptHandle => irq_handle Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 833c7255cebceefe3208290c4a06456ad743fa59 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:52 2014 -0400 staging: unisys: fix CamelCase names in struct uisqueue_info Clean up CamelCase names: Reserved1 => reserved1 Reserved2 => reserved2 Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17f5e49167cfca5c2c0d04863b8373736448238b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:51 2014 -0400 staging: unisys: fix camelcase function uisqueue_InterlockedOr() Clean up CamelCase names: uisqueue_InterlockedOr => uisqueue_interlocked_or Target => tgt Set => set Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3f3b1f2a0f6083e633e1c8269765014cb5e7296 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:50 2014 -0400 staging: unisys: remove timskmodutils.h Remove the entire timskmodutils.h file as it had a lot of checkpatch.pl strict warnings and checks, and nearly all of the functions were not used anywhere. The unisys_spar_platform variable was moved to timskmod.h. References to the removed timskmodutils.h were switched to timskmod.h instead. The unused visor_seq_file_new_buffer() and visor_seq_file_done_buffer() functions defined in timskmodutils.h were implemented in visorkmodutils.c, so these were removed as well. This patch will generate a warning about updating MAINTAINERS, but there does not seem to be any need for that. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69ee73aab046e6eb1708a02bc5cfe12346494ff0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:49 2014 -0400 staging: unisys: fix spacing in timskmod.h macro Adds in some missing spaces in the max macro in timskmod.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 132b8f9a351767289bc6bd91f2d029c53610d73f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:48 2014 -0400 staging: unisys: remove stray blank line in timskmod.h Just cleaning up the extra blank line from here. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdee662e618250ef8c6ea10ad102c620af39f326 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:47 2014 -0400 staging: unisys: remove unused locking functions in timskmod.h Delete a block of unused locking functions from timskmod.h. These functions generated a lot of checkpatch warnings and were not being used anyhow. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c5653b7de5ea101dff407fd09840710917aa19b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Sep 30 12:07:46 2014 -0400 staging: unisys: remove typedef for PERIODIC_WORK In periodic_work.h, remove the typedef PERIODIC_WORK and replace it with struct periodic_work, and update functions used to manipulate the structure to use the new name. The functions used to manipulate the PERIODIC_WORK type are updated to use the fixed name, corrected for clarity, and changed to not use periodic_work as the parameter's name. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 239436eb0f2cdf8122cd1e92c50683ba38842834 Author: Benjamin Romer <bromer@xxxxxxxxxxx> Date: Tue Sep 30 12:07:45 2014 -0400 staging: unisys: delete extra blank lines in periodic_work.h Remove the extra blank lines from before the first comment. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f39100e121273646ae07e380175dbe5b9c6eda41 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Thu Oct 2 22:58:33 2014 +0800 drivers/staging/unisys: Let all IOMEM related modules depend on HAS_IOMEM UNISYS_UISLIB, UNISYS_VISORCHIPSET, and UNISYS_VISORUTIL need HAS_IOMEM, so depend on it. One of related error (with allmodconfig under um): CC [M] drivers/staging/unisys/uislib/uislib.o In file included from drivers/staging/unisys/uislib/uislib.c:34:0: drivers/staging/unisys/include/uisutils.h: In function â??dbg_ioremap_cacheâ??: drivers/staging/unisys/include/uisutils.h:88:2: error: implicit declaration of function â??ioremap_cacheâ?? [-Werror=implicit-function-declaration] new = ioremap_cache(addr, size); ^ drivers/staging/unisys/include/uisutils.h:88:6: warning: assignment makes pointer from integer without a cast [enabled by default] new = ioremap_cache(addr, size); ^ drivers/staging/unisys/include/uisutils.h: In function â??dbg_ioremapâ??: drivers/staging/unisys/include/uisutils.h:99:2: error: implicit declaration of function â??ioremapâ?? [-Werror=implicit-function-declaration] new = ioremap(addr, size); ^ drivers/staging/unisys/include/uisutils.h:99:6: warning: assignment makes pointer from integer without a cast [enabled by default] new = ioremap(addr, size); ^ drivers/staging/unisys/include/uisutils.h: In function â??dbg_iounmapâ??: drivers/staging/unisys/include/uisutils.h:108:2: error: implicit declaration of function â??iounmapâ?? [-Werror=implicit-function-declaration] iounmap(addr); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aff6de0519e4b2432a187063b8acf52dc78e0444 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Thu Oct 2 11:13:53 2014 +0300 staging: unisys: common-spar: Fix missing blank line warning Fixes "Missing a blank line after declarations" checkpatch.pl warning Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cd36ed5b4f9480e4515c13900b142e7d3a23516 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 29 15:49:25 2014 +0530 Staging: unisys: Add missing blank line This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 446393e9602d3b32515ca107f3c004194cb690f3 Author: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Date: Wed Oct 1 23:04:48 2014 +0300 staging: dgnc: Fix do not add new typedefs This patch fixes "do not add new typedefs" checkpatch.pl warning in dgnc_types.h Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fad9641abbee80f0c8ff0c726eca7255c338319 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Tue Sep 30 17:36:57 2014 +0300 staging: dgnc: Fix no spaces at the start of a line in dpacompat.h The following patch the checkpatch.pl warning: drivers/staging/dgnc/dpacompat.h:27 warning: please, no spaces at the start of a line Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0eaa02e66d7059cd4e08171a2cc6f8a0ec677ce1 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 29 14:12:28 2014 +0530 Staging: dgnc: Add missing blank line This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c4019d3e0d77c8992225efe4fc7420677b8ab40 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 29 14:10:41 2014 +0530 Staging: dgnc: Remove unnecessary braces This fixes the following checkpatch.pl warnings: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c313fe2c346d08246851f7441e68744d5c329497 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 29 14:07:00 2014 +0530 Staging: dgnc: Remove return in void function This fixes the following checkpatch.pl warnings: WARNING: void function return statements are not generally useful Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 372d5b5607074dc8fa6c495f56a4ae3e9a300f79 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 29 14:47:45 2014 +0200 staging/lustre/lvfs: fix building without CONFIG_PROC_FS Patch "staging/lustre/lvfs: remove the lvfs layer" moved some code around that was previously only built when CONFIG_PROC_FS was set, which now causes an invalid access to the obd_memory variable: ERROR: "obd_memory" [drivers/staging/lustre/lustre/obdclass/obdclass.ko] undefined! This fixes it by using adding a compile-time check around the access. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: fdedd94509fd ("staging/lustre/lvfs: remove the lvfs layer") Cc: James Simmons <uja.ornl@xxxxxxxxx> Cc: Mikhail Pershin <mike.pershin@xxxxxxxxx> Cc: John L. Hammond <john.hammond@xxxxxxxxx> Cc: Jian Yu <jian.yu@xxxxxxxxx> Cc: Bob Glossman <bob.glossman@xxxxxxxxx> Cc: Oleg Drokin <oleg.drokin@xxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e31981a13dcef28fcbe18d274375a8cc081843d6 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Mon Sep 29 13:51:51 2014 +0530 Staging: bcm: Removed unnecessary else. The following patch fixes the checkpatch.pl warning: WARNING: else is not generally useful after a break or return. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50b47bbd43510d754e86f0f590488d67f39f4374 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Tue Sep 30 20:36:06 2014 +0530 Staging: media: omap24xx: Merge two lines and remove unused variable This patch merges two lines and removes a variable that becomes unused after merging. Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07dcc686fa8f6667dec4696804cdb43a90267b9a Author: Simon Horman <horms@xxxxxxxxxxxx> Date: Tue Sep 30 10:50:06 2014 +0900 ipvs: Clean up comment style in ip_vs.h * Consistently use the multi-line comment style for networking code: /* This * That * The other thing */ * Use single-line comment style for comments with only one line of text. * In general follow the leading '*' of each line of a comment with a single space and then text. * Add missing line break between functions, remove double line break, align comments to previous lines whenever possible. Reported-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4b7fd5d97ee6e599247b4a55122ca6ba80c8148d Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Oct 2 11:13:21 2014 +0200 netfilter: explicit module dependency between br_netfilter and physdev You can use physdev to match the physical interface enslaved to the bridge device. This information is stored in skb->nf_bridge and it is set up by br_netfilter. So, this is only available when iptables is used from the bridge netfilter path. Since 34666d4 ("netfilter: bridge: move br_netfilter out of the core"), the br_netfilter code is modular. To reduce the impact of this change, we can autoload the br_netfilter if the physdev match is used since we assume that the users need br_netfilter in place. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 36d2af5998258344993dd43729997a7a3baa9d99 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Oct 1 20:34:37 2014 +0200 netfilter: nf_tables: allow to filter from prerouting and postrouting This allows us to emulate the NAT table in ebtables, which is actually a plain filter chain that hooks at prerouting, output and postrouting. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 756c1b1a7f20a42a559b40b3b77db5afcbb719d6 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Jun 17 21:18:44 2014 +0200 netfilter: nft_compat: remove incomplete 32/64 bits arch compat code This code was based on the wrong asumption that you can probe based on the match/target private size that we get from userspace. This doesn't work at all when you have to dump the info back to userspace since you don't know what word size the userspace utility is using. Currently, the extensions that require arch compat are limit match and the ebt_mark match/target. The standard targets are not used by the nft-xt compat layer, so they are not affected. We can work around this limitation with a new revision that uses arch agnostic types. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1b1bc49c0fc0501bf0d1366a2a5e5c1f8dcf9cb1 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Oct 1 13:53:20 2014 +0200 netfilter: nf_tables: wait for call_rcu completion on module removal Make sure the objects have been released before the nf_tables modules is removed. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 1109a90c01177e8f4a5fd95c5b685ad02f1fe9bb Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Wed Oct 1 11:19:17 2014 +0200 netfilter: use IS_ENABLED(CONFIG_BRIDGE_NETFILTER) In 34666d4 ("netfilter: bridge: move br_netfilter out of the core"), the bridge netfilter code has been modularized. Use IS_ENABLED instead of ifdef to cover the module case. Fixes: 34666d4 ("netfilter: bridge: move br_netfilter out of the core") Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c8d7b98bec43faaa6583c3135030be5eb4693acb Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Sep 26 14:35:15 2014 +0200 netfilter: move nf_send_resetX() code to nf_reject_ipvX modules Move nf_send_reset() and nf_send_reset6() to nf_reject_ipv4 and nf_reject_ipv6 respectively. This code is shared by x_tables and nf_tables. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 51b0a5d8c21a91801bbef9bcc8639dc0b206c6cd Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Fri Sep 26 14:35:14 2014 +0200 netfilter: nft_reject: introduce icmp code abstraction for inet and bridge This patch introduces the NFT_REJECT_ICMPX_UNREACH type which provides an abstraction to the ICMP and ICMPv6 codes that you can use from the inet and bridge tables, they are: * NFT_REJECT_ICMPX_NO_ROUTE: no route to host - network unreachable * NFT_REJECT_ICMPX_PORT_UNREACH: port unreachable * NFT_REJECT_ICMPX_HOST_UNREACH: host unreachable * NFT_REJECT_ICMPX_ADMIN_PROHIBITED: administratevely prohibited You can still use the specific codes when restricting the rule to match the corresponding layer 3 protocol. I decided to not overload the existing NFT_REJECT_ICMP_UNREACH to have different semantics depending on the table family and to allow the user to specify ICMP family specific codes if they restrict it to the corresponding family. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 89f904388d5fd728b77a489e135fdc4c69cf4ba0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 2 09:27:37 2014 -0700 Revert "staging: media: cxd2099: use usleep_range()" This reverts commit 7b86477c0e5b7b1406f27da519d4df841f306b92. It was broken and broke the build :( Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 097cbd8d261ccc602c963ddf823d5023be439e04 Author: Min-Hua Chen <orca.chen@xxxxxxxxx> Date: Thu Oct 2 15:56:59 2014 +0100 arm64: Use phys_addr_t type for physical address Change the type of physical address from unsigned long to phys_addr_t, make valid_phys_addr_range more readable. Signed-off-by: Min-Hua Chen <orca.chen@xxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit f7477c2be8689ee8355db345f107744c9bd7f112 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 2 16:31:09 2014 +0300 spi: dw-mid: follow new DMAengine workflow Though intel-mid-dma does not follow a new DMA workflow (*) let's prepare SPI DW driver for that. (*) The client is obliged to call dma_async_issue_pending() which starts the actual transfers. Old DMA drivers do not follow this, since requirement was introduced in the discussion of [1]. [1] http://www.spinics.net/lists/arm-kernel/msg125987.html Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a285299446cccbaf9ba47403e8f2ce578cd1ad1 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 2 16:31:08 2014 +0300 spi: dw-mid: convert to use DMAengine wrappers Instead of direct dereference to dmaengine callbacks we are going to use DMAengine wrappers. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 15ee3be78b017ee9d697fe59d45cdfbb35d9fdeb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Oct 2 16:31:07 2014 +0300 spi: dw-mid: change magic numbers to the constants Instead of using magic numbers in the code we create a bit map definition of the DMACR register and use it. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c34f1f5424395994c125f8c68bed395920ecc58 Author: Kyle McMartin <kyle@xxxxxxxxxx> Date: Tue Sep 16 22:37:18 2014 +0100 aarch64: filter $x from kallsyms Similar to ARM, AArch64 is generating $x and $d syms... which isn't terribly helpful when looking at %pF output and the like. Filter those out in kallsyms, modpost and when looking at module symbols. Seems simplest since none of these check EM_ARM anyway, to just add it to the strchr used, rather than trying to make things overly complicated. initcall_debug improves: dmesg_before.txt: initcall $x+0x0/0x154 [sg] returned 0 after 26331 usecs dmesg_after.txt: initcall init_sg+0x0/0x154 [sg] returned 0 after 15461 usecs Signed-off-by: Kyle McMartin <kyle@xxxxxxxxxx> Acked-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3fe240326cc395c66eda0518b1945ea505afd1fc Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Wed Oct 1 14:25:20 2014 -0700 ASoC: simple-card: Add mic and hp detect gpios. Allow Headphone and Microphone jack detect gpios to be specified in device tree. This will allow a few systems including rk3288_max98090 to use simple-card instead of having their own board file. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 04a0b8ef6b27c2b6280dcbfcdd418b7d851f8491 Merge: 9810f53 2ce7598 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Oct 2 16:53:35 2014 +0100 Merge tag 'v3.17-rc4' into asoc-simple Linux 3.17-rc4 commit 18ef9fefd3ef73279cd144bdb24cfd2683ff0492 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Fri Jul 18 17:51:06 2014 +0200 arm64, defconfig: Enable Cavium Thunder SoC in defconfig This patch enables Thunder SoCs in the arm64 defconfig. This is esp. useful to add Thunder platforms to automated builds based on arm64 defconfig. Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 28f7420de20dadcc3140672444b8e4ffa2efb477 Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Apr 8 18:47:51 2014 +0530 arm64, thunder: Add Kconfig option for Cavium Thunder SoC Family This introduces ARCH_THUNDER to enable soc specific drivers and dtb files. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 4c3087008dd19dcfced1bbbc2414ac5a8a61bcef Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Apr 8 18:53:14 2014 +0530 arm64, thunder: Document devicetree bindings for Cavium Thunder SoC This patch adds documentation for the devicetree bindings used by the DT files of Cavium Thunder SoC platforms. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 3f173071bf1401bfb092fe67f43caf3bc358da03 Author: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Date: Tue Apr 8 18:51:24 2014 +0530 arm64, thunder: Add initial dts for Cavium Thunder SoC Add initial device tree nodes for Cavium Thunder SoCs with support of 48 cores and gicv3. The dtsi file requires further changes, esp. for pci, gicv3-its and smmu. This changes will be added later together with the device drivers. Signed-off-by: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit fccb84c94a9755f48668e43d0a44d6ecc750900f Author: David Sterba <dsterba@xxxxxxx> Date: Mon Sep 29 23:53:21 2014 +0200 btrfs: move checks for DUMMY_ROOT into a helper Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 7ec20afbcb7b257aec82ea5d66e6b0b7499abaca Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jul 24 17:34:58 2014 +0200 btrfs: new define for the inline extent data start Use a common definition for the inline data start so we don't have to open-code it and introduce bugs like "Btrfs: fix wrong max inline data size limit" fixed. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit fb85fc9a675738ee2746b51c3aedde944b18ca02 Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jul 31 01:03:53 2014 +0200 btrfs: kill extent_buffer_page helper It used to be more complex but now it's just a simple array access. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit a50924e3a4d7fccb0ecfbd42a4c7ed6e56ee1765 Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jul 31 00:51:36 2014 +0200 btrfs: drop constant param from btrfs_release_extent_buffer_page All callers use the same value, simplify the function. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 2755a0de64693501741fb3603cd8ca928b0b7e81 Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jul 31 00:43:18 2014 +0200 btrfs: hide typecast to definition of BTRFS_SEND_TRANS_STUB Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 94404e82e5f5452a13ef580b6d3df1483671dff9 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 01:53:30 2014 +0200 btrfs: let merge_reloc_roots return void Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 8b9456da037ab53428d6347fa2fa088933da1424 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 01:25:30 2014 +0200 btrfs: remove unused members from struct scrub_warning Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 97eb6b69d1e856cb5e1cf2c3d94afab643e93128 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 00:55:42 2014 +0200 btrfs: use slab for end_io_wq structures The structure is frequently reused. Rename it according to the slab name. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit af13b4922b057b4ebc7e2315a6f666ecb65890e4 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 00:58:37 2014 +0200 btrfs: fix error labels in init_btrfs_fs btrfs_interface_init rarely fails but we could leak the prelim_ref slab. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit bfebd8b5441755f228ad02273682d675d3335123 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 00:25:45 2014 +0200 btrfs: use enum for wq endio metadata type The enum exists but is not consistently used. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 01d5bc3789f8464abd13cc44e3cd6df9d17f2802 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 30 00:03:56 2014 +0200 btrfs: remove unused extent state bits The last users are long gone. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 95ac567af212db3293af3897ccb521efdf1dd7ff Author: Filipe David Borba Manana <fdmanana@xxxxxxxxx> Date: Thu Aug 8 22:45:48 2013 +0100 Btrfs: set default max_inline to 8KiB instead of 8MiB 8MiB is way too large and likely set by mistake. This is not a significant issue as in practice the max amount of data added to an inline extent is also limited by the page cache and btree leaf sizes. Signed-off-by: Filipe David Borba Manana <fdmanana@xxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 4d75f8a9c87b843c8ded15b82b8d137b9724cccc Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 01:54:12 2014 +0200 btrfs: remove blocksize from btrfs_alloc_free_block and rename Rename to btrfs_alloc_tree_block as it fits to the alloc/find/free + _tree_block family. The parameter blocksize was set to the metadata block size, directly or indirectly. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 0308af4465897c889e32754ef37bb465a1b2b872 Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 01:43:40 2014 +0200 btrfs: remove unused parameter blocksize from btrfs_find_tree_block Signed-off-by: David Sterba <dsterba@xxxxxxx> commit ce86cd59179279a6fe673d2a105d24fb7e70aef3 Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 01:07:32 2014 +0200 btrfs: remove parameter blocksize from read_tree_block We know the tree block size, no need to pass it around. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 4394a0014597bd53e2d9bbc69d091e3fbde7d00c Merge: 5a6da55 32c741d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 2 17:08:24 2014 +0200 Merge tag 'mvebu-dt-3.18-2' of git://git.infradead.org/linux-mvebu into next/dt Pull "mvebu DT changes for v3.18 (round 2)" from Jason Cooper: - Armada XP - Add HW datasheet references to docs - Armada 370 - Change internal registers to 0xf1000000 for Armada 370 RD board Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'mvebu-dt-3.18-2' of git://git.infradead.org/linux-mvebu: ARM: mvebu: switch the Armada 370 RD board to internal registers at 0xf1000000 Documentation: arm: add hardware datasheet reference for Marvell Armada XP commit 3587e625fe24a2d1cd1891fc660c3313151a368c Author: Marti Raudsepp <marti@xxxxxxxxx> Date: Thu Oct 2 08:50:31 2014 -0600 PCI: Add ACS quirk for AMD A88X southbridge devices AMD has confirmed that peer-to-peer between two southbridge functions does not occur. Add a quirk to indicate that these functions are isolated even though they don't have an ACS capability. Link: https://bugzilla.kernel.org/show_bug.cgi?id=81841 Signed-off-by: Marti Raudsepp <marti@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Joel Schopp <joel.schopp@xxxxxxx> commit 94fb1afbcb3e1f8666c9065baded2cb66e72126f Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Thu Oct 2 10:48:12 2014 -0400 tile: switch to using seqlocks for the vDSO time code Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 5a6da55f10578b10f30ec72dcca6c37cbeac31ed Merge: 3a75d1a 45aa70d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Oct 2 16:47:40 2014 +0200 Merge tag 'keystone-dts-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt Pull "Few keystone DTS fixes for 3.18" from Santosh Shilimkar: - IO range fix for USB phy device - Add missing dma-coherent property for K2E USB node - Fix K2L MDIO start address - Fix K2E MDIO start address Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'keystone-dts-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: dts: keystone-k2l: fix mdio io start address ARM: dts: keystone-k2e: fix mdio io start address ARM: dts: keystone-k2e: update usb1 node for dma properties ARM: dts: keystone: fix io range for usb_phy0 commit 5529c2cdfd87e64c5801bfb9788a89d78de03414 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Tue Sep 30 10:32:58 2014 +0200 MAINTAINERS: CNS3xxx and IXP4xx update. I'm told Anton Vorontsov can't maintain Cavium Econa CNS3xxx support anymore. Perhaps I can. Also changing my email contact address for IXP4xx. Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d8f0faa339b0beff6e055218e10b2982422db540 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 29 17:46:15 2014 +0200 ARM: hisi: depend on ARCH_MULTI_V7 hisi has a general dependency on ARCH_MULTIPLATFORM, which is problematic when building a kernel for non-V7 platforms but selecting drivers that might conflict with other architecture levels. In this case, it broke my (still out of tree) patch set that enables V7M multiplatform support, since that does not enable MULTI_IRQ support: arch/arm/kernel/built-in.o: In function `set_handle_irq': arch/arm/kernel/irq.c:125: undefined reference to `handle_arch_irq' arch/arm/kernel/built-in.o: In function `setup_arch': arch/arm/kernel/setup.c:965: undefined reference to `handle_arch_irq' Since all hisilicon platforms are ARMv7 based, we can avoid this problem by just making the dependency more specific. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit c3ca2130c81bd24022586e2bdebefaffcaaf04a8 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Mon Sep 29 08:32:08 2014 +0200 CNS3xxx: Fix debug UART. UARTs on CNS3xxx are 8250-compatible, not AMBA. The base address for UART0 is 0x78000000 (physical) and 0xfb002000 (virtual). Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 453848a05ff984cb3665bad5c7e0024e8cfe87a5 Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 00:51:19 2014 +0200 btrfs: inline code of reada_tree_block and remove it It's trivial with a single user. And remove one pointless BUG_ON. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 6197d86eabb844c1a9c99956d4e6b0f8eb548ad3 Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 00:49:36 2014 +0200 btrfs: return void from readahead_tree_block Errors in readahead are not fatal and ignored elsewhere in the code. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 58dc4ce4325108b35425ffd30e6acfad9644d49d Author: David Sterba <dsterba@xxxxxxx> Date: Sun Jun 15 00:29:04 2014 +0200 btrfs: remove unused parameter from readahead_tree_block The parent_transid parameter has been unused since its introduction in ca7a79ad8dbe2466 ("Pass down the expected generation number when reading tree blocks"). In reada_tree_block, it was even wrongly set to leafsize. Transid check is done in the proper read and readahead ignores errors. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit bceb7efa6a7e656bfaa67b6f54925e7db75bcd52 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Tue Sep 2 16:25:22 2014 -0400 tile gxio: use better string copy primitive Both strncpy and strlcpy suffer from the fact that they do partial copies of strings into the destination when the target buffer is too small. This is frequently pointless since an overflow of the target buffer may make the result invalid. strncpy() makes it relatively hard to even detect the error condition, and with strlcpy() you have to duplicate the buffer size parameter to test to see if the result exceeds it. By returning zero in the failure case, we both make testing for it easy, and by simply not copying anything in that case, we make it mandatory for callers to test the error code. To catch lazy programmers who don't check, we also place a NUL at the start of the destination buffer (if there is space) to ensure that the result is an invalid string. At some point it may make sense to promote strscpy() to a global platform-independent function, but other than the reviewers, no one was interested on LKML, so for now leave the strscpy() function as file-static. Reviewed-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reviewed-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 514b82a52b7aaa413ab8f0e7db93a5ccd0540d09 Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Fri Aug 8 16:32:58 2014 +0100 char: tile-srom: Add real platform bus parent Add a real platform bus device as a parent for the srom class devices, to prevent non-platform devices hanging from the bus root. Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 4cde4cc87a19cfe7351e3d0fd87d8a49271781f6 Author: Kurt McAlpine <kurtmcalpine@xxxxxxxxx> Date: Thu Aug 7 08:50:25 2014 +1200 Removed repeated word in comments Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 3e24765d7722445e3d66b849b941da26ccbae1a3 Author: Chris Metcalf <cmetcalf@xxxxxxxxxx> Date: Fri Aug 1 15:26:46 2014 -0400 tilegx: Enable ARCH_SUPPORTS_ATOMIC_RMW Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 454ac3ec3fb7e855c274b26252c9a43a191bffaf Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Nov 12 20:42:20 2013 +0100 tile: Remove tile-specific _sinitdata and _einitdata Use standard __init_begin and __init_end instead. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit 367b9380b1717dc53ea7e1f05da58c99e0ae54a3 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Tue Jun 17 01:42:24 2014 +0530 tile: use ARRAY_SIZE ARRAY_SIZE is more concise to use when the size of an array is divided by the size of its type or the size of its first element. The semantic patch that makes this change is as follows: // <smpl> @i@ @@ @@ type T; T[] E; @@ - (sizeof(E)/sizeof(T)) + ARRAY_SIZE(E) // </smpl> Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> commit ee39b432b4ac083acdafd7b4f156283722e3bf14 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Sep 30 01:33:33 2014 +0200 btrfs: remove unlikely from data-dependent branches and slow paths There are the branch hints that obviously depend on the data being processed, the CPU predictor will do better job according to the actual load. It also does not make sense to use the hints in slow paths that do a lot of other operations like locking, waiting or IO. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit a092e19b688be88f7329bd05f90cb92ebe1a4f5b Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Oct 2 09:20:21 2014 +0200 gpio: pch: Build context save/restore only for PM The pch_gpio_save_reg_conf() and pch_gpio_restore_reg_conf() functions are only used in pch_gpio_suspend() and pch_gpio_resume(), respectively. Since the latter are only built if PM is enabled, make the former build under the same conditions. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3a4b094d5d09b8e0d007b2ca3de4f42df3af46e6 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 2 09:30:43 2014 +0200 pinctrl: abx500: get rid of unused variable commit 2fcea6cecbc965b4e02a39537d9d939f5251bbbd "pinctrl: remove remaining users of gpiochip_remove() retval" removed the use of the return value from gpiochip_remove() but missed to delete the dangling "err" variable: drivers/pinctrl/nomadik/pinctrl-abx500.c: In function 'abx500_gpio_probe': drivers/pinctrl/nomadik/pinctrl-abx500.c:1208:11: warning: unused variable 'err' [-Wunused-variable] Fix this by getting rid of the dangling variable. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 36905a33dd2d2bd443079ac677545849fa190eb7 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Sat Sep 27 19:05:41 2014 +0530 gpio: ks8695: fix 'else should follow close brace '}'' Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 27ec8a9cb504e9995c123dc74e0cca0cba81d07f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 2 07:55:41 2014 +0200 gpio: stmpe: add verbose debug code To troubleshoot the STMPE GPIO driver, some more detailed debug information giving the exact info on how each pin is used will be helpful. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5d99a998f375b7bff7ddff0162a6eed4d4ca1318 Author: David Sterba <dsterba@xxxxxxx> Date: Mon Sep 29 19:20:37 2014 +0200 btrfs: remove unlikely from NULL checks Unlikely is implicit for NULL checks of pointers. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 30142230a730263e9989e0174b74c2429e041c8c Author: Michal Marek <mmarek@xxxxxxx> Date: Thu Oct 2 15:27:07 2014 +0200 kbuild: Do not reference *-n variables in the Makefile Kconfig options are either 'y', 'm', or undefined. Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 5b2389b45d1a9c12b9f4b976e38c36264bfc42f5 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 20:03:58 2014 +0900 kbuild: simplify build, clean, modbuiltin shorthands $(if $(KBUILD_SRC),$(srctree)/) was a useful strategy to omit a long absolute path for in-source-tree build prior to commit 890676c65d699db3ad82e7dddd0cf8fb449031af (kbuild: Use relative path when building in the source tree). Now $(srctree) is "." when building in the source tree. It would not be annoying to add "$(srctree)/" all the time. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 226422d08c33cf0b68f6ea55a3b0e5f9c8212bf8 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 19:52:17 2014 +0900 kbuild: arm: Do not define "comma" twice The definition of "comma" exists in scripts/Kbuild.include. We should not double it. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit fae119b6d427a087be0c6a85431c1b8ee9ffea96 Merge: f747265 3708d52 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Thu Oct 2 13:04:58 2014 +0000 Merge branch 'irqchip/gic' into irqchip/core commit f7472655fbe70f422c08f78d107ca24a791d7b14 Merge: a778bf3 fda9203 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Thu Oct 2 13:04:45 2014 +0000 Merge branch 'irqchip/broadcom' into irqchip/core Conflicts: drivers/irqchip/Makefile commit a778bf35bd928653a0d9c9313a56866be8aab59d Merge: 468a903 20afdeb Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Thu Oct 2 13:03:48 2014 +0000 Merge branch 'irqchip/atmel' into irqchip/core commit a4954fd7724c0f55361eb56005856b0da0c99b00 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 19:26:21 2014 +0900 kbuild: remove obj-n and lib-n handling Kconfig never defines CONFIG_* as 'n'. Now obj-n is only used in firmware/Makefile and it can be replaced with obj-. No makefile uses lib-n. Let's rip off obj-n and lib-n. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ac84eb47cc199d9df7eeb7b32630fc09295a030b Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 19:26:20 2014 +0900 kbuild: remove unnecessary variable initializaions Clearing obj-y, obj-m, obj-n, obj- in each Makefile is a useless habit. They are non-exported variables; therefore they are always empty whenever descending into each subdirectory. (Moreorver, obj-y and obj-m are also set to empty at the beginning of scripts/Makefile.build) Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 895ed4e895756ca5e0a0bf43f45b7eed7b9c604a Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 19:26:19 2014 +0900 kbuild: remove unnecessary "obj- := dummy.o" trick In these Makefiles, at least one of "obj-y" and "obj-" is non-empty, hence built-in.o is always created without such a trick. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Acked-by: Mike Turquette <mturquette@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> [shmobile] Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> [networking] Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit a74b7d5514d61bca6aee32f60a79dacf1d2b3cac Merge: cec26bc ce2e4f0 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Oct 2 13:44:45 2014 +0200 Merge tag 'kvm-s390-next-20141001' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-next KVM: s390: Small enhancements for 3.18 (next) Provide TOD CLOCK steering to the guest and add cpu wakeup counter. commit 7c168d5f8bda5716e1a49040b901f26a3002517d Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Wed Oct 1 10:15:57 2014 -0700 ASoC: ssm4567: Remove duplicated else-if branch Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a52ce121918382a4249d621cceb07c30e1c00fa2 Author: Sean Paul <seanpaul@xxxxxxxxxxxx> Date: Wed Oct 1 16:31:50 2014 +0100 arm64: Use DMA_ERROR_CODE to denote failed allocation This patch replaces the static assignment of ~0 to dma_handle with DMA_ERROR_CODE to be consistent with other platforms. Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 81f3dfe1908011ee12760ce4d75451e7446dff80 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Oct 2 09:27:03 2014 +0200 ASoC: rt286: Fix compilation warning for !PM The rt286_index_sync() function is only called in the resume path. If PM is disabled it becomes unused and shouldn't be built either. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit be1aa3ea1f4179cbc84c57d3b1128c49515910ac Author: Thierry Reding <treding@xxxxxxxxxx> Date: Thu Oct 2 09:28:00 2014 +0200 ASoC: tas2552: Fix compilation warning for !PM_RUNTIME The tas2552_sw_shutdown() function is only used by runtime suspend support, so only build it when necessary. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c47a39a6806d756c34eb01b1081866845fb76dc3 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 2 13:29:09 2014 +0300 ASoC: Intel: byt-rt5640: Set card as fully routed Although it's not known does current version of byt-rt5640 cover all possible variants it is better to set the fully_routed flag on in order to disable unused codecs pins in known machines and get regression from machines that use different routing than the default one. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 24221dcc8be736a2b0b83ecaeb60b99bd7e9334c Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Oct 2 13:29:08 2014 +0300 ASoC: Intel: byt-rt5640: Add quirk for Dell Venue 8 Pro tablet It was found with help of Jan-Michael Brummer <jan.brummer@xxxxxxxxx> that Dell Venue 8 Pro tablet has a digital microphone connected to DMIC2 interface of the RT564x. This patch adds a DAPM route to DMIC2 and a quirk using it for that tablet. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Reported-by: Jan-Michael Brummer <jan.brummer@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9c238ca8ec79c38ab22762b44aeaf7a42fc97b18 Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Wed Oct 1 15:59:15 2014 +0300 Bluetooth: 6lowpan: Check transmit errors for multicast packets We did not return error if multicast packet transmit failed. This might not be desired so return error also in this case. If there are multiple 6lowpan devices where the multicast packet is sent, then return error even if sending to only one of them fails. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit d7b6b0a532da7de25e16deed610658cfa1969fe9 Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Wed Oct 1 15:59:14 2014 +0300 Bluetooth: 6lowpan: Return EAGAIN error also for multicast packets Make sure that we are able to return EAGAIN from l2cap_chan_send() even for multicast packets. The error code was ignored unncessarily. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit a7807d73a0fa9b33dbdfd5f1cb97970ccc91d77e Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Wed Oct 1 11:30:57 2014 +0300 Bluetooth: 6lowpan: Avoid memory leak if memory allocation fails If skb_unshare() returns NULL, then we leak the original skb. Solution is to use temp variable to hold the new skb. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit fc12518a4bcbd4214652291df76f692343bca3d5 Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Wed Oct 1 11:30:26 2014 +0300 Bluetooth: 6lowpan: Memory leak as the skb is not freed The earlier multicast commit 36b3dd250dde ("Bluetooth: 6lowpan: Ensure header compression does not corrupt IPv6 header") lost one skb free which then caused memory leak. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 09b5269a1b3d47525d7c25efeb16f5407ef82ea2 Merge: fe82dce f171aba a6fda0f dedd943 80f7b3d c50e324 5fc24d8 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Oct 2 12:24:45 2014 +0200 Merge branches 'arm/exynos', 'arm/omap', 'arm/smmu', 'x86/vt-d', 'x86/amd' and 'core' into next Conflicts: drivers/iommu/arm-smmu.c commit b5d130c4d6e664c49428fb0c27d37c1be12ae8da Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Sat Sep 20 04:46:25 2014 +0000 igb: bump version to 5.2.15 Bump version Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 80f7b3d1b1f4ec6c80fa3b40c7c9a419e28b0897 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Mon Sep 22 16:30:22 2014 +0200 iommu/vt-d: Work around broken RMRR firmware entries The VT-d specification states that an RMRR entry in the DMAR table needs to specify the full path to the device. This is also how newer Linux kernels implement it. Unfortunatly older drivers just match for the target device and not the full path to the device, so that BIOS vendors implement that behavior into their BIOSes to make them work with older Linux kernels. But those RMRR entries break on newer Linux kernels. Work around this issue by adding a fall-back into the RMRR matching code to match those old RMRR entries too. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 57384592c43375d2c9a14d82aebbdc95fdda9e9d Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Oct 2 11:50:25 2014 +0200 iommu/vt-d: Store bus information in RMRR PCI device path This will be used later to match broken RMRR entries. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 89168b48991537bec2573b3b6a8841df74465b12 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 2 09:08:46 2014 +0200 mmc: core: restore detect line inversion semantics commit 98e90de99a0c43bd434da814c882c4332441871e "mmc: host: switch OF parser to use gpio descriptors" switched the semantic behaviour of card detect and read only flags such that the inversion capability flag would only be set if inversion was explicitly specified in the device tree, in the hopes that no-one was using double inversion. It turns out that the XOR:ing between the explicit inversion was indeed in use, so we need to restore the old semantics where both ways of inversion are checked and the end result XOR:ed. Reported-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Tested-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c867d07e3c861e75509650b8a359351d634db93a Merge: 858f61c 1b68bdf Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Oct 2 19:47:23 2014 +1000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into next commit a81fb04941961a97bea001eef9c0c35c92aa42cb Author: Rick Jones <rick.jones2@xxxxxx> Date: Wed Sep 17 03:56:20 2014 +0000 i40e/igb: Convert to dev_consume_skb_any() Convert two more Intel NIC drivers to dev_consume_skb_any() to help make dropped packet profiling sane. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7acf631889ec2ba7431a86a4c8db9698a496e964 Author: Bernhard Kaindl <bk-linux@xxxxxxxxxxxxxxxxx> Date: Wed Sep 17 19:11:16 2014 +0000 igb: remove blocking phy read from inside spinlock Remove a source of latency spikes (in my case up to 10ms) by not calling code that uses mdelay() for feeding a phy statistic (rx errors for idle symbols - not data -> idle_errors) while being called with a spinlock held. As idle_errors isn't read, this patch only removes unused code and data. Later, more complicated changes may be applied to address the spinlock and allow for some PHY diagnostics by harvesting this PHY stats register fully. This patch is designed to fix the issue and be safe for longterm/stable. For the Intel e1000e driver, the same change was applied in 2008 with commit 23033fad5be0 ("e1000e: remove phy read from inside spinlock"). The mdelay is triggered by HW/SW semaphores, thus it depends on the HW. I've HW that triggers it even when idle. Others may trigger it only e.g. when Ethernet ports aquire or loose the link or on ifconfig up / down. We've noticed this first from delays in frame rx/tx due to the mdelay(). Example command for checking if the issue is triggered: cyclictest -Smp1 (Look for occasional "Max:" values > 4000 or use -b 4000 to stop if greater) It was observed with I350 ports connected to other I350 ports, but not if driver and EEPROM was modified to run the I350 in EEPROM-less mode. phy_stats.idle_errors and .receive_errors (isn't touched) occupy 64 not used bits in the adapter struct: Their allocation may be removed as well. Cc: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Cc: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Fixes: 12dcd86b75d5 ("igb: fix stats handling") (this added the spin_lock) Signed-off-by: Bernhard Kaindl <bk-linux@xxxxxxxxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3463de103ac9d705705cb9a4c54db947f56b44d9 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Sep 23 18:11:44 2014 +0000 ixgbe: delete one duplicate marcro definition of IXGBE_MAX_L2A_QUEUES There is typo in ixgbe.h, two marcro definition of IXGBE_MAX_L2A_QUEUES to 4, delete one, clear the compiler warning. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1196c2fb0407683c2df92d3d09f9144d42830894 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Sep 30 13:02:03 2014 +0200 iommu/vt-d: Only remove domain when device is removed This makes sure any RMRR mappings stay in place when the driver is unbound from the device. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Tested-by: Jerry Hoemann <jerry.hoemann@xxxxxx> commit ffefa9f64ce021b26aa3fd6558f1d3b6c47b3619 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Thu Sep 18 08:05:02 2014 +0000 ixgbe: fix setting of TXDCTL.WTRHESH when ITR is set to 0 and no BQL This patch consolidates the logic behind dynamically setting TXDCTL.WTHRESH depending on interrupt throttle rate (ITR) setting regardless of BQL. Previously TXDCTL.WTHRESH was dynamically being set only with BQL being enabled, but we have to set it regardless of BQL when ITR is low to avoid Tx stalls/hangs. CC: John Greene <jogreene@xxxxxxxxxx> Reported by: Masayuki Gouji <gouji.masayuki@xxxxxxxxxxxxxx> Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 599bad38cf7163123af7c9efea0fcf228bc74fe1 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Sep 30 13:02:02 2014 +0200 driver core: Add BUS_NOTIFY_REMOVED_DEVICE event This event closes an important gap in the bus notifiers. There is already the BUS_NOTIFY_DEL_DEVICE event, but that is sent when the device is still bound to its device driver. This is too early for the IOMMU code to destroy any mappings for the device, as they might still be in use by the driver. The new BUS_NOTIFY_REMOVED_DEVICE event introduced with this patch closes this gap as it is sent when the device is already unbound from its device driver and almost completly removed from the driver core. With this event the IOMMU code can safely destroy any mappings and other data structures when a device is removed. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Tested-by: Jerry Hoemann <jerry.hoemann@xxxxxx> commit 340c5203bc3158d6991dfe280f62ba7bd9584d62 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Sat Sep 6 07:50:27 2014 +0000 ixgbe: remove wait loop on autoneg for copper devices This patch removes couple of wait loops on autoneg that are not needed. During validation we noticed that the loops always time out, so there should be no user impact. Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fe1f2a972c8c8d22ac234024b331130ddddf8682 Author: Rick Jones <rick.jones2@xxxxxx> Date: Fri Sep 12 17:44:06 2014 +0000 ixgbe: Convert the normal transmit complete path to dev_consume_skb_any() Convert the normal packet completion path to dev_consume_skb_any() so packet drop profiling via dropwatch or perf top -G -e skb_kfree_skb is not cluttered with false hits. Compile tested only. There is a dev_kfree_skb_any() in the routine ixgbe_ptp_tx_hwtstamp() in ixgbe_ptp.c that looks like a conversion candidate but I wasn't familiar enough with the code to pull the trigger. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 02e246aee868e982eecc25ee97d02acf2c2b8884 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Oct 2 10:16:22 2014 +0300 Bluetooth: Fix lockdep warning with l2cap_chan_connect The L2CAP connection's channel list lock (conn->chan_lock) must never be taken while already holding a channel lock (chan->lock) in order to avoid lock-inversion and lockdep warnings. So far the l2cap_chan_connect function has acquired the chan->lock early in the function and then later called l2cap_chan_add(conn, chan) which will try to take the conn->chan_lock. This violates the correct order of taking the locks and may lead to the following type of lockdep warnings: -> #1 (&conn->chan_lock){+.+...}: [<c109324d>] lock_acquire+0x9d/0x140 [<c188459c>] mutex_lock_nested+0x6c/0x420 [<d0aab48e>] l2cap_chan_add+0x1e/0x40 [bluetooth] [<d0aac618>] l2cap_chan_connect+0x348/0x8f0 [bluetooth] [<d0cc9a91>] lowpan_control_write+0x221/0x2d0 [bluetooth_6lowpan] -> #0 (&chan->lock){+.+.+.}: [<c10928d8>] __lock_acquire+0x1a18/0x1d20 [<c109324d>] lock_acquire+0x9d/0x140 [<c188459c>] mutex_lock_nested+0x6c/0x420 [<d0ab05fd>] l2cap_connect_cfm+0x1dd/0x3f0 [bluetooth] [<d0a909c4>] hci_le_meta_evt+0x11a4/0x1260 [bluetooth] [<d0a910eb>] hci_event_packet+0x3ab/0x3120 [bluetooth] [<d0a7cb08>] hci_rx_work+0x208/0x4a0 [bluetooth] CPU0 CPU1 ---- ---- lock(&conn->chan_lock); lock(&chan->lock); lock(&conn->chan_lock); lock(&chan->lock); Before calling l2cap_chan_add() the channel is not part of the conn->chan_l list, and can therefore only be accessed by the L2CAP user (such as l2cap_sock.c). We can therefore assume that it is the responsibility of the user to handle mutual exclusion until this point (which we can see is already true in l2cap_sock.c by it in many places touching chan members without holding chan->lock). Since the hci_conn and by exctension l2cap_conn creation in the l2cap_chan_connect() function depend on chan details we cannot simply add a mutex_lock(&conn->chan_lock) in the beginning of the function (since the conn object doesn't yet exist there). What we can do however is move the chan->lock taking later into the function where we already have the conn object and can that way take conn->chan_lock first. This patch implements the above strategy and does some other necessary changes such as using __l2cap_chan_add() which assumes conn->chan_lock is held, as well as adding a second needed label so the unlocking happens as it should. Reported-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Tested-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Acked-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2cdef8f4e1ac28adc81326758a7767c18479a95d Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 2 09:41:46 2014 +0200 pinctrl: specify bindings for pins and groups Pin configurations can be per-pin or per-group. Make sure that the per-group case is covered by the bindings. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a7696b36c01316308f2b9f2009ce38cb01fd7a3f Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 17 14:39:39 2014 +1000 powerpc: Add printk levels to powerpc code Add printk levels to some places in the powerpc port. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9a4f5cd0a550c755a3f2e0cdcc541493f98feb8e Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 17 14:39:38 2014 +1000 powerpc: Add printk levels to powernv platform code Add printk levels to powernv platform code, and convert to pr_err() etc while here. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3e47d1474c2b4099f0fadd12a6553fdb2e8feaae Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 17 14:39:36 2014 +1000 powerpc: Remove powerpc specific cmd_line There is no need for yet another copy of the command line, just use boot_command_line like everyone else. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c7d1f6afe062d2dc4bb8109856519570f2fe3c13 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 17 14:39:35 2014 +1000 powerpc: Use pr_fmt in module loader code Use pr_fmt to give some context to the error messages in the module code, and convert open coded debug printk to pr_debug. Use pr_err for error messages. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1fe3bd9e347bcea63fa8be212001372720968765 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu Oct 2 07:55:27 2014 +0200 gpio: stmpe: fix up interrupt enable logic The STMPE driver assumes that the passed in IRQ type is for rising or falling IRQs, not both, even though the hardware actually supports this perfectly well. Likewise the check for level IRQs is done against just high or low level types, not for the case where it is combined with other IRQs. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9d57472f61acd7c3a33ebf5a79361e316d8ffbef Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 24 16:59:58 2014 +1000 powerpc: Fill in si_addr_lsb siginfo field Fill in the si_addr_lsb siginfo field so the hwpoison code can pass to userspace the length of memory that has been corrupted. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3913fdd7a23d9d8480ce3a6ca9cdf78bf0dec5a0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 24 16:59:57 2014 +1000 powerpc: Add VM_FAULT_HWPOISON handling to powerpc page fault handler do_page_fault was missing knowledge of HWPOISON, and we would oops if userspace tried to access a poisoned page: kernel BUG at arch/powerpc/mm/fault.c:180! Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 63af52629adcd1313c7db252f085263012ecd9db Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Sep 24 16:59:56 2014 +1000 powerpc: Simplify do_sigbus Exit out early for a kernel fault, avoiding indenting of most of the function. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit be34c4ef693ff5c10f55606dbd656ddf0b4a8340 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Oct 2 14:52:37 2014 +0800 crypto: sha - Handle unaligned input data in generic sha256 and sha512. Like SHA1, use get_unaligned_be*() on the raw input data. Reported-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit c9d49940849ff2f11f3646bc8eb1f23ed60b505d Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Tue Sep 30 22:49:22 2014 +0000 fm10k: Correctly set the number of Tx queues The number of Tx queues was not being updated due to some issues when generating the patches. This change makes sure to add the lines necessary to update the number of Tx queues correctly. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fd333962065ffc99d7c3779da08a2066179694eb Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Sep 26 06:33:49 2014 +0000 fm10k: Reduce buffer size when pages are larger than 4K This change reduces the buffer size to 2K for all page sizes. The basic idea is that since most frames only have a 1500 MTU supporting a buffer size larger than this is somewhat wasteful. As such I have reduced the size to 2K for all page sizes which will allow for more uses per page. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5cfed7b3351ce33b60c4a1d02ffd712cdf4f49cd Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Sep 28 22:24:01 2014 +0200 Revert "crypto: aesni - disable "by8" AVX CTR optimization" This reverts commit 7da4b29d496b1389d3a29b55d3668efecaa08ebd. Now, that the issue is fixed, we can re-enable the code. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Chandramouli Narayanan <mouli@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 9561dccb45a34f77001389824915e4dad8ede757 Merge: e3b3bb5 7da4b29 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Oct 2 14:37:20 2014 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Merging the crypto tree for 3.17 to pull in the "by8" AVX CTR revert. commit e3b3bb5ac1438354635c3879ce31cbdeebe55857 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Sep 28 22:24:00 2014 +0200 crypto: aesni - remove unused defines in "by8" variant The defines for xkey3, xkey6 and xkey9 are not used in the code. They're probably left overs from merging the three source files for 128, 192 and 256 bit AES. They can safely be removed. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Chandramouli Narayanan <mouli@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 80dca4734b3561be59879b02bce359b6f661e921 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Sep 28 22:23:59 2014 +0200 crypto: aesni - fix counter overflow handling in "by8" variant The "by8" CTR AVX implementation fails to propperly handle counter overflows. That was the reason it got disabled in commit 7da4b29d496b ("crypto: aesni - disable "by8" AVX CTR optimization"). Fix the overflow handling by incrementing the counter block as a double quad word, i.e. a 128 bit, and testing for overflows afterwards. We need to use VPTEST to do so as VPADD* does not set the flags itself and silently drops the carry bit. As this change adds branches to the hot path, minor performance regressions might be a side effect. But, OTOH, we now have a conforming implementation -- the preferable goal. A tcrypt test on a SandyBridge system (i7-2620M) showed almost identical numbers for the old and this version with differences within the noise range. A dm-crypt test with the fixed version gave even slightly better results for this version. So the performance impact might not be as big as expected. Tested-by: Romain Francoise <romain@xxxxxxxxxxxxx> Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Cc: Chandramouli Narayanan <mouli@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7a1ae9c0ce39d839044745956f08eabbea00d420 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 15 20:31:20 2014 +0530 hwrng: printk replacement as pr_* macros are more preffered over printk, so printk replaced with corresponding pr_* macros Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e35735b9a5d8d38d9ffe2f1f0cdcbb0d45c42eff Author: Anton Blanchard <anton@xxxxxxxxx> Date: Thu Oct 2 15:44:21 2014 +1000 powerpc: Speed up clear_page by unrolling it Unroll clear_page 8 times. A simple microbenchmark which allocates and frees a zeroed page: for (i = 0; i < iterations; i++) { unsigned long p = __get_free_page(GFP_KERNEL | __GFP_ZERO); free_page(p); } improves 20% on POWER8. This assumes cacheline sizes won't grow beyond 512 bytes or page sizes wont drop below 1kB, which is unlikely, but we could add a runtime check during early init if it makes people nervous. Michael found that some versions of gcc produce quite bad code (all multiplies), so we give gcc a hand by using shifts and adds. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 19318c063bf51f030c7c632f6a876c43da7de65d Merge: fe82dce 6fbb702 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Oct 2 14:48:20 2014 +1000 Merge branch 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-fixes A few regression fixes, the runpm ones dating back to 3.15. Also a fairly severe TMDS regression that effected a lot of GF8/9/GT2xx users. * 'linux-3.17' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: drm/nouveau: make sure display hardware is reinitialised on runtime resume drm/nouveau: punt fbcon resume out to a workqueue drm/nouveau: fix regression on original nv50 board drm/nv50/disp: fix dpms regression on certain boards commit 8e0e99ba64c7ba46133a7c8a3e3f7de01f23bd93 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Oct 2 13:45:00 2014 +1000 md/raid5: disable 'DISCARD' by default due to safety concerns. It has come to my attention (thanks Martin) that 'discard_zeroes_data' is only a hint. Some devices in some cases don't do what it says on the label. The use of DISCARD in RAID5 depends on reads from discarded regions being predictably zero. If a write to a previously discarded region performs a read-modify-write cycle it assumes that the parity block was consistent with the data blocks. If all were zero, this would be the case. If some are and some aren't this would not be the case. This could lead to data corruption after a device failure when data needs to be reconstructed from the parity. As we cannot trust 'discard_zeroes_data', ignore it by default and so disallow DISCARD on all raid4/5/6 arrays. As many devices are trustworthy, and as there are benefits to using DISCARD, add a module parameter to over-ride this caution and cause DISCARD to work if discard_zeroes_data is set. If a site want to enable DISCARD on some arrays but not on others they should select DISCARD support at the filesystem level, and set the raid456 module parameter. raid456.devices_handle_discard_safely=Y As this is a data-safety issue, I believe this patch is suitable for -stable. DISCARD support for RAID456 was added in 3.7 Cc: Shaohua Li <shli@xxxxxxxxxx> Cc: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: Heinz Mauelshagen <heinzm@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx (3.7+) Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Acked-by: Mike Snitzer <snitzer@xxxxxxxxxx> Fixes: 620125f2bf8ff0c4969b79653b54d7bcc9d40637 Signed-off-by: NeilBrown <neilb@xxxxxxx> commit 6fbb702e27d78ad2458df048b58cca3454bc0965 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Oct 2 13:22:27 2014 +1000 drm/nouveau: make sure display hardware is reinitialised on runtime resume Linus commit 05c63c2ff23a80b654d6c088ac3ba21628db0173 modified the runtime suspend/resume paths to skip over display-related tasks to avoid locking issues on resume. Unfortunately, this resulted in the display hardware being left in a partially initialised state, preventing subsequent modesets from completing. This commit unifies the (many) suspend/resume paths, bringing back display (and fbcon) handling in the runtime paths. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 634ffcccfbe59d77652804e1beb415d3329b1bc6 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Oct 1 11:11:25 2014 +1000 drm/nouveau: punt fbcon resume out to a workqueue Preparation for some runtime pm fixes. Currently we skip over fbcon suspend/resume in the runtime path, which causes issues on resume if fbcon tries to write to the framebuffer before the BAR subdev has been resumed to restore the BAR1 VM setup. As we might be woken up via a sysfs connector, we are unable to call fb_set_suspend() in the resume path as it could make its way down to a modeset and cause all sorts of locking hilarity. To solve this, we'll just delay the fbcon resume to a workqueue. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f2f9a2cbaf019481feefe231f996d3602612fa99 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Oct 1 12:46:14 2014 +1000 drm/nouveau: fix regression on original nv50 board Xorg (and any non-DRM client really) doesn't have permission to directly touch VRAM on nv50 and up, which the fence code prior to g84 depends on. It's less invasive to temporarily grant it premission to do so, as it previously did, than it is to rework fencenv50 to use the VM. That will come later on. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5838ae610ff36777b8fce6f353c2417980c1a1fa Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Sep 30 10:27:08 2014 +1000 drm/nv50/disp: fix dpms regression on certain boards Reported in fdo#82527 comment #2. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit be5cd90ddaf471e676fad6ced29e69e8610c5d20 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Wed Oct 1 22:57:09 2014 -0400 ext4: optimize block allocation on grow indepth It is reasonable to prepend newly created index to older one. [ Dropped no longer used function parameter newext. -tytso ] Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit dfe076c106f63cf6bcd375c56db9c8c89a088dab Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Wed Oct 1 22:26:17 2014 -0400 ext4: get rid of code duplication Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit c5d311926da483951bd5da637ed65de8614d1901 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Wed Oct 1 22:23:15 2014 -0400 ext4: fix over-defensive complaint after journal abort Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit d068b02cfdfc27f5962ec82ec5568b706f599edc Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Oct 1 11:58:02 2014 -0700 net: phy: add BCM7425 and BCM7429 PHYs Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bc23333ba11fb7f959b7e87e121122f5a0fbbca8 Author: Petri Gynther <pgynther@xxxxxxxxxx> Date: Wed Oct 1 11:30:01 2014 -0700 net: bcmgenet: fix bcmgenet_put_tx_csum() bcmgenet_put_tx_csum() needs to return skb pointer back to the caller because it reallocates a new one in case of lack of skb headroom. Signed-off-by: Petri Gynther <pgynther@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bce92d566a57893e98ec83e4e5447f860d2889b7 Author: Li Xi <pkuelelixi@xxxxxxxxx> Date: Wed Oct 1 22:11:06 2014 -0400 ext4: fix return value of ext4_do_update_inode When ext4_do_update_inode() gets error from ext4_inode_blocks_set(), error number should be returned. Signed-off-by: Li Xi <lixi@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 38b2cf2982dc73d3f07fe84fec8cc4ed9f64c1c5 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Sep 30 17:53:21 2014 -0700 net: pktgen: packet bursting via skb->xmit_more This patch demonstrates the effect of delaying update of HW tailptr. (based on earlier patch by Jesper) burst=1 is the default. It sends one packet with xmit_more=false burst=2 sends one packet with xmit_more=true and 2nd copy of the same packet with xmit_more=false burst=3 sends two copies of the same packet with xmit_more=true and 3rd copy with xmit_more=false Performance with ixgbe (usec 30): burst=1 tx:9.2 Mpps burst=2 tx:13.5 Mpps burst=3 tx:14.5 Mpps full 10G line rate Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 775dd692bd34f9201ed2aa775a0edcba4f973f3e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Sep 30 16:13:19 2014 -0700 net: bridge: add a br_set_state helper function In preparation for being able to propagate port states to e.g: notifiers or other kernel parts, do not manipulate the port state directly, but instead use a helper function which will allow us to do a bit more than just setting the state. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a0efb80ce3abacfd22a4284c3730924fc2f1f077 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Sep 30 16:07:24 2014 -0700 net_sched: avoid calling tcf_unbind_filter() in call_rcu callback This fixes the following crash: [ 63.976822] general protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 63.980094] CPU: 1 PID: 15 Comm: ksoftirqd/1 Not tainted 3.17.0-rc6+ #648 [ 63.980094] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 63.980094] task: ffff880117dea690 ti: ffff880117dfc000 task.ti: ffff880117dfc000 [ 63.980094] RIP: 0010:[<ffffffff817e6d07>] [<ffffffff817e6d07>] u32_destroy_key+0x27/0x6d [ 63.980094] RSP: 0018:ffff880117dffcc0 EFLAGS: 00010202 [ 63.980094] RAX: ffff880117dea690 RBX: ffff8800d02e0820 RCX: 0000000000000000 [ 63.980094] RDX: 0000000000000001 RSI: 0000000000000002 RDI: 6b6b6b6b6b6b6b6b [ 63.980094] RBP: ffff880117dffcd0 R08: 0000000000000000 R09: 0000000000000000 [ 63.980094] R10: 00006c0900006ba8 R11: 00006ba100006b9d R12: 0000000000000001 [ 63.980094] R13: ffff8800d02e0898 R14: ffffffff817e6d4d R15: ffff880117387a30 [ 63.980094] FS: 0000000000000000(0000) GS:ffff88011a800000(0000) knlGS:0000000000000000 [ 63.980094] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 63.980094] CR2: 00007f07e6732fed CR3: 000000011665b000 CR4: 00000000000006e0 [ 63.980094] Stack: [ 63.980094] ffff88011a9cd300 ffffffff82051ac0 ffff880117dffce0 ffffffff817e6d68 [ 63.980094] ffff880117dffd70 ffffffff810cb4c7 ffffffff810cb3cd ffff880117dfffd8 [ 63.980094] ffff880117dea690 ffff880117dea690 ffff880117dfffd8 000000000000000a [ 63.980094] Call Trace: [ 63.980094] [<ffffffff817e6d68>] u32_delete_key_freepf_rcu+0x1b/0x1d [ 63.980094] [<ffffffff810cb4c7>] rcu_process_callbacks+0x3bb/0x691 [ 63.980094] [<ffffffff810cb3cd>] ? rcu_process_callbacks+0x2c1/0x691 [ 63.980094] [<ffffffff817e6d4d>] ? u32_destroy_key+0x6d/0x6d [ 63.980094] [<ffffffff810780a4>] __do_softirq+0x142/0x323 [ 63.980094] [<ffffffff810782a8>] run_ksoftirqd+0x23/0x53 [ 63.980094] [<ffffffff81092126>] smpboot_thread_fn+0x203/0x221 [ 63.980094] [<ffffffff81091f23>] ? smpboot_unpark_thread+0x33/0x33 [ 63.980094] [<ffffffff8108e44d>] kthread+0xc9/0xd1 [ 63.980094] [<ffffffff819e00ea>] ? do_wait_for_common+0xf8/0x125 [ 63.980094] [<ffffffff8108e384>] ? __kthread_parkme+0x61/0x61 [ 63.980094] [<ffffffff819e43ec>] ret_from_fork+0x7c/0xb0 [ 63.980094] [<ffffffff8108e384>] ? __kthread_parkme+0x61/0x61 tp could be freed in call_rcu callback too, the order is not guaranteed. John Fastabend says: ==================== Its worth noting why this is safe. Any running schedulers will either read the valid class field or it will be zeroed. All schedulers today when the class is 0 do a lookup using the same call used by the tcf_exts_bind(). So even if we have a running classifier hit the null class pointer it will do a lookup and get to the same result. This is particularly fragile at the moment because the only way to verify this is to audit the schedulers call sites. ==================== Cc: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e0565697a106f2453b636da1ca481d9fe068bac Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Tue Sep 30 16:07:23 2014 -0700 net_sched: fix another crash in cls_tcindex This patch fixes the following crash: [ 166.670795] BUG: unable to handle kernel NULL pointer dereference at (null) [ 166.674230] IP: [<ffffffff814b739f>] __list_del_entry+0x5c/0x98 [ 166.674230] PGD d0ea5067 PUD ce7fc067 PMD 0 [ 166.674230] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 166.674230] CPU: 1 PID: 775 Comm: tc Not tainted 3.17.0-rc6+ #642 [ 166.674230] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 166.674230] task: ffff8800d03c4d20 ti: ffff8800cae7c000 task.ti: ffff8800cae7c000 [ 166.674230] RIP: 0010:[<ffffffff814b739f>] [<ffffffff814b739f>] __list_del_entry+0x5c/0x98 [ 166.674230] RSP: 0018:ffff8800cae7f7d0 EFLAGS: 00010207 [ 166.674230] RAX: 0000000000000000 RBX: ffff8800cba8d700 RCX: ffff8800cba8d700 [ 166.674230] RDX: 0000000000000000 RSI: dead000000200200 RDI: ffff8800cba8d700 [ 166.674230] RBP: ffff8800cae7f7d0 R08: 0000000000000001 R09: 0000000000000001 [ 166.674230] R10: 0000000000000000 R11: 000000000000859a R12: ffffffffffffffe8 [ 166.674230] R13: ffff8800cba8c5b8 R14: 0000000000000001 R15: ffff8800cba8d700 [ 166.674230] FS: 00007fdb5f04a740(0000) GS:ffff88011a800000(0000) knlGS:0000000000000000 [ 166.674230] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 166.674230] CR2: 0000000000000000 CR3: 00000000cf929000 CR4: 00000000000006e0 [ 166.674230] Stack: [ 166.674230] ffff8800cae7f7e8 ffffffff814b73e8 ffff8800cba8d6e8 ffff8800cae7f828 [ 166.674230] ffffffff817caeec 0000000000000046 ffff8800cba8c5b0 ffff8800cba8c5b8 [ 166.674230] 0000000000000000 0000000000000001 ffff8800cf8e33e8 ffff8800cae7f848 [ 166.674230] Call Trace: [ 166.674230] [<ffffffff814b73e8>] list_del+0xd/0x2b [ 166.674230] [<ffffffff817caeec>] tcf_action_destroy+0x4c/0x71 [ 166.674230] [<ffffffff817ca0ce>] tcf_exts_destroy+0x20/0x2d [ 166.674230] [<ffffffff817ec2b5>] tcindex_delete+0x196/0x1b7 struct list_head can not be simply copied and we should always init it. Cc: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6320cbfc92910a3e5f10c42d98c231c98db4f60 Author: Jan Kara <jack@xxxxxxx> Date: Wed Oct 1 21:49:46 2014 -0400 ext4: fix mmap data corruption when blocksize < pagesize Use truncate_isize_extended() when hole is being created in a file so that ->page_mkwrite() will get called for the partial tail page if it is mmaped (see the first patch in the series for details). Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 90a8020278c1598fafd071736a0846b38510309c Author: Jan Kara <jack@xxxxxxx> Date: Wed Oct 1 21:49:18 2014 -0400 vfs: fix data corruption when blocksize < pagesize for mmaped data ->page_mkwrite() is used by filesystems to allocate blocks under a page which is becoming writeably mmapped in some process' address space. This allows a filesystem to return a page fault if there is not enough space available, user exceeds quota or similar problem happens, rather than silently discarding data later when writepage is called. However VFS fails to call ->page_mkwrite() in all the cases where filesystems need it when blocksize < pagesize. For example when blocksize = 1024, pagesize = 4096 the following is problematic: ftruncate(fd, 0); pwrite(fd, buf, 1024, 0); map = mmap(NULL, 1024, PROT_WRITE, MAP_SHARED, fd, 0); map[0] = 'a'; ----> page_mkwrite() for index 0 is called ftruncate(fd, 10000); /* or even pwrite(fd, buf, 1, 10000) */ mremap(map, 1024, 10000, 0); map[4095] = 'a'; ----> no page_mkwrite() called At the moment ->page_mkwrite() is called, filesystem can allocate only one block for the page because i_size == 1024. Otherwise it would create blocks beyond i_size which is generally undesirable. But later at ->writepage() time, we also need to store data at offset 4095 but we don't have block allocated for it. This patch introduces a helper function filesystems can use to have ->page_mkwrite() called at all the necessary moments. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 25e379c475121c658a344cfd5eeed9affe272d31 Merge: f44d61c 996c9fd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 1 21:35:58 2014 -0400 Merge branch 'udp_gso' Tom Herbert says: ==================== udp: Generalize GSO for UDP tunnels This patch set generalizes the UDP tunnel segmentation functions so that they can work with various protocol encapsulations. The primary change is to set the inner_protocol field in the skbuff when creating the encapsulated packet, and then in skb_udp_tunnel_segment this data is used to determine the function for segmenting the encapsulated packet. The inner_protocol field is overloaded to take either an Ethertype or IP protocol. The inner_protocol is set on transmit using skb_set_inner_ipproto or skb_set_inner_protocol functions. VXLAN and IP tunnels (for fou GSO) were modified to call these. Notes: - GSO for GRE/UDP where GRE checksum is enabled does not work. Handling this will require some special case code. - Software GSO now supports many varieties of encapsulation with SKB_GSO_UDP_TUNNEL{_CSUM}. We still need a mechanism to query for device support of particular combinations (I intend to add ndo_gso_check for that). - MPLS seems to be the only previous user of inner_protocol. I don't believe these patches can affect that. For supporting GSO with MPLS over UDP, the inner_protocol should be set using the helper functions in this patch. - GSO for L2TP/UDP should also be straightforward now. v2: - Respin for Eric's restructuring of skbuff. Tested GRE, IPIP, and SIT over fou as well as VLXAN. This was done using 200 TCP_STREAMs in netperf. GRE IPv4, FOU, UDP checksum enabled TCP_STREAM TSO enabled on tun interface 14.04% TX CPU utilization 13.17% RX CPU utilization 9211 Mbps TCP_STREAM TSO disabled on tun interface 27.82% TX CPU utilization 25.41% RX CPU utilization 9336 Mbps IPv4, FOU, UDP checksum disabled TCP_STREAM TSO enabled on tun interface 13.14% TX CPU utilization 23.18% RX CPU utilization 9277 Mbps TCP_STREAM TSO disabled on tun interface 30.00% TX CPU utilization 31.28% RX CPU utilization 9327 Mbps IPIP FOU, UDP checksum enabled TCP_STREAM TSO enabled on tun interface 15.28% TX CPU utilization 13.92% RX CPU utilization 9342 Mbps TCP_STREAM TSO disabled on tun interface 27.82% TX CPU utilization 25.41% RX CPU utilization 9336 Mbps FOU, UDP checksum disabled TCP_STREAM TSO enabled on tun interface 15.08% TX CPU utilization 24.64% RX CPU utilization 9226 Mbps TCP_STREAM TSO disabled on tun interface 30.00% TX CPU utilization 31.28% RX CPU utilization 9327 Mbps SIT FOU, UDP checksum enabled TCP_STREAM TSO enabled on tun interface 14.47% TX CPU utilization 14.58% RX CPU utilization 9106 Mbps TCP_STREAM TSO disabled on tun interface 31.82% TX CPU utilization 30.82% RX CPU utilization 9204 Mbps FOU, UDP checksum disabled TCP_STREAM TSO enabled on tun interface 15.70% TX CPU utilization 27.93% RX CPU utilization 9097 Mbps TCP_STREAM TSO disabled on tun interface 33.48% TX CPU utilization 37.36% RX CPU utilization 9197 Mbps VXLAN TCP_STREAM TSO enabled on tun interface 16.42% TX CPU utilization 23.66% RX CPU utilization 9081 Mbps TCP_STREAM TSO disabled on tun interface 30.32% TX CPU utilization 30.55% RX CPU utilization 9185 Mbps Baseline (no encp, TSO and LRO enabled) TCP_STREAM 11.85% TX CPU utilization 15.13% RX CPU utilization 9452 Mbps ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 996c9fd167c99b382bcb9c1eb833b5b4711140ab Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 29 20:22:33 2014 -0700 vxlan: Set inner protocol before transmit Call skb_set_inner_protocol to set inner Ethernet protocol to ETH_P_TEB before transmit. This is needed for GSO with UDP tunnels. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54bc9bac307861aea5abb747cb58bf0275f2175f Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 29 20:22:32 2014 -0700 gre: Set inner protocol in v4 and v6 GRE transmit Call skb_set_inner_protocol to set inner Ethernet protocol to protocol being encapsulation by GRE before tunnel_xmit. This is needed for GSO if UDP encapsulation (fou) is being done. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 077c5a0948cc7b75032288bd37bd6641ef05da76 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 29 20:22:31 2014 -0700 ipip: Set inner IP protocol in ipip Call skb_set_inner_ipproto to set inner IP protocol to IPPROTO_IPV4 before tunnel_xmit. This is needed if UDP encapsulation (fou) is being done. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 469471cdfc1902861fedafe8c5c1c8dbf5ad6ba6 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 29 20:22:30 2014 -0700 sit: Set inner IP protocol in sit Call skb_set_inner_ipproto to set inner IP protocol to IPPROTO_IPV6 before tunnel_xmit. This is needed if UDP encapsulation (fou) is being done. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8bce6d7d0d1ede22af334ee241841e9278365278 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 29 20:22:29 2014 -0700 udp: Generalize skb_udp_segment skb_udp_segment is the function called from udp4_ufo_fragment to segment a UDP tunnel packet. This function currently assumes segmentation is transparent Ethernet bridging (i.e. VXLAN encapsulation). This patch generalizes the function to operate on either Ethertype or IP protocol. The inner_protocol field must be set to the protocol of the inner header. This can now be either an Ethertype or an IP protocol (in a union). A new flag in the skbuff indicates which type is effective. skb_set_inner_protocol and skb_set_inner_ipproto helper functions were added to set the inner_protocol. These functions are called from the point where the tunnel encapsulation is occuring. When skb_udp_tunnel_segment is called, the function to segment the inner packet is selected based on the inner IP or Ethertype. In the case of an IP protocol encapsulation, the function is derived from inet[6]_offloads. In the case of Ethertype, skb->protocol is set to the inner_protocol and skb_mac_gso_segment is called. (GRE currently does this, but it might be possible to lookup the protocol in offload_base and call the appropriate segmenation function directly). Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f44d61cdd3ab4259289ccf314093eb45d83a69e6 Merge: 1b7bde6 fd10c2e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Oct 1 21:30:46 2014 -0400 Merge branch 'bpf-next' Alexei Starovoitov says: ==================== bpf: add search pruning optimization and tests patch #1 commit log explains why eBPF verifier has to examine some instructions multiple times and describes the search pruning optimization that improves verification speed for branchy programs and allows more complex programs to be verified successfully. This patch completes the core verifier logic. patch #2 adds more verifier tests related to branches and search pruning I'm still working on Andy's 'bitmask for stack slots' suggestion. It will be done on top of this patch. The current verifier algorithm is brute force depth first search with state pruning. If anyone can come up with another algorithm that demonstrates better results, we'll replace the algorithm without affecting user space. Note verifier doesn't guarantee that all possible valid programs are accepted. Overly complex programs may still be rejected. Verifier improvements/optimizations will guarantee that if a program was passing verification in the past, it will still be passing. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd10c2ef3e0ad82a4003d8005f3e7716d19a9376 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Sep 29 18:50:02 2014 -0700 bpf: add tests to verifier testsuite add 4 extra tests to cover jump verification better Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1bca824dabba4ffe8582f87ca587780befce7ad Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Sep 29 18:50:01 2014 -0700 bpf: add search pruning optimization to verifier consider C program represented in eBPF: int filter(int arg) { int a, b, c, *ptr; if (arg == 1) ptr = &a; else if (arg == 2) ptr = &b; else ptr = &c; *ptr = 0; return 0; } eBPF verifier has to follow all possible paths through the program to recognize that '*ptr = 0' instruction would be safe to execute in all situations. It's doing it by picking a path towards the end and observes changes to registers and stack at every insn until it reaches bpf_exit. Then it comes back to one of the previous branches and goes towards the end again with potentially different values in registers. When program has a lot of branches, the number of possible combinations of branches is huge, so verifer has a hard limit of walking no more than 32k instructions. This limit can be reached and complex (but valid) programs could be rejected. Therefore it's important to recognize equivalent verifier states to prune this depth first search. Basic idea can be illustrated by the program (where .. are some eBPF insns): 1: .. 2: if (rX == rY) goto 4 3: .. 4: .. 5: .. 6: bpf_exit In the first pass towards bpf_exit the verifier will walk insns: 1, 2, 3, 4, 5, 6 Since insn#2 is a branch the verifier will remember its state in verifier stack to come back to it later. Since insn#4 is marked as 'branch target', the verifier will remember its state in explored_states[4] linked list. Once it reaches insn#6 successfully it will pop the state recorded at insn#2 and will continue. Without search pruning optimization verifier would have to walk 4, 5, 6 again, effectively simulating execution of insns 1, 2, 4, 5, 6 With search pruning it will check whether state at #4 after jumping from #2 is equivalent to one recorded in explored_states[4] during first pass. If there is an equivalent state, verifier can prune the search at #4 and declare this path to be safe as well. In other words two states at #4 are equivalent if execution of 1, 2, 3, 4 insns and 1, 2, 4 insns produces equivalent registers and stack. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1b7bde6d659d30f171259cc2dfba8e5dab34e735 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Tue Sep 30 09:28:05 2014 +0800 net: fec: implement rx_copybreak to improve rx performance - Copy short frames and keep the buffers mapped, re-allocate skb instead of memory copy for long frames. - Add support for setting/getting rx_copybreak using generic ethtool tunable Changes V3: * As Eric Dumazet's suggestion that removing the copybreak module parameter and only keep the ethtool API support for rx_copybreak. Changes V2: * Implements rx_copybreak * Rx_copybreak provides module parameter to change this value * Add tunable_ops support for rx_copybreak Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce1a4ea3f125863bfbcb1afb76590ee2b7b93fbf Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Oct 1 15:27:15 2014 -0700 net: avoid one atomic operation in skb_clone() Fast clone cloning can actually avoid an atomic_inc(), if we guarantee prior clone_ref value is 1. This requires a change kfree_skbmem(), to perform the atomic_dec_and_test() on clone_ref before setting fclone to SKB_FCLONE_UNAVAILABLE. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit da5f10969d54006a24777a84ed3eaeeb2a21047f Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Thu Oct 2 09:44:54 2014 +1000 xfs: flush the range before zero range conversion XFS currently discards delalloc blocks within the target range of a zero range request. Unaligned start and end offsets are zeroed through the page cache and the internal, aligned blocks are converted to unwritten extents. If EOF is page aligned and covered by a delayed allocation extent. The inode size is not updated until I/O completion. If a zero range request discards a delalloc range that covers page aligned EOF as such, the inode size update never occurs. For example: $ rm -f /mnt/file $ xfs_io -fc "pwrite 0 64k" -c "zero 60k 4k" /mnt/file $ stat -c "%s" /mnt/file 65536 $ umount /mnt $ mount <dev> /mnt $ stat -c "%s" /mnt/file 61440 Update xfs_zero_file_space() to flush the range rather than discard delalloc blocks to ensure that inode size updates occur appropriately. [dchinner: Note that this is really a workaround to avoid the underlying problems. More work is needed (and ongoing) to fix those issues so this fix is being added as a temporary stop-gap measure. ] Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 07d08681d26e99d8ba3bc4e56380f2cc04d3ff3b Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Thu Oct 2 09:42:06 2014 +1000 xfs: restore buffer_head unwritten bit on ioend cancel xfs_vm_writepage() walks each buffer_head on the page, maps to the block on disk and attaches to a running ioend structure that represents the I/O submission. A new ioend is created when the type of I/O (unwritten, delayed allocation or overwrite) required for a particular buffer_head differs from the previous. If a buffer_head is a delalloc or unwritten buffer, the associated bits are cleared by xfs_map_at_offset() once the buffer_head is added to the ioend. The process of mapping each buffer_head occurs in xfs_map_blocks() and acquires the ilock in blocking or non-blocking mode, depending on the type of writeback in progress. If the lock cannot be acquired for non-blocking writeback, we cancel the ioend, redirty the page and return. Writeback will revisit the page at some later point. Note that we acquire the ilock for each buffer on the page. Therefore during non-blocking writeback, it is possible to add an unwritten buffer to the ioend, clear the unwritten state, fail to acquire the ilock when mapping a subsequent buffer and cancel the ioend. If this occurs, the unwritten status of the buffer sitting in the ioend has been lost. The page will eventually hit writeback again, but xfs_vm_writepage() submits overwrite I/O instead of unwritten I/O and does not perform unwritten extent conversion at I/O completion. This leads to data corruption because unwritten extents are treated as holes on reads and zeroes are returned instead of reading from disk. Modify xfs_cancel_ioend() to restore the buffer unwritten bit for ioends of type XFS_IO_UNWRITTEN. This ensures that unwritten extent conversion occurs once the page is eventually written back. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 5cca3f611d159e5a4a5ec60413bd09948ef40aea Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Thu Oct 2 09:27:09 2014 +1000 xfs: check for null dquot in xfs_quota_calc_throttle() Coverity spotted this. Granted, we *just* checked xfs_inod_dquot() in the caller (by calling xfs_quota_need_throttle). However, this is the only place we don't check the return value but the check is cheap and future-proof so add it. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 04dd1a0d4b17a71220eae4fb313218f15a49bcdd Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Thu Oct 2 09:24:11 2014 +1000 xfs: fix crc field handling in xfs_sb_to/from_disk I discovered this in userspace, but the same change applies to the kernel. If we xfs_mdrestore an image from a non-crc filesystem, lo and behold the restored image has gained a CRC: # db/xfs_metadump.sh -o /dev/sdc1 - | xfs_mdrestore - test.img # xfs_db -c "sb 0" -c "p crc" /dev/sdc1 crc = 0 (correct) # xfs_db -c "sb 0" -c "p crc" test.img crc = 0xb6f8d6a0 (correct) This is because xfs_sb_from_disk doesn't fill in sb_crc, but xfs_sb_to_disk(XFS_SB_ALL_BITS) does write the in-memory CRC to disk - so we get uninitialized memory on disk. Fix this by always initializing sb_crc to 0 when we read the superblock, and masking out the CRC bit from ALL_BITS when we write it. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 6ee49a20c13b4b4e79a3bba406df8106cff284a1 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Thu Oct 2 09:23:49 2014 +1000 xfs: don't send null bp to xfs_trans_brelse() In this case, if bp is NULL, error is set, and we send a NULL bp to xfs_trans_brelse, which will try to dereference it. Test whether we actually have a buffer before we try to free it. Coverity spotted this. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ce57bcf6b81caf1e9f780e98e8d23d3555746d74 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Thu Oct 2 09:21:53 2014 +1000 xfs: check for inode size overflow in xfs_new_eof() If we write to the maximum file offset (2^63-2), XFS fails to log the inode size update when the page is flushed. For example: $ xfs_io -fc "pwrite `echo "2^63-1-1" | bc` 1" /mnt/file wrote 1/1 bytes at offset 9223372036854775806 1.000000 bytes, 1 ops; 0.0000 sec (22.711 KiB/sec and 23255.8140 ops/sec) $ stat -c %s /mnt/file 9223372036854775807 $ umount /mnt ; mount <dev> /mnt/ $ stat -c %s /mnt/file 0 This occurs because XFS calculates the new file size as io_offset + io_size, I/O occurs in block sized requests, and the maximum supported file size is not block aligned. Therefore, a write to the max allowable offset on a 4k blocksize fs results in a write of size 4k to offset 2^63-4096 (e.g., equivalent to round_down(2^63-1, 4096), or IOW the offset of the block that contains the max file size). The offset plus size calculation (2^63 - 4096 + 4096 == 2^63) overflows the signed 64-bit variable which goes negative and causes the > comparison to the on-disk inode size to fail. This returns 0 from xfs_new_eof() and results in no change to the inode on-disk. Update xfs_new_eof() to explicitly detect overflow of the local calculation and use the VFS inode size in this scenario. The VFS inode size is capped to the maximum and thus XFS writes the correct inode size to disk. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a872703f34cd6033d0b174fa598f63f1a57145bb Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:20:30 2014 +1000 xfs: only set extent size hint when asked Currently the extent size hint is set unconditionally in xfs_ioctl_setattr() when the FSX_EXTSIZE flag is set. Hence we can set hints when the inode flags indicating the hint should be used are not set. Hence only set the extent size hint from userspace when the inode has the XFS_DIFLAG_EXTSIZE flag set to indicate that we should have an extent size hint set on the inode. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 9336e3a765b68d4a7fdd8256f393ebce95ecb0a7 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:18:40 2014 +1000 xfs: project id inheritance is a directory only flag xfs_set_diflags() allows it to be set on non-directory inodes, and this flags errors in xfs_repair. Further, inode allocation allows the same directory-only flag to be inherited to non-directories. Make sure directory inode flags don't appear on other types of inodes. This fixes several xfstests scratch fileystem corruption reports (e.g. xfs/050) now that xfstests checks scratch filesystems after test completion. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e076b0f3a5c472e77c0a0e163188f2761e8b4fed Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:18:13 2014 +1000 xfs: kill time.h The typedef for timespecs and nanotime() are completely unnecessary, and delay() can be moved to fs/xfs/linux.h, which means this file can go away. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b1d6cc02f2f6a590c4d8dc2c3bcf7be3b9419945 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:17:58 2014 +1000 xfs: compat_xfs_bstat does not have forkoff struct compat_xfs_bstat is missing the di_forkoff field and so does not fully translate the structure correctly. Fix it. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 75e58ce4c8f354f1a68a8bb8a9692827cdaf3d21 Merge: bd438f8 8c15612 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Thu Oct 2 09:11:14 2014 +1000 Merge branch 'xfs-buf-iosubmit' into for-next commit 8c15612546bce1ecafb7dee3cce8a2a9b560e15e Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Thu Oct 2 09:05:44 2014 +1000 xfs: simplify xfs_zero_remaining_bytes xfs_zero_remaining_bytes() open codes a log of buffer manupulations to do a read forllowed by a write. It can simply be replaced by an uncached read followed by a xfs_bwrite() call. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ba3726742c1712c43c5a18245476f3fe9fe74773 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:05:32 2014 +1000 xfs: check xfs_buf_read_uncached returns correctly xfs_buf_read_uncached() has two failure modes. If can either return NULL or bp->b_error != 0 depending on the type of failure, and not all callers check for both. Fix it so that xfs_buf_read_uncached() always returns the error status, and the buffer is returned as a function parameter. The buffer will only be returned on success. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 595bff75dce51e0d6d94877b4b6d11b4747a63fd Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:05:14 2014 +1000 xfs: introduce xfs_buf_submit[_wait] There is a lot of cookie-cutter code that looks like: if (shutdown) handle buffer error xfs_buf_iorequest(bp) error = xfs_buf_iowait(bp) if (error) handle buffer error spread through XFS. There's significant complexity now in xfs_buf_iorequest() to specifically handle this sort of synchronous IO pattern, but there's all sorts of nasty surprises in different error handling code dependent on who owns the buffer references and the locks. Pull this pattern into a single helper, where we can hide all the synchronous IO warts and hence make the error handling for all the callers much saner. This removes the need for a special extra reference to protect IO completion processing, as we can now hold a single reference across dispatch and waiting, simplifying the sync IO smeantics and error handling. In doing this, also rename xfs_buf_iorequest to xfs_buf_submit and make it explicitly handle on asynchronous IO. This forces all users to be switched specifically to one interface or the other and removes any ambiguity between how the interfaces are to be used. It also means that xfs_buf_iowait() goes away. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8b131973d1628f1a0c5a36fe02269d696bbe60a3 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:05:05 2014 +1000 xfs: kill xfs_bioerror_relse There is only one caller now - xfs_trans_read_buf_map() - and it has very well defined call semantics - read, synchronous, and b_iodone is NULL. Hence it's pretty clear what error handling is necessary for this case. The bigger problem of untangling xfs_trans_read_buf_map error handling is left to a future patch. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2718775469a521c8b35442db5d665ac0c8c3c8ac Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:56 2014 +1000 xfs: xfs_bioerror can die. Internal buffer write error handling is a mess due to the unnatural split between xfs_bioerror and xfs_bioerror_relse(). xfs_bwrite() only does sync IO and determines the handler to call based on b_iodone, so for this caller the only difference between xfs_bioerror() and xfs_bioerror_release() is the XBF_DONE flag. We don't care what the XBF_DONE flag state is because we stale the buffer in both paths - the next buffer lookup will clear XBF_DONE because XBF_STALE is set. Hence we can use common error handling for xfs_bwrite(). __xfs_buf_delwri_submit() is a similar - it's only ever called on writes - all sync or async - and again there's no reason to handle them any differently at all. Clean up the nasty error handling and remove xfs_bioerror(). Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8dac39219827113f14e97507646a610ca426b69e Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:40 2014 +1000 xfs: kill xfs_bdstrat_cb Only has two callers, and is just a shutdown check and error handler around xfs_buf_iorequest. However, the error handling is a mess of read and write semantics, and both internal callers only call it for writes. Hence kill the wrapper, and follow up with a patch to sanitise the error handling. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 61be9c529a4a715ab8679e9ca82bc3790c7ab66c Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:31 2014 +1000 xfs: rework xfs_buf_bio_endio error handling Currently the report of a bio error from completion immediately marks the buffer with an error. The issue is that this is racy w.r.t. synchronous IO - the submitter can see b_error being set before the IO is complete, and hence we cannot differentiate between submission failures and completion failures. Add an internal b_io_error field protected by the b_lock to catch IO completion errors, and only propagate that to the buffer during final IO completion handling. Hence we can tell in xfs_buf_iorequest if we've had a submission failure bey checking bp->b_error before dropping our b_io_remaining reference - that reference will prevent b_io_error values from being propagated to b_error in the event that completion races with submission. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e8aaba9a783c8e5d2c58ebe69650ea31b91bb745 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:22 2014 +1000 xfs: xfs_buf_ioend and xfs_buf_iodone_work duplicate functionality We do some work in xfs_buf_ioend, and some work in xfs_buf_iodone_work, but much of that functionality is the same. This work can all be done in a single function, leaving xfs_buf_iodone just a wrapper to determine if we should execute it by workqueue or directly. hence rename xfs_buf_iodone_work to xfs_buf_ioend(), and add a new xfs_buf_ioend_async() for places that need async processing. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e11bb8052c3f500e66142f33579cc054d691a8fb Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:11 2014 +1000 xfs: synchronous buffer IO needs a reference When synchronous IO runs IO completion work, it does so without an IO reference or a hold reference on the buffer. The IO "hold reference" is owned by the submitter, and released when the submission is complete. The IO reference is released when both the submitter and the bio end_io processing is run, and so if the io completion work is run from IO completion context, it is run without an IO reference. Hence we can get the situation where the submitter can submit the IO, see an error on the buffer and unlock and free the buffer while there is still IO in progress. This leads to use-after-free and memory corruption. Fix this by taking a "sync IO hold" reference that is owned by the IO and not released until after the buffer completion calls are run to wake up synchronous waiters. This means that the buffer will not be freed in any circumstance until all IO processing is completed. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit cf53e99d192171a58791136d33fd3fea5d8bab35 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:04:01 2014 +1000 xfs: Don't use xfs_buf_iowait in the delwri buffer code For the special case of delwri buffer submission and waiting, we don't need to issue IO synchronously at all. The second pass to call xfs_buf_iowait() can be replaced with blocking on xfs_buf_lock() - the buffer will be unlocked when the async IO is complete. This formalises a sane the method of waiting for async IO - take an extra reference, submit the IO, call xfs_buf_lock() when you want to wait for IO completion. i.e.: bp = xfs_buf_find(); xfs_buf_hold(bp); bp->b_flags |= XBF_ASYNC; xfs_buf_iosubmit(bp); xfs_buf_lock(bp) error = bp->b_error; .... xfs_buf_relse(bp); While this is somewhat racy for gathering IO errors, none of the code that calls xfs_buf_delwri_submit() will race against other users of the buffers being submitted. Even if they do, we don't really care if the error is detected by the delwri code or the user we raced against. Either way, the error will be detected and handled. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a870fe6dfaba1cc67424cde4cfd2cd3eee62bf35 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Thu Oct 2 09:02:28 2014 +1000 xfs: force the log before shutting down When we have marked the filesystem for shutdown, we want to prevent any further buffer IO from being submitted. However, we currently force the log after marking the filesystem as shut down, hence allowing IO to the log *after* we have marked both the filesystem and the log as in an error state. Clean this up by forcing the log before we mark the filesytem with an error. This replaces the pure CIL flush that we currently have which works around this same issue (i.e the CIL can't be flushed once the shutdown flags are set) and hence enables us to clean up the logic substantially. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b9c9c2558ba366d59dc242872da883a879b8ffc6 Merge: 5d85142 c8df6ac Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Oct 1 16:45:01 2014 -0600 Merge branch 'pci/host-designware' into next * pci/host-designware: PCI: designware: Remove open-coded bitmap operations PCI: designware: Setup and clear exactly one MSI at a time Conflicts: drivers/pci/host/pcie-designware.c commit 5d85142b9e5264a925e4d582c3b0d7297d9c2713 Merge: 359c660 d61b0e8 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Oct 1 16:43:41 2014 -0600 Merge branch 'pci/resource' into next * pci/resource: PCI: Add missing MEM_64 mask in pci_assign_unassigned_bridge_resources() commit e500f488c27659bb6f5d313b336621f3daa67701 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 06:52:06 2014 +0200 net/dccp/ccid.c: add __init to ccid_activate ccid_activate is only called by __init ccid_initialize_builtins in same module. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c5b8a46294d43fc63788839d3c18de0961ec1bc Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 06:48:03 2014 +0200 net/dccp/proto.c: add __init to dccp_mib_init dccp_mib_init is only called by __init dccp_init in same module. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 082f58ac4a48d3f5cb4597232cb2ac6823a96f43 Author: Quinn Tran <quinn.tran@xxxxxxxxxx> Date: Thu Sep 25 06:22:28 2014 -0400 target: Fix queue full status NULL pointer for SCF_TRANSPORT_TASK_SENSE During temporary resource starvation at lower transport layer, command is placed on queue full retry path, which expose this problem. The TCM queue full handling of SCF_TRANSPORT_TASK_SENSE currently sends the same cmd twice to lower layer. The 1st time led to cmd normal free path. The 2nd time cause Null pointer access. This regression bug was originally introduced v3.1-rc code in the following commit: commit e057f53308a5f071556ee80586b99ee755bf07f5 Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Mon Oct 17 13:56:41 2011 -0400 target: remove the transport_qf_callback se_cmd callback Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.1+ Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit db3a99b9921f27fe71ca8c0f218ee810e0e7fb69 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:19 2014 -0400 qla_target: rearrange struct qla_tgt_prm On most (non-x86) 64bit platforms this will remove 8 padding bytes from the structure. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f9b6721a9cef94908467abf7a2cacbd15a7d23cb Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:18 2014 -0400 qla_target: improve qlt_unmap_sg() Remove the inline attribute. Modern compilers ignore it and the function has grown beyond where inline made sense anyway. Remove the BUG_ON(!cmd->sg_mapped), and instead return if sg_mapped is not set. Every caller is doing this check, so we might as well have it in one place instead of four. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 55a9066fffd2f533e7ed434b072469ef09d6c476 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:15 2014 -0400 qla_target: make some global functions static Also removes the declarations from the header - including two declarations without function definitions or callers. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c57010420654aca179c500f61e86315a337244ca Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:14 2014 -0400 qla_target: remove unused parameter Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit f81ccb489a7a641c1bed41b49cf8d72c199c68d5 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:13 2014 -0400 target: simplify core_tmr_abort_task list_for_each_entry_safe is necessary if list objects are deleted from the list while traversing it. Not the case here, so we can use the base list_for_each_entry variant. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 33940d09937276cd3c81f2874faf43e37c2db0e2 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:12 2014 -0400 target: encapsulate smp_mb__after_atomic() The target code has a rather generous helping of smp_mb__after_atomic() throughout the code base. Most atomic operations were followed by one and none were preceded by smp_mb__before_atomic(), nor accompanied by a comment explaining the need for a barrier. Instead of trying to prove for every case whether or not it is needed, this patch introduces atomic_inc_mb() and atomic_dec_mb(), which explicitly include the memory barriers before and after the atomic operation. For now they are defined in a target header, although they could be of general use. Most of the existing atomic/mb combinations were replaced by the new helpers. In a few cases the atomic was sandwiched in spin_lock/spin_unlock and I simply removed the barrier. I suspect that in most cases the correct conversion would have been to drop the barrier. I also suspect that a few cases exist where a) the barrier was necessary and b) a second barrier before the atomic would have been necessary and got added by this patch. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 74ed7e62289dc6d388996d7c8f89c2e7e95b9657 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:11 2014 -0400 target: remove some smp_mb__after_atomic()s atomic_inc_return() already does an implicit memory barrier and the second case was moved from an atomic to a plain flag operation. If a barrier were needed in the second case, it would have to be smp_mb(), not a variant optimized away for x86 and other architectures. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 8f83269048628d7b139dacbfc6cc97befcbdd2e9 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 16 16:23:10 2014 -0400 target: simplify core_tmr_release_req() And while at it, do minimal coding style fixes in the area. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 9c7d6154bc4b9dfefd580490cdca5f7c72321464 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Jun 30 16:39:46 2014 -0700 target: Remove core_tpg_release_virtual_lun0 function Simple and just called from one place. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cd9d7cbaec8b622eee4edcd8bf481c4047f74915 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Jun 30 16:39:44 2014 -0700 target: Change core_dev_del_lun to take a se_lun instead of unpacked_lun Remove core_tpg_pre_dellun entirely, since we don't need to get/check a pointer we already have. Nothing else can return an error, so core_dev_del_lun can return void. Rename core_tpg_post_dellun to remove_lun - a clearer name, now that pre_dellun is gone. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cc83881f2c57caaf4b14adaffa65595640a59661 Author: Andy Grover <agrover@xxxxxxxxxx> Date: Mon Jun 30 16:39:43 2014 -0700 target: core_tpg_post_dellun can return void Nothing in it can raise an error. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Andy Grover <agrover@xxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit aa55c8e2f7a395dfc9e67fc6637321e19ce9bfe1 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 20:02:24 2014 +0900 kbuild: handle C=... and M=... after entering into build directory This commit avoids processing C=... and M=... twice when O=... is also given. Besides, we can also remove KBUILD_EXTMOD="$(KBUILD_EXTMOD)" in the sub-make target. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 745a254322c898dadf019342cd7140f7867d2d0f Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 20:02:23 2014 +0900 kbuild: use $(Q) for sub-make target Since commit 066b7ed9558087a7957a1128f27d7a3462ff117f (kbuild: Do not print the build directory with make -s), "Q" is defined above the sub-make target. This commit takes advantage of that and replaces "$(if $(KBUILD_VERBOSE:1=),@)" with "$(Q)". Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 7ff525712acf9325e9acdb27bbc93049ea2e850c Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 20:02:22 2014 +0900 kbuild: fake the "Entering directory ..." message more simply Commit c2e28dc975ea87feed84415006ae143424912ac7 (kbuild: Print the name of the build directory) added a gimmick to show the "Entering directory ...". Instead of echoing the hard-coded message (that is, we need to know the exact message), moving --no-print-directory would be easier. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 7b7b7f7e024460cb7d77f8f96b6eb1a8803f94d9 Merge: baf3781 0f1ca65 Author: Jens Axboe <axboe@xxxxxx> Date: Wed Oct 1 14:37:25 2014 -0600 Merge branch 'stable/for-jens-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen into for-3.18/drivers Konrad writes: This pull has two fixes and one cleanup. Nothing earthshattering. commit 1e918876853aa85435e0f17fd8b4a92dcfff53d6 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Oct 1 13:38:03 2014 +0200 r8169: add support for Byte Queue Limits tested on RTL8168d/8111d model using 'super_netperf 40' with TCP/UDP_STREAM. Output of while true; do for n in inflight limit; do echo -n $n\ ; cat $n; done; sleep 1; done during netperf run, 100mbit peer: inflight 0 limit 3028 inflight 6056 limit 4542 [ trimmed output for brevity, no limit/inflight changes during test steady-state ] limit 4542 inflight 3028 limit 6122 inflight 0 limit 6122 [ changed cable to 1gbit peer, restart netperf ] inflight 37850 limit 36336 inflight 33308 limit 31794 inflight 33308 limit 31794 inflight 27252 limit 25738 [ again, no changes during test ] inflight 27252 limit 25738 inflight 0 limit 28766 [ change cable to 100mbit peer, restart netperf ] limit 28766 inflight 27370 limit 28766 inflight 4542 limit 5990 inflight 6056 limit 4542 [ .. ] inflight 6056 limit 4542 inflight 0 [end of test] Cc: Francois Romieu <romieu@xxxxxxxxxxxxx> Cc: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0bf4a9e92b9a93ffeeacbd7b6cb83e0ee3dc2ef Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 29 13:29:15 2014 -0700 net: cleanup and document skb fclone layout Lets use a proper structure to clearly document and implement skb fast clones. Then, we might experiment more easily alternative layouts. This patch adds a new skb_fclone_busy() helper, used by tcp and xfrm, to stop leaking of implementation details. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f1ca65ee50df042051e8fa3a14f73b0c71d45b9 Author: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Date: Fri Aug 22 13:20:02 2014 +0200 xen, blkfront: factor out flush-related checks from do_blkif_request() This commit factors out some checks related to the request insertion path, which can be done in an function instead of by itself. Reviewed-by: David Vrabel <david.vrabel@xxxxxxxxxx> Signed-off-by: Arianna Avanzini <avanzini.arianna@xxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit 61cecca865280bef4f8a9748d0a9afa5df351ac2 Author: Roger Pau Monné <roger.pau@xxxxxxxxxx> Date: Mon Sep 15 11:55:27 2014 +0200 xen-blkback: fix leak on grant map error path Fix leaking a page when a grant mapping has failed. CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reported-and-Tested-by: Tao Chen <boby.chen@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit 12ea729645ace01e08f9654df155622898d3aae6 Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Date: Mon Sep 8 15:21:33 2014 +0200 xen/blkback: unmap all persistent grants when frontend gets disconnected blkback does not unmap persistent grants when frontend goes to Closed state (e.g. when blkfront module is being removed). This leads to the following in guest's dmesg: [ 343.243825] xen:grant_table: WARNING: g.e. 0x445 still in use! [ 343.243825] xen:grant_table: WARNING: g.e. 0x42a still in use! ... When load module -> use device -> unload module sequence is performed multiple times it is possible to hit BUG() condition in blkfront module: [ 343.243825] kernel BUG at drivers/block/xen-blkfront.c:954! [ 343.243825] invalid opcode: 0000 [#1] SMP [ 343.243825] Modules linked in: xen_blkfront(-) ata_generic pata_acpi [last unloaded: xen_blkfront] ... [ 343.243825] Call Trace: [ 343.243825] [<ffffffff814111ef>] ? unregister_xenbus_watch+0x16f/0x1e0 [ 343.243825] [<ffffffffa0016fbf>] blkfront_remove+0x3f/0x140 [xen_blkfront] ... [ 343.243825] RIP [<ffffffffa0016aae>] blkif_free+0x34e/0x360 [xen_blkfront] [ 343.243825] RSP <ffff88001eb8fdc0> We don't need to keep these grants if we're disconnecting as frontend might already forgot about them. Solve the issue by moving xen_blkbk_free_caches() call from xen_blkif_free() to xen_blkif_disconnect(). Now we can see the following: [ 928.590893] xen:grant_table: WARNING: g.e. 0x587 still in use! [ 928.591861] xen:grant_table: WARNING: g.e. 0x372 still in use! ... [ 929.592146] xen:grant_table: freeing g.e. 0x587 [ 929.597174] xen:grant_table: freeing g.e. 0x372 ... Backend does not keep persistent grants any more, reconnect works fine. CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit b248230c34970a6c1c17c591d63b464e8d2cfc33 Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Mon Sep 29 13:20:38 2014 -0700 tcp: abort orphan sockets stalling on zero window probes Currently we have two different policies for orphan sockets that repeatedly stall on zero window ACKs. If a socket gets a zero window ACK when it is transmitting data, the RTO is used to probe the window. The socket is aborted after roughly tcp_orphan_retries() retries (as in tcp_write_timeout()). But if the socket was idle when it received the zero window ACK, and later wants to send more data, we use the probe timer to probe the window. If the receiver always returns zero window ACKs, icsk_probes keeps getting reset in tcp_ack() and the orphan socket can stall forever until the system reaches the orphan limit (as commented in tcp_probe_timer()). This opens up a simple attack to create lots of hanging orphan sockets to burn the memory and the CPU, as demonstrated in the recent netdev post "TCP connection will hang in FIN_WAIT1 after closing if zero window is advertised." http://www.spinics.net/lists/netdev/msg296539.html This patch follows the design in RTO-based probe: we abort an orphan socket stalling on zero window when the probe timer reaches both the maximum backoff and the maximum RTO. For example, an 100ms RTT connection will timeout after roughly 153 seconds (0.3 + 0.6 + .... + 76.8) if the receiver keeps the window shut. If the orphan socket passes this check, but the system already has too many orphans (as in tcp_out_of_resources()), we still abort it but we'll also send an RST packet as the connection may still be active. In addition, we change TCP_USER_TIMEOUT to cover (life or dead) sockets stalled on zero-window probes. This changes the semantics of TCP_USER_TIMEOUT slightly because it previously only applies when the socket has pending transmission. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Reported-by: Andrey Dmitrov <andrey.dmitrov@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit baf378126b08474de2e2428b16e62a69df0339d9 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 14:07:39 2014 -0600 rsxx: Remove deprecated IRQF_DISABLED This removes the use of the IRQF_DISABLED flag from drivers/block/rsxx/core.c It's a NOOP since 2.6.35 and it will be removed one day. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Acked-by Philip Kelleher <pjk1939@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit cb57659a15c6c0576493cc8a10474ce7ffd44eb3 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 19:30:03 2014 +0200 cipso: add __init to cipso_v4_cache_init cipso_v4_cache_init is only called by __init cipso_v4_init Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57a02c39c1c20ed03a86f8014c11a8c18b94cac3 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 19:18:57 2014 +0200 inet: frags: add __init to ip4_frags_ctl_register ip4_frags_ctl_register is only called by __init ipfrag_init Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47d7a88c188f06ffaea3a539f84fe10cb4e77787 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 18:27:50 2014 +0200 tcp: add __init to tcp_init_mem tcp_init_mem is only called by __init tcp_init. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ee7a1beb9759c94aea67dd887faf5e447a5c6710 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:21 2014 +0800 r8169:call "rtl8168_driver_start" "rtl8168_driver_stop" only when hardware dash function is enabled These two functions are used to inform dash firmware that driver is been brought up or brought down. So call these two functions only when hardware dash function is enabled. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a9b4d9670e71784896d95c41c9b0acd50db1dbb Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:20 2014 +0800 r8169:modify the behavior of function "rtl8168_oob_notify" In function "rtl8168_oob_notify", using function "rtl_eri_write" to access eri register 0xe8, instead of using MAC register "ERIDR" and "ERIAR" to access it. For using function "rtl_eri_write" in function "rtl8168_oob_notify", need to move down "rtl8168_oob_notify" related functions under the function "rtl_eri_write". Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f8c040ce6791ef0477e6d59768ee3d5fd0df0fd Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:19 2014 +0800 r8169:change the name of function "r8168dp_check_dash" to "r8168_check_dash" DASH function not only RTL8168DP can support, but also RTL8168EP. So change the name of function "r8168dp_check_dash" to "r8168_check_dash". Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 706123d06c18b55da5e9da21e2d138ee789bf8f4 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:18 2014 +0800 r8169:change the name of function"rtl_w1w0_eri" Change the name of function "rtl_w1w0_eri" to "rtl_w0w1_eri". In this function, the local variable "val" is "write zeros then write ones". Please see below code. (val & ~m) | p In this patch, change the function name from "xx_w1w0_xx" to "xx_w0w1_xx". The changed function name is more suitable for it's behavior. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7656442824f6174b56a19c664fe560972df56ad4 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:17 2014 +0800 r8169:for function "rtl_w1w0_phy" change its name and behavior Change function name from "rtl_w1w0_phy" to "rtl_w0w1_phy". And its behavior from "write ones then write zeros" to "write zeros then write ones". In Realtek internal driver, bitwise operations are almost "write zeros then write ones". For easy to port hardware parameters from Realtek internal driver to Linux kernal driver "r8169", we would like to change this function's behavior and its name. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac85bcdbc0ffd3903d6db4abcd769ecacf98605b Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:16 2014 +0800 r8169:add more chips to support magic packet v2 For RTL8168F RTL8168FB RTL8168G RTL8168GU RTL8411 RTL8411B RTL8402 RTL8107E, the magic packet enable bit is changed to eri 0xde bit0. In this patch, change magic packet enable bit of these chips to eri 0xde bit0. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89cceb2729c752e6ff9b3bc8650a70f29884f116 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:15 2014 +0800 r8169:add support more chips to get mac address from backup mac address register RTL8168FB RTL8168G RTL8168GU RTL8411 RTL8411B RTL8106EUS RTL8402 can support get mac address from backup mac address register. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42fde7371035144037844f41bd16950de9912bdb Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:14 2014 +0800 r8169:add disable/enable RTL8411B pll function RTL8411B can support disable/enable pll function. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8e5e6ad7115befef13a4493f1d2b8e438abc058 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:13 2014 +0800 r8169:add disable/enable RTL8168G pll function RTL8168G also can disable/enable pll function. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05b9687bb3606190304f08c2e4cd63de8717e30b Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Oct 1 23:17:12 2014 +0800 r8169:change uppercase number to lowercase number Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a29c9c43bb633a9965909cd548879fee4aa789a4 Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Wed Oct 1 11:05:27 2014 -0400 sunvnet: fix potential NULL pointer dereference One of the error cases for vnet_start_xmit()'s "out_dropped" label is port == NULL, so only mess with port->clean_timer when port is not NULL. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e506d405ac7d34d03996c97ac68aa2ac010be64a Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Oct 1 13:59:00 2014 +0200 net: dsa: Fix build warning for !PM_SLEEP The dsa_switch_suspend() and dsa_switch_resume() functions are only used when PM_SLEEP is enabled, so they need #ifdef CONFIG_PM_SLEEP protection to avoid a compiler warning. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f6b6ccdbe1cdfa5aa4347ec5412509b8995db27 Author: Tanmay Inamdar <tinamdar@xxxxxxx> Date: Wed Oct 1 13:01:35 2014 -0600 PCI: xgene: Add APM X-Gene PCIe driver Add the AppliedMicro X-Gene SOC PCIe host controller driver. The X-Gene PCIe controller supports up to 8 lanes and GEN3 speed. The X-Gene SOC supports up to 5 PCIe ports. [bhelgaas: folded in MAINTAINERS and bindings updates] Tested-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Tested-by: Dann Frazier <dann.frazier@xxxxxxxxxxxxx> Signed-off-by: Tanmay Inamdar <tinamdar@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> (driver) commit 3c87dcbfb36ce6d3d9087f0163c02ba5690d9a85 Author: Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xxxxxxxxxx> Date: Wed Oct 1 11:01:17 2014 +0200 net: ll_temac: Remove unnecessary ether_setup after alloc_etherdev Calling ether_setup is redundant since alloc_etherdev calls it. Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8493ecca74a7b4a66e19676de1a0f14194179941 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Wed Oct 1 11:59:47 2014 -0400 HID: uHID: fix excepted report type When uhid_get_report() or uhid_set_report() are called, they emit on the char device a UHID_GET_REPORT or UHID_SET_REPORT message. Then, the protocol says that the user space asnwers with UHID_GET_REPORT_REPLY or UHID_SET_REPORT_REPLY. Unfortunatelly, the current code waits for an event of type UHID_GET_REPORT or UHID_SET_REPORT instead of the reply one. Add 1 to UHID_GET_REPORT or UHID_SET_REPORT to actually wait for the reply, and validate the reply. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 20cc28882bf4a8c9a2605a9a76a7952e696aaece Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Wed Oct 1 11:36:32 2014 -0700 x86, boot, kaslr: Fix nuisance warning on 32-bit builds Building 32-bit threw a warning on kASLR enabled builds: arch/x86/boot/compressed/aslr.c: In function â??mem_avoid_overlapâ??: arch/x86/boot/compressed/aslr.c:198:17: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] avoid.start = (u64)ptr; ^ This fixes the warning; unsigned long should have been used here. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20141001183632.GA11431@xxxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit c8df6ac9452e8f47a6f660993c526d13e858a6f3 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Tue Sep 30 18:36:27 2014 +0200 PCI: designware: Remove open-coded bitmap operations Replace them by using the standard kernel bitmap ops. No functional change, but makes the code a lot cleaner. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> commit 359c660e99d1431a9b08b240bfc31acc3d658efe Merge: 07a7cbd 5ec0940 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Oct 1 12:31:46 2014 -0600 Merge branch 'pci/msi' into next * pci/msi: PCI/MSI: Remove unnecessary temporary variable PCI/MSI: Use __write_msi_msg() instead of write_msi_msg() MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg() PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg() PCI/MSI: Add "msi_bus" sysfs MSI/MSI-X control for endpoints PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib PCI/MSI: Remove unused kobject from struct msi_desc PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported() PCI/MSI: Move D0 check into pci_msi_check_device() PCI/MSI: Remove arch_msi_check_device() irqchip: armada-370-xp: Remove arch_msi_check_device() PCI/MSI/PPC: Remove arch_msi_check_device() Conflicts: drivers/pci/host/pcie-designware.c commit 07a7cbd3b815ea77b44d4d5bb4260b37d03a358d Merge: cc0cb67 d1e6dc9 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Oct 1 12:31:23 2014 -0600 Merge branch 'pci/host-generic' into next * pci/host-generic: arm64: Add architectural support for PCI PCI: Add pci_remap_iospace() to map bus I/O resources of/pci: Add support for parsing PCI host bridge resources from DT of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr() PCI: Add generic domain handling of/pci: Fix the conversion of IO ranges into IO resources of/pci: Move of_pci_range_to_resource() to of/address.c ARM: Define PCI_IOBASE as the base of virtual PCI IO space of/pci: Add pci_register_io_range() and pci_pio_to_address() asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP Conflicts: drivers/pci/host/pci-tegra.c commit cc0cb67adb97793e76bf6f1f6e05694f6311cebd Merge: 1104528 846fc70 100ebb2 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Oct 1 12:30:58 2014 -0600 Merge branches 'pci/aer' and 'pci/virtualization' into next * pci/aer: PCI/AER: Rename PCI_ERR_UNC_TRAIN to PCI_ERR_UNC_UND PCI/AER: Add additional PCIe AER error strings trace, RAS: Add additional PCIe AER error strings trace, RAS: Replace bare numbers with #defines for PCIe AER error strings * pci/virtualization: PCI: Add ACS quirk for Intel 10G NICs commit f3fa1bbd836a7d6efb2abd506ed8e24096f39062 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Fri Sep 19 19:15:45 2014 +0800 ASoC: rt5645: Add headset detect function Add headset detect function Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit df59fa7f4bca9658b75f0f5fee225b3a057475c5 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Sun Sep 28 23:24:04 2014 +1000 spi: orion: support armada extended baud rates The Armada SoC family implementation of this SPI hardware module has extended the configuration register to allow for a wider range of SPI clock rates. Specifically the Serial Baud Rate Pre-selection bits in the SPI Interface Configuration Register now also use bits 6 and 7 as well. Modify the baud rate calculation to handle these differences for the Armada case. Potentially a baud rate can be setup using a number of different pre-scalar and scalar combinations. This code tries all possible pre-scalar divisors (8 in total) to try and find the most accurate set. This change introduces (and documents) a new device tree compatible device name "armada-370-spi" to support this. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5ec094057c7df5ff80f5e7fe282f47ad205fb976 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Sep 23 14:38:28 2014 -0600 PCI/MSI: Remove unnecessary temporary variable The only use of "status" is to hold a value which is immediately returned, so just return and remove the variable directly. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 56b72b40957947f7c08771f030102351d4c906df Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Mon Sep 29 18:35:16 2014 -0600 PCI/MSI: Use __write_msi_msg() instead of write_msi_msg() default_restore_msi_irq() already has the struct msi_desc pointer required by __write_msi_msg(), so call it directly instead of having write_msi_msg() look it up from the IRQ. No functional change. [bhelgaas: split into separate patch] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 1e8f4cc82eded0c3c97ef6e2f119782e42deda35 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Wed Sep 24 11:09:45 2014 +0800 MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg() rtas_setup_msi_irqs() already has the struct msi_desc pointer required by __read_msi_msg(), so call it directly instead of having read_msi_msg() look it up from the IRQ. No functional change. [bhelgaas: changelog] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> CC: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> CC: linuxppc-dev@xxxxxxxxxxxxxxxx commit 2b260085e466c345e78f23b1c9ad1d123d509ef8 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Tue Sep 23 13:27:25 2014 +0800 PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg() Both callers of get_cached_msi_msg() start with a struct irq_data pointer, look up the corresponding IRQ number, and pass it to get_cached_msi_msg(), which then uses irq_get_irq_data() to look up the struct irq_data again to call __get_cached_msi_msg(). Since we already have the struct irq_data, call __get_cached_msi_msg() directly and skip the lookup work done by get_cached_msi_msg(). No functional change. [bhelgaas: changelog] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Tony Luck <tony.luck@xxxxxxxxx> CC: linux-ia64@xxxxxxxxxxxxxxx commit 468ff15a3ab98ed7153c29c68229ffb97f15a251 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Tue Sep 23 13:27:24 2014 +0800 PCI/MSI: Add "msi_bus" sysfs MSI/MSI-X control for endpoints The "msi_bus" sysfs file for bridges sets a bus flag to allow or disallow future driver requests for MSI or MSI-X. Previously, the sysfs file existed for endpoints but did nothing. Add "msi_bus" support for endpoints, so an administrator can prevent the use of MSI and MSI-X for individual devices. Note that as for bridges, these changes only affect future driver requests for MSI or MSI-X, so drivers may need to be reloaded. Add documentation for the "msi_bus" sysfs file. [bhelgaas: changelog, comments, add "subordinate", add endpoint printk, rework bus_flags setting, make bus_flags printk unconditional] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 48c3c38f003c25d50a09d3da558667c5ecd530aa Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Tue Sep 23 11:02:42 2014 -0600 PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib "msi_attrib.pos" is only used for MSI (not MSI-X), and we already cache the MSI capability offset in "dev->msi_cap". Remove "pos" from the struct msi_attrib and use "dev->msi_cap" directly. [bhelgaas: changelog, fix whitespace] Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 81052769e48609525c452d8f078a5786b673e178 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Tue Sep 23 13:27:22 2014 +0800 PCI/MSI: Remove unused kobject from struct msi_desc After commit 1c51b50c2995 ("PCI/MSI: Export MSI mode using attributes, not kobjects"), the kobject in struct msi_desc is unused. Remove the unused struct kobject from struct msi_desc. [bhelgaas: changelog] Fixes: 1c51b50c2995 ("PCI/MSI: Export MSI mode using attributes, not kobjects") Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a06cd74cefe754341f747ddc4cf7b0058fa9bff8 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Tue Sep 23 12:45:58 2014 -0600 PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported() Rename pci_msi_check_device() to pci_msi_supported() for clarity. Note that pci_msi_supported() returns true if MSI/MSI-X is supported, so code like: if (pci_msi_supported(...)) reads naturally. [bhelgaas: changelog, split to separate patch, reverse sense] Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 27e20603c54ba633ed259284d006275f13c9f95b Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Tue Sep 23 14:25:11 2014 -0600 PCI/MSI: Move D0 check into pci_msi_check_device() Both callers of pci_msi_check_device() check that the device is in D0 state, so move the check from the callers into pci_msi_check_device() itself. In pci_enable_msi_range(), note that pci_msi_check_device() never returns a positive value any more, so the loop that called it until it returns zero or negative is no longer necessary. [bhelgaas: changelog, split to separate patch] Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit ad975ebad4c3ce8dcc7d0bb4db26ea5aca4cfc99 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Tue Sep 23 12:39:54 2014 -0600 PCI/MSI: Remove arch_msi_check_device() No architectures implement arch_msi_check_device() or the struct msi_chip .check_device() method, so remove them. Remove the "type" parameter to pci_msi_check_device() because it was only used to call arch_msi_check_device() and is no longer needed. [bhelgaas: changelog, split to separate patch] Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3930115e0dd67f61b3b1882c7a34d0baeff1bb4c Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Sun Sep 7 20:57:54 2014 +0200 irqchip: armada-370-xp: Remove arch_msi_check_device() Move MSI checks from arch_msi_check_device() to arch_setup_msi_irqs(). This makes the code more compact and allows removing arch_msi_check_device() from generic MSI code. Tested-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 6b2fd7efeb888fa781c1f767de6c36497ac1596b Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Sun Sep 7 20:57:53 2014 +0200 PCI/MSI/PPC: Remove arch_msi_check_device() Move MSI checks from arch_msi_check_device() to arch_setup_msi_irqs(). This makes the code more compact and allows removing arch_msi_check_device() from generic MSI code. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a7979009500df9766ba7d78554a6da9dea18dc26 Merge: e156ee5 e317c19 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Wed Oct 1 11:19:10 2014 -0700 Merge tag 'v3.18-rockchip-clk2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-next Allow parent rate changes for i2s on rk3288 and rockchip as well as s3c24xx restart handlers. commit 281f92f233a59ef52bb45287242bd815a67f5647 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Oct 1 15:05:32 2014 -0300 perf record: Fix error message for --filter option not coming after tracepoint [root@zoo ~]# perf record --filter "common_pid != PERF_PID" -a -F option should follow a -e tracepoint option. The -F option is for --freq, not --filter. Fix it up to show: [root@zoo ~]# perf record --filter "common_pid != PERF_PID" -a --filter option should follow a -e tracepoint option Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-z0yrm8stn9w3423nkov3eksg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 660d13296bbbe79635d1d9d700080b88061faffb Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Sep 30 12:27:12 2014 +0100 perf tools: Fix build breakage on arm64 targets Attempting to build the perf tool for an arm64 target results in the following failure: arch/arm64/util/unwind-libunwind.c: In function 'libunwind__arch_reg_id': arch/arm64/util/unwind-libunwind.c:77:3: error: implicit declaration of function 'pr_err' pr_err("unwind: invalid reg id %d\n", regnum); ^ arch/arm64/util/unwind-libunwind.c:77:3: error: nested extern declaration of 'pr_err' This is due to commit 84f5d36f4866 ("perf tools: Move pr_* debug macros into debug object") moving the pr_* macros into a new header file, but failing to update architectures other than x86. This patch adds the missing include, and fixes the build again. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1412076432-22045-1-git-send-email-will.deacon@xxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2c804d0f8fc7799981d9fdd8c88653541b28c1a7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 30 22:12:05 2014 -0700 ipv4: mentions skb_gro_postpull_rcsum() in inet_gro_receive() Proper CHECKSUM_COMPLETE support needs to adjust skb->csum when we remove one header. Its done using skb_gro_postpull_rcsum() In the case of IPv4, we know that the adjustment is not really needed, because the checksum over IPv4 header is 0. Lets add a comment to ease code comprehension and avoid copy/paste errors. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb51bbaf8dedf142a54a7ff58514a29b40d515bb Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Wed Oct 1 17:00:49 2014 +1000 fm10k: using vmalloc requires including linux/vmalloc.h Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 078efae00ffc76381c3248006e9cf0988163488f Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Mon Sep 15 17:44:18 2014 -0700 [SCSI] cxgb4i: avoid holding mutex in interrupt context cxgbi_inet6addr_handler() can be called in interrupt context, so use rcu protected list while finding netdev. This is observed as a scheduling in atomic oops when running over ipv6. Fixes: fc8d0590d914 ("libcxgbi: Add ipv6 api to driver") Fixes: 759a0cc5a3e1 ("cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api") Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Karen Xie <kxie@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: James Bottomley <JBottomley@xxxxxxxxxxxxx> commit 4598a0a6d22fadfb7b37f2b44ee7fdcb24632fcf Author: Waiman Long <Waiman.Long@xxxxxx> Date: Tue Sep 30 13:36:15 2014 -0400 perf symbols: Improve DSO long names lookup speed with rbtree With workload that spawns and destroys many threads and processes, it was found that perf-mem could took a long time to post-process the perf data after the target workload had completed its operation. The performance bottleneck was found to be the lookup and insertion of the new DSO structures (thousands of them in this case). In a dual-socket Ivy-Bridge E7-4890 v2 machine (30-core, 60-thread), the perf profile below shows what perf was doing after the profiled AIM7 shared workload completed: - 83.94% perf libc-2.11.3.so [.] __strcmp_sse42 - __strcmp_sse42 - 99.82% map__new machine__process_mmap_event perf_session_deliver_event perf_session__process_event __perf_session__process_events cmd_record cmd_mem run_builtin main __libc_start_main - 13.17% perf perf [.] __dsos__findnew __dsos__findnew map__new machine__process_mmap_event perf_session_deliver_event perf_session__process_event __perf_session__process_events cmd_record cmd_mem run_builtin main __libc_start_main So about 97% of CPU times were spent in the map__new() function trying to insert new DSO entry into the DSO linked list. The whole post-processing step took about 9 minutes. The DSO structures are currently searched linearly. So the total processing time will be proportional to n^2. To overcome this performance problem, the DSO code is modified to also put the DSO structures in a RB tree sorted by its long name in additional to being in a simple linked list. With this change, the processing time will become proportional to n*log(n) which will be much quicker for large n. However, the short name will still be searched using the old linear searching method. With that patch in place, the same perf-mem post-processing step took less than 30 seconds to complete. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Link: http://lkml.kernel.org/r/1412098575-27863-3-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 143f363618558478fd7b5156c343d21e74194987 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Jul 29 17:41:08 2014 +0200 btrfs: remove unused variable from btrfs_parse_options Signed-off-by: David Sterba <dsterba@xxxxxxx> commit aab110abcbbf06b5d52d9974b4a72d3c7cd38537 Author: David Sterba <dsterba@xxxxxxx> Date: Tue Jul 29 17:32:10 2014 +0200 btrfs: defrag, use unsigned type for extent thresh Signed type mismatches the ioctl structure, all extent calculations are done on unsigned types. Signed-off-by: David Sterba <dsterba@xxxxxxx> commit 34549ab09e62db9703811c6ed4715f2ffa1fd7fb Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Oct 1 08:05:22 2014 -0400 nfsd: eliminate "to_delegation" define We now have cb_to_delegation and to_delegation, which do the same thing and are defined separately in different .c files. Move the cb_to_delegation definition into a header file and eliminate the redundant to_delegation definition. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit c05a11f7b8b5bc67f2c9f726c52b59f67b1bfe7d Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 30 16:52:15 2014 -0300 ASoC: fsl: Do not force codecs selection by SND_SOC_FSL_ASOC_CARD The wm8962 driver uses the input subsystem, but it is selected by SND_SOC_FSL_ASOC_CARD, which can be built with CONFIG_INPUT disabled, resulting in this link error: ERROR: "input_event" [sound/soc/codecs/snd-soc-wm8962.ko] undefined! ERROR: "input_register_device" [sound/soc/codecs/snd-soc-wm8962.ko] undefined! ERROR: "devm_input_allocate_device" [sound/soc/codecs/snd-soc-wm8962.ko] undefined! Do not force the selection of the codecs by SND_SOC_FSL_ASOC_CARD to avoid such problem. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5f0ab05b67213ef33107b716e8596a480b5875f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 1 15:08:15 2014 +0300 ASoC: Intel: byt-rt5640: Enable DMIC interface for default DAPM route It turned out DMIC interface wasn't enabled/disabled runtime for active DMIC route in the rt5640 codec driver anymore after commit 71d97a794301 ("ASoC: rt5640: Use the platform data for DMIC settings"). Since DMIC interface must be enabled explicitly either by passing platform data to rt5640 codec driver or by calling new rt5640_dmic_enable() this patch adds a DMI quirk flag that is used to conditionally enable DMIC interface during sound card init time. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1400760c4637e1b3aa4460176d4f81ded58df393 Merge: f8a770c cd69dc8 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Oct 1 17:04:24 2014 +0100 Merge branch 'topic/rt5640' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit cd69dc8868d64cfa2993944607d9e97927d95987 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Oct 1 15:08:14 2014 +0300 ASoC: rt5640: Add function for enabling DMIC from ACPI probed machine There is no code enabling DMIC clock in systems that don't provide platform data for rt5640 after commit 71d97a794301 ("ASoC: rt5640: Use the platform data for DMIC settings"). I think it's worth to keep this static DMIC clock and alternative data pin setting during probe time. For making possible to use DMIC from ACPI probed machine (prior ACPI 5.1 with _DSD) this patch moves DMIC configuration to new exported rt5640_dmic_enable() that machine drivers can call. Please note, this patch moves DMIC configuration from i2c probe to codec probe in case platform data for rt5640 is set. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Cc: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f114ce605daa1fb9d4efa253ea6d5bd4802902af Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 1 16:02:12 2014 +0300 ASoC: davinvi-mcasp: Proper suspend/resume support while audio is active If the board is sent to suspend (deep sleep) the McASP context will be lost. In case when suspend happens during active audio we need to save and restore more registers, which was configured during hw_param times as well. We need to add more config registers, AFIFO control registers and we also need to save and restore the serializer configuration as well. Since the number of serializers depends on the SoC we need to allocate the memory for it based on the num_serializer for the given McASP instance. With this patch the ongoing stream will resume after resuming from deep sleep. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1cc0c054f380c1c477642b5d9d9d9f697f641dbc Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Wed Oct 1 16:02:11 2014 +0300 ASoC: davinci-mcasp: Convert the context save/restore to use array Instead of individual values use an array to store the registers need to be saved on suspend and restored on resume. It is going to be easier to add more registers to save and restore. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e66c98c7a0eacc33a9369a3ec086740044eb986c Author: Grant Likely <grant.likely@xxxxxxxxxx> Date: Wed Oct 1 16:57:07 2014 +0100 of: Fix NULL dereference in selftest removal code The selftest code removes its testcase data from the live tree when exiting, but if the testcases data tree contains an empty child of the root, then it causes an oops due to a NULL dereference. The reason is that the code tries to directly dereference the child pointer without checking first if a child is actually there. The solution is to pass the parent node into detach_node_and_children() instead of trying to pass the child. This required removing the code that attempts to remove all of the sibling nodes in detach_node_and_children(), which was never sensible in the first place. At the same time add a check to make sure the bounds of the nodes list are not exceeded by the testdata tree. If they are then abort. Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Gaurav Minocha <gaurav.minocha.os@xxxxxxxxx> commit a41988a050c0d77f8100ccc576d413a28797fa79 Merge: 6b74db0 3b6357a7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Oct 1 16:37:33 2014 +0200 Merge tag 'qcom-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/defconfig Pull "Qualcomm ARM Based defconfig Updates for v3.18" from Kumar Gala: * General defconfig update to match upstream changes * Enable IPQ806x & APQ8084 clk support * Enable pinctrl on MSM8960 & APQ8084 * Enable CPU_IDLE to get basic wfi support * Enable SPI NOR and MTD M25P80 support (used on AP148 board) * Enable SATA PHY support on IPQ806x and APQ8064 * Enable Fixed regulator and ARM MMCI support (mmc support on APQ8064) Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'qcom-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: qcom: Update defconfig ARM: qcom: Update defconfig commit 4a0efdc933680d908de11712a774a2c9492c3d5a Author: Hannes Reinecke <hare@xxxxxxx> Date: Wed Oct 1 14:32:31 2014 +0200 block: misplaced rq_complete tracepoint The rq_complete tracepoint was never issued for empty requests, causing the resulting blktrace information to never show any completion for those request. Signed-off-by: Hannes Reinecke <hare@xxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit fc2021fb9baf9ed375c8161b40b68e120e75c60e Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 12:07:07 2014 +0200 block: hd: remove deprecated IRQF_DISABLED This patch removes the use of the IRQF_DISABLED flag from drivers/block/hd.c It's a NOOP since 2.6.35 and it will be removed one day. This also removes a related comment which is obsolete too. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 45aa70d1f77e3b88f776a34cf2b38858d922ca9b Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Oct 1 09:59:33 2014 -0400 ARM: dts: keystone-k2l: fix mdio io start address The K2L MDIO io space has different start address. Hence, fix it to be 0x26200f00 according to TRM. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 9a84c8928dde3e032ec482a3f59f5f7e8929cca5 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Oct 1 09:58:25 2014 -0400 ARM: dts: keystone-k2e: fix mdio io start address The K2E MDIO io space has different start address. Hence, fix it to be 0x24200f00 according to TRM. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit b741bb2878a981db14bef1662d958aae43d168ff Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Oct 1 09:58:25 2014 -0400 ARM: dts: keystone-k2e: update usb1 node for dma properties Keystone supports dma-coherent on USB master and also needs dma-ranges to specify the hardware alias memory range in which DMA can be operational. Such configuration applied for USB0 devices, but It's missed for USB1 device which is present only in K2E SoC - hence apply it. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit cfb198ceed66cc7b7014f1185ff5d5e625805b7a Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Oct 1 09:58:25 2014 -0400 ARM: dts: keystone: fix io range for usb_phy0 The IO range size is set incorrectly for USB PHY0 deivice it should be 24 instead of 32. Otherwise, It causes USB PHY1 probing failure. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 19aeb5a65f1a6504fc665466c188241e7393d66f Author: Bob Peterson <rpeterso@xxxxxxxxxx> Date: Mon Sep 29 08:52:04 2014 -0400 GFS2: Make rename not save dirent location This patch fixes a regression in the patch "GFS2: Remember directory insert point", commit 2b47dad866d04f14c328f888ba5406057b8c7d33. The problem had to do with the rename function: The function found space for the new dirent, and remembered that location. But then the old dirent was removed, which often moved the eligible location for the renamed dirent. Putting the new dirent at the saved location caused file system corruption. This patch adds a new "save_loc" variable to struct gfs2_diradd. If 1, the dirent location is saved. If 0, the dirent location is not saved and the buffer_head is released as per previous behavior. Signed-off-by: Bob Peterson <rpeterso@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 38aea07167b6f51a42e09812212a000ce84afb77 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 09:51:02 2014 -0400 drm/radeon/cik: write gfx ucode version to ucode addr reg Helpful for debugging as the version shows up in a register dump. Cc: Jay Cornwall <jay.cornwall@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9d0223d5f883bd85f5b24a6eacb79ee5a446d648 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 30 09:25:32 2014 -0400 drm/radeon/si: print full CS when we hit a packet 0 We should never have a packet 0 in the command stream. Dump the full command stream to help debug. bug: https://bugs.freedesktop.org/show_bug.cgi?id=84500 Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d7952ddf6837d711231e37ddafe46f9960ef4d5a Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Mon Sep 29 22:44:03 2014 -0400 drm/radeon: remove unecessary includes The requirement for these was removed in: 0a168933976eb483da91161316bbbbcb74d00486 Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 080cbcb4f81299ff86e99f8ba12b692a58d0aa65 Author: Michele Curti <michele.curti@xxxxxxxxx> Date: Tue Sep 23 18:04:40 2014 +0200 drm/radeon/combios: declare legacy_connector_convert as static legacy_connector_convert is used in radeon_combios.c only, so declare it as static. Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7f6bf72aef689dc756b325e9f88840091991cb8d Author: Michele Curti <michele.curti@xxxxxxxxx> Date: Tue Sep 23 18:08:06 2014 +0200 drm/radeon/atombios: declare connector convert tables as static The tables: * supported_devices_connector_convert * supported_devices_connector_object_id_convert * object_connector_convert are used in redeon_atombios.c only, so declare them as static. Signed-off-by: Michele Curti <michele.curti@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit fc9dfeb1383287631ad5c5a676a2558b799db6e9 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 23 09:45:32 2014 -0400 drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table It's no longer used now that the underlying bugs are fixed. Reviewed-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Tested-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b2dccf24e7733b8975947319c7551a0837becb1c Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 23 09:42:09 2014 -0400 drm/radeon/dpm: drop clk/voltage dependency filters for BTC No longer needed now that the underlying bug was fixed in e07929810f0a19ddd756558290c7d72827cbfcd9 (drm/radeon/dpm: fix typo in vddci setup for eg/btc). bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 6aff1e282a5d811904d3d74c8382080ee57ba4c7 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 23 09:40:24 2014 -0400 drm/radeon/dpm: drop clk/voltage dependency filters for CI Not sure this was ever necessary for CI, was just done to be on the safe side. bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 186b1b2ba2a0684e3d2d3703427a993a3b35b16d Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 23 09:37:37 2014 -0400 drm/radeon/dpm: drop clk/voltage dependency filters for SI Not sure this was ever necessary for SI, was just done to be on the safe side. bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 7bf05cc1628679756495f15c69cecc1fd31e7c78 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Sep 23 09:34:06 2014 -0400 drm/radeon/dpm: drop clk/voltage dependency filters for NI No longer needed now that the underlying bug was fixed in b0880e87c1fd038b84498944f52e52c3e86ebe59 (drm/radeon/dpm: fix vddci setup typo on cayman). bug: https://bugs.freedesktop.org/show_bug.cgi?id=69721 Reviewed-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Tested-by: Alexandre Demers <alexandre.f.demers@xxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4adb34ef7821224255f447a9c07871ecbfbb6f92 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 18 18:07:08 2014 -0400 drm/radeon: disable audio when we disable hdmi (v2) This should allow the audio driver to get a better idea of whether the sink is connected or not. v2: fix copy/paste typo noticed by David Henningsson Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d3d8c141a333879719173a522a89532bf8d32229 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 18 17:26:39 2014 -0400 drm/radeon: split audio enable between eg and r600 (v2) Clean up the enable sequence as well. V2: clean up duplicate defines Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 721566768787f3b4790d22d993d70befdd440f64 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 18 16:36:08 2014 -0400 drm/radeon: consolidate r600_audio.c into r600_hdmi.c Most of that functionality is only used by r600_hdmi.c and I'm planning to change that further. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d740a93337e7b04b2b648fbc4bcf5f8726d98202 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 18 16:27:46 2014 -0400 drm/radeon: consolidate duplicate encode is digital function Only need one copy. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f68fdbe42539851f1bbf9a4dee5150f467a64c36 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Sep 18 16:19:04 2014 -0400 drm/radeon: fix register name to match internal name no functional change. Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ce2e4f0b75a567d25375b52476662c724304e476 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 11 10:00:43 2014 +0200 KVM: s390: count vcpu wakeups in stat.halt_wakeup This patch introduces the halt_wakeup counter used by common code and uses it to count vcpu wakeups done in s390 arch specific code. Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 7be81a46695d2088f848653f2bbec06bb178adce Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 19 15:55:20 2014 +0200 KVM: s390/facilities: allow TOD-CLOCK steering facility bit There is nothing to do for KVM to support TOD-CLOCK steering. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> commit 5235166fbc332c8b5dcf49e3a498a8b510a77449 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Tue Sep 30 12:54:56 2014 +0200 HID: usbhid: add another mouse that needs QUIRK_ALWAYS_POLL There is a second mouse sharing the same vendor strings but different IDs. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2013add4ce73c93ae2148969a9ec3ecc8b1e26fa Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Wed Oct 1 14:34:51 2014 +1000 powerpc/eeh: Show hex prefix for PE state sysfs As Michael suggested, the hex prefix for the output of EEH PE state sysfs entry (/sys/bus/pci/devices/xxx/eeh_pe_state) is always informative to users. Suggested-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e317c19470f6d690122519bf9ed1c9f21ea11906 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Tue Aug 19 17:45:37 2014 -0700 clk: samsung: register restart handlers for s3c2412 and s3c2443 S3C2412, S3C2443 and their derivatives contain a special software-reset register in their system-controller. Therefore register a restart handler for those. Tested on a s3c2416-based board, s3c2412 compile-tested. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 6f1294b5a87238c2f87f74a9942faf2f4ffa63b2 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Tue Aug 19 17:45:38 2014 -0700 clk: rockchip: add restart handler Add infrastructure to write the correct value to the restart register and register the restart notifier for both rk3188 (including rk3066) and rk3288. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 24c20f10583647e30afe87b6f6d5e14bc7b1cbc6 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 30 16:43:46 2014 +0200 scsi: add a CONFIG_SCSI_MQ_DEFAULT option Add a Kconfig option to enable the blk-mq path for SCSI by default to ease testing and deployment in setups that know they benefit from blk-mq. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Robert Elliott <elliott@xxxxxx> Tested-by: Robert Elliott <elliott@xxxxxx> commit e785060ea3a1c8e37a8bc1449c79e36bff2b5b13 Author: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:36 2014 +0300 ufs: definitions for phy interface - Adding some of the definitions missing in unipro.h, including power enumeration. - Read Modify Write Line helper function - Indication for the type of suspend Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 374a246e4ebda1fc55d537877bf2412e511ecc7b Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:35 2014 +0300 ufs: tune bkops while power managment events Add capability to control the auto bkops during suspend. If host explicitly enables the auto bkops (background operation) on device then only device would perform the bkops on its own. If auto bkops is not enabled explicitly and if the device reaches to state where it must do background operation, device would raise the urgent bkops exception event to host and then host will enable the auto bkops on device. This patch adds the option to choose whether auto bkops should be enabled during runtime suspend or not. Since we don't want to keep the device active to perform the non critical bkops, host will enable urgent bkops only. Keep auto-bkops enabled after resume if urgent bkops needed. If device bkops status shows that its in critical need of executing background operations, host should allow the device to continue doing background operations. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 856b348305c98d4e0c8e5eafa97c61443197f8d3 Author: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:34 2014 +0300 ufs: Add support for clock scaling using devfreq framework The clocks for UFS device will be managed by generic DVFS (Dynamic Voltage and Frequency Scaling) framework within kernel. This devfreq framework works with different governors to scale the clocks. By default, UFS devices uses simple_ondemand governor which scales the clocks up if the load is more than upthreshold and scales down if the load is less than downthreshold. Signed-off-by: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4cff6d991e4a291cf50fe2659da2ea9ad46620bf Author: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:33 2014 +0300 ufs: Add freq-table-hz property for UFS device Add freq-table-hz propery for UFS device to keep track of <min max> frequencies supported by UFS clocks. Signed-off-by: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1ab27c9cf8b63dd8dec9e17b5c17721c7f3b6cc7 Author: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:32 2014 +0300 ufs: Add support for clock gating The UFS controller clocks can be gated after certain period of inactivity, which is typically less than runtime suspend timeout. In addition to clocks the link will also be put into Hibern8 mode to save more power. The clock gating can be turned on by enabling the capability UFSHCD_CAP_CLK_GATING. To enable entering into Hibern8 mode as part of clock gating, set the capability UFSHCD_CAP_HIBERN8_WITH_CLK_GATING. The tracing events for clock gating can be enabled through debugfs as: echo 1 > /sys/kernel/debug/tracing/events/ufs/ufshcd_clk_gating/enable cat /sys/kernel/debug/tracing/trace_pipe Signed-off-by: Sahitya Tummala <stummala@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7eb584db73bebbc9852a14341431ed6935419bec Author: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:31 2014 +0300 ufs: refactor configuring power mode Sometimes, the device shall report its maximum power and speed capabilities, but we might not wish to configure it to use those maximum capabilities. This change adds support for the vendor specific host driver to implement power change notify callback. To enable configuring different power modes (number of lanes, gear number and fast/slow modes) it is necessary to split the configuration stage from the stage that reads the device max power mode. In addition, it is not required to read the configuration more than once, thus the configuration is stored after reading it once. Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 57d104c153d3d6d7bea60089e80f37501851ed2c Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:30 2014 +0300 ufs: add UFS power management support This patch adds support for UFS device and UniPro link power management during runtime/system PM. Main idea is to define multiple UFS low power levels based on UFS device and UFS link power states. This would allow any specific platform or pci driver to choose the best suited low power level during runtime and system suspend based on their power goals. bkops handlig: To put the UFS device in sleep state when bkops is disabled, first query the bkops status from the device and enable bkops on device only if device needs time to perform the bkops. START_STOP handling: Before sending START_STOP_UNIT to the device well-known logical unit (w-lun) to make sure that the device w-lun unit attention condition is cleared. Write protection: UFS device specification allows LUs to be write protected, either permanently or power on write protected. If any LU is power on write protected and if the card is power cycled (by powering off VCCQ and/or VCC rails), LU's write protect status would be lost. So this means those LUs can be written now. To ensures that UFS device is power cycled only if the power on protect is not set for any of the LUs, check if power on write protect is set and if device is in sleep/power-off state & link in inactive state (Hibern8 or OFF state). If none of the Logical Units on UFS device is power on write protected then all UFS device power rails (VCC, VCCQ & VCCQ2) can be turned off if UFS device is in power-off state and UFS link is in OFF state. But current implementation would disable all device power rails even if UFS link is not in OFF state. Low power mode: If UFS link is in OFF state then UFS host controller can be power collapsed to avoid leakage current from it. Note that if UFS host controller is power collapsed, full UFS reinitialization will be required on resume to re-establish the link between host and device. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 0ce147d48a3e3352859f0c185e98e8392bee7a25 Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:29 2014 +0300 ufs: introduce well known logical unit in ufs UFS device may have standard LUs and LUN id could be from 0x00 to 0x7F. UFS device specification use "Peripheral Device Addressing Format" (SCSI SAM-5) for standard LUs. UFS device may also have the Well Known LUs (also referred as W-LU) which again could be from 0x00 to 0x7F. For W-LUs, UFS device specification only allows the "Extended Addressing Format" (SCSI SAM-5) which means the W-LUNs would start from 0xC100 onwards. This means max. LUN number reported from UFS device could be 0xC17F hence this patch advertise the "max_lun" as 0xC17F which will allow SCSI mid layer to detect the W-LUs as well. But once the W-LUs are detected, UFSHCD driver may get the commands with SCSI LUN id upto 0xC17F but UPIU LUN id field is only 8-bit wide so it requires the mapping of SCSI LUN id to UPIU LUN id. This patch also add support for this mapping. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2a8fa600445c45222632810a4811ce820279d106 Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:28 2014 +0300 ufs: manually add well known logical units UFS device specification requires the UFS devices to support 4 well known logical units: "REPORT_LUNS" (address: 01h) "UFS Device" (address: 50h) "RPMB" (address: 44h) "BOOT" (address: 30h) UFS device's power management needs to be controlled by "POWER CONDITION" field of SSU (START STOP UNIT) command. But this "power condition" field will take effect only when its sent to "UFS device" well known logical unit hence we require the scsi_device instance to represent this logical unit in order for the UFS host driver to send the SSU command for power management. We also require the scsi_device instance for "RPMB" (Replay Protected Memory Block) LU so user space process can control this LU. User space may also want to have access to BOOT LU. This patch adds the scsi device instances for each of all well known LUs (except "REPORT LUNS" LU). Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 3a4bf06d1f6d7de17528b962bc91fcbb2e568b4e Author: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:27 2014 +0300 ufs: Active Power Mode - configuring bActiveICCLevel The maximum power consumption in active is determined by bActiveICCLevel. The configuration is done by reading max current supported by the regulators connected to VCC, VCCQ and VCCQ2 rails on the boards, and reading the current consumption levels from the device for each rails (vcc/vccq/vccq2) using power descriptor. We configure the bActiveICCLevel attribute, with the max value that correspond to the minimum-of(VCC-current-level,VCCQ-current-level, VCCQ2-current-level). In order to minimize resume latency, pre-fetch icc levels and reference clock during initialization and avoid reading them each link startup during resume. Signed-off-by: Raviv Shvili <rshvili@xxxxxxxxxxxxxx> Signed-off-by: Yaniv Gardi <ygardi@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1d337ec2f35e69a046dab0cc77e64e68d1cdcd8b Author: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:26 2014 +0300 ufs: improve init sequence In ->hce_enable_notify() callback the vendor specific initialization may carry out additional DME configuration using UIC commands and hence the UIC command completion interrupt enable bit should be set before the post reset notification. Add retries if the link-startup fails. This is required since due to hardware timing issues, the Uni-Pro link-startup might fail. The UFS HCI recovery procedure contradicts the Uni-Pro sequence. The UFS HCI specifies to resend DME_LINKSTARTUP command after IS.ULLS (link-lost interrupt) is received. The Uni-Pro specifies that if link-startup fails the link is in "down" state. The link-lost is indicated to the DME user only when the link is up. Hence, the UFS HCI recovery procedure of waiting for IS.ULLS and retrying link-startup may not work properly. At the end, if detection fails, power off (disable clocks, regulators, phy) if the UFS device detection fails. This saves power while UFS device is not embedded into the system. Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit da461cec9a1ff0a074cd1db47598ba36a1686ef4 Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:25 2014 +0300 ufs: refactor query descriptor API support Currently reading query descriptor is more tightened to each descriptor type. This patch generalize the approach and allows reading any parameter from any query descriptor. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6a771a656041f404fae143e5d753d37f5c0688e7 Author: Raviv Shvili <rshvili@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:24 2014 +0300 ufs: add voting support for host controller power Add the support for voting of the regulator powering the host controller logic. Signed-off-by: Raviv Shvili <rshvili@xxxxxxxxxxxxxx> Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c6e79dacd86fd7ddd452fa52b3f4ca996db31e49 Author: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:23 2014 +0300 ufs: Add clock initialization support Add generic clock initialization support for UFSHCD platform driver. The clock info is read from device tree using standard clock bindings. A generic max-clock-frequency-hz property is defined to save information on maximum operating clock frequency the h/w supports. Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit aa497613093412ee26ef4bfa4ffec8391553dfca Author: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:22 2014 +0300 ufs: Add regulator enable support UFS devices are powered by at most three external power supplies - - VCC - The flash memory core power supply, 2.7V to 3.6V or 1.70V to 1.95V - VCCQ - The controller and I/O power supply, 1.1V to 1.3V - VCCQ2 - Secondary controller and/or I/O power supply, 1.65V to 1.95V For some devices VCCQ or VCCQ2 are optional as they can be generated using internal LDO inside the UFS device. Add DT bindings for voltage regulators that can be controlled from host driver. Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5c0c28a84af9f9b6061bb4855a30e13d289b4ae1 Author: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:21 2014 +0300 ufs: Allow vendor specific initialization Some vendor specific controller versions might need to configure vendor specific - registers, clocks, voltage regulators etc. to initialize the host controller UTP layer and Uni-Pro stack. Provide some common initialization operations that can be used to configure vendor specifics. The methods can be extended in future, for example, for power mode transitions. The operations are vendor/board specific and hence determined with the help of compatible property in device tree. Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 693ad5ba135d40b1379e40e928123681e2aa2c50 Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:20 2014 +0300 scsi: don't add scsi_device if its already visible If LLD has added scsi device (by calling scsi_add_device) before scheduling async scsi_scan_host then scsi_finish_async_scan() will end up calling scsi_sysfs_add_sdev for scsi device which was already added by LLD. This patch fixes this issue by skipping the call to scsi_sysfs_add_sdev() if it's already visible to rest of the kernel. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 45341ca3fcacc8720c425e757a627ef81b65b1ee Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:32:19 2014 +0300 scsi: fix the type for well known LUs Some devices may respond with wrong type for well-known logical units. This patch forces well-known type for devices which doesn't report it correct. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5a11f7f829a8d1b5c1c4774afcd263a2066d3179 Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Date: Fri Sep 26 09:55:24 2014 -0700 drm/edid: Add missing interlaced flag to 576i@100 modes. CEA VICs 44 and 45 were missing DRM_MODE_FLAG_INTERLACE. Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7a42e83d36d2d0a68622320900dc4e880b1d920a Merge: c5939a7 bb6178b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Oct 1 19:27:38 2014 +1000 Merge branch 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux into drm-next fixups for nouveau and fencing * 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux: drm/nouveau: export reservation_object from dmabuf to ttm drm/ttm: add reservation_object as argument to ttm_bo_init drm: Pass dma-buf as argument to gem_prime_import_sg_table drm/nouveau: assign fence_chan->name correctly drm/nouveau: specify if interruptible wait is desired in nouveau_fence_sync drm/nouveau: bump driver patchlevel to 1.2.1 commit c5939a7360a69fc415bcfff6b10ced5227495a48 Merge: 1dadba8 1b11629 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Oct 1 19:27:01 2014 +1000 Merge tag 'topic/core-stuff-2014-09-29' of git://anongit.freedesktop.org/drm-intel into drm-next Ok, here's the update core-stuff pull request with the locking fixup patch fixed up with another patch. * tag 'topic/core-stuff-2014-09-29' of git://anongit.freedesktop.org/drm-intel: drm: Drop grab fpriv->fbs_lock in drm_fb_release drm/udl: use container_of to resolve udl_fbdev from drm_fb_helper drm/ast: use container_of to resolve ast_fbdev from drm_fb_helper drm/gma500: use container_of to resolve psb_fbdev from drm_fb_helper drm/qxl: use container_of to resolve qxl_fbdev from drm_fb_helper drm/nouveau: use container_of to resolve nouveau_plane from drm_plane drm/nouveau: use container_of to resolve nouveau_fbdev from drm_fb_helper drm/radeon: use container_of to resolve radeon_fbdev from drm_fb_helper drm/mgag200: use container_of to resolve mga_fbdev from drm_fb_helper drm/cirrus: use container_of to resolve cirrus_fbdev from drm_fb_helper drm: Improve debug output for drm_wait_one_vblank drm: Fixup locking for universal cursor planes drm: Don't update vblank timestamp when the counter didn't change commit bb6178b04f5ef6f62990306713fb6afdf5d8bc56 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:15 2014 +0100 drm/nouveau: export reservation_object from dmabuf to ttm Adds an extra argument to nouveau_bo_new, which is only used in nouveau_prime.c. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit aec1d96c530674f634730bbc604a807f1ba65bfb Merge: fc69ed7 6cd6d94 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Oct 1 11:04:37 2014 +0200 Merge tag 'tags/restart-handler-for-v3.18' into v3.18-next/cpuclk Immutable branch with restart handler patches for v3.18 commit fc69ed70c16a31d6a77ec47a30a9fe941f763f1e Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Tue Sep 30 11:12:04 2014 +0800 clk: rockchip: rk3288: i2s_frac adds flag to set parent's rate The relation of i2s nodes as follows: i2s_src 0 0 594000000 0 i2s_frac 0 0 11289600 0 i2s_pre 0 0 11289600 0 sclk_i2s0 0 0 11289600 0 i2s0_clkout 0 0 11289600 0 hclk_i2s0 1 1 99000000 0 sclk_i2s0 is the master clock, when to set rate of sclk_i2s0, should allow to set its parent's rate, by add flag CLK_SET_RATE_PARENT for "i2s_frac", "i2s_pre", "i2s0_clkout" and "sclk_i2s0". Tested on rk3288 board using max98090, with command "aplay <music.wav>" Change-Id: I12faad082566532b65a7de8c0a6845e1c17870e6 Signed-off-by: Jianqun <jay.xu@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ebb69c95175609990af708ec90c46530f5a2c819 Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Date: Tue Sep 30 10:30:22 2014 -0700 drm/i915: Enable pixel replicated modes on BDW and HSW. Haswell and later silicon has added a new pixel replication register to the pipe timings for each transcoder. Now in addition to the DPLL_A_MD register for the pixel clock double, we also need to write to the TRANS_MULT_n (0x6002c) register to double the pixel data. Writing to the DPLL only double the pixel clock. ver2: Macro name change from MULTIPLY to PIPE_MULTI. (Daniel) ver3: Do not set pixel multiplier if transcoder is eDP (Ville) ver4: Macro name change to PIPE_MULT and default else pixel_multiplier Cc: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Appease checkpatch and move one hunk back into the right place that git am misplace!?] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ae6e89f7409cb5d218bb728326eba9c650d9700 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 23 12:08:09 2014 -0400 HID: wacom: implement the finger part of the HID generic handling Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7704ac937345d4b502062952657027234aa86a37 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 23 12:08:08 2014 -0400 HID: wacom: implement generic HID handling for pen generic devices ISDv4 and v5 are plain HID devices. We can directly implement a generic HID parsing/handling and remove the need to manually add those PID in the list of supported devices. This patch implements the pen support only. The finger part will come in a later patch. To be properly notified of an .event() and a .report(), we need to force hid-core to go through the HID parsing. By default, wacom.ko binds only hidraw, so the hid parsing is not done by hid-core. When a true HID device is there, we add the flag HID_CLAIMED_DRIVER to hid->claimed which will force hid-core to parse the incoming reports. (Note that this can be easily backported by directly setting the .claimed flag to HID_CLAIMED_DRIVER even if hid-core does not support HID_CONNECT_DRIVER) Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 494078b0bb578c4cf1e00275dd3224d793013488 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 23 12:08:07 2014 -0400 HID: wacom: move allocation of inputs earlier This allows to have the input devices ready in while parsing the reports descriptor. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2546dacd3e0e48c40bbb99caf01455f1ade9bb24 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 23 12:08:06 2014 -0400 HID: wacom: split out input allocation and registration If the input can be created earlier during probe, we can already populate them while reading the report descriptor. This way, we can rely on the hid subsystem directly for tablets which already provide a meaningful report descriptor (like ISDv4-5). This patch only splits the allocation and registration, but do not change where we allocate the input. This will come in a later patch. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7fefeec5176861c2747b8dcd9656acf42c288ded Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 23 12:08:05 2014 -0400 HID: wacom: rename failN with some meaningful information When we have to deal with new elements in probe, having the exit labels named sequencially is a pain to maintain. Put a meaningful name instead so that we do not have to renumber them on inserts. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Acked-by: Jason Gerecke <killertofu@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f0a0c1cedfe421b32d2aa39971c43f83f8e5fa42 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Oct 1 07:27:46 2014 +0200 ieee802154: fix __init functions Commit 3243acd37fd9 ("ieee802154: add __init to lowpan_frags_sysctl_register") added __init to lowpan_frags_ns_sysctl_register instead of lowpan_frags_sysctl_register Suggested-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7ba749e01461a3802d22157fc0e6c4ecbe0dd32 Author: Feng Kan <fkan@xxxxxxx> Date: Tue Sep 30 16:25:04 2014 -0700 Documentation: power: reset: Add documentation for generic SYSCON reboot driver Add documentation for generic SYSCON reboot driver. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 09fb07bcaf529a21612fbebd1297d8c5dd1abf1b Author: Feng Kan <fkan@xxxxxxx> Date: Tue Sep 30 16:25:03 2014 -0700 power: reset: Add generic SYSCON register mapped reset Add a generic SYSCON register mapped reset mechanism. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a3c0c3e79066c78b890c078998c8c6bd577f1d21 Author: Puthikorn Voravootivat <puthik@xxxxxxxxxxxx> Date: Tue Sep 30 11:18:56 2014 -0700 bq27x00_battery: Fix flag reading for bq27742 This patch fix the following issues. - Flag for bq27742 is 2 bytes contracy to 1 byte for older hardware - Don't read FLAG_CI as bq27742 does not have it - Use Battery full capacity register as last measure discharge Signed-off-by: Puthikorn Voravootivat <puthik@xxxxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d1e6dc91b532d3d3dbbd0fa356b775ca320dc2c2 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:31 2014 +0100 arm64: Add architectural support for PCI Use the generic PCI domain and OF functions to provide support for PCI on arm64. [bhelgaas: Change comments to use generic PCI, not just PCIe. Nothing at this level is PCIe-specific.] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 8b921acfeffdb0b45085da862fc301a2d25ed2cf Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:30 2014 +0100 PCI: Add pci_remap_iospace() to map bus I/O resources Add pci_remap_iospace() to map bus I/O resources into the CPU virtual address space. Architectures with special needs may provide their own version, but most should be able to use this one. This function is useful for PCI host bridge drivers that need to map the PCI I/O resources into virtual memory space. [bhelgaas: phys_addr description, drop temporary "err" variable] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit cbe4097f8ae699ebbdaf8c95ecab38d47e0bd5da Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:28 2014 +0100 of/pci: Add support for parsing PCI host bridge resources from DT Provide a function to parse the PCI DT ranges that can be used to create a pci_host_bridge structure together with its associated bus. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> [make io_base parameter optional] Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> commit 41e5c0f81d3e676d671d96a0a1fafb27abfbd9d7 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:27 2014 +0100 of/pci: Add pci_get_new_domain_nr() and of_get_pci_domain_nr() Add pci_get_new_domain_nr() to allocate a new domain number and of_get_pci_domain_nr() to retrieve the PCI domain number of a given device from DT. Host bridge drivers or architecture-specific code can choose to implement their PCI domain number policy using these two functions. Using of_get_pci_domain_nr() guarantees a stable PCI domain number on every boot provided that all host bridge controllers are assigned a number in the device tree using "linux,pci-domain" property. Mixing use of pci_get_new_domain_nr() and of_get_pci_domain_nr() is not recommended as it can lead to potentially conflicting domain numbers being assigned to root buses behind different host bridges. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> commit 670ba0c8883b576d0aec28bd7a838358a4be1406 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Mon Sep 29 15:29:26 2014 +0100 PCI: Add generic domain handling The handling of PCI domains (or PCI segments in ACPI speak) is usually a straightforward affair but its implementation is currently left to the architectural code, with pci_domain_nr(b) querying the value of the domain associated with bus b. This patch introduces CONFIG_PCI_DOMAINS_GENERIC as an option that can be selected if an architecture wants a simple implementation where the value of the domain associated with a bus is stored in struct pci_bus. The architectures that select CONFIG_PCI_DOMAINS_GENERIC will then have to implement pci_bus_assign_domain_nr() as a way of setting the domain number associated with a root bus. All child buses except the root bus will inherit the domain_nr value from their parent. Signed-off-by: Catalin Marinas <Catalin.Marinas@xxxxxxx> [Renamed pci_set_domain_nr() to pci_bus_assign_domain_nr()] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> commit 0b0b0893d49b34201a6c4416b1a707b580b91e3d Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:25 2014 +0100 of/pci: Fix the conversion of IO ranges into IO resources The ranges property for a host bridge controller in DT describes the mapping between the PCI bus address and the CPU physical address. The resources framework however expects that the IO resources start at a pseudo "port" address 0 (zero) and have a maximum size of IO_SPACE_LIMIT. The conversion from PCI ranges to resources failed to take that into account, returning a CPU physical address instead of a port number. Also fix all the drivers that depend on the old behaviour by fetching the CPU physical address based on the port number where it is being needed. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Thierry Reding <thierry.reding@xxxxxxxxx> CC: Simon Horman <horms@xxxxxxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> commit 52656e6cf7be6955e3ea01dbb835b43119278a12 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 24 15:37:02 2014 -0700 f2fs: clean up f2fs_ioctl functions This patch cleans up f2fs_ioctl functions for better readability. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 8a21984d5d86540ba32b4b346d8fe6426018b7a7 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Sep 25 14:39:17 2014 +0300 f2fs: potential shift wrapping buf in f2fs_trim_fs() My static checker complains that segment is a u64 but only the lower 31 bits can be used before we hit a shift wrapping bug. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 44c16156512f33c81e382a1e1df9524e26a7026a Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Sep 25 11:55:53 2014 -0700 f2fs: call f2fs_unlock_op after error was handled This patch relocates f2fs_unlock_op in every directory operations to be called after any error was processed. Otherwise, the checkpoint can be entered with valid node ids without its dentry when -ENOSPC is occurred. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7cd8558baa4e4588a80ecb31cb30784195763cdd Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 23 11:23:01 2014 -0700 f2fs: check the use of macros on block counts and addresses This patch cleans up the existing and new macros for readability. Rule is like this. ,-----------------------------------------> MAX_BLKADDR -, | ,------------- TOTAL_BLKS ----------------------------, | | | | ,- seg0_blkaddr ,----- sit/nat/ssa/main blkaddress | block | | (SEG0_BLKADDR) | | | | (e.g., MAIN_BLKADDR) | address 0..x................ a b c d ............................. | | global seg# 0...................... m ............................. | | | | `------- MAIN_SEGS -----------' `-------------- TOTAL_SEGS ---------------------------' | | seg# 0..........xx.................. = Note = o GET_SEGNO_FROM_SEG0 : blk address -> global segno o GET_SEGNO : blk address -> segno o START_BLOCK : segno -> starting block address Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 309cc2b6e7ae6672ff9744fe07735ed234a8994e Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 22 11:40:48 2014 -0700 f2fs: refactor flush_nat_entries to remove costly reorganizing ops Previously, f2fs tries to reorganize the dirty nat entries into multiple sets according to its nid ranges. This can improve the flushing nat pages, however, if there are a lot of cached nat entries, it becomes a bottleneck. This patch introduces a new set management flow by removing dirty nat list and adding a series of set operations when the nat entry becomes dirty. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4b2fecc84655055a6a1fe9151786992ac04b56ce Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Sep 20 22:06:39 2014 -0700 f2fs: introduce FITRIM in f2fs_ioctl This patch introduces FITRIM in f2fs_ioctl. In this case, f2fs will issue small discards and prefree discards as many as possible for the given area. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 75ab4cb8301adb3a02a96c5c03c837ed941f1bc5 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Sep 20 21:57:51 2014 -0700 f2fs: introduce cp_control structure This patch add a new data structure to control checkpoint parameters. Currently, it presents the reason of checkpoint such as is_umount and normal sync. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ca605b7dd740c8909408d67911d8ddd272c2b320 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue Sep 23 11:37:44 2014 -0400 sparc64: Add vio_set_intr() to enable/disable Rx interrupts The vio_set_intr() API should be used by VIO consumers to enable/disable Rx interrupts to facilitate deferred processing in softirq/bottom-half context. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d0aedcd4f14a22e23b313f42b7e6e6ebfc0fbc31 Author: Dwight Engen <dwight.engen@xxxxxxxxxx> Date: Fri Sep 19 09:43:02 2014 -0400 vio: fix reuse of vio_dring slot vio_dring_avail() will allow use of every dring entry, but when the last entry is allocated then dr->prod == dr->cons which is indistinguishable from the ring empty condition. This causes the next allocation to reuse an entry. When this happens in sunvdc, the server side vds driver begins nack'ing the messages and ends up resetting the ldc channel. This problem does not effect sunvnet since it checks for < 2. The fix here is to just never allocate the very last dring slot so that full and empty are not the same condition. The request start path was changed to check for the ring being full a bit earlier, and to stop the blk_queue if there is no space left. The blk_queue will be restarted once the ring is only half full again. The number of ring entries was increased to 512 which matches the sunvnet and Solaris vdc drivers, and greatly reduces the frequency of hitting the ring full condition and the associated blk_queue stop/starting. The checks in sunvent were adjusted to account for vio_dring_avail() returning 1 less. Orabug: 19441666 OraBZ: 14983 Signed-off-by: Dwight Engen <dwight.engen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5eed69ffd248c9f68f56c710caf07db134aef28b Author: Dwight Engen <dwight.engen@xxxxxxxxxx> Date: Fri Sep 19 09:42:53 2014 -0400 sunvdc: limit each sg segment to a page ldc_map_sg() could fail its check that the number of pages referred to by the sg scatterlist was <= the number of cookies. This fixes the issue by doing a similar thing to the xen-blkfront driver, ensuring that the scatterlist will only ever contain a segment count <= port->ring_cookies, and each segment will be page aligned, and <= page size. This ensures that the scatterlist is always mappable. Orabug: 19347817 OraBZ: 15945 Signed-off-by: Dwight Engen <dwight.engen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de5b73f08468b4fc5e2f6d1505f650262622f78b Author: Allen Pais <allen.pais@xxxxxxxxxx> Date: Fri Sep 19 09:42:26 2014 -0400 sunvdc: compute vdisk geometry from capacity The LDom diskserver doesn't return reliable geometry data. In addition, the types for all fields in the vio_disk_geom are u16, which were being truncated in the cast into the u8's of the Linux struct hd_geometry. Modify vdc_getgeo() to compute the geometry from the disk's capacity in a manner consistent with xen-blkfront::blkif_getgeo(). Signed-off-by: Dwight Engen <dwight.engen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9bce21828d54a95143f1b74619705c2dd8e88b92 Author: Allen Pais <allen.pais@xxxxxxxxxx> Date: Fri Sep 19 09:42:14 2014 -0400 sunvdc: add cdrom and v1.1 protocol support Interpret the media type from v1.1 protocol to support CDROM/DVD. For v1.0 protocol, a disk's size continues to be calculated from the geometry returned by the vdisk server. The geometry returned by the server can be less than the actual number of sectors available in the backing image/device due to the rounding in the division used to compute the geometry in the vdisk server. In v1.1 protocol a disk's actual size in sectors is returned during the handshake. Use this size when v1.1 protocol is negotiated. Since this size will always be larger than the former geometry computed size, disks created under v1.0 will be forwards compatible to v1.1, but not vice versa. Signed-off-by: Dwight Engen <dwight.engen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e156ee56cbe26c9e8df6619dac1a993245afc1d5 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Tue Sep 30 14:24:38 2014 -0700 doc/kernel-parameters.txt: clarify clk_ignore_unused Refine the definition around clk_ignore_unused, which caused some confusion recently on the linux-fbdev and linux-arm-kernel mailing lists[0]. [0] http://lkml.kernel.org/r/<20140929135358.GC30998@ulmo> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit b4b56796fe635484d049960ee06a6d435634ab16 Merge: 72c23f0 1c6dcbe Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 30 17:22:02 2014 -0400 Merge branch 'client-4.2' into linux-next Merge NFSv4.2 client SEEK implementation from Anna * client-4.2: (55 commits) NFS: Implement SEEK NFSD: Implement SEEK NFSD: Add generic v4.2 infrastructure svcrdma: advertise the correct max payload nfsd: introduce nfsd4_callback_ops nfsd: split nfsd4_callback initialization and use nfsd: introduce a generic nfsd4_cb nfsd: remove nfsd4_callback.cb_op nfsd: do not clear rpc_resp in nfsd4_cb_done_sequence nfsd: fix nfsd4_cb_recall_done error handling nfsd4: clarify how grace period ends nfsd4: stop grace_time update at end of grace period nfsd: skip subsequent UMH "create" operations after the first one for v4.0 clients nfsd: set and test NFSD4_CLIENT_STABLE bit to reduce nfsdcltrack upcalls nfsd: serialize nfsdcltrack upcalls for a particular client nfsd: pass extra info in env vars to upcalls to allow for early grace period end nfsd: add a v4_end_grace file to /proc/fs/nfsd lockd: add a /proc/fs/lockd/nlm_end_grace file nfsd: reject reclaim request when client has already sent RECLAIM_COMPLETE nfsd: remove redundant boot_time parm from grace_done client tracking op ... commit 72c23f0819977d37924af92a42a9b7fbfd1c95d8 Merge: 3fc3edf d1f456b Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 30 17:21:41 2014 -0400 Merge branch 'bugfixes' into linux-next * bugfixes: NFSv4.1: Fix an NFSv4.1 state renewal regression NFSv4: fix open/lock state recovery error handling NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails NFS: Fabricate fscache server index key correctly SUNRPC: Add missing support for RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT nfs: fix duplicate proc entries commit d1f456b0b9545f1606a54cd17c20775f159bd2ce Author: Andy Adamson <andros@xxxxxxxxxx> Date: Mon Sep 29 12:31:57 2014 -0400 NFSv4.1: Fix an NFSv4.1 state renewal regression Commit 2f60ea6b8ced ("NFSv4: The NFSv4.0 client must send RENEW calls if it holds a delegation") set the NFS4_RENEW_TIMEOUT flag in nfs4_renew_state, and does not put an nfs41_proc_async_sequence call, the NFSv4.1 lease renewal heartbeat call, on the wire to renew the NFSv4.1 state if the flag was not set. The NFS4_RENEW_TIMEOUT flag is set when "now" is after the last renewal (cl_last_renewal) plus the lease time divided by 3. This is arbitrary and sometimes does the following: In normal operation, the only way a future state renewal call is put on the wire is via a call to nfs4_schedule_state_renewal, which schedules a nfs4_renew_state workqueue task. nfs4_renew_state determines if the NFS4_RENEW_TIMEOUT should be set, and the calls nfs41_proc_async_sequence, which only gets sent if the NFS4_RENEW_TIMEOUT flag is set. Then the nfs41_proc_async_sequence rpc_release function schedules another state remewal via nfs4_schedule_state_renewal. Without this change we can get into a state where an application stops accessing the NFSv4.1 share, state renewal calls stop due to the NFS4_RENEW_TIMEOUT flag _not_ being set. The only way to recover from this situation is with a clientid re-establishment, once the application resumes and the server has timed out the lease and so returns NFS4ERR_BAD_SESSION on the subsequent SEQUENCE operation. An example application: open, lock, write a file. sleep for 6 * lease (could be less) ulock, close. In the above example with NFSv4.1 delegations enabled, without this change, there are no OP_SEQUENCE state renewal calls during the sleep, and the clientid is recovered due to lease expiration on the close. This issue does not occur with NFSv4.1 delegations disabled, nor with NFSv4.0, with or without delegations enabled. Signed-off-by: Andy Adamson <andros@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1411486536-23401-1-git-send-email-andros@xxxxxxxxxx Fixes: 2f60ea6b8ced (NFSv4: The NFSv4.0 client must send RENEW calls...) Cc: stable@xxxxxxxxxxxxxxx # 3.2.x Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c611529e7cd3465ec0eada0f44200e8420c38908 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:08 2014 -0400 sd: Honor block layer integrity handling flags A set of flags introduced in the block layer enable better control over how protection information is handled. These flags are useful for both error injection and data recovery purposes. Checking can be enabled and disabled for controller and disk, and the guard tag format is now a per-I/O property. Update sd_protect_op to communicate the relevant information to the low-level device driver via a set of flags in scsi_cmnd. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 163a4e7473061388bba0899a1a063bae44e1715a Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Mon Sep 29 19:47:59 2014 -0400 sparc: VIO protocol version 1.6 Add VIO protocol version 1.6 interfaces. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09bba1ca558f6e3a5cf3ae095d59f29f8c464b34 Merge: a12a601 a2b78e9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 30 17:10:47 2014 -0400 Merge branch 'sunvnet-jumbograms' David L Stevens says: ==================== sunvnet: add jumbo frames support This patch set updates the sunvnet driver to version 1.6 of the VIO protocol to support per-port exchange of MTU information and allow non-standard MTU sizes, including jumbo frames. Using large MTUs shows a nearly 5X throughput improvement Linux-Solaris and > 10X throughput improvement Linux-Linux. Changes from v8: -add a short timeout to free pending skbs if a new transmit doesn't do it first per Dave Miller <davem@xxxxxxxxxxxxx> Changes from v7: -handle skb allocation failures in vnet_skb_shape() per Dave Miller <davem@xxxxxxxxxxxxx> Changes from v6: -made kernel transmit path zero-copy to remove memory n^2 scaling issue raised by Raghuram Kothakota <Raghuram.Kothakota@xxxxxxxxxx> Changes from v5: - fixed comment per Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Changes from v4: - changed VNET_MAXPACKET per David Laight <David.Laight@xxxxxxxxxx> - added cookies to support non-contiguous buffers of max size Changes from v3: - added version functions per Dave Miller <davem@xxxxxxxxxxxxx> - moved rmtu to vnet_port per Dave Miller <davem@xxxxxxxxxxxxx> - explicitly set options bits and capability flags to 0 per Raghuram Kothakota <Raghuram.Kothakota@xxxxxxxxxx> Changes from v2: - make checkpatch clean Changes from v1: - fix brace formatting per Dave Miller <davem@xxxxxxxxxxxxx> ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2b78e9b2cac897c7fb843922d49b2571dd84a76 Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Mon Sep 29 19:48:24 2014 -0400 sunvnet: generate ICMP PTMUD messages for smaller port MTUs This patch sends ICMP and ICMPv6 messages for Path MTU Discovery when a remote port MTU is smaller than the device MTU. This allows mixing newer VIO protocol devices that support MTU negotiation with older devices that do not on the same vswitch. It also allows Linux-Linux LDOMs to use 64K-1 data packets even though Solaris vswitch is limited to <16K MTU. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 42db672dca5b74f9c85c318b74b3b298e86cbe8e Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Mon Sep 29 19:48:18 2014 -0400 sunvnet: allow admin to set sunvnet MTU This patch allows an admin to set the MTU on a sunvnet device to arbitrary values between the minimum (68) and maximum (65535) IPv4 packet sizes. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e845f4cbbd2ef81846c2ab5dca46d88fb2717ee Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Mon Sep 29 19:48:11 2014 -0400 sunvnet: make transmit path zero-copy in the kernel This patch removes pre-allocated transmit buffers and instead directly maps pending packets on demand. This saves O(n^2) maximum-sized transmit buffers, for n hosts on a vswitch, as well as a copy to those buffers. Single-stream TCP throughput linux-solaris dropped ~5% for 1500-byte MTU, but linux-linux at 1500-bytes increased ~20%. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4defc775424a3501caf98d266a8d7616fa53819 Author: David L Stevens <david.stevens@xxxxxxxxxx> Date: Mon Sep 29 19:47:59 2014 -0400 sunvnet: upgrade to VIO protocol version 1.6 This patch upgrades the sunvnet driver to support VIO protocol version 1.6. In particular, it adds per-port MTU negotiation, allowing MTUs other than ETH_FRAMELEN with ports using newer VIO protocol versions. Signed-off-by: David L Stevens <david.stevens@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a12a601ed163578084a48708ae376805f79a1ccf Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Tue Sep 30 09:49:55 2014 +0800 tcp: Change tcp_slow_start function to return void No caller uses the return value, so make this function return void. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91f8ae823f2be0ea3863360dc9327ab573a8f183 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Tue Sep 30 18:36:26 2014 +0200 PCI: designware: Setup and clear exactly one MSI at a time The setup_irq function is supposed to set up exactly one MSI IRQ. Multiple IRQ setup is handled differently, to respect the choices made by the upper layers. Also only clear one MSI IRQ at a time; the PCI core will call into this function multiple times if it has to tear down more than one MSI IRQ. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> commit 3243acd37fd9b7fc4b19318eddf28b418b3b060a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 30 22:34:08 2014 +0200 ieee802154: add __init to lowpan_frags_sysctl_register lowpan_frags_sysctl_register is only called by __init lowpan_net_frag_init (part of the lowpan module). Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d4a2f9a33ea0d9964afca92b9b62e943c00b904 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 30 22:24:04 2014 +0200 irda: add __init to irlan_open irlan_open is only called by __init irlan_init in same module. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72d099e2571b3b1bcf8cddb917f0cde4e60c354d Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Tue Sep 30 09:39:00 2014 -0700 next: mips: bpf: Fix build failure Fix: arch/mips/net/bpf_jit.c: In function 'build_body': arch/mips/net/bpf_jit.c:762:6: error: unused variable 'tmp' cc1: all warnings being treated as errors make[2]: *** [arch/mips/net/bpf_jit.o] Error 1 Seen when building mips:allmodconfig in -next since next-20140924. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 893f3f62dc7ade3700cdceed23ce38bb92e3966b Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Sep 29 20:40:09 2014 -0600 toshiba_acpi: Change HCI/SCI functions return code type Currently the HCI/SCI read/write functions are returning the status of the ACPI call and also assigning the returned value of the HCI/SCI function, however, only the HCI/SCI status is being checked. This patch changes such functions, returning the value of the HCI/SCI function instead of the ACPI call status, eliminating one parameter, and returning something useful that indeed is being checked. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 1864bbc207756c8a3e6e3fe585c11853d28a579a Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Sep 29 20:40:08 2014 -0600 toshiba_acpi: Unify return codes prefix from HCI/SCI to TOS The return codes are split in between HCI/SCI prefixes, but they are shared (used) by both interfaces, mixing hci_read/write calls with SCI_* return codes, and sci_read/write calls with HCI_* ones. This patch changes the prefix of the return codes definitions, dropping the HCI/SCI naming and instead replacing it with TOS (for TOShiba). Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 258c590326a9340bc63a46f890e8601d37bde4d7 Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Mon Sep 29 20:40:07 2014 -0600 toshiba_acpi: Rename hci_raw to tci_raw The function name hci_raw was used before to reflect a raw (read/write) call to Toshiba's Hardware Configuration Interface (HCI), however, since the introduction of the System Configuration Interface (SCI), that "name" no longer applies. This patch changes the name of that function to tci_raw (for Toshiba Configuration Interface), and change the comments about it. Also, the HCI_WORDS definition was changed to TCI_RAW, to better reflect that we're no longer using pure HCI calls, but a combination of HCI and SCI, which form part of the Toshiba Configuration Interface. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit c8bc5f1b90ce0313ce8adeafded5e8516b3847ee Merge: fe82dce 81da57e Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 22:44:54 2014 +0200 Merge tag 'pull_req_20140929' of git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq into pm-devfreq Pull devfreq changes for v3.18 from MyungJoo Ham. * tag 'pull_req_20140929' of git://git.kernel.org/pub/scm/linux/kernel/git/mzx/devfreq: PM / devfreq: exynos: Enable building exynos PPMU as module PM / devfreq: Export helper functions for drivers PM / devfreq: Remove ARCH_HAS_OPP completely commit 9ba10afe3202aaf3ace1e696ff017d0c0bf4e7a9 Merge: 4cb53f3 7521519 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 30 16:37:13 2014 -0400 Merge branch 'pxa168_eth' Antoine Tenart says: ==================== ARM: Berlin: Ethernet support This series introduce support for the Ethernet controller on Berlin SoCs, using the existing pxa168 Ethernet driver. In order to do this, DT support is added to the driver alongside some other modifications and fixes. This has been tested on a Berlin BG2Q DMP board. Changes since v5: - fixed the build when building the driver as a module Changes since v4: - removed the phy-addr property and added a phy subnode - added COMPILE_TEST for the pxa168_eth driver Changes since v3: - moved the addition of pxa168_eth_get_mac_address() to the patch using it first Changes since v2: - reworked how the MAC address is configured - made the clock anonymous Changes since v1: - removed custom Berlin Ethernet driver - used the pxa168 Ethernet driver instead - made modifications to the pxa168 driver (DT support, fixes) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 75215193b975d9b5663f21d885c9f794de787328 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:16 2014 +0200 ARM: dts: berlin: enable the Ethernet port on the BG2Q DMP This patch enables the Ethernet port on the Marvell Berlin2Q DMP board. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdc06cd701fc9eed0e87293f5f12d1cedcaec9dd Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:15 2014 +0200 ARM: dts: berlin: add the Ethernet node This patch adds the Ethernet node, enabling the network unit on Berlin BG2Q SoCs. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a140fcb2ede90980ef455b57995d6f1bd76084c0 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:14 2014 +0200 net: pxa168_eth: allow to compile the pxa168_eth driver for tests Add a dependency to COMPILE_TEST so that the driver can be compiled for test purposes. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fdccfc12c577aaf7aa33652cb85ad50fde44bbd Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:13 2014 +0200 net: pxa168_eth: allow Berlin SoCs to use the pxa168_eth driver Berlin SoCs have an Ethernet controller compatible with the pxa168. Allow these SoCs to use the pxa168_eth driver. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 78b9b2c4cd77c3416a3f098b0eda2a67f2dfe586 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:12 2014 +0200 net: pxa168_eth: rework the MAC address setup This patch rework the way the MAC address is retrieved. The MAC address can now, in addition to being random, be set in the device tree or retrieved from the Ethernet controller MAC address registers. The probing function will try to get a MAC address in the following order: - From the device tree. - From the Ethernet controller MAC address registers. - Generate a random one. This patch also adds a function to read the MAC address from the Ethernet Controller registers. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39830689ef0a935a4a2ac35c51568f483e1c5f7f Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:11 2014 +0200 net: pxa168_eth: set the mac address on the Ethernet controller When changing the MAC address, in addition to updating the dev_addr in the net_device structure, this patch also update the MAC address registers (high and low) of the Ethernet controller with the new MAC. The address stored in these registers is used for IEEE 802.3x Ethernet flow control, which is already enabled. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09f5da1b6afbebaa0e04e65c7cd732099686ec5a Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:10 2014 +0200 net: pxa168_eth: fix Ethernet flow control status IEEE 802.3x Ethernet flow control is disabled when bit (1 << 2) is set in the port status register. Fix the flow control detection in the link event handling function which was relying on the opposite assumption. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18b4bad312ffc82410173f6f265d43f8585d7e65 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:09 2014 +0200 Documentation: bindings: net: add the Marvell PXA168 Ethernet controller This adds the binding documentation for the Marvell PXA168 Ethernet controller, following its DT support. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43d3ddf87a57ce34fad298138b892744c33bfca5 Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:08 2014 +0200 net: pxa168_eth: add device tree support Add the device tree support to the pxa168_eth driver. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 307f65657d3264c6a01139f843ad8ef3bf5f948e Author: Antoine Ténart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 16:28:07 2014 +0200 net: pxa168_eth: clean up Clean up a bit the pxa168_eth driver before adding the device tree support. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cb53f3f519545b04d55c7954fc1a1b27c5fa16b Merge: 57f5877 1daa430 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 30 16:27:57 2014 -0400 Merge branch 'mlx4-next' Or Gerlitz says: ==================== mlx4_core driver updates A series from Jack and Co of low-level fixes for the mlx4_core driver ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1daa4303b4caceda802949b1b188442870193764 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:03:50 2014 +0300 net/mlx4_core: Deprecate error message at ConnectX-2 cards startup to debug ConnectX2 HCAs have max_mtu=4k and max_vl=8 vls. However, if you specify a 4K mtu, the max_vl supported for 4K is 4 vls. The driver at startup attempts to set a 4K mtu using the max_vl value obtained from QUERY_PORT. Since the max_vl value is 8 vls (which is supported up to 2K mtu size), the first attempt to set the mtl/vl port value will fail, generating the following error message in the log: mlx4_core 0000:06:00.0: command 0xc failed: fw status = 0x40 The driver then tries again, using mtu=4k, vls=4, and this succeeds. Since we do not want to have this error message always displayed at driver start when there are ConnectX2 HCAs on the host, we deprecate the error message for this specific command/input_modifier/opcode_modifier/fw-status to be debug. Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7401b9cf342775921f7b8eb2f9cedcaf004a929 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:03:49 2014 +0300 net/mlx4_core: Protect QUERY_PORT wrapper from untrusted guests The function mlx4_QUERY_PORT_wrapper implements only the QUERY_PORT "general" case (opcode modifier = 0). Verify that the opcode modifier is zero, and also that the input modifier contains only the port number in bits 0..7 (all other bits should be zero). Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1c00e10e92c04aa637126db2e59b092bd4878f8 Author: Majd Dibbiny <majd@xxxxxxxxxxxx> Date: Tue Sep 30 12:03:48 2014 +0300 net/mlx4_core: New init and exit flow for mlx4_core In the new flow, we separate the pci initialization and teardown from the initialization and teardown of the other resources. __mlx4_init_one handles the pci resources initialization. It then calls mlx4_load_one to initialize the remainder of the resources. When removing a device, mlx4_remove_one is invoked. However, now mlx4_remove_one calls mlx4_unload_one to free all the resources except the pci resources. When mlx4_unload_one returns, mlx4_remove_one then frees the pci resources. The above separation will allow us to implement 'reset flow' in the future. It will also enable more EQs for VFs and is a pre-step to the modern API to enable/disable SRIOV. Also added nvfs; an integer array of size MLX4_MAX_PORTS + 1; to the mlx4_dev struct. This new field is used to avoid parsing the num_vfs module parameter each time the mlx4_restart_one is called. Signed-off-by: Majd Dibbiny <majd@xxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bbb07af4cdfd0c154db4c636927bd262f71c6401 Author: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:03:47 2014 +0300 net/mlx4_core: Don't disable SRIOV if there are active VFs When unloading the host driver while there are VFs active on VMs, the PF driver disabled sriov anyway, causing kernel crashes. We now leave SRIOV enabled, to avoid that. When the driver is reloaded, __mlx4_init_one is invoked on the PF. It now checks to see if SRIOV is already enabled on the PF -- and if so does not enable sriov again. Signed-off-by: Tal Alon <talal@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c6dcbe5ceff81c2cf8d929646af675cd59fe7c0 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Fri Sep 26 13:58:48 2014 -0400 NFS: Implement SEEK The SEEK operation is used when an application makes an lseek call with either the SEEK_HOLE or SEEK_DATA flags set. I fall back on nfs_file_llseek() if the server does not have SEEK support. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 4a3a0ebad1360696125bf34d89de55d71c4d0eaa Merge: 2ce7598 24bab49 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 30 16:23:39 2014 -0400 Merge commit '24bab491220f' into client-4.2 - Pull in patch 'NFSD: Implement SEEK' from Bruce's nfsd-next tree for dependencies. commit d61b0e87d2dfba3706dbbd6c7c6fd41c3d845685 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Fri Aug 22 18:15:07 2014 -0700 PCI: Add missing MEM_64 mask in pci_assign_unassigned_bridge_resources() In 5b28541552ef ("PCI: Restrict 64-bit prefetchable bridge windows to 64-bit resources"), we added IORESOURCE_MEM_64 to the mask in pci_assign_unassigned_root_bus_resources(), but not to the mask in pci_assign_unassigned_bridge_resources(). Add IORESOURCE_MEM_64 to the pci_assign_unassigned_bridge_resources() type mask. Fixes: 5b28541552ef ("PCI: Restrict 64-bit prefetchable bridge windows to 64-bit resources") Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.16+ commit 38bf3a79785f50ecad01e0ea60bf779507032984 Merge: 44b4aa9 9ff25d7 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Tue Sep 30 12:49:42 2014 -0700 Merge branch 'clk-pxa27x' into clk-next commit 9ff25d7b58d8a4374886843ed3ed21f1ef17bf16 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:51:04 2014 +0200 arm: pxa: Transition pxa27x to clk framework Transition the PXA27x CPUs to the clock framework. This transition still enables legacy platforms to run without device tree as before, ie relying on platform data encoded in board specific files. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 85fe55c11a410a1e26ad3cf2d7a83adf6d019d5d Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:51:03 2014 +0200 dts: add devicetree bindings for pxa27x clocks Add the clock tree description for the PXA27x based boards. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit d40670dc616936ed12335b9408087c9923939f1f Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:51:02 2014 +0200 clk: add pxa27x clock drivers Move pxa27x clock drivers from arch/arm/mach-pxa to driver/clk. In the move : - convert to new clock framework legacy clocks - provide clocks as before for platform data based boards - provide clocks through devicetree Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 108f303f0ed92549b061e08a18361ad4bd540b27 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:51:01 2014 +0200 arm: pxa: add clock pll selection bits Add missing bits for CCCR and CCSR : - CPLL and PPLL selection, either full speed or 13MHz - CPSR masks Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 53f3394a0fe97420ec260e4dad7854add90a66dd Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:51:00 2014 +0200 clk: dts: document pxa clock binding Document the device-tree binding of Marvell PXA based SoCs. PXA clocks are mostly fixed rate and fixed ratio clocks derived from an external oscillator, and gated by a register set (CKEN or CKEN*). Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit bda003036684b9779fca2b3d457621eaff9bcd0a Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Jul 30 22:50:59 2014 +0200 clk: add pxa clocks infrastructure Add a the common code used by all PXA variants. This is the first step in the transition from architecture defined clocks (in arch/arm/mach-pxa) towards clock framework. The goal is to have the same features (and not all the features) of the existing clocks, and enable the transition of PXA to device-tree. All PXA rely on a "CKEN" type clock, which : - has a gate (bit in CKEN register) - is generated from a PLL, generally divided - has an alternate low power clock Each variant will specialize the CKEN clock : - pxa25x have no low power clock - pxa27x in low power use always the 13 MHz ring oscillator - pxa3xx in low power have specific dividers for each clock The device-tree provides a list of CLK_* (ex: CLK_USB or CLK_I2C) to get a handle on the clock. While pxa-clock.h will describe all the clocks of all the variants, each variant will only use a subset of it. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 83bbde1cc0ec9d156b9271e29ffe0dc89c687feb Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:24 2014 +0100 of/pci: Move of_pci_range_to_resource() to of/address.c We need to enhance of_pci_range_to_resources() enough that it won't make sense for it to be inline anymore. Move it to drivers/of/address.c, under #ifdef CONFIG_PCI. of_address.h previously implemented of_pci_range_to_resources() unconditionally, regardless of any config options. The implementation in address.c is defined only when CONFIG_OF_ADDRESS=y and CONFIG_PCI=y, so add a dummy version to avoid build errors when CONFIG_OF or CONFIG_OF_ADDRESS is not defined. [bhelgaas: drop extra detail from changelog, move def under CONFIG_PCI, add dummy of_pci_range_to_resource() for build errors (from Arnd)] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Catalin Marinas <catalin.marinas@xxxxxxx> commit dad13e3c08e7005854271e562eda4ffa5c71bc38 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:22 2014 +0100 ARM: Define PCI_IOBASE as the base of virtual PCI IO space This is needed for calls into OF code that parses PCI ranges. It signals support for memory mapped PCI I/O accesses that are described by device trees. Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> commit fdd64ed54eeba6b8619b36dcc7cb6442f2c6da0c Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Sep 30 13:31:29 2014 +0200 PM / hibernate: Iterate over set bits instead of PFNs in swsusp_free() The existing implementation of swsusp_free iterates over all pfns in the system and checks every bit in the two memory bitmaps. This doesn't scale very well with large numbers of pfns, especially when the bitmaps are not populated very densly. Change the algorithm to iterate over the set bits in the bitmaps instead to make it scale better in large memory configurations. Also add a memory_bm_clear_current() helper function that clears the bit for the last position returned from the memory bitmap. This new version adds a !NULL check for the memory bitmaps before they are walked. Not doing so causes a kernel crash when the bitmaps are NULL. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0bf18f19be4d26545d7aa3114091cffe556572be Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Tue Sep 30 09:19:57 2014 +0530 cpufreq: ppc-corenet: remove duplicate update of cpu_data 'cpu_data' is updated for policy->cpu first and then for all CPUs in policy->cpus. policy->cpus is guaranteed to contain policy->cpu as well and so the first write to 'cpu_data' for policy->cpu is redundant. Remove it. Acked-by: Tang Yuantian <Yuantian.Tang@xxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a8d46b9e4e487301affe84fa53de40b890898604 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 02:29:01 2014 +0200 ACPI / sleep: Rework the handling of ACPI GPE wakeup from suspend-to-idle The ACPI GPE wakeup from suspend-to-idle is currently based on using the IRQF_NO_SUSPEND flag for the ACPI SCI, but that is problematic for a couple of reasons. First, in principle the ACPI SCI may be shared and IRQF_NO_SUSPEND does not really work well with shared interrupts. Second, it may require the ACPI subsystem to special-case the handling of device notifications depending on whether or not they are received during suspend-to-idle in some places which would lead to fragile code. Finally, it's better the handle ACPI wakeup interrupts consistently with wakeup interrupts from other sources. For this reason, remove the IRQF_NO_SUSPEND flag from the ACPI SCI and use enable_irq_wake()/disable_irq_wake() with it instead, which requires two additional platform hooks to be added to struct platform_freeze_ops. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ebc3e41e371620bae6c315c9174bcb2d6c4e9ae7 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 02:22:24 2014 +0200 PM / sleep: Rename platform suspend/resume functions in suspend.c Rename several local functions related to platform handling during system suspend resume in suspend.c so that their names better reflect their roles. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2a8a8ce651d3a88fdf83e2ed15633c8d19292108 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 02:21:34 2014 +0200 PM / sleep: Export dpm_suspend_late/noirq() and dpm_resume_early/noirq() Subsequent change sets will add platform-related operations between dpm_suspend_late() and dpm_suspend_noirq() as well as between dpm_resume_noirq() and dpm_resume_early() in suspend_enter(), so export these functions for suspend_enter() to be able to call them separately and split the invocations of dpm_suspend_end() and dpm_resume_start() in there accordingly. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e1253e5e3fcd61f1057ef8a39c8c64e6b82358b9 Merge: e4cb0c9 e0fa975 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 21:05:34 2014 +0200 Merge branch 'acpica' into acpi-pm commit e0fa975d85b2ec300b3d69f08bc4933f79316651 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 02:25:42 2014 +0200 ACPICA: Introduce acpi_enable_all_wakeup_gpes() Add a routine for host OSes to enable all wakeup GPEs and disable all of the non-wakeup ones at the same time. It will be used for the handling of GPE wakeup from suspend-to-idle in Linux. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5a0b8deeeb19906b24a48d0078aa6b64dc0b4dab Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 02:24:38 2014 +0200 ACPICA: Clear all non-wakeup GPEs in acpi_hw_enable_wakeup_gpe_block() Since acpi_hw_enable_wakeup_gpe_block() is currently always called after disabling all GPEs, it can actually write zeros to all non-wakeup enable bits unconditionally. That will be useful going forward for disabling runtime GPEs and enabling wakeup GPEs in one go instead of doing that in two steps (disable runtime and enable wakeup) which in theory may lead to a loss of a wakeup event. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 44b4aa97bea84fa8ac179155f147e3483cc7a6e0 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 18:16:22 2014 +0100 clk: gpio-gate: Ensure gpiod_ APIs are prototyped The gpio-gate clock uses the gpiod_ APIs but does not directly include the header for them causing build failures in some configurations including ARM allnoconfig. Include the header directly. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 0b8db271f1592e118feef7300f6da85bea9366da Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Tue Sep 30 14:10:17 2014 +0800 ACPI / video: check _DOD list when creating backlight devices The _DOD method lists which video output device is currently attached so we should only care about them and ignore others. An user recently reported that there are two acpi_video interfaces appeared on his system and one of them doesn't work. From the acpidump, it is found that there are more than one video output devices that have _BCM control method but the _DOD lists only one of them. So this patch checks if the video output device is in the _DOD list and will not create backlight device if it is not in the list. Also, we consider the broken _DOD case(reflected by the video->attached_count is 0) and do not change behaviour for those broken _DOD systems. Link: https://bugzilla.kernel.org/show_bug.cgi?id=84111 Reported-and-tested-by: ntrrgc@xxxxxxxxx Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e4cb0c9e92f7b16db7a1e892ac6bcf2f736dfd50 Merge: 905563f 27f3d18 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Tue Sep 30 20:46:13 2014 +0200 Merge branch 'pm-genirq' into acpi-pm commit 57f5877c11b244ff2315f4ba0e57b54fe013581f Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Sep 30 10:59:18 2014 +0200 netfilter: bridge: build br_nf_core only if required Eric reports build failure with CONFIG_BRIDGE_NETFILTER=n We insist to build br_nf_core.o unconditionally, but we must only do so if br_netfilter was enabled, else it fails to build due to functions being defined to empty stubs (and some structure members being defined out). Also, BRIDGE_NETFILTER=y|m makes no sense when BRIDGE=n. Fixes: 34666d467 (netfilter: bridge: move br_netfilter out of the core) Reported-by: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 574a7930d7c4d0fe4295868e52a5277bd9595b5e Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Tue Sep 30 11:18:21 2014 -0500 rtlwifi: Fix randconfig build error with next-20140930 Configuration randconfig-1412075201 gets an error because driver rtl8821ae depends on driver btcoexist, but Kconfig does not select it. Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Cc: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8342bdac42dfacd49f44c6ca3cf6dfd58dbc7f93 Author: Maithili Hinge <maithili@xxxxxxxxxxx> Date: Tue Sep 30 16:29:38 2014 +0530 mwifiex: add client mac address while configuring keys on GO. When mwifiex device becomes GO, unicast traffic between client1 and GO stops when client2 connects to GO. Reason behind this was PTK getting overwritten by key_material command for client2 as it did not have client mac address. So, client1 can no more decode GO's ping packets though it responds to its broadcast packets. This patch adds case to check for BSS_ROLE instead of bss_type to set client mac address while configuring keys when device becomes GO. Signed-off-by: Maithili Hinge <maithili@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 315dd1149b6048cec805667f511726bbe8e5c975 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Tue Sep 30 11:24:23 2014 +0200 ath9k: fix getting tx duration for dynack On AR9003, tx control and tx status are in separate descriptor rings. Tx duration is extracted from the tx control descriptor data, which ar9003_hw_proc_txdesc cannot access. Fix getting the duration by adding a separate callback for it. Acked-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4d9f634b02e4240f86719f30e4c9e62f6a4c4d36 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Tue Sep 30 14:15:23 2014 +0530 ath9k: Check early for HW reset chan_lock is not required for checking if we are in the middle of a HW reset, so do it early. This also removes the small window where the lock is dropped and reacquired. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4eb3af7c1df32dcd4362c2f20928f679ed78f2e5 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:18 2014 +0200 brcmfmac: Add wowl support for PCIE devices. Add basic wowl (magic packet and disconnect) support. This patch adds this support only for PCIE bus devices. This feature requires FW which has support for wowl built in. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 58b2251e96d8230e81f65a0196afc914a17e1806 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:17 2014 +0200 brcmfmac: Fix crash on cleanup. When driver gets unloaded due to error situation there is a chance a packet gets received while fws has already been cleaned up. This will result in kernel crash. This patch adds a check to avoid this crash. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f48556e1b6a60f1b394a6c4b0a7b8cacba3eb107 Author: Arend van Spriel <arend@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:16 2014 +0200 brcmfmac: assure P2P discovery is disabled when setting P2P_DEVICE mac address In order to provision the P2P_DEVICE mac address using p2p_da_override iovar the discovery interface must be disabled. On some targets setting the mac address failed so disable the discovery interface to be certain. Reviewed-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3ba066109974dff307f143ffdeddc7af83b2bb8e Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:15 2014 +0200 brcmfmac: Avoid usage of GFP_ATOMIC. Msgbuf is using GFP_ATOMIC where GFP_KERNEL is also sufficient. On some platforms the coherent DMA memory is very limited when using GFP_ATOMIC. This patch changes usage of GFP_ATOMIC to GFP_KERNEL and uses worker to make this possible for creation of flowring. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ff0a6230603c089fdc12a06b824c21498eb24691 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:14 2014 +0200 brcmfmac: Fix sign issue with IOCTL return code in msgbuf. Need a cast to assure correct value is propagated. Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ef8596e1f1ce06b4398db4752d04bb1a67a14a02 Author: Hante Meuleman <meuleman@xxxxxxxxxxxx> Date: Tue Sep 30 10:23:13 2014 +0200 brcmfmac: On scan timeout do send received results. Increase driver scan timeout from 8 to 10 seconds and report results to cfg80211. Without this patch the already received results were dropped on driver timeout. Reviewed-by: Arend Van Spriel <arend@xxxxxxxxxxxx> Reviewed-by: Franky (Zhenhui) Lin <frankyl@xxxxxxxxxxxx> Reviewed-by: Pieter-Paul Giesberts <pieterpg@xxxxxxxxxxxx> Reviewed-by: Daniel (Deognyoun) Kim <dekim@xxxxxxxxxxxx> Signed-off-by: Hante Meuleman <meuleman@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5fb9b1b949ce9b829e7e8f799cc85e91527213bd Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Sep 29 20:45:42 2014 +0200 ath9k_hw: fix PLL clock initialization for newer SoC On AR934x and newer SoC devices, the layout of the AR_RTC_PLL_CONTROL register changed. This currently breaks at least 5/10 MHz operation. AR933x uses the old layout. It might also have been causing other stability issues because of the different location of the PLL_BYPASS bit which needs to be set during PLL clock initialization. This patch also removes more instances of hardcoded register values in favor of properly computed ones with the PLL_BYPASS bit added. Reported-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b874ec8d57ba61cb56c97a7b7810828da8ec8e95 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Sep 29 20:45:41 2014 +0200 ath9k_hw: reduce ANI spur immunity setting on HT40 extension channel The cycpwr_thr1 value needs to be lower on the extension channel than on the control channel, similar to how the register settings are programmed in the initvals. Also drop the unnecessary check for HT40 - this register can always be written. This patch has been reported to improve HT40 stability and throughput in some environments. Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 171cdab8c78bb169d9693d587e1d02d2dd5a0274 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Mon Sep 29 20:45:40 2014 +0200 Revert "ath9k_hw: reduce ANI firstep range for older chips" This reverts commit 09efc56345be4146ab9fc87a55c837ed5d6ea1ab I've received reports that this change is decreasing throughput in some rare conditions on an AR9280 based device Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b48f8800bb08f87cded9adb992f04d94b1b77a11 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Sep 29 21:44:15 2014 +0530 mwifiex: remove unnecessary rx_q lock SKB lists have their own lock. So this lock is not needed. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b43a0d9d01dbe498632e83632a2409a575fcee23 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Sep 29 21:44:14 2014 +0530 mwifiex: do not decrement rx_pending count twice This patch fixes an issue with rx processing function where we were decrementing rx_pending count twice. Patch also queues correct main_work item when rx_pending count reaches low watermark. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f73e557bca0609d0f997414a5b1403e3fadd5dea Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Mon Sep 29 21:44:13 2014 +0530 mwifiex: fix soft lockup during iperf UDP RX A soft lockup was observed on ARM multicore platform while UDP RX iperf was running on station. Reason for this is delay_main_task was not taken into consideration while jumping to process_start. Now if delay_main_task is true, we would exit mwifiex_main_process instead of going to process_start again. This ensure other process is scheduled on this CPU and soft lockup is avoided. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Kevin Gan <ganhy@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b182427efa7dbd9ed301dea7aae8a5c0fbbe5e53 Author: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Date: Sun Sep 28 14:03:06 2014 +0200 MAINTAINERS: change rt2x00 maintainer After short chat with Ivo, we decided that I'll take maintenance of rt2x00 driver. Thanks for Ivo's great work in the past! Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Acked-by: Ivo Van Doorn <ivdoorn@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 83322eb862e408029baf7872db1b82124f291d58 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sat Sep 27 22:49:44 2014 +0200 ath9k_hw: disable hardware ad-hoc flag on ar934x rev 3 On AR934x rev 3, settin the ad-hoc flag completely messes up hardware state - beacons get stuck, almost no packets make it out, hardware is constantly reset. When leaving out that flag and setting up the hw like in AP mode, TSF timers won't be automatically synced, but at least the rest works. AR934x rev 2 and older are not affected by this bug Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 09c74f7bceb41d9072f2e4b3d11da5ce2bd51390 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sat Sep 27 22:49:43 2014 +0200 ath9k: use ah->get_mac_revision for all SoC devices if available It is needed for AR934x as well Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 005eff5919cdc29ec7f1c6169db40c533f1e05d7 Author: Felix Fietkau <nbd@xxxxxxxxxxx> Date: Sat Sep 27 18:05:47 2014 +0200 ath5k: add missing include for debug code Needed for calling vmalloc()/vfree() Signed-off-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ef09396ef622572c604d4977e76f6151ef68ed21 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:28 2014 -0500 rtlwifi: rtl8188ee: rtl8723ae: rtl8821ae: Initialize some variables In a number of places, kmalloc or valloc were used to acquire memory. To ensure that these locations are correctly initialized, the calls were changed to kzalloc and vzalloc. The change fixes a problem that was causing HT operations to be cancelled. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 557f933113a42a48ec617b81b5ea53fd7202b1ed Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:27 2014 -0500 rtlwifi: rtl8188ee: rtl8192com: rtl8192cu: rtl8192ee: rtl8723ae: rtl87323be: rtl8821ae: Use common cmd_send_packet A locking problem was found in routine _rtl92ee_cmd_send_packet() that led to system freezes. Upon inspection, several drivers had the same problem; however, the routines all used the same code. The common code has been moved into rtlwifi. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9f087a924427c01190b205f0051be00808c99828 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:26 2014 -0500 rtlwifi: rtl8192ce: rtl8192common: Update for latest version of Realtek drivers Realtek released new drivers on 06/28/2014. These changes implement all their changes into the kernel version of the driver. In addition, these modifications are part of the process of unifying the Realtek and kernel code bases. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5c99f04fec93068147a3e95b439b345f203ac5b9 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:25 2014 -0500 rtlwifi: rtl8723be: Update driver to match Realtek release of 06/28/14 This patch updates the driver to match the latest Realtek release, and it is an important step in getting the internal code source at Realtek to match the code in the kernel. The primary reason for this is to make it easier for Realtek to maintain the kernel source without requiring an intermediate like me. In this process of merging the two source repositories, there are a lot of changes in both, and this commit is rather large. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 0529c6b8176135bcae1ab66bed6c1288456fbdec Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:24 2014 -0500 rtlwifi: rtl8723ae: Update driver to match 06/28/14 Realtek version Not only does this patch update the driver to match the latest Realtek release, it is an important step in getting the internal code source at Realtek to match the code in the kernel. The primary reason for this is to make it easier for Realtek to maintain the kernel source without requiring an intermediate like me. In this process of merging the two source repositories, there are a lot of changes in both, and this commit is rather large. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b1a3bfc97cd95681c511515534b84843998f3ea0 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:23 2014 -0500 rtlwifi: rtl8192ee: Move driver from staging to the regular tree This driver was entered into staging a few cycles ago because there was not time to integrate the Realtek version into the support routines in the kernel. Now that there is an effort to converg the code base from Linux and the Realtek repo, it is time to move this driver. In addition, all the updates included in the 06/28/2014 version of the Realtek drivers are included here. With this change, it will be necessary to delete the staging driver. That will be handled in a separate patch. As it impacts the staging tree, such a patch is sent to a different destination. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7fe3b3abb5da3a105d87640db693c41259138294 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 26 16:40:22 2014 -0500 rtlwifi: rtl8188ee: rtl8821ae: Fix a queue locking problem The code fails to lock the skb queue, which leads to a number of problems. This patch also fixes a Sparse warning about using a memset of 1 byte. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a0196d111707d8b79196a40295f3935c5fa339eb Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Sep 30 12:55:48 2014 +0200 bcma: use chipcommon node from DT for SoC GPIO chip This will allow us to define GPIO-attached devices (LEDs, buttons) in the the device tree. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2101e533f41a90b25bee17ce969734e26eb0eb55 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Fri Sep 26 00:09:19 2014 +0200 bcma: register bcma as device tree driver This driver is used by the bcm53xx ARM SoC code. Now it is possible to give the address of the chipcommon core in device tree and bcma will search for all the other cores. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7e174833dec99ca901241730efa84029c4047bae Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Thu Sep 18 07:18:50 2014 -0400 mwifiex: add more dump information for PCIe interface We will now dump MAC, APU, CIU, ICU firmware memory segments also for PCIe interface. Following is the updated userspace script which reads firmware dump information. mwifiex_pcie_fw_dump.sh: #!/bin/bash ethtool --set-dump mlan0 0 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/ITCM.log ethtool --set-dump mlan0 1 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/DTCM.log ethtool --set-dump mlan0 2 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/SQRAM.log ethtool --set-dump mlan0 3 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/IRAM.log ethtool --set-dump mlan0 4 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/APU.log ethtool --set-dump mlan0 5 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/CIU.log ethtool --set-dump mlan0 6 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/ICU.log ethtool --set-dump mlan0 7 ethtool --get-dump mlan0 ethtool --get-dump mlan0 data /tmp/MAC.log Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 24716876d82ac0cb7ade51b7363ebc125307e9cc Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Thu Sep 18 08:04:01 2014 -0400 mwifiex: error path handling in pcie firmware dump This patch takes care of missing error paths in firmware dump. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f823182bc289f5dd6ac23737760a4024b09d3504 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Tue Sep 30 09:48:19 2014 -0500 staging: r8192ee: Remove staging driver A new version of this driver has been merged into the regular wireless tree. The staging version is hereby removed. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c53f755d339b5546600c316333140d5fe958941d Author: Jan Kara <jack@xxxxxxx> Date: Tue Sep 30 18:07:08 2014 +0200 ocfs2: Back out change to use OCFS2_MAXQUOTAS in ocfs2_setattr() ocfs2_setattr() actually needs to really use MAXQUOTAS and not OCFS2_MAXQUOTAS since it will pass the array over to VFS. Currently this isn't a problem since MAXQUOTAS == OCFS2_MAXQUOTAS but it would be once we introduce project quotas. CC: Mark Fasheh <mfasheh@xxxxxxxx> CC: Joel Becker <jlbec@xxxxxxxxxxxx> CC: ocfs2-devel@xxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> commit 41f8bba7f5552d033583777dede2df7c36e7853d Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:21 2014 +0100 of/pci: Add pci_register_io_range() and pci_pio_to_address() Some architectures do not have a simple view of the PCI I/O space and instead use a range of CPU addresses that map to bus addresses. For some architectures these ranges will be expressed by OF bindings in a device tree file. This patch introduces a pci_register_io_range() helper function with a generic implementation that can be used by such architectures to keep track of the I/O ranges described by the PCI bindings. If the PCI_IOBASE macro is not defined, that signals lack of support for PCI and we return an error. In order to retrieve the CPU address associated with an I/O port, a new helper function pci_pio_to_address() is introduced. This will search in the list of ranges registered with pci_register_io_range() and return the CPU address that corresponds to the given port. [arnd: add dummy !CONFIG_OF pci_pio_to_address() to fix build errors] Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> commit 112eeaa7f87bbd2925e919486bb504f8954fa675 Author: Liviu Dudau <Liviu.Dudau@xxxxxxx> Date: Mon Sep 29 15:29:20 2014 +0100 asm-generic/io.h: Fix ioport_map() for !CONFIG_GENERIC_IOMAP The !CONFIG_GENERIC_IOMAP version of ioport_map() is wrong. It returns a mapped, i.e., virtual, address that can start from zero and completely ignores the PCI_IOBASE and IO_SPACE_LIMIT that most architectures that use !CONFIG_GENERIC_MAP define. Tested-by: Tanmay Inamdar <tinamdar@xxxxxxx> Signed-off-by: Liviu Dudau <Liviu.Dudau@xxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 8fa7d87f91479f7124142ca4ad93a37b80f8c1c0 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Mon Sep 29 16:07:28 2014 -0400 perf symbols: Encapsulate dsos list head into struct dsos This is a precursor patch to enable long name searching of DSOs using a rbtree. In this patch, a new dsos structure is created which contains only a list head structure for the moment. The new dsos structure is used, in turn, in the machine structure for the user_dsos and kernel_dsos fields. Only the following 3 dsos functions are modified to accept the new dsos structure parameter instead of list_head: - dsos__add() - dsos__find() - __dsos__findnew() Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Douglas Hatch <doug.hatch@xxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Link: http://lkml.kernel.org/r/1412021249-19201-2-git-send-email-Waiman.Long@xxxxxx [ Move struct dsos to dso.h to reduce the dso methods depends on machine.h ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 858f61c4298d858376ca7b9fc2e05677faabd2d5 Merge: 6c8ff87 4093a84 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Wed Oct 1 00:45:26 2014 +1000 Merge branch 'next' of git://git.infradead.org/users/pcmoore/selinux into next commit 6c8ff877cdf13cd5287ed9d700cfb6cb70e2bfa1 Merge: 35e1efd 19583ca Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Wed Oct 1 00:44:04 2014 +1000 Merge commit 'v3.16' into next commit a3b7c00484e1177e7eb9b047c46cac571b82442f Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 30 14:50:28 2014 +0100 CacheFiles: Handle object being killed before being set up If a cache object gets killed whilst in the process of being set up - for instance if the netfs relinquishes the cookie that the object is associated with - then the object's state machine will transit to the DROP_OBJECT state without necessarily going through the LOOKUP_OBJECT or CREATE_OBJECT states. This is a problem for CacheFiles because cachefiles_drop_object() assumes that object->dentry will be set upon reaching the DROP_OBJECT state and has an ASSERT() to that effect (see the oops below) - but object->dentry doesn't get set until the LOOKUP_OBJECT or CREATE_OBJECT states (and not always then if they fail). To fix this, just make the dentry cleanup in cachefiles_drop_object() conditional on the dentry actually being set and remove the assertion. CacheFiles: Assertion failed ------------[ cut here ]------------ kernel BUG at .../fs/cachefiles/namei.c:425! ... Workqueue: fscache_object fscache_object_work_func [fscache] ... RIP: ... cachefiles_delete_object+0xcd/0x110 [cachefiles] ... Call Trace: [<ffffffffa043280f>] ? cachefiles_drop_object+0xff/0x130 [cachefiles] [<ffffffffa02ac511>] ? fscache_drop_object+0xd1/0x1d0 [fscache] [<ffffffffa02ac697>] ? fscache_object_work_func+0x87/0x210 [fscache] [<ffffffff81080635>] ? process_one_work+0x155/0x450 [<ffffffff81081c44>] ? worker_thread+0x114/0x370 [<ffffffff81081b30>] ? manage_workers.isra.21+0x2c0/0x2c0 [<ffffffff81087fcc>] ? kthread+0xbc/0xe0 [<ffffffff81087f10>] ? flush_kthread_worker+0xa0/0xa0 [<ffffffff8150638c>] ? ret_from_fork+0x7c/0xb0 [<ffffffff81087f10>] ? flush_kthread_worker+0xa0/0xa0 Reported-by: Manuel Schölling <manuel.schoelling@xxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Steve Dickson <steved@xxxxxxxxxx> commit 8e4a5da69c39788fabc9e7cf178eb62b6077c96b Author: Sebastian Herbszt <herbszt@xxxxxx> Date: Sat Sep 20 13:37:55 2014 +0200 scsi: fix comment in struct Scsi_Host definition Commit 1abf635 (scsi: use 64-bit value for 'max_luns') changed the order of Scsi_Host members. Update the comment to reflect this. Signed-off-by: Sebastian Herbszt <herbszt@xxxxxx> Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 8f1774a2a97135db35c5f42531a148135158705a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 30 15:05:21 2014 +0200 pinctrl: nomadik: improve GPIO debug prints The debugfs file would only define if the line was "pulled" and not which direction (pull up or pull down). Improve this by taking two print paths depending on whether the pin is set as input or output and use the data register directly to figure out whether the pin is set for pull up or pull down. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ad21edcdb2172c0d8f47f856867104e331525820 Merge: 6d9deb7 7d42a7f 23b1134 7179569 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:31 2014 +0100 Merge remote-tracking branches 'regulator/topic/tps65217', 'regulator/topic/tps65910' and 'regulator/topic/voltage-ev' into regulator-next commit 6d9deb7ad4559c9361701e9df7ccf1fb0be02cf9 Merge: 64b285a 8af2522 811b700 5a867cf Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:30 2014 +0100 Merge remote-tracking branches 'regulator/topic/rk808', 'regulator/topic/rn5t618' and 'regulator/topic/samsung' into regulator-next commit 64b285ad7b03af498fbf2e6c0a143dd7b506ffba Merge: a81bf3c 5ccedf0 da0bb55 ef126a4 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:29 2014 +0100 Merge remote-tracking branches 'regulator/topic/max1586', 'regulator/topic/max77802' and 'regulator/topic/of' into regulator-next commit a81bf3c4fc391ec10696d448408c1ac83bfb6112 Merge: 95528a5 fdaff15 df11e50 e13426b 5c5e417 ba441ec Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:27 2014 +0100 Merge remote-tracking branches 'regulator/topic/drivers', 'regulator/topic/enable', 'regulator/topic/fan53555', 'regulator/topic/hi6421' and 'regulator/topic/isl9305' into regulator-next commit 95528a55dba0360b5342d9c7369e69a772717b7b Merge: 74a0f24 192264e 0d90ecf e0f6429 6a52f56 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:25 2014 +0100 Merge remote-tracking branches 'regulator/topic/as3711', 'regulator/topic/axp20x', 'regulator/topic/bcm590xx' and 'regulator/topic/da9211' into regulator-next commit 74a0f24bb6f9e29ea1223f363ca2ed36d082e1b9 Merge: 4d93b02 5cdeb2c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:25 2014 +0100 Merge remote-tracking branch 'regulator/topic/core' into regulator-next commit 4d93b0253caf7b9947c309652fe670340240b6f0 Merge: fe82dce 4e7089f c5bb725 3220574 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 30 13:50:23 2014 +0100 Merge remote-tracking branches 'regulator/fix/da9211', 'regulator/fix/ltc3589' and 'regulator/fix/tps65023' into regulator-linus commit 4e7089f3f7ab3edf177bbdb84107aff3193e855e Author: James Ban <james.ban.opensource@xxxxxxxxxxx> Date: Mon Sep 29 16:59:20 2014 +0900 regulator: da9211: Fix a bug in update of mask bit This is a patch for fixing a bug about mask bit operation. Signed-off-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b93427b1c057841602e0fe2005153a6e82f2e658 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 29 23:25:30 2014 -0300 ASoC: fsl ssi doc: Remove unused properties The fsl_ssi driver only checks for the ac97 mode property, so remove the unused ones. Suggested-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ece1e4999606fc323aee96a1cdb9b7991c01dd09 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 29 23:25:29 2014 -0300 ASoC: fsl_ssi: Remove unneeded 'i2s-slave' property There is no need to use 'i2s-slave' property, since master/slave configuration are passed via machine layer. This change does not break existing users because they do check for slave mode inside sound/soc/fsl/mpc8610_hpcd.c/p1022_ds.c/p1022_rdk.c Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3b2a0013c7d49783d5ac3df9178e9907cd6ebd73 Author: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Date: Mon Sep 29 22:41:37 2014 +0300 ASoC: ssm2602: add support for 11.025kHz and 22.5kHz sample rates This adds the necessary values to the constraint list and register values to the coefficient table in order to configure the device for 11.025kHz and 22.5kHz sample rates. Signed-off-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> commit 555b9ee1368a9ceddd5c963ad918db5120638674 Author: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Date: Mon Sep 29 22:41:10 2014 +0300 ASoC: ssm2602: add device tree bindings Allow the ssm2602/ssm2603/ssm2604 codec driver to be instantiated from the device tree. Also, add Kconfig prompts to allow manual selection of both the I2C and SPI configuration versions of the driver. Signed-off-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> commit 6a57dba9f0107b21cab06f7c898935d747d4738a Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Sep 30 07:39:05 2014 -0400 Bluetooth: btusb: remove redundant lock variable This variable is nowhere used in the code. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3907d55801a631862ffca2b85c536ea5ceed2dc9 Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Tue Sep 30 06:45:33 2014 -0400 Bluetooth: btmrvl: support Marvell Bluetooth device SD8887 This patch adds driver support for marvell SD8887 chip. Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Kevin Gan <ganhy@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1e3e492c3d7e78dad29ec0d6f36e18a785ea2720 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Sep 30 06:45:32 2014 -0400 Bluetooth: btmrvl: rename definitions from 88xx to 8897 Register offsets are different for SD8897 and newer chip SD8887. We can not have common btmrvl_sdio_card_reg map for them. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f4f4e3e3e9f3bde110067b9e4487cb267d90055a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:15 2014 +0100 drm/ttm: add reservation_object as argument to ttm_bo_init This allows importing reservation objects from dma-bufs. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit b5e9c1a25fcf8a0d664606251a53b5caa6a19d08 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:14 2014 +0100 drm: Pass dma-buf as argument to gem_prime_import_sg_table Allows importing dma_reservation_objects from a dma-buf. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 15a996bbb6978ae21c497aeadfe20deca6ddd07a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Mon Sep 29 10:06:18 2014 +0200 drm/nouveau: assign fence_chan->name correctly Make nouveau_fence_chan refcounted, to make trace_fence_destroy always return the correct name without a race condition. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit e3be4c230dfadf79567a245505a47a90db97f968 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Sep 16 11:15:07 2014 +0200 drm/nouveau: specify if interruptible wait is desired in nouveau_fence_sync Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 055dffdfb65eb8dcc8e7dabc84fd53059a92a23a Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Sep 10 16:15:23 2014 +0200 drm/nouveau: bump driver patchlevel to 1.2.1 Allows userspace to detect shared fences are supported. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 2d605456431343886bc073ea126aeb7c64e07a57 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Jul 15 14:33:25 2014 +0200 video/atmel_lcdfb: Introduce regulator support This adds regulator support to enable/disable the LCD voltage, using 'lcd-supply' as regulator name. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit a18c3f16a907b8977ef65fc8dd71ed3f7b751748 Author: Borislav Petkov <bp@xxxxxxx> Date: Tue Sep 30 12:55:41 2014 +0200 mpc85xx_edac: Make L2 interrupt shared too The other two interrupt handlers in this driver are shared, except this one. When loading the driver, it fails like this. So make the IRQ line shared. Freescale(R) MPC85xx EDAC driver, (C) 2006 Montavista Software mpc85xx_mc_err_probe: No ECC DIMMs discovered EDAC DEVICE0: Giving out device to module MPC85xx_edac controller mpc85xx_l2_err: DEV mpc85xx_l2_err (INTERRUPT) genirq: Flags mismatch irq 16. 00000000 ([EDAC] L2 err) vs. 00000080 ([EDAC] PCI err) mpc85xx_l2_err_probe: Unable to request irq 16 for MPC85xx L2 err remove_proc_entry: removing non-empty directory 'irq/16', leaking at least 'aerdrv' ------------[ cut here ]------------ WARNING: at fs/proc/generic.c:521 Modules linked in: CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc5-dirty #1 task: ee058000 ti: ee046000 task.ti: ee046000 NIP: c016c0c4 LR: c016c0c4 CTR: c037b51c REGS: ee047c10 TRAP: 0700 Not tainted (3.17.0-rc5-dirty) MSR: 00029000 <CE,EE,ME> CR: 22008022 XER: 20000000 GPR00: c016c0c4 ee047cc0 ee058000 00000053 00029000 00000000 c037c744 00000003 GPR08: c09aab28 c09aab24 c09aab28 00000156 20008028 00000000 c0002ac8 00000000 GPR16: 00000000 00000000 00000000 00000000 00000000 00000000 00000139 c0950394 GPR24: c09f0000 ee5585b0 ee047d08 c0a10000 ee047d08 ee15f808 00000002 ee03f660 NIP [c016c0c4] remove_proc_entry LR [c016c0c4] remove_proc_entry Call Trace: remove_proc_entry (unreliable) unregister_irq_proc free_desc irq_free_descs mpc85xx_l2_err_probe platform_drv_probe really_probe __driver_attach bus_for_each_dev bus_add_driver driver_register mpc85xx_mc_init do_one_initcall kernel_init_freeable kernel_init ret_from_kernel_thread Instruction dump: ... Reported-and-tested-by: <lpb_098@xxxxxxx> Acked-by: Johannes Thumshirn <johannes.thumshirn@xxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a00d91ea264f974b3d57babce143ba157921629a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 23 14:21:58 2014 +0200 fbdev: sh_mobile_hdmi: Re-init regs before irq re-enable on resume When the PM domain containing the HDMI hardware block is powered down, the HDMI register values (incl. interrupt polarity settings) are lost. During resume, after powering up the PM domain, interrupts are re-enabled, and an interrupt storm happens due to incorrect interrupt polarity settings: irq 163: nobody cared (try booting with the "irqpoll" option) ... Disabling IRQ #163 To fix this, re-initialize the interrupt polarity settings, and the htop1 register block (if present), during resume. As the .suspend_noirq() and .resume_noirq() callbacks are not called when using the generic PM domain, the normal .resume() callback is used, and the device interrupt needs to be disabled/enabled manually. This fixes resume from s2ram with power down of the A4MP PM domain on r8a7740/Armadillo. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 5b789da8a7fc357661fc61faaf853e9161cc9700 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Tue Sep 16 12:38:53 2014 -0400 framebuffer: fix screen corruption when copying The function bitcpy_rev has a bug that may result in screen corruption. The bug happens under these conditions: * the end of the destination area of a copy operation is aligned on a long word boundary * the end of the source area is not aligned on a long word boundary * we are copying more than one long word In this case, the variable shift is non-zero and the variable first is zero. The statements FB_WRITEL(comp(d0, FB_READL(dst), first), dst) reads the last long word of the destination and writes it back unchanged (because first is zero). Correctly, we should write the variable d0 to the last word of the destination in this case. This patch fixes the bug by introducing and extra test if first is zero. The patch also removes the references to fb_memmove in the code that is commented out because fb_memmove was removed from framebuffer subsystem. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit f74a289b9480648a654e5afd8458c2263c03a1e1 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Tue Sep 16 12:40:26 2014 -0400 framebuffer: fix border color The framebuffer code uses the current background color to fill the border when switching consoles, however, this results in inconsistent behavior. For example: - start Midnigh Commander - the border is black - switch to another console and switch back - the border is cyan - type something into the command line in mc - the border is cyan - switch to another console and switch back - the border is black - press F9 to go to menu - the border is black - switch to another console and switch back - the border is dark blue When switching to a console with Midnight Commander, the border is random color that was left selected by the slang subsystem. This patch fixes this inconsistency by always using black as the background color when switching consoles. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c8b8888f097c7df260cf5beaf2e3a325660a16a4 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 26 18:10:53 2014 -0700 arm, fbdev, omap2, LLVMLinux: Remove nested function from omapfb Replace the use of nested functions where a normal function will suffice. Nested functions are not liked by upstream kernel developers in general. Their use breaks the use of clang as a compiler, and doesn't make the code any better. This code now works for both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 032e57f01b7524ad9aec39788b38f523583ab58e Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 26 18:10:52 2014 -0700 arm, fbdev, omap2, LLVMLinux: Remove nested function from omap2 dss Replace the use of nested functions where a normal function will suffice. Nested functions are not liked by upstream kernel developers in general. Their use breaks the use of clang as a compiler, and doesn't make the code any better. This code now works for both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 8251434bb489f4bf7fbc1825fb212051d0a030ea Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:19 2014 +0200 video: fbdev: valkyriefb.c: use container_of to resolve fb_info_valkyrie from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 29ebebb4b525ca080e0758e7445c416927dd4eeb Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:18 2014 +0200 video: fbdev: pxafb.c: use container_of to resolve pxafb_info/layer from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 46ffbe20d299bc80a0d4f5c2229c8eaf250a85f3 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:17 2014 +0200 video: fbdev: cyber2000fb.c: use container_of to resolve cfb_info from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c4e423239ca7cbc3133e600b61b19fb8669eec57 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:16 2014 +0200 video: fbdev: controlfb.c: use container_of to resolve fb_info_control from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 21f7c247035e17950f0edda2de767434f82a8886 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:15 2014 +0200 video: fbdev: sa1100fb.c: use container_of to resolve sa1100fb_info from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 1f17a0fa681326f726505f5a662caf07f0d098e2 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 17 21:00:14 2014 +0200 video: fbdev: stifb.c: use container_of to resolve stifb_info from fb_info Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit b232e94d2842abb893ccb0a870a8d7a920f87df4 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 19:35:48 2014 +0200 video: fbdev: sis: sis_main.c: Cleaning up missing null-terminate in conjunction with strncpy Replacing strncpy with strlcpy to avoid strings that lacks null terminate. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 66b330992c088a3eecbb61eb568095a3919d5aba Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 14 11:48:30 2014 +0200 video: valkyriefb: Fix unused variable warning in set_valkyrie_clock() If CONFIG_ADB_CUDA=n: drivers/video/fbdev/valkyriefb.c: In function â??set_valkyrie_clockâ??: drivers/video/fbdev/valkyriefb.c:267: warning: unused variable â??iâ?? drivers/video/fbdev/valkyriefb.c:266: warning: unused variable â??reqâ?? Move the variable declarations inside the existing #ifdef section to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 259145feff723cd65fcf53156bdd7a11816b1e31 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 30 11:22:07 2014 +0200 pinctrl: abx500: refactor DT parser to take two paths We refactor the DT parser to look for either a config or a function and then look for further nodes and reserve maps, not the two things mixed up like prior to this patch. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b07f92a220fa4df01e7feb1791245882249ba200 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 30 11:11:50 2014 +0200 pinctrl: abx500: use helpers for map allocation/free This switches the abx500 driver to use the pin control helper utils for allocating and free:ing maps. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0cae90a96c15f2fd3bd139ba5505755c9c9ef2eb Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:26 2014 +0530 ALSA: ctxfi: pr_* replaced with dev_* pr_* macros replaced with dev_* as they are more preffered over pr_*. each file which had pr_* was reviewed manually and replaced with dev_*. here we have actually used the various snd_card which was added to some structures of ctxfi via a previous patch of this series. in the ctvmem.c file we have passed a reference of ct_atc as an argument to get_vm_block function so that it can be used from dev_*. since dev_* will print the device information , so the prefix of "ctxfi" from the various pr_* were also removed. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit a45c4d5142595a9b7907499f6d67f702bc20aeb4 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:25 2014 +0530 ALSA: ctxfi: ctatc: added reference to snd_card added reference of the card in the convert_format function so that we can know which card has called the function. this reference of the snd_card will actually be used in a later patch to convert the pr_* macro to dev_*. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e5347f9ab7cdafc2dbc0d4f7f30204293be71d8e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:24 2014 +0530 ALSA: ctxfi: initialized snd_card initialized the reference of snd_card which was added to the various structures through the previous patch of the series. these references of snd_card will be used in a later patch to convert the pr_* macros to dev_* Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3d0fdc86e4b500dfcfbf2f68039d2d6853536c2e Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:23 2014 +0530 ALSA: ctxfi: added reference of snd_card added a pointer of snd_card in some of the structures to get a reference of the card from other functions. these references of snd_card will be initialised in the next patch of this series and as of now these snd_card will be used to print the the device information when we convert the pr_* macros to dev_* in a later patch of this series. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit b6bfe86fd22a7e21c50f5b36c894f721614bafa5 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:22 2014 +0530 ALSA: ctxfi: removed typecast to (struct hw *) the previous patch of the series has converted the void * to struct hw * . Now this patch removes the typecasting to (struct hw *) which is not needed any more. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 66640898edb7b0ef452e179753e8d6130b35fd83 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 29 14:33:21 2014 +0530 ALSA: ctxfi: changed void * to struct hw * in the code we have void *hw and while using we are always typecasting it to (struct hw *). it is better to use void type of pointer when we store different types of pointer , but in this code we are only having struct hw. So changed all the relevant reference of void *hw to struct hw *hw, without any modification of the existing code logic. the next patch of the series will remove the typecasting which is not required now. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cfb0b24143b4f587ff3e3bd829f9f471285d097b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Tue Sep 23 21:29:20 2014 +0200 s390/mm: make use of ipte range facility Invalidate several pte entries at once if the ipte range facility is available. Currently this works only for DEBUG_PAGE_ALLOC where several up to 2 ^ MAX_ORDER may be invalidated at once. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit db525fce95f0ee39102f06f8599ced3f3f3af128 Author: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Date: Sun Aug 31 19:09:59 2014 -0400 scsi_debug: deadlock between completions and surprise module removal A deadlock has been reported when the completion of SCSI commands (simulated by a timer) was surprised by a module removal. This patch removes one half of the offending locks around timer deletions. This fix is applied both to stop_all_queued() which is were the deadlock was discovered and stop_queued_cmnd() which has very similar logic. This patch should be applied both to the lk 3.17 tree and Christoph's drivers-for-3.18 tree. Tested-and-reported-by: Milan Broz <gmazyland@xxxxxxxxx> Signed-off-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a41a9ad3bbf61fae0b6bfb232153da60d14fdbd9 Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Mon Sep 29 13:55:41 2014 -0500 be2iscsi: check ip buffer before copying Dan Carpenter found a issue where be2iscsi would copy the ip from userspace to the driver buffer before checking the len of the data being copied: http://marc.info/?l=linux-scsi&m=140982651504251&w=2 This patch just has us only copy what we the driver buffer can support. Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4bfb8ebf4c21f372a8677f9aa99963985e9e6539 Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Mon Sep 29 13:55:42 2014 -0500 iscsi_tcp: export port being used This just has iscsi_tcp support ISCSI_PARAM_LOCAL_PORT which exports the local port being used by the iscsi connection. Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 49b552dedf63a5b4cde1b5e891ec305f16b09567 Author: John Soni Jose <sony.john-n@xxxxxxxxxx> Date: Fri Sep 26 15:14:16 2014 -0400 be2iscsi : Bump the driver version Bump the driver version Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 53281edb2942c4d7abf12846b6b0591caf2bee4d Author: John Soni Jose <sony.john-n@xxxxxxxxxx> Date: Fri Sep 26 15:13:55 2014 -0400 be2iscsi : Fix kernel panic during reboot/shutdown In the reboot/shutdown path, workqueue was destroyed after the adapter resource were freed. The task associated with workqueue was getting executed after resources were freed. This lead to kernel panic. Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f4303d8fa6da702b5fe53fa91a6984941d89d514 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Mon Aug 18 17:56:22 2014 +0300 libfc: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The uses of "rcu_assign_pointer()" are NULLing out the pointers. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Acked-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b8d23dc6133c495cf9161dfb36988bbbe163461d Author: Chris Leech <cleech@xxxxxxxxxx> Date: Thu Sep 25 11:55:42 2014 -0700 fcoe: extend ethtool to FC port speed mapping add support for 20 Gbit and 40 Gbit links Signed-off-by: Chris Leech <cleech@xxxxxxxxxx> Signed-off-by: Vasu Dev <vasu.dev@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit fe7e85c6f5ff63a8cd081deb35e58a0bd47589cd Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:10 2014 +1000 powerpc/powernv: Override dma_get_required_mask() The dma_get_required_mask() function is used by some drivers to query the platform about what DMA mask is needed to cover all of memory. This is a bit of a strange semantic when we have to choose between IOMMU translation or bypass, but essentially what it means is "what DMA mask will give best performances". Currently, our IOMMU backend always returns a 32-bit mask here, we don't do anything special to it when we have bypass available. This causes some drivers to choose a 32-bit mask, thus losing the ability to use the bypass window, thinking this is more efficient. The problem was reported from the driver of following device: 0004:03:00.0 0107: 1000:0087 (rev 05) 0004:03:00.0 Serial Attached SCSI controller: LSI Logic / Symbios \ Logic SAS2308 PCI-Express Fusion-MPT SAS-2 (rev 05) This patch adds an override of that function in order to, instead, return a 64-bit mask whenever a bypass window is available in order for drivers to prefer this configuration. Reported-by: Murali N. Iyer <mniyer@xxxxxxxxxx> Suggested-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 372fb80db93af5d85c750515526d731856e1890c Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:09 2014 +1000 powerpc/powernv: Fetch frozen PE on top level It should have been part of commit 1ad7a72c5 ("powerpc/eeh: Report frozen parent PE prior to child PE"). There are 2 ways to report EEH errors: proactively polling because of 0xFF's returned from PCI config or IO read, or interrupt driven event. We missed to report and handle parent frozen PE prior to child frozen PE for the later case on PowerNV platform. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit f2e0be5e76dd626c70f5aa5c6165b4dfa1d14c64 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:08 2014 +1000 powerpc/eeh: Dump PCI config space for all child devices The PEs can be organized as nested. Current implementation doesn't dump PCI config space for subordinate devices of child PEs. However, the frozen PE could be caused by those subordinate devices of its child PEs. The patch dumps PCI config space for all subordinate devices of the problematic PE. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5cfb20b96f624e9852c4f3f1c4397e81ca28d5aa Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:07 2014 +1000 powerpc/eeh: Emulate EEH recovery for VFIO devices When enabling EEH functionality on passed through devices (PE) with VFIO, the devices in the PE would be removed permanently from guest side. In that case, the PE remains frozen state. When returning PE to host, or restarting the guest again, we had mechanism unfreezing the PE by clearing PESTA/B frozen bits. However, that's not enough for some adapters, which are indicated as following "lspci" shows. Those adapters require hot reset on the parent bus to bring their firmware back to workable state. Otherwise, those adaptrs won't be operative and the host (for returning case) or the guest will fail to load the drivers for those adapters without exception. 0000:01:00.0 Ethernet controller: Emulex Corporation OneConnect \ 10Gb NIC (be3) (rev 02) 0000:01:00.0 0200: 19a2:0710 (rev 02) 0001:03:00.0 Ethernet controller: Emulex Corporation OneConnect \ NIC (Lancer) (rev 10) 0001:03:00.0 0200: 10df:e220 (rev 10) The patch adds mechanism to emulate EEH recovery (for hot reset on parent PCI bus) on 3 gates to fix the issue: open/release one adapter of the PE, enable EEH functionality on one adapter of the PE. Reported-by: Murilo Fossa Vicentini <muvic@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 93e8b36d7bf5c54f1c52d8b78e34f88e52a3dfa2 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:06 2014 +1000 powerpc/eeh: Tag reset state for user owned PE PE would be owned by userland, which probably request PE reset done in host side. During the reset, we should drop the PCI config accesses to the PE with help of flag EEH_PE_RESET. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d1a85eee35f15a20f508c42d7664dce335eefc2d Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:05 2014 +1000 powerpc/powernv: Sync OpalPciResetScope with firmware The names of PCI reset scopes aren't sychronized with firmware. The patch fixes it. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4ba5a0fc6441194cf238e1a049f548b5d45760c8 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:04 2014 +1000 powerpc/pseries: Decrease message level on EEH initialization As Anton suggested, the patch decreases the message level on EEH initialization to avoid unnecessary messages if required. Also, we have unified hint if any of needful RTAS calls is missed, and then we can check /proc/device-tree to figure out the missed RTAS calls. Suggested-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9372dddb189a7a7689b674ad2dd31117a407bfd5 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:03 2014 +1000 powerpc/eeh: Block PCI config access during reset Function pcibios_set_pcie_reset_state() can be used to do PCI reset. PCI config access during the reset usually causes EEH errors unexpectedly. In order to avoid the EEH error, the patch blocks PCI config access during reset with the help of flag EEH_PE_RESET, which is similar to what we did in EEH PE reset path. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c9dd0143978e1c473c08dafe8156259b895db3e2 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:02 2014 +1000 powerpc/eeh: Use eeh_unfreeze_pe() The patch uses eeh_unfreeze_pe() to replace the logic clearing frozen IO and DMA, in order to simplify the code. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4eeeff0ebcdeabf3f76c4eece0593e98c6619be8 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:01 2014 +1000 powerpc/eeh: Unfreeze PE on enabling EEH functionality When passing through PE to guest, that's possibly in frozen state. The driver for the pass-through devices on guest side can't be loaded successfully as reported. We already had one gate in eeh_dev_open() to clear PE frozen state accordingly, but that's not enough because the function is only called at QEMU startup for once. The patch adds another gate in eeh_pe_set_option() so that the PE frozen state can be cleared at QEMU restart time. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4d4f577e4b5ee1299096438bbcf743bbe14f33ab Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:39:00 2014 +1000 powerpc/eeh: Fix improper condition in eeh_pci_enable() The function eeh_pci_enable() is called to apply various requests to one particular PE: Enabling EEH, Disabling EEH, Enabling IO, Enabling DMA, Freezing PE. When enabling IO or DMA on one specific PE, we need check that IO or DMA isn't enabled previously. But the condition used to do the check isn't completely correct because one PE would be in DMA frozen state with workable IO path, or vice versa. The patch fixes the improper condition. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 22fca17924094113fe79c1db5135290e1a84ad4b Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:59 2014 +1000 powerpc/eeh: Clear frozen device state in time The problem was reported by Carol: In the scenario of passing mlx4 adapter to guest, EEH error could be recovered successfully. When returning the device back to host, the driver (mlx4_core.ko) couldn't be loaded successfully because of error number -5 (-EIO) returned from mlx4_get_ownership(), which hits offlined PCI device. The root cause is that we missed to put the affected devices into normal state on clearing PE isolated state right after PE reset. The patch fixes above issue by putting the affected devices to normal state when clearing PE isolated state in eeh_pe_state_clear(). Cc: stable@xxxxxxxxxxxxxxx Reported-by: Carol L. Soto <clsoto@xxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d9df1b5da17cd328301def1d2ae2c2df35f3823c Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:58 2014 +1000 powerpc/powernv: Clear PAPR error injection registers The frozen state on one specific PE is probably caused by error injection, which is done with help of PAPR error injection registers. According to the hardware spec, those registers should be cleared automatically after one-shot frozen PE. However, that's not always true, at least on P7IOC of Firebird-L. So we have to clear them before doing PE reset to avoid recursive EEH errors at recovery stage. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7a062782295a896f697137aacbe23400fbbafa94 Author: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:57 2014 +1000 powerpc/powernv: Add PCI error injection debugfs entry The patch adds debugfs file (/sys/kernel/debug/powerpc/PCIxxxx/ err_injct), which accepts following formated string, to support error injection. It will be used to support userland utility "errinjct" in future. "pe_no:0:function:address:mask" - 32-bits PCI errors "pe_no:1:function:address:mask" - 64-bits PCI errors Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 131c123abec375afc819da89925dbce97590278e Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:56 2014 +1000 powerpc/eeh: Introduce eeh_ops::err_inject The patch introduces eeh_ops::err_inject(), which allows to inject specified errors to indicated PE for testing purpose. The functionality isn't support on pSeries platform. On PowerNV, the functionality relies on OPAL API opal_pci_err_inject(). Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5b64234081fcbd48c4ae207ce2cc3c31f859f8a4 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:55 2014 +1000 powerpc/powernv: Sync header with firmware The patch synchronizes firmware header file (opal.h) for PCI error injection. Signed-off-by: Mike Qiu <qiudayu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 404079c87e2f390611b71c8f03b9f5ddb6241131 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:54 2014 +1000 powerpc/eeh: Clear frozen state on passing device When passing through device, its PE might have been put into frozen state. One obvious example would be: the passed PE is forced to be offline because of hitting maximal allowed EEH errors in userland. In that case, the frozen state won't be cleared and then the PE is returned back to host, which might not have chance detecting and recovering from it. The patch adds more check when passing through device and clear the PE frozen state if necessary. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 316233ff878451e198e3633fd9165c437007a309 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:53 2014 +1000 powerpc/eeh: Reenable PCI devices after reset The PCI devices that have been passed through are enabled before reset, we need restore to the enabled state after reset. Otherwise, MMIO access might be issued to disabled devices after reset and causes exceptional recursive EEH error. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0d5ee5205e62908172bf5e1a5fd171ba262fdb75 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:52 2014 +1000 powerpc/eeh: Freeze PE before PE reset The patch adds one more option (EEH_OPT_FREEZE_PE) to set_option() method to proactively freeze PE, which will be issued before resetting pass-throughed PE to drop MMIO access during reset because it's always contributing to recursive EEH error. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 940376b3a463303787c6227c0327612653bf5600 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:51 2014 +1000 powerpc/eeh: Add eeh_pe_state sysfs entry The patch adds sysfs entry "eeh_pe_state". Reading on it returns the PE's state while writing to it clears the frozen state. It's used to check or clear the PE frozen state from userland for debugging purpose. The patch also replaces printk(KERN_WARNING ...) with pr_warn() in eeh_sysfs.c Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3e938052fb7655c91ff031dd93f064b4087a1387 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 30 12:38:50 2014 +1000 powerpc/eeh: Drop unused argument in eeh_check_failure() eeh_check_failure() is used to check frozen state of the PE which owns the indicated I/O address. The argument "val" of the function isn't used. The patch drops it and return the frozen state of the PE as expected. Cc: Vishal Mansur <vmansur@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit afdadc06df68861ee7b9ed1699a44516532f545e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 30 09:11:15 2014 +0200 gpio: staticize xway_stp_init() This initcall is only called from the driver itself, staticize it. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c98fed9fc6a7449affd941d8a8e9fcb0c72977d6 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 06:14:26 2014 -0700 locktorture: Cleanup header usage Remove some unnecessary ones and explicitly include rwsem.h Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit a1229491006a3d55cc0d7e6d496be39915ccefdd Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 06:14:25 2014 -0700 locktorture: Cannot hold read and write lock ... trigger an error if so. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 219f800f99db6f4e43a582cb9e0d98931f13c012 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 06:14:24 2014 -0700 locktorture: Fix __acquire annotation for spinlock irq Its quite easy to get mixed up with the names -- 'torture_spinlock_irq' is not actually a valid spinlock name. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit e34191fad8e5d9fe4e76f6d03b5e29e3eae7535a Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 06:14:23 2014 -0700 locktorture: Support rwlocks Add a "rw_lock" torture test to stress kernel rwlocks and their irq variant. Reader critical regions are 5x longer than writers. As such a similar ratio of lock acquisitions is seen in the statistics. In the case of massive contention, both hold the lock for 1/10 of a second. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 24afc3852e5ec9c35de5ae1b3c4f9e4ecbf53cb6 Merge: 82de1bc fa0111b Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Mon Sep 29 23:43:12 2014 -0700 Merge tag 'for_3.18/samsung-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/tfiga/samsung-clk into clk-next Samsung clock patches for v3.18 1) non-critical fixes (without the need to push to stable) fa0111be4ff3 clk: samsung: exynos4: remove duplicate div_core2 divider clock instantiation b511593d7165 clk: samsung: exynos4: fix g3d clocks c14254300131 clk: samsung: exynos4: add missing smmu_g2d clock and update comments 22842d244af3 clk: samsung: exynos5260: fix typo in clock name e82ba578ccde clk: samsung: exynos3250: fix width field of mout_mmc0/1 59037b92f440 clk: samsung: exynos3250: fix width and shift of div_spi0_isp clock 5ce37f266650 clk: samsung: exynos3250: fix mout_cam_blk parent list 2) Clock driver extensions 07ccf02ba5c3 dt-bindings: clk: samsung: Document the DMC domain of Exynos3250 CMU d0e73eaf1925 ARM: dts: exynos3250: Add CMU node for DMC domain clocks e3c3f19bc618 clk: samsung: exynos3250: Register DMC clk provider 4676f0aab9dc clk: samsung: exynos4: add support for MOUT_HDMI and MOUT_MIXER clocks commit 82de1bc86c493ad832db270635fbf4e8c237f02f Merge: 6e18ff2 04ed831 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Mon Sep 29 23:38:59 2014 -0700 Merge branch 'for-v3.18/ti-clk-driver' of github.com:t-kristo/linux-pm into clk-next commit 443b39cdd5c37661bf681858b327418c3a5b9d76 Author: Richard Weinberger <richard@xxxxxx> Date: Tue Sep 16 15:30:36 2014 +0200 UBIFS: Fix trivial typo in power_cut_emulated() s/withing/within/ Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit e3e00445d478f63f42a306e549f7358b6612110b Author: Richard Weinberger <richard@xxxxxx> Date: Tue Sep 16 15:30:35 2014 +0200 UBI: Fix trivial typo in __schedule_ubi_work s/of/if/ Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit d8e0a86f9713689e35dc14f7184e85a13a2a9f4e Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Jun 23 14:20:06 2014 -0700 i2c: cros_ec: Remove EC_I2C_FLAG_10BIT In <https://lkml.org/lkml/2014/6/10/265> pointed out that the 10-bit flag in the cros_ec_tunnel was useless. It went into a 16-bit flags field but was defined at (1 << 16). Since we have no 10-bit i2c devices on the other side of the tunnel on any known devices this was never a problem. Until we do it makes sense to remove this code. On the EC side the code to handle this flag was removed in <https://chromium-review.googlesource.com/204162>. Reported-by: Dave Jones <davej@xxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 1dadba87cba20989c5a5a56f2a86fe6672e37c30 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Mon Sep 22 11:08:48 2014 +0200 drm/nouveau: nv84+: fix fence context seqno's This fixes a regression introduced by "drm/nouveau: rework to new fence interface" (commit 29ba89b2371d466). The fence sequence should not be reset after creation, the old value is used instead. On destruction the final value is written, to prevent another source of accidental wraparound in case of a channel being destroyed after a hang, and unblocking any other channel that may wait on the about-to-be-deleted channel to signal. I'm nothing if not optimistic about any hope of recovery from that. ;-) Reported-by: Ted Percival <ted@xxxxxxxxxx> Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Tested-by: Ted Percival <ted@xxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 213d61386ee8a0a704d99922dbdb99f9c233d630 Merge: 5f0c5f7 fa5f4ad Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 30 01:30:50 2014 -0400 Merge branch 'am335x' Markus Pargmann says: ==================== net: cpsw: Support for am335x chip MACIDs This series adds support to the cpsw driver to read the MACIDs of the am335x chip and use them as fallback. These addresses are only used if there are no mac addresses in the devicetree, for example set by a bootloader. ==================== Acked-by: Mugunthan V N <mugunthanvnm@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa5f4adf3a1594d55d730ba68c10afa1edebf58a Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:19 2014 +0200 arm: dts: am33xx, Add syscon phandle to cpsw node There are 2 MACIDs stored in the control module of the am33xx. These are read by the cpsw driver if no valid MACID was found in the devicetree. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9aaf87cd06fe161d96a814e719f7854cf4be8a9 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:18 2014 +0200 am33xx: define syscon control module device node Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ba517b18aac0ed747b0f0716ca87cedaa8e5491 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:17 2014 +0200 net: cpsw: Add am33xx MACID readout This patch adds a function to get the MACIDs from the am33xx SoC control module registers which hold unique vendor MACIDs. This is only used if of_get_mac_address() fails to get a valid mac address. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Tested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56fdb2e04697c06b0af421cece0f360087af9cd1 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:16 2014 +0200 net: cpsw: Replace pr_err by dev_err Use dev_err instead of pr_err. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd07d34f00dfe5025faab0263554e3052ce5d58e Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:15 2014 +0200 net: cpsw: header, Add missing include "MII_BUS_ID_SIZE" is defined in linux/phy.h which is not included in the cpsw.h file. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d507dffe766b8e29f29d17ae8e0611b5638286e Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:14 2014 +0200 net: cpsw: Add missing return value ret is set 0 at this point, so jumping to that error label would result in a return value of 0. Set ret to -ENOMEM to return a proper error value. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4a9839b8548cf2668c6ccf961f30bd565e8333f Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 29 08:53:13 2014 +0200 DT doc: net: cpsw mac-address is optional mac-address is an optional property. If no mac-address is set, a random mac-address will be generated. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Reviewed-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f0c5f73e5efaee2928c4cabcf48b03f6ba99fc8 Author: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 28 22:34:37 2014 -0400 bonding: make global bonding stats more reliable As the code stands today, bonding stats are based simply on the stats from the member interfaces. If a member was to be removed from a bond, the stats would instantly drop. This would be confusing to an admin would would suddonly see interface stats drop while traffic is still flowing. In addition to preventing the stats drops mentioned above, new members will now be added to the bond and only traffic received after the member was added to the bond will be counted as part of bonding stats. Bonding counters will also be updated when any slaves are dropped to make sure the reported stats are reliable. v2: Changes suggested by Nik to properly allocate/free stats memory. v3: Properly destroy workqueue and fix netlink configuration path. v4: Moved cached stats into bonding and slave structs as there does not seem to be a complexity/performance benefit to using alloc'd memory vs in-struct memory. Signed-off-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0ab6f92752b9f9d8da980506e9df3bd9dcd7ed3 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Sep 28 11:54:24 2014 -0700 net: sched: enable per cpu qstats After previous patches to simplify qstats the qstats can be made per cpu with a packed union in Qdisc struct. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6401585366326fc0ecbc372ec60d1a15cd8be2f5 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Sep 28 11:53:57 2014 -0700 net: sched: restrict use of qstats qlen This removes the use of qstats->qlen variable from the classifiers and makes it an explicit argument to gnet_stats_copy_queue(). The qlen represents the qdisc queue length and is packed into the qstats at the last moment before passnig to user space. By handling it explicitely we avoid, in the percpu stats case, having to figure out which per_cpu variable to put it in. It would probably be best to remove it from qstats completely but qstats is a user space ABI and can't be broken. A future patch could make an internal only qstats structure that would avoid having to allocate an additional u32 variable on the Qdisc struct. This would make the qstats struct 128bits instead of 128+32. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25331d6ce42bcf4b34b6705fce4da15c3fabe62f Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Sep 28 11:53:29 2014 -0700 net: sched: implement qstat helper routines This adds helpers to manipulate qstats logic and replaces locations that touch the counters directly. This simplifies future patches to push qstats onto per cpu counters. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 22e0f8b9322cb1a48b1357e8f4ae6f5a9eca8cfa Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Sun Sep 28 11:52:56 2014 -0700 net: sched: make bstats per cpu and estimator RCU safe In order to run qdisc's without locking statistics and estimators need to be handled correctly. To resolve bstats make the statistics per cpu. And because this is only needed for qdiscs that are running without locks which is not the case for most qdiscs in the near future only create percpu stats when qdiscs set the TCQ_F_CPUSTATS flag. Next because estimators use the bstats to calculate packets per second and bytes per second the estimator code paths are updated to use the per cpu statistics. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a75c380c7129c432f8ac9d42ebc170e5f7d9d31e Author: Anton Blanchard <anton@xxxxxxxxx> Date: Fri Sep 19 09:40:21 2014 +1000 powerpc: Enable DCACHE_WORD_ACCESS on ppc64le Enable on DCACHE_WORD_ACCESS on ppc64le. It should work on ppc64 and ppc32 but we need to do some testing first. A somewhat reasonable testcase used to show the performance improvement - a repeated stat of a 33 byte filename that doesn't exist: #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #define ITERATIONS 10000000 #define PATH "123456781234567812345678123456781" int main(void) { unsigned long i; struct stat buf; for (i = 0; i < ITERATIONS; i++) stat(PATH, &buf); return 0; } runs 27% faster on POWER8. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 8989aa4adacd02174d1f72a00af8d669934a2b7a Author: Anton Blanchard <anton@xxxxxxxxx> Date: Fri Sep 19 09:40:20 2014 +1000 powerpc: ppc64le optimised word at a time Use cmpb which compares each byte in two 64 bit values and for each matching byte places 0xff in the target and 0x00 otherwise. A simple hash_name microbenchmark: http://ozlabs.org/~anton/junkcode/hash_name_bench.c shows this version to be 10-20% faster than running the x86 version on POWER8, depending on the length. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fe2a1bb1dbff1bc7b8c24eb1f691a544488617fa Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Sep 25 16:45:11 2014 +1000 selftests/powerpc: Add test of load_unaligned_zero_pad() It is a rarely exercised case, so we want to have a test to ensure it works as required. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit de5946c03575fb8c222610a6ac6726a5deabad46 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Fri Sep 19 09:40:19 2014 +1000 powerpc: Implement load_unaligned_zeropad Implement a bi-arch and bi-endian version of load_unaligned_zeropad. Since the fallback case is so rare, a userspace test harness was used to test this on ppc64le, ppc64 and ppc32: http://ozlabs.org/~anton/junkcode/test_load_unaligned_zeropad.c It uses mprotect to force a SEGV across a page boundary, and a SEGV handler to lookup the exception tables and run the fixup routine. It also compares the result against a normal load. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 480bd3c4ad30558dd26c16e3f8358e36522d9af0 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Mon Sep 29 18:21:46 2014 -0700 mei: mei_txe_fw_sts can be static CC: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit baeb7ef34952f523a129e5d1369aa42ecbe7f8c9 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Mon Sep 29 10:21:03 2014 +0200 tty: serial: 8250: use 32bit variable for rpm_tx_active The kbuild test robot wrote me: | make.cross ARCH=powerpc |>> ERROR: ".__xchg_called_with_bad_pointer" [drivers/tty/serial/8250/8250.ko] undefined! The generic implementation of xchg() on arm and x86 works for variables of size one bye (char). According to the report powerpc does not support xchg() for one byte sized variables and looking further it seems also to be the same case for sparc and tile (or for 10 out of 26 architectures which provide a custom implementation). For that reason I increase the size of the variable from one to four bytes to get it work on powerpc (and the others). Reported-By: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93899a679fd6b2534b5c297d9316bae039ebcbe1 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Sep 29 17:18:39 2014 -0600 vfio-pci: Fix remove path locking Locking both the remove() and release() path results in a deadlock that should have been obvious. To fix this we can get and hold the vfio_device reference as we evaluate whether to do a bus/slot reset. This will automatically block any remove() calls, allowing us to remove the explict lock. Fixes 61d792562b53. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [3.17] commit f48c767ce8951e30eb716b8ef69142d21aacbd1d Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Sep 29 13:58:47 2014 +0200 PM / Domains: Move dev_pm_domain_attach|detach() to pm_domain.h The commit 46420dd73b80 (PM / Domains: Add APIs to attach/detach a PM domain for a device) started using errno values in pm.h header file. It also failed to include the header for these, thus it caused compiler errors. Instead of including the errno header to pm.h, let's move the functions to pm_domain.h, since it's a better match. Fixes: 46420dd73b80 (PM / Domains: Add APIs to attach/detach a PM domain for a device) Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 76272ab3f348d303eb31a5a061601ca8e0f9c5ce Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 18:02:19 2014 -0400 staging: rtl8821ae: remove driver There is now a "real" driver in the wireless tree for this hardware device, so remove the staging driver as it is no longer needed. Reported-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a666b6ffbc9b6705a3ced704f52c3fe9ea8bf959 Author: Pali Rohár <pali.rohar@xxxxxxxxx> Date: Mon Sep 29 15:10:51 2014 +0200 dell-wmi: Fix access out of memory Without this patch, dell-wmi is trying to access elements of dynamically allocated array without checking the array size. This can lead to memory corruption or a kernel panic. This patch adds the missing checks for array size. Signed-off-by: Pali Rohár <pali.rohar@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 6c97c9c1acfce89cce2f239f0325786f95aea848 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Fri Sep 19 10:08:12 2014 +0200 i2c: cros-ec-tunnel: Add of match table To enable the cros-ec-tunnel driver to be auto-loaded when build as a module add an of match table (and export it) to match the modalias information passed on to userspace as the Cros EC MFD driver registers the MFD subdevices with an of_compatibility string. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 22762ccb0ef02a8fbdde09046d7095d46f3b7095 Author: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 12:07:37 2014 +0200 i2c: rcar: remove sign-compare flaw gcc rightfully says: drivers/i2c/busses/i2c-rcar.c:198:10: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] Signed-off-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8b57cebedd3e8a384ab678a69e9b7128eb438a1f Author: Fan Du <fan.du@xxxxxxxxx> Date: Tue Sep 16 17:21:03 2014 +0800 i2c: ismt: Use minimum descriptor size Software is allowed to allocate number of descriptor size from 2 to 256, this i2c controller could process more descriptor, but for i2c core soft ware layer, only one i2c transaction is allowed each time. So here switch to minimum 2 descriptor when initialization. Signed-off-by: Fan Du <fan.du@xxxxxxxxx> Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 639a26cf0771cb5a4d61a0f7777882cbda989753 Author: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Date: Wed Sep 3 13:52:07 2014 +0800 i2c: imx: Add arbitration lost check According to the i.mx spec, for multimaster mode, if I2C is enabled when the bus is busy and asserts start, hardware inhibits the transmission, clears MSTA without signaling a stop, generate an interrupt, and set I2C_I2SR[IAL] to indicate a failed attempt to engage the bus, which means arbitration lost. In this case, we should first test I2C_I2SR[IAL], and clear this bit if it is set, and then I2C controller default to slave receive mode. This patch check the IAL bit every time before an I2c transmission. if IAL is set, clear it and make I2C controller to default mode. Signed-off-by: Haibo Chen <haibo.chen@xxxxxxxxxxxxx> Acked-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 29209338b22a61c9ba67badd5f36e96cda1892d8 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Aug 22 10:43:44 2014 -0700 i2c: rk3x: Remove unlikely() annotations Having a transfer more than 32 bits is not all that unlikely. Remove the annotation. The unlikely in the IRQ handler can't gain us much. It's not in a loop, so at most it would save 1 instruction per IRQ, which isn't much. In fact on the compiler I tested it produced the exact same code. Remove it too. Suggested-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit aa5beaf62588d095398415af5d0e14c79e2478a3 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 00:20:19 2014 +0400 i2c: rcar: check for no IRQ in rcar_i2c_irq() Check if the ICMSR register (masked with the ICMIER register) evaluates to 0 in the driver's interrupt handler and return IRQ_NONE in that case, like many other drivers do. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 7c7117ffe08fd54d4129e378b46a812c717bae48 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 00:15:46 2014 +0400 i2c: rcar: make rcar_i2c_prepare_msg() *void* rcar_i2c_prepare_msg() always returns 0, so we can make this function return *void* and thus remove the result check in rcar_i2c_master_xfer(). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit c30d7662d81062cbc25e5ff50be8dbaca3a1f20a Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 00:14:14 2014 +0400 i2c: rcar: simplify check for last message rcar_i2c_master_xfer() needlessly compares the message pointers (using indirect addressing) in order to detect the last I2C message, while it's enough to only compare the message indexes. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 4bcfda09936da647b0a3b49d5dcb3c6c6ebb0395 Author: Tan, Raymond <raymond.tan@xxxxxxxxx> Date: Wed Sep 3 10:41:38 2014 +0800 i2c: designware: add support of platform data to set I2C mode Use the platform data to set the clk_freq when there is no DT configuration available. The clk_freq in turn will determine the I2C speed mode. In Quark, there is currently no other configuration mechanism other than board files. Signed-off-by: Raymond Tan <raymond.tan@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Hock Leong Kweh <hock.leong.kweh@xxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit 8e5f6b2a289c4374456fb785900b0b7445b719e6 Author: Romain Baeriswyl <Romain.Baeriswyl@xxxxxxxxxx> Date: Wed Aug 20 16:29:08 2014 +0200 i2c: designware: add support of I2C standard mode Some legacy devices support ony I2C standard mode at 100kHz. This patch allows to select the standard mode through the DTS with the use of the existing clock-frequency parameter. When clock-frequency parameter is not set, the fast mode is selected. Only when the parameter is set at 100000, the standard mode is selected. Signed-off-by: Romain Baeriswyl <romainba@xxxxxxxxxx> Reviewed-by: Christian Ruppert <christian.ruppert@xxxxxxxxxx> Acked-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> commit f5b313a2bcd4c436560c044c726d9ad84a3e4bb3 Merge: 45942c3 f29a432 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 29 20:49:42 2014 +0100 Merge remote-tracking branch 'regmap/topic/cache' into regmap-next commit 45942c310da8eadc603e7d2332897909c1da4b70 Merge: 88507a2 6e64b6c Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 29 20:49:42 2014 +0100 Merge remote-tracking branch 'regmap/topic/dt-endian' into regmap-next commit 88507a2ba8b453a38b950f3ccb2cae6cc4d82e7a Merge: 18a64d8 336fb81 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 29 20:49:41 2014 +0100 Merge remote-tracking branch 'regmap/topic/core' into regmap-next commit 18a64d844c0e98ad00f735f5ea6a3affb6b76639 Merge: 25a9487 18c0301 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 29 20:49:40 2014 +0100 Merge remote-tracking branch 'regmap/fix/debugfs' into regmap-linus commit 25a948778759ad87d7b005522248cec97eaaa4c5 Merge: fe82dce d6b41cb Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 29 20:49:40 2014 +0100 Merge remote-tracking branch 'regmap/fix/core' into regmap-linus commit 100ebb2c48eaddd6a7ce9602d5d4c37f0a3c9232 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Sep 26 17:07:59 2014 -0600 PCI: Add ACS quirk for Intel 10G NICs Intel has verified there is no peer-to-peer between functions for the below selection of 82598, 82599, and X520 10G NICs. These NICs lack an ACS capability, so we're not able to determine this isolation without the help of quirks. Generalize the Solarflare quirk and add these Intel 10G NICs. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: John Ronciak <John.ronciak@xxxxxxxxx> commit 79cf79abce71eb7dbc40e2f3121048ca5405cb47 Author: Michael Braun <michael-dev@xxxxxxxxxxxxx> Date: Thu Sep 25 16:31:08 2014 +0200 macvlan: add source mode This patch adds a new mode of operation to macvlan, called "source". It allows one to set a list of allowed mac address, which is used to match against source mac address from received frames on underlying interface. This enables creating mac based VLAN associations, instead of standard port or tag based. The feature is useful to deploy 802.1x mac based behavior, where drivers of underlying interfaces doesn't allows that. Configuration is done through the netlink interface using e.g.: ip link add link eth0 name macvlan0 type macvlan mode source ip link add link eth0 name macvlan1 type macvlan mode source ip link set link dev macvlan0 type macvlan macaddr add 00:11:11:11:11:11 ip link set link dev macvlan0 type macvlan macaddr add 00:22:22:22:22:22 ip link set link dev macvlan0 type macvlan macaddr add 00:33:33:33:33:33 ip link set link dev macvlan1 type macvlan macaddr add 00:33:33:33:33:33 ip link set link dev macvlan1 type macvlan macaddr add 00:44:44:44:44:44 This allows clients with MAC addresses 00:11:11:11:11:11, 00:22:22:22:22:22 to be part of only VLAN associated with macvlan0 interface. Clients with MAC addresses 00:44:44:44:44:44 with only VLAN associated with macvlan1 interface. And client with MAC address 00:33:33:33:33:33 to be associated with both VLANs. Based on work of Stefan Gula <steweg@xxxxxxxxx> v8: last version of Stefan Gula for Kernel 3.2.1 v9: rework onto linux-next 2014-03-12 by Michael Braun add MACADDR_SET command, enable to configure mac for source mode while creating interface v10: - reduce indention level - rename source_list to source_entry - use aligned 64bit ether address - use hash_64 instead of addr[5] v11: - rebase for 3.14 / linux-next 20.04.2014 v12 - rebase for linux-next 2014-09-25 Signed-off-by: Michael Braun <michael-dev@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1104528bc769bef26f837097459e1a6e4dae240c Merge: c0ed74e 24832b4 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Sep 29 13:24:24 2014 -0600 Merge branch 'pci/host-designware' into next * pci/host-designware: PCI: designware: Add get_msi_data() to pcie_host_ops PCI: designware: Rename get_msi_data() to get_msi_addr() PCI: designware: Fix IO resource end address calculation PCI: designware: Fix configuration base address when using 'reg' PCI: designware: Use NULL instead of false [bhelgaas: Fixup keystone for "PCI: designware: Rename get_msi_data() to get_msi_addr()"] commit 852248449c73b5ffe109a33d65485c71d3d398a7 Merge: 735d383 db29a95 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 29 14:46:53 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== pull request: netfilter/ipvs updates for net-next The following patchset contains Netfilter/IPVS updates for net-next, most relevantly they are: 1) Four patches to make the new nf_tables masquerading support independent of the x_tables infrastructure. This also resolves a compilation breakage if the masquerade target is disabled but the nf_tables masq expression is enabled. 2) ipset updates via Jozsef Kadlecsik. This includes the addition of the skbinfo extension that allows you to store packet metainformation in the elements. This can be used to fetch and restore this to the packets through the iptables SET target, patches from Anton Danilov. 3) Add the hash:mac set type to ipset, from Jozsef Kadlecsick. 4) Add simple weighted fail-over scheduler via Simon Horman. This provides a fail-over IPVS scheduler (unlike existing load balancing schedulers). Connections are directed to the appropriate server based solely on highest weight value and server availability, patch from Kenny Mathis. 5) Support IPv6 real servers in IPv4 virtual-services and vice versa. Simon Horman informs that the motivation for this is to allow more flexibility in the choice of IP version offered by both virtual-servers and real-servers as they no longer need to match: An IPv4 connection from an end-user may be forwarded to a real-server using IPv6 and vice versa. No ip_vs_sync support yet though. Patches from Alex Gartrell and Julian Anastasov. 6) Add global generation ID to the nf_tables ruleset. When dumping from several different object lists, we need a way to identify that an update has ocurred so userspace knows that it needs to refresh its lists. This also includes a new command to obtain the 32-bits generation ID. The less significant 16-bits of this ID is also exposed through res_id field in the nfnetlink header to quickly detect the interference and retry when there is no risk of ID wraparound. 7) Move br_netfilter out of the bridge core. The br_netfilter code is built in the bridge core by default. This causes problems of different kind to people that don't want this: Jesper reported performance drop due to the inconditional hook registration and I remember to have read complains on netdev from people regarding the unexpected behaviour of our bridging stack when br_netfilter is enabled (fragmentation handling, layer 3 and upper inspection). People that still need this should easily undo the damage by modprobing the new br_netfilter module. 8) Dump the set policy nf_tables that allows set parameterization. So userspace can keep user-defined preferences when saving the ruleset. From Arturo Borrero. 9) Use __seq_open_private() helper function to reduce boiler plate code in x_tables, From Rob Jones. 10) Safer default behaviour in case that you forget to load the protocol tracker. Daniel Borkmann and Florian Westphal detected that if your ruleset is stateful, you allow traffic to at least one single SCTP port and the SCTP protocol tracker is not loaded, then any SCTP traffic may be pass through unfiltered. After this patch, the connection tracking classifies SCTP/DCCP/UDPlite/GRE packets as invalid if your kernel has been compiled with support for these modules. ==================== Trivially resolved conflict in include/linux/skbuff.h, Eric moved some netfilter skbuff members around, and the netfilter tree adjusted the ifdef guards for the bridging info pointer. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d13f69444bd3d4888e43f7756449748f5a98bad Author: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 14:46:30 2014 -0400 missing data dependency barrier in prepend_name() AFAICS, prepend_name() is broken on SMP alpha. Disclaimer: I don't have SMP alpha boxen to reproduce it on. However, it really looks like the race is real. CPU1: d_path() on /mnt/ramfs/<255-character>/foo CPU2: mv /mnt/ramfs/<255-character> /mnt/ramfs/<63-character> CPU2 does d_alloc(), which allocates an external name, stores the name there including terminating NUL, does smp_wmb() and stores its address in dentry->d_name.name. It proceeds to d_add(dentry, NULL) and d_move() old dentry over to that. ->d_name.name value ends up in that dentry. In the meanwhile, CPU1 gets to prepend_name() for that dentry. It fetches ->d_name.name and ->d_name.len; the former ends up pointing to new name (64-byte kmalloc'ed array), the latter - 255 (length of the old name). Nothing to force the ordering there, and normally that would be OK, since we'd run into the terminating NUL and stop. Except that it's alpha, and we'd need a data dependency barrier to guarantee that we see that store of NUL __d_alloc() has done. In a similar situation dentry_cmp() would survive; it does explicit smp_read_barrier_depends() after fetching ->d_name.name. prepend_name() doesn't and it risks walking past the end of kmalloc'ed object and possibly oops due to taking a page fault in kernel mode. Cc: stable@xxxxxxxxxxxxxxx # 3.12+ Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx> commit 6f67c380056ceaf5844f18d3a5d769d233247849 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Fri Sep 26 09:57:27 2014 -0700 ASoC: rt5677: Add dts properties for input/output differential configuration Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f8a770c2c67f28956f8f4601feb99e9bd02a16c8 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Sep 29 16:58:16 2014 +0300 ASoC: Intel: byt-rt5640: Add quirk for Asus T100 Asus T100 internal microphone is not digital but analogue connected to IN1P pin of the RT564x codec with shared bias between internal and headset microphones. Because of this there is need to have machine specific DAPM routes in byt-rt5640. Add handling for them with the help of DMI quirk that is used to add custom routes in addition to common. Because "Internal Mic" connected to DMIC1 is not common to all move it as a default custom route when there is no match in quirk table. Custom "Internal Mic" -> "IN1P" with MICBIAS1 route is added for Asus T100. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ac06dd8df6e13591524f0e1bedf36af4ca0e967b Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Mon Sep 29 16:58:15 2014 +0300 ASoC: Intel: byt-rt5640: Remove IN2N pin from DAPM route table I tested couple byt-rt5640 based platforms and they have single-ended headset microphone connection to IN2P only. I guess IN2N was either defined by accident or some early platform had floating ground for headset. It's better to remove IN2N and add a custom route for such a platform if needed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e19685ed24b518440c0717719ff02e74c0e6d2cb Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 09:41:08 2014 -0700 perf bench futex: Sanitize -q option in requeue When given the number of threads to requeue at once by user input, there's always the risk of this value being larger than the total number of threads. This doesn't make any sense, and the kernel can easily deal with such sort of situations, hence no big deal. We should however prevent bogus output such as: ./perf bench --repeat 2 futex requeue -q 10 Run summary [PID 22210]: Requeuing 4 threads (from [private] 0x99ef3c to 0x99ef38), 10 at a time. [Run 1]: Requeued 10 of 4 threads in 0.0040 ms [Run 2]: Requeued 10 of 4 threads in 0.0030 ms Requeued 10 of 4 threads in 0.0035 ms (+-14.29%) Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Link: http://lkml.kernel.org/r/1412008868-22328-2-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 86c87e13f8a5dffc6cc7b0f37340f815dc172945 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Mon Sep 29 09:41:07 2014 -0700 perf bench futex: Support operations for shared futexes Unlike futex-hash, requeuing and wakeup benchmarks do not support shared futexes, limiting the usefulness of the programs. Correct this, and allow using the local -S parameter. The default remains using private futexes. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: Davidlohr Bueso <dbueso@xxxxxxx> Link: http://lkml.kernel.org/r/1412008868-22328-1-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 735d383117e113403442d971b23e7cfa2f876c7c Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Sep 29 13:08:30 2014 +0200 tcp: change TCP_ECN prefixes to lower case Suggested by Stephen. Also drop inline keyword and let compiler decide. gcc 4.7.3 decides to no longer inline tcp_ecn_check_ce, so split it up. The actual evaluation is not inlined anymore while the ECN_OK test is. Suggested-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d82bd1229885d550d03926cfa937703f6caa3cc0 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Sep 29 13:08:29 2014 +0200 tcp: move TCP_ECN_create_request out of header After Octavian Purdilas tcp ipv4/ipv6 unification work this helper only has a single callsite. While at it, convert name to lowercase, suggested by Stephen. Suggested-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2b7fc477b0423cbcc7be8ad8652e3552198de418 Merge: 41c9199 5b85bad Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 29 14:36:33 2014 -0400 Merge branch 'arcnet-EAE' Michael Grzeschik says: ==================== ARCNET: add support for EAE multi interfac card this series adds support for the PLX Bridge based multi interface pci cards and adds support to change device address on com200xx chips during runtime. This series is based on v3.17-rc7. It is fixed for build against com20020_cs. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b85bad2a473a8b90cac93d21ab024ba221a8b09 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Mon Sep 29 11:55:38 2014 +0200 ARCNET: enable eae arcnet card support This patch adds support for the EAE arcnet cards which has two Interfaces. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c51da42a6346c0c747e70a4f5ae873da1150a784 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Mon Sep 29 11:55:37 2014 +0200 ARCNET: add support for multi interfaces on com20020 The com20020-pci driver is currently designed to instance one netdev with one pci device. This patch adds support to instance many cards with one pci device, depending on the device data in the private data. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c14f9c70327a6fb75534c4c61d7ea9c82ccf78f Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Mon Sep 29 11:55:36 2014 +0200 ARCNET: add com20020 PCI IDs with metadata This patch adds metadata for the com20020 to prepare for devices with multiple io address areas with multi card interfaces. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a0d2e51390622e4dfd9d7bffb768e6fa22fb7daf Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Mon Sep 29 11:55:35 2014 +0200 ARCNET: add com20020_set_hwddr to change address This patch adds com20020_set_hwaddr to make it possible to change the hwaddr on runtime. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 226ee6751541a958cd1ad982f5ba0f9affde6141 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Mon Sep 29 11:55:34 2014 +0200 ARCNET: return IRQ_NONE if the interface isn't running The interrupt handler needs to return IRQ_NONE in case two devices are used with the shared interrupt handler. Otherwise it could steal interrupts from the other interface. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24bab491220faa446d945624086d838af41d616c Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Fri Sep 26 13:58:27 2014 -0400 NFSD: Implement SEEK This patch adds server support for the NFS v4.2 operation SEEK, which returns the position of the next hole or data segment in a file. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 87a15a8090c0e5284c0e53528d9defa5d9237866 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Fri Sep 26 13:58:26 2014 -0400 NFSD: Add generic v4.2 infrastructure It's cleaner to introduce everything at once and have the server reply with "not supported" than it would be to introduce extra operations when implementing a specific one in the middle of the list. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7e5be28827bf5c1989218c4b7bf64fdbc3d679b5 Author: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 17:11:22 2014 -0500 svcrdma: advertise the correct max payload Svcrdma currently advertises 1MB, which is too large. The correct value is the minimum of RPCSVC_MAXPAYLOAD and the max scatter-gather allowed in an NFSRDMA IO chunk * the host page size. This bug is usually benign because the Linux X64 NFSRDMA client correctly limits the payload size to the correct value (64*4096 = 256KB). But if the Linux client is PPC64 with a 64KB page size, then the client will indeed use a payload size that will overflow the server. Signed-off-by: Steve Wise <swise@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 2c82c3ad56921c47f28af9eb8ed96b6d99b47623 Author: Chang Hyun Park <heartinpiece@xxxxxxxxx> Date: Fri Sep 26 21:54:01 2014 +0900 perf trace: Fix mmap return address truncation to 32-bit Using 'perf trace' for mmap is truncating return values by stripping the top 32 bits, actually printing only the lower 32 bits. This was because the ret value was of an 'int' type and not a 'long' type. The Problem: 991258501.244 ( 0.004 ms): mmap(len: 40001536, prot: READ|WRITE, flags: PRIVATE|ANONYMOUS, fd: -1) = 0x56691000 991258501.257 ( 0.000 ms): minfault [_int_malloc+0x1038] => //anon@0x7fa056691008 //(d.) The first line shows an mmap, which succeeds and returns 0x56691000. However the next line shows a memory access to that virtual memory area, specifically to 0x7fa056691008. The upper 32 bit is lost due to the problem mentioned above, and thus mmap's return value didn't have the upper 0x7fa0. Tested on 3.17-rc5 from the linus's tree, and the HEAD of tip/master Signed-off-by: Chang Hyun Park <heartinpiece@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411736041-8017-1-git-send-email-heartinpiece@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 46441bdc76fee08e297ebcf17e4ca91013b1ee9e Author: Matt Fleming <matt.fleming@xxxxxxxxx> Date: Wed Sep 24 15:04:06 2014 +0100 perf tools: Refactor unit and scale function parameters Passing pointers to alias modifiers 'unit' and 'scale' isn't very future-proof since if we add more modifiers to the list we'll end up passing more arguments. Instead wrap everything up in a struct perf_pmu_info, which can easily be expanded when additional alias modifiers are necessary in the future. Signed-off-by: Matt Fleming <matt.fleming@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411567455-31264-3-git-send-email-matt@xxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 31d6f57d3c65fd75c18ea9a3acebedc6cd60d656 Author: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 27 08:31:05 2014 +0200 MIPS: ralink: remove deprecated IRQF_DISABLED Remove the use of the IRQF_DISABLED flag from arch/mips/ralink/timer.c It's a NOOP since 2.6.35 and it will be removed soon. Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: jkosina@xxxxxxx Cc: standby24x7@xxxxxxxxx Cc: rdunlap@xxxxxxxxxxxxx Cc: yongjun_wei@xxxxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7886/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 0bd2ac3dae74ee25c5ea171cb572731c7a89c248 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Sep 29 11:40:42 2014 +0200 ASoC: Remove CODEC pointer from snd_soc_dapm_context The only remaining user of the CODEC pointer in the DAPM struct is to initialize the CODEC pointer in the widget struct. The later is scheduled for removal, but has still a few users left. For now use dapm->component->codec to initialize it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a761f87f367a2a172cbc62d0e88eabe175d349a8 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Sep 29 11:40:41 2014 +0200 ASoC: rx51: Use snd_soc_dapm_to_codec() instead of dapm->codec The CODEC struct in the snd_soc_dapm_context struct is deprecated and scheduled for removal. Use the snd_soc_dapm_to_codec() function instead. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9cca023e5c5c13486d48d47a46564c359af9ae73 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Sep 29 11:40:40 2014 +0200 ASoC: wm8{350,753,971}: Use snd_soc_dapm_to_codec() instead of dapm->codec The CODEC struct in the snd_soc_dapm_context struct is deprecated and scheduled for removal. Use the snd_soc_dapm_to_codec() function instead. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a4c84e6aafda0ddd8cb004c464cd11e47e211049 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Sun Sep 28 01:57:16 2014 -0700 leds: gpio: cleanup the leds-gpio driver Remove stray blank line and space. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 18c0301f9898feaac38135b2cea476bb606830e3 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 8 08:43:37 2014 +0200 regmap: Fix debugfs-file 'registers' mode The macro "REGMAP_ALLOW_WRITE_DEBUGFS" can be used to enable write support on the registers file in the debugfs. The mode of the file is fixed to 0400 so it is not possible to write the file ever. This patch fixes the mode by setting it to the correct value depending on the macro. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a823e76138466225d0a9f45520c5654132939a01 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Sun Sep 28 01:57:15 2014 -0700 led: gpio: Fix possible ZERO_SIZE_PTR pointer dereferencing error. Since we cannot make sure the 'pdata->num_leds' will always be none zero here, and then if it equals to zero, the kmemdup() will return ZERO_SIZE_PTR, which equals to ((void *)16). So this patch fix this with just doing the zero check before calling kmemdup(). Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 4cc72346f05ef549403d997d66fd517109e59d24 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Sun Sep 28 01:57:14 2014 -0700 led: gpio: Sort include headers alphabetically If the inlcude headers aren't sorted alphabetically, then the logical choice is to append new ones, however that creates a lot of potential for conflicts or duplicates because every change will then add new includes in the same location. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit a31083600476ac11b656bbc70784767f231469ff Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Sep 29 10:57:06 2014 +0800 spi: fsl: Sort include headers alphabetically Sort all the include headers alphabetically for the freescale spi drivers. If the inlcude headers sorted out of order, maybe the best logical choice is to append new ones after the exist ones, while this may create a lot of potential for duplicates and conflicts for each diffenent changes will add new headers in the same location. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 644bbf95f5e2937f4929866e0d8899a9ed42f691 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 29 08:55:41 2014 +0100 staging: et131x: Simplify for loop in et131x_init_send() The for loop in this function increments two variables and has an unusual starting index of 1 (not 0). Make it look more familiar. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccb32b13c79331cc64d81a00f3cca335b7c26c29 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 29 08:55:40 2014 +0100 staging: et131x: Audit and update comments Many of the functions and variables in the driver have been renamed and are now more understandable, as well as defines added for various constants. Update / remove some comments to reflect this. Also many comments were unnecessary dialogue describing what is evident from the code, or comments were just plain incorrect. Remove these too. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f905ce2b59c666ad48f240bfa2ab28b77f7f936 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 10:31:51 2014 -0600 drivers/vfio: Export vfio_spapr_iommu_eeh_ioctl() with GPL The function should have been exported with EXPORT_SYMBOL_GPL() as part of commit 92d18a6851fb ("drivers/vfio: Fix EEH build error"). Suggested-by: Alexey Kardashevskiy <aik@xxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 41c91996d99394a75912aa5bfda300b85789ed43 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Mon Sep 29 15:04:37 2014 +0800 tcp: remove unnecessary assignment. This variable i is overwritten to 0 by following code Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1937227316417aa7568d01e6fa1f272e98fb890 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sun Sep 28 22:18:47 2014 -0700 net: reorganize sk_buff for faster __copy_skb_header() With proliferation of bit fields in sk_buff, __copy_skb_header() became quite expensive, showing as the most expensive function in a GSO workload. __copy_skb_header() performance is also critical for non GSO TCP operations, as it is used from skb_clone() This patch carefully moves all the fields that were not copied in a separate zone : cloned, nohdr, fclone, peeked, head_frag, xmit_more Then I moved all other fields and all other copied fields in a section delimited by headers_start[0]/headers_end[0] section so that we can use a single memcpy() call, inlined by compiler using long word load/stores. I also tried to make all copies in the natural orders of sk_buff, to help hardware prefetching. I made sure sk_buff size did not change. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8f02af096b1fc9fd46680cbe55214e477eb76d3 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 10:16:24 2014 -0600 vfio/pci: Restore MSIx message prior to enabling The MSIx vector table lives in device memory, which may be cleared as part of a backdoor device reset. This is the case on the IBM IPR HBA when the BIST is run on the device. When assigned to a QEMU guest, the guest driver does a pci_save_state(), issues a BIST, then does a pci_restore_state(). The BIST clears the MSIx vector table, but due to the way interrupts are configured the pci_restore_state() does not restore the vector table as expected. Eventually this results in an EEH error on Power platforms when the device attempts to signal an interrupt with the zero'd table entry. Fix the problem by restoring the host cached MSI message prior to enabling each vector. Reported-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 3b307ffe3faad60aeda0e9a4f661d5c1edbd761e Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 10:13:46 2014 -0600 PCI: Export MSI message relevant functions The patch exports 2 MSI message relevant functions, which will be used by VFIO PCI driver. The VFIO PCI driver would be built as a module. Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit 19926c6de0c37f486f00b7531aec4ba5a09451ae Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 29 17:32:17 2014 +0200 ASoC: davinci: vcif must be a module if SND_DAVINCI_SOC is It is possible to configure a kernel with SND_DAVINCI_SOC=m and SND_DM365_VOICE_CODEC=y, which results in a link error: sound/built-in.o: In function `davinci_vcif_probe': sound/soc/davinci/davinci-vcif.c:223: undefined reference to `davinci_soc_platform_register' The best way to avoid this is to make SND_DM365_VOICE_CODEC a tristate option that depends on SND_DAVINCI_SOC, so it can only be a module or disabled when the base driver is a loadable module Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f5c9ecebaf2a2c9381973798e389cc019dd983e0 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Sep 29 10:06:19 2014 -0600 vfio/iommu_type1: add new VFIO_TYPE1_NESTING_IOMMU IOMMU type VFIO allows devices to be safely handed off to userspace by putting them behind an IOMMU configured to ensure DMA and interrupt isolation. This enables userspace KVM clients, such as kvmtool and qemu, to further map the device into a virtual machine. With IOMMUs such as the ARM SMMU, it is then possible to provide SMMU translation services to the guest operating system, which are nested with the existing translation installed by VFIO. However, enabling this feature means that the IOMMU driver must be informed that the VFIO domain is being created for the purposes of nested translation. This patch adds a new IOMMU type (VFIO_TYPE1_NESTING_IOMMU) to the VFIO type-1 driver. The new IOMMU type acts identically to the VFIO_TYPE1v2_IOMMU type, but additionally sets the DOMAIN_ATTR_NESTING attribute on its IOMMU domains. Cc: Joerg Roedel <joro@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit c02607aad2f9ed478eb288bcec1c00cd9df38b3c Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Sep 29 10:05:06 2014 -0600 iommu: introduce domain attribute for nesting IOMMUs Some IOMMUs, such as the ARM SMMU, support two stages of translation. The idea behind such a scheme is to allow a guest operating system to use the IOMMU for DMA mappings in the first stage of translation, with the hypervisor then installing mappings in the second stage to provide isolation of the DMA to the physical range assigned to that virtual machine. In order to allow IOMMU domains to be used for second-stage translation, this patch adds a new iommu_attr (IOMMU_ATTR_NESTING) for setting second-stage domains prior to device attach. The attribute can also be queried to see if a domain is actually making use of nesting. Acked-by: Joerg Roedel <jroedel@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> commit ce23139c6c2ee92d5eace20f6f10d716cf295a5b Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:50 2014 +0300 mei: fix kernel-doc warnings Add missed parameters descriptions and return values descriptions Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8605ea2c20c2b97a54d7746c16ebef5ba29632a Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:49 2014 +0300 mei: fix KDoc documentation formatting Fix Kdoc documentation formatting warnings genertaed by ./scripts/kernel-doc Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 764c065a65c31a09340e71d2c41652e7e05bf083 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:48 2014 +0300 mei: drop me_client_presentation_num me_client_presentation_num field is not used for any particular purpose now, so it can be safely dropped. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a01e97432a6ee5c5b78c0425dd7518a80f87b54 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:47 2014 +0300 mei: trivial: fix errors in prints in comments Fix misspellings and wrong print texts Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f180359f42fc6fda4600175c63f2a84f444cc92 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:46 2014 +0300 mei: remove include to pci header from mei module files Remove inclusion of linux/pci.h in mei layer however we need to include the headers that before got included implicitly from linux/pci.h. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ad96db6ccdd8b777cff5fd4aa74ec1e86f1afce Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:45 2014 +0300 mei: push pci cfg structure me hw Device specific configurations are currently only needed by me hw so we can remove it from txe Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d08b8fc0dbdbe9bf7edeb46f7a856f993630664f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:44 2014 +0300 mei: remove the reference to pdev from mei_device For purpose of adding testing HW we would like to get rid of pci dependency in generic mei code. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd30b6a42610466bae2c133e68a8feb1004929c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:43 2014 +0300 mei: move fw_status back to hw ops handlers fw status retrieval has pci specific implementation so we push it back to the hw layer Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bf94cabb199f73402a5ddefa4a7bf1a82aaeda5 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:42 2014 +0300 mei: get rid of most of the pci dependencies in mei For purpose of adding testing HW we would like to get rid of pci dependency in generic mei code This patch provides only straight forward changes FW status and prob quirks need to be handled separately Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a7e9b6c661a23429b4a106d1ffa8aa5ce6c62bb Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:41 2014 +0300 mei: push all standard settings into mei_device_init Setting of hw_ops and device has should be in mei_device_init. We add reference to the parent device and remove pci dependent cfg Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2190fe2a3f4a4e76f6c5ebfc1070b86b34f0345c Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:40 2014 +0300 mei: move mei_hbm_hdr function from hbm.h the hbm.c mei_hbm_hder helper function is only used in hbm.c so there is no need to define it in a header file Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2628118b60b9d5bb4c580a1d5973a8e1d31a50f2 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:39 2014 +0300 mei: kill error message for allocation failure There is no need to log memory allocation errors as this is already done by the memory subsystem. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55e43d1fc0fb8dd04ae8fc067994f00edae34941 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:38 2014 +0300 mei: nfc: fix style warning fix style warning: void function return statements are not generally useful Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92db1555f3b9c9be257ef4070d87eb9410493cf3 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:37 2014 +0300 mei: fix style warning: Missing a blank line after declarations fix new style warning: Missing a blank line after declarations Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 152de90d99ed0d6db08818d6f54d4d61df3b5dc1 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:36 2014 +0300 mei: pg: fix cat and paste error in comments Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2fbab57698051e68e59586bd20c17a1a487dfa63 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Mon Sep 29 16:31:35 2014 +0300 mei: debugfs: add single buffer indicator Add indication whether the client operates in single buffer mode Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c44952003fc949e81ae0a0297e91894d8724f7fe Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:34 2014 +0300 mei: debugfs: adjust print buffer In case of many me clients (15 and more) 1K buffer is not enough for full information print. Calculate buffer size according to real clients number. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1beeb4b9fbb27432f93ae8fe157228b7b897974a Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Sep 29 16:31:33 2014 +0300 mei: add hbm and pg state in devstate debugfs print Add hbm state, pg enablement and state to devstate file in debugfs (<debugfs>/mei/devstate) Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0043325495222139daa0696db736f67658dc7770 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 23:09:44 2014 +0400 usb: hcd: add generic PHY support Add the generic PHY support, analogous to the USB PHY support. Intended it to be used with the PCI EHCI/OHCI drivers and the xHCI platform driver. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d46e73dfdb840f460e5b06416965d132570ec33 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 23:05:50 2014 +0400 usb: rename phy to usb_phy in HCD The USB PHY member of the HCD structure is renamed to 'usb_phy' and modifications are done in all drivers accessing it. This is in preparation to adding the generic PHY support. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> [Sergei: added missing 'drivers/usb/misc/lvstest.c' file, resolved rejects, updated changelog.] Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a173dc447d2980bb7cb9618a6b59cf135ea01e80 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 29 14:30:20 2014 +0200 usb: gadget: uvc: fix up uvcg_v4l2_get_unmapped_area typo Patch "usb: gadget: uvc: rename functions to avoid conflicts with host uvc" renamed a lot of symbols but missed one references that was inside of an #ifdef: drivers/usb/gadget/function/uvc_v4l2.c:363:23: error: 'uvcg_v4l2_get_unmapped_area' undeclared here (not in a function) .get_unmapped_area = uvcg_v4l2_get_unmapped_area, ^ drivers/usb/gadget/function/uvc_v4l2.c:344:22: warning: 'uvc_v4l2_get_unmapped_area' defined but not used [-Wunused-function] static unsigned long uvc_v4l2_get_unmapped_area(struct file *file, ^ This renames the reference according the changed function name. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 7ea95b110811 ("usb: gadget: uvc: rename functions to avoid conflicts with host uvc") Cc: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Cc: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Cc: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 905e300e1043f5ff513840d342df5c985b3dc08c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 29 14:54:34 2014 +0200 USB: host: st: fix ehci/ohci driver selection The newly added sti ehci and ohci drivers come with a single Kconfig entry that does not depend on either of the base drivers, which leads to a link error when they are disabled: drivers/built-in.o: In function `ohci_platform_init': :(.init.text+0x14788): undefined reference to `ohci_init_driver' To fix that, this patch introduces two separate Kconfig options with proper dependencies, which avoids the problem and is also more consistent with the other glue drivers. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: d115837259ada ("usb: host: ohci-st: Add OHCI driver support for ST STB devices") Cc: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46c1cda88c6e669965e00d6557cc5231fcef91d5 Author: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Date: Mon Sep 29 11:54:14 2014 +0530 usb: host: ehci-exynos: Remove unnecessary usb-phy support Now that we have completely moved from older USB-PHY drivers to newer GENERIC-PHY drivers for PHYs available with USB controllers on Exynos series of SoCs, we can remove the support for the same in our host drivers too. We also defer the probe for our host in case we end up getting EPROBE_DEFER error when getting PHYs. Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5a9d62199af2ae6c4e7aa13614199b6dbaf5eb2 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Sep 29 10:09:31 2014 +0800 usb: core: return -ENOTSUPP for all targeted hosts The current code only returns -ENOTSUPP for OTG host, but in fact, embedded host also needs to returns -ENOTSUPP if the peripheral is not at TPL. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90d099383d3a93de5b363a05f4013f3a78cab593 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Sep 29 17:13:40 2014 +0200 pinctrl: alter device tree bindings for functions For function and group configuration nodes, use "function" "groups" string pairs, not "pins" where there should be "groups". Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 156395c9989a76228e0da40e71267a3d4fb07419 Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 29 16:37:26 2014 +0300 Bluetooth: 6lowpan: Enable multicast support Set multicast support for 6lowpan network interface. This is needed in every network interface that supports IPv6. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 36b3dd250dde5317fa6bb8c9010e1e7ab7f2265a Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 29 16:37:25 2014 +0300 Bluetooth: 6lowpan: Ensure header compression does not corrupt IPv6 header If skb is going to multiple destinations, then make sure that we do not overwrite the common IPv6 headers. So before compressing the IPv6 headers, we copy the skb and that is then sent to 6LoWPAN Bluetooth devices. This is a similar patch as what was done for IEEE 802.154 6LoWPAN in commit f19f4f9525cf3 ("ieee802154: 6lowpan: ensure header compression does not corrupt ipv6 header") Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c2f6d059abfc29822af732e4da70813a5b6fd9cd Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Sep 29 16:54:14 2014 +0200 pinctrl: nomadik: refactor DT parser to take two paths We refactor the DT parser to look for either a config or a function and then look for further nodes and reserve maps, not the two things mixed up like prior to this patch. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 67956867aa07c59d6d83628bbc9ee4bd9799a1e1 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:17 2014 +0300 drm/i915: Don't spam dmesg with rps messages on vlv/chv If the GPU frequency isn't going to change don't spam dmesg with debug messages about it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 37a34ac1d4775aafbc73b9db53c7daebbbc67e6a Author: Vladimir Murzin <vladimir.murzin@xxxxxxx> Date: Mon Sep 22 15:52:48 2014 +0100 arm: kvm: fix CPU hotplug On some platforms with no power management capabilities, the hotplug implementation is allowed to return from a smp_ops.cpu_die() call as a function return. Upon a CPU onlining event, the KVM CPU notifier tries to reinstall the hyp stub, which fails on platform where no reset took place following a hotplug event, with the message: CPU1: smp_ops.cpu_die() returned, trying to resuscitate CPU1: Booted secondary processor Kernel panic - not syncing: unexpected prefetch abort in Hyp mode at: 0x80409540 unexpected data abort in Hyp mode at: 0x80401fe8 unexpected HVC/SVC trap in Hyp mode at: 0x805c6170 since KVM code is trying to reinstall the stub on a system where it is already configured. To prevent this issue, this patch adds a check in the KVM hotplug notifier that detects if the HYP stub really needs re-installing when a CPU is onlined and skips the installation call if the stub is already in place, which means that the CPU has not been reset. Signed-off-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 7c4f45397057506415d1cbf3e30b90674f2e0ec0 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 15:50:11 2014 +0200 cpufreq: Replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cf30af76952b0cb20c4a2cf8db16d69ca59eb652 Author: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 15:49:11 2014 +0200 cpufreq: powernv: Set the cpus to nominal frequency during reboot/kexec This patch ensures the cpus to kexec/reboot at nominal frequency. Nominal frequency is the highest cpu frequency on PowerPC at which the cores can run without getting throttled. If the host kernel had set the cpus to a low pstate and then it kexecs/reboots to a cpufreq disabled kernel it would cause the target kernel to perform poorly. It will also increase the boot up time of the target kernel. So set the cpus to high pstate, in this case to nominal frequency before rebooting to avoid such scenarios. The reboot notifier will set the cpus to nominal frequncy. Signed-off-by: Shilpasri G Bhat <shilpa.bhat@xxxxxxxxxxxxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b120339c787b243cdbe3f67401b4aa5625d88ff3 Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 15:47:53 2014 +0200 cpufreq: powernv: Set the pstate of the last hotplugged out cpu in policy->cpus to minimum Its possible today that the pstate of a core is held at a high even after the entire core is hotplugged out if a load had just run on the hotplugged cpu. This is fair, since it is assumed that the pstate does not matter to a cpu in a deep idle state, which is the expected state of a hotplugged core on powerpc. However on powerpc, the pstate at a socket level is held at the maximum of the pstates of each core. Even if the pstates of the active cores on that socket is low, the socket pstate is held high due to the pstate of the hotplugged core in the above mentioned scenario. This can cost significant amount of power loss for no good. Besides, since it is a non active core, nothing can be done from the kernel's end to set the frequency of the core right. Hence make use of the stop_cpu callback to explicitly set the pstate of the core to a minimum when the last cpu of the core gets hotplugged out. Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 789ca243740de236a39146fc3d3bbaeb4d3ae0ba Author: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 15:47:12 2014 +0200 cpufreq: Allow stop CPU callback to be used by all cpufreq drivers Commit 367dc4aa932bfb3 ("cpufreq: Add stop CPU callback to cpufreq_driver interface") introduced the stop CPU callback for intel_pstate drivers. During the CPU_DOWN_PREPARE stage, this callback is invoked so that drivers can take some action on the pstate of the cpu before it is taken offline. This callback was assumed to be useful only for those drivers which have implemented the set_policy CPU callback because they have no other way to take action about the cpufreq of a CPU which is being hotplugged out except in the exit callback which is called very late in the offline process. The drivers which implement the target/target_index callbacks were expected to take care of requirements like the ones that commit 367dc4aa addresses in the GOV_STOP notification event. But there are disadvantages to restricting the usage of stop CPU callback to cpufreq drivers that implement the set_policy callbacks and who want to take explicit action on the setting the cpufreq during a hotplug operation. 1.GOV_STOP gets called for every CPU offline and drivers would usually want to take action when the last cpu in the policy->cpus mask is taken offline. As long as there is more than one cpu in the policy->cpus mask, cpufreq core itself makes sure that the freq for the other cpus in this mask is set according to the maximum load. This is sensible and drivers which implement the target_index callback would mostly not want to modify that. However the cpufreq core leaves a loose end when the cpu in the policy->cpus mask is the last one to go offline; it does nothing explicit to the frequency of the core. Drivers may need a way to take some action here and stop CPU callback mechanism is the best way to do it today. 2. We cannot implement driver specific actions in the GOV_STOP mechanism. So we will need another driver callback which is invoked from here which is unnecessary. Therefore this patch extends the usage of stop CPU callback to be used by all cpufreq drivers as long as they have this callback implemented and irrespective of whether they are set_policy/target_index drivers. The assumption is if the drivers find the GOV_STOP path to be a suitable way of implementing what they want to do with the freq of the cpu going offine,they will not implement the stop CPU callback at all. Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 91e56499304f3d612053a9cf17f350868182c7d8 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 10:13:12 2014 +0100 drm/i915: Flush the PTEs after updating them before suspend As we use WC updates of the PTE, we are responsible for notifying the hardware when to flush its TLBs. Do so after we zap all the PTEs before suspend (and the BIOS tries to read our GTT). Fixes a regression from commit 828c79087cec61eaf4c76bb32c222fbe35ac3930 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Wed Oct 16 09:21:30 2013 -0700 drm/i915: Disable GGTT PTEs on GEN6+ suspend that survived and continue to cause harm even after commit e568af1c626031925465a5caaab7cca1303d55c7 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Mar 26 20:08:20 2014 +0100 drm/i915: Undo gtt scratch pte unmapping again v2: Trivial rebase. v3: Fixes requires pointer dances. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82340 Tested-by: ming.yao@xxxxxxxxx Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Cc: Takashi Iwai <tiwai@xxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Todd Previte <tprevite@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> commit cec26bc3c125b5dd12a02f04133cd91eae3f1622 Author: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 29 13:32:38 2014 +0530 KVM: PPC: BOOK3S: HV: CMA: Reserve cma region only in hypervisor mode We use cma reserved area for creating guest hash page table. Don't do the reservation in non-hypervisor mode. This avoids unnecessary CMA reservation when booting with limited memory configs like fadump and kdump. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> Reviewed-by: Alexander Graf <agraf@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 905563ff47db35dcb3f69e69d434207270ad1966 Merge: fe82dce 0cadc70 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 29 15:33:26 2014 +0200 Merge back earlier 'pm-sleep' material for v3.18. commit 2670e02a2deab4ea513a37a1356be5fad6e5156b Merge: fe82dce 48c1947 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 29 15:31:43 2014 +0200 Merge back earlier 'acpica' material for v3.18. commit c479f4383ea8940dd6f88da61798ad31feb33e51 Author: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Date: Fri Sep 26 15:05:22 2014 +0100 drm/i915: Do not leak pages when freeing userptr objects sg_alloc_table_from_pages() can build us a table with coalesced ranges which means we need to iterate over pages and not sg table entries when releasing page references. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: "Barbalho, Rafael" <rafael.barbalho@xxxxxxxxx> Tested-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx [danvet: Remove unused local variable sg.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 3f9ae3790e68588cce60dc49b9691116662e8f31 Merge: fe82dce 1f47a77 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 29 15:29:18 2014 +0200 Merge back earlier 'acpi-lpss' material for v3.18. commit 6e9b1c351dd66ab3d5ecbec44aa1e0b4f576e913 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Sep 29 15:22:20 2014 +0200 pinctrl: nomadik: use utils map free function Stop brewing our own map free function and rely on the pinctrl utils helpers. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e9681366ea9e76ab8f75e84351f2f3ca63ee542c Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 26 10:31:02 2014 +0100 drm/i915: Do not store the error pointer for a failed userptr registration If we fail to create our mmu notification, we report the error back and currently store the error inside the i915_mm_struct. This not only causes subsequent registerations of the same mm to fail (an issue if the first was interrupted by a signal and needed to be restarted) but also causes us to eventually try and free the error pointer. [ 73.419599] BUG: unable to handle kernel NULL pointer dereference at 000000000000004c [ 73.419831] IP: [<ffffffff8114af33>] mmu_notifier_unregister+0x23/0x130 [ 73.420065] PGD 8650c067 PUD 870bb067 PMD 0 [ 73.420319] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [ 73.420580] CPU: 0 PID: 42 Comm: kworker/0:1 Tainted: G W 3.17.0-rc6+ #1561 [ 73.420837] Hardware name: Intel Corporation SandyBridge Platform/LosLunas CRB, BIOS ASNBCPT1.86C.0075.P00.1106281639 06/28/2011 [ 73.421405] Workqueue: events __i915_mm_struct_free__worker [ 73.421724] task: ffff880088a81220 ti: ffff880088168000 task.ti: ffff880088168000 [ 73.422051] RIP: 0010:[<ffffffff8114af33>] [<ffffffff8114af33>] mmu_notifier_unregister+0x23/0x130 [ 73.422410] RSP: 0018:ffff88008816bd50 EFLAGS: 00010286 [ 73.422765] RAX: 0000000000000003 RBX: ffff880086485400 RCX: 0000000000000000 [ 73.423137] RDX: ffff88016d80ee90 RSI: ffff880086485400 RDI: 0000000000000044 [ 73.423513] RBP: ffff88008816bd70 R08: 0000000000000001 R09: 0000000000000000 [ 73.423895] R10: 0000000000000320 R11: 0000000000000001 R12: 0000000000000044 [ 73.424282] R13: ffff880166e5f008 R14: ffff88016d815200 R15: ffff880166e5f040 [ 73.424682] FS: 0000000000000000(0000) GS:ffff88016d800000(0000) knlGS:0000000000000000 [ 73.425099] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 73.425537] CR2: 000000000000004c CR3: 0000000087f5f000 CR4: 00000000000407f0 [ 73.426157] Stack: [ 73.426597] ffff880088a81248 ffff880166e5f038 fffffffffffffffc ffff880166e5f008 [ 73.427096] ffff88008816bd98 ffffffff814a75f2 ffff880166e5f038 ffff8800880f8a28 [ 73.427603] ffff88016d812ac0 ffff88008816be00 ffffffff8106321a ffffffff810631af [ 73.428119] Call Trace: [ 73.428606] [<ffffffff814a75f2>] __i915_mm_struct_free__worker+0x42/0x80 [ 73.429116] [<ffffffff8106321a>] process_one_work+0x1ba/0x610 [ 73.429632] [<ffffffff810631af>] ? process_one_work+0x14f/0x610 [ 73.430153] [<ffffffff810636db>] worker_thread+0x6b/0x4a0 [ 73.430671] [<ffffffff8108d67d>] ? trace_hardirqs_on+0xd/0x10 [ 73.431501] [<ffffffff81063670>] ? process_one_work+0x610/0x610 [ 73.432030] [<ffffffff8106a206>] kthread+0xf6/0x110 [ 73.432561] [<ffffffff8106a110>] ? __kthread_parkme+0x80/0x80 [ 73.433100] [<ffffffff8169c22c>] ret_from_fork+0x7c/0xb0 [ 73.433644] [<ffffffff8106a110>] ? __kthread_parkme+0x80/0x80 [ 73.434194] Code: 0f 1f 84 00 00 00 00 00 66 66 66 66 90 8b 46 4c 85 c0 0f 8e 10 01 00 00 55 48 89 e5 41 55 41 54 53 48 89 f3 49 89 fc 48 83 ec 08 <48> 83 7f 08 00 0f 84 b1 00 00 00 48 c7 c7 40 e6 ac 82 e8 26 65 [ 73.435942] RIP [<ffffffff8114af33>] mmu_notifier_unregister+0x23/0x130 [ 73.437017] RSP <ffff88008816bd50> [ 73.437704] CR2: 000000000000004c Fixes regression from commit ad46cb533d586fdb256855437af876617c6cf609 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 7 14:20:40 2014 +0100 drm/i915: Prevent recursive deadlock on releasing a busy userptr Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84207 Testcase: igt/gem_render_copy_redux Testcase: igt/gem_userptr_blits/create-destroy-sync Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Jacek Danecki <jacek.danecki@xxxxxxxxx> Cc: "Gong, Zhipeng" <zhipeng.gong@xxxxxxxxx> Cc: Jacek Danecki <jacek.danecki@xxxxxxxxx> Cc: "Ursulin, Tvrtko" <tvrtko.ursulin@xxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ba388294a5e07335a998d64f0b4a05857425a440 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Sep 29 15:17:04 2014 +0200 pinctrl: nomadik: use util function to reserve maps Stop brewing our own pin map reservation function and use the generic code. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7526ed79b014cbd943cd48b8dda63e74391ddd48 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 29 15:07:19 2014 +0200 Revert "drm/i915/bdw: BDW Software Turbo" This reverts commit c76bb61a71083b2d90504cc6d0dda2047c5d63ca. It's apparently too broken so that Rodrigo submitted a patch to add a config option for it. Given that the design is also ... suboptimal and that I've only merged this to get lead engineers and managers off my back for one second let's just revert this. /me puts on combat gear again It was worth a shot ... References: http://mid.mail-archive.com/1411686380-1953-1-git-send-email-rodrigo.vivi@xxxxxxxxx Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Daisy Sun <daisy.sun@xxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 37993271cfa22b5620304f1fa3bf72eabb5b557b Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Sep 27 18:14:47 2014 +0200 udf: remove redundant sys_tz declaration sys_tz is already declared in include/linux/time.h Cc: Jan Kara <jack@xxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit 81da57e64919f45e72d8e551f47ce38686ce0e78 Author: Punit Agrawal <punit.agrawal@xxxxxxx> Date: Fri Jul 18 15:09:54 2014 +0100 PM / devfreq: exynos: Enable building exynos PPMU as module Export symbols from the PPMU driver needed to build the exynos bus driver as a module. Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Punit Agrawal <punit.agrawal@xxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit bd7e927705817e56d73177b05276f2667baeb11e Author: Ã?rjan Eide <orjan.eide@xxxxxxx> Date: Fri Jul 18 15:09:53 2014 +0100 PM / devfreq: Export helper functions for drivers These functions are indended for use by drivers and should be available also when the driver is built as a module. Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Ã?rjan Eide <orjan.eide@xxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit db29a9508a9246e77087c5531e45b2c88ec6988b Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Sep 26 11:35:42 2014 +0200 netfilter: conntrack: disable generic tracking for known protocols Given following iptables ruleset: -P FORWARD DROP -A FORWARD -m sctp --dport 9 -j ACCEPT -A FORWARD -p tcp --dport 80 -j ACCEPT -A FORWARD -p tcp -m conntrack -m state ESTABLISHED,RELATED -j ACCEPT One would assume that this allows SCTP on port 9 and TCP on port 80. Unfortunately, if the SCTP conntrack module is not loaded, this allows *all* SCTP communication, to pass though, i.e. -p sctp -j ACCEPT, which we think is a security issue. This is because on the first SCTP packet on port 9, we create a dummy "generic l4" conntrack entry without any port information (since conntrack doesn't know how to extract this information). All subsequent packets that are unknown will then be in established state since they will fallback to proto_generic and will match the 'generic' entry. Our originally proposed version [1] completely disabled generic protocol tracking, but Jozsef suggests to not track protocols for which a more suitable helper is available, hence we now mitigate the issue for in tree known ct protocol helpers only, so that at least NAT and direction information will still be preserved for others. [1] http://www.spinics.net/lists/netfilter-devel/msg33430.html Joint work with Daniel Borkmann. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit adad5621f3e16b4c4a7cc6bcdd186b11986dbf59 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Sep 23 10:14:13 2014 +0200 PM / devfreq: Remove ARCH_HAS_OPP completely The Kconfig symbol ARCH_HAS_OPP became redundant in v3.16: commit 049d595a4db3 ("PM / OPP: Make OPP invisible to users in Kconfig") removed the only dependency that used it. Setting it had no effect anymore. So commit 78c5e0bb145d ("PM / OPP: Remove ARCH_HAS_OPP") removed it. For some reason that commit did not remove all select statements for that symbol. These statements are now useless. Remove one from devfreq too. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 6a98f1e83a2874a189754ded5254ae687828739e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Sep 23 23:00:26 2014 +0300 mmc: Fix incorrect warning when setting 0 Hz via debugfs It is possible to turn off the card clock by setting the frequency to zero via debugfs e.g. echo 0 > /sys/kernel/debug/mmc0/clock However that produces an incorrect warning that is designed to warn if the frequency is below the minimum operating frequency. So correct the warning. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9363dc4b599949bde338cdaba1cf7cac243e4e97 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 23 13:30:41 2014 +0200 netfilter: nf_tables: store and dump set policy We want to know in which cases the user explicitly sets the policy options. In that case, we also want to dump back the info. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 6800754c3674fb36350b2df9c3f84676e7e7a8f7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Sep 23 23:00:25 2014 +0300 mmc: Fix use of wrong device in mmc_gpiod_free_cd() mmc_gpiod_free_cd() is paired with mmc_gpiod_request_cd() and both must reference the same device which is the actual host controller device not the mmc_host class device. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5fef365b64b99d298d724b30b5c291b05d169f58 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 21:34:58 2014 +0200 mmc: atmel-mci: fix mismatched section on atmci_cleanup_slot As of 528bc7808f4e ("mmc: atmel-mci: Release mmc resources on failure in probe"), the atmci_probe() function calls atmci_cleanup_slot in the failure path. This causes a new warning whenever the driver is built: WARNING: drivers/mmc/host/built-in.o(.init.text+0xa04): Section mismatch in reference from the function atmci_probe() to the function .exit.text:atmci_cleanup_slot() The function __init atmci_probe() references a function __exit atmci_cleanup_slot(). Gcc correctly warns about this function getting dropped in the link stage for the built-in case, which would cause undefined behavior when this error path is hit. The solution is to simply drop the __exit annotation. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 528bc7808f4e ("mmc: atmel-mci: Release mmc resources on failure in probe") Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 04ed831f224d4553682f48e1b4a6b68f2622b68e Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Sep 29 11:10:33 2014 +0300 clk: ti: dra7-atl-clock: Mark the device as pm_runtime_irq_safe It is safe to call the pm sync calls in interrupt context in this driver. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit e8627a9ec397dd55f650e54e4956e25cfa8aab7c Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 26 17:31:48 2014 -0700 clk: ti: LLVMLinux: Move __init outside of type definition As written, the __init for ti_clk_get_div_table is in the middle of the return type. The gcc documentation indicates that section attributes should be added to the end of the function declaration: extern void foobar (void) __attribute__ ((section ("bar"))); However gcc seems to be very permissive with where attributes can be placed. clang on the other hand isn't so permissive, and fails if you put the section definition in the middle of the return type: drivers/clk/ti/divider.c:298:28: error: expected ';' after struct static struct clk_div_table ^ ; drivers/clk/ti/divider.c:298:1: warning: 'static' ignored on this declaration [-Wmissing-declarations] static struct clk_div_table ^ drivers/clk/ti/divider.c:299:9: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int] __init *ti_clk_get_div_table(struct device_node *node) ~~~~~~ ^ drivers/clk/ti/divider.c:345:9: warning: incompatible pointer types returning 'struct clk_div_table *' from a function with result type 'int *' [-Wincompatible-pointer-types] return table; ^~~~~ drivers/clk/ti/divider.c:419:9: warning: incompatible pointer types assigning to 'const struct clk_div_table *' from 'int *' [-Wincompatible-pointer-types] *table = ti_clk_get_div_table(node); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 warnings and 2 errors generated. By convention, most of the kernel code puts section attributes between the return type and function name. In the case where the return type is a pointer, it's important to place the '*' on left of the __init. This updated code works for both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 319f1276f9a392526d2f40ecd76c1c829d0cf5fa Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Thu Sep 18 16:33:27 2014 +0200 clk: ti: consider the fact that of_clk_get() might return an error I "forgot" to update the dtb and the kernel crashed: |Unable to handle kernel NULL pointer dereference at virtual address 0000002e |PC is at __clk_get_flags+0x4/0xc |LR is at ti_dt_clockdomains_setup+0x70/0xe8 because I did not have the clock nodes. of_clk_get() returns an error pointer which is not checked here. Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Tero Kristo <t-kristo@xxxxxx> commit 73b5d5f711f35617ff701bd88e887d3a1187e82b Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Sep 12 16:39:07 2014 +0300 clk: ti: dra7-atl-clock: fix a memory leak of_clk_add_provider makes an internal copy of the parent_names property while its called, thus it is no longer needed after this call and can be freed. Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> commit c08ee14cc6634457948bc5e26584697208baa02a Author: Tero Kristo <t-kristo@xxxxxx> Date: Fri Sep 12 15:01:57 2014 +0300 clk: ti: change clock init to use generic of_clk_init Previously, the TI clock driver initialized all the clocks hierarchically under each separate clock provider node. Now, each clock that requires IO access will instead check their parent node to find out which IO range to use. This patch allows the TI clock driver to use a few new features provided by the generic of_clk_init, and also allows registration of clock nodes outside the clock hierarchy (for example, any external clocks.) Signed-off-by: Tero Kristo <t-kristo@xxxxxx> Cc: Mike Turquette <mturquette@xxxxxxxxxx> Cc: Paul Walmsley <paul@xxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Cc: Jyri Sarha <jsarha@xxxxxx> Cc: Stefan Assmann <sassmann@xxxxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 59790aa2873cb3c32db02c777f08eb19faccf5fa Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 29 10:55:46 2014 +0300 Bluetooth: 6lowpan: Make sure skb exists before accessing it We need to make sure that the saved skb exists when resuming or suspending a CoC channel. This can happen if initial credits is 0 when channel is connected. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 842abe08aa6f81f1062cf9624e9f6afc117d73e4 Merge: a11238e 291ab06 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 29 00:24:00 2014 -0400 Merge branch 'qca7000_spi' Stefan Wahren says: ==================== add Qualcomm QCA7000 ethernet driver This patch series adds support for the Qualcomm QCA7000 Homeplug GreenPHY. The QCA7000 is serial-to-powerline bridge with two interfaces: UART and SPI. These patches handles only the last one, with an Ethernet over SPI protocol driver. This driver based on the Qualcomm code [1], but contains a lot of changes since last year: * devicetree support * DebugFS support * ethtool support * better error handling * performance improvements * code cleanup * some bugfixes The code has been tested only on Freescale i.MX28 boards, but should work on other platforms. [1] - https://github.com/IoE/qca7000 Changes in V3: - Use ether_addr_copy instead of memcpy - Remove qcaspi_set_mac_address - Improve DT parsing - replace OF_GPIO dependancy with OF - fix compile error caused by SET_ETHTOOL_OPS - fix possible endless loop when spi read fails - fix DT documentation - fix coding style - fix sparse warnings Changes in V2: - replace in DT the SPI intr GPIO with pure interrupt - make legacy mode a boolean DT property and remove it as module parameter - make burst length a module parameter instead of DT property - make pluggable a module parameter instead of DT property - improve DT documentation - replace debugFS register dump with ethtool function - replace debugFS stats with ethtool function - implement function to get ring parameter via ethtool - implement function to set TX ring count via ethtool - fix TX ring state in debugFS - optimize tx ring flush - add byte limit for TX ring to avoid bufferbloat - fix TX queue full and write buffer miss counter - fix SPI clk speed module parameter - fix possible packet loss - fix possible race during transmit ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 291ab06ecf6765aa0c73332b745ffb3a44ed30c6 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Fri Sep 26 22:21:21 2014 +0000 net: qualcomm: new Ethernet over SPI driver for QCA7000 This patch adds the Ethernet over SPI driver for the Qualcomm QCA7000 HomePlug GreenPHY. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7d50df8f72088eadde87e771c4b2f30bfb3688a0 Author: Stefan Wahren <stefan.wahren@xxxxxxxx> Date: Fri Sep 26 22:21:20 2014 +0000 Documentation: add Device tree bindings for QCA7000 This patch adds the Device tree bindings for the Ethernet over SPI protocol driver of the Qualcomm QCA7000 HomePlug GreenPHY. Signed-off-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a11238ec28d40f56f8b939f6f125694dba3adb70 Merge: 53dfd50 e3118e8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 29 00:13:17 2014 -0400 Merge branch 'dctcp' Daniel Borkmann says: ==================== net: tcp: DCTCP congestion control algorithm This patch series adds support for the DataCenter TCP (DCTCP) congestion control algorithm. Please see individual patches for the details. The last patch adds DCTCP as a congestion control module, and previous ones add needed infrastructure to extend the congestion control framework. Joint work between Florian Westphal, Daniel Borkmann and Glenn Judd. v3 -> v2: - No changes anywhere, just a resend as requested by Dave - Added Stephen's ACK v1 -> v2: - Rebased to latest net-next - Addressed Eric's feedback, thanks! - Update stale comment wrt. DCTCP ECN usage - Don't call INET_ECN_xmit for every packet - Add dctcp ss/inetdiag support to expose internal stats to userspace ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3118e8359bb7c59555aca60c725106e6d78c5ce Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Fri Sep 26 22:37:36 2014 +0200 net: tcp: add DCTCP congestion control algorithm This work adds the DataCenter TCP (DCTCP) congestion control algorithm [1], which has been first published at SIGCOMM 2010 [2], resp. follow-up analysis at SIGMETRICS 2011 [3] (and also, more recently as an informational IETF draft available at [4]). DCTCP is an enhancement to the TCP congestion control algorithm for data center networks. Typical data center workloads are i.e. i) partition/aggregate (queries; bursty, delay sensitive), ii) short messages e.g. 50KB-1MB (for coordination and control state; delay sensitive), and iii) large flows e.g. 1MB-100MB (data update; throughput sensitive). DCTCP has therefore been designed for such environments to provide/achieve the following three requirements: * High burst tolerance (incast due to partition/aggregate) * Low latency (short flows, queries) * High throughput (continuous data updates, large file transfers) with commodity, shallow buffered switches The basic idea of its design consists of two fundamentals: i) on the switch side, packets are being marked when its internal queue length > threshold K (K is chosen so that a large enough headroom for marked traffic is still available in the switch queue); ii) the sender/host side maintains a moving average of the fraction of marked packets, so each RTT, F is being updated as follows: F := X / Y, where X is # of marked ACKs, Y is total # of ACKs alpha := (1 - g) * alpha + g * F, where g is a smoothing constant The resulting alpha (iow: probability that switch queue is congested) is then being used in order to adaptively decrease the congestion window W: W := (1 - (alpha / 2)) * W The means for receiving marked packets resp. marking them on switch side in DCTCP is the use of ECN. RFC3168 describes a mechanism for using Explicit Congestion Notification from the switch for early detection of congestion, rather than waiting for segment loss to occur. However, this method only detects the presence of congestion, not the *extent*. In the presence of mild congestion, it reduces the TCP congestion window too aggressively and unnecessarily affects the throughput of long flows [4]. DCTCP, as mentioned, enhances Explicit Congestion Notification (ECN) processing to estimate the fraction of bytes that encounter congestion, rather than simply detecting that some congestion has occurred. DCTCP then scales the TCP congestion window based on this estimate [4], thus it can derive multibit feedback from the information present in the single-bit sequence of marks in its control law. And thus act in *proportion* to the extent of congestion, not its *presence*. Switches therefore set the Congestion Experienced (CE) codepoint in packets when internal queue lengths exceed threshold K. Resulting, DCTCP delivers the same or better throughput than normal TCP, while using 90% less buffer space. It was found in [2] that DCTCP enables the applications to handle 10x the current background traffic, without impacting foreground traffic. Moreover, a 10x increase in foreground traffic did not cause any timeouts, and thus largely eliminates TCP incast collapse problems. The algorithm itself has already seen deployments in large production data centers since then. We did a long-term stress-test and analysis in a data center, short summary of our TCP incast tests with iperf compared to cubic: This test measured DCTCP throughput and latency and compared it with CUBIC throughput and latency for an incast scenario. In this test, 19 senders sent at maximum rate to a single receiver. The receiver simply ran iperf -s. The senders ran iperf -c <receiver> -t 30. All senders started simultaneously (using local clocks synchronized by ntp). This test was repeated multiple times. Below shows the results from a single test. Other tests are similar. (DCTCP results were extremely consistent, CUBIC results show some variance induced by the TCP timeouts that CUBIC encountered.) For this test, we report statistics on the number of TCP timeouts, flow throughput, and traffic latency. 1) Timeouts (total over all flows, and per flow summaries): CUBIC DCTCP Total 3227 25 Mean 169.842 1.316 Median 183 1 Max 207 5 Min 123 0 Stddev 28.991 1.600 Timeout data is taken by measuring the net change in netstat -s "other TCP timeouts" reported. As a result, the timeout measurements above are not restricted to the test traffic, and we believe that it is likely that all of the "DCTCP timeouts" are actually timeouts for non-test traffic. We report them nevertheless. CUBIC will also include some non-test timeouts, but they are drawfed by bona fide test traffic timeouts for CUBIC. Clearly DCTCP does an excellent job of preventing TCP timeouts. DCTCP reduces timeouts by at least two orders of magnitude and may well have eliminated them in this scenario. 2) Throughput (per flow in Mbps): CUBIC DCTCP Mean 521.684 521.895 Median 464 523 Max 776 527 Min 403 519 Stddev 105.891 2.601 Fairness 0.962 0.999 Throughput data was simply the average throughput for each flow reported by iperf. By avoiding TCP timeouts, DCTCP is able to achieve much better per-flow results. In CUBIC, many flows experience TCP timeouts which makes flow throughput unpredictable and unfair. DCTCP, on the other hand, provides very clean predictable throughput without incurring TCP timeouts. Thus, the standard deviation of CUBIC throughput is dramatically higher than the standard deviation of DCTCP throughput. Mean throughput is nearly identical because even though cubic flows suffer TCP timeouts, other flows will step in and fill the unused bandwidth. Note that this test is something of a best case scenario for incast under CUBIC: it allows other flows to fill in for flows experiencing a timeout. Under situations where the receiver is issuing requests and then waiting for all flows to complete, flows cannot fill in for timed out flows and throughput will drop dramatically. 3) Latency (in ms): CUBIC DCTCP Mean 4.0088 0.04219 Median 4.055 0.0395 Max 4.2 0.085 Min 3.32 0.028 Stddev 0.1666 0.01064 Latency for each protocol was computed by running "ping -i 0.2 <receiver>" from a single sender to the receiver during the incast test. For DCTCP, "ping -Q 0x6 -i 0.2 <receiver>" was used to ensure that traffic traversed the DCTCP queue and was not dropped when the queue size was greater than the marking threshold. The summary statistics above are over all ping metrics measured between the single sender, receiver pair. The latency results for this test show a dramatic difference between CUBIC and DCTCP. CUBIC intentionally overflows the switch buffer which incurs the maximum queue latency (more buffer memory will lead to high latency.) DCTCP, on the other hand, deliberately attempts to keep queue occupancy low. The result is a two orders of magnitude reduction of latency with DCTCP - even with a switch with relatively little RAM. Switches with larger amounts of RAM will incur increasing amounts of latency for CUBIC, but not for DCTCP. 4) Convergence and stability test: This test measured the time that DCTCP took to fairly redistribute bandwidth when a new flow commences. It also measured DCTCP's ability to remain stable at a fair bandwidth distribution. DCTCP is compared with CUBIC for this test. At the commencement of this test, a single flow is sending at maximum rate (near 10 Gbps) to a single receiver. One second after that first flow commences, a new flow from a distinct server begins sending to the same receiver as the first flow. After the second flow has sent data for 10 seconds, the second flow is terminated. The first flow sends for an additional second. Ideally, the bandwidth would be evenly shared as soon as the second flow starts, and recover as soon as it stops. The results of this test are shown below. Note that the flow bandwidth for the two flows was measured near the same time, but not simultaneously. DCTCP performs nearly perfectly within the measurement limitations of this test: bandwidth is quickly distributed fairly between the two flows, remains stable throughout the duration of the test, and recovers quickly. CUBIC, in contrast, is slow to divide the bandwidth fairly, and has trouble remaining stable. CUBIC DCTCP Seconds Flow 1 Flow 2 Seconds Flow 1 Flow 2 0 9.93 0 0 9.92 0 0.5 9.87 0 0.5 9.86 0 1 8.73 2.25 1 6.46 4.88 1.5 7.29 2.8 1.5 4.9 4.99 2 6.96 3.1 2 4.92 4.94 2.5 6.67 3.34 2.5 4.93 5 3 6.39 3.57 3 4.92 4.99 3.5 6.24 3.75 3.5 4.94 4.74 4 6 3.94 4 5.34 4.71 4.5 5.88 4.09 4.5 4.99 4.97 5 5.27 4.98 5 4.83 5.01 5.5 4.93 5.04 5.5 4.89 4.99 6 4.9 4.99 6 4.92 5.04 6.5 4.93 5.1 6.5 4.91 4.97 7 4.28 5.8 7 4.97 4.97 7.5 4.62 4.91 7.5 4.99 4.82 8 5.05 4.45 8 5.16 4.76 8.5 5.93 4.09 8.5 4.94 4.98 9 5.73 4.2 9 4.92 5.02 9.5 5.62 4.32 9.5 4.87 5.03 10 6.12 3.2 10 4.91 5.01 10.5 6.91 3.11 10.5 4.87 5.04 11 8.48 0 11 8.49 4.94 11.5 9.87 0 11.5 9.9 0 SYN/ACK ECT test: This test demonstrates the importance of ECT on SYN and SYN-ACK packets by measuring the connection probability in the presence of competing flows for a DCTCP connection attempt *without* ECT in the SYN packet. The test was repeated five times for each number of competing flows. Competing Flows 1 | 2 | 4 | 8 | 16 ------------------------------ Mean Connection Probability 1 | 0.67 | 0.45 | 0.28 | 0 Median Connection Probability 1 | 0.65 | 0.45 | 0.25 | 0 As the number of competing flows moves beyond 1, the connection probability drops rapidly. Enabling DCTCP with this patch requires the following steps: DCTCP must be running both on the sender and receiver side in your data center, i.e.: sysctl -w net.ipv4.tcp_congestion_control=dctcp Also, ECN functionality must be enabled on all switches in your data center for DCTCP to work. The default ECN marking threshold (K) heuristic on the switch for DCTCP is e.g., 20 packets (30KB) at 1Gbps, and 65 packets (~100KB) at 10Gbps (K > 1/7 * C * RTT, [4]). In above tests, for each switch port, traffic was segregated into two queues. For any packet with a DSCP of 0x01 - or equivalently a TOS of 0x04 - the packet was placed into the DCTCP queue. All other packets were placed into the default drop-tail queue. For the DCTCP queue, RED/ECN marking was enabled, here, with a marking threshold of 75 KB. More details however, we refer you to the paper [2] under section 3). There are no code changes required to applications running in user space. DCTCP has been implemented in full *isolation* of the rest of the TCP code as its own congestion control module, so that it can run without a need to expose code to the core of the TCP stack, and thus nothing changes for non-DCTCP users. Changes in the CA framework code are minimal, and DCTCP algorithm operates on mechanisms that are already available in most Silicon. The gain (dctcp_shift_g) is currently a fixed constant (1/16) from the paper, but we leave the option that it can be chosen carefully to a different value by the user. In case DCTCP is being used and ECN support on peer site is off, DCTCP falls back after 3WHS to operate in normal TCP Reno mode. ss {-4,-6} -t -i diag interface: ... dctcp wscale:7,7 rto:203 rtt:2.349/0.026 mss:1448 cwnd:2054 ssthresh:1102 ce_state 0 alpha 15 ab_ecn 0 ab_tot 735584 send 10129.2Mbps pacing_rate 20254.1Mbps unacked:1822 retrans:0/15 reordering:101 rcv_space:29200 ... dctcp-reno wscale:7,7 rto:201 rtt:0.711/1.327 ato:40 mss:1448 cwnd:10 ssthresh:1102 fallback_mode send 162.9Mbps pacing_rate 325.5Mbps rcv_rtt:1.5 rcv_space:29200 More information about DCTCP can be found in [1-4]. [1] http://simula.stanford.edu/~alizade/Site/DCTCP.html [2] http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-final.pdf [3] http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp_analysis-full.pdf [4] http://tools.ietf.org/html/draft-bensley-tcpm-dctcp-00 Joint work with Florian Westphal and Glenn Judd. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Glenn Judd <glenn.judd@xxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9890092e46b2996bb85f7f973e69424cb5c07bc0 Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Sep 26 22:37:35 2014 +0200 net: tcp: more detailed ACK events and events for CE marked packets DataCenter TCP (DCTCP) determines cwnd growth based on ECN information and ACK properties, e.g. ACK that updates window is treated differently than DUPACK. Also DCTCP needs information whether ACK was delayed ACK. Furthermore, DCTCP also implements a CE state machine that keeps track of CE markings of incoming packets. Therefore, extend the congestion control framework to provide these event types, so that DCTCP can be properly implemented as a normal congestion algorithm module outside of the core stack. Joint work with Daniel Borkmann and Glenn Judd. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Glenn Judd <glenn.judd@xxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7354c8c389d18719dd71cc810da70b0921d66694 Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Sep 26 22:37:34 2014 +0200 net: tcp: split ack slow/fast events from cwnd_event The congestion control ops "cwnd_event" currently supports CA_EVENT_FAST_ACK and CA_EVENT_SLOW_ACK events (among others). Both FAST and SLOW_ACK are only used by Westwood congestion control algorithm. This removes both flags from cwnd_event and adds a new in_ack_event callback for this. The goal is to be able to provide more detailed information about ACKs, such as whether ECE flag was set, or whether the ACK resulted in a window update. It is required for DataCenter TCP (DCTCP) congestion control algorithm as it makes a different choice depending on ECE being set or not. Joint work with Daniel Borkmann and Glenn Judd. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Glenn Judd <glenn.judd@xxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 30e502a34b8b21fae2c789da102bd9f6e99fef83 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Fri Sep 26 22:37:33 2014 +0200 net: tcp: add flag for ca to indicate that ECN is required This patch adds a flag to TCP congestion algorithms that allows for requesting to mark IPv4/IPv6 sockets with transport as ECN capable, that is, ECT(0), when required by a congestion algorithm. It is currently used and needed in DataCenter TCP (DCTCP), as it requires both peers to assert ECT on all IP packets sent - it uses ECN feedback (i.e. CE, Congestion Encountered information) from switches inside the data center to derive feedback to the end hosts. Therefore, simply add a new flag to icsk_ca_ops. Note that DCTCP's algorithm/behaviour slightly diverges from RFC3168, therefore this is only (!) enabled iff the assigned congestion control ops module has requested this. By that, we can tightly couple this logic really only to the provided congestion control ops. Joint work with Florian Westphal and Glenn Judd. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Glenn Judd <glenn.judd@xxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55d8694fa82c9b5858ae5a78a210353961f908f9 Author: Florian Westphal <fw@xxxxxxxxx> Date: Fri Sep 26 22:37:32 2014 +0200 net: tcp: assign tcp cong_ops when tcp sk is created Split assignment and initialization from one into two functions. This is required by followup patches that add Datacenter TCP (DCTCP) congestion control algorithm - we need to be able to determine if the connection is moderated by DCTCP before the 3WHS has finished. As we walk the available congestion control list during the assignment, we are always guaranteed to have Reno present as it's fixed compiled-in. Therefore, since we're doing the early assignment, we don't have a real use for the Reno alias tcp_init_congestion_ops anymore and can thus remove it. Actual usage of the congestion control operations are being made after the 3WHS has finished, in some cases however we can access get_info() via diag if implemented, therefore we need to zero out the private area for those modules. Joint work with Daniel Borkmann and Glenn Judd. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Glenn Judd <glenn.judd@xxxxxxxxxxxxxxxxx> Acked-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53dfd501819a6e9c3a7d56cac1ddaf03fe90800d Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 26 10:02:50 2014 -0700 net: sched: cls_rcvp, complete rcu conversion This completes the cls_rsvp conversion to RCU safe copy, update semantics. As a result all cases of tcf_exts_change occur on empty lists now. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3d9a0d2f8212879407e58d67f460d8920eb6543d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Sep 25 23:04:56 2014 -0700 dql: dql_queued() should write first to reduce bus transactions While doing high throughput test on a BQL enabled NIC, I found a very high cost in ndo_start_xmit() when accessing BQL data. It turned out the problem was caused by compiler trying to be smart, but involving a bad MESI transaction : 0.05 â?? mov 0xc0(%rax),%edi // LOAD dql->num_queued 0.48 â?? mov %edx,0xc8(%rax) // STORE dql->last_obj_cnt = count 58.23 â?? add %edx,%edi 0.58 â?? cmp %edi,0xc4(%rax) 0.76 â?? mov %edi,0xc0(%rax) // STORE dql->num_queued += count 0.72 â?? js bd8 I got an incredible 10 % gain [1] by making sure cpu do not attempt to get the cache line in Shared mode, but directly requests for ownership. New code : mov %edx,0xc8(%rax) // STORE dql->last_obj_cnt = count add %edx,0xc0(%rax) // RMW dql->num_queued += count mov 0xc4(%rax),%ecx // LOAD dql->adj_limit mov 0xc0(%rax),%edx // LOAD dql->num_queued cmp %edx,%ecx The TX completion was running from another cpu, with high interrupts rate. Note that I am using barrier() as a soft hint, as mb() here could be too heavy cost. [1] This was a netperf TCP_STREAM with TSO disabled, but GSO enabled. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11889e817eec9fe7c87ed85dc9e1a295c6627f56 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 28 22:43:42 2014 +0300 staging: rtl8192u: ieee80211: Converted symbol to static. This patch fixes this sparse warning: drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c:60:6: warning: symbol 'ieee80211_ccmp_aes_encrypt' was not declared. Should it be static? Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95c0bab252b69c5aff447712c833fd897d952388 Author: Georgiana Chelu <georgiana.chelu93@xxxxxxxxx> Date: Sun Sep 28 17:34:12 2014 +0300 staging: rtl8192u: Add blank line after variable declarations Fix the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Georgiana Chelu <georgiana.chelu93@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1cd53eccad75b9360378f5ce635ba942523fc44 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 27 20:49:04 2014 +0530 Staging: rtl8192e: Remove unused variable This patch removes a variable which has never been used. The following Coccinelle semantic patch was used to make this transformation: @@ type T; identifier i; constant C; @@ - T i; <... when != i - i = C; ...> Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 806031dbf1011890f956f2bf6c2dd8e01e0a1762 Author: Esra Altintas <es.altintas@xxxxxxxxx> Date: Sat Sep 27 17:50:27 2014 +0300 staging: rtl8192u: Fixed trailing whitespace in copying The following patch fixes the checkpatch.pl error: ERROR: trailing whitespace Signed-off-by: Esra Altintas <es.altintas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 020af9a5479791015d40e07cd336d6e149c4c72a Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 27 17:47:21 2014 +0300 staging: rtl8192u: remove space before close parenthesis ")" This fixes the checkpatch.pl error: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbfd888d847b6c3497165a411d2e12d61777b773 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 27 17:32:52 2014 +0300 staging: rtl8192u: remove space before semicolon This fixes the checkpatch.pl warning: WARNING: space prohibited before semicolon Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32b116edae346c3e903519c3aff54e20f3a83146 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 27 17:18:38 2014 +0300 staging: rtl8192u: add space after close brace '}' This fixes the checkpatch.pl error: ERROR: space required after that close brace '}' Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ec2f8f0b9c5403691eabc4b93da0efab85df98c Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Sep 27 16:04:37 2014 +0300 staging: slicoss: Fix void function return statements style warning This fixes "void function return statements are not generally useful" checkpatch.pl warning slicoss.c Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ec1aeb33f254c871882175f105beca580e82477 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 27 13:25:29 2014 +0300 staging: rtl8192u: add space before the open parenthesis '(' This fixes the checkpatch.pl error: ERROR: space required before the open parenthesis '(' Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ab8609b92f1287957ae44c09de37caaf83251e5 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 27 04:12:28 2014 +0530 Staging: rtl8192e: rtl8192e: Remove assigned unused variable This patch removes an initialized variable which has never been used. The following Coccinelle semantic patch was used to make this transformation: @e@ identifier i; position p; type T; @@ extern T i@p; @@ type T; identifier i; constant C; position p != e.p; @@ - T i@p; <+... when != i - i = C; ...+> The braces around if and else which become unnecessary after the transformation were also removed. Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a2da4abe30a05c138acd1c1cf3c08154dfa7847 Author: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Date: Sun Sep 28 15:53:21 2014 +0300 staging: octeon: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in ethernet-rgmii.c Signed-off-by: Melike Yurtoglu <aysemelikeyurtoglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa66d88d0bf8d098794cf9923be7e773454d1806 Author: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Date: Sat Sep 27 14:58:31 2014 +0300 staging: octeon: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning ethernet-util.h Signed-off-by: Dilek Uzulmez <dilekuzulmez@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99f8dbc5644636ef1fda283da1b7dab90a3ef131 Author: Esra Altintas <es.altintas@xxxxxxxxx> Date: Sat Sep 27 13:49:02 2014 +0300 staging: octeon: Fix line 80 characters in ethernet.c The following patch fixes the checpatch.pl warning: WARNING: line over 80 characters Signed-off-by: Esra Altintas <es.altintas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e98f76c8fe3247e2118b948799e0ea491f35b9e Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 00:00:14 2014 +0300 drivers: staging: gdm72xx: Removed unnecessary braces. This patch fixes "braces {} are not necessary for single statement blocks" checkpatch.pl warning in netlink_k.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93f509a88107b2ee551ae63e710f22378815eb76 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 00:00:13 2014 +0300 drivers: staging: gdm72xx: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in netlink_k.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1fed0287238ea050163ae7c609306c0e5bfee41 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Fri Sep 26 23:50:09 2014 +0300 staging: gdm724x: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in gdm_usb.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a256779f7de73679bbe90be4e49fd70a4e7f5f43 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 26 21:58:21 2014 +0300 staging: ft1000: ft1000-pcmcia: Add require space after that ',' This patch fixes checkpatch.pl error in file ft1000_hw.c ERROR: space required after that ';' (ctx:VxV) Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56a28395b7f120f9bd2c258a904766d48a37793f Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Fri Sep 26 22:55:59 2014 +0300 staging: ft1000: ft1000-pcmcia: Used "linux" instead of "asm". This patch fixes "Use #include <linux/uaccess.h> instead of <asm/uaccess.h" checkpatch.pl warning in ft1000_dnld.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96bcbea0d59a5aeacf753bff6a2d67cfa558d4cd Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Fri Sep 26 22:49:26 2014 +0300 staging: ft1000: ft1000-pcmcia: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in ft1000_dnld.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2effbbdd9514c3b479e5e5ebeb7e996c262c27bf Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 25 21:25:08 2014 +0300 Staging: unisys: common-spar: include: channels: Remove unnecessary semicolon This fixes the checkpatch.pl warning: WARNING: macros should not use a trailing semicolon. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd7dcd3997fc130226163c6fc5b085ebeb7d2e02 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 28 18:05:05 2014 +0530 staging: vt6655: Merge three lines into one This patch merges three lines into one, removing unecessary if check. Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Reviewed-by: Himangi Saraogi <himangi774@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f0cffbfe8c263de261ac92eb1e7605211b985beb Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 28 18:11:54 2014 +0530 staging: vt6656: Merge three lines into one This patch merges three lines into one, removing if branch Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a793b2d817dffce9f16af694fcce327bdefedbed Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 28 19:42:37 2014 +0300 staging: vt6655: Type conversion was made. This patch fixes this sparse warning: drivers/staging/vt6655/device_main.c:385:40: warning: mixing different enum types drivers/staging/vt6655/device_main.c:385:40: int enum _VIA_BB_TYPE versus drivers/staging/vt6655/device_main.c:385:40: int enum _VIA_PKT_TYPE Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e23c1b8c3cab8fa69fa05a9c14113d74026eaf0 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 25 01:49:36 2014 +0300 Staging: vt6655: Add require space before that '(' This patch fixes checkpatch.pl error in file device_main.c ERROR: space required before the open parenthesis '(' Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e61b441ceb5462d7fe14eb1697a61cb645dc871 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 25 01:36:44 2014 +0300 Staging: vt6655: Add require space after that ',' This patch fixes checkpatch.pl error in file device_main.c ERROR: space required after that ';' (ctx:VxV) Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c772bce6705d5fd270be12fdd90902ea28e6aac1 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 26 22:26:49 2014 +0300 staging: speakup: Added blank line. This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in selection.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6bb9e390c45d988c98a446afa69c4ede39e7835 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 25 02:14:51 2014 +0300 Staging: speakup: Fix trailing space This patch fixes checkpatch.pl error in file spkguide.txt ERROR: trailing whitespace Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43bb32a58546a3b29400566d5907b9524edfe609 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 25 01:11:45 2014 +0300 Staging: wlan-ng: Fix unnecessary space before function pointer arguments This patch fixes these warning messages found by checkpatch.pl: WARNING: Unnecessary space before function pointer arguments Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd60925d6980d52c70e62c23f9f3050e783bf2de Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 28 17:22:37 2014 +0300 staging: rtl8723au: core: Add space after '|' This patch fixes checkpatch.pl error in file rtw_ap.c ERROR: need consistent spacing around '|' (ctx:WxV) Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b34ba0c3acd9b723707c5364dba7b5c58a19282e Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 28 17:22:36 2014 +0300 staging: rtl8723au: core: Add consistent spacing around '&' This patch fixes checkpatch.pl error in file rtw_ap.c ERROR: need consistent spacing around '&' (ctx:WxV) Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b58e79b5fbffc35e25d3eecec7f748d33b66a29 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Sep 27 16:47:48 2014 +0300 staging: rtl8723au: hal: Removed unnecessary braces. This patch fixes "braces {} are not necessary for single statement blocks" checkpatch.pl warning in hal_com.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57e680eb090061a23119245f4878f413da77021a Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Sep 27 16:47:47 2014 +0300 staging: rtl8723au: hal: Fix missing blank line warning. This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in hal_com.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9974e75bc10f72831e6d0f6750a3370dfd4c917 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Sep 27 16:47:46 2014 +0300 staging: rtl8723au: hal: Fix unnecessary whitespace before a quoted newline Fix checkpatch.pl issues with unnecessary whitespace before a quoted newline in hal_com.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 924c6ee1b2e7c9800c43104e67a291678e6a3440 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Fri Sep 26 00:41:22 2014 +0300 staging: emxx_udc: Fixed else is not usefull warning. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning in emxx_udc.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0a7b1cbbf806e32278795893087047ed28f2a5b Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Wed Sep 24 13:54:15 2014 -0700 staging: ft1000-usb: use usleep_range instead of msleep This fixes the following checkpatch.pl warning: WARNING : msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed9034f58e75b0f580eb8479ed1a01891191e04b Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Wed Sep 24 13:54:14 2014 -0700 staging: ft1000-usb: remove unnecessary return statement This fixes the following checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9eeea5eb6b2da5d0297f1dcd303dbfe6a31a37d2 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 22:34:33 2014 +0300 staging: media: omap4iss: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning iss_resizer.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d89818461411ae6562aa3e804927b29f3c628b6 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 22:30:52 2014 +0300 staging: media: omap4iss: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning iss_ipipeif.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f399140abb3c7ff5457ad2b2e510032948e430e1 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 22:25:35 2014 +0300 staging: media: omap24xx: Added blank line. This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in tcm825x.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f18bba082f09a0768bb14c350844cbe2d358e284 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 22:21:41 2014 +0300 staging: media: omap24xx: Added new line after declarations. This patch fixes "Missing a blank line after declarations" checkpatch.pl warning in omap24xxcam-dma.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b86477c0e5b7b1406f27da519d4df841f306b92 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Wed Sep 24 17:00:17 2014 +0530 staging: media: cxd2099: use usleep_range() This patch fixes checkpatch.pl warning in file cxd2099.c WARNING : msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a46e43e7dedd062fcde0216093467c26ae431ab3 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 27 20:50:17 2014 +0530 Staging: media: davinci_vpfe: Remove unused variable This patch removes a variable which has never been used. The following Coccinelle semantic patch was used to make this transformation: @@ type T; identifier i; constant C; @@ - T i; <... when != i - i = C; ...> Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31907c0e5c01af537bd4d1f803aa8d9dae74a579 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Thu Sep 25 14:43:31 2014 +0530 Staging: media: davinci_vpfe: Removed unnecessary out of memory message logging. The following patch removes the checkpatch.pl warning: WARNING: possible unnecessary out of memory message. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb67f445495d04dfd61016cf9ac2bd1f3cff3da1 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 27 22:13:33 2014 +0300 staging: media: lirc: Removed unnecessary else expression. This patch fixes "else is not generally useful after a break or return" checkpatch.pl warning lirc_parallel.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbc5a5b690f423ff4cde4a20d197b58bb5a18832 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Wed Sep 24 17:30:08 2014 +0530 Staging: media: lirc: Add new line after declarations This patch fixes checkpatch.pl warning in files of media/lirc WARNING : Missing a blank line after declarations Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac9080029d9acf5dbda3e4f417ea964957edb9d8 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sun Sep 28 21:25:17 2014 +0530 Staging: dgnc: Remove space before parenthesis This fixes the following checkpatch.pl error: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4e28a6142b5f5e691c4570d8808ebefec0ae6ef Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 26 23:58:40 2014 +0300 staging: dgnc: dgnc_driver.h: Remove non-standard spinlock's macros This patch removes non-standard spinlock's macros as they are no longer used by this driver. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66663dc1032e03fa2e24fae80e84d71bb99fbedb Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 26 23:58:39 2014 +0300 staging: dgnc: dgnc_driver.c: Replace non-standard spinlock's macros This patch replaces non-standard spinlock's macros. It is done using coccinelle and the following semantic patch: @@ expression x; @@ - DGNC_SPINLOCK_INIT(x) + spin_lock_init(&x) @@ expression x, y; @@ - DGNC_LOCK(x, y) + spin_lock_irqsave(&x, y) @@ expression x, y; @@ - DGNC_UNLOCK(x, y) + spin_unlock_irqrestore(&x, y) @used_by_lock exists@ typedef ulong; symbol lock_flags; position p1, p2; @@ ( ulong lock_flags@p1; | unsigned long lock_flags@p2; ) ... ( spin_lock_irqsave(..., lock_flags) | spin_unlock_irqrestore(..., lock_flags) ) @@ position used_by_lock.p1, used_by_lock.p2; @@ ( - ulong lock_flags@p1; + unsigned long flags; | - unsigned long lock_flags@p2; + unsigned long flags; ) <... - lock_flags + flags ...> Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7be869b0726b270a5702346e66f57e9886cbba6b Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 26 23:58:38 2014 +0300 staging: dgnc: dgnc_neo.c: Replace non-standard spinlock's macros This patch replaces non-standard spinlock's macros. It is done using coccinelle and the following semantic patch: @@ expression x; @@ - DGNC_SPINLOCK_INIT(x) + spin_lock_init(&x) @@ expression x, y; @@ - DGNC_LOCK(x, y) + spin_lock_irqsave(&x, y) @@ expression x, y; @@ - DGNC_UNLOCK(x, y) + spin_unlock_irqrestore(&x, y) @used_by_lock exists@ typedef ulong; symbol lock_flags; position p1, p2; @@ ( ulong lock_flags@p1; | unsigned long lock_flags@p2; ) ... ( spin_lock_irqsave(..., lock_flags) | spin_unlock_irqrestore(..., lock_flags) ) @@ position used_by_lock.p1, used_by_lock.p2; @@ ( - ulong lock_flags@p1; + unsigned long flags; | - unsigned long lock_flags@p2; + unsigned long flags; ) <... - lock_flags + flags ...> Additionally replace 'lock_flags2' with 'flags2'. This was done by hand since it had only 3 occurences and all in this file. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a44b508a32aed3a5e6af1468753886ba4d216a8c Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 26 23:58:37 2014 +0300 staging: dgnc: dgnc_tty.c: Replace non-standard spinlock's macros This patch replaces non-standard spinlock's macros. It is done using coccinelle and the following semantic patch: @@ expression x; @@ - DGNC_SPINLOCK_INIT(x) + spin_lock_init(&x) @@ expression x, y; @@ - DGNC_LOCK(x, y) + spin_lock_irqsave(&x, y) @@ expression x, y; @@ - DGNC_UNLOCK(x, y) + spin_unlock_irqrestore(&x, y) @used_by_lock exists@ typedef ulong; symbol lock_flags; position p1, p2; @@ ( ulong lock_flags@p1; | unsigned long lock_flags@p2; ) ... ( spin_lock_irqsave(..., lock_flags) | spin_unlock_irqrestore(..., lock_flags) ) @@ position used_by_lock.p1, used_by_lock.p2; @@ ( - ulong lock_flags@p1; + unsigned long flags; | - unsigned long lock_flags@p2; + unsigned long flags; ) <... - lock_flags + flags ...> Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a03d7c8cf8b244c3d66da2ce65c170013eeba56 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 26 23:58:36 2014 +0300 staging: dgnc: dgnc_mgmt.c: Replace non-standard spinlock's macros This patch replaces non-standard spinlock's macros. It is done using coccinelle and the following semantic patch: @@ expression x; @@ - DGNC_SPINLOCK_INIT(x) + spin_lock_init(&x) @@ expression x, y; @@ - DGNC_LOCK(x, y) + spin_lock_irqsave(&x, y) @@ expression x, y; @@ - DGNC_UNLOCK(x, y) + spin_unlock_irqrestore(&x, y) @used_by_lock exists@ typedef ulong; symbol lock_flags; position p1, p2; @@ ( ulong lock_flags@p1; | unsigned long lock_flags@p2; ) ... ( spin_lock_irqsave(..., lock_flags) | spin_unlock_irqrestore(..., lock_flags) ) @@ position used_by_lock.p1, used_by_lock.p2; @@ ( - ulong lock_flags@p1; + unsigned long flags; | - unsigned long lock_flags@p2; + unsigned long flags; ) <... - lock_flags + flags ...> Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42c4d46e3858caa04b99dde64ef5a82681179881 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Fri Sep 26 00:07:41 2014 +0300 staging: dgnc: Fixed white space warning. This patch fixes "please, no space before tabs" checkpatch.pl warning in digi.h Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66ae140e4707bccab14cc6415b3d1be2d138a595 Author: Esra Altintas <es.altintas@xxxxxxxxx> Date: Sat Sep 27 21:51:10 2014 +0300 staging: rts5208: Remove unnecessary else in rtsx_card.h The following patch fixes the checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Esra Altintas <es.altintas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 057c780369cbfb7cf6e3a9a5644025c911297f4f Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Fri Sep 26 20:45:29 2014 +0530 staging: rts5208: Remove unncessary return in function returning void This patch fixes checkpatch.pl warning in rtsx.c file. WARNING: void function return statements are not generally useful Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c97fbbe55cfda1273abb1b625c1cd08cc122156 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Fri Sep 26 20:37:56 2014 +0530 staging: rts5208: Add new line after declaration This patch fixes checkpatch.pl warning in file ms.c WARNING : Missing a blank line after declarations Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0be0b27dac688ee57fa9ac0556b2480bca503f27 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Thu Sep 25 02:53:54 2014 +0530 Staging: rts5208: Fix missing blank line warning This fixes the following checkpatch.pl warnings: WARNING: Missing a blank line after declarations Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02a29d2d9209ad24258432057886a5af5816c388 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Wed Sep 24 16:34:56 2014 +0530 staging: rtl8712: add new line after declarations This patch fixes checkpatch.pl warning in hal_init.c file WARNING : Missing a blank line after declarations Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be075eb6ffdca8aedbfef3f8867e330e5ee5f534 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Sat Sep 27 13:03:15 2014 -0700 staging: rtl8192ee: clean up function header formatting Reformatted function header to silence the following checkpatch.pl error: ERROR: code indent should use tabs where possible Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cc3cacf10a6a1d430e9ed2cc0fed4a0b52bdf97 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Sat Sep 27 13:03:16 2014 -0700 staging: rtl8192ee: remove unnecessary return statement This fixes the following checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18eaddefd4d156291b5a3dcc336778b67d98b531 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Sep 24 12:07:16 2014 +0530 Staging: rtl8192ee: Removed unnecessary return statement. The following patch removes the checkpatch.pl warning: WARNING: void function return statements are generally not useful. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54ca67e0859a924930ecce91f9d714edcf937f67 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Wed Sep 24 12:06:13 2014 +0530 Staging: rtl8192ee: Fix line over 80 characters. The following patch fixes the checkpatch.pl warning: WARNING: line over 80 characters. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 03c6eaa37ad7cd4838a8a6d745eb4da4db48c2f1 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 28 14:45:09 2014 +0300 staging: iio: accel: Use __be16 instead of u16 This patch fixes these warning messages found by sparse: drivers/staging/iio/accel/sca3000_ring.c:120:61: warning: incorrect type in argument 1 (different base types) drivers/staging/iio/accel/sca3000_ring.c:120:61: expected restricted __be16 const [usertype] *p drivers/staging/iio/accel/sca3000_ring.c:120:61: got unsigned short [usertype] * Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2bd7e245ea46dac4defdbed873c1cebe6c1e9c80 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Sep 25 20:09:11 2014 +0300 staging: iio: light: Add a blank line after declarations This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10b2e445aa31c6e4118bbb928d76f1f7a6431402 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Sep 25 20:09:10 2014 +0300 staging: iio: light: Remove space before function pointer arguments This fixes the following checkpatch.pl warning: WARNING: Unnecessary space before function pointer arguments Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad3e646c5b7fcc485a574f4523cb7bf2077ef1a3 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Sep 25 20:09:09 2014 +0300 staging: iio: light: Fix quoted string split across lines This fixes the following checkpatch.pl warning: WARNING: quoted string split across lines Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3f883b411ae77455862a12b1d37e277ce80a4c3 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Sep 25 16:58:07 2014 +0300 staging: iio: Add #include guards to header files This patch adds #include guards in order to make the header files idempotent. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da96aecdc59d086926d49becd981acab8d98bb9a Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Thu Sep 25 16:09:57 2014 +0530 Staging: iio: Remove unnecessory immediate else after return statement This patch fixes following checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7bf6513eeb51d1ae0a2a9b820368c13e55f44835 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Thu Sep 25 10:36:20 2014 +0300 staging: iio: frequency: remove unnecessary semicolon This fixes the checkpatch.pl warning: WARNING: macros should not use a trailing semicolon Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6077f4397626467ba1838716952807785adc835 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Wed Sep 24 23:13:21 2014 +0300 Staging: iio: light: Missing a blank line after declarations This patch fixes these warning messages found by checkpatch.pl: WARNING : Missing a blank line after declarations. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 580885415effd2bc661a2e00de0f9fa540c8fa13 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Wed Sep 24 18:18:43 2014 +0300 staging: iio: frequency: add new line after declarations This fixes the checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb49a0f9b784d5ea872bf5fad8cf8964e243a216 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Sep 24 17:16:54 2014 +0530 Staging: iio: adc: Use usleep_range instead of msleep This patch fixes following checkpatch.pl warning: WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b4f3752435a15a00086d38eca136934abdb99fd Author: Esra Altintas <es.altintas@xxxxxxxxx> Date: Sat Sep 27 12:39:26 2014 +0300 staging: bcm: Fix line 80 characters in Adapter.h The following patch fixes the checkpatch.pl warning: WARNING: line over 80 characters Signed-off-by: Esra Altintas <es.altintas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fb591632c36d46d0ca2bd147db59068ff4345e1 Author: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Date: Sun Sep 28 14:40:19 2014 +0300 staging: bcm: Fix quoted string split across lines warning The following patch the checkpatch.pl warning: drivers/staging/bcm/InterfaceIdleMode.c:215: warning:quoted string split across lines Signed-off-by: Yeliz Taneroglu <yeliztaneroglu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7557b6e17215623f9e887e3815d447bb4dc4083f Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Wed Sep 24 14:27:36 2014 -0700 staging: imx-drm: Don't put an else right after a return This fixes the following checkpatch.pl warning: WARNING: else is not generally useful after a break or return. Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8684ba72fa39c424ab788364992f377ef2d96676 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sat Sep 27 16:16:02 2014 +0300 staging: imx-drm: Array was made static const char * const This patch fixes checkpatch.pl error in file imx-tve.c WARNING: static const char * array should probably be static const char * const Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1da2a44bf8615ab40e5d4f7408b873385b6beee0 Author: Rahul Garg <rahul.lnmiit@xxxxxxxxx> Date: Thu Sep 25 07:16:59 2014 +0530 patch "staging: rtl8723au: os_dep: declared cfg80211_infrastructure_mode static Declared cfg80211_infrastructure_mode method static to remove sparse warning Signed-off-by: Rahul Garg <rahul.lnmiit@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1c571dcf01e8f90df31a1f5edc772cc5dde891a Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Fri Sep 26 00:30:49 2014 -0700 staging: lustre: fix gfp_t/int coercion Fix a few implicit casts between int and gfp_t which were caught by sparse. Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3d3ab8cc684cda4058959d91ed42735d9d605d61 Author: Ramon Fried <ramon.fried@xxxxxxxxx> Date: Thu Sep 25 21:05:06 2014 +0300 staging: lustre: llite_lib.c Set ll_md_setattr function to be static This fixes the following sparse warning: llite_lib.c:1240:5: warning: symbol 'll_md_setattr' was not declared. Should it be static? Signed-off-by: Ramon Fried <ramon.fried@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80190ca3e17dc804ccf0a41580993563f136bcab Author: Mathieu OTHACEHE <m.othacehe@xxxxxxxxx> Date: Wed Sep 24 17:32:04 2014 +0200 staging: rtl8821ae: fix sparse warning for static declarations This patch fixes the following sparse warnings: drivers/staging/rtl8821ae/pci.c:52:4: warning: symbol '_rtl_mac_to_hwqueue' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:365:6: warning: symbol 'rtl_pci_check_buddy_priv' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:409:6: warning: symbol 'rtl_pci_get_linkcontrol_field' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:1748:6: warning: symbol 'rtl_pci_deinit' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:1763:5: warning: symbol 'rtl_pci_init' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:1780:5: warning: symbol 'rtl_pci_start' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:1814:6: warning: symbol 'rtl_pci_stop' was not declared. Should it be static? drivers/staging/rtl8821ae/pci.c:2105:21: warning: symbol 'hw_export' was not declared. Should it be static? Signed-off-by: Mathieu OTHACEHE <m.othacehe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 348fecd2a2fdab4fa4e1a07d85a28a50f44c49d9 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 10:42:18 2014 -0400 staging: ozwpan: Remove typedefs As these typedefs are only used once, there is no real need for them. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae66475289d13ef724cd5a523a4a5ce42e81582b Author: Heinrich Schuchardt <xypron.glpk@xxxxxx> Date: Sat Sep 27 10:52:37 2014 +0200 staging : android : sync : get_unused_fd sync.h recommends to use get_unused_fd which does not set O_CLOEXEC while the rest of the android tree uses get_unused_fd_flags and sets O_CLOEXEC. The patch adjust the comment. Signed-off-by: Heinrich Schuchardt <xypron.glpk@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20187a7b69b22729d7ff300c24d14cf3e0a22c0f Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 24 09:54:42 2014 +0100 staging: et131x: Remove unnecessary parentheses Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 177e882ee8d4ecb8beccbf6004e169aa2c86bb2b Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 24 09:54:41 2014 +0100 staging: et131x: Remove unnecessary OOM message Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4aae620e3252b587500b6e4ff60971ffb240536 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 24 09:54:40 2014 +0100 staging: et131x: Cat some lines less than 80 columns Some split lines are less than 80 chars if rejoined, so rejoin them. Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37dcca4364d526594dc183b96dc09102043fd48e Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 24 09:54:39 2014 +0100 staging: et131x: Use ether_addr_copy when copying ethernet addresses Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb50564258b5414d434a383ea6b02443521eb5ce Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Wed Sep 24 16:48:14 2014 +0530 USB: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Reviewed-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 586af079386fc78719314800bb7741d736cd442f Author: Scot Doyle <lkml14@xxxxxxxxxxxxx> Date: Thu Sep 25 15:16:48 2014 +0000 usb: core: log higher level message on malformed LANGID descriptor Commit 0cce2eda19923e5e5ccc8b042dec5af87b3ffad0 USB: fix LANGID=0 regression defaults to a langid of 0x0409 if it's not properly implemented by the device. Explain with a higher level error message what this means. Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0efe72963409739778e93d8e2046305bc8310e83 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Sep 15 17:22:51 2014 -0700 tty: serial: msm: Add earlycon support Add support for DT based and command line based early console on platforms with the msm serial hardware. Cc: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a86713b1536c818972675e6dd8c6e738f0379f1d Author: Sudhir Sreedharan <ssreedharan@xxxxxxxxxx> Date: Mon Sep 22 12:00:22 2014 +0530 serial/core: Initialize the console pm state For console devices having UART_CAP_SLEEP capability, the uart_pm_state has to be initialized to UART_PM_STATE_ON. Otherwise the LCR regiser values are reinitialized when uart_change_pm is called from uart_configure_port. Signed-off-by: Sudhir Sreedharan <ssreedharan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit daea65a7be76953bb80d13d0ac43e7441fd42cdf Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Tue Sep 23 08:31:30 2014 +0100 serial: asc: Conditionally use readl_relaxed (COMPILE_TEST) Commit 08177ece596c ("serial: asc: Adopt readl_/writel_relaxed()) is regressing the m68k allmodconfig build. This is due to the unconditional use of readl_relaxed() which, although documented, does not currently exist for m68k. This is trivially fixable for st-asc because we can just update the asc_in() accessor to make this conditional. Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2dea53bf57783f243c892e99c10c6921e956aa7e Author: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Date: Tue Sep 23 16:34:12 2014 +0800 serial: of-serial: add PM suspend/resume support This adds PM suspend/resume support for the of-serial driver to provide power management support on devices attatched to it. Signed-off-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c8faf3d652b6b2dffc29e48d968349bd16aa32f Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Sep 14 11:42:11 2014 +0200 m68k: AMIGA_BUILTIN_SERIAL should depend on TTY If CONFIG_TTY=n: drivers/built-in.o: In function `rs_flush_buffer': amiserial.c:(.text+0x1f626): undefined reference to `tty_wakeup' drivers/built-in.o: In function `transmit_chars': amiserial.c:(.text+0x1f6c8): undefined reference to `tty_wakeup' drivers/built-in.o: In function `change_speed': amiserial.c:(.text+0x1f80a): undefined reference to `tty_termios_baud_rate' amiserial.c:(.text+0x1f88c): undefined reference to `tty_termios_baud_rate' drivers/built-in.o: In function `check_modem_status': amiserial.c:(.text+0x1faa6): undefined reference to `tty_hangup' amiserial.c:(.text+0x1faec): undefined reference to `tty_wakeup' drivers/built-in.o: In function `get_serial_info': amiserial.c:(.text+0x1fb88): undefined reference to `tty_lock' amiserial.c:(.text+0x1fbc0): undefined reference to `tty_unlock' drivers/built-in.o: In function `rs_open': amiserial.c:(.text+0x1fdc6): undefined reference to `tty_port_block_til_ready' drivers/built-in.o: In function `set_serial_info': amiserial.c:(.text+0x1fe0c): undefined reference to `tty_lock' amiserial.c:(.text+0x1fea0): undefined reference to `tty_unlock' amiserial.c:(.text+0x1fed0): undefined reference to `tty_unlock' amiserial.c:(.text+0x1ffaa): undefined reference to `tty_unlock' drivers/built-in.o: In function `receive_chars': amiserial.c:(.text+0x2005c): undefined reference to `do_SAK' amiserial.c:(.text+0x200e0): undefined reference to `tty_insert_flip_string_flags' amiserial.c:(.text+0x2013c): undefined reference to `tty_insert_flip_string_flags' amiserial.c:(.text+0x20148): undefined reference to `tty_flip_buffer_push' drivers/built-in.o: In function `rs_close': amiserial.c:(.text+0x20744): undefined reference to `tty_port_close_start' amiserial.c:(.text+0x2078a): undefined reference to `tty_ldisc_flush' amiserial.c:(.text+0x20798): undefined reference to `tty_port_close_end' drivers/built-in.o: In function `amiga_serial_probe': amiserial.c:(.init.text+0x96a): undefined reference to `__tty_alloc_driver' amiserial.c:(.init.text+0x9c0): undefined reference to `tty_std_termios' amiserial.c:(.init.text+0x9e6): undefined reference to `tty_set_operations' amiserial.c:(.init.text+0xa3e): undefined reference to `tty_port_init' amiserial.c:(.init.text+0xa5c): undefined reference to `tty_port_link_device' amiserial.c:(.init.text+0xa6c): undefined reference to `tty_register_driver' amiserial.c:(.init.text+0xb4a): undefined reference to `tty_unregister_driver' amiserial.c:(.init.text+0xb58): undefined reference to `tty_port_destroy' amiserial.c:(.init.text+0xb64): undefined reference to `put_tty_driver' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 195311761e5492afdb2ab0454f51223bc75649dd Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Fri Sep 19 09:18:13 2014 +0200 asm/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on all the archs. Unfortunately the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3f43eec80d54088fd9f02b223a1f972c5968110 Author: James Hogan <james.hogan@xxxxxxxxxx> Date: Fri Sep 12 23:15:22 2014 +0100 tty/metag_da: Add console_poll module parameter Currently the metag_da console channel is write only, it doesn't get polled for incoming data. This is for performance & latency reasons as polling blocks the processor for a significant amount of time waiting for the JTAG probe to respond to the request and restart the thread. This means that the console channel cannot be used for a login prompt, so ttyDA2 is usually used instead. In a virtual environment with a virtual DA such as QEMU however the polling is much cheaper as the request can be handled immediately. It is useful to be able to enable polling in such an environment in order to get both the kernel log and a usable login prompt on the same DA channel. Add a console_poll module parameter which allows polling to be enabled for the console channel. It defaults to off as that is the current behaviour for good reason on real hardware. It can be enabled by appending metag_da.console_poll to the kernel command line. Signed-off-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 716e115cd7f75e3ab717f467432fd4b8cd23ee2c Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Thu Sep 11 15:26:12 2014 +0300 serial: 8250_pci: remove rts_n override from Baytrail quirk It should not be used together with Auto Flow Control, and Auto Flow Control is always enabled on Baytrail. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fa62fc46e10f34aed70d2cfcf573ba8d3833e18 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Sep 10 12:43:02 2014 +0200 serial: cadence: Add generic earlycon support Add earlycon support for the cadence serial port. This is based on recent patches: "tty/serial: pl011: add generic earlycon support" (sha1: 0d3c673e7881e691991b2a4745bd4f149603baa2) "tty/serial: add arm/arm64 semihosting earlycon" (sha1: d50d7269ebcb438afa346cdffce0f4e2a1b9e831) Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4688bcd34bd2f4fe7fb88856c85d3091270ab53 Author: Huang Shijie <shijie8@xxxxxxxxx> Date: Fri Sep 19 15:42:57 2014 +0800 serial: imx: change the wait even to interruptiable The wait_event() makes the application hang for ever in the following case: [1] the hardware flow control is enabled. [2] the other end (or the remote end) is terminated, and the TX is still waiting for the hardware flow control signal to become asserted. This patch fixes it by changing the wait_event to wait_event_interruptible. Signed-off-by: Huang Shijie <shijie8@xxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45564a6656b4944fa90aabd59f8ec082e8f7a969 Author: Huang Shijie <shijie8@xxxxxxxxx> Date: Fri Sep 19 15:33:12 2014 +0800 serial: imx: terminate the RX DMA when the UART is suspending When the uart port is suspending, the RX data is useless. So in this case, we can terminate the RX DMA right now. Signed-off-by: Huang Shijie <b32955@xxxxxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb2f861ad00fc09dab955d22280c51cead795bca Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Fri Sep 19 15:26:40 2014 +0800 serial: imx: fix throttle/unthrottle callbacks for hardware assisted flow control when the 'CTSC' bit is negated. 'CTS' has no function when 'CTSC' is asserted. 0: The CTS pin is high (inactive) 1: The CTS pin is low (active) For throttle, it needs to clear 'CTS' and 'CTSC' bits. For unthrottle, it needs to enable 'CTS' and 'CTSC' bits. The patch just fix the issue. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Huang Shijie <shijie8@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ede7dcca3c4fa15a518ab0473126f9c3e621e4c Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Tue Sep 23 01:21:11 2014 +0100 serial: 8250: Add Quark X1000 to 8250_pci.c Quark X1000 contains two designware derived 8250 serial ports. Each port has a unique PCI configuration space consisting of BAR0:UART BAR1:DMA respectively. Unlike the standard 8250 the register width is 32 bits for RHR,IER etc The Quark UART has a fundamental clock @ 44.2368 MHz allowing for a bitrate of up to about 2.76 megabits per second. This patch enables standard 8250 mode Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13d6ceb4c4fe1e9688e19b15b123b1830c596cf1 Author: Frans Klaver <frans.klaver@xxxxxxxxx> Date: Wed Sep 24 09:55:22 2014 +0200 tty: omap-serial: pull out calculation from baud_is_mode16 To determine the correct divisor, we need to know the difference between the desired baud rate and the actual baud rate. The calculation for this difference is implemented twice within omap_serial_baud_is_mode16(). Pull out the calculation for easier maintenance. While at it, remove the CamelCasing from the variable names. Signed-off-by: Frans Klaver <frans.klaver@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc3187564e61260f49eceb21a4e7eb5e4428e90a Author: Frans Klaver <frans.klaver@xxxxxxxxx> Date: Thu Sep 25 11:19:51 2014 +0200 tty: omap-serial: fix division by zero If the chosen baud rate is large enough (e.g. 3.5 megabaud), the calculated n values in serial_omap_is_baud_mode16() may become 0. This causes a division by zero when calculating the difference between calculated and desired baud rates. To prevent this, cap the n13 and n16 values on 1. Division by zero in kernel. [<c00132e0>] (unwind_backtrace) from [<c00112ec>] (show_stack+0x10/0x14) [<c00112ec>] (show_stack) from [<c01ed7bc>] (Ldiv0+0x8/0x10) [<c01ed7bc>] (Ldiv0) from [<c023805c>] (serial_omap_baud_is_mode16+0x4c/0x68) [<c023805c>] (serial_omap_baud_is_mode16) from [<c02396b4>] (serial_omap_set_termios+0x90/0x8d8) [<c02396b4>] (serial_omap_set_termios) from [<c0230a0c>] (uart_change_speed+0xa4/0xa8) [<c0230a0c>] (uart_change_speed) from [<c0231798>] (uart_set_termios+0xa0/0x1fc) [<c0231798>] (uart_set_termios) from [<c022bb44>] (tty_set_termios+0x248/0x2c0) [<c022bb44>] (tty_set_termios) from [<c022c17c>] (set_termios+0x248/0x29c) [<c022c17c>] (set_termios) from [<c022c3e4>] (tty_mode_ioctl+0x1c8/0x4e8) [<c022c3e4>] (tty_mode_ioctl) from [<c0227e70>] (tty_ioctl+0xa94/0xb18) [<c0227e70>] (tty_ioctl) from [<c00cf45c>] (do_vfs_ioctl+0x4a0/0x560) [<c00cf45c>] (do_vfs_ioctl) from [<c00cf568>] (SyS_ioctl+0x4c/0x74) [<c00cf568>] (SyS_ioctl) from [<c000e480>] (ret_fast_syscall+0x0/0x30) Signed-off-by: Frans Klaver <frans.klaver@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb498df0787db0fb10a4a2cf91d0d3da13cc18f7 Author: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Date: Tue Aug 12 10:05:22 2014 +0100 xen_hvc: no reason to write the type key on xenstore The backend type is chosen by the toolstack. Regardless, the frontend should not care, especially given that it cannot have an effect as the backend is started before this code is run. Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf3167cf1e969b17671a4d3d956d22718a8ceb85 Author: Antti Palosaari <crope@xxxxxx> Date: Fri Sep 26 22:45:36 2014 -0300 [media] pt3: fix DTV FE I2C driver load error paths Get rid of 'module_is_live' usage. on x86_64: when CONFIG_MODULES is not enabled: ../drivers/media/pci/pt3/pt3.c: In function 'pt3_attach_fe': ../drivers/media/pci/pt3/pt3.c:433:6: error: implicit declaration of function 'module_is_live' [-Werror=implicit-function-declaration] Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Akihiro Tsukada <tskd08@xxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bd438f825f7badafe56d117ed906488c8541f95f Merge: 2f43bbd b972d07 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Sep 29 10:52:44 2014 +1000 Merge branch 'xfs-sparse-fixes' into for-next commit b972d0797180d8414351d9dc8ff65071c692d058 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 10:46:22 2014 +1000 xfs: annotate user variables passed as void Some argument callbacks can contain user buffers, and sparse warns about passing them as void pointers. Cast appropriately to remove the sparse warnings. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e3aed1a08190c038c4ea41b73ea6f07bc0e3290c Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 10:46:08 2014 +1000 xfs: xfs_kset should be static As it is accessed through the struct xfs_mount and can be set up entirely from fs/xfs/xfs_super.c Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit bf1ed3833078e3bb0ba8cd03468090b9359d0912 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 10:43:40 2014 +1000 xfs: xfs_qm_dquot_isolate needs locking annotations for sparse To remove noise from the build. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e68ed77521f695d165cbae070f6dda8a4778438f Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Sep 29 10:43:15 2014 +1000 xfs: fix use of agi_newino in finobt lookup Sparse warns that we are passing the big-endian valueo f agi_newino to the initial btree lookup function when trying to find a new inode. This is wrong - we need to pass the host order value, not the disk order value. This will adversely affect the next inode allocated, but given that the free inode btree is usually much smaller than the allocated inode btree it is much less likely to be a performance issue if we start the search in the wrong place. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2f43bbd96e43d0b85803f5092be94bbb92d8eac9 Merge: 33044dc b818cca Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Mon Sep 29 10:00:24 2014 +1000 Merge branch 'xfs-trans-recover-cleanup' into for-next commit 867f667fb9c6734e06cc24e96fc7f06a7e772084 Merge: e1ce5c7 fb0eee2 Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Mon Sep 29 01:59:51 2014 +0200 Merge tag 'renesas-clocksource-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into clockevents/3.18 Renesas Clocksource Updates for v3.18 * Document per-SoC bindings Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit e1ce5c7adc735ce96a35806ca32ceb78e607a283 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Mon Sep 29 01:50:06 2014 +0200 clocksource: arm_arch_timer: Consolidate arch_timer_evtstrm_enable The arch_timer_evtstrm_enable hooks in arm and arm64 are substantially similar, the only difference being a CONFIG_COMPAT-conditional section which is relevant only for arm64. Copy the arm64 version to the driver, removing the arch-specific hooks. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit 8b8dde00347ef409b29abd97e5833ffdb4ed7508 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Mon Sep 29 01:50:06 2014 +0200 clocksource: arm_arch_timer: Enable counter access for 32-bit ARM The only difference between arm and arm64's implementations of arch_counter_set_user_access is that 32-bit ARM does not enable user access to the virtual counter. We want to enable this access for the 32-bit ARM VDSO, so copy the arm64 version to the driver itself, and remove the arch-specific implementations. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit 423bd69e69f565167ba14e2fe61df76c3c4a0d26 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Mon Sep 29 01:50:06 2014 +0200 clocksource: arm_arch_timer: Change clocksource name if CP15 unavailable The arm and arm64 VDSOs need CP15 access to the architected counter. If this is unavailable (which is allowed by ARM v7), indicate this by changing the clocksource name to "arch_mem_counter" before registering the clocksource. Suggested by Stephen Boyd. Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> commit 28cf35675a66947b20731f6acbc9d5b131930ce3 Author: Hao Liu <Hao.Liu@xxxxxxx> Date: Mon Sep 29 01:50:06 2014 +0200 clocksource: sirf: Disable counter before re-setting it According to HW spec, we have to disable the counter before setting it, if we don't this, in pressure test, sometimes the timer might not generate interrupt any more. And this patch also fixes a typo for register set by changing 0x7 to 0x3. 0x7 is loop mode in HW, but here we are using oneshot 0x3. Signed-off-by: Hao Liu <Hao.Liu@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 4e2bec0c327025671c1ec2101660e8fea29d9d89 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 clocksource: cadence_ttc: Add support for 32bit mode New TTCs support 32bit mode. Older versions support only 16bit modes. Keep 16bit mode as default and 32bit optional. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit e803d4bd31184b301a54352bb2c1a3fa93f80154 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Sep 26 19:40:16 2014 +0200 m68k: Fix typo 'COFNIG_MBAR' Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 2743f1beb0d31be9f59b6fc84f755fb4e173df4d Author: Gael Portay <gael.portay@xxxxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 clocksource: tcb_clksrc: Sanitize IRQ request The clock is not unprepared in case of the request IRQ fails. Also update to request_irq. Signed-off-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit c387f07e6205cc13f57c1def5f885bf0a20e1c2d Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 clocksource: arm_arch_timer: Discard unavailable timers correctly Currently we wait until both cp15 and mem timers are probed if we have both timer device nodes present in the device tree without checking if the device is actually available. If one of the timer device node present is disabled, the system locks up on the boot as no timer gets registered. This patch adds the check for the availability of the timer device so that unavailable timers are discarded correctly. It also adds the missing of_node_put. Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 04f7e3e5134b9517bd9a78a84a9ee0f982d3ebdd Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 clocksource: vf_pit_timer: Support shutdown mode In order to avoid waking up the system in a low power mode, the clocksource should not generate interrupts anymore. Disable the PIT timer interrupt when changing into the CLOCK_EVT_MODE_SHUTDOWN mode. [dlezcano] : remove superfluous empty line Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> commit e4a6b378751fa8934c691816da1423e849059fad Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 ARM: meson6: clocksource: Add Meson6 timer support Meson6 SoCs are equipped with 5 32-bit timers, called TIMER_A, TIMER_B, TIMER_C, TIMER_D and TIMER_E. The driver is providing clocksource support for the 32-bit counter using TIMER_E. Clockevents are also supported using TIMER_A. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> commit 66b2e373b3092ee8b1131c790074e7eb20ed1545 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Mon Sep 29 01:50:05 2014 +0200 ARM: meson: documentation: Add timer documentation Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit b818cca1976d1a01754033ac08724e05d07cce8f Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 09:45:54 2014 +1000 xfs: refactor recovery transaction start handling Rework the transaction lookup and allocation code in xlog_recovery_process_ophdr() to fold two related call-once helper functions into a single helper. Then fold in all the XLOG_START_TRANS logic to that helper to clean up the remaining logic in xlog_recovery_process_ophdr(). Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 76560669868d3b4d650d91d9bf467a8d81171766 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 09:45:42 2014 +1000 xfs: reorganise transaction recovery item code The code for managing transactions anf the items for recovery is spread across 3 different locations in the file. Move them all together so that it is easy to read the code without needing to jump long distances in the file. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 88b863db97a18a04c90ebd57d84e1b7863114dcb Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 09:45:32 2014 +1000 xfs: fix double free in xlog_recover_commit_trans When an error occurs during buffer submission in xlog_recover_commit_trans(), we free the trans structure twice. Fix it by only freeing the structure in the caller regardless of the success or failure of the function. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e9131e50f9d0a632e3011d73f283ba69be0cc682 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 09:45:18 2014 +1000 xfs: recovery of XLOG_UNMOUNT_TRANS leaks memory The XLOG_UNMOUNT_TRANS case skips the transaction, despite the fact an unmount record is always in a standalone transaction. Hence whenever we come across one of these we need to free the transaction structure associated with it as there is no commit record that follows it. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit eeb1168810d8a140f6834f8c4975f7bb3277d790 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Mon Sep 29 09:45:03 2014 +1000 xfs: refactor xlog_recover_process_data() Clean up xlog_recover_process_data() structure in preparation for fixing the allocation and freeing context of the transaction being recovered. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f89487adce94b18e6f570ffbdf6c46f69525ebeb Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Sep 18 15:16:01 2014 +1000 m68knommu: add missing ioport_map() and ioport_unmap() Add the missing ioport_map() and ioport_unmap() functions for the non-MMU platforms. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 1089c552fb50a4693bddb6ec00e58d4e7998ce55 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 16 20:43:33 2014 +0200 m68k/coldfire: remove second asm/mcfclk.h inclusion in m54xx.c asm/mcfclk.h was included twice. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit ecb6bdcde2474c8c954179b74fd3df3ad84fba75 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Aug 28 14:39:45 2014 +1000 m68knommu: fix size of address field for 5272 interrupt controller Picked up by the 0-day buidler: All warnings: >> arch/m68k/coldfire/intc-5272.c:46:20: warning: large integer implicitly truncated to unsigned type [-Woverflow] /*MCF_IRQ_EINT1*/ { .icr = MCFSIM_ICR1, .index = 28, .ack = 1, }, ... The problem stems from the changes to make all ColdFire register addresses absolute, in commit d72a5abb ("make remaining ColdFire 5272 register definitions absolute"). That change did not take into account that the addresses were stored as offsets in the irqmap of the intc-5272.c code. Make the field that now stores register addresses big enough to hold addresses. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> commit 6f4a8856e084fbeae226ef52de1fc4f8d2c68765 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Aug 21 22:10:31 2014 +1000 m68k: fix crufty 68000 and 68360 intro comments Quite a few of the non-mmu specific support files have a pathname in the title comments of the file. These files have moved around a bit over the years, and most are no longer accurate. Remove the pathname and fix the comments to include at least a short description of the files contents. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit d3a887ccba63694bb3f5a7083ccc85c7ad116a08 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Aug 21 22:03:35 2014 +1000 m68k: remove the unused arch/m68k/platform directory The non-mmu platform/machine directories have been move up one level. We no longer need arch/m68k/platform, or its Makefile, so remove them. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 3ba885f524b9cca1f0975e7bf00eddb275407b74 Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Aug 21 22:02:10 2014 +1000 m68k: move non-mmu 68360 platform code The non-mmu 68360 specific code is inconsistently placed under a directory named "platform". Move it to arch/m68k/ along with the other platform and board directories. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 18cb3faf6fc72ccfc2965aeec9e04fa7b0047c4c Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Thu Aug 21 21:53:51 2014 +1000 m68k: move non-mmu 68000 platform code The non-mmu 68000 specific code is inconsistently placed under a directory named "platform". Move it to arch/m68k/ along with the other platform and machine directories. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit ece9ae6515727d56ca21a8c925965b731a88b43b Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Tue Aug 19 11:55:24 2014 +1000 m68k: fix crufty ColdFire intro comments Quite a few of the ColdFire specific support files have a pathname in the title comments of the file. These files have moved around a bit over the years, and most are no longer accurate. Remove the pathname and fix the comments to include at least a short description of the files contents. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit f86b9e03837beafb4b48d53a76ee4b88559226de Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Tue Aug 19 11:39:09 2014 +1000 m68k: move coldfire platform code Move the m68k ColdFire platform support code directory to be with the existing m68k platforms. Although the ColdFire is not a platform as such, we have always kept all its support together. No reason to change that as this time. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 32f1b7c8352fd33d41bcec3cfb054ccdcfd40a42 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Sep 28 22:36:54 2014 +0200 mtd: move support for struct flash_platform_data into m25p80 This "type" seems to be an extra hint for m25p80 about the flash. Some archs register flash_platform_data with "name" set to "m25p80" and then with a real flash name set in "type". It seems to be a trick specific to the m25p80 so let's move it out of spi-nor. Btw switch to the spi_nor_match_id instead of iterating spi_nor_ids. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 68f6a7c6c9817f2e6a66b59893de3c901ae5608c Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 25 12:06:05 2014 -0700 net_sched: fix another regression in cls_tcindex Clearly the following change is not expected: - if (!cp.perfect && !cp.h) - cp.alloc_hash = cp.hash; + if (!cp->perfect && cp->h) + cp->alloc_hash = cp->hash; Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02c5e84413dae4aa650536097d4195a356217d3d Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 25 12:06:04 2014 -0700 net_sched: fix errno in tcindex_set_parms() When kmemdup() fails, we should return -ENOMEM. Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c01035f174a021737c30c8e71798c4f83dc6b8a9 Merge: 825bae5 e553ec3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 17:32:16 2014 -0400 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== cxgb4: Use new BAR2 GTS for T5, adds adaptive rx and few Device ID's This patch series adds support to use new BAR2 GTS for T5 adapter. Adds support for adaptive rx. Remove redundant variable from a macro of cxgb4vf driver. Adds Device ID for new adapters. The patches series is created against 'net-next' tree. And includes patches on cxgb4 and cxgb4vf driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e553ec3ff95ad8ad0176939e9b5c195dc97e3689 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Sep 26 00:23:55 2014 +0530 cxgb4: Add support for adaptive rx Based on original work by Kumar Sanghvi <kumaras@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 91c04a9eb3a9b7e340a59446989263bfe31aee62 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Sep 26 00:23:54 2014 +0530 cxgb4/cxgb4vf: Add Devicde ID for two more adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b961f9a48844ecf33fa687bcb0cd7c6a33de7b5d Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Sep 26 00:23:53 2014 +0530 cxgb4vf: Remove superfluous "idx" parameter of CH_DEVICE() macro. Remove redundant idx parameter of CH_DEVICE() macro, its always zero. Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d63a6dcf06cb3e6f3d08d79ba23603b03828650e Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Fri Sep 26 00:23:52 2014 +0530 cxgb4: Use BAR2 Going To Sleep (GTS) for T5 and later. Use BAR2 GTS for T5. If we are on T4 use the old doorbell mechanism; otherwise ue the new BAR2 mechanism. Use BAR2 doorbells for refilling FL's. Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 825bae5d97d351ddf9720400df133fc4b1bc6a13 Author: Rick Jones <rick.jones2@xxxxxx> Date: Thu Sep 25 10:55:28 2014 -0700 arp: Do not perturb drop profiles with ignored ARP packets We do not wish to disturb dropwatch or perf drop profiles with an ARP we will ignore. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18d0264f630e200772bf236ac5747c47e908501e Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 25 10:26:37 2014 -0700 net_sched: remove the first parameter from tcf_exts_destroy() Cc: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Jamal Hadi Salim <hadi@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5804283d7cb1da46485950d545dd7869137dcda5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Sep 25 07:17:49 2014 -0700 mlx4: exploit skb->xmit_more to conditionally send doorbell skb->xmit_more tells us if another skb is coming next. We need to send doorbell when : xmit_more is not set, or txqueue is stopped (preventing next skb to come immediately) Tested with a modified pktgen version, I got a 40% increase of throughput. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a8404ce5ae7a6054322afb5aa77cefe3ad54475e Merge: 18c565e df35d28 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 17:24:32 2014 -0400 Merge branch 'r8152' Hayes Wang says: ==================== r8152: support setting eee by ethtool Modify some definitions about EEE, and add the support of setting the EEE through ethtool. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df35d283e5a98b654a06301c5668fe85ab538452 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Sep 25 20:54:02 2014 +0800 r8152: support ethtool eee Support get_eee() and set_eee() of ethtool_ops. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d24f6134c76fa4d1ad14520a87371952fbd10304 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Sep 25 20:54:01 2014 +0800 r8152: add functions to set EEE Add functions to enable EEE and set EEE advertisement. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c4a6b1b85095e0fcee36f2fd2acc7d7cd9e0699 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Sep 25 20:54:00 2014 +0800 r8152: change the EEE definition Replace the EEE definitions with the ones which is declared in "mdio.h". Chage some definitions to make them readable. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18c565eb410307f9eefbef7c9021c7a75d8a2408 Merge: f5c7e1a b98dfaf Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 17:22:21 2014 -0400 Merge branch 'defxx-next' Maciej W. Rozycki says: ==================== defxx: DEFEA fixes and updates I have finally got my hands on an EISA variation of the board (DEC FDDIcontroller/EISA aka DEFEA) and was able to do some testing. Here are initial updates to the driver that address problems I encountered so far. More to come later on as I get back to the system that I have in a remote location -- I need to double-check MMIO support and see what might have been causing spurious interrupts I saw with the 8259A PIC the board's interrupt line has been routed to. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b98dfaf2b0a3e72fa5967dafb4f246442584a780 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Thu Sep 25 11:06:55 2014 +0100 defxx: DEFEA's ESIC port I/O decoding cleanup Use the slot-specific I/O range for decoding accesses to PDQ ASIC registers (IOCS0) and the discrete Burst Holdoff register (IOCS1) as per the "HD64981F EISA Slave Interface Controller (ESIC)" datasheet. Use disjoint decode ranges now that the assignment of chip selects is known. Update the span of the port I/O resource requested accordingly. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1a6d3ecf806457d3e76ac0044db424be3c9422d Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Thu Sep 25 11:06:45 2014 +0100 defxx: DEFEA's Burst Holdoff register initialization fix Use the mask rather than bit number macro to initialize the chip select control bit for PDQ register space decoding in the Burst Holdoff register. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8a189f1288b654e45f2ec9393abfb1390b261ae9 Author: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Date: Thu Sep 25 11:06:39 2014 +0100 defxx: Correct DEFEA's ESIC port I/O accesses Reverse the order of arguments to `outb', data to write comes first. Signed-off-by: Maciej W. Rozycki <macro@xxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f5c7e1a47aeca2b31106aa94e7f4daa218e6c478 Merge: fe2c5fb 689f1c9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 17:19:15 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next Steffen Klassert says: ==================== pull request (net-next): ipsec-next 2014-09-25 1) Remove useless hash_resize_mutex in xfrm_hash_resize(). This mutex is used only there, but xfrm_hash_resize() can't be called concurrently at all. From Ying Xue. 2) Extend policy hashing to prefixed policies based on prefix lenght thresholds. From Christophe Gouault. 3) Make the policy hash table thresholds configurable via netlink. From Christophe Gouault. 4) Remove the maximum authentication length for AH. This was needed to limit stack usage. We switched already to allocate space, so no need to keep the limit. From Herbert Xu. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57cf26c1b28572976c57f6dec9818be38bf37cbb Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Aug 17 11:27:26 2014 +0200 mtd: spi-nor: add Kconfig option to disable 4K sectors Current situation with 4K sectors is quite messy. First of all, some MTD "users" don't work with such small size. An example may be UBIFS which requires 15 KiB erase blocks as a minimum. In theory spi-nor should provide multiple erase regions and MTD "users" should use the one they need. Unforunately that is not implemented. In the result our flashes database in spi-nor is hackish. For some flashes we pretend they don't support 4K sectors just because some distribution uses UBIFS on it. This ofc leads to conflicts, like Samsung using w25q128 with 4K sectors vs. OpenWrt requiring it to pretend it's 64 KiB blocks only. My idea (plan?) for fixing this situation: 1) Use real hw info (this requires a way for disabling 4K for now) 2) Provide detailed info about erase regions 3) Make UBIFS work with devices that support 4K sectors Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit fe2c5fb1ef24e97b7cf96e24200bbe503286cb95 Merge: 155c6e1 450b05c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 17:14:15 2014 -0400 Merge branch 'dsa_eee' Florian Fainelli says: ==================== net: dsa: EEE and other PM features This patch set allows DSA switch drivers to enable/disable/query EEE on a per-port level, as well as control precisely which switch ports are enable/disabled. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 450b05c15f9c776996f9627c7b4f1d38b6e6f4a0 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:22 2014 -0700 net: dsa: bcm_sf2: add support for controlling EEE When EEE is enabled, negotiate this feature with the PHY and make sure that the capability checking, local EEE advertisement, link partner EEE advertisement and auto-negotiation resolution returned by phy_init_eee() is positive, and enable EEE at the switch level. While querying the current EEE settings, verify the low-power indication and indicate its status. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7905288f093ad924004609bb89a7ce1597892726 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:21 2014 -0700 net: dsa: allow switches driver to implement get/set EEE Allow switches driver to query and enable/disable EEE on a per-port basis by implementing the ethtool_{get,set}_eee settings and delegating these operations to the switch driver. set_eee() will need to coordinate with the PHY driver to make sure that EEE is enabled, the link-partner supports it and the auto-negotiation result is satisfactory. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6d045db59210476323caef042c5b50884e4675f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:20 2014 -0700 net: dsa: bcm_sf2: add port_enable/disable callbacks The SF2 switch driver is already architected around per-port enable/disable callbacks, so we just need a slight update to our existing bcm_sf2_port_setup() resp. bcm_sf2_port_disable() functions to be suitable as callbacks for port_enable/port_disable. We need to shuffle a little the code that does the per-port VLAN configuration/isolation since ports can now be brought up/down separately, so we need to make sure that IMP (CPU, management) port is always included in that specific port setup. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7de1557ce7521e756974d5c28794c2375d28e3cc Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:19 2014 -0700 net: dsa: bcm_sf2: disable RGMII interface(s) when link is down When the link is down, disable the RGMII interface to conserve as much power as possible. We re-enable the RGMII interface whenever the link is detected. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2f2af21e37f6d12bd735c27da8942331aa9b3d7 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:18 2014 -0700 net: dsa: allow enabling and disable switch ports Whenever a per-port network device is used/unused, invoke the switch driver port_enable/port_disable callbacks to allow saving as much power as possible by disabling unused parts of the switch (RX/TX logic, memory arrays, PHYs...). We supply a PHY device argument to make sure the switch driver can act on the PHY device if needed (like putting/taking the PHY out of deep low power mode). Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7f1de51edbdd53b09061d12758cacd9901c363e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Sep 24 17:05:17 2014 -0700 net: dsa: start and stop the PHY state machine dsa_slave_open() should start the PHY library state machine for its PHY interface, and dsa_slave_close() should stop the PHY library state machine accordingly. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 155c6e1ad4a778cad7f9fe6695afc91b3f5fe1ac Author: Peter Pan(æ½?å?«å¹³) <panweiping3@xxxxxxxxx> Date: Wed Sep 24 22:17:02 2014 +0800 tcp: use tcp_flags in tcp_data_queue() This patch is a cleanup which follows the idea in commit e11ecddf5128 (tcp: use TCP_SKB_CB(skb)->tcp_flags in input path), and it may reduce register pressure since skb->cb[] access is fast, bacause skb is probably in a register. v2: remove variable th v3: reword the changelog Signed-off-by: Weiping Pan <panweiping3@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd7d8498c9a5d510c64db38d9f4f4fbc41790f09 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 24 04:11:22 2014 -0700 tcp: change tcp_skb_pcount() location Our goal is to access no more than one cache line access per skb in a write or receive queue when doing the various walks. After recent TCP_SKB_CB() reorganizations, it is almost done. Last part is tcp_skb_pcount() which currently uses skb_shinfo(skb)->gso_segs, which is a terrible choice, because it needs 3 cache lines in current kernel (skb->head, skb->end, and shinfo->gso_segs are all in 3 different cache lines, far from skb->cb) This very simple patch reuses space currently taken by tcp_tw_isn only in input path, as tcp_skb_pcount is only needed for skb stored in write queue. This considerably speeds up tcp_ack(), granted we avoid shinfo->tx_flags to get SKBTX_ACK_TSTAMP, which seems possible. This also speeds up all sack processing in general. This speeds up tcp_sendmsg() because it no longer has to access/dirty shinfo. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dc83d4d8f6c897022c974a00769b7a6efee6aed8 Merge: ff04a77 971f10e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 28 16:35:49 2014 -0400 Merge branch 'tcp_skb_cb' Eric Dumazet says: ==================== tcp: better TCP_SKB_CB layout TCP had the assumption that IPCB and IP6CB are first members of skb->cb[] This is fine, except that IPCB/IP6CB are used in TCP for a very short time in input path. What really matters for TCP stack is to get skb->next, TCP_SKB_CB(skb)->seq, and TCP_SKB_CB(skb)->end_seq in the same cache line. skb that are immediately consumed do not care because whole skb->cb[] is hot in cpu cache, while skb that sit in wocket write queue or receive queues do not need TCP_SKB_CB(skb)->header at all. This patch set implements the prereq for IPv4, IPv6, and TCP to make this possible. This makes TCP more efficient. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 971f10eca186cab238c49daa91f703c5a001b0b1 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Sep 27 09:50:57 2014 -0700 tcp: better TCP_SKB_CB layout to reduce cache line misses TCP maintains lists of skb in write queue, and in receive queues (in order and out of order queues) Scanning these lists both in input and output path usually requires access to skb->next, TCP_SKB_CB(skb)->seq, and TCP_SKB_CB(skb)->end_seq These fields are currently in two different cache lines, meaning we waste lot of memory bandwidth when these queues are big and flows have either packet drops or packet reorders. We can move TCP_SKB_CB(skb)->header at the end of TCP_SKB_CB, because this header is not used in fast path. This allows TCP to search much faster in the skb lists. Even with regular flows, we save one cache line miss in fast path. Thanks to Christoph Paasch for noticing we need to cleanup skb->cb[] (IPCB/IP6CB) before entering IP stack in tx path, and that I forgot IPCB use in tcp_v4_hnd_req() and tcp_v4_save_options(). Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a224772db8420ecb7ce91a9ba5d535ee3a50d982 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Sep 27 09:50:56 2014 -0700 ipv6: add a struct inet6_skb_parm param to ipv6_opt_accepted() ipv6_opt_accepted() assumes IP6CB(skb) holds the struct inet6_skb_parm that it needs. Lets not assume this, as TCP stack might use a different place. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24a2d43d8886f5a29c3cf108927f630c545a9a38 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Sep 27 09:50:55 2014 -0700 ipv4: rename ip_options_echo to __ip_options_echo() ip_options_echo() assumes struct ip_options is provided in &IPCB(skb)->opt Lets break this assumption, but provide a helper to not change all call points. ip_send_unicast_reply() gets a new struct ip_options pointer. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit df817ba35736db2d62b07de6f050a4db53492ad8 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Sep 27 17:41:51 2014 -0400 NFSv4: fix open/lock state recovery error handling The current open/lock state recovery unfortunately does not handle errors such as NFS4ERR_CONN_NOT_BOUND_TO_SESSION correctly. Instead of looping, just proceeds as if the state manager is finished recovering. This patch ensures that we loop back, handle higher priority errors and complete the open/lock state recovery. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a4339b7b686b4acc8b6de2b07d7bacbe3ae44b83 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sat Sep 27 17:02:26 2014 -0400 NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails If a NFSv4.x server returns NFS4ERR_STALE_CLIENTID in response to a CREATE_SESSION or SETCLIENTID_CONFIRM in order to tell us that it rebooted a second time, then the client will currently take this to mean that it must declare all locks to be stale, and hence ineligible for reboot recovery. RFC3530 and RFC5661 both suggest that the client should instead rely on the server to respond to inelegible open share, lock and delegation reclaim requests with NFS4ERR_NO_GRACE in this situation. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 6e18ff26c2b529de06207caa2be9e5f1cf520972 Merge: 7af4724 45bcf9c Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Sun Sep 28 10:47:15 2014 -0700 Merge tag 'hix5hd2-clock-for-3.18-v2' of git://github.com/hisilicon/linux-hisi into clk-next Hisilicon HiX5HD2 clock updates for 3.18-v2 - Add I2C clocks - Add watchdog clocks - Add sd clocks - Add complex clock implementation to support sata, usb and ethernet commit fe6cf28936cc948cd1045568975c5b0d196e76d4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 23:24:00 2014 +0200 dma: imx-sdma: fix another incorrect __init annotation In e34b731faa7d1 ("dma: imx-sdma: Remove spurious __init annotation on sdma_probe()"), Mark found an extraneous __init label and fixed it. However, he missed another one, because now we get this other warning: WARNING: drivers/dma/imx-sdma.o(.text+0x3bb4): Section mismatch in reference from the function sdma_probe() to the function .init.text:sdma_get_firmware() The function sdma_probe() references the function __init sdma_get_firmware(). Same reasoning as the last time, the function may get called at runtime, so it can't be __init. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c3ebd6a9b614ef1fbb5a44a3a33cd639ff4694bf Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Thu Sep 25 15:13:21 2014 +0200 AHCI: Cleanup checking of multiple MSIs/SLM modes Sharing Last Message (SLM) mode is currently checked in two functions: ahci_host_activate() and ahci_init_interrupts(). This update consolidates SLM mode check with activation of multiple MSIs mode. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx commit 6d8ca28fa688a9354bc9fbc935bdaeb3651b6677 Author: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 27 00:04:46 2014 +0200 libata-sff: Fix controllers with no ctl port Currently, ata_sff_softreset is skipped for controllers with no ctl port. But that also skips ata_sff_dev_classify required for device detection. This means that libata is currently broken on controllers with no ctl port. No device connected: [ 1.872480] pata_isapnp 01:01.02: activated [ 1.889823] scsi2 : pata_isapnp [ 1.890109] ata3: PATA max PIO0 cmd 0x1e8 ctl 0x0 irq 11 [ 6.888110] ata3.01: qc timeout (cmd 0xec) [ 6.888179] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 16.888085] ata3.01: qc timeout (cmd 0xec) [ 16.888147] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 46.888086] ata3.01: qc timeout (cmd 0xec) [ 46.888148] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 51.888100] ata3.00: qc timeout (cmd 0xec) [ 51.888160] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x5) [ 61.888079] ata3.00: qc timeout (cmd 0xec) [ 61.888141] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x5) [ 91.888089] ata3.00: qc timeout (cmd 0xec) [ 91.888152] ata3.00: failed to IDENTIFY (I/O error, err_mask=0x5) ATAPI device connected: [ 1.882061] pata_isapnp 01:01.02: activated [ 1.893430] scsi2 : pata_isapnp [ 1.893719] ata3: PATA max PIO0 cmd 0x1e8 ctl 0x0 irq 11 [ 6.892107] ata3.01: qc timeout (cmd 0xec) [ 6.892171] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 16.892079] ata3.01: qc timeout (cmd 0xec) [ 16.892138] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 46.892079] ata3.01: qc timeout (cmd 0xec) [ 46.892138] ata3.01: failed to IDENTIFY (I/O error, err_mask=0x5) [ 46.908586] ata3.00: ATAPI: ACER CD-767E/O, V1.5X, max PIO2, CDB intr [ 46.924570] ata3.00: configured for PIO0 (device error ignored) [ 46.926295] scsi 2:0:0:0: CD-ROM ACER CD-767E/O 1.5X PQ: 0 ANSI: 5 [ 46.984519] sr0: scsi3-mmc drive: 6x/6x xa/form2 tray [ 46.984592] cdrom: Uniform CD-ROM driver Revision: 3.20 So don't skip ata_sff_softreset, just skip the reset part of ata_bus_softreset if the ctl port is not available. This makes IDE port on ES968 behave correctly: No device connected: [ 4.670888] pata_isapnp 01:01.02: activated [ 4.673207] scsi host2: pata_isapnp [ 4.673675] ata3: PATA max PIO0 cmd 0x1e8 ctl 0x0 irq 11 [ 7.081840] Adding 2541652k swap on /dev/sda2. Priority:-1 extents:1 across:2541652k ATAPI device connected: [ 4.704362] pata_isapnp 01:01.02: activated [ 4.706620] scsi host2: pata_isapnp [ 4.706877] ata3: PATA max PIO0 cmd 0x1e8 ctl 0x0 irq 11 [ 4.872782] ata3.00: ATAPI: ACER CD-767E/O, V1.5X, max PIO2, CDB intr [ 4.888673] ata3.00: configured for PIO0 (device error ignored) [ 4.893984] scsi 2:0:0:0: CD-ROM ACER CD-767E/O 1.5X PQ: 0 ANSI: 5 [ 7.015578] Adding 2541652k swap on /dev/sda2. Priority:-1 extents:1 across:2541652k Signed-off-by: Ondrej Zary <linux@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 3f334078567245429540e6461c81c749fce87f70 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Dec 30 17:12:07 2013 -0800 net: make tcp_cleanup_rbuf private net_dma was the only external user so this can become local to tcp.c again. Cc: James Morris <jmorris@xxxxxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit d27f9bc104375a0a835cf68bb88fc9cec69125da Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Dec 30 11:37:15 2013 -0800 net_dma: revert 'copied_early' Now that tcp_dma_try_early_copy() is gone nothing ever sets copied_early. Also reverts "53240c208776 tcp: Fix possible double-ack w/ user dma" since it is no longer necessary. Cc: Ali Saidi <saidi@xxxxxxxxxxxxxxx> Cc: James Morris <jmorris@xxxxxxxxx> Cc: Patrick McHardy <kaber@xxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx> Cc: Hideaki YOSHIFUJI <yoshfuji@xxxxxxxxxxxxxx> Cc: Neal Cardwell <ncardwell@xxxxxxxxxx> Reported-by: Dave Jones <davej@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 7bced397510ab569d31de4c70b39e13355046387 Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Mon Dec 30 12:37:29 2013 -0800 net_dma: simple removal Per commit "77873803363c net_dma: mark broken" net_dma is no longer used and there is no plan to fix it. This is the mechanical removal of bits in CONFIG_NET_DMA ifdef guards. Reverting the remainder of the net_dma induced changes is deferred to subsequent patches. Marked for stable due to Roman's report of a memory leak in dma_pin_iovec_pages(): https://lkml.org/lkml/2014/9/3/177 Cc: Dave Jiang <dave.jiang@xxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: David Whipple <whipple@xxxxxxxxxxxxxxxxxxxxxxxx> Cc: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Reported-by: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 969168e2e9f4a5bfd6a49344f46b820437cd9163 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 26 16:25:38 2014 +0300 ASoC: Intel: byt-max98090: Set card as fully routed All byt-max98090 audio connections are known and described in DAPM routing table. Set the fully_routed flag in order to disable unused codec pins. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e172b9e6a1449f92e0ed834e7113a43e31ee7ced Merge: 0121327 f69e3ca Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Sep 28 12:22:30 2014 +0100 Merge branch 'fix/max98090' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit fdaff15ae6cc8745b9b56adab0252729b476ed7e Merge: d1c3f7c 9839d62 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Sep 28 12:17:00 2014 +0100 Merge remote-tracking branch 'regulator/topic/sky81452' into regulator-drivers Conflicts: drivers/regulator/Kconfig drivers/regulator/Makefile commit d1c3f7ca158e78fa78c9789d836d2a98d5fd25f3 Merge: 6a64250 fbf7974 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Sep 28 12:14:26 2014 +0100 Merge remote-tracking branch 'regulator/topic/pwm' into regulator-drivers Conflicts: drivers/regulator/Kconfig commit f69e3caa9e1855737bf1e99e1fe4488e33d74bfe Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 26 16:25:37 2014 +0300 ASoC: max98090: Enable both DMIC channels also when using mono configuration According to MAX98090 specification "Digital microphone clock (DMC) is enabled once both data channels are enabled.". Therefore both digital microphone data channels must be enabled also when using mono microphone configuration. Fix this by moving "DMICL_ENA" and "DMICR_ENA" supply widgets from "DMICL" and "DMICR" inputs to "DMIC Mux" in order to enable both data channels whenever there is active mono or stereo digital microphone input path. Use of "DMICL" and "DMICR" inputs are retained for informative source and in case the driver would find use for exact digital microphone configuration in the future. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d6b41cb06044a7d895db82bdd54f6e4219970510 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Sun Sep 28 17:09:54 2014 +0800 regmap: fix possible ZERO_SIZE_PTR pointer dereferencing error. Since we cannot make sure the 'val_count' will always be none zero here, and then if it equals to zero, the kmemdup() will return ZERO_SIZE_PTR, which equals to ((void *)16). So this patch fix this with just doing the zero check before calling kmemdup(). Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 2c98e0c1cc6b8e86f1978286c3d4e0769ee9d733 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Sun Sep 28 11:35:25 2014 +0800 regmap: debugfs: fix possbile NULL pointer dereference If 'map->dev' is NULL and there will lead dev_name() to be NULL pointer dereference. So before dev_name(), we need to have check of the map->dev pionter. We also should make sure that the 'name' pointer shouldn't be NULL for debugfs_create_dir(). So here using one default "dummy" debugfs name when the 'name' pointer and 'map->dev' are both NULL. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit fbf7974427910a3f13fcb76a3493f9da0b141120 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Sun Sep 28 10:28:54 2014 +0800 regulator: pwm-regulator: add devicetree bindings for pwm regulator Document the pwm regulator Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aa66cc6630a4088e84b64992aa5f137711ae45fa Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Sun Sep 28 10:28:53 2014 +0800 regulator: pwm-regulator: get voltage and duty table from dts rename st-pwm to pwm-regulator. And support getting voltage & duty table from device tree, other platforms can also use this driver without any modify. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fd4d453b64d409647c92de6395494b5dd82ce224 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 9 11:54:50 2014 +0200 m68k: AMIGA_BUILTIN_SERIAL should depend on TTY If CONFIG_TTY=n: drivers/built-in.o: In function `rs_flush_buffer': amiserial.c:(.text+0x1f626): undefined reference to `tty_wakeup' drivers/built-in.o: In function `transmit_chars': amiserial.c:(.text+0x1f6c8): undefined reference to `tty_wakeup' drivers/built-in.o: In function `change_speed': amiserial.c:(.text+0x1f80a): undefined reference to `tty_termios_baud_rate' amiserial.c:(.text+0x1f88c): undefined reference to `tty_termios_baud_rate' drivers/built-in.o: In function `check_modem_status': amiserial.c:(.text+0x1faa6): undefined reference to `tty_hangup' amiserial.c:(.text+0x1faec): undefined reference to `tty_wakeup' drivers/built-in.o: In function `get_serial_info': amiserial.c:(.text+0x1fb88): undefined reference to `tty_lock' amiserial.c:(.text+0x1fbc0): undefined reference to `tty_unlock' drivers/built-in.o: In function `rs_open': amiserial.c:(.text+0x1fdc6): undefined reference to `tty_port_block_til_ready' drivers/built-in.o: In function `set_serial_info': amiserial.c:(.text+0x1fe0c): undefined reference to `tty_lock' amiserial.c:(.text+0x1fea0): undefined reference to `tty_unlock' amiserial.c:(.text+0x1fed0): undefined reference to `tty_unlock' amiserial.c:(.text+0x1ffaa): undefined reference to `tty_unlock' drivers/built-in.o: In function `receive_chars': amiserial.c:(.text+0x2005c): undefined reference to `do_SAK' amiserial.c:(.text+0x200e0): undefined reference to `tty_insert_flip_string_flags' amiserial.c:(.text+0x2013c): undefined reference to `tty_insert_flip_string_flags' amiserial.c:(.text+0x20148): undefined reference to `tty_flip_buffer_push' drivers/built-in.o: In function `rs_close': amiserial.c:(.text+0x20744): undefined reference to `tty_port_close_start' amiserial.c:(.text+0x2078a): undefined reference to `tty_ldisc_flush' amiserial.c:(.text+0x20798): undefined reference to `tty_port_close_end' drivers/built-in.o: In function `amiga_serial_probe': amiserial.c:(.init.text+0x96a): undefined reference to `__tty_alloc_driver' amiserial.c:(.init.text+0x9c0): undefined reference to `tty_std_termios' amiserial.c:(.init.text+0x9e6): undefined reference to `tty_set_operations' amiserial.c:(.init.text+0xa3e): undefined reference to `tty_port_init' amiserial.c:(.init.text+0xa5c): undefined reference to `tty_port_link_device' amiserial.c:(.init.text+0xa6c): undefined reference to `tty_register_driver' amiserial.c:(.init.text+0xb4a): undefined reference to `tty_unregister_driver' amiserial.c:(.init.text+0xb58): undefined reference to `tty_port_destroy' amiserial.c:(.init.text+0xb64): undefined reference to `put_tty_driver' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit a000dfc2ab201ffc43fbe925a522adeebe51f6f3 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Tue Sep 9 11:32:44 2014 +0200 m68k: Add missing ioport_unmap() drivers/net/ethernet/cirrus/cs89x0.c: In function â??cs89x0_ioport_probeâ??: drivers/net/ethernet/cirrus/cs89x0.c:1629: error: implicit declaration of function â??ioport_unmapâ?? Add the missing ioport_unmap() implementation, and convert ioport_map() from a macro to a static inline function while we're at it (both copied from asm-generic). Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 72cf90124e87d975d0b2114d930808c58b4c05e4 Author: Willy Tarreau <w@xxxxxx> Date: Sat Sep 27 12:31:37 2014 +0200 lzo: check for length overrun in variable length encoding. This fix ensures that we never meet an integer overflow while adding 255 while parsing a variable length encoding. It works differently from commit 206a81c ("lzo: properly check for overruns") because instead of ensuring that we don't overrun the input, which is tricky to guarantee due to many assumptions in the code, it simply checks that the cumulated number of 255 read cannot overflow by bounding this number. The MAX_255_COUNT is the maximum number of times we can add 255 to a base count without overflowing an integer. The multiply will overflow when multiplying 255 by more than MAXINT/255. The sum will overflow earlier depending on the base count. Since the base count is taken from a u8 and a few bits, it is safe to assume that it will always be lower than or equal to 2*255, thus we can always prevent any overflow by accepting two less 255 steps. This patch also reduces the CPU overhead and actually increases performance by 1.1% compared to the initial code, while the previous fix costs 3.1% (measured on x86_64). The fix needs to be backported to all currently supported stable kernels. Reported-by: Willem Pinckaers <willem@xxxxxxxxxxxxxx> Cc: "Don A. Bailey" <donb@xxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af958a38a60c7ca3d8a39c918c1baa2ff7b6b233 Author: Willy Tarreau <w@xxxxxx> Date: Sat Sep 27 12:31:36 2014 +0200 Revert "lzo: properly check for overruns" This reverts commit 206a81c ("lzo: properly check for overruns"). As analysed by Willem Pinckaers, this fix is still incomplete on certain rare corner cases, and it is easier to restart from the original code. Reported-by: Willem Pinckaers <willem@xxxxxxxxxxxxxx> Cc: "Don A. Bailey" <donb@xxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d98a0526434d27e261f622cf9d2e0028b5ff1a00 Author: Willy Tarreau <w@xxxxxx> Date: Sat Sep 27 12:31:35 2014 +0200 Documentation: lzo: document part of the encoding Add a complete description of the LZO format as processed by the decompressor. I have not found a public specification of this format hence this analysis, which will be used to better understand the code. Cc: Willem Pinckaers <willem@xxxxxxxxxxxxxx> Cc: "Don A. Bailey" <donb@xxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45bcf9c6f299ae77c14c2ae8cea3f8e540fe80d1 Author: Wei Yan <sledge.yanwei@xxxxxxxxxx> Date: Thu Aug 7 09:09:13 2014 +0800 clk: hix5hd2: add I2C clocks hix5hd2 add I2C clocks (I2C0~i2C5) Signed-off-by: Wei Yan <sledge.yanwei@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 1463fba39c2e95803147e1d6e159ea402d965e6f Author: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Date: Tue Jun 17 17:04:17 2014 +0800 clk: hix5hd2: add watchdog0 clocks hix5hd2 add watchdog0 clocks Signed-off-by: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit cc855dd9994cfd179891cf5b966ebc8051d95a9f Author: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Date: Wed May 28 11:35:32 2014 +0800 clk: hix5hd2: add sd clk Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 20e075585973453515be6615b91901c959e0a573 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Tue May 13 20:26:59 2014 +0800 clk: hix5hd2: add complex clk Support clk of sata, usb and ethernet Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 5159e39bdf119613adc6556901ae2d2e5e027551 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Sep 28 01:27:42 2014 +0200 ACPI / SBS: Fix check in acpi_ac_get_present() Parentheses are missing under an if () statement in acpi_ac_get_present() which makes the check work differently from what was intended (at least according to the comment right above it). Add the missing parens. The problem was found by sparse. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Cc: All applicable <stable@xxxxxxxxxxxxxxx> commit 7af472485733c19a52bba5d1a064f6d88c0d9880 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Sep 22 13:52:11 2014 +0800 clk: use uninitialized_var instead setting 'flags' to 0 directly. Setting 'flags' to zero will be certainly a misleading way to avoid warning of 'flags' may be used uninitialized. uninitialized_var is a correct way because the warning is a false possitive. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 582940508b5d589229d0232e0eeee8fef0d54809 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 22:51:16 2014 +0200 block: Replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Cc: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4dc7ed32f398fa76b9e1d243a852420b1dad0150 Merge: 5ad67d3 9c8176b Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Sat Sep 27 12:52:33 2014 -0700 Merge tag 'sunxi-clocks-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into clk-next Allwinner Clocks Additions for 3.18 The most important part of this serie is the addition of the phase API to handle the MMC clocks in the Allwinner SoCs. Apart from that, the A23 gained a new mbus driver, and there's a fix for a incorrect divider table on the APB0 clock. commit 5ad67d3e5e0a5059945a7726a407763a23f80d9e Merge: 8791db5 0e5bdb3 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Sat Sep 27 12:50:40 2014 -0700 Merge tag 'v3.18-rockchip-cpuclk' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into clk-next CPU clock handling for Rockchip SoCs commit 0e5bdb3f9fa5c2bd4452c258de78122ef15f62d6 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Fri Sep 5 11:25:03 2014 +0200 clk: rockchip: switch to using the new cpuclk type for armclk This adds the necessary soc-specific divider values and switches the armclk to use the newly introduced cpuclk type. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit f6fba5f6967dbc062a7c138d67e2314220f5dd04 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Sep 4 22:10:43 2014 +0200 clk: rockchip: add new clock-type for the cpuclk When changing the armclk on Rockchip SoCs it is supposed to be reparented to an alternate parent before changing the underlying pll and back after the change. Additionally there exist clocks that are very tightly bound to the armclk whose divider values are set according to the armclk rate. Add a special clock-type to handle all that. The rate table and divider values will be supplied from the soc-specific clock controllers. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> On a rk3288-board: Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit 2b9bceeab70800546050f59cee4efb69c261a683 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Sep 4 21:43:17 2014 +0200 clk: rockchip: make tightly bound armclk child-clocks read-only Rockchip SoCs contain clocks tightly bound to the armclk, where the best rate / divider is supplied by the vendor after careful measuring. Often this ideal rate may be greater than the current rate. Therefore prevent the ccf from trying to set these dividers itself by setting them to read-only. In the case of the rk3066, this also includes the aclk_cpu, which makes it necessary to also split its direct child-clocks (pclk_cpu, hclk_cpu, ...) into individual definitions for rk3066 and rk3188. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit f5f7004fdec7eb1d2372278f1acad5f70f2da1e4 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Thu Sep 4 21:24:45 2014 +0200 clk: rockchip: reparent aclk_cpu_pre to the gpll aclk_cpu_pre on the rk3188 can either be sourced from the armclk or the gpll. To reduce complexity on apll changes caused by cpufreq, reparent it always to the gpll source. If really necessary it could be reparented back on a per board level using the assigned-clocks mechanism. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ee17eb83c48e04653d8b430735f82fd4cdac6ca3 Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Mon Sep 1 23:56:28 2014 +0200 clk: rockchip: fix rk3288 pll status register location In RK3288, APLL lock status bit is in GRF_SOC_STATUS1, but in RK3188, is GRFSOC_STATUS0. Signed-off-by: Jianqun <jay.xu@xxxxxxxxxxxxxx> Also name the constant accordingly as GRF_SOC_STATUS1 to prevent confusion. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit 11ff376fcfc0135b8947d27ab80162c218d1af90 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Mon Sep 1 23:52:40 2014 +0200 clk: rockchip: fix rk3066 pll status register location The register providing the pll lock status is at a different address on the rk3066. The error became apparent while working on cpufreq support for the rockchip SoCs. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 9c030ea70b6a7eb2f7ee273b1ddd2282b053724f Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Sep 15 21:07:57 2014 -0700 clk: rockchip: change pll rate without a clk-notifier The Rockchip PLL code switches into slow mode (AKA bypass more AKA 24MHz mode) before actually changing the PLL. This keeps anyone from using the PLL while it's changing. However, in all known Rockchip SoCs nobody should ever see the 24MHz when changing the PLL supplying the armclk because we should reparent children to an alternate (faster than 24MHz) PLL. One problem is that the code to switch to an alternate parent was running in PRE_RATE_CHANGE. ...and the code to switch to slow mode was _also_ running in PRE_RATE_CHANGE. That meant there was no real guarantee that we would switch to an alternate parent before switching to 24MHz mode. Let's move the switch to "slow mode" straight into rockchip_rk3066_pll_set_rate(). That means we're guaranteed that the 24MHz is really a last-resort. Note that without this change on real systems we were the code to switch to an alternate parent at 24MHz. In some older versions of that code we'd appy a (temporary) / 5 to the 24MHz causing us to run at 4.8MHz. That wasn't enough to service USB interrupts in some cases and could lead to a system hang. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit f79c3c015485374b4f453932c45fbcb80a75a1a9 Merge: b52f491 4d742e6 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sat Sep 27 17:56:55 2014 +0200 Merge branch 'v3.18-next/armclkid' into v3.18-next/cpuclk commit 4d742e6230b5ff157422d91d6ae8d2fc1303eb28 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Fri Sep 5 11:28:12 2014 +0200 clk: rockchip: add binding id for ARMCLK Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> commit 2341c2f8c33196d02cf5a721746eea4e3c06674a Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:07 2014 -0400 block: Add T10 Protection Information functions The T10 Protection Information format is also used by some devices that do not go through the SCSI layer (virtual block devices, NVMe). Relocate the relevant functions to a block layer library that can be used without involving SCSI. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 4eaf99beadcefbf126fa05e66fb40fca999e09fd Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:06 2014 -0400 block: Don't merge requests if integrity flags differ We'd occasionally merge requests with conflicting integrity flags. Introduce a merge helper which checks that the requests have compatible integrity payloads. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit aae7df50190a640e51bfe11c93f94741ac82ff0b Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:05 2014 -0400 block: Integrity checksum flag Make the choice of checksum a per-I/O property by introducing a flag that can be inspected by the SCSI layer. There are several reasons for this: 1. It allows us to switch choice of checksum without unloading and reloading the HBA driver. 2. During error recovery we need to be able to tell the HBA that checksums read from disk should not be verified and converted to IP checksums. 3. For error injection purposes we need to be able to write a bad guard tag to storage. Since the storage device only supports T10 CRC we need to be able to disable IP checksum conversion on the HBA. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b1f01388574c9329922f760fc2a7335c2d14b08b Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:04 2014 -0400 block: Relocate bio integrity flags Move flags affecting the integrity code out of the bio bi_flags and into the block integrity payload. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3aec2f41a8baeb70aa77556a4e4dcec7d9d70b4d Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:03 2014 -0400 block: Add a disk flag to block integrity profile So far we have relied on the app tag size to determine whether a disk has been formatted with T10 protection information or not. However, not all target devices provide application tag storage. Add a flag to the block integrity profile that indicates whether the disk has been formatted with protection information. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8288f496eb1b1905c425e92eaf1abbb29119217b Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:02 2014 -0400 block: Add prefix to block integrity profile flags Add a BLK_ prefix to the integrity profile flags. Also rename the flags to be more consistent with the generate/verify terminology in the rest of the integrity code. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1859308853b19c4daf4afaab910d3d52ac1ec2ff Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:01 2014 -0400 block: Clean up the code used to generate and verify integrity metadata Instead of the "operate" parameter we pass in a seed value and a pointer to a function that can be used to process the integrity metadata. The generation function is changed to have a return value to fit into this scheme. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5a2aa873059fec8b6385071d9c0802893a9b2f41 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:20:00 2014 -0400 block: Make protection interval calculation generic Now that the protection interval has been detached from the sector size we need to be able to handle sizes that are different from 4K and 512. Make the interval calculation generic. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3be91c4a3d090bd700bd6ee5bf457c1bbf189a4f Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:19:59 2014 -0400 block: Deprecate the use of the term sector in the context of block integrity The protection interval is not necessarily tied to the logical block size of a block device. Stop using the terms "sector" and "sectors". Going forward we will use the term "seed" to describe the initial reference tag value for a given I/O. "Interval" will be used to describe the portion of the data buffer that a given piece of protection information is associated with. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5f9378fa9ca214977b5bfc12197c67eea450fc40 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:19:58 2014 -0400 block: Remove bip_buf bip_buf is not really needed so we can remove it. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8492b68bc4025e7bce1d57761bd7c047efda2f81 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:19:57 2014 -0400 block: Remove integrity tagging functions None of the filesystems appear interested in using the integrity tagging feature. Potentially because very few storage devices actually permit using the application tag space. Remove the tagging functions. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 180b2f95dd331010a9930a65c8a18d6d81b94dc1 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:19:56 2014 -0400 block: Replace bi_integrity with bi_special For commands like REQ_COPY we need a way to pass extra information along with each bio. Like integrity metadata this information must be available at the bottom of the stack so bi_private does not suffice. Rename the existing bi_integrity field to bi_special and make it a union so we can have different bio extensions for each class of command. We previously used bi_integrity != NULL as a way to identify whether a bio had integrity metadata or not. Introduce a REQ_INTEGRITY to be the indicator now that bi_special can contain different things. In addition, bio_integrity(bio) will now return a pointer to the integrity payload (when applicable). Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e7258c1a269e0967856c81d182c286a78f5ecf15 Author: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Date: Fri Sep 26 19:19:55 2014 -0400 block: Get rid of bdev_integrity_enabled() bdev_integrity_enabled() is only used by bio_integrity_enabled(). Combine these two functions. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5336be8416a71b5568d2cf54a2f2066abe9f2a53 Author: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Date: Sat Sep 27 09:47:55 2014 +0530 regmap: fix NULL pointer dereference in _regmap_write/read If LOG_DEVICE is defined and map->dev is NULL it will lead to NULL pointer dereference. This patch fixes this issue by adding check for dev->NULL in all such places in regmap.c Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 1ee44ce03011bab025949e7636416912185f4122 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Fri Sep 26 13:31:06 2014 -0700 ASoC: ssm4567: Add driver for Analog Devices SSM4567 amplifier Analog Devices SSM4567 is a boost class-D audio amplifier. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 619f30188ff0d10fccc3cd952a79cb56ff62db54 Author: Vineet Gupta <vgupta@xxxxxxxxxxxx> Date: Thu Sep 4 10:57:33 2014 +0530 ARC: Allow SMP kernel to build/boot on UP-only infrastructure In light of recent SNAFU with SMP build, allow simple platform to build as SMP but run UP. * Remove the dependence on simulation SMP extension to enable quick build/test iterations of SMP kernel. * In absence of platform SMP registration, prevent the NULL smp feature name from borkign the system Signed-off-by: Vineet Gupta <vgupta@xxxxxxxxxxxx> commit e77d99d4a4ec761ad061f1ec890c71040a92efe3 Merge: bb0ca6a 0496daa5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Sat Sep 27 11:03:33 2014 +0200 Merge tag 'kvm-arm-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-next Changes for KVM for arm/arm64 for 3.18 This includes a bunch of changes: - Support read-only memory slots on arm/arm64 - Various changes to fix Sparse warnings - Correctly detect write vs. read Stage-2 faults - Various VGIC cleanups and fixes - Dynamic VGIC data strcuture sizing - Fix SGI set_clear_pend offset bug - Fix VTTBR_BADDR Mask - Correctly report the FSC on Stage-2 faults Conflicts: virt/kvm/eventfd.c [duplicate, different patch where the kvm-arm version broke x86. The kvm tree instead has the right one] commit 07394b5f13a04f86b27e0ddd96a36c7d9bfe1a4f Merge: cf8102f 49757c9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 27 09:15:48 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: o Restore "--callchain graph" output, broken in recent cset to end up being the same as "fractal" (Namhyung Kim) o Allow profiling when kptr_restrict == 1 for non root users, kernel samples will just remain unresolved (Andi Kleen) o Allow configuring default options for callchains in config file (Namhyung Kim) o Fix line number in the config file error message (Jiri Olsa) o Fix --per-core on multi socket systems (Andi Kleen) Cleanups: o Use ACCESS_ONCE() instead of volatile cast. (Pranith Kumar) o Modify error code for when perf_session__new() fails (Taeung Song) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9c8176bfb67f98ed9a521b624dcb6ab7fa254aa7 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Sep 16 18:04:01 2014 +0800 clk: sunxi: Add sun8i MBUS clock support The MBUS clock on sun8i is slightly different from the old mod0 clocks. The divider is 3 bits wider, while also needing a divider table for the higher 4 values, which all set the same divider. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 37e1041f04717d726931c8688cbf425071aeb9c1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 11 18:43:18 2014 +0200 clk: sunxi: mod0: Introduce MMC proper phase handling The MMC clock we thought we had until now are actually not one but three different clocks. The main one is unchanged, and will have three outputs: - The clock fed into the MMC - a sample and output clocks, to deal with when should we output/sample data to/from the MMC bus The phase control we had are actually controlling the two latter clocks, but the main MMC one is unchanged. We can adjust the phase with a 3 bits value, from 0 to 7, 0 meaning a 180 phase shift, and the other values being the number of periods from the MMC parent clock to outphase the clock of. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit eaa18f5d0914b0151cefb52e2977a67ef21dfa64 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 23:56:11 2014 +0200 clk: sunxi: Move mbus to mod0 file Move the MBUS clock to the module clocks file. It's pretty trivial, but still requires to enable the clocks to make sure it won't get disabled. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 992a56e48996d4dea6cc25a35e180f696935925d Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 23:55:18 2014 +0200 clk: sunxi: Move mod0 clock to a file of its own Since we know have the ability to declare factors clock outside of clk-sunxi, create a new mod0 driver to deal with the mod0 clocks. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 7868c5ebdbcb92087a3625cc55225f455eef70a4 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 16 23:45:48 2014 +0200 ARM: sunxi: dt: Switch to the new mbus compatible Now that we have a compatible of its own for the mbus clock, switch to it. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 03e29bbf40ed87657795c774c80449bb86a55415 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 23:53:40 2014 +0200 clk: sunxi: Introduce mbus compatible Even though the mbus clock is a regular module clock, given its nature, it needs to be enabled all the time. Introduce a new compatible, to differentiate it from the other module clocks. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 601da9d0a54c0fea7f5a208bc107d7ef1de4f570 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 4 22:24:52 2014 +0200 clk: sunxi: factors: Invert the probing logic Until now, the factors clock probing was done directly by sunxi_init_clocks, with the factors registration being called directly with the clocks data passed as an argument. This approch has shown its limits when we added more clocks, since we couldn't really split code with such a logic in smaller files, and led to a huge file having all the clocks. Introduce an intermediate probing function, so that factor clocks will be able to directly be called by CLK_OF_DECLARE, which will in turn ease the split into several files. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 9824cf73c3a5e677bee6fcba43c4807e01ff1b4a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 14 13:53:27 2014 +0200 clk: Add a function to retrieve phase The current phase API doesn't look into the actual hardware to get the phase value, but will rather get it from a variable only set by the set_phase function. This will cause issue when the client driver will never call the set_phase function, where we can end up having a reported phase that will not match what the hardware has been programmed to by the bootloader or what phase is programmed out of reset. Add a new get_phase function for the drivers to implement so that we can get this value. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 355bb165cd8bad2500df37437a9121f0177b6741 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 30 21:18:00 2014 +0200 clk: Include of.h in clock-provider.h CLK_OF_DECLARE relies on OF_DECLARE_1 that is defined in of.h. Fixes build errors when one use CLK_OF_DECLARE but doesn't include of.h Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit e59c5371fb9d8268d1c043172e88cecab9dc934f Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Tue Feb 18 21:21:25 2014 -0800 clk: introduce clk_set_phase function & callback A common operation for a clock signal generator is to shift the phase of that signal. This patch introduces a new function to the clk.h API to dynamically adjust the phase of a clock signal. Additionally this patch introduces support for the new function in the common clock framework via the .set_phase call back in struct clk_ops. Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> commit 9d0713edf72461438bc3526e4ea55fec47754cd9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 24 21:05:30 2014 -0700 sparc64: Fix hibernation code refrence to PAGE_OFFSET. We changed PAGE_OFFSET to be a variable rather than a constant, but this reference here in the hibernate assembler got missed. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8791db53a9d2556b8908af300d8327eecb110d8a Merge: c873d14 ceac26c Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Fri Sep 26 17:04:08 2014 -0700 Merge tag 'clk-mvebu-3.18' of git://git.infradead.org/linux-mvebu into clk-next clock changes for mvebu for v3.18 - correct timer drift caused by SSCG deviation - fix typo in comment commit c873d14d30b838a516a94967242322d4b73e79e7 Author: Jyri Sarha <jsarha@xxxxxx> Date: Fri Sep 5 15:21:34 2014 +0300 clk: add gpio gated clock The added gpio-gate-clock is a basic clock that can be enabled and disabled trough a gpio output. The DT binding document for the clock is also added. For EPROBE_DEFER handling the registering of the clock has to be delayed until of_clk_get() call time. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit db0bcc33a8aabab462c996baeac619f21616d938 Merge: b6b2fe5 229fd4a Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Fri Sep 26 16:10:57 2014 -0700 Merge tag 'qcom-clocks-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into clk-next qcom clock changes for 3.18 Some fixes for the IPQ driver and some code consolidation and refactoring. commit b6b2fe5b6e956c8217a7584472a3ac5c068b61d4 Merge: b52f491 b9e742c Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Fri Sep 26 16:09:39 2014 -0700 Merge tag 'tegra-clk-3.18' of git://nv-tegra.nvidia.com/user/pdeschrijver/linux into clk-next Tegra clk updates for 3.18 commit 34ed780a6afc4df5e3285d20fac721c591e0724e Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:27 2014 -0500 rtlwifi: Fix problems with building an allyesconfig Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 21e4b0726dc671c423e2dc9a85364716219c4502 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:26 2014 -0500 rtlwifi: rtl8821ae: Move driver from staging to regular tree This driver was entered into staging a few cycles ago because there was not time to integrate the Realtek version into the support routines in the kernel. Now that there is an effort to converg the code base from Linux and the Realtek repo, it is time to move this driver. In addition, all the updates included in the 06/28/2014 version of the Realtek drivers are included here. With this change, it will be necessary to delete the staging driver. That will be handled in a separate patch. As it impacts the staging tree, such a patch is sent to a different destination. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c151aed6aa146e9587590051aba9da68b9370f9b Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:25 2014 -0500 rtlwifi: rtl8188ee: Update driver to match Realtek release of 06282014 Not only does this patch update the driver to match the latest Realtek release, it is an important step in getting the internal code source at Realtek to match the code in the kernel. The primary reason for this is to make it easier for Realtek to maintain the kernel source without requiring an intermediate like me. In this process of merging the two source repositories, there are a lot of changes in both, and this commit is rather large. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f3a97e93814aeac3f13e857a0071726acc9bd626 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:24 2014 -0500 rtlwifi: Finish modifying core routines for new drivers Addition of the new drivers and the update to a new version for the others lead to changes in all the core routines. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d3feae41a3473a0f7b431d6af4e092865d586e52 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:23 2014 -0500 rtlwifi: Update power-save routines for 062814 driver Realtek released a new version of the drivers on 06/28/2014. This patch implements the new power-save code. These changes also force corresponding changes in the drivers. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3c67b8f9f3b5bb1207c9bb198e5ef04ff56921dd Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:22 2014 -0500 rtlwifi: Modify cam.{c,h} and efuse.{c,h} for new drivers Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9afa2e44f4d8f9d031f815c32bb8f225f0f6746b Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:21 2014 -0500 rtlwifi: Modify base.{c,h} for new drivers Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f7953b2ad66cc5fc66e13d5c0a40e61b45cdfca8 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:20 2014 -0500 rtlwifi: Modify core.c for new drivers Each of the routines in the rtlwifi common driver needs to be modified for the coming changes. This patch prepares core.c, but also touches other files. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 38506ecefab911785d5e1aa5889f6eeb462e0954 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:19 2014 -0500 rtlwifi: rtl_pci: Start modification for new drivers Future patches will move the drivers for RTL8192EE and RTL8821AE from staging to the regular wireless tree. Here, the necessary features are added to the PCI driver. Other files are touched due to changes in the various data structs. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fd09ff958777cf583d7541f180991c0fc50bd2f7 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:18 2014 -0500 rtlwifi: Remove extra workqueue for enter/leave power state When the rtlwifi family of drivers was converted to use a workqueue when entering or leaving power save mode (commits a269913c52, a5ffbe0a19, 41affd5286, b9116b9a2b, and 6539306b2c), the code began scheduling work from the callback routine of a different workqueue with a resulting increase in overhead. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 560e334dbd9907ecdd25318fbdb33179c5d5a3bd Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Mon Sep 22 09:39:17 2014 -0500 rtlwifi: btcoexist: Fix Smatch warning The capability for 802.11ac will soon be added to these drivers. Once that is done, a bitmask will be too large for the data storage. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8d9e464a27e4afca4782a632f4bb18ea5e1eec5d Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 24 11:48:16 2014 +0530 ath9k: Fix offchannel queuing Clearing IEEE80211_TX_CTL_PS_RESPONSE in a frame that is not in the current context doesn't seem right. Instead make sure that we don't add such frames to the UAPSD queue by using a local variable. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c13a6a0535ec0338e804958e5353c8ff772838d2 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 24 11:48:15 2014 +0530 ath9k: Use normal queues for offchannel frames There is no reason why frames marked with IEEE80211_TX_CTL_TX_OFFCHAN have to be sent using the UAPSD queue. Since mac80211 makes sure that RoC is done before pushing an offchannel frame to the driver, we can use the normal TX queues for transmission. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d7017461fa4ce9a59104866a6c382eeca439560a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 24 11:48:14 2014 +0530 ath9k: Fix queue management Since we use IEEE80211_HW_QUEUE_CONTROL now, the CAB/Offchannel queues are registered as the last two queues. There is no need to check and reassign the queues in the TX start()/done() routines. CAB frames will not reach the tx() callback since we set IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING and pull the buffered frames during beacon transmission. We also don't have a special HW queue for handling off-channel frames. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 01f7feeaf4528bec83798316b3c811701bac5d3e Author: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Date: Wed Sep 24 11:24:54 2014 +0200 rt2800: correct BBP1_TX_POWER_CTRL mask Two bits control TX power on BBP_R1 register. Correct the mask, otherwise we clear additional bit on BBP_R1 register, what can have unknown, possible negative effect. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b6b1b0ec05889951747b6f22dcb0220f3cc2e9e0 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Mon Sep 22 15:31:41 2014 +0300 wil6210: ethtool ops Provide ethtool support; with support for interrupt coalescing through get_coalesce/set_coalesce. Placeholders for begin/complete will be used by runtime PM to make sure target is powered up while performing ethtool operations Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1abf676974be2d1c4acd156adf00beb1d25e2fed Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Sep 21 20:45:13 2014 +0200 bcma: gpio: use ChipCommon GPIO IRQ on BCM47XX arch only GPIOs can be also used on bcm53xx, however this arch requires different implementation of IRQ support. It uses different IRQ number (117) and different masks & acking. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8084bb0369b9924ecc775ce1c7050bc75ca016f3 Author: andrea.merello <andrea.merello@xxxxxxxxx> Date: Sat Sep 20 19:45:24 2014 +0200 rtl818x_pci: add RSSI information for rtl8187SE This patch makes the driver to report signal strength information to mac80211 for rtl8187se boards. It differs from my previous RFT patch: http://marc.info/?l=linux-wireless&m=140155388332534&w=2 because: - I have now a working rtl8187se card, so I could serve my RFT by myself. :) - CCK measurement code has changed a bit, but it does basically the same things. - OFDM measurement method is changed because the older method reported incorrect measures, at least for signals stronger than -40dBm). CCK measurement seems quite good. OFDM seems less accurate, but this is the same as the "reference" staging driver dose. I wanted not to change things just to make measures of _one_ (my) card a bit more close to what _I_ (in my setup) expected.. IMHO results are still good enough to justify reporting signal in dBm rather than in "unspecified" units, so this is what this patch actually does. Results of my tests with a working rtl8187se card connected with coaxes and various RF attenuators to my AP are: Input (approx) | CCK meas | OFDM meas -------------------------------------- -30dBm | -32dBm | -31dBm -40dBm | -40dBm | -41dBm -50dBm | -50dBm | -55dBm -60dBm | -59dBm | -63dBm -70dBm | -69dBm | -73dBm -80dBm | -79dBm | -83dBm Also some real-field tests has been done (no coax, packets in the air) for the CCK measure method, and they resulted in reasonable values. Thanks-to: Bernhard Schiffner <bernhard@xxxxxxxxxxxxxxxxxxxx> [ for real-field tests] Signed-off-by: andrea.merello <andrea.merello@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2ce73c02743f0abf7dbf0cc05cf0f92cf7ed951d Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:00:42 2014 +0530 ath9k: Fix p2p address management When multiple channel contexts are enabled, a p2p interface that is assigned to a context will have an address that is different from the device mac address, which is used by wpa_s as the p2p device ID. Certain frames like provision requests use the device address and these get dropped since ath9k_calculate_summary_state() iterates over only the active interfaces in a context and the device address is not used. Fix this by adding the device mac address to the bssid mask. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fbf019909173c683d85f7f63b0a33746bf5e4a02 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Sep 17 23:50:55 2014 +0200 bcma: print chip ID in a more user-friendly form Some chip IDs are easier to read/understand when printed in a decimal form. For example on my bcm53xx arch router this patch replaces: Found chip with id 0xCF12, rev 0x00 and package 0x02 with a: Found chip with id 53010, rev 0x00 and package 0x02 Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8eda10eaa18709e951b5d5fbbf673543365a4455 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Wed Sep 17 23:01:26 2014 +0530 mwifiex: ensure user_scan_in not NULL while setting scan channel gap Check for scan channel gap only when user_scan_in is not NULL. user_scan_in is NULL for internal scans and if we check scan channel gap at this place, it may result into crash. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit cb35582ab4d742c1be48c4e51712a19fa202e978 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 17 14:45:56 2014 +0530 ath9k: Cache BSS information Using the BSS information stored in mac80211 directly is racy in certain conditions. For example, in a MCC setup, if the scheduler is switching channels when a local deauth is issued, calculation of the opmode/bssid etc. is incorrect. To avoid this, store the bss params in the driver and use it. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ff04a771ad25fc9ba91690e73465b4d34b6bf8b3 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 23 18:39:30 2014 -0700 net : optimize skb_release_data() Cache skb_shinfo(skb) in a variable to avoid computing it multiple times. Reorganize the tests to remove one indentation level. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cec08315190a4461a369d47041a510d104a5d2a2 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Sep 23 14:36:11 2014 -0700 sparc: bpf_jit: add support for BPF_LD(X) | BPF_LEN instructions BPF_LD | BPF_W | BPF_LEN instruction is occasionally used by tcpdump and present in 11 tests in lib/test_bpf.c Teach sparc JIT compiler to emit it. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a29b3dafbb2fc46421cc2950523814c7c6c8bfb Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Sep 23 15:19:41 2014 +0200 net: bcmgenet: Fix compile warning bcmgenet_wol_resume() is only used in bcmgenet_resume(), which is only defined when CONFIG_PM_SLEEP is enabled. This leads to the following compile warning when building with !CONFIG_PM_SLEEP: drivers/net/ethernet/broadcom/genet/bcmgenet.c:1967:12: warning: â??bcmgenet_wol_resumeâ?? defined but not used [-Wunused-function] Since bcmgenet_resume() is the only user of bcmgenet_wol_resume(), fix this by directly inlining the function there. Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8280bf00fdd87de876c4add5fa8ed05c18c78a2f Author: Wang Sheng-Hui <shhuiw@xxxxxxxxx> Date: Tue Sep 23 20:02:15 2014 +0800 net/openvswitch: remove dup comment in vport.h Remove the duplicated comment "/* The following definitions are for users of the vport subsytem: */" in vport.h Signed-off-by: Wang Sheng-Hui <shhuiw@xxxxxxxxx> Acked-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0162ac2b978e18792fa8cf3c0b4304321b4a3983 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 24 12:19:19 2014 +0200 nfsd: introduce nfsd4_callback_ops Add a higher level abstraction than the rpc_ops for callback operations. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit f0b5de1b6b8b66552bcc7ae692f45940d411cf05 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 24 12:19:18 2014 +0200 nfsd: split nfsd4_callback initialization and use Split out initializing the nfs4_callback structure from using it. For the NULL callback this gets rid of tons of pointless re-initializations. Note that I don't quite understand what protects us from running multiple NULL callbacks at the same time, but at least this chance doesn't make it worse.. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 326129d02aea8efa1dfd1a210653a744e7c85239 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 24 12:19:17 2014 +0200 nfsd: introduce a generic nfsd4_cb Add a helper to queue up a callback. CB_NULL has a bit of special casing because it is special in the specification, but all other new callback operations will be able to share code with this and a few more changes to refactor the callback code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 2faf3b43507556bd80e5274270db1fce1408f4ff Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 24 12:19:16 2014 +0200 nfsd: remove nfsd4_callback.cb_op We can always get at the private data by using container_of, no need for a void pointer. Also introduce a little to_delegation helper to avoid opencoding the container_of everywhere. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 341b51df1fef0a39d792fb1c7d7856cf142627ab Author: Benny Halevy <bhalevy@xxxxxxxxxxx> Date: Tue Sep 23 08:58:49 2014 +0200 nfsd: do not clear rpc_resp in nfsd4_cb_done_sequence This is incorrect when a callback is has to be restarted, in which case the XDR decoding of the second iteration will see a NULL cb argument. [hch: updated description] Signed-off-by: Benny Halevy <bhalevy@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 444b6e910d2a637cc144c74b15efd1b61bf737bb Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 23 08:58:48 2014 +0200 nfsd: fix nfsd4_cb_recall_done error handling For any error that is not EBADHANDLE or NFS4ERR_BAD_STATEID, nfsd4_cb_recall_done first marks the connection down, then retries until dl_retries hits zero, then marks the connection down again and sets cb_done. This changes the code to only retry for EBADHANDLE or NFS4ERR_BAD_STATEID, and factors setting cb_done into a single point in the function. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit b1840060508d2c5202abb07b6128e4645d78fe57 Merge: 58e3cac a211e01 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 16:23:12 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-09-23 This patch series adds support for the FM10000 Ethernet switch host interface. The Intel FM10000 Ethernet Switch is a 48-port Ethernet switch supporting both Ethernet ports and PCI Express host interfaces. The fm10k driver provides support for the host interface portion of the switch, both PF and VF. As the host interfaces are directly connected to the switch this results in some significant differences versus a standard network driver. For example there is no PHY or MII on the device. Since packets are delivered directly from the switch to the host interface these are unnecessary. Otherwise most of the functionality is very similar to our other network drivers such as ixgbe or igb. For example we support all the standard network offloads, jumbo frames, SR-IOV (64 VFS), PTP, and some VXLAN and NVGRE offloads. v2: converted dev_consume_skb_any() to dev_kfree_skb_any() fix up PTP code based on feedback from the community v3: converted the use of smb_mb__before_clear_bit() to smb_mb__before_atomic() added vmalloc header to patch 15 added prefetch header to patch 16 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58e3cac5613aa01720e55637d8f1c966a25c3202 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue Sep 23 10:54:37 2014 +0200 net: optimise inet_proto_csum_replace4() csum_partial() is a generic function which is not optimised for small fixed length calculations, and its use requires to store "from" and "to" values in memory while we already have them available in registers. This also has impact, especially on RISC processors. In the same spirit as the change done by Eric Dumazet on csum_replace2(), this patch rewrites inet_proto_csum_replace4() taking into account RFC1624. I spotted during a NATted tcp transfert that csum_partial() is one of top 5 consuming functions (around 8%), and the second user of csum_partial() is inet_proto_csum_replace4(). Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4565af0d406bed44bc8756230eae8f7caa5e0334 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Tue Sep 23 10:54:32 2014 +0200 net: optimise csum_replace4() csum_partial() is a generic function which is not optimised for small fixed length calculations, and its use requires to store "from" and "to" values in memory while we already have them available in registers. This also has impact, especially on RISC processors. In the same spirit as the change done by Eric Dumazet on csum_replace2(), this patch rewrites inet_proto_csum_replace4() taking into account RFC1624. I spotted during a NATted tcp transfert that csum_partial() is one of top 5 consuming functions (around 8%), and the second user of csum_partial() is inet_proto_csum_replace4(). I have proposed the same modification to inet_proto_csum_replace4() in another patch. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3290d6555350a035319643e7d7a6d14be08073e5 Merge: f4a775d e3c9614 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 16:05:25 2014 -0400 Merge branch 'fec' Fugang Duan says: ==================== net: fec: Code cleanup This patches does several things: - Fixing multiqueue issue. - Removing the unnecessary errata workaround. - Aligning the data buffer dma map/unmap size. - Freeing resource after probe failed. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3c9614f3a5869e93c78b1630ab72572aa4cd2a3 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Tue Sep 23 15:40:58 2014 +0800 net: fec: free resource after phy probe failed Free memory and disable all related clocks when there has no phy connection or phy probe failed. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b64bf4b7dded4febb8e1f319eb6b9d419cbbd856 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Tue Sep 23 15:40:57 2014 +0800 net: fec: align rx data buffer size for dma map/unmap Align allocated rx data buffer size for dma map/unmap, otherwise kernel print warning when enable DMA_API_DEBUG. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f88c7ede50f6266d82d504f2165bd7f0237b30d8 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Tue Sep 23 15:40:56 2014 +0800 net: fec: remove the ERR006358 workaround for imx6sx enet Remove the ERR006358 workaround for imx6sx enet since the hw issue was fixed on the SOC. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit befe82133588c3b3c44c5e803b4b434e8665a673 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Tue Sep 23 15:40:55 2014 +0800 net: fec: Add Ftype to BD to distiguish three tx queues for AVB The current driver loss Ftype field init for BD, which cause tx queue #1 and #2 cannot work well. Add Ftype field to BD to distiguish three queues for AVB: 0 -> Best Effort 1 -> ClassA 2 -> ClassB Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4a775d14489a801a5b8b0540e23ab82e2703091 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 22 16:29:32 2014 -0700 net: introduce __skb_header_release() While profiling TCP stack, I noticed one useless atomic operation in tcp_sendmsg(), caused by skb_header_release(). It turns out all current skb_header_release() users have a fresh skb, that no other user can see, so we can avoid one atomic operation. Introduce __skb_header_release() to clearly document this. This gave me a 1.5 % improvement on TCP_RR workload. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aebac744932439b5f869869f07f406a9cced465d Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 22 17:55:29 2014 -0300 fec: Remove fec_enet_select_queue() Sparse complains about fec_enet_select_queue() not being static. Feedback from David Miller [1] was to remove this function instead of making it static: "Please just delete this function. It's overriding code which does exactly the same thing. Actually, more precisely, this code is duplicating code in a way that bypasses many core facilitites of the networking. For example, this override means that socket based flow steering, XPS, etc. are all not happening on these devices. Without ->ndo_select_queue(), the flow dissector does __netdev_pick_tx which is exactly what you want to happen." [1] http://www.spinics.net/lists/netdev/msg297653.html Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57219dc7bfc5cae48c8309974054733499a0dc63 Merge: 6ea754e 7a0a260 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 15:19:05 2014 -0400 Merge tag 'master-2014-09-16' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== pull request: wireless-next 2014-09-22 Please pull this batch of updates intended for the 3.18 stream... For the mac80211 bits, Johannes says: "This time, I have some rate minstrel improvements, support for a very small feature from CCX that Steinar reverse-engineered, dynamic ACK timeout support, a number of changes for TDLS, early support for radio resource measurement and many fixes. Also, I'm changing a number of places to clear key memory when it's freed and Intel claims copyright for code they developed." For the bluetooth bits, Johan says: "Here are some more patches intended for 3.18. Most of them are cleanups or fixes for SMP. The only exception is a fix for BR/EDR L2CAP fixed channels which should now work better together with the L2CAP information request procedure." For the iwlwifi bits, Emmanuel says: "I fix here dvm which was broken by my last pull request. Arik continues to work on TDLS and Luca solved a few issues in CT-Kill. Eyal keeps digging into rate scaling code, more to come soon. Besides this, nothing really special here." Beyond that, there are the usual big batches of updates to ath9k, b43, mwifiex, and wil6210 as well as a handful of other bits here and there. Also, rtlwifi gets some btcoexist attention from Larry. Please let me know if there are problems! ==================== Had to adjust the wil6210 code to comply with Joe Perches's recent change in net-next to make the netdev_*() routines return void instead of 'int'. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6ea754eb761d9e7a8ac6fa462b05f9e4cf04fb6c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 11:10:50 2014 -0700 net: Change netdev_<level> logging functions to return void No caller or macro uses the return value so make all the functions return void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c87b29c3167a2cf9870e721b522651de2c72ce2 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 10:40:22 2014 -0700 mellanox: Change en_print to return void No caller or macro uses the return value so make it void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-By: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4fc1a460f3017e958e6a8ea560ea0afd91bf6fe Merge: 4a8e320 3c731eb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 15:05:40 2014 -0400 Merge branch 'bpf-next' Alexei Starovoitov says: ==================== eBPF syscall, verifier, testsuite v14 -> v15: - got rid of macros with hidden control flow (suggested by David) replaced macro with explicit goto or return and simplified where possible (affected patches #9 and #10) - rebased, retested v13 -> v14: - small change to 1st patch to ease 'new userspace with old kernel' problem (done similar to perf_copy_attr()) (suggested by Daniel) - the rest unchanged v12 -> v13: - replaced 'foo __user *' pointers with __aligned_u64 (suggested by David) - added __attribute__((aligned(8)) to 'union bpf_attr' to keep constant alignment between patches - updated manpage and syscall wrappers due to __aligned_u64 - rebased, retested on x64 with 32-bit and 64-bit userspace and on i386, build tested on arm32,sparc64 v11 -> v12: - dropped patch 11 and copied few macros to libbpf.h (suggested by Daniel) - replaced 'enum bpf_prog_type' with u32 to be safe in compat (.. Andy) - implemented and tested compat support (not part of this set) (.. Daniel) - changed 'void *log_buf' to 'char *' (.. Daniel) - combined struct bpf_work_struct and bpf_prog_info (.. Daniel) - added better return value explanation to manpage (.. Andy) - added log_buf/log_size explanation to manpage (.. Andy & Daniel) - added a lot more info about prog_type and map_type to manpage (.. Andy) - rebased, tweaked test_stubs Patches 1-4 establish BPF syscall shell for maps and programs. Patches 5-10 add verifier step by step Patch 11 adds test stubs for 'unspec' program type and verifier testsuite from user space Note that patches 1,3,4,7 add commands and attributes to the syscall while being backwards compatible from each other, which should demonstrate how other commands can be added in the future. After this set the programs can be loaded for testing only. They cannot be attached to any events. Though manpage talks about tracing and sockets, it will be a subject of future patches. Please take a look at manpage: BPF(2) Linux Programmer's Manual BPF(2) NAME bpf - perform a command on eBPF map or program SYNOPSIS #include <linux/bpf.h> int bpf(int cmd, union bpf_attr *attr, unsigned int size); DESCRIPTION bpf() syscall is a multiplexor for a range of different operations on eBPF which can be characterized as "universal in-kernel virtual machine". eBPF is similar to original Berkeley Packet Filter (or "classic BPF") used to filter network packets. Both statically analyze the programs before loading them into the kernel to ensure that programs cannot harm the running system. eBPF extends classic BPF in multiple ways including ability to call in- kernel helper functions and access shared data structures like eBPF maps. The programs can be written in a restricted C that is compiled into eBPF bytecode and executed on the eBPF virtual machine or JITed into native instruction set. eBPF Design/Architecture eBPF maps is a generic storage of different types. User process can create multiple maps (with key/value being opaque bytes of data) and access them via file descriptor. In parallel eBPF programs can access maps from inside the kernel. It's up to user process and eBPF program to decide what they store inside maps. eBPF programs are similar to kernel modules. They are loaded by the user process and automatically unloaded when process exits. Each eBPF program is a safe run-to-completion set of instructions. eBPF verifier statically determines that the program terminates and is safe to execute. During verification the program takes a hold of maps that it intends to use, so selected maps cannot be removed until the program is unloaded. The program can be attached to different events. These events can be packets, tracepoint events and other types in the future. A new event triggers execution of the program which may store information about the event in the maps. Beyond storing data the programs may call into in-kernel helper functions which may, for example, dump stack, do trace_printk or other forms of live kernel debugging. The same program can be attached to multiple events. Different programs can access the same map: tracepoint tracepoint tracepoint sk_buff sk_buff event A event B event C on eth0 on eth1 | | | | | | | | | | --> tracing <-- tracing socket socket prog_1 prog_2 prog_3 prog_4 | | | | |--- -----| |-------| map_3 map_1 map_2 Syscall Arguments bpf() syscall operation is determined by cmd which can be one of the following: BPF_MAP_CREATE Create a map with given type and attributes and return map FD BPF_MAP_LOOKUP_ELEM Lookup element by key in a given map and return its value BPF_MAP_UPDATE_ELEM Create or update element (key/value pair) in a given map BPF_MAP_DELETE_ELEM Lookup and delete element by key in a given map BPF_MAP_GET_NEXT_KEY Lookup element by key in a given map and return key of next element BPF_PROG_LOAD Verify and load eBPF program attr is a pointer to a union of type bpf_attr as defined below. size is the size of the union. union bpf_attr { struct { /* anonymous struct used by BPF_MAP_CREATE command */ __u32 map_type; __u32 key_size; /* size of key in bytes */ __u32 value_size; /* size of value in bytes */ __u32 max_entries; /* max number of entries in a map */ }; struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */ __u32 map_fd; __aligned_u64 key; union { __aligned_u64 value; __aligned_u64 next_key; }; }; struct { /* anonymous struct used by BPF_PROG_LOAD command */ __u32 prog_type; __u32 insn_cnt; __aligned_u64 insns; /* 'const struct bpf_insn *' */ __aligned_u64 license; /* 'const char *' */ __u32 log_level; /* verbosity level of eBPF verifier */ __u32 log_size; /* size of user buffer */ __aligned_u64 log_buf; /* user supplied 'char *' buffer */ }; } __attribute__((aligned(8))); eBPF maps maps is a generic storage of different types for sharing data between kernel and userspace. Any map type has the following attributes: . type . max number of elements . key size in bytes . value size in bytes The following wrapper functions demonstrate how this syscall can be used to access the maps. The functions use the cmd argument to invoke different operations. BPF_MAP_CREATE int bpf_create_map(enum bpf_map_type map_type, int key_size, int value_size, int max_entries) { union bpf_attr attr = { .map_type = map_type, .key_size = key_size, .value_size = value_size, .max_entries = max_entries }; return bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); } bpf() syscall creates a map of map_type type and given attributes key_size, value_size, max_entries. On success it returns process-local file descriptor. On error, -1 is returned and errno is set to EINVAL or EPERM or ENOMEM. The attributes key_size and value_size will be used by verifier during program loading to check that program is calling bpf_map_*_elem() helper functions with correctly initialized key and that program doesn't access map element value beyond specified value_size. For example, when map is created with key_size = 8 and program does: bpf_map_lookup_elem(map_fd, fp - 4) such program will be rejected, since in-kernel helper function bpf_map_lookup_elem(map_fd, void *key) expects to read 8 bytes from 'key' pointer, but 'fp - 4' starting address will cause out of bounds stack access. Similarly, when map is created with value_size = 1 and program does: value = bpf_map_lookup_elem(...); *(u32 *)value = 1; such program will be rejected, since it accesses value pointer beyond specified 1 byte value_size limit. Currently only hash table map_type is supported: enum bpf_map_type { BPF_MAP_TYPE_UNSPEC, BPF_MAP_TYPE_HASH, }; map_type selects one of the available map implementations in kernel. For all map_types eBPF programs access maps with the same bpf_map_lookup_elem()/bpf_map_update_elem() helper functions. BPF_MAP_LOOKUP_ELEM int bpf_lookup_elem(int fd, void *key, void *value) { union bpf_attr attr = { .map_fd = fd, .key = ptr_to_u64(key), .value = ptr_to_u64(value), }; return bpf(BPF_MAP_LOOKUP_ELEM, &attr, sizeof(attr)); } bpf() syscall looks up an element with given key in a map fd. If element is found it returns zero and stores element's value into value. If element is not found it returns -1 and sets errno to ENOENT. BPF_MAP_UPDATE_ELEM int bpf_update_elem(int fd, void *key, void *value) { union bpf_attr attr = { .map_fd = fd, .key = ptr_to_u64(key), .value = ptr_to_u64(value), }; return bpf(BPF_MAP_UPDATE_ELEM, &attr, sizeof(attr)); } The call creates or updates element with given key/value in a map fd. On success it returns zero. On error, -1 is returned and errno is set to EINVAL or EPERM or ENOMEM or E2BIG. E2BIG indicates that number of elements in the map reached max_entries limit specified at map creation time. BPF_MAP_DELETE_ELEM int bpf_delete_elem(int fd, void *key) { union bpf_attr attr = { .map_fd = fd, .key = ptr_to_u64(key), }; return bpf(BPF_MAP_DELETE_ELEM, &attr, sizeof(attr)); } The call deletes an element in a map fd with given key. Returns zero on success. If element is not found it returns -1 and sets errno to ENOENT. BPF_MAP_GET_NEXT_KEY int bpf_get_next_key(int fd, void *key, void *next_key) { union bpf_attr attr = { .map_fd = fd, .key = ptr_to_u64(key), .next_key = ptr_to_u64(next_key), }; return bpf(BPF_MAP_GET_NEXT_KEY, &attr, sizeof(attr)); } The call looks up an element by key in a given map fd and returns key of the next element into next_key pointer. If key is not found, it return zero and returns key of the first element into next_key. If key is the last element, it returns -1 and sets errno to ENOENT. Other possible errno values are ENOMEM, EFAULT, EPERM, EINVAL. This method can be used to iterate over all elements of the map. close(map_fd) will delete the map map_fd. Exiting process will delete all maps automatically. eBPF programs BPF_PROG_LOAD This cmd is used to load eBPF program into the kernel. char bpf_log_buf[LOG_BUF_SIZE]; int bpf_prog_load(enum bpf_prog_type prog_type, const struct bpf_insn *insns, int insn_cnt, const char *license) { union bpf_attr attr = { .prog_type = prog_type, .insns = ptr_to_u64(insns), .insn_cnt = insn_cnt, .license = ptr_to_u64(license), .log_buf = ptr_to_u64(bpf_log_buf), .log_size = LOG_BUF_SIZE, .log_level = 1, }; return bpf(BPF_PROG_LOAD, &attr, sizeof(attr)); } prog_type is one of the available program types: enum bpf_prog_type { BPF_PROG_TYPE_UNSPEC, BPF_PROG_TYPE_SOCKET, BPF_PROG_TYPE_TRACING, }; By picking prog_type program author selects a set of helper functions callable from eBPF program and corresponding format of struct bpf_context (which is the data blob passed into the program as the first argument). For example, the programs loaded with prog_type = TYPE_TRACING may call bpf_printk() helper, whereas TYPE_SOCKET programs may not. The set of functions available to the programs under given type may increase in the future. Currently the set of functions for TYPE_TRACING is: bpf_map_lookup_elem(map_fd, void *key) // lookup key in a map_fd bpf_map_update_elem(map_fd, void *key, void *value) // update key/value bpf_map_delete_elem(map_fd, void *key) // delete key in a map_fd bpf_ktime_get_ns(void) // returns current ktime bpf_printk(char *fmt, int fmt_size, ...) // prints into trace buffer bpf_memcmp(void *ptr1, void *ptr2, int size) // non-faulting memcmp bpf_fetch_ptr(void *ptr) // non-faulting load pointer from any address bpf_fetch_u8(void *ptr) // non-faulting 1 byte load bpf_fetch_u16(void *ptr) // other non-faulting loads bpf_fetch_u32(void *ptr) bpf_fetch_u64(void *ptr) and bpf_context is defined as: struct bpf_context { /* argN fields match one to one to arguments passed to trace events */ u64 arg1, arg2, arg3, arg4, arg5, arg6; /* return value from kretprobe event or from syscall_exit event */ u64 ret; }; The set of helper functions for TYPE_SOCKET is TBD. More program types may be added in the future. Like BPF_PROG_TYPE_USER_TRACING for unprivileged programs. BPF_PROG_TYPE_UNSPEC is used for testing only. Such programs cannot be attached to events. insns array of "struct bpf_insn" instructions insn_cnt number of instructions in the program license license string, which must be GPL compatible to call helper functions marked gpl_only log_buf user supplied buffer that in-kernel verifier is using to store verification log. Log is a multi-line string that should be used by program author to understand how verifier came to conclusion that program is unsafe. The format of the output can change at any time as verifier evolves. log_size size of user buffer. If size of the buffer is not large enough to store all verifier messages, -1 is returned and errno is set to ENOSPC. log_level verbosity level of eBPF verifier, where zero means no logs provided close(prog_fd) will unload eBPF program The maps are accesible from programs and generally tie the two together. Programs process various events (like tracepoint, kprobe, packets) and store the data into maps. User space fetches data from maps. Either the same or a different map may be used by user space as configuration space to alter program behavior on the fly. Events Once an eBPF program is loaded, it can be attached to an event. Various kernel subsystems have different ways to do so. For example: setsockopt(sock, SOL_SOCKET, SO_ATTACH_BPF, &prog_fd, sizeof(prog_fd)); will attach the program prog_fd to socket sock which was received by prior call to socket(). ioctl(event_fd, PERF_EVENT_IOC_SET_BPF, prog_fd); will attach the program prog_fd to perf event event_fd which was received by prior call to perf_event_open(). Another way to attach the program to a tracing event is: event_fd = open("/sys/kernel/debug/tracing/events/skb/kfree_skb/filter"); write(event_fd, "bpf-123"); /* where 123 is eBPF program FD */ /* here program is attached and will be triggered by events */ close(event_fd); /* to detach from event */ EXAMPLES /* eBPF+sockets example: * 1. create map with maximum of 2 elements * 2. set map[6] = 0 and map[17] = 0 * 3. load eBPF program that counts number of TCP and UDP packets received * via map[skb->ip->proto]++ * 4. attach prog_fd to raw socket via setsockopt() * 5. print number of received TCP/UDP packets every second */ int main(int ac, char **av) { int sock, map_fd, prog_fd, key; long long value = 0, tcp_cnt, udp_cnt; map_fd = bpf_create_map(BPF_MAP_TYPE_HASH, sizeof(key), sizeof(value), 2); if (map_fd < 0) { printf("failed to create map '%s'\n", strerror(errno)); /* likely not run as root */ return 1; } key = 6; /* ip->proto == tcp */ assert(bpf_update_elem(map_fd, &key, &value) == 0); key = 17; /* ip->proto == udp */ assert(bpf_update_elem(map_fd, &key, &value) == 0); struct bpf_insn prog[] = { BPF_MOV64_REG(BPF_REG_6, BPF_REG_1), /* r6 = r1 */ BPF_LD_ABS(BPF_B, 14 + 9), /* r0 = ip->proto */ BPF_STX_MEM(BPF_W, BPF_REG_10, BPF_REG_0, -4),/* *(u32 *)(fp - 4) = r0 */ BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), /* r2 = fp */ BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -4), /* r2 = r2 - 4 */ BPF_LD_MAP_FD(BPF_REG_1, map_fd), /* r1 = map_fd */ BPF_CALL_FUNC(BPF_FUNC_map_lookup_elem), /* r0 = map_lookup(r1, r2) */ BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 2), /* if (r0 == 0) goto pc+2 */ BPF_MOV64_IMM(BPF_REG_1, 1), /* r1 = 1 */ BPF_XADD(BPF_DW, BPF_REG_0, BPF_REG_1, 0, 0), /* lock *(u64 *)r0 += r1 */ BPF_MOV64_IMM(BPF_REG_0, 0), /* r0 = 0 */ BPF_EXIT_INSN(), /* return r0 */ }; prog_fd = bpf_prog_load(BPF_PROG_TYPE_SOCKET, prog, sizeof(prog), "GPL"); assert(prog_fd >= 0); sock = open_raw_sock("lo"); assert(setsockopt(sock, SOL_SOCKET, SO_ATTACH_BPF, &prog_fd, sizeof(prog_fd)) == 0); for (;;) { key = 6; assert(bpf_lookup_elem(map_fd, &key, &tcp_cnt) == 0); key = 17; assert(bpf_lookup_elem(map_fd, &key, &udp_cnt) == 0); printf("TCP %lld UDP %lld packets0, tcp_cnt, udp_cnt); sleep(1); } return 0; } RETURN VALUE For a successful call, the return value depends on the operation: BPF_MAP_CREATE The new file descriptor associated with eBPF map. BPF_PROG_LOAD The new file descriptor associated with eBPF program. All other commands Zero. On error, -1 is returned, and errno is set appropriately. ERRORS EPERM bpf() syscall was made without sufficient privilege (without the CAP_SYS_ADMIN capability). ENOMEM Cannot allocate sufficient memory. EBADF fd is not an open file descriptor EFAULT One of the pointers ( key or value or log_buf or insns ) is outside accessible address space. EINVAL The value specified in cmd is not recognized by this kernel. EINVAL For BPF_MAP_CREATE, either map_type or attributes are invalid. EINVAL For BPF_MAP_*_ELEM commands, some of the fields of "union bpf_attr" unused by this command are not set to zero. EINVAL For BPF_PROG_LOAD, attempt to load invalid program (unrecognized instruction or uses reserved fields or jumps out of range or loop detected or calls unknown function). EACCES For BPF_PROG_LOAD, though program has valid instructions, it was rejected, since it was deemed unsafe (may access disallowed memory region or uninitialized stack/register or function constraints don't match actual types or misaligned access). In such case it is recommended to call bpf() again with log_level = 1 and examine log_buf for specific reason provided by verifier. ENOENT For BPF_MAP_LOOKUP_ELEM or BPF_MAP_DELETE_ELEM, indicates that element with given key was not found. E2BIG program is too large or a map reached max_entries limit (max number of elements). NOTES These commands may be used only by a privileged process (one having the CAP_SYS_ADMIN capability). SEE ALSO eBPF architecture and instruction set is explained in Documentation/networking/filter.txt Linux 2014-09-16 BPF(2) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3c731eba48e1b0650decfc91a839b80f0e05ce8f Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:07 2014 -0700 bpf: mini eBPF library, test stubs and verifier testsuite 1. the library includes a trivial set of BPF syscall wrappers: int bpf_create_map(int key_size, int value_size, int max_entries); int bpf_update_elem(int fd, void *key, void *value); int bpf_lookup_elem(int fd, void *key, void *value); int bpf_delete_elem(int fd, void *key); int bpf_get_next_key(int fd, void *key, void *next_key); int bpf_prog_load(enum bpf_prog_type prog_type, const struct sock_filter_int *insns, int insn_len, const char *license); bpf_prog_load() stores verifier log into global bpf_log_buf[] array and BPF_*() macros to build instructions 2. test stubs configure eBPF infra with 'unspec' map and program types. These are fake types used by user space testsuite only. 3. verifier tests valid and invalid programs and expects predefined error log messages from kernel. 40 tests so far. $ sudo ./test_verifier #0 add+sub+mul OK #1 unreachable OK #2 unreachable2 OK #3 out of range jump OK #4 out of range jump2 OK #5 test1 ld_imm64 OK ... Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17a5267067f3c372fec9ffb798d6eaba6b5e6a4c Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:06 2014 -0700 bpf: verifier (add verifier core) This patch adds verifier core which simulates execution of every insn and records the state of registers and program stack. Every branch instruction seen during simulation is pushed into state stack. When verifier reaches BPF_EXIT, it pops the state from the stack and continues until it reaches BPF_EXIT again. For program: 1: bpf_mov r1, xxx 2: if (r1 == 0) goto 5 3: bpf_mov r0, 1 4: goto 6 5: bpf_mov r0, 2 6: bpf_exit The verifier will walk insns: 1, 2, 3, 4, 6 then it will pop the state recorded at insn#2 and will continue: 5, 6 This way it walks all possible paths through the program and checks all possible values of registers. While doing so, it checks for: - invalid instructions - uninitialized register access - uninitialized stack access - misaligned stack access - out of range stack access - invalid calling convention - instruction encoding is not using reserved fields Kernel subsystem configures the verifier with two callbacks: - bool (*is_valid_access)(int off, int size, enum bpf_access_type type); that provides information to the verifer which fields of 'ctx' are accessible (remember 'ctx' is the first argument to eBPF program) - const struct bpf_func_proto *(*get_func_proto)(enum bpf_func_id func_id); returns argument constraints of kernel helper functions that eBPF program may call, so that verifier can checks that R1-R5 types match the prototype More details in Documentation/networking/filter.txt and in kernel/bpf/verifier.c Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 475fb78fbf48592ce541627c60a7b331060e31f5 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:05 2014 -0700 bpf: verifier (add branch/goto checks) check that control flow graph of eBPF program is a directed acyclic graph check_cfg() does: - detect loops - detect unreachable instructions - check that program terminates with BPF_EXIT insn - check that all branches are within program boundary Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0246e64d9a5fcd4805198de59b9b5cf1f974eb41 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:04 2014 -0700 bpf: handle pseudo BPF_LD_IMM64 insn eBPF programs passed from userspace are using pseudo BPF_LD_IMM64 instructions to refer to process-local map_fd. Scan the program for such instructions and if FDs are valid, convert them to 'struct bpf_map' pointers which will be used by verifier to check access to maps in bpf_map_lookup/update() calls. If program passes verifier, convert pseudo BPF_LD_IMM64 into generic by dropping BPF_PSEUDO_MAP_FD flag. Note that eBPF interpreter is generic and knows nothing about pseudo insns. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbd357008604925355ae7b54a09137dabb81b580 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:03 2014 -0700 bpf: verifier (add ability to receive verification log) add optional attributes for BPF_PROG_LOAD syscall: union bpf_attr { struct { ... __u32 log_level; /* verbosity level of eBPF verifier */ __u32 log_size; /* size of user buffer */ __aligned_u64 log_buf; /* user supplied 'char *buffer' */ }; }; when log_level > 0 the verifier will return its verification log in the user supplied buffer 'log_buf' which can be used by program author to analyze why verifier rejected given program. 'Understanding eBPF verifier messages' section of Documentation/networking/filter.txt provides several examples of these messages, like the program: BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), BPF_LD_MAP_FD(BPF_REG_1, 0), BPF_CALL_FUNC(BPF_FUNC_map_lookup_elem), BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 1), BPF_ST_MEM(BPF_DW, BPF_REG_0, 4, 0), BPF_EXIT_INSN(), will be rejected with the following multi-line message in log_buf: 0: (7a) *(u64 *)(r10 -8) = 0 1: (bf) r2 = r10 2: (07) r2 += -8 3: (b7) r1 = 0 4: (85) call 1 5: (15) if r0 == 0x0 goto pc+1 R0=map_ptr R10=fp 6: (7a) *(u64 *)(r0 +4) = 0 misaligned access off 4 size 8 The format of the output can change at any time as verifier evolves. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51580e798cb61b0fc63fa3aa6c5c975375aa0550 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:02 2014 -0700 bpf: verifier (add docs) this patch adds all of eBPF verfier documentation and empty bpf_check() The end goal for the verifier is to statically check safety of the program. Verifier will catch: - loops - out of range jumps - unreachable instructions - invalid instructions - uninitialized register access - uninitialized stack access - misaligned stack access - out of range stack access - invalid calling convention More details in Documentation/networking/filter.txt Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0a542a86d73b1577e7d4f55fc95dcffd3fe62643 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:01 2014 -0700 bpf: handle pseudo BPF_CALL insn in native eBPF programs userspace is using pseudo BPF_CALL instructions which encode one of 'enum bpf_func_id' inside insn->imm field. Verifier checks that program using correct function arguments to given func_id. If all checks passed, kernel needs to fixup BPF_CALL->imm fields by replacing func_id with in-kernel function pointer. eBPF interpreter just calls the function. In-kernel eBPF users continue to use generic BPF_CALL. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09756af46893c18839062976c3252e93a1beeba7 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:17:00 2014 -0700 bpf: expand BPF syscall with program load/unload eBPF programs are similar to kernel modules. They are loaded by the user process and automatically unloaded when process exits. Each eBPF program is a safe run-to-completion set of instructions. eBPF verifier statically determines that the program terminates and is safe to execute. The following syscall wrapper can be used to load the program: int bpf_prog_load(enum bpf_prog_type prog_type, const struct bpf_insn *insns, int insn_cnt, const char *license) { union bpf_attr attr = { .prog_type = prog_type, .insns = ptr_to_u64(insns), .insn_cnt = insn_cnt, .license = ptr_to_u64(license), }; return bpf(BPF_PROG_LOAD, &attr, sizeof(attr)); } where 'insns' is an array of eBPF instructions and 'license' is a string that must be GPL compatible to call helper functions marked gpl_only Upon succesful load the syscall returns prog_fd. Use close(prog_fd) to unload the program. User space tests and examples follow in the later patches Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit db20fd2b01087bdfbe30bce314a198eefedcc42e Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:16:59 2014 -0700 bpf: add lookup/update/delete/iterate methods to BPF maps 'maps' is a generic storage of different types for sharing data between kernel and userspace. The maps are accessed from user space via BPF syscall, which has commands: - create a map with given type and attributes fd = bpf(BPF_MAP_CREATE, union bpf_attr *attr, u32 size) returns fd or negative error - lookup key in a given map referenced by fd err = bpf(BPF_MAP_LOOKUP_ELEM, union bpf_attr *attr, u32 size) using attr->map_fd, attr->key, attr->value returns zero and stores found elem into value or negative error - create or update key/value pair in a given map err = bpf(BPF_MAP_UPDATE_ELEM, union bpf_attr *attr, u32 size) using attr->map_fd, attr->key, attr->value returns zero or negative error - find and delete element by key in a given map err = bpf(BPF_MAP_DELETE_ELEM, union bpf_attr *attr, u32 size) using attr->map_fd, attr->key - iterate map elements (based on input key return next_key) err = bpf(BPF_MAP_GET_NEXT_KEY, union bpf_attr *attr, u32 size) using attr->map_fd, attr->key, attr->next_key - close(fd) deletes the map Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 749730ce42a2121e1c88350d69478bff3994b10a Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:16:58 2014 -0700 bpf: enable bpf syscall on x64 and i386 done as separate commit to ease conflict resolution Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 99c55f7d47c0dc6fc64729f37bf435abf43f4c60 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 26 00:16:57 2014 -0700 bpf: introduce BPF syscall and maps BPF syscall is a multiplexor for a range of different operations on eBPF. This patch introduces syscall with single command to create a map. Next patch adds commands to access maps. 'maps' is a generic storage of different types for sharing data between kernel and userspace. Userspace example: /* this syscall wrapper creates a map with given type and attributes * and returns map_fd on success. * use close(map_fd) to delete the map */ int bpf_create_map(enum bpf_map_type map_type, int key_size, int value_size, int max_entries) { union bpf_attr attr = { .map_type = map_type, .key_size = key_size, .value_size = value_size, .max_entries = max_entries }; return bpf(BPF_MAP_CREATE, &attr, sizeof(attr)); } 'union bpf_attr' is backwards compatible with future extensions. More details in Documentation/networking/filter.txt and in manpage Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29075feaf1f55e6b1aa4054b44bc141e8d5eab0b Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 09:05:39 2014 -0700 next: openrisc: Fix build openrisc:defconfig fails to build in next-20140926 with the following error. In file included from arch/openrisc/kernel/signal.c:31:0: ./arch/openrisc/include/asm/syscall.h: In function 'syscall_get_arch': ./arch/openrisc/include/asm/syscall.h:77:9: error: 'EM_OPENRISC' undeclared Fix by moving EM_OPENRISC to include/uapi/linux/elf-em.h. Fixes: ce5d112827e5 ("ARCH: AUDIT: implement syscall_get_arch for all arches") Cc: Eric Paris <eparis@xxxxxxxxxx> Cc: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 18a702e0de9879d5c0225a09f494443f0b91a0cc Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Thu Sep 25 17:03:51 2014 +0530 power: reset: use restart_notifier mechanism for msm-poweroff This change replaces use of arm_pm_restart with recently introduced reset mechanism in Linux kernel called restart_notifier. Choosing priority 128, which is default priority, as according to documentation, this mechanism is sufficient to restart the entire system. Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Cc: Sebastian Reichel <sre@xxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 371bb20d6927f204ef5a7887ecddb06b2501c0d9 Author: David Riley <davidriley@xxxxxxxxxxxx> Date: Wed Aug 27 12:23:51 2014 -0700 power: Add simple gpio-restart driver This driver registers a restart handler to set a GPIO line high/low to reset a board based on devicetree bindings. Signed-off-by: David Riley <davidriley@xxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 093ec3c5337434f40d77c1af06c139da3e5ba6dc Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Wed Sep 10 10:53:41 2014 +0200 ath5k: Remove AHB bus support AHB bus support was added in v2.6.38, through commit a0b907ee2a71 ("ath5k: Add AHB bus support."). That code can only be build if the Kconfig symbol ATHEROS_AR231X is set. But that symbol has never been added to the tree. So AHB bus support has always been dead code. Let's remove all code that depends on ATHEROS_AR231X. If that symbol ever gets added to the tree the AHB bus support can be re-added too. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1670d8569eeb5c5c15776d37b00a2afb5255bf28 Merge: b08fec2 6cd6d94 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Fri Sep 26 19:45:11 2014 +0200 Merge tag 'tags/restart-handler-for-v3.18' into next Immutable branch with restart handler patches for v3.18 commit 30d3c071a64ad8a0aaef8fbd9513698889456680 Merge: 330bd4e 565766b Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Fri Sep 26 13:38:51 2014 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 330bd4ec9d046a6e6f8b7cf4a53c2d15b7705e00 Merge: 687b930 094e935 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Fri Sep 26 13:37:02 2014 -0400 Merge tag 'nfc-next-3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-next Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> says: "NFC: 3.18 pull request This is the NFC pull request for 3.18. We've had major updates for TI and ST Microelectronics drivers: For TI's trf7970a driver: - Target mode support for trf7970a - Suspend/resume support for trf7970a - DT properties additions to handle different quirks - A bunch of fixes for smartphone IOP related issues For ST Microelectronics' ST21NFCA and ST21NFCB drivers: - ISO15693 support for st21nfcb - checkpatch and sparse related warning fixes - Code cleanups and a few minor fixes Finally, Marvell add ISO15693 support to the NCI stack, together with a couple of NCI fixes." Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 687b93082c0469fe9fe85583e6265a3d910cd89a Merge: d3d3e00 b25f32c Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Fri Sep 26 13:35:46 2014 -0400 Merge branch 'for-linville' of git://github.com/kvalo/ath commit d3d3e0017fcc2c3c8e5f6a229f4b65f8bcc15bae Merge: 7a0a260 48849a4 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Fri Sep 26 13:33:58 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit 34666d467cbf1e2e3c7bb15a63eccfb582cdd71f Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 18 11:29:03 2014 +0200 netfilter: bridge: move br_netfilter out of the core Jesper reported that br_netfilter always registers the hooks since this is part of the bridge core. This harms performance for people that don't need this. This patch modularizes br_netfilter so it can be rmmod'ed, thus, the hooks can be unregistered. I think the bridge netfilter should have been a separated module since the beginning, Patrick agreed on that. Note that this is breaking compatibility for users that expect that bridge netfilter is going to be available after explicitly 'modprobe bridge' or via automatic load through brctl. However, the damage can be easily undone by modprobing br_netfilter. The bridge core also spots a message to provide a clue to people that didn't notice that this has been deprecated. On top of that, the plan is that nftables will not rely on this software layer, but integrate the connection tracking into the bridge layer to enable stateful filtering and NAT, which is was bridge netfilter users seem to require. This patch still keeps the fake_dst_ops in the bridge core, since this is required by when the bridge port is initialized. So we can safely modprobe/rmmod br_netfilter anytime. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Acked-by: Florian Westphal <fw@xxxxxxxxx> commit 7276ca3fa23864133f5ee7431c51546d9b7f695f Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Sep 22 13:28:16 2014 +0200 netfilter: bridge: nf_bridge_copy_header as static inline in header Move nf_bridge_copy_header() as static inline in netfilter_bridge.h header file. This patch prepares the modularization of the br_netfilter code. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 772476df7047db87ac4174d1ed396512912d23bf Author: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Date: Fri Sep 19 11:27:51 2014 +0100 net/netfilter/x_tables.c: use __seq_open_private() Reduce boilerplate code by using __seq_open_private() instead of seq_open() in xt_match_open() and xt_target_open(). Signed-off-by: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d22e9131187df5c220d435b02e7bf346202c00a8 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 16 08:35:44 2014 +0800 of: add vendor prefix for Chipidea Adds chipidea to the list of DT vendor prefixes. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit d8498205fac05f2dcf1e72ff1b1e941574a87e49 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Jul 7 14:04:32 2014 +0200 of: Add vendor prefix for Innolux Corporation According to Wikipedia, Innolux started out in 2003 as InnoLux Display Corporation and merged with Chi Mei Optoelectronics in 2006. It went by the name of Chimei Innolux Corporation for a while and changed its name back to Innolux Corporation in late 2012. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit fbc0806c7a05fc4a086dd2157f1f9a89743a2158 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 09:47:54 2014 +0200 of: Add vendor prefix for Sitronix The stock ticker for Sitronix is just a number. "sitronix,st1232" is already in use for the Sitronix st1232 touchscreen controller on Atmark Techno Armadillo 800 EVA. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 3d2bff03cb331f0dec50f9ec885ebe05dfd7fad4 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Sun Aug 10 01:15:09 2014 -0700 devicetree: bindings: Document Gateworks vendor prefix Add Gateworks Corporation to the list of device tree vendor prefixes. Gateworks designs and manufactures single board computers designed for embedded wireless and wired network applications. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit f7fd78662181029dcc212ca17a7f94518afe2e4d Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Jul 23 22:22:49 2014 +0200 of: Add vendor prefix for Energy Micro The kernel supports devices with the following compatible strings already: energymicro,efm32-i2c energymicro,efm32-uart energymicro,efm32-spi energymicro,efm32-timer So add "energymicro" to the list of vendors. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 0244f8f87ec7e327f7a6e45caaa966820eb3fbeb Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Sun Jun 22 15:40:00 2014 -0400 dt/documentation: add specification of dma bus information Recently we introduced the generic device tree infrastructure for couple of DMA bus parameter, dma-ranges and dma-coherent. Update the documentation so that its useful for future users. The "dma-ranges" property is intended to be used for describing the configuration of DMA bus RAM addresses and its offset w.r.t CPU addresses. The "dma-coherent" property is intended to be used for identifying devices supported coherent DMA operations. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> commit 9137568e73c1d132bc786676d9c4e00b91a1c627 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Sep 10 21:30:00 2014 +0200 tty: serial: 8250_core: remove UART_IER_RDI in serial8250_stop_rx() serial8250_do_startup() adds UART_IER_RDI and UART_IER_RLSI to ier. serial8250_stop_rx() should remove both. This is what the serial-omap driver has been doing and is now moved to the 8250-core since it does no look to be *that* omap specific. Reviewed-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59b3e898ddfc81a65975043b5eb44103cc29ff6e Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Sep 10 21:29:59 2014 +0200 tty: serial: 8250_core: use the ->line argument as a hint in serial8250_find_match_or_unused() Tony noticed that the old omap-serial driver picked the uart "number" based on the hint given from device tree or platform device's id. The 8250 based omap driver doesn't do this because the core code does not honour the ->line argument which is passed by the driver. This patch aims to keep the same behaviour as with omap-serial. The function will first try to use the line suggested ->line argument and then fallback to the old strategy in case the port is taken. That means the the third uart will always be ttyS2 even if the previous two have not been enabled in DT. Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0aa525d11859c1a4d5b78fdc704148e2ae03ae13 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Sep 10 21:29:58 2014 +0200 tty: serial: 8250_core: read only RX if there is something in the FIFO The serial8250_do_startup() function unconditionally clears the interrupts and for that it reads from the RX-FIFO without checking if there is a byte in the FIFO or not. This works fine on OMAP4+ HW like AM335x or DRA7. OMAP3630 ES1.1 (which means probably all OMAP3 and earlier) does not like this: |Unhandled fault: external abort on non-linefetch (0x1028) at 0xfb020000 |Internal error: : 1028 [#1] ARM |Modules linked in: |CPU: 0 PID: 1 Comm: swapper Not tainted 3.16.0-00022-g7edcb57-dirty #1213 |task: de0572c0 ti: de058000 task.ti: de058000 |PC is at mem32_serial_in+0xc/0x1c |LR is at serial8250_do_startup+0x220/0x85c |Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel |Control: 10c5387d Table: 80004019 DAC: 00000015 |[<c03051d4>] (mem32_serial_in) from [<c0307fe8>] (serial8250_do_startup+0x220/0x85c) |[<c0307fe8>] (serial8250_do_startup) from [<c0309e00>] (omap_8250_startup+0x5c/0xe0) |[<c0309e00>] (omap_8250_startup) from [<c030863c>] (serial8250_startup+0x18/0x2c) |[<c030863c>] (serial8250_startup) from [<c030394c>] (uart_startup+0x78/0x1d8) |[<c030394c>] (uart_startup) from [<c0304678>] (uart_open+0xe8/0x114) |[<c0304678>] (uart_open) from [<c02e9e10>] (tty_open+0x1a8/0x5a4) Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d74d5d1b7288ff9d4439c8c7e0e314cde9743467 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Sep 10 21:29:57 2014 +0200 tty: serial: 8250_core: add run time pm While comparing the OMAP-serial and the 8250 part of this I noticed that the latter does not use run time-pm. Here are the pieces. It is basically a get before first register access and a last_busy + put after last access. This has to be enabled from userland _and_ UART_CAP_RPM is required for this. The runtime PM can usually work transparently in the background however there is one exception to this: After serial8250_tx_chars() completes there still may be unsent bytes in the FIFO (depending on CPU speed vs baud rate + flow control). Even if the TTY-buffer is empty we do not want RPM to disable the device because it won't send the remaining bytes. Instead we leave serial8250_tx_chars() with RPM enabled and wait for the FIFO empty interrupt. Once we enter serial8250_tx_chars() with an empty buffer we know that the FIFO is empty and since we are not going to send anything, we can disable the device. That xchg() is to ensure that serial8250_tx_chars() can be called multiple times and only the first invocation will actually invoke the runtime PM function. So that the last invocation of __stop_tx() will disable runtime pm. NOTE: do not enable RPM on the device unless you know what you do! If the device goes idle, it won't be woken up by incomming RX data _unless_ there is a wakeup irq configured which is usually the RX pin configure for wakeup via the reset module. The RX activity will then wake up the device from idle. However the first character is garbage and lost. The following bytes will be received once the device is up in time. On the beagle board xm (omap3) it takes approx 13ms from the first wakeup byte until the first byte that is received properly if the device was in core-off. v5â?¦v8: - drop RPM from serial8250_set_mctrl() it will be used in restore path which already has RPM active and holds dev->power.lock v4â?¦v5: - add a wrapper around rpm function and introduce UART_CAP_RPM to ensure RPM put is invoked after the TX FIFO is empty. v3â?¦v4: - added runtime to the console code - removed device_may_wakeup() from serial8250_set_sleep() Cc: mika.westerberg@xxxxxxxxxxxxxxx Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 234abab143aef82c0ef1f2de409c0db96b666f3c Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Wed Sep 10 21:29:56 2014 +0200 tty: serial: 8250_core: allow to set ->throttle / ->unthrottle callbacks The OMAP UART provides support for HW assisted flow control. What is missing is the support to throttle / unthrottle callbacks which are used by the omap-serial driver at the moment. This patch adds the callbacks. It should be safe to add them since they are only invoked from the serial_core (uart_throttle()) if the feature flags are set. Reviewed-by: Tony Lindgren <tony@xxxxxxxxxxx> Tested-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49757c9cc7887bc79f742eb8aacf16e464ca5f0b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Sep 23 13:56:56 2014 +0200 perf tools: Fix line number in the config file error message If we fail to parse the config file within the callback function, the line number counter 'could be' already on the next line. This results in wrong line number report like: $ cat ~/.perfconfig [call-graph] sort-key = krava $ perf record ls Fatal: bad config file line 3 in /home/jolsa/.perfconfig Fixing this by saving the current line number for this case. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140923115656.GC2979@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5a2e5e85989025a3bb23ea5571fdac0cc5787807 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 23 10:01:44 2014 +0900 perf tools: Convert {record,top}.call-graph option to call-graph.record-mode So that it'll be passed to perf_callchain_config(). Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411434104-5307-6-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2b9240cafe9780f77b257321b13c4c4d2c2d0dc8 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 23 10:01:43 2014 +0900 perf tools: Introduce perf_callchain_config() This patch adds support for following config options to ~/.perfconfig file. [call-graph] record-mode = dwarf dump-size = 8192 print-type = fractal order = callee threshold = 0.5 print-limit = 128 sort-key = function Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411434104-5307-5-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f7f084f4d3c29b0f9877a32fc6e2feacd47695b9 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 23 10:01:42 2014 +0900 perf callchain: Move some parser functions to callchain.c And rename record_callchain_parse() to parse_callchain_record_opt() in accordance to parse_callchain_report_opt(). Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411434104-5307-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 72a128aa083a7f4cc4f800718aaae05d9c698e26 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 23 10:01:41 2014 +0900 perf tools: Move callchain config from record_opts to callchain_param So that all callchain config parameters can be read/written to a single place. It's a preparation to consolidate handling of all callchain options. Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411434104-5307-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 72f72ed21e56c386dd92118e5da3ce06752b1614 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Sep 23 10:01:40 2014 +0900 perf hists browser: Fix callchain print bug on TUI Currently perf report -g graph option doesn't work as expected and always work as same as -g fractal. This was a bug during recent callchain print code cleanup. Before: $ perf report -g graph Children Self Command Shared Object Symbol ================================================================ - 56.19% 35.41% sleep [kernel.kallsyms] [k] page_fault - page_fault + 63.02% _dl_relocate_object + 36.98% clear_user After: Children Self Command Shared Object Symbol ================================================================ - 56.19% 35.41% sleep [kernel.kallsyms] [k] page_fault - page_fault + 35.41% _dl_relocate_object + 20.78% clear_user Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Milian Wolff <mail@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411434104-5307-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b08fec2262c8dbb349fe9456586cf0724407e5ee Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 22 15:52:29 2014 +0100 power: reset: st: Provide DT bindings for ST's Power Reset driver Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1da34daf24823f19cfd56c97973334cd95635926 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Sep 23 10:55:08 2014 -0400 perf tools: Use ACCESS_ONCE() instead of volatile cast Use ACCESS_ONCE() instead of the cast to volatile and read. This is just a style change which is reader friendly. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411484109-10442-1-git-send-email-bobby.prani@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f0745f3696e88b4055c6229e1306a78fbe503066 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Tue Jul 22 15:52:28 2014 +0100 power: reset: Add restart functionality for STiH41x platforms This driver adds the restart functionality for STiH415 and STiH416 platforms from STMicroelectronics. This driver registers an arm_pm_restart function to reset the platform. Signed-off-by: Christophe Kerello <christophe.kerello@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 52e0283497ccb1e675d56c9499cc2cc5ec271094 Author: Taeung Song <treeze.taeung@xxxxxxxxx> Date: Wed Sep 24 10:33:37 2014 +0900 perf tools: Modify error code for when perf_session__new() fails Because perf_session__new() can fail for more reasons than just ENOMEM, modify error code(ENOMEM or EINVAL) to -1. Signed-off-by: Taeung Song <treeze.taeung@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1411522417-9917-1-git-send-email-treeze.taeung@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 661a88860274e059fdb744dfaa98c045db7b5d1d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 26 13:27:03 2014 +0200 power: charger-manager: Fix NULL pointer exception with missing cm-fuel-gauge NULL pointer exception happens during charger-manager probe if 'cm-fuel-gauge' property is not present. [ 2.448536] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 2.456572] pgd = c0004000 [ 2.459217] [00000000] *pgd=00000000 [ 2.462759] Internal error: Oops: 5 [#1] PREEMPT SMP ARM [ 2.468047] Modules linked in: [ 2.471089] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc6-00251-ge44cf96cd525-dirty #969 [ 2.479765] task: ea890000 ti: ea87a000 task.ti: ea87a000 [ 2.485161] PC is at strcmp+0x4/0x30 [ 2.488719] LR is at power_supply_match_device_by_name+0x10/0x1c [ 2.494695] pc : [<c01f4220>] lr : [<c030fe38>] psr: a0000113 [ 2.494695] sp : ea87bde0 ip : 00000000 fp : eaa97010 [ 2.506150] r10: 00000004 r9 : ea97269c r8 : ea3bbfd0 [ 2.511360] r7 : eaa97000 r6 : c030fe28 r5 : 00000000 r4 : ea3b0000 [ 2.517869] r3 : 0000006d r2 : 00000000 r1 : 00000000 r0 : c057c195 [ 2.524381] Flags: NzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel [ 2.531671] Control: 10c5387d Table: 4000404a DAC: 00000015 [ 2.537399] Process swapper/0 (pid: 1, stack limit = 0xea87a240) [ 2.543388] Stack: (0xea87bde0 to 0xea87c000) [ 2.547733] bde0: ea3b0210 c026b1c8 eaa97010 eaa97000 eaa97010 eabb60a8 ea3b0210 00000000 [ 2.555891] be00: 00000008 ea2db210 ea1a3410 c030fee0 ea3bbf90 c03138fc c068969c c013526c [ 2.564050] be20: eaa040c0 00000000 c068969c 00000000 eaa040c0 ea2da300 00000002 00000000 [ 2.572208] be40: 00000001 ea2da3c0 00000000 00000001 00000000 eaa97010 c068969c 00000000 [ 2.580367] be60: 00000000 c068969c 00000000 00000002 00000000 c026b71c c026b6f0 eaa97010 [ 2.588527] be80: c0e82530 c026a330 00000000 eaa97010 c068969c eaa97044 00000000 c061df50 [ 2.596686] bea0: ea87a000 c026a4dc 00000000 c068969c c026a448 c0268b5c ea8054a8 eaa8fd50 [ 2.604845] bec0: c068969c ea2db180 c06801f8 c0269b18 c0590f68 c068969c c0656c98 c068969c [ 2.613004] bee0: c0656c98 ea3bbe40 c06988c0 c026aaf0 00000000 c0656c98 c0656c98 c00088a4 [ 2.621163] bf00: 00000000 c0055f48 00000000 00000004 00000000 ea890000 c05dbc54 c062c178 [ 2.629323] bf20: c0603518 c005f674 00000001 ea87a000 eb7ff83b c0476440 00000091 c003d41c [ 2.637482] bf40: c05db344 00000007 eb7ff858 00000007 c065a76c c0647d24 00000007 c062c170 [ 2.645642] bf60: c06988c0 00000091 c062c178 c0603518 00000000 c0603cc4 00000007 00000007 [ 2.653801] bf80: c0603518 c0c0c0c0 00000000 c0453948 00000000 00000000 00000000 00000000 [ 2.661959] bfa0: 00000000 c0453950 00000000 c000e728 00000000 00000000 00000000 00000000 [ 2.670118] bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 2.678277] bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 c0c0c0c0 c0c0c0c0 [ 2.686454] [<c01f4220>] (strcmp) from [<c030fe38>] (power_supply_match_device_by_name+0x10/0x1c) [ 2.695303] [<c030fe38>] (power_supply_match_device_by_name) from [<c026b1c8>] (class_find_device+0x54/0xac) [ 2.705106] [<c026b1c8>] (class_find_device) from [<c030fee0>] (power_supply_get_by_name+0x1c/0x30) [ 2.714137] [<c030fee0>] (power_supply_get_by_name) from [<c03138fc>] (charger_manager_probe+0x3d8/0xe58) [ 2.723683] [<c03138fc>] (charger_manager_probe) from [<c026b71c>] (platform_drv_probe+0x2c/0x5c) [ 2.732532] [<c026b71c>] (platform_drv_probe) from [<c026a330>] (driver_probe_device+0x10c/0x224) [ 2.741384] [<c026a330>] (driver_probe_device) from [<c026a4dc>] (__driver_attach+0x94/0x98) [ 2.749813] [<c026a4dc>] (__driver_attach) from [<c0268b5c>] (bus_for_each_dev+0x54/0x88) [ 2.757969] [<c0268b5c>] (bus_for_each_dev) from [<c0269b18>] (bus_add_driver+0xd4/0x1d0) [ 2.766123] [<c0269b18>] (bus_add_driver) from [<c026aaf0>] (driver_register+0x78/0xf4) [ 2.774110] [<c026aaf0>] (driver_register) from [<c00088a4>] (do_one_initcall+0x80/0x1bc) [ 2.782276] [<c00088a4>] (do_one_initcall) from [<c0603cc4>] (kernel_init_freeable+0x100/0x1cc) [ 2.790952] [<c0603cc4>] (kernel_init_freeable) from [<c0453950>] (kernel_init+0x8/0xec) [ 2.799029] [<c0453950>] (kernel_init) from [<c000e728>] (ret_from_fork+0x14/0x2c) [ 2.806572] Code: e12fff1e e1a03000 eafffff7 e4d03001 (e4d12001) [ 2.812832] ---[ end trace 7f12556111b9e7ef ]--- Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Fixes: 856ee6115e2d ("charger-manager: Support deivce tree in charger manager driver") Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a5c2a4c9561cbbd374231bd341936dae716df9dd Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Sep 24 14:39:54 2014 -0700 perf tools: Fix perf record as non root with kptr_restrict == 1 Currently perf record always errors out when you run it as non-root with kptr_restrict == 1, which is often the default. Make it only warn instead and fix the kernel resolve code to not segfault later. Profiling works still fine, except kernel symbols are not resolved. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411594794-7229-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e16343c47e4276f5ebc77ca16feb5e50ca1918f9 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 24 08:51:57 2014 +0100 ARM: 8160/1: drop warning about return_address not using unwind tables The warning was introduced in 2009 (commit 4bf1fa5a34aa ([ARM] 5613/1: implement CALLER_ADDRESSx)). The only "problem" here is that CALLER_ADDRESSx for x > 1 returns NULL which doesn't do much harm. The drawback of implementing a fix (i.e. use unwind tables to implement CALLER_ADDRESSx) is that much of the unwinder code would need to be marked as not traceable. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c3c963e1fb1c43641831595f53aa23f34dcaed3a Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 24 09:01:19 2014 +0100 ARM: 8161/1: footbridge: select machine dir based on ARCH_FOOTBRIDGE Syntactically FOOTBRIDGE and ARCH_FOOTBRIDGE are identical (the former is defined in an if ARCH_FOOTBRIDGE block and the latter selects the former). Sematically FOOTBRIDGE means "we have a DC21285 (aka footbridge) device in the system" and ARCH_FOOTBRIDGE is the support for boards with a footbridge device, so ARCH_FOOTBRIDGE is the better symbol here. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit aeea3592a13bf12861943e44fc48f1f270941f8d Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 01:06:46 2014 +0100 ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h With compilers which follow the C99 standard (like modern versions of gcc and clang), "extern inline" does the wrong thing (emits code for an externally linkable version of the inline function). In this case using static inline and removing the NULL version of return_address in return_address.c does the right thing. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 389522b0c0530658eb9f9a53410ec2494616d785 Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Mon Sep 22 22:12:35 2014 +0100 ARM: 8155/1: place sigpage at a random offset above stack The sigpage is currently placed alongside shared libraries etc in the address space. Similar to what x86_64 does for its VDSO, place the sigpage at a randomized offset above the stack so that learning the base address of the sigpage doesn't help expose where shared libraries are loaded in the address space (and vice versa). Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 02e0409a65560da66a747d2ac6023715b04659ea Author: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Date: Mon Sep 22 22:08:42 2014 +0100 ARM: 8154/1: use _install_special_mapping for sigpage _install_special_mapping allows the VMA to be identifed in /proc/pid/maps without the use of arch_vma_name, providing a slight net reduction in object size: text data bss dec hex filename 2996 96 144 3236 ca4 arch/arm/kernel/process.o (before) 2956 104 144 3204 c84 arch/arm/kernel/process.o (after) Signed-off-by: Nathan Lynch <nathan_lynch@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 75c349062a666deab57bdca8b5bd0779c9fb0d58 Author: Vincent Sanders <vincent.sanders@xxxxxxxxxxxxxxx> Date: Thu Sep 18 20:39:15 2014 +0100 ARM: 8153/1: Enable gcov support on the ARM architecture Enable gcov support for ARM based on original patches by David Singleton and George G. Davis Riku - updated to patch to current mainline kernel. The patch has been submitted in 2010, 2012 - for symmetry, now in 2014 too. https://lwn.net/Articles/390419/ http://marc.info/?l=linux-arm-kernel&m=133823081813044 v2: remove arch/arm/kernel from gcov disabled files Cc: Andrey Ryabinin <a.ryabinin@xxxxxxxxxxx> Cc: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Riku Voipio <riku.voipio@xxxxxxxxxx> Signed-off-by: Vincent Sanders <vincent.sanders@xxxxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 195b58add463f697fb802ed55e26759094d40a54 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:08:14 2014 +0100 ARM: Avoid writing to control register on every exception If we are not changing the control register value, avoid writing to it. Writes to the control register can be very expensive, taking around a hundred cycles or so. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8b521cb2947d8811b4cf7fc6a7a6ebde35218243 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 16 20:41:43 2014 +0100 ARM: 8152/1: Convert pr_warning to pr_warn Use the more common pr_warn. Other miscellanea: o Coalesce formats o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit da88c7f78d842a6938d9adde6af87a2ce262051d Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Wed Sep 24 13:50:46 2014 -0700 perf stat: Fix --per-core on multi socket systems On systems with more than one socket perf stat --per-core would either segfault or stop before outputting all cores. The problem was that the output code referenced the id including the socket number in the higher bits, which is far beyond any per cpu array. Mask out the socket number before referencing cpus in abs_printout. I also renamed the variable in nsec_printout to be clear what it is, even though it doesn't reference cpus. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Acked-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1411591846-32736-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0496daa5cf99741ce8db82686b4c7446a37feabb Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Fri Sep 26 12:29:34 2014 +0200 arm/arm64: KVM: Report correct FSC for unsupported fault types When we catch something that's not a permission fault or a translation fault, we log the unsupported FSC in the kernel log, but we were masking off the bottom bits of the FSC which was not very helpful. Also correctly report the FSC for data and instruction faults rather than telling people it was a DFCS, which doesn't exist in the ARM ARM. Reviewed-by: Peter Maydell <peter.maydell@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit dbff124e29fa24aff9705b354b5f4648cd96e0bb Author: Joel Schopp <joel.schopp@xxxxxxx> Date: Wed Jul 9 11:17:04 2014 -0500 arm/arm64: KVM: Fix VTTBR_BADDR_MASK and pgd alloc The current aarch64 calculation for VTTBR_BADDR_MASK masks only 39 bits and not all the bits in the PA range. This is clearly a bug that manifests itself on systems that allocate memory in the higher address space range. [ Modified from Joel's original patch to be based on PHYS_MASK_SHIFT instead of a hard-coded value and to move the alignment check of the allocation to mmu.c. Also added a comment explaining why we hardcode the IPA range and changed the stage-2 pgd allocation to be based on the 40 bit IPA range instead of the maximum possible 48 bit PA range. - Christoffer ] Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Joel Schopp <joel.schopp@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 3f97d5fcf99cb87f590ffe1d9422b2a26a8ef3ed Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Sep 26 14:19:52 2014 +0200 gpio: handle also nested irqchips in the chained handler set-up To unify how we connect cascaded IRQ chips to parent IRQs, if NULL us passed as handler to the gpiochip_set_chained_irqchip() function, assume the chips is nested rather than chained, and we still get the parent set up correctly by way of this function call. Alter the drivers for tc3589x and stmpe to use this to set up their chained handlers as a demonstration of the usage. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 83141a771975f4e54402ab05e5cbbc3c56f45bdd Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Sep 26 13:50:12 2014 +0200 gpio: set parent irq on chained handlers If the IRQ from the parent is nested the IRQ may need to be resent under certain conditions. Currently the chained IRQ handler in gpiolib does not handle connecting nested IRQs but it is conceptually correct to indicate the actual parent IRQ. Reported-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Reported-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3a75d1ad9a14dfbc8ea02824457729b79444e74f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 14:15:54 2014 +0200 Revert "Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt" Apparently most of the newly added nodes had the same problem, so instead of reverting the individual patches, this undoes the effect of the merge and backs out all of them at once. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 932058a5d5f9fd919b90aaa2275d54b37340d585 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 07:34:45 2014 +0200 coccinelle: misc: semantic patch to delete overly complex return code processing This semantic patch simplifies cases where the effect of the processing of a function call's return code is just to return the result of the function directly. It may also delete a local return flag variable, if this is no longer used. This was proposed by Uwe Kleine-König. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 6b74db0650b0aaca8550d283eca7dcc1dc2ba80f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 13:42:11 2014 +0200 ARM: configs: fix duplicate entry in multi_v7 Two of the recent patches each added support for CPU_FREQ, which causes a kconfig warning: arch/arm/configs/multi_v7_defconfig:443:warning: override: reassigning to symbol CPU_FREQ This removes one of the two in order to avoid the warning. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e54951c8585e8e950ac04b15728910cc5a64e612 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Sep 26 11:45:55 2014 +0200 MAINTAINERS: Add maintainers entry for Mediatek SoCs I plan to stay with the Mediatek SoCs for the next future and hope to expand its support along the way with the help of a whole bunch of people. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e138e3ae873159e27f7df02bc1c83f62f94c6fa6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 12:27:00 2014 +0200 ARM: at91: fix nommu build regression The newly introduced support for SAMA5D4 added access to the 'AT91_ALT_BASE_SYS' register area, but failed to define the symbols in the case when CONFIG_MMU is disabled. We really should not hardwire addresses like this any more, but as a small fixup, this patch just adds the missing definitions for the nommu case, which gets at91x40_defconfig and any configuration of sam9 and sama5 with MMU disabled back to work. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Fixes: 726d32bf79ef4 ("ARM: at91: SAMA5D4 SoC detection code and low ...") commit 849271a4e4b723c521df0f55d67614d8ffd5e125 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Sep 22 10:45:35 2014 +0200 UBI: wl: Rename cancel flag to shutdown It confused me more than once that the cancel flag of the work function does not indicate the cancellation of a single work. In fact it indicates the WL sub-system shutdown and therefore worker functions have to free their wl_entries too. That's why you cannot cancel a single work, you can only shutdown all works. Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 170505f58f01d89dea2667d484cb5da18fb9ffd9 Author: Richard Weinberger <richard@xxxxxx> Date: Mon Sep 22 10:45:34 2014 +0200 UBI: ubi_eba_read_leb: Remove in vain variable assignment There is no need to set err, it will be overwritten in any case later at: if (scrub) err = ubi_wl_scrub_peb(ubi, pnum); Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 4b1a43eab1ab0b1d05bc0c2aa823262da2445a7f Author: hujianyang <hujianyang@xxxxxxxxxx> Date: Sat Sep 20 14:55:11 2014 +0800 UBIFS: Align the dump messages of SB_NODE I found the dump messages of UBIFS_SB_NODE is not aligned. This patch remove the extra space from the line which is retracted. Signed-off-by: hujianyang <hujianyang@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 242a112af62ea73ce507cbe76c2c944c23b6a1e3 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Sep 26 09:23:20 2014 +0200 s390/setup: correct 4-level kernel page table detection Fix calculation to decide if a 4-level kernel page table is required. Git commit c972cc60c23f5a63 "s390/vmalloc: have separate modules area" added the separate module area which reduces the size of the vmalloc area but fails to take it into account for the 3 vs 4 level page table decision. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 48e9a6c1f54695609b709bf674aac133794ada00 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Sep 24 16:37:20 2014 +0200 s390/topology: call set_sched_topology early The call to topology_init is too late for the set_sched_topology call. The initial scheduling domain structure has already been established with default topology array. Use the smp_cpus_done() call to get the s390 specific topology array registered early enough. Cc: stable@xxxxxxxxxxxxxxx # v3.16+ Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 214635f94dc3e4069b05817e5d55b58784ba8971 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Sep 26 06:53:15 2014 -0300 Revert "[media] media: em28xx - remove reset_resume interface" The reset_resume call is needed, otherwise it will break resume on some conditions, depending on the usb ehci/xhci controller. This reverts commit b89193e0b06f44f48e3bf897a5b5cb4a7aff3359. Reported-by: Johannes Stezenbach <js@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7d4020c3c400260ea0601a74eace1cb071f01dd3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 22:08:41 2014 -0300 [media] exynos4-is: fix some warnings when compiling on arm64 Got those warnings when compiling with gcc 4.9.1 for arm64: drivers/media/platform/exynos4-is/fimc-isp-video.c: In function â??isp_video_capture_buffer_queueâ??: drivers/media/platform/exynos4-is/fimc-isp-video.c:221:4: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 7 has type â??dma_addr_tâ?? [-Wformat=] isp_dbg(2, &video->ve.vdev, ^ drivers/media/platform/exynos4-is/fimc-is.c: In function â??fimc_is_load_firmwareâ??: drivers/media/platform/exynos4-is/fimc-is.c:391:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 3 has type â??size_tâ?? [-Wformat=] dev_err(dev, "wrong firmware size: %d\n", fw->size); ^ In file included from include/linux/printk.h:260:0, from include/linux/kernel.h:13, from include/linux/kernfs.h:10, from include/linux/sysfs.h:15, from include/linux/kobject.h:21, from include/linux/device.h:17, from drivers/media/platform/exynos4-is/fimc-is.c:15: include/linux/dynamic_debug.h:64:16: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:84:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/device.h:1106:2: note: in expansion of macro â??dynamic_dev_dbgâ?? dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \ ^ drivers/media/platform/exynos4-is/fimc-is.c:419:2: note: in expansion of macro â??dev_dbgâ?? dev_dbg(dev, "FW size: %d, paddr: %#x\n", fw->size, is->memory.paddr); ^ include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:84:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/device.h:1106:2: note: in expansion of macro â??dynamic_dev_dbgâ?? dynamic_dev_dbg(dev, format, ##__VA_ARGS__); \ ^ drivers/media/platform/exynos4-is/fimc-is.c:419:2: note: in expansion of macro â??dev_dbgâ?? dev_dbg(dev, "FW size: %d, paddr: %#x\n", fw->size, is->memory.paddr); ^ drivers/media/platform/exynos4-is/fimc-is.c: In function â??fimc_is_hw_initializeâ??: include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media/platform/exynos4-is/fimc-is.c:696:2: note: in expansion of macro â??pr_debugâ?? pr_debug("shared region: %#x, parameter region: %#x\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 6 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media/platform/exynos4-is/fimc-is.c:696:2: note: in expansion of macro â??pr_debugâ?? pr_debug("shared region: %#x, parameter region: %#x\n", ^ Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7983b773bad92fcc790152fe6db616644db1dfda Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 20:36:07 2014 -0300 [media] usb drivers: use %zu instead of %zd size_t is unsigned. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 339f06c5d354c4c89814f11d0c3393f198b3dd00 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 20:35:48 2014 -0300 [media] pci drivers: use %zu instead of %zd size_t is unsigned. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 35f30f36a7e66caa0973a4db620b4245df2cf428 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 20:35:12 2014 -0300 [media] dvb-frontends: use %zu instead of %zd size_t is unsigned. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 03ce781626138e9cc972fa4fef0034a067726fb6 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 19:07:36 2014 -0300 [media] s5p-mfc: Fix several printk warnings drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:192:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??dma_addr_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:196:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??dma_addr_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:196:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??dma_addr_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1757:3: warning: format â??%zxâ?? expects argument of type â??size_tâ??, but argument 6 has type â??dma_addr_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1879:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:1206:32: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f1a0c1858c63888511811a5b5661bd4d08941028 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 18:50:33 2014 -0300 [media] s5p_mfc_opr: Fix warnings CC drivers/media//platform/s5p-mfc/s5p_mfc_opr.o drivers/media//platform/s5p-mfc/s5p_mfc_opr.c: In function â??s5p_mfc_alloc_priv_bufâ??: drivers/media//platform/s5p-mfc/s5p_mfc_opr.c:44:2: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] mfc_debug(3, "Allocating priv: %d\n", b->size); ^ drivers/media//platform/s5p-mfc/s5p_mfc_opr.c:53:2: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??dma_addr_tâ?? [-Wformat=] mfc_debug(3, "Allocated addr %p %08x\n", b->virt, b->dma); ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5b31d9e036c1e18141b0458e89ce78e966a0d590 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 19:22:20 2014 -0300 [media] ti-vpe: Fix typecast Addresses have the same size of unsigned long, and not u32. That removes a warning on 64 bits compilation: drivers/media//platform/ti-vpe/vpdma.c:332:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] WARN_ON(((u32) buf->addr & VPDMA_DESC_ALIGN) != 0); ^ include/asm-generic/bug.h:86:25: note: in definition of macro â??WARN_ONâ?? int __ret_warn_on = !!(condition); \ ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c0a566f3d51beb226f2cd79f7e9439ff3bed44b3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 19:15:06 2014 -0300 [media] s3c-camif: fix dma_addr_t printks drivers/media//platform/s3c-camif/camif-capture.c: In function â??camif_prepare_addrâ??: include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-capture.c:283:2: note: in expansion of macro â??pr_debugâ?? pr_debug("DMA address: y: %#x cb: %#x cr: %#x\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 6 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-capture.c:283:2: note: in expansion of macro â??pr_debugâ?? pr_debug("DMA address: y: %#x cb: %#x cr: %#x\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 7 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-capture.c:283:2: note: in expansion of macro â??pr_debugâ?? pr_debug("DMA address: y: %#x cb: %#x cr: %#x\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%Xâ?? expects argument of type â??unsigned intâ??, but argument 6 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-regs.c:217:2: note: in expansion of macro â??pr_debugâ?? pr_debug("dst_buf[%d]: %#X, cb: %#X, cr: %#X\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%Xâ?? expects argument of type â??unsigned intâ??, but argument 7 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-regs.c:217:2: note: in expansion of macro â??pr_debugâ?? pr_debug("dst_buf[%d]: %#X, cb: %#X, cr: %#X\n", ^ include/linux/dynamic_debug.h:64:16: warning: format â??%Xâ?? expects argument of type â??unsigned intâ??, but argument 8 has type â??dma_addr_tâ?? [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro â??DEFINE_DYNAMIC_DEBUG_METADATAâ?? DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:266:2: note: in expansion of macro â??dynamic_pr_debugâ?? dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ drivers/media//platform/s3c-camif/camif-regs.c:217:2: note: in expansion of macro â??pr_debugâ?? pr_debug("dst_buf[%d]: %#X, cb: %#X, cr: %#X\n", ^ Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4966bac19c870526f56ca0755539e86acd92fa72 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 18:43:59 2014 -0300 [media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits There are several errors related to size_t size and the usage of unsigned int for pointers: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_alloc_codec_buffers_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:103:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "recon luma size: %d chroma size: %d\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:103:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_set_dec_frame_buffer_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:472:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "Luma %d: %x\n", i, ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:476:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "\tChroma %d: %x\n", i, ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:490:4: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "\tBuf1: %x, size: %d\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:498:2: warning: format â??%uâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "Buf1: %u, buf_size1: %d (frames %d)\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_set_enc_ref_buffer_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:596:2: warning: format â??%uâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] mfc_debug(2, "Buf1: %u, buf_size1: %d (ref frames %d)\n", ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_write_info_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:1883:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] writel(data, (volatile void __iomem *)ofs); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_read_info_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:1893:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] ret = readl((volatile void __iomem *)ofs); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_get_pic_type_top_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2022:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_ret_picture_tag_top); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_get_pic_type_bot_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2028:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_ret_picture_tag_bot); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_get_crop_info_h_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2034:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_display_crop_info1); ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c: In function â??s5p_mfc_get_crop_info_v_v6â??: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2040:3: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] (__force unsigned int) ctx->dev->mfc_regs->d_display_crop_info2); Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e13f7d5aec0694bf2cb6f53a732f6a444933fdf4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 18:32:54 2014 -0300 [media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64 When compiled on x86_64, several warnings popup: drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:476:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:480:3: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:485:4: warning: format â??%xâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:493:2: warning: format â??%uâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:570:2: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:570:2: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:609:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:609:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:640:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:640:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:666:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 4 has type â??size_tâ?? [-Wformat=] drivers/media//platform/s5p-mfc/s5p_mfc_opr_v5.c:666:3: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??size_tâ?? [-Wformat=] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0db3241458685b22b6cd4db363722e6932244601 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 18:23:23 2014 -0300 [media] em28xx: Fix identation drivers/media/usb/em28xx/em28xx-audio.c:270 snd_em28xx_capture_open() warn: if statement not indented Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b39ba19cf3d0f8a7c86bfcf0b0964b0d4c1fae33 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 16:29:45 2014 -0300 [media] drxd: remove a dead code drivers/media/dvb-frontends/drxd_hard.c:2839 drxd_init() info: ignoring unreachable code. Firmware request/release is not at drxd_init. So, we can remove that dead code. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ae64b5ab4a181b483ff819174cfc74d02a54286a Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 16:24:50 2014 -0300 [media] saa7146: remove return after BUG() As reported by smatch: drivers/media/common/saa7146/saa7146_fops.c:314 fops_mmap() info: ignoring unreachable code. drivers/media/common/saa7146/saa7146_fops.c:402 fops_read() info: ignoring unreachable code. drivers/media/common/saa7146/saa7146_fops.c:426 fops_write() info: ignoring unreachable code. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 84babee8fea9fc4fae2b5414ce71db1902eb7b7b Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 16:23:30 2014 -0300 [media] cx88: remove return after BUG() As reported by smatch: drivers/media/pci/cx88/cx88-video.c:699 get_queue() info: ignoring unreachable code. drivers/media/pci/cx88/cx88-video.c:714 get_resource() info: ignoring unreachable code. drivers/media/pci/cx88/cx88-video.c:815 video_read() info: ignoring unreachable code. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e2392d347e1dbb4987beaaee0f87653480fcddc8 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:49:50 2014 -0300 [media] cx88: fix cards table CodingStyle This is actually a coding style issue, but it was generating lots of smatch warnings: drivers/media/pci/cx88/cx88-cards.c:1513:37: warning: Initializer entry defined twice drivers/media/pci/cx88/cx88-cards.c:1517:19: also defined here drivers/media/pci/cx88/cx88-cards.c:1533:36: warning: Initializer entry defined twice drivers/media/pci/cx88/cx88-cards.c:1538:19: also defined here ... Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 25fb62b61bc5485a95988d3ecfd672b48f4bf6e2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:44:08 2014 -0300 [media] radio-sf16fmr2: declare some structs as static drivers/media/radio/radio-sf16fmr2.c:308:19: warning: symbol 'fmr2_isa_driver' was not declared. Should it be static? drivers/media/radio/radio-sf16fmr2.c:316:19: warning: symbol 'fmr2_pnp_driver' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 24c8f11f8bce5a959d04f887179b0f1ec43e1c33 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:42:11 2014 -0300 [media] radio-sf16fmi: declare pnp_attached as static drivers/media/radio/radio-sf16fmi.c:59:6: warning: symbol 'pnp_attached' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 64e01cbd9d3e22e38eadeff9e0d251d0d7d1c9d2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:35:55 2014 -0300 [media] pms: Fix a bad usage of the stack As warned by smatch: drivers/media/parport/pms.c:632:21: warning: Variable length array is used. The pms driver is doing something really bad: it is using the stack to read data into a buffer whose size is given by the user by the read() syscall. Replace it by a dynamically allocated buffer. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5a9ff85dc176e80c6fb7067dcb807c5e3ff7a913 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 14:06:25 2014 -0300 [media] saa7164-core: declare symbols as static Those symbols are used only at saa7164-core. drivers/media/pci/saa7164/saa7164-core.c:55:14: warning: symbol 'fw_debug' was not declared. Should it be static? drivers/media/pci/saa7164/saa7164-core.c:75:14: warning: symbol 'print_histogram' was not declared. Should it be static? drivers/media/pci/saa7164/saa7164-core.c:83:14: warning: symbol 'guard_checking' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 87f4ebcd0693f6de14f60cf7bf9821a005b5850f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 11:17:06 2014 -0300 [media] sta2x11_vip: fix address space casting drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:1140:30: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:1140:30: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:1140:30: got void volatile [noderef] <asn:2>*iomem drivers/media/pci/sta2x11/sta2x11_vip.c:1184:30: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:1184:30: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:1184:30: got void volatile [noderef] <asn:2>*iomem drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: warning: incorrect type in argument 1 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:226:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: warning: incorrect type in argument 2 (different modifiers) drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: expected void [noderef] <asn:2>*<noident> drivers/media/pci/sta2x11/sta2x11_vip.c:221:38: got void volatile [noderef] <asn:2>* Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8f8218e89d5500f5d53556a3e0739d1ffc591aa1 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 11:11:44 2014 -0300 [media] st_rc: fix address space casting drivers/media/rc/st_rc.c:107:38: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:107:38: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:107:38: got void * drivers/media/rc/st_rc.c:110:53: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:110:53: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:110:53: got void * drivers/media/rc/st_rc.c:116:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:116:54: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:116:54: got void * drivers/media/rc/st_rc.c:120:45: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:120:45: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:120:45: got void * drivers/media/rc/st_rc.c:121:43: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:121:43: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:121:43: got void * drivers/media/rc/st_rc.c:150:46: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/st_rc.c:150:46: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:150:46: got void * drivers/media/rc/st_rc.c:153:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:153:42: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:153:42: got void * drivers/media/rc/st_rc.c:174:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:174:32: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:174:32: got void * drivers/media/rc/st_rc.c:177:48: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:177:48: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:177:48: got void * drivers/media/rc/st_rc.c:187:48: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:187:48: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:187:48: got void * drivers/media/rc/st_rc.c:204:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:204:42: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:204:42: got void * drivers/media/rc/st_rc.c:205:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:205:35: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:205:35: got void * drivers/media/rc/st_rc.c:215:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:215:35: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:215:35: got void * drivers/media/rc/st_rc.c:216:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:216:35: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:216:35: got void * drivers/media/rc/st_rc.c:269:22: warning: incorrect type in assignment (different address spaces) drivers/media/rc/st_rc.c:269:22: expected void *base drivers/media/rc/st_rc.c:269:22: got void [noderef] <asn:2>* drivers/media/rc/st_rc.c:349:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:349:46: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:349:46: got void * drivers/media/rc/st_rc.c:350:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:350:46: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:350:46: got void * drivers/media/rc/st_rc.c:371:61: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:371:61: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:371:61: got void * drivers/media/rc/st_rc.c:372:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/st_rc.c:372:54: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/st_rc.c:372:54: got void * Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7f01308e543f33a977750bf464ae6bf3f9733cf0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 11:07:31 2014 -0300 [media] ir-hix5hd2: fix address space casting drivers/media/rc/ir-hix5hd2.c:99:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:99:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:99:41: got void * drivers/media/rc/ir-hix5hd2.c:100:16: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:100:16: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:100:16: got void * drivers/media/rc/ir-hix5hd2.c:117:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:117:40: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:117:40: got void * drivers/media/rc/ir-hix5hd2.c:119:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:119:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:119:41: got void * drivers/media/rc/ir-hix5hd2.c:121:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:121:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:121:41: got void * drivers/media/rc/ir-hix5hd2.c:147:18: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:147:18: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:147:18: got void * drivers/media/rc/ir-hix5hd2.c:155:28: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:155:28: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:155:28: got void * drivers/media/rc/ir-hix5hd2.c:157:25: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:157:25: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:157:25: got void * drivers/media/rc/ir-hix5hd2.c:159:61: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:159:61: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:159:61: got void * drivers/media/rc/ir-hix5hd2.c:167:28: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:167:28: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:167:28: got void * drivers/media/rc/ir-hix5hd2.c:169:36: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/ir-hix5hd2.c:169:36: expected void const volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:169:36: got void * drivers/media/rc/ir-hix5hd2.c:188:64: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:188:64: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:188:64: got void * drivers/media/rc/ir-hix5hd2.c:190:68: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:190:68: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:190:68: got void * drivers/media/rc/ir-hix5hd2.c:220:20: warning: incorrect type in assignment (different address spaces) drivers/media/rc/ir-hix5hd2.c:220:20: expected void *base drivers/media/rc/ir-hix5hd2.c:220:20: got void [noderef] <asn:2>* drivers/media/rc/ir-hix5hd2.c:315:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:315:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:315:41: got void * drivers/media/rc/ir-hix5hd2.c:316:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:316:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:316:41: got void * drivers/media/rc/ir-hix5hd2.c:317:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:317:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:317:41: got void * drivers/media/rc/ir-hix5hd2.c:318:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/rc/ir-hix5hd2.c:318:41: expected void volatile [noderef] <asn:2>*addr drivers/media/rc/ir-hix5hd2.c:318:41: got void * Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d51a12c962f26fcb859203372fa196c2dfcd5f77 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 10:51:35 2014 -0300 [media] as102: fix endiannes casts Smatch complains a lot about endiannes issues on as102: drivers/media/usb/as102/as10x_cmd_stream.c:41:47: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:41:47: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_stream.c:41:47: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_stream.c:43:43: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:43:43: expected unsigned short [unsigned] [usertype] pid drivers/media/usb/as102/as10x_cmd_stream.c:43:43: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_stream.c:98:47: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:98:47: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_stream.c:98:47: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_stream.c:100:43: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:100:43: expected unsigned short [unsigned] [usertype] pid drivers/media/usb/as102/as10x_cmd_stream.c:100:43: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_stream.c:142:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:142:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_stream.c:142:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_stream.c:185:47: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_stream.c:185:47: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_stream.c:185:47: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:46:40: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:46:40: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_cfg.c:46:40: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:47:36: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:47:36: expected unsigned short [unsigned] [usertype] tag drivers/media/usb/as102/as10x_cmd_cfg.c:47:36: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:48:37: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:48:37: expected unsigned short [unsigned] [usertype] type drivers/media/usb/as102/as10x_cmd_cfg.c:48:37: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:72:27: warning: cast to restricted __le32 drivers/media/usb/as102/as10x_cmd_cfg.c:102:40: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:102:40: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_cfg.c:102:40: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:104:50: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:104:50: expected unsigned int [unsigned] [usertype] value32 drivers/media/usb/as102/as10x_cmd_cfg.c:104:50: got restricted __le32 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:105:36: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:105:36: expected unsigned short [unsigned] [usertype] tag drivers/media/usb/as102/as10x_cmd_cfg.c:105:36: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:106:37: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:106:37: expected unsigned short [unsigned] [usertype] type drivers/media/usb/as102/as10x_cmd_cfg.c:106:37: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:156:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd_cfg.c:156:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd_cfg.c:156:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd_cfg.c:197:14: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:40:40: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:40:40: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:40:40: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:81:41: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:81:41: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:81:41: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:123:41: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:123:41: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:123:41: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:124:43: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:124:43: expected unsigned int [unsigned] [usertype] freq drivers/media/usb/as102/as10x_cmd.c:124:43: got restricted __le32 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:178:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:178:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:178:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:202:17: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:203:24: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:204:24: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:230:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:230:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:230:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:262:25: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:289:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:289:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:289:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:313:17: warning: cast to restricted __le32 drivers/media/usb/as102/as10x_cmd.c:315:17: warning: cast to restricted __le32 drivers/media/usb/as102/as10x_cmd.c:317:17: warning: cast to restricted __le32 drivers/media/usb/as102/as10x_cmd.c:319:17: warning: cast to restricted __le16 drivers/media/usb/as102/as10x_cmd.c:349:48: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:349:48: expected unsigned short [unsigned] [usertype] proc_id drivers/media/usb/as102/as10x_cmd.c:349:48: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:387:29: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:387:29: expected unsigned short [unsigned] [usertype] req_id drivers/media/usb/as102/as10x_cmd.c:387:29: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:388:27: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:388:27: expected unsigned short [unsigned] [usertype] prog drivers/media/usb/as102/as10x_cmd.c:388:27: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:389:30: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:389:30: expected unsigned short [unsigned] [usertype] version drivers/media/usb/as102/as10x_cmd.c:389:30: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:390:31: warning: incorrect type in assignment (different base types) drivers/media/usb/as102/as10x_cmd.c:390:31: expected unsigned short [unsigned] [usertype] data_len drivers/media/usb/as102/as10x_cmd.c:390:31: got restricted __le16 [usertype] <noident> drivers/media/usb/as102/as10x_cmd.c:408:14: warning: cast to restricted __le16 This happens because of the command endiannes that are sent/received to the firmware. So, add the correct endiannes tags to the command fields. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 71d1b2bec07c8aec4252111a84699273f50fdc52 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 10:15:22 2014 -0300 [media] dvb_frontend: Fix __user namespace As reported by smatch: drivers/media/dvb-core/dvb_frontend.c:1960:45: warning: incorrect type in argument 2 (different address spaces) drivers/media/dvb-core/dvb_frontend.c:1960:45: expected void const [noderef] <asn:1>*from drivers/media/dvb-core/dvb_frontend.c:1960:45: got struct dtv_property *[noderef] <asn:1>props drivers/media/dvb-core/dvb_frontend.c:1992:45: warning: incorrect type in argument 2 (different address spaces) drivers/media/dvb-core/dvb_frontend.c:1992:45: expected void const [noderef] <asn:1>*from drivers/media/dvb-core/dvb_frontend.c:1992:45: got struct dtv_property *[noderef] <asn:1>props drivers/media/dvb-core/dvb_frontend.c:2014:38: warning: incorrect type in argument 1 (different address spaces) drivers/media/dvb-core/dvb_frontend.c:2014:38: expected void [noderef] <asn:1>*to drivers/media/dvb-core/dvb_frontend.c:2014:38: got struct dtv_property *[noderef] <asn:1>props drivers/media/dvb-core/dvb_frontend.c:1946:17: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1947:17: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1951:22: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1951:42: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1954:31: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1960:41: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1960:54: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1965:33: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1978:17: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1979:17: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1983:22: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1983:42: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1986:31: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1992:41: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:1992:54: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:2007:33: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:2014:34: warning: dereference of noderef expression drivers/media/dvb-core/dvb_frontend.c:2014:52: warning: dereference of noderef expression Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 289297b9a33d4de9644c422c0cf6349387af8ad3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:59:02 2014 -0300 [media] as102_drv.h: added a missing newline drivers/media/usb/as102/as102_drv.h:83:6: warning: no newline at end of file Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5c2cacc1028917168b0f7650008dceaa6f7e3fe2 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:47:27 2014 -0300 [media] v4l2-dv-timings: fix a sparse warning This is detected with: gcc-4.8.3-7.fc20.x86_64 sparse-0.5.0-3.fc20.x86_64 drivers/media/v4l2-core/v4l2-dv-timings.c:34:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:35:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:36:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:37:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:38:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:39:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:40:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:41:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:42:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:43:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:44:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:45:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:46:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:47:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:48:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:49:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:50:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:51:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:52:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:53:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:54:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:55:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:56:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:57:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:58:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:59:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:60:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:61:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:62:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:63:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:64:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:65:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:66:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:67:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:68:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:69:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:70:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:71:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:72:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:73:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:74:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:75:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:76:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:77:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:78:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:79:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:80:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:81:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:82:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:83:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:84:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:85:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:86:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:87:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:88:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:89:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:90:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:91:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:92:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:93:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:94:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:95:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:96:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:97:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:98:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:99:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:100:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:101:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:102:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:103:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:104:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:105:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:106:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:107:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:108:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:109:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:110:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:111:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:112:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:113:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:114:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:115:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:116:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:117:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:118:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:119:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:120:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:121:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:122:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:123:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:124:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:125:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:126:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:127:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:128:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:129:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:130:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:131:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:132:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:133:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:134:9: error: unknown field name in initializer drivers/media/v4l2-core/v4l2-dv-timings.c:135:9: error: too many errors drivers/media/usb/hdpvr/hdpvr-video.c:42:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:43:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:44:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:45:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:46:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:47:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:48:9: error: unknown field name in initializer drivers/media/usb/hdpvr/hdpvr-video.c:49:9: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:484:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:485:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:486:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:487:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:488:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:489:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:490:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:491:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:492:18: error: unknown field name in initializer drivers/media/platform/s5p-tv/hdmi_drv.c:493:18: error: unknown field name in initializer Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit dc11ef78e78b65fccae91ed42b05a039ddde7a9d Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:34:47 2014 -0300 [media] s5p_mfc_opr_v6: remove address space removal warnings Smatch still has 3 warnings for s5p_mfc_opr_v6: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2028:18: warning: cast removes address space of expression drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2034:18: warning: cast removes address space of expression drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:2040:18: warning: cast removes address space of expression Remove them. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b5e4d33070a3b1efc738c3889842be447a613211 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:31:25 2014 -0300 [media] s5p_mfc_opr_v6: fix wrong type for registers As reported by smatch, there are several warnings related to bad types for registers. Worse than that, there are too many errors, preventing smatch to warn about real issues. So, fix them: drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:414:35: got void *const d_stream_data_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:415:34: got void *const d_cpb_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:416:39: got void *const d_cpb_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:417:40: got void *const d_cpb_buffer_offset drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:441:46: got void *const d_num_dpb drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:442:40: got void *const d_first_plane_dpb_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:443:42: got void *const d_second_plane_dpb_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:445:35: got void *const d_scratch_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:446:47: got void *const d_scratch_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:450:33: got void *const d_first_plane_dpb_stride_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:452:33: got void *const d_second_plane_dpb_stride_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:460:46: got void *const d_mv_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:461:47: got void *const d_num_mv drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:475:61: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:479:62: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:492:65: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:505:38: got void *const instance_id drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:520:30: got void *const e_stream_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:521:30: got void *const e_stream_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:535:32: got void *const e_source_first_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:536:32: got void *const e_source_second_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:549:33: got void *const e_encoded_source_first_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:550:33: got void *const e_encoded_source_second_plane_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:552:42: got void *const e_recon_luma_dpb_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:553:42: got void *const e_recon_chroma_dpb_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:575:56: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:577:58: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:579:57: got void * drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:585:35: got void *const e_scratch_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:586:47: got void *const e_scratch_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:590:35: got void *const e_tmv_buffer0 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:592:35: got void *const e_tmv_buffer1 drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:603:38: got void *const instance_id drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:619:41: got void *const e_mslice_mode drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:621:52: got void *const e_mslice_size_mb drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:624:54: got void *const e_mslice_size_bits drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:626:37: got void *const e_mslice_size_mb drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:627:37: got void *const e_mslice_size_bits drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:643:40: got void *const e_frame_width drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:645:41: got void *const e_frame_height drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:648:40: got void *const e_cropped_frame_width drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:650:41: got void *const e_cropped_frame_height drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:652:29: got void *const e_frame_crop_offset drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:657:29: got void *const e_gop_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:665:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:669:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:673:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:679:45: got void *const e_ir_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:680:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:685:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:688:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:690:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:695:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:697:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:699:37: got void *const pixel_format drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:702:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:704:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:706:37: got void *const pixel_format drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:709:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:711:37: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:713:37: got void *const pixel_format drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:718:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:720:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:723:29: got void *const e_padding_ctrl drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:734:37: got void *const e_padding_ctrl drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:741:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:746:33: got void *const e_rc_bit_rate drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:748:35: got void *const e_rc_bit_rate drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:753:43: got void *const e_rc_mode drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:755:43: got void *const e_rc_mode drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:759:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:766:29: got void *const e_enc_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:769:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:771:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:775:29: got void *const e_mv_hor_range drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:778:29: got void *const e_mv_ver_range drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:780:29: got void *const e_frame_insertion drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:781:29: got void *const e_roi_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:782:29: got void *const e_param_change drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:783:29: got void *const e_rc_roi_ctrl drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:784:29: got void *const e_picture_tag drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:786:29: got void *const e_bit_count_enable drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:787:29: got void *const e_max_bit_count drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:788:29: got void *const e_min_bit_count drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:790:29: got void *const e_metadata_buffer_addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:791:29: got void *const e_metadata_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:812:29: got void *const e_gop_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:815:29: got void *const e_gop_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:823:29: got void *const e_picture_profile drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:826:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:830:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:835:29: got void *const e_rc_config drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:843:29: got void *const e_rc_qp_bound drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:846:29: got void *const e_fixed_picture_qp drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:852:37: got void *const e_fixed_picture_qp drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:860:37: got void *const e_rc_frame_rate drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:867:41: got void *const e_vbv_buffer_size drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:870:54: got void *const e_vbv_init_delay drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29: warning: incorrect type in argument 2 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:876:29: got void *const e_h264_options drivers/media/platform/s5p-mfc/s5p_mfc_opr_v6.c:881:41: warning: too many warnings Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d7fa7b0e5ffe7f3225158ec59e7040aa6e84d45f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:25:56 2014 -0300 [media] s5p_mfc_opr_v5: fix smatch warnings drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23: warning: incorrect type in argument 2 (different modifiers) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23: expected void volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:266:23: got void const volatile [noderef] <asn:2>*<noident> drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36: warning: incorrect type in argument 1 (different address spaces) drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36: expected void const volatile [noderef] <asn:2>*addr drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:274:36: got void * Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ca5ea0c5dfe0e63298eb157d877d19dfe892353f Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Wed Sep 24 09:08:10 2014 -0300 [media] s5p_mfc: use static for some structs drivers/media/platform/s5p-mfc/s5p_mfc.c:1334:28: warning: symbol 'mfc_buf_size_v5' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1341:25: warning: symbol 'buf_size_v5' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1347:26: warning: symbol 'mfc_buf_align_v5' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1360:28: warning: symbol 'mfc_buf_size_v6' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1368:25: warning: symbol 'buf_size_v6' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1374:26: warning: symbol 'mfc_buf_align_v6' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1392:28: warning: symbol 'mfc_buf_size_v7' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1400:25: warning: symbol 'buf_size_v7' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1406:26: warning: symbol 'mfc_buf_align_v7' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1419:28: warning: symbol 'mfc_buf_size_v8' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1427:25: warning: symbol 'buf_size_v8' was not declared. Should it be static? drivers/media/platform/s5p-mfc/s5p_mfc.c:1433:26: warning: symbol 'mfc_buf_align_v8' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5d28e29833c8bc80d96cb2f46c3cf06b43a8fa4 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Sep 22 13:05:56 2014 -0300 [media] coda: Improve runtime PM support For several reasons it's good practice to leave devices in runtime PM active state while those have been probed. In this cases we also want to prevent the device from going inactive, until the firmware has been completely installed, especially when using a PM domain. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7c672812fe230f54e86da0e56cd2917e897fe760 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Mon Sep 22 09:52:02 2014 -0300 [media] s5p-mfc: Use decode status instead of display status on MFCv5 Commit 90c0ae50097 changed how the frame_type of a decoded frame gets determined, by switching from the get_dec_frame_type to get_disp_frame_type operation. Unfortunately it seems that on MFC v5 the result of get_disp_frame_type is always 0 (no display) when decoding (tested with H264), resulting in no frame ever being output from the decoder. This patch reverts MFC v5 to the previous behaviour while keeping the new behaviour for v6 and up. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7e8fe13dc31d413c77ef1aaf7f7a2a60eab413da Author: ayaka <ayaka@xxxxxxxxxxx> Date: Thu Sep 18 16:41:12 2014 -0300 [media] s5p-mfc: fix enum_fmt for s5p-mfc As the s5p-mfc is a driver which use multiplanar api, so the vidioc_enum_fmt_vid serial of ioctl should only for multiplanar, non-multiplanar shouldn't be implemented at all. Signed-off-by: ayaka <ayaka@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e2c3be2aff3358e485ed307cc3ad11a9c58c086f Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Thu Sep 11 10:27:20 2014 -0300 [media] s5p-mfc: Fix sparse errors in the MFC driver The following error: "error: incompatible types in conditional expression (different base types)" was reported multiple times for the s5p-mfc driver. This error was caused by two macro definitions - s5p_mfc_hw_call (in s5p_mfc_common.h) and WRITEL (in s5p_mfc_opr_v6.c). In the former case the macro assumed that all ops return a value, but some ops return void. The solution to this problem was the addition of a s5p_mfc_hw_call_void macro. In the latter case the macro used the ?: construction to check whether the address is non zero. This is not necessary after the driver left the development and debugging cycle, so the READL and WRITEL macros were removed. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9aee8b80a8facefb29ad0077fdbcca116f25f6e6 Author: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Date: Wed Sep 3 23:28:43 2014 -0300 [media] s5p_mfc: unify variable naming style Variable frame_size represents the size of plane luminance here, not just frame size, its naming style should be unified as frame_size_ch and frame_size_mv. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 00684dab287956573122815bfdc04cb4b4561033 Author: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Date: Wed Sep 3 23:28:06 2014 -0300 [media] s5p_mfc: correct the loop condition It should take ctx->dst_fmt->num_planes as the loop condition for CAPTURE. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 327eeb3a1a335f2580e72878191ca7a5236797bc Author: Olli Salonen <olli.salonen@xxxxxx> Date: Tue Sep 23 13:53:09 2014 -0300 [media] si2168: add FE_CAN_MULTISTREAM into caps PLP selection was implemented for Si2168 last month (patchwork 25387). However, FE_CAN_MULTISTREAM was not added to dvb_frontend_ops of si2168. This patch adds FE_CAN_MULTISTREAM, which indicates that multiple PLP are supported. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c710f591a6f209220bd0649153e1fbc78bc09db9 Author: Kazunori Kobayashi <kkobayas@xxxxxxxxxx> Date: Thu Sep 11 03:09:38 2014 -0300 [media] soc_camera: Support VIDIOC_EXPBUF ioctl This patch allows for exporting a dmabuf descriptor from soc_camera drivers. Signed-off-by: Kazunori Kobayashi <kkobayas@xxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5d6de11c331d61dd27cf02f54243ebd1fcfbbfb3 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Sep 18 09:23:36 2014 -0300 [media] mx2-camera: potential negative underflow bug My static checker complains: drivers/media/platform/soc_camera/mx2_camera.c:1070 mx2_emmaprp_resize() warn: no lower bound on 'num' The heuristic is that it's looking for values which the user can influence and we put an upper bound on them but we (perhaps accidentally) allow negative numbers. I am not very familiar with this code but I have looked at it and think there might be a bug. Making the variable unsigned seems like a safe option either way and this silences the static checker warning. The call tree is: -> subdev_do_ioctl() -> mx2_camera_set_fmt() -> mx2_emmaprp_resize() The check: if (num > RESIZE_NUM_MAX) can underflow and then we use "num" on the else path. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 197a47f2d51022c613bc7bf40953a0fa3497b9c5 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 20 16:12:54 2014 -0300 [media] rcar_vin: fix error message in rcar_vin_get_formats() The dev_err() call is supposed to output <width>x<height> in decimal but one of the format specifiers is "%x" instead of "%u" (most probably due to a typo). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2ea12442e3e5df6107ba4f948c7e6f7c99b3b373 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 22:38:37 2014 -0300 [media] tc90522: fix compilation on 32 bits drivers/built-in.o: In function `tc90522t_get_frontend': >> tc90522.c:(.text+0x260b64c): undefined reference to `__divdi3' >> tc90522.c:(.text+0x260b685): undefined reference to `__divdi3' >> tc90522.c:(.text+0x260b6bb): undefined reference to `__divdi3' >> tc90522.c:(.text+0x260b713): undefined reference to `__divdi3' drivers/built-in.o:tc90522.c:(.text+0x260bb64): more undefined references to `__divdi3' follow Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 46cebe017afd03614b17c70ed5ed2734ec3796f7 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 22:29:41 2014 -0300 [media] qm1d1c0042: fix compilation on 32 bits drivers/built-in.o: In function `qm1d1c0042_set_params': >> qm1d1c0042.c:(.text+0x2519730): undefined reference to `__divdi3' Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b2dd83b377d390ab503420c9a5867df5741e273d Author: Liu Hua <sdu.liu@xxxxxxxxxx> Date: Thu Sep 18 12:15:28 2014 +0800 Documentation: correct parameter error for dma_mapping_error dma_mapping_error takes two parameters, but some of examples in Documentation/DMA-API-HOWTO.txt just takes one. So correct it. Signed-off-by: Liu Hua <sdu.liu@xxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7bb38d57fd75f03753a5b362916c5bbde8290208 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 26 11:15:18 2014 +0200 Remove MN10300_PROC_MN2WS0038 The symbol is an orphan, get rid of it. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7efceb559579f11a05160ff92c12fc4c59a531d8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 16 22:00:47 2014 +0200 mei: fix comments Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: "Winkler, Tomas" <tomas.winkler@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit cf8102f64c8d23f0bd4af0659bbd94d0c1d8d1c7 Merge: 521e8ba 46fb3c2 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 26 11:12:46 2014 +0200 Merge tag 'perf-fdarray-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf tooling updates from Arnaldo Carvalho de Melo. Infrastructure changes: * We were not handling POLLHUP notifications for event file descriptors. Fix it by filtering entries in the events file descriptor array after poll() returns, refcounting mmaps so that when the last fd pointing to a perf mmap goes away we do the unmap. (Arnaldo Carvalho de Melo) User visible changes: * Now 'record' and 'trace' properly exit when a target thread exits. (Arnaldo Carvalho de Melo) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f54619f28fb6829612eb90a31cc55caf14c5fcca Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Thu Sep 18 12:09:42 2014 +0900 treewide: Fix typos in Kconfig This patch fix spelling typos found in Kconfig. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e8ac6ea8a42d6506345056c6de3e81c97d3f20af Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Sep 24 16:08:33 2014 +1000 kprobes: update jprobe_example.c for do_fork() change In commit e80d666 "flagday: kill pt_regs argument of do_fork()", the arguments to do_fork() changed. The example code in jprobe_example.c was not updated to match, so the arguments inside the jprobe handler do not match reality. Fix it by updating the arguments to match do_fork(). While we're at it use pr_info() for brevity, and print stack_start as well for interest. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 2d69049ab7028ac656a8545a068cc10a663a9805 Author: Oscar Utbult <oscar@xxxxxxx> Date: Thu Sep 25 15:41:35 2014 +0200 Documentation: change "&" to "and" in Documentation/applying-patches.txt http://english.stackexchange.com/questions/3127/when-to-use-instead-of-and Signed-off-by: Oscar Utbult <oscar@xxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 53007a7bfefd98cc3dd121f3b1ceedc6dcf08cc3 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Fri Sep 26 11:05:17 2014 +0200 MAINTAINERS: update location of linux-doc tree Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e043271b6ab41500c83dc79a2be1c3c592b4f78d Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:24:09 2014 -0700 Documentation: remove networking/.gitignore Remove empty networking/.gitignore Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Cc: rdunlap@xxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit ec84284b008858b240b6c5b2a581408f6351a0a3 Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:24:03 2014 -0700 tools: add more endian.h macros Add some more macros to tools/endian.h to allow mpssd to be compiled against glibc < 2.9. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Cc: rdunlap@xxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: sudeep.dutt@xxxxxxxxx Cc: nikhil.rao@xxxxxxxxx Cc: ashutosh.dixit@xxxxxxxxx Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8e2faea877eb24511c8e71b88e803e22c6bf235e Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:58 2014 -0700 Make Documenation depend on headers_install Cc: rdunlap@xxxxxxxxxxxxx Cc: linux-doc@xxxxxxxxxxxxxxx Cc: sudeep.dutt@xxxxxxxxx Cc: nikhil.rao@xxxxxxxxx Cc: ashutosh.dixit@xxxxxxxxx Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit dd42a0882a70f10e429b8306dec8aad40babe19c Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Thu Sep 25 11:23:53 2014 -0700 Docs: this_cpu_ops: remove redundant add forms Commit ac490f4dca94 (Documentation: this_cpu_ops.txt: Update description of this_cpu_ops) added lists of {__,}this_cpu operations, but these have duplicate, parameter-less entries for {__,}this_cpu_add which don't correspond to any implementation. No other operations have such duplicate entries. Given both are also listed with their full complement of arguments, the empty forms are redundant and can be removed. This patch performs said removal. Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 25b91ac204647de6f84fbc1dd7ea4fa2cc7e5a46 Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:48 2014 -0700 Documentation: disable vdso_test to avoid breakage with old glibc glibc versions older than 2.16 don't include sys/auxv.h which this executable uses. Since we don't have a good way to test for specific glibc versions in kbuild, just disable it for now. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 15565829e75ce6b50449462405dd7e72c37bd74e Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:43 2014 -0700 Documentation: update vDSO makefile to build portable examples Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c5e2a7e01269cd9839fef8a5c5ac258277b3b08f Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:37 2014 -0700 Documentation: update .gitignore files Add some missing files to .gitignore. Push Documentation/.gitignore down into subdirectories. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8c2b0dc83d9840da4d993a5dbb15c5974ad5a188 Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:32 2014 -0700 Documentation: support glibc versions without htole macros glibc 2.9 introduced the htole<16/32/64> macros, add them to tools/include to support older versions of glibc. Reported-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 19f94f97003a70a5241efff035f6c181c290a799 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Sep 25 11:23:27 2014 -0700 v4l2-pci-skeleton: Only build if PCI is available Currently arm64 does not support PCI but it does support v4l2. Since the PCI skeleton driver is built unconditionally as a module with no dependency on PCI this causes build failures for arm64 allmodconfig. Fix this by defining a symbol VIDEO_PCI_SKELETON for the skeleton and conditionalising the build on that. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> [added VIDEO dependencies] Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6ab0e475f1f38b6be90aff4ef3ebf928c4a73dc8 Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:21 2014 -0700 Documentation: fix misc. warnings Fix a few warnings that gcc emits during a default build. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0421fc837c822e86c76884a30a9155e512a5a66a Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:15 2014 -0700 Documentation: make functions static to avoid prototype warnings Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit adb19fb66eeebac07fe37d968725bb8906dadb8e Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:09 2014 -0700 Documentation: add makefiles for more targets Add a bunch of previously unbuilt source files to the Documentation build machinery. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit df68a01014fd5dea890349321787ca08a5377f0b Author: Peter Foley <pefoley2@xxxxxxxxxxx> Date: Thu Sep 25 11:23:02 2014 -0700 Documentation: use subdir-y to avoid unnecessary built-in.o files Change the Documentation makefiles from obj-m to subdir-y to avoid generating unnecessary built-in.o files since nothing in Documentation/ is ever linked in to vmlinux. Signed-off-by: Peter Foley <pefoley2@xxxxxxxxxxx> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e3893386b90500d7f26fec3170bf96f67d3e557e Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Sep 25 19:09:23 2014 +0300 gpiolib: irqchip: use irq_find_mapping while removing irqchip There is no guarantee that VIRQs will be allocated sequentially for gpio irqchip in gpiochip_irqchip_add(). Therefore, it's unsafe to dispose VIRQ in gpiochip_irqchip_remove() basing on index relatively to stored irq_base value. Hence, use irq_find_mapping for VIRQ finding in gpiochip_irqchip_remove() instead of irq_base + index. Reported-by: Wang, Yalin <Yalin.Wang@xxxxxxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit cf1fc187628913070c3e418ce0e205732435aa2f Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Tue Sep 23 15:59:53 2014 -0500 pinctrl: qcom: use restart_notifier mechanism for ps_hold By converting to the restart_notifier mechanism for restart, we allow for other mechanisms, like the watchdog, to be used for restart in the case where PS_HOLD has failed to reset the chip. Since this mechanism may be one of several mechanisms registered, change the post-ps_hold write timeout to be a more reasonable 1 second instead of 10 seconds. Choose priority 128, as according to documentation, this mechanism "is sufficient to restart the entire system". Tested-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6a642509801116037720892efe72f0e84f02f317 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 25 10:17:29 2014 +0800 regulator: qcom_rpm: Fix FORCE_MODE_IS_2_BITS macro Current code does not take the macro parameter, fix it. This is not a problem at this moment because the only user actually passes vreg to FORCE_MODE_IS_2_BITS(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit aad615c632681168e48b3cafd79e43f55f7be1cf Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Sep 24 17:45:25 2014 +0800 regulator: qcom_rpm: Don't explicitly initialise the first field of config Doing so generates a warning as the first field is a pointer but we use 0 to initialize it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c5bb725ac2d1a13e9e766bf9a16bac986ade17cd Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Date: Thu Sep 25 16:39:11 2014 +0200 regulator: ltc3589: fix broken voltage transitions VCCR is used as a trigger to start voltage transitions, so we need to mark it volatile in order to make sure it gets written to hardware every time we set a new voltage. Fixes regulator voltage being stuck at the first voltage set after driver load. [lst: reworded commit message] Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit bb0ca6acd466af55c95b7ce508f29e23a24cabd9 Author: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Date: Thu Sep 25 15:26:50 2014 -0700 kvm: Fix kvm_get_page_retry_io __gup retval check Confusion around -EBUSY and zero (inside a BUG_ON no less). Reported-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> Signed-off-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 61d38b9a823c96c7a27fca3924959b1feba04b45 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 26 14:19:22 2014 +0800 spi: bcm53xx: Add missing module information Mainly to fix missing MODULE_LICENSE. Also add MODULE_DESCRIPTION and MODULE_AUTHOR. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 933fc7b06ca62741fd5067edab13068d13b3cb35 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 26 14:18:31 2014 +0800 spi: bcm53xx: Fix module dependency config SPI_BCM53XX needs to depend on BCMA_POSSIBLE and select BCMA. This fixes below build error: ERROR: "bcma_driver_unregister" [drivers/spi/spi-bcm53xx.ko] undefined! ERROR: "__bcma_driver_register" [drivers/spi/spi-bcm53xx.ko] undefined! Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d247a70a4d67623eb738176ee703a7bb8b6c325c Author: Christoph Hellwig <hch@xxxxxx> Date: Fri Sep 26 09:49:02 2014 +0200 ipr: fix compile failure Fix a typo in the IPR_IOASC_HW_CMD_FAILED declaration. Based on a patch from Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx>. Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 48b490d23ef5aaf65e16e194e0fd2578a9b6497f Author: Andreas Werner <andreas.werner@xxxxxx> Date: Mon Sep 15 09:36:30 2014 +0200 MAINTAINERS: Adds Andreas Werner to maintainers list for MEN F21BMC Added maintainer for the following MEN F21BMC drivers: - menf21bmc (MFD) - menf21bmc_wdt (Watchdog) - menf21bmc_hwmon (HWMON) - leds-menf21bmc (LED) Signed-off-by: Andreas Werner <andreas.werner@xxxxxx> Acked-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Acked-by: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 71d134b9fa3b435649aca893f79811afc7e4f1f1 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 10:37:11 2014 +0100 mfd: arizona: Correct mask to allow setting micbias external cap Currently the mask for the external capacitor bit is missing when writing the MICBIAS config meaning it will never be set this patch fixes this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6ab3430129e258ea31dd214adf1c760dfafde67a Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Sep 16 14:52:36 2014 +0300 mfd: Add ACPI support If an MFD device is backed by ACPI namespace, we should allow subdevice drivers to access their corresponding ACPI companion devices through normal means (e.g using ACPI_COMPANION()). This patch adds such support to the MFD core. If the MFD parent device does not specify any ACPI _HID/_CID for the child device, the child device will share the parent ACPI companion device. Otherwise the child device will be assigned with the corresponding ACPI companion, if found in the namespace below the parent. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Reviewed-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7be180cc7a0c5768a984126d9468afc82dcf93a2 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 10:37:10 2014 +0100 Revert "mfd: wm5102: Manually apply register patch" This reverts commit d9d03496f6f904a3588bdb8b215853bc4e50132c. It seems this commit was applied twice, once through ASoC and once through MFD: commit 4c9bb8bc352a14c9613c77bc3f1e9038cd086b9b mfd: wm5102: Manually apply register patch commit d9d03496f6f904a3588bdb8b215853bc4e50132c mfd: wm5102: Manually apply register patch This has lead to a small piece of duplicate code. It is harmless hence how it has gone unoticed for so long. This patch reverts one of the two commits removing the unneeded code. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f0933a60d1902c918249d11fb6d9a5ffd581ef5b Author: Jeff Lance <j-lance1@xxxxxx> Date: Thu Sep 4 19:01:57 2014 +0200 mfd: ti_am335x_tscadc: Update logic in CTRL register for 5-wire TS The logic in AFE_Pen_Ctrl bitmask in the CTRL register is different for five wire versus four or eight wire touschscreens. This patch should fix this for five-wire touch screens. There should be no change needed here for four and eight wire tousch screens. Signed-off-by: Jeff Lance <j-lance1@xxxxxx> [bigeasy: keep the change mfd only] Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 92b8f3abb8c30c15fc79a79ddd1ffab135fc0360 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Sep 24 11:33:44 2014 +0100 mfd: dt-bindings: atmel-gpbr: Rename doc file to conform to naming convention Cc: boris.brezillon@xxxxxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 937064bd9092067888ad031329e01f7f4beb22d1 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Sep 24 11:29:17 2014 +0100 mfd: dt-bindings: qcom-pm8xxx: Rename doc file to conform to naming convention Cc: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4f08df1b06bb4022fab5a2a916f455915856ed9e Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 21:37:55 2014 +0200 mfd: Inherit coherent_dma_mask from parent device dma_mask and dma_parms are already inherited from the parent device but dma_coherent_mask was left uninitialized (set to zero thanks to kzalloc). Set sub-device coherent_dma_mask to its parent value to simplify sub-drivers making use of dma coherent helper functions (those drivers currently have to explicitly set the dma coherent mask using dma_set_coherent_mask function). Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ab27c44754964aedd9f9ba74326d74e5e2a3c74f Author: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Date: Fri Aug 1 17:30:49 2014 +0300 mfd: Document DT bindings for Qualcomm SPMI PMICs Document DT bindings used to describe the Qualcomm SPMI PMICs. Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c3a973a770a122a5ec9a9b827ae25c00f56b3e47 Author: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Date: Fri Aug 1 17:30:48 2014 +0300 mfd: Add support for Qualcomm SPMI PMICs The Qualcomm SPMI PMIC chips are components used with the Snapdragon 800 series SoC family. This driver exists largely as a glue mfd component, it exists to be an owner of an SPMI regmap for children devices described in device tree. Signed-off-by: Josh Cartwright <joshc@xxxxxxxxxxxxxx> Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a5669e4872fd16d1ae25c76e55c995c911a1c5c7 Author: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Date: Tue Sep 23 16:52:40 2014 +0300 mfd: dt-bindings: pm8xxx: Add new compatible string The rtc driver now supports PM8941 PMIC device, reflect this in the binding document. Signed-off-by: Stanimir Varbanov <svarbanov@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6e6240a449614148d3fb49b23a50435b19c6baed Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 22:06:35 2014 +0200 mfd: axp209x: Drop the parent supplies field Now that the regulator code get its parent supplies purely from the DT, we can drop the parent supplies resources in the MFD driver. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fecc4452b9b3f4bbab41c1b7583a72066ee0c77c Author: Nishanth Menon <nm@xxxxxx> Date: Wed Sep 17 07:34:12 2014 -0500 mfd: twl4030-power: Use 'ti,system-power-controller' as alternative way to support system power off ti,system-power-controller is more or less the standard way of indicating that the PMIC is the system wide power controller and hence may be used to switch off the system. Almost ALL TI PMIC drivers and many Maxim PMIC drivers follow the same style. So support 'ti,system-power-controller' in addition to the usual 'ti,use_poweroff' to indicate that the PMIC instance has control for switching off the system. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b64c6887f44d9e9220ddf10acf5c0c6b313a9de1 Author: Nishanth Menon <nm@xxxxxx> Date: Wed Sep 17 07:34:11 2014 -0500 mfd: dt-bindings: twl4030-power: Use the standard property to mark power control ti,system-power-controller is more or less the standard way of indicating that the PMIC is the system wide power controller and hence may be used to switch off the system. Almost ALL TI PMIC drivers and many Maxim PMIC drivers follow the same style. So support 'ti,system-power-controller' in addition to the usual 'ti,use_poweroff' to indicate that the PMIC instance has control for switching off the system. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c896e68ec1a0548f29b3d29f6c14a29cf06aa56c Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 15:18:45 2014 +0200 mfd: syscon: Add Atmel GPBR DT bindings documention The GPBR block provides a set of battery-backed registers that can be used to save data which need to be kept when the system is powered down and VDD-core is maintained by an external battery. A typical usage is the RTT block (when used as an RTC) which needs one of those registers to save the current time. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Johan Hovold <johan@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2adb3b8e6fa310d64ea6209f8ac5d5575839f6da Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Sep 9 16:06:04 2014 -0700 mfd: rk808: Add register caching Let's define the voltatile registers (those that can't be cached) and enable caching. The rk808 is accessed almost constantly with cpufreq so this is really nice. As measured by ftrace: before this change: cpu0_set_target() => ~2200us after this change: cpu0_set_target() => ~500us Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit cfeb35da2ae36e26f6136b80351a06d34776587b Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 17:00:09 2014 +0100 mfd: arizona: Use handle_simple_irq for IRQ dispatch chip We use a dummy IRQ chip to dispatch interrupts to the two seperate IRQ domains on the Arizona devices. This is just a simple software IRQ chip and thus the current handle_edge_irq is unnecessary for its needs. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit be69e9e00718ac5e93a22184ed33d8d719bee9cd Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 5 12:15:10 2014 +0200 mfd: max14577: Don't pass IRQ domain to mfd_add_devices The max14577 MFD cells do not have any resources so the IRQ domain passed to mfd_add_devices is not used. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0bf1f0cda11ef34765fd5e0bef9771785658fb91 Author: Sean Cross <xobs@xxxxxxxxxx> Date: Fri Sep 12 11:18:34 2014 +0800 mfd: stmpe: Document DT binding for irq_over_gpio STMPE now supports using a GPIO as an IRQ source. Document the device tree binding for this option. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 851ec59614d8cd0d122319c32a5be0f8799d36be Author: Sean Cross <xobs@xxxxxxxxxx> Date: Fri Sep 12 11:18:33 2014 +0800 mfd: stmpe: Support gpio over irq under device tree The stmpe_platform_data has a irq_over_gpio field, which allows the system to read STMPE events whenever an IRQ occurs on a GPIO pin. This patch adds the ability to configure this field and to use a GPIO as an IRQ source for boards configuring the STMPE in device tree. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bdaf67030cbab21a91fd2d6b1771cf336a0dd092 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Fri Sep 12 13:35:45 2014 +0900 mfd: intel_soc_pmic: Add CONFIG_PM_SLEEP check for suspend_fn/resume_fn This patch fix warning message with CONFIG_PM_SLEEP disabled If CONFIG_PM_SLEEP is not enabled we receive the following warning message: drivers/mfd/intel_soc_pmic_core.c:118:12: warning: 'intel_soc_pmic_suspend' defined but not used Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5152970538a5e16c03bbcb9f1c780489a795ed40 Author: Chris Ball <chris@xxxxxxxxxx> Date: Thu Sep 4 17:11:53 2014 +0100 mfd: rtsx_pcr: Fix MSI enable error handling pci_enable_msi() can return failure with both positive and negative integers -- it returns 0 for success -- but is only tested here for "if (ret < 0)". This causes us to try to use MSI on the RTS5249 SD reader in the Dell XPS 11 when enabling MSI failed, causing: [ 1.737110] rtsx_pci: probe of 0000:05:00.0 failed with error -110 Cc: stable <stable@xxxxxxxxxxxxxxx> Reported-by: D. Jared Dominguez <Jared_Dominguez@xxxxxxxx> Tested-by: D. Jared Dominguez <Jared_Dominguez@xxxxxxxx> Signed-off-by: Chris Ball <chris@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6a71f38dd87f255a0586104ce2a14d5a3ddf3401 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Mon Sep 8 15:28:42 2014 +0200 mfd: ti_am335x_tscadc: Fix TSC resume In the resume path, the ADC invokes am335x_tsc_se_set_cache() with 0 as the steps argument if continous mode is not in use. This in turn disables all steps and so the TSC is not working until one ADC sampling is performed. This patch fixes it by writing the current cached mask instead of the passed steps. Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADCA synchronization") Cc: stable@xxxxxxxxxxxxxxx # v3.13+ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0b496b4c95c74ba795bc642a6092263ebf905759 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 5 22:16:18 2014 +0100 mfd: tps65217: Tell regmap what registers are valid Allow regmap to provide debugfs access to the register map by telling it what registers are valid. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 34a4958e4cfe1a379ed18fb3e2d0b93ba08f28d3 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Mon Sep 8 09:01:11 2014 +0200 mfd: mc13xxx: Configure WDI reset Setup the PMIC to make a restart when a watchdog interrupt occures. If this is not configured, the PMIC will shut down the power supply without a restart. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 970d9fbca95c2f5277a4f55c2fba9a8b615c38f7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 4 12:32:12 2014 +0300 mfd: pcf50633: Use sprintf directly When dump a content of the registers let's use snprintf() directly with %*ph specifier. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8bdf87b400271ebc7fbf71e117c299d19a97ebb4 Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Mon Sep 1 16:28:34 2014 +0800 mfd: Add HI6421 PMIC Core driver This adds driver to support HiSilicon Hi6421 PMIC. Hi6421 includes multi- functions, such as regulators, codec, ADCs, Coulomb counter, etc. This driver includes core APIs _only_. Drivers for individul components, like voltage regulators, are implemented in corresponding driver directories and files. Registers in Hi6421 are memory mapped, so using regmap-mmio API. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0709b048cea5a368e078e10fa25adc030392125a Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Mon Sep 1 16:28:33 2014 +0800 mfd: dt-bindings: Add Device Tree bindings for HI6421 Add documentation for HiSilicon Hi6421 PMIC DT binding. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 85de80e8df54b43fadf6e33b3704dc3ea60181f9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 2 13:45:22 2014 +0300 mfd: lpc_sch: Remove FSF address This patch removes FSF address because it can be changed. While here, update the copyright lines by adding Intel Corp. to them. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ec689a8a8155ce8b966bd5d7737a3916f5e48be3 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 2 13:45:21 2014 +0300 mfd: lpc_sch: Add support for Intel Quark X1000 Intel Quark X1000 SoC supports IRQ based GPIO. This patch will enable MFD support for Quark X1000 and provide IRQ resources to Quark X1000 GPIO device driver. Signed-off-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@xxxxxxxxx> Tested-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit bb048713bba3ead39f6112910906d9fe3f88ede7 Author: Josef Ahmad <josef.ahmad@xxxxxxxxx> Date: Tue Sep 2 13:45:20 2014 +0300 pci_ids: Add support for Intel Quark ILB This patch adds the PCI id for Intel Quark ILB. It will be used for GPIO and Multifunction device driver. Signed-off-by: Josef Ahmad <josef.ahmad@xxxxxxxxx> Acked-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b24512c860244716fa8ca74faff2ff617c465515 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 2 13:45:19 2014 +0300 mfd: lpc_sch: Reduce duplicate code and improve manageability This patch refactors the driver to use helper functions instead of copy'n'pasted pieces of code. It also introduces an additional struct to hold a chipset info. The chipset info will be used to store features that are supported by specific processor or chipset. LPC_SCH supports SMBUS, GPIO and WDT features. As this code base might expand further to support more processors, this implementation will help to keep code base clean and manageable. The patch is partially based on the work done by Chang Rebecca Swee Fun. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Tested-by: Chang Rebecca Swee Fun <rebecca.swee.fun.chang@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f69a7cf74d5536faa180437581be2a9c0aad1bb1 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:51:44 2014 +0800 mfd: RK808: Add new mfd driver for RK808 The RK808 chip is a power management IC for multimedia and handheld devices. It contains the following components: - Regulators - RTC - Clkout The RK808 core driver is registered as a platform driver and provides communication through I2C with the host device for the different components. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Zhang Qing <zhangqing@xxxxxxxxxxxxxx> Tested-by: Heiko <heiko@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a53b9a97ac33fa74d136c2e3fd0d76ba7872a1d0 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:51:43 2014 +0800 mfd: dt-bindings: Add RK808 device tree bindings document Add device tree bindings documentation and a header file for rockchip's RK808 pmic. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Zhang Qing <zhangqing@xxxxxxxxxxxxxx> Tested-by: Heiko <heiko@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e9e9d3973594cadd9e892bc79f914f299bb61124 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 16 21:23:40 2014 +0800 mfd: da9052: Avoid setting read_flag_mask for da9052-i2c driver Current code init regmap with &da9052_regmap_config for both da9052-spi and da9052-i2c drivers. da9052-spi sets the read_flag_mask. The same setting may be applied for da9052-i2c if da9052-spi driver is loaded first because they actually use the same regmap_config setting. Fix this issue by using a local variable for regmap_config in da9052-spi driver, so the settings in spi driver won't impact the settings in i2c driver. Also makes da9052_regmap_config const to avoid similar issue. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c38715fed8f51a8fba4a15f86732ad885f073d78 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 1 15:29:11 2014 +0100 mfd: arizona: Propagate irq_wake through to parent IRQ If one of the internal Arizona IRQs is set as a wake source this needs to be propogated back to the actual IRQ line that the Arizona device is attached to. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit dc5193cc4a1e0103fe852acb21c588ea544697c6 Author: Inha Song <ideal.song@xxxxxxxxxxx> Date: Sat Aug 30 11:27:19 2014 +0900 mfd: arizona: Update DT binding to support INn_MODE init_data This patch update DT binding to support INn_MODE init_data. Each input signal path can be configurated either as a Analogue or Digital using the INn_MODE registers. Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Reviewed-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit cc47aed9a1ef8eadd7bf14e32117896777b5cc41 Author: Inha Song <ideal.song@xxxxxxxxxxx> Date: Sat Aug 30 11:27:18 2014 +0900 mfd: arizona: Add support for INn_Mode register control Some boards need to set the INn_MODE[1:0] register to change the input signal patch. This wlf,inmode property is optional. If present, values must be specified less than or equal to the number of input singals. If values less than the number of input signals, elements that has not been specifed are set to 0 by default. Example: - wlf,inmode = <2 0 2>; /* IN1, IN3 use DMIC */ Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx> Reviewed-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c24084db223aec7793201b94f0712cfdfa7e9fe7 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Mon Sep 1 15:48:52 2014 +0100 mfd: arizona: Add ASYNC_SAMPLE_RATE_2 registers Some arizona devices have a second asynchronous sample rate, add the registers necessary to support this. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9bb9e29c78f8d8ee310987fd58a2b908a4ce0c40 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Aug 30 14:50:23 2014 +0200 mfd: Add Ricoh RN5T618 PMIC core driver Ricoh RN5T618 is a power management IC which integrates 3 step-down DCDC converters, 7 low-dropout regulators, a Li-ion battery charger, fuel gauge, ADC, GPIOs and a watchdog timer. This commit adds a MFD core driver to support the I2C communication with the device. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6ac734d2242949f41eb1346ca0fd4ed010c937aa Author: Vignesh R <vigneshr@xxxxxx> Date: Mon Sep 1 12:01:06 2014 +0530 mfd: ti_am335x_tscadc: Fix TSC operation after ADC continouous mode After enabling and disabling ADC continuous mode via sysfs, ts_print_raw fails to return any data. This is because when ADC is configured for continuous mode, it disables touch screen steps.These steps are not re-enabled when ADC continuous mode is disabled. Therefore existing values of REG_SE needs to be cached before enabling continuous mode and disabling touch screen steps and enabling ADC steps. The cached value are to be restored to REG_SE once ADC is disabled. Fixes: 7ca6740cd1cd ("mfd: input: iio: ti_amm335x: Rework TSC/ADC synchronization") Cc: stable@xxxxxxxxxxxxxxx # v3.13+ Signed-off-by: Vignesh R <vigneshr@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a654f81640caa0bb648b0e45b792ba846c9bb02d Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Aug 30 14:50:26 2014 +0200 mfd: rn5t618: Document device tree bindings This adds the device tree bindings documentation for Ricoh RN5T618. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Reviewed-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c593aca4e42a24b229a8070c4eb50d01f54877f2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 18:49:03 2014 +0200 mfd: davinci_voicecodec: Fix 'if defined' guard type in header The include guard doesn't work as intended due to the transposition typo DAVINCI -> DAVINIC. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit be1c770028b832945680ebf5c0d49b831ba719d5 Author: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx> Date: Fri Aug 22 17:30:56 2014 +0200 mfd: tps65910: Work around silicon erratum SWCZ010 http://www.ti.com/lit/pdf/SWCZ010: Glitch on SDA-SCL not managed correctly by the I2C IP Impact: The standard specifies that the I2C transfer should restart on a start event in all cases. The current design does not support two consecutive Start conditions. This can cause the first real access after such a glitch to be corrupted. Description: An unexpected glitch on SDA and SCL can generate a wrong start event. In the current design, the SCL line must toggle two times to detect a new start event and completely restart the I2C access; hence the real start event is not detected in the case of a single SCL toggle. Workaround: Repeat I2C access. A simpler workaround is to make a dummy transfer just before the first access to the tps65910 chip. This can be done unconditionally. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@xxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit dfa52c852dd3fcf3c0e696ab2d7df0bf91b2aed9 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:52:50 2014 +0200 mfd: ti_ssp: Remove unused header The header file include/linux/mfd/ti_ssp.h does not seem to be used anywhere. It was orphaned by 3033ee62 "mfd: Remove obsolete ti-ssp driver". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7929fa7740f2a8cba6857aaa0f6513f81a0e3d88 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 11:20:33 2014 +0100 mfd: stmpe: Rid variable length array Sparse warnings Numbers are generated by taking the largest currently used values. drivers/mfd/stmpe.c:252:17: warning: Variable length array is used. drivers/mfd/stmpe.c:857:16: warning: Variable length array is used. Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 87bd1c925040d97927c6f6b7fe41a487c7d976ef Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 11:01:15 2014 +0100 mfd: max8925-i2c: Fix variable length array Sparse warning The largest byte size in use currently is 8. Fix array size to 9. drivers/mfd/max8925-i2c.c:40:33: warning: Variable length array is used Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7a36ceb284f76d696c80998cc38f6d1c6721ac6d Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 10:51:26 2014 +0100 mfd: 88pm860x-i2c: Fix variable length array Sparse warning drivers/mfd/88pm860x-i2c.c:125:33: warning: Variable length array is used. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 260a127bfbeba4bb574e7b46f07c12d4ddac57c1 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 10:48:18 2014 +0100 mfd: 88pm860x-i2c: Purge unused functions The following functions appear to be unused since v2.6.39: pm860x_page_reg_read() pm860x_page_bulk_write() pm860x_page_set_bits() Let's remove them. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fea31042ff613145c7784e2ce454bf3c151b97ba Author: James Ralston <james.d.ralston@xxxxxxxxx> Date: Wed Aug 27 14:34:25 2014 -0700 mfd: lpc_ich: Add Device IDs for Intel 9 Series PCH This patch adds the LPC Device IDs for the Intel 9 Series PCH. Signed-off-by: James Ralston <james.d.ralston@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a0bc607208e295f70d0355fa4e632a0c8c27533b Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Fri Aug 22 11:06:18 2014 +0200 mfd: max77693: Improve support for the flash cell This patch improves support for the flash cell of max77693 mfd by adding relevant of_compatible field and a structure for caching related platform data. Added are also FLASH registers related macro definitions. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4b5c1f1e080f79c3c226596047a20ccd1c8a9486 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Aug 20 15:43:39 2014 +0200 mfd: max77693: Fix register enum name According to the MAX77693 documentation the name of the register is FLASH_STATUS. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ff0c9da013d2c9f1ec232926a54e536ab48c6678 Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Thu Aug 21 12:46:25 2014 +0300 mfd: lpc_ich: Add PCI ID for Intel Braswell This is the same as used in Baytrail so add the new PCI ID to the driver's list of supported IDs. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 378515fc10c7e1b607980ef67f7e02d830dc2fae Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 15 21:53:17 2014 +0800 mfd: da9052-i2c: Remove duplicate test for I2C_FUNC_SMBUS_BYTE_DATA functionality Since commit b42261078a91 ("regmap: i2c: fallback to SMBus if the adapter does not support standard I2C"), regmap-i2c will check the I2C_FUNC_SMBUS_[BYTE|WORD]_DATA functionality based on the regmap_config setting if the adapter does not support standard I2C. So remove the I2C_FUNC_SMBUS_BYTE_DATA functionality check in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 42a71ef97b7ac31ae8f929c36048fec5cd201a49 Author: Julia Lawall <julia.lawall@xxxxxxx> Date: Thu Aug 21 07:06:06 2014 -0500 mfd: menelaus: Fix error return code Convert a zero return value on error to a negative one, as returned elsewhere in the function. Additionally, converted 1 << 7 to BIT(7) at the suggestion of Lee Jones. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2a3377ee2d8ca15ba21caf1d420cfeaf3ba4390a Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 14:51:22 2014 +0100 mfd: arizona: Avoid use of legacy IRQ mapping regmap_add_irq_chip is called from arizona_irq_init with the irq_base specified as -1 and regmap_add_irq_chip uses if (irq_base) to check if it should use legacy IRQ mapping. As such the irq mappings are currently added with irq_domain_add_legacy, rather than irq_domain_add_linear. This is clearly a typo as there is no reason why this driver can't use irq_domain_add_linear. This patch corrects this by passing the irq_base as zero to regmap_add_irq_chip. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e569d937af96bc1ec00e33285fff33ae9c1e42d6 Author: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 11:42:47 2014 +0100 mfd: arizona: Mark additional registers as volatile Mark some additional registers as volatile. The write sequencer control registers should not be cached, as we don't ever want their value synchronised as this might cause a write sequence to be accidentally initiated. Additionally, the DAC_COMP registers require special preconditions to write so there values wouldn't be updated accurately during a register sync. Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 48018943eb906d81e48f40675c17b92abfeafcf1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Aug 13 11:42:46 2014 +0100 mfd: wm5102: Mark register write sequencer control 3 readable During init the core checks if the wm5102 has finished starting by reading register 0x19 and looking at the value. This read always fails since this is not a readable register, mark it as being one. While we're at it provide a constant for the register name (as supplied by Charles Keepax). Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5e9bbf17b35f89f31e6b76b4810d8c772621c153 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Tue Aug 5 21:42:28 2014 -0700 mfd: rtsx_usb: Fix decimal printf format specifiers prefixed with 0x The prefix suggests the number should be printed in hex, so use the %x specifier to do that. Found by using regex suggested by Joe Perches. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f2b86781619c0822b4e0b561ef9aa499b5ed76ff Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Aug 6 22:12:15 2014 +0200 mfd: twl6040: Fix error return code Convert a zero return value on error to a negative one, as returned elsewhere in the function. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6052d83e716fde1af22a1b812b141e373153735e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Jul 31 15:41:30 2014 +0100 mfd: wm8994: Allow modular build The interfaces that used to be built in only (interrupts IIRC) no longer are so allow the driver to be built as a module fixing arm64 allmodconfig builds. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e0c8a1f52d0d3dc5f79ce04d7bf6da0782dcee16 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Aug 9 22:10:27 2014 +0530 mfd: menelaus: Remove null pointer dereference If vtg is NULL, it is not possible to access its mode_reg field. At all sites where the static function menelaus_set_voltage is called, the first argument is the address of a structure defined in the file. So, the null test is unnecessary and is removed. Also, a label is done away with. This problem was found using the following Coccinelle semantic match: // <smpl> @@ expression E, E1; identifier f; statement S1,S2,S3; @@ * if (E == NULL) { ... when != if (E == NULL) S1 else S2 when != E = E1 * E->f ... when any return ...; } else S3 // </smpl> Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7821d9b24bf73eee7a4e3e3744f05c6eee88db48 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Aug 22 10:09:27 2014 +0100 mfd: wm8994: Export symbols ready for built-in => modular build We'd like to be able to build the WM8994 family as modules, but the build will fail if the external symbols aren't exported first. Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5f114ebcee681b011e8b5bcd2b24169b85286050 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 16:11:27 2014 +0100 mfd: sm501: Avoid implicit sign extension Suspicious implicit sign extension where 'reg' (unsigned char) is promoted in reg << clksrc to int, then sign-extended to unsigned long. If reg << clksrc is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8a012ff9d8723fdf7ea242f0f41703eed7365b79 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 16:03:14 2014 +0100 mfd: twl4030-irq: Check return value from twl_i2c_write() - warn() on failure In the original code a return value variable was provided, but it was never checked and the user was never informed of failure. Now it is and they are. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit cddc11412d604ad673709e91e7a35e9f10c68b39 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 15:54:06 2014 +0100 mfd: pcf50633: Check return value of platform_device_add() The return value of platform_device_add() is checked after every other use throughout the kernel. We're also sliding in another cheeky dev_err() => dev_warn() change as we're not actually erroring out here, rather reporting the fact that something's gone wrong, but carrying on regardless. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b87d9a0fed5828e6cca4c3b02eacbc9c12a9a8e8 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 15:41:59 2014 +0100 mfd: max77686: Remove check which is always true As 'reg' is unsigned, it can't be less than 0, so checking if it is greater than or equal to 0 will always result in a true condition. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 616e047992a4621a09ef45182076ff09b2495dec Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 15:05:01 2014 +0100 mfd: wm5102: Insert missing break in case statement Chip identifier wm5102_reva_patch is always overwritten with wm5102_revb_patch, even when the code is run on a Rev-A chip. Place in the missing break to force the code into doing something sensible instead. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 9b6a5ad9da4118e8c2a087501ddff33f51a9e6ba Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Mon Aug 18 13:10:20 2014 +0100 mfd: htc-i2cpld: Rectify pointer offset error Checking the result of container_of() against NULL will always result to false. Using the offset of member 'chip_out' to find the start of 'struct htcpld_chip' will result in an offset error when .get_chip() is attempting to obtain 'htcpld-in'. Instead, we'll use the correct member based on a previously the set chip label. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 41cc08e955187b96867fa0f625c55496961699ba Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Aug 13 13:52:27 2014 +0100 mfd: htc-i2cpld: Use '!variable' instead of 'variable == NULL' This aids in consistency, as the rest of the checks in the file use this notation. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fe4b7ea8e7c1f03601f6521c24898a688e565626 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Aug 13 13:48:27 2014 +0100 mfd: htc-i2cpld: container_of() cannot return NULL Logically dead code (DEADCODE) dead_error_line: Execution cannot reach this statement: return; Remove the check for NULL. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6ae61fbf38d0cd2aa922eb5e7241e9b0bfd7009d Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Aug 13 12:45:19 2014 +0100 misc: st_kim: Increase size of dev_name buffer to incorporate termination Calling strncpy with a maximum size argument of 32 bytes on destination array kim_gdata->dev_name of size 32 bytes might leave the destination string unterminated. Cc: gregkh@xxxxxxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4001998a43f4791b6e6c06df563f5d5bb3fbe4fb Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Aug 13 12:23:10 2014 +0100 misc: st_core: Protect unsigned value against becoming negative Coverity reported: This less-than-zero comparison of an unsigned value is never true. In answer to that, we only ever decrement if protos_registered is positive. We can subsequently remove the paranoid checking during unregister. Cc: gregkh@xxxxxxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 374de1642ee4322cc4d6aa1d2679378b8547c368 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Wed Aug 13 11:27:34 2014 +0100 iio: sensors-core: st: Check st_sensors_set_drdy_int_pin()'s return value Value from st_sensors_set_drdy_int_pin() is assigned to err here, but that stored value is not used before it is overwritten. To fix this we're enforcing a check on st_sensors_set_drdy_int_pin()'s return value and if it's an error, we're returning right away. Cc: jic23@xxxxxxxxxx Cc: linux-iio@xxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 0608bab8c7ceabd363901376d3693e8f45371768 Merge: bd597f4 9643569 d6cc1f5 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Fri Sep 26 08:14:30 2014 +0100 Merge branches 'ib-mfd-arm-3.18', 'ib-mfd-hwmon-leds-watchdog-3.18' and 'ib-mfd-power-charger-regulator-3.18' into ibs-for-mfd-merged commit 6cd6d94d96d9b1cd8a62da91aac44cf56e301e75 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:17 2014 +0000 arm/arm64: unexport restart handlers Implementing a restart handler in a module don't make sense as there would be no guarantee that the module is loaded when a restart is needed. Unexport arm_pm_restart to ensure that no one gets the idea to do it anyway. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit d20a1d90acf61f69a6474fce7e9656d36bd8ba80 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:17 2014 +0000 watchdog: sunxi: register restart handler with kernel restart handler The kernel core now provides an API to trigger a system restart. Register with it instead of setting arm_pm_restart. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 87ffc69e4b05f6e98e2b7a42f23132ed3662450a Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:17 2014 +0000 watchdog: alim7101: register restart handler with kernel restart handler The kernel core now provides an API to trigger a system restart. Register with it to restart the system instead of misusing the reboot notifier. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit ad0e0e6810b339ddeb97ab9ae24e996db5c11bac Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:17 2014 +0000 watchdog: moxart: register restart handler with kernel restart handler The kernel now provides an API to trigger a system restart. Register with it instead of setting arm_pm_restart. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 1a9607a3be14a43868c5e6a35962e7f6be9bcfe1 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:17 2014 +0000 arm: support restart through restart handler call chain The kernel core now supports a restart handler call chain for system restart functions. With this change, the arm_pm_restart callback is now optional, so drop its initialization and check if it is set before calling it. Only call the kernel restart handler if arm_pm_restart is not set. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 1c7ffc32eaadfae3e7ab106359af0cf21b7e94c1 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:16 2014 +0000 arm64: support restart through restart handler call chain The kernel core now supports a restart handler call chain to restart the system. Call it if arm_pm_restart is not set. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 0713e143c943c4f14aa5db1903bdbfd1356a2bb3 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:16 2014 +0000 power/restart: call machine_restart instead of arm_pm_restart machine_restart is supported on non-ARM platforms, and and ultimately calls arm_pm_restart, so dont call arm_pm_restart directly but use the more generic function. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit b63adb979583ef185718d774d8162387db5589c0 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Sep 26 00:03:16 2014 +0000 kernel: add support for kernel restart handler call chain Various drivers implement architecture and/or device specific means to restart (reset) the system. Various mechanisms have been implemented to support those schemes. The best known mechanism is arm_pm_restart, which is a function pointer to be set either from platform specific code or from drivers. Another mechanism is to use hardware watchdogs to issue a reset; this mechanism is used if there is no other method available to reset a board or system. Two examples are alim7101_wdt, which currently uses the reboot notifier to trigger a reset, and moxart_wdt, which registers the arm_pm_restart function. The existing mechanisms have a number of drawbacks. Typically only one scheme to restart the system is supported (at least if arm_pm_restart is used). At least in theory there can be multiple means to restart the system, some of which may be less desirable (for example one mechanism may only reset the CPU, while another may reset the entire system). Using arm_pm_restart can also be racy if the function pointer is set from a driver, as the driver may be in the process of being unloaded when arm_pm_restart is called. Using the reboot notifier is always racy, as it is unknown if and when other functions using the reboot notifier have completed execution by the time the watchdog fires. Introduce a system restart handler call chain to solve the described problems. This call chain is expected to be executed from the architecture specific machine_restart() function. Drivers providing system restart functionality (such as the watchdog drivers mentioned above) are expected to register with this call chain. By using the priority field in the notifier block, callers can control restart handler execution sequence and thus ensure that the restart handler with the optimal restart capabilities for a given system is called first. Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Heiko Stuebner <heiko@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Jonas Jensen <jonas.jensen@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit 4a8e320c929991c9480a7b936512c57ea02d87b2 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Sat Sep 20 18:01:30 2014 -0700 net: sched: use pinned timers While using a MQ + NETEM setup, I had confirmation that the default timer migration ( /proc/sys/kernel/timer_migration ) is killing us. Installing this on a receiver side of a TCP_STREAM test, (NIC has 8 TX queues) : EST="est 1sec 4sec" for ETH in eth1 do tc qd del dev $ETH root 2>/dev/null tc qd add dev $ETH root handle 1: mq tc qd add dev $ETH parent 1:1 $EST netem limit 70000 delay 6ms tc qd add dev $ETH parent 1:2 $EST netem limit 70000 delay 8ms tc qd add dev $ETH parent 1:3 $EST netem limit 70000 delay 10ms tc qd add dev $ETH parent 1:4 $EST netem limit 70000 delay 12ms tc qd add dev $ETH parent 1:5 $EST netem limit 70000 delay 14ms tc qd add dev $ETH parent 1:6 $EST netem limit 70000 delay 16ms tc qd add dev $ETH parent 1:7 $EST netem limit 80000 delay 18ms tc qd add dev $ETH parent 1:8 $EST netem limit 90000 delay 20ms done We can see that timers get migrated into a single cpu, presumably idle at the time timers are set up. Then all qdisc dequeues run from this cpu and huge lock contention happens. This single cpu is stuck in softirq mode and cannot dequeue fast enough. 39.24% [kernel] [k] _raw_spin_lock 2.65% [kernel] [k] netem_enqueue 1.80% [kernel] [k] netem_dequeue 1.63% [kernel] [k] copy_user_enhanced_fast_string 1.45% [kernel] [k] _raw_spin_lock_bh By pinning qdisc timers on the cpu running the qdisc, we respect proper XPS setting and remove this lock contention. 5.84% [kernel] [k] netem_enqueue 4.83% [kernel] [k] _raw_spin_lock 2.92% [kernel] [k] copy_user_enhanced_fast_string Current Qdiscs that benefit from this change are : netem, cbq, fq, hfsc, tbf, htb. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fb426a642a166730a8c916cb38c5461dbc28ffb Merge: 2fdbfea 53e5039 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 00:23:13 2014 -0400 Merge branch 'gso_send_check' Tom Herbert says: ==================== net: Eliminate gso_send_check gso_send_check presents a lot of complexity for what it is being used for. It seems that there are only two cases where it might be effective: TCP and UFO paths. In these cases, the gso_send_check function initializes the TCP or UDP checksum respectively to the pseudo header checksum so that the checksum computation is appropriately offloaded or computed in the gso_segment functions. The gso_send_check functions are only called from dev.c in skb_mac_gso_segment when ip_summed != CHECKSUM_PARTIAL (which seems very unlikely in TCP case). We can move the logic of this into the respective gso_segment functions where the checksum is initialized if ip_summed != CHECKSUM_PARTIAL. With the above cases handled, gso_send_check is no longer needed, so we can remove all uses of it and the fields in the offload callbacks. With this change, ip_summed in the skb should be preserved though all the layers of gso_segment calls. In follow-on patches, we may be able to remove the check setup code in tcp_gso_segment if we can guarantee that ip_summed will always be CHECKSUM_PARTIAL (verify all paths and probably add an assert in tcp_gro_segment). Tested these patches by: - netperf TCP_STREAM test with GSO enabled - Forced ip_summed != CHECKSUM_PARTIAL with above - Ran UDP_RR with 10000 request size over GRE tunnel. This exercised UFO path. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53e50398968d43338c4d932114e68bc099fc5fbd Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sat Sep 20 14:52:30 2014 -0700 net: Remove gso_send_check as an offload callback The send_check logic was only interesting in cases of TCP offload and UDP UFO where the checksum needed to be initialized to the pseudo header checksum. Now we've moved that logic into the related gso_segment functions so gso_send_check is no longer needed. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f71470b37e79d6eb151debd47364d920b7babd30 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sat Sep 20 14:52:29 2014 -0700 udp: move logic out of udp[46]_ufo_send_check In udp[46]_ufo_send_check the UDP checksum initialized to the pseudo header checksum. We can move this logic into udp[46]_ufo_fragment. After this change udp[64]_ufo_send_check is a no-op. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d020f8f73318589bf41f864b7f89f95669350873 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sat Sep 20 14:52:28 2014 -0700 tcp: move logic out of tcp_v[64]_gso_send_check In tcp_v[46]_gso_send_check the TCP checksum is initialized to the pseudo header checksum using __tcp_v[46]_send_check. We can move this logic into new tcp[46]_gso_segment functions to be done when ip_summed != CHECKSUM_PARTIAL (ip_summed == CHECKSUM_PARTIAL should be the common case, possibly always true when taking GSO path). After this change tcp_v[46]_gso_send_check is no-op. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e756c7b698604f11a979f2781d06eb7b80aba363 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Fri Sep 26 12:03:25 2014 +0800 Revert "cgroup: remove redundant variable in cgroup_mount()" This reverts commit 0c7bf3e8cab7900e17ce7f97104c39927d835469. If there are child cgroups in the cgroupfs and then we umount it, the superblock will be destroyed but the cgroup_root will be kept around. When we mount it again, cgroup_mount() will find this cgroup_root and allocate a new sb for it. So with this commit we will be trapped in a dead loop in the case described above, because kernfs_pin_sb() keeps returning NULL. Currently I don't see how we can avoid using both pinned_sb and new_sb, so just revert it. Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Reported-by: Andrey Wagin <avagin@xxxxxxxxx> Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 2fdbfea5735d3deb30a8782c57f7210cb034e69d Merge: 4daaab4 318fd49 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 26 00:13:06 2014 -0400 Merge branch 'stmmac' Beniamino Galvani says: ==================== net: stmmac glue layer for Amlogic Meson SoCs the Ethernet controller available in Amlogic Meson6 and Meson8 SoCs is a Synopsys DesignWare MAC IP core, already supported by the stmmac driver. These patches add a glue layer to the driver for the platform-specific settings required by the Amlogic variant. This has been tested on a Amlogic S802 device with the initial Meson support submitted by Carlo Caione [1]. [1] http://lwn.net/Articles/612000/ ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 318fd4909dcb7dc43a869132c2f38b769ed92d6a Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Sep 20 15:29:17 2014 +0200 net: stmmac: meson: document device tree bindings Add the device tree bindings documentation for the Amlogic Meson variant of the Synopsys DesignWare MAC. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ad5adcdb7335101f98066ec9239d06f4f2f7a9d Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Sep 20 15:29:16 2014 +0200 net: stmmac: add Amlogic Meson glue layer The Ethernet controller available in Meson6 and Meson8 SoCs is a Synopsys DesignWare MAC IP core, already supported by the stmmac driver. This glue layer implements some platform-specific settings needed by the Amlogic variant. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f3f760314afcb8522d2349b970b065589c5c8e48 Author: David Howells <dhowells@xxxxxxxxxx> Date: Thu Sep 25 14:34:41 2014 +0100 NFS: Fabricate fscache server index key correctly When fabricating a server index key for fscache, we should clear the index key buffer before starting to fill it in, not in the middle. Reported-by: James Pearson <james-p@xxxxxxxxxxxxxxxxxx> Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Steve Dickson <steved@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2aca5b869ace67a63aab895659e5dc14c33a4d6e Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Sep 24 22:35:58 2014 -0400 SUNRPC: Add missing support for RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT The flag RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT was intended introduced in order to allow NFSv4 clients to disable resend timeouts. Since those cause the RPC layer to break the connection, they mess up the duplicate reply caches that remain indexed on the port number in NFSv4.. This patch includes the code that was missing in the original to set the appropriate flag in struct rpc_clnt, when the caller of rpc_create() sets RPC_CLNT_CREATE_NO_RETRANS_TIMEOUT. Fixes: 8a19a0b6cb2e (SUNRPC: Add RPC task and client level options to...) Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit b52f4914f3be3ff50e7308e3ce03a2ce71195ecc Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Mon Sep 8 23:11:26 2014 -0700 asm-generic: COMMON_CLK defines __clk_{get,put} If CONFIG_COMMON_CLK is selected then __clk_get and __clk_put are defined in drivers/clk/clk.c and declared in include/linux/clkdev.h. Sylwester's series[0] to properly support clk_{get,put} in the common clock framework made changes to the asm-specific clkdev.h headers, but not the asm-generic version. Tomeu's recent changes[1] to introduce a provider/consumer split in the clock framework uncovered this problem, causing the following build error on any architecture using the asm-generic clkdev.h (e.g. x86 architecture and the ACPI LPSS driver): In file included from drivers/acpi/acpi_lpss.c:15:0: include/linux/clkdev.h:59:5: error: conflicting types for â??__clk_getâ?? int __clk_get(struct clk_core *clk); ^ In file included from arch/x86/include/generated/asm/clkdev.h:1:0, from include/linux/clkdev.h:15, from drivers/acpi/acpi_lpss.c:15: include/asm-generic/clkdev.h:20:19: note: previous definition of â??__clk_getâ?? was here static inline int __clk_get(struct clk *clk) { return 1; } ^ Fixed by only declarating __clk_get and __clk_put when CONFIG_COMMON_CLK is set. [0] http://lkml.kernel.org/r/<1386177127-2894-5-git-send-email-s.nawrocki@xxxxxxxxxxx> [1] http://lkml.kernel.org/r/<1409758148-20104-1-git-send-email-tomeu.vizoso@xxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 59c0621d4d5fa4faeb8a0cdd0cfe27c13fdd09b2 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Wed Sep 24 15:15:29 2014 +0530 clk: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 32bb231845325ca4d19bba414f8883f3e0d6436f Author: Olof Johansson <olof@xxxxxxxxx> Date: Thu Sep 25 17:41:19 2014 -0700 Revert "ARM: dts: hix5hd2: add wdg node" This reverts commit 610bd8722ef40b649b51f01045c5d1903f41b583. "ARM: dts: hix5hd2: add wdg node" causes a build breakage due to an undefined constatns: Error: arch/arm/boot/dts/hisi-x5hd2.dtsi:374.22-23 syntax error (Don't you just looove the dtc error messages? They are so informative!) Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 55c71581d416b131667cf834491adc54105bb7fc Merge: 49dd0dc cfa1950 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 01:49:21 2014 +0200 Merge tag 'at91-fixes-non-critical' of git://github.com/at91linux/linux-at91 into next/fixes-non-critical Pull "Fixes non critical for AT91" from Nicolas Ferre: - mmc pinmux for at91sam9263 was missing - little fix of the old clock implementation Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-fixes-non-critical' of git://github.com/at91linux/linux-at91: ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings commit 49dd0dcfd76091989a746968b7403e038a1953bf Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 20:44:44 2014 -0700 arm, vt8500, LLVMLlinux: Use mcr instead of mcr% for mach-vt8500 The ASM below does not compile with clang and is not the way that the mcr command is used in other parts of the kernel. arch/arm/mach-vt8500/vt8500.c:72:11: error: invalid % escape in inline assembly string asm("mcr%? p15, 0, %0, c7, c0, 4" : : "r" (0)); ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. There are other forms that are supported on different ARM instruction sets but generally the kernel just uses mcr as it is supported in all ARM instruction sets. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Tony Prisk <linux@xxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit bb25ce633d0621786526a2b7ad0d54468a55e986 Merge: 7b13e1a bf7389c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 01:38:28 2014 +0200 Merge branch 'next/defconfig' of git+ssh://ra.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc into next/defconfig commit 7b13e1aa6e144d8014eaf593259a3deb532d990a Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Thu Sep 25 11:38:24 2014 -0600 ARM: multi_v7_defconfig: add missing Tegra options Add all HW-support options from tegra_defconfig that are missing from multi_v7_defconfig. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit f18cf05038729a958732fbcc16730004dc1b84dd Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 11:17:12 2014 -0700 MAINTAINERS: add a third maintainer to mach-bcm Add myself as a third maintainer to the mach-bcm code to increase the chances the redundancy in the merging/reviewing process. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Acked-by: Scott Branden <sbranden@xxxxxxxxxxxx> Acked-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Matt Porter <mporter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 01eacbb84c29db2fb9a844b88f7d4874ed565d11 Merge: 8446cef 9b02732 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:51:53 2014 +0200 Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt Pull "Samsung DT update for 3.18" from Kukjin Kim: - un-use slot-node and deprecate the supports-highspped for dw-mmc - remove old USB2 PHY node for exynos5250 - exynos4412-odroid-common enable PMIC interrupt and i2c improvements - exynos5250-snow fold exynos5250-cros-common update display related nodes - Peach Pit and Pi improve power scheme, add support max77802 PMIC, add hdmi regulators add thermistor, ISL29018 sensor, set i2c clock at 400kHz, add support Atmel touchpad, update display related nodes Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: remove old USB2 PHY node for exynos5250 ARM: dts: remove old USB2 PHY node hook for exynos5250-arndale ARM: dts: update display related nodes for exynos5800-peach-pi ARM: dts: update display related nodes for exynos5420-peach-pit ARM: dts: update display related nodes for exynos5250-snow ARM: dts: Add support Atmel touchpad for exynos5800-peach-pi ARM: dts: Add support Atmel touchpad for exynos5420-peach-pit ARM: dts: Set i2c7 clock at 400kHz for exynos based Peach boards ARM: dts: Add ISL29018 sensor for exynos based Peach boards ARM: dts: Add thermistor dts fragment used by exynos based Peach boards ARM: dts: add hdmi regulators for exynos5420-peach-pit ARM: dts: add hdmi regulators for exynos5800-peach-pi ARM: dts: Add support max77802 PMIC for exynos based Peach boards ARM: dts: Improve Peach Pit and Pi power scheme ARM: dts: unuse the slot-node and deprecate the supports-highspeed for dw-mmc in exynos ARM: dts: Fold exynos5250-cros-common into exynos5250-snow ARM: dts: Fix MMC pinctrl for exynos5250-snow ARM: dts: ODROID i2c improvements for exynos4412-odroid-common ARM: dts: Enable PMIC interrupts for exynos4412-odroid-common commit fa531042ac3633b726067253f48ac542d86b80ad Merge: a52ae5a cd24850 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Thu Sep 25 15:48:04 2014 -0700 Merge branch 'clk-next-rockchip' into clk-next commit cd248502927fa5b4a700433675c4ff4a2bbee14b Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:48:47 2014 +0800 clk: rockchip: add clock node in PD_VIDEO This patch add the clock node in PD_VIDEO Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 8446cef1ca030792bae45dd3d7cd8bbbb96c7e62 Merge: a0f95e3 b2ed7d9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:40:43 2014 +0200 Merge tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt Pull "Keystone DTS updates for v3.18" from Santosh Shilimkar" - Add IRQ and GPIO nodes - Fix SPI chip select - Fix usb and pcie clock nodes Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'keystone-dts' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: dts: keystone: fix bindings for pcie and usb clock nodes ARM: dts: keystone: k2l: Fix chip selects for SPI devices ARM: dts: keystone: add dsp gpio controllers nodes ARM: dts: keystone: add keystone irq controller node commit a0f95e35c7a518ea4c63762511733156023eed77 Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:54:55 2014 +0800 ARM: dts: add rk3288 i2s controller Add dt for rk3288 i2s controller, since i2s clock pins and data pins default to be GPIO, this patch also add pinctrl to mux them. Tested on RK3288 board. Signed-off-by: Jianqun Xu <jay.xu@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 741c798a0229c9523c1f68bc8c83a79fefad4333 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu May 22 00:35:37 2014 +0200 leds: add device tree bindings for register bit LEDs This adds the device tree bindings used by register bit LEDs. Cc: devicetree@xxxxxxxxxxxxxxx Cc: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a2974c9c1f83e7163e855eb80c772db45bc9a291 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Jul 25 15:04:52 2014 +0200 soc: add driver for the ARM RealView This adds a SoC driver to be used by the ARM RealView reference boards. We create the "versatile" directory to hold the different ARM reference designs as per the pattern of the clk directory layout. The driver utilze the syscon to get to the register needed. After this we can use sysfs to get at some SoC properties on RealView DT variants like this: > cd /sysbus/soc/devices/soc0 > ls board family machine power subsystem build fpga manufacturer soc_id uevent > cat family Versatile > cat fpga Multi-layer AXI > cat board HBI-0147 > cat build 03 Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Conflicts: drivers/soc/Kconfig drivers/soc/Makefile commit 0e545f57b708630c54c8c5c24ea7f7034f6c40d9 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu May 22 10:20:38 2014 +0200 power: reset: driver for the Versatile syscon reboot This driver enabled us to drive the reboot of the Versatile family of ARM reference boards. Even though only the RealView boards are supported initially, these boards all have the same procedure for reboot: - Write a magic value into an unlocking register - Write another magic value into a reset control register The driver will be reusable for Versatile and possibly also the Integrator family of reference boards. Cc: Dmitry Eremin-Solenikov <dbaryshkov@xxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Acked-By: Sebastian Reichel <sre@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 535f09cc1ca7788ecdaf27466b23887a4932ae73 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Thu May 22 00:34:16 2014 +0200 leds: add a driver for syscon-based LEDs This makes it possible to create a set of LEDs from a syscon MFD instance, which is lean mean and clean on the ARM reference designs and can replace the Versatile LEDs driver in the long run, as well as other custom syscon LEDs drivers. Cc: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> [Fixed cocinelle warnings] Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6d50424a390966e0afdf4d28c2713c8312645bc9 Merge: 0c18acc11 02037a9 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:15:09 2014 +0200 Merge tag 'at91-soc2' of git://github.com/at91linux/linux-at91 into next/soc Pull "Second SoC batch for 3.18" from Nicolas Ferre: - introduction of the new SAMA5D4 SoC and associated Evaluation Kit - low level soc detection and early printk code - taking advantage of this, documentation of all AT91 SoC DT strings Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-soc2' of git://github.com/at91linux/linux-at91: ARM: at91: document Atmel SMART compatibles ARM: at91: add sama5d4 support to sama5_defconfig ARM: at91: dt: add device tree file for SAMA5D4ek board ARM: at91: dt: add device tree file for SAMA5D4 SoC ARM: at91: SAMA5D4 SoC detection code and low level routines ARM: at91: introduce basic SAMA5D4 support clk: at91: add a driver for the h32mx clock commit 0c18acc110c5d582327f78aa2d5d061d2e67af68 Merge: cd95427 5db722e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:14:31 2014 +0200 Merge branch 'at91/soc' into next/soc The soc2 branch is based on this cleanup: * at91/soc: ARM: at91: Remove the support for the RSI EWS board ARM: at91: remove board file for Acme Systems Fox G20 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 05301fe7de11dac87638f1728f8ee8b31bc1cf31 Merge: ddfe53d 5db722e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:12:30 2014 +0200 Merge tag 'at91-soc' of git://github.com/at91linux/linux-at91 into next/cleanup Pull "First AT91 SoC batch for 3.18" from Nicolas Ferre: - removal of 2 board C files in mach-at91 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-soc' of git://github.com/at91linux/linux-at91: ARM: at91: Remove the support for the RSI EWS board ARM: at91: remove board file for Acme Systems Fox G20 commit ddfe53d1cbfcb214f7ea58f13e811937dc74663e Merge: 2b3a47d 3d0cb73 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:09:49 2014 +0200 Merge tag 'cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Pull "Clean-up for omaps for v3.18 merge window" from Tony Lindgren: - Remove unused pieces of the legacy DMA API as we're moving to dmaengine API - Search and replace to standardize on pr_warn instead of pr_warning Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: arm: mach-omap2: Convert pr_warning to pr_warn ARM: OMAP: Remove unused pieces of legacy DMA API commit 16529509a52b9c0a01697ac587bce4f5c466ac64 Merge: 478a4f8 f53e3c5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:08:06 2014 +0200 Merge tag 'dt-part2-v2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Pull "part 2 of omap dts changes" from Tony Lindgren: Changes to add dra7 PMU, display support for cm-t54, misc changes needed for omap3 boards for device tree support. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'dt-part2-v2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: DRA7: Add PMU nodes ARM: dts: cm-t54: setup omap_dwc3 ARM: dts: cm-t54: add ADS7846 touchscreen support ARM: dts: cm-t54: add Startek LCD support ARM: dts: cm-t54: add HDMI/DVI display data ARM: dts: cm-t54: fix mux mode comment style ARM: dts: sbc-t54: fix mux mode comment style ARM: dts: Enable PMIC idle configuration for LDP ARM: dts: Add support for Ethernet on some N900 macro boards ARM: dts: Do not set pulls for I2C lines ARM: dts: omap: Remove WAKEUPENABLE mux options for UARTs ARM: dts: omap3-overo: Fix UART wake-up events commit 89d83e14f44c37c46fc1880a0768da1a77b682c7 Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Thu Sep 25 15:48:46 2014 +0800 clk: rockchip: use the clock id for nodes init This patch use the new defined clock ID to initial the clock nodes. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit cd954274817e33004c64d9fb6e13821ab7f6e204 Merge: e1e85e7 1306c08 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 26 00:00:02 2014 +0200 Merge tag 'soc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Pull "part 2 of omap SoC changes" from Tony Lindgren: Few hwmod changes to support upcoming 8250 driver with DMA, start using the SRAM driver for some omaps, and update the defconfig. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'soc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP4+: Remove static iotable mappings for SRAM ARM: OMAP4+: Move SRAM data to DT ARM: AM335x: Get rid of unused sram init function ARM: omap2plus_defconfig: Enable some display features ARM: omap2plus_defconfig: Enable battery and reset drivers ARM: omap2plus_defconfig: Add support for distros with systemd ARM: omap2plus_defconfig: Add cpufreq to defconfig ARM: omap2plus_defconfig: Shrink with savedefconfig ARM: OMAP3: Use manual idle for UARTs because of DMA errata ARM: OMAP2+: Add hwmod flag for HWMOD_RECONFIG_IO_CHAIN commit 6839dbbb1627964518c417b07eb18f38aa8c8451 Merge: 8a87f1a 64d5947 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 23:57:23 2014 +0200 Merge tag 'intc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers Merge "part 2 of omap intc changes" from Tony Lindgren: Second part of omap intc interrupt controller changes to move it to drivers. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'intc-part2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: irqchip: omap-intc: remove unnecessary comments irqchip: omap-intc: correct maximum number or MIR registers irqchip: omap-intc: enable TURBO idle mode irqchip: omap-intc: enable IP protection irqchip: omap-intc: remove unnecesary of_address_to_resource() call irqchip: omap-intc: comment style cleanup irqchip: omap-intc: minor improvement to omap_irq_pending() arm: omap: irq: move irq.c to drivers/irqchip/ irqchip: add irq-omap-intc.h header arm: omap2: n8x0: move i2c devices to DT commit 478a4f81af4936c683a03488e15b087e28cb4f0d Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Thu Sep 18 10:23:06 2014 +0100 ARM: vexpress: Add CLCD Device Tree properties ... for V2M-P1 motherboard CLCD (limited to 640x480 16bpp and using dedicated video RAM bank) and for V2P-CA9 (up to 1024x768 16bpp). Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 5e9a3d70710ef7196170a8feca4aecb73d8eb9c4 Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Wed Sep 24 21:36:34 2014 +0800 clk: rockchip: add some needed clock binding id for rk3288 This patch add some clock binding id for different modules that under development and going to send upstream. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit e1e85e76ef327d4b013453ddd7b2c673aa304a71 Merge: 57e33ff e076e96 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 23:48:18 2014 +0200 Merge tag 'bcm63138-v4' of http://github.com/brcm/linux into next/soc Merge "ARM: BCM: Broadcom BCM63138 support" from Florian Fainelli: This patchset adds very minimal support for the BCM63138 SoC which is a xDSL SoC using a dual Cortex A9 CPU complex. * tag 'bcm63138-v4' of http://github.com/brcm/linux: MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs ARM: BCM63XX: add BCM963138DVT Reference platform DTS ARM: BCM63XX: add BCM63138 minimal Device Tree ARM: BCM63XX: add low-level UART debug support ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC Conflicts: arch/arm/Kconfig.debug Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d1a559a1cb1d4aa1c63c56bdb39d9d18dfaf9523 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Sep 24 23:41:54 2014 +0200 clk: rockchip: add missing rk3288 npll rate table The npll on rk3288 is exactly the same pll type as the other 4. Yet it was missing the link to the rate table, making rate changes impossible. Change that by setting the table. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit f9c0d14062e235ef11c9d5e776ebc7a05894f299 Author: Mark yao <mark.yao@xxxxxxxxxxxxxx> Date: Fri Sep 12 17:24:46 2014 +0800 clk: rockchip: rk3288: fix softreset register count The rk3288 actually has 12 softresets, so fix the register count. Signed-off-by: Mark yao <mark.yao@xxxxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 4b47c3f5f7a330ce953b799872ded7bdc59bfd27 Author: Mark yao <mark.yao@xxxxxxxxxxxxxx> Date: Fri Sep 12 19:45:27 2014 +0800 clk: rockchip: rk3288: add reset indices for SOFTRST9-11 The patch add the rest of the indices of the additional reset registers from the updated TRM. Signed-off-by: Mark yao <mark.yao@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 367dc4b75f4349d5363bc3ebdc030939db944786 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Tue Sep 16 12:37:16 2014 +0200 CNS3xxx: Fix PCIe read size limit. Max_Read_Request_Size is 3 bits wide, not 2 bits. Also fix the message. Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit defaa4d1dc97320ccc0ea83bc3851443b1c9083a Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Tue Sep 16 12:36:32 2014 +0200 CNS3xxx: Fix logical PCIe topology. Without this patch, each root port and the device connected directly to it seem to be located on a shared (virtual) bus #0. It creates problems with enabling devices (the PCI code doesn't know that the root bridge must be enabled in order to access other devices). The PCIe topology shown by lspci doesn't reflect reality, e.g.: 0000:00:00.0 PCI bridge: Cavium Networks Device 3400 0000:00:01.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge 0000:02:... 0001:00:00.0 PCI bridge: Cavium Networks Device 3400 (for the second lane/bus) -+-[0001:00]---00.0-[01]-- \-[0000:00]-+-00.0-[01]-- | ^^^^ root bridge \-01.0-[02]----... ^^^^ first external device With this patch, the first external PCIe device is connected to bus #1 (behind the root bridge). -+-[0001:00]---00.0-[01]-- \-[0000:00]---00.0-[01-02]----------00.0-[02]----... ^^^^ root bridge ^^^^ first external device Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit b125170a39ea35fe5ef93c894940feb6cf08ebd3 Author: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Date: Tue Sep 16 12:35:10 2014 +0200 CNS3xxx: Fix debug UART. UARTs on CNS3xxx are 8250-compatible, not AMBA. The base address for UART0 is 0x78000000 (physical) and 0xfb002000 (virtual). Signed-off-by: Krzysztof HaÅ?asa <khalasa@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit bf7389c49d1db5d731bbb9cece2fd95edc7a176a Author: Lubomir Rintel <lkundrak@xxxxx> Date: Tue Sep 16 19:52:04 2014 -0600 ARM: bcm2835: enable USB_DWC2_HOST in defconfig It broke when host was moved into a separate module, in 47a1685 ("usb: dwc2/s3c-hsotg: move s3c-hsotg into dwc2 directory"), Signed-off-by: Lubomir Rintel <lkundrak@xxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 667bbd533772e2539cf7d7fed7cd7d284a624e37 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 16 19:51:36 2014 -0600 ARM: bcm2835: add I2S pinctrl to device tree Signed-off-by: Florian Meier <florian.meier@xxxxxxxx> [Tweaked slightly to disable by default -- broonie] Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> [swarren, removed duplicate i2s node] Signed-off-by: Stephen Warren <swarren@xxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2b3a47d7a0cda3b35d95a4935d502ff5abab2c4d Merge: 28fd837 f6361c6 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 23:23:34 2014 +0200 Merge tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup Pull "Samsung cleanup for 3.18" from Kukjin Kim: - remove unused <mach/memory.h> in exynos - local <mach/regs-clock.h> for s5pv210 - cleanup boot address calculate for exynos - remove separate restart code for s3c24xx Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'samsung-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: S3C24XX: remove separate restart code ARM: EXYNOS: Do not calculate boot address twice ARM: S5PV210: move <mach/regs-clock.h> into mach-s5pv210/ ARM: EXYNOS: remove unused <mach/memory.h> commit f70ced09170761acb69840cafaace4abc72cba4b Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:47 2014 +0800 blk-mq: support per-distpatch_queue flush machinery This patch supports to run one single flush machinery for each blk-mq dispatch queue, so that: - current init_request and exit_request callbacks can cover flush request too, then the buggy copying way of initializing flush request's pdu can be fixed - flushing performance gets improved in case of multi hw-queue In fio sync write test over virtio-blk(4 hw queues, ioengine=sync, iodepth=64, numjobs=4, bs=4K), it is observed that througput gets increased a lot over my test environment: - throughput: +70% in case of virtio-blk over null_blk - throughput: +30% in case of virtio-blk over SSD image The multi virtqueue feature isn't merged to QEMU yet, and patches for the feature can be found in below tree: git://kernel.ubuntu.com/ming/qemu.git v2.1.0-mq.4 And simply passing 'num_queues=4 vectors=5' should be enough to enable multi queue(quad queue) feature for QEMU virtio-blk. Suggested-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e97c293cdf77263abdc021de280516e0017afc84 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:46 2014 +0800 block: introduce 'blk_mq_ctx' parameter to blk_get_flush_queue This patch adds 'blk_mq_ctx' parameter to blk_get_flush_queue(), so that this function can find the corresponding blk_flush_queue bound with current mq context since the flush queue will become per hw-queue. For legacy queue, the parameter can be simply 'NULL'. For multiqueue case, the parameter should be set as the context from which the related request is originated. With this context info, the hw queue and related flush queue can be found easily. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0bae352da54a95435f721705d3670a6eaefdcf87 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:45 2014 +0800 block: flush: avoid to figure out flush queue unnecessarily Just figuring out flush queue at the entry of kicking off flush machinery and request's completion handler, then pass it through. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ba483388e3058b3e412632a84e6bf1f134beaf3d Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:44 2014 +0800 block: remove blk_init_flush() and its pair Now mission of the two helpers is over, and just call blk_alloc_flush_queue() and blk_free_flush_queue() directly. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7c94e1c157a227837b04f02f5edeff8301410ba2 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:43 2014 +0800 block: introduce blk_flush_queue to drive flush machinery This patch introduces 'struct blk_flush_queue' and puts all flush machinery related fields into this structure, so that - flush implementation details aren't exposed to driver - it is easy to convert to per dispatch-queue flush machinery This patch is basically a mechanical replacement. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7ddab5de5b80d3111f9e6765714e728b2c4f1c07 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:42 2014 +0800 block: avoid to use q->flush_rq directly This patch trys to use local variable to access flush request, so that we can convert to per-queue flush machinery a bit easier. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 3c09676c12b1dabf84acbb5849bfc54acadaf092 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:41 2014 +0800 block: move flush initialization to blk_flush_init These fields are always used with the flush request, so initialize them together. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f355265571440a7db16e784b6edf4e7d26971a03 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:40 2014 +0800 block: introduce blk_init_flush and its pair These two temporary functions are introduced for holding flush initialization and de-initialization, so that we can introduce 'flush queue' easier in the following patch. And once 'flush queue' and its allocation/free functions are ready, they will be removed for sake of code readability. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1bcb1eada4f11a713cbe586d1b5a5d93a48277cb Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:39 2014 +0800 blk-mq: allocate flush_rq in blk_mq_init_flush() It is reasonable to allocate flush req in blk_mq_init_flush(). Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 08e98fc6016c890c2f4ffba6decc0ca9d2d5d7f8 Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Thu Sep 25 23:23:38 2014 +0800 blk-mq: handle failure path for initializing hctx Failure of initializing one hctx isn't handled, so this patch introduces blk_mq_init_hctx() and its pair to handle it explicitly. Also this patch makes code cleaner. Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0bee2b6f441a6d3b335f9068cd4b350fe6971229 Merge: cd7555a 610bd87 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 23:21:09 2014 +0200 Merge tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi into next/dt Pull "ARM: DT: Hisilicon terminal SoC HiX5HD2 DT updates for 3.18" from Wei Xu: - Add watchdog, gpio, sata, usb, mmc and gmac nodes in HiX5HD2 SoC DT - Enable sata and gmac in HiX5HD2 dkb board DT Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'hix5hd2-dt-for-3.18' of git://github.com/hisilicon/linux-hisi: ARM: dts: hix5hd2: add wdg node ARM: dts: hix5hd2: add gpio node ARM: dts: hix5hd2: add sata node ARM: dts: hix5hd2: add usb node ARM: dts: hix5hd2: add mmc node ARM: dts: hix5hd2: add gmac node commit 3fc3edf141fd78f624194eb89d7b37ff86138422 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Sep 25 16:28:53 2014 -0400 NFSv3: Fix missing includes of nfs3_fs.h Silence a few warnings about missing symbols that are due to missing includes of nfs3_fs.h. Fixes: 00a36a1090350 (NFS: Move v3 declarations out of internal.h) Fixes: cb8c20fa53ec2 (NFS: Move NFS v3 acl functions to nfs3_fs.h) Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit eeb1aa5f78caf8d5ec1ef651c09bde34370321d8 Merge: 9133664 d2e5c87 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Sep 25 22:18:45 2014 +0200 Merge branch 'cpuidle/3.18' of https://git.linaro.org/people/daniel.lezcano/linux into pm-cpuidle Pull ARM cpuidle changes for v3.18 from Daniel Lezcano: "this pull request contains the following changes: * Lorenzo Pieralisi implemented a framework to initialize the ARM cpuidle drivers with the DT. As an example, it provided a couple of drivers using it: arm64 and big little. The former one is a new driver while the latter is a change. There was also a patch for Exynos allowing to use this framework but as it depends on a change in Samsung's tree, I postponed this patch until the change is visible after the merge. The set of changes depends on some other changes made in the ARM64 tree, for this reason a shared branch is used. This is why there is a merge from arm64 in my pull request. I believe we already used this procedure. * Kevin Hilman added the compatible string for the exynos 5800 in the DT" * 'cpuidle/3.18' of https://git.linaro.org/people/daniel.lezcano/linux: drivers: cpuidle: initialize big.LITTLE driver through DT drivers: cpuidle: CPU idle ARM64 driver drivers: cpuidle: implement DT based idle states infrastructure cpuidle: big.LITTLE: add Exynos5800 compatible string arm64: add PSCI CPU_SUSPEND based cpu_suspend support arm64: kernel: introduce cpu_init_idle CPU operation arm64: kernel: refactor the CPU suspend API for retention states Documentation: arm: define DT idle states bindings commit 7961bb722631cbf0cd68c57f3255ba66e1a879d9 Merge: 0f33be0 cd8caa1 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Thu Sep 25 22:16:09 2014 +0200 Merge tag 'avs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux into pm-avs Pull AVS changes for v3.18 from Kevin Hilman: - Add new driver for Rockchip IO voltage domains - update MAINTAINERS to reflect maintenance of drivers/power/avs/* * tag 'avs-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux: MAINTAINERS: update entry for drivers/power/avs PM / AVS: rockchip-io: add driver handling Rockchip io domains commit 263c589bae9eb404df2c1e8d49ec775bb7b288d4 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Sep 25 17:49:59 2014 +0200 PM / Domains: Remove legacy API for adding devices through DT There are no active clients of the legacy API and we now also have a better way to handle genpd DT support. So let's remove the legacy API. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d79b6fe17aa279c7015a9c4ee88809dad4be9959 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Sep 25 18:28:28 2014 +0200 PM / Domains: Add genpd attach/detach callbacks While a PM domain can enable PM runtime management of its devices' module clocks by setting genpd->dev_ops.stop = pm_clk_suspend; genpd->dev_ops.start = pm_clk_resume; this also requires registering the clocks with the pm_clk subsystem. In the legacy case, this is handled by the platform code, after attaching the device to its PM domain. When the devices are instantiated from DT, devices are attached to their PM domains by generic code, leaving no method for the platform-specific PM domain code to register their clocks. Add two callbacks, allowing a PM domain to perform platform-specific tasks when a device is attached to or detached from a PM domain. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c0ed74e9d026af7b4f79bc29aaac37aac5b6e0a4 Merge: b1bf295 89ec3dc 89b51cb 2f4096e Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Sep 25 13:52:02 2014 -0600 Merge branches 'pci/enumeration', 'pci/virtualization' and 'pci/cleanup' into next * pci/enumeration: PCI: Generate uppercase hex for modalias interface class * pci/virtualization: PCI: Add ACS quirk for Solarflare SFC9120 & SFC9140 PCI: Remove unused pci_get_dma_source() PCI: Remove unused pci_find_upstream_pcie_bridge() * pci/cleanup: PCI: Remove assignment from complicated "if" conditions PCI: Remove assignment from "if" conditions PCI: Remove unnecessary curly braces PCI: Add space before open parenthesis commit b1bf29577870d7b10167d1d8ac86e08757993016 Merge: 783a28e 56fab6e 65aaae2 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Sep 25 13:51:55 2014 -0600 Merge branches 'pci/host-mvebu' and 'pci/host-spear' into next * pci/host-mvebu: PCI: mvebu: Fix uninitialized variable in mvebu_get_tgt_attr() * pci/host-spear: PCI: spear: Pass config resource through reg property commit 46fb3c21d20415dd2693570c33d0ea6eb8745e04 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 22 14:39:48 2014 -0300 perf trace: Filter out POLLHUP'ed file descriptors So that we don't continue polling on vanished file descriptors, i.e. file descriptors for events monitoring threads that exited. I.e. the following 'trace' command now exits as expected, instead of staying in an eternal loop: $ sleep 5s & $ trace -p `pidof sleep` Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-6qegv786zbf6i8us6t4rxug9@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6dcf45ef9877863fb68c065e5ade3cdb6217c504 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Aug 13 11:33:59 2014 -0300 perf record: Filter out POLLHUP'ed file descriptors So that we don't continue polling on vanished file descriptors, i.e. file descriptors for events monitoring threads that exited. I.e. the following 'perf record' command now exits as expected, instead of staying in an eternal loop: $ sleep 5s & $ perf record -p `pidof sleep` Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8dg8o21t2ntzly2bfh53p3sg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e4b356b56cfe77b800a9bc2e6efefa6a069b8a78 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 8 11:27:49 2014 -0300 perf evlist: Unmap when all refcounts to fd are gone and events drained As noticed by receiving a POLLHUP for all its pollfd entries. That will remove the refcount taken in perf_evlist__mmap_per_evsel(), and when all events are consumed via perf_evlist__mmap_read() + perf_evlist__mmap_consume(), the ring buffer will be unmap'ed. Thanks to Jiri Olsa for pointing out that we must wait till all events are consumed, not being ok to unmmap just when receiving all the POLLHUPs. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-t10w1xk4myp7ca7m9fvip6a0@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2171a9256862ec139a042832a9ae737b942ca882 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 8 11:24:01 2014 -0300 tools lib fd array: Allow associating an integer cookie with each entry We will use this in perf's evlist class so that it can, at fdarray__filter() time, to unmap the associated ring buffer. We may need to have further info associated with each fdarray entry, in that case we'll make that int array a 'union fdarray_priv' one and put a pointer there so that users can stash whatever they want there. For now, an int is enough tho. v2: Add clarification to the per array entry priv area, as well as make it a union, which makes usage a bit longer, but if/when we make it use more space by allowing per entry pointers existing users source code will not have to be changed, just rebuilt. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0p00bn83quck3fio3kcs9vca@xxxxxxxxxxxxxx commit 82396986032915c1572bfb74b224fcc2e4e8ba7c Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 8 13:26:35 2014 -0300 perf evlist: Refcount mmaps We need to know how many fds are using a perf mmap via PERF_EVENT_IOC_SET_OUTPUT, so that we can know when to ditch an mmap, refcount it. v2: Automatically unmap it when the refcount hits one, which will happen when all fds are filtered by perf_evlist__filter_pollfd(), in later patches. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140908153824.GG2773@xxxxxxxxxx Link: http://lkml.kernel.org/n/tip-cpv7v2lw0g74ucmxa39xdpms@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1b85337d0685d1dc5a6f9061434ba4316d69f3b8 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 3 18:02:59 2014 -0300 tools lib api: Adopt fdarray class from perf's evlist The extensible file description array that grew in the perf_evlist class can be useful for other tools, as it is not something that only evlists need, so move it to tools/lib/api/fd to ease sharing it. v2: Don't use {} like in: libapi_dirs: $(QUIET_MKDIR)mkdir -p $(OUTPUT){fs,fd}/ in Makefiles, as it will not work in some systems, as in ubuntu13.10. v3: Add fd/*.[ch] to LIBAPIKFS_SOURCES (Fix from Jiri Olsa) v4: Leave the fcntl(fd, O_NONBLOCK) in the evlist layer, remains to be checked if it is really needed there, but has no place in the fdarray class (Fix from Jiri Olsa) v5: Remove evlist details from fdarray grow/filter tests. Improve it a bit doing more tests about expected internal state. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-kleuni3hckbc3s0lu6yb9x40@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f66a889dbc96dd342c87232d74f0956076707746 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 18 17:25:59 2014 -0300 perf evlist: Introduce poll method for common code idiom Since we have access two evlist members in all these poll calls, provide a helper. This will also help to make the patch introducing the pollfd class more clear, as the evlist specific uses will be hiden away perf_evlist__poll(). Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-jr9d4aop4lvy9453qahbcgp0@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0a04c9e0b2181aff8348b5e80d9d96ec8df1ffb3 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 18 17:12:30 2014 -0300 perf kvm stat live: Use perf_evlist__add_pollfd() instead of local equivalent Since we can add file descriptors to the evlist pollfd and it will autogrow, no need to copy all events to a local pollfd array, just add the timer and stdin file descriptors. Reviewed-by: David Ahern <dsahern@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2hvp9iromiheh6rl4oaa08x5@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9ae28035b8677b82e1d71cea4f793cb5504ec104 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 18 16:49:00 2014 -0300 perf tests: Add pollfd growing test [acme@ssdandy linux]$ perf test "Add fd" 34: Add fd to pollfd array, making it autogrow : Ok [acme@ssdandy linux]$ perf test -v "Add fd" 34: Add fd to pollfd array, making it autogrow : --- start --- test child forked, pid 19817 before growing array: 2 [ 1, 2 ] after 3rd add_pollfd: 3 [ 1, 2, 35 ] after 4th add_pollfd: 4 [ 1, 2, 35, 88 ] test child finished with 0 ---- end ---- Add fd to pollfd array, making it autogrow: Ok [acme@ssdandy linux]$ Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-smflpyta146bzog7z0effjss@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ad6765dd3b2f043e819bdec565db8f5a2f781e06 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Aug 18 16:44:06 2014 -0300 perf evlist: Allow growing pollfd on add method This way we will be able to add more file descriptors to be polled, like stdin or some timer fd. At this point we might as well yank the pollfd class from evlist so that it can be used in other places. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-o2mzsjl7taumsoc35ryol00i@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 033fa713db66b96d5779e6a93d50ff821bc1abd2 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 8 12:55:12 2014 -0300 perf evlist: We need to poll all event file descriptors Because we want to notice when they get POLLHUP'ed, so that we can figure out when all threads exited in a workload being monitored. We can't just monitor the fds that were mmaped, we need to notice when all the fds that were PERF_EVENT_IOC_SET_OUTPUT'ed too, because the mmap stays even after the fd that originally was used to do the mmap call went away, its only when all the set-output fds for a mmap are gone that the mmap is. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140908151016.GH17728@xxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/n/tip-24omlq5asrfg4uo3muuzn2bl@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8179672c2f7b9c41a7ef3e8c907d214fa92ed614 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Aug 13 11:26:21 2014 -0300 perf evlist: Monitor POLLERR and POLLHUP events too We want to know when the fd went away, like when a monitored thread exits. If we do not monitor such events, then the tools will wait forever on events from a vanished thread, like when running: $ sleep 5s & $ perf record -p `pidof sleep` This builds upon the kernel patch by Jiri Olsa that actually makes a poll on those file descriptors to return POLLHUP. It is also needed to change the tools to use perf_evlist__filter_pollfd() to check if there are remainings fds to monitor or if all are gone, in which case they will exit the poll/mmap/read loop. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-a4fslwspov0bs69nj825hqpq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 54dbfae3007b0c61727abba45af1e4c226908d82 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 12 23:34:06 2014 -0300 perf tests: Add test for perf_evlist__filter_pollfd() That will use a synthetic evlist with just what is touched by this new method to check that it works as expected. Output in verbose mode: $ perf test -v pollfd 33: Filter fds with revents mask in a pollfd array : --- start --- filtering all but pollfd[2]: before: 5 [ 5, 4, 3, 2, 1 ] after: 1 [ 3 ] filtering all but (pollfd[0], pollfd[3]): before: 5 [ 5, 4, 3, 2, 1 ] after: 2 [ 5, 2 ] test child finished with 0 ---- end ---- Filter fds with revents mask in a pollfd array: Ok $ Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-x7c8liszdvc3ocmanf2cet8p@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1ddec7f0d0ab5b71cf2cc5a782441c20e7afbcfb Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Aug 12 23:04:11 2014 -0300 perf evlist: Introduce perf_evlist__filter_pollfd method To remove all entries in evlist->pollfd[] that have revents matching at least one of the bits in the specified mask. It'll adjust evlist->nr_fds to the number of unfiltered fds and will return this value, as a convenience and to avoid requiring direct access to internal state of perf_evlist objects. This will be used after polling the evlist fds so that we remove fds that were closed by the kernel. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-y2sca7z3wicvvy40a50lozwm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0fea6d7628ed6e25a9ee1b67edf7c859718d39e8 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Thu Sep 25 18:41:07 2014 +0200 arm/arm64: KVM: Fix set_clear_sgi_pend_reg offset The sgi values calculated in read_set_clear_sgi_pend_reg() and write_set_clear_sgi_pend_reg() were horribly incorrectly multiplied by 4 with catastrophic results in that subfunctions ended up overwriting memory not allocated for the expected purpose. This showed up as bugs in kfree() and the kernel complaining a lot of you turn on memory debugging. This addresses: http://marc.info/?l=kvm&m=141164910007868&w=2 Reported-by: Shannon Zhao <zhaoshenglong@xxxxxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit c50e3247aa2d825e0dc0f4b876ee22d7134d24ca Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Sep 9 15:59:37 2014 +0200 iommu/amd: Fix devid mapping for ivrs_ioapic override When the device id for an IOAPIC is overridden on the kernel command line, the iommu driver has to make sure it sets up a DTE for this device id. Reported-by: Su Friendy <friendy.su@xxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5fc24d8cb9d43e0db335137051092da03a6845dc Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Wed Sep 17 17:32:19 2014 +0800 iommu/irq_remapping: Fix the regression of hpet irq remapping Commit 71054d8841b4 ("x86, hpet: Introduce x86_msi_ops.setup_hpet_msi") introduced x86_msi_ops.setup_hpet_msi to setup hpet MSI irq when irq remapping enabled. This caused a regression of hpet MSI irq remapping. Original code flow before commit 71054d8841b4: hpet_setup_msi_irq() arch_setup_hpet_msi() setup_hpet_msi_remapped() remap_ops->setup_hpet_msi() alloc_irte() msi_compose_msg() hpet_msi_write() ... Current code flow after commit 71054d8841b4: hpet_setup_msi_irq() x86_msi.setup_hpet_msi() setup_hpet_msi_remapped() intel_setup_hpet_msi() alloc_irte() Currently, we only call alloc_irte() for hpet MSI, but do not composed and wrote its msg... Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit cd8caa18deff6d2d87a4e3161b4dd8c6da3c4f38 Merge: 20651e0 7179569 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Thu Sep 25 09:57:57 2014 -0700 Merge branch 'topic/voltage-ev' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into avs-next commit 20651e0b218e3684fee5e46319a1ba363c864179 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Sep 24 16:30:00 2014 -0700 MAINTAINERS: update entry for drivers/power/avs Some more AVS-related drivers are arriving. Update MAINTAINERS to reflect that myself and Nishanth will keep an eye on the new ones as well. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 662a958638bdb802451da6933e7ddb4a69517893 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Sep 11 15:48:55 2014 -0700 PM / AVS: rockchip-io: add driver handling Rockchip io domains IO domain voltages on some Rockchip SoCs are variable but need to be kept in sync between the regulators and the SoC using a special register. A specific example using rk3288: - If the regulator hooked up to a pin like SDMMC0_VDD is 3.3V then bit 7 of GRF_IO_VSEL needs to be 0. If the regulator hooked up to that same pin is 1.8V then bit 7 of GRF_IO_VSEL needs to be 1. Said another way, this driver simply handles keeping bits in the SoC's general register file (GRF) in sync with the actual value of a voltage hooked up to the pins. Note that this driver specifically doesn't include: - any logic for deciding what voltage we should set regulators to - any logic for deciding whether regulators (or internal SoC blocks) should have power or not have power If there were some other software that had the smarts of making decisions about regulators, it would work in conjunction with this driver. When that other software adjusted a regulator's voltage then this driver would handle telling the SoC about it. A good example is vqmmc for SD. In that case the dw_mmc driver simply is told about a regulator. It changes the regulator between 3.3V and 1.8V at the right time. This driver notices the change and makes sure that the SoC is on the same page. Signed-off-by: Heiko Stübner <heiko@xxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [khilman: fix compiler warnings] Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 8a87f1a6c8f6b78758f4e5e8e616b0df821ba2b2 Merge: b2fc3f3 64a1925 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:15:34 2014 +0200 Merge tag 'sunxi-drivers-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/drivers Pull "Allwinner drivers additions for 3.18" from Maxime Ripard: Nothing major, just handling the RTC driver changes needed for the A31/A23. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'sunxi-drivers-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc rtc: sun6i: Add sun6i RTC driver commit cd7555aeae372c6faf09cbbc1dfbdd0c91fe76f7 Merge: 45c636b d07fe96 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:13:49 2014 +0200 Merge tag 'sunxi-dt-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/dt Pull "Allwinner DT Additions for 3.18" from Maxime Ripard: Mostly: - A23 bringup ongoing - New boards: HSG H702, Merrii A20 Hummingbird - sun(4|5|7)i DMA support - DT relicensing to a dual GPL/X11 license Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'sunxi-dt-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: (30 commits) ARM: dts: sun8i: Add DMA controller node ARM: dts: sun5i: Add DT for HSG H702 tablet board ARM: dts: sunxi: Add fixed 5V regulator ARM: sun8i: Relicense the A23 DTSI under GPLv2/X11 ARM: sun7i: Relicense the A20 DTSI under GPLv2/X11 ARM: sun6i: Relicense the A31 DTSI under GPLv2/X11 ARM: sun7i: Add support for Olimex A20-OLinuXino-LIME ARM: dts: sun7i: Add Merrii A20 Hummingbird board ARM: dts: sun7i: Add uart3/4/5, i2c3 and spi2 pinmux ARM: dt: sunxi: Remove i2c controller clock-frequency that matches default ARM: dts: sun8i: Enable i2c controllers on ippo-q8h-v5 ARM: dts: sun8i: Add i2c controller nodes ARM: dts: sun8i: Add pin-muxing info for the i2c controllers ARM: dts: sun8i: Enable mmc controller on ippo-q8h-v5 ARM: dts: sun8i: Add mmc controller nodes ARM: dts: sun8i: Add pin-muxing info for the mmc controllers ARM: dts: sun8i: Add mmc clocks to the dtsi ARM: dts: sun8i: ippo-q8h: Add pinctrl properties for R_UART ARM: dts: sun8i: Add pin muxing option for R_UART ARM: dts: sun8i: Add pinmux set for uart0 ... commit cb88e7cdd1547d280e1fe94502133daca2bfccc7 Merge: 413cb00 9524fa5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:12:02 2014 +0200 Merge tag 'sunxi-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux into next/defconfig Pull "Allwinner defconfig additions for 3.18" from Maxime Ripard Nothing major, just a few drivers additions and misc options Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'sunxi-defconfig-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux: ARM: sunxi_defconfig: add NLS_CODEPAGE_437 and NLS_ISO8859_1 ARM: sunxi: Add A31 RTC driver to multi_v7_defconfig ARM: sunxi: Add A31 RTC driver to sunxi_defconfig commit 57e33ff1dba139a70723e922c5838499610b60c1 Merge: a508698 8237f9e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:10:40 2014 +0200 Merge tag 'renesas-soc5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Fifth Round of Renesas ARM Based SoC Soc Updates for v3.18" from Simon Horman: * r8a7740: Fix documentation error copied from elsewhere * r8a7794: Reserve memory for CMA in a manner consistent to other R-Car Gen2 SoCs Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-soc5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7740 legacy: Fix copied bug in comment ARM: shmobile: r8a7794: Reserve memory as other R-Car Gen2 SoCs commit 45c636b46e25981e22a4ab3cbf53ac80fbbc5b08 Merge: 84bdd3a 08adafd Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:08:56 2014 +0200 Merge tag 'renesas-dt5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Fifth Round of Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman: * Document manufacturer for KZM boards * Use SoC-specific irqc compatible property Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt5-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Add manufacturer for KZM boards ARM: shmobile: r8a73a4 dtsi: Add SoC-specific irqc compatible property commit a508698e6bbe38a3f34dd7e611931c0c8fabc213 Merge: 14b62fb 0da0e22 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:06:05 2014 +0200 Merge tag 'pxa3xx-ssp-name' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux into next/soc Pull "fix PXA3xx SSP naming issue" from Haojian Zhuang: It's imported by 972a55b62 ASoC: fix pxa-ssp compiling issue under mach-mmp from v3.5 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'pxa3xx-ssp-name' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux: ARM: pxa3xx: provide specific platform_devices for all ssp ports ARM: pxa: ssp: provide platform_device_id for PXA3xx commit 84bdd3a491aecd83781244a2f42d37625a9ed431 Merge: ea62edd 7a08cf77 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 18:02:30 2014 +0200 Merge tag 'pxa-fix-abi' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux into next/dt Pull "pxa2xx DT changes" from Haojian Zhuang: Since DT aren't fully enabled in pxa2xx, it's fine to merge them in v3.18 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'pxa-fix-abi' of https://git.kernel.org/pub/scm/linux/kernel/git/hzhuang1/linux: ARM: pxa: dts: fix ohci controller compatible string ARM: pxa: dts: fix mmc controller compatible string commit 413cb0036c24b91ba057fbb8b125b4bbf6afa55a Merge: 5efbc31 b82daf8 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:55:25 2014 +0200 Merge tag 'tegra-for-3.18-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/defconfig Pull "ARM: tegra: tegra_defconfig changes for 3.18" from Stephen Warren: Support is enabled for Venice2's touchpad, and Tegra124's AHCI (SATA) controller, as used on Jetson TK1. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'tegra-for-3.18-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: ARM: tegra: enable Atmel touchpad in defconfig ARM: tegra: Add options for Tegra AHCI support to tegra_defconfig Contains an update to 3.17-rc2. commit ea62edd850da4c0b277105877fa4adea5877b03e Merge: 4408614 8e2b9e4 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:54:32 2014 +0200 Merge tag 'tegra-for-3.18-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/dt Pull "ARM: tegra: device tree changes for 3.18" from Stephen Warren: The main highlights are: * SATA and PCIe support added to Tegra124, and enabled on Jetson TK1. * Touchpad enabled on Venice2 (although the driver still has a few issues to be worked out). * NVIDIA reference boards rely on the bootloader to program the pinmux. * Support added for the Acer Chromebook 13 (CB5). * DT nodes added for the Tegra flow controller HW module. This will help reduce use of iomap.h in a future code cleanup. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'tegra-for-3.18-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: ARM: tegra: enable PCIe in Jetson TK1 DT ARM: tegra: add PCIe to Tegra124 DT ARM: tegra: rely on bootloader pinmux programming on Tegra124 ARM: tegra: add Acer Chromebook 13 device tree ARM: tegra: Move pwm and dpaux labels to tegra124.dtsi ARM: tegra: add touchpad to Venice2 DT ARM: tegra: Add device tree nodes for flow controller ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables ARM: tegra: Add SATA and SATA power to Jetson TK1 device tree ARM: tegra: Add SATA controller to Tegra124 device tree commit 14b62fb0159a77989708370ca8c8ba5db55c1dab Merge: e360879 d37aba5 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:53:39 2014 +0200 Merge tag 'tegra-for-3.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/soc Pull "ARM: tegra: core SoC code changes for 3.18" from Stephen Warren: the primary change here gets its address information from DT rather than iomap.h. This removes one more user of iomap.h, and will help allow the code to move to a location that can be shared between arch/arm and arch/arm64. An unused header file was also removed. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'tegra-for-3.18-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: ARM: tegra: remove unused tegra_emc.h ARM: tegra: Initialize flow controller from DT of: Add NVIDIA Tegra flow controller bindings commit 44086148bf0047fcdb5dd013f79ffe394e82cf1c Merge: 41c9002 4dd7933 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:50:36 2014 +0200 Merge tag 'at91-dt3' of git://github.com/at91linux/linux-at91 into next/dt Pull "More AT91 DT material for 3.18" from Nicolas Ferre: - specify DMA channels for USART on sama5d3 and choose peripherals that will use them on the EK boards - SSC update for audio on at91sam9rl and at91sam9g20 - addition of the NFC clock and new pinctrl compatible string to use enhancements that will land in drivers during this release - several new nodes and fixes Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-dt3' of git://github.com/at91linux/linux-at91: ARM: at91/dt: at91sam9m10g45ek add rtc node ARM: at91/dt: sama5d3: use new pinctrl compatible string ARM: at91/dt: sama5d3: add the nfc clock ARM: at91/dt: declare sckc node on at91sam9g45 ARM: at91/dt: Fix typo regarding can0_clk ARM: at91/dt: at91sam9g20: switch ssc compatible string ARM: at91/dt: at91sam9rl: switch ssc compatible string ARM: at91: sama5d3xek: reserve dma channel for audio ARM: at91: sama5d3: add usart dma configurations commit 41c9002ad1c8a16806cdf0d45faae20eb98213b2 Merge: 2d3a2cd 6f752f7 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:47:26 2014 +0200 Merge tag 'zynq-dt-for-3.18' of git://git.xilinx.com/linux-xlnx into next/dt Pull "arm: Xilinx Zynq dt patches for v3.18" from Michal Simek: - Add eth phys - Add led for zc702 - Various dts cleanups Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'zynq-dt-for-3.18' of git://git.xilinx.com/linux-xlnx: ARM: zynq: Add ISL9305 regulator on Parallella board ARM: zynq: DT: Add Ethernet phys ARM: zynq: DT: Fix coding style issues in dtsi ARM: zynq: DT: Describe interrupt-names for pl330 ARM: zynq: DT: Extend compatible string for zedboard ARM: zynq: DT: Use 0x prefix for memory nodes ARM: zynq: DT: Update years in header ARM: zynq: DT: Move size/address properties to dtsi ARM: zynq: DT: Fix Ethernet phy modes ARM: zynq: DT: Add LEDs to zc702 DT commit e36087998a3b01f3c6c93fa9465e40103f427315 Merge: 3b8f503 8097171 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 25 17:42:57 2014 +0200 Merge tag 'zynq-cleanup-for-3.18' of git://git.xilinx.com/linux-xlnx into next/soc Pull "arm: Xilinx Zynq cleanup patches for v3.18" from Michal Simek: - PM support - Fix L2 useless setting Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'zynq-cleanup-for-3.18' of git://git.xilinx.com/linux-xlnx: ARM: zynq: Remove useless L2C AUX setting ARM: zynq: Rename 'zynq_platform_cpu_die' ARM: zynq: Remove hotplug.c ARM: zynq: Synchronise zynq_cpu_die/kill ARM: zynq: cpuidle: Remove pointless code ARM: zynq: Remove invalidate cache for cpu die ARM: zynq: PM: Enable DDR clock stop ARM: zynq: DT: Add DDRC node Documentation: devicetree: Add binding for Synopsys DDR controller ARM: zynq: PM: Enable A9 internal clock gating feature commit 846fc70986a65563a19ae86928c3acf34f12296d Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 13 02:22:40 2014 -0400 PCI/AER: Rename PCI_ERR_UNC_TRAIN to PCI_ERR_UNC_UND In PCIe r1.0, sec 5.10.2, bit 0 of the Uncorrectable Error Status, Mask, and Severity Registers was for "Training Error." In PCIe r1.1, sec 7.10.2, bit 0 was redefined to be "Undefined." Rename PCI_ERR_UNC_TRAIN to PCI_ERR_UNC_UND to reflect this change. No functional change. [bhelgaas: changelog] Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit d179111767aa2a1d594023ce65abf9c81bfbb0cf Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Thu Sep 25 09:36:43 2014 -0600 PCI/AER: Add additional PCIe AER error strings Add strings for all AER error bits defined in PCIe r3.0. [bhelgaas: changelog, drop designated initializer change] Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3b8f5030ddcf51112542e1e6ef27da237642069d Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Wed Sep 10 22:16:59 2014 +0200 ARM: meson: add basic support for MesonX SoCs This patch adds the basic machine file for the MesonX SoCs. Only Meson6 is populated. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2d3a2cdbbd1d1abed2ef6f5804036331a666ca07 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Wed Sep 10 22:17:19 2014 +0200 ARM: meson: documentation: add bindings documentation Add vendor prefixes and basic documentation for MesonX SoCs bindings Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6b112e24142176382f2c627e6e9c4b958601c120 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Tue Sep 9 22:12:56 2014 +0200 ARM: meson: dts: add basic Meson/Meson6/Meson6-atv1200 DTSI/DTS The Meson6 SoC is produced by Amlogic inc. and it is based on 2 Cortex A9 and an ARM Mali-400 GPU. This patch adds two basic DTSI for the preliminary support of Meson and Meson6 SoCs. Another DTS is also added for supporting the atv1200 board, produced by Geniatech inc. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 7c1e38769fa448de02ad6b6aa4b499fff4d89842 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Fri Sep 12 20:18:31 2014 +0200 MAINTAINERS: Add entry for the Amlogic MesonX SoCs I'm going to maintain the platform. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 5efbc31600fb9a2ccf86585a9cd8ca0569b26f5d Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Tue Sep 9 22:29:15 2014 +0200 ARM: meson: update multi_v7_defconfig This patch updates the multi_v7_defconfig with the CONFIG_* needed by the just added Meson anch. It also adds a new defconfig specifically for the Meson SoCs. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d8a00916b30313879c814144c18f27b8100bc401 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Tue Sep 9 21:38:00 2014 +0200 ARM: meson: debug: add debug UART for earlyprintk support Add the UART definitions needed to support earlyprintk for MesonX SoCs on UARTAO. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 4fdea26762c6095b18c22ca19bc3857064620ae4 Author: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Date: Fri Aug 22 01:31:20 2014 +0200 irq: Export handle_fasteoi_irq Export handle_fasteoi_irq to be able to use it in e.g. the Zynq gpio driver since commit 6dd859508336 ("gpio: zynq: Fix IRQ handlers"). This fixes the following link issue: ERROR: "handle_fasteoi_irq" [drivers/gpio/gpio-zynq.ko] undefined! Signed-off-by: Vincent Stehlé <vincent.stehle@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Vincent Stehle <vincent.stehle@xxxxxxxxxxx> Cc: Lars-Peter Clausen <lars@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408663880-29179-1-git-send-email-vincent.stehle@xxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 8da5e30289c285025483f14c6923330f224d505c Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Wed Sep 24 23:08:00 2014 +0200 MAINTAINERS: update ARM pxa maintainers Change pxa active maintainers, and remove more busy people. Remove Eric's tree as it is not accessible anymore. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Acked-by: Daniel Mack <zonque@xxxxxxxxx> Acked-by: Eric Miao <eric.y.miao@xxxxxxxxx> Acked-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxx> Acked-by: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit cb9a684acb3d79a5431ac78832148817debf3a06 Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 13 02:22:39 2014 -0400 trace, RAS: Add additional PCIe AER error strings Add all AER error bits defined in PCIe r3.0. [bhelgaas: changelog] Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 83a7fc98dc9c29c5d2d66c80fb50725303a78192 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 25 16:19:30 2014 +0200 ASoC: wm8741: Remove unused wm8741_suspend define This driver has no suspend callback. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1b11629737ca5414b0310d35e01a125cfde1ba4d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 24 21:51:06 2014 +0200 drm: Drop grab fpriv->fbs_lock in drm_fb_release Paulo Zanoni reported a lockdep splat with a locking inversion between fpriv->fbs_lock and the modeset locks. This issue was introduced in commit f2b50c1161590c3bcdbf3455fe4c575f1c1bd293 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Sep 12 17:07:32 2014 +0200 drm: Fixup locking for universal cursor planes This here is actually one of the rare cases where lockdep hits a false positive: The deadlock only happens in drm_fb_release, which cleans up the file private structure when all the references are gone. So the locking is the very last one and no one else can deadlock. It also doesn't protect anything at all, since all ioctls are guaranteed to have returned at this point - otherwise they'd still hold a reference on the file. So let's just drop it and replace it with a big comment. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Paulo Zanoni <przanoni@xxxxxxxxx> Reported-and-Tested-by: Paulo Zanoni <przanoni@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 99d440242c08c8a95576c0bc89278f8912f65bda Author: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Date: Wed Aug 13 02:22:37 2014 -0400 trace, RAS: Replace bare numbers with #defines for PCIe AER error strings Replace bare numbers like "BIT(0)" with the existing #defines, e.g., PCI_ERR_COR_RCVR, to improve maintainability. This way grep will find more uses of the #defines. No functional change. [bhelgaas: changelog] Signed-off-by: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0cfbd328d60f85b0dcf66df61a3615e9a8e5d4e4 Author: Michal Sojka <sojka@xxxxxxxxx> Date: Wed Sep 24 22:43:21 2014 +0200 usb: Add LED triggers for USB activity With this patch, USB activity can be signaled by blinking a LED. There are two triggers, one for activity on USB host and one for USB gadget. Both triggers should work with all host/device controllers. Tested only with musb. Performace: I measured performance overheads on ARM Cortex-A8 (TI AM335x) running on 600 MHz. Duration of usb_led_activity(): - with no LED attached to the trigger: 2 ± 1 µs - with one GPIO LED attached to the trigger: 2 ± 1 µs or 8 ± 2 µs (two peaks in histogram) Duration of functions calling usb_led_activity() (with this patch applied and no LED attached to the trigger): - __usb_hcd_giveback_urb(): 10 - 25 µs - usb_gadget_giveback_request(): 2 - 6 µs Signed-off-by: Michal Sojka <sojka@xxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa923ef1aa39473b7d1f413c73a3e1d19ebde65d Author: Michal Sojka <sojka@xxxxxxxxx> Date: Wed Sep 24 22:43:20 2014 +0200 usb: Rename usb-common.c In the next commit, we will want the usb-common module to be composed of two object files. Since Kbuild cannot "append" another object to an existing one, we need to rename usb-common.c to something else (common.c) and create usb-common.o by linking the wanted objects together. Currently, usb-common.o comprises only common.o. Signed-off-by: Michal Sojka <sojka@xxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 304f7e5e1d08fa2f5674c1323bd0ebd806c86b81 Author: Michal Sojka <sojka@xxxxxxxxx> Date: Wed Sep 24 22:43:19 2014 +0200 usb: gadget: Refactor request completion Use the recently introduced usb_gadget_giveback_request() in favor of direct invocation of the completion routine. All places in drivers/usb/ matching "[-.]complete(" were replaced with a call to usb_gadget_giveback_request(). This was compile-tested with all ARM drivers enabled and runtime-tested for musb. Signed-off-by: Michal Sojka <sojka@xxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fc2aa5522ab958374d93ef5d2e12df7ee233c91 Author: Michal Sojka <sojka@xxxxxxxxx> Date: Wed Sep 24 22:43:18 2014 +0200 usb: gadget: Introduce usb_gadget_giveback_request() All USB peripheral controller drivers call completion routines directly. This patch adds usb_gadget_giveback_request() which will be used instead of direct invocation in the next patch. The goal here is to have a place where common functionality can be added. Signed-off-by: Michal Sojka <sojka@xxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Tested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb3e306515ba6a012364b698b8ca71c337424ed3 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Sun Sep 21 13:58:24 2014 -0400 iommu: Fix bus notifier breakage iommu_bus_init() registers a bus notifier on the given bus by using a statically defined notifier block: static struct notifier_block iommu_bus_nb = { .notifier_call = iommu_bus_notifier, }; This same notifier block is used for all busses. This causes a problem for notifiers registered after iommu has registered this callback on multiple busses. The problem is that a subsequent notifier being registered on a bus which has this iommu notifier will also get linked in to the notifier list of all other busses which have this iommu notifier. This patch fixes this by allocating the notifier_block at runtime. Some error checking is also added to catch any allocation failure or notifier registration error. Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 25b11ce2a3607d7c39a2ca121eea0c67c722b34e Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Sep 19 10:03:13 2014 -0600 iommu/amd: Split init_iommu_group() from iommu_init_device() For a PCI device, aliases from the IVRS table won't be populated into dma_alias_devfn until after iommu_init_device() is called on each device. We therefore want to split init_iommu_group() to be called from a separate loop immediately following. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17 Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f096c061f5525d1b35a65b793057b52061dcb486 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Sep 19 10:03:06 2014 -0600 iommu: Rework iommu_group_get_for_pci_dev() It turns out that our assumption that aliases are always to the same slot isn't true. One particular platform reports an IVRS alias of the SATA controller (00:11.0) for the legacy IDE controller (00:14.1). When we hit this, we attempt to use a single IOMMU group for everything on the same bus, which in this case is the root complex. We already have multiple groups defined for the root complex by this point, resulting in multiple WARN_ON hits. This patch makes these sorts of aliases work again with IOMMU groups by reworking how we search through the PCI address space to find existing groups. This should also now handle looped dependencies and all sorts of crazy inter-dependencies that we'll likely never see. The recursion used here should never be very deep. It's unlikely to have individual aliases and only theoretical that we'd ever see a chain where one alias causes us to search through to yet another alias. We're also only dealing with PCIe device on a single bus, which means we'll typically only see multiple slots in use on the root complex. Loops are also a theoretically possibility, which I've tested using fake DMA alias quirks and prevent from causing problems using a bitmap of the devfn space that's been visited. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17 Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7acf71d1a224b6e7a40a244d804cea1780a643ed Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Thu Sep 25 13:47:47 2014 +0100 arm64: Fix typos in KGDB macros Some of the KGDB macros used for generating the BRK instructions had the wrong spelling for DBG and KGDB abbreviations. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit a9ae04c9faeff1ad617e4f4492af3143d8c5ad9b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 16 17:42:33 2014 +0100 arm64: insn: Add return statements after BUG_ON() Following a recent series of enhancements to the insn code the ARMv8 allnoconfig build has been generating a large number of warnings in the form of: arch/arm64/kernel/insn.c:689:8: warning: 'insn' may be used uninitialized in this function [-Wmaybe-uninitialized] This is because BUG() and related macros can be compiled out so we get execution paths which normally result in a panic compiling out to noops instead. I wasn't able to immediately identify a sensible return value to use in these cases so just return AARCH64_BREAK_FAULT - this is all "should never happen" code so hopefully it never has a practical impact. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> [catalin.marinas@xxxxxxx: AARCH64_BREAK_FAULT definition contributed by Daniel Borkmann] [catalin.marinas@xxxxxxx: replace return 0 with AARCH64_BREAK_FAULT] Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 0121327c1a68bc8c80f240c2794e682722b69051 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Fri Sep 19 16:46:03 2014 +0530 ASoC: Intel: mfld-pcm: add control for powering up/down dsp When we have PCM (FE/BE) opened or DAPM widgets triggered we need power up/down DSP accordingly. The DSP will do ref count of these requests i.e. link these runtime_get/put calls of DSP Also fix some preexisting spacing error. Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6a91e854442cf950d9cb806891667d16c4a41d88 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Thu Sep 25 09:05:31 2014 +0200 power: max14577: Fix circular config SYSFS dependency Make the max14577 charger driver depending on SYSFS instead selecting it. This fixes warning on x86_64 with allmodconfig: scripts/kconfig/conf --allmodconfig Kconfig fs/sysfs/Kconfig:1:error: recursive dependency detected! fs/sysfs/Kconfig:1: symbol SYSFS is selected by CHARGER_MAX14577 drivers/power/Kconfig:327: symbol CHARGER_MAX14577 depends on POWER_SUPPLY drivers/power/Kconfig:1: symbol POWER_SUPPLY is selected by HID_SONY drivers/hid/Kconfig:638: symbol HID_SONY depends on NEW_LEDS drivers/leds/Kconfig:8: symbol NEW_LEDS is selected by SENSORS_APPLESMC drivers/hwmon/Kconfig:299: symbol SENSORS_APPLESMC depends on HWMON drivers/hwmon/Kconfig:5: symbol HWMON is selected by EEEPC_LAPTOP drivers/platform/x86/Kconfig:496: symbol EEEPC_LAPTOP depends on HOTPLUG_PCI drivers/pci/hotplug/Kconfig:5: symbol HOTPLUG_PCI depends on SYSFS Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d943b0ffba153cd63f836647b873b445842a2f58 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Thu Sep 11 19:07:36 2014 +0530 iommu: Make of_device_id array const Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 63eaa75e4362ac7981a7e619196a9c75fd03d717 Author: Maurizio Lombardi <mlombard@xxxxxxxxxx> Date: Thu Sep 11 12:28:03 2014 +0200 amd_iommu: do not dereference a NULL pointer address. under low memory conditions, alloc_pte() may return a NULL pointer. iommu_map_page() does not check it and will panic the system. Signed-off-by: Maurizio Lombardi <mlombard@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a6fda0f586bb2c39e763a2ae5561e1f6ade8c3a8 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 18:45:45 2014 +0300 iommu/omap: Remove omap_iommu unused owner field The owner field is never set. Remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 24278a24d88ae730229417e5d3bd452d7545fbcc Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:57:11 2014 +0200 iommu: Remove iommu_domain_has_cap() API function Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 6f952710917cfb801664333a491e4a120451a9ff Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 12:22:27 2014 +0200 IB/usnic: Convert to use new iommu_capable() API function Cc: Upinder Malhi <umalhi@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit eb165f0584d2c073dd343bdc609e2f94d143037e Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:56:05 2014 +0200 vfio: Convert to use new iommu_capable() API function Cc: Alex Williamson <alex.williamson@xxxxxxxxxx> Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ee5ba30ff75277cbfcfce2bb3b54211be5105a87 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:54:09 2014 +0200 kvm: iommu: Convert to use new iommu_capable() API function Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7c2aa6441e957df85eded3a7297d36a57b210988 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:51:37 2014 +0200 iommu/tegra: Convert to iommu_capable() API function Cc: Hiroshi Doyu <hdoyu@xxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 4480845eef8d7751f015322e3c6d2680ff7d7dc7 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:51:14 2014 +0200 iommu/msm: Convert to iommu_capable() API function Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 5d587b8de56eec6c6a31b452a177cd8c066b267e Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:50:45 2014 +0200 iommu/vt-d: Convert to iommu_capable() API function Cc: Jiang Liu <jiang.liu@xxxxxxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit b7eb67858562c053c314dee264c425e8214c2bfb Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:50:27 2014 +0200 iommu/fsl: Convert to iommu_capable() API function Cc: Varun Sethi <Varun.Sethi@xxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1fd0c775a573646eec972a3f40563506e33d9f8a Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:49:34 2014 +0200 iommu/arm-smmu: Convert to iommu_capable() API function Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ab636481863a1039f5ca3643cfb04d4ae0c965cd Author: Joerg Roedel <jroedel@xxxxxxx> Date: Fri Sep 5 10:48:21 2014 +0200 iommu/amd: Convert to iommu_capable() API function Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 3c0e0ca0a4e757159d868c4870556515d66b6c97 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Sep 3 18:47:25 2014 +0200 iommu: Introduce iommu_capable API function This function will replace the current iommu_domain_has_cap function and clean up the interface while at it. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 1aed074869a9cbe0a846ea7b254d8fd9a4a4d31f Author: Joerg Roedel <jroedel@xxxxxxx> Date: Wed Sep 3 18:34:04 2014 +0200 iommu: Convert iommu-caps from define to enum Allow compile-time type-checking. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit dedd9431484a826f85667967ef0c5954b12c3537 Merge: 0f33be0 ccd359f Author: Joerg Roedel <jroedel@xxxxxxx> Date: Thu Sep 25 15:34:23 2014 +0200 Merge branch 'for-joerg/arm-smmu/updates' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into arm/smmu commit dcdc3018d6357c35eae7d80b323e10bd72253cb7 Author: Aaron Lu <aaron.lu@xxxxxxxxx> Date: Thu Sep 25 10:57:26 2014 +0800 gpio: crystalcove: support virtual GPIO The virtual GPIO introduced in ACPI table of Baytrail-T based system is used to solve a problem under Windows. We do not have such problems under Linux so we do not actually need them. But we have to tell GPIO library that the Crystal Cove GPIO chip has this many GPIO pins or the common GPIO handler will refuse any access to those high number GPIO pins, which will resulted in a failure evaluation of every ACPI control method that is used to turn on/off power resource and/or report sensor temperatures. Signed-off-by: Aaron Lu <aaron.lu@xxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> [changed vgpio number from 0x5e to 94] Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 6d31c2fa0eee89e31ca48a66ccfaf71ef545c474 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Sep 21 10:55:06 2014 -0700 powerpc: pci-ioda: Use a single function to emit logging messages No need for 3 functions when a single one will do. Modify the function declaring macros to call the single function. Reduces object code size a little: $ size arch/powerpc/platforms/powernv/pci-ioda.o* text data bss dec hex filename 22303 1073 6680 30056 7568 arch/powerpc/platforms/powernv/pci-ioda.o.new 22840 1121 6776 30737 7811 arch/powerpc/platforms/powernv/pci-ioda.o.old Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 45eb47242df87acbf26c0c2c0a7ab677661153c6 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Sep 21 10:55:05 2014 -0700 powerpc: pci-ioda: Remove unnecessary return value from printk The return value is unnecessary and unused, so make the functions void instead of int. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 2a58222f8220089c7b602cf5fae557e0bc0bc303 Author: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 17 10:48:26 2014 +0800 powerpc/eeh: Fix kernel crash when passing through VF When doing vfio passthrough a VF, the kernel will crash with following message: [ 442.656459] Unable to handle kernel paging request for data at address 0x00000060 [ 442.656593] Faulting instruction address: 0xc000000000038b88 [ 442.656706] Oops: Kernel access of bad area, sig: 11 [#1] [ 442.656798] SMP NR_CPUS=1024 NUMA PowerNV [ 442.656890] Modules linked in: vfio_pci mlx4_core nf_conntrack_netbios_ns nf_conntrack_broadcast ipt_MASQUERADE ip6t_REJECT xt_conntrack bnep bluetooth rfkill ebtable_nat ebtable_broute bridge stp llc ebtable_filter ebtables ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_mangle ip6table_security ip6table_raw ip6table_filter ip6_tables iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_mangle iptable_security iptable_raw tg3 nfsd be2net nfs_acl ses lockd ptp enclosure pps_core kvm_hv kvm_pr shpchp binfmt_misc kvm sunrpc uinput lpfc scsi_transport_fc ipr scsi_tgt [last unloaded: mlx4_core] [ 442.658152] CPU: 40 PID: 14948 Comm: qemu-system-ppc Not tainted 3.10.42yw-pkvm+ #37 [ 442.658219] task: c000000f7e2a9a00 ti: c000000f6dc3c000 task.ti: c000000f6dc3c000 [ 442.658287] NIP: c000000000038b88 LR: c0000000004435a8 CTR: c000000000455bc0 [ 442.658352] REGS: c000000f6dc3f580 TRAP: 0300 Not tainted (3.10.42yw-pkvm+) [ 442.658419] MSR: 9000000000009032 <SF,HV,EE,ME,IR,DR,RI> CR: 28004882 XER: 20000000 [ 442.658577] CFAR: c00000000000908c DAR: 0000000000000060 DSISR: 40000000 SOFTE: 1 GPR00: c0000000004435a8 c000000f6dc3f800 c0000000012b1c10 c00000000da24000 GPR04: 0000000000000003 0000000000001004 00000000000015b3 000000000000ffff GPR08: c00000000127f5d8 0000000000000000 000000000000ffff 0000000000000000 GPR12: c000000000068078 c00000000fdd6800 000001003c320c80 000001003c3607f0 GPR16: 0000000000000001 00000000105480c8 000000001055aaa8 000001003c31ab18 GPR20: 000001003c10fb40 000001003c360ae8 000000001063bcf0 000000001063bdb0 GPR24: 000001003c15ed70 0000000010548f40 c000001fe5514c88 c000001fe5514cb0 GPR28: c00000000da24000 0000000000000000 c00000000da24000 0000000000000003 [ 442.659471] NIP [c000000000038b88] .pcibios_set_pcie_reset_state+0x28/0x130 [ 442.659530] LR [c0000000004435a8] .pci_set_pcie_reset_state+0x28/0x40 [ 442.659585] Call Trace: [ 442.659610] [c000000f6dc3f800] [00000000000719e0] 0x719e0 (unreliable) [ 442.659677] [c000000f6dc3f880] [c0000000004435a8] .pci_set_pcie_reset_state+0x28/0x40 [ 442.659757] [c000000f6dc3f900] [c000000000455bf8] .reset_fundamental+0x38/0x80 [ 442.659835] [c000000f6dc3f980] [c0000000004562a8] .pci_dev_specific_reset+0xa8/0xf0 [ 442.659913] [c000000f6dc3fa00] [c0000000004448c4] .__pci_dev_reset+0x44/0x430 [ 442.659980] [c000000f6dc3fab0] [c000000000444d5c] .pci_reset_function+0x7c/0xc0 [ 442.660059] [c000000f6dc3fb30] [d00000001c141ab8] .vfio_pci_open+0xe8/0x2b0 [vfio_pci] [ 442.660139] [c000000f6dc3fbd0] [c000000000586c30] .vfio_group_fops_unl_ioctl+0x3a0/0x630 [ 442.660219] [c000000f6dc3fc90] [c000000000255fbc] .do_vfs_ioctl+0x4ec/0x7c0 [ 442.660286] [c000000f6dc3fd80] [c000000000256364] .SyS_ioctl+0xd4/0xf0 [ 442.660354] [c000000f6dc3fe30] [c000000000009e54] syscall_exit+0x0/0x98 [ 442.660420] Instruction dump: [ 442.660454] 4bfffce9 4bfffee4 7c0802a6 fbc1fff0 fbe1fff8 f8010010 f821ff81 7c7e1b78 [ 442.660566] 7c9f2378 60000000 60000000 e93e02c8 <e8690060> 2fa30000 41de00c4 2b9f0002 [ 442.660679] ---[ end trace a64ac9546bcf0328 ]--- [ 442.660724] The reason is current VF is not EEH enabled. This patch introduces a macro to convert eeh_dev to eeh_pe. By doing so, it will prevent converting with NULL pointer. Signed-off-by: Wei Yang <weiyang@xxxxxxxxxxxxxxxxxx> Acked-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> CC: Michael Ellerman <mpe@xxxxxxxxxxxxxx> V3 -> V4: 1. move the macro definition from include/linux/pci.h to arch/powerpc/include/asm/eeh.h V2 -> V3: 1. rebased on 3.17-rc4 2. introduce a macro 3. use this macro in several other places V1 -> V2: 1. code style and patch subject adjustment Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 9e34992a622a15fb915471ccdebed19a87d8d531 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Aug 7 17:26:33 2014 +1000 powerpc/mm: Unindent htab_dt_scan_page_sizes() We can unindent the bulk of htab_dt_scan_page_sizes() by returning early if the property is not found. That is nice in and of itself, but also has the advantage of making it clear that we always return success once we have found the ibm,segment-page-sizes property. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 87d99c0e2c2f9d1386d8e284a5fbc13e96adbe25 Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Aug 6 19:08:22 2014 +1000 powerpc/ppc64: Print CPU/MMU/FW features at boot "Helps debug funky firmware issues". After: Starting Linux PPC64 #108 SMP Wed Aug 6 19:04:51 EST 2014 ----------------------------------------------------- ppc64_pft_size = 0x1a phys_mem_size = 0x200000000 cpu_features = 0x17fc7a6c18500249 possible = 0x1fffffff18700649 always = 0x0000000000000040 cpu_user_features = 0xdc0065c2 0xee000000 mmu_features = 0x5a000001 firmware_features = 0x00000001405a440b htab_hash_mask = 0x7ffff ----------------------------------------------------- Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bdce97e94b95db409264d5ae6badd0db7628681c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Wed Aug 6 19:08:21 2014 +1000 powerpc/ppc64: Clean up the boot-time settings display At boot we display a bunch of low level settings which can be useful to know, and can help to spot bugs when things are fundamentally misconfigured. At the moment they are very widely spaced, so that we can accommodate the line: ppc64_caches.dcache_line_size = 0xYY But we only print that line when the cache line size is not 128, ie. almost never, so it just makes the display look odd usually. The ppc64_caches prefix is redundant so remove it, which means we can align things a bit closer for the common case. While we're there replace the last use of camelCase (physicalMemorySize), and use phys_mem_size. Before: Starting Linux PPC64 #104 SMP Wed Aug 6 18:41:34 EST 2014 ----------------------------------------------------- ppc64_pft_size = 0x1a physicalMemorySize = 0x200000000 ppc64_caches.dcache_line_size = 0xf0 ppc64_caches.icache_line_size = 0xf0 htab_address = 0xdeadbeef htab_hash_mask = 0x7ffff physical_start = 0xf000bar ----------------------------------------------------- After: Starting Linux PPC64 #103 SMP Wed Aug 6 18:38:04 EST 2014 ----------------------------------------------------- ppc64_pft_size = 0x1a phys_mem_size = 0x200000000 dcache_line_size = 0xf0 icache_line_size = 0xf0 htab_address = 0xdeadbeef htab_hash_mask = 0x7ffff physical_start = 0xf000bar ----------------------------------------------------- This patch is final, no bike shedding ;) Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 92f792ece9c41befde64d8799fd3dde5d57407ab Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Thu Aug 21 09:16:04 2014 -0400 powerpc: Fix build failure when CONFIG_USB=y We are enabling USB unconditionally which results in following build failure drivers/built-in.o: In function `tb_drom_read': (.text+0x1b62b70): undefined reference to `usb_speed_string' make: *** [vmlinux] Error Enable USB only if USB_SUPPORT is set to avoid such failures Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Alistair Popple <alistair@xxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a9303e1bd05751649e5408e521aab19380c7fd8a Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Thu Aug 21 09:04:31 2014 -0400 powerpc: Fix build failure on 44x Fix the following build failure drivers/built-in.o: In function `nhi_init': nhi.c:(.init.text+0x63390): undefined reference to `ehci_init_driver' by adding a dependency on USB_EHCI_HCD which supplies the ehci_init_driver(). Also we need to depend on USB_OHCI_HCD similarly Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Alistair Popple <alistair@xxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 297cf5025b3bda59e15d6ba1f84022ebd409925b Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 17:34:01 2014 +0800 powerpc: some changes in numa_setup_cpu() this patches changes some error handling logics in numa_setup_cpu(), when cpu node is not found, so: if the cpu is possible, but not present, -1 is kept in numa_cpu_lookup_table, so later, if the cpu is added, we could set correct numa information for it. if the cpu is present, then we set the first online node to numa_cpu_lookup_table instead of 0 ( in case 0 might not be an online node? ) Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Acked-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bc3c4327c92b9ceb9a6356ec64d1b2ab2dc851f9 Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 17:34:00 2014 +0800 powerpc: Only set numa node information for present cpus at boottime As Nish suggested, it makes more sense to init the numa node informatiion for present cpus at boottime, which could also avoid WARN_ON(1) in numa_setup_cpu(). With this change, we also need to change the smp_prepare_cpus() to set up numa information only on present cpus. For those possible, but not present cpus, their numa information will be set up after they are started, as the original code did before commit 2fabf084b6ad. Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Acked-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Tested-by: Cyril Bur <cyril.bur@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 70ad237515d99595ed03848bd8e549e50e83c4f2 Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 17:33:59 2014 +0800 powerpc: Fix warning reported by verify_cpu_node_mapping() With commit 2fabf084b6ad ("powerpc: reorder per-cpu NUMA information's initialization"), during boottime, cpu_numa_callback() is called earlier(before their online) for each cpu, and verify_cpu_node_mapping() uses cpu_to_node() to check whether siblings are in the same node. It skips the checking for siblings that are not online yet. So the only check done here is for the bootcpu, which is online at that time. But the per-cpu numa_node cpu_to_node() uses hasn't been set up yet (which will be set up in smp_prepare_cpus()). So I saw something like following reported: [ 0.000000] CPU thread siblings 1/2/3 and 0 don't belong to the same node! As we don't actually do the checking during this early stage, so maybe we could directly call numa_setup_cpu() in do_init_bootmem(). Cc: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Cc: Nathan Fontenot <nfont@xxxxxxxxxxxxxxxxxx> Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Acked-by: Nishanth Aravamudan <nacc@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c9f6f4ed95d47e3319dedaf8cc31d744ac67fe6f Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 2 14:35:09 2014 +1000 powerpc: Implement emulation of string loads and stores The size field of the op.type word is now the total number of bytes to be loaded or stored. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit cf87c3f6b64791ce5d4c7e591c915065d31a162d Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 2 14:35:08 2014 +1000 powerpc: Emulate icbi, mcrf and conditional-trap instructions This extends the instruction emulation done by analyse_instr() and emulate_step() to handle a few more instructions that are found in the kernel. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit be96f63375a14ee8e690856ac77e579c75bd0bae Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 2 14:35:07 2014 +1000 powerpc: Split out instruction analysis part of emulate_step() This splits out the instruction analysis part of emulate_step() into a separate analyse_instr() function, which decodes the instruction, but doesn't execute any load or store instructions. It does execute integer instructions and branches which can be executed purely by updating register values in the pt_regs struct. For other instructions, it returns the instruction type and other details in a new instruction_op struct. emulate_step() then uses that information to execute loads, stores, cache operations, mfmsr, mtmsr[d], and (on 64-bit) sc instructions. The reason for doing this is so that the KVM code can use it instead of having its own separate instruction emulation code. Possibly the alignment interrupt handler could also use this. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ad72a279a2b874828d1b5070ef01cf6ee6b1d62c Author: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Date: Thu Aug 28 18:40:47 2014 +1000 powerpc: Check flat device tree version at boot In commit e6a6928c3ea1 "of/fdt: Convert FDT functions to use libfdt", the kernel stopped supporting old flat device tree formats. The minimum supported version is now 0x10. There was a checking function added, early_init_dt_verify(), but it's not called on powerpc. The result is, if you boot with an old flat device tree, the kernel will fail to parse it correctly, think you have no memory etc. and hilarity ensues. We can't really fix it, but we can at least catch the fact that the device tree is in an unsupported format and panic(). We can't call BUG(), it's too early. Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d6a4f70909d279004a2b3d539e240e07b1ecc1cb Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 2 14:23:16 2014 +1000 powerpc/powernv: Don't call generic code on offline cpus On PowerNV platforms, when a CPU is offline, we put it into nap mode. It's possible that the CPU wakes up from nap mode while it is still offline due to a stray IPI. A misdirected device interrupt could also potentially cause it to wake up. In that circumstance, we need to clear the interrupt so that the CPU can go back to nap mode. In the past the clearing of the interrupt was accomplished by briefly enabling interrupts and allowing the normal interrupt handling code (do_IRQ() etc.) to handle the interrupt. This has the problem that this code calls irq_enter() and irq_exit(), which call functions such as account_system_vtime() which use RCU internally. Use of RCU is not permitted on offline CPUs and will trigger errors if RCU checking is enabled. To avoid calling into any generic code which might use RCU, we adopt a different method of clearing interrupts on offline CPUs. Since we are on the PowerNV platform, we know that the system interrupt controller is a XICS being driven directly (i.e. not via hcalls) by the kernel. Hence this adds a new icp_native_flush_interrupt() function to the native-mode XICS driver and arranges to call that when an offline CPU is woken from nap. This new function reads the interrupt from the XICS. If it is an IPI, it clears the IPI; if it is a device interrupt, it prints a warning and disables the source. Then it does the end-of-interrupt processing for the interrupt. The other thing that briefly enabling interrupts did was to check and clear the irq_happened flag in this CPU's PACA. Therefore, after flushing the interrupt from the XICS, we also clear all bits except the PACA_IRQ_HARD_DIS (interrupts are hard disabled) bit from the irq_happened flag. The PACA_IRQ_HARD_DIS flag is set by power7_nap() and is left set to indicate that interrupts are hard disabled. This means we then have to ignore that flag in power7_nap(), which is reasonable since it doesn't indicate that any interrupt event needs servicing. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 423216ed3273dae18c347ce52c5ecc193cfdd4e5 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Sep 16 10:49:14 2014 +1000 powerpc: Use CONFIG_ARCH_HAS_FAST_MULTIPLIER I ran some tests to compare hash_64 using shifts and multiplies. The results: POWER6: ~2x slower POWER7: ~2x faster POWER8: ~2x faster Now we have a proper config option, select CONFIG_ARCH_HAS_FAST_MULTIPLIER on POWER7 and POWER8. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ff2e466aa2339238c941dee873e553687e941f3f Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Sep 16 10:47:49 2014 +1000 powerpc: Add POWER8 CPU selection This allows the user to build a kernel targeted at POWER8 (ie gcc -mcpu=power8). Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e36d1227776a2daa2c9aa7f997ac7083d6783f2c Author: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 14:11:42 2014 -0500 pseries: Fix endian issues in cpu hot-removal When removing a cpu, this patch makes sure that values gotten from or passed to firmware are in the correct endian format. Signed-off-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 822e71224e07f07a07c385be869fe416ce436430 Author: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 14:11:41 2014 -0500 pseries: Fix endian issues in onlining cpu threads The ibm,ppc-interrupt-server#s property is in big endian format. These values need to be converted when used by little endian architectures. Signed-off-by: Thomas Falcon <tlfalcon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit fe921c8c3957dec5022b12fb858f8cb489e1b2bb Author: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Date: Sat Sep 13 10:20:17 2014 +0200 powerpc: Simplify symbol check in prom_init_check.sh Signed-off-by: Andreas Schwab <schwab@xxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit ce6d73c94d7cfbdc3dc31860fe14af2f37d1b4fe Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 10 21:56:38 2014 +0200 powerpc: make of_device_ids const of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. This allows to mark all struct of_device_id const, too. While touching these line also put the __init annotation at the right position where necessary. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit d4fe0965e20820f3dd05bcc4d89de3da29bb83aa Author: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx> Date: Thu Aug 21 10:41:23 2014 +0800 powerpc/jump_label: use HAVE_JUMP_LABEL? CONFIG_JUMP_LABEL doesn't ensure HAVE_JUMP_LABEL, if it is not the case use maintainers's own mutex to guard the modification of global values. Signed-off-by: Zhouyi Zhou <yizhouzhou@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 22e55fcfd6002accfe1e57e59cf429e6700d4ab4 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Aug 19 23:24:15 2014 -0400 powerpc: Export dcr_ind_lock to fix build error Fix build error caused by missing export: ERROR: "dcr_ind_lock" [drivers/net/ethernet/ibm/emac/ibm_emac.ko] undefined! Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a24e70c0ac146f8bcae3cdb7f514950d5b32219e Author: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Date: Thu Sep 25 14:59:41 2014 +0800 spi/rockchip: fix bug that cause the failure to read data in DMA mode In my test on RK3288-pinky board, if spi is enabled, it will begin to read data from slave regardless of whether the DMA is ready. So we need prepare DMA before spi is enable. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit f6026df1a4997db64e8201627421758585a15f55 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:55:21 2014 +1000 powerpc: Move htab_remove_mapping function prototype into header file A recent patch added a function prototype for htab_remove_mapping in c code. Fix it. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit a38efcea56988761f89a3134145f0d5f9ea68076 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:55:20 2014 +1000 powerpc: Remove stale function prototypes There were a number of prototypes for functions that no longer exist. Remove them. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 1217d34b531c76362217057ca70a8ce8950574e0 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:55:19 2014 +1000 powerpc: Ensure global functions include their prototype Fix a number of places where global functions were not including their prototype. This ensures the prototype and the function match. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e51df2c170efaeadce4d416e1825b0830de0a795 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:55:18 2014 +1000 powerpc: Make a bunch of things static Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5144b6bfe25fda7c51f6f9d8d79cf0fe61df5c28 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:05 2014 +1000 powerpc: Separate ppc32 symbol exports into ppc_ksyms_32.c Simplify things considerably by moving all the ppc32 specific symbol exports into its own file. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7b20a955c3eec58e87f3d32cc1438eab6447ff4c Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:04 2014 +1000 powerpc: Move lib symbol exports into arch/powerpc/lib/ppc_ksyms.c Move the lib symbol exports closer to their function definitions Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 5889bafa933e9f096c82cc46c9b134d2562b114b Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:03 2014 +1000 powerpc: Remove unused 32bit symbol exports Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit e1802b065d189cdfa25eaf6d019c222a91618b9c Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:02 2014 +1000 powerpc: Move more symbol exports next to function definitions Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 4a1b08e84454f9eb46bcb1aaf307421a4df46de2 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:01 2014 +1000 powerpc: Move via-cuda symbol exports next to function definitions Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 370a3abdbba85f5d7b8571850fa666e240893c79 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Wed Aug 20 08:00:00 2014 +1000 powerpc: Move adb symbol exports next to function definitions Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 831cf65b0295de75f40f8cf52ce62e5d261dab4f Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Tue Aug 19 14:48:02 2014 +1000 powerpc/powernv: Check OPAL dump calls exist before using Check that the OPAL_DUMP_READ token exists before initalising the elog infrastructure. This avoids littering the OPAL console with: "OPAL: Called with bad token 91" Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 7dc992ec7b3fd875b05f49f454a922ee94af330b Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Tue Aug 19 14:48:01 2014 +1000 powerpc/powernv: Check OPAL elog calls exist before using Check that the OPAL_ELOG_READ token exists before initalising the elog infrastructure. This avoids littering the OPAL console with: "OPAL: Called with bad token 74" Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 035ed26fb090ff3277900259f19d57e54da2e116 Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Tue Aug 19 14:48:00 2014 +1000 powerpc/powernv: Check OPAL RTC calls exists before using Check that the OPAL_RTC_READ token exists before we use the OPAL RTC. Refactors the code a little to merge error paths. This avoids littering the OPAL console with: "OPAL: Called with bad token 3". Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit bffe6bda342578deea0b74f2d9cb97cc40585a1b Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Tue Aug 19 14:47:59 2014 +1000 powerpc/powernv: Add OPAL check token call Currently there is no way to generically check if an OPAL call exists or not from the host kernel. This adds an OPAL call opal_check_token() which tells you if the given token is present in OPAL or not. Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 3484a31fce22348b9034024cf9368ab2dbbfd0ab Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Mon Aug 18 17:13:41 2014 -0400 powerpc: Fix build error with CONFIG_PCI=n Fix ppc 32 build failure as reported here: http://kisskb.ellerman.id.au/kisskb/buildresult/11663513/ The error is as follows: arch/powerpc/include/asm/floppy.h:142:20: error: 'isa_bridge_pcidev' undeclared (first use in this function) This is happening since floppy.o is enabled by BLK_DEV_FD which depends on ARCH_MAY_HAVE_PC_FDC which is in-turn enabled if PPC_PSERIES=n. The following commit changes the dependency so that ARCH_MAY_HAVE_PC_FDC is dependent exclusively on PCI since otherwise it will not compile. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit c913e5f95e546d8d3a9f99ba9908f7e095cbc1fb Author: Tony Breeds <tony@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 17:05:04 2014 +1000 powerpc/boot: Don't install zImage.* from make install in commit 29f1aff2c (powerpc: Copy bootable images in the default install script) we changed to copying all the built boot targets based on the assumption that it's backwards compatible. It turns out that debian devived installkernel scripts will barf if not given exactly 4 args. This change reverts make install to just install the vmlinux (we can change the dfault in a seperate patch) and introduces a new make zInstall which works with a more flexible installkernel script. Cc: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: Tony Breeds <tony@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit cdd91b89adedb77e3e581c40788620790edc33b5 Author: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 12:16:39 2014 +0530 powerpc/powernv: Improve error messages in dump code Presently we only support initiating Service Processor dump from host. Hence update sysfs message. Also update couple of other error/info messages. Signed-off-by: Vasant Hegde <hegdevasant@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 0e612ff10c86241683f0a77e3dd0a6631b640009 Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Wed Sep 24 11:31:58 2014 -0700 ASoC: rt5677: Add gpio-controller DTS documentation Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e03f73a01f010b29504ceebda3c4fca25468516d Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Wed Sep 24 11:17:14 2014 -0700 ASoC: trace: Remove trailing new-lines in trace messages These new-lines add empty lines to trace output Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 90f90bbb6049db243289f31800e750b2ce160322 Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 13:32:24 2014 +0200 spi: fsl-dspi: Remove probe info message Remove the probe info message which also has wrong output. No need to add KERN_INFO to pr_info. Output was: 6Freescale DSPI master initialized Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1b59fc7e3cda3f626204cadda8bb9b7d15f4f55b Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Tue Sep 9 10:44:52 2014 +0200 usb: dwc2/gadget: move phy bus legth initialization This patch moves the part of code that initializes the PHY bus width. This results in simpler code and removes the need to check whether the Generic PHY Framework is used. Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1aff52562939485e503936e17934be077ffaea53 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Sep 24 11:28:32 2014 +1000 NFS/SUNRPC: Remove other deadlock-avoidance mechanisms in nfs_release_page() Now that nfs_release_page() doesn't block indefinitely, other deadlock avoidance mechanisms aren't needed. - it doesn't hurt for kswapd to block occasionally. If it doesn't want to block it would clear __GFP_WAIT. The current_is_kswapd() was only added to avoid deadlocks and we have a new approach for that. - memory allocation in the SUNRPC layer can very rarely try to ->releasepage() a page it is trying to handle. The deadlock is removed as nfs_release_page() doesn't block indefinitely. So we don't need to set PF_FSTRANS for sunrpc network operations any more. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 353db7966288a2f18da22438aeec2b4862c0b241 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Sep 24 11:28:32 2014 +1000 NFS: avoid waiting at all in nfs_release_page when congested. If nfs_release_page() is called on a sequence of pages which are all in the same file which is blocked on COMMIT, each page could contribute a 1 second delay which could be come excessive. I have seen delays of as much as 208 seconds. To keep the delay to one second, mark the bdi as write-congested if the commit didn't finished. Once it does finish, the write-congested flag will be cleared by nfs_commit_release_pages(). With this, the longest total delay in try_to_free_pages that I have seen is under 3 seconds. With no waiting in nfs_release_page at all I have seen delays of nearly 1.5 seconds. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9590544694becc64f4874963dbfc4b4d391024b7 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Sep 24 11:28:32 2014 +1000 NFS: avoid deadlocks with loop-back mounted NFS filesystems. Support for loop-back mounted NFS filesystems is useful when NFS is used to access shared storage in a high-availability cluster. If the node running the NFS server fails, some other node can mount the filesystem and start providing NFS service. If that node already had the filesystem NFS mounted, it will now have it loop-back mounted. nfsd can suffer a deadlock when allocating memory and entering direct reclaim. While direct reclaim does not write to the NFS filesystem it can send and wait for a COMMIT through nfs_release_page(). This patch modifies nfs_release_page() to wait a limited time for the commit to complete - one second. If the commit doesn't complete in this time, nfs_release_page() will fail. This means it might now fail in some cases where it wouldn't before. These cases are only when 'gfp' includes '__GFP_WAIT'. nfs_release_page() is only called by try_to_release_page(), and that can only be called on an NFS page with required 'gfp' flags from - page_cache_pipe_buf_steal() in splice.c - shrink_page_list() in vmscan.c - invalidate_inode_pages2_range() in truncate.c The first two handle failure quite safely. The last is only called after ->launder_page() has been called, and that will have waited for the commit to finish already. So aborting if the commit takes longer than 1 second is perfectly safe. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a4796e37c12e177572b80864cbab9c907ea250b0 Author: NeilBrown <neilb@xxxxxxx> Date: Wed Sep 24 11:28:32 2014 +1000 MM: export page_wakeup functions This will allow NFS to wait for PG_private to be cleared and, particularly, to send a wake-up when it is. Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 63163e060127876f57c327c85f2890ed427a4907 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:59 2014 -0400 qla2xxx: Add memory barrier before ringing doorbell. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e07f8f6547c246936b489772717b05695af53e35 Author: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Date: Thu Sep 25 06:14:58 2014 -0400 qla2xxx: Add flags for tracing the target commands. Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d564a372b0047de8014614fa66f2d071815605ed Author: Quinn Tran <quinn.tran@xxxxxxxxxx> Date: Thu Sep 25 06:14:57 2014 -0400 qla2xxx: Fix hang due to cmd_kref not decrementing Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit da6b0ace34378e928a6cba6010d7856664c46746 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:56 2014 -0400 qla2xxx: Do not send SS_RESIDUAL_UNDER with SAM_STAT_BUSY Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 33e7997755936ba92516c6ad69cd012c2e7d4dbb Author: Quinn Tran <quinn.tran@xxxxxxxxxx> Date: Thu Sep 25 06:14:55 2014 -0400 qla2xxx: Add support for QFull throttling and Term Exchange retry Through the qla target code, the qlt_send_term_exchange() routine is used in various different places to cleanup an exchange. For the case of IOCB request queue is full, the exchange is left unhandled/ dangling. Existing code does not have re-try logic to cleanup the exchange. This patch add retry logic to cleanup the exchange before letting new commands through. For the case of FW running out of exchanges, driver need to reply SAM_STAT_BUSY to the initiators. This patch add a pending queue for the busy reply in case IOCB queue is unable to handle the cmd. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f2ea653fd448b814dd92b6554ede85abd9e22d9f Author: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Date: Thu Sep 25 06:14:54 2014 -0400 qla2xxx: Increase the request queue size to 8K for ISP2031 Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 80187f8e7b05dff98c30909b668b5eb72482c3cb Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:53 2014 -0400 qla2xxx: Host reset handling in ABTS path. ABTS path takes path similar to regular task management, but reset_count was not initialized when allocating mcmd causing the response to get dropped in qlt_xmit_tm_rsp. Fix this by initializing reset_count correctly. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b6a029e1b0aba337ee54de66b1e428dd3bb624ca Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:52 2014 -0400 qla2xxx: Handle chip reset in target mode. A chip reset can occur after driver submits command to the stack. Abort command processing if a chip reset has occurred or in progress when you get a follow up for a command. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c0cb44967b4a934252091557c8e46345f7ef7259 Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:51 2014 -0400 qla2xxx: Add Host reset handling in target mode. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit dd9c4eff77fc7412fa79a1a05a2dec2469cc8ca8 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:50 2014 -0400 qla2xxx: fix crash due to task mgmt cmd type tcm_qla2xxx_get_task_tag incorrectly assume command is qla_tgt_cmd. Add check to see if it's a scsi cmd or task mgmt command. Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d29fb7360ee61ec02257e9c49848c9d2a05345a0 Author: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Date: Thu Sep 25 06:14:49 2014 -0400 qla2xxx: Add counter for message Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d154f35029c1f77b589389d2afb1e1766fb80c28 Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:48 2014 -0400 qla2xxx: Enable SLER conditionally in target mode. Sequence level error recovery (aka FC Tape) is not really required for disk devices. On heavily loaded system, with slow turn around, a bunch of status enquiries using REC puts additional burden to the target, so just turn off SLER by default. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 667024a36549186ce334c1027e434b45cf2c943d Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:47 2014 -0400 qla2xxx: Remove verbose messages in target mode. Turning logging bits for target mode ON dumps quite a lot verbose messages, remove those and change some of the IO path logging to use IO bits. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 940070374441fc78ad6d994f6ce67d5c6646e6f6 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:46 2014 -0400 qla2xxx: Increase room in request queue for sending priority packets Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 75554b68ac1e018bca00d68a430b92ada8ab52dd Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 06:14:45 2014 -0400 qla2xxx: Use correct offset to req-q-out for reserve calculation Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 78c2106a50e067f7168ee8c0944baaeb0e988272 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:44 2014 -0400 qla2xxx: fix kernel NULL pointer access This patch is to fix regression added by commit id 51a07f84649d2be206c4c2ad9a612956db0c2f8c. When allocating memory for new session original patch does not assign vha to op->vha resulting into NULL pointer access during qlt_create_sess_from_atio(). Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4d6609c47373ce85ed887ae471b34fb188f9c2b8 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 06:14:43 2014 -0400 qla2xxx: Fix sparse warnings in tcm_qla2xxx.c Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1b5fd56466967d0092ba489e45343d7c3317ed95 Author: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Date: Thu Sep 25 05:17:06 2014 -0400 qla2xxx: Update the driver version to 8.07.00.16-k. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6d78e5576b9450ad795577c1a31b20aafad4dd71 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:17:05 2014 -0400 qla2xxx: Fix sparse warning in qla_iocb.c file. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7ab3d962085f8b4953aca7517611bd3d164eb323 Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Thu Sep 25 05:17:04 2014 -0400 qla2xxx: Move warning message to debug level. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f261f7aff7badc76b266c6df799446ee24313449 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:17:03 2014 -0400 qla2xxx: Fail adapter initialization on load ram failure. If we fail to load one of the segments of firmware fail the operation instead of trying to continue which will lead to a system crash since the pointers to the next segment will not be updated correctly. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 61d41f610debd557b1c451338fa0afaac9dd8719 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:17:02 2014 -0400 qla2xxx: Disable PCI device in shutdown handler. Disable the PCI device during shutdown to prevent any races with other PCI code such as the AER handling code. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit ef86cb2059a14b4024c7320999ee58e938873032 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:17:01 2014 -0400 qla2xxx: Mark port lost when we receive an RSCN for it. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2486c62765d73ad8f206ba43b8ede09e689bd803 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:17:00 2014 -0400 qla2xxx: Restore WWPN in case of Loop Dead. For FA-WWPN capable device, ISP2031 and ISP27XX, when loop dead is detected by a driver, restore WWPN from NVRAM. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e05fe2924892a6c3c23dc818e94ce80dbceb86b1 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:16:59 2014 -0400 qla2xxx: Honor FCP_RSP retry delay timer field. Parse the retry delay timer field from the FCP response data and if: - It is not zero - The SCSI status is busy or queue full return SCSI_MLQUEUE_TARGET_BUSY for the number of milliseconds specified in the retry delay timer field. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9a6e6400a9bef4a7fb11ccddf932e1868f566a73 Author: Alex Vechersky <alex.vechersky@xxxxxxxxxx> Date: Thu Sep 25 05:16:58 2014 -0400 qla2xxx: Add missing ISP27xx checks to optrom code. Signed-off-by: Alex Vechersky <alex.vechersky@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f3982d89317797f34d4996ab36d4408f956e7a7c Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:16:57 2014 -0400 qla2xxx: Force use of mailbox interface for flash access commands for ISP27xx. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7473952e8de0eefed006bd415539f8161e87130d Author: Nigel Kirkland <nigel.kirkland@xxxxxxxxxx> Date: Thu Sep 25 05:16:56 2014 -0400 qla2xxx: Free sysfs attributes for ISP27xx. Signed-off-by: Nigel Kirkland <nigel.kirkland@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2d5a4c344ad35eaaab59a5079eb6c62a843fb9d6 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:16:55 2014 -0400 qla2xxx: Disable laser for ISP2031 while unloading driver. Nameserver data on FC switch is not refreshed when qla2xxx driver is unloaded. Disabling laser for ISP2031 will force FC switch to rescan ports and clear fdmi entries from Nameserver. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 25232cc9b8eca0406f51e61e944e854ed021a9d7 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:16:54 2014 -0400 qla2xxx: Enable diagnostic port using NVRAM parameters. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 93f2bd67b34b4f6b35b2300d668d92e3fd01163a Author: Quinn Tran <quinn.tran@xxxxxxxxxx> Date: Thu Sep 25 05:16:53 2014 -0400 qla2xxx: Declaration error cause stack corruption. Declaration error of mb array in qla2x00_iidma_fcport cause data to be written beyond the array. This ends up causing stack corruption. Signed-off-by: Quinn Tran <quinn.tran@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9d35894d338abc351cad8b0c0d5fb3e992f5cea9 Author: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Date: Thu Sep 25 05:16:52 2014 -0400 qla2xxx: Add fix in driver unload for pending activity. Signed-off-by: Sawan Chandak <sawan.chandak@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d2749ffadb4c76c04ad82645cc86a2fa39ceff3e Author: Arun Easi <arun.easi@xxxxxxxxxx> Date: Thu Sep 25 05:16:51 2014 -0400 qla2xxx: Unload of qla2xxx driver crashes the machine. Signed-off-by: Arun Easi <arun.easi@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit de187df86721da0a4d38f94557797a7138895e0a Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:16:50 2014 -0400 qla2xxx: Allow user to change ql2xfdmienable value. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 00ef7d885b716389f1ffd0a3158b673783b95506 Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:16:49 2014 -0400 qla2xxx: Fix driver version string message. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b5a340dd858b5bdd2813756e14991dc64c0b16d9 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:48 2014 -0400 qla2xxx: Add diagnostic port functionality. Add support for the D-port (diagnostic port) fabric switch feature. (Fabric Switch initiates loopback style port testing) Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7c9c4766896335d2f20928ccc5d8ad2d1e621b9a Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:47 2014 -0400 qla2xxx: Add FA-WWN functionality. Add support for the FA-WWN (fabric assigned wwn) fabric switch feature. (Fabric Assigned World Wide Port Name) Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit df57cabac41fd54e8eb73f9de482f054eb0b98eb Author: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Date: Thu Sep 25 05:16:46 2014 -0400 qla2xxx: Add FDMI-2 functionality. Add support for the FDMI-2 fabric switch feature. Since FDMI-2 uses code from FDMI-1, some of the existing code needed to be repaired to prevent fields from being overflowed. Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e475f9c0a5a12dfc79647f5a9b222f20db5f61a5 Author: Jan Kulich <jan.kulich@xxxxxxxxxx> Date: Thu Sep 25 05:16:45 2014 -0400 qla2xxx: ISPFx00 unexpected resets during adapter boot sequence. Signed-off-by: Jan Kulich <jan.kulich@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 24a42d50efdbb279f26c179e980e3420532fdf2a Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:44 2014 -0400 qla2xxx: Incorrect linked list semantic in qlafx00_get_fcport(). Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7b711623e1924b4ca1b06610f694c71b0feb05f9 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:43 2014 -0400 qla2xxx: Incorrect debug level on mailbox command print 0x1111. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4bb2efc45ffb7e5f249e97f86a387f6f3a7daae3 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:42 2014 -0400 qla2xxx: ISPFX00 avoid writing semaphore register in request_irqs(). Semaphore register does not exist for ISPFx00. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit efcdf9f5c8dfb1fa2b052e58e4ccb85541aee2cd Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:41 2014 -0400 qla2xxx: Fix potential return count bug in qla2xxx_get_vpd_field(). Call scnprintf() instead of snprintf() since the latter may return an incorrect count in cases where the write is truncated to fit. scnprintf() returns the count of what was actually written; snprintf() returns the count of what would have been written. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 349c390f43c63c2c919b81beb84b3a7592f2dd14 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:40 2014 -0400 qla2xxx: ISP27xx fwdump template error print simplification. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4096953054ad4369774f9dadc125ef7a57bb9ed0 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:39 2014 -0400 qla2xxx: ISP25xx multiqueue shadow register crash fix. When creating request/response queues from qla25xx_setup_mode(), the shadow index register pointers were not being initialized to point at the registers. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 98aee70d19a7e3203649fa2078464e4f402a0ad8 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:38 2014 -0400 qla2xxx: Add endianizer to max_payload_size modifier. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 420854b3cda9e7e0ff1ace8dba3ad45387d15d14 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Thu Sep 25 05:16:37 2014 -0400 qla2xxx: Enable fast flash access for ISP83xx. Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2ac224bc0e9021520be95f6678c94440d526aa49 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:36 2014 -0400 qla2xxx: Add ISP27xx fwdump template entry T275 (insert buffer). Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit ce9b9b0858c6806ae84072d5fabb5ae0ca3f2799 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:35 2014 -0400 qla2xxx: ISP27xx fwdump template fix insertbuf() routine. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 01cb65f1bb3e71df1a0eb3393d3066ea0161a425 Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:34 2014 -0400 qla2xxx: ISP27xx fwdump template remove high frequency debug logs. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit aa2dc3727a934e63a74e6dd5f017d263d9baa70a Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:33 2014 -0400 qla2xxx: ISP27xx optimize fwdump entry table lookup. Since the entry call array is sorted in order of entry type opcode, the search can be terminated as soon as the search key is exceeded. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 299f5e27ac5fac42f5be38a1cdf004b4e8217cbf Author: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Date: Thu Sep 25 05:16:32 2014 -0400 qla2xxx: ISP27xx add tests for incomplete template. Signed-off-by: Joe Carnuccio <joe.carnuccio@xxxxxxxxxx> Signed-off-by: Saurav Kashyap <saurav.kashyap@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4089b71cc820a426d601283c92fcd4ffeb5139c2 Author: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Date: Tue Sep 23 09:22:25 2014 -0500 mptfusion: enable no_write_same for vmware scsi disks When using a virtual SCSI disk in a VMWare VM if blkdev_issue_zeroout is used data can be improperly zeroed out using the mptfusion driver. This patch disables write_same for this driver and the vmware subsystem_vendor which ensures that manual zeroing out is used instead. Cc: stable@xxxxxxxxxxxxxxx BugLink: http://bugs.launchpad.net/bugs/1371591 Reported-by: Bruce Lucas <bruce.lucas@xxxxxxxxxxx> Tested-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Signed-off-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit cbbce82209490df8b68da9aec0d642451fe0a668 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 25 13:55:19 2014 +1000 SCHED: add some "wait..on_bit...timeout()" interfaces. In commit c1221321b7c25b53204447cff9949a6d5a7ddddc sched: Allow wait_on_bit_action() functions to support a timeout I suggested that a "wait_on_bit_timeout()" interface would not meet my need. This isn't true - I was just over-engineering. Including a 'private' field in wait_bit_key instead of a focused "timeout" field was just premature generalization. If some other use is ever found, it can be generalized or added later. So this patch renames "private" to "timeout" with a meaning "stop waiting when "jiffies" reaches or passes "timeout", and adds two of the many possible wait..bit..timeout() interfaces: wait_on_page_bit_killable_timeout(), which is the one I want to use, and out_of_line_wait_on_bit_timeout() which is a reasonably general example. Others can be added as needed. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Signed-off-by: NeilBrown <neilb@xxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 859c75aba20264d87dd026bab0d0ca3bff385955 Author: Tomas Henzl <thenzl@xxxxxxxxxx> Date: Fri Sep 12 14:44:15 2014 +0200 hpsa: add missing pci_set_master in kdump path Add a call to pci_set_master(...) missing in the previous patch "hpsa: refine the pci enable/disable handling". Found thanks to Rob Elliot. Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Robert Elliott <elliott@xxxxxx> Tested-by: Robert Elliott <elliott@xxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2e9feb434a66311f30bde2430a5609e9e24df62b Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Wed Sep 24 17:33:34 2014 +0800 arcmsr: simplify ioctl data read/write Signed-off-by: Ching Huang <ching 2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 3185ea63907cb281cfdc5aa29aa2d855826ad16a Author: wenxiong@xxxxxxxxxxxxxxxxxx <wenxiong@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 16:25:47 2014 -0500 ipr: don't log error messages when applications issues illegal requests Failing Device information are logged when IOA firmware detected these illegal request such as IOA firmware doesn't support inquiry with page code 2. The patch fixes the issue. Signed-off-by: Brian King <brking@xxxxxxxxxxxxxxxxxx> Tested-by: Wen Xiong <wenxiong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 346e2e4a8b47089f4319f114ec9ac3a95b5f0ac8 Merge: 5caf6ae 4f0eb5d Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 13:11:52 2014 +0200 Merge tag 'phy-for_3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy into usb-next Kishon writes: Adds 3 new PHY drivers stih407, stih41x and rcar gen2 PHY. It also includes miscellaneous cleanup of other PHY drivers. Conflicts: MAINTAINERS commit 5caf6ae5ce880ec15448b310e47a9515ebb7e808 Merge: 638139e dee80ad Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 25 12:18:11 2014 +0200 Merge tag 'usb-serial-3.17-final' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next Johan writes: USB-serial fixes for v3.17 Here are two more device IDs for v3.17. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit cc952e7017fa2e8871ee6a94f2c606ff5911f61e Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 24 06:26:21 2014 -0400 tty: Fix width of unsigned long bitfield padding Commit c545b66c6922b002b5fe224a6eaec58c913650b5, 'tty: Serialize tcflow() with other tty flow control changes' and commit 99416322dd16b810ba74098cc50ef2a844091d35, 'tty: Workaround Alpha non-atomic byte storage in tty_struct' work around compiler bugs and non-atomic storage on multiple arches by padding bitfields out to the declared type which is unsigned long. However, the width varies by arch. Pad bitfields to actual width of unsigned long (which is BITS_PER_LONG). Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 981c5b4a3b372402dc3aeae3a7a3eb687df44067 Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Wed Sep 24 09:38:19 2014 -0400 HID: sony: Update the DualShock 4 touchpad resolution The DualShock 4 touchpad has been measured to have a resolution of 44.86 dots/mm which equates to 1920x942. Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 508423bebcda29eb0ba7c627f895387dad7cdcd6 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Thu Sep 25 18:20:18 2014 +0900 ARM: exynos_defconfig: enable USB gadget support Enable USB gadget support without support for any specific gadgets to more easily catch cases where a devices dts doesn't specify the usb controllers dr_mode while it should. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit d2e5c871ed8a250f7ee1fe34dd52ed5757363fba Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Tue Jun 24 16:20:28 2014 +0100 drivers: cpuidle: initialize big.LITTLE driver through DT With the introduction of DT based idle states, CPUidle drivers for ARM can now initialize idle states data through properties in the device tree. This patch adds code to the big.LITTLE CPUidle driver to dynamically initialize idle states data through the updated device tree source file. Cc: Chander Kashyap <k.chander@xxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 3299b63de384159579143d4abdfb94013e0b5470 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Fri Feb 28 13:03:44 2014 +0000 drivers: cpuidle: CPU idle ARM64 driver This patch implements a generic CPU idle driver for ARM64 machines. It relies on the DT idle states infrastructure to initialize idle states count and respective parameters. Current code assumes the driver is managing idle states on all possible CPUs but can be easily generalized to support heterogenous systems and build cpumasks at runtime using MIDRs or DT cpu nodes compatible properties. The driver relies on the arm64 CPU operations to call the idle initialization hook used to parse and save suspend back-end specific idle states information upon probing. Idle state index 0 is always initialized as a simple wfi state, ie always considered present and functional on all ARM64 platforms. Idle state indices higher than 0 trigger idle state entry by calling the cpu_suspend function, that triggers the suspend operation through the CPU operations suspend back-end hook. cpu_suspend passes the idle state index as a parameter so that the CPU operations suspend back-end can retrieve the required idle state data by using the idle state index to execute a look-up on its internal data structures. Reviewed-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 9f14da345599c14b329cf5ac9499ad322056dd32 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Fri Feb 14 14:28:39 2014 +0000 drivers: cpuidle: implement DT based idle states infrastructure On most common ARM systems, the low-power states a CPU can be put into are not discoverable in HW and require device tree bindings to describe power down suspend operations and idle states parameters. In order to enable DT based idle states and configure idle drivers, this patch implements the bulk infrastructure required to parse the device tree idle states bindings and initialize the corresponding CPUidle driver states data. The parsing API accepts a start index that defines the first idle state that should be initialized by the parsing code in order to give new and legacy driver flexibility over which states should be parsed using the new DT mechanism. The idle states node(s) is obtained from the phandle list of the first cpu in the driver cpumask; the kernel checks that the idle state node phandle is the same for all CPUs in the driver cpumask before declaring the idle state as valid and start parsing its content. The idle state enter function pointer is initialized through DT match structures passed in by the CPUidle driver, so that ARM legacy code can cope with platform specific idle entry method based on compatible string matching and the code used to initialize the enter function pointer can be moved to the DT generic layer. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 2a0a5b2299b9bef76123fac91e68d39cb361c33e Author: Jan Willeke <willeke@xxxxxxxxxx> Date: Mon Sep 22 16:39:06 2014 +0200 s390/uprobes: architecture backend for uprobes Signed-off-by: Jan Willeke <willeke@xxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 975fab17399a2b29985166181ad80e5f50fa42e9 Author: Jan Willeke <willeke@xxxxxxxxxx> Date: Mon Sep 22 16:37:27 2014 +0200 s390/uprobes: common library for kprobes and uprobes This patch moves common functions from kprobes.c to probes.c. Thus its possible for uprobes to use them without enabling kprobes. Signed-off-by: Jan Willeke <willeke@xxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit bbae71bf9c2fe90dc5642d4cddbbc1994861fd92 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 22 16:34:38 2014 +0200 s390/rwlock: use the interlocked-access facility 1 instructions Make use of the load-and-add, load-and-or and load-and-and instructions to atomically update the read-write lock without a compare-and-swap loop. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 94232a4332de3bc210e7067fd43521b3eb12336a Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 22 16:25:25 2014 +0200 s390/rwlock: improve writer fairness Set the write-lock bit in the out-of-line rwlock code to indicate that a writer is waiting. Additional readers will no be able to get the lock until at least one writer got the lock. Additional writers have to wait for the first writer to release the lock again. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2684e73a861fe7b2ab763f442207025a1d9bb6a6 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Mon Sep 22 14:45:11 2014 +0200 s390/rwlock: remove interrupt-enabling rwlock variant. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6a5c1482e2b700e89f174ddb42434b37f15abccd Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Sep 22 08:50:51 2014 +0200 s390/mm: remove change bit override support Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 70c9d296325b398a87c30de77cc94033a60bdad2 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Sat Sep 20 11:12:08 2014 +0200 s390/vmemmap: remove memset call from vmemmap_populate() If the vmemmap array gets filled with large pages we allocate those pages with vmemmap_alloc_block(), which returns cleared pages. Only for single 4k pages we call our own vmem_alloc_pages() which does not return cleared pages. However we can also call vmemmap_alloc_block() to allocate the 4k pages. This way we can also make sure the vmemmap array is cleared after its population. Therefore we can remove the memset at the end of the function which would clear the vmmemmap array a second time on machines which do support EDAT1. On very large configurations this can save us several seconds. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b881dcfbf7fd89b2be801843b060b9ad77cc77e7 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Fri Sep 19 15:46:02 2014 +0200 s390/head.s: use zero as address for stfl The architecture suggests to use address 0 as parameter for stfl, to allow for future extensions. Using __LC_STFL_FAC_LIST (0x200) shows which address is used, but might be not future proof. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit d59b93da5e572703e1a7311c13dd3472a4e56e30 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Sep 19 14:29:31 2014 +0200 s390/rwlock: use directed yield for write-locked rwlocks Add an owner field to the arch_rwlock_t to be able to pass the timeslice of a virtual CPU with diagnose 0x9c to the lock owner in case the rwlock is write-locked. The undirected yield in case the rwlock is acquired writable but the lock is read-locked is removed. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 46b05c7bd51edafb8c8da088b49bddf7f78d48f9 Author: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Date: Tue Sep 16 14:37:25 2014 +0200 s390/zcrypt: Fixed possible race condition in zcrypt module handling Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 9fc98ad0d2bf3cd71772d1bda75e7a8b4dce261b Author: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Date: Tue Sep 16 11:02:24 2014 +0200 s390/tape: fix MTIOCGET ioctl to report blocksize Remove tape_state from status register and report the drive's current setting for block size instead as known from other tapes. Density is not supported so nothing to report here. Signed-off-by: Stefan Haberland <stefan.haberland@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 8f933b1043e1e51f4776fc1ffe86752c7785fd4e Author: Ralf Hoppe <rhoppe@xxxxxxxxxx> Date: Mon Apr 8 09:52:57 2013 +0200 s390/hmcdrv: HMC drive CD/DVD access This device driver allows accessing a HMC drive CD/DVD-ROM. It can be used in a LPAR and z/VM environment. Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Reviewed-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Ralf Hoppe <rhoppe@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ea61a579ab87f1620b14777afc32cf3827f07bc8 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Sep 9 12:53:12 2014 +0200 s390/sclp: reduce dependency on event type masks The event type masks can change asynchronously. These changes are reported by SCLP to the OS by state-change events which are retrieved with the read event data command. The SCLP driver has a request queue, there is a window where the read event data request has not completed yet but the SCLP console drivers are trying to queue output requests. As the masks are not updated yet the requests are discarded. The simplest fix is to queue the console requests independent of the event type masks and rely on SCLP to return with an error code if a specific event type is not available. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 170387a8877b2c12fee5ae901be1ef4693d06094 Author: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Date: Mon Sep 8 13:24:13 2014 +0200 s390/zcrypt: support for extended number of ap domains Extends the number of ap domains within the zcrypt device driver up to 256. AP domains in the range 00..255 will be detected. Signed-off-by: Ingo Tuchscherer <ingo.tuchscherer@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 6baf6ee534c56e754ca854176be0073bc2c9e6a4 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Tue Aug 12 17:11:05 2014 -0700 cpuidle: big.LITTLE: add Exynos5800 compatible string Exynos 5800 is big.LITTLE SoC compatible with the 5420. Add the compatible string so this driver works on the 5800. Tested on exynos5800-peach-pi (aka Samsung Chromebook2) Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit f4ea5332c800c54f4d4c231d3338d95c2dd70a66 Merge: 0f33be0 18910ab Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Thu Sep 25 10:47:25 2014 +0200 Merge branch 'for-next/cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux into cpuidle/3.18 These are the specific changes for ARM64 to make it possible to integrate the DT based generic cpuidle driver in this tree. It contains: * The documentation for the DT definitions for ARM * The refactoring of the cpu_suspend function for ARM64 * Introduce the cpu_idle_init function for ARM64 * Add the PSCI CPU SUSPEND based on the previous changes on cpu_suspend Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> commit 565766b087a6d6ff257f5b79c8ceda0188c9169f Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Sep 25 09:48:01 2014 +0300 Bluetooth: Rename sco_param_wideband table to esco_param_msbc The sco_param_wideband table represents the eSCO parameters for specifically mSBC encoding. This patch renames the table to the more descriptive esco_param_msbc name. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e4742d5769e7f502f1b928b759ddecabf03375d7 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 24 10:15:24 2014 +0200 pinctrl: bcm281xx: make Kconfig dependency more strict This driver is only useful on BCM281xx, so let the driver depend on ARCH_BCM_MOBILE but allow compile coverage testing. The main benefit is that the driver isn't available to be selected for machines that don't have the matching hardware. Signed-off-by: Uwe Kleine-KÃ?¶nig <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Sherman Yin <syin@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7b31997a734cd24c305d5c58a366e4c8f7673e02 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Feb 21 14:42:26 2014 +0100 gpio: kona: enable only on BCM_MOBILE or for compile testing This change makes it easier to configure a kernel for a real machine by not showing the option to enable it at all if COMPILE_TEST is off. Signed-off-by: Uwe Kleine-KÃ?¶nig <u.kleine-koenig@xxxxxxxxxxxxxx> Acked-by: Markus Mayer <mmayer@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e2e08970100db03bb84fd4a72f9c35bfc18d595a Author: Nikolaus Voss <n.voss@xxxxxxxxxxxxxxx> Date: Tue Sep 23 15:30:21 2014 +0200 pwm: atmel: Fix calculation of prescale value The prescale value used for calculating the period was incremented afterwards, thus the resulting prescale value is by one too high. This resulted in a PWM frequency only half as high as requested. This patch moves the 64 bit division out of the prescale loop to correct the above issue and make the calculation more efficient. Signed-off-by: Nikolaus Voss <n.voss@xxxxxxxxxxxxxxx> Tested-by: Bo Shen <voice.shen@xxxxxxxxx> Acked-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit e87b4c7a7ac6d895846570dec637744cf7050df3 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 18 16:09:27 2014 +1000 NFS: don't use STABLE writes during writeback. commit b31268ac793fd300da66b9c28bbf0a200339ab96 FS: Use stable writes when not doing a bulk flush was a bit heavy handed. The particular problem that lead to this patch was that small writes to an O_SYNC file we being written as UNSTABLE writes followed by a commit. This is appropriate for large writes (which require multiple NFS requests) but for small writes (single NFS request), using NFS_FILE_SYNC is more efficient. So that patch causes the code to select between the two methods depending on how many nfs requests get generated. Unfortunately this ends up applying to non O_SYNC writes as well. In particular if you memory-map a file and update random pages, then when they are eventually written out by writeback they will go as NFS_FILE_SYNC. This is inefficient and slows down the application. So: only set FLUSH_COND_STABLE when wbc->sync_mode is WB_SYNC_ALL. With this patch: O_SYNC writes are NFS_FILE_SYNC for single requests, and NFS_UNSTABLE followed by COMMIT for multiple requests Writing immediately before close of fsync follow the same pattern. Non-O_SYNC writes without an fsync of close eventually get flushed out as UNSTABLE and a commit follows eventually as appropriate. Signed-off-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8478eaa16e701ecfe054b62ec764bc1291b79e19 Author: NeilBrown <neilb@xxxxxxx> Date: Thu Sep 18 16:09:27 2014 +1000 NFSv4: use exponential retry on NFS4ERR_DELAY for async requests. Currently asynchronous NFSv4 request will be retried with exponential timeout (from 1/10 to 15 seconds), but async requests will always use a 15second retry. Some "async" requests are really synchronous though. The async mechanism is used to allow the request to continue if the requesting process is killed. In those cases, an exponential retry is appropriate. For example, if two different clients both open a file and get a READ delegation, and one client then unlinks the file (while still holding an open file descriptor), that unlink will used the "silly-rename" handling which is async. The first rename will result in NFS4ERR_DELAY while the delegation is reclaimed from the other client. The rename will not be retried for 15 seconds, causing an unlink to take 15 seconds rather than 100msec. This patch only added exponential timeout for async unlink and async rename. Other async calls, such as 'close' are sometimes waited for so they might benefit from exponential timeout too. Signed-off-by: NeilBrown <neilb@xxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3dedbb5ca10ef13f25055776d2f6d9499d9ca1ba Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Wed Sep 24 18:08:04 2014 +0000 rpc: Add -EPERM processing for xs_udp_send_request() If an iptables drop rule is added for an nfs server, the client can end up in a softlockup. Because of the way that xs_sendpages() is structured, the -EPERM is ignored since the prior bits of the packet may have been successfully queued and thus xs_sendpages() returns a non-zero value. Then, xs_udp_send_request() thinks that because some bits were queued it should return -EAGAIN. We then try the request again and again, resulting in cpu spinning. Reproducer: 1) open a file on the nfs server '/nfs/foo' (mounted using udp) 2) iptables -A OUTPUT -d <nfs server ip> -j DROP 3) write to /nfs/foo 4) close /nfs/foo 5) iptables -D OUTPUT -d <nfs server ip> -j DROP The softlockup occurs in step 4 above. The previous patch, allows xs_sendpages() to return both a sent count and any error values that may have occurred. Thus, if we get an -EPERM, return that to the higher level code. With this patch in place we can successfully abort the above sequence and avoid the softlockup. I also tried the above test case on an nfs mount on tcp and although the system does not softlockup, I still ended up with the 'hung_task' firing after 120 seconds, due to the i/o being stuck. The tcp case appears a bit harder to fix, since -EPERM appears to get ignored much lower down in the stack and does not propogate up to xs_sendpages(). This case is not quite as insidious as the softlockup and it is not addressed here. Reported-by: Yigong Lou <ylou@xxxxxxxxxx> Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f279cd008fc9742f5ec294d9b8a793a7a0b163ef Author: Jason Baron <jbaron@xxxxxxxxxx> Date: Wed Sep 24 18:08:00 2014 +0000 rpc: return sent and err from xs_sendpages() If an error is returned after the first bits of a packet have already been successfully queued, xs_sendpages() will return a positive 'int' value indicating success. Callers seem to treat this as -EAGAIN. However, there are cases where its not a question of waiting for the write queue to drain. For example, when there is an iptables rule dropping packets to the destination, the lower level code can return -EPERM only after parts of the packet have been successfully queued. In this case, we can end up continuously retrying resulting in a kernel softlockup. This patch is intended to make no changes in behavior but is in preparation for subsequent patches that can make decisions based on both on the number of bytes sent by xs_sendpages() and any errors that may have be returned. Signed-off-by: Jason Baron <jbaron@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 173b3afceebe76fa2205b2c8808682d5b541fe3c Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Tue Sep 23 12:26:20 2014 -0400 lockd: Try to reconnect if statd has moved If rpc.statd is restarted, upcalls to monitor hosts can fail with ECONNREFUSED. In that case force a lookup of statd's new port and retry the upcall. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit a743419f420a64d442280845c0377a915b76644f Author: Benjamin Coddington <bcodding@xxxxxxxxxx> Date: Tue Sep 23 12:26:19 2014 -0400 SUNRPC: Don't wake tasks during connection abort When aborting a connection to preserve source ports, don't wake the task in xs_error_report. This allows tasks with RPC_TASK_SOFTCONN to succeed if the connection needs to be re-established since it preserves the task's status instead of setting it to the status of the aborting kernel_connect(). This may also avoid a potential conflict on the socket's lock. Signed-off-by: Benjamin Coddington <bcodding@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.14+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8faaa6d5d48b201527e0451296d9e71d23afb362 Author: Olga Kornievskaia <kolga@xxxxxxxxxx> Date: Wed Sep 24 18:11:28 2014 -0400 Fixing lease renewal Commit c9fdeb28 removed a 'continue' after checking if the lease needs to be renewed. However, if client hasn't moved, the code falls down to starting reboot recovery erroneously (ie., sends open reclaim and gets back stale_clientid error) before recovering from getting stale_clientid on the renew operation. Signed-off-by: Olga Kornievskaia <kolga@xxxxxxxxxx> Fixes: c9fdeb280b8c (NFS: Add basic migration support to state manager thread) Cc: stable@xxxxxxxxxxxxxxx # 3.13+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2f3169fb18f4643ac9a6a097a6a6c71f0b2cef75 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Wed Sep 24 18:56:11 2014 +0200 nfs: fix duplicate proc entries Commit 65b38851a174 ("NFS: Fix /proc/fs/nfsfs/servers and /proc/fs/nfsfs/volumes") updated the following function: static int nfs_volume_list_open(struct inode *inode, struct file *file) it used &nfs_server_list_ops instead of &nfs_volume_list_ops which means cat /proc/fs/nfsfs/volumes = /proc/fs/nfsfs/servers Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Fixes: 65b38851a174 (NFS: Fix /proc/fs/nfsfs/servers and...) Cc: stable@xxxxxxxxxxxxxxx # 3.4.x+ Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fd642bb94c75f08ed15111a7fe75027da6abdd07 Merge: 4d96fb1 d6cc1f5 Author: Sebastian Reichel <sre@xxxxxxxxxx> Date: Thu Sep 25 01:55:14 2014 +0200 Merge tag 'tags/mfd-power-charger-regulator-v3.18' into next Immutable branch between MFD, Power, Charger and Regulator for v3.18 commit 4d96fb1ec81118c6406fe6d3670f172b2faaedf3 Author: Heiko Stuebner <heiko.stuebner@xxxxxx> Date: Tue Sep 23 22:42:16 2014 +0200 power: gpio-charger: do not use gpio value directly Some gpio implementations return interesting values for gpio_get_value when the value is not 0 - as seen on a imx6sl board. Therefore do not use the value returned from gpio_get_value directly but simply check for 0 or not 0. Signed-off-by: Heiko Stuebner <heiko.stuebner@xxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit ddd26dff757d08d4eb309a28bf2a02372387e71f Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 16 18:10:41 2014 +0200 power: max8925: Use of_get_child_by_name Use of_get_child_by_name to obtain reference to charger node instead of of_find_node_by_name which can walk outside of the parent node. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 920ac5be91bc447c5ef82f457207a169aa79c5f6 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 16 18:10:40 2014 +0200 power: max8925: Fix NULL ptr dereference on memory allocation failure Check the return value of devm_kzalloc() to fix possible NULL pointer dereference and properly exit the probe() on memory allocation failure. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 628ef02c56e515430dd8d8439126dd0ecb8ce8bb Author: Puthikorn Voravootivat <puthik@xxxxxxxxxxxx> Date: Tue Sep 9 12:20:35 2014 -0700 bq27x00_battery: Add support to bq27742 Add support to bq27742 in bq27x00 driver. bq27742 register addresses are mostly mostly the same as bq27500 addresses with minor differences. Signed-off-by: Puthikorn Voravootivat <puthik@xxxxxxxxxxxx> Reviewed-by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Reviewed-by: Rhyland Klein <rklein@xxxxxxxxxx> Reviewed-by: Benson Leung <bleung@xxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 042e1c79166b9250edd8262bea84e1703f27ad2e Author: Jin Yao <yao.jin@xxxxxxxxxxxxxxx> Date: Mon Sep 22 10:31:14 2014 -0700 Input: soc_button_array - convert to platform bus ACPI device enumeration mechanism changed a lot since 3.16-rc1. ACPI device objects with _HID will be enumerated to platform bus by default. For the existing PNP drivers that probe the PNPACPI devices, the device ids are listed explicitly in drivers/acpi/acpi_pnp.c. But ACPI folks will continue their effort on shrinking this id list by converting the PNP drivers to platform drivers, for the devices that don't belong to PNP bus in nature. Signed-off-by: Jin Yao <yao.jin@xxxxxxxxx> Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 9133664097dd4aca0bed4882a86f0bfccbf07e53 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 22:51:26 2014 +0200 cpuidle: Replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c7750e8321155d39625c1ffb03227af4fa7f9122 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 18 08:41:28 2014 -0300 gpu: ipu-v3: Kconfig: Remove SOC_IMX6SL from IMX_IPUV3_CORE Kconfig SOC_IMX6SL does not have the IPU block, so remove it from the Kconfig entry. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7bc5a2bad0b8d9d1ac9f7b8b33150e4ddf197334 Author: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Date: Sat Sep 20 13:19:47 2014 +0200 ACPI: Support _OSI("Darwin") correctly Apple hardware queries _OSI("Darwin") in order to determine whether the system is running OS X, and changes firmware behaviour based on the answer. The most obvious difference in behaviour is that Thunderbolt hardware is forcibly powered down unless the system is running OS X. The obvious solution would be to simply add Darwin to the list of supported _OSI strings, but this causes problems. Recent Apple hardware includes two separate methods for checking _OSI strings. The first will check whether Darwin is supported, and if so will exit. The second will check whether Darwin is supported, but will then continue to check for further operating systems. If a further operating system is found then later firmware code will assume that the OS is not OS X. This results in the unfortunate situation where the Thunderbolt controller is available at boot time but remains powered down after suspend. The easiest way to handle this is to special-case it in the Linux-specific OSI handling code. If we see Darwin, we should answer true and then disable all other _OSI vendor strings. The next problem is that the Apple PCI _OSC method has the following code: if (LEqual (0x01, OSDW ())) if (LAnd (LEqual (Arg0, GUID), NEXP) (do stuff) else (fail) NEXP is a value in high memory and is presumably under the control of the firmware. No methods sets it. The methods that are called in the "do stuff" path are dummies. Unless there's some additional firmware call in early boot, there's no way for this call to succeed - and even if it does, it doesn't do anything. The easiest way to handle this is simply to ignore it. We know which flags would be set, so just set them by hand if the platform is running in Darwin mode. Signed-off-by: Matthew Garrett <matthew.garrett@xxxxxxxxxx> [andreas.noever@xxxxxxxxx: merged two patches, do not touch ACPICA] Signed-off-by: Andreas Noever <andreas.noever@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9faf6136ff4647452580b019f4b16f8c5082e589 Author: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Date: Sat Sep 20 13:19:46 2014 +0200 ACPI / SBS: Disable smart battery manager on Apple Touching the smart battery manager at all on Apple hardware appears to make it unhappy - unplugging the AC adapter triggers accesses that hang the controller for several minutes. Quirk it out via DMI in order to avoid this. Compensate by changing battery presence if we fail to communicate with the battery. Signed-off-by: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Signed-off-by: Andreas Noever <andreas.noever@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 3031cddea633ea5328162d3d712a582e4205dbed Author: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Date: Sat Sep 20 13:19:45 2014 +0200 ACPI / SBS: Don't assume the existence of an SBS charger Apple hardware continues to expose an ACPI AC charger even when using SBS to report battery state. The charger status byte returns all 0s in this case. Since the spec requires that bit 4 be 1 at all times, assume that there's not really a charger if it's set to zero. Signed-off-by: Matthew Garrett <matthew.garrett@xxxxxxxxxx> Signed-off-by: Andreas Noever <andreas.noever@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ffd8a731d9bfd186b8bb8b88f558de7e04ae06e6 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 22:51:24 2014 +0200 ACPI / battery: Replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5d30f7410220eb212614654677264f1ba04ae746 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Mon Sep 15 19:36:53 2014 +0800 ACPI / utils: Update acpi_check_dsm() comments Update function comments. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8ee4104a681a3a30a495265825d8ebfe87d57d28 Author: Edward Lin <yidi.lin@xxxxxxxxxxxxx> Date: Mon Sep 15 11:56:12 2014 +0800 ACPI / blacklist: add Win8 OSI quirks for some Dell laptop models The wireless hotkey of those machines does not work with Win8 OSI. Due to insufficient documentation for the driver implementation, blacklist those machines as a workaround. "audo wake on after shutdown" bug on Dell Inspiron 7737 is fixed by BIOS. But this machine still suffers the hotkey issue. So keep the quirk for the wireless hotkey issue. Link: http://www.dell.com/support/home/us/en/19/Drivers/DriversDetails?driverId=MJWNX Signed-off-by: Edward Lin <yidi.lin@xxxxxxxxxxxxx> [ rjw: Subject ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 00c027db0cc4b7387b258330482c6e5f5e836b18 Merge: c24ae0d 8d0eff6 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Sep 24 23:19:45 2014 +0200 Merge tag 'signed-kvm-ppc-next' of git://github.com/agraf/linux-2.6 into kvm-next Patch queue for ppc - 2014-09-24 New awesome things in this release: - E500: e6500 core support - E500: guest and remote debug support - Book3S: remote sw breakpoint support - Book3S: HV: Minor bugfixes Alexander Graf (1): KVM: PPC: Pass enum to kvmppc_get_last_inst Bharat Bhushan (8): KVM: PPC: BOOKE: allow debug interrupt at "debug level" KVM: PPC: BOOKE : Emulate rfdi instruction KVM: PPC: BOOKE: Allow guest to change MSR_DE KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG KVM: PPC: BOOKE: Guest and hardware visible debug registers are same KVM: PPC: BOOKE: Add one reg interface for DBSR KVM: PPC: BOOKE: Add one_reg documentation of SPRG9 and DBSR KVM: PPC: BOOKE: Emulate debug registers and exception Madhavan Srinivasan (2): powerpc/kvm: support to handle sw breakpoint powerpc/kvm: common sw breakpoint instr across ppc Michael Neuling (1): KVM: PPC: Book3S HV: Add register name when loading toc Mihai Caraman (10): powerpc/booke: Restrict SPE exception handlers to e200/e500 cores powerpc/booke: Revert SPE/AltiVec common defines for interrupt numbers KVM: PPC: Book3E: Increase FPU laziness KVM: PPC: Book3e: Add AltiVec support KVM: PPC: Make ONE_REG powerpc generic KVM: PPC: Move ONE_REG AltiVec support to powerpc KVM: PPC: Remove the tasklet used by the hrtimer KVM: PPC: Remove shared defines for SPE and AltiVec interrupts KVM: PPC: e500mc: Add support for single threaded vcpus on e6500 core KVM: PPC: Book3E: Enable e6500 core Paul Mackerras (2): KVM: PPC: Book3S HV: Increase timeout for grabbing secondary threads KVM: PPC: Book3S HV: Only accept host PVR value for guest PVR commit ef86c3f4bec932bee4ad05728f7306359ae2f87a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 15:12:43 2014 +0200 ACPI / processor: use container_of instead of casting first structure member Use container_of instead of casting first structure member to resolve acpi_madt_local_apic/sapic/x2apic from acpi_subtable_header. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> [ rjw: Subject and changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a11d342fb89aedec5003d116e7427d43cbba714d Author: Stepan Bujnak <stepanbujnak@xxxxxxxxxxx> Date: Wed Sep 10 17:44:43 2014 +0200 ACPI / video: force vendor backlight on Lenovo Ideapad Z570 Lenovo Ideapad 570 is a pre-win8 laptop where not using vendor backlight causes the backlight controls not to work. Signed-off-by: Stepan Bujnak <stepanbujnak@xxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1f47a77c4e4951f141bf20fe7f7c5d9438ea1663 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Thu Sep 11 15:19:33 2014 +0300 ACPI / LPSS: not using UART RTS override with Auto Flow Control Adding a check for UART Auto Flow Control feature and only enabling the RTS override when it's not supported. RTS override is not needed when Auto Flow Control is used and they shouldn't be used together. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4daaab4f0c2b55adccab08da06e17acc270cb84a Merge: 3c4d1da b94d525 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 24 16:48:32 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit 783a28ec0bf2c2d560d8004c92919d112a777e55 Merge: 2f419d7 31ff2a5 615f775 94e57fe Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Sep 24 14:36:11 2014 -0600 Merge branches 'pci/hotplug', 'pci/initdata' and 'pci/misc' into next * pci/hotplug: PCI: pciehp: Stop disabling notifications during init PCI: pciehp: Add more Slot Control debug output PCI: pciehp: Fix wait time in timeout message * pci/initdata: x86/PCI: Mark PCI BIOS initialization code as such x86/PCI: Constify pci_mmcfg_probes[] array x86/PCI: Mark constants of pci_mmcfg_nvidia_mcp55() as __initconst x86/PCI: Move __init annotation to the correct place x86/PCI: Mark DMI tables as initialization data * pci/misc: PCI: Move PCI_VENDOR_ID_VMWARE to pci_ids.h commit c7da579763f29cf45a861ad4c339aba590d8b80d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 24 22:41:46 2014 +0300 Bluetooth: Add retransmission effort into SCO parameter table It is expected that new parameter combinations will have the retransmission effort value different between some entries (mainly because of the new S4 configuration added by HFP 1.7), so it makes sense to move it into the table instead of having it hard coded based on the selected SCO_AIRMODE_*. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b2fc3f3c6d397d434174147eca3db1ec778195ce Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:42:38 2014 -0700 drivers/soc: ti: fix build break with modules Fixes below build break by not switching to stubs when the driver is a module: drivers/soc/ti/knav_dma.c:418:7: error: redefinition of 'knav_dma_open_channel' void *knav_dma_open_channel(struct device *dev, const char *name, ^ In file included from drivers/soc/ti/knav_dma.c:26:0: include/linux/soc/ti/knav_dma.h:165:21: note: previous definition of 'knav_dma_open_channel' was here static inline void *knav_dma_open_channel(struct device *dev, const char *name, ^ Cc: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9cd701648d1ec6b2ad4d0a8cbbd7241b5ad9e830 Merge: 7e9b282 2b2244a Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:29:31 2014 -0700 Merge tag 'imx-dt-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt Merge "ARM: imx: device tree changes for 3.18" from Shawn Guo: The i.MX device tree changes for 3.18: - Device tree support for i.MX ADS and Armadeus APF9328 boards - Enable thermal sensor support for i.MX6SL - Add LCD support for i.MX6SL EVK board - Fix display duplicate name for a bunch of board dts files - Configure imx6qdl-sabresd board pins locally to remove the dependency on bootloader - A set of imx28-tx28 board dts updates from Lothar - Add pci config space as platform resource - Enable devices RTC, I2C and HDMI for nitrogen6x board - Split HummingBoard DT to support s/dl and d/q - mSATA and IR input support for HummingBoard - Add SSI baud clock for i.MX6 device trees - Add USB support for vf610-colibri and vf610-twr boards - A set of cleanup and updates on Gateworks boards * tag 'imx-dt-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (86 commits) ARM: dts: imx6: make gpt per clock can be from OSC ARM: dts: imx: ventana: add canbus support for GW52xx ARM: dts: imx: ventana: cleanup pinctrl groups ARM: dts: imx: ventana: configure padconf for all pins ARM: dts: imx: ventana: use gpio constants ARM: dts: imx: ventana: remove unused aliases ARM: dts: imx: ventana: remove unsupported dt nodes ARM: dts: imx28-tx28: add alias for CAN XCVR regulator ARM: dts: imx28-tx28: add spi-gpio as alternative for spi-mxs ARM: dts: imx28-tx28: use GPIO flags ARM: dts: imx28-tx28: remove spidev labels and add third instance of spidev ARM: dts: imx6sl: add baud clock and clock-names for ssi ARM: dts: imx6qdl: add baud clock and clock-names for ssi ARM: dts: imx6qdl-sabresd: Configure the pins locally ARM: dts: imx28-m28evk: Fix display duplicate name warning ARM: dts: imx28-tx28: Fix display duplicate name warning ARM: dts: imx28-m28cu: Fix display duplicate name warning ARM: dts: imx28-cfa100: Fix display duplicate name warning ARM: dts: imx28-apf28dev: Fix display duplicate name warning ARM: dts: imx28-apx4devkit: Fix display duplicate name warning ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 14bbd322f4264afc26c93907add4870f686d28b9 Merge: 739d8d8 64546e9 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:27:17 2014 -0700 Merge tag 'imx-soc-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc Merge "ARM: imx: SoC updates for 3.18" from Shawn Guo: The i.MX SoC updates for 3.18: - Add initial devicetree support for i.MX1 - Support GPT per clock source from OSC for i.MX6 - A couple of parent selection corrections for i.MX6SL clock driver - Support more chip revision for i.MX6 - Convert pr_warning to pr_warn - Add exclusive gate clock support - Add BYPASS support for i.MX6 PLL clocks - Update i.MX6 clock tree for audio use case - A couple of VF610 clock driver updates * tag 'imx-soc-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (30 commits) ARM: imx_v6_v7_defconfig updates ARM: imx_v4_v5_defconfig: Select CONFIG_IMX_WEIM arm: mach-imx: Convert pr_warning to pr_warn ARM: imx: source gpt per clk from OSC for system timer ARM: imx: add gpt_3m clk for i.mx6qdl ARM: imx: fix register offset of pll7_usb_host gate clock ARM: clk-imx6sl: refine clock tree for SSI ARM: imx: remove ENABLE and BYPASS bits from clk-pllv3 driver ARM: imx6sx: add BYPASS support for PLL clocks ARM: imx6sl: add BYPASS support for PLL clocks ARM: imx6q: add BYPASS support for PLL clocks ARM: imx: add an exclusive gate clock type ARM: clk-imx6q: refine clock tree for SSI ARM: clk-imx6q: refine clock tree for ASRC ARM: clk-imx6sl: correct the pxp and epdc axi clock selections ARM: clk-imx6q: refine clock tree for ESAI ARM: clk-imx6sl: Select appropriate parents for LCDIF clocks ARM: clk-imx6sl: Remove csi_lcdif_sels[] ARM: imx: clk-vf610: Add USBPHY clocks ARM: imx: add cpufreq support for i.mx6sx ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 28fd837204236cf5b5533525e5b53c5176fa97a3 Merge: c82eb46 64d14a3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:20:48 2014 -0700 Merge tag 'imx-cleanup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/cleanup Merge "ARM: imx: cleanup for 3.18" from Shawn Guo: The i.MX cleanup for 3.18: - Reomve a few i.MX27 and i.MX1 board files - Remove imx_scu_standby_enable() since core code handles scu standby now - Remove unnecessary iomux declaration - Remove useless sound card property from vf610-twr dts * tag 'imx-cleanup-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx: Remove mach-mxt_td60 board file ARM: i.MX: Remove i.MX1 ADS board support ARM: dts: vf610-twr: remove useless property for sound card. ARM: imx: remove imx_scu_standby_enable() ARM: i.MX: Remove Phytec i.MX27 PCM038/PCM970 board files ARM: i.MX: Remove mach-cpuimx27sd board file ARM: imx: iomux: Do not export symbol without public declaration Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 739d8d8bc33488ef11b34875e84860db7e09c8b4 Merge: d668208 1370078 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:17:26 2014 -0700 Merge tag 'renesas-soc4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Fourth Round of Renesas ARM Based SoC Soc Updates for v3.18" from Simon Horman: Fourth Round of Renesas ARM Based SoC Soc Updates for v3.18 * r8a7794: Remove unnecessary #ifdef CONFIG_USE_OF * tag 'renesas-soc4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7794: Remove unnecessary #ifdef CONFIG_USE_OF Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ecc5d5d286188c71b12091a656b842e6bea3564c Merge: 2d9251e 7d984c9 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 11:16:40 2014 -0700 Merge tag 'renesas-defconfig4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Merge "Fourth Round of Renesas ARM Based SoC Defconfig Updates for v3.18" from Simon Horman: Fourth Round of Renesas ARM Based SoC Defconfig Updates for v3.18 * Enable r8a7794 SoC in shmobile_defconfig * tag 'renesas-defconfig4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Enable r8a7794 SoC in shmobile_defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 2d9251e3501356ceb44444a8f9a393b57163dc6a Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: multi_v7_defconfig: Enable Mediatek platform Enable Mediatek platform support for multi_v7_defconfig. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d66820853251e8a9b53125a95a773e482cd79136 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: mediatek: Add earlyprintk support for mt6589 Enable low-level debug for Mediatek mt6589 SoC on UART0. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 7e9b2828f25ec156623da0c2156604066de5514d Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: dts: mt6589: Change compatible string for GIC This patch changes the compatible string of the GIC to the new "arm,cortex-a7-gic" which does reflect the actual hardware. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 6e9cb2633698ddadd2493b3793dbc9723f570538 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: dts: mediatek: Add compatible property for aquaris5 Add the missing 'compatible' property to device tree root node of - mt6589-aquaris5.dts and document the new values. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit d82df11466df3e0934c7e7aa2f5e08c284e1fd9d Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: dts: mt6589-aquaris5: Add boot argument earlyprintk Add boot argument for earlyprintk to the aquaris5 device tree file. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 510f1d72e526e776243397142cbcd459dd2a2efa Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: dts: mt6589: Fix typo in GIC unit address This changes the unit address of the gic node to it's first register area. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 995425883e4087a4bfd61d12e442089d1201fc5c Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Mon Aug 18 16:58:00 2014 +0200 ARM: dts: Build dtb for Mediatek board This allows the "make dtbs" to build the aquaris5 dtb for the Mediatek SoC. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 0a2b4a843d327c2ed4d26a3e88bece9d3e77081b Merge: 3ef7de5 9643569 Author: Bryan Wu <cooloney@xxxxxxxxx> Date: Wed Sep 24 11:02:57 2014 -0700 Merge tag 'mfd-hwmon-leds-watchdog-v3.18' into devel Immutable branch between MFD, HWMON, LEDs and Watchdog for v3.18 commit 94e57fea62020dbf6e5d0093eabcd28366e86044 Author: Francesco Ruggeri <fruggeri@xxxxxxxxxx> Date: Wed Sep 24 10:12:41 2014 -0700 PCI: Move PCI_VENDOR_ID_VMWARE to pci_ids.h Move PCI_VENDOR_ID_VMWARE from device-specific files to pci_ids.h. It is useful to always have access to it, especially when accessing subsystem_vendor_id on emulated devices. [bhelgaas: keep pci_ids.h sorted and use lower-case hex] Signed-off-by: Francesco Ruggeri <fruggeri@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit ea66fa627d24f67afc086baa9e11ae20dc5668a4 Merge: e415765 e4d223b Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 10:41:01 2014 -0700 Merge tag 'mvebu-defconfig-3.18' of git://git.infradead.org/linux-mvebu into next/defconfig Merge "ARM: mvebu: defconfig changes for v3.18" from Jason Cooper: mvebu defconfig changes for v3.18 - mvebu_v7 - add LED class - add gpio-fan - add 'useful' options * tag 'mvebu-defconfig-3.18' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add gpio-fan to mvebu_v7_defconfig ARM: mvebu: add LED class support built-in in mvebu_v7_defconfig ARM: mvebu: update v7 defconfig with useful options Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 3e32adc8193086b5cc493ec3652f82affdebb845 Merge: fa0510f 5b1e9e8 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 10:38:57 2014 -0700 Merge tag 'mvebu-dt-3.18' of git://git.infradead.org/linux-mvebu into next/dt Merge "ARM: mvebu: DT changes for v3.18" from Jason Cooper: mvebu DT changes for v3.18 - Armada 375 - Add RTC support - Armada 370 - Add proper pinmuxing - Add SSCG - Add gpio-fan - Add LED support - change Intersil vendor prefix to isil - use improved Armada SPI compatible string * tag 'mvebu-dt-3.18' of git://git.infradead.org/linux-mvebu: ARM: mvebu: add user LED support of Armada 370 RD ARM: mvebu: add gpio fan support to Armada 370 RD ARM: mvebu: Change vendor prefix for Intersil Corporation to isil ARM: mvebu: use improved armada spi device tree compatible name ARM: mvebu: add SSCG to Armada 370 Device Tree ARM: mvebu: Add proper pin muxing on Armada 370 RD board ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 104 ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 102 ARM: mvebu: Add proper pin muxing on the Armada 370 DB board ARM: mvebu: Add proper pin muxing on Globalscale Mirabox board ARM: mvebu: Add network pin mux configuration for the Armada 370 SoC ARM: mvebu: Add RTC support for Armada 375 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c82eb464879dd0ecbe0c4cb1b80ac4e82b634872 Merge: 17fa6e4 9d06d34 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 10:37:27 2014 -0700 Merge tag 'mvebu-soc-3.18' of git://git.infradead.org/linux-mvebu into next/cleanup Merge "ARM: mvebu: SoC changes for v3.18" from Jason Cooper: mvebu SoC changes for v3.18 - orion5x - remove pr_warning(), use pr_warn() * tag 'mvebu-soc-3.18' of git://git.infradead.org/linux-mvebu: ARM: orion5x: Convert pr_warning to pr_warn Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 17497acbdce9506fd6a75115dee4ab80c3cc5ee5 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:50 2014 -0400 blk-mq, percpu_ref: start q->mq_usage_counter in atomic mode blk-mq uses percpu_ref for its usage counter which tracks the number of in-flight commands and used to synchronously drain the queue on freeze. percpu_ref shutdown takes measureable wallclock time as it involves a sched RCU grace period. This means that draining a blk-mq takes measureable wallclock time. One would think that this shouldn't matter as queue shutdown should be a rare event which takes place asynchronously w.r.t. userland. Unfortunately, SCSI probing involves synchronously setting up and then tearing down a lot of request_queues back-to-back for non-existent LUNs. This means that SCSI probing may take above ten seconds when scsi-mq is used. [ 0.949892] scsi host0: Virtio SCSI HBA [ 1.007864] scsi 0:0:0:0: Direct-Access QEMU QEMU HARDDISK 1.1. PQ: 0 ANSI: 5 [ 1.021299] scsi 0:0:1:0: Direct-Access QEMU QEMU HARDDISK 1.1. PQ: 0 ANSI: 5 [ 1.520356] tsc: Refined TSC clocksource calibration: 2491.910 MHz <stall> [ 16.186549] sd 0:0:0:0: Attached scsi generic sg0 type 0 [ 16.190478] sd 0:0:1:0: Attached scsi generic sg1 type 0 [ 16.194099] osd: LOADED open-osd 0.2.1 [ 16.203202] sd 0:0:0:0: [sda] 31457280 512-byte logical blocks: (16.1 GB/15.0 GiB) [ 16.208478] sd 0:0:0:0: [sda] Write Protect is off [ 16.211439] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA [ 16.218771] sd 0:0:1:0: [sdb] 31457280 512-byte logical blocks: (16.1 GB/15.0 GiB) [ 16.223264] sd 0:0:1:0: [sdb] Write Protect is off [ 16.225682] sd 0:0:1:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA This is also the reason why request_queues start in bypass mode which is ended on blk_register_queue() as shutting down a fully functional queue also involves a RCU grace period and the queues for non-existent SCSI devices never reach registration. blk-mq basically needs to do the same thing - start the mq in a degraded mode which is faster to shut down and then make it fully functional only after the queue reaches registration. percpu_ref recently grew facilities to force atomic operation until explicitly switched to percpu mode, which can be used for this purpose. This patch makes blk-mq initialize q->mq_usage_counter in atomic mode and switch it to percpu mode only once blk_register_queue() is reached. Note that this issue was previously worked around by 0a30288da1ae ("blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe") for v3.17. The temp fix was reverted in preparation of adding persistent atomic mode to percpu_ref by 9eca80461a45 ("Revert "blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe""). This patch and the prerequisite percpu_ref changes will be merged during v3.18 devel cycle. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/g/20140919113815.GA10791@xxxxxx Fixes: add703fda981 ("blk-mq: use percpu_ref for mq usage count") Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 3730964321a79e563b763f604b79123c7e02c385 Merge: 791cc88 e0c5240 Author: Olof Johansson <olof@xxxxxxxxx> Date: Wed Sep 24 10:35:48 2014 -0700 Merge tag 'drivers-soc-ti-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/drivers Merge "soc: Keystone SOC Navigator drivers for 3.18" from Santosh Shilimkar: Keystone SOC Navigator drivers for 3.18 The Keystone Multi-core Navigator contains QMSS and packet DMA subsystems which interwork together to form the Navigator cloud used by various subsystems like NetCP, SRIO, SideBand Crypto engines etc. * tag 'drivers-soc-ti-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: MAINTAINERS: Add Keystone Multicore Navigator drivers entry soc: ti: add Keystone Navigator DMA support Documentation: dt: soc: add Keystone Navigator DMA bindings soc: ti: add Keystone Navigator QMSS driver Documentation: dt: soc: add Keystone Navigator QMSS bindings Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 1cae13e75b7a7848c03138636d4eb8d8a5054dd5 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:50 2014 -0400 percpu_ref: make INIT_ATOMIC and switch_to_atomic() sticky Currently, a percpu_ref which is initialized with PERPCU_REF_INIT_ATOMIC or switched to atomic mode via switch_to_atomic() automatically reverts to percpu mode on the first percpu_ref_reinit(). This makes the atomic mode difficult to use for cases where a percpu_ref is used as a persistent on/off switch which may be cycled multiple times. This patch makes such atomic state sticky so that it survives through kill/reinit cycles. After this patch, atomic state is cleared only by an explicit percpu_ref_switch_to_percpu() call. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 2aad2a86f6685c10360ec8a5a55eb9ab7059cb72 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:50 2014 -0400 percpu_ref: add PERCPU_REF_INIT_* flags With the recent addition of percpu_ref_reinit(), percpu_ref now can be used as a persistent switch which can be turned on and off repeatedly where turning off maps to killing the ref and waiting for it to drain; however, there currently isn't a way to initialize a percpu_ref in its off (killed and drained) state, which can be inconvenient for certain persistent switch use cases. Similarly, percpu_ref_switch_to_atomic/percpu() allow dynamic selection of operation mode; however, currently a newly initialized percpu_ref is always in percpu mode making it impossible to avoid the latency overhead of switching to atomic mode. This patch adds @flags to percpu_ref_init() and implements the following flags. * PERCPU_REF_INIT_ATOMIC : start ref in atomic mode * PERCPU_REF_INIT_DEAD : start ref killed and drained These flags should be able to serve the above two use cases. v2: target_core_tpg.c conversion was missing. Fixed. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit f47ad45784611297b699f3dffb6c7222b76afe64 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:49 2014 -0400 percpu_ref: decouple switching to percpu mode and reinit percpu_ref has treated the dropping of the base reference and switching to atomic mode as an integral operation; however, there's nothing inherent tying the two together. The use cases for percpu_ref have been expanding continuously. While the current init/kill/reinit/exit model can cover a lot, the coupling of kill/reinit with atomic/percpu mode switching is turning out to be too restrictive for use cases where many percpu_refs are created and destroyed back-to-back with only some of them reaching extended operation. The coupling also makes implementing always-atomic debug mode difficult. This patch separates out percpu mode switching into percpu_ref_switch_to_percpu() and reimplements percpu_ref_reinit() on top of it. * DEAD still requires ATOMIC. A dead ref can't be switched to percpu mode w/o going through reinit. v2: __percpu_ref_switch_to_percpu() was missing static. Fixed. Reported by Fengguang aka kbuild test robot. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: kbuild test robot <fengguang.wu@xxxxxxxxx> commit 490c79a65708873228cf114cf00e32c204e4e907 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:49 2014 -0400 percpu_ref: decouple switching to atomic mode and killing percpu_ref has treated the dropping of the base reference and switching to atomic mode as an integral operation; however, there's nothing inherent tying the two together. The use cases for percpu_ref have been expanding continuously. While the current init/kill/reinit/exit model can cover a lot, the coupling of kill/reinit with atomic/percpu mode switching is turning out to be too restrictive for use cases where many percpu_refs are created and destroyed back-to-back with only some of them reaching extended operation. The coupling also makes implementing always-atomic debug mode difficult. This patch separates out atomic mode switching into percpu_ref_switch_to_atomic() and reimplements percpu_ref_kill_and_confirm() on top of it. * The handling of __PERCPU_REF_ATOMIC and __PERCPU_REF_DEAD is now differentiated. Among get/put operations, percpu_ref_tryget_live() is the only one which cares about DEAD. * percpu_ref_switch_to_atomic() can be called multiple times on the same ref. This means that multiple @confirm_switch may get queued up which we can't do reliably without extra memory area. This is handled by making the later invocation synchronously wait for the completion of the previous one. This isn't particularly desirable but such synchronous waits shouldn't happen in most cases. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 27344a9017cdaff82a167827da3001a0918afdc3 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:49 2014 -0400 percpu_ref: add PCPU_REF_DEAD percpu_ref will be restructured so that percpu/atomic mode switching and reference killing are dedoupled. In preparation, add PCPU_REF_DEAD and PCPU_REF_ATOMIC_DEAD which is OR of ATOMIC and DEAD. For now, ATOMIC and DEAD are changed together and all PCPU_REF_ATOMIC uses are converted to PCPU_REF_ATOMIC_DEAD without causing any behavior changes. percpu_ref_init() now specifies an explicit alignment when allocating the percpu counters so that the pointer has enough unused low bits to accomodate the flags. Note that one flag was fine as min alignment for percpu memory is 2 bytes but two flags are already too many for the natural alignment of unsigned longs on archs like cris and m68k. v2: The original patch had BUILD_BUG_ON() which triggers if unsigned long's alignment isn't enough to accomodate the flags, which triggered on cris and m64k. percpu_ref_init() updated to specify the required alignment explicitly. Reported by Fengguang. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: kbuild test robot <fengguang.wu@xxxxxxxxx> commit 9e804d1f58da1eca079f796347c1cf1d1df564e2 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:48 2014 -0400 percpu_ref: rename things to prepare for decoupling percpu/atomic mode switch percpu_ref will be restructured so that percpu/atomic mode switching and reference killing are dedoupled. In preparation, do the following renames. * percpu_ref->confirm_kill -> percpu_ref->confirm_switch * __PERCPU_REF_DEAD -> __PERCPU_REF_ATOMIC * __percpu_ref_alive() -> __ref_is_percpu() This patch is pure rename and doesn't introduce any functional changes. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> commit eecc16ba9a49b05dd847a317af166a6728eb56ca Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:48 2014 -0400 percpu_ref: replace pcpu_ prefix with percpu_ percpu_ref uses pcpu_ prefix for internal stuff and percpu_ for externally visible ones. This is the same convention used in the percpu allocator implementation. It works fine there but percpu_ref doesn't have too much internal-only stuff and scattered usages of pcpu_ prefix are confusing than helpful. This patch replaces all pcpu_ prefixes with percpu_. This is pure rename and there's no functional change. Note that PCPU_REF_DEAD is renamed to __PERCPU_REF_DEAD to signify that the flag is internal. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> commit 6251f9976af7656b6970a8820153f356430f5de2 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:48 2014 -0400 percpu_ref: minor code and comment updates * Some comments became stale. Updated. * percpu_ref_tryget() unnecessarily initializes @ret. Removed. * A blank line removed from percpu_ref_kill_rcu(). * Explicit function name in a WARN format string replaced with __func__. * WARN_ON() in percpu_ref_reinit() converted to WARN_ON_ONCE(). Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> commit a2237370194484ee6aeeff04b617e4b14d178966 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:31:48 2014 -0400 percpu_ref: relocate percpu_ref_reinit() percpu_ref is gonna go through restructuring. Move percpu_ref_reinit() after percpu_ref_kill_and_confirm(). This will make later changes easier to follow and result in cleaner organization. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Kent Overstreet <kmo@xxxxxxxxxxxxx> commit 1aafa57340c6d906a285d7823e0fe68696c1ae07 Author: Wei Xu <xuwei5@xxxxxxxxxxxxx> Date: Wed Sep 24 17:07:48 2014 +0800 ARM: hisi: Fix platmcpm compilation when ARMv6 is selected When compiling with "ARCH=arm" and "allmodconfig", with commit: 9cdc99919a95e8b54c1998b65bb1bfdabd47d27b [2/7] ARM: hisi: enable MCPM implementation we will get: /tmp/cc6DjYjT.s: Assembler messages: /tmp/cc6DjYjT.s:63: Error: selected processor does not support ARM mode `ubfx r1,r0,#8,#8' /tmp/cc6DjYjT.s:761: Error: selected processor does not support ARM mode `isb ' /tmp/cc6DjYjT.s:762: Error: selected processor does not support ARM mode `dsb ' /tmp/cc6DjYjT.s:769: Error: selected processor does not support ARM mode `isb ' /tmp/cc6DjYjT.s:775: Error: selected processor does not support ARM mode `isb ' /tmp/cc6DjYjT.s:776: Error: selected processor does not support ARM mode `dsb ' /tmp/cc6DjYjT.s:795: Error: selected processor does not support ARM mode `isb ' /tmp/cc6DjYjT.s:801: Error: selected processor does not support ARM mode `isb ' /tmp/cc6DjYjT.s:802: Error: selected processor does not support ARM mode `dsb ' Fix platmcpm compilation when ARMv6 is selected. Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9eca80461a45177e456219a9cd944c27675d6512 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:07:33 2014 -0400 Revert "blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe" This reverts commit 0a30288da1aec914e158c2d7a3482a85f632750f, which was a temporary fix for SCSI blk-mq stall issue. The following patches will fix the issue properly by introducing atomic mode to percpu_ref. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> commit d06efebf0c37d438fcf07057be00dd40fcfce08d Merge: bb2e226 0a30288 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Sep 24 13:00:21 2014 -0400 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block into for-3.18 This is to receive 0a30288da1ae ("blk-mq, percpu_ref: implement a kludge for SCSI blk-mq stall during probe") which implements __percpu_ref_kill_expedited() to work around SCSI blk-mq stall. The commit reverted and patches to implement proper fix will be added. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> commit 7ad8966f4f0a4606dfaba119ea4e2b3ac4c548ee Merge: c08860f 9643569 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Wed Sep 24 09:25:06 2014 -0700 Merge tag 'mfd-hwmon-leds-watchdog-v3.18' into hwmon-next Immutable branch between MFD, HWMON, LEDs and Watchdog for v3.18 commit cfa1950e6c6b72251e80adc736af3c3d2907ab0e Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Mon Sep 22 15:51:33 2014 +0200 ARM: at91/PMC: don't forget to write PMC_PCDR register to disable clocks When introducing support for sama5d3, the write to PMC_PCDR register has been accidentally removed. Reported-by: Nathalie Cyrille <nathalie.cyrille@xxxxxxxxx> Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.10.x and later commit b65e0fb3d046cc65d0a3c45d43de351fb363271b Author: Andreas Henriksson <andreas.henriksson@xxxxxxxxx> Date: Tue Sep 23 17:12:52 2014 +0200 ARM: at91: fix at91sam9263ek DT mmc pinmuxing settings As discovered on a custom board similar to at91sam9263ek and basing its devicetree on that one apparently the pin muxing doesn't get set up properly. This was discovered since the custom boards u-boot does funky stuff with the pin muxing and leaved it set to SPI which made the MMC driver not work under Linux. The fix is simply to define the given configuration as the default. This probably worked by pure luck before, but it's better to make the muxing explicitly set. Signed-off-by: Andreas Henriksson <andreas.henriksson@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # 3.11+ commit 964356938fcd3c0001a786f55b9f0a0fbe47656a Author: Andreas Werner <andreas.werner@xxxxxx> Date: Wed Aug 27 19:53:06 2014 +0200 hwmon: (menf21bmc) Introduce MEN14F021P00 BMC HWMON driver Added driver to support the 14F021P00 BMC Hardware Monitoring. The BMC is a Board Management Controller including monitoring of the board voltages. Signed-off-by: Andreas Werner <andreas.werner@xxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 38433639af915deeb0b0e28462dd740ce57b72fd Author: Andreas Werner <andreas.werner@xxxxxx> Date: Wed Aug 27 19:52:36 2014 +0200 leds: leds-menf21bmc: Introduce MEN 14F021P00 BMC LED driver Added driver to support the 14F021P00 BMC LEDs. The BMC is a Board Management Controller including four LEDs which can be switched on and off. Signed-off-by: Andreas Werner <andreas.werner@xxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5033263992eece84e19946d2cab940c86ec862ba Author: Andreas Werner <andreas.werner@xxxxxx> Date: Wed Aug 27 19:52:06 2014 +0200 watchdog: menf21bmc_wdt: Introduce MEN 14F021P00 BMC Watchdog driver Added driver to support the 14F021P00 BMC Watchdog. The BMC is a Board Management Controller including watchdog functionality. Signed-off-by: Andreas Werner <andreas.werner@xxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d6cc1f5824cbca392d099f3bb0c441efd9e54de9 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:54:00 2014 +0200 Documentation: charger: max14577: Document exported sysfs entry Document the 'fast charge timer' setting exported by max14577 driver through sysfs entry. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 8d70d68d7a1b3082ca5a3808be18103a83ae348d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:59 2014 +0200 devicetree: mfd: max14577: Add device tree bindings document Add document describing device tree bindings for MAX14577 MFD drivers: MFD core, extcon, regulator and charger. Both MAX14577 and MAX77836 chipsets are documented. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2c33e9296202cd11bf2e2f801b69ffba0953748a Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:58 2014 +0200 power: max17040: Add ID for MAX77836 Fuel Gauge block MAX77836 has the same Fuel Gauge as MAX17040/17048. The max17040 driver can be safely re-used. The patch adds MAX77836 device to the array of i2c_device_id. Additionally it removes the id associated with MAX17040 device as the value is not used. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e30110e9c96f48aea01abc3e6dfadb369cbafec3 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:57 2014 +0200 charger: max14577: Configure battery-dependent settings from DTS and sysfs Remove hard-coded values for: - Fast Charge current, - End Of Charge current, - Fast Charge timer, - Overvoltage Protection Threshold, - Battery Constant Voltage, and use DTS or sysfs to configure them. This allows using the max14577 charger driver with different batteries. Now the charger driver requires valid configuration data from DTS. In case of wrong configuration data it fails during probe. The fast charge timer is configured through sysfs entry. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b8f139f68f2099b7f8b4ef470a1e53210e3aa025 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:56 2014 +0200 regulator/mfd: max14577: Export symbols for calculating charger current This patch prepares for changing the max14577 charger driver to allow configuring battery-dependent settings from DTS. The patch moves from regulator driver to MFD core driver and exports: - function for calculating register value for charger's current; - table of limits for chargers (MAX14577, MAX77836). Previously they were used only by the max14577 regulator driver. In next patch the charger driver will use them as well. Exporting them will reduce unnecessary code duplication. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3682a8ee87f9107253e51733f42da10160ce41e3 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:55 2014 +0200 charger: max14577: Add support for MAX77836 charger Add support for MAX77836 charger to the max14577 driver. The MAX77836 charger is almost the same as 14577 model except: - No dead-battery detection; - Support for special charger (like in MAX77693); - Support for DX over-voltage protection (like in MAX77693); - Lower values of charging current (two times lower current for slow/fast charge, much lower EOC current); - Slightly different values in ChgTyp field of STATUS2 register. On MAX14577 0x6 is reserved and 0x7 dead battery. On the MAX77836 the 0x6 means special charger and 0x7 is reserved. Regardless of these differences the driver maps them to one enum max14577_muic_charger_type. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 2f4096e311ef0922c42cbf7bc5df44efb3aff716 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Sun Sep 7 20:04:28 2014 +0200 PCI: Remove assignment from complicated "if" conditions The modifications effectively change the value of len_tmp in the case where the first condition is not met. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 79e50e72986c9fcb06d707ce587cfd24fefa33e3 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Sun Sep 7 20:03:32 2014 +0200 PCI: Remove assignment from "if" conditions The following Coccinelle semantic patch was used to find and correct cases of assignments in "if" conditions: @@ expression var, expr; statement S; @@ + var = expr; if( - (var = expr) + var ) S Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 656f978f9af9d8d77436e8159f51f7aa1e673309 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Sun Sep 7 20:02:47 2014 +0200 PCI: Remove unnecessary curly braces Remove curly braces in simple "if" cases. No functional change. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit e0c524049f8279d00d2fbd4748b03234a2726fdd Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Thu Jul 10 11:30:08 2014 -0400 MAINTAINERS: Add Keystone Multicore Navigator drivers entry Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 88139ed030583557751e279968e13e892ae10825 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Sun Mar 30 17:29:04 2014 -0400 soc: ti: add Keystone Navigator DMA support The Keystone Navigator DMA driver sets up the dma channels and flows for the QMSS(Queue Manager SubSystem) who triggers the actual data movements across clients using destination queues. Every client modules like NETCP(Network Coprocessor), SRIO(Serial Rapid IO) and CRYPTO Engines has its own instance of packet dma hardware. QMSS has also an internal packet DMA module which is used as an infrastructure DMA with zero copy. Initially this driver was proposed as DMA engine driver but since the hardware is not typical DMA engine and hence doesn't comply with typical DMA engine driver needs, that approach was naked. Link to that discussion - https://lkml.org/lkml/2014/3/18/340 As aligned, now we pair the Navigator DMA with its companion Navigator QMSS subsystem driver. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sandeep Nair <sandeep_n@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 8172296d8717be1951da4bb4feb2700a60e8cdde Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Sun Mar 30 17:29:04 2014 -0400 Documentation: dt: soc: add Keystone Navigator DMA bindings The Keystone Navigator DMA driver sets up the dma channels and flows for the QMSS(Queue Manager SubSystem) who triggers the actual data movements across clients using destination queues. Every client modules like NETCP(Network Coprocessor), SRIO(Serial Rapid IO) and CRYPTO Engines has its own instance of packet dma hardware. QMSS has also an internal packet DMA module which is used as an infrastructure DMA with zero copy. Initially this driver was proposed as DMA engine driver but since the hardware is not typical DMA engine and hence doesn't comply with typical DMA engine driver needs, that approach was naked. Link to that discussion - https://lkml.org/lkml/2014/3/18/340 As aligned, now we pair the Navigator DMA with its companion Navigator QMSS subsystem driver. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sandeep Nair <sandeep_n@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 41f93af900a20d1a0a358b522b5129c89677e9dc Author: Sandeep Nair <sandeep_n@xxxxxx> Date: Fri Feb 28 10:47:50 2014 -0500 soc: ti: add Keystone Navigator QMSS driver The QMSS (Queue Manager Sub System) found on Keystone SOCs is one of the main hardware sub system which forms the backbone of the Keystone Multi-core Navigator. QMSS consist of queue managers, packed-data structure processors(PDSP), linking RAM, descriptor pools and infrastructure Packet DMA. The Queue Manager is a hardware module that is responsible for accelerating management of the packet queues. Packets are queued/de-queued by writing or reading descriptor address to a particular memory mapped location. The PDSPs perform QMSS related functions like accumulation, QoS, or event management. Linking RAM registers are used to link the descriptors which are stored in descriptor RAM. Descriptor RAM is configurable as internal or external memory. The QMSS driver manages the PDSP setups, linking RAM regions, queue pool management (allocation, push, pop and notify) and descriptor pool management. The specifics on the device tree bindings for QMSS can be found in: Documentation/devicetree/bindings/soc/keystone-navigator-qmss.txt Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sandeep Nair <sandeep_n@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit a4dfb8c41043dd6c2b9defbe846c44389c4b6f02 Author: Sandeep Nair <sandeep_n@xxxxxx> Date: Fri Feb 28 10:47:50 2014 -0500 Documentation: dt: soc: add Keystone Navigator QMSS bindings The QMSS (Queue Manager Sub System) found on Keystone SOCs is one of the main hardware sub system which forms the backbone of the Keystone Multi-core Navigator. QMSS consist of queue managers, packed-data structure processors(PDSP), linking RAM, descriptor pools and infrastructure Packet DMA. The Queue Manager is a hardware module that is responsible for accelerating management of the packet queues. Packets are queued/de-queued by writing or reading descriptor address to a particular memory mapped location. The PDSPs perform QMSS related functions like accumulation, QoS, or event management. Linking RAM registers are used to link the descriptors which are stored in descriptor RAM. Descriptor RAM is configurable as internal or external memory. Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: Olof Johansson <olof@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Sandeep Nair <sandeep_n@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 382a9c9adc1cd540f5b714b65db315fc1c0b553d Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Sun Sep 7 20:02:04 2014 +0200 PCI: Add space before open parenthesis Add space before open parenthesis as is conventional. No functional change. [bhelgaas: fix a few more in ibmphp, shpchp] Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit eeeda4cd06e828b331b15741a204ff9f5874d28d Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Wed Sep 24 13:30:12 2014 +0100 x86/relocs: Make per_cpu_load_addr static per_cpu_load_addr is only used for 64-bit relocations, but is declared in both configurations of relocs.c - with different types. This has undefined behaviour in general. GNU ld is documented to use the larger size in this case, but other tools may differ and some warn about this. References: https://bugs.debian.org/748577 Reported-by: Michael Tautschnig <mt@xxxxxxxxxx> Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Cc: 748577@xxxxxxxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411561812.3659.23.camel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 212be3b2320bcf33eff648bc4e1f0edbf4d90acf Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 20:42:32 2014 +0200 x86/lib/Makefile: Remove the unnecessary "+= thunk_64.o" Trivial. We have "lib-y += thunk_$(BITS).o" at the start, no need to add thunk_64.o if !CONFIG_X86_32. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140921184232.GB23727@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0ad6e3c5199be12c9745da8f8b9e3c9f8066c235 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 20:41:53 2014 +0200 x86: Speed up ___preempt_schedule*() by using THUNK helpers ___preempt_schedule() does SAVE_ALL/RESTORE_ALL but this is suboptimal, we do not need to save/restore the callee-saved register. And we already have arch/x86/lib/thunk_*.S which implements the similar asm wrappers, so it makes sense to redefine ___preempt_schedule() as "THUNK ..." and remove preempt.S altogether. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Cc: Denys Vlasenko <dvlasenk@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140921184153.GA23727@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 24832b4de315ad00e5430a53772750dfcf18514d Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Tue Sep 23 22:28:59 2014 +0800 PCI: designware: Add get_msi_data() to pcie_host_ops Add a struct pcie_host_ops .get_msi_data() method for platforms to return their special MSI message data. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit KUMAR <mohit.kumar@xxxxxx> commit ee1b5b165c0a2f04d2107e634e51f05d0eb107de Author: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Date: Wed Sep 24 00:26:24 2014 +0100 x86/intel/quark: Switch off CR4.PGE so TLB flush uses CR3 instead Quark x1000 advertises PGE via the standard CPUID method PGE bits exist in Quark X1000's PTEs. In order to flush an individual PTE it is necessary to reload CR3 irrespective of the PTE.PGE bit. See Quark Core_DevMan_001.pdf section 6.4.11 This bug was fixed in Galileo kernels, unfixed vanilla kernels are expected to crash and burn on this platform. Signed-off-by: Bryan O'Donoghue <pure.logic@xxxxxxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411514784-14885-1-git-send-email-pure.logic@xxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 450e344e421b9f555261a2d97952d9e71d4cb082 Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Tue Sep 23 22:28:58 2014 +0800 PCI: designware: Rename get_msi_data() to get_msi_addr() The struct pcie_host_ops .get_msi_data() method returns the MSI message address. To accurately express its purpose, rename it to .get_msi_addr(). Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit KUMAR <mohit.kumar@xxxxxx> commit 0c61ea77cceafd1134225099961c2df0866b500f Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Tue Sep 23 22:28:57 2014 +0800 PCI: designware: Fix IO resource end address calculation End address should be equal to start_addr + size - 1. Fix PCI IO resource end address calculation. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit KUMAR <mohit.kumar@xxxxxx> commit 2ed53c0d6cc99fc712f7c037e41d9ec4eb8d6b08 Author: Lan Tianyu <tianyu.lan@xxxxxxxxx> Date: Tue Aug 26 15:43:45 2014 +0800 x86/smpboot: Speed up suspend/resume by avoiding 100ms sleep for CPU offline during S3 With certain kernel configurations, CPU offline consumes more than 100ms during S3. It's a timing related issue: native_cpu_die() would occasionally fall into a 100ms sleep when the CPU idle loop thread marked the CPU state to DEAD too slowly. What native_cpu_die() does is that it polls the CPU state and waits for 100ms if CPU state hasn't been marked to DEAD. The 100ms sleep doesn't make sense and is purely historic. To avoid such long sleeping, this patch adds a 'struct completion' to each CPU, waits for the completion in native_cpu_die() and wakes up the completion when the CPU state is marked to DEAD. Tested on an Intel Xeon server with 48 cores, Ivybridge and on Haswell laptops. The CPU offlining cost on these machines is reduced from more than 100ms to less than 5ms. The system suspend time is reduced by 2.3s on the servers. Borislav and Prarit also helped to test the patch on an AMD machine and a few systems of various sizes and configurations (multi-socket, single-socket, no hyper threading, etc.). No issues were seen. Tested-by: Prarit Bhargava <prarit@xxxxxxxxxx> Signed-off-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: srostedt@xxxxxxxxxx Cc: toshi.kani@xxxxxx Cc: imammedo@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409039025-32310-1-git-send-email-tianyu.lan@xxxxxxxxx [ Improved a few minor details in the code, cleaned up the changelog. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ec98e9ab6f2475ff57c12d069e78b90548c0f60e Author: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Date: Tue Sep 23 22:28:56 2014 +0800 PCI: designware: Fix configuration base address when using 'reg' The code has calculated cfg0_base and cfg1_base when parsing 'reg' or 'ranges' property of PCI DTS node, so remove duplicate calculation. When using 'reg', resource cfg is not used, so this code computed an incorrect configuration base. Signed-off-by: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit KUMAR <mohit.kumar@xxxxxx> commit 521e8bac67a71a6544274f39d5c61473e0e54ac0 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Wed Sep 17 11:06:16 2014 +0200 perf/x86/intel/uncore: Update support for client uncore IMC PMU This patch restructures the memory controller (IMC) uncore PMU support for client SNB/IVB/HSW processors. The main change is that it can now cope with more than one PCI device ID per processor model. There are many flavors of memory controllers for each processor. They have different PCI device ID, yet they behave the same w.r.t. the memory controller PMU that we are interested in. The patch now supports two distinct memory controllers for IVB processors: one for mobile, one for desktop. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140917090616.GA11281@quad Cc: ak@xxxxxxxxxxxxxxx Cc: kan.liang@xxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b10fc1c3e30c44033d1cb1d2900cc2ab06dff342 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Sep 4 16:08:29 2014 -0700 perf/x86/intel/uncore: Fix PCU filter setup for Sandy/Ivy/Haswell EP The PCU frequency band filters use 8 bit each in a register. When setting up the value the shift value was not correctly scaled, which resulted in all filters except for band 0 to be zero. Fix the scaling. This allows to correctly monitor multiple uncore frequency bands. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409872109-31645-5-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7e96ae1a8915e7064091ab75857f8c63334ea28d Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Sep 4 16:08:28 2014 -0700 perf/x86/intel/uncore: Add missing cbox filter flags on IvyBridge-EP uncore driver The IvyBridge-EP uncore driver was missing three filter flags: NC, ISOC, C6 which are useful in some cases. Support them in the same way as the Haswell EP driver, by allowing to set them and exposing them in the sysfs formats. Also fix a typo in a define. Relies on the Haswell EP driver to be applied earlier. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409872109-31645-4-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 513d793e5fe138d779ad6c532cd20c289a6897fc Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Thu Sep 4 16:08:27 2014 -0700 perf/x86/intel/uncore: Register the PMU only if the uncore pci device exists Current code registers PMUs for all possible uncore pci devices. This is not good because, on some machines, one or more uncore pci devices can be missing. The missing pci device make corresponding PMU unusable. Register the PMU only if the uncore device exists. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409872109-31645-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e735b9db12d76d45f74aee78bd63bbd2f8f480e1 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Thu Sep 4 16:08:26 2014 -0700 perf/x86/intel/uncore: Add Haswell-EP uncore support The uncore subsystem in Haswell-EP is similar to Sandy/Ivy Bridge-EP. There are some differences in config register encoding and pci device IDs. The Haswell-EP uncore also supports a few new events. Add the Haswell-EP driver to the snbep split driver. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> [ Add missing break. Add imc events. Add cbox nc/isoc/c6. ] Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409872109-31645-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fdda3c4aacec30bdf3c10904d0c32409145dc1b6 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:44:15 2014 -0700 perf/x86/intel: Use Broadwell cache event list for Haswell Use the newly added Broadwell cache event list for Haswell too. All Haswell and Broadwell events and offcore masks used in these lists are identical. However Haswell is very different from the Sandy Bridge list that was used previously. That fixes a wide range of mis-counting cache events. The node events are now only for retired memory events, so prefetching and speculative memory accesses are not included. They are PEBS capable now, which makes it much easier to sample for them, plus it's possible to create address maps with -d. The prefetch events are gone now. They way the hardware counts them is very misleading (some prefetches included, others not), so it seemed best to leave them out. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409683455-29168-5-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c46e665f037743bbce7887e7c55750713eb7fb09 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:44:14 2014 -0700 perf/x86: Add INST_RETIRED.ALL workarounds On Broadwell INST_RETIRED.ALL cannot be used with any period that doesn't have the lowest 6 bits cleared. And the period should not be smaller than 128. Add a new callback to enforce this, and set it for Broadwell. This is erratum BDM57 and BDM11. How does this handle the case when an app requests a specific period with some of the bottom bits set The apps thinks it is sampling at X occurences per sample, when it is in fact at X - 63 (worst case). Short answer: Any useful instruction sampling period needs to be 4-6 orders of magnitude larger than 128, as an PMI every 128 instructions would instantly overwhelm the system and be throttled. So the +-64 error from this is really small compared to the period, much smaller than normal system jitter. Long answer: <write up by Peter:> IFF we guarantee perf_event_attr::sample_period >= 128. Suppose we start out with sample_period=192; then we'll set period_left to 192, we'll end up with left = 128 (we truncate the lower bits). We get an interrupt, find that period_left = 64 (>0 so we return 0 and don't get an overflow handler), up that to 128. Then we trigger again, at n=256. Then we find period_left = -64 (<=0 so we return 1 and do get an overflow). We increment with sample_period so we get left = 128. We fire again, at n=384, period_left = 0 (<=0 so we return 1 and get an overflow). And on and on. So while the individual interrupts are 'wrong' we get then with interval=256,128 in exactly the right ratio to average out at 192. And this works for everything >=128. So the num_samples*fixed_period thing is still entirely correct +- 127, which is good enough I'd say, as you already have that error anyhow. So no need to 'fix' the tools, al we need to do is refuse to create INST_RETIRED:ALL events with sample_period < 128. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Cc: Mark Davies <junk@xxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1409683455-29168-4-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 86a349a28b249bf4c3b396af3cc550760dedb456 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:44:13 2014 -0700 perf/x86/intel: Add Broadwell core support Add Broadwell support for Broadwell Client to perf. This is very similar to Haswell. It uses a new cache event table, because there were various changes there. The constraint list has one new event that needs to be handled over Haswell. The PEBS event list is the same, so we reuse Haswell's. [fengguang.wu: make intel_bdw_event_constraints[] static] Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409683455-29168-3-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d86c8eaf95700d932bdfa8a4f7b4e6d28949fd84 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:44:12 2014 -0700 perf/x86/intel: Document all Haswell models Add names for each Haswell model as requested by Peter. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409683455-29168-2-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b76146851eeba6ad9fef982e8cf7cd8ebd4d30e1 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:44:11 2014 -0700 perf/x86/intel: Remove incorrect model number from Haswell perf 71 is a Broadwell, not a Haswell. The model number was added by mistake earlier. Remove it for now, until it can be re-added later with real Broadwell support. In practice it does not cause a lot of issues because the Broadwell PMU is very similar to Haswell, but some details were wrong, and it's better to handle it correctly. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1409683455-29168-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 802c8a61d4c9c794db863dcabb0006ab001a651b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Sep 12 13:18:28 2014 +0200 Revert "perf: Do not allow optimized switch for non-cloned events" This reverts commit 1f9a7268c67f0290837aada443d28fd953ddca90. With the fix of the initial state for the cloned event we now correctly handle the error described in: 1f9a7268c67f perf: Do not allow optimized switch for non-cloned events so we can revert it. I made an automated test for this, but its not suitable for automated perf tests framework. It needs to be customized for each machine (the more cpu the higher numbers for GROUPS/WORKERS/BYTES) and it could take longer time to hit the issue. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140910143535.GD2409@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1929def9e609d1a8cdb1626d85eda3da66921a7d Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Sep 12 13:18:27 2014 +0200 perf: Fix child event initial state setup Currently we initialize the child event based on the original parent state. This is wrong, because the original parent event (and its state) is not related to current fork and also could be already gone. We need to initialize the child state based on the immediate parent event state. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410520708-19275-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit dc633982ff3f4fd74cdc11b5a6ae53d39a0b2451 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Sep 12 13:18:26 2014 +0200 perf: Do not POLLHUP event if it has children Currently we return POLLHUP in event polling if the monitored process is done, but we didn't consider possible children, that might be still running and producing data. Before returning POLLHUP making sure that: 1) the monitored task has exited and that 2) we don't have any children to monitor Also adding parent wakeup when the child event is gone. Suggested-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410520708-19275-1-git-send-email-jolsa@xxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cebf15eb09a2fd2fa73ee4faa9c4d2f813cf0f09 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Sep 18 12:33:34 2014 -0700 x86, sched: Add new topology for multi-NUMA-node CPUs I'm getting the spew below when booting with Haswell (Xeon E5-2699 v3) CPUs and the "Cluster-on-Die" (CoD) feature enabled in the BIOS. It seems similar to the issue that some folks from AMD ran in to on their systems and addressed in this commit: 161270fc1f9d ("x86/smp: Fix topology checks on AMD MCM CPUs") Both these Intel and AMD systems break an assumption which is being enforced by topology_sane(): a socket may not contain more than one NUMA node. AMD special-cased their system by looking for a cpuid flag. The Intel mode is dependent on BIOS options and I do not know of a way which it is enumerated other than the tables being parsed during the CPU bringup process. In other words, we have to trust the ACPI tables <shudder>. This detects the situation where a NUMA node occurs at a place in the middle of the "CPU" sched domains. It replaces the default topology with one that relies on the NUMA information from the firmware (SRAT table) for all levels of sched domains above the hyperthreads. This also fixes a sysfs bug. We used to freak out when we saw the "mc" group cross a node boundary, so we stopped building the MC group. MC gets exported as the 'core_siblings_list' in /sys/devices/system/cpu/cpu*/topology/ and this caused CPUs with the same 'physical_package_id' to not be listed together in 'core_siblings_list'. This violates a statement from Documentation/ABI/testing/sysfs-devices-system-cpu: core_siblings: internal kernel map of cpu#'s hardware threads within the same physical_package_id. core_siblings_list: human-readable list of the logical CPU numbers within the same physical_package_id as cpu#. The sysfs effects here cause an issue with the hwloc tool where it gets confused and thinks there are more sockets than are physically present. Before this patch, there are two packages: # cd /sys/devices/system/cpu/ # cat cpu*/topology/physical_package_id | sort | uniq -c 18 0 18 1 But 4 _sets_ of core siblings: # cat cpu*/topology/core_siblings_list | sort | uniq -c 9 0-8 9 18-26 9 27-35 9 9-17 After this set, there are only 2 sets of core siblings, which is what we expect for a 2-socket system. # cat cpu*/topology/physical_package_id | sort | uniq -c 18 0 18 1 # cat cpu*/topology/core_siblings_list | sort | uniq -c 18 0-17 18 18-35 Example spew: ... NMI watchdog: enabled on all CPUs, permanently consumes one hw-PMU counter. #2 #3 #4 #5 #6 #7 #8 .... node #1, CPUs: #9 ------------[ cut here ]------------ WARNING: CPU: 9 PID: 0 at /home/ak/hle/linux-hle-2.6/arch/x86/kernel/smpboot.c:306 topology_sane.isra.2+0x74/0x90() sched: CPU #9's mc-sibling CPU #0 is not on the same node! [node: 1 != 0]. Ignoring dependency. Modules linked in: CPU: 9 PID: 0 Comm: swapper/9 Not tainted 3.17.0-rc1-00293-g8e01c4d-dirty #631 Hardware name: Intel Corporation S2600WTT/S2600WTT, BIOS GRNDSDP1.86B.0036.R05.1407140519 07/14/2014 0000000000000009 ffff88046ddabe00 ffffffff8172e485 ffff88046ddabe48 ffff88046ddabe38 ffffffff8109691d 000000000000b001 0000000000000009 ffff88086fc12580 000000000000b020 0000000000000009 ffff88046ddabe98 Call Trace: [<ffffffff8172e485>] dump_stack+0x45/0x56 [<ffffffff8109691d>] warn_slowpath_common+0x7d/0xa0 [<ffffffff8109698c>] warn_slowpath_fmt+0x4c/0x50 [<ffffffff81074f94>] topology_sane.isra.2+0x74/0x90 [<ffffffff8107530e>] set_cpu_sibling_map+0x31e/0x4f0 [<ffffffff8107568d>] start_secondary+0x1ad/0x240 ---[ end trace 3fe5f587a9fcde61 ]--- #10 #11 #12 #13 #14 #15 #16 #17 .... node #2, CPUs: #18 #19 #20 #21 #22 #23 #24 #25 #26 .... node #3, CPUs: #27 #28 #29 #30 #31 #32 #33 #34 #35 Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> [ Added LLC domain and s/match_mc/match_die/ ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Igor Mammedov <imammedo@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Toshi Kani <toshi.kani@xxxxxx> Cc: brice.goglin@xxxxxxxxx Cc: "H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140918193334.C065EBCE@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8aa6f0ebf41b5fdd186276394bf07e7bd6884d94 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Mon Sep 22 22:36:43 2014 +0400 sched/rt: Use resched_curr() in task_tick_rt() Some time ago PREEMPT_NEED_RESCHED was implemented, so reschedule technics is a little more difficult now. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140922183642.11015.66039.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f1e3a0932f3a9554371792a7daaf1e0eb19f66d5 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Mon Sep 22 22:36:36 2014 +0400 sched: Use rq->rd in sched_setaffinity() under RCU read lock Probability of use-after-free isn't zero in this place. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140922183636.11015.83611.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 16303ab2fe214635240a8f57cad2cd29792d4e3b Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Mon Sep 22 22:36:30 2014 +0400 sched: cleanup: Rename 'out_unlock' to 'out_free_new_mask' Nothing is locked there, so label's name only confuses a reader. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140922183630.11015.59500.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 66339c31bc3978d5fff9c4b4cb590a861def4db2 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Mon Sep 22 22:36:24 2014 +0400 sched: Use dl_bw_of() under RCU read lock dl_bw_of() dereferences rq->rd which has to have RCU read lock held. Probability of use-after-free isn't zero here. Also add lockdep assert into dl_bw_cpus(). Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140922183624.11015.71558.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7a96c231ca23f0f5622852307df4209afc502ec3 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Mon Sep 22 22:36:12 2014 +0400 sched/fair: Remove duplicate code from can_migrate_task() Combine two branches which do the same. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140922183612.11015.64200.stgit@localhost Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c55f5158f5606f8a62e694b7e009f59b92ac6258 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 23 17:06:41 2014 +0200 sched, mips, ia64: Remove __ARCH_WANT_UNLOCKED_CTXSW Kirill found that there's a subtle race in the __ARCH_WANT_UNLOCKED_CTXSW code, and instead of fixing it, remove the entire exception because neither arch that uses it seems to actually still require it. Boot tested on mips64el (qemu) only. Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Reviewed-by: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Davidlohr Bueso <davidlohr@xxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: oleg@xxxxxxxxxx Cc: linux@xxxxxxxxxxxx Cc: linux-ia64@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140923150641.GH3312@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5bd96ab6fef66ec6b9f54134364e618fd0f8f2f3 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 21:33:41 2014 +0200 sched: print_rq(): Don't use tasklist_lock read_lock_irqsave(tasklist_lock) in print_rq() looks strange. We do not need to disable irqs, and they are already disabled by the caller. And afaics this lock buys nothing, we can rely on rcu_read_lock(). In this case it makes sense to also move rcu_read_lock/unlock from the caller to print_rq(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140921193341.GA28628@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3472eaa1f12e217e2b8b0ef658ff861b2308cbbd Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 21:33:38 2014 +0200 sched: normalize_rt_tasks(): Don't use _irqsave for tasklist_lock, use task_rq_lock() 1. read_lock(tasklist_lock) does not need to disable irqs. 2. ->mm != NULL is a common mistake, use PF_KTHREAD. 3. The second ->mm check can be simply removed. 4. task_rq_lock() looks better than raw_spin_lock(&p->pi_lock) + __task_rq_lock(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140921193338.GA28621@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8651c65844e93af44554272b7e0d2b142837b244 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 21:33:36 2014 +0200 sched: Fix the task-group check in tg_has_rt_tasks() tg_has_rt_tasks() wants to find an RT task in this task_group, but task_rq(p)->rt.tg wrongly checks the root rt_rq. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Reviewed-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140921193336.GA28618@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 83a0a96a5f26d974580fd7251043ff70c8f1823d Author: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Date: Thu Sep 4 11:32:10 2014 -0400 sched/fair: Leverage the idle state info when choosing the "idlest" cpu The code in find_idlest_cpu() looks for the CPU with the smallest load. However, if multiple CPUs are idle, the first idle CPU is selected irrespective of the depth of its idle state. Among the idle CPUs we should pick the one with with the shallowest idle state, or the latest to have gone idle if all idle CPUs are in the same state. The later applies even when cpuidle is configured out. This patch doesn't cover the following issues: - The idle exit latency of a CPU might be larger than the time needed to migrate the waking task to an already running CPU with sufficient capacity, and therefore performance would benefit from task packing in such case (in most cases task packing is about power saving). - Some idle states have a non negligible and non abortable entry latency which needs to run to completion before the exit latency can start. A concurrent patch series is making this info available to the cpuidle core. Once available, the entry latency with the idle timestamp could determine when the exit latency may be effective. Those issues will be handled in due course. In the mean time, what is implemented here should improve things already compared to the current state of affairs. Based on an initial patch from Daniel Lezcano. Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/n/tip-@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 442bf3aaf55a91ebfec71da46a4ee10a3c905bcc Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Thu Sep 4 11:32:09 2014 -0400 sched: Let the scheduler see CPU idle states When the cpu enters idle, it stores the cpuidle state pointer in its struct rq instance which in turn could be used to make a better decision when balancing tasks. As soon as the cpu exits its idle state, the struct rq reference is cleared. There are a couple of situations where the idle state pointer could be changed while it is being consulted: 1. For x86/acpi with dynamic c-states, when a laptop switches from battery to AC that could result on removing the deeper idle state. The acpi driver triggers: 'acpi_processor_cst_has_changed' 'cpuidle_pause_and_lock' 'cpuidle_uninstall_idle_handler' 'kick_all_cpus_sync'. All cpus will exit their idle state and the pointed object will be set to NULL. 2. The cpuidle driver is unloaded. Logically that could happen but not in practice because the drivers are always compiled in and 95% of them are not coded to unregister themselves. In any case, the unloading code must call 'cpuidle_unregister_device', that calls 'cpuidle_pause_and_lock' leading to 'kick_all_cpus_sync' as mentioned above. A race can happen if we use the pointer and then one of these two scenarios occurs at the same moment. In order to be safe, the idle state pointer stored in the rq must be used inside a rcu_read_lock section where we are protected with the 'rcu_barrier' in the 'cpuidle_uninstall_idle_handler' function. The idle_get_state() and idle_put_state() accessors should be used to that effect. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 91ec6778ec4f963fcb2c2793610919b572f633b0 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Fri Sep 19 10:22:41 2014 +0100 sched/deadline: Fix inter- exclusive cpusets migrations Users can perform clustered scheduling using the cpuset facility. After an exclusive cpuset is created, task migrations happen only between CPUs belonging to the same cpuset. Inter- cpuset migrations can only happen when the user requires so, moving a task between different cpusets. This behaviour is broken in SCHED_DEADLINE, as currently spurious inter- cpuset migration may happen without user intervention. This patch fix the problem (and shuffles the code a bit to improve clarity). Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: raistlin@xxxxxxxx Cc: michael@xxxxxxxxxxxxxxxxxxxx Cc: fchecconi@xxxxxxxxx Cc: daniel.wagner@xxxxxxxxxxxx Cc: vincent@xxxxxxxxxxx Cc: luca.abeni@xxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411118561-26323-4-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a5e7be3b28a235108c59561bea55eea1072b23b0 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Fri Sep 19 10:22:39 2014 +0100 sched/deadline: Clear dl_entity params when setscheduling to different class When a task is using SCHED_DEADLINE and the user setschedules it to a different class its sched_dl_entity static parameters are not cleaned up. This causes a bug if the user sets it back to SCHED_DEADLINE with the same parameters again. The problem resides in the check we perform at the very beginning of dl_overflow(): if (new_bw == p->dl.dl_bw) return 0; This condition is met in the case depicted above, so the function returns and dl_b->total_bw is not updated (the p->dl.dl_bw is not added to it). After this, admission control is broken. This patch fixes the thing, properly clearing static parameters for a task that ceases to use SCHED_DEADLINE. Reported-by: Daniele Alessandrelli <daniele.alessandrelli@xxxxxxxxx> Reported-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Reported-by: Vincent Legout <vincent@xxxxxxxxxxx> Tested-by: Luca Abeni <luca.abeni@xxxxxxxx> Tested-by: Daniel Wagner <daniel.wagner@xxxxxxxxxxxx> Tested-by: Vincent Legout <vincent@xxxxxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Fabio Checconi <fchecconi@xxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411118561-26323-2-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 615f77511e4fafa9e67a5b84d8d886dde4f297df Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Aug 25 23:26:39 2014 +0200 x86/PCI: Mark PCI BIOS initialization code as such The pci_find_bios() function is only ever called from initialization code, therefore can be marked as such, too. This, in turn, allows marking other functions called only in this context as well. The bios32_indirect variable can be marked as __initdata as it is only referenced from __init functions now. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6af13bac777aaec7460475a9fea8e9640c4b606e Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Aug 25 23:26:38 2014 +0200 x86/PCI: Constify pci_mmcfg_probes[] array The pci_mmcfg_probes[] array is only ever read, therefore make it const. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 776f7ad6322817a5a021c5c479d688d322fb4b27 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Aug 25 23:26:37 2014 +0200 x86/PCI: Mark constants of pci_mmcfg_nvidia_mcp55() as __initconst The constants in pci_mmcfg_nvidia_mcp55() need to be marked as __initconst or they will remain in memory after init memory was released. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 64474b5235e83cc5e6002dcdb37145850ad86194 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Aug 25 23:26:36 2014 +0200 x86/PCI: Move __init annotation to the correct place According to include/linux/init.h, the __init annotation should be added immediately before the function name. However, for quite a few functions in mmconfig-shared.c this is not the case. It's either before the return type or even in the middle of it. Beside gcc still getting it right, we should change them to comply to the rules of include/linux/init.h. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4476767cff44737f8965b34af0f375ac49f7fafa Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:54 2014 +0200 mfd: max14577: Map charger device to its own of_node Add a "maxim,max14577-charger" of_compatible to the mfd_cell so the MFD child device (the charger) will have its own of_node set. This will be used by the max14577 charger driver in next patches to obtain battery configuration from DTS. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 25cc24c200dcba21bd1f1a59a01741185062dc0e Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 08:53:53 2014 +0200 mfd: max14577: Add defines for MAX77836 charger Prepare for adding support for MAX77836 charger to the max14577 charger driver by adding necessary new defines and prefixes to existing ones. The MAX77836 uses slightly different values for ChgTyp field of STATUS2 register. On the MAX14577 value of 0x6 is reserved and 0x7 dead battery. On the MAX77836 the opposite: - 0x6 means special charger, - 0x7 is reserved. Regardless of these differences use one common enum max14577_muic_charger_type. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit b91671bb23a79c32a23b0ad5d6e6ad292bb21bdf Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 19 17:37:56 2014 +0200 UBI: Fix livelock in produce_free_peb() The while loop in produce_free_peb() assumes that each work will produce a free PEB. This is not true. If ubi->works_count is 1 and the only scheduled work is the wear_leveling_worker() produce_free_peb() can loop forever in case nobody schedules an erase work. Fix this issue by checking in the while loop whether work is scheduled. Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit dfbdcd7cefcaba306fc1ad36aa8bc1352149e730 Author: Andreas Werner <andreas.werner@xxxxxx> Date: Wed Aug 27 19:51:45 2014 +0200 mfd: menf21bmc: Introduce MEN 14F021P00 BMC MFD Core driver The MEN 14F021P00 Board Management Controller provides an I2C interface to the host to access the feature implemented in the BMC. The BMC is a PIC Microntroller assembled on CPCI Card from MEN Mikroelektronik and on a few Box/Display Computer. Added MFD Core driver, supporting the I2C communication to the device. The MFD driver currently supports the following features: - Watchdog - LEDs - Hwmon (voltage monitoring) Signed-off-by: Andreas Werner <andreas.werner@xxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f19f4f9525cf32f97341fac20ce66392e86a1b67 Author: Simon Vincent <simon.vincent@xxxxxxxxxx> Date: Wed Sep 24 12:21:33 2014 +0200 ieee802154: 6lowpan: ensure header compression does not corrupt ipv6 header The 6lowpan ipv6 header compression was causing problems for other interfaces that expected a ipv6 header to still be in place, as we were replacing the ipv6 header with a compressed version. This happened if you sent a packet to a multicast address as the packet would be output on 802.15.4, ethernet, and also be sent to the loopback interface. The skb data was shared between these interfaces so all interfaces ended up with a compressed ipv6 header. The solution is to ensure that before we do any header compression we are not sharing the skb or skb data with any other interface. If we are then we must take a copy of the skb and skb data before modifying the ipv6 header. The only place we can copy the skb is inside the xmit function so we don't leave dangling references to skb. This patch moves all the header compression to inside the xmit function. Very little code has been changed it has mostly been moved from lowpan_header_create to lowpan_xmit. At the top of the xmit function we now check if the skb is shared and if so copy it. In lowpan_header_create all we do now is store the source and destination addresses for use later when we compress the header. Signed-off-by: Simon Vincent <simon.vincent@xxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ca079ad6af0d9948101992d03e7145ab8b426f66 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Wed Sep 24 12:21:32 2014 +0200 mrf24j40: use pr_* / dev_* instead of printk() Replace printk() with dev_*() pr_*(). Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alan Ott <alan@xxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3d920f06e2f2f8f601084718da6c55f8885d7a7f Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Wed Sep 24 12:21:31 2014 +0200 mrf24j40: remove unnecessary return statement Remove the return statement in the void function. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alan Ott <alan@xxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 529160dc73a1cb4bb377887f5453d33b6d84d18f Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Wed Sep 24 12:21:30 2014 +0200 mrf24j40: fix Missing a blank line after declarations Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Acked-by: Alan Ott <alan@xxxxxxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c24ae0dcd3e8695efa43e71704d1fc4bc7e29e9b Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:58 2014 +0800 kvm: x86: Unpin and remove kvm_arch->apic_access_page In order to make the APIC access page migratable, stop pinning it in memory. And because the APIC access page is not pinned in memory, we can remove kvm_arch->apic_access_page. When we need to write its physical address into vmcs, we use gfn_to_page() to get its page struct, which is needed to call page_to_phys(); the page is then immediately unpinned. Suggested-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 38b9917350cb2946e368ba684cfc33d1672f104e Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:54 2014 +0800 kvm: vmx: Implement set_apic_access_page_addr Currently, the APIC access page is pinned by KVM for the entire life of the guest. We want to make it migratable in order to make memory hot-unplug available for machines that run KVM. This patch prepares to handle this for the case where there is no nested virtualization, or where the nested guest does not have an APIC page of its own. All accesses to kvm->arch.apic_access_page are changed to go through kvm_vcpu_reload_apic_access_page. If the APIC access page is invalidated when the host is running, we update the VMCS in the next guest entry. If it is invalidated when the guest is running, the MMU notifier will force an exit, after which we will handle everything as in the previous case. If it is invalidated when a nested guest is running, the request will update either the VMCS01 or the VMCS02. Updating the VMCS01 is done at the next L2->L1 exit, while updating the VMCS02 is done in prepare_vmcs02. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4256f43f9fab91e1c17b5846a240cf4b66a768a8 Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:54 2014 +0800 kvm: x86: Add request bit to reload APIC access page address Currently, the APIC access page is pinned by KVM for the entire life of the guest. We want to make it migratable in order to make memory hot-unplug available for machines that run KVM. This patch prepares to handle this in generic code, through a new request bit (that will be set by the MMU notifier) and a new hook that is called whenever the request bit is processed. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fe71557afbec641fee73711e40602bed37f6f33b Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:57 2014 +0800 kvm: Add arch specific mmu notifier for page invalidation This will be used to let the guest run while the APIC access page is not pinned. Because subsequent patches will fill in the function for x86, place the (still empty) x86 implementation in the x86.c file instead of adding an inline function in kvm_host.h. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 445b8236959bfe624a5aa9bce89f44a3bec9b2b1 Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Wed Sep 24 15:57:55 2014 +0800 kvm: Rename make_all_cpus_request() to kvm_make_all_cpus_request() and make it non-static Different architectures need different requests, and in fact we will use this function in architecture-specific code later. This will be outside kvm_main.c, so make it non-static and rename it to kvm_make_all_cpus_request(). Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 57128468080a8b6ea452223036d3e417f748af55 Author: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Date: Mon Sep 22 14:54:42 2014 -0700 kvm: Fix page ageing bugs 1. We were calling clear_flush_young_notify in unmap_one, but we are within an mmu notifier invalidate range scope. The spte exists no more (due to range_start) and the accessed bit info has already been propagated (due to kvm_pfn_set_accessed). Simply call clear_flush_young. 2. We clear_flush_young on a primary MMU PMD, but this may be mapped as a collection of PTEs by the secondary MMU (e.g. during log-dirty). This required expanding the interface of the clear_flush_young mmu notifier, so a lot of code has been trivially touched. 3. In the absence of shadow_accessed_mask (e.g. EPT A bit), we emulate the access bit by blowing the spte. This requires proper synchronizing with MMU notifier consumers, like every other removal of spte's does. Signed-off-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 8a9522d2fe6a1b643d3aef5ab7f097f73c601e7a Author: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Date: Tue Sep 23 12:34:54 2014 -0700 kvm/x86/mmu: Pass gfn and level to rmapp callback. Callbacks don't have to do extra computation to learn what the caller (lvm_handle_hva_range()) knows very well. Useful for debugging/tracing/printk/future. Signed-off-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c1118b3602c2329671ad5ec8bdf8e374323d6343 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Sep 22 13:17:48 2014 +0200 x86: kvm: use alternatives for VMCALL vs. VMMCALL if kernel text is read-only On x86_64, kernel text mappings are mapped read-only with CONFIG_DEBUG_RODATA. In that case, KVM will fail to patch VMCALL instructions to VMMCALL as required on AMD processors. The failure mode is currently a divide-by-zero exception, which obviously is a KVM bug that has to be fixed. However, picking the right instruction between VMCALL and VMMCALL will be faster and will help if you cannot upgrade the hypervisor. Reported-by: Chris Webb <chris@xxxxxxxxxxxx> Tested-by: Chris Webb <chris@xxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: x86@xxxxxxxxxx Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 81760dccf8d1fe5b128b58736fe3f56a566133cb Author: Chen Yucong <slaoub@xxxxxxxxx> Date: Tue Sep 23 10:44:35 2014 +0800 kvm: x86: use macros to compute bank MSRs Avoid open coded calculations for bank MSRs by using well-defined macros that hide the index of higher bank MSRs. No semantic changes. Signed-off-by: Chen Yucong <slaoub@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d5262739cbb8a6414ba521a79bf0549717459a09 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Tue Sep 23 10:01:57 2014 +0300 KVM: x86: Remove debug assertion of non-PAE reserved bits Commit 346874c9507a ("KVM: x86: Fix CR3 reserved bits") removed non-PAE reserved bits which were not according to Intel SDM. However, residue was left in a debug assertion (CR3_NONPAE_RESERVED_BITS). Remove it. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2ea75be3219571d0ec009ce20d9971e54af96e09 Author: David Matlack <dmatlack@xxxxxxxxxx> Date: Fri Sep 19 16:03:25 2014 -0700 kvm: don't take vcpu mutex for obviously invalid vcpu ioctls vcpu ioctls can hang the calling thread if issued while a vcpu is running. However, invalid ioctls can happen when userspace tries to probe the kind of file descriptors (e.g. isatty() calls ioctl(TCGETS)); in that case, we know the ioctl is going to be rejected as invalid anyway and we can fail before trying to take the vcpu mutex. This patch does not change functionality, it just makes invalid ioctls fail faster. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 234b239bea395316d7f78018c672f4a88b3cdf0d Author: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Date: Wed Sep 17 10:51:48 2014 -0700 kvm: Faults which trigger IO release the mmap_sem When KVM handles a tdp fault it uses FOLL_NOWAIT. If the guest memory has been swapped out or is behind a filemap, this will trigger async readahead and return immediately. The rationale is that KVM will kick back the guest with an "async page fault" and allow for some other guest process to take over. If async PFs are enabled the fault is retried asap from an async workqueue. If not, it's retried immediately in the same code path. In either case the retry will not relinquish the mmap semaphore and will block on the IO. This is a bad thing, as other mmap semaphore users now stall as a function of swap or filemap latency. This patch ensures both the regular and async PF path re-enter the fault allowing for the mmap semaphore to be relinquished in the case of IO wait. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Andres Lagar-Cavilla <andreslc@xxxxxxxxxx> Acked-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b4619660635732bd2da376bb8f31f94d0f15fc98 Author: Tiejun Chen <tiejun.chen@xxxxxxxxx> Date: Mon Sep 22 10:31:38 2014 +0800 kvm: x86: fix two typos in comment s/drity/dirty and s/vmsc01/vmcs01 Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4566654bb9be9e8864df417bb72ceee5136b6a6a Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Thu Sep 18 22:39:44 2014 +0300 KVM: vmx: Inject #GP on invalid PAT CR Guest which sets the PAT CR to invalid value should get a #GP. Currently, if vmx supports loading PAT CR during entry, then the value is not checked. This patch makes the required check in that case. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 040c8dc8a5afa7364bb8bb5b1b76c30007d6be14 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Thu Sep 18 22:39:43 2014 +0300 KVM: x86: emulating descriptor load misses long-mode case In 64-bit mode a #GP should be delivered to the guest "if the code segment descriptor pointed to by the selector in the 64-bit gate doesn't have the L-bit set and the D-bit clear." - Intel SDM "Interrupt 13ââ?¬â??General Protection Exception (#GP)". This patch fixes the behavior of CS loading emulation code. Although the comment says that segment loading is not supported in long mode, this function is executed in long mode, so the fix is necassary. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 77c3913b74212a86027d311f5e81625736816620 Author: Liang Chen <liangchen.linux@xxxxxxxxx> Date: Thu Sep 18 12:38:37 2014 -0400 KVM: x86: directly use kvm_make_request again A one-line wrapper around kvm_make_request is not particularly useful. Replace kvm_mmu_flush_tlb() with kvm_make_request(). Signed-off-by: Liang Chen <liangchen.linux@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a70656b63a82d639b0cec54861bf8faf16ad74e6 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Sep 18 12:38:36 2014 -0400 KVM: x86: count actual tlb flushes - we count KVM_REQ_TLB_FLUSH requests, not actual flushes (KVM can have multiple requests for one flush) - flushes from kvm_flush_remote_tlbs aren't counted - it's easy to make a direct request by mistake Solve these by postponing the counting to kvm_check_request(). Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Liang Chen <liangchen.linux@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bc6134942dbbf31c25e9bd7c876be5da81c9e1ce Author: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Date: Thu Sep 18 18:24:57 2014 -0300 KVM: nested VMX: disable perf cpuid reporting Initilization of L2 guest with -cpu host, on L1 guest with -cpu host triggers: (qemu) KVM: entry failed, hardware error 0x7 ... nested_vmx_run: VMCS MSR_{LOAD,STORE} unsupported Nested VMX MSR load/store support is not sufficient to allow perf for L2 guest. Until properly fixed, trap CPUID and disable function 0xA. Signed-off-by: Marcelo Tosatti <mtosatti@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a2b9e6c1a35afcc0973acb72e591c714e78885ff Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Wed Sep 17 02:50:50 2014 +0300 KVM: x86: Don't report guest userspace emulation error to userspace Commit fc3a9157d314 ("KVM: X86: Don't report L2 emulation failures to user-space") disabled the reporting of L2 (nested guest) emulation failures to userspace due to race-condition between a vmexit and the instruction emulator. The same rational applies also to userspace applications that are permitted by the guest OS to access MMIO area or perform PIO. This patch extends the current behavior - of injecting a #UD instead of reporting it to userspace - also for guest userspace code. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 1f755a827538226fff38aad128c4a6836bd89b48 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 16 13:37:40 2014 +0200 kvm: Make init_rmode_tss() return 0 on success. In init_rmode_tss(), there two variables indicating the return value, r and ret, and it return 0 on error, 1 on success. The function is only called by vmx_set_tss_addr(), and ret is redundant. This patch removes the redundant variable, by making init_rmode_tss() return 0 on success, -errno on failure. Reviewed-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dd598091de4aabbc8bd7290a04f364e443c03455 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Tue Sep 16 15:10:03 2014 +0300 KVM: x86: Warn if guest virtual address space is not 48-bits The KVM emulator code assumes that the guest virtual address space (in 64-bit) is 48-bits wide. Fail the KVM_SET_CPUID and KVM_SET_CPUID2 ioctl if userspace tries to create a guest that does not obey this restriction. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3c3c29fd0d7cddc32862c350d0700ce69953e3bd Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Sep 24 13:02:46 2014 +0200 kvm-vfio: do not use module_init /me got confused between the kernel and QEMU. In the kernel, you can only have one module_init function, and it will prevent unloading the module unless you also have the corresponding module_exit function. So, commit 80ce1639727e (KVM: VFIO: register kvm_device_ops dynamically, 2014-09-02) broke unloading of the kvm module, by adding a module_init function and no module_exit. Repair it by making kvm_vfio_ops_init weak, and checking it in kvm_init. Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Alex Williamson <Alex.Williamson@xxxxxxxxxx> Fixes: 80ce1639727e9d38729c34f162378508c307ca25 Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d41c15cf95bd91b9c333f6f749670e22c8a47ad9 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 24 13:14:46 2014 +0300 Bluetooth: Fix reason code used for rejecting SCO connections The core specification defines valid values for the HCI_Reject_Synchronous_Connection_Request command to be 0x0D-0x0F. So far the code has been using HCI_ERROR_REMOTE_USER_TERM (0x13) which is not a valid value and is therefore being rejected by some controllers: > HCI Event: Connect Request (0x04) plen 10 bdaddr 40:6F:2A:6A:E5:E0 class 0x000000 type eSCO < HCI Command: Reject Synchronous Connection (0x01|0x002a) plen 7 bdaddr 40:6F:2A:6A:E5:E0 reason 0x13 Reason: Remote User Terminated Connection > HCI Event: Command Status (0x0f) plen 4 Reject Synchronous Connection (0x01|0x002a) status 0x12 ncmd 1 Error: Invalid HCI Command Parameters This patch introduces a new define for a value from the valid range (0x0d == Connection Rejected Due To Limited Resources) and uses it instead for rejecting incoming connections. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3778129206419c41f0dac877d931900397cab25c Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 15:55:07 2014 -0700 gpio, bcm-kona, LLVMLinux: Remove use of __initconst The __initconst is in the wrong place, and when moved to the correct place it uncovers an error where the variable is used by non-init data structures. Instead merely make them const and put the const in the right spot. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Matt Porter <mporter@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1b4c5a6e6b73b082170bfcbf1ff3e2fcf2e7530c Author: Gernot Vormayr <gvormayr@xxxxxxxxx> Date: Wed Sep 24 00:58:45 2014 +0200 gpio: Fix ngpio in gpio-xilinx driver If one adds gpio-controller; to the chip in the devicetree, then initialization fails with 'gpiochip_find_base: cannot find free range', because ngpio is 0. This patch fixes the bug. This version includes the suggestions from Linus Walleij. Tested on ml507 board. Signed-off-by: Gernot Vormayr <gvormayr@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 58a3b92d33d289e2f3390b40a2c5cfd7f32cfe7a Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 24 13:30:24 2014 +0200 gpio: dwapb: fix pointer to integer cast The statements BUG_ON(ctx == 0) was implicitly casting a pointer to an integer for comparison. Do this with a bool test instead to get away from sparse warnings. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit fa0111be4ff30150720db3c3e5ee8d7823921639 Author: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Date: Wed Jul 30 13:25:32 2014 +0530 clk: samsung: exynos4: remove duplicate div_core2 divider clock instantiation The 'div_core2' clock and the 'arm_clk' divider clocks are instances of the same divider clock. So remove the 'arm_clk' clock instance. Signed-off-by: Thomas Abraham <thomas.ab@xxxxxxxxxxx> [tomasz.figa@xxxxxxxxx: Fixed remaining occurences of 'arm_clk'.] Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit ee0d68ab5f0997a500fdf90924a58e787b216292 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:22 2014 +0200 drm/udl: use container_of to resolve udl_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0d634f6e5b0d1d6e2b044b23d448ab5fb7c102e5 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:21 2014 +0200 drm/ast: use container_of to resolve ast_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c39aa6a1e32aab4826c613866024cbdd4933631a Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:20 2014 +0200 drm/gma500: use container_of to resolve psb_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f38e34ac54569756963827434d4b18b9ad9d8b95 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:19 2014 +0200 drm/qxl: use container_of to resolve qxl_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5ee932d049a4e6e1e134f521dbb98fdd3993a8e9 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:18 2014 +0200 drm/nouveau: use container_of to resolve nouveau_plane from drm_plane Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 918b7ed423ab7c423efe0e71f7670ff9139d3ee0 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:17 2014 +0200 drm/nouveau: use container_of to resolve nouveau_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a1d0280e678c4d0074bd994ac53d95d39be9383c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:16 2014 +0200 drm/radeon: use container_of to resolve radeon_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 98cc0343178558579aacb7b27dc5aee2791c8263 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:15 2014 +0200 drm/mgag200: use container_of to resolve mga_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea0622cfb4c0dbf3a8e6c4b448b8636ea75e1069 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 18:40:14 2014 +0200 drm/cirrus: use container_of to resolve cirrus_fbdev from drm_fb_helper Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 80c873b6b7b4de56d0771e3834ea71467937e506 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 15 14:04:28 2014 +0200 drm: Improve debug output for drm_wait_one_vblank This replicates what we've done in i915 in commit 31e4b89acbd7b19c9a8557e6e660a583a0b97daa Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Aug 18 13:51:00 2014 +0100 drm/i915: Print the pipe on which the vblank wait times out to make sure that when we switch i915 to drm_wait_one_vblank that the debug output doesn't regress. Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Thomas Wood <thomas.wood@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit f2b50c1161590c3bcdbf3455fe4c575f1c1bd293 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Sep 12 17:07:32 2014 +0200 drm: Fixup locking for universal cursor planes Bunch of things amiss: - Updating crtc->cursor_x/y was done without any locking. Spotted by David Herrmann. - Dereferencing crtc->cursor->fb was using the wrong lock, should take the crtc lock. - Grabbing _all_ modeset locks torpedoes the reason why we added fine-grained locks originally: Cursor updates shouldn't stall on background stuff like probing outputs. Best is to just grab the crtc lock around everything and drop all the other locking. The only issue is that we can't switch planes between crtcs with that, so make sure that never happens when someone uses universal plane helpers. This shouldn't be a possible regression ever since legacy ioctls also only grabbed the crtc lock, so switching crtcs was never possible for the underlying plane object. And i915 (the only user of universal cursors thus far) has fixed cursor->crtc links. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Pallavi G<pallavi.g@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Tested-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit da8f43962bd323813f7215b00b5da48ad766b9b2 Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Date: Sat Sep 13 18:25:54 2014 +0200 drm: Don't update vblank timestamp when the counter didn't change If we already have a timestamp for the current vblank counter, don't update it with a new timestmap. Small errors can creep in between two timestamp queries for the same vblank count, which could be confusing to userspace when it queries the timestamp for the same vblank sequence number twice. This problem gets exposed when the vblank disable timer is not used (or is set to expire quickly) and thus we can get multiple vblank disable<->enable transition during the same frame which would all attempt to update the timestamp with the latest estimate. Testcase: igt/kms_flip/flip-vs-expired-vblank Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> v2:Mario: Trivial rebase on top of current drm-next (13-Sep-2014) Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 29f1b65b5984c1e35e2d60d1416d03cee0b91ee2 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Mon Sep 22 23:33:08 2014 +0200 KVM: EVENTFD: Remove inclusion of irq.h Commit c77dcac (KVM: Move more code under CONFIG_HAVE_KVM_IRQFD) added functionality that depends on definitions in ioapic.h when __KVM_HAVE_IOAPIC is defined. At the same time, kvm-arm commit 0ba0951 (KVM: EVENTFD: remove inclusion of irq.h) removed the inclusion of irq.h, an architecture-specific header that is not present on ARM but which happened to include ioapic.h on x86. Include ioapic.h directly in eventfd.c if __KVM_HAVE_IOAPIC is defined. This fixes x86 and lets ARM use eventfd.c. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4f0eb5d7efe375859b15c97f453113a242bf057b Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:14 2014 +0100 phy: remove .owner field for drivers using module_platform_driver This patch removes the superflous .owner field for drivers which use the module_platform_driver or platform_driver_register api, as this is overriden in __platform_driver_register. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit a5ec598650257d9a7abefa6616840c872e194fdb Author: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Date: Tue Sep 16 10:32:06 2014 +0530 phy: exynos-dp-video: Use syscon support to control pmu register Currently the DP_PHY_ENABLE register is mapped in the driver, and accessed to control power to the PHY. With mfd-syscon and regmap interface available at our disposal, it's wise to use that instead of using a 'reg' property for the controller and allocating a memory resource for that. To facilitate this, we have added another compatible string for Exynso5420 SoC to acquire driver data which contains different DP-PHY-CONTROL register offset. Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: Kishon Vijay Abraham I <kishon@xxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 26389c78269ada2927a4ec114bbf4df45776445d Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 11:33:02 2014 +0100 MAINTAINERS: Add phy-stih41x-usb.c to ARCH/STI architecture This patch adds the new phy-sti41x-usb.c PHY driver found on STMicroelectronics stih41x consumer electronics SoC's into the STI arch section of the maintainers file. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit d6140c70ed5759e1097cf8ac80f89b208cf0260f Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 11:33:01 2014 +0100 phy: phy-stih41x-usb: Add dt documentation for USB phy on STiH415/6 This patch adds dt documentation bindings for the usb phy found on STiH415/5 SoC's from STMicroelectronics, which support USB 1.1 and 2.0. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 3f8da2e36c04577a39dc210255f53bdc9e4ca0e4 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 11:33:00 2014 +0100 phy: phy-stih41x-usb: Add usb phy support for STiH41x SoCs. This driver adds support for USB (1.1 and 2.0) phy for STiH415 and STiH416 System-On-Chips from STMicroelectronics. Signed-off-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 6da969a5fe9768f4735480c91e4885cf9babf023 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Sep 11 18:02:46 2014 +0100 MAINTAINERS: Add phy-stih407-usb.c file to ARCH/STI architecture This patch adds the new phy-stih407-usb.c usb phy driver found on STMicroelectronics stih407 consumer electronics SoC's into the STI arch section of the maintainers file. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit ea1e53c7f147c48e5227f7ba67224ee99b67f865 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Sep 11 18:02:45 2014 +0100 phy: phy-stih407-usb: Add dt documentation for USB picophy found on stih407 SoC family This patch adds the dt documentation for the usb picophy found on stih407 SoC family available from STMicroelectronics. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 89ae1f5d4c9a62dd32e14d5edfb7221d2f73039e Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Thu Sep 11 18:02:44 2014 +0100 phy: phy-stih407-usb: Add usb picoPHY driver found on stih407 SoC family This is the generic phy driver for the picoPHY ports used by the USB2 and USB3 Host controllers when controlling usb2/1.1 devices. It is found on STiH407 SoC family from STMicroelectronics. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit dcc35b2160f32b8528973e91c25595fc91354e92 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Aug 27 16:28:11 2014 -0700 usb: phy: twl4030-usb: Use mutex instead of spinlock for protecting the data We're using threaded irq on a I2C bus and we're sleeping in twl4030_usb_irq() as it calls twl4030_usb_linkstat() which calls the i2c functions. If we ever need to lock for longer I2C transaction sequences a mutex will allow us to do that easily. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 48f48e172c45e66e5323813fccc7dfd34e404bbe Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Aug 27 16:28:10 2014 -0700 usb: phy: twl4030-usb: Remove asleep and rely on runtime PM There's no longer need for tracking the phy state in the driver with asleep, we can now rely on runtime PM. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit bad8e33582cb3ea5f3a7a3517ca48e0a03be11a3 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Aug 27 16:28:09 2014 -0700 usb: phy: twl4030-usb: Move code from twl4030_phy_power to the runtime PM calls We don't need twl4030_phy_power() any longer now that we have the runtime PM calls. Let's get rid of it as it's confusing. No functional changes, just move the code and use res instead of ret as we are not returning that value. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 62dc5769bbd9f187e2e5df64f4e3b5affd48fe7b Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Aug 27 16:28:08 2014 -0700 usb: phy: twl4030-usb: Simplify phy init to use runtime PM We can now let the interrupt and delayed work do all that's needed with runtime PM. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit bb419402cc1075db508f9ee8cfff3618e111f744 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Aug 18 07:54:16 2014 -0700 usb: phy: twl4030-usb: Remove unused irq_enabled It's not being used any longer. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 25451e5cb99d6e8ab848b9c2c277fef532240a5a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:16 2014 +0100 phy: phy-spear1340-miphy: Use module_platform_driver to register driver. Using the module_platform_driver macro to register the driver as this gets rid of a lot of the boilerplate code. Also remove .owner field as this gets overridden in __platform_driver_register. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 7e65e9c94a0d8dba3a6e1e2052fca26d6ca853e7 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:15 2014 +0100 phy: phy-spear1310-miphy: Use module_platform_driver to register driver. Use the module_platform_driver macro to register the driver as this gets rid of a lot of the boilerplate code. Also remove .owner field as this gets overridden in __platform_driver_register. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 556bdebb3bb155459d3ed1d0c23fdb34cd46af33 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:13 2014 +0100 phy: phy-spear1340-miphy: Remove unncessary site specific OOM messages The site specific OOM messages are unncessary, because they duplicate messages from the memory subsystem which include dump_stack(). Removing these superflous messages makes the kernel smaller. A discussion here http://patchwork.ozlabs.org/patch/324158/ found that all error paths from kzalloc will print a error message, and that any error path which maybe found which doesn't would be considered a bug in kzalloc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 0e71e235638b9422b4c2c81e939a4d8d4509349a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:12 2014 +0100 phy: phy-spear1310-miphy: Remove unncessary site specific OOM messages The site specific OOM messages are unncessary, because they duplicate messages from the memory subsystem which include dump_stack(). Removing these superflous messages makes the kernel smaller. A discussion here http://patchwork.ozlabs.org/patch/324158/ found that all error paths from kzalloc will print a error message, and that any error path which maybe found which doesn't would be considered a bug in kzalloc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 3a4cfcbbaf675eca0d6a3be224212a98cca60c2b Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:11 2014 +0100 phy: phy-ti-pipe3: Remove unncessary site specific OOM messages The site specific OOM messages are unncessary, because they duplicate messages from the memory subsystem which include dump_stack(). Removing these superflous messages makes the kernel smaller. A discussion here http://patchwork.ozlabs.org/patch/324158/ found that all error paths from kzalloc will print a error message, and that any error path which maybe found which doesn't would be considered a bug in kzalloc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 0b68253d9f8d25728bd2b7ec378bfb5e116cbe17 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:10 2014 +0100 phy: phy-omap-usb2: Remove unncessary site specific OOM messages The site specific OOM messages are unncessary, because they duplicate messages from the memory subsystem which include dump_stack(). Removing these superflous messages makes the kernel smaller. A discussion here http://patchwork.ozlabs.org/patch/324158/ found that all error paths from kzalloc will print a error message, and that any error path which maybe found which doesn't would be considered a bug in kzalloc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1f8de849cf8399ff287bab560d04df4515ec73c0 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:09 2014 +0100 phy: phy-mvebu-sata: Add missing error check for devm_kzalloc Currently this driver is missing a check on the return value of devm_kzalloc, which would cause a NULL pointer dereference in a OOM situation. This patch adds the aformentioned missing check. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 437a6bc478e6530efad9aeb04b84b2f5c4e356d5 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 13:40:08 2014 +0100 phy: phy-omap-control: Remove unncessary site specific OOM messages The site specific OOM messages are unncessary, because they duplicate messages from the memory subsystem which include dump_stack(). Removing these superflous messages makes the kernel smaller. A discussion here http://patchwork.ozlabs.org/patch/324158/ found that all error paths from kzalloc will print a error message, and that any error path which maybe found which doesn't would be considered a bug in kzalloc. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit 1233f59f745b237d85f12aa9cf12ffab469f322d Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 22 23:27:14 2014 +0400 phy: Renesas R-Car Gen2 PHY driver This PHY, though formally being a part of Renesas USBHS controller, contains the UGCTRL2 register that controls multiplexing of the USB ports (Renesas calls them channels) to the different USB controllers: channel 0 can be connected to either PCI EHCI/OHCI or USBHS controllers, channel 2 can be connected to PCI EHCI/OHCI or xHCI controllers. This is a new driver for this USB PHY currently already supported under drivers/ usb/phy/. The reason for writing the new driver was the requirement that the multiplexing of USB channels to the controller be dynamic, depending on what USB drivers are loaded, rather than static as provided by the old driver. The infrastructure provided by drivers/phy/phy-core.c seems to fit that purpose ideally. The new driver only supports device tree probing for now. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kishon Vijay Abraham I <kishon@xxxxxx> commit db4fa45ed3182d8206af241811dfc99369ffa849 Author: Anders Berg <anders.berg@xxxxxxxxxxxxx> Date: Wed Sep 17 08:46:58 2014 +0200 spi: pl022: Add support for chip select extension Add support for a extended PL022 which has an extra register for controlling up to five chip select signals. This controller is found on the AXM5516 SoC. Unfortunately the PrimeCell identification registers are identical to a standard ARM PL022. To work around this, the peripheral ID must be overridden in the device tree using the "arm,primecell-periphid" property with the value 0x000b6022. Signed-off-by: Anders Berg <anders.berg@xxxxxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Acked-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 517bf80fe74494e2d7f185c107085cde11f0e9a4 Author: Roger Tseng <rogerable@xxxxxxxxxxx> Date: Wed Sep 24 17:07:14 2014 +0800 mmc: rtsx_pci: Set power related cap2 macros Set MMC_CAP2_NO_PRESCAN_POWERUP and MMC_CAP2_FULL_PWR_CYCLE for rtsx_pci_sdmmc and rtsx_usb_sdmmc to reflect properties of Realtek card reader hosts. Signed-off-by: Roger Tseng <rogerable@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8af465db967bf25a4617416c0cbaaaa506d444f5 Author: Roger Tseng <rogerable@xxxxxxxxxxx> Date: Wed Sep 24 17:07:13 2014 +0800 mmc: core: Add new power_mode MMC_POWER_UNDEFINED Add MMC_POWER_UNDEFINED for power_mode in struct mmc_ios and use it as the initial value of host->ios.power_mode. For hosts with MMC_CAP2_NO_PRESCAN_POWERUP, this makes the later mmc_power_off() do real power-off things instead of NOP, and further prevents state messed up in cards that was already initialized (eg. by BIOS of UEFI driver). Signed-off-by: Roger Tseng <rogerable@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7756a96d1617753d8387e59e0ba410e0dd512be4 Author: Yi Sun <yi.y.sun@xxxxxxxxx> Date: Tue Sep 9 02:13:59 2014 +0000 mmc: sdhci: execute tuning when device is not busy We find tuning timeout because of the secure erase operation lasts too long, so don't do tuning when device is busy. Signed-off-by: Yi Sun <yi.y.sun@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 513d3c0f40c8e22fac019d5b0694374d17fbe682 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Sep 21 12:32:59 2014 +0800 gpio: xgene: Remove unneeded #ifdef CONFIG_OF guard This driver depends on OF_GPIO, so it won't be built if !CONFIG_OF. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 02ed185af0c146b479e5c62f9aeff975672f1d2f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Sep 21 12:32:10 2014 +0800 gpio: xgene: Remove unneeded forward declation for struct xgene_gpio Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1a19864e3bc2715e95940c7ec89f75c77030ccb5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Sep 21 12:31:29 2014 +0800 gpio: xgene: Fix missing spin_lock_init() Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f9f6a592cf4f35e7b614f1fb2e8d73969ee39a6d Author: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Date: Wed Sep 17 13:14:20 2014 -0700 ASoC: rt5677: Add a configuration option for LDO2_POW pin Some boards have this pin statically tied and do not require any configuration, some other boards allow to enable chip using GPIO. Add an option that tells which GPIO is used to power the audio codec. Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0397375dc936142fa0b96b525064306f4c2e312d Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Sat Sep 20 20:44:30 2014 +0530 gpio: ks8695: fix switch case indentation Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 295494af0695bc190e6b939df1036af898c2856f Author: Octavian Purdila <octavian.purdila@xxxxxxxxx> Date: Fri Sep 19 23:22:44 2014 +0300 gpiolib: add irq_not_threaded flag to gpio_chip Some GPIO chips (e.g. the DLN2 USB adapter) have blocking get/set operation but do not need a threaded irq handler. Signed-off-by: Octavian Purdila <octavian.purdila@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c7908a37aeee2a038d7b1492eae29750d8738d2e Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Wed Sep 24 14:30:29 2014 +0800 spi: Fix possible ZERO_SIZE_PTR pointer dereferencing error. Since we cannot make sure the 'n' will always be none zero here, and then if either equal to zero, the kzalloc() will return ZERO_SIZE_PTR, which equals to ((void *)16). So this patch fix this with just doing the zero check before calling kzalloc(). Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c3c6e231d860774037e7001ff3d536e5644fe2da Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 18 20:08:57 2014 +0300 spi: dw: fix style of code in few places Make comments be surrounded by spaces and move part of code to one line where it suits 80 characters. There is no functional changes. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c3ce15bf2ae5cde3392944ad043b80f123510cde Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 18 20:08:56 2014 +0300 spi: dw: introduce support of loopback mode For testing purposes it's good to have a loopback mode enabled. The patch adds necessary bits for that. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e45ef682cb31fda62ed4eeede5d9745a0a1b1e2 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 18 20:08:53 2014 +0300 spi: dw-mid: terminate ongoing transfers at exit Do full clean up at exit, means terminate all ongoing DMA transfers. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit b41583e7299046abdc578c33f25ed83ee95b9b31 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 18 20:08:51 2014 +0300 spi: dw-mid: respect 8 bit mode In case of 8 bit mode and DMA usage we end up with every second byte written as 0. We have to respect bits_per_word settings what this patch actually does. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit a5b4b234e15b68539dd4677bb8b0aeeef100fbba Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Sep 20 11:05:09 2014 +0400 spi: clps711x: Migrate to the new clk subsystem Currently clps711x arch have a fully functional CLK driver. This patch migrates clps711x-spi driver to use the new CLK subsystem. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 528bc7808f4e36a330ec17ef22803f1345091494 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 23 15:50:06 2014 +0530 mmc: atmel-mci: Release mmc resources on failure in probe This change takes care of releasing mmc resources on error cases in probe function which was missing. Also release timer in remove function. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d37cf5f7e1b315585940a735a8508d955ffc0f16 Author: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Date: Fri Sep 19 20:05:26 2014 +0300 drm/i915/bdw: Cleanup pre prod workarounds as these have been fixed in production hw and hurt performance if applied. v2: adjust requested ring space (Ville) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83482 Tested-by: zhoujian <jianx.zhou@xxxxxxxxx> Signed-off-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7bca646e0fc34b19cd84e14ed474d1c95830cc80 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 23 18:21:48 2014 +0530 mmc: atmel-mci: Switch to using managed resource in probe This change uses managed resource APIs to allocate resources such as, clk, gpio, io in order to simplify the driver unload or failure cases. Hence does away with release statements of the same resources in error labels and remove function. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 99632d1077853c2030bec3530011b9d9f423cc89 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:48:21 2014 +0300 ASoC: max98090: Remove unused byte access macros Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0e2cadf39a37f633d3b6d286318506ea3bd0b286 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:48:20 2014 +0300 ASoC: max98090: Remove unused version define Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3256ff6e5117c493ec20e96aad9f0a20d656d561 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:48:19 2014 +0300 ASoC: max98090: Remove structure member extmic_mux from private data There is no other use for extmic_mux than setting it to zero so remove it. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ced1933db67087554abf22bcb285eb6873380b10 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:48:18 2014 +0300 ASoC: max98090: Remove structure member irq from private data struct max98090_priv member irq is now used only locally in max98090_i2c_probe() and can be removed. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7a7f0ba03d521ac2d36c9015278bc35657b3dcc9 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:48:17 2014 +0300 ASoC: max98090: Move interrupt request from codec probe to i2c probe Keep MAX98090 interrupt requested after i2c device probing as long as the driver is loaded. This fixes the issue where subsequent codec probe max98090_probe() call fails in interrupt request since interrupt wasn't freed over codec remove-reprobe cycle. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c7c343a1159d1cb7604b6137cf547b2c1e2375d Author: Howard Mitchell <hm@xxxxxxxxxxxxxx> Date: Fri Sep 19 12:50:31 2014 +0100 ASoC: core: Fix volsw_range funcs so SOC_DOUBLE_R_RANGE_TLV works. This fixes a bug when using the SOC_DOUBLE_R_RANGE_TLV macro in the invert mode. In the non-invert case, e.g. SOC_DOUBLE_R_RANGE_TLV("<name>", <reg_l>, <reg_r>, 0, 40, 255, 0, <tlv>) the range sent to the hardware is 40..255, but in the invert case: SOC_DOUBLE_R_RANGE_TLV("<name>", <reg_l>, <reg_r>, 0, 40, 255, 1, <tlv>) the range 215..0 was being sent to the hardware. This commit corrects this to 255..40 so it is consistent with the non-invert case. Signed-off-by: Howard Mitchell <hm@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2720386ec5d4df8fd31ff7845b6e8557dcde3a26 Author: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Date: Mon Sep 22 16:25:29 2014 -0700 regulator: qcom-rpm: Regulator driver for the Qualcomm RPM Driver for regulators exposed by the Resource Power Manager (RPM) found in Qualcomm 8660, 8960 and 8064 based devices. Signed-off-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dfa5d19658a308b373ce0cb9f6be9338c16ce14f Author: Balaji T K <balajitk2@xxxxxxxxx> Date: Wed Sep 17 22:50:11 2014 +0530 MAINTAINERS: omap_hsmmc: remove myself from MAINTAINERS As I won't be able to maintain omap_hsmmc driver Signed-off-by: Balaji T K <balajitk2@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6606110d89aefcb21b9e70adfe064987cbd8393a Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Sep 12 14:56:56 2014 -0700 mmc: Convert pr_warning to pr_warn Use the much more common pr_warn instead of pr_warning. Other miscellanea: o Coalesce formats o Realign arguments o Remove extra spaces when coalescing formats Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4f51b91335a63b2672a0f21fd13a684c8e35c4e8 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Fri Sep 12 07:12:14 2014 +0800 gpio: Fix return value check in xgene_gpio_probe() In case of error, the function devm_ioremap_nocache() returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return value check should be replaced with NULL test. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f12c1f9002d27374fd205f6e692891116ca22272 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Wed Jul 30 14:59:49 2014 -0700 x86/vdso: Fix vdso2c's special_pages[] error checking Stephen Rothwell's compiler did something amazing: it unrolled a loop, discovered that one iteration of that loop contained an always-true test, and emitted a warning that will IMO only serve to convince people to disable the warning. That bogus warning caused me to wonder what prompted such an absurdity from his compiler, and I discovered that the code in question was, in fact, completely wrong -- I was looking things up in the wrong array. This affects 3.16 as well, but the only effect is to screw up the error checking a bit. vdso2c's output is unaffected. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/53d96ad5.80ywqrbs33ZBCQej%25akpm@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2b0bf6c85a4940e00516f68ff7103329abf8512d Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 11:17:41 2014 -0700 Bluetooth: Convert bt_<level> logging functions to return void No caller or macro uses the return value so make all the functions return void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit be34f0f3e6aed6e828a8059247d169d38da128d7 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Sun Sep 21 21:47:43 2014 +0200 sched/numa: Kill the wrong/dead TASK_DEAD check in task_numa_fault() current->state == TASK_DEAD means that the task is doing its last schedule(), page fault is obviously impossible at this stage. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Mel Gorman <mgorman@xxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140921194743.GA30114@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 368c75b98bdfdfad54e7f165016819ef344e3587 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:59 2014 +0530 staging: rtl8188eu: odm.h: Remove unused struct dyn_primary_cca struct odm_dm_struct has a member of struct dyn_primary_cca, which is initialized once and then never used by driver, so we can remove struct dyn_promary_cca and code which initialize it. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f4ece938a70f6022a269f85bc06e796500f3ce3 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:58 2014 +0530 staging: rtl8188eu: Rework function ODM_AntennaDiversity_88E() Rename CamelCase function name. Remove unnecessary comments. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d2f44b7cf616f0e309f5ebee46159b671ccb9aff Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:57 2014 +0530 staging: rtl8188eu: Rework function odm_HWAntDiv() Rename CamelCase function name and local variables. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c45dde4ab133b1e8f1690670b5a09d60a8754d6 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:56 2014 +0530 staging: rtl8188eu: Rework function ODM_AntselStatistics_88E() Rename CamelCase function name and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b26b75dafb0dd53d10c2cf98c9b8c92e41a4cf3 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:55 2014 +0530 staging: rtl8188eu: Rework function ODM_SetTxAntByTxInfo_88E() Rename CamelCase function name and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7614f023502475c0532a9024c0b1ea42ea61c225 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:54 2014 +0530 staging: rtl8188eu: Rework function odm_UpdateTxAnt_88E() Rename CamelCase function name and local variables. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 052a806d6b4e6bed40bb4a184b1082ac26ffaf03 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:53 2014 +0530 staging: rtl8188eu: Rework function ODM_UpdateRxIdleAnt_88E() Rename CamelCase function name and local variables. Remove unnecessary debugging messages and comments. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db0ccdacd086343ee3672fa8abd659a5d8b18929 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:52 2014 +0530 staging: rtl8188eu: Rework function ODM_AntennaDiversityInit_88E() Rename CamelCase function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4d7ea09910ec8e97f60517f20d37debec947a83 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:51 2014 +0530 staging: rtl8188eu: Rework function odm_FastAntTrainingInit() Rename CamelCase function name. Remove unnecessary comments and debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09002c76b56c2b3e29bf83c78c8120fa9d8a9d37 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:50 2014 +0530 staging: rtl8188eu: Rework function odm_TRX_HWAntDivInit() Rename CamelCase function name. Remove unnecessary comments. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87b89e850fbaae16ce845be8559e1b54cb57fec5 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:49 2014 +0530 staging: rtl8188eu: Rework function odm_RX_HWAntDivInit() Rename CamelCase function name. Remove unnecessary comments. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 146b901038eea2e73fb4674d63f55b97c7a09de5 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:48 2014 +0530 staging: rtl8188eu: Remove unused header file odm_RegDefine11AC.h Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f1b7df41526538d544b108c1d7ceca79963abe4 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Sep 20 19:55:47 2014 +0530 staging: rtl8188eu: Remove odm_debug.c Move a function and global variable from odm_debug.c to odm.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46fa0ec0fa4d396e94ac9a8d3e01e6da1f35efdd Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Mon Sep 22 21:27:47 2014 +0100 staging: vt6655: device_get_options remove unused variable devname Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42f709eff132e82f5375b4daae208953035768b2 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Mon Sep 22 21:27:46 2014 +0100 staging: vt6655: pr_err remove string to net device name Just print driver name with dev_err removing the string formatting. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74316949a2f26b75e66cd1c8c8bad4cde1841645 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Tue Sep 9 09:38:01 2014 +0300 MAINTAINERS: Move Xillybus out of staging Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7051924f771722c6dd235e693742cda6488ac700 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Tue Sep 9 09:36:04 2014 +0300 xillybus: Move out of staging This driver has been functional and stable throughout the year it has spent in the staging area. It has been patched for minor bugs, coding style issues and improvements during this period. This is the second submission of this move-out, after making several style improvements, as suggested by Dan Carpenter. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b4c8cfaff67086f7c8c2540576a6e9504c8bd88 Author: Grzegorz Swirski <grzegorz@xxxxxxxxxxxx> Date: Sat Sep 20 12:09:11 2014 +0100 staging: wlan-ng: remove unused 'result' var Signed-off-by: Grzegorz Swirski <grzegorz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1d1a9d3a104531e25b7a33d60b627e93700327f Author: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Date: Sat Sep 20 14:40:38 2014 +0200 staging: line6: fix midibuf.c coding style issue Fix the following checkpatch.pl warning: - else is not generally useful after a break or return Signed-off-by: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c74920124750e5270c689d8c892a1c4263e5a547 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Sep 23 09:22:36 2014 +0900 staging: dgap: use dgap_release_remap() in dgap_cleanup_board() Just simply use dgap_release_remap() in dgap_cleanup_board() for releasing map memory. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b23e487903ae1cf5d06c14fa719555dead0f5ae4 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Sep 23 09:22:08 2014 +0900 staging: dgap: adds missing iounmap for re_map_port in dgap_release_remap() Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 476f6bc80ba98ce4feab8eb90ed389b6cd47d613 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Sep 23 09:21:38 2014 +0900 staging: dgap: remove unused 'runwait' variable Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d40f0d8d3d09732853ea010c12100609269a6e41 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Tue Sep 23 20:41:14 2014 +0100 staging: et131x: Remove unnecessary defines to enable driver PM The Power Management functions can be conditional by assigning pm ops directly to .driver.pm, instead of using #ifdef's, saving some lines of code. Reported-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b57cb55b463d918e07843ebd552da8557d37e3ff Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Tue Sep 23 20:41:13 2014 +0100 staging: et131x: Add space after { in pci ID table Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecce565056db18b6136d9ff9232aa3761aae4e48 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Tue Sep 23 20:41:12 2014 +0100 staging: et131x: don't cast a void* to a struct pointer Casting a void* popinter to a struct pointer is unnecessary, don't do it. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e112eb598db4fb7b99086c33765cf262dcfda0d2 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Tue Sep 23 20:41:11 2014 +0100 staging: et131x: zero allocation of fbr to prevent random address access If et131x_rx_dma_memory_alloc() allocates rx_ring->fbr[0] but fails to allocate rx_ring->fbr[1], this leaves fbr[0]->ring_virtaddr with the possibility of being accessed in et131x_rx_dma_memory_free() as it contains a random value, potentially causing an oops. Fix this by zeroing the fbr memory on allocation. Subsequent frees of this fbr memory explicitly zeros the ring_virtaddr value. Reported-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfe945c8e1260e405a7a257719c9e2cf77cafa4e Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Wed Sep 10 22:43:51 2014 +0800 imx-drm: imx-drm-core: add basic suspend/resume support HDMI currently stops working after a system suspend/resume cycle. The cause is that the mode setting states in hardware gets lost and isn't restored across the suspend/resume cycle. The patch adds a very basic suspend/resume support to imx-drm driver, and calls drm_helper_resume_force_mode() in .resume hook to restore the mode setting states, so that HDMI can continue working after a system suspend/resume cycle. Since the suspend/resume hook can be called with drm_device pointer being NULL from driver data, we need a check on the pointer in the hooks. And to avoid using a stale pointer from driver data, it also clears driver data in .unload hook. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b46355f0f77f6553ad6079ffd6ee5adfb8ca7a8b Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Wed Sep 10 22:10:43 2014 +0800 imx-drm: ipuv3-plane: remove function ipu_plane_dpms() All those ipu_*_put() calls in ipu_plane_dpms() are unnecessary, because the only occurrence of ipu_plane_dpms() with 'mode' not being DRM_MODE_DPMS_ON is in function ipu_disable_plane(), which already has a ipu_plane_put_resources() call to put those ipu resources right after ipu_plane_dpms(). So with those redundant ipu_*_put() calls removed from ipu_plane_dpms(), the only left code in the function is ipu_plane_enable|disable(). Thus, we can just call ipu_plane_enable|disable() as needed directly and remove the ipu_plane_dpms() function completely. Suggested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bef59c5024be687ef4f228915af9961307a779ab Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 15:26:35 2014 +0200 devres: Improve devm_kasprintf()/kvasprintf() support - Add devm_kasprintf()/kvasprintf(), introduced by commit 75f2a4ead5d5890ada9c2663a70fb58613c0d9f2 ("devres: Add devm_kasprintf and devm_kvasprintf API"), to Documentation/driver-model/devres.txt, - Improve kernel doc: the string is not an existing formatted string, but is formatted into the newly-allocated buffer, - Add a __printf() annotation to devm_kasprintf(), so the compiler will verify the format string argument types. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54270354b518952da934ee1c7e13ed1c9654fd22 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 15:26:34 2014 +0200 Documentation: devres: Add missing devm_kstrdup() managed interface Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea05166aac28c1792201b8ab8d5e342f512e6c8f Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Thu Aug 14 10:05:03 2014 +0200 Documentation: devres: Add missing IRQ functions Commit 0668d3065128 ("genirq: Add devm_request_any_context_irq()") introduced devm_request_any_context_irq() and commit 935bd5b971f0 ("genirq: add support for threaded interrupts to devres") added devm_request_threaded_irq(). Add these two functionions to the list of managed interfaces. Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 046c7911b224267062ab1caeabbf11bc46e9c152 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Fri Sep 5 17:29:12 2014 -0700 Drivers: hv: vmbus: Enable interrupt driven flow control In win8 we have a feature that allows for interrupt driven flow management for host/guest communication. For instance, if the host were blocked because there was no space available in the ringbuffer, the host could request that the guest send an interrupt when space becomes available in the ringbuffer (when the guest drains the ringbuffer). While this feature was implemented in the guest a while ago, we had not advertised that the guest supported this feature. This patch advertises the support to the host. For pre-win8 hosts, this has no effect since the size of the ringbuffer control structure has not changed and all changes have been backward compatible - unused/reserved space has been used to implement this feature. In this version of the patch I have cleaned up the commit log based on feedback from Greg KH. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc5a5b02331a3175a5fca20a4beba249e573b672 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Tue Sep 2 19:21:47 2014 -0700 Drivers: hv: util: Properly pack the data for file copy functionality Properly pack the data for file copy functionality. Patch based on investigation done by Matej Muzila <mmuzila@xxxxxxxxxx> Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reported-by: <qge@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2115b5617adf2eecca49e78f3810f359ddc5c396 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Thu Aug 28 18:29:53 2014 -0700 Drivers: hv: vmbus: Properly protect calls to smp_processor_id() Disable preemption when sampling current processor ID when preemption is otherwise possible. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b29ef3546aecb253a5552b198cef23750d56e1e4 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Thu Aug 28 18:29:52 2014 -0700 Drivers: hv: vmbus: Cleanup hv_post_message() Minimize failures in this function by pre-allocating the buffer for posting messages. The hypercall for posting the message can fail for a number of reasons: 1. Transient resource related issues 2. Buffer alignment 3. Buffer cannot span a page boundry We address issues 2 and 3 by preallocating a per-cpu page for the buffer. Transient resource related failures are handled by retrying by the callers of this function. This patch is based on the investigation done by Dexuan Cui <decui@xxxxxxxxxxxxx>. I would like to thank Sitsofe Wheeler <sitsofe@xxxxxxxxx> for reporting the issue and helping in debuggging. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reported-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98d731bb064a9d1817a6ca9bf8b97051334a7cfe Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 27 16:25:33 2014 -0700 Drivers: hv: vmbus: Cleanup vmbus_close_internal() Eliminate calls to BUG_ON() in vmbus_close_internal(). We have chosen to potentially leak memory, than crash the guest in case of failures. In this version of the patch I have addressed comments from Dan Carpenter (dan.carpenter@xxxxxxxxxx). Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45d727cee9e200f5b351528b9fb063b69cf702c8 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 27 16:25:35 2014 -0700 Drivers: hv: vmbus: Fix a bug in vmbus_open() Fix a bug in vmbus_open() and properly propagate the error. I would like to thank Dexuan Cui <decui@xxxxxxxxxxxxx> for identifying the issue. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72c6b71c245dac8f371167d97ef471b367d0b66b Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 27 16:25:34 2014 -0700 Drivers: hv: vmbus: Cleanup vmbus_establish_gpadl() Eliminate the call to BUG_ON() by waiting for the host to respond. We are trying to reclaim the ownership of memory that was given to the host and so we will have to wait until the host responds. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66be653083057358724d56d817e870e53fb81ca7 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 27 16:25:32 2014 -0700 Drivers: hv: vmbus: Cleanup vmbus_teardown_gpadl() Eliminate calls to BUG_ON() by properly handling errors. In cases where rollback is possible, we will return the appropriate error to have the calling code decide how to rollback state. In the case where we are transferring ownership of the guest physical pages to the host, we will wait for the host to respond. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdeebcc62279119dbeafbc1a2e39e773839025fd Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Wed Aug 27 16:25:31 2014 -0700 Drivers: hv: vmbus: Cleanup vmbus_post_msg() Posting messages to the host can fail because of transient resource related failures. Correctly deal with these failures and increase the number of attempts to post the message before giving up. In this version of the patch, I have normalized the error code to Linux error code. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Tested-by: Sitsofe Wheeler <sitsofe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 471b095dfe0d693a8d624cbc716d1ee4d74eb437 Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Sep 18 11:25:37 2014 -0700 firmware_class: make sure fw requests contain a name An empty firmware request name will trigger warnings when building device names. Make sure this is caught earlier and rejected. The warning was visible via the test_firmware.ko module interface: echo -ne "\x00" > /sys/devices/virtual/misc/test_firmware/trigger_request Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Tested-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06c88b0d7ad87540405aea7f91d98ef43be04c95 Author: Steven Honeyman <stevenhoneyman@xxxxxxxxx> Date: Fri Sep 5 18:03:42 2014 +0100 i8k: Add support for Dell Latitude E6540 Add support for the Dell Latitude E6540 which needs a different fan speed multiplier. Signed-off-by: Steven Honeyman <stevenhoneyman@xxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e45354645f77e83fe3832f150acdcfeff45f44c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 29 11:42:56 2014 +0300 VMCI: integer overflow in vmci_datagram_dispatch() This is untrusted user data from vmci_host_do_send_datagram() so the VMCI_DG_SIZE() macro can have an integer overflow. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95e838c915edbdde366d111905245171ac99c2cc Author: Federico Vaga <federico.vaga@xxxxxxx> Date: Mon Sep 1 13:49:56 2014 +0200 ipoctal: clear break interrupt as soon as it occurs In some condition we receive the break interrupt but nothing is putted in the Rx FIFO and the correspondend bit in the status register is not set. Thus, no-one clear the interrupt and the handler will be called forever. This patch clear the break interrupt as soon as it occurs. Then, if the break character '\0' is putted in the fifo we will manage it. We can also unmask the Break interrupt but its bit in ISR is still set on break. So I think is better to keep the registers clean. Signed-off-by: Federico Vaga <federico.vaga@xxxxxxx> Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1451f414639465995dfc1f820aa1a64723cbd662 Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:53 2014 +0200 GenWQE: Support blocking when DDCB queue is busy When the GenWQE hardware queue was busy, the driver returned simply -EBUSY. This caused polling by applications which increased the load on the already busy system. This change implements the possiblity to sleep on a waitqueue instead when the DDCB queue is busy. The requestor is woken up when there is free space on the queue again. The old way to get -EBUSY is still available if the device is openend with O_NONBLOCKING. The default is now blocking behavior. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08e4906cc29d092ae2da0ff089efe1488e584d3c Author: Eberhard S. Amann <esa@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:52 2014 +0200 GenWQE: Fix problem when reading HSI and Retc This patch fixes a problem we found during debug on PPC64 when reading HSI status and Retc. Signed-off-by: Eberhard S. Amann <esa@xxxxxxxxxxxxxxxxxx> Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9c11d45b33c9226abd50a50c87e19bfa7c7a2cb Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:51 2014 +0200 GenWQE: Fix checkpatch complaints The checkpatch.pl script got improved. I ran it on the latest GenWQE sources and fixed what it complained about. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bc407dd319bb8c3608369989d95b700d00e6cf43 Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:50 2014 +0200 GenWQE: Check return code of pci_sriov_enable Forgetting to check this, can lead to problems on systems which do not support SRIOV. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d880ccfa9be92a10ea19f5a8f7e4be2a7d45e4d Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:49 2014 +0200 GenWQE: Do not modify return code of genwqe_set_interrupt_capability Follow up patch to the one from Sebastian Ott. There is no need to change the return code once it fails. And Sebastians version is tested now and works nicely on our test-system. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26d8f6f15112b8b0fbff360c360e8c42bf2bc370 Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:48 2014 +0200 GenWQE: Update author information Updated email address of co-author. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Michael Jung <mijung@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64df2ec5108de3f627761cade7b31e5d583ce448 Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:47 2014 +0200 GenWQE: Remove sysfs entry for driver version A special sysfs entry to display the driver version is not needed. We left the driver version and adjusted it to the naming a lot of other drivers use. The information can be retrieved by using modinfo genwqe_card. modinfo genwqe_card will provide the same information. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95a8825c9c3482e31ee5064184138a18be186515 Author: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:37:46 2014 +0200 GenWQE: Check pci_get_totalvfs return code Currently the driver is using the pci_get_totalvfs() return code directly in a loop. To avoid problems with potentially negative returns in case of errors, we are adding some more sanity checking code. Signed-off-by: Frank Haverkamp <haver@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffdbb715fa0c53203b1ea2a6ecc54bdcc8951612 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 14:14:09 2014 +0100 misc: st_kim: Increase size of dev_name buffer to incorporate termination Calling strncpy with a maximum size argument of 32 bytes on destination array kim_gdata->dev_name of size 32 bytes might leave the destination string unterminated. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e4ebe5fe2d507a4c228bf90dea7dd4de57cbce92 Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 14:14:08 2014 +0100 misc: st_core: Protect unsigned value against becoming negative Coverity reported: This less-than-zero comparison of an unsigned value is never true. In answer to that, we only ever decrement if protos_registered is positive. We can subsequently remove the paranoid checking during unregister. Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ae39cc98192252f756f8943be85e9f4dbd8436e Author: Matwey V. Kornilov <matwey@xxxxxxxxxx> Date: Wed Aug 27 12:07:44 2014 +0400 parport: parport_pc: Implement architecture and device check to cut off false-positives We definitely know that only x86 (32-bit) architecture is affected by the issue, so implement a stub instead of the actual check for other architectures. We also know that motherboard LPT chipset is affected, so the port is either come from parport_pc_init (when `io' module param is used) or parport_pc_find_isa_ports (when default LPT ports are probbed: 0x378, 0x278, 0x3bc). In both cases the port considered as 'legacy' and `dev' member of struct parport is NULL. See also comments for `struct parport' in parport.h Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17891c8a9ea17a11b437c7184f7f04e0ab7be811 Author: Matwey V. Kornilov <matwey@xxxxxxxxxx> Date: Wed Aug 27 12:07:43 2014 +0400 parport: parport_pc: Introduce intel_bug_present function. Put the code to check present of the Intel bug from parport_EPP_supported into new intel_bug_present function. The later also return ECR register to the state it has before function call. Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82a82340bab6c251e0705339f60763718eaa2a22 Author: Federico Vaga <federico.vaga@xxxxxxx> Date: Tue Sep 2 17:31:41 2014 +0200 ipoctal: get carrier driver to avoid rmmod Signed-off-by: Federico Vaga <federico.vaga@xxxxxxx> Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36c53b3cc3fac6952af68f43609b15ae050c9318 Author: Federico Vaga <federico.vaga@xxxxxxx> Date: Tue Sep 2 17:31:40 2014 +0200 ipack: save carrier owner to allow device to get it There was not any kind of protection against carrier driver removal. In this way, device driver can 'get' the carrier driver when it is using it. Signed-off-by: Federico Vaga <federico.vaga@xxxxxxx> Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78f22bc29e6e367f272a7fc700baa4d4263d376a Author: Federico Vaga <federico.vaga@xxxxxxx> Date: Tue Sep 2 17:31:39 2014 +0200 ipoctal: reset function istead of duplicate code Signed-off-by: Federico Vaga <federico.vaga@xxxxxxx> Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0b04f2e94baca0f8135e7d5648c21be2e29d831 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 14:09:23 2014 +0200 drivers/ipack/devices/ipoctal.h: Fix typo in include guard Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Samuel Iglesias Gonsalvez <siglesias@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95ead5f606971022b6b72557038eef6a78c86e59 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sun Aug 17 18:01:03 2014 +0300 documentation: devicetree: Added xillybus to vendor-prefixes Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5534b6733d202b72e3e78be4e9b601b57120d1e3 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 14:02:05 2014 +0200 char: xilinx_hwicap: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41575335ed026339e07f265ede3a21e995bee8e6 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 8 15:56:36 2014 +0200 driver core: Remove kerneldoc from local function The deferred_probe_work_func() function is locally scoped, therefore an associated kerneldoc comment isn't very useful. Replace the kerneldoc opening marker (/**) with a regular block comment marker (/*) to avoid the comment from being parsed by kerneldoc. This gets rid of a warning caused by a missing description for the "work" argument. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 759e7d6df3e4da96573a0bf957383211314792ee Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Thu Aug 7 17:43:28 2014 +0530 pcie-gadget-spear: use devm_ functions The various devm_ functions allocate memory that is released when a driver detaches. This patch uses these functions for data that is allocated in the probe function of a platform device and is only freed in the remove function. Also, the unnecessary labels are removed and linux/device.h is added to make sure the devm_*() routine declarations are unambiguously available. The initial call to platform_get_resource is moved down to the introduced call to devm_ioremap_resource that uses its result. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 322d3f6a58e479d27b86deb6024148669d6a2fa1 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Aug 6 17:37:41 2014 +0200 misc: lattice-ecp3-config: Add missing MODULE_FIRMWARE() Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Tested-by: Jean-Michel Hautbois <jean-michel.hautbois@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1698da246134e88bb05550dafe7c34b47387655a Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Aug 2 00:34:23 2014 +0530 EEPROM: Introduce the use of devm_kzalloc This patch introduces the use of devm_kzalloc and does away with the kfrees in the probe and remove functions. Also, a label and the err variable are removed. The header device.h is included to make the devm_ function explicitly available and slab.h is done away with as it is no longer needed. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Reviewed-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26c3af6c1580a0a6d63cf507ad249953cfaff703 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Sep 10 14:07:36 2014 -0700 crypto: qat - Removed unneeded partial state Removed additional bufer for HW state for partial requests, which are not going to be supported. Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7752759d957a84c889556e3096db21ec43312eb3 Author: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Date: Wed Sep 10 14:07:31 2014 -0700 crypto: qat - Fix typo in name of tasklet_struct Fix typo. resp_hanlder should be resp_handler Signed-off-by: Bruce Allan <bruce.w.allan@xxxxxxxxx> Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit cfda2794b5afe7ce64ee9605c64bef0e56a48125 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Mon Aug 25 16:46:53 2014 +0300 mei: bus: fix possible boundaries violation function 'strncpy' will fill whole buffer 'id.name' of fixed size (32) with string value and will not leave place for NULL-terminator. Possible buffer boundaries violation in following string operations. Replace strncpy with strlcpy. Cc: stable@xxxxxxxxxxxxxxx # 3.10+ Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 154eb18fedd5219516887a7e2bf2825b1b06ff2b Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:23 2014 +0300 mei: use connect_data on the stack There is no need for dynamic allocation for connect_data. We can use variable on the stack and make code less error prone and simple Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f046e7b6f4f0d8c9504e22cf8eacfe5c78f0f01 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:22 2014 +0300 mei: enable adding more IOCTL handlers Handle ioctls in a switch statement so we can add more commands easily Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bae1cc7d41fd3048f55c21a6e59c35a3f0abaafe Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:21 2014 +0300 mei: extract supported features from the hbm version extract supported hbm features and commands from the hbm version Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2af89db1d61a872e5f2f1fb18d44cf5d8f5f6a2a Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:20 2014 +0300 mei: simplify handling of hbm client events Add mei_hbm_cl_find_by_cmd handler to retrieve the destination client Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb02efc3a6e96a0dc4aba8ebf0c1136b72fbe8ba Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Thu Aug 21 14:29:19 2014 +0300 mei: wait for hbm start non-interruptible We cannot handle user interrupt in context of hbm start so we only wait for time out which is reasonably short. 1. Add kdoc 2. Rename state to better reflect its function 3. Simplify wait condition and rename wait_recvd_msg to wait_hbm_start Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12f45ed414c8d2eac1a98bf2deaf4117e8c0324f Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:18 2014 +0300 mei: revamp connect and disconnect response handling Both responses have same flow only the client status update is different. We introduce handler mei_hbm_cl_res() that handles both responses Also we use per client wait queue (cl->wait) rather then global dev->wait_recvd_msg Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a8373fba0ab2cec8d206747ad60ca4a30821a37 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:17 2014 +0300 mei: use disconnect name consistently Rename mei_cl_irq_close to mei_cl_irq_disconnect and MEI_FOP_CLOSE to MEI_FOP_DISCONNECT Remove unused MEI_FOP_OPEN Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89778d6e2a39027977e2de822808bd82afd6ea46 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:16 2014 +0300 mei: add hbm commands return status values HBM uses global list of status values from which the values of particular commands are derived Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d880f3294d0576e79dfab4e2cd5a2eb62fe188f0 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:15 2014 +0300 mei: add mei_me_cl_by_uuid_id function When handling dynamic clients there might be a race scenario in which two me clients with the same me address would be linked in the me clients list, therefore we need to search by both uuid and me address. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25ca6472b590e87efba314892a76bd5629c8c989 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:14 2014 +0300 mei: add me client remove functions To support dynamic addition/remove we add wrappers for removal of me clients Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ca2d3882d60c040285d0b45df731e11f5da7c64 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:13 2014 +0300 mei: use list for me clients book keeping To support dynamic addition/remove of clients it is more convenient to use list instead of static array Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d320832f64666089a06778782e42fac29abd7bf7 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Sun Aug 24 12:08:55 2014 +0300 mei: me_client lookup function to return me_client object For support of dynamic addition and removal of me clients it is more convenient to use a list instead of static array as is use now. As the first step of the transition to the new data structure we change the lookup function so it returns me client address instead of an index. Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68d1aa65978b86b2ca5bdf7211b27cfd32c3212d Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:11 2014 +0300 mei: use wrapper for simple hbm client message Reduce few code lines by using wrappers for sending simple hbm client messages Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3438c1f3b7b3f18a85ea7ed3c2f70ffe387aeee9 Author: Tomas Winkler <tomas.winkler@xxxxxxxxx> Date: Thu Aug 21 14:29:10 2014 +0300 mei: use consistently me_addr in the hbm structures Use consistently me_addr name in hbm protocol structures to represent in firmware client address Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05e314e2535f1693098e58b0261169565a43bec1 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Thu Aug 14 17:22:21 2014 +0300 mei: amthif: don't check amthif client identity on amthif queues Amthif has its own queues therefore it is redundant to check the client type when processing the queues Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5456796b1a2aedd2d6345944b73ac41aeb8cb589 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Thu Aug 14 17:22:20 2014 +0300 mei: amthif: use service function to flush amthif queue Replace open coded loop with an existing service function: mei_io_list_flush Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c2b93ecace25c3720e68e6cd7ee47f38c1d2e90 Author: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Date: Tue Aug 12 20:16:03 2014 +0300 mei: me: wait for hw ready non-interruptible We cannot handle user interrupt in context of hw initialization so we only wait for time out which is reasonably short Also we don't need to check error from wait, only flag value. Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx> Signed-off-by: Tomas Winkler <tomas.winkler@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 287f9bd9325b982ed19371697d4af7032c5a3b0b Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Tue Aug 12 02:54:09 2014 +0530 attribute_container: fix coding style issues Fix checkpatch.pl issues with coding style. Added and removed spaces accordingly. Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24a7d36a7260a30b8477d1fe0335c87ad846ed56 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Tue Aug 12 02:54:08 2014 +0530 attribute_container: fix whitespace errors This is a clean-up patch to the attribute_container.c file to fix the whitespace errors. Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 655e5b7c031e84cf8c07cfd6a5944ce53cba1add Author: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Date: Tue Aug 26 00:34:44 2014 -0700 drivers/base: Fix length checks in create_syslog_header()/dev_vprintk_emit() snprintf() returns the number of bytes that could have been written (excluding the null), not the actual number of bytes written. Given a long enough subsystem or device name, these functions will advance beyond the end of the on-stack buffer in dev_vprintk_exit(), resulting in an information leak or stack corruption. I don't know whether such a long name is currently possible. In case snprintf() returns a value >= the buffer size, do not add structured logging information. Also WARN if this happens, so we can fix the driver or increase the buffer size. Signed-off-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 833c95456a70826d1384883b73fd23aff24d366f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 12 09:01:56 2014 +0200 device coredump: add new device coredump class Many devices run firmware and/or complex hardware, and most of that can have bugs. When it misbehaves, however, it is often much harder to debug than software running on the host. Introduce a "device coredump" mechanism to allow dumping internal device/firmware state through a generalized mechanism. As devices are different and information needed can vary accordingly, this doesn't prescribe a file format - it just provides mechanism to get data to be able to capture it in a generalized way (e.g. in distributions.) The dumped data will be readable in sysfs in the virtual device's data file under /sys/class/devcoredump/devcd*/. Writing to it will free the data and remove the device, as does a 5-minute timeout. Note that generalized capturing of such data may result in privacy issues, so users generally need to be involved. In order to allow certain users/system integrators/... to disable the feature at all, introduce a Kconfig option to override the drivers that would like to have the feature. For now, this provides two ways of dumping data: 1) with a vmalloc'ed area, that is then given to the subsystem and freed after retrieval or timeout 2) with a generalized reader/free function method We could/should add more options, e.g. a list of pages, since the vmalloc area is very limited on some architectures. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 638139eb95d2d241781330a321e88c8dafe46078 Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:24 2014 +0200 usb: hub: allow to process more usb hub events in parallel It seems that only choose_devnum() was not ready to process more hub events at the same time. All should be fine if we take bus->usb_address0_mutex there. It will make sure that more devnums will not be chosen for the given bus and the related devices at the same time. Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37ebb54915dc42944f6ae92fe53b9531c3903801 Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:23 2014 +0200 usb: hub: rename khubd to hub_wq in documentation and comments USB hub has started to use a workqueue instead of kthread. Let's update the documentation and comments here and there. This patch mostly just replaces "khubd" with "hub_wq". There are only few exceptions where the whole sentence was updated. These more complicated changes can be found in the following files: Documentation/usb/hotplug.txt drivers/net/usb/usbnet.c drivers/usb/core/hcd.c drivers/usb/host/ohci-hcd.c drivers/usb/host/xhci.c Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59d48b3f1fdf307115af38b91c3ea4ddb57b73a2 Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:22 2014 +0200 usb: hub: rename usb_kick_khubd() to usb_kick_hub_wq() USB hub started to use a workqueue instead of kthread. Let's make it clear from the function names. Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32a6958998c52e2b00c2f6459acf9a1f09f054ad Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:21 2014 +0200 usb: hub: convert khubd into workqueue There is no need to have separate kthread for handling USB hub events. It is more elegant to use the workqueue framework. The workqueue is allocated as freezable because the original thread was freezable as well. Also it is allocated as ordered because the code is not ready for parallel processing of hub events, see choose_devnum(). struct usb_hub is passed via the work item. Therefore we do not need hub_event_list. Also hub_thread() is not longer needed. It would call only hub_event(). The rest of the code did manipulate the kthread and it is handled by the workqueue framework now. kick_khubd is renamed to kick_hub_wq() to make the function clear. And the protection against races is done another way, see below. hub_event_lock has been removed. It cannot longer be used to protect struct usb_hub between hub_event() and hub_disconnect(). Instead we need to get hub->kref already in kick_hub_wq(). The lock is not really needed for the other scenarios as well. queue_work() returns whether it succeeded. We could revert the needed operations accordingly. This is enough to avoid duplicity and inconsistencies. Yes, the removed lock causes that there is not longer such a strong synchronization between scheduling the work and manipulating hub->disconnected. But kick_hub_wq() must never be called together with hub_disconnect() otherwise even the original code would have failed. Any callers are responsible for this. Therefore the only problem is that hub_disconnect() could be called in parallel with hub_event(). But this was possible even in the past. struct usb_hub is still guarded by hub->kref and released in hub_events() when needed. Note that the source file is still full of the obsolete "khubd" strings. Let's remove them in a follow up patch. This patch already is complex enough. Thanks a lot Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> for code review, many useful tips and guidance. Also thanks to Tejun Heo <tj@xxxxxxxxxx> for hints how to allocate the workqueue. Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb6e29248714d767d5338b8b82d286293e8a041a Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:20 2014 +0200 usb: hub: rename hub_events() to hub_event() and handle only one event there We would like to convert khubd kthread to a workqueue. As a result hub_events() will handle only one event per call. In fact, we could do this already now because there is another cycle in hub_thread(). It calls hub_events() until hub_event_list is empty. This patch renames the function to hub_event(), removes the while cycle, and renames the goto targets from loop* to out*. When touching the code, it fixes also formatting of dev_err() and dev_dbg() calls to make checkpatch.pl happy :-) Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d14f323834eeb0cd428bcec4a9cd8d8839467fb Author: Petr Mladek <pmladek@xxxxxxx> Date: Fri Sep 19 17:32:19 2014 +0200 usb: hub: keep hub->dev reference all the time when struct usb_hub lives This is just a small optimization of the fix from the commit c605f3cdff53a743f6 ("usb: hub: take hub->hdev reference when processing from eventlist). We do not need to take the reference for each event. Instead we could get it when struct usb_hub is allocated and put it when it is released. By other words, we could handle it the same way as the reference for hub->intfdev. The motivation is that it will make the life easier when switching from khubd kthread to a workqueue. Suggested-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Petr Mladek <pmladek@xxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3512e7bfea6a459cad84712a021d856bd78cd7e4 Author: Mark Knibbs <markk@xxxxxxxxxxx> Date: Tue Sep 23 12:43:02 2014 +0100 storage: Add quirk for another SCM-based USB-SCSI converter There is apparently another SCM USB-SCSI converter with ID 04E6:000F. It is listed along with 04E6:000B in the Windows INF file for the Startech ICUSBSCSI2 as "eUSB SCSI Adapter (Bus Powered)". The quirk allows devices with SCSI ID other than 0 to be accessed. Also make a couple of existing SCM product IDs lower case to be consistent with other entries. Signed-off-by: Mark Knibbs <markk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57cde01a7b8111cdd43b6a261763aad1ead8161c Author: Mark Knibbs <markk@xxxxxxxxxxx> Date: Tue Sep 23 11:20:17 2014 +0100 storage: Add quirks for Castlewood and Double-H USB-SCSI converters Castlewood Systems supplied various models of USB-SCSI converter with their ORB external removable-media drive. The ORB Windows and Macintosh drivers support six USB IDs: 084B:A001 [VID 084B is Castlewood Systems] 04E6:0002 (*) ORB USB Smart Cable P/N 88205-001 (generic SCM ID) 2027:A001 Double-H Technology DH-2000SC 1822:0001 (*) Ariston iConnect/iSCSI 07AF:0004 (*) Microtech XpressSCSI (25-pin) 07AF:0005 (*) Microtech XpressSCSI (50-pin) *: quirk already in unusual-devs.h [Apparently the official VID for Double-H Technology is 0x07EB = 2027 decimal. That's another hex/decimal mix-up with these SCM-based products (in addition to the Ariston and Entrega ones). Perhaps the USB-IF informed companies of their allocated VID in decimal, but they assumed it was hex? It seems all Entrega products used VID 0x1645, not just the USB-SCSI converter.] Double-H Technology Co., Ltd. produced a USB-SCSI converter, model DH-2000SC, which is probably the one supported by the ORB drivers. Perhaps the Castlewood-bundled product had a different label or PID though? Castlewood mentioned Conmate as being one type of USB-SCSI converter. Conmate and Double-H seem related somehow; both company addresses in the same road, and at one point the Conmate web site mentioned DH-2000H4, DH-200D4/DH-2000C4 as models of USB hub (DH short for Double-H presumably). Conmate did show a USB-SCSI converter model CM-660 on their web site at one point. My guess is that was identical to the DH-2000SC. Mention of the Double-H product: http://web.archive.org/web/20010221010141/http://www.doubleh.com.tw/dh-2000sc.htm The only picture I could find is at http://jp.acesuppliers.com/catalog/j64/component/page03.html The casing design looks the same as my ORB USB Smart Cable which has ID 04E6:0002. Anyway, that's enough rambling. Here's the patch. storage: Add quirks for Castlewood and Double-H USB-SCSI converters Add quirks for two SCM-based USB-SCSI converters which were bundled with some Castlewood ORB removable drives. Without the quirk only the (single) drive with SCSI ID 0 can be accessed. Signed-off-by: Mark Knibbs <markk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bda9893c50fb56253d3c206c14e3f933e5f68b3c Author: Mark Knibbs <markk@xxxxxxxxxxx> Date: Sun Sep 21 19:59:42 2014 +0100 storage: Replace magic number with define in usb_stor_euscsi_init() usb_stor_euscsi_init() calls usb_stor_control_msg() with timeout argument 5000. USB_CTRL_SET_TIMEOUT is defined to be 5000 in usb.h, so would it make sense to use that instead? Patch below if it would. Signed-off-by: Mark Knibbs <markk@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 422d9abf99f12de5eb5fbc0f5bce87ff1066f941 Merge: 2fee8c1 ace8578 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:29:09 2014 -0700 Merge tag 'mvebu-fixes-3.17' of git://git.infradead.org/linux-mvebu into next/fixes-non-critical Merge "mvebu fixes for v3.17" from Jason Cooper: - kirkwood - final driver cleanup of ARCH_KIRKWOOD removal - fix DT based DSA - mvebu - use BCH ECC for the RN2120 and RN104/2 nand chips * tag 'mvebu-fixes-3.17' of git://git.infradead.org/linux-mvebu: ARM: mvebu: Netgear RN102: Use Hardware BCH ECC ARM: Kirkwood: Fix DT based DSA. ARM: mvebu: Netgear RN2120: Use Hardware BCH ECC ARM: mvebu: Netgear RN104: Use Hardware BCH ECC cpufreq: Remove ARCH_KIRKWOOD dependency watchdog: Remove ARCH_KIRKWOOD dependency rtc: Remove ARCH_KIRKWOOD dependency leds: Remove ARCH_KIRKWOOD dependency thermal: Remove ARCH_KIRKWOOD dependency ata: Remove ARCH_KIRKWOOD dependency cpuidle: kirkwood: Remove ARCH_KIRKWOOD dependency commit 14e0e2833d44f61cb8168d04e979a2bfbc0f4bfb Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Sep 6 18:47:28 2014 +0800 dmaengine: sun6i: Remove obsolete clk muxing code The sun6i DMA controller requires the AHB1 bus clock to be clocked from PLL6. This was originally done by the dmaengine driver during probe time. The AHB1 clock driver has since been unified, so the original code does not work. Remove the clk muxing code, and replace it with DT clk default properties. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit fa0510fb215f600df663e31ab6bc027142dee92e Merge: 5f0798c 6051ddd Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:27:38 2014 -0700 Merge tag 'v3.18-rockchip-dts2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Merge "second bunch of dts changes for 3.18" from Heiko Stubner: More peripheral support for Rockchip SoCs - dwc2 usb controllers - spi controllers - emmc controller * tag 'v3.18-rockchip-dts2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: Remove "regulator-always-on" in vcc_rmii for Radxa Rock ARM: dts: rockchip: fix rk3188 emmc pull references ARM: dts: rockchip: fix swapped Radxa Rock pinctrl references ARM: dts: rockchip: clean up rk3xxx mmc nodes ARM: dts: rockchip: add emmc nodes for rk3066 and rk3188 ARM: dts: rockchip: add Cortex-A9 SPI controller nodes ARM: dts: rockchip: enable usb ports on Radxa Rock ARM: dts: rockchip: add dwc2 controllers for rk3066 and rk3188 ARM: dts: rockchip: remove rockchip,bus-index from rk3xxx i2c0 ARM: dts: Switch i2c0 to 400kHz on rk3288-evb-rk808 ARM: dts: Add rk808 PMIC to rk3288-evb-rk808 ARM: dts: Add mshc aliases for rk3288 ARM: dts: Add SPI nodes to rk3288 ARM: dts: Enable USB host1(dwc) on rk3288-evb ARM: dts: add rk3288 dwc2 controller support ARM: dts: Add sdio0 and sdio1 to the rk3288 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5f0798ce4a88e8f787c67f5265d77fc6428e2c88 Merge: 007c7fd aabff7b Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:26:19 2014 -0700 Merge tag 'qcom-dt-for-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/dt Merge "qcom DT changes for v3.18-2" from Kumar Gala: Qualcomm ARM Based Device Tree Updates for v3.18-2 * Added SDCC nodes on MSM8960/CDP and MSM8660/SURF * Added I2C and SDCC4/WLAN on APQ8064/IFC6410 * Added I2C on MSM8984/DB8074 * tag 'qcom-dt-for-3.18-2' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: DT: msm8960: Add sdcc nodes ARM: DT: msm8660: Add sdcc nodes ARM: DT: apq8064: Add i2c device nodes ARM: DT: apq8064: add support to sdcc4 for wlan. ARM: dts: qcom: Add I2C dt node for MSM8974 and DB8074 board Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 007c7fdbdfbb532c1af84770782898e2f7115007 Merge: 8adc36b edb81ca Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:25:39 2014 -0700 Merge tag 'qcom-dt-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom into next/dt Merge "qcom DT changes for v3.18" from Kumar Gala: Qualcomm ARM Based Device Tree Updates for v3.18 * Added APQ8084 dt support for clocks, serial, pinctrl, and IFC6540 board * Added IPQ8064 dt support for basic SoC and AP148 board * Added APQ8064 dt support for pinctrl, reset, SDHC, and multimedia clocks * Added PMIC 8058 dt support on MSM8660, enables PMIC based power key, keypad, rtc, and vibrator * Added PMIC 8921 dt support on MSM8960, enables PMIC based power key, keypad, and rtc * tag 'qcom-dt-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/galak/linux-qcom: ARM: DT: QCOM: apq8064: Add dma support for sdcc node ARM: DT: apq8064: Add sdcc support via mcci driver. ARM: dts: qcom: Add 8064 multimedia clock controller node ARM: DT: APQ8064: Add node for ps_hold function in pinctrl ARM: DT: APQ8064: Add pinctrl support ARM: dts: qcom: Add TLMM DT node for APQ8084 ARM: dts: qcom: Add initial IFC6540 board device tree ARM: dts: msm: Add 8058 PMIC to ssbi bus ARM: dts: msm: Add 8921 PMIC to ssbi bus ARM: qcom: Add initial IPQ8064 SoC and AP148 device trees ARM: dts: qcom: Add APQ8084 serial port DT node ARM: dts: qcom: Add APQ8084 Global Clock Controller DT node Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 5cb307c4c27a9f37ef0c8e6bedc8c53c9197f48f Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 23 22:23:55 2014 -0700 USB: quirks.h: use BIT() Use the BIT macro instead of "open coding" bit fields. This makes it easier to actually see that the bits are not conflicting/overlapping. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37bdaf8291a403fbb17a758cccc566226e3b485a Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:21:54 2014 -0700 ARM: debug: fix alphanumerical order on debug uarts HIP04 was added out of order, but so was the previous HISI debug uart support as well. Minor reshuffling of order. Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit c8bc4dceb798fc18abd45ae7b7d9200009b1b2eb Merge: 0501414 c9a1df4 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:20:10 2014 -0700 Merge tag 'D01-for-3.18' of git://github.com/hisilicon/linux-hisi into next/soc Merge "pull request for hisilicon hip04 soc and D01 board updates" from Wei Xu: ARM: mach-hisi: Hisilicon hip04 soc and D01 board updates for 3.18 - Add the CONFIG_MCPM_QUAD_CLUSTER configuration to enlarge cluster number from 2 to 4 - Enable MCPM on HiP04 SoC - Enable 16 cores on HiP04 SoC - Add platform & Fabric controller devicetree binding document for HiP04 SoC - Add hip04.dtsi & hip04-d01.dts for hip04 SoC platform and D01 board - Enable HiP04 SoC in both hi3xxx_defconfig & multi_v7_defconfig - Add the support of Hisilicon HiP04 debug uart * tag 'D01-for-3.18' of git://github.com/hisilicon/linux-hisi: ARM: debug: add HiP04 debug uart ARM: config: enable hisilicon hip04 ARM: dts: add hip04 dts document: dt: add the binding on HiP04 ARM: hisi: enable HiP04 ARM: hisi: enable MCPM implementation ARM: mcpm: support 4 clusters Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit ddbe1fca0bcb87ca8c199ea873a456ca8a948567 Author: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Date: Fri Sep 19 10:13:50 2014 +0800 USB: Add device quirk for ASUS T100 Base Station keyboard This full-speed USB device generates spurious remote wakeup event as soon as USB_DEVICE_REMOTE_WAKEUP feature is set. As the result, Linux can't enter system suspend and S0ix power saving modes once this keyboard is used. This patch tries to introduce USB_QUIRK_IGNORE_REMOTE_WAKEUP quirk. With this quirk set, wakeup capability will be ignored during device configure. This patch could be back-ported to kernels as old as 2.6.39. Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0501414bd52409464a74d457b576c1666f2eb75c Merge: eec3173 b32c44b Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:15:16 2014 -0700 Merge tag 'renesas-clk2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Second Round of Renesas ARM Based SoC Clk Updates for v3.18" from Simon Horman. * Add r8a7740, sh73a0 SoCs to MSTP bindings * tag 'renesas-clk2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: clk: shmobile: Add r8a7740, sh73a0 SoCs to MSTP bindings Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4463e1526780ad1c4a15ef5d68cdc19315303d44 Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 07:19:48 2014 +0200 usb3503: clarify what the registers 'PDS' and 'CFG1' really do The current comment sounds like you have to disable some of the ports to be able to use self-powered mode. This is misleading, so change the wording to reflect this. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3717c5c9b9ddebcc8c3c612faf395767d462662c Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 07:19:47 2014 +0200 usb3503: fix typos in devicetree binding documentation 'availe' to 'available' 'desribed' to 'described' Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b0844214d1b9b9a09b5811e1965b903c43dd3ca Author: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 07:19:46 2014 +0200 usb3503: correct error message in probe ('connect' to 'interrupt') intn is obviously the interrupt pin. Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6cd244b921973e4ff38f238496cc094142bd444 Author: Mickael Maison <mickael.maison@xxxxxxxxx> Date: Thu Sep 18 11:25:04 2014 +0200 usb: Fixed a few typos Fixed typos in comments of various drivers/usb files Signed-off-by: Mickael Maison <mickael.maison@xxxxxxxxx> Acked-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7adce46784a0992eb7276416798db6746ba8f667 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 5 17:56:25 2014 +0300 USB: storage: use %*ph specifier to dump small buffers Instead of dereference each byte let's use %*ph specifier in the printk() calls. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8adc36bcd374dc7381d15e654215dd1f548ccbef Merge: 96bdd9a d27704d Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:11:05 2014 -0700 Merge tag 'dt-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Merge "omap dts changes for v3.18 merge window" from Tony Lindgren: Changes for .dts files for omaps for v3.18 merge window: - Updates for gta04 to add gta04a3 model - Add support for Tehnexion TAO3530 boards - Regulator names for beaglebone - Pinctrl related updates for omap5, dra7 and am437 - Model name fix for sbc-t54 - Enable mailbox for various omaps * tag 'dt-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (291 commits) ARM: dts: OMAP2+: Add sub mailboxes device node information ARM: dts: dra7-evm: Mark uart1 rxd as wakeup capable ARM: dts: OMAP5 / DRA7: switch over to interrupts-extended property for UART ARM: dts: AM437x: switch to compatible pinctrl ARM: dts: DRA7: switch to compatible pinctrl ARM: dts: OMAP5: switch to compatible pinctrl ARM: dts: am335x-boneblack: Add names for remaining regulators ARM: dts: sbc-t54: fix model property ARM: dts: omap5.dtsi: add DSS RFBI node ARM: dts: omap3: Add HEAD acoustics omap3-ha.dts and omap3-ha-lcd.dts (TAO3530 based) ARM: dts: omap3: Add Technexion Thunder support (TAO3530 SOM based) ARM: dts: omap3: Add Technexion TAO3530 SOM omap3-tao3530.dtsi ARM: OMAP2+: tao3530: Add pdata-quirk for the mmc2 internal clock ARM: OMAP2+: board-generic: add support for AM57xx family ARM: dts: dra72-evm: Add tps65917 PMIC node ARM: dts: dra72-evm: Enable I2C1 node Linux 3.17-rc3 unicore32: Fix build error vexpress/spc: fix a build warning on array bounds spi: sh-msiof: Fix transmit-only DMA transfers ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 791cc88c57b524b4267a9ea550b5306749fc7479 Merge: 9cdf6bd 75288cc Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:10:18 2014 -0700 Merge tag 'mailbox-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers Mailbox related changes for omaps to get it to work with device tree. * tag 'mailbox-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: mailbox/omap: add support for parsing dt devices Documentation: dt: add omap mailbox bindings Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 9cdf6bd51030e8b80b752adc016719a5b5d75d50 Merge: 4693c72 55601c9f Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:08:40 2014 -0700 Merge tag 'intc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers Merge "omap intc changes for v3.18 merge window" from Tony Lindgren: Interrupt code related clean-up for omap2 and 3 to make it ready to move to drivers/irqchip. Note that this series does not yet move the interrupt code to drivers, that will be posted separately as a follow-up series. Note that this branch has a dependency to patches both in fixes-v3.18-not-urgent and soc-for-v3.18 and is based on a merge. Without doing the merge, off-idle would not work properly for git bisect. * tag 'intc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (325 commits) arm: omap: intc: switch over to linear irq domain arm: omap: irq: get rid of ifdef hack arm: omap: irq: introduce omap_nr_pending arm: omap: irq: remove nr_irqs argument arm: omap: irq: remove unnecessary header arm: omap: irq: drop omap2_intc_handle_irq() arm: omap: irq: drop omap3_intc_handle_irq() arm: omap: irq: call set_handle_irq() from .init_irq arm: omap: irq: move some more code around arm: boot: dts: omap2/3/am33xx: drop ti,intc-size arm: omap: irq: drop ti,intc-size support arm: boot: dts: am33xx/omap3: fix intc compatible flag arm: omap: irq: use compatible flag to figure out number of IRQ lines arm: omap: irq: add specific compatibles for omap3 and am33xx devices arm: omap: irq: drop .handle_irq and .init_irq fields arm: omap: irq: use IRQCHIP_DECLARE macro arm: omap: irq: call set_handle_irq() from intc_of_init arm: omap: irq: make intc_of_init static arm: omap: irq: reorganize code a little bit arm: omap: irq: always define omap3 support ... Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 13d79f223ff369970f3c9b402035125dd3c9cc00 Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Wed Sep 3 23:50:31 2014 +0800 drivers/usb/host/ehci-xilinx-of.c: Include "linux/of_irq.h" to avoid compiling error Need include it for irq_of_parse_and_map(), the related error with allmodconfig under microblaze: drivers/usb/host/ehci-xilinx-of.c: In function â??ehci_hcd_xilinx_of_probeâ??: drivers/usb/host/ehci-xilinx-of.c:156:2: error: implicit declaration of function â??irq_of_parse_and_mapâ?? [-Werror=implicit-function-declaration] irq = irq_of_parse_and_map(dn, 0); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Michal Simek <monstr@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 275e517c30ab23d6da332419b6da5e2d5a234891 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:40:15 2014 -0500 usb: wusbcore: fix device disconnect on rekey timeout If three or more wireless devices are connected and two of them disconnect between 1-3 seconds apart, it can cause the HWA to disconnect the remaining devices due to failing to see a DN_Alive message from them. This happens because when the HWA detects that the first device is gone, it will attempt to rekey the remaining devices. If one of the devices is not responding because it has also been disconnected but not yet timed out, the synchronous rekey operation running on the wusbd workqueue can block for up to 5 seconds. This will prevent the KEEPALIVE timer from running and DN_Alive messages from being processed because they are processed by the same workqueue. This patch moves the rekey operation to a separate workqueue since it is the only wusb work item that needs to communicate directly with wireless devices. The rest of the WUSB work items either perform no device IO or communicate directly with the host controller and should not be blocked out by a non-responding wireless device. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b94be0db5b17fe5616ecfc4c064264625f92afb2 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:36:02 2014 -0500 usb: wusbcore: skip done segs before completing aborted transfer When completing an aborted transfer, skip done segs before calling wa_complete_remaining_xfer_segs to avoid a runtime warning. The warning is harmless in this case but avoiding it prevents false error reports. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f55025289cf7b5694d5c8af13c512660196ee285 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:25:26 2014 -0500 usb: wusbcore: USB_WUSB_CBAF depends on USB Add USB build dependency for USB_WUSB_CBAF. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f8ba4736af60e8e6a8daceb89a154b53d18c79 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:25:25 2014 -0500 usb: wusbcore: remove USB_WUSB build dependency on PCI Wireless USB does not require PCI so remove USB_WUSB build dependency on PCI. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbb671992b7a9c8467917f4a1eba9784650703e6 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:25:24 2014 -0500 usb: hwa: add USB build dependency for USB_HWA_HCD An HWA is a USB device so it depends on USB. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 534574bb462d044bd6e19471597672302625bd5e Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:10:51 2014 -0500 uwb: doc: add documentation for ASIE sysfs attribute Document the /sys/class/uwb_rc/uwbN/ASIE sysfs attribute Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d08e1ad994afb70daf4ebf340f50425c1c5a2b75 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 16:10:50 2014 -0500 uwb: add an ASIE sysfs attribute to uwb_rc devices Allow user mode to add and remove application specific information elements (ASIEs) to the beacon of a uwb_rc device. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 005799d560769bca8d87b08502c34317ab5e3bcd Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 15:53:09 2014 -0500 uwb: doc: bring uwb documentation up to date The existing UWB documentation states that UWB devices show up in /sys/class/uwb and /sys/bus/uwb/devices. Up until the most recent changes to add uwb devices to their own bus, neither of these statements were actually true. Now, UWB devices do show up in /sys/bus/uwb/devices so the documentation has been updated to reflect that and removed references to /sys/class/uwb. The existing documentation also states that local UWB radio controller (RC) devices also show up as UWB devices along with their wireless peer UWB devices under /sys/class/uwb. This is not true so that statement has been removed. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 848879340a7d220fd9801396eba82ecac2f2a739 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 15:53:08 2014 -0500 uwb: create a uwb bus type and add in-range peer devices to it Documentation/usb/WUSB-Design-overview.txt states that UWB devices seen by a UWB radio controller are added to /sys/bus/uwb/devices, but this was not actually being done. This functionality is needed in order for UWB peer devices to be enumerated by user mode tools. This patch creates a uwb bus type and adds UWB peer devices to it as they are discovered by the radio controller. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58e4ab3eb02c77e11eae1555e4d635a058afb629 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 15:40:04 2014 -0500 uwb: remove UWB build dependency on PCI UWB does not require PCI to be enabled so remove build dependency. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e53582bbb53c91342f0a80add9c689e75cd9b564 Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 15:40:03 2014 -0500 uwb: update uwb device prints to be more useful Print info about the radio controller device instead of the its parent when UWB devices connect and disconnect. Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eec317319ded3de245ca270a77cb83f523312575 Merge: 60f9126 377fb3f Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:04:19 2014 -0700 Merge tag 'soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc SoC related changes for omaps for v3.18 merge window: - PM changes to make the code easier to use on newer SoCs - PM changes for newer SoCs suspend and resume and wake-up events - Minor clean-up to remove dead Kconfig options Note that these have a dependency to the fixes-v3.18-not-urgent tag and is based on a commit in that series. * tag 'soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (514 commits) ARM: OMAP5+: Reuse OMAP4 PM code for OMAP5 and DRA7 ARM: dts: OMAP3+: Add PRM interrupt ARM: omap: Remove stray ARCH_HAS_OPP references ARM: DRA7: Add hook in SoC initcalls to enable pm initialization ARM: OMAP5: Add hook in SoC initcalls to enable pm initialization ARM: OMAP5 / DRA7: Enable CPU RET on suspend ARM: OMAP5 / DRA7: PM: Provide a dummy startup function for CPU hotplug ARM: OMAP5 / DRA7: PM: Avoid all SAR saves ARM: OMAP5 / DRA7: PM: Enable Mercury retention mode on CPUx powerdomains ARM: OMAP5 / DRA7: PM / wakeupgen: Enables ES2 PM mode by default ARM: OMAP5 / DRA7: PM: Set MPUSS-EMIF clock-domain static dependency ARM: OMAP5 / DRA7: PM: Update CPU context register offset ARM: AM437x: use pdata quirks for pinctrl information ARM: DRA7: use pdata quirks for pinctrl information ARM: OMAP5: use pdata quirks for pinctrl information ARM: OMAP4+: PM: Use only valid low power state for CPU hotplug ARM: OMAP4+: PM: use only valid low power state for suspend ARM: OMAP4+: PM: Make logic state programmable ARM: OMAP2+: powerdomain: introduce logic for finding valid power domain ARM: OMAP2+: powerdomain: pwrdm_for_each_clkdm iterate only valid clkdms ... commit 9282502044ce1db0e807fb4db09e66cbbcdd2b3d Author: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Date: Tue Sep 16 15:40:02 2014 -0500 uwb: line length cleanup Fix line length in uwb-internal.h Signed-off-by: Thomas Pugliese <thomas.pugliese@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f8c0602ea75a48c3fd3e9ccd7b54b34ce68e71f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:26 2014 +0200 wusb: delete double assignment Delete successive assignments to the same location. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2fee8c1dd07260329e9788984b79b099456a9d11 Merge: 01100c0 3195760 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 22:03:03 2014 -0700 Merge tag 'fixes-v3.18-not-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/fixes-non-critical Merge "non-urgent omap fixes for v3.18 merge window" from Tony Lindgren: Fixes for omaps that were not considered urgent enough for the -rc cycle: - Fixes for .dts files to differentiate panda and beaglebone versions - Powerdomain fixes from Nishant Menon mostly for newer omaps - Fixes for __initconst and of_device_ids const usage * tag 'fixes-v3.18-not-urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: make of_device_ids const ARM: omap2: make arrays containing machine compatible strings const ARM: OMAP4+: PM: Use only valid low power state for CPU hotplug ARM: OMAP4+: PM: use only valid low power state for suspend ARM: OMAP4+: PM: Make logic state programmable ARM: OMAP2+: powerdomain: introduce logic for finding valid power domain ARM: OMAP2+: powerdomain: pwrdm_for_each_clkdm iterate only valid clkdms ARM: OMAP5: powerdomain data: fix powerdomain powerstate ARM: OMAP: DRA7: powerdomain data: fix powerdomain powerstate ARM: dts: am335x-bone*: Fix model name and update compatibility information ARM: dts: omap4-panda: Fix model and SoC family details + Linux 3.17-rc3 Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 4693c723f713a11c9ef3cecdea295e824bf57901 Merge: 2f83c3d b052ff3 Author: Olof Johansson <olof@xxxxxxxxx> Date: Tue Sep 23 21:58:35 2014 -0700 Merge tag 'at91-drivers2' of git://github.com/at91linux/linux-at91 into next/drivers Merge " Second drivers series for AT91/3.18" from Nicolas Ferre: - move of the PIT (basic timer) from mach-at91 to its proper location: drivers/clocksource - big cleanup of this driver along the way * tag 'at91-drivers2' of git://github.com/at91linux/linux-at91: ARM: at91: PIT: Move the driver to drivers/clocksource ARM: at91: Give the PIT irq as an argument of at91sam926x_pit_init ARM: at91: Convert the boards to the init_time callback ARM: at91: soc: Add init_time callback ARM: at91: PIT: (Almost) remove the global variables ARM: at91: PIT: use request_irq instead of setup_irq ARM: at91: PIT: Use pr_fmt ARM: at91: PIT: Use consistent exit path in probe ARM: at91: dt: Remove init_time definitions ARM: at91: PIT: Rework probe functions ARM: at91: PIT: Use of_have_populated_dt instead of CONFIG_OF ARM: at91: PIT: Use DIV_ROUND_CLOSEST to compute the cycles ARM: at91: generic.h: Add include safe guards ARM: at91: PIT: Follow the general coding rules Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 2b6127ddefb33c339b4f1effcefc788fdd3d7679 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 1 16:24:40 2014 +0200 usb: renesas_usbhs: fix driver dependencies Renesas USBHS controller support should be available only on Renesas ARM SoCs and SuperH architecture. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2db941623d5cf9e421455879393dd1d2e55c65b7 Author: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Date: Mon Sep 22 11:16:19 2014 +0530 usb: host: ohci-exynos: Remove unnecessary usb-phy support Now that we have completely moved from older USB-PHY drivers to newer GENERIC-PHY drivers for PHYs available with USB controllers on Exynos series of SoCs, we can remove the support for the same in our host drivers too. We also defer the probe for our host in case we end up getting EPROBE_DEFER error when getting PHYs. Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 113ad911ad4a1ccbd0eaf6926b75b0ec77510c14 Author: Arjun Sreedharan <arjun024@xxxxxxxxx> Date: Tue Aug 19 04:23:34 2014 +0530 usb: misc: yurex: remove useless casting of private_data Signed-off-by: Arjun Sreedharan <arjun024@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cffb9be80f8a6d51d025780864c781ba83541720 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:51 2014 +0300 xhci: Log extra info on "ERROR Transfer event TRB DMA ptr not part of current TD" Lately (with the use of uas / bulk-streams) we have been seeing several cases where this error triggers (which should never happen). Add some extra logging to make debugging these errors easier. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f85c9fb62c59b78a1169b269f4ca697b1e06ee98 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:54 2014 +0300 xhci: Remove "FIXME - check all the stream rings for pending cancellations" Even though a Set TR deq ptr command operates on a ring, and an endpoint can have multiple rings, we can have only one Set TR deq ptr command pending. When an endpoint with streams halts or is stopped to unlink urbs, there will only be at most one ring active / one td being executed (the td stopped_td points to). So when we reset the endpoint (for a halt), or the stop command completes, we will queue one Set TR deq ptr command at most, cancelled urbs on other stream rings then the one being executed will have there trbs turned to nops, and once the hcd gets around to execute that stream ring they will be simply skipped. So the SET_DEQ_PENDING flag in the endpoint is sufficient protection against starting the endpoing before all stream rings are cleaned up. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d4976ec8ec17f331a094e3d6dd3917f4c8dd1ce Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:55 2014 +0300 xhci: Always ring the doorbell for active eps when a Set TR deq ptr cmd completes Even if the stream for which the command was intended has been freed in the mean time. This ensures that things start rolling again after an unlink / halt. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3a43e66e02571ada527e0ea9e34a786b048849a Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:53 2014 +0300 xhci: Fold queue_set_tr_deq into xhci_queue_new_dequeue_state xhci_queue_new_dequeue_state is the only caller of queue_set_tr_deq and queue_set_tr_deq checks for SET_DEQ_PENDING, where as xhci_queue_new_dequeue_state sets it which is inconsistent. Simply fold the 2 into one is a nice cleanup and fixes the inconsistency. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7f9696bd1b170dbff44b1b374b1473278bd2c53 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:56 2014 +0300 xhci: xhci_ring_device: Ring stream ring bells for endpoints with streams Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14e61a1bd986ac35be92c2dfb631a03a7c03abf4 Author: Al Cooper <alcooperx@xxxxxxxxx> Date: Wed Aug 20 16:41:57 2014 +0300 usb: xhci_suspend is not stopping the root hub timer for the shared HCD V2 - Restart polling (which will restart the timer) for the shared HCD in xhci_resume(). xhci_suspend() will stop the primary HCD's root hub timer, but leaves the shared HCD's timer running. This change adds stopping of the shared HCD timer. Signed-off-by: Al Cooper <alcooperx@xxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e3452e3f08c5af7fb4b08551aaa96b6627c7416 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Aug 20 16:41:52 2014 +0300 xhci: Move allocating of command for new_dequeue_state to queue_set_tr_deq() There are multiple reasons for this: 1) This fixes a missing check for xhci_alloc_command failing in xhci_handle_cmd_stop_ep() 2) This adds a warning when we cannot set the new dequeue state because of xhci_alloc_command failing 3) It puts the allocation of the command after the sanity checks in queue_set_tr_deq(), avoiding leaking the command if those fail 4) Since queue_set_tr_deq now owns the command it can free it if queue_command fails 5) It reduces code duplication Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fac1f48584c1b6c745412cf8c5dbdc1725aad8f2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:51 2014 +0200 uas: Add response iu handling If something goes wrong in our communication with an uas device we may get a response iu in reaction to a cmnd, rather then a status iu. In this case propagate an error upwards, rather then logging a bogus iu message. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce39fe6fa115d9fea0112c907773a400b98d2463 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:50 2014 +0200 uas: Log error codes when logging errors Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ad7ed5af3d85d0d8b3cdc5a4b823272b85c46cf Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:49 2014 +0200 uas: Cleanup uas_log_cmd_state usage Instead of doing: uas_log_cmd_state(cmnd, __func__) scmd_printk(KERN_ERR, cmnd, "error doing foo %d\n", err) On error, resulting in 2 log calls for a single error, make uas_log_cmd_state take a status code, and change calls like the above to: uas_log_cmd_state(cmnd, "error doing foo", err) Also change various sanity checks (which should never trigger) from: "scmd_printk(KERN_ERR, cmnd, "sanity foo failed\n")" to calling the new uas_log_cmd_state(), so that when they do trigger we get more info. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 102c00cb91f36f6f7afa6658b2436b04fb3d95b3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:48 2014 +0200 uas: Remove protype hardware usb interface info We've removed all hack from the driver for pre-production hardware. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ad22cfc13399cc46267e5685769d6e7a0bbe163 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:47 2014 +0200 uas: Remove support for old sense ui as used in pre-production hardware I've access to a number of different uas devices now, and none of them use old style sense urbs. The only case where these code-paths trigger is with the asm1051 and there they do the wrong thing, as the asm1051 sends 8 bytes status iu-s when it does not have any sense data, but uses new style sense iu-s regardless, as can be seen for scsi cmnds where there is sense data. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb7d664ae459114cbbee8ecef17f90b9c71d994c Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:46 2014 +0200 uas: Drop COMMAND_COMPLETED flag It was only used to sanity check against completing the same cmnd twice, but that is the case we're likely operating on free-ed memory, and doing sanity checks on free-ed memory is not really helpful. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6dcd8ec24052fefb7faee80b6ccc8ada860e33d7 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:45 2014 +0200 uas: Use scsi_print_command Use scsi_print_command to print commands during errors, rather then printing the rather meaningless pointer to the command. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51b361737bcec832ea07650e27f93098e44c834b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:44 2014 +0200 uas: Do not log urb status error on cancellation Check for both type of cancellation codes for sense and data urbs. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5e558192f01857254938349f78cd492daee7d72 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:43 2014 +0200 uas: Use streams on upcoming 10Gbps / 3.1 USB Limit the no-streams case to speeds less then USB_SPEED_SUPER. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9dc024a2da1fe6b0ce180b89fac085e1255a932 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:42 2014 +0200 uas: pre_reset and suspend: Fix a few races The purpose of uas_pre_reset is to: 1) Stop any new commands from being submitted while an externally triggered usb-device-reset is running 2) Wait for any pending commands to finish before allowing the usb-device-reset to continue The purpose of uas_suspend is to: 2) Wait for any pending commands to finish before suspending This commit fixes races in both paths: 1) For 1) we use scsi_block_requests, but the scsi midlayer calls queuecommand without holding any locks, so a queuecommand may already past the midlayer scsi_block_requests checks when we call it, add a check to uas_queuecommand to fix this 2) For 2) we were waiting for all sense-urbs to complete, there are 2 problems with this approach: a) data-urbs may complete after the sense urb, so we need to check for those too b) if a sense-urb completes with a iu id of READ/WRITE_READY a command is not yet done. We submit a new sense-urb immediately in this case, but that submit may fail (in which case it will get retried by uas_do_work), if this happens the sense_urbs anchor may become empty while the cmnd is not yet done Also unblock requests on timeout, to avoid things getting stuck in that case. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4c5481efb4346948ba7034432f86235a16ac9180 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:41 2014 +0200 uas: Fix memleak of non-submitted urbs Not all urbs we've allocated are necessarily also submitted, non-submitted urbs will not be free-ed by their completion handler. So we need to free them manually. There are 2 scenarios where this can happen: 1) We have failed to submit some urbs at abort / disconnect 2) When running over usb-2 we may have never tried to submit the data urbs when completing the scsi cmnd, because we never got a READ/WRITE_READY iu Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 616f0e6cab4698309ff9e48ee2a85b5eb78cf31a Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:40 2014 +0200 uas: Drop all references to a scsi_cmnd once it has been aborted Do not keep references around to a cmnd which is under error handling. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6823c51fcd82e993275f5403e120279232ecaec Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:39 2014 +0200 uas: Remove cmnd reference from the cmd urb It is not strictly necessary for the cmd urb to have a reference to the cmnd, and without this reference it becomes easier to drop all references to a cmnd on an abort. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43cd99cb178ce3d0a1fb6faa898b30be6dcbc8b5 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:38 2014 +0200 uas: Drop inflight list We've the same info doubled in both the inflight list and the cmnd array, drop the list. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c15c5738b5219fdc273e8923b2c1a9d5e8ce3b3 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:37 2014 +0200 uas: zap_pending: data urbs should have completed at this time The data urbs are all killed before calling zap_pending, and their completion handler should have cleared their inflight flag. Do not 0 the data inflight flags, and add a check for try_complete succeeding, as it should always succeed when called from zap_pending. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1589349f74d669b767bc0971fb21372ad300452e Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:36 2014 +0200 uas: Simplify reset / disconnect handling Drop the whole dance with first moving cmnds to a dead-list. The resetting flag ensures that no new cmds / urbs will be submitted, and that any urb completions are short-circuited without trying to complete the scsi cmnd. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85fea82554ee74f0a2e17729a3911865df5fbba0 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:35 2014 +0200 uas: Free data urbs on completion Now that we no longer drop our lock to unlink the data urbs, we can simply free them on completion, making their handling consistent with the other urbs. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 60d9f67d478e7c8ed09e3a6888b29aca2d978979 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:34 2014 +0200 uas: Simplify unlink of data urbs on error There is no need for all the trickery with dropping the lock, we can simply reference the urbs while we hold the lock to ensure the urbs don't disappear beneath us, and do the actual unlink (+ unreference) after we've dropped the lock. This also fixes a race where we may loose of cmnd ownership to the scsi midlayer without holding the lock due to the midlayer re-claiming ownership through an abort (which will be handled by a future patch in this series). Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d89da03acec19b39506f3ef32e09134b50b4adb9 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:33 2014 +0200 uas: Check against unexpected completions The status urb should not complete before the command has been submitted, nor should we get a second status urb for the same tag after a IU_ID_STATUS. Data urbs should not complete before the command has been submitted, but may complete after the IU_ID_STATUS. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e61aede477ee108de3f9e57f19cacd8ce3ffe52 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:32 2014 +0200 uas: Do not use scsi_host_find_tag Using scsi_host_find_tag with tags returned by the device is unsafe for multiple reasons: 1) It returns tags->rqs[tag], which may be non NULL even when the cmnd is not owned by us 2) It returns tags->rqs[tag], without holding any locks protecting it 3) It returns tags->rqs[tag], without doing any boundary checking Instead keep our own list which maps tags -> inflight cmnds. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0620001e4e318d85ebf43a95eec15fae26ed706 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:31 2014 +0200 uas: Add uas_get_tag() helper function Factor out the mapping of scsi-tags -> uas-tags/stream-ids to a helper function so that there is a single place where this "magic" happens. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7b5d11fae766ee0e92821df2694c41f15f98954 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:30 2014 +0200 uas: Fix resetting flag handling - Make sure we always hold the lock when setting / checking resetting - Check resetting before checking urb->status - Add missing check for resetting to uas_data_cmplt - Add missing check for resetting to uas_do_work Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5df2be63332a661a8d7234ca15c23bc48ed8e2a2 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sat Sep 13 12:26:29 2014 +0200 uas: Remove task-management / abort error handling code There are various bug reports about oopses / hangs with the uas driver, which all point to the abort-command and logical-unit-reset (task-management) error handling paths. Getting these right is very hard, there are quite a few corner cases, and testing is almost impossible since under normal operation these code paths are not used at all. Another problem is that there are also some cases where it simply is not clear what to do at all. E.g. over usb-2 multiple outstanding commands share the same endpoint. What if a command gets aborted while its sense urb is half way through completing (so some data has been transfered but not all). Since the urb is not yet complete we don't know if the sense urb is actually for this command, or for one of the other oustanding commands. If it is for one of the other commands and we cancel it, then we end up in an undefined state. But if it is actually for the command we're aborting, and the abort succeeds, then it may never complete... This exact same problem applies to logical unit resets too, if there are multiple luns, then commands outstanding on both luns share the sense endpoint. If there is only a single lun, then doing a logical unit reset is little better then doing a full usb device reset. So summarizing because: 1) abort / lun-reset is very tricky to get right 2) Not being able to test the tricky code, which means it will have bugs 3) This being a code path which under normal operation will never happen, so being slow / sub-optimal here is not really an issue 4) Under error conditions we will still be able to recover through usb device resets. 5) This may be a bit slower in some cases, but this is actually faster in cases where the bridge ship has locked up, which seems to be the most common error case sofar. This commit removes the abort / lun-reset error handling paths, and also the taks-mgmt code since those are the only 2 task-mgmt users. Leaving only the (tested and testable) usb-device-reset error handling path in place. Note I realize that this is somewhat of a big hammer, but currently people are seeing very hard to debug oopses with uas. First let focus on making uas work reliable, then we can later look into adding more fine grained error handling. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 710f1bf16ab1b1558f099b62c5011c4cbba6a7bb Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 23 15:48:50 2014 +0200 uas: Add another ASM1051 usb-id to the uas blacklist As most ASM1051 based devices, this one has unfixable issues with uas too. Cc: stable@xxxxxxxxxxxxxxx # 3.16 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9554a6b199360c2f888173fd600e1eb7ff165ef Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Wed Sep 17 10:10:58 2014 +0200 uas: Add US_FL_NO_ATA_1X quirk for Seagate (0bc2:ab20) drives https://bbs.archlinux.org/viewtopic.php?pid=1457492 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 734016b00b50a3c6a0e1fc1b7b217e783f5123a1 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Tue Sep 16 18:36:52 2014 +0200 uas: Add no-report-opcodes quirk Besides the ASM1051 (*) needing sdev->no_report_opcodes = 1, it turns out that the JMicron JMS567 also needs it to work properly with uas (usb-storage always sets it). Since some of the scsi devs were not to keen on the idea to outrightly set sdev->no_report_opcodes = 1 for all uas devices, so add a quirk for this, and set it for the JMS567. *) Which has become a non-issue since we've completely blacklisted uas on the ASM1051 for other reasons Cc: stable@xxxxxxxxxxxxxxx Reported-and-tested-by: Claudio Bizzarri <claudio.bizzarri@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 593078525c8b234a35a36ff551b8716464e86481 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Mon Sep 15 16:04:12 2014 +0200 uas: Add a quirk for rejecting ATA_12 and ATA_16 commands And set this quirk for the Seagate Expansion Desk (0bc2:2312), as that one seems to hang upon receiving an ATA_12 or ATA_16 command. https://bugzilla.kernel.org/show_bug.cgi?id=79511 https://bbs.archlinux.org/viewtopic.php?id=183190 While at it also add missing documentation for the u value for usb-storage quirks. Cc: stable@xxxxxxxxxxxxxxx # 3.16, 3.17 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> -- Changes in v2: Add documentation for new t and u usb-storage.quirks flags Changes in v3: Fix typo in documentation Changes in v4: Also apply the quirk to (0bc2:3312) Changes in v5: Rebased on 3.17-rc5, drop u documentation, already upstream Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab945eff8396bc3329cc97274320e8d2c6585077 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Tue Aug 12 12:10:21 2014 +0530 uas: replace WARN_ON_ONCE() with lockdep_assert_held() on some architecture spin_is_locked() always return false in uniprocessor configuration and therefore it would be advise to replace with lockdep_assert_held(). Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62f6f0863e5b304284bcf9b80e12ec1bd4f01c9a Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 13:04:48 2014 +0100 MAINTAINERS: Add ehci-st.c and ohci-st.c to ARCH/STI architecture This patch adds the ehci-st.c and ohci-st.c files for the usb 2.0 & usb1.1 host controller drivers found on stih41x and stih4xx STMicroelectronics SoC's into the STI arch section of the maintainers file. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 554405d4591f2ee6249571f720ff7e12ac35ff5b Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 13:04:47 2014 +0100 usb: host: ohci-st: Add ohci-st devicetree bindings documentation This patch documents the device tree bindings required for the ohci on-chip controller found in ST consumer electronics SoC's. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fee1dc0282ca7bc4077b886502a4bd5247d98e89 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 13:04:46 2014 +0100 usb: host: ehci-st: Add ehci-st devicetree bindings documentation This patch documents the device tree bindings required for the ehci on-chip controller found in ST consumer electronics SoC's. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d115837259ada33cb66e8fedc365d58d2cc8df38 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 13:04:45 2014 +0100 usb: host: ohci-st: Add OHCI driver support for ST STB devices This patch adds the glue code required to ensure the on-chip OHCI controller works on STi consumer electronics SoC's from STMicroelectronics. It mainly manages the setting and enabling of the relevant clocks and manages the reset / power signals to the IP block. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e47c5a0906f9a5792988786c8a186e9f5880f622 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Mon Sep 8 13:04:44 2014 +0100 usb: host: ehci-st: Add EHCI support for ST STB devices This patch adds the glue code required to ensure the on-chip EHCI controller works on STi consumer electronics SoC's from STMicroelectronics. It mainly manages the setting and enabling of the relevant clocks and manages the reset / power signals to the IP block. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae7c798d6b482682d1fa05b42ad02e3bdade07aa Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Aug 5 14:01:35 2014 +0200 USB: isp1362: Use devm_ioremap_resource Use devm_ioremap_resource to simplify error handling in the probe function and to get rid of some boilerplate in the remove function. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b760017076235f09de33b3c4c193fe934800bbc6 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Sep 22 08:14:18 2014 +0800 of: add vendor prefix for Chipidea Adds chipidea to the list of DT vendor prefixes. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19353881b4afc9e2351fa8987b8fa2921587e0d6 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Sep 22 08:14:17 2014 +0800 usb: chipidea: enhance kernel-doc format Some kernel-doc style comment are not satisfied for format, fix them. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27c62c2da177178771517744acaced08767214e2 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Mon Sep 22 08:14:16 2014 +0800 usb: chipidea: otg initialization is only needed when the gadget is supported We have only needed to enable otg initialization when both of below conditions are satisfied: - The controller is otg capable - The gadget function is enabled If the controller is otg capable, but is host-only configuration, we do not need to access register otgsc and do any otg operations (eg, create otg workqueue). Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f40017e0f3325b4c42139f54748ac4f0bbed3c52 Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Sep 22 08:14:15 2014 +0800 chipidea: usbmisc_imx: Add USB support for VF610 SoCs This adds Vybrid VF610 SoC support. The IP is very similar to i.MX6, however, the non-core registers are spread in two different register areas. Hence we support multiple instances of the USB misc driver and add the driver instance to the imx_usbmisc_data structure. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0e602dbf39eef7af75a84a8a354eade6be6a9ff Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:57 2014 +0800 doc: dt-binding: ci-hdrc-imx: add TPL support TPL (Targeted Peripheral List) is needed for targets host (OTG and Embedded Hosts) for usb certification and other vendor specific requirements. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6a9ff07832a9d30d457e976e6233b4351cd4cdf Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:56 2014 +0800 usb: chipidea: add TPL support for targeted hosts For OTG and Embedded hosts, they may need TPL (Targeted Peripheral List) for usb certification and other vender specific requirements, the platform can tell chipidea core driver if it supports tpl through DT or platform data. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05f8b35a62efb8e70ebcd78e9c957324e9caddad Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:55 2014 +0800 usb: common: add API to get if the platform supports TPL The TPL (Targeted Peripheral List) is used for targeted hosts (non-PC hosts), and it can be used at USB OTG & EH certification and some specific products which need white list. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9bd0181c74527dbfd3a63ffef412b5d1c660d7e4 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:54 2014 +0800 usb: core: Kconfig: TPL should apply for both OTG and EH Update configuration for USB_OTG_WHITELIST, any targeted hosts (non PC-hosts) can have TPL (Targered Peripheral List). Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 026f3fcbb0fc516e0fd3467318f13a6144e519a7 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:53 2014 +0800 usb: core: TPL should apply for both OTG and EH According to On-The-Go and Embedded Host Supplement to the USB Revision 2.0 Specification, the targeted hosts (non-PC hosts) include both embedded hosts and otg, and each targeted host product defines the set of supported peripherals on a TPL (Targeted Peripheral List). So, TPL should apply for both OTG and embedded host, and the otg support is not a must for embedded host. The TPL support feature will only be effect when CONFIG_USB_OTG_WHITELIST has been chosen and hcd->tpl_support flag is set, it can avoid the enumeration fails problem for the user who chooses CONFIG_USB_OTG_WHITELIST wrongly. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2693b430b33d9554daa0f21fbcae57633f8d4f1 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Aug 19 09:51:52 2014 +0800 usb: hcd: add TPL support flag The targeted hosts (non-PC hosts) need to have TPL (Targeted Peripheral List) for USB OTG & EH certification and other vendor specific requirements. The platform who needs TPL feature should set this flag at usb host controller driver. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99416322dd16b810ba74098cc50ef2a844091d35 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:36 2014 -0400 tty: Workaround Alpha non-atomic byte storage in tty_struct The Alpha EV4/EV5 cpus can corrupt adjacent byte and short data because those cpus use RMW to store byte and short data. Thus, concurrent adjacent byte stores could become corrupted, if serialized by a different lock. tty_struct uses different locks to protect certain fields within the structure, and thus is vulnerable to byte stores which are not atomic. Merge the ->ctrl_status byte and packet mode bit, both protected by the ->ctrl_lock, into an unsigned long. The padding bits are necessary to force the compiler to allocate the type specified; otherwise, gcc will ignore the type specifier and allocate the minimum number of bytes required to store the bitfield. In turn, this would allow Alpha EV4/EV5 cpus to corrupt adjacent byte or short storage (because those cpus use RMW to store byte and short data). gcc versions < 4.7.2 will also corrupt storage adjacent to bitfields smaller than unsigned long on ia64, ppc64, hppa64, and sparc64, thus requiring more than unsigned int storage (which would otherwise be sufficient to fix the Alpha non-atomic storage problem). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c274f6ef1c6665632767d32e4ab912aad839ce27 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:35 2014 -0400 tty: Hold termios_rwsem for tcflow(TCIxxx) While transmitting a START/STOP char for tcflow(TCION/TCIOFF), prevent a termios change. Otherwise, a garbage in-band flow control char may be sent, if the termios change overlaps the transmission setup. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 136d5258b2bc4ffae99cb69874a76624c26fbfad Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:34 2014 -0400 tty: Move and rename send_prio_char() as tty_send_xchar() Relocate the file-scope function, send_prio_char(), as a global helper tty_send_xchar(). Remove the global declarations for tty_write_lock()/tty_write_unlock(), as these are file-scope only now. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c545b66c6922b002b5fe224a6eaec58c913650b5 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:33 2014 -0400 tty: Serialize tcflow() with other tty flow control changes Use newly-introduced tty->flow_lock to serialize updates to tty->flow_stopped (via tcflow()) and with concurrent tty flow control changes from other sources. Merge the storage for ->stopped and ->flow_stopped, now that both flags are serialized by ->flow_lock. The padding bits are necessary to force the compiler to allocate the type specified; otherwise, gcc will ignore the type specifier and allocate the minimum number of bytes necessary to store the bitfield. In turn, this would allow Alpha EV4 and EV5 cpus to corrupt adjacent byte storage because those cpus use RMW to store byte and short data. gcc versions < 4.7.2 will also corrupt storage adjacent to bitfields smaller than unsigned long on ia64, ppc64, hppa64 and sparc64, thus requiring more than unsigned int storage (which would otherwise be sufficient to workaround the Alpha non-atomic byte/short storage problem). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01adc80706f80a583948db6768c5571204cd5f99 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:32 2014 -0400 tty: Move packet mode flow control notifications to pty driver When a master pty is set to packet mode, flow control changes to the slave pty cause notifications to the master pty via reads and polls. However, these tests are occurring for all ttys, not just ptys. Implement flow control packet mode notifications in the pty driver. Only the slave side implements the flow control handlers since packet mode is asymmetric; the master pty receives notifications for slave-side changes, but not vice versa. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9e053dcfc02b0ad29daec8524fb1afe09774976 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:31 2014 -0400 tty: Serialize tty flow control changes with flow_lock Without serialization, the flow control state can become inverted wrt. the actual hardware state. For example, CPU 0 | CPU 1 stop_tty() | lock ctrl_lock | tty->stopped = 1 | unlock ctrl_lock | | start_tty() | lock ctrl_lock | tty->stopped = 0 | unlock ctrl_lock | driver->start() driver->stop() | In this case, the flow control state now indicates the tty has been started, but the actual hardware state has actually been stopped. Introduce tty->flow_lock spinlock to serialize tty flow control changes. Split out unlocked __start_tty()/__stop_tty() flavors for use by ioctl(TCXONC) in follow-on patch. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7a855bd6ab25d10d5e3b6aeb53d9c57fa17b808 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:30 2014 -0400 tty: Convert tty_struct bitfield to ints The stopped, hw_stopped, flow_stopped and packet bits are smp-unsafe and interrupt-unsafe. For example, CPU 0 | CPU 1 | tty->flow_stopped = 1 | tty->hw_stopped = 0 One of these updates will be corrupted, as the bitwise operation on the bitfield is non-atomic. Ensure each flag has a separate memory location, so concurrent updates do not corrupt orthogonal states. Because DEC Alpha EV4 and EV5 cpus (from 1995) perform RMW on smaller-than-machine-word storage, "separate memory location" must be int instead of byte. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 938f7e13b55a76ad98964509f6d13bbcf852e617 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:29 2014 -0400 serial: core: Use spin_lock_irq() in uart_set_termios() uart_set_termios() is called with interrupts enabled; no need to save and restore the interrupt state when taking the uart port lock. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8620d3e5382a3c172a7885fa67a70955ca930425 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:28 2014 -0400 serial: bfin-uart: Fix auto CTS Commit 64851636d568ae9f167cd5d1dcdbfe17e6eef73c, serial: bfin-uart: Remove ASYNC_CTS_FLOW flag for hardware automatic CTS, open-codes uart_handle_cts_change() when CONFIG_SERIAL_BFIN_HARD_CTSRTS to skip start and stop tx. But the CTS interrupt handler _still_ calls uart_handle_cts_change(); only call uart_handle_cts_change() if !CONFIG_SERIAL_BFIN_HARD_CTSRTS. cc: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d95e3caea2d1424dfdec30b46bd94087da94f928 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:27 2014 -0400 usb: serial: Remove unused tty->hw_stopped The tty core does not test tty->hw_stopped; remove from drivers which don't test it themselves. Acked-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d01f4d181c92877ecc678adce248a30cb7077ff1 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:26 2014 -0400 serial: core: Privatize tty->hw_stopped tty->hw_stopped is not used by the tty core and is thread-unsafe; hw_stopped is a member of a bitfield whose fields are updated non-atomically and no lock is suitable for serializing updates. Replace serial core usage of tty->hw_stopped with uport->hw_stopped. Use int storage which works around Alpha EV4/5 non-atomic byte storage, since uart_port uses different locks to protect certain fields within the structure. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 317c1360200059a7a8a832294a58409c73b784bf Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:25 2014 -0400 isdn: i4l: Remove ASYNC_CTS_FLOW ISDN4Linux always enables CTS flow control and does not use the tty_port_cts_enabled() helper function; remove ASYNC_CTS_FLOW state enable/disable. cc: Karsten Keil <isdn@xxxxxxxxxxxxxx> cc: <netdev@xxxxxxxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 299245a145b2ad4cfb4c5432eb1264299f55e7e0 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:24 2014 -0400 serial: core: Privatize modem status enable flags The serial core uses the tty port flags, ASYNC_CTS_FLOW and ASYNC_CD_CHECK, to track whether CTS and DCD changes should be ignored or handled. However, the tty port flags are not safe for atomic bit operations and no lock provides serialized updates. Introduce the struct uart_port status field to track CTS and DCD enable states, and serialize access with uart port lock. Substitute uart_cts_enabled() helper for tty_port_cts_enabled(). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d90bb147ef6b91f529a21b498ff2b5fdc6785b4 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 15:06:23 2014 -0400 serial: core: Document and assert lock requirements for irq helpers The serial core provides two helper functions, uart_handle_dcd_change() and uart_handle_cts_change(), for UART drivers to use at interrupt time. The serial core expects the UART driver to hold the uart port lock when calling these helpers to prevent state corruption. If lockdep enabled, trigger a warning if the uart port lock is not held when calling these helper functions. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c68929f75dfcb6354918862b91b5778585de1fa5 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 25 17:51:27 2014 +0200 USB: quirks: enable device-qualifier quirk for Elan Touchscreen Enable device-qualifier quirk for Elan Touchscreen, which often fails to handle requests for the device_descriptor. Note that the device sometimes do respond properly with a Request Error (three times as USB core retries), but usually fails to respond at all. When this happens any further descriptor requests also fails, for example: [ 1528.688934] usb 2-7: new full-speed USB device number 4 using xhci_hcd [ 1530.945588] usb 2-7: unable to read config index 0 descriptor/start: -71 [ 1530.945592] usb 2-7: can't read configurations, error -71 This has been observed repeating for over a minute before eventual successful enumeration. Reported-by: Drew Von Spreecken <drewvs@xxxxxxxxx> Reported-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a159389bf5d962359349a76827b2f683276a1c7 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 25 17:51:26 2014 +0200 USB: core: add device-qualifier quirk Add new quirk for devices that cannot handle requests for the device_qualifier descriptor. A USB-2.0 compliant device must respond to requests for the device_qualifier descriptor (even if it's with a request error), but at least one device is known to misbehave after such a request. Suggested-by: Bjørn Mork <bjorn@xxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a37110d20c95d1ebf6c04881177fe8f62831db2 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 14:31:39 2014 -0400 locking: Add WARN_ON_ONCE lock assertion An interface may need to assert a lock invariant and not flood the system logs; add a lockdep helper macro equivalent to lockdep_assert_held() which only WARNs once. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13e55e49472643b56986138da4aff115cabb111c Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Tue Sep 23 12:52:33 2014 -0700 staging: ft1000-pcmcia: Don't initialise static to 0 This fixes the following checkpatch.pl error: ERROR: do not initialise statics to 0 or NULL Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a7cbc38ad53815a2a2626e1b472d3b5db363e11 Author: Sarah Khan <sarahjmi07@xxxxxxxxx> Date: Wed Sep 24 03:05:16 2014 +0530 staging: rtl8712: fixed missing blank line WARNING : Missing a blank line after declaration checkpatch.pl warning in hal_init.c Signed-off-by: Sarah Khan <sarahjmi07@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a3d822b8e3df89a116ce86df6200da9004438518 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Tue Sep 23 22:09:23 2014 +0530 Staging: media: omap24xx: Fix else is not useful warning This fixes the following checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8e186cebc94ac06682364b9931f38809ce7b1b5 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Tue Sep 23 21:13:36 2014 +0530 Staging: rtl8192e: rtl8192e: Merge two lines and remove unused variable This patch merges an assignment with an immediately following return of the assigned variable. It also removes variables that became unused due to this transformation. The following Coccinelle semantic patch was used to make this transformation: @r@ identifier ret; identifier f; @@ -ret = +return f(...); -return ret; @@ identifier r.ret; expression e1; type t; @@ ( -t ret = e1; | -t ret; ) ... when != ret when strict Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfcc6be5bcf3f17a98765df5aa69d59ccf87a1bd Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 22:22:36 2014 +0530 staging: rtl8192u: remove unecessary variable This patch removes unncessary variable in file r8192U_core.c using Coccinelle. Semantic patch for this is as follows : @@ identifier ret; @@ -int ret = 0; ... when != ret when strict -return ret; +return 0; Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a579c97823d36613375d636c7b684133d8f79855 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Tue Sep 23 21:24:47 2014 +0530 Staging: media: lirc: Merge two lines and remove unused variable This patch merges an assignment with an immediately following return of the assigned variable. It also removes a variable that becomes unused due to this transformation. The following Coccinelle semantic patch was used to make this transformation: @r@ identifier ret; identifier f; @@ -ret = +return f(...); -return ret; @@ identifier r.ret; expression e1; type t; @@ ( -t ret = e1; | -t ret; ) ... when != ret when strict Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 707505b58eb9aeef294e975a6d7f5afd1c74dd0a Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Tue Sep 23 01:55:55 2014 +0300 staging: dgnc: Replace non-standard spinlock's macros This patch replaces non-standard spinlock's macros. It is done using coccinelle and the following semantic patch: @@ expression x; @@ - DGNC_SPINLOCK_INIT(x) + spin_lock_init(&x) @@ expression x, y; @@ - DGNC_LOCK(x, y) + spin_lock_irqsave(&x, y) @@ expression x, y; @@ - DGNC_UNLOCK(x, y) + spin_unlock_irqrestore(&x, y) @used_by_lock exists@ typedef ulong; symbol lock_flags; position p1, p2; @@ ( ulong lock_flags@p1; | unsigned long lock_flags@p2; ) ... ( spin_lock_irqsave(..., lock_flags) | spin_unlock_irqrestore(..., lock_flags) ) @@ position used_by_lock.p1, used_by_lock.p2; @@ ( - ulong lock_flags@p1; + unsigned long flags; | - unsigned long lock_flags@p2; + unsigned long flags; ) <... - lock_flags + flags ...> Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f3a2e04e3f763092e04a66fc7b57adf838920b5 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Mon Sep 22 15:14:18 2014 -0700 staging: ft1000-pcmcia: replace DEBUG macro with netdev_dbg This fixes the following checkpatch.pl warning: WARNING: Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ... Removing the macro also fixes: WARNING: macros should not use a trailing semicolon Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 666e9084c073badd813d90ade694f12a5a104b07 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Tue Sep 23 11:37:02 2014 +0300 staging: emxx_udc: Do not assign bool to 0/1 This fixes the following coccinelle warning: WARNING: Assignment of bool to 0/1 Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5cbca957067a58dd1e381693b4a8a01f5aea6485 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Tue Sep 23 11:36:37 2014 +0300 staging: emxx_udc: Do not use comparisons on bool tests This fixes the following coccinelle warning: WARNING: Comparison of bool to 0/1 Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a366abe5d5e4da65a10531240a246fb3f90d2bd Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 19:40:21 2014 +0300 Staging: imx-drm: Fix line over 80 characters warning Fix checkpatch.pl issues with line over 80 characters in parallel-display.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc489a528728dcce38df10a74cc1539522b670e7 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 22 23:04:13 2014 +0530 Staging: vme: devices: Merges two lines of code and removes unused variable This patch merges an assignment with an immediately following return of the assigned variable. The following Coccinelle semantic patch was used to make this transformation: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d743ecf360637d489a3ba81a268f574359149601 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:54 2014 +0200 drm/doc: Fixup drm_irq kerneldoc includes. Only !P can be used together with a function list. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d9fc9413f97f5c615256a5657ec667c064c07a70 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:53 2014 +0200 drm: Extract <drm/drm_gem.h> v2: Don't forget git add, noticed by David. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Acked-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit c2611031b49e9ccd571a3737845af3fca2a2090f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:52 2014 +0200 drm: Move internal debugfs functions to drm_internal.h In my header cleanup I've missed the debugfs functions completely. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e7f0a889841e14315062c268abea6d2e657d60d3 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:51 2014 +0200 drm: Move leftover ioctl declarations to drm_internal.h Somehow I've missed these three, fix this up asap. Plus move drm_master_create since while at it. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 884d9f05eb6c765d62da0ec8c36a669d8c813340 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:50 2014 +0200 drm: Move drm_vm_open_locked into drm_internal.h Leftover from my previous header cleanup. This depends upon the patch to rework exynos mmap support, otherwise it'll break exynos. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit bfbf3c851ce53b914fe98d60ea3fe3fc1ab75b96 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:49 2014 +0200 drm: move drm_mmap to <drm/drm_legacy.h> Now that we've removed the copypasted users in gem/ttm we can relegate the legacy buffer mapping support to where it belongs. Also give it the proper drm_legacy_ prefix. While at it statify drm_mmap_locked, somehow I've missed that in my previous header rework. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 197633b924517082327b66db6caf34bae720ea4e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:48 2014 +0200 drm/gem: Don't call drm_mmap from drm_gem_mmap The only user I could dig out was i915 back when ums+gem was still a thing. But we've just very much killed that, and even when someone screams about that we should resurrect that with a special hack (wrapping drm_gem_mmap) in i915, not in the core code. So good riddance to another entry point of the legacy buffer mapping code. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 884c6dabb0eafe7227f099c9e78e514191efaf13 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Sep 23 15:46:47 2014 +0200 drm/<ttm-based-drivers>: Don't call drm_mmap Really, the legacy buffer api should be dead, especially for all these newfangled drivers. I suspect this is copypasta from the transitioning days, which probably originated in radeon. Cc: "Christian König" <christian.koenig@xxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Cc: Rashika <rashika.kheria@xxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Cc: Christian Engelmayer <cengelma@xxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 9908fb654088e50d7d528f74898c5e5ebbd0fb68 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 09:30:11 2014 -0700 drm: change drm_err return type to void The return value is not used by callers of this function nor by uses of the DRM_ERROR macro so change the function to return void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 5b5560842a7ee002d208a20866f88fafd63198eb Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sun Sep 21 07:53:19 2014 -0300 [media] af9035: Add support for IT930x USB bridge Add support for IT930x USB bridge and IT9303 reference design. It is a DVB-T/T2/C tuner with the following components: - IT9303 USB bridge - Si2168-B40 demodulator - Si2147-A30 tuner The IT9303 requires firmware that can be downloaded here: http://trsqr.net/olli/linux/firmwares/it930x/ The Si2168-B40 requires firmware, but the one that is used by PCTV 292e can be used. http://palosaari.fi/linux/v4l-dvb/firmware/Si2168/Si2168-B40/ The Si2147-A30 tuner does not require firmware loading. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5dcf5bf6d9dd81cdf66aab94f62bee354a7d1238 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sun Sep 21 07:53:18 2014 -0300 [media] af9035: Add possibility to define which I2C adapter to use Some I2C tuner drivers require that the I2C device of the tuner is added to the I2C adapter of the demodulator (Si2168+Si2157 for example). Add possibility to tell af9035_add_i2c_dev which I2C adapter should be used. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 294422662215188ace50ae14318ac025a56843d8 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:15 2014 -0300 [media] cx23855: add support for DVBSky T9580 DVB-C/T2/S2 tuner DVBSky T9580 is a dual tuner card with one DVB-T2/C tuner and one DVB-S2 tuner. It contains the following components: - PCIe bridge: Conexant CX23885 - Demod for terrestrial/cable: Silicon Labs Si2168-A30 - Tuner for terrestrial/cable: Silicon Labs Si2158-A20 - Demod for sat: Montage DS3103 - Tuner for sat: Montage TS2022 This patch depends on Max Nibble's patch for m88ds3103 (see patchwork 25312: https://patchwork.linuxtv.org/patch/25312/ ). 3 firmwares are needed: - Si2168-A30 demod and Si2158-A20 tuner: same as TechnoTrend CT2-4400, https://www.mail-archive.com/linux-media@xxxxxxxxxxxxxxx/msg76944.html - Montage DS3103 demod: same as PCTV 461e, Antti has it on his LinuxTV project page: http://palosaari.fi/linux/v4l-dvb/firmware/M88DS3103/ IR receiver is not supported. Values in cx23885_gpio_setup, cx23885_card_setup and dvbsky_t9580_set_voltage as well as the EEPROM read function are taken from the manufacturer provided semi-open source driver. The drivers in question are Linux GPL'd media tree drivers for cx23885 modified by Max Nibble (nibble.max@xxxxxxxxx) with proprietary tuner/demod drivers. Max is aware of this patch and has approved my use of the values in this patch. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5cd3b6b40d3a08394a9e973c597a284153eac0b5 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:14 2014 -0300 [media] cx23855: add frontend set voltage function into state Setting the LNB voltage requires setting some GPIOs on the cx23885 with some boards before calling the actual set_voltage function in the demod driver. Add a function pointer into state for that case. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b0b12e63f999c91690f3f95bd585cf7812a251d9 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:13 2014 -0300 [media] cx23885: add i2c client handling into dvb_unregister and state Prepare cx23885 driver for handling I2C client that is needed for certain demodulators and tuners (for example Si2168 and Si2157). I2C client for tuner and demod stored in state and unregistering of the I2C devices added into dvb_unregister. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 094e93592433312548dd5e43d7b24b152f658063 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:53 2014 +0200 NFC: st21nfca: Fix potential double kfree_skb error skb is already freed in st21nfca_tx_work and was freed also in st21nfca_im_send_psl_req. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 459e794b9b1e0c6be93745344c40364296e7aacd Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:52 2014 +0200 NFC: st21nfca: ERR_PTR vs NULL fix "skb" can be NULL here but it can't be an ERR_PTR: - IS_ERR(NULL) return false and skb migth be NULL. - skb cannot be a ERR_PTR as nfc_hci_send_cmd_async it never using such cast. !skb is more appropriate at those places. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit bc6b8275924b8af3d10ac35df0579d94fa169680 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:51 2014 +0200 NFC: st21nfcb: remove error output In case we are not able to read out the NDLC/NCI header, we do not consider this as an issue and we will give a later chance. The NDLC layer will handle errors thanks to its internal timers. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 941ec5c6b02a93710c397e69b50671949f3b9dd3 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:50 2014 +0200 NFC: st21nfcb: Add ISO15693 Reader/Writer support Add support for ISO/IEC 15693 RF technology and Type 5 tags. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9e87f9a9c4c4754508b2c2638fbde9e10c7a103b Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:49 2014 +0200 NFC: nci: Add support for proprietary RF Protocols In NFC Forum NCI specification, some RF Protocol values are reserved for proprietary use (from 0x80 to 0xfe). Some CLF vendor may need to use one value within this range for specific technology. Furthermore, some CLF may not becompliant with NFC Froum NCI specification 2.0 and therefore will not support RF Protocol value 0x06 for PROTOCOL_T5T as mention in a draft specification and in a recent push. Adding get_rf_protocol handle to the nci_ops structure will help to set the correct technology to target. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fa0daa02fb063ecef39b7d421c3d9c4109381dc2 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:48 2014 +0200 NFC: st21nfcb: Fix improper ndlc T2 management T2 was never started when sending a command. Start it when sending a command for the first attempt and stop it once we receive the answer. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4294e32040b5142824f420d4a3ae604b92f1d1b5 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:47 2014 +0200 NFC: st21nfcb: Fix improper management of -EREMOTEIO error code. On st21nfcb the irq line might be kept to active state because of other interfaces activity. This may generate i2c read tentative resulting in i2c NACK. This fix will currently let NDLC upper layer to decide when it is relevent to signal to the physical layer when the chip as muted. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit f06d87a5b5a01fced0493651a12c002906d0bb69 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:46 2014 +0200 NFC: dts: st21nfcb_i2c: Fix invalid interrupts polarity. St21nfcb has a reverse polarity compare to st21nfca. In st21nfcb case, the irq pin is active high. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 90d5f81afc8369774a6c581b600aef80b1448d35 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:45 2014 +0200 NFC: st21nfca: Fix recursive fault when doing p2p in target mode. This patch fix a previous patch introduce by commit 0a91e8ac240a12ac3a03581deb8cd531788c63d4 It is actually fixing a double free mistake in all st21nfca_tm_* function. We decide to return directly in case of successful execution because skb got already freed. In st21nfca_tm_recv_dep_req it got freed by nfc_tm_data_received. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ecc6522b0804d8102d57a9eac36448bda416ce8c Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:44 2014 +0200 NFC: st21nfca: Fix potential skb leaks in NFC-DEP code After a unsuccessful call to nfc_hci_send_event the skb was not freed and might lead to memory leak. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cc3faac9d88faebe59556f3754ad306117e53b72 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Sat Sep 13 10:28:43 2014 +0200 NFC: st21nfca: Fix few coding style issue Fix few conding style issue such as useless line return or tab. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit fc0ae24386142299db14dfea7f32a20022d94d90 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 23 11:25:48 2014 -0700 NFC: trf7970a: Unlock mutex before exiting _trf7970a_tg_listen() The recently added _trf7970a_tg_listen() routine has some return paths that don't unlock the mutex that is locked when the routine is entered. Fix this by always unlocking the mutex before returning. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b9e3016a5369839bf923c8d2bec9d1552e50f3f3 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 23 11:25:47 2014 -0700 NFC: trf7970a: Unlock mutex before exiting trf7970a_irq() Recent changes to trf7970a_irq() added a couple return paths that don't unlock the mutex that is locked when the routine is entered. Fix this by ensuring the mutex is always unlocked before returning. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 55ef2e75ccf0d91f7b2f4251dc3b9e56df840928 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 23 11:25:46 2014 -0700 NFC: trf7970a: Remove unnecessary local variable initialization There is no need to initialize the 'ret' variable in trf7970a_resume(). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 671970f531378e2a22ba0168d85dfca1f4e082c4 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 23 11:25:45 2014 -0700 NFC: trf7970a: Remove useless local variable The trf7970a_suspend() routine always returns zero so don't use a local return variable to hold the return value. This fixes up a smatch warning. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 49310ed0ab8da344dece4a543bfcdd14490ccfa0 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:05:02 2014 -0300 [media] pt3: make pt3_pm_ops() static drivers/media/pci/pt3/pt3.c:862:1: warning: symbol 'pt3_pm_ops' was not declared. Should it be static? Cc: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2bd5306a8764d9496f3e3d90c4e608c247fcfd31 Author: Maciej Matraszek <m.matraszek@xxxxxxxxxxx> Date: Mon Sep 15 13:09:10 2014 +0200 PM / Domains: add debugfs listing of struct generic_pm_domain-s Add /sys/kernel/debug/pm_genpd/pm_genpd_summary file, which lists power domains in the system, their statuses and attached devices, resembling /sys/kernel/debug/clk/clk_summary. Currently it is impossible to inspect (from userland) whether a power domain is on or off. And, if it is on, which device blocks it from powering down. This change allows developers working on embedded devices power efficiency to list all necessary information about generic power domains in one place. The content of pm_genpd/pm_genpd_summary file is generated by iterating over all generic power domain in the system, and, for each, over registered devices and over the subdomains, if present. Example output: $ cat /sys/kernel/debug/pm_genpd/pm_genpd_summary domain status slaves /device runtime status ---------------------------------------------------------------------- a4su off a3sg off a3sm on a3sp on /devices/e6600000.pwm suspended /devices/e6c50000.serial active /devices/e6850000.sd suspended /devices/e6bd0000.mmc active a4s on a3sp, a3sm, a3sg /devices/e6900000.irqpin unsupported /devices/e6900004.irqpin unsupported /devices/e6900008.irqpin unsupported /devices/e690000c.irqpin unsupported /devices/e9a00000.ethernet active a3rv off a4r off a3rv /devices/fff20000.i2c suspended a4lc off c5 on a4lc, a4r, a4s, a4su /devices/e6050000.pfc unsupported /devices/e6138000.timer active To enable this feature, compile the kernel with debugfs and CONFIG_PM_ADVANCED_DEBUG enabled. Signed-off-by: Maciej Matraszek <m.matraszek@xxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 92db2a276c6ad8ded8e1fea2329d4d00394f5ad4 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Mon Sep 22 01:21:48 2014 +0530 Staging: rtl8192e: Fix else is not useful warning style This fixes the following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d364291677320d0e7d1c4807bd7b54a0649ef49 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 19:38:30 2014 +0530 staging: rtl8723au: core: add consistent spacing around '-' This patch fixes checkpatch.pl error in file rtw_ap.c ERROR: need consistent spacing around '-' (ctx:WxV) Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5310dc66906d2e7dc3ab6688541df1da491c578 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sun Sep 21 18:47:46 2014 +0530 Staging: rtl8192e: rtl8192e: Merges two lines of code and removes unused variable This patch merges an assignment with an immediately following return of the assigned variable. It also removes a variable that becomes unused due to this transformation. The following Coccinelle semantic patch was used to make this transformation: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; @@ identifier ret; type t; identifier c; @@ -t ret = c; ... when != ret when strict Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca7617852df7700deb90bdade6eebb4e879bc5ed Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Mon Sep 22 11:11:45 2014 +0530 Staging: bcm: Fix line over 80 characters. The following patch fixes the checkpatch.pl warning: WARNING: line over 80 characters Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38bb617449060ae5301c1b0802bbe4c0fb1252e3 Author: Heena Sirwani <heenasirwani@xxxxxxxxx> Date: Mon Sep 22 15:44:01 2014 +0530 Staging: bcm: Remove unneeded else after return. The following patch fixes the checkpatch.pl warning: WARNING: else is generally not useful after a break or return. Signed-off-by: Heena Sirwani <heenasirwani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 522c15ee3759a94907bdb500ff920d0b857d80ef Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 15:15:06 2014 +0530 staging: bcm: remove space before tab This patch fixes checkpatch.pl warning in headers.h file WARNING : please, no space before tabs Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd93bf4082063e5695d031b264b6ce07fa32020e Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 15:12:02 2014 +0530 staging: bcm: fix error do not use c99 comments This patch fixes checkpatch.pl error in InterfaceMacros.h file ERROR: do not use C99 // comments Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca6a32f3a3233c54ca2971ab3f6df5c0f54800b8 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:19:15 2014 +0530 Staging: ste_rmi4: add new line after declarations This patch fixes checkpatch.pl warning in synaptics_i2c_rmi4.c file WARNING : Missing a blank line after declarations Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b9999ec18c569d485bdaee86224214eeef1d2b0 Author: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Date: Tue Sep 23 10:16:17 2014 +0530 Staging: vt6656: Merge two lines of code into one This patch merges an assignment with an immediately following return of the assigned variable. The following Coccinelle semantic patch was used to make this transformation: @@ expression ret; identifier f; @@ -ret= +return f(...); -return ret; A variable that became unused due to this transformation was also removed. Signed-off-by: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e46587ef1582ad4da40bf631dba0c6c8c8a7a47 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 17:02:20 2014 +0530 staging: vt6656: remove unnecessary else after return This patch fixes checkpatch.pl warning in files of vt6656 WARNING: else is not generally useful after a break or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78fc84848accc287ca8bc8c566c45c6d599f9ccb Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 14:51:09 2014 +0530 staging: vt6655: shift open brace '{' to previous line This patch fixes checkpatch.pl error in baseband.c file ERROR : that open brace { should be on the previous line Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf329e54b34ed1f0d5e69e67c6622995997777cb Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 14:50:45 2014 +0530 staging: vt6655: remove unnecessary else after return This patch fixes checkpatch.pl warning in aes_ccmp.c file WARNING : else is not generally useful after a break or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eab4e78d0828e22dda46076250d0f260803488d2 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sun Sep 21 20:54:52 2014 +0530 Staging: vt6656: Merges two lines of code and also removes unused variable This patch merges an assignment with an immediately following return of the assigned variable. The following Coccinelle semantic patch was used to make this transformation: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; A variable that became unused due to this transformation was also removed. Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88c9cc0092788ad37bc6ea7fe669358d0fbcb095 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sun Sep 21 20:53:52 2014 +0530 Staging: vt6656: Merges two lines of code and removes unused variable This patch merges an assignment with an immediately following return of the assigned variable.The following Coccinelle semantic patch was used to make this transformation: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; A variable that became unused due to this transformation was also removed. Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdeef1fe4d5361cfa819313a89a0c39e2d3ed066 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 03:26:35 2014 +0300 Staging: vt6655: Fix C99 style commenting. This patch fixes these error messages found by checkpatch.pl: ERROR: do not use C99 // comments Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9eab339b197a6903043d272295dcb716ff739b21 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Sat Mar 15 18:42:34 2014 -0400 audit: get comm using lock to avoid race in string printing When task->comm is passed directly to audit_log_untrustedstring() without getting a copy or using the task_lock, there is a race that could happen that would output a NULL (\0) in the output string that would effectively truncate the rest of the report text after the comm= field in the audit, losing fields. Use get_task_comm() to get a copy while acquiring the task_lock to prevent this and to prevent the result from being a mixture of old and new values of comm. Signed-off-by: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit f874738e8c178b19479f7b143211a1df00367988 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Mon Sep 15 16:17:37 2014 -0400 audit: remove open_arg() function that is never used open_arg() was added in commit 55669bfa "audit: AUDIT_PERM support" and never used. Remove it. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 9ef91514774a140e468f99d73d7593521e6d25dc Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Sun Aug 24 20:37:52 2014 -0400 audit: correct AUDIT_GET_FEATURE return message type When an AUDIT_GET_FEATURE message is sent from userspace to the kernel, it should reply with a message tagged as an AUDIT_GET_FEATURE type with a struct audit_feature. The current reply is a message tagged as an AUDIT_GET type with a struct audit_feature. This appears to have been a cut-and-paste-eo in commit b0fed40. Reported-by: Steve Grubb <sgrubb@xxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 54e05eddbe507d54f1df18c2680d4f614af9e133 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Aug 21 13:40:41 2014 -0400 audit: set nlmsg_len for multicast messages. Report: Looking at your example code in http://people.redhat.com/rbriggs/audit-multicast-listen/audit-multicast-listen.c, it seems that nlmsg_len field in the received messages is supposed to contain the length of the header + payload, but it is always set to the size of the header only, i.e. 16. The example program works, because the printf format specifies the minimum width, not "precision", so it simply prints out the payload until the first zero byte. This isn't too much of a problem, but precludes the use of recvmmsg, iiuc? (gdb) p *(struct nlmsghdr*)nlh $14 = {nlmsg_len = 16, nlmsg_type = 1100, nlmsg_flags = 0, nlmsg_seq = 0, nlmsg_pid = 9910} The only time nlmsg_len would have been updated was at audit_buffer_alloc() inside audit_log_start() and never updated after. It should arguably be done in audit_log_vformat(), but would be more efficient in audit_log_end(). Reported-by: Zbigniew JÄ?drzejewski-Szmek <zbyszek@xxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 219ca39427bf6c46c4e1473493e33bc00635e99b Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Mar 26 07:26:47 2014 -0400 audit: use union for audit_field values since they are mutually exclusive Since only one of val, uid, gid and lsm* are used at any given time, combine them to reduce the size of the struct audit_field. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit e7df61f4d1ddb7fdd654dde6cd40f7cc398c3932 Author: Burn Alting <burn@xxxxxxxxxxxxxxx> Date: Fri Apr 4 16:00:38 2014 +1100 audit: invalid op= values for rules Various audit events dealing with adding, removing and updating rules result in invalid values set for the op keys which result in embedded spaces in op= values. The invalid values are op="add rule" set in kernel/auditfilter.c op="remove rule" set in kernel/auditfilter.c op="remove rule" set in kernel/audit_tree.c op="updated rules" set in kernel/audit_watch.c op="remove rule" set in kernel/audit_watch.c Replace the space in the above values with an underscore character ('_'). Coded-by: Burn Alting <burn@xxxxxxxxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 01478d7d60f654419ba863856cad0446bcb73a59 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Fri Jun 13 18:22:00 2014 -0400 audit: use atomic_t to simplify audit_serial() Since there is already a primitive to do this operation in the atomic_t, use it to simplify audit_serial(). Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 6eed9b261334932c742458edd64b7b9fd0b981a9 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Jun 3 22:05:10 2014 +0200 kernel/audit.c: use ARRAY_SIZE instead of sizeof/sizeof[0] Use kernel.h definition. Cc: Eric Paris <eparis@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 691e6d59d2b6cdb4595e5f626503a1c9e98b8baf Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Mon May 26 11:02:48 2014 -0400 audit: reduce scope of audit_log_fcaps audit_log_fcaps() isn't used outside kernel/audit.c. Reduce its scope. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit c0a8d9b0692cced5b0701ed501012e28b224d32b Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Mon May 26 10:59:28 2014 -0400 audit: reduce scope of audit_net_id audit_net_id isn't used outside kernel/audit.c. Reduce its scope. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> commit 77b55d84aa49d2144afa74725118321189593fbb Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 22:56:15 2014 +0300 staging: dgnc: Fix unnecessary braces warning. Fixes "braces {} are not necessary for single statement blocks" checkpatch.pl warnings in dgnc_sysfs.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35b8117b0ad066d5964a85e5fc0fdbe1bc735a13 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Sep 22 13:45:03 2014 -0400 staging: unisys: fix IO memory copy in channel.h The function ULTRA_check_channel_client() was recently patched to use ioread8_rep(). Unfortunately the parameters were incorrectly ordered, and this causes the function to fail and the guest to not boot. This patch switches the parameters around and uses memcpy_fromio() instead, which is clearer since a structure is being copied, not an array, and it fixes the error message printout later in the function that was using the UUID value in the channel, rather than the value copied from the channel, which causes a misleading error to be reported. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24fc2d01dbd569554373818b72e6d26c86290763 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 21:24:00 2014 +0300 Staging: unisys: channels: Missing a blank line after declarations This patch fixes these warning messages found by checkpatch.pl: WARNING : Missing a blank line after declarations. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d870f87dec6d01d1c323d0560885d49a58143efa Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Sat Sep 20 11:00:40 2014 -0700 staging: unisys: virthba: remove unnecessary return statement This fixes the following checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6905cae3a86f6411b62fda0c7a8e1c0d04eaef88 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Sat Sep 20 09:39:07 2014 -0700 staging: unisys: visorutil: remove unnecessary braces This fixes the following checkpatch.pl warning: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 890d228fd901db88c4a79dbe8cd95aec8a0e57cd Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Sep 23 09:22:30 2014 +0530 Staging: iio: light: Use usleep_range instead of msleep This patch fixes following checkpatch.pl warning: WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89021ecc8364e727a24b0683a74515c8ddf308db Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 19:22:51 2014 +0530 staging: speakup: remove jiffies comparison using time_after_eq() This patch fixes checkpatch.pl warning in files of speakup WARNING : Comparing jiffies is almost always wrong; prefer time_after, time_before and friends Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e94283b68d8fad5e358e32e52aebf1f569544d7 Author: Erin Grasmick <ecg@xxxxxxxxx> Date: Mon Sep 22 17:07:51 2014 -0500 staging: rtl8192ee: Remove unnecessary return statement Removes void function return statements. Signed-off-by: Erin Grasmick <ecg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90be2f1ff7202b42e382da43c8063da6ab05ff56 Author: Erin Grasmick <ecg@xxxxxxxxx> Date: Mon Sep 22 17:07:50 2014 -0500 staging: rtl8192ee: Add blank lines after declarations Signed-off-by: Erin Grasmick <ecg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a56f7905426ef39d474c691ec181e7c1501d36a Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 01:35:39 2014 +0300 Staging: rtl8192ee: Missing a blank line after declarations This patch fixes these warning messages found by checkpatch.pl: WARNING : Missing a blank line after declarations. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 239a5b01a1f4cf5039e7e06554b4cb7a0a1d03f7 Author: Erin Grasmick <ecg@xxxxxxxxx> Date: Sat Sep 20 09:28:06 2014 -0500 staging: rtl8192ee: Fix unnecessary return at end of function. Fix for unnecessary return at end of function as diagnosed by checkpatch.pl. Signed-off-by: Erin Grasmick <ecg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4913c59890b0774990cceb7b0539fee71301dabe Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Sep 23 16:25:34 2014 -0400 audit: arm64: Remove the audit arch argument to audit_syscall_entry The arm64 tree added calls to audit_syscall_entry() and rightly included the syscall number. The interface has since been changed to not need the syscall number. As such, arm64 should no longer pass that value. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 23fed6218d7f6ce6e4cde698579f0f51845f0b25 Author: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Date: Fri Jul 4 08:28:31 2014 +0100 arm64: audit: Add audit hook in syscall_trace_enter/exit() This patch adds auditing functions on entry to or exit from every system call invocation. Acked-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Acked-by Will Deacon <will.deacon@xxxxxxx> Signed-off-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 4a8e3076984625a3be728d9db48ec40d0a704fe6 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sun Sep 21 13:32:32 2014 +0300 staging: rts5208: add new line after declarations This fixes the warning: WARNING: Missing a blank line after declarations Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 767c6a552b5d0cf342b1a68bc9937d648e8e92be Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Sun Sep 21 11:38:11 2014 +0530 Staging: rts5208: Fix checkpatch warning: Missing blank line The following checkpatch warning was fixed : WARNING: Missing a blank line after declarations Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb14865040d42c35f7246ab1e1753bb73bd2aa5e Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 20 17:21:40 2014 +0300 staging: rts5208: remove unnecessary return statement This fixes the warning: WARNING: void function return statements are not generally useful Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b037e229e1c316bbdfdaa265fb47e437db0f3c07 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sat Sep 20 17:21:04 2014 +0300 staging: rts5208: remove unnecessary else This fixes the warning: WARNING: else is not generally useful after a break or return Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4f0d3755c5e9cc86292d5fd78261903b4f23d4a Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Tue Mar 4 10:38:06 2014 -0500 audit: x86: drop arch from __audit_syscall_entry() interface Since the arch is found locally in __audit_syscall_entry(), there is no need to pass it in as a parameter. Delete it from the parameter list. x86* was the only arch to call __audit_syscall_entry() directly and did so from assembly code. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: x86@xxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-audit@xxxxxxxxxx Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> --- As this patch relies on changes in the audit tree, I think it appropriate to send it through my tree rather than the x86 tree. commit a17c8b54dc738c4fda31e8be0302cd131a04c19f Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Apr 22 12:39:51 2014 -0400 sparc: implement is_32bit_task We are currently embedding the same check from thread_info.h into syscall.h thanks to the way syscall_get_arch() was implemented in the audit tree. Instead create a new function, is_32bit_task() which is similar to that found on the powerpc arch. This simplifies the syscall.h code and makes the build/Kconfig requirements much easier to understand. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx commit 01ed102c8522a71d6d05824dd4dc3e17ee9b6d29 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue Apr 22 16:22:07 2014 +1000 sparc: properly conditionalize use of TIF_32BIT After merging the audit tree, today's linux-next build (sparc defconfig) failed like this: In file included from include/linux/audit.h:29:0, from mm/mmap.c:33: arch/sparc/include/asm/syscall.h: In function 'syscall_get_arch': arch/sparc/include/asm/syscall.h:131:9: error: 'TIF_32BIT' undeclared (first use in this function) arch/sparc/include/asm/syscall.h:131:9: note: each undeclared identifier is reported only once for each function it appears in And many more ... Caused by commit 374c0c054122 ("ARCH: AUDIT: implement syscall_get_arch for all arches"). This patch wraps the usage of TIF_32BIT in: if defined(__sparc__) && defined(__arch64__) Which solves the build problem. Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 75dddcbd9651eec29708f91149e405cd42cf68d7 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Apr 22 12:07:30 2014 -0400 sparc: simplify syscall_get_arch() Include linux/thread_info.h so we can use is_32_bit_task() cleanly. Then just simplify syscall_get_arch() since is_32_bit_task() works for all configuration options. Suggested-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit a9ebe0b98896b276a3a1664da5f40d3b7c92f316 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Apr 22 11:46:16 2014 -0400 audit: fix build error when asm/syscall.h does not exist avr32 does not have an asm/syscall.h file. We need the syscall_get_arch() definition from that file for all arch's which support CONFIG_AUDITSYSCALL. Obviously avr32 is not one of those arch's. Move the include inside the CONFIG_AUDITSYSCALL such that we only do the include if we need the results. When the syscall_get_arch() call is moved inside __audit_syscall_entry() this include can be dropped entirely. But that is going to require some assembly changes on x86* in a patch that is not ready for the tree... Reported-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 84db564aad45774ab64375ee019d5e7a42675b1f Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Wed Jan 29 16:17:58 2014 -0500 audit: add arch field to seccomp event log The AUDIT_SECCOMP record looks something like this: type=SECCOMP msg=audit(1373478171.953:32775): auid=4325 uid=4325 gid=4325 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0 pid=12381 comm="test" sig=31 syscall=231 compat=0 ip=0x39ea8bca89 code=0x0 In order to determine what syscall 231 maps to, we need to have the arch= field right before it. To see the event, compile this test.c program: ===== int main(void) { return seccomp_load(seccomp_init(SCMP_ACT_KILL)); } ===== gcc -g test.c -o test -lseccomp After running the program, find the record by: ausearch --start recent -m SECCOMP -i Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 4a99854c5840065e7d3a464523cbe1993acb4f00 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Fri Feb 28 14:30:45 2014 -0500 audit: __audit_syscall_entry: ignore arch arg and call syscall_get_arch() directly Since every arch should have syscall_get_arch() defined, stop using the function argument and just collect this ourselves. We do not drop the argument as fixing some code paths (in assembly) to not pass this first argument is non-trivial. The argument will be dropped when that is fixed. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 91397401bb5072f71e8ce8744ad0bdec3e875a91 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Mar 11 13:29:28 2014 -0400 ARCH: AUDIT: audit_syscall_entry() should not require the arch We have a function where the arch can be queried, syscall_get_arch(). So rather than have every single piece of arch specific code use and/or duplicate syscall_get_arch(), just have the audit code use the syscall_get_arch() code. Based-on-patch-by: Richard Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Cc: linux-alpha@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-ia64@xxxxxxxxxxxxxxx Cc: microblaze-uclinux@xxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxxxx Cc: linux-parisc@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Cc: linux-sh@xxxxxxxxxxxxxxx Cc: sparclinux@xxxxxxxxxxxxxxx Cc: user-mode-linux-devel@xxxxxxxxxxxxxxxxxxxxx Cc: linux-xtensa@xxxxxxxxxxxxxxxx Cc: x86@xxxxxxxxxx commit ce5d112827e5c2e9864323d0efd7ec2a62c6dce0 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Mar 11 13:50:46 2014 -0400 ARCH: AUDIT: implement syscall_get_arch for all arches For all arches which support audit implement syscall_get_arch() They are all pretty easy and straight forward, stolen from how the call to audit_syscall_entry() determines the arch. Based-on-patch-by: Richard Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Cc: linux-ia64@xxxxxxxxxxxxxxx Cc: microblaze-uclinux@xxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux@xxxxxxxxxxxxxxxxxx Cc: linux-parisc@xxxxxxxxxxxxxxx Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Cc: sparclinux@xxxxxxxxxxxxxxx commit 0451623ad780a478b11c29736dae506e0059966a Author: Eric Paris <eparis@xxxxxxxxxx> Date: Wed Mar 19 19:04:52 2014 -0400 Alpha: define syscall_get_arch() Since Alpha supports syscall audit it now needs to have a syscall.h which implements syscall_get_arch() rather than hard coding this value into audit_syscall_entry(). Based-on-patch-by: Richard Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Cc: linux-alpha@xxxxxxxxxxxxxxx commit 4b4665e13cef9ba66f3ce53548e6bf49530de2e5 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Mar 18 15:35:57 2014 -0400 UM: implement syscall_get_arch() This patch defines syscall_get_arch() for the um platform. It adds a new syscall.h header file to define this. It copies the HOST_AUDIT_ARCH definition from ptrace.h. (that definition will be removed when we switch audit to use this new syscall_get_arch() function) Based-on-patch-by: Richard Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Cc: user-mode-linux-devel@xxxxxxxxxxxxxxxxxxxxx commit 37d181bbfe387346b00bd722acfdf93685ac73b3 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Tue Mar 11 13:41:04 2014 -0400 SH: define syscall_get_arch() for superh This patch defines syscall_get_arch() for the superh platform. It does so in both syscall_32.h and syscall_64.h. I'm not certain if the implementation in syscall_64.h couldn't just be used in syscall.h as I can't really track the setting of CONFIG_64BIT... This way is safe, but we might be able to combine these if a superh person were able to review... [v2] fixed indentation stoopidity (Sergei Shtylyov) use AUDIT_ARCH_SH instead of EM_SH Based-on-patch-by: Richard Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> Cc: linux-sh@xxxxxxxxxxxxxxx commit 1002d94d30765b1faf0840adef9ed7e6b7aa5783 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Fri Feb 28 15:34:19 2014 -0500 syscall.h: fix doc text for syscall_get_arch() syscall_get_arch() used to take a task as a argument. It now uses current. Fix the doc text. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit 7e51aa4486bcf72daeb5d30227c4c01563f37044 Author: Eric Paris <eparis@xxxxxxxxxx> Date: Wed Apr 2 16:00:58 2014 -0400 audit: drop unused struct audit_rule definition The kernel only uses struct audit_rule_data. We dropped support for struct audit_rule a long time ago. Drop the definition in the header file. Signed-off-by: Eric Paris <eparis@xxxxxxxxxx> commit b76e05869a6434b1af16880d1929230119f67b8b Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 16:44:49 2014 +0300 staging: rtl8821ae: Fixes unnecessary return warning. This patch fixes "void function return statements are not generally useful" checkpatch.pl warning in base.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70dc53633760de48b2d244da8a7b477c628eee05 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 17:01:02 2014 -0300 [media] tc90522: declare tc90522_functionality as static drivers/media/dvb-frontends/tc90522.c:706:5: warning: symbol 'tc90522_functionality' was not declared. Should it be static? drivers/media/dvb-frontends/tc90522.c:706:5: warning: no previous prototype for 'tc90522_functionality' [-Wmissing-prototypes] u32 tc90522_functionality(struct i2c_adapter *adap) ^ Cc: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5a98f37a535a43b3a27c6a63b07f23d248e4b31 Author: Akihiro Tsukada <tskd08@xxxxxxxxx> Date: Mon Sep 8 14:20:43 2014 -0300 [media] pt3: add support for Earthsoft PT3 ISDB-S/T receiver card This patch adds support for PT3 PCIe cards. PT3 has an FPGA PCIe bridge chip, a TC90522 demod chip and a VA4M6JC2103 tuner module which contains two QM1D1C0042 chips for ISDB-S and two MxL301RF's for ISDB-T. It can receive and deliver 4 (2x ISDB-S, 2x ISDB-T) streams simultaneously, and a kthread is used per stream to poll incoming data, because PT3 does not have interrupts. As an antenna input for each delivery system is split in the tuner module and shared between the corresponding two tuner chips, LNB/LNA controls that the FPGA chip provides are (naturally) shared as well. The tuner chips also share the power line in the tuner module, which is controlled on/off by a GPIO pin of the demod chip. As with the demod chip and the ISDB-T tuner chip, the init sequences/register settings for those chips are not disclosed and stored in a private memory of the FPGA, PT3 driver executes the init of those chips on behalf of their drivers. Signed-off-by: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5d82a75e666a6cc66453285cb3ce28c5d02397a Author: Akihiro Tsukada <tskd08@xxxxxxxxx> Date: Mon Sep 8 14:20:42 2014 -0300 [media] tc90522: add driver for Toshiba TC90522 quad demodulator This patch adds driver for tc90522 demodulator chips. The chip contains 4 demod modules that run in parallel and are independently controllable via separate I2C addresses. Two of the modules are for ISDB-T and the rest for ISDB-S. It is used in earthsoft pt3 cards. Note that this driver does not init the chip, because the initilization sequence / register setting is not disclosed. Thus, the driver assumes that the chips are initilized externally by its parent board driver before fe->ops->init() are called. Earthsoft PT3 PCIe card, for example, contains the init sequence in its private memory and provides a command to trigger the sequence. Signed-off-by: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7608f575b81599ba8e73c27b7ca1fa3993dee585 Author: Akihiro Tsukada <tskd08@xxxxxxxxx> Date: Mon Sep 8 14:20:41 2014 -0300 [media] qm1d1c0042: add driver for Sharp QM1D1C0042 ISDB-S tuner This patch adds driver for qm1d1c0042 tuner chips. It is used as an ISDB-S tuner in earthsoft pt3 cards. Signed-off-by: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit aff0c42a78ed2b6410a083dce59bb6c9fe85da27 Author: Akihiro Tsukada <tskd08@xxxxxxxxx> Date: Mon Sep 8 14:20:40 2014 -0300 [media] mxl301rf: add driver for MaxLinear MxL301RF OFDM tuner This patch adds driver for mxl301rf OFDM tuner chips. It is used as an ISDB-T tuner in earthsoft pt3 cards. Note that this driver does not initilize the chip, because the initilization sequence / register setting is not disclosed. Thus, the driver assumes that the chips are initilized externally by its parent board driver before tuner_ops->init() are called, like in PT3 driver where the bridge chip contains the init sequence in its private memory and provides a command to trigger the sequence. Signed-off-by: Akihiro Tsukada <tskd08@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0f531e735651555568816b6cf7631816003dc1d2 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 14:50:35 2014 -0300 [media] tda18271-common: Convert _tda_printk to return void No caller or macro uses the return value so make it void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit da8e77f5e945ee92a6225c18f545630e07fc41bc Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Sep 22 19:22:48 2014 -0300 [media] media: st-rc: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Acked-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cdd9a6316bfb85176aba83e9532fbc46c9588378 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Sep 22 19:22:38 2014 -0300 [media] media: st-rc: move pm ops setup out of conditional compilation This patch moves setting of pm_ops out of the CONFIG_PM_SLEEP condition. Setting pm ops under CONFIG_PM_SLEEP does not make any sense. This patch also remove unnecessary also remove CONFIG_PM condition for pm member in st_rc_driver structure. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 89d7ce5a0f159ffa99d0521b4336b922acdc7ac5 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Mon Sep 22 19:22:26 2014 -0300 [media] media: st-rc: move to using reset_control_get_optional This patch fixes a compilation error while building with the random kernel configuration. drivers/media/rc/st_rc.c: In function 'st_rc_probe': drivers/media/rc/st_rc.c:281:2: error: implicit declaration of function 'reset_control_get' [-Werror=implicit-function-declaration] rc_dev->rstc = reset_control_get(dev, NULL); drivers/media/rc/st_rc.c:281:15: warning: assignment makes pointer from integer without a cast [enabled by default] rc_dev->rstc = reset_control_get(dev, NULL); Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Acked-by: Maxime Coquelin <maxime.coquelin@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a84fcdaa905862b09482544d190c94a8436e4334 Author: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Date: Sat Aug 30 23:39:10 2014 -0300 [media] rc: Introduce hix5hd2 IR transmitter driver IR transmitter driver for Hisilicon hix5hd2 soc By default all protocols are disabled. For example nec decoder can be enabled by either 1. ir-keytable -p nec 2. echo nec > /sys/class/rc/rc0/protocols See see Documentation/ABI/testing/sysfs-class-rc [mchehab@xxxxxxxxxxxxxxx: Add a fixup for the driver to compile on archs that don't provide writel_relaxed() macro] Signed-off-by: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3c4d1daecef875d28bdbe93587908c897c29ba71 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Tue Sep 23 01:44:51 2014 -0700 vxlan: Fix bug introduced by commit acbf74a76300 Commit acbf74a76300 ("vxlan: Refactor vxlan driver to make use of the common UDP tunnel functions." introduced a bug in vxlan_xmit_one() function, causing it to transmit Vxlan packets without proper Vxlan header inserted. The change was not needed in the first place. Revert it. Reported-by: Tom Herbert <therbert@xxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1a3920e86e0291c46db8b5b81ed31a98141e9670 Author: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Date: Sat Aug 30 23:39:09 2014 -0300 [media] rc: Add DT bindings for hix5hd2 Signed-off-by: Guoxiong Yan <yanguoxiong@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 67cbf633c8f03c3f4915fdd771fbf01689cd824c Author: nibble.max <nibble.max@xxxxxxxxx> Date: Wed Aug 6 01:38:48 2014 -0300 [media] rc: add a map for DVBSky devices. This is a RC5 remote controller map for DVBSky S860/960 devices. Signed-off-by: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit af64fb3fa4ae8d4008586e81127b0a25c86f27f5 Author: nibble.max <nibble.max@xxxxxxxxx> Date: Mon Aug 11 01:45:37 2014 -0300 [media] dvbsky: new driver to support DVBSky S860/S960 devices Support for DVBSky dvb-s2 usb: add dvb-usb-v2 driver for DVBSky dvb-s2 box, no ci support yet. Signed-off-by: Nibble Max <nibble.max@xxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8db3e5df4b5aa5ab8ce1edb8ee59ca9f2c2e7cd9 Author: nibble.max <nibble.max@xxxxxxxxx> Date: Wed Aug 6 01:40:01 2014 -0300 [media] rc: add dvbsky rc keymap macro This RC will be used by DVBSky driver, added on the next patch. Signed-off-by: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 27ccd694bb3d71d1aa8342276dd0aca872f99ec9 Author: Shuah Khan <shuah.kh@xxxxxxxxxxx> Date: Wed Aug 13 22:09:24 2014 -0300 [media] media: tuner xc5000 - try to avoid firmware load in resume path xc5000 doesn't load firmware at attach time instead loads it when it needs to set and change configuration from its init, frequency, digital and analog mode set interffaces. As a result, when system is suspended before firmware is loaded, firmware load can be avoided during resume. Loading formware in this scenario results in slowpath warnings during resume as it won't be in the suspend firmware cache. Signed-off-by: Shuah Khan <shuah.kh@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5264a522a597032c009f9143686ebf0fa4e244fb Author: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Date: Mon Sep 22 21:30:46 2014 -0300 [media] media: tuner xc5000 - release firmwware from xc5000_release() xc5000 releases firmware right after loading it. Change it to save the firmware and release it from xc5000_release(). This helps avoid fecthing firmware when forced firmware load requests come in to change analog tv frequence and when firmware needs to be reloaded after suspend and resume. Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8eb988f1be98e13d33c786ad1511f9870d3038fb Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 07:58:00 2014 -0300 [media] saa7134: Remove unused status var drivers/media/pci/saa7134/saa7134-go7007.c: In function â??saa7134_go7007_interface_resetâ??: drivers/media/pci/saa7134/saa7134-go7007.c:147:6: warning: variable â??statusâ?? set but not used [-Wunused-but-set-variable] Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> commit 23ea6ec0785e25600e6bc33332cc5bc255caf91c Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 07:54:09 2014 -0300 [media] saa7134: Remove some casting warnings drivers/media/pci/saa7134/saa7134-go7007.c:247:17: warning: incorrect type in argument 1 (different base types) drivers/media/pci/saa7134/saa7134-go7007.c:247:17: expected unsigned int [unsigned] val drivers/media/pci/saa7134/saa7134-go7007.c:247:17: got restricted __le32 [usertype] <noident> drivers/media/pci/saa7134/saa7134-go7007.c:252:17: warning: incorrect type in argument 1 (different base types) drivers/media/pci/saa7134/saa7134-go7007.c:252:17: expected unsigned int [unsigned] val drivers/media/pci/saa7134/saa7134-go7007.c:252:17: got restricted __le32 [usertype] <noident> drivers/media/pci/saa7134/saa7134-go7007.c:299:9: warning: incorrect type in argument 1 (different base types) drivers/media/pci/saa7134/saa7134-go7007.c:299:9: expected unsigned int [unsigned] val drivers/media/pci/saa7134/saa7134-go7007.c:299:9: got restricted __le32 [usertype] <noident> drivers/media/pci/saa7134/saa7134-go7007.c:300:9: warning: incorrect type in argument 1 (different base types) drivers/media/pci/saa7134/saa7134-go7007.c:300:9: expected unsigned int [unsigned] val drivers/media/pci/saa7134/saa7134-go7007.c:300:9: got restricted __le32 [usertype] <noident> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit aff440fa6197d0f78f04cfe552c97464f7048ded Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Tue Sep 23 12:52:21 2014 -0300 [media] saa7134: Fix compilation breakage when go7007 is not selected All error/warnings: drivers/built-in.o: In function `saa7134_go7007_fini': >> saa7134-go7007.c:(.text+0x3b628b): undefined reference to `go7007_snd_remove' drivers/built-in.o: In function `saa7134_go7007_interface_reset': >> saa7134-go7007.c:(.text+0x3b659a): undefined reference to `go7007_read_interrupt' drivers/built-in.o: In function `saa7134_go7007_init': >> saa7134-go7007.c:(.text+0x3b65fa): undefined reference to `go7007_alloc' >> saa7134-go7007.c:(.text+0x3b66ed): undefined reference to `go7007_boot_encoder' >> saa7134-go7007.c:(.text+0x3b66fe): undefined reference to `go7007_register_encoder' drivers/built-in.o: In function `saa7134_go7007_irq_ts_done': >> saa7134-go7007.c:(.text+0x3b6c2a): undefined reference to `go7007_parse_video_stream' >> saa7134-go7007.c:(.text+0x3b6c86): undefined reference to `go7007_parse_video_stream' This happens when: - VIDEO_SAA7134 is either 'm' or 'y' - VIDEO_GO7007 is not selected. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 452015de2e2afaf0e2f76f28477dd3025d44bc95 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Sep 21 06:52:03 2014 -0300 [media] saa7134: add saa7134-go7007 This patch adds support to saa7134 for 'WIS Voyager or compatible' PCI boards such as the Sensoray model 614 with which this patch was tested. It is a saa7134-based PCI board with a go7007 MPEG encoder. This was a patch when the go7007 was still in staging and was not applied when go7007 was moved to drivers/media since it needed more work. That work is now done and this last piece of go7007 support can now go in. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Tested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 033d008821b9d04e823ef7adb5ef2504506f7028 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Sep 21 06:38:55 2014 -0300 [media] saa7134: also capture the WSS signal for 50 Hz VBI capture The saa7134 driver missed capturing line 23 of the VBI area for the 50 Hz formats. Include that line in the VBI capture. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Tested-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 017ab36a8bce08ebdca741ea636f0b2e5006a143 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sun Sep 21 09:09:58 2014 -0300 [media] v4l2-ioctl.c: fix inverted condition v4l_print_ext_controls() would print the 'size' if it was 0 and 'value' if size was non-zero, but it should have been the other way around. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 692f637522f0ae230fe49aab3776603d5e2c5f31 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 22 05:00:08 2014 -0300 [media] davinci: remove an unneeded check We don't need to check "ret", we know it's zero. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 271430efb21223e9654fcae58955305c5f70663b Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 22 04:58:53 2014 -0300 [media] as102: remove some unneeded checks We know "ret" is zero so we don't need to test for it. It upsets the static checkers when we test stuff but we know the answer. drivers/media/usb/as102/as102_usb_drv.c:164 as102_send_ep1() warn: we tested 'ret' before and it was 'false' drivers/media/usb/as102/as102_usb_drv.c:189 as102_read_ep2() warn: we tested 'ret' before and it was 'false' Also, we don't need to initialize "ret". Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 146af9cb809c6b6a0f4e215570fb3f397cd55a21 Author: Amber Thrall <amber.rose.thrall@xxxxxxxxx> Date: Sat Sep 20 01:03:15 2014 -0300 [media] Media: USB: usbtv: Fixed all coding style issues in usbtv source files Fixed various coding styles, ignoring coding style error on line 5 for all files containing a link that is longer than 80 characters long. Signed-off-by: Amber Thrall <amber.rose.thrall@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e87cb470896e9089d2185e1dcbe8d17b0e3361d3 Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Mon Sep 15 18:36:15 2014 -0300 [media] imon: fix usbdev leaks imon_probe() does three usb_get_dev(), but there is no any usb_put_dev() in the driver. The patch adds usb_put_dev() to error paths, to imon_disconnect() and to imon_probe() as far as usbdev is not saved anywhere. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3bacc10cd4a85bc70bc0b6c001d3bf995c7fe04c Author: Maciej Matraszek <m.matraszek@xxxxxxxxxxx> Date: Mon Sep 15 05:14:48 2014 -0300 [media] v4l2-common: fix overflow in v4l_bound_align_image() Fix clamp_align() used in v4l_bound_align_image() to prevent overflow when passed large value like UINT32_MAX. In the current implementation: clamp_align(UINT32_MAX, 8, 8192, 3) returns 8, because in line: x = (x + (1 << (align - 1))) & mask; x overflows to (-1 + 4) & 0x7 = 3, while expected value is 8192. v4l_bound_align_image() is heavily used in VIDIOC_S_FMT and VIDIOC_SUBDEV_S_FMT ioctls handlers, and documentation of the latter explicitly states that: "The modified format should be as close as possible to the original request." -- http://linuxtv.org/downloads/v4l-dvb-apis/vidioc-subdev-g-fmt.html Thus one would expect, that passing UINT32_MAX as format width and height will result in setting maximum possible resolution for the device. Particularly, when the driver doesn't support VIDIOC_ENUM_FRAMESIZES ioctl, which is common in the codebase. Fixes changeset: b0d3159be9a3 Signed-off-by: Maciej Matraszek <m.matraszek@xxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 43c3ea312c49efa01dc3b6cd5d78dd8bed27f347 Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Sep 13 05:56:46 2014 -0300 [media] em28xx: remove dead code line from em28xx_audio_setup() Setting the value of the chip config register to EM28XX_CHIPCFG_AC97 in case of a read error is a leftover from the past which is no longer needed. Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 920f1e4a528a1db01d6822026f653659ecb4983d Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Sep 13 05:52:21 2014 -0300 [media] em28xx: get rid of field has_audio in struct em28xx_audio_mode Field has_audio in struct em28xx_audio_mode is used together with value EM28XX_NO_AC97 of field ac97 to determine the internal type of audio (none/i2s/ac97). This makes the code difficult to understand: !audio_mode.has_audio && audio_mode.ac97 == EM28XX_NO_AC97 => no audio !audio_mode.has_audio && audio_mode.ac97 != EM28XX_NO_AC97 => BUG audio_mode.has_audio && audio_mode.ac97 == EM28XX_NO_AC97 => AC97 audio audio_mode.has_audio && audio_mode.ac97 != EM28XX_NO_AC97 => I2S audio Simplify the whole thing by introducing an enum em28xx_int_audio_type which describes the internal audio type (none, ac97, i2s) and is hooked directly to the device struct. Then get rid of field has_audio in struct em28xx_audio_mode. A follow-up patch will then remove struct em28xx_ac97_mode and finally the whole struct em28xx_audio_mode. Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c5874208ff78a5180ef0456caa117704983f3a45 Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Sep 13 05:52:20 2014 -0300 [media] em28xx: simplify usb audio class handling As far as we know devices can either have audio class or vendor class usb interfaces but not both at the same time. Even if both interface types could be provided by devices at the same time, the current code is totally broken for that case. So clean up and simplify the usb audio class handling by replacing fields "has_audio_class" (device has usb audio class compliant interface) and "has_alsa_audio" (device has vendor audio interface) in struct em28xx with a single enum em28xx_usb_audio_type. Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 60a24ba03c5dcd51a754cb45e7d65753126f58ce Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Sep 13 05:52:19 2014 -0300 [media] em28xx: remove some unnecessary fields from struct em28xx_audio_mode Fields "ac97_feat", "ac97_vendor_id" and "i2s_samplerates" of struct em28xx_audio_mode are used nowhere, except in function em28xx_audio_setup(). So get rid of them and use local variables instead. Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 072f1a489efa348223db07730c4b946a4b1ca0cc Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Sep 11 19:43:46 2014 -0300 [media] v4l: videobuf2: Fix typos in comments The buffer flags are incorrectly referred to as V4L2_BUF_FLAGS_* instead of V4L2_BUF_FLAG_* in comments. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d87a50586dbeb2b6019b9e695799838401f21db6 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Thu Sep 11 17:01:38 2014 -0300 [media] si2157: Add support for Si2147-A30 tuner This patch adds support for Si2147-A30 tuner. Fairly trivial, no firmware needed for this tuner. However, command 14 00 02 07 01 00 seems to be mandatory. On Si2157 and Si2158 the value 0x0100 is the default value, so this patch does not impact the existing tuners/devices. On Si2147 the default is 0x0000 and I can't get a lock with that value. While here, fix the return length of the previous set command to 4 bytes. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Acked-by: Antti Palosaari <crope@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7ac95cf59d59473e680937319594ce0719497e98 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 9 09:11:23 2014 -0300 [media] firewire: firedtv-avc: fix more potential buffer overflow "program_info_length" is user controlled and can go up to 4095. The operand[] array has 509 bytes so we need to add a limit here to prevent buffer overflows. The " - 4" in the limit check is because we have 4 bytes more data to add after the memcpy(). [mchehab@xxxxxxxxxxxxxxx: as I merged the version 1 of the patch, I needed to rebase to apply just the differences between v1 and v2] Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit cf3b576d52c1f0a204f0c8bdecc22a338f7ca5a4 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 9 09:05:28 2014 -0300 [media] dvb: si21xx: buffer overflow in si21_writeregs() "len" is user controlled and can be up to 255. Anything more than 59 will cause a buffer overflow so we need to add a test for that. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e947d9ad8ab118d51ff07b7d93c3c1a3e9f7c42f Author: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Date: Mon Sep 8 19:10:43 2014 -0300 [media] mceusb: fix usbdev leak mceusb_init_rc_dev() does usb_get_dev(), but there is no any usb_put_dev() in the driver. The patch tries to straighten logic. It moves usb_get_dev() directly to mceusb_dev_probe() and adds usb_put_dev() to an error path and to mceusb_dev_disconnect(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3011e5e592a2d31556cc3eff335a1ecccd473fa0 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 8 08:18:43 2014 -0300 [media] firewire: firedtv-avc: potential buffer overflow "program_info_length" is user controlled and can go up to 4095. The operand[] array has 509 bytes so we need to add a limit here to prevent buffer overflows. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Stefan Richter <stefanr@xxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f2e323ec96077642d397bb1c355def536d489d16 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Sep 5 09:09:28 2014 -0300 [media] ttusb-dec: buffer overflow in ioctl We need to add a limit check here so we don't overflow the buffer. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9380e112f7b9ab83b57062f2164476e76c5533c7 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Thu Sep 4 10:04:38 2014 -0300 [media] hdpvr: reduce memory footprint when debugging There is no need to use hex_dump_to_buffer() since we have a kernel helper to dump up to 64 bytes just via printk(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3232e04df7224f31a31cfe927096f3d03ba743ab Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Sep 4 08:10:05 2014 -0300 [media] staging: lirc: freeing ERR_PTRs We call kfree(data_buf) in the error handling and that will oops if this is an error pointer. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fb91bde9d3664dd879655f3a1013c0b5728e7a09 Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Fri Dec 27 00:16:13 2013 -0300 [media] em28xx: check if a device has audio earlier" GIT_AUTHOR_DATE=1409603039 This reverts commit b99f0aadd33fad269c8e62b5bec8b5c012a44a56 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> [media] em28xx: check if a device has audio earlier Better to split chipset detection from the audio setup. So, move the detection code to em28xx_init_dev(). It broke analog audio of the Hauppauge winTV HVR 900 and very likely many other em28xx devices. Background: The local variable has_audio in em28xx_usb_probe() describes if the currently probed _usb_interface_ has an audio endpoint, while dev->audio_mode.has_audio means that the _device_ as a whole provides analog audio. Hence it is wrong to set dev->audio_mode.has_audio = has_audio in em28xx_usb_probe(). As result, audio support is no longer detected and configured on devices which have the audio endpoint on a separate interface, because em28xx_audio_setup() bails out immediately at the beginning. Revert the faulty commit to restore the old audio detection procedure, which checks the chip configuration register to determine if the device has analog audio. Cc: <stable@xxxxxxxxxxxxxxx> # 3.14 to 3.16 Reported-by: Oravecz Csaba <oravecz@xxxxxxxxxxxx> Tested-by: Oravecz Csaba <oravecz@xxxxxxxxxxxx> Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 66756611c12cfff7260a3c388900dae480a1179d Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Sun Aug 31 08:35:10 2014 -0300 [media] mceusb: add support for more cx231xx devices Add support for the si2161-based cx231xx devices: [2040:b138] Hauppauge WinTV HVR-900-H (model 111xxx) [2040:b139] Hauppauge WinTV HVR-901-H (model 1114xx) They're similar to the already supported: [2040:b130] Hauppauge WinTV 930C-HD (model 1113xx) Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8618ac4d016a8a81f185111310bdd60e22843127 Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Sun Aug 31 08:35:09 2014 -0300 [media] cx231xx: Add support for Hauppauge WinTV-HVR-901H (1114xx) Add support for: [2040:b139] Hauppauge WinTV HVR-901H (1114xx) According to the inf file, the hardware is similar to [2040:b131] Hauppauge WinTV 930C-HD (model 1114xx) The only difference is the demod Si2161 instead of Si2165 (but both are supported by the si2165 driver). Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 57cbf3efc8b610b605cbbef6cba8c1759ca9aa87 Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Sun Aug 31 08:35:08 2014 -0300 [media] cx231xx: Add support for Hauppauge WinTV-HVR-900H (111xxx) Add support for: [2040:b138] Hauppauge WinTV HVR-900H (111xxx) The hardware is similar to [2040:b130] Hauppauge WinTV 930C-HD (model 1113xx) The only difference is the demod Si2161 instead of Si2165 (but both are supported by the si2165 driver). Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 119bd82e0e87903ef45fffe9c17b1fb6a99cc628 Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Sun Aug 31 08:35:07 2014 -0300 [media] si2165: enable Si2161 support Additionally print chip name with revision symbolically. This is a preparation for supporting new Hauppauge WinTV-HVR-900-H based on cx231xx. Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 55bea40070f33a6b52c605a74b4920bad645d0ea Author: Matthias Schwarzott <zzam@xxxxxxxxxx> Date: Sun Aug 31 08:35:06 2014 -0300 [media] si2165: Load driver for all hardware revisions Current firmware is only for revision D. Signed-off-by: Matthias Schwarzott <zzam@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b9ed09b3bc2f40d83f90dd563d27d9877be1d1b1 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:17 2014 +0100 staging: et131x: Remove TODO item regarding split lines Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26ca0f1b1afce102ea4071bdfe5ac6318facbf6a Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:16 2014 +0100 staging: et131x: Reduce split lines by renaming flowcontrol Rename adapter->flowcontrol to adapter->flow, reducing split lines. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c9e3c03a76f13dd8ba1e6c941b0d115da5e7839b Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:15 2014 +0100 staging: et131x: Use braces on all arms of if/else in et131x_handle_recv_pkts The 'if' blocks have braces, so the 'else' blocks should too. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f4d2029421c1bfabc6504bdd96669af5ff82f32 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:14 2014 +0100 staging: et131x: Reduce split lines by renaming some psr variables Modify some packet status ring associated variables to save a few split lines: pktstat_ringsize -> psr_size psr_num_entries -> psr_entries index -> ii Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a02a26f0d6dd25fe3e543d2ad4c6c14d9d33c1c7 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:13 2014 +0100 staging: et131x: Reduce split lines in et131x_rx_dma_memory_alloc() Modify temporary variables so that split lines can be reduced: index -> k fbr_tmp_physaddr -> fbr_physaddr Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3b11d00df7b31ce1d922b7080cedf923abccb906 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:12 2014 +0100 staging: et131x: Remove unused ce_stats struct member This ce_stats struct member is no longer used. Remove it. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d99249f17b0adc50e4fe2ca1750923899c490d73 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:11 2014 +0100 staging: et131x: Remove unused MP_TCB defines These two defines are not used, so remove them. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 365027332b7a514d0f10c557a94b3ea082f038a5 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Mon Sep 22 20:58:10 2014 +0100 staging: et131x: Remove unused et131x_adapter struct members These two adapter struct members are not used, remove them. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2ce06152ad5fdc67b3841d74852ffd30c2488e3 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Tue Sep 23 01:36:23 2014 +0300 Staging: octeon: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in ethernet-xaui.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a512b03235d422b5d008022bd34b64ed0dcd9a7 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Wed Sep 24 03:19:29 2014 +0900 ARM: exynos_defconfig: Enable Maxim 77693 and I2C GPIO drivers The Exynos System-on-Chips have ~7 distinctive I2C IO ports (exact number depends on chip). However some integrated circuits on board, also using I2C protocol for communication, can be connected to the SoC by other GPIO. Enabling the I2C GPIO driver allows using such additional integrated circuits. An example of such chip using I2C and connected over GPIO to SoC is Maxim 77693 MUIC on Trats2 board. The regulator driver of Maxim 77693 offers charger and safeout LDO (necessary for USB OTG). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 20f4f1a0536c20ccd870a04b14cabf87c0fa295c Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 11:53:20 2014 +0530 staging: media: lirc: remove unnecessary break after return This patch fixes checkpatch.pl warning in lirc_serial.c file WARNING : break is not useful after goto or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5366563d5b1372c8ef6d2863ac315bd98674232 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 11:51:38 2014 +0530 Staging: media: lirc: fixed else after return or break warning This patch fixes checkpatch.pl warning in file lirc_serial.c WARNING : else is not generally useful after a break or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95dd89730119b97d82f9edc806757cef737703e5 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 17 17:52:58 2014 -0700 f2fs: use more free segments until SSR is activated Previously, f2fs activates SSR if the # of free segments reaches to the # of overprovisioned segments. In this case, SSR starts to use dirty segments only, so that the overprovisoned space cannot be selected for new data. This means that we have no chance to utilizae the overprovisioned space at all. This patch fixes that by allowing LFS allocations until the # of free segments reaches to the last threshold, reserved space. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9b5f136fd41658f384a5b4ea49d8ef37036e15f5 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 16 18:30:54 2014 -0700 f2fs: change the ipu_policy option to enable combinations This patch changes the ipu_policy setting to use any combination of orthogonal policies. Signed-off-by: Changman Lee <cm224.lee@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 210f41bc048263d572515e1e0edc28d362ce673e Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 15 18:05:44 2014 +0800 f2fs: fix to search whole dirty segmap when get_victim In ->get_victim we get max_search value from dirty_i->nr_dirty without protection of seglist_lock, after that, nr_dirty can be increased/decreased before we hold seglist_lock lock. Then in main loop we attempt to traverse all dirty section one time to find victim section, but it's not accurate to use max_search as the total loop count, because we might lose checking several sections or check sections redundantly for the case of nr_dirty are increased or decreased previously. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 26666c8a4366debae30ae37d0688b2bec92d196a Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 15 18:04:44 2014 +0800 f2fs: fix to clean previous mount option when remount_fs In manual of mount, we descript remount as below: "mount -o remount,rw /dev/foo /dir After this call all old mount options are replaced and arbitrary stuff from fstab is ignored, except the loop= option which is internally generated and maintained by the mount command." Previously f2fs do not clear up old mount options when remount_fs, so we have no chance of disabling previous option (e.g. flush_merge). Fix it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 14cecc5cd6ed33ef3cb7328de904cc636dd390a4 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 15 18:03:32 2014 +0800 f2fs: skip punching hole in special condition Now punching hole in directory is not supported in f2fs, so let's limit file type in punch_hole(). In addition, in punch_hole if offset is exceed file size, we should skip punching hole. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 55cf9cb63f0e5439f208d78ed944de9a8df65011 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 15 18:01:10 2014 +0800 f2fs: support large sector size Block size in f2fs is 4096 bytes, so theoretically, f2fs can support 4096 bytes sector device at maximum. But now f2fs only support 512 bytes size sector, so block device such as zRAM which uses page cache as its block storage space will not be mounted successfully as mismatch between sector size of zRAM and sector size of f2fs supported. In this patch we support large sector size in f2fs, so block device with sector size of 512/1024/2048/4096 bytes can be supported in f2fs. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 09db6a2ef8d9ca6da71b5de56097e8b769bef299 Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Mon Sep 15 18:02:09 2014 +0800 f2fs: fix to truncate blocks past EOF in ->setattr By using FALLOC_FL_KEEP_SIZE in ->fallocate of f2fs, we can fallocate block past EOF without changing i_size of inode. These blocks past EOF will not be truncated in ->setattr as we truncate them only when change the file size. We should give a chance to truncate blocks out of filesize in setattr(). Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 976e4c50aea111bc7193b48950a3b0c8bc0a25ff Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 15 19:32:16 2014 -0700 f2fs: update i_size when __allocate_data_block The f2fs_direct_IO uses __allocate_data_block, but inside the allocation path, we should update i_size at the changed time to update its inode page. Otherwise, we can get wrong i_size after roll-forward recovery. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 90a893c749f4582f21e97639f4e85e7f2362c2f0 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 22 16:21:07 2014 -0700 f2fs: use MAX_BIO_BLOCKS(sbi) This patch cleans up a simple macro. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c52e1b10b175bef84f1681946b4a438cc4c84147 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Sep 11 14:29:06 2014 -0700 f2fs: remove redundant operation during roll-forward recovery If same data is updated multiple times, we don't need to redo whole the operations. Let's just update the lastest one. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 19c9c466e5c79402cbf8929f922011b02fbb59bd Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 10 15:04:03 2014 -0700 f2fs: do not skip latest inode information In f2fs_sync_file, if there is no written appended writes, it skips to write its node blocks. But, if there is up-to-date inode page, we should write it to update its metadata during the roll-forward recovery. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 441ac5cb323a47b0a665f77f7cd6f76aacbdf21c Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 15 16:46:08 2014 -0700 f2fs: fix roll-forward missing scenarios We can summarize the roll forward recovery scenarios as follows. [Term] F: fsync_mark, D: dentry_mark 1. inode(x) | CP | inode(x) | dnode(F) -> Update the latest inode(x). 2. inode(x) | CP | inode(F) | dnode(F) -> No problem. 3. inode(x) | CP | dnode(F) | inode(x) -> Recover to the latest dnode(F), and drop the last inode(x) 4. inode(x) | CP | dnode(F) | inode(F) -> No problem. 5. CP | inode(x) | dnode(F) -> The inode(DF) was missing. Should drop this dnode(F). 6. CP | inode(DF) | dnode(F) -> No problem. 7. CP | dnode(F) | inode(DF) -> If f2fs_iget fails, then goto next to find inode(DF). 8. CP | dnode(F) | inode(x) -> If f2fs_iget fails, then goto next to find inode(DF). But it will fail due to no inode(DF). So, this patch adds some missing points such as #1, #5, #7, and #8. Signed-off-by: Huang Ying <ying.huang@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 88bd02c9472a166b706284a34a84f1243322d782 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 15 14:50:48 2014 -0700 f2fs: fix conditions to remain recovery information in f2fs_sync_file This patch revisited whole the recovery information during the f2fs_sync_file. In this patch, there are three information to make a decision. a) IS_CHECKPOINTED, /* is it checkpointed before? */ b) HAS_FSYNCED_INODE, /* is the inode fsynced before? */ c) HAS_LAST_FSYNC, /* has the latest node fsync mark? */ And, the scenarios for our rule are based on: [Term] F: fsync_mark, D: dentry_mark 1. inode(x) | CP | inode(x) | dnode(F) 2. inode(x) | CP | inode(F) | dnode(F) 3. inode(x) | CP | dnode(F) | inode(x) | inode(F) 4. inode(x) | CP | dnode(F) | inode(F) 5. CP | inode(x) | dnode(F) | inode(DF) 6. CP | inode(DF) | dnode(F) 7. CP | dnode(F) | inode(DF) 8. CP | dnode(F) | inode(x) | inode(DF) For example, #3, the three conditions should be changed as follows. inode(x) | CP | dnode(F) | inode(x) | inode(F) a) x o o o o b) x x x x o c) x o o x o If f2fs_sync_file stops ------^, it should write inode(F) --------------^ So, the need_inode_block_update should return true, since c) get_nat_flag(e, HAS_LAST_FSYNC), is false. For example, #8, CP | alloc | dnode(F) | inode(x) | inode(DF) a) o x x x x b) x x x o c) o o x o If f2fs_sync_file stops -------^, it should write inode(DF) --------------^ Note that, the roll-forward policy should follow this rule, which means, if there are any missing blocks, we doesn't need to recover that inode. Signed-off-by: Huang Ying <ying.huang@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7ef35e3b9e7a99db4930b58b33a94455dbf53276 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 15 12:07:13 2014 -0700 f2fs: introduce a flag to represent each nat entry information This patch introduces a flag in the nat entry structure to merge various information such as checkpointed and fsync_done marks. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 4c521f493b625c7982cf2eae246e86c893f62dfa Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Thu Sep 11 13:49:55 2014 -0700 f2fs: use meta_inode cache to improve roll-forward speed Previously, all the dnode pages should be read during the roll-forward recovery. Even worsely, whole the chain was traversed twice. This patch removes that redundant and costly read operations by using page cache of meta_inode and readahead function as well. Reviewed-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit abb0bdad0c2c2aad5fbd5049b8c3bb71878ccda9 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 22:26:02 2014 +0300 staging: media: lirc: Fixed quoted string split warning. This patch fixes "quoted string split across lines" checkpatch.pl warning in lirc_imon.c. Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00ef07e3621f6ddab5992804b8d2cb1c5a350b6b Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 16:37:20 2014 +0300 staging: media: omap4iss: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in iss_video.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d374b2c7a7d4cc8ab302d15939cfd0af9ab0467 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 16:31:03 2014 +0300 staging: media: omap4iss: Fixes missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in iss_csi2.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6f1ae82bd288bceed5a93594a8a081845f11b41 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Sep 24 02:18:32 2014 +0900 ARM: mm: Fix ifdef around cpu_*_do_[suspend, resume] ops Ifdef around cpu_\name\()_do_suspend and cpu_\name\()_do_resume ops in proc-macros.S should check for CONFIG_ARM_CPU_SUSPEND and not CONFIG_PM_SLEEP. Fix it. [ Please note that cpu_v7_do_[suspend,resume] code in proc-v7.S already correctly checks for CONFIG_ARM_CPU_SUSPEND, same is true for functions for other architectures. ] This fix is needed for decoupling suspend/resume and advanced cpuidle support on Exynos platform (next patch fixes build for config with CONFIG_PM_SLEEP=n and CONFIG_ARM_EXYNOS_CPUIDLE=y). If this fix is not present then the following OOPS happens on the first attempt to go into advanced cpuidle mode (AFTR): [ 22.244143] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 22.250759] pgd = c0004000 [ 22.253445] [00000000] *pgd=00000000 [ 22.257012] Internal error: Oops: 80000007 [#1] PREEMPT SMP ARM [ 22.262906] Modules linked in: [ 22.265949] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.16.0-next-20140811-dirty #730 [ 22.273757] task: c05dce68 ti: c05d2000 task.ti: c05d2000 [ 22.279139] PC is at 0x0 [ 22.281661] LR is at __cpu_suspend_save+0x4c/0xa8 [ 22.286344] pc : [<00000000>] lr : [<c00125e0>] psr: a0000093 [ 22.286344] sp : c05d3ef4 ip : c05da414 fp : 00000001 [ 22.297799] r10: c05da414 r9 : c0609cb0 r8 : 0000000f [ 22.303008] r7 : c05da444 r6 : 00000038 r5 : ea802c00 r4 : c05d3f14 [ 22.309517] r3 : 00000000 r2 : c05d3f4c r1 : 00000038 r0 : c05d3f20 [ 22.316029] Flags: NzCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel [ 22.323406] Control: 10c5387d Table: 69d5404a DAC: 00000015 [ 22.329135] Process swapper/0 (pid: 0, stack limit = 0xc05d2240) [ 22.335124] Stack: (0xc05d3ef4 to 0xc05d4000) [ 22.339466] 3ee0: ea802c00 00000038 c05d3f4c [ 22.347626] 3f00: 00000000 00000007 c00123bc 00000000 c001d468 6a888000 c05d3f4c 80000000 [ 22.355785] 3f20: 00000007 c003d3a0 0000193d eaf9dde4 eaf9dde4 c02ef0c8 c000969c fffffffe [ 22.363944] 3f40: 00000000 c0037b54 eaf9dbb8 e9d1a380 00000000 c001d468 c0609cb0 00000000 [ 22.372103] 3f60: c0609cb0 c061649e 00000001 c001250c eaf9dbb8 00000001 c0609cb0 c001d618 [ 22.380262] 3f80: c001d5d0 c02ef56c 2d9d2e1e 00000005 eaf9dbb8 c02edcc4 2d9d2e1e 00000005 [ 22.388421] 3fa0: c040446c c05da4ec c040446c eaf9dbb8 c05cfbb0 c004c580 c05dce68 c05b3ae8 [ 22.396580] 3fc0: 00000000 c058bb24 ffffffff ffffffff c058b5e4 00000000 00000000 c05b3ae8 [ 22.404740] 3fe0: c0616994 c05da47c c05b3ae4 c05ddeec 4000406a 40008074 00000000 00000000 [ 22.412909] [<c00125e0>] (__cpu_suspend_save) from [<c00123bc>] (__cpu_suspend+0x5c/0x70) [ 22.421074] [<c00123bc>] (__cpu_suspend) from [<c05d3f4c>] (init_thread_union+0x1f4c/0x2000) [ 22.429479] Code: bad PC value [ 22.432518] ---[ end trace fb90ebf4217d0ad9 ]--- [ 22.437116] Kernel panic - not syncing: Attempted to kill the idle task! [ 22.443800] Rebooting in 5 seconds.. This patch has been tested on Exynos4210 based Origen board. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 658cff0de56ebb1baa581f605dd92015366c511f Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Wed Sep 24 02:18:27 2014 +0900 ARM: EXYNOS: Fix build with PM_SLEEP=n and ARM_EXYNOS_CPUIDLE=n Fix building of exynos_defconfig with disabled CONFIG_PM_SLEEP by adding checking whether Exynos cpuidle support is enabled before accessing exynos_enter_aftr. The build error message: arch/arm/mach-exynos/built-in.o:(.data+0x74): undefined reference to `exynos_enter_aftr' make: *** [vmlinux] Error 1 This patch has been tested on Exynos4210 based Origen board. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 2c054716a57c6eac839e94129b17f73930e817eb Author: Tomasz Figa <t.figa@xxxxxxxxxxx> Date: Wed Sep 24 02:10:04 2014 +0900 ARM: SAMSUNG: Restore Samsung PM Debug functionality Due to recently merged patches and previous merge conflicts, the Samsung PM Debug functionality no longer can be enabled. This patch fixes incorrect dependency of SAMSUNG_PM_DEBUG on an integer symbol and adds missing header inclusion. Signed-off-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit b756dc48b7645f8753516c49594157e45ba3e4f1 Author: Tomasz Figa <t.figa@xxxxxxxxxxx> Date: Sun Sep 14 02:10:35 2014 +0900 ARM: dts: Fix pull setting in sd4_width8 pin group for exynos4x12 The group has the samsung,pin-pud property set to 4, which is not a correct value. This patch fixes this by replacing it with 3, which is the correct value for pull-up. Signed-off-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 3e95b7b7367801f115b9fcf63063a5c1ea34de20 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 11:25:51 2014 -0500 ARM: exynos_defconfig: Enable SBS battery support Many Exynos5 boards (e.g: Snow, Peach Pit and Pi) have a SBS-compliant gas gauge battery. Enable to built it so the needed support is available for these boards. Suggested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 4c79279940988d55bfe7596a61d3784f1ae1bca7 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Sep 24 02:42:52 2014 +0900 ARM: exynos_defconfig: Enable Control Groups support systemd needs control groups support to be enabled in the kernel so let's enable it by default since is quite likely that a user-space with systemd will be used. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit a5ec3a4860374a0f1a5075359fd30a594cb2bed7 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Wed Sep 24 02:42:49 2014 +0900 ARM: exynos_defconfig: Enable Atmel maXTouch support Many Exynos based Chromebooks have an Atmel trackpad so enable support for it by default will make easier for users. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 6e80e3d87549bbe6768bdfc46e6e2e84673c9acd Author: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Date: Wed Sep 24 02:42:40 2014 +0900 ARM: exynos_defconfig: Enable MAX77802 Enabled MAX77802 pmic for exynos systems. One config USB_ANNOUNCE_NEW_DEVICES to display device information on connect. Another config for I2C_CHARDEV to see i2c device nodes. Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit bd1e75abf4b3c666f61a5cf90c896aa928a735d5 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 19 08:26:20 2014 -0700 tcp: add coalescing attempt in tcp_ofo_queue() In order to make TCP more resilient in presence of reorders, we need to allow coalescing to happen when skbs from out of order queue are transferred into receive queue. LRO/GRO can be completely canceled in some pathological cases, like per packet load balancing on aggregated links. I had to move tcp_try_coalesce() up in the file above tcp_ofo_queue() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4cdf507d54525842dfd9f6313fdafba039084046 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 19 07:38:40 2014 -0700 icmp: add a global rate limitation Current ICMP rate limiting uses inetpeer cache, which is an RBL tree protected by a lock, meaning that hosts can be stuck hard if all cpus want to check ICMP limits. When say a DNS or NTP server process is restarted, inetpeer tree grows quick and machine comes to its knees. iptables can not help because the bottleneck happens before ICMP messages are even cooked and sent. This patch adds a new global limitation, using a token bucket filter, controlled by two new sysctl : icmp_msgs_per_sec - INTEGER Limit maximal number of ICMP packets sent per second from this host. Only messages whose type matches icmp_ratemask are controlled by this limit. Default: 1000 icmp_msgs_burst - INTEGER icmp_msgs_per_sec controls number of ICMP packets sent per second, while icmp_msgs_burst controls the burst size of these packets. Default: 50 Note that if we really want to send millions of ICMP messages per second, we might extend idea and infra added in commit 04ca6973f7c1a ("ip: make IP identifiers less predictable") : add a token bucket in the ip_idents hash and no longer rely on inetpeer. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e8b56d55a30afe588d905913d011678235dda437 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Fri Sep 19 14:56:57 2014 +0200 net: bpf: arm: make hole-faulting more robust Will Deacon pointed out, that the currently used opcode for filling holes, that is 0xe7ffffff, seems not robust enough ... $ echo 0xffffffe7 | xxd -r > test.bin $ arm-linux-gnueabihf-objdump -m arm -D -b binary test.bin ... 0: e7ffffff udf #65535 ; 0xffff ... while for Thumb, it ends up as ... 0: ffff e7ff vqshl.u64 q15, <illegal reg q15.5>, #63 ... which is a bit fragile. The ARM specification defines some *permanently* guaranteed undefined instruction (UDF) space, for example for ARM in ARMv7-AR, section A5.4 and for Thumb in ARMv7-M, section A5.2.6. Similarly, ptrace, kprobes, kgdb, bug and uprobes make use of such instruction as well to trap. Given mentioned section from the specification, we can find such a universe as (where 'x' denotes 'don't care'): ARM: xxxx 0111 1111 xxxx xxxx xxxx 1111 xxxx Thumb: 1101 1110 xxxx xxxx We therefore should use a more robust opcode that fits both. Russell King suggested that we can even reuse a single 32-bit word, that is, 0xe7fddef1 which will fault if executed in ARM *or* Thumb mode as done in f928d4f2a86f ("ARM: poison the vectors page"). That will still hold our requirements: $ echo 0xf1defde7 | xxd -r > test.bin $ arm-unknown-linux-gnueabi-objdump -m arm -D -b binary test.bin ... 0: e7fddef1 udf #56801 ; 0xdde1 $ echo 0xf1defde7f1defde7f1defde7 | xxd -r > test.bin $ arm-unknown-linux-gnueabi-objdump -marm -Mforce-thumb -D -b binary test.bin ... 0: def1 udf #241 ; 0xf1 2: e7fd b.n 0x0 4: def1 udf #241 ; 0xf1 6: e7fd b.n 0x4 8: def1 udf #241 ; 0xf1 a: e7fd b.n 0x8 So on ARM 0xe7fddef1 conforms to the above UDF pattern, and the low 16 bit likewise correspond to UDF in Thumb case. The 0xe7fd part is an unconditional branch back to the UDF instruction. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Mircea Gherzan <mgherzan@xxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f6d80358dc9bbbeb56cb43384fa11fd645d9289 Merge: a2aeb02 98f75b8 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 23 12:09:27 2014 -0400 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Conflicts: arch/mips/net/bpf_jit.c drivers/net/can/flexcan.c Both the flexcan and MIPS bpf_jit conflicts were cases of simple overlapping changes. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 31ff2a5e42f459f36a88afa82244dd3d3285572e Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Fri Aug 22 18:15:12 2014 -0700 PCI: pciehp: Stop disabling notifications during init During pciehp initialization, we previously wrote two hotplug commands: pciehp_probe pcie_init pcie_disable_notification pcie_write_cmd # command 1 pcie_init_notification pcie_enable_notification pcie_write_cmd # command 2 For controllers with errata like Intel CF118, we previously waited for a timeout before issuing the second hotplug command because the first command only updates interrupt enable bits and is not a "real" hotplug command, so the controller doesn't report Command Completed for it. But there's no need to disable notifications in the first place. If BIOS left them enabled, we could easily take an interrupt before disabling them, so there's no benefit in disabling them for the tiny window before we enable them. Drop the unnecessary pcie_disable_notification() call. [bhelgaas: changelog] Link: http://www.intel.com/content/www/us/en/processors/xeon/xeon-e7-v2-spec-update.html Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit cf8d7b589c53f17e10e9f1ef91dd9e2ba3ca9a7c Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Mon Sep 22 20:36:09 2014 -0600 PCI: pciehp: Add more Slot Control debug output Add more Slot Control debug output and move one print after pcie_write_cmd() to be consistent with other debug output. Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit d433889cd5a0933fbd90f1e65bff5a8d7963cc52 Author: Yinghai Lu <yinghai@xxxxxxxxxx> Date: Mon Sep 22 20:07:35 2014 -0600 PCI: pciehp: Fix wait time in timeout message When we warned about a timeout on a hotplug command, we previously printed the time between calls to pcie_write_cmd(), without accounting for any time spent actually waiting. Consider this sequence: pcie_write_cmd write SLTCTL cmd_started = jiffies # T1 pcie_write_cmd pcie_wait_cmd now = jiffies # T2 wait_event_timeout # we may wait here if (timeout) ctrl_info("Timeout on command issued %u msec ago", jiffies_to_msecs(now - cmd_started)) We previously printed (T2 - T1), but that doesn't include the time spent in wait_event_timeout(). Fix this by using the current jiffies value, not the one cached before calling wait_event_timeout(). [bhelgaas: changelog, use current jiffies instead of adding timeout] Fixes: 40b960831cfa ("PCI: pciehp: Compute timeout from hotplug command start time") Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 2f419d76599e2fd1a2c2cf31730c80e952201af1 Merge: ef39ab7 bceee4a Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Tue Sep 23 10:03:18 2014 -0600 Merge branch 'pci/hotplug' into next * pci/hotplug: PCI: pciehp: Prevent NULL dereference during probe PCI: pciehp: Reduce PCIe slot_ctrl to 16 bits PCI: Configure *all* devices, not just hot-added ones PCI: Preserve MPS and MRRS when applying _HPX settings PCI: Apply _HPP settings to all hot-added PCI devices PCI: Preserve BIOS PCI_COMMAND_SERR and PCI_COMMAND_PARITY settings PCI: Apply _HPP settings to PCIe devices as well as PCI and PCI-X PCI: Remove unused pci_configure_slot() ACPI / hotplug / PCI: Remove pci_configure_slot() usage PCI: shpchp: Remove pci_configure_slot() usage PCI: pciehp: Remove pci_configure_slot() usage PCI: Add pci_configure_device() during enumeration PCI: Move pci_configure_slot() to drivers/pci/probe.c PCI: Shuffle pci-acpi.c functions to group them logically PCI: Whitespace cleanup in pci-acpi.c PCI: Move pci_get_hp_params() to drivers/pci/pci-acpi.c PCI: pciehp: Configure hot-added display devices PCI: Remove "no hotplug settings from platform" warning commit 43a8785aeedc3eb1ffce95d46a8e7ca3e0d591d8 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Fri Sep 19 11:39:25 2014 +0400 GPIO: gpiolib: trivial: Add missing carriage return Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 46824e224490af1e6d70fe613930a52253ea969d Author: Nishanth Menon <nm@xxxxxx> Date: Fri Sep 5 14:52:55 2014 -0500 gpio: omap: Fix interrupt names When viewing the /proc/interrupts, there is no information about which GPIO bank a specific gpio interrupt is hooked on to. This is more than a bit irritating as such information can esily be provided back to the user and at times, can be crucial for debug. So, instead of displaying something like: 31: 0 0 GPIO 0 palmas 32: 0 0 GPIO 27 mmc0 Display the following with appropriate device name: 31: 0 0 4ae10000.gpio 0 palmas 32: 0 0 4805d000.gpio 27 mmc0 This requires that we create irq_chip instance specific for each GPIO bank which is trivial to achieve. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Acked-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9afd23b61221a5c5c0d588f6d8f0e4495ecc8d24 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Sep 23 17:40:45 2014 +0200 gpio: samsung: Remove remaining check for CONFIG_S5P_GPIO_DRVSTR Commit d78c16ccde96 ("ARM: SAMSUNG: Remove remaining legacy code") removed the Kconfig symbol S5P_GPIO_DRVSTR. It didn't remove one check for the related macro. Remove that check and the dead code it hides. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Reviewed-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 7ca267faba8ad097f57cb71c32ae1865de83241a Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Mon Sep 15 17:09:44 2014 +0300 gpio: Increase ARCH_NR_GPIOs to 512 Some newer Intel SoCs, like Braswell already have more than 256 GPIOs available so the default limit is exceeded. Instead of adding more architecture specific gpio.h files with custom ARCH_NR_GPIOs we increase the gpiolib default limit to be twice the current. Current generic ARCH_NR_GPIOS limit is 256 which starts to be too small for newer Intel SoCs like Braswell. In order to support GPIO controllers on these SoCs we increase ARCH_NR_GPIOS to be 512 which should be sufficient for now. The kernel size increases a bit with this change. Below is an example of x86_64 kernel image. ARCH_NR_GPIOS=256 text data bss dec hex filename 11476173 1971328 1265664 14713165 e0814d vmlinux ARCH_NR_GPIOS=512 text data bss dec hex filename 11476173 1971328 1269760 14717261 e0914d vmlinux So the BSS size and this the kernel image size increases by 4k. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 56b427678cc3c1c4e305a96c9cfa8ba985c70a48 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sun Sep 14 15:56:55 2014 +0200 gpio: use container_of to resolve cs5535_gpio_chip from gpio_chip Use container_of instead of casting first structure member. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1e960dbb7b12886d2095df05adf8754eef1c26d0 Author: Weike Chen <alvin.chen@xxxxxxxxx> Date: Wed Sep 17 09:18:42 2014 -0700 GPIO: gpio-dwapb: Suspend & Resume PM enabling This patch enables suspend and resume mode for the power management, and it is based on Josef Ahmad's previous work. Reviewed-by: Hock Leong Kweh <hock.leong.kweh@xxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> Signed-off-by: Weike Chen <alvin.chen@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5d60d9efe1447b46f33075fb5841fd83247cdbb2 Author: Weike Chen <alvin.chen@xxxxxxxxx> Date: Wed Sep 17 09:18:41 2014 -0700 GPIO: gpio-dwapb: Support Debounce This patch enables 'debounce' for the designware GPIO, and it is based on Josef Ahmad's previous work. Reviewed-by: Hock Leong Kweh <hock.leong.kweh@xxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Weike Chen <alvin.chen@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 67809b974a07042dc61cb9d06e30df7a5f25446a Author: Weike Chen <alvin.chen@xxxxxxxxx> Date: Wed Sep 17 09:18:40 2014 -0700 GPIO: gpio-dwapb: Change readl&writel to dwapb_read&dwapb_write This patch replaces 'readl&writel' with 'dwapb_read&dwapb_write'. Reviewed-by: Shevchenko, Andriy <andriy.shevchenko@xxxxxxxxx> Signed-off-by: Weike Chen <alvin.chen@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3d2613c4289ff22de3aa24d2d0a29e33937f023a Author: Weike Chen <alvin.chen@xxxxxxxxx> Date: Wed Sep 17 09:18:39 2014 -0700 GPIO: gpio-dwapb: Enable platform driver binding to MFD driver The Synopsys DesignWare APB GPIO driver only supports open firmware devices. But, like Intel Quark X1000 SOC, which has a single PCI function exporting a GPIO and an I2C controller, it is a Multifunction device. This patch is to enable the current Synopsys DesignWare APB GPIO driver to support the Multifunction device which exports the designware GPIO controller. Reviewed-by: Hock Leong Kweh <hock.leong.kweh@xxxxxxxxx> Signed-off-by: Weike Chen <alvin.chen@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e1db1706c86ee455f25eeaeadeda827e1e02310f Author: abdoulaye berthe <berthe.ab@xxxxxxxxx> Date: Sat Jul 5 18:28:50 2014 +0200 gpio: gpiolib: set gpiochip_remove retval to void This avoids handling gpiochip remove error in device remove handler. Signed-off-by: Abdoulaye Berthe <berthe.ab@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e27e278608d0dca1b97abea3c1855beafcc68bcb Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 16 15:14:46 2014 -0700 tty: sc16is7xx: remove retval from gpiochip_remove() We are trying to smoke out the use of the return value from gpiochip_remove() from the kernel, this has been missed. Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit da26d5d803e45a30c7d72b83ce906f3a466f4cc3 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 16 15:11:41 2014 -0700 gpio: remove remaining users of gpiochip_remove() retval Some drivers accidentally still use the return value from gpiochip_remove(). Get rid of them so we can simplify this function and get rid of the return value. Cc: Abdoulaye Berthe <berthe.ab@xxxxxxxxx> Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Acked-by: Javier Martinez Canillas <javier@xxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2fcea6cecbc965b4e02a39537d9d939f5251bbbd Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 16 15:05:41 2014 -0700 pinctrl: remove remaining users of gpiochip_remove() retval Some drivers accidentally still use the return value from gpiochip_remove(). Get rid of them so we can simplify this function and get rid of the return value. Cc: Abdoulaye Berthe <berthe.ab@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 50cf5534df852d30f1fd07030c2084b708a88308 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 28 13:50:19 2014 -0300 dma: Kconfig: Include mx6 in the IMX_SDMA help section MX6 processors also use the IMX_SDMA driver, so include it in the help text. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit c2e6f424a4abc9bb561133b00b2134ce11be34e9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 22 15:19:44 2014 +0300 dmatest: prevent memory leakage on error path in thread When we fail to allocate memory for thread->srcs or thread->dsts and src_cnt or dst_cnt great than 1 we leak memory on error path. This patch fixes the issue. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 75c49d40c3807c7f6eeaecb959a289f77e438bfe Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Sep 22 09:39:53 2014 -0500 drivers: staging: lustre: Fix "open brace '{' following struct go on the same line" errors Fix checkpatch.pl "open brace '{' following struct go on the same line" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b06b70b52fc24a8a6c6e59f06ae632be379c6eb Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Tue Sep 23 01:53:24 2014 +0300 Staging: lustre: include: linux: Fix line over 80 characters. The following patch fixes the checkpatch.pl warning: WARNING: line over 80 characters. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d02b0b81c0474212310c5a72cf088736c9aab41 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Sep 23 19:21:32 2014 +0530 Staging: lustre: Unnecessory else and braces are removed This patch fixes following checkpatch.pl warning using coccinelle: WARNING: else is not generally useful after a break or return Semantic patch used for this is as follows: @rule1@ expression e1; @@ if (e1) { ... return ...; } - else{ ... - } @rule2@ expression e2; statement s1; @@ if(e2) { ... return ...; } - else s1 Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ce91a9e854aba900a5bcddcd1c2297d7ff5cd40 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Tue Sep 23 19:22:41 2014 +0530 Staging: lustre: Return statement is moved left after removing else This patch fixes following checkpatch.pl warning using coccinelle: WARNING: else is not generally useful after a break or return Semantic patch used for this is as follows: @rule1@ expression e1; @@ if (e1) { ... return ...; } - else{ ... - } @rule2@ expression e2; statement s1; @@ if(e2) { ... return ...; } - else s1 Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26c4ea46a55c9056fa20e3c91b1989f3cd9473d7 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Sun Sep 21 00:08:05 2014 +0530 Staging: lustre: Replace GOTO macro with necessary code The GOTO macro is neither standard in Linux nor does its definiton contain much useful code. Hence GOTO can be replaced with useful parts of its definition. In a statement like GOTO(label, rc), the replacing code will be goto label if rc is a constant or a variable. But in cases like GOTO(label, e) where e is an assignment statement, both assignment and goto statements are kept. This patch was done using Coccinelle and the following semantic patch was used: @@ identifier rc,label; expression e; constant c; @@ ( -GOTO(label,rc = e); +rc = e; +goto label; | -GOTO(label,rc); +goto label; | -GOTO(label,c); +goto label; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddcb81e7419baa90fab79dbbb1b983a69a235c91 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 22:03:43 2014 +0530 staging: rtl8712: merge lines and remove unused variable for immediate return This patch merge two lines in a single line if immediate return is found. Unused variables in each case were removed manually as they are no longer needed. This is done using Coccinelle. Semantic patch used for this is as follows : @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a988265c61a8e0f4420148c8b62f334b31f49c69 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 07:03:31 2014 +0530 Staging: rtl8712: Add space after return type This patch fixes checkpatch.pl warning in file rtl871x_ioctl.h WARNING : Missing space after return type Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c08242008a11d01112b8681b94ccce6ea6e4ae8a Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 06:52:39 2014 +0530 Staging: rtl8712: Remove unnecessary parentheses This patch fixes checkpatch.pl warning in files of rel8712 WARNING : Unnecessary parentheses - maybe == should be = ? Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57b6686ebbf55d3f44d02c72d0d87f5d12032a08 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 06:42:21 2014 +0530 Staging: rtl8712 : Fix line over 80 characters This patch fixes checkpatch.pl warning in files of rtl8712 WARNING : line over 80 characters Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d76a7e4dc516016e1471f33de218ee0745bbc2d Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:49:41 2014 +0530 Staging: rtl8712: use kmalloc_array over kmalloc This patch fixes checkpatch.pl warning in file rtl871x_xmit.c WARNING : prefer kmalloc_array over kmalloc with multiply Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a332c96c29c84cd9205c29dfa1add4667456059 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Sep 11 00:55:55 2014 +0300 pinctrl: sh-pfc: sh73a0: Remove unnecessary SoC data allocation The SoC data structure allocated at init time only holds a regulator pointer that is only used in the init function. Replace it with a local variable and get rid of the SoC data structure allocation altogether. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 15a4db9268f4090987cab4b2c40818291652607e Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:47:37 2014 +0530 Staging: rtl8712: remove unnecessary 'out of memory' message This patch fixes checkpatch.pl warning in file usb_ops_linux.c WARNING : possible unecessary 'out of memory' message Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b105374c51f88dd8c2fc0524fd4f7a7c0ec3388a Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:45:18 2014 +0530 Staging: rtl8712: fixed space prohibition This patch fixes checkpatch.pl warning in file rtl871x_io.h WARNING : space prohibited before semicolon Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbdba9c10bb43ae99b74341e6a4cc4f7f2f48bc8 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:38:20 2014 +0530 Staging: rtl8712: remove void function return; statement This patch fixes checkpatch.pl warning in files of rtl8712 WARNING : void function return statement are not generally useful Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2955b144b31a72a2feede70a99283c8f0c1eb3a Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:35:07 2014 +0530 Staging: rtl8712: remove semicolon after macro This patch fixes checkpatch.pl warning in rtl871x_mp.h file WARNING : Macro should not use a trailing semicolon Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5861b738ab0f4c71d08c8405f85d2b13e14f703 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 03:01:32 2014 +0300 Staging: rtl8712: Missing a blank line after declarations This patch fixes these warning messages found by checkpatch.pl: WARNING : Missing a blank line after declarations. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b631ecd70e0c5af6d5820f7890dccab1206c88b4 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 03:01:31 2014 +0300 Staging: rtl8712: Remove unnecessary parentheses. This patch fixes checkpatch.pl warning Unnecessary parentheses in rtl871x_xmit.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 730cb373f3aaf7be69f59db6999e1e07f18117c2 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Sun Sep 21 05:21:58 2014 +0530 Staging: rtl8712: remove break after return statement This patch fixes checkpatch.pl warning in rtl871x_ioctl_linux.c file WARNING : break is not useful after goto or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6064b1474ef3cfa523916008b5176026bbc990d3 Author: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 11:15:51 2014 +0200 pinctrl: berlin: fix the dt_free_map function The berlin_pinctrl_dt_free_map function tries to free memory allocated and handled by the of subsystem. This is wrong and already handled by pinctrl_dt_free_maps() which calls of_node_put(). This patch fixes the Berlin pinctrl way of freeing its maps, avoiding a kernel BUG(), by using the common pinctrl_utils_dt_free_map function instead. Signed-off-by: Antoine Tenart <antoine.tenart@xxxxxxxxxxxxxxxxxx> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3d78427397daea47b5a38642f46f75ef993de571 Author: Wenyou Yang <wenyou.yang@xxxxxxxxx> Date: Thu Sep 11 16:40:15 2014 +0200 pinctrl: at91: disable PD or PU before enabling PU or PD Disable Pull-Down or Pull-Up property before enabling Pull-Up or Pull-Down, because the pin's Pull-Up and Pull-Down property is mutually exclusive. Signed-off-by: Wenyou Yang <wenyou.yang@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit bf17eba7ae1e813b0ad67cb1078dcbd7083b906e Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Sep 18 09:31:32 2014 -0500 Revert "usb: gadget: composite: dequeue cdev->req before free it in composite_dev_cleanup" This reverts commit f2267089ea17fa97b796b1b4247e3f8957655df3. That commit causes more problem than fixes. Firstly, kfree() should be called after usb_ep_dequeue() and secondly, the way things are, we will try to dequeue a request that has already completed much more frequently than one which is pending. Cc: Li Jun <b47624@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # 3.17 Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7471725f618b95d2a61a4bf789dbdc5c7805ffa9 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 9 13:21:40 2014 +0530 pinctrl: st: remove gpiochip in failure cases This patch releases gpiochip related resources by calling gpiochip_remove when gpiochip_irqchip_add fails. Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxx> Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1059c6bf8534acda249e7e65c81e7696fb074dc1 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Sep 22 11:19:04 2014 +0100 arm64: debug: don't re-enable debug exceptions on return from el1_dbg When returning from a debug exception taken from EL1, we unmask debug exceptions after handling the exception. This is crucial for debug exceptions taken from EL0, so that any kernel work on the ret_to_user path can be debugged by kgdb. However, when returning back to EL1 the only thing left to do is to restore the original register state before the exception return. If single-step has been enabled by the debug exception handler, we will get stuck in an infinite debug exception loop, since we will take the step exception as soon as we unmask debug exceptions. This patch avoids unmasking debug exceptions on the debug exception return path when the exception was taken from EL1. Fixes: 2a2830703a23 (arm64: debug: avoid accessing mdscr_el1 on fault paths where possible) Cc: <stable@xxxxxxxxxxxxxxx> #3.16+ Reported-by: David Long <dave.long@xxxxxxxxxx> Reported-by: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d9ff958bb34aabdce08d11b0db24123c093d87cd Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Aug 20 19:20:53 2014 +0200 dmaengine: Mark the struct dma_slave_config direction field deprecated The direction passed to the device_prep_slave_sg, device_prep_dma_cyclic or device_prep_interleaved_dma (through struct dma_interleaved_template) should be used instead. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 22843545b20007ae33bc3774043303e0b44e3d65 Author: Lior Amsalem <alior@xxxxxxxxxxx> Date: Wed Aug 27 10:52:55 2014 -0300 dma: mv_xor: Add support for DMA_INTERRUPT The driver is capable of supporting DMA_INTERRUPT by issuing a dummy 128-byte transfer. This helps removing a poll in the async_tx stack, replacing it with a completion interrupt. Signed-off-by: Lior Amsalem <alior@xxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 37380b980e2db2e0dfdb920140c75f3cf2e98a27 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 10:52:54 2014 -0300 dma: mv_xor: Remove dead code The driver currently defines the USE_TIMER macro, but the timer-feature is never used in the code. The XOR and CRC32 results are never used. The 'unmap_xxx' fields are no longer needed, they were made obsolete in commit: 54f8d501e842 dmaengine: remove DMA unmap from drivers. Let's remove all this dead code. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ba87d13721b6fe4a2479871dc4f77c5bd8db3c32 Author: Lior Amsalem <alior@xxxxxxxxxxx> Date: Wed Aug 27 10:52:53 2014 -0300 dma: mv_xor: Reduce interrupts by enabling EOD only when needed This commit unmasks the end-of-chain interrupt and removes the end-of-descriptor command setting on all transactions, except those explicitly flagged with DMA_PREP_INTERRUPT. This allows to raise an interrupt only on chain completion, instead of on each descriptor completion, which reduces interrupt count. Signed-off-by: Lior Amsalem <alior@xxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 0e7488ed01235fdd24ce7f0295dbbea0d45311bb Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 10:52:52 2014 -0300 dma: mv_xor: Remove all interrupt magic numbers This commit replaces the current magic numbers in the interrupt handling with proper macros, which makes more readable and self-documenting. While here replace the BUG() with a noisy WARN_ON(). There's no reason to tear down the entire system for an DMA IRQ error. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit dfc97661bdeadb57d35458430612072119b1c72f Author: Lior Amsalem <alior@xxxxxxxxxxx> Date: Wed Aug 27 10:52:51 2014 -0300 dma: mv_xor: Remove multi-slot support Although the driver supported multiple-slot allocation, only one slot was ever allocated for each transaction. So, given we have no users of the multi-slot support, we can remove it and greatly simplify the code. Signed-off-by: Lior Amsalem <alior@xxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3e4f52e2da9f66ba9c19b9266fa9ffcaee2f3ecc Author: Lior Amsalem <alior@xxxxxxxxxxx> Date: Wed Aug 27 10:52:50 2014 -0300 dma: mv_xor: Simplify the DMA_MEMCPY operation A memory copy operation can be expressed as an XOR operation with one source. This commit removes code duplication in the driver by reusing the XOR operation for the MEMCPY. As an added benefit, we can now put MEMCPY and XOR descriptors on the same chain, which improves performance. Signed-off-by: Lior Amsalem <alior@xxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b8291ddeed581e57327d715d29ffc501b9d48c5f Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 10:52:49 2014 -0300 dma: mv_xor: Replace printk with dev_info This commit replaces a printk(KERN_INFO ...) call with a dev_info() call, which is prefered for drivers. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 834e1678649db1e064ee397cca161a65bacfa801 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 9 15:50:37 2014 +0530 pinctrl: at91: Fix error handling while doing gpiochio_irqchip_add This patch removes a call to panic function when gpiochio_irqchip_add fails and just returns the error to the calling function. Same return value is used to handle the error case and adds a lable to release resources on error. The error message has been improved to indicate failure to add irqchip to gpiochip. This also changes first argument to function at91_gpio_of_irq_setup from struct device_node to struct platform_device. Because The device_node argument was anyway not being used. Passed pdev so that on failure dev_err can use &pdev->dev and log can be associated with proper device. CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 70e4197420a154a2a684b6e7b496dda70b20d9ec Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 9 15:50:36 2014 +0530 pinctrl: at91: Fix failure path in at91_gpio_probe path This fixes the whole error handling in probe function by capturing and returning error values on kernel function like clk_prepare, clk_enable, gpiochip_add etc. CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a77b6ee90dfc3798bdcbdca7a9284d7e8c006af7 Author: Suman Tripathi <stripathi@xxxxxxx> Date: Mon Sep 22 18:31:33 2014 +0530 ahci_xgene: Fix the error print invalid resource for APM X-Gene SoC AHCI SATA Host Controller driver. This patch fixes the error print invalid resource for the APM X-Gene SoC AHCI SATA Host Controller driver. This print was due to the fact that the controller 3 don't have a mux resource. This didn't result in any errors but the print seems like meaningless. Signed-off-by: Loc Ho <lho@xxxxxxx> Signed-off-by: Suman Tripathi <stripathi@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d7bead1b8890c3e47a24db270fdb840ea728d8f0 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Sep 22 09:52:18 2014 -0700 libata: change ata_<foo>_printk routines to return void The return value is not used by callers of these functions nor by uses of all macros so change the functions to return void. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 7a7686bd0d153c0d6e120da6712c9339aaeaa2f9 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 23 16:30:24 2014 +0530 ALSA: ctxfi: sparse warning fixed sparse warning of incorrect type (different address spaces) in cthw20k1.c and cthw20k2.c which was being actually caused as mem_base was of the type unsigned long. Again as mem_base was previously unsigned long , so it required many typecasts in the code to convert interger to pointer. Now after giving the correct type of mem_base as void __iomem * we can also remove those typecasts maintaining the same functionality and logic of the code. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 95f72cf2cdf0e612aeaf36d8af51689882fd64db Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Sep 23 10:38:18 2014 +0200 ALSA: hda - Sort input pins depending on amp caps If one input has a boost and another one has not, and they're equal otherwise, it's more likely you want to use the input with the boost as your primary input. See hda-emu.git/codecs/canonical/cx20590-lenovo-20b2z00bus-ccert-201305-13496 for an example. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 861a04ed15a48e9af7b591cd8ae3bc46aece1733 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Sep 23 10:38:17 2014 +0200 ALSA: hda - Move the function "check_amp_caps" to hda_codec.c The next patch will use it, so make it visible across modules. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit be8af2d54a66911693eddc556e4f7a866670082b Author: Bjørn Forsman <bjorn.forsman@xxxxxxxxx> Date: Sun Sep 14 12:57:50 2014 +0200 kconfig/lxdialog: get ncurses CFLAGS with pkg-config This makes "make menuconfig" also work on systems where ncurses is not installed in a standard location (such as on NixOS). This patch changes ccflags() so that it tries pkg-config first, and only if pkg-config fails does it go back to the fallback/manual checks. This is the same algorithm that ldflags() already uses. Signed-off-by: Bjørn Forsman <bjorn.forsman@xxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 8c8f2f6fc1c8eec9e14810f21386fe295a42a40f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 23 04:15:48 2014 +0200 ASoC: Fix snd_soc_{new,free}_ac97_codec() locking removal Commit e3f205a72c45 ("ASoC: Remove locking in snd_soc_{new,free}_ac97_codec()") overlooked a unlock on one of the error paths. Fixes: e3f205a72c45 ("ASoC: Remove locking in snd_soc_{new,free}_ac97_codec()") Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f955371ca9d3986bca100666041fcfa9b6d21962 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Tue Jan 7 17:03:06 2014 +0000 x86: remove the Xen-specific _PAGE_IOMAP PTE flag The _PAGE_IO_MAP PTE flag was only used by Xen PV guests to mark PTEs that were used to map I/O regions that are 1:1 in the p2m. This allowed Xen to obtain the correct PFN when converting the MFNs read from a PTE back to their PFN. Xen guests no longer use _PAGE_IOMAP for this. Instead mfn_to_pfn() returns the correct PFN by using a combination of the m2p and p2m to determine if an MFN corresponds to a 1:1 mapping in the the p2m. Remove _PAGE_IOMAP, replacing it with _PAGE_UNUSED2 to allow for future uses of the PTE flag. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Acked-by: "H. Peter Anvin" <hpa@xxxxxxxxx> commit 7f2f88224517cdaad68b772b2a2095b87dc72886 Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Wed Jan 8 14:01:01 2014 +0000 x86/xen: do not use _PAGE_IOMAP PTE flag for I/O mappings Since mfn_to_pfn() returns the correct PFN for identity mappings (as used for MMIO regions), the use of _PAGE_IOMAP is not required in pte_mfn_to_pfn(). Do not set the _PAGE_IOMAP flag in pte_pfn_to_mfn() and do not use it in pte_mfn_to_pfn(). This will allow _PAGE_IOMAP to be removed, making it available for future use. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> commit 31668511424110ad470315c6a63dec9a10f1a7ba Author: David Vrabel <david.vrabel@xxxxxxxxxx> Date: Thu Apr 10 18:46:45 2014 +0100 x86: skip check for spurious faults for non-present faults If a fault on a kernel address is due to a non-present page, then it cannot be the result of stale TLB entry from a protection change (RO to RW or NX to X). Thus the pagetable walk in spurious_fault() can be skipped. See the initial if in spurious_fault() and the tests in spurious_fault_check()) for the set of possible error codes checked for spurious faults. These are: IRUWP Before x00xx && ( 1xxxx || xxx1x ) After ( 10001 || 00011 ) && ( 1xxxx || xxx1x ) Thus the new condition is a subset of the previous one, excluding only non-present faults (I == 1 and W == 1 are mutually exclusive). This avoids spurious_fault() oopsing in some cases if the pagetables it attempts to walk are not accessible. This obscures the location of the original fault. This also fixes a crash with Xen PV guests when they access entries in the M2P corresponding to device MMIO regions. The M2P is mapped (read-only) by Xen into the kernel address space of the guest and this mapping may contains holes for non-RAM regions. Read faults will result in calls to spurious_fault(), but because the page tables for the M2P mappings are not accessible by the guest the pagetable walk would fault. This was not normally a problem as MMIO mappings would not normally result in a M2P lookup because of the use of the _PAGE_IOMAP bit the PTE. However, removing the _PAGE_IOMAP bit requires M2P lookups for MMIO mappings as well. Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: Dave Hansen <dave.hansen@xxxxxxxxx> commit 342cd340f6e73a974053dd09ed1bf8a9c1ed4458 Author: Daniel Kiper <daniel.kiper@xxxxxxxxxx> Date: Mon Sep 8 15:22:18 2014 +0200 xen/efi: Directly include needed headers I discovered that some needed stuff is defined/declared in headers which are not included directly. Currently it works but if somebody remove required headers from currently included headers then build will break. So, just in case directly include all needed headers. Signed-off-by: Daniel Kiper <daniel.kiper@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 495daef902425e241a0b95791f3aeb737928256a Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 8 14:17:35 2014 +0300 xen-scsiback: clean up a type issue in scsiback_make_tpg() This code was confusing because we had an unsigned long and then we compared it to UINT_MAX and then we stored it in a u16. How many bytes is this supposed to have: 2, 4 or 16??? I've made it a u16 throughout. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d9b1e6374b3a9b88774e30d0c6bf6e394cd10b76 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Sep 8 14:15:42 2014 +0300 xen-scsifront: use GFP_ATOMIC under spin_lock This function is only called with a spin_lock held and IRQs disabled. The allocation is not allowed to sleep and NOIO is not sufficient, it has to be ATOMIC. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Reviewed-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 15d036094b75e63a3817ec4f836959d38cecb1e6 Author: Juergen Gross <jgross@xxxxxxxx> Date: Thu Aug 28 06:44:13 2014 +0200 MAINTAINERS: Add xen pvscsi maintainer Add myself as maintainer for the Xen pvSCSI drivers. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit d9d660f6e562a47b4065eeb7e538910b0471b988 Author: Juergen Gross <jgross@xxxxxxxx> Date: Thu Aug 28 06:44:12 2014 +0200 xen-scsiback: Add Xen PV SCSI backend driver Introduces the Xen pvSCSI backend. With pvSCSI it is possible for a Xen domU to issue SCSI commands to a SCSI LUN assigned to that domU. The SCSI commands are passed to the pvSCSI backend in a driver domain (usually Dom0) which is owner of the physical device. This allows e.g. to use SCSI tape drives in a Xen domU. The code is taken from the pvSCSI implementation in Xen done by Fujitsu based on Linux kernel 2.6.18. Changes from the original version are: - port to upstream kernel - put all code in just one source file - adapt to Linux style guide - use target core infrastructure instead doing pure pass-through - enable module unloading - support SG-list in grant page(s) - support task abort - remove redundant struct backend - allocate resources dynamically - correct minor error in scsiback_fast_flush_area - free allocated resources in case of error during I/O preparation - remove CDB emulation, now handled by target core infrastructure Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 8beb8d4c91d652617dc992de565ec9904361c33e Author: Juergen Gross <jgross@xxxxxxxx> Date: Thu Aug 28 06:44:11 2014 +0200 xen-scsifront: Add Xen PV SCSI frontend driver Introduces the Xen pvSCSI frontend. With pvSCSI it is possible for a Xen domU to issue SCSI commands to a SCSI LUN assigned to that domU. The SCSI commands are passed to the pvSCSI backend in a driver domain (usually Dom0) which is owner of the physical device. This allows e.g. to use SCSI tape drives in a Xen domU. The code is taken from the pvSCSI implementation in Xen done by Fujitsu based on Linux kernel 2.6.18. Changes from the original version are: - port to upstream kernel - put all code in just one source file - move module to appropriate location in kernel tree - adapt to Linux style guide - some minor code simplifications - replace constants with defines - remove not used defines - add support for larger SG lists by putting them in a granted page Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit e124c9a2c3c4c51555fe6f0bc214fe1b5cce3666 Author: Juergen Gross <jgross@xxxxxxxx> Date: Thu Aug 28 06:44:10 2014 +0200 xen: Add Xen pvSCSI protocol description Add the definition of pvSCSI protocol used between the pvSCSI frontend in a XEN domU and the pvSCSI backend in a XEN driver domain (usually Dom0). This header was originally provided by Fujitsu for Xen based on Linux 2.6.18. Changes are: - Added comments. - Adapt to Linux style guide. - Add support for larger SG-lists by putting them in an own granted page. - Remove stale definitions. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 854072dd0f73b8e4238c88bdf0dd2a8db0239c1c Author: Juergen Gross <jgross@xxxxxxxx> Date: Thu Aug 28 06:44:09 2014 +0200 xen/events: support threaded irqs for interdomain event channels Export bind_interdomain_evtchn_to_irq() so drivers can use threaded interrupt handlers with: irq = bind_interdomain_evtchn_to_irq(remote_dom, remote_port); if (irq < 0) /* error */ ret = request_threaded_irq(...); Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 46e3626adb86be2ff1321d26107cb75df07a7f4e Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Tue Aug 26 23:38:44 2014 +0800 xen/grant-table: refactor error cleanup in grow_gnttab_list() The cleanup loop in grow_gnttab_list() is safe from the underflow of the unsigned 'i' since nr_glist_frames is >= 1, but refactor it anyway. Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 4fbb67e3c87b806ad54445a1b4a9c6bde2359c98 Author: Matt Rushton <mvrushton@xxxxxxxxx> Date: Mon Aug 11 11:57:57 2014 -0700 xen/setup: Remap Xen Identity Mapped RAM Instead of ballooning up and down dom0 memory this remaps the existing mfns that were replaced by the identity map. The reason for this is that the existing implementation ballooned memory up and and down which caused dom0 to have discontiguous pages. In some cases this resulted in the use of bounce buffers which reduced network I/O performance significantly. This change will honor the existing order of the pages with the exception of some boundary conditions. To do this we need to update both the Linux p2m table and the Xen m2p table. Particular care must be taken when updating the p2m table since it's important to limit table memory consumption and reuse the existing leaf pages which get freed when an entire leaf page is set to the identity map. To implement this, mapping updates are grouped into blocks with table entries getting cached temporarily and then released. On my test system before: Total pages: 2105014 Total contiguous: 1640635 After: Total pages: 2105014 Total contiguous: 2098904 Signed-off-by: Matthew Rushton <mrushton@xxxxxxxxxx> Signed-off-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit 2909ef28b1d385210d4fef551499debc914f30e4 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Mon Sep 22 23:42:54 2014 +0000 ftracetest: Add kprobe basic testcases Add basic testcases for kprobe dynamic events. This also shows that the ftracetest accepts sub-directory for new testcases. Link: http://lkml.kernel.org/p/20140922234254.23415.46964.stgit@xxxxxxxxxxxxxxxxxxxx Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 03e166450fca3867a8e940d13d650f11aa03ee90 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Mon Sep 22 23:42:52 2014 +0000 ftracetest: Add ftrace basic testcases Add ftrace basic testcases. This just checks ftrace debugfs interface works as it is designed. Link: http://lkml.kernel.org/p/20140922234252.23415.62897.stgit@xxxxxxxxxxxxxxxxxxxx Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 6e68e6c5e4b67a02aaa406da6124ea5cae7d5e10 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Mon Sep 22 23:42:50 2014 +0000 ftracetest: Initial commit for ftracetest ftracetest is a collection of testcase shell-scripts for ftrace. To avoid regressions of ftrace, these testcases check correct ftrace behaviors. If someone would like to add any features on ftrace, the patch series should have at least one testcase for checking the new behavior. Link: http://lkml.kernel.org/p/20140922234250.23415.68758.stgit@xxxxxxxxxxxxxxxxxxxx Acked-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 8494294b66dbb4d7996dd944575eebd4ac2a126b Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Mon Sep 22 15:09:46 2014 -0500 ata: qcom: Add device tree bindings information Add device tree binding for Qualcomm AHCI SATA controller and specifically the sata controller on the IPQ806x family of SoCs. We can utilize the "generic-ahci" platform driver with the addition of the sata phy to enable SATA support on Qualcomm SoCs with AHCI controllers. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ee309f382985cbb29d85965a2de96bc715260463 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Mon Sep 22 15:09:45 2014 -0500 ahci-platform: Bump max number of clocks to 5 Qualcomm IPQ806x SoCs with SATA controllers need 5 clocks to be enabled. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 33044dc408e6e6bb7f270c0a2e12598ef5592987 Merge: f6d31f4 2ebff7b Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 23 22:55:51 2014 +1000 Merge branch 'xfs-misc-fixes-for-3.18-2' into for-next commit 2ebff7bbd785c86e12956388b9e6f6bb8ea5d21e Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Sep 23 22:55:00 2014 +1000 xfs: flush entire last page of old EOF on truncate up On a sub-page sized filesystem, truncating a mapped region down leaves us in a world of hurt. We truncate the pagecache, zeroing the newly unused tail, then punch blocks out from under the page. If we then truncate the file back up immediately, we expose that unmapped hole to a dirty page mapped into the user application, and that's where it all goes wrong. In truncating the page cache, we avoid unmapping the tail page of the cache because it still contains valid data. The problem is that it also contains a hole after the truncate, but nobody told the mm subsystem that. Therefore, if the page is dirty before the truncate, we'll never get a .page_mkwrite callout after we extend the file and the application writes data into the hole on the page. Hence when we come to writing that region of the page, it has no blocks and no delayed allocation reservation and hence we toss the data away. This patch adds code to the truncate up case to solve it, by ensuring the partial page at the old EOF is always cleaned after we do any zeroing and move the EOF upwards. We can't actually serialise the page writeback and truncate against page faults (yes, that problem AGAIN) so this is really just a best effort and assumes it is extremely unlikely that someone is concurrently writing to the page at the EOF while extending the file. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 7981a28f1ab5259754843b65c21879337785cb14 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Mon Sep 15 11:37:38 2014 -0500 amd64_edac: Modify usage of amd64_read_dct_pci_cfg() Rationale behind this change: - F2x1xx addresses were stopped from being mapped explicitly to DCT1 from F15h (OR) onwards. They use _dct[0:1] mechanism to access the registers. So we should move away from using address ranges to select DCT for these families. - On newer processors, the address ranges used to indicate DCT1 (0x140, 0x1a0) have different meanings than what is assumed currently. Changes introduced: - amd64_read_dct_pci_cfg() now takes in dct value and uses it for 'selecting the dct' - Update usage of the function. Keep in mind that different families have specific handling requirements - Remove [k8|f10]_read_dct_pci_cfg() as they don't do much different from amd64_read_pci_cfg() - Move the k8 specific check to amd64_read_pci_cfg - Remove f15_read_dct_pci_cfg() and move logic to amd64_read_dct_pci_cfg() - Remove now needless .read_dct_pci_cfg Testing: - Tested on Fam 10h; Fam15h Models: 00h, 30h; Fam16h using 'EDAC_DEBUG' and mce_amd_inj - driver obtains info from F2x registers and caches it in pvt structures correctly - ECC decoding works fine Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Link: http://lkml.kernel.org/r/1410799058-3149-1-git-send-email-aravind.gopalakrishnan@xxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit a211e0136c9a3653acba13ec3b9a2f49c3c44f5e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:54:07 2014 -0400 fm10k: Add support for PTP This change adds support for the Linux PTP Hardware clock and timestamping functionality provided by the hardware. There are actually two cases that this timestamping is meant to support. The first case would be an ordinary clock scenario. In this configuration the host interface does not have access to BAR 4. However all of the host interfaces should be locked into the same boundary clock region and as such they are all on the same clock anyway. With this being the case they can synchronize among themselves and only need to adjust the offset since they are all on the same clock with the same frequency. The second case is a boundary clock scenario. This is a special case and would require both BAR 4 access, and a means of presenting a netdev per boundary region. The current plan is to use DSA at some point in the future to provide these interfaces, but the DSA portion is still under development. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5f226ddb5b0c477bd512085b0b1d1052a24f0020 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:53:40 2014 -0400 fm10k: Add support for ptp to hw specific files This change adds the messaging support needed to support PTP. In the case of Tx timestamps it is necessary for the Switch Management entity to return the frames via the mailbox as the host interface cannot know which port the timestamp will be delivered to. In addition there is only one clock on the entire switch, as such the entity that has BAR 4 access is the only one who can actually update the frequency as it is the only one with access. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7461fd913afe3a830b47cf133a6ad53e49a5db8b Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:53:23 2014 -0400 fm10k: Add support for debugfs This patch adds limited debugfs support for the driver. Most of the functionality needed for dumping registers is already provided via ethtool. The only thing we saw that we really neeed was the ability to dump the descriptor rings so as such this patch will add a fm10k directory containing a listing of directories each one with a unique PCI Bus, Device, and Function number. Each of those BDF directories will have a list of q_vectors, and the q_vectors will contain a file for each of the Rx/Tx rings that are a part of the vector. For example: # ls -RD /sys/kernel/debug/fm10k/ /sys/kernel/debug/fm10k/: 0000:01:00.0 /sys/kernel/debug/fm10k/0000:01:00.0: q_vector.000 q_vector.001 q_vector.002 q_vector.003 /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.000: rx_ring.000 tx_ring.000 /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.001: rx_ring.001 tx_ring.001 /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.002: rx_ring.002 tx_ring.002 /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.003: rx_ring.003 tx_ring.003 # cat /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.000/rx_ring.000 DES DATA RSS STATERR LENGTH VLAN DGLORT SGLORT TIMESTAMP --------------------------------------------------------------------------- 000 0x00000000 0x00000000 0x00000003 0x002a 0x0000 0x0000 0x0000 0x13951807dc4fedf0 001 0x00000000 0x00000000 0x00000003 0x002a 0x0000 0x0000 0x0000 0x1395180906c9f2c8 002 0x3731c000 0x00000000 0x00000000 0x0000 0x0000 0x0000 0x0000 0x0000000000000000 003 0x3731d000 0x00000000 0x00000000 0x0000 0x0000 0x0000 0x0000 0x0000000000000000 004 0xaab3a000 0x00000000 0x00000000 0x0000 0x0000 0x0000 0x0000 0x0000000000000000 ... # cat /sys/kernel/debug/fm10k/0000:01:00.0/q_vector.000/tx_ring.000 DES BUFFER_ADDRESS LENGTH VLAN MSS HDRLEN FLAGS --------------------------------------------------------- 000 0x00000000aa8a1002 0x005a 0x0000 0x0000 0x0000 0xc0 001 0x00000000aa8a2002 0x005a 0x0000 0x0000 0x0000 0xc0 002 0x000000006bc13202 0x004e 0x0000 0x0000 0x0000 0xc0 003 0x000000006bc13c02 0x002a 0x0000 0x0000 0x0000 0xe1 004 0x000000006bc13602 0x0062 0x0000 0x0000 0x0000 0xc0 Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 9f801abc3d4fe1e770268ae4e610556e79be6fca Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:53:08 2014 -0400 fm10k: Add support for IEEE DCBx This patch adds support for management of the limited QOS features of the FM10000 interface. Specifically we can support up to 8 traffic classes, however the part only provides 1 Rx and 1 Tx FIFO in the host interface and as a result this can lead to head-of-line blocking on Rx. This can be avoided by setting PFC only for priorities that cannot afford to drop frames. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 883a9ccbae560a5b8be2a403d4a0744cd60b784c Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:52:09 2014 -0400 fm10k: Add support for SR-IOV to driver This patch combines the recently added VF messaging and configuration functionality with the interfaces provided by the kernel to allow for configuration and management of SR-IOV. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c265386553871405f3324561298bb824f7dc6a6c Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:51:57 2014 -0400 fm10k: Add support for SR-IOV to PF core files This change adds a set of functions to fm10k_pf.c which allows for configuring the VF via a set of standardized TLV messages. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5cb8db4a4cbc6dff56959a6331e9d62fd461f719 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:51:40 2014 -0400 fm10k: Add support for VF This patch provides the functions necessary to configure the VF making use of the same API pointers as the PF. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b651957c202cabc8d5abfc5ad1ddc2607daf6a4f Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:51:27 2014 -0400 fm10k: Add support for PF <-> VF mailbox This patch adds support for the PF <-> VF mailbox. It functions similar to the PF <-> SM mailbox however there are several modifications made to improve the reliability of the mailbox itself. In addition the PF/VF mailbox is much smaller an only supports a total size of 16 DWORDs vs the 1024 DWORDS provided for the PF/SM mailbox. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5cd5e2e98205df377d93fb8dd15c6f3ed4bfa1d6 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:51:15 2014 -0400 fm10k: Add support for MACVLAN acceleration This patch adds support for L2 MACVLAN by making use of the fact that the RRC provides a unique tag per filter called a Global Resource Tag, or GLORT. In the case of this offload what I have done is assigned a linear block of these so that each GLORT represents one of the MACVLAN netdevs. By doing this I can share the Rx queues and Tx queues for all of the MACVLAN netdevs while allowing them to be demuxed in the Rx cleanup path. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 76a540d4728a379e022fb2e2e8766d502b6d345c Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:51:02 2014 -0400 fm10k: Add support for netdev offloads This patch adds support for basic offloads including TSO, Tx checksum, Rx checksum, Rx hash, and the same features applied to VXLAN/NVGRE tunnels. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit aa3ac822689f5c4d8961a8707edba9b6bf4631a3 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:50:42 2014 -0400 fm10k: Add support for multiple queues This patch takes the driver from supporting a single queue to supporting multiple queues. The upper queue limit for the PF is 128 queues and the upper limit for the VF is (128 / num_vfs) rounded down to nearest power of 2. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 19ae1b3fb99c2d5a5a7540c296c4cb4df3e7f552 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:50:27 2014 -0400 fm10k: Add support for PCI power management and error handling Add PCI power management and error handling to allow the device to support suspend/resume and recovery of any PCIe errors. The fm10k devices do not support wake on LAN, and there is no plan to add this as a feature. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 82dd0f7ee9a3b6e5d861a7c550c738ec308d37c5 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:50:15 2014 -0400 fm10k: Add ethtool support This patch adds basic ethtool support to the device to allow for configuration. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b101c9626477b1f9d30f31d11442a9cc80c98d7c Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:50:03 2014 -0400 fm10k: Add transmit and receive fastpath and interrupt handlers This change adds the transmit and receive fastpath and interrupt handlers. With this code in place the network device is now able to send and receive frames over the network interface using a single queue. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> CC: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 3abaae42e1bf686bf5c43063a00b0f4ddbb14373 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:49:43 2014 -0400 fm10k: Add Tx/Rx hardware ring bring-up/tear-down This patch adds support for allocating, configuring, and freeing Tx/Rx ring resources. With these changes in place the descriptor queues are in a state where they are ready to transmit or receive if provided buffers. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b7d8514c2320138be24b04e81a83afe1fa23d3c1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:49:25 2014 -0400 fm10k: Add service task to handle delayed events This patch adds support for the service task. The service task takes care of all processes that cannot be done in interrupt context such as resets, stats updates, TC prio updates, and checking for hung or detached devices. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e27ef599abc559dfc9b40910071cb6f27277e243 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:49:03 2014 -0400 fm10k: add support for Tx/Rx rings This change adds the defines and structures necessary to support both Tx and Rx descriptor rings. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 18283cad0a33b4ae6d25507b8b58cbebab49aad0 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:48:51 2014 -0400 fm10k: Add interrupt support This patch set adds interrupt support for the fm10k interfaces. The interfaces themselves only support MSI-X, so neither MSI or legacy interrupts are used. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 504c5eac1d7ed9498d7bf797a23592a8f2f9f234 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:48:29 2014 -0400 fm10k: Add support for ndo_open/stop Add support for brining the interface up/down. This is still primitive yet as we have not yet added support for the descriptor queues. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8f5e20d45c2bc25c882bc0c13fb136d31239ea96 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:48:20 2014 -0400 fm10k: Add support for L2 filtering This patch adds support for L2 filtering. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0e7b364408176362a6370f7182a8fa1c5c4e0628 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:48:10 2014 -0400 fm10k: Add netdev Now that we have the ability to configure the basic settings on the device we can start allocating and configuring a netdev for the interface. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 401b5383c6c9c5b85e1a60bf9de4c7f2dd09d114 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:47:58 2014 -0400 fm10k: Add support for configuring PF interface This patch adds support for the operations which will configure filters on the interface. In addition with these patches we begin to introduce the PF messages that will be sent to or received from the Switch Management entity. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b6fec18fd16bbf719c1c0aa83e41590573b4c58c Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:47:46 2014 -0400 fm10k: Add support for PF This patch adds basic support for the PF. With this it is possible to bring up the interface, but without being able to configure any of the filters on the interface itself. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1337e6b9775639ce10b4b454b8d018470886d7f3 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:47:33 2014 -0400 fm10k: Implement PF <-> SM mailbox operations This patch adds support for the mailbox that connects the PF to the Switch Management entity. This mailbox will pass TLV formatted messages between the two entities by using a pair of shared ring buffers. The primary use of the mailbox is to configure L2 forwarding addresses, VLANs, and general resource allocation from the switch. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6b1f201f1a32cc88af405b07cc2cfd5dcc308df1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:47:13 2014 -0400 fm10k: Add support for mailbox This patch adds generic mailbox support. The general idea of the mailboxes is to use a pair of ring buffers, one for request, one for response to send data between the local driver and some remote entity be it the PF of the Switch Manager. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 04a5aefbfb0109961e1bc3c84ecee00693f78005 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:46:45 2014 -0400 fm10k: Add support for basic interaction with hardware This patch adds the basic read/write operations for accessing the hardware. In addition to read read functionality the read functions also provide surprise remove detection in the event that the device either loses power or is removed. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ae17db0ee5eefb8a605d5af31b19e86f7deae7e7 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:46:30 2014 -0400 fm10k: Add support for TLV message parsing and generation This patch adds support for the TVL message formats supported by the PF, VF, and Switch Management entity. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 6d2ce9001bf3ec9d149be044edf303d0ff1f5cf1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:46:20 2014 -0400 fm10k: Add register defines and basic structures This patch adds the basic defines and structures needed by the PF for operation. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b3890e3074766817923c6910ce4827b82ea5f96f Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Sep 20 19:46:05 2014 -0400 fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver This patch adds the beginning framework onto which I am going to add the fm10k driver which supports the Intel(R) FM10000 Ethernet Switch Host Interface. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a64efe15cf28f9d784f7a23cb0de2a4f656da7a4 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Wed Sep 10 21:18:53 2014 -0500 dmaengine: qcom_adm: Add device tree binding Add device tree binding support for the QCOM ADM DMA driver. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 849a8c25c80a2cde824072813bf4aabbc79b8789 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Sep 9 13:35:52 2014 +0530 pinctrl: lantiq: Release gpiochip resources in fail case This patch releases gpiochip resources with of_gpiochip_remove and gpiochip_remove in failure cases. CC: John Crispin <blogic@xxxxxxxxxxx> CC: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3dac1918a4912cea9375e76cb3916b751cef22db Author: Stefan Agner <stefan@xxxxxxxx> Date: Sat Sep 6 18:25:04 2014 +0200 pinctrl: imx: detect uninitialized pins The pinctrl driver initialized the register offsets for the pins with 0. On Vybrid an offset of 0 is a valid offset for the pinctrl mux register. So far, this was solved using the ZERO_OFFSET_VALID flag which allowed offsets of 0. However, this does not allow to verify whether a pins struct imx_pmx_func was initialized or not. Use signed offset values for register offsets and initialize those with -1 in order to detect uninitialized offset values reliable. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 48e68ff5e55af6907d3f90233e5c4d5601a628a6 Author: Bernhard Thaler <bernhard.thaler@xxxxxxx> Date: Tue Sep 23 11:01:07 2014 +0200 Bluetooth: Check for SCO type before setting retransmission effort SCO connection cannot be setup to devices that do not support retransmission. Patch based on http://permalink.gmane.org/gmane.linux.bluez.kernel/7779 and adapted for this kernel version. Code changed to check SCO/eSCO type before setting retransmission effort and max. latency. The purpose of the patch is to support older devices not capable of eSCO. Tested on Blackberry 655+ headset which does not support retransmission. Credits go to Alexander Sommerhuber. Signed-off-by: Bernhard Thaler <bernhard.thaler@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a5062dee82826f54529c89d0e58211897b1b4c68 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Tue Sep 23 09:04:49 2014 +0200 ALSA: hda - add explicit include of err.h Since every caller of snd_hda_jack_detect_enable_callback needs to use the macros from err.h, it makes sense to include it directly from hda_jack.h. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 48d11e067fc90ec9fc9c8f7ab982e5a83bf1887b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Sep 22 12:26:10 2014 -0700 mmc: Consolidate emmc tuning blocks The same tuning block exists in the dw_mmc h.c and sdhci-msm.c files. Move these into mmc.c so that they can be shared across drivers. Reported-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ffed1b94cbf869e81de0525608193f367db2ba36 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Sep 22 12:26:09 2014 -0700 mmc: sdhci-msm: Make tuning block table endian agnostic If we're tuning on a big-endian CPU we'll never determine we properly tuned the device because we compare the data we received from the controller with a table that assumes the CPU is little-endian. Change the table to be an array of bytes instead of 32-bit words so we can use memcmp() without needing to byte-swap every word depending on the endianess of the CPU. Cc: Asutosh Das <asutoshd@xxxxxxxxxxxxxx> Cc: Venkat Gopalakrishnan <venkatg@xxxxxxxxxxxxxx> Reviewed-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Fixes: 415b5a75da43 "mmc: sdhci-msm: Add platform_execute_tuning implementation" Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d4d11449088ee9aca16fd1884b852b8b73a4bda1 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Mon Sep 22 09:57:42 2014 -0600 mmc: don't request CD IRQ until mmc_start_host() As soon as the CD IRQ is requested, it can trigger, since it's an externally controlled event. If it does, delayed_work host->detect will be scheduled. Many host controller probe()s are roughly structured as: *_probe() { host = sdhci_pltfm_init(); mmc_of_parse(host->mmc); rc = sdhci_add_host(host); if (rc) { sdhci_pltfm_free(); return rc; } In 3.17, CD IRQs can are enabled quite early via *_probe() -> mmc_of_parse() -> mmc_gpio_request_cd() -> mmc_gpiod_request_cd_irq(). Note that in linux-next, mmc_of_parse() calls mmc_gpio*d*_request_cd() rather than mmc_gpio_request_cd(), and mmc_gpio*d*_request_cd() doesn't call mmc_gpiod_request_cd_irq(). However, this issue still exists if mmc_gpio_request_cd() is called directly before mmc_start_host(). sdhci_add_host() may fail part way through (e.g. due to deferred probe for a vmmc regulator), and sdhci_pltfm_free() does nothing to unrequest the CD IRQ nor cancel the delayed_work. sdhci_pltfm_free() is coded to assume that if sdhci_add_host() failed, then the delayed_work cannot (or should not) have been triggered. This can lead to the following with CONFIG_DEBUG_OBJECTS_* enabled, when kfree(host) is eventually called inside sdhci_pltfm_free(): WARNING: CPU: 2 PID: 6 at lib/debugobjects.c:263 debug_print_object+0x8c/0xb4() ODEBUG: free active (active state 0) object type: timer_list hint: delayed_work_timer_fn+0x0/0x18 The object being complained about is host->detect. There's no need to request the CD IRQ so early; mmc_start_host() already requests it. For most SDHCI hosts at least, the typical call path that does this is: *_probe() -> sdhci_add_host() -> mmc_add_host() -> mmc_start_host(). Therefore, remove the call to mmc_gpiod_request_cd_irq() from mmc_gpio_request_cd(). This also matches mmc_gpio*d*_request_cd(), which already doesn't call mmc_gpiod_request_cd_irq(). However, some host controller drivers call mmc_gpio_request_cd() after mmc_start_host() has already been called, and assume that this will also call mmc_gpiod_request_cd_irq(). Update those drivers to explicitly call mmc_gpiod_request_cd_irq() themselves. Ideally, these drivers should be modified to move their call to mmc_gpio_request_cd() before their call to mmc_add_host(). However that's too large a change for stable. This solves the problem (eliminates the kernel error message above), since it guarantees that the IRQ can't trigger before mmc_start_host() is called. The critical point here is that once sdhci_add_host() calls mmc_add_host() -> mmc_start_host(), sdhci_add_host() is coded not to fail. In other words, if there's a chance that mmc_start_host() may have been called, and CD IRQs triggered, and the delayed_work scheduled, sdhci_add_host() won't fail, and so cleanup is no longer via sdhci_pltfm_free() (which doesn't free the IRQ or cancel the work queue) but instead must be via sdhci_remove_host(), which calls mmc_remove_host() -> mmc_stop_host(), which does free the IRQ and cancel the work queue. CC: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Alexandre Courbot <acourbot@xxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7abbb8f928e5b7cea1edd077131b2ace665c6712 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 23 16:20:11 2014 +1000 xfs: xfs_swap_extent_flush can be static Fix sparse warning introduced by commit 4ef897a ("xfs: flush both inodes in xfs_swap_extents"). Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 02cc18764c753befcdc163d1bc668a6599a54585 Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 23 16:15:45 2014 +1000 xfs: xfs_buf_write_fail_rl_state can be static Fix sparse warning introduced by commit ac8809f9 ("xfs: abort metadata writeback on permanent errors"). Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 3cf6b0151ba584714f6eafb99bc66d7326efeed7 Merge: b25c2ff 9def39be d3ac21c 0da1d4a 3afed06 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Mon Sep 22 23:14:40 2014 -0700 Merge branches 'tiny/bloat-o-meter-no-SyS', 'tiny/more-procless', 'tiny/no-advice', 'tiny/tinyconfig' and 'tiny/x86-boot-compressed-use-yn' into tiny/next commit ea95961df714f7fc446aa4bedfc61510ed1b59cc Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Tue Sep 23 16:11:43 2014 +1000 xfs: xfs_rtget_summary can be static Fix sparse warning introduced by commit afabfd3 ("xfs: combine xfs_rtmodify_summary and xfs_rtget_summary"). Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e3cf17962a757e59fed2cbcbda6373c1b35a35dd Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 23 16:05:55 2014 +1000 xfs: remove second xfs_quota.h inclusion in xfs_icache.c xfs_quota.h was included twice. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit fb040131561a6b34cefb92cdf598218104abeda0 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 23 16:05:32 2014 +1000 xfs: don't ASSERT on corrupt ftype xfs_dir3_data_get_ftype() gets the file type off disk, but ASSERTs if it's invalid: ASSERT(type < XFS_DIR3_FT_MAX); We shouldn't ASSERT on bad values read from disk. V3 dirs are CRC-protected, but V2 dirs + ftype are not. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8af3dcd3c89aef10375bdd79d5f336b22b57487c Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Sep 23 15:57:59 2014 +1000 xfs: xlog_cil_force_lsn doesn't always wait correctly When running a tight mount/unmount loop on an older kernel, RedHat QE found that unmount would occasionally hang in xfs_buf_unpin_wait() on the superblock buffer. Tracing and other debug work by Eric Sandeen indicated that it was hanging on the writing of the superblock during unmount immediately after logging the superblock counters in a synchronous transaction. Further debug indicated that the synchronous transaction was not waiting for completion correctly, and we narrowed it down to xlog_cil_force_lsn() returning NULLCOMMITLSN and hence not pushing the transaction in the iclog buffer to disk correctly. While this unmount superblock write code is now very different in mainline kernels, the xlog_cil_force_lsn() code is identical, and it was bisected to the backport of commit f876e44 ("xfs: always do log forces via the workqueue"). This commit made the CIL push asynchronous for log forces and hence exposed a race condition that couldn't occur on a synchronous push. Essentially, the xlog_cil_force_lsn() relied implicitly on the fact that the sequence push would be complete by the time xlog_cil_push_now() returned, resulting in the context being pushed being in the committing list. When it was made asynchronous, it was recognised that there was a race condition in detecting whether an asynchronous push has started or not and code was added to handle it. Unfortunately, the fix was not quite right and left a race condition where it it would detect an empty CIL while a push was in progress before the context had been added to the committing list. This was incorrectly seen as a "nothing to do" condition and so would tell xfs_log_force_lsn() that there is nothing to wait for, and hence it would push the iclogbufs in memory. The fix is simple, but explaining the logic and the race condition is a lot more complex. The fix is to add the context to the committing list before we start emptying the CIL. This allows us to detect the difference between an empty "do nothing" push and a push that has not started by adding a discrete "emptying the CIL" state to avoid the transient, incorrect "empty" condition that the (unchanged) waiting code was seeing. Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f6d31f4b0462898896ba68e491662958ce37d095 Merge: a4241ae 8b5279e Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 23 15:51:14 2014 +1000 Merge branch 'xfs-shift-extents-rework' into for-next commit 8b5279e33f241a074a9c8649bba8f77a2167b798 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 23 15:39:05 2014 +1000 xfs: only writeback and truncate pages for the freed range xfs_free_file_space() only affects the range of the file for which space is being freed. It currently writes and truncates the page cache from the start offset of the free to EOF. Modify xfs_free_file_space() to write back and truncate page cache of just the range being freed. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit f71721d061e872a39b2680d13f309c1eb6893438 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 23 15:39:05 2014 +1000 xfs: writeback and inval. file range to be shifted by collapse The collapse range operation currently writes the entire file before starting the collapse to avoid changes in the in-core extent list due to writeback causing the extent count to change. Now that collapse range is fsb based rather than extent index based it can sustain changes in the extent list during the shift sequence without disruption. Modify xfs_collapse_file_space() to writeback and invalidate pages associated with the range of the file to be shifted. xfs_free_file_space() currently has similar behavior, but the space free need only affect the region of the file that is freed and this could change in the future. Also update the comments to reflect the current implementation. We retain the eofblocks trim permanently as a best option for dealing with delalloc extents. We don't shift delalloc extents because this scenario only occurs with post-eof preallocation (since data must be flushed such that the cache can be invalidated and data can be shifted). That means said space must also be initialized before being shifted into the accessible region of the file only to be immediately truncated off as the last part of the collapse. In other words, the eofblocks trim will happen anyways, we just run it first to ensure the file remains in a consistent state throughout the collapse. Finally, detect and fail explicitly in the event of a delalloc extent during the extent shift. The implementation does not support delalloc extents and the caller is expected to prevent this scenario in advance as is done by collapse. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit a979bdfea10a61dce0055b4d416d640f4f5f495e Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 23 15:39:04 2014 +1000 xfs: refactor single extent shift into xfs_bmse_shift_one() helper xfs_bmap_shift_extents() has a variety of conditions and error checks that make the logic difficult to follow and indent heavy. Refactor the loop body of this function into a new xfs_bmse_shift_one() helper. This simplifies the error checks, eliminates index decrement on merge hack by pushing the index increment down into the helper, and makes the code more readable by reducing multiple levels of indentation. This is a code refactor only. The behavior of extent shift and collapse range is not modified. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit ddb19e3180fa42362a04e86771d758be1de0bb13 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 23 15:38:09 2014 +1000 xfs: refactor shift-by-merge into xfs_bmse_merge() helper The extent shift mechanism in xfs_bmap_shift_extents() is complicated and handles several different, non-deterministic scenarios. These include extent shifts, extent merges and potential btree updates in either of the former scenarios. Refactor the code to be more linear and readable. The loop logic in xfs_bmap_shift_extents() and some initial error checking is adjusted slightly. The associated btree lookup and update/delete operations are condensed into single blocks of code. This reduces the number of btree-specific blocks and facilitates the separation of the merge operation into a new xfs_bmse_merge() and xfs_bmse_can_merge() helpers. This is a code refactor only. The behavior of extent shift and collapse range is not modified. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2c845f5a5f238f42376b6551a7f7716952c8f509 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 23 15:37:09 2014 +1000 xfs: track collapse via file offset rather than extent index The collapse range implementation uses a transaction per extent shift. The progress of the overall operation is tracked via the current extent index of the in-core extent list. This is racy because the ilock must be dropped and reacquired for each transaction according to locking and log reservation rules. Therefore, writeback to prior regions of the file is possible and can change the extent count. This changes the extent to which the current index refers and causes the collapse to fail mid operation. To avoid this problem, the entire file is currently written back before the collapse operation starts. To eliminate the need to flush the entire file, use the file offset (fsb) to track the progress of the overall extent shift operation rather than the extent index. Modify xfs_bmap_shift_extents() to unconditionally convert the start_fsb parameter to an extent index and return the file offset of the extent where the shift left off, if further extents exist. The bulk of ths function can remain based on extent index as ilock is held by the caller. xfs_collapse_file_space() now uses the fsb output as the starting point for the subsequent shift. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 0d085a529b427d97710e6a41f8a4f23e1757cd12 Author: Dave Chinner <dchinner@xxxxxxxxxx> Date: Tue Sep 23 15:36:27 2014 +1000 xfs: ensure WB_SYNC_ALL writeback handles partial pages correctly XFS has been having trouble with stray delayed allocation extents beyond EOF for a long time. Recent changes to the collapse range code has triggered erroneous EBUSY errors on page invalidtion for block size smaller than page size filesystems. These have been caused by dirty buffers beyond EOF on a partial page which do not get written to disk during a sync. The issue is that write-ahead in xfs_cluster_write() finds such a partial page and handles it by leaving the page dirty but pushing it into a writeback state. This used to work just fine, as the write_cache_pages() code would then find the dirty partial page in the next mapping tree lookup as the dirty tag is still set. Unfortunately, when we moved to a mark and sweep approach to writeback to fix other writeback sync issues, we broken this. THe act of marking the page as under writeback now clears the TOWRITE tag in the radix tree, even though the page is still dirty. This causes the TOWRITE tag to be cleared, and hence the next lookup on the mapping tree does not find the dirty partial page and so doesn't try to write it again. This same writeback bug was found recently in ext4 and fixed in commit 1c8349a ("ext4: fix data integrity sync in ordered mode") without communication to the wider filesystem community. We can use exactly the same fix here so the TOWRITE flag is not cleared on partial page writes. cc: stable@xxxxxxxxxxxxxxx # dependent on 1c8349a17137b93f0a83f276c764a6df1b9a116e Root-cause-found-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 62731433591156ece255e23ffd69ea4544b424f1 Merge: 7c9a373 dd56af4 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 23 07:21:42 2014 +0200 Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into core/rcu Pull the v3.18 RCU changes from Paul E. McKenney: " * Update RCU documentation. These were posted to LKML at https://lkml.org/lkml/2014/8/28/378. * Miscellaneous fixes. These were posted to LKML at https://lkml.org/lkml/2014/8/28/386. An additional fix that eliminates a documented (but now inconvenient) deadlock between RCU hotplug and expedited grace periods was posted at https://lkml.org/lkml/2014/8/28/573. * Changes related to No-CBs CPUs and NO_HZ_FULL. These were posted to LKML at https://lkml.org/lkml/2014/8/28/412. * Torture-test updates. These were posted to LKML at https://lkml.org/lkml/2014/8/28/546 and at https://lkml.org/lkml/2014/9/11/1114. * RCU-tasks implementation. These were posted to LKML at https://lkml.org/lkml/2014/8/28/540. " Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 94318d50ffc84a1ebaf1a83a0a56bbbaf415bacf Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:47:23 2014 +1000 drm/ttm: Clean usage of ttm_io_prot() with TTM_PL_FLAG_CACHED Today, most callers of ttm_io_prot() check TTM_PL_FLAG_CACHED before calling it since on some archs it will unconditionally create non-cached mappings. But not all callers do which is incorrect as far as I can tell. Instead, move that check inside ttm_io_port() itself for all archs and make powerpc use the same implementation as ia64 and arm Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 6bd3110ce6e50fb15c975b26f068d606f4434431 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:46:45 2014 +1000 drm: powerpc can use a simpler drm_io_prot() What the code does is equivalent to the x86 code, so let's use it as well Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e3f205a72c4554b58f51d5afd98195c4ff54d215 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 23 00:56:28 2014 +0200 ASoC: Remove locking in snd_soc_{new,free}_ac97_codec() snd_soc_new_ac97_codec() and snd_soc_free_ac97_codec() are called from within a CODEC's probe() and remove() callbacks. Those will not run concurrently against each other for the same CODEC instance, hence it is not necessary to protect the two functions with a mutex. This removes the last user in the ASoC core of the snd_soc_codec mutex field and will allow us to eventually remove it. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0d90ecf31e11f8204649943ed3478d7a015c2cb9 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 22:06:34 2014 +0200 regulator: axp20x: Use parent device as regulator configuration device The current device used for the regulator configuration is the child device created by the MFD driver. This means that it doesn't have any of_node pointing to it, and whenever we register the regulators, it will not look into the regulator supply in the DT, hence requiring to provide regulator aliases in the MFD driver. We can easily fix that by using the parent device in our configuration, which has a DT node associated to it, and will allow a DT lookup. Eventually, we will be able to remove the aliases in the MFD driver. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2172d6606843cbad58498310a28125e7a700e658 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 14:48:47 2014 +0530 powerpc/pseries: Drop unnecessary continue Continue is not needed at the bottom of a loop. The Coccinelle semantic patch implementing this change is: @@ @@ for (...;...;...) { ... if (...) { ... - continue; } } Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> commit 90bdbb46f41c9fa670d7b0709e0c8a92ad82bdfe Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Thu Sep 18 14:45:59 2014 +0800 ASoC: rt5677: Add sidetone function Add sidetone function Signed-off-by: Anatol Pomozov <anatol.pomozov@xxxxxxxxx> Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e60cdc907c1d656b628480b737710fb73bb69001 Merge: 9e82bf0 6236435 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 17:42:40 2014 -0700 Merge tag 'extcon-next-for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-next Chanwoo writes: Update extcon for v3.18 This patchset add new extcon provider driver and fix minor issue of extcon driver. Detailed description for patchset: 1. Add new Richtek RT8973A extcon driver This driver support for Richtek RT8973A which is Micro USB Switch OVP and i2c interface. The RT8973A is a USB port accessory detector and switch that is optimized to protect low voltage system from abnormal high input voltage (up to 28V) and supports high speed USB operation. Also, RT8973A support 'auto-configuration' mode. If auto-configuration mode is enabled, RT8973A would control internal h/w patch for USB D-/D+ switching. 2. Fix code cleanup for other extcon driver - extcon-sm5502 driver : Fix bug to check cable type and build break. : Move header file from include/linux/extcon to drivers/extcon because this header file is only user for extcon-sm5502.c. : Clean up codes by using checkpatch script - extcon-max77693 driver : Use resource managed interrupt function : Fix bug to set ADC debounce time - extcon-gpio driver : Fix minor code cleanup commit 1d52c78afbbf80b58299e076a159617d6b42fe3c Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Sep 18 11:30:44 2014 -0400 Btrfs: try not to ENOSPC on log replay When doing log replay we may have to update inodes, which traditionally goes through our delayed inode stuff. This will try to move space over from the trans handle, but we don't reserve space in our trans handle on replay since we don't know how much we will need, so instead we try to flush. But because we have a trans handle open we won't flush anything, so if we are out of reserve space we will simply return ENOSPC. Since we know that if an operation made it into the log then we definitely had space before the box bought the farm then we don't need to worry about doing this space reservation. Use the fs_info->log_root_recovering flag to skip the delayed inode stuff and update the item directly. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f6acfd50110b335c7af636cf1fc8e55319cae5fc Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Sep 18 11:27:17 2014 -0400 Btrfs: don't do async reclaim during log replay Trying to reproduce a log enospc bug I hit a panic in the async reclaim code during log replay. This is because we use fs_info->fs_root as our root for shrinking and such. Technically we can use whatever root we want, but let's just not allow async reclaim while we're doing log replay. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 47ab2a6c689913db23ccae38349714edf8365e0a Author: Josef Bacik <jbacik@xxxxxx> Date: Thu Sep 18 11:20:02 2014 -0400 Btrfs: remove empty block groups automatically One problem that has plagued us is that a user will use up all of his space with data, remove a bunch of that data, and then try to create a bunch of small files and run out of space. This happens because all the chunks were allocated for data since the metadata requirements were so low. But now there's a bunch of empty data block groups and not enough metadata space to do anything. This patch solves this problem by automatically deleting empty block groups. If we notice the used count go down to 0 when deleting or on mount notice that a block group has a used count of 0 then we will queue it to be deleted. When the cleaner thread runs we will double check to make sure the block group is still empty and then we will delete it. This patch has the side effect of no longer having a bunch of BUG_ON()'s in the chunk delete code, which will be helpful for both this and relocate. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1eb96047052fe13557d6f278c835ef8b88ac3b4c Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Fri Aug 29 00:49:43 2014 -0300 [media] v4l: ti-vpe: Remove casting the return value which is a void pointer Casting the return value which is a void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 47c0b565ecd827984f43e52a4ec9b9a191feb80c Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Wed Aug 27 22:12:43 2014 -0300 [media] vpfe_standards[] can be static make vpfe_standards[] static. Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 229fd4a505553c3a475b90e9aa8e452f5d78eb3b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Apr 28 15:59:16 2014 -0700 clk: qcom: Add support for banked MD RCGs The banked MD RCGs in global clock control have a different register layout than the ones implemented in multimedia clock control. Add support for these types of clocks so we can change the rates of the UBI32 clocks. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit ae3669ac5c09fa8dfc8d8a294ccb5f265b8929be Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Apr 28 15:58:11 2014 -0700 clk: qcom: Add support for setting rates on PLLs Some PLLs may require changing their rate at runtime. Add support for these PLLs. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 50c6a50344c58f73c697e2fe38960dc176a2e69f Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Sep 4 13:21:50 2014 -0700 clk: qcom: Consolidate frequency finding logic There are two find_freq() functions in clk-rcg.c and clk-rcg2.c that are almost exactly the same. Consolidate them into one function to save on some code space. Cc: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit dc1b3f657f25798b2dc9ed8928b80eb3183019a2 Author: Andy Gross <agross@xxxxxxxxxxxxxx> Date: Tue Sep 16 16:04:12 2014 -0500 clk: qcom: Add IPQ8064 PLL required for USB This patch adds the PLL0 that is required for the USB clocks to work properly. Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Fixes: 24d8fba44af3 "clk: qcom: Add support for IPQ8064's global clock controller (GCC)" Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 990a6a997774fae9667f08805ea6c7fe25381b84 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Fri Aug 22 13:50:42 2014 -0300 [media] MAINTAINERS: add sp2 entry Add a maintainer for the new CIMaX SP2 driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 09628b2c2105722e61b8c799531304a1cd317b2e Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Sep 22 18:57:45 2014 -0300 [media] dib0700_devices: Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Not sure why, but some tables are still using the old way, but at least several of them got fixed. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 557b4549714536b161522960a36f0aa7f527418c Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Sun Sep 21 00:22:17 2014 +0200 eeepc-laptop: clean up control flow in *_rfkill_notifier Handle errors immediately in eeepc_register_rfkill_notifier and eeepc_unregister_rfkill_notifier. This clears up the control flow for the reader. It also removes unnecessary indentation. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 1148f6fdb0136b6cf9ec5e1ff6db2dfa899b3906 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 08:20:23 2014 -0300 [media] v4l: ti-vpe: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 89b51cb5c3b0e8c2b8016c60f3386a5bfa468498 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Sep 17 08:59:36 2014 -0600 PCI: Add ACS quirk for Solarflare SFC9120 & SFC9140 Solarflare confirms that these devices do not allow peer-to-peer between functions. Quirk them to allow IOMMU grouping to expose this isolation. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Robert Stonehouse <rstonehouse@xxxxxxxxxxxxxx> commit 4093a8443941d7021c7f747474a87a56cf666270 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Sep 18 20:47:48 2014 -0400 selinux: normalize audit log formatting Restructure to keyword=value pairs without spaces. Drop superfluous words in text. Make invalid_context a keyword. Change result= keyword to seresult=. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [Minor rewrite to the patch subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 9f0dbe087bff6cfffcf8b0c25c08891d66b987be Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Mon Sep 22 14:52:07 2014 -0600 PCI: designware: Use NULL instead of false of_get_address() expects pointers in the third and fourth parameters. Pass NULL in order to fix the following sparse warnings: drivers/pci/host/pcie-designware.c:433:51: warning: Using plain integer as NULL pointer drivers/pci/host/pcie-designware.c:433:58: warning: Using plain integer as NULL pointer Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> commit 5d40018623a53f5e21cb3393ab9ef2a3a7bc57dd Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Mon Aug 18 08:51:29 2014 -0300 [media] au0828: fill tuner type on all boards This is used by the I2C code in order to slow down the speed to 20 kHz on devices with xc5000 or xc5000c. So, it needs to be filled for all devices that use either xc5000 or xc5000c. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b13b47e0b5eecbd18ebaa7f6657ca0f53eb783a3 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Mon Aug 18 08:51:28 2014 -0300 [media] au0828: explicitly identify boards with analog TV Right now, the au0828 driver uses .tuner to detect if analog tv is being used or not. By not filling .tuner fields at the board struct, the I2C core can't do decisions based on it. So, add a field to explicitly tell when analog TV is supported. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5d8f4c9fdd67404c9f94683836e49ec8bded2287 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Wed Sep 17 10:41:13 2014 -0600 PCI: Remove unused pci_get_dma_source() pci_get_dma_source() is unused, so remove it. We now have dma_alias_devfn() to describe this. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 1ba3f927ad66759b0081fe1f96d77500c9a622c3 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Sep 22 17:48:01 2014 -0300 [media] au0828-cards: remove a comment about i2c clock stretching This comment is already at the au0828-i2c where it belongs. So, remove it from a board's entry. It doesn't make any sense there, as we're setting the clock to 250kHz there, slowing it down only at the au0828-i2c. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a2aeb02a8e6a9fef397c344245a54eeae67341f6 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 22 13:42:53 2014 -0700 net: sched: fix compile warning in cls_u32 $ grep CONFIG_CLS_U32_MARK .config # CONFIG_CLS_U32_MARK is not set net/sched/cls_u32.c: In function 'u32_change': net/sched/cls_u32.c:852:1: warning: label 'errout' defined but not used [-Wunused-label] Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bee3f304435a9c8c70b135083e23516872a17c98 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Mon Sep 22 14:46:13 2014 -0600 PCI: Remove unused pci_find_upstream_pcie_bridge() pci_find_upstream_pcie_bridge() is unused, so remove it. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 56fab6e189441d714a2bfc8a64f3df9c0749dff7 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 17 17:58:27 2014 +0200 PCI: mvebu: Fix uninitialized variable in mvebu_get_tgt_attr() Geert Uytterhoeven reported a warning when building pci-mvebu: drivers/pci/host/pci-mvebu.c: In function 'mvebu_get_tgt_attr': drivers/pci/host/pci-mvebu.c:887:39: warning: 'rtype' may be used uninitialized in this function [-Wmaybe-uninitialized] if (slot == PCI_SLOT(devfn) && type == rtype) { ^ And indeed, the code of mvebu_get_tgt_attr() may lead to the usage of rtype when being uninitialized, even though it would only happen if we had entries other than I/O space and 32 bits memory space. This commit fixes that by simply skipping the current DT range being considered, if it doesn't match the resource type we're looking for. Reported-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.12+ commit 886da6ac33ac7e82392f1bc8b7b25b058710a269 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Mon Sep 22 17:36:53 2014 -0300 [media] stv0367: Remove an unused parameter cab_state->modulation is initialized with a wrong value: drivers/media/dvb-frontends/stv0367.c:3000:42: warning: mixing different enum types drivers/media/dvb-frontends/stv0367.c:3000:42: int enum fe_modulation versus drivers/media/dvb-frontends/stv0367.c:3000:42: int enum stv0367cab_mod as it was declared as "enum stv0367cab_mod". While it could be fixed, there's no value on it, as this is never used. So, just remove the modulation from cab_state structure. Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit eafeda9666f634abc1b133ee4b578708269d99ab Author: Maks Naumov <maksqwe1@xxxxxxx> Date: Fri Aug 15 16:23:20 2014 -0300 [media] media: stv0367: fix frontend modulation initialization with FE_CAB_MOD_QAM256 It was using the wrong constant for QAM256 on get_frontend. Signed-off-by: Maks Naumov <maksqwe1@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 78e719a5f30b7017b575c08220f4480e3140c6f1 Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Fri Aug 15 15:16:58 2014 -0300 [media] em28xx-input: i2c IR decoders: improve i2c_client handling Instead of using a temporary stack allocated i2c_client in em28xx_i2c_ir_handle_key(), allocate/free the i2c_client at module init/uninit and hook it into struct em28xx_IR (if the device has an i2c IR decoder). This reduces the frame size of function em28xx_i2c_ir_handle_key() and speeds it up a bit. Also make sure that all fields of struct i2c_client are initialized properly. Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fcdd1cf4dd63aecf86c987d7f4ec7187be5c2fbc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 22 13:19:44 2014 -0700 tcp: avoid possible arithmetic overflows icsk_rto is a 32bit field, and icsk_backoff can reach 15 by default, or more if some sysctl (eg tcp_retries2) are changed. Better use 64bit to perform icsk_rto << icsk_backoff operations As Joe Perches suggested, add a helper for this. Yuchung spotted the tcp_v4_err() case. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5611588b86492eded428cad0f698c39178f88d23 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 15 13:22:35 2014 -0300 [media] rc-core: use USB API functions rather than constants This patch introduces the use of !usb_endpoint_dir_in(epd) and !usb_endpoint_xfer_int(epd). The Coccinelle semantic patch that makes these changes is as follows: - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) != - \(USB_DIR_IN\|0x80\)) + !usb_endpoint_dir_in(epd) @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) != - \(USB_ENDPOINT_XFER_INT\|3\)) + !usb_endpoint_xfer_int(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4ac9cbfa35f2c05ed294a2b3e0bf5d0bb7cba607 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Mon Aug 25 23:26:35 2014 +0200 x86/PCI: Mark DMI tables as initialization data The DMI tables are only used in __init code, thereby can be marked as initialization data, too. The same is true for the callback functions referenced from the DMI tables. This moves ~9.6 kB of code and r/o data to the init sections, marking the memory for release after initialization. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 35f7aa5309c048bb70e58571942795fa9411ce6a Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Sat Sep 20 14:03:55 2014 +0200 ipv6: mld: answer mldv2 queries with mldv1 reports in mldv1 fallback RFC2710 (MLDv1), section 3.7. says: The length of a received MLD message is computed by taking the IPv6 Payload Length value and subtracting the length of any IPv6 extension headers present between the IPv6 header and the MLD message. If that length is greater than 24 octets, that indicates that there are other fields present *beyond* the fields described above, perhaps belonging to a *future backwards-compatible* version of MLD. An implementation of the version of MLD specified in this document *MUST NOT* send an MLD message longer than 24 octets and MUST ignore anything past the first 24 octets of a received MLD message. RFC3810 (MLDv2), section 8.2.1. states for *listeners* regarding presence of MLDv1 routers: In order to be compatible with MLDv1 routers, MLDv2 hosts MUST operate in version 1 compatibility mode. [...] When Host Compatibility Mode is MLDv2, a host acts using the MLDv2 protocol on that interface. When Host Compatibility Mode is MLDv1, a host acts in MLDv1 compatibility mode, using *only* the MLDv1 protocol, on that interface. [...] While section 8.3.1. specifies *router* behaviour regarding presence of MLDv1 routers: MLDv2 routers may be placed on a network where there is at least one MLDv1 router. The following requirements apply: If an MLDv1 router is present on the link, the Querier MUST use the *lowest* version of MLD present on the network. This must be administratively assured. Routers that desire to be compatible with MLDv1 MUST have a configuration option to act in MLDv1 mode; if an MLDv1 router is present on the link, the system administrator must explicitly configure all MLDv2 routers to act in MLDv1 mode. When in MLDv1 mode, the Querier MUST send periodic General Queries truncated at the Multicast Address field (i.e., 24 bytes long), and SHOULD also warn about receiving an MLDv2 Query (such warnings must be rate-limited). The Querier MUST also fill in the Maximum Response Delay in the Maximum Response Code field, i.e., the exponential algorithm described in section 5.1.3. is not used. [...] That means that we should not get queries from different versions of MLD. When there's a MLDv1 router present, MLDv2 enforces truncation and MRC == MRD (both fields are overlapping within the 24 octet range). Section 8.3.2. specifies behaviour in the presence of MLDv1 multicast address *listeners*: MLDv2 routers may be placed on a network where there are hosts that have not yet been upgraded to MLDv2. In order to be compatible with MLDv1 hosts, MLDv2 routers MUST operate in version 1 compatibility mode. MLDv2 routers keep a compatibility mode per multicast address record. The compatibility mode of a multicast address is determined from the Multicast Address Compatibility Mode variable, which can be in one of the two following states: MLDv1 or MLDv2. The Multicast Address Compatibility Mode of a multicast address record is set to MLDv1 whenever an MLDv1 Multicast Listener Report is *received* for that multicast address. At the same time, the Older Version Host Present timer for the multicast address is set to Older Version Host Present Timeout seconds. The timer is re-set whenever a new MLDv1 Report is received for that multicast address. If the Older Version Host Present timer expires, the router switches back to Multicast Address Compatibility Mode of MLDv2 for that multicast address. [...] That means, what can happen is the following scenario, that hosts can act in MLDv1 compatibility mode when they previously have received an MLDv1 query (or, simply operate in MLDv1 mode-only); and at the same time, an MLDv2 router could start up and transmits MLDv2 startup query messages while being unaware of the current operational mode. Given RFC2710, section 3.7 we would need to answer to that with an MLDv1 listener report, so that the router according to RFC3810, section 8.3.2. would receive that and internally switch to MLDv1 compatibility as well. Right now, I believe since the initial implementation of MLDv2, Linux hosts would just silently drop such MLDv2 queries instead of replying with an MLDv1 listener report, which would prevent a MLDv2 router going into fallback mode (until it receives other MLDv1 queries). Since the mapping of MRC to MRD in exactly such cases can make use of the exponential algorithm from 5.1.3, we cannot [strictly speaking] be aware in MLDv1 of the encoding in MRC, it seems also not mentioned by the RFC. Since encodings are the same up to 32767, assume in such a situation this value as a hard upper limit we would clamp. We have asked one of the RFC authors on that regard, and he mentioned that there seem not to be any implementations that make use of that exponential algorithm on startup messages. In any case, this patch fixes this MLD interoperability issue. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25ee7327d04bc3ff41a7a5ac42d74226f8d60ac6 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Fri Sep 19 13:53:51 2014 -0700 net: bpf: fix compiler warnings in test_bpf old gcc 4.2 used by avr32 architecture produces warnings: lib/test_bpf.c:1741: warning: integer constant is too large for 'long' type lib/test_bpf.c:1741: warning: integer constant is too large for 'long' type lib/test_bpf.c: In function '__run_one': lib/test_bpf.c:1897: warning: 'ret' may be used uninitialized in this function silence these warnings. Fixes: 02ab695bb37e ("net: filter: add "load 64-bit immediate" eBPF instruction") Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 65aaae245a2842e3ed9d12f27aeb42fa215dfc2c Author: Pratyush Anand <pratyush.anand@xxxxxx> Date: Wed Sep 3 10:50:49 2014 +0530 PCI: spear: Pass config resource through reg property PCIe configuration space should be passed through reg property, rather than through ranges property. This patch does the correction for SPEAr13XX SOCs. Signed-off-by: Pratyush Anand <pratyush.anand@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit 9408d8f0f86b9eaafc3c5a07f148f009a6abcfc6 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 15 13:18:53 2014 -0300 [media] media/rc/imon.c: use USB API functions rather than constants This patch introduces the use of the function usb_endpoint_type. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) + usb_endpoint_type(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 612f676bbef9b937764db453c931ea48be8020ef Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Thu Aug 7 02:42:04 2014 -0300 [media] dvb: return the error from i2c_transfer if negative Just returns whatever error that was returned by the i2c core, in the case of errors, only returning -EREMOTEIO if the transfer size is not what it was expected. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a375218460a625f15b5403d15d9a67d8f8951177 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Thu Aug 7 02:41:45 2014 -0300 [media] dvb: remove 0x prefix from decimal value in printf The returned code is 0, 1 or an error. It doesn't make sense to print it in hexadecimal. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit de5df63228fcfbd5bb7fd883774c18fec9e61f12 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 19 21:50:34 2014 -0700 net: sched: cls_u32 changes to knode must appear atomic to readers Changes to the cls_u32 classifier must appear atomic to the readers. Before this patch if a change is requested for both the exts and ifindex, first the ifindex is updated then the exts with tcf_exts_change(). This opens a small window where a reader can have a exts chain with an incorrect ifindex. This violates the the RCU semantics. Here we resolve this by always passing u32_set_parms() a copy of the tc_u_knode to work on and then inserting it into the hash table after the updates have been successfully applied. Tested with the following short script: #tc filter add dev p3p2 parent 8001:0 protocol ip prio 99 handle 1: \ u32 divisor 256 #tc filter add dev p3p2 parent 8001:0 protocol ip prio 99 \ u32 link 1: hashkey mask ffffff00 at 12 \ match ip src 192.168.8.0/2 #tc filter add dev p3p2 parent 8001:0 protocol ip prio 102 \ handle 1::10 u32 classid 1:2 ht 1: \ match ip src 192.168.8.0/8 match ip tos 0x0a 1e #tc filter change dev p3p2 parent 8001:0 protocol ip prio 102 \ handle 1::10 u32 classid 1:2 ht 1: \ match ip src 1.1.0.0/8 match ip tos 0x0b 1e CC: Eric Dumazet <edumazet@xxxxxxxxxx> CC: Jamal Hadi Salim <jhs@xxxxxxxxxxxx> Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a1ddcfee2d9ae172d0095f3f8227f7fa53288c65 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 19 21:50:04 2014 -0700 net: cls_u32: fix missed pcpu_success free_percpu This fixes a missed free_percpu in the unwind code path and when keys are destroyed. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6694ba62c7231f68f12a2d9466bcbdf734637f04 Author: Andrey Utkin <andrey.krieger.utkin@xxxxxxxxx> Date: Mon Aug 4 17:04:52 2014 -0300 [media] drivers/media/dvb-frontends/stv0900_sw.c: Fix break placement Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=81621 Reported-by: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Andrey Utkin <andrey.krieger.utkin@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e173fb2646a832b424c80904c306b816760ce477 Author: Richard Guy Briggs <rgb@xxxxxxxxxx> Date: Thu Sep 18 20:50:17 2014 -0400 selinux: cleanup error reporting in selinux_nlmsg_perm() Convert audit_log() call to WARN_ONCE(). Rename "type=" to nlmsg_type=" to avoid confusion with the audit record type. Added "protocol=" to help track down which protocol (NETLINK_AUDIT?) was used within the netlink protocol family. Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx> [Rewrote the patch subject line] Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 37ab7ddf3f81cec9175f53f17c357bb0d27a343e Author: dingtianhong <dingtianhong@xxxxxxxxxx> Date: Fri Sep 19 21:05:01 2014 +0800 bonding: remove the unnecessary notes for bond_xmit_broadcast() Signed-off-by: Ding Tianhong <dingtianhong@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a64d044e3907b717ae3d1e3711226064b42c83f4 Author: dingtianhong <dingtianhong@xxxxxxxxxx> Date: Fri Sep 19 21:04:57 2014 +0800 bonding: slight optimization for bond_xmit_roundrobin() When the slave is the curr_active_slave, no need to check whether the slave is active or not, it is always active. Signed-off-by: Ding Tianhong <dingtianhong@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b2ed7d98e1c7098f452cf95ab69211a2f8e02ac8 Author: Karicheri, Muralidharan <m-karicheri2@xxxxxx> Date: Mon Sep 22 15:19:28 2014 -0400 ARM: dts: keystone: fix bindings for pcie and usb clock nodes Fix incorrect clock names for usb1, pcie1 and domain register offset for pcie1 clock nodes on K2E EVM Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 48443f07bd077f127d9157f22d8b5eefe28537a1 Author: Karicheri Muralidharan <m-karicheri2@xxxxxx> Date: Mon Sep 22 15:19:27 2014 -0400 ARM: dts: keystone: k2l: Fix chip selects for SPI devices There are 5 chip selects per SPI0 and SPI2 and 3 per SPI1. SPI2 needs to be pinned out to use and by default they are disabled. So keep the state disabled to reflect default. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit a3d3ee3f7d0b754dc06de68248d752231dddc9a5 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Sep 22 15:19:27 2014 -0400 ARM: dts: keystone: add dsp gpio controllers nodes Add Keystone 2 DSP GPIO nodes for SoCs: k2hk: DSP GPIO banks 0-7 correspond to DSP0-DSP7 k2l: DSP GPIO banks 0-3 correspond to DSP0-DSP3 k2e: DSP GPIO bank 0 corresponds to DSP0 Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit a392d42de7e9372b1049be1dee1aeefa51e14345 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Mon Sep 22 15:19:27 2014 -0400 ARM: dts: keystone: add keystone irq controller node Add Keystone IRQ controller IP node which allows ARM CorePac core to receive signals from DSP cores. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 3fcb95a84fdb11e922cfac3b5cd3a9d96a9e9995 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 22 11:39:44 2014 -0700 udp: Need to make ip6_udp_tunnel.c have GPL license Unable to load various tunneling modules without this: [ 80.679049] fou: Unknown symbol udp_sock_create6 (err 0) [ 91.439939] ip6_udp_tunnel: Unknown symbol ip6_local_out (err 0) [ 91.439954] ip6_udp_tunnel: Unknown symbol __put_net (err 0) [ 91.457792] vxlan: Unknown symbol udp_sock_create6 (err 0) [ 91.457831] vxlan: Unknown symbol udp_tunnel6_xmit_skb (err 0) Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5624e80f8dba63499684d8920733d7465ad7d14b Merge: cecda69 cd3307aa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 22 15:01:13 2014 -0400 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Patches 1 and 2 fix sparse warnings (static declaration needed and endian declaration needed) introduced by the earlier patch set. Patches 3 and 4 add 20G/40G speed reporting via ethtool for the Skyhawk-R chip. Patches 5 to 12 fix various style issues and checkpatch warnings in the driver such as: - removing unnecessary return statements in void routines - adding needed blank lines after a declaration block - deleting multiple blank lines - inserting a blank line after a function/struct definition - removing space after typecast - fixing multiple assignments on a single line - fixing alignment on a line wrap ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd3307aaced34c0d1f5dfd96ee84d012c614e3b7 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:47:02 2014 +0530 be2net: fix alignment on line wrap This patch fixes alignment whereever it doesn't match the open parenthesis alignment. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5f820b6c6e1cd75d5f2d08a684ecb3c2fda22d14 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:47:01 2014 +0530 be2net: remove multiple assignments on a single line This patch removes multiple assignments on a single line as warned by checkpatch. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 504fbf1e4f1a0f9c1586dfa22ef0eb20521f9df3 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:47:00 2014 +0530 be2net: remove space after typecasts This patch removes unnecessary spaces after typecasts as per checkpatch warnings. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 619f2d1a8f2f94d31ae90480f8e39dc91d5a7360 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:59 2014 +0530 be2net: remove unnecessary blank lines after an open brace This patch fixes checkpatch warnings about blank lines after an open brace '{'. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e2fb1afa60dd1195a7d851d563c5eec3f069b760 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:58 2014 +0530 be2net: insert a blank line after function/struct//enum definitions This patch inserts a blank line after function/struct/union/enum definitions as per checkpatch warnings. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6f5473c4250f972eab2feb3faa1c923ec245124 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:57 2014 +0530 be2net: remove multiple blank lines This patch removes multiple blank lines in the driver as per checkpatch warnings. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03d28ffe9901c306daff494124921b12d0133c17 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:56 2014 +0530 be2net: add blank line after declarations This patch fixes checkpatch warnings in be2net by adding a blank line between declaration and code blocks. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 627cd5f8a74a2239ac3ca742b710025dee85db1d Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:55 2014 +0530 be2net: remove return statements for void functions Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d6b7a9b7e77ae4d2a7652cdfbd65f2de0a1053b0 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Fri Sep 19 15:46:54 2014 +0530 be2net: add speed reporting for 20G-KR interface This patch adds speed reporting via ethtool for 20G KR2 interface on the Skyhawk-R chip. Signed-off-by: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca39076cd1c4b0a461720ed9edfdd742ad9757b2 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:53 2014 +0530 be2net: add speed reporting for 40G/KR interface This patch adds speed reporting via ethtool for 40Gbps KR4 interface on the Skyhawk-R chip. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72d7e2bf8f4c4f126b352bfbb67a64348623e31e Author: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Date: Fri Sep 19 15:46:52 2014 +0530 be2net: fix sparse warnings in be_cmd_req_port_type{} This patch fixes a sprase warnings regarding endian declarations introduced by the following commit: fixes: e36edd9 ("be2net: add ethtool "-m" option support") Signed-off-by: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b502ae8d9cbbbf4ad822571537b9e17173d9c8b8 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 19 15:46:51 2014 +0530 be2net: fix a sparse warning in be_cmd_modify_eqd() This patch fixes a sparse warning about missing static declaration that was introduced by the following commit: fixes: 936767039cdf ("be2net: send a max of 8 EQs to be_cmd_modify_eqd() on Lancer") Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3b6357a79b7b0a2c3b31c5c92d5dd0c51cda0391 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Thu Sep 11 12:07:08 2014 -0500 ARM: qcom: Update defconfig * Enable APQ8084 pinctrl Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit cecda693a969816bac5e470e1d9c9c0ef5567bca Author: Jason Wang <jasowang@xxxxxxxxxx> Date: Fri Sep 19 16:04:38 2014 +0800 net: keep original skb which only needs header checking during software GSO Commit ce93718fb7cdbc064c3000ff59e4d3200bdfa744 ("net: Don't keep around original SKB when we software segment GSO frames") frees the original skb after software GSO even for dodgy gso skbs. This breaks the stream throughput from untrusted sources, since only header checking was done during software GSO instead of a true segmentation. This patch fixes this by freeing the original gso skb only when it was really segmented by software. Fixes ce93718fb7cdbc064c3000ff59e4d3200bdfa744 ("net: Don't keep around original SKB when we software segment GSO frames.") Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 89ec3dcf17fd3fa009ecf8faaba36828dd6bc416 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Aug 27 14:57:57 2014 +0200 PCI: Generate uppercase hex for modalias interface class Some implementations of modprobe fail to load the driver for a PCI device automatically because the "interface" part of the modalias from the kernel is lowercase, and the modalias from file2alias is uppercase. The "interface" is the low-order byte of the Class Code, defined in PCI r3.0, Appendix D. Most interface types defined in the spec do not use alpha characters, so they won't be affected. For example, 00h, 01h, 10h, 20h, etc. are unaffected. Print the "interface" byte of the Class Code in uppercase hex, as we already do for the Vendor ID, Device ID, Class, etc. [bhelgaas: changelog] Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx commit b749fc9bff50013182edf2371d7f6c6796aed808 Author: Nimrod Andy <B38611@xxxxxxxxxxxxx> Date: Fri Sep 19 14:26:03 2014 +0800 net: fec: fix code identation There have extra identation before .skb_copy_to_linear_data_offset(), this patch just remove the identation. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aabff7bfe55afd01d71a5f11d4a84bd873c20f5e Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Sep 19 16:50:51 2014 -0700 ARM: DT: msm8960: Add sdcc nodes Add the sdcc nodes to support the SD card controller using pl180 mmci driver. We also add a temporary fixed regulator until the regulator driver is mainlined. Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 55602a09dd7e0cad5f85b0945bfcbac2898540a0 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Fri Sep 19 16:50:50 2014 -0700 ARM: DT: msm8660: Add sdcc nodes Add the sdcc nodes to support the SD card controller using pl180 mmci driver. We also add a temporary fixed regulator until the regulator driver is mainlined. Cc: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 61a3bd1492b7b1872768798384ba6451f83c87a5 Merge: 34f6b87 96e65d7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 22 14:41:28 2014 -0400 Merge branch 'dsa-suspend' Florian Fainelli says: ==================== dsa: Broadcom SF2 suspend/resume and WoL This patch add supports for suspend/resume and configuring Wake-on-LAN for Broadcom Starfighter 2 switches. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96e65d7f3f88d6e117ff80f3003d13c65e85cb03 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Sep 18 17:31:25 2014 -0700 net: dsa: bcm_sf2: add support for Wake-on-LAN In order for Wake-on-LAN to work properly, we query the parent network device Wake-on-LAN features and advertise those. Similarly, when configuring Wake-on-LAN on a per-port network interface, we make sure that we do not accept something the master network devices does not support. Finally, we need to maintain a bitmask of the ports enabled for Wake-on-LAN to prevent the suspend() callback from disabling a port that is used for waking up the system. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19e57c4e6dc6b82a3204b801f4c5f27c7d007559 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Sep 18 17:31:24 2014 -0700 net: dsa: add {get, set}_wol callbacks to slave devices Allow switch drivers to implement per-port Wake-on-LAN getter and setters. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8cfa94984c9cfdd5f5af2af4f161176cb7256d44 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Sep 18 17:31:23 2014 -0700 net: dsa: bcm_sf2: add suspend/resume callbacks Implement the suspend/resume callbacks for the Broadcom Starfighter 2 switch driver. Suspending the switch requires masking interrupts and shutting down ports. Resuming the switch requires a software reset since we do not know which power-sate we might be coming from, and re-enabling the physical ports that are used. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2446254915a7d6f08bba9a755a34cc0402880472 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Sep 18 17:31:22 2014 -0700 net: dsa: allow switch drivers to implement suspend/resume hooks Add an abstraction layer to suspend/resume switch devices, doing the following split: - suspend/resume the slave network devices and their corresponding PHY devices - suspend/resume the switch hardware using switch driver callbacks Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6d178ef2fd5e4a7f601874a6e641090e706da3c8 Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 17:53:14 2014 +0100 mtd: nand: Move ELM driver and rename as omap_elm The ELM driver is only used by the OMAP NAND driver, so let's move it to the nand/ directory. Additionally, let's rename it to a less confusing name, so the module is built with a meaningful name, instead of the previous 'elm.ko'. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit d2f08c7521cd67bc5f3c990af87add7b02f46ebe Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 17:53:13 2014 +0100 nand: omap2: Replace pr_err with dev_err Usage of pr_err is frowned upon, so replace it with dev_err. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 93af53b8633c4cb474585158512182b21219d743 Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 20 17:53:12 2014 +0100 nand: omap2: Remove horrible ifdefs to fix module probe The current code abuses ifdefs to determine if the selected ECC scheme is supported by the running kernel. As a result the code is hard to read, and it also fails to load as a module. This commit removes all the ifdefs and instead introduces a function omap2_nand_ecc_check() to check if the ECC is supported by using IS_ENABLED(CONFIG_xxx). Since IS_ENABLED() is true when a config is =y or =m, this change fixes the module so it can be loaded with no issues. Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 34f6b8745d421683ca0a268540869eb30721e970 Merge: 5f5316f c9b1a5b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 22 14:35:36 2014 -0400 Merge branch 'qlge' Harish Patil says: ==================== qlge: Fix compilation warning and update maintainers This patch series includes the following set of patches: - Fix the below warning message: qlge_main.c:1754: warning: 'lbq_desc' may be used uninitialized in this function I have made changes according to your earlier feedback: "Please fix this differently. The problem is that the compiler can't see that you've done the !length check at the top of the function, so when it later sees the while (length > 0) loop, it doesn't know that this loop will always execute at least once. Just change that loop to a do { } while() loop and the compiler will be able to see everything." - Update qlge driver maintainers list ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c9b1a5b5c24d3249f5b618b900d64a6a76f8dd23 Author: Harish Patil <harish.patil@xxxxxxxxxx> Date: Thu Sep 18 17:27:25 2014 -0400 Update qlge driver maintainers list Signed-off-by: Harish Patil <harish.patil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afe6e00cb201ae7980637509385b20ca71289d93 Author: Harish Patil <harish.patil@xxxxxxxxxx> Date: Thu Sep 18 17:27:24 2014 -0400 qlge: Fix compilation warning Fix the below warning message: qlge_main.c:1754: warning: 'lbq_desc' may be used uninitialized in this function Signed-off-by: Harish Patil <harish.patil@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a960cce03d1dbd3dba54e660c479f64674eb5e3 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 16:25:11 2014 +0200 mtd: nand: add Hynix's H27UCG8T2ATR-BC to nand_ids table Add the full description of the Hynix H27UCG8T2ATR-BC NAND chip in the nand_ids table so that we can later use the NAND ECC infos and ONFI timings mode in controller drivers. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ef39ab79f7401f99212e2ae8a2399d88d6c77c64 Merge: 134cd00 adf70fc 3fce0e8 8665a48 7f1f054 f9dd0ce Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Sep 22 12:31:10 2014 -0600 Merge branches 'pci/host-designware', 'pci/host-imx6', 'pci/host-keystone', 'pci/host-tegra' and 'pci/host-xilinx' into next * pci/host-designware: PCI: designware: Fold struct pcie_port_info into struct pcie_port * pci/host-imx6: PCI: imx6: Delay enabling reference clock for SS until it stabilizes * pci/host-keystone: PCI: keystone: Set device ID based on SoC to support multiple ports PCI: keystone: Assume controller is already in RC mode PCI: keystone: Limit MRSS for all downstream devices * pci/host-tegra: PCI: tegra: Add Tegra124 support PCI: tegra: Make sure the PCIe PLL is really reset PCI: tegra: Fix extended configuration space mapping PCI: tegra: Clear CLKREQ# enable on port disable * pci/host-xilinx: PCI: xilinx: Fix xilinx_pcie_assign_msi() return value test commit 134cd00d766fc7014b53d9cea67a6bcb894ae51e Merge: a2351ef f3dbd80 63ddc0b be63497 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Mon Sep 22 12:31:01 2014 -0600 Merge branches 'pci/enumeration', 'pci/misc' and 'pci/virtualization' into next * pci/enumeration: PCI: Enable CRS Software Visibility for root port if it is supported PCI: Check only the Vendor ID to identify Configuration Request Retry * pci/misc: PCI: Parenthesize PCI_DEVID and PCI_VPD_LRDT_ID parameters PCI: Increase IBM ipr SAS Crocodile BARs to at least system page size PCI/AER: Make <linux/aer.h> standalone includable * pci/virtualization: PCI: Use device flag helper functions xen/pciback: Use PCI device flag helper functions KVM: Use PCI device flag helper functions PCI: Add device flag helper functions PCI: Assume all Mellanox devices have broken INTx masking commit 57a94e24bc927f642f7f48ca1bf5476aa5be269d Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 20:11:50 2014 +0200 mtd: nand: support ONFI timing mode retrieval for non-ONFI NANDs Add an onfi_timing_mode_default field to nand_chip and nand_flash_dev in order to support NAND timings definition for non-ONFI NAND. NAND that support better timings mode than the default one have to define a new entry in the nand_ids table. The default timing mode should be deduced from timings description from the datasheet and the ONFI specification (www.onfi.org/~/media/ONFI/specs/onfi_3_1_spec.pdf, chapter 4.15 "Timing Parameters"). You should choose the closest mode that fit the timings requirements of your NAND chip. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5f5316fcd08ef74b282adf6774956431fac62663 Author: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Date: Thu Sep 18 02:33:41 2014 -0700 am2150: Update nmclan_cs.c to use update PCMCIA API Resolves compile warning about use of a deprecated function call: drivers/net/ethernet/amd/nmclan_cs.c: In function â??nmclan_configâ??: drivers/net/ethernet/amd/nmclan_cs.c:624:3: warning: â??pcmcia_request_exclusive_irqâ?? is deprecated (declared at include/pcmcia/ds.h:213) [-Wdeprecated-declarations] ret = pcmcia_request_exclusive_irq(link, mace_interrupt); Updates pcmcia_request_exclusive_irq() to pcmcia_request_irq(). CC: Roger Pao <rpao@xxxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c08860ffe5c0e986e208e8217dae8191c0b40b24 Author: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Date: Wed Sep 17 14:54:37 2014 +0900 hwmon: (ntc_thermistor) Add ntc thermistor to thermal subsystem as a sensor. To get more comprehensive and integrated thermal management, it adds ntc thermistor to thermal framework as a thermal sensor. It's governed thermal susbsystem only if it is described in DT node. Otherwise, it just notifies temperature to userspace via sysfs as it used to be. Signed-off-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 9b993e36611bd8029b81637ad53a262fa7882af1 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Jul 8 09:27:38 2014 +0800 hwmon: (smsc47b397) Convert to devm_hwmon_device_register_with_groups Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Jean Delvare <jdelvare@xxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 93c090b36ae977bc719f7ea2fcbf4a2e8e92e439 Author: Kamil Debski <k.debski@xxxxxxxxxxx> Date: Wed Aug 20 11:29:23 2014 +0200 MAINTAINERS: add entry for the PWM fan driver Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 3e3e102251a7e3a535087e0acdc6010c6acf1474 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Fri Aug 15 09:27:03 2014 -0700 hwmon: (k10temp) Convert to devm_hwmon_device_register_with_groups Use devm_hwmon_device_register_with_groups() to simplify the code and reduce code size. Cc: Clemens Ladisch <clemens@xxxxxxxxxx> Tested-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit f89ce2706d8341c921b96e13a00b951a10eed308 Author: Aravind Gopalakrishnan <Aravind.Gopalakrishnan@xxxxxxx> Date: Thu Aug 14 18:15:27 2014 -0500 hwmon: (k10temp) Add support for F15h M60h This patch adds temperature monitoring support for F15h M60h processor. - Add new pci device id for the relevant processor - The functionality of REG_REPORTED_TEMPERATURE is moved to D0F0xBC_xD820_0CA4 [Reported Temperature Control] - So, use this to get CUR_TEMP value - Since we need an indirect register access, protect this with a mutex lock - Add Kconfig, Doc entries to indicate support for this processor. Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@xxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Acked-by: Clemens Ladisch <clemens@xxxxxxxxxx> [Guenter Roeck: Declare new mutex and function static] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 4222eb5f2b4fe9a0f50b283ba25111c595723429 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 9 09:20:41 2014 +0800 hwmon: (da9052) Convert to devm_hwmon_device_register_with_groups Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit e7d275e7619510314dbb9207896bb12074d71c81 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Jul 9 09:25:12 2014 +0800 hwmon: (da9055) Convert to devm_hwmon_device_register_with_groups Use ATTRIBUTE_GROUPS macro and devm_hwmon_device_register_with_groups() to simplify the code a bit. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Adam Thomson <Adam.Thomson.Opensource@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 8e35762fd5f2b074cff3e5c176c80008c70cc8f3 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Aug 5 10:56:47 2014 +0800 hwmon: (ads1015) Use of_property_read_u32 at appropriate places Simplify the code a bit and also improve readability. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit fe052529e465daff25225aac769828baa88b7252 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Sep 22 15:59:31 2014 +0200 scsi: move blk_mq_start_request call earlier Some ATA drivers need the dma drain size workaround, and thus need to call blk_mq_start_request before the S/G mapping. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 90415837659fec54f33584b423dab250eb1e8432 Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Sep 22 10:21:48 2014 -0600 block: fix blk_abort_request on blk-mq Signed-off-by: Christoph Hellwig <hch@xxxxxx> Moved blk_mq_rq_timed_out() definition to the private blk-mq.h header. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 5e940aaa597c15e916618240ae5838864f36c91e Author: Ming Lei <ming.lei@xxxxxxxxxxxxx> Date: Fri Sep 19 21:53:46 2014 +0800 blk-timeout: fix blk_add_timer Commit 8cb34819cdd5d(blk-mq: unshared timeout handler) introduces blk-mq's own timeout handler, and removes following line: blk_queue_rq_timed_out(q, blk_mq_rq_timed_out); which then causes blk_add_timer() to bypass adding the timer, since blk-mq no longer has q->rq_timed_out_fn defined. This patch fixes the problem by bypassing the check for blk-mq, so that both request deadlines are still set and the rolling timer updated. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit aedcd72f6c283dffefbb8b808ae67bdd2c6eb11a Author: Jens Axboe <axboe@xxxxxx> Date: Wed Sep 17 08:27:03 2014 -0600 blk-mq: limit memory consumption if a crash dump is active It's not uncommon for crash dump kernels to be limited to 128MB or something low in that area. This is normally not a problem for devices as we don't use that much memory, but for some shared SCSI setups with huge queue depths, it can potentially fill most of memory with tons of request allocations. blk-mq does scale back when it fails to allocate memory, but it scales back just enough so that blk-mq succeeds. This could still leave the system with not enough memory to make any real progress. Check if we are in a kdump environment and limit the hardware queues and tag depth. Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 2edd2c740b2918eb0a9a1fe1b69678b903769ec2 Author: Ming Lei <ming.lei@xxxxxxxxxxxx> Date: Wed Sep 17 17:47:58 2014 +0800 blk-mq: remove unnecessary blk_clear_rq_complete() This patch removes two unnecessary blk_clear_rq_complete(), the REQ_ATOM_COMPLETE flag is cleared inside blk_mq_start_request(), so: - The blk_clear_rq_complete() in blk_flush_restore_request() needn't because the request will be freed later, and clearing it here may open a small race window with timeout. - The blk_clear_rq_complete() in blk_mq_requeue_request() isn't necessary too, even though REQ_ATOM_STARTED is cleared in __blk_mq_requeue_request(), in theory it still may cause a small race window with timeout since the two clear_bit() may be reordered. Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 0152fb6b57c4fae769ee75ea2ae670f4ff39fba9 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:13 2014 -0700 blk-mq: pass a reserved argument to the timeout handler Allow blk-mq to pass an argument to the timeout handler to indicate if we're timing out a reserved or regular command. For many drivers those need to be handled different. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 46f92d42ee37e10970e33891b7b61a342bd97aeb Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:12 2014 -0700 blk-mq: unshared timeout handler Duplicate the (small) timeout handler in blk-mq so that we can pass arguments more easily to the driver timeout handler. This enables the next patch. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 81481eb423c295c5480a3fab9bb961cf286c91e7 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:11 2014 -0700 blk-mq: fix and simplify tag iteration for the timeout handler Don't do a kmalloc from timer to handle timeouts, chances are we could be under heavy load or similar and thus just miss out on the timeouts. Fortunately it is very easy to just iterate over all in use tags, and doing this properly actually cleans up the blk_mq_busy_iter API as well, and prepares us for the next patch by passing a reserved argument to the iterator. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c8a446ad695ada43a885ec12b38411dbd190a11b Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:10 2014 -0700 blk-mq: rename blk_mq_end_io to blk_mq_end_request Now that we've changed the driver API on the submission side use the opportunity to fix up the name on the completion side to fit into the general scheme. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e2490073cd7c3d6f6ef6e029a208edd4d38efac4 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:09 2014 -0700 blk-mq: call blk_mq_start_request from ->queue_rq When we call blk_mq_start_request from the core blk-mq code before calling into ->queue_rq there is a racy window where the timeout handler can hit before we've fully set up the driver specific part of the command. Move the call to blk_mq_start_request into the driver so the driver can start the request only once it is fully set up. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit bf57229745f849e500ba69ff91e35bc8160a7373 Author: Christoph Hellwig <hch@xxxxxx> Date: Sat Sep 13 16:40:08 2014 -0700 blk-mq: remove REQ_END Pass an explicit parameter for the last request in a batch to ->queue_rq instead of using a request flag. Besides being a cleaner and non-stateful interface this is also required for the next patch, which fixes the blk-mq I/O submission code to not start a time too early. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 6d11fb454b161a4565c57be6f1c5527235741003 Merge: b207892 8b95741 Author: Jens Axboe <axboe@xxxxxx> Date: Mon Sep 22 11:57:32 2014 -0600 Merge branch 'for-linus' into for-3.18/core Moving patches from for-linus to 3.18 instead, pull in this changes that will go to Linus today. commit e5bffb59cfbb3371ff00a165a5a48c1f3fdf125a Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Wed Sep 17 13:08:28 2014 -0500 mtd: physmap_of: Add non-obsolete map_rom probe Previously, the only way to map a NOR device as a simple ROM was to use the obsolete "direct-mapped" compatible binding (which further requires device_type = "nor" and probe-type = "NOR" properties). This patch adds an "mtd-rom" compatible binding to the "map_rom" probe type. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9b07a8d1ab85ccacaceb9f704c361119348aabab Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Wed Sep 17 13:08:18 2014 -0500 mtd: physmap_of: Fix ROM support via OF The "ROM" and unknown probe types within the obsolete "direct-mapped" probe function used the nonexistent "mtd_rom" probe instead of the intended "map_rom". Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6f325eaa86f167f8c1e1ffa288dfb991248a6ac7 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Mon Sep 22 18:02:49 2014 +0100 Revert "arm64: dmi: Add SMBIOS/DMI support" This reverts commit 668ebd106860f09f43993517f786a2ddfd0f9ebe. ... because of lots of warnings during boot if Linux isn't started as an EFI application: WARNING: CPU: 4 PID: 1 at /work/Linux/linux-2.6-aarch64/drivers/firmware/dmi_scan.c:591 dmi_matches+0x10c/0x110() dmi check: not initialized yet. Modules linked in: CPU: 4 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc4+ #606 Call trace: [<ffffffc000087fb0>] dump_backtrace+0x0/0x124 [<ffffffc0000880e4>] show_stack+0x10/0x1c [<ffffffc0004d58f8>] dump_stack+0x74/0xb8 [<ffffffc0000ab640>] warn_slowpath_common+0x8c/0xb4 [<ffffffc0000ab6b4>] warn_slowpath_fmt+0x4c/0x58 [<ffffffc0003f2d7c>] dmi_matches+0x108/0x110 [<ffffffc0003f2da8>] dmi_check_system+0x24/0x68 [<ffffffc0006974c4>] atkbd_init+0x10/0x34 [<ffffffc0000814ac>] do_one_initcall+0x88/0x1a0 [<ffffffc00067aab4>] kernel_init_freeable+0x148/0x1e8 [<ffffffc0004d2c64>] kernel_init+0x10/0xd4 Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 020e46e06afccaecd2db8ace32ce22dae1549b44 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Sun Sep 21 20:43:06 2014 +0300 Staging: iio: meter: Fix unnecessary space warning Fixed "Unnecessary space before function pointer argument" checkpatch.pl warning in ade7854.h Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5e736bd6881d9e78384eed8ab7fdcb586f0e402 Author: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Date: Mon Sep 22 14:50:22 2014 +0530 staging: iio: accel: remove else after return This patch fixes checkpatch.pl warning in files of iio: accel WARNING : else is not generally useful after a break or return Signed-off-by: Tapasweni Pathak <tapaswenipathak@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0f8ad68b23c50338ad44b1c63bc821a065bdd221 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sun Sep 21 15:11:41 2014 +0530 Staging: iio: adc: Fix else after return warning This patch fixes checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26cfea9e0e4034c29f9a64d91af213d9974aa123 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sun Sep 21 12:14:02 2014 +0530 Staging: iio: adc: Fix quoted string split accross lines This patch fixes the checkpatch warning: WARNING: quoted string split across lines Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ab7c7d48d2a62f9c0183fca05850ccba315ed8b Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Sep 20 20:44:24 2014 +0530 Staging: iio: accel: Replace msleep with usleep for given range This patch fixes checkpatch.pl warning: WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt As per Documentation/timers/timers-howto.txt usleep_range should be used for sleeping for 10us-20ms Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b12d0ac20dd9084995d10e1ec5bd43b7ec90f41 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Sat Sep 20 18:30:19 2014 +0530 Staging: iio: adc: Fix warning prefer kmalloc_array over kmalloc This patch fixes the checkpatch warning: WARNING: Prefer kmalloc_array over kmalloc with multiply kmalloc_array is preffered for allocating for arrays. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ffffd5212846b72f116f7a9572e83d580e25802 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 16 16:56:39 2014 -0400 HID: wacom: fix timeout on probe for some wacoms Some Wacom tablets (at least the ISDv4 found in the Lenovo X230) timeout during probe while retrieving the input reports. The only time this information is valuable is during the feature_mapping stage, so we can ask for it there and discard the generic input reports retrieval. This gives a code path closer to the wacom.ko driver when it was in the input subtree (not HID). Cc: stable@xxxxxxxxxxxxxxx # requires cherry-pick of c64d883476 Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8deab4754c478149f8a139d6f54dc8b3ff665724 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 07:54:10 2014 -0700 staging: iio: fix up merge error Fix up a build merge error in drivers/iio/accel/bma180.c that I caused. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 576b586303f76be9e5e2f5266ccbeba1b46bbd06 Author: Anish Bhatt <anish@xxxxxxxxxxx> Date: Mon Sep 15 17:44:18 2014 -0700 cxgb4i: avoid holding mutex in interrupt context cxgbi_inet6addr_handler() can be called in interrupt context, so use rcu protected list while finding netdev Applies on top of core-for-3.18 Signed-off-by: Anish Bhatt <anish@xxxxxxxxxxx> Signed-off-by: Karen Xie <kxie@xxxxxxxxxxx> Fixes: fc8d0590d914 ("libcxgbi: Add ipv6 api to driver") Fixes: 759a0cc5a3e1 ("cxgb4i: Add ipv6 code to driver, call into libcxgbi ipv6 api") Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6c1e7b7729b19eb41d93a411c82126a5993a8e90 Author: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Date: Tue Sep 2 16:43:16 2014 -0700 storvsc: get rid of overly verbose warning messages Get rid of the warning messages since they will clutter up various system logs and are of questionable value to the end user. For debugging purposes, this information can be gotten by setting the scsi log level appropriately. Signed-off-by: K. Y. Srinivasan <kys@xxxxxxxxxxxxx> Reviewed-by: Olaf Hering <olaf@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f78f694c34ae6fdc29f5e80abb2dbb894f961772 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 19 12:17:27 2014 +0530 mpt2sas: fix undefined reference to `__udivdi3' compilation errors This patch will fix the below compilation errors on i386 ARCH drivers/built-in.o: In function `_scsih_qcmd': mpt2sas_scsih.c:(.text+0x1e7b56): undefined reference to `__udivdi3' mpt2sas_scsih.c:(.text+0x1e7b8a): undefined reference to `__umoddi3' Used sector_div() API to fix above compilation errors. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d84a2b0d6fecbb6e29875dd9dc97cdcdaa15744a Merge: 3f76a4e 0f33be0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 07:30:03 2014 -0700 Merge 3.17-rc6 into staging-next. We want the fixes in there, and it resolves a merge issue with drivers/iio/accel/bma180.c Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce8efc3b563070c2aa2e0455b992256c98e03547 Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Thu Sep 18 21:15:01 2014 -0400 HID: sony: Set touchpad bits in the input_configured callback Set the DualShock4 touchpad bits in the input_configured callback so that they are registered properly for any input devices created during hid_hw_start. Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 91d66cd27f5fd8a3bca4621a3505c9067925478d Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:44 2014 +0200 ACPI / PM: Convert acpi_dev_pm_detach() into a static function The ->detach() callback for the PM domain has now been fully adopted, thus there no users left of the acpi_dev_pm_detach() API. This allow us to convert it into a static function. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit a4a8c2c4962bb655e7152c53a0eb6ca31c47f159 Author: Tomasz Figa <tomasz.figa@xxxxxxxxx> Date: Fri Sep 19 20:27:43 2014 +0200 ARM: exynos: Move to generic PM domain DT bindings This patch moves Exynos PM domain code to use the new generic PM domain look-up framework introduced in previous patches, thus also allowing the new code to be compiled with CONFIG_ARCH_EXYNOS. This patch was originally submitted by Tomasz Figa when he was employed by Samsung. Link: http://marc.info/?l=linux-pm&m=139955336002083&w=2 Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 207f1a2d294e3781b56d1acecd48aaa3b4b7b2ad Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:42 2014 +0200 amba: Add support for attach/detach of PM domains AMBA devices may on some SoCs resides in PM domains. To be able to manage these devices from there, let's try to attach devices to their corresponding PM domain during the probe phase. To reverse these actions at the remove phase, we try to detach the device from its PM domain. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 676e7c257a339b44b8a613be145b22b85cf2ffc4 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:41 2014 +0200 spi: core: Convert to dev_pm_domain_attach|detach() Previously only the ACPI PM domain was supported by the spi bus. Let's convert to the common attach/detach functions for PM domains, which currently means we are extending the support to include the generic PM domain as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 397a0253527a578fa036d3438ad4909c65d63166 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:40 2014 +0200 mmc: sdio: Convert to dev_pm_domain_attach|detach() Previously only the ACPI PM domain was supported by the sdio bus. Let's convert to the common attach/detach functions for PM domains, which currently means we are extending the support to include the generic PM domain as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e09b0d4e9b03e08f47ad53e3c509db2cf8f1dc9c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:39 2014 +0200 i2c: core: Convert to dev_pm_domain_attach|detach() Previously only the ACPI PM domain was supported by the i2c bus. Let's convert to the common attach/detach functions for PM domains, which currently means we are extending the support to include the generic PM domain as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cb51841397e8e5714cf82a7f91053f6e1fb80d1f Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:38 2014 +0200 drivercore / platform: Convert to dev_pm_domain_attach|detach() Previously only the ACPI PM domain was supported by the platform bus. Let's convert to the common attach/detach functions for PM domains, which currently means we are extending the support to include the generic PM domain as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 46420dd73b800f87a19af13af5883855cf38cb08 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:37 2014 +0200 PM / Domains: Add APIs to attach/detach a PM domain for a device To maintain scalability let's add common methods to attach and detach a PM domain for a device, dev_pm_domain_attach|detach(). Typically dev_pm_domain_attach() shall be invoked from subsystem level code at the probe phase to try to attach a device to its PM domain. The reversed actions may be done a the remove phase and then by invoking dev_pm_domain_detach(). When attachment succeeds, the attach function should assign its corresponding detach function to a new ->detach() callback added in the struct dev_pm_domain. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit aa42240ab2544a8bcb2efb400193826f57f3175e Author: Tomasz Figa <tomasz.figa@xxxxxxxxx> Date: Fri Sep 19 20:27:36 2014 +0200 PM / Domains: Add generic OF-based PM domain look-up This patch introduces generic code to perform PM domain look-up using device tree and automatically bind devices to their PM domains. Generic device tree bindings are introduced to specify PM domains of devices in their device tree nodes. Backwards compatibility with legacy Samsung-specific PM domain bindings is provided, but for now the new code is not compiled when CONFIG_ARCH_EXYNOS is selected to avoid collision with legacy code. This will change as soon as the Exynos PM domain code gets converted to use the generic framework in further patch. This patch was originally submitted by Tomasz Figa when he was employed by Samsung. Link: http://marc.info/?l=linux-pm&m=139955349702152&w=2 Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Tested-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 86f1e15f5646b4855bd77025c950239650c4843e Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:35 2014 +0200 ACPI / PM: Assign the ->detach() callback when attaching the PM domain As as preparation to simplify the detachment of devices from their PM domains, we assign the ->detach() callback to genpd_dev_pm_detach(). Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c3099a5294f2c7266234e8ea35cbffc20a41aa9a Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Fri Sep 19 20:27:34 2014 +0200 PM / Domains: Add a detach callback to the struct dev_pm_domain The intent of this callback is to simplify detachment of devices from their PM domains. Further patches will show the benefit. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 6ca01a1b451de067462368bd9737efb7accb291c Merge: 93177d1 0f33be0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 06:46:16 2014 -0700 Merge 3.17-rc6 into usb-next We want the USB fixes in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93177d1f562e4c33871dcf8272e5f8686c73eff1 Merge: 18f340f f8c0e05 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 22 06:18:07 2014 -0700 Merge tag 'usb-serial-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial into usb-next Johan writes: USB-serial updates for v3.18-rc1 These changes add two new "simple" drivers, while removing the redundant zte_ev driver (PIDs moved to option). Included are also some minor clean ups to the xsens_mt driver, and the enabling of further baud rates for pl2303 devices. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 35e1efd25a9e7d5cf2884fa23441ab87353849bb Merge: 6f98e89 d1ac554 Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Mon Sep 22 22:54:56 2014 +1000 Merge tag 'keys-next-20140922' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs into next commit 0cadc70282df0d957c00e8e68ba58afeefdf0f64 Author: Todd E Brandt <todd.e.brandt@xxxxxxxxxxxxxxx> Date: Fri Sep 19 14:07:12 2014 -0700 PM / sleep: new suspend_resume trace event for console resume This patch adds another suspend_resume trace event for analyze_suspend to capture. The resume_console call can take several hundred milliseconds if the printk buffer is full of debug info. The tool will now inform testers of the wasted time and encourage them to disable it in production builds. Signed-off-by: Todd Brandt <todd.e.brandt@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 12e10bb60be2a4259373c05dfbf8f71b87a17421 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 16 21:59:39 2014 +0200 PM / domains: Spelling s/domian/domain/ Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 02037a9719fa89b7e5dc25cb22afc06c4eae406e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 18:15:59 2014 +0200 ARM: at91: document Atmel SMART compatibles Document all the available compatibles for Atmel "SMART" SoCs. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 2f58617168108660b5559c5e6d195c41767f823b Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 18:15:58 2014 +0200 ARM: at91: add sama5d4 support to sama5_defconfig Add sama5d4 to sama5_defconfig to build kernel booting on both sama5d3 and samad4. Note that earlyprintk can only be working for one or the other. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7a4752677c449efa4a545014d5a153c409744d9f Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 15 18:15:57 2014 +0200 ARM: at91: dt: add device tree file for SAMA5D4ek board Add reference SAMA5D4-EK platform DT file. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7c661394c56c9fcd98734bb762fb4191e4ff0ecc Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 15 18:15:56 2014 +0200 ARM: at91: dt: add device tree file for SAMA5D4 SoC Add SAMA5D4 SoC DT file. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit b511593d7165809019a5b84b35adf95f284410a8 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Sep 22 14:17:12 2014 +0200 clk: samsung: exynos4: fix g3d clocks sclk_g3d clock doesn't have enable/disable bits, but the driver hijacked g3d gate clock bits for this purpose and didn't provide real g3d clock at all. This patch fixes this issue by adding proper definition for g3d clock and removing incorrect access to GATE_IP_G3D register in sclk_g3d. In addition CLK_SET_RATE_PARENT flag is dropped from sclk_g3d, because it does not make any sense and most likely has been added by mistake. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> [tomasz.figa@xxxxxxxxx: Adjusted commit message.] Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 4676f0aab9dc4f9aa729d5a5b75d20f824d77742 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Jul 1 10:10:05 2014 +0200 clk: samsung: exynos4: add support for MOUT_HDMI and MOUT_MIXER clocks This patch adds support for exporting mout_hdmi and mout_mixer to device tree. Access to those clocks is required to correctly setup HDMI module on Exynos 4210 and 4x12 SoCs. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> CC: Mike Turquette <mturquette@xxxxxxxxxx> CC: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit c14254300131f5dcb3fe18a1ff6eee163c2bc9b4 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Sep 16 13:54:31 2014 +0200 clk: samsung: exynos4: add missing smmu_g2d clock and update comments This patch adds missing smmu_g2d clock implementation and updates comment about Exynos4 clocks from 278-282 range. Those clocks are available on all Exynos4 SoC series, so the misleading comment has been removed. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 07ccf02ba5c3b2c6ff7d0325aefabe3b79732b57 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 2 15:21:17 2014 +0200 dt-bindings: clk: samsung: Document the DMC domain of Exynos3250 CMU Document the new compatible for clock in DMC (Dynamic Memory Controller) domain of Exynos3250 Clock Management Unit (CMU). Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit d0e73eaf1925053cbf33fb002382aee72accd044 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 2 15:21:16 2014 +0200 ARM: dts: exynos3250: Add CMU node for DMC domain clocks Add CMU (Clock Management Unit) node for DMC (Dynamic Memory Controller) domain clocks on Exynos3250. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit e3c3f19bc6185e0a24454e7b439e11635e6db960 Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Tue Sep 2 15:21:15 2014 +0200 clk: samsung: exynos3250: Register DMC clk provider Add clock provider for clocks in DMC domain including EPLL and BPLL. The DMC clocks are necessary for Exynos3 devfreq driver. The DMC clock domain uses different address space (0x105C0000) than standard clock domain (0x10030000 - 0x10050000). The difference is huge enough to add new DT node for the clock provider, rather than extending existing address space. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 22842d244af353a66fa4e6d1978d3f4c39ee4d20 Author: Chander Kashyap <k.chander@xxxxxxxxxxx> Date: Wed Sep 10 11:26:05 2014 +0530 clk: samsung: exynos5260: fix typo in clock name The parent name added in parent list as mout_phyclk_mipi_dphy_4l_m_txbyte_clkhs_p, is different than the defined parent due to typo. Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> Signed-off-by: Chander Kashyap <k.chander@xxxxxxxxxxx> Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit e82ba578ccdeb3faa90dfcee06dbbb8dffe1145a Author: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Date: Fri Sep 5 17:24:41 2014 +0530 clk: samsung: exynos3250: fix width field of mout_mmc0/1 As per Exynos3250 user manual mmc0/1 mux selection has 4 bit wide. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 59037b92f440c10d0c717a91f0b35a49b774c708 Author: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Date: Tue Sep 9 17:24:57 2014 +0530 clk: samsung: exynos3250: fix width and shift of div_spi0_isp clock Update shift and width field of div_spi0_isp clock as per Exynos3250 user manual. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 5ce37f266650528978cc2fa410b45ded4fd57e1c Author: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Date: Sat Sep 6 18:33:33 2014 +0530 clk: samsung: exynos3250: fix mout_cam_blk parent list As per user manual of Exynos3250 SRC_CAM can select div_cam_blk_320 if it's value is 0xC, so placing div_cam_blk_320 at proper index in parent list of mout_cam_blk. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Tomasz Figa <tomasz.figa@xxxxxxxxx> commit 4b050ba7a66c3ff26cc329ea4db0e9fb2d66a064 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 18 10:51:33 2014 +0100 MIPS: pgtable.h: Implement the pgprot_writecombine function for MIPS Previously, the pgprot_writecombine function was simply defined as pgprot_uncached in include/asm-generic/pgtable.h. This is not optimal for cores that can actually do write-combine memory writes so define this function to take into account the core's cache coherency attribute to achieve such behavior. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7403/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 4f12b91d2da577d81c580da62373fd37b31e0da1 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 18 10:51:32 2014 +0100 MIPS: cpu-probe: Set the write-combine CCA value on per core basis Different cores use different CCA values to achieve write-combine memory writes. For cores that do not support write-combine we set the default value to CCA:2 (uncached, non-coherent) which is the default value as set by the kernel. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7402/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 80bc94d10466c710158d5f30c43625ed9fa59e78 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 18 10:51:31 2014 +0100 MIPS: pgtable-bits: Define the CCA bit for WC writes on Ingenic cores Ingenic uses the CCA:1 bit to achieve write-combine memory writes. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7401/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit fb02035083d9e2de1deba529b45835a698944f07 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Fri Jul 18 10:51:30 2014 +0100 MIPS: pgtable-bits: Move the CCA bits out of the core's ifdef blocks Define all the CCA bits outside the ifdef blocks for specific cores but also allow cores to override them if necessary. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7400/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f46493826a79f6a2bf9d8a0030e627e0255bbf48 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Jul 16 16:51:32 2014 +0100 MIPS: DMA: Add cma support Adds cma support to the MIPS architecture. cma uses memblock. However, mips uses bootmem. bootmem is informed about any regions reserved by memblock dma api is modified to use cma reserved memory regions when available Tested using cma_test. cma_test is a simple driver that assigns blocks of memory from cma reserved sections. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: catalin.marinas@xxxxxxx Cc: will.deacon@xxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: mingo@xxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: arnd@xxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Cc: m.szyprowski@xxxxxxxxxxx Cc: x86@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7360/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 8057b30814e1c90e9425bb7b3be868b55bf5435c Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Jul 16 16:51:31 2014 +0100 x86: use generic dma-contiguous.h dma-contiguous.h is now in asm-generic. Use that to avoid code repetition in x86. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: catalin.marinas@xxxxxxx Cc: will.deacon@xxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: mingo@xxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: arnd@xxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Cc: m.szyprowski@xxxxxxxxxxx Cc: x86@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7359/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2f06dbe4e4fcea81b719b025850350324a722366 Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Jul 16 16:51:30 2014 +0100 arm64: use generic dma-contiguous.h dma-contiguous.h is now in asm-generic. Use that to avoid code repetition in arm64. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: will.deacon@xxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: mingo@xxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: arnd@xxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Cc: m.szyprowski@xxxxxxxxxxx Cc: x86@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7358/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 02d31c7de1e799c1fc171d86cfac92240885ce7e Author: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Date: Wed Jul 16 16:51:29 2014 +0100 asm-generic: Add dma-contiguous.h This header is used by arm64 and x86 individually. Adding to asm-generic to avoid further code repetition while adding cma to mips. Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@xxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Cc: catalin.marinas@xxxxxxx Cc: will.deacon@xxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: mingo@xxxxxxxxxx Cc: hpa@xxxxxxxxx Cc: arnd@xxxxxxxx Cc: gregkh@xxxxxxxxxxxxxxxxxxx Cc: m.szyprowski@xxxxxxxxxxx Cc: x86@xxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-arch@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7357/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 39bcb7969a84aab3dcdb857b261a87d5d888f5a7 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Wed Jul 23 10:00:09 2014 +0100 MIPS: BPF: Add new emit_long_instr macro This macro uses the capitalized UASM_* macros to emit 32 or 64-bit instructions depending on the kernel configurations. This allows us to remove a few CONFIG_64BIT ifdefs from the code. Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7446/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 011eeece0bb2e1b65b2d2fd618067425e8ccdbb4 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:26 2014 -0700 MIPS: ralink: Move device-trees to arch/mips/boot/dts/ Move the Ralink device-trees to arch/mips/boot/dts/ and update the Makefiles accordingly. A built-in device-tree is optional, so select BUILTIN_DTB when it is requested. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7561/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 36094619e419c306dc08d83f043bc9937cc63e03 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:25 2014 -0700 MIPS: Netlogic: Move device-trees to arch/mips/boot/dts/ Move the Netlogic XLP device-trees to arch/mips/boot/dts/ and update the Makefiles accordingly. A built-in device-tree is optional, so select BUILTIN_DTB when it is requested. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7560/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit f262b5f2d5820799fd58ae08eee4ec3fc97686ab Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:24 2014 -0700 MIPS: sead3: Move device-trees to arch/mips/boot/dts/ Move the SEAD-3 device-tree to arch/mips/boot/dts/ and update the Makefiles accordingly. Since SEAD-3 requires the device-tree to be built into the kernel, select BUILTIN_DTB when building for SEAD-3. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7555/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3229a6d865d78152fb2a25aa0cf97e1904cf18d8 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:23 2014 -0700 MIPS: Lantiq: Move device-trees to arch/mips/boot/dts/ Move the Lantiq device-trees to arch/mips/boot/dts/ and update the Makefiles accordingly. There is currently only a single Lantiq device-tree (EASY50712), and it's required to be built into the kernel, so select BUILTIN_DTB for it. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7559/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit e326479f2f5767be3341c305a4457c4a1405e5a7 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:22 2014 -0700 MIPS: Octeon: Move device-trees to arch/mips/boot/dts/ Move the Octeon device-trees to arch/mips/boot/dts/ and update the Makefiles accordingly. Since Octeon requires the device-tree to be built into the kernel, select BUILTIN_DTB as well. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7556/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c8d333dfe4bab898fd87f4c3ae555f2c1388eb8f Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:21 2014 -0700 MIPS: Add support for building device-tree binaries Add a 'dtbs' Makefile target that just builds the device-tree binaries enabled by the configuration. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7557/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7fafb06831431ed7bc882c3cd7c981e3f41cfdb0 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 21 13:04:20 2014 -0700 MIPS: Create common infrastructure for building built-in device-trees In preparation for moving the device-trees to a common location, introduce the config option BUILTIN_DTB, which can be selected by platforms that use a device-tree built into the kernel image, and create a Makefile to build the device-trees in arch/mips/boot/dts/. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Cc: James Hogan <james.hogan@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: David Daney <david.daney@xxxxxxxxxx> Cc: John Crispin <blogic@xxxxxxxxxxx> Cc: Jayachandran C <jchandra@xxxxxxxxxxxx> Cc: Qais Yousef <qais.yousef@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: devicetree@xxxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7564/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit bfe0307942366b729520718b1ddcd96fb9bd5391 Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Apr 8 16:09:03 2014 +0100 MIPS: SEAD3: Enable DEVTMPFS This is similar to 68f30ba7f8b9d666d1218eec97822ade0f23d9c3 "MIPS: Malta: Enable DEVTMPFS" Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/6738/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit ff848c9f359ba4de478c01886d3664cd768defed Author: Markos Chandras <markos.chandras@xxxxxxxxxx> Date: Tue Apr 8 16:09:02 2014 +0100 MIPS: SEAD3: Regenerate defconfigs This is similar to a86dc812881fab40175f4d3c3028acf8627a3804 "MIPS: Regenerate malta defconfigs" Signed-off-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/6737/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c64bb5f0c26f6ea791270852217b7cb28553ba76 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Wed Aug 20 21:36:33 2014 +0200 MIPS: Alchemy: DB1300: Add touch penirq support wire up the WM9713 pendown irq support. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/7563/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit c02a505e5a7787ee7aa871152ba571e6c1d1dc62 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Wed Aug 20 21:36:32 2014 +0200 MIPS: Alchemy: DB1xxx: Explicitly set 50MHz clock for I2C/SPI units. Add an explicit call to set the desired rate to get the correct clock routing for the PSC clocks. It wasn't broken before, but now it's less affected by bootloader changes. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/7554/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 7ec32e4965ae69976de0fb0f340496904e23e113 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Wed Aug 20 21:36:31 2014 +0200 MIPS: Alchemy: Update cpu-feature-overrides More features the Au1 core definitely doesn't have. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/7562/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 092ea4660808cd441ccf3d415b80665dbe8712f4 Author: Manuel Lauss <manuel.lauss@xxxxxxxxx> Date: Wed Aug 20 21:36:30 2014 +0200 MIPS: Alchemy: devboards: sit and spin after poweroff On boards which don't support poweroff, systemd complains about this fact. In case poweroff fails, just sit and spin in the wait loop. Signed-off-by: Manuel Lauss <manuel.lauss@xxxxxxxxx> Cc: Linux-MIPS <linux-mips@xxxxxxxxxxxxxx> Cc: Manuel Lauss <manuel.lauss@xxxxxxxxx> Patchwork: https://patchwork.linux-mips.org/patch/7558/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 3c09bae43ba92a07a6a7b7d42360deb32d289cc0 Author: Chen Jie <chenj@xxxxxxxxxx> Date: Fri Aug 15 16:56:58 2014 +0800 MIPS: Use WSBH/DSBH/DSHD on Loongson 3A Signed-off-by: chenj <chenj@xxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: chenhc@xxxxxxxxxx Patchwork: https://patchwork.linux-mips.org/patch/7542/ Patchwork: https://patchwork.linux-mips.org/patch/7550/ Signed-off-by: Ralf Baechle <ralf@xxxxxxxxxxxxxx> commit 2189064795dc3fb4101e5c34d28c6b62b8a3bfd9 Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Mon Sep 22 11:48:31 2014 +0100 arm64: Implement set_arch_dma_coherent_ops() to replace bus notifiers Commit 6ecba8eb51b7 (arm64: Use bus notifiers to set per-device coherent DMA ops) introduced bus notifiers to set the coherent dma ops based on the 'dma-coherent' DT property. Since the generic of_dma_configure() handles this property for platform and AMBA devices, replace the notifiers with set_arch_dma_coherent_ops(). Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit c9d571bee9628bc925253a21ea5943707aadb5f1 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Wed Sep 17 12:56:07 2014 +0100 of: amba: use of_dma_configure for AMBA devices Commit 591c1e ("of: configure the platform device dma parameters) introduced a common mechanism to configure DMA from DT properties. AMBA devices created from DT can take advantage of this, too. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit ccd359f219bee914501a8892b148e2a1315066d3 Author: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Date: Fri Sep 19 22:58:42 2014 +0100 iommu/arm-smmu: fix bug in pmd construction We are using the same pfn for every pte we create while constructing the pmd. Fix this by actually updating the pfn on each iteration of the pmd construction loop. It's not clear if we can actually hit this bug right now since iommu_map splits up the calls to .map based on the page size, so we only ever seem to iterate this loop once. However, things might change in the future that might cause us to hit this. Signed-off-by: Mitchel Humpherys <mitchelh@xxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 668ebd106860f09f43993517f786a2ddfd0f9ebe Author: Yi Li <yi.li@xxxxxxxxxx> Date: Mon Sep 22 11:11:18 2014 +0100 arm64: dmi: Add SMBIOS/DMI support SMBIOS is important for server hardware vendors. It implements a spec for providing descriptive information about the platform. Things like serial numbers, physical layout of the ports, build configuration data, and the like. This has been tested by dmidecode and lshw tools. This patch adds the call to dmi_scan_machine() to arm64_enter_virtual_mode(), as that is the point where the EFI Configuration Tables are registered as being available. It needs to be in an early_initcall anyway as dmi_id_init(), which is an arch_initcall itself, depends on dmi_scan_machine() having been called already. Signed-off-by: Yi Li <yi.li@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 6051ddd4f94894cce8fde3aa29f90ae6c567fc46 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Fri Sep 19 12:36:27 2014 +0000 ARM: dts: rockchip: Remove "regulator-always-on" in vcc_rmii for Radxa Rock On Rockchip RK3188 SoCs the platform driver emac_rockchip is used. This variant driver enables this regulator when the device driver is loaded. The phy no longer needs to be always on. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 726d32bf79ef4042004535c9af9c8ea543abe46f Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 15 18:15:55 2014 +0200 ARM: at91: SAMA5D4 SoC detection code and low level routines SoC identification code, kernel uncompress and low level debugging routines update. On SAMA5D4, DBGU is at another address AT91_BASE_DBGU2 so another round of detection is needed. We also had to differentiate with SAMA5D3 SoC family and rename some variables. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 2dc850b62e5b727a5413b60197cdddf92ab4f1a2 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 15 18:15:54 2014 +0200 ARM: at91: introduce basic SAMA5D4 support Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit bcc5fd49a0fda5abc22057f65b318788ccb5d2ad Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 18:15:53 2014 +0200 clk: at91: add a driver for the h32mx clock Newer SoCs have two different AHB interconnect. The AHB 32 bits Matrix interconnect (h32mx) has a clock that can be setup at the half of the h64mx clock (which is mck). The h32mx clock can not exceed 90 MHz. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit dee80ad12d2b1b304286a707fde7ab05d1fc7bab Author: Andreas Bomholtz <andreas@xxxxxxxxxxx> Date: Mon Sep 22 09:50:43 2014 +0200 USB: cp210x: add support for Seluxit USB dongle Added the Seluxit ApS USB Serial Dongle to cp210x driver. Signed-off-by: Andreas Bomholtz <andreas@xxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit bfc2d7dfdd761ae3beccdb26abebe03cef042f46 Author: Joe Savage <joe.savage@xxxxxxxxxxx> Date: Sat Sep 20 08:01:16 2014 -0500 USB: serial: cp210x: added Ketra N1 wireless interface support Added support for Ketra N1 wireless interface, which uses the Silicon Labs' CP2104 USB to UART bridge with customized PID 8946. Signed-off-by: Joe Savage <joe.savage@xxxxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 7639913f7298ed23a3f026ebcbb3b4e8850bcc39 Merge: 4e9c58c f8fb117 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 22 10:12:16 2014 +0200 Merge branch 'topic/hda-jack-rework' into for-next This is a merge of rework of HD-audio jack event handling code. It extends the jack table to allow multiple callbacks. commit 8d0eff6385640a9e6eed0b0c09113794b2bb74e9 Author: Alexander Graf <agraf@xxxxxxx> Date: Wed Sep 10 14:37:29 2014 +0200 KVM: PPC: Pass enum to kvmppc_get_last_inst The kvmppc_get_last_inst function recently received a facelift that allowed us to pass an enum of the type of instruction we want to read into it rather than an unreadable boolean. Unfortunately, not all callers ended up passing the enum. This wasn't really an issue as "true" and "false" happen to match the two enum values we have, but it's still hard to read. Update all callers of kvmppc_get_last_inst() to follow the new calling convention. Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 033aaa14af0251285226a7dafc11c24a13959bca Author: Madhavan Srinivasan <maddy@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 22:37:36 2014 +0530 powerpc/kvm: common sw breakpoint instr across ppc This patch extends the use of illegal instruction as software breakpoint instruction across the ppc platform. Patch extends booke program interrupt code to support software breakpoint. Signed-off-by: Madhavan Srinivasan <maddy@xxxxxxxxxxxxxxxxxx> [agraf: Fix bookehv] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit a59c1d9e609c4bbad9ec3b238221ecf3b9ca091b Author: Madhavan Srinivasan <maddy@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 22:37:35 2014 +0530 powerpc/kvm: support to handle sw breakpoint This patch adds kernel side support for software breakpoint. Design is that, by using an illegal instruction, we trap to hypervisor via Emulation Assistance interrupt, where we check for the illegal instruction and accordingly we return to Host or Guest. Patch also adds support for software breakpoint in PR KVM. Signed-off-by: Madhavan Srinivasan <maddy@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d2ca32a2d4f029b90e4b8f67879a9dfead0c85fa Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Mon Sep 1 12:01:59 2014 +0300 KVM: PPC: Book3E: Enable e6500 core Now that AltiVec and hardware thread support is in place enable e6500 core. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 188e267ce249b491dfbb77d881996dcb5610dc90 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Mon Sep 1 12:01:58 2014 +0300 KVM: PPC: e500mc: Add support for single threaded vcpus on e6500 core ePAPR represents hardware threads as cpu node properties in device tree. So with existing QEMU, hardware threads are simply exposed as vcpus with one hardware thread. The e6500 core shares TLBs between hardware threads. Without tlb write conditional instruction, the Linux kernel uses per core mechanisms to protect against duplicate TLB entries. The guest is unable to detect real siblings threads, so it can't use the TLB protection mechanism. An alternative solution is to use the hypervisor to allocate different lpids to guest's vcpus that runs simultaneous on real siblings threads. On systems with two threads per core this patch halves the size of the lpid pool that the allocator sees and use two lpids per VM. Use even numbers to speedup vcpu lpid computation with consecutive lpids per VM: vm1 will use lpids 2 and 3, vm2 lpids 4 and 5, and so on. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> [agraf: fix spelling] Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9333e6c4c15a4084dd5f4336cd4379afbf99e458 Author: Paul Mackerras <paulus@xxxxxxxxx> Date: Tue Sep 2 16:14:43 2014 +1000 KVM: PPC: Book3S HV: Only accept host PVR value for guest PVR Since the guest can read the machine's PVR (Processor Version Register) directly and see the real value, we should disallow userspace from setting any value for the guest's PVR other than the real host value. Therefore this makes kvm_arch_vcpu_set_sregs_hv() check the supplied PVR value and return an error if it is different from the host value, which has been put into vcpu->arch.pvr at vcpu creation time. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit b754c739ee8cd0101dc3f5a24e8c2ff76ee7eff9 Author: Paul Mackerras <paulus@xxxxxxxxxxx> Date: Tue Sep 2 16:14:42 2014 +1000 KVM: PPC: Book3S HV: Increase timeout for grabbing secondary threads Occasional failures have been seen with split-core mode and migration where the message "KVM: couldn't grab cpu" appears. This increases the length of time that we wait from 1ms to 10ms, which seems to work around the issue. Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit e9a94832f3d3ce10f5ae48dd119ccb50cfb0d04e Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Mon Sep 1 13:17:43 2014 +0300 KVM: PPC: Remove shared defines for SPE and AltiVec interrupts We currently decide at compile-time which of the SPE or AltiVec units to support exclusively. Guard kernel defines with CONFIG_SPE_POSSIBLE and CONFIG_PPC_E500MC and remove shared defines. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit d02d4d156e72baf9a6628c76eb53019124d3c82f Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Mon Sep 1 17:19:56 2014 +0300 KVM: PPC: Remove the tasklet used by the hrtimer Powerpc timer implementation is a copycat version of s390. Now that they removed the tasklet with commit ea74c0ea1b24a6978a6ebc80ba4dbc7b7848b32d follow this optimization. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Bogdan Purcareata <bogdan.purcareata@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2f699a59f399d65d51df6eb916bf2e0f7c6f8148 Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 13 14:39:44 2014 +0530 KVM: PPC: BOOKE: Emulate debug registers and exception This patch emulates debug registers and debug exception to support guest using debug resource. This enables running gdb/kgdb etc in guest. On BOOKE architecture we cannot share debug resources between QEMU and guest because: When QEMU is using debug resources then debug exception must be always enabled. To achieve this we set MSR_DE and also set MSRP_DEP so guest cannot change MSR_DE. When emulating debug resource for guest we want guest to control MSR_DE (enable/disable debug interrupt on need). So above mentioned two configuration cannot be supported at the same time. So the result is that we cannot share debug resources between QEMU and Guest on BOOKE architecture. In the current design QEMU gets priority over guest, this means that if QEMU is using debug resources then guest cannot use them and if guest is using debug resource then QEMU can overwrite them. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3840edc8033ad5b86deee309c1c321ca54257452 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:36:25 2014 +0300 KVM: PPC: Move ONE_REG AltiVec support to powerpc Move ONE_REG AltiVec support to powerpc generic layer. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 8a41ea53b32ffbe7524e3424cf0403fa3b4c73fb Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:36:24 2014 +0300 KVM: PPC: Make ONE_REG powerpc generic Make ONE_REG generic for server and embedded architectures by moving kvm_vcpu_ioctl_get_one_reg() and kvm_vcpu_ioctl_set_one_reg() functions to powerpc layer. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 95d80a294b1eec83eb58c57e101b05828d97a851 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:36:23 2014 +0300 KVM: PPC: Book3e: Add AltiVec support Add AltiVec support in KVM for Book3e. FPU support gracefully reuse host infrastructure so follow the same approach for AltiVec. Book3e specification defines shared interrupt numbers for SPE and AltiVec units. Still SPE is present in e200/e500v2 cores while AltiVec is present in e6500 core. So we can currently decide at compile-time which of the SPE or AltiVec units to support exclusively by using CONFIG_SPE_POSSIBLE and CONFIG_PPC_E500MC defines. As Alexander Graf suggested, keep SPE and AltiVec exception handlers distinct to improve code readability. Guests have the privilege to enable AltiVec, so we always need to support AltiVec in KVM and implicitly in host to reflect interrupts and to save/restore the unit context. KVM will be loaded on cores with AltiVec unit only if CONFIG_ALTIVEC is defined. Use this define to guard KVM AltiVec logic. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3efc7da61f6c5af78f67f03df8b0e1a473d8bc45 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:36:22 2014 +0300 KVM: PPC: Book3E: Increase FPU laziness Increase FPU laziness by loading the guest state into the unit before entering the guest instead of doing it on each vcpu schedule. Without this improvement an interrupt may claim floating point corrupting guest state. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit bc8a4e5c2504eeca248f0b668fe94a80081cb9b6 Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 13 14:40:06 2014 +0530 KVM: PPC: BOOKE: Add one_reg documentation of SPRG9 and DBSR This was missed in respective one_reg implementation patch. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 06a29e427432b4baaacc3b816b57e90fe08561ff Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Tue Aug 19 14:59:30 2014 +1000 KVM: PPC: Book3S HV: Add register name when loading toc Add 'r' to register name r2 in kvmppc_hv_enter. Also update comment at the top of kvmppc_hv_enter to indicate that R2/TOC is non-volatile. Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2b2695a8d85593ec0253f7fdbeea1e18f0f9e5e2 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:09:04 2014 +0300 powerpc/booke: Revert SPE/AltiVec common defines for interrupt numbers Book3E specification defines shared interrupt numbers for SPE and AltiVec units. Still SPE is present in e200/e500v2 cores while AltiVec is present in e6500 core. So we can currently decide at compile-time which unit to support exclusively. As Alexander Graf suggested, this will improve code readability especially in KVM. Use distinct defines to identify SPE/AltiVec interrupt numbers, reverting c58ce397 and 6b310fc5 patches that added common defines. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 3477e71d53197d7f1b6a1f7416f3c42ffec5f221 Author: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Date: Wed Aug 20 16:09:03 2014 +0300 powerpc/booke: Restrict SPE exception handlers to e200/e500 cores SPE exception handlers are now defined for 32-bit e500mc cores even though SPE unit is not present and CONFIG_SPE is undefined. Restrict SPE exception handlers to e200/e500 cores adding CONFIG_SPE_POSSIBLE and consequently guard __stup_ivors and __setup_cpu functions. Signed-off-by: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Acked-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2c5096720f3e325df697881cc2a5b3d810b57109 Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:56 2014 +0530 KVM: PPC: BOOKE: Add one reg interface for DBSR Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 348ba71081cd8444178d24d3ed13d34fc1b61dae Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:55 2014 +0530 KVM: PPC: BOOKE: Guest and hardware visible debug registers are same Guest visible debug register and hardware visible debug registers are same, so ther is no need to have arch->shadow_dbg_reg, instead use arch->dbg_reg. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 2190991e7caa2e2a2b976e9ed16e55f8c51623be Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:54 2014 +0530 KVM: PPC: BOOKE: Clear guest dbsr in userspace exit KVM_EXIT_DEBUG Dbsr is not visible to userspace and we do not think any need to expose this to userspace because: Userspace cannot inject debug interrupt to guest (as this does not know guest ability to handle debug interrupt), so userspace will always clear DBSR. Now if userspace has to always clear DBSR in KVM_EXIT_DEBUG handling then clearing dbsr in kernel looks simple as this avoid doing SET_SREGS/set_one_reg() to clear DBSR Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 37277b1129de84024f1f427da7bf25aabccf835e Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:53 2014 +0530 KVM: PPC: BOOKE: Allow guest to change MSR_DE This patch changes the default behavior of MSRP_DEP, that is guest is not allowed to change the MSR_DE, to guest can change MSR_DE. When userspace is debugging guest then it override the default behavior and set MSRP_DEP. This stops guest to change MSR_DE when userspace is debugging guest. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit c8ca97ca9b87c0a9c9e67feda656b8dbca65cf08 Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:52 2014 +0530 KVM: PPC: BOOKE : Emulate rfdi instruction This patch adds "rfdi" instruction emulation which is required for guest debug hander on BOOKE-HV Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 9fee7563cdb535596c48e7b05383d75590a64418 Author: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Date: Wed Aug 6 12:08:51 2014 +0530 KVM: PPC: BOOKE: allow debug interrupt at "debug level" Debug interrupt can be either "critical level" or "debug level". There are separate set of save/restore registers used for different level. Example: DSRR0/DSRR1 are used for "debug level" and CSRR0/CSRR1 are used for critical level debug interrupt. Using CPU_FTR_DEBUG_LVL_EXC to decide which interrupt level to be used. Signed-off-by: Bharat Bhushan <Bharat.Bhushan@xxxxxxxxxxxxx> Signed-off-by: Alexander Graf <agraf@xxxxxxx> commit 62364357c184db52d556f868e493963fac2aea78 Author: George Cherian <george.cherian@xxxxxx> Date: Tue Sep 9 09:44:34 2014 +0530 extcon: gpio: Fix code cleanup This patch fixes following minor cleanup: - Order the include files in alphabetical order. - Fix description of state_off in extcon_gpio.h - Add a descrition for check_on_resume in extcon_gpio.h Signed-off-by: George Cherian <george.cherian@xxxxxx> [Modify the name/description of patch to keep standary codiyg style by Chanwoo Choi] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit dc6048d7231914a608938d330a5006f9929f76c7 Author: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> Date: Wed Sep 17 12:58:43 2014 +0900 extcon: max77693: Fix a bug occured at changing ADC debounce time. When it writes some value other than 0 to BTLDset and JIGset, muic device will be reset automatically. And it happens during updating ADC debounce time, because it shares same register. To update ADC debounce time without reset, set value only to ADCDbset and 0 to BTLDset and JIGset. Signed-off-by: Jonghwa Lee <jonghwa3.lee@xxxxxxxxxxx> [Remove un-needed masking operation by Chanwoo Choi] Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit b7c7e0865944131820e1a65ff3b08d94ae553d0f Author: Jean Delvare <jdelvare@xxxxxxx> Date: Tue Sep 16 23:16:15 2014 +0200 extcon: sm5502: Drop useless include Don't include <linux/input.h> when the driver does not use anything from this header file. Signed-off-by: Jean Delvare <jdelvare@xxxxxxx> Acked-by: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Cc: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Cc: MyungJoo Ham <myungjoo.ham@xxxxxxxxxxx> commit 4e9c58cb1219bcbcf6e698ed6541b275048bfa88 Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 21 22:52:46 2014 +0200 ALSA: oxygen: set fifo_size Allow the driver to report the hardware FIFO size. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 5ae0095d00d48be60b2e3cbdb79a35a7d796d96b Author: Harley Griggs <hgriggs@xxxxxxxxxxxx> Date: Wed Sep 10 19:58:25 2014 +0100 ALSA: virtuoso: add partial Xonar Xense support This patch adds partial support for the Xonar Xense. [trivial coding style fixes by tiwai] Signed-off-by: Harley Griggs <hgriggs@xxxxxxxxxxxx> Acked-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d715523174479455b07a8baffbe63ff13e0695bf Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Fri Sep 12 15:16:37 2014 +0200 extcon: max77693: Use resource managed interrupt line Use resource managed interrupt line devm_request_threaded_irq() to simplify a little cleanup paths: - no goto to cleanup label, - simpler remove function. Overall the driver size is decreased by 11 line of code. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit bb2e226b3bef596dd56be97df655d857b4603923 Author: Guenter Roeck <linux@xxxxxxxxxxxx> Date: Sun Sep 21 15:04:53 2014 -0700 Revert "percpu: free percpu allocation info for uniprocessor system" This reverts commit 3189eddbcafc ("percpu: free percpu allocation info for uniprocessor system"). The commit causes a hang with a crisv32 image. This may be an architecture problem, but at least for now the revert is necessary to be able to boot a crisv32 image. Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: Honggang Li <enjoymindful@xxxxxxxxx> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Fixes: 3189eddbcafc ("percpu: free percpu allocation info for uniprocessor system") Cc: stable@xxxxxxxxxxxxxxx # Please don't apply 3189eddbcafc commit 6281100ec84016facda2bbbed5be649ff0f82073 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Aug 4 15:54:14 2014 +0900 dt-bindings: extcon: Add support for Richtek RT8973A MUIC device This patch add documentation for binding of Richtek RT8973A (Micro USB Switch) device which is using EXTCON subsystem. The RT8973A device can detect various external accessories when external accessories is attached or detached. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> commit c03e017c4d3d0fb783cbe6b7b9e4f278addcb23a Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Aug 18 09:05:21 2014 +0900 extcon: rt8973a: Add Richtek RT8973A extcon driver This patch add support for Richtek RT8973A which is Micro USB Switch OVP and i2c interface. The RT8973A is a USB port accessory detector and switch that is optimized to protect low voltage system from abnormal high input voltage (up to 28V) and supports high speed USB operation. Also, RT8973A support 'auto-configuration' mode. If auto-configuration mode is enabled, RT8973A would control internal h/w patch for USB D-/D+ switching. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> commit fbae30d8dd35454bd4a55445d1bb51c620f8e646 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Aug 12 10:15:39 2014 +0900 extcon: sm5502: Clean up codes by using checkpatch script This patch just clean up codes by using checkpatch script and fix warning message about if statement. - the result of checkpatch script as following: WARNING: void function return statements are not generally useful + return; +} WARNING: quoted string split across lines + dev_err(info->dev, "failed: irq request (IRQ: %d," + " error :%d)\n", muic_irq->irq, ret); - warning message about coding style. drivers/extcon/extcon-sm5502.c:398 sm5502_muic_cable_handler() warn: we tested 'attached' before and it was 'false' Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit ca2a07e45d1d3d31a0a85d2f63d81a897c610040 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Thu Jul 31 16:32:46 2014 +0900 extcon: sm5502: Move sm5502.h header file to extcon directory This patch move sm5502.h header file from 'include/linux/extcon' to 'driver/extcon' because sm5502.h is used for driver/extcon/extcon-sm5502.c. and remove duplicate license description. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 0746d5d31f61721bf3e4ab84d75fac08d03e2a9a Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Aug 12 13:28:11 2014 +0900 extcon: sm5502: Add I2C dependency to fix build break This patch add I2C configuration dependency to fix following build break. If specific kernel build I2C as module, extcon-sm5502 have to depend on I2C configuration. drivers/built-in.o: In function `regmap_smbus_byte_reg_read': regmap-i2c.c:(.text+0x5030a): undefined reference to `i2c_smbus_read_byte_data' drivers/built-in.o: In function `regmap_smbus_byte_reg_write': regmap-i2c.c:(.text+0x50338): undefined reference to `i2c_smbus_write_byte_data' drivers/built-in.o: In function `regmap_smbus_word_reg_read': regmap-i2c.c:(.text+0x50356): undefined reference to `i2c_smbus_read_word_data' drivers/built-in.o: In function `regmap_smbus_word_reg_write': regmap-i2c.c:(.text+0x50384): undefined reference to `i2c_smbus_write_word_data' drivers/built-in.o: In function `regmap_i2c_read': regmap-i2c.c:(.text+0x503cf): undefined reference to `i2c_transfer' drivers/built-in.o: In function `regmap_i2c_gather_write': regmap-i2c.c:(.text+0x50442): undefined reference to `i2c_transfer' drivers/built-in.o: In function `regmap_i2c_write': regmap-i2c.c:(.text+0x50474): undefined reference to `i2c_master_send' drivers/built-in.o: In function `sm5502_muic_i2c_init': extcon-sm5502.c:(.init.text+0x6630): undefined reference to `i2c_register_driver' Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 0ccc7955acc19e7f4515e51993b7b95cf5a35fdc Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Wed Jul 30 15:39:02 2014 +0900 extcon: sm5502: Fix bug to check cable type This patch fix bug when checking cable type. SM5502 have to use ADC value to get correct cable type. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> commit 42532512ee0eff90076fc7c49391e17b1d51d91b Merge: 6b654af 72ed6cc Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Sep 22 10:07:25 2014 +1000 Merge branch 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos into drm-next Sorry for late. This pull request includes some enhancements for Exynos drm, new feature supports, cleanups and fixups like below, - Consider low power transmission for drm mipi dsi module, and also add non-continuous clock mode support for Exynos mipi dsi driver. - Add Exynos3250 SoC support. - Enhance and clean up ipp framework and fimc driver. - Update to use component match support and fix up de-initialization order. - Remove a direct mmap interface and relevant stuff specific to Exynos drm, use drm generic mmap interface instead. And we will remove the specific interface from userspace library, libdrm soon. - Use universal plane which allows to replace fake primary plane with the real one. - Some code cleanups and fixups. * 'exynos-drm-next' of git://git.kernel.org/pub/scm/linux/kernel/git/daeinki/drm-exynos: (40 commits) drm/exynos: switch to universal plane API drm/exynos: use drm generic mmap interface drm/exynos: remove DRM_EXYNOS_GEM_MAP_OFFSET ioctl drm/exynos: factor out initial setting of each driver drm/exynos/hdmi: unregister connector on removal drm/exynos/dp: unregister connector on removal drm/exynos/dpi: unregister connector and panel on removal drm/exynos/dsi: unregister connector on removal drm/exynos/fb: free exynos framebuffer on error drm/exynos/fbdev: fix fbdev gem object cleanup drm/exynos: fix drm driver de-initialization order drm/exynos/ipp: traverse ipp drivers list safely drm/exynos: update to use component match support drm/exynos/ipp: add file checks for ioctls drm/exynos/ipp: remove file argument from node related functions drm/exynos/fimc: fix source buffer registers drm/exynos/fimc: simplify buffer queuing drm/exynos/fimc: do not enable fimc twice drm/exynos/fimc: avoid clearing overflow bits drm/exynos/ipp: remove events during command cleaning ... commit eb500df22c930f5185bcfc66fd501358d45ce071 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Fri Sep 19 13:02:11 2014 -0300 [media] em28xx: Get rid of some unused modprobe parameters at vbi code There are two modprobe parameters for VBI that aren't used anywhere (one for debug, the other one related to the buffer size). Get rid of them! Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e0aa2b28d4b5cdf3d878331bce88d05b303304a0 Author: Morgan Phillips <winter2718@xxxxxxxxx> Date: Mon Sep 8 09:49:47 2014 -0300 [media] sn9c20x: fix checkpatch warning: sizeof cmatrix should be sizeof(cmatrix) Signed-off-by: Morgan Phillips <winter2718@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 312487ccfde9df5e39cd23d1c686b5cce8bab046 Author: Morgan Phillips <winter2718@xxxxxxxxx> Date: Mon Sep 8 09:32:22 2014 -0300 [media] sn9c20x.c: fix checkpatch error: that open brace { should be on the previous line Signed-off-by: Morgan Phillips <winter2718@xxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1c5eaa23d8fb8bb8c0f4707eeb456a870d7c18c4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Sep 20 10:19:33 2014 -0300 [media] cx23885: fix size helper functions The norm_swidth function was unused and is dropped. It's not clear what the purpose of that function was. The norm_maxh function was changed so it tests for 60 Hz standards rather than for 50 Hz standards. The is the preferred order. The norm_maxw function was poorly written and used: it gives the maximum allowed line width for the given standard. For 60 Hz that's 720, but for 50 Hz that's 768 which allows for 768x576 which gives you square pixels. For 60 Hz formats it is 640x480 that gives square pixels, so there is no need to go beyond 720. The initial width was set using norm_maxh(), which was wrong. Just set to 720, that's what you normally use. Since the initial standard was NTSC anyway the initial width was always 720 anyway. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 420b21761986dc16521e72951b9fc6e5d0a515df Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Sep 20 10:19:32 2014 -0300 [media] cx23885: fix VBI support Tested VBI support and discovered that the wrong offset was used. After this change it is now working. Verified with CC/XDS for NTSC and WSS/Teletext on PAL. It also reported the wrong start lines for the second field. That's now fixed as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f8789e6d9c824aeaeeb5b44b926dc8e960487cfe Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Sep 20 07:36:39 2014 -0300 [media] adv7604/adv7842: fix il_vbackporch typo and zero the struct Both adv7604 and adv7842 had the same typo in the code that sets the vertical backporch for the second interlaced field: it was assigned to vbackporch instead of il_vbackporch. In addition, the timings struct wasn't zeroed in the adv7842 driver, leaving several fields to undefined values causing the timing match function to fail. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c166845c9c452e9639a2e8b44581ce95942e89a5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Sep 20 07:36:38 2014 -0300 [media] v4l2-dv-timings: only check standards if non-zero If one or both of the timings being compared have the standards field with value 0, then accept that. Only check for matching standards if both timings have actually filled in that field. Otherwise no match will ever be found since when timings are detected the standards field will typically be set to 0 by the driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 62f28725a8dc5c16d3d63606f046899ae41fcf4a Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Sep 20 06:11:44 2014 -0300 [media] vivid: add teletext support to VBI capture This is useful to test teletext capture applications like alevt and mtt. It also fixes a previously undetected bug where the PAL VBI start line of the second field was off by one. Using the new field start defines helps a lot fixing such bugs. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 625c3442dcc79722c60afc398beac4c11f0395ac Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Sat Sep 13 06:28:02 2014 -0300 [media] DocBook media: fix wrong prototype G_EDID is an RW ioctl, so the struct v4l2_edid isn't const. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e93e7fd9f5a3fffec7792dbcc4c3574653effda7 Author: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Date: Tue Sep 9 04:42:43 2014 -0300 [media] v4l2: uvcvideo: Allow using larger buffers A test in uvc_video_decode_isoc() checks whether an image has been received from the camera completely. For this the data amount is compared to the buffer length, which, however, doesn't have to be equal to the image size. Switch to using formats .sizeimage field for an exact expected image size. [Renamed image_size to frame_size] Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 720b055d4b2ac8a73118019e1a01d8e6c8f63332 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Sep 21 20:35:05 2014 -0300 [media] hackrf: Fix a long constant drivers/media/usb/hackrf/hackrf.c:64:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default] .rangehigh = 4294967294, /* max u32, hw goes over 7GHz */ ^ Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e5ab1477bc4d213c602cb7427b6594db35d5c4c4 Author: Antti Palosaari <crope@xxxxxx> Date: Wed Sep 10 04:20:15 2014 -0300 [media] MAINTAINERS: add HackRF SDR driver HackRF SDR driver. Video4Linux USB device. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 969ec1f6bd925092109eaf21501a9d64adfc7ad4 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 23 04:40:01 2014 -0300 [media] hackrf: HackRF SDR driver V4L2 driver for HackRF SDR. Very basic version, with reduced feature set. Driver implements receiver only, hardware supports also transmitter. USB ID 1d50:6089. Model HackRF One Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 22889ef8162b86c25b6c609624a9c53f9fd7f642 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jul 21 19:36:58 2014 -0300 [media] v4l: Fix ARGB32 fourcc value in the documentation The ARGB32 pixel format's fourcc value is defined to 'BA24' in the videodev2.h header, but documented as 'AX24'. Fix the documentation. Reported-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit fcc0d3db28922f9ba21ea6c7b23ea10ffb5d3521 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Jul 21 17:06:33 2014 -0300 [media] v4l: Add ARGB555X and XRGB555X pixel formats The existing RGB555X pixel format is ill-defined in respect to its alpha bit and its meaning is driver dependent. Create new standard ARGB555X and XRGB555X variants with clearly defined meanings and make the existing variant deprecated. The new pixel formats 4CC values have been selected to match the DRM 4CCs for the same in-memory formats. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit de8eae36057b50086278af1ec4d96fc9a2e35f0b Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Thu Jul 17 08:52:08 2014 -0300 [media] media: Use strlcpy instead of custom code Replace strncpy + manually setting the terminating '\0' with an strlcpy call. Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 62ea864f84fed6e04dd033d500d4c9183a83d590 Author: Paul Fertser <fercerpav@xxxxxxxxx> Date: Sun Jun 8 12:16:48 2014 -0300 [media] media: usb: uvc: add a quirk for Dell XPS M1330 webcam As reported on [1], this device needs this quirk to be able to reliably initialise the webcam. [1] http://ubuntuforums.org/showthread.php?t=2145996 Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Paul Fertser <fercerpav@xxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 17e1319fd051f6f1d8b923ca3104c3391610ab32 Author: William Manley <will@xxxxxxxxxxxxxxxxx> Date: Thu Mar 13 09:38:48 2014 -0300 [media] uvcvideo: Work around buggy Logitech C920 firmware The uvcvideo webcam driver exposes the v4l2 control "Exposure (Absolute)" which allows the user to control the exposure time of the webcam, essentially controlling the brightness of the received image. By default the webcam automatically adjusts the exposure time automatically but the if you set the control "Exposure, Auto"="Manual Mode" the user can fix the exposure time. Unfortunately it seems that the Logitech C920 has a firmware bug where it will forget that it's in manual mode temporarily during initialisation. This means that the camera doesn't respect the exposure time that the user requested if they request it before starting to stream video. They end up with a video stream which is either too bright or too dark and must reset the controls after video starts streaming. This patch introduces the quirk UVC_QUIRK_RESTORE_CTRLS_ON_INIT which causes the cached controls to be re-uploaded to the camera immediately after initialising the camera. This quirk is applied to the C920 to work around this camera bug. Signed-off-by: William Manley <will@xxxxxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3ea375239ca06014b8b421ab1d73d6628d22036f Author: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Date: Wed Sep 3 21:47:48 2014 -0300 [media] v4l: uvcvideo: Add support for pan/tilt speed controls Map V4L2_CID_TILT_SPEED and V4L2_CID_PAN_SPEED to the standard UVC CT_PANTILT_RELATIVE_CONTROL terminal control request. Tested by plugging a Logitech ConferenceCam C3000e USB camera and controlling pan/tilt from the userspace using the VIDIOC_S_CTRL ioctl. Verified that it can pan and tilt at the same time in both directions. Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Reviewed-by: Pawel Osciak <posciak@xxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e3d6eb1c16ef174a8fbbdd40770f5cbace0710e4 Author: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Date: Wed Sep 3 16:38:39 2014 -0300 [media] v4l: Add camera pan/tilt speed controls The V4L2_CID_PAN_SPEED and V4L2_CID_TILT_SPEED controls allow to move the camera by setting its rotation speed around its axis. Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Reviewed-by: Pawel Osciak <posciak@xxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7000e325de875fa8a5dd3885c8e8f0f12cf71eaf Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Aug 16 17:33:18 2014 -0300 [media] media: davinci: remove unneeded dependency ARCH_OMAP3 this patch removes unneeded dependency of ARCH_OMAP3 on VIDEO_DM6446_CCDC. Also the top level platform Makefile descended into davinci/ without any dependency so just drop the dependency obj-y, as obj-$(CONFIG_ARCH_DAVINCI) already exists. Reported-by: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c54d4a0b08bc4deddd3919d64f4121eaa487e28e Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Sep 6 12:26:51 2014 -0300 [media] media: davinci: vpif_capture: fix the check on suspend/resume callbacks It is possible to call STREAMON without having any buffers queued. So vb2_is_streaming() can return true without start_streaming() having been called. Only after at least one buffer has been queued will start_streaming be called. The check vb2_is_streaming() is incorrect as this would start the DMA without having proper DMA pointers set up. this patch uses vb2_start_streaming_called() instead to check is streaming was called. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 815789244eda0b3be11fb1824354ca20c8ec3508 Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Sep 6 12:26:50 2014 -0300 [media] media: davinci: vpif_display: fix the check on suspend/resume callbacks It is possible to call STREAMON without having any buffers queued. So vb2_is_streaming() can return true without start_streaming() having been called. Only after at least one buffer has been queued will start_streaming be called. The check vb2_is_streaming() is incorrect as this would start the DMA without having proper DMA pointers set up. this patch uses vb2_start_streaming_called() instead to check is streaming was called. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ead130335f35fb732921ee0ffde6639be35aa108 Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Sep 6 12:26:49 2014 -0300 [media] media: videobuf2-core.h: add a helper to get status of start_streaming() this patch adds a helper to get the status if start_streaming() was called successfully. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Cc: Pawel Osciak <pawel@xxxxxxxxxx> Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Cc: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3b8a269b7dd64cab4645f95daf3e470e72adfed8 Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Sep 6 12:26:48 2014 -0300 [media] media: davinci: vpif_capture: drop setting of vb2 buffer state to ACTIVE this patch drops setting of vb2 buffer state to VB2_BUF_STATE_ACTIVE, as any buffer queued to the driver is marked ACTIVE by the vb2 core. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 55d3b439acad5c9faf34765f8391a13d153a1e81 Author: Prabhakar Lad <prabhakar.csengg@xxxxxxxxx> Date: Sat Sep 6 12:26:47 2014 -0300 [media] media: davinci: vpif_display: drop setting of vb2 buffer state to ACTIVE this patch drops setting of vb2 buffer state to VB2_BUF_STATE_ACTIVE, as any buffer queued to the driver is marked ACTIVE by the vb2 core. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b7900eedfb393dcea9794fbb6d57e4d43338a16b Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Sun Aug 31 07:19:21 2014 -0300 [media] videobuf: Allow reqbufs(0) to free current buffers All the infrastructure for this is already there, and despite our desires for the old videobuf code to go away, it is currently still in use in 18 drivers. Allowing reqbufs(0) makes these drivers behave consistent with modern drivers, making live easier for userspace, see e.g. : https://bugzilla.gnome.org/show_bug.cgi?id=735660 Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 12561ad622de254d69ec1baaf6734afc602a2c30 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Mon Aug 25 08:57:59 2014 -0300 [media] videobuf2-core: take mmap_sem before calling __qbuf_userptr (Changes since v2: dropped local variable as suggested by Laurent) Commit f035eb4e976ef5a059e30bc91cfd310ff030a7d3 (videobuf2: fix lockdep warning) unfortunately removed the mmap_sem lock that is needed around the call to __qbuf_userptr. Amazingly nobody noticed this (especially me as the author) until Jan Kara pointed this out to me. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Reported-by: Jan Kara <jack@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 825fd08dbbd830b3f42e0f014f4c9f6eba5c434c Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 13:45:17 2014 -0300 [media] drivers: media: i2c: adv7343_regs.h: Fix typo in #ifndef Test for definedness of the macro which is actually defined, and which matches the name of the file. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 69486eb00b3e89735dddb48c8b93ac28458a9c80 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 13:41:56 2014 -0300 [media] drivers: media: b2c2: flexcop.h: Fix typo in include guard Three trailing underscores is one too many. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 18cb65033832df8d33aa3a9c9c3e32016fc09cf5 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 16 03:57:30 2014 -0300 [media] tvp7002: Don't update device->streaming if write to register fails This ensures device->streaming has correct status. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a0ffe4c0908b27b35ce56d35ba6f3c10be3fd371 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 15 13:21:15 2014 -0300 [media] radio-si470x-usb: use USB API functions rather than constants This patch introduces the use of the function usb_endpoint_is_int_in. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_INT\|3\)) + usb_endpoint_xfer_int(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_xfer_int(epd) && usb_endpoint_dir_in(epd)) + usb_endpoint_is_int_in(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3b60b761cbec21af35f08d9220023c1f93b0df2c Author: Antti Palosaari <crope@xxxxxx> Date: Mon Aug 4 01:00:46 2014 -0300 [media] tda18212: convert to RegMap API Use RegMap API to handle all the boring I2C register access boilerplate stuff. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e4a42e1866edf68c7ddfc42b07676238af49f4df Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 23:40:23 2014 -0300 [media] tda18212: rename state from 'priv' to 'dev' foo_dev seems to be most correct term for the structure holding data of each device instance. It is most used term in Kernel codebase and also examples from book Linux Device Drivers, Third Edition, uses it. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit bdb32655f2fa5055cad1145dac17b76243d20a02 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 23:26:27 2014 -0300 [media] tda18212: clean logging There is no need to print module name nor function name as those are done by kernel logging system when dev_xxx logging is used and driver is proper I2C driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0e584cc29567f9ad248420f9cbd35c0ae3b5e821 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 23:05:31 2014 -0300 [media] tda18212: convert driver to I2C binding Convert driver from DVB proprietary model to common I2C model. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d1ac5540455c3a2a11e943e19e2dc044cebe147d Author: David Howells <dhowells@xxxxxxxxxx> Date: Mon Sep 22 00:02:01 2014 +0100 KEYS: Check hex2bin()'s return when generating an asymmetric key ID As it stands, the code to generate an asymmetric key ID prechecks the hex string it is given whilst determining the length, before it allocates the buffer for hex2bin() to translate into - which mean that checking the result of hex2bin() is redundant. Unfortunately, hex2bin() is marked as __must_check, which means that the following warning may be generated if the return value isn't checked: crypto/asymmetric_keys/asymmetric_type.c: In function asymmetric_key_hex_to_key_id: crypto/asymmetric_keys/asymmetric_type.c:110: warning: ignoring return value of hex2bin, declared with attribute warn_unused_result The warning can't be avoided by casting the result to void. Instead, use strlen() to check the length of the string and ignore the fact that the string might not be entirely valid hex until after the allocation has been done - in which case we can use the result of hex2bin() for this. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit ac7a24fb7560217381d996aae68eda57bbce462a Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 22:35:03 2014 -0300 [media] em28xx: convert tda18212 tuner to I2C client Used tda18212 tuner is implemented as a I2C driver. Use em28xx tuner I2C client for tda18212 driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f80f2ae2135966dcd21020dcdca066d3fe5f06df Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 21:47:10 2014 -0300 [media] anysee: convert tda18212 tuner to I2C client Used tda18212 tuner is implemented as I2C driver. Implement I2C client to anysee and use it for tda18212. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3ab779c0399276c82a6a64610e7c9c4d5bb267f2 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 3 22:43:26 2014 -0300 [media] tda18212: prepare for I2C client conversion We need carry pointer to frontend via config struct (I2C platform_data ptr) when I2C model is used. Add that pointer first in order to keep build unbreakable during conversion. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 2db4d179e16d0fcc1ece25798a8e140fa4f9c18a Author: Antti Palosaari <crope@xxxxxx> Date: Sat Sep 6 11:24:14 2014 -0300 [media] af9033: init DVBv5 statistics We need to init supported stats here in order signal app which stats are supported. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d4d6a34d36b1e72d0c5cf470a41fc7bc79acd73f Author: Antti Palosaari <crope@xxxxxx> Date: Thu Sep 4 18:35:59 2014 -0300 [media] af9035: remove I2C client differently It crash kernel when device was removed while it was streaming. That is because we removed driver and frontend thread was still running. Use new callback which allows I2C driver removal just after frontend is unregistered. V2: fixed by reported by Daniel Reported-by: Daniel Glöckner <daniel-gl@xxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1066d77f682e84efb56fbd4e5c8bb236532eccc7 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Sep 4 18:31:40 2014 -0300 [media] dvb-usb-v2: add tuner_detach callback Add tuner_detach callback in order to allow custom detach. It is needed when tuner driver is implemented I2C client or some other kernel bus, but not proprietary dvb_attach / dvb_detach. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ca42129f867fbc427d709408b3ae35988cc08ed4 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Sep 4 17:04:44 2014 -0300 [media] dvb-usb-v2: add frontend_detach callback Add frontend_detach callback in order to allow custom detach. It is needed when demod driver is implemented I2C client or some other kernel bus, but not proprietary dvb_attach / dvb_detach. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ef2fb46b6d7ed9df5906a3c76c9c4673355cd339 Author: Antti Palosaari <crope@xxxxxx> Date: Wed Sep 3 23:30:44 2014 -0300 [media] af9033: remove all DVBv3 stat calculation logic Statistics are now calculated for DVBv5 and those DVBv5 values are returned for legacy DVBv3 calls also. So we could remove all old statistics calculation logic. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit e53c47445bb585f864dd861393691b1346f6ec80 Author: Antti Palosaari <crope@xxxxxx> Date: Wed Sep 3 23:22:53 2014 -0300 [media] af9033: wrap DVBv3 BER to DVBv5 BER DVBv5 BER is calculated anyway, so just return it for legacy read_ber() API too. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 1d0ceae4a19d318b443277ea6ac891a2e6e8fdc3 Author: Antti Palosaari <crope@xxxxxx> Date: Wed Sep 3 23:07:39 2014 -0300 [media] af9033: wrap DVBv3 UCB to DVBv5 UCB stats Remove 'duplicate' DVBv3 read UCB implementation and return value, calculated already for DVBv5 statistics. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6bb096c92671cad4a8cfcb8bf2a5309a9033faee Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 2 08:29:46 2014 -0300 [media] af9033: implement DVBv5 post-Viterbi BER Implement following DTV API commands: DTV_STAT_POST_ERROR_BIT_COUNT DTV_STAT_POST_TOTAL_BIT_COUNT These will provide post-Viterbi bit error rate reporting. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 204f4319289fcd45ae2d059a4cfc200c7754b050 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 2 08:01:10 2014 -0300 [media] af9033: implement DVBv5 stat block counters Implement following API commands: DTV_STAT_ERROR_BLOCK_COUNT DTV_STAT_TOTAL_BLOCK_COUNT These returns total and uncorrected error packets from outer FEC. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6b45778609dbe4e7d03abe9482a1a5621e2a3e64 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 2 05:03:21 2014 -0300 [media] af9033: wrap DVBv3 read SNR to DVBv5 CNR Remove 'duplicate' DVBv3 read SNR implementation and return value, calculated already by DVBv5 CNR, from the cache. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3e41313aeadfc5e3b3f827519f3840bca1b98f6d Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 2 04:24:41 2014 -0300 [media] af9033: implement DVBv5 statistics for CNR Return CNR via DVBv5 statistics API. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 83f1161911c5f32dc4cfa817a73ae028d32c43b7 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Sep 2 03:55:21 2014 -0300 [media] af9033: implement DVBv5 statistics for signal strength Let the demod firmware estimate RF signal strength and return it to the app as a dBm. To handle that, use thread which reads signal strengths from firmware in 2 sec intervals when device is active. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 249c697e5e2c8e1347d79be0a9c93a985f2ad12e Author: Antti Palosaari <crope@xxxxxx> Date: Mon Sep 1 19:44:59 2014 -0300 [media] MAINTAINERS: IT913X driver filenames I removed tuner_ prefix from the driver file names. Update maintainers entry according to that. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5c114a4f88e0998aac77e7b22f992bcd4104334c Author: Antti Palosaari <crope@xxxxxx> Date: Mon Sep 1 00:38:01 2014 -0300 [media] af9035: replace PCTV device model numbers with name Use device names for recent PCTV Systems devices: PCTV AndroiDTV (78e) PCTV microStick (79e) Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a781edd16c9da9c3cd9ceea36c780895b87417d2 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 22:57:26 2014 -0300 [media] af9033: remove I2C addr from config I2C driver address is passed as a i2c_new_device() parameter when device is created. Thus no need to keep it in config struct. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ee36381ee8cec66ff976ad2c91e85dbee4a02859 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 22:17:12 2014 -0300 [media] af9035: few small I2C master xfer changes Biggest problem of that function is complexity. Try reduce complexity: * define macros to detect all 3 supported xfers * remove duplicate message maximum size checks Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6a087f1f6bb731719ff7b8e20a3ec6a8613fff12 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 21:08:09 2014 -0300 [media] af9033: clean up logging It uses I2C client so logging system prints module name automatically. Function name is also added automatically, if it is requested from dynamic debug by setting proper format. Because of that, we could simplify logging in our driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f5b00a767006e47f9c32099f0797068a7a3e4c5c Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 20:57:05 2014 -0300 [media] af9033: convert to I2C client Convert driver to kernel I2C model. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 09611caad158f868993261c7d9277a9a331f8ea3 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 02:18:34 2014 -0300 [media] af9033: rename 'state' to 'dev' foo_dev seems to be most correct term for the structure holding data of each device instance. It is most used term in Kernel codebase and also examples from book Linux Device Drivers, Third Edition, uses it. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ef5211fd59ac28e9728bcf5c02207207fb8a74b5 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 02:03:05 2014 -0300 [media] af9033: fix firmware version logging AF9030 and IT9130 series has different memory location for firmware version. Choose correct location according to chip type. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5190ff3e3e6ec55ecda805e68c4746aec8c1203c Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 31 00:29:33 2014 -0300 [media] it913x: replace udelay polling with jiffies udelay based I/O polling loop is a bad idea, especially system performance point of view. Kernel jiffies are preferred solution for such situations. Use it instead. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 17027b9620e6a2ea1d7f3cd0761803c44c65e2ed Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 30 23:52:48 2014 -0300 [media] it913x: refactor code largely Refactor code largely. Try to keep order of register read/write same as windows driver does as it makes comparing sniffs easier. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3d2f18d34692a413fcd75f5e83fc1dcb7afac13c Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 28 02:07:08 2014 -0300 [media] it913x: get rid of script loader and and private header file Used script loader is quite useless and hides register numbers making code hard to understand. Get rid of it and use standard RegMap register write functions directly. it913x_priv.h file leaves empty after that change and is also removed. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b7413c800fa7566696f1209207a90d014f548dac Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 28 01:45:52 2014 -0300 [media] it913x: remove dead code Remove unused tuner set template. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 676c350f97366f648dbe7f7f8202a695d946f764 Author: Antti Palosaari <crope@xxxxxx> Date: Wed Aug 27 03:59:27 2014 -0300 [media] it913x: re-implement sleep Re-implement sleep. Based USB sniffs taken from the latest Hauppauge windows driver version 07/10/2014, 14.6.23.32191. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d2dbc00cea35081b9f998a0985d151f60ce37835 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Aug 26 21:45:33 2014 -0300 [media] it913x: convert to RegMap API Use RegMap API to cover I2C register access routines. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit a71b65e8c545f5a72c1c227eae8a6df1d68f3f24 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Aug 26 20:11:08 2014 -0300 [media] it913x: rename 'state' to 'dev' foo_dev seems to be most correct term for the structure holding data of each device instance. It is most used term in Kernel and also examples from book Linux Device Drivers, Third Edition, uses it. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8da55c94dd85474a9925bd07a73959ae77a5aa6d Author: Antti Palosaari <crope@xxxxxx> Date: Tue Aug 26 18:56:46 2014 -0300 [media] it913x: change reg read/write routines more common Change register write and read routines to similar which are typically used. We have to add processor core as a part of register address in order to simplify register access. Chip has two cores, called link and ofdm. As for now, use address bit 24 to address used core. Bits 15:0 are register address in given core. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3b2a5e8c080da37be6135f44d236fe6b796666d9 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Aug 26 17:14:16 2014 -0300 [media] it913x: convert to I2C driver Change the it913x driver to use the I2C high lever tuner binding model. As af9035 depends on it, add a code there to do the binding. [mchehab@xxxxxxxxxxxxxxx: Merge 3 patches into one, because we don't want to break bisect due to the conversion] Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c2ba9726c342d113bdc36cfd8e984e30498037c6 Author: Antti Palosaari <crope@xxxxxx> Date: Tue Aug 26 00:08:16 2014 -0300 [media] it913x: rename tuner_it913x => it913x Remove tuner_ prefix from module name and file names. Prefix was added due to file name conflict on media out-tree build system. Demodulator having same name does not exists anymore. So lets remove dumb prefix. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d11132411538761ca79ecded63cd16621b6c40ee Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 15:02:14 2014 -0300 [media] it913x: make checkpatch.pl happy Correct issues reported by checkpatch.pl Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 24e419a0f383e626092eb3c13097b691d2923735 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 14:59:53 2014 -0300 [media] af9033: make checkpatch.pl happy Correct issues reported by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c10989a2a86aa8f6eff9115f67bab55304e2dd0d Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 14:49:46 2014 -0300 [media] af9035: make checkpatch.pl happy Correct issues reported by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b619ff7ab484ace964b97dacc7e6c78c0e6228aa Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 14:16:29 2014 -0300 [media] af9035: remove AVerMedia eeprom override Reverts commit 3ab25123373270152a9fae98e3c48ef1b2a878c0 [media] af9035: override tuner for AVerMedia A835B devices Original commit itself is correct, but it was replaced by more general solution (commit 1cbbf90d0406913ad4b44194b07f4f41bde84e54). This old solution was committed by a accident and is not needed anymore. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 9e0a976ed60345d53e8d421cb0a39202ce8487fe Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 13:39:16 2014 -0300 [media] it913x: fix IT9135 AX sleep Old IT9135 AX needs a little bit different register settings for sleep than newer IT9135 BX. This has been broken always, as power management of the whole driver, but it started to be problem as I fixed clock. Earlier clock was disabled very first on sleep and rest of the commands were skipped by the chip as no clock, leaving tuner full power state. When I fixed clocks these PM bugs started raising out as I/O errors. Cc: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 66f6319936344279466bd09f9788e888e03c99a0 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 12:35:00 2014 -0300 [media] it913x: avoid division by zero on error case Error on init leaves some internal divisor zero, which causes oops later. Fix it by populating divisors even it fails. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit f69429447ac11edfcbedd11cff62917831141e35 Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 00:15:05 2014 -0300 [media] it913x: fix tuner sleep power leak IT913x tuner driver disables own clock, provided by demod core, as very a first operation when tuner is put on *sleep*. That likely causes failure of all the rest commands on sleep sequence, which leads situation where tuner is not actually on sleep, but consuming a lot of power. I measured 102mA current consumption from the USB before change and after change it was only 32mA. Used device was single tuner IT9135 BX. Second reason to remove that register from tuner driver is reason it is simply on wrong driver (demod vs. tuner), breaking the principle of correct driver. Clock is now provided more correctly af9033 demod driver as a config option. Cc: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 15ba8202e6f9417abd1d6831aca4237407e0ff0b Author: Antti Palosaari <crope@xxxxxx> Date: Sat Aug 9 00:08:57 2014 -0300 [media] af9035: enable AF9033 demod clock source for IT9135 Integrated RF tuner of IT9135 is connected to demod clock source named dyn0_clk. Enable that clock source in order to provide stable clock early enough. Cc: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit ca681fe0bc9358516c159a35e54069b1a43f25b2 Author: Antti Palosaari <crope@xxxxxx> Date: Fri Aug 8 23:56:49 2014 -0300 [media] af9033: provide dyn0_clk clock source AF903x/IT913x demod provides clock source(s). It seems that this clock source is used for integrated RF tuner of IT913x. It is enabled by default, but firmware disables it automatically when suspend is requested (suspend_flag (0x004c) + trigger_ofsm (0x0000)). Automatic disable behavior seems to be similar for both AF903x and IT913x I tested, though there is no likely any real clock user in a case of AF903x. Cc: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7c5e3e5f017d3fced9211747bed423c6bcda7f7c Author: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Date: Fri Aug 1 06:19:58 2014 -0300 [media] get_dvb_firmware: Update firmware of ITEtech IT9135 IT9135 firmware update. Signed-off-by: Bimow Chen <Bimow.Chen@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit c0aaf696d45e2a72048a56441e81dad78659c698 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 19 08:32:30 2014 -0300 [media] coda: coda-bit: Include "<linux/slab.h>" coda-bit uses kmalloc/kfree functions, so the slab header needs to be included in order to fix the following build errors: drivers/media/platform/coda/coda-bit.c: In function 'coda_fill_bitstream': drivers/media/platform/coda/coda-bit.c:231:4: error: implicit declaration of function 'kmalloc' [-Werror=implicit-function-declaration] drivers/media/platform/coda/coda-bit.c: In function 'coda_alloc_framebuffers': drivers/media/platform/coda/coda-bit.c:312:3: error: implicit declaration of function 'kfree' [-Werror=implicit-function-declaration] Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 976bcb2f6f9c9fb11f0aad7b7c87953e9c3f0116 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Jul 31 16:35:56 2014 -0300 [media] tda18212: add support for slave chip version There is 2 different versions of that chip available, master and slave. Slave is used only on dual tuner devices with master tuner. Laser printing top of chip is 18212/M or 18212/S according to chip version. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8e417224dfb397633601a04214841df12cd470b0 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 25 15:07:04 2014 -0300 [media] si2168: avoid firmware loading if it has been loaded previously Add a variable to keep track if firmware is loaded or not and skip parts of the initialization if fw is already loaded. Resume from sleep with a different command compared to initial power up and run command 85 after resume command. This behaviour is observed when using manufacturer provided binary-only si2168 driver for TechnoTrend CT2-4400. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 4cbf6ed910c88d7f6c15304f9a5a3ed86290dc06 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 25 15:07:03 2014 -0300 [media] si2157: avoid firmware loading if it has been loaded previously Add a variable into state to keep track if firmware has been loaded or not. Skip firmware loading in case it is already loaded (resume from sleep). Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 0e38233d329e463a64146080c008d8044651bd3f Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 25 15:07:02 2014 -0300 [media] si2157: change command for sleep Instead of sending command 13 to the tuner, send command 16 when sleeping. This behaviour is observed when using manufacturer provided binary-only Linux driver for TechnoTrend CT2-4400 (Windows driver does not do power management). The issue with command 13 is that firmware loading is necessary after that. This is not an issue with tuners that do not require firmware, but starting streaming after sleep on an Si2158 takes noticeable time as firmware is loaded on resume. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit d4d2050006bfb0c4af41288143424d3b0b9b325e Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:57:54 2014 -0300 [media] rtl2832_sdr: logging changes Remove function name from debug logs. Logging system could add it automatically. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b538a8e85b2b2fbb954da2b9189eaf18cf9098bf Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:44:13 2014 -0300 [media] rtl2832_sdr: enhance sample rate debug calculation precision Sample rate calculation gives a little bit too large results because in real life there was around one milliseconds (~one usb packet) too much data for given time. Calculate time more accurate in order to provide better results. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit abfc8d66d72ba183eb3b5d344fd1ec17233db8bb Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:37:57 2014 -0300 [media] rtl2832_sdr: remove unneeded spinlock irq flags initialization There is no need to init flags before calling spin_lock_irqsave(). spin_lock_irqsave is macro which stores value to 'flags' Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 13bd82d18ec29c7c81f2d42816f5a14095977c9e Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:35:48 2014 -0300 [media] e4000: logging changes Remove function name from debug logs. Logging system could add it automatically. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b63ab6b064f73721568a46080d41422ea223ee6e Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:26:23 2014 -0300 [media] msi2500: remove unneeded spinlock irq flags initialization There is no need to init flags before calling spin_lock_irqsave(). spin_lock_irqsave is macro which stores value to 'flags'. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 5fa51cc36ac14e0a2a6fd4f9037bf4372066e894 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 23:12:13 2014 -0300 [media] msi001: logging changes Remove function name from debug logs. Logging system could add it automatically. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 100b7931f4c300fd6c278d890a92b9668feaf44d Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 22:54:06 2014 -0300 [media] msi2500: logging changes Kernel logging system needs pointer to usb interface device in order to print names and bus numbers properly. There was wrong device pointer given and log printings wasn't correct. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit b8843c7979fc8ea54efeaef8e9d524c33c42f099 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 20:11:27 2014 -0300 [media] airspy: enhance sample rate debug calculation precision Sample rate calculation gives a little bit too large results because in real life there was around one milliseconds (~one usb packet) too much data for given time. Calculate time more accurate in order to provide better results. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 8880f2cbdb0a981ea8e6a5ce2915abac26120523 Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 19:27:43 2014 -0300 [media] airspy: remove unneeded spinlock irq flags initialization There is no need to init flags before calling spin_lock_irqsave(). spin_lock_irqsave is a macro which stores value to 'flags'. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 617123ae383e66b3a2c5f57155b49af5bb4327db Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 19:14:32 2014 -0300 [media] airspy: logging changes Kernel logging system needs pointer to usb interface device in order to print names and bus numbers properly. There was wrong device pointer given and log printings wasn't correct. Remove some debug logging from v4l2 ioctl functions. v4l2 core debug prints almost same information when enabled. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 7057005db6482516099e7b48b3bebaf9a3f213cb Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 18:31:52 2014 -0300 [media] airspy: coding style issues Fix issues reported by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 6b831d78477c9bbfbcb4cb60af13e13bd2c7467e Author: Antti Palosaari <crope@xxxxxx> Date: Sun Aug 24 21:59:36 2014 -0300 [media] airspy: fix error handling on start streaming Free all reserved USB buffers and URBs on failure. Return all queued buffers to vb2 with state queued on error case. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> commit 3cf0c6bd68915aee3b5827b960e485de201e42c1 Merge: f5281fc c1f03b4 Author: Mauro Carvalho Chehab <mchehab@xxxxxxxxxxxxxxx> Date: Sun Sep 21 16:40:04 2014 -0300 Merge remote-tracking branch 'linus/master' into patchwork There are some patches that depends on media-v3.16-rc6. So, merge back from upstream before applying them. * linus/master: (1123 commits) drm/nouveau: ltc/gf100-: fix cbc issues on certain boards drm/bochs: add missing drm_connector_register call drm/cirrus: add missing drm_connector_register call staging: vt6655: buffer overflow in ioctl USB: storage: Add quirks for Entrega/Xircom USB to SCSI converters USB: storage: Add quirk for Ariston Technologies iConnect USB to SCSI adapter USB: storage: Add quirk for Adaptec USBConnect 2000 USB-to-SCSI Adapter USB: EHCI: unlink QHs even after the controller has stopped [SCSI] fix for bidi use after free [SCSI] fix regression that accidentally disabled block-based tcq [SCSI] libiscsi: fix potential buffer overrun in __iscsi_conn_send_pdu drm/radeon: Fix typo 'addr' -> 'entry' in rs400_gart_set_page drm/nouveau/runpm: fix module unload drm/radeon/px: fix module unload vgaswitcheroo: add vga_switcheroo_fini_domain_pm_ops drm/radeon: don't reset dma on r6xx-evergreen init drm/radeon: don't reset sdma on CIK init drm/radeon: don't reset dma on NI/SI init drm/radeon/dpm: fix resume on mullins drm/radeon: Disable HDP flush before every CS again for < r600 ... commit 48849a4150e353656dc5d207f2a56ebd00484ce6 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Tue Sep 9 10:58:49 2014 +0300 iwlwifi: mvm: Refactor and fix max probe len computation Move iwl_mvm_max_scan_ie_len function to scan.c and fix the implementation to conform with the LMAC scan API. Since the correct implementation would leave us with unacceptably tiny probes, add a workaround which returns a larger value. In current implementation it's possible that unified_scan_lmac and unified_sched_scan_lmac would return -ENOBUFS. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9b60bb6d86496af1adc753795de2c12c4499868a Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Sep 21 12:45:34 2014 +0300 iwlwifi: mvm: disable BT Co-running by default The tables still contain dummy values. Cc: <stable@xxxxxxxxxxxxxxx> [3.15+] Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5466112f0935f079e225514905c57d5e5285a9b6 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Thu Sep 18 17:03:46 2014 -0400 pnfs/blocklayout: Fix a 64-bit division/remainder issue in bl_map_stripe kbuild test robot reports: fs/built-in.o: In function `bl_map_stripe': >> :(.text+0x965b4): undefined reference to `__aeabi_uldivmod' >> :(.text+0x965cc): undefined reference to `__aeabi_uldivmod' >> :(.text+0x96604): undefined reference to `__aeabi_uldivmod' Fixes: 5c83746a0cf2 (pnfs/blocklayout: in-kernel GETDEVICEINFO XDR parsing) Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit efed66407d465549e0457b2c1f5419503edfb79b Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Sep 14 15:58:53 2014 +0300 iwlwifi: mvm: rs: fix logic in case of multiple TIDs In case of traffic on multiple TIDs where one is aggregated and the other is not RS would toggle between considering traffic vs. the station as aggregated and not aggregated. Instead consider the sta state as aggregated as long as there's at least one TID aggregated. This limitation is because the rates table is kept per station and not per TID. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a7130442b03e095f3a86efac799fbf0374a5adb9 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Sep 14 15:28:09 2014 +0300 iwlwifi: mvm: report all BA notifs to RS Currently BA notifications which don't reclaim any frames would not cause the RS to be called as no skbs are passed to mac80211. This is not optimal as RS can benefit from the statistics of sent vs. acked of such a BA. This can improve the reaction time of the RS algorithm. Also, an upcoming change in the firmware would cause BA timeout to be reported as a BA notif with 0 acked so this change is required for that as well. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2bf6508133c606ff3acd9a65a5175feaeb7a5e30 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Thu Sep 18 17:22:58 2014 +0300 iwlwifi: 8000: fix fw name to account for revision The 8000 HW series also includes the revision in the FW name. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1fc0e22138406ac0e8451f7203dfbfd74fa5cfba Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Wed Sep 17 13:28:50 2014 +0300 iwlwifi: pcie: fix HW_REV saving for 8000 series Align the trans->hw_rev variable format with previous series format. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4f08970f5284dce486f0e2290834aefb2a262189 Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Wed Sep 17 10:31:56 2014 +0300 iwlwifi: Add missing PCI IDs for the 7260 series Add 4 missing PCI IDs for the 7260 series. Cc: <stable@xxxxxxxxxxxxxxx> [3.10+] Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ddfc1593737f36a04ec5e23e9cb0c6b2bad3f3a6 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Sep 14 16:40:38 2014 +0300 iwlwifi: mvm: limit aggregation size in low latency to 6 This is a tradeoff between enabling better throughput for bursty traffic and low latency. The number 6 was found to be a good tradeoff for the Miracast use case which is the major use case for low latency. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 1ebc8f2ef83d182941e741af4b59dc904f12853c Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Sep 14 15:23:23 2014 +0300 iwlwifi: mvm: rs: refactor to allow direct rs updating Enable RS to get updated directly via iwl_mvm_rs_tx_status which will be called by the driver and not via mac80211 rate control. This is required for a following patch to report on BAs which do not cause the BA window to progress. Also this is a first step in decoupling rs from the mac80211 rate control. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 361dbec8acffe0201486f1750353a26d21cfff32 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Wed Aug 13 00:31:13 2014 +0300 iwlwifi: mvm: choose an initial tx rate based on rssi conditions Improve the initial tx rate and antenna selection to be based on the rssi of the last rx. This avoids starting at the lowest legacy rate always and requiring more tx traffic to "climb" up the rates. Since this option might cause trouble in certain setups, allow to disable it by default. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9c58c79a8a76c510cd3a5012c536d4fe3c81ec3b Author: Zhihui Zhang <zzhsuny@xxxxxxxxx> Date: Sat Sep 20 21:24:36 2014 -0400 sched: Clean up some typos and grammatical errors in code/comments Signed-off-by: Zhihui Zhang <zzhsuny@xxxxxxxxx> Cc: peterz@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1411262676-19928-1-git-send-email-zzhsuny@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 871dd05c0520c2e4caf5516455fb08abc86cd703 Merge: 9e82bf0 3f56bf3 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Sun Sep 21 01:15:34 2014 +0200 Merge back earlier 'acpi-lpss' material for 3.18-rc1 commit 0c7bf3e8cab7900e17ce7f97104c39927d835469 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Sat Sep 20 14:49:10 2014 +0800 cgroup: remove redundant variable in cgroup_mount() Both pinned_sb and new_sb indicate if a new superblock is needed, so we can just remove new_sb. Note now we must check if kernfs_tryget_sb() returns NULL, because when it returns NULL, kernfs_mount() may still re-use an existing superblock, which is just allocated by another concurent mount. Suggested-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 3e2cd91ab92665148616a80dc0745c499d2746a7 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Sat Sep 20 14:35:43 2014 +0800 cgroup: fix missing unlock in cgroup_release_agent() The patch 971ff4935538: "cgroup: use a per-cgroup work for release agent" from Sep 18, 2014, leads to the following static checker warning: kernel/cgroup.c:5310 cgroup_release_agent() warn: 'mutex:&cgroup_mutex' is sometimes locked here and sometimes unlocked. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 93b8877471796c04c16fdef755d4e5c0f521509f Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Sep 20 09:34:45 2014 +0400 tty: serial_mctrl_gpio: Fix COMPILE_TEST build for architectures with custom termios.h This patch fixes COMPILE_TEST build of serial_mctrl_gpio module for architectures with custom termios.h header. sparc64:allmodconfig: In file included from drivers/tty/serial/serial_mctrl_gpio.c:21:0: include/uapi/asm-generic/termios.h:22:8: error: redefinition of 'struct termio' ./arch/sparc/include/uapi/asm/termbits.h:16:8: note: originally defined here make[3]: *** [drivers/tty/serial/serial_mctrl_gpio.o] Error 1 Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d07fe967189ff7c32f5a78b4f28c2ccbab850091 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Thu Sep 18 11:24:40 2014 +0800 ARM: dts: sun8i: Add DMA controller node Add the DMA controller node and DMA bindings to the supported devices. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit e625305b390790717cf2cccf61efb81299647028 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Sat Sep 20 01:27:25 2014 -0400 percpu-refcount: make percpu_ref based on longs instead of ints percpu_ref is currently based on ints and the number of refs it can cover is (1 << 31). This makes it impossible to use a percpu_ref to count memory objects or pages on 64bit machines as it may overflow. This forces those users to somehow aggregate the references before contributing to the percpu_ref which is often cumbersome and sometimes challenging to get the same level of performance as using the percpu_ref directly. While using ints for the percpu counters makes them pack tighter on 64bit machines, the possible gain from using ints instead of longs is extremely small compared to the overall gain from per-cpu operation. This patch makes percpu_ref based on longs so that it can be used to directly count memory objects or pages. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Kent Overstreet <kmo@xxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> commit 4843c3320c3d23ab4ecf520f5eaf485aff8c7252 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Sat Sep 20 01:27:24 2014 -0400 percpu-refcount: improve WARN messages percpu_ref's WARN messages can be a lot more helpful by indicating who's the culprit. Make them report the release function that the offending percpu-refcount is associated with. This should make it a lot easier to track down the reported invalid refcnting operations. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Kent Overstreet <kmo@xxxxxxxxxxxxx> commit 6d967f8789249628a6388a3a4314c5fef423f36a Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Fri Sep 19 18:02:53 2014 -0700 udp_tunnel: Only build ip6_udp_tunnel.c when IPV6 is selected Functions supplied in ip6_udp_tunnel.c are only needed when IPV6 is selected. When IPV6 is not selected, those functions are stubbed out in udp_tunnel.h. ================================================================== net/ipv6/ip6_udp_tunnel.c:15:5: error: redefinition of 'udp_sock_create6' int udp_sock_create6(struct net *net, struct udp_port_cfg *cfg, In file included from net/ipv6/ip6_udp_tunnel.c:9:0: include/net/udp_tunnel.h:36:19: note: previous definition of 'udp_sock_create6' was here static inline int udp_sock_create6(struct net *net, struct udp_port_cfg *cfg, ================================================================== Fixes: fd384412e udp_tunnel: Seperate ipv6 functions into its own file Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f76a4ea5383ba2f9e76f9625f77ff246907a134 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Thu Sep 18 19:27:09 2014 +0530 Staging: rtl8192e: Fix __constant_htons to htons style warning This fixes the following checkpatch.pl warning: WARNING: __constant_htons should be htons Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 288903f6b91e759b0a813219acd376426cbb8f14 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Fri Sep 19 15:55:05 2014 -0700 staging: iio: cdc: Don't put an else right after a return This fixes the following checkpatch.pl warning: WARNING: else is not generally useful after a break or return. While at it, remove new line for symmetry with the rest of the code. Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a5fcc6b2efdc86619af793e0216a508469cfaa4 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 23:32:05 2014 +0300 staging: octeon: Fix quoted string split warning. This patch fixes "quoted string split across lines" checkpatch.pl warning in ethernet.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39bc7513aa92b38c391dbe9649841f9f9dfcd0ac Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 23:27:39 2014 +0300 staging: octeon: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in ethernet.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ff99b312f9c94516acb38bad7421ba1d74abeb2 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Fri Sep 19 23:34:36 2014 +0300 staging: emxx_udc: Replace __constant_cpu_to_le16 with cpu_to_le16 This fixes the following checkpatch.pl warning: WARNING: __constant_cpu_to_le16 should be cpu_to_le16 Additionally, it removes the space between function name and (. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 113f5f24c6be6f7d888946320d01b51b81aa213d Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 00:31:44 2014 +0300 Staging: rtl8821ae: Fix warnings of no space before tabs. This patch fixes these warning messages found by checkpatch.pl: WARNING: please, no space before tabs. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a45cbb78147e8f57250f1687f5b61470b8343a20 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 18 23:56:13 2014 +0300 Staging: rtl8821ae: Fix "foo * bar" warning. This patch fixes these error messages found by checkpatch.pl: ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34c376fe07342e06f531504b01d3b953962e456c Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 18 01:03:28 2014 +0300 Staging: wlan-ng: Fix return in void function warning This fixes checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcf1b73d08cd15912205f3b259ea81ccfde11970 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Thu Sep 18 00:54:04 2014 +0300 Staging: media: cxd2099: Missing a blank line after declarations Fix checkpatch.pl issues with missing a blank line after declarations in cxd2099.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2e91542695270452ea7b5d3266ad0e9b5dc7bdb Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Wed Sep 17 23:43:15 2014 +0300 Staging: octeon: Missing a blank line after declarations Fix checkpatch.pl issues with missing a blank line after declarations in ethernet-sgmii.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05fd349b1750d456423538e69c3c1d4d8a10f1c8 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Wed Sep 17 16:10:36 2014 +0300 staging: gs_fpgaboot Fix trailing whitespace. Fix checkpatch.pl issues with trailing whitespace in README. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de77c125f57a308250cfaec945541fd8abe0e054 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Wed Sep 17 15:33:25 2014 +0300 staging: bcm: Fix line over 80 characters Fix checkpatch.pl issues with line over 80 characters in HandleControlPacket.c Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ad6ae1acfd883d8f4c8998b4e5bc9d4aea7985f Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 01:20:44 2014 +0300 staging: media: lirc: Fixes missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in lirc_serial.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx>. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5613fe8967534ce626875fab4bcface70d366b4 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 01:26:03 2014 +0300 staging: media: lirc: Fixes unnecessary return warning. This patch fixes "void function return statements are not generally useful" checkpatch.pl warning in lirc_zilog.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a17ec4c9fd07d3f4760cc6545b54f8323ea6ccb4 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 01:06:55 2014 +0300 staging: media: lirc: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in lirc_bt829.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f8028023c3f6804751a920d97e9c8dffc575cc0 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 01:02:21 2014 +0300 staging: media: lirc: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in lirc_sasem.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a87ba73ed10266dba8278b2a6b89da597a38092a Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 00:59:11 2014 +0300 staging: media: lirc: Fix unnecessary return warning. This patch fixes "void function return statements are not generally useful" checkpatch.pl warning in lirc_sasem.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd8392f3097140a9db7b0903a63635e652b6eb45 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 22:46:57 2014 +0300 staging: media: lirc: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in lirc_zilog.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3170f3277b1809c19fe4a45914cffa0e09471973 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Wed Sep 17 03:14:52 2014 +0530 Staging: media: lirc: lirc_imon: Removed unnecessary variable to simplify return variable handling Variable rc was removed after merging its assignment statement with immediately following return statement. Variable retval is not used at all other that to return its initial value.Hence replaced retval with its initial value in the return statement and removed the variable. This patch was done using Coccinelle script and the following semantic patch was used: @rule1@ identifier ret; expression e; @@ -int ret = 0; ... when != ret ( -ret = e; +return e; -return ret; | -return ret; +return 0; ) Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8ad5360ad81a32b4e9fdc956e7c453308050a97d Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 21:39:46 2014 +0300 staging: lustre: lnet: lnet: Fixed quoted string split warning. This patch fixes "quoted string split across lines" checkpatch.pl warning in api-ni.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70b694c32e405cff8e2640b3943ed9598d97f75e Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 21:48:00 2014 +0300 staging: lustre: lnet: lnet: Fix missing line warning. This patch fixes "Fixes "Missing a blank line after declarations" checkpatch.pl warning in api-ni.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a446b47d5d815865c2715da8fab1a7c06f1338ca Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 21:53:31 2014 +0300 staging: lustre: lnet: lnet: Fix quoted string split warning. This patch fixes "quoted string split across lines" checkpatch.pl warning in lib-eq.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e9cc5b0450a40be3442a82a5a5293f85ca06c7d Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Wed Sep 17 20:58:43 2014 +0530 Staging: lustre: Fix return in void function warning This fixes checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6606a77f92821f8bfd4b1b6ba296da662fecb640 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Wed Sep 17 20:28:54 2014 +0530 Staging: lustre: place open brace following struct on same line This patch fixes checkpatch.pl warning: WARNING: open brace following struct goes on the same line. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4467a945fc08c0d6624b1dd64cfcc2cbd3b3dee3 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Wed Sep 17 18:14:45 2014 +0530 Staging: lustre: libcfs: fix checkpatch warning else after return statement Fix checkpatch warning by removing unnecessary else after return statement. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5740b2e7e74fa9ba915aa74bfba7cf849dce8a7 Author: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Date: Tue Sep 16 13:24:13 2014 +0530 Staging: lustre: include: libcfs: removed else before return statement in libcfs_crypto.h This is a patch to libcfs_crypto.h that fixes warning on unnecessary else before return statement found by checkpatch.pl tool. Signed-off-by: Darshana Padmadas <darshanapadmadas@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 225557bf274ed1519362865815da7425533191d1 Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Mon Sep 15 14:58:44 2014 +0300 staging: speakup: fix checkpatch warning This fixes the checkpatch warning: WARNING: line over 80 characters Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a3a725adb2c421ea79089ea12004a007fb371ce Author: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Date: Sun Sep 14 20:28:53 2014 +0300 staging: speakup: fix checkpatch warning This fixes the cheackpatch warning: WARNING: Missing a blank line after declarations Signed-off-by: Roxana Blaj <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 472fe30efd52fde30249a04971a62151e0606c1d Author: Nicoleta Birsan <nicolle.birsan@xxxxxxxxx> Date: Sun Sep 14 03:38:34 2014 -0700 Staging: speakup: fix checkpatch warning This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations Signed-off-by: Nicoleta Birsan <nicolle.birsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 297cbdaeca2b68aaae6bbb7affa4533430e8e91a Author: Blaj Roxana <roxanagabriela10@xxxxxxxxx> Date: Tue Sep 16 20:13:28 2014 +0300 staging: skein: replace spaces with tabs This fixes the error and warning: ERROR: code indent should use tabs where possible WARNING: please, no spaces at the start of a line Signed-off-by: Blaj Roxana <roxanagabriela10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb33aa47a00edc789d17d80174cd3ed8a1c82c66 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Sat Sep 20 00:01:39 2014 +0300 staging: dgnc: Check sscanf return value This fixes the following checkpatch.pl warnings: WARNING: unchecked sscanf return value Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f23e875fd26a05a0850db7c5e090030c80b4f583 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 19:34:45 2014 +0300 staging: dgnc: Fix unnecessary space warning. Fixed "Unnecessary space before function pointer argument" checkpatch.pl warning in dgnc_driver.h Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8756d4a51d1246be36c5621827c288eb2d5e9b7 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 19:31:15 2014 +0300 staging: dgnc: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in dgnc_sysfs.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3dfe7557809e5867306c7a0614b9d1c6036cbe4d Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Sep 19 10:30:59 2014 +0530 Staging: dgnc: Merge lines and remove unused variable for immediate return This patch merges two lines in a single line if immediate return is found. It also removes unnecessory variable rc as it is no longer needed. This is done using Coccinelle. Semantic patch used for this is as follows: @@ type T; identifier i; identifier f; constant C; @@ - T i; ...when != i when strict ( return -C; | - i = + return f(...); - return i; ) Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Reviewed-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10352c2a69f4aa2724f007a4922518c9ece7bf89 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Thu Sep 18 21:38:04 2014 +0300 staging: dgnc: Move open brace on previous line This fixes the following checkpatch.pl errors: ERROR: that open brace { should be on the previous line Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05a70e14035438e6866d7fcf8a79c67b8e1425e1 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Tue Sep 16 20:33:03 2014 +0300 staging: dgnc: Do not initialise statics to 0 or NULL This fixes the following checkpatch.pl error: ERROR: do not initialise statics to 0 or NULL Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b051017fb4e593998fc46ec9a991ad390c9114b5 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Mon Sep 15 21:32:59 2014 +0300 staging: dgnc: Replace kzalloc with kcalloc This fixes the following checkpatch.pl warnings: WARNING: Prefer kcalloc over kzalloc with multiply Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3dadd29f7197d93d0441391f5e3815bf008cce1 Author: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Date: Sun Sep 14 23:13:20 2014 +0300 staging: dgnc: Fix warnings relating to printk() This fixes the following checkpatch.pl warnings: WARNING: printk() should include KERN_ facility level It replaces printk() with dev_dbg() in order to avoid the warning that a more specific function should be used. Signed-off-by: Roberta Dobrescu <roberta.dobrescu@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2be13f7b7c63cecc439876c8c06a5b30afdf46f9 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 04:59:59 2014 +0530 Staging: rtl8192ee: rtl8192ee: Fix missing blank line warning This fixes the following checkpatch.pl warnings: WARNING: Missing a blank line after declarations Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9209a93edbccafb6c2f860bc0ddfe9eda1e3ccd Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 04:49:43 2014 +0530 Staging: rtl8192ee: Fix else not useful style warning This fixes the following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1709a582e1f8977de040f02d9e9e52ec89f8603f Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 04:03:36 2014 +0530 Staging: rtl8192ee: Fix break is not useful warning This fixes the following checkpatch.pl warnings: WARNING: break is not useful after a goto or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe6dc85eaf8bb180ad3510a57bd69f3b8f9c2dbb Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 03:42:01 2014 +0530 Staging: rtl8192ee: Fix else is not useful warning This fixes the following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f41788b7c933127863435f72f456ec46ed5540b2 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 03:29:19 2014 +0530 Staging: rtl8192ee: Fix missing blank line warning This fixes the following checkpatch.pl warnings: WARNING: Missing a blank line after declarations Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad39fe743419d58f9bc29373189c93ba2251e675 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 02:43:26 2014 +0530 Staging: rtl8192e: Fix printk debug style warning This fixes the following checkpatch.pl warnings: WARNING: Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ... Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4344672830d8500eac97d82976b03e41580c3a04 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 02:40:43 2014 +0530 Staging: rtl8192e: Fix printk style warning This fixes the following checkpatch.pl warnings: WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ... Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6af197672f2330045c171aed3ea90fb93d89ecc6 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 02:38:39 2014 +0530 Staging: rtl8192e: Fix space before semicolon warning This fixes the following checkpatch.pl warning: WARNING: space prohibited before semicolon Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13402f7b76223e7f50ab42c82aac4788940c8277 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Sat Sep 20 02:36:31 2014 +0530 Staging: rtl8192e: Fix else is not useful warning This fixes the following checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5110e40260d03fdb2d93a94fec06a31b81d57b0b Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Fri Sep 19 23:56:02 2014 +0530 Staging: rtl8192e: Fix void function return statements style warning This fixes the following checkpatch.pl warnings: WARNING: void function return statements are not generally useful Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 59422a74b55c616d500c3be721077ff0d00f7fb0 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Fri Sep 19 23:12:53 2014 +0530 Staging: rtl8192e: Fix else is not useful style warning This fixes the following checkpatch.pl warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f921b9f61b1a324366c8f6a02c5a8e89164ed52 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Fri Sep 19 22:22:19 2014 +0530 Staging: rtl8192e: Fixed style warning relating to printk() This patch fixes following checkpatch.pl warning in file rtl_dm.c: WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO . Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52e93b8ab435978bc12280aa4418ef25fd6e74f2 Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Fri Sep 19 05:22:33 2014 +0530 Staging: rtl8192e: Fix unnecessary parentheses style warning This fixes the following checkpatch.pl warning: WARNING: Unnecessary parentheses - maybe == should be = ? Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fee9d3e61d04422628a3d22ed5eb8370dcef259b Author: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Date: Wed Aug 27 13:26:53 2014 -0500 ktest: add ability to skip during BISECT_MANUAL When doing a manual bisect, a build can fail or a test can be inconclusive. In these cases it would be helpful to be able to skip the test entirely. Link: http://lkml.kernel.org/r/1409164021-2136-1-git-send-email-chris.j.arges@xxxxxxxxxxxxx Reviewed-by: Satoru Takeuchi <satoru.takeuchi@xxxxxxxxx> Signed-off-by: Chris J Arges <chris.j.arges@xxxxxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4af409f6c38029e1eda0a5e7bbf15e9b1b7d7fab Author: Benedict Boerger <benedict.boerger@xxxxxxxxxxxxxxxxx> Date: Thu Sep 18 17:46:23 2014 +0200 staging: rtl8192u: delete unused function CAM_read_entry Fix the sparse warning: symbol 'CAM_read_entry' was not declared. Should it be static? The function CAM_read_entry is not used and therefore deleted. Signed-off-by: Benedict Boerger <benedict.boerger@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77baad9e4d71e75d7ad6ee83454113d4a6a7b04d Author: Ragnar B. Johannsson <ragnar@xxxxxx> Date: Thu Sep 18 14:33:25 2014 +0000 staging: rtl8192u: Move ieee80211_crypto_* declarations to ieee80211/ieee80211.h Move ieee80211_crypto*_init and _exit prototype declarations from r8192U_core.c to ieee80211/ieee80211.h. This fixes the following sparse warnings: drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c:203:12: warning: symbol 'ieee80211_crypto_init' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt.c:223:13: warning: symbol 'ieee80211_crypto_deinit' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c:764:12: warning: symbol 'ieee80211_crypto_tkip_init' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_tkip.c:769:13: warning: symbol 'ieee80211_crypto_tkip_exit' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c:467:12: warning: symbol 'ieee80211_crypto_ccmp_init' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_ccmp.c:472:13: warning: symbol 'ieee80211_crypto_ccmp_exit' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c:281:12: warning: symbol 'ieee80211_crypto_wep_init' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_crypt_wep.c:286:13: warning: symbol 'ieee80211_crypto_wep_exit' was not declared. Should it be static? Signed-off-by: Ragnar B. Johannsson <ragnar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5635b82a553620c511dc6bc8cb0990c0a791e21e Author: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Date: Thu Sep 18 15:43:53 2014 +0530 Staging: rtl8192e: Fix style warnings relating to printk(KERN_DEBUG This fixes the following checkpatch.pl warnings: WARNING: Prefer [subsystem eg: netdev]_dbg([subsystem]dev, ... then dev_dbg(dev, ... then pr_debug(... to printk(KERN_DEBUG ... Signed-off-by: Mahati Chamarthy <mahati.chamarthy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe40a0b361de10ea794116160308cc7fd0b7fbeb Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Sep 17 08:35:24 2014 +0530 Staging: rtl8192e: rtl8192e: Remove unnecessory braces and space This patch removes following checkpatch.pl warnings in rtl_core.c file: WARNING: Braces {} are not necessary for single statement blocks WARNING: Space prohibited before semicolon Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c8b3961da9a55762ea5481e8f9412c0d18dc684 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Wed Sep 17 08:02:43 2014 +0530 Staging: rtl8192e: rtl8192e: Remove unnecessory variable This patch removes unnecessory variable in file ret_core.c using coccinelle script.Semantic patch for this is as follows: @@ identifier ret; @@ -int ret = 0; ... when != ret when strict -return ret; +return 0; Signed-off-by: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23a0e1611b880bd8d94bbebcb3577c9f78029435 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 19 20:10:39 2014 -0400 ktest: Add PATCHCHECK_CHERRY Add a way to run a patchcheck test on the commits that are in one branch but not in another. This uses git cherry to find a list of commits to test each one with. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 4309635f692192ddcc540964189d92cad0ade249 Author: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Date: Tue Sep 16 11:25:31 2014 +0530 Staging: vt6655: Break 80 character long line to remove checkpatch error This removes checkpatch.pl warning WARNING: line over 80 characters Signed-off-by: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b377ed4cce004d7c3dbd92cffdbf2aa21d28e2e6 Author: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Date: Wed Sep 17 21:27:03 2014 +0530 Staging: vt6656: Removing else after break statement to fix warning This patch fixes the checkpatch.pl warning in baseband.c file WARNING: else is not useful after a break or return Signed-off-by: Rajbinder Brar <brar.rajbinder@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dbc6ee63d4355a51fd84ee8ebf127763180b1585 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 19:49:33 2014 +0300 Staging: vt6655: Fix C99 style commenting. This patch fixes these error messages found by checkpatch.pl: ERROR: do not use C99 // comments Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a600f4589fdbb51a0ad885408f996ec0f1f90be9 Author: Abel Moyo <abelmoyo.ab@xxxxxxxxx> Date: Thu Sep 18 21:49:10 2014 +0200 Staging: gdm724x: gdm_usb: added error checking in do_tx() Added error checking for alloc_tx_struct in do_tx() Signed-off-by: Abel Moyo <abelmoyo.ab@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37d963fb80d2fd944bd0124570b2adc5b826ccef Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sat Sep 20 20:43:53 2014 +0300 staging: gdm724x: Fix missing blank line warning. Fixes "Missing a blank line after declarations" checkpatch.pl warning in gdm_mux.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 492a1e7be585c88a04ba763bb77fc865700e209d Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Tue Sep 16 16:19:06 2014 +0900 staging: dgap: use schedule_timeout_interruptible() instead of dgap_ms_sleep() Using schedule_timeout_interruptible() is exactly same as setting a status of current process and calling schedule_timeout(). Removes dgap_ms_sleep(), because this function is used only when closing tty channel on dgap_tty_close(). And also removes ch_close_delay that is always set to 250 on dgap_tty_init(). Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 335d9c85be096cf492cb3eaeef160b45e1f25d8d Author: Ankita Patil <patil.ankita.r@xxxxxxxxx> Date: Thu Sep 18 12:31:00 2014 +0530 Staging: dgap: Remove unnecessary variable. This patch removes unnecessary variable in file dgap.c using Coccinelle. Semantic patch for this is as follows: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Also removed the unneeded variable manually. Signed-off-by: Ankita Patil <patil.ankita.r@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50d0a21b61f22b38f881fa21d2ada6ab4a61f93f Author: Purnendu Kapadia <pro8linux@xxxxxxxxx> Date: Mon Sep 15 13:06:36 2014 +0100 staging: android: sw_sync: checkpatch fixes - no space after cast - allignment should match open parenthesis - remove unnecessary new line Signed-off-by: Purnendu Kapadia <pro8linux@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f0f6c9862b687db36f5e853402f76bc118ff0bf Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 01:58:29 2014 +0300 Staging: rtl8723au: hal: Space prohibited before semicolon This patch fixes these warning messages found by checkpatch.pl: WARNING: Space prohibited before semicolon. Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c09757d91703ccbf0da9fc67764de9714c9e615 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 02:23:53 2014 +0300 Staging: rtl8723au: core: Fix unnecassary braces warning. This patch fixes these warning messages found by checkpatch.pl: WARNING: braces {} are not necessary for single statement blocks Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 867ce1bd68fb1eadb70b82bcda1e451b27ff824a Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 02:33:38 2014 +0300 Staging: rtl8723au: core: Fix "foo * bar" warning. This patch fixes these error messages found by checkpatch.pl: ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c895a5df852ca9bbac1dee413747303a61aa4ebd Author: Greg Donald <gdonald@xxxxxxxxx> Date: Tue Sep 16 18:37:41 2014 -0500 drivers: staging: rtl8723au: Fix "space required after that ','" errors Fix checkpatch.pl "space required after that ','" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f78c0710cd60cd108d436490955909983f309c62 Author: Kieron Browne <kieron.browne@xxxxxxxxx> Date: Tue Sep 16 23:28:09 2014 +0100 staging: rtl8723au: fix sparse incorrect type assignment warnings Use cpu_to_le16 to cast int for assignment to __le16 members Signed-off-by: Kieron Browne <kieron.browne@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adabff85c9486c09ec700d835328e18ccfc9abf0 Author: MihaelaGaman <mp.gaman@xxxxxxxxx> Date: Sun Sep 14 12:56:43 2014 +0300 staging: rtl8723au: Fix checkpatch errors Fix checkpatch.pl "spaces required around": >, =, =, =, =, +=, >, >, <, <, :, < errors. Signed-off-by: MihaelaGaman <mp.gaman@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1703c17b8a02b7d1dd3080c4ce9d41a83e95a071 Author: Vaishali Thakkar <vthakkar1994@xxxxxxxxx> Date: Sun Sep 14 13:46:37 2014 +0530 Staging: rtl8188eu: os_dep: Compression of lines for immediate return This patch compresses two lines in to a single line in file rtw_android.c if immediate return statement is found. It also removes variable bytes_written as it is no longer needed. It is done using script Coccinelle. And coccinelle uses following semantic patch for this compression function: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Vaishali Thakkar<vthakkar1994@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16e614e85025d69c87e9ce80b9e1b5238f0f4479 Author: Gulsah Kose <gulsah.1004@xxxxxxxxx> Date: Sun Sep 21 00:13:29 2014 +0300 staging: rtl8188eu: core: Fixed wrong space error. This patch fixes "foo * bar" should be "foo *bar" checkpatch.pl error in rtw_cmd.c Signed-off-by: Gulsah Kose <gulsah.1004@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69869c01ff148ef22d0ea1adec27b4543789792b Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Fri Sep 19 14:54:54 2014 -0700 staging: iio: impedance-analyzer: add blank line after declaration This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations. Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 714ab9bdd350413f48ad401bd25e11b3e9f257ab Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Fri Sep 19 14:32:09 2014 -0700 staging: iio: trigger: add blank lines after declarations This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations. Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a689c114796d8a3801c2bf3e25d3e21d6816036 Author: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Date: Fri Sep 19 18:48:05 2014 +0300 Staging: iio: resolver: Missing a blank line after declarations This patch fixes these warning messages found by checkpatch.pl: WARNING : Missing a blank line after declarations Signed-off-by: Aybuke Ozdemir <aybuke.147@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b4c727519b510ab9d9b33de51ea41fc34b9ef27 Author: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Date: Thu Sep 18 14:55:06 2014 -0700 staging: iio: dummy: add blank lines after declarations. This fixes the following checkpatch.pl warning: WARNING: Missing a blank line after declarations. Signed-off-by: Catalina Mocanu <catalina.mocanu@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b581c3d9a90772613e05e659b4e8defc81704212 Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Sat Sep 13 15:46:15 2014 +0530 Staging: iio: meter: ade7753: Fixed checkpatch.pl warnings Clean-up patch to fix the following checkpatch.pl warnings: ade7753.c:325: WARNING: Missing a blank line after declarations ade7753.c:383: WARNING: Missing a blank line after declarations Signed-off-by: Tina Johnson<tinajohnson.1234@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9034720a54738bbaf96b619f34f887199ac7efed Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Sun Sep 14 16:30:05 2014 +0530 Staging: iio: meter: ade7753: Merged assignment with immediately following return statement Saved one line of code by merging the assigning and return statements of variable ret. And thus removed variable len which was no longer useful. This patch was done using Coccinelle script and the following semantic patch was used: @@ expression ret; identifier f; @@ -ret = +return f(...); -return ret; Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Acked-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18f340f90e087c078c634d5c4fed5e0d632d4fb6 Author: Paul Zimmerman <Paul.Zimmerman@xxxxxxxxxxxx> Date: Fri Sep 19 14:49:36 2014 -0700 usb: dwc2: add T: line to MAINTAINERS showing Felipe's tree Starting with v3.18-rc, patches for dwc2 will go through Felipe's tree. Add a T: line to MAINTAINERS to document this. Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dce95554a1866339de039060ecd7122056a9d71 Author: Paul Zimmerman <Paul.Zimmerman@xxxxxxxxxxxx> Date: Tue Sep 16 13:47:27 2014 -0700 usb: dwc2: handle DMA buffer unmapping sanely The driver's handling of DMA buffers for non-aligned transfers was kind of nuts. For IN transfers, it left the URB DMA buffer mapped until the transfer completed, then synced it, copied the data from the bounce buffer, then synced it again. Instead of that, just call usb_hcd_unmap_urb_for_dma() to unmap the buffer before starting the transfer. Then no syncing is required when doing the copy. This should also allow handling of other types of mappings besides just dma_map_single() ones. Also reduce the size of the bounce buffer allocation for Isoc endpoints to 3K, since that's the largest possible transfer size. Tested on Raspberry Pi and Altera SOCFPGA. Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8f8c14d9da7ab1b8a7b0f769cd7148ca2cc7d10 Author: Paul Zimmerman <Paul.Zimmerman@xxxxxxxxxxxx> Date: Tue Sep 16 13:47:26 2014 -0700 usb: dwc2: clip max_transfer_size to 65535 Clip max_transfer_size to 65535 for host. dwc2_hc_setup_align_buf() allocates coherent buffers with this size, and if it's too large we can exhaust the coherent DMA pool. Tested on Raspberry Pi and Altera SOCFPGA. Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d00b41428042e72d9dc2557d9147434a4e3d631f Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 9 10:44:57 2014 +0200 usb: dwc2/gadget: disable clock when it's not needed When device is stopped or suspended clock is not needed so we can disable it for this time. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b203d0a2e32dd28e87780078f0789322862e4da8 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 9 10:44:56 2014 +0200 usb: dwc2/gadget: assign TX FIFO dynamically Because we have not enough memory to have each TX FIFO of size at least 3072 bytes (the maximum single packet size with 3 transactions per microframe), we create four FIFOs of lenght 1024, and four of length 3072 bytes, and assing them to endpoints dynamically according to maxpacket size value of given endpoint. Up to now there were initialized 16 TX FIFOs, but we use only 8 IN endpoints, so we can split available memory for 8 FIFOs to have more memory for each one. It needed to do some small modifications in few places in code, because there was assumption that TX FIFO numbers assigned to endpoints are the same as the endpoint numbers, which is not true since we have dynamic FIFO assigning. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cff9eb756e18a7763d7ab9c574c0ab191e712341 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Sep 9 10:44:55 2014 +0200 usb: dwc2/gadget: ensure that all fifos have correct memory buffers Print warning if FIFOs are configured in such a way that they don't fit into the SPRAM available on the s3c hsotg module. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e01129373f757925a652ea4ea5b278f8c2b9222 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Tue Sep 9 10:44:54 2014 +0200 usb: dwc2/gadget: hide some not really needed debug messages Some DWC2/s3c-hsotg debug messages are really useless for typical user, so hide them behind dev_dbg(). Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d784f1e50977e58db23a79181971c3c0f62452e5 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 10:44:53 2014 +0200 usb: dwc2/gadget: Fix comment text Adjust the debug text to the name of the printed variable. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 496a51bd64eb15f14cee3519f5b75b28d09567e3 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Sep 18 22:24:02 2014 +0200 staging: lustre: llite: Use kzalloc and rewrite null tests This patch removes some kzalloc-related macros and rewrites the associated null tests to use !x rather than x == NULL. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression ptr; statement S,S1; @@ \(OBD_ALLOC\|OBD_ALLOC_WAIT\|OBD_ALLOC_PTR\|OBD_ALLOC_PTR_WAIT\)(ptr,...); if ( + ! ptr - == NULL ) S else S1 @@ expression ptr,size; @@ - OBD_ALLOC(ptr,size) + ptr = kzalloc(size, GFP_NOFS) @@ expression ptr,size; @@ - OBD_ALLOC_WAIT(ptr,size) + ptr = kzalloc(size, GFP_KERNEL) @@ expression ptr,size; @@ - OBD_ALLOC_PTR(ptr) + ptr = kzalloc(sizeof(*ptr), GFP_NOFS) @@ expression ptr,size; @@ - OBD_ALLOC_PTR_WAIT(ptr,size) + ptr = kzalloc(sizeof(*ptr), GFP_KERNEL) // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cdbcd3305293d18f7ae73b2766699bddf634bb06 Author: Martin Kelly <martin@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 21:16:15 2014 -0700 Staging/bcm: Fix whitespace/comments in Ioctl.h Cleanup whitespace and comments in Ioctl.h in a few ways: - > 80 character cleanup - Comment clarification - More consistent vertical alignment Signed-off-by: Martin Kelly <martkell@xxxxxxxxxx> Reviewed-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33b443e467f6c92c4cc797f5acf6a933fcfe9ec3 Author: Fabien Malfoy <fabien.malfoy@xxxxxxxxxxx> Date: Mon Sep 15 09:02:36 2014 +0200 staging: rtl8821ae: Remove space after unary operator in efuse.c Several pointer declaration syntax have been fixed to match the coding style. Signed-off-by: Fabien Malfoy <fabien.malfoy@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c24cdca05edb9c5435529afa37ce8c9c25ac4c5e Author: Merlin Chlosta <eudyptula@xxxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 01:56:10 2014 +0200 staging: rtl8192u: sparse warnings: declare ieee80211_TURBO_Info static Declare ieee80211_TURBO_Info static to fix a sparse "symbol was not declared" warning. Signed-off-by: Merlin Chlosta <eudyptula@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b1ebbffc0b2dd47a45380ba68da36f792a2977e Author: Vincenzo Scotti <vinc94@xxxxxxxxx> Date: Sat Sep 13 13:39:20 2014 +0200 staging: emxx_udc: fix compile warnings: discarding const qualifier Signed-off-by: Vincenzo Scotti <vinc94@xxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f02935c575cb00f2a164282866324816a1f52fc1 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Sat Sep 13 01:14:30 2014 +0900 staging: exxx_udc: Convert pr_warning to pr_warn This patch Convert pr_warning to pr_warn. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3aa2ec581903747d926765850212278c7c24be77 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 12 17:57:26 2014 +0530 staging: unisys: uislib: uislib.c: sparse warning of context imbalance fixed sparse warning : context imbalance in 'destroy_device' unexpected unlock this patch will generate warning from checkpatch for lines over 80 character , but since those are user-visible strings so it was not modified. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Tested-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Acked-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 635ecc5f36438cdf8cf3b88421321ee7443eb2d1 Author: Luke Hart <luke.hart@xxxxxxxxxxxx> Date: Fri Sep 12 10:48:33 2014 +0100 staging: unisys: Fix sparse error - accessing __iomem directly Copy the channel type into a temporary buffer so that code will work for architectures that don't support MMIO. This now works in same way as other tests in same function. Signed-off-by: Luke Hart <luke.hart@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cec78b98df2f87a396890c802dccbf0e604c6829 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:05 2014 +0100 staging: et131x: logical continuations should be on the previous line Fix two occurrences of the checkpatch check: CHECK: Logical continuations should be on the previous line Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d855b8935e211b285aa6eb3d42e2ea810b03e043 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:04 2014 +0100 staging: et131x: Fix 'else is not generally useful after a break or return' Fix this checkpatch warning: WARNING: else is not generally useful after a break or return Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6cb966074d6863293b774327ca5738bb27a9b3a Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:08 2014 +0100 staging: et131x: Use variable names instead of types in sizeof A few calls to sizeof() in et131x.c give the type as a parameter - use the equivalent variable name instead. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee60c8ec323167a02de357e9d9b44af850052ee3 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:07 2014 +0100 staging: et131x: Use braces on all arms of if/else statements In some places in et131x.c, one arm of am if/else statement has braces and the other not - put braces on both arms where this happens. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c13756784a6a16fb5d25585a4058dd6d284fd033 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:06 2014 +0100 staging: et131x: Remove spaces after casts In three places in et131x.c, spaces exist after a cast. Remove them. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48c8f78914720b39b9de27c6e58134abdf1f1a4c Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:02 2014 +0100 staging: et131x: Add spinlock definition comments Checkpatch --strict advises that spinlocks should be described when defined, seems a good idea so this change does that. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c55fe2018f7f84e3620e85e4b0d5d06274862da Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:01 2014 +0100 staging: et131x: Remove useless assignment to NULL The stack variable skb is no longer used after it's set to NULL. Don't set it to NULL. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bacb71edb48050b46244a66ec8d49c55a89eec34 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:59:00 2014 +0100 staging: et131x: Remove send_hw_lock spinlock We don't need to use this lock - the tx path is protected by the networking subsystem xmit_lock, so we don't also need it in nic_send_packet(). The other use of this spinlock in et1310_enable_phy_coma() to protect a low power flag makes no sense, so can just be removed. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82d95799d89b0cb3ad4c15c60e2c19862cb3a459 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:58:59 2014 +0100 staging: et131x: Simplify unlocking tcb_send_qlock in et131x_tx_timeout() The tcb_send_qlock spinlock is unlocked in all three paths at the end of et131x_tx_timeout(). We can call it once before entering any of the paths, saving ourselves a few lines of code. This change puts tcb->count++ outside of the lock, but et131x_tx_timeout() itself is protected by the tx_global_lock, so this shouldn't matter. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b06912b847ed495f41ee12a06fb8b017acc8e89 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 16:58:58 2014 +0100 staging: et131x: Remove blank lines form et131x.c Remove some unecessary blank lines from et131x.c Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82bb0be4c0335d72ec69b0911ee77b2f6f6b9281 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Sun Sep 14 18:53:37 2014 +0100 staging: et131x: Remove extra blank lines in et131x.h Remove some blank lines from et131.h, including double blank lines. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be685bb01f63c5483e535854da75553e115bab54 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:46 2014 +0100 staging: et131x: Remove 'reduce number of spinlocks' TODO item The number of spinlocks has been halved, from 8 to 4 since this comment was made, let's see if this is enough. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8019f2e2aa76658890dcca0cdff56a78959e3c57 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:45 2014 +0100 staging: et131x: Simplify code in nic_rx_pkts() for multicast_pkts_rcvd In nic_rx_pkts(), we check that a multicast packet received (when using a multicast list) is one that was requested - despite setting the list up with the hardware. We shouldn't expect to get a mc packet we didn't ask for, so remove these extra checks. This also means that the surrounding code can be tiedied up a little. Tested somewhat with omping, with no adverse effects seen. Also remove this item from the TODO list. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 668caa674c045bb59dcde2dc017e254f18a90607 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:44 2014 +0100 staging: et131x: Combine two if statements with same effect Both these if statements have the same effect when true, so combine them and save a few lines. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97cd38dc93838d6eef14f487dd85504ba429d36b Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:43 2014 +0100 staging: et131x: Remove struct tcb->flags 'struct tcb' member 'flags' was only used to collect tx stats, now we are no longer collecting those particular stats, we no longer need tcb->flags or the code used to peek into the skb to set it's value. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7cc9e0fd434cce2eb79e64048f03168f4cc8363 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:42 2014 +0100 staging: et131x: Remove ununsed statistics From struct ce_stats; unicast_pkts_rcvd, unicast_pkts_xmtd, multicast_pkts_xmtd, broadcast_pkts_rcvd and broadcast_pkts_xmtd are not returned or used for anything meaningful - remove the code that collects them, and the struct members too. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23780f077b4ab6e7fdcc75160c2f013b73ef78bd Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:41 2014 +0100 staging: et131x: Tidy up rx/tx dropped & bytes stats Remove some fairly useless comments regarding rx/tx _bytes and _dropped, and use rcvd_pkts_dropped stat value to provide rx_dropped. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 701b943e5cbcbaeb9d86947d9822f41755b1fe49 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:40 2014 +0100 staging: et131x: In et131x_tx(), don't return NETDEV_TX_BUSY, just drop the packet Memory allocation errors do not denote NETDEV_TX_BUSY, simply drop the packet silently with kfree_skb() and return NETDEV_TX_OK. Also remove this item from the TODO list. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4792e6d136dc4a340cef1c713a3eb50bd0550764 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Sep 11 22:59:39 2014 +0100 staging: et131x: Remove et131x_send_packets() function Remove et131x_send_packets() and replace the only use in et131x_tx with the removed function's body. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7baf92949198b9bbfae30486601b3bdcca604073 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:41 2014 +0200 staging: comedi: ni_usb6501: add counter subdevice Add counter support for NI USB-6501. The following functions are introduced: - ni6501_counter_command() - ni6501_cnt_insn_config() - ni6501_cnt_insn_read() - ni6501_cnt_insn_write() Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5116a48c1b0b819b9276993479d193f37fbfbd0a Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:40 2014 +0200 staging: comedi: ni_usb6501: rename ni6501_send_command() Rename ni6501_send_command to ni6501_port_command Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6669ba21b3e9b7c26aebbbe671ed77a1d756a70 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:39 2014 +0200 staging: comedi: ni_usb6501: remove empty lines ni6501_send_command(): remove empty lines in case statements Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78d8135608d35524d17702767167b0d0248f3df7 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:38 2014 +0200 staging: comedi: ni_usb6501: remove useless check Remove useless test in ni6501_send_command. The check is useless since this function is called only in this driver. Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9826c0c8a97f4b72d073db7dc879e4308e10822 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:37 2014 +0200 staging: comedi: ni_usb6501: replace spaces with tabs ni6501_auto_attach(): replace spaces with tabs to get proper alignment Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88367bd588892665d9b670358b5de21dca530cb0 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:36 2014 +0200 staging: comedi: ni_usb6501: cleanup response_size Cleanup response_size in ni6501_send_command (READ_PORT command). No logical/functional change is introduced by this patch. Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddf9b6a4a080422f5ab3f7718021bb98ad06853b Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:35 2014 +0200 staging: comedi: ni_usb6501: update comments Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa66cd164b592dc994cae4865415a3dccea15fa9 Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:50:34 2014 +0200 staging: comedi: ni_usb6501: add counter commands Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aff5b1f8eb71b64bb613dc64c50b6904e89f79b9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:07 2014 +0100 staging: comedi: remove comedi_fc module All the exported functions in the "comedi_fc" module have been migrated to the core "comedi" module and renamed, so it is now just a dummy module. Remove it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8d57655fdedd40c8ef234b13b4da05dd607dbb5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:06 2014 +0100 staging: comedi: migrate copyrights from "comedi_fc.c" The "comedi_fc" module was originally written and copyrighted by Frank Mori Hess, but the functionality has been migrated into the core "comedi" module. Move the copyright notices over to the affected .c files in the core comedi module. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfa9facdb13fb7bc47677bc8f590fc816ccd0c9a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:05 2014 +0100 staging: comedi: add comedi_read_array_from_buffer() The "comedi_fc" module contains a few functions useful to Comedi drivers. Their functionality is being migrated to the core "comedi" module and renamed to start with the prefix `comedi_`. As part of this migration, move `cfc_read_array_from_buffer()` into the core comedi module and rename it to `comedi_read_array_from_buffer()`. Change the external declaration of `cfc_read_array_from_buffer()` into an inline function that calls `comedi_read_array_from_buffer()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af2c6a8a2429dd40555a9efd4f286eca2ab9add0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:04 2014 +0100 staging: comedi: comedi_fc.h: use comedi_write_array_to_buffer() Since `cfc_write_array_to_buffer()` is just an inline function that calls `comedi_write_array_to_buffer()`, replace calls to the former to the latter in the "comedi_fc.h" header. This is part of the migration of functionality from the "comedi_fc" module to the core "comedi" module. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea29c1d563a4d57db1c2955c22468a0947f110b0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:03 2014 +0100 staging: comedi: add comedi_write_array_to_buffer() The "comedi_fc" module contains a few functions useful to Comedi drivers. Their functionality is being migrated to the core "comedi" module and renamed to start with the prefix `comedi_`. As part of this migration, move `cfc_write_array_to_buffer()` into the core comedi module and rename it to `comedi_write_array_to_buffer()`. Change the external declaration of `cfc_write_array_to_buffer()` into an inline function that calls `comedi_write_array_to_buffer()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c520aafa0cb234a9124569f742e82d04ab5006b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:02 2014 +0100 staging: comedi: comedi_fc: cfc_write_array_to_buffer() data is const The `data` pointer of `cfc_write_array_to_buffer()` ought to point to `const` data. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a7803592409dc3b6ea3bce53a7517114f748dc8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:01 2014 +0100 staging: comedi: add comedi_handle_events() The "comedi_fc" module contains a few functions useful to Comedi drivers. Their functionality is being migrated to the core "comedi" module and renamed to start with the prefix `comedi_`. As part of this migration, move `cfc_handle_events()` into the core comedi module and rename it to `comedi_handle_events()`. Change the external declaration of `cfc_handle_events()` into an inline function that calls `comedi_handle_events()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c38d6f22a4b0d5128b5ef2c2930f2c96ff37fe8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:46:00 2014 +0100 staging: comedi: comedi_fc: use comedi_inc_scan_progress() Since `cfc_inc_scan_progress()` is just an inline function that calls `comedi_inc_scan_progress()`, replace calls to the former to the latter in the "comedi_fc" module. This is part of the migration of functionality from the "comedi_fc" module to the core "comedi" module. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b4e1f632478f43bda1b38e04e0d740980fff1f3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:45:59 2014 +0100 staging: comedi: add comedi_inc_scan_progress() The "comedi_fc" module contains a few functions useful to Comedi drivers. Their functionality is being migrated to the core "comedi" module and renamed to start with the prefix `comedi_`. As part of this migration, move `cfc_inc_scan_progress()` into the core comedi module and rename it to `comedi_inc_scan_progress()`. Change the external declaration of `cfc_inc_scan_progress()` into an inline function that calls `comedi_inc_scan_progress()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55deb39b1290df023b23273a4c541784c6570098 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:45:58 2014 +0100 staging: comedi: comedi_fc: use comedi_bytes_per_scan() Since `cfc_bytes_per_scan()` is just an inline function that calls `comedi_bytes_per_scan()`, replace calls to the former to the latter in the "comedi_fc" module. This is part of the migration of functionality from the "comedi_fc" module to the core "comedi" module. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f146fe63416de7162090a48135d33a2b74a4efcc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 15 13:45:57 2014 +0100 staging: comedi: add comedi_bytes_per_scan() The "comedi_fc" module contains a few functions useful to Comedi drivers. Their functionality is being migrated to the core "comedi" module and renamed to start with the prefix `comedi_`. As part of this migration, move `cfc_bytes_per_scan()` into the core comedi module and rename it to `comedi_bytes_per_scan()`. Change the external declaration of `cfc_bytes_per_scan()` into an inline function that calls `comedi_bytes_per_scan()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 062fdcada9858859b4c8a73322c4b0b718c779ff Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 12:19:57 2014 +0100 staging: comedi: addi_apci_3120: simplify setting of devpriv->us_UseDma `apci3120_auto_attach()` first sets `devpriv->us_UseDma` to 1, then sets it back to 0 if it fails to allocate the DMA buffer. Since `*devpriv` is initially zeroed out by `comedi_alloc_devpriv()`, change it to only set `devpriv->us_UseDma` to 1 if the allocation succeeds. Also, don't bother explicitly initializing `devpriv->b_DmaDoubleBuffer` to 0 as it is already zeroed out. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbfd9c8a1782f33d7b67294b2a42587063e61c0c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 12:19:56 2014 +0100 staging: comedi: addi_apci_3120: use dma_alloc_coherent() Use `dma_alloc_coherent()` to allocate the DMA buffers instead of using `__get_free_pages()` to allocate and `virt_to_bus()` to get the hardware address. The coherent buffers are fairly small - at most 4 pages (although there are two of them). Use of `virt_to_bus()` is discouraged. Note: `struct addi_private` is used by some other ADDI-DATA drivers as well, but this is the only one using the affected members. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c97e588d82e90ca74488cd16e8f804cbec75978 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 12:19:55 2014 +0100 staging: comedi: addi_apci_3120: don't overallocate DMA buffer The last parameter of `__get_free_pages()` is log2 (the 'order') of the number of pages to be allocated. This driver seems to think it is the linear number of pages, so `apci3120_auto_attach()` first tries to allocate 16 pages, but only uses 4 of them, setting the buffer size to PAGE_SIZE multiplied by the 'order'. If the allocation fails, it tries progressively smaller orders, down to 0. If the allocation at order 0 succeeds, the buffer size is set to 0, which is likely to cause problems. Set the buffer size to `PAGE_SIZE` shifted left by the allocation order. Since the maximum buffer size previously used was 4, start with an allocation order of 2 instead of 4. Rename the `ui_DmaBufferPages` member of `struct addi_private` to `ui_DmaBufferPageOrder` and rename the `pages` local variable to `order` to make it clearer what it is. Note: `struct addi_private` is used by some other ADDI-DATA drivers as well, but this is the only one using the affected members. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df567feb00277ddee715f61e4616eaae50532ea0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 12:19:54 2014 +0100 staging: comedi: addi_apci_3120: don't allocate 2nd DMA buffer on failure `apci3120_auto_attach()` tries to allocate two DMA buffers but may allocate a single buffer or none at all. If it fails to allocate the first buffer, it still tries to allocate the second buffer, even though it won't be used. Change it to not bother trying to allocate the second buffer if the first one fails. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aee447566d08b7b0da482c4a9d8dc7a8332e4d69 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 10:11:20 2014 +0100 staging: comedi: remove comedi_board() All calls to the inline function `comedi_board()` in "comedidev.h" have been removed, so remove the function. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75fbdbf61dd9f68a28a5e233ad1ccdda7c6f94e8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 10:04:44 2014 +0100 staging: comedi: adl_pci9118: use dma_alloc_coherent() Use `dma_alloc_coherent()` to allocate the DMA buffers instead of using `__get_free_pages()` to allocate and `virt_to_bus()` to get the hardware address. The coherent buffers are fairly small - at most 4 pages (although there are two of them). Use of `virt_to_bus()` is discouraged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f39f87e9ea944ca07b53d8261ba60bfbf4f097da Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 10:04:43 2014 +0100 staging: comedi: adl_pci9118: don't overallocate DMA buffer The last parameter of `__get_free_pages()` is log2 (the 'order') of the number of pages to be allocated. This driver seems to think it is the linear number of pages, so `pci9118_alloc_dma()` first tries to allocate 16 pages, but only uses 4 of them, setting the buffer size to PAGE_SIZE multiplied by the 'order'. If the allocation fails, it tries progressively smaller orders, down to 0. If the allocation at order 0 succeeds, the buffer size is set to 0, which is likely to cause problems. Set the buffer size to `PAGE_SIZE` shifted left by the allocation order. Since the maximum buffer size previously used was 4, start with an allocation order of 2 instead of 4. Rename the `pages` member of `struct pci9118_dmabuf` (and the local variable in `pci9118_alloc_dma()`) to `order` to make it clearer what it is. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5733baf238533e9df41d92948e1ace5e0eae1de Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Fri Sep 12 10:04:42 2014 +0100 staging: comedi: adl_pci9118: don't allocate 2nd DMA buffer on failure `pci9118_alloc_dma()` tries to allocate two DMA buffers but may allocate a single buffer or none at all. If it fails to allocate the first buffer, it still tries to allocate the second buffer, even though it won't be used. Change it to not bother trying to allocate the second buffer if the first one fails. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27f5a85fb535296ebaa8334627774f0201df8a11 Merge: caf382f 2017cff Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 19 15:21:21 2014 -0700 Merge tag 'iio-for-3.18b' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into staging-next Jonathan writes: Second round of new IIO drivers, features and cleanups for the 3.18 cycle. New drivers and part support * Bosch bmg160 Gyroscope driver * Dyna-Image al3320a ambient light sensor driver * Bosh bmi055 gyroscope part driver (accelerometer part supported by bmc150) * isl29018 - add support for isl29023 and isl29035 * kxcjk-1013 - add support for kxcj9-1008 and kxtj2-1009 * bmc150 - additional part support (BMI055 accelerometer part, BMA255, BMA222E, BMA250E and BMA280). Different resolutions but otherwise similar parts. * bma180 - add BMA250 (note different from the BMA250E support above despite the naming). A lot of driver reworking lead up to this - described below. New features * kxcjk1013 - add threshold event support. * rockchip - document DT bindings. * isl29018 - ACPI support * bma180 - enable use without IRQ Cleanups * Tree wide - drop owner field assignment if using the module_platform_driver helper as that assigns it anyway. * kxcjk1013 - drop a redundant assignment of the current range and fix a a defined but not used warning. * inv_mpu6050 - Remove an unnecessary cast form a void pointer. * rockchip - drop and unused variable. * at91_adc - make a local function static. * st-sensors-core - correctly handle an error in setting in st_sensors_set_drdy_int_pin * isl29018 - typo fix * bmc150 - fix incorrect scale value for 16G range (Driver new this cycle) * bmc150 - fix issues when CONFIG_PM_RUNTIME not set (Driver new this cycle) * ad7606 - line length tidy up. * bmg160 - set power state only if PM_RUNTIME is defined. * ak8975 - fix some unnecessary casting between char * and const char * * bma180 - prefix remaining bits and bobs with bma180_ and ensure consistent. - use a bool instead of an int for state (as its either on or off). - expose the temperature channel - statically allocate buffers to avoid need for update_scan_mode callback. - refactor to allow futher chip variants including support for part specific config and disable code + different resolutions. commit 213db49399c05a98b529fc030b2dfbde4d6a83f2 Merge: ce4df0b 72a65a0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 19 15:18:00 2014 -0700 Merge tag 'usb-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next Felipe writes: usb: changes for v3.18 merge window Quite big pull request this time. Audio and UVC gadgets can now be used with our configfs-based binding. We have three PHY drivers being removed because a new one has been added using new PHY framework. Gadget framework got a new ->reset callback preparing for some other changes to come on next merge window. A few new drivers came in as well; among those we have a new UDC driver from Xilinx and two new glue layers for DWC3 (ST and Qualcomm). DWC3 also learned about tracepoints which will help debugging quite a bit. Other than that, a big series of non-critical fixes and cleanups. All patches have been on linux-next for quite a bit of time and I boot tested these changes on platforms I have access to and work with mainline. Signed-of-by: Felipe Balbi <balbi@xxxxxx> commit 00e262fd8744678262a0f662f1b5d45fc1f52e10 Author: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Date: Tue Sep 16 14:56:37 2014 -0700 Documentation/sysfs-rules.txt: Add device attribute error code documentation Provide some entry-level statements about what to expect from sysfs device attribute read/store return codes, both for users and kernel developers. Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Azael Avalos <coproscefalo@xxxxxxxxx> Cc: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Cc: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c62f606b0db9f5ee47fbc20a5fc8ddcc803841a Merge: 58310b3 6fbac83 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 17:35:30 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-09-18 This series contains updates to ixgbe and ixgbevf. Ethan Zhao cleans up ixgbe and ixgbevf by removing bd_number from the adapter struct because it is not longer useful. Mark fixes ixgbe where if a hardware transmit timestamp is requested, an uninitialized workqueue entry may be scheduled. Added a check for a PTP clock to avoid that. Jacob provides a number of cleanups for ixgbe. Since we may call ixgbe_acquire_msix_vectors() prior to registering our netdevice, we should not use the netdevice specific printk and use e_dev_warn() instead. Similar to how ixgbevf handles acquiring MSI-X vectors, we can return an error code instead of relying on the flag being set. This makes it more clear that we have failed to setup MSI-X mode and will make it easier to consolidate MSI-X related code into a single function. In the case of disabling DCB, it is not an error since we still can function, we just have to let the user know. So use e_dev_warn() instead of e_err(). Added warnings for other features that are disabled when we are without MSI-X support. Cleanup flags that are no longer used or needed. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58310b3fc6aaa4f896ad3cbcd88851e7ad0908f6 Merge: 54003f1 b1b6b4d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 17:30:16 2014 -0400 Merge branch 'mlx4-next' Or Gerlitz says: ==================== mlx4: CQE/EQE stride support This series from Ido Shamay is intended for archs having cache line larger then 64 bytes. Since our CQE/EQEs are generally 64B in those systems, HW will write twice to the same cache line consecutively, causing pipe locks due to he hazard prevention mechanism. For elements in a cyclic buffer, writes are consecutive, so entries smaller than a cache line should be avoided, especially if they are written at a high rate. Reduce consecutive writes to same cache line in CQs/EQs, by allowing the driver to increase the distance between entries so that each will reside in a different cache line. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1b6b4da7867d220f0da5f6686b869b304c5459b Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Sep 18 11:51:01 2014 +0300 net/mlx4_en: Add mlx4_en_get_cqe helper This function derives the base address of the CQE from the CQE size, and calculates the real CQE context segment in it from the factor (this is like before). Before this change the code used the factor to calculate the base address of the CQE as well. The factor indicates in which segment of the cqe stride the cqe information is located. For 32-byte strides, the segment is 0, and for 64 byte strides, the segment is 1 (bytes 32..63). Using the factor was ok as long as we had only 32 and 64 byte strides. However, with larger strides, the factor is zero, and so cannot be used to calculate the base of the CQE. The helper uses the same method of CQE buffer pulling made by all other components that reads the CQE buffer (mlx4_ib driver and libmlx4). Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 43c816c67a536cfcfc24da50153115b75eca94f0 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Sep 18 11:51:00 2014 +0300 net/mlx4_core: Cache line EQE size support Enable mlx4 interrupt handler to work with EQE stride feature, The feature may be enabled when cache line is bigger than 64B. The EQE size will then be the cache line size, and the context segment resides in [0-31] offset. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77507aa249aecd06fa25ad058b64481e46887a01 Author: Ido Shamay <idos@xxxxxxxxxxxx> Date: Thu Sep 18 11:50:59 2014 +0300 net/mlx4_core: Enable CQE/EQE stride support This feature is intended for archs having cache line larger then 64B. Since our CQE/EQEs are generally 64B in those systems, HW will write twice to the same cache line consecutively, causing pipe locks due to he hazard prevention mechanism. For elements in a cyclic buffer, writes are consecutive, so entries smaller than a cache line should be avoided, especially if they are written at a high rate. Reduce consecutive writes to same cache line in CQs/EQs, by allowing the driver to increase the distance between entries so that each will reside in a different cache line. Until the introduction of this feature, there were two types of CQE/EQE: 1. 32B stride and context in the [0-31] segment 2. 64B stride and context in the [32-63] segment This feature introduces two additional types: 3. 128B stride and context in the [0-31] segment (128B cache line) 4. 256B stride and context in the [0-31] segment (256B cache line) Modify the mlx4_core driver to query the device for the CQE/EQE cache line stride capability and to enable that capability when the host cache line size is larger than 64 bytes (supported cache lines are 128B and 256B). The mlx4 IB driver and libmlx4 need not be aware of this change. The PF context behaviour is changed to require this change in VF drivers running on such archs. Signed-off-by: Ido Shamay <idos@xxxxxxxxxxxx> Signed-off-by: Jack Morgenstein <jackm@xxxxxxxxxxxxxxxxxx> Signed-off-by: Or Gerlitz <ogerlitz@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 54003f119c26573d3bb86a5efc64f3e5fd43b8c6 Author: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Date: Wed Sep 17 23:23:12 2014 +0200 net: fix sparse warnings in SNMP_UPD_PO_STATS(_BH) ptr used to be a non __percpu pointer (result of a this_cpu_ptr assignment, 7d720c3e4f0c4 ("percpu: add __percpu sparse annotations to net")). Since d25398df59b56 ("net: avoid reloads in SNMP_UPD_PO_STATS"), that's no longer the case, SNMP_UPD_PO_STATS uses this_cpu_add and ptr is now __percpu. Silence sparse warnings by preserving the original type and annotation, and remove the out-of-date comment. warning: incorrect type in initializer (different address spaces) expected unsigned long long *ptr got unsigned long long [noderef] <asn:3>*<noident> warning: incorrect type in initializer (different address spaces) expected void const [noderef] <asn:3>*__vpp_verify got unsigned long long *<noident> warning: incorrect type in initializer (different address spaces) expected void const [noderef] <asn:3>*__vpp_verify got unsigned long long *<noident> Signed-off-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb5690d2458340b645ea3b36e8db560cb3272e65 Merge: 4e2840e 4565e99 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 17:15:40 2014 -0400 Merge branch 'fou-next' Tom Herbert says: ==================== net: foo-over-udp (fou) This patch series implements foo-over-udp. The idea is that we can encapsulate different IP protocols in UDP packets. The rationale for this is that networking devices such as NICs and switches are usually implemented with UDP (and TCP) specific mechanims for processing. For instance, many switches and routers will implement a 5-tuple hash for UDP packets to perform Equal Cost Multipath Routing (ECMP) or RSS (on NICs). Many NICs also only provide rudimentary checksum offload (basic TCP and UDP packet), with foo-over-udp we may be able to leverage these NICs to offload checksums of tunneled packets (using checksum unnecessary conversion and eventually remote checksum offload) An example encapsulation of IPIP over FOU is diagrammed below. As illustrated, the packet overhead for FOU is the 8 byte UDP header. +------------------+ | IPv4 hdr | +------------------+ | UDP hdr | +------------------+ | IPv4 hdr | +------------------+ | TCP hdr | +------------------+ | TCP payload | +------------------+ Conceptually, FOU should be able to encapsulate any IP protocol. The FOU header (UDP hdr.) is essentially an inserted header between the IP header and transport, so in the case of TCP or UDP encapsulation the pseudo header would be based on the outer IP header and its length field must not include the UDP header. * Receive In this patch set the RX path for FOU is implemented in a new fou module. To enable FOU for a particular protocol, a UDP-FOU socket is opened to the port to receive FOU packets. The socket is mapped to the IP protocol for the packets. The XFRM mechanism used to receive encapsulated packets (udp_encap_rcv) for the port. Upon reception, the UDP is removed and packet is reinjected in the stack for the corresponding protocol associated with the socket (return -protocol from udp_encap_rcv function). GRO is provided with the appropriate fou_gro_receive and fou_gro_complete. These routines need to know the encapsulation protocol so we save that in udp_offloads structure with the port and pass it in the napi_gro_cb structure. * TX This patch series implements FOU transmit encapsulation for IPIP, GRE, and SIT. This done by some common infrastructure in ip_tunnel including an ip_tunnel_encap to perform FOU encapsulation and common configuration to enable FOU on IP tunnels. FOU is configured on existing tunnels and does not create any new interfaces. The transmit and receive paths are independent, so use of FOU may be assymetric between tunnel endpoints. * Configuration The fou module using netlink to configure FOU receive ports. The ip command can be augmented with a fou subcommand to support this. e.g. to configure FOU for IPIP on port 5555: ip fou add port 5555 ipproto 4 GRE, IPIP, and SIT have been modified with netlink commands to configure use of FOU on transmit. The "ip link" command will be augmented with an encap subcommand (for supporting various forms of secondary encapsulation). For instance, to configure an ipip tunnel with FOU on port 5555: ip link add name tun1 type ipip \ remote 192.168.1.1 local 192.168.1.2 ttl 225 \ encap fou encap-sport auto encap-dport 5555 * Notes - This patch set does not implement GSO for FOU. The UDP encapsulation code assumes TEB, so that will need to be reimplemented. - When a packet is received through FOU, the UDP header is not actually removed for the skbuf, pointers to transport header and length in the IP header are updated (like in ESP/UDP RX). A side effect is the IP header will now appear to have an incorrect checksum by an external observer (e.g. tcpdump), it will be off by sizeof UDP header. If necessary we could adjust the checksum to compensate. - Performance results are below. My expectation is that FOU should entail little overhead (clearly there is some work to do :-) ). Optimizing UDP socket lookup for encapsulation ports should help significantly. - I really don't expect/want devices to have special support for any of this. Generic checksum offload mechanisms (NETIF_HW_CSUM and use of CHECKSUM_COMPLETE) should be sufficient. RSS and flow steering is provided by commonly implemented UDP hashing. GRO/GSO seem fairly comparable with LRO/TSO already. * Performance Ran netperf TCP_RR and TCP_STREAM tests across various configurations. This was performed on bnx2x and I disabled TSO/GSO on sender to get fair comparison for FOU versus non-FOU. CPU utilization is reported for receive in TCP_STREAM. GRE IPv4, FOU, UDP checksum enabled TCP_STREAM 24.85% CPU utilization 9310.6 Mbps TCP_RR 94.2% CPU utilization 155/249/460 90/95/99% latencies 1.17018e+06 tps IPv4, FOU, UDP checksum disabled TCP_STREAM 31.04% CPU utilization 9302.22 Mbps TCP_RR 94.13% CPU utilization 154/239/419 90/95/99% latencies 1.17555e+06 tps IPv4, no FOU TCP_STREAM 23.13% CPU utilization 9354.58 Mbps TCP_RR 90.24% CPU utilization 156/228/360 90/95/99% latencies 1.18169e+06 tps IPIP FOU, UDP checksum enabled TCP_STREAM 24.13% CPU utilization 9328 Mbps TCP_RR 94.23 149/237/429 90/95/99% latencies 1.19553e+06 tps FOU, UDP checksum disabled TCP_STREAM 29.13% CPU utilization 9370.25 Mbps TCP_RR 94.13% CPU utilization 149/232/398 90/95/99% latencies 1.19225e+06 tps No FOU TCP_STREAM 10.43% CPU utilization 5302.03 Mbps TCP_RR 51.53% CPU utilization 215/324/475 90/95/99% latencies 864998 tps SIT FOU, UDP checksum enabled TCP_STREAM 30.38% CPU utilization 9176.76 Mbps TCP_RR 96.9% CPU utilization 170/281/581 90/95/99% latencies 1.03372e+06 tps FOU, UDP checksum disabled TCP_STREAM 39.6% CPU utilization 9176.57 Mbps TCP_RR 97.14% CPU utilization 167/272/548 90/95/99% latencies 1.03203e+06 tps No FOU TCP_STREAM 11.2% CPU utilization 4636.05 Mbps TCP_RR 59.51% CPU utilization 232/346/489 90/95/99% latencies 813199 tps v2: - Removed encap IP tunnel ioctls, configuration is done by netlink only. - Don't export fou_create and fou_destroy, they are currently intended to be called within fou module only. - Filled on tunnel netlink structures and functions for new values. v3: - Fixed change logs for some of the patches. - Remove inline from fou_gro_receive and fou_gro_complete, let compiler decide on these. v4: - Don't need to cast void in fou_from_sock - Removed incorrest htons for port in fou_destroy - Some minor cleanup for readability ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4565e9919cda747815547e2e5d7b78f15efbffdf Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:26:01 2014 -0700 gre: Setup and TX path for gre/UDP foo-over-udp encapsulation Added netlink attrs to configure FOU encapsulation for GRE, netlink handling of these flags, and properly adjust MTU for encapsulation. ip_tunnel_encap is called from ip_tunnel_xmit to actually perform FOU encapsulation. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 473ab820dd4af588785a8e10b9c1547aadb4fd72 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:26:00 2014 -0700 ipip: Setup and TX path for ipip/UDP foo-over-udp encapsulation Add netlink handling for IP tunnel encapsulation parameters and and adjustment of MTU for encapsulation. ip_tunnel_encap is called from ip_tunnel_xmit to actually perform FOU encapsulation. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14909664e4e192f4c6f6fcdccd9919af7cf783ab Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:25:59 2014 -0700 sit: Setup and TX path for sit/UDP foo-over-udp encapsulation Added netlink handling of IP tunnel encapulation paramters, properly adjust MTU for encapsulation. Added ip_tunnel_encap call to ipip6_tunnel_xmit to actually perform FOU encapsulation. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56328486539ddd07cbaafec7a542a2c8a3043623 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:25:58 2014 -0700 net: Changes to ip_tunnel to support foo-over-udp encapsulation This patch changes IP tunnel to support (secondary) encapsulation, Foo-over-UDP. Changes include: 1) Adding tun_hlen as the tunnel header length, encap_hlen as the encapsulation header length, and hlen becomes the grand total of these. 2) Added common netlink define to support FOU encapsulation. 3) Routines to perform FOU encapsulation. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afe93325bc02a5b2dea0cd7d78225de692265e6e Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:25:57 2014 -0700 fou: Add GRO support Implement fou_gro_receive and fou_gro_complete, and populate these in the correponsing udp_offloads for the socket. Added ipproto to udp_offloads and pass this from UDP to the fou GRO routine in proto field of napi_gro_cb structure. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 23461551c00628c3f3fe9cf837bf53cf8f212b63 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:25:56 2014 -0700 fou: Support for foo-over-udp RX path This patch provides a receive path for foo-over-udp. This allows direct encapsulation of IP protocols over UDP. The bound destination port is used to map to an IP protocol, and the XFRM framework (udp_encap_rcv) is used to receive encapsulated packets. Upon reception, the encapsulation header is logically removed (pointer to transport header is advanced) and the packet is reinjected into the receive path with the IP protocol indicated by the mapping. Netlink is used to configure FOU ports. The configuration information includes the port number to bind to and the IP protocol corresponding to that port. This should support GRE/UDP (http://tools.ietf.org/html/draft-yong-tsvwg-gre-in-udp-encap-02), as will as the other IP tunneling protocols (IPIP, SIT). Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce3e02867ed8e12c6e6e83a793d273c1f4d929ea Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Sep 17 12:25:55 2014 -0700 net: Export inet_offloads and inet6_offloads Want to be able to use these in foo-over-udp offloads, etc. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4e2840eee6b21cb5230bd7cac8407badb201aac3 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Wed Sep 17 11:11:46 2014 -0700 net: sched: cls_u32: rcu can not be last node tc_u32_sel 'sel' in tc_u_knode expects to be the last element in the structure and pads the structure with tc_u32_key fields for each key. kzalloc(sizeof(*n) + s->nkeys*sizeof(struct tc_u32_key), GFP_KERNEL) CC: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ab34f6480806263d7b4d00fa06d3647bac73b68c Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 17 08:05:05 2014 -0700 net: sched: use __skb_queue_head_init() where applicable pfifo_fast and htb use skb lists, without needing their spinlocks. (They instead use the standard qdisc lock) We can use __skb_queue_head_init() instead of skb_queue_head_init() to be consistent. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ce77802f30b1820a88731f77b683567902ab2ef Merge: 77f4f62 83bad20 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 16:31:13 2014 -0400 Merge branch 'bnx2x-next' Yuval Mintz says: ==================== bnx2x: Support new Multi-function modes This patch series adds support for 2 new Multi-function modes - Unified Fabric Port [UFP] as well as nic partitioning 1.5 [NPAR1.5]. With the addition of the new multi-function modes, the series also revises some of the storage-related multi-function macros. [Do notice this series has several small issues with checkpatch] ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83bad206f7dd6638251840fa7846680f44c30bb4 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Sep 17 16:24:38 2014 +0300 bnx2x: Add a fallback multi-function mode NPAR1.5 When using new Multi-function modes it's possible that due to incompatible configuration management FW will fallback into an existing mode. Notice that at the moment this fallback is exactly the same as the already existing switch-independent multi-function mode, but we still use existing infrastructure to hold this information [in case some small differences will arise in the future]. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7609647e25a486174333ab01dcdaa23b517b8684 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Wed Sep 17 16:24:37 2014 +0300 bnx2x: New multi-function mode: UFP Add support for a new multi-function mode based on the Unified Fabric Port system specifications. Support includes configuration of: 1. Outer vlan tags. 2. Bandwidth settings. 3. Virtual link enable/disable. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e98ffc21cacb170c2d2c01d110ed53fedb95768 Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Wed Sep 17 16:24:36 2014 +0300 bnx2x: Changes with storage & MAC macros Rearrange macros to query for storage-only modes in different MF environment. Improves the readibility and maintainability of the code. E.g.: - if (IS_MF_STORAGE_SD(bp) || IS_MF_FCOE_AFEX(bp)) + if (IS_MF_STORAGE_ONLY(bp)) In addition, this removes the need for bnx2x_is_valid_ether_addr(). Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77f4f6220a98f4f3eb08be10230d7e8c604aa2b8 Merge: 2e4e441 d8ebfed Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 16:27:13 2014 -0400 Merge branch 'fec-next' Florian Fainelli says: ==================== net: phy: Broadcom BCM7xxx PHY workaround update This patch sets the change to of_phy_connect() that you have seen before, this time with the full context of why it is useful and applicable here. Due to some design decision, the internal PHY on Broadcom BCM7xxx chips is not entirely self contained and does not report its internal revision through MII_PHYSID2, that is left to external PHY designs. This forces us to get the PHY revision from the GENET and SF2 switch drivers because those two peripherals integrate such a PHY and do contain the PHY revision in their registers. The approach taken here is hopefully easy to extend to similar needs for other chips/ as well. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d8ebfed3f11b62ebc192af3cab64d835ff047e74 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:56 2014 -0700 net: phy: bcm7xxx: utilize PHY revision in config_init Now that the GENET and SF2 drivers have been updated to communicate us what is the revision of the BCM7xxx integrated PHY, utilize that information in the config_init() callback to call into the appropriate workaround function based on our revision. While at it, we also print the revision and patch level to help debug new chips. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aa9aef77c76113725d9dbf124c4dab414326b0a3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:55 2014 -0700 net: dsa: bcm_sf2: communicate integrated PHY revision to PHY driver The integrated BCM7xxx PHY contains no useful revision information in its MII_PHYSID2 bits 3:0, that information is instead contained in the SWITCH_REG_PHY_REVISION register. Read this register, store its value, and return it by implementing the dsa_switch::get_phy_flags() callback accordingly. The register layout is already matching what the BCM7xxx PHY driver is expecting to find. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6819563e646a7f3692836daefd12cd86c697759f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:54 2014 -0700 net: dsa: allow switch drivers to specify phy_device::dev_flags Some switch drivers (e.g: bcm_sf2) may have to communicate specific workarounds or flags towards the PHY device driver. Allow switches driver to be delegated that task by introducing a get_phy_flags() callback which will do just that. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 487320c541430a7a45eda668a26423e06eb32ad5 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:53 2014 -0700 net: bcmgenet: communicate integrated PHY revision to PHY driver The integrated BCM7xxx PHY contains no useful revision information in its MII_PHYSID2 bits 3:0, that information is instead contained in the GENET hardware block. We already read the GENET 32-bit revision register, so store the integrated PHY revision in the driver private structure, and then communicate this revision value to the PHY driver by overriding the phy_flags value. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80780a54ecded1647e661ababde13554a149f7f3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:52 2014 -0700 net: bcmgenet: remove PHY_BRCM_100MBPS_WAR Now that we have removed the need for the PHY_BRCM_100MBPS_WAR flag, we can remove it from the GENET driver and the broadcom shared header file. The PHY driver checks the PHY supported bitmask instead. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e18556ee3bd83ed58f9fd77f66f05d17213a95f9 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:51 2014 -0700 net: phy: bcm7xxx: do not use PHY_BRCM_100MBPS_WAR There is no need for the PHY driver to check PHY_BRCM_100MBPS_WAR since that is redundant with checking the PHY device supported features. Get rid of that workaround flag. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb7d93496f7ac203f7c3e9678000d1c83eb4e0ba Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:50 2014 -0700 net: phy: broadcom: add helper for PHY revision and patch level The Broadcom BCM7xxx internal PHYs do not contain any useful revision information in the low 4-bits of their MII_PHYSID2 (MII register 3) which could allow us to properly identify them. As a result, we need the actual hardware block integrating these PHYs: GENET or the SF2 switch to tell us what revision they are built with. To assist with that, add two helper macros for fetching the the PHY revision and patch level from the struct phy_device::dev_flags. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f63715138233db9f1c2afff33f7d8192a29ff91 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Sep 19 13:07:49 2014 -0700 of: mdio: honor flags passed to of_phy_connect Commit f9a8f83b04e0 ("net: phy: remove flags argument from phy_{attach, connect, connect_direct}") removed the flags argument to the PHY library calls to: phy_{attach,connect,connect_direct}. Most Device Tree aware drivers call of_phy_connect() with the flag argument set to 0, but some of them might want to set a different value there in order for the PHY driver to key a specific behavior based on the phy_device::phy_flags value. Allow such drivers to set custom phy_flags as part of the of_phy_connect() call since of_phy_connect() does start the PHY state machine, it will call into the PHY driver config_init() callback which is usually where a specific phy_flags value is important. Fixes: f9a8f83b04e0 ("net: phy: remove flags argument from phy_{attach, connect, connect_direct}") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e4e44107176d552f8bb1bb76053e850e3809841 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 17 04:49:49 2014 -0700 net: add alloc_skb_with_frags() helper Extract from sock_alloc_send_pskb() code building skb with frags, so that we can reuse this in other contexts. Intent is to use it from tcp_send_rcvq(), tcp_collapse(), ... We also want to replace some skb_linearize() calls to a more reliable strategy in pathological cases where we need to reduce number of frags. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cb0446c1b625326682ec4f9d1dd10779433646bc Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Sep 19 15:20:36 2014 -0500 Revert "powerpc/fsl_msi: spread msi ints across different MSIRs" This reverts commit c822e73731fce3b49a4887140878d084d8a44c08. This commit conflicted with a bitmap allocator change that partially accomplishes the same thing, but which does so more correctly. Revert this one until it can be respun on top of the correct change. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit cb93471acc42b71fa3f2e46805020f2b323db64f Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 17 03:14:42 2014 -0700 tcp: do not fake tcp headers in tcp_send_rcvq() Now we no longer rely on having tcp headers for skbs in receive queue, tcp repair do not need to build fake ones. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6db35ad2373eed5deb3b105ae7c1e9de3e34ae94 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Thu Sep 18 14:05:02 2014 -0500 powerpc/mm: Use common paging_init() for NUMA Commit 1c98025c6c95bc057a25e2c6596de23288c68160 "powerpc: Dynamic DMA zone limits" updated how zones are created in paging_init(), but missed the NUMA version of paging_init(). This was noticed via a linker error, since dma_pfn_limit_to_zone() was, like the non-NUMA paging_init(), limited by #ifndef CONFIG_NEED_MULTIPLE_NODES. It turns out that the NUMA paging_init() was not actually doing anything different from the standard paging_init(), other than a couple debug prints, a couple 32-bit-only ifdef sections, and a call to mark_nonram_nosave(). It's not clear whether mark_nonram_nosave() is inherently wrong to do for NUMA, or just not useful on targets that have NUMA, but for now I'm preserving the existing behavior. Fixes: 1c98025c6c9 "powerpc: Dynamic DMA zone limits" Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 94105a762016aea3284c07c813017b90a6325f10 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Tue Sep 16 19:47:00 2014 -0500 powerpc/85xx/defconfig: Remove duplicate CONFIG_RTC_DRV_DS1307 Commit a95e8c28b3dc "powerpc/defconfig: update RTC support" duplicated the CONFIG_RTC_DRV_DS1307 symbol in mpc85xx_defconfig and mpc85xx_smp_defconfig, resulting in this: arch/powerpc/configs/mpc85xx_smp_defconfig:217:warning: override: reassigning to symbol RTC_DRV_DS1307 Fixes: a95e8c28b3dc "powerpc/defconfig: update RTC support" Cc: Shengzhou Liu <Shengzhou.Liu@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 3ff64259616225c27f3fae8ac05c77c36bfd0348 Merge: 79ba2b4 c8fffce Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 15:57:46 2014 -0400 Merge branch 'udp-tunnel-common' Andy Zhou says: ==================== Refactor vxlan and l2tp to use new common UDP tunnel APIs This patch series add a few more UDP tunnel APIs and refactoring current UDP tunnel based protocols, vxlan and l2tp to make use of the new APIs. The added APIs are setup_udp_tunnel_sock(), udp_tunnel_xmit_skb() and udp_tunnel_sock_release(). Those implementation logics already exist in current vxlan and l2tp implementation. Move them to common APIs to reduce code duplications. Also split udp_tunnel.c into net/ipv4/udp_tunnel.c and net/ipv6/ip6_udp_tunnel.c to maintain proper IP protocol separation. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8fffcea0a079f933b4e98adf9ebaa384dc943b6 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Tue Sep 16 17:31:19 2014 -0700 l2tp: Refactor l2tp core driver to make use of the common UDP tunnel functions Simplify l2tp implementation using common UDP tunnel APIs. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit acbf74a763002bdc74ccfcdac22360bf18e305c5 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Tue Sep 16 17:31:18 2014 -0700 vxlan: Refactor vxlan driver to make use of the common UDP tunnel functions. Simplify vxlan implementation using common UDP tunnel APIs. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a93cc9052748c6355ec9d5b6c38b77f85f1cb0d Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Tue Sep 16 17:31:17 2014 -0700 udp-tunnel: Add a few more UDP tunnel APIs Added a few more UDP tunnel APIs that can be shared by UDP based tunnel protocol implementation. The main ones are highlighted below. setup_udp_tunnel_sock() configures UDP listener socket for receiving UDP encapsulated packets. udp_tunnel_xmit_skb() and upd_tunnel6_xmit_skb() transmit skb using UDP encapsulation. udp_tunnel_sock_release() closes the UDP tunnel listener socket. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fd384412e199b62c3ddaabd18dce86d0e164c5b9 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Tue Sep 16 17:31:16 2014 -0700 udp_tunnel: Seperate ipv6 functions into its own file. Add ip6_udp_tunnel.c for ipv6 UDP tunnel functions to avoid ifdefs in udp_tunnel.c Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 79ba2b4c5d3779d68b4cd3a569d483f1778f2b5a Merge: 709f6c58 37d6017 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 19 15:36:54 2014 -0400 Merge branch 'fec-next' Frank Li says: ==================== net: fec: add interrupt coalescence improve error handle when parse queue number. add interrupt coalescence feature. Change from v2 to v3 - add error check in fec_enet_set_coalesce - fix a run time warning to get clock rate in interrupt - fix commit message use TKT number Change from v1 to v2 - fix indention - use errata number instead of TKT ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37d6017b84f7a33f1089a7fc586554746e2c9f7b Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Wed Sep 17 05:18:54 2014 +0800 net: fec: Workaround for imx6sx enet tx hang when enable three queues When enable three queues on imx6sx enet, and then do tx performance test with iperf tool, after some time running, tx hang. Found that: If uDMA is running, software set TDAR may cause tx hang. If uDMA is in idle, software set TDAR don't cause tx hang. There is a TDAR race condition for mutliQ when the software sets TDAR and the UDMA clears TDAR simultaneously or in a small window (2-4 cycles). This will cause the udma_tx and udma_tx_arbiter state machines to hang. The issue exist at i.MX6SX enet IP. So, the Workaround is checking TDAR status four time, if TDAR cleared by hardware and then write TDAR, otherwise don't set TDAR. The patch is only one Workaround for the issue ERR007885. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 73e7228941b135ecca14ab101752bd2d38126046 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Wed Sep 17 05:18:53 2014 +0800 net:fec: increase DMA queue number when enable interrupt coalesce, 8 BD is not enough. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d851b47b22fc4c7b5a739fc5cbc2cbee07adec90 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Wed Sep 17 05:18:52 2014 +0800 net: fec: add interrupt coalescence feature support i.MX6 SX support interrupt coalescence feature By default, init the interrupt coalescing frame count threshold and timer threshold. Supply the ethtool interfaces as below for user tuning to improve enet performance: rx_max_coalesced_frames rx_coalesce_usecs tx_max_coalesced_frames tx_coalesce_usecs Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b7bd75cf53e8b65f48b21eec8653326897c29a96 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed Sep 17 05:18:51 2014 +0800 net: fec: refine error handle of parser queue number from DT check tx and rx queue seperately. fix typo, "Invalidate" and "fail". change pr_err to pr_warn. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 709f6c58d4dcd2b300c914ec17b297acae4cb998 Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Tue Sep 16 12:35:35 2014 -0700 sparc: bpf_jit: add SKF_AD_PKTTYPE support to JIT commit 233577a22089 ("net: filter: constify detection of pkt_type_offset") allows us to implement simple PKTTYPE support in sparc JIT Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb98d9d1d2e791f368295c9c09c9a03fe3ac0e62 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 18 23:33:49 2014 +0400 mmc: tmio: prevent endless loop in tmio_mmc_set_clock() I spent a couple of days with the driver just hanging due to me forgetting to specify the external crystal frequency, so that clk_get_rate() returned 0 and thus the loop in tmio_mmc_set_clock() never ended. I don't think that's an acceptable behavior, so I suggest that the minimum frequency is checked for 0 in tmio_mmc_host_probe(). Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Ian Molton <ian.molton@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b9bd7ff8069a7125da897de657da421c497d4f15 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Sep 10 00:23:24 2014 -0700 mmc: tmio: enable odd number size access Current tmio is using sd_ctrl_read16/write16_rep() for data transfer. It works if transfer size was even number, but, last 1 byte will be ignored if transfer size was odd number. This patch adds new tmio_mmc_transfer_data() and solve this issue. Tested-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3ccc11f6b82c34646c8a4233278251d9e9e99390 Author: Sean Paul <seanpaul@xxxxxxxxxxxx> Date: Tue Sep 9 15:58:45 2014 -0400 pinctrl: tegra: Add MIPI pad control This patch adds MIPI CSI/DSIB pad control mux register from the APB misc block to tegra pinctrl. Without writing to this register, the dsib pads are muxed as csi, and cannot be used. The register is not yet documented in the TRM, here is the description: 70000820: APB_MISC_GP_MIPI_PAD_CTRL_0 [31:02] RESERVED [01:01] DSIB_MODE [CSI=0,DSIB=1] [00:00] RESERVED Signed-off-by: Sean Paul <seanpaul@xxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ab95eac99c1714ede92800a9c33f4c96ce8d558c Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Sep 15 21:56:17 2014 -0700 MAINTAINERS: add l2-mtd.git, 'next' tree for MTD We've been semi-officially queueing patches here for a while, and it's in linux-next, so let's advertise it in MAINTAINERS. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Acked-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit d48690383febbf17d958e909ff8f0d15f4497325 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:27 2014 +0200 eeepc-laptop: store_cpufv: return error if set_acpi fails The result of set_acpi is left unchecked, but it may return errors. If one occurs, send the error to the caller. There's no reason to lie about it, if set_acpi fails. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit a5c155b16f4c170d96d41fc6066f245f2d53604d Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:26 2014 +0200 eeepc-laptop: check proper return values in get_cpufv In get_cpufv the return value of get_acpi is stored in the cpufv struct. Right before this value is checked for errors, it is and'ed with 0xff. This means c->cur can never be less than zero. Besides that, the actual error value is ignored. c->num is also and'ed with 0xff, which means we can ignore values below zero. Check the result of get_acpi() right away. While at it, propagate the error if we got one. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 48d4a5b29c8d0cf544ffe96f5855452446b6f20d Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:25 2014 +0200 eeepc-laptop: make fan1_input really read-only In the instantiation of the fan1_input device attribute, NULL is passed as set function to store_sys_hwmon. The function pointer is never checked before dereferencing it. This is fine if we can guarantee that it will never be called with an invalid pointer, but we can't. If someone from user space decides to change the permissions on this attribute and write to it, kernel will crash. Introduce EEEPC_CREATE_SENSOR_ATTR_RO() to instantiate a read-only attribute, and declare fan1_input with it. This ensures store_sys_hwmon is never called with NULL parameters. If someone tries to write the attribute, the system will at least keep its sanity. This also causes EEEPC_CREATE_SENSOR_ATTR() to be only used for R/W attributes.This enables us to drop the _mode argument from the macro and use DEVICE_ATTR_RW() internally while we're at it. Append _RW to the name for readability. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 28ac85f71ad1e55199302a59757ed21e082b88b1 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:24 2014 +0200 eeepc-laptop: pull out SENSOR_STORE_FUNC and SENSOR_SHOW_FUNC macros Pull out EEEPC_SENSOR_STORE_FUNC and EEEPC_SENSOR_SHOW_FUNC. These macros define functions that call store_sys_hwmon() and show_sys_hwmon() respectively. This helps prevent duplication later on. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 6fe3a77f6296a6c995eb08d564bafec028c15a18 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:23 2014 +0200 eeepc-laptop: tell sysfs that the disp attribute is write-only The disp attribute is write-only, but sysfs doesn't know this. Currently show_sys_acpi() is mimicking sysfs behavior, if the underlying acpi call should fail. This was introduced in 6dff29b63a5bf2eaf3 "eeepc-laptop: disp attribute should be write-only". This is not ideal; behaving like sysfs is better left to sysfs. Introduce EEEPC_CREATE_DEVICE_ATTR_WO() to instantiate a write-only attribute, and declare the disp attribute with it. Sysfs makes sure userspace can only write to disp at all times. This removes the need for mimicking the sysfs behavior in show_sys_acpi() and store_sys_acpi(), but we'll stick with -EIO, as changing sysfs return values should not be taken lightly. This change also causes EEEPC_CREATE_DEVICE_ATTR() to be used only for R/W attributes. This enables us to drop the _mode argument from the macro and use DEVICE_ATTR_RW() internally while we're at it. Append _RW to the name for readability. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 9797132577aa53734f4e980f9008f617947fddc9 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:22 2014 +0200 eeepc-laptop: pull out ACPI_STORE_FUNC and ACPI_SHOW_FUNC macros Pull out macros EEEPC_ACPI_STORE_FUNC and EEEPC_ACPI_SHOW_FUNC. These macros define functions that call store_sys_acpi() and show_sys_acpi() respectively. This helps prevent duplication later on. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit bb382dbaba09e74d728160f398391960dda3faf1 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:21 2014 +0200 eeepc-laptop: use DEVICE_ATTR* to instantiate device_attributes Device attributes are instantiated manually, while we have DEVICE_ATTR* macros available to do much of the work for us. Let's use them. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 8c72fc8bd7c698d7b5c99b83e187fda0d1538e1a Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:20 2014 +0200 eeepc-laptop: change sysfs function names to API expectations The eeepc-laptop driver follows the function naming convention <action>_<attrname>(), while the sysfs macros are built around the convention <attrname>_<action>(). Rename the sysfs functions to the convention used by sysfs. This makes it easier to use the available API later on. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 39a3e17e0d5c50e382992eeed6bb62668c31ded7 Author: Frans Klaver <fransklaver@xxxxxxxxx> Date: Wed Sep 17 23:47:19 2014 +0200 eeepc-laptop: clean up coding style Correct indentation and brace usage to comply with Documentation/CodingStyle. Signed-off-by: Frans Klaver <fransklaver@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 8125450cd855839c2f6d0eec86c560ffd02db374 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 16 20:04:25 2014 +0900 mtd: denali: fix indents and other trivial things - Fix indents - Do not break a line unless it is longer than 80 columns - Do not insert a whitespace before ';' - Use whitespaces around operators - Use braces for a "else" block where the "if" block uses ones. Besides, eliminate all the warnings reported by checkpatch.pl: - WARNING: quoted string split across lines - WARNING: else is not generally useful after a break or return - WARNING: Missing a blank line after declarations - WARNING: Avoid line continuations in quoted strings Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7d14ecd050a43ff80ad284027a521390af1c29be Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 16 20:04:24 2014 +0900 mtd: denali: remove unnecessary parentheses We should use parentheses only when they are necessary or they really improve the readability. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ba5f2bc2afbf598aa2efb35542cd0d40fce76c45 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Sep 19 09:37:19 2014 -0700 mtd: denali: remove another set-but-unused variable The variable "irq_status" in denali_read_page_raw() is set, but not used. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 72ed6ccd086f679aa61c79cd3af733756b72429e Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Fri Sep 19 14:58:53 2014 +0200 drm/exynos: switch to universal plane API The patch replaces legacy functions drm_plane_init() / drm_crtc_init() with drm_universal_plane_init() and drm_crtc_init_with_planes(). It allows to replace fake primary plane with the real one. Additionally the patch leaves cleanup of crtcs to core, this way planes and crtcs are cleaned in correct order. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 832316c704fe3d15ae6ca9a552ae80411d1bbbcd Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Thu Sep 18 14:19:01 2014 +0900 drm/exynos: use drm generic mmap interface This patch removes DRM_EXYNOS_GEM_MMAP ictrl feature specific to Exynos drm and instead uses drm generic mmap. We had used the interface specific to Exynos drm to do mmap directly, not to use demand paging which maps each page with physical memory at page fault handler. We don't need the specific mmap interface because the drm generic mmap which uses vm offset manager stuff can also do mmap directly. This patch makes a userspace region to be mapped with whole physical memory region allocated by userspace request when mmap system call is requested. Changelog v2: - do not set VM_IO, VM_DONTEXPEND and VM_DONTDUMP. These flags were already set by drm_gem_mmap - do not include <linux/anon_inodes.h>, which isn't needed anymore. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d931589c01a20595d67192f075f9c84093c43c45 Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Sep 17 22:48:45 2014 +0900 drm/exynos: remove DRM_EXYNOS_GEM_MAP_OFFSET ioctl This interface and relevant codes aren't used anymore. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 4a3ffedda2bdadf7ae315ae5f5f74477635d6bd6 Author: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Date: Thu Sep 18 17:50:35 2014 +0900 drm/exynos: factor out initial setting of each driver From fimd driver and vidi driver, dev->irq_enabled and dev->vblank_disable_allowed are set and also mixer needs them even if missed. It's duplicated so set them when loads drm driver. Signed-off-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit ad279310d7133805e8353d36fbf65d923bc2e228 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:13 2014 +0200 drm/exynos/hdmi: unregister connector on removal During component removal driver should unregister connector. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7c61b1ecabdf51d4c7094e9ea2ae657fab09f66e Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:12 2014 +0200 drm/exynos/dp: unregister connector on removal During component removal driver should unregister connector. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 90eac89726e6dee77a7997a0598a06df3adc1ac8 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:11 2014 +0200 drm/exynos/dpi: unregister connector and panel on removal During component removal it should unregister connector and optionally detach the panel. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 0ae460159faf0520228c554a728cc27d561d4b5b Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:10 2014 +0200 drm/exynos/dsi: unregister connector on removal During component unbind connector should be unregistered. Also DSI host should be unregistered after KMS cleanup. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 849b43187a71bfecf37ffbcf2f88a69062240933 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:08 2014 +0200 drm/exynos/fb: free exynos framebuffer on error In case drm_framebuffer_init fails exynos_fb should be freed before returning an error. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 78ef31e20452ddb1c101efae6147b910c5f454f5 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:07 2014 +0200 drm/exynos/fbdev: fix fbdev gem object cleanup exynos_gem_obj is used by exynos_drm_fbdev_destroy so it cannot be destroyed before calling the latter. exynos_gem_obj will be destroyed anyway by exynos_drm_fbdev_destroy->...->exynos_drm_fb_destroy. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 9f3dd7dbc5a5b6048d7dfccff5e0e9d8b50ff674 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:06 2014 +0200 drm/exynos: fix drm driver de-initialization order Since components have their own cleanup routines calling drm_mode_config_cleanup before component_unbind_all causes errors due to double free of KMS objects. The patch fixes it by changing de-initialization order. Now it is exactly opposite to init order. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit a36ed466870ef65755492a69886a38362d33d90e Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 9 15:16:05 2014 +0200 drm/exynos/ipp: traverse ipp drivers list safely On ipp subsystem removal list of ipp drivers is traversed and their members are deleted. To do it properly safe version of list_for_each* should be used. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 53c5558d95f544864a09372a8ffeffac55e60b7c Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Thu Sep 11 17:04:03 2014 +0900 drm/exynos: update to use component match support Update Exynos's DRM driver to use component match support rater than add_components. Changelog v2: - release devices and drivers if failed. - change compare_of to compare_dev. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Tested-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit 18383cb92f0d19e76e0374e573067e627cab9c92 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 2 14:56:21 2014 +0200 drm/exynos/ipp: add file checks for ioctls Process should not have access to ipp nodes created by another process. The patch adds necessary checks. It also simplifies lookup for command node. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit d9b9734c5d2e856d59c074d272a68db91a812857 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Tue Sep 2 14:55:06 2014 +0200 drm/exynos/ipp: remove file argument from node related functions Since file pointer is preserved in c_node passing it as argument in node functions is redundant. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 20ed715ebb71eba110b08754412bd0bd5b062cbd Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:39 2014 +0200 drm/exynos/fimc: fix source buffer registers FIMC in default mode of operation uses only one input buffer, but the driver used also second buffer, as a result only the first frame was processed correctly. The patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 56442d83401f122cc5c38391bb5960bb6a52a343 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:38 2014 +0200 drm/exynos/fimc: simplify buffer queuing The patch removes redundant checks, redundant HW reads and simplifies code. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c7b3014bf90d91b0559b3b49f4c0acef7170ece6 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:37 2014 +0200 drm/exynos/fimc: do not enable fimc twice The patch removes redundant H/W activation. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7794a775f4c77428370e81f98d9c5fb587610498 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:36 2014 +0200 drm/exynos/fimc: avoid clearing overflow bits Overflow bits shall be cleared by H/W. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c0592c854959214a2b08eeb776afae5dfe5dc053 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:35 2014 +0200 drm/exynos/ipp: remove events during command cleaning Events were removed only during stop command, as a result there were memory leaks if program prematurely exited. This patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8aa99dd3762b67e6555a9f3ef015989bbace39a5 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:34 2014 +0200 drm/exynos/ipp: stop hardware before freeing memory Memory shouldn't be freed when hardware is still running. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 05afb1ac5391a65b0f7e024064ab8f56397f6559 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:33 2014 +0200 drm/exynos/ipp: replace work_struct casting with better constructs Type casting should be avoided if possible. In case of work_struct it can be simply replaced by reference to member field. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 22e816f87cb0c0a4e507ec7a26cb08bfeef2daa4 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:32 2014 +0200 drm/exynos/ipp: clean memory nodes on command node cleaning The nodes should be removed before removing command node. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit c4a856a733b0aa3c62ce53efa20cc09feefb7739 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:31 2014 +0200 drm/exynos/ipp: move nodes cleaning to separate function The patch introduces ipp_clean_mem_nodes function which replaces redundant code. Additionally memory node function definitions are moved up to increase its visibility. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 6602ffb84949779fd5d27399ca5f608a409a2a83 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:30 2014 +0200 drm/exynos/ipp: free partially allocated resources on error In case of allocation errors some already allocated buffers were not freed. The patch fixes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 985c293d094ae640a25e0c0e78d161a3fcb95b5d Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:29 2014 +0200 drm/exynos/ipp: remove unused field in command node Since command node have file pointer dev field became useless. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 21a825ee1f8d7ae697d1bf86bfc4294a990ed182 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:28 2014 +0200 drm/exynos/ipp: remove only related commands on file close On file close driver should remove only command nodes created via this file. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 945a0aad96d91ccb14b033cfe757994afb86bbc0 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:27 2014 +0200 drm/exynos/ipp: move file reference from memory to command node Command node should contain file reference to distinguish commands created by different processes. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 6f7d48ea6541ac8c1000b7515c9fc458ba3d0f21 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:26 2014 +0200 drm/exynos/ipp: cancel works before command node clean All pending works should be canceled prior to its removal. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 9b5bd1c42059212883ba5687afd9025a67f192a3 Author: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Date: Thu Aug 28 11:07:25 2014 +0200 drm/exynos/ipp: remove fake pm callbacks PM callbacks in ipp core do nothing, so the patch removes it. Signed-off-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Reviewed-by: Joonyoung Shim <jy0922.shim@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit eb8a3bf73ecd894597dad2ded9aca43b53db167d Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Mon Sep 1 22:27:10 2014 +0900 drm/exynos: fimd: fix window clear code To correctly disable hardware window during driver init, both enable bits (WINCONx_ENWIN in WINCON and SHADOWCON_CHx_ENABLE in SHADOWCON) must be cleared, otherwise hardware fails to re-enable such window later. While touching this function, also temporarily disable ctx->suspended flag to let fimd_wait_for_vblank function really to do its job. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 71b1f1956b4466b47551e73d4dd2145df4241eb8 Author: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Date: Mon Sep 1 21:28:00 2014 +0900 drm/exynos/fbdev: set smem_len for fbdev Commit [0] stopped setting fix.smem_start and fix.smem_len when creating the fbdev. [0] 2f1eab8d8ab59e799f7d51d62410b398607a7bc3 drm/exynos/fbdev: don't set fix.smem/mmio_{start,len} However, smem_len is used by some userland applications to calculate the size for mmap. In particular, it is used by xf86-video-fbdev: http://cgit.freedesktop.org/xorg/xserver/tree/hw/xfree86/fbdevhw/fbdevhw.c?id=xorg-server-1.15.99.903#n571 So, let's restore setting the smem_len to unbreak things for these users. Note: we are still leaving smem_start set to 0. Reported-by: Siarhei Siamashka <siarhei.siamashka@xxxxxxxxx> Reported-by: Gunther Noack <me@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Kurtz <djkurtz@xxxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 025d8e1348c1f421684f15b06f0a080787a0f9db Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 20:53:47 2014 +0900 ARM: dts: add mipi dsi device node to exynos3250.dtsi Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit 9fab9d6a7278ed75e7437c34043303e90bd019e3 Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 20:46:12 2014 +0900 ARM: dts: add mipi_phy device node to exynos3250.dtsi This patch adds mipi_phy device node to reset, disable and enable DSIM and CSIS PHY. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit 03b86c796225cac1bf9d06dca79cfbd4a8185227 Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 20:37:53 2014 +0900 ARM: dts: add fimd device node to exynos3250.dsti Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit d6ce7b5829a676d94e6f6a0d5acfec246d880af3 Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Mon Aug 18 16:53:19 2014 +0900 drm/exynos: fimd: add Exynos3 SoC support Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit 473462a1436b5c4b7e62909985b1c8f9b17f028a Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 17:09:12 2014 +0900 drm/exynos: mipi-dsi: add Exynos3 SoC support This patch adds Exynos3250/3472 SoCs support. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit 78d3a8c6134fbe1fe048b13bddb8e7602affabaa Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 17:03:12 2014 +0900 drm/exynos: mipi-dsi: consider non-continuous clock mode This patch adds non-continuous clock mode support Clock mode on Clock Lane is continuous clock by default. So if we want to transmit data in non-continuous clock mode to reduce power consumption, then host driver should set DSIM_CLKLANE_STOP bit. In this case, host controller turns off HS clock between high speed transmissions. For this, this patch adds a new bit, DSIM_CLKLANE_STOP, and makes the host driver sets this bit only in case that dsi->mode_flags has MIPI_DSI_CLOCK_NON_CONTINUOUS flag. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> Reviewed-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> commit d87f09abb31d2d52dda261b5128c39d3944afbab Author: Inki Dae <inki.dae@xxxxxxxxxxx> Date: Wed Aug 13 16:38:23 2014 +0900 drm/mipi-dsi: consider low power transmission This patch adds a new flag, MIPI_DSI-MODE_LPM, to transmit data in low power. With this flag, msg.flags has MIPI_DSI_MSG_USE_LPM so that host driver of each SoC can clear or set relevant register bit for low power transmission. All host drivers shall support continuous clock behavior on the Clock Lane, and optionally may support non-continuous clock behavior. Both of them can transmit data in high speed of low power. With each clock behavior, non-continuous or continuous clock mode, host controller will transmit data in high speed by default so if peripheral wants to receive data in low power, the peripheral driver should set MIPI_DSI_MODE_LPM flag. Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 8525b5ec90a58b3e56709ffa1667d6593dbe24c3 Author: YoungJun Cho <yj44.cho@xxxxxxxxxxx> Date: Thu Aug 14 11:22:36 2014 +0900 drm/exynos: dsi: fix exynos_dsi_set_pll() wrong return value The type of this function is unsigned long, and it is expected to return proper fout value or zero if something is wrong. So this patch fixes wrong return value for error cases. Signed-off-by: YoungJun Cho <yj44.cho@xxxxxxxxxxx> Acked-by: Inki Dae <inki.dae@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Andrzej Hajda <a.hajda@xxxxxxxxxxx> Signed-off-by: Inki Dae <inki.dae@xxxxxxxxxxx> commit 7fbbd05799976c0611dcb229649260504b2bdef5 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Sep 19 13:56:56 2014 +0300 UBI: return on error in rename_volumes() I noticed this during a code review. We are checking that the strlen() of ->name is not less than the ->name_len which the user gave us. I believe this bug is harmless but clearly we meant to return here instead of setting an error code and then not using it. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit adfe83be973dc990f3763de3667c4cd004e6e4f7 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 19 11:48:47 2014 +0200 UBI: Improve comment on work_sem Make clear what work_sem really does. Suggested-by: Artem Bityutskiy <dedekind1@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit d577bc104f2c01928d586358663de6d0a950130f Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 19 11:48:46 2014 +0200 UBIFS: Remove bogus assert This assertion was only correct before UBIFS had xattr support. Now with xattr support also a directory node can carry data and can act as host node. Suggested-by: Artem Bityutskiy <dedekind1@xxxxxxxxx> Signed-off-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 8407f553268a4611f2542ed90677f0edfaa2c9c4 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Sep 5 15:14:39 2014 +0100 Btrfs: fix data corruption after fast fsync and writeback error When we do a fast fsync, we start all ordered operations and then while they're running in parallel we visit the list of modified extent maps and construct their matching file extent items and write them to the log btree. After that, in btrfs_sync_log() we wait for all the ordered operations to finish (via btrfs_wait_logged_extents). The problem with this is that we were completely ignoring errors that can happen in the extent write path, such as -ENOSPC, a temporary -ENOMEM or -EIO errors for example. When such error happens, it means we have parts of the on disk extent that weren't written to, and so we end up logging file extent items that point to these extents that contain garbage/random data - so after a crash/reboot plus log replay, we get our inode's metadata pointing to those extents. This worked in contrast with the full (non-fast) fsync path, where we start all ordered operations, wait for them to finish and then write to the log btree. In this path, after each ordered operation completes we check if it's flagged with an error (BTRFS_ORDERED_IOERR) and return -EIO if so (via btrfs_wait_ordered_range). So if an error happens with any ordered operation, just return a -EIO error to userspace, so that it knows that not all of its previous writes were durably persisted and the application can take proper action (like redo the writes for e.g.) - and definitely not leave any file extent items in the log refer to non fully written extents. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 669249eea365dd32b793b58891c74281c0aac47e Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Tue Sep 2 11:09:58 2014 +0100 Btrfs: fix fsync race leading to invalid data after log replay When the fsync callback (btrfs_sync_file) starts, it first waits for the writeback of any dirty pages to start and finish without holding the inode's mutex (to reduce contention). After this it acquires the inode's mutex and repeats that process via btrfs_wait_ordered_range only if we're doing a full sync (BTRFS_INODE_NEEDS_FULL_SYNC flag is set on the inode). This is not safe for a non full sync - we need to start and wait for writeback to finish for any pages that might have been made dirty before acquiring the inode's mutex and after that first step mentioned before. Why this is needed is explained by the following comment added to btrfs_sync_file: "Right before acquiring the inode's mutex, we might have new writes dirtying pages, which won't immediately start the respective ordered operations - that is done through the fill_delalloc callbacks invoked from the writepage and writepages address space operations. So make sure we start all ordered operations before starting to log our inode. Not doing this means that while logging the inode, writeback could start and invoke writepage/writepages, which would call the fill_delalloc callbacks (cow_file_range, submit_compressed_extents). These callbacks add first an extent map to the modified list of extents and then create the respective ordered operation, which means in tree-log.c:btrfs_log_inode() we might capture all existing ordered operations (with btrfs_get_logged_extents()) before the fill_delalloc callback adds its ordered operation, and by the time we visit the modified list of extent maps (with btrfs_log_changed_extents()), we see and process the extent map they created. We then use the extent map to construct a file extent item for logging without waiting for the respective ordered operation to finish - this file extent item points to a disk location that might not have yet been written to, containing random data - so after a crash a log replay will make our inode have file extent items that point to disk locations containing invalid data, as we returned success to userspace without waiting for the respective ordered operation to finish, because it wasn't captured by btrfs_get_logged_extents()." Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a25eb52e81a40e986179a790fbb5a1f02f482b7a Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Fri Sep 19 16:51:00 2014 +0800 cgroup: remove CGRP_RELEASABLE flag We call put_css_set() after setting CGRP_RELEASABLE flag in cgroup_task_migrate(), but in other places we call it without setting the flag. I don't see the necessity of this flag. Moreover once the flag is set, it will never be cleared, unless writing to the notify_on_release control file, so it can be quite confusing if we look at the output of debug.releasable. # mount -t cgroup -o debug xxx /cgroup # mkdir /cgroup/child # cat /cgroup/child/debug.releasable 0 <-- shows 0 though the cgroup is empty # echo $$ > /cgroup/child/tasks # cat /cgroup/child/debug.releasable 0 # echo $$ > /cgroup/tasks && echo $$ > /cgroup/child/tasks # cat /proc/child/debug.releasable 1 <-- shows 1 though the cgroup is not empty This patch removes the flag, and now debug.releasable shows if the cgroup is empty or not. Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 4e2ba65068ac1d0e8c9df78a4ad787cf39640418 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Fri Sep 19 16:53:14 2014 +0800 perf/cgroup: Remove perf_put_cgroup() Commit 5a17f543ed68 ("cgroup: improve css_from_dir() into css_tryget_from_dir()") removed perf_tryget_cgroup(), so let's also remove perf_put_cgroup(). Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f29374b146dd02f5f99742aedaddd6ef3512fc9c Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Fri Sep 19 16:29:31 2014 +0800 cgroup: remove redundant check in cgroup_ino() After we implemented default unified hierarchy, cgrp->kn can never be NULL. Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit bda0381e72028708b37695bf7d5b18ec956cf0a2 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Mon Sep 15 19:24:03 2014 -0400 drm/i915: Use EIO instead of EAGAIN for sink CRC error. If something while getting panel CRC this means that probably hw I/O error so hw is busted and try again shouldn't help much. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 40bae736116233a7e46711a9d28fc72d0e7d33eb Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 11 13:28:08 2014 +0200 drm/i915: Extend BIOS stolen mem handling to all platform Based upon a patch from Deepak, but reworked to only apply on gen7+ and with the logic a bit clarified. v2: Fix s/SHIFT/MASK/ fumble that Ville spotted. Cc: Deepak S <deepak.s@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4144f9b5e003e65b7e4be6abfff133bc83e73fec Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 08:43:48 2014 +0100 drm/i915: Match GTT space sanity checker with implementation If we believe that the device can cross cache domains in its prefetcher (i.e. we allow neighbouring pages in different domains), we don't supply a color_adjust callback. Use the presence of this callback to better determine when we should be verifying that the GTT space we just used is valid. v2: Remove the superfluous struct drm_device function param as well. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Also adjust the comment per irc discussion with Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 770722585639bc2da683e72f610d5f614298e415 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 12:18:27 2014 +0100 drm/i915: HSW always use GGTT selector for secure batches gen6 and earlier conflate address space selection (ppgtt vs ggtt) with the security bit (i.e. only privileged batches were allowed to run from ggtt). From Haswell only, you are able to select the security bit separate from the address space - and we always requested to use ppgtt. This breaks the golden render state batch execution with full-ppgtt as that is only present in the global GTT and more generally any secure batch that is not colocated in the ppgtt and ggtt. So we need to disable the use of the ppgtt selector bit for secure batches, or else we hang immediately upon boot and thence after every GPU reset... v2: Only HSW differentiates between secure dispatch and ggtt, so simply ignore the differentiation and always use secure==ggtt. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Rectify commit message as noted by Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a01b0e946f6db0a145dd92d7a44babd628d2c7a8 Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Date: Tue Sep 9 19:14:16 2014 +0530 drm/i915: add cherryview specfic forcewake in execlists_elsp_write In chv, we have two power wells Render & Media. We need to use corresponsing forcewake count. If we dont follow this we are getting error "*ERROR*: Timed out waiting for forcewake old ack to clear" due to multiple entry into __vlv_force_wake_get. Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Requested-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cf303626748e0a5c059e453d025539583d870116 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Sep 9 13:04:43 2014 +0100 drm/i915: fix another use-after-free in i915_gem_evict_everything Also here, i915_gem_evict_vm causes an unbind, which can end up dropping the last ref to the ppgtt. Triggered by igt gem_evict_everything test. Testcase: igt/gem_evict_everything Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a1e470d421f68d69bf35c1ed316a861625010eab Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 8 18:17:18 2014 +0200 drm/i915: Don't reinit hpd interrupts after gpu reset Somehow I've overlooked this when simplifying the irq reinit scheme on gen4.5+ in commit 78ad455fd229c6f6cc2f390ccbe0d8f1a62d55a9 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu May 22 22:18:21 2014 +0200 drm/i915: Improve irq handling after gpu resets Since display interrups in general survive a gpu reset on those platforms there's also no need to reinit the hotplug settings. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f0d3dad3ad618dbe4f65453c456c781c4568de29 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 7 16:51:12 2014 +0100 drm/i915: Wrap -EIO send-vblank event for failed pageflip in spinlock drm_send_vblank_event() demands that we hold the event spinlock whilst calling it, so do so. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Fix the double lock as requested by Chris.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1d1ef21dafd13ff5cedbde840544d6e86669fe1d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 07:02:43 2014 +0100 drm/i915: Drop any active reference before unbinding Before we process the final unbind on an object and move it to the unbound list, it is semantically cleaner if there are no more active references to the object. (An active reference would imply that it was still being accessed by the GPU after it became inaccessible.) The caveat is that all callsites must be prepared for the object to disappeared during the unbind - i.e. they must hold their own reference. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21ab4e746d4d455fef66e2bef8c0442eb369a1d4 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:16:08 2014 +0100 drm/i915: Objects on the unbound list may still have an active reference Due to the lazy retirement semantics, even though we have unbound an object, it may still hold onto an active reference. So in the debug code, play safe. v2: Export i915_gem_shrink() rather than opencoding it. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 344c5bbcb7a282cc59e2f111c8801106c4fe315c Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Sep 9 11:25:13 2014 +0300 drm/i915/edp: use lane count and link rate from DPCD for eDP eDP panels are generally designed to support only a single clock and lane configuration. commit 56071a207602a451f0c46d3dcc8379b59ef576e2 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue May 6 14:56:52 2014 +0300 drm/i915: use lane count and link rate from VBT as minimums for eDP should have started using the optimal link parameters for eDP panels. Turns out a certain other OS uses DPCD instead of VBT, which means trusting VBT on this may not be so reliable after all. Follow suit. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=81647 Tested-by: Adam Jirasek <libm3l@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79386 Tested-by: Narthana Epa <narthana.epa+freedesktop@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8d8a672f9370278ae2c9752ad3021662dbc42fd Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Sep 5 16:19:18 2014 +0300 drm/i915/dp: add missing \n in the TPS3 debug message This goes back to commit 06ea66b6bb445043dc25a9626254d5c130093199 Author: Todd Previte <tprevite@xxxxxxxxx> Date: Mon Jan 20 10:19:39 2014 -0700 drm/i915: Enable 5.4Ghz (HBR2) link rate for Displayport 1.2-capable devices Cc: Todd Previte <tprevite@xxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> [danvet: Pimp commit message a bit.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10e972d3f6dd77e009611c4bfeed02fa9827d0d6 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 21:43:45 2014 +0100 drm/i915/hdmi, dp: Do not dereference the encoder in the connector destroy Oops, apparently intel_hdmi/intel_dp is the encoder - an object with a distinct lifetime to the connector, and so we cannot simply reuse the common function to unset and free the edid. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d6feb1962d08890080cbce080a3d73e1035f0a3d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 5 21:54:13 2014 +0300 drm/i915: Limit the watermark to at least 8 entries on gen2/3 830 is very unhappy of the watermark value is too low (indicating a very high watermark in fact, ie. memory fetch will occur with an almost full FIFO). Limit the watermark value to at least 8 cache lines. That also matches the burst size we use on most platforms. BSpec seems to indicate we should limit the watermark to 'burst size + 1'. But on gen4 we already use a hardcoded 8 as the watermark value (as the spec says we should), so just use 8 as the limit on gen2/3 as well. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c4e02746147cef8853142a7c71efcb2b9660aed Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Sep 5 21:52:42 2014 +0300 drm/i915: Fix DVO 2x clock enable on 830M The spec says: "For the correct operation of the muxed DVO pins (GDEVSELB/ I2Cdata, GIRDBY/I2CClk) and (GFRAMEB/DVI_Data, GTRDYB/DVI_Clk): Bit 31 (DPLL VCO Enable) and Bit 30 (2X Clock Enable) must be set to â??1â?? in both the DPLL A Control Register (06014h-06017h) and DPLL B Control Register (06018h-0601Bh)." The pipe A and B force quirks take care of DPLL_VCO_ENABLE, so we just need a bit of special care to handle DPLL_DVO_2X_MODE. v2: Recompute num_dvo_pipes on the spot, use PIPE_A/PIPE_B instead of pipe/!pipe for the register offsets in disable (Daniel) Add a comment about the ordering in enable and another one about filtering out the DVO 2x bit in state readout Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> (v1) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5db722eeba0051c68e638114f6720e715b03cd2c Author: Josef Holzmayr <holzmayr@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Sep 19 13:02:26 2014 +0200 ARM: at91: Remove the support for the RSI EWS board The platform is end of life/support and should not clutter the mach-at91 directory with non-DT files. It is therefore removed. Signed-off-by: Josef Holzmayr <holzmayr@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ed2226bd4d4a53bcc3b2ea0b1b28e955ebc15da7 Author: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Date: Wed Sep 17 22:13:51 2014 -0700 x86/platform/intel/iosf: Add debugfs config option for IOSF Makes the IOSF sideband available through debugfs. Allows developers to experiment with using the sideband to provide debug and analytical tools for units on the SoC. Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411017231-20807-4-git-send-email-david.e.box@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ced3ce760b8df08e8bafba44f6b40407df2d0402 Author: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Date: Wed Sep 17 22:13:50 2014 -0700 x86/platform/intel/iosf: Add better description of IOSF driver in config Adds better description of IOSF driver to determine when it should be enabled. Also moves the Kconfig option to "Processor type and features" menu from main configuration menu. Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411017231-20807-3-git-send-email-david.e.box@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 849f5d894383d25c49132437aa289c9a9c98d5df Author: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Date: Wed Sep 17 22:13:49 2014 -0700 x86/platform/intel/iosf: Add Braswell PCI ID Add Braswell PCI ID to list of supported ID's for the IOSF driver. Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1411017231-20807-2-git-send-email-david.e.box@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9f1ae7596aad71d18c3e88a3927f3f76b037b8fe Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Sep 19 12:05:45 2014 +0100 arm64: Correct ftrace calls to aarch64_insn_gen_branch_imm() The aarch64_insn_gen_branch_imm() function takes an enum as the last argument rather than a bool. It happens to work because AARCH64_INSN_BRANCH_LINK matches 'true' but better to use the actual type. Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 9575a6a23a8081bc4c9d47d001621e2af0957c02 Author: Martin Kelly <martin@xxxxxxxxxxxxxxxx> Date: Wed Sep 17 07:17:56 2014 -0700 x86/platform/pmc_atom: Fix warning when CONFIG_DEBUG_FS=n When compiling with CONFIG_DEBUG_FS=n, GCC emits an unused variable warning for pmc_atom.c because "ret" is used only within the CONFIG_DEBUG_FS block. This patch adds a dummy #ifdef for pmc_dbgfs_register() when CONFIG_DEBUG_FS=n to simplify the code and remove the warning. Signed-off-by: Martin Kelly <martkell@xxxxxxxxxx> Acked-by: "Li, Aubrey" <aubrey.li@xxxxxxxxxxxxxxx> Cc: vishwesh.m.rudramuni@xxxxxxxxx Link: http://lkml.kernel.org/r/1410963476-8360-1-git-send-email-martin@xxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d286c3af48e3ad187fc52a0060c71b0844f234ff Author: Rakib Mullick <rakib.mullick@xxxxxxxxx> Date: Fri Sep 19 01:22:15 2014 +0600 x86/mce: Avoid showing repetitive message from intel_init_thermal() intel_init_thermal() is called from a) at the time of system initializing and b) at the time of system resume to initialize thermal monitoring. In case when thermal monitoring is handled by SMI, we get to know it via printk(). Currently it gives the message at both cases, but its okay if we get it only once and no need to get the same message at every time system resumes. So, limit showing this message only at system boot time by avoid showing at system resume and reduce abusing kernel log buffer. Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Link: http://lkml.kernel.org/r/1411068135.5121.10.camel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit beb9147e95a75f41c984d7235cf6d59f3ca2d5db Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Sep 18 12:56:06 2014 -0700 x86/mm: Update memory map description to list hypervisor-reserved area Peter Anvin says: > 0xffff880000000000 is the lowest usable address because we have > agreed to leave 0xffff800000000000-0xffff880000000000 for the > hypervisor or other non-OS uses. Let's call this out in the documentation. This came up during the kernel address sanitizer discussions where it was proposed to use this area for other kernel things. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Andrey Ryabinin <ryabinin.a.a@xxxxxxxxx> Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140918195606.841389D2@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 64a1925c00706253aa887431fc45f96db48aa727 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 26 11:54:56 2014 +0800 rtc: sunxi: Depend on platforms sun4i/sun7i that actually have the rtc Now that we have Kconfig options for individual sunxi platforms, let the rtc-sunxi driver depend on the platforms that actually have this hardware, sun4i and sun7i. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 9765d2d9430971ca89b09af076e7a8ff250df473 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 26 11:54:55 2014 +0800 rtc: sun6i: Add sun6i RTC driver This patch introduces the driver for the RTC in the Allwinner A31 and A23 SoCs. Unlike the RTC found in A10/A20 SoCs, which was part of the timer, the RTC in A31/A23 are a separate hardware block, which also contain a few controls for the RTC block hardware (a regulator and RTC block GPIO pin latches), while also having separate interrupts for the alarms. The hardware is different enough to make a different driver for it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit bd61c98f9b3f142cd63f9e15acfe203bec9e5f5a Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:50 2014 +0200 sched: Test the CPU's capacity in wake_affine() Currently the task always wakes affine on this_cpu if the latter is idle. Before waking up the task on this_cpu, we check that this_cpu capacity is not significantly reduced because of RT tasks or irq activity. Use case where the number of irq and/or the time spent under irq is important will take benefit of this because the task that is woken up by irq or softirq will not use the same CPU than irq (and softirq) but a idle one. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409051215-16788-8-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d3bfca1a7b028a57d648dbc0985492c6a4466ccf Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:48 2014 +0200 ARM: topology: Use the new cpu_capacity interface Use the new arch_scale_cpu_capacity() scheduler facility in order to reflect the original capacity of a CPU instead of arch_scale_freq_capacity() which is more linked to a scaling of the capacity linked to the frequency. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Grant Likely <grant.likely@xxxxxxxxxx> Cc: Guenter Roeck <linux@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1409051215-16788-6-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 26bc3c50d3b3984564c270da86f1fbbfb774dbcd Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:47 2014 +0200 sched: Allow all architectures to set 'capacity_orig' 'capacity_orig' is only changed for systems with an SMT sched_domain level in order to reflect the lower capacity of CPUs. Heterogenous systems also have to reflect an original capacity that is different from the default value. Create a more generic function arch_scale_cpu_capacity that can be also used by non SMT platforms to set capacity_orig. The __weak implementation of arch_scale_cpu_capacity() is the previous SMT variant, in order to keep backward compatibility with the use of capacity_orig. arch_scale_smt_capacity() and default_scale_smt_capacity() have been removed as they were not used elsewhere than in arch_scale_cpu_capacity(). Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Reviewed-by: Kamalesh Babulal <kamalesh@xxxxxxxxxxxxxxxxxx> Reviewed-by: Preeti U. Murthy <preeti@xxxxxxxxxxxxxxxxxx> [ Added default_scale_cpu_capacity() back. ] Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409051215-16788-5-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 65fdac08c264506ff95ee1e34ae066e308c9e6e3 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:46 2014 +0200 sched: Fix avg_load computation The computation of avg_load and avg_load_per_task should only take into account the number of CFS tasks. The non-CFS tasks are already taken into account by decreasing the CPU's capacity and they will be tracked in the CPU's utilization (group_utilization) of the next patches. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409051215-16788-4-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 05bfb65f52cbdabe26ebb629959416a6cffb034d Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:45 2014 +0200 sched: Remove a wake_affine() condition In wake_affine() I have tried to understand the meaning of the condition: (this_load <= load && this_load + target_load(prev_cpu, idx) <= tl_per_task) but I failed to find a use case that can take advantage of it and I haven't found clear description in the previous commit's log. Futhermore, the comment of the condition refers to the task_hot function that was used before being replaced by the current condition: /* * This domain has SD_WAKE_AFFINE and * p is cache cold in this domain, and * there is no bad imbalance. */ If we look more deeply the below condition: this_load + target_load(prev_cpu, idx) <= tl_per_task When sync is clear, we have: tl_per_task = runnable_load_avg / nr_running this_load = max(runnable_load_avg, cpuload[idx]) target_load = max(runnable_load_avg', cpuload'[idx]) It implies that runnable_load_avg == 0 and nr_running <= 1 in order to match the condition. This implies that runnable_load_avg == 0 too because of the condition: this_load <= load. but if this _load is null, 'balanced' is already set and the test is redundant. If sync is set, it's not as straight forward as above (especially if cgroup are involved) but the policy should be similar as we have removed a task that's going to sleep in order to get a more accurate load and this_load values. The current conclusion is that these additional condition don't give any benefit so we can remove them. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: preeti@xxxxxxxxxxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409051215-16788-3-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit afdeee0510db918b31bb4aba47452df2ddbdbcf2 Author: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Date: Tue Aug 26 13:06:44 2014 +0200 sched: Fix imbalance flag reset The imbalance flag can stay set whereas there is no imbalance. Let assume that we have 3 tasks that run on a dual cores /dual cluster system. We will have some idle load balance which are triggered during tick. Unfortunately, the tick is also used to queue background work so we can reach the situation where short work has been queued on a CPU which already runs a task. The load balance will detect this imbalance (2 tasks on 1 CPU and an idle CPU) and will try to pull the waiting task on the idle CPU. The waiting task is a worker thread that is pinned on a CPU so an imbalance due to pinned task is detected and the imbalance flag is set. Then, we will not be able to clear the flag because we have at most 1 task on each CPU but the imbalance flag will trig to useless active load balance between the idle CPU and the busy CPU. We need to reset of the imbalance flag as soon as we have reached a balanced state. If all tasks are pinned, we don't consider that as a balanced state and let the imbalance flag set. Signed-off-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: riel@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: efault@xxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: daniel.lezcano@xxxxxxxxxx Cc: dietmar.eggemann@xxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409051215-16788-2-git-send-email-vincent.guittot@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d9e26329b0c9263d4d9e0422d80a0e73268c52f Author: Aaron Tomlin <atomlin@xxxxxxxxxx> Date: Fri Sep 12 14:16:19 2014 +0100 sched: Add default-disabled option to BUG() when stack end location is overwritten Currently in the event of a stack overrun a call to schedule() does not check for this type of corruption. This corruption is often silent and can go unnoticed. However once the corrupted region is examined at a later stage, the outcome is undefined and often results in a sporadic page fault which cannot be handled. This patch checks for a stack overrun and takes appropriate action since the damage is already done, there is no point in continuing. Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: aneesh.kumar@xxxxxxxxxxxxxxxxxx Cc: dzickus@xxxxxxxxxx Cc: bmr@xxxxxxxxxx Cc: jcastillo@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: prarit@xxxxxxxxxx Cc: jgh@xxxxxxxxxx Cc: minchan@xxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: rostedt@xxxxxxxxxxx Cc: hannes@xxxxxxxxxxx Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: Davidlohr Bueso <davidlohr@xxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Lubomir Rintel <lkundrak@xxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410527779-8133-4-git-send-email-atomlin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a70857e46dd13e87ae06bf0e64cb6a2d4f436265 Author: Aaron Tomlin <atomlin@xxxxxxxxxx> Date: Fri Sep 12 14:16:18 2014 +0100 sched: Add helper for task stack page overrun checking This facility is used in a few places so let's introduce a helper function to improve code readability. Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: aneesh.kumar@xxxxxxxxxxxxxxxxxx Cc: dzickus@xxxxxxxxxx Cc: bmr@xxxxxxxxxx Cc: jcastillo@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: riel@xxxxxxxxxx Cc: prarit@xxxxxxxxxx Cc: jgh@xxxxxxxxxx Cc: minchan@xxxxxxxxxx Cc: mpe@xxxxxxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: hannes@xxxxxxxxxxx Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Seiji Aguchi <seiji.aguchi@xxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1410527779-8133-3-git-send-email-atomlin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d4311ff1a8da48d609db9500f121c15580dfeeb7 Author: Aaron Tomlin <atomlin@xxxxxxxxxx> Date: Fri Sep 12 14:16:17 2014 +0100 init/main.c: Give init_task a canary Tasks get their end of stack set to STACK_END_MAGIC with the aim to catch stack overruns. Currently this feature does not apply to init_task. This patch removes this restriction. Note that a similar patch was posted by Prarit Bhargava some time ago but was never merged: http://marc.info/?l=linux-kernel&m=127144305403241&w=2 Signed-off-by: Aaron Tomlin <atomlin@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Oleg Nesterov <oleg@xxxxxxxxxx> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: aneesh.kumar@xxxxxxxxxxxxxxxxxx Cc: dzickus@xxxxxxxxxx Cc: bmr@xxxxxxxxxx Cc: jcastillo@xxxxxxxxxx Cc: jgh@xxxxxxxxxx Cc: minchan@xxxxxxxxxx Cc: tglx@xxxxxxxxxxxxx Cc: hannes@xxxxxxxxxxx Cc: Alex Thorlton <athorlton@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Daeseok Youn <daeseok.youn@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Prarit Bhargava <prarit@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Seiji Aguchi <seiji.aguchi@xxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1410527779-8133-2-git-send-email-atomlin@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a15b12ac36ad4e7b856a4ae54937ae26a51aebad Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 15:03:34 2014 +0400 sched: Do not stop cpu in set_cpus_allowed_ptr() if task is not running If a task is queued but not running on it rq, we can simply migrate it without migration thread and switching of context. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410519814.3569.7.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1ba93d42727c44001aa8ccffd39c8ab5705379e2 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 17:42:20 2014 +0400 sched/dl: Simplify pick_dl_task() 1) Nobody calls pick_dl_task() with negative cpu, it's old RT leftover. 2) If p->nr_cpus_allowed is 1, than the affinity has just been changed in set_cpus_allowed_ptr(); we'll pick it just earlier than migration thread. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410529340.3569.27.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f3f1768f89d601ad29f4701deef91caaa82b9f57 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 17:42:01 2014 +0400 sched/rt: Remove useless if from cleanup pick_next_task_rt() _pick_next_task_rt() never returns NULL. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410529321.3569.26.camel@tkhai Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f3cd1c4ec059c956d3346705e453aff3ace3b494 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 17:41:40 2014 +0400 sched/core: Use put_prev_task() accessor where possible Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410529300.3569.25.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a8edd075323cec607797fdd1d7b1222c987f4a47 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 17:41:16 2014 +0400 sched/fair: cleanup: Remove useless assignment in select_task_rq_fair() new_cpu is reassigned below, so we do not need this here. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410529276.3569.24.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f139caf2e89713687514d9db847a4fa2e29c87a2 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Fri Sep 12 17:40:54 2014 +0400 sched, cleanup, treewide: Remove set_current_state(TASK_RUNNING) after schedule() schedule(), io_schedule() and schedule_timeout() always return with TASK_RUNNING state set, so one more setting is unnecessary. (All places in patch are visible good, only exception is kiblnd_scheduler() from: drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c Its schedule() is one line above standard 3 lines of unified diff) No places where set_current_state() is used for mb(). Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410529254.3569.23.camel@tkhai Cc: Alasdair Kergon <agk@xxxxxxxxxx> Cc: Anil Belur <askb23@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Dave Kleikamp <shaggy@xxxxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Cc: Frank Blaschka <blaschka@xxxxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Isaac Huang <he.huang@xxxxxxxxx> Cc: James E.J. Bottomley <JBottomley@xxxxxxxxxxxxx> Cc: James E.J. Bottomley <jejb@xxxxxxxxxxxxxxxx> Cc: J. Bruce Fields <bfields@xxxxxxxxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Cc: Liang Zhen <liang.zhen@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Masaru Nomura <massa.nomura@xxxxxxxxx> Cc: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxxxxxx> Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Mike Snitzer <snitzer@xxxxxxxxxx> Cc: Neil Brown <neilb@xxxxxxx> Cc: Oleg Drokin <green@xxxxxxxxxxxxxx> Cc: Peng Tao <bergwolf@xxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Robert Love <robert.w.love@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Cc: Ursula Braun <ursula.braun@xxxxxxxxxx> Cc: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Cc: devel@xxxxxxxxxxxxxxxxxxxx Cc: dm-devel@xxxxxxxxxx Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Cc: fcoe-devel@xxxxxxxxxxxxx Cc: jfs-discussion@xxxxxxxxxxxxxxxxxxxxx Cc: linux390@xxxxxxxxxx Cc: linux-afs@xxxxxxxxxxxxxxxxxxx Cc: linux-cris-kernel@xxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-nfs@xxxxxxxxxxxxxxx Cc: linux-parisc@xxxxxxxxxxxxxxx Cc: linux-raid@xxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: qla2xxx-upstream@xxxxxxxxxx Cc: user-mode-linux-devel@xxxxxxxxxxxxxxxxxxxxx Cc: user-mode-linux-user@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9c368b5b6eccce1cbd7f68142106b3b4ddb1c5b5 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Sep 12 09:12:15 2014 -0400 sched, time: Fix lock inversion in thread_group_cputime() The sig->stats_lock nests inside the tasklist_lock and the sighand->siglock in __exit_signal and wait_task_zombie. However, both of those locks can be taken from irq context, which means we need to use the interrupt safe variant of read_seqbegin_or_lock. This blocks interrupts when the "lock" branch is taken (seq is odd), preventing the lock inversion. On the first (lockless) pass through the loop, irqs are not blocked. Reported-by: Stanislaw Gruszka <sgruszka@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: prarit@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410527535-9814-3-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ef8ac06359ddf95431cf6bb04ad2b36fff562328 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Sep 12 09:12:14 2014 -0400 seqlock: Add irqsave variant of read_seqbegin_or_lock() There are cases where read_seqbegin_or_lock() needs to block irqs, because the seqlock in question nests inside a lock that is also be taken from irq context. Add read_seqbegin_or_lock_irqsave() and done_seqretry_irqrestore(), which are almost identical to read_seqbegin_or_lock() and done_seqretry(). Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: prarit@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Cc: sgruszka@xxxxxxxxxx Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: John Stultz <john.stultz@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410527535-9814-2-git-send-email-riel@xxxxxxxxxx [ Improved the readability of the code a bit. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2ed903c5485bad0eafdd3d59ff993598736e4f31 Author: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Date: Thu Sep 4 15:17:55 2014 +0800 cpuidle: Use wake_up_all_idle_cpus() to wake up all idle cpus Currently kick_all_cpus_sync() or smp_call_function() can not break the polling idle cpu immediately. Instead using wake_up_all_idle_cpus() which can wake up the polling idle cpu quickly is much more helpful for power. Signed-off-by: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Cc: changcheng.liu@xxxxxxxxx Cc: xiaoming.wang@xxxxxxxxx Cc: souvik.k.chakravarty@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1409815075-4180-3-git-send-email-chuansheng.liu@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c6f4459fc3ba532e896cb678e29b45cb985f82bf Author: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Date: Thu Sep 4 15:17:54 2014 +0800 smp: Add new wake_up_all_idle_cpus() function Currently kick_all_cpus_sync() can break non-polling idle cpus thru IPI interrupts. But sometimes we need to break the polling idle cpus immediately to reselect the suitable c-state, also for non-idle cpus, we need to do nothing if we try to wake up them. Here adding one new function wake_up_all_idle_cpus() to let all cpus out of idle based on function wake_up_if_idle(). Signed-off-by: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: linux-pm@xxxxxxxxxxxxxxx Cc: changcheng.liu@xxxxxxxxx Cc: xiaoming.wang@xxxxxxxxx Cc: souvik.k.chakravarty@xxxxxxxxx Cc: luto@xxxxxxxxxxxxxx Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Jens Axboe <axboe@xxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: Roman Gushchin <klamm@xxxxxxxxxxxxxx> Cc: Srivatsa S. Bhat <srivatsa.bhat@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409815075-4180-2-git-send-email-chuansheng.liu@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f6be8af1c95de4a46e325e728900a70ceadb52cf Author: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Date: Thu Sep 4 15:17:53 2014 +0800 sched: Add new API wake_up_if_idle() to wake up the idle cpu Implementing one new API wake_up_if_idle(), which is used to wake up the idle CPU. Suggested-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Chuansheng Liu <chuansheng.liu@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: daniel.lezcano@xxxxxxxxxx Cc: rjw@xxxxxxxxxxxxx Cc: linux-pm@xxxxxxxxxxxxxxx Cc: changcheng.liu@xxxxxxxxx Cc: xiaoming.wang@xxxxxxxxx Cc: souvik.k.chakravarty@xxxxxxxxx Cc: chuansheng.liu@xxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409815075-4180-1-git-send-email-chuansheng.liu@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ba7e5a279e72f4b246dc7a419ac707e1936ede3e Author: Rik van Riel <riel@xxxxxxxxxx> Date: Thu Sep 4 16:35:30 2014 -0400 sched/numa: Use select_idle_sibling() to select a destination for task_numa_move() The code in task_numa_compare() will only examine at most one idle CPU per node, because they all have the same score. However, some idle CPUs are better candidates than others, due to busy or idle SMT siblings, etc... The scheduler has logic to find the best CPU within an LLC to place a task. The NUMA code should probably use it. This seems to reduce the standard deviation for single instance SPECjbb2005 with a low warehouse count on my 4 node test system. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: mgorman@xxxxxxx Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140904163530.189d410a@xxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 00a158be83839f2d5370612d633eb2643ddf844e Author: Abhi Das <adas@xxxxxxxxxx> Date: Thu Sep 18 21:40:28 2014 -0500 GFS2: fix bad inode i_goal values during block allocation This patch checks if i_goal is either zero or if doesn't exist within any rgrp (i.e gfs2_blk2rgrpd() returns NULL). If so, it assigns the ip->i_no_addr block as the i_goal. There are two scenarios where a bad i_goal can result in a -EBADSLT error. 1. Attempting to allocate to an existing inode: Control reaches gfs2_inplace_reserve() and ip->i_goal is bad. We need to fix i_goal here. 2. A new inode is created in a directory whose i_goal is hosed: In this case, the parent dir's i_goal is copied onto the new inode. Since the new inode is not yet created, the ip->i_no_addr field is invalid and so, the fix in gfs2_inplace_reserve() as per 1) won't work in this scenario. We need to catch and fix it sooner in the parent dir itself (gfs2_create_inode()), before it is copied to the new inode. Signed-off-by: Abhi Das <adas@xxxxxxxxxx> Signed-off-by: Steven Whitehouse <swhiteho@xxxxxxxxxx> commit 84d7fce693884897c6196cc98228a2ad56ae2a9a Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 4 14:30:22 2014 +0200 netfilter: nf_tables: export rule-set generation ID This patch exposes the ruleset generation ID in three ways: 1) The new command NFT_MSG_GETGEN that exposes the 32-bits ruleset generation ID. This ID is incremented in every commit and it should be large enough to avoid wraparound problems. 2) The less significant 16-bits of the generation ID are exposed through the nfgenmsg->res_id header field. This allows us to quickly catch if the ruleset has change between two consecutive list dumps from different object lists (in this specific case I think the risk of wraparound is unlikely). 3) Userspace subscribers may receive notifications of new rule-set generation after every commit. This also provides an alternative way to monitor the generation ID. If the events are lost, the userspace process hits a overrun error, so it knows that it is working with a stale ruleset anyway. Patrick spotted that rule-set transformations in userspace may take quite some time. In that case, it annotates the 32-bits generation ID before fetching the rule-set, then: 1) it compares it to what we obtain after the transformation to make sure it is not working with a stale rule-set and no wraparound has ocurred. 2) it subscribes to ruleset notifications, so it can watch for new generation ID. This is complementary to the NLM_F_DUMP_INTR approach, which allows us to detect an interference in the middle one single list dumping. There is no way to explicitly check that an interference has occurred between two list dumps from the kernel, since it doesn't know how many lists the userspace client is actually going to dump. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit fc04733a1a71af26bf30830571b71f5f2a354a06 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 11 14:53:17 2014 +0200 netfilter: nfnetlink: use original skbuff when committing/aborting This allows us to access the original content of the batch from the commit and the abort paths. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 4f7cf3a992cc0c15c97d2e34ea08a1cb7faace39 Merge: c88f209 e568573 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Fri Sep 19 07:13:36 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: o Add +field argument support for --sort option (Jiri Olsa) o Do not access kallsyms when analyzing user binaries with 'probe' (Masami Hiramatsu) o Ignore stripped vmlinux and fallback to kallsyms (Anton Blanchard) o Add path to Ubuntu kernel debuginfo file (Anton Blanchard) o Disable kernel symbol demangling by default (Avi Kivity) Infrastructure changes: o More intel PT prep work, from Adrian Hunter, including: - Let a user specify a PMU event without any config terms - Add perf-with-kcore script - Let default config be defined for a PMU - Add perf_pmu__scan_file() o "perf kvm stat report" improvements by Alexander Yarygin: o Save pid string in opts.target.pid o Enable the target.system_wide flag o Unify the title bar output o Fix build issue on powerpc when DWARF support is disabled (Anton Blanchard) o Allow to specify lib compile variable for spec usage (Jiri Olsa) o Fix build on ARM (Stephane Eranian) o Fix build on powerpc when DWARF support is disabled (Anton Blanchard) o Don't include sys/poll.h directly (Arnaldo Carvalho de Melo) o Use ring buffer consume method to look like other tools (Arnaldo Carvalho de Melo) o Allow to specify lib compile variable for spec usage (Jiri Olsa) o Fix GNU-only grep usage in Makefile (John Spencer) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 513d1a2884a49654f368b5fa25ef186e976bdada Author: Christoph Lameter <cl@xxxxxxxxx> Date: Tue Sep 2 10:00:07 2014 -0500 irqchip: Properly fetch the per cpu offset The raw_cpu_read() conversion dropped the fetch of the offset from base->percpu_base in gic_get_percpu_base. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Reported-and-tested-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a98f26f183801685ef57333de4bafd4bbc692c7c Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:07 2014 +0100 arm/arm64: KVM: vgic: make number of irqs a configurable attribute In order to make the number of interrupts configurable, use the new fancy device management API to add KVM_DEV_ARM_VGIC_GRP_NR_IRQS as a VGIC configurable attribute. Userspace can now specify the exact size of the GIC (by increments of 32 interrupts). Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 4956f2bc1fdee4bc336532f3f34635a8534cedfd Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:06 2014 +0100 arm/arm64: KVM: vgic: delay vgic allocation until init time It is now quite easy to delay the allocation of the vgic tables until we actually require it to be up and running (when the first vcpu is kicking around, or someones tries to access the GIC registers). This allow us to allocate memory for the exact number of CPUs we have. As nobody configures the number of interrupts just yet, use a fallback to VGIC_NR_IRQS_LEGACY. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 5fb66da64064d0cb8dcce4cc8bf4cb1b921b13a0 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:05 2014 +0100 arm/arm64: KVM: vgic: kill VGIC_NR_IRQS Nuke VGIC_NR_IRQS entierly, now that the distributor instance contains the number of IRQ allocated to this GIC. Also add VGIC_NR_IRQS_LEGACY to preserve the current API. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit c3c918361adcceb816c92b21dd95d2b46fb96a8f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:04 2014 +0100 arm/arm64: KVM: vgic: handle out-of-range MMIO accesses Now that we can (almost) dynamically size the number of interrupts, we're facing an interesting issue: We have to evaluate at runtime whether or not an access hits a valid register, based on the sizing of this particular instance of the distributor. Furthermore, the GIC spec says that accessing a reserved register is RAZ/WI. For this, add a new field to our range structure, indicating the number of bits a single interrupts uses. That allows us to find out whether or not the access is in range. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit fc675e355e705a046df7b635d3f3330c0ad94569 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:03 2014 +0100 arm/arm64: KVM: vgic: kill VGIC_MAX_CPUS We now have the information about the number of CPU interfaces in the distributor itself. Let's get rid of VGIC_MAX_CPUS, and just rely on KVM_MAX_VCPUS where we don't have the choice. Yet. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit fb65ab63b8cae510ea1e43e68b5da2f9980aa6d5 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:02 2014 +0100 arm/arm64: KVM: vgic: Parametrize VGIC_NR_SHARED_IRQS Having a dynamic number of supported interrupts means that we cannot relly on VGIC_NR_SHARED_IRQS being fixed anymore. Instead, make it take the distributor structure as a parameter, so it can return the right value. Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit c1bfb577addd4867a82c4f235824a315d5afb94a Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:01 2014 +0100 arm/arm64: KVM: vgic: switch to dynamic allocation So far, all the VGIC data structures are statically defined by the *maximum* number of vcpus and interrupts it supports. It means that we always have to oversize it to cater for the worse case. Start by changing the data structures to be dynamically sizeable, and allocate them at runtime. The sizes are still very static though. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 71afaba4a2e98bb7bdeba5078370ab43d46e67a1 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Jul 8 12:09:00 2014 +0100 KVM: ARM: vgic: plug irq injection race As it stands, nothing prevents userspace from injecting an interrupt before the guest's GIC is actually initialized. This goes unnoticed so far (as everything is pretty much statically allocated), but ends up exploding in a spectacular way once we switch to a more dynamic allocation (the GIC data structure isn't there yet). The fix is to test for the "ready" flag in the VGIC distributor before trying to inject the interrupt. Note that in order to avoid breaking userspace, we have to ignore what is essentially an error. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 7e362919a59e6fc60e08ad1cf0b047291d1ca2e9 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Jun 14 22:34:04 2014 +0200 arm/arm64: KVM: vgic: Clarify and correct vgic documentation The VGIC virtual distributor implementation documentation was written a very long time ago, before the true nature of the beast had been partially absorbed into my bloodstream. Clarify the docs. Plus, it fixes an actual bug. ICFRn, pfff. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 9da48b5502622f9f0e49df957521ec43a0c9f4c1 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Jun 14 22:30:45 2014 +0200 arm/arm64: KVM: vgic: Fix SGI writes to GICD_I{CS}PENDR0 Writes to GICD_ISPENDR0 and GICD_ICPENDR0 ignore all settings of the pending state for SGIs. Make sure the implementation handles this correctly. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit faa1b46c3e9f4d40359aee04ff275eea5f4cae3a Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Jun 14 21:54:51 2014 +0200 arm/arm64: KVM: vgic: Improve handling of GICD_I{CS}PENDRn Writes to GICD_ISPENDRn and GICD_ICPENDRn are currently not handled correctly for level-triggered interrupts. The spec states that for level-triggered interrupts, writes to the GICD_ISPENDRn activate the output of a flip-flop which is in turn or'ed with the actual input interrupt signal. Correspondingly, writes to GICD_ICPENDRn simply deactivates the output of that flip-flop, but does not (of course) affect the external input signal. Reads from GICC_IAR will also deactivate the flip-flop output. This requires us to track the state of the level-input separately from the state in the flip-flop. We therefore introduce two new variables on the distributor struct to track these two states. Astute readers may notice that this is introducing more state than required (because an OR of the two states gives you the pending state), but the remaining vgic code uses the pending bitmap for optimized operations to figure out, at the end of the day, if an interrupt is pending or not on the distributor side. Refactoring the code to consider the two state variables all the places where we currently access the precomputed pending value, did not look pretty. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit cced50c9280ef7ca1af48080707a170efa1adfa0 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Sat Jun 14 22:37:33 2014 +0200 arm/arm64: KVM: vgic: Clear queued flags on unqueue If we unqueue a level-triggered interrupt completely, and the LR does not stick around in the active state (and will therefore no longer generate a maintenance interrupt), then we should clear the queued flag so that the vgic can actually queue this level-triggered interrupt at a later time and deal with its pending state then. Note: This should actually be properly fixed to handle the active state on the distributor. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit dbf20f9d8105cca531614c8bff9a74351e8e67e7 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Mon Jun 9 12:55:13 2014 +0200 arm/arm64: KVM: Rename irq_active to irq_queued We have a special bitmap on the distributor struct to keep track of when level-triggered interrupts are queued on the list registers. This was named irq_active, which is confusing, because the active state of an interrupt as per the GIC spec is a different thing, not specifically related to edge-triggered/level-triggered configurations but rather indicates an interrupt which has been ack'ed but not yet eoi'ed. Rename the bitmap and the corresponding accessor functions to irq_queued to clarify what this is actually used for. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 227844f53864077ccaefe01d0960fcccc03445ce Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Mon Jun 9 12:27:18 2014 +0200 arm/arm64: KVM: Rename irq_state to irq_pending The irq_state field on the distributor struct is ambiguous in its meaning; the comment says it's the level of the input put, but that doesn't make much sense for edge-triggered interrupts. The code actually uses this state variable to check if the interrupt is in the pending state on the distributor so clarify the comment and rename the actual variable and accessor methods. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit a875dafcf9b6b266c855e1f9b0aa060ef585d38a Merge: 0ba0951 f51770e Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Thu Sep 18 18:15:32 2014 -0700 Merge remote-tracking branch 'kvm/next' into queue Conflicts: arch/arm64/include/asm/kvm_host.h virt/kvm/arm/vgic.c commit 6b654af5e694754672894c134eb50cfa2b79dc2e Merge: 8337486 3840a65 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 19 10:41:12 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next single AGP fix * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: fix AGP userptr handling commit dd56af42bd829c6e770ed69812bd65a04eaeb1e4 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 20:25:06 2014 -0700 rcu: Eliminate deadlock between CPU hotplug and expedited grace periods Currently, the expedited grace-period primitives do get_online_cpus(). This greatly simplifies their implementation, but means that calls to them holding locks that are acquired by CPU-hotplug notifiers (to say nothing of calls to these primitives from CPU-hotplug notifiers) can deadlock. But this is starting to become inconvenient, as can be seen here: https://lkml.org/lkml/2014/8/5/754. The problem in this case is that some developers need to acquire a mutex from a CPU-hotplug notifier, but also need to hold it across a synchronize_rcu_expedited(). As noted above, this currently results in deadlock. This commit avoids the deadlock and retains the simplicity by creating a try_get_online_cpus(), which returns false if the get_online_cpus() reference count could not immediately be incremented. If a call to try_get_online_cpus() returns true, the expedited primitives operate as before. If a call returns false, the expedited primitives fall back to normal grace-period operations. This falling back of course results in increased grace-period latency, but only during times when CPU hotplug operations are actually in flight. The effect should therefore be negligible during normal operation. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Tested-by: Lan Tianyu <tianyu.lan@xxxxxxxxx> commit 3840a656f61fdc504f1b0c6617f6af800d551efe Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Sep 17 04:00:05 2014 -0600 drm/radeon: fix AGP userptr handling AGP mappings are not cache coherent, so userptr support won't work. Additional to that the AGP implementation uses a different ttm_tt container structure so we run into problems if we cast the pointer without checking if it's the right type. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 5e1344eb3f4804d2d50195e197fcbcdbd60ad049 Author: Johan Rudholm <johan.rudholm@xxxxxxxx> Date: Wed Sep 17 09:50:42 2014 +0200 mmc: block: change stop errors to info Stop command errors are not fatal to the transfer since we make sure that the card returns to the transfer state and check the card status. Change an unnecessary error to an info. Signed-off-by: Johan Rudholm <johanru@xxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7e1fc19b29e925d4e567a708625dad1f0fb8bf16 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Sep 16 09:54:55 2014 +0200 mmc: dw_mmc: Remove unused function for !CONFIG_OF dw_mci_of_find_slot_node() is only used in dw_mci_of_get_slot_quirks() if CONFIG_OF is defined, thus there is no need to have a !CONFIG_OF version of it. Fixes the following compile warning with !CONFIG_OF: CC [M] drivers/mmc/host/dw_mmc.o drivers/mmc/host/dw_mmc.c:2223:28: warning: â??dw_mci_of_find_slot_nodeâ?? defined but not used [-Wunused-function] Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 994324bbabc7e9dce75322bbf839b846aca8e1d6 Author: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Date: Mon Sep 15 17:47:11 2014 +0200 mmc: Checks EXT_CSD_PARTITION_SETTING_COMPLETED before partitions computation Checks EXT_CSD_PARTITION_SETTING_COMPLETED bit before computing enhanced user area offset and size, and adding mmc general purpose partitions. The two needs EXT_CSD_PARTITION_SETTING_COMPLETED bit be set to be valid (as described in JEDEC standard). Warn user in case of misconfiguration. Signed-off-by: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 69803d4f487fc60ce740f1fe1f0d2092d97277b6 Author: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Date: Mon Sep 15 17:47:09 2014 +0200 mmc: Replace "enhanced_area_en" attribute by "partition_setting_completed" Replace ext_csd "enhanced_area_en" attribute by "partition_setting_completed". It was used whether or not enhanced user area is defined and without checks of EXT_CSD_PARTITION_SETTING_COMPLETED bit. Signed-off-by: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b4493eea4a6561bd9fa57aaa2f7d2b5ea31a1f2e Author: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Date: Mon Sep 15 17:47:06 2014 +0200 mmc: Move code that manages user area and gp partitions into functions Move code that manages user area and general purpose partitions into functions. Signed-off-by: Grégory Soutadé <gsoutade@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f6e63f90809946d410c42045577cb159fedabf8c Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 18 17:12:30 2014 -0400 ext4: fold ext4_nojournal_sops into ext4_sops There's no longer any need to have a separate set of super_operations for nojournal mode. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit bb0445765866e5b1607af81e2f48ca5a8efbeed8 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 18 17:12:02 2014 -0400 ext4: support freezing ext2 (nojournal) file systems Through an oversight, when we added nojournal support to ext4, we didn't add support to allow file system freezing. This is relatively easy to add, so let's do it. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reported-by: Dexuan Cui <decui@xxxxxxxxxxxxx> commit bda3253043c54a705c8352096194ab6216e2e5c1 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 18 16:12:37 2014 -0400 ext4: fold ext4_sync_fs_nojournal() into ext4_sync_fs() This allows us to eliminate duplicate code, and eventually allow us to also fold ext4_sops and ext4_nojournal_sops together. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 73e3f1eb51888303389f2dc2219c97ce34ca6db0 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Thu Sep 18 12:57:47 2014 +0530 spi: pl022: Add missing error check for devm_kzalloc Currently this driver is missing a check on the return value of devm_kzalloc, which would cause a NULL pointer dereference in a OOM situation. This patch adds a missing check. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 88d5e520aa9701eb3e4f46165e02097cc03d363a Author: abdoulaye berthe <berthe.ab@xxxxxxxxx> Date: Sat Jul 12 22:30:14 2014 +0200 driver:gpio remove all usage of gpio_remove retval in driver this remove all reference to gpio_remove retval in all driver except pinctrl and gpio. the same thing is done for gpio and pinctrl in two different patches. Signed-off-by: Abdoulaye Berthe <berthe.ab@xxxxxxxxx> Acked-by: Michael Büsch <m@xxxxxxx> Acked-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Acked-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Acked-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e13426bf249b4928ad914c9ddf7f8b7e5a93e1c6 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 18 21:49:38 2014 +0800 regulator: fan53555: Fix null pointer dereference Set di->regulator before dereference it. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fe230531b3f94f33e5a4c0b201b651188c6cc132 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 18 21:48:48 2014 +0800 regulator: fan53555: Fixup report wrong vendor message Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0da0e227477fdf7c7712ab973621630ba88aebcb Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 13 21:59:19 2014 +0200 ARM: pxa3xx: provide specific platform_devices for all ssp ports Currently, devices for SSP ports 1, 2 and 3 are registered as compatible devices to pxa27x-ssp. While the actual IP core is comparable, there are some subtle differences which users of the SSP ports address by looking at the 'type' field. By registering devices of type 'pxa27x-ssp', this 'type' field is incorrectly set to PXA27x_SSP which confuses the users. To fix this, provide specific ssp port plaform devices which use 'pxa3xx-ssp' as driver name, an instantiate them from pxa3xx.c. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> commit 6f0243a1ec55e7140f69629b53e105d0715ef31b Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 13 21:59:18 2014 +0200 ARM: pxa: ssp: provide platform_device_id for PXA3xx Provide an explicit match string for PXA3xx SSP ports. Without this match string, SSP0/SSP1/SSP2 in PXA3xxx will be consided as PXA27x SSP Port. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> commit 6e64b6ccc1e46932768e3bb8974fc2e5589bca7a Author: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Date: Thu Sep 18 15:12:20 2014 +0530 regmap: fix NULL pointer dereference in regmap_get_val_endian Recents commits for getting reg endianness causing NULL pointer dereference if dev is passed NULL in regmap_init_mmio. This patch fixes this issue, and allows to parse reg endianness only if dev and dev->of_node exist. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7a08cf77dbb976cec39c300201cebfee94552f54 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Thu Aug 14 11:46:13 2014 +0200 ARM: pxa: dts: fix ohci controller compatible string The vendor prefix was renamed from "mrvl" to "marvell". Follow this change in the dts file. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> commit 2bf172cfddee1fc7012980edc97f62526f65281a Author: Daniel Mack <zonque@xxxxxxxxx> Date: Thu Aug 14 11:46:12 2014 +0200 ARM: pxa: dts: fix mmc controller compatible string The vendor prefix was renamed from "mrvl" to "marvell". Follow this change in the dts file. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> commit 52de4779f201758ddcf37360f09a16895756e708 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Thu Sep 18 16:03:36 2014 +0800 cpuset: simplify proc_cpuset_show() Use the ONE macro instead of REG, and we can simplify proc_cpuset_show(). Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 006f4ac49742b5f70ef7e39176fd42a500144ccc Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Thu Sep 18 16:03:15 2014 +0800 cgroup: simplify proc_cgroup_show() Use the ONE macro instead of REG, and we can simplify proc_cgroup_show(). Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 971ff49355387fef41d1327434d8939721a4eb35 Author: Zefan Li <lizefan@xxxxxxxxxx> Date: Thu Sep 18 16:06:19 2014 +0800 cgroup: use a per-cgroup work for release agent Instead of using a global work to schedule release agent on removable cgroups, we change to use a per-cgroup work to do this, which makes the code much simpler. v2: use a dedicated work instead of reusing css->destroy_work. (Tejun) Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f53e3c538da314913e5d3d82c9610f8da42bd894 Author: Lucas Weaver <l-weaver@xxxxxx> Date: Tue Aug 19 08:54:00 2014 -0500 ARM: dts: DRA7: Add PMU nodes DRA74x and DRA72x family of processors vary slightly in the number of CPUs. So, add different instances of PMU for each of these processor groups. Further, since the interrupts bypass crossbar and are directly connected to GIC, mark the dts nodes with relevant information. Tested with perf utility. Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Lucas Weaver <l-weaver@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3d0cb73e9c85e60206ea9d5191bc0b9a0c4c8a99 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Sep 13 11:31:16 2014 -0700 arm: mach-omap2: Convert pr_warning to pr_warn Use the more common pr_warn. Other miscellanea: o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 175655bd79b815f2b2035f3b44117c60be90e1d4 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Tue Sep 16 17:36:28 2014 -0700 ARM: OMAP: Remove unused pieces of legacy DMA API We're moving to the dmaengine API, so let's remove the unused pieces of the omap legacy DMA code to make sure we don't get any new users for these: omap_set_dma_color_mode omap_set_dma_src_index omap_set_dma_dest_index omap_dma_unlink_lch omap_clear_dma omap_dma_running omap_dma_set_prio_lch omap_set_dma_dst_endian_type omap_set_dma_src_endian_type omap_get_dma_index omap_dma_disable_irq omap_request_dma_chain omap_free_dma_chain omap_dma_chain_a_transfer omap_start_dma_chain_transfers omap_stop_dma_chain_transfers omap_get_dma_chain_index omap_get_dma_chain_dst_pos omap_get_dma_chain_src_pos omap_modify_dma_chain_params omap_dma_chain_status Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1306c08a7cd7e6136490ab2bc728d2c39741003e Author: Rajendra Nayak <rnayak@xxxxxx> Date: Wed Sep 10 11:04:04 2014 -0500 ARM: OMAP4+: Remove static iotable mappings for SRAM In order to handle errata I688, a page of sram was reserved by doing a static iotable map. Now that we use gen_pool to manage sram, we can completely remove all of these static mappings and use gen_pool_alloc() to get the one page of sram space needed to implement errata I688. omap_bus_sync will be NOP until SRAM initialization happens. Suggested-by: Sekhar Nori <nsekhar@xxxxxx> Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8b9a2810b02e3d9806ba2bf307c8e8dcedaf902d Author: Rajendra Nayak <rnayak@xxxxxx> Date: Wed Sep 10 11:04:03 2014 -0500 ARM: OMAP4+: Move SRAM data to DT Use drivers/misc/sram.c driver to manage SRAM on all DT only OMAP platforms (am33xx, am43xx, omap4 and omap5) instead of the existing private plat-omap/sram.c Address and size related data is removed from mach-omap2/sram.c and now passed to drivers/misc/sram.c from DT. Users can hence use general purpose allocator apis instead of OMAP private ones to manage and use SRAM. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 95369a73a957ad221f1d6b8f11a63a376f38c544 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Wed Sep 17 21:02:51 2014 +0200 eeepc-laptop: simplify parse_arg() parse_arg() has three possible return values: -EINVAL if sscanf(), in short, fails; zero if "count" is zero; and "count" in all other cases But "count" will never be zero. See, parse_arg() is called by the various store functions. And the callchain of these functions starts with sysfs_kf_write(). And that function checks for a zero "count". So we can stop checking for a zero "count", drop the "count" argument entirely, and transform parse_arg() into a function that returns zero on success or a negative error. That, in turn, allows to make those store functions just return "count" on success. The net effect is that the code becomes a bit easier to understand. A nice side effect is that this GCC warning is silenced too: drivers/platform/x86/eeepc-laptop.c: In function â??store_sys_acpiâ??: drivers/platform/x86/eeepc-laptop.c:279:10: warning: â??valueâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] int rv, value; Which is, of course, the reason to have a look at parse_arg(). Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 0616f4eeddd81a22f4a5f0cc09b0ad71b94404cf Author: Rajendra Nayak <rnayak@xxxxxx> Date: Wed Sep 10 11:04:02 2014 -0500 ARM: AM335x: Get rid of unused sram init function Remove the empty am33xx_sram_init() function. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> Signed-off-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d71c97e9371f690bd58e0051955f4262007840e7 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:01:08 2014 -0700 ARM: omap2plus_defconfig: Enable some display features Now that we have panel support for DT based booting, let's make it usable and enable most things as modules. Note that omap3 boards need also the ads7847 module for the panel that we're now changing to a loadable module. And n900 seems to require setting the brightness via sysfs for acx565akm/brightness after modprobe of panel_sony_acx565akm and omapfb. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 111974506d81630cb329089850c17b2aaf2ac2ee Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:01:08 2014 -0700 ARM: omap2plus_defconfig: Enable battery and reset drivers Since many omaps run on battery, we should have the battery drivers enabled. Let's also enable the reset driver. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 673ce00c5d6cb9d49260b4cabeaf8972caee4c52 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:01:08 2014 -0700 ARM: omap2plus_defconfig: Add support for distros with systemd Some distros are now using systemd, so let's enable most of what's recommended at: http://cgit.freedesktop.org/systemd/systemd/tree/README Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4dd7933ad606af457bc85b1afdaaac68aa993abf Author: Erik van Luijk <evanluijk@xxxxxxxxxxx> Date: Tue Sep 2 12:52:12 2014 +0200 ARM: at91/dt: at91sam9m10g45ek add rtc node Add rtc node to both the at91sam9g45 SoC family and the at91sam9m10g45ek board. Signed-off-by: Erik van Luijk <evanluijk@xxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit be9d32e8ab4c1668abce1dae8ce4db9e9f3e874a Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:08 2014 +0300 ARM: dts: cm-t54: setup omap_dwc3 Add "extcon" and "vbus-supply" properties of DWC3 node. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1a3290b813ee71843480ece01493e23a2f4a807a Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:07 2014 +0300 ARM: dts: cm-t54: add ADS7846 touchscreen support Add ADS7846 touchscreen support. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ac84d6cc182971079df846c7814fbc5fd7b7e0f8 Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:06 2014 +0300 ARM: dts: cm-t54: add Startek LCD support Add DT support for Startek KD050C LCD 800x480 panel. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6097b5a5341614e36153d90189ac3ad75f19ce09 Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:05 2014 +0300 ARM: dts: cm-t54: add HDMI/DVI display data Add DSS related pinmux and display data nodes required to support HDMI and DVI video out on CM-T54. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit db5790f89f82759ba51a2c65969cb45befa61a00 Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:04 2014 +0300 ARM: dts: cm-t54: fix mux mode comment style Follow the comment style of mode0_name.modeX_name for pins which mux mode differs from MUX_MODE0. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 68dac838d3c3ae8e31bdd9ff512e2a4a111287d0 Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Wed Sep 17 15:10:03 2014 +0300 ARM: dts: sbc-t54: fix mux mode comment style Follow the comment style of mode0_name.modeX_name for pins which mux mode differs from MUX_MODE0. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7f5736c31bc9ec539fcb404292ee7e494922c07c Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:03:36 2014 -0700 ARM: dts: Enable PMIC idle configuration for LDP With the IO chain reconfigure fixed, we can now enable the PMIC scripts for LDP. Note that at least on my es3.0 based LDP, the UART seems to be flakey after wake-up events from off-idle and hangs but eventually continues. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 271d4c6bc709d922e5f8913bcb64d6c53a752e31 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:03:36 2014 -0700 ARM: dts: Add support for Ethernet on some N900 macro boards As we have support for this in board-rx51-peripherals.c, let's add it to the .dts files too. Note that the reset GPIO will eventually go to the driver. For now let's just pull it down and skip any further reset in case the bootloader has configured the MAC address so NFSroot works. Also note that after 3430-sdp are using proper GPMC timings we can remove the tests for smsc,lan91c94 in gpmc.c. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a4ff93c185787412936bc8414f14f50bdd56e546 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:03:36 2014 -0700 ARM: dts: Do not set pulls for I2C lines There are external pulls on these lines and enabling the internal pulls can cause issue. This is because the internal pulls are parallel with the external pulls. So let's clear the internal I2C pulls. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7c1babdcee6a99fcc61a9403b4c24baa6ef7cf1f Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:03:36 2014 -0700 ARM: dts: omap: Remove WAKEUPENABLE mux options for UARTs This is no longer needed as the device specific wake-up event can now be specified with interrupts-extended property where the second interrupt is the pinctrl-single register, such as the UART3 RX pin. Note that twl4030_omap3.dtsi needs to set WAKEUPENABLE for off-idle to properly trigger the PMIC scripts. And GPIO pins still need to set WAKEUPENABLE for wake-up events. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 28ce556b2eb5a38aecd8292ef7e1da4599766bd6 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:03:36 2014 -0700 ARM: dts: omap3-overo: Fix UART wake-up events Compared to legacy booting, we don't have wake-up events enabled for device tree based booting. This means that if deeper idle states are enabled, the device won't wake up to UART events and seems like it has hung. Let's fix that by adding the wake-up interrupt. Note that we don't need to set the PIN_OFF_WAKEUPENABLE any longer, that's handled by the wake-up interrupt when the serial driver does request_irq on it. Tested with the following on omap3-overo-summit that has the ES2.1 omap: #!/bin/bash uarts=$(find /sys/class/tty/ttyO*/device/power/ -type d) for uart in $uarts; do echo 3000 > $uart/autosuspend_delay_ms done uarts=$(find /sys/class/tty/ttyO*/power/ -type d) for uart in $uarts; do echo enabled > $uart/wakeup echo auto > $uart/control done echo 1 > /sys/kernel/debug/pm_debug/enable_off_mode # grep -i uart /proc/interrupts 90: 1085 INTC 74 OMAP UART2 338: 5 pinctrl 366 OMAP UART2 # grep ^core_pwrdm /sys/kernel/debug/pm_debug/count core_pwrdm (ON),OFF:1654,RET:131,INA:39,ON:1825... Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fdc509b15eb3eb2dd73e0e8651ae8927330d130c Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:01:07 2014 -0700 ARM: omap2plus_defconfig: Add cpufreq to defconfig Note that we can now use the CONFIG_GENERIC_CPUFREQ_CPU0, so let's only enable that. Let's use CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND as suggested by Nishant. And also let's enable thermal as explained by Nishant Menon: Many TI SoCs using Highest frequency is not really too nice of an idea for long periods of time. And not everything is upstream to support things optimially - example avs class 0, 1.5 ABB consolidation with cpufreq etc.. We definitely need thermal enabled as well for device safety needs. [tony@xxxxxxxxxxx: updated per Nishant's suggestions] Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d7c517b52edf12ffb4aaaeb76633ab00ec5089d0 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 09:01:07 2014 -0700 ARM: omap2plus_defconfig: Shrink with savedefconfig This saves few lines and makes it easier to make patches against omap2plus_defconfig. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a2fc36613ac1af2e92cbed7af80bc72d8114dd50 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 08:58:49 2014 -0700 ARM: OMAP3: Use manual idle for UARTs because of DMA errata In sprz318f.pdf "Usage Note 2.7" says that UARTs cannot acknowledge idle requests in smartidle mode when configured for DMA operations. This prevents L4 from going idle. So let's use manual idle mode instead. Otherwise systems using Sebastian's 8250 patches with DMA will never enter deeper idle states because of the errata above. Cc: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6a08b11adda53b89d32d4becac4d7f062a0e2d99 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 18 08:58:28 2014 -0700 ARM: OMAP2+: Add hwmod flag for HWMOD_RECONFIG_IO_CHAIN Commit cc824534d4fe ("ARM: OMAP2+: hwmod: Rearm wake-up interrupts for DT when MUSB is idled") fixed issues with hung UART wake-up events by calling _reconfigure_io_chain() when MUSB is connected or disconnected. As pointed out by Paul Walmsley, we may need to also call _reconfigure_io_chain() in other cases, so it should be a separate flag. Let's add HWMOD_RECONFIG_IO_CHAIN as suggested by Paul. Reviewed-by: Paul Walmsley <paul@xxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 5eb596f55cacc2389554a8d7572d90d5e9d4269d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Sep 18 11:26:32 2014 +0300 Bluetooth: Fix setting correct security level when initiating SMP We can only determine the final security level when both pairing request and response have been exchanged. When initiating pairing the starting target security level is set to MEDIUM unless explicitly specified to be HIGH, so that we can still perform pairing even if the remote doesn't have MITM capabilities. However, once we've received the pairing response we should re-consult the remote and local IO capabilities and upgrade the target security level if necessary. Without this patch the resulting Long Term Key will occasionally be reported to be unauthenticated when it in reality is an authenticated one. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e0065cf719a9d84a05c9722d149c9ce8f0508a36 Author: Marek Roszko <mark.roszko@xxxxxxxxx> Date: Sat Aug 23 23:12:05 2014 -0400 ARM: at91/dt: sama5d3: use new pinctrl compatible string This switches the SAMA5D3 to use the new atmel,sama5d3-pinctrl id that was added with the drive strength options patch. Signed-off-by: Marek Roszko <mark.roszko@xxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> [nicolas.ferre@xxxxxxxxx: second compatible string kept as at91sam9x5] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8a85ba2075a5fde3bc4c69c3f972f5144522453c Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 10:43:57 2014 +0200 ARM: at91/dt: sama5d3: add the nfc clock The atmel_nand driver is now able to handle the nfc clock, add it to sama5d3. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e9f05b4cfed38d0e57b0a705a7f480cfbe0c3247 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Thu Sep 18 16:49:42 2014 +0200 drbd: use RB_DECLARE_CALLBACKS() to define augment callbacks The original code are the same as RB_DECLARE_CALLBACKS(). CC: Michel Lespinasse <walken@xxxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Andreas Gruenbacher <agruen@xxxxxxxxxx> Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 82cfb90bc99d7b7e0ec62d0505b9d4f06805d5db Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Thu Sep 18 16:49:41 2014 +0200 drbd: compute the end before rb_insert_augmented() Commit 98683650 "Merge branch 'drbd-8.4_ed6' into for-3.8-drivers-drbd-8.4_ed6" switches to the new augment API, but the new API requires that the tree is augmented before rb_insert_augmented() is called, which is missing. So we add the augment-code to drbd_insert_interval() when it travels the tree up to down before rb_insert_augmented(). See the example in include/linux/interval_tree_generic.h or Documentation/rbtree.txt. drbd_insert_interval() may cancel the insertion when traveling, in this case, the just added augment-code does nothing before cancel since the @this node is already in the subtrees in this case. CC: Michel Lespinasse <walken@xxxxxxxxxx> CC: stable@xxxxxxxxxx # v3.10+ Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Andreas Gruenbacher <agruen@xxxxxxxxxx> Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 97735da4e3fc2cad464994f615b0d2211f132497 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 12:14:20 2014 +0200 ARM: at91/dt: declare sckc node on at91sam9g45 Declare the SCKC (Slow Clock Configuration) block and its clks. Make use of the clk32k clk instead of slow_osc where appropriate. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 0a51d644c20f5c88fd3a659119d1903f74927082 Author: David Dueck <davidcdueck@xxxxxxxxxxxxxx> Date: Wed Sep 17 10:33:32 2014 +0200 ARM: at91/dt: Fix typo regarding can0_clk Otherwise the clock for can0 will never get enabled. Signed-off-by: David Dueck <davidcdueck@xxxxxxxxxxxxxx> Signed-off-by: Anthony Harivel <anthony.harivel@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.14 Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 9bd277300fd81d69c335fc6a48d1b802dac4c7c3 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Wed Jun 11 18:14:42 2014 +0800 ARM: at91/dt: at91sam9g20: switch ssc compatible string As the SSC integrate in at91sam9g20 support frame sync length extension, so switch compatible string to support this feature. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 496d3c2898cedf66530e057e68b54ffe5055154c Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Wed Jun 11 18:14:41 2014 +0800 ARM: at91/dt: at91sam9rl: switch ssc compatible string As the SSC integrate in at91sam9rl support frame sync length extension, so switch compatible string to support this feature. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 72a65a0d19c16de36e970ca6981732b5e8f7f4c4 Author: Felipe Balbi <balbi@xxxxxx> Date: Thu Sep 18 09:41:39 2014 -0500 Revert "usb: gadget: composite: dequeue cdev->req before free its buffer" This reverts commit be0a8887bb931af0e21531da20c41533effbb0d6. The original commit f2267089ea17fa97b796b1b4247e3f8957655df3 (usb: gadget: composite: dequeue cdev->req before free it in composite_dev_cleanup) ended up being reverted because it caused more issues then fixed. We will also revert this counter part commit so we start clean to properly add that idea back. Cc: Li Jun <b47624@xxxxxxxxxxxxx> Signed-of-by: Felipe Balbi <balbi@xxxxxx> commit 254a2d14fa77ac8a1b64f6171ec5f717f0753b53 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Wed Sep 17 21:36:41 2014 +0800 Btrfs: fix wrong parse of extent map's tracepoint The tracepoint of extent map doesn't parse @flag correctly, we set @flag via set_bit(), so we need to parse it on a bit bias. Also add the missing flag, EXTENT_FLAG_FS_MAPPING. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit e6c4efd87ab04e5ead363f24e6ac35ed3506d401 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Wed Sep 17 11:53:35 2014 +0800 btrfs: Fix and enhance merge_extent_mapping() to insert best fitted extent map The following commit enhanced the merge_extent_mapping() to reduce fragment in extent map tree, but it can't handle case which existing lies before map_start: 51f39 btrfs: Use right extent length when inserting overlap extent map. [BUG] When existing extent map's start is before map_start, the em->len will be minus, which will corrupt the extent map and fail to insert the new extent map. This will happen when someone get a large extent map, but when it is going to insert it into extent map tree, some one has already commit some write and split the huge extent into small parts. [REPRODUCER] It is very easy to tiger using filebench with randomrw personality. It is about 100% to reproduce when using 8G preallocated file in 60s randonrw test. [FIX] This patch can now handle any existing extent position. Since it does not directly use existing->start, now it will find the previous and next extent around map_start. So the old existing->start < map_start bug will never happen again. [ENHANCE] This patch will insert the best fitted extent map into extent map tree, other than the oldest [map_start, map_start + sectorsize) or the relatively newer but not perfect [map_start, existing->start). The patch will first search existing extent that does not intersects with the desired map range [map_start, map_start + len). The existing extent will be either before or behind map_start, and based on the existing extent, we can find out the previous and next extent around map_start. So the best fitted extent would be [prev->end, next->start). For prev or next is not found, em->start would be prev->end and em->end wold be next->start. With this patch, the fragment in extent map tree should be reduced much more than the 51f39 commit and reduce an unneeded extent map tree search. Reported-by: Tsutomu Itoh <t-itoh@xxxxxxxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1b68bdf9cded82d37e443a20c5ed47bbb084d5dc Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Fri Sep 12 19:35:56 2014 +0200 ima: detect violations for mmaped files This patch fixes the detection of the 'open_writers' violation for mmaped files. before) an 'open_writers' violation is detected if the policy contains a rule with the criteria: func=FILE_CHECK mask=MAY_READ after) an 'open_writers' violation is detected if the current event matches one of the policy rules. With the old behaviour, the 'open_writers' violation is not detected in the following case: policy: measure func=FILE_MMAP mask=MAY_EXEC steps: 1) open a shared library for writing 2) execute a binary that links that shared library 3) during the binary execution, modify the shared library and save the change result: the 'open_writers' violation measurement is not present in the IMA list. Only binaries executed are protected from writes. For libraries mapped in memory there is the flag MAP_DENYWRITE for this purpose, but according to the output of 'man mmap', the mmap flag is ignored. Since ima_rdwr_violation_check() is now called by process_measurement() the information about if the inode must be measured is already provided by ima_get_action(). Thus the unnecessary function ima_must_measure() has been removed. Changes in v3 (Dmitry Kasatkin): - Violation for MMAP_CHECK function are verified since this patch - Changed patch description a bit Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit f7a859ff7395c0ffe60f9563df5354473e5f9244 Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Fri Sep 12 19:35:55 2014 +0200 ima: fix race condition on ima_rdwr_violation_check and process_measurement This patch fixes a race condition between two functions that try to access the same inode. Since the i_mutex lock is held and released separately in the two functions, there may be the possibility that a violation is not correctly detected. Suppose there are two processes, A (reader) and B (writer), if the following sequence happens: A: ima_rdwr_violation_check() B: ima_rdwr_violation_check() B: process_measurement() B: starts writing the inode A: process_measurement() the ToMToU violation (a reader may be accessing a content different from that measured, due to a concurrent modification by a writer) will not be detected. To avoid this issue, the violation check and the measurement must be done atomically. This patch fixes the problem by moving the violation check inside process_measurement() when the i_mutex lock is held. Differently from the old code, the violation check is executed also for the MMAP_CHECK hook (other than for FILE_CHECK). This allows to detect ToMToU violations that are possible because shared libraries can be opened for writing while they are in use (according to the output of 'man mmap', the mmap() flag MAP_DENYWRITE is ignored). Changes in v5 (Roberto Sassu): * get iint if action is not zero * exit process_measurement() after the violation check if action is zero * reverse order process_measurement() exit cleanup (Mimi) Changes in v4 (Dmitry Kasatkin): * iint allocation is done before calling ima_rdrw_violation_check() (Suggested-by Mimi) * do not check for violations if the policy does not contain 'measure' rules (done by Roberto Sassu) Changes in v3 (Dmitry Kasatkin): * no violation checking for MMAP_CHECK function in this patch * remove use of filename from violation * removes checking if ima is enabled from ima_rdrw_violation_check * slight style change Suggested-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 6f98e892884c32b9273ecce1332b849bcad3b8b1 Merge: ac60ab4 21c7eae Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Thu Sep 18 23:52:46 2014 +1000 Merge branch 'smack-for-3.18' of git://git.gitorious.org/smack-next/kernel into next commit fe855dbfd3fde8fd3093e51992904e3c875a4a02 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Thu Sep 18 14:56:43 2014 +0200 ARM: at91: sama5d3xek: reserve dma channel for audio We set the DMA configuration on USARTs in the SoC DT in (ARM: at91: sama5d3: add usart dma configurations). As the audio must work with DMA channels, we reserve some dma channels for audio, or else audio won't work. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> [nicolas.ferre@xxxxxxxxx: move to the sama5d3xmb.dtsi to cover all board variants] Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit b9e742c3164344fece3615aca42ec51b41753908 Author: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Date: Wed Sep 17 11:34:17 2014 +0200 clk: tegra: Make clock initialization more robust Don't abort clock initialization if we cannot match an entry in tegra_clk_init_table to a valid entry in the clk array. Also log a corresponding error message. This was discovered when testing a patch that removed the EMC clock from tegra124_clks but left a mention in tegra_clk_init_table. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Reviewed-by: Stephen Warren <swarren@xxxxxxxxxx> commit 8337486a8fda53e5f46b3cb2b4eb3272608348cb Merge: 109ab90 96c0269 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 17 19:55:19 2014 +1000 Merge branch 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev into drm-next Commit "drm/rcar-du: Use struct videomode in platform data" touches board code in arch/arm/mach-shmobile. There is, to the best of my knowledge, no risk of conflict for v3.18. Simon, are you fine with getting those changes merged through Dave's tree (and could you confirm that no conflict should occur) ? Simon acked the merge: Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> * 'drm/next/du' of git://linuxtv.org/pinchartl/fbdev: drm/rcar-du: Add OF support drm/rcar-du: Use struct videomode in platform data video: Add DT bindings for the R-Car Display Unit video: Add THC63LVDM83D DT bindings documentation video: Add ADV7123 DT bindings documentation video: Add DT binding documentation for VGA connector devicetree: Add vendor prefix "thine" to vendor-prefixes.txt devicetree: Add vendor prefix "mitsubishi" to vendor-prefixes.txt drm/shmob: Update copyright notice drm/rcar-du: Update copyright notice commit 6fbac83952f85b7d1c7ad674eb7c65d206da2c66 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:13:01 2014 +0000 ixgbe: remove IXGBE_FLAG_MSI(X)_CAPABLE flags They were not used, and we don't need them, so we shouldn't bother with keeping values in the flags field that could be misleading. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d786cf7b42115fcf7e186397439453f5b3a4ebc5 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:13:00 2014 +0000 ixgbe: add warnings for other disabled features without MSI-X support When we can't get MSI-X vectors, we disable a few features which require MSI-X vectors. Print warnings just like we do when disabling DCB. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5d31b48a42be3a592e4c22303041d12cd4d88c0a Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:59 2014 +0000 ixgbe: use e_dev_warn instead of netif_printk Again, we should not be directly using netif_printk, as we have our own error print routines that we generate. In addition, instead of using an early return we can just use the else block of this one line if statement. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c1c55f63a5137e1e8d7d9cbf52a3873059768c09 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:58 2014 +0000 ixgbe: use e_dev_warn instead of e_err for displaying warning In this case, disabling DCB is not an error. We can still function, but we just have to let the user know. In addition, since we call this during probe before allocating our netdevice structure, we should use e_dev_warn instead of e_warn. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4c495c204f794125db11e74bd61228901b0acaa7 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Fri Jul 11 17:18:29 2014 +0300 clk: tegra124: Add PLL_M_UD and PLL_C_UD clocks These clocks are used as parents for some EMC timings. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> commit 3bcf344657afefdd468dd9c2b30a009ee7ce7abc Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:57 2014 +0000 ixgbe: determine vector count inside ixgbe_acquire_msix_vectors Our calculated v_budget doesn't matter except if we allocate MSI-X vectors. We shouldn't need to calculate this outside of the function, so don't. Instead, only calculate it once we attempt to acquire MSI-X vectors. This helps collocate all of the MSI-X vector code together. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d364a77d02071355edbd5ee26c248b1ea75c653c Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Fri Jul 11 17:18:28 2014 +0300 ARM: tegra: Add PLL_M_UD and PLL_C_UD to tegra124-car binding header Add these clocks to the binding header so that EMC timings that have them as parent can refer to the clocks. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> commit 027bb561eff4a5c2185d3cbad6a41785eb50dded Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:56 2014 +0000 ixgbe: move msix_entries allocation into ixgbe_acquire_msix_vectors We already have to kfree this value if we fail, and this is only part of MSI-X mode, so we should simply allocate the value where we need it. This is cleaner, and makes it a lot more obvious why we are freeing it inside of ixgbe_acquire_msix_vectors. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d7de3c6e8154c0d0398127bcc09977e260fdff55 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:55 2014 +0000 ixgbe: return integer from ixgbe_acquire_msix_vectors Similar to how ixgbevf handles acquiring MSI-X vectors, we can return an error code instead of relying on the flag being set. This makes it more clear that we have failed to setup MSI-X mode, and also will make it easier to consolidate MSI-X related code all into the single function. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 493043e5273b93b9f9a674cd554bb3757a800f10 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Wed Sep 3 08:12:54 2014 +0000 ixgbe: use e_dev_warn instead of netif_printk The netif_printk relies on our netdevice structure to be registered already. We may call ixgbe_acquire_msix_vectors prior to registering our netdevice, so we should not use the netdevice specific printk. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d52349337392b122a1bcd57d191e2a0329b2d9b2 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Sat Aug 9 07:02:09 2014 +0000 ixgbe: Do not schedule an uninitialized workqueue entry If a hardware Tx timestamp is requested, an uninitialized workqueue entry may be scheduled, especially on an 82598 adapter. Add a check for a PTP clock to avoid that. Also only apply the unlikely to the first term of the conditional. That will make the rest of the checks be in the cold path. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Acked-by: Matthew Vick <matthew.vick@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit d38e92481bf3fe15a9d253a1a1aaa5a71358938a Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Jul 29 09:40:09 2014 +0000 ixgbe: remove useless bd_number from adapter struct Because bd_number is not useful anymore, so remove it from adapter struct, or if keep it, we have to fix the boards driven counter bug in ixgbe_remove() and ixgbe_probe() only for trivial debug purpose -- other output is enough. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 8d34b31e0ed452485d30658a67f7f8136f13c923 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Jul 29 09:44:01 2014 +0000 ixgbevf: remove useless bd_number from struct ixgbevf_adapter It is useless and buggy, just remove it. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit fcfa8f493f4b52b99c29067c4eed8887af9ed951 Merge: 07034ae bc18d37 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 18 10:57:46 2014 +0200 Merge branch 'ipvs-next' Simon Horman says: ==================== This pull requests makes the following changes: * Add simple weighted fail-over scheduler. - Unlike other IPVS schedulers this offers fail-over rather than load balancing. Connections are directed to the appropriate server based solely on highest weight value and server availability. - Thanks to Kenny Mathis * Support IPv6 real servers in IPv4 virtual-services and vice versa - This feature is supported in conjunction with the tunnel (IPIP) forwarding mechanism. That is, IPv4 may be forwarded in IPv6 and vice versa. - The motivation for this is to allow more flexibility in the choice of IP version offered by both virtual-servers and real-servers as they no longer need to match: An IPv4 connection from an end-user may be forwarded to a real-server using IPv6 and vice versa. - Further work need to be done to support this feature in conjunction with connection synchronisation. For now such configurations are not allowed. - This change includes update to netlink protocol, adding a new destination address family attribute. And the necessary changes to plumb this information throughout IPVS. - Thanks to Alex Gartrell and Julian Anastasov ==================== Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 689f1c9de2abbd76fda224d12cea5f43568a4335 Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 18 16:38:18 2014 +0800 ipsec: Remove obsolete MAX_AH_AUTH_LEN While tracking down the MAX_AH_AUTH_LEN crash in an old kernel I thought that this limit was rather arbitrary and we should just get rid of it. In fact it seems that we've already done all the work needed to remove it apart from actually removing it. This limit was there in order to limit stack usage. Since we've already switched over to allocating scratch space using kmalloc, there is no longer any need to limit the authentication length. This patch kills all references to it, including the BUG_ONs that led me here. Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit b25f32cb02155d68c690255ba846796a1c248fd3 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:49 2014 +0300 ath10k: use ether_addr_copy() As suggeested by checkpatch: WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2) In wmi.c I had to change due to sparse warnings copying of struct wmi_mac_addr from form &cmd->peer_macaddr.addr to cmd->peer_macaddr.addr. In ath10k_wmi_set_ap_ps_param() I also added the missing ".addr" to the copy command. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 75cb96d3eb6d1eb16e48931e987c1a7770b4758e Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:44 2014 +0300 ath10k: reformat help text in ath10k_read_simulate_fw_crash() Makes it more readable and fixes checkpatch warnings: drivers/net/wireless/ath/ath10k/debug.c:593: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:594: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:595: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:596: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:597: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:599: WARNING: quoted string split across lines drivers/net/wireless/ath/ath10k/debug.c:600: WARNING: quoted string split across lines Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8cc7f26c782e4f5c6c844eb32400bd6848b902db Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:39 2014 +0300 ath10k: miscellaneous checkpatch fixes Fixes checkpatch warnings: ath10k/htc.c:49: WARNING: Possible unnecessary 'out of memory' message ath10k/htc.c:810: WARNING: Possible unnecessary 'out of memory' message ath10k/htt.h:1034: CHECK: Please use a blank line after function/struct/union/enum declarations ath10k/htt_rx.c:135: CHECK: Unnecessary parentheses around htt->rx_ring.alloc_idx.vaddr ath10k/htt_rx.c:173: CHECK: Unnecessary parentheses around htt->rx_ring.alloc_idx.vaddr ath10k/pci.c:633: WARNING: macros should not use a trailing semicolon ath10k/wmi.c:3594: WARNING: quoted string split across lines Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d8bb26b964038a465a944a393e83d7fb9f0c5f28 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:33 2014 +0300 ath10k: else is not generally useful after a break or return Fixes checkpatch warnings: WARNING: else is not generally useful after a break or return Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit ac04506c73d19dc8bdc167f79eef05d6bae5b644 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:28 2014 +0300 ath10k: don't use return on void functions Fixes a checkpatch warning: WARNING: void function return statements are not generally useful Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cfbc06a95b4ad6fd2462fa6505a49424db3cf54f Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:23 2014 +0300 ath10k: fix space after a cast style errors Fixes checkpatch warnings: CHECK: No space is necessary after a cast Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit af762c0b0de586937409346d94d1f09035a5e64f Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:17 2014 +0300 ath10k: fix missing a blank line after declarations Fixes checkpatch warnings: WARNING: Missing a blank line after declarations Please note that some of the cases I fixed by moving the variable declarations to the beginning of the function, which is the preferred style in ath10k. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c6e2e60e858efa8dd92d94f5d442068fb12b9967 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:11 2014 +0300 ath10k: fix use of multiple blank lines Fixes checkpatch warnings: CHECK: Please don't use multiple blank lines Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5b07e07fd0a9432b6910badfdb084112be4390af Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:06 2014 +0300 ath10k: fix checkpatch warnings about parenthesis alignment CHECK: Alignment should match open parenthesis Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit bd8bdbb6902491518f36491a6bac9b6e2cdb0b60 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:50:00 2014 +0300 ath10k: fix parenthesis alignment warning in ath10k_htt_rx_alloc() Fixes checkpatch warning: ath10k/htt_rx.c:519: CHECK: Alignment should match open parenthesis Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a81b4708838261784fa473582607a6c687c39d00 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Fri Aug 29 20:00:51 2014 +0900 mtd: denali: fix include guard and license block of denali.h It looks like this header file is a concatenation of two headers. Anyway, the include guard should be renamed and placed at the correct postion and the license block in the middle should be deleted. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2ac63d901b1170fba509ae135d5f5f4472b84819 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 13:55:34 2014 +0200 mtd: nand: don't break long print messages This follows Chapter 2 of Linux's CodingStyle: > However, never break user-visible strings such as printk messages, > because that breaks the ability to grep for them. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b7ab610f628a381a1029d214476742d8589f1e02 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 11:28:24 2014 +0200 mtd: bcm47xxnflash: replace some magic numbers Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit dfbd7dda0b8dc0bb2b255d173f4e8ffbe24c5764 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 09:14:16 2014 +0200 mtd: bcm47xxnflash: NAND_CMD_RESET support Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 90de63324f0abc84f8c1ba56b2848c338cfda1cd Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 09:14:15 2014 +0200 mtd: bcm47xxnflash: add cmd_ctrl handler This won't be used by NAND subsystem as we implement cmdfunc on our own, but will allow us to write a bit cleaner code. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 39d36536d4e89461c0733a48d5ffc9b730751983 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:21 2014 +0300 spi/pxa2xx-pci: Add support for Intel Braswell Instead of one port we have 3 ports and all of them can take advantage of the shared DMA controller. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b729bf34535ed413667b397a2f59cfa81266facf Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:19 2014 +0300 spi/pxa2xx: Don't use slave_id of dma_slave_config That field has been deprecated in favour of getting the necessary information from ACPI/DT. However, we still need to deal systems that are PCI only (no ACPI to back up). In order to support such systems, we allow the DMA filter function and its corresponding parameter via pxa2xx_spi_master platform data. Then when the pxa2xx_spi_dma_setup() doesn't find the channel via ACPI, it falls back to use the given filter function. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5282a3acbfa5295f331696e603a9fd6be3bd4094 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 09:14:14 2014 +0200 mtd: bcm47xxnflash: add dev_ready and fill chip_delay Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 785e5e111f2187ea3e6f4035f6009da62dd5c043 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Aug 19 09:14:13 2014 +0200 mtd: bcm47xxnflash: fix typo in freq calculation We are supposed to mask value, not multiply it. Add some comments btw. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 024629fdca1bbb44a25d40c2362a878a7a67ce3b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Aug 18 20:20:27 2014 +0200 mtd: bcm47xxpart: find NVRAM partitions in middle blocks Old devices used to have NVRAM at the very end of flash and they could be unaligned (starting at some offset in a block). In new devices NVRAM can be located quite randomly, however it seems to always start at the beginning of a block. For example Netgear R6250 has NVRAM located right after the bootloader, before the kernel partition. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a0a53a43ef51374c144a5f19f3f90c43aed76857 Merge: 2989708 afa93c9 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Thu Sep 18 11:43:50 2014 +0530 Merge commit 'tags/spi-pxa2xx-clk' into for-linus commit 022a478ce650f5c36d2a9badfd805368a90fb506 Author: Wu, Josh <Josh.wu@xxxxxxxxx> Date: Fri Aug 8 17:12:35 2014 +0800 mtd: atmel_nand: remove pmecc_bytes_per_sector, use chip->ecc.bytes instead For PMECC, the pmecc_bytes_per_sector has same meaning as ecc.bytes. So remove pmecc_bytes_per_sector and use ecc.bytes instead. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c9447fff34aacc04f2e7df39612d2d6e234643f3 Author: Wu, Josh <Josh.wu@xxxxxxxxx> Date: Fri Aug 8 17:12:34 2014 +0800 mtd: atmel_nand: remove pmecc_sector_number, use ecc.steps instead For PMECC, the pmecc_sector_number has same meaning as ecc.steps. So use ecc.steps to replace the pmecc_sector_number. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 279bf6d390933d5353ab298fcc306c391a961469 Author: Jan Kara <jack@xxxxxxx> Date: Thu Sep 18 01:12:15 2014 -0400 ext4: don't check quota format when there are no quota files The check whether quota format is set even though there are no quota files with journalled quota is pointless and it actually makes it impossible to turn off journalled quotas (as there's no way to unset journalled quota format). Just remove the check. CC: stable@xxxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 50849db32a9f529235a84bcc84a6b8e631b1d0ec Author: Jan Kara <jack@xxxxxxx> Date: Thu Sep 18 00:58:12 2014 -0400 jbd2: simplify calling convention around __jbd2_journal_clean_checkpoint_list __jbd2_journal_clean_checkpoint_list() returns number of buffers it freed but noone was using the value so just stop doing that. This also allows for simplifying the calling convention for journal_clean_once_cp_list(). Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit cc97f1a7c7eed970e674b84be0e68f479c80228d Author: Jan Kara <jack@xxxxxxx> Date: Thu Sep 18 00:42:16 2014 -0400 jbd2: avoid pointless scanning of checkpoint lists Yuanhan has reported that when he is running fsync(2) heavy workload creating new files over ramdisk, significant amount of time is spent in __jbd2_journal_clean_checkpoint_list() trying to clean old transactions (but they cannot be cleaned up because flusher hasn't yet checkpointed those buffers). The workload can be generated by: fs_mark -d /fs/ram0/1 -D 2 -N 2560 -n 1000000 -L 1 -S 1 -s 4096 Reduce the amount of scanning by stopping to scan the transaction list once we find a transaction that cannot be checkpointed. Note that this way of cleaning is still enough to keep freeing space in the journal after fully checkpointed transactions. Reported-and-tested-by: Yuanhan Liu <yuanhan.liu@xxxxxxxxxxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit bc18d37f676f76edbb5e0c37def78c704b5fbed0 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:39 2014 -0700 ipvs: Allow heterogeneous pools now that we support them Remove the temporary consistency check and add a case statement to only allow ipip mixed dests. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f18ae7206eaebfecc2dd8b017b0d6a0950eabf8b Author: Julian Anastasov <ja@xxxxxx> Date: Tue Sep 9 16:40:38 2014 -0700 ipvs: use the new dest addr family field Use the new address family field cp->daf when printing cp->daddr in logs or connection listing. Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 4d316f3f9ae3d5fad8d3198eec0a4ef2511471d7 Author: Julian Anastasov <ja@xxxxxx> Date: Wed Sep 17 00:09:00 2014 +0300 ipvs: use correct address family in scheduler logs Needed to support svc->af != dest->af. Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 3467e765a59241f8b0e488f4a6ef183547181f35 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:46:04 2014 +0100 ARM: remove unused do_unexp_fiq() function do_unexp_fiq() has never been called by any code in the last 10 years, it's about time it was removed! Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 7f038073c0a3e22e12344ab8b41d46547c072c82 Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Wed Sep 3 23:36:58 2014 +0100 ARM: remove extraneous newline in show_regs() Remove an unnecessary newline in show_regs(). Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit c0e7f7ee717e2b4c5791e7422424c96b5008c39e Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Sep 17 17:12:06 2014 +0100 ARM: 8150/3: fiq: Replace default FIQ handler This patch introduces a new default FIQ handler that is structured in a similar way to the existing ARM exception handler and result in the FIQ being handled by C code running on the SVC stack (despite this code run in the FIQ handler is subject to severe limitations with respect to locking making normal interaction with the kernel impossible). This default handler allows concepts that on x86 would be handled using NMIs to be realized on ARM. Credit: This patch is a near complete re-write of a patch originally provided by Anton Vorontsov. Today only a couple of small fragments survive, however without Anton's work to build from this patch would not exist. Thanks also to Russell King for spoonfeeding me a variety of fixes during the review cycle. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 8c3166f5d74b7936d29dc44f778e759c1b9fb43a Author: kiran.padwal@xxxxxxxxxxxxxxx <kiran.padwal@xxxxxxxxxxxxxxx> Date: Wed Sep 17 16:00:25 2014 +0530 ARM: DT: apq8064: Add i2c device nodes This patch adds i2c pinctrl DT node for IFC6410 board. It also adds necessary DT support for i2c eeprom which is present on IFC6410. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 0be5fef161151b8841d3e3d33d815695384a9451 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Wed Sep 17 06:39:35 2014 +0100 ARM: DT: apq8064: add support to sdcc4 for wlan. This patch adds sdcc4 node to enable wlan support on IFC6410 Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit bf7f6b0432871cb68f3e3f4961a33cc6be05bc75 Author: kiran.padwal@xxxxxxxxxxxxxxx <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Sep 16 17:15:38 2014 +0530 ARM: dts: qcom: Add I2C dt node for MSM8974 and DB8074 board Add support for i2c controller on the DB8074 board. It also adds necessary DT support for i2c eeprom which is present on DB8074 board. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit c435285df112da1125e61d826b03014a4e769386 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:50:01 2014 -0400 target: fix unused shift in core_scsi3_pri_report_capabilities Clearly a right-shift was meant. Effectively doesn't make a difference, as add_len is hard-coded to 8 and the high byte will be zero no matter which way you shift. But I hate leaving bad examples for others to copy. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit ce31c1b0dc4038a1dec64585d892adb73d9c45f4 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:50:00 2014 -0400 target: correctly handle match_int errors in FILEIO + PSCSI This patch correctly handles match_int() errors in FILEIO + PSCSI backend parameter parsing, which can potentially fail due to a memory allocation failure or invalid argument. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 68edbce4fb4b173d3b9880967cfcce0fc3abc8d5 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:59 2014 -0400 target: fix pr_out length in iscsi_parse_pr_out_transport_id Old code in iscsi_parse_pr_out_transport_id() was obviously buggy and effectively ignored the high byte. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 1481473b5656d8841f63c455594f340306c22cb0 Author: Joern Engel <joern@xxxxxxxxx> Date: Wed Sep 17 15:11:28 2014 -0700 target: simplify target_fabric_make_lun error path Coverity complained that lun_cg has been dereferenced in all paths leading to NULL check. It didn't mention that only a single path could lead there and the code can be simplified even further. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit da0abaee4793bac4047b3bdfd221fc54850bbf5f Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:57 2014 -0400 target: Fix memory leak on error in target_fabric_make_mappedlun This patch fixes a memory leak on error in target_fabric_make_mappedlun(), where se_lun_acl memory does not get released on exit. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0c8fc2c1210556434835adfb2274f41704853e8a Author: Li Zefan <lizefan@xxxxxxxxxx> Date: Wed Sep 17 18:19:24 2014 +0800 cgroup: remove bogus comments We never grab cgroup mutex in fork and exit paths no matter whether notify_on_release is set or not. Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 244bb9a6336d2aa53526261ec35c593ebd5c1a33 Author: Li Zefan <lizefan@xxxxxxxxxx> Date: Wed Sep 17 18:18:34 2014 +0800 cgroup: remove redundant code in cgroup_rmdir() We no longer clear kn->priv in cgroup_rmdir(), so we don't need to get an extra refcnt. Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6213daab2547fdc0d02a86abf3ac209ac6881ae3 Author: Li Zefan <lizefan@xxxxxxxxxx> Date: Wed Sep 17 18:18:09 2014 +0800 cgroup: remove some useless forward declarations Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9253b279f493a8bcb3d6ee8c934bdae4a21bd44e Merge: 251f8c0 aa32362 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Thu Sep 18 06:29:05 2014 +0900 Merge branch 'for-3.17-fixes' of ra.kernel.org:/pub/scm/linux/kernel/git/tj/cgroup into for-3.18 Pull to receive a4189487da1b ("cgroup: delay the clearing of cgrp->kn->priv") for the scheduled clean up patches. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 8d2135592d2ab5c8d7764a4f534afac64e563691 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:56 2014 -0400 target: Fix possible memory leak in aptpl_metadata parsing Each case of match_strdup could leak memory if the same argument was present before. I am not too concerned, as it would require a non-sensical combination like "target_lun=foo target_lun=bar", done with root privileges and even then leak just a few bytes per instance. But arg_p is different, as it will always leak memory. Let's plug that one. And while at it, replace some &args[0] with args. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit e5685730e2c620f97bc12380e9370e857e5bd7a7 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Wed Sep 17 16:42:58 2014 -0300 perf record: Use ring buffer consume method to look like other tools All builtins that consume events from perf's ring buffer now end up calling perf_evlist__mmap_consume(), which will allow unmapping the ring buffer when all the fds gets closed and all events in the buffer consumed. This is in preparation for the patchkit that will notice POLLHUP on perf events file descriptors. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8vhaeeoq11ppz0713el4xcps@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 664fee3dc37939bb8010906913fa9dbc52abb587 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Sep 17 08:41:01 2014 +0000 perf probe: Do not use dwfl_module_addrsym if dwarf_diename finds symbol name Do not use dwfl_module_addrsym if dwarf_diename can find the symbol name, since dwfl_module_addrsym can be failed on shared libraries. Without this patch ---- $ perf probe -x ../lib/traceevent/libtraceevent.so -V create_arg_op Failed to find symbol at 0x11df1 Failed to find the address of create_arg_op Error: Failed to show vars. ---- With this patch ---- $ perf probe -x ../lib/traceevent/libtraceevent.so -V create_arg_op Available variables at create_arg_op @<create_arg_op+0> enum filter_op_type btype struct filter_arg* arg ---- This bug was reported on linux-perf-users@xxxxxxxxxxxxxxxx Reported-by: david lerner <dlernerdroid@xxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: david lerner <dlernerdroid@xxxxxxxxx> Cc: linux-perf-user@xxxxxxxxxxxxxxx Cc: yrl.pp-manager.tt@xxxxxxxxxxx Link: http://permalink.gmane.org/gmane.linux.kernel.perf.user/1691 Link: http://lkml.kernel.org/r/20140917084101.3722.25299.stgit@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2b394bc4468c2f5e6814a8dbb2a923c0448f8497 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Sep 17 08:40:54 2014 +0000 perf probe: Do not access kallsyms when analyzing user binaries Do not access kallsyms to show available variables and show source lines in user binaries. This behavior always requires the root privilege when sysctl sets kernel.kptr_restrict=1, but we don't need it just for analyzing user binaries. Without this patch (by normal user, kptr_restrict=1): ---- $ perf probe -x ./perf -V add_cmdname Failed to init vmlinux path. Error: Failed to show vars. $ perf probe -x ./perf -L add_cmdname Failed to init vmlinux path. Error: Failed to show lines. ---- With this patch: ---- $ perf probe -x ./perf -V add_cmdname Available variables at add_cmdname @<perf_unknown_cmd_config+144> (No matched variables) @<list_commands_in_dir+160> (No matched variables) @<add_cmdname+0> char* name size_t len struct cmdnames* cmds $ perf probe -x ./perf -L add_cmdname <add_cmdname@/home/fedora/ksrc/linux-3/tools/perf/util/help.c:0> 0 void add_cmdname(struct cmdnames *cmds, const char *name, size_t len) 1 { 2 struct cmdname *ent = malloc(sizeof(*ent) + len + 1); 4 ent->len = len; 5 memcpy(ent->name, name, len); 6 ent->name[len] = 0; ... ---- Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: david lerner <dlernerdroid@xxxxxxxxx> Cc: linux-perf-user@xxxxxxxxxxxxxxx Cc: yrl.pp-manager.tt@xxxxxxxxxxx Link: http://lkml.kernel.org/r/20140917084054.3722.73975.stgit@xxxxxxxxxxxxxxxxxxxx [ Added missing 'bool user' argument to the !DWARF show_line_range() stub ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a3d3c53f738bb931e15b20d3dc5d23722b9ede6a Author: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> Date: Wed Sep 17 00:13:56 2014 +0300 intel-rst: Clean up ACPI add function There is no need to initialize the error since it is going to be assigned with the return status of at least on of the device_create_file() call. We can return directly in case the first file creation fails. All the labels for goto can be removed (along with the gotos) as well. Tell the compiler that the failures are unlikely so it can create better binaries. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit d46a76405fad48a7efc3faf07545fa886a3b271a Author: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> Date: Wed Sep 17 00:13:55 2014 +0300 intel-rst: Use ACPI_FAILURE() macro instead !ACPI_SUCCESS() for error checking ACPI_SUCCESS is defined as: #define ACPI_SUCCESS(a) (!(a)) There is no need for the the double ! since there is already a macro defined for failures: ACPI_FAILURE() Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 72a979f09fa9111fd6be8326e5f21319ff6918fb Author: Jan van den Berg <janvdberg@xxxxxxxxx> Date: Wed Sep 17 00:01:08 2014 +0200 x86: thinkpad_acpi.c: fixed spacing coding style issue Fixed 22 similar coding style issues: "ERROR: spaces required around that '?'" Signed-off-by: Jan van den Berg <janvdberg@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 93f8c16d635e6b1e3ea978e38e110391ce28b26f Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Sep 12 18:50:36 2014 -0600 toshiba_acpi: Support new keyboard backlight type Newer Toshiba models now come with a new (and different) keyboard backlight implementation with three modes of operation: TIMER, ON and OFF, and the LED is now controlled internally by the firmware. This patch adds support for that type of backlight, changing the existing code to accomodate the new implementation. The timeout value range is now 1-60 seconds, and the accepted modes are now: 1 (FN-Z), 2 (AUTO or TIMER), 8 (ON) and 10 (OFF), this adds two new entries kbd_type and available_kbd_modes, the first shows the keyboard type and the latter shows the supported modes depending on the keyboard type. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit c8a41669a76381f655f5567d3ccd8449a53f9a7f Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Wed Sep 10 21:01:57 2014 -0600 toshiba_acpi: Change touchpad store to check for invalid values The function toshiba_touchpad_store is not checking for invalid values and simply returns silently. This patch checks for invalid values and returns accordingly. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 12962878fbf9578b3d30ee4d8a5cd6632f26324c Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Sep 5 11:14:04 2014 -0600 toshiba_acpi: Fix illumination not available on certain models Some Toshiba models with illumination support set a different value on the returned codes, thus not allowing the illumination LED to be registered, where it should be. This patch removes a check from toshiba_illumination_available function to allow such models to register the illumination LED. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit 408a5d136b84f5fb43c9441153403d18255cb79c Author: Azael Avalos <coproscefalo@xxxxxxxxx> Date: Fri Sep 5 11:14:03 2014 -0600 toshiba_acpi: Additional hotkey scancodes Appart from reporting hotkeys, the INFO method is used as a system wide event notifier for hardware or software changes. This patch adds additional "events" to the keymap list, ignored by now, until we find them a good use. Signed-off-by: Azael Avalos <coproscefalo@xxxxxxxxx> Signed-off-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> commit fdc84d11a278d468052afc8e17523545fafe6c5f Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:55 2014 -0400 iscsi-target: use strlcpy in iscsit_collect_login_stats last_intr_fail_name is a fixed-size array and could theoretically overflow. In reality intrname->value doesn't seem to depend on untrusted input or be anywhere near 224 characters, so the overflow is pretty theoretical. But strlcpy is cheap enough. Found by coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 4d1a40c66bed0b3fa43b9da5fbd5cbe332e4eccf Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Sep 16 17:49:30 2014 +0800 Btrfs: fix up bounds checking in lseek An user reported this, it is because that lseek's SEEK_SET/SEEK_CUR/SEEK_END allow a negative value for @offset, but btrfs's SEEK_DATA/SEEK_HOLE don't prepare for that and convert the negative @offset into unsigned type, so we get (end < start) warning. [ 1269.835374] ------------[ cut here ]------------ [ 1269.836809] WARNING: CPU: 0 PID: 1241 at fs/btrfs/extent_io.c:430 insert_state+0x11d/0x140() [ 1269.838816] BTRFS: end < start 4094 18446744073709551615 [ 1269.840334] CPU: 0 PID: 1241 Comm: a.out Tainted: G W 3.16.0+ #306 [ 1269.858229] Call Trace: [ 1269.858612] [<ffffffff81801a69>] dump_stack+0x4e/0x68 [ 1269.858952] [<ffffffff8107894c>] warn_slowpath_common+0x8c/0xc0 [ 1269.859416] [<ffffffff81078a36>] warn_slowpath_fmt+0x46/0x50 [ 1269.859929] [<ffffffff813b0fbd>] insert_state+0x11d/0x140 [ 1269.860409] [<ffffffff813b1396>] __set_extent_bit+0x3b6/0x4e0 [ 1269.860805] [<ffffffff813b21c7>] lock_extent_bits+0x87/0x200 [ 1269.861697] [<ffffffff813a5b28>] btrfs_file_llseek+0x148/0x2a0 [ 1269.862168] [<ffffffff811f201e>] SyS_lseek+0xae/0xc0 [ 1269.862620] [<ffffffff8180b212>] system_call_fastpath+0x16/0x1b [ 1269.862970] ---[ end trace 4d33ea885832054b ]--- This assumes that btrfs starts finding DATA/HOLE from the beginning of file if the assigned @offset is negative. Also we add alignment for lock_extent_bits 's range. Reported-by: Toralf Förster <toralf.foerster@xxxxxx> Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a756024efea259282e65f3a00f512b094e805d76 Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Fri Sep 12 19:35:54 2014 +0200 ima: added ima_policy_flag variable This patch introduces the new variable 'ima_policy_flag', whose bits are set depending on the action of the current policy rules. Only the flags IMA_MEASURE, IMA_APPRAISE and IMA_AUDIT are set. The new variable will be used to improve performance by skipping the unnecessary execution of IMA code if the policy does not contain rules with the above actions. Changes in v6 (Roberto Sassu) * do not check 'ima_initialized' before calling ima_update_policy_flag() in ima_update_policy() (suggested by Dmitry) * calling ima_update_policy_flag() moved to init_ima to co-locate with ima_initialized (Dmitry) * add/revise comments (Mimi) Changes in v5 (Roberto Sassu) * reset IMA_APPRAISE flag in 'ima_policy_flag' if 'ima_appraise' is set to zero (reported by Dmitry) * update 'ima_policy_flag' only if IMA initialization is successful (suggested by Mimi and Dmitry) * check 'ima_policy_flag' instead of 'ima_initialized' (suggested by Mimi and Dmitry) Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit f612496bca664bff6a09a99a9a7506410b6e876e Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:44:04 2014 +0800 Btrfs: cleanup the read failure record after write or when the inode is freeing After the data is written successfully, we should cleanup the read failure record in that range because - If we set data COW for the file, the range that the failure record pointed to is mapped to a new place, so it is invalid. - If we set no data COW for the file, and if there is no error during writting, the corrupted data is corrected, so the failure record can be removed. And if some errors happen on the mirrors, we also needn't worry about it because the failure record will be recreated if we read the same place again. Sometimes, we may fail to correct the data, so the failure records will be left in the tree, we need free them when we free the inode or the memory leak happens. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8b110e393c5a6e72d50fcdf9fa7ed8b647cfdfc9 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:44:03 2014 +0800 Btrfs: implement repair function when direct read fails This patch implement data repair function when direct read fails. The detail of the implementation is: - When we find the data is not right, we try to read the data from the other mirror. - When the io on the mirror ends, we will insert the endio work into the dedicated btrfs workqueue, not common read endio workqueue, because the original endio work is still blocked in the btrfs endio workqueue, if we insert the endio work of the io on the mirror into that workqueue, deadlock would happen. - After we get right data, we write it back to the corrupted mirror. - And if the data on the new mirror is still corrupted, we will try next mirror until we read right data or all the mirrors are traversed. - After the above work, we set the uptodate flag according to the result. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 28e1cc7d1baf8038ae4ad4681c8f3dc94fcd7c00 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:44:02 2014 +0800 Btrfs: Set real mirror number for read operation on RAID0/5/6 We need real mirror number for RAID0/5/6 when reading data, or if read error happens, we would pass 0 as the number of the mirror on which the io error happens. It is wrong and would cause the filesystem read the data from the corrupted mirror again. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1203b6813ee84add8b4baa6d75e50ba85517e99c Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:44:01 2014 +0800 Btrfs: modify clean_io_failure and make it suit direct io We could not use clean_io_failure in the direct IO path because it got the filesystem information from the page structure, but the page in the direct IO bio didn't have the filesystem information in its structure. So we need modify it and pass all the information it need by parameters. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ffdd2018dd0bbfc0d9855ed811dba67201766a2d Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:44:00 2014 +0800 Btrfs: modify repair_io_failure and make it suit direct io The original code of repair_io_failure was just used for buffered read, because it got some filesystem data from page structure, it is safe for the page in the page cache. But when we do a direct read, the pages in bio are not in the page cache, that is there is no filesystem data in the page structure. In order to implement direct read data repair, we need modify repair_io_failure and pass all filesystem data it need by function parameters. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2fe6303e7cd099334cdb09370cece6bc168de131 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:59 2014 +0800 Btrfs: split bio_readpage_error into several functions The data repair function of direct read will be implemented later, and some code in bio_readpage_error will be reused, so split bio_readpage_error into several functions which will be used in direct read repair later. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 454ff3de42872870ffc3580b69132a9ef40f5cc5 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:58 2014 +0800 Btrfs: Cleanup unused variant and argument of IO failure handlers Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 6c387ab20db15f2bd448f7c508e2638101b16ea1 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:57 2014 +0800 Btrfs: fix missing error handler if submiting re-read bio fails We forgot to free failure record and bio after submitting re-read bio failed, fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c1dc08967f69c6b5067f8302c600f6628123f3bf Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:56 2014 +0800 Btrfs: do file data check by sub-bio's self Direct IO splits the original bio to several sub-bios because of the limit of raid stripe, and the filesystem will wait for all sub-bios and then run final end io process. But it was very hard to implement the data repair when dio read failure happens, because at the final end io function, we didn't know which mirror the data was read from. So in order to implement the data repair, we have to move the file data check in the final end io function to the sub-bio end io function, in which we can get the mirror number of the device we access. This patch did this work as the first step of the direct io data repair implementation. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dc380aea5fa4636fc498a351eb720943bc644451 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:55 2014 +0800 Btrfs: cleanup similar code of the buffered data data check and dio read data check Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 23ea8e5a07673127d05cb5cf6f9914d7a53e0847 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Fri Sep 12 18:43:54 2014 +0800 Btrfs: load checksum data once when submitting a direct read io The current code would load checksum data for several times when we split a whole direct read io because of the limit of the raid stripe, it would make us search the csum tree for several times. In fact, it just wasted time, and made the contention of the csum tree root be more serious. This patch improves this problem by loading the data at once. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c3929c3624e1764855e5a452728aec201b18b42a Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:47 2014 +0800 Btrfs: modify rw_devices counter under chunk_mutex context rw_devices counter is often used to tune the profile when doing chunk allocation, so we should modify it under the chunk_mutex context to avoid getting wrong chunk profile. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5f375835694426d00a7a4bc7fef72479578f279f Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:46 2014 +0800 Btrfs: move the missing device to its own fs device list For a missing device, we don't know it belong to which fs before we read its fsid from the chunk tree. So we add them into the current fs device list at first. When we get its fsid, we should move them to their own fs device list. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 416d7b802a8bc044e98dc8bd96b59ce7a02287ac Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:45 2014 +0800 Btrfs: stop mounting the fs if the non-ENOENT errors happen when opening seed fs When we open a seed filesystem, if the degraded mount option is set, we continue to mount the fs if we don't find some devices in the seed filesystem. But we should stop mounting if other errors happen. Fix it Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 82372bc816d75722c24d1abadb11cd8c0a33883a Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:44 2014 +0800 Btrfs: make the logic of source device removing more clear Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 67a2c45ee7f4f250458279a2e1244679c5d9735c Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:43 2014 +0800 Btrfs: fix use-after-free problem of the device during device replace The problem is: Task0(device scan task) Task1(device replace task) scan_one_device() mutex_lock(&uuid_mutex) device = find_device() mutex_lock(&device_list_mutex) lock_chunk() rm_and_free_source_device unlock_chunk() mutex_unlock(&device_list_mutex) check device Destroying the target device if device replace fails also has the same problem. We fix this problem by locking uuid_mutex during destroying source device or target device, just like the device remove operation. It is a temporary solution, we can fix this problem and make the code more clear by atomic counter in the future. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit adbbb8631beda8e4e5d2c964b8b47e04cfa0a2ae Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:42 2014 +0800 Btrfs: fix unprotected device list access when cloning fs devices We can build a new filesystem based a seed filesystem, and we need clone the fs devices when we open the new filesystem. But someone might clear the seed flag of the seed filesystem, then mount that filesystem and remove some device. If we mount the new filesystem, we might access a device list which was being changed when we clone the fs devices. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2196d6e8a71fc901e31c1d81581fc6cc6c64913e Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:41 2014 +0800 Btrfs: Fix misuse of chunk mutex There were several problems about chunk mutex usage: - Lock chunk mutex when updating metadata. It would cause the nested deadlock because updating metadata might need allocate new chunks that need acquire chunk mutex. We remove chunk mutex at this case, because b-tree lock and other lock mechanism can help us. - ABBA deadlock occured between device_list_mutex and chunk_mutex. When we update device status, we must acquire device_list_mutex at the beginning, and then we might get chunk_mutex during the device status update because we need allocate new chunks for metadata COW. But at most place, we acquire chunk_mutex at first and then acquire device list mutex. We need change the lock order. - Some place we needn't acquire chunk_mutex. For example we needn't get chunk_mutex when we free a empty seed fs_devices structure. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 15484377f597ca98ee84de87caa13667ea68bb14 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:40 2014 +0800 Btrfs: fix unprotected device list access when getting the fs information When we get the fs information, we forgot to acquire the mutex of device list, it might cause the problem we might access a device that was removed. Fix it by acquiring the device list mutex. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit fe48a5c00f3c8087fc0a447caee2b5f9f97cf238 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:39 2014 +0800 Btrfs: fix unprotected system chunk array insertion We didn't protect the system chunk array when we added a new system chunk into it, it would cause the array be corrupted if someone remove/add some system chunk into array at the same time. Fix it by chunk lock. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7cc8e58d53cd2295c3c1cee7b503bd1790ea4486 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:38 2014 +0800 Btrfs: fix unprotected device's variants on 32bits machine ->total_bytes,->disk_total_bytes,->bytes_used is protected by chunk lock when we change them, but sometimes we read them without any lock, and we might get unexpected value. We fix this problem like inode's i_size. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1c1161870c8bcb0d966ebbf1aec05a87a79a4175 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:37 2014 +0800 Btrfs: update free_chunk_space during allocting a new chunk We should update free_chunk_space in time when we allocate a new chunk, not when we deal with the pending device update and block group insertion, because we need the real free_chunk_space data to calculate the reserved space, if we don't update it in time, we would consider the disk space which has be allocated as free space, and would use it to do overcommit reservation. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 43530c46cc55cf5a381e788276a93c83cbc95e46 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:36 2014 +0800 Btrfs: fix unprotected device->bytes_used update We should update device->bytes_used in the lock context of chunk_mutex, or we would get wrong data. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5d778aaeb013bf819d00e33de7c673c04b5c4886 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:35 2014 +0800 Btrfs: Fix wrong free_chunk_space assignment during removing a device During removing a device, we have modified free_chunk_space when we shrink the device, so we needn't assign a new value to it after the device shrink. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ce7213c70c37e3a66bc0b50c45edcbfea505f62f Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:34 2014 +0800 Btrfs: fix wrong device bytes_used in the super block device->bytes_used will be changed when allocating a new chunk, and disk_total_size will be changed if resizing is successful. Meanwhile, the on-disk super blocks of the previous transaction might not be updated. Considering the consistency of the metadata in the previous transaction, We should use the size in the previous transaction to check if the super block is beyond the boundary of the device. Though it is not big problem because we don't use it now, but anyway it is better that we make it be consistent with the common metadata, maybe we will use it in the future. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 935e5cc935bcbf9b3d0dd59fed7dbc0f2ebca6bc Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:33 2014 +0800 Btrfs: fix wrong disk size when writing super blocks total_size will be changed when resizing a device, and disk_total_size will be changed if resizing is successful. Meanwhile, the on-disk super blocks of the previous transaction might not be updated. Considering the consistency of the metadata in the previous transaction, We should use the size in the previous transaction to check if the super block is beyond the boundary of the device. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1c43366d3b3f0fa6c6e81aaf3aa18e0550245dad Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:32 2014 +0800 Btrfs: fix unprotected assignment of the target device We didn't protect the assignment of the target device, it might cause the problem that the super block update was skipped because we might find wrong size of the target device during the assignment. Fix it by moving the assignment sentences into the initialization function of the target device. And there is another merit that we can check if the target device is suitable more early. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c7662111c741bc04a7192f2a00aad608cbc0b205 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:31 2014 +0800 Btrfs: cleanup double assignment of device->bytes_used when device replace finishes Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 90180da42c38a83b050452aa555d3d2df6ae2ad4 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Wed Sep 3 21:35:30 2014 +0800 Btrfs: cleanup unused num_can_discard in fs_devices The member variants - num_can_discard - of fs_devices structure are set, but no one use them to do anything. so remove them. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 82f70d62f7923cc43128e75ae85366f137055b76 Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Mon Sep 8 20:41:09 2014 +0800 btrfs: remove the wrong comments This comments became wrong after c3c532[bdi: add helper function for doing init and register of a bdi for a file system], so remove them. Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a2cc11db245b9d8fbd4e3adbe2a1e7cf60473950 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Sep 8 22:53:18 2014 +0100 Btrfs: fix directory recovery from fsync log When replaying a directory from the fsync log, if a directory entry exists both in the fs/subvol tree and in the log, the directory's inode got its i_size updated incorrectly, accounting for the dentry's name twice. Reproducer, from a test for xfstests: _scratch_mkfs >> $seqres.full 2>&1 _init_flakey _mount_flakey touch $SCRATCH_MNT/foo sync touch $SCRATCH_MNT/bar xfs_io -c "fsync" $SCRATCH_MNT xfs_io -c "fsync" $SCRATCH_MNT/bar _load_flakey_table $FLAKEY_DROP_WRITES _unmount_flakey _load_flakey_table $FLAKEY_ALLOW_WRITES _mount_flakey [ -f $SCRATCH_MNT/foo ] || echo "file foo is missing" [ -f $SCRATCH_MNT/bar ] || echo "file bar is missing" _unmount_flakey _check_scratch_fs $FLAKEY_DEV The filesystem check at the end failed with the message: "root 5 root dir 256 error". A test case for xfstests follows. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 25ce459c1af138f95a3fd318461193397ebb825b Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Wed Sep 10 12:58:50 2014 +0800 Btrfs: fix loop writing of async reclaim One of my tests shows that when we really don't have space to reclaim via flush_space and also run out of space, this async reclaim work loops on adding itself into the workqueue and keeps writing something to disk according to iostat's results, and these writes mainly comes from commit_transaction which writes super_block. This's unacceptable as it can be bad to disks, especially memeory storages. This adds a check to avoid the above situation. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit dc046b10c8b7d4f40befe457acb82340bf8b0699 Author: Josef Bacik <jbacik@xxxxxx> Date: Wed Sep 10 16:20:45 2014 -0400 Btrfs: make fiemap not blow when you have lots of snapshots We have been iterating all references for each extent we have in a file when we do fiemap to see if it is shared. This is fine when you have a few clones or a few snapshots, but when you have 5k snapshots suddenly fiemap just sits there and stares at you. So add btrfs_check_shared which will use the backref walking code but will short circuit as soon as it finds a root or inode that doesn't match the one we currently have. This makes fiemap on my testbox go from looking at me blankly for a day to spitting out actual output in a reasonable amount of time. Thanks, Signed-off-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 78a017a2c92df9b571db0a55a016280f9019c65e Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Sep 11 11:44:49 2014 +0100 Btrfs: add missing compression property remove in btrfs_ioctl_setflags The behaviour of a 'chattr -c' consists of getting the current flags, clearing the FS_COMPR_FL bit and then sending the result to the set flags ioctl - this means the bit FS_NOCOMP_FL isn't set in the flags passed to the ioctl. This results in the compression property not being cleared from the inode - it was cleared only if the bit FS_NOCOMP_FL was set in the received flags. Reproducer: $ mkfs.btrfs -f /dev/sdd $ mount /dev/sdd /mnt && cd /mnt $ mkdir a $ chattr +c a $ touch a/file $ lsattr a/file --------c------- a/file $ chattr -c a $ touch a/file2 $ lsattr a/file2 --------c------- a/file2 $ lsattr -d a ---------------- a Reported-by: Andreas Schneider <asn@xxxxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 12b894cb288d57292b01cf158177b6d5c89a6272 Author: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Date: Wed Aug 20 16:10:15 2014 +0800 btrfs: Fix a deadlock in btrfs_dev_replace_finishing() btrfs-transacion:5657 [stack snip] btrfs_bio_map() btrfs_bio_counter_inc_blocked() percpu_counter_inc(&fs_info->bio_counter) ###bio_counter > 0(A) __btrfs_bio_map() btrfs_dev_replace_lock() mutex_lock(dev_replace->lock) ###wait mutex(B) btrfs:32612 [stack snip] btrfs_dev_replace_start() btrfs_dev_replace_lock() mutex_lock(dev_replace->lock) ###hold mutex(B) btrfs_dev_replace_finishing() btrfs_rm_dev_replace_blocked() wait until percpu_counter_sum == 0 ###wait on bio_counter(A) This bug can be triggered quite easily by the following test script: http://pastebin.com/MQmb37Cy This patch will fix the ABBA problem by calling btrfs_dev_replace_unlock() before btrfs_rm_dev_replace_blocked(). The consistency of btrfs devices list and their superblocks is protected by device_list_mutex, not btrfs_dev_replace_lock/unlock(). So it is safe the move btrfs_dev_replace_unlock() before btrfs_rm_dev_replace_blocked(). Reported-by: Zhao Lei <zhaolei@xxxxxxxxxxxxxx> Signed-off-by: Qu Wenruo <quwenruo@xxxxxxxxxxxxxx> Cc: Stefan Behrens <sbehrens@xxxxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit a583c02664eea8796e80dd192a3bcc1d521939e5 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Aug 19 23:32:22 2014 +0800 Btrfs: cleanup the same name in end_bio_extent_readpage We've defined a 'offset' out of bio_for_each_segment_all. This is just a clean rename, no function changes. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 0b4699dcb65c2cff793210b07f40b98c2d423a43 Author: Mark Fasheh <mfasheh@xxxxxxx> Date: Mon Aug 18 14:01:17 2014 -0700 btrfs: don't go readonly on existing qgroup items btrfs_drop_snapshot() leaves subvolume qgroup items on disk after completion. This can cause problems with snapshot creation. If a new snapshot tries to claim the deleted subvolumes id, btrfs will get -EEXIST from add_qgroup_item() and go read-only. The following commands will reproduce this problem (assume btrfs is on /dev/sda and is mounted at /btrfs) mkfs.btrfs -f /dev/sda mount -t btrfs /dev/sda /btrfs/ btrfs quota enable /btrfs/ btrfs su sna /btrfs/ /btrfs/snap btrfs su de /btrfs/snap sleep 45 umount /btrfs/ mount -t btrfs /dev/sda /btrfs/ We can fix this by catching -EEXIST in add_qgroup_item() and initializing the existing items. We have the problem of orphaned relation items being on disk from an old snapshot but that is outside the scope of this patch. Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b7831b20f32019b741eb8fe3435c2516e13e0c4a Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Fri Aug 15 23:38:06 2014 +0800 Btrfs: show real function name in btrfs workqueue tracepoint Use %pf instead of %p, just same as kernel workqueue tracepoints. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2a39e5980257c77f48b5c31f9fb483a72a03b213 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Thu Aug 14 12:25:14 2014 +0100 Btrfs: shrink further sizeof(struct extent_buffer) The map_start and map_len fields aren't used anywhere, so just remove them. On a x86_64 system, this reduced sizeof(struct extent_buffer) from 296 bytes to 280 bytes, and therefore 14 extent_buffer structs can now fit into a page instead of 13. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4395e0c4da486f007dcb45b0336427be7ec08ab1 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Wed Aug 20 10:45:45 2014 +0100 Btrfs: send, lower mem requirements for processing xattrs Maximum xattr size can be up to nearly the leaf size. For an fs with a leaf size larger than the page size, using kmalloc requires allocating multiple pages that are contiguous, which might not be possible if there's heavy memory fragmentation. Therefore fallback to vmalloc if we fail to allocate with kmalloc. Also start with a smaller buffer size, since xattr values typically are smaller than a page. Reported-by: Chris Murphy <lists@xxxxxxxxxxxxxxxxx> Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f87c4318af8bd5daec361e436c69f9d71a43b261 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Aug 20 17:34:22 2014 +0200 btrfs: remove stale define after removing ordered operations Last user removed in commit "btrfs: disable strict file flushes for renames and truncates" (8d875f95da43c6a8f18f77869f2ef26e9594fecc). Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 200055239604cf4bfaed40d8f404228ea606b4f9 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Fri Aug 29 13:35:13 2014 +0100 Btrfs: improve free space cache management and space allocation While under random IO, a block group's free space cache eventually reaches a state where it has a mix of extent entries and bitmap entries representing free space regions. As later free space regions are returned to the cache, some of them are merged with existing extent entries if they are contiguous with them. But others are not merged, because despite the existence of adjacent free space regions in the cache, the merging doesn't happen because the existing free space regions are represented in bitmap extents. Even when new free space regions are merged with existing extent entries (enlarging the free space range they represent), we create chances of having after an enlarged region that is contiguous with some other region represented in a bitmap entry. Both clustered and non-clustered space allocation work by iterating over our extent and bitmap entries and skipping any that represents a region smaller then the allocation request (and giving preference to extent entries before bitmap entries). By having a contiguous free space region that is represented by 2 (or more) entries (mix of extent and bitmap entries), we end up not satisfying an allocation request with a size larger than the size of any of the entries but no larger than the sum of their sizes. Making the caller assume we're under a ENOSPC condition or force it to allocate multiple smaller space regions (as we do for file data writes), which adds extra overhead and more chances of causing fragmentation due to the smaller regions being all spread apart from each other (more likely when under concurrency). For example, if we have the following in the cache: * extent entry representing free space range: [128Mb - 256Kb, 128Mb[ * bitmap entry covering the range [128Mb, 256Mb[, but only with the bits representing the range [128Mb, 128Mb + 768Kb[ set - that is, only that space in this 128Mb area is marked as free An allocation request for 1Mb, starting at offset not greater than 128Mb - 256Kb, would fail before, despite the existence of such contiguous free space area in the cache. The caller could only allocate up to 768Kb of space at once and later another 256Kb (or vice-versa). In between each smaller allocation request, another task working on a different file/inode might come in and take that space, preventing the former task of getting a contiguous 1Mb region of free space. Therefore this change implements the ability to move free space from bitmap entries into existing and new free space regions represented with extent entries. This is done when a space region is added to the cache. A test was added to the sanity tests that explains in detail the issue too. Some performance test results with compilebench on a 4 cores machine, with 32Gb of ram and using an HDD follow. Test: compilebench -D /mnt -i 30 -r 1000 --makej Before this change: intial create total runs 30 avg 69.02 MB/s (user 0.28s sys 0.57s) compile total runs 30 avg 314.96 MB/s (user 0.12s sys 0.25s) read compiled tree total runs 3 avg 27.14 MB/s (user 1.52s sys 0.90s) delete compiled tree total runs 30 avg 3.14 seconds (user 0.15s sys 0.66s) After this change: intial create total runs 30 avg 68.37 MB/s (user 0.29s sys 0.55s) compile total runs 30 avg 382.83 MB/s (user 0.12s sys 0.24s) read compiled tree total runs 3 avg 27.82 MB/s (user 1.45s sys 0.97s) delete compiled tree total runs 30 avg 3.18 seconds (user 0.17s sys 0.65s) Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3c1dbdf54a31f4f049a33214c3096595988786bf Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 20 10:54:17 2014 +0800 btrfs: rename total_bytes to avoid confusion we are assigning number_devices to the total_bytes, that's very confusing for a moment Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit de4c296f63b43794df453a3fffbb4163ccd1c6af Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:25 2014 +0800 btrfs: fix typo in the log message there is no matching open parenthesis for the closing parenthesis Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b2efedca68c15bc6eab6cbe0756f90c3b8f23b8f Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:24 2014 +0800 btrfs: rw_devices shouldn't be incremented for seed fs in btrfs_rm_dev_replace_srcdev() seed fs devices don't participate as rw_device, so don't increment rw_devices when the device being handled belongs to a seed fs. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 8bef8401a04ae1937f3330484c2d7a8c6b9b9897 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:23 2014 +0800 btrfs: fix memory leak when there is no more seed device When we replace all the seed device in the system there is no point in just keeping the btrfs_fs_devices with out any device Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 94d5f0c2ae83c367fe870b49ed0c87025be2956e Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:22 2014 +0800 btrfs: update sprout seed pointer when seed fs is relinquished We are not updating sprout fs seed pointer when all seed device is replaced. This patch will check if all seed device has been replaced and then update the sprout pointer accordingly. Same reproducer as in the previous patch would apply here. And notice that btrfs_close_device will check if seed fs is present and spits out the error with out this patch. int btrfs_close_devices(struct btrfs_fs_devices *fs_devices) { :: seed_devices = fs_devices->seed; :: while (seed_devices) { fs_devices = seed_devices; seed_devices = fs_devices->seed; __btrfs_close_devices(fs_devices); free_fs_devices(fs_devices); } Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 63dd86fa79db737a50f47488e5249f24e5acebc1 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:21 2014 +0800 btrfs: fix rw_devices miss match after seed replace reproducer: reproducer: mount /dev/sdb /btrfs btrfs dev add /dev/sdc /btrfs btrfs rep start -B /dev/sdb /dev/sdd /btrfs umount /btrfs WARNING: CPU: 0 PID: 3882 at fs/btrfs/volumes.c:892 __btrfs_close_devices+0x1c8/0x200 [btrfs]() which is WARN_ON(fs_devices->rw_devices); The problem here is that we did not add one to the rw_devices when we replace the seed device with a writable device. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 25e8e9113d340f0c32161ced0d4655eff8fed757 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 20 10:56:56 2014 +0800 btrfs: replace seed device followed by unmount causes kernel WARNING reproducer: mount /dev/sdb /btrfs btrfs dev add /dev/sdc /btrfs btrfs rep start -B /dev/sdb /dev/sdd /btrfs umount /btrfs WARNING: CPU: 0 PID: 12661 at fs/btrfs/volumes.c:891 __btrfs_close_devices+0x1b0/0x200 [btrfs]() :: __btrfs_close_devices() :: WARN_ON(fs_devices->open_devices); After the seed device has been replaced the new target device is no more a seed device. So we need to update the device numbers in the fs_devices as pointed by the fs_info. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Reviewed-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d51908ce4e5d7f7b07867180e36b9935094b78f2 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Aug 13 14:24:19 2014 +0800 btrfs: preparatory to make btrfs_rm_dev_replace_srcdev() seed aware There is no logical change in this patch, just a preparatory patch, so that changes can be easily reasoned. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 56094eecd32cbb80d098eee5a7cbd60f39f4b764 Author: Andrey Utkin <andrey.krieger.utkin@xxxxxxxxx> Date: Sat Aug 9 14:51:15 2014 +0300 btrfs: Drop stray check of fixup_workers creation The issue was introduced in a79b7d4b3e8118f265dcb4bdf9a572c392f02708, adding allocation of extent_workers, so this stray check is surely not meant to be a check of something else. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=82021 Reported-by: Maks Naumov <maksqwe1@xxxxxxx> Signed-off-by: Andrey Utkin <andrey.krieger.utkin@xxxxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f98de9b9c07485f7e21edfd5b2b20c89d662af3c Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Aug 4 19:37:21 2014 +0100 Btrfs: make btrfs_search_forward return with nodes unlocked None of the uses of btrfs_search_forward() need to have the path nodes (level >= 1) read locked, only the leaf needs to be locked while the caller processes it. Therefore make it return a path with all nodes unlocked, except for the leaf. This change is motivated by the observation that during a file fsync we repeatdly call btrfs_search_forward() and process the returned leaf while upper nodes of the returned path (level >= 1) are read locked, which unnecessarily blocks other tasks that want to write to the same fs/subvol btree. Therefore instead of modifying the fsync code to unlock all nodes with level >= 1 immediately after calling btrfs_search_forward(), change btrfs_search_forward() to do it, so that it benefits all callers. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 79aec2b80db1089f983d60e4a22cb95d8b939844 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Jul 30 20:04:10 2014 +0800 btrfs: sysfs label interface should check for read only FS Not sure how this escaped many eyes so far Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 20ee0825ecec889afdf12f7c13b9dc3af0bb9f14 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Jul 30 20:04:09 2014 +0800 btrfs: code optimize: BTRFS_ATTR_RW could set the mode BTRFS_ATTR_RW could set the mode and be inline with BTRFS_ATTR Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 98b3d389eb473f28ef69547c0a9f72041c4c40e6 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Jul 30 20:04:08 2014 +0800 btrfs: code optimize: BTRFS_ATTR could handle the mode All that uses BTRFS_ATTR want mode to be set at 0444 so just do it at the define. And few spacing alignments. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3f4b57e09d6cbd97f92311a801e1b83992506dcd Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Wed Jul 30 20:04:07 2014 +0800 btrfs: use BTRFS_ATTR instead of btrfs_no_store() we have BTRFS_ATTR define to create sysfs RO file, use that. Signed-off-by: Anand Jain <anand.jain@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 160f4089c8580b32b5805e7fd8ec7b3810f442c1 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Jul 28 19:37:17 2014 +0100 Btrfs: avoid unnecessary switch of path locks to blocking mode If we need to cow a node, increase the write lock level and retry the tree search, there's no point of changing the node locks in our path to blocking mode, as we only waste time and unnecessarily wake up other tasks waiting on the spinning locks (just to block them again shortly after) because we release our path before repeating the tree search. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 24cdc847d9842bdfd85a005ebc39050bcbc7acba Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Jul 28 19:34:35 2014 +0100 Btrfs: unlock nodes earlier when inserting items in a btree In ctree.c:setup_items_for_insert(), we can unlock all nodes in our path before we process the leaf (shift items and data, adjust data offsets, etc). This allows for better btree concurrency, as we're often holding a write lock on at least the node at level 1. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d1b00a4711d5b953b13ccc859bc30c447c96860e Author: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Date: Fri Jul 25 17:07:48 2014 +0900 btrfs: use IS_ALIGNED() for assertion in btrfs_lookup_csums_range() for simplicity btrfs_lookup_csums_range() uses ALIGN() to check if "start" and "end + 1" are aligned to "root->sectorsize". It's better to replace these with IS_ALIGNED() for simplicity. Signed-off-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 1a76e4ba5b18775e532faa4f8eb858c4553d196c Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Aug 12 16:33:18 2014 +0800 Btrfs: cleanup for btrfs workqueue tracepoints Tracepoint trace_btrfs_normal_work_done never has an user, just cleanup it. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit b38a62586fed4ce058dc8d40deaa1b85cafc7fb3 Author: Liu Bo <bo.li.liu@xxxxxxxxxx> Date: Tue Aug 12 16:33:17 2014 +0800 Btrfs: add work_struct information for workqueue tracepoint Kernel workqueue's tracepoints print the address of work_struct, while btrfs workqueue's tracepoints print the address of btrfs_work. We need a connection between this two, for example when debuging, we usually grep an address in the trace output. So it'd be better to also print work_struct in btrfs workqueue's tracepoint. Please note that we can only add this into those tracepoints whose work is still available in memory because we need to reference the work. Signed-off-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d3982100baeb9bed8cf931545fb0522268f526e5 Author: Mark Fasheh <mfasheh@xxxxxxx> Date: Thu Jul 17 12:39:00 2014 -0700 btrfs: add trace for qgroup accounting We want this to debug qgroup changes on live systems. Signed-off-by: Mark Fasheh <mfasheh@xxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 443f24fee731703345e2e6eec8177bb7b7d094c6 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:15 2014 +0800 Btrfs: cleanup unused latest_devid and latest_trans in fs_devices The member variants - latest_devid and latest_trans - of fs_devices structure are set, but no one use them to do anything. so remove them. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 6ba40b615f6e2aac40c24b649c0170d43ae19165 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:12 2014 +0800 Btrfs: update the comment of total_bytes and disk_total_bytes of btrfs_devie Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit addc3fa74e5bcfabc0766f934a8895d1f9f6a67c Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:11 2014 +0800 Btrfs: Fix the problem that the dirty flag of dev stats is cleared The io error might happen during writing out the device stats, and the device stats information and dirty flag would be update at that time, but the current code didn't consider this case, just clear the dirty flag, it would cause that we forgot to write out the new device stats information. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d5ee37bcb1dff9c1d1cac5f7e5752309f1ff66b6 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:10 2014 +0800 Btrfs: make the device lock and its protected data in the same cacheline The lock in btrfs_device structure was far away from its protected data, it would make CPU load the cache line twice when we accessed them, move them together. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 5f546063cee93047af90cf2756e023da9f9fca51 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:09 2014 +0800 Btrfs: fix wrong generation check of super block on a seed device The super block generation of the seed devices is not the same as the filesystem which sprouted from them because we don't update the super block on the seed devices when we change that new filesystem. So we should not use the generation of that new filesystem to check the super block generation on the seed devices, Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 17a9be2f28595945ec9bfac0dd15b86891c1f1de Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 24 11:37:08 2014 +0800 Btrfs: fix wrong fsid check of scrub All the metadata in the seed devices has the same fsid as the fsid of the seed filesystem which is on the seed device, so we should check them by the current filesystem. Fix it. Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 2fad4e83e12591eb3bd213875b9edc2d18e93383 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jul 23 14:39:35 2014 +0200 btrfs: wake up transaction thread from SYNC_FS ioctl The transaction thread may want to do more work, namely it pokes the cleaner ktread that will start processing uncleaned subvols. This can be triggered by user via the 'btrfs fi sync' command, otherwise there was a delay up to 30 seconds before the cleaner started to clean old snapshots. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c01a5c074c0f6f85a3b02e39432b9e5576ab51de Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 17 11:44:12 2014 +0800 Btrfs: fix wrong max inline data size limit inline data is stored from offset of @disk_bytenr in struct btrfs_file_extent_item. So substracting total size of struct btrfs_file_extent_item is wrong, fix it. Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 354877befa852e9b62ddc92a6cc017210e982d46 Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 17 11:44:11 2014 +0800 Btrfs: fix off-by-one in cow_file_range_inline() Btrfs could still inline file data if its size is same as page size, so don't skip max value here. Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7816030eb48e00a36ecdc23d484b960922feee67 Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 17 11:44:10 2014 +0800 Btrfs: fall into nocompression codes quickly if possible If flag NOCOMPRESS is set which means bad compression ratio, we could avoid call cow_file_range_async() for this case earlier. Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit f79707b092caff665a8a77e8e31fe4ab18b4d109 Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 17 11:44:09 2014 +0800 Btrfs: fix wrong skipping compression for an inode If a file's compression ratios is bad, we will set NOCOMPRESS flag for it, and it will skip compression for that inode next time. However, if we remount fs to COMPRESS_FORCE, it still should try if we could compress pages for that inode, this patch fix wrong check for this problem. Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d447d0da44cd7d396277d1d8f46b418c721fbc02 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Jul 15 21:17:17 2014 +0200 Btrfs: fix sparse warning Fix the following sparse warning: fs/btrfs/send.c:518:51: warning: incorrect type in argument 2 (different address spaces) fs/btrfs/send.c:518:51: expected char const [noderef] <asn:1>*<noident> fs/btrfs/send.c:518:51: got char * We can safely use (const char __user *) with set_fs(KERNEL_DS) __force added to avoid sparse-all warning: fs/btrfs/send.c:518:40: warning: cast adds address space to expression (<asn:1>) Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Reviewed-by: Zach Brown <zab@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 14586651ed8f067e4add72c739f0bd2c2620fd9d Author: HIMANGI SARAOGI <himangi774@xxxxxxxxx> Date: Wed Jul 9 03:51:41 2014 +0530 Btrfs: use BUG_ON Use BUG_ON(x) rather than if(x) BUG(); The semantic patch that fixes this problem is as follows: // <smpl> @@ identifier x; @@ -if (x) BUG(); +BUG_ON(x); // </smpl> Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 7880991344f73647fa2222b198cf5cfc10805ac2 Author: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Date: Mon Jul 7 23:38:29 2014 +0900 btrfs compression: merge inflate and deflate z_streams `struct workspace' used for zlib compression contains two zlib z_stream-s: `def_strm' used in zlib_compress_pages(), and `inf_strm' used in zlib_decompress/zlib_decompress_biovec(). None of these functions use `inf_strm' and `def_strm' simultaniously, meaning that for every compress/decompress operation we need only one z_stream (out of two available). `inf_strm' and `def_strm' are different in size of ->workspace. For inflate stream we vmalloc() zlib_inflate_workspacesize() bytes, for deflate stream - zlib_deflate_workspacesize() bytes. On my system zlib returns the following workspace sizes, correspondingly: 42312 and 268104 (+ guard pages). Keep only one `z_stream' in `struct workspace' and use it for both compression and decompression. Hence, instead of vmalloc() of two z_stream->worskpace-s, allocate only one of size: max(zlib_deflate_workspacesize(), zlib_inflate_workspacesize()) Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 555e12864063762964433139dee651c5b859a047 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Mon Jul 7 12:35:21 2014 +0100 Btrfs: set error return value in btrfs_get_blocks_direct We were returning with 0 (success) because we weren't extracting the error code from em (PTR_ERR(em)). Fix it. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Reviewed-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 27a3507de91e3dd51a2cf8dca4b33623dd6eaa88 Author: Filipe Manana <fdmanana@xxxxxxxx> Date: Sun Jul 6 20:09:59 2014 +0100 Btrfs: reduce size of struct extent_state The tree field of struct extent_state was only used to figure out if an extent state was connected to an inode's io tree or not. For this we can just use the rb_node field itself. On a x86_64 system with this change the sizeof(struct extent_state) is reduced from 96 bytes down to 88 bytes, meaning that with a page size of 4096 bytes we can now store 46 extent states per page instead of 42. Signed-off-by: Filipe Manana <fdmanana@xxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 6f84e23646704c93fa878c5b87a4990be8d1ca9c Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Fri Jul 4 21:10:27 2014 +0200 btrfs: use PTR_ERR_OR_ZERO replace IS_ERR/PTR_ERR Cc: Chris Mason <clm@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxx> Cc: linux-btrfs@xxxxxxxxxxxxxxx Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 29549aec76bd6f1fc8e1723ed5396d65073d6521 Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Fri Jul 4 17:59:06 2014 +0800 Btrfs: print btrfs specific info for some fatal error cases Marc argued that if there are several btrfs filesystems mounted, while users even don't know which filesystem hit the corrupted errors something like generation verification failure. Since @extent_buffer structure has a member @fs_info, let's output btrfs device info. Reported-by: Marc MERLIN <marc@xxxxxxxxxxx> Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit d20983b40e828fdca920b3d678544c6a0967a446 Author: Miao Xie <miaox@xxxxxxxxxxxxxx> Date: Thu Jul 3 18:22:13 2014 +0800 Btrfs: fix writing data into the seed filesystem If we mounted a seed filesystem with degraded option, and then added a new device into the seed filesystem, then we found adding device failed because of the IO failure. Steps to reproduce: # mkfs.btrfs -d raid1 -m raid1 <dev0> <dev1> # btrfstune -S 1 <dev0> # mount <dev0> -o degraded <mnt> # btrfs device add -f <dev2> <mnt> It is because the original didn't set the chunk on the seed device to be read-only if the degraded flag was set. It was introduced by patch f48b90756, which fixed the problem the raid1 filesystem became read-only after one device of it was missing. But this fix method was not right, we should set the read-only flag according to the number of the missing devices, not the degraded mount option, if the number of the missing devices is less than the max error number that the profile of the chunk tolerates, we don't set it to be read-only. Cc: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Reviewed-by: Liu Bo <bo.li.liu@xxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 47059d930f0e002ff851beea87d738146804726d Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Thu Jul 3 18:22:07 2014 +0800 Btrfs: make defragment work with nodatacow option Btrfs defragment will utilize COW feature, which means this did not work for nodatacow option, this problem was detected by xfstests generic/018 with nodatacow mount option. Fix this problem by forcing cow for a extent with state @EXTETN_DEFRAG setting. Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Signed-off-by: Miao Xie <miaox@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 48fcc3ff7dce0138c053833adf81670494f177f3 Author: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Date: Tue Jul 1 17:00:07 2014 +0900 btrfs: label should not contain return char Rediffed remaining parts of original patch from Anand Jain. This makes sure to avoid trailing newlines in the btrfs label output reproducer.sh: =============================================================================== TEST_DEV=/dev/vdb TEST_DIR=/home/sat/mnt umount /home/sat/mnt mkfs.btrfs -f $TEST_DEV UUID=$(btrfs fi show $TEST_DEV | head -1 | sed -e 's/.*uuid: \([-0-9a-z]*\)$/\1/') mount $TEST_DEV $TEST_DIR LABELFILE=/sys/fs/btrfs/$UUID/label echo "Test for empty label..." >&2 LINES="$(cat $LABELFILE | wc -l | awk '{print $1}')" RET=0 if [ $LINES -eq 0 ] ; then echo '[PASS] Trailing \n is removed correctly.' >&2 else echo '[FAIL] Trailing \n still exists.' >&2 RET=1 fi echo "Test for non-empty label..." >&2 echo testlabel >$LABELFILE LINES="$(cat $LABELFILE | wc -l | awk '{print $1}')" if [ $LINES -eq 1 ] ; then echo '[PASS] Trailing \n is removed correctly.' >&2 else echo '[FAIL] Trailing \n still exists.' >&2 RET=1 fi exit $RET =============================================================================== Signed-off-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ec95d4917b9b5e9c73fd21294f4ff51f3127b5e7 Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Tue Jul 1 00:58:57 2014 +0800 btrfs: device delete must be sysloged as in the disk add patch, disk detached from the volume must be recorded in the syslog as well for the same reason. Signed-off-by: Anand Jain <Anand.Jain@xxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 43d207616886da1d93623ac40bd1d922a79e0d1b Author: Anand Jain <Anand.Jain@xxxxxxxxxx> Date: Tue Jul 1 00:58:56 2014 +0800 btrfs: device add must be sysloged when we add a new disk to the mounted btrfs we don't record it as of now, disk add is a critical change of btrfs configuration, it must be recorded in the syslog to help offline investigations of customer problems when reported. Signed-off-by: Anand Jain <Anand.Jain@xxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4027e0f4c4b2df28d564560a3c65c179bebae4c8 Author: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Date: Mon Jun 30 10:51:25 2014 +0800 Btrfs: clear compress-force when remounting with compress option Steps to reproduce: # mkfs.btrfs -f /dev/sdb # mount /dev/sdb /mnt -o compress-force=lzo # mount /dev/sdb /mnt -o remount,compress=zlib # cat /proc/mounts Remounting from compress-force to compress could not clear compress-force option. The problem is there is no way for users to clear compress-force option separately. Fix this problem by clearing @FORCE_COMPRESS flag when remounting to compress=xxx. Suggested-by: Tsutomu Itoh <t-itoh@xxxxxxxxxxxxxx> Signed-off-by: Wang Shilong <wangsl.fnst@xxxxxxxxxxxxxx> Reviewed-by: David Sterba <dsterba@xxxxxxx> Reviewed-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Tested-by: Satoru Takeuchi <takeuchi_satoru@xxxxxxxxxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit ed6078f70335f158ca79790a0d0708ce558a6e9a Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jun 5 01:59:57 2014 +0200 btrfs: use DIV_ROUND_UP instead of open-coded variants The form (value + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT is equivalent to (value + PAGE_CACHE_SIZE - 1) / PAGE_CACHE_SIZE The rest is a simple subsitution, no difference in the generated assembly code. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 4e54b17ad67a2d0d59bda6edcf725dc5b281c253 Author: David Sterba <dsterba@xxxxxxx> Date: Thu Jun 5 01:39:19 2014 +0200 btrfs: clean away stripe_align helper Only wraps the ALIGN macro. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 707e8a071528385a87b63a72a37c2322e463c7b8 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jun 4 19:22:26 2014 +0200 btrfs: use nodesize everywhere, kill leafsize The nodesize and leafsize were never of different values. Unify the usage and make nodesize the one. Cleanup the redundant checks and helpers. Shaves a few bytes from .text: text data bss dec hex filename 852418 24560 23112 900090 dbbfa btrfs.ko.before 851074 24584 23112 898770 db6d2 btrfs.ko.after Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 962a298f35110edd8f326814ae41a3dd306ecb64 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jun 4 18:41:45 2014 +0200 btrfs: kill the key type accessor helpers btrfs_set_key_type and btrfs_key_type are used inconsistently along with open coded variants. Other members of btrfs_key are accessed directly without any helpers anyway. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 3abdbd780e9d75f0648b8a502c3789857b1e92ce Author: David Sterba <dsterba@xxxxxxx> Date: Wed Jun 4 18:10:45 2014 +0200 btrfs: make close_ctree return void There's no user of the return value and we can get rid of the comment in put_super. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 57cdc8db21bf9cfa6b2e45310d56e74e263e8609 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Feb 5 02:37:48 2014 +0100 btrfs: cleanup ino cache members of btrfs_root The naming is confusing, generic yet used for a specific cache. Add a prefix 'ino_' or rename appropriately. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit c6f83c74fd647e8e31a9a42a76d895bce4a61a08 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Feb 5 02:11:25 2014 +0100 btrfs: clenaup: don't call btrfs_release_path before free_path Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 32471dc2ba287f0bb8ac9af65c46f089965191f2 Author: David Sterba <dsterba@xxxxxxx> Date: Wed Feb 5 02:03:47 2014 +0100 btrfs: remove obsolete comment in btrfs_clean_one_deleted_snapshot The comment applied when there was a BUG_ON. Signed-off-by: David Sterba <dsterba@xxxxxxx> Signed-off-by: Chris Mason <clm@xxxxxx> commit 94e16e9c59312247de199b5f9bf141d1bd946dd0 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:53 2014 -0400 iscsi-target: remove unnecessary check in iscsit_setup_np error path Found by coverity. At this point sock is non-NULL, so the check to unnecessary. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 70b2823535d2d884eef2d3dab0dfd0ec3da8a019 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Sep 16 17:37:32 2014 -0400 nfsd4: clarify how grace period ends The grace period is ended in two steps--first userland is notified that the grace period is now long enough that any clients who have not yet reclaimed can be safely forgotten, then we flip the switch that forbids reclaims and allows new opens. I had to think a bit to convince myself that the ordering was right here. Document it. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit bea57fe45ba23995dcf954e66d29625944a1d039 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Mon Sep 15 11:05:46 2014 -0400 nfsd4: stop grace_time update at end of grace period The attempt to automatically set a new grace period time at the end of the grace period isn't really helpful. We'll probably shut down and reboot before we actually make use of the new grace period time anyway. So may as well leave it up to the init system to get this right. This just confuses people when they see /proc/fs/nfsd/nfsv4gracetime change from what they set it to. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 65decb650a95b00301e7ea1b75a65d64c52132c7 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:22 2014 -0400 nfsd: skip subsequent UMH "create" operations after the first one for v4.0 clients In the case of v4.0 clients, we may call into the "create" client tracking operation multiple times (once for each openowner). Upcalling for each one of those is wasteful and slow however. We can skip doing further "create" operations after the first one if we know that one has already been done. v4.1+ clients generally only call into this function once (on RECLAIM_COMPLETE), and we can't skip upcalling on the create even if the STABLE bit is set. Doing so would make it impossible for nfsdcltrack to lift the grace period early since the timestamp has a different meaning in the case where the client is expected to issue a RECLAIM_COMPLETE. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 788a7914ad43380d31efed1c4d14b5f2c466a764 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:21 2014 -0400 nfsd: set and test NFSD4_CLIENT_STABLE bit to reduce nfsdcltrack upcalls The nfsdcltrack upcall doesn't utilize the NFSD4_CLIENT_STABLE flag, which basically results in an upcall every time we call into the client tracking ops. Change it to set this bit on a successful "check" or "create" request, and clear it on a "remove" request. Also, check to see if that bit is set before upcalling on a "check" or "remove" request, and skip upcalling appropriately, depending on its state. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit d682e750ce14cfb3be655e6d492c77511e637228 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:21 2014 -0400 nfsd: serialize nfsdcltrack upcalls for a particular client In a later patch, we want to add a flag that will allow us to reduce the need for upcalls. In order to handle that correctly, we'll need to ensure that racing upcalls for the same client can't occur. In practice it should be rare for this to occur with a well-behaved client, but it is possible. Convert one of the bits in the cl_flags field to be an upcall bitlock, and use it to ensure that upcalls for the same client are serialized. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit d4318acd5d2d34d69a46537f057b20a8f0266e1e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:21 2014 -0400 nfsd: pass extra info in env vars to upcalls to allow for early grace period end In order to support lifting the grace period early, we must tell nfsdcltrack what sort of client the "create" upcall is for. We can't reliably tell if a v4.0 client has completed reclaiming, so we can only lift the grace period once all the v4.1+ clients have issued a RECLAIM_COMPLETE and if there are no v4.0 clients. Also, in order to lift the grace period, we have to tell userland when the grace period started so that it can tell whether a RECLAIM_COMPLETE has been issued for each client since then. Since this is all optional info, we pass it along in environment variables to the "init" and "create" upcalls. By doing this, we don't need to revise the upcall format. The UMH upcall can simply make use of this info if it happens to be present. If it's not then it can just avoid lifting the grace period early. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 1d30686da4a40029cb48eab28442896b58aeceef Author: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> Date: Wed Sep 17 13:17:55 2014 -0700 iscsi-target: Drop duplicate __iscsi_target_login_thread check This patch drops the now duplicate + unnecessary check for -ENODEV from iscsi_transport->iscsit_accept_np() for jumping to out:, or immediately returning 1 in __iscsi_target_login_thread() code. Since commit 81a9c5e72b the jump to out: and returning 1 have the same effect, and end up hitting the ISCSI_NP_THREAD_SHUTDOWN check regardless at the top of __iscsi_target_login_thread() during next loop iteration. So that said, it's safe to go ahead and remove this duplicate check. Reported-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 7f5ef2e900d9462bf9cffaf6bb246ed87a20a6d6 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:21 2014 -0400 nfsd: add a v4_end_grace file to /proc/fs/nfsd Allow a privileged userland process to end the v4 grace period early. Writing "Y", "y", or "1" to the file will cause the v4 grace period to be lifted. The basic idea with this will be to allow the userland client tracking program to lift the grace period once it knows that no more clients will be reclaiming state. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit d68e3c4aa416d592d79152a49af121e4ecb204e3 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:20 2014 -0400 lockd: add a /proc/fs/lockd/nlm_end_grace file Add a new procfile that will allow a (privileged) userland process to end the NLM grace period early. The basic idea here will be to have sm-notify write to this file, if it sent out no NOTIFY requests when it runs. In that situation, we can generally expect that there will be no reclaim requests so the grace period can be lifted early. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 3b3e7b72239a748f516d6aee8c12df48d50e2d7e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:22 2014 -0400 nfsd: reject reclaim request when client has already sent RECLAIM_COMPLETE As stated in RFC 5661, section 18.51.3: Once a RECLAIM_COMPLETE is done, there can be no further reclaim operations for locks whose scope is defined as having completed recovery. Once the client sends RECLAIM_COMPLETE, the server will not allow the client to do subsequent reclaims of locking state for that scope and, if these are attempted, will return NFS4ERR_NO_GRACE. Ensure that we enforce that requirement. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 919b8049f0e00458ff4dce22ad293c9a24ac3723 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:20 2014 -0400 nfsd: remove redundant boot_time parm from grace_done client tracking op Since it's stored in nfsd_net, we don't need to pass it in separately. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit f7790029655f79cdcee4fa7c7884e0c2795ebebe Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Sep 12 16:40:20 2014 -0400 lockd: move lockd's grace period handling into its own module Currently, all of the grace period handling is part of lockd. Eventually though we'd like to be able to build v4-only servers, at which point we'll need to put all of this elsewhere. Move the code itself into fs/nfs_common and have it build a grace.ko module. Then, rejigger the Kconfig options so that both nfsd and lockd enable it automatically. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 5c22e2294156377b7e2d2d99aaffea9ae6994452 Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:51 2014 -0400 iscsi-target: simplify return statement The return statement cannot be reached without either recovery or dump being set to 1. Therefore the condition always evaluates to true and recovery and dump are useless variables. Found by Coverity. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit cb35484231e0b7edf23e192867e5fba955e584cb Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:50 2014 -0400 iscsi-target: remove always-true conditions Found by coverity. InitiatorName and InitiatorAlias are static arrays and therefore always non-NULL. At some point in the past they may have been dynamically allocated, but for current code the condition is useless. If the intent was to check InitiatorName[0] instead, I cannot find a use for that either. Let's get rid of it. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit fbecb6596a80554423d00aba92f2752a2ee0a62d Author: Joern Engel <joern@xxxxxxxxx> Date: Tue Sep 2 17:49:47 2014 -0400 iscsi-target: remove unused debug code Last user of buf was removed with c6037cc546ca. While at it, free_cpumask_var() handles a NULL argument just fine, so remove the conditionals. Signed-off-by: Joern Engel <joern@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit be39ffc2fec78ff80d50e4b7970e94a8b1583862 Author: Roberto Sassu <roberto.sassu@xxxxxxxxx> Date: Fri Sep 12 19:35:53 2014 +0200 ima: return an error code from ima_add_boot_aggregate() This patch modifies ima_add_boot_aggregate() to return an error code. This way we can determine if all the initialization procedures have been executed successfully. Signed-off-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 2faa6ef3b21152cc05b69a84113625dcee63176f Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Thu May 8 13:11:29 2014 +0300 ima: provide 'ima_appraise=log' kernel option The kernel boot parameter "ima_appraise" currently defines 'off', 'enforce' and 'fix' modes. When designing a policy and labeling the system, access to files are either blocked in the default 'enforce' mode or automatically fixed in the 'fix' mode. It is beneficial to be able to run the system in a logging only mode, without fixing it, in order to properly analyze the system. This patch adds a 'log' mode to run the system in a permissive mode and log the appraisal results. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 31b70f66328e85517b159c786ab31f3fd9a7293c Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Jun 27 13:01:32 2014 +0300 ima: move keyring initialization to ima_init() ima_init() is used as a single place for all initializations. Experimental keyring patches used the 'late_initcall' which was co-located with the late_initcall(init_ima). When the late_initcall for the keyring initialization was abandoned, initialization moved to init_ima, though it would be more logical to move it to ima_init, where the rest of the initialization is done. This patch moves the keyring initialization to ima_init() as a preparatory step for loading the keys which will be added to ima_init() in following patches. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit c657f423aed0d836c807ea1d6d8d28b3914446fa Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Sep 15 16:57:56 2014 -0300 perf symbols: Add path to Ubuntu kernel debuginfo file Ubuntu places the kernel debuginfo in /usr/lib/debug/boot/vmlinux-* Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> echo Link: http://lkml.kernel.org/n/tip-`ranpwd -l 24`@git.kernel.org Link: http://lkml.kernel.org/r/20140909091152.2698c0f7@kryten [ Adapted it to use the perf.data file kernel version as in 0a7e6d1b6844 ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d0b0d0406fe6743e734e1ba780155f8db5f713e6 Author: Anton Blanchard <anton@xxxxxxxxx> Date: Tue Sep 9 08:59:29 2014 +1000 perf symbols: Ignore stripped vmlinux and fallback to kallsyms If a vmlinux is stripped, perf will use it and ignore kallsyms. We end up with useless profiles where everything maps to a few runtime symbols: 63.39% swapper [kernel.kallsyms] [k] hcall_real_table 4.90% beam.smp [kernel.kallsyms] [k] hcall_real_table 4.44% beam.smp [kernel.kallsyms] [k] __sched_text_start 3.72% beam.smp [kernel.kallsyms] [k] __run_at_kexec Detect this case and fallback to using kallsyms. This fixes the issue: 62.81% swapper [kernel.kallsyms] [k] snooze_loop 4.44% beam.smp [kernel.kallsyms] [k] __schedule 0.91% beam.smp [kernel.kallsyms] [k] _switch 0.73% beam.smp [kernel.kallsyms] [k] put_prev_entity Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140909085929.4a5a81f0@kryten Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 512fe365373b9c95a70b4b6357503ee74d27214f Author: Chanho Park <chanho61.park@xxxxxxxxxxx> Date: Fri Sep 12 11:10:17 2014 +0900 perf tools: define _DEFAULT_SOURCE for glibc_2.20 _BSD_SOURCE was deprecated in favour of _DEFAULT_SOURCE since glibc 2.20[1]. To avoid build warning on glibc2.20, _DEFAULT_SOURCE should also be defined. [1]: https://sourceware.org/glibc/wiki/Release/2.20 Signed-off-by: Chanho Park <chanho61.park@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1410487817-13403-1-git-send-email-chanho61.park@xxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a8fa496092253a6309d46ecfe75eea4ab1d6fd79 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Sep 15 15:54:34 2014 -0300 perf tools: Don't include sys/poll.h directly Include poll.h instead. Fixes the following warning in systems with musl's libc: /usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp] Reported-by: John Spencer <maillist-linux@xxxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://thread.gmane.org/gmane.linux.kernel.perf.user/1687/focus=1690 Link: http://lkml.kernel.org/n/tip-k4ocrq1de3fk146oevy346bi@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bf9e3e5763722c9668c6719a1de60ee58452b738 Author: John Spencer <maillist-linux@xxxxxxxxxxx> Date: Mon Aug 25 21:36:32 2014 +0200 perf tools: Fix GNU-only grep usage in Makefile This makes it work with non-GNU grep's as well. Signed-off-by: John Spencer <maillist-linux@xxxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Link: http://thread.gmane.org/gmane.linux.kernel.perf.user/1686 Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 763122ade725592402190f5ff3b8d2edf42b87e8 Author: Avi Kivity <avi@xxxxxxxxxxxxxxxxxxxx> Date: Sat Sep 13 07:15:05 2014 +0300 perf tools: Disable kernel symbol demangling by default Some Linux symbols (for example __vt_event_wait) are interpreted by the demangler as C++ mangled names, which of course they aren't. Disable kernel symbol demangling by default to avoid this, and allow enabling it with a new option --demangle-kernel for those who wish it. Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Avi Kivity <avi@xxxxxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1410581705-26968-1-git-send-email-avi@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 29a3ce31c38c8f73f4e076b7ffc0876b4f5dd6c3 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Fri Sep 5 06:21:04 2014 +0200 perf tool: fix compilation for ARM This patch fixes ARM compile of the perf tool. The debug.h header file was missing from a couple of unwind related modules. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140905042103.GA3091@quad Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7d4bdab5a441772bfc757d7f9eea9465ec5de0ec Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:50 2014 +0300 perf tools: Add perf_pmu__scan_file() Add a function to scan a sysfs file within the pmu device directory. This will be used to read capability values from the PMU 'caps' subdirectory. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-8-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc0a6202421170a6d8d2c6f5176575b3f60e0f85 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:49 2014 +0300 perf tools: Let default config be defined for a PMU This allows default config terms to be provided for a PMU. So, for example, when the Intel PT PMU is added, it will be possible to specify: intel_pt// which will be the same as: intel_pt/tsc=1,noretcomp=0/ meaning that the trace should contain TSC timestamps and perform 'return compression'. An important consideration of this patch is that it must be possible to overwrite the default values. That has meant changing the logic so that a zero value can replace a non-zero value. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-7-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c501e90b4700e4f247ccdcf5ae81f9846a2ef5f9 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:01:12 2014 +0300 perf tools: Add perf-with-kcore script Decoding an Intel PT trace of the kernel requires an accurate kernel object image. This is provided by making a copy of kcore. However the copy needs to be made under the same conditions as the original recording, and then it needs to be associated with the perf.data file. The perf-with-kcore script does that. The script also checks the permissions on the buildid cache and can be used to fix them. That is needed for distributions where root does not have a home directory and consequently writes to the same buildid cache as the user, resulting in cached files that the user does not have access to. Example: $ ./perf-with-kcore Usage: perf-with-kcore <perf sub-command> <perf.data directory> [<sub-command options> [ -- <workload>]] <perf sub-command> can be record, script, report or inject or: perf-with-kcore fix_buildid_cache_permissions $ ./perf-with-kcore record pt_uname -e intel_pt// -- uname Recording Using /home/ahunter/bin/perf perf version 3.15.rc3.g4549ba /home/ahunter/bin/perf record -o pt_uname/perf.data -e intel_pt// -- uname Linux [ perf record: Woken up 3 times to write data ] [ perf record: Captured and wrote 0.023 MB pt_uname/perf.data ] Copying kcore [sudo] password for ahunter: Done $ tools/perf/perf-with-kcore.sh script pt_uname | head Using /home/ahunter/bin/perf perf version 3.15.rc3.g4549ba /home/ahunter/bin/perf script -i pt_uname/perf.data --kallsyms=pt_uname/kcore_dir/kallsyms swapper 0 [002] 161533.969666: sched:sched_switch: swapper/2:0 [120] R ==> perf:11316 [120] :11315 11315 [003] 161533.969704: sched:sched_switch: perf:11315 [120] S ==> swapper/3:0 [120] :11316 11316 [002] 161533.969783: sched:sched_switch: perf:11316 [120] R ==> migration/2:33 [0] :33 33 [002] 161533.969791: sched:sched_switch: migration/2:33 [0] S ==> swapper/2:0 [120] swapper 0 [003] 161533.969792: sched:sched_switch: swapper/3:0 [120] R ==> perf:11316 [120] :11316 11316 [003] 161533.970062: branches: 0 [unknown] ([unknown]) => ffffffff810532fa native_write_msr_safe ([kernel.kallsyms]) :11316 11316 [003] 161533.970062: branches: ffffffff810532fd native_write_msr_safe ([kernel.kallsyms]) => ffffffff81035b31 pt_config_start ([kernel.kallsyms]) Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-30-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ad96227349901838e1a7f96f1dc22d96a97520c0 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 15 22:08:40 2014 +0300 perf tools: Let a user specify a PMU event without any config terms This enables a PMU event to be specified in the form: pmu// which is effectively the same as: pmu/config=0/ This patch is a precursor to defining default config for a PMU. Further explanation extracted from lkml thread: Imagine that the 'tsc' term did not exist. Intel PT trace data would not contain TSC packets, and the decoder would not know how to decode them. Then imagine that a new version of the hardware adds 'tsc'. It is such a useful feature that we want it by default, but older versions of the tools don't know how to decode it, so the kernel cannot turn it on by default. It is similar to why the kernel does not select perf_event_attr.mmap2 by default. The kernel doesn't know whether the tool supports it. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408129739-17368-6-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6997af72e6c1e9d8c1cc511dc9485e9ee69a5e20 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 25 16:55:52 2014 +0200 perf tools: Allow to specify lib compile variable for spec usage We need a way to specify $(lib) part of the installation path for traceevent plugin libraries. Currently we use 'lib64' for x86_64 and 'lib' otherwise. Instead of listing all possible values, this change allows the rpm spec code to specify the correct $(lib) part based on processed architecture, like $ make ... lib=%{_lib} Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Tested-by: Kyle McMartin <kyle@xxxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Kyle McMartin <kyle@xxxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408978552-17131-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1f3e5b55035549311e42c3f84007e6c799ed991f Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 1 17:44:55 2014 +0400 perf kvm stat report: Unify the title bar output The 'live' command prints additional information to the "Analyze events for " title bar about the current target. Let's print the same title for the 'report' command. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1409579095-12963-4-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f181957c2849478fc963a8ac3c7dacf0a87c6b05 Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 1 17:44:54 2014 +0400 perf kvm stat report: Enable the target.system_wide flag The 'perf kvm stat report' command can be used to analyze events either for system wide or for specific pids. Let's enable kvm->opts.target.system_wide flag when 'report' command is running for system-wide analyzing. This helps to sync kvm->opts.target values in 'report' and 'live' commands. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1409579095-12963-3-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3ae4a76ac840021294c091884e04af7c92e481ae Author: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 1 17:44:53 2014 +0400 perf kvm stat report: Save pid string in opts.target.pid The 'perf kvm stat report' command uses the kvm->pid_str field to keep the value of the --pid option. Let's use kvm->opts.target.pid instead. Signed-off-by: Alexander Yarygin <yarygin@xxxxxxxxxxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1409579095-12963-2-git-send-email-yarygin@xxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 65ccb4faae872b63dd8f5fbc83d0195e3dfabf0d Author: Anton Blanchard <anton@xxxxxxxxx> Date: Mon Aug 25 18:25:06 2014 +1000 perf tools powerpc: Fix build issue when DWARF support is disabled The powerpc skip callchain code uses DWARF, so we must disable it if DWARF is disabled. Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140825182506.2be6512d@kryten Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1a1c0ffb2adb2d2ce7bb9c4dfd2935ba345cf2c2 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sat Aug 23 14:59:48 2014 +0200 perf tools: Add +field argument support for --sort option Adding support to add field(s) to default sort order via using the '+' prefix, like for report: $ perf report Samples: 2K of event 'cycles', Event count (approx.): 882172583 Overhead Command Shared Object Symbol 7.39% swapper [kernel.kallsyms] [k] intel_idle 1.97% firefox libpthread-2.17.so [.] pthread_mutex_lock 1.39% firefox [snd_hda_intel] [k] azx_get_position 1.11% firefox libpthread-2.17.so [.] pthread_mutex_unlock $ perf report -s +cpu Samples: 2K of event 'cycles', Event count (approx.): 882172583 Overhead Command Shared Object Symbol CPU 2.89% swapper [kernel.kallsyms] [k] intel_idle 000 2.61% swapper [kernel.kallsyms] [k] intel_idle 002 1.20% swapper [kernel.kallsyms] [k] intel_idle 001 0.82% firefox libpthread-2.17.so [.] pthread_mutex_lock 002 Works in general for commands using --sort option. v2 with changes suggested: - Use dynamic memory instead static buffer - Fix error message typo Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140823125948.GA1193@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a52ae5a755d980e9ff812c6f45a415ba27bfd33b Merge: 0469a43 8ce8ebe Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Wed Sep 17 11:47:56 2014 -0700 Merge branch 'clk-fixes' into clk-next commit f62caccd12c17e4cb516d43a6e4dd8a3abc1f7e0 Author: Robin Gong <b38343@xxxxxxxxxxxxx> Date: Thu Sep 11 09:18:44 2014 +0800 spi: spi-imx: add DMA support Enable DMA support on i.mx6. The read speed can increase from 600KB/s to 1.2MB/s on i.mx6q. You can disable or enable dma function in dts. If not set "dma-names" in dts, spi will use PIO mode. This patch only validate on i.mx6, not i.mx5, but encourage ones to apply this patch on i.mx5 since they share the same IP. Note: Sometime, there is a weid data in rxfifo after one full tx/rx transfer finish by DMA on i.mx6dl, so we disable dma functhion on i.mx6dl. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Robin Gong <b38343@xxxxxxxxxxxxx> Acked-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f4a43caba7d495699f98532b4faee90fd9980732 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Sep 16 10:13:16 2014 +0800 ASoC: fsl_ssi: refine ipg clock usage in this module Check if ipg clock is in clock-names property, then we can move the ipg clock enable and disable operation to startup and shutdown, that is only enable ipg clock when ssi is working and keep clock is disabled when ssi is in idle. But when the checking is failed, remain the clock control as before. Tested-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e076e96227ef6b5b66cfdd79e75401bd2f6d532f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Mar 4 18:14:58 2014 -0800 MAINTAINERS: add entry for the Broadcom BCM63xx ARM SoCs Add a MAINTAINERS entry covering all the Broadcom BCM63xx ARM DSL SoCs files along with the relevant git tree and mailing-list. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 9c8c1b97d72605de985a334efa5ad81cb7cce26b Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Feb 20 16:47:00 2014 -0800 ARM: BCM63XX: add BCM963138DVT Reference platform DTS Add a DTS file for the Broadcom BCM963138DVT reference platform board which leverages the bcm63138.dtsi SoC DTSi file. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit 46d4bca0445a052193a99dd361bf57517ac11049 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Feb 20 16:11:28 2014 -0800 ARM: BCM63XX: add BCM63138 minimal Device Tree Add a very minimalistic BCM63138 Device Tree include file which describes the BCM63138 SoC with only the basic set of required peripherals: - Cortex A9 CPUs - ARM GIC - ARM SCU - PL310 Level-2 cache controller - ARM TWD & Global timers - ARM TWD watchdog - legacy MIPS bus (UBUS) - BCM6345-style UARTs (disabled by default) Since the PL310 L2 cache controller does not come out of reset with correct default values, we need to override the 'cache-sets' and 'cache-size' properties to get its geometry right. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit b51312bebfa4452470c2bbf179200cb7c16d82d4 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Jan 8 09:19:50 2014 -0800 ARM: BCM63XX: add low-level UART debug support Broadcom BCM63xx DSL SoCs have a different UART implementation for which we need specially crafted low-level debug assembly code to support. Add support for this using the standard definitions provided in include/linux/serial_bcm63xx.h (shared with their MIPS counterparts). Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit dc6aec60e15fec86cdafc47d9fe3e2ca6c10958b Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Feb 20 15:53:13 2014 -0800 ARM: BCM63XX: add basic support for the Broadcom BCM63138 DSL SoC This patch adds basic support for the Broadcom BCM63138 DSL SoC which is using a dual-core Cortex A9 system. Add the very minimum required code boot Linux on this SoC. Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> commit a6583c7c8114c4850b57365e85da85e37d5fc568 Author: Ganapatrao Kulkarni <ganapatrao.kulkarni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 18:53:54 2014 +0100 arm64:mm: initialize max_mapnr using function set_max_mapnr Initializing max_mapnr using set_max_mapnr() helper function instead of direct reference. Also not adding PHYS_PFN_OFFSET to max_pfn, since it already contains it. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Ganapatrao Kulkarni <ganapatrao.kulkarni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 48561afef401876b4b0e35a303d89884c10fe468 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Wed Sep 17 15:12:33 2014 +0800 ASoC: rt5677: Add the TDM function The patch adds the TDM function. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5d5e63af998026f0340d1081fb15ad3c26d80c81 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Sep 17 20:58:02 2014 +0800 ASoC: Remove return value checking for gpiochip_remove() gpiochip_remove() will return void eventually. Thus this patch removes return value checking for gpiochip_remove(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6f34163c5474326dd70239045f1957fe369460dd Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Sep 17 13:21:48 2014 +0200 regulator: fan53555: fix wrong cast in probe The vendor-id gathered from the dt match-data was cast to int but assigned to an unsigned long, producing warnings on at least sparc, like drivers/regulator/fan53555.c: In function 'fan53555_regulator_probe': >> drivers/regulator/fan53555.c:373:16: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] di->vendor = (int) match->data; Fix this by using an appropriate cast. Reported-by: kbuild test robot Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e2b9e4df655f3708fb8b712f0e66e6ea700995e Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Sep 17 10:02:45 2014 -0600 ARM: tegra: enable PCIe in Jetson TK1 DT Enable both PCIe ports, one of which is connected to an onboard ethernet chip, whereas the other goes to a miniPCIe slot. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> [swarren, fixed PCIe supply property names in DT] Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit ee588e2a30269d0572fc9ebdd7527f9711d6366d Author: Thierry Reding <treding@xxxxxxxxxx> Date: Wed Sep 17 10:02:44 2014 -0600 ARM: tegra: add PCIe to Tegra124 DT Add the PCIe controller device tree node and hook up the PCIe PHY from the XUSB pad controller. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 6717f3d1286c5bb9b73a7a97f1e71333b72d82f9 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 17 00:04:46 2014 +0800 ARM: dts: sun5i: Add DT for HSG H702 tablet board This is a Q8 format 7 inch tablet with an Allwinner A13 SoC. It has 512MB DRAM, 4GB NAND flash, an accelerometer, camera, RTL8188-based WiFi, and micro SD slot for external storage. It is likely made by a subsidiary of Hanns.G (Hannstar). Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit a5a68f7509b86bf08a18ed6e4af9226ca5be1634 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Sep 17 00:04:45 2014 +0800 ARM: dts: sunxi: Add fixed 5V regulator Most if not all boards we've seen have a fixed 5V regulator, which is the main power supply and/or fixed output of the PMIC. Add this one to the common regulators DTSI. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 32c741d07f7fdb1974eb07420fc143d479bfe19f Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 17 15:45:39 2014 +0200 ARM: mvebu: switch the Armada 370 RD board to internal registers at 0xf1000000 Recent bootloader versions from Marvell that have DT support and various other new features remap the internal registers at 0xf1000000. We have already done this change for most of the development boards from Marvell, and this commit does this change for the Marvell Armada 370 RD board. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410961539-10388-1-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit feb60beacd036400a9e1afe762892c08b4811ded Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 21:37:57 2014 +0200 Documentation: arm: add hardware datasheet reference for Marvell Armada XP Some time ago, the "Function Specifications" for the Marvell Armada XP processor has been released. However, the "Hardware Specifications" were not released at the same time. They have now been released publicly, so this commit updates the Marvell documentation file with the references to this new documentation. Three documents are available, one for each of the three variants of Armada XP: 78230, 78260 and 78460. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410896277-32476-1-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ce6a144a0d01c6628496e4c0d18fbf3a0362cc67 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Mon Sep 15 18:59:42 2014 -0400 selftests/memfd: Run test on all architectures Remove the dependence on x86 to run the memfd test. Verfied on 32-bit powerpc. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit f51770ed465e6eb41da7fa16fd92eb67069600cf Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Tue Sep 16 18:41:59 2014 +0800 kvm: Make init_rmode_identity_map() return 0 on success. In init_rmode_identity_map(), there two variables indicating the return value, r and ret, and it return 0 on error, 1 on success. The function is only called by vmx_create_vcpu(), and ret is redundant. This patch removes the redundant variable, and makes init_rmode_identity_map() return 0 on success, -errno on failure. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a255d4795f83cf3e6a1c7d5ab998392d9413298c Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Tue Sep 16 18:41:58 2014 +0800 kvm: Remove ept_identity_pagetable from struct kvm_arch. kvm_arch->ept_identity_pagetable holds the ept identity pagetable page. But it is never used to refer to the page at all. In vcpu initialization, it indicates two things: 1. indicates if ept page is allocated 2. indicates if a memory slot for identity page is initialized Actually, kvm_arch->ept_identity_pagetable_done is enough to tell if the ept identity pagetable is initialized. So we can remove ept_identity_pagetable. NOTE: In the original code, ept identity pagetable page is pinned in memroy. As a result, it cannot be migrated/hot-removed. After this patch, since kvm_arch->ept_identity_pagetable is removed, ept identity pagetable page is no longer pinned in memory. And it can be migrated/hot-removed. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 80ce1639727e9d38729c34f162378508c307ca25 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Sep 2 10:27:36 2014 +0100 KVM: VFIO: register kvm_device_ops dynamically Now that we have a dynamic means to register kvm_device_ops, use that for the VFIO kvm device, instead of relying on the static table. This is achieved by a module_init call to register the ops with KVM. Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Alex Williamson <Alex.Williamson@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 84877d93336de21a6251db00b841468a83c65906 Author: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Date: Tue Sep 2 10:27:35 2014 +0100 KVM: s390: register flic ops dynamically Using the new kvm_register_device_ops() interface makes us get rid of an #ifdef in common code. Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c06a841bf36340e9e917ce60d11a6425ac85d0bd Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Sep 2 10:27:34 2014 +0100 KVM: ARM: vgic: register kvm_device_ops dynamically Now that we have a dynamic means to register kvm_device_ops, use that for the ARM VGIC, instead of relying on the static table. Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d60eacb07053142bfb9b41582074a89a790a9d46 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Sep 2 10:27:33 2014 +0100 KVM: device: add simple registration mechanism for kvm_device_ops kvm_ioctl_create_device currently has knowledge of all the device types and their associated ops. This is fairly inflexible when adding support for new in-kernel device emulations, so move what we currently have out into a table, which can support dynamic registration of ops by new drivers for virtual hardware. Cc: Alex Williamson <Alex.Williamson@xxxxxxxxxx> Cc: Alex Graf <agraf@xxxxxxx> Cc: Gleb Natapov <gleb@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 52362810bec8a912324169920cced021e3887b3e Author: Jan Kara <jack@xxxxxxx> Date: Wed Sep 10 21:06:39 2014 +0200 ocfs2: Don't use MAXQUOTAS value MAXQUOTAS value defines maximum number of quota types VFS supports. This isn't necessarily the number of types ocfs2 supports and with addition of project quotas these two numbers stop matching. So make ocfs2 use its private definition. CC: Mark Fasheh <mfasheh@xxxxxxxx> CC: Joel Becker <jlbec@xxxxxxxxxxxx> CC: ocfs2-devel@xxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> commit aca60617738334be3e8e0daa48be06844ce9e9fd Author: Jan Kara <jack@xxxxxxx> Date: Wed Sep 10 20:57:45 2014 +0200 reiserfs: Don't use MAXQUOTAS value MAXQUOTAS value defines maximum number of quota types VFS supports. This isn't necessarily the number of types reiserfs supports and with addition of project quotas these two numbers stop matching. So make reiserfs use its private definition. CC: reiserfs-devel@xxxxxxxxxxxxxxx CC: Jeff Mahoney <jeffm@xxxxxxx> Signed-off-by: Jan Kara <jack@xxxxxxx> commit a93114e4688f8ff7aba3a1012f17cfadc054d08b Author: Jan Kara <jack@xxxxxxx> Date: Wed Sep 10 20:48:02 2014 +0200 ext3: Don't use MAXQUOTAS value MAXQUOTAS value defines maximum number of quota types VFS supports. This isn't necessarily the number of types ext3 supports and with addition of project quotas these two numbers stop matching. So make ext3 use its private definition. CC: linux-ext4@xxxxxxxxxxxxxxx Signed-off-by: Jan Kara <jack@xxxxxxx> commit 6fb1ca92a6409a9d5b0696447cd4997bc9aaf5a2 Author: Jan Kara <jack@xxxxxxx> Date: Tue Sep 9 13:03:03 2014 +0200 udf: Fix race between write(2) and close(2) Currently write(2) updating i_size and close(2) of the file can race in such a way that udf_truncate_tail_extent() called from udf_file_release() sees old i_size but already new extents added by the running write call. This results in complaints like: UDF-fs: warning (device vdb2): udf_truncate_tail_extent: Too long extent after EOF in inode 877: i_size: 0 lbcount: 1073739776 extent 0+1073739776 UDF-fs: error (device vdb2): udf_truncate_tail_extent: Extent after EOF in inode 877 Fix the problem by grabbing i_mutex in udf_file_release() to be sure i_size is consistent with current state of extent list. Also avoid truncating tail extent unnecessarily when the file is still open for writing. Signed-off-by: Jan Kara <jack@xxxxxxx> commit fef775caa705255358cdf7bbaf9bbc2fd1111761 Author: Ezequiel GarcÃa <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 12:02:08 2014 -0300 nand: omap2: Add support for flash-based bad block table This commit adds a new platform-data boolean property that enables use of a flash-based bad block table. This can also be enabled by setting the 'nand-on-flash-bbt' devicetree property. If the flash BBT is not enabled, the driver falls back to use OOB bad block markers only, as before. If the flash BBT is enabled the kernel will keep track of bad blocks using a BBT, in addition to the OOB markers. As explained by Brian Norris the reasons for using a BBT are: "" The primary reason would be that NAND datasheets specify it these days. A better argument is that nobody guarantees that you can write a bad block marker to a worn out block; you may just get program failures. This has been acknowledged by several developers over the last several years. Additionally, you get a boot-time performance improvement if you only have to read a few pages, instead of a page or two from every block on the flash. "" Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Acked-by: Roger Quadros <rogerq@xxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2d405ec5fdd5b6848beb820301d4fcaa3e2c4159 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Sat Sep 13 01:23:59 2014 +0200 mtd: nand: atmel_nand: retrieve NFC clock Retrieve the NFC clock to make sure it is enabled. Make that optional to ensure compatibility with previous device trees but document it as mandatory so newer device trees will include it. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0097db06f5ab2df1756bc4cbf4395593024d87a1 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Sep 16 21:36:09 2014 +0200 Bluetooth: Remove exported hci_recv_fragment function The hci_recv_fragment function is no longer used by any driver and thus do not export it. In fact it is not even needed by the core and it can be removed altogether. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8bb1ffdf76276c040a065c4df173dfce98b5ffa3 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 22:51:22 2014 +0200 ALSA: hda - Replace strnicmp with strncasecmp The kernel used to contain two functions for length-delimited, case-insensitive string comparison, strnicmp with correct semantics and a slightly buggy strncasecmp. The latter is the POSIX name, so strnicmp was renamed to strncasecmp, and strnicmp made into a wrapper for the new strncasecmp to avoid breaking existing users. To allow the compat wrapper strnicmp to be removed at some point in the future, and to avoid the extra indirection cost, do s/strnicmp/strncasecmp/g. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c21c4ab0d6921f7160a43216fa6973b5924de561 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Tue Sep 16 11:37:08 2014 -0400 sparc64: Move request_irq() from ldc_bind() to ldc_alloc() The request_irq() needs to be done from ldc_alloc() to avoid the following (caught by lockdep) [00000000004a0738] __might_sleep+0xf8/0x120 [000000000058bea4] kmem_cache_alloc_trace+0x184/0x2c0 [00000000004faf80] request_threaded_irq+0x80/0x160 [000000000044f71c] ldc_bind+0x7c/0x220 [0000000000452454] vio_port_up+0x54/0xe0 [00000000101f6778] probe_disk+0x38/0x220 [sunvdc] [00000000101f6b8c] vdc_port_probe+0x22c/0x300 [sunvdc] [0000000000451a88] vio_device_probe+0x48/0x60 [000000000074c56c] really_probe+0x6c/0x300 [000000000074c83c] driver_probe_device+0x3c/0xa0 [000000000074c92c] __driver_attach+0x8c/0xa0 [000000000074a6ec] bus_for_each_dev+0x6c/0xa0 [000000000074c1dc] driver_attach+0x1c/0x40 [000000000074b0fc] bus_add_driver+0xbc/0x280 Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Dwight Engen <dwight.engen@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05aa1651e8b9ca078b1808a2fe7b50703353ec02 Author: bob picco <bpicco@xxxxxxxxxx> Date: Tue Sep 16 10:09:06 2014 -0400 sparc64: T5 PMU The T5 (niagara5) has different PCR related HV fast trap values and a new HV API Group. This patch utilizes these and shares when possible with niagara4. We use the same sparc_pmu niagara4_pmu. Should there be new effort to obtain the MCU perf statistics then this would have to be changed. Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7c21d533ab2ffa1e681bdaf4a53ce3046f6e0e17 Author: bob picco <bpicco@xxxxxxxxxx> Date: Tue Sep 16 09:29:54 2014 -0400 sparc64: mem boot option correction The "mem" boot option can result in many unexpected consequences. This patch attempts to prevent boot hangs which have been experienced on T4-4 and T5-8. Basically the boot loader allocates vmlinuz and initrd higher in available OBP physical memory. For example, on a 2Tb T5-8 it isn't possible to boot with mem=20G. The patch utilizes memblock to avoid reserved regions and trim memory which is only free. Other improvements are possible for a multi-node machine. This is a snippet of the boot log with mem=20G on T5-8 with the patch applied: MEMBLOCK configuration: <- before memory reduction memory size = 0x1ffad6ce000 reserved size = 0xa1adf44 memory.cnt = 0xb memory[0x0] [0x00000030400000-0x00003fdde47fff], 0x3fada48000 bytes memory[0x1] [0x00003fdde4e000-0x00003fdde4ffff], 0x2000 bytes memory[0x2] [0x00080000000000-0x00083fffffffff], 0x4000000000 bytes memory[0x3] [0x00100000000000-0x00103fffffffff], 0x4000000000 bytes memory[0x4] [0x00180000000000-0x00183fffffffff], 0x4000000000 bytes memory[0x5] [0x00200000000000-0x00203fffffffff], 0x4000000000 bytes memory[0x6] [0x00280000000000-0x00283fffffffff], 0x4000000000 bytes memory[0x7] [0x00300000000000-0x00303fffffffff], 0x4000000000 bytes memory[0x8] [0x00380000000000-0x00383fffc71fff], 0x3fffc72000 bytes memory[0x9] [0x00383fffc92000-0x00383fffca1fff], 0x10000 bytes memory[0xa] [0x00383fffcb4000-0x00383fffcb5fff], 0x2000 bytes reserved.cnt = 0x2 reserved[0x0] [0x00380000000000-0x0038000117e7f8], 0x117e7f9 bytes reserved[0x1] [0x00380004000000-0x0038000d02f74a], 0x902f74b bytes ... MEMBLOCK configuration: <- after reduction of memory memory size = 0x50a1adf44 reserved size = 0xa1adf44 memory.cnt = 0x4 memory[0x0] [0x00380000000000-0x0038000117e7f8], 0x117e7f9 bytes memory[0x1] [0x00380004000000-0x0038050d01d74a], 0x50901d74b bytes memory[0x2] [0x00383fffc92000-0x00383fffca1fff], 0x10000 bytes memory[0x3] [0x00383fffcb4000-0x00383fffcb5fff], 0x2000 bytes reserved.cnt = 0x2 reserved[0x0] [0x00380000000000-0x0038000117e7f8], 0x117e7f9 bytes reserved[0x1] [0x00380004000000-0x0038000d02f74a], 0x902f74b bytes ... Early memory node ranges node 7: [mem 0x380000000000-0x38000117dfff] node 7: [mem 0x380004000000-0x380f0d01bfff] node 7: [mem 0x383fffc92000-0x383fffca1fff] node 7: [mem 0x383fffcb4000-0x383fffcb5fff] Could not find start_pfn for node 0 Could not find start_pfn for node 1 Could not find start_pfn for node 2 Could not find start_pfn for node 3 Could not find start_pfn for node 4 Could not find start_pfn for node 5 Could not find start_pfn for node 6 . The patch was tested on T4-1, T5-8 and Jalap?no. Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 109ab90974995a06aeabab1535b0ce00f26dd24a Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Thu Sep 11 13:53:54 2014 -0700 drm/ttm: make sure format string cannot leak in While zone->name is currently hard coded, the call to kobject_init_and_add() should follow the more defensive argument list usage (as already done in other places in ttm_memory.c) where "%s" is used instead of directly passing in a variable as a format string. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d898ce03675fc061f89a347a22d41271ed75c436 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:22 2014 -0300 drm/tilcdc: panel: Add support for enable GPIO In order to support the "enable GPIO" available in many panel devices, this commit adds a proper devicetree binding. By providing an enable GPIO in the devicetree, the driver can now turn off and on the panel device, and/or the backlight device. Both the backlight and the GPIO are optional properties. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 12778fc14301cf24d79cd89b0129874c319d0a38 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:21 2014 -0300 drm/tilcdc: panel: Set return value explicitly Instead of setting an initial value for the return code, set it explicitly on each error path. This is just a cosmetic cleanup, as preparation for the enable GPIO support. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 18c44db8cafe9bda4fcb51bfc05c1f1d7cefc44c Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:20 2014 -0300 drm/tilcdc: panel: Fix backlight devicetree support The current backlight support is broken; the driver expects a backlight-class in the panel devicetree node. Fix this by implementing it properly, getting an optional backlight from a phandle. This shouldn't cause any backward-compatibility DT issue because the current implementation doesn't work and is not even documented. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 3dee9df54836d5f844f3d58281d3f3e6331b467f Author: bob picco <bpicco@xxxxxxxxxx> Date: Tue Sep 16 09:28:15 2014 -0400 sparc64: find_node adjustment We have seen an issue with guest boot into LDOM that causes early boot failures because of no matching rules for node identitity of the memory. I analyzed this on my T4 and concluded there might not be a solution. I saw the issue in mainline too when booting into the control/primary domain - with guests configured. Note, this could be a firmware bug on some older machines. I'll provide a full explanation of the issues below. Should we not find a matching BEST latency group for a real address (RA) then we will assume node 0. On the T4-2 here with the information provided I can't see an alternative. Technically the LDOM shown below should match the MBLOCK to the favorable latency group. However other factors must be considered too. Were the memory controllers configured "fine" grained interleave or "coarse" grain interleaved - T4. Also should a "group" MD node be considered a NUMA node? There has to be at least one Machine Description (MD) "group" and hence one NUMA node. The group can have one or more latency groups (lg) - more than one memory controller. The current code chooses the smallest latency as the most favorable per group. The latency and lg information is in MLGROUP below. MBLOCK is the base and size of the RAs for the machine as fetched from OBP /memory "available" property. My machine has one MBLOCK but more would be possible - with holes? For a T4-2 the following information has been gathered: with LDOM guest MEMBLOCK configuration: memory size = 0x27f870000 memory.cnt = 0x3 memory[0x0] [0x00000020400000-0x0000029fc67fff], 0x27f868000 bytes memory[0x1] [0x0000029fd8a000-0x0000029fd8bfff], 0x2000 bytes memory[0x2] [0x0000029fd92000-0x0000029fd97fff], 0x6000 bytes reserved.cnt = 0x2 reserved[0x0] [0x00000020800000-0x000000216c15c0], 0xec15c1 bytes reserved[0x1] [0x00000024800000-0x0000002c180c1e], 0x7980c1f bytes MBLOCK[0]: base[20000000] size[280000000] offset[0] (note: "base" and "size" reported in "MBLOCK" encompass the "memory[X]" values) (note: (RA + offset) & mask = val is the formula to detect a match for the memory controller. should there be no match for find_node node, a return value of -1 resulted for the node - BAD) There is one group. It has these forward links MLGROUP[1]: node[545] latency[1f7e8] match[200000000] mask[200000000] MLGROUP[2]: node[54d] latency[2de60] match[0] mask[200000000] NUMA NODE[0]: node[545] mask[200000000] val[200000000] (latency[1f7e8]) (note: "val" is the best lg's (smallest latency) "match") no LDOM guest - bare metal MEMBLOCK configuration: memory size = 0xfdf2d0000 memory.cnt = 0x3 memory[0x0] [0x00000020400000-0x00000fff6adfff], 0xfdf2ae000 bytes memory[0x1] [0x00000fff6d2000-0x00000fff6e7fff], 0x16000 bytes memory[0x2] [0x00000fff766000-0x00000fff771fff], 0xc000 bytes reserved.cnt = 0x2 reserved[0x0] [0x00000020800000-0x00000021a04580], 0x1204581 bytes reserved[0x1] [0x00000024800000-0x0000002c7d29fc], 0x7fd29fd bytes MBLOCK[0]: base[20000000] size[fe0000000] offset[0] there are two groups group node[16d5] MLGROUP[0]: node[1765] latency[1f7e8] match[0] mask[200000000] MLGROUP[3]: node[177d] latency[2de60] match[200000000] mask[200000000] NUMA NODE[0]: node[1765] mask[200000000] val[0] (latency[1f7e8]) group node[171d] MLGROUP[2]: node[1775] latency[2de60] match[0] mask[200000000] MLGROUP[1]: node[176d] latency[1f7e8] match[200000000] mask[200000000] NUMA NODE[1]: node[176d] mask[200000000] val[200000000] (latency[1f7e8]) (note: for this two "group" bare metal machine, 1/2 memory is in group one's lg and 1/2 memory is in group two's lg). Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 971645d1fd734b8098a5113d61ab9ea93ce83921 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:19 2014 -0300 drm/tilcdc: panel: Use devm_kzalloc to simplify the error path Using the managed variant to allocate the resource makes the code simpler and less error-prone. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e3a9b04621681d0f07bc8e9935684e6400edef7c Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:18 2014 -0300 drm/tilcdc: panel: Spurious whitespace removal Just a cosmetic cleanup. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 75ece7b788f37bf7a2c51ff199b2011ee5e631a4 Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:17 2014 -0300 drm/tilcdc: panel: Remove unused variable Just a trivial cleanup to remove the variable. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 9430dfa67d7609b2d6c1ba1ce609c4db192fd78e Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:16 2014 -0300 drm/tilcdc: panel: Add missing of_node_put This commit adds the missing calls to of_node_put to release the node that's currently held by the of_get_child_by_name() call in the panel info parsing code. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit b478e336b3e75505707a11e78ef8b964ef0a03af Author: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:51:15 2014 -0300 drm/tilcdc: Fix the error path in tilcdc_load() The current error path calls tilcdc_unload() in case of an error to release the resources. However, this is wrong because not all resources have been allocated by the time an error occurs in tilcdc_load(). To fix it, this commit adds proper labels to bail out at the different stages in the load function, and release only the resources actually allocated. Tested-by: Darren Etheridge <detheridge@xxxxxx> Tested-by: Johannes Pointner <johannes.pointner@xxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 4ccb9272892c33ef1c19a783cfa87103b30c2784 Author: bob picco <bpicco@xxxxxxxxxx> Date: Tue Sep 16 09:26:47 2014 -0400 sparc64: sun4v TLB error power off events We've witnessed a few TLB events causing the machine to power off because of prom_halt. In one case it was some nfs related area during rmmod. Another was an mmapper of /dev/mem. A more recent one is an ITLB issue with a bad pagesize which could be a hardware bug. Bugs happen but we should attempt to not power off the machine and/or hang it when possible. This is a DTLB error from an mmapper of /dev/mem: [root@sparcie ~]# SUN4V-DTLB: Error at TPC[fffff80100903e6c], tl 1 SUN4V-DTLB: TPC<0xfffff80100903e6c> SUN4V-DTLB: O7[fffff801081979d0] SUN4V-DTLB: O7<0xfffff801081979d0> SUN4V-DTLB: vaddr[fffff80100000000] ctx[1250] pte[98000000000f0610] error[2] . This is recent mainline for ITLB: [ 3708.179864] SUN4V-ITLB: TPC<0xfffffc010071cefc> [ 3708.188866] SUN4V-ITLB: O7[fffffc010071cee8] [ 3708.197377] SUN4V-ITLB: O7<0xfffffc010071cee8> [ 3708.206539] SUN4V-ITLB: vaddr[e0003] ctx[1a3c] pte[2900000dcc800eeb] error[4] . Normally sun4v_itlb_error_report() and sun4v_dtlb_error_report() would call prom_halt() and drop us to OF command prompt "ok". This isn't the case for LDOMs and the machine powers off. For the HV reported error of HV_ENORADDR for HV HV_MMU_MAP_ADDR_TRAP we cause a SIGBUS error by qualifying it within do_sparc64_fault() for fault code mask of FAULT_CODE_BAD_RA. This is done when trap level (%tl) is less or equal one("1"). Otherwise, for %tl > 1, we proceed eventually to die_if_kernel(). The logic of this patch was partially inspired by David Miller's feedback. Power off of large sparc64 machines is painful. Plus die_if_kernel provides more context. A reset sequence isn't a brief period on large sparc64 but better than power-off/power-on sequence. Cc: sparclinux@xxxxxxxxxxxxxxx Signed-off-by: Bob Picco <bob.picco@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08adafd4a1f8c9b6e2c49d955a0e45743c9ffd9a Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 16 21:57:16 2014 +0200 ARM: shmobile: Add manufacturer for KZM boards KZM-A9-Dual and KZM-A9-GT are manufactured by Kyoto Microcomputer Co. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8237f9e5c38098aeb8570a77bacd0fe0ebc61dfa Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Sep 16 21:58:03 2014 +0200 ARM: shmobile: r8a7740 legacy: Fix copied bug in comment The corresponding bug in pm-sh7372.c was fixed in commit 70fe7b24672a988f ("ARM: shmobile: Do not access sh7372 A4S domain internals directly"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f9dd0ce67db80079484f154a27581e30c28e6938 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 9 15:11:50 2014 +0300 PCI: xilinx: Fix xilinx_pcie_assign_msi() return value test We should be testing "hwirq" instead of "irq". "irq" is unsigned so it's never less than zero. Also it's uninitialized. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Srikanth Thokala <sthokal@xxxxxxxxxx> commit 6df5d768050f31d810dd3ba0ad8210922c3e9b6d Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Sep 9 15:11:32 2014 +0530 ASoC: Intel: mrfld: Use snd_soc_dai_get_drvdata to derive drv data Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e306b6ee4d7ed7632765165749a36b8c8b4aeff2 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Sep 16 21:02:31 2014 +0200 ASoC: cs35l32: remove second linux/slab.h inclusion linux/slab.h was included twice. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ee30928ab616786cae926c5c2efaa4303ba66802 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 21:22:54 2014 +0200 regulator: fan53555: add support for Silergy SYR82x regulators Silergy SYR82x regulators share the exact same functionality and register layout as the Fairchild FAN53555 regulators. Therefore extend the driver to add support for them. Both types use the same vendor id in their ID1 register, so it's not possible to distinguish them automatically. Similarly, the types also do not match. Type 8 used by the SYR827 and SYR828 start at 712.5mV and increment in 12.5mv steps, while the FAN53555 type 8 starts at 600mV and increments in 10mV steps. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 91f23d8fb67c90a50676e4db9260a21647ef753f Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 21:22:53 2014 +0200 regulator: fan53555: add devicetree support Add the ability to parse regulator-data from the devicetree. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ed801b4046beead31cb83e78a5758497c0a6c3a6 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 21:22:52 2014 +0200 regulator: add devicetree bindings for Fairchild FAN53555 regulators Document the regulator and add a fairchild vendor-prefix. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 63ddc0b8fe5ebbac88e2ac84b489470bf3a22965 Author: Megan Kamiya <megan.a.kamiya@xxxxxxxxx> Date: Fri Sep 5 20:19:10 2014 -0700 PCI: Parenthesize PCI_DEVID and PCI_VPD_LRDT_ID parameters Add parentheses around parameters in PCI_DEVID and PCI_VPD_LRDT_ID macros to prevent possible expansion errors as described by the CERT Secure Coding Standard: PRE01-C: Use parentheses within macros around parameter names Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Megan Kamiya <megan.a.kamiya@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 7f1f054b3fac0b19ec0d74e3e18b73785c26f0a8 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 26 17:11:38 2014 +0200 PCI: tegra: Add Tegra124 support The PCIe controller on Tegra124 has two root ports that can be used in a x4/x1 or x2/x1 configuration and can run at PCIe 2.0 link speeds (up to 5 GT/s). The PHY programming has been moved into a separate controller, so the driver now needs to request an external PHY referenced using the device tree. Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit ec73276204f06b6446a9c9b70173a1c15f6de536 Author: Eric Yuen <eyuen@xxxxxxxxxx> Date: Tue Aug 26 17:11:37 2014 +0200 PCI: tegra: Make sure the PCIe PLL is really reset Depending on the prior state of the controller, the PLL reset may not be pulsed. Clear the register bit and set it after a small delay to ensure that the PLL is really reset. Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Eric Yuen <eyuen@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 8d41794c6fc61ac2f09b5c25267e2c68748326cc Author: Peter Daifuku <pdaifuku@xxxxxxxxxx> Date: Tue Aug 26 17:11:36 2014 +0200 PCI: tegra: Fix extended configuration space mapping The 16 chunks of 64 KiB that need to be stitched together to make up the configuration space for one bus (1 MiB) are located 24 bits (== 16 MiB) apart in physical address space. This is determined by the start of the extended register field (bits 24-27) in the physical mapping. Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Peter Daifuku <pdaifuku@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0d20d6219216c5b37be8c82ee4a58d7f642e7cb0 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 26 17:11:35 2014 +0200 PCI: tegra: Clear CLKREQ# enable on port disable When a root port is disabled, disable the CLKREQ# signal if available. Tested-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit c22b47f03cdf01c7c4859b818b2a413251dde28d Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Thu Aug 21 16:01:30 2014 +0530 powerpc: dts: t208x: Change T208x USB controller version Change USB controller version to 2.5 in compatible string for T2080/T2081 Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 9fe373f9997b48fcd6222b95baf4a20c134b587a Author: Douglas Lehr <dllehr@xxxxxxxxxx> Date: Thu Aug 21 09:26:52 2014 +1000 PCI: Increase IBM ipr SAS Crocodile BARs to at least system page size The Crocodile chip occasionally comes up with 4k and 8k BAR sizes. Due to an erratum, setting the SR-IOV page size causes the physical function BARs to expand to the system page size. Since ppc64 uses 64k pages, when Linux tries to assign the smaller resource sizes to the now 64k BARs the address will be truncated and the BARs will overlap. Force Linux to allocate the resource as a full page, which avoids the overlap. [bhelgaas: print expanded resource, too] Signed-off-by: Douglas Lehr <dllehr@xxxxxxxxxx> Signed-off-by: Anton Blanchard <anton@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Milton Miller <miltonm@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx commit e0d1b6b77ced59d852d38fcf9a8a0a1c40c84cee Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 5 14:08:55 2014 +0200 PCI/AER: Make <linux/aer.h> standalone includable The header file references u16 and u32 types, but they are not defined in the header nor does the header pull in the necessary includes for them. This causes build breakage when the file is included without any of the dependencies being satisfied from somewhere else. Fix this by including linux/types.h (for u16 and u32). [bhelgaas: removed pci_dev declaration (already added by 5ccb8225abf2)] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit be63497c413e22d5abdf32313f4b469af6aa7f4c Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Sep 9 10:21:28 2014 +0800 PCI: Use device flag helper functions Use PCI device flag helper functions when checking whether a device is assigned. No functional change. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit be507fd09011d2af3b34940fe616a2dd569fd3f7 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Sep 9 10:21:27 2014 +0800 xen/pciback: Use PCI device flag helper functions Use PCI device flag helper functions when assigning or releasing device. No functional change. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Acked-by: David Vrabel <david.vrabel@xxxxxxxxxx> commit ad0d217ca645477ba30c2f3cf1a5bbb7ef18b1fd Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Sep 9 10:21:26 2014 +0800 KVM: Use PCI device flag helper functions Use PCI device flag helper functions when assigning or releasing device. No functional change. Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ce0529843a505d09f5809a7db6288d2f038f64c4 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Sep 9 10:21:25 2014 +0800 PCI: Add device flag helper functions Add helper functions to hide direct device flag operations: void pci_set_dev_assigned(struct pci_dev *dev); void pci_clear_dev_assigned(struct pci_dev *dev); bool pci_is_dev_assigned(struct pci_dev *dev); Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 8665a482dbb5dd4cba44f46e3099e783a3695027 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Wed Sep 10 13:12:39 2014 -0400 PCI: keystone: Set device ID based on SoC to support multiple ports K2E SoC has two PCI ports. The SATA controller is connected to second PCI port (port 1). To support multiple port handling in Keystone PCI driver, read the PCI device ID dynamically by iomap/read/unmap during probe and save it in driver's private data and update it in host init code. The PCI device ID field in the RC's config space is not filled by default by the hardware and has to be updated by the PCI driver by reading the same from the SoC register indicated by reg index #2 in DT bindings. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 4455efc90855ff5a6065caea835b0d13a284c5a1 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Wed Sep 10 13:12:38 2014 -0400 PCI: keystone: Assume controller is already in RC mode Keystone PCI hardware supports both RC and EP modes and devcfg register has bits to boot strap the device to either of these modes. It seems proper to add this functionality to the boot loader rather than in the driver as device will be operating in either mode, not both any time. Currently the driver supports only RC mode and hence register configuration in the driver is not needed and the driver can assume the hardware is in RC mode. Also update the DT documentation accordingly. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 64d5947b9ee1284b38b8e212e7c94024452b2bb4 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:09 2014 -0500 irqchip: omap-intc: remove unnecessary comments no fuctional changes. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 74b6c8ef546dec98f1817147d31f17a1f3aab09e Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:08 2014 -0500 irqchip: omap-intc: correct maximum number or MIR registers maximum number of MIR register is 4, rather than 3. Fix that. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b30791498a140d9460dfb9cb8edcb6fd1065363c Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:07 2014 -0500 irqchip: omap-intc: enable TURBO idle mode When TURBO bit is set in the INTC_IDLE register, the input synchronizer clock will be autogated based on activity on the INTC. Because this idle mode increases the interrupt latency by 2 clock cycles, we're only enabling it during suspend. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9836ee9f87dc669c8ce2b24ba986600a6977ca8b Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:06 2014 -0500 irqchip: omap-intc: enable IP protection When PROTECTION bit in enabled in PROTECTION register, INTC's registers are only accessible from privileged mode. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8bb3b375c8837ea73740883a90b1d7719b2653cc Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:05 2014 -0500 irqchip: omap-intc: remove unnecesary of_address_to_resource() call of_iomap(), which is called from omap_init_irq_of(), already takes care of making sure we have a valid resource to deal with. Because of that, we can safely remove our explicit call to of_address_to_resource(). Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 503b8d12e7462df0aea9b31ab65ac17b538540c9 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:04 2014 -0500 irqchip: omap-intc: comment style cleanup no functional changes, just making sure comment follows Coding Style. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6bd0f16e322b4572fe1e0ff3b0e78c800c2633b4 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:03 2014 -0500 irqchip: omap-intc: minor improvement to omap_irq_pending() We already hold the number of Pending registers in omap_nr_pending. Let's use that instead. Acked-by: Jason Cooper <jason@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8598066cddd186809c4edf5aae5f018c00079e8c Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:02 2014 -0500 arm: omap: irq: move irq.c to drivers/irqchip/ Just move the code over as it has no dependencies on arch/arm/ anymore. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit eaacabc0d9b637c82788c66955b4ba0efebd5500 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 16:15:01 2014 -0500 irqchip: add irq-omap-intc.h header OMAP INTC irqchip driver will be moved under drivers/irqchip/ soon but we still have a dependency with mach-omap2 when it comes to idle functions. In order to make it easy to share those function prototypes with OMAP PM code, we introduce this new header. To avoid modifying several board-files and some of the PM-related code, we just include the new header from common.h which was already included by all users of IRQ-related PM code. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e92ce89c29fe104bc1246913f385093bbae7b564 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 16 15:31:40 2014 -0500 arm: omap2: n8x0: move i2c devices to DT By moving i2c devices to DT we can clean up i2c_board_info and fix a problem with moving INTC to irq domain where IRQs can be renumbered on each boot. Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2134cb997f2f1b2d960ad8705d67dc8d690ba59c Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Sep 3 20:05:34 2014 +0300 gpio: syscon: reuse for keystone 2 socs On Keystone SOCs, ARM host can send interrupts to DSP cores using the DSP GPIO controller IP. Each DSP GPIO controller provides 28 IRQ signals for each DSP core. This is one of the component used by the IPC mechanism used on Keystone SOCs. Keystone 2 DSP GPIO controller has specific features: - each GPIO can be configured only as output pin; - setting GPIO value to 1 causes IRQ generation on target DSP core; - reading pin value returns 0 - if IRQ was handled or 1 - IRQ is still pending. This patch updates gpio-syscon driver to be reused by Keystone 2 SoCs, because the Keystone 2 DSP GPIO controller is controlled through Syscon devices and, as requested by Linus Walleij, such kind of GPIO controllers should be integrated with drivers/gpio/gpio-syscon.c driver. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5a3e3f88b0a10f8b5baf224ebda5916195fb8745 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Sep 3 20:05:33 2014 +0300 gpio: syscon: retrive syscon node and regs offsets from dt This patch adds handling of new "gpio,syscon-dev" DT property, which allows to specify syscon node and data/direction registers offsets in DT. "gpio,syscon-dev" has following format: gpio,syscon-dev = <&syscon_dev data_reg_offset [direction_reg_offset]>; where - syscon_dev - phandle on syscon node - data_reg_offset - offset of data register (in bytes) - direction_reg_offset - offset of dirrection register (optional, in bytes) for example: gpio,syscon-dev = <&devctrl 0x254>; In such way, the support of multiple Syscon GPIO devices is added. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2c341d62eb4b697793c29da51fda64328df5ff59 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Sep 3 20:05:32 2014 +0300 gpio: syscon: add soc specific callback to assign output value Some SoCs (like Keystone) may require to perform special sequence of operations to assign output GPIO value, so default implementation of .set() callback from gpio-syscon driver can't be used. Hence, add optional, SoC specific callback to assign output gpio value. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c15982dfa8227f3e8fd2a6e2e13a009a9991d96c Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Mon Sep 8 13:03:34 2014 -0400 PCI: keystone: Limit MRSS for all downstream devices Keystone PCIe controller has a limitation that memory read request size must not exceed 256 bytes. This is a hardware limitation. Add a quirk to force this limit on all downstream devices by updating MRRS. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit bceee4a97eb58bd0e80e39eff11b506ddd9e7ad3 Author: Andreas Noever <andreas.noever@xxxxxxxxx> Date: Tue Sep 16 15:16:02 2014 -0600 PCI: pciehp: Prevent NULL dereference during probe pciehp assumes that dev->subordinate, the struct pci_bus for a bridge's secondary bus, exists. But we do not create that bus if we run out of bus numbers during enumeration. This leads to a NULL dereference in init_slot() (and other places). Change pciehp_probe() to return -ENODEV when no secondary bus is present. Signed-off-by: Andreas Noever <andreas.noever@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> CC: stable@xxxxxxxxxxxxxxx # v3.2+ commit bf3c228d36c6b3c90074f928e84e318621969cc6 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Wed Sep 17 02:34:18 2014 +0800 net: fec: fix build error at m68k platform reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 4d494cdc92b3b9a0f5fb9e1560810fa27d5a0489 make.cross ARCH=m68k m5272c3_defconfig make.cross ARCH=m68k drivers/net/ethernet/freescale/fec.h:262:0: warning: "FEC_R_DES_START" redefined #define FEC_R_DES_START(X) ((X == 1) ? FEC_R_DES_START_1 : \ ^ drivers/net/ethernet/freescale/fec.h:158:0: note: this is the location of the previous definition #define FEC_R_DES_START 0x3d0 /* Receive descriptor ring */ ^ drivers/net/ethernet/freescale/fec.h:265:0: warning: "FEC_X_DES_START" redefined #define FEC_X_DES_START(X) ((X == 1) ? FEC_X_DES_START_1 : \ ... Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec4518aad8329364af373f4bf7f4eff25a01a339 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 10:50:01 2014 -0700 locktorture: Document boot/module parameters Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 59da22a02032cf1a069ec431f93d403b321ff6b4 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 10:36:15 2014 -0700 rcutorture: Rename rcutorture_runnable parameter This commit changes rcutorture_runnable to torture_runnable, which is consistent with the names of the other parameters and is a bit shorter as well. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit aaa693e3d8030e4cc531c71facb650ae0880f2fb Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 09:41:27 2014 -0700 locktorture: Add test scenario for rwsem_lock Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 862917a52b5f108200c1aa2a4f5a35c9156c84b9 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 09:36:53 2014 -0700 locktorture: Add test scenario for mutex_lock Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 0acf0153169768a5d672fdcb163279bd05f94ef2 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 09:19:29 2014 -0700 locktorture: Make torture scripting account for new _runnable name Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 630952c22b04ada7e88ad93b87ad893cd818cc6b Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 21:42:25 2014 -0700 locktorture: Introduce torture context The amount of global variables is getting pretty ugly. Group variables related to the execution (ie: not parameters) in a new context structure. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4a3b427f0b27c7e15edfa607524ff012a155337a Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 21:41:30 2014 -0700 locktorture: Support rwsems We can easily do so with our new reader lock support. Just an arbitrary design default: readers have higher (5x) critical region latencies than writers: 50 ms and 10 ms, respectively. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4f6332c1dce9c64ef6bf93842067250dd850e482 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 21:40:41 2014 -0700 locktorture: Add infrastructure for torturing read locks Most of it is based on what we already have for writers. This allows readers to be very independent (and thus configurable), enabling future module parameters to control things such as rw distribution. Furthermore, readers have their own delaying function, allowing us to test different rw critical region latencies, and stress locking internals. Similarly, statistics, for now will only serve for the number of lock acquisitions -- as opposed to writers, readers have no failure detection. In addition, introduce a new nreaders_stress module parameter. The default number of readers will be the same number of writers threads. Writer threads are interleaved with readers. Documentation is updated, respectively. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d36a7a0d5e8b5bff1671723d733eb61621b0cee4 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:21 2014 -0700 torture: Address race in module cleanup When performing module cleanups by calling torture_cleanup() the 'torture_type' string in nullified However, callers are not necessarily done, and might still need to reference the variable. This impacts both rcutorture and locktorture, causing printing things like: [ 94.226618] (null)-torture: Stopping lock_torture_writer task [ 94.226624] (null)-torture: Stopping lock_torture_stats task Thus delay this operation until the very end of the cleanup process. The consequence (which shouldn't matter for this kid of program) is, of course, that we delay the window between rmmod and modprobing, for instance in module_torture_begin(). Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 1e6757a92189278c484799ea98fc69bdc528940e Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:20 2014 -0700 locktorture: Make statistics generic The statistics structure can serve well for both reader and writer locks, thus simply rename some fields that mention 'write' and leave the declaration of lwsa. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f095bfc0ea04829d6962edaf06a5c56e0c251f5b Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:19 2014 -0700 locktorture: Teach about lock debugging Regular locks are very different than locks with debugging. For instance for mutexes, debugging forces to only take the slowpaths. As such, the locktorture module should take this into account when printing related information -- specifically when printing user passed parameters, it seems the right place for such info. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 42ddc75ddd478edac6ad9dc8c63abb4441541af2 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:18 2014 -0700 locktorture: Support mutexes Add a "mutex_lock" torture test. The main difference with the already existing spinlock tests is that the latency of the critical region is much larger. We randomly delay for (arbitrarily) either 500 ms or, otherwise, 25 ms. While this can considerably reduce the amount of writes compared to non blocking locks, if run long enough it can have the same torturous effect. Furthermore it is more representative of mutex hold times and can stress better things like thrashing. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit cdf26bb10bcb50161d452b16eb3cf2901645d625 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:17 2014 -0700 locktorture: Add documentation Just like Documentation/RCU/torture.txt, begin a document for the locktorture module. This module is still pretty green, so I have just added some specific sections to the doc (general desc, params, usage, etc.). Further development should update the file. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> [ paulmck: Apply Randy Dunlap review comments. ] Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 9f6c38e70b6c7ea379394a755fe76e09996f5370 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Tue Sep 16 00:33:42 2014 -0700 net: sched: cls_cgroup need tcf_exts_init in all cases This ensures the tcf_exts_init() is called for all cases. Fixes: 952313bd62589cae216a57 ("net: sched: cls_cgroup use RCU") Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d9d65fa4418b64112199449e90af226764537e4 Merge: e1f93eb 971427f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 16 16:21:48 2014 -0400 Merge branch 'net_next_ovs' of git://git.kernel.org/pub/scm/linux/kernel/git/pshelar/openvswitch Pravin B Shelar says: ==================== Open vSwitch Following patches adds recirculation and hash action to OVS. First patch removes pointer to stack object. Next three patches does code restructuring which is required for last patch. Recirculation implementation is changed, according to comments from David Miller, to avoid using recursive calls in OVS. It is using queue to record recirc action and deferred recirc is executed at the end of current actions execution. v1-v2: Changed subsystem name in subject to openvswitch v2-v3: Added patch to remove pkt_key pointer from skb->cb. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a0a260a0f6ff0226c33cf28a5cc26711ab0ae5f Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 16:43:42 2014 +0200 ath9k: enable ext channel pulse detection Enable pulse detection on extension channel if 40MHz channel width has been set Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 853854d6b2e43b7f7fbbcc87558503f00aa0abf2 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Tue Sep 16 07:19:27 2014 +0530 ath9k: Fix build error This happens when CONFIG_ATH9K_CHANNEL_CONTEXT is not enabled. ../drivers/net/wireless/ath/ath9k/recv.c: In function â??ath_rx_ps_beaconâ??: ../drivers/net/wireless/ath/ath9k/recv.c:553:27: error: â??struct ath_softcâ?? has no member named â??offchannelâ?? if (sc->cur_chan == &sc->offchannel.chan) ^ ../scripts/Makefile.build:257: recipe for target 'drivers/net/wireless/ath/ath9k/recv.o' failed make[10]: *** [drivers/net/wireless/ath/ath9k/recv.o] Error 1 ../scripts/Makefile.build:404: recipe for target 'drivers/net/wireless/ath/ath9k' failed make[9]: *** [drivers/net/wireless/ath/ath9k] Error 2 Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 44b47a7d483297f753577ed23369fcdeb67aac5e Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:16 2014 +0200 ath9k: initialize ath_node linked list Initialize neighbor linked list used by dynack to compute ACK timeout as the maximum STA ACK timeout Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 24a1936bda0aa1ccf95c63dd3042a970885aaf11 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:15 2014 +0200 ath9k: enable dynack using set_coverage_class codepath Enable ACK timeout estimation algorithm if set_coverage_class routine has been called with negative coverage_class parameter. Dynack is automatically disabled setting valid value for coverage class Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7a90744c333e5038793217f695dbbdb776b58698 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:14 2014 +0200 ath9k: add debugfs support for dynack Add ack_to entry to debugfs in order to dump current ACK timeout value Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 35c273eafe764791c635a45b5292039bbffea38f Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:13 2014 +0200 ath9k: enable control frame reception Set control frame bit in rx filter if dynack processing has been activated in order to enable ACK frame reception Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 982e0395d32780f6b3fcdbced1d17bbe909dd19f Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:12 2014 +0200 ath9k: add sampling methods for (tx|rx) timestamp Add sampling methods for ACK RX timestamp in ath_rx_tasklet() and for TX frame timestamp in ath_tx_complete_aggr() and in ath_tx_process_buffer(). These samples will be used in dynack processing for ACK timeout estimation Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7aefa8aacbd4694db9a7ea7cbff490a1e31c3613 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:11 2014 +0200 ath9k: do not overwrite ACK timeout estimation Do not overwrite ACK timeout estimation in ath9k_hw_init_global_settings() if dynack processing has been enabled Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ce7191526854f79b90bf627c5a8b8993491a3c2b Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:10 2014 +0200 ath9k: add config for (en|dis)abling ACK timeout estimation Add ACK timeout estimation algorithm to ath9k Makefile and Kconfig Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c774d57fd47c71675bb8c41a4dc2aafd78baa39d Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:09 2014 +0200 ath9k: add dynamic ACK timeout estimation Add dynamic ACK timeout estimation algorithm based on ACK frame RX timestamp, TX frame timestamp and frame duration. Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Tested-by: Philippe Duchein <wireless-dev@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 36678b2b67d7d455d5f4054604f97834a316a121 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:08 2014 +0200 ath9k: add duration field to ath_tx_status Add duration field to ath_tx_status in order to report frame duration for each entry in multi-retry chain. These fields will be used in ACK timeout estimation algorithm (dynack) Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8e15e09465977d38ed4cc45af10148a4e6542f1c Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Tue Sep 16 02:13:07 2014 +0200 ath9k: export methods related to ACK timeout estimation Remove static keyword and export ath9k_hw_setslottime(), ath9k_hw_set_ack_timeout() and ath9k_hw_set_cts_timeout() in hw.h. These methods will be used in ACK timeout estimation algorithm (dynack) Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e1f93eb06c3a13b29b1980f27dada960503cd49e Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Mon Sep 15 23:31:42 2014 -0700 net: sched: cls_fw: add missing tcf_exts_init call in fw_change() When allocating a new structure we also need to call tcf_exts_init to initialize exts. A follow up patch might be in order to remove some of this code and do tcf_exts_assign(). With this we could remove the tcf_exts_init/tcf_exts_change pattern for some of the classifiers. As part of the future tcf_actions RCU series this will need to be done. For now fix the call here. Fixes e35a8ee5993ba81fd6c0 ("net: sched: fw use RCU") Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d14cbfc88ff87e5054d67fde3ba5f4c20b773dab Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Mon Sep 15 23:31:17 2014 -0700 net: sched: cls_cgroup fix possible memory leak of 'new' tree: git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master head: 54996b529ab70ca1d6f40677cd2698c4f7127e87 commit: c7953ef23042b7c4fc2be5ecdd216aacff6df5eb [625/646] net: sched: cls_cgroup use RCU net/sched/cls_cgroup.c:130 cls_cgroup_change() warn: possible memory leak of 'new' net/sched/cls_cgroup.c:135 cls_cgroup_change() warn: possible memory leak of 'new' net/sched/cls_cgroup.c:139 cls_cgroup_change() warn: possible memory leak of 'new' Fixes: c7953ef23042b7c4fc2be5ecdd216aac ("net: sched: cls_cgroup use RCU") Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a96366bf263919c529baa74a0b029c82a8388045 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Mon Sep 15 23:30:49 2014 -0700 net: sched: cls_u32 add missing rcu_assign_pointer and annotation Add missing rcu_assign_pointer and missing annotation for ht_up in cls_u32.c Caught by kbuild bot, >> net/sched/cls_u32.c:378:36: sparse: incorrect type in initializer (different address spaces) net/sched/cls_u32.c:378:36: expected struct tc_u_hnode *ht net/sched/cls_u32.c:378:36: got struct tc_u_hnode [noderef] <asn:4>*ht_up >> net/sched/cls_u32.c:610:54: sparse: incorrect type in argument 4 (different address spaces) net/sched/cls_u32.c:610:54: expected struct tc_u_hnode *ht net/sched/cls_u32.c:610:54: got struct tc_u_hnode [noderef] <asn:4>*ht_up >> net/sched/cls_u32.c:684:18: sparse: incorrect type in assignment (different address spaces) net/sched/cls_u32.c:684:18: expected struct tc_u_hnode [noderef] <asn:4>*ht_up net/sched/cls_u32.c:684:18: got struct tc_u_hnode *[assigned] ht >> net/sched/cls_u32.c:359:18: sparse: dereference of noderef expression Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80aab73de4a076fc70ad5cc60395d935c40e605d Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Mon Sep 15 23:30:26 2014 -0700 net: sched: fix unsued cpu variable kbuild test robot reported an unused variable cpu in cls_u32.c after the patch below. This happens when PERF and MARK config variables are disabled Fix this is to use separate variables for perf and mark and define the cpu variable inside the ifdef logic. Fixes: 459d5f626da7 ("net: sched: make cls_u32 per cpu")' Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Cong Wang <cwang@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 69301eaa7fdab984c55c227359905fd522dbfc9c Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 16:43:43 2014 -0700 net_sched: fix a null pointer dereference in tcindex_set_parms() This patch fixes the following crash: [ 42.199159] BUG: unable to handle kernel NULL pointer dereference at 0000000000000018 [ 42.200027] IP: [<ffffffff817e3fc4>] tcindex_set_parms+0x45c/0x526 [ 42.200027] PGD d2319067 PUD d4ffe067 PMD 0 [ 42.200027] Oops: 0000 [#1] SMP DEBUG_PAGEALLOC [ 42.200027] CPU: 0 PID: 541 Comm: tc Not tainted 3.17.0-rc4+ #603 [ 42.200027] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 [ 42.200027] task: ffff8800d22d2670 ti: ffff8800ce790000 task.ti: ffff8800ce790000 [ 42.200027] RIP: 0010:[<ffffffff817e3fc4>] [<ffffffff817e3fc4>] tcindex_set_parms+0x45c/0x526 [ 42.200027] RSP: 0018:ffff8800ce793898 EFLAGS: 00010202 [ 42.200027] RAX: 0000000000000001 RBX: ffff8800d1786498 RCX: 0000000000000000 [ 42.200027] RDX: ffffffff82114ec8 RSI: ffffffff82114ec8 RDI: ffffffff82114ec8 [ 42.200027] RBP: ffff8800ce793958 R08: 00000000000080d0 R09: 0000000000000001 [ 42.200027] R10: ffff8800ce7939a0 R11: 0000000000000246 R12: ffff8800d017d238 [ 42.200027] R13: 0000000000000018 R14: ffff8800d017c6a0 R15: ffff8800d1786620 [ 42.200027] FS: 00007f4e24539740(0000) GS:ffff88011a600000(0000) knlGS:0000000000000000 [ 42.200027] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 42.200027] CR2: 0000000000000018 CR3: 00000000cff38000 CR4: 00000000000006f0 [ 42.200027] Stack: [ 42.200027] ffff8800ce0949f0 0000000000000000 0000000200000003 ffff880000000000 [ 42.200027] ffff8800ce7938b8 ffff8800ce7938b8 0000000600000007 0000000000000000 [ 42.200027] ffff8800ce7938d8 ffff8800ce7938d8 0000000600000007 ffff8800ce0949f0 [ 42.200027] Call Trace: [ 42.200027] [<ffffffff817e4169>] tcindex_change+0xdb/0xee [ 42.200027] [<ffffffff817c16ca>] tc_ctl_tfilter+0x44d/0x63f [ 42.200027] [<ffffffff8179d161>] rtnetlink_rcv_msg+0x181/0x194 [ 42.200027] [<ffffffff8179cf9d>] ? rtnl_lock+0x17/0x19 [ 42.200027] [<ffffffff8179cfe0>] ? __rtnl_unlock+0x17/0x17 [ 42.200027] [<ffffffff817ee296>] netlink_rcv_skb+0x49/0x8b [ 43.462494] [<ffffffff8179cfc2>] rtnetlink_rcv+0x23/0x2a [ 43.462494] [<ffffffff817ec8df>] netlink_unicast+0xc7/0x148 [ 43.462494] [<ffffffff817ed413>] netlink_sendmsg+0x5cb/0x63d [ 43.462494] [<ffffffff810ad781>] ? mark_lock+0x2e/0x224 [ 43.462494] [<ffffffff817757b8>] __sock_sendmsg_nosec+0x25/0x27 [ 43.462494] [<ffffffff81778165>] sock_sendmsg+0x57/0x71 [ 43.462494] [<ffffffff81152bbd>] ? might_fault+0x57/0xa4 [ 43.462494] [<ffffffff81152c06>] ? might_fault+0xa0/0xa4 [ 43.462494] [<ffffffff81152bbd>] ? might_fault+0x57/0xa4 [ 43.462494] [<ffffffff817838fd>] ? verify_iovec+0x69/0xb7 [ 43.462494] [<ffffffff817784f8>] ___sys_sendmsg+0x21d/0x2bb [ 43.462494] [<ffffffff81009db3>] ? native_sched_clock+0x35/0x37 [ 43.462494] [<ffffffff8109ab53>] ? sched_clock_local+0x12/0x72 [ 43.462494] [<ffffffff810ad781>] ? mark_lock+0x2e/0x224 [ 43.462494] [<ffffffff8109ada4>] ? sched_clock_cpu+0xa0/0xb9 [ 43.462494] [<ffffffff810aee37>] ? __lock_acquire+0x5fe/0xde4 [ 43.462494] [<ffffffff8119f570>] ? rcu_read_lock_held+0x36/0x38 [ 43.462494] [<ffffffff8119f75a>] ? __fcheck_files.isra.7+0x4b/0x57 [ 43.462494] [<ffffffff8119fbf2>] ? __fget_light+0x30/0x54 [ 43.462494] [<ffffffff81779012>] __sys_sendmsg+0x42/0x60 [ 43.462494] [<ffffffff81779042>] SyS_sendmsg+0x12/0x1c [ 43.462494] [<ffffffff819d24d2>] system_call_fastpath+0x16/0x1b 'p->h' could be NULL while 'cp->h' is always update to date. Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-By: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 44b75e43178276f57141c314661526496e85a3ab Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 16:43:42 2014 -0700 net_sched: fix memory leak in cls_tcindex Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-By: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10615a5c49721803ed258316280858142a24e72a Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Sep 9 15:11:25 2014 +0530 ASoC: Intel: mrfld: add bytes control for modules This patch add support for various modules like eq etc for mrfld DSP. All these modules will be exposed to usermode as bytes controls. Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d2b16b8fa1b6352757cd0a58234591e1496a82ad Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Tue Sep 9 15:11:24 2014 +0530 ASoC: Intel: mfld-pcm: don't call trigger ops to DSP for internal streams For internal stream i.e. BE we have don't need trigger ops as that would be handled by DAPM for us in subsequent patches Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 844749764b416ee2c4ba2da328c04eaad7388242 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Tue Sep 16 14:52:03 2014 -0400 ext4: explicitly inform user about orphan list cleanup Production fs likely compiled/mounted w/o jbd debugging, so orphan list clearing will be silent. Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1245799f752fa817a030b3b4448466e83ee7d61d Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Tue Sep 16 14:50:50 2014 -0400 jbd2: jbd2_log_wait_for_space improve error detetcion If EIO happens after we have dropped j_state_lock, we won't notice that the journal has been aborted. So it is reasonable to move this check after we have grabbed the j_checkpoint_mutex and re-grabbed the j_state_lock. This patch helps to prevent false positive complain after EIO. #DMESG: __jbd2_log_wait_for_space: needed 8448 blocks and only had 8386 space available __jbd2_log_wait_for_space: no way to get more journal space in ram1-8 ------------[ cut here ]------------ WARNING: CPU: 15 PID: 6739 at fs/jbd2/checkpoint.c:168 __jbd2_log_wait_for_space+0x188/0x200() Modules linked in: brd iTCO_wdt lpc_ich mfd_core igb ptp dm_mirror dm_region_hash dm_log dm_mod CPU: 15 PID: 6739 Comm: fsstress Tainted: G W 3.17.0-rc2-00429-g684de57 #139 Hardware name: Intel Corporation W2600CR/W2600CR, BIOS SE5C600.86B.99.99.x028.061320111235 06/13/2011 00000000000000a8 ffff88077aaab878 ffffffff815c1a8c 00000000000000a8 0000000000000000 ffff88077aaab8b8 ffffffff8106ce8c ffff88077aaab898 ffff8807c57e6000 ffff8807c57e6028 0000000000002100 ffff8807c57e62f0 Call Trace: [<ffffffff815c1a8c>] dump_stack+0x51/0x6d [<ffffffff8106ce8c>] warn_slowpath_common+0x8c/0xc0 [<ffffffff8106ceda>] warn_slowpath_null+0x1a/0x20 [<ffffffff812419f8>] __jbd2_log_wait_for_space+0x188/0x200 [<ffffffff8123be9a>] start_this_handle+0x4da/0x7b0 [<ffffffff810990e5>] ? local_clock+0x25/0x30 [<ffffffff810aba87>] ? lockdep_init_map+0xe7/0x180 [<ffffffff8123c5bc>] jbd2__journal_start+0xdc/0x1d0 [<ffffffff811f2414>] ? __ext4_new_inode+0x7f4/0x1330 [<ffffffff81222a38>] __ext4_journal_start_sb+0xf8/0x110 [<ffffffff811f2414>] __ext4_new_inode+0x7f4/0x1330 [<ffffffff810ac359>] ? lock_release_holdtime+0x29/0x190 [<ffffffff812025bb>] ext4_create+0x8b/0x150 [<ffffffff8117fe3b>] vfs_create+0x7b/0xb0 [<ffffffff8118097b>] do_last+0x7db/0xcf0 [<ffffffff8117e31d>] ? inode_permission+0x4d/0x50 [<ffffffff811845d2>] path_openat+0x242/0x590 [<ffffffff81191a76>] ? __alloc_fd+0x36/0x140 [<ffffffff81184a6a>] do_filp_open+0x4a/0xb0 [<ffffffff81191b61>] ? __alloc_fd+0x121/0x140 [<ffffffff81172f20>] do_sys_open+0x170/0x220 [<ffffffff8117300e>] SyS_open+0x1e/0x20 [<ffffffff811715d6>] SyS_creat+0x16/0x20 [<ffffffff815c7e12>] system_call_fastpath+0x16/0x1b ---[ end trace cd71c831f82059db ]--- Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 064d83892e9ba547f7d4eae22cbca066d95210ce Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Tue Sep 16 14:43:09 2014 -0400 jbd2: free bh when descriptor block checksum fails Free the buffer head if the journal descriptor block fails checksum verification. This is the jbd2 port of the e2fsprogs patch "e2fsck: free bh on csum verify error in do_one_pass". Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit a0626e75954078cfacddb00a4545dde821170bc5 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Tue Sep 16 14:34:59 2014 -0400 ext4: check EA value offset when loading When loading extended attributes, check each entry's value offset to make sure it doesn't collide with the entries. Without this check it is easy to crash the kernel by mounting a malicious FS containing a file with an EA wherein e_value_offs = 0 and e_value_size > 0 and then deleting the EA, which corrupts the name list. (See the f_ea_value_crash test's FS image in e2fsprogs for an example.) Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 803b58367ffb7ae89397637122f9a71b2ee40687 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Sep 16 08:00:29 2014 +0200 Bluetooth: btusb: Implement driver internal packet reassembly When receiving USB interrupt, bulk or isochronous packet, they normally come in fragments. So far the driver just handed each fragment off to the hci_recv_fragment function of the Bluetooth core. That function is however so specific that is does not belong in the core. This patch implements the same reassembly logic in the driver. In addition this fixes a long standing bug where multiple complete packets are received within a single USB packet. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 8af252272a0d634b59c4c7fa88200b06695decde Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Sep 16 10:22:54 2014 -0700 regulator: rk808: Add function for ramp delay for buck1/buck2 On rk808 buck1 and buck2 have programmable ramp delays. Let's add a function to allow a client of rk808 to set them. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d3aba0460a2e13b49892f7a12237f82658c44257 Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Thu Aug 28 17:52:00 2014 +0100 iommu/arm-smmu: support MMU-401 MMU-401 is similar to MMU-400, but updated with limited ARMv8 support. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 093604033361928f7f355b4d1766d0179ae747fb Author: Robin Murphy <Robin.Murphy@xxxxxxx> Date: Thu Aug 28 17:51:59 2014 +0100 iommu/arm-smmu: fix architecture version detection The SMMU driver was relying on a quirk of MMU-500 r2px to identify the correct architecture version. Since this does not apply to other implementations, make the architecture version for each supported implementation explicit. While we're at it, remove the unnecessary #ifdef since the dependencies for CONFIG_ARM_SMMU already imply CONFIG_OF. Signed-off-by: Robin Murphy <robin.murphy@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 28d6007ba2fd344164e01ef300af7f621e9e6b0d Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Sep 1 16:24:48 2014 +0100 iommu/arm-smmu: don't bother truncating the s1 output size to VA_BITS In order for nested translation to work correctly, we need to ensure that the maximum output address size from stage-1 is <= the maximum supported input address size to stage-2. The latter is currently defined by VA_BITS, since we make use of the CPU page table functions for allocating out tables and so the driver currently enforces this restriction by truncating the stage-1 output size during probe. In reality, this doesn't make a lot of sense; the guest OS is responsible for managing the stage-1 page tables, so we actually just need to ensure that the ID registers of the virtual SMMU interface only advertise the supported stage-2 input size. This patch fixes the problem by treating the stage-1 and stage-2 input address sizes separately. Reported-by: Tirumalesh Chalamarla <tchalamarla@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c757e8528a304214d0a9be2e99011b94bf374d37 Author: Will Deacon <will.deacon@xxxxxxx> Date: Wed Jul 30 11:33:25 2014 +0100 iommu/arm-smmu: use page shift instead of page size to avoid division Arbitrary integer division is not available in all ARM CPUs, so the GCC may spit out calls to helper functions which are not implemented in the kernel. This patch avoids these problems in the SMMU driver by using page shift instead of page size, so that divisions by the page size (as required by the vSMMU code) can be expressed as a simple right shift. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 844e35bdfe834fccb5def1bc4cd614ca22409d0c Author: Will Deacon <will.deacon@xxxxxxx> Date: Thu Jul 17 11:23:51 2014 +0100 iommu/arm-smmu: put iommu_domain pointer in dev->archdata.iommu In preparation for nested translation support, stick a pointer to the iommu_domain in dev->archdata.iommu. This makes it much easier to grab hold of the physical group configuration (e.g. cbndx) when dealing with vSMMU accesses from a guest. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 8f68f8e28298abdf518648e794c71e534eb8841c Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Jul 15 11:27:08 2014 +0100 iommu/arm-smmu: add support for multi-master iommu groups Whilst the driver currently creates one IOMMU group per device, this will soon change when we start supporting non-transparent PCI bridges which require all upstream masters to be assigned to the same address space. This patch reworks our IOMMU group code so that we can easily support multi-master groups. The master configuration (streamids and smrs) is stored as private iommudata on the group, whilst the low-level attach/detach code is updated to avoid double alloc/free when dealing with multiple masters sharing the same SMMU configuration. This unifies device handling, regardless of whether the device sits on the platform or pci bus. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4cf740b0b6628bda1e5c9201ae0d4f56fc6c06a5 Author: Will Deacon <will.deacon@xxxxxxx> Date: Mon Jul 14 19:47:39 2014 +0100 iommu/arm-smmu: allow translation stage to be forced on the cmdline When debugging and testing code on an SMMU that supports nested translation, it can be useful to restrict the driver to a particular stage of translation. This patch adds a module parameter to the ARM SMMU driver to allow this by restricting the ability of the probe() code to detect support for only the specified stage. Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 365a7bb32e097a8501a6a70b9225abcb09924f8c Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Sep 16 14:25:05 2014 +0300 spi: davinci: add support for adding delay between word's transmissions This patch adds ability to configure delay between transmission of words over SPI bus if it's required by SPI slave devices. New optional SPI slave property: - ti,spi-word-delay : delay between transmission of words (SPIFMTn.WDELAY, SPIDAT1.WDEL) Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 23a8e5c2d2a481fcf382490369c27b405a650212 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 20:40:16 2014 -0700 locktorture: Rename locktorture_runnable parameter ... to just 'torture_runnable'. It follows other variable naming and is shorter. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 96b4672703ed4538c7fc25de36df4415a0ee237c Merge: e98d06d a53dd6a Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 10:10:44 2014 -0700 Merge branch 'rcu-tasks.2014.09.10a' into HEAD rcu-tasks.2014.09.10a: Add RCU-tasks flavor of RCU. commit e98d06dd6cd791b5138b0fc6c14a9c0b4d1f2e72 Merge: 2456d2a 73a860c c847f14 bc51896 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 10:08:34 2014 -0700 Merge branches 'doc.2014.09.07a', 'fixes.2014.09.10a', 'nocb-nohz.2014.09.16b' and 'torture.2014.09.07a' into HEAD doc.2014.09.07a: Documentation updates. fixes.2014.09.10a: Miscellaneous fixes. nocb-nohz.2014.09.16b: No-CBs CPUs and NO_HZ_FULL updates. torture.2014.09.07a: Torture-test updates. commit c847f14217d5aec5336272a54a32ffcf6e06ddcb Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 13:54:21 2014 -0700 rcu: Avoid misordering in nocb_leader_wait() The NOCB follower wakeup ordering depends on the store to the tail pointer happening before the wakeup. However, because atomic_long_add() does not return a value, it does not provide ordering guarantees, and the locking in wake_up() only guarantees that the store will happen before the unlock, which might be too late. Even though this is only a theoretical issue, this commit adds a smp_mb__after_atomic() after the final atomic_long_add() to provide the needed ordering guarantee. Reported-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 1772947bd0126661866069157e95197e9c0020e9 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:27:31 2014 -0700 rcu: Handle NOCB callbacks from irq-disabled idle code If an RCU callback is queued on a no-CBs CPU from idle code with irqs disabled, and if that CPU stays idle forever after, the callback will never be invoked. This commit therefore adds a check for this situation in ____call_rcu_nocb(), invoking the RCU core solely for the purpose of the ensuing return-to-idle transition. (If the CPU doesn't return to idle, the next scheduling-clock interrupt will fix things up.) Reported-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 39953dfd40077c7480b1d5deb4d617e086b1c865 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 10:47:48 2014 -0700 rcu: Avoid misordering in __call_rcu_nocb_enqueue() The NOCB leader wakeup ordering depends on the store to the header happening before the check for the leader already being awake. However, because atomic_long_add() does not return a value, it does not provide ordering guarantees, the incorrect comment in wake_nocb_leader() notwithstanding. This commit therefore adds a smp_mb__after_atomic() after the final atomic_long_add() to provide the needed ordering guarantee. Reported-by: Amit Shah <amit.shah@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 663e131090dd10bac9dc0b4f5b624dd3211b20f6 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 21 11:34:33 2014 -0700 rcu: Don't track sysidle state if no nohz_full= CPUs If there are no nohz_full= CPUs, then there is currently no reason to track sysidle state. This commit therefore short-circuits this state tracking if !tick_nohz_full_enabled(). Note that these checks will need to be revisited if nohz_full= state can ever be changed at runtime. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 417e8d26557c4264a484d78a7491316751afa46f Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 21 11:26:54 2014 -0700 rcu: Eliminate redundant rcu_sysidle_state variable Now that we have rcu_state_p, which references rcu_preempt_state for TREE_PREEMPT_RCU and rcu_sched_state for TREE_RCU, we don't need a separate rcu_sysidle_state variable. This commit therefore eliminates rcu_preempt_state in favor of rcu_state_p. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Acked-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 22c2f669611590b428647ac9a73bc63ef3989d4b Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Thu Jul 17 20:11:01 2014 -0400 rcu: Check for have_rcu_nocb_mask instead of rcu_nocb_mask If we configure a kernel with CONFIG_NOCB_CPU=y, CONFIG_RCU_NOCB_CPU_NONE=y and CONFIG_CPUMASK_OFFSTACK=n and do not pass in a rcu_nocb= boot parameter, the cpumask rcu_nocb_mask can be garbage instead of NULL. Hence this commit replaces checks for rcu_nocb_mask == NULL with a check for have_rcu_nocb_mask. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 35ce7f29a44a888c45c0a9f202f69e10613c5306 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 11 11:30:24 2014 -0700 rcu: Create rcuo kthreads only for onlined CPUs RCU currently uses for_each_possible_cpu() to spawn rcuo kthreads, which can result in more rcuo kthreads than one would expect, for example, derRichard reported 64 CPUs worth of rcuo kthreads on an 8-CPU image. This commit therefore creates rcuo kthreads only for those CPUs that actually come online. This was reported by derRichard on the OFTC IRC network. Reported-by: Richard Weinberger <richard@xxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 9386c0b75dda05f535a10ea1abf1817fe292c81c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 13 12:00:53 2014 -0700 rcu: Rationalize kthread spawning Currently, RCU spawns kthreads from several different early_initcall() functions. Although this has served RCU well for quite some time, as more kthreads are added a more deterministic approach is required. This commit therefore causes all of RCU's early-boot kthreads to be spawned from a single early_initcall() function. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit f4aa84ba24872e3a8e59b58bc8533cae95597f2e Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:17 2014 -0400 rcu: Return false instead of 0 in rcu_nocb_adopt_orphan_cbs() Return false instead of 0 in rcu_nocb_adopt_orphan_cbs() as this has bool as return type. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 4afc7e269befc7b6e09a994e48c67e36f4a378e1 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:16 2014 -0400 rcu: Use false for return in __call_rcu_nocb() Return false instead of 0 in __call_rcu_nocb() as this has bool as return type. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 0a9e1e111b3a9e1c21d2dd27ca361cd9601d99af Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:15 2014 -0400 rcu: Use true/false for return in rcu_nocb_adopt_orphan_cbs() Return true/false in rcu_nocb_adopt_orphan_cbs() instead of 0/1 as this function has return type of bool. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit c271d3a957384a162f7a6aae53455d8e8afd1f3e Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:14 2014 -0400 rcu: Use true/false for return in __call_rcu_nocb() Return true/false instead of 0/1 in __call_rcu_nocb() as this returns a bool type. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit 949cccdbe6d286544ce3fe170298183eb7ada81c Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Jul 25 16:02:07 2014 -0700 rcu: Check the return value of zalloc_cpumask_var() This commit checks the return value of the zalloc_cpumask_var() used for allocating cpumask for rcu_nocb_mask. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit f4579fc57cf4244057b713b1f73f4dc9f0b11e97 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 25 11:21:47 2014 -0700 rcu: Fix attempt to avoid unsolicited offloading of callbacks Commit b58cc46c5f6b (rcu: Don't offload callbacks unless specifically requested) failed to adjust the callback lists of the CPUs that are known to be no-CBs CPUs only because they are also nohz_full= CPUs. This failure can result in callbacks that are posted during early boot getting stranded on nxtlist for CPUs whose no-CBs property becomes apparent late, and there can also be spurious warnings about offline CPUs posting callbacks. This commit fixes these problems by adding an early-boot rcu_init_nohz() that properly initializes the no-CBs CPUs. Note that kernels built with CONFIG_RCU_NOCB_CPU_ALL=y or with CONFIG_RCU_NOCB_CPU=n do not exhibit this bug. Neither do kernels booted without the nohz_full= boot parameter. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Tested-by: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> commit bee1cef6011c308352c4d428922449953ffb257b Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 18:59:36 2014 +0200 ARM: dts: rockchip: fix rk3188 emmc pull references Fix a copy'n'paste error making the rk3188 emmc pinctrl nodes reference the pcfg_pull_default setting that is not available on rk3188. Reported-by: Naoki FUKAUMI <naobsd@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit dd7e71fbeefe9179b94eed81f8b33da06b9bf062 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 17:54:01 2014 +0200 regulator: fan53555: use set_ramp_delay to set the ramp up slew rate The regulator constraints already provide a field for the ramp_delay, so there is no need to set this manually. Therefore implement the set_ramp_delay callback and convert the pdata value to the constraint value if necessary. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f29a43206ae1adfadbb344f5ef9bc200784f9d61 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Tue Sep 16 14:04:14 2014 +0300 regmap: cache: Do not fail silently from regcache_sync calls Call stack of regcache_sync calls may not emit any error message even if operation was cancelled due an error in I/O driver. One such a silent error is for instance if I2C bus driver doesn't receive ACK from the I2C device and returns -EREMOTEIO. Since many users of regcache_sync() don't check and print the error there is no any indication that HW registers are potentially out of sync. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 66fa6cf29fc67ecbc42efd632c2310688530e441 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 16 18:53:10 2014 +0200 ARM: dts: rockchip: fix swapped Radxa Rock pinctrl references The host and otg regulator pinctrl settings got swapped, making the host reference the otg pinctrl and the other way round. The actual pins are correct (gpio0-3 for host and gpio2-31 for otg). Reported-by: Naoki FUKAUMI <naobsd@xxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 2be01d29f8555d5afe0c7c4bea6b306b0c31f17f Author: Oscar Utbult <oscar@xxxxxxx> Date: Tue Sep 16 12:52:13 2014 +0200 spi-summary: documentation mistake Contributors are not listed in alphabetical order as claimed by documentation. Signed-off-by: Oscar Utbult <oscar@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 050c0eaedfdcbc7f7b7f5a8d7ef02899f2ac1ba6 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 15 15:18:50 2014 +0200 ARM: at91: remove board file for Acme Systems Fox G20 As Acme Systems Fox G20 is available in Device Tree flavor and that we plan to remove all the board files soon, we can remove this one without problem. If you use this board, please use a DT-enabled at91sam9g20 kernel with at91-foxg20.dts. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Sergio Tanzilli <tanzilli@xxxxxxxxxxxxxx> commit 3b8155d582968f79a62c79358d5e137f99f04407 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Mon Sep 15 19:05:33 2014 +0800 arcmsr: simplify of updating doneq_index and postq_index Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b4eb6ae9075a958ffe24620f985f6bd729a1b138 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:28:36 2014 +0800 arcmsr: call scsi_scan_host at the end of host initialization Call scsi_scan_host at the end of host initialization and fix and error path to free allocated resource. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5b37479adee7164b17b6e2030b9a30d04583eb61 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:25:22 2014 +0800 arcmsr: add support new adapter ARC12x4 series Add code to support the new Areca Raid ARC12x4 series adapters. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit aaa64f69480bcde4e203584dfc77d7e4ffb737d6 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:22:45 2014 +0800 arcmsr: modify some character strings Revise comment and some character strings. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c10b1d544aaaf98ab1792845c106471ee1ee0c05 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:20:31 2014 +0800 arcmsr: fix sparse warnings and errors Fix sparse utility checking errors and warnings. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit bb263c4ecbb186fe394c6c9acc32d8c59b6a7bdd Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:17:45 2014 +0800 arcmsr: fix ioctl data read/write error for adapter type C Rewrite ioctl entry and its relate function. This patch fix ioctl data read/write error and change data I/O access from byte to Dword. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6e38adfc58406e7ea6f6701c49abaf046ce076a8 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:14:14 2014 +0800 arcmsr: revise allocation of second dma_coherent_handle for type B This modification is for consistency with upcoming adapter type D. Both adapter type B and D have similar H/W and S/W structure. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 626fa32c801ed583594831051ff9fd56f2e6d261 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:10:12 2014 +0800 arcmsr: rename functions and variables Rename some variable and function names for readability and consistency. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5eb6bfa02a9dfecbb1f644a0b13b16cd3d23770b Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:07:35 2014 +0800 arcmsr: clear outbound doorbell buffer completely Clear outbound doorbell buffer completely for adapter type C. This is to prevent getting bad data input from IOP before ioctl command processing starts. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a2c89bbccac476d42a8526c0c59d081d9e56d0a8 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:03:55 2014 +0800 arcmsr: modify printing adapter model number and F/W messages Adjust printing order of adapter model name and firmware version. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a5849726bc88506e84e5754d6bfde81ba091f24d Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 15:01:28 2014 +0800 arcmsr: remove calling arcmsr_hbb_enable_driver_mode Remove calling arcmsr_hbb_enable_driver_mode by in-lining the code into the caller. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 12aad94792718c6a79bbd395a650caff85f76ae4 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:59:00 2014 +0800 arcmsr: revise message_isr_bh_fn to remove duplicate code Revise message_isr_bh_fn to remove the duplicate code for each adapter type. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 8b7c994298d7a18f45a9cec2e9b496d9784b1135 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:55:57 2014 +0800 arcmsr: store adapter type in PCI id table Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit cab5aecee60a7930ca208ee723c18be7b400cfaf Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:47:16 2014 +0800 arcmsr: return status of abort command This patch fixes the wrong return status of abort command. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 3df824aff935444601101cc329ebe3f52e126a4e Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:29:41 2014 +0800 arcmsr: limit max. number of SCSI command request This patch limits the max. number of SCSI commmand request to avoid command overflow. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 61cda87f33be22828c3b52863da1c456ba108d37 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:26:09 2014 +0800 arcmsr: add code to support hibernation This patch adds code to support system hibernation. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1d1166ea16ac7047a1b01f20dcbcc6f7754c3c23 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:23:31 2014 +0800 arcmsr: add code to support MSI-X and MSI interrupt This patch adds code to support MSI and MSI-X interrupt. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6b3937227479e50032112faf74bd913f36dba2c6 Author: Ching Huang <ching2048@xxxxxxxxxxxx> Date: Tue Aug 19 14:18:24 2014 +0800 arcmsr: fix command timeout under heavy load This patch rewrites the interrupt service routine relate function to fix a command timeout under heavy controller load. Signed-off-by: Ching Huang <ching2048@xxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit d3e4f41973753a7768a5728be53c7d9a3fdf86cb Merge: 1c9c115 757932e Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:38:07 2014 +0100 Merge tag 'keys-pkcs7-20140916' into keys-next Changes for next to improve the matching of asymmetric keys and to improve the handling of PKCS#7 certificates: (1) Provide a method to preparse the data supplied for matching a key. This permits they key type to extract out the bits it needs for matching once only. Further, the type of search (direct lookup or iterative) can be set and the function used to actually check the match can be set by preparse rather than being hard coded for the type. (2) Improves asymmetric keys identification. Keys derived from X.509 certs now get labelled with IDs derived from their issuer and certificate number (required to match PKCS#7) and from their SKID and subject (required to match X.509). IDs are now binary and match criterion preparsing is provided so that criteria can be turned into binary blobs to make matching faster. (3) Improves PKCS#7 message handling to permit PKCS#7 messages without X.509 cert lists to be matched to trusted keys, thereby allowing minimally sized PKCS#7 certs to be used. (4) Improves PKCS#7 message handling to better handle certificate chains that are broken due to unsupported crypto that can otherwise by used to intersect a trust keyring. These must go on top of the PKCS#7 parser cleanup fixes. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 757932e6da6de05b91cc4cb85493b17de48c2667 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:17 2014 +0100 PKCS#7: Handle PKCS#7 messages that contain no X.509 certs The X.509 certificate list in a PKCS#7 message is optional. To save space, we can omit the inclusion of any X.509 certificates if we are sure that we can look the relevant public key up by the serial number and issuer given in a signed info block. This also supports use of a signed info block for which we can't find a matching X.509 cert in the certificate list, though it be populated. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 41559420003cfe99522257dded7793192c77b4e9 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:15 2014 +0100 PKCS#7: Better handling of unsupported crypto Provide better handling of unsupported crypto when verifying a PKCS#7 message. If we can't bridge the gap between a pair of X.509 certs or between a signed info block and an X.509 cert because it involves some crypto we don't support, that's not necessarily the end of the world as there may be other ways points at which we can intersect with a ring of trusted keys. Instead, only produce ENOPKG immediately if all the signed info blocks in a PKCS#7 message require unsupported crypto to bridge to the first X.509 cert. Otherwise, we defer the generation of ENOPKG until we get ENOKEY during trust validation. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 46963b774d441c833afc1535f6d84b3df2a94204 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:13 2014 +0100 KEYS: Overhaul key identification when searching for asymmetric keys Make use of the new match string preparsing to overhaul key identification when searching for asymmetric keys. The following changes are made: (1) Use the previously created asymmetric_key_id struct to hold the following key IDs derived from the X.509 certificate or PKCS#7 message: id: serial number + issuer skid: subjKeyId + subject authority: authKeyId + issuer (2) Replace the hex fingerprint attached to key->type_data[1] with an asymmetric_key_ids struct containing the id and the skid (if present). (3) Make the asymmetric_type match data preparse select one of two searches: (a) An iterative search for the key ID given if prefixed with "id:". The prefix is expected to be followed by a hex string giving the ID to search for. The criterion key ID is checked against all key IDs recorded on the key. (b) A direct search if the key ID is not prefixed with "id:". This will look for an exact match on the key description. (4) Make x509_request_asymmetric_key() take a key ID. This is then converted into "id:<hex>" and passed into keyring_search() where match preparsing will turn it back into a binary ID. (5) X.509 certificate verification then takes the authority key ID and looks up a key that matches it to find the public key for the certificate signature. (6) PKCS#7 certificate verification then takes the id key ID and looks up a key that matches it to find the public key for the signed information block signature. Additional changes: (1) Multiple subjKeyId and authKeyId values on an X.509 certificate cause the cert to be rejected with -EBADMSG. (2) The 'fingerprint' ID is gone. This was primarily intended to convey PGP public key fingerprints. If PGP is supported in future, this should generate a key ID that carries the fingerprint. (3) Th ca_keyid= kernel command line option is now converted to a key ID and used to match the authority key ID. Possibly this should only match the actual authKeyId part and not the issuer as well. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 7901c1a8effbe5f89673bfc09d6e37b8f334f1a7 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:11 2014 +0100 KEYS: Implement binary asymmetric key ID handling Implement the first step in using binary key IDs for asymmetric keys rather than hex string keys. The previously added match data preparsing will be able to convert hex criterion strings into binary which can then be compared more rapidly. Further, we actually want more then one ID string per public key. The problem is that X.509 certs refer to other X.509 certs by matching Issuer + AuthKeyId to Subject + SubjKeyId, but PKCS#7 messages match against X.509 Issuer + SerialNumber. This patch just provides facilities for a later patch to make use of. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit f93b3cc7b1e6f16aedd745a8edba64355383184c Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:09 2014 +0100 KEYS: Update the keyrings documentation for match changes Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 0c903ab64feb0fe83eac9f67a06e2f5b9508de16 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:08 2014 +0100 KEYS: Make the key matching functions return bool Make the key matching functions pointed to by key_match_data::cmp return bool rather than int. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit c06cfb08b88dfbe13be44a69ae2fdc3a7c902d81 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:06 2014 +0100 KEYS: Remove key_type::match in favour of overriding default by match_preparse A previous patch added a ->match_preparse() method to the key type. This is allowed to override the function called by the iteration algorithm. Therefore, we can just set a default that simply checks for an exact match of the key description with the original criterion data and allow match_preparse to override it as needed. The key_type::match op is then redundant and can be removed, as can the user_match() function. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 614d8c39014c185aa0f7254f0a470cc33fc1b284 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:04 2014 +0100 KEYS: Remove key_type::def_lookup_type Remove key_type::def_lookup_type as it's no longer used. The information now defaults to KEYRING_SEARCH_LOOKUP_DIRECT but may be overridden by type->match_preparse(). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 462919591a1791e76042dc5c1e0148715df59beb Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:02 2014 +0100 KEYS: Preparse match data Preparse the match data. This provides several advantages: (1) The preparser can reject invalid criteria up front. (2) The preparser can convert the criteria to binary data if necessary (the asymmetric key type really wants to do binary comparison of the key IDs). (3) The preparser can set the type of search to be performed. This means that it's not then a one-off setting in the key type. (4) The preparser can set an appropriate comparator function. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 53d91c5ce0cb8945b55e8bb54e551cabc51eb28d Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:36:01 2014 +0100 Provide a binary to hex conversion function Provide a function to convert a buffer of binary data into an unterminated ascii hex string representation of that data. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 1c9c115ccc76d313f1a9232ffb903de325b64943 Merge: 68c45c7 15155b9 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:32:55 2014 +0100 Merge tag 'keys-next-fixes-20140916' into keys-next Merge in keyrings fixes for next: (1) Insert some missing 'static' annotations. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit 68c45c7feaf1a8adebc6d9d77aa0a2018d974085 Merge: ac60ab4 cecf5d2 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:32:16 2014 +0100 Merge tag 'keys-fixes-20140916' into keys-next Merge in keyrings fixes, at least some of which later patches depend on: (1) Reinstate the production of EPERM for key types beginning with '.' in requests from userspace. (2) Tidy up the cleanup of PKCS#7 message signed information blocks and fix a bug this made more obvious. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> commit cecf5d2e1208da512a4c951c24acd66c54a4d06c Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:29:03 2014 +0100 PKCS#7: Fix the parser cleanup to drain parsed out X.509 certs Fix the parser cleanup code to drain parsed out X.509 certs in the case that the decode fails and we jump to error_decode. The function is rearranged so that the same cleanup code is used in the success case as the error case - just that the message descriptor under construction is only released if it is still pointed to by the context struct at that point. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 3cd0920cde6a726b9965b60184f9d5a54358304d Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:29:03 2014 +0100 PKCS#7: Provide a single place to do signed info block freeing The code to free a signed info block is repeated several times, so move the code to do it into a function of its own. This gives us a place to add clean ups for stuff that gets added to pkcs7_signed_info. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 54e2c2c1a9d6cbb270b0999a38545fa9a69bee43 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:29:03 2014 +0100 KEYS: Reinstate EPERM for a key type name beginning with a '.' Reinstate the generation of EPERM for a key type name beginning with a '.' in a userspace call. Types whose name begins with a '.' are internal only. The test was removed by: commit a4e3b8d79a5c6d40f4a9703abf7fe3abcc6c3b8d Author: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Date: Thu May 22 14:02:23 2014 -0400 Subject: KEYS: special dot prefixed keyring name bug fix I think we want to keep the restriction on type name so that userspace can't add keys of a special internal type. Note that removal of the test causes several of the tests in the keyutils testsuite to fail. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> cc: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 0d9d8b9ff4453e4816b22bf729256feb6b38e0ec Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:58:03 2014 +0530 megaraid_sas : Driver version update Resending the patch. Addressed the review comments by Tomas Henzl. Driver version upgrade patch. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 90dc9d98f01bdfe6d75853311195c6279886f3b8 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:58 2014 +0530 megaraid_sas : MFI MPT linked list corruption fix Resending the patch. Addressed the review comments from Tomas Henzl. Added comment for to-do work. Problem statement: MFI link list in megaraid_sas driver is used from mfi-mpt pass-through commands. This list can be corrupted due to many possible race conditions in driver and eventually we may see kernel panic. One example - MFI frame is freed from calling process as driver send command via polling method and interrupt for that command comes after driver free mfi frame (actually even after some other context reuse the mfi frame). When driver receive MPT frame in ISR, driver will be using the index of MFI and access that MFI frame and finally in-used MFI frameâ??s list will be corrupted. High level description of new solution - Free MFI and MPT command from same context. Free both the command either from process (from where mfi-mpt pass-through was called) or from ISR context. Do not split freeing of MFI and MPT, because it creates the race condition which will do MFI/MPT list corruption. Renamed the cmd_pool_lock which is used in instance as well as fusion with below name. mfi_pool_lock and mpt_pool_lock to add more code readability. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 44caf7648064502fd1d37d18443ae92c064ebadd Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Tue Sep 16 11:37:39 2014 +0800 ASoC: rt5677: Add the GPIO function The patch adds the GPIO function. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d2552ebe885314d3c8352e35f2fae2a7478ac778 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:53 2014 +0530 megaraid_sas : N-drive primary raid level 1 load balancing Resending the patch. Addressed the review comments from Tomas Henzl. Current driver does fast path read load balancing between arm and mirror disk for two Drive Raid-1 configuration only. Now, Driver support fast path read load balancing for all (any number of disk) Raid-1 configuration. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit ac95136ad40fc72c4842fee1ef002390ad96bfa0 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:48 2014 +0530 megaraid_sas : Add module parameter to disable IRQ-CPU affinity hint Resending the patch. Addressed the review comments from Tomas Henzl. For certain deployment, we may need to disable irq cpu affinity hint. This module parameter provides option for use to disable irq cpu affinity hint and allow irqbalancer to handle the rest. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a5fd2858e21af03555751124347e509b19c7b6f3 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:43 2014 +0530 megaraid_sas : Round down max sge supported by controller to power of two Resending the patch. Addressed the review comments from Tomas Henzl. Round down the max sge to power of two. Earlier max sge limit is 70 SGE, which will allow block layer to send 280K IO frame. It is optimal to provide max IO size aligned to the smallest possible stripe size. E.a Consider that we have configured RAID Volumes which does not allow Fast Path across the stripe. Raid volume with stripe size = 256K, will have peformance hit if we get io frame of size 280K. Driver will not send IO frame large than stripe size to the Fast Path. Also, FW will convert 280K frame into 256K + 24K. This is an additional overhead. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit fb1a24ff65cec6aecd28caff4e6565591182e381 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:38 2014 +0530 megaraid_sas : Host lock less mode to enabled asynchronous IO submission Resending the patch. Addressed the review comments from Tomas Henzl. Megaraid_sas driver can now work in host lock less mode. Remove host lock less as megaraid_sas driver will have safer access to raid map as described in earlier patch. We now keep Driver Raid map copy, which will make sure that driver will always have old or new map Driver raid map will be replaced safely in MR_PopulateDrvRaidMap(), so there is no issue even if IO is continue from the scsi mid layer. There is a plan to remove "host_lock" and "hba_lock" usage from megaraid_sas in future. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 51087a8617fef1fb15e5b7a8805cfbab3583944d Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:33 2014 +0530 megaraid_sas : Extended VD support Resending the patch. Addressed the review comments from Tomas Henzl. reserved1 field(part of union) of Raid map struct was not required so it is removed. Current MegaRAID firmware and hence the driver only supported 64VDs. E.g: If the user wants to create more than 64VD on a controller, it is not possible on current firmware/driver. New feature and requirement to support upto 256VD, firmware/driver/apps need changes. In addition to that there must be a backward compatibility of the new driver with the older firmware and vice versa. RAID map is the interface between Driver and FW to fetch all required fields(attributes) for each Virtual Drives. In the earlier design driver was using the FW copy of RAID map where as in the new design the Driver will keep the RAID map copy of its own; on which it will operate for any raid map access in fast path. Local driver raid map copy will provide ease of access through out the code and provide generic interface for future FW raid map changes. For the backward compatibility driver will notify FW that it supports 256VD to the FW in driver capability field. Based on the controller properly returned by the FW, the Driver will know whether it supports 256VD or not and will copy the RAID map accordingly. At any given time, driver will always have old or new Raid map. So with this changes, driver can also work in host lock less mode. Please see next patch which enable host lock less mode for megaraid_sas driver. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit fc62b3fc9021526d096d940ec62e74af72eb1e10 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:28 2014 +0530 megaraid_sas : Firmware crash dump feature support Resending the patch. Addressed the review comments from Tomas Henzl. Move buff_offset inside spinlock, corrected loop at crash dump buffer free, reset_devices check is added to disable fw crash dump feature in kdump kernel. This feature will provide similar interface as kernel crash dump feature. When megaraid firmware encounter any crash, driver will collect the firmware raw image and dump it into pre-configured location. Driver will allocate two different segment of memory. #1 Non-DMA able large buffer (will be allocated on demand) to capture actual FW crash dump. #2 DMA buffer (persistence allocation) just to do a arbitrator job. Firmware will keep writing Crash dump data in chucks of DMA buffer size into #2, which will be copy back by driver to the host memory as described in #1. Driver-Firmware interface: ================== A.) Host driver can allocate maximum 512MB Host memory to store crash dump data. This memory will be internal to the host and will not be exposed to the Firmware. Driver may not be able to allocate 512 MB. In that case, driver will do possible memory (available at run time) allocation to store crash dump data. Letâ??s call this buffer as Host Crash Buffer. Host Crash buffer will not be contigious as a whole, but it will have multiple chunk of contigious memory. This will be internal to driver and firmware/application are unaware of it. Partial allocation of Host Crash buffer may have valid information to debug depending upon what was collected in that buffer and depending on nature of failure. Complete Crash dump is the best case, but we do want to capture partial buffer just to grab something rather than nothing. Host Crash buffer will be allocated only when FW Crash dump data is available, and will be deallocated once application copy Host Crash buffer to the file. Host Crash buffer size can be anything between 1MB to 512MB. (It will be multiple of 1MBs) B.) Irrespective of underlying Firmware capability of crash dump support, driver will allocate DMA buffer at start of the day for each MR controllers. Letâ??s call this buffer as â??DMA Crash Bufferâ??. For this feature, size of DMA crash buffer will be 1MB. (We will not gain much even if DMA buffer size is increased.) C.) Driver will now read Controller Info sending existing dcmd â??MR_DCMD_CTRL_GET_INFOâ??. Driver should extract the information from ctrl info provided by firmware and figure out if firmware support crash dump feature or not. Driver will enable crash dump feature only if â??Firmware support Crash dumpâ?? + â??Driver was able to create DMA Crash Bufferâ??. If either one from above is not set, Crash dump feature should be disable in driver. Firmware will enable crash dump feature only if â??Driver Send DCMD- MR_DCMD_SET_CRASH_BUF_PARA with MR_CRASH_BUF_TURN_ONâ?? Helper application/script should use sysfs parameter fw_crash_xxx to actually copy data from host memory to the filesystem. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit db4fc864ae2a27153f7f0c2af169ad4447cb82bc Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:23 2014 +0530 megaraid_sas : Update threshold based reply post host index register Resending the patch. Addressed the review comments from Tomas Henzl. Current driver updates reply post host index to let firmware know that replies are processed, while returning from ISR function, only if there is no oustanding replies in reply queue. Driver will free the request frame immediately from ISR but reply post host index is not yet updated. It means freed request can be used by submission path and there may be a tight loop in request/reply path. In such condition, firmware may crash when it tries to post reply and there is no free reply post descriptor. Eventually two things needs to be change to avoid this issue. Increase reply queue depth (double than request queue) to accommodate worst case scenario. Update reply post host index to firmware once it reach to some pre-defined threshold value. This change will make sure that firmware will always have some buffer of reply descriptor and will never find empty reply descriptor in completion path. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 0756040952582c4e7c2f23ff2af882c0f0c7a516 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:18 2014 +0530 megaraid_sas : Use writeq for 64bit pci write to avoid spinlock overhead Resending the patch. Addressed the review comments from Tomas Henzl. Reduce the assingment for u64 req_data variable. Use writeq() for 64bit PCI write instead of writel() to avoid additional lock overhead. Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 07e38d94ef3646ccee4f222ae1f3033bb37f7fa0 Author: Sumit.Saxena@xxxxxxxxxxxxx <Sumit.Saxena@xxxxxxxxxxxxx> Date: Fri Sep 12 18:57:13 2014 +0530 megaraid_sas : Do not scan non syspd drives Resending the patch. Addressed the review comments from Tomas Henzl. Current driver allow device scan for all the devices on channel 0 and 1. E.a If we have two single drive raid volumes, we may see prints like below. First two prints are for physical device which are used to form VD. Prints like this creates confusion as it is really not required to scan any hidden physical devices. scsi1 : LSI SAS based MegaRAID driver scsi 1:0:0:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 scsi 1:0:1:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 scsi 1:2:0:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 scsi 1:2:1:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 When slave_alloc called, sdev-type will not be set, so current code will always return "0" in slave_alloc callback. This patch make sure that driver return "-ENXIO" for non-syspd devices. After this patch, we will see prints in syslog only for devices which are exposed. For current example, below print will be available in syslog. scsi1 : LSI SAS based MegaRAID driver scsi 1:2:0:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 scsi 1:2:1:0: Direct-Access LSI MR9361-8i 4.21 PQ: 0 ANSI: 5 Signed-off-by: Sumit Saxena <sumit.saxena@xxxxxxxxxxxxx> Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b65f1d4da7df44835bd0a2452332e253a5c66d9b Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:33 2014 +0530 mpt3sas, mpt2sas: fix scsi_add_host error handling problems in _scsih_probe In _scsih_probe, propagate the return value from scsi_add_host. In mpt3sas, avoid calling list_del twice if that returns an error, which causes list_del corruption warnings if an error is returned. Tested with blk-mq and scsi-mq patches to properly cleanup from and propagate blk_mq_init_rq_map errors. Signed-off-by: Robert Elliott <elliott@xxxxxx> Acked-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 70d8c86ebeaca552801500d20d5f2c6cc235cabd Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:32 2014 +0530 mpt3sas: Bump mpt3sas driver version to 04.100.00.00 Bump mpt3sas driver version to 04.100.00.00. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9b05c91ae7fbff96864ca7656d81d5980996e8f4 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:31 2014 +0530 mpt3sas: Added Reply Descriptor Post Queue (RDPQ) Array support Up to now, Driver allocates a single contiguous block of memory pool for all reply queues and passes down a single address in the ReplyDescriptorPostQueueAddress field of the IOC Init Request Message to the firmware. When firmware receives this address, it will program each of the Reply Descriptor Post Queue registers, as each reply queue has its own register. Thus the firmware, starting from a base address it determines the starting address of the subsequent reply queues through some simple arithmetic calculations. The size of this contiguous block of memory pool is directly proportional to number of MSI-X vectors and the HBA queue depth. For example higher MSIX vectors requires larger contiguous block of memory pool. But some of the OS kernels are unable to allocate this larger contiguous block of memory pool. So, the proposal is to allocate memory independently for each Reply Queue and pass down all of the addresses to the firmware. Then the firmware will just take each address and program the value into the correct register. When HBAs with older firmware(i.e. without RDPQ capability) is used with this new driver then the max_msix_vectors value would be set to 8 by default. Change set in v1: 1. Declared the _base_get_ioc_facts() functions at the beginning of the mpt3sas_base.c file instead of moving all these functions before mpt3sas_base_map_resources() function a. _base_wait_for_doorbell_int() b. _base_wait_for_doorbell_ack() c. _base_wait_for_doorbell_not_used() d. _base_handshake_req_reply_wait() e. _base_get_ioc_facts() 2. Initially set the consistent DMA mask to 32 bit and then change it to 64 bit mask after allocating RDPQ pools by calling the function _base_change_consistent_dma_mask. This is to ensure that all the upper 32 bits of RDPQ entries's base address to be same. 3. Reduced the redundancy between the RDPQ and non-RDPQ support in these following functions a. _base_release_memory_pools() b. _base_allocate_memory_pools() c. _base_send_ioc_init() d. _base_make_ioc_operational() Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1117b31a6fa411f9e367bfff1721e8f33f5b2d66 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:30 2014 +0530 mpt3sas: Added OEM branding Strings Added following branding Strings for Intel custom HBAs support. Driver String: Vendor ID Device ID SubSystemVendor ID SubSystemDevice ID Intel(R) Integrated RAID Module RMS3JC080 0x1000 0x0097 0x8086 0x3521 Intel(R) RAID Controller RS3GC008 0x1000 0x0097 0x8086 0x3522 Intel(R) RAID Controller RS3FC044 0x1000 0x0097 0x8086 0x3523 Intel(R) RAID Controller RS3UC080 0x1000 0x0097 0x8086 0x3524 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a4ffce0d63e0683060fee6bc269f7b0b12c9700a Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:29 2014 +0530 mpt3sas: Copyright in driver sources is updated for year the 2014. Copyright in driver sources is updated for year the 2014. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4c8bab4d891fac7b44a8e26ec043c42bc910b391 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:28 2014 +0530 mpt3sas: MPI2.5 Rev H (2.5.3) specifications Below is the change set in MPI2.5 Rev H specification and 2.00.32 header files 1) Added reserved fields to IO Unit Page 7 for future use. 2) Added optional functionality to IOCInit Request so that the host may specify a separate base address for each Reply Descriptor Post Queue. IOC support for this is indicated using a new IOCCapabilities bit in the IOCFacts Reply. 3) Added Toolbox Console Text Display Tool The host uses the Console Text Display Tool to send a string to IOC's Console using different console types (eg: UART serial terminal or Ethernet terminal). 4) Firmware images can now be signed using an encrypted hash. 5) Added MPI2_SAS_OP_TRANSMIT_PORT_SELECT_SIGNAL 6) Added more details about configuration page restrictions when Host Based Discovery is enabled Enabling host based discovery affects the availability of some configuration pages and events. The SAS Expander, SAS Device, and SAS Enclosure configuration pages are not available from the IOC. The IOC returns an error status to any Configuration Request message attempting to access these pages. The IOC does not send the SAS Discovery Event, the SAS Topology Change List Event, or the SAS Enclosure Device Status Change Event when host based discovery is enabled. 7) Bit 13 of the SAS IO Unit Page 1 ControlFlags field is now obsolete. It was used to enable limiting direct attached SATA maximum link rate to 1.5 Gbps. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit bd0a791ce281062f29ac984dcb64c960e24d2b0d Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:27 2014 +0530 mpt3sas: Bump mpt3sas driver version to 03.100.00.00 Bump mpt3sas driver version to 03.100.00.00. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 0f624c391ecbf18e69b20d681f7e3c52b4ef02c1 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:26 2014 +0530 mpt3sas: Clear PFA Status on SGPIO when PFA Drive is Removed or Replaced Added code to send an SEP message that turns off the Predictive Failure LED when a drive is removed (if Predictive Failure LED was turned on). Added a new flag 'pfa_led_on' per device that tracks the status of Predictive Failure LED. When the drive is removed, this flag is checked and sends an SEP message to turn off the respective Predictive Failure LED. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 861ff736c8d8ae574dcc1ef81e5da84ff85e70c9 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:25 2014 +0530 mpt3sas: MPI2.5 Rev G (2.5.2) specifications Below is the change set in MPI2.5 Rev G specification and 2.00.31 header files 1) Added SCSIStatusQualifier to SCSI IO Error Reply message. 2) Added ATA Security Freeze Lock to IO Unit Page 1 Flags field. 3) Added Allow Protection Information bit for IR Volume Create. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9b2dcba3aa2287cbd08d1b987fec7a0fd8a0ecb1 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:24 2014 +0530 mpt2sas: Bump mpt2sas driver version to 18.100.00.00 Bump mpt2sas driver version to 18.100.00.00. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a66dd970c7808f0a3453bbc38b39553f6eafd994 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:23 2014 +0530 mpt2sas: Get IOC_FACTS information using handshake protocol only after HBA card gets into READY or Operational state. Driver initialization fails if driver tries to send IOC facts request message when the IOC is in reset or in a fault state. This patch will make sure that 1.Driver to send IOC facts request message only if HBA is in operational or ready state. 2.If IOC is in fault state, a diagnostic reset would be issued. 3.If IOC is in reset state then driver will wait for 10 seconds to exit out of reset state. If the HBA continues to be in reset state, then the HBA wouldn't be claimed by the driver. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5fb1bf8aaa832e1e9ca3198de7bbecb8eff7db9c Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:22 2014 +0530 mpt2sas: Added Reply Descriptor Post Queue (RDPQ) Array support Up to now, Driver allocates a single contiguous block of memory pool for all reply queues and passes down a single address in the ReplyDescriptorPostQueueAddress field of the IOC Init Request Message to the firmware. When firmware receives this address, it will program each of the Reply Descriptor Post Queue registers, as each reply queue has its own register. Thus the firmware, starting from a base address it determines the starting address of the subsequent reply queues through some simple arithmetic calculations. The size of this contiguous block of memory pool is directly proportional to number of MSI-X vectors and the HBA queue depth. For example higher MSIX vectors requires larger contiguous block of memory pool. But some of the OS kernels are unable to allocate this larger contiguous block of memory pool. So, the proposal is to allocate memory independently for each Reply Queue and pass down all of the addresses to the firmware. Then the firmware will just take each address and program the value into the correct register. When HBAs with older firmware(i.e. without RDPQ capability) is used with this new driver then the max_msix_vectors value would be set to 8 by default. Change_set in v1: 1. Declared _base_get_ioc_facts() function at the beginning of the mpt2sas_base.c file instead of moving all these functions before mpt2sas_base_map_resources() function a. _base_wait_for_doorbell_int() b. _base_wait_for_doorbell_ack() c. _base_wait_for_doorbell_not_used() d. _base_handshake_req_reply_wait() e. _base_get_ioc_facts() 2. Initially set the consistent DMA mask to 32 bit and then change it to 64 bit mask after allocating RDPQ pools by calling the function _base_change_consistent_dma_mask. This is to ensure that all the upper 32 bits of RDPQ entries's base address to be same. 3. Reduced the redundancy between the RDPQ and non-RDPQ support in these following functions a. _base_release_memory_pools() b. _base_allocate_memory_pools() c. _base_send_ioc_init() d. _base_make_ioc_operational() Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit daeaa9df92bd742f4e6d4d6039d689277a8e31bd Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:21 2014 +0530 mpt2sas: Avoid type casting for direct I/O commands A type casting error caused the max volume LBA to be truncated from 64 to 32 bits. The virtual LBA would also get truncated to 32 bits in the case of a 16-byte READ/WRITE command. Rewrite entire function to get rid of code duplication and type casts. Use get/put_unaligned wrappers to extract and replace the LBA field in the MPI request CDB. Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Tested-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 49563e1e4b202436a36409f365b0a96796db5aad Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:20 2014 +0530 mpt2sas: Bump mpt2sas driver version to 17.100.00.00 Bump mpt2sas driver version to 17.100.00.00 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit bd58ea3c25dbee16857733f3176dba23c34b64e5 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:19 2014 +0530 mpt2sas: Clear PFA Status on SGPIO when PFA Drive is Removed or Replaced Added code to send a SEP message that turns off the Predictive Failure LED when a drive is removed (if Predictive Failure LED was turned on). Added a new flag 'pfa_led_on' per device that tracks the status of Predictive Failure LED. When the drive is removed, this flag is checked and sends the SEP message to turn off the respective Predictive Failure LED. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e9edbe310dbb745067f7c5761ba91005fb9d60af Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:18 2014 +0530 mpt2sas: Copyright in driver sources is updated for year the 2014 Copyright in driver sources is updated for year the 2014. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit ff4637d6d1f2f4fdf014404b5b4b1d1e4adc6283 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:17 2014 +0530 mpt2sas: MPI2 Rev Y (2.00.17) and Rev Z (2.00.18) specifications Below is the change set in MPI2 Rev Y specification and in 2.00.17 header files 1) Added SCSIStatusQualifier to SCSI IO Error Reply message. 2) Added ATA Security Freeze Lock to IO Unit Page 1 Flags field. Below is the change set in MPI2 Rev Z specification and in 2.00.19 header files 1) Added reserved fields to IO Unit Page 7 for future use. 2) Added optional functionality to IOCInit Request so that the host may specify a separate base address for each Reply Descriptor Post Queue. IOC support for this is indicated using a new IOCCapabilities bit in the IOCFacts Reply. 3) Added Toolbox Console Text Display Tool The host uses the Console Text Display Tool to send a string to IOC's Console using different console types (eg: UART serial terminal or Ethernet terminal). The copyright in the mpi files is updated for year 2014 Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4e1f20ae4f92706518d6c18b13da8c2bc28339c7 Author: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxxx> Date: Fri Sep 12 15:35:16 2014 +0530 mpt2sas: Added driver module parameter max_msix_vectors Added driver module parameter max_msix_vectors. Using this module parameter the maximum number of MSI-X vectors could be set. The number of MSI-X vectors used would be the minimum of MSI-X vectors supported by the HBA, the number of CPU cores and the value set to max_msix_vectors module parameters. Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7c160fac54d81999e1a6df288d77b156705b36f9 Author: Tej Parkash <tej.parkash@xxxxxxxxxx> Date: Mon May 19 07:32:13 2014 -0400 bnx2i: Make boot_nic entry visible in the sysfs session objects Signed-off-by: Tej Parkash <tej.parkash@xxxxxxxxxx> Signed-off-by: Vikas Chaudhary <vikas.chaudhary@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Acked-by: Eddie Wai <eddie.wai@xxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5565461e30c15525c431814dd612118a78d05992 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Tue Sep 2 14:34:58 2014 -0400 bnx2fc: fix incorrect DMA memory mapping in bnx2fc_unmap_sg_list() This patch is based on a problem and solution from Maurizio Lombardi where bnx2fc isn't consistent in which device struct we using for DMA map and unmap operations. Make them consistent by using dma_sg_unmap in bnx2fc_unmap_sg_list like bnx2fc_map_sg. Reviewed-by: Eddie Wai <eddie.wai@xxxxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit fd10ccfa8dfe740f61471b212c200fbdb5de82f5 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:58:23 2014 -0400 lpfc: update lpfc version to driver version 10.4.8000.0 Update lpfc version to driver version 10.4.8000.0 Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 8c50d25c0edd8ec05a7e069c23f6ac2e50c898b1 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:58:16 2014 -0400 lpfc: fix for handling unmapped ndlp in target reset handler Fix for handling unmapped ndlp in target reset handler Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit eb01656688edd686a80c89281043fe6f2b2af6ff Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:58:06 2014 -0400 lpfc: fix low priority issues from fortify source code scan Fixed Low priority issues from lpfc given by fortify source code scan. Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a2fc4aefa06d8b57b6728c1787c84fb3d3c86354 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:57:55 2014 -0400 lpfc: fix high priority issues from fortify source code scan Fixed High priority issues from lpfc given by fortify source code scan. Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7ba36effb666831ac3803ca5b8aed371e7d17c4e Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:57:43 2014 -0400 lpfc: fix crash from page fault caused by use after rport delete Fix crash from page fault caused by use after rport delete. Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9bd2bff5e7140beab948ad3934f4039246748a24 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:57:30 2014 -0400 lpfc: fix locking issues with abort data paths Fix locking issues with abort data paths Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 12838e74f5164054fd7d5f5201a846ebb9755471 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:57:19 2014 -0400 lpfc: fix race between LOGO/PLOGI handling causing NULL pointer Fix race between LOGO/PLOGI handling causing NULL pointer Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2f6fa2c911167e7a3fda130689a36f55b39ed86d Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:57:08 2014 -0400 lpfc: fix IP Reset processing - wait for RDY before proceeding Fix IP Reset processing - wait for RDY before proceeding Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c62321978f542e82960264f175c9e33d7279bec5 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:56:48 2014 -0400 lpfc: fix quarantined XRI recovery qualifier state in link bounce Fix quarantined XRI recovery qualifier state in link bounce Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit dafe8ceaa89577062c2364139997f04a32f77502 Author: James Smart <james.smart@xxxxxxxxxx> Date: Wed Sep 3 12:56:40 2014 -0400 lpfc: fix discovery timeout during nameserver login Fix discovery timeout during nameserver login Signed-off-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Dick Kennedy <dick.kennedy@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4f871e1b27a7c7254ead541ad6405f339790b6c5 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Wed Sep 3 12:56:29 2014 -0400 lpfc: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a7901acc4ac0f853d9aff284ff96e4a56ff74aa8 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Wed Sep 3 12:56:20 2014 -0400 lpfc: do not feed jiffies as random seed from lpfc driver In prandom we have already reseeding mechanisms that trigger periodically from a much better entropy source than just feeding in jiffies through lpfc_mbx_cmpl_fcf_scan_read_fcf_rec() [what a function name 8-)]. Therefore, just remove this. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 0d4aec132d8ad6303981db08a52d64b0dbe59e97 Author: Manuel Schölling <manuel.schoelling@xxxxxx> Date: Wed Sep 3 12:55:58 2014 -0400 lpfc: use time_after() To be future-proof and for better readability the time comparisons are modified to use time_after() instead of plain, error-prone math. Signed-off-by: Manuel Schölling <manuel.schoelling@xxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1aee383d5912de15af3045a63a07e98f760f041c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Wed Sep 3 12:56:12 2014 -0400 lpfc: use dma_zalloc_coherent Use the zeroing function instead of dma_alloc_coherent & memset(,0,) Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9ab9b134a86ed9f897a29d2ba5abb93f7b162dca Author: Rashika Kheria <rashika.kheria@xxxxxxxxx> Date: Wed Sep 3 12:55:46 2014 -0400 lpfc: mark function as static in lpfc/lpfc_bsg.c [PATCH 26/55] scsi: Mark function as static in lpfc/lpfc_bsg.c Mark function as static in lpfc/lpfc_bsg.c because it is not used outside this file. This eliminates the following warning in lpfc/lpfc_bsg.c: drivers/scsi/lpfc/lpfc_bsg.c:3348:1: warning: no previous prototype for â??lpfc_bsg_issue_mbox_cmplâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 7bfe781edc26b01ebecef58be0aae91058544c9f Author: Rashika Kheria <rashika.kheria@xxxxxxxxx> Date: Wed Sep 3 12:55:36 2014 -0400 lpfc: mark functions as static in lpfc/lpfc_scsi.c Mark functions as static in lpfc/lpfc_scsi.c because they are not used outside this file. This eliminates the following warnings in lpfc/lpfc_scsi.c: drivers/scsi/lpfc/lpfc_scsi.c:299:1: warning: no previous prototype for â??lpfc_change_queue_depthâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_scsi.c:795:1: warning: no previous prototype for â??lpfc_sli4_post_scsi_sgl_listâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_scsi.c:3019:1: warning: no previous prototype for â??lpfc_bg_crcâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_scsi.c:3035:1: warning: no previous prototype for â??lpfc_bg_csumâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_scsi.c:3048:1: warning: no previous prototype for â??lpfc_calc_bg_errâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e399b22881c721626812008e25d930ac4d2bafc4 Author: Rashika Kheria <rashika.kheria@xxxxxxxxx> Date: Wed Sep 3 12:55:28 2014 -0400 lpfc: mark functions as static in lpfc/lpfc_init.c Mark functions as static in lpfc/lpfc_init.c because they are not used outside this file. This eliminates the following warning in lpfc/lpfc_init.c: drivers/scsi/lpfc/lpfc_init.c:652:1: warning: no previous prototype for â??lpfc_hba_init_linkâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_init.c:753:1: warning: no previous prototype for â??lpfc_hba_down_linkâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_init.c:3434:1: warning: no previous prototype for â??lpfc_sli4_fcf_redisc_wait_tmoâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b86a675672e471b495b9de7f240d3786548d25e1 Author: Rashika Kheria <rashika.kheria@xxxxxxxxx> Date: Wed Sep 3 12:55:17 2014 -0400 lpfc: mark functions as static in lpfc/lpfc_hbadisc.c Mark functions as static in lpfc/lpfc_hbadisc.c because they are not used outside this file. This eliminates the following warnings in lpfc/lpfc_hbadisc.c: drivers/scsi/lpfc/lpfc_hbadisc.c:2047:5: warning: no previous prototype for â??lpfc_sli4_fcf_pri_list_addâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_hbadisc.c:2681:1: warning: no previous prototype for â??lpfc_init_vfi_cmplâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_hbadisc.c:4432:1: warning: no previous prototype for â??lpfc_nlp_logo_unregâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5d8b81676829c14af98aec2233151aad02f5fe9d Author: Rashika Kheria <rashika.kheria@xxxxxxxxx> Date: Wed Sep 3 12:55:04 2014 -0400 lpfc: mark functions as static in lpfc/lpfc_sli.c [PATCH 22/55] scsi: Mark functions as static in lpfc/lpfc_sli.c Mark functions as static in lpfc/lpfc_sli.c because they are not used outside this file. This eliminates the following warnings in lpfc/lpfc_sli.c: drivers/scsi/lpfc/lpfc_sli.c:13867:1: warning: no previous prototype for â??lpfc_sli4_alloc_xriâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:13897:1: warning: no previous prototype for â??__lpfc_sli4_free_xriâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:14317:1: warning: no previous prototype for â??lpfc_update_rcv_time_stampâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:14786:1: warning: no previous prototype for â??lpfc_sli4_handle_unsol_abortâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:15331:1: warning: no previous prototype for â??__lpfc_sli4_free_rpiâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:15769:1: warning: no previous prototype for â??lpfc_check_next_fcf_pri_levelâ?? [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_sli.c:16000:1: warning: no previous prototype for â??lpfc_mbx_cmpl_redisc_fcf_tableâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: James Smart <james.smart@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 86001f248e943b7b22c22b50151ffaee9447df2d Author: Hiral Shah <hishah@xxxxxxxxx> Date: Fri May 2 17:46:31 2014 -0700 fnic: assign FIP_ALL_FCF_MACS to fcoe_all_fcfs 1) Assgning FIP_ALL_FCF_MACS to fcoe_all_fcfs allows VLAN request to be sent to correct Mac address for VLAN Discovery otherwise VLAN request will be sent to invalid address hence FLOGI never happens. 2) Simplify the copy_and_format_trace_data code and log the correct Link event for fnic control path tracing in case of link status UP->UP. 3) Increment Fnic driver version Signed-off-by: Hiral Shah <hishah@xxxxxxxxx> Signed-off-by: Sesidhar Baddela <sebaddel@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6b3839790b16adffbbe2f5967e149562a5a603e8 Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:12:29 2014 -0400 qla2xxx: Prevent probe and board_disable race The PCI register read checking introduced in commit fe1b806f4f71 ("qla2xxx: Disable adapter when we encounter a PCI disconnect") is active during driver probe. Hold off scheduling any board removal until the driver probe has completed. This ensures that the the board_disable work structure is initialized and more importantly, avoids racing qla2x00_probe_one. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit beb9e315e6e0d8d1d7d3a79d2e5d4664aa8f8796 Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:12:14 2014 -0400 qla2xxx: Prevent removal and board_disable race Introduce mutual exclusion between the qla2xxx_remove_one PCI driver callback and qla2x00_disable_board_on_pci_error, which is scheduled as board_disable work by qla2x00_check_reg{32,16}_for_disconnect: * Leave the driver-specific data attached to the underlying PCI device intact in qla2x00_disable_board_on_pci_error, so that qla2x00_remove_one has enough breadcrumbs to determine that any board_disable work has been completed. * In qla2xxx_remove_one, set a bit to prevent any subsequent board_disable work from scheduling, then cancel and wait until pending work has completed. * Reuse the PCI device enable count check in qla2x00_remove_one to determine if board_disable has occured. The original purpose of this check was unnecessary since the driver remove function wasn't called when the probe fails. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 232792b6b43b1420324e432a0498602b9c8d5a8c Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:12:01 2014 -0400 qla2xxx: Schedule board_disable only once There are various callers of qla2x00_check_reg{32,16}_for_disconnect that may schedule board removal on PCI-disconnect. Test-and-set a dedicated flag before scheduling board_disable so it is invoked only once. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c821e0d5b20006acdaca7aa378097a084986e37b Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:11:41 2014 -0400 qla2xxx: Collect PCI register checks and board_disable scheduling Add an uint16_t variant of qla2x00_check_reg_for_disconnect and use these routines to check and schedule a PCI-disconnected board from a centralized place. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 1a2fbf185cce45b80cfdb441fb6651c07915ddb1 Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:11:18 2014 -0400 qla2xxx: Use qla2x00_clear_drv_active on probe failure Take advantage of commit fe1b806f4f71 ("qla2xxx: Refactor shutdown code so some functionality can be reused") to remove an inlined copy of qla2x00_clear_drv_active in the driver's probe hardware error path. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit db7157d4cfce6edf052452fb1d327d4d11b67f4c Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Tue Aug 26 17:10:41 2014 -0400 qla2xxx: Fix shost use-after-free on device removal Once calling scsi_host_put, be careful to not access qla_hw_data through the Scsi_Host private data (ie, scsi_qla_host base_vha). Fixes: fe1b806f4f71 ("qla2xxx: Refactor shutdown code so some functionality can be reused") Cc: stable@xxxxxxxxxxxxxxx # 3.14, 3.15, 3.16 Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c01a8bc084b9bec58a9ee3c7a95fb4266328c4b8 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:53 2014 +0200 pmcraid: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 182801ff266e61d2c4b18aab20f0ffed0f36b873 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:52 2014 +0200 pmcraid: Get rid of a redundant assignment Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6b73352134d9cd6ff1af1962799b738b4de604be Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:50 2014 +0200 csiostor: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c6b9bad280674a51f42929fc1fe6964ac3528dc8 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:49 2014 +0200 csiostor: Remove superfluous call to pci_disable_msix() There is no need to call pci_disable_msix() in case the previous call to pci_enable_msix() failed Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e149fc13dbc1c113e667e7f5bd45288853bdf6bb Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:48 2014 +0200 be2iscsi: Use pci_enable_msix_range() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() and pci_enable_msix_range() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Acked-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5e8d90070b87df4237d3dc88ffa652f30badce85 Author: Adam Radford <aradford@xxxxxxxxx> Date: Wed Jul 9 15:17:58 2014 -0700 megaraid_sas: Version and Changelog update The following patch for megaraid_sas updates the driver version and Documentation/scsi/ChangeLog.megaraid_sas. Signed-off-by: Adam Radford <aradford@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a2fbcbc3f0aa3bea3bf5c86e41f9c543c8de9e75 Author: Adam Radford <aradford@xxxxxxxxx> Date: Wed Jul 9 15:17:54 2014 -0700 megaraid_sas: Fix reset_mutex leak The following patch for megaraid_sas fixes a reset_mutex leak in megasas_reset_fusion(). Signed-off-by: Adam Radford <aradford@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c21bb25e8a8653c6d5ba1bec5c6ef4a20ee35347 Author: Adam Radford <aradford@xxxxxxxxx> Date: Wed Jul 9 15:17:55 2014 -0700 megaraid_sas: Remove unused variables in megasas_instance The following patch for megaraid_sas removes some unused variables from the megasas_instance structure. Signed-off-by: Adam Radford <aradford@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9ea81f8169bef693a0136f3ab1110b00dc7c6f84 Author: Adam Radford <aradford@xxxxxxxxx> Date: Wed Jul 9 15:17:57 2014 -0700 megaraid_sas: Add missing initial call to megasas_get_ld_vf_affiliation(). The following patch for megaraid_sas adds a missing initial call to megasas_get_ld_vf_affiliation() at the end of megasas_probe_one(). Signed-off-by: Adam Radford <aradford@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4cbfea8865825ad9f38beb627b50b308eb2d92be Author: Adam Radford <aradford@xxxxxxxxx> Date: Wed Jul 9 15:17:56 2014 -0700 megaraid_sas: Fix LD/VF affiliation parsing The following patch for megaraid_sas fixes the LD/VF affiliation policy parsing code to account for LD targetId's and Hidden LD's (not yet affiliated with any Virtual Functions). This also breaks megasas_get_ld_vf_affiliation() into 2 separate functions: megasas_get_ld_vf_affiliation_111() and megasas_get_ld_Vf_affiliation_12() to reduce indentation levels. Signed-off-by: Adam Radford <aradford@xxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit e46b0344be9b50e8254ddd74e3c5b439d5fca3ce Author: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Date: Tue Aug 5 12:21:53 2014 +0200 scsi_debug: bump inquiry version to SPC-4, update version descriptors Since a lot of functionality from SPC-4 is supported by this driver (e.g. LBP and PI) then bump the default INQUIRY version from SPC-3 to SPC-4. Also update the INQUIRY version descriptors. Signed-off-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit cd62b7dae245dd3bb3a21eaadcf01d93ec4fcc7c Author: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Date: Tue Aug 5 12:20:46 2014 +0200 scsi_debug: give unit attention and other errors precedence over TSF Give existing errors priority over the generation of Task Set Full (TSF) errors. So that max_queue is not exceeded, existing errors may be sent back in the invocation thread. This is done so errors like Unit Attentions are not hidden and lost by either max_queue exceeded or real/injected TSFs. Signed-off-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 01123ef4c3fc9b9ff3062df2e10dee9b139b46b4 Author: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Date: Tue Aug 5 12:20:02 2014 +0200 scsi_debug: scsi_cmnd->cmnd check and casts unnecessary This patch removes a NULL check for the scsi_cmnd::cmnd pointer since many other instances in this driver and elsewhere assume it is valid. Also redundant casts to 'unsigned char *' are removed as the pointer has that type. Signed-off-by: Douglas Gilbert <dgilbert@xxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 5d46ad7d88a78cca36ff6472a5bdc7d1c9c22654 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sat Aug 16 14:15:15 2014 -0700 fusion: fix excess parameter kernel-doc warning Fix kernel-doc excess parameter warning: Warning(..//drivers/message/fusion/mptbase.c:1411): Excess function parameter 'prod_name' description in 'mpt_get_product_name' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 132aa220b45d60e9b20def1e9d8be9422eed9616 Author: Tomas Henzl <thenzl@xxxxxxxxxx> Date: Thu Aug 14 16:12:39 2014 +0200 hpsa: refine the pci enable/disable handling When a second(kdump) kernel starts and the hard reset method is used the driver calls pci_disable_device without previously enabling it, so the kernel shows a warning - [ 16.876248] WARNING: at drivers/pci/pci.c:1431 pci_disable_device+0x84/0x90() [ 16.882686] Device hpsa disabling already-disabled device ... This patch fixes it, in addition to this I tried to balance also some other pairs of enable/disable device in the driver. Unfortunately I wasn't able to verify the functionality for the case of a sw reset, because of a lack of proper hw. Signed-off-by: Tomas Henzl <thenzl@xxxxxxxxxx> Reviewed-by: Stephen M. Cameron <scameron@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 9e0328453ea1a0e800b10daafffbadeac68273fd Author: Suresh Thiagarajan <Suresh.Thiagarajan@xxxxxxxx> Date: Mon Aug 11 11:50:35 2014 +0530 pm8001: Update nvmd response data to request buffer Instead of using the virt_ptr use request buffer for copying back the nvmd response data and use the same in request function also Signed-off-by: Suresh Thiagarajan <suresh.thiagarajan@xxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a07b67194307cc344953ce23c28d840609acac1f Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Fri Aug 8 01:00:02 2014 -0400 be2iscsi: Bump the driver version Bump the driver version Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit b7ab35b13379e709a2a1c3f1b3a59e5db62ce4e3 Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Fri Aug 8 01:00:01 2014 -0400 be2iscsi: Fix processing CQE before connection resources are freed Driver should process the completion queue entries before a connection resources are freed. While running mixed traffic due to latency, driver processes the CQE after the connection resources are freed. This fix processes all the completion queue before the connection resources are freed. Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit a3d313ea56fada1c73be022140b8d2b14ff1fc7b Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Fri Aug 8 01:00:00 2014 -0400 be2iscsi: Fix updating the boot enteries in sysfs During port async event driver should check if there is any boot target configured on the adapter. Update sysfs enteries with the boot target parameters. Signed-off-by: Minh Tran <minhduc.tran@xxxxxxxxxx> Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 65c5efa8166d146c088bef6e004f827c1070d826 Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Fri Aug 8 00:59:59 2014 -0400 be2iscsi: Fix the copyright year Change the copyright year to 2014 Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 39033413e22aa64944baf21b29e134d52be67038 Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Fri Aug 8 00:59:58 2014 -0400 be2iscsi: Fix the sparse warning introduced in previous submission commit 73af08e11c6638e2abd6b1fa13cdab58c2bbdbf8 Author: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Date: Mon May 5 21:41:26 2014 -0400 be2iscsi: Fix interrupt Coalescing mechanism. Signed-off-by: John Soni Jose <sony.john-n@xxxxxxxxxx> Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@xxxxxxxxxx> Reviewed-by: Mike Christie <michaelc@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit fc3850458c176a3cf925771ec822f9537d1dbbc6 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Tue Aug 5 21:43:29 2014 -0700 scsi: fix decimal printf format specifiers prefixed with 0x The prefix suggests the number should be printed in hex, so use the %x specifier to do that. Found by using regex suggested by Joe Perches. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 8e5a9484aee8d48f7dd3739c139ac684b30e6201 Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Fri Aug 8 07:38:09 2014 -0400 qla2xxx: Remove restriction on starting remote device discovery on port update. Limiting which port update events will allow the driver to kick off a name server scan has been problematic in some corner cases so remove the restriction and restore the previous semantic. Also move the link up/down informational messages to the LOOP_UP and LOOP_DOWN events. Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 34c5801d81b9ae287010888be55ec98a3026cddd Author: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Date: Fri Aug 8 07:38:08 2014 -0400 qla2xxx: Move mailbox failure messages to a default debug level. Move the mailbox failure messages to a default debugging level so that benign failures won't flood the system logs but will still show up if default debug messaging is enabled (ql2xextended_error_logging=1). Signed-off-by: Giridhar Malavali <giridhar.malavali@xxxxxxxxxx> Signed-off-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit f6e495a2b317fd7f3693d7c9217abfe943cbb3c6 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 14:56:20 2014 +0200 mptfusion: simplify rounding Rounding up to a multiple of 4 should be done using the ALIGN macro. As a bonus, this also makes the generated code smaller. In GetIocFacts(), sz is assigned to a few lines below without being read in the meantime, so it is ok that it doesn't end up with the same value as facts->FWImageSize. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 84e32a06f4f8756ce9ec3c8dc7e97896575f0771 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:47 2014 +0200 qla2xxx: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Log message code 0x00c6 preserved, although it is reported after successful call to pci_enable_msix_range(), not before possibly unsuccessful call to pci_enable_msix(). Consumers of the error code should not notice the difference. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Acked-by: Chad Dupuis <chad.dupuis@xxxxxxxxxx> Cc: qla2xxx-upstream@xxxxxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 6bfa6907046b7d97a460abf95f3f5b82c7e31a1e Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:46 2014 +0200 mpt3sas: Use pci_enable_msix_exact() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Cc: Nagalakshmi Nandigama <Nagalakshmi.Nandigama@xxxxxxx> Cc: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxx> Cc: support@xxxxxxx Cc: DL-MPTFusionLinux@xxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 52674c65f9751f607a4ed9d75227a0d8e4f54189 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:45 2014 +0200 mpt2sas: Use pci_enable_msix_exact() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Reviewed-by: Tomas Henzl <thenzl@xxxxxxxxxx> Cc: Nagalakshmi Nandigama <Nagalakshmi.Nandigama@xxxxxxx> Cc: Sreekanth Reddy <Sreekanth.Reddy@xxxxxxx> Cc: support@xxxxxxx Cc: DL-MPTFusionLinux@xxxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 8ae80ed1734bbe9b2c2021ef1ea981b7d4ccc598 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:44 2014 +0200 megaraid: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Acked-by: Kashyap Desai <Kashyap.desai@xxxxxxxxxxxxx> Cc: Neela Syam Kolli <megaraidlinux@xxxxxxx> Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit dd0881281d98e7d3d5e34224058a5d1389241126 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:43 2014 +0200 megaraid: Fail resume if MSI-X re-initialization failed Currently the driver fails to analize MSI-X re-enablement status on resuming and always assumes the success. This update checks the MSI-X initialization result and fails to resume if MSI-Xs re-enablement failed. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Acked-by: Kashyap Desai <Kashyap.desai@xxxxxxxxxxxxx> Cc: Neela Syam Kolli <megaraidlinux@xxxxxxx> Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 18fce3c440c762ab4dfb6156bbd3c0beb0f67f17 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:42 2014 +0200 hpsa: Use pci_enable_msix_range() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Acked-by: "Stephen M. Cameron" <scameron@xxxxxxxxxxxxxxxxxx> Cc: iss_storagedev@xxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 49bd1a8f96d7b169edb11eb41e084b1b1669557a Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Mon Aug 18 08:01:41 2014 +0200 hpsa: Fallback to MSI rather than to INTx if MSI-X failed Currently the driver falls back to INTx mode when MSI-X initialization failed. This is a suboptimal behaviour for chips that also support MSI. This update changes that behaviour and falls back to MSI mode in case MSI-X mode initialization failed. Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Acked-by: "Stephen M. Cameron" <scameron@xxxxxxxxxxxxxxxxxx> Cc: iss_storagedev@xxxxxx Cc: linux-scsi@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit ed81d7741eddb690aa9d5c79945123db11ec7a0c Author: Christoph Hellwig <hch@xxxxxx> Date: Mon Jul 14 09:34:54 2014 +0200 eata: remove driver_lock port_detect is only called from the module_init routine and thus implicitly serialized, so remove the driver lock which was held over potentially sleeping function calls. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Reported-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx> Tested-by: Arthur Marsh <arthur.marsh@xxxxxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Hannes Reinecke <hare@xxxxxxx> commit 15155b9a4530f8da42d6594927928e25b2b29875 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:07:07 2014 +0100 PKCS#7: Add a missing static Add a missing static (found by checker). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit 8da79b6439f46a2bea71238ab2f0e84e3c16587d Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 16 17:07:07 2014 +0100 KEYS: Fix missing statics Fix missing statics (found by checker). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> commit fda322a1b3b9e8ee231913c500f73c6988b1aff5 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 18:42:30 2014 -0300 UBI: Dispatch update notification if the volume is updated The UBI_IOCVOLUP ioctl is used to start an update and also to truncate a volume. In the first case, a "volume updated" notification is dispatched when the update is done. This commit adds the "volume updated" notification to be also sent when the volume is truncated. This is required for UBI block and gluebi to get notified about the new volume size. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.15+ commit 06d9c2905f745c8b1920a335cbb366ba6b0fc754 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 18:42:29 2014 -0300 UBI: block: Add support for the UBI_VOLUME_UPDATED notification Static volumes can change its 'used_bytes' when they get updated, and so the block interface must listen to the UBI_VOLUME_UPDATED notification to resize the block device accordingly. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.15+ commit 978d6496758d19de2431ebf163337fc7b92f8c45 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 18:42:28 2014 -0300 UBI: block: Fix block device size setting We are currently taking the block device size from the ubi_volume_info.size field. However, this is not the amount of data in the volume, but the number of reserved physical eraseblocks, and hence leads to an incorrect representation of the volume. In particular, this produces I/O errors on static volumes as the block interface may attempt to read unmapped PEBs: $ cat /dev/ubiblock0_0 > /dev/null UBI error: ubiblock_read_to_buf: ubiblock0_0 ubi_read error -22 end_request: I/O error, dev ubiblock0_0, sector 9536 Buffer I/O error on device ubiblock0_0, logical block 2384 [snip] Fix this by using the ubi_volume_info.used_bytes field which is set to the actual number of data bytes for both static and dynamic volumes. While here, improve the error message to be less stupid and more useful: UBI error: ubiblock_read_to_buf: ubiblock0_1 ubi_read error -9 on LEB=0, off=15872, len=512 It's worth noticing that the 512-byte sector representation of the volume is only correct if the volume size is multiple of 512-bytes. This is true for virtually any NAND device, given eraseblocks and pages are 512-byte multiple and hence so is the LEB size. Artem: tweak the error message and make it look more like other UBI error messages. Fixes: 9d54c8a33eec ("UBI: R/O block driver on top of UBI volumes") Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # v3.15+ commit 3df770725339c41d1cd9be4da4ca0d968119d8ad Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Wed Aug 20 10:19:38 2014 +0100 UBI: block: fix dereference on uninitialized dev commit 4df38926f337 ("UBI: block: Avoid disk size integer overflow") introduced a dereference on dev (which is not initialized at that point) when printing a warning message. Re-order disk_capacity check after the dev is found. Found by cppcheck: [drivers/mtd/ubi/block.c:509]: (error) Uninitialized variable: dev Artem: tweak the error message a bit Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 5f093ee76c8fc1ec82de8da04bd087663c853e7b Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 16 17:15:03 2014 +0200 clk: mvebu: fix sscg node lookup Commit 15917b16022427c53755abff4dc7051f3076dd7a ("clk: mvebu: Fix clk frequency value if SSCG is enabled") introduced some logic in the common mvebu clock code to adjust the clock frequency according to the configuration of the SSCG. In order to do this, it looks up for a DT node called "sscg" and maps it before accessing the SSCG configuration register. However, the lookup is currently done using: sscg_np = of_find_node_by_name(np, "sscg"); where "np" is a pointer to the DT node of the clock for which we are calculating the adjusted frequency. This means that if the "sscg" node is *after* the clock node in the Device Tree, it works fine (and that's the case for Armada 370). However, if it turns out that the "sscg" node is *before* the clock node in the Device Tree, it won't work because the sscg node will not be found. What we really want here is a search of the entire Device Tree, not only starting from the clock node, so instead of passing "np" as first argument of of_find_node_by_name(), we simply need to pass NULL. Passing a non-NULL argument is typically used in a loop, so that the search for the next matching node starts right after the node that was matched. This makes the "np" argument to the kirkwood_fix_sscg_deviation() function unnecessary, which leads to further cleanups. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Fixes: 15917b1602242 ("clk: mvebu: Fix clk frequency value if SSCG is enabled") Acked-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410880503-2322-1-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f8fb117034847634bff8f02632151f7535981fa1 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 15:53:26 2014 +0200 ALSA: hda - Use standard hda_jack infrastructure for CA0132 driver For its headphone, mic and DSP responses, we can use the standard hda_jack infrastructure in CA0132 driver, too. The only point to handle carefully is the delayed headphone jack handling. It tries to react after a certain delay. Here we use the existing block_report flag in hda_jack_tbl (that was implemented for HDMI). Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 7c3008c47b405420bf2b24fb5a21af3df5b5c323 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 15:35:22 2014 +0200 ALSA: hda - Remove superfluous hooks from VIA driver Like the previous fix for STAC/IDT codecs, the automute hooks in VIA driver can be also removed by enabling the power control callback for all pins. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit aa699c492e77ec01a038e8a8add6ce04011b9561 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 15:29:18 2014 +0200 ALSA: hda - Remove superfluous callbacks from STAC/IDT codecs Now we can register multiple callbacks to each jack, most of hooks used in STAC/IDT codecs can be removed by enabling the powermap update callback for all relevant pins. Along with this, the call of stac_init_power_map() can be moved back to stac_parse_auto_config() and the own build_controls callback can be removed, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1a4f69d5aaecb39a980fc20b14ec800fd5b53061 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 15:22:46 2014 +0200 ALSA: hda - Allow multiple callbacks for jack So far, hda_jack infrastructure allows only one callback per jack, and this makes things slightly complicated when a driver wants to assign multiple tasks to a jack, e.g. the standard auto-mute with a power up/down sequence. This can be simplified if the hda_jack accepts multiple callbacks. This patch is such an extension: the callback-specific part (the function and private_data) is split to another struct from hda_jack_tbl, and multiple such objects can be assigned to a single hda_jack_tbl entry. The new struct hda_jack_callback is passed to each callback function now, thus the patch became bigger than expected. But these changes are mostly trivial. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1bf1890e86869032099b539bc83b098be12fc5a7 Author: Richard Genoud <richard.genoud@xxxxxxxxx> Date: Tue Sep 9 14:25:01 2014 +0200 UBI: add missing kmem_cache_free() in process_pool_aeb error path I ran into this error after a ubiupdatevol, because I forgot to backport e9110361a9a4 UBI: fix the volumes tree sorting criteria. UBI error: process_pool_aeb: orphaned volume in fastmap pool UBI error: ubi_scan_fastmap: Attach by fastmap failed, doing a full scan! kmem_cache_destroy ubi_ainf_peb_slab: Slab cache still has objects CPU: 0 PID: 1 Comm: swapper Not tainted 3.14.18-00053-gf05cac8dbf85 #1 [<c000d298>] (unwind_backtrace) from [<c000baa8>] (show_stack+0x10/0x14) [<c000baa8>] (show_stack) from [<c01b7a68>] (destroy_ai+0x230/0x244) [<c01b7a68>] (destroy_ai) from [<c01b8fd4>] (ubi_attach+0x98/0x1ec) [<c01b8fd4>] (ubi_attach) from [<c01ade90>] (ubi_attach_mtd_dev+0x2b8/0x868) [<c01ade90>] (ubi_attach_mtd_dev) from [<c038b510>] (ubi_init+0x1dc/0x2ac) [<c038b510>] (ubi_init) from [<c0008860>] (do_one_initcall+0x94/0x140) [<c0008860>] (do_one_initcall) from [<c037aadc>] (kernel_init_freeable+0xe8/0x1b0) [<c037aadc>] (kernel_init_freeable) from [<c02730ac>] (kernel_init+0x8/0xe4) [<c02730ac>] (kernel_init) from [<c00093f0>] (ret_from_fork+0x14/0x24) UBI: scanning is finished Freeing the cache in the error path fixes the Slab error. Tested on at91sam9g35 (3.14.18+fastmap backports) Signed-off-by: Richard Genoud <richard.genoud@xxxxxxxxx> Cc: stable <stable@xxxxxxxxxxxxxxx> # 3.10+ commit 9f9ec08cf9cb8e8411b1d400d5c8d99d46c5c22b Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Mon Sep 8 16:48:25 2014 +0100 ARM: 8140/1: ep93xx: Enable DEBUG_LL_UART_PL01X This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE will be selected (but due to some back compability magic I'd like to remove is not actually honoured). DEBUG_LL_UART_PL01X is a much saner default. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit be26e0e0ef167f4aa1047ef14e8059a44262921a Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Mon Sep 8 16:47:47 2014 +0100 ARM: 8139/1: versatile: Enable DEBUG_LL_UART_PL01X This defconfig already enables DEBUG_LL and by default DEBUG_LL_UART_NONE will be selected (but due to some back compability magic I'd like to remove is not actually honoured). DEBUG_LL_UART_PL01X is a much saner default. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 5b484989a998074762281a1ae71b2d88f26f66d6 Author: Andreas Larsson <andreas@xxxxxxxxxxx> Date: Mon Sep 15 12:32:54 2014 +0200 usb: gadget: gr_udc: Add bounce buffer to handle odd sized OUT requests This adds a bounce buffer that handles the end of OUT requests where req.length is not divisible by ep->ep.maxpacket. Before this, such requests were rejected as the DMA engine cannot restrict itself to buffers that are smaller than ep->ep.maxpacket. Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit af54954ad02091506ced45588215d389d606f74e Author: Andreas Larsson <andreas@xxxxxxxxxxx> Date: Mon Sep 15 12:42:27 2014 +0200 usb: gadget: udc_core: Use right kobj when calling sysfs_notify The state attribute is connected to the kobj of the udc, not the gadget. Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 468bcc2a2ca071f652009d2d20d97f2437630cae Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 15 09:03:24 2014 -0500 usb: musb: dsps: kill OTG timer on suspend if we don't make sure to kill the timer, it could expire after we have already gated our clocks. That will trigger a Data Abort exception because we would try to access register while clock is gated. Fix that bug. Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Fixes 869c597 (usb: musb: dsps: add support for suspend and resume) Tested-by: Dave Gerlach <d-gerlach@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6dd5b021bd6c735a6a1515d06dab1478fc461dfd Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Sep 16 17:26:48 2014 +0300 usb: gadget: uvc: Simplify uvcg_video_pump by using local variable Use the local queue variable instead of computing it every time. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e102609f107269fbc04af21548e78e99c02b6204 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Sep 16 17:26:47 2014 +0300 usb: gadget: uvc: Fix endianness mismatches The struct usb_endpoint_descriptor wMaxPacketSize field the struct usb_ss_ep_comp_descriptor wBytesPerInterval field are stored in little-endian format. Convert the values from CPU order to little endian before storing the values. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4a6698b80cfe36dd4e3c6bc30ab81b4e0a837f64 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Tue Sep 16 17:26:46 2014 +0300 usb: gadget: uvc: uvc_alloc() can be static The function isn't called from outside of its compilation unit, make it static. Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1b0bf88fd8b845aef4300c7c0feca774265dd1c4 Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 9 08:23:17 2014 +0200 usb: gadget: f_fs: virtual endpoint address mapping This patch introduces virtual endpoint address mapping. It separates function logic form physical endpoint addresses making it more hardware independent. Following modifications changes user space API, so to enable them user have to switch on the FUNCTIONFS_VIRTUAL_ADDR flag in descriptors. Endpoints are now refered using virtual endpoint addresses chosen by user in endpoint descpriptors. This applies to each context when endpoint address can be used: - when accessing endpoint files in FunctionFS filesystemi (in file name), - in setup requests directed to specific endpoint (in wIndex field), - in descriptors returned by FUNCTIONFS_ENDPOINT_DESC ioctl. In endpoint file names the endpoint address number is formatted as double-digit hexadecimal value ("ep%02x") which has few advantages - it is easy to parse, allows to easly recognize endpoint direction basing on its name (IN endpoint number starts with digit 8, and OUT with 0) which can be useful for debugging purpose, and it makes easier to introduce further features allowing to use each endpoint number in both directions to have more endpoints available for function if hardware supports this (for example we could have ep01 which is endpoint 1 with OUT direction, and ep81 which is endpoint 1 with IN direction). Physical endpoint address can be still obtained using ioctl named FUNCTIONFS_ENDPOINT_REVMAP, but now it's not neccesary to handle USB transactions properly. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4cd41ffd27b6b775445ecfdb72b592b71d6b4a32 Merge: d915216 9e82bf0 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Sep 16 09:53:59 2014 -0500 Merge tag 'v3.17-rc5' into next Linux 3.17-rc5 Signed-off-by: Felipe Balbi <balbi@xxxxxx> Conflicts: Documentation/devicetree/bindings/usb/mxs-phy.txt drivers/usb/phy/phy-mxs-usb.c commit 184564efae4d775225c8fe3b762a56956fb1f827 Author: Zhang Haoyu <zhanghy@xxxxxxxxxxx> Date: Thu Sep 11 16:47:04 2014 +0800 kvm: ioapic: conditionally delay irq delivery duringeoi broadcast Currently, we call ioapic_service() immediately when we find the irq is still active during eoi broadcast. But for real hardware, there's some delay between the EOI writing and irq delivery. If we do not emulate this behavior, and re-inject the interrupt immediately after the guest sends an EOI and re-enables interrupts, a guest might spend all its time in the ISR if it has a broken handler for a level-triggered interrupt. Such livelock actually happens with Windows guests when resuming from hibernation. As there's no way to recognize the broken handle from new raised ones, this patch delays an interrupt if 10.000 consecutive EOIs found that the interrupt was still high. The guest can then make a little forward progress, until a proper IRQ handler is set or until some detection routine in the guest (such as Linux's note_interrupt()) recognizes the situation. Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> Signed-off-by: Jason Wang <jasowang@xxxxxxxxxx> Signed-off-by: Zhang Haoyu <zhanghy@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 105b21bbf67bb50000a0dc4b547a2f99b6376136 Author: Guo Hui Liu <liuguohui@xxxxxxxxx> Date: Fri Sep 12 13:43:19 2014 +0800 KVM: x86: Use kvm_make_request when applicable This patch replace the set_bit method by kvm_make_request to make code more readable and consistent. Signed-off-by: Guo Hui Liu <liuguohui@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 60979115a69e0e7916a1c1796f902264f1350977 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Sat Sep 13 00:35:58 2014 +0900 f2fs: fix double lock for inode page during roll-foward recovery If the inode is same and its data index are needed to truncate, we can fall into double lock for its inode page via get_dnode_of_data. Error case is like this. 1. write data 1, 2, 3, 4, 5 in inode #4. 2. write data 100, 102, 103, 104, 105 in dnode #6 of inode #4. 3. sync 4. update data 100->106 in dnode #6. 5. fsync inode #4. 6. power-cut -> Then, 1. go back to #3's checkpoint 2. in do_recover_data, get_dnode_of_data() gets inode #4. 3. detect 100->106 in dnode #6. 4. check_index_in_prev_nodes tries to truncate 100 in dnode #6. 5. to trigger truncate_hole, get_dnode_of_data should grab inode #4. 6. detect *kernel hang* This patch should resolve that bug. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c6e489305eb5ed029002b037e36800032a994bb4 Author: Huang Ying <ying.huang@xxxxxxxxx> Date: Fri Sep 12 19:21:11 2014 +0800 f2fs: fix a race condition in next_free_nid The nm_i->fcnt checking is executed before spin_lock, so if another thread delete the last free_nid from the list, the wrong nid may be gotten. So fix the race condition by moving the nm_i->fnct checking into spin_lock. Signed-off-by: Huang, Ying <ying.huang@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 7704182387f7eab6217a587420f8a3b3aa2d17d5 Author: Huang Ying <ying.huang@xxxxxxxxx> Date: Fri Sep 12 20:19:48 2014 +0800 f2fs: use nm_i->next_scan_nid as default for next_free_nid Now, if there is no free nid in nm_i->free_nid_list, 0 may be saved into next_free_nid of checkpoint, this may cause useless scanning for next mount. nm_i->next_scan_nid should be a better default value than 0. Signed-off-by: Huang, Ying <ying.huang@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit c1ce1b02bb25640567dc484dc94d3a195d21e705 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 10 16:53:02 2014 -0700 f2fs: give an option to enable in-place-updates during fsync to users If user wrote F2FS_IPU_FSYNC:4 in /sys/fs/f2fs/ipu_policy, f2fs_sync_file only starts to try in-place-updates. And, if the number of dirty pages is over /sys/fs/f2fs/min_fsync_blocks, it keeps out-of-order manner. Otherwise, it triggers in-place-updates. This may be used by storage showing very high random write performance. For example, it can be used when, Seq. writes (Data) + wait + Seq. writes (Node) is pretty much slower than, Rand. writes (Data) Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a7ffdbe22cecaed59b5d76a5f003d68907d64240 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Fri Sep 12 15:53:45 2014 -0700 f2fs: expand counting dirty pages in the inode page cache Previously f2fs only counts dirty dentry pages, but there is no reason not to expand the scope. This patch changes the names on the management of dirty pages and to count dirty pages in each inode info as well. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 8097171e19bb69f3e2226827440b71ececa5d74f Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Fri Aug 29 16:08:58 2014 +0200 ARM: zynq: Remove useless L2C AUX setting AUX setting has no effect that's why remove it. Warning log: L2C: platform provided aux values match the hardware, so have no effect. Please remove them. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit ed62e330948dea39b455d94dc14522386291688a Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:14 2014 -0700 ARM: zynq: Rename 'zynq_platform_cpu_die' Match the naming pattern of all other SMP ops and rename zynq_platform_cpu_die --> zynq_cpu_die. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit caf86a73eab4132f870e883216850d9eee40b04b Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:13 2014 -0700 ARM: zynq: Remove hotplug.c The hotplug code contains only a single function, which is an SMP function. Move that to platsmp.c where all other SMP runctions reside. That allows removing hotplug.c and declaring the cpu_die function static. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 50c7960a4517d6c93226351cd8c43c86f104c919 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:12 2014 -0700 ARM: zynq: Synchronise zynq_cpu_die/kill Avoid races and add synchronisation between the arch specific kill and die routines. The same synchronisation issue was fixed on IMX platform by this commit: "ARM: imx: fix sync issue between imx_cpu_die and imx_cpu_kill" (sha1: 2f3edfd7e27ad4206acbc2ae99c9df5f46353024) Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 18aebf116b494101841f109f07e0d6a0aad9a46e Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Sep 2 14:19:11 2014 -0700 ARM: zynq: cpuidle: Remove pointless code The core is not powered down, it is pointless to call the cpu_pm notifiers and switch to the global timer. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-and-tested-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 61ce3ed57b40212a9ae79cebb44861a8c63df54a Author: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Date: Tue Sep 2 14:19:10 2014 -0700 ARM: zynq: Remove invalidate cache for cpu die As there is no Power management unit on this board, it is not possible to power down a core, just WFI is allowed. There is no point to invalidate the cache and exit coherency. Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Reviewed-and-tested-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 0beb2bd36f6216f455363f47f8ba32fdf26667fb Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:09 2014 -0700 ARM: zynq: PM: Enable DDR clock stop The DDR controller can detect idle periods and leverage low power features clock stop. When new requests occur, the DDRC resumes normal operation. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 36ad5ae6dea7ae6abbb7bdf25078e7d1dabcecad Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:08 2014 -0700 ARM: zynq: DT: Add DDRC node Add the DDR controller to the Zynq devicetree. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit c07c8b007732dacafd4ba9cda04ea9b9d0e8ec7d Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:07 2014 -0700 Documentation: devicetree: Add binding for Synopsys DDR controller Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit ae88b85e801ba77939b07eb9214f1d6542fa23f7 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 14:19:06 2014 -0700 ARM: zynq: PM: Enable A9 internal clock gating feature Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 6f752f70a3a344af53d0e8100c2f7c15074b0651 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 12:40:16 2014 +0100 ARM: zynq: Add ISL9305 regulator on Parallella board There is an ISL9305 regulator on the Parallella board, add it to the DT along with descriptions of all the supplies. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit f62f40475137c905d8e4bcbe9870b4d7e4fed91f Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Wed Aug 20 08:56:59 2014 -0700 ARM: zynq: DT: Add Ethernet phys Add missing Ethernet phys to Zynq DTs. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 59ecb1283fde3da7b40803067ee9ef91cd8eadc2 Author: Alexander Bondar <alexander.bondar@xxxxxxxxx> Date: Wed Jul 30 17:40:28 2014 +0300 iwlwifi: mvm: Allow schedule scan while connected In the past when schedule scan was started while connected on one of interfaces FW crashes were observed. In the newest FW this issue is solved, so remove limitaion after examining corresponding TLV flag. Signed-off-by: Alexander Bondar <alexander.bondar@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c549e3903a3be964b58449140d4f87f2132b55c2 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Thu Sep 4 15:58:47 2014 +0300 iwlwifi: mvm: add debugfs entry to read the current temperature When read, this new debugfs entry requests the current temperature from the firmware and outputs it. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3edf8ff6179dc470d53f3b88d4a778e241a73654 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Wed Jul 30 11:41:01 2014 +0300 iwlwifi: mvm: prepare for scheduler config command The scheduler is a HW sub-block that directs the work of the Flow Handler by issuing requests for frame transfers, specifying source and destination. Its primary function is to allocate flows into the TX FIFOs based upon a pre-determined mapping. The driver has some responsibilities to the scheduler, namely initialising and maintaining the hardware registers. This is currently done by directly accessing them, which can cause races with the firmware also accessing the registers. To address this problem, change the driver to no longer directly access the registers but go through the firmware for this if the firmware has support for DQA and thus the new command. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 73897bd1d949d34b7a38a2cd14302d91f68ef12d Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Wed Jul 9 18:59:14 2014 +0300 iwlwifi: mvm: Set RRM_ENABLED bit in scan commands Set RRM_ENABLED (bit 6) flag in scan commands. When this flag is set the fw will add WFA vendor-specific TPC report and DS parameter set IEs into probe requests. This bit is set for SCAN_OFFLOAD_REQUEST_CMD(0x51). Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Reviewed-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 226bcd48eac7cfc22844a84897d62c24603395c6 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Thu Mar 13 08:12:15 2014 +0200 iwlwifi: mvm: Announce Quiet Period support Add a ucode capability flag for support of Quiet Period (part of RRM). If this flag is set, advertise device support. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f1daa00e36c97e24b4d9a210397349212422ed85 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Tue Jul 1 12:54:25 2014 +0300 iwlwifi: mvm: Update TX power in TPC reports Introduce new tx command flag (TX_CMD_FLG_WRITE_TX_POWER) which requests the fw to update the tx power value at some constant offset. Set this flag when transmitting either TPC report or Link measurement report action frames. In addition, introduce new tlv which indicates whether the fw supports power insertion (IWL_UCODE_TLV_CAPA_TXPOWER_INSERTION_SUPPORT) and publish the corresponding nl80211 feature. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b71d9c8a9d7284a5cc6c93e01bf258323f0d334a Author: Ido Yariv <ido@xxxxxxxxxx> Date: Wed Jul 23 09:31:14 2014 -0400 iwlwifi: mvm: support cloned tx skbs Since tx skbs are not modified by the driver, let mac80211 know the driver can handle cloned skbs. Signed-off-by: Ido Yariv <idox.yariv@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ce4b1b16502b182368cda20a61de2995762c8bcc Author: Igor Mammedov <imammedo@xxxxxxxxxx> Date: Fri Jun 20 14:23:11 2014 +0200 x86/smpboot: Initialize secondary CPU only if master CPU will wait for it Hang is observed on virtual machines during CPU hotplug, especially in big guests with many CPUs. (It reproducible more often if host is over-committed). It happens because master CPU gives up waiting on secondary CPU and allows it to run wild. As result AP causes locking or crashing system. For example as described here: https://lkml.org/lkml/2014/3/6/257 If master CPU have sent STARTUP IPI successfully, and AP signalled to master CPU that it's ready to start initialization, make master CPU wait indefinitely till AP is onlined. To ensure that AP won't ever run wild, make it wait at early startup till master CPU confirms its intention to wait for AP. If AP doesn't respond in 10 seconds, the master CPU will timeout and cancel AP onlining. Signed-off-by: Igor Mammedov <imammedo@xxxxxxxxxx> Acked-by: Toshi Kani <toshi.kani@xxxxxx> Tested-by: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1403266991-12233-1-git-send-email-imammedo@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a4b7aef6b066bda215566cf4af3455a6e36c381d Author: René Moll <Rene.Moll@xxxxxxxxx> Date: Fri Aug 8 13:12:22 2014 +0000 Documentation: DT: Add LTC2952 poweroff bindings LTC2952 is an external power control chip, which signals the OS to shut down. This patch documents the DT binding for the chip. Signed-off-by: René Moll <rene.moll@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 6647156c00cc70c1e93161c3cf178071b3381bbb Author: René Moll <Rene.Moll@xxxxxxxxx> Date: Fri Aug 8 13:12:17 2014 +0000 power: reset: add LTC2952 poweroff driver This adds a driver for the LTC2952, an external power control chip, which signals the OS to shut down. Additionally this driver lets the kernel power down the board. Signed-off-by: René Moll <rene.moll@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 7195c505c2e8e2dd372f7b1737f2a788e74889fb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:36 2014 +0530 power_supply: Don't iterate over devices to return -EPROBE_DEFER This piece of code was added so that we return -EPROBE_DEFER when no devices are registered. But even if class_for_each_device() returns 0, we are going to return -EPROBE_DEFER only. And so this code isn't required at all. Remove it. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 464069cae95f71ba670c7e3a90d919b18fb48d66 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:35 2014 +0530 power-supply: Avoid unnecessary 'goto' statements Using 'goto' statements for freeing resources on failures is a good choice as it makes code very clean, and reduces the chances of human errors. Though in most cases compiler may take care of this. But adding unnecessary 'goto' statements wouldn't make anything better. Code becomes less readable actually. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 73b4a087ba4c0d0d52519769320fa684185c563e Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:34 2014 +0530 power-supply: Check for failures only when we can fail In power_supply_show_property() routine, we call ->get_property() conditionally and should check for failure in that case only. There is no point comparing 'ret' for errors when 'ret' is surely zero. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9d2410c79b5b2dd741648de26ad52ffd2ce3dc01 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:33 2014 +0530 power-supply: Use PTR_ERR_OR_ZERO() routine At multiple places we are doing exactly what PTR_ERR_OR_ZERO() does. And so that routine can be reused instead of increasing lines of code here. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 061f3806bbe4d8e86dddf101f75f49c38d3f1669 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:32 2014 +0530 power-supply: Mark 'if' blocks in power_supply_changed_work() with 'likely' The 'if' statements in power_supply_changed_work() are mostly there for taking care of races and normally they will always evaluate to true. Optimize them for fast execution with 'likely' statements. Also there is need to have better comments in code to mention about the races clearly. Get them in place. Cc: Zoran Markovic <zrn.markovic@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 1c42a389eaa0fddca6e6d9625e65ff62c9b90e80 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:31 2014 +0530 power-supply: Drop useless 'if (ret.intval)' statements There is no need to check the value of ret.intval before returning it, as we will be returning zero explicitly when ret.intval is zero. So essentially we will end up returning value of ret.intval as it is. Drop the unnecessary 'if' statements. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 585b008743b5a14d93e3d506729c73978edc8da7 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:30 2014 +0530 power-supply: Don't return -EINVAL from __power_supply_find_supply_from_node() We need to stop 'class_for_each_device' loop when a supply matches with the of-node. In order to achieve this we currently return -EINVAL from __power_supply_populate_supplied_from() on successful match. class_for_each_device() is free to return similar errors in other cases as well and so the choice of return value here isn't particularly great. This commit isn't removing the Hack but making it more elegant by returning '1' instead. Also power_supply_find_supply_from_node() can return errors other than -EPROBE_DEFER now if class_for_each_device() fails. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit f5b89affe2b2e6a6092f4228baf08a6dd59bfc61 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:29 2014 +0530 power-supply: Propagate error returned by power_supply_find_supply_from_node() Callers of power_supply_find_supply_from_node(), i.e. power_supply_check_supplies(), must propagate the errors returned by it instead of returning their own. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8468b029a2871b1f0e372a9354bddeac6b03af3b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:28 2014 +0530 power-supply: Rearrange code to remove duplicate lines of_node_put() was called twice in power_supply_check_supplies() whereas a single call will also work. Rearrange code a bit to make that feasible. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a0f93b4268d903430d7e21110f10be0919daf3b2 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:27 2014 +0530 power-supply: Use 'break' instead of 'continue' to end loop In few routines, we need to end the do-while loop when no more "power-supplies" are available. Currently we are doing 'continue' which will make the 'while(np)' conditional statement run again. Skip this by doing a 'break' instead. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit e80cf421432bab7327891e7e8afe027fafb4c27b Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:26 2014 +0530 power-supply: Drop unnecessary typecasts Typecast from 'void *' to any other pointer type falls under implicit typecasts category and so doesn't require explicit typecasts. Drop them. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 3c5f8853469d3e549799808b9bf639b5d32751f0 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:25 2014 +0530 power-supply: Forward declare structs together power_supply.h requires to forward declare few structures. One of them is done at the top of the file and other one just before it is used. Declare them together for better readability. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d8755dcf6b8107a31f4a573b6d7a4e414dd42415 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:24 2014 +0530 Documentation: Charger Manager: Fix spelling mistakes 'unnecessary' was wrongly spelled as 'unncessary', also it should have been 'unnecessarily'. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit f9c85486c4ae8fd56770340bd9c16a61127c96e1 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:23 2014 +0530 power-supply: Return early if "power-supplies" property isn't valid If power-supply's DT node doesn't have a valid "power-supplies" entry, then power_supply_check_supplies() should return early instead of trying to allocate memory for "supplied_from" array. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 8f5a37cb28fce189f3d6802ade98a116f59a47bf Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Sep 4 17:31:22 2014 +0530 power-supply: Don't over-allocate memory for "supplied-from" array In routine power_supply_check_supplies(), 'cnt' is counting the number of supplies passed in "power-supplies" field of a node. The value of 'cnt' will always be one more than the number of supplies after the do-while loop ends. And so we need to allocate memory for 'cnt - 1' char pointers. But we are allocating memory for 'cnt' instead. Fix this by not over-allocating memory. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 5c630089442c2e3482855c0849fea53abded81e2 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 18:05:39 2014 +0200 x86/kbuild: Eliminate duplicate command line options The options -mno-mmx and -mno-sse are unconditionally added to KBUILD_CFLAGS in both branches of an ifeq and through a $(cc-option) further down. We can safely remove the first instances. In fact, since the -mno-mmx and -mno-sse options were introduced simultaneous with the other two options in the $(cc-option) [according to http://www.gnu.org/software/gcc/gcc-3.1/changes.html], and since the former were unconditionally used, one can deduce that only gcc versions knowing about all four are supported. So also eliminate the $(cc-option) wrap. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Peter Foley <pefoley2@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410365139-24440-1-git-send-email-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c88f2096136416b261bd3647cc260935f6e95805 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Sep 8 16:31:07 2014 +0200 perf: Do not check PERF_EVENT_STATE_EXIT on syscall read path Revert PERF_EVENT_STATE_EXIT check on read syscall path. It breaks standard way to read counter, which is to open the counter, wait for the monitored process to die and read the counter. Reported-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Stephane Eranian <eranian@xxxxxxxxxx> Acked-by: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140908143107.GG17728@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13924d2a983fc1557eb737ea59e2324adb538fa2 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Tue Sep 9 10:57:16 2014 +0100 Documentation/scheduler/sched-deadline.txt: Add minimal main() appendix Add an appendix providing a simple self-contained code snippet showing how SCHED_DEADLINE reservations can be created by application developers. Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Reviewed-by: Henrik Austad <henrik@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410256636-26171-6-git-send-email-juri.lelli@xxxxxxx [ Fixed some whitespace inconsistencies. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f5801933ce595ba6eb77d170ab0dfbcd5c894e11 Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Tue Sep 9 10:57:15 2014 +0100 Documentation/scheduler/sched-deadline.txt: Add tests suite appendix Add an appendix briefly describing tools that can be used to test SCHED_DEADLINE (and the scheduler in general). Links to where source code of the tools is hosted are also provided. Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Reviewed-by: Henrik Austad <henrik@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410256636-26171-5-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b56bfc6cd13c25264f614320de9183a5dbcab6ca Author: Luca Abeni <luca.abeni@xxxxxxxx> Date: Tue Sep 9 10:57:14 2014 +0100 Documentation/scheduler/sched-deadline.txt: Improve and clarify AC bits Admission control is of key importance for SCHED_DEADLINE, since it guarantees system schedulability (or tells us something about the degree of guarantees we can provide to the user). This patch improves and clarifies bits and pieces regarding AC, both for UP and SMP systems. Signed-off-by: Luca Abeni <luca.abeni@xxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Reviewed-by: Henrik Austad <henrik@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410256636-26171-4-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0d9ba8b03cfaed2696de42fe15ed410ba2ec7dbe Author: Juri Lelli <juri.lelli@xxxxxxx> Date: Tue Sep 9 10:57:13 2014 +0100 Documentation/scheduler/sched-deadline.txt: Rewrite section 4 intro Section 4 intro was still describing the old interface. Rewrite it. Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Luca Abeni <luca.abeni@xxxxxxxx> Reviewed-by: Henrik Austad <henrik@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410256636-26171-3-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ad67dc316f000df4756b027f3559ad0491497d9e Author: Luca Abeni <luca.abeni@xxxxxxxx> Date: Tue Sep 9 10:57:12 2014 +0100 Documentation/scheduler/sched-deadline.txt: Fix terminology and improve clarity Several small changes regarding SCHED_DEADLINE documentation that fix terminology and improve clarity and readability: - "current runtime" becomes "remaining runtime" - readablity of an equation is improved by introducing more spacing - clarify when admission control will certainly fail - new URL for CBS technical report - substitue "smallest" with "earliest" Signed-off-by: Luca Abeni <luca.abeni@xxxxxxxx> Signed-off-by: Juri Lelli <juri.lelli@xxxxxxx> Reviewed-by: Henrik Austad <henrik@xxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Dario Faggioli <raistlin@xxxxxxxx> Cc: Juri Lelli <juri.lelli@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1410256636-26171-2-git-send-email-juri.lelli@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 84779575554e2a19b9f6fc8d44f9763546a822ad Author: Lee, Chun-Yi <joeyli.kernel@xxxxxxxxx> Date: Fri Sep 12 11:03:58 2014 +0800 x86/mm, hibernate: Do not assume the first e820 area to be RAM In arch/x86/kernel/setup.c::trim_bios_range(), the codes introduced by 1b5576e6 (base on d8a9e6a5), it updates the first 4Kb of memory to be E820_RESERVED region. That's because it's a BIOS owned area but generally not listed in the E820 table: e820: BIOS-provided physical RAM map: BIOS-e820: [mem 0x0000000000000000-0x0000000000096fff] usable BIOS-e820: [mem 0x0000000000097000-0x0000000000097fff] reserved ... e820: update [mem 0x00000000-0x00000fff] usable ==> reserved e820: remove [mem 0x000a0000-0x000fffff] usable But the region of first 4Kb didn't register to nosave memory: PM: Registered nosave memory: [mem 0x00097000-0x00097fff] PM: Registered nosave memory: [mem 0x000a0000-0x000fffff] The code in e820_mark_nosave_regions() assumes the first e820 area to be RAM, so it causes the first 4Kb E820_RESERVED region ignored when register to nosave. This patch removed assumption of the first e820 area. Signed-off-by: Lee, Chun-Yi <jlee@xxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: Len Brown <len.brown@xxxxxxxxx> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Takashi Iwai <tiwai@xxxxxxx> Link: http://lkml.kernel.org/r/1410491038-17576-1-git-send-email-jlee@xxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit db0e716a1512179e8374a74c1f3184e9ce15d138 Author: Davidlohr Bueso <dave@xxxxxxxxxxxx> Date: Thu Sep 11 22:34:25 2014 -0700 locking/rwsem: Move EXPORT_SYMBOL() lines to follow function definition rw-semaphore is the only type of lock doing this ugliness of exporting at the end of the file. Signed-off-by: Davidlohr Bueso <dbueso@xxxxxxx> Cc: dave@xxxxxxxxxxxx Cc: peterz@xxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1410500066-5909-1-git-send-email-dave@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b375f64dcf45ba5cfb36398b69b877dc35410fa Author: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Date: Fri Aug 22 13:27:36 2014 -0700 x86/mm/numa: Drop dead code and rename setup_node_data() to setup_alloc_data() The setup_node_data() function allocates a pg_data_t object, inserts it into the node_data[] array and initializes the following fields: node_id, node_start_pfn and node_spanned_pages. However, a few function calls later during the kernel boot, free_area_init_node() re-initializes those fields, possibly with setup_node_data() is not used. This causes a small glitch when running Linux as a hyperv numa guest: SRAT: PXM 0 -> APIC 0x00 -> Node 0 SRAT: PXM 0 -> APIC 0x01 -> Node 0 SRAT: PXM 1 -> APIC 0x02 -> Node 1 SRAT: PXM 1 -> APIC 0x03 -> Node 1 SRAT: Node 0 PXM 0 [mem 0x00000000-0x7fffffff] SRAT: Node 1 PXM 1 [mem 0x80200000-0xf7ffffff] SRAT: Node 1 PXM 1 [mem 0x100000000-0x1081fffff] NUMA: Node 1 [mem 0x80200000-0xf7ffffff] + [mem 0x100000000-0x1081fffff] -> [mem 0x80200000-0x1081fffff] Initmem setup node 0 [mem 0x00000000-0x7fffffff] NODE_DATA [mem 0x7ffdc000-0x7ffeffff] Initmem setup node 1 [mem 0x80800000-0x1081fffff] NODE_DATA [mem 0x1081ea000-0x1081fdfff] crashkernel: memory value expected [ffffea0000000000-ffffea0001ffffff] PMD -> [ffff88007de00000-ffff88007fdfffff] on node 0 [ffffea0002000000-ffffea00043fffff] PMD -> [ffff880105600000-ffff8801077fffff] on node 1 Zone ranges: DMA [mem 0x00001000-0x00ffffff] DMA32 [mem 0x01000000-0xffffffff] Normal [mem 0x100000000-0x1081fffff] Movable zone start for each node Early memory node ranges node 0: [mem 0x00001000-0x0009efff] node 0: [mem 0x00100000-0x7ffeffff] node 1: [mem 0x80200000-0xf7ffffff] node 1: [mem 0x100000000-0x1081fffff] On node 0 totalpages: 524174 DMA zone: 64 pages used for memmap DMA zone: 21 pages reserved DMA zone: 3998 pages, LIFO batch:0 DMA32 zone: 8128 pages used for memmap DMA32 zone: 520176 pages, LIFO batch:31 On node 1 totalpages: 524288 DMA32 zone: 7672 pages used for memmap DMA32 zone: 491008 pages, LIFO batch:31 Normal zone: 520 pages used for memmap Normal zone: 33280 pages, LIFO batch:7 In this dmesg, the SRAT table reports that the memory range for node 1 starts at 0x80200000. However, the line starting with "Initmem" reports that node 1 memory range starts at 0x80800000. The "Initmem" line is reported by setup_node_data() and is wrong, because the kernel ends up using the range as reported in the SRAT table. This commit drops all that dead code from setup_node_data(), renames it to alloc_node_data() and adds a printk() to free_area_init_node() so that we report a node's memory range accurately. Here's the same dmesg section with this patch applied: SRAT: PXM 0 -> APIC 0x00 -> Node 0 SRAT: PXM 0 -> APIC 0x01 -> Node 0 SRAT: PXM 1 -> APIC 0x02 -> Node 1 SRAT: PXM 1 -> APIC 0x03 -> Node 1 SRAT: Node 0 PXM 0 [mem 0x00000000-0x7fffffff] SRAT: Node 1 PXM 1 [mem 0x80200000-0xf7ffffff] SRAT: Node 1 PXM 1 [mem 0x100000000-0x1081fffff] NUMA: Node 1 [mem 0x80200000-0xf7ffffff] + [mem 0x100000000-0x1081fffff] -> [mem 0x80200000-0x1081fffff] NODE_DATA(0) allocated [mem 0x7ffdc000-0x7ffeffff] NODE_DATA(1) allocated [mem 0x1081ea000-0x1081fdfff] crashkernel: memory value expected [ffffea0000000000-ffffea0001ffffff] PMD -> [ffff88007de00000-ffff88007fdfffff] on node 0 [ffffea0002000000-ffffea00043fffff] PMD -> [ffff880105600000-ffff8801077fffff] on node 1 Zone ranges: DMA [mem 0x00001000-0x00ffffff] DMA32 [mem 0x01000000-0xffffffff] Normal [mem 0x100000000-0x1081fffff] Movable zone start for each node Early memory node ranges node 0: [mem 0x00001000-0x0009efff] node 0: [mem 0x00100000-0x7ffeffff] node 1: [mem 0x80200000-0xf7ffffff] node 1: [mem 0x100000000-0x1081fffff] Initmem setup node 0 [mem 0x00001000-0x7ffeffff] On node 0 totalpages: 524174 DMA zone: 64 pages used for memmap DMA zone: 21 pages reserved DMA zone: 3998 pages, LIFO batch:0 DMA32 zone: 8128 pages used for memmap DMA32 zone: 520176 pages, LIFO batch:31 Initmem setup node 1 [mem 0x80200000-0x1081fffff] On node 1 totalpages: 524288 DMA32 zone: 7672 pages used for memmap DMA32 zone: 491008 pages, LIFO batch:31 Normal zone: 520 pages used for memmap Normal zone: 33280 pages, LIFO batch:7 This commit was tested on a two node bare-metal NUMA machine and Linux as a numa guest on hyperv and qemu/kvm. PS: The wrong memory range reported by setup_node_data() seems to be harmless in the current kernel because it's just not used. However, that bad range is used in kernel 2.6.32 to initialize the old boot memory allocator, which causes a crash during boot. Signed-off-by: Luiz Capitulino <lcapitulino@xxxxxxxxxx> Acked-by: Rik van Riel <riel@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Cc: Yinghai Lu <yinghai@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9661d5bcd058fe15b4138a00d96bd36516134543 Author: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Date: Fri Aug 22 13:27:34 2014 -0700 x86/mm/hotplug: Modify PGD entry when removing memory When hot-adding/removing memory, sync_global_pgds() is called for synchronizing PGD to PGD entries of all processes MM. But when hot-removing memory, sync_global_pgds() does not work correctly. At first, sync_global_pgds() checks whether target PGD is none or not. And if PGD is none, the PGD is skipped. But when hot-removing memory, PGD may be none since PGD may be cleared by free_pud_table(). So when sync_global_pgds() is called after hot-removing memory, sync_global_pgds() should not skip PGD even if the PGD is none. And sync_global_pgds() must clear PGD entries of all processes MM. Currently sync_global_pgds() does not clear PGD entries of all processes MM when hot-removing memory. So when hot adding memory which is same memory range as removed memory after hot-removing memory, following call traces are shown: kernel BUG at arch/x86/mm/init_64.c:206! ... [<ffffffff815e0c80>] kernel_physical_mapping_init+0x1b2/0x1d2 [<ffffffff815ced94>] init_memory_mapping+0x1d4/0x380 [<ffffffff8104aebd>] arch_add_memory+0x3d/0xd0 [<ffffffff815d03d9>] add_memory+0xb9/0x1b0 [<ffffffff81352415>] acpi_memory_device_add+0x1af/0x28e [<ffffffff81325dc4>] acpi_bus_device_attach+0x8c/0xf0 [<ffffffff813413b9>] acpi_ns_walk_namespace+0xc8/0x17f [<ffffffff81325d38>] ? acpi_bus_type_and_status+0xb7/0xb7 [<ffffffff81325d38>] ? acpi_bus_type_and_status+0xb7/0xb7 [<ffffffff813418ed>] acpi_walk_namespace+0x95/0xc5 [<ffffffff81326b4c>] acpi_bus_scan+0x9a/0xc2 [<ffffffff81326bff>] acpi_scan_bus_device_check+0x8b/0x12e [<ffffffff81326cb5>] acpi_scan_device_check+0x13/0x15 [<ffffffff81320122>] acpi_os_execute_deferred+0x25/0x32 [<ffffffff8107e02b>] process_one_work+0x17b/0x460 [<ffffffff8107edfb>] worker_thread+0x11b/0x400 [<ffffffff8107ece0>] ? rescuer_thread+0x400/0x400 [<ffffffff81085aef>] kthread+0xcf/0xe0 [<ffffffff81085a20>] ? kthread_create_on_node+0x140/0x140 [<ffffffff815fc76c>] ret_from_fork+0x7c/0xb0 [<ffffffff81085a20>] ? kthread_create_on_node+0x140/0x140 This patch clears PGD entries of all processes MM when sync_global_pgds() is called after hot-removing memory Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Acked-by: Toshi Kani <toshi.kani@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5255e0a79fcc0ff47b387af92bd9ef5729b1b859 Author: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Date: Fri Aug 22 13:27:31 2014 -0700 x86/mm/hotplug: Pass sync_global_pgds() a correct argument in remove_pagetable() When hot-adding memory after hot-removing memory, following call traces are shown: kernel BUG at arch/x86/mm/init_64.c:206! ... [<ffffffff815e0c80>] kernel_physical_mapping_init+0x1b2/0x1d2 [<ffffffff815ced94>] init_memory_mapping+0x1d4/0x380 [<ffffffff8104aebd>] arch_add_memory+0x3d/0xd0 [<ffffffff815d03d9>] add_memory+0xb9/0x1b0 [<ffffffff81352415>] acpi_memory_device_add+0x1af/0x28e [<ffffffff81325dc4>] acpi_bus_device_attach+0x8c/0xf0 [<ffffffff813413b9>] acpi_ns_walk_namespace+0xc8/0x17f [<ffffffff81325d38>] ? acpi_bus_type_and_status+0xb7/0xb7 [<ffffffff81325d38>] ? acpi_bus_type_and_status+0xb7/0xb7 [<ffffffff813418ed>] acpi_walk_namespace+0x95/0xc5 [<ffffffff81326b4c>] acpi_bus_scan+0x9a/0xc2 [<ffffffff81326bff>] acpi_scan_bus_device_check+0x8b/0x12e [<ffffffff81326cb5>] acpi_scan_device_check+0x13/0x15 [<ffffffff81320122>] acpi_os_execute_deferred+0x25/0x32 [<ffffffff8107e02b>] process_one_work+0x17b/0x460 [<ffffffff8107edfb>] worker_thread+0x11b/0x400 [<ffffffff8107ece0>] ? rescuer_thread+0x400/0x400 [<ffffffff81085aef>] kthread+0xcf/0xe0 [<ffffffff81085a20>] ? kthread_create_on_node+0x140/0x140 [<ffffffff815fc76c>] ret_from_fork+0x7c/0xb0 [<ffffffff81085a20>] ? kthread_create_on_node+0x140/0x140 The patch-set fixes the issue. This patch (of 2): remove_pagetable() gets start argument and passes the argument to sync_global_pgds(). In this case, the argument must not be modified. If the argument is modified and passed to sync_global_pgds(), sync_global_pgds() does not correctly synchronize PGD to PGD entries of all processes MM since synchronized range of memory [start, end] is wrong. Unfortunately the start argument is modified in remove_pagetable(). So this patch fixes the issue. Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@xxxxxxxxxxxxxx> Acked-by: Toshi Kani <toshi.kani@xxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Tang Chen <tangchen@xxxxxxxxxxxxxx> Cc: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Cc: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 971427f353f3c42c8dcef62e7124440df68eb809 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Mon Sep 15 19:37:25 2014 -0700 openvswitch: Add recirc and hash action. Recirc action allows a packet to reenter openvswitch processing. currently openvswitch lookup flow for packet received and execute set of actions on that packet, with help of recirc action we can process/modify the packet and recirculate it back in openvswitch for another pass. OVS hash action calculates 5-tupple hash and set hash in flow-key hash. This can be used along with recirculation for distributing packets among different ports for bond devices. For example: OVS bonding can use following actions: Match on: bond flow; Action: hash, recirc(id) Match on: recirc-id == id and hash lower bits == a; Action: output port_bond_a Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Acked-by: Jesse Gross <jesse@xxxxxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> commit 32ae87ff795781b7ceffc44b7c694c1bb206a266 Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Mon Sep 15 19:33:50 2014 -0700 openvswitch: simplify sample action implementation The current sample() function implementation is more complicated than necessary in handling single user space action optimization and skb reference counting. There is no functional changes. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> commit 8c8b1b83fcdd0f05e1f66ed6f8a2e831d5d374a2 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Mon Sep 15 19:28:44 2014 -0700 openvswitch: Use tun_key only for egress tunnel path. Currently tun_key is used for passing tunnel information on ingress and egress path, this cause confusion. Following patch removes its use on ingress path make it egress only parameter. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Andy Zhou <azhou@xxxxxxxxxx> commit 83c8df26a3b654871c0503fcf6eac61777e12ea1 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Mon Sep 15 19:20:31 2014 -0700 openvswitch: refactor ovs flow extract API. OVS flow extract is called on packet receive or packet execute code path. Following patch defines separate API for extracting flow-key in packet execute code path. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> Acked-by: Andy Zhou <azhou@xxxxxxxxxx> commit 2ff3e4e4868675da1024175215991fa6d9856731 Author: Pravin B Shelar <pshelar@xxxxxxxxxx> Date: Mon Sep 15 19:15:28 2014 -0700 openvswitch: Remove pkt_key from OVS_CB OVS keeps pointer to packet key in skb->cb, but the packet key is store on stack. This could make code bit tricky. So it is better to get rid of the pointer. Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx> commit 40d201af0b9e6196a210b97d3b2493b1156564f6 Merge: 29a7d17 a126249 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Sep 16 16:02:09 2014 +1000 Merge tag 'drm-intel-next-2014-09-05' of git://anongit.freedesktop.org/drm-intel into drm-next - final bits (again) for the rotation support (Sonika Jindal) - support bl_power in the intel backlight (Jani) - vdd handling improvements from Ville - i830M fixes from Ville - piles of prep work all over to make skl enabling just plug in (Damien, Sonika) - rename DP training defines to reflect latest edp standards, this touches all drm drivers supporting DP (Sonika Jindal) - cache edids during single detect cycle to avoid re-reading it for e.g. audio, from Chris - move w/a for registers which are stored in the hw context to the context init code (Arun&Damien) - edp panel power sequencer fixes, helps chv a lot (Ville) - piles of other chv fixes all over - much more paranoid pageflip handling with stall detection and better recovery from Chris - small things all over, as usual * tag 'drm-intel-next-2014-09-05' of git://anongit.freedesktop.org/drm-intel: (114 commits) drm/i915: Update DRIVER_DATE to 20140905 drm/i915: Decouple the stuck pageflip on modeset drm/i915: Check for a stalled page flip after each vblank drm/i915: Introduce a for_each_plane() macro drm/i915: Rewrite ABS_DIFF() in a safer manner drm/i915: Add comments explaining the vdd on/off functions drm/i915: Move DP port disable to post_disable for pch platforms drm/i915: Enable DP port earlier drm/i915: Turn on panel power before doing aux transfers drm/i915: Be more careful when picking the initial power sequencer pipe drm/i915: Reset power sequencer pipe tracking when disp2d is off drm/i915: Track which port is using which pipe's power sequencer drm/i915: Fix edp vdd locking drm/i915: Reset the HEAD pointer for the ring after writing START drm/i915: Fix unsafe vma iteration in i915_drop_caches drm/i915: init sprites with univeral plane init function drm/i915: Check of !HAS_PCH_SPLIT() in PCH transcoder funcs drm/i915: Use HAS_GMCH_DISPLAY un underrun reporting code drm/i915: Use IS_BROADWELL() instead of IS_GEN8() in forcewake code drm/i915: Don't call gen8_fbc_sw_flush() on chv ... commit 299e14734c22994e69c913e66ab1f4bb56423f5d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Sep 15 22:35:36 2014 +0900 ARM: shmobile: r8a7794: Reserve memory as other R-Car Gen2 SoCs Other R-Car Gen2 SoCs such as r8a7790 and r8a7791 reserve the top 256 MiB of memory for use with CMA. Adjust the board-less r8a7794 code to do the same. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 29a7d1795a0376beee6c0f7515fae3789277e03e Merge: 94d12b1 37b9b81 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Sep 16 14:59:16 2014 +1000 Merge branch 'drm-next-ast-fixes' of ssh://people.freedesktop.org/~/linux into drm-next Pull in first set of changes from Ben for ast on ppc. I've done a quick boot test on x86 and it still seems to boot. * 'drm-next-ast-fixes' of ssh://people.freedesktop.org/~/linux: drm/ast: Cleanup analog init code path drm/ast: Don't assume DVO enabled means SIL164 on uninitialized chips drm/ast: Properly initialize P2A base before using it in ast_init_3rdtx() drm/ast: POST chip at probe time if VGA not enabled drm/ast: Try to use MMIO registers when PIO isn't supported commit 94d12b137c2dccdd9a8c6586c96404484e2ab1df Author: Y.C. Chen <yc_chen@xxxxxxxxxxxxxx> Date: Thu Aug 28 17:11:04 2014 +0800 drm/ast: Add reduced blanking modes for wide screen mode Signed-off-by: Egbert Eich <eich@xxxxxxxx> Tested-by: Steven You2 Liang <liangyou2@xxxxxxxxxx> Signed-off-by: Y.C. Chen <yc_chen@xxxxxxxxxxxxxx> v3: based on [PATCH 1/2] drm/ast: Add missing entry to dclk_table[]. Add reduced blanking modes, improve mode matching to identify these modes by thier sync polarities. [airlied: argh whitespace damage] Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 1ffa4ad042c3151b57ba3f316d5582166f964537 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Sep 16 05:33:33 2014 +0200 Bluetooth: btusb: Split fragement receiption into separate functions The actual packet reassembly should be done inside the driver. To allow this to happen cleanly in future patches, split the fragment reception into its own functions. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 89e7533d0a96860f8aa24d05c9e35b18fdc28a61 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Tue Sep 16 04:44:50 2014 +0200 Bluetooth: btusb: Fix old coding style issues The btusb driver has been around for a while now and it is time to bring its coding style in sync with what has been done for the Bluetooth subsystem and other drivers. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 610bd8722ef40b649b51f01045c5d1903f41b583 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Wed Aug 20 15:38:26 2014 +0800 ARM: dts: hix5hd2: add wdg node Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 6868feb6dd97ec1b273cca95e8dec9471f1d9f23 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Wed Aug 20 15:36:37 2014 +0800 ARM: dts: hix5hd2: add gpio node Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 420a2d55f0464a4b4762411ca7047979d9ad17eb Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Wed Aug 20 15:14:39 2014 +0800 ARM: dts: hix5hd2: add sata node Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit f16c7fb2f3ff258322850ac6f558d3b61ceb5a2b Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Wed Aug 20 14:57:44 2014 +0800 ARM: dts: hix5hd2: add usb node Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Jiancheng Xue <xuejiancheng@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit b196e1ca400dca770ac22d158741cf646207a6e2 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Wed Aug 20 14:37:48 2014 +0800 ARM: dts: hix5hd2: add mmc node Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit de8b6054780e464038676baf399c816e239dd9b3 Author: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Date: Tue Aug 19 11:00:33 2014 +0800 ARM: dts: hix5hd2: add gmac node Signed-off-by: Zhangfei Gao <zhangfei.gao@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 2b2244a3e7c3d537f436a3580999b3032628d17d Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Thu Sep 11 11:29:41 2014 +0800 ARM: dts: imx6: make gpt per clock can be from OSC Original gpt per clk parent is from ipg_per clk which may be scaled when system enter low bus mode, as ipg clk will be lower in low bus mode, to keep system clk NOT drift, select gpt per clk parent from OSC which is at fixed freq always. On i.mx6qdl, add a osc_per clk source for i.mx6q TO > 1.0 and all i.MX6dl SoC. On i.mx6sx, just make gpt per clk from OSC. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7cab35c3643d9ad3b34eaf8501ab5292b6d41fcf Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:31 2014 -0700 ARM: dts: imx: ventana: add canbus support for GW52xx The GW52xx baseboard supports CANbus so we enable it, configure its pinmux and CAN_STBY gpio. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit b5f37b76053afe8863ce9a753903932eb542eca9 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:30 2014 -0700 ARM: dts: imx: ventana: cleanup pinctrl groups Follow the conventions for pinctrl: - grouping pinctrl in logical alphabatized groups - remove any pinctrl not being used by a driver or needed by user - move iomuxc to bottom of file for readability Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 73e005c111bc3f77ca3793d465539a11e7604c71 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:29 2014 -0700 ARM: dts: imx: ventana: configure padconf for all pins Follow the convention of configuring padconf for all pins and not leaving any 0x80000000 to leave them un-configured. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 326cdb16552c3670fefd583d94fe797e776130b6 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:28 2014 -0700 ARM: dts: imx: ventana: use gpio constants Use the gpio contants defined in bindings for active high/low Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e32ba7a7dad114d87c4d7411d07af7a26e4119ce Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:27 2014 -0700 ARM: dts: imx: ventana: remove unused aliases Remove aliases that are either not used by bootloader or are provided via included dtsi files. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit ea3b555e44a62a31fc90e1e034a8c797b92db28e Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Mon Sep 8 23:07:26 2014 -0700 ARM: dts: imx: ventana: remove unsupported dt nodes The general device-tree rule is to not include nodes that do not have a driver or bindings in a dts/dtsi. Remove the place-holder nodes from the Gateworks Ventana boards until a time that a driver with proper bindings exists. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 0361598baddc926d146b7f49e01c2231e19edaef Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:26:03 2014 +0200 ARM: dts: imx28-tx28: add alias for CAN XCVR regulator This alias is used by U-Boot to enable/disable the regulator depending on baseboard type. Signed-off-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d7dbe2c78f74f1d6514b2ea4fc3f4740f01f70c5 Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:26:02 2014 +0200 ARM: dts: imx28-tx28: add spi-gpio as alternative for spi-mxs The spi-mxs driver does not allow full duplex SPI transfers. The spi-gpio driver may be used as an alternative if this is required. Make the choice between those drivers easier for the end user by providing settings for both drivers. Signed-off-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 4d6480ac8c063e270e5edb63b8cf721a6e01f1e6 Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:26:01 2014 +0200 ARM: dts: imx28-tx28: use GPIO flags Signed-off-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e905e7f8d2ed6c59d4b1f2a4cad53b6c2d7eb785 Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:26:00 2014 +0200 ARM: dts: imx28-tx28: remove spidev labels and add third instance of spidev The labels on the spidev nodes are not used and not required, so remove them. The TX28 supports 3 chipselects on the SPI interface. Make all those chipselects available to the user. Signed-off-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 50a8835b9caf40c08b1c7ad440946dd2b6c3eb6a Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Sep 9 17:13:27 2014 +0800 ARM: dts: imx6sl: add baud clock and clock-names for ssi Baud clock is used for bit clock generation in master mode. Ipg clock is peripheral clock and peripheral access clock. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 935632e9938e3e286b9c62a7e54d35c428533cc9 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Sep 9 17:13:26 2014 +0800 ARM: dts: imx6qdl: add baud clock and clock-names for ssi Baud clock is used for bit clock generation in master mode. Ipg clock is peripheral clock and peripheral access clock. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 9a060c1a3bb8f5f3940ddb82cb7aa76a843b96cc Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 5 09:46:10 2014 -0300 ARM: dts: imx6qdl-sabresd: Configure the pins locally Passing '0x80000000' to the pin configuration means that kernel will skip the IOMUXC_SW_PAD_CTL configuration and will use whathever values come from the bootloader. Instead of relying on the bootloader setup, let's configure it in the kernel to have predictable settings. '0x1b0b0' is the default POR value for all these pins and has also been verified that the pins are using this value by manually inspecting the IOMUXC_SW_PAD_CTL registers, so no functional change has been made. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 433fb101132047383b550c58585b5a38797c90d1 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:23 2014 -0300 ARM: dts: imx28-m28evk: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 58a32d91306787d6733767321a14c39afc136d93 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:22 2014 -0300 ARM: dts: imx28-tx28: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Acked-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7f0d61d6365c01b5941e2c166684392ccf9c340c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:21 2014 -0300 ARM: dts: imx28-m28cu: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7029b396b08aeb15d8cb23c4bff3e10c1f518238 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:20 2014 -0300 ARM: dts: imx28-cfa100: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit ee99b4636b3108a3a6d92f1189b797006e4416e9 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:19 2014 -0300 ARM: dts: imx28-apf28dev: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the wa Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d46c2dc14e92a7d7153f24b1e03321fc694ae906 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Sep 4 22:31:18 2014 -0300 ARM: dts: imx28-apx4devkit: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 3f50a61937b3fabe0c46123cef48e2569042ca07 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 22:45:14 2014 -0300 ARM: dts: imx6sl-evk: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@02220000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 3148092df08f741d677c8eadce5a409555eda32c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 22:45:13 2014 -0300 ARM: dts: imx23-evk: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 20d412b2d805d650d1b820d41a80e023d6a98461 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 22:45:12 2014 -0300 ARM: dts: imx28-evk: Fix display duplicate name warning The lcdif node has a property named "display" and also a child node called "display", which causes the following warning: device-tree: Duplicate name in lcdif@80030000, renamed to "display#1" Rename the child node name in order to avoid the warning. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 31ffdbc80c8f139b0fe7f117d04bca0165e7e35e Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 15:00:44 2014 -0300 ARM: dts: imx6x-sdb: Add LCD support Add support for the "MX28LCD Seiko 4.3' WVGA" panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 8c78c407bc1b0312e02a3ba9685495c6a2fa7f17 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 15:00:43 2014 -0300 ARM: dts: imx6sx: Add LCDIF compatible strings imx6sx has the same LCDIF controller IP as in mx28, so add the proper compatible strings. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7591e5cd1c10e5764aaf7ce50c7c6c50b7f6aa36 Author: Philippe Reynes <tremyfr@xxxxxxxxx> Date: Mon Sep 1 20:44:32 2014 +0200 ARM: dts: apf27dev: add max1027 in the dts Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit fcd1730394330bdccac762190f8ec50d06c24daf Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Thu Aug 7 19:39:41 2014 +0200 ARM: imx6: add pci config space as platform resource Fixes "imx6q-pcie 1ffc000.pcie: missing *config* reg space" error exposed by new versions of the designware pcie driver. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit acc3329e04029f41f69d07a22d5c450094230213 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sun Aug 31 15:54:15 2014 +0400 ARM: dts: Add support for the i.MX1 Armadeus APF9328 board This patch adds support for the i.MX1 APF9328 from Armadeus. This change is intended to further remove non-DT support for this board. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d56ac1929cfe00e2071524a6fcbb340f7faef66e Author: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 15:34:07 2014 +0100 ARM: dts: hummingboard: fix configuration of IR input Add the IOMUX setting for the IR input, rather than relying on the boot loader. Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit af3f973b8706b9754eab4f3eccfd332a570046f9 Author: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Date: Sat Aug 23 10:11:47 2014 +0100 ARM: dts: hummingboard: gpio-ir on gpio 3,5 HummingBoard after rev 2.0 and the production one starting rev 3.0 uses gpio 3,5 (EIM_DA5 pad) as the gpio infra red receiver input. Since the original Carrier1 board is obsolete and we are retiring it, update the DT file for this. This will mean IR reception will not work on Carrier1 with this DT file. Signed-off-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 4011009d2300f23e60a780ac3fb3609aafd30874 Author: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Date: Sat Aug 23 10:11:42 2014 +0100 ARM: dts: hummingboard: add mSATA support for iMX6 quad/dual HummingBoard Initial patch from Rabeeh, but with the electrical properties added. Signed-off-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 4cd4f509c5dc3f935911c49f9813e2fc29063a6b Author: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Date: Sat Aug 23 10:11:36 2014 +0100 ARM: dts: hummingboard: Split HummingBoard DT to support s/dl and d/q Signed-off-by: Rabeeh Khoury <rabeeh@xxxxxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 49bdf58e9b0479f854232407b1e298efe2b27e5c Author: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Date: Fri Aug 22 14:02:27 2014 +0200 ARM: dts: i.MX53: add pmu node The i.MX53 has a Cortex-A8 Performance Monitor Unit. Add it to the dtsi. Signed-off-by: Steffen Trumtrar <s.trumtrar@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7881fb3f2272eb6f24270e1e228362242696d013 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Aug 22 11:13:02 2014 +0200 ARM: dts: nitrogen6x: Add Intersil ISL1208 RTC This patch adds the battery backed real time clock connected to I2C1 to the device tree. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e99b077bb340e37642b3eefda0de224ce1c8ee28 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 19 15:21:14 2014 -0300 ARM: dts: imx6sl-evk: Add LCD support Add support for the "MX28LCD Seiko 4.3' WVGA" panel. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 1bb9dae59f673fa0adcc4cd1c9e5e822e1382bc2 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 19 15:21:13 2014 -0300 ARM: dts: imx6sl-evk.dts: Keep pinctrl nodes sorted Let's keep pinctrl nodes sorted. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 4e394cd999fe99cbebd0c8ca753d000d6db66f59 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Fri Aug 22 14:52:54 2014 -0700 ARM: dts: Gateworks GW5520 support (i.MX6) Add support for the Gateworks GW5520 board. Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 6ff7f51ef9d34a7be945468de8383f29e151ce11 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 20:00:09 2014 +0400 ARM: i.MX: dts: Add simple-card support This patch adds simple-card support to the i.MX SoCs. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit ce253b5622c1e8da28d0be938747692414355681 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 10:33:47 2014 +0400 ARM: i.MX: dts: Add support for the Freescale i.MX1 ADS board This patch adds support for the Freescale (Motorola) i.MX1 ADS board. This change is intended to further remove non-DT support for this board. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 49b2ae0ca02cbc972255ade1c96a6a1c347cbd8c Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Aug 18 22:07:17 2014 +0200 ARM: dts: vf610-twr: Add USB support Add USB support for Freescale Vybrid tower. The USB hosts over-current protection signal is not connected to the PHY's over- current protection, hence we need to disable it. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 0500953b4970ac1c56a26492024e74480982c088 Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Aug 18 22:07:16 2014 +0200 ARM: dts: vf610-colibri: Add USB support Add USB support for Colibri VF61 modules. The Colibri standard pinout defines a pin for USB over-current. However, due to lack of pinmux options, the USB hosts over-current protection signal of the Colibri standard could not be connected to the PHY's over-current protection. Hence we need to disable the over-current functionality of the USB controller. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 763dab227874c0550bdc0aed5b1e4ac04ea3971a Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Aug 18 22:07:14 2014 +0200 ARM: dts: vf610: Add usbmisc for non-core registers Add device tree node for usbmisc which controls the non-core USB registers. This is required to use the property to disable the over- current detection. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e34a68a316e71290d1d46a24ec6d80420c785759 Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Aug 18 22:07:11 2014 +0200 ARM: dts: vf610: Add USB PHY and controller This adds USB PHY and USB controller nodes. Vybrid SoCs have two independent USB cores which each supports DR (dual role). However, real OTG is not supported since the OTG ID pin is not available. The PHYs are located within the anadig register range, hence we need to change the length of the anadig registers. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 17c63dd0c3f285a78d9becd36bd5db4d7d7e8e7b Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:24:22 2014 +0200 ARM: dts: imx28: add alternative pinmuxing for i2c1 Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 77d6386b3b2848b06a60a549a765651d0690d193 Author: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:24:21 2014 +0200 ARM: dts: imx28: add pinmuxing for mmc1 Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> [ukl: rebase from ancient kernel version] Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 1a3c460cb9e6f9ff41a7116a485d18120311776f Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Aug 7 21:52:40 2014 +0200 ARM: dts: imx25-pinfunc: Add several pin configurations This patch adds pin configurations for: - csi aud6 - cspi1 uart3 - csi uart5 - cc - csi sdhc2 - csi cspi3 - sd1 cspi2 - cspi1 pwm Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 0f4290579fe55fd471fb6aa39fd37a44538f7a97 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Thu Aug 7 21:52:38 2014 +0200 ARM: dts: imx25: remove imx35-sdma compatible The preloaded script addresses on imx25 and imx35 are different, so imx25 is not compatible with imx35-sdma unless a custom firmware is loaded. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d8c99930f1402931809f6da2dfd42d56c620e0d7 Author: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Date: Tue Aug 5 13:34:01 2014 -0400 ARM: dts: vf610-twr: Add ttyLP2 device. The ttyLP1 is already the default console/serial port. The tower board will route ttyLP2 to the same connectors depending on the JP23/24 settings. See: http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/276457.html http://lists.infradead.org/pipermail/linux-arm-kernel/2014-July/275576.html Signed-off-by: Bill Pringlemeir <bpringlemeir@xxxxxxxxx> Acked-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 2998b332b8a8e727637f3a5811ed46a31124380c Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Tue Aug 5 17:34:52 2014 +0800 ARM: dts: add thermal sensor support for i.mx6sl Add thermal sensor support for i.MX6SL. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d0eb8fc5a59200a51b47f91b14242751b3225dda Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Jul 26 13:45:29 2014 +0400 ARM: dts: i.MX1: Add i.MX1 template This patch adds basic devicetree template for i.MX1 based SoCs. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 1dffdd6816faa0cb3936a3a354223a95d646de22 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 25 12:49:53 2014 +0200 ARM: dts: nitrogen6x: add i2c3 Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit d653620e8fba04b1677bc3104dcbdc413673f0c7 Author: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Date: Fri Jul 25 12:49:52 2014 +0200 ARM: dts: nitrogen6x: add hdmi Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 43c3c0069493849892ac34ccfc328e5043ac9e6b Author: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Date: Fri Jul 25 12:49:51 2014 +0200 ARM: dts: nitrogen6x: add i2c2 Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 78827ec071ef4971a89e1da6349f2b73539639c3 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Jul 23 19:29:11 2014 +0200 ARM: dts: imx6qdl-sabresd: add always on pcie regulator Everything in the PCI specification assumes devices to be enumerable on startup. This is only possible if they have power available. A future improvement may allow this regulator to be switched off for D3hot and D3cold power states, but there is a lot of work to do the pcie host controller side for this to work. To keep things simple always enable the regulator for now. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 10f34a1341e374f372e3ff82f674e2475b262f9b Author: Stefan Agner <stefan@xxxxxxxx> Date: Fri Jul 18 16:25:18 2014 +0200 ARM: dts: vf610-colibri: split device tree for carrier boards The Colibri VF61 is a module which needs a carrier board to actually run. Different carrier board have different hardware support, hence we should reflect this in the device tree files. This patch adds the Colibri Evaluation Board, which supports almost all peripherals defined in the Colibri standard. Also align the compatible naming, file splitting and file naming with the scheme which was choosen for the Tegra based modules. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 155b2fd3d6862509ccb356ff20fff8115d36eedb Merge: ee64100 64546e9 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Tue Sep 16 10:24:58 2014 +0800 Merge branch 'imx/soc' into imx/dt commit ee64100953e9657532cef5f7bdace3f8cc691c29 Merge: 69e273c bd597f4 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Tue Sep 16 10:24:16 2014 +0800 Merge tag 'ib-mfd-arm-v3.18' into imx/dt Immutable branch between MFD and some ARM sub-arch maintainers. commit 64546e9fe3a5b8cf62c946521c71d0532d399850 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 9 23:40:41 2014 -0300 ARM: imx_v6_v7_defconfig updates The rtc isl1208 driver is used by mx6 nitrogen board, so let's enable it by default. The fsl sai driver is used by the vf610-twr board, so let's enable it by default. simple-audio-card driver is used by the vf610-twr board, so let's enable it by default. Generated this patch by doing: - make imx_v6_v7_defconfig - make menuconfig and manually select options - make savedefconfig - cp defconfig arch/arm/configs/imx_v6_v7_defconfig ,which results in some additional cleanups. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 0650f855d2e4b0b9b55f58bdd966a6769a5d2d90 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Fri Sep 5 11:34:23 2014 -0300 ARM: imx_v4_v5_defconfig: Select CONFIG_IMX_WEIM The imx weim driver is used by some mx27/mx1 boards, so let's enable it by default. Generated this patch by doing: - make imx_v4_v5_defconfig - make menuconfig and manually select CONFIG_IMX_WEIM - make savedefconfig - cp defconfig arch/arm/configs/imx_v4_v5_defconfig ,which results in some additional cleanups. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 75fd32b8ef68adf273c233b34c6b898780d290f2 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Sep 13 11:31:15 2014 -0700 arm: mach-imx: Convert pr_warning to pr_warn Use the more common pr_warn. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit bad3db104f8922df2c84fd7653cfbcbc93cd0cb7 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Thu Sep 11 11:29:42 2014 +0800 ARM: imx: source gpt per clk from OSC for system timer On i.MX6Q TO > 1.0, i.MX6DL and i.MX6SX, gpt per clock can be from OSC instead of ipg_per, as ipg_per's rate may be scaled when system enter low bus mode, to keep system timer NOT drift, better to make gpt per clock at fixed rate, here add support for gpt per clock to be from OSC which is at fixed rate always. There are some difference on this implementation of gpt per clock source, see below for details: i.MX6Q TO > 1.0: GPT_CR_CLKSRC, b'101 selects fix clock of OSC / 8 for gpt per clk; i.MX6DL and i.MX6SX: GPT_CR_CLKSRC, b'101 selects OSC for gpt per clk, and we must enable GPT_CR_24MEM to enable OSC clk source for gpt per, GPT_PR_PRESCALER24M is for pre-scaling of this OSC clk, here set it to 8 to make gpt per clk is 3MHz; i.MX6SL: ipg_per can be from OSC directly, so no need to implement this new clk source for gpt per. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 6f11c69d35d5b1db0ec4cfccd0188b00eada3ad3 Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Thu Sep 11 11:29:40 2014 +0800 ARM: imx: add gpt_3m clk for i.mx6qdl Add gpt_3m clock for i.mx6qdl, as gpt can source clock from OSC, some i.MX6 series SOCs has fixed divider of 8 for gpt clock, so here add a fix clk of gpt_3m. i.MX6Q TO1.0 has no gpt_3m option, so force it to be from ipg_per. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 69d9a3fe06ed4bdb69f0a20cfa031dbcb0ee8dc3 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Fri Sep 12 10:40:28 2014 +0800 ARM: imx: fix register offset of pll7_usb_host gate clock There is a copy&paste error on register offset of pll7_usb_host gate clock introduced by i.MX6 PLL bypass support patches. The error breaks the ENET function, because it overwrites the pll6_enet gate bit. Correct the offset for all i.MX6 clock drivers. Thanks to Fugang Duan <B38611@xxxxxxxxxxxxx> for spotting the error. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit dbaf381ffbf3acd4ac9a987f567a2b1a5edf6e62 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Sep 9 17:13:25 2014 +0800 ARM: clk-imx6sl: refine clock tree for SSI Each SSI has "ssi", "ssi_ipg" clocks, and they share same gate bits. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit dc4805c2e78ba5a22ea1632f3e3e4ee601a1743b Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Tue Aug 26 23:06:33 2014 +0800 ARM: imx: remove ENABLE and BYPASS bits from clk-pllv3 driver Since ENABLE and BYPASS bits of PLLs are now implemented as separate gate and mux clocks by clock drivers, the code handling these two bits can be removed from clk-pllv3 driver. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit db7c0659452c5f490ea5048390ad94de786f4b85 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Mon Sep 1 15:15:57 2014 +0800 ARM: imx6sx: add BYPASS support for PLL clocks This is the same change for imx6sx clock driver as "ARM: imx6q: add BYPASS support for PLL clocks" for imx6q. The difference is that only anaclk1 is available on imx6sx. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e90f41990dce3557e345410ef33b0a47e8cb49fc Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Mon Sep 1 14:29:53 2014 +0800 ARM: imx6sl: add BYPASS support for PLL clocks This is the same change for imx6sl clock driver as "ARM: imx6q: add BYPASS support for PLL clocks" for imx6q. The difference is that only anaclk1 is available on imx6sl. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit b1f156db47ae914a308488ce28e84f3d4ad4f667 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Mon Sep 1 14:17:48 2014 +0800 ARM: imx6q: add BYPASS support for PLL clocks The imx6q clock driver currently hard-codes all PLL clocks to source from OSC24M without BYPASS support. The patch adds the missing lvds_in clock which is mutually exclusive with lvds_gate, and implements BYPASS and BYPASS_CLK_SRC selection for PLL clocks as per Figure 10-3. Primary Clock Generation in IMX6DQRM, i.e. both BYPASS_CLK_SRC and BYPASS bits are implemented as mux clocks, and ENABLE bit of PLL clocks is implemented as a gate clock after BYPASS mux. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 19d863446a6b75b2f97b3012acf67c40b9f2ea1f Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Tue Aug 26 15:06:33 2014 +0800 ARM: imx: add an exclusive gate clock type There are a couple of gate clocks are mutually exclusive on i.MX6, i.e. LVDSCLK1_IBEN and LVDSCLK1_OBEN. They cannot be enabled simultaneously. This patches adds an exclusive gate clock type specifically for such case. The clock driver will need to call imx_clk_gate_exclusive() to register a gate clock with parameter exclusive_mask indicating the mask of gate bits which are mutually exclusive to this gate clock. Right now, it only handles the exclusive gate clocks which are defined in a single hardware register, which is the case we're running into today. But it can be extended to handle exclusive gate clocks defined in different registers later if needed. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit bd404b1d337b960c44b75fcb01e3170f1d41ae80 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Thu Sep 4 17:48:59 2014 +0800 ARM: clk-imx6q: refine clock tree for SSI Each SSI has "ssi", "ssi_ipg" clocks, and they share same gate bits. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit aec247d4ac578693ee75ac2bf10eac1c29299c45 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Thu Sep 4 17:48:58 2014 +0800 ARM: clk-imx6q: refine clock tree for ASRC ASRC has "asrc", "asrc_ipg", "asrc_mem" clocks, and they share the same gate bits. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit e37c1ad0327af0639f6358357f60f6209f8bbad6 Author: Fancy Fang <chen.fang@xxxxxxxxxxxxx> Date: Thu Sep 4 16:33:12 2014 +0800 ARM: clk-imx6sl: correct the pxp and epdc axi clock selections The parent clocks of IMX6SL_CLK_PXP_AXI_SEL and IMX6SL_CLK_EPDC_AXI_SEL clocks are not the same. So split the epdc_pxp_sels into two different clock selections 'pxp_axi_sels' and 'epdc_axi_sels'. Signed-off-by: Fancy Fang <chen.fang@xxxxxxxxxxxxx> Signed-off-by: Robby Cai <R63905@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7bce3d23ecfd327bd277598d67e93655fb4cc0ed Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Fri Aug 8 15:02:47 2014 +0800 ARM: clk-imx6q: refine clock tree for ESAI There are three clock for ESAI, esai_extal, esai_ipg, esai_mem. Rename 'esai' to 'esai_extal', 'esai_ahb' to 'esai_mem', and add 'esai_ipg'. Make the clock for ESAI more clear and align them with imx6sx. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 0783a56087e9ecfae2f01f9662ff52081c5b5e25 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 19 15:21:12 2014 -0300 ARM: clk-imx6sl: Select appropriate parents for LCDIF clocks PLL5 is well suited for being the parent of IMX6SL_CLK_LCDIF_PIX_SEL and PLL2_PFD for IMX6SL_CLK_LCDIF_AXI_SEL. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit bad66c3ebdcdb4043bdcfe24ddab4802d5fc4327 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Aug 19 15:21:11 2014 -0300 ARM: clk-imx6sl: Remove csi_lcdif_sels[] Currently csi_lcdif_sels[] is a shared array for the providing the possible clock parents for csi and lcdif blocks. This is not correct, as csi and lcdif do not share the same clock parents. Introduce csi_sels[] for the csi and lcdif_axi_sels[] for the lcdif clocks in order to describe the parents correctly. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 21231f81f13db2883f11664b67fc6fb2690e6af2 Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Aug 18 22:07:12 2014 +0200 ARM: imx: clk-vf610: Add USBPHY clocks This commit adds PLL7 which is required for USBPHY1. It also adds the USB PHY and USB Controller clocks and the gates to enable them. Acked-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 47526e410d32f749d78ce2655b6eeb2bffd9ed3d Author: Anson Huang <b20788@xxxxxxxxxxxxx> Date: Wed Jun 25 17:10:12 2014 +0800 ARM: imx: add cpufreq support for i.mx6sx Add cpufreq support for i.MX6SX, using common i.MX6Q cpufreq driver. Signed-off-by: Anson Huang <b20788@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 3b18dd7a86f925951c8543339f8137a80fa40891 Author: Stefan Agner <stefan@xxxxxxxx> Date: Tue Jul 29 16:20:28 2014 +0200 ARM: imx: clk-vf610: introduce clks_init_on At the end of the boot process, the clock framework might disable required main PLL's. So far, this was no issue since drivers requested clocks, which are descended of the main PLL's (e.g. pll1_pfd1, which provides the system clock). To archive the full 500MHz system clock, DDR clock need to be a descendant of PLL2 rather than PLL1 (DDRC_CLK_SEL set to 0). The bootloader sets up the clocks accordingly before making use of DDR at all. However, in Linux, there is no driver using PLL2, which lead to PLL2 being disabled by the clock framework. With this patch, we make sure that the main system clock and the DDR clock are initially enabled and are kept enabled. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 24980dc810f2c41929a50277946737e25ab3c0cd Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Jul 26 13:45:28 2014 +0400 ARM: i.MX1: Add devicetree support This patch adds basic devicetree support for i.MX1 based SoCs. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit c896e938505714d4346388ddc8a82fb190f235aa Author: Jason Liu <r64343@xxxxxxxxxxxxx> Date: Tue Nov 5 12:03:18 2013 +0800 ARM: i.MX6: add more chip revision support Add more revision support for the new i.MX6DQ tape-out (TO1.5). This TO1.5 is the Rev 1.3 as documented in i.MX6DQ data sheet, because TO1.3 and TO1.4 are never revealed. Signed-off-by: Jason Liu <r64343@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Acked-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> commit b2efb3f0a1db62aff5e824125785ec6731143b6d Merge: 4ac0736 9e82bf0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Sep 16 11:28:52 2014 +1000 drm: backmerge tag 'v3.17-rc5' into drm-next This is requested to get the fixes for intel and radeon into the same tree for future development work. i915_display.c: fix missing dev_priv conflict. commit 2e151c70dfb0075ff83bec305c52a9da1ba49089 Author: Peter Neubauer <pneubauer@xxxxxxxxxxxxxx> Date: Fri Sep 12 13:06:13 2014 +0200 x86: HPET force enable for e6xx based systems As the Soekris net6501 and other e6xx based systems do not have any ACPI implementation, HPET won't get enabled. This patch enables HPET on such platforms. [ 0.430149] pci 0000:00:01.0: Force enabled HPET at 0xfed00000 [ 0.644838] HPET: 3 timers in total, 0 timers will be used for per-cpu timer Original patch by Peter Neubauer (http://www.mail-archive.com/soekris-tech@xxxxxxxxxxxxxxxxx/msg06462.html) slightly modified by Conrad Kostecki <ck@xxxxxxxxxxxxxxxxxx> and massaged accoring to Thomas Gleixners <tglx@xxxxxxxxxxxxx> by me. Suggested-by: Conrad Kostecki <ck@xxxxxxxxxxxxxxxxxx> Signed-off-by: Eric Sesterhenn <eric.sesterhenn@xxxxxxxxxxxx> Cc: Peter Neubauer <pneubauer@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/5412D3A5.2030909@xxxxxxxxxxxx Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 34abee398119acaed0b1fb4318eca5b364cf74e2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Sep 15 12:21:17 2014 +0200 ARM: shmobile: r8a73a4 dtsi: Add SoC-specific irqc compatible property The interrupt controller used the generic compatible property only. Add the SoC-specific one, to make it future proof. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cf34e646dad101170e00712fe51986cbcdad3044 Author: Julian Anastasov <ja@xxxxxx> Date: Tue Sep 9 16:40:30 2014 -0700 ipvs: address family of LBLCR entry depends on svc family The LBLCR entries should use svc->af, not dest->af. Needed to support svc->af != dest->af. Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit f7fa38006983c0933a550fa790a3b3d3856394d1 Author: Julian Anastasov <ja@xxxxxx> Date: Tue Sep 9 16:40:29 2014 -0700 ipvs: address family of LBLC entry depends on svc family The LBLC entries should use svc->af, not dest->af. Needed to support svc->af != dest->af. Signed-off-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 8052ba292559f907ea2ad4c827d83c195046dfe1 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:28 2014 -0700 ipvs: support ipv4 in ipv6 and ipv6 in ipv4 tunnel forwarding Pull the common logic for preparing an skb to prepend the header into a single function and then set fields such that they can be used in either case (generalize tos and tclass to dscp, hop_limit and ttl to ttl, etc) Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit c63e4de2be5e1d253adce16dbba57ed42868bc22 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:27 2014 -0700 ipvs: Add generic ensure_mtu_is_adequate to handle mixed pools The out_rt functions check to see if the mtu is large enough for the packet and, if not, send icmp messages (TOOBIG or DEST_UNREACH) to the source and bail out. We needed the ability to send ICMP from the out_rt_v6 function and DEST_UNREACH from the out_rt function, so we just pulled it out into a common function. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 919aa0b2bbcf013467295dc9736db6fb575a4fb0 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:26 2014 -0700 ipvs: Pull out update_pmtu code Another step toward heterogeneous pools, this removes another piece of functionality currently specific to each address family type. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 4a4739d56b006c4b34dfba03c356056e110521ca Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:25 2014 -0700 ipvs: Pull out crosses_local_route_boundary logic This logic is repeated in both out_rt functions so it was redundant. Additionally, we'll need to be able to do checks to route v4 to v6 and vice versa in order to deal with heterogeneous pools. This patch also updates the callsites to add an additional parameter to the out route functions. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 391f503d69779867f05e9296ae523e9002c2d7ee Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:24 2014 -0700 ipvs: prevent mixing heterogeneous pools and synchronization The synchronization protocol is not compatible with heterogeneous pools, so we need to verify that we're not turning both on at the same time. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ba38528aae6ee2d22226c6a78727ddc13512b068 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:23 2014 -0700 ipvs: Supply destination address family to ip_vs_conn_new The assumption that dest af is equal to service af is now unreliable, so we must specify it manually so as not to copy just the first 4 bytes of a v6 address or doing an illegal read of 16 butes on a v6 address. We "lie" in two places: for synchronization (which we will explicitly disallow from happening when we have heterogeneous pools) and for black hole addresses where there's no real dest. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit ad147aa4dd2135e6d86e3329d4009283ba64287f Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:22 2014 -0700 ipvs: Pass destination address family to ip_vs_trash_get_dest Part of a series of diffs to tease out destination family from virtual family. This diff just adds a parameter to ip_vs_trash_get and then uses it for comparison rather than svc->af. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 655eef103d0bd99f540a52f7ede032e120756846 Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:21 2014 -0700 ipvs: Supply destination addr family to ip_vs_{lookup_dest,find_dest} We need to remove the assumption that virtual address family is the same as real address family in order to support heterogeneous services (that is, services with v4 vips and v6 backends or the opposite). Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 6cff339bbd5f9eda7a5e8a521f91a88d046e6d0c Author: Alex Gartrell <agartrell@xxxxxx> Date: Tue Sep 9 16:40:20 2014 -0700 ipvs: Add destination address family to netlink interface This is necessary to support heterogeneous pools. For example, if you have an ipv6 addressed network, you'll want to be able to forward ipv4 traffic into it. This patch enforces that destination address family is the same as service family, as none of the forwarding mechanisms support anything else. For the old setsockopt mechanism, we simply set the dest address family to AF_INET as we do with the service. Signed-off-by: Alex Gartrell <agartrell@xxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit 616a9be25cb9516e546c0de55d61e1e46e54ade9 Author: Kenny Mathis <kmathis@xxxxxxxxxxxxxx> Date: Tue Sep 9 09:20:15 2014 -0400 ipvs: Add simple weighted failover scheduler Add simple weighted IPVS failover support to the Linux kernel. All other scheduling modules implement some form of load balancing, while this offers a simple failover solution. Connections are directed to the appropriate server based solely on highest weight value and server availability. Tested functionality with keepalived. Signed-off-by: Kenny Mathis <kmathis@xxxxxxxxxxxxxx> Acked-by: Julian Anastasov <ja@xxxxxx> Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx> commit b262b35c2ceb989c6b89dae6b8e0c0ce466cc90d Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 17:01:32 2014 +1000 pnfs/blocklayout: include vmalloc.h for __vmalloc Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 55ab9ec99bbfb4450dfa9bc0fd9e2c5052f4c3f7 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:01:55 2014 +0900 mtd: denali: remove a set-but-unused variable The variable "retry" in wait_for_irq() is set, but not used. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 93e3c8adf6fcf2204ca334237b92c7f8cdafce6f Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:01:54 2014 +0900 mtd: denali: change the type of iterators to int We should rathar use "int" type for loop iterators. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 3157d1ed23098e3b004e78bc342af10d62f820f7 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:01:53 2014 +0900 mtd: denali: remove unnecessary casts Useless casts result in unreadable source code. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5637b69d1c489d4585c94a2a1d0a38f4e6b1a705 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:01:52 2014 +0900 mtd: denali: remove unnecessary variable initializations All of these variables are initialized to zero and then set to a different value below. Zero-initializing is redundant. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 43914a2dcc8f9fc1c25e6bd2650d8e7ad1a9b04a Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 11:01:51 2014 +0900 mtd: denali: fix the format of comment blocks We should use /* * Blah Blah ... * ... */ for multi-line comment blocks. In addition, refactor some comments where it seems reasonable and remove some comments where the code is clear enough such as: /* clear interrupts */ clear_interrupts(denali); Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7622d4905a038961da6b1c6c3fe4be6c3dad7ef9 Merge: 5b49ab3 9e82bf0 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Sep 15 16:28:16 2014 -0700 Merge tag 'v3.17-rc5' from upstream commit 6fe8c1dbefd63ef3988edb745d9eb81fc6d0513c Author: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Date: Wed Sep 10 14:54:09 2014 +0300 scsi: balance out autopm get/put calls in scsi_sysfs_add_sdev() SCSI Well-known logical units generally don't have any scsi driver associated with it which means no one will call scsi_autopm_put_device() on these wlun scsi devices and this would result in keeping the corresponding scsi device always active (hence LLD can't be suspended as well). Same exact problem can be seen for other scsi device representing normal logical unit whose driver is yet to be loaded. This patch fixes the above problem with this approach: - make the scsi_autopm_put_device call at the end of scsi_sysfs_add_sdev to make it balance out the get earlier in the function. - let drivers do paired get/put calls in their probe methods. Signed-off-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 50c4e96411a6cd728f04cf70d8d6def57828b320 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 11:35:50 2014 -0400 scsi: don't store LUN bits in CDB[1] for USB mass-storage devices The SCSI specification requires that the second Command Data Byte should contain the LUN value in its high-order bits if the recipient device reports SCSI level 2 or below. Nevertheless, some USB mass-storage devices use those bits for other purposes in vendor-specific commands. Currently Linux has no way to send such commands, because the SCSI stack always overwrites the LUN bits. Testing shows that Windows 7 and XP do not store the LUN bits in the CDB when sending commands to a USB device. This doesn't matter if the device uses the Bulk-Only or UAS transports (which virtually all modern USB mass-storage devices do), as these have a separate mechanism for sending the LUN value. Therefore this patch introduces a flag in the Scsi_Host structure to inform the SCSI midlayer that a transport does not require the LUN bits to be stored in the CDB, and it makes usb-storage set this flag for all devices using the Bulk-Only transport. (UAS is handled by a separate driver, but it doesn't really matter because no SCSI-2 or lower device is at all likely to use UAS.) The patch also cleans up the code responsible for storing the LUN value by adding a bitflag to the scsi_device structure. The test for whether to stick the LUN value in the CDB can be made when the device is probed, and stored for future use rather than being made over and over in the fast path. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Reported-by: Tiziano Bacocco <tiziano.bacocco@xxxxxxxxx> Acked-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Acked-by: James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 64bdcbc449105377dd60c8da97cfc1663b39562c Author: Kashyap.Desai@xxxxxxxxxxxxx <Kashyap.Desai@xxxxxxxxxxxxx> Date: Wed Aug 20 19:24:33 2014 +0530 scsi: add use_cmd_list flag Add a use_cmd_list flag in struct Scsi_Host to request keeping track of all outstanding commands per device. Default behaviour is not to keep track of cmd_list per sdev, as this may introduce lock contention. (overhead is more on multi-node NUMA.), and only enable it on the two drivers that need it. Signed-off-by: Kashyap Desai <kashyap.desai@xxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Bart Van Assche <bvanassche@xxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 2eefd57b97609949ae40952da2dea338e7d9a125 Author: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Date: Mon Aug 11 15:40:37 2014 +0300 sd: Avoid sending medium write commands if device is write protected The SYNCHRONIZE_CACHE command is a medium write command and hence can fail when the device is write protected. Avoid sending such commands by making sure that write-cache-enable is disabled even though the device claim to support it. Signed-off-by: Sujit Reddy Thumma <sthumma@xxxxxxxxxxxxxx> Signed-off-by: Dolev Raviv <draviv@xxxxxxxxxxxxxx> Reviewed-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx> Reviewed-by: Venkatesh Srinivas <venkateshs@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 74cf298fedfcb732335cae5d157e95295e87cf2a Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sat Aug 16 14:15:11 2014 -0700 scsi: fix various kernel-doc problems in scsi_error.c Convert spaces to tabs in kernel-doc notation. Correct duplicated (copy-paste) kernel-doc comments that are incorrect. Fix kernel-doc warning: Warning(..//drivers/scsi/scsi_error.c:1647): No description found for parameter 'shost' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reviewed-by: Ewan D. Milne <emilne@xxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit c1f570a6abc192f047550743f9957b617af605af Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Mon Sep 15 14:48:08 2014 -0700 net: dsa: fix mii_bus to host_dev replacement dsa_of_probe() still used cd->mii_bus instead of cd->host_dev when building with CONFIG_OF=y. Fix this by making the replacement here as well. Fixes: b4d2394d01b ("dsa: Replace mii_bus with a generic host device") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10ee1c34bedcc0e2a196d85ec87806fd111b5e79 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 14:06:49 2014 -0700 net_sched: use tcindex_filter_result_init() Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f9a220eff18d31cf82b92e74d5bbc8a3d7043d8 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 14:06:48 2014 -0700 net_sched: fix suspicious RCU usage in tcindex_classify() This patch fixes the following kernel warning: [ 44.805900] [ INFO: suspicious RCU usage. ] [ 44.808946] 3.17.0-rc4+ #610 Not tainted [ 44.811831] ------------------------------- [ 44.814873] net/sched/cls_tcindex.c:84 suspicious rcu_dereference_check() usage! Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3415d60113f64176114f1bddc09f76c222d85fae Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Sep 14 21:23:01 2014 +0200 regulator: fan53555: enable vin supply The regulator can be supplied by a parent regulator through its vin pin, so add the supply_name for it. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e5b2791d2a57e9da369bd75ae2a209bcce2ad4d3 Author: Oder Chiou <oder_chiou@xxxxxxxxxxx> Date: Mon Sep 15 19:58:44 2014 +0800 ASoC: rt5677: Revise the wrong name in the header file The patch revises the wrong name in the header file. Signed-off-by: Oder Chiou <oder_chiou@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a57a65ba47b71e7af67af30466c7e0bd2ec5786d Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 14:06:46 2014 -0700 net_sched: fix an allocation bug in tcindex_set_parms() Fixes: commit 331b72922c5f58d48fd ("net: sched: RCU cls_tcindex") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80dcbd12fb30932bb001b913ffe36843e2a1fe3a Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Sep 15 14:21:50 2014 -0700 net_sched: fix suspicious RCU usage in cls_bpf_classify() Fixes: commit 1f947bf151e90ec0baad2948 ("net: sched: rcu'ify cls_bpf") Cc: John Fastabend <john.fastabend@xxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 05f7588c3c1641f64af93dc042947bbac35f39f6 Author: Nishanth Menon <nm@xxxxxx> Date: Mon Sep 15 14:33:37 2014 -0700 Input: palmas-pwrbutton - fix typo in the license string Follow the license string convention indicated in include/linux/module.h (don't capitalize v). This fixes following randconfig warning: FATAL: modpost: GPL-incompatible module palmas-pwrbutton.ko uses GPL-only symbol 'platform_driver_unregister' Fixes: adff5962fdd2 ("Input: introduce palmas-pwrbutton") Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5cc19b7c5e71bdd1214813c6d65a1dd5b37807ac Author: Nishanth Menon <nm@xxxxxx> Date: Mon Sep 15 14:31:22 2014 -0700 Input: palmas-pwrbutton - use IRQF_ONESHOT make C=2 CHECK="scripts/coccicheck" MODE=report COCCI=scripts/coccinelle/misc/irqf_oneshot.cocci ./drivers/input/misc/palmas-pwrbutton.o Reports: drivers/input/misc/palmas-pwrbutton.c:213:9-29: ERROR: Threaded IRQ with no primary handler requested without IRQF_ONESHOT Palmas power button just needs threaded IRQ handler since I2C operations are involved and there is nothing in non-threaded primary handler we could do. So mark the request with ONESHOT as it should have been done in these cases. Fixes: adff5962fdd2 ("Input: introduce palmas-pwrbutton") Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 3ace3686f198e656624d7ca2984d053e65f6e09d Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Fri Sep 12 17:24:47 2014 -0700 Input: psmouse - add support for detecting FocalTech PS/2 touchpads The Asus X450 and X550 laptops use a PS/2 touchpad from a new manufacturer called FocalTech: https://bugzilla.kernel.org/show_bug.cgi?id=77391 https://bugzilla.redhat.com/show_bug.cgi?id=1110011 The protocol for these devices is not known at this time, but even without knowing the protocol they need some special handling. They get upset by some of our other PS/2 device probing, and once upset generate random mouse events making things unusable even with an external mouse. This patch adds detection of these devices based on their pnp ids, and when they are detected, treats them as a bare ps/2 mouse. Doing things this way they at least work in their ps/2 mouse emulation mode. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit c6c2a3de36b1e45841888e27bc2f85ef4e471ad3 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 14:54:31 2014 +0200 target: target_core_ua_h: Add #define of include guard Clearly the file was meant to contain an include guard, but it was missing the #define part. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit c04047eceed45ae210d020868672456c33cae300 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Mon Aug 18 15:05:37 2014 +0300 tcm_fc: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 0486b60a8c62d3a9470374601dbd2f5f03afb1dd Merge: 6cca9ad b4d2394 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 15 17:24:29 2014 -0400 Merge branch 'dsa-next' Alexander Duyck says: ==================== DSA Cleanups This patch series does two things, first it cleans up the tag_protocol and protocol ops being configured seperately. Second it addresses the desire to split DSA away from relying on a MII bus. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4d2394d01bc642e95b2cba956d908423c1bef77 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Mon Sep 15 13:00:27 2014 -0400 dsa: Replace mii_bus with a generic host device This change makes it so that instead of passing and storing a mii_bus we instead pass and store a host_dev. From there we can test to determine the exact type of device, and can verify it is the correct device for our switch. So for example it would be possible to pass a device pointer from a pci_dev and instead of checking for a PHY ID we could check for a vendor and/or device ID. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5075314e4e4b559cc37675ad8a721a89bccd6284 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Mon Sep 15 13:00:19 2014 -0400 dsa: Split ops up, and avoid assigning tag_protocol and receive separately This change addresses several issues. First, it was possible to set tag_protocol without setting the ops pointer. To correct that I have reordered things so that rcv is now populated before we set tag_protocol. Second, it didn't make much sense to keep setting the device ops each time a new slave was registered. So by moving the receive portion out into root switch initialization that issue should be addressed. Third, I wanted to avoid sending tags if the rcv pointer was not registered so I changed the tag check to verify if the rcv function pointer is set on the root tree. If it is then we start sending DSA tagged frames. Finally I split the device ops pointer in the structures into two spots. I placed the rcv function pointer in the root switch since this makes it easiest to access from there, and I placed the xmit function pointer in the slave for the same reason. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e1ea97fef0cd579fd7ef3851548e068eaf2ad9f0 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Thu Jul 17 02:29:53 2014 +0530 target/configfs: Remove unnecessary null test This patch removes the null test on lun_cg. lun_cg is initialized at the beginning of the function to &lun->lun_group. Since lun_cg is dereferenced prior to the null test, it must be a valid pointer. The following Coccinelle script is used for detecting the change: @r@ expression e,f; identifier g,y; statement S1,S2; @@ *e = &f->g <+... f->y ...+> *if (e != NULL || ...) S1 else S2 Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx> commit 6cca9adb786184be21f30be0982e3ea0281f75cb Merge: 4370240 e097458 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 15 17:19:55 2014 -0400 Merge branch 'bonding-cleanups' Nikolay Aleksandrov says: ==================== bonding: style, comment and assertion changes This is a small and simple patch-set that doesn't introduce (hopefully) any functional changes, but only stylistic and semantic ones. Patch 01 simply uses the already provided __rlb_next_rx_slave function inside rlb_next_rx_slave(), thus removing the duplication of code. Patch 02 changes all comments that I could find to netdev style, removes some outdated ones and fixes a few more small cosmetic issues (new line after declaration, braces around if; else and such) Patch 03 removes one extra ASSERT_RTNL() because we already have it in the parent function and consolidates two other ASSERT_RTNL()s to the function that is exported and supposed to be called with RTNL anyway. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0974585e74cc16446bc0690f0545b72aa2a3485 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Mon Sep 15 17:19:35 2014 +0200 bonding: consolidate ASSERT_RTNL()s and remove the unnecessary Consolidate the calls to ASSERT_RTNL() before bond_select_active_slave() inside bond_select_active_slave() itself and remove the ASSERT_RTNL() from bond_hw_addr_swap() as it's not exported and its only caller - bond_change_active_slave() already has an ASSERT_RTNL(). Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 547942cace50e536dcda9ce8397792bc992291d6 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Mon Sep 15 17:19:34 2014 +0200 bonding: trivial: style and comment fixes First adjust a couple of locking comments that were left inaccurate, then adjust comments to use the netdev styling and remove extra new lines where necessary and add a couple of new lines between declarations and code. These are all trivial styling changes, no functional change. Also removed a couple of outdated or obvious comments. This patch is by no means a complete fix of all netdev style violations but it gets the bonding closer. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56924c3811ae843527f7a1090ead73a0acf704a4 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Mon Sep 15 17:19:33 2014 +0200 bonding: consolidate the two rlb_next_rx_slave functions into one __rlb_next_rx_slave() is a copy of rlb_next_rx_slave() with the difference that it uses rcu primitives to walk the slave list. We don't need the two functions and can make rlb_next_rx_slave() a wrapper for callers which hold RTNL. So add a comment and ASSERT_RTNL() to make sure what is intended. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4b8c6ba616deab7ddf2725f5833cf027a149987f Author: Christoph Hellwig <hch@xxxxxxxxxxxxx> Date: Fri Sep 12 16:00:32 2014 -0700 scsi: fix regression that accidentally disabled block-based tcq Please try the fix below, looks like the commit broke TCQ for all drivers using block-level tagging. Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit cbaa42213461e9a722a391b3800d7c111de7049b Author: Mike Christie <michaelc@xxxxxxxxxxx> Date: Wed Sep 3 00:00:39 2014 -0500 libiscsi: fix potential buffer overrun in __iscsi_conn_send_pdu This patches fixes a potential buffer overrun in __iscsi_conn_send_pdu. This function is used by iscsi drivers and userspace to send iscsi PDUs/ commands. For login commands, we have a set buffer size. For all other commands we do not support data buffers. This was reported by Dan Carpenter here: http://www.spinics.net/lists/linux-scsi/msg66838.html Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mike Christie <michaelc@xxxxxxxxxxx> Reviewed-by: Sagi Grimberg <sagig@xxxxxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> commit 4ac073640a528662a7c072a30e92e70ce00ded33 Merge: 19524f7 cc2a907 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Sep 16 06:20:53 2014 +1000 Merge branch 'linux-3.18' of git://anongit.freedesktop.org/git/nouveau/linux-2.6 into drm-next This is the main merge request for Nouveau 3.18, overview: - various bits of roy's gt21x clock work - various bits of kepler memory clock work (don't get too excited, there's at least one more major bit left that's busting higher freqs) - misc fan control improvements - kepler hdmi infoframe fixes - dp audio - l2 cache + cbc improvements * 'linux-3.18' of git://anongit.freedesktop.org/git/nouveau/linux-2.6: (68 commits) drm/gt214-/disp: enable dp audio drm/gt214-/kms: fix hda eld regression drm/g94-/disp: calculate some dp audio constants drm/gt214-/kms: perform hda codec setup on displayport too drm/gk104-/disp: infoframe registers moved yet again on kepler drm/nouveau/bios: parse older ramcfg/timing data like we do newer ones drm/nva3/fb/ram: Per-partition regs drm/nouveau/fb/ram: Support strided regs drm/nv50/fb/ram: Store the number of partitions in the designated fields drm/nv50/kms: Set VBLANK time in modeset script drm/nouveau/bios: Add rammap support for version 1.0 drm/gf100-/pwr/memx: block host and fifo around reclock drm/nouveau/pwr/memx: fix command ordering around block/unblock drm/nouveau/pwr/memx: rename fb off/on to block/unblock drm/nva3/clk: Pause the GPU before reclocking drm/nouveau/gpio: rename g92 class to g94 drm/gk104-/fb/ram: move fb enable/disable to same place as nvidia drm/gk104/fb/ram: twiddle some more bits when reclocking drm/nouveau/bios: parse another large chunk of random memory config data drm/gk104-/fb/ram: perform certain steps only when bios data differs ... commit 07034aeae152de52c29f032ca995bf9dafbe24e2 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Mon Sep 15 17:36:06 2014 +0200 netfilter: ipset: hash:mac type added to ipset Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit aef96193fe7b2791c4a3b19fe75426b929769471 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Mon Sep 15 17:30:54 2014 +0200 netfilter: ipset: send nonzero skbinfo extensions only Do not send zero valued skbinfo extensions to userspace at listing. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 76cea4109ca89dea218fdc652d2e1535fd9b5fc7 Author: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Date: Tue Sep 2 14:21:20 2014 +0400 netfilter: ipset: Add skbinfo extension support to SET target. Signed-off-by: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit cbee93d7b71bf9d73382e503a4f60848eec60ea8 Author: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Date: Thu Aug 28 10:11:30 2014 +0400 netfilter: ipset: Add skbinfo extension kernel support for the list set type. Add skbinfo extension kernel support for the list set type. Introduce the new revision of the list set type. Signed-off-by: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit af331419d34e2fc0e2d0c629734f8d160f95a3ec Author: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Date: Thu Aug 28 10:11:29 2014 +0400 netfilter: ipset: Add skbinfo extension kernel support for the hash set types. Add skbinfo extension kernel support for the hash set types. Inroduce the new revisions of all hash set types. Signed-off-by: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 39d1ecf1ad0e19145e1f3a6cd838b7354ef71bf7 Author: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Date: Thu Aug 28 10:11:28 2014 +0400 netfilter: ipset: Add skbinfo extension kernel support for the bitmap set types. Add skbinfo extension kernel support for the bitmap set types. Inroduce the new revisions of bitmap_ip, bitmap_ipmac and bitmap_port set types. Signed-off-by: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 0e9871e3f79fd17c691b50a9669220c54ff084a2 Author: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Date: Thu Aug 28 10:11:27 2014 +0400 netfilter: ipset: Add skbinfo extension kernel support in the ipset core. Skbinfo extension provides mapping of metainformation with lookup in the ipset tables. This patch defines the flags, the constants, the functions and the structures for the data type independent support of the extension. Note the firewall mark stores in the kernel structures as two 32bit values, but transfered through netlink as one 64bit value. Signed-off-by: Anton Danilov <littlesmilingcloud@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 73e64e1813e9ea45885419d0fff1e628a6ab95d4 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Mon Sep 15 20:48:26 2014 +0200 netfilter: ipset: Fix static checker warning in ip_set_core.c Dan Carpenter reported the following static checker warning: net/netfilter/ipset/ip_set_core.c:1414 call_ad() error: 'nlh->nlmsg_len' from user is not capped properly The payload size is limited now by the max size of size_t. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 1030f9fe65602465a89beaa05c3343cf9fd68a88 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 11:25:54 2014 +0530 ath9k: Fix primary station configuration Assign 'primary_sta' to the active primary station interface after iterating over the list of interfaces. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit af87dd33a17151f46ae50a564a799f9ea9397539 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 11:25:53 2014 +0530 ath9k: Remove useless opmode check The opmode is verified to be NL80211_IFTYPE_STATION before calling ath9k_set_assoc_state(). Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4ee26de18d267170fe44ecb6cc4bafaa218b26e3 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 11:25:52 2014 +0530 ath9k: Set offchannel state properly When switching offchannel, BSS related information in the HW has to be reset to default values. Add a routine to do this. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7f30eac9938daf12e34334c8eb1f8fba37fc7ace Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 11:25:51 2014 +0530 ath9k: Check beaconing mode properly In MCC mode, the TSF of a context needs to be adjusted only if it is GO/AP. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a2b28601503e8d0586d207732a0e8de90e6ce05b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Mon Sep 15 11:25:50 2014 +0530 ath9k: Remove unnecessary tbtt assignment The next_tbtt variable in the scheduler is needed only for GO/AP mode operation and is always read from the NEXT_TBTT_TIMER in the HW. There is no need to store the timestamp for received beacons. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4214852ea157bdae39c2dca64f1a09aa7dbb1d00 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Sep 14 23:09:12 2014 +0200 b43: add support for setting the beacon listen interval Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 0996c3910b8de402c319495c9560f3a909c8b866 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Sep 14 23:09:11 2014 +0200 b43: update some transmit header constants Some constants were missing and are added now. The rate mode was renamed, at least the ucode in brcsmac uses 2 for HT rates (iee80211n) and the more recent ucodes are using 3 for VHT (ieee80211ac). Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 30adb4d7a96d3e72447ed092e36e89ba3a6ab391 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Sep 14 23:09:10 2014 +0200 b43: add missing rate The OFDM reate 9MB was not set here Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 261b758ba6203da967f0927ec31617c9f22dbdaa Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Sep 14 23:09:09 2014 +0200 b43: tell ucode the phy type and version Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5eb3645e0f35e8e12a82b055ea1204ae322d2a19 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Sun Sep 14 23:09:08 2014 +0200 b43: tell the ucode the mac capabilities This is based on code form brcmsmac. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a43b5142ad7ae97a277e001cb352e509da451cb9 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Sun Sep 14 11:14:10 2014 +0300 fixup! wil6210: fix usage of print_hex_dump_debug Use empty inline functions instead of empty #define. Fix for "unused variable" as reported below: tree: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git master head: 167bf96dd87d2a8360cb9e9783006876dac4f579 commit: 871d8c4bbb0f23c29a21b63b1801071766f69b51 [45/62] wil6210: fix usage of print_hex_dump_debug config: i386-allyesconfig reproduce: git checkout 871d8c4bbb0f23c29a21b63b1801071766f69b51 make ARCH=i386 allyesconfig make ARCH=i386 All warnings: drivers/net/wireless/ath/wil6210/wmi.c: In function 'wmi_evt_rx_mgmt': >> drivers/net/wireless/ath/wil6210/wmi.c:341:10: warning: unused variable 'ie_len' [-Wunused-variable] size_t ie_len = d_len - offsetof(struct ieee80211_mgmt, ^ >> drivers/net/wireless/ath/wil6210/wmi.c:340:13: warning: unused variable 'ie_buf' [-Wunused-variable] const u8 *ie_buf = rx_mgmt_frame->u.beacon.variable; ^ vim +/ie_len +341 drivers/net/wireless/ath/wil6210/wmi.c 2be7d22f Vladimir Kondratiev 2012-12-20 334 2be7d22f Vladimir Kondratiev 2012-12-20 335 if (ieee80211_is_beacon(fc) || ieee80211_is_probe_resp(fc)) { 2be7d22f Vladimir Kondratiev 2012-12-20 336 struct cfg80211_bss *bss; 8eea944a Vladimir Kondratiev 2014-06-16 337 u64 tsf = le64_to_cpu(rx_mgmt_frame->u.beacon.timestamp); 8eea944a Vladimir Kondratiev 2014-06-16 338 u16 cap = le16_to_cpu(rx_mgmt_frame->u.beacon.capab_info); 8eea944a Vladimir Kondratiev 2014-06-16 339 u16 bi = le16_to_cpu(rx_mgmt_frame->u.beacon.beacon_int); 8eea944a Vladimir Kondratiev 2014-06-16 340 const u8 *ie_buf = rx_mgmt_frame->u.beacon.variable; 8eea944a Vladimir Kondratiev 2014-06-16 341 size_t ie_len = d_len - offsetof(struct ieee80211_mgmt, 8eea944a Vladimir Kondratiev 2014-06-16 342 u.beacon.variable); 8eea944a Vladimir Kondratiev 2014-06-16 343 wil_dbg_wmi(wil, "Capability info : 0x%04x\n", cap); 8eea944a Vladimir Kondratiev 2014-06-16 344 wil_dbg_wmi(wil, "TSF : 0x%016llx\n", tsf); :::::: The code at line 341 was first introduced by commit :::::: 8eea944af0efcdba09dac1ad220c9bfa68293279 wil6210: print more info about BSS found Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a38a9ef1c0647f9add53ab4b43660d3fbefaa36e Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Sep 13 22:38:29 2014 +0200 brcm80211: use container_of to resolve dma_info from dma_pub Use container_of instead of casting first structure member. Compiled but untested. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d68e9f5d8549f37332a7ec810d2864b793219845 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Sep 13 22:38:28 2014 +0200 brcm80211: use container_of to resolve brcms_phy from brcms_phy_pub Use container_of instead of casting first structure member. Compiled but untested. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5eef40e5687da4ad0123e231e4fe952a12655f0b Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Fri Sep 12 15:50:58 2014 -0500 rtlwifi: btcoexist: Change local debugging macros CL_*** into the standard varieties Macros CL_SNPRINTF and CL_PRINTF are always used in that order. The first formats info into a buffer, and the second dumps it with printk. As the debug system in rtlwifi has a macro that does this with a single call, it seems reasonable to use it instead. An additional benefit is that the debug level can be set when loading the driver used by the wifi device. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 737f657f71b6e4bcb07478eb0a32eb92c80eaf4b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Sep 12 18:37:26 2014 +0200 b43: Implement PHY PLL reset We should reset PLL after changing MAC frequency. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 50398ee03414228ba834a52aa4f203871a506b72 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:09:00 2014 +0530 mwifiex: modify TX/RX window sizes for AP interface This patch sets uAP BA window sizes to 64. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6e251174c77a28a4ebaad9be963843898b658039 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:59 2014 +0530 mwifiex: add rx workqueue support This patch adds RX work queue support to mwifiex. Packets received are queued to internal queue which are then processed by scheduling a work item for RX process. RX work is enabled only on SMP systems. Reviewed-by: James Cameron <quozl@xxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d8d91253ba11bb6e98105c2bc88a40d08fac06ff Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 12 20:08:58 2014 +0530 mwifiex: remove low priority scan handling We have a logic in driver to delay or abort low priority scan to serve Tx traffic effectively. With scan channel gap support added, firmware now allows driver to send Tx data while scan operation is in progress. Hence low priority scan handling in driver is not required now. This patch removes related code. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 971a73f5523ea0512267949bd6ae3f68b9f3431f Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 12 20:08:57 2014 +0530 mwifiex: remove redundant variable report_scan_result This variable is never used, get rid of it. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5ec39efa16036c8291d2d81282280213c2c16ad1 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:56 2014 +0530 mwifiex: process TX even when scan is ongoing With channel scan gap, FW comes back to connected channel after each single channel scan. So we can safely transfer data to FW during scan. FW would send this data once on connected channel. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 97010cf8dfe5ca2d9f5d8d32a0e1f25246f852ea Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:55 2014 +0530 mwifiex: remove restriction of single channel scan when connected With scan channel gap in place, FW comes back to connected channel after each scan; so we dont need to restrict FW to scan single channel while connected. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit cb91be87e12c079fcf25069a21123756c0931dd6 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:54 2014 +0530 mwifiex: bring in scan channel gap feature With scan channel gap when any station/AP is active, FW comes back to connected channel for any pending data transfter after scanning each channel. We set scan channel gap TLV to FW in scan command when any of the interface is active. This enables scan channel gap in FW. Also when scan channel gap is enabled, we would scan maximum channels allowed by FW. Scan channel gap is supported only on FW with V15 FW API. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a9c1c89eea11884243825d473fd3991d943ffc65 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:53 2014 +0530 mwifiex: set passive scan type for scan requests with no ssid It was observed that station would sent probe request even when scan type has been set as passive during iw scan. This was happening because driver sets passive scan type only when channel has IEEE80211_CHAN_NO_IR flag set. Along with this, add condition to check if no ssids are specified in scan request so as to mark such scan request passive. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c48ba040acb81bc37ead17cae23fe3d9b3c08474 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 12 20:08:52 2014 +0530 mwifiex: minor cleanup in multiport aggregation 'mp_data_port_mask' and 'mp_end_port' gives correct information even for the chipsets supporting SDIO new mode (32 ports). We will get rid of this chip specific handling. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Bing Zhao <bzhao@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c7346c3231e9b8e530ab7b73796066f7bf60b240 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Fri Sep 12 20:08:51 2014 +0530 mwifiex: fix a bug in Tx multiport aggregation When aggregation port limit is reached, we stop aggregation and the data is sent to firmware. It is observed that one less packet than the port limit is aggregated in this case. ex. 15 instead of 16. The reason is we have redundant port limit checks before current packet is added to aggregation buffer. The issue is fixed by removing these checks. We already have necessary check in precopy current buffer handling. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Bing Zhao <bzhao@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a659c4306b3d8de0be218ad47ee92eae31d5b0dd Author: Xinming Hu <huxm@xxxxxxxxxxx> Date: Fri Sep 12 20:08:50 2014 +0530 mwifiex: fix 5G association failure after leaving 2.4G IBSS When assocaiting to an AP , mwifiex set supported data rates based on target AP's capability. For 5G AP(11a mode), a/n/ac mode would possibly be set. However, for some chips which dont support 11AC mode current config_bands will be used instead. For example, if we join an IBSS in 11b mode ,adapter->config_bands will be set to 1(11b mode). Then we leave IBSS ,and try to connect 5G a/n mode AP. At this time , only 11b mode data rates will be supported in assoc request , which result in assoc failure with reason code 18: Association denied due to requesting station not supporting all rates. This patch fix such a cornel case, by adding additional check for current chip's 11ac capability. Reported-by: Andreas Fenkart <afenkart@xxxxxxxxx> Signed-off-by: Xinming Hu <huxm@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2703a66865eb3a5b422749281371e9eefa8658c4 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:49 2014 +0530 mwifiex: support for event done interrupt This patch adds support for writing CPU event interrupt done back to device. Patch also increases interrupt buffer ring size from 4 to 8. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3223db2086c987d4527fdaa487a027b0148e9692 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:48 2014 +0530 mwifiex: rework internal scan for association There was an issue with internal scan during association wherein we would complete internal scan on first scan command response. This would cause association failure if AP is not found in first scan response e.g. APs from A band. This patch fixes this issue by completing internal scan only when all scan commands from scan pending queue and command pending queue are sent to FW and response to last scan command is received. Tested-by: Xinmin Hu <huxm@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 42a028aa952b66a039ee8c0a08ff4e3658246269 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:47 2014 +0530 mwifiex: avoid processing RX packets with invalid length If rx_len received in interface header from FW is more than RX buffer size, skb_put for such length results into skb_panic. Avoid this by not processing such packets. We just print a warning for such packets and free skb. Reviewed-by: Paul Stewart <pstew@xxxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Bing Zhao <bzhao@xxxxxxxxxxx> Signed-off-by: Marc Yang <yangyang@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3c99832d74777c9ec5545a92450fac5d37b0d0e1 Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:46 2014 +0530 mwifiex: fix probable memory corruption while processing TDLS frame Size of RSN IE buffer in driver is 254 while maximum size of received buffer to be copied to RSN IE buffer can be 255. Add boundary check to copy maximum of 254 bytes into RSN IE buffer. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4721c63b929b13bce6860dc8ec068f86efcab2ea Author: Avinash Patil <patila@xxxxxxxxxxx> Date: Fri Sep 12 20:08:45 2014 +0530 mwifiex: set fw api info for backword compatibility If we dont set FW API info here, for older FW releases where FW API is not available in GET_HW_SPEC, API version would remain 0. This may cause issues with 11ac if older FW is used with newer driver. Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5effb73c529c5d66eecd541d30470b11cc58c64f Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Sep 12 10:24:11 2014 +0200 b43: HT-PHY: Update values for frequency calibration Previous values were extracted from MMIO dump of some old 5.x driver, new ones should improve calibration. This also adds values for 5 GHz. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1f21de53ac8651b1a3e79576f1adf00aabecd052 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Sep 12 10:24:10 2014 +0200 b43: HT-PHY: Implement band switching It works pretty much the same way as in N-PHY. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 48bf43fad76eb656f55bff3e3febe91578f1afe3 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 12 12:10:48 2014 +0530 ath9k: Fix beacon processing in offchannel When interfaces of different types are present in a context and an offchannel request is received on a STA interface, we end up trying to process beacons received when we are offchannel. This hits the below warning since offchannel will not have proper beacon parameters. Fix this by not processing beacons received when we are offchannel. ------------[ cut here ]------------ WARNING: CPU: 1 PID: 0 at ../drivers/net/wireless/ath/ath9k/recv.c:552 ath_rx_tasklet+0xf8f/0x1020 [ath9k]() CPU: 1 PID: 0 Comm: swapper/1 Tainted: G O 3.17.0-rc4-wl-debug #16 Hardware name: LENOVO 28427ZQ/INVALID, BIOS 6JET58WW (1.16 ) 09/17/2009 0000000000000000 15916787056abba3 ffff88013b603d08 ffffffff8156af94 ffff88013b603d50 ffff88013b603d40 ffffffff81070dbd ffff8800a84bb300 ffff8800b05db358 ffff8800a84cc578 ffff8800a84bb300 ffff8800b05daa40 Call Trace: <IRQ> [<ffffffff8156af94>] dump_stack+0x4d/0x6f [<ffffffff81070dbd>] warn_slowpath_common+0x7d/0xa0 [<ffffffff81070e3c>] warn_slowpath_fmt+0x5c/0x80 [<ffffffff81572143>] ? _raw_spin_lock_irqsave+0x83/0xa0 [<ffffffffa09d04a6>] ? ath_rx_tasklet+0x9f6/0x1020 [ath9k] [<ffffffffa09d0a3f>] ath_rx_tasklet+0xf8f/0x1020 [ath9k] [<ffffffffa09cd4f4>] ath9k_tasklet+0xf4/0x310 [ath9k] [<ffffffff81075a97>] tasklet_action+0xe7/0xf0 [<ffffffff8107508a>] __do_softirq+0x12a/0x340 [<ffffffff8107544e>] irq_exit+0x9e/0xc0 [<ffffffff81575e56>] do_IRQ+0x56/0xe0 [<ffffffff81573c72>] common_interrupt+0x72/0x72 <EOI> [<ffffffff81421037>] ? cpuidle_enter_state+0x67/0x1a0 [<ffffffff81421257>] cpuidle_enter+0x17/0x20 [<ffffffff810b3ebe>] cpu_startup_entry+0x3ce/0x420 [<ffffffff81048563>] start_secondary+0x233/0x2c0 ---[ end trace f15c3e33ba78d840 ]--- ------------[ cut here ]------------ Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6b5447ce630cdc231caf4f958325f8fa925216bf Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 11 19:02:10 2014 -0500 rtlwifi: btcoexist: avoid format string in printk Recent changes to this driver inadvertently reverted the change made by Kees Cook in commit 6437f51ec3. Reported-by: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4307b0fe22f4641530bc24066dc432e3f1125459 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Sep 11 23:50:54 2014 +0200 ath9k: fix radar parameters initialization Move ath9k_hw_set_radar_params() in ath9k_hw_reset() in order to avoid AR_PHY_RADAR registers are overwritten after hw reset Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 62c5afb8e388eae4e54f1ad415c1a1bc745c8b08 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 5 17:30:16 2014 +0300 hostap: proc: substitute loops by %*phN For dumping small buffers we may use %*phN specifier instead of custom approach.. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1186b623c2b04ae8c963c36f1dbcc159a6c99f60 Merge: 6bd2bd2 9a783a1 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Sep 15 14:55:45 2014 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 6bd2bd27baf12fa0f2e6d611509fc0e1bffb0f97 Merge: eb2eacf 0d8614b Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Sep 15 14:51:23 2014 -0400 Merge tag 'mac80211-next-for-john-2014-09-12' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg <johannes@xxxxxxxxxxxxxxxx> says: "This time, I have some rate minstrel improvements, support for a very small feature from CCX that Steinar reverse-engineered, dynamic ACK timeout support, a number of changes for TDLS, early support for radio resource measurement and many fixes. Also, I'm changing a number of places to clear key memory when it's freed and Intel claims copyright for code they developed." Conflicts: net/mac80211/iface.c Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 437024067ac1fbda7bb3a795e75922f9034672fb Merge: 13bb518 b3d6cb9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 15 14:41:12 2014 -0400 Merge branch 'tcpflags' Eric Dumazet says: ==================== tcp: no longer keep around headers in input path Looking at tcp_try_coalesce() I was wondering why I did : if (tcp_hdr(from)->fin) return false; The answer would be to allow the aggregation, if we simply OR the FIN and PSH flags eventually present in @from to @to packet. (Note a change is also needed in skb_try_coalesce() to avoid calling skb_put() with 0 len) Then, looking at tcp_recvmsg(), I realized we access tcp_hdr(skb)->syn (and maybe tcp_hdr(skb)->fin) for every packet we process from socket receive queue. We have to understand TCP flags are cold in cpu caches most of the time (assuming TCP timestamps, and that application calls recvmsg() a long time after incoming packet was processed), and bringing a whole cache line only to access one bit is not very nice. It would make sense to use in TCP input path TCP_SKB_CB(skb)->tcp_flags as we do in output path. This saves one cache line miss, and TCP tcp_collapse() can avoid dealing with the headers. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3d6cb92fd190d720a01075c4d20cdca896663fc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 15 04:19:53 2014 -0700 tcp: do not copy headers in tcp_collapse() tcp_collapse() wants to shrink skb so that the overhead is minimal. Now we store tcp flags into TCP_SKB_CB(skb)->tcp_flags, we no longer need to keep around full headers. Whole available space is dedicated to the payload. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e93a0435f809d009919a743fb6e93076faac8aa7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 15 04:19:52 2014 -0700 tcp: allow segment with FIN in tcp_try_coalesce() We can allow a segment with FIN to be aggregated, if we take care to add tcp flags, and if skb_try_coalesce() takes care of zero sized skbs. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e11ecddf5128011c936cc5360780190cbc901fdc Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 15 04:19:51 2014 -0700 tcp: use TCP_SKB_CB(skb)->tcp_flags in input path Input path of TCP do not currently uses TCP_SKB_CB(skb)->tcp_flags, which is only used in output path. tcp_recvmsg(), looks at tcp_hdr(skb)->syn for every skb found in receive queue, and its unfortunate because this bit is located in a cache line right before the payload. We can simplify TCP by copying tcp flags into TCP_SKB_CB(skb)->tcp_flags. This patch does so, and avoids the cache line miss in tcp_recvmsg() Following patches will - allow a segment with FIN being coalesced in tcp_try_coalesce() - simplify tcp_collapse() by not copying the headers. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb2eacf77ec4828c9a2e451b06bc6fc44266f4c0 Merge: 167bf96 f991e17 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Sep 15 14:37:07 2014 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit 13bb5180e82349d9fcfa11cd17b3c1e7b558a902 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 19:34:47 2014 +0200 net: ethernet: neterion: vxge: vxge-main.c: Cleaning up missing null-terminate in conjunction with strncpy Replacing strncpy with strlcpy to avoid strings that lacks null terminate. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 949bdd208325a5a947135ed4f8e6df0aa18aae89 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 19:32:42 2014 +0200 net: ethernet: freescale: fec_main.c: Cleaning up missing null-terminate in conjunction with strncpy Replacing strncpy with strlcpy to avoid strings that lacks null terminate. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a9c43bed891d1f8d639c69893ee194f5700d0b2 Author: Jon Masters <jcm@xxxxxxxxxx> Date: Tue Aug 26 21:23:38 2014 +0100 setup: Move unmask of async interrupts after possible earlycon setup The kernel wants to enable reporting of asynchronous interrupts (i.e. System Errors) as early as possible. But if this happens too early then any pending System Error on initial entry into the kernel may never be reported where a user can see it. This situation will occur if the kernel is configured with CONFIG_PANIC_ON_OOPS set and (default or command line) enabled, in which case the kernel will panic as intended, however the associated logging messages indicating this failure condition will remain only in the kernel ring buffer and never be flushed out to the (not yet configured) console. Therefore, this patch moves the enabling of asynchronous interrupts during early setup to as early as reasonable, but after parsing any possible earlycon parameters setting up earlycon. Signed-off-by: Jon Masters <jcm@xxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit fe184066abda9de114a80db24f1496ee6c31d1af Author: Mark Charlebois <charlebm@xxxxxxxxx> Date: Mon Sep 15 06:30:15 2014 +0100 arm64: LLVMLinux: Fix inline arm64 assembly for use with clang Remove '#' from immediate parameter in AARCH64 inline assembly in mmu. This code now works with both gcc and clang. Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 17b6f244483a6799e43f9af649a2eb94fa1502ec Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Sep 13 22:38:27 2014 +0200 bna: use container_of to resolve bufdesc_ex from bufdesc Use container_of instead of casting first structure member. Compiled but untested. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61cd2ebb35dcf1990f66af76649260a79ae4cb15 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Sat Sep 13 22:38:26 2014 +0200 net: fec: use container_of to resolve bufdesc_ex from bufdesc Use container_of instead of casting first structure member. ARM cross-compiled but untested. Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8c0e057b4898055b24b44d03b837a15d8b93b37 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Sep 15 18:40:45 2014 +0200 USB: serial: remove zte_ev driver The zte_ev driver is based on code (once) distributed by ZTE that still appears to originally have been reverse-engineered and bolted onto the generic driver. A closer analysis of the zte_ev setup code reveals that it consists of standard CDC requests (SET/GET_LINE_CODING and SET_CONTROL_LINE_STATE) but unfortunately fails to get some of those right. In particular, as reported by Lei Liu, it fails to lower DTR/RTS on close. It also appears that the control requests lack the interface argument. Since line control is already handled properly by the option driver, and the SET/GET_LINE_CODING requests appears to be redundant (amounts to a SET 9600 8N1) let's remove the redundant zte_ev driver. Also move the remaining ZTE PIDs to the generic option modem driver. Reported-by: Lei Liu <liu.lei78@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 4b7154ba70bb20a3c024faabdd2bc207b550a813 Merge: adceac1 9e82bf0 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Sep 15 18:07:37 2014 +0200 Merge tag 'v3.17-rc5' into usb-next USB fixes in Linux 3.17-rc5 are needed to build on top of for 3.18. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit b052ff30cd450c91a32e8e928979bca021462996 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 18:12:35 2014 +0200 ARM: at91: PIT: Move the driver to drivers/clocksource Now that we don't depend on anyting in the mach-at91 directory, we can just move the driver to where it belongs. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Conflicts: arch/arm/mach-at91/Kconfig arch/arm/mach-at91/Makefile commit 7d80335e29701e9c2cc55ec0ea79afe6351aa20b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 15 16:02:24 2014 +0200 ARM: at91: Give the PIT irq as an argument of at91sam926x_pit_init This allows to remove the dependency of the timer driver on mach/hardware.h and having an hardcoded interrupt number in the driver itself. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 6970c34cea87ad54aab84e743970b84b1fdf1c7d Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 15 11:03:36 2014 +0300 MAINTAINERS: add maintainer for generic 6LoWPAN Add Jukka to 6LoWPAN maintainer list. He will concentrate on generic and bluetooth part of 6LoWPAN stack. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Acked-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 941a74ca9e666595910751f4187797d5e1424565 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 15 15:22:02 2014 +0200 ALSA: Update document about PCM nonatomic ops Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 3b73cfe5598eda7f5540608acd63b86688242731 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 10 14:58:59 2014 +0200 ALSA: pdaudiocf: Use nonatomic PCM ops Like other fixes, convert the tasklet to a threaded irq and replace spinlock with mutex appropriately. ak4117_lock remains as spinlock since it's called in another spinlock context from ak4117 driver. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 6336c20cdaee1dd13d01dfa8c07ce3b18bbc846f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 10 14:01:05 2014 +0200 ALSA: lx6464es: Use nonatomic PCM ops Like the other previous changes, this patch for lx6464es takes the same strategy for converting to nonatomic PCM ops: replacing spinlock with mutex, converting the irq tasklet to the threaded irq, and merging the trigger tasklets back to the trigger callback. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9bef72bdb26e291d6dffb04768741a0e49582666 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 10 12:21:38 2014 +0200 ALSA: pcxhr: Use nonatomic PCM ops This time PCXHR, another Digigram boards: like the previous patches, the conversion is straightforward, replacing spinlocks with mutexes, merging the irq tasklet into the threaded irq handler and the PCM trigger tasklet back to the trigger callback. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8d3a8b5cb57da4e327bdaf7c81a90d4105b73205 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Wed Sep 10 11:48:07 2014 +0200 ALSA: mixart: Use nonatomic PCM ops Like the previous patch for VX boards, miXart device driver can be also rewritten to use nonatomic PCM ops. Simply spinlocks are replaced with mutex, the tasklet code is merged into the threaded irq handler. Also, now mgr->msg_mutex is superfluous, so merged to msg_lock. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit db0a5214b8d6cc7a90ce3336d24a85b90cbb4e67 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Sep 9 17:17:20 2014 +0200 ALSA: vx: Use nonatomic PCM ops Rewrite VXpocket and VX222 drivers to use the new PCM nonatomic ops. The former irq tasklet is replaced with a threaded irq handler, and the tasklet for the PCM delayed start is simply merged into the normal PCM trigger, as well as the replacement of spinlock with mutex. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit cc2a9071458254cb0db6153811734750da0233ea Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 21:29:05 2014 +1000 drm/gt214-/disp: enable dp audio Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d889c52427d48c05f163f2f39b2cfc12e17e5266 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 21:11:51 2014 +1000 drm/gt214-/kms: fix hda eld regression Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9506140f425da42d919ea58307c8e83b78961dae Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 15:55:56 2014 +1000 drm/g94-/disp: calculate some dp audio constants NVIDIA appear to have tweaked the algorithm from GF110, this implements the previous algorithm for them still. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3eee8646c119db9c12f4fe66dc275093abd84555 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 15:20:47 2014 +1000 drm/gt214-/kms: perform hda codec setup on displayport too Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a522946174b5ae389af0856c422d865a63c70316 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 15:15:09 2014 +1000 drm/gk104-/disp: infoframe registers moved yet again on kepler Thanks to Vincent Pelletier for pointing this out and providing a proof of concept patch on the list. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c378eb746167e0e96e9a2da72781c0d409a8d94e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 15 12:30:08 2014 +1000 drm/nouveau/bios: parse older ramcfg/timing data like we do newer ones Done after discussion with Roy. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a407318913b11362e10d0948ae82de6edaf98a9e Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 12 18:00:16 2014 +0200 drm/nva3/fb/ram: Per-partition regs Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 930da220bf39372587af867ae6543d0205b8b66e Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 12 18:00:15 2014 +0200 drm/nouveau/fb/ram: Support strided regs Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit de1c4e281bda1b069b72a0b7fa2ab6fed585c70c Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 12 18:00:14 2014 +0200 drm/nv50/fb/ram: Store the number of partitions in the designated fields Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 1dce6264045cd23e9c07574ed0bb31c7dce9354f Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 12 18:00:13 2014 +0200 drm/nv50/kms: Set VBLANK time in modeset script Solves blinking on reclocking memory. The value set is an underestimate, but with non-reduced vblanking this should give us plenty of time Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a7fa6744cd8333a414b5f3bfe4de647d787102e Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 12 18:00:12 2014 +0200 drm/nouveau/bios: Add rammap support for version 1.0 Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7a2f9743eab19b67688ff8cd491cf531e7516b8d Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Sep 11 23:32:20 2014 +1000 drm/gf100-/pwr/memx: block host and fifo around reclock Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 30da08069726fc4ca0ef5590b897dc5a017edbc9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Sep 11 23:04:22 2014 +1000 drm/nouveau/pwr/memx: fix command ordering around block/unblock Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 630a6a466b5afff0ec5824e6f62e5dba15812256 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Thu Sep 11 22:59:13 2014 +1000 drm/nouveau/pwr/memx: rename fb off/on to block/unblock More accurate as to the function of the opcodes. Not only is FB disabled, but the host is prevented from touching the GPU. An upcoming patch for Kepler will also halt PFIFO (as NVIDIA does). Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2fe7eaa0d4c9cf26b379a8054a87c4bf7ac4dc12 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Aug 29 12:27:42 2014 +0200 drm/nva3/clk: Pause the GPU before reclocking V2: always call post correctly even if pre fails V3: move function prototype to nva3.h Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> commit b485a7005faba38286bc02ab1d80e2cbf61c1002 Author: Emil Velikov <emil.l.velikov@xxxxxxxxx> Date: Mon Sep 8 20:27:57 2014 +0100 drm/nouveau/gpio: rename g92 class to g94 nv92 hardware has only 16 interrupt lines, while nv94 and later has 32. Accessing 0xe0c{0,4} registers on nv92 can lead to incorrect PDISP setup. This is a regression introduced with commit 9d0f5ec9ee0fd5dc5fc1cc2cf559286431e406e3 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon May 12 15:22:42 2014 +1000 gpio: split g92 class from nv50 Reported-by: estece on #nouveau Cc: stable@xxxxxxxxxxxxxxx # 3.16+ Signed-off-by: Emil Velikov <emil.l.velikov@xxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6cc406157d9e031aca2d3a3dd8566c74b1f0d680 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 15:21:48 2014 +1000 drm/gk104-/fb/ram: move fb enable/disable to same place as nvidia Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b6f97a089b6d0e7463a5062fb29a002fc9b1d025 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Sep 3 16:26:20 2014 +1000 drm/gk104/fb/ram: twiddle some more bits when reclocking *when* this is done is only a rough approximation of what the binary driver does.. need to investigate more to see if it matters Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 5af430abdf2df5c9e80ca0cdeca389123151ac9c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Sep 3 16:25:47 2014 +1000 drm/nouveau/bios: parse another large chunk of random memory config data Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 91e4611ddc97c13ee66edfcd94974e6450d03726 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 14:41:26 2014 +1000 drm/gk104-/fb/ram: perform certain steps only when bios data differs Awful, awful. But, on the GK106 I have, some upcoming patches show that this is actually necessary after all. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d26e74895f500a67091d6e93814f4889b94ce7ff Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 13:29:04 2014 +1000 drm/gk104-/fb/ram: parse ramcfg data for all frequencies up-front Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 64804a6d513cba428ed0e9b5cac8967e4c24a180 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 13:38:02 2014 +1000 drm/gk104-/fb/ram: use parsed timing data in mr routines All the other chipsets should be moved over to this too. It's not needed yet for the upcoming commits, so left this step as it'll conflict badly with Roy's GT21x reclocking work. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d9b5f261db53db32d528698fa2330f6cda1a6292 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 12:48:31 2014 +1000 drm/nouveau/bios: parse freq ranges and timing id into ramcfg struct Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 595d373f1e9c9ce0fc946457fdb488e8a58972cd Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 8 10:33:32 2014 +1000 drm/nouveau/bios: memset dcb struct to zero before parsing Fixes type/mask calculation being based on uninitialised data for VGA outputs. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6b07c6cfd1530e39a6e5e81e63b59953b3f35eea Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Wed Sep 3 12:40:04 2014 +1000 drm/gk104/fb/ram: make use of training data provided by vbios Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 43b6b2029eb2174ad8ce8a7be89a4a4499d67e8f Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 1 15:42:45 2014 +1000 drm/nouveau/bios: add support for parsing table at BIT 'M' v2 + 0x09 Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 7500bb7eb417d432cdb57643d813c122ee8c43c0 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 1 15:33:14 2014 +1000 drm/nouveau/bios: add support for parsing table at BIT 'M' v2 + 0x05 Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 299dea4e0ef46b263d1d24dfb7ff62e56a8a396e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 1 11:15:21 2014 +1000 drm/gk104/fb/ram: fix register for second set of training data Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a6a4df96104f8db36e2365aabbfeb94653227cac Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 1 10:48:39 2014 +1000 drm/gk104/fb/ram: more random magic in fb init Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4cc6c3fe391b9a5869e3ca08f3619963064f079c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Sep 1 10:44:57 2014 +1000 drm/gk104/fb/ram: skip table entry for mode we're already in NVIDIA binary driver appears to, not sure if it's for a good reason, but grasping at straws for some GDDR5 reclocking issues here. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 50c4088313aa15e59a7a02645207599e6cdc9e91 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Fri Sep 5 02:41:46 2014 +0200 drm/nouveau/fb/sddr2: Generate MR values V2: Always disable DLL reset Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9c870007e9ec9a6203eaff41d3360493cc2b8d2f Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Sep 4 16:58:54 2014 +0200 drm/nouveau/fb/sddr3: Expand MR generation Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 941844327cc0e96b95ce9ad11bd3b0d539eff52d Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Sep 4 16:58:53 2014 +0200 drm/nva3/pwr/memx: Match blob's fb access behaviour Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6778911b2079809f2c0ab589380069307eb5076e Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Sep 4 16:58:52 2014 +0200 drm/nouveau/pwr/memx: Return debugging information Time measured from disabling FB to re-enabling, PPWR_IN reveals status of heads at the end of script. Helps debug various issues (like flicker). Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d93e996aed6e48c87dc5703a21b0e9368d4cc1f9 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Sep 4 16:58:50 2014 +0200 drm/nouveau/pwr/memx: Make FB disable and enable explicit Needs to be done after wait-for-VBLANK, and NVA3 requires register writes in between. Rather than hard-coding register writes, just split out fb_disable and fb_enable. v2. Squashed "fb/ramnve0: disable fb before reclocking" Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e1a6f7da9a8ec981c644e31de4a354cd95924df0 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Sep 4 16:58:49 2014 +0200 drm/nva3/pwr/memx: Implement "wait for VBLANK" Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3a405258b2baa71e8f042f0b55392d40e3f99f3e Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 24 23:15:11 2014 +0200 drm/nouveau/therm/nv84+: do not expose non-calibrated internal temp sensor Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit c5b4865e20d47b7ebc1ad78602b744e0b4307224 Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 24 23:15:10 2014 +0200 drm/nouveau/therm: make sure the temperature settings are sane on nv84+ One of my nv92 has a calibrated internal sensor but it displays 0°C as the default values use sw calibration values to force the temperature to 0. Since we cannot read the temperature from the adt7473 present on this board, let's re-enable the internal reading! Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3ca6cd435effd1d762217529baaab010f34f8cc8 Author: Martin Peres <martin.peres@xxxxxxx> Date: Tue Aug 26 00:26:38 2014 +0200 drm/nouveau/subdev: add a pfuse subdev v2 We will use this subdev to disable temperature reading on cards that did not get a sensor calibration in the factory. v2: - rename "nouveau_fuse_rd32" to "gxXXX_fuse_rd32" as adviced by Christian Costa - fold the code a little as adviced by Emil Velikov Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3d40a7176d01ef35e5a3fd1508024c95b43b1130 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:17 2014 +0200 drm/nva3/clk: Set intermediate core clock on reclocking Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a749a1fb55b3c46a4f81137c2c1882774dc55296 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:16 2014 +0200 drm/nva3/clk: For PLL clocks always make sure the PLL is not in use Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 275dd6f48f9954df94ad15b4dc303fa7f820777c Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:15 2014 +0200 drm/nva3/clk: Abort when PLL doesn't lock Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 70c7995d12353542a951a5daa0b7a5c9e5a2869d Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:14 2014 +0200 drm/nva3/clk: HOST clock Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 6a4a47cfd1812f607b5536e9332ce85981d4c262 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:13 2014 +0200 drm/nva3/clk: Set PLL refclk Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 3d896d349e43b953e5278c49ab812435231d64b4 Author: Roy Spliet <rspliet@xxxxxxxxxx> Date: Thu Aug 21 13:45:12 2014 +0200 drm/nva3/clk: Parse clock control registers more accurately Signed-off-by: Roy Spliet <rspliet@xxxxxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 17eac85a8cf445387288db518719322562b5fb95 Author: Pierre Moreau <pierre.morrow@xxxxxxx> Date: Mon Aug 18 22:32:53 2014 +0200 drm/nouveau: Fix duplicate definition of NV04_PFB_BOOT_0_* Signed-off-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 703fa264b1c09ff9d0526553f5448fef77fda898 Author: Pierre Moreau <pierre.morrow@xxxxxxx> Date: Mon Aug 18 22:43:24 2014 +0200 drm/nouveau: Display Nouveau boot options at launch It can help to remove any ambiguity about which options were passed to Nouveau, especially in case the user had some options set in /etc/modprobe.d/*.conf that he forgot about, as they won't appear in a dmesg. Signed-off-by: Pierre Moreau <pierre.morrow@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a2410f5a0fcb6326fe8da41a4e8dcdc116436c74 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Aug 18 12:41:57 2014 +1000 drm/nouveau/pwr: wait for scrubbers to finish before uploading new ucode Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 4417be553c348540ec2c8acd423af2ec8e87cde5 Author: Martin Peres <martin.peres@xxxxxxxx> Date: Sun Aug 17 17:33:14 2014 +0200 drm/nouveau/pwr/fuc: make $r1-$r10 registers callee-saved in kernel.fuc Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b9fcf971bfd28bbc257794f5387c922efc12f7f4 Author: Martin Peres <martin.peres@xxxxxxxx> Date: Sun Aug 17 17:33:13 2014 +0200 drm/nouveau/pwr/fuc: add ld/st macros Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d5837df18c0700699dccdfd84f5eb94913b188c6 Author: Martin Peres <martin.peres@xxxxxxxx> Date: Sun Aug 17 17:33:12 2014 +0200 drm/nouveau/pwr: add helpers for delay-to-ticks and ticks-to-delay Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2befd17de2dff0238800ffa0b8364e2053f65e9f Author: Martin Peres <martin.peres@xxxxxxxx> Date: Sun Aug 17 17:33:11 2014 +0200 drm/nouveau/pwr: add some arith functions (mul32_32_64, subu64 and addu64) Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9db66fceace9811c4602785364b7e30f308cb9c7 Author: Martin Peres <martin.peres@xxxxxxxx> Date: Sun Aug 17 17:33:10 2014 +0200 drm/nouveau/pwr: fix the timers implementation with concurent processes The problem with the current implementation is that adding a timer improperly checked which process would time up first by not taking into account how much time elapsed since their timer got scheduled. Rework the re-scheduling decision t fix this. The catch with this fix is that we are limited to scheduling timers of up to 2^31 ticks to avoid any potential overflow. Since we are unlikely to need to wait for more than a second, this won't be a problem :) Another possible fix would be to decrement the timeouts of all processes but it would duplicate a lot of code and dealing with edge cases wasn't pretty last time I checked. Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2a5e5fa7345d06e0e92d6c8bdb87415c3ca9b683 Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 17 17:33:09 2014 +0200 drm/nouveau/ppwr: enable ppwr on gm107 For some reason, it is now required to wait a 20 µs after the 0x200 reset of the engine. Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 808a188a33a3342737bc389afad9d13fd900ff67 Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 17 17:33:08 2014 +0200 drm/gm107/therm: add PWM fan support v2 v2: change the copyright ownership from "Nouveau Community" to myself, as per Illia's recommendation. Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 90a2c1aaa2855b43d35310b41b13357f25517771 Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 17 17:33:07 2014 +0200 drm/nouveau/therm/fan: do not use the pwm mode when the vbios tells us to use toggle Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 288c17bd9e959a32cfd8c3aec96410579cb9dccc Author: Martin Peres <martin.peres@xxxxxxx> Date: Sun Aug 17 17:33:06 2014 +0200 drm/nouveau/bios/fan: add support for maxwell's fan management table v2 Re-use the therm-exported fan structure with only two minor modifications: - pwm_freq: u16 -> u32; - add fan_type (toggle or PWM) v2: - Do not memset the table to 0 as it erases the pre-set default values Signed-off-by: Martin Peres <martin.peres@xxxxxxx> Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e0ae67982305f425b751291bbac3ea5b58d4b0a7 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 15:16:16 2014 +1000 drm/nouveau/ltc: allocate tagram from memory that spans all partitions Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 65270a6569710b42f5ab2073c1cc91fb90189eaa Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 14:30:52 2014 +1000 drm/nouveau/core/mm: allow allocation to be confined to a specific slice of heap Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 13dfe1286d1ea1af4c9330b039c2316d0d92c484 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 13:54:37 2014 +1000 drm/nouveau/core/mm: fill in holes with "allocated" nodes The allocation algorithm doesn't expect there to be holes in the mm, which causes its alignment/cutoff calculations to choke (and go negative) when encountering the last chunk of a block before a hole. The least expensive solution is to simply fill in any holes with nodes that are pre-marked as being allocated. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d7bda18c9102b65078c132fd7d7ffd835058f021 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 14:48:28 2014 +1000 drm/nouveau/core/mm: dump mm when trying to tear one down that still has allocations Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d979ab975ecdb336ed4da77a808be813a293b59e Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 13:40:42 2014 +1000 drm/nouveau/core/mm: modify test for if building a mm with holes in it Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 79456e1a10d5f4e708822287ed0e97af469bf49b Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 11:16:58 2014 +1000 drm/nouveau/core/mm: make it clearer what (type == 0) means Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit a1fc50b4a5dde430c394f97b59c0e723628f637c Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 10:22:31 2014 +1000 drm/gf100/ltc: translate interrupt status into more meaningful names Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9ea97ff8270ab44770109935028fc239e5c02841 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Tue Aug 12 10:01:13 2014 +1000 drm/nouveau/ltc: drop workaround for an interrupt storm that no longer happens This is really the wrong thing to do, but at the time it was our only option to prevent worse issues. We no longer cause quite so much anger from LTC, so it's not needed. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit b38a2322df62dbcd423d3e329f401eb14c1f0e4a Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Aug 11 14:38:10 2014 +1000 drm/nv50-/disp: add support for completion events Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 996f5a08235b27a7adcd01fe2b3f79e2f0f20ced Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Aug 11 13:56:56 2014 +1000 drm/nouveau/core: pass related object into notify constructor The event source types/index might need to be derived from it. Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit e94654e21d2a25ab331c91ad26a573dc7514f7b9 Author: Ben Skeggs <bskeggs@xxxxxxxxxx> Date: Mon Aug 11 12:23:23 2014 +1000 drm/nouveau/bar: ioremap only the areas that we're actually using Signed-off-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2d34056d27687180c0bab7dc40957a40d7ce0140 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Aug 19 17:10:46 2014 -0400 ppc4xx_edac: Fix build error caused by wrong member access Fix the following error drivers/edac/ppc4xx_edac.c:977:45: error: request for member 'dimm' in something not a structure or union by changing member access to pointer dereference. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408482646-22541-1-git-send-email-bobby.prani@xxxxxxxxx CC: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit fb4562b20894444288152e6de67c28adac6c789d Author: Nitesh Narayan Lal <b44382@xxxxxxxxxxxxx> Date: Mon Sep 1 15:00:44 2014 +0530 crypto: caam - Dynamic allocation of addresses for various memory blocks in CAAM. CAAM's memory is broken into following address blocks: Block Included Registers 0 General Registers 1-4 Job ring registers 6 RTIC registers 7 QI registers 8 DECO and CCB Size of the above stated blocks varies in various platforms. The block size can be 4K or 64K. The block size can be dynamically determined by reading CTPR register in CAAM. This patch initializes the block addresses dynamically based on the value read from this register. Signed-off-by: Ruchika Gupta <r66431@xxxxxxxxxxxxx> Signed-off-by: Nitesh Narayan Lal <b44382@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 077147a3055efbaafd624aa297f4284d0996b3f2 Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Sun Sep 14 11:56:39 2014 -0400 HID: sony: Update file header and correct comments Update the file header and correct an outdated comment block. Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit fb291cbd3f9f7bd5873f112a6924b650440779c6 Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Sun Sep 14 11:56:38 2014 -0400 HID: sony: Corrections for the DualShock 4 HID descriptor Fix a few minor issues in the HID descriptor: - A 6 bit entry had a logical maximum of 255 when the largest it can be is 63. - A logical max value was incorrectly being set to -1 instead of 255. - Set the min/max of the gyroscopes to -8192/8191 as that is the range of values which represent the true controller orientation. Any values beyond those extents are just noise. Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 19524f7c59c19854caf5b82d89bc558e38da5790 Merge: 98faa78 d0fa1af Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Mon Sep 15 19:55:55 2014 +1000 Merge tag 'topic/core-stuff-2014-09-15' of git://anongit.freedesktop.org/drm-intel into drm-next Here's the updated topic/core-stuff pull request with the two patches already merged into drm-fixes dropped. * tag 'topic/core-stuff-2014-09-15' of git://anongit.freedesktop.org/drm-intel: drm: Drop modeset locking from crtc init function drm/i915/hdmi: Enable pipe pixel replication for SD interlaced modes drm/edid: Reduce horizontal timings for pixel replicated modes drm: Include task->name and master status in debugfs clients info drm/gem: Fix kerneldoc typo drm: use c99 initializers in structures drm: fix drm_modeset_lock.h kernel-doc notation commit bda17b82bfa9601f167ec338755b0b96909db5a0 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 14:39:09 2014 +0200 ALSA: hda - Make snd_hda_jack_detect_enable_callback() returning the jack object STAC/IDT driver calls snd_hda_jack_tbl_get() again after calling snd_hda_jack_detect_enable_callback(). For simplifying this, let's make snd_hda_jack_detect_enable_callback() returning the pointer while handling the error with the standard IS_ERR() & co. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 96c026911890ceacee238da00a0b140ad634cc43 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Jan 21 15:57:26 2014 +0100 drm/rcar-du: Add OF support Implement support for the R-Car DU DT bindings in the rcar-du DRM driver. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 1d46fea7d091f9dc2d4fd3fcb9f0117ca288f9a5 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 00:42:56 2014 +0200 drm/rcar-du: Use struct videomode in platform data In preparation for DT support where panel timings will be described by a DRM-agnostic video mode, replace the struct drm_mode_modeinfo instance in the panel platform data with a struct videomode. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit cd8968f3dd520fae9623ab7d9154760e8feb27c2 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 18:26:39 2014 +0200 video: Add DT bindings for the R-Car Display Unit Aside of the usual boring core properties (compatible, reg, interrupts and clocks), the bindings use the OF graph bindings to model connections between the DU output video ports and the on-board and off-board components. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 71e1d5c7bfc6faea3a2a7e74fc3c512d28c8da16 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 11:20:04 2014 +0200 video: Add THC63LVDM83D DT bindings documentation The THC63LVDM83D is a video LVDS serializer described by an input port, an output port, and an optional power down GPIO. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 8d0f1956f7c11202ee689efff10b1868e54eaeee Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Aug 26 19:56:06 2014 +0200 video: Add ADV7123 DT bindings documentation The ADV7123 is a video DAC described by an input port, an output port, and an optional power save GPIO. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 2d777ea95ed7e93fbdb9ea500776efb76288d757 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Tue Aug 26 19:45:30 2014 +0200 video: Add DT binding documentation for VGA connector The VGA connector is described by a single input port and an optional DDC bus. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 76ac2f3cf66e036ec032f7d91a1987dde094e65a Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 11:13:49 2014 +0200 devicetree: Add vendor prefix "thine" to vendor-prefixes.txt Use the company name as vendor prefix. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> commit ba9ab5472758ed5a7362d829f84bb667c7456887 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Mon Aug 25 18:42:56 2014 +0200 devicetree: Add vendor prefix "mitsubishi" to vendor-prefixes.txt Mitsubishi Electric Corporation has a numerical stock ticker, use the company name as vendor prefix. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> commit 9588b826016835a3f67d8c38e0455fb7e0a411a1 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 6 18:13:52 2014 +0100 drm/shmob: Update copyright notice The "Renesas Corporation" listed in the copyright notice doesn't exist. Replace it with "Renesas Electronics Corporation" and update the copyright years. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit 36d50464e05f498fa4024270e091b306af5de898 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Feb 6 18:13:52 2014 +0100 drm/rcar-du: Update copyright notice The "Renesas Corporation" listed in the copyright notice doesn't exist. Replace it with "Renesas Electronics Corporation" and update the copyright years. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> commit d0fa1af40e784aaf7ebb7ba8a17b229bb3fa4c21 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Sep 8 09:02:49 2014 +0200 drm: Drop modeset locking from crtc init function At driver init no one can access modeset objects and we're single-threaded. So locking is just cargo-culting here. Worse, with the new ww mutexes and ww mutex slowpath debugging the mutex_lock might actually fail, and we don't have the full-blown ww recovery dance. Which then leads to fireworks when we try to unlock the not-locked crtc lock. An audit of all the functions called from here shows that none of them contain locking checks, so there's also no reason to keep the locking around just for consistency of caller contexts. Besides that I have the rule (at least in i915) that such places where we take locks just to simplify locking checks and not for correctness always require a comment. This regression was introduced in commit 51fd371bbaf94018a1223b4e2cf20b9880fd92d4 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Tue Nov 19 12:10:12 2013 -0500 drm: convert crtc and connection_mutex to ww_mutex (v5) v2: Don't drop the lock_init call, spotted by the 0day builder. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=83341 Cc: Rob Clark <robdclark@xxxxxxxxx> Cc: thellstrom@xxxxxxxxxx Cc: maarten.lankhorst@xxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 697c4078c765c02b9c4ca2d828ae4d7af62453a6 Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Date: Tue Sep 2 17:03:36 2014 -0700 drm/i915/hdmi: Enable pipe pixel replication for SD interlaced modes Enable 2x pixel replication for modes the mode flag DBLCLK to double horizontal timings and pixel clock across TMDS. Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fb01d28070b711b164d84ff80a28dcc7cca506e7 Author: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Date: Tue Sep 2 17:03:35 2014 -0700 drm/edid: Reduce horizontal timings for pixel replicated modes Pixel replicated modes should be non-2x horizontal timings and pixel replicated by the HW across the HDMI cable at 2X pixel clock. Current horizontal resolution of 1440 does not allow pixel duplication to occur and scaling artifacts occur on the TV. HDMI certification 7-26 currently fails for all pixel replicated modes. This change will allow HDMI certification with 480i/576i modes once pixel replication is turned on. Signed-off-by: Clint Taylor <clinton.a.taylor@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 50d47cb318ed3bfdea4032111772be6f7a5cc7a2 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 08:03:22 2014 +0100 drm: Include task->name and master status in debugfs clients info Showing who is the current master is useful for trying to decypher errors when trying to acquire master (e.g. a race with X taking over from plymouth). By including the process name as well as the pid simplifies the task of grabbing enough information remotely at the point of error. v2: Add the command column header and flesh out a couple of comments. (David Herrmann) Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2a5706a36d1f7ecd563fdff0b363c9b909e727e2 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Thu Aug 28 14:34:36 2014 +0200 drm/gem: Fix kerneldoc typo The drm_gem_private_object_init function is called drm_gem_object_init in its kerneldoc. Fix it. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce4df0b01259dc033c3ec8f855a3978818c3315d Merge: 151d0cb 9e82bf0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 22:26:10 2014 -0700 Merge 3.17-rc5 into usb-next We need the USB fixes in there to build on top of in this branch for 3.18. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 882ebfc28c389be86535bda4a7d9e407020356bf Merge: 1c84cd4 9e82bf0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 22:17:40 2014 -0700 Merge 3.17-rc5 into tty-next We want those fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43e73e4e2ad05d9bf3b438cfbe1e71b57a85f26c Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Sep 14 23:06:28 2014 +0200 Bluetooth: Provide HCI command opcode information to driver The Bluetooth core already does processing of the HCI command header and puts it together before sending it to the driver. It is not really efficient for the driver to look at the HCI command header again in case it has to make certain decisions about certain commands. To make this easier, just provide the opcode as part of the SKB control buffer information. The extra information about the opcode is optional and only provided for HCI commands. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit 7cb9d20fd9f8fb41f29e294734c4f8b5dc81ed93 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Sep 14 22:50:46 2014 +0200 Bluetooth: Add BUILD_BUG_ON check for SKB control buffer size The struct bt_skb_cb size needs to stay within the limits of skb->cb at all times and to ensure that add a BUILD_BUG_ON to check for it at compile time. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit caf382fe31b7327a1e4449f1c05c0cc7fb5b90be Merge: ea521db 9e82bf0 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 19:33:47 2014 -0700 Merge 3.17-rc5 into staging-next. This fixes a merge conflict in lustre, and we want the other fixes that went into 3.17-rc5 as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 37b9b81f3074ce35fadf64d321b79292494220d1 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:45:26 2014 +1000 drm/ast: Cleanup analog init code path Move the MMIO mangling to a separate routine and actually disable the DVO output when using pure analog. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 42fb1427443b8a72a3c07efa14d53c63d324cba8 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:50:21 2014 +1000 drm/ast: Don't assume DVO enabled means SIL164 on uninitialized chips It looks like the AST2400 comes up with the DVO enable bit set, which causes us to incorrectly assume we have a SIL164 regardless of the value of the scratch registers setup by the BMC firmware. So let's limit that test to the case where the chip has already been setup by a BIOS. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 261a3ad42605f5824072d1410d3c5f7b93f7cad8 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:50:17 2014 +1000 drm/ast: Properly initialize P2A base before using it in ast_init_3rdtx() If the P2A has been used to target other SOC registers before that call, we're going to hit the wrong place so make sure we set the base address up properly before using it. (P2A stands for PCIe to AHB bridge and is the bride that allows accessing the AST's internal AHB bus using a relocatable 64k window in the second half of the PCIe MMIO BAR) Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d1b985572a3cf88e99a71fe7b8f294ad9f78f007 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:50:11 2014 +1000 drm/ast: POST chip at probe time if VGA not enabled We need to do it on machines without a BIOS such as POWER8. Also for detection to work without triggering PCIe errors, we need to enable VGA early on, inside ast_detect_chip(). While touching those files, replace a few hard coded register numbers with the corresponding symbolic constant. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 0dd68309b9c516eac76549b71f68f01f57bb0c71 Author: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 17:44:18 2014 +1000 drm/ast: Try to use MMIO registers when PIO isn't supported If the PIO resources haven't been assigned, then we have no choice but try to use the MMIO version. This is the case for example on POWER8 which doesn't support PIO at all. Chips rev 0x20 or later have MMIO decoding enabled by default. Signed-off-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit ea521dbc48c1550a4302c851a1e77f5b84ac8f81 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 12:53:51 2014 -0700 Revert "usb: dwc2: make the scheduler handle excessive NAKs better" This reverts commit f5717a75db0d4e590c0c050a6f49c6cc0afcec8a, as it wasn't ment to be applied to this branch / tree, it should go in through the USB tree, my fault. Reported-by: Paul Zimmerman <Paul.Zimmerman@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2017cff24cc08b145bff7256dd6b0ef99e7e8a01 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Add BMA250 chip support the BMA250 has only 10-bit resolution; while the data readout registers have identical layout, the configuration is completely different compared to the BMA180 datasheet: http://ae-bst.resource.bosch.com/media/products/dokumente/bma250/BST-BMA250-DS002-05.pdf Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 402a324e6103c234f73564a3a611766414b6325b Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Implement _available sysfs attribute dynamically makes it easier to add more chip variants and removes redundancy: scales and frequencies are now stated just once Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 6377aa496a0bc40af4f66574c813bb9a807a7e3a Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Prepare for accelerometer channels with different resolutions allow to specify channels resolution and compute shift assuming 16-bit registers and MSB allocation Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c1949ec18e50e1e23f3045a7c3836c289f553bb8 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Introduce part-specific _config() and disable() code move part of bma180_init() to bma180_config() (split initialization and configuration code); configuration is heavily chip-specific Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1b9030f5a0ac7c71bc733af3c9c1064204fc0258 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Introduce part_info to differentiate further chip variants Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b9a6a237ffc99f63fd96f3ad11b3c5c532d211f8 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Drop _update_scan_mode() statically allocate maximum size Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f991e17ba2584e2be66476cc468f19769efd55cc Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Tue Aug 26 16:14:10 2014 +0300 iwlwifi: mvm: align CSA GO NOA time event naming with the firmware The time event used for CSA GO will also be used by CSA client. Rename the symbols to something more generic and aligned with the firmware code. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4cb832d559416605d2a863fa34f362c31d174cc3 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Aug 6 10:52:27 2014 +0300 iwlwifi: mvm: move IWL_MVM_UAPSD_QUEUES to constants.h Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9474d444bd0e6590ba99d640fa5e4d28380c1f04 Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Wed Sep 3 12:09:45 2014 +0300 iwlwifi: mvm: fix PSM disable during TDLS Simplify the code and check for TDLS stations just before sending the MAC_POWER_TABLE command. The previous version of the code still allowed PM in some multi-interface scenarios even with TDLS connected. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 49c6d8021f11a4e86ab2689c62fbfca2ea8cbd0d Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Wed Aug 27 19:58:56 2014 +0300 iwlwifi: mvm: Fix skip over dtim configuration in d0i3 There was some confusion concerning the units of the beacon interval. The driver assumed that it was in msec where it was in TU - so fix that. Skip over dtim was capped by 300TU where it should be by 306TU. It should also be subjected to several conditions: Not a DFS channel, dtim period < 10, and the multicast wake-lock is off. Concerning multicast lock - there is an implementation gap in the supplicant, so just leave a TODO. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d4317252330d9d0b24a8d707270c38cf3c0943ad Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Sun Sep 7 19:18:31 2014 +0300 iwlwifi: mvm: move TDLS code to separate file The upcoming TDLS channel-switch functionality is big enough to warrant a separate file. Move existing related functions to the new file. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f7d8b70290e64eefcacfa598e46638689b8b6d11 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 9 15:49:19 2014 +0200 iwlwifi: mvm: update QoS parameters when they change The QoS parameters can change during the lifetime of the BSS, and more importantly hostapd only sets up the correct ones after having started the AP/GO. Resend the MAC context when the parameters change, with the updated parameters. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 397453377642e266676d60cb174ef58f3e202c70 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Wed Sep 10 16:40:41 2014 +0300 iwlwifi: mvm: reduce active dwell time Reduce basic active dwell time from 30 ms on 2.4 GHz and 20 on 5.2 to 20 on 2.4 and 10 on 5.2. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3d4060d58130aa805fb505c8ed4a9fbf8a3e09be Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Sep 11 14:12:06 2014 +0200 iwlwifi: mvm: fix quota update avoidance When not updating the quota, the new command shouldn't be stored as otherwise slowly drifting quota would never update the firmware. Fix this by storing the command only when it was also sent. Since the error message also only makes sense when attempting to send the command, just short-circuit the function when there's no need to send the command. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 4bfa47f3174155d4da088c5259e5fe2fcac01cf4 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Sep 11 16:19:43 2014 +0300 iwlwifi: mvm: allow to collect debug data when restart is disabled In some testing configuration, the firmware restart flow is not enabled. Allow to collect logs even in this case. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b81fbab7f567aaa12aba6532681b426f3e130e11 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Expose temperature channel 8-bit signed; 0 LSB @ 24 °C, 0.5 °C per LSB Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c7c69e8540895be5d09bf023f1b48db3cab7a78b Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Use bool instead of int for state Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9a70b147da1a3cbeb3fc6434b5c13ea938e28017 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Rename BMA_180 to BMA180_ Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit cab767d54daf775bc40322e9f8d4393b0c91a447 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Prefix remaining tables and functions with bma18_ and minor cleanups Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 16ed8692fa487c0a1569edd0e210357c087e1cc5 Author: Peter Meerwald <pmeerw@xxxxxxxxxx> Date: Tue Aug 19 23:43:00 2014 +0100 iio:bma180: Enable use of device without IRQ Signed-off-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Cc: Oleksandr Kravchenko <o.v.kravchenko@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3a0888edcffd9406f1cbbe240f4533e35db67e81 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Sun Feb 9 11:59:00 2014 +0000 iio: gyro: bmi055 gyro sensor driver Add support for the BMI055 gyroscope sensor. BMI055 is a package consisting of an acceleration sensor and a gyroscope. This patch adds support for the gyroscope only. Spec downloaded from: http://ae-bst.resource.bosch.com/media/products/dokumente/bmi055/BST-BMI055-DS000-06.pdf The BMI055 gyroscope uses the same register definition as BMG160, but does not specify a temp register. However, the temp register seems to be working in the same way as for BMG160, so this patch does not remove the temp channel for BMI055. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c9bf2373da2144dec511503cebf5f8a63b0dcff3 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Sun Mar 9 16:13:00 2014 +0000 iio: accel: kxcjk-1013: Fix defined but unused warning Noticed when compiling with CONFIG_PM_RUNTIME not set: kxcjk-1013.c: warning: â??kxcjk1013_get_startup_timesâ?? defined but not used [-Wunused-function] Introduced by commit 124e1b1d (iio: accel: kxcjk-1013: support runtime pm). Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 48edc3748142ad393c6ee2bfcc1eb256e9f88b38 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Sat Aug 9 15:18:00 2014 +0100 iio: magn: ak8975: fix unnecessary casting between char* and const char* Use const char* instead of casting const char* to char*. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ef1c6b23355b70356ca18c0d4c39b25dfbd7be02 Author: Irina Tirdea <irina.tirdea@xxxxxxxxx> Date: Sat Aug 9 15:05:00 2014 +0100 iio: gyro: bmg160: only set power state if PM_RUNTIME is defined When CONFIG_PM_RUNTIME is not defined and bmg160 tries to power off the device, bmg160_set_power_state will call pm_runtime_put_autosuspend, which is not implemented (wil return -ENOSYS). Only call bmg160_set_power_state when CONFIG_PM_RUNTIME is defined. Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3f2882d3696876c9458c794fa960f5c3133d70a5 Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Sun Sep 14 18:03:16 2014 +0200 staging: lustre: Cleaning up unnecessary use of memset in conjunction with strncpy Using memset before strncpy just to ensure a trailing null character is an unnecessary double writing of a string Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb9671261d02fa322f0b77a30442198ff05e564c Author: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Date: Sun Sep 14 18:36:38 2014 +0530 Staging: lustre: lustre: mdc: mdc_request: Removed useless variable Variable rc is initialised and returned by the function without modifying. Hence replaced rc with it's initial value in the return statement and removed the variable. Signed-off-by: Tina Johnson <tinajohnson.1234@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 727543d639efe4abb4be8ce56a1065c32dbac918 Author: Spencer Baugh <sbaugh@xxxxxxxxxxxxxx> Date: Sun Sep 14 11:21:11 2014 -0400 staging: lustre: fix pointer whitespace style Fix errors reported by checkpatch of this kind: ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db7b4b391e2f301d6d18ded41628ce458cbd4129 Author: Spencer Baugh <sbaugh@xxxxxxxxxxxxxx> Date: Sun Sep 14 11:21:10 2014 -0400 staging: lustre: fix function definition style Fix errors reported by checkpatch of this kind: ERROR: open brace '{' following function declarations go on the next line Signed-off-by: Spencer Baugh <sbaugh@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2101f98caf8246cbf6b7ad40a585c017379c389e Author: Artemiy Volkov <artemiyv@xxxxxxx> Date: Sat Sep 13 02:31:33 2014 +1000 staging: lustre: Fix address space mismatch in ksocknal_recv_iov() This patch fixes the following sparse warnings: drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c:284:51: warning: cast removes address space of expression drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c:284:39: warning: incorrect type in assignment (different address spaces) drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c:284:39: expected void [noderef] <asn:1>*iov_base drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c:284:39: got void *<noident> by simplifying an expression containing non-__user-attributed type names. Signed-off-by: Artemiy Volkov <artemiyv@xxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4127ef9b55be3e8019320064d83d9eeed789e35d Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Sep 11 18:38:25 2014 -0500 drivers: staging: lustre: Cleanup src/dst comparisons in obdo_cmp_md() Cleanup obdo_cmp_md() src/dst comparisons using bitwise OR assignments Suggested-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5717a75db0d4e590c0c050a6f49c6cc0afcec8a Author: Nick Hudson <skrll@xxxxxxxxxx> Date: Thu Sep 11 15:22:48 2014 -0700 usb: dwc2: make the scheduler handle excessive NAKs better I'm seeing problems with a d-link dwcl-g122 wifi dongle that someone sent me. There are reports of other wifi dongles with the same/similar problem. The devices appear to be NAKing to the point of confusing the dwc2 driver completely. The attached patch helps with my d-link dwl-g122 - it's adapted from the Raspberry Pi dwc_otg driver, which is a modified version of the Synopsys vendor driver. The error recovery is still valid after the patch, I think. Cc: Dom Cobley <popcornmix@xxxxxxxxx> Signed-off-by: Nick Hudson <skrll@xxxxxxxxxx> Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 047b2ec8d3778a046d6985d4ad410c85211a86a4 Author: Marcel Holtmann <marcel@xxxxxxxxxxxx> Date: Sun Sep 14 09:11:06 2014 +0200 Bluetooth: btusb: Separate TX URB allocation and submission The complete TX URB handling is done via a switch statement in the btusb_send_frame function. To allow for more clear separation between control, bulk and isoc URBs, split them into allocation and submission. Previously the inc_tx function has been used for tracking in-flight URB for HCI commands and ACL data packets. Convert that into a common function that either submits the URB or queues it when needed. This provides the flexibility to allow vendor specific hdev->send_frame callbacks without having to duplicate the whole URB handling logic. Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> commit c68613777517e538ace751e4e738e238eb216f86 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Sun Mar 9 08:33:00 2014 +0000 iio: accel: kxcjk-1013: add support for kxtj2-1009 This patch adds support for KXTJ2-1009 3-axis acceleromenter sensor. KXTJ2-1009 uses the same register definitions as KXCJK-1013. The specification for KXTJ2-1009 can be downloaded from: http://www.kionix.com/sites/default/files/KXTJ2-1009%20Specifications%20Rev%204.pdf Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit db985cbd67c45f875ef43cb5febfaa8cbd203c27 Merge: c6f1224 468a903 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Sun Sep 14 15:34:38 2014 +0200 Merge tag 'irqchip-core-3.18' of git://git.infradead.org/users/jcooper/linux into irq/core irqchip core changes for v3.18 - renesas: suspend to RAM, runtime PM, cleanups and DT binding docs - keystone: add new driver - hip04: add Hisilicon HiP04 driver (without touching irq-gic.c) - gic: Use defines instead of magic number, preserve v2 bybass bits - handle_domain_irq: common low level interrupt entry handler commit a0a09243e02e0ad6a366139093d80b870ec9a16e Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Thu Sep 4 12:29:15 2014 +0300 iwlwifi: mvm: use the firmware to get the temperature during CT kill Reading the temperature directly from the hardware, without the help of the firmware, is a complex process and is not entirely the same for different hardware. Also, some NICs don't easily allow access to the sensors when the firmware is not running, which would add even more complexity to the code. To reduce the code complexity and to avoid code duplication between the firmware and the driver, boot the firmware briefly to read the current temperature while in CT kill mode. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 34e611ea2a9d88ccf77b2a073ab9b0c53e58e6f8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 12 10:28:01 2014 +0200 iwlwifi: mvm: update d0i3 debugfs A lot of the newer d0i3 ref additions weren't added to the debugfs file, fix that and add a comment to remember to do it in the future. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 6d93affd3a49a7f846bb632ff0d19c02ac2a7bf0 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Tue Aug 26 07:09:52 2014 +0300 iwlwifi: mvm: remove unused static inline function Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ad25c1ee55b1e125d71891496eb52ccb508dd3d7 Author: Toralf Förster <toralf.foerster@xxxxxx> Date: Tue Sep 9 20:08:53 2014 +0200 iwlwifi/iwl-drv.c: fix typo defualt -> default trivial, but this is user visible b/c it is in the help text Signed-off-by: Toralf Förster <toralf.foerster@xxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b2b7875bfb6c69bb708b61c5f745491d240161a1 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Sep 8 16:42:54 2014 +0200 iwlwifi: mvm: don't update quota in firmware too often When updating quota in the firmware, it has to reset quite a bit of internal state, which apparently can have an adverse impact on its operation. Avoid that by only updating the quota command when there are any signification changes, i.e. added/removed bindings or changes in quota that are bigger than 8 TU within a binding. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit bbab758279a14556e6ccb17b1f98935634eeb8d5 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Sep 10 11:00:16 2014 +0300 iwlwifi: define the non shared antenna per hardware The sharing model will differ in new hardware. Define the non shared antenna based on the device so that different devices can have different names for the non shared antenna. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 5d4185ae0c68eeff26d0390a4e99b6e7359a8b83 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 9 21:16:06 2014 +0200 iwlwifi: pcie: clear command data on freeing When freeing the structures used for command data, clear their memory as they may have contained key material at some point. Also clear the duplicated buffer when freeing it to be safe; currently key material is never put there but that may change. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit c2a2b28bb7fbcb8e0e11b84714992750bba7b699 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Sun Sep 7 11:41:05 2014 +0300 iwlwifi: make hw rev checking more readable Rather than ANDing with a mask - use existing macros, which are more readable. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3a736bcb18f797996064cf18f4eecc4b3e46d39a Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Sep 10 11:16:41 2014 +0300 iwlwifi: trans: don't configure the set_active in SCD for dvm This configuration is not needed for dvm, and it actually broke it. Reported-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f7f89e7baef643788f09d9629012ea1612d827bb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Aug 5 15:24:44 2014 +0200 iwlwifi: mvm: disable aggregation queues in station DB in FW When disabling aggregation, disable the queues in the station DB in the firmware, otherwise we leave the tfd_queue_mask in a wrong state after an aggregation session has been torn down. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f58220f6b9ba69c782eafbfe703be8c4bca6b33d Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Aug 16 01:30:30 2014 +0300 iwlwifi: mvm: rs: don't zero tx stats after idle Move the tx stats to the persistent area of lq_sta to avoid them being zeroed out every time rs reinitializes which happens after tx idle for 5 secs for example. The automatic zeroing out made them difficult to use. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit f3bd58f486acd954ca8d90f8733d752dbd98eec6 Author: Max Stepanov <Max.Stepanov@xxxxxxxxx> Date: Mon Aug 4 13:55:01 2014 +0300 iwlwifi: mvm: add MVM_FW_MCAST_FILTER_PASS_ALL option Add MVM_FW_MCAST_FILTER_PASS_ALL option to iwl-dbg-cfg.ini configuration file to enable/disable FW multicast filtering. Signed-off-by: Max Stepanov <Max.Stepanov@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a26d4e7b096d85eeea0ce08950744e2887cb46fa Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Aug 20 10:21:07 2014 +0300 iwlwifi: mvm: fail temp test enabling if the ucode is not loaded If the ucode is not loaded, don't allow the temperature test to be started, but allow it to be changed or stopped if already running. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit bc44886d2645bb4c0422db09f67661638eacc3d1 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Aug 20 11:49:11 2014 +0300 iwlwifi: mvm: reset ucode_loaded flag when mac80211 stop is called We rely on the value of the mvm->ucode_loaded flag to decide whether or not we can perform certain operations (e.g. access to some debugfs entries), so we need to reset it when the mac80211 stop operation is called and the hardware is shutdown. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2536e7c35014c0bd5b8a7b5425004528c208c052 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sun Aug 31 02:33:33 2014 +0300 iwlwifi: mvm: rs: remove max_rate_idx max_rate_idx constraint is deprecated and it's handling is faulty as well as it is relevant only for legacy rates but was considered in HT/VHT. In most cases there was no side effect as max_rate_idx was set to -1 but in certain cases like P2P it got set to an actual rate idx which would limit the maximum rate in HT/VHT by mistake. max_rate_idx should be replaced by the masks fields but for now remove it. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 099d8086a814689d3c7f58aa6412da6513e1624e Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Thu Aug 28 02:33:05 2014 +0300 iwlwifi: enable LDPC in 8000 chip family This chip family supports LDPC so enable it. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 161bdb7780548918027511f1a2885e9b99d28482 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Sun Jul 27 08:03:06 2014 +0300 iwlwifi: mvm: allow preventing dummy notifications The firwmare now allows the driver to disable dummy notifications. These notifications sent by the firmware are an overhead for slow buses. They are still useful for fast buses. Add a hardware switch to prevent these notifications only on devices that work on slow buses. Signed-off-by: Eran <eran.harary@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d4200cb2487042291a056d4364450947344362e1 Author: Oren Givon <oren.givon@xxxxxxxxx> Date: Thu Sep 4 09:16:49 2014 +0200 iwlwifi: add and edit 8000 series PCI IDs Edit some 8000 series PCI IDs and add configuration to Dual Band Wireless N 8260 devices. Signed-off-by: Oren Givon <oren.givon@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a3576ff28e3b6a75d79fdc33c8179e7e2b470e50 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Sat Aug 9 10:57:59 2014 +0300 iwlwifi: mvm: add LDPC support Use LDPC for Tx and publish support for Rx in case the chip supports LDPC. Enable it for the 7265 family. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 71511c866bce04f931e462ad0cce3f122aa0c447 Merge: 712b24a 2cddddc Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Sun Sep 14 12:54:42 2014 +0300 Merge remote-tracking branch 'iwlwifi-fixes/master' into NEXT commit 9aa59cacdf22de9127d147de9523c1a0f832da48 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Thu Aug 14 09:25:38 2014 +0200 m68k/atari - stram: Add missing #include <linux/ioport.h> If CONFIG_BLOCK=n: arch/m68k/atari/stram.c:44: error: variable â??stram_poolâ?? has initializer but incomplete type arch/m68k/atari/stram.c:45: error: unknown field â??nameâ?? specified in initializer arch/m68k/atari/stram.c:46: warning: excess elements in struct initializer arch/m68k/atari/stram.c:46: warning: (near initialization for â??stram_poolâ??) arch/m68k/atari/stram.c: In function â??atari_stram_reserve_pagesâ??: arch/m68k/atari/stram.c:97: error: invalid use of undefined type â??struct resourceâ?? ... Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> commit 3708d52fc6bb34ae16399fe998d515dd7d188ab0 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Tue Aug 26 16:03:35 2014 +0100 irqchip: gic-v3: Implement CPU PM notifier When a CPU enters a low power state, the contents of the GICv3/4 system registers are lost. They need to be saved and restored if required. For now, since most of the GICv3 register are set some initial values and not modified at runtime, it is better to re-initialise rather than saving and restoring them. It may need to be saved and restored in future if required. This patch adds a notifier to disable the redistributor(if allowed) and Group1 interrupts when powering down the processor and to re-initialise the system registers on wakeup. Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409065415-20176-3-git-send-email-sudeep.holla@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a2c225101234bcef8f40497bd50ccb5e9c1fb527 Author: Sudeep Holla <sudeep.holla@xxxxxxx> Date: Tue Aug 26 16:03:34 2014 +0100 irqchip: gic-v3: Refactor gic_enable_redist to support both enabling and disabling Currently gic_enable_redist configures the redistributors to never assert WakeRequest signal. However when powering down the processors with wake-up enabled(i.e suspend), we need to configure it to assert that signal. This patch extends gic_enable_redist so that the redistributor can be configure to assert WakeRequest and hold interrupts as pending. This is useful in suspending the processors. This patch also adds check to make sure GICR_WAKER is accessible when configuring it. Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Sudeep Holla <sudeep.holla@xxxxxxx> [maz: removed reference to GICD_CTLR.DS and added read-back of GICR_WAKER to check that it is not RAZ/WI] Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409065415-20176-2-git-send-email-sudeep.holla@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 468a903c0e5147e3f93187f0b808a3ef957fd00e Merge: ce92bfe 087fe00 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Sep 14 07:53:54 2014 +0000 Merge branch 'irqchip/handle_domain' into irqchip/core commit ce92bfe88ba38e76371feb93307125fac3f800f0 Merge: cec9694 3228950 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Sep 14 07:53:39 2014 +0000 Merge branch 'irqchip/gic' into irqchip/core commit cec9694af7ada37611eb41733065427c0e72cd6c Merge: 1fc9d96 8e4bebe Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Sep 14 07:53:29 2014 +0000 Merge branch 'irqchip/hip04' into irqchip/core commit 1fc9d96ec63e7e071f22b89c268145d50720d667 Merge: 705bc96 8703ec1 Author: Jason Cooper <jason@xxxxxxxxxxxxxx> Date: Sun Sep 14 07:53:17 2014 +0000 Merge branch 'irqchip/keystone' into irqchip/core commit e9753eff1b875d579dc04d675e72d6e31e866927 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sun Sep 14 08:49:34 2014 +0300 Bluetooth: btusb: Use GFP_KERNEL in btusb_send_frame() All hdev->send() calls are these days done through a work queue. For the btusb driver this means the btusb_send_frame() function. Because of this we can safely use GFP_KERNEL for all memory allocations in this code path. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 705bc96c2c15313c0677607f6e81800f4d2b4534 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 12 15:15:18 2014 +0200 irqchip: renesas-intc-irqpin: Add minimal runtime PM support This is just enough to let pm_clk_*() enable the functional clock, and manage it for suspend/resume, if present. Before, it was assumed enabled by the bootloader or reset state. To prevent the clock from being disabled while the module is needed for wake-up, implement irq_chip.irq_set_wake(), which increments/decrements the clock's enable_count when needed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1410527720-18061-3-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 36845f1b54edc3237626d48270bbf3bc26d45f4f Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Sep 12 15:15:17 2014 +0200 irqchip: renesas-intc-irqpin: Add helper variable dev = &pdev->dev Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1410527720-18061-2-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 20afdeb812da4097447eb324f34be11a10b11542 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 17:43:00 2014 +0200 irqchip: atmel-aic5: Add sama5d4 support Add sama5d4 support to irq-atmel-aic5. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410536587-24607-2-git-send-email-alexandre.belloni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0cae165ffc0c878b02c56efd62988f13d513c8a7 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 16:41:51 2014 +0200 irqchip: atmel-aic5: The sama5d3 has 48 IRQs The FUSE and RAM controllers don't have any connected IRQs, reducing the number of IRQs to 48. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Link: https://lkml.kernel.org/r/1410446511-29477-1-git-send-email-alexandre.belloni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit fda9203b924a8b4caa68fb4a2df5c954f9eb846a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Sep 9 17:44:22 2014 -0700 Documentation: bcm7120-l2: Add Broadcom BCM7120-style L2 binding This patch adds the Device Tree binding document for the Broadcom BCM7120-style Set-top-box Level 2 interrupt controller hardware. We provide some ascii art explaining the different roles and reasons why some properties are introduced to represent that interrupt controller. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Link: https://lkml.kernel.org/r/1410309862-27784-3-git-send-email-f.fainelli@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a5042de2688d3e903799caf1196539c57555e3ed Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Sep 9 17:44:21 2014 -0700 irqchip: bcm7120-l2: Add Broadcom BCM7120-style Level 2 interrupt controller This patch adds support for the Level-2 interrupt controller hardware found in Broadcom Set Top Box System-on-a-Chip devices. This interrupt controller is implemented using a single enable register. This interrupt controller is always present on the platforms supported by the irq-brcmstb-l2 driver, hence the reason why both are compiled using the same Kconfig symbol. [jac] removed the following warning: drivers/irqchip/irq-bcm7120-l2.c: In function 'bcm7120_l2_intc_irq_handle': drivers/irqchip/irq-bcm7120-l2.c:49:27: warning: unused variable 'gc' [-Wunused-variable] Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Link: https://lkml.kernel.org/r/1410309862-27784-2-git-send-email-f.fainelli@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 46eedb901c2a1784f2b781dccd3ec0bcf55d2f7c Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:00:00 2014 +0200 irqchip: renesas-irqc: Add binding docs for new R-Car Gen2 SoCs - r8a7792 (R-Car V2H) - r8a7793 (R-Car M2-N) - r8a7794 (R-Car E2) r8a7791 is now called "R-Car M2-W". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1409212800-4957-3-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 41a3322a93395e02a58c938f8182b9402bcdb6d8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 09:59:59 2014 +0200 irqchip: renesas-irqc: Add DT binding documentation The renesas-irqc driver supports DT, but the DT binding documentation was missing. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409212800-4957-2-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9857b069b27abbc3d3b2c9f474e40d8b2b55a228 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 09:59:58 2014 +0200 irqchip: renesas-intc-irqpin: Document SoC-specific bindings The documentation only mentioned the generic fallback compatible property. Add the missing SoC-specific compatible properties, which are already in use. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409212800-4957-1-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ace8578182dc347b043c0825b9873f62fdaa5b77 Author: klightspeed@xxxxxxxxxxxxxxxx <klightspeed@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 18:55:41 2014 +1000 ARM: mvebu: Netgear RN102: Use Hardware BCH ECC The bootloader on the Netgear ReadyNAS RN102 uses Hardware BCH ECC (strength = 4), while the pxa3xx NAND driver by default uses Hamming ECC (strength = 1). This patch changes the ECC mode on these machines to match that of the bootloader and of the stock firmware. That way, it is now possible to update the kernel from userland (e.g. using standard tools from mtd-utils package); u-boot will happily load and boot it. Fixes: 92beaccd8b49 ("ARM: mvebu: Enable NAND controller in ReadyNAS 102 .dts file") Cc: <stable@xxxxxxxxxxxxxxx> #v3.14+ Signed-off-by: Ben Peddell <klightspeed@xxxxxxxxxxxxxxxx> Acked-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Tested-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410339341-3372-1-git-send-email-klightspeed@xxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9b02732643d9f4b92b14f5ec041c166bd36033fc Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Sun Sep 14 10:08:37 2014 +0900 ARM: dts: remove old USB2 PHY node for exynos5250 drivers/usb/phy/phy-samsung-usb2 driver got replaced by drivers/phy/phy-samsung-usb2 one. Remove the leftover USB2 PHY node (EHCI/OHCI USB nodes are using the new one already) from Exynos5250 dtsi file. Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Cc: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> Reviewed-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 72a810810ff9e7a80f71f09f431c1b52156cbdda Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Sun Sep 14 10:08:33 2014 +0900 ARM: dts: remove old USB2 PHY node hook for exynos5250-arndale drivers/usb/phy/phy-samsung-usb2 driver got replaced by drivers/phy/phy-samsung-usb2 one. Remove the leftover hook from Arndale dts file. Cc: Mark Brown <broonie@xxxxxxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Cc: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> Reviewed-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 0a0752c6ee58f28a29e78f1a8c38f2f1b11cba9f Author: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Date: Sun Sep 14 09:22:45 2014 +0900 ARM: dts: update display related nodes for exynos5800-peach-pi Add DT nodes for panel-simple "auo,b133htn01" panel. Add backlight enable pin and backlight power supply for pwm-backlight. Also, add panel phandle needed by dp to enable display on peach_pi. Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit c0d1379a19c3dde3c32be50164997d246241c1e4 Author: Sasha Levin <sasha.levin@xxxxxxxxxx> Date: Sat Sep 13 00:06:30 2014 -0400 net: bpf: correctly handle errors in sk_attach_filter() Commit "net: bpf: make eBPF interpreter images read-only" has changed bpf_prog to be vmalloc()ed but never handled some of the errors paths of the old code. On error within sk_attach_filter (which userspace can easily trigger), we'd kfree() the vmalloc()ed memory, and leak the internal bpf_work_struct. Signed-off-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Acked-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3fc8867740b4a0bf56f372c6f5ddd14970962fb1 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Sep 12 23:12:46 2014 -0700 netdevice: Support DSA tagging when DSA is built as a module This change corrects an error seen when DSA tagging is built as a module. Without this change it is not possible to get XDSA tagged frames as the test for tagging is stripped by the #ifdef check. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5879823fc66decc1c0416cad6cd506adbbda6a7f Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Sat Sep 13 01:57:49 2014 +0200 net/macb: Add hardware revision information during probe Print the IP revision when probing. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 45f85a2565a9ba4ab4dc095d4d32c4cd2a56b168 Merge: 42f2725 0afdfe9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 17:32:29 2014 -0400 Merge branch 'fec-next' Frank Li says: ==================== net: fec: imx6sx multiqueue support These patches enable i.MX6SX multi queue support. i.MX6SX support 3 queue and AVB feature. Change from v3 to v4 - use "unsigned int" instead of "unsigned" Change from v2 to v3 - fixed alignment requirement for ARM and NO-ARM platform Change from v1 to v2. - Change num_tx_queue to unsigned int - Avoid block non-dt platform - remove call netif_set_real_num_rx_queues - seperate multi queue patch two part, one is tx and rx handle, with fixed queue 0 then other one is initilized multiqueue - use two difference alignment for tx and rx path ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0afdfe951989aec4528a88213b1e1b1b595feae0 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:57 2014 +0800 ARM: dts: imx6sx: add multi-queue support enet Enable 3 queues suppport for ethernet Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 08313641e09326ace2b91bc461b1456c763c0d8b Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:56 2014 +0800 ARM: Documentation: Update fec dts binding doc This patch update fec devicetree binding doc that add Optional properties "fsl,num-tx-queues" and "fsl,num-rx-queues". Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4d39b53c2150439afbbeec418221ab96f432703 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:55 2014 +0800 net: fec: init complete variable in early to avoid kernel dump Software clear the MDIO interrupt before MDIO bus access, but MAC still generate MDIO interrupt. The issue only happen on imx6slx chip. CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc1-00399-g0bcad17 #315 Backtrace: [<800121fc>] (dump_backtrace) from [<800124e0>] (show_stack+0x18/0x1c) r6:8096e534 r5:8096e534 r4:00000000 r3:00000000 [<800124c8>] (show_stack) from [<806a4c60>] (dump_stack+0x8c/0xa4) [<806a4bd4>] (dump_stack) from [<80060ab8>] (__lock_acquire+0x1814/0x1c40) r6:be078000 r5:be074000 r4:be03f6e4 r3:be078000 [<8005f2a4>] (__lock_acquire) from [<800616e0>] (lock_acquire+0x70/0x84) r10:809ada33 r9:be010600 r8:00000096 r7:00000001 r6:be074000 r5:00000000 r4:60000193 [<80061670>] (lock_acquire) from [<806abb20>] (_raw_spin_lock_irqsave+0x40/0x54) r7:00000000 r6:8005a3f8 r5:00000193 r4:be03f6d4 [<806abae0>] (_raw_spin_lock_irqsave) from [<8005a3f8>] (complete+0x1c/0x4c) r6:80950904 r5:be03f6d0 r4:be03f6d4 [<8005a3dc>] (complete) from [<8041b4c0>] (fec_enet_interrupt+0x128/0x164) r6:80950904 r5:00800000 r4:be03f000 r3:00000000 [<8041b398>] (fec_enet_interrupt) from [<8006aeac>] (handle_irq_event_percpu+0x38/0x13c) r6:00000000 r5:be01065c r4:be399e00 r3:8041b398 [<8006ae74>] (handle_irq_event_percpu) from [<8006aff4>] (handle_irq_event+0x44/0x64) r10:be03f000 r9:80989fe0 r8:00000000 r7:00000096 r6:be399e00 r5:be01065c r4:be010600 [<8006afb0>] (handle_irq_event) from [<8006e3e8>] (handle_fasteoi_irq+0xc8/0x1bc) r6:8096e764 r5:be01065c r4:be010600 r3:00000000 [<8006e320>] (handle_fasteoi_irq) from [<8006a63c>] (generic_handle_irq+0x30/0x44) r6:be074010 r5:80945e4c r4:00000096 r3:8006e320 [<8006a60c>] (generic_handle_irq) from [<8000f218>] (handle_IRQ+0x54/0xbc) r4:80950d74 r3:00000180 [<8000f1c4>] (handle_IRQ) from [<800086cc>] (gic_handle_irq+0x30/0x68) r8:be3ab478 r7:c080e100 r6:be075bd8 r5:80950eec r4:c080e10c r3:000000a0 [<8000869c>] (gic_handle_irq) from [<80013064>] (__irq_svc+0x44/0x5c) Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 41ef84ce4c7231ecdf6f116f03635d2a184bc5ba Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:54 2014 +0800 net: fec: change FEC alignment according to i.mx6 sx requirement i.MX6 SX change FEC alignment requirement. i.MX6 SX change internal bus from AHB to AXI. It require RX buffer must be 64 bytes alignment. And remove TX buffer alignment requirement. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba593e00e645a8522a97a14a90a176d53629976e Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:53 2014 +0800 net:fec: Add fsl,imx6sx-fec compatible strings Add compatible string "fsl,imx6sx-fec" for i.MX6SX. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce99d0d3abba0faf796a6ce999e4f0356c7b4653 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:52 2014 +0800 net: fec: add enet-avb IP support i.MX6SX Enet-AVB support 3 tx queues, 3 rx queues. For tx queues: ring 0 -> best effort ring 1 -> Class A ring 2 -> Class B For rx queues: ring 0 -> best effort ring 1 -> receive VLAN packet with classification match ring 2 -> receive VLAN packet with classification match Add enet-avb IP multiqueue support for the driver. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 106c314c7a765d3c472f264e0915de6180922cda Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:51 2014 +0800 net:fec: Disable enet-avb MAC instead of reset MAC For i.MX6SX enet use AXI bus, reset MAC will make system bus dead if ENET-AXI bus has pending access (AHB bus should not have such issue). So, disable enet with AVB MAC instead of reset MAC itself. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 59d0f746564495c7f54526674deabfcf101236a1 Author: Frank Li <Frank.Li@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:50 2014 +0800 net: fec: init multi queue date structure initilized all queues according to queue number get from DT file. Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: Duan Fugang <B38611@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9fc095f136b5436fafb22f31c4871b5edcb362b9 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:49 2014 +0800 net: fec: parser max queue number from dt file By default, the tx/rx queue number is 1, user can config the queue number at DTS file like this: fsl,num-tx-queues=<3>; fsl,num-rx-queues=<3> Since i.MX6SX enet-AVB IP support multi queues, so use multi queues interface to allocate and set up an Ethernet device. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4d494cdc92b3b9a0f5fb9e1560810fa27d5a0489 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:48 2014 +0800 net: fec: change data structure to support multiqueue This patch just change data structure to support multi-queue. Only 1 queue enabled. Ethernet multiqueue mechanism can improve performance in SMP system. For single hw queue, multiqueue can balance cpu loading. For multi hw queues, multiple cores can process network packets in parallel, and refer the article for the detail advantage for multiqueue: http://vger.kernel.org/~davem/davem_nyc09.pdf Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <frank.li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95a774706d15fdbaef19656b8aae18a985465729 Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:47 2014 +0800 net:fec: add enet AVB feature macro define for imx6sx Add enet AVB feature macro define for imx6sx. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b5330edf1f8e24a8ca25412e6d341e0fae0ad0a Author: Fugang Duan <B38611@xxxxxxxxxxxxx> Date: Sat Sep 13 05:00:46 2014 +0800 net:fec: add enet refrence clock for i.MX 6SX chip i.MX6sx enet has below clocks for user config: clk_ipg: ipg_clk_s, ipg_clk_mac0_s, 66Mhz clk_ahb: enet system clock, it is enet AXI clock for imx6sx. For imx6sx, it alos is the clock source of interrupt coalescing. The clock range: 200Mhz ~ 266Mhz. clk_ref: refrence clock for tx and rx. For imx6sx enet RGMII mode, the refrence clock is 125Mhz coming from internal PLL or external. In i.MX6sx-arm2 board, the clock is from internal PLL. clk_ref is optional, depends on board. clk_enet_out: The clock can be output from internal PLL. It can supply 50Mhz clock for phy. clk_enet_out is optional, depends on chip and board. clk_ptp: 1588 ts clock. It is optional, depends on chip. The patch add clk_ref to distiguish the different clocks. Signed-off-by: Fugang Duan <B38611@xxxxxxxxxxxxx> Signed-off-by: Frank Li <Frank.Li@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9d06d34bcc62f4cc3679704ac42cff5b44a97c6e Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sat Sep 13 11:31:17 2014 -0700 ARM: orion5x: Convert pr_warning to pr_warn Use the more common pr_warn. Other miscellanea: o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/b438c7c54306f095a150e50df41fbba4d515c2f8.1410632835.git.joe@xxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 42f272539487e49c9ea830ad97db41eb9937d5dc Author: Andrew Lunn <andrew@xxxxxxx> Date: Fri Sep 12 23:58:44 2014 +0200 net: DSA: Marvell mv88e6171 switch driver This is the Marvell driver with some cleanups by Claudio Leite and myself. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Claudio Leite <leitec@xxxxxxxxxxxx> Signed-off-by: Claudio Leite <leitec@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e4d223bb9bd3ac5fa87ead246f5a7e1019b1faea Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 11:56:59 2014 +0200 ARM: mvebu: add gpio-fan to mvebu_v7_defconfig Since one of the platforms (Armada 370 RD) is now using the gpio-fan driver, it makes sense to enable it in mvebu_v7_defconfig. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1410429419-29820-5-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b06333f4a783c3a53a6c81bfef4f8fc4bade3811 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 11:56:58 2014 +0200 ARM: mvebu: add LED class support built-in in mvebu_v7_defconfig For some reason, while all other features are configured built-in, the LED class support was configured as a module in mvebu_v7_defconfig. This commit makes it consistent with the other options, by making this feature built-in. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1410429419-29820-4-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 5b1e9e80c044442cc80eb6bb03b11165515eedb8 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 11:56:57 2014 +0200 ARM: mvebu: add user LED support of Armada 370 RD The Armada 370 RD has a GPIO controlled LED connected on MPP32, so this commit adds the relevant hardware description to Armada 370 RD Device Tree. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1410429419-29820-3-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e8db78dd6af727fdbeefa1fc624bc5d7c572d841 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 11:56:56 2014 +0200 ARM: mvebu: add gpio fan support to Armada 370 RD The Armada 370 RD platform has a GPIO-controlled fan on MPP8, so this commit adds the relevant hardware description to Armada 370 RD Device Tree. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1410429419-29820-2-git-send-email-thomas.petazzoni@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0943629688c62c69d1355bf2abcd217029899da0 Merge: 233577a 2f951a9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 17:12:25 2014 -0400 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set Patch 1 fixes some minor issues with log messages in be2net. Patch 2 replaces strcpy() calls with strlcpy() to avoid possible buffer overflow. Patch 3 improves the RX buffer posting scheme for jumbo frames. Patch 4 replaces the use of v0 of SET_FLOW_CONTROL cmd with v1 to receive a definitive completion status from FW. Patch 5 adds support for ethtool "-m" ethtool option. Patch 6 fixes port-type reporting via ethtool get_settings for QSFP/SFP+ interfaces. Patch 7 fixes the usage of MODIFY_EQD FW cmd to target a max of 8 EQs on Lancer chip. Patch 8 enables PCIe error reporting even for VFs. Pls consider applying this patch set to net-next. Thanks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f951a9abe040741f76a029691ab3e4eb3389acf Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 12 17:39:21 2014 +0530 be2net: enable PCIe error reporting on VFs too Currently PCIe error reporting is enabled only on PFs. This patch enables this feature on VFs too as Lancer VFs support it. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 936767039cdf9409153fbaafa3127b0c85101097 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Fri Sep 12 17:39:20 2014 +0530 be2net: send a max of 8 EQs to be_cmd_modify_eqd() on Lancer The MODIFY_EQ_DELAY FW cmd on Lancer is supported for a max of 8 EQs per cmd. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6809cee0ca2139877566d860abc892b4736de8af Author: Ravikumar Nelavelli <ravikumar.nelavelli@xxxxxxxxxx> Date: Fri Sep 12 17:39:19 2014 +0530 be2net: fix port-type reporting in get_settings Report the ethtool port-type/supported/advertising values based on the cable_type for QSFP and SFP+ interfaces. The cable_type is parsed from the transceiver data fetched from the FW. Signed-off-by: Ravikumar Nelavelli <ravikumar.nelavelli@xxxxxxxxxx> Signed-off-by: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e36edd9d26cf257511548edaf2b7a56eb4fed854 Author: Mark Leonard <mark.leonard@xxxxxxxxxx> Date: Fri Sep 12 17:39:18 2014 +0530 be2net: add ethtool "-m" option support This patch adds support for the dump-module-eeprom and module-info ethtool options. Signed-off-by: Mark Leonard <mark.leonard@xxxxxxxxxx> Signed-off-by: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b29812c13514b3bb9236aed4bd35192e6b3d0f2d Author: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Date: Fri Sep 12 17:39:17 2014 +0530 be2net: use v1 of SET_FLOW_CONTROL command In some configurations the FW doesn't allow changing flow control settings of a link. Unless a v1 version of the SET_FLOW_CONTROL cmd is used, the FW doesn't report an error to the driver. Signed-off-by: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c30d72665cce3613ed222215b71dd4b5213169d2 Author: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx> Date: Fri Sep 12 17:39:16 2014 +0530 be2net: fix RX fragment posting for jumbo frames In the RX path, the driver currently consumes upto 64 (budget) packets in one NAPI sweep. When the size of the packet received is larger than a fragment size (2K), more than one fragment is consumed for each packet. As the driver currently posts a max of 64 fragments, all the consumed fragments may not be replenished. This can cause avoidable drops in RX path. This patch fixes this by posting a max(consumed_frags, 64) frags. This is done only when there are atleast 64 free slots in the RXQ. Signed-off-by: Ajit Khaparde <ajit.khaparde@xxxxxxxxxx> Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 242eb47010840056c121c1141bddf3b279cb47bc Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Fri Sep 12 17:39:15 2014 +0530 be2net: replace strcpy with strlcpy Replace strcpy with strlcpy, as it avoids a possible buffer overflow. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50762667f78e346c343544f88270c0a831789e7d Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Fri Sep 12 17:39:14 2014 +0530 be2net: fix some log messages This patch fixes the following minor issues with log messages in be2net: 1) Period is not required at the end of log message. 2) Remove "Unknown grp5 event" logs to reduce noise. The driver can safely ignore async events from FW it's not interested in. 3) Reword a log message for better readability to say that SRIOV "is disabled" rather than "not supported". Signed-off-by: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 233577a22089facf5271ab5e845b2262047c971f Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 12 14:04:43 2014 +0200 net: filter: constify detection of pkt_type_offset Currently we have 2 pkt_type_offset functions doing the same thing and spread across the architecture files. Remove those and replace them with a PKT_TYPE_OFFSET macro helper which gets the constant value from a zero sized sk_buff member right in front of the bitfield with offsetof. This new offset marker does not change size of struct sk_buff. Cc: Eric Dumazet <eric.dumazet@xxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> Signed-off-by: Denis Kirjanov <kda@xxxxxxxxxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ac7a04c33dd7f8e429df4b929ba3a3e8e729cc89 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Sep 11 21:18:09 2014 -0700 net: dsa: change tag_protocol to an enum Now that we introduced an additional multiplexing/demultiplexing layer with commit 3e8a72d1dae37 ("net: dsa: reduce number of protocol hooks") that lives within the DSA code, we no longer need to have a given switch driver tag_protocol be an actual ethertype value, instead, we can replace it with an enum: dsa_tag_protocol. Do this replacement in the drivers, which allows us to get rid of the cpu_to_be16()/htons() dance, and remove ETH_P_BRCMTAG since we do not need it anymore. Suggested-by: Alexander Duyck <alexander.duyck@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4f5e01e96d424b54f5f0e89ee1ba9ccca03a3941 Author: Andrew Lunn <andrew@xxxxxxx> Date: Mon Sep 1 19:35:41 2014 +0200 ARM: Kirkwood: Fix DT based DSA. During the conversion of boards to use DT to instantiate Distributed Switch Architecture, nobody volunteered to test. As to be expected, the conversion was flawed. Testers and access to hardware has now become available, and this patch hopefully fixes the problems. dsa,mii-bus must be a phandle to the top level mdio node, not the port specific subnode of the mdio device. dsa,ethernet must be a phandle to the port subnode within the ethernet DT node, not the ethernet node. Don't pinctrl hog the card detect gpio for mvsdio. Rename the .dts files to make it clearer which file is for the Z0 stepping and which for the A0 or later stepping. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: seugene@xxxxxxxxxxx Tested-by: Eugene Sanivsky <seugene@xxxxxxxxxxx> Fixes: e2eaa339af44: ("ARM: Kirkwood: convert rd88f6281-setup.c to DT.") Fixes: e7c8f3808be8: ("ARM: kirkwood: Convert mv88f6281gtw_ge switch setup to DT") Cc: <stable@xxxxxxxxxxxxxxx> #v3.15+ Link: https://lkml.kernel.org/r/1409592941-22244-1-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit c55542983e572bcac813fd9a393e725e158074be Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Fri Sep 12 10:43:11 2014 +0800 r8152: support VLAN Support hw VLAN for tx and rx. And enable them by default. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f19f916d64e7a0af743bbfc7d1594db08c712f9f Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Fri Sep 12 07:12:57 2014 +0800 net: stmmac: fix return value check in socfpga_dwmac_parse_data() In case of error, the function devm_ioremap_resource() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ce62a84d53cd3d3cc5377bbf339e9b08ddf9c36 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:07:16 2014 -0700 ipv6: exit early in addrconf_notify() if IPv6 is disabled If IPv6 is explicitly disabled before the interface comes up, it makes no sense to continue when it comes up, even just print a message. (I am not sure about other cases though, so I prefer not to touch) Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4361eb664de09a9f60955c7f5e9355f7ed46a08d Merge: 8801d48 1691c63 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 16:38:53 2014 -0400 Merge branch 'ipv6-cleanups' Cong Wang says: ==================== ipv6: clean up locking code in anycast and mcast This patchset cleans up the locking code in anycast.c and mcast.c and makes the refcount code more readable. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> v1 -> v2: * refactor some code and make it in a separated patch * update comments ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1691c63ea42d6f57ba769df401b9773664edb936 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:16 2014 -0700 ipv6: refactor ipv6_dev_mc_inc() Refactor out allocation and initialization and make the refcount code more readable. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f7ed925c1b4d62e82b72d8e99fa4be52fb0c73b6 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:15 2014 -0700 ipv6: update the comment in mcast.c Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 414b6c943fe25c5c576b6f0ce9077c29a150d826 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:14 2014 -0700 ipv6: drop some rcu_read_lock in mcast Similarly the code is already protected by rtnl lock. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5350916bfd49f737d73c4c512fbea1b3537c703 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:13 2014 -0700 ipv6: drop ipv6_sk_mc_lock in mcast Similarly the code is already protected by rtnl lock. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 83aa29eefdb152d65e65a90605593766b4f793ef Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:12 2014 -0700 ipv6: refactor __ipv6_dev_ac_inc() Refactor out allocation and initialization and make the refcount code more readable. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 013b4d90387a5dca54281263e0d4650db97bd67c Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:11 2014 -0700 ipv6: clean up ipv6_dev_ac_inc() Make it accept inet6_dev, and rename it to __ipv6_dev_ac_inc() to reflect this change. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b03a9c04a3a605815c232506e1d76281afe0946f Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:10 2014 -0700 ipv6: remove ipv6_sk_ac_lock Just move rtnl lock up, so that the anycast list can be protected by rtnl lock now. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c555490e0ce885a9caf0a045db69382a3ccbc9c Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Thu Sep 11 15:35:09 2014 -0700 ipv6: drop useless rcu_read_lock() in anycast These code is now protected by rtnl lock, rcu read lock is useless now. Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ecbb3c3c712d9c859586886d621e3b6175da972 Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Sun Feb 9 10:30:00 2014 +0000 iio: accel: BMC150: add support for other Bosch chips The following chips are either similar or have only the resolution different. Hence, change this driver to support these chips too: BMI055 - combo chip (accelerometer part is identical to BMC150's) BMA255 - identical to BMC150's accelerometer BMA222E - 8 bit resolution BMA250E - 10 bit resolution BMA280 - 14 bit resolution Additionally: * add bmc150_accel_match_acpi_device() function to check that the device has been enumerated through ACPI; * rename bmc150_accel_acpi_gpio_probe() to bmc150_accel_gpio_probe() since the ACPI matching has been moved to the new function. Also, this will allow for the GPIO matching to be done against a device tree too, not only ACPI tree; * rename bmc150_scale_info struct member 'range' to 'reg_range' to be consistent with the naming convention used elsewhere in the driver and declare it u8, instead of int; * change CONFIG description to list all supported chips; Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Acked-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 8801d48cbde6ddd275c1e6b866e434a72cafeabd Merge: b25bd25 8c0bc55 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 16:29:57 2014 -0400 Merge branch 'bonding-next' Nikolay Aleksandrov says: ==================== bonding: get rid of curr_slave_lock This is the second patch-set dealing with bond locking and the purpose here is to convert curr_slave_lock into a spinlock called "mode_lock" which can be used in the various modes for their specific needs. The first three patches cleanup the use of curr_slave_lock and prepare it for the conversion which is done in patch 4 and then the modes that were using their own locks are converted to use the new "mode_lock" giving us the opportunity to remove their locks. This patch-set has been tested in each mode by running enslave/release of slaves in parallel with traffic transmission and miimon=1 i.e. running all the time. In fact this lead to the discovery of a subtle bug related to RCU which will be fixed in -net. Also did an allmodconfig test just in case :-) v2: fix bond_3ad_state_machine_handler's use of mode_lock and curr_slave_lock ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c0bc550288d81e9ad8a2ed9136a72140b9ef507 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:28 2014 +0200 bonding: adjust locking comments Now that locks have been removed, remove some unnecessary comments and adjust others to reflect reality. Also add a comment to "mode_lock" to describe its current users and give a brief summary why they need it. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e470259fa1bd7ce5a375b16c5ec97cc0e83b058d Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:27 2014 +0200 bonding: 3ad: convert to bond->mode_lock Now that we have bond->mode_lock, we can remove the state_machine_lock and use it in its place. There're no fast paths requiring the per-port spinlocks so it should be okay to consolidate them into mode_lock. Also move it inside the unbinding function as we don't want to expose mode_lock outside of the specific modes. Suggested-by: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4bab16d7c97498e91564231b922d49f52efaf7d4 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:26 2014 +0200 bonding: alb: convert to bond->mode_lock The ALB/TLB specific spinlocks are no longer necessary as we now have bond->mode_lock for this purpose, so convert them and remove them from struct alb_bond_info. Also remove the unneeded lock/unlock functions and use spin_lock/unlock directly. Suggested-by: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b743562819bd97cc7c282e870896bae8016b64b5 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:25 2014 +0200 bonding: convert curr_slave_lock to a spinlock and rename it curr_slave_lock is now a misleading name, a much better name is mode_lock as it'll be used for each mode's purposes and it's no longer necessary to use a rwlock, a simple spinlock is enough. Suggested-by: Jay Vosburgh <jay.vosburgh@xxxxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1c72cfdc96e63bf975cab514c4ca4d8a661ba0e6 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:24 2014 +0200 bonding: clean curr_slave_lock use Mostly all users of curr_slave_lock already have RTNL as we've discussed previously so there's no point in using it, the one case where the lock must stay is the 3ad code, in fact it's the only one. It's okay to remove it from bond_do_fail_over_mac() as it's called with RTNL and drops the curr_slave_lock anyway. bond_change_active_slave() is one of the main places where curr_slave_lock was used, it's okay to remove it as all callers use RTNL these days before calling it, that's why we move the ASSERT_RTNL() in the beginning to catch any potential offenders to this rule. The RTNL argument actually applies to all of the places where curr_slave_lock has been removed from in this patch. Also remove the unnecessary bond_deref_active_protected() macro and use rtnl_dereference() instead. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62c5f5185397f4bd8e5defe6fcb86420deeb2b38 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:23 2014 +0200 bonding: alb: remove curr_slave_lock First in rlb_teach_disabled_mac_on_primary() it's okay to remove curr_slave_lock as all callers except bond_alb_monitor() already hold RTNL, and in case bond_alb_monitor() is executing we can at most have a period with bad throughput (very unlikely though). In bond_alb_monitor() it's okay to remove the read_lock as the slave list is walked with RCU and the worst that could happen is another transmitter at the same time and thus for a period which currently is 10 seconds (bond_alb.h: BOND_ALB_LP_TICKS). And bond_alb_handle_active_change() is okay because it's always called with RTNL. Removed the ASSERT_RTNL() because it'll be inserted in the parent function in a following patch. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86e749866d7c6b0ee1f9377cf7142f2690596a05 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Thu Sep 11 22:49:22 2014 +0200 bonding: 3ad: clean up curr_slave_lock usage Remove the read_lock in bond_3ad_lacpdu_recv() since when the slave is being released its rx_handler is removed before 3ad unbind, so even if packets arrive, they won't see the slave in an inconsistent state. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71557d70b3c1c391ade6622a1369a3f2b695a1d8 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 10 17:10:35 2014 +0200 ARM: dts: rockchip: clean up rk3xxx mmc nodes Commit 356649ab6d64 ("ARM: dts: rockchip: unuse the slot-node and deprecate the supports-highspeed for dw-mmc") removed the slots but not the #xx-cells properties describing the subnodes. Do this now. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 4ff4ae1258a9d091e3ab4e467ca101cd6f0ccdd0 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 10 17:04:36 2014 +0200 ARM: dts: rockchip: add emmc nodes for rk3066 and rk3188 Add the controller node, pinctrl settings for the customizable pins and sort the controllers like on rk3288 as emmc, sdmmc, sdio for handling convenience. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 39c2bd782a2c50c51bced96ad3f2c97d4997d949 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Wed Sep 10 16:28:02 2014 +0200 ARM: dts: rockchip: add Cortex-A9 SPI controller nodes This adds basic spi nodes and pinctrl settings to the rk3066 and rk3188 devicetree files. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit f1c8547f56f1da9db51fe3281479c823e949a9fd Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 9 15:40:52 2014 +0200 ARM: dts: rockchip: enable usb ports on Radxa Rock This enables both the otg and host port and adds the vbus regulators on the Radxa Rock board. As we don't have phy support yet, the vbus regulators are added in always-on mode. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fd14e6f9b461c73c8706a2c7d3fb12fe07e59942 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 9 15:37:27 2014 +0200 ARM: dts: rockchip: add dwc2 controllers for rk3066 and rk3188 Add the two dwc2 controllers providing an otg and a designated host port. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ce6965ebcc0a5fa4bcaeba14956ae57c4e7f339c Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Tue Sep 9 15:27:27 2014 +0200 ARM: dts: rockchip: remove rockchip,bus-index from rk3xxx i2c0 This is a remnant from the first i2c driver iteration that seems to have been forgotten and thus made its way into the dtsi. Remove it. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit f6361c6b3880063c2248d4e453331e3dc1efbf83 Author: Heiko Stuebner <heiko@xxxxxxxxx> Date: Sun Sep 14 02:43:09 2014 +0900 ARM: S3C24XX: remove separate restart code The restart-handler series from Guenter Roeck got accepted recently and implements among other things also the restart handler in the samsung watchdog driver and where applicable in the clock drivers. So there is no need for having the restart callbacks in s3c24xx boards anymore. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 68ba947c1208504080397b9fc55a0ae9ba92936d Author: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Date: Sun Sep 14 02:31:19 2014 +0900 ARM: EXYNOS: Do not calculate boot address twice Commit b3205dea8fbf ("ARM: EXYNOS: Map SYSRAM through generic DT bindings") introduced local variable boot_reg where boot address from cpu_boot_reg() call is stored. Re-use it instead calling cpu_boot_reg() again. Signed-off-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 3b8fe9859112dd46c5aff521ec51e9e301278873 Author: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Date: Sun Sep 14 02:20:18 2014 +0900 ARM: dts: update display related nodes for exynos5420-peach-pit Add DT nodes for ps8622 bridge chip and panel. Add backlight power supply for pwm-backlight. Also add bridge phandle needed by dp to enable display on peach_pit. Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit a98c3c23868fbb5eda3fd321cab89c6e34cc5b47 Author: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Date: Sun Sep 14 02:16:35 2014 +0900 ARM: dts: update display related nodes for exynos5250-snow Add DT nodes for ptn3460 bridge chip and panel. Add backlight enable pin and backlight power supply for pwm-backlight. Also add bridge phandle needed by dp to enable display on snow. Signed-off-by: Ajay Kumar <ajaykumar.rs@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit dc4ecaf21c4a0c060f2728d31bf492ceb2c8daaf Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Thu Jan 9 10:20:00 2014 +0000 staging: iio: light: isl29018: add ACPI support Add support for enumerating the device through ACPI. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b25bd2515ea32cf5ddd5fd5a2a93b8c9dd875e4f Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Sep 11 10:17:38 2014 +0930 virtio_ring: unify direct/indirect code paths. virtqueue_add() populates the virtqueue descriptor table from the sgs given. If it uses an indirect descriptor table, then it puts a single descriptor in the descriptor table pointing to the kmalloc'ed indirect table where the sg is populated. Previously vring_add_indirect() did the allocation and the simple linear layout. We replace that with alloc_indirect() which allocates the indirect table then chains it like the normal descriptor table so we can reuse the core logic. This slows down pktgen by less than 1/2 a percent (which uses direct descriptors), as well as vring_bench, but it's far neater. vring_bench before: 1061485790-1104800648(1.08254e+09+/-6.6e+06)ns vring_bench after: 1125610268-1183528965(1.14172e+09+/-8e+06)ns pktgen before: 787781-796334(793165+/-2.4e+03)pps 365-369(367.5+/-1.2)Mb/sec (365530384-369498976(3.68028e+08+/-1.1e+06)bps) errors: 0 pktgen after: 779988-790404(786391+/-2.5e+03)pps 361-366(364.35+/-1.3)Mb/sec (361914432-366747456(3.64885e+08+/-1.2e+06)bps) errors: 0 Now, if we make force indirect descriptors by turning off any_header_sg in virtio_net.c: pktgen before: 713773-721062(718374+/-2.1e+03)pps 331-334(332.95+/-0.92)Mb/sec (331190672-334572768(3.33325e+08+/-9.6e+05)bps) errors: 0 pktgen after: 710542-719195(714898+/-2.4e+03)pps 329-333(331.15+/-1.1)Mb/sec (329691488-333706480(3.31713e+08+/-1.1e+06)bps) errors: 0 Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eeebf9b1fc0862466c5661d63fbaf66ab4a50210 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Sep 11 10:17:37 2014 +0930 virtio_ring: assume sgs are always well-formed. We used to have several callers which just used arrays. They're gone, so we can use sg_next() everywhere, simplifying the code. On my laptop, this slowed down vring_bench by 15%: vring_bench before: 936153354-967745359(9.44739e+08+/-6.1e+06)ns vring_bench after: 1061485790-1104800648(1.08254e+09+/-6.6e+06)ns However, a more realistic test using pktgen on a AMD FX(tm)-8320 saw a few percent improvement: pktgen before: 767390-792966(785159+/-6.5e+03)pps 356-367(363.75+/-2.9)Mb/sec (356068960-367936224(3.64314e+08+/-3e+06)bps) errors: 0 pktgen after: 787781-796334(793165+/-2.4e+03)pps 365-369(367.5+/-1.2)Mb/sec (365530384-369498976(3.68028e+08+/-1.1e+06)bps) errors: 0 Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a58354409a00f2d8f7882c6a91fde1df5d0a4bb8 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Thu Sep 11 10:17:36 2014 +0930 virtio_net: pass well-formed sgs to virtqueue_add_*() This is the only driver which doesn't hand virtqueue_add_inbuf and virtqueue_add_outbuf a well-formed, well-terminated sg. Fix it, so we can make virtio_add_* simpler. pktgen results: modprobe pktgen echo 'add_device eth0' > /proc/net/pktgen/kpktgend_0 echo nowait 1 > /proc/net/pktgen/eth0 echo count 1000000 > /proc/net/pktgen/eth0 echo clone_skb 100000 > /proc/net/pktgen/eth0 echo dst_mac 4e:14:25:a9:30:ac > /proc/net/pktgen/eth0 echo dst 192.168.1.2 > /proc/net/pktgen/eth0 for i in `seq 20`; do echo start > /proc/net/pktgen/pgctrl; tail -n1 /proc/net/pktgen/eth0; done Before: 746547-793084(786421+/-9.6e+03)pps 346-367(364.4+/-4.4)Mb/sec (346397808-367990976(3.649e+08+/-4.5e+06)bps) errors: 0 After: 767390-792966(785159+/-6.5e+03)pps 356-367(363.75+/-2.9)Mb/sec (356068960-367936224(3.64314e+08+/-3e+06)bps) errors: 0 Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b01f5bf3999a3db5b1bbd9fdfd80d8d304e94ee Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Mon Aug 18 01:36:07 2014 +0200 nohz: nohz full depends on irq work self IPI support The nohz full functionality depends on IRQ work to trigger its own interrupts. As it's used to restart the tick, we can't rely on the tick fallback for irq work callbacks, ie: we can't use the tick to restart the tick itself. Lets reject the full dynticks initialization if that arch support isn't available. As a side effect, this makes sure that nohz kick is never called from the tick. That otherwise would result in illegal hrtimer self-cancellation and lockup. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 4327b15f64b2580dad40d2674d50fc44f1b699c1 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sun Aug 17 22:02:55 2014 +0200 nohz: Consolidate nohz full init code The supports for CONFIG_NO_HZ_FULL_ALL=y and the nohz_full= kernel parameter both have their own way to do the same thing: allocate full dynticks cpumasks, fill them and initialize some state variables. Lets consolidate that all in the same place. While at it, convert some regular printk message to warnings when fundamental allocations fail. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 3631073659d0aafeaa52227bb61a100efaf901dc Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 16 18:48:05 2014 +0200 arm64: Tell irq work about self IPI support ARM64 irq work self-IPI support depends on __smp_cross_call to point to some relevant IRQ controller operations. This information should be available after the call to init_IRQ(). Lets implement arch_irq_work_has_interrupt() accordingly. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 0fe13151beaf1853753339c677d1bb37e5dbff27 Merge: 54996b5 de591c7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 12:43:24 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-09-12 This series contains updates to e1000, ixgbe and ixgbevf. Mark provide two fixes to reduce compile warnings produce by ixgbe and ixgbevf. Alex provides two patches for ixgbe, first removes the receive buffer allocation at the end of the ixgbe_clean_rx_irq(). The reason for removing this is to avoid the extra latency introduced by the MMIO write. Second patch addresses several issues in the current ixgbe implementation of busy poll sockets. It was possible for frames to be delivered out of order if they were held in GRO, so address this by flushing the GRO buffers before releasing the q_vector back to the idle state. Also, we were having to take a spinlock on changing the state to and from idle, so to resolve this, replaced the state value with an atomic and use atomic_cmpxchg to change the value from idle, and a simple atomic set to restore it back to idle after we have acquired it. This allows us to only use a locked operation on acquiring the vector without a need for a locked operation to release it. Florian Westphal provides several patches for e1000 which does some cleanup and updating of the driver. Moved e1000_tbi_adjust_stats() so that he could make the function static. Added a helper function to deal with the tbi workaround that was located in 2 different Rx clean functions. Added a e1000_rx_buffer struct for use on receive since the transmit and receive have different requirements. Updates e1000 to use napi_gro_frags API. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 09f6edd424218eb69078551b2ecfada1f2d098eb Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 16 18:47:53 2014 +0200 arm: Tell irq work about self IPI support ARM irq work IPI support depends on SMP support. That information is partly known at early boottime. Lets implement arch_irq_work_has_interrupt() accordingly. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 3010279f0fc36f0388872203e63ca49912f648fd Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 16 18:47:15 2014 +0200 x86: Tell irq work about self IPI support x86 supports irq work self-IPIs when local apic is available. This is partly known on runtime so lets implement arch_irq_work_has_interrupt() accordingly. This should be safely called after setup_arch(). Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 3b40a80216e941c518426f7b86705e52acbd413f Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Sat Sep 13 08:41:38 2014 +0800 ASoC: rockchip-i2s: add dma data to snd_soc_dai Add playback/capture dma data to snd_soc_dai. Test on RK3288 with max98090. Signed-off-by: Jianqun Xu <jay.xu@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38306afc107c53c379757e7f3146a6418328ebc9 Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Sat Sep 13 08:40:19 2014 +0800 ASoC: rockchip-i2s: fix rockchip i2s defination more reasonable Fix SND_ROCKCHIP_I2S to be more reasonable - SND_SOC_ROCKCHIP_I2S, SND_SOC_ROCKCHIP_I2S should select by audio driver, instead of SND_SOC_ROCKCHIP. Signed-off-by: Jianqun Xu <jay.xu@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76a33061b9323b7fdb220ae5fa116c10833ec22e Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 16 18:37:19 2014 +0200 irq_work: Force raised irq work to run on irq work interrupt The nohz full kick, which restarts the tick when any resource depend on it, can't be executed anywhere given the operation it does on timers. If it is called from the scheduler or timers code, chances are that we run into a deadlock. This is why we run the nohz full kick from an irq work. That way we make sure that the kick runs on a virgin context. However if that's the case when irq work runs in its own dedicated self-ipi, things are different for the big bunch of archs that don't support the self triggered way. In order to support them, irq works are also handled by the timer interrupt as fallback. Now when irq works run on the timer interrupt, the context isn't blank. More precisely, they can run in the context of the hrtimer that runs the tick. But the nohz kick cancels and restarts this hrtimer and cancelling an hrtimer from itself isn't allowed. This is why we run in an endless loop: Kernel panic - not syncing: Watchdog detected hard LOCKUP on cpu 2 CPU: 2 PID: 7538 Comm: kworker/u8:8 Not tainted 3.16.0+ #34 Workqueue: btrfs-endio-write normal_work_helper [btrfs] ffff880244c06c88 000000001b486fe1 ffff880244c06bf0 ffffffff8a7f1e37 ffffffff8ac52a18 ffff880244c06c78 ffffffff8a7ef928 0000000000000010 ffff880244c06c88 ffff880244c06c20 000000001b486fe1 0000000000000000 Call Trace: <NMI[<ffffffff8a7f1e37>] dump_stack+0x4e/0x7a [<ffffffff8a7ef928>] panic+0xd4/0x207 [<ffffffff8a1450e8>] watchdog_overflow_callback+0x118/0x120 [<ffffffff8a186b0e>] __perf_event_overflow+0xae/0x350 [<ffffffff8a184f80>] ? perf_event_task_disable+0xa0/0xa0 [<ffffffff8a01a4cf>] ? x86_perf_event_set_period+0xbf/0x150 [<ffffffff8a187934>] perf_event_overflow+0x14/0x20 [<ffffffff8a020386>] intel_pmu_handle_irq+0x206/0x410 [<ffffffff8a01937b>] perf_event_nmi_handler+0x2b/0x50 [<ffffffff8a007b72>] nmi_handle+0xd2/0x390 [<ffffffff8a007aa5>] ? nmi_handle+0x5/0x390 [<ffffffff8a0cb7f8>] ? match_held_lock+0x8/0x1b0 [<ffffffff8a008062>] default_do_nmi+0x72/0x1c0 [<ffffffff8a008268>] do_nmi+0xb8/0x100 [<ffffffff8a7ff66a>] end_repeat_nmi+0x1e/0x2e [<ffffffff8a0cb7f8>] ? match_held_lock+0x8/0x1b0 [<ffffffff8a0cb7f8>] ? match_held_lock+0x8/0x1b0 [<ffffffff8a0cb7f8>] ? match_held_lock+0x8/0x1b0 <<EOE><IRQ[<ffffffff8a0ccd2f>] lock_acquired+0xaf/0x450 [<ffffffff8a0f74c5>] ? lock_hrtimer_base.isra.20+0x25/0x50 [<ffffffff8a7fc678>] _raw_spin_lock_irqsave+0x78/0x90 [<ffffffff8a0f74c5>] ? lock_hrtimer_base.isra.20+0x25/0x50 [<ffffffff8a0f74c5>] lock_hrtimer_base.isra.20+0x25/0x50 [<ffffffff8a0f7723>] hrtimer_try_to_cancel+0x33/0x1e0 [<ffffffff8a0f78ea>] hrtimer_cancel+0x1a/0x30 [<ffffffff8a109237>] tick_nohz_restart+0x17/0x90 [<ffffffff8a10a213>] __tick_nohz_full_check+0xc3/0x100 [<ffffffff8a10a25e>] nohz_full_kick_work_func+0xe/0x10 [<ffffffff8a17c884>] irq_work_run_list+0x44/0x70 [<ffffffff8a17c8da>] irq_work_run+0x2a/0x50 [<ffffffff8a0f700b>] update_process_times+0x5b/0x70 [<ffffffff8a109005>] tick_sched_handle.isra.21+0x25/0x60 [<ffffffff8a109b81>] tick_sched_timer+0x41/0x60 [<ffffffff8a0f7aa2>] __run_hrtimer+0x72/0x470 [<ffffffff8a109b40>] ? tick_sched_do_timer+0xb0/0xb0 [<ffffffff8a0f8707>] hrtimer_interrupt+0x117/0x270 [<ffffffff8a034357>] local_apic_timer_interrupt+0x37/0x60 [<ffffffff8a80010f>] smp_apic_timer_interrupt+0x3f/0x50 [<ffffffff8a7fe52f>] apic_timer_interrupt+0x6f/0x80 To fix this we force non-lazy irq works to run on irq work self-IPIs when available. That ability of the arch to trigger irq work self IPIs is available with arch_irq_work_has_interrupt(). Reported-by: Catalin Iacob <iacobcatalin@xxxxxxxxx> Reported-by: Dave Jones <davej@xxxxxxxxxx> Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit c5c38ef3d70377dc504a6a3f611a3ec814bc757b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sat Sep 6 15:43:02 2014 +0200 irq_work: Introduce arch_irq_work_has_interrupt() The nohz full code needs irq work to trigger its own interrupt so that the subsystem can work even when the tick is stopped. Lets introduce arch_irq_work_has_interrupt() that archs can override to tell about their support for this ability. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 01605ad12875c7b5ed71b486f9badb338f4f8c21 Author: Jianqun <jay.xu@xxxxxxxxxxxxxx> Date: Sat Sep 13 08:43:13 2014 +0800 ASoC: rockchip-i2s: enable "hclk" for rockchip I2S controller As "hclk" is used for rockchip I2S controller, driver must to enable it in probe. Tested on RK3288 with max98090. Signed-off-by: Jianqun Xu <jay.xu@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a80e49e2cc3145af014a8ae44f575829cc236192 Author: Frederic Weisbecker <fweisbec@xxxxxxxxx> Date: Sat Aug 16 17:47:18 2014 +0200 nohz: Move nohz full init call to tick init This way we unbloat a bit main.c and more importantly we initialize nohz full after init_IRQ(). This dependency will be needed in further patches because nohz full needs irq work to raise its own IRQ. Information about the support for this ability on ARM64 is obtained on init_IRQ() which initialize the pointer to __smp_call_function. Since tick_init() is called right after init_IRQ(), this is a good place to call tick_nohz_init() and prepare for that dependency. Acked-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 132fd5be706f3d91a3589f493e1ec3ec85adba6c Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sun Sep 14 01:33:20 2014 +0900 ARM: dts: Add support Atmel touchpad for exynos5800-peach-pi The Peach Pi board has an Atmel maXTouch trackpad device. Add the needed Device Tree nodes to support it. This Device Tree change is based on the Chrome OS 3.8 tree but adapted to use the mainline Atmel maXTouch DT binding. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 6a9e7318f288d7f01b0d178d41566406c0843d38 Author: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Date: Sun Sep 14 01:33:15 2014 +0900 ARM: dts: Add support Atmel touchpad for exynos5420-peach-pit The Peach Pit board has an Atmel maXTouch trackpad device. Add the needed Device Tree nodes to support it. This Device Tree change is based on the Chrome OS 3.8 tree but adapted to use the mainline Atmel maXTouch DT binding. Signed-off-by: Sjoerd Simons <sjoerd.simons@xxxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 54996b529ab70ca1d6f40677cd2698c4f7127e87 Merge: 1f947bf d355ab0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 13 12:30:33 2014 -0400 Merge branch 'sched_rcu' John Fastabend says: ==================== net/sched rcu classifiers and tcf This series converts the tcf_proto usage to RCU. This requires updating each classifier individually to handle the new copy/update requirement and also to update the core list traversals. This makes the assumption that updates to the tables are infrequent in comparison to the packet per second being classified. On a 10Gbps running near line rate we can easily produce 12+ million packets per second so IMO this is a reasonable assumption. The updates are serialized by RTNL. I have done some basic testing on this series and do not see any immediate splats or issues. The patch series has been running on my dev systems for a month or so now and I've not seen any issues. Although my configurations are not overly complicated. My test cases at this point cover all the filters with a tight loop to add/remove filters. Some basic estimator tests where I add an estimator to the qdisc and verify the statistics accurate using pktgen. And finally I have a small script to exercise the 'tc actions' interface. Feel free to send me more tests off list and I can run them. This is prep work to drop the qdisc lock with the first target being the ingress qdisc. To be done is making the tc actions RCU safe and statistics per cpu. These patches are in the works. Comments: - Checkpatch is still giving errors on some >80 char lines I know about this. IMO the way to fix this is to restructure the sched code to avoid being so heavily indented. But doing this here bloats the patchset and anyways there are already lots of >80 chars in these files. I would prefer to keep the patches as is but let me know if others think I should fix these and I will. A follow up patch set could restructure the code and fix this throughout the code blocks. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f947bf151e90ec0baad294881607ebf321a2863 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:10:24 2014 -0700 net: sched: rcu'ify cls_bpf This patch makes the cls_bpf classifier RCU safe. The tcf_lock was being used to protect a list of cls_bpf_prog now this list is RCU safe and updates occur with rcu_replace. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b929d86d25352496c528fcd74fdcabe3f6a4994a Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:09:49 2014 -0700 net: sched: rcu'ify cls_rsvp Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ce87720d456e471de0fbd814dc5d1fe10fc1c44 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:09:16 2014 -0700 net: sched: make cls_u32 lockless Make cls_u32 classifier safe to run without holding lock. This patch converts statistics that are kept in read section u32_classify into per cpu counters. This patch was tested with a tight u32 filter add/delete loop while generating traffic with pktgen. By running pktgen on vlan devices created on top of a physical device we can hit the qdisc layer correctly. For ingress qdisc's a loopback cable was used. for i in {1..100}; do q=`echo $i%8|bc`; echo -n "u32 tos: iteration $i on queue $q"; tc filter add dev p3p2 parent $p prio $i u32 match ip tos 0x10 0xff \ action skbedit queue_mapping $q; sleep 1; tc filter del dev p3p2 prio $i; echo -n "u32 tos hash table: iteration $i on queue $q"; tc filter add dev p3p2 parent $p protocol ip prio $i handle 628: u32 divisor 1 tc filter add dev p3p2 parent $p protocol ip prio $i u32 \ match ip protocol 17 0xff link 628: offset at 0 mask 0xf00 shift 6 plus 0 tc filter add dev p3p2 parent $p protocol ip prio $i u32 \ ht 628:0 match ip tos 0x10 0xff action skbedit queue_mapping $q sleep 2; tc filter del dev p3p2 prio $i sleep 1; done Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 459d5f626da75573e985a7197b0919c3b143146c Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:08:47 2014 -0700 net: sched: make cls_u32 per cpu This uses per cpu counters in cls_u32 in preparation to convert over to rcu. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 331b72922c5f58d48fd5500acadc91777cc31970 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:08:20 2014 -0700 net: sched: RCU cls_tcindex Make cls_tcindex RCU safe. This patch addds a new RCU routine rcu_dereference_bh_rtnl() to check caller either holds the rcu read lock or RTNL. This is needed to handle the case where tcindex_lookup() is being called in both cases. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1109c00547fc66df45b9ff923544be4c1e1bec13 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:07:50 2014 -0700 net: sched: RCU cls_route RCUify the route classifier. For now however spinlock's are used to protect fastmap cache. The issue here is the fastmap may be read by one CPU while the cache is being updated by another. An array of pointers could be one possible solution. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e35a8ee5993ba81fd6c092f6827458c60406255b Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:07:22 2014 -0700 net: sched: fw use RCU RCU'ify fw classifier. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 70da9f0bf999627e50950f6845bd3819ff811085 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:06:55 2014 -0700 net: sched: cls_flow use RCU Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 952313bd62589cae216a579bb7ebc76f8e290817 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:06:26 2014 -0700 net: sched: cls_cgroup use RCU Make cgroup classifier safe for RCU. Also drops the calls in the classify routine that were doing a rcu_read_lock()/rcu_read_unlock(). If the rcu_read_lock() isn't held entering this routine we have issues with deleting the classifier chain so remove the unnecessary rcu_read_lock()/rcu_read_unlock() pair noting all paths AFAIK hold rcu_read_lock. If there is a case where classify is called without the rcu read lock then an rcu splat will occur and we can correct it. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9888faefe1327909f3acf34d1feda87a368bb858 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:05:59 2014 -0700 net: sched: cls_basic use RCU Enable basic classifier for RCU. Dereferencing tp->root may look a bit strange here but it is needed by my accounting because it is allocated at init time and needs to be kfree'd at destroy time. However because it may be referenced in the classify() path we must wait an RCU grace period before free'ing it. We use kfree_rcu() and rcu_ APIs to enforce this. This pattern is used in all the classifiers. Also the hgenerator can be incremented without concern because it is always incremented under RTNL. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 25d8c0d55f241ce2d360df1bea48e23a55836ee6 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:05:27 2014 -0700 net: rcu-ify tcf_proto rcu'ify tcf_proto this allows calling tc_classify() without holding any locks. Updaters are protected by RTNL. This patch prepares the core net_sched infrastracture for running the classifier/action chains without holding the qdisc lock however it does nothing to ensure cls_xxx and act_xxx types also work without locking. Additional patches are required to address the fall out. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 46e5da40aec256155cfedee96dd21a75da941f2c Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:04:52 2014 -0700 net: qdisc: use rcu prefix and silence sparse warnings Add __rcu notation to qdisc handling by doing this we can make smatch output more legible. And anyways some of the cases should be using rcu_dereference() see qdisc_all_tx_empty(), qdisc_tx_chainging(), and so on. Also *wake_queue() API is commonly called from driver timer routines without rcu lock or rtnl lock. So I added rcu_read_lock() blocks around netif_wake_subqueue and netif_tx_wake_queue. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d355ab09594118b8dfb3d78dbda72fff634a934b Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:10:24 2014 -0700 net: sched: rcu'ify cls_bpf This patch makes the cls_bpf classifier RCU safe. The tcf_lock was being used to protect a list of cls_bpf_prog now this list is RCU safe and updates occur with rcu_replace. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b21e2307f2601fd3baaddb3e22f1a25e6719695 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:09:49 2014 -0700 net: sched: rcu'ify cls_rsvp Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f787cd1cc1ea51cde3bba82bd0a63b343f88a32 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:09:16 2014 -0700 net: sched: make cls_u32 lockless Make cls_u32 classifier safe to run without holding lock. This patch converts statistics that are kept in read section u32_classify into per cpu counters. This patch was tested with a tight u32 filter add/delete loop while generating traffic with pktgen. By running pktgen on vlan devices created on top of a physical device we can hit the qdisc layer correctly. For ingress qdisc's a loopback cable was used. for i in {1..100}; do q=`echo $i%8|bc`; echo -n "u32 tos: iteration $i on queue $q"; tc filter add dev p3p2 parent $p prio $i u32 match ip tos 0x10 0xff \ action skbedit queue_mapping $q; sleep 1; tc filter del dev p3p2 prio $i; echo -n "u32 tos hash table: iteration $i on queue $q"; tc filter add dev p3p2 parent $p protocol ip prio $i handle 628: u32 divisor 1 tc filter add dev p3p2 parent $p protocol ip prio $i u32 \ match ip protocol 17 0xff link 628: offset at 0 mask 0xf00 shift 6 plus 0 tc filter add dev p3p2 parent $p protocol ip prio $i u32 \ ht 628:0 match ip tos 0x10 0xff action skbedit queue_mapping $q sleep 2; tc filter del dev p3p2 prio $i sleep 1; done Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4f640502dfbe9b658f9008ee614932bb463d541 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:08:47 2014 -0700 net: sched: make cls_u32 per cpu This uses per cpu counters in cls_u32 in preparation to convert over to rcu. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8332904aa971ed4547514f57c8b3780ad4f0f949 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:08:20 2014 -0700 net: sched: RCU cls_tcindex Make cls_tcindex RCU safe. This patch addds a new RCU routine rcu_dereference_bh_rtnl() to check caller either holds the rcu read lock or RTNL. This is needed to handle the case where tcindex_lookup() is being called in both cases. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc91210cd2f6832db1a174269627d97b7d4f2c80 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:07:50 2014 -0700 net: sched: RCU cls_route RCUify the route classifier. For now however spinlock's are used to protect fastmap cache. The issue here is the fastmap may be read by one CPU while the cache is being updated by another. An array of pointers could be one possible solution. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f31fea5a69089a40561548ff5931bc5e4e79b61 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:07:22 2014 -0700 net: sched: fw use RCU RCU'ify fw classifier. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ad7a97ae7aef6227456c7a90bf3b3522d25f3171 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:06:55 2014 -0700 net: sched: cls_flow use RCU Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c7953ef23042b7c4fc2be5ecdd216aacff6df5eb Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:06:26 2014 -0700 net: sched: cls_cgroup use RCU Make cgroup classifier safe for RCU. Also drops the calls in the classify routine that were doing a rcu_read_lock()/rcu_read_unlock(). If the rcu_read_lock() isn't held entering this routine we have issues with deleting the classifier chain so remove the unnecessary rcu_read_lock()/rcu_read_unlock() pair noting all paths AFAIK hold rcu_read_lock. If there is a case where classify is called without the rcu read lock then an rcu splat will occur and we can correct it. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8b9affec519d27ce202a7ed22617eecbd96f127 Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:05:59 2014 -0700 net: sched: cls_basic use RCU Enable basic classifier for RCU. Dereferencing tp->root may look a bit strange here but it is needed by my accounting because it is allocated at init time and needs to be kfree'd at destroy time. However because it may be referenced in the classify() path we must wait an RCU grace period before free'ing it. We use kfree_rcu() and rcu_ APIs to enforce this. This pattern is used in all the classifiers. Also the hgenerator can be incremented without concern because it is always incremented under RTNL. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80a735f7b952b8bd7028cfffba2105a38c1a9f0c Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:05:27 2014 -0700 net: rcu-ify tcf_proto rcu'ify tcf_proto this allows calling tc_classify() without holding any locks. Updaters are protected by RTNL. This patch prepares the core net_sched infrastracture for running the classifier/action chains without holding the qdisc lock however it does nothing to ensure cls_xxx and act_xxx types also work without locking. Additional patches are required to address the fall out. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b26b0d1e8b1de83bbce81c8d119260ac91031ebd Author: John Fastabend <john.fastabend@xxxxxxxxx> Date: Fri Sep 12 20:04:52 2014 -0700 net: qdisc: use rcu prefix and silence sparse warnings Add __rcu notation to qdisc handling by doing this we can make smatch output more legible. And anyways some of the cases should be using rcu_dereference() see qdisc_all_tx_empty(), qdisc_tx_chainging(), and so on. Also *wake_queue() API is commonly called from driver timer routines without rcu lock or rtnl lock. So I added rcu_read_lock() blocks around netif_wake_subqueue and netif_tx_wake_queue. Signed-off-by: John Fastabend <john.r.fastabend@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53288fe9bdc7e8a0265bbe9074f71f1a6c478008 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:11:56 2014 +0300 spi: dw: don't use mrst prefix anymore Since driver is used on other platforms and debugfs stuff would be useful there as well let's substitute mrst_ by dw_ where it suits. Additionally let's use SPI master device name when print registers dump. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 551f6a58d496a99702088ac762f247e04d8bfff9 Merge: 197e96b a2cea98 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 13 17:03:05 2014 +0100 Merge branch 'topic/checkpatch' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-dw commit 197e96b4d80554a66aff34df5406b4c2d26f0111 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:12:01 2014 +0300 spi: dw-mid: remove FSF address and update copyright The FSF address is subject to change, thus remove it from the file. While here, update a copyright line. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b89e9c87dd3b118f0b953d349e5bede1505e3bc5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:12:00 2014 +0300 spi: dw-mid: remove redundant dmac member Instead of using that member we prefer to use dma_dev which represents actual struct device of the DMA device. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ea092455d713d28c0b74a2ebe022524025d97491 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:11:59 2014 +0300 spi: dw-mid: remove Moorestown support The support of the Moorestown was removed [1] from kernel long time ago. This is just a follow up of that change. [1] http://www.spinics.net/lists/platform-driver-x86/msg02948.html Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fb57862ead652454ceeb659617404c5f13bc34b5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:11:58 2014 +0300 spi: dw-mid: check that DMA was inited before exit If the driver was compiled with DMA support, but DMA channels weren't acquired by some reason, mid_spi_dma_exit() will crash the kernel. Fixes: 7063c0d942a1 (spi/dw_spi: add DMA support) Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 05ed2aee3e97c9cfb737388706b439264e27eb0c Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 12 15:11:57 2014 +0300 spi: dw: remove FSF address There is no need to keep FSF address in the head of the file. While here, fix few typos in the header. There is no functional change. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8be6a6d04ceae15de160ca4cbc0915baaee801e4 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sun Sep 14 00:47:22 2014 +0900 ARM: dts: Set i2c7 clock at 400kHz for exynos based Peach boards The downstream ChromeOS 3.8 kernel sets the clock frequency for the I2C bus 7 at 400kHz. Do the same change in mainline. Suggested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit dc0cf1a3ecd53c55aecd7182bce15843ca29c895 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sun Sep 14 00:47:17 2014 +0900 ARM: dts: Add ISL29018 sensor for exynos based Peach boards The Exynos5420 based Peach Pit and the Exynos5800 based Peach Pi machines have an i2c ISL29018 light sensor. This patch adds the device nodes needed to support this device. These DTS snippets were taken from the downstream Chrome OS 3.8 kernel Device Tree for Peach Pit and Pi boards. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 7b4880389053266c12e00e4a8fd5916c86161960 Author: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Date: Sun Sep 14 00:46:56 2014 +0900 ARM: dts: Add thermistor dts fragment used by exynos based Peach boards This patch creates a thermistor fragment carrying the NTC Thermistor nodes as children of the IIO based ADC. This fragment is included in exynos5420-peach-pit.dts and exynos5800-peach-pi.dts. Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit e634a15242b99217189d43624b57de3fe73d47a5 Author: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Date: Sun Sep 14 00:45:23 2014 +0900 ARM: dts: add hdmi regulators for exynos5420-peach-pit Adding regulators for hdmi for peach-pit board. Signed-off-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 1dcd48c80063652966bbf5d588d50f9781e813e1 Author: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Date: Sun Sep 14 00:45:19 2014 +0900 ARM: dts: add hdmi regulators for exynos5800-peach-pi Adding regulators for HDMI for Peach-pi board. Signed-off-by: Rahul Sharma <rahul.sharma@xxxxxxxxxxx> Reviewed-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 064ac05080062ffa41fd4699583933d58a4a32d4 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Sun Sep 14 00:45:15 2014 +0900 ARM: dts: Add support max77802 PMIC for exynos based Peach boards Exynos5420 based Peach Pit and Exynos5800 based Peach Pi boards uses a Maxim 77802 power management IC to drive regulators and its Real Time Clock. This patch adds support for this chip. These are the device nodes and pinctrl configuration that are present on the Peach pit DeviceTree source file in the the Chrome OS kernel 3.8 tree. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit cfe4c93b58924b3764cd7269d3d953049405e938 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sat Sep 6 14:45:10 2014 +0800 clk: sunxi: add correct divider table for sun4i-apb0 clock The sun4i-apb0 clock, as found on all platforms using it, is a power-of-two-based divider clock, with a special divider of 2 for value 0. This was causing the clock framework to incorrectly calculate the clock rate for apb1 and related modules on sun6i and sun8i. On sun[4/5/7]i, u-boot SPL configures the divider with value 1 for /2 divider, so no suprises there. This patch adds a proper divider table for it, so the correct clock rate can be calculated. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit d537a3abb4b7085ebc3ce35e64acbad8ece1eece Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Aug 15 17:18:44 2014 -0600 PCI: pciehp: Reduce PCIe slot_ctrl to 16 bits 4283c70e91dc ("PCI: pciehp: Make pcie_wait_cmd() self-contained") added a cache of the most recent command written to the Slot Control register. This register is only 16 bits wide, but the cache ("slot_ctrl") is 32 bits. Reduce slot_ctrl to a u16 so it matches the register size. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 1302fcf0d03e6ea74846c7fee14736306ab2ce4b Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sat Aug 30 07:23:01 2014 -0600 PCI: Configure *all* devices, not just hot-added ones There's not really a good way to determine whether firmware has already configured a device with _HPP/_HPX settings. On legacy systems, the BIOS has probably configured everything, but on UEFI systems it is not required to do so. Per the PCI Firmware Specification, rev 3.1, sec 3.5, if PCI_COMMAND_IO or PCI_COMMAND_MEMORY is set, we can assume firmware has set the corresponding BARs and maybe we can assume it has configured the rest of the device. And if a bridge has PCI_COMMAND_PARITY or PCI_COMMAND_SERR set, we can assume firmware has configured the bridge. But we can't tell much about devices without BARs. I think it should be safe to apply _HPP and _HPX settings anyway, even if firmware has already configured the device, so configure everything we find. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 302328c00341f1c161bfe32d085d3e6549a08f2d Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Sep 3 13:26:29 2014 -0600 PCI: Preserve MPS and MRRS when applying _HPX settings Linux manages MPS and MRRS settings to keep them consistent across the PCIe fabric. BIOS doesn't participate in this Linux management, so ignore that part of any _HPX settings it supplies. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit ca0647e08acd327d508c0fa4553c2148dc7e08b4 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Sat Aug 30 07:22:13 2014 -0600 PCI: Apply _HPP settings to all hot-added PCI devices We currently apply _HPP settings only to: - non-bridge devices, and - PCI-to-PCI bridges i.e., we do not apply them to PCI-to-ISA bridges and the like. It has been that way since _HPP support was added by 40abb96c51bb ("pciehp: Fix programming hotplug parameters"), but I don't think there's any reason to exclude these other bridges. Apply _HPP settings to hot-added PCI devices of any type. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit eab3a0ee342106a1c82e10682c02632e9d6af0df Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Aug 27 14:38:14 2014 -0600 PCI: Preserve BIOS PCI_COMMAND_SERR and PCI_COMMAND_PARITY settings Do not clear PCI_COMMAND_SERR or PCI_COMMAND_PARITY based on _HPP. The spec (ACPI rev 5.0, sec 6.2.7) says that when "Enable SERR" is set to 1, we should enable SERR in the command register. It says nothing about *disabling* SERR or PERR; in fact, the example in 6.2.7.1 says we should leave PERR alone unless "Enable PERR" is 1. For hot-added devices, this probably doesn't matter because they power up with these bits cleared. But in addition to hot-plugged devices, the spec allows the platform to use _HPP for "configuration of PCI devices not configured by the BIOS at system boot," and it may make a difference for devices present at boot. This change means that if BIOS enables SERR or PERR on a device, and it supplies _HPP or _HPX with the SERR or PERR bits *cleared*, we will now leave SERR or PERR reporting enabled on that device instead of disabling it as we previously did. See also 40abb96c51bb ("pciehp: Fix programming hotplug parameters"), where this code was first added. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit c6285fc5b55ecbf78c53301a191f04bb2fda1b3a Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Aug 29 18:10:19 2014 -0600 PCI: Apply _HPP settings to PCIe devices as well as PCI and PCI-X The ACPI _HPP method was defined before PCIe existed, so its documentation only mentions PCI. The _HPX Type 0 setting record is essentially identical to _HPP, but the spec (ACPI rev 5.0, sec 6.2.8.1) says it should be applied to PCI, PCI-X, and PCIe devices, with settings being ignored if they are not applicable. Some platforms with both conventional PCI and PCIe devices provide only _HPP (not _HPX), so treat _HPP the same way as an _HPX Type 0 record and apply it to PCIe devices as well as PCI and PCI-X. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit fbfa398b84a5fc6e085dedba5ec3e94f21815d05 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 28 12:21:44 2014 -0600 PCI: Remove unused pci_configure_slot() All pci_configure_slot() uses have been removed, so remove the definition as well. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 81ee57326c9ca612436bd6c98258942d57063c98 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 28 11:59:41 2014 -0600 ACPI / hotplug / PCI: Remove pci_configure_slot() usage We now configure each PCI device as it is enumerated, in pci_device_add(), so remove the configuration done in acpiphp. That configuration, in pci_configure_device(), does not include the MPS/MRRS configuration done by pcie_bus_configure_settings(), so keep that here. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit b40716630375ec1bf9fe0c3534da4329663c5459 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 28 12:18:37 2014 -0600 PCI: shpchp: Remove pci_configure_slot() usage We now configure each PCI device as it is enumerated, in pci_device_add(), so remove the configuration done in shpchp. That configuration, in pci_configure_device(), does not include the MPS/MRRS configuration done by pcie_bus_configure_settings(), so keep that here. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 77094fb342eda5fbfa5ef77dea8a423fa2b9d10b Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 28 12:13:51 2014 -0600 PCI: pciehp: Remove pci_configure_slot() usage We now configure each PCI device as it is enumerated, in pci_device_add(), so remove the configuration done in pciehp. That configuration, in pci_configure_device(), does not include the MPS/MRRS configuration done by pcie_bus_configure_settings(), so keep that here. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 6cd33649fa83d97ba7b66f1d871a360e867c5220 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Wed Aug 27 14:29:47 2014 -0600 PCI: Add pci_configure_device() during enumeration Some platforms can tell the OS how to configure PCI devices, e.g., how to set cache line size, error reporting enables, etc. ACPI defines _HPP and _HPX methods for this purpose. This configuration was previously done by some of the hotplug drivers using pci_configure_slot(). But not all hotplug drivers did this, and per the spec (ACPI rev 5.0, sec 6.2.7), we can also do it for "devices not configured by the BIOS at system boot." Move this configuration into the PCI core by adding pci_configure_device() and calling it from pci_device_add(), so we do this for all devices as we enumerate them. This is based on pci_configure_slot(), which is used by hotplug drivers. I omitted: - pcie_bus_configure_settings() because it configures MPS and MRRS, which requires global knowledge of the fabric and must be done later, and - configuration of subordinate devices; that will happen when we call pci_device_add() for those devices. Because pci_configure_slot() was only done by hotplug drivers, this initial version of pci_configure_device() only configures hot-added devices, ignoring anything added during boot. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 589fcc2307423d9c3856a4e2e72e1b57b6826f41 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 12 20:02:00 2014 -0600 PCI: Move pci_configure_slot() to drivers/pci/probe.c Move pci_configure_slot() and related functions from drivers/pci/hotplug/pcihp_slot to drivers/pci/probe.c. This is to prepare for doing device configuration during the normal enumeration process instead of just after hot-add. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 5e3d234456e25f664e0755c23689173588f4ca9b Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 12 15:36:29 2014 -0600 PCI: Shuffle pci-acpi.c functions to group them logically Move code around to put all the ACPI power management stuff together and all the pieces related to ACPI methods (_CBA, _HPP, _HPX) together. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit abbfec34e1df3073429cd6b0fad1c26635597799 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 12 15:29:55 2014 -0600 PCI: Whitespace cleanup in pci-acpi.c Whitespace fixes only; no functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 9ce90ea5c0d512ff66693b238167b56dbaef786b Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 12 15:23:14 2014 -0600 PCI: Move pci_get_hp_params() to drivers/pci/pci-acpi.c Move pci_get_hp_params() and related functions from drivers/pci/hotplug/acpi_pcihp.c to drivers/pci/pci-acpi.c. Previously, pci_get_hp_params() was used only by hotplug drivers. But future changes will move this into the normal device enumeration process, so it will be used even when CONFIG_HOTPLUG_PCI is not set. No functional change. Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 1197ba22c57df96bf3cac0bb2a936fb695370f35 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Thu Aug 28 11:12:50 2014 -0600 PCI: pciehp: Configure hot-added display devices We configure cache line size and other settings of hot-added devices, e.g., based on ACPI _HPP or _HPX methods. Previously we skipped this for display devices, but ACPI rev 5.0, sec 6.2.7 and 6.2.8 have no requirement to skip them. Remove the check so we configure display devices the same way we configure other devices. See also ac81860ea073 ("PCI: hotplug: pciehp: Removed check for hotplug of display devices"). Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Yinghai Lu <yinghai@xxxxxxxxxx> commit 3ddee63a099ebbdc8f84697fe46730b58240c09d Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 12 14:26:51 2014 -0400 ftrace: Only disable ftrace_enabled to test buffer in selftest The ftrace_enabled variable is set to zero in the self tests to keep delayed functions from being traced and messing with the checks. This only needs to be done when the checks are being performed, otherwise, if ftrace_enabled is off when calls back to the utility that is being tested, it can cause errors to happen and the tests can fail with false positives. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 84bde62ca4b49701190dbd953c1e04024860c1f5 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Fri Sep 12 14:21:13 2014 -0400 ftrace: Add sanity check when unregistering last ftrace_ops When the last ftrace_ops is unregistered, all the function records should have a zeroed flags value. Make sure that is the case when the last ftrace_ops is unregistered. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 2c75ada6250990ea859b0b5498cb0b7c2823a9d7 Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Sep 11 10:14:09 2014 -0700 Input: psmouse - add psmouse_matches_pnp_id helper function The matches_pnp_id function from the synaptics driver is useful for other drivers too. Make it a generic psmouse helper function. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit d1015645dd535bbf10e52a3ef6d02ee0c3e0b267 Author: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Date: Thu Sep 11 09:57:22 2014 -0400 sunvnet: Avoid sending superfluous LDC messages. When sending out a burst of packets across multiple descriptors, it is sufficient to send one LDC "start" trigger for the first descriptor, so do not send an LDC "start" for every pass through vnet_start_xmit. Similarly, it is sufficient to send one "DRING_STOPPED" trigger for the last dring (and if that fails, hold off and send the trigger later). Optimizations to the number of LDC messages helps avoid filling up the LDC channel with superfluous LDC messages that risk triggering flow-control on the channel, and also boosts performance. Signed-off-by: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> Acked-by: Raghuram Kothakota <raghuram.kothakota@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c706471b2601d1c9058e7b866db77f6eb7dd37af Author: Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xxxxxxxxxx> Date: Thu Sep 11 14:53:33 2014 +0530 net: axienet: remove unnecessary ether_setup after alloc_etherdev calling ether_setup is redundant since alloc_etherdev calls it. Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9c3f99f8b176369929b44e6c80043ab1036009f Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Thu Sep 11 12:50:50 2014 +0530 ethernet: amd: use pr_info_once() It will use pr_info_one() to print the version info of the driver in probe function only once. No need to use the static variable here. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2d8f7e2c8a63131828e8d4e2d98835399f27319e Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Wed Sep 10 21:23:18 2014 -0500 udp: Fix inverted NAPI_GRO_CB(skb)->flush test Commit 2abb7cdc0d ("udp: Add support for doing checksum unnecessary conversion") caused napi_gro_cb structs with the "flush" field zero to take the "udp_gro_receive" path rather than the "set flush to 1" path that they would previously take. As a result I saw booting from an NFS root hang shortly after starting userspace, with "server not responding" messages. This change to the handling of "flush == 0" packets appears to be incidental to the goal of adding new code in the case where skb_gro_checksum_validate_zero_check() returns zero. Based on that and the fact that it breaks things, I'm assuming that it is unintentional. Fixes: 2abb7cdc0d ("udp: Add support for doing checksum unnecessary conversion") Cc: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5306726bc619be21303c55e09aac317072b3c25 Merge: 72b126a bf7fa55 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 12 17:51:32 2014 -0400 Merge branch 'sock_queue_err_skb' Alexander Duyck says: ==================== Address reference counting issues with sock_queue_err_skb After looking over the code for skb_clone_sk after some comments made by Eric Dumazet I have come to the conclusion that skb_clone_sk is taking the correct approach in how to handle the sk_refcnt when creating a buffer that is eventually meant to be returned to the socket via the sock_queue_err_skb function. However upon review of other callers I found what I believe to be a possible reference count issue in the path for handling "wifi ack" packets. To address this I have applied the same logic that is currently in place so that the sk_refcnt will be forced to stay at least 1, or we will not provide an skb to return in the sk_error_queue. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bf7fa551e0ce507b82935055f4b4aa229be73eeb Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Wed Sep 10 18:05:42 2014 -0400 mac80211: Resolve sk_refcnt/sk_wmem_alloc issue in wifi ack path There is a possible issue with the use, or lack thereof of sk_refcnt and sk_wmem_alloc in the wifi ack status functionality. Specifically if a socket were to request acknowledgements, and the socket were to have sk_refcnt drop to 0 resulting in it waiting on sk_wmem_alloc to reach 0 it would be possible to have sock_queue_err_skb orphan the last buffer, resulting in __sk_free being called on the socket. After this the buffer is enqueued on sk_error_queue, however the queue has already been flushed resulting in at least a memory leak, if not a data corruption. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cab41c47d92851de71c74b1a7bdbf0fadf6ae4ba Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Wed Sep 10 18:05:26 2014 -0400 skb: Add documentation for skb_clone_sk This change adds some documentation to the call skb_clone_sk. This is meant to help clarify the purpose of the function for other developers. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ef7de5304edf60d0b8674dd7cdacc104e15a93c Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Wed Aug 20 06:41:55 2014 -0700 leds: Improve and export led_update_brightness led_update_brightness helper function used to be exploited only locally in the led-class.c module, where its result was being passed to the brightness_show sysfs callback. With the introduction of v4l2-flash subdevice the same functionality becomes required for reading current brightness from a LED device. This patch adds checking of return value of the brightness_get callback and moves the led_update_brightness() function to the LED subsystem public API. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 98faa78ce7f1f986e11e7805d31b409782a6d2d4 Merge: edbaae5 6865b20 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Sat Sep 13 07:01:49 2014 +1000 Merge tag 'topic/drm-header-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel into drm-next So here's the header cleanup, rebased on top of drm-next. Two new header files are created here: - drivers/gpu/drm/drm_internal.h for non-legacy drm.ko private declarations. - include/drm/drm_legacy.h for legacy interfaces used by non-kms drivers. And of course lots fo stuff gets shuffled into the already existing drivers/gpu/drm/drm_legacy.h for drm.ko internal stuff. topic branch smoke-tested in drm-intel-nightly for a bit. And the 0day tester also worked through it (and found a few places I didn't add a static to functions). * tag 'topic/drm-header-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel: drm: Move DRM_MAGIC_HASH_ORDER into drm_drv.c drm: Move drm_class to drm_internal.h drm: Move LOCK_TEST_WITH_RETURN to <drm/drm_legacy.h> drm: Move legacy buffer structures to <drm/drm_legacy.h> drm: Move drm_memory.c map support declarations to <drm/drm_legacy.h> drm: Purge ioctl forward declarations from drmP.h drm: unexport drm_global_mutex drm: Move piles of functions from drmP.h to drm_internal.h drm: Move vblank related module options into drm_irq.c drm: Drop drm_sysfs_class from drmP.h drm: Move __drm_pci_free to drm_legacy.h drm: Create drm legacy driver header drm: Move drm_legacy_vma_flush into drm_legacy.h drm: Move sg functions into drm_legacy.h drm: Move dma functions into drm_legacy.h commit 5b65c2a0296644dd3dbdd590d6f00174d18c96b3 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Wed Sep 10 18:02:37 2014 -0700 HID: rmi: check sanity of the incoming report In the Dell XPS 13 9333, it appears that sometimes the bus get confused and corrupts the incoming data. It fills the input report with the sentinel value "ff". Synaptics told us that such behavior does not comes from the touchpad itself, so we filter out such reports here. Unfortunately, we can not simply discard the incoming data because they may contain useful information. Most of the time, the misbehavior is quite near the end of the report, so we can still use the valid part of it. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1123584 Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Andrew Duggan <aduggan@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d9152161b4bfd131a8253a5b9fcd8ba9b10277c4 Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Fri Sep 12 14:28:07 2014 -0500 usb: dwc3: Add Qualcomm DWC3 glue layer driver DWC3 glue layer is hardware layer around Synopsys DesignWare USB3 core. Its purpose is to supply Synopsys IP with required clocks, voltages and interface it with the rest of the SoC. Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 72b126a45eaca22fb6a8788e8a89c159f3ae2ac5 Author: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Date: Wed Sep 10 18:20:23 2014 +0200 Revert "ipv4: Clarify in docs that accept_local requires rp_filter." This reverts commit c801e3cc1925 ("ipv4: Clarify in docs that accept_local requires rp_filter."). It is not needed anymore since commit 1dced6a85482 ("ipv4: Restore accept_local behaviour in fib_validate_source()"). Suggested-by: Julian Anastasov <ja@xxxxxx> Cc: Gregory Detal <gregory.detal@xxxxxxxxxxxx> Cc: Christoph Paasch <christoph.paasch@xxxxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bbfc6cb720df16b0c3895ac75c9804dd8c728ba4 Author: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Date: Fri Sep 12 14:28:06 2014 -0500 usb: dwc3: qcom: Add device tree binding QCOM USB3.0 core wrapper consist of USB3.0 IP from Synopsys (SNPS) and HS, SS PHY's control and configuration registers. It could operate in device mode (SS, HS, FS) and host mode (SS, HS, FS, LS). Signed-off-by: Ivan T. Ivanov <iivanov@xxxxxxxxxx> Signed-off-by: Andy Gross <agross@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 88ac815cdbef93dec8382b3531ef90474dd102f2 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Fri Sep 12 11:04:10 2014 +0800 nfs41: change PNFS_LAYOUTRET_ON_SETATTR to only return on truncation to smaller size Both blocks layout and objects layout want to use it to avoid CB_LAYOUTRECALL but that should only happen if client is doing truncation to a smaller size. For other cases, we let server decide if it wants to recall client's layouts. Change PNFS_LAYOUTRET_ON_SETATTR to follow the logic and not to send layoutreturn unnecessarily. Cc: Christoph Hellwig <hch@xxxxxx> Cc: Boaz Harrosh <boaz@xxxxxxxxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit cb8c20fa53ec28602793ee43ddc7e8883be62e69 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Sep 3 12:19:10 2014 -0400 NFS: Move NFS v3 acl functions to nfs3_fs.h This code is internal to the v3 module, so other parts of the client shouldn't have any knowledge of it. nfs3_getxattr(), nfs3_setxattr(), and nfs3_removexattr() no longer exist anywhere so I remove the declarations while I'm here. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f08460dc23db1e5cd6b7ab34a62ffea60f55725f Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Sep 3 12:19:09 2014 -0400 NFS: Remove v3 not compiled check from validate_mount_data() This check is already performed by the module loading code - if the module can't be found then -EPROTONOSUPPORT will be returned. Let's handle v3 this way, too. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 00a36a1090350995127c2a4bfac6be7fc85b5b81 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Sep 3 12:19:08 2014 -0400 NFS: Move v3 declarations out of internal.h I am generally against the "one big header file" approach, and everything in the client includes this file. Let's move all the NFS v3 declarations into a v3-only header file. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit f418c64b71590bac8fdebd0969a1eeaffaf036d2 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Sep 3 12:19:07 2014 -0400 NFS: Unconditionally enable commit code The goal is to create a generic NFS module with code that does not depend on what versions of NFS are enabled. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 164ae58c3c2a56e99d7ae207499f1fbd5e6f263d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Fri Sep 12 13:25:14 2014 -0400 pNFS/blocklayout: Remove a couple of unused variables Cc: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 84c9dee3adc2bc49a52af74f18378a4887448288 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:37:28 2014 -0700 pnfs: enable CB_NOTIFY_DEVICEID support This code has been around for a while, but never was enabled, although it is in a working shape. Note that we implement NOTIFY_DEVICEID4_CHANGE identical to NOTIFY_DEVICEID4_DELETE. Given that in either case we can't do anything but preventing further lookups of a given device ID there isn't much difference in semantics for the two. For the delete case the server MUST ensure that there are no outstanding layouts, while for the change case it doesn't, but that has little relevance to the client. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5c83746a0cf2831d4b59f5cf99ef5fbf138564e4 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:37:27 2014 -0700 pnfs/blocklayout: in-kernel GETDEVICEINFO XDR parsing This patches moves parsing of the GETDEVICEINFO XDR to kernel space, as well as the management of complex devices. The reason for that is we might have multiple outstanding complex devices after a NOTIFY_DEVICEID4_CHANGE, which device mapper or md can't handle as they claim devices exclusively. But as is turns out simple striping / concatenation is fairly trivial to implement anyway, so we make our life simpler by reducing the reliance on blkmapd. For now we still use blkmapd by feeding it synthetic SIMPLE device XDR to translate device signatures to device numbers, but in the long runs I have plans to eliminate it entirely. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 871760ce97a9a544cfb1ae4589598b25b8570a25 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:37:26 2014 -0700 pnfs/blocklayout: move all rpc_pipefs related code into a single file Create a file to house all the rpc_pipefs boilerplate code instead of sprinkling it over a few files. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit ca0fe1dfa5acac6ec4ef5820d2eb5460b02648d5 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:37:25 2014 -0700 pnfs/blocklayout: refactor extent processing Factor out a helper for all per-extent work, and merge the now trivial functions for lseg allocation and parsing. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9cc475411779d635619c2d414da0769e3cbf796b Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:37:24 2014 -0700 pnfs/blocklayout: move extent processing to blocklayout.c This isn't device(id) related, so move it into the main file. Simple move for now, the next commit will clean it up a bit. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 34dc93c2fc04da0d01acf8a1660b4ab276208af7 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:36:30 2014 -0700 pnfs/blocklayout: allocate separate pages for the layoutcommit payload Instead of overflowing the XDR send buffer with our extent list allocate pages and pre-encode the layoutupdate payload into them. We optimistically allocate a single page use alloc_page and only switch to vmalloc when we have more extents outstanding. Currently there is only a single testcase (xfstests generic/113) which can reproduce large enough extent lists for this to occur. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit d4b18c3e00b8d18fbd316abe9639b91ad416e1f3 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:36:31 2014 -0700 pnfs: remove GETDEVICELIST implementation The current GETDEVICELIST implementation is buggy in that it doesn't handle cursors correctly, and in that it returns an error if the server returns NFSERR_NOTSUPP. Given that there is no actual need for GETDEVICELIST, it has various issues and might get removed for NFSv4.2 stop using it in the blocklayout driver, and thus the Linux NFS client as whole. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fd41b4748b3b6c1220f926427bf63bef456034a5 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:36:29 2014 -0700 pnfs/objlayout: fix endianess annotation in objio_alloc_deviceid_node The kbuild test robot complained about a new sparse warning in objio_alloc_deviceid_node, but it turns out that this was just a moved reference to an existing variable. Fix it to have the right big endian annotated type. Note that there are some other endianess issues in this file that I didn't bother to sort out as they involve global headers. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3e3f6b4e2613627d4e971c44eec35e945b39e5e5 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 17:36:28 2014 -0700 pnfs/blocklayout: remove some debugging The kbuild test robot complained that we got the printk format wrong. Let's just kill these printks instead of fixing them as there is not point after the initial tree algorithm debugging. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit fbf10641487d0c6938e580d143e4519e7ea90acf Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Fri Sep 5 23:00:33 2014 +0100 ARM: 8138/1: drop ISAR0 workaround for B15 The Brahma-B15's ISAR0 correcty advertises UDIV/SDIV support in both ARM and Thumb2 modes (CPUID_EXT_ISAR0=02101110), so we don't need to manually apply this hwcap. The code in question actually predates the following commit, which made our hwcaps unnecessary: commit 8164f7af88d9ad3a757bd14f634b23997ee77f6b Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Mon Mar 18 19:44:15 2013 +0100 ARM: 7680/1: Detect support for SDIV/UDIV from ISAR0 register Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Will Deacon <will.deacon@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit abf3878047a92716704942d2a00917927004798b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Sep 2 13:21:44 2014 +0100 ARM: 8136/1: sa1100: add Micro ASIC platform device This adds the Atmel Micro ASIC platform device and selects it by default for h3100 and h3600. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 9a783a139c32a905825ee0aa9597f485ea461f76 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 12 09:31:52 2014 -0700 Bluetooth: Fix re-setting RPA as expired when deferring update The hci_update_random_address will clear the RPA_EXPIRED flag and proceed with setting a new one if the flag was set. However, the set_random_addr() function that is called may choose to defer the update to a later moment. In such a case the flag would incorrectly remain unset unless set_random_addr() re-sets it. This patch fixes the issue. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b4da1840dc4d92f05419bd2abbde82131d4301d9 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Thu Sep 11 23:10:32 2014 +0100 arm64: pageattr: Correctly adjust unaligned start addresses The start address needs to be actually updated after it is detected to be unaligned. Adjust it and the end address properly. Reported-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Reviewed-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 60ef0494f197d4705b17132ee7d496283b5604b3 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Thu Sep 11 10:36:48 2014 +0100 net: bpf: arm64: fix module memory leak when JIT image build fails On ARM64, when the BPF JIT compiler fills the JIT image body with opcodes during translation of eBPF into ARM64 opcodes, we may fail for several reasons during that phase: one being that we jump to the notyet label for not yet supported eBPF instructions such as BPF_ST. In that case we only free offsets, but not the actual allocated target image where opcodes are being stored. Fix it by calling module_free() on dismantle time in case of errors. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d456ea2edc10ffa74cc226aacb9013c06e928858 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 18:09:56 2014 +0200 drm: use c99 initializers in structures Use c99 initializers for structures. Drop 0 initializers in drivers/gpu/drm/sti/sti_vtac.c. A 0x0 initializer is left in vtac_mode_aux in drivers/gpu/drm/sti/sti_vtac.c to highlight the relation to vtac_mode_main. A simplified version of the semantic match that finds the first problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> v2: Drop 0 initializers and add trailing commas at the suggestions of Josh Triplett. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f3a808817fdb48a9fa3e4ed40e7f8a8dec50014c Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sat Aug 16 14:15:34 2014 -0700 drm: fix drm_modeset_lock.h kernel-doc notation Fix drm kernel-doc notation to squelch these warnings: Warning(..//include/drm/drm_modeset_lock.h:41): cannot understand function prototype: 'struct drm_modeset_acquire_ctx ' Warning(..//include/drm/drm_modeset_lock.h:66): cannot understand function prototype: 'struct drm_modeset_lock ' Need to include the keyword 'struct' for structure descriptions. Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 974a70bdecea5296db1b643e4046ef208e99c592 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Fri Sep 12 09:32:41 2014 +0800 usb: gadget: udc-core: add utility for bus reset The udc driver can notify the udc core that bus reset occurs by calling this utility, the core will notify gadget driver this information and update gadget state accordingly. Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1f7c51660034091dc134fcc534b7f1fa86a6e823 Author: Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xxxxxxxxxx> Date: Wed Sep 10 19:24:04 2014 +0530 usb: gadget: Add xilinx usb2 device support Xilinx USB2 device is a soft IP which supports both full and high speed USB 2.0 data transfers. This patch adds xilinx usb2 device driver support. Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d799793b933baec9f086996d5b693d62f35c4d65 Author: Subbaraya Sundeep Bhatta <subbaraya.sundeep.bhatta@xxxxxxxxxx> Date: Wed Sep 10 19:24:03 2014 +0530 usb: doc: udc-xilinx: Add devicetree bindings Add devicetree bindings for Xilinx udc driver. Signed-off-by: Subbaraya Sundeep Bhatta <sbhatta@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 22739edfc563fa42f02a2f7323fd352061ef32b3 Author: Michael Neuling <mikey@xxxxxxxxxxx> Date: Fri Sep 5 17:55:18 2014 +1000 deb-pkg: Add support for powerpc little endian The Debian powerpc little endian architecture is called ppc64el. This is the default architecture used by Ubuntu for powerpc. The below checks the kernel config to see if we are compiling little endian and sets the Debian arch appropriately. Signed-off-by: Michael Neuling <mikey@xxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 9810f5370b6e60c4b564f294feb51761f0e741f6 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 9 21:38:24 2014 -0700 ASoC: simple-card: tidyup get dai_link/dai_props from priv It can get dai_link/dai_props pointer from priv + index Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f531913f01a07253d013a9c67a80df11154e7ae2 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 9 21:37:57 2014 -0700 ASoC: simple-card: tidyup use priv in parameter priv has many information about simple-card driver. Using it becomes easy to extend feature. This patch gets dev from priv as 1st step Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 336fb81b319ec4d5c09aa6417de7c042cfcd7461 Author: Wang, Yalin <Yalin.Wang@xxxxxxxxxxxxxx> Date: Thu Sep 11 16:19:49 2014 +0800 regmap: change struct regmap's internal locks as union this patch change struct regmap->mutex and struct regmap->spinlock as an union, because these 2 members are only used one of them, we change it to shrink the struct size. Signed-off-by: Yalin Wang <yalin.wang@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ed3f8ce8399255c7cca43dde5d3a19b2b7dc287 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 11 18:22:48 2014 +0800 regulator: rk808: Fix missing of_node_put 1. Pass &pdev->dev rather than &client->dev to of_regulator_match, the *dev argument is used for devres to ensure devm_of_regulator_put_matches() will be called when unload the module. 2. of_get_child_by_name() returns a node pointer with refcount incremented. Thus add missing of_node_put(reg_np). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1f0c01621aa1beb0f6bc205beeada2a4a3178d5a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Sep 11 18:21:10 2014 +0800 regulator: rk808: Remove unused variables Also remove non-informative comment. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6865b20ad354548a045c74a388eb37afe1ad5174 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:44:00 2014 +0200 drm: Move DRM_MAGIC_HASH_ORDER into drm_drv.c Only used in one place ever, so put it right next to that. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 00285be8ff2c07379d4809ed2750f8244f0c23fa Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:59 2014 +0200 drm: Move drm_class to drm_internal.h Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8f1a2c8dc0dc5c2842e08f304ebdd34b5ddb982c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:58 2014 +0200 drm: Move LOCK_TEST_WITH_RETURN to <drm/drm_legacy.h> Unfortunately we can't move struct drm_lock_data easily since it's embedded into struct drm_master. And figuring out where exactly this struct should be allocated isn't that simple ... Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ba8286fab52652e431784d066b075c1bb4933ea1 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 11 07:43:25 2014 +0200 drm: Move legacy buffer structures to <drm/drm_legacy.h> A few odd cases: - mgag200 someho had a totally unused drm_dma_handle_t. Remove it. - i915 still uses the legacy pci dma alloc api, so grows an include. Everything else fairly standard. v2: Include "drm_legacy.h" in drm.ko source files for consistency. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 86c1fbd55c6abc72496a45b7cbf1940324983977 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:56 2014 +0200 drm: Move drm_memory.c map support declarations to <drm/drm_legacy.h> And replace the drm_core_ prefix with drm_legacy_ since really, this isn't core stuff. Also drop drm_core_dropmap since it's unused. v2: Fix up i810.ko fully which somehow slipped through. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 78238757ebab54bf0d546dabe119f3a158d418b4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:55 2014 +0200 drm: Purge ioctl forward declarations from drmP.h If we push down the ioctl table in drm_ioctl.c all the forward declarations in drmP.h are not required any more. v2: Fold in fixup from Fenugguang Wu to declare functions as static. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac60ab4b4968b54fb5af20eac9dd78e36ad910c1 Merge: a0cfd75 a2d61ed Author: James Morris <james.l.morris@xxxxxxxxxx> Date: Fri Sep 12 22:40:22 2014 +1000 Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/zohar/linux-integrity into next commit 12969e3bdce5f63fbce2b6d616fdbc8eeb539f01 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Thu Sep 11 13:14:04 2014 -0400 HID: wacom: make the WL connection friendly for the desktop Currently, tablets connected to the WL receiver all share the same VID/PID. There is no way for the user space to know which one is which besides parsing the name. We can force the PID to be set to the actual hardware. This way, the input device will have the correct PID which can be match in libwacom. With only this trick, the pad input does not inherit the ID_INPUT_TABLET udev property from its parent. We can force udev to accept it by declaring a BTN_STYLUS which is never used. This way, tablets connected through WL can be used from the user point of view in the same way they are used while connected through wire. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Reviewed-by: Ping Cheng <pingc@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c2eb6b6139183af632a5be8f7c33006d7b03702d Merge: e367264 18910ab Author: Catalin Marinas <catalin.marinas@xxxxxxx> Date: Fri Sep 12 10:50:21 2014 +0100 Merge arm64 CPU suspend branch * cpuidle: arm64: add PSCI CPU_SUSPEND based cpu_suspend support arm64: kernel: introduce cpu_init_idle CPU operation arm64: kernel: refactor the CPU suspend API for retention states Documentation: arm: define DT idle states bindings commit 18910ab0d916b1a87016d69efd027714a80521dd Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Fri Sep 27 10:25:02 2013 +0100 arm64: add PSCI CPU_SUSPEND based cpu_suspend support This patch implements the cpu_suspend cpu operations method through the PSCI CPU SUSPEND API. The PSCI implementation translates the idle state index passed by the cpu_suspend core call into a valid PSCI state according to the PSCI states initialized at boot through the cpu_init_idle() CPU operations hook. The PSCI CPU suspend operation hook checks if the PSCI state is a standby state. If it is, it calls the PSCI suspend implementation straight away, without saving any context. If the state is a power down state the kernel calls the __cpu_suspend API (that saves the CPU context) and passed the PSCI suspend finisher as a parameter so that PSCI can be called by the __cpu_suspend implementation after saving and flushing the context as last function before power down. For power down states, entry point is set to cpu_resume physical address, that represents the default kernel execution address following a CPU reset. Reviewed-by: Ashwin Chaugule <ashwin.chaugule@xxxxxxxxxx> Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit d64f84f696463c58e1908510e45b0f5d450f737a Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Thu Jul 17 10:30:07 2014 +0100 arm64: kernel: introduce cpu_init_idle CPU operation The CPUidle subsystem on ARM64 machines requires the idle states implementation back-end to initialize idle states parameter upon boot. This patch adds a hook in the CPU operations structure that should be initialized by the CPU operations back-end in order to provide a function that initializes cpu idle states. This patch also adds the infrastructure to arm64 kernel required to export the CPU operations based initialization interface, so that drivers (ie CPUidle) can use it when they are initialized at probe time. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 714f59925595b9c2ea9c22b107b340d38e3b3bc9 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Thu Aug 7 14:54:50 2014 +0100 arm64: kernel: refactor the CPU suspend API for retention states CPU suspend is the standard kernel interface to be used to enter low-power states on ARM64 systems. Current cpu_suspend implementation by default assumes that all low power states are losing the CPU context, so the CPU registers must be saved and cleaned to DRAM upon state entry. Furthermore, the current cpu_suspend() implementation assumes that if the CPU suspend back-end method returns when called, this has to be considered an error regardless of the return code (which can be successful) since the CPU was not expected to return from a code path that is different from cpu_resume code path - eg returning from the reset vector. All in all this means that the current API does not cope well with low-power states that preserve the CPU context when entered (ie retention states), since first of all the context is saved for nothing on state entry for those states and a successful state entry can return as a normal function return, which is considered an error by the current CPU suspend implementation. This patch refactors the cpu_suspend() API so that it can be split in two separate functionalities. The arm64 cpu_suspend API just provides a wrapper around CPU suspend operation hook. A new function is introduced (for architecture code use only) for states that require context saving upon entry: __cpu_suspend(unsigned long arg, int (*fn)(unsigned long)) __cpu_suspend() saves the context on function entry and calls the so called suspend finisher (ie fn) to complete the suspend operation. The finisher is not expected to return, unless it fails in which case the error is propagated back to the __cpu_suspend caller. The API refactoring results in the following pseudo code call sequence for a suspending CPU, when triggered from a kernel subsystem: /* * int cpu_suspend(unsigned long idx) * @idx: idle state index */ { -> cpu_suspend(idx) |---> CPU operations suspend hook called, if present |--> if (retention_state) |--> direct suspend back-end call (eg PSCI suspend) else |--> __cpu_suspend(idx, &back_end_finisher); } By refactoring the cpu_suspend API this way, the CPU operations back-end has a chance to detect whether idle states require state saving or not and can call the required suspend operations accordingly either through simple function call or indirectly through __cpu_suspend() which carries out state saving and suspend finisher dispatching to complete idle state entry. Reviewed-by: Catalin Marinas <catalin.marinas@xxxxxxx> Reviewed-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit 3f8161b260cb9232bb926a5d6c1cc2672fea07c7 Author: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Date: Wed Nov 27 16:22:55 2013 +0000 Documentation: arm: define DT idle states bindings ARM based platforms implement a variety of power management schemes that allow processors to enter idle states at run-time. The parameters defining these idle states vary on a per-platform basis forcing the OS to hardcode the state parameters in platform specific static tables whose size grows as the number of platforms supported in the kernel increases and hampers device drivers standardization. Therefore, this patch aims at standardizing idle state device tree bindings for ARM platforms. Bindings define idle state parameters inclusive of entry methods and state latencies, to allow operating systems to retrieve the configuration entries from the device tree and initialize the related power management drivers, paving the way for common code in the kernel to deal with idle states and removing the need for static data in current and previous kernel versions. ARM64 platforms require the DT to define an entry-method property for idle states. On system implementing PSCI as an enable-method to enter low-power states the PSCI CPU suspend method requires the power_state parameter to be passed to the PSCI CPU suspend function. This parameter is specific to a power state and platform specific, therefore must be provided by firmware to the OS in order to enable proper call sequence. Thus, this patch also adds a property in the PSCI bindings that describes how the PSCI CPU suspend power_state parameter should be defined in DT in all device nodes that rely on PSCI CPU suspend method usage. Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx> Reviewed-by: Rob Herring <robh@xxxxxxxxxx> Reviewed-by: Sebastian Capella <sebcape@xxxxxxxxx> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Signed-off-by: Catalin Marinas <catalin.marinas@xxxxxxx> commit de591c783ae739f6fb41e12f3371575edcb62af0 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:42 2014 +0000 e1000: switch to napi_gro_frags api napi_gro_frags allows skb re-use in case GRO can merge payload pages into an skb on the GRO lists. netperf TCP_STREAM, kvm-e1000 emulation, mtu 9k: Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec old: 87380 16384 16384 30.00 8985.78 new: 87380 16384 16384 30.00 9907.05 Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 44af3f5c6a2dc0358121b5ecf272361b3290649e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:54 2014 +0200 drm: unexport drm_global_mutex Drivers really, really have no business even looking at this lock. And thankfully they don't. So unexport it and move the declaration to drm_internal.h. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13809609610ae2ab4a7730982c3e067d8edb5a67 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:36 2014 +0000 e1000: convert to build_skb Instead of preallocating Rx skbs, allocate them right before sending inbound packet up the stack. e1000-kvm, mtu1500, netperf TCP_STREAM: Size Size Size Time Throughput bytes bytes bytes secs. 10^6bits/sec old: 87380 16384 16384 60.00 4532.40 new: 87380 16384 16384 60.00 4599.05 Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 67d0ec4e885cd2af861a14bb9bd59fd23e9644ae Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:53 2014 +0200 drm: Move piles of functions from drmP.h to drm_internal.h This way drivers can't grow crazy ideas any more, and it also helps a bit in reviewing EXPORT_SYMBOLS. v2: Even more stuff. Unfortunately we can't move drm_vm_open_locked because exynos does some horrible stuff with it. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 18882995713d2ebdd24d6b07f1853a866a7e1b66 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 08:16:10 2014 +0200 drm: Move vblank related module options into drm_irq.c This allows us to drop 2 header declarations from drmP.h. The 3rd one is also used in drm_ioctl.c, so for that create a new drm_internal.h header for non-legacy non-kms (since we have internal headers for those parts already) declarations private to drm.ko. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7610a04c008768abf8a372d2358e7629877b8305 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:52 2014 +0200 drm: Drop drm_sysfs_class from drmP.h No user at all. My guess is that this is a leftover from ttm before it used the more abstract helpers to register/unregister its sysfs objects (see drm_sysfs.h). At least in the existing history it was never used. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c96e84ee486d5dbf4a3850441f3c1f95b1343e4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:51 2014 +0200 drm: Move __drm_pci_free to drm_legacy.h Also sprinkle the customary legacy_ prefix. Unfortunately we can't move the other functions since i915 is still using them. Shame on me for that one :( v2: Fix patch subject as spotted by David Herrmann. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4f03b1fc1eb286b73d453c03cdb45a3827726a44 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:49 2014 +0200 drm: Create drm legacy driver header And move a few legayc functions to start things over there. It compiles ... Inspired by a patch from Dave Airlie, but with a split between drm.ko private legacy functions and stuff used by drivers. Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a677f4cc88b2b7491c0c400e07b6630852971e32 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 12:43:48 2014 +0200 drm: Move drm_legacy_vma_flush into drm_legacy.h Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 9ec4e2ff3e269756a253282c784776e2166be7bc Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 11 07:42:43 2014 +0200 drm: Move sg functions into drm_legacy.h Also sprinkle the drm_legacy_ prefix where missing. v2: Drop extern from function declarations and include "drm_legacy.h" in drm_scatter.c, spotted by David. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a266162aef4f43307d18c88fb5ecaffd8e9303af Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 11 07:41:51 2014 +0200 drm: Move dma functions into drm_legacy.h Also drop the unneeded EXPORT_SYMBOL and sprinkle drm_legacy_ prefixes where missing. v2: Drop the confusing _core_ and drop extern, both suggested by David. Cc: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit edbaae5a5cab89de0e64b8c03ebd9a8d5d266550 Merge: a9d6dd2 336879b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 12 19:04:53 2014 +1000 Merge tag 'topic/vblank-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel into drm-next So updated vblank-rework pull request, now with the polish that Mario requested applied (and reviewed by him). Also with backmerge like you've requested for easier merging. The neat thing this finally allows is to immediately disable the vblank interrupt on the last drm_vblank_put if the hardware has perfectly accurate vblank counter and timestamp readout support. On i915 that required piles of small adjustements from Ville since depending upon the platform and port the vblank happens at different scanout lines. Of course this is fully opt-in and per-device (we need that since gen2 doesn't have a hw vblank counter). * tag 'topic/vblank-rework-2014-09-12' of git://anongit.freedesktop.org/drm-intel: (22 commits) drm: Clarify vblank ts/scanoutpos sampling #defines drm: Simplify return value of drm_get_last_vbltimestamp drm: Only update final vblank count when precise ts is available drm: Really never disable vblank irqs for offdelay==0 drm: Use vblank_disable_and_save in drm_vblank_cleanup() drm: Remove drm_vblank_cleanup from drm_vblank_init error path. drm: Store the vblank timestamp when adjusting the counter during disable drm: Fix confusing debug message in drm_update_vblank_count() drm/i915: Update scanline_offset only for active crtcs drm: Kick start vblank interrupts at drm_vblank_on() drm/i915: Opt out of vblank disable timer on >gen2 drm: Add dev->vblank_disable_immediate flag drm: Disable vblank interrupt immediately when drm_vblank_offdelay<0 drm: Fix race between drm_vblank_off() and drm_queue_vblank_event() drm: Fix deadlock between event_lock and vbl_lock/vblank_time_lock drm: Reduce the amount of dev->vblank[crtc] in the code drm: Avoid random vblank counter jumps if the hardware counter has been reset drm: Have the vblank counter account for the time between vblank irq disable and drm_vblank_off() drm: Move drm_update_vblank_count() drm: Don't clear vblank timestamps when vblank interrupt is disabled ... commit 580f321d8498f1c7f83f2765601c84105a21e423 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:31 2014 +0000 e1000: rename struct e1000_buffer to e1000_tx_buffer and remove *page, its only used for Rx. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 93f0afe9ce9cb095f1fcb23da8a5897f85d61275 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:26 2014 +0000 e1000: add and use e1000_rx_buffer info for Rx e1000 uses the same metadata struct for Rx and Tx. But Tx and Rx have different requirements. For Rx, we only need to store a buffer and a DMA address. Follow-up patch will remove skb for Rx, bringing rx_buffer_info down to 16 bytes on x86_64. [ buffer_info is 48 bytes ] Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2b294b18689c6b68f631535acbcdb6c8e6fa11cf Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:21 2014 +0000 e1000: perform copybreak ahead of DMA unmap Currently we unmap the DMA range, then copy to new skb. Change this so we can keep the mapping in case the data is copied. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 2037110c96d5f1dd71453fcd0d54e79be12a352b Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:15 2014 +0000 e1000: move tbi workaround code into helper function Its the same in both handlers. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 4f0aeb1e967d1039d7988aaf84d087916bac30ea Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 3 13:34:10 2014 +0000 e1000: move e1000_tbi_adjust_stats to where its used ... and make it static. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 0bbe80e571c7b866afd92a98edd32a969467a7a9 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 11 17:51:27 2014 +0200 netfilter: masquerading needs to be independent of x_tables in Kconfig Users are starting to test nf_tables with no x_tables support. Therefore, masquerading needs to be indenpendent of it from Kconfig. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3e8dc212a0e68a9a90c97f34a92c4cdd97d19dd3 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 11 17:42:00 2014 +0200 netfilter: NFT_CHAIN_NAT_IPV* is independent of NFT_NAT Now that we have masquerading support in nf_tables, the NAT chain can be use with it, not only for SNAT/DNAT. So make this chain type independent of it. While at it, move it inside the scope of 'if NF_NAT_IPV*' to simplify dependencies. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit adc810900a703ee78fe88fd65e086d359fec04b2 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Jul 26 02:42:44 2014 +0000 ixgbe: Refactor busy poll socket code to address multiple issues This change addresses several issues in the current ixgbe implementation of busy poll sockets. First was the fact that it was possible for frames to be delivered out of order if they were held in GRO. This is addressed by flushing the GRO buffers before releasing the q_vector back to the idle state. The other issue was the fact that we were having to take a spinlock on changing the state to and from idle. To resolve this I have replaced the state value with an atomic and use atomic_cmpxchg to change the value from idle, and a simple atomic set to restore it back to idle after we have acquired it. This allows us to only use a locked operation on acquiring the vector without a need for a locked operation to release it. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a9d6dd2554e35c0213382fff19f5dbf151707955 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 12 14:32:40 2014 +1000 drm/ast: switch to using CACHED by default for sysram This fixes problems on ppc64 platforms, where we could end up using a WC mapping for migrating BOs with memcpy, when really we want to use cached memory. Tested-by: Ben Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 15be71c92f10169600b5980ee06836614836057b Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Sat Jul 26 02:42:39 2014 +0000 ixgbe: Drop Rx alloc at end of Rx cleanup This change removes the Rx buffer allocation at the end of ixgbe_clean_rx_irq. The reason for removing this is to avoid the extra latency introduced by the MMIO write. This can amount to somewhere around an extra 100ns of latency and one extra message worth of PCIe bus overhead. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit db99d95c9030b78b85dbdba53a4babb4cd6231be Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Jul 24 06:19:29 2014 +0000 ixgbevf: Resolve missing-field-initializers warnings Resolve missing-field-initializers warnings by using designated initialization. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit ca8dfe2550cb36828db52f6b1a6ef340c80197e9 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Jul 24 06:19:24 2014 +0000 ixgbe: Resolve warnings produced in W=2 builds This patch resolves warnings produced by ixgbe in W=2 kernel builds. There are missing-field-initializers warnings and shadow warnings. None of these point to any deeper problem, so just resolve them so any new warnings get analyzed. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 76460a7becadbda5589057ee8394cbc98717c324 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 10:28:30 2014 -0700 Input: joystick - use ktime for measuring timing The current codes in gameport and analog joystick drivers for the time accounting have a long-standing problem when the system is running with CPU freq; since the timing is measured via TSC or sample counter, the calculation isn't reliable. In this patch, as a simple fix, use the standard ktime to measure the timing. In case where no high resolution timer is available, use_ktime bool option is provided to both modules. Setting use_ktime=false switches to the old methods. Tested-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a3b3ca753cdc92c7d5f57404afed3115b3b79cc6 Author: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Date: Thu Sep 11 23:15:01 2014 -0700 Input: add haptic driver on max77693 This driver to supports the haptic controller on MAX77693 Multifunction device with PMIC, CHARGER, LED, MUIC, HAPTIC. This driver supports external pwm and LRA (Linear Resonant Actuator) motor. User can control the haptic device via force feedback framework. Signed-off-by: Jaewon Kim <jaewon02.kim@xxxxxxxxxxx> Acked-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit adff5962fdd2f29bac943bc014ebd529444b2153 Author: Nishanth Menon <nm@xxxxxx> Date: Tue Aug 26 15:57:47 2014 -0700 Input: introduce palmas-pwrbutton Many palmas family of PMICs have support for interrupt based power button. This allows the device to notify the processor of external push button events over the shared palmas interrupt. However, this event is generated only during a "press" operation. Software is supposed to poll(sigh!) for detecting a release event. The PMIC also supports ability to power off independent of the software decisions when the button is pressed for a long duration if the PMIC is appropriately configured on the platform. Even though the function is similar to twl4030_pwrbutton, it is substantially different in operation to belong to a new driver of it's own. Based on original work done by Girish S Ghongdemath <girishsg@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit fd7e0d719260259f6e4e7711bd63a4175557d559 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 10 18:23:07 2014 +1000 drm: split ati_pcigart.h out of drmP.h Just move this into a separate header file, and make the two users use it. Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 10d123b2f2b5bf54f59a884f12018d24a97d5a63 Merge: e351943 298593b Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri Sep 12 13:58:27 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next concurrent buffer reads. * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: allow concurrent buffer reads drm/radeon: add the infrastructure for concurrent buffer access drm/ttm: allow fence to be added as shared commit e351943b081f4d9e6f692ce1a6117e8d2e71f478 Author: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Date: Fri Sep 5 13:19:59 2014 -0400 drm/vmwgfx: Fix drm.h include The userspace drm.h include doesn't prefix the drm directory. This can lead to compile failures as /usr/include/drm/ isn't in the standard gcc include paths. Fix it to be <drm/drm.h>, which matches the rest of the driver drm header files that get installed into /usr/include/drm. Red Hat Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1138759 Fixes: 1d7a5cbf8f74e Reported-by: Jeffrey Bastian <jbastian@xxxxxxxxxx> Signed-off-by: Josh Boyer <jwboyer@xxxxxxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 914ae25a62e77ebbfa0ce7cbc60edd01cc4d1d31 Author: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 00:40:32 2014 -0700 leds: trigger: gpio: fix warning in gpio trigger for gpios whose accessor function may sleep When using a GPIO driver whose accessor functions may sleep (e.g. an I2C GPIO extender like PCA9554) the following warning is issued: WARNING: CPU: 0 PID: 665 at drivers/gpio/gpiolib.c:2274 gpiod_get_raw_value+0x3c/0x48() Modules linked in: CPU: 0 PID: 665 Comm: kworker/0:2 Not tainted 3.16.0-karo+ #115 Workqueue: events gpio_trig_work [<c00142cc>] (unwind_backtrace) from [<c00118f8>] (show_stack+0x10/0x14) [<c00118f8>] (show_stack) from [<c001bf10>] (warn_slowpath_common+0x64/0x84) [<c001bf10>] (warn_slowpath_common) from [<c001bf4c>] (warn_slowpath_null+0x1c/0x24) [<c001bf4c>] (warn_slowpath_null) from [<c020a1b8>] (gpiod_get_raw_value+0x3c/0x48) [<c020a1b8>] (gpiod_get_raw_value) from [<c02f68a0>] (gpio_trig_work+0x1c/0xb0) [<c02f68a0>] (gpio_trig_work) from [<c0030c1c>] (process_one_work+0x144/0x38c) [<c0030c1c>] (process_one_work) from [<c0030ef8>] (worker_thread+0x60/0x5cc) [<c0030ef8>] (worker_thread) from [<c0036dd4>] (kthread+0xb4/0xd0) [<c0036dd4>] (kthread) from [<c000f0f0>] (ret_from_fork+0x14/0x24) ---[ end trace cd51a1dad8b86c9c ]--- Fix this by using the _cansleep() variant of gpio_get_value(). Signed-off-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 7f14e6b9c36f6696eb937bc0cf86a7732aa89904 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Fri Aug 8 00:09:44 2014 -0700 leds: lp3944: fix sparse warning Fix sparse warning appeared after changing brightness type in the leds.h from int to enum led_brightness. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 3841961269f76db243339a94005729f10829911e Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Aug 7 05:10:24 2014 -0700 leds: avoid using DEVICE_ATTR macro for max_brightness attribute Make definition of the brightness related sysfs attributes consistent. The modification entails change of the function name: led_max_brightness_show -> max_brightness_show Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit d8082827d8a214343b761f2c4554d2a7d1573d63 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Aug 7 05:10:23 2014 -0700 leds: make brightness type consistent across whole subsystem Documentations states that brightness units type is enum led_brightness and this is the type used by the led API functions. Adjust the type of brightness variables in the struct led_classdev accordingly. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 047133066e6c2549403fe5a2d619f47ba4212ef5 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Thu Aug 7 05:10:22 2014 -0700 leds: Reorder include directives Reorder include directives so that they are arranged in alphabetical order. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Signed-off-by: Bryan Wu <cooloney@xxxxxxxxx> commit 151d0cbdbe8609e8489d10ddb7aed6e431fe6b5d Author: Nick Hudson <skrll@xxxxxxxxxx> Date: Thu Sep 11 15:22:48 2014 -0700 usb: dwc2: make the scheduler handle excessive NAKs better I'm seeing problems with a d-link dwcl-g122 wifi dongle that someone sent me. There are reports of other wifi dongles with the same/similar problem. The devices appear to be NAKing to the point of confusing the dwc2 driver completely. The attached patch helps with my d-link dwl-g122 - it's adapted from the Raspberry Pi dwc_otg driver, which is a modified version of the Synopsys vendor driver. The error recovery is still valid after the patch, I think. Cc: Dom Cobley <popcornmix@xxxxxxxxx> Signed-off-by: Nick Hudson <skrll@xxxxxxxxxx> Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4a814d4a99508ba9070c85deb19ce8a64154721 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 10 09:34:51 2014 +0200 staging: vt6655: Remove unnecessary condition around include ethtool (and SIOCETHTOOL in particular) is part of Linux since the pre-git era, it thus makes no sense no sense to make the include of linux/ethtool.h conditional. Also remove the unused define DEVICE_ETHTOOL_IOCTL_SUPPORT. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22981e0e5ab3aedfb46698ed7c12c7b944781bd3 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 10 09:34:50 2014 +0200 staging: vt6655: Use net_device_stats from struct net_device Instead of using an own copy of struct net_device_stats in struct vnt_private, use stats from struct net_device. Also remove the thus unnecessary device_get_stats(), as it would now just return netdev->stats, which is the default in dev_get_stats(). Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46ef6886ac5324058898a4e84cad029f06de8b18 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Wed Sep 10 09:34:49 2014 +0200 staging: vt6655: Remove unused member from struct vnt_private The pci_state member of struct vnt_private is used nowhere in the code, so remove it. Supposedly it was used to save the PCI configuration space which is now done using pci_save_state(). Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1299b721d35532a5786ef665aa86e7d01446396d Author: Tobenna P. Igwe <ptigwe@xxxxxxxxx> Date: Wed Sep 10 20:45:16 2014 +0100 staging:rtl8188eu: Fix sparse warning cast to restricted __le16 This patch fixes the following sparse warnings: CHECK drivers/staging/rtl8188eu/hal/fw.c drivers/staging/rtl8188eu/hal/fw.c:219:13: warning: cast to restricted __le16 drivers/staging/rtl8188eu/hal/fw.c:219:13: warning: cast to restricted __le16 drivers/staging/rtl8188eu/hal/fw.c:219:13: warning: cast to restricted __le16 drivers/staging/rtl8188eu/hal/fw.c:219:13: warning: cast to restricted __le16 by changing the signature from 'u16' to '__le16'. Signed-off-by: Tobenna P. Igwe <ptigwe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fe473b3a21f35379467b0aac996c39b65249eba Author: Vincenzo Scotti <vinc94@xxxxxxxxx> Date: Tue Sep 9 23:06:27 2014 +0200 staging: emxx_udc: fix style warnings: const strings should be const char Signed-off-by: Vincenzo Scotti <vinc94@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9af928157c48db3cb8968e9bfc13e0c28b315547 Author: Vincenzo Scotti <vinc94@xxxxxxxxx> Date: Tue Sep 9 23:06:26 2014 +0200 staging: emxx_udc: fix style warnings: return in void functions Signed-off-by: Vincenzo Scotti <vinc94@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7f39ae05ad49bd7274ac43032511f51e0fb3b8aa Author: Vincenzo Scotti <vinc94@xxxxxxxxx> Date: Tue Sep 9 23:06:25 2014 +0200 staging: emxx_udc: fix style warnings: blank line after declarations Signed-off-by: Vincenzo Scotti <vinc94@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e69a8110686572a4b88d006faa8c3c759c4c261 Author: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Date: Tue Sep 9 20:04:34 2014 +0200 staging: speakup: fix missing blank lines after declarations Signed-off-by: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e48735236b8487f9e8f25fae8622645aaa640261 Author: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Date: Tue Sep 9 20:04:33 2014 +0200 staging: speakup: fix line indentations Signed-off-by: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11a18fc3d1bb5a437755fd3e90568e64f6e7583e Author: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Date: Tue Sep 9 20:04:32 2014 +0200 staging: speakup: fix redundant return in void functions Signed-off-by: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7027b9b2567cd3050d266bc56a2296840dd7f68 Author: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Date: Tue Sep 9 20:04:31 2014 +0200 staging: speakup: fix warnings: line over 80 characters Signed-off-by: Domagoj Trsan <domagoj.trsan@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f01952d23977857c6e0b78a56d89b07b7e7ebec Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 9 16:11:09 2014 +0530 staging: unisys: uislib: uislib.c: sparse warning of context imbalance fixed sparse warning : context imbalance in 'resume_device' unexpected unlock this patch will generate warning from checkpatch for lines over 80 character , but since those are user-visible strings so it was not modified. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Acked-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Tested-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15ef0cc12482204b968794b25f9e2805509c686b Author: Nitin Kuppelur <nitinkuppelur@xxxxxxxxx> Date: Wed Sep 10 03:36:24 2014 +0200 Staging: octeon-hcd: removed dummy label This is a patch to the octeon-hcd.c file that fixes removes dummy label i.e. label followed by return of void function Signed-off-by: Nitin Kuppelur <nitinkuppelur@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93a9f05ac65d08245269bb97045ef624e03d1f40 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Tue Sep 9 09:58:48 2014 +0530 staging:r8190_rtl8256: coding style: Fixed commenting style This is a patch to the r8190_rtl8256.c file that fixes commenting style Error Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a82b4b018a2341ab19885a1bcef6235513c053c5 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Sep 8 20:50:23 2014 -0500 drivers: staging: rtl8723au: Fix 'code indent should use tabs where possible' errors Fix checkpatch.pl 'code indent should use tabs where possible' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91b3aaf99177d63382e3bc4b9f66632fda2eca82 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Tue Sep 9 13:39:08 2014 -0500 staging/lustre: remove lvfs.h Move the definition of struct lvfs_run_ctxt to the one file that needed it (lustre/include/obd.h). Remove the then unneeded headers lustre/include/lvfs.h and lustre/include/linux/lvfs.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04b18c8d492b1c4855c8a68c9a7ce4c69b5e55fd Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Tue Sep 9 13:39:07 2014 -0500 staging/lustre/libcfs: remove upcall cache The upcall cache is unused so remove include/linux/libcfs/lucache.h and lustre/libcfs/upcall_cache.c. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5d2337c561f40672a9d8afd19a727c82e6e5b24 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Tue Sep 9 13:39:06 2014 -0500 staging/lustre: remove unused lvfs code Remove the unused "lvfs" functions obd_lvfs_fid2dentry(), ll_lookup_one_len(), l_dput(), lustre_rename(), push_ctxt(), and pop_ctxt(). Remove the unused members of struct lvfs_run_ctxt. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6272d7780598358f45d80fe38455a0c27fbeb1a3 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Tue Sep 9 13:39:05 2014 -0500 staging/lustre: remove lvfs_linux.h The definitions in lustre/include/linux/lvfs_linux.h are not used so remove that header. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46ffc934385860a127c04010f5f3ee225e06b87b Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Tue Sep 9 13:39:04 2014 -0500 staging/lustre: remove portals_compat25.h Remove include/linux/libcfs/linux/portals_compat25.h. . remove some unused/unnecessary macros such as smp_num_cpus / SIGNAL_MASK_ASSERT etc. . replace some macros with direct kernel API calls such as RECALC_SIGPENDING/CLEAR_SIGPENDING/CURRENT_SECONDS, cfs_wait_event_interruptible/_exclusive etc. Signed-off-by: Liu Xuezhao <xuezhao.liu@xxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxx> Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/4778 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Keith Mannthey <keith.mannthey@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16e0631db72cf70e6be1abb8892ec2928a16f716 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Tue Sep 9 13:39:03 2014 -0500 staging/lustre: remove linux/lustre_common.h Expand the two uses of ll_inode_blksize() and remove the then unnecessary header lustre/include/linux/lustre_common.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11495 Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdedd94509fdcee9e604fcce406a45a6ad3ee559 Author: James Simmons <uja.ornl@xxxxxxxxx> Date: Tue Sep 9 13:39:02 2014 -0500 staging/lustre/lvfs: remove the lvfs layer The lvfs layer is obsolete and unused by Lustre clients. So remove it and integrate the last of the procfs code into the obdclass layer. Signed-off-by: James Simmons <uja.ornl@xxxxxxxxx> Signed-off-by: Mikhail Pershin <mike.pershin@xxxxxxxxx> Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/5512 Reviewed-by: Jian Yu <jian.yu@xxxxxxxxx> Reviewed-by: Bob Glossman <bob.glossman@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b037976f7a083b2cb80fbff5f6629620f1b53fc0 Author: Hugues Morisset <morisset.hugues@xxxxxxxxx> Date: Tue Sep 9 16:36:27 2014 +0200 staging: lustre: fix coding style of function's pointer Signed-off-by: Hugues Morisset <morisset.hugues@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe67299757b6c16c3230c6e1ed4912a04f55b2a8 Author: Hugues Morisset <morisset.hugues@xxxxxxxxx> Date: Tue Sep 9 16:36:26 2014 +0200 staging: lustre: fix inappropriate enums declarations. Signed-off-by: Hugues Morisset <morisset.hugues@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 498374f7b6273920dcaf0e25a89fce9e931c986a Author: Hugues Morisset <morisset.hugues@xxxxxxxxx> Date: Tue Sep 9 16:36:25 2014 +0200 staging: lustre: fix coding style on long lines Signed-off-by: Hugues Morisset <morisset.hugues@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 187516688df334bc34ae08db931193e0a2f7dc97 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Tue Sep 9 15:44:08 2014 +0200 staging: lustre: lov: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5b3f330f7f666b915e47542581e0b4ce3b96780 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Sep 8 21:41:28 2014 -0400 staging/lustre: remove unused function is_osp_on_mdt This function is no longer used anywhere. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a33105259f5e79a06e9e0a3f233991584b5320b2 Author: Mikhail Pershin <mike.pershin@xxxxxxxxx> Date: Mon Sep 8 21:41:27 2014 -0400 staging/lustre: use osc_reply_portal for OUT services OUT service is used to server both MDS-MDS updates and MDS-OST therefore services on MDT and OST are set to use the same request and reply portals to be fully unified and able to serve any type of requests. Signed-off-by: Mikhail Pershin <mike.pershin@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/8390 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3467 Reviewed-by: wangdi <di.wang@xxxxxxxxx> Reviewed-by: Fan Yong <fan.yong@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1cc30ab907dbb6222891cb277e4eb5605f17246f Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Sep 8 20:13:13 2014 -0500 drivers: staging: lustre: Fix 'code indent should use tabs where possible' errors Fix checkpatch.pl 'code indent should use tabs where possible' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 650ea11ffa0cb51440015c420de269a705d6666e Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Sep 8 17:32:08 2014 -0500 drivers: staging: lustre: Fix "space prohibited after that open parenthesis '('" errors Fix checkpatch.pl "space prohibited after that open parenthesis '('" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0220d472dfa98357c5642b9ca80602fad431e046 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:15 2014 +0100 staging: comedi: adl_pci9118: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 058543b77f312ee5df0e59a5373cf624d004f704 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:19 2014 +0100 staging: comedi: amplc_dio200_common: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d699f10766a0fdd7040b9b11daa0fddaca666c86 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Wed Sep 10 01:04:42 2014 -0500 staging: comedi: hwdrv_apci3120: remove void function return statement Returns at the end of void functions are useless. Remove this one. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bfc81c4a223ec2ecdc3ca955b4c060c64e5fb71f Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Wed Sep 10 01:04:28 2014 -0500 staging: comedi: hwdrv_apci3120: else is not useful after return The statement nested in an else after a return may be brought out one indent level, the else is useless. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8aeec82ffdbf248e57caa52f1702dd09a45711ed Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Wed Sep 10 01:04:10 2014 -0500 staging: comedi: hwdrv_apci3120: add a blank line after declarations Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93093cad2aff07acd2e1b7f52d7fb744b03a1b7a Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Wed Sep 10 01:03:44 2014 -0500 staging: comedi: hwdrv_apci3120: clean up comments This patch fixes improper comment indentation, removes dead code and obsolete comments, and conforms remaining comments to a consistent kernel commenting style. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aaa0c2f77bee1f0834d549e9ca937fb2ecb6cda1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:06 2014 -0700 staging: comedi: usbduxsigma: prevent "empty acquisition" async commands This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0 for both the analog input and output async commands. The (*do_cmd) for both subdevices sets up and starts the command without handling the "empty acquisition". This results in the interrupt functions trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e98348e0cb52dbb48d505b54646180a1455d630c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:05 2014 -0700 staging: comedi: usbdux: prevent "empty acquisition" async commands This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0 for both the analog input and output async commands. The (*do_cmd) for both subdevices sets up and starts the command without handling the "empty acquisition". This results in the interrupt functions trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32f9ff7039eb59eaef0c153328601ac6164b746a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:04 2014 -0700 staging: comedi: s626: fix cmd->stop_arg validation for stop_src == TRIG_COUNT The only limit for the stop_arg with a stop_src == TRIG_COUNT is that there is at least 1 scan in order to prevent an empty acquisition. The max test is bogus. Fix the validation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b9505527e5560297be00094fb4819b0e91e4138 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:03 2014 -0700 staging: comedi: s626: 'ai_sample_count' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'ai_sample_count' is the cmd->stop_arg. For a stop_src == TRIG_NONE the 'ai_sample_count' is currently set to 1 but the driver never actually uses the value. Simplify the 'stop_count' initialization by just setting it to the cmd->stop_arg. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27cb98142f42432733ac0a0cb2a35330756d5c19 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:02 2014 -0700 staging: comedi: s626: clarify COMEDI_CB_EOA code The end-of-acquisition only applies when the cmd->stop_src == TRIG_COUNT. Refactor the code in s626_handle_eos_interrupt() that detects the end-of- acquisition to clarify this. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e37b20aa58d8b6e4df41222f4aacf2b055c973b2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:01 2014 -0700 staging: comedi: s626: remove 'ai_continuous' from private data This member of the private data is set based on the cmd->stop_src. Just use the cmd->stop_src directly and remove the member. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c602c498cd88faa78e17acc7efa29a36012e728 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:16:00 2014 -0700 staging: comedi: rtd520: prevent "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. The (*do_cmd) then sets up and starts the command without handling the "empty acquisition". This results in the interrupt function trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e2e39effd11ca7c09cc47aff9e99d976109bbe8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:59 2014 -0700 staging: comedi: pcmuio: return void from pcmuio_start_intr() This function always returns '0' so the comedi_event() is never done by the callers. Change the return type to void and remove the comedi_event() dead code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e7fed7ed760275c3e8e73e4328751fcb8f21642 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:58 2014 -0700 staging: comedi: pcmuio: 'stop_count' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'stop_count' is the cmd->stop_arg. For any other stop_src the 'stop_count' is 0, which is also the cmd->stop_arg. Simplify the 'stop_count' initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75d46fd7816ea5a22971b05e59c356f3964754a9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:57 2014 -0700 staging: comedi: pcmuio: remove 'continuous' from private data This member of the private data is set based on the cmd->stop_src. Just use the cmd->stop_src directly and remove the member. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71731264847096ab2d2045601b96c9c341a6ae12 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:56 2014 -0700 staging: comedi: pcmuio: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22499048e328469d228bbcbeb32e6c7de3322025 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:55 2014 -0700 staging: comedi: pcmmio: return void from pcmmio_start_intr() This function always returns '0' so the comedi_event() is never done by the callers. Change the return type to void and remove the comedi_event() dead code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 811ba919e469b2c96562119dfee3f93a490f4990 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:54 2014 -0700 staging: comedi: pcmmio: 'stop_count' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'stop_count' is the cmd->stop_arg. For any other stop_src the 'stop_count' is 0, which is also the cmd->stop_arg. Simplify the 'stop_count' initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ea37fd27a453e48dab31bdd3843d8569857f1e6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:53 2014 -0700 staging: comedi: pcmmio: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe094b7e00b507e279782e0a319b7fb32e53d2d0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:52 2014 -0700 staging: comedi: pcl711: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7be7f9c3e3f87fd1263014a14b177409b6542e54 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:51 2014 -0700 staging: comedi: ni_pcidio: prevent "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. The (*do_cmd) then sets up and starts the command without handling the "empty acquisition". This results in the interrupt function trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd6887b2ec985f7fcc42b48caa6561ed98cbf720 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:50 2014 -0700 staging: comedi: ni_atmio16d: prevent "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. The (*do_cmd) then sets up and starts the command without handling the "empty acquisition". This results in the interrupt function trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76af50ddee4f2fa76089b25f763749874acce07a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:49 2014 -0700 staging: comedi: me4000: validate cmd->stop_arg in step 3 of (*do_cmdtest) The async command arguments are supposed to be trivially validated in step 3 of the (*do_cmdtest). Fix the validation of the stop_arg. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 759658ddff327675bbf35063e2b04e0d7424124d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:48 2014 -0700 staging: comedi: dt282x: prevent "empty acquisition" async commands This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0 for both the analog input and output async commands. The (*do_cmd) for both subdevices sets up and starts the command without handling the "empty acquisition". This results in the interrupt functions trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a021d6387337c828c6e15c7fc65f3e013163f89 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:47 2014 -0700 staging: comedi: das16m1: prevent "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. The (*do_cmd) then sets up and starts the command without handling the "empty acquisition". This results in the interrupt function trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c8af779c4c205ff379dcc3ac52831730ec0f5d5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:46 2014 -0700 staging: comedi: das16: prevent "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. The (*do_cmd) then sets up and starts the command without handling the "empty acquisition". This results in the interrupt function trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5d9973b046fb8e0b0f3a8ad925d0033eec59856 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:45 2014 -0700 staging: comedi: cb_pcidas: prevent "empty acquisition" async commands This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0 for both the analog input and output async commands. The (*do_cmd) for both subdevices sets up and starts the command without handling the "empty acquisition". This results in the interrupt functions trying to transfer 0 data samples. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) to prevent the "empty acquisition". Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1dabb50199791d60b15ddfc958a8b56e5ea26460 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:44 2014 -0700 staging: comedi: amplc_pci230: 'ai_scan_count' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'ai_scan_count' is the cmd->stop_arg. For any other stop_src the 'ai_scan_count' is 0, which is also the cmd->stop_arg. Simplify the 'ai_scan_count' initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df9f5bad2187203d6c87cb406bab5f7675618498 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:43 2014 -0700 staging: comedi: amplc_pci230: remove analog input "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6fabddd2261a84a4dbb4aac61baa7b4652c126e1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:42 2014 -0700 staging: comedi: amplc_pci230: 'ao_scan_count' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'ao_scan_count' is the cmd->stop_arg. For any other stop_src the 'ao_scan_count' is 0, which is also the cmd->stop_arg. Simplify the 'ao_scan_count' initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 54d2925bd6b49b5330e8ebbdc83416b0b1605fa2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:41 2014 -0700 staging: comedi: amplc_pci230: remove analog output "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aaf6598f086396e51caafceee89f7ceecd7defd0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:38 2014 -0700 staging: comedi: amplc_pci224: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediately generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 157a340d1ff490c346e6ea02eaa21510432ac092 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:37 2014 -0700 staging: comedi: amplc_dio200_common: return void from dio200_start_intr() This function always returns '0' so the comedi_event() is never done by the callers. Change the return type to void and remove the comedi_event() dead code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06f55bb778390f5adbaa21c554505b3a4d27ff38 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:36 2014 -0700 staging: comedi: amplc_dio200_common: 'stopcount' is always 'stop_arg' When the cmd->stop_src == TRIG_COUNT, the 'stopcount' is the cmd->stop_arg. When the stop_src == TRIG_NONE the 'stopcount' is 0, which is also the cmd->stop_arg. Simplify the 'stopcount' initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 75d756e9f0b329afe8f59df44ebc6ede9f2fa99c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:35 2014 -0700 staging: comedi: amplc_dio200_common: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediatelt generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 103e280141ecd19b429567af9e9931817dfacd2a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:34 2014 -0700 staging: comedi: addi_apci_2032: absorb apci2032_int_start() This function always returns 'false' so the caller never does the comedi_event(). Absorb the function into the caller and remove the 'do_event' dead code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52c22b803e1b0259adddb0bd2153674ddb2da0d3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:15:33 2014 -0700 staging: comedi: addi_apci_2032: remove "empty acquisition" async command This driver currently allows a cmd->stop_src == TRIG_COUNT with a cmd->stop_arg of 0. This causes the (*do_cmd) to immediatelt generate a COMEDI_CB_EOA event without acquiring any data. This "empty acquisition" async command is not really useful. Validate that the cmd->stop_arg is >= 1 in the (*do_cmdtest) and remove the "empty acquisition" code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c469410741c017137a81f34c161af82a979846e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:55 2014 -0700 staging: comedi: adl_pci9118: move pci9118_ai_cmdtest() For aesthetics, move this function closer to the (*do_cmd). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa795752c2720a672efff0147f5ef715acde945b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:54 2014 -0700 staging: comedi: adl_pci9118: absorb DMA and non-DMA helpers Currently the pci9118_ai_docmd_dma() or pci9118_ai_docmd_sampl() helper is called by the (*do_cmd) to do the final setup for the command. Most of this invloves setting various bits in 'ai_ctrl' and 'int_ctrl' to setup the acquisition based on the 'ai_do' mode. Most of this is the same for the DMA and non-DMA setup. The differences are easily handled by either checking the cmd trigger sources or if DMA is used. Absorb the helper functions into the (*do_cmd) to clarify the code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7d2191b0ba09e070c1417fc8af73c3c5cd744f7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:53 2014 -0700 staging: comedi: adl_pci9118: clarify async command start The async command can start immediately (TRIG_NOW), from an internal trigger (TRIG_INT), or from an external trigger (TRIG_EXT). Currently the start of the command is scattered in the DMA and non-DMA helper functions. Consolidate the start of the async command at the end of the (*do_cmd) function. For aesthetics, use the 'cmd->start_src' directly instead of the 'ai12_startstop' in the private data to determine how to start the command. This also fixes a minor bug where the external trigger gets enabled for a start_src == TRIG_INT. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e17ae870c21c1860eb9dc3d911a8d2fe3d7a73e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:52 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_ai_cmd_start() Introduce a helper function to start the async command. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d900197e9e0ee372a6eabce6a8a98ec8c4174c2b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:51 2014 -0700 staging: comedi: adl_pci9118: enable DMA in common code path The pci9118_ai_docmd_dma() function enables the DMA bit in the ai control register for all acquisition modes. For aesthetics, move the enable of this bit into the (*do_cmd). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4cf13a1dc89b0f5e23ec5d33905c91e240e1f831 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:50 2014 -0700 staging: comedi: adl_pci9118: tidy up 'ai_cfg' in pci9118_ai_docmd_dma() The 'ai_cfg' was already set to PCI9118_AI_CFG_PDTRG | PCI9118_AI_CFG_PETRG. Don't bother setting those bits in pci9118_ai_docmd_dma(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f3d3dad659df423f46ea8ec5050eb1af69eb1bf1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:49 2014 -0700 staging: comedi: adl_pci9118: clarify acquisition mode (ai_do) determination The async command can operation in 4 modes in this driver. Modes 1 and 4 use timers 1 and 2 as a cascaded timer to trigger each conversion. Mode 1 begins the acquisitions immediately (scan_begin_src == TRIG_FOLLOW) and Mode 4 begins after an external trigger (scan_begin_src == TRIG_EXT). Both modes use a convert_src == TRIG_TIMER. Mode 2 uses timers 1 and 2 in a double timed action (scan_begin_src == TRIG_TIMER and convert_src != TRIG_EXT (TRIG_TIMER and TRIG_NOW are valid)). Mode 3 does not use the timers. Each acquisition is triggered by an external signal (scan_begin_src == TRIG_FOLLOW and convert_src == TRIG_EXT. The (*do_cmdtest) validates the scan_begin_src as TRIG_FOLLOW, TRIG_TIMER, or TRIG_EXT. Remove the invalid check for TRIG_INT in the (*do_cmd). Clarify the logic used to determine the mode in the (*do_cmd). Also, simplify pci9118_calc_divisors(). Call i8253_cascade_ns_to_timer() directly in the (*do_cmd) for the mode 1 and mode 4 cases. Call pci9118_calc_divisors() only for mode 2 acquisitions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abaaa7f83a505f9a6cd0405d1dc92ab19a0c7805 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:48 2014 -0700 staging: comedi: adl_pci9118: TRIG_INT is not a valid scan_begin_src The (*do_cmdtest) validates the scan_begin_src as TRIG_FOLLOW, TRIG_TIMER, or TRIG_EXT. Remove the invalid check for TRIG_INT in the (*do_cmd). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d397fd5886090f9462098432bd9523fd8f3df37b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:47 2014 -0700 staging: comedi: adl_pci9118: remove sanity checks in pci9118_calc_divisors() The 'tim2' parameter to this function is actually the cmd->convert_arg which was validated in the (*do_cmdtest) as: err |= cfc_check_trigger_arg_min(&cmd->convert_arg, devprivriv->ai_ns_min); The sanity checks in this function are just repeating that validation. The 'min_pacer' sanity check is simply not needed. Remove these unnecessary checks. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5fc6c95c2fdc9c6bccf57ff15ab054530382ae76 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:46 2014 -0700 staging: comedi: adl_pci9118: tidy up pci9118_set_chanlist() Define some macros to set the 'chan' and 'range' bits in the chanlist register. Use them to tidy up this function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7a078e9cd8e92a989e5afa524e4d9f945e58c75 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:45 2014 -0700 staging: comedi: adl_pci9118: absorb pci9118_ai_set_range_aref() This function is called by the analog input (*insn_read) and (*do_cmd) operations. The pci9118_set_chanlist() function is also called by those operations. Setting the range and aref logically belongs with setting the chanlist. To clarify the code, absorb pci9118_ai_set_range_aref() into pci9118_set_chanlist(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d62b548ded7a5540ecd89fb38d0dab876aec78f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:44 2014 -0700 staging: comedi: adl_pci9118: rename setup_channel_list() Rename this function so it has namespace associated with the driver. Also, this function always succeeds. Change the return type to void and remove the unnecessary error handling by the callers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acdc21c2030659de8d9a9d3960b3b004a38eeec7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:43 2014 -0700 staging: comedi: adl_pci9118: remove unused parameters from setup_channel_list() The 'rot' and 'usedma' parameters are not used in this function. Remove them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11822f0218b4f44ff16a27b15a0742165a916936 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:42 2014 -0700 staging: comedi: adl_pci9118: merge pci9118_exttrg_{add,del}() For aesthetics, merge these two helper functions and add a parameter, 'enable', to determine if the external trigger is being added (enabled) or deleted (disabled). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 664e244ca5d90c5f3d97a67202cbdf821a3feeb0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:41 2014 -0700 staging: comedi: adl_pci9118: exttrg source is always EXTTRG_AI The 'source' passed to pci9118_exttrg_{add,del}() is always EXTTRG_AI. Remove the parameter and unnecessary sanity checking. Also, since there is only one vaild exttrg source, remove the unnecessary 'exttrg_users' member from the private data. The pci9118_exttrg_{add,del}() functions always succeed. For aesthetics change the return type to void. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9d208d3eaffcf4e014592fa3a004e8c3f4a4a13 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:40 2014 -0700 staging: comedi: adl_pci9118: fix interrupt_pci9118_ai_mode4_switch() This function modifies the analog input acquistion programming after the first DMA cycle to continue a "mode4" acqusition. Part of this programs timer 0 based on the hardware address of the next buffer. When double buffering is not used for DMA the "next" buffer is always the first, and only, buffer. Add a parameter to this function to indicate what the "next" buffer actually is and fix the callers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e652632fc240f4ed40da60ec899cdcf3655afd37 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:39 2014 -0700 staging: comedi: adl_pci9118: change type of pci9118_dmabuf 'virt' member For aesthetics, change the type of this member to avoid the casts when allocating and freeing the DMA buffers. This does introduce a cast in move_block_from_dma() but that cast is cleaner. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f2cbe2c5b8ba5f34e3d6bde5c285b009e6342b4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:38 2014 -0700 staging: comedi: adl_pci9118: introduce struct pci9118_dmabuf For aesthetics, wrap the DMA buffer information in a struct. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 231649a475c3938199f752410dc3ef0944ff37c0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:37 2014 -0700 staging: comedi: adl_pci9118: remove 'dmabuf_used_size' from private data This member of the private data is set but never used. Just remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32502f5aa1cd4772d29eabdce1cf82985edcfadd Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:36 2014 -0700 staging: comedi: adl_pci9118: convert private data true/false flags to bit-fields For aesthetics convert the private data true/false flags to bit-fields. The 'usemux' member is used in the driver as a flag. Refactor the analog input subdevice init so this member can also be a bit-field. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f463b8c08067f58eee5352a5822e67f5fe7360f5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:35 2014 -0700 staging: comedi: adl_pci9118: remove 'dmabuf_panic_size' from private data This member of the private data is only used in some #if 0'ed code. Remove it along with the unused code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 006e81e2bb06812bf6b0917d19c7f1ae1bbfcd3c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:34 2014 -0700 staging: comedi: adl_pci9118: remove PCI9118_PARANOIDCHECK code The comment states that paramoid checks are broken. They also would only work for 12-bit analog input samples. Instead of fixing the paranoid checking just remove it to simplify the driver a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 45ada8e85c1c2c434256dcd54fb80450ed956ea6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:33 2014 -0700 staging: comedi: adl_pci9118: do cfc_handle_events() at end of interrupt Each of the error detections currently do a cfc_handle_events() and exits the interrupt handler if the error is detected. The DMA and non-DMA handlers also to a cfc_handle_events(). For aesthetics, use goto to exit the interrupt handler if an error is detected and move the cfc_handle_events() call to the end of the interrupt. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f16a7b85168af1dc6621a7edb7925fca577e1017 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:32 2014 -0700 staging: comedi: adl_pci9118: handle hardware errors in interrupt handler Hardware errors will now always terminate an async command. For aesthetics, absorb pci9118_decode_error_status() into the interrupt handler and use the register map defines to remove the "magic" numbers. Refactor the code to set the appropriate comedi event bits and handle the event. Remove the unnecessary 'ai_maskerr' and 'ai_maskharderr' members from the private data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fed2c8406016f04b0d35b87c4aec77f4f0b7609b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:31 2014 -0700 staging: comedi: adl_pci9118: handle error detection in main interrupt handler The DMA and non-DMA both check the analog input status value to detect hardware errors. For aesthetics, move the this detection into the main interrupt handler. This allows removing the unused 'int_adstat' parameter from the DMA and non-DMA handlers. In addition, the 'int_daq' parameter is also not used so remove it also. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 318141a18f7337338451512cc37ada3bf0a22ae6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:30 2014 -0700 staging: comedi: adl_pci9118: handle master/target abort in main interrupt handler For aesthetics, move the master/target abort detection from the DMA handler to the main interrupt handler. This allows removing the unused 'int_amcc' parameter from the DMA and non-DMA handlers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e5314851a87ebf0ed4cfed100fd984b22111962 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:29 2014 -0700 staging: comedi: adl_pci9118: don't ignore hardware errors The legacy (*attach) currently allows the user to pass a mask of error conditions to ignore when running async commands. Remove this support so that the async command is always terminated if the hardware reports an error. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb578327814da1d9c91dc22c3e3f9a3ed6d7c40b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:28 2014 -0700 staging: comedi: adl_pci9118: always try to use interrupt and DMA This driver currently supports both the (*auto_attach) and legacy (*attach) mechanisms. The (*auto_attach) always tries to use the interrupt and DMA to support async commands with the analog input subdevice. The legacy (*attach) only enables them depending on a user option that is passed to the (*attach). The 'default' (i.e. option == 0) is to enable both the interrupt and DMA. Simplify the attach by always trying to enable the interrupt and DMA. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cf6b36768db5770c3faf4cb5864926142b069fc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:27 2014 -0700 staging: comedi: adl_pci9118: DMA requires an interrupt In order for DMA to work we also need an interrupt. Refactor the code so that the DMA allocation is only done if the interrupt is available. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9ca5508bc39462ee2e1988a23021d8fb1cadd6b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 13:05:26 2014 -0700 staging: comedi: adl_pci9118: factor out DMA alloc/free For aesthetics, factor the DMA allocation/free code out of the attach and detach functions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 957b9f8b41473f113c64ca234120de52d8bf59f8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:57 2014 +0100 staging: comedi: vmk80xx: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 723b68a9f87f1387df9a0c7aada1fecb888b6509 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:56 2014 +0100 staging: comedi: rti800: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3afadfa542eb24c07331952a26626e8621c45060 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:55 2014 +0100 staging: comedi: rtd520: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bb221694eb419c3dcbe665cbc77c5dd70f447f8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:54 2014 +0100 staging: comedi: pcmuio: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3230e42a7116279c66d11ecf2f017ed490107741 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:53 2014 +0100 staging: comedi: pcmad: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc453864d6124603af8e3600650304d9b9643586 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:52 2014 +0100 staging: comedi: pcl818: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79c9f68f55b4d539e61bc8ca4bb1eb556e049d94 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:51 2014 +0100 staging: comedi: pcl816: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7c9874b93e475882697c3758f13b1fbc58ff691 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:50 2014 +0100 staging: comedi: pcl812: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81fec905f1f82c8d0f94ae998b6d5eed20c5c788 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:49 2014 +0100 staging: comedi: pcl730: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 334e2f59b04ed2493fba7a1df3aeb55a4c3883e9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:48 2014 +0100 staging: comedi: pcl726: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 411b6f89198fa49a5912da388306cf54a1ad1048 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:47 2014 +0100 staging: comedi: pcl724: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b825f6c31682a0f9f0992c45f12a296a7df43346 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:46 2014 +0100 staging: comedi: pcl711: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 068be4998bc72ab98e67e85d1b31b554d93ed27d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:45 2014 +0100 staging: comedi: ni_pcimio: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cf94adc51174bdec291a5c6cacb51b93d5cf847 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:44 2014 +0100 staging: comedi: ni_mio_common: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 765c8b03d7e7cd7f22e7233b01e4d3b68d656c61 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:43 2014 +0100 staging: comedi: ni_labpc_isadma: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8cf27116e3650ca3f933d5689ee1065e0eb522e2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:42 2014 +0100 staging: comedi: ni_labpc_common: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af169cf1e215e213e8616774fc018547fabbbb26 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:41 2014 +0100 staging: comedi: ni_atmio: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 967b3eb2218b0962cf491e36c7d6130be3cb2b05 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:40 2014 +0100 staging: comedi: ni_atmio16d: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ec68b505a24049853e347b3b532f86b62342dd9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:39 2014 +0100 staging: comedi: ni_at_ao: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02cf9703e183424c0a1766b9581daa433ce342d2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:38 2014 +0100 staging: comedi: ni_at_a2150: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da8e2a52bed99beca82e3d69566e6d31f0f020f0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:37 2014 +0100 staging: comedi: ni_660x: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 369f87fadd8041eea33dcd2ce3c57be6c3010162 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:36 2014 +0100 staging: comedi: ni_65xx: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acaf8a5d40956d937c666c06adf9edaa5726303e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:35 2014 +0100 staging: comedi: me4000: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3972570c358a7de90dcba83b711d4b8a0b271ec Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:34 2014 +0100 staging: comedi: dt3000: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4759d39e25cf8858e66608cee04f29910225e11 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:33 2014 +0100 staging: comedi: dt282x: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5a74074d3401028fa09dfeaee12d38e2dae0075 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:32 2014 +0100 staging: comedi: dt2811: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36ecf0039662f5dc70fb9ce5f4724d60c23bd19d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:31 2014 +0100 staging: comedi: dt2801: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b77930940d2a3b9d69cbe1b637159bab6a1ade25 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:30 2014 +0100 staging: comedi: das800: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19924ce0c1fab868671d2fb845e402ab1bd848e3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:29 2014 +0100 staging: comedi: das6402: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0dd99bd12d883062d42cd2a912175b0525974da Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:28 2014 +0100 staging: comedi: das1800: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a5bd23d9e91a5d410c9fe9a449464efe69ccf03 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:27 2014 +0100 staging: comedi: das16: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c86b98a249a6a613c7b3b9784d82d18c4aa960ec Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:26 2014 +0100 staging: comedi: das08_isa: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3fad0eb2f4208bdfec09153a736390d73c5c4c3c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:25 2014 +0100 staging: comedi: das08: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fa8e8c8b4f5b3f3d57b75817a4a3b54cb9fac596 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:24 2014 +0100 staging: comedi: cb_pcidas: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3bc86feba44f243900b522a4c7295dea00c51d41 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:23 2014 +0100 staging: comedi: cb_pcidas64: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e857c7ca7e2e2e4b2f58353d83648a1f2b8e6f54 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:22 2014 +0100 staging: comedi: amplc_pci230: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b417436aaa2f6d64d39f2be8338bb7a096f24bc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:21 2014 +0100 staging: comedi: amplc_pci224: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 280f7a4c4f1ce828b3347b079a7fcd99c0d2adad Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:20 2014 +0100 staging: comedi: amplc_pc236_common: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b37e1d6eebe4cb22ecf6ee489c8e223f512a08ef Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:18 2014 +0100 staging: comedi: aio_aio12_8: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb5c7f9388540ae68609bbeaa5020f54f29c3bd3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:17 2014 +0100 staging: comedi: adv_pci_dio: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4be15551848773fd1b623dca3fbb6f7cab76054b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:16 2014 +0100 staging: comedi: adv_pci1710: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef97126fd0f04f55e17d8beb409a6ffc9741f3dc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:14 2014 +0100 staging: comedi: addi_apci_3xxx: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db2d623bf0ff73b7d4a72a474f2276da5fe886d1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:13 2014 +0100 staging: comedi: addi_apci_3120: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8eae1303ac2b8ae5b6cc381d527b9a83440621d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:12 2014 +0100 staging: comedi: addi_apci_1516: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 664fce451e53ba521cbec59d36000dd1b5116ba6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:11 2014 +0100 staging: comedi: addi_eeprom: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01a0312256ff24e9d9b481e2eb816803d1d40071 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Sep 9 11:26:10 2014 +0100 staging: comedi: addi_common: replace comedi_board() calls The `comedi_board(dev)` inline function calls just return `dev->board_ptr`. Expand the inline function calls. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9298b815efe500b272e4084ed05eeae7a92b5340 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Sep 11 14:15:24 2014 -0700 x86: Add more disabled features The original motivation for these patches was for an Intel CPU feature called MPX. The patch to add a disabled feature for it will go in with the other parts of the support. But, in the meantime, there are a few other features than MPX that we can make assumptions about at compile-time based on compile options. Add them to disabled-features.h and check them with cpu_feature_enabled(). Note that this gets rid of the last things that needed an #ifdef CONFIG_X86_64 in cpufeature.h. Yay! Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140911211524.C0EC332A@xxxxxxxxxxxxxxxxxx Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 381aa07a9b4e1f82969203e9e4863da2a157781d Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Sep 11 14:15:13 2014 -0700 x86: Introduce disabled-features I believe the REQUIRED_MASK aproach was taken so that it was easier to consult in assembly (arch/x86/kernel/verify_cpu.S). DISABLED_MASK does not have the same restriction, but I implemented it the same way for consistency. We have a REQUIRED_MASK... which does two things: 1. Keeps a list of cpuid bits to check in very early boot and refuse to boot if those are not present. 2. Consulted during cpu_has() checks, which allows us to optimize out things at compile-time. In other words, if we *KNOW* we will not boot with the feature off, then we can safely assume that it will be present forever. But, we don't have a similar mechanism for CPU features which may be present but that we know we will not use. We simply use our existing mechanisms to repeatedly check the status of the bit at runtime (well, the alternatives patching helps here but it does not provide compile-time optimization). Adding a feature to disabled-features.h allows the bit to be checked via a new macro: cpu_feature_enabled(). Note that for features in DISABLED_MASK, checks with this macro have all of the benefits of an #ifdef. Before, we would have done this in a header: #ifdef CONFIG_X86_INTEL_MPX #define cpu_has_mpx cpu_has(X86_FEATURE_MPX) #else #define cpu_has_mpx 0 #endif and this in the code: if (cpu_has_mpx) do_some_mpx_thing(); Now, just add your feature to DISABLED_MASK and you can do this everywhere, and get the same benefits you would have from #ifdefs: if (cpu_feature_enabled(X86_FEATURE_MPX)) do_some_mpx_thing(); We need a new function and *not* a modification to cpu_has() because there are cases where we actually need to check the CPU itself, despite what features the kernel supports. The best example of this is a hypervisor which has no control over what features its guests are using and where the guest does not depend on the host for support. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140911211513.9E35E931@xxxxxxxxxxxxxxxxxx Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit c8128cceb4f4b02c53096cb173628184c7e9bc36 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Sep 11 14:15:11 2014 -0700 x86: Axe the lightly-used cpu_has_pae cpu_has_pae is only referenced in one place: the X86_32 kexec code (in a file not even built on 64-bit). It hardly warrants its own macro, or the trouble we go to ensuring that it can't be called in X86_64 code. Axe the macro and replace it with a direct cpu feature check. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140911211511.AD76E774@xxxxxxxxxxxxxxxxxx Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 4a5c969411ded8f5c5a5c7248855e3c0be565f50 Merge: 2a3b60d 2eb671c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 11 14:27:19 2014 -0700 Merge tag 'ipu-for-staging-3.18' of git://git.pengutronix.de/git/pza/linux into work-next Philipp writes: IPUv3 CPMEM API change across staging and drm commit 87df8ac3d2e4f47f3d24e6038110feebbe8954cf Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Sep 11 14:53:31 2014 +0200 Revert "usb: dwc2: move "samsung,s3c6400-hsotg" into common platform" This reverts commit 8df438571cdbd5c4fcd1b25b19eea1ad5c3cf777. This patch breaks building dwc2 driver in gadget mode at samsung platforms. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cd6860979522ceaaaa4d706790a880832f0d50ba Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Thu Sep 11 14:53:30 2014 +0200 Revert "usb: dwc2: Update Kconfig to support dual-role" This reverts commit e006fee6ecfed5b957bdd41c236aad751ab29042. This patch causes build break. Modifications in Makefile and Kconfig have no connection with driver code. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adb43b24ec12a008656dcca831ab835a94261963 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 4 12:36:45 2014 +0200 ath10k: fix debugfs_create_dir() checking The function may return an -ENODEV if debugfs is disabled in kernel. This should originally be guarded by ath10k's Kconfig but it still makes sense to check for the non-NULL errno return value. Reported-by: Matteo Croce <matteo@xxxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d5aebc77b47f9e0a2b465fbcf77bde033a231c24 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Wed Sep 10 18:59:28 2014 +0300 ath10k: support firmware crash-by-assert 10.1 firmware does not have an official way to cause assert on purpose, but it can be done with carefully crafted WMI command. This is a different kind of crash from the 'hard' crash, which is a bad memory dereference. Different crashes decode in different manners, so this will help the crash-report testing as well as offer better ways to test firmware failure and recovery. kvalo: move the wmi command creation to debug.c, modify the info print Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 43d2a30fa80166243498fc6b8c841828ce52fcc1 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 18:23:30 2014 +0300 ath10k: add testmode Add testmode interface for starting and using UTF firmware which is used to run factory tests. This is implemented by adding new state ATH10K_STATE_UTF and user space can enable this state with ATH10K_TM_CMD_UTF_START command. To go back to normal mode user space can send ATH10K_TM_CMD_UTF_STOP. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 666a73f327d5a8fec58bbfedb36ae545862f479e Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 18:23:23 2014 +0300 ath10k: make ath10k_wmi_cmd_send() public We need this function to send wmi packets from testmode.c. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 55601c9f24670ba926ebdd4d712ac3b177232330 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:58 2014 -0700 arm: omap: intc: switch over to linear irq domain now that we don't need to support legacy board-files, we can completely switch over to a linear irq domain and make use of irq_alloc_domain_generic_chips() to allocate all generic irq chips for us. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d6a7c5c84f5ddab54717914ad293ed9d99d644ff Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:57 2014 -0700 arm: omap: irq: get rid of ifdef hack we don't need the ifdef if we have omap_nr_pending telling us how many pending registers we have on current platform. This solves a possible problem where we could try to handle bogus interrupts on OMAP2 and OMAP3 if using single zImage kernel, because we would end up reading the following pending FIQ register. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 52b1e1291334d79bb3d2fcaec15f7fc42eedbd83 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:57 2014 -0700 arm: omap: irq: introduce omap_nr_pending that variable will tell us how many INTC_PENDING_IRQn registers we have. It'll be used on a following patch to cleanup omap_intc_handle_irq() a bit. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a74f0a176e3e048df78816ec383b219f8ac6867e Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:55 2014 -0700 arm: omap: irq: remove nr_irqs argument we can set our global omap_nr_irqs early on and drop the extra argument to omap_init_irq(). Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 3384f86fe5c1074fddabeeeed72e413eb28f0fcf Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:54 2014 -0700 arm: omap: irq: remove unnecessary header There's no need for that header to be included. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2aced8924638104d1e09ebb86f87f6ca265d325b Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:52 2014 -0700 arm: omap: irq: drop omap2_intc_handle_irq() that was just a no-op wrapper around omap_intc_handle_irq anyway. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 05f1e7387c21b7075bed6ae7e7412435a7002fe4 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:52 2014 -0700 arm: omap: irq: drop omap3_intc_handle_irq() now that we're calling set_handle_irq() from init_irq(), we can safely drop all callers to omap3_intc_handle_irq() and its definition. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit be0a768596a204af6f124bffc2588457c18375fd Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:52 2014 -0700 arm: omap: irq: call set_handle_irq() from .init_irq the idea is that board-files won't need to set .handle_irq on their machine_descs, which lets us drop a little more pointless code. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a4d3c5d91fd109dd852351193781352f0512d0c3 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:51 2014 -0700 arm: omap: irq: move some more code around We want .init_irq to call set_irq_handle() for legacy platforms. Note that this code will also be dropped once omap2/3 devices are completely moved to DT. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit c2fb3b33f279a6f798b5bbb7fde7cfcdf9401039 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:49 2014 -0700 arm: boot: dts: omap2/3/am33xx: drop ti,intc-size we are now infering number of IRQ lines based on correct compatible flag, which renders this binding completely useless. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a05d92b0940d4b96c44ed42402acc242c16fa9b5 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:48 2014 -0700 arm: omap: irq: drop ti,intc-size support we don't need that anymore since specific devices are passing correct compatible flags. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit cab82b76f30cecfc09eeeb8a7b1bb78de2e0dadc Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:48 2014 -0700 arm: boot: dts: am33xx/omap3: fix intc compatible flag that way, our intc driver can figure out how many IRQ lines INTC has. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 470f30deaeb870dcc65d2357fbb675deb3e779de Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:47 2014 -0700 arm: omap: irq: use compatible flag to figure out number of IRQ lines so far, only am33xx has 128 lines, all other devices have only 96. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a35db9a4cb800f343cd4bbfeeb6568807a16aad8 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:46 2014 -0700 arm: omap: irq: add specific compatibles for omap3 and am33xx devices with this, we can use a compatible flag to figure out how many irq lines are wired up, no need for our TI-specific ti,intc-size binding. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e66c49b515aa4cbd621a4844f980ff487327aa7d Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:45 2014 -0700 arm: omap: irq: drop .handle_irq and .init_irq fields now we can safely drop those fields from our machine_desc. While at that, also drop the now unused omap_intc_of_init() definition. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b65ecd46125929941076e7af77b5e685a332c33c Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:43 2014 -0700 arm: omap: irq: use IRQCHIP_DECLARE macro IRQCHIP_DECLARE macro is used to declare the same of_device_id structure for irqchips, it's just a helper. No functional changes. Note that we're temporarily including irqchip.h with its full path, until we move this driver to drivers/irqchip/. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit b15c76b74896f1a2c60fff13fdf20d07468de323 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:43 2014 -0700 arm: omap: irq: call set_handle_irq() from intc_of_init this will let us drop .handle_irq and .init_irq fields from our generic machine_descs. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 00b6b031ab527afa2981bdffea7752279a290c26 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:43 2014 -0700 arm: omap: irq: make intc_of_init static nobody uses that function outside of this file, so we don't need to expose it. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 131b48c061726d4ac98f70a2beae35280a8de5cf Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:42 2014 -0700 arm: omap: irq: reorganize code a little bit no functional changes, just moving code around. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit f8cc9eaf26dc026f134996a0cc6e1d1ce157ce9c Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:40 2014 -0700 arm: omap: irq: always define omap3 support remove ifdef around omap3 INTC support. This will make it easier to reuse code for PM. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 272a8b04aba793347476ed768c5a2fe4fce046f9 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:38 2014 -0700 arm: omap: irq: rename omap3_intc_regs just to make it clearer that it can be used on all omaps. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d1e66d69616db9325f397e004c54042622d48e83 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:37 2014 -0700 arm: omap: irq: remove unnecessary base_addr argument omap_intc_handle_irq now had an unnecessary base_addr argument. Let's remove it and fix all callers. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1198365625bf22294263267df3360cb2a4c76f2d Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:37 2014 -0700 arm: omap: irq: switch over to intc_readl on omap_intc_handle_irq an almost blind conversion from readl_relaxed to our newly introduced intc_readl(). While at that, also remove some hardcoded register addresses. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 33ca0be0836c834ceba12761b506ff73cf46a376 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:37 2014 -0700 arm: omap: irq: remove unused macro no functional changes. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit a88ab43083c6f3cb518f63cc5f53d8304092efc0 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:35 2014 -0700 arm: omap: irq: remove rest of irq_banks usage now we can finally remove the pointless irq_banks array. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 421b090c83280f9f47d7c2532a6a0ba35446d6b1 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:34 2014 -0700 arm: omap: irq: add a global omap_nr_irqs variable this will cache number of irqs. Also in preparation for removal of irq_banks array. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 71be00c90aba446779ea35a9740973a9be594257 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:32 2014 -0700 arm: omap: irq: start to remove irq_banks array We have a single bank in that array, this patch is in preparation to remove that array. It just shifts everything to a new set of functions for register IO while also removing old ones. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 33c7c7b7f2eb76520cd8ddcb7fe458383783e0f8 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:32 2014 -0700 arm: omap: irq: define INTC_ILR0 register this is currently used as a hardcoded 0x100 offset. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 176da6c766ce3d5d8c88a7afdaefcc5fd6d8afac Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 17:54:31 2014 -0700 arm: omap: irq: make omap_irq_base global This is in preparation for removing the pointless irq_banks array. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 051c544010cf089ca6b8a229546bb7ec2950a54d Merge: 5081ce6 3195760 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Sep 11 13:03:25 2014 -0700 Merge branch 'omap-for-v3.18/fixes-not-urgent' into omap-for-v3.18/intc-v2 commit 31957609db529d401658adc2e91ef7df7ea42699 Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Sep 10 10:26:17 2014 +0200 ARM: OMAP2+: make of_device_ids const of_device_ids (i.e. compatible strings and the respective data) are not supposed to change at runtime. All functions working with of_device_ids provided by <linux/of.h> work with const of_device_ids. So mark the non-const function parameters and structs for OMAP2+ as const, too. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 58cda01ed18945c17ad858dfcf4a9a74ba70157c Author: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Thu Sep 11 21:29:01 2014 +0200 ARM: omap2: make arrays containing machine compatible strings const The definition static const char *omap3_boards_compat[] __initconst = { defines a changable array of constant strings. That is you must not do: *omap3_boards_compat[0] = 'f'; but omap3_boards_compat[0] = "another string"; is fine. So the annotation __initconst is wrong and yields a compiler error when other really const variables are added with __initconst. As the struct machine_desc member dt_compat is declared as const char *const *dt_compat; making the arrays const is the better alternative over changing all annotations to __initdata. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 167bf96dd87d2a8360cb9e9783006876dac4f579 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 19:16:00 2014 +0530 ath9k: Fix beacon miss handling The NoA duration for a GO is half the beacon interval and a concurrent context like a STA can be active only for that duration, before switching back to the GO's operating channel. Currently, when multiple beacons are missed, the dwell time for the STA context is extended to improve the chances of receiving a beacon. But the NoA is not updated and this will cause problems since the GO is offline for a period that is longer than the advertised duration. Fix this by ensuring that the NoA is updated first before extending the time slot for the STA context. Also make sure that non-periodic NoA is used for a one-time, longer absence period. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4899827d39ec913d4e46e77f4537945f3e68dca4 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 19:15:59 2014 +0530 ath9k: Fix channel switch time duration Since the NoA duration is the maximum time the GO interface can be offline, it needs to include the time take to switch channels in the HW. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 124130d766cefe8e6578695bc33bdc121c8cfaf3 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 19:15:58 2014 +0530 ath9k: Clear offchannel duration properly Clearing the offchannel duration value in the scheduler unconditionally breaks NoA when multiple contexts are active and an offchannel request is deferred, for example, in a scan run. Fix this by clearing the duration only if there is no pending offchannel request. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d0975edd59b94d8906008cf3c68020a44cc198c5 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 19:15:57 2014 +0530 ath9k: Fix Notice of Absence issues * The index has to incremented only when advertising a new NoA schedule. * Switch to non-periodic NoA when starting a scan operation and multiple channel contexts are active. * Make sure that periodic NoA is advertised again when scan ends. Since the offchannel timer moves the offchannel state to IDLE after the GO operating channel becomes active, use a flag "force_noa_update" to update the NoA contents. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit cbc775db2e17cc24a9d3b2f14570ec7c1e0923af Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 19:15:56 2014 +0530 ath9k: Assign offchannel duration properly In multi-channel mode, an offchannel request will be deferred if both contexts are active. The duration of the offchannel operation is calculated but is not stored in the scheduler state. Fix this. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 867fa0d49c8f5d3fd5e0138a754321ffa04903aa Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:51 2014 +0300 wil6210: fix PTR_ERR() usage after initialization to constant Reported by coccinelle: tree: git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next.git master head: 6a5d088a923854569e20eac4f3f569926d5911ec commit: b7cde47009640b88cb3629ee7078a43bc2642459 [18/80] wil6210: convert debugfs to the table mode coccinelle warnings: (new ones prefixed by >>) >> drivers/net/wireless/ath/wil6210/debugfs.c:327:17-24: ERROR: PTR_ERR applied after initialization to constant on line 304 vim +327 drivers/net/wireless/ath/wil6210/debugfs.c 298 struct dentry *dbg, void *base, 299 const struct dbg_off * const tbl) 300 { 301 int i; 302 303 for (i = 0; tbl[i].name; i++) { > 304 struct dentry *f = NULL; 305 306 switch (tbl[i].type) { 307 case doff_u32: 308 f = debugfs_create_u32(tbl[i].name, tbl[i].mode, dbg, 309 base + tbl[i].off); 310 break; 311 case doff_x32: 312 f = debugfs_create_x32(tbl[i].name, tbl[i].mode, dbg, 313 base + tbl[i].off); 314 break; 315 case doff_ulong: 316 f = wil_debugfs_create_ulong(tbl[i].name, tbl[i].mode, 317 dbg, base + tbl[i].off); 318 break; 319 case doff_io32: 320 f = wil_debugfs_create_iomem_x32(tbl[i].name, 321 tbl[i].mode, dbg, 322 base + tbl[i].off); 323 break; 324 } 325 if (IS_ERR_OR_NULL(f)) 326 wil_err(wil, "Create file \"%s\": err %ld\n", > 327 tbl[i].name, PTR_ERR(f)); 328 } 329 } 330 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 73d839ae503d591bc0dc802490c00935b19250d1 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:50 2014 +0300 wil6210: fix for oops while stopping interface When interface stopped while running intensive Rx traffic, the following oops observed: [89846.734683] Call trace: [89846.737117] [<ffffffc00083aa64>] dev_gro_receive+0xac/0x358 [89846.742674] [<ffffffc00083ae94>] napi_gro_receive+0x24/0xa4 [89846.748251] [<ffffffbffc1c2f88>] $x+0xec/0x1f8 [wil6210] wil_netif_rx_any [89846.753547] [<ffffffbffc1c4830>] $x+0x34/0x54 [wil6210] wil_release_reorder_frame [89846.758755] [<ffffffbffc1c48ac>] wil_release_reorder_frames+0x5c/0x78 [wil6210] [89846.766044] [<ffffffbffc1c4bf8>] wil_tid_ampdu_rx_free+0x20/0x48 [wil6210] [89846.772901] [<ffffffbffc1bedc8>] $x+0x190/0x1e8 [wil6210] [89846.778285] [<ffffffbffc1c0ed4>] wmi_event_worker+0x230/0x2f8 [wil6210] [89846.784865] [<ffffffc0000b0bc8>] process_one_work+0x278/0x3fc [89846.790591] [<ffffffc0000b1218>] worker_thread+0x200/0x330 [89846.796060] [<ffffffc0000b6664>] kthread+0xac/0xb8 [89846.800836] Code: b940c661 f9406a62 8b010041 f9400026 (f8636882) [89846.807008] ---[ end trace d6fdc17cd27d18f6 ]--- Reason is the following: when removing Rx vring (wil_netdev_ops.ndo_stop -> wil_stop -> wil_down -> __wil_down -> wil_rx_fini), Rx interrupt occurs. It trigger Rx NAPI, calling wil_rx_handle() that reaps (already cleaned) buffer, causing skb referring to garbage memory being set into reorder buffer. Then, network stack trying to access this buffer and fails. Prevent Rx NAPI from being scheduled if device going to stop. Bit wil_status_napi_en reflects NAPI enablement state, check it when triggering Rx NAPI. Testing shows that check for wil_status_napi_en sometimes gets negative, and new error message get printed - in this case kernel oops would be observed. Original oops is no more reproducible. This change requires also changes in the AP flows. Properly enable/disable NAPI for the AP. Make sure Rx VRING is disabled when resetting target. For this, promote __wil_up() and __wil_down() to the module scope, and use it in the relevant flows. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e4dbb093de182bb515821105dcdb8f2268bf6ffc Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:49 2014 +0300 wil6210: rename [en|dis]able irq to [un]mask To better reflect real action performed, rename: s/wil6210_disable_irq/wil_mask_irq/ s/wil6210_enable_irq/wil_unmask_irq/ Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d00a6367d227199de52b37622c984af8a21a2507 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:48 2014 +0300 wil6210: fix typo in comment Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 77c91295ea537e454113297f6f6fbdfb9f3e67fa Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:47 2014 +0300 wil6210: specify max. IE length Expose firmware limit for the max_scan_ie_len; also do actually set IE's for the probe request max_scan_ie_len used to be 0, this blocks scan requests with non-zero IE's Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 595026472eb74e4b57f5389af8b7c588659df243 Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:46 2014 +0300 wil6210: introduce separate completion for WMI re-use of wmi_ready for both FW ready event and for wmi_call was causing false "FW not ready" indication in case wmi_call() was invoked while reset took place. add wmi_call completion variable instead of re-using wmi_ready. Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e0106adade2dd16fb776f53f25ffe50da0793f3d Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:45 2014 +0300 wil6210: enlarge TX/RX buffer length HW supports upto 2304 packet size on the air. HW is responsible for adding (Tx) or removing (Rx) the following headers: 802.11 hdr: 26B SNAP: 8B CRC: 4B Security (optional): 24B HW adds max 62B to the payload passed from driver. It means driver can use max packet size of 2304-62 = 2242B Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1bd922fce29168b8a7d5b53c7be89de87381896b Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:44 2014 +0300 wil6210: add change_beacon() driver callback This allows updating IEs (e.g. from hostapd) when AP is already started Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ac4acdb7af7b5f1f197e7c3fdce13b6aa72c29c6 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:43 2014 +0300 wil6210: send connect request IEs to FW also for non-secure connection Driver is sending connect request IEs to FW only for secure connection and ignores them for non-secure connection. This is fixed by always sending the IEs to FW upon connect request Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ec81b5adf42e02560b3b05a0c8897451cd3d8b29 Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:42 2014 +0300 wil6210: fix race condition between BACK event and Rx data While handling Rx packet, BACK event arrives and frees tid_ampdu_rx array. This causes kernel panic while accessing already freed spinlock The fix is to remove tid_ampdu_rx[]'s spinlock and instead use single sta's spinlock to guard the whole tid_ampdu_rx array. Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4cf99c93d24f9cdd338ab23cd671e949ee6ca1bd Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:41 2014 +0300 wil6210: modify confusing printout When WMI event received when driver not ready to accept it, the printed error message is misleading and hints that HW is stuck. Modify the error message to make it clearer Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8c86f757b1c0a154cb8939b0fff3aaa1ff9b1910 Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:40 2014 +0300 wil6210: fix race condition of disconnect while BACK event This race condition was causing double free of tid_ampdu_rx structures Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 871d8c4bbb0f23c29a21b63b1801071766f69b51 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:39 2014 +0300 wil6210: fix usage of print_hex_dump_debug When CONFIG_DYNAMIC_DEBUG is not defined, print_hex_dump_debug is mapped directly to print_hex_dump which might cause printout to exist all the time Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f172b56309fbc4835b3f258df6865309dc02e80c Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:38 2014 +0300 wil6210: fix for memory corruption upon rmmod Driver disabled PCI master before making sure HW is idle. This caused memory corruption in case HW access system memory after PCI master got disabled. The fix is to change uninit sequence. Make sure FW/HW is idle before disabling PCI Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 69778059734b38ea6f4aa9d31262ad03e77b1b06 Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:37 2014 +0300 wil6210: fix for memory corruption while insmod After setting interrupt handler, driver enabled interrupts. This caused stale (old) HW interrupts to fire before driver is fully initialized. The fix is to enable interrupts only when driver is fully initialized and after FW/HW reset (to prevent any stale interrupts) Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9cf10d623e4fc7d3d8bb6d6ce835e10933b3b114 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:36 2014 +0300 wil6210: add more debug printouts added misc printouts in some init/uninit functions for better traceability Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f772ebfb941a58af9e7adf9117bc0bb4c7d22f28 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:35 2014 +0300 wil6210: platform specific module New module (wil_platform) for handling platform specific tasks Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8fe596274d08b12126b90c5b1092286f66ce6d65 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:34 2014 +0300 wil6210: coding style fixes - parentheses, indentation, typos - seq_puts() instead of seq_printf() with single argument - sizeof(var) vs. sizeof(type) Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 028e1836d3f218619a6e7f04ff1540c398deb727 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:33 2014 +0300 wil6210: some more debug for the WMI mechanism Log worker thread start/stop; as well as every handler invocation Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8ca26163e58bb05d5c1b74778dd21fcee6738f89 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:32 2014 +0300 wil6210: print more information when connecting when connecting, print some info about BSS Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ef77285fc3837edaaa2b2a1e431b662ed8af700a Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:31 2014 +0300 wil6210: debug prints for vring de-allocation Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 151a9706503fe9274254d09742e550466c0b7537 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Sep 10 16:34:30 2014 +0300 wil6210: firmware download Firmware download implemented but is still experimental feature; flag controlling it added, no_fw_load. It is true by default, use no_fw_load=N to activate feature. Reset flows also got some adjustment for the fw download to work Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bc944506551536dca2b85188b34cc2cf556492db Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Sep 10 09:07:13 2014 +0200 b43: HT-PHY: Set MAC frequency to correct values I misunderstood original Broadcom comment and used wrong values. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dbb30ebeefaf01121b32ae6b5baf29524f3a0b30 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Tue Sep 9 15:57:46 2014 -0500 rtlwifi: btcoexist: Fix "always true" warning from commit ed364abffd6e The 0-DAY kernel build testing backend reports the following warning: drivers/net/wireless/rtlwifi/btcoexist/halbtcoutsrc.c:516 halbtc_bitmask_write_1byte() warn: always true condition '(bit_mask != 4294967295) => (0-255 != u32max)' This problem was introduced in commit ed364abffd6e19bec67b7ccda8237213b8b37640, and arises because the caller of halbtc_bitmask_write_1byte() is using a u8 rather than a u32 for the data. Reported-by: Kbuild test robot <kbuild-all@xxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: Kbuild test robot <kbuild-all@xxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ea422b2c33c7bf253c5e64c82cfb68363cf40d3f Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Sep 9 21:17:09 2014 +0200 b43: HT-PHY: Complete radio init (add missing entries) Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 28f051f5540091417c5bc05ac2016480d697fd4b Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Sep 9 21:17:08 2014 +0200 b43: HT-PHY: Define some regs for 0x2059 radio Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5db4a37bec723d0095f9a0f0ef47b56482bf36c8 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Sep 9 21:17:07 2014 +0200 b43: HT-PHY: Move radio calibration to separated functions Also use b43_radio_wait_value to simplify the code and usleep_range when needed. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 85e6c26fb632dbf3722fa9d2d788cd4f7993c943 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Tue Sep 9 21:17:06 2014 +0200 b43: HT-PHY: Move radio preparation into init function Radio should be prepared only before initialization. We need this to be able to call b43_radio_2059_init conditionally (in the future). This also documents RF control register a bit. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4f4378dead3792d21577739f07869fbd843dab23 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Fri Sep 5 20:19:50 2014 -0700 rtlwifi: fix %d confusingly prefixed with 0x in format strings Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 595a23fe1527261316e28d18cd06ac4b391d7ad1 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Fri Sep 5 20:41:48 2014 -0700 iwl4965: fix %d confusingly prefixed with 0x in format string Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 17fa6e4ecf1ccab5e90db7025cfc9d459774cd3f Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 19:19:47 2014 +0200 ARM: sunxi: Remove sun4i reboot code from mach directory Now that the restart code has been merged in the watchdog driver, we don't need the restart code in the mach-sunxi directory anymore. Remove it entirely. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit d27704d1ec2f9ba06247b402c58a6f2febecef78 Author: Suman Anna <s-anna@xxxxxx> Date: Wed Sep 10 14:27:23 2014 -0500 ARM: dts: OMAP2+: Add sub mailboxes device node information The sub-mailbox devices are added to the Mailbox DT nodes on OMAP2420, OMAP2430, OMAP3, AM33xx, AM43xx, OMAP4 and OMAP5 family of SoCs. This data represents the same mailboxes that used to be represented in hwmod attribute data previously. The node name is chosen based on the .name field of omap_mbox_dev_info structure used in the hwmod data. Cc: "Benoît Cousson" <bcousson@xxxxxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 75288cc66dc478b32e43970dd6913396526504ae Author: Suman Anna <s-anna@xxxxxx> Date: Wed Sep 10 14:20:59 2014 -0500 mailbox/omap: add support for parsing dt devices Logic has been added to the OMAP2+ mailbox code to parse the mailbox dt nodes and construct the different sub-mailboxes associated with the instance. The DT representation of the sub-mailbox devices is different from legacy platform data representation to allow flexibility of interrupt configuration between Tx and Rx fifos (to also possibly allow simplex devices in the future). The DT representation gathers similar information that was being passed previously through the platform data, except for the interrupt type information, which is gathered through driver compatible match data. The non-DT support has to be maintained for now to not break OMAP3 legacy boot, and the legacy-style code will be cleaned up once OMAP3 is also converted to DT-boot only. Cc: Jassi Brar <jassisinghbrar@xxxxxxxxx> Cc: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: Suman Anna <s-anna@xxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d800386343df6fd07264665244b4d6a7ed21abec Author: Suman Anna <s-anna@xxxxxx> Date: Wed Sep 10 14:20:58 2014 -0500 Documentation: dt: add omap mailbox bindings Add the device tree bindings document for OMAP2+ mailbox. Cc: Rob Herring <robh+dt@xxxxxxxxxx> Cc: Pawel Moll <pawel.moll@xxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> Cc: Kumar Gala <galak@xxxxxxxxxxxxxx> Signed-off-by: Suman Anna <s-anna@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit fe00bcbf8a124980a38ce395ed6422d41be17374 Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Thu Sep 11 18:52:49 2014 +0200 usb: f_fs: replace BUG in dead-code with less serious WARN_ON Even though the BUG() in __ffs_event_add is a dead-code, it is still better to warn rather then crash the system if that code ever gets executed. Reported-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit edb81ca3bf586ad526ee67b245cb87f7c7142a87 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri May 16 20:18:53 2014 +0100 ARM: DT: QCOM: apq8064: Add dma support for sdcc node This patch adds dma support in both sdcc1 and sdcc3 device node. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 045644ffe618f140791643aa8b78ad2587e8de0f Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Apr 29 08:33:52 2014 +0100 ARM: DT: apq8064: Add sdcc support via mcci driver. This patch adds support to SD card controller using generic pl180 mmci driver. This patch also adds temporary fixed regulator to get it going till the actual regulator is mainlined. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 3fe5e3cee0662a6114d19b4d7e05c7463c85e212 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Wed Jul 16 13:49:43 2014 -0700 ARM: dts: qcom: Add 8064 multimedia clock controller node Add the mmcc node so that we can probe and use the multimedia clocks on apq8064. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit cd6dd11a23e1b4d630c6fe517b74a44ed7c54ab9 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Aug 29 20:00:57 2014 +0530 ARM: DT: APQ8064: Add node for ps_hold function in pinctrl This patch adds DT support to configure GPIO_78 as function ps_hold on apq8064. CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: devicetree@xxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 8b8936fc358f830e514bafdebe109e06a4a7aabd Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Aug 29 20:00:56 2014 +0530 ARM: DT: APQ8064: Add pinctrl support This patch adds device tree nodes to support pinctrl for apq8064 SOC CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: devicetree@xxxxxxxxxxxxxxx CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 44980b284d389121161a4d8cad5b08d4c0b78abd Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Wed Sep 3 19:28:15 2014 +0300 ARM: dts: qcom: Add TLMM DT node for APQ8084 This patch adds the TLMM node for the APQ8084 platform. Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 66c04e30f4a6e6ed998a6c154a6c45b3cd5b3fde Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Wed Sep 3 19:50:31 2014 +0300 ARM: dts: qcom: Add initial IFC6540 board device tree Add basic support for the IFC6540 single-board computer boards, that are based on the APQ8084 SoC. This patch adds the initial device tree and the neccessary nodes required for enabling the serial port and eMMC. Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 94ae991d63805b39baffacee0e8f25ddce0e83bc Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 24 14:03:54 2014 -0700 ARM: dts: msm: Add 8058 PMIC to ssbi bus Add the PMIC and the sub-devices that are currently supported in the kernel to the DT. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit fa410c099d9688ca06a9e46df8b2edf183487935 Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Jun 24 14:03:53 2014 -0700 ARM: dts: msm: Add 8921 PMIC to ssbi bus Add the PMIC and the sub-devices that are currently supported in the kernel to the DT. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 684de5748660e16e185754697ac0afa9e18297f6 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Thu Sep 11 11:45:12 2014 -0400 ext4: don't keep using page if inline conversion fails If inline->extent conversion fails (most probably due to ENOSPC) and we release the temporary page that we allocated to transfer the file contents, don't keep using the page pointer after releasing the page. This occasionally leads to complaints about evicting locked pages or hangs when blocksize > pagesize, because it's possible for the page to get reallocated elsewhere in the meantime. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Cc: Tao Ma <tm@xxxxxx> commit df4763bea5b04d8eed941cfe3df51f22cfe95570 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Thu Sep 11 11:44:36 2014 -0400 ext4: validate external journal superblock checksum If the external journal device has metadata_csum enabled, verify that the superblock checksum matches the block before we try to mount. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit feb8c6d3dd0f2cc0e1c3376d099cf298c5f2c2c8 Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Thu Sep 11 11:38:21 2014 -0400 jbd2: fix journal checksum feature flag handling Clear all three journal checksum feature flags before turning on whichever journal checksum options we want. Rearrange the error checking so that newer flags get complained about first. Reported-by: TR Reardon <thomas_reardon@xxxxxxxxxxx> Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b207892b061da7608878e273ae22ba9bf9be264b Merge: 018a17b a516440 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Sep 11 09:31:18 2014 -0600 Merge branch 'for-linus' into for-3.18/core A bit of churn on the for-linus side that would be nice to have in the core bits for 3.18, so pull it in to catch us up and make forward progress easier. Signed-off-by: Jens Axboe <axboe@xxxxxx> Conflicts: block/scsi_ioctl.c commit c7f725435adcf2ade4b9152ee33339d28f4cc330 Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Thu Sep 11 11:27:58 2014 -0400 ext4: provide separate operations for sysfs feature files Currently sysfs feature files uses ext4_attr_ops as the file operations to show/store data. However the feature files is not supposed to contain any data at all, the sole existence of the file means that the module support the feature. Moreover, none of the sysfs feature attributes actually register show/store functions so that would not be a problem. However if a sysfs feature attribute register a show or store function we might be in trouble because the kobject in this case is _not_ embedded in the ext4_sb_info structure as ext4_attr_show/store expect. So just to be safe, provide separate empty sysfs_ops to use in ext4_feat_ktype. This might safe us from potential problems in the future. As a bonus we can "store" something more descriptive than nothing in the files, so let it contain "enabled" to make it clear that the feature is really present in the module. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 52c198c6820f68b6fbe1d83f76e34a82bf736024 Author: Lukas Czerner <lczerner@xxxxxxxxxx> Date: Thu Sep 11 11:18:13 2014 -0400 ext4: add sysfs entry showing whether the fs contains errors Currently there is no easy way to tell that the mounted file system contains errors other than checking for log messages, or reading the information directly from superblock. This patch adds new sysfs entries: errors_count (number of fs errors we encounter) first_error_time (unix timestamp for the first error we see) last_error_time (unix timestamp for the last error we see) If the file system is not marked as containing errors then any of the file will return 0. Otherwise it will contain valid information. More details about the errors should as always be found in the logs. Signed-off-by: Lukas Czerner <lczerner@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit a2d4a646e619541e803fb52636964df39aed94b7 Author: Jan Kara <jack@xxxxxxx> Date: Thu Sep 11 11:15:15 2014 -0400 ext4: don't use MAXQUOTAS value MAXQUOTAS value defines maximum number of quota types VFS supports. This isn't necessarily the number of types ext4 supports. Although ext4 will support project quotas, use ext4 private definition for consistency with other filesystems. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f0c63124a6165792f6e37e4b5983792d009e1ce8 Author: Christoph Hellwig <hch@xxxxxx> Date: Sun Sep 7 12:15:52 2014 -0700 nfsd: update mtime on truncate This fixes a failure in xfstests generic/313 because nfs doesn't update mtime on a truncate. The protocol requires this to be done implicity for a size changing setattr. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 39e393bb4f653d38aea40190e1aa9a49062eed4d Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 11 11:02:39 2014 +0200 netfilter: nf_tables: add NFTA_MASQ_UNSPEC to nft_masq_attributes To keep this consistent with other nft_*_attributes. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 67981fefb20e717cea55b42f9081a833fa46b3be Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Thu Sep 11 16:55:04 2014 +0200 netfilter: fix compilation of masquerading without IP_NF_TARGET_MASQUERADE CONFIG_NF_NAT_MASQUERADE_IPV6=m # CONFIG_IP6_NF_TARGET_MASQUERADE is not set results in: net/ipv6/netfilter/nf_nat_masquerade_ipv6.c: In function â??nf_nat_masquerade_ipv6â??: net/ipv6/netfilter/nf_nat_masquerade_ipv6.c:41:14: error: â??struct nf_conn_natâ?? has no member named â??masq_indexâ?? nfct_nat(ct)->masq_index = out->ifindex; ^ net/ipv6/netfilter/nf_nat_masquerade_ipv6.c: In function â??device_cmpâ??: net/ipv6/netfilter/nf_nat_masquerade_ipv6.c:61:12: error: â??const struct nf_conn_natâ?? has no member named â??masq_indexâ?? return nat->masq_index == (int)(long)ifindex; ^ net/ipv6/netfilter/nf_nat_masquerade_ipv6.c:62:1: warning: control reaches end of non-void function [-Wreturn-type] } ^ make[3]: *** [net/ipv6/netfilter/nf_nat_masquerade_ipv6.o] Error 1 Fix this by using the new NF_NAT_MASQUERADE_IPV4 and _IPV6 symbols in include/net/netfilter/nf_nat.h. Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 298593b609ecbf9e8a99e8a41c8c46acb3528468 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 4 20:01:54 2014 +0200 drm/radeon: allow concurrent buffer reads Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 57d20a43c9b30663bdbacde8294a902edef35a84 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 4 20:01:53 2014 +0200 drm/radeon: add the infrastructure for concurrent buffer access This allows us to specify if we want to sync to the shared fences of a reservation object or not. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ae9c0af2c0ea92e57013ab2dd7271ba7d6b2a833 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Sep 4 20:01:52 2014 +0200 drm/ttm: allow fence to be added as shared This patch adds a new flag to the ttm_validate_buffer list to add the fence as shared to the reservation object. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 590001c229e86a0adab4a61a6d668940d7ce5299 Author: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Date: Thu Sep 11 14:29:13 2014 +0200 drbd: Add missing newline in resync progress display in /proc/drbd Was broken in 2010 with commit 4b0715f096 Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 729e8b87bac63dee09302ddffc05a7ba0e50c9ad Author: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Date: Thu Sep 11 14:29:12 2014 +0200 drbd: reduce lock contention in drbd_worker The worker may now dequeue work items in batches. This should reduce lock contention during busy periods. Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit abde9cc6a59cb7f07fda4c77fee2150314e423fa Author: Lars Ellenberg <lars@xxxxxxxxxx> Date: Thu Sep 11 14:29:11 2014 +0200 drbd: Improve asender performance Shorten receive path in the asender thread. Reduces CPU utilisation of asender when receiving packets, and with that increases IOPs. Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b47a06d10561bfe7317b1355b4b8e4168fc6b4b7 Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Date: Thu Sep 11 14:29:10 2014 +0200 drbd: Get rid of the WORK_PENDING macro This macro doesn't add any value; just use test_bit() instead. Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit d1b8085356391d1d5151670ab96baae6234d1e20 Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Date: Thu Sep 11 14:29:09 2014 +0200 drbd: Get rid of the __no_warn and __cond_lock macros These macros can easily be replaced with its definition. Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 8d4ba3f0fa53044b8b597caaa7d8e291e6e84642 Author: Andreas Gruenbacher <agruen@xxxxxxxxxx> Date: Thu Sep 11 14:29:08 2014 +0200 drbd: Avoid inconsistent locking warning request_timer_fn() takes resource->req_lock via the device and releases it via the connection. Avoid this as it is confusing static code checkers. Reported-by: "Dan Carpenter" <dan.carpenter@xxxxxxxxxx> Signed-off-by: Andreas Gruenbacher <agruen@xxxxxxxxxx> Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f0c21e622869b101da098db57d61aba737621402 Author: Philipp Marek <philipp.marek@xxxxxxxxxx> Date: Thu Sep 11 14:29:07 2014 +0200 drbd: Remove superfluous newline from "resync_extents" debugfs entry. See "drbd/resources/*/volumes/*/resync_extents". Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ed15b795092637f61c08fd21dc011b5334d7974c Author: Andreas Gruenbacher <andreas.gruenbacher@xxxxxxxxx> Date: Thu Sep 11 14:29:06 2014 +0200 drbd: Use consistent names for all the bi_end_io callbacks Now they follow the _endio naming sheme. Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 11f8b2b69d32d43a6d9b45c60c1fee48ab91f440 Author: Andreas Gruenbacher <agruen@xxxxxxxxxx> Date: Thu Sep 11 14:29:05 2014 +0200 drbd: Use better variable names Rename local variable 'ds' to 'disk_state' or 'data_size'. 'dgs' to 'digest_size' Signed-off-by: Philipp Reisner <philipp.reisner@xxxxxxxxxx> Signed-off-by: Lars Ellenberg <lars.ellenberg@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 336879b1da97fffc097f77c6d6f818660f2826f0 Merge: 3d3cbd8 fdcaa1d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Sep 11 14:46:53 2014 +0200 Merge remote-tracking branch 'airlied/drm-next' into topic/vblank-rework Dave asked me to do the backmerge before sending him the revised pull request, so here we go. Nothing fancy in the conflicts, just a few things changed right next to each another. Conflicts: drivers/gpu/drm/drm_irq.c Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 81965f1f58ce120a616f2fdd0594916fa183c5fc Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 14:22:03 2014 +0200 ALSA: hda - Make snd_hda_jack_tbl_new() static It's called only in hda_jack.c, so make it local. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 62f949bf6bf6ceb44872c44ef3913a96d93fb5d4 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 14:06:53 2014 +0200 ALSA: hda - Get rid of action field from struct hda_jack_tbl The action value assigned to each hda_jack_tbl entry is mostly superfluous. The actually used values are either the widget NID or a value specific to the callback. The former case can be simply replaced by a reference to widget NID itself. The only place doing the latter is STAC/IDT codec driver for the powermap handling. But, the code doesn't need to check the action field at all -- the function jack_update_power() is called either with a specific pin or with NULL. So the check of jack->action can be removed completely there, too. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 998052b74574699bdd1e451b6556e4d7667a7a4e Merge: e7e6926 7a9744c Author: Takashi Iwai <tiwai@xxxxxxx> Date: Thu Sep 11 13:43:16 2014 +0200 Merge branch 'for-linus' into for-next Merging for-linus branch for syncing the latest STAC/IDT codec changes to be affected by the upcoming hda-jack rewrites. commit 3d3cbd84300e7be1e53083cac0f6f9c12978ecb4 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 17:36:11 2014 +0200 drm: Clarify vblank ts/scanoutpos sampling #defines I've read INVBL as "invalid backlight" and got mightly confused. The #defines are already fairly long and we can afford to extend them a bit more without resulting in ugly code all over. I'm not sure how useful the complicated bitmask return value of these functions really are since no one checks them. But for now let's keep things as is. Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fb446a1acdb981921de06bfde3a2178da7174481 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 17:36:10 2014 +0200 drm: Simplify return value of drm_get_last_vbltimestamp Imo u32 hints at a register value, but in reality all callers only care whether the sampled timestamp is precise or not. So give them just a bool. Also move the declaration out of drmP.h, it's only used in drm_irq.c. v2: Also drop the EXPORT_SYMBOL, spotted by Mario. Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 0d8614b4b926d0f657d15d7eb5125bcb24b9fd41 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 10 14:07:36 2014 +0300 mac80211: replace SMPS hw flags with wiphy feature bits Use the new static_smps / dynamic_smps feature bits instead of mac80211-internal hw flags. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f69931748730763f8c8095fa88394cf9af75a578 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 10 14:07:35 2014 +0300 mac80211: set smps_mode according to ap params Take the requested smps mode from the ap params (instead of always starting with SMPS_OFF) Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 18998c381b19bfc3c285361ff6200ded7444aa2c Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 10 14:07:34 2014 +0300 cfg80211: allow requesting SMPS mode on ap start Add feature bits to indicate device support for static-smps and dynamic-smps modes. Add a new NL80211_ATTR_SMPS_MODE attribue to allow configuring the smps mode to be used by the ap (e.g. configuring to ap to dynamic smps mode will reduce power consumption while having minor effect on throughput) Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 855d30b402b91f09c90f65c34ec91debaae8cf3a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 17:36:09 2014 +0200 drm: Only update final vblank count when precise ts is available Drivers without a hardware vblank counter simply can't account for the vblanks that happened while the vblank interrupt was off. To check this grab a vblank timestamp and if the result is dubious follow the normal save-and-disable logic. Drivers should prevent this by setting vblank_disable_allowed = false, but since running vblank interrupts constantly is not good for power consumption most drivers lie. Testing for precise vblank timestamps is the next best thing we can check for. Suggested-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit ab8905f1c6a74d695c6096791ec4b349bc985b8a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Sep 10 17:36:08 2014 +0200 drm: Really never disable vblank irqs for offdelay==0 With the new support for immediate vblank disabling we always disabled the vblank interrupt right away, irrespective of the vblank offdelay setting. But being able to let vblanks run forever is fairly useful for debugging, so restore that behaviour. Suggested-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit c4d922b14544d115232b7448a2ea7640ba901eb6 Merge: 91b06a8 3bcefb0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Sep 11 20:53:57 2014 +1000 Merge branch 'msm-next' of git://people.freedesktop.org/~robclark/linux into drm-next 1) add LVDS support for mdp4 (tested with auo B101XTN01.0 panel) 2) add B101XTN01.0 panel 3) bit of gpu refactoring to prepare for addition of addition gpu generations beyond just a3xx * 'msm-next' of git://people.freedesktop.org/~robclark/linux: drm/msm/adreno: push dump/show stuff to base class drm/msm/adreno: bit of init refactoring drm/msm/adreno: move decision about what gpu to to load drm/msm/adreno: split adreno device out into it's own file drm/panel/simple: add optronics B101XTN01.0 (v3) drm/msm/mdp4: add LVDS panel support drm/msm/mdp4: fix blend setup with multiple crtcs drm/msm: update generated headers commit 0ba09511ddc3ff0b462f37b4fe4b9c4dccc054ec Author: Eric Auger <eric.auger@xxxxxxxxxx> Date: Mon Sep 1 09:36:08 2014 +0100 KVM: EVENTFD: remove inclusion of irq.h No more needed. irq.h would be void on ARM. Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Eric Auger <eric.auger@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit a7d079cea2dffb112e26da2566dd84c0ef1fce97 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Sep 9 11:27:09 2014 +0100 ARM/arm64: KVM: fix use of WnR bit in kvm_is_write_fault() The ISS encoding for an exception from a Data Abort has a WnR bit[6] that indicates whether the Data Abort was caused by a read or a write instruction. While there are several fields in the encoding that are only valid if the ISV bit[24] is set, WnR is not one of them, so we can read it unconditionally. Instead of fixing both implementations of kvm_is_write_fault() in place, reimplement it just once using kvm_vcpu_dabt_iswrite(), which already does the right thing with respect to the WnR bit. Also fix up the callers to pass 'vcpu' Acked-by: Laszlo Ersek <lersek@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> commit 59cd85cbcf2ecca9736652dc0cfd2ec600d7ef2a Author: Arik Nemtsov <arik@xxxxxxxxxx> Date: Tue Sep 9 17:11:02 2014 +0300 mac80211: set network header in TDLS frames Correctly mark the network header location in mac80211-generated TDLS frames. These may be used by lower-level drivers. Signed-off-by: Arik Nemtsov <arikx.nemtsov@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b0b6aa2c8e0d0e34f7658d5cc1e4fbb59f701c42 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Tue Sep 9 17:09:45 2014 +0300 cfg80211/mac80211: add wmm info to assoc event Userspace might need to know what queues are configured for uapsd (e.g. for setting proper default values in tspecs). Add this bitmap to the association event (inside wmm nested attribute) Add additional parameter to cfg80211_rx_assoc_resp, and update its callers. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 960d01acf62747d6518694f92be5b06f67473833 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Sep 9 22:55:35 2014 +0300 cfg80211: add WMM traffic stream API Add nl80211 and driver API to validate, add and delete traffic streams with appropriate settings. The API calls for userspace doing the action frame handshake with the peer, and then allows only to set up the parameters in the driver. To avoid setting up a session only to tear it down again, the validate API is provided, but the real usage later can still fail so userspace must be prepared for that. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 9d58f25b12f70f52581a5a1fdb1e59d322c4c729 Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Thu Sep 4 08:28:40 2014 +0300 mac80211: add TDLS connection timeout Adding a timeout for tearing down a TDLS connection that hasn't had ACKed traffic sent through it for a certain amount of time. Since we have no other monitoring facility to indicate the existance (or non-existance) of a peer, this patch will cause a peer to be considered as unavailable if for some X time at least some Y packets have all not been ACKed. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5935839ad73583781b8bbe8d91412f6826e218a4 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 23:22:14 2014 +0200 mac80211: improve minstrel_ht rate sorting by throughput & probability This patch improves the way minstrel_ht sorts rates according to throughput and success probability. 3 FOR-loops across the entire rate and mcs group set in function minstrel_ht_update_stats() which where used to determine the fastest, second fastest and most robust rate are reduced to 2 FOR-loop. The sorted list of rates according throughput is extended to the best four rates as we need them in upcoming joint rate and power control. The sorting is done via the new function minstrel_ht_sort_best_tp_rates(). The annotation of those 4 best throughput rates in the debugfs file rc-stats is changes to: "A,B,C,D", where A is the fastest rate and C the 4th fastest. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Tested-by: Stefan Venz <ikstream86@xxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ca12c0c83334a84581bb01daaedf1009deb09204 Author: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Date: Tue Sep 9 23:22:13 2014 +0200 mac80211: Unify rate statistic variables between Minstrel & Minstrel_HT Minstrel and Mintrel_HT used there own structs to keep track of rate statistics. Unify those variables in struct minstrel_rate_states and move it to rc80211_minstrel.h for common usage. This is a clean-up patch to prepare Minstrel and Minstrel_HT codebase for upcoming TPC. Signed-off-by: Thomas Huehn <thomas@xxxxxxxxxxxxxxxxxxxxxxx> Acked-by: Felix Fietkau <nbd@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5393b917bcbb0ce0338668c89397137bd2b7436e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 10 15:00:16 2014 +0300 cfg80211: clear nl80211 messages carrying keys after processing Clear any nl80211 messages that might contain keys after processing them to avoid leaving their data in memory "forever" after they've been freed. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 78f686cae0c67a2edd167cbbe2f36017f0fa4b30 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 10 22:28:06 2014 +0300 cfg80211: don't put kek/kck/replay counter on the stack There's no need to put the values on the stack, just pass a pointer to the data in the nl80211 message. This reduces stack usage and avoids potential issues with putting sensitive data on the stack. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 538c9eb8b3fd33d3a0722b2c04ec4f574eaa6e9f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 10 13:39:56 2014 +0300 cfg80211: clear wext keys when freeing and removing them When freeing the keys stored for wireless extensions, clear the memory to avoid having the key material stick around in memory "forever". Similarly, when userspace overwrites a key, actually clear it instead of just setting the key length to zero. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 29c3f9c3996abea060fa6e0b9e6a30d3f0cc828c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 10 13:39:55 2014 +0300 mac80211: clear key material when freeing keys When freeing the key, clear the memory to avoid having the key material stick around in memory "forever". Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b47f610bd6e88f9d1032132d81b23c928a645e9d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 10 13:39:54 2014 +0300 cfg80211: clear connect keys when freeing them When freeing the connect keys, clear the memory to avoid having the key material stick around in memory "forever". Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 91b06a8e1cfd400c65e16b1ee0747bc6aca35e9e Merge: fdcaa1d f266f04 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Sep 11 19:58:32 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next A few more radeon patches for 3.18. This patch set gives us more flexibility with respect to buffer placement in vram with respect to CPU access. E.g., if you know you will not need CPU access, we can now pin outside of the CPU window, reducing contention for the CPU window space. * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: add RADEON_GEM_NO_CPU_ACCESS BO creation flag (v4) drm/radeon: Clean up assignment of TTM placement lpfn member for pinning drm/radeon: Add RADEON_GEM_CPU_ACCESS BO creation flag commit a183b638b61c104920a42b1eb7668953f8ada5cb Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Sep 11 11:51:02 2014 +0200 KVM: x86: make apic_accept_irq tracepoint more generic Initially the tracepoint was added only to the APIC_DM_FIXED case, also because it reported coalesced interrupts that only made sense for that case. However, the coalesced argument is not used anymore and tracing other delivery modes is useful, so hoist the call out of the switch statement. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0f4fc382428f71453d195925a3c63efc48452417 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Sep 10 21:30:15 2014 -0700 ARM: dts: Switch i2c0 to 400kHz on rk3288-evb-rk808 We should be able to talk to the PMIC at 400kHz. No need to talk at the slow 100kHz. As measured by ftrace (with a bunch of extra patches, since cpufreq for rk808 hasn't landed yet): before this change: cpu0_set_target() => ~500us after this change: cpu0_set_target() => ~300us Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by Addy Ke <addy.ke@xxxxxxxxxxxxxx> Tested-by Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 73a6d9416279f138833574f11dc82134fb56908d Author: Tang Chen <tangchen@xxxxxxxxxxxxxx> Date: Thu Sep 11 13:38:00 2014 +0800 kvm: Use APIC_DEFAULT_PHYS_BASE macro as the apic access page address. We have APIC_DEFAULT_PHYS_BASE defined as 0xfee00000, which is also the address of apic access page. So use this macro. Signed-off-by: Tang Chen <tangchen@xxxxxxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 2c69c1a32140262d5d6104ab96df2e52c08c1e93 Merge: 209cf19 bfac1f5 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Sep 11 11:09:33 2014 +0200 Merge tag 'kvm-s390-next-20140910' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into kvm-next KVM: s390: Fixes and features for next (3.18) 1. Crypto/CPACF support: To enable the MSA4 instructions we have to provide a common control structure for each SIE control block 2. Two cleanups found by a static code checker: one redundant assignment and one useless if 3. Fix the page handling of the diag10 ballooning interface. If the guest freed the pages at absolute 0 some checks and frees were incorrect 4. Limit guests to 16TB 5. Add __must_check to interrupt injection code commit 912ca216b548e0fe399f300b4511b0277fb874e4 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 10 12:41:31 2014 -0700 HID: wacom - enable LED support for Wireless Intuos5/Pro And associate all LED/OLED to PAD device Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Tested-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c64d883476812783e0400d37028756151d103e5c Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 10 12:41:04 2014 -0700 HID: wacom - remove report_id from wacom_get_report interface It is assigned in buf[0] anyway. Signed-off-by: Ping Cheng <pingc@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 37449adc582441f5ff1bbd95e6a8357073fae86b Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 10 12:40:30 2014 -0700 HID: wacom - Clean up of sysfs changed to scnprintf(buf, PAGE_SIZE, ... ) as suggested in sysfs.txt for show functions Signed-off-by: Paul A. Tessier <phernost@xxxxxxxxx> Signed-Off-by: Ping Cheng <pingc@xxxxxxxxx> Tested-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit e0984bc376d84190d631d0a4f81215e48fa3a902 Author: Ping Cheng <pinglinux@xxxxxxxxx> Date: Wed Sep 10 12:40:05 2014 -0700 HID: wacom - Add default permission defines for sysfs attributes RW : ug=rw,o=r WO : ug=w And enabled reading relavent sysfs attributes. Signed-off-by: Paul A. Tessier <phernost@xxxxxxxxx> Signed-Off-by: Ping Cheng <pingc@xxxxxxxxx> Tested-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 96bdd9aeb2cbc5eaae586f4d43badd072611fcb1 Merge: 87e9d8f a742795 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 11 09:49:31 2014 +0200 Merge tag 'renesas-dt4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Fourth Round of Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman: * Add r8a7794 SoC and Alt board device tree * Correct lager memory map Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt4-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Initial Alt board device tree ARM: shmobile: Initial r8a7794 SoC device tree ARM: shmobile: lager: correct memory map commit 9136ce889254ed51a00a41194befee8ecb2eda36 Merge: c40c402 834720d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 11 09:46:38 2014 +0200 Merge tag 'renesas-pm-cleanups-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Pull "Renesas ARM Based SoC PM Cleanups for v3.18" from Simon Horman: * Make domain_devices[] static __initdata * Add and use rmobile_add_devices_to_domain Signed-off-by: Arnd Bergmann <ardn@xxxxxxxx> * tag 'renesas-pm-cleanups-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: armadillo800eva legacy: Use rmobile_add_devices_to_domains() ARM: shmobile: r8a7740: Clean up pm domain table ARM: shmobile: r8a7740: Use rmobile_add_devices_to_domains() ARM: shmobile: sh7372: Make domain_devices[] static __initdata ARM: shmobile: mackerel: Make domain_devices[] static __initdata commit 60f91268ee29bd2303d94e8e86be40edc0ecb92d Merge: 138310e 48a0d1e Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 11 09:45:18 2014 +0200 Merge tag 'renesas-dt-timers2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Second Round of Renesas ARM Based SoC DT Timers Updates for v3.18" from Simon Horman: * kzm9g-reference: Enable CMT1 in device tree * Use SoC-specific timer compat strings Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt-timers2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: kzm9g-reference: Enable CMT1 in device tree ARM: shmobile: sh73a0: Add CMT1 device to DT ARM: shmobile: r8a7740: Use SoC-specific 48-bit CMT compat string ARM: shmobile: r8a7779: Use SoC-specific TMU compat string ARM: shmobile: r8a7791: Use SoC-specific 48-bit CMT compat string ARM: shmobile: r7s72100: Use SoC-specific MTU2 compat string ARM: shmobile: r8a7790: Use SoC-specific 48-bit CMT compat string commit 29897087d90109a7ed67e68dbbc6fb077301c7d1 Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:23 2014 +0300 serial: 8250_pci: Add PCI IDs for Intel Braswell Add new PCI IDs to cover newer Intel SoCs such as Braswell. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 9a1870ce812e13091c21af36d4dc1cd29077966d Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:22 2014 +0300 serial: 8250: don't use slave_id of dma_slave_config That field has been deprecated in favour of getting the necessary information from ACPI or DT. However, we still need to deal systems that are PCI only (no ACPI to back up) like Intel Bay Trail. In order to support such systems, we explicitly bind setup() to the appropriate DMA filter function and its corresponding parameter. Then when serial8250_request_dma() doesn't find the channel via ACPI or DT, it falls back to use the given filter function. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b279c4922e9242b4b1a04da7fa5622f2323c85de Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:18 2014 +0300 dmaengine: dw: add PCI IDs for Braswell DMAs Braswell SoC has two DMA controllers for LPSS. This patch adds them to supported list in the PCI driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit a15636e83eb0dedefcb1221be729023e4c281748 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:17 2014 +0300 dmaengine: dw: move clock operations to platform.c On BayTrail platform DMA is not functional in the PCI mode, whereby it always failed and exit at the point when it tries to get a clock. It causes the PCI mode probe to exit with the error message: dw_dmac_pci: probe of 0000:00:1e.0 failed with error -2 This patch moves clock operations to where it belongs to. Thus, the clock is provided only in ACPI / non-PCI cases. Reported-by: Chew, Chiau Ee <chiau.ee.chew@xxxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 4d130de20c3f39fc1a1aecd3969b50d49ff2e358 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:16 2014 +0300 dmaengine: dw: introduce generic filter function The introduced filter function would be reused in the ACPI and DT cases since in those cases we have to apply mandatory data to the requested channel. Thus, patch moves platform driver to use it in that case. The function unlikely can't be used by users of the driver due to an implicit dependency to the dw_dmac_core module. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 8950052029874a6738552debb45077c596e90e6b Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:15 2014 +0300 dmaengine: dw: apply both HS interfaces and remove slave_id usage Instead of one request line member let's use both source and destination ones. Usually we have no such hardware except Atmel MMC controller found on AVR32 platform (see arch/avr32/mach-at32ap/at32ap700x.c and drivers/mmc/host/atmel-mci.c). This patch removes slave_id usage since it'll be removed from the generic structure in later. This breaks the non-ACPI / non-DT cases for the users of the driver, i.e. SPI and HSUART. However, these cases mean only PCI enumerated devices for now, which is anyway broken (considering more than one DMA controller in the system) and this patch series is intended to fix that eventually. The ACPI and DT cases shall be aware of the channel direction when setting request lines, but this is a minor problem that would be addressed in future. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7e1e2f27c5508518e58e5cbb11e26cbb815f4c56 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:14 2014 +0300 dmaengine: dw: convert dw_dma_slave to use explicit HS interfaces Instead of exposing the possibility to set DMA registers CFG_HI and CFG_LO strict user to provide handshake interfaces explicitly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 61c4319cb523a2346416cddaa7d4e2f9260c14d9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:13 2014 +0300 avr32: at32ap700x: don't rely on default DMA masters In future we are going to remove the defaults of AHB masters from dw_dmac driver. It means each user have to supply proper source and destination masters by itself explicitly. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3d598f47e804a77208c6bb0a454123018e2f2281 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:12 2014 +0300 dmaengine: dw: move dw_dmac.h to where it belongs to There is a common storage for platform data related structures and definitions inside kernel source tree. The patch moves file from include/linux to include/linux/platform_data and renames it acoordingly. The users are also updated. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> [For the arch/avr32/.* and .*sound/atmel.*] Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 7ed3fa20780a5efd22bb192be0908468e7c376ed Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 22:16:35 2014 -0700 Bluetooth: Expire RPA if encryption fails If encryption fails and we're using an RPA it may be because of a conflict with another device. To avoid repeated failures the safest action is to simply mark the RPA as expired so that a new one gets generated as soon as the connection drops. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a22e292260079e781b66380eccdf4566cc3c95ed Author: Qiao Zhou <zhouqiao@xxxxxxxxxxx> Date: Wed Sep 10 16:40:49 2014 +0800 ASoC: mmp-pcm: add NO_PERIOD_WAKEUP for PCM INFO add NO_PERIOD_WAKEUP to PCM INFO, which supports audio no IRQ mode Signed-off-by: Qiao Zhou <zhouqiao@xxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit e6222263124daae6be4b38b856af352667d95929 Author: Qiao Zhou <zhouqiao@xxxxxxxxxxx> Date: Wed Sep 10 16:40:48 2014 +0800 dmaengine: mmp_tdma: add DMA_PREP_INTERRUPT flag support add DMA_PREP_INTERRUPT flag to support no_period_wakeup, in which user space app doesn't want audio interrupt to wake up audio threads. Signed-off-by: Qiao Zhou <zhouqiao@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 5be5e275ad214bbb420425754354add679d8ab68 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:58:54 2014 -0700 Bluetooth: Avoid hard-coded IO capability values in SMP This is a trivial change to use a proper define for the NoInputNoOutput IO capability instead of hard-coded values. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1370078db37de2aa5e906ae2b5dbbb6ba289adb4 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Sep 10 09:43:31 2014 +0900 ARM: shmobile: r8a7794: Remove unnecessary #ifdef CONFIG_USE_OF The r8a7794 support is always compiled using ARCH_MULTIPLATFORM which selects USE_OF. So #ifdef CONFIG_USE_OF is unnecessary. Reported-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7d984c95723725d26f3961c1655c20256f0affdf Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Sep 10 09:44:47 2014 +0900 ARM: shmobile: Enable r8a7794 SoC in shmobile_defconfig Support for the r8a7794 was recently added. Enable it in the shmobile_defconfig to increase build coverage. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit aeaeb4bbca520b862d3b3e7cd74c23042815a160 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:46 2014 -0700 Bluetooth: Fix L2CAP information request handling for fixed channels Even if we have no connection-oriented channels we should perform the L2CAP Information Request procedures before notifying L2CAP channels of the connection. This is so that the L2CAP channel implementations can perform checks on what the remote side supports (e.g. does it support the fixed channel in question). So far the code has relied on the l2cap_do_start() function to initiate the Information Request, however l2cap_do_start() is used on a per-channel basis and only for connection-oriented channels. This means that if there are no connection-oriented channels on the system we would never start the Information Request procedure. This patch creates a new l2cap_request_info() helper function to initiate the Information Request procedure, and ensures that it is called whenever a BR/EDR connection has been established. The patch also updates fixed channels to be notified of connection readiness only once the Information Request procedure has completed. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a6f7833ca353d50de46e3532afebe4abfc5dc4d9 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:45 2014 -0700 Bluetooth: Add smp_ltk_sec_level() helper function There are several places that need to determine the security level that an LTK can provide. This patch adds a convenience function for this to help make the code more readable. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1afc2a1ab6612dcc3f26db7ca1afba9cff359f1c Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:44 2014 -0700 Bluetooth: Fix SMP security level when we have no IO capabilities When the local IO capability is NoInputNoOutput any attempt to convert the remote authentication requirement to a target security level is futile. This patch makes sure that we set the target security level at most to MEDIUM if the local IO capability is NoInputNoOutput. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 24bd0bd94e0947e257c5cd6a85b0e337d953e79c Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:43 2014 -0700 Bluetooth: Centralize disallowing SMP commands to a single place All the cases where we mark SMP commands as dissalowed are their respective command handlers. We can therefore simplify the code by always clearing the bit immediately after testing it. This patch converts the corresponding test_bit() call to a test_and_clear_bit() call and also removes the now unused SMP_DISALLOW_CMD macro. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c05b9339c8a448a2df0c8598424ea9c0933288d1 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:42 2014 -0700 Bluetooth: Fix ignoring unknown SMP authentication requirement bits The SMP specification states that we should ignore any unknown bits from the authentication requirement. We already have a define for masking out unknown bits but we haven't used it in all places so far. This patch adds usage of the AUTH_REQ_MASK to all places that need it and ensures that we don't pass unknown bits onward to other functions. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3a7dbfb8ff943711be4221df978254ad2bc1ac46 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Wed Sep 10 17:37:41 2014 -0700 Bluetooth: Remove unnecessary early initialization of variable We do nothing else with the auth variable in smp_cmd_pairing_rsp() besides passing it to tk_request() which in turn only cares about whether one of the sides had the MITM bit set. It is therefore unnecessary to assign a value to it until just before calling tk_request(), and this value can simply be the bit-wise or of the local and remote requirements. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 184c3fc3f52fb75800deb76deffb70907d1f76ea Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Sep 11 09:47:23 2014 +0930 moduleparam: Resolve missing-field-initializer warning Resolve a missing-field-initializer warning, that is produced by every reference to module_param_call, by using designated initialization for the first field. That is enough to silence the complaint. The message is only seen when doing a W=2 build. I happened to be using gcc 4.8.3, but I think most versions would produce the warning when it is enabled. It can either be silenced by using even a single designated initializer as I did here, or providing values for all of the fields. Because of the number of references to the macro, this change silences many warnings in W=2 builds. One instance of the full warning message looks like this: /home/share/git/nn-mdr/include/linux/moduleparam.h:198:16: warning: missing initializer for field â??freeâ?? of â??struct kernel_param_opsâ?? [-Wmissing-field-initializers] static struct kernel_param_ops __param_ops_##name = \ ^ /home/share/git/nn-mdr/fs/fuse/inode.c:35:1: note: in expansion of macro â??module_param_callâ?? module_param_call(max_user_bgreq, set_global_limit, param_get_uint, ^ /home/share/git/nn-mdr/include/linux/moduleparam.h:56:9: note: â??freeâ?? declared here void (*free)(void *arg); Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 2403c155b83c09d8b6255237ef049f2650f9fe01 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Wed Sep 10 14:58:18 2014 -0700 f2fs: remove lengthy inode->i_ino This patch is to remove lengthy name by adding a new variable. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit a53dd6a65668850493cce94395c1b88a015eb338 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 10 14:48:05 2014 -0700 rcutorture: Add RCU-tasks tests to default rcutorture list Although the test cases have been added, they must be specified explicitly via the kvm.sh --configs argument in order to run them. This commit therefore adds the RCU-tasks tests to the CFLIST so that they will be run automatically by default. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 0469a43bc32001e63092df87c2d1fdf588ea7b3a Merge: 2fed71e 6314b67 Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Wed Sep 10 14:42:37 2014 -0700 Merge branch 'clk-next-debugfs-lock' into clk-next commit 6314b6796e3c070d4c8086b08dfd453a0aeac4cf Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Thu Sep 4 23:37:49 2014 -0700 clk: Don't hold prepare_lock across debugfs creation Rob Clark reports a lockdep splat that involves the prepare_lock chained with the mmap semaphore. ====================================================== [ INFO: possible circular locking dependency detected ] 3.17.0-rc1-00050-g07a489b #802 Tainted: G W ------------------------------------------------------- Xorg.bin/5413 is trying to acquire lock: (prepare_lock){+.+.+.}, at: [<c0781280>] clk_prepare_lock+0x88/0xfc but task is already holding lock: (qcom_iommu_lock){+.+...}, at: [<c079f664>] qcom_iommu_unmap+0x1c/0x1f0 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #4 (qcom_iommu_lock){+.+...}: [<c079f860>] qcom_iommu_map+0x28/0x450 [<c079eb50>] iommu_map+0xc8/0x12c [<c056c1fc>] msm_iommu_map+0xb4/0x130 [<c05697bc>] msm_gem_get_iova_locked+0x9c/0xe8 [<c0569854>] msm_gem_get_iova+0x4c/0x64 [<c0562208>] mdp4_kms_init+0x4c4/0x6c0 [<c056881c>] msm_load+0x2ac/0x34c [<c0545724>] drm_dev_register+0xac/0x108 [<c0547510>] drm_platform_init+0x50/0xf0 [<c0578a60>] try_to_bring_up_master.part.3+0xc8/0x108 [<c0578b48>] component_master_add_with_match+0xa8/0x104 [<c0568294>] msm_pdev_probe+0x64/0x70 [<c057e704>] platform_drv_probe+0x2c/0x60 [<c057cff8>] driver_probe_device+0x108/0x234 [<c057b65c>] bus_for_each_drv+0x64/0x98 [<c057cec0>] device_attach+0x78/0x8c [<c057c590>] bus_probe_device+0x88/0xac [<c057c9b8>] deferred_probe_work_func+0x68/0x9c [<c0259db4>] process_one_work+0x1a0/0x40c [<c025a710>] worker_thread+0x44/0x4d8 [<c025ec54>] kthread+0xd8/0xec [<c020e9a8>] ret_from_fork+0x14/0x2c -> #3 (&dev->struct_mutex){+.+.+.}: [<c0541188>] drm_gem_mmap+0x38/0xd0 [<c05695b8>] msm_gem_mmap+0xc/0x5c [<c02f0b6c>] mmap_region+0x35c/0x6c8 [<c02f11ec>] do_mmap_pgoff+0x314/0x398 [<c02de1e0>] vm_mmap_pgoff+0x84/0xb4 [<c02ef83c>] SyS_mmap_pgoff+0x94/0xbc [<c020e8e0>] ret_fast_syscall+0x0/0x48 -> #2 (&mm->mmap_sem){++++++}: [<c0321138>] filldir64+0x68/0x180 [<c0333fe0>] dcache_readdir+0x188/0x22c [<c0320ed0>] iterate_dir+0x9c/0x11c [<c03213b0>] SyS_getdents64+0x78/0xe8 [<c020e8e0>] ret_fast_syscall+0x0/0x48 -> #1 (&sb->s_type->i_mutex_key#3){+.+.+.}: [<c03fc544>] __create_file+0x58/0x1dc [<c03fc70c>] debugfs_create_dir+0x1c/0x24 [<c0781c7c>] clk_debug_create_subtree+0x20/0x170 [<c0be2af8>] clk_debug_init+0xec/0x14c [<c0208c70>] do_one_initcall+0x8c/0x1c8 [<c0b9cce4>] kernel_init_freeable+0x13c/0x1dc [<c0877bc4>] kernel_init+0x8/0xe8 [<c020e9a8>] ret_from_fork+0x14/0x2c -> #0 (prepare_lock){+.+.+.}: [<c087c408>] mutex_lock_nested+0x70/0x3e8 [<c0781280>] clk_prepare_lock+0x88/0xfc [<c0782c50>] clk_prepare+0xc/0x24 [<c079f474>] __enable_clocks.isra.4+0x18/0xa4 [<c079f614>] __flush_iotlb_va+0xe0/0x114 [<c079f6f4>] qcom_iommu_unmap+0xac/0x1f0 [<c079ea3c>] iommu_unmap+0x9c/0xe8 [<c056c2fc>] msm_iommu_unmap+0x64/0x84 [<c0569da4>] msm_gem_free_object+0x11c/0x338 [<c05413ec>] drm_gem_object_handle_unreference_unlocked+0xfc/0x130 [<c0541604>] drm_gem_object_release_handle+0x50/0x68 [<c0447a98>] idr_for_each+0xa8/0xdc [<c0541c10>] drm_gem_release+0x1c/0x28 [<c0540b3c>] drm_release+0x370/0x428 [<c031105c>] __fput+0x98/0x1e8 [<c025d73c>] task_work_run+0xb0/0xfc [<c02477ec>] do_exit+0x2ec/0x948 [<c0247ec0>] do_group_exit+0x4c/0xb8 [<c025180c>] get_signal+0x28c/0x6ac [<c0211204>] do_signal+0xc4/0x3e4 [<c02116cc>] do_work_pending+0xb4/0xc4 [<c020e938>] work_pending+0xc/0x20 other info that might help us debug this: Chain exists of: prepare_lock --> &dev->struct_mutex --> qcom_iommu_lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(qcom_iommu_lock); lock(&dev->struct_mutex); lock(qcom_iommu_lock); lock(prepare_lock); *** DEADLOCK *** 3 locks held by Xorg.bin/5413: #0: (drm_global_mutex){+.+.+.}, at: [<c0540800>] drm_release+0x34/0x428 #1: (&dev->struct_mutex){+.+.+.}, at: [<c05413bc>] drm_gem_object_handle_unreference_unlocked+0xcc/0x130 #2: (qcom_iommu_lock){+.+...}, at: [<c079f664>] qcom_iommu_unmap+0x1c/0x1f0 stack backtrace: CPU: 1 PID: 5413 Comm: Xorg.bin Tainted: G W 3.17.0-rc1-00050-g07a489b #802 [<c0216290>] (unwind_backtrace) from [<c0211d8c>] (show_stack+0x10/0x14) [<c0211d8c>] (show_stack) from [<c087a078>] (dump_stack+0x98/0xb8) [<c087a078>] (dump_stack) from [<c027f024>] (print_circular_bug+0x218/0x340) [<c027f024>] (print_circular_bug) from [<c0283e08>] (__lock_acquire+0x1d24/0x20b8) [<c0283e08>] (__lock_acquire) from [<c0284774>] (lock_acquire+0x9c/0xbc) [<c0284774>] (lock_acquire) from [<c087c408>] (mutex_lock_nested+0x70/0x3e8) [<c087c408>] (mutex_lock_nested) from [<c0781280>] (clk_prepare_lock+0x88/0xfc) [<c0781280>] (clk_prepare_lock) from [<c0782c50>] (clk_prepare+0xc/0x24) [<c0782c50>] (clk_prepare) from [<c079f474>] (__enable_clocks.isra.4+0x18/0xa4) [<c079f474>] (__enable_clocks.isra.4) from [<c079f614>] (__flush_iotlb_va+0xe0/0x114) [<c079f614>] (__flush_iotlb_va) from [<c079f6f4>] (qcom_iommu_unmap+0xac/0x1f0) [<c079f6f4>] (qcom_iommu_unmap) from [<c079ea3c>] (iommu_unmap+0x9c/0xe8) [<c079ea3c>] (iommu_unmap) from [<c056c2fc>] (msm_iommu_unmap+0x64/0x84) [<c056c2fc>] (msm_iommu_unmap) from [<c0569da4>] (msm_gem_free_object+0x11c/0x338) [<c0569da4>] (msm_gem_free_object) from [<c05413ec>] (drm_gem_object_handle_unreference_unlocked+0xfc/0x130) [<c05413ec>] (drm_gem_object_handle_unreference_unlocked) from [<c0541604>] (drm_gem_object_release_handle+0x50/0x68) [<c0541604>] (drm_gem_object_release_handle) from [<c0447a98>] (idr_for_each+0xa8/0xdc) [<c0447a98>] (idr_for_each) from [<c0541c10>] (drm_gem_release+0x1c/0x28) [<c0541c10>] (drm_gem_release) from [<c0540b3c>] (drm_release+0x370/0x428) [<c0540b3c>] (drm_release) from [<c031105c>] (__fput+0x98/0x1e8) [<c031105c>] (__fput) from [<c025d73c>] (task_work_run+0xb0/0xfc) [<c025d73c>] (task_work_run) from [<c02477ec>] (do_exit+0x2ec/0x948) [<c02477ec>] (do_exit) from [<c0247ec0>] (do_group_exit+0x4c/0xb8) [<c0247ec0>] (do_group_exit) from [<c025180c>] (get_signal+0x28c/0x6ac) [<c025180c>] (get_signal) from [<c0211204>] (do_signal+0xc4/0x3e4) [<c0211204>] (do_signal) from [<c02116cc>] (do_work_pending+0xb4/0xc4) [<c02116cc>] (do_work_pending) from [<c020e938>] (work_pending+0xc/0x20) We can break this chain if we don't hold the prepare_lock while creating debugfs directories. We only hold the prepare_lock right now because we're traversing the clock tree recursively and we don't want the hierarchy to change during the traversal. Replacing this traversal with a simple linked list walk allows us to only grab a list lock instead of the prepare_lock, thus breaking the lock chain. Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit cbe0d6e8794f1da6cac1ea3864d2cfaf0bf87c8e Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed Sep 10 17:09:57 2014 -0400 selinux: make the netif cache namespace aware While SELinux largely ignores namespaces, for good reason, there are some places where it needs to at least be aware of namespaces in order to function correctly. Network namespaces are one example. Basic awareness of network namespaces are necessary in order to match a network interface's index number to an actual network device. This patch corrects a problem with network interfaces added to a non-init namespace, and can be reproduced with the following commands: [NOTE: the NetLabel configuration is here only to active the dynamic networking controls ] # netlabelctl unlbl add default address:0.0.0.0/0 \ label:system_u:object_r:unlabeled_t:s0 # netlabelctl unlbl add default address:::/0 \ label:system_u:object_r:unlabeled_t:s0 # netlabelctl cipsov4 add pass doi:100 tags:1 # netlabelctl map add domain:lspp_test_netlabel_t \ protocol:cipsov4,100 # ip link add type veth # ip netns add myns # ip link set veth1 netns myns # ip a add dev veth0 10.250.13.100/24 # ip netns exec myns ip a add dev veth1 10.250.13.101/24 # ip l set veth0 up # ip netns exec myns ip l set veth1 up # ping -c 1 10.250.13.101 # ip netns exec myns ping -c 1 10.250.13.100 Reported-by: Jiri Jaburek <jjaburek@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit b954d83421d51d822c42e5ab7b65069b25ad3005 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Wed Sep 10 15:01:02 2014 +0200 net: bpf: only build bpf_jit_binary_{alloc, free}() when jit selected Since BPF JIT depends on the availability of module_alloc() and module_free() helpers (HAVE_BPF_JIT and MODULES), we better build that code only in case we have BPF_JIT in our config enabled, just like with other JIT code. Fixes builds for arm/marzen_defconfig and sh/rsk7269_defconfig. ==================== kernel/built-in.o: In function `bpf_jit_binary_alloc': /home/cwang/linux/kernel/bpf/core.c:144: undefined reference to `module_alloc' kernel/built-in.o: In function `bpf_jit_binary_free': /home/cwang/linux/kernel/bpf/core.c:164: undefined reference to `module_free' make: *** [vmlinux] Error 1 ==================== Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Fixes: 738cbe72adc5 ("net: bpf: consolidate JIT binary allocator") Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d1105287aabe88dbb3af825140badaa05cf0442c Author: Daniel Hellstrom <daniel@xxxxxxxxxxx> Date: Wed Sep 10 14:17:52 2014 +0200 sparc32: dma_alloc_coherent must honour gfp flags dma_zalloc_coherent() calls dma_alloc_coherent(__GFP_ZERO) but the sparc32 implementations sbus_alloc_coherent() and pci32_alloc_coherent() doesn't take the gfp flags into account. Tested on the SPARC32/LEON GRETH Ethernet driver which fails due to dma_alloc_coherent(__GFP_ZERO) returns non zeroed pages. Signed-off-by: Daniel Hellstrom <daniel@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17fa1f983649580772e95ee95e2c096baa650219 Merge: 0fc4dff 56e03e5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 10 14:02:37 2014 -0700 Merge branch 'cxgb4-next' Hariprasad Shenai says: ==================== cxgb4: Allow FW size upto 1MB, support for S25FL032P flash and misc. fixes This patch series adds support to allow FW size upto 1MB, support for S25FL032P flash. Fix t4_flash_erase_sectors to throw an error, when erase sector aren't in the flash and also warning message when adapters have flashes less than 2Mb. Adds device id of new adapter and removes device id of debug adapter. The patches series is created against 'net-next' tree. And includes patches on cxgb4 driver and cxgb4vf driver. We have included all the maintainers of respective drivers. Kindly review the change and let us know in case of any review comments. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56e03e51e61afc60d893be9647a8e3ad74155420 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Sep 10 17:44:31 2014 +0530 cxgb4/cxgb4vf: Add device ID for new adapter and remove for dbg adapter Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c290607e3e7b8d24eb90468180f4cf96b371d8d0 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Sep 10 17:44:30 2014 +0530 cxgb4: Add warning msg when attaching to adapters which have FLASHes smaller than 2Mb Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0d5b8cf50c9842d0efcfb14871e58f42c6576e6 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Sep 10 17:44:29 2014 +0530 cxgb4: Fix t4_flash_erase_sectors() to throw an error when requested to erase sectors which aren't in the FLASH Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe2ee139aa295936e2bf6b7c620624d871c65058 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Sep 10 17:44:28 2014 +0530 cxgb4: Add support to S25FL032P flash Add support for Spansion S25FL032P flash Based on original work by Dimitris Michailidis Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60d42bf6b0eec663ad21170b1ff6b14536993b47 Author: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Date: Wed Sep 10 17:44:27 2014 +0530 cxgb4: Allow T4/T5 firmware sizes up to 1MB Based on original work by Casey Leedom <leedom@xxxxxxxxxxx> Signed-off-by: Hariprasad Shenai <hariprasad@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fc4dffad13e81deb3bf72e74cac292172df5285 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Wed Sep 10 14:02:50 2014 +0200 tipc: fix sparse warnings This fixes the following sparse warnings: sparse: symbol 'tipc_update_nametbl' was not declared. Should it be static? Also, the function is changed to return bool upon success, rather than a potentially freed pointer. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cf98192d2e2b923241b8e6eee05a5b31f4bc16f2 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Wed Sep 10 07:51:13 2014 +0000 net: ethernet: arc: Don't free Rockchip resources before disconnect from phy Free resources before being disconnected from phy and calling core driver is wrong and should not happen. It avoids a delay of 4-5s caused by the timeout of phy_disconnect(). Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8d11620e1e43f829721aa1e76bd9dc2da079df9e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Sep 10 09:04:27 2014 -0400 nfs: add __acquires and __releases annotations to seqfile start/stop routines To make sparse happy... Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit dad2b015bb85799f8005da637954f8eafb83f34c Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Sep 10 09:03:55 2014 -0400 nfs: fix RCU cl_xprt handling in nfs_swap_activate/deactivate sparse says: fs/nfs/file.c:543:60: warning: incorrect type in argument 1 (different address spaces) fs/nfs/file.c:543:60: expected struct rpc_xprt *xprt fs/nfs/file.c:543:60: got struct rpc_xprt [noderef] <asn:4>*cl_xprt fs/nfs/file.c:548:53: warning: incorrect type in argument 1 (different address spaces) fs/nfs/file.c:548:53: expected struct rpc_xprt *xprt fs/nfs/file.c:548:53: got struct rpc_xprt [noderef] <asn:4>*cl_xprt cl_xprt is RCU-managed, so we need to take care to dereference and use it while holding the RCU read lock. Cc: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 08a899d5d9532efb7dea99aad44dc9af39627a92 Author: Christoph Hellwig <hch@xxxxxx> Date: Sun Sep 7 08:36:40 2014 -0700 nfs: setattr can only change regular file sizes The VFS never calls setattr with ATTR_SIZE on anything but regular files. Remove the if check and turn it into an assert similar to what some other file systems do. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 20d655d6197d02e98574208839da11684dc2ad1f Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 2 21:28:00 2014 -0700 pnfs/blocklayout: use the device id cache Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 30ff0603ca4d66c8244efc80ea8470d3d04aee8b Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 2 21:27:59 2014 -0700 pnfs: add a nfs4_get_deviceid helper This will be used by the block layout driver when splitting extents. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 9dd2fcd32f488ea89c2227cc56069446147376e8 Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 2 21:27:58 2014 -0700 pnfs: add a common GETDEVICELIST implementation At a simple helper to issue a GETDEVICELIST operation and pre-load the device id cache based on the result. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 661373b13d0490ff410a2133d4a7a117f2dd037e Author: Christoph Hellwig <hch@xxxxxx> Date: Tue Sep 2 21:27:57 2014 -0700 pnfs: factor GETDEVICEINFO implementations Add support to the common pNFS core to issue GETDEVICEINFO calls on a device ID cache miss. The code is taken from the well debugged file layout implementation and calls out to the layoutdriver through a new alloc_deviceid_node method. The calling conventions for nfs4_find_get_deviceid are changed so that all information needed to send a GETDEVICEINFO request is passed to the common code. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 848746bd247cdc3ce1d103e92913316445763778 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:36 2014 -0700 pnfs/blocklayout: return layouts on setattr This speads up truncate-heavy workloads like fsx by multiple orders of magnitude. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 71d5b76302e21390b4ab747875de6bd5cfbca979 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:35 2014 -0700 pnfs/blocklayout: implement the return_range method This allows removing extents from the extent tree especially on truncate operations, and thus fixing reads from truncated and re-extended that previously returned stale data. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8067253c8cc531b6f367b9f5942bdc6168385701 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:34 2014 -0700 pnfs/blocklayout: rewrite extent tracking Currently the block layout driver tracks extents in three separate data structures: - the two list of pnfs_block_extent structures returned by the server - the list of sectors that were in invalid state but have been written to - a list of pnfs_block_short_extent structures for LAYOUTCOMMIT All of these share the property that they are not only highly inefficient data structures, but also that operations on them are even more inefficient than nessecary. In addition there are various implementation defects like: - using an int to track sectors, causing corruption for large offsets - incorrect normalization of page or block granularity ranges - insufficient error handling - incorrect synchronization as extents can be modified while they are in use This patch replace all three data with a single unified rbtree structure tracking all extents, as well as their in-memory state, although we still need to instance for read-only and read-write extent due to the arcane client side COW feature in the block layouts spec. To fix the problem of extent possibly being modified while in use we make sure to return a copy of the extent for use in the write path - the extent can only be invalidated by a layout recall or return which has to wait until the I/O operations finished due to refcounts on the layout segment. The new extent tree work similar to the schemes used by block based filesystems like XFS or ext4. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 8c792ea940499153732adea2ea4ca37f6999778f Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:33 2014 -0700 pnfs/blocklayout: don't set pages uptodate The core nfs code handles setting pages uptodate on reads, no need to mess with the pageflags outselves. Also remove a debug function to dump page flags. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3a6fd1f004fcaf3dd1c28a7cd16406c8318eb64a Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:32 2014 -0700 pnfs/blocklayout: remove read-modify-write handling in bl_write_pagelist Use the new PNFS_READ_WHOLE_PAGE flag to offload read-modify-write handling to core nfs code, and remove a huge chunk of deadlock prone mess from the block layout writeback path. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit c88953d87f5c8cd95bebcbd6d15f2f0cdd348136 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:31 2014 -0700 pnfs: add return_range method If a layout driver keeps per-inode state outside of the layout segments it needs to be notified of any layout returns or recalls on an inode, and not just about the freeing of layout segments. Add a method to acomplish this, which will allow the block layout driver to handle the case of truncated and re-expanded files properly. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 612aa983a041056c3368aacfdc9febd406d245a8 Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:30 2014 -0700 pnfs: add flag to force read-modify-write in ->write_begin Like all block based filesystems, the pNFS block layout driver can't read or write at a byte granularity and thus has to perform read-modify-write cycles on writes smaller than this granularity. Add a flag so that the core NFS code always reads a whole page when starting a smaller write, so that we can do it in the place where the VFS expects it instead of doing in very deadlock prone way in the writeback handler. Note that in theory we could do less than page size reads here for disks that have a smaller sector size which are served by a server with a smaller pnfs block size. But so far that doesn't seem like a worthwhile optimization. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 7c5d187581f57657de79e795602d9f1a0254c88c Author: Christoph Hellwig <hch@xxxxxx> Date: Wed Sep 10 08:23:29 2014 -0700 pnfs: force a layout commit when encountering busy segments during recall Expedite layout recall processing by forcing a layout commit when we see busy segments. Without it the layout recall might have to wait until the VM decided to start writeback for the file, which can introduce long delays. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 3a3908c8b09d5ec19d543836d4f38d240ae27fe8 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Mon Sep 8 22:21:00 2014 -0700 NFS: Fix a compile warning when !(CONFIG_NFS_V3 || CONFIG_NFS_V4) gcc reports: linux/fs/nfs/write.c: In function â??nfs_page_find_head_request_locked.isra.17â??: linux/fs/nfs/write.c:121:64: warning: â??cinfo.mdsâ?? may be used uninitialized in this function [-Wmaybe-uninitialized] list_for_each_entry_safe(freq, t, &cinfo.mds->list, wb_list) { ^ linux/fs/nfs/write.c:110:25: note: â??cinfo.mdsâ?? was declared here struct nfs_commit_info cinfo; Reported-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Cc: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 921b81a8cd5a4acc2a009778d13eedd377362c4c Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:29 2014 -0500 pnfs/blocklayout: correctly decrement extent length When we do non-page sized reads we can underflow the extent_length variable and read incorrect data. Fix the extent_length calculation and change to defensive <= checks for the extent length in the read and write path. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit be98fd0ac3dd45c1aa404b101caa37f9b317ab57 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:28 2014 -0500 pnfs/blocklayout: plug block queues Make sure the block queue is plugged when performing pNFS blocklayout I/O. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 72c5e59f63ceaa604936b1693ba8c4b6cc2b114d Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:27 2014 -0500 pnfs/blocklayout: improve GETDEVICEINFO error reporting Tell userspace what stage of GETDEVICEINFO failed so that there is a chance to debug it, especially with the userspace daemon clusterf***k in the block layout driver. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit e3aaf7f2b8e9e858c0d6626577d3456bf6070e5a Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:26 2014 -0500 pnfs/blocklayout: reject pnfs blocksize larger than page size The Linux VM subsystem can't support block sizes larger than page size for block based filesystems very well. While this can be hacked around to some extent for simple filesystems the read-modify-write cycles required for pnfs block invalid extents are extremly deadlock prone when operating on multiple pages. Reject this case early on instead of pretending to support it (badly). Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 5f919c9f10c1cf821ee5f414683214a361a1b98c Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:25 2014 -0500 pnfs: allow splicing pre-encoded pages into the layoutcommit args Currently there is no XDR buffer space allocated for the per-layout driver layoutcommit payload, which leads to server buffer overflows in the blocklayout driver even under simple workloads. As we can't do per-layout sizes for XDR operations we'll have to splice a previously encoded list of pages into the XDR stream, similar to how we handle ACL buffers. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 47abadefad213bb7de9592d2e09a8bd282ddc3de Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:22 2014 -0500 pnfs: avoid using stale stateids after layoutreturn After we issued a layoutreturn operations the may free the layout stateid and will thus cause bad stateid error when the client uses it again. We currently try to avoid this case by chosing the open stateid if not lsegs are present for this inode. But various places can hold refererence on lsegs and thus cause the list not to be empty shortly after a layout return. Add an explicit flag to mark the current layout stateid invalid and force usage of the openstateid after we did a full file layoutreturn. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit defb8460881cbf0a5890bc7a63b42c0cfbed721d Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:21 2014 -0500 pnfs: retry after a bad stateid error from layoutget Currently we fall through to nfs4_async_handle_error when we get a bad stateid error back from layoutget. nfs4_async_handle_error with a NULL state argument will never retry the operations but return the error to higher layer, causing an avoiable fallback to MDS I/O. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 362f74745c15fb9acad577ab8e1342ee5313a2a5 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:20 2014 -0500 pnfs: don't check sequence on new stateids in layoutget When layoutget returns an entirely new layout stateid it should not check the generation counter as the new stateid will start with a new counter entirely unrelated to old one. The current behavior causes constant layoutget failures against a block server which allocates a new stateid after an recall that removed all outstanding layouts. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 1013df61150e56f775ccacdaaeee66042f1e6eb6 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:18 2014 -0500 pnfs: do not pass uninitialized lsegs to ->free_lseg Ensure the lsegs are initialized early so that we don't pass an unitialized one back to ->free_lseg during error processing. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 2e11f8296d22134c4fca7eb022eea2b09facd307 Author: Christoph Hellwig <hch@xxxxxx> Date: Thu Aug 21 11:09:17 2014 -0500 nfs: cap request size to fit a kmalloced page array pNFS servers may return arbitrarily large layouts. Trim back the I/O size to one that we can at least allocate the page array for. Signed-off-by: Christoph Hellwig <hch@xxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit bc7d4b8fd0917b4b84a8911185d34a97c696f219 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Thu Aug 7 10:15:03 2014 +0800 nfs/filelayout: set layoutcommit depending on write verifier Following http://www.rfc-editor.org/errata_search.php?rfc=5661&eid=2751 Don't set layoutcommit for commit_through_mds case. For FILE_SYNC writes, don't set layoutcommit. For DATA_SYNC wirtes, set layout commit right after wirtes done. For UNSTABLE writes, set layout commit when commit done. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 378520b837cf4da769600b83690d8e825f16a611 Author: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Date: Thu Aug 7 10:15:02 2014 +0800 nfs41: add a helper function to set layoutcommit after commit Track lwb in nfs_commit_data so that we can use it to setup layoutcommit in commit_done callback. Signed-off-by: Peng Tao <tao.peng@xxxxxxxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 61beef75cc5bae119e500c9f25daad8596c7cbe4 Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Sep 3 14:15:40 2014 -0400 NFS: Clear up state owner lock usage can_open_cached() reads values out of the state structure, meaning that we need the so_lock to have a correct return value. As a bonus, this helps clear up some potentially confusing code. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0f7a622ca61621f951af01448b956f2ecf5fad99 Author: Chris Perl <chris.perl@xxxxxxxxx> Date: Fri Sep 5 15:40:21 2014 -0400 rpc: xs_bind - do not bind when requesting a random ephemeral port When attempting to establish a local ephemeral endpoint for a TCP or UDP socket, do not explicitly call bind, instead let it happen implicilty when the socket is first used. The main motivating factor for this change is when TCP runs out of unique ephemeral ports (i.e. cannot find any ephemeral ports which are not a part of *any* TCP connection). In this situation if you explicitly call bind, then the call will fail with EADDRINUSE. However, if you allow the allocation of an ephemeral port to happen implicitly as part of connect (or other functions), then ephemeral ports can be reused, so long as the combination of (local_ip, local_port, remote_ip, remote_port) is unique for TCP sockets on the system. This doesn't matter for UDP sockets, but it seemed easiest to treat TCP and UDP sockets the same. This can allow mount.nfs(8) to continue to function successfully, even in the face of misbehaving applications which are creating a large number of TCP connections. Signed-off-by: Chris Perl <chris.perl@xxxxxxxxx> Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> commit 0aac383353693edcd8fc5a82a692bb7e5f60d2fd Merge: b167a37 9ba1f72 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Sep 10 12:46:32 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next Pablo Neira Ayuso says: ==================== nf-next pull request The following patchset contains Netfilter/IPVS updates for your net-next tree. Regarding nf_tables, most updates focus on consolidating the NAT infrastructure and adding support for masquerading. More specifically, they are: 1) use __u8 instead of u_int8_t in arptables header, from Mike Frysinger. 2) Add support to match by skb->pkttype to the meta expression, from Ana Rey. 3) Add support to match by cpu to the meta expression, also from Ana Rey. 4) A smatch warning about IPSET_ATTR_MARKMASK validation, patch from Vytas Dauksa. 5) Fix netnet and netportnet hash types the range support for IPv4, from Sergey Popovich. 6) Fix missing-field-initializer warnings resolved, from Mark Rustad. 7) Dan Carperter reported possible integer overflows in ipset, from Jozsef Kadlecsick. 8) Filter out accounting objects in nfacct by type, so you can selectively reset quotas, from Alexey Perevalov. 9) Move specific NAT IPv4 functions to the core so x_tables and nf_tables can share the same NAT IPv4 engine. 10) Use the new NAT IPv4 functions from nft_chain_nat_ipv4. 11) Move specific NAT IPv6 functions to the core so x_tables and nf_tables can share the same NAT IPv4 engine. 12) Use the new NAT IPv6 functions from nft_chain_nat_ipv6. 13) Refactor code to add nft_delrule(), which can be reused in the enhancement of the NFT_MSG_DELTABLE to remove a table and its content, from Arturo Borrero. 14) Add a helper function to unregister chain hooks, from Arturo Borrero. 15) A cleanup to rename to nft_delrule_by_chain for consistency with the new nft_*() functions, also from Arturo. 16) Add support to match devgroup to the meta expression, from Ana Rey. 17) Reduce stack usage for IPVS socket option, from Julian Anastasov. 18) Remove unnecessary textsearch state initialization in xt_string, from Bojan Prtvar. 19) Add several helper functions to nf_tables, more work to prepare the enhancement of NFT_MSG_DELTABLE, again from Arturo Borrero. 20) Enhance NFT_MSG_DELTABLE to delete a table and its content, from Arturo Borrero. 21) Support NAT flags in the nat expression to indicate the flavour, eg. random fully, from Arturo. 22) Add missing audit code to ebtables when replacing tables, from Nicolas Dichtel. 23) Generalize the IPv4 masquerading code to allow its re-use from nf_tables, from Arturo. 24) Generalize the IPv6 masquerading code, also from Arturo. 25) Add the new masq expression to support IPv4/IPv6 masquerading from nf_tables, also from Arturo. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b167a37c7bbc6f7589f439ba7d9a49af5ad37ff5 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 21:17:32 2014 -0700 netfilter: Convert pr_warning to pr_warn Use the more common pr_warn. Other miscellanea: o Coalesce formats o Realign arguments Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 47c4cfc37fb71e0fa801a4ed9228de83404abfce Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 21:17:31 2014 -0700 iucv: Convert pr_warning to pr_warn Use the more common pr_warn. Coalesce formats. Realign arguments. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 294a0b7f3148e2a4e916965a6d14838e08143ba8 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 21:17:30 2014 -0700 pktgen: Convert pr_warning to pr_warn Use the more common pr_warn. Realign arguments. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ef423a410943dab9198ec1d7d9558cb53a9569cc Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 21:17:28 2014 -0700 atm: Convert pr_warning to pr_warn Use the more common pr_warn. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f007d7f1431ca9bc184782e704a7da460385d335 Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Thu Oct 9 07:57:00 2014 +0100 iio: Add Dyna-Image AL3320A ambient light sensor driver Minimal implementation. This driver provides raw illuminance readings. This is based on drivers/hwmon/al3320.c (*) driver from msm tree written by Tsechih Lin <Tsechih_Lin@xxxxxxxx> * https://android.googlesource.com/kernel/msm.git Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2fed71e57ae8b44e854a36d33e9a86a94a7628a4 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Sep 10 17:52:02 2014 +0200 clk: rockchip: also protect hclk_peri as critical The dwc2 usb controller also uses agressive clock gating, which in this case leads to hclk_peri getting disabled and hanging the system. Therefore move it to the critical clocks until we also control that part of the system. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit feaefa0ea1f1ab3fb92519aef2099ab4d75cce05 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 28 12:46:10 2014 +0200 clk: fractional-divider: cast parent_rate to u64 before multiplying On 32bit architectures, like ARM calculating the fractional rate will do the multiplication before converting the value to u64 when it gets assigned to ret, which can produce overflows. The error in question happened with a parent_rate of 386MHz, m = 3000, n = 60000, which resulted in a wrong rate value of 15812Hz. Therefore cast parent_rate to u64 to make sure the multiplication happens in a 64bit space and produces the correct 192MHz in the example. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 1c84cd48a117486166f3597c081b170b76e5bd81 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Wed Sep 10 10:57:08 2014 +0200 mips/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on all the archs. Unfortunaltely the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Reported-by: Markos Chandras <markos.chandras@xxxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef126a4a8112998a9d4dcea166781331f1020f76 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 15:17:01 2014 +0100 regulator: of: Add stub OF match function for !OF case Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f266f04d33e5265e2f61ffc9d2b2f97214804995 Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Thu Aug 28 10:59:05 2014 -0400 drm/radeon: add RADEON_GEM_NO_CPU_ACCESS BO creation flag (v4) Allows pinning of buffers in the non-CPU visible portion of vram. v2: incorporate Michel's comments. v3: rebase on Michel's patch v4: rebase on Michel's v2 patch Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> commit b76ee67a23e83bdad3e25def116c031eb007904d Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Tue Sep 9 10:09:23 2014 +0900 drm/radeon: Clean up assignment of TTM placement lpfn member for pinning This sets the lpfn member to 0 instead of the full domain size. TTM uses the full domain size when lpfn is 0. Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit c858403943886a92eece9d0413aa65c48bbe6fa7 Author: Michel Dänzer <michel.daenzer@xxxxxxx> Date: Thu Aug 28 15:56:00 2014 +0900 drm/radeon: Add RADEON_GEM_CPU_ACCESS BO creation flag This flag is a hint that userspace expects the BO to be accessed by the CPU. We can use that hint to prevent such BOs from ever being stored in the CPU inaccessible part of VRAM. Signed-off-by: Michel Dänzer <michel.daenzer@xxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 01100c022df5d9b8ac56d3705e33e69dc012a6e2 Author: Roland Stigge <stigge@xxxxxxxxx> Date: Tue Sep 9 15:13:14 2014 +0200 ARM: LPC32xx: Fix reset function In the recent change to the reset function API (commit 7b6d864b48d95e6ea1df7df64475b9cb9616dcf9), the mode argument changed from a char to an enum. lpc23xx_restart() only handles REBOOT_SOFT and REBOOT_HARD, but the new kernel code emits REBOOT_COLD (0) on reboots now which leads to lpc32xx simply not rebooting (but halting). This patch fixes this by just resetting unconditionally as on other platforms (e.g. mach-bcm2835). Pulling lpc32xx_watchdog_reset() into lpc23xx_restart() since the while() in lpc23xx_restart() is part of the procedure anyway and lpc32xx_watchdog_reset() isn't used anywhere else anymore. Signed-off-by: Roland Stigge <stigge@xxxxxxxxx> commit 3bcefb0497f9fcad19be286b14d286784d584c5b Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Sep 5 15:05:38 2014 -0400 drm/msm/adreno: push dump/show stuff to base class Add ptr to list of interesting registers to 'struct adreno_gpu' and use that to move most of the debugfs show and register dump bits down into adreno_gpu. This will avoid duplication as support for additional adreno generations is added. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3526e9fb4f3f178fe9dbab3886c86e294e45816c Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Sep 5 15:03:40 2014 -0400 drm/msm/adreno: bit of init refactoring Push a few bits down into adreno_gpu so they won't have to be duplicated as support for additional adreno generations is added. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit e2550b7a7d8f2030cfea43343eb3fccc3a8e8167 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Sep 5 13:30:27 2014 -0400 drm/msm/adreno: move decision about what gpu to to load Move this into into adreno_device, and decide based on gpu revision rather than just assuming a3xx. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit bfd28b136298f37ef2e10494d3a0bfb4dcbaa7b9 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Sep 5 13:06:37 2014 -0400 drm/msm/adreno: split adreno device out into it's own file We'd rather not duplicate these parts as support for additional gpu generations is added. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit dac746e04e2ed90bdf9b7f808ec1be0e5f1298c6 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Aug 1 17:01:06 2014 -0400 drm/panel/simple: add optronics B101XTN01.0 (v3) LVDS panel, make/model described as: AU Optronics Corporation - B101XTN01.0 (H/W:0A) See: http://www.encore-electronic.com/media/B101XTN01.0.pdf Tested with panel attached to an Inforce IFC6410 board. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit 3e87599b68e7929a84a32ab65ad17b79a3f271f6 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Aug 1 13:08:11 2014 -0400 drm/msm/mdp4: add LVDS panel support LVDS panel support uses the LCDC (parallel) encoder. Unlike with HDMI, there is not a separate LVDS block, so no need to split things into a bridge+connector. Nor is there is anything re-used with mdp5. Note that there can be some regulators shared between HDMI and LVDS (in particular, on apq8064, ext_3v3p), so we should not use the _exclusive() variants of devm_regulator_get(). The drm_panel framework is used for panel-specific driver. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit d65bd0e431156f156f43946b6efb524694afb685 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Aug 6 07:43:12 2014 -0400 drm/msm/mdp4: fix blend setup with multiple crtcs In particular, blend_setup() should not overwrite the other crtc's mixer settings. Also, the encoder needs to be able to specify the mixer-id explicitly, since both LVDS and DTV use 'INTF_LVDC_DTV', so we cannot guess the mixer-id from the interface. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit f9a1ca5c4734ad0da68ab322c8e9b7eb0b63a789 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Fri Aug 1 08:26:56 2014 -0400 drm/msm: update generated headers In particular, pick up the definitions for a handful of LVDS related registers. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> commit e415765f90105a7d2d1b410559520d925444136f Merge: 85ff58a 4884f76 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Wed Sep 10 17:02:37 2014 +0200 Merge branch 'lpc32xx/defconfig' of git://git.antcom.de/linux-2.6 into next/defconfig Pull "ARM: LPC32xx: Device tree updates" from Roland Stigge: This enables ubifs in the lpc32xx defconfig. * 'lpc32xx/defconfig' of git://git.antcom.de/linux-2.6: ARM: LPC32xx: defconfig update commit fb5a613b4f310d6d520daf295547ab35b0ac58a3 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 17:28:22 2014 +0300 kernel: trace_syscalls: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The uses of "rcu_assign_pointer()" are NULLing out the pointers. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Link: http://lkml.kernel.org/p/20140822142822.GA32391@ada Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3a630178fd5f30c285fd7016c5340a176b625913 Author: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Date: Thu Aug 7 10:52:04 2014 -0700 tracing: generate RCU warnings even when tracepoints are disabled Dave Jones reported seeing a bug from one of my TLB tracepoints: http://lkml.kernel.org/r/20140806181801.GA4605@xxxxxxxxxx I've been running these patches for months and never saw this. But, a big chunk of my testing, especially with all the debugging enabled, was in a vm where intel_idle doesn't work. On the systems where I was using intel_idle, I never had lockdep enabled and this tracepoint on at the same time. This patch ensures that whenever we have lockdep available, we do _some_ RCU activity at the site of the tracepoint, despite whether the tracepoint's condition matches or even if the tracepoint itself is completely disabled. This is a bit of a hack, but it is pretty self-contained. I confirmed that with this patch plus lockdep I get the same splat as Dave Jones did, but without enabling the tracepoint explicitly. Link: http://lkml.kernel.org/p/20140807175204.C257CAC5@xxxxxxxxxxxxxxxxxx Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: Dave Hansen <dave@xxxxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx>, Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit fef5aeeee9e3717e7aea991a7ae9ff6a7a2d4c85 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Jul 24 12:25:47 2014 -0400 ftrace: Replace tramp_hash with old_*_hash to save space Allowing function callbacks to declare their own trampolines requires that each ftrace_ops that has a trampoline must have some sort of accounting that keeps track of which ops has a trampoline attached to a record. The easy way to solve this was to add a "tramp_hash" that created a hash entry for every function that a ops uses with a trampoline. But since we can have literally tens of thousands of functions being traced, that means we need tens of thousands of descriptors to map the ops to the function in the hash. This is quite expensive and can cause enabling and disabling the function graph tracer to take some time to start and stop. It can take up to several seconds to disable or enable all functions in the function graph tracer for this reason. The better approach albeit more complex, is to keep track of how ops are being enabled and disabled, and use that along with the counting of the number of ops attached to records, to determive what ops has a trampoline attached to a record at enabling and disabling of tracing. To do this, the tramp_hash has been replaced with an old_filter_hash and old_notrace_hash, which get the copy of the ops filter_hash and notrace_hash respectively. The old hashes is kept until the ops has been modified or removed and the old hashes are used with the logic of the accounting to determine the ops that have the trampoline of a record. The reason this has less of a footprint is due to the trick that an "empty" hash in the filter_hash means "all functions" and an empty hash in the notrace hash means "no functions" in the hash. This is much more efficienct, doesn't have the delay, and takes up much less memory, as we do not need to map all the functions but just figure out which functions are mapped at the time it is enabled or disabled. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit e1effa0144a1ddf5b456c388ffaf784f3c5163fd Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Aug 5 17:19:38 2014 -0400 ftrace: Annotate the ops operation on update Add three new flags for ftrace_ops: FTRACE_OPS_FL_ADDING FTRACE_OPS_FL_REMOVING FTRACE_OPS_FL_MODIFYING These will be set for the ftrace_ops when they are first added to the function tracing, being removed from function tracing or just having their functions changed from function tracing, respectively. This will be needed to remove the tramp_hash, which can grow quite big. The tramp_hash is used to note what functions a ftrace_ops is using a trampoline for. Denoting which ftrace_ops is being modified, will allow us to use the ftrace_ops hashes themselves, which are much smaller as they have a global flag to denote if a ftrace_ops is tracing all functions, as well as a notrace hash if the ftrace_ops is tracing all but a few. The tramp_hash just creates a hash item for every function, which can go into the 10s of thousands if all functions are using the ftrace_ops trampoline. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 5fecaa044af3dc52e4bc138842bdf1c6676105b1 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Jul 24 16:00:31 2014 -0400 ftrace: Grab any ops for a rec for enabled_functions output When dumping the enabled_functions, use the first op that is found with a trampoline to the record, as there should only be one, as only one ops can be registered to a function that has a trampoline. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3296fc4e2509fa8870923ed52e7990040b151847 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Thu Jul 24 15:33:41 2014 -0400 ftrace: Remove freeing of old_hash from ftrace_hash_move() ftrace_hash_move() currently frees the old hash that is passed to it after replacing the pointer with the new hash. Instead of having the function do that chore, have the caller perform the free. This lets the ftrace_hash_move() be used a bit more freely, which is needed for changing the way the trampoline logic is done. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit f7aad4e1a8221210db7eb434349cc6fe87aeee8c Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Wed Sep 10 10:42:46 2014 -0400 ftrace: Set callback to ftrace_stub when no ops are registered The clean up that adds the helper function ftrace_ops_get_func() caused the default function to not change when DYNAMIC_FTRACE was not set and no ftrace_ops were registered. Although static tracing is not very useful (not having DYNAMIC_FTRACE set), it is still supported and we don't want to break it. Clean up the if statement even more to specifically have the default function call ftrace_stub when no ftrace_ops are registered. This fixes the small bug for static tracing as well as makes the code a bit more understandable. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 76ce677063e9194d48d9d44377c4f7f7c1c2e3d3 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Tue Sep 9 17:31:43 2014 +0200 DTS: serial: Add bindings documention for the Mediatek UARTs This patch adds the devicetree documentation for the Mediatek UART. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b4756f4f0d773c31e59f203e7f19fd3d5c490193 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Tue Sep 9 17:31:42 2014 +0200 tty: serial: 8250: Add Mediatek UART driver The device has a highspeed register which influences the calcualtion of the divisor. The chip lacks support for some baudrates. When requested, we set the divisor to the next smaller baudrate and adjust the c_cflag accordingly. Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Reviewed-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 08177ece596ccc9b9c194542c095c863c101fd11 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Tue Sep 9 11:03:57 2014 +0100 serial: asc: Adopt readl_/writel_relaxed() The architectures supported by this driver, arm and sh, have expensive implementations of writel(), reliant on spin locks and explicit L2 cache management. These architectures provide a cheaper writel_relaxed() which is much better suited to peripherals that do not perform DMA. The situation with readl()/readl_relaxed()is similar although less acute. This driver does not use DMA and will be more power efficient and more robust (due to absence of spin locks during console I/O) if it uses the relaxed variants. The driver supports COMPILE_TEST and therefore falls back to writel() when writel_relaxed() does not exist. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxx> Cc: Maxime Coquelin <maxime.coquelin@xxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: kernel@xxxxxxxxxxx Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 87d2163dae1f2388c7ccda5269be8d58e24382dd Author: Xiang Wang <wangx@xxxxxxxxxxx> Date: Wed Jul 16 15:50:09 2014 +0800 mmc: sdhci-pxav3: fix error handling of sdhci_add_host Commit 0dcaa2499b7d111bd70da5b0976c34210c850fb3 improved error handling of sdhci_add_host. However, "err_of_parse" and "err_cd_req" should be placed after "pm_runtime_disable(&pdev->dev)". Signed-off-by: Xiang Wang <wangx@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4884f769e65b2b02bfdafb9f64217844dfa3d84f Author: Roland Stigge <stigge@xxxxxxxxx> Date: Tue Sep 9 15:35:42 2014 +0200 ARM: LPC32xx: defconfig update This patch adds UBI+UBIFS to LPC32xx defconfig. Signed-off-by: Roland Stigge <stigge@xxxxxxxxx> commit ba441ec225337a82d06a56a5a874a565564a88e0 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Sep 10 08:44:36 2014 +0800 regulator: isl9305: REGULATOR_ISL9305 needs to select REGMAP_I2C Fix ERROR: "devm_regmap_init_i2c" [drivers/regulator/isl9305.ko] undefined! Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5e3905f62b2eb25d4421117e62f9d0434c0b6563 Merge: 2eb1dc3 fe0a29e b8a3ee8 133c268 03be88e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:21:03 2014 +0100 Merge remote-tracking branches 'asoc/fix/davinci', 'asoc/fix/max98090', 'asoc/fix/samsung' and 'asoc/fix/tlv320aic31xx' into asoc-linus commit 2eb1dc3179e1ac6eb5b1a5b1fa11d2a256897a20 Merge: e87a925 8f70e51 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:21:02 2014 +0100 Merge remote-tracking branch 'asoc/fix/pcm' into asoc-linus commit e87a925fb914af9c84ba2f08a6804e2b23c0b3cb Merge: 2ce7598 b794dbc Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:21:01 2014 +0100 Merge remote-tracking branch 'asoc/fix/core' into asoc-linus commit 93a127b11ac034b160ccdd32e27d791b98f52cf5 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:18:56 2014 +0100 regulator: isl9305: Convert to new style DT parsing This removes some code and replaces it with data. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ca5c671fb960712e274bf37dff8d6f5ebc02d40a Author: Matteo Croce <matteo@xxxxxxxxxxx> Date: Thu Sep 4 14:51:09 2014 +0200 ath10k: ATH10K_DEBUGFS depends on DEBUG_FS ATH10K_DEBUGFS must depend on DEBUG_FS, otherwise ath10k will generate an invalid pointer on module load. Signed-off-by: Matteo Croce <matteo@xxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c4f8c83665cf47b658ec2e4cc83cd873f8c943c7 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 4 10:18:32 2014 +0200 ath10k: use proper service bitmap size On 32bit systems the bitmap was too small and it was overwritten partially by the stat completion structure. This was visible with 10.2 firmware only due to it using a few of the last service ids. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit e13cf7a313a44c7279b4b646b5b7056d702ad0b7 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Sep 4 09:13:08 2014 +0200 ath10k: move fw_crash_dump allocation The fw_crash_data was allocated too late. Upon early firmware crash, before registering to mac80211, it was possible to crash the whole system: ath10k_pci 0000:00:05.0: device has crashed during init BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffffa0058005>] ath10k_debug_get_new_fw_crash_data+0x15/0x30 [ath10k_core] PGD 0 Oops: 0002 [#1] SMP Modules linked in: ath10k_pci(O) ath10k_core(O) ath [last unloaded: ath] CPU: 3 PID: 29 Comm: kworker/u8:1 Tainted: G O 3.17.0-rc2-wl-ath+ #447 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 Workqueue: ath10k_wq ath10k_core_register_work [ath10k_core] task: ffff88001eb01ad0 ti: ffff88001eb60000 task.ti: ffff88001eb60000 RIP: 0010:[<ffffffffa0058005>] [<ffffffffa0058005>] ath10k_debug_get_new_fw_crash_data+0x15/0x30 [ath10k_core] RSP: 0018:ffff88001eb63ce8 EFLAGS: 00010246 RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffffc90001a09030 RDI: 0000000000000001 RBP: ffff88001eb63cf0 R08: 0000000000000000 R09: ffff8800000bb200 R10: 00000000000001e2 R11: ffff88001eb638de R12: ffff88001d7459a0 R13: ffff88001d746ab0 R14: 00000000fffe14d4 R15: ffff88001d747c60 FS: 0000000000000000(0000) GS:ffff88001fd80000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 0000000000000000 CR3: 000000001df34000 CR4: 00000000000006e0 Stack: ffff88001d7459a0 ffff88001eb63d58 ffffffffa0083bbe ffff880000000010 ffff88001eb63d68 ffff88001eb63d18 0000000000000002 0000000000059010 ffffffffa0086fef 00000000deadbeef ffff88001d747a28 ffff88001d7459a0 Call Trace: [<ffffffffa0083bbe>] ath10k_pci_fw_crashed_dump+0x2e/0xd0 [ath10k_pci] [<ffffffffa0085410>] __ath10k_pci_hif_power_up+0x5f0/0x700 [ath10k_pci] [<ffffffffa0085550>] ath10k_pci_hif_power_up+0x30/0xe0 [ath10k_pci] [<ffffffffa005bc7b>] ath10k_core_register_work+0x2b/0x520 [ath10k_core] [<ffffffff810689cc>] process_one_work+0x18c/0x3f0 [<ffffffff81069011>] worker_thread+0x121/0x4a0 [<ffffffff81068ef0>] ? rescuer_thread+0x2c0/0x2c0 [<ffffffff8106daf2>] kthread+0xd2/0xf0 [<ffffffff8106da20>] ? kthread_create_on_node+0x170/0x170 [<ffffffff81857cfc>] ret_from_fork+0x7c/0xb0 [<ffffffff8106da20>] ? kthread_create_on_node+0x170/0x170 Code: 8b 40 38 48 c7 80 00 01 00 00 00 00 00 00 5b 5d c3 0f 1f 44 00 00 0f 1f 44 00 00 55 48 89 e5 53 48 8b 9f 90 1d 00 00 48 8d 7b 01 <c6> 03 01 e8 e3 ec 2b e1 48 8d 7b 18 e8 6a 4f 05 e1 48 89 d8 5b RIP [<ffffffffa0058005>] ath10k_debug_get_new_fw_crash_data+0x15/0x30 [ath10k_core] RSP <ffff88001eb63ce8> CR2: 0000000000000000 ---[ end trace 5d0ed15b050bcc1f ]--- Kernel panic - not syncing: Fatal exception in interrupt Kernel Offset: 0x0 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffff9fffffff) ---[ end Kernel panic - not syncing: Fatal exception in interrupt To prevent that split debug functions and allocate fw_crash_data earlier. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3f7c69637511a39f4400dc8312bbcecaa592ab61 Merge: dec38b5 a0c7b16 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:03:23 2014 +0100 Merge branch 'topic/of' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-isl9305 commit 7d42a7f293da03387cd8737a360c89c81640b67d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 9 23:16:11 2014 +0100 regulator: tps65217: Use simplified DT parsing Remove a bunch of code in favour of data. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dc1e0b1db4e14b6e15674113c99dc75adf093d34 Merge: c2542d2 a0c7b16 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 10 12:02:41 2014 +0100 Merge branch 'topic/of' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator into regulator-tps65217 commit a0c7b164ad115ec0556dc0904ee2218cbc5cedfa Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 9 23:13:57 2014 +0100 regulator: of: Provide simplified DT parsing method Currently regulator drivers which support DT all repeat very similar code to supply a list of known regulator identifiers to be matched with DT, convert that to platform data which is then matched up with the regulators as they are registered. This is both fiddly to get right and for devices which can use the standard helpers to provide their operations is the main source of code in the driver. Since this code is essentially identical for most drivers we can factor it out into the core, moving the identifiers in the match table into the regulator descriptors and also allowing drivers to pass in the name of the subnode to search. When a driver provides an of_match string for the regulator the core will attempt to use that to obtain init_data, allowing the driver to remove all explicit code for DT parsing and simply provide data instead. The current code leaks the phandles for the child nodes, this will be addressed incrementally and makes no practical difference for FDT anyway as the DT data structures are never freed. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 88a60e552f114ae34796604575239fb196658067 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 8 13:14:05 2014 +0200 ASoC: simple-card: fix regression in clock rate lookup Commit 7c7b9cf53d284f ("ASoC: simple-card: fixup cpu_dai_name clear case") changed the way that "sound-dai" properties are handled, which leads to the clock frequency not being picked up from the node that the phandle points to, as correctly identified by gcc with this warning: sound/soc/generic/simple-card.c: In function 'asoc_simple_card_sub_parse_of': sound/soc/generic/simple-card.c:165:7: warning: 'node' may be used uninitialized in this function [-Wmaybe-uninitialized] This restores the previous behavior by using the node from of_parse_phandle_with_args() that was previously being returned from of_parse_phandle(). Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0dd4fc3c2f663b9124855daf3fd841d70b4dbeea Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Wed Sep 10 09:59:55 2014 +0800 ASoC: simple-card: Adjust the comments of simple card. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 571a4010847a8b03c88de6543c5c00878a7e97d3 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Wed Sep 10 09:18:06 2014 +0800 regulator: rk808: Remove pdata from the regulator Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bfac1f59a1afb13a3cf225bffd04be99a49c51a6 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Sep 3 16:16:47 2014 +0200 KVM: s390/interrupt: remove double assignment r is already initialized to 0. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> commit f7a960affc6e5a33e8c7fcef065affc4f0461041 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Sep 3 21:23:13 2014 +0200 KVM: s390/cmm: Fix prefix handling for diag 10 balloon The old handling of prefix pages was broken in the diag10 ballooner. We now rely on gmap_discard to check for start > end and do a slow path if the prefix swap pages are affected: 1. discard the pages from start to prefix 2. discard the absolute 0 pages 3. discard the pages after prefix swap to end Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> commit 6b331952f1bc2df61c98954e25578629c439e417 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Sep 3 21:17:03 2014 +0200 KVM: s390: get rid of constant condition in ipte_unlock_simple Due to the earlier check we know that ipte_lock_count must be 0. No need to add a useless if. Let's make clear that we are going to always wakeup when we execute that code. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> commit f346026e55f1efd3949a67ddd1dcea7c1b9a615e Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Sep 3 16:21:32 2014 +0200 KVM: s390: unintended fallthrough for external call We must not fallthrough if the conditions for external call are not met. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Thomas Huth <thuth@xxxxxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 0349985add77ef5c9da8a75f4a9855977f4197d9 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Aug 25 12:38:57 2014 +0200 KVM: s390: Limit guest size to 16TB Currently we fill up a full 5 level page table to hold the guest mapping. Since commit "support gmap page tables with less than 5 levels" we can do better. Having more than 4 TB might be useful for some testing scenarios, so let's just limit ourselves to 16TB guest size. Having more than that is totally untested as I do not have enough swap space/memory. We continue to allow ucontrol the full size. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 614aeab4dcd0aafb1538d5035eb9855f15b84014 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Aug 25 12:27:29 2014 +0200 KVM: s390: add __must_check to interrupt deliver functions We now propagate interrupt injection errors back to the ioctl. We should mark functions that might fail with __must_check. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> commit 5102ee879539ebd2e0de1eb93290e3d691973e79 Author: Tony Krowiak <akrowiak@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 27 14:46:01 2014 -0400 KVM: CPACF: Enable MSA4 instructions for kvm guest We have to provide a per guest crypto block for the CPUs to enable MSA4 instructions. According to icainfo on z196 or later this enables CCM-AES-128, CMAC-AES-128, CMAC-AES-192 and CMAC-AES-256. Signed-off-by: Tony Krowiak <akrowiak@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Michael Mueller <mimu@xxxxxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> [split MSA4/protected key into two patches] commit 6157c7e1bb23dae5af4d5b2037203da4c64cc561 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Thu Aug 14 13:27:31 2014 -0400 locking/rwlock, x86: Delete unused asm/rwlock.h and rwlock.S This patch removes the unused asm/rwlock.h and rwlock.S files. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408037251-45918-3-git-send-email-Waiman.Long@xxxxxx Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Francesco Fusco <ffusco@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2ff810a7ef38b55ba6c7b80bb7ff22847fd3be69 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Thu Aug 14 13:27:30 2014 -0400 locking/rwlock, x86: Clean up asm/spinlock*.h to remove old rwlock code As the x86 architecture now uses qrwlock for its read/write lock implementation, it is no longer necessary to keep the old rwlock code around. This patch removes the old rwlock code in the asm/spinlock.h and asm/spinlock_types.h files. Now the ARCH_USE_QUEUE_RWLOCK config parameter cannot be removed from x86/Kconfig or there will be a compilation error. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Dave Jones <davej@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Waiman Long <Waiman.Long@xxxxxx> Link: http://lkml.kernel.org/r/1408037251-45918-2-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit da4c54457e6d8262423aded4bcbccc4103049506 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 2 22:21:26 2014 +0200 locking, mips: Fix atomics The patch folding the atomic ops had two silly fails in the _return primitives. Fixes: ef31563e950c ("locking,arch,mips: Fold atomic_ops") Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Bart Van Assche <bvanassche@xxxxxxx> Cc: Hannes Reinecke <hare@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Cc: Markos Chandras <markos.chandras@xxxxxxxxxx> Cc: Paul Burton <paul.burton@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902202126.GA3190@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit caa17d49f9a5cc09b3bbb101dc640f914f3b4ff7 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Sep 2 11:40:16 2014 +0200 locking, sparc64: Fix atomics The patch folding the atomic ops had a silly fail in the _return primitives. Fixes: 4f3316c2b5fe ("locking,arch,sparc: Fold atomic_ops") Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140902094016.GD31157@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fdcaa1dbb7c6ed419b10fb8cdb5001ab0a00538f Merge: bb6d822 3feb049 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 10 19:43:29 2014 +1000 Merge tag 'ipu-3.18' of git://git.pengutronix.de/git/pza/linux into drm-next IPUv3 preparations for capture support * tag 'ipu-3.18' of git://git.pengutronix.de/git/pza/linux: (26 commits) gpu: ipu-v3: Add ipu_dump() gpu: ipu-cpmem: Add ipu_cpmem_dump() gpu: ipu-v3: Add more planar formats support gpu: ipu-cpmem: Add second buffer support to ipu_cpmem_set_image() gpu: ipu-cpmem: Add ipu_cpmem_set_rotation() gpu: ipu-cpmem: Add ipu_cpmem_set_axi_id() gpu: ipu-cpmem: Add ipu_cpmem_set_block_mode() gpu: ipu-v3: Add ipu_idmac_lock_enable() gpu: ipu-v3: Add ipu_idmac_enable_watermark() gpu: ipu-v3: Add ipu_stride_to_bytes() gpu: ipu-v3: Add __ipu_idmac_reset_current_buffer() gpu: ipu-v3: Add ipu_idmac_clear_buffer() gpu: ipu-v3: Add ipu_idmac_buffer_is_ready() gpu: ipu-v3: Move IDMAC channel names to imx-ipu-v3.h gpu: ipu-v3: Add helper function checking if pixfmt is planar gpu: ipu-v3: Add rotation mode conversion utilities gpu: ipu-v3: Add ipu_mbus_code_to_colorspace() gpu: ipu-v3: smfc: Add ipu_smfc_set_watermark() gpu: ipu-v3: smfc: Convert to per-channel gpu: ipu-v3: smfc: Move enable/disable to ipu-smfc.c ... commit 209cf19fcd927e6db9f2ef38e3ca6afdcc0d4d5a Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Sep 9 17:27:19 2014 +0100 KVM: fix api documentation of KVM_GET_EMULATED_CPUID It looks like when this was initially merged it got accidentally included in the following section. I've just moved it back in the correct section and re-numbered it as other ioctls have been added since. Signed-off-by: Alex BennÃ?©e <alex.bennee@xxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4bd9d3441edadff4c8df9de4b5d5386c36667ca6 Author: Alex Bennée <alex.bennee@xxxxxxxxxx> Date: Tue Sep 9 17:27:18 2014 +0100 KVM: document KVM_SET_GUEST_DEBUG api In preparation for working on the ARM implementation I noticed the debug interface was missing from the API document. I've pieced together the expected behaviour from the code and commit messages written it up as best I can. Signed-off-by: Alex BennÃ?©e <alex.bennee@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit bb6d822ec546603bca01f7ba17c52f0f4f80e329 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:46 2014 +0200 drm: move drm-lock API to drm_legacy.h Same as the other legacy APIs, most of this is internal, so prefix it with drm_legacy_* and move into drm_legacy.h. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit c73541336389f9fd72f592601c40a2e70320cf31 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Aug 22 05:55:16 2014 +0100 mmc: mmci: rename sdio flag in vendor data to st_sdio This patch renames sdio flag in vendor data to st_sdio, as this flag is only used to enable ST specific sdio setup. This will also ensure that the ST specfic setup is not done on other vendor like Qualcomm. Originally the issue was detected while testing WLAN ath6kl on IFC6410 board with APQ8064 SOC. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 5df014df12b1178e0b76b7273913ce1531ecf20e Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Fri Aug 22 05:54:55 2014 +0100 mmc: mmci: Add sdio enable mask in variant data This patch adds sdio enable mask in variant data, SOCs like ST have special bits in datactrl register to enable sdio. Unconditionally setting this bit in this driver breaks other SOCs like Qualcomm which maps this bits to something else, so making this enable bit to come from variant data solves the issue. Originally the issue is detected while testing WLAN ath6kl on Qualcomm APQ8064. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d4f68a7506e924e28a9153933076628002ba8bbc Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:45 2014 +0200 drm: merge drm_usb into udl This merges all the remains of drm_usb into its only user, udl. We can then drop all the drm_usb stuff, including dev->usbdev. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit c5786fe5f1c50941dbe27fc8b4aa1afee46ae893 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:44 2014 +0200 drm: Goody bye, drm_bus! ..we will not miss you.. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 915b4d11b8b9e7b84ba4a4645b6cc7fbc0c071cf Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:43 2014 +0200 drm: add driver->set_busid() callback One step closer to dropping all the drm_bus_* code: Add a driver->set_busid() callback and make all drivers use the generic helpers. Nouveau is the only driver that uses two different bus-types with the same drm_driver. This is totally broken if both buses are available on the same machine (unlikely, but lets be safe). Therefore, we create two different drivers for each platform during module_init() and set the set_busid() callback respectively. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 1e444be0ef1bda2b180ecdedfa4c5d32bf236a5d Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:42 2014 +0200 drm: drop unused drm_master->unique_size This field is unused and there is really no reason to optimize unique-allocations. Drop it. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d0a39164b6adad0cec5046b6aad6b590cc9466cc Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:41 2014 +0200 drm: simplify drm_*_set_unique() Lets use kasprintf() to avoid pre-allocating the buffer. This is really nothing to optimize for speed and the input is trusted, so kasprintf() is just fine. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d7d2c48e5cfe27dc7378e48d4f22efcf417317d9 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:40 2014 +0200 drm: move remaining includes in drmP.h to the top Including headers somewhere else but at the top is ugly, deprecated and was used in early days only to speed up compile-times. Those days are over. Make headers independent and then move the inclusions to the top. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 69d516c0a990b42c4d55f7631fa28cc41bfcc8f0 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:39 2014 +0200 drm: inline "struct drm_sigdata" The sigdata structure is only used to group two fields in drm_device. Inline it and make it an unnamed object. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 2368ffb18b1d2b04eb80478d225676caa7a3c4c8 Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Date: Wed Aug 6 03:22:46 2014 +0200 drm: Use vblank_disable_and_save in drm_vblank_cleanup() Calling vblank_disable_fn() will cause that function to no-op if !dev->vblank_disable_allowed for some kms drivers, e.g., on nouveau-kms. This can cause the gpu vblank irq's to not get disabled before freeing the dev->vblank array, so if a vblank irq fires and calls into drm_handle_vblank() after drm_vblank_cleanup() completes, it will cause use-after-free access to dev->vblank array. Call vblank_disable_and_save unconditionally, so vblank irqs are guaranteed to be off, before we delete the data structures on which they operate. Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Fix subsystem name in patch subject.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit edf0ac7c67ce596f43d66a781660889bbdcc9505 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:38 2014 +0200 drm: drop DRM_DEBUG_CODE DRM_DEBUG_CODE is currently always set, so distributions enable it. The only reason to keep support in code is if developers wanted to disable debug support. Sounds unlikely. All the DRM_DEBUG() printks are still guarded by a drm_debug read. So if its cacheline is read once, they're discarded pretty fast.. There should hardly be any performance penalty, it's even guarded by unlikely(). Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 969939087da7aca386ff166a1c67ee9707215feb Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:37 2014 +0200 drm: order includes alphabetically in drmP.h It is hardly possible to review the drmP.h includes, anymore. Order them alphabetically, linux/ first, then asm/ and then local drm/ includes. Since a long time ago, kernel headers have been converted to include required headers themselves. No-one cares whether that means the compiler has to include a header multiple times. In fact, GCC already does some optimization regarding multiple inclusions if a sorrounding #ifndef is present. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 71930d74e4ad5b2cddc03e0a47ad0cc7ba51845c Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:36 2014 +0200 drm: move __OS_HAS_AGP into drm_agpsupport.h With drm_memory.h gone, there is no header left that uses __OS_HAS_AGP. Move it into drm_agpsupport.h (which is itself included from drmP.h) to hide it harder from public eyes. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit d6db6564457c5ad617c3bcf44bed58a227f4c702 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:35 2014 +0200 drm: merge drm_memory.h into drm_memory.c The drm_memory.h header is only used to define PAGE_AGP, which is only used in drm_memory.c. Fold the header into drm_memory.c and drop it. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 32abc552bc869edcfa7b1c6ee365e0b58a134ec6 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:34 2014 +0200 drm: drop __KERNEL__ protection in drmP.h drmP.h is internal to the kernel. No need to keep the __KERNEL__ protection. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 2791ee85e1e9805d600782e554f706458ec6c84e Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:33 2014 +0200 drm: replace weird conditional includes pte_wrprotect() is only used by drm_vm.c, so move the include there. Also include it unconditionally, all architectures provide this header! Furthermore, replace asm/current.h with sched.h, which includes asm/current.h unconditionally. This way we get the same effect and avoid direct asm/ includes. Furthermore, drop the weird __alpha__ protection. It's safe to include sched.h everywhere (and the wait.h comment doesn't apply, anyway). Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit cc5ea5947a52b98cd9a03d4011a5a12b4e5a99c4 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:32 2014 +0200 drm: move AGP definitions harder Move drm_agp_head to drm_agpsupport.h and drm_agp_mem into drm_legacy.h. Unfortunately, drivers still heavily access drm_agp_head so we cannot move it to drm_legacy.h. However, at least it's no longer visible in drmP.h now (it's directly included from it, though). Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit cc33db0a6108d41b94eba0d84b0627cc52585109 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:31 2014 +0200 drm: drop unused "struct drm_waitlist" This structure is unused, drop it. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 71d39483de474d9513e23d9e21af7483684f4745 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:30 2014 +0200 drm: move "struct drm_magic_entry" to drm_auth.c In drm_release(), we currently call drm_remove_magic() if the drm_file has a drm-magic attached. Therefore, once drm_master_release() is called, the magic-list _must_ be empty. By dropping the no-op cleanup, we can move "struct drm_magic_entry" to drm_auth.c and avoid exposing it to all of DRM. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 03decbe57ac6c9e632f7cde0f7d0a54bbcaf8464 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:29 2014 +0200 drm: move "struct drm_vma_entry" to drm_vm.c Make all the drm_vma_entry handling local to drm_vm.c and hide it from global headers. This requires to extract the inlined legacy drm_vma_entry cleanup into a small helper and also move a weirdly placed drm_vma_info helper into drm_vm.c. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 9fc5cde7fb6699b0a75e90b7cbfee7c912dd94c2 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:28 2014 +0200 drm: mark drm_buf and drm_map as legacy Move internal declarations to drm_legacy.h and add drm_legacy_*() prefix to all legacy functions. [airlied: add a bit of an explaination to drm_legacy.h] Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 9f50bd8905ab12e3e8ebffd8296d7921bd3976eb Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Fri Aug 29 12:12:27 2014 +0200 drm/radeon: move drm_buffer to drm/radeon/ Radeon UMS is the last user of drm_buffer. Move it out of sight so radeon can drop it together with UMS. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit efb089517d2f34a58aceb600ab58b0ca3db1fa07 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Sep 9 08:14:36 2014 +0400 serial: clps711x: Fix COMPILE_TEST build for target without GPIOLIB support The patch fixes the following build error of CLPS711X serial driver for targets without GPIOLIB support: >> drivers/tty/serial/serial_mctrl_gpio.c:44:6: error: redefinition of 'mctrl_gpio_set' void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl) ^ In file included from drivers/tty/serial/serial_mctrl_gpio.c:23:0: drivers/tty/serial/serial_mctrl_gpio.h:80:6: note: previous definition of 'mctrl_gpio_set' was here void mctrl_gpio_set(struct mctrl_gpios *gpios, unsigned int mctrl) ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 999156ada570cb4a2eaee42e47c9e659b5c577fb Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Sep 9 20:37:59 2014 +0200 sparc/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on all the archs. Unfortunaltely the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e63aee564229f95d1e1d7e5e21ffe2622f28f16 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Sep 9 20:59:50 2014 +0200 sh/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on all the archs. Unfortunaltely the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12b46b66f098de4b72ea6f14b8228d1e71ab9fd1 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Sep 9 20:58:15 2014 +0200 parisc/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 (serial/8250: Add support for RS485 IOCTLs), adds support for RS485 ioctls for 825_core on all the archs. Unfortunaltely the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9a2eab5fb65232512adac58898eef835124a40e Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Sep 9 21:39:24 2014 +0200 xtensa/uapi: Add definition of TIOC[SG]RS485 Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 [3/21] serial/8250: Add support for RS485 IOCTLs, adds support for RS485 ioctls for 825_core on all the archs. Unfortunaltely the definition of TIOCSRS485 and TIOCGRS485 was missing on the ioctls.h file Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b4af1d94903143f88e541b00f028fa449a26f73 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Sep 9 07:17:45 2014 +0200 serial/8250_core: Add reference to uacess.h Commit: e676253b19b2d269cccf67fdb1592120a0cd0676 [3/21] serial/8250: Add support for RS485 IOCTLs, adds a building error on arch m32r. All error/warnings: drivers/tty/serial/8250/8250_core.c: In function 'serial8250_ioctl': >> drivers/tty/serial/8250/8250_core.c:2859:3: error: implicit declaration of function 'copy_from_user' [-Werror=implicit-function-declaration] if (copy_from_user(&rs485_config, (void __user *)arg, ^ >> drivers/tty/serial/8250/8250_core.c:2871:3: error: implicit declaration of function 'copy_to_user' [-Werror=implicit-function-declaration] if (copy_to_user((void __user *)arg, &up->rs485, ^ cc1: some warnings being treated as errors Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6618ec6f742955dcddb71091ec461fbd5fec9fd3 Merge: fe3881c 19424e0 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 9 21:29:50 2014 -0700 Merge branch 'ipip_sit_gro' Tom Herbert says: ==================== net: enable GRO for IPIP and SIT This patch sets populates the IPIP and SIT offload structures with gro_receive and gro_complete functions. This enables use of GRO for these. Also, fixed a problem in IPv6 where we were not properly initializing flush_id. Peformance results are below. Note that these tests were done on bnx2x which doesn't provide RX checksum offload of IPIP or SIT (i.e. does not give CHEKCSUM_COMPLETE). Also, we don't get 4-tuple hash for RSS only 2-tuple in this case so all the packets between two hosts are winding up on the same queue. Net result is the interrupting CPU is the bottleneck in GRO (checksumming every packet there). Testing: netperf TCP_STREAM between two hosts using bnx2x. * Before fix IPIP 1 connection 6.53% CPU utilization 6544.71 Mbps 20 connections 13.79% CPU utilization 9284.54 Mbps SIT 1 connection 6.68% CPU utilization 5653.36 Mbps 20 connections 18.88% CPU utilization 9154.61 Mbps * After fix IPIP 1 connection 5.73% CPU utilization 9279.53 Mbps 20 connections 7.14% CPU utilization 7279.35 Mbps SIT 1 connection 2.95% CPU utilization 9143.36 Mbps 20 connections 7.09% CPU utilization 6255.3 Mbps ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 19424e052fb44da2f00d1a868cbb51f3e9f4bbb5 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Tue Sep 9 11:23:16 2014 -0700 sit: Add gro callbacks to sit_offload Add ipv6_gro_receive and ipv6_gro_complete to sit_offload to support GRO. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9667e9bb3f366435dde74f22578876daae850feb Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Tue Sep 9 11:23:15 2014 -0700 ipip: Add gro callbacks to ipip offload Add inet_gro_receive and inet_gro_complete to ipip_offload to support GRO. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 03d56daafe9d4e04a8a0d305789cd3eda250746b Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Tue Sep 9 11:23:14 2014 -0700 ipv6: Clear flush_id to make GRO work In TCP gro we check flush_id which is derived from the IP identifier. In IPv4 gro path the flush_id is set with the expectation that every matched packet increments IP identifier. In IPv6, the flush_id is never set and thus is uinitialized. What's worse is that in IPv6 over IPv4 encapsulation, the IP identifier is taken from the outer header which is currently not incremented on every packet for Linux stack, so GRO in this case never matches packets (identifier is not increasing). This patch clears flush_id for every time for a matched packet in IPv6 gro_receive. We need to do this each time to overwrite the setting that would be done in IPv4 gro_receive per the outer header in IPv6 over Ipv4 encapsulation. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fe3881cf7e09dfb93e4a4c65f44e2d92f92d0022 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Tue Sep 9 20:27:44 2014 -0700 drivers/net: Convert remaining uses of pr_warning to pr_warn Use the much more common pr_warn instead of pr_warning. Other miscellanea: o Typo fixes submiting/submitting o Coalesce formats o Realign arguments o Add missing terminating '\n' to formats Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 64d14a31d5410ea34641c41795e0ba222bda740c Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 9 14:43:10 2014 -0300 ARM: imx: Remove mach-mxt_td60 board file All the current support of mach-mxt_td60 board can be converted to devicetree. Remove the board file. Cc: Alan Carvalho de Assis <acassis@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 46cfd725c377bc5bb32b56b5151d6de4cb5a71e3 Author: Florian Westphal <fw@xxxxxxxxx> Date: Wed Sep 10 01:08:46 2014 +0200 net: use kfree_skb_list() helper in more places Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72bb17b37b9076e12b388feee4a52e85ef8f6620 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 9 08:29:12 2014 -0700 ipv4: udp4_gro_complete() is static net/ipv4/udp_offload.c:339:5: warning: symbol 'udp4_gro_complete' was not declared. Should it be static? Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Tom Herbert <therbert@xxxxxxxxxx> Fixes: 57c67ff4bd92 ("udp: additional GRO support") Acked-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 416c51e17b8b31b574763ac2b88ee99ddbb0c85d Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 9 08:24:53 2014 -0700 netns: remove one sparse warning net/core/net_namespace.c:227:18: warning: incorrect type in argument 1 (different address spaces) net/core/net_namespace.c:227:18: expected void const *<noident> net/core/net_namespace.c:227:18: got struct net_generic [noderef] <asn:4>*gen We can use rcu_access_pointer() here as read-side access to the pointer was removed at least one grace period ago. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc9c668a0805cdf6141ffae3d8e9a94875ec7a54 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 9 08:16:17 2014 -0700 ipv6: udp6_gro_complete() is static net/ipv6/udp_offload.c:159:5: warning: symbol 'udp6_gro_complete' was not declared. Should it be static? Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 57c67ff4bd92 ("udp: additional GRO support") Cc: Tom Herbert <therbert@xxxxxxxxxx> Acked-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8e380f004e8e3c071590426a64210331051a4c42 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Tue Sep 9 08:11:41 2014 -0700 ipv4: rcu cleanup in ip_ra_control() Remove one sparse warning : net/ipv4/ip_sockglue.c:328:22: warning: incorrect type in assignment (different address spaces) net/ipv4/ip_sockglue.c:328:22: expected struct ip_ra_chain [noderef] <asn:4>*next net/ipv4/ip_sockglue.c:328:22: got struct ip_ra_chain *[assigned] ra And replace one rcu_assign_ptr() by RCU_INIT_POINTER() where applicable. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cbeddd5d163ba7a6cd96a96509f7043cce4f68d2 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Tue Sep 9 13:07:32 2014 +0200 ipv6: mcast: remove dead debugging defines It's not used anywhere, so just remove these. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit be07b79dcfac2e19160f59229032325ff49ac69c Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Sep 9 11:48:29 2014 +0300 irda: vlsi_ir: use %*ph specifier Instead of looping in the code let's use kernel extension to dump small buffers. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ddfa07778afdd9e00406a6a8ede827d51d9f26e Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Tue Sep 9 11:40:28 2014 +0800 r8152: use usleep_range Replace mdelay with usleep_range to avoid busy loop. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e5542604ab64d9a7866226bbab3725532caf070 Merge: 83c9b2a 66b0436 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Tue Sep 9 19:28:41 2014 -0700 Merge branch 'pull/v3.18/for-dt-pinctrl-updates' of https://github.com/nmenon/linux-2.6-playground into omap-for-v3.18/dt commit 377fb3f5d9a34b2913939e0620c1c585b5913bab Author: Nishanth Menon <nm@xxxxxx> Date: Tue Sep 9 12:15:33 2014 -0500 ARM: OMAP5+: Reuse OMAP4 PM code for OMAP5 and DRA7 OMAP4, OMAP5 and DRA7 share a lot of common logic and data structures. These have been enabled in the previous patches, however, this also means that OMAP5 or DRA7 only builds also need to build OMAP4 logic. Update to reuse OMAP4 logic. This fixes the 'undefined reference to 'omap4_pm_init_early'' in OMAP5 or DRA7 only builds. Fixes: 6af16a1dac5465c ("ARM: DRA7: Add hook in SoC initcalls to enable pm initialization") Fixes: 628ed4717000789 ("ARM: OMAP5: Add hook in SoC initcalls to enable pm initialization") Reported-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 67cc0d4077951295f42bed63805e91b46c24477b Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Mon Sep 8 19:58:58 2014 -0400 net-timestamp: optimize sock_tx_timestamp default path Few packets have timestamping enabled. Exit sock_tx_timestamp quickly in this common case. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 17448e5f63c8f36d00532327ae65e253d1395b08 Author: Florian Westphal <fw@xxxxxxxxx> Date: Mon Sep 8 23:33:01 2014 +0200 net_sched: sfq: remove unused macro not used anymore since ddecf0f (net_sched: sfq: add optional RED on top of SFQ). Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4ef6dae4ba0fc074eca69157aa29fe59b22f812c Author: Rick Jones <rick.jones2@xxxxxx> Date: Tue Sep 9 14:43:27 2014 -0700 sfc: Convert the normal transmit complete path to dev_consume_skb_any() Convert the normal transmit completion path from dev_kfree_skb_any() to dev_consume_skb_any() to help keep dropped packet profiling meaningful. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29c10a817f54131ec6babe724aada6772acbbf47 Merge: c6ec956 87163ef Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 9 17:31:43 2014 -0700 Merge branch 'bond_lock_removal' Nikolay Aleksandrov says: ==================== bonding: get rid of bond->lock This patch-set removes the last users of bond->lock and converts the places that needed it for sync to use curr_slave_lock or RCU as appropriate. I've run this with lockdep and have stress-tested it via loading/unloading and enslaving/releasing in parallel while outputting bond's proc, I didn't see any issues. Please pay special attention to the procfs change, I've done about an hour of stress-testing on it and have checked that the event that causes the bonding to delete its proc entry (NETDEV_UNREGISTER) is called before ndo_uninit() and the freeing of the dev so any readers will sync with that. Also ran sparse checks and there were no splats. v2: Add patch 0001/cxgb4 bond->lock removal, RTNL should be held in the notifier call, the other patches are the same. Also tested with allmodconfig to make sure there're no more users of bond->lock. Changes from the RFC: use RCU in procfs instead of RTNL since RTNL might lead to a deadlock with unloading and also is much slower. The bond destruction syncs with proc via the proc locks. There's one new patch that converts primary_slave to use RCU as it was necessary to fix a longstanding bugs in sysfs and procfs and to make it easy to migrate bond's procfs to RCU. And of course rebased on top of net-next current. This is the first patch-set in a series that should simplify the bond's locking requirements and will make it easier to define the locking conditions necessary for the various paths. The goal is to rely on RTNL and rcu alone, an extra lock would be needed in a few special cases that would be documented very well. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87163ef9cda7617f8afdb549de191706641003c0 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:17:03 2014 +0200 bonding: remove last users of bond->lock and bond->lock itself The usage of bond->lock in bond_main.c was completely unnecessary as it didn't help to sync with anything, most of the spots already had RTNL. Since there're no more users of bond->lock, remove it. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 246df7b423aa61a8bd0b58404759a9abb4c15081 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:17:02 2014 +0200 bonding: options: remove bond->lock usage We're safe to remove the bond->lock use from the arp targets because arp_rcv_probe no longer acquires bond->lock, only rcu_read_lock. Also setting the primary slave is safe because noone uses the bond->lock as a syncing mechanism for that anymore. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e9fe8efeeae11f19bb6fafd6153ec77deaeb4b83 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:17:01 2014 +0200 bonding: procfs: clean bond->lock usage and use RCU Use RCU to protect against slave release, the proc show function will sync with the bond destruction by the proc locks and the fact that the bond is released after NETDEV_UNREGISTER which causes the bonding to remove the proc entry. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 059b47e8aaf997245bc531e980581de492315fe6 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:17:00 2014 +0200 bonding: convert primary_slave to use RCU This is necessary mainly for two bonding call sites: procfs and sysfs as it was dereferenced without any real protection. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ecfede424e95b211050f777c3ae96356926ed1c4 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:16:59 2014 +0200 bonding: alb: clean bond->lock We can remove the lock/unlock as it's no longer necessary since RTNL should be held while calling bond_alb_set_mac_address(). Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bdbc5f13036c13ba47dad5f99645556fc40381f0 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:16:58 2014 +0200 bonding: 3ad: use curr_slave_lock instead of bond->lock In 3ad mode the only syncing needed by bond->lock is for the wq and the recv handler, so change them to use curr_slave_lock. There're no locking dependencies here as 3ad doesn't use curr_slave_lock at all. Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51752afa735ab28b6023fcf22ec63955107f8a65 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Tue Sep 9 23:16:57 2014 +0200 cxgb4: remove bond->lock RTNL should be already held in the notifier call so the slave list can be traversed without a problem, remove the unnecessary bond->lock. CC: Hariprasad S <hariprasad@xxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c6ec956b73dbeb23f1f58aaf4dbb73eb509779c0 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Sep 8 17:14:50 2014 +0000 ARM: dts: Enable emac node on the rk3188-radxarock boards This enables EMAC Rockchip support on radxa rock boards. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18ec91e1947f478f4fb7d7b1a2b0696d15f464c5 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Sep 8 17:14:49 2014 +0000 ARM: dts: Add emac nodes to the rk3188 device tree This adds support for EMAC Rockchip driver on RK3188 SoCs. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40404e00f1a23f2a6350737ce02753917edece56 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Sep 8 17:14:48 2014 +0000 dt-bindings: Document EMAC Rockchip This adds the necessary binding documentation for the EMAC Rockchip platform driver found in RK3066 and RK3188 SoCs. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6eacf31139bf9638c62eb7853ee37f70da1ad28c Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Mon Sep 8 17:14:47 2014 +0000 ethernet: arc: Add support for Rockchip SoC layer device tree bindings This patch defines a platform glue layer for Rockchip SoCs which support arc-emac driver. It ensures that regulator for the rmii is on before trying to connect to the ethernet controller. It applies right speed and mode changes to the grf when ethernet settings change. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b32c44b93af31e9163514df0f3ac2791972eb124 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Tue Sep 2 11:13:04 2014 +0200 clk: shmobile: Add r8a7740, sh73a0 SoCs to MSTP bindings Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 60005c60b1ea807013bcbbfe9309fc924a3881f0 Merge: ca777ef 286aad3 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 9 16:59:03 2014 -0700 Merge branch 'bpf-next' Daniel Borkmann says: ==================== BPF updates [ Set applies on top of current net-next but also on top of Alexei's latest patches. Please see individual patches for more details. ] Changelog: v1->v2: - Removed paragraph in 1st commit message - Rest stays the same ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 286aad3c4014ca825c447e07e24f8929e6d266d2 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Mon Sep 8 08:04:49 2014 +0200 net: bpf: be friendly to kmemcheck Reported by Mikulas Patocka, kmemcheck currently barks out a false positive since we don't have special kmemcheck annotation for bitfields used in bpf_prog structure. We currently have jited:1, len:31 and thus when accessing len while CONFIG_KMEMCHECK enabled, kmemcheck throws a warning that we're reading uninitialized memory. As we don't need the whole bit universe for pages member, we can just split it to u16 and use a bool flag for jited instead of a bitfield. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55309dd3d4cd7420376a3de0526d6ed24ff8fa76 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Mon Sep 8 08:04:48 2014 +0200 net: bpf: arm: address randomize and write protect JIT code This is the ARM variant for 314beb9bcab ("x86: bpf_jit_comp: secure bpf jit against spraying attacks"). It is now possible to implement it due to commits 75374ad47c64 ("ARM: mm: Define set_memory_* functions for ARM") and dca9aa92fc7c ("ARM: add DEBUG_SET_MODULE_RONX option to Kconfig") which added infrastructure for this facility. Thus, this patch makes sure the BPF generated JIT code is marked RO, as other kernel text sections, and also lets the generated JIT code start at a pseudo random offset instead on a page boundary. The holes are filled with illegal instructions. JIT tested on armv7hl with BPF test suite. Reference: http://mainisusuallyafunction.blogspot.com/2012/11/attacking-hardened-linux-systems-with.html Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Mircea Gherzan <mgherzan@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 738cbe72adc5c8f2016c4c68aa5162631d4f27e1 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Mon Sep 8 08:04:47 2014 +0200 net: bpf: consolidate JIT binary allocator Introduced in commit 314beb9bcabf ("x86: bpf_jit_comp: secure bpf jit against spraying attacks") and later on replicated in aa2d2c73c21f ("s390/bpf,jit: address randomize and write protect jit code") for s390 architecture, write protection for BPF JIT images got added and a random start address of the JIT code, so that it's not on a page boundary anymore. Since both use a very similar allocator for the BPF binary header, we can consolidate this code into the BPF core as it's mostly JIT independant anyway. This will also allow for future archs that support DEBUG_SET_MODULE_RONX to just reuse instead of reimplementing it. JIT tested on x86_64 and s390x with BPF test suite. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ca777eff51f7fbaebd954e645d8ecb781a906b4a Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Mon Sep 8 08:06:07 2014 -0700 tcp: remove dst refcount false sharing for prequeue mode Alexander Duyck reported high false sharing on dst refcount in tcp stack when prequeue is used. prequeue is the mechanism used when a thread is blocked in recvmsg()/read() on a TCP socket, using a blocking model rather than select()/poll()/epoll() non blocking one. We already try to use RCU in input path as much as possible, but we were forced to take a refcount on the dst when skb escaped RCU protected region. When/if the user thread runs on different cpu, dst_release() will then touch dst refcount again. Commit 093162553c33 (tcp: force a dst refcount when prequeue packet) was an example of a race fix. It turns out the only remaining usage of skb->dst for a packet stored in a TCP socket prequeue is IP early demux. We can add a logic to detect when IP early demux is probably going to use skb->dst. Because we do an optimistic check rather than duplicate existing logic, we need to guard inet_sk_rx_dst_set() and inet6_sk_rx_dst_set() from using a NULL dst. Many thanks to Alexander for providing a nice bug report, git bisection, and reproducer. Tested using Alexander script on a 40Gb NIC, 8 RX queues. Hosts have 24 cores, 48 hyper threads. echo 0 >/proc/sys/net/ipv4/tcp_autocorking for i in `seq 0 47` do for j in `seq 0 2` do netperf -H $DEST -t TCP_STREAM -l 1000 \ -c -C -T $i,$i -P 0 -- \ -m 64 -s 64K -D & done done Before patch : ~6Mpps and ~95% cpu usage on receiver After patch : ~9Mpps and ~35% cpu usage on receiver. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Reported-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 196332f5a1e5c3ec7171742fce83d03795abf120 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Tue Sep 9 16:21:46 2014 -0700 Bluetooth: Fix allowing SMP Signing info PDU If the remote side is not distributing its IRK but is distributing the CSRK the next PDU after master identification is the Signing Information. This patch fixes a missing SMP_ALLOW_CMD() for this in the smp_cmd_master_ident() function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b84ca92e1672432aac43cccaaa572881e7cc9fdd Author: Andreas Larsson <andreas@xxxxxxxxxxx> Date: Mon Sep 8 09:48:52 2014 +0200 sparc32, leon: Make leon_dma_ops avaiable when !CONFIG_PCI The leon_dma_ops struct is needed for leon regardless of PCI configuration. Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 384859d2af8ead22c9e5a570a4ab89f1b563c8e5 Author: Andreas Larsson <andreas@xxxxxxxxxxx> Date: Fri Aug 29 17:09:18 2014 +0200 sparc: leon: Fix race condition between leon_cycles_offset and timer_interrupt This makes sure that leon_cycles_offset takes the pending bit into account and that leon_clear_clock_irq clears the pending bit. Otherwise, if leon_cycles_offset is executed after the timer has wrapped but before timer_interrupt has increased timer_cs_internal_counter, time can be perceived to go backwards. Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 74cad25c076a2f5253312c2fe82d1a4daecc1323 Author: Andreas Larsson <andreas@xxxxxxxxxxx> Date: Fri Aug 29 17:08:21 2014 +0200 sparc: Let memset return the address argument This makes memset follow the standard (instead of returning 0 on success). This is needed when certain versions of gcc optimizes around memset calls and assume that the address argument is preserved in %o0. Signed-off-by: Andreas Larsson <andreas@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 32bc6d1a35f8897fbcdc260addc1b1ad63b8db15 Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Tue Sep 9 16:37:11 2014 -0700 ath5k: Add missing vmalloc.h include. After merging the wireless-next tree, today's linux-next build (powerpc allyesconfig) failed like this: drivers/net/wireless/ath/ath5k/debug.c: In function 'open_file_eeprom': drivers/net/wireless/ath/ath5k/debug.c:933:2: error: implicit declaration of function 'vmalloc' [-Werror=implicit-function-declaration] buf = vmalloc(eesize); ^ drivers/net/wireless/ath/ath5k/debug.c:933:6: warning: assignment makes pointer from integer without a cast buf = vmalloc(eesize); ^ drivers/net/wireless/ath/ath5k/debug.c:960:2: error: implicit declaration of function 'vfree' [-Werror=implicit-function-declaration] vfree(buf); ^ Caused by commit db906eb2101b ("ath5k: added debugfs file for dumping eeprom"). Also reported by Guenter Roeck. I have used Geert Uytterhoeven's suggested fix of including vmalloc.h and so added this patch for today: From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon, 8 Sep 2014 18:39:23 +1000 Subject: [PATCH] ath5k: fix debugfs addition Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> Suggested-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7d6e223f5999df8d9ceb545459b5f726d86ce6a Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Wed Aug 13 18:40:25 2014 +0300 powerpc/fsl-booke64: add missing virtualization options in defconfig The 32-bit defconfig version has these enabled for years so make the 64-bit defconfig have them too. This patch only adds CONFIG_VIRT_DRIVERS, CONFIG_FSL_HV_MANAGER and CONFIG_PPC_EPAPR_HV_BYTECHAN other changes being "make savedefconfig" artifacts. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 667680f6841bb5cc239382fea916bf4ab6803842 Author: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Date: Fri Sep 5 16:15:00 2014 +0530 powerpc/fsl-booke: Add initial T1042RDB_PI board support T1042RDB_PI is Freescale Reference Design Board supporting the T1042 QorIQ Power Architectureâ?¢ processor. T1042 is a reduced personality of T1040 SoC without Integrated 8-port Gigabit. The board is designed with low power features targeted for Printing Image Market. T1042RDB_PI is similar to T1040RDB board with few differences like it has video interface, supports T1042 personality only T1042RDB_PI board Overview ----------------------- - SERDES Connections, 8 lanes supporting: - PCI - SATA 2.0 - DDR Controller - Supports rates of up to 1600 MHz data-rate - Supports one DDR3LP UDIMM -IFC/Local Bus - NAND flash: 1GB 8-bit NAND flash - NOR: 128MB 16-bit NOR Flash - Ethernet - Two on-board RGMII 10/100/1G ethernet ports. - PHY #0 remains powered up during deep-sleep - CPLD - Clocks - System and DDR clock (SYSCLK, â??DDRCLKâ??) - SERDES clocks - Power Supplies - USB - Supports two USB 2.0 ports with integrated PHYs - Two type A ports with 5V@xxxx per port. - SDHC - SDHC/SDXC connector - SPI - On-board 64MB SPI flash - I2C - Device connected: EEPROM, thermal monitor, VID controller, RTC - Other IO - Two Serial ports - ProfiBus port Add support for T1042RDB_PI board: -add device tree -Add entry in corenet_generic.c, as it is similar to other corenet platforms Signed-off-by: Poonam Aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Signed-off-by: Prabhakar Kushwaha <prabhakar@xxxxxxxxxxxxx> Signed-off-by: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 0babcd1c1489ae31bf0cea34fad24b3f047ad79c Author: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Date: Fri Sep 5 16:14:40 2014 +0530 powerpc/fsl-booke: Add initial T1040/T1042 RDB board support T1040/T1042RDB is Freescale Reference Design Board. The board can support both T1040/T1042 QorIQ Power Architectureâ?¢ processor. T1040/T1042RDB board Overview ----------------------- - SERDES Connections, 8 lanes supporting: - PCI - SGMII - QSGMII - SATA 2.0 - DDR Controller - Supports rates of up to 1600 MHz data-rate - Supports one DDR3LP UDIMM -IFC/Local Bus - NAND flash: 1GB 8-bit NAND flash - NOR: 128MB 16-bit NOR Flash - Ethernet - Two on-board RGMII 10/100/1G ethernet ports. - PHY #0 remains powered up during deep-sleep - CPLD - Clocks - System and DDR clock (SYSCLK, â??DDRCLKâ??) - SERDES clocks - Power Supplies - USB - Supports two USB 2.0 ports with integrated PHYs - Two type A ports with 5V@xxxx per port. - SDHC - SDHC/SDXC connector - SPI - On-board 64MB SPI flash - I2C - Devices connected: EEPROM, thermal monitor, VID controller - Other IO - Two Serial ports - ProfiBus port Add support for T1040/T1042 RDB board: -add device tree -add entry in Kconfig to build -Add entry in corenet_generic.c, as it is similar to other corenet platforms Signed-off-by: Priyanka Jain <Priyanka.Jain@xxxxxxxxxxxxx> Signed-off-by: Poonam Aggrwal <poonam.aggrwal@xxxxxxxxxxxxx> Signed-off-by: Prabhakar Kushwaha <prabhakar@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 87354059881ce9315181604dc17076c535f4d744 Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Jul 22 20:41:42 2014 -0400 ftrace: Add helper function ftrace_ops_get_func() Add the helper function to what the mcount trampoline is to call for a ftrace_ops function. This helper will be used by arch code in the future to set up dynamic trampolines. But as this does the same tests that are performed in choosing what function to call for the default mcount trampoline, might as well use it to clean up the existing code. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 408316258521168614bfb4da0e070490d3e65a17 Author: Allen Pais <allen.pais@xxxxxxxxxx> Date: Mon Sep 8 11:48:55 2014 +0530 sparc64: cpu hardware caps support for sparc M6 and M7 Signed-off-by: Allen Pais <allen.pais@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9bd3ee33f6b97de092610d8dcabc4cb98d99505c Author: Allen Pais <allen.pais@xxxxxxxxxx> Date: Mon Sep 8 11:48:54 2014 +0530 sparc64: support M6 and M7 for building CPU distribution map Add M6 and M7 chip type in cpumap.c to correctly build CPU distribution map that spans all online CPUs. Signed-off-by: Allen Pais <allen.pais@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cadbb58039f7cab1def9c931012ab04c953a6997 Author: Allen Pais <allen.pais@xxxxxxxxxx> Date: Mon Sep 8 11:48:53 2014 +0530 sparc64: correctly recognise M6 and M7 cpu type The following patch adds support for correctly recognising M6 and M7 cpu type. Signed-off-by: Allen Pais <allen.pais@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2542d2a867c22540c8ad64883288eabb891568d Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Sep 7 16:22:01 2014 +0100 regulator: tps65217: Remove unused driver_data from of_match table We don't ever reference the driver_data we supply so remove it. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0b4c5afde9b57c08b55d26725d228d5314cfc57a Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Mon Sep 8 10:59:43 2014 -0700 f2fs: fix negative value for lseek offset If application throws negative value of lseek with SEEK_DATA|SEEK_HOLE, previous f2fs went into BUG_ON in get_dnode_of_data, which was reported by Tommi Rantala. He could make a simple code to detect this having: lseek(fd, -17595150933902LL, SEEK_DATA); This patch should resolve that bug. Reported-by: Tommi Rentala <tt.rantala@xxxxxxxxx> [Jaegeuk Kim: relocate the condition as suggested by Chao] Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f5281fc81e9a0a3e80b78720c5ae2ed06da3bfae Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 9 11:31:40 2014 -0300 [media] vpif: Fix compilation with allmodconfig When vpif is compiled as module, those errors happen: ERROR: "vpif_lock" [drivers/media/platform/davinci/vpif_display.ko] undefined! ERROR: "vpif_lock" [drivers/media/platform/davinci/vpif_capture.ko] undefined! That's because vpif_lock symbol is not exported. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8087c35fc48c9545ee1f07bd812217b286cf13bb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 9 11:21:30 2014 -0300 [media] s5p-jpeg: Fix compilation with COMPILE_TEST ERROR: "__bad_ndelay" [drivers/media/platform/s5p-jpeg/s5p-jpeg.ko] undefined! That happens because asm-generic doesn't like any ndelay time bigger than 20us. Currently, usleep_range() couldn't simply be used, since exynos4_jpeg_sw_reset() is called with a spinlock held. So, let's use udelay() instead. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4228cd5682f07b6cf5dfd3eb5e003766f5640ee2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 9 14:55:15 2014 -0300 [media] disable COMPILE_TEST for omap1_camera This driver depends on a legacy OMAP DMA API. So, it won't compile-test on other archs. While we might add stubs to the functions, this is not a good idea, as the hole API should be replaced. So, for now, let's just remove COMPILE_TEST and wait for some time for people to fix. If not fixed, then we'll end by removing this driver as a hole. Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f82a1d1586a2bd553431cf09d469ece17d1e61e7 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:33:04 2014 +0200 clk: max77802: Add DT binding documentation Add Device Tree binding documentation for the clocks outputs in the Maxim 77802 Power Management IC. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 83ccf16cb9247b6b657637c31e4c2035fe64ae64 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:33:03 2014 +0200 clk: Add driver for Maxim 77802 PMIC clocks The MAX77802 PMIC has two 32.768kHz Buffered Clock Outputs with Low Jitter Mode. This patch adds support for these two clocks. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit fcd0864cdba2a93f5c51fdf06935151663f0954a Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:33:02 2014 +0200 clk: max77686: Improve Maxim 77686 PMIC clocks binding Like most clock drivers, the Maxim 77686 PMIC clock binding follows the convention that the "#clock-cells" property is used to specify the number of cells in a clock provider. But the binding document is not clear enough that it shall be set to 1 since the PMIC support multiple clocks outputs. Also, explain that the clocks identifiers are defined in a header file that can be included by Device Tree source with client nodes to avoid using magic numbers. Finally, add "clock-output-names" as an optional property since now is supported by the clock driver. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 1887d69308f94eec12d581b4dbab67c28274039d Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:33:01 2014 +0200 clk: max77686: Convert to the generic max clock driver Clocks drivers for Maxim PMIC are very similar so they can be converted to use the generic Maxim clock driver. Also, while being there use module_platform_driver() helper macro to eliminate more boilerplate code. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 5dbbb00f712edff8454f9741db61f9e0a4fec919 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:33:00 2014 +0200 clk: Add generic driver for Maxim PMIC clocks Maxim Integrated Power Management ICs are very similar with regard to their clock outputs. Most of the clock drivers for these chips are duplicating code and are simpler enough that can be converted to use a generic driver to consolidate code and avoid duplication. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit a8a76f563cfa1a4e47b6d8b2bef9c0d44a3fd7b0 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:32:59 2014 +0200 clk: max77686: Add DT include for MAX77686 PMIC clock This patch adds a dt-binding include for Maxim 77686 PMIC clock IDs that can be used by both the max77686 clock driver and Device Tree source files. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Reviewed-by: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 9a01b56b1a79e210e9d2d67c9b18906d31d536c4 Author: Huang Ying <ying.huang@xxxxxxxxx> Date: Sun Sep 7 11:05:20 2014 +0800 f2fs: avoid node page to be written twice in gc_node_segment In gc_node_segment, if node page gc is run concurrently with node page writeback, and check_valid_map and get_node_page run after page locked and before cur_valid_map is updated as below, it is possible for the page to be written twice unnecessarily. sync_node_pages try_lock_page ... check_valid_map f2fs_write_node_page ... write_node_page do_write_page allocate_data_block ... refresh_sit_entry /* update cur_valid_map */ ... ... unlock_page get_node_page ... set_page_dirty ... f2fs_put_page unlock_page This can be solved via calling check_valid_map after get_node_page again. Signed-off-by: Huang, Ying <ying.huang@xxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 721bd4d5c3f957f98157b6dcac9c4a4dd828e3ff Author: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Date: Fri Sep 5 18:31:00 2014 +0800 f2fs: use lock-less list(llist) to simplify the flush cmd management We use flush cmd control to collect many flush cmds, and flush them together. In this case, we use two list to manage the flush cmds (collect and dispatch), and one spin lock is used to protect this. In fact, the lock-less list(llist) is very suitable to this case, and we use simplify this routine. - v2: -use llist_for_each_entry_safe to fix possible use-after-free issue. -remove the unused field from struct flush_cmd. Thanks for Yu's suggestion. - Signed-off-by: Gu Zheng <guz.fnst@xxxxxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 184a5cd2ce281f1207d72adb9ae18e416ca371db Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Sep 4 18:13:01 2014 +0800 f2fs: refactor flush_sit_entries codes for reducing SIT writes In commit aec71382c681 ("f2fs: refactor flush_nat_entries codes for reducing NAT writes"), we descripte the issue as below: "Although building NAT journal in cursum reduce the read/write work for NAT block, but previous design leave us lower performance when write checkpoint frequently for these cases: 1. if journal in cursum has already full, it's a bit of waste that we flush all nat entries to page for persistence, but not to cache any entries. 2. if journal in cursum is not full, we fill nat entries to journal util journal is full, then flush the left dirty entries to disk without merge journaled entries, so these journaled entries may be flushed to disk at next checkpoint but lost chance to flushed last time." Actually, we have the same problem in using SIT journal area. In this patch, firstly we will update sit journal with dirty entries as many as possible. Secondly if there is no space in sit journal, we will remove all entries in journal and walk through the whole dirty entry bitmap of sit, accounting dirty sit entries located in same SIT block to sit entry set. All entry sets are linked to list sit_entry_set in sm_info, sorted ascending order by count of entries in set. Later we flush entries in set which have fewest entries into journal as many as we can, and then flush dense set with merged entries to disk. In this way we can use sit journal area more effectively, also we will reduce SIT update, result in gaining in performance and saving lifetime of flash device. In my testing environment, it shows this patch can help to reduce SIT block update obviously. virtual machine + hard disk: fsstress -p 20 -n 400 -l 5 sit page num cp count sit pages/cp based 2006.50 1349.75 1.486 patched 1566.25 1463.25 1.070 Our latency of merging op is small when handling a great number of dirty SIT entries in flush_sit_entries: latency(ns) dirty sit count 36038 2151 49168 2123 37174 2232 Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit d3a14afd5ed1970519a2d6ed59f4062ec3ba821f Author: Chao Yu <chao2.yu@xxxxxxxxxxx> Date: Thu Sep 4 18:11:47 2014 +0800 f2fs: remove unneeded sit_i in macro SIT_BLOCK_OFFSET/START_SEGNO sit_i in macro SIT_BLOCK_OFFSET/START_SEGNO is not used, remove it. Signed-off-by: Chao Yu <chao2.yu@xxxxxxxxxxx> Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit b0c44f05a2b719f3ecfa4673c04d80a17bb23e92 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 17:19:04 2014 -0700 f2fs: need fsck.f2fs if the recovery was failed If the roll-forward recovery was failed, we'd better conduct fsck.f2fs. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit ec325b5270cd3ba01bce299d1ede1616f31813ea Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 16:24:11 2014 -0700 f2fs: handle bug cases by letting fsck.f2fs initiate This patch adds to handle corner buggy cases for fsck.f2fs. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 05796763b8d19b48bb4149bfb1aa1a91dd9faee6 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 16:05:00 2014 -0700 f2fs: add BUG cases to initiate fsck.f2fs This patch replaces BUG cases with f2fs_bug_on to remain fsck.f2fs information. And it implements some void functions to initiate fsck.f2fs too. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 9850cf4a8908886370b1f15aacf83d291f098c72 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 15:52:58 2014 -0700 f2fs: need fsck.f2fs when f2fs_bug_on is triggered If any f2fs_bug_on is triggered, fsck.f2fs is needed. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 2ae4c673e3cbd69bc2decf6d7f5961f3c7b9b38b Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 15:43:52 2014 -0700 f2fs: retain inconsistency information to initiate fsck.f2fs This patch adds sbi->need_fsck to conduct fsck.f2fs later. This flag can only be removed by fsck.f2fs. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit f0b99ca041258ed0eb27dc724de22d84dab78a7c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:45 2014 +0200 ASoC: da732x: Cleanup manual bias level transitions Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ee6b42ee21b16aa322758fdab0d57082761b09fd Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:44 2014 +0200 ASoC: da732x: Remove unused codec field form da732x_priv struct The field is initialized in the probe callback, but never used again. So it can be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f66a91ff8e83e95c822691270d883cbcb3244302 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:43 2014 +0200 ASoC: da732x: Remove unnecessary idle_bias_off initialization idle_bias_off is false by default, no need to set it explicitly. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 02bf34f4b8793a23dd0dbc4fda09d611a70ca0c9 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:42 2014 +0200 ASoC: cs42l73: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a4bc751fcc50c15bd4782cfc2ea513bef92a20f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:41 2014 +0200 ASoC: cs42l56: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 417c60e8f248a84e8e768c55d191689d1e27e05f Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 9 20:42:40 2014 +0200 ASoC: cs42l52: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit de3ac8106815f0129947c78de5b7666ff8748096 Merge: e649057 a4f87ce Author: Mark Brown <broonie@xxxxxxxxxx> Date: Tue Sep 9 21:08:02 2014 +0100 Merge branch 'topic/cs42l56' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-suspend commit e0b93eddfe17dcb7d644eb5d6ad02a86fc41a977 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 11:27:32 2014 -0400 security: make security_file_set_fowner, f_setown and __f_setown void return security_file_set_fowner always returns 0, so make it f_setown and __f_setown void return functions and fix up the error handling in the callers. Cc: linux-security-module@xxxxxxxxxxxxxxx Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 1c994a0909a556508c2cc26ab5d9e13c5ce33aa0 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Wed Aug 27 06:49:41 2014 -0400 locks: consolidate "nolease" routines GFS2 and NFS have setlease routines that always just return -EINVAL. Turn that into a generic routine that can live in fs/libfs.c. Cc: <linux-nfs@xxxxxxxxxxxxxxx> Cc: Steven Whitehouse <swhiteho@xxxxxxxxxx> Cc: <cluster-devel@xxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Acked-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 699688a416524c3cea9eafaca69fc6c06c13c02e Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:18:44 2014 -0400 locks: remove lock_may_read and lock_may_write There are no callers of these functions. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 09802fd2a8caea2a2147fca8d7975697c5de573d Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Fri Aug 22 10:18:44 2014 -0400 lockd: rip out deferred lock handling from testlock codepath As Kinglong points out, the nlm_block->b_fl field is no longer used at all. Also, vfs_test_lock in the generic locking code will only return FILE_LOCK_DEFERRED if FL_SLEEP is set, and it isn't here. The only other place that returns that value is the DLM lock code, but it only does that in dlm_posix_lock, never in dlm_posix_get. Remove all of the deferred locking code from the testlock codepath since it doesn't appear to ever be used anyway. I do have a small concern that this might cause a behavior change in the case where you have a block already sitting on the list when the testlock request comes in, but that looks like it doesn't really work properly anyway. I think it's best to just pass that down to vfs_test_lock and let the filesystem report that instead of trying to infer what's going on with the lock by looking at an existing block. Cc: cluster-devel@xxxxxxxxxx Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Kinglong Mee <kinglongmee@xxxxxxxxx> commit aef9583b234a4ecdbcaf2c3024f29d4244b18e83 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 22 10:18:44 2014 -0400 NFSD: Get reference of lockowner when coping file_lock v5: using nfs4_get_stateowner() instead of an inline function v3: Update based on Jeff's comments v2: Fix bad using of struct file_lock_operations for handle the owner Acked-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit b5971afa0b33361667bc88f3e0eb3fc31f778dc6 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 22 10:18:43 2014 -0400 NFSD: New helper nfs4_get_stateowner() for atomic_inc sop reference v5: same as the first version Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit f328296e27414394f25cebaef4a111a82ce0df32 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 22 10:18:43 2014 -0400 locks: Copy fl_lmops information for conflock in locks_copy_conflock() Commit d5b9026a67 ([PATCH] knfsd: locks: flag NFSv4-owned locks) using fl_lmops field in file_lock for checking nfsd4 lockowner. But, commit 1a747ee0cc (locks: don't call ->copy_lock methods on return of conflicting locks) causes the fl_lmops of conflock always be NULL. Also, commit 0996905f93 (lockd: posix_test_lock() should not call locks_copy_lock()) caused the fl_lmops of conflock always be NULL too. Make sure copy the private information by fl_copy_lock() in struct file_lock_operations, merge __locks_copy_lock() to fl_copy_lock(). Jeff advice, "Set fl_lmops on conflocks, but don't set fl_ops. fl_ops are superfluous, since they are callbacks into the filesystem. There should be no need to bother the filesystem at all with info in a conflock. But, lock _ownership_ matters for conflocks and that's indicated by the fl_lmops. So you really do want to copy the fl_lmops for conflocks I think." v5: add missing calling of locks_release_private() in nlmsvc_testlock() v4: only copy fl_lmops for conflock, don't copy fl_ops Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 5c97d7b1479982a48cf2129062b880c2555049ac Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 22 10:18:43 2014 -0400 locks: New ops in lock_manager_operations for get/put owner NFSD or other lockmanager may increase the owner's reference, so adds two new options for copying and releasing owner. v5: change order from 2/6 to 3/6 v4: rename lm_copy_owner/lm_release_owner to lm_get_owner/lm_put_owner Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit 3fe0fff18fe87c6a2179837de68d1174903c6367 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 22 10:18:42 2014 -0400 locks: Rename __locks_copy_lock() to locks_copy_conflock() Jeff advice, " Right now __locks_copy_lock is only used to copy conflocks. It would be good to rename that to something more distinct (i.e.locks_copy_conflock), to make it clear that we're generating a conflock there." v5: change order from 3/6 to 2/6 v4: new patch only renaming function name Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit d0449b90f80f263e17e8b3ce31442e45121dc46c Author: Joe Perches <joe@xxxxxxxxxxx> Date: Fri Aug 22 10:18:42 2014 -0400 locks: Remove unused conf argument from lm_grant This argument is always NULL so don't pass it around. [jlayton: remove dependencies on previous patches in series] Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> commit f39b913cee67e401ad697578baca0ba34830209b Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Tue Sep 9 16:00:51 2014 -0400 locks: pass correct "before" pointer to locks_unlink_lock in generic_add_lease The argument to locks_unlink_lock can't be just any pointer to a pointer. It must be a pointer to the fl_next field in the previous lock in the list. Cc: <stable@xxxxxxxxxxxxxxx> # v3.15+ Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> commit 1716bcf3f76fe71e98d4851a3eb73ea3d93d4773 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Mon Sep 8 22:53:36 2014 +0200 bcma: add support for chipcommon B core This core is used on BCM4708 to configure the PCIe and USB3 PHYs and it contains the addresses to the Device Management unit. This will be used by the PCIe driver first. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 23a2f39c8f4035eade7f226eb7ada30c78d9eee3 Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Mon Sep 8 22:53:35 2014 +0200 bcma: store more alternative addresses Each core could have more than one alternative address. There are cores with 8 alternative addresses for different functions. The PHY control in the Chip common B core is done through the 2. alternative address and not the first one. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> CC: linux-usb@xxxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 367b341edbebc405d80fecd28ff973dfb7390d65 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:50:57 2014 +0530 ath9k: Fix MCC scanning Scanning is curently broken when two channel contexts are active. For example in a P2P-GO/STA setup, the offchannel timer allows HZ / 10 to elapse before initiating a switch to the next scan channel from the current operating channel, which in this case would be the P2P-GO context. But, the channel context timer might decide to switch to the STA context when an SWBA comes early and a beacon is sent out. Since pending offchannel requests are processed in EVENT_BEACON_PREPARE, this causes inconsistent scanning. Fix this by making sure that a context switch happens before processing the pending offchannel request. This also makes sure that active channel contexts will always have higher priority than offchannel operations and the scan sequence looks like this: p2p-go, sta, p2p-go, offchannel, p2p-go, sta, p2p-go, offchannel,..... The oper-channel is p2p-go, so the STA context has to switch to p2p-go again before switching offchannel. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit da0162f3f0012465cc6d77c4d416fabb182713ad Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:50:56 2014 +0530 ath9k: Fix offchannel operation When multiple channel contexts are active, an offchannel request will not be handled immediately, but will be queued to be handled later. But, currently, the channel definition is not copied to the local offchannel state. This breaks operation like scanning when MCC is active. Fix this by storing the offchannel parameters properly. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a402764452672dfe119e68edf7a21f1739b71f76 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:50:55 2014 +0530 ath9k: Use a subroutine to assign HW queues Reduces code duplication. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ca529c9373bbcabf55a12e4225d625ee26fc8abb Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:19 2014 +0530 ath9k: Fix interface accounting Currently, the interface count is maintained globally, but this causes problems in RX filter calculation. Make the interface count a per-channel-context variable to fix this. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fce344309944c61d748eeef530b49764f90b05bb Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:18 2014 +0530 ath9k: Fix RX filters in channel contexts Maintain the RX filter on a per-channel-context basis and not globally. Not doing so was resulting in incorrect filter calculation. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 3d1132d008e635c770d625f3908f201892634afe Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:17 2014 +0530 ath9k: Fix COMP_BAR filter ATH9K_RX_FILTER_COMP_BAR is used to receive BAR completion frames and is set if the current channel is HT. When channel contexts are enabled, instead of using the mac80211 helpers, check if the current channel definition is HT. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 19ec477f168fb514b961de5ffdb02742153728e6 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:16 2014 +0530 ath9k: Fix ath_startrecv() Since ath_startrecv() doesn't return an error value, cleanup the callsites. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9019f646b2da436da557e58c3fe3a2dfda440a55 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:15 2014 +0530 ath9k: Fix RX filter calculation If multiple channel contexts are active, then the opmode can be different in each context. Since the RX filter is calculated in ath_startrecv() before switching to the new opmode, the wrong filters are chosen. Fix this by calling ath9k_calculate_summary_state() before the RX module is started. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fdcf1bd44f5c8892255aefffa681426049670319 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:14 2014 +0530 ath9k: Add CTWindow support Since CTWindow can be used for improving discoverability, fill this field in the NoA Attribute properly. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bb628eb9f0bda030c2cc9e417f52c9a344fc65fc Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:13 2014 +0530 ath9k: Fix offchannel duration calculation Currently, different units are used for handling sc->offchannel.duration. In scan mode, it contains jiffies and in RoC mode, milliseconds is used. This causes confusion since in ath_chanctx_switch(), TU_TO_USEC is used to determine the offchannel duration, resulting in incorrect values. Fix this by using jiffies in both modes. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bd81533dbd79344232299b4669e9e3f596e618c5 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:12 2014 +0530 ath9k: Fix NoA start time calculation The start time field in the NoA attribute needs to be updated based on the TSF timer when an absence notification is sent by the P2P GO. When two channel contexts are active, continuous, cyclic NoA is announced by setting the count value to 255, but the start time is updated only once, for one beacon and the same value is sent in all subsequent beacons, even though the timestamp keeps moving. Fix this by removing the check for 'periodic_noa_duration' and assign the interface's start_time/duration values directly when there is more than one active context. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9bf30ff93dae035bb60ea2f3812e44ac79b31478 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:11 2014 +0530 ath9k: Fix panic when adding an AP interface If a station interface is already assigned to a context and is active and a second interface of type AP is added, then beaconing on the new interface has to be begin only after the BSS_CHANGED_BEACON_ENABLED flag is sent by mac80211 to the driver. But, since we issue ATH_CHANCTX_EVENT_ENABLE_MULTICHANNEL as soon as a new channel context is added, a switch occurs almost immediately before BSS_CHANGED_BEACON_ENABLED is received. When a HW reset is done for the new context, beacons are enabled for the interface since "enable_beacon" in the BSS config maintained in mac80211 is true - but the driver hasn't been notified yet. This causes a panic, since the beacon interval is zero for this interface and ath9k_cmn_beacon_config_ap() doesn't have a safety check. Fix this panic by checking if the beacon params has been cached for this context and use the "enable_beacon" flag maintained locally in the driver. Also, recalculate the summary data after the beacon params have been cached when BSS_CHANGED_BEACON_ENABLED is received. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 602607b6e7413e4f5b194bf28deb7195b0395486 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:10 2014 +0530 ath9k: Fix beacons for managed mode If the current opmode is managed, the ATH_OP_BEACONS flag needs to be set only when there is a primary station interface and it is associated/active. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 12a1b3d4c3067323c5140b405f9290cd7f1d1dac Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Sep 5 08:03:09 2014 +0530 ath9k: Fix beacon configuration for channel contexts In channel context mode, when a new context is added, mac80211 issues a bss_info_changed() notfication when preparing the connection for the new interface/context. But, this is done prior to the mgd_prepare_tx() call which is where we switch to the new context. Since the current context will be different when the earlier bss_info_changed() is handled, the beacon information for the VIF is not updated, but discarded since the rules for the current context disallows it. In the subsequent association process for the new context/vif, this becomes a problem because the beacon parameters are invalid. This causes problems with the TSF timer, causing large jumps. To fix this, check if the beacon info is being updated for a different context and if so, allow it without any checks since we limit the max. interfaces to two anyway. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 37a7f8762d84327f8e7a8b7d7557c8415b42fc13 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Sep 5 00:18:49 2014 +0200 bcma: register NAND and QSPI cores early On Northstar (ARM arch) we will use MTD subsystem to access NVRAM and SPROM. To get access to flash device we need to register these cores first. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6e094bd805a9b6ad2f5421125db8f604a166616c Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Fri Sep 5 00:18:48 2014 +0200 bcma: move code for core registration into separate function This cleans code a bit and will us to register cores in other places as well. The only difference with this patch is using "core_index" for setting device name. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ed364abffd6e19bec67b7ccda8237213b8b37640 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:46 2014 -0500 rtlwifi: btcoexist: Update remaining old parts of the driver This patch makes halbtcoutsrc.{c,h} work with the new pieces of the driver. Also included are some modifications to various header files. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c96fd200e9af8ad4c4891ef579044a75c659d8c7 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:45 2014 -0500 rtlwifi: btcoexist: Add second part of BT coexistence routines for rtl8821ae This code comes from the V062414 version of the drivers from Realtek. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2ec7f01c35727574953dbd884d7d45da940a25ee Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:44 2014 -0500 rtlwifi: btcoexist: Add BT coexistence routines for driver rtl8821ae This patch adds the code needed for the new rtl8821ae driver. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f5b5869095819970333dc9de54eed5c552407d35 Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:43 2014 -0500 rtlwifi: btcoexist: Modify driver to support BT coexistence in rtl8723be This patch adds the routines found in the V062814 Realtek version. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2187e9a2ce575ee85a1ce31fa2ecbc0f580c105f Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:42 2014 -0500 rtlwifi: btcoexist: Modify driver for V062814 Realtek driver This patch adds the routines needed to support BT coexistence with the new rtl8192ee driver. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e8f3fef412d4ffd8cb1bd5cd7a6e5572e21bf80a Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:41 2014 -0500 rtlwifi: btcoexist: Modify rtl_btc for changes in latest Realtek code Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e79fff28587c9437282c863722d1fa186143f62a Author: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Date: Thu Sep 4 16:03:40 2014 -0500 rtlwifi: btcoexist: Modify btcoexist for changes in the V062814 Realtek version This patch is the first of a set to bring this driver up to the latest Realtek code. Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Cc: troy_tan@xxxxxxxxxxxxxx Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a395135ddebb0a06052b84c309eb6cb68b79c797 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 1 23:11:07 2014 +0200 bcma: use separated function to initialize bus on SoC This is required to split SoC bus init into two phases. The later one (which includes scanning) should be called when kalloc is available. Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dc8ecdd3a3fccf73fcb07711cde064ce5727f9d1 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Mon Sep 1 23:11:06 2014 +0200 bcma: move bus struct setup into early part of host specific code This change is important for SoC host. In future we will want to know chip ID (needed for early MIPS boot) before doing cores scanning. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8eaf503480e4b45c2cb5d555388ab209ae305dd3 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 16:02:09 2014 -0700 clk: zynq: Move const initdata into correct code section Use __initconst instead of __initdata for constant init data. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 034cc6ebae0a811abb0de6f1a7b58e9a6a8c95c7 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 16:02:08 2014 -0700 clk: zynq: Remove pointless return at end of void function Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 88cebf5e09775b6ef024685729d41c3dd03a711d Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Tue Sep 2 16:02:07 2014 -0700 clk: zynq: Remove unnecessary OOM message As checkpatch suggests: WARNING: Possible unnecessary 'out of memory' message, remove an error message after failing kmalloc() from the PLL driver. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit c9104b04fe708ec4ac7452eef7ccdedfd22eff25 Author: Varka Bhadram <varkabhadram@xxxxxxxxx> Date: Mon Sep 8 09:28:19 2014 +0530 ethernet: ti: remove unwanted THIS_MODULE macro It removes the owner field updation of driver structure. It will be automatically updated by module_platform_driver() Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e403aded79a1bfb610adc53490ded8d2058f9daf Author: Li RongQing <roy.qing.li@xxxxxxxxx> Date: Sat Sep 6 19:06:11 2014 +0800 openvswitch: change the data type of error status to atomic_long_t Change the date type of error status from u64 to atomic_long_t, and use atomic operation, then remove the lock which is used to protect the error status. The operation of atomic maybe faster than spin lock. Cc: Pravin Shelar <pshelar@xxxxxxxxxx> Signed-off-by: Li RongQing <roy.qing.li@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5aaa62d608464bedb30afc62e5073629de505afb Author: Rami Rosen <ramirose@xxxxxxxxx> Date: Sat Sep 6 13:08:08 2014 +0300 bridge: Cleanup of unncessary check. This patch removes an unncessary check in the br_afspec() method of br_netlink.c. Signed-off-by: Rami Rosen <ramirose@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b86f7f319330cf2c8ce13f36fa3b13828011daa Merge: 49a6015 1332351 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 9 11:30:05 2014 -0700 Merge branch 'bridge_rtnl_link' Jiri Pirko says: ==================== bridge: implement rtnl_link options for getting and setting bridge options So far, only sysfs is complete interface for getting and setting bridge options. This patchset follows-up on the similar bonding code and allows userspace to get/set bridge master/port options using Netlink IFLA_INFO_DATA/IFLA_INFO_SLAVE_DATA attr. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13323516172178ff8184855ee4bc66d46fd89619 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 15:51:32 2014 +0200 bridge: implement rtnl_link_ops->changelink Allow rtnetlink users to set bridge master info via IFLA_INFO_DATA attr This initial part implements forward_delay, hello_time, max_age options. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e5c3ea5c668033b303e7ac835d7d91da32d97958 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 15:51:31 2014 +0200 bridge: implement rtnl_link_ops->get_size and rtnl_link_ops->fill_info Allow rtnetlink users to get bridge master info in IFLA_INFO_DATA attr This initial part implements forward_delay, hello_time, max_age options. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ac636b8591c37bb5028814a4ebd41d263b56181 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 15:51:30 2014 +0200 bridge: implement rtnl_link_ops->slave_changelink Allow rtnetlink users to set port info via IFLA_INFO_SLAVE_DATA attr Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ced8283f90b88bbf7ec9a6b869586b611167394e Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 15:51:29 2014 +0200 bridge: implement rtnl_link_ops->get_slave_size and rtnl_link_ops->fill_slave_info Allow rtnetlink users to get port info in IFLA_INFO_SLAVE_DATA attr Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0f49579a39533bf839b2af807b094fc652f9e49b Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 15:51:28 2014 +0200 bridge: switch order of rx_handler reg and upper dev link The thing is that netdev_master_upper_dev_link calls call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev). That generates rtnl link message and during that, rtnl_link_ops->fill_slave_info is called. But with current ordering, rx_handler and IFF_BRIDGE_PORT are not set yet so there would have to be check for that in fill_slave_info callback. Resolve this by reordering to similar what bonding and team does to avoid the check. Also add removal of IFF_BRIDGE_PORT flag into error path. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 49a601589caaf0e93194c0cc9b4ecddbe75dd2d5 Author: Vincent Bernat <vincent@xxxxxxxxx> Date: Fri Sep 5 15:09:03 2014 +0200 net/ipv4: bind ip_nonlocal_bind to current netns net.ipv4.ip_nonlocal_bind sysctl was global to all network namespaces. This patch allows to set a different value for each network namespace. Signed-off-by: Vincent Bernat <vincent@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afddacc3ccd048c49c7f4f0ad0b6a40730c74715 Merge: 5b4c314 daedfb2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 9 10:27:22 2014 -0700 Merge branch 'ebpf' Alexei Starovoitov says: ==================== load imm64 insn and uapi/linux/bpf.h V9->V10 - no changes, added Daniel's ack Note they're on top of Hannes's patch in the same area [1] V8 thread with 'why' reasoning and end goal [2] Original set [3] of ~28 patches I'm planning to present in 4 stages: I. this 2 patches to fork off llvm upstreaming II. bpf syscall with manpage and map implementation III. bpf program load/unload with verifier testsuite (1st user of instruction macros from bpf.h and 1st user of load imm64 insn) IV. tracing, etc [1] http://patchwork.ozlabs.org/patch/385266/ [2] https://lkml.org/lkml/2014/8/27/628 [3] https://lkml.org/lkml/2014/8/26/859 ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit daedfb22451dd02b35c0549566cbb7cc06bdd53b Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Sep 4 22:17:18 2014 -0700 net: filter: split filter.h and expose eBPF to user space allow user space to generate eBPF programs uapi/linux/bpf.h: eBPF instruction set definition linux/filter.h: the rest This patch only moves macro definitions, but practically it freezes existing eBPF instruction set, though new instructions can still be added in the future. These eBPF definitions cannot go into uapi/linux/filter.h, since the names may conflict with existing applications. Full eBPF ISA description is in Documentation/networking/filter.txt Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02ab695bb37ee9ad515df0d0790d5977505dd04a Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Thu Sep 4 22:17:17 2014 -0700 net: filter: add "load 64-bit immediate" eBPF instruction add BPF_LD_IMM64 instruction to load 64-bit immediate value into a register. All previous instructions were 8-byte. This is first 16-byte instruction. Two consecutive 'struct bpf_insn' blocks are interpreted as single instruction: insn[0].code = BPF_LD | BPF_DW | BPF_IMM insn[0].dst_reg = destination register insn[0].imm = lower 32-bit insn[1].code = 0 insn[1].imm = upper 32-bit All unused fields must be zero. Classic BPF has similar instruction: BPF_LD | BPF_W | BPF_IMM which loads 32-bit immediate value into a register. x64 JITs it as single 'movabsq %rax, imm64' arm64 may JIT as sequence of four 'movk x0, #imm16, lsl #shift' insn Note that old eBPF programs are binary compatible with new interpreter. It helps eBPF programs load 64-bit constant into a register with one instruction instead of using two registers and 4 instructions: BPF_MOV32_IMM(R1, imm32) BPF_ALU64_IMM(BPF_LSH, R1, 32) BPF_MOV32_IMM(R2, imm32) BPF_ALU64_REG(BPF_OR, R1, R2) User space generated programs will use this instruction to load constants only. To tell kernel that user space needs a pointer the _pseudo_ variant of this instruction may be added later, which will use extra bits of encoding to indicate what type of pointer user space is asking kernel to provide. For example 'off' or 'src_reg' fields can be used for such purpose. src_reg = 1 could mean that user space is asking kernel to validate and load in-kernel map pointer. src_reg = 2 could mean that user space needs readonly data section pointer src_reg = 3 could mean that user space needs a pointer to per-cpu local data All such future pseudo instructions will not be carrying the actual pointer as part of the instruction, but rather will be treated as a request to kernel to provide one. The kernel will verify the request_for_a_pointer, then will drop _pseudo_ marking and will store actual internal pointer inside the instruction, so the end result is the interpreter and JITs never see pseudo BPF_LD_IMM64 insns and only operate on generic BPF_LD_IMM64 that loads 64-bit immediate into a register. User space never operates on direct pointers and verifier can easily recognize request_for_pointer vs other instructions. Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7a6540ca856aeb5adbdee80836af7c2326e55d3b Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Mon Sep 8 11:19:18 2014 +0200 ARM: mvebu: Change vendor prefix for Intersil Corporation to isil Currently there is a wild mixture of isl, isil, and intersil compatibles in the kernel. At this point, changing the vendor symbol to the most often used variant, which is equal to the NASDAQ symbol, isil, should not hurt. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410167960-554-4-git-send-email-p.zabel@xxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ccf8ca4bfb7247f0f209c41d9d9c84736b14651d Author: Greg Ungerer <gerg@xxxxxxxxxxx> Date: Mon Sep 8 13:30:29 2014 +1000 ARM: mvebu: use improved armada spi device tree compatible name Switch the Armada SoC SPI port device tree binding to use the new improved armada-370-spi compatible name. This allows for a wider range of baud rates to be used. Signed-off-by: Greg Ungerer <gerg@xxxxxxxxxxx> Tested-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1410147029-30067-1-git-send-email-gerg@xxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2f83c3da277e08877280fa2c0fc21aad9aca6735 Merge: 6ce041a 71bcada Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 9 17:51:31 2014 +0200 Merge tag 'socfpga_driver_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next into next/drivers Pull "SOCFPGA driver update for v3.18" from Dinh Nguyen: This is the EDAC driver for EDAC. Boris had given me permission to take this patch together with it's DTS component. The DTS portion was in the previous pull request. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'socfpga_driver_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next: edac: altera: Add Altera SDRAM EDAC support commit 500abb6ccb9e3f8d638a7f422443a8549245ef90 Author: Arnaud Ebalard <arno@xxxxxxxxxxxx> Date: Sat Sep 6 22:49:38 2014 +0200 ARM: mvebu: Netgear RN2120: Use Hardware BCH ECC The bootloader on the Netgear ReadyNAS RN2120 uses Hardware BCH ECC (strength = 4), while the pxa3xx NAND driver by default uses Hamming ECC (strength = 1). This patch changes the ECC mode on these machines to match that of the bootloader and of the stock firmware. That way, it is now possible to update the kernel from userland (e.g. using standard tools from mtd-utils package); u-boot will happily load and boot it. The issue was initially reported and fixed by Ben Pedell for RN102. The RN2120 shares the same Hynix H27U1G8F2BTR NAND flash and setup. This patch is based on Ben's fix for RN102. Fixes: ad51eddd95ad ("ARM: mvebu: Enable NAND controller in ReadyNAS 2120 .dts file") Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/61f6a1b7ad0adc57a0e201b9680bc2e5f214a317.1410035142.git.arno@xxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 225b94cdf719d0bc522a354bdafc18e5da5ff83b Author: Arnaud Ebalard <arno@xxxxxxxxxxxx> Date: Sat Sep 6 22:49:25 2014 +0200 ARM: mvebu: Netgear RN104: Use Hardware BCH ECC The bootloader on the Netgear ReadyNAS RN104 uses Hardware BCH ECC (strength = 4), while the pxa3xx NAND driver by default uses Hamming ECC (strength = 1). This patch changes the ECC mode on these machines to match that of the bootloader and of the stock firmware. That way, it is now possible to update the kernel from userland (e.g. using standard tools from mtd-utils package); u-boot will happily load and boot it. The issue was initially reported and fixed by Ben Pedell for RN102. The RN104 shares the same Hynix H27U1G8F2BTR NAND flash and setup. This patch is based on Ben's fix for RN102. Fixes: 0373a558bd79 ("ARM: mvebu: Enable NAND controller in ReadyNAS 104 .dts file") Cc: <stable@xxxxxxxxxxxxxxx> # v3.14+ Signed-off-by: Arnaud Ebalard <arno@xxxxxxxxxxxx> Link: https://lkml.kernel.org/r/920c7e7169dc6aaaa3eb4bced2336d38e77b8864.1410035142.git.arno@xxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e86ed56adb571cddd47ba3a008e2353b057ba70b Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:15:18 2014 +0200 ARM: mvebu: add SSCG to Armada 370 Device Tree The Armada 370 SoC has a Spread Spectrum Clock Generator. This commit adds the description of this generator to the Device Tree describing this SoC. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Leigh Brown <leigh@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409645719-20003-4-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ceac26c64200015a5e6e358e903b1ca9a6f41dd8 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:15:19 2014 +0200 clk: mvebu: armada-375: Fix the description of the SAR in the comment For dealing with the code we use the SAR1 and not the SAR0. The code was correct, and now the comments too. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Leigh Brown <leigh@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409645719-20003-5-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 5e1a63f5f548bb8a3967f00be2f0e1e04290c613 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:15:17 2014 +0200 clk: mvebu: armada-370: Fix timer drift caused by the SSCG deviation This commit activates the SSCG deviation correction for the Armada 370. It uses the optional function introduced by the commit "clk: mvebu: Fix clk frequency value if SSCG is enabled". Without this fix the deviation measured on a Mirabox was of a few second each hour, whereas with this fix it was reduced at around 50ppm (around 4s per day). Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Leigh Brown <leigh@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409645719-20003-3-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 15917b16022427c53755abff4dc7051f3076dd7a Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:15:16 2014 +0200 clk: mvebu: Fix clk frequency value if SSCG is enabled When the SSCG (Spread Spectrum Clock Generator) is enabled, it shifts the frequency of the clock. The percentage is no more than 1% but when the clock is used for a timer it leads to a clock drift. This patch allows to correct the affected clock when the SSCG is enabled. The check is done in an new optional function related to each SoC: is_sscg_enabled(). The fix is done with the other new optional function related to each SoC: fix_sscg_deviation. If one these functions are not present then no correction is done on the clock frequency. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Tested-by: Leigh Brown <leigh@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409645719-20003-2-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 138310e18b70caed1b7acf02a2c97170dcb3c55d Merge: eb492df 5923abb2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 9 17:09:35 2014 +0200 Merge tag 'renesas-soc3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Third Round of Renesas ARM Based SoC Soc Updates for v3.18" from Simon Horman: * Initial r8a7794 SoC support * Support Cortex-A7 in shmobile_init_delay() Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-soc3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Initial r8a7794 SoC support ARM: shmobile: support Cortex-A7 in shmobile_init_delay() commit eb492df9616156416e160bb59f7fd0437d6f5424 Merge: 0b7f509 968d1af Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 9 17:07:30 2014 +0200 Merge tag 'renesas-r8a7740-multiplatform-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Renesas ARM Based SoC r8a7740 Multiplatform Updates for v3.18" from Simon Horman: * Enable multiplatform support for r8a7740 SoC and remove its DT-reference C board DTS files. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-r8a7740-multiplatform-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: armadillo800eva reference: Remove DTS ARM: shmobile: armadillo800eva reference: Remove C board code ARM: shmobile: r8a7740: Add restart callback ARM: shmobile: armadillo800eva: Build DTS for multiplatform ARM: shmobile: armadillo800eva: Sync DTS ARM: shmobile: r8a7740: Multiplatform support commit c559a353410939c0884e83bdb0e2420a986ac53b Author: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Date: Tue Sep 9 08:23:16 2014 +0200 usb: gadget: f_fs: add ioctl returning ep descriptor This patch introduces ioctl named FUNCTIONFS_ENDPOINT_DESC, which returns endpoint descriptor to userspace. It works only if function is active. Signed-off-by: Robert Baldyga <r.baldyga@xxxxxxxxxxx> Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c40c4028f048a077a8950fd95e5d8901f773a63f Merge: 32dc5ca d07a1ec Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 9 17:03:17 2014 +0200 Merge tag 'at91-cleanup2' of git://github.com/at91linux/linux-at91 into next/cleanup Pull "Second batch of AT91 cleanup for 3.18" from Nicolas Ferre: - Timer Counter (TC) fixup and cleanup: - fix segmentation fault when kexec-ing a kernel by masking TC interrupts at shutdown and probe time - use modern driver model: devm_*, probe function, sanitize IRQ request Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-cleanup2' of git://github.com/at91linux/linux-at91: clocksource: tcb_clksrc: sanitize IRQ request ARM: at91/tclib: mask interruptions at shutdown and probe ARM: at91/tclib: move initialization from alloc to probe ARM: at91/tclib: prefer using of devm_* functions commit e45cfa2051d1b7d3378887d9576e11484e25c7d6 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 9 08:56:52 2014 +0800 usb: gadget: dbgp: add reset API at usb_gadget_driver Add reset API at usb_gadget_driver, it calls disconnect handler currently, but may do different things in future. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0eba4550fc642f4a51d76bf20d2b8104ec81d8e5 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 9 08:56:51 2014 +0800 usb: gadget: gadgetfs: add reset API at usb_gadget_driver Add reset API at usb_gadget_driver, it calls disconnect handler currently, but may do different things in future. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 02f751b43f6766da4382bed322926eb99d56f516 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 9 08:56:50 2014 +0800 usb: gadget: configfs: add reset API at usb_gadget_driver Add reset API at usb_gadget_driver, it calls disconnect handler currently, but may do different things in future. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d8a816fc6f6a1d262798dc43d6791c3e93d2d2b5 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 9 08:56:49 2014 +0800 usb: gadget: composite: add reset API at usb_gadget_driver Add reset API at usb_gadget_driver, it calls disconnect handler currently, but may do different things in future. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ef979a26e3d521d51dbd9950e46a69e303073171 Author: Peter Chen <peter.chen@xxxxxxxxxxxxx> Date: Tue Sep 9 08:56:48 2014 +0800 usb: gadget: add reset API at usb_gadget_driver Adding reset API for UDC bus reset handler is useful for below two issues. Current disconnect API at usb_gadget_driver is also invoked at udc's bus reset handler, but the document says it is invoked when the host is disconnected. Besides, we may expect the gadget_driver to do different things for host sends bus reset and host disconnects gadget, eg, we may not want to flush dirty page for mass storage at bus reset, and want to do it at disconnection. Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 85b06f5e53d17c15844ef3cd45d0c7107f0ae45c Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Sep 9 15:06:09 2014 +0300 usb: gadget: f_fs: signedness bug in __ffs_func_bind_do_descs() We need "idx" to be signed for the error handling to work. Fixes: 6d5c1c77bbf9 ('usb: gadget: f_fs: fix the redundant ep files problem') Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 13443799b559cde593826091a7de135483b245e5 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:13 2014 +0300 usb: gadget: f_uvc: use usb_gstrings_attach Attach strings to gadget with usb_strings_attach. It is required for correct instantiation of functions more than once: instead of modifying the local uvc_en_us_strings a function instance specific copy is created with usb_gstrings_attach. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit cb47d889e651d36b4200800de1d56977b910d8a3 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:12 2014 +0300 usb: gadget: f_uvc: remove compatibility layer There are no users of the old interface left. Remove it. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c913881ec6f5d17defd16dfd96fea576b17c04b9 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:11 2014 +0300 usb: gadget: webcam: convert webcam to new interface of f_uvc Use the new function interface of f_uvc. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 87e9d8fd26c782623b79f2968431179f29b339f2 Merge: facdb3d 75a4182 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Tue Sep 9 16:49:28 2014 +0200 Merge tag 'socfpga_update_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next into next/dt Pull "arm: dts: Add Altera SDRAM EDAC bindings & devicetree entries" From Dinh Nguyen: 5 of the 6 patches are DTS updates and the 1 patch is updating the MAINTAINERS entry with my new email address. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'socfpga_update_for_v3.18' of git://git.rocketboards.org/linux-socfpga-next: arm: dts: Add Altera SDRAM EDAC bindings & devicetree entries. ARM: dts: socfpga: memreserve first 4KB for future system use ARM: dts: socfpga: Add SD card detect ARM: dts: socfpga: remove extra alias in the ArriaV devkit ARM: dts: socfpga: unuse the slot-node and deprecate the supports-highspeed for dw-mmc MAINTAINERS: update entries for ARM/SOCFPGA platform commit 6d11ed76c45dd7c8322c2d03575f2164cc725c18 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:10 2014 +0300 usb: gadget: f_uvc: convert f_uvc to new function interface Use the new function registration interface. It is required in order to integrate configfs support. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> [Updated copyright years] Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3a83c16ef0e03e2ca2f1ce547a7cba53a62d0e0d Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:09 2014 +0300 usb: gadget: uvc: separately compile some components of f_uvc Compile uvc_queue, uvc_v4l2, uvc_video separately so that later they can be all combined in a separately compiled f_uvc. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> [Make uvc_v4l2_ioctl_ops non-static] [Rename __UVC__V4L2__H__ and __UVC__VIDEO__H__] [Update MAINTAINERS] Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 7ea95b110811fa8e41f5960c278bcfc80b8b21c1 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Sep 9 02:02:08 2014 +0300 usb: gadget: uvc: rename functions to avoid conflicts with host uvc Prepare for separate compilation of uvc function's components. Some symbols will have to be exported, so rename to avoid conflicts with functions of the same name in host uvc. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> [Rename uvc_video_pump and uvc_queue_head as well] [Rename forgotten uvc_queue_cancel instance in a comment] Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 70aacc5777d1f1ca0a88067c9121ce86441bc4e0 Author: Amit Virdi <amit.virdi@xxxxxx> Date: Tue Sep 9 11:57:37 2014 +0530 usb: gadget: zero: Fix warning generated by kbuild The kbuild test bot generated the warning: drivers/usb/gadget/function/f_sourcesink.c:1498: warning: comparison is always false due to limited range of data type This patch fixes it. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Amit Virdi <amit.virdi@xxxxxx> CC: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6c8df11ddc3af738c4230100d2de89a02a20cb22 Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:12 2014 +0200 cpufreq: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. ARCH_MVEBU is sufficient. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Cc: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Acked-by: "Rafael J. Wysocki" <rjw@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409417172-6846-8-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 6da4161355bb02876f9123857990f049959c8d7b Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:11 2014 +0200 watchdog: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. ARCH_MVEBU is sufficient. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: linux-watchdog@xxxxxxxxxxxxxxx Link: https://lkml.kernel.org/r/1409417172-6846-7-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ace2c0205b1bae2c3d1ea0932a1e45494938005a Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:10 2014 +0200 rtc: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. ARCH_MVEBU is sufficient. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Alessandro Zummo <a.zummo@xxxxxxxxxxxx> Cc: rtc-linux@xxxxxxxxxxxxxxxx Link: https://lkml.kernel.org/r/1409417172-6846-6-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1093d8cac46f9a40d2b4d6d20657e7970640a59b Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:09 2014 +0200 leds: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. Use MACH_KIRKWOOD which will be set when kirkwood is built as part of mach-mvebu. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Bryan Wu <cooloney@xxxxxxxxx> Cc: Richard Purdie <rpurdie@xxxxxxxxx> Cc: linux-leds@xxxxxxxxxxxxxxx Link: https://lkml.kernel.org/r/1409417172-6846-5-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 575be653f887601d3f656f7e951e34ecf66da5ec Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:08 2014 +0200 thermal: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. Depend on MACH_KIRKWOOD, which will be set when kirkwood is built as part of ARCH_MVEBU. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Zhang Rui <rui.zhang@xxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Acked-by: Eduardo Valentin <edubezval@xxxxxxxxx> Link: https://lkml.kernel.org/r/1409417172-6846-4-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 4efded056ec03b5b1b2d494588514edab2528757 Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:07 2014 +0200 ata: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. ARCH_MVEBU is sufficient. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Tejun Heo <tj@xxxxxxxxxx> Cc: linux-ide@xxxxxxxxxxxxxxx Acked-by: Tejun Heo <tj@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1409417172-6846-3-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e9e0da3323c3bb5adad640018445df701156e13e Author: Andrew Lunn <andrew@xxxxxxx> Date: Sat Aug 30 18:46:06 2014 +0200 cpuidle: kirkwood: Remove ARCH_KIRKWOOD dependency mach-kirkwood has been removed, now that kirkwood lives in mach-mvebu. Use MACH_KIRKWOOD, which is set when kirkwood is built as part of mach-mvebu. Signed-off-by: Andrew Lunn <andrew@xxxxxxx> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409417172-6846-2-git-send-email-andrew@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9ba1f726bec090399eb9bb9157eb32dedc8e8c45 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Mon Sep 8 13:45:00 2014 +0200 netfilter: nf_tables: add new nft_masq expression The nft_masq expression is intended to perform NAT in the masquerade flavour. We decided to have the masquerade functionality in a separated expression other than nft_nat. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit be6b635cd674add9410efa9ac6f03e0040848b12 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Thu Sep 4 14:06:49 2014 +0200 netfilter: nf_nat: generalize IPv6 masquerading support for nf_tables Let's refactor the code so we can reach the masquerade functionality from outside the xt context (ie. nftables). The patch includes the addition of an atomic counter to the masquerade notifier: the stuff to be done by the notifier is the same for xt and nftables. Therefore, only one notification handler is needed. This factorization only involves IPv6; a similar patch exists to handle IPv4. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8dd33cc93ec92b8460ed2ad98c6db39276f6a72b Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Thu Sep 4 14:06:33 2014 +0200 netfilter: nf_nat: generalize IPv4 masquerading support for nf_tables Let's refactor the code so we can reach the masquerade functionality from outside the xt context (ie. nftables). The patch includes the addition of an atomic counter to the masquerade notifier: the stuff to be done by the notifier is the same for xt and nftables. Therefore, only one notification handler is needed. This factorization only involves IPv4; a similar patch follows to handle IPv6. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c55fbbb4a730e3d6e1727b7de08b39e6cd847fad Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Sep 8 14:11:45 2014 +0200 netfilter: ebtables: create audit records for replaces This is already done for x_tables (family AF_INET and AF_INET6), let's do it for AF_BRIDGE also. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e42eff8a32f8b7bde88ea3c5a56391407cbe84f3 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Thu Sep 4 14:06:14 2014 +0200 netfilter: nft_nat: include a flag attribute Both SNAT and DNAT (and the upcoming masquerade) can have additional configuration parameters, such as port randomization and NAT addressing persistence. We can cover these scenarios by simply adding a flag attribute for userspace to fill when needed. The flags to use are defined in include/uapi/linux/netfilter/nf_nat.h: NF_NAT_RANGE_MAP_IPS NF_NAT_RANGE_PROTO_SPECIFIED NF_NAT_RANGE_PROTO_RANDOM NF_NAT_RANGE_PERSISTENT NF_NAT_RANGE_PROTO_RANDOM_FULLY NF_NAT_RANGE_PROTO_RANDOM_ALL The caller must take care of not messing up with the flags, as they are added unconditionally to the final resulting nf_nat_range. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit b9ac12ef099707f405d7478009564302d7ed8393 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 2 16:42:26 2014 +0200 netfilter: nf_tables: extend NFT_MSG_DELTABLE to support flushing the ruleset This patch extend the NFT_MSG_DELTABLE call to support flushing the entire ruleset. The options now are: * No family speficied, no table specified: flush all the ruleset. * Family specified, no table specified: flush all tables in the AF. * Family specified, table specified: flush the given table. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ee01d5425634264089db74889c3547be13c3faef Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 2 16:42:25 2014 +0200 netfilter: nf_tables: add helpers to schedule objects deletion This patch refactor the code to schedule objects deletion. They are useful in follow-up patches. In order to be able to use these new helper functions in all the code, they are placed in the top of the file, with all the dependant functions and symbols. nft_rule_disactivate_next has been renamed to nft_rule_deactivate. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c435201bede79735c23d6961ce369034f193e633 Author: Bojan Prtvar <prtvar.b@xxxxxxxxx> Date: Mon Sep 8 09:51:12 2014 +0200 netfilter: xt_string: Remove unnecessary initialization of struct ts_state The skb_find_text() accepts uninitialized textsearch state variable. Signed-off-by: Bojan Prtvar <prtvar.b@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5fcf0cf6073d4adb22e34cd1d14a6318699625a9 Author: Julian Anastasov <ja@xxxxxx> Date: Wed Sep 3 00:02:49 2014 +0300 ipvs: reduce stack usage for sockopt data Use union to reserve the required stack space for sockopt data which is less than the currently hardcoded value of 128. Now the tables for commands should be more readable. The checks added for readability are optimized by compiler, others warn at compile time if command uses too much stack or exceeds the storage of set_arglen and get_arglen. As Dan Carpenter points out, we can run for unprivileged user, so we can silent some error messages. Signed-off-by: Julian Anastasov <ja@xxxxxx> CC: Dan Carpenter <dan.carpenter@xxxxxxxxxx> CC: Andrey Utkin <andrey.krieger.utkin@xxxxxxxxx> CC: David Binderman <dcb314@xxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 3045d76070abe725dbb7fd8ff39c27b820d5a7eb Author: Ana Rey <anarey@xxxxxxxxx> Date: Tue Sep 2 20:36:14 2014 +0200 netfilter: nf_tables: add devgroup support in meta expresion Add devgroup support to let us match device group of a packets incoming or outgoing interface. Signed-off-by: Ana Rey <anarey@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit ce24b7217b60980ff0366dc6afbd5418db9972f2 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 2 16:42:24 2014 +0200 netfilter: nf_tables: rename nf_table_delrule_by_chain() For the sake of homogenize the function naming scheme, let's rename nf_table_delrule_by_chain() to nft_delrule_by_chain(). Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit c559879406c10087ea2eab0e1868f79eced12bf9 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 2 16:42:23 2014 +0200 netfilter: nf_tables: add helper to unregister chain hooks This patch adds a helper function to unregister chain hooks in the chain deletion path. Basically, a code factorization. The new function is useful in follow-up patches. Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 5e266fe7c046b107496a338839cfb6008aeddbd8 Author: Arturo Borrero <arturo.borrero.glez@xxxxxxxxx> Date: Tue Sep 2 16:42:21 2014 +0200 netfilter: nf_tables: refactor rule deletion helper This helper function always schedule the rule to be removed in the following transaction. In follow-up patches, it is interesting to handle separately the logic of rule activation/disactivation from the transaction mechanism. So, this patch simply splits the original nf_tables_delrule_one() in two functions, allowing further control. While at it, for the sake of homigeneize the function naming scheme, let's rename nf_tables_delrule_one() to nft_delrule(). Signed-off-by: Arturo Borrero Gonzalez <arturo.borrero.glez@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 876665eafc0e43523d0c57b5c937b59696fb4a8f Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Sep 9 16:31:09 2014 +0200 netfilter: nft_chain_nat_ipv6: use generic IPv6 NAT code from core Use the exported IPv6 NAT functions that are provided by the core. This removes duplicated code so iptables and nft use the same NAT codebase. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 2a5538e9aa4929329813bee69922c9ae4990fcad Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Mon Aug 25 12:05:27 2014 +0200 netfilter: nat: move specific NAT IPv6 to core Move the specific NAT IPv6 core functions that are called from the hooks from ip6table_nat.c to nf_nat_l3proto_ipv6.c. This prepares the ground to allow iptables and nft to use the same NAT engine code that comes in a follow up patch. This also renames nf_nat_ipv6_fn to nft_nat_ipv6_fn in net/ipv6/netfilter/nft_chain_nat_ipv6.c to avoid a compilation breakage. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit a2d61ed525f3458a913147fd02b1a5cf15e7551b Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Wed Jul 2 15:42:19 2014 +0300 integrity: make integrity files as 'integrity' module The kernel print macros use the KBUILD_MODNAME, which is initialized to the module name. The current integrity/Makefile makes every file as its own module, so pr_xxx messages are prefixed with the file name instead of the module. Similar to the evm/Makefile and ima/Makefile, this patch fixes the integrity/Makefile to use the single name 'integrity'. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 7ef84e65ecc60289281e8e7e83a8bb6a97d7df5c Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Thu Apr 17 15:07:15 2014 +0300 integrity: base integrity subsystem kconfig options on integrity The integrity subsystem has lots of options and takes more than half of the security menu. This patch consolidates the options under "integrity", which are hidden if not enabled. This change does not affect existing configurations. Re-configuration is not needed. Changes v4: - no need to change "integrity subsystem" to menuconfig as options are hidden, when not enabled. (Mimi) - add INTEGRITY Kconfig help description Changes v3: - dependency to INTEGRITY removed when behind 'if INTEGRITY' Changes v2: - previous patch moved integrity out of the 'security' menu. This version keeps integrity as a security option (Mimi). Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 1ae8f41c23ff6a75c1432faed7281aea5ce7c236 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Thu Apr 17 14:41:06 2014 +0300 integrity: move asymmetric keys config option For better visual appearance it is better to co-locate asymmetric key options together with signature support. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit b4148db51720a6b25a981ea72185312d4b6634fe Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Thu May 8 11:23:53 2014 +0300 ima: initialize only required template IMA uses only one template. This patch initializes only required template to avoid unnecessary memory allocations. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Reviewed-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 17f4bad3abc7c09f42987d89ccccab02c03455a9 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Tue Aug 19 16:48:39 2014 +0300 ima: remove usage of filename parameter In all cases except ima_bprm_check() the filename was not defined and ima_d_path() was used to find the full path. Unfortunately, the bprm filename is a relative pathname (eg. ./<dir>/filename). ima_bprm_check() selects between bprm->interp and bprm->filename. The following dump demonstrates the differences between using filename and interp. bprm->filename filename: ./foo.sh, pathname: /root/bin/foo.sh filename: ./foo.sh, pathname: /bin/dash bprm->interp filename: ./foo.sh, pathname: /root/bin/foo.sh filename: /bin/sh, pathname: /bin/dash In both cases the pathnames are currently the same. This patch removes usage of filename and interp in favor of d_absolute_path. Changes v3: - 11 extra bytes for "deleted" not needed (Mimi) - purpose "replace relative bprm filename with full pathname" (Mimi) Changes v2: - use d_absolute_path() instead of d_path to work in chroot environments. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 86f2bc024966d962d4d7575468e226e2269d198c Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Wed Aug 20 12:37:57 2014 +0300 ima: remove unnecessary appraisal test ima_get_action() sets the "action" flags based on policy. Before collecting, measuring, appraising, or auditing the file, the "action" flag is updated based on the cached iint->flags. This patch removes the subsequent unnecessary appraisal test in ima_appraise_measurement(). Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit e4a9c5196566bd47ac92f6e5ef7f48412ded7176 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Wed Sep 3 10:19:58 2014 +0300 ima: add missing '__init' keywords Add missing keywords to the function definition to cleanup to discard initialization code. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Reviewed-by: Roberto Sassu <roberto.sassu@xxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 3a8a2eadc4946ce3af39b3447c32532324538f75 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Wed Sep 3 10:19:57 2014 +0300 ima: remove unnecessary extra variable 'function' variable value can be changed instead of allocating extra '_func' variable. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit f68c05f4d2d4e19c40f4ac1e769cc0a2f9f544a0 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Aug 22 09:43:55 2014 +0300 ima: simplify conditional statement to improve performance Precede bit testing before string comparison makes code faster. Also refactor statement as a single line pointer assignment. Logic is following: we set 'xattr_ptr' to read xattr value when we will do appraisal or in any case when measurement template is other than 'ima'. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 65d98f3be25f7ee96af655f97e153d3d8d3d8ef9 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Tue Aug 19 14:56:18 2014 +0300 integrity: remove declaration of non-existing functions Commit f381c27 "integrity: move ima inode integrity data management" (re)moved few functions but left their declarations in header files. This patch removes them and also removes duplicated declaration of integrity_iint_find(). Commit c7de7ad "ima: remove unused cleanup functions". This patch removes these definitions as well. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit d9a2e5d788d39f7593e2af5e1a365e2b9300679f Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Wed Jul 2 15:12:26 2014 +0300 integrity: prevent flooding with 'Request for unknown key' If file has IMA signature, IMA in enforce mode, but key is missing then file access is blocked and single error message is printed. If IMA appraisal is enabled in fix mode, then system runs as usual but might produce tons of 'Request for unknown key' messages. This patch switches 'pr_warn' to 'pr_err_ratelimited'. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 3034a146820c26fe6da66a45f6340fe87fe0983a Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Jun 27 18:15:44 2014 +0300 ima: pass 'opened' flag to identify newly created files Empty files and missing xattrs do not guarantee that a file was just created. This patch passes FILE_CREATED flag to IMA to reliably identify new files. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 3.14+ commit f1ff6348b30b3658d138f05643149706f99078ae Author: Steven Rostedt (Red Hat) <rostedt@xxxxxxxxxxx> Date: Tue Jul 22 20:16:57 2014 -0400 ftrace: Add separate function for non recursive callbacks Instead of using the generic list function for callbacks that are not recursive, call a new helper function from the mcount trampoline called ftrace_ops_recur_func() that will do the recursion checking for the callback. This eliminates an indirection as well as will help in future code that will use dynamically allocated trampolines. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> commit 3dcbad52cf18c3c379e96b992d22815439ebbe53 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Tue Sep 2 16:31:43 2014 +0300 evm: properly handle INTEGRITY_NOXATTRS EVM status Unless an LSM labels a file during d_instantiate(), newly created files are not labeled with an initial security.evm xattr, until the file closes. EVM, before allowing a protected, security xattr to be written, verifies the existing 'security.evm' value is good. For newly created files without a security.evm label, this verification prevents writing any protected, security xattrs, until the file closes. Following is the example when this happens: fd = open("foo", O_CREAT | O_WRONLY, 0644); setxattr("foo", "security.SMACK64", value, sizeof(value), 0); close(fd); While INTEGRITY_NOXATTRS status is handled in other places, such as evm_inode_setattr(), it does not handle it in all cases in evm_protect_xattr(). By limiting the use of INTEGRITY_NOXATTRS to newly created files, we can now allow setting "protected" xattrs. Changelog: - limit the use of INTEGRITY_NOXATTRS to IMA identified new files Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 3.14+ commit 39e90c77637b3892a39f2908aea57539e961c50e Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 8 12:11:45 2014 +0300 Bluetooth: 6lowpan: Route packets that are not meant to peer via correct device Packets that are supposed to be delivered via the peer device need to be checked and sent to correct device. This requires that user has set the routes properly so that the 6lowpan module can then figure out the destination gateway and the correct Bluetooth device. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17.x commit b2799cec22812f5f1aaaa57133df51876f685d84 Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 8 12:11:44 2014 +0300 Bluetooth: 6lowpan: Set the peer IPv6 address correctly The peer IPv6 address contained wrong U/L bit in the EUI-64 part. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17.x commit 2ae50d8d3aaf7154f72b44331b71f15799cdc1bb Author: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Date: Mon Sep 8 12:11:43 2014 +0300 Bluetooth: 6lowpan: Increase the connection timeout value Use the default connection timeout value defined in l2cap.h because the current timeout was too short and most of the time the connection attempts timed out. Signed-off-by: Jukka Rissanen <jukka.rissanen@xxxxxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx # 3.17.x commit 66b0436977e2c62388d48836ff784f1fedb49c4f Author: Nishanth Menon <nm@xxxxxx> Date: Fri Jun 6 20:53:22 2014 -0500 ARM: dts: dra7-evm: Mark uart1 rxd as wakeup capable Mark rxd as wakeupcapable for 115200n8 no hardware-flow control configuration. If h/w flow control is being used, then rts/cts appropriately should be used. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit e2265abe7a18e5e6880d0cd35e2db08bcd237366 Author: Nishanth Menon <nm@xxxxxx> Date: Fri May 23 00:04:02 2014 -0500 ARM: dts: OMAP5 / DRA7: switch over to interrupts-extended property for UART We've had deeper idle states working on omaps for few years now, but only in the legacy mode. When booted with device tree, the wake-up events did not have a chance to work until commit 3e6cee1786a1 ("pinctrl: single: Add support for wake-up interrupts") that recently got merged. In addition to that we also needed commit 79d9701559a9 ("of/irq: create interrupts-extended property") that's now also merged. Note that there's no longer need to specify the wake-up bit in the pinctrl settings, the request_irq on the wake-up pin takes care of that. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit d8c5bab676774b9c260c7990b84a06a09310fbec Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 23:47:46 2014 -0500 ARM: dts: AM437x: switch to compatible pinctrl Now that ti,am437-padconf is available, switch over to that compatible property. Retain pinctrl-single for legacy support. While at it, mark the pinctrl as interrupt controller so that it can be used with interrupts-extended property for wakeup events. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit 817c0378c50c2aab2b026caab7486df6895ed8a2 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 23:47:46 2014 -0500 ARM: dts: DRA7: switch to compatible pinctrl Now that ti,dra7-padconf is available, switch over to that compatible property. Retain pinctrl-single for legacy support. While at it, mark pinctrl as interrupt controller so that it can be used with interrupts-extended property for wakeup events. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit 924c31cc688231292119aa1bdbf7ce349c42ca49 Author: Nishanth Menon <nm@xxxxxx> Date: Fri May 23 00:58:08 2014 -0500 ARM: dts: OMAP5: switch to compatible pinctrl Now that ti,omap5-padconf is available, switch over to that compatible property. Retain pinctrl-single for legacy support. While at it, mark pinctrl as interrupt controller so that it can be used with interrupts-extended property for wakeup events. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit ce437aa4519c46a0f12455c320b6f65dde16c26e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Aug 27 15:13:54 2014 +0200 mmc: mmci: augment driver to handle gpio descriptors Currently the MMCI driver will only handle GPIO descriptors implicitly through the device tree probe glue in mmc_of_init(), but devices instatiated other ways such as through board files and passing descriptors using the GPIO descriptor table will not be able to exploit descriptors. Augment the driver to look for a GPIO descriptor if device tree is not used for the device, and if that doesn't work, fall back to platform data GPIO assignment using the old API. The end goal is to get rid of the platform data integer GPIO assingments from the kernel. This enable the MMCI-embedding platforms to be converted to GPIO descritor tables. Cc: Alexandre Courbot <gnurou@xxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 98e90de99a0c43bd434da814c882c4332441871e Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Aug 27 13:00:52 2014 +0200 mmc: host: switch OF parser to use gpio descriptors This switches the central MMC OF parser to use gpio descriptors instead of grabbing GPIOs explicitly from the device tree. This strips out an unecessary use of the integer-based GPIO API that we want to get rid of, cuts down on code as the gpio descriptor code will handle active low flags. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9d2fa2428ae149ba3a5b7a4ceb0a9e11f1882b3b Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Aug 27 13:00:51 2014 +0200 mmc: slot-gpio: add gpiod variant to get wp GPIO This makes it possible to get the write protect (read only) GPIO line from a GPIO descriptor. Written to exactly mirror the card detect function. Acked-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9fbc695075e905b9201100860eacac6349db6644 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Aug 27 13:00:50 2014 +0200 mmc: slot-gpio: switch to use flags when getting GPIO When the slot GPIO driver gets the GPIO to be used for card detect, it is now possible to specify a flag to have the line set up as input. Get rid of the explicit setup call for input and use the flag. The extra argument works as there are transition varargs macros in place in the <linux/gpio/consumer.h> header, in the future we will make the flags argument compulsory. Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f5b4d71f72c5f08c2e1d0af68ef881f85537e7a1 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 11:02:23 2014 +0200 mmc: card: Prevent partition scan for the eMMC boot areas It seems very unlikely that eMMC devices would hold a standard partitiontable in one of it's boot areas. Therefore, let's prevent them from being scanned. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0abb71feb228ddbd17e0dfa13216541e036bb549 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:46:49 2014 -0700 mmc: remove MMC_CAP2_NO_MULTI_READ flags Now, mmc framework uses multi_io_quirk for I/O HW bug workaround. MMC_CAP2_NO_MULTI_READ flag is no longer needed Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9674e9545382153d6a78bb97915ba8e64c1fdf9f Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:46:32 2014 -0700 ARM: shmobile: remove MMC_CAP2_NO_MULTI_READ from lager sh_mobile_sdhi cares multiblock read bug. remove MMC_CAP2_NO_MULTI_READ flag from board code Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b9409687a8dad8b7207f05c62b9c87d2a766473b Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:46:10 2014 -0700 ARM: shmobile: remove MMC_CAP2_NO_MULTI_READ from koelsch sh_mobile_sdhi cares multiblock read bug. remove MMC_CAP2_NO_MULTI_READ flag from board code Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8b4efe2f58b1699a57f6c30d17345b801ab4213b Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:45:46 2014 -0700 mmc: use .multi_io_quirk on sh_mobile Now, sh_mobile_sdhi can use .multi_io_quirk callback instead of MMC_CAP2_NO_MULTI_READ flags. let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bbf0208d39121bd8873b032459cb2b5f35e14593 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:45:25 2014 -0700 mmc: use .multi_io_quirk on tmio_mmc Now, tmio_mmc can use .multi_io_quirk callback instead of MMC_CAP2_NO_MULTI_READ flags. let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit afd8c29d254d7fddbae454f217fa5facefe8f5b0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Mon Sep 8 23:44:51 2014 -0700 mmc: use .multi_io_quirk on omap_hsmmc Now, omap_hsmmc can use .multi_io_quirk callback instead of MMC_CAP2_NO_MULTI_READ flags. let's use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2080437d375f4d8ba2fe37254199427f3f5e7bc2 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Wed Sep 3 10:23:39 2014 +0800 ASoC: simple-card: Merge single and muti DAI link(s) code. This patch will split the DT node into old style and new style: The new style will merge the single DAI link and muti DAI links code together, the new style will be easier to add muti DAI links from old single DAI link DTs. This patch will maintian compatibility with the old DTs. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b7574bad80f773dcc4c17950181cde9fb6701501 Author: Gao, Yunpeng <yunpeng.gao@xxxxxxxxx> Date: Thu Sep 4 15:18:05 2014 +0800 mmc: sdhci-pci: disable preset register for Baytrail and Merrifield Due to HW issue, SDHCI host controller on Intel Baytrail/Merrifield platforms can not use preset register. So, disable preset registers for them by quirks. Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2e47e84245adcb1b3872210678b6146f674fb3ff Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 2 19:08:53 2014 -0700 mmc: Add .multi_io_quirk callback for multi I/O HW bug Historically, we have been using MMC_CAP* to handle host HW issues and currently the block layer uses MMC_CAP2_NO_MULTI_READ flag for a multi I/O HW bug workaround. There are a few tweaks needed to make MMC_CAP2_NO_MULTI_READ suite all situations. Therefore let's add an optional host ops callback to enable host drivers to return the number of blocks it allows per request. In a future patch and when host drivers have converted to the new callback, MMC_CAP2_NO_MULTI_READ shall be removed. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit adc828556dfc3f87a5c1338fc5412cbec3c0b529 Author: Chuanxiao.Dong <chuanxiao.dong@xxxxxxxxx> Date: Tue Aug 19 11:02:41 2014 +0800 mmc: sdhci: check 1.2v IO capability for SDHC host Right now enable 1.2v IO voltage for SDHC is by using vqmmc. Thus for the host which doesn't have vqmmc, or its vqmmc does not support 1.2v, directly use MMC_CAP2_HS200 may cause HS200 failure. So needs to check if vqmmc is able to support 1.2v. If it does not support, disable 1.2v IO for HS200. Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 312449efd16bb06a1e4fda94793d3eb8b8bb16f6 Author: Chuanxiao.Dong <chuanxiao.dong@xxxxxxxxx> Date: Fri Aug 15 11:28:07 2014 +0800 mmc: core: Fix sequence for I/O voltage in DDR mode for eMMC Even (e)MMC card can support 3.3v to 1.2v vccq in DDR, but not all host controller can support this, like some of the SDHCI host which connect to an eMMC device. Some of these host controller still needs to use 1.8v vccq for supporting DDR mode. So the sequence will be: if (host and device can both support 1.2v IO) use 1.2v IO; else if (host and device can both support 1.8v IO) use 1.8v IO; so if host and device can only support 3.3v IO, this is the last choice. Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Tested-by: Jean-Michel Hautbois <jhautbois@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e73708190557911893ce4fb7a551ff5285e62ca2 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Tue Sep 2 11:23:55 2014 +0200 mmc: pxamci: prepare and unprepare the clocks Add the clock prepare and unprepare call to the driver set_ios calls phase. This will remove a warning once the PXA architecture is migrated to the clock infrastructure. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 578b36b69c31c874f8303c62efb40b8bb9b46ae5 Author: Gao, Yunpeng <yunpeng.gao@xxxxxxxxx> Date: Mon Sep 1 11:35:40 2014 +0800 mmc: sdhci-acpi: add probe_slot method for emmc/sd/sdio Similar to sdhci-pci controller, also add probe_slot and remove_slot method in the sdhci-acpi driver. Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f1b55a55e4ee6fe6d791cff994f6e4d990f69c1e Author: Gao, Yunpeng <yunpeng.gao@xxxxxxxxx> Date: Mon Aug 18 15:05:52 2014 +0800 mmc: sdhci-pci: enable runtime pm for Intel Merrifield platform Enable runtime pm support on Intel Merrifield platform. Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e99783a45220a2c5f5a598e0e81213ecf2dbcf2f Author: Chanho Min <chanho.min@xxxxxxx> Date: Sat Aug 30 12:40:40 2014 +0900 mmc: sdhci: handle busy-end interrupt during command It is fully legal for a controller to start handling busy-end interrupt before it has signaled that the command has completed. So make sure we do things in the proper order, Or it results that command interrupt is ignored so it can cause unexpected operations. This is founded at some toshiba emmc with the bellow warning. "mmc0: Got command interrupt 0x00000001 even though no command operation was in progress." This issue has been also reported by Youssef TRIKI: It is not specific to Toshiba devices, and happens with eMMC devices as well as SD card which support Auto-CMD12 rather than CMD23. Also, similar patch is submitted by: Gwendal Grignou <gwendal@xxxxxxxxxxxx> Changes since v1: Fixed conflict with the next of git.linaro.org/people/ulf.hansson/mmc.git and Tested if issue is fixed again. Signed-off-by: Hankyung Yu <hankyung.yu@xxxxxxx> Signed-off-by: Chanho Min <chanho.min@xxxxxxx> Tested-by: Youssef TRIKI <youssef.triki@xxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0b10f478d2ad93b3808d018327465aaab77c8d2b Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Aug 30 14:53:13 2014 -0300 sdhci: Make sdhci_disable_irq_wakeups() static sdhci_disable_irq_wakeups() is exported, but it is not called outside sdhci.c. Make it static and do not export it, so that the following sparse warning is fixed: drivers/mmc/host/sdhci.c:2548:6: warning: symbol 'sdhci_disable_irq_wakeups' was not declared. Should it be static? Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 03d6f5ffc5c469e66bfe0a7d8120d29d4c3c07c9 Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:32 2014 +0800 mmc: sdhci: move timeout_clk dynamically calculation code into common code The timeout_clk calculation code for SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK case is common and could be moved into common sdhci_do_set_ios, then platform code which is not using sdhci_set_clock does not need to write the same code again. Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 28aab053396125c8e191537ec2b9781ec0174b04 Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:31 2014 +0800 mmc: sdhci: calculate timeout_clk conditionally in sdhci_add_host The timeout_clk calculation code in sdhci_add_host is meaningless for SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK. So only execute them with no SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK set. Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e33eb8e2818c9a7b41bac68a1c83ee4c136af9ba Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:30 2014 +0800 mmc: sdhci-esdhc-imx: set the correct max timeout value for uSDHC The default sdhci driver write 0xE into timeout counter register to set the maximum timeout. The value is not correct for uSDHC since the max counter value for uSDHC is 0xF. Instead of using common timeout code in sdhci, we implement esdhc_set_timeout to handle the difference between eSDHC and uSDHC. Currently we simply set the max timeout value as before. But in the future, we probably may implement IMX specific timeout setting algorithm and use suitable timeout for different CMDs. Reviewed-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b45e668af4439bfc52ed92af44b6400661ba7ec8 Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:29 2014 +0800 mmc: sdhci: add platform set_timeout hook Currently the common code assume 0xE is the maximum timeout counter value and use it to write into the timeout counter register. However, it's fairly possible that some other SoCs may have different max timeout register value. That means 0xE may be incorrect and becomes meaningless. It's also possible that other platforms has different timeout calculation algorithm. To be flexible, this patch provides a .set_timeout hook for those platforms to set the timeout on their way if they need. Reviewed-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 10fd0ad967c05cda16b25f862e2a45eb63d83a21 Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:28 2014 +0800 mmc: sdhci-esdhc-imx: fix incorrect max timeout cout for uSDHC The default sdhci code use the 1 << 27 as the max timeout counter to to calculate the max_busy_timeout, however it's not correct for uSDHC since its the max counter is 1 << 28. Implement esdhc_get_max_timeout_cout to handle it correctly. Reviewed-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a6ff5aeb9b31f7b71a8566f8e130ad66bd103d20 Author: Aisheng Dong <b29396@xxxxxxxxxxxxx> Date: Wed Aug 27 15:26:27 2014 +0800 mmc: sdhci: add platform get_max_timeout_count hook Currently the max timeout count is hardcode to 1 << 27 for calcuate the max_busy_timeout, however, for some platforms the max timeout count may not be 1 << 27, e.g. i.MX uSDHC is 1 << 28. Thus 1 << 27 is not correct for such platform. It is also possible that other platforms may have different values. To be flexible, we add a get_max_timeout_count hook to get the correct maximum timeout value for these platforms. Reviewed-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit a638640335d86549da2b7d38f82d584294333512 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:07:19 2014 +0200 mmc: tmio-mmc: Add support for SDHI on new R-Car Gen2 SoCs - r8a7792 (R-Car V2H) - r8a7793 (R-Car M2-N) - r8a7794 (R-Car E2) Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3cf890fc42b2d3bd5a3a7e4c1f61b0637efbe2ec Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Aug 25 11:19:04 2014 -0700 mmc: dw_mmc: Pass back errors from mmc_of_parse() It's possible that mmc_of_parse() could return errors (possibly in some future version it might return -EPROBE_DEFER even). Let's pass those errors back. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1ba4c322caaecfb68c1e175599398caef946a525 Author: Minda Chen <Minda.Chen@xxxxxxx> Date: Tue Aug 26 10:50:42 2014 +0800 mmc: sdhci-sirf: fix 8bit width enable by overwriting set_bus_width the implementation of CSR SDHCI controller is a modified version of the one described in the 1.0 specification, and not a normal 3.0 controller. and 8bit-width enable bit of CSR MMC hosts is 3, while stardard hosts use bit 5. this patch fixes the functionality of 8bit transfer in mmc controllers and improve performance for mmc0 a lot. Signed-off-by: Minda Chen <Minda.Chen@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Reviewed-by: Romain Izard <romain.izard.pro@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0173055842cd1d9ed3984e70891c22dbf2f29372 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Aug 22 19:17:51 2014 +0530 mmc: dw_mmc: Support voltage changes For UHS cards we need the ability to switch voltages from 3.3V to 1.8V. Add support to the dw_mmc driver to handle this. Note that dw_mmc needs a little bit of extra code since the interface needs a special bit programmed to the CMD register while CMD11 is progressing. This means adding a few extra states to the state machine to track. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 51da2240906cb94e8f6ba55e403b6206df6fb2dd Author: Yuvaraj CD <yuvaraj.cd@xxxxxxxxx> Date: Fri Aug 22 19:17:50 2014 +0530 mmc: dw_mmc: use mmc_regulator_get_supply to handle regulators This patch makes use of mmc_regulator_get_supply() to handle the vmmc and vqmmc regulators.Also it moves the code handling the these regulators to dw_mci_set_ios().It turned on the vmmc and vqmmc during MMC_POWER_UP and MMC_POWER_ON,and turned off during MMC_POWER_OFF. Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit cc8aa7de48277f62fe3fced762d75f01ce57e909 Author: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Date: Thu Aug 14 18:29:24 2014 +0800 mmc: core: resolve divded by zero panic With one special SD card, below divide by zero error observed: ... [ 2.144300] divide error: 0000 [#1] PREEMPT SMP [ 2.148860] Modules linked in: [ 2.151898] [ 2.152685] Set up 4031 stolen pages starting at 0x0001f000, GTT offset 0K [ 2.157330] Set up 0 CI stolen pages starting at 0x00000000, GTT offset 131072K [ 2.167581] Pid: 5, comm: kworker/u:0 Not tainted 3.0.8-138216-g974a2ab #1 [ 2.169506] [drm] PSB GTT mem manager ready, tt_start 4031, tt_size 28737 pages [ 2.169906] [drm] SGX core id = 0x00000000 [ 2.169920] [drm] SGX core rev major = 0x00, minor = 0x00 [ 2.169934] [drm] SGX core rev maintenance = 0x00, designer = 0x00 [ 2.197370] Intel Corporation Medfield/iCDKB [ 2.201716] EIP: 0060:[<c1697ca6>] EFLAGS: 00010246 CPU: 1 [ 2.207198] EIP is at mmc_init_erase+0x76/0x150 [ 2.211704] EAX: 00002000 EBX: dcd1b400 ECX: 00002000 EDX: 00000000 [ 2.217957] ESI: 00000000 EDI: dcd5c800 EBP: dd867e84 ESP: dd867e7c [ 2.224214] DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068 [ 2.229605] Process kworker/u:0 (pid: 5, ti=dd866000 task=dd868000 task.ti=dd866000) [ 2.237325] Stack: [ 2.239322] dcd1b400 00000000 dd867eb0 c16a06da c1ab7c44 dd995aa8 00000003 00000000 [ 2.247054] 00000000 00000000 dcd5c800 00000000 dcd1b400 dd867ef8 c16a1012 c1698b00 [ 2.254785] 00000029 00000001 c194eb80 dcd5c9ec dd867e00 c1239b00 00000000 00000000 [ 2.262519] Call Trace: [ 2.264975] [<c16a06da>] mmc_sd_setup_card+0x1da/0x4f0 [ 2.270183] [<c16a1012>] mmc_sd_init_card+0x192/0xc40 [ 2.275304] [<c1698b00>] ? __mmc_claim_host+0x160/0x160 [ 2.280610] [<c1239b00>] ? __schedule_bug+0x50/0x80 [ 2.285556] [<c16a1b89>] mmc_attach_sd+0xc9/0x230 [ 2.290333] [<c169b6ef>] mmc_rescan+0x25f/0x2c0 [ 2.294943] [<c1274223>] process_one_work+0x103/0x400 [ 2.300065] [<c12670fd>] ? mod_timer+0x1ad/0x3c0 [ 2.304756] [<c169b490>] ? mmc_suspend_host+0x1a0/0x1a0 [ 2.310056] [<c127502d>] worker_thread+0x12d/0x4a0 [ 2.314921] [<c18fcfbd>] ? preempt_schedule+0x2d/0x50 [ 2.320047] [<c1274f00[ 2.323976] ---[ end trace 5398ec2720494438 ]--- ... So, seems this bad SD card does not set valid value in related SSR / CSD register fields. And then the driver will set card->erase_size to 0. Then it triggered this divided by zero error when calculate card->pref_erase. Submit this patch to fix the issue. Signed-off-by: Yunpeng Gao <yunpeng.gao@xxxxxxxxx> Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3df01a931348c4c295c0e8ace17d4d764d93ad2c Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Aug 20 21:39:20 2014 +0800 mmc: sunxi: Declare ERASE capability Declare ERASE capability so we can use filesystems with the discard option and the fstrim tool. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 066173b6436dfc57a96b2d940f4e727fe8131261 Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Wed Aug 20 13:27:44 2014 +0300 mmc: sdhci: Add PCI IDs for Intel Braswell The hardware is the same as used in Baytrail. Add these new PCI IDs to the driver's list of supported IDs. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 4cdc2ec1da322776215c4d6bca0717a7a103a4dd Author: addy ke <addy.ke@xxxxxxxxxxxxxx> Date: Tue Aug 19 12:36:14 2014 +0800 mmc: dw_mmc: move rockchip related code to a separate file To support HS200 and UHS-1, we need add a big hunk of code, as shown in the following patches. So a separate file for rockchip SOCs is suitable. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit da29fe2bf573f0ae56fdc2e790387cb73fc8c6f8 Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Sun Aug 24 20:03:00 2014 -0700 mmc: tmio: add actual clock support as option Some controller is supporting actual clock on SD_CLK_CTRL :: DIV[7:0]. Renesas SH-Mobile SDHI doesn't support, but, Renesas R-Car SDHI supports it. This patch adds new TMIO_MMC_CLK_ACTUAL flag for it. [Kuninori Morimoto: tidyuped for upstreaming] Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b30d6958a014812158d9729a3e0b6d448f6e8968 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Sun Aug 24 20:02:16 2014 -0700 mmc: tmio: remove SCLKEN bit setting from tmio_mmc_set_clock() TMIO clock is set via tmio_mmc_set_clock() -> tmio_mmc_clk_start(), and SCLKEN bit will be set on tmio_mmc_clk_start(). It is not needed on tmio_mmc_set_clock() function. The required clock setting will not be able to set in some clocks without this patch. Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit e85dd04ea8c8d32ba8eae278959d28df34338e9d Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Sun Aug 24 20:01:54 2014 -0700 mmc: tmio: remove Renesas specific #ifdef This patch adds new TMIO_MMC_HAVE_CTL_DMA_REG flag, and remove Renesas specific #ifdef from tmio driver Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 81e888daab027e05130b0459e5d8e0b42dac4323 Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Sun Aug 24 20:01:32 2014 -0700 mmc: tmio: check ILL_FUNC instead of CBSY Some controllers need to check SD bus status when writing data. Then, it checks ILL_FUNC bit on SD_INFO2 register, and this method is controlled via TMIO_MMC_HAS_IDLE_WAIT flags. Same method is required on tmio_mmc_data_irq() which will be called after writing data. Current driver is checking CBSY bit for this purpose, but, some controllers doesn't have CBSY bit. This patch checks ILL_FUNC bit instead of CBSY bit if it has TMIO_MMC_HAS_IDLE_WAIT flags [Kuninori Morimoto: tidyuped for upstreaming] Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6b98757e53cb0e93b02db4067c14afcb32c90615 Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Sun Aug 24 20:00:52 2014 -0700 mmc: tmio: add TMIO_MMC_SDIO_STATUS_QUIRK Renesas R-Car SDHI should set reserved bits on CTL_SDIO_STATUS register when writing. This patch adds new TMIO_MMC_SDIO_STATUS_QUIRK flags for this purpose [Kuninori Morimoto: tidyuped for upstreaming enabled this flags for all SH-Mobile/R-Car] Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b8d11962c2d83c984d5afd091e5b725ad2fd5607 Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Sun Aug 24 20:00:25 2014 -0700 mmc: tmio: control multiple block transfer mode Renesas SDHI has "Multiple Block Transfer Mode" settings on SD_CMD register which controls CMD12 automatically. This patch cares it, because CMD12 is not needed when CMD53 (= SD_IO_RW_EXTENDED) [Kuninori Morimoto: tidyuped for upstreaming enabled this flags for all SH-Mobile/R-Car] Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f83bfa751babb521924f6d8c93055215d2eb33cc Author: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Date: Sun Aug 24 19:59:22 2014 -0700 mmc: tmio: clear error IRQ status Next card access will be always error if it didn't clear error status Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 384b2cbd56a02efb16358ed7c0c039e4afca5ed0 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Sun Aug 24 19:58:48 2014 -0700 mmc: tmio: care about DMA tx/rx addr offset Basically, SD_BUF0 Tx/Rx addresses are same in normal TMIO controller, but, it is different on Renesas R-Car SDHI controller if it uses DMAC (Rx address needs to add 0x2000 to Tx address) This patch adds new .dma_rx_offset and cares it Tested-by: Nguyen Xuan Nui <nx-nui@xxxxxxxxxxx> Tested-by: Hiep Cao Minh <cm-hiep@xxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Ben Dooks <ben-linux@xxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 341eb6a4e7beea5730faf55610ef60584bcfffcf Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 13:22:51 2014 +0200 mmc: tmio: Remove library functions for system PM These library functions aren't used and nor needed, let's remove them. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 70a15e1a3c58ee841415c84170b80a3859027686 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 12:28:20 2014 +0200 mmc: tmio_mmc: Fixup system PM suspend lock-up At system PM suspend, the tmio core accessed the internal registers of the controller without first moving the device into active state. This caused a lock-up in system PM suspend phase. The reason for the register access were masking of IRQs. Since that is managed via the runtime PM suspend path, let's just re-use that path for system PM suspend. In other words force the device into runtime PM suspend state at system PM suspend and restore it to active state at system PM resume. Reported-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 753a688c9f28ad3198611bbbd39f3b226c35ab98 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 12:18:26 2014 +0200 mmc: sdhi: Fixup system PM suspend lock-up At system PM suspend, the tmio core accessed the internal registers of the controller without first moving the device into active state. This caused a lock-up in system PM suspend phase. The reason for the register access were masking of IRQs. Since that is managed via the runtime PM suspend path, let's just re-use that path for system PM suspend. In other words force the device into runtime PM suspend state at system PM suspend and restore it to active state at system PM resume. Reported-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 78f76df60926f7853df9ee2b707ea9254129775c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 12:12:02 2014 +0200 mmc: tmio_mmc: Enable runtime PM support To take advantage of the clock gating support, use the runtime PM callbacks provided by the tmio core. Additionally, we make use of the SET_PM_RUNTIME_PM_OPS, which is a preparation needed to simplify system PM. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit f74f1e38206df93b9e11d5a8b84743e61c0768a6 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 12:06:55 2014 +0200 mmc: sdhi: Make runtime PM callbacks available for CONFIG_PM To be able to simplify system PM, let's re-use the runtime PM callbacks by converting to the SET_PM_RUNTIME_PM_OPS macro. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 9ade7dbf20e8fc73d9784b772e320239de2acf08 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 12:03:20 2014 +0200 mmc: tmio: Make runtime PM callbacks available for CONFIG_PM To give the option for tmio hosts to use the runtime PM callbacks for CONFIG_PM_SLEEP as well as CONFIG_PM_RUNTIME, move them to CONFIG_PM. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 20e955c3c746f434a2f97ab08ac6bd71f63c6afa Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Mon Aug 25 11:55:57 2014 +0200 mmc: tmio: Mask all IRQs when inactive To make sure we don't receive any spurious IRQs while we are inactive, mask the IRQs from within the ->runtime_suspend() callback. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit ae12d25053fa20d67b16e568917b956006d5dc01 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Oct 30 00:16:17 2013 +0100 mmc: tmio: Handle clock gating from runtime PM functions Add clock gating control as a part of the tmio library functions for runtime PM. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 3b292bb0e99018c448e0f5a26c29c68113a1b7bf Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 24 17:53:15 2013 +0200 mmc: tmio: Restructure ->set_ios() and adapt ->probe() to it An internal power state machine were beeing used to keep ->probe() and ->set_ios() in sync. Especially for handling specific scenarios while using CONFIG_MMC_CLKGATE. Moreover dependency to CONFIG_MMC_CLKGATE existed to handle runtime PM properly, which we moves away from here. By removing the state machine and instead make ->set_ios() rely on the information provided through the function's in-parameters, the code becomes significantly simplier. Additonally as a part of this rework we prepares for making the runtime PM callbacks responsible of clock gating. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 9ae4ed7d30f433873351d5ba14ae000d10e10430 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 24 17:42:53 2013 +0200 mmc: tmio: Extract bus_width modifications to a separate function Move code for bus_width modification, out of the ->set_ios() callback and into a separate function, to simplify code. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 0369483efc1719f47249fa94329aa94155edf69d Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 24 16:42:33 2013 +0200 mmc: tmio: Keep host active while serving requests Use runtime PM to keep the host active during I/O operations and other requests which requires the tmio hardware to be powered. Additionally make use of the runtime PM autosuspend feature with a default timeout of 50 ms. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 7501c4315faf46b088ed4de4d8695a91d7d63869 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Thu Oct 24 15:58:45 2013 +0200 mmc: tmio: Keep host active while SDIO IRQ is enabled The host must be kept active to be able to serve SDIO IRQs, thus let's prevent it from going inactive while SDIO IRQ is enabled. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> commit 215ba3995ae89866a58b8df41136811c665a22b9 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Thu Jun 12 09:47:45 2014 +0200 mmc: atmel-mci: add 0x600 IP version Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9ed7ca89e0d287e054d3816b8c0c57514eb23726 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Thu Aug 14 14:39:00 2014 +0200 mmc: core: Use regulator_get_voltage() if OCR mask is empty. The operation conditions register (OCR) stores the voltage profile of the card, however the list of possible voltages is restricted by the voltage range supported by the supply used as VCC/VDD. So in mmc_vddrange_to_ocrmask() a OCR mask is obtained to filter the not supported voltages, from the value read in the host controller OCR register. For fixed regulators, regulator_list_voltage() returns the fixed output for the first selector but this doesn't happen for switch (FET) regulators that obtain their voltage from their parent supply. A call to regulator_get_voltage() is needed in this case so the regulator core can return the FET's parent supply voltage output. This change is consistent with the fact that for other fixed regulators (that are not FETs) the OCR mask is returned even when mmc_regulator_set_ocr() checks if the regulator is fixed before calling regulator_set_voltage(). Without this patch, the following warning is reported when a FET is used as a vmmc-supply: dwmmc_exynos 12220000.mmc: Failed getting OCR mask: -22 Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 3d705d14fe4c72be83bae1610680e209ee226b9d Author: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Date: Tue Aug 19 10:45:51 2014 +0200 mmc: implement Driver Stage Register handling Some eMMC and SD cards implement a DSR register that allows to tune raise/fall times and drive strength of the CMD and DATA outputs. The values to use depend on the card in use and the host. It might be needed to reduce the drive strength to prevent voltage peaks above the host's specification. Implement a 'dsr' devicetree property that allows to specify the value to set the DSR to. For non-dt setups the new members of mmc_host can be set by board code. This patch was initially authored by Sascha Hauer. It contains improvements authored by Markus Niebel and Uwe Kleine-König. Signed-off-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Signed-off-by: Markus Niebel <Markus.Niebel@xxxxxxxxxxxx> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b315376573778b195e640a163675fb9f5937ddca Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Aug 15 14:02:15 2014 +0100 mmc: sdhci-pxav3: set_uhs_signaling is initialized twice differently .set_uhs_signaling field is currently initialised twice once to the arch specific callback pxav3_set_uhs_signaling, and also to the generic sdhci_set_uhs_signaling callback. This means that uhs is currently broken for this platform currently, as pxav3 has some special constriants which means it can't use the generic callback. This happened in commit 96d7b78cfc2f ("mmc: sdhci: convert sdhci_set_uhs_signaling() into a library function") commit a702c8abb2a9 ("mmc: host: split up sdhci-pxa, create sdhci-pxav3.c")' Fix this and hopefully prevent it happening in the future by ensuring named initialisers always follow the declaration order in the structure definition. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 1d75f74b14dbeee1bd9f1e96efa1cbebeb2804cb Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Aug 12 17:14:29 2014 +0100 mmc: sdhci-acpi.c: Use SET_RUNTIME_PM_OPS macro to set runtime pm callbacks This allows us to get rid of the #else condition, as the macro compiles away to nothing if not enabled. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f3a92b1a3258f8ef9a59bab24b9ea68b60908c44 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Aug 12 17:14:28 2014 +0100 mmc: sdhci-pci: Use SET_RUNTIME_PM_OPS macro to set runtime pm callbacks This allows us to get rid of the #else condition, as the macro compiles away to nothing if not enabled. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0529b810944932038fae1691b635d585429e6030 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Aug 12 17:14:27 2014 +0100 mmc: dw_mmc-pltfm: Remove superflous #else condition on CONFIG_PM_SLEEP As the code is using SIMPLE_DEV_PM_OPS helper, this compiles away to nothing if CONFIG_PM_SLEEP is disabled. Thus we don't need to #define the suspend/resume callbacks to NULL. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit eb4667426ba7b0676e888aa8ffc448fcf607d284 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Aug 12 17:14:26 2014 +0100 mmc: dw_mmc-pci: Remove superflous #else condition on CONFIG_PM_SLEEP As the code is using SIMPLE_DEV_PM_OPS helper, this compiles away to nothing if CONFIG_PM_SLEEP is disabled. Thus we don't need to #define the suspend/resume callbacks to NULL. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2137f5d3b8e8e04cff06194cacd0f6357495ac94 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Tue Aug 12 17:14:25 2014 +0100 mmc: remove .owner field for drivers using module_platform_driver This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit dea67c4ec8218b301d7cac7ee6e63dac0bc566cb Author: Fu Zhonghui <zhonghui.fu@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:48:14 2014 +0800 mmc: core: sdio: Fix unconditional wake_up_process() on sdio thread 781e989cf59 ("mmc: sdhci: convert to new SDIO IRQ handling") and bf3b5ec66bd ("mmc: sdio_irq: rework sdio irq handling") disabled the use of our own custom threaded IRQ handler, but left in an unconditional wake_up_process() on that handler at resume-time. Link: https://bugzilla.kernel.org/show_bug.cgi?id=80151 In addition, the check for MMC_CAP_SDIO_IRQ capability is added before enable sdio IRQ. Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Chris Ball <chris@xxxxxxxxxx> Signed-off-by: Fu Zhonghui <zhonghui.fu@xxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b1dec12032af3a5239171c76cd43a4d372d8829b Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 14 09:45:28 2014 -0700 mmc: dw_mmc: Add support for MIPS There are upcoming MIPS SoCs with dw_mmc hosts. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 0857c6912d5cd04d177473f2be38709f08982710 Author: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Date: Thu Aug 14 09:45:27 2014 -0700 mmc: dw_mmc: Add dependency on DMA The dw_mmc drivers rely on the DMA API, so update the Kconfig entry to depend on HAS_DMA. Since the drivers should build on any platform with DMA, allow the driver to compile tested on non-ARC/ARM platforms. Signed-off-by: Andrew Bresticker <abrestic@xxxxxxxxxxxx> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit fac6a52fe9b14851d56b3c19c3d5a95790c46fac Author: Matthieu CASTET <matthieu.castet@xxxxxxxxxx> Date: Thu Aug 14 16:03:18 2014 +0200 sdhci : recompute timeout_clk when needed when SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK is set, timeout_clk is sdclk. We need to update it when we change sdclk in sdhci_set_clock. This allow to have a more precisse timeout and max_busy_timeout. This can help for command that need a big busy wait (erase, ...). Signed-off-by: Matthieu CASTET <matthieu.castet@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit c5abd5e8998e20c2e82999670a03f26f1437d744 Author: Matthieu CASTET <matthieu.castet@xxxxxxxxxx> Date: Thu Aug 14 16:03:17 2014 +0200 sdhci : handle busy timeout irq When we wait for busy after sending a command, if there is a timeout, we got SDHCI_INT_DATA_TIMEOUT flags. Before this commit we got the message : "Got data interrupt 0x00100000 even though no data operation was in progress." and we need to wait 10s that sdhci_timeout_timer expires. Signed-off-by: Matthieu CASTET <matthieu.castet@xxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 6f67cc6fd1cf339a0f19b9d4a998ec3c0123b1b6 Author: Roger Tseng <rogerable@xxxxxxxxxxx> Date: Fri Aug 15 14:06:01 2014 +0800 mmc: rtsx_usb_sdmmc: fix incorrect last byte in R2 response Current code erroneously fill the last byte of R2 response with an undefined value. In addition, the controller actually 'offloads' the last byte (CRC7, end bit) while receiving R2 response and thus it's impossible to get the actual value. This could cause mmc stack to obtain inconsistent CID from the same card after resume and misidentify it as a different card. Fix by assigning dummy CRC and end bit: {7'b0, 1} = 0x1 to the last byte of R2. Cc: <stable@xxxxxxxxxxxxxxx> # v3.16+ Fixes: c7f6558d84af ("mmc: Add realtek USB sdmmc host driver") Signed-off-by: Roger Tseng <rogerable@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit d1419d50c1bf711e9fd27b516a739c86b23f7cf9 Author: Roger Tseng <rogerable@xxxxxxxxxxx> Date: Fri Aug 15 14:06:00 2014 +0800 mmc: rtsx_pci_sdmmc: fix incorrect last byte in R2 response Current code erroneously fill the last byte of R2 response with an undefined value. In addition, the controller actually 'offloads' the last byte (CRC7, end bit) while receiving R2 response and thus it's impossible to get the actual value. This could cause mmc stack to obtain inconsistent CID from the same card after resume and misidentify it as a different card. Fix by assigning dummy CRC and end bit: {7'b0, 1} = 0x1 to the last byte of R2. Cc: <stable@xxxxxxxxxxxxxxx> # v3.8+ Fixes: ff984e57d36e ("mmc: Add realtek pcie sdmmc host driver") Signed-off-by: Roger Tseng <rogerable@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ee9d19d42c6b30e464a4c748654582fc6b3ff853 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Aug 14 09:00:19 2014 +0800 mmc: au1xmmc: fix error return code in au1xmmc_probe() Fix to return a negative error code from the error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2aa354650a8b024a507f5b0fd969b7cfa3848620 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Aug 13 08:13:43 2014 -0700 mmc: dw_mmc: Make sure we don't get stuck when we get an error If we happened to get a data error at just the wrong time the dw_mmc driver could get into a state where it would never complete its request. That would leave the caller just hanging there. We fix this two ways and both of the two fixes on their own appear to fix the problems we've seen: 1. Fix a race in the tasklet where the interrupt setting the data error happens _just after_ we check for it, then we get a EVENT_XFER_COMPLETE. We fix this by repeating a bit of code. 2. Fix it so that if we detect that we've got an error in the "data busy" state and we're not going to do anything else we end the request and unblock anyone waiting. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Yuvaraj Kumar C D <yuvaraj.cd@xxxxxxxxx> Acked-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit b3683994843a0ede0e19daccd1ac32a46b21eb39 Author: Yi Sun <yi.y.sun@xxxxxxxxx> Date: Wed Aug 13 13:34:01 2014 +0800 mmc: Correct the value of MMC_NUM_PHY_PARTITION eMMC card can support up to 7 physical partitions, including 2 boot, 1 RPMB and 4 GPs. Change MMC_NUM_PHY_PARTITION from 6 to 7, which is the correct value. Signed-off-by: Yi Sun <yi.y.sun@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ae9060377a67a0840f980bc0e2cb32af07baf479 Author: Chuanxiao.Dong <chuanxiao.dong@xxxxxxxxx> Date: Fri Aug 1 14:00:13 2014 +0800 mmc: sdhci: fix the wrong type of curr curr should use signed type since it will contain the returned value which is possible to be a negative value. Using u32 will make the returned value to be true even there is a negative result. Change to use int instead of u32 Signed-off-by: Chuanxiao Dong <chuanxiao.dong@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit bb2f45927f8e0d1fc0633f65cc1f17a40c80bf24 Author: Apelete Seketeli <apelete@xxxxxxxxxxxx> Date: Mon Jul 21 06:37:45 2014 +0200 mmc: jz4740: prepare next dma transfer in parallel with current transfer Make use of the MMC asynchronous request capability to prepare the next DMA transfer request in parallel with the current transfer. This is done by adding pre-request and post-request callbacks that are used by the MMC framework during an active data transfer. It should help reduce the impact of DMA preparation overhead on the SD card performance. Signed-off-by: Apelete Seketeli <apelete@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 7ca27a6f80a4042666a28977ff8ee3aa527c6cd4 Author: Apelete Seketeli <apelete@xxxxxxxxxxxx> Date: Mon Jul 21 06:37:44 2014 +0200 mmc: jz4740: add dma infrastructure for data transfers Until now the MMC driver for JZ4740 SoC was relying on PIO mode only for data transfers. This patch allows the use of DMA for data trasnfers in addition to PIO mode by relying on DMA Engine. DMA tranfers performance might be further improved by taking advantage of the asynchronous request capability of the MMC framework. Signed-off-by: Apelete Seketeli <apelete@xxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit f629ba2c04c949aa62c85b48c0b73b915b98defc Author: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Date: Thu Jul 31 14:01:38 2014 +0800 mmc: dw_mmc: add support for RK3288 This patch focuses on clock setting for RK3288 mmc controller. In RK3288 mmc controller, CLKDIV register can only be set 0 or 1, and if DDR 8bit mode, CLKDIV register must be set 1. Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 8ca28610e5e37193cd61fefa4310941e28de10ca Author: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Date: Thu Aug 7 15:14:06 2014 +0200 mmc: include linux/types.h for bool definition in atmel-mci.h This patch adds an include of linux/types.h to make sure bool is defined before utilized in this header file. Signed-off-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Acked-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 45c19e2a812f9f98c0ad65c8d4a5648b6edcd0f8 Author: Pawel Moll <pawel.moll@xxxxxxx> Date: Tue Aug 12 11:37:52 2014 +0100 mmc: sdhci-pltfm: Do not use parent as the host's device The code selecting a device for the sdhci host has been continuously tweaked (4b711cb13843f5082e82970dd1e8031383134a65 "mmc: sdhci-pltfm: Add structure for host-specific data" and a4d2177f00a5252d825236c5124bc1e9918bdb41 "mmc: sdhci-pltfm: dt device does not pass parent to sdhci_alloc_host" while there does not seem to be any reason to use platform device's parent in the first place. The comment saying "Some PCI-based MFD need the parent here" seem to refer to Timberdale FPGA driver (the only MFD driver registering SDHCI cell, drivers/mfd/timberdale.c) but again, the only situation when parent device matter is runtime PM, which is not implemented for Timberdale. Signed-off-by: Pawel Moll <pawel.moll@xxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit ca6429d4952398570a3963bd4b5842b519087df8 Author: Tim Kryger <tim.kryger@xxxxxxxxx> Date: Mon Aug 11 22:05:12 2014 -0700 mmc: core: Remove fixed voltage regulator logic There is no need for regulator consumers to include special logic for fixed voltage regulators as they support regulator_set_voltage() just like their non-fixed regulator counterparts. Signed-off-by: Tim Kryger <tim.kryger@xxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 9cb15142d0e336874ecc753e9a4e5696c46a67d9 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Jul 29 03:50:30 2014 +0100 mmc: mmci: Add qcom dml support to the driver. On Qualcomm APQ8064 SOCs, SD card controller has an additional glue called DML (Data Mover Local/Lite) to assist dma transfers. This hardware needs to be setup before any dma transfer is requested. DML itself is not a DMA engine, its just a gule between the SD card controller and dma controller. Most of this code has been ported from qualcomm's 3.4 kernel. This patch adds the code necessary to intialize the hardware and setup before doing any dma transfers. Reviewed-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 30296f61159e803ba4c35b4bd1a2fef4cdd3a1d4 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 5 17:47:35 2014 +0300 video: fbdev: use %*ph specifier to dump small buffers Instead of dereference each byte let's use %*ph specifier in the printk() calls. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 9c8ee3c7341393811d5be5eb61b815e76f92c799 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Sep 8 17:17:13 2014 +0200 video: mx3fb: always enable BACKLIGHT_LCD_SUPPORT Commit 7edaa761ee81b ("video: mx3fb: Add backlight control support") changed the mx3fb driver so it always selects the BACKLIGHT_CLASS_DEVICE symbol, but that is hidden behind BACKLIGHT_LCD_SUPPORT in Kconfig, so we get a Kconfig warning for multi_v5_defconfig, which doesn't have that: Warning: (DRM_RADEON && DRM_NOUVEAU && DRM_I915 && DRM_GMA500 && DRM_SHMOBILE && DRM_TILCDC && FB_BACKLIGHT && FB_MX3 && USB_APPLEDISPLAY && FB_OLPC_DCON && ASUS_LAPTOP && SONY_LAPTOP && THINKPAD_ACPI && EEEPC_LAPTOP && ACPI_CMPC && SAMSUNG_Q10) selects BACKLIGHT_CLASS_DEVICE which has unmet direct dependencies (HAS_IOMEM && BACKLIGHT_LCD_SUPPORT) This makes sure we always enable both symbols together for mx3fb, like we do for the other drivers that can't be built without backlight support. Note that a better solution would be to ensure the driver can work with or without backlight support. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: linux-fbdev@xxxxxxxxxxxxxxx Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 60c20784f243199599a425f73b8060da3a0f5ead Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Aug 26 10:28:43 2014 -0700 ARM: dts: Add rk808 PMIC to rk3288-evb-rk808 This adds initial support. For now, regulators are always on and we don't specify the input supply for all of the regulators. Signed-off-by: huang lin <hl@xxxxxxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 00703e0b79906969f3ac27ab9fab646afc671fb4 Author: Simon Danner <danner.simon@xxxxxxxxx> Date: Sat Sep 6 15:44:06 2014 +0200 Documentation: remove obsolete pcmcia-cs from Changes remove pcmcia-cs from Changes, since it seems to be obsolete since a long time Signed-off-by: Simon Danner <danner.simon@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 03ebb7d03f94cbba45742dae1a811ee17d4bbde4 Author: Simon Danner <danner.simon@xxxxxxxxx> Date: Sat Sep 6 15:42:48 2014 +0200 Documentation: update links in Changes Update broken links in Changes Signed-off-by: Simon Danner <danner.simon@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit da3dae54e4ff09886b9a19224c8d9556bb2ba096 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Tue Sep 9 01:27:23 2014 +0900 Documentation: Docbook: Fix generated DocBook/kernel-api.xml This patch fix spelling typo found in DocBook/kernel-api.xml. It is because the file is generated from the source comments, I have to fix the comments in source codes. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit d7f9a3887b91df6404bb4aae101efecc4a4909f7 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Wed Sep 3 16:05:23 2014 -0700 ARM: dts: Add mshc aliases for rk3288 It's convenient (and less confusing to people reading logs) if the eMMC port on rk3288 is consistenly marked with mmc0 and the sdmmc port on rk3288 is consistently marked with mmc1. Add the appropriate aliases. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Sonny Rao <sonnyrao@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 1f53170b80aeb3991b4a250a581422abf93bddb2 Author: huang lin <hl@xxxxxxxxxxxxxx> Date: Fri Sep 5 09:53:11 2014 -0700 ARM: dts: Add SPI nodes to rk3288 This adds basic SPI nodes to the base rk3288 device tree file. A few notes: * It's assumed that most users of the SPI ports are using chip select 0. Thus the default pinctrl for the ports enables chip select 0 (but not chip select 1 on ports that have it). If a board wants to use chip select 1 or wants a GPIO chip select the board should override the pinctrl (just like boards can override UART pinctrl if they have hardware flow control). * Since SPI DMA support appears broken and the SPI works fine without DMA we don't include the DMA references. That can come in a later change. Signed-off-by: huang lin <hl@xxxxxxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit ddf8303f8d818cc002f523c7130aff2c0b1f9a2e Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:55:59 2014 +0800 ARM: dts: Enable USB host1(dwc) on rk3288-evb USB host1 port is the host A port nearby the otg port. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 12dd3653aebe81ea205e226079afb4f119954ec0 Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:55:58 2014 +0800 ARM: dts: add rk3288 dwc2 controller support rk3288 has two kind of usb controller, this add the dwc2 controller for otg and host1. Controller can works with usb PHY default setting and Vbus on. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit e7e69265b6269763799a5de9c263fbbce32cd3a3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 8 22:48:03 2014 +0530 sound: pci: au88x0: printk replacement as pr_* macros are more preffered over printk, so printk replaced with corresponding pr_* macros. this patch will generate warning from checkpatch as it only did printk replacement and didnot fixed other style issues. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 442302820356977237e32a76a211e7942255003a Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Mon Sep 8 08:20:43 2014 +0200 s390/spinlock: optimize spin_unlock code Use a memory barrier + store sequence instead of a load + compare and swap sequence to unlock a spinlock and an rw lock. For the spinlock case this saves us two memory reads and a not needed cpu serialization after the compare and swap instruction stored the new value. The kernel size (performance_defconfig) gets reduced by ~14k. Average execution time of a tight inlined spin_unlock loop drops from 5.8ns to 0.7ns on a zEC12 machine. An artificial stress test case where several counters are protected with a single spinlock and which are only incremented while holding the spinlock shows ~30% improvement on a 4 cpu machine. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 3d1e220d08c6a00ffa83d39030b8162f66665b2b Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Sep 3 13:26:23 2014 +0200 s390/ftrace: optimize mcount code Reduce the number of executed instructions within the mcount block if function tracing is enabled. We achieve that by using a non-standard C function call ABI. Since the called function is also written in assembler this is not a problem. This also allows to replace the unconditional store at the beginning of the mcount block with a larl instruction, which doesn't touch memory. In theory we could also patch the first instruction of the mcount block to enable and disable function tracing. However this would break kprobes. This could be fixed with implementing the "kprobes_on_ftrace" feature; however keeping the odd jprobes working seems not to be possible without a lot of code churn. Therefore keep the code easy and simply accept one wasted 1-cycle "larl" instruction per function prologue. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit ea2f47699082b971769be8b8f38c08b49219f471 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Sep 3 10:37:40 2014 +0200 s390/kprobes: remove unused jprobe_return_end() Even if it has a __used annotation it is actually unused. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 5d6a0163494c78ad7b6de733c8793e66b5da9212 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Aug 15 13:16:09 2014 +0200 s390/ftrace: enforce DYNAMIC_FTRACE if FUNCTION_TRACER is selected We have too many combinations for function tracing. Lets simply stick to the most advanced option, so we don't have to care of other combinations. This means we always select DYNAMIC_FTRACE if FUNCTION_TRACER is selected. In the s390 Makefile also remove CONFIG_FTRACE_SYSCALLS since that functionality got moved to architecture independent code in the meantime. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 10dec7dbd50ab0be96dda085d625d54ce800e426 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Aug 15 13:01:46 2014 +0200 s390/ftrace: add HAVE_DYNAMIC_FTRACE_WITH_REGS support This code is based on a patch from Vojtech Pavlik. http://marc.info/?l=linux-s390&m=140438885114413&w=2 The actual implementation now differs significantly: Instead of adding a second function "ftrace_regs_caller" which would be nearly identical to the existing ftrace_caller function, the current ftrace_caller function is now an alias to ftrace_regs_caller and always passes the needed pt_regs structure and function_trace_op parameters unconditionally. Besides that also use asm offsets to correctly allocate and access the new struct pt_regs on the stack. While at it we can make use of new instruction to get rid of some indirect loads if compiled for new machines. The passed struct pt_regs can be changed by the called function and it's new contents will replace the current contents. Note: to change the return address the embedded psw member of the pt_regs structure must be changed. The psw member is right now incomplete, since the mask part is missing. For all current use cases this should be sufficent. Providing and restoring a sane mask would mean we need to add an epsw/lpswe pair to the mcount code. Only these two instruction would cost us ~120 cycles which currently seems not necessary. Cc: Vojtech Pavlik <vojtech@xxxxxxx> Cc: Jiri Kosina <jkosina@xxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 2481a87b0250bbf429fc8cdc78331efbc44a0221 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Fri Aug 15 12:33:46 2014 +0200 s390/ftrace: optimize function graph caller code When the function graph tracer is disabled we can skip three additional instructions. So let's just do this. So if function tracing is enabled but function graph tracing is runtime disabled, we get away with a single unconditional branch. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 0f1b1ff54b386926ef1a524e60ef89ae7738bbd5 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Thu Aug 14 16:06:02 2014 +0200 s390: pass march flag to assembly files as well Currently the march flag gets only passed to C files, but not to assembler files. This means that we can't add new instructions like e.g. aghik to asm files, since the assembler doesn't know of the new instructions if the appropriate march flag isn't specified. So also pass the march flag when compiling assembler files as well. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b7eacb59cd7fb5e98852186e485c0c865f862645 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 29 12:31:45 2014 +0200 s390/vdso: add vdso support for coarse clocks Add CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE optimization to the 64-bit and 31-bit vdso. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 070b7be633dc33c0899e8c934b4d5fad046b06e8 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 29 12:44:40 2014 +0200 s390/vdso: replace stck with stcke If gettimeofday / clock_gettime are called multiple times in a row the STCK instruction will stall until a difference in the result is visible. This unnecessarily slows down the vdso calls, use stcke instead of stck to get rid of the stall. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit 369e8c355383143964290b6a706eb6639ae3588c Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Aug 27 07:51:05 2014 +0200 Documentation/kprobes: add s390 to list of supported architectures s390 supports kprobes since 2006 but is missing in the list of architectures that support kprobes. Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit b7d5006de1afab266175288f41e5dc70e69cce33 Author: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Date: Wed Aug 27 07:35:05 2014 +0200 s390: remove unused MACHINE_FLAG_RRBM Signed-off-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> commit f3dbd802b3caf8da92173870bc270dda6b3f84ba Author: Rajat Jain <rajatxjain@xxxxxxxxx> Date: Tue Sep 2 16:26:00 2014 -0700 PCI: Enable CRS Software Visibility for root port if it is supported Per PCIe r3.0, sec 2.3.2, an endpoint may respond to a Configuration Request with a Completion with Configuration Request Retry Status (CRS). This terminates the Configuration Request. When the CRS Software Visibility feature is disabled (as it is by default), a Root Complex must handle a CRS Completion by re-issuing the Configuration Request. This is invisible to software. From the CPU's point of view, an endpoint that always responds with CRS causes a hang because the Root Complex never supplies data to complete the CPU read. When CRS Software Visibility is enabled, a Root Complex that receives a CRS Completion for a read of the Vendor ID must return data of 0x0001. The Vendor ID of 0x0001 indicates to software that the endpoint is not ready. We now have more devices that require CRS Software Visibility. For example, a PLX 8713 NT bridge may respond with CRS until it has been configured via I2C, and the I2C configuration is completely independent of PCI enumeration. Enable CRS Software Visibility if it is supported. This allows a system with such a device to work (though the PCI core times out waiting for it to become ready, and we have to rescan the bus after it is ready). This essentially reverts ad7edfe04908 ("[PCI] Do not enable CRS Software Visibility by default"). The failures that led to ad7edfe04908 should be addressed by 89665a6a7140 ("PCI: Check only the Vendor ID to identify Configuration Request Retry"). [bhelgaas: changelog] Link: http://lkml.kernel.org/r/20071029061532.5d10dfc6@snowcone Link: http://lkml.kernel.org/r/alpine.LFD.0.9999.0712271023090.21557@xxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Rajat Jain <rajatxjain@xxxxxxxxx> Signed-off-by: Rajat Jain <rajatjain@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <groeck@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 89665a6a71408796565bfd29cfa6a7877b17a667 Author: Rajat Jain <rajatxjain@xxxxxxxxx> Date: Mon Sep 8 14:19:49 2014 -0700 PCI: Check only the Vendor ID to identify Configuration Request Retry Per PCIe r3.0, sec 2.3.2, if a Root Complex - has Configuration Request Retry Status Software Visibility enabled, - issues a Configuration Read of both bytes of the Vendor ID, and - receives a Completion with Configuration Request Retry Status (CRS), it must complete the request to the host by fabricating data of 0x0001 for the Vendor ID and 0xff for any additional bytes in the request. Linux issues a single config read for the four bytes containing the Vendor ID and the Device ID. Previously we checked all four bytes for 0xffff0001 to identify CRS. However, it is only the Vendor ID that really indicates CRS, because it's sufficient to read only those two bytes. Checking the Device ID verifies spec compliance but doesn't add any information. Some Root Complexes appear to indicate CRS by returning 0x0001 for the Vendor ID along with the actual the Device ID. Previously we interpreted that as a valid Vendor/Device ID pair, although 0x0001 is reserved and cannot be a valid Vendor ID. [bhelgaas: changelog] Link: http://lkml.kernel.org/r/4729FC36.3040000@xxxxxxxxx Signed-off-by: Rajat Jain <rajatxjain@xxxxxxxxx> Signed-off-by: Rajat Jain <rajatjain@xxxxxxxxxxx> Signed-off-by: Guenter Roeck <groeck@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a08b6769d4c5e8d2a3192a45e40b3cdcca0da6a1 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Fri Aug 29 10:20:58 2014 -0700 perf/x86: Fix section mismatch in split uncore driver The new split Intel uncore driver code that recently went into tip added a section mismatch, which the build process complains about. uncore_pmu_register() can be called from uncore_pci_probe,() which is not __init and can be called from pci driver ->probe. I'm not fully sure if it's actually possible to call the probe function later, but it seems safer to mark uncore_pmu_register not __init. This also fixes the warning. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409332858-29039-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 066ce64c7e867e95e5fee7c5f6b852710486392a Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Tue Aug 26 18:49:45 2014 +0200 perf/x86/intel: Mark initialization code as such A few of the initialization functions are missing the __init annotation. Fix this and thereby allow ~680 additional bytes of code to be released after initialization. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: x86@xxxxxxxxxx Link: http://lkml.kernel.org/r/1409071785-26015-1-git-send-email-minipli@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 70691d4a0bf7c871559d4ef1b0056edefbca123b Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 16:26:05 2014 +0300 perf/core: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140822132605.GA20130@ada Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e0455e194a5e0cf49bc7596a20d4f7e47995b9c6 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 17:15:36 2014 +0300 perf/callchain: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140822141536.GA32051@ada Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit bdea534db894ea19320f470ce2e63b1d9de96a15 Merge: 39b5a56 2ce7598 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Sep 9 06:48:07 2014 +0200 Merge tag 'v3.17-rc4' into perf/core, to pick up fixes Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8236d907ab3411ad452280faa8b26c1347327380 Author: Jason Low <jason.low2@xxxxxx> Date: Tue Sep 2 00:41:24 2014 -0700 sched: Reduce contention in update_cfs_rq_blocked_load() When running workloads on 2+ socket systems, based on perf profiles, the update_cfs_rq_blocked_load() function often shows up as taking up a noticeable % of run time. Much of the contention is in __update_cfs_rq_tg_load_contrib() when we update the tg load contribution stats. However, it turns out that in many cases, they don't need to be updated and "tg_contrib" is 0. This patch adds a check in __update_cfs_rq_tg_load_contrib() to skip updating tg load contribution stats when nothing needs to be updated. This reduces the cacheline contention that would be unnecessary. Reviewed-by: Ben Segall <bsegall@xxxxxxxxxx> Reviewed-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: jason.low2@xxxxxx Cc: Yuyang Du <yuyang.du@xxxxxxxxx> Cc: Aswin Chandramouleeswaran <aswin@xxxxxx> Cc: Chegu Vinod <chegu_vinod@xxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409643684.19197.15.camel@j-VirtualBox Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5cd038f53ed9ec7a17ab7d536a727363080f4210 Author: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Date: Wed Jun 4 16:25:15 2014 +0800 sched: Migrate waking tasks Current code can fail to migrate a waking task (silently) when TTWU_QUEUE is enabled. When a task is waking, it is pending on the wake_list of the rq, but it is not queued (task->on_rq == 0). In this case, set_cpus_allowed_ptr() and __migrate_task() will not migrate it because its invisible to them. This behavior is incorrect, because the task has been already woken, it will be running on the wrong CPU without correct placement until the next wake-up or update for cpus_allowed. To fix this problem, we need to finish the wakeup (so they appear on the runqueue) before we migrate them. Reported-by: Sasha Levin <sasha.levin@xxxxxxxxxx> Reported-by: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Tested-by: Jason J. Herne <jjherne@xxxxxxxxxxxxxxxxxx> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/538ED7EB.5050303@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a4241aebe924136d6838fd516da6daa727fcd728 Merge: 41b9d72 ab6978c Author: Dave Chinner <david@xxxxxxxxxxxxx> Date: Tue Sep 9 13:25:31 2014 +1000 Merge branch 'xfs-misc-fixes-for-3.18-1' into for-next commit 48a0d1e07d99ecfd1e5922dd22986d5813f17207 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Sep 8 09:57:08 2014 +0900 ARM: shmobile: kzm9g-reference: Enable CMT1 in device tree Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6a5336a77c2caa9b0f8b3aa5c70310291ce2679d Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Mon Sep 8 09:57:06 2014 +0900 ARM: shmobile: sh73a0: Add CMT1 device to DT Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a2ffcf87f5ae83dcd02f5b87bf477ce7e474601e Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Sep 8 09:27:44 2014 +0900 ARM: shmobile: r8a7740: Use SoC-specific 48-bit CMT compat string In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to make use of the SoC-specific CMT compat string for the r8a7740 48-bit CMT clock source. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a51b7b38182918d54813b572d6c28d43082d94ff Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Sep 8 09:27:48 2014 +0900 ARM: shmobile: r8a7779: Use SoC-specific TMU compat string In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to make use of the SoC-specific CMT compat string for the r8a7779 TMU clock source. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4217f323206c50f4a035338c9a09bd24e5bb263a Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Sep 8 09:27:46 2014 +0900 ARM: shmobile: r8a7791: Use SoC-specific 48-bit CMT compat string In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to make use of the SoC-specific CMT compat string for the r8a7791 48-bit CMT clock source. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f401ce481082de6327d12a8dc5528d2f7a4a4445 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Sep 8 09:27:47 2014 +0900 ARM: shmobile: r7s72100: Use SoC-specific MTU2 compat string In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to make use of the SoC-specific CMT compat string for the r7s72100 MTU2 clock source. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 37757030b0f9f107cd428ae7dcb34a778a8e5d57 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Sep 8 09:27:45 2014 +0900 ARM: shmobile: r8a7790: Use SoC-specific 48-bit CMT compat string In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to make use of the SoC-specific CMT compat string for the r8a7790 48-bit CMT clock source. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit dcc683aba83cd8db964a9a1d4582d4829d6efcb2 Merge: 9dddfcf 4333067 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Sep 9 11:50:00 2014 +0900 Merge tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' into dt-timers-for-v3.18 Renesas ARM Based SoC R8a7740 CCF and Timers Updates for v3.18 When booting using the r8a7740/armadillo800eva using dt-reference: * Use CCF to initialise clocks via DT * Initialise timers via DT commit a742795be9ceae2853ca71f216193f29da151da8 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Sep 5 12:23:49 2014 +0200 ARM: shmobile: Initial Alt board device tree Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx> [uli: reduced to minimum, added cmt, enabled scif2, split off from SoC] Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0dce5454d5c258582a7da5590332d9e085886bf7 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Sep 5 12:23:48 2014 +0200 ARM: shmobile: Initial r8a7794 SoC device tree Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx> [uli: reduced to minimum, added cmt, enabled scif2, split off board part] Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 834720dbf03819a8b2d0ba5fbe01d008267f9da6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 29 15:26:21 2014 +0200 ARM: shmobile: armadillo800eva legacy: Use rmobile_add_devices_to_domains() Use a table and the rmobile_add_devices_to_domains() helper function to add all platform devices to their power domains at once, which is more size-efficient than calling rmobile_add_device_to_domain() explicitly for all devices individually. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 753490991fd5036fa4f31de7bc5dd7131ed44cc2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 29 15:26:22 2014 +0200 ARM: shmobile: r8a7740: Clean up pm domain table - Sort pm domains by bit_shift value, - Combine closing and opening curly braces on a single line, as the table will grow much bigger soon. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c839f93bf8468f4380056d0638e3cba0488bb190 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 29 15:26:20 2014 +0200 ARM: shmobile: r8a7740: Use rmobile_add_devices_to_domains() Use a table and the rmobile_add_devices_to_domains() helper function to add all platform devices to their power domains at once, which is more size-efficient than calling rmobile_add_device_to_domain() explicitly for all devices individually. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9eda01b2f665d8bf29f6ac93e3db403290e0f3cf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 29 15:26:19 2014 +0200 ARM: shmobile: sh7372: Make domain_devices[] static __initdata Make the domain_devices[] array static and __initdata, to reduce kernel size: - Making it static gets rid of the code to copy the data to the stack, - Marking it __initdata allows more init memory to be freed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d6dc6ed8540ab8802c6ba31b4292204dd3cb0fee Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Aug 29 15:26:18 2014 +0200 ARM: shmobile: mackerel: Make domain_devices[] static __initdata Make the domain_devices[] array static and __initdata, to reduce kernel size: - Making it static gets rid of the code to copy the data to the stack, - Marking it __initdata allows more init memory to be freed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ab6978c295b074eb2ba4b06fdf206c7ab4f293e5 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:59:12 2014 +1000 xfs: remove rbpp check from xfs_rtmodify_summary_int rbpp is always passed into xfs_rtmodify_summary and xfs_rtget_summary, so there is no need to test for it in xfs_rtmodify_summary_int. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit afabfd30d05264ff493c24bce310b6a5350f099b Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:58:42 2014 +1000 xfs: combine xfs_rtmodify_summary and xfs_rtget_summary xfs_rtmodify_summary and xfs_rtget_summary are almost identical; fold them into xfs_rtmodify_summary_int(), with wrappers for each of the original calls. The _int function modifies if a delta is passed, and returns a summary pointer if *sum is passed. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit b16ed7c114b8cca45fa87b675c431f43ff90c179 Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:58:07 2014 +1000 xfs: combine xfs_dir_canenter into xfs_dir_createname xfs_dir_canenter and xfs_dir_createname are almost identical. Fold the former into the latter, with a helpful wrapper for the former. If createname is called without an inode number, it now only checks for space, and does not actually add the entry. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 94f3cad555d66048906deade06a764f7ea2c6e4d Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:57:52 2014 +1000 xfs: check resblks before calling xfs_dir_canenter Move the resblks test out of the xfs_dir_canenter, and into the caller. This makes a little more sense on the face of it; xfs_dir_canenter immediately returns if resblks !=0; and given some of the comments preceding the calls: * Check for ability to enter directory entry, if no space reserved. even more so. It also facilitates the next patch. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 970fd3f04d5949a4b5f6d0a5fea8e4b6797a5992 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Tue Sep 9 11:57:29 2014 +1000 xfs: deduplicate xlog_do_recovery_pass() In xlog_do_recovery_pass(), there are 2 distinct cases: non-wrapped and wrapped log recovery. If we find a wrapped log, we recover around the end of the log, and then handle the rest of recovery exactly as in the non-wrapped case - using exactly the same (duplicated) code. Rather than having the same code in both cases, we can get the wrapped portion out of the way first if needed, and then recover the non-wrapped portion of the log. There should be no functional change here, just code reorganization & deduplication. The patch looks a bit bigger than it really is; the last hunk is whitespace changes (un-indenting). Tested with xfstests "check -g log" on a stock configuration. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 59f9c004320704179913fa7c57645017ccf1b5c3 Author: Eric Sandeen <sandeen@xxxxxxxxxx> Date: Tue Sep 9 11:57:10 2014 +1000 xfs: lseek: the "whence" argument is called "whence" For some reason, the older commit: 965c8e5 lseek: the "whence" argument is called "whence" lseek: the "whence" argument is called "whence" But the kernel decided to call it "origin" instead. Fix most of the sites. left out xfs. So fix xfs. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Jie Liu <jeff.liu@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 49c69591c80648c14ff87525e97ee6ebe3a343cb Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:56:48 2014 +1000 xfs: combine xfs_seek_hole & xfs_seek_data xfs_seek_hole & xfs_seek_data are remarkably similar; so much so that they can be combined, saving a fair bit of semi-complex code duplication. The following patch passes generic/285 and generic/286, which specifically test seek behavior. Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Jie Liu <jeff.liu@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 2e2271787419a12496bf5da5c3028a9c73c9697f Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 9 11:56:13 2014 +1000 xfs: export log_recovery_delay to delay mount time log recovery XFS log recovery has been discovered to have race conditions with buffers when I/O errors occur. External tools are available to simulate I/O errors to XFS, but this alone is not sufficient for testing log recovery. XFS unconditionally resets the inactive region of the log prior to log recovery to avoid confusion over processing any partially written log records that might have been written before an unclean shutdown. Therefore, unconditional write I/O failures at mount time are caught by the reset sequence rather than log recovery and hinder the ability to test the latter. The device-mapper dm-flakey module uses an up/down timer to define a cycle for when to fail I/Os. Create a pre log recovery delay tunable that can be used to coordinate XFS log recovery with I/O errors simulated by dm-flakey. This facilitates coordination in userspace that allows the reset of stale log blocks to succeed and writes due to log recovery to fail. For example, define a dm-flakey instance with an uptime long enough to allow log reset to succeed and a log recovery delay long enough to allow the dm-flakey uptime to expire. The 'log_recovery_delay' sysfs tunable is exported under /sys/fs/xfs/debug and is only enabled for kernels compiled in XFS debug mode. The value is exported in units of seconds and allows for a delay of up to 60 seconds. Note that this is for XFS debug and test instrumentation purposes only and should not be used by applications. No delay is enabled by default. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 65b65735fede29b516fed1d8c2391e8bc373b805 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 9 11:52:42 2014 +1000 xfs: add debug sysfs attribute set Create a top-level debug directory for global debug sysfs attributes. This directory is added and removed on XFS module initialization and removal respectively for DEBUG mode kernels only. It typically resides at /sys/fs/xfs/debug. It is located at the top level of the xfs sysfs hierarchy as attributes might define global behavior or behavior that must be configured before an xfs mount is available (e.g., log recovery behavior). Define the global debug kobject that represents the debug sysfs directory and add generic attribute show/store helpers to support future attributes. No debug attributes are exported as of yet. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit e1b05723ed834090caab56866adc05bce31c9bdd Author: Eric Sandeen <sandeen@xxxxxxxxxxx> Date: Tue Sep 9 11:47:24 2014 +1000 xfs: add a few more verifier tests These were exposed by fsfuzzer runs; without them we fail in various exciting and sometimes convoluted ways when we encounter disk corruption. Without the MAXLEVELS tests we tend to walk off the end of an array in a loop like this: for (i = 0; i < cur->bc_nlevels; i++) { if (cur->bc_bufs[i]) Without the dirblklog test we try to allocate more memory than we could possibly hope for and loop forever: xfs_dabuf_map() nfsb = mp->m_dir_geo->fsbcount; irecs = kmem_zalloc(sizeof(irec) * nfsb, KM_SLEEP... As for the logbsize check, that's the convoluted one. If logbsize is specified at mount time, it's sanitized in xfs_parseargs; in particular it makes sure that it's not > XLOG_MAX_RECORD_BSIZE. If not specified at mount time, it comes from the superblock via sb_logsunit; this is limited to 256k at mkfs time as well; it's copied into m_logbsize in xfs_finish_flags(). However, if for some reason the on-disk value is corrupt and too large, nothing catches it. It's a circuitous path, but that size eventually finds its way to places that make the kernel very unhappy, leading to oopses in xlog_pack_data() because we use the size as an index into iclog->ic_data, but the array is not necessarily that big. Anyway - bounds checking when we read from disk is a good thing! Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 8018ec083c72443cc74fd2d08eb7c5dddc13af53 Author: Brian Foster <bfoster@xxxxxxxxxx> Date: Tue Sep 9 11:44:46 2014 +1000 xfs: mark all internal workqueues as freezable Workqueues must be explicitly set as freezable to ensure they are frozen in the assocated part of the hibernation/suspend sequence. Freezing of workqueues and kernel threads is important to ensure that modifications are not made on-disk after the hibernation image has been created. Otherwise, the in-memory state can become inconsistent with what is on disk and eventually lead to filesystem corruption. We have reports of free space btree corruptions that occur immediately after restore from hibernate that suggest the xfs-eofblocks workqueue could be causing such problems if it races with hibernation. Mark all of the internal XFS workqueues as freezable to ensure nothing changes on-disk once the freezer infrastructure freezes kernel threads and creates the hibernation image. Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> Reported-by: Carlos E. R. <carlos.e.r@xxxxxxxxxxxx> Reviewed-by: Dave Chinner <dchinner@xxxxxxxxxx> Signed-off-by: Dave Chinner <david@xxxxxxxxxxxxx> commit 85560c4a828ec9c8573840c9b66487b6ae584768 Author: Champion Chen <champion_chen@xxxxxxxxxxxxxx> Date: Sat Sep 6 14:06:08 2014 -0500 Bluetooth: Fix issue with USB suspend in btusb driver Suspend could fail for some platforms because btusb_suspend==> btusb_stop_traffic ==> usb_kill_anchored_urbs. When btusb_bulk_complete returns before system suspend and resubmits an URB, the system cannot enter suspend state. Signed-off-by: Champion Chen <champion_chen@xxxxxxxxxxxxxx> Signed-off-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit e1e930f591bfd9604c3077f0af5c390f4f890259 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Sep 8 17:09:49 2014 -0700 Bluetooth: Fix mgmt pairing failure when authentication fails Whether through HCI with BR/EDR or SMP with LE when authentication fails we should also notify any pending Pair Device mgmt command. This patch updates the mgmt_auth_failed function to take the actual hci_conn object and makes sure that any pending pairing command is notified and cleaned up appropriately. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5081ce621d35b7ba34614415f78f629d26bdc155 Author: Nishanth Menon <nm@xxxxxx> Date: Fri Aug 22 09:03:50 2014 -0500 ARM: dts: OMAP3+: Add PRM interrupt Provide OMAP3, 4 and OMAP5 with interrupt number for PRM And for DRA7, provide crossbar number for prm interrupt. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 25db6bea1ff5a78ef493eefdcbb9c1d27134e560 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Wed Sep 3 17:42:13 2014 +0200 selinux: register nf hooks with single nf_register_hooks call Push ipv4 and ipv6 nf hooks into single array and register/unregister them via single call. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit 01ac4565d68bfd1b6ef96b46576438423713b8db Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 11:14:16 2014 +0100 ARM: omap: Remove stray ARCH_HAS_OPP references OPP is now a normal kernel library selected by its users rather than a feature that architectures need to enable so ARCH_HAS_OPP serves no function any more - remove the selects. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 83c9b2afe66abf5dc6dab68da738557001fb5660 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Fri Sep 5 22:12:05 2014 +0100 ARM: dts: am335x-boneblack: Add names for remaining regulators Add regulator-name properties for the regulators that don't have them, allowing the kernel to display the name from the schematic rather than the name of the regulator on the PMIC in order to improve diagnostics. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 91890c0e89bed0d24e4fe50b97dd8fc9c9f81283 Author: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Date: Thu Sep 4 16:02:53 2014 +0300 ARM: dts: sbc-t54: fix model property CM-T54 CoM can be used with various custom baseboards, other than SB-T54 (supplied with SBC-T54 single board computer). Update model property of SBC-T54 DT to clarify this. Signed-off-by: Dmitry Lifshitz <lifshitz@xxxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 84ace6741bd9b957d3b6dc39fe63fee0f1bd5039 Author: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Date: Thu Sep 4 09:28:32 2014 +0300 ARM: dts: omap5.dtsi: add DSS RFBI node The RFBI node for OMAP DSS was left out when adding the rest of the DSS nodes, because it was not clear how to set up the clocks for the RFBI. However, it seems that if there is a HWMOD for a device, we also need a DT node for it. Otherwise, at boot, we get: WARNING: CPU: 0 PID: 1 at arch/arm/mach-omap2/omap_hwmod.c:2542 _init+0x464/0x4e0() omap_hwmod: dss_rfbi: doesn't have mpu register target base Now that v3.17-rc3 contains a fix 8fd46439e1f5 ("ARM: dts: omap54xx-clocks: Fix the l3 and l4 clock rates") for the L3 ICLK required by the RFBI, let's add the RFBI node to get rid of the warning. Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> [tony@xxxxxxxxxxx: updated description per comments from Nishant] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e2459357f613f681a516e7c67ef8336bc475a482 Author: Stefan Roese <sr@xxxxxxx> Date: Fri Aug 29 12:40:06 2014 +0200 ARM: dts: omap3: Add HEAD acoustics omap3-ha.dts and omap3-ha-lcd.dts (TAO3530 based) These baseboards are equipped with the Technexion TAO35030 SOM. So they include this dtsi. The common parts are extracted into an "common" dtsi file. The main difference between both boards is, that the *lcd has DSS support enabled for the LCD. Some HEAD acoustics specific features are: - LED handling - Special FPGA/DSP audio driver (not included in this series) - powerdown GPIO Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Thorsten Eisbein <thorsten.eisbein@xxxxxxxxxxxxxxxxx> Cc: Tapani Utriainen <tapani@xxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d3a7a7479f149492b151516d62fff42328446e04 Author: Stefan Roese <sr@xxxxxxx> Date: Fri Aug 29 12:40:05 2014 +0200 ARM: dts: omap3: Add Technexion Thunder support (TAO3530 SOM based) This baseboard is equipped with the Technexion TAO35030 SOM. So includes this dtsi. Some Thunder specific features are: - LCD panel Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Thorsten Eisbein <thorsten.eisbein@xxxxxxxxxxxxxxxxx> Cc: Tapani Utriainen <tapani@xxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 30d95c6d70920348c58649c35a8d41915cd7db9c Author: Stefan Roese <sr@xxxxxxx> Date: Fri Aug 29 12:40:04 2014 +0200 ARM: dts: omap3: Add Technexion TAO3530 SOM omap3-tao3530.dtsi The Technexion TAO3530 is a OMAP3530 based SOM. This patch adds the basic support for it as an dtsi file which can be included by baseboard equipped with this SOM. E.g. the Technexion Thunder baseboard. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Thorsten Eisbein <thorsten.eisbein@xxxxxxxxxxxxxxxxx> Cc: Tapani Utriainen <tapani@xxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 63dd5bc03a1ac9dd90807f6f3fc2475c0d4f046a Author: Stefan Roese <sr@xxxxxxx> Date: Fri Aug 29 12:40:03 2014 +0200 ARM: OMAP2+: tao3530: Add pdata-quirk for the mmc2 internal clock Set internal clock source for MMC2 on tao3530. Signed-off-by: Stefan Roese <sr@xxxxxxx> Cc: Thorsten Eisbein <thorsten.eisbein@xxxxxxxxxxxxxxxxx> Cc: Tapani Utriainen <tapani@xxxxxxxxxxxxxx> Cc: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 0e0cb99d17614711834aa8b4c6b397bf8b8596a5 Author: Nishanth Menon <nm@xxxxxx> Date: Mon Aug 18 14:07:55 2014 -0500 ARM: OMAP2+: board-generic: add support for AM57xx family AM57xx processor family are variants of DRA7 family of processors and targetted at industrial and non-automotive applications. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit acc82342f68d85d570db3e2f070255929b0284d9 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:54:41 2014 -0700 PM / sleep: Update test_suspend option documentation Updated documentation to add freeze mode and repeat capability. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2ce986892faf843785f8cdab1c2ed6cd4a3c20aa Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:54:40 2014 -0700 PM / sleep: Enhance test_suspend option with repeat capability Enhanced test_suspend boot paramter to repeat tests multiple times, by adding optional repeat count. The new boot param syntax: test_suspend="mem|freeze|standby[,N]" Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit bc7115b1447fe88d065e7f85078ed776ebe7be74 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Tue Sep 2 11:54:39 2014 -0700 PM / sleep: Support freeze as test_suspend option Added freeze as one of the option for test_suspend boot param. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 95b6105835293a910484c5bcdd1599b8588959e9 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:30 2014 +0530 cpufreq: cpu0: Make allocate_resources() work for any CPU Currently allocate_resources() supports only CPU0 and it would need to allocate resources for any CPU going forward. Add another argument to it, i.e. cpu, and update code accordingly. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2d2c5e0e72546c1b4375ff5820ca8016c7123cbb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:29 2014 +0530 cpufreq: cpu0: try regulators with name "cpu-supply" Currently, we expect regulator name to be "cpu0", but as we are going to support multiple cpu-blocks (all CPUs in a block share clock/voltage) later, we need to pass some generic string instead of that. For backwards compatibility try for "cpu0" first and if it fails, then try for "cpu". Suggested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d2f31f1da54f83c4eb2738402284c49cd51798d1 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:28 2014 +0530 cpufreq: cpu0: Move per-cluster initialization code to ->init() Currently this driver only support platforms on which all CPUs share clock & voltage lines and there is requirement to support platforms which have separate clock & voltage lines for CPUs, like Qualcomm's Krait and ARM's big LITTLE. Each group of CPUs sharing clock/voltage lines are represented by 'struct cpufreq_policy' in cpufreq framework. And core calls ->init() once for each policy. Currently we do all initialization/allocation from probe() which wouldn't work for above scenario. To make it work for these platforms, the first step is to move all initialization/allocation to ->init() and add ->exit() to do the reverse of it. Also, remove all global variables and allocate space for them at runtime. This patch creates 'struct private_data' for keeping all such information and a pointer to that would be stored in policy->driver_data. The changed probe() routine now tries to see if regulator/clocks are available or we need to defer probe. In case they are available, it registers cpufreq driver. Otherwise, returns with -EPROBE_DEFER. We still *don't* support platforms with separate clock/voltage lines for CPUs. This would be done in a separate patch later. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fbd48ca5911b3cd70da57c3313d13004e40aea54 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:27 2014 +0530 cpufreq: cpu0: use dev_{err|warn|dbg} instead of pr_{err|warn|debug} We already have cpu_dev and is used at multiple places for printing errors using dev_*(). But some prints are still using pr_*(). Lets make it consistent and replace those pr_*() macros with dev_*() macros. Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 48a8624b3abe39bd66490e3ab692a74a73b582eb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:26 2014 +0530 cpufreq: cpu0: print relevant error when we defer probe Currently, we defer probe if regulator_get() returned -EPROBE_DEFER, i.e. regulator isn't registered yet. We do a dev_err() in this case. Sending a message to the log on probe defer just duplicates what the driver core is already doing. Convert it to dev_dbg() instead. We should defer in case of clk_get() as well. Current code already does it, but it wasn't intentional probably. Its just that we are returning the right error with wrong print message. Fix print message to convey right error. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ed4b053cb864f29f57cf5a4c3f3c85cda22edaf1 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:25 2014 +0530 cpufreq: cpu0: don't validate clock on clk_put() CPU clk is not optional for this driver and probe would fail if it couldn't find a suitable clock. And so, while calling clk_put() we don't need to validate clocks. Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 748c876634870f8e535ddebd76f409f0477d3dd4 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:24 2014 +0530 cpufreq: cpu0: Update Module Author Two people are maintaining it now, Viresh and Shawn. Add Viresh's details in MODULE_AUTHOR() and copyright section. Suggested-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 413fffc3a1db7f270afdf1ecb35c1edc013acc68 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Aug 28 11:22:23 2014 +0530 cpufreq: Add support for per-policy driver data Drivers supporting multiple clusters or multiple 'struct cpufreq_policy' instances may need to keep per-policy data. If the core doesn't provide support for that, they might do it in the most unoptimized way: 'per-cpu' data. This patch adds another field in struct cpufreq_policy: 'driver_data'. It isn't accessed by core and is for driver's internal use only. Tested-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5b4c314575ea6edd57c547c2123083d88d8ff4e6 Merge: a7f26b7 61a3d4f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 8 16:43:58 2014 -0700 Merge tag 'master-2014-09-08' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next John W. Linville says: ==================== pull request: wireless-next 2014-09-08 Please pull this batch of updates intended for the 3.18 stream... For the mac80211 bits, Johannes says: "Not that much content this time. Some RCU cleanups, crypto performance improvements, and various patches all over, rather than listing them one might as well look into the git log instead." For the Bluetooth bits, Gustavo says: "The changes consists of: - Coding style fixes to HCI drivers - Corrupted ack value fix for the H5 HCI driver - A couple of Enhanced L2CAP fixes - Conversion of SMP code to use common L2CAP channel API - Page scan optimizations when using the kernel-side whitelist - Various mac802154 and and ieee802154 6lowpan cleanups - One new Atheros USB ID" For the iwlwifi bits, Emmanuel says: "We have a new big thing coming up which is called Dynamic Queue Allocation (or DQA). This is a completely new way to work with the Tx queues and it requires major refactoring. This is being done by Johannes and Avri. Besides this, Johannes disables U-APSD by default because of APs that would disable A-MPDU if the association supports U-ASPD. Luca contributed to the power area which he was cleaning up on the way while working on CSA. A few more random things here and there." For the Atheros bits, Kalle says: "For ath6kl we had two small fixes and a new SDIO device id. For ath10k the bigger changes are: * support for new firmware version 10.2 (Michal) * spectral scan support (Simon, Sven & Mathias) * export a firmware crash dump file (Ben & me) * cleaning up of pci.c (Michal) * print pci id in all messages, which causes most of the churn (Michal)" Beyond that, we have the usual collection of various updates to ath9k, b43, mwifiex, and wil6210, as well as a few other bits here and there. Please let me know if there are problems! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7f26b7e1ee73ac9e766c430fea5af658d839954 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Mon Sep 8 19:08:34 2014 -0400 inet: remove dead inetpeer sequence code inetpeer sequence numbers are no longer incremented, so no need to check and flush the tree. The function that increments the sequence number was already dead code and removed in in "ipv4: remove unused function" (068a6e18). Remove the code that checks for a change, too. Verifying that v4_seq and v6_seq are never incremented and thus that flush_check compares bp->flush_seq to 0 is trivial. The second part of the change removes flush_check completely even though bp->flush_seq is exactly !0 once, at initialization. This change is correct because the time this branch is true is when bp->root == peer_avl_empty_rcu, in which the branch and inetpeer_invalidate_tree are a NOOP. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b99b121b2aa42e60e5b73fdd3a49863337839c7b Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Sep 5 21:02:37 2014 +0200 tty: serial: 8250_core: allow to overwrite & export serial8250_startup() The OMAP version of the 8250 can actually use 1:1 serial8250_startup(). However it needs to be extended by a wake up irq which should to be requested & enabled at ->startup() time and disabled at ->shutdown() time. v2â?¦v3: properly copy callbacks v1â?¦v2: add shutdown callback Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae14a7954f5124208e6e93cafb3099f83acd43f5 Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Fri Sep 5 21:02:36 2014 +0200 tty: serial: 8250_core: provide a function to export uart_8250_port There is no way to access a struct uart_8250_port for a specific line. This is only required outside of the 8250/uart callbacks like for devices' suspend & remove callbacks. For those the 8250-core provides a wrapper like serial8250_unregister_port() which passes the struct to the proper function based on the line argument. For run time suspend I need access to this struct not only to make serial_out() work but also to properly restore up->ier and up->mcr. Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d329c1c68d2cc625bb4b8191f37297db6061448 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Fri Sep 5 18:57:57 2014 -0700 tty/vt/keyboard: Resolve many shadow warnings Many local variables were given the same name as a global. This is valid, but generates many shadow warnings in W=2 builds. Resolve them by changing the local names. Also change local variables named "up" because they shadow the semaphore "up" function. Also moved the outer declaration of the variable "a" because it is only used in one block, and that resolves all of the shadow warnings for the other declarations of "a" that have different types. Change diacr => dia, kbd => kb, rep => rpt, up => udp. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5aa387c152fce7ae5cb29f2b191a1570cd04db5f Author: Alexey Charkov <alchark@xxxxxxxxx> Date: Sat Sep 6 21:21:14 2014 +0400 tty: vt8500_serial: explicitly calculate base baud rate Current code relies on the UART clock pre-divisor to be already configured in the baud rate register. Calculate it in the driver and set explicitly instead, also return the "real" effective baud rate, which is generally slightly different from the requested value. While at this, also ensure that break signal timing is updated when baud rate changes. Signed-off-by: Alexey Charkov <alchark@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1db894ecfa73759b1fde359562b9b4ef0e66e23d Author: Alexey Charkov <alchark@xxxxxxxxx> Date: Sat Sep 6 21:21:15 2014 +0400 tty: vt8500_serial: add polled console functions This adds simple polling functions for single-character transmit and receive, as used by kgdb. Signed-off-by: Alexey Charkov <alchark@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8c986d3e20bcbf33c680130a5798f25429c53e31 Author: Alexey Charkov <alchark@xxxxxxxxx> Date: Sat Sep 6 21:21:13 2014 +0400 tty: vt8500_serial: add missing support for RTS setting Signed-off-by: Alexey Charkov <alchark@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae382735247e2daebeed3bafd400ff71039d2241 Author: Alexey Charkov <alchark@xxxxxxxxx> Date: Sat Sep 6 21:21:12 2014 +0400 tty: vt8500_serial: add support for UART in WM8880 chips Newer WonderMedia chips introduced another flag in the UART line control register, which controls whether RTS/CTS signalling should be handled in the driver or by the hardware itself. This patch ensures that the kernel can control RTS/CTS (including disabling it altogether) by forcing this flag to software mode on affected chips (only WM8880 so far). Also remove the redundant copy of the binding doc, while we are here. Signed-off-by: Alexey Charkov <alchark@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7d480ef776b53c43ec70155bfefbddc71b4d0883 Author: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Date: Fri Sep 5 10:35:14 2014 +0800 doc: dt-binding: of-serial: add Freescale 64-byte FIFO mode uart binding This add the 64-byte FIFO mode device tree binding for Freescale DUART. Signed-off-by: Jingchang Lu <jingchang.lu@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 287f03c0d4fbf0b57f88867a02632376b63ef0c8 Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Sep 3 12:57:52 2014 +0100 serial: kgdb_nmi: No CON_ENABLED by default At present this console is optionally registered by NULL checking arch_kgdb_ops.enable_nmi. In practice this requires the architecture dependant code to implement some kind of control (e.g. module arguments) to enable/disable this feature. The kernel already provides us the perfectly adequate console= argument to enable/disable consoles. Let's use that instead! Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5820c24a817e7bbebf5c4366989d5f243b809ab Author: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Date: Wed Sep 3 12:51:55 2014 +0100 serial: amba-pl011: Use container_of() to get uart_amba_port Universally adopt container_of() for all pointer conversion from uart_port to uart_amba_port. Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26c474128b96d277234f35a7fd870ed12bef96ca Author: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Date: Wed Sep 3 12:33:53 2014 +0100 serial: imx: clean up imx_poll_get_char() Looking at the get_poll_char() function of the 8250.c serial driver, we learn: * poll_get_char() doesn't have to save/disable/restore the interrupt registers. No interrupt handling is needed in this function at all. Remove it. * Don't block in case there is no data available. So instead blocking in the do {} while loop, just return with NO_POLL_CHAR, immediately . Additionally, while the i.MX6 register URXD[7-0] contain the RX_DATA, the upper bits of this register (URXD[15-10]) might contain some control flags. To ensure that these are not returned with the data read, just mask out URXD[7-0]. These changes fix the 'hang' working with kdb: $ echo ttymxc3 > /sys/module/kgdboc/parameters/kgdboc $ echo g >/proc/sysrq-trigger [0]kdb> help ... <hang> Signed-off-by: Dirk Behme <dirk.behme@xxxxxxxxxxxx> Signed-off-by: Daniel Thompson <daniel.thompson@xxxxxxxxxx> Cc: Jiri Slaby <jslaby@xxxxxxx> Cc: linux-serial@xxxxxxxxxxxxxxx Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c993257bf7571945201205491de86268437ea174 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:21 2014 -0400 serial: core: Unwrap tertiary assignment in uart_handle_dcd_change() Prepare for spin lock assertion; move non-trivial assignment into function body. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5435d20f506f16352a4e1637b8e8fb7c0d422bb9 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:20 2014 -0400 serial: 8250: Document serial8250_modem_status() locking Existing callers of serial8250_modem_status() [1] hold the uart port lock; document. [1] In-tree callers of serial8250_modem_status() drivers/tty/serial/8250/8250_fsl.c fsl8250_handle_irq() drivers/tty/serial/8250/8250_core.c serial8250_handle_irq() serial8250_console_write() serial8250_get_mctrl() * * Call graphs for callers of serial8250_get_mctrl() from the function which acquires the uart port lock drivers/tty/serial/serial_core.c uart_port_startup() uart_tiocmget() uart_set_termios() uart_carrier_raised() ops->get_mctrl() ---> serial8250_get_mctrl() Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a949b07e4062cbd07e04e6a47249e69ca65b944 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:19 2014 -0400 serial: core: Document lock requirement for UPF_* flags updates The flags field of struct uart_port can only be safely modified if the port mutex is held; no other lock prevents concurrent changes from corrupting the field. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16020b989ac72b0b02654612a7b70398a7faac21 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:18 2014 -0400 serial: blackfin: Fix missing gpio.h If CONFIG_SERIAL_BFIN_CTSRTS is set, compile fails because of missing declarations for the gpio_* api. Include necessary header. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98f8b83d6a504615f52a095acf92a2bdad985ae0 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:17 2014 -0400 serial: sunsab: Don't enable tx if tx stopped The serial core may call the UART driver's start_tx() even if tx is stopped; the UART driver must verify tx should be enabled before transmitting. Reported-by: Sam Ravnborg <sam@xxxxxxxxxxxx> cc: David S. Miller <davem@xxxxxxxxxxxxx> cc: <sparclinux@xxxxxxxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16f404e3666718917b2541503240cf8430aa49ff Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:16 2014 -0400 serial: mpc52xx: Use default serial core x_char handler mpc52xx_uart_send_xchar() is _identical_ to the default serial core x_char handling behavior in uart_send_xchar(). Remove mpc52xx_uart_send_xchar(). Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db106df32d679db151b48a09543b03ee41cb2580 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:15 2014 -0400 serial: Fix send_xchar() handlers START_CHAR() & STOP_CHAR() can be disabled if set to '\0' (__DISABLED_CHAR). UART drivers which define a send_xchar() handler must not transmit __DISABLED_CHAR. Document requirement. Affected drivers: sunsab sunhv cc: David S. Miller <davem@xxxxxxxxxxxxx> cc: <sparclinux@xxxxxxxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fba594a848f6f35417a358565086d22c533c19c8 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:14 2014 -0400 serial: core: Remove unsafe x_char optimization uart_unthrottle() attempts to avoid sending START and the previous x_char if the previous x_char has not yet been sent. However, this optimization could leave the sender in a throttled state; for example, if the sender is throttled and this unthrottle coincides with a manual tcflow(TCION) from user-space, then neither START would be sent. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c235ccc1c4d6fd8b7d48b976b87416230ffd5149 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:13 2014 -0400 serial: core: Fix x_char race The UART driver is expected to clear port->x_char after transmission while holding the port->lock. However, the serial core fails to take the port->lock before assigning port->xchar. This allows for the following race CPU 0 | CPU 1 | | serial8250_handle_irq | ... | serial8250_tx_chars | if (port->x_char) | serial_out(up, UART_TX, port->x_char) uart_send_xchar | port->x_char = ch | | port->x_char = 0 port->ops->start_tx() | | The x_char on CPU 0 will never be sent. Take the port->lock in uart_send_xchar() before assigning port->x_char. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e42e9a30cdaae51411a9fd4d7de1dc6a7507038 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:12 2014 -0400 serial: imx: Fix x_char handling and tx flow control The serial core expects the UART driver to transmit x_char (START/STOP chars) even if tx is stopped and before data already in the tx ring buffer if possible. Also, sending x_char must not cause additional data in the tx ring buffer to transmit if tx is stopped. Cause x_char to be transmitted before any other data is sent. Auto-stop tx if the tx ring buffer is empty or tx should be stopped. Only perform one write wakeup if tx ring buffer space is below threshold. x_char handling in DMA mode is still broken; add FIXME. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99abf3b9242fbc5fec586223a5068544e0e9d90f Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:11 2014 -0400 serial: Style fix Unwrap if() conditional; no functional change. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6eec92ec0815ce8ce57e4746e9f717d4146d869 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 17:39:10 2014 -0400 Revert "serial: uart: add hw flow control support configuration" This reverts commit 06aa82e498c144c7784a6f3d3b55458b272d6146. This commit purports to enable auto CTS flow control for the 8250 UART driver. However, the 8250 UART driver already supports auto CTS flow control via UART_CAP_AFE and UART_CAP_EFR. Indeed, this patch introduces another DT attribute for which an existing firmware flag already exists ("auto-flow-control"). Furthermore, the use of UPF_HARD_FLOW requires the UART driver to define .throttle and .unthrottle methods, neither of which are defined for the 8250 UART driver (which will result in a NULL ptr dereference). Finally, this patch supposes to fix existing bugs in the serial core for auto CTS-enabled hardware, but does not include the class of hardware for which these bugs exist. CC: Murali Karicheri <m-karicheri2@xxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95562e7fdfe3fae2a10bb7ab16fc1260fe8dd810 Author: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Date: Tue Sep 2 21:05:42 2014 +0530 tty/serial: samsung: enable usage for 64-bit Exynos platforms Allow Samsung serial driver to be usable on Exynos 64-bit SoC based platforms. Signed-off-by: Pankaj Dubey <pankaj.dubey@xxxxxxxxxxx> Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6004bb11cf0d35574fdedb236d98672ccf86d9a9 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:24 2014 +0200 serial: vr41xx_siu: delete double assignment Delete successive assignments to the same location. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 920314dfd05f40cbe8ad677ba733ff1f8814d93a Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Aug 20 12:55:45 2014 -0400 serial: Fix build failure caused by missing header file Fix build failure caused by missing header file: drivers/tty/serial/nwpserial.c: In function 'wait_for_bits': drivers/tty/serial/nwpserial.c:53:3: error: implicit declaration of function 'udelay' [-Werror=implicit-function-declaration] Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c24622572d6ab2ec8e731588d1c131563a64b53 Author: Dan Murphy <dmurphy@xxxxxx> Date: Mon Sep 8 16:10:49 2014 -0700 Input: add support for the DRV2667 haptic driver Adding support for the DRV2667 haptic driver. This device has the ability to store vibration patterns in RAM and execute them once the GO bit is set. The initial driver sets a basic waveform in the first waveform sequence and will play the waveform when the GO bit is set and will continously play the waveform until the GO bit is unset. Data sheet is here: http://www.ti.com/product/drv2667 Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit ff7693d079e58fb62d735b7b8085b53fcfb74528 Author: Carlo Caione <carlo@xxxxxxxxxx> Date: Sun Aug 17 12:49:49 2014 +0200 ARM: meson: serial: add MesonX SoC on-chip uart driver The SoC has four fully functional UARTs which use the same programming model. They are named UART_A, UART_B, UART_C and UART_AO (Always-On) which cannot be powered off. Signed-off-by: Carlo Caione <carlo@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b359c4264c64909867c2005bc71cbc7431d2d464 Author: Keerthy J <j-keerthy@xxxxxx> Date: Mon Jul 28 11:48:54 2014 +0530 ARM: dts: dra72-evm: Add tps65917 PMIC node DRA72x-evm uses TPS65917 PMIC. Add the node. NOTE: LDO2 is actually unused, but the usage if any is expected to be between 1.8 to 3.3v IO voltage. So define the node. NOTE: Interrupt used is crossbar number based. Tested-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Keerthy <j-keerthy@xxxxxx> Tested-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 75e4239b59393487dd79c88ebd419fda11eca465 Author: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Date: Wed Aug 13 15:54:48 2014 +0200 Documentation: serial: fix header path RS485 related structure will be defined in user space API header. Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e9711aacc25fa6728c0625e4cfe7a141201b676 Author: Keerthy J <j-keerthy@xxxxxx> Date: Mon Jul 28 11:48:53 2014 +0530 ARM: dts: dra72-evm: Enable I2C1 node I2C1 bus is used for the following peripherals P8 connector (MLB) TLV320AIC3106 Audio codec J15 LCD header 24WC256 eeprom TMP102AIDRLT temperature sensor PCF8575 GPIO expander PCA9306 i2c voltage translator -> Goes to P9 for comm interface P2 expansion connector TPS65917 PMIC The slowest speed of all the peripherals seems to be 400KHz. Tested-by: Lokesh Vutla <lokeshvutla@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Keerthy <j-keerthy@xxxxxx> Tested-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 7acb88af6fedc4424a99425308a2f3e50d5ff1bc Author: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Date: Fri Aug 8 23:56:34 2014 +0800 drivers/tty/nozomi.c: Use 'nozomi_setup_memory' instead of 'setup_memory' Several architectures (e.g. microblaze, um, and score) have already have extern 'setup_memory', so need use 'nozomi_setup_memory' instead of, or will cause compiling issue. The related error (with allmodconfig for microblaze): CC [M] drivers/tty/nozomi.o drivers/tty/nozomi.c:526:13: error: conflicting types for 'setup_memory' static void setup_memory(struct nozomi *dc) ^ In file included from include/linux/mm.h:51:0, from ./arch/microblaze/include/asm/io.h:17, from include/linux/io.h:22, from include/linux/pci.h:31, from drivers/tty/nozomi.c:46: ./arch/microblaze/include/asm/pgtable.h:569:6: note: previous declaration of 'setup_memory' was here void setup_memory(void); ^ Signed-off-by: Chen Gang <gang.chen.5i5j@xxxxxxxxx> Acked-by: Jiri Slaby <jslaby@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bb2bd0798447c67d563311f337db9c2f390f2c6 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:53:43 2014 +0200 tty: serial: uartlite: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Acked-by: Peter Korsgaard <peter@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ebe78655476e5e94ab12867eb732923cae50ea4 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:53:42 2014 +0200 tty: serial: xuartps: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c10b73905a0bb4b91e6c153dbbf4c2809084e4c2 Author: Daniele Forsi <dforsi@xxxxxxxxx> Date: Fri Aug 8 17:56:30 2014 +0200 serial: 8250_hp300: trivial: fix symbol name in #warning message The symbol is defined in drivers/tty/serial/8250/Kconfig as "SERIAL_8250", not just "8250". Signed-off-by: Daniele Forsi <dforsi@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23cb8981ed929b4dd48141401cd0fd31e0fa4ed0 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 9 08:02:45 2014 +0900 percpu: fix locking regression in the failure path of pcpu_alloc() While updating locking, b38d08f3181c ("percpu: restructure locking") broke pcpu_create_chunk() creation path in pcpu_alloc(). It returns without releasing pcpu_alloc_mutex. Fix it. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Julia Lawall <julia.lawall@xxxxxxx> commit 1923d6e4186c9470a83d0179e86e1aea8cfcbe67 Author: Mugunthan V N <mugunthanvnm@xxxxxx> Date: Mon Sep 8 22:54:02 2014 +0530 drivers: net: cpsw: Add support for pause frames CPSW supports both rx and tx pause frames for flow control. Signed-off-by: Mugunthan V N <mugunthanvnm@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57087d515441cab49ff02480aa40a09abfe02c78 Author: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 7 07:14:10 2014 -0400 tty: Fix spurious poll() wakeups When the N_TTY line discipline receives data and wakes readers to process the input, polling writers are also mistakenly woken. This is because, although readers and writers are differentiated by different wait queues (tty->read_wait & tty->write_wait), both wait queues are polled together. Thus, reader wakeups without poll flags still cause poll(POLLOUT) to wakeup. For received data, wakeup readers with POLLIN. Preserve the unspecific wakeup in n_tty_packet_mode_flush(), as this action should flag both POLLIN and POLLOUT. Fixes epoll_wait() for edge-triggered EPOLLOUT. Signed-off-by: Peter Hurley <peter@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b216df53848129c969a465bb9237fbc9b8fafaad Author: Cyrill Gorcunov <gorcunov@xxxxxxxxx> Date: Fri Aug 8 00:26:15 2014 +0400 tty: Fix potential use after free in release_one_tty In case if we're releasing the last tty reference the following call sequence is possible tty_driver_kref_put destruct_tty_driver kfree(driver); where @driver is used in next module_put call, which leads to | [ 285.964007] Hardware name: Bochs Bochs, BIOS Bochs 01/01/2011 | [ 285.964007] Workqueue: events release_one_tty | [ 285.964007] task: ffff8800cc7ea5f0 ti: ffff8800cb800000 task.ti: ffff8800cb800000 | [ 285.964007] RIP: 0010:[<ffffffff810aeaf5>] [<ffffffff810aeaf5>] module_put+0x24/0xf4 | [ 285.964007] RSP: 0018:ffff8800cb801d48 EFLAGS: 00010213 | [ 285.964007] RAX: ffff8800cb801fd8 RBX: ffff8800ca3429d0 RCX: ffff8800cb1db400 | [ 285.964007] RDX: 0000000000000000 RSI: ffffffff817349c1 RDI: 0000000000000001 | [ 285.964007] RBP: ffff8800cb801d60 R08: ffff8800cd632b40 R09: 0000000000000000 | [ 285.964007] R10: 00000000ffffffff R11: ffff88011f40a000 R12: 6b6b6b6b6b6b6b6b | [ 285.964007] R13: ffff8800ca342520 R14: 0000000000000000 R15: ffff88011f5d8200 | [ 285.964007] FS: 0000000000000000(0000) GS:ffff88011f400000(0000) knlGS:0000000000000000 | [ 285.964007] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b | [ 285.964007] CR2: 00007faf5229d090 CR3: 0000000001c0b000 CR4: 00000000000006f0 | [ 285.964007] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 | [ 285.964007] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 | [ 285.964007] Stack: | [ 285.964007] ffff8800ca3429d0 ffff8800ca342a30 ffff8800ca342520 ffff8800cb801d88 | [ 285.964007] ffffffff8146554a ffff8800cc77cc78 ffff8800ca3429d0 ffff88011f5d3800 | [ 285.964007] ffff8800cb801e08 ffffffff810683c1 ffffffff810682ff 0000000000000046 | [ 285.964007] Call Trace: | [ 285.964007] [<ffffffff8146554a>] release_one_tty+0x54/0xa3 | [ 285.964007] [<ffffffff810683c1>] process_one_work+0x223/0x404 | [ 285.964007] [<ffffffff810682ff>] ? process_one_work+0x161/0x404 | [ 285.964007] [<ffffffff81068971>] worker_thread+0x136/0x205 | [ 285.964007] [<ffffffff8106883b>] ? rescuer_thread+0x26a/0x26a | [ 285.964007] [<ffffffff8106e5bf>] kthread+0xa2/0xaa | [ 285.964007] [<ffffffff810a4586>] ? trace_hardirqs_on_caller+0x16/0x1eb | [ 285.964007] [<ffffffff8106e51d>] ? __kthread_parkme+0x65/0x65 | [ 285.964007] [<ffffffff8173f59c>] ret_from_fork+0x7c/0xb0 | [ 285.964007] [<ffffffff8106e51d>] ? __kthread_parkme+0x65/0x65 | [ 285.964007] Code: 09 00 5b 41 5c 5d c3 0f 1f 44 00 00 55 48 85 ff 48 89 e5 41 55 41 54 49 89 fc 53 0f 84 d3 00 | 00 00 bf 01 00 00 00 e8 d0 a1 fc ff <49> 8b 84 24 50 02 00 00 65 48 ff 40 08 4c 8b 6d 08 0f 1f 44 00 so simply keep a local reference to the module owner and use it later. CC: Pavel Emelyanov <xemul@xxxxxxxxxxxxx> CC: Jiri Slaby <jslaby@xxxxxxx> CC: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b374399468da1c25db5b5d436b167aafc10fbdc Author: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Date: Tue Aug 5 18:37:24 2014 -0700 serial: msm_serial: Fix kgdb continue Frank reports that after continuing in kgdb the RX stale event doesn't occur until after the RX fifo is filled up with exactly the amount of characters programmed for the RX watermark (in this case it's 48). To read a single character from the uartdm hardware we force a stale event so that any characters in the RX packing buffer are flushed into the RX fifo immediately instead of waiting for a stale timeout or for the fifo to fill. Forcing that stale event asserts the stale interrupt but we never clear that interrupt via UART_CR_CMD_RESET_STALE_INT in the polling functions. So when kgdb continues the stale interrupt is left pending in the hardware and we don't timeout with a stale event, like we usually would if a user typed one character on the console, until the reset stale interrupt and stale event commands are sent. Frank could get things working again by running handle_rx_dm(). By putting enough characters into the fifo he could trigger a watermark interrupt, and thus cause handle_rx_dm() to run finally resetting the stale interrupt and enabling the stale event so that single characters would cause timeouts again. The fix is to just do what the interrupt routine was doing all along and clear the stale interrupt and enable the event again. Doing this also smooths over any differences in the fifo behavior between v1.3 and v1.4 hardware allowing us to skip forcing the uart into single character mode. Reviewed-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Tested-by: Frank Rowand <frank.rowand@xxxxxxxxxxxxxx> Fixes: f7e54d7ad743 "msm_serial: Add support for poll_{get,put}_char()" Signed-off-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0525393baf07b1bb6e537ddbe7dfae3621649df Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Tue Aug 5 21:43:42 2014 -0700 TTY: fix decimal printf format specifiers prefixed with 0x The prefix suggests the number should be printed in hex, so use the %x specifier to do that. Found by using regex suggested by Joe Perches. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6af16a1dac5465cb63b3a7f0898ee03856afd311 Author: Rajendra Nayak <rnayak@xxxxxx> Date: Fri Aug 22 09:02:34 2014 -0500 ARM: DRA7: Add hook in SoC initcalls to enable pm initialization With consolidated code, now we can add the required hooks for DRA7 to enable power management. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> [nm@xxxxxx: minor modifications] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 8df438571cdbd5c4fcd1b25b19eea1ad5c3cf777 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 26 11:19:53 2014 -0500 usb: dwc2: move "samsung,s3c6400-hsotg" into common platform Move the "samsung,s3c6400-hsotg" binding as the probe function in the gadget driver will get removed when the dual-role driver is implemented. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae3c511c2d72161b11e93866203b59a3a37dfac7 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:31 2014 +0200 PM / domains: Keep declaration of dev_power_governors together This is a pure code cleanup in the header file for the PM domain. No functional change. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0f574d4c3a7a325cbbef28ee738dedca9851e957 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:30 2014 +0200 PM / domains: Remove default_stop_ok() API There are currently no need to export default_stop_ok() as an API, instead let's keep it local to the PM domain governor. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit f1bf45c70ffdcf048d046da4ad4611315f1a15bf Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:29 2014 +0200 drivers: sh: Leave disabling of unused PM domains to genpd Since genpd at late init, will try to disable unused PM domains we don't need to do it from here as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d40fce7e625dcecb196b1e4dba4dde19fdee919c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:28 2014 +0200 ARM: s3c64xx: Leave disabling of unused PM domains to genpd Since genpd at late init, will try to disable unused PM domains we don't need to do it from the machine specific code as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 0fcc455252d2ec766deb45bb735e32c7023811fe Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:27 2014 +0200 ARM: exynos: Leave disabling of unused PM domains to genpd Since genpd at late init, will try to disable unused PM domains we don't need to do it from here as well. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2fe71dcdfd10d3f71bb559609a8ceda9f76b1e2c Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:26 2014 +0200 PM / domains: Add late_initcall to disable unused PM domains As default behavior let genpd at late init try to disable the unused PM domains. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d971f0b0eaaf3f2086bf21bbd64f7ea7e2f28459 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:25 2014 +0200 PM / domains: Remove genpd_queue_power_off_work() API There are no active users of this API. Let's remove it and if future needs shows up we could consider to have a get/put API instead. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit d47e6464ae6c96735d4706f5cb0537fe717b6b00 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:24 2014 +0200 PM / domains: Remove pm_genpd_syscore_switch() API The pm_genpd_syscore_poweroff() API and pm_genpd_syscore_poweron() API makes the pm_genpd_syscore_switch() API redundant. Moreover, since there are no active users, let's just remove it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 784b0d3d8bc5b8ac60fc620c3420dc430bba61a7 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:23 2014 +0200 PM / domains: Remove redundant check for CONFIG_PM CONFIG_PM_GENERIC_DOMAINS depends on CONFIG_PM, thus there are no need to check explicity for it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c5d79ec2a5715489cff16a0d1cf4fa9108a5509e Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:22 2014 +0200 PM / domains: Remove dev_irq_safe from genpd config The genpd dev_irq_safe configuration somewhat overlaps with the runtime PM pm_runtime_irq_safe() option. Also, currently genpd don't have a good way to deal with these device. So, until we figured out if and how to support this in genpd, let's remove the option to configure it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cec89297da88ae9e8df0e3b7ea2e7e464b038cc9 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:21 2014 +0200 ARM: shmobile: Drop dev_irq_safe from R-mobile genpd config The dev_irq_safe configuration is redundant, genpd don't have any special treatmeant for handling it. Let's remove it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 698616548528615052ccdff2f621f1fde3bd9a50 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:20 2014 +0200 ARM: shmobile: Drop dev_irq_safe from r8a7779 genpd config The dev_irq_safe configuration is redundant, genpd don't have any special treatmeant for handling it. Let's remove it. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 1e0407ca54d28db8e5f02e437ff21cc6416c0be8 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:19 2014 +0200 PM / domains: Remove system PM callbacks from gpd_dev_ops There no users of these callbacks, let's simplify the generic power domain by removing them. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 67da6d4bf43c4208433ef8f3ee487401b4dc9c74 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:18 2014 +0200 PM / domains: Ignore callbacks for subsys generic_pm_domain_data In a step of simplifying the generic power domain let's move away from using these callbacks. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 55e15c949fd05d247a889df0ed0177a676fec665 Author: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Date: Wed Sep 3 12:52:17 2014 +0200 PM / domains: Remove the pm_genpd_add|remove_callbacks APIs There are no users of these APIs. To simplify the generic power domain let's remove them. Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e006fee6ecfed5b957bdd41c236aad751ab29042 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 26 11:19:52 2014 -0500 usb: dwc2: Update Kconfig to support dual-role Update DWC2 kconfig and makefile to support dual-role mode. The platform file will always get compiled for the case where the controller is directly connected to the CPU. So for loadable modules, only dwc2.ko is needed. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c0155b9d5ef29092d39502ec57b0454b2b3c7cc9 Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Wed Aug 6 09:01:50 2014 +0800 usb: dwc2: add 'mode' which based on Kconfig select or dts setting According to the "dr_mode", the otg controller can work as device role and host role. Some boards always want to use host mode and some other boards want to use gadget mode. We use the dts setting to set dwc2's mode, rather than fixing it to whatever hardware says. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc1b0e2aa3251c5f90bb6c70358832e4dab9abfd Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Wed Aug 6 09:01:49 2014 +0800 Documentation: dt-bindings: add dt binding info for dwc2 dr_mode Indicate that the generic dr_mode binding should be used for dwc2. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2867c05d4cb1638217522fb270f1a0a5794a10b9 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Thu Aug 7 12:48:11 2014 -0700 usb: dwc2: Read GNPTXFSIZ when in forced HOST mode. The documentation for GNPTXFSIZ says that "For host mode, this field is always valid." Since we're already switching to host mode for HPTXFSIZ, let's also read GNPTXFSIZ in host mode. On an rk3288 SoC, without this change we see this at bootup: dwc2 ff580000.usb: gnptxfsiz=00100400 dwc2 ff580000.usb: 128 invalid for host_nperio_tx_fifo_size. Check HW configuration. After this change we see: dwc2 ff580000.usb: gnptxfsiz=04000400 Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9508314655ba3f730c6290f5a7683e3a0c9e351d Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:55:57 2014 +0800 usb: dwc2: add compatible data for rockchip soc This patch add compatible data for dwc2 controller found on rk3066, rk3188 and rk3288 processors from rockchip. Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Acked-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3675029a11bfd66b0cf2672e156a7e6c03956d57 Author: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Date: Fri Aug 8 11:55:56 2014 +0800 Documentation: dt-bindings: add dt binding info for Rockchip dwc2 This add necessary dwc2 binding documentation for Rockchip socs: rk3066, rk3188 and rk3288 Signed-off-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 119eccd5e7f6fcded9db6b7aa14f5f459d2a22ba Author: Rick Jones <rick.jones2@xxxxxx> Date: Mon Sep 8 08:31:32 2014 -0700 hp100: Convert the normal skb free path to dev_consume_skb_any() A bit of floor sweeping in a dusty old corner. Convert the "normal" skb free calls to dev_consume_skb_any() so packet drop tracing will be more sane. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Acked-by: Jaroslav Kysela <perex@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f7f41c7a73c7416e72a07baede021ab62bd5ae7 Author: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Date: Tue Aug 5 16:09:08 2014 +0530 usb: ehci/ohci-exynos: Fix PHY getting sequence Since we want to keep support for both older usb-phys as well as the newer generic phys, lets first get the generic PHYs and fallback to older USB-PHYs only when we fail to get the former. This should fix the issue with ehci-exynos and ohci-exynos, wherein in the absence of SAMSUNG_USB2PHY config symbol, we end up getting the NOP_USB_XCEIV phy when the same is enabled. And thus the PHYs are not configured properly. Reported-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Cc: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Tested-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62b0a1b3e7593e0647db9ecc5e7809e4410acb81 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Sep 6 07:20:15 2014 +0400 serial: clps711x: Use mctrl_gpio helpers for handling modem signals CLPS711X serial driver uses the system wide registers to control the modem signals. Now gpio-syscon driver can be used for this purposes. mctrl_gpio helpers allow us to create GPIO bindings for any of modem/tty control signals that extends the functionality of the driver. This patch makes such change. This change does not break any current DT bindings, since DT support for this platform is not introduced yet. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4990141496b82f91cb96b37100ac882ea5cee8b7 Author: Zhang Rui <rui.zhang@xxxxxxxxx> Date: Tue Sep 9 00:21:59 2014 +0200 ACPI / PNP: remove Fujitsu device IDs from ACPI PNP ID list Fujitsu backlight and hotkey devices have ACPI drivers. The PNP MODULE_DEVICE_TABLE in fujitsu-laptop driver is just used as an indicator for module autoloading, but this is wrong because what we need is ACPI module device table instead, because the driver is probing ACPI devices. Thus remove those IDs from ACPI PNP scan handler list as we don't have a PNP driver for them, and convert the fujitsu-laptop PNP MODULE_DEVICE_TABLE to ACPI MODULE_DEVICE_TABLE. Link: https://bugzilla.kernel.org/show_bug.cgi?id=81971 Signed-off-by: Zhang Rui <rui.zhang@xxxxxxxxx> Tested-by: Dirk Griesbach <spamthis@xxxxxxxxxx> Acked-by: Darren Hart <dvhart@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 2f2dafe77df2c78e189a9fa6b1879dffd06ae5a1 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Sep 1 20:49:43 2014 +0530 serial: serial_core.c: printk replacement printk replaced with corresponding dev_* . fixed two broken user-visible strings used by the corresponding printk. the null check for uport->dev and port->dev is removed as dev_* will check for null while printing. printing of dev_name(uport->dev) and dev_name(port->dev) also removed as those are being printed by dev_* . Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1d51aa2214cea3f91611893610a2f769cada0e7 Author: Matthias Brugger <matthias.bgg@xxxxxxxxx> Date: Fri Aug 8 13:01:21 2014 +0200 tty: fix typo in comment of tty_termios_encode_baud_rate Signed-off-by: Matthias Brugger <matthias.bgg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d199a55c41b25f4255eaeea358f944e33e91a4b Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Tue Aug 5 09:14:35 2014 +0200 serial: altera: Make of_device_id arrays const Make the of_device_id arrays const, as it is handled as const by all OF functions. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 864119917de4fe041e43787681eb706e6fe86624 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Aug 5 13:22:03 2014 +0530 tty: serial: msm: Fix 'void function return statements are not generally useful' warning fixed below checkpatch.pl warning: WARNING: void function return statements are not generally useful Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f47abcb86cd9e061013a12a3aa4748b1949b25e Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Aug 5 13:22:02 2014 +0530 tty: serial: msm: Fix 'else is not generally useful after a break or return' warning fixed below checkpatch.pl warning: WARNING: else is not generally useful after a break or return Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a7cfe4611c5cab191da5b3934790b763c58906a Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Aug 5 13:22:01 2014 +0530 tty: serial: msm: Fix style warnings relating to printk() fixed below checkpatch.pl warning: WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(... to printk(KERN_ERR ... WARNING: Prefer [subsystem eg: netdev]_info([subsystem]dev, ... then dev_info(dev, ... then pr_info(... to printk(KERN_INFO ... Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e919cefb965465eb5ae15d05b1df3be6095af100 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Aug 5 13:22:00 2014 +0530 tty: serial: msm: Fix 'Missing a blank line after declarations' warning This patch fixes below checkpatch.pl warning and it remove extra blank lines: WARNING: Missing a blank line after declarations Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddea392e614736ae1c38e3a4c3b1dc427412047d Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Tue Aug 5 13:21:59 2014 +0530 tty: serial: msm: remove braces {} in msm_serial.c fixed below checkpatch.pl warning: WARNING: braces {} are not necessary for any arm of this statement Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 28e3fb6c4dce76d59a76755c4360d1cd5e0e226c Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Thu Jul 31 21:22:26 2014 +0200 serial: Add support for Fintek F81216A LPC to 4 UART This patch lets you set the RS485 cappabilites of the device through TIOCSRS485 and TIOCGRS485 as defined on Documentation/serial/serial-rs485.txt In order to probe the device, the PNP id and the device id is used. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e676253b19b2d269cccf67fdb1592120a0cd0676 Author: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Date: Tue Aug 5 11:45:59 2014 +0200 serial/8250: Add support for RS485 IOCTLs This patch allow the users of the 8250 infrastructure to define a handler for RS485 configration. If no handler is defined the 8250 driver will work as usual. Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda@xxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> -- v2:Change suggested by Alan "One Thousand Gnomes": - Move rs485 structure further down on the uart_8250_port structure drivers/tty/serial/8250/8250_core.c | 39 +++++++++++++++++++++++++++++++++++++ include/linux/serial_8250.h | 3 +++ 2 files changed, 42 insertions(+) Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e701f16982a9d15488a5aa8c7f5c41444b1de67 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Mon Sep 8 08:29:12 2014 -0700 net: Fix GRE RX to use skb_transport_header for GRE header offset GRE assumes that the GRE header is at skb_network_header + ip_hrdlen(skb). It is more general to use skb_transport_header and this allows the possbility of inserting additional header between IP and GRE (which is what we will done in Generic UDP Encapsulation for GRE). Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2a3b60d8ba4cdbed7fa9ed7ddb9d9fef664ca8f5 Author: Eddie Kovsky <ewk@xxxxxxxxxxxx> Date: Mon Sep 8 15:22:58 2014 -0600 staging: clean up checkpatch warnings in lustre Silence checkpatch warning: WARNING: type 'long long unsigned' should be specified in [[un]signed] [short|int|long|long long] order Signed-off-by: Eddie Kovsky <ewk@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79d99c305fd4edb9ee11ff57f43dc961ad684ab6 Author: Valdis Kletnieks <Valdis.Kletnieks@xxxxxx> Date: Mon Sep 8 18:09:48 2014 -0400 staging/rtl8192u - check for skb alloc failure It's possible for dev_alloc_skb() to fail. Propagate the error to the caller, so it can clean up and drop the packet. The sender should end up retransmitting the packet, hopefully at a time we're prepared to allocate skb's again. Reported-By: Nicholas Krause <xerofoify@xxxxxxxxx> Signed-Off-By: Valdis Kletnieks <valdis.kletnieks@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 887782e04f8ada770e24cfb190d2ceed3b2c4974 Merge: d7eb67f 628ed47 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Sep 8 15:20:15 2014 -0700 Merge branch 'pull/v3.18/for-omap-soc' of https://github.com/nmenon/linux-2.6-playground into omap-for-v3.18/soc commit 59f6e2073c72d36c814a4417320bfa4874faa228 Author: Mel Gorman <mgorman@xxxxxxx> Date: Mon Sep 8 23:06:54 2014 +0100 percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t -fix A commit in linux-next was causing boot to fail and bisection identified the patch 4ba2968420fa ("percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_"). One of the changes in that patch looks very suspicious. Reverting the full patch fixes boot as does this fixlet. Signed-off-by: Mel Gorman <mgorman@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> commit d7eb67f7fef9c046f27a975118da2324de65a90c Merge: 9a15fff 3e6a1c9 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Mon Sep 8 15:04:24 2014 -0700 Merge branch 'pull/v3.18/powerdomain-fixes' of https://github.com/nmenon/linux-2.6-playground into omap-for-v3.18/fixes-not-urgent commit f554f619b7041e388d46395b1e30b151925a7797 Author: Benjamin Valentin <benpicco@xxxxxxxxxxxxxxxxxx> Date: Mon Sep 8 14:18:40 2014 -0700 Input: xpad - sync device IDs with xboxdrv The userspace xboxdrv driver knows some more device ids than the kernel. This patch adds the missing xbox gamepads from [1] to xpad.c [1] https://github.com/Grumbel/xboxdrv/blob/master/src/xpad_device.cpp Signed-off-by: Benjamin Valentin <benpicco@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit a7b447380c5c974c740437af82793e450f47304d Author: Frank Razenberg <frank@xxxxxxxxxxxx> Date: Mon Sep 8 11:32:20 2014 -0700 Input: xpad - add VID/PID for Razer Sabertooth The xpad driver recognizes Razer Sabertooth controllers as generic xbox controller, while it is really a 360 controller. This patch adds pid/vid mappings for the controller so that it is correctly recognized. Signed-off-by: Frank Razenberg <frank@xxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit b151d6b00bbb798c58f2f21305e7d43fa763f34f Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Jun 27 18:04:27 2014 +0300 ima: provide flag to identify new empty files On ima_file_free(), newly created empty files are not labeled with an initial security.ima value, because the iversion did not change. Commit dff6efc "fs: fix iversion handling" introduced a change in iversion behavior. To verify this change use the shell command: $ (exec >foo) $ getfattr -h -e hex -d -m security foo This patch defines the IMA_NEW_FILE flag. The flag is initially set, when IMA detects that a new file is created, and subsequently checked on the ima_file_free() hook to set the initial security.ima value. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 3.14+ commit 1f1009791b2e81f106d4809007720495ba3ed90c Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Aug 15 13:49:22 2014 +0300 evm: prevent passing integrity check if xattr read fails This patch fixes a bug, where evm_verify_hmac() returns INTEGRITY_PASS if inode->i_op->getxattr() returns an error in evm_find_protected_xattrs. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> commit db91b724b53b1cfd0e258d7cf3a03a062a89fe2d Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Mon Sep 8 11:25:34 2014 -0400 dp83640: Make use of skb_queue_purge instead of reimplementing the code This change makes it so that dp83640_remove can use skb_queue_purge instead of looping through itself to flush any entries out of the queue. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1dcf74f6edfc3a9acd84d83d8865dd9e2a3b1d1e Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Sep 5 15:13:56 2014 -0700 x86_64, entry: Use split-phase syscall_trace_enter for 64-bit syscalls On KVM on my box, this reduces the overhead from an always-accept seccomp filter from ~130ns to ~17ns. Most of that comes from avoiding IRET on every syscall when seccomp is enabled. In extremely approximate hacked-up benchmarking, just bypassing IRET saves about 80ns, so there's another 43ns of savings here from simplifying the seccomp path. The diffstat is also rather nice :) Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a3dbd267ee990110478d349f78cccfdac5497a84.1409954077.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 54eea9957f5763dd1a2555d7e4cb53b4dd389cc6 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Sep 5 15:13:55 2014 -0700 x86_64, entry: Treat regs->ax the same in fastpath and slowpath syscalls For slowpath syscalls, we initialize regs->ax to -ENOSYS and stick the syscall number into regs->orig_ax prior to any possible tracing and syscall execution. This is user-visible ABI used by ptrace syscall emulation and seccomp. For fastpath syscalls, there's no good reason not to do the same thing. It's even slightly simpler than what we're currently doing. It probably has no measureable performance impact. It should have no user-visible effect. The purpose of this patch is to prepare for two-phase syscall tracing, in which the first phase might modify the saved RAX without leaving the fast path. This change is just subtle enough that I'm keeping it separate. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/01218b493f12ae2f98034b78c9ae085e38e94350.1409954077.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit e0ffbaabc46db508b8717f023c0ce03b980eefac Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Sep 5 15:13:54 2014 -0700 x86: Split syscall_trace_enter into two phases This splits syscall_trace_enter into syscall_trace_enter_phase1 and syscall_trace_enter_phase2. Only phase 2 has full pt_regs, and only phase 2 is permitted to modify any of pt_regs except for orig_ax. The intent is that phase 1 can be called from the syscall fast path. In this implementation, phase1 can handle any combination of TIF_NOHZ (RCU context tracking), TIF_SECCOMP, and TIF_SYSCALL_AUDIT, unless seccomp requests a ptrace event, in which case phase2 is forced. In principle, this could yield a big speedup for TIF_NOHZ as well as for TIF_SECCOMP if syscall exit work were similarly split up. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/2df320a600020fda055fccf2b668145729dd0c04.1409954077.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit fd143b210e685f0c4b37895f03fb79cd0555b00d Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Sep 5 15:13:53 2014 -0700 x86, entry: Only call user_exit if TIF_NOHZ The RCU context tracking code requires that arch code call user_exit() on any entry into kernel code if TIF_NOHZ is set. This patch adds a check for TIF_NOHZ and a comment to the syscall entry tracing code. The main purpose of this patch is to make the code easier to follow: one can read the body of user_exit and of every function it calls without finding any explanation of why it's called for traced syscalls but not for untraced syscalls. This makes it clear when user_exit() is necessary. Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/0b13e0e24ec0307d67ab7a23b58764f6b1270116.1409954077.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 81f49a8fd7088cfcb588d182eeede862c0e3303e Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Fri Sep 5 15:13:52 2014 -0700 x86, x32, audit: Fix x32's AUDIT_ARCH wrt audit is_compat_task() is the wrong check for audit arch; the check should be is_ia32_task(): x32 syscalls should be AUDIT_ARCH_X86_64, not AUDIT_ARCH_I386. CONFIG_AUDITSYSCALL is currently incompatible with x32, so this has no visible effect. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/a0138ed8c709882aec06e4acc30bfa9b623b8717.1409954077.git.luto@xxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 9f87b447204cb1cbc6c838f97ff2e365689c15f4 Author: Nitin Kuppelur <nitinkuppelur@xxxxxxxxx> Date: Mon Sep 8 21:28:30 2014 +0200 Staging: octeon-hcd: removed unwanted return from void This is a patch to the octeon-hcd.c file that fixes checkpatch.pl warning by removing return statement from void functions. Signed-off-by: Nitin Kuppelur <nitinkuppelur@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9124e064d27a52c7a6e4bdc890cf0d63f079e85 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:38:04 2014 +0530 staging: rtl8188eu: Remove HalPhyRf_8188e.c Move functions from HalPhyRf_8188e.c to phy.c . Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 053ab2a18f36ce5dff64e1ed5834d7eaf51c8c0f Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:38:03 2014 +0530 staging: rtl8188eu: Remove HalPhyRf_8188e.h Move macros and function declarations from HalPhyRf_8188e.h to phy.h . Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9275ec238114afad994d57accb2b6dbd80fcd71a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:38:02 2014 +0530 staging: rtl8188eu: HalPhyRf_8188e.h :Remove unused function declaration Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbf346b76f051aa355d98e789570f97fe8c6613d Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:38:01 2014 +0530 staging: rtl8188eu: HalPhyRf_8188e.c: Remove unused functions Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0cf81f67c0b3d2f88ef33bf525da57809b7a7e72 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:38:00 2014 +0530 staging: rtl8188eu: Rework function PHY_LCCalibrate_8188E() Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ffb650322698c38378b559d7b4711bf2951756f Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:59 2014 +0530 staging: rtl8188eu: Rework function PHY_LCCalibrate_8188E() Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9c00d71c1d600a7c31d91264b63f44d189ea556 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:58 2014 +0530 staging: rtl8188eu: Rework function phy_LCCalibrate_8188E() Rename CamelCase local variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce7c49e7251a6af42c19dfca9761f90d9461ce94 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:57 2014 +0530 staging: rtl8188eu: Rework function phy_IQCalibrate_8188E() Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c14ad0565a6b6ae805d4f9a6bbbb5d0385f8cc9f Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:56 2014 +0530 staging: rtl8188eu: Rework function phy_SimularityCompare_8188E() Rename CamelCase local variables and function name. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00c185e76db802a5bbf77c1d50d513a025538c97 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:55 2014 +0530 staging: rtl8188eu: Rework function _PHY_PIModeSwitch() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3dec6aa2a17a2f47b155e331a153d6d69e7e2929 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:54 2014 +0530 staging: rtl8188eu: Rework function _PHY_PathAStandBy() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86e9e28889be27a358ebaa7f54a705cbc6009fc3 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:53 2014 +0530 staging: rtl8188eu: Rework function _PHY_MACSettingCalibration() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ef1a32dfc931753891b3941b002013b12d2f88b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:52 2014 +0530 staging: rtl8188eu: Rework function _PHY_PathADDAOn() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33ce0980079db2c09a0d6855a184708605e5499a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:51 2014 +0530 staging: rtl8188eu: Rework function _PHY_ReloadMACRegisters() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5d99b8b3e8695c08990ecf5364277ba897d4c767 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:50 2014 +0530 staging: rtl8188eu: Rework function reload_adda_reg() Rename CamelCase local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ccfd0b39e48b345c6c46f6663989a9bb9f955153 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:49 2014 +0530 staging: rtl8188eu: Rework function _PHY_SaveMACRegisters() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98c04a2dd3f34698b3cb3807dd3e81d813571f4e Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:48 2014 +0530 staging: rtl8188eu: Rework function _PHY_SaveADDARegisters() Rename CamelCase local variables and function name. Remove unnecessary debugging messages and local variables. Declare it as a static function. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2a2994b5f73b3bd2dd33343df8cb0f8ec8a6990 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:47 2014 +0530 staging: rtl8188eu: Rework function pathb_fill_iqk() Rename CamelCase local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 198cd2d35fa170d9e98f872d04ebb6b8798d4d0d Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:46 2014 +0530 staging: rtl8188eu: Rework function patha_fill_iqk() Rename CamelCase local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43a3876c99253f4ed388dca84ae6514a2295852a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:45 2014 +0530 staging: rtl8188eu: Rework function phy_PathB_IQK_8188E() Rename CamelCase function name and local variables. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14ee976b9606b52242bf5e2d73a9b610032e6e2a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:44 2014 +0530 staging: rtl8188eu: Rework function phy_PathA_IQK_8188E() Rename CamelCase function name and local variables. Remove unnecessary debugging messages and local variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fdd0c324826381213c2b334e8d4ccfad314d66b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:43 2014 +0530 staging: rtl8188eu: Rework function phy_PathA_RxIQK() Rename CamelCase function name and variables. Remove unnecessary debugging messages. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05103ff0b9c246d437a966e2412822e34873d3c5 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:42 2014 +0530 staging: rtl8188eu: Rework odm_TXPowerTrackingCallback_ThermalMeter_8188E() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f335a61c7f8b41d74cbb0697820f9c89ce82058b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:41 2014 +0530 staging: rtl8188eu: Rename function odm_TxPwrTrackSetPwr88E() Rename CamelCase function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4de93b1ab73bf0b68ecd258573e34adcf989dfd1 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:40 2014 +0530 staging: rtl8188eu: Rework function ODM_TxPwrTrackAdjust88E() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a97c49af79fa9d2acbf81f791c063b12a44670f3 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Sep 7 16:37:39 2014 +0530 staging: rtl8188eu: Rename function ODM_GetRightChnlPlaceforIQK() Rename CamelCase function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc5bcbbdbf29914e1ab679548c7da68ea46829cf Author: Ilja Sidoroff <ilja.sidoroff@xxxxxx> Date: Mon Sep 8 17:37:53 2014 +0300 Staging: wlan-ng: Remove redundant break/goto statements in hfa384x_usb.c This patch removes redundant goto or break statements in hfa384x_usb.c as found by checkpatch.pl Signed-off-by: Ilja Sidoroff <ilja.sidoroff@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 676d22047902753cc199be9f1242b18db7e7b134 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Sun Sep 7 16:12:30 2014 +0200 rtl8192u: remove typedef remove a typedef that is not even really used. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c56051c0a5f65459eca011e4a95ecc6a004d5083 Author: SeeChen Ng <seechen81@xxxxxxxxx> Date: Sun Sep 7 20:19:25 2014 +0800 staging: netlogic: fix checkpatch.pl "LINE_SPACING" issuses Follow the checkpatch.pl "LINE_SPACING" indication: 1. Insert a blank line after function declaration. 2. Remove multiple blank lines. Signed-off-by: SeeChen Ng <seechen81@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e6646d50a429eb5804c30ff323ae545b0fcef12 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sat Sep 6 19:42:03 2014 -0500 drivers: staging: rtl8723au: Fix '"(foo*)" should be "(foo *)"' errors Fix checkpatch.pl '"(foo*)" should be "(foo *)"' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1f870c68ae4076716a5a75a2509f2216112c563 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sat Sep 6 18:40:29 2014 -0500 drivers: staging: rtl8821ae: Fix '"(foo*)" should be "(foo *)"' errors Fix checkpatch.pl '"(foo*)" should be "(foo *)"' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01b1ccd3a5dc20599019d12a673a587a5afda114 Author: Omar Sandoval <osandov@xxxxxxxxxxx> Date: Sat Sep 6 01:59:37 2014 -0700 staging: bcm: sort.c: fix coding style Fix checkpatch.pl "Alignment should match open parenthesis". Signed-off-by: Omar Sandoval <osandov@xxxxxxxxxxx> Reviewed-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 163090a24cecb67966350b448a1c9f9106c7a872 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Sep 4 23:08:37 2014 +0100 staging: vt6656: remove rate_control_algorithm pid rate control algorithm pid was removed from wireless tree The device defaults to algorithm 'minstrel_ht' There has been no problems using this algorithm. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c72f65cccab03dc9524a3d7fa385f31d5b6ae377 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Sep 4 23:08:36 2014 +0100 staging: vt6655: device_free_info() warn: variable dereferenced before check pDevice is never NULL when this function is called remove the check. This fixes smatch warning drivers/staging/vt6655/device_main.c:1023 device_free_info() warn: variable dereferenced before check 'pDevice' (see line 1021) Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: kbuild@xxxxxx Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06a3fab941da48d04fb9c00a5422a6e9740578e8 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Sep 5 13:28:01 2014 +0200 staging: gs_fpgaboot: remove checks for CONFIG_B4860G100 There are two checks for CONFIG_B4860G100 in this driver. But there's no Kconfig symbol B4860G100. These checks will always evaluate to false. Remove them and the code they hide. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e676e0661d23cd9439f6627ff9718e44556020fc Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Sep 4 16:01:04 2014 -0500 drivers: staging: rtl8821ae: Fix "space required before that '*'" errors Fix checkpatch.pl "space required before that '*'" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99dc94f3224855808ff22e36b82a3bdd4b16242e Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Sep 4 15:49:30 2014 -0500 drivers: staging: rtl8723au: Fix "space required before that '*'" errors Fix checkpatch.pl "space required before that '*'" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41389e29e70d0e6529af60a4d135f67c226c028e Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Sep 4 15:37:41 2014 -0500 drivers: staging: rtl8192u: Fix "space required before that '*'" errors Fix checkpatch.pl "space required before that '*'" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a519946162b4bff7e452b80eee03f7e974886825 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Fri Sep 5 12:53:06 2014 +0300 staging: xillybus: Removed unnecessary cast Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 64fa2b1bf4b623408f44925c45d82bb70229420e Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:57 2014 +0300 staging: xillybus: Blank lines add/remove * Blank lines between a function call and its return status check were removed. * Double blank lines were removed. * Blank lines were added and removed as to silence checkpatch.pl --strict Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91a2dea8f263357c8cdb772d9d1187c18c52f459 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:56 2014 +0300 staging: xillybus: Fix indentations Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 79ae92c436f216112a543ab4e62e8b512c9526e5 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:55 2014 +0300 staging: xillybus: Trivial coding style fixes Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d3274f20df58f58bab86a6b28c90676f75feb525 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:54 2014 +0300 staging: xillybus: Reorganize line breaks for clarity Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21c3184c5e88ab0d1cdfed69dde877a30fb19a89 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:52 2014 +0300 staging: xillybus: Fix comments Trivial comments removed, and one comment clarified Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c14cc622da94b9e0c9ddeea1bd51e7ff9b02cc04 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:51 2014 +0300 staging: xillybus: Added curly brackets as required Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1af1ea6b2caeefa9e99e5d8d9c94f34571a168d7 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:50 2014 +0300 staging: xillybus: Clarified the stop condition for a loop Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae870e5d04f4ebc6c27e76652dccb6bacc6e1e8e Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:49 2014 +0300 staging: xillybus: Use the return value of wait_event_interruptible Rather than checking the wait condition, the return value of wait_event_interruptible() and wait_event_interruptible_timeout() is used. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40931bbbfe7361d873b235e0667481c47796890a Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:48 2014 +0300 staging: xillybus: Fixes related to "rc" variable "rc" is often used to hold the return value of a function call. This patch removes unnecessary assignments to this variable, and makes a few related execution flow improvements. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06bda66b010324604883be715a9f46e857fa5346 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:47 2014 +0300 staging: xillybus: EAGAIN status handling improvement The -EAGAIN status is passed through an "rc" variable instead of a less common flow. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b09fc96476d7171fdffd5f5cd53da10685fc8e1 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:46 2014 +0300 staging: xillybus: Improved goto flow for error handling Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ac77ec61f943952019543c37848c0c9a97add15 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:45 2014 +0300 staging: xillybus: Improved error handling xilly_scan_idt() now returns an error status code, rather than being a void function and hint the status through an entry in a data structure. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31ca128d555d35e8bc53e6a3afce09f4c72b372b Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:44 2014 +0300 staging: xillybus: Removed unnecessary error message Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2531f6ccd01c584cc0b06baf854982d89c4f760f Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:43 2014 +0300 staging: xillybus: Removed unnecessary warning message Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a983dd5d9b0e28fd2c5f667633f6a55ab93f290b Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:42 2014 +0300 staging: xillybus: Non-interruptible mutex_lock() on release method Responding to an interrupt while handling the "release" method can't end well anyhow. In practical cases, this can force the user to wait up to one second while flushing remaining data is attempted (a timeout on the flush mechanism limits the time for flushing). Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cbc747946d9c4c0c018744fccfba952b7f8bcf0 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:41 2014 +0300 staging: xillybus: Use SEEK_* predefined constants Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5899005f94b66a1ec3f06d299bb2625098cc9720 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Thu Sep 4 17:47:40 2014 +0300 staging: xillybus: Use devm_kcalloc() for arrays Replace devm_kzalloc where it applies. Suggested-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 649a7d15d3ec3bc5327b8910946e2119e92425e8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:51 2014 -0700 staging: comedi: adl_pci9118: move analog input (*insn_read) function For aesthetics, move the analog input (*insn_read) function so it is not located in the middle of the async command support functions. Also, rename it for consistency. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ed1bd5aa53de9995e40a22ab1bc3ba8850e0dcd Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:50 2014 -0700 staging: comedi: adl_pci9118: tidy up some wordy comments Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91ed3f750e10b785878a962637b7c360e61070df Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:49 2014 -0700 staging: comedi: adl_pci9118: no need to reset ai FIFO after (*insn_read) The analog input FIFO is reset at the start of every (*insn_read) and (*do_cmd) operation. It's also reset for the analog input (*cancel). There's no reason to reset the FIFO if an (*insn_read) times out or after all the samples have been acquired. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 959068c35447a5eb24d3ab3494e270a3bf6753e9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:48 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_amcc_setup_dma() Introduce a helper function to program the AMCC master write address and transfer count registers to setup a DMA transaction. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97d09d462aecd4e6c9b127a6fbe605c72b5dbeb6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:47 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_amcc_dma_ena() Introduce a helper function to program the AMCC master control/status register to enable/disable dma. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 312eaf0bfec60c840825312deccd6ffcc124b9d0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:46 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_amcc_int_ena() Introduce a helper function to program the AMCC interrupt control/ status register to enable/disable interrupts. Fix the analog input (*cancel). The analog input async command support is the only interrupt generator. The (*cancel) should always disable interrupts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26ec77653975adca0600e1ed865d95e5e442d7ef Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:45 2014 -0700 staging: comedi: adl_pci9118: rename 'IntControlReg' Rename this CamelCase member of the private data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 559cc1ee79b1926891ce8ffb0b13acf8c6780857 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:44 2014 -0700 staging: comedi: adl_pci9118: rename 'AdControlReg' Rename this CamelCase member of the private data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bdee661653cebd4f4f3fd0ea836c9ea91a383e9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:43 2014 -0700 staging: comedi: adl_pci9118: rename 'AdFunctionReg' Rename this CamelCase member of the private data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26318c1c167517a83f3561767738d08e98757630 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:42 2014 -0700 staging: comedi: adl_pci9118: fix ai range/aref programming Currently the analog input range and aref are set in setup_channel_list(). This works for the (*insn_read) but the (*do_cmd) has a problem. In (*do_cmd) the ai control register is reset to 0 before the function works out the bits needed to control the acquisition. This happens after the setup_channel_list() call so the range is reset to bipolar and the aref to single-ended. Introduce a helper function, pci9118_ai_set_range_aref(), to handle the programming of the range and aref bits. This function first clears the cached value of the ai control register in the private data then sets the appropriate bits. The (*insn_read) and (*do_cmd) can then set the other bits needed to control the acquisition. Then setup_channel_list() just needs to program the chanlist scan data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdbeaed3f869d474774edc72a8f1ba6e091e2d82 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:41 2014 -0700 staging: comedi: adl_pci9118: ai (*insn_read) does not use interrupts The analog input (*insn_read) in this driver is done as a software-triggered, polled operation. The PCI9118_AI_CTRL_INT bit in the control register, which is actually set in setup_channel_list(), should not be set. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5358e8996f76ba5f44992226f7eb15d502c663fa Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:40 2014 -0700 staging: comedi: adl_pci9118: cleanup and simplify pci9118_reset() Change the return type to void, this function always succeeds and the callers never check the return value. According to the The User Manual for the PCI-9118, the hardware does not require any particular "reset" in order to function. Simplify the reset so it justs gets the board info a known state with interrupts disabled. There is no reason to initialize the private data members in this function. They all default to '0' due to the kzalloc() of the private data and the subdevice operations all initialize them as needed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cb3fc0a0292a720a87651337497af39f77ac64a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:39 2014 -0700 staging: comedi: adl_pci9118: move analog output (*insn_write) function For aesthetics, move the analog output (*insn_write) function so it is not located in the middle of the analog input functions. Also, rename it for consistency. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 458a76f4eeb3cb042878001d36ad796d411e7d80 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:38 2014 -0700 staging: comedi: adl_pci9118: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. The board is "reset" prior to the subdevice init. Part of this reset sets all the analog output channels to 0V. Move the initialization of the 'readback' values after the 'readback' member has been allocated. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f300fab2fcc281ef5b975ba0af9abd4a88af8599 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:37 2014 -0700 staging: comedi: adl_pci9118: move digitial input (*insn_bits) function For aesthetics, move the digital inputs (*insn_bits) function so it is not located in the middle of the analog input functions. Also, rename it for consistency. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 304e2be17e9f1675516e90a7e38cc40769567d4b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:36 2014 -0700 staging: comedi: adl_pci9118: don't reset digital outputs Currently this driver resets the digital output channels to a low state when the driver is attached and detached. Since the digital output state can be read, initialize the subdevice state when the driver is attached and don't reset them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8df6166b4da383fa9712b3a3883c64c4e4b24501 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 09:25:35 2014 -0700 staging: comedi: adl_pci9118: move digitial output (*insn_bits) function For aesthetics, move the digital outputs (*insn_bits) function so it is not located in the middle of the analog input functions. Also, rename it for consistency. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00bd059fee89b26d7c4b064abff716174aaacae0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:27 2014 -0700 staging: comedi: adl_pci9118: tidy up the interrupt control/status bit defines Rename the CamelCase defines used for the interrupt control/status register bits and convert them to bit shifts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74ba15ede74b78e8721d3d8750f5158aa31cfa87 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:26 2014 -0700 staging: comedi: adl_pci9118: tidy up the interrupt control/status register The register at offset 0x38 is the "interrupt control" register when written and the "interrupt status" register when read. Both registers use the same bit defines. For aesthetics, use a common define for this register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 582e59c042641b4b68a26fa8a5da8467b099c3ac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:25 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_ai_reset_fifo() Introduce a helper function to reset the analog input FIFO. For aesthetics, rename the register used to reset the FIFO. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ade7e01362848f864ca1e9632cb88a522f32657f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:24 2014 -0700 staging: comedi: adl_pci9118: tidy up the ai config register bit defines Rename the CamelCase defines used for the analog input config register bits and convert them to bit shifts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b460e9e2466b3baa10b6a669558528a1832e16b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:23 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_ADFUNC define For aesthetics, rename this define used for the analog input function config register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89a7dc157359cc39760551c95a51cb405834a968 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:22 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_SCANMOD define For aesthetics, rename this define used for the analog input auto scan mode register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 16d44e86d59db2d5706479184479426a467c9cc6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:21 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_BURST define For aesthetics, rename this define used for the analog input burst number register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7e38f36b3bf064b2c85cec670d8822d570d1593c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:20 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_GAIN define For aesthetics, rename this define used for the analog input chanlist programming register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1750bed3f795ad33d9b37c3669f97fe036fa7570 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:19 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_ai_start_conv() Writing any value to the "software trigger" register generates a trigger pulse to start an A/D conversion. Introduce a helper function to clarify this. For aesthetics, rename the define used for the register. According to the datasheet the extra delay is not needed after starting the conversion. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7f499bd03aa735d652e086762e48117d2b197b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:18 2014 -0700 staging: comedi: adl_pci9118: clarify the digital I/O register The same register is used for both the digital inputs and outputs. Reading the register returns the state of the 4 digtial input channels and the 4 digital output channels. Writing to the register updates the digital outputs. Add some comments to clarify this and use a single define for the register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 862be05ecf79157a3f9ae09a98b97e2066d2cc90 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:17 2014 -0700 staging: comedi: adl_pci9118: tidy up the ai control register bit defines Rename the CamelCase defines used for the analog input control register bits and convert them to bit shifts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a2a1fc7a4f5a0f6d99c6eb72858c715a13f40729 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:16 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_ADCNTRL define For aesthetics, rename this define used for the analog input control register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa2f430caacc2711032aa051a996735b21a0c0bf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:15 2014 -0700 staging: comedi: adl_pci9118: tidy up the ai status register bit defines Rename the CamelCase defines used for the analog input status register bits and convert them to bit shifts. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 602c1729caed253b50058df3851f86f645a0d2e0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:14 2014 -0700 staging: comedi: adl_pci9118: rename PCI9118_ADSTAT define For aesthetics, rename this define used for the analog input status register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c6908517f23baedaca31dbe738230bda9ffa377a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:13 2014 -0700 staging: comedi: adl_pci9118: tidy up analog output register defines Replace the current defines with a macro that calculates the correct register offset based on the channel. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7cc1110ddaaafe18506fd002632557f0e155a012 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:12 2014 -0700 staging: comedi: adl_pci9118: tidy up analog input fifo register define For aesthetics, rename the define used for the analog input fifo register and tidy up its use in the driver. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8dbcc2d027d959300b172bf11764af92f9a8dcf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:11 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_timer_set_mode() This driver uses 32-bit instructions to write the 8254 timers so we can't use the helper functions provided by 8253.h. To clarify the code introduce a helper function to set the timer mode. Remove the unnecessary commented out timer mode programming. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6dc359535c3dfc5289bf321e5a1e192733810311 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:10 2014 -0700 staging: comedi: adl_pci9118: introduce pci9118_timer_write() This driver uses 32-bit instructions to write the 8254 timers so we can't use the helper functions provided by 8253.h. To clarify the code introduce a helper function to write to the timers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7362afc32b7d7b4279a1cd12572dcff500ec132a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 12:14:09 2014 -0700 staging: comedi: adl_pci9118: all registers are 32-bit According to the PCI-9118 User's Manual, all registers are 32-bit. Fix a couple of read/write operations that use 16-bit access. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76c1b7bc45136d509c6fd3c0ff45b6e291421780 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:42 2014 -0700 staging: comedi: adl_pci9118: tidy up analog input subdevice init For aesthetics, add some whitespace to the analog input subdevice init. Tidy up the subdevice n_chan initialization. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 949dcfce4f5412fb3cd677a7e3820da5b750c1f5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:41 2014 -0700 staging: comedi: adl_pci9118: tidy up analog output subdevice init For aesthetics, add some whitespace to the analog output subdevice init. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 32034aaf03ecc5ed0e895505306e4a0a8b433811 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:40 2014 -0700 staging: comedi: adl_pci9118: tidy up digital input subdevice init For aesthetics, add some whitespace to the digital input subdevice init. Remove the SDF_GROUND and SDF_COMMON subdev_flags. These flags only apply to analog subdevices. Remove the 'len_chanlist' init, this subdevice member is only used with subdevices that support async commands. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e9879f7a443d9bd06dd40544c1b91766008b880 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:39 2014 -0700 staging: comedi: adl_pci9118: tidy up digital output subdevice init For aesthetics, add some whitespace to the digital output subdevice init. Remove the SDF_GROUND and SDF_COMMON subdev_flags. These flags only apply to analog subdevices. Remove the 'len_chanlist' init, this subdevice member is only used with subdevices that support async commands. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6009ae536ec642e451d29327bf04532c4c7e0aa Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:38 2014 -0700 staging: comedi: adl_pci9118: allocate private data in pci9118_common_attach() The (*auto_attach) and legacy (*attach) both allocate the private data but don't use it. For aesthetics, move the allocation into the common attach code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25a8aaf03e1701c1821f3087f0f12a7da6aa17ed Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:37 2014 -0700 staging: comedi: adl_pci9118: rename boardinfo struct For aesthetics, rename the struct used for the boardinfo so it has namespace associated with the driver. Also, rename the local variable used for the boardinfo pointer to simply 'board'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f34afce444ca2e3a65264126bec2982358a25a1f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:36 2014 -0700 staging: comedi: adl_pci9118: remove unnecessary dev->board_name initialization The (*auto_attach) in this driver will set the dev->board_name and the comedi core will set it when using the legacy (*attach). Remove the unnecessary initialization in pci9118_common_attach(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8bd1e1dfcacd184abdf60dccc4c62ee02aeafc9b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:35 2014 -0700 staging: comedi: adl_pci9118: remove 'device_id' from boardinfo This member of the boardinfo is the same for all entries. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83defe83332e68f7e477370439d6da6826b715ad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:34 2014 -0700 staging: comedi: adl_pci9118: use 'context' in (*auto_attach) The pci_device_id 'driver_data' is passed as the 'context' when the (*auto_attach) mechanism is used to attach this driver. Add a boardid enum and index the boardinfo so that the "pci9118dg" boardinfo is automatically selected. This allow removing the pci9118_find_boardinfo() helper. Unfortunately all the boards supported by this driver have the same device id. Add commented out entries in the device table for them. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0972008b2dfa2161ff1223214f5aae574bfe803 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:33 2014 -0700 staging: comedi: adl_pci9118: refactor 'ai_maxdata' in boardinfo The boards supported by this driver either have 12-bit or 16-bit analog inputs. For aesthetics, replace the 'ai_maxdata' member in the boardinfo with a bit-field flag, 'ai_is_16bit', and refactor the subdevice init to use the new member. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 344a15c14162d9976bfdf2a6145eab7989c513d4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:32 2014 -0700 staging: comedi: adl_pci9118: refactor 'rangelist_ai' in boardinfo The boards supported by this driver either have "normal" or "high gain" analog input ranges. For aesthetics, replace the 'rangelist_ai' member in the boardinfo with a bit-field flag 'is_hg' to indicate the "high gain" range is used. Refactor the subdevice init to use the flag to set the correct range_table. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 84f3e3a8adad518b449807b4a9e74a0d6a5be0fb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:31 2014 -0700 staging: comedi: adl_pci9118: remove 'ai_pacer_min' from boardinfo This value can easily be calculated based on the minimum sampling rate, 'ai_ns_min', and the base clock speed of the timers. Do that instead and remove the boardinfo. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34607db8ad9d381bee30389731e42f66ff5a2c03 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:30 2014 -0700 staging: comedi: adl_pci9118: remove 'ai_ns_min' from boardinfo The minimum convert time 'ai_ns_min' is based on the sampling rate of the A/D converter. This driver supports boards that use different ADC chips for 16-bit and 12-bit analog inputs. These chips have different sampling rates. For aesthetics, move the 'ai_ns_min' member from the boardinfo to the private data. Initialize the member during the attach based on the 'maxdata' of the analog inputs. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df925ca27c10f27c06173e7227c9efacce599789 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:29 2014 -0700 staging: comedi: adl_pci9118: remove 'n_aichan' boardinfo This member of the boardinfo is the same for all entries. Remove it. Also, remove the initialization of the subdevice 'len_chanlist'. This member is only used if the subdevice supports async commands. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 12fa2fe1ac6f3b2d51f8a06331a1f1a0e86863fc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:28 2014 -0700 staging: comedi: adl_pci9118: remove 'n_aichand' boardinfo This member of the boardinfo is the same for all entries. It's also half the subdevice 'n_chan'. Use that instead and remove the boardinfo. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7e1f441607f07e6e8bf3762f109b81aa87d8513 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:27 2014 -0700 staging: comedi: adl_pci9118: remove 'n_aichanlist' boardinfo This member of the boardinfo is the same for all entries. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea2d3993ce7edaf67d53ce9340ab6c984dfd08af Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:26 2014 -0700 staging: comedi: adl_pci9118: remove 'half_fifo_size' boardinfo This member of the boardinfo is the same for all entries. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 44aa94e8cc406d70263495e34475e7e842952289 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:25 2014 -0700 staging: comedi: adl_pci9118: remove 'n_aochan' boardinfo This member of the boardinfo is the same for all entries. Remove it. Also, remove the initialization of the subdevice 'len_chanlist'. This member is only used if the subdevice supports async commands. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b22699d6734d66a68816a95f2628b27840da9dad Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:24 2014 -0700 staging: comedi: adl_pci9118: remove 'ao_maxdata' boardinfo This member of the boardinfo is the same for all entries. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1ac986af0f176c8345b465bc3a5d70ebdc0cecaf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:23 2014 -0700 staging: comedi: adl_pci9118: remove 'rangelist_ao' boardinfo This member of the boardinfo is the same for all entries. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06db74b4de6eba986c0be736fa1919d5a27c47d5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Thu Sep 4 10:39:22 2014 -0700 staging: comedi: adl_pci9118: remove unused boardinfo Remove all the boardinfo members that are not used by the driver. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 948ffcfd74ef8dece6621200c6862a781e77753e Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Wed Sep 3 18:58:49 2014 -0500 staging: comedi: hwdrv_apci1500: use dev->class_dev in calls to dev_warn() git-grep reveals that hwdrv_apci1500.c is the only file in comedi that uses dev->hw_dev in calls to dev_{err,warn}(). The rest of the drivers pass dev->class_dev to these macros instead. Switch the dev_warn() calls in this driver to use dev->class_dev as well, for consistency. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 889277b93b3d94e8166554eb06c6ae0543a3a3ef Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:46:00 2014 +0100 staging: comedi: s626: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2ed2182efc3fc9351a35f7887c87263d1a91aedd Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:59 2014 +0100 staging: comedi: rtd520: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b302b8be957f73a9a59b46bf3982c70bbd737c6c Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:58 2014 +0100 staging: comedi: ni_pcidio: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3280c2d2a6a345848384b9de0c8ed76db6ad0c79 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:57 2014 +0100 staging: comedi: ni_mio_common: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d9773b68a216c4db58d021c4b08208daeddc5f3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:56 2014 +0100 staging: comedi: ni_labpc_common: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b544bd69cb8141ce2bb3ccbfb4f88afa2d7cc07e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:55 2014 +0100 staging: comedi: ni_at_a2150: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e00dedc5e1ee79e929891da386900e346a7519e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:54 2014 +0100 staging: comedi: me4000: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8be3333e785a0139270a272c39caf4dc68256c5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:53 2014 +0100 staging: comedi: dt3000: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba81e62d9934d072a77c01cd7715eed0816b5c53 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:52 2014 +0100 staging: comedi: dt282x: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07600725059e1a1f6d27b1a310dfc73244f4afb3 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:51 2014 +0100 staging: comedi: das1800: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f772bd57e6472cf9b2588c7f595669832e83f0d6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:50 2014 +0100 staging: comedi: cb_pcidas64: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b8096616042aa52acde60b5aa610de112a93ad09 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:49 2014 +0100 staging: comedi: amplc_pci230: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed23e413bd2614f3fc767e1cd1250ff3a677f857 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:48 2014 +0100 staging: comedi: adl_pci9118: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74eede61acaa6881b9d9a733d904a314768f3eb7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:47 2014 +0100 staging: comedi: addi_apci_3xxx: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8a512e418e5921b25e88acd07f41d0a04ff7fc74 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:46 2014 +0100 staging: comedi: 8253.h: use CMDF_ROUND_... Replace use of the `TRIG_ROUND_...` macros with the new names `CMDF_ROUND_...`. The numeric values are unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ab4ca10d298bfd425afbd8487538fafa9b77a13 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:45 2014 +0100 staging: comedi: add CMDF_ROUND_... as synonyms for TRIG_ROUND_... The `TRIG_ROUND_...` macros are some of the values that can be OR-ed into the `flags` member of `struct comedi_cmd`. They may influence the rounding of sample timings during operation of the asynchronous command. The names are a bit of a left-over from earlier times. It would be better to use the names `CMDF_ROUND_...` to match various other command flags. Define `CMDF_ROUND_MASK`, `CMDF_ROUND_NEAREST`, `CMDF_ROUND_DOWN`, `CMDF_ROUND_UP` and `CMDF_ROUND_UP_NEXT` with the same numeric values as `TRIG_ROUND_MASK`, `TRIG_ROUND_NEAREST`, `TRIG_ROUND_DOWN`, `TRIG_ROUND_UP` and `TRIG_ROUND_UP_NEXT`, and redefine the `TRIG_ROUND_...` macros as synonyms of the `CMDF_ROUND_...` macros. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b0446a21bd4be9c5f27f15ea03fc0cba7d33acd6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:44 2014 +0100 staging: comedi: use CMDF_BOGUS in do_cmd_ioctl() `TRIG_BOGUS` is now just a synonym for `CMDF_BOGUS`. Change `do_cmd_ioctl()` to use the new name. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd7eb1251d3c99136e60d9d0e325ca40e03f89bc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:43 2014 +0100 staging: comedi: add CMDF_BOGUS as synonym for TRIG_BOGUS `TRIG_BOGUS` is one of the values that can be OR-ed into the `flags` member of `struct comedi_cmd`. It causes the comedi core to go through some of the motions of setting up an asynchronous command without actually setting it up. If all goes well, it causes the command set-up to fail with an `EAGAIN` error. The name `TRIG_BOGUS` is a bit of a left-over from earlier times. A better name would be `CMDF_BOGUS` to match various other command flags. Define `CMDF_BOGUS` with the same numeric value as the old `TRIG_BOGUS` and redefine `TRIG_BOGUS` as a synonym of it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6681d3da3c9e0dba9bfec175523bcfcfdaa3e607 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:42 2014 +0100 staging: comedi: rtd520: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6f280e72dc7703dbd3715ba45f54d90c3de5bd7b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:41 2014 +0100 staging: comedi: pcl812: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 656d9b0fe1866397d407fae7f5fff55b54d5b861 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:40 2014 +0100 staging: comedi: ni_tiocmd: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c97140cb0929938a2a527c31d2ee7929d3779ef6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:39 2014 +0100 staging: comedi: ni_mio_common: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is the same. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 82d5571b1f11482ee305a5490a185bef38a88631 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:38 2014 +0100 staging: comedi: ni_labpc_common: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is the same. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a28f42f3eb2dc2ab53d240c58503cffc0fd165ad Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:37 2014 +0100 staging: comedi: das1800: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ad08e4b269579c3b0a7f982738945562b48a13e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:36 2014 +0100 staging: comedi: cb_pcidas64: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 07b2eb0e844377cf55dbf828ab817160ca6275fc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:35 2014 +0100 staging: comedi: cb_pcidas: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e455494472330e73ffbbf35e6664e4fdc16edc54 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:34 2014 +0100 staging: comedi: amplc_pci230: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e609aff2103e893e9ce8ec74ba18e9fd4c031fc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:33 2014 +0100 staging: comedi: adv_pci1710: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c25dec5773e3e4d66c29d53c96d008ac7ec9cb56 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:32 2014 +0100 staging: comedi: adl_pci9118: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Also change diagnostic messages to use "CMDF_WAKE_EOS" instead of "TRIG_WAKE_EOS" and change the Comedi driver description comment to use "CMDF_WAKE_EOS". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dfd0f083b98e38a3f580d1f3928482077dd1ba5a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:31 2014 +0100 staging: comedi: addi_apci_3120: use CMDF_WAKE_EOS Replace use of `TRIG_WAKE_EOS` command flag with the new name `CMDF_WAKE_EOS`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d8bff6e35e87ca5d8cd348d2563b34afb4faf28b Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:30 2014 +0100 staging: comedi: use CMDF_WAKE_EOS in do_cmd_ioctl() `TRIG_WAKE_EOS` is now just a synonym for `CMDF_WAKE_EOS`. Change `do_cmd_ioctl()` to use the new name. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e15acd313d208651a1e8a0e9369a41b470b1893 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:29 2014 +0100 staging: comedi: add CMDF_WAKE_EOS as synonym for TRIG_WAKE_EOS `TRIG_WAKE_EOS` is one of the values that can be OR-ed into the `flags` member of `struct comedi_cmd`. It's intended action is tune the asynchronous command to interrupt at the end of every "scan". The name is a bit of a left-over from earlier times. A better name would be `CMDF_WAKE_EOS` to match various other command flags. Define `CMDF_WAKE_EOS` with the same numeric value as the old `TRIG_WAKE_EOS` and redefine `TRIG_WAKE_EOS` as a synonym of it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ae5857aa2888cb5e33b235ef6d94012296700e1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:28 2014 +0100 staging: comedi: ni_labpc_common: use CMDF_PRIORITY Replace use of `TRIG_RT` command flag with the equivalent flag `CMDF_PRIORITY`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34ae4160504a82891208eaf8599ec432f340e169 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:27 2014 +0100 staging: comedi: ni_at_a2150: use CMDF_PRIORITY Replace use of `TRIG_RT` command flag with the equivalent flag `CMDF_PRIORITY`. The numeric value is unchanged. Also replace "TRIG_RT" with "CMDF_PRIORITY" in the kernel messages. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6a8df3a9e8179cfcc7bbced9ed89d222e7ac5c82 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:26 2014 +0100 staging: comedi: das1800: use CMDF_PRIORITY Replace use of `TRIG_RT` command flag with the equivalent flag `CMDF_PRIORITY`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0dbcf9c1c85643794ea5ce58378682002069bfe5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:25 2014 +0100 staging: comedi: das16: use CMDF_PRIORITY Replace use of `TRIG_RT` command flag with the equivalent flag `CMDF_PRIORITY`. The numeric value is unchanged. Also replace "TRIG_RT" with "CMDF_PRIORITY" in kernel log messages. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51d66b297c0a2e24ca2427ac929c0ae02169ada6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Sep 3 13:45:24 2014 +0100 staging: comedi: comedi_test: use CMDF_PRIORITY Replace use of `TRIG_RT` command flag with the equivalent flag `CMDF_PRIORITY`. The numeric value is unchanged. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5e5d7443646d5189e2b75170ff99455260bbc27b Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Thu Sep 4 12:44:53 2014 +0200 staging: emxx_udc: remove check for CONFIG_MACH_EMGR There's a check for CONFIG_MACH_EMGR. But the Kconfig symbol MACH_EMGR doesn't exist. Remove that check and the single #define it hides. Note that this macro isn't used by this driver anyway. Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2052d11cc53a3357e387a0c64c167327f7937429 Author: An Ha <zero579911@xxxxxxxxx> Date: Wed Sep 3 18:33:08 2014 -0400 Staging: rtl8821ae: base: add missing blank line after declaration Add a missing blank line after declaration to fix coding style issue. Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 096e6224386bc81663f72ba2fe51ee74e3337d1a Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 3 22:40:57 2014 +0100 staging: et131x: Fix whitespace - alignment matching open parenthesis Fix occurrences in et131x.c of: CHECK: Alignment should match open parenthesis Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbf45bcfdaa27886dd1109f75ac2a4fa995e7b6d Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 3 22:40:56 2014 +0100 staging: et131x: Add auto-negotiation and 1000BT_Half as supported protocols The driver supports auto-negotiation and 100BaetT_Half but doesn't advertise or list it in it's phydev. Fix that. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b09e8cf369da1282fa55c2e4a36c89d6f5c6208 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 3 22:40:55 2014 +0100 staging: et131x: Remove spinlock fbr_lock The spinlock fbr_lock is only used in a single call sequence staring from et131x_poll. As this call is already locked by napi->poll_lock, we can remove it. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be40a261aa52912b3e708e34383f0f0afb10d212 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Sep 3 22:40:54 2014 +0100 staging: et131x: Remove dead code in isr Dan Carpenter reports: The patch c2ebf58ba089: "staging: et131x: Implement NAPI support" from Aug 21, 2014, leads to the following static checker warning: drivers/staging/et131x/et131x.c:4004 et131x_isr() warn: we tested 'status' before and it was 'true' We don't actually need the dead code, as we're now using NAPI to handle enabling interrupts - but we do need to enable interrupts if NAPI is not scheduled - so enable interrupts if this is the case. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99cbb4de442d4e72e73031c60a2fb7a9a9f986f0 Author: An Ha <zero579911@xxxxxxxxx> Date: Tue Sep 2 21:00:46 2014 -0400 Staging: rtl8821ae: hal_bt_coexist: add a blank newline Fix coding style issue which requires a blank line after declarations. Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c8dbab964ff3b89883369a8b176f3e44ad4e34e4 Author: An Ha <zero579911@xxxxxxxxx> Date: Tue Sep 2 21:00:45 2014 -0400 Staging: rtl8821ae: hal_bt_coexist: fix curly brace placement Fix coding style issue where the if statement unnecessarily uses curly braces for one line statements and where the else conditional statement should follow the closing curly brace '}'. Also, the open curly brace '{' should be on the same line as the if statement. Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a49f91576a3d5baf287c1d9d92581a2ab42d8a8 Author: An Ha <zero579911@xxxxxxxxx> Date: Tue Sep 2 21:00:44 2014 -0400 Staging: rtl8821ae: hal_bt_coexist: fix pointer placement coding style issue Fix pointer placement coding style issue, where using "foo *" is preferable over "foo*". Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77360f030d8bf74df7d4067ca2748b0dbec70c75 Author: An Ha <zero579911@xxxxxxxxx> Date: Tue Sep 2 21:00:43 2014 -0400 Staging: rtl8821ae: hal_bt_coexist: add/remove spaces Fix coding style issue which requires a space before the open curly brace '{', after the open parenthesis '(', after a comma, and after the equal sign '=' in an assignment. Also, remove unnecessary whitespace after open parenthesis '(' and before a quoted newline. Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d7b8e19359f96288c3ec5d205c67a33a78f24b47 Author: An Ha <zero579911@xxxxxxxxx> Date: Tue Sep 2 21:00:42 2014 -0400 Staging: rtl8821ae: hal_bt_coexist: fix commenting style Fix commenting style from C99 comments to C89 comments Signed-off-by: An Ha <zero579911@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 73cfb7b028e045f7fc9d3ad695b7bdc55c6e56bb Author: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Date: Wed Sep 3 14:15:16 2014 +0200 staging: rtl8723au: Remove write-only variables hal_data_8723a.EEPROM[VP]ID Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8048ed5b60700ca20b723ce9b1d6549410f920cb Author: Greg Donald <gdonald@xxxxxxxxx> Date: Tue Sep 2 18:30:30 2014 -0500 drivers: staging: rtl8192u: Fix "space prohibited after that open parenthesis '('" errors Fix checkpatch.pl "space prohibited after that open parenthesis '('" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4258d61c14a5afba7d2c5bd534ab82eaf2b7d183 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:01:50 2014 -0700 staging: comedi: skel: remove driver The comedi skeleton driver is one of the few "hybrid" drivers with both legacy and PCI attach mechanisms. Instead of splitting this driver, just remove it. There are many other comedi drivers that provide better examples. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e988e1f3f975a9d6013c6356c5b9369540c091f9 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 14:13:30 2014 +0100 staging: comedi: ni_at_a2150: range check board index The "ni_at_a2150" driver determines the board type by calling `a2150_probe()`. This reads a register and converts it to a board index in the range 0 to 3. However, the board table array it indexes into (`a2150_boards[]`) only has 2 entries. Return an error from the Comedi driver "attach" handler `a2150_attach()` if the probed board index is beyond the end of the array. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 395262a9e69042b82293f8b6bcd7a48b2fd215de Author: Dmitry Voytik <voytikd@xxxxxxxxx> Date: Mon Sep 8 18:16:34 2014 +0400 staging: binder: fix coding style issues Fix coding style issues: * put braces in all if-else branches; * limit the length of changed lines to 80 columns. checkpatch.pl warning count reduces by 3. Signed-off-by: Dmitry Voytik <voytikd@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0232a42cbe3fe18c2dda833cb8e97253240a9479 Author: William Panlener <wpanlener@xxxxxxxxx> Date: Wed Sep 3 22:44:03 2014 -0500 staging: android: Break up a long line in binder_send_failed_reply Kernel coding style. Breaking long lines and strings. Signed-off-by: William Panlener <wpanlener@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e0301d0d28a2e55da5b68338d6b9f933620da63b Author: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Date: Mon Sep 8 15:02:49 2014 -0400 staging: ozwpan: use kmalloc_array over kmalloc with multiply Cleanup checkpatch.pl warnings. Signed-off-by: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4bb3f83d47a60109d8bc9d47e547392d9b6c390c Author: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Date: Mon Sep 8 14:43:44 2014 -0400 staging: ozwpan: fix redundant return in void function Cleanup checkpatch.pl warnings. Signed-off-by: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d75b6c6154267618363f0126bd50c73f8d448a24 Author: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Date: Mon Sep 8 14:41:48 2014 -0400 staging: ozwpan: fix redundant else after break or return Cleanup checkpatch.pl warnings. Signed-off-by: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce6880e17508b31e04628a71d4691ef4a00a8b3f Author: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Date: Mon Sep 8 14:39:58 2014 -0400 staging: ozwpan: fix missing blank line after declaration Cleanup checkpatch.pl warnings. Signed-off-by: Adrian Nicoara <anicoara@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b51144323281d23aac51ac38c0748e12f0c1e72c Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Fri Sep 5 14:52:46 2014 +0530 staging: unisys: uislib: uislib.c: sparse warning of context imbalance fixed sparse warning : context imbalance in 'pause_device' unexpected unlock this patch will generate warning from checkpatch for lines over 80 character , but since those are user-visible strings so it was not modified. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Tested-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b440ddd531490361d7b508bcfddd67f525c7c250 Author: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Date: Wed Sep 3 14:59:21 2014 +0530 staging: unisys: uislib: uisqueue.c: rewrite of do_locked_client_insert 1) removed unused variables 2) fixed sparse warning of context imbalance in 'do_locked_client_insert' different lock contexts for basic block 3) removed the call to visor_signalqueue_empty() , this function is checking whether a signal queue is empty, but the return value of the function is not beeing used, so it is safe to remove. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27d5775e75ec70c104479bd7fcdceb0d6e0203a8 Author: Bill Pemberton <wfp5p@xxxxxxxxxxxxxxx> Date: Sat Aug 30 16:35:58 2014 -0400 staging: dgnc: remove Neo card ids from device table The Digi Neo cards are supported by the jsm driver. Remove support for these cards from dgnc. Signed-off-by: Bill Pemberton <wfp5p@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 293b22650f405cb08d72470b42254047138c9a55 Author: Bill Pemberton <wfp5p@xxxxxxxxxxxxxxx> Date: Sat Aug 30 16:35:57 2014 -0400 jsm: add support for additional Neo cards Add device ids for additional Neo cards. The ids come from the dgnc driver. Signed-off-by: Bill Pemberton <wfp5p@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9b3e8f30e33d3542b00edcf0641d031b80967cb Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:29 2014 +0200 staging: lustre: ptlrpc: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d212afd9458a04f6c16f3d5d701593b915d526b0 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:35 2014 +0200 staging: lustre: obdclass: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55df5fad56cdb87f221975d5a0d09137bf53c687 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:34 2014 +0200 staging: lustre: obdclass: expand the GOTO macro + break The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl,rc,f; constant c; @@ - GOTO(lbl,\(rc\|rc->f\|c\)); - break; + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); - break; + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09c8a87ce62e858a048ca958faffc16acacfbc4e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:33 2014 +0200 staging: lustre: obdclass: expand double GOTO macros The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; @@ if (...) GOTO(lbl,...); +else GOTO(lbl,...); @@ identifier lbl; expression e,e1,e2; @@ if (e) - GOTO(lbl,e1); -else GOTO(lbl,e2); + e1; +else e2; +goto lbl; @@ identifier lbl1,lbl2; expression e,e1,e2; @@ + e1=e2; if (e) - GOTO(lbl1,e1=e2); -GOTO(lbl2,e1=e2); + goto lbl1; +goto lbl2; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8e147da484b996e3d649059607c6707a612aad6 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:32 2014 +0200 staging: lustre: lvfs: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc5c7f3dd68b4ce1d7bfac82b30c7d7a13e609b1 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Sep 7 18:18:30 2014 +0200 staging: lustre: libcfs: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91f96e8b7255537da3a58805cf465003521d7c5f Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Sep 4 13:26:53 2014 -0300 [media] tw68: drop bogus cpu_to_le32() call tw_writel maps to writel which maps to __raw_writel(__cpu_to_le32(b),addr). So tw_writel already calls cpu_to_le32 and it shouldn't be called again in the code. Reported-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 82604f8c97730e2962ab4cc4704fdbe105cfb6df Author: Mostyn Bramley-Moore <mbmcode@xxxxxxxxx> Date: Sun Sep 7 11:46:40 2014 +0200 staging/lustre: annotate lock/unlock in lov_stripe_lock / lov_stripe_unlock Annotate the lock/unlock pair in lov_stripe_lock/lov_stripe_unlock to avoid sparse warning about a context imbalance. Part of the eudyptula challenge: http://eudyptula-challenge.org/ Signed-off-by: Mostyn Bramley-Moore <mbmcode@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 947b38bb110c90e0bc93e7afe9ab6f007b6799a7 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Sep 4 13:26:52 2014 -0300 [media] tw68: simplify tw68_buffer_count The code to calculate the maximum number of buffers allowed in 4 MB is 1) wrong if PAGE_SIZE != 4096 and 2) unnecessarily complex. Fix and simplify the code. Reported-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f7cc38b16e2741186253be3dff61a9d124112126 Merge: efb540c 2ce7598 Author: Felipe Balbi <balbi@xxxxxx> Date: Mon Sep 8 14:39:01 2014 -0500 Merge tag 'v3.17-rc4' into next Merge Linux 3.17-rc4 here so we have all the latest fixes on next too. This also cleans up a few conflicts when applying patches. Signed-off-by: Felipe Balbi <balbi@xxxxxx> Conflicts: drivers/usb/gadget/Makefile drivers/usb/gadget/function/Makefile drivers/usb/gadget/legacy/Makefile drivers/usb/phy/phy-samsung-usb.h commit 3db7eb2e447633c7e2adb656125e69ce6b28cd9a Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:18 2014 -0500 staging/lustre/obdclass: remove local_storage.[ch] Remove the unused files lustre/obdclass/local_storage.[ch]. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7a8424e4d53aa2e99df839cc7bceec9d7ba30b37 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:17 2014 -0500 staging/lustre/obdclass: remove llog_ioctl.c Remove the unused function llog_ioctl() and the file lustre/obdclass/llog_ioctl.c. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9b047d8b723525d193990cb3265d5de82d2f390 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:16 2014 -0500 staging/lustre/ptlrpc: remove sptlrpc_conf_target_get_rules() Remove the unused function sptlrpc_conf_target_get_rules() and its supporting functions. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b79e161f90e30e5f16604e820202ce48c6661ff Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:15 2014 -0500 staging/lustre/mgc: remove server specific llog handling In mgc_process_cfg_log() remove code to handle LLOG_CONFIG_ORIG_CTXT. This context is not setup on clients. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecbed464dbc37e24fe258134fdfb023d0c6a91c6 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:14 2014 -0500 staging/lustre: remove unused OBD methods Remove the unused OBD device methods: obd_brw() obd_cancel() obd_cancel_unused() obd_change_cbdata() obd_create_async() obd_enqueue() obd_enqueue_rqset() obd_extent_calc() obd_llog_connect() obd_llog_finish() obd_llog_init() obd_merge_lvb() obd_pin() obd_pin_observer() obd_ping() obd_precreate() obd_punch() obd_punch_rqset() obd_sync() obd_sync_rqset() obd_unpin() obd_unpin_observer() Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d3d984825a83fcf8983a7fe05bdd11aaf716ab7 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:13 2014 -0500 staging/lustre/mgc: inline mgc_cancel() The function mgc_cancel() is never invoked as an OBD device method and is only called directly from mgc_process_log() so remove it. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 903af1188e953fee851951cf528e3edc794cbe8a Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:12 2014 -0500 staging/lustre/mdc: inline llog methods In mdc_setup() and mdc_precleanup() call mdc_llog_init() and mdc_llog_finish() directly rather than through the OBD method wrappers obd_llog_init() and obd_llod_finish(). Simplify the prototypes of mdc_llog_init() and mdc_llog_finish() according to their uses. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b4015fa2154fe67934719af10f536b10b005734 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:11 2014 -0500 staging/lustre/mdc: remove unused OBD methods Remove the unused OBD device methods mdc_pin() and mdc_unpin(). Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f024bad46aa6be7e3acaf02c68c5cbfef297fb26 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:10 2014 -0500 staging/lustre: remove obd_ost.h Move the structures defined in lustre/include/obd_ost.h to the one file that uses them (lustre/osc/osc_request.c). Remove the unused function osc_update_enqueue(). Remove the then empty header lustre/include/obd_ost.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dd45f477f56f92b4af5e902467914787d836d0aa Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:09 2014 -0500 staging/lustre/osc: remove obsolete llog handling code In osc_request.c there is no reason to handle any llog contexts since they are never setup. Remove the functions unused function osc_llog_init() and the obsolete function osc_llog_finish(). Remove the llog cleanup code in osc_disconnect() and osc_precleanup(). Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a659b6370665cc52d294c6024b9c17f53cb6c94 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:08 2014 -0500 staging/lustre/osc: remove unused OBD methods Remove the unused OBD device methods: osc_brw() osc_cancel() osc_cancel_unused() osc_change_cbdata() osc_enqueue() osc_punch() osc_sync() and their supporting functions. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acda5261a2e6774722e3f0b44207e71faaa4f3e7 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Sep 5 15:08:07 2014 -0500 staging/lustre/lov: remove unused OBD methods Remove the unused OBD device methods: lov_brw() lov_cancel() lov_cancel_unused() lov_change_cbdata() lov_enqueue() lov_extent_calc() lov_getattr() lov_merge_lvb() lov_punch() lov_setattr() lov_sync() and their supporting functions. In lov_iocontrol() remove the unused cases LL_IOC_LOV_SETSTRIPE and LL_IOC_LOV_SETEA and their supporting functions. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c68b7f127d5f517c214e8bcf231d0188f6776d2a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sat Sep 6 06:59:10 2014 +0300 Bluetooth: Fix dereferencing conn variable before NULL check This patch fixes the following type of static analyzer warning (and probably a real bug as well as the NULL check should be there for a reason): net/bluetooth/smp.c:1182 smp_conn_security() warn: variable dereferenced before check 'conn' (see line 1174) Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9f06a8d623b2c3aea09292b844e329fbfb401231 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 16:03:34 2014 -0700 Bluetooth: LLVMLinux: Remove VLAIS from bluetooth/amp.c Replaced the use of a Variable Length Array In Struct (VLAIS) with a C99 compliant equivalent. This patch allocates the appropriate amount of memory using an char array. The new code can be compiled with both gcc and clang. struct shash_desc contains a flexible array member member ctx declared with CRYPTO_MINALIGN_ATTR, so sizeof(struct shash_desc) aligns the beginning of the array declared after struct shash_desc with long long. No trailing padding is required because it is not a struct type that can be used in an array. The CRYPTO_MINALIGN_ATTR is required so that desc is aligned with long long as would be the case for a struct containing a member with CRYPTO_MINALIGN_ATTR. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Jan-Simon Möller <dl9pf@xxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b28b4943660f4e36f118b751ec606c103ba6b1cc Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:55 2014 +0300 Bluetooth: Add strict checks for allowed SMP PDUs SMP defines quite clearly when certain PDUs are to be expected/allowed and when not, but doesn't have any explicit request/response definition. So far the code has relied on each PDU handler to behave correctly if receiving PDUs at an unexpected moment, however this requires many different checks and is prone to errors. This patch introduces a generic way to keep track of allowed PDUs and thereby reduces the responsibility & load on individual command handlers. The tracking is implemented using a simple bit-mask where each opcode maps to its own bit. If the bit is set the corresponding PDU is allow and if the bit is not set the PDU is not allowed. As a simple example, when we send the Pairing Request we'd set the bit for Pairing Response, and when we receive the Pairing Response we'd clear the bit for Pairing Response. Since the disallowed PDU rejection is now done in a single central place we need to be a bit careful of which action makes most sense to all cases. Previously some, such as Security Request, have been simply ignored whereas others have caused an explicit disconnect. The only PDU rejection action that keeps good interoperability and can be used for all the applicable use cases is to drop the data. This may raise some concerns of us now being more lenient for misbehaving (and potentially malicious) devices, but the policy of simply dropping data has been a successful one for many years e.g. in L2CAP (where this is the *only* policy for such cases - we never request disconnection in l2cap_core.c because of bad data). Furthermore, we cannot prevent connected devices from creating the SMP context (through a Security or Pairing Request), and once the context exists looking up the corresponding bit for the received opcode and deciding to reject it is essentially an equally lightweight operation as the kind of rejection that l2cap_core.c already successfully does. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c6e81e9ae61cae3ea265e8f7fb2cbe59afc63594 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:54 2014 +0300 Bluetooth: Fix calling smp_distribute_keys() when still waiting for keys When we're in the process of receiving keys in phase 3 of SMP we keep track of which keys are still expected in the smp->remote_key_dist variable. If we still have some key bits set we need to continue waiting for more PDUs and not needlessly call smp_distribute_keys(). This patch fixes two such cases in the smp_cmd_master_ident() and smp_cmd_ident_addr_info() handler functions. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 88d3a8acf33e8f4989a1032998eb819a89829573 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:53 2014 +0300 Bluetooth: Add define for key distribution mask This patch adds a define for the allowed bits of the key distribution mask so we don't have to have magic 0x07 constants throughout the code. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fc75cc8684d21d3649b28c4c37d4ce3f000759e4 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:52 2014 +0300 Bluetooth: Fix locking of the SMP context Before the move the l2cap_chan the SMP context (smp_chan) didn't have any kind of proper locking. The best there existed was the HCI_CONN_LE_SMP_PEND flag which was used to enable mutual exclusion for potential multiple creators of the SMP context. Now that SMP has been converted to use the l2cap_chan infrastructure and since the SMP context is directly mapped to a corresponding l2cap_chan we get the SMP context locking essentially for free through the l2cap_chan lock. For all callbacks that l2cap_core.c makes for each channel implementation (smp.c in the case of SMP) the l2cap_chan lock is held through l2cap_chan_lock(chan). Since the calls from l2cap_core.c to smp.c are covered the only missing piece to have the locking implemented properly is to ensure that the lock is held for any other call path that may access the SMP context. This means user responses through mgmt.c, requests to elevate the security of a connection through hci_conn.c, as well as any deferred work through workqueues. This patch adds the necessary locking to all these other code paths that try to access the SMP context. Since mutual exclusion for the l2cap_chan access is now covered from all directions the patch also removes unnecessary HCI_CONN_LE_SMP_PEND flag (once we've acquired the chan lock we can simply check whether chan->smp is set to know if there's an SMP context). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d6268e86a12a94a4f5193551c2367162e6a37db4 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:51 2014 +0300 Bluetooth: Remove unnecessary deferred work for SMP key distribution Now that the identity address update happens through its own deferred work there's no need to have smp_distribute_keys anymore behind a second deferred work. This patch removes this extra construction and makes the code do direct calls to smp_distribute_keys() again. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f3d82d0c8ec025fc113408e3ad5775fed5a060ff Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:50 2014 +0300 Bluetooth: Move identity address update behind a workqueue The identity address update of all channels for an l2cap_conn needs to take the lock for each channel, i.e. it's safest to do this by a separate workqueue callback. Previously this was partially solved by moving the entire SMP key distribution behind a workqueue. However, if we want SMP context locking to be correct and safe we should always use the l2cap_chan lock when accessing it, meaning even smp_distribute_keys needs to take that lock which would once again create a dead lock when updating the identity address. The simplest way to solve this is to have l2cap_conn manage the deferred work which is what this patch does. A subsequent patch will remove the now unnecessary SMP key distribution work struct. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 84bc0db53b3a425fb992d5fed25b575e4434167a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:49 2014 +0300 Bluetooth: Don't take any action in smp_resume_cb if not encrypted When smp_resume_cb is called if we're not encrypted (i.e. the callback wasn't called because the connection became encrypted) we shouldn't take any action at all. This patch moves also the security_timer cancellation behind this condition. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1b0921d6be7860271ccf6027891b8215fc28cde5 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Sep 5 22:19:48 2014 +0300 Bluetooth: Remove unnecessary checks after canceling SMP security timer The SMP security timer used to be able to modify the SMP context state but now days it simply calls hci_disconnect(). It is therefore unnecessary to have extra sanity checks for the SMP context after canceling the timer. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 434714dc02b286d3f21179c651a6f1a84e199eb7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Sep 1 09:45:03 2014 +0300 Bluetooth: Add clarifying comment for LE CoC result value The "pending" L2CAP response value is not defined for LE CoC. This patch adds a clarifying comment to the code so that the reader will not think there is a bug in trying to use this value for LE CoC. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 839035a7b3acd17a6f739b1fb50298e9499d3fa4 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:34 2014 +0300 Bluetooth: Move clock offset reading into hci_disconnect() To give all hci_disconnect() users the advantage of getting the clock offset read automatically this patch moves the necessary code from hci_conn_timeout() into hci_disconnect(). This way we pretty much always update the clock offset when disconnecting. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e3f2f92a047cd2be3c87a2aaf0a8958e1fd4c17a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:33 2014 +0300 Bluetooth: Use hci_disconnect() for mgmt_disconnect_device() There's no reason to custom build the HCI_Disconnect command in the Disconnect Device mgmt command handler. This patch updates the code to use hci_disconnect() instead. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e3b679d56caa2bc555dee646a6ac5861631e7a28 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:32 2014 +0300 Bluetooth: Update hci_disconnect() to return an error value We'll soon use hci_disconnect() from places that are interested to know whether the hci_send_cmd() really succeeded or not. This patch updates hci_disconnect() to pass on any error returned from hci_send_cmd(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 9b7b18ef1bea82e5fc1e05da386ff57b0f60f651 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:31 2014 +0300 Bluetooth: Fix SMP error and response to be mutually exclusive Returning failure from the SMP data parsing function will cause an immediate disconnect, making any attempts to send a response PDU futile. This patch updates the function to always either send a response or return an error, but never both at the same time: * In the case that HCI_LE_ENABLED is not set we want to send a Pairing Not Supported response but it is not required to force a disconnection, so do not set the error return in this case. * If we get garbage SMP data we can just fail with the handler function instead of also trying to send an SMP Failure PDU. * There's no reason to force a disconnection if we receive an unknown SMP command. Instead simply send a proper Command Not Supported SMP response. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b04afa0c280b7e7ced88692251d75a78c8fcb2a7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:30 2014 +0300 Bluetooth: Remove unused l2cap_conn_shutdown API Now that there are no more users of the l2cap_conn_shutdown API (since smp.c switched to using hci_disconnect) we can simply remove it along with all of it's l2cap_conn variables. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1e91c29eb60c031f4297d1a58125d0bd37691348 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:29 2014 +0300 Bluetooth: Use hci_disconnect for immediate disconnection from SMP Relying on the l2cap_conn_del procedure (triggered through the l2cap_conn_shutdown API) to get the connection disconnected is not reliable as it depends on all users releasing (through hci_conn_drop) and that there's at least one user (so hci_conn_drop is called at least one time). A much simpler and more reliable solution is to call hci_disconnect() directly from the SMP code when we want to disconnect. One side-effect this has is that it prevents any SMP Failure PDU from being sent before the disconnection, however neither one of the scenarios where l2cap_conn_shutdown was used really requires this. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e31fb86005a01b7df8427b09d0158da28d0c773a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:28 2014 +0300 Bluetooth: Set discon_timeout to 0 in l2cap_conn_del When the l2cap_conn_del() function is used we do not want to wait around "in case something happens" before disconnecting. This patch sets the disconnection timeout to 0 so that the disconnection routines get immediately scheduled. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit bcbb655a180344d8004ede669228992bff1921e4 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 20:33:27 2014 +0300 Bluetooth: Remove hci_conn_hold/drop from hci_chan We can't have hci_chan contribute to the "active" reference counting of the hci_conn since otherwise the connection would never get dropped when there are no more users (since hci_chan would be counted as a user). This patch removes hold() when creating the hci_chan and drop() when destroying it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f94b665dcf15324f5ac8aa639e47be0829b6409d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 00:41:44 2014 +0300 Bluetooth: Ignore incoming data after initiating disconnection When hci_chan_del is called the disconnection routines get scheduled through a workqueue. If there's any incoming ACL data before the routines get executed there's a chance that a new hci_chan is created and the disconnection never happens. This patch adds a new hci_conn flag to indicate that we're in the process of driving the connection down. We set the flag in hci_chan_del and check for it in hci_chan_create so that no new channels are created for the same connection. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b3ff670a44cc34c01e78900c42255511e4f232e6 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 00:41:43 2014 +0300 Bluetooth: Set disc_timeout to 0 when calling hci_chan_del The hci_chan_del() function is used in scenarios where we've decided we want to get rid of the underlying baseband link. It makes therefore sense to force the disc_timeout to 0 so that the disconnection routines are immediately scheduled. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6c388d32ec1b9fcc2f2404fb5e9b3b0096be5de9 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 00:41:42 2014 +0300 Bluetooth: Fix hci_conn reference counting with hci_chan The hci_chan_del() function was doing a hci_conn_drop() but there was no matching hci_conn_hold() in the hci_chan_create() function. Furthermore, as the hci_chan struct holds a pointer to the hci_conn there should be proper use of hci_conn_get/put. This patch fixes both issues so that hci_chan does correct reference counting of the hci_conn object. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit eb78d7e53d144995b9e023b151de19fa40af72f3 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 18 00:41:41 2014 +0300 Bluetooth: Use zero timeout for immediate scheduling There's no point in passing a "small" timeout to queue_delayed_work() to try to get the callback faster scheduled. Passing 0 is perfectly valid and will cause a shortcut to a direct queue_work(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f6c63249698aaa87399e795adcf3b70171384dc2 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:59 2014 +0300 Bluetooth: Refactor connection parameter freeing into its own function The necessary steps for freeing connection paramaters have grown quite a bit so we can simplify the code by factoring it out into its own function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f8aaf9b65a77267f749c1af641e46c3457d50701 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Sun Aug 17 23:28:57 2014 +0300 Bluetooth: Fix using hci_conn_get() for hci_conn pointers Wherever we keep hci_conn pointers around we should be using hci_conn_get/put to ensure that they stay valid. This patch fixes all places violating against the principle currently. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 51bb8457ddfa74ede52bf8c02054dea831d59fff Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:57 2014 +0300 Bluetooth: Improve *_get() functions to return the object type It's natural to have *_get() functions that increment the reference count of an object to return the object type itself. This way it's simple to make a copy of the object pointer and increase the reference count in a single step. This patch updates two such get() functions, namely hci_conn_get() and l2cap_conn_get(), and updates the users to take advantage of the new API. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5477610fc187d4aae0f699d21dfb0e3f440f7de7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:56 2014 +0300 Bluetooth: Optimize connection parameter lookup for LE connections When we get an LE connection complete event there's really no reason to look through the entire connection parameter list as the entry should be present in the hdev->pend_le_conns list too. This patch changes the lookup code to do a more restricted lookup only in the pend_le_conns list. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 08853f18eafe65aa97deb464c28505a67c898b0e Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:55 2014 +0300 Bluetooth: Set addr_type only when it's needed In the hci_le_conn_complete_evt() function there's no need to set the addr_type value until it's actually needed, i.e. for the black list lookup. This patch moves the code a bit further down in the function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit c16900cf285ca240f0f84117bf8b88a03c55469b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:17:06 2014 +0300 Bluetooth: Fix hci_conn reference counting for fixed channels Now that SMP has been converted to use fixed channels we've got a bit of a problem with the hci_conn reference counting. So far the L2CAP code has kept a reference for each L2CAP channel that was notified of the connection. With SMP however this would mean that the connection is never dropped even though there are no other users of it. Furthermore, SMP already does its own hci_conn reference counting internally, starting from a security or pairing request and ending with the key distribution. This patch makes L2CAP fixed channels default to the L2CAP core not keeping a hci_conn reference for them. A new FLAG_HOLD_HCI_CONN flag is added so that L2CAP users can declare an exception to this rule and hold a reference even for their fixed channels. One such exception is the L2CAP socket layer which does want a reference for each socket (e.g. an ATT socket which uses a fixed channel). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b3ed6c63f7d4a51b01a61b10e53a2992ad26aa78 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:52 2014 +0300 Bluetooth: Remove unnecessary l2cap_chan_unlock before l2cap_chan_add The l2cap_chan_add() function doesn't require the channel to be unlocked. It only requires the l2cap_conn to be unlocked. Therefore, it's unnecessary to unlock a channel before calling l2cap_chan_add(). This patch removes such unnecessary unlocking from the l2cap_chan_connect() function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72c6fb915ff2d30ae14053edee4f0d30019bad76 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 15 21:06:51 2014 +0300 Bluetooth: Fix incorrect LE CoC PDU length restriction based on HCI MTU The l2cap_create_le_flowctl_pdu() function that l2cap_segment_le_sdu() calls is perfectly capable of doing packet fragmentation if given bigger PDUs than the HCI buffers allow. Forcing the PDU length based on the HCI MTU (conn->mtu) would therefore needlessly strict operation on hardware with limited LE buffers (e.g. both Intel and Broadcom seem to have this set to just 27 bytes). This patch removes the restriction and makes it possible to send PDUs of the full length that the remote MPS value allows. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 11e42532ada3174840196e8f23df29cb91c44b50 Author: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 15:35:30 2014 -0600 PCI: Assume all Mellanox devices have broken INTx masking The VFIO driver routes LSI interrupts by capturing, masking, and then delivering. When passing though Mellanox adapters from host to guest, interrupt storm are reported from host and guest. That's because the PCI command register INTx Disable bit doesn't work on Mellanox devices. # lspci | grep Mellanox 0001:05:00.0 Ethernet controller: Mellanox Technologies MT27500 Family [ConnectX-3] 0005:01:00.0 Ethernet controller: Mellanox Technologies MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] (rev b0) Amir Vadai confirmed that all Mellanox devices have same problem. The patch marks broken INTx masking for all Mellanox adapters. Suggested-by: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Gavin Shan <gwshan@xxxxxxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-By: Amir Vadai <amirv@xxxxxxxxxxxx> commit 628ed4717000789bff827c5799d1aac4c1008541 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Tue May 20 16:19:23 2014 -0500 ARM: OMAP5: Add hook in SoC initcalls to enable pm initialization With consolidated code, now we can add the required hooks for OMAP5 to enable power management. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [nm@xxxxxx: minor rebase updates] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 6099dd37c66931085557363b4716483f97cf92a0 Author: Rajendra Nayak <rnayak@xxxxxx> Date: Mon May 27 15:46:44 2013 +0530 ARM: OMAP5 / DRA7: Enable CPU RET on suspend On OMAP5 / DRA7, prevent a CPU powerdomain OFF and resulting MPU OSWR and instead attempt a CPU RET and side effect, MPU RET in suspend. NOTE: the hardware was originally designed to be capable of achieving deep power states such as OFF and OSWR, however due to various issues and risks, deepest valid state was determined to be CSWR - hence we use the errata framework to handle this case. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> [nm@xxxxxx: updates] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit e97c4eb342055b24da886b56377dc0093e835b4a Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Fri Jun 6 17:30:43 2014 -0500 ARM: OMAP5 / DRA7: PM: Provide a dummy startup function for CPU hotplug Dont assume that all OMAP4+ code will be able to use OMAP4 hotplug logic. On OMAP5, DRA7, we do not need this in place yet, also, currently the CPU startup pointer is located in omap4_cpu_pm_info instead of cpu_pm_ops. So, isolate the function to hotplug_restart pointer in cpu_pm_ops where it should have belonged, initalize them as per valid startup pointers for OMAP4430/60 as in current logic, however provide dummy_cpu_resume to be the startup location as well. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [nm@xxxxxx: split this out of original code and isolate it] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 325f29da0d21900a78a91724acd6640e59f3e13c Author: Rajendra Nayak <rnayak@xxxxxx> Date: Fri May 3 15:34:40 2013 +0530 ARM: OMAP5 / DRA7: PM: Avoid all SAR saves Get rid of all assumptions about always having a sar base on *all* OMAP4+ platforms. We dont need one on DRA7 and it is not necessary at this point for OMAP5 either. Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> [nm@xxxxxx: Split and optimize] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 6d846c46683a4a8a54fbd30b0ff1434a7d898026 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Thu Apr 12 17:01:52 2012 +0530 ARM: OMAP5 / DRA7: PM: Enable Mercury retention mode on CPUx powerdomains In addition to the standard power-management technique, the OMAP5 / DRA7 MPU subsystem also employs an SR3-APG (mercury) power management technology to reduce leakage. It allows for full logic and memories retention on MPU_C0 and MPU_C1 and is controlled by the PRCM_MPU. Only "Fast-mode" is supported on the OMAP5 and DRA7 family of processors. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [nm@xxxxxx: minor consolidation] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit 4664d4d86012c4a51b9f40d0d72e27e39205e874 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Fri Feb 8 17:07:31 2013 +0530 ARM: OMAP5 / DRA7: PM / wakeupgen: Enables ES2 PM mode by default Enables MPUSS ES2 power management mode using ES2_PM_MODE in AMBA_IF_MODE register. 0x0: OMAP5 ES1 behavior, CPU cores would enter and exit OFF mode together. Broken! Fortunately, we do not support this anymore. 0x1: OMAP5 ES2, DRA7 behavior, CPU cores are allowed to enter/exit OFF mode independently. This is one time settings thanks to always ON domain. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [nm@xxxxxx: minor conflict resolutions, consolidation for DRA7] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit d2136bce9db79f7d983f081c5d1b6e9359714dd6 Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Wed Feb 6 15:51:45 2013 +0530 ARM: OMAP5 / DRA7: PM: Set MPUSS-EMIF clock-domain static dependency With EMIF clock-domain put under hardware supervised control, memory corruption and untraceable crashes are observed on OMAP5. Further investigation revealed that there is a weakness in the PRCM on this specific dynamic depedency. The recommendation is to set MPUSS static dependency towards EMIF clock-domain to avoid issues. This recommendation holds good for DRA7 family of devices as well. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [rnayak@xxxxxx: DRA7] Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> [nm@xxxxxx: conflict resolution, dra7] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit a89726d3b4cb81b033e34cc55974a33dab3279da Author: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Wed Feb 6 19:39:07 2013 +0530 ARM: OMAP5 / DRA7: PM: Update CPU context register offset On OMAP5, RM_CPUi_CPUi_CONTEXT offset has changed. Update the code so that same code works for OMAP4+ devices. DRA7 and OMAP5 have the same context offset as well. Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> [rnayak@xxxxxx: for DRA7] Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> [nm@xxxxxx: rebase, split/merge etc..] Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Tested-by: Kevin Hilman <khilman@xxxxxxxxxx> commit dbbe9770d11284322db289c6ec83e8911e7a8f89 Author: Keerthy <j-keerthy@xxxxxx> Date: Mon Apr 7 11:54:49 2014 +0530 ARM: AM437x: use pdata quirks for pinctrl information Provide pdata-quirks for Am437x processor family. Signed-off-by: Keerthy <j-keerthy@xxxxxx> commit b0a3d0da6734116acf59e53aba9c61bc87bc78f1 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 23:39:54 2014 -0500 ARM: DRA7: use pdata quirks for pinctrl information Provide pdata-quirks for DRA7 processor family. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit 874fef7d02fab2208ab5b2ed0ad72c67b36ffb15 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 15:19:29 2014 -0500 ARM: OMAP5: use pdata quirks for pinctrl information Provide pdata-quirks for OMAP5 processor family. Signed-off-by: Nishanth Menon <nm@xxxxxx> commit 3e6a1c945950140926dd6e2cc667893de0a7fe3b Author: Nishanth Menon <nm@xxxxxx> Date: Thu Jul 24 10:24:19 2014 -0500 ARM: OMAP4+: PM: Use only valid low power state for CPU hotplug Not all SoCs support OFF mode - for example DRA74/72. So, use valid power state during CPU hotplug. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit bd7593c69af8f610567fd6b105c440cfe9da7661 Author: Nishanth Menon <nm@xxxxxx> Date: Fri Jun 6 01:17:37 2014 -0500 ARM: OMAP4+: PM: use only valid low power state for suspend We are using power domain state as RET and logic state as OFF. This state is OSWR. This may not always be supported on ALL power domains. In fact, on certain power domains, this might result in a hang on certain platforms. Instead, depend on powerdomain data to provide accurate information about the supported powerdomain states and use the appropriate function to query and use it as part of suspend path. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 46ba55265254e8f47f8c2af6408841f31bab4870 Author: Nishanth Menon <nm@xxxxxx> Date: Thu Jun 5 21:40:39 2014 -0500 ARM: OMAP4+: PM: Make logic state programmable Move the logic state as different for each power domain. This allows us to customize the deepest power state we should target over all for each powerdomain in the follow on patches. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit bd002d7bdafc695decf7d4aeba285097356938f1 Author: Nishanth Menon <nm@xxxxxx> Date: Fri Jun 6 01:04:20 2014 -0500 ARM: OMAP2+: powerdomain: introduce logic for finding valid power domain powerdomain configuration in OMAP is done using PWRSTCTRL register for each power domain. However, PRCM lets us write any value we'd like to the logic and power domain target states, however the SoC integration tends to actually function only at a few discrete states. These valid states are already in our powerdomains_xxx_data.c file. So, provide a function to easily query valid low power state that the power domain is allowed to go to. Based on work originally done by Jean Pihet <j-pihet@xxxxxx> https://patchwork.kernel.org/patch/1325091/ . There is no attempt to create a new powerdomain solution here, except fixing issues seen attempting invalid programming attempts. Future consolidation to the generic powerdomain framework should consider this requirement as well. Similar solutions have been done in product kernels in the past such as: https://android.googlesource.com/kernel/omap.git/+blame/android-omap-panda-3.0/arch/arm/mach-omap2/pm44xx.c Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 13bbffd4ebca57dfae59a3f13ff98dc417f89b23 Author: Nishanth Menon <nm@xxxxxx> Date: Fri Jun 6 19:36:41 2014 -0500 ARM: OMAP2+: powerdomain: pwrdm_for_each_clkdm iterate only valid clkdms No need to invoke callback when the clkdm pointer is NULL. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 9f5dc91b691cf296c49aedf0a671fd659a70f737 Author: Nishanth Menon <nm@xxxxxx> Date: Wed Aug 20 08:13:16 2014 -0500 ARM: OMAP5: powerdomain data: fix powerdomain powerstate Update the power domain power states for final production chip capability. OFF mode, OSWR etc have been descoped for various domains. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit cafc8cb5b9c84426f3aae3179a64e41d3de97c50 Author: Nishanth Menon <nm@xxxxxx> Date: Fri Jun 6 01:21:51 2014 -0500 ARM: OMAP: DRA7: powerdomain data: fix powerdomain powerstate DRA7 supports only CSWR for CPU, MPU power domains. Core power domain supports upto INA. Signed-off-by: Nishanth Menon <nm@xxxxxx> Reviewed-by: Kevin Hilman <khilman@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 018a17bdc8658ad448497c84d4ba21b6985820ec Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:04:01 2014 +0900 bdi: reimplement bdev_inode_switch_bdi() A block_device may be attached to different gendisks and thus different bdis over time. bdev_inode_switch_bdi() is used to switch the associated bdi. The function assumes that the inode could be dirty and transfers it between bdis if so. This is a bit nasty in that it reaches into bdi internals. This patch reimplements the function so that it writes out the inode if dirty. This is a lot simpler and can be implemented without exposing bdi internals. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1a1e4530eacca37e85a4d66a164273c7dba9110c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:04:00 2014 +0900 bdi: explain the dirty list transferring in bdi_destroy() bdi_destroy() has code to transfer the remaining dirty inodes to the default_backing_dev_info; however, given the shutdown sequence, it isn't clear how such condition would happen. Also, it isn't a full solution as the transferred inodes stlil point to the bdi which is being destroyed. Operations on those inodes can end up accessing already released fields such as the percpu stat fields. Digging through the history, it seems that the code was added as a quick workaround for a bug report without fully root-causing the issue. We probably want to remove the code in time but for now let's add a comment noting that it is a quick workaround. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit c0ea1c22bce63a27b47da90ad1ac49ce48e1a8aa Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:03:59 2014 +0900 bdi: make backing_dev_info->wb.dwork canceling stricter Canceling of bdi->wb.dwork is currently a bit mushy. bdi_wb_shutdown() performs cancel_delayed_work_sync() at the end after shutting down and flushing the delayed_work and bdi_destroy() tries yet again after bdi_unregister(). bdi->wb.dwork is queued only after checking BDI_registered while holding bdi->wb_lock and bdi_wb_shutdown() clears the flag while holding the same lock and then flushes the delayed_work. There's no way the delayed_work can be queued again after that. Replace the two unnecessary cancel_delayed_work_sync() invocations with WARNs on pending. This simplifies and clarifies the code a bit and will help future changes in further isolating bdi_writeback handling. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit b68757341d8015d28e261990deea58dd836e04da Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:03:58 2014 +0900 bdi: remove bdi->wb_lock locking around bdi->dev clearing in bdi_unregister() The only places where NULL test on bdi->dev is used are bdi_[un]register(). The functions can't be called in parallel anyway and there's no point in protecting bdi->dev clearing with a lock. Remove bdi->wb_lock grabbing around bdi->dev clearing and move it after device_unregister() call so that bdi->dev doesn't have to be cached in a local variable. This patch shouldn't introduce any behavior difference. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit e36f1dfce0b45d347927568efe1088821758cc3c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:03:57 2014 +0900 bdi: remove unused stuff Two flags and one bdi_writeback field are no longer used. Remove them. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ff9ea323816dc1c8ac7144afd4eab3ac97704430 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:03:56 2014 +0900 block, bdi: an active gendisk always has a request_queue associated with it bdev_get_queue() returns the request_queue associated with the specified block_device. blk_get_backing_dev_info() makes use of bdev_get_queue() to determine the associated bdi given a block_device. All the callers of bdev_get_queue() including blk_get_backing_dev_info() assume that bdev_get_queue() may return NULL and implement NULL handling; however, bdev_get_queue() requires the passed in block_device is opened and attached to its gendisk. Because an active gendisk always has a valid request_queue associated with it, bdev_get_queue() can never return NULL and neither can blk_get_backing_dev_info(). Make it clear that neither of the two functions can return NULL and remove NULL handling from all the callers. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Chris Mason <clm@xxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit f4da80727cfbc3590d95ff17ef8db96e6f1483a4 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 08:15:20 2014 +0900 blkcg: remove blkcg->id blkcg->id is a unique id given to each blkcg; however, the cgroup_subsys_state which each blkcg embeds already has ->serial_nr which can be used for the same purpose. Drop blkcg->id and replace its uses with blkcg->css.serial_nr. Rename cfq_cgroup->blkcg_id to ->blkcg_serial_nr and @id in check_blkcg_changed() to @serial_nr for consistency. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 1e037794f7f00ff464db446ace892dae84175a6a Author: Nishanth Menon <nm@xxxxxx> Date: Tue Aug 12 07:05:19 2014 -0500 ARM: OMAP3+: PRM: register interrupt information from DT Allow the PRM interrupt information to be picked up from device tree. OMAP3 may use legacy boot and needs to be compatible with old dtbs (without interrupt populated), for these, we use the value which is pre-populated. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 2aba071c50591eaa7a2e33d3df296dd74232691e Author: Nishanth Menon <nm@xxxxxx> Date: Mon Aug 11 14:58:23 2014 -0500 ARM: OMAP4+: PRM: Enable wakeup capability for OMAP5, DRA7 OMAP5 and DRA7 can now use pinctrl based I/O daisychain wakeup capability. So, enable the support. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit a6903ea3019f849df7377786ed7885189b3f860b Author: Nishanth Menon <nm@xxxxxx> Date: Fri May 23 00:20:37 2014 -0500 ARM: OMAP4+: PRM: remove "wkup" event "wkup" event at bit offset 0 exists only on OMAP3. OMAP4430/60 PRM_IRQSTATUS_A9, OMAP5/DRA7 PRM_IRQSTATUS_MPU register bit 0 is DPLL_CORE_RECAL_ST not wakeup event like OMAP3. The same applies to AM437x as well. Remove the wrong definition. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit a8f83aefcd5a5ec6e420077946d88833a594eb42 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 15:19:29 2014 -0500 ARM: OMAP4+: PRM: register interrupt information from DT Allow the PRM interrupt information to be picked up from device tree. the only exception is for OMAP4 which uses values pre-populated and allows compatibility with older dtb. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 390ddc19e2a56c47b46f11a5ed0a7be8e695dd8a Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 15:00:55 2014 -0500 ARM: OMAP4: PRM: use the generic prm_inst to allow logic to be abstracted use the generic function to pick up the prm_instance for a generic logic which can be reused from OMAP4+ Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit e3002d1ae16812ba6c1479a25cce77fd0d175838 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 14:53:54 2014 -0500 ARM: OMAP4+: prminst: provide function to find prm_dev instance offset PRM device instance can vary depending on SoC. We already handle the same during reset of the device, However, this is also needed for other logic instances. So, first abstract this out to a generic function. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> commit 61a3d4f9d52c00b2016bc27fc66b10a194043f76 Merge: db906eb 1bd3fa7 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Sep 8 11:14:56 2014 -0400 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless commit 848f3a82df50fcc68a78c9d7d45e210b626b0283 Author: Jurgen Kramer <gtmkramer@xxxxxxxxx> Date: Fri Sep 5 18:14:46 2014 +0200 ALSA: usb-audio: add native DSD support for XMOS based DACs Add quirks for XMOS based DACs for native DSD playback support using the new DSD_U32_LE sample format. This version adds native DSD support for: - iFi Audio micro iDSD/nano iDSD (they use the same prod. id) - DIYINHK USB to I2S/DSD converter Changes from v2: - fix and simplify switch statement Changes from v1: - use specific product id and alt setting per XMOS based device [fixed a misc coding style issue by tiwai] Signed-off-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d4288d3fac18bbc31cb6d369679b1fa1d9321ae9 Author: Jurgen Kramer <gtmkramer@xxxxxxxxx> Date: Fri Sep 5 10:47:56 2014 +0200 ALSA: pcm: add new DSD sampleformat for native DSD playback on XMOS based devices XMOS based USB DACs with native DSD support expose this feature via a USB alternate setting. The audio format is either 32-bit raw or a 32-bit PCM format. To utilize this feature on linux this patch introduces a new 32-bit DSD sampleformat DSD_U32_LE. A follow up patch will add a quirk for XMOS based devices to utilize the new format. Further patches will add support to alsa-lib. Signed-off-by: Jurgen Kramer <gtmkramer@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e3672649faae400e8a598938766a63f395a27ae6 Author: Robert Richter <rrichter@xxxxxxxxxx> Date: Mon Sep 8 12:44:48 2014 +0100 arm64: defconfig: increase NR_CPUS default to 64 Raising the current maximum limit to 64. This is needed for Cavium's Thunder systems that will have at least 48 cores per die. The change keeps the current memory footprint in cpu mask structures. It does not break existing code. Setting the maximum to 64 cpus still boots systems with less cpus. Mark's Juno happily booted with a NR_CPUS=64 kernel. Tested on our Thunder system with 48 cores. We could see interrupts to all cores. Cc: Radha Mohan Chintakuntla <rchintakuntla@xxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Robert Richter <rrichter@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit efb540c895d2cb77b1472edda6ca45d40719a041 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Mon Sep 8 11:18:16 2014 +0300 usb: gadget: uvc: move module parameters from f_uvc When configfs support is integrated the future uvc function module must not take any parameters. Move parameters to webcam. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Tested-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a1d27a4bf5bb4144c593358cbd7261c6c6f0a023 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Sep 8 11:18:15 2014 +0300 usb: gadget: f_uvc: Move to video_ioctl2 Simplify ioctl handling by using video_ioctl2. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 26a029f2277bf58c72ada0a92ae44ff9dd702a2e Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon Sep 8 11:18:14 2014 +0300 usb: gadget: f_uvc: Store EP0 control request state during setup stage To handle class requests received on ep0, the driver needs to access the length and direction of the request after the setup stage. It currently stores them in a v4l2 event during the setup stage, and then copies them from the event structure to the driver internal state structure when the event is dequeued. This two-steps approach isn't necessary. Simplify the driver by storing the needed information in the driver internal state structure directly during the setup stage. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2b4f43131da08881423213dace0a514f325fe134 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Sep 8 08:48:00 2014 +0200 PM / sysfs: avoid shadowing variables The global variable "enabled" is shadowed in a number of functions in this file, rename it to "_enabled" to avoid that. For consistency, also rename "disabled" and move them both into the #ifdef where they're needed. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e54bcde3d69d40023ae77727213d14f920eb264a Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Tue Aug 26 21:15:30 2014 -0700 arm64: eBPF JIT compiler The JIT compiler emits A64 instructions. It supports eBPF only. Legacy BPF is supported thanks to conversion by BPF core. JIT is enabled in the same way as for other architectures: echo 1 > /proc/sys/net/core/bpf_jit_enable Or for additional compiler output: echo 2 > /proc/sys/net/core/bpf_jit_enable See Documentation/networking/filter.txt for more information. The implementation passes all 57 tests in lib/test_bpf.c on ARMv8 Foundation Model :) Also tested by Will on Juno platform. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5e6e15a2c4b529fd3cbf367b734842c4d8f6b0fa Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:29 2014 +0100 arm64: introduce aarch64_insn_gen_logical_shifted_reg() Introduce function to generate logical (shifted register) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 27f95ba59b34509dc8afa2f89ad51c044df9d7c7 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:28 2014 +0100 arm64: introduce aarch64_insn_gen_data3() Introduce function to generate data-processing (3 source) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6481063989283f7cbeb0b6c38506ba4dd319f93a Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:27 2014 +0100 arm64: introduce aarch64_insn_gen_data2() Introduce function to generate data-processing (2 source) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 546dd36b44613c770655531ee3ada6a9e9907d71 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:26 2014 +0100 arm64: introduce aarch64_insn_gen_data1() Introduce function to generate data-processing (1 source) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5fdc639a7a5b187f75b7408ee7ae9f9c06771218 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:25 2014 +0100 arm64: introduce aarch64_insn_gen_add_sub_shifted_reg() Introduce function to generate add/subtract (shifted register) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 6098f2d5c7a349d388499503bb129d0088870dd6 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:24 2014 +0100 arm64: introduce aarch64_insn_gen_movewide() Introduce function to generate move wide (immediate) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 4a89d2c98e1efadd135015668c499ae1bbd2131f Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:23 2014 +0100 arm64: introduce aarch64_insn_gen_bitfield() Introduce function to generate bitfield instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 9951a157fa678db0ec92e5fc4c6320c038ffb67e Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:22 2014 +0100 arm64: introduce aarch64_insn_gen_add_sub_imm() Introduce function to generate add/subtract (immediate) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 1bba567d0f3050e33b4dd1404fdcbceaf5a73034 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:21 2014 +0100 arm64: introduce aarch64_insn_gen_load_store_pair() Introduce function to generate load/store pair instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 17cac179888166a4e8e252d00ad511e999859293 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:20 2014 +0100 arm64: introduce aarch64_insn_gen_load_store_reg() Introduce function to generate load/store (register offset) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 345e0d35ecdd7aff31881462a6f7786fda3241d9 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:19 2014 +0100 arm64: introduce aarch64_insn_gen_cond_branch_imm() Introduce function to generate conditional branch (immediate) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c0cafbae20d2878883ec3c06d6ea30ff38a6bf92 Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:18 2014 +0100 arm64: introduce aarch64_insn_gen_branch_reg() Introduce function to generate unconditional branch (register) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 617d2fbc45233bed182accd3507d0df4d213492c Author: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Date: Wed Aug 27 05:15:17 2014 +0100 arm64: introduce aarch64_insn_gen_comp_branch_imm() Introduce function to generate compare & branch (immediate) instructions. Signed-off-by: Zi Shen Lim <zlim.lnx@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit a4ceab1adbe960c781e9e2f659d7f7840eefd786 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 05:29:34 2014 +0100 arm64: LLVMLinux: Use global stack pointer in return_address() The global register current_stack_pointer holds the current stack pointer. This change supports being able to compile the kernel with both gcc and clang. Author: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 34ccf8f455f1ae7761810a74308f82daca67ced1 Author: Mark Charlebois <charlebm@xxxxxxxxx> Date: Wed Aug 27 05:29:33 2014 +0100 arm64: LLVMLinux: Use global stack register variable for aarch64 To support both Clang and GCC, use the global stack register variable vs a local register variable. Author: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 2128df143d840a20e12818290eb6e40b95cc4ac0 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 05:29:32 2014 +0100 arm64: LLVMLinux: Use current_stack_pointer in kernel/traps.c Use the global current_stack_pointer to get the value of the stack pointer. This change supports being able to compile the kernel with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 786248705ecf5290f26534e8eef62ba6dd63b806 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 05:29:31 2014 +0100 arm64: LLVMLinux: Calculate current_thread_info from current_stack_pointer Use the global current_stack_pointer to get the value of the stack pointer. This change supports being able to compile the kernel with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Reviewed-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit bb28cec4ea2f5151c08e061c6de825a8c853bbd6 Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 05:29:30 2014 +0100 arm64: LLVMLinux: Use current_stack_pointer in save_stack_trace_tsk Use the global current_stack_pointer to get the value of the stack pointer. This change supports being able to compile the kernel with both gcc and clang. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Reviewed-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 3337a10e0d0cbc9225cefc23aa7a604b698367ed Author: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 05:29:29 2014 +0100 arm64: LLVMLinux: Add current_stack_pointer() for arm64 Define a global named register for current_stack_pointer. The use of this new variable guarantees that both gcc and clang can access this register in C code. Signed-off-by: Behan Webster <behanw@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jan-Simon Möller <dl9pf@xxxxxx> Reviewed-by: Mark Charlebois <charlebm@xxxxxxxxx> Reviewed-by: Olof Johansson <olof@xxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 11d91a770f1fff44dafdf88d6089a3451f99c9b6 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Tue Aug 19 20:41:43 2014 +0100 arm64: Add CONFIG_DEBUG_SET_MODULE_RONX support In a similar fashion to other architecture, add the infrastructure and Kconfig to enable DEBUG_SET_MODULE_RONX support. When enabled, module ranges will be marked read-only/no-execute as appropriate. Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> [will: fixed off-by-one in module end check] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit b6d4f2800b7bad654caf00654f4bff21594ef838 Author: Laura Abbott <lauraa@xxxxxxxxxxxxxx> Date: Tue Aug 19 20:41:42 2014 +0100 arm64: Introduce {set,clear}_pte_bit It's useful to be able to change individual bits in ptes at times. Introduce functions for this and update existing pte_mk* functions to use these primatives. Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Laura Abbott <lauraa@xxxxxxxxxxxxxx> [will: added missing inline keyword for new header functions] Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 5e051531447259e5df95c44bccb69979537c19e4 Author: Arun Chandran <achandran@xxxxxxxxxx> Date: Mon Aug 18 10:06:58 2014 +0100 arm64: convert part of soft_restart() to assembly The current soft_restart() and setup_restart implementations incorrectly assume that compiler will not spill/fill values to/from stack. However this assumption seems to be wrong, revealed by the disassembly of the currently existing code (v3.16) built with Linaro GCC 4.9-2014.05. ffffffc000085224 <soft_restart>: ffffffc000085224: a9be7bfd stp x29, x30, [sp,#-32]! ffffffc000085228: 910003fd mov x29, sp ffffffc00008522c: f9000fa0 str x0, [x29,#24] ffffffc000085230: 94003d21 bl ffffffc0000946b4 <setup_mm_for_reboot> ffffffc000085234: 94003b33 bl ffffffc000093f00 <flush_cache_all> ffffffc000085238: 94003dfa bl ffffffc000094a20 <cpu_cache_off> ffffffc00008523c: 94003b31 bl ffffffc000093f00 <flush_cache_all> ffffffc000085240: b0003321 adrp x1, ffffffc0006ea000 <reset_devices> ffffffc000085244: f9400fa0 ldr x0, [x29,#24] ----> spilled addr ffffffc000085248: f942fc22 ldr x2, [x1,#1528] ----> global memstart_addr ffffffc00008524c: f0000061 adrp x1, ffffffc000094000 <__inval_cache_range+0x40> ffffffc000085250: 91290021 add x1, x1, #0xa40 ffffffc000085254: 8b010041 add x1, x2, x1 ffffffc000085258: d2c00802 mov x2, #0x4000000000 // #274877906944 ffffffc00008525c: 8b020021 add x1, x1, x2 ffffffc000085260: d63f0020 blr x1 ... Here the compiler generates memory accesses after the cache is disabled, loading stale values for the spilled value and global variable. As we cannot control when the compiler will access memory we must rewrite the functions in assembly to stash values we need in registers prior to disabling the cache, avoiding the use of memory. Reviewed-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Arun Chandran <achandran@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 58015ec6b8e13c980c20d9fff3f986838c004348 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Jul 30 11:59:04 2014 +0100 arm64/efi: efistub: don't abort if base of DRAM is occupied If we cannot relocate the kernel Image to its preferred offset of base of DRAM plus TEXT_OFFSET, instead relocate it to the lowest available 2 MB boundary plus TEXT_OFFSET. We may lose a bit of memory at the low end, but we can still proceed normally otherwise. Acked-by: Mark Salter <msalter@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Tested-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit c16173fa568582113145daee70fc317b10bc51e0 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Wed Jul 30 11:59:03 2014 +0100 arm64/efi: efistub: cover entire static mem footprint in PE/COFF .text The static memory footprint of a kernel Image at boot is larger than the Image file itself. Things like .bss data and initial page tables are allocated statically but populated dynamically so their content is not contained in the Image file. However, if EFI (or GRUB) has loaded the Image at precisely the desired offset of base of DRAM + TEXT_OFFSET, the Image will be booted in place, and we have to make sure that the allocation done by the PE/COFF loader is large enough. Fix this by growing the PE/COFF .text section to cover the entire static memory footprint. The part of the section that is not covered by the payload will be zero initialised by the PE/COFF loader. Acked-by: Mark Salter <msalter@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Tested-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 113954c6463d1d80a206e91627ae49711f8b47cd Author: Mark Rutland <mark.rutland@xxxxxxx> Date: Wed Jul 30 11:59:02 2014 +0100 arm64: spin-table: handle unmapped cpu-release-addrs In certain cases the cpu-release-addr of a CPU may not fall in the linear mapping (e.g. when the kernel is loaded above this address due to the presence of other images in memory). This is problematic for the spin-table code as it assumes that it can trivially convert a cpu-release-addr to a valid VA in the linear map. This patch modifies the spin-table code to use a temporary cached mapping to write to a given cpu-release-addr, enabling us to support addresses regardless of whether they are covered by the linear mapping. Acked-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Tested-by: Leif Lindholm <leif.lindholm@xxxxxxxxxx> Tested-by: Mark Salter <msalter@xxxxxxxxxx> Signed-off-by: Mark Rutland <mark.rutland@xxxxxxx> [ardb: added (__force void *) cast] Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 169c018de7b6d376f821f9fae0ab23dc5c7bb549 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Aug 8 12:51:40 2014 +0100 arm64: don't flag non-aliasing VIPT I-caches as aliasing VIPT caches are non-aliasing if the index is derived from address bits that are always equal between VA and PA. Classifying these as aliasing results in unnecessary flushing which may hurt performance. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit 80c517b0ff71a4c874fed9196fd990d2d9e911f3 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Fri Aug 8 12:51:39 2014 +0100 arm64: add helper functions to read I-cache attributes This adds helper functions and #defines to <asm/cachetype.h> to read the line size and the number of sets from the level 1 instruction cache. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> commit f1b6a735328b507810d2436891ee977fb8cd62d7 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 14 06:43:36 2014 -0300 [media] cx23885: Add busy checks before changing formats Before you can change the standard or the capture format, make sure the various vb2_queues aren't in use since you cannot change the buffer size from underneath a a busy vb2_queue. Also make sure that the return code of cx23885_set_tvnorm is returned correctly, otherwise the -EBUSY will be lost. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4d63a25c4523b5d18e5307897d56aff785f43bf5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Aug 10 06:26:01 2014 -0300 [media] cx23885: remove btcx-risc dependency It's just as easy to do it in the driver. This dependency only uses a fraction of the btcx-risc module and doing it directly in the driver adds only a few lines. The btcx-risc module is really meant for the bttv driver, not for other drivers. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 96f233e97587a7f6c0f47476118cdb9a23a9ebe0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Aug 9 18:04:41 2014 -0300 [media] cx23885: fix field handling Add missing SEQ_BT/TB support, bottom field is first for all 60 Hz formats, not just NTSC, restore an overwritten field value and initialize dev->field correctly. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 453afdd9ce33293f640e84dc17e5f366701516e8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 14 06:43:01 2014 -0300 [media] cx23885: convert to vb2 As usual, this patch is very large due to the fact that half a vb2 conversion isn't possible. And since this affects 417, alsa, core, dvb, vbi and video the changes are all over. What made this more difficult was the peculiar way the risc program was setup. The driver allowed for running out of buffers in which case the DMA would stop and restart when the next buffer was queued. There was also a complicated timeout system for when buffers weren't filled. This was replaced by a much simpler scheme where there is always one buffer around and the DMA will just cycle that buffer until a new buffer is queued. In that case the previous buffer will be chained to the new buffer. An interrupt is generated at the start of the new buffer telling the driver that the previous buffer can be passed on to userspace. Much simpler and more robust. The old code seems to be copied from the cx88 driver. But it didn't fit the vb2 ops very well and replacing it with the new scheme made the code easier to understand. Not to mention that this patch removes 600 lines of code. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 73d8102298719863d54264f62521362487f84256 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Sep 3 10:18:57 2014 -0300 [media] vivid: tpg_reset_source prototype mismatch Replaced enum v4l2_field by u32, just as the prototype in the header has. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5754d0d586a5d7c6a6fa43551f6e3b377c5f111d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Sep 3 04:29:00 2014 -0300 [media] vivid: add missing includes Fix kbuild test robot warnings about missing vmalloc.h and string.h includes. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1d54b3a43cd1228dc90dcd331eb735f79e3b021e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Sep 3 04:18:23 2014 -0300 [media] vivid: remove duplicate and unused g/s_edid functions I'm not sure how I missed this, but they should be removed. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 751e78d0f5c3e90203682b6acc2a5cdf447a646d Author: Antonio Ospite <ao2@xxxxxx> Date: Wed Jun 4 09:03:40 2014 -0300 [media] trivial: drivers/media/usb/gspca/gspca.h: indent with TABs, not spaces Signed-off-by: Antonio Ospite <ao2@xxxxxx> Cc: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 59234e5973b31dd7f7253233a00ae05b3176439f Author: Antonio Ospite <ao2@xxxxxx> Date: Wed Jun 4 09:03:39 2014 -0300 [media] trivial: drivers/media/usb/gspca/gspca.c: fix the indentation of a comment Fix indentation of a comment, put it on the same level of the code it refers to. Signed-off-by: Antonio Ospite <ao2@xxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f461694b965b8cdf67c330d14c802a74acf7bec1 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 18:32:28 2014 -0300 [media] m88ts2022: change parameter type of m88ts2022_cmd It is driver internal function and does not need anything from frontend structure. Due to that change parameter type to driver state which is better for driver internal functions. Also remove one unused variable from state itself. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 35c77a85463cacf7fe2fa8e998698170c42e80f6 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 18:22:05 2014 -0300 [media] m88ts2022: convert to RegMap I2C API Use RegMap to cover I2C register routines. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b8d67ab656288457a6728284d3a054544f629979 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 17:07:17 2014 -0300 [media] m88ts2022: clean up logging There is no need to print module name nor function name as those are done by kernel logging system when dev_xxx logging is used and driver is proper I2C driver. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit eb773df5d2cf68be127b2ee146336f888962a521 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 16:27:55 2014 -0300 [media] m88ts2022: rename device state (priv => dev) foo_dev seems to be most correct term for the structure holding data of each device instance. It is most used term in Kernel and also examples from book Linux Device Drivers, Third Edition, uses it. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c65fde192257d3007030c1aca5f4953235394e74 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sun Aug 10 05:16:39 2014 -0300 [media] MAINTAINERS: add tw68 entry Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 04da2daee383391954b34e7d0fe0281d75447d61 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 20:44:04 2014 -0300 [media] ngene: properly handle __user ptr Sparse is complaining about ngene's bad usage of a __user ptr: >> drivers/media/pci/ngene/ngene-dvb.c:62:48: sparse: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-dvb.c:62:48: expected unsigned char const [usertype] *buf drivers/media/pci/ngene/ngene-dvb.c:62:48: got char const [noderef] <asn:1>*buf As this is intercepting a .write() file ops, we can't just memcpy. We need to use copy_from_user. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ba29e721eb2df6df8f33c1f248388bb037a47914 Author: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Date: Wed Jul 16 15:22:29 2014 +0300 UBIFS: fix free log space calculation Hu (hujianyang <hujianyang@xxxxxxxxxx>) discovered an issue in the 'empty_log_bytes()' function, which calculates how many bytes are left in the log: " If 'c->lhead_lnum + 1 == c->ltail_lnum' and 'c->lhead_offs == c->leb_size', 'h' would equalent to 't' and 'empty_log_bytes()' would return 'c->log_bytes' instead of 0. " At this point it is not clear what would be the consequences of this, and whether this may lead to any problems, but this patch addresses the issue just in case. Cc: stable@xxxxxxxxxxxxxxx Tested-by: hujianyang <hujianyang@xxxxxxxxxx> Reported-by: hujianyang <hujianyang@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 052c28073ff26f771d44ef33952a41d18dadd255 Author: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Date: Sun Jun 29 17:00:45 2014 +0300 UBIFS: fix a race condition Hu (hujianyang@xxxxxxxxxx) discovered a race condition which may lead to a situation when UBIFS is unable to mount the file-system after an unclean reboot. The problem is theoretical, though. In UBIFS, we have the log, which basically a set of LEBs in a certain area. The log has the tail and the head. Every time user writes data to the file-system, the UBIFS journal grows, and the log grows as well, because we append new reference nodes to the head of the log. So the head moves forward all the time, while the log tail stays at the same position. At any time, the UBIFS master node points to the tail of the log. When we mount the file-system, we scan the log, and we always start from its tail, because this is where the master node points to. The only occasion when the tail of the log changes is the commit operation. The commit operation has 2 phases - "commit start" and "commit end". The former is relatively short, and does not involve much I/O. During this phase we mostly just build various in-memory lists of the things which have to be written to the flash media during "commit end" phase. During the commit start phase, what we do is we "clean" the log. Indeed, the commit operation will index all the data in the journal, so the entire journal "disappears", and therefore the data in the log become unneeded. So we just move the head of the log to the next LEB, and write the CS node there. This LEB will be the tail of the new log when the commit operation finishes. When the "commit start" phase finishes, users may write more data to the file-system, in parallel with the ongoing "commit end" operation. At this point the log tail was not changed yet, it is the same as it had been before we started the commit. The log head keeps moving forward, though. The commit operation now needs to write the new master node, and the new master node should point to the new log tail. After this the LEBs between the old log tail and the new log tail can be unmapped and re-used again. And here is the possible problem. We do 2 operations: (a) We first update the log tail position in memory (see 'ubifs_log_end_commit()'). (b) And then we write the master node (see the big lock of code in 'do_commit()'). But nothing prevents the log head from moving forward between (a) and (b), and the log head may "wrap" now to the old log tail. And when the "wrap" happens, the contends of the log tail gets erased. Now a power cut happens and we are in trouble. We end up with the old master node pointing to the old tail, which was erased. And replay fails because it expects the master node to point to the correct log tail at all times. This patch merges the abovementioned (a) and (b) operations by moving the master node change code to the 'ubifs_log_end_commit()' function, so that it runs with the log mutex locked, which will prevent the log from being changed benween operations (a) and (b). Cc: stable@xxxxxxxxxxxxxxx # 07e19df UBIFS: remove mst_mutex Cc: stable@xxxxxxxxxxxxxxx Reported-by: hujianyang <hujianyang@xxxxxxxxxx> Tested-by: hujianyang <hujianyang@xxxxxxxxxx> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit 4980f95755e2966b30ac70d1841f4db66d1a8a22 Author: Oliver Neukum <oneukum@xxxxxxx> Date: Mon Sep 8 11:21:49 2014 +0200 HID: usbhid: fix PIXART optical mouse This mouse keeps disconnecting in runlevel 3. It needs the ALWAYS_POLL quirk. Signed-off-by: Oliver Neukum <oneukum@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit b1e9be8775b85d761cdb91386200a04d741f6a0d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Sep 8 11:22:42 2014 +0200 mac80211: annotate MMIC head/tailroom warning This message occasionally triggers for some people as in https://bugzilla.redhat.com/show_bug.cgi?id=1111740 but it's not clear which (headroom or tailroom) is at fault. Annotate the message a bit to get more information. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7fd4394dfe1db02ba904dfa1048f718cbca822d1 Merge: d6cc58e 7af142f Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 8 11:01:10 2014 +0200 Merge branch 'topic/pcm-nonatomic' into for-next This is a merge for exending PCM ops to be non-atomic. commit d6cc58e127a0b7df78d869a29ff073da6fb899bb Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 7 21:47:33 2014 +0200 ALSA: virtuoso: add Xonar Essence STX II daughterboard support Detect and handle the H6 daughterboard; it works the same as with the ST, except that there is no conflict with the CS2000 chip. Tested-by: Andreas Allacher <andreas.allacher@xxxxxx> Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit dd38dc1a9bf780b619ab93b3d7a5e90ebad441f5 Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 7 21:45:59 2014 +0200 ALSA: virtuoso: add one more headphone impedance setting Add one more option to the "Headphones Impedance" control to synchronize with recent versions of the Windows driver. Tested-by: fugazzi® <fugazzi99@xxxxxxxxx> Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 49f4b4d15c7c9ff8efbb18d9f8c224d3682da573 Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 7 21:44:29 2014 +0200 ALSA: usb-audio: add MIDI port names for the Yamaha MOTIF XF Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit df1e471966479526ae64b64d8851a89db26b30bb Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 7 21:43:41 2014 +0200 ALSA: pcm: snd_interval_step: fix changes of open intervals Changing an interval boundary to a multiple of the step size makes that boundary exact. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 0f519b622151339b7754d0406ddc40940063572a Author: Clemens Ladisch <clemens@xxxxxxxxxx> Date: Sun Sep 7 21:43:07 2014 +0200 ALSA: pcm: snd_interval_step: drop the min parameter The min parameter was not used by any caller. And if it were used, underflows in the calculations could lead to incorrect results. Signed-off-by: Clemens Ladisch <clemens@xxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit d07a1ecdfb96b26dd665b54fee22fc7417b1cb08 Author: Gaël PORTAY <gael.portay@xxxxxxxxx> Date: Sat Sep 6 19:52:37 2014 +0200 clocksource: tcb_clksrc: sanitize IRQ request The clock is not unprepared in case of the request IRQ fails. Also update to request_irq. Signed-off-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 84f462371cc07272a17e2ae96c3540f795db273a Author: Gaël PORTAY <gael.portay@xxxxxxxxx> Date: Sat Sep 6 19:52:36 2014 +0200 ARM: at91/tclib: mask interruptions at shutdown and probe Shutdown properly the timer counter block by masking interruptions. Otherwise, a segmentation may happen when kexec-ing a new kernel (see backtrace below). An interruption may happen before the handler is set, leading to a kernel segmentation fault. Furthermore, we make sure the interruptions are masked when the driver is initialized. This will prevent freshly kexec-ed kernel from crashing when launched from a kernel which does not properly mask interruptions at shutdown. The backtrace below happened after kexec-ing a new kernel, from a kernel that did not shut down properly leaving interruptions unmasked. Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = c0004000 [00000000] *pgd=00000000 Internal error: Oops: 80000005 [#1] ARM Modules linked in: CPU: 0 PID: 1 Comm: swapper Not tainted 3.16.0+ #144 task: c1828aa0 ti: c182a000 task.ti: c182a000 PC is at 0x0 LR is at ch2_irq+0x28/0x30 pc : [<00000000>] lr : [<c01db904>] psr: 000000d3 sp : c182bd38 ip : c182bd48 fp : c182bd44 r10: c0373390 r9 : c1825b00 r8 : 60000053 r7 : 00000000 r6 : 00000000 r5 : 00000013 r4 : c036e800 r3 : 00000000 r2 : 00002004 r1 : c036e760 r0 : c036e760 Flags: nzcv IRQs off FIQs off Mode SVC_32 ISA ARM Segment kernel Control: 0005317f Table: 20004000 DAC: 00000017 Process swapper (pid: 1, stack limit = 0xc182a1c0) Stack: (0xc182bd38 to 0xc182c000) bd20: c182bd7c c182bd48 bd40: c0045430 c01db8ec 00000000 c18c6f40 c182bd74 c1825b00 c035cec4 00000000 bd60: c182be2c 60000053 c1825b34 00000000 c182bd94 c182bd80 c0045570 c0045408 bd80: 00000000 c1825b00 c182bdac c182bd98 c0047f34 c0045550 00000013 c036619c bda0: c182bdc4 c182bdb0 c0044da4 c0047e98 0000007f 00000013 c182bde4 c182bdc8 bdc0: c0009e34 c0044d8c fefff000 c0046728 60000053 ffffffff c182bdf4 c182bde8 bde0: c00086a8 c0009ddc c182be74 c182bdf8 c000cb80 c0008674 00000000 00000013 be00: 00000000 00014200 c1825b00 c036e800 00000013 c035ed98 60000053 c1825b34 be20: 00000000 c182be74 c182be20 c182be40 c0047994 c0046728 60000053 ffffffff be40: 00000013 c036e800 c182be64 c1825b00 00000013 c036e800 c035ed98 c03874bc be60: 00000004 c036e700 c182be94 c182be78 c004689c c0046398 c036e760 c18c6080 be80: 00000000 c035ed10 c182bedc c182be98 c0348b08 c004684c 0000000c c034dac8 bea0: 004c4b3f c028c338 c036e760 00000013 c014ecc8 c18e67e0 c035b9c0 c0348884 bec0: c035b9c0 c182a020 00000000 00000000 c182bf54 c182bee0 c00089fc c0348894 bee0: c00da51c c1ffcc78 c182bf0c c182bef8 c002d100 c002d09c c1ffcc78 00000000 bf00: c182bf54 c182bf10 c002d308 c0336570 c182bf3c c0334e44 00000003 00000003 bf20: 00000030 c0334b44 c0044d74 00000003 00000003 c034dac8 c0350a94 c0373440 bf40: c0373440 00000030 c182bf94 c182bf58 c0336d24 c000890c 00000003 00000003 bf60: c0336560 c182bf64 c182bf64 6e616e0d 00000000 c0272fc8 00000000 00000000 bf80: 00000000 00000000 c182bfac c182bf98 c0272fd8 c0336bd8 c182a000 00000000 bfa0: 00000000 c182bfb0 c00095d0 c0272fd8 00000000 00000000 00000000 00000000 bfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 bfe0: 00000000 00000000 00000000 00000000 00000013 00000000 374d27cd 33cc33e4 Backtrace: [<c01db8dc>] (ch2_irq) from [<c0045430>] (handle_irq_event_percpu+0x38/0x148) [<c00453f8>] (handle_irq_event_percpu) from [<c0045570>] (handle_irq_event+0x30/0x40) r10:00000000 r9:c1825b34 r8:60000053 r7:c182be2c r6:00000000 r5:c035cec4 r4:c1825b00 [<c0045540>] (handle_irq_event) from [<c0047f34>] (handle_fasteoi_irq+0xac/0x11c) r4:c1825b00 r3:00000000 [<c0047e88>] (handle_fasteoi_irq) from [<c0044da4>] (generic_handle_irq+0x28/0x38) r5:c036619c r4:00000013 [<c0044d7c>] (generic_handle_irq) from [<c0009e34>] (handle_IRQ+0x68/0x88) r4:00000013 r3:0000007f [<c0009dcc>] (handle_IRQ) from [<c00086a8>] (at91_aic_handle_irq+0x44/0x4c) r6:ffffffff r5:60000053 r4:c0046728 r3:fefff000 [<c0008664>] (at91_aic_handle_irq) from [<c000cb80>] (__irq_svc+0x40/0x4c) Exception stack(0xc182bdf8 to 0xc182be40) bde0: 00000000 00000013 be00: 00000000 00014200 c1825b00 c036e800 00000013 c035ed98 60000053 c1825b34 be20: 00000000 c182be74 c182be20 c182be40 c0047994 c0046728 60000053 ffffffff [<c0046388>] (__setup_irq) from [<c004689c>] (setup_irq+0x60/0x8c) r10:c036e700 r9:00000004 r8:c03874bc r7:c035ed98 r6:c036e800 r5:00000013 r4:c1825b00 [<c004683c>] (setup_irq) from [<c0348b08>] (tcb_clksrc_init+0x284/0x31c) r6:c035ed10 r5:00000000 r4:c18c6080 r3:c036e760 [<c0348884>] (tcb_clksrc_init) from [<c00089fc>] (do_one_initcall+0x100/0x1b4) r10:00000000 r9:00000000 r8:c182a020 r7:c035b9c0 r6:c0348884 r5:c035b9c0 r4:c18e67e0 [<c00088fc>] (do_one_initcall) from [<c0336d24>] (kernel_init_freeable+0x15c/0x224) r9:00000030 r8:c0373440 r7:c0373440 r6:c0350a94 r5:c034dac8 r4:00000003 [<c0336bc8>] (kernel_init_freeable) from [<c0272fd8>] (kernel_init+0x10/0xec) r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0272fc8 r4:00000000 [<c0272fc8>] (kernel_init) from [<c00095d0>] (ret_from_fork+0x14/0x24) r4:00000000 r3:c182a000 Code: bad PC value ---[ end trace 5b30f0017e282e47 ]--- Kernel panic - not syncing: Fatal exception in interrupt Signed-off-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4930d247af29f849cd1bddd65be2400684dc886e Author: Gaël PORTAY <gael.portay@xxxxxxxxx> Date: Sat Sep 6 19:52:35 2014 +0200 ARM: at91/tclib: move initialization from alloc to probe Move resource retrieval from atmel_tc_alloc to tc_probe to avoid lately reporting resource related issues when a TC block user request a TC block. Moreover, resources retrieval are usually done in the probe function, thus moving them add some consistency with other drivers. Initialization is done once, ie not every time a tc block is requested. If it fails, the device is not appended to the list of tc blocks. Furhermore, the device id is retrieved at probe as well, avoiding parsing DT every time the user requests of tc block. Signed-off-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Acked-by: Thierry Reding <thierry.reding@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8495497f921e73d5192d4896d55414f0304d8561 Author: Gaël PORTAY <gael.portay@xxxxxxxxx> Date: Sat Sep 6 19:52:34 2014 +0200 ARM: at91/tclib: prefer using of devm_* functions Signed-off-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c8d6591752e96c550cb98b781326d72d8eedcc79 Author: Steinar H. Gunderson <sgunderson@xxxxxxxxxxx> Date: Wed Sep 3 06:48:37 2014 -0700 mac80211: support DTPC IE (from Cisco Client eXtensions) Linux already supports 802.11h, where the access point can tell the client to reduce its transmission power. However, 802.11h is only defined for 5 GHz, where the need for this is much smaller than on 2.4 GHz. Cisco has their own solution, called DTPC (Dynamic Transmit Power Control). Cisco APs on a controller sometimes but not always send 802.11h; they always send DTPC, even on 2.4 GHz. This patch adds support for parsing and honoring the DTPC IE in addition to the 802.11h element (they do not always contain the same limits, so both must be honored); the format is not documented, but very simple. Tested (on top of wireless.git and on 3.16.1) against a Cisco Aironet 1142 joined to a Cisco 2504 WLC, by setting various transmit power levels for the given access points and observing the results. The Wireshark 802.11 dissector agrees with the interpretation of the element, except for negative numbers, which seem to never happen anyway. Signed-off-by: Steinar H. Gunderson <sgunderson@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> commit 24a4e4008ca2a819c4c889163586a8a9b7a3a08d Author: Steinar H. Gunderson <sgunderson@xxxxxxxxxxx> Date: Wed Sep 3 06:22:10 2014 -0700 mac80211: split 802.11h parsing from transmit power policy Decouple the logic of parsing the 802.11d and 802.11h IEs from the part of deciding what to do about the data (messaging, clamping to 0 dBm, doing the actual setting). This paves the way for the next patch, which introduces more data sources for transmit power limitation. Signed-off-by: Steinar H. Gunderson <sgunderson@xxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 221414db1934c1c883501998f510bb75acfbaa51 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Thu Aug 7 18:07:07 2014 +0200 mmc: sdhci-s3c: fix runtime PM handling on sdhci_add_host() failure Runtime Power Management handling for the sdhci_add_host() failure case in sdhci_s3c_probe() should match the code in sdhci_s3c_remove() (which uses pm_runtime_disable() call which matches the earlier pm_runtime_enable() one). Fix it. This patch fixes "BUG: spinlock bad magic on CPU#0, swapper/0/1" and "Unbalanced pm_runtime_enable!" warnings. >From the kernel log: ... [ 1.659631] s3c-sdhci 12530000.sdhci: sdhci_add_host() failed [ 1.665096] BUG: spinlock bad magic on CPU#0, swapper/0/1 [ 1.670433] lock: 0xea01e484, .magic: 00000000, .owner: <none>/-1, .owner_cpu: 0 [ 1.677895] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.16.0-next-20140804-00008-ga59480f-dirty #707 [ 1.687037] [<c0013ae4>] (unwind_backtrace) from [<c0010d70>] (show_stack+0x10/0x14) [ 1.694740] [<c0010d70>] (show_stack) from [<c04050c8>] (dump_stack+0x68/0xb8) [ 1.701948] [<c04050c8>] (dump_stack) from [<c0052558>] (do_raw_spin_lock+0x15c/0x1a4) [ 1.709848] [<c0052558>] (do_raw_spin_lock) from [<c040a630>] (_raw_spin_lock_irqsave+0x20/0x28) [ 1.718619] [<c040a630>] (_raw_spin_lock_irqsave) from [<c030d7d0>] (sdhci_do_set_ios+0x1c/0x5cc) [ 1.727464] [<c030d7d0>] (sdhci_do_set_ios) from [<c030ddfc>] (sdhci_runtime_resume_host+0x50/0x104) [ 1.736574] [<c030ddfc>] (sdhci_runtime_resume_host) from [<c02462dc>] (pm_generic_runtime_resume+0x2c/0x40) [ 1.746383] [<c02462dc>] (pm_generic_runtime_resume) from [<c0247898>] (__rpm_callback+0x34/0x70) [ 1.755233] [<c0247898>] (__rpm_callback) from [<c02478fc>] (rpm_callback+0x28/0x88) [ 1.762958] [<c02478fc>] (rpm_callback) from [<c02486f0>] (rpm_resume+0x384/0x4ec) [ 1.770511] [<c02486f0>] (rpm_resume) from [<c02488b0>] (pm_runtime_forbid+0x58/0x64) [ 1.778325] [<c02488b0>] (pm_runtime_forbid) from [<c030ea70>] (sdhci_s3c_probe+0x4a4/0x540) [ 1.786749] [<c030ea70>] (sdhci_s3c_probe) from [<c02429cc>] (platform_drv_probe+0x2c/0x5c) [ 1.795076] [<c02429cc>] (platform_drv_probe) from [<c02415f0>] (driver_probe_device+0x114/0x234) [ 1.803929] [<c02415f0>] (driver_probe_device) from [<c024179c>] (__driver_attach+0x8c/0x90) [ 1.812347] [<c024179c>] (__driver_attach) from [<c023ffb4>] (bus_for_each_dev+0x54/0x88) [ 1.820506] [<c023ffb4>] (bus_for_each_dev) from [<c0240df8>] (bus_add_driver+0xd8/0x1cc) [ 1.828665] [<c0240df8>] (bus_add_driver) from [<c0241db8>] (driver_register+0x78/0xf4) [ 1.836652] [<c0241db8>] (driver_register) from [<c00088a4>] (do_one_initcall+0x80/0x1d0) [ 1.844816] [<c00088a4>] (do_one_initcall) from [<c059ac94>] (kernel_init_freeable+0x108/0x1d4) [ 1.853503] [<c059ac94>] (kernel_init_freeable) from [<c0401300>] (kernel_init+0x8/0xe4) [ 1.861568] [<c0401300>] (kernel_init) from [<c000e538>] (ret_from_fork+0x14/0x3c) [ 1.869582] platform 12530000.sdhci: Driver s3c-sdhci requests probe deferral ... [ 1.997047] s3c-sdhci 12530000.sdhci: Unbalanced pm_runtime_enable! ... [ 2.027235] s3c-sdhci 12530000.sdhci: sdhci_add_host() failed [ 2.032884] platform 12530000.sdhci: Driver s3c-sdhci requests probe deferral ... Tested on Hardkernel's Exynos4412 based ODROID-U3 board. Fixes: 9f4e8151dbbc ("mmc: sdhci-s3c: Enable runtime power management") Cc: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Cc: Ben Dooks <ben-linux@xxxxxxxxx> Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> commit 2570741ac876fea8383fcea7388370f77d6574d7 Author: Richard Weinberger <richard@xxxxxx> Date: Fri Sep 5 06:56:18 2014 -0700 score: Remove GENERIC_HAS_IOMAP The symbol is an orphan, get rid of it. Signed-off-by: Richard Weinberger <richard@xxxxxx> Acked-by: Lennox Wu <lennox.wu@xxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> [Guenter Roeck: Merge with 3.17-rc3; update headline] Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5df4eb054fe056ecb15875e812fdadbc47568d7d Author: John DeSilva <desilvjo@xxxxxxxxx> Date: Fri Sep 5 11:13:17 2014 -0400 HID: Add Holtek USB ID 04d9:a0c2 ETEKCITY Scroll The report descriptor for the HOLTEK USB ID 04d9:a0c2 (ETEKCITY Scroll T-140 Gaming Mouse) is set to a very large amount of consumer usages (2^16), exceeding HID_MAX_USAGES. Added id, bindings and comments for the mouse, added to hid_have_special_driver, and reduced the usage and logical maximums to 0x2fff, consistent with the other mice in the category. Tested on the hardware. Signed-off-by: John C. DeSilva <desilvjo@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 643727a92e92efd657fbbbe70b3c35a49e537010 Author: Hans Petter Selasky <hps@xxxxxxxxxxx> Date: Mon Sep 8 09:35:35 2014 +0200 HID: fix ignore_special_drivers modparam description Signed-off-by: Hans Petter Selasky <hps@xxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit bfe3c873e978d78b542a5852575dd74f4d1a5838 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Fri Sep 5 18:08:48 2014 +0200 HID: usbhid: enable always-poll quirk for Elan Touchscreen Enable the always-poll quirk for Elan Touchscreens found on some recent Samsung laptops. Without this quirk the device keeps disconnecting from the bus (and is re-enumerated) unless opened (and kept open, should an input event occur). Note that while the device can be run-time suspended, the autosuspend timeout must be high enough to allow the device to be polled at least once before being suspended. Specifically, using autosuspend_delay_ms=0 will still cause the device to disconnect on input events. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0b750b3baa2d64f1b77aecc10f20deeb28efe60d Author: Johan Hovold <johan@xxxxxxxxxx> Date: Fri Sep 5 18:08:47 2014 +0200 HID: usbhid: add always-poll quirk Add quirk to make sure that a device is always polled for input events even if it hasn't been opened. This is needed for devices that disconnects from the bus unless the interrupt endpoint has been polled at least once or when not responding to an input event (e.g. after having shut down X). Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit eb1b4af0a64ac7bb0ee36f579c1c7cefcbc3ac2c Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Aug 15 16:05:38 2014 -0400 sched, time: Atomically increment stime & utime The functions task_cputime_adjusted and thread_group_cputime_adjusted() can be called locklessly, as well as concurrently on many different CPUs. This can occasionally lead to the utime and stime reported by times(), and other syscalls like it, going backward. The cause for this appears to be multiple threads racing in cputime_adjust(), both with values for utime or stime that is larger than the original, but each with a different value. Sometimes the larger value gets saved first, only to be immediately overwritten with a smaller value by another thread. Using atomic exchange prevents that problem, and ensures time progresses monotonically. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: umgwanakikbuti@xxxxxxxxx Cc: fweisbec@xxxxxxxxx Cc: akpm@xxxxxxxxxxxxxxxxxxxx Cc: srao@xxxxxxxxxx Cc: lwoodman@xxxxxxxxxx Cc: atheurer@xxxxxxxxxx Cc: oleg@xxxxxxxxxx Link: http://lkml.kernel.org/r/1408133138-22048-4-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e78c3496790ee8a36522a838b59b388e8a709e65 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Sat Aug 16 13:40:10 2014 -0400 time, signal: Protect resource use statistics with seqlock Both times() and clock_gettime(CLOCK_PROCESS_CPUTIME_ID) have scalability issues on large systems, due to both functions being serialized with a lock. The lock protects against reporting a wrong value, due to a thread in the task group exiting, its statistics reporting up to the signal struct, and that exited task's statistics being counted twice (or not at all). Protecting that with a lock results in times() and clock_gettime() being completely serialized on large systems. This can be fixed by using a seqlock around the events that gather and propagate statistics. As an additional benefit, the protection code can be moved into thread_group_cputime(), slightly simplifying the calling functions. In the case of posix_cpu_clock_get_task() things can be simplified a lot, because the calling function already ensures that the task sticks around, and the rest is now taken care of in thread_group_cputime(). This way the statistics reporting code can run lockless. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Alex Thorlton <athorlton@xxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Daeseok Youn <daeseok.youn@xxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Guillaume Morin <guillaume@xxxxxxxxxxx> Cc: Ionut Alexa <ionut.m.alexa@xxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Michal Schmidt <mschmidt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Vladimir Davydov <vdavydov@xxxxxxxxxxxxx> Cc: umgwanakikbuti@xxxxxxxxx Cc: fweisbec@xxxxxxxxx Cc: srao@xxxxxxxxxx Cc: lwoodman@xxxxxxxxxx Cc: atheurer@xxxxxxxxxx Link: http://lkml.kernel.org/r/20140816134010.26a9b572@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 90ed9cbe765ad358b3151a12b8bf889a3cbcd573 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Fri Aug 15 16:05:36 2014 -0400 exit: Always reap resource stats in __exit_signal() Oleg pointed out that wait_task_zombie adds a task's usage statistics to the parent's signal struct, but the task's own signal struct should also propagate the statistics at exit time. This allows thread_group_cputime(reaped_zombie) to get the statistics after __unhash_process() has made the task invisible to for_each_thread, but before the thread has actually been rcu freed, making sure no non-monotonic results are returned inside that window. Suggested-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Guillaume Morin <guillaume@xxxxxxxxxxx> Cc: Ionut Alexa <ionut.m.alexa@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Michal Hocko <mhocko@xxxxxxx> Cc: Michal Schmidt <mschmidt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: umgwanakikbuti@xxxxxxxxx Cc: fweisbec@xxxxxxxxx Cc: srao@xxxxxxxxxx Cc: lwoodman@xxxxxxxxxx Cc: atheurer@xxxxxxxxxx Link: http://lkml.kernel.org/r/1408133138-22048-2-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e2627dce268024aff962132057cb8acb219c9c40 Merge: 177ef2a 2ce7598 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Sep 8 08:11:07 2014 +0200 Merge tag 'v3.17-rc4' into sched/core, to prevent conflicts with upcoming patches, and to refresh the tree Linux 3.17-rc4 commit eb84d6b60491a3ca3d90d62ee5346b007770d40d Merge: 97a13e5 d030671 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Sep 7 21:41:53 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net commit a34375ef9e65340a138fc0be287de5c940d260fc Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 09:51:30 2014 +0900 percpu-refcount: add @gfp to percpu_ref_init() Percpu allocator now supports allocation mask. Add @gfp to percpu_ref_init() so that !GFP_KERNEL allocation masks can be used with percpu_refs too. This patch doesn't make any functional difference. v2: blk-mq conversion was missing. Updated. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Cc: Kent Overstreet <koverstreet@xxxxxxxxxx> Cc: Benjamin LaHaise <bcrl@xxxxxxxxx> Cc: Li Zefan <lizefan@xxxxxxxxxx> Cc: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> commit 20ae00792c6f1f18fc4fc5965445a145df92827e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 09:51:30 2014 +0900 proportions: add @gfp to init functions Percpu allocator now supports allocation mask. Add @gfp to [flex_]proportions init functions so that !GFP_KERNEL allocation masks can be used with them too. This patch doesn't make any functional difference. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> commit 908c7f1949cb7cc6e92ba8f18f2998e87e265b8e Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 09:51:29 2014 +0900 percpu_counter: add @gfp to percpu_counter_init() Percpu allocator now supports allocation mask. Add @gfp to percpu_counter_init() so that !GFP_KERNEL allocation masks can be used with percpu_counters too. We could have left percpu_counter_init() alone and added percpu_counter_init_gfp(); however, the number of users isn't that high and introducing _gfp variants to all percpu data structures would be quite ugly, so let's just do the conversion. This is the one with the most users. Other percpu data structures are a lot easier to convert. This patch doesn't make any functional difference. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Jan Kara <jack@xxxxxxx> Acked-by: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: x86@xxxxxxxxxx Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: "Theodore Ts'o" <tytso@xxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> commit ebd8fef304f99da84d4a52ad056f6137ac9652d4 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Mon Sep 8 09:51:29 2014 +0900 percpu_counter: make percpu_counters_lock irq-safe percpu_counter is scheduled to grow @gfp support to allow atomic initialization. This patch makes percpu_counters_lock irq-safe so that it can be safely used from atomic contexts. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 284a8c93af47306beed967a303d84730b32bab39 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 16:38:46 2014 -0700 rcu: Per-CPU operation cleanups to rcu_*_qs() functions The rcu_bh_qs(), rcu_preempt_qs(), and rcu_sched_qs() functions use old-style per-CPU variable access and write to ->passed_quiesce even if it is already set. This commit therefore updates to use the new-style per-CPU variable access functions and avoids the spurious writes. This commit also eliminates the "cpu" argument to these functions because they are always invoked on the indicated CPU. Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 1d082fd061884a587c490c4fc8a2056ce1e47624 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 16:01:53 2014 -0700 rcu: Remove local_irq_disable() in rcu_preempt_note_context_switch() The rcu_preempt_note_context_switch() function is on a scheduling fast path, so it would be good to avoid disabling irqs. The reason that irqs are disabled is to synchronize process-level and irq-handler access to the task_struct ->rcu_read_unlock_special bitmask. This commit therefore makes ->rcu_read_unlock_special instead be a union of bools with a short allowing single-access checks in RCU's __rcu_read_unlock(). This results in the process-level and irq-handler accesses being simple loads and stores, so that irqs need no longer be disabled. This commit therefore removes the irq disabling from rcu_preempt_note_context_switch(). Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4ff475ed4cf61a7f56bbfbc424147189d0022b38 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 10 19:47:12 2014 -0700 rcu: Additional information on RCU-tasks stall-warning messages Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 01a81330344b09028881c953a51d1106a9e63518 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 5 05:23:35 2014 -0700 rcu: Remove redundant preempt_disable() from rcu_note_voluntary_context_switch() In theory, synchronize_sched() requires a read-side critical section to order against. In practice, preemption can be thought of as being disabled across every machine instruction, at least for those machine instructions that are not in the idle loop and not on offline CPUs. So this commit removes the redundant preempt_disable() from rcu_note_voluntary_context_switch(). Please note that the single instruction in question is the store of zero to ->rcu_tasks_holdout. The "if" is simply a performance optimization that avoids unnecessary stores. To see this, keep in mind that both the "if" condition and the store are in a quiescent state. Therefore, even if the task is preempted for a full grace period (presumably due to its having done a context switch beforehand), the store will be recording a legitimate quiescent state. Reported-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Conflicts: include/linux/rcupdate.h commit 8f20a5e83d2c5d0e126a2fc9bca67f7430dac907 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 5 05:10:24 2014 -0700 rcu: Make rcu_tasks_kthread()'s GP-wait loop allow preemption The grace-period-wait loop in rcu_tasks_kthread() is under (unnecessary) RCU protection, and therefore has no preemption points in a PREEMPT=n kernel. This commit therefore removes the RCU protection and inserts cond_resched(). Reported-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 176f8f7a52cc6d09d686f0d900abda6942a52fbb Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 17:43:50 2014 -0700 rcu: Make TASKS_RCU handle nohz_full= CPUs Currently TASKS_RCU would ignore a CPU running a task in nohz_full= usermode execution. There would be neither a context switch nor a scheduling-clock interrupt to tell TASKS_RCU that the task in question had passed through a quiescent state. The grace period would therefore extend indefinitely. This commit therefore makes RCU's dyntick-idle subsystem record the task_struct structure of the task that is running in dyntick-idle mode on each CPU. The TASKS_RCU grace period can then access this information and record a quiescent state on behalf of any CPU running in dyntick-idle usermode. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 84a8f446ffd70c2799a96268aaa4d47c22a83ff0 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 07:24:21 2014 -0700 rcu: Defer rcu_tasks_kthread() creation till first call_rcu_tasks() It is expected that many sites will have CONFIG_TASKS_RCU=y, but will never actually invoke call_rcu_tasks(). For such sites, creating rcu_tasks_kthread() at boot is wasteful. This commit therefore defers creation of this kthread until the time of the first call_rcu_tasks(). This of course means that the first call_rcu_tasks() must be invoked from process context after the scheduler is fully operational. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 37fe5f0e2713608573c5df5e529e13a135625629 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 29 09:49:23 2014 -0700 documentation: Add verbiage on RCU-tasks stall warning messages This commit documents RCU-tasks stall warning messages and also describes when to use the new cond_resched_rcu_qs() API. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit c7b24d2b9a0f2ce19fdf631d3148c80a8f6010b1 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 28 14:39:25 2014 -0700 rcu: Improve RCU-tasks energy efficiency The current RCU-tasks implementation uses strict polling to detect callback arrivals. This works quite well, but is not so good for energy efficiency. This commit therefore replaces the strict polling with a wait queue. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 52db30ab23b6d00cf80b22a510c4ea4be4458031 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 18:16:30 2014 -0700 rcu: Add stall-warning checks for RCU-tasks This commit adds a ten-minute RCU-tasks stall warning. The actual time is controlled by the boot/sysfs parameter rcu_task_stall_timeout, with values less than or equal to zero disabling the stall warnings. The default value is ten minutes, which means that the tasks that have not yet responded will get their stacks dumped every ten minutes, until they pass through a voluntary context switch. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f1a828f5fa3537456c417a81ad534c14022c268c Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 12:56:20 2014 -0700 rcutorture: Add RCU-tasks test cases This commit adds the TASKS01 and TASKS02 Kconfig fragments, along with the corresponding TASKS01.boot and TASKS02.boot boot-parameter files specifying that rcutorture test RCU-tasks instead of the default flavor. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 69c604557ce34015629b325b85ff1a4996038a3b Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:59:36 2014 -0700 rcutorture: Add torture tests for RCU-tasks This commit adds torture tests for RCU-tasks. It also fixes a bug that would segfault for an RCU flavor lacking a callback-barrier function. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 06c2a9238fad48ec38f1be00455bf942d54377ee Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Jul 2 18:17:19 2014 -0700 rcu: Export RCU-tasks APIs to GPL modules This commit exports the RCU-tasks synchronous APIs, synchronize_rcu_tasks() and rcu_barrier_tasks(), to GPL-licensed kernel modules. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 3f95aa81d265223fdb13ea2b59883766a05adbdf Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 06:10:23 2014 -0700 rcu: Make TASKS_RCU handle tasks that are almost done exiting Once a task has passed exit_notify() in the do_exit() code path, it is no longer on the task lists, and is therefore no longer visible to rcu_tasks_kthread(). This means that an almost-exited task might be preempted while within a trampoline, and this task won't be waited on by rcu_tasks_kthread(). This commit fixes this bug by adding an srcu_struct. An exiting task does srcu_read_lock() just before calling exit_notify(), and does the corresponding srcu_read_unlock() after doing the final preempt_disable(). This means that rcu_tasks_kthread() can do synchronize_srcu() to wait for all mostly-exited tasks to reach their final preempt_disable() region, and then use synchronize_sched() to wait for those tasks to finish exiting. Reported-by: Oleg Nesterov <oleg@xxxxxxxxxx> Suggested-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 53c6d4edf874d3cbc031a53738c6cba9277faea5 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 12:22:23 2014 -0700 rcu: Add synchronous grace-period waiting for RCU-tasks It turns out to be easier to add the synchronous grace-period waiting functions to RCU-tasks than to work around their absense in rcutorture, so this commit adds them. The key point is that the existence of call_rcu_tasks() means that rcutorture needs an rcu_barrier_tasks(). Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit bde6c3aa993066acb0d6ce32ecabe03b9d5df92d Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:26:57 2014 -0700 rcu: Provide cond_resched_rcu_qs() to force quiescent states in long loops RCU-tasks requires the occasional voluntary context switch from CPU-bound in-kernel tasks. In some cases, this requires instrumenting cond_resched(). However, there is some reluctance to countenance unconditionally instrumenting cond_resched() (see http://lwn.net/Articles/603252/), so this commit creates a separate cond_resched_rcu_qs() that may be used in place of cond_resched() in locations prone to long-duration in-kernel looping. This commit currently instruments only RCU-tasks. Future possibilities include also instrumenting RCU, RCU-bh, and RCU-sched in order to reduce IPI usage. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 8315f42295d2667a7f942f154b73a86fd7cb2227 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 27 13:42:20 2014 -0700 rcu: Add call_rcu_tasks() This commit adds a new RCU-tasks flavor of RCU, which provides call_rcu_tasks(). This RCU flavor's quiescent states are voluntary context switch (not preemption!) and userspace execution (not the idle loop -- use some sort of schedule_on_each_cpu() if you need to handle the idle tasks. Note that unlike other RCU flavors, these quiescent states occur in tasks, not necessarily CPUs. Includes fixes from Steven Rostedt. This RCU flavor is assumed to have very infrequent latency-tolerant updaters. This assumption permits significant simplifications, including a single global callback list protected by a single global lock, along with a single task-private linked list containing all tasks that have not yet passed through a quiescent state. If experience shows this assumption to be incorrect, the required additional complexity will be added. Suggested-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit bc51896da2ceef188f9cd708943d48c1259ebe84 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 26 11:35:43 2014 -0700 torture: Check for nul bytes in console output When starting a new torture run while an old one is still running, both qemu processes can be outputting to the same console.out file. This can cause quite a bit of confusion, so this commit checks for this situation, which is normally indicated by nul bytes in the console output. Yes, if your new run uses up an exact number of blocks of the file, this check will be ineffective, but the odds are not bad. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit b76592412a320dd58572fa3517c39adb2fdbd7ed Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 20:41:47 2014 -0700 torture: Print PID in hung-kernel diagnostic message Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit 38706bc5a29a73645e512c06ffb759fb56259d83 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 18 21:12:17 2014 -0700 rcutorture: Add callback-flood test Although RCU is designed to handle arbitrary floods of callbacks, this capability is not routinely tested. This commit therefore adds a cbflood capability in which kthreads repeatedly registers large numbers of callbacks. One such kthread is created for each four CPUs (rounding up), and the test may be controlled by several cbflood_* kernel boot parameters, which control the number of bursts per flood, the number of callbacks per burst, the time between bursts, and the time between floods. The default values are large enough to exercise RCU's emergency responses to callback flooding. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit eea203fea3484598280a07fe503e025e886297fb Author: Joe Perches <joe@xxxxxxxxxxx> Date: Mon Jul 14 09:16:15 2014 -0400 rcu: Use pr_alert/pr_cont for printing logs User pr_alert/pr_cont for printing the logs from rcutorture module directly instead of writing it to a buffer and then printing it. This allows us from not having to allocate such buffers. Also remove a resulting empty function. I tested this using the parse-torture.sh script as follows: $ dmesg | grep torture > log.txt $ bash parse-torture.sh log.txt test $ There were no warnings which means that parsing went fine. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 188c1e896c0c28ac98809d11b6f29523805b34ef Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Sat Jul 26 21:38:09 2014 -0700 rcutorture: Specify CONFIG_CPUMASK_OFFSTACK=y for TREE07 This commit specifies offstack cpumasks in TREE07 in order to catch references to unallocated cpumask_var_t variables. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit ae867ff03d09c2aec56b0443b8b04e5a3fa1e336 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 21 13:35:10 2014 -0700 rcutorture: Specify MAXSMP=y for TREE01 Setting CONFIG_MAXSMP=y causes cpumasks to be moved offstack, which introduces the possibility of NULL cpumask_var_t pointers. This commit therefore enables CONFIG_MAXSMP=y in TREE01 to increase test coverage. However, because CONFIG_MAXSMP=y implies 8192 CPUs, we need to use the maxcpus= boot parameter to limit the number of CPUs to something reasonable, which in turn requires updating the scripts to handle this. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit 9e62b0efdcead5b66c0c006df2f19a449b22cf08 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 21 13:13:35 2014 -0700 rcutorture: Test partial nohz_full= configuration The current set of tests covers only cases where either all possible CPUs are nohz_full= CPUs or none of them are. Because there have been some recent bug escapes in cases where only some of the CPUs are nohz_full= CPUs, this commit add a configuration where only half of the CPUs are nohz_full= CPUs. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit 616fd166f64df42db7d1bdd12918d9105f3add05 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 18 12:01:39 2014 -0700 rcu: Add step to initrd documentation This commit tries to get people into the correct directory before creating the initrd directory. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit 3327d924a7fef224754273d70224f130d63997c6 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Jul 11 19:47:35 2014 -0400 rcutorture: Set executable bit and drop bash from Usage This commit sets the executable bit on test scripts config2frag.sh and kvm.sh. Since #!/bin/bash is set in all the scripts, this commit also drops it from all usage lines because the scripts can now all be invoked directly. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 1a5e31fbf9199212915095c47ebf22d0715d3389 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Fri Jul 11 17:31:27 2014 -0400 rcutorture: Use bash shell for all the test scripts Some of the scripts encode a default /bin/sh shell. On systems which use dash as default shell, these scripts fail as they are bash scripts. I encountered this while testing the sprintf() changes on a Debian system where dash is the default shell. This commit changes all such uses to use bash explicitly. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 58ade2dbe9a253635e0835adedfaa822849aa3a3 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Jun 11 16:39:43 2014 -0400 rcutorture: Fix a sparse warning by marking boost_mutex static This commit fixes the following sparse warning by marking boost_mutex static: kernel/rcu/rcutorture.c:185:1: warning: symbol 'boost_mutex' was not declared. Should it be static? Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 73a860cd58a1eb258e889b615cebf738ab33aa23 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 10:28:23 2014 -0700 rcu: Replace flush_signals() with WARN_ON(signal_pending()) Currently, when RCU awakens from a wait_event_interruptible() that might have awakened prematurely, it does a flush_signals(). This is done on the off-chance that someone figured out how to deliver a signal to a kthread, which is supposed to be impossible. Given that this is supposed to be impossible, this commit changes the flush_signals() calls into WARN_ON(signal_pending()). Reported-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 2aa792e6faf1a00f5accf1f69e87e11a390ba2cd Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Aug 12 13:07:47 2014 -0400 rcu: Use rcu_gp_kthread_wake() to wake up grace period kthreads The rcu_gp_kthread_wake() function checks for three conditions before waking up grace period kthreads: * Is the thread we are trying to wake up the current thread? * Are the gp_flags zero? (all threads wait on non-zero gp_flags condition) * Is there no thread created for this flavour, hence nothing to wake up? If any one of these condition is true, we do not call wake_up(). It was found that there are quite a few avoidable wake ups both during idle time and under stress induced by rcutorture. Idle: Total:66000, unnecessary:66000, case1:61827, case2:66000, case3:0 Total:68000, unnecessary:68000, case1:63696, case2:68000, case3:0 rcutorture: Total:254000, unnecessary:254000, case1:199913, case2:254000, case3:0 Total:256000, unnecessary:256000, case1:201784, case2:256000, case3:0 Here case{1-3} are the cases listed above. We can avoid these wake ups by using rcu_gp_kthread_wake() to conditionally wake up the grace period kthreads. There is a comment about an implied barrier supplied by the wake_up() logic. This barrier is necessary for the awakened thread to see the updated ->gp_flags. This flag is always being updated with the root node lock held. Also, the awakened thread tries to acquire the root node lock before reading ->gp_flags because of which there is proper ordering. Hence this commit tries to avoid calling wake_up() whenever we can by using rcu_gp_kthread_wake() function. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> CC: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit ade9862470dd0595d8e292ecea8445ed90b98df5 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 16:02:33 2014 -0700 rcu: Make TINY_RCU tinier by putting error checks under #ifdef The rcu_idle_enter_common() and rcu_idle_exit_common() functions contain error checks that have to the best of my knowledge have never triggered over the past several years. These are nevertheless valuable when creating new architectures or doing other low-level changes, so the checks should not be deleted. This commit instead places these checks under #ifdef CONFIG_RCU_TRACE so that they are executed only when specifically requested. The savings are significant: Before: text data bss dec hex filename 1749 39 0 1788 6fc /tmp/b/kernel/rcu/tiny.o 632 152 0 784 310 /tmp/b/kernel/rcu/update.o ---- 2572 After: text data bss dec hex filename 1281 37 0 1318 526 /tmp/b/kernel/rcu/tiny.o 632 152 0 784 310 /tmp/b/kernel/rcu/update.o ---- 2102 This amounts to 470 bytes, or 18% of the original. Switched from #ifdef to IS_ENABLED() on Josh Triplett's advice. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 9fdd3bc9005824704f9802bec7b3e06f5edae434 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 29 14:50:47 2014 -0700 rcu: Break more call_rcu() deadlock involving scheduler and perf Commit 96d3fd0d315a9 (rcu: Break call_rcu() deadlock involving scheduler and perf) covered the case where __call_rcu_nocb_enqueue() needs to wake the rcuo kthread due to the queue being initially empty, but did not do anything for the case where the queue was overflowing. This commit therefore also defers wakeup for the overflow case. Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 66d701ea7e148f8ed8b1497c9159fbf6175d462f Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Jul 16 22:20:33 2014 -0400 rcu: Remove stale comment in tree.c This commit removes a stale comment in rcu/tree.c which was left out when some code was moved around previously in commit 2036d94a7b61 ("rcu: Rework detection of use of RCU by offline CPUs") For reference, the following updated comment exists a few lines below this which means the same: /* Remove the outgoing CPU from the masks in the rcu_node hierarchy. */ Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Reviewed-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit fafb6e843f229a6e842a22773f16d93194ca06e4 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 15 18:31:47 2014 -0400 rcu: Update tiny.c references to tree.c This commit updates the references to rcutree.c which is now rcu/tree.c Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit a8a29b3b7b18251c4e3ffce501f25ae868302a75 Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Sat Jul 12 19:01:49 2014 +0200 rcu: Define tracepoint strings only if CONFIG_TRACING is set Commit f7f7bac9cb1c ("rcu: Have the RCU tracepoints use the tracepoint_string infrastructure") unconditionally populates the __tracepoint_str input section, but this section is not assigned an output section if CONFIG_TRACING is not set. This results in the __tracepoint_str turning up in unexpected places, i.e., after _edata. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Reviewed-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 85b39d305bfe809a11ff2770d380be3e2465beec Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Jul 8 15:17:59 2014 -0700 rcu: Uninline rcu_read_lock_held() This commit uninlines rcu_read_lock_held(). According to "size vmlinux" this saves 28549 in .text: - 5541731 3014560 14757888 23314179 + 5513182 3026848 14757888 23297918 Note: it looks as if the data grows by 12288 bytes but this is not true, it does not actually grow. But .data starts with ALIGN(THREAD_SIZE) and since .text shrinks the padding grows, and thus .data grows too as it seen by /bin/size. diff System.map: - ffffffff81510000 D _sdata - ffffffff81510000 D init_thread_union + ffffffff81509000 D _sdata + ffffffff8150c000 D init_thread_union Perhaps we can change vmlinux.lds.S to .data itself, so that /bin/size can't "wrongly" report that .data grows if .text shinks. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit e02b2edfa13878c6671d31d5c736f56f89d99bf1 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Jul 9 00:08:17 2014 -0400 rcu: Use true/false instead of 1/0 for a bool type This commit uses true/false instead of 1/0 for bool types in rcu_gp_fqs() and force_qs_rnp(). Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 521d24ee598bd8a8b71d7ac76ce2c0da0e548406 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:18 2014 -0400 rcu: Return bool type in rcu_lockdep_current_cpu_online() Return true instead of 1 in rcu_lockdep_current_cpu_online() as this has bool as return type. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit d0bc90fd37e50e4ea22c51c26947fd78c2a7a6c2 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:13 2014 -0400 rcu: Return bool type for rcu_try_advance_all_cbs() Return a bool type instead of 0 in rcu_try_advance_all_cbs(). Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit f534ed1fd71cea885a59255d9b44c3b17df03eb1 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:11 2014 -0400 rcu: Use bool type for return value in rcu_is_watching() Use a bool type for return in rcu_is_watching(). Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit bf33eb1aef23e8049cd222471d35b0988c420b18 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 18:26:10 2014 -0400 rcu: Fix sparse warning about rcu_batches_completed_preempt() being non-static fix sparse warning about rcu_batches_completed_preempt() being non-static by marking it as static Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 4de376a1b14e32f550931274f06b571abc0f3d4b Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Tue Jul 8 17:46:50 2014 -0400 rcu: Remove remaining read-modify-write ACCESS_ONCE() calls Change the remaining uses of ACCESS_ONCE() so that each ACCESS_ONCE() either does a load or a store, but not both. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 2456d2a617de0a37a0f8d1e44f4b270172c4f17a Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 15:40:02 2014 -0700 memory-barriers: Fix description of 2-legged-if-based control dependencies Sad to say, current compilers really will hoist identical stores from both branches of an "if" statement to precede the conditional. This commit therefore updates the description of control dependencies to reflect this ugly reality. Reported-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reported-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit efdcd51a4d5bd355796b1a757ff0355bb09ed394 Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 11:49:34 2014 -0700 memory-barriers: Retain barrier() in fold-to-zero example The transformation in the fold-to-zero example incorrectly omits the barrier() directive. This commit therefore adds it back in. Reported-by: Pranith Kumar <pranith@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> commit 5646f7acc95f14873f1ec715380c1c493b4243ce Author: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Date: Fri Jul 25 17:05:24 2014 -0700 memory-barriers: Fix control-ordering no-transitivity example The control-ordering example demonstrating lack of transitivity had multiple problems. This commit fixes them. Reported-by: Nikolay Samofatov <nikolay.samofatov@xxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Reviewed-by: Pranith Kumar <bobby.prani@xxxxxxxxx> commit 97a13e5289baa96eaddd06e61d277457d837af3a Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Sep 6 00:28:23 2014 +0200 net: phy: mdio-sun4i: don't select REGULATOR The mdio-sun4i driver automatically selects REGULATOR and REGULATOR_FIXED_VOLTAGE because it uses the regulator API. But a driver selecting a subsystem increases the chance of generating circular Kconfig dependencies, especially when other drivers depend on the selected symbol. Since the regulator API functions are replaced with no-ops when REGULATOR is disabled, the driver can be built successfully even without regulator support and so those 'select' dependencies can be safely dropped. Suggested-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13aa3463e574d2ae2618306dcd3e973c5eed6d7f Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Sep 5 18:32:18 2014 +0300 rose: use %*ph specifier Instead of dereference each byte let's use %*ph specifier in the printk() calls. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 890c165261f92e23005d84762acc98892acaa504 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Sep 3 23:30:32 2014 +0200 NFC: st21nfcb: Remove useless headers Remove some headers as they are: - not relevent for st21nfcb. - called multiple times for no reason: example st21nfcb.h already include ndlc.h. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0a91e8ac240a12ac3a03581deb8cd531788c63d4 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Sep 3 23:30:30 2014 +0200 NFC: st21nfca: fix "WARNING: else is not generally useful after a break or return" scripts/checkpatch.pl -f drivers/nfc/st21nfca.c is throwing the following: WARNING: else is not generally useful after a break or return #866: FILE: drivers/nfc/st21nfca/st21nfca.c:866: + return 0; + } else { Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit efaf956ad6852a7ae0cc4c78bd31079f8039daa6 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Sep 3 23:30:29 2014 +0200 NFC: st21nfca: Clean up macros alignment Align every macros on the same column. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cebe22244206d51b80c778f09304d21198652f71 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Sep 3 23:30:28 2014 +0200 NFC: st21nfca: Clean up st21nfca.h macros Clean up st21nfca.h macros and move the one only used in st21nfca.c. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ac633ba6acb94a11b09a7ec417c72f65c6308b7a Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Wed Sep 3 23:30:26 2014 +0200 NFC: st21nfcb: Fix logic when running into i2c read retry When retrying to read the NCI header, the CLF might not be available the first time. However it may not be successful the second time and this may cause an error in the function. Enforce the retrieve data length is as expected. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 56f1ffcccd784672654918f9214979b4918c2544 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Aug 11 00:04:56 2014 +0200 NFC: st21nfca: Add condition to make sure atr_req->length is valid. gb_len in st21nfca_tm_send_atr_res can be negative. Not checking for that could lead to a potential kernel oops. We now make sure that atr_req->length > sizeof(struct st21nfca_atr_req) to avoid such situation. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a51577c9e3c49dbc44c821f9e170b96bbea716e3 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Aug 11 00:04:54 2014 +0200 NFC: st21nfca: Remove useless IS_ERR(skb) conditions skb is already verified to be not null from the below hci layer. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 32b41d8f7587b6e8a2cbb3a15f83c3a9687f1f17 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Aug 11 00:04:53 2014 +0200 NFC: st21nfca: Remove useless err == 0 condition On top of st21nfca_im_recv_atr_res_cb and st21nfca_im_recv_dep_res_cb a condition if (err != 0) is present. Because err is never modified in the code err will always be 0 at the end. The condition can be removed. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 72030a2eeb182575f1bf2383f1e9267d4a6ece61 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Aug 11 00:04:52 2014 +0200 NFC: st21nfca: Change nfcid3 generation nfcid3 is based on sensf_res value. target->sensf is never NULL as it is a table. Check the sensf_res_len instead to make sure sensf_res is set or not. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 06ed3d607b1030365e6f4bdae193e64378e4264b Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:38 2014 +0200 NFC: st21nfca: Remove useless new line in nfc_err call Remove a useless new line in nfc_err call. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 9ec1f58b9a8ecd72e675c33bfe8ceaf1bc0dc4c5 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:37 2014 +0200 NFC: st21nfca: Fix logic when setting session_id If dev_num >= ST21NFCA_NUM_DEVICES, the driver was returning an incorrect success return code. Once dev_num is set, it was not stated as busy. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit df2566fe37d92dfba032e6084ebfb708dac5dc9a Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:36 2014 +0200 NFC: st21nfcb: Remove inappropriate kfree on a previously devm_kzalloc pointer In case of an error during driver probe, info pointer was freed with kfree. No need to free anything when using devm_kzalloc. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 2c376a9e3c973e7923daba78aa16c768503cdef3 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:35 2014 +0200 NFC: st21nfcb: Remove useless new line in nfc_err call Remove a uselss new line in nfc_err call. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d363d7d0a5755b347de42c28aeab23ecfdcd2348 Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:34 2014 +0200 NFC: st21nfcb: Remove double assignment of .owner in struct device_driver The .owner member of struct device_driver is assigned THIS_MODULE twice. Introduced by: commit 35630df68d6030daf12dde12ed07bbe26324e6ac NFC: st21nfcb: Add driver for STMicroelectronics ST21NFCB NFC chip Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 56ee645e304c9b86b48768de8e52babd5b6e1d8a Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:33 2014 +0200 NFC: st21nfcb: Convert to use devm_gpio_request_one Simplify the code a bit as mention by Axel Lin in a previous patch for st21nfca. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 361325e21d3a06a31ab53baf452c0946743b7abb Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:32 2014 +0200 NFC: st21nfcb: Fix scripts/checkpatch.pl error "code indent should use tabs where possible" Fixing scripts/checkpatch.pl error "code indent should use tabs where possible" in: - i2c.c in st21nfcb_nci_irq_thread_fn function. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3e6df9191abe9dc46b7f9f540e1c3c73cfaccedf Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:31 2014 +0200 NFC: st21nfca: Fix scripts/checkpatch.pl warnings "Missing a blank line after declarations" Fixing scripts/checkpatch.pl warning "Missing a blank line after declarations" in: - st21nfca.c: - check_presence after fwi variable declaration. - get_frame_size after len variable declaration. - st21nfca_hci_i2c_repack after "i, j, r, size" variable declaration. - st21nfca_dep.c st21nfca_tx_work after skb pointer declaration. Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6ae3ed1c52b9ce12e1b3d2ac8f648b7de1569dfe Author: Christophe Ricard <christophe.ricard@xxxxxxxxx> Date: Mon Jul 28 18:11:30 2014 +0200 NFC: st21nfca: Fix sparse: cast to restricted __be32 Fixing "sparse: cast to restricted __be32" message when building with make C=1 CF=-D__CHECK_ENDIAN__ Signed-off-by: Christophe Ricard <christophe-h.ricard@xxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0be8ce737c1f052a1811d029f8afb03583f7238f Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Jul 28 18:11:29 2014 +0200 NFC: st21nfca: Convert to use devm_gpio_request_one This simplifies the code a bit. Acked-by: Christophe RICARD <christophe-h.ricard@xxxxxx> Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ce3a5de7f58f18976b6536d8ea663f90da0e8093 Author: Emil Goode <emilgoode@xxxxxxxxx> Date: Mon Jul 28 18:11:28 2014 +0200 NFC: st21nfca: Remove double assignment of .owner in struct device_driver The .owner member of struct device_driver is assigned THIS_MODULE twice. Introduced by: commit c44cb2edd01ca31471d9385f0895891b006ab904 ("NFC: dts: st21nfca: Add device-tree (Open Firmware) support to st21nfca") Acked-by: Christophe RICARD <christophe-h.ricard@xxxxxx> Signed-off-by: Emil Goode <emilgoode@xxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cb174aba86fe10ddac8b692c90a9480526c02953 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:46 2014 -0700 NFC: trf7970a: Add Target Mode Detection Support Add the ability to detect the mode (i.e., RF technology) used by the initiator. The RF technology that was detected can be retrieved by calling the 'tg_get_rf_tech' driver hook. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 13b4272a8264220ec043a922fd1fa05da72d57ae Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:45 2014 -0700 NFC: trf7970a: Add Target Mode Support Add target mode support to the trf7970a NFC driver. This effectively enables full Peer-to-Peer support. To handle changing framing between sending a response frame and receiving the subsequent request frame, most of the framing changes take effect in the interrupt handler and not in trf7970a_tg_config_framing(). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1961843ceeca0d3e55744bba7ae8d9e23d04cf6a Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:44 2014 -0700 NFC: trf7970a: Handle timeout values of zero The digital layer can try to send a command with a timeout value of zero (e.g., digital_tg_send_psl_res(). The zero value is used as a flag to indicate that the driver should not expect a response. To handle this, the driver sets an internal timer because it should still get an interrupt with the TX bit set in the IRQ Status Register. When it gets that interrupt, it returns a return value of '0'. If it doesn't get the interrupt before timing out, it returns ETIMEDOUT as usual. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6fb9edcb43d0b1bf0ac2aaf6ba488d105c45f477 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:43 2014 -0700 NFC: trf7970a: Cancel timer when error encountered Some paths leave a timer still running when trf7970a_send_err_upstream() is called. This can cause a timeout to occur in a subsequent transaction making it fail. Fix this by ensuring there is no timer running before sending an error upstream. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 851ee3cbf850501104e76683e439a4061f378a96 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:42 2014 -0700 NFC: trf7970a: Don't turn on RF if there is already an RF field Currently, the trf7970a driver blindly turns on its RF field when configuring its framing. This isn't a good idea if there is already a device generating an RF field. Instead, check if there is already an RF field present before turning on this device's RF field and, if there is, return EBUSY. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 7149d6bfecadc255e9d964782a9fdd70f610f1ea Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:41 2014 -0700 NFC: trf7970a: trf7970a_init() turns off the RF transmitter When trf7970a_init() initializes the trf7970a it implicitly turns off the RF transmitter. Track this by clearing the TRF7970A_CHIP_STATUS_RF_ON bit in the cached trf->chip_status_ctrl. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cfc708dbe4022324bcd2bcb5817dd29f1f91299d Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:40 2014 -0700 NFC: trf7970a: Don't turn off RF if its already off Don't try to turn off of RF transmitter is its already off. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 307e5caf6fb1dac1b9cfa1d78138d77e46517b56 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:39 2014 -0700 NFC: trf7970a: Add '_in_' to initiator routines Rename trf7970a_config_rf_tech() and trf7970a_config_framing() to trf7970a_in_config_rf_tech() and trf7970a_in_config_framing(), respectively to avoid confusion when target support is added. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4e007f810664541078e619d050f6290bf137aa61 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:38 2014 -0700 NFC: trf7970a: Delay after initialization The trf7970a should be given at least 1 ms to completely initialize after the 'Software Init' and 'Idle' commands have been issued. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 77c9539dc1284677539af442ac3629c9baf01202 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:37 2014 -0700 NFC: trf7970a: Add System Suspend/Resume support Add system suspend/resume support by gracefully shutting things down when suspending and bringing the device back to full power when resuming. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b528281b8b7a9c379baf37720191a799fbc9800c Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:36 2014 -0700 NFC: trf7970a: Create startup and shutdown routines Encapsulate the code to start up and gracefully shutdown the driver and trf7970a device. Doing this makes adding system suspend/resume support easier and the resulting code cleaner. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit ceccd6aa50887352e66d0edf68d8be510a639da6 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:35 2014 -0700 NFC: trf7970a: Don't assume CONFIG_PM_RUNTIME is enabled The current code assumes that CONFIG_PM_RUNTIME is always defined so it won't power up the trf7970a when it isn't enabled. Fix this by moving the power up/down code from the pm_runtime_resume/suspend routines into their own routines and calling the power up function from the probe routine. This ensures the device is powered up even when CONFIG_PM_RUNTIME is not defined. In order to not power on/off a device that is already powered on/off, create a new state to indicate that the power is off (TRF7970A_ST_PWR_OFF). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit b5e17d9b5bd7e53696bce21e38eec5b9bb8abb88 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:34 2014 -0700 NFC: trf7970a: Rename TRF7970A_ST_OFF to TRF7970A_ST_RF_OFF Rename the 'TRF7970A_ST_OFF' state to 'TRF7970A_ST_RF_OFF' to make it clear that this state means that the RF is off and not the entire device. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0a1de84205d3fe7baa3d013ebf703416b1919ecc Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:33 2014 -0700 NFC: trf7970a: Return error code when turning on RF fails trf7970a_switch_rf_on() is currently a void function but turning on the RF could fail so it should return a return code. That return code should also be propagated back to the entity that initiated the action. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit afa5b5f13e0e2372e440f3ab44620d4e10fca496 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:32 2014 -0700 NFC: trf7970a: Ensure no more RX data before completing receive Depending on the interrupt status value given by the trf7970a, the driver may not know when a receive operation is complete. To handle this, the driver waits for a period of time in case the trf7970a interrupts it again indicating there are more RX data in the FIFO. It is possible that the timeout will occur when there are RX data in the FIFO but before the trf7970a has generated an interrupt to tell the driver about it. Handle this by calling trf7970a_drain_fifo() (instead of trf7970a_send_upstream() which just passes up the data gathered to far) to check if there are more data in the FIFO. If so, gather that data into the receive buffer. If not, pass the data collected so far upstream as before. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 5d8f759424d3d7da998a7a9eee702071c8e5d381 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:31 2014 -0700 NFC: trf7970a: Reread FIFO Status Register when draining FIFO Receiving an interrupt whose Interrupt Status Register value has only the SRX bit set is supposed to mean that all of the data from the tag has been received. That turns out to not be true so we need to reread the FIFO Status Register to tell if there are any new bytes in the FIFO. If there are, continue receiving them; if there aren't, assume that the receive is complete and pass the data up. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit bece3c544fee62ba7750f70b214d612fd02dcc8f Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:30 2014 -0700 NFC: trf7970a: Handle low-watermark IRQ when transmitting Commit 4dd836e46c3d ("NFC: trf7970a: Reset FIFO when 'End of TX' Interrupt Occurs") fixes the issue that it was meant to fix but adds the unfortunate side effect of causing the driver to report an error when the TX low-watermark level is passed during transmits. This can be fixed by checking whether the IRQ status indicates that the low-watermark has been passed when transmitting. If it has been passed and the FIFO is empty, then its safe to reset the FIFO. Otherwise, silently continue since another TX interrupt will be generated and the FIFO will be reset then. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 0e840ed59ba79670b66bba8c1d50b6f67e72d3fb Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:29 2014 -0700 NFC: trf7970a: Only fill FIFO if there is space Handle the case where trf7970a_fill_fifo() is called but there is no room in the FIFO for more TX data. When this happens, wait for another interrupt indicating that there is now space (and set a timer in case that interrupt never occurs). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 7a1e5552af61dce180f70c6fafe31553254b3728 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:28 2014 -0700 NFC: trf7970a: Prefix TX data when refilling FIFO When refilling the FIFO with more TX data (using a new SPI transaction), the driver must prefix the TX data with a write to the FIFO I/O Register. This tells the trf7970a that the following data is destined for the FIFO so it can be transmitted. To accomplish this, the driver cannot simply push the prefix data just before the next set of TX data that is to be transmitted because that will overwrite part of the TX data provided by the digital layer. Instead, separate the prefix data and the TX data when calling trf7970a_transmit(). trf7970a_transmit() can then send the prefix and TX data from different memory locations with one spi_sync() operation. This also means that the driver doesn't require any skb "tx_headroom" as provided by the digital layer (see nfc_digital_allocate_device() and digital_skb_alloc()). Also ensure that the prefix is of type 'u8' and not 'char'. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 5974150dead6da1db415f04a232f79b922f412a0 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:27 2014 -0700 NFC: trf7970a: Remove unnecessary FIFO reset & RSSI read It is no longer necessary to reset the FIFO and read the 'RSSI Levels and Oscillator Status Register' so remove that code. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit aff0564aa7b2118a1d76dc0118dfdbf4beaf4b8c Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:26 2014 -0700 NFC: trf7970a: Clear possible spurious interrupt before transmitting The trf7970a occasionally generates spurious interrupts which can confuse the driver. To help alleviate this, clear any interrupts by reading the 'IRQ Status Register' before starting a new transaction. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 38b4eb1f7fa87079a5a40f5d2ec4b5c0c7f14a4b Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:25 2014 -0700 NFC: trf7970a: Recalculate driver timeout values Some of the timeout values used in the driver are not long enough to handle worst-case scenarios so they need to be recalculated. The time to wait for the FIFO to drain past the low-watermark is now 20 ms because it can take around 14.35 ms to send 95 bytes (127 bytes in full FIFO minus 32 bytes where the low-watermark interrupt will fire). 95 bytes will take around 14.35 ms at 6.62 kbps (the lowest supported bit rate used by ISO/IEC 15693) so 20 ms should be a safe value. The time to wait before issuing an EOF to complete an ISO/IEC 15693 write or lock command is 40 ms-- 20 ms to drain the FIFO and another 20 ms to ensure the wait is long enough before sending an EOF. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4e64eff837fb682dfb2a1188fb036d75ec57375c Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:24 2014 -0700 NFC: trf7970a: Add RF technology specific guard times When turning on the RF field, the driver must wait an RF-technology-specific amount of time (known as the guard time) before modulating the field. Currently, the driver waits 5 ms but that is too short for NFCF and too long for ISO/IEC 15693. Fix this by determining the guard time when the RF technology is set and delaying that amount of time when turning on the RF field. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a08e54549e743ea3704da939f92caf3eaa8471d3 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:23 2014 -0700 NFC: trf7970a: Initialize when enabling RF Currently, the trf7970a is reset & initialized only when the pm_runtime resume hook is called. Instead, initialize it every time the RF is enabled to ensure that the trf7970a is quiesced and in a known state before being set up for another RF technology. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6c08df422ede7db94776b8099a5f43597629234c Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:22 2014 -0700 NFC: trf7970a: Disable SYS_CLK Output Currently, support for providing the external SYS_CLK signal on pin 27 is not supported so turn it off by writing to the 'Modulator and SYS_CLK Control' register immediately after reset. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 17b2151733ecdc96ee4fecdf5fae973b8cb0fea7 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:21 2014 -0700 NFC: trf7970a: Remove unnecessary sleep There is no need to sleep for 1-2 ms before transmitting a new command. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 1568bfef18a9150d83b0f91aa254cef7ebead4cd Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:20 2014 -0700 NFC: trf7970a: FIFO Size is really 127 bytes Despite what the manual says, the FIFO size on the trf7970a is really 127 bytes so make the code respect that. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 4542e8345af6076c87d036c7bd3f9dfa30768b1e Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:19 2014 -0700 NFC: trf7970a: Ignore Overflow bit in FIFO Status Register The Overflow bit in the 'FIFO Status Register' has proven to be untrustworthy so ignore it. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3e7f335689ebfa0a68814dfe9f0588076fb9ad01 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:18 2014 -0700 NFC: trf7970a: Use spi_sync() instead of spi_write_then_read() To more efficiently handle long continuous reads, use spi_sync() instead of spi_write_then_read(). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 24707296c762d1828c4a51aa1872dc275dc3fccc Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:17 2014 -0700 NFC: trf7970a: Call spi_setup() to configure SPI communication Call spi_setup() to configure SPI communication with the trf7970a. This will ensure that the correct SPI parameters are used. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cc8d7158644c439d946bfc65778a507b6f12b10d Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:16 2014 -0700 NFC: trf7970a: Remove trf7970a_tg_listen_mdaa() Currently, the digital layer 'tg_listen_mdaa' hook is not used and it isn't necessary to have a stub routine so remove it. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d3a6d33a7f72fa4d3bb0224da0839a5ca871d7a4 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Sep 2 15:12:15 2014 -0700 NFC: trf7970a: Remove incorrect of_node_put() call of_property_read_u32() does not take a reference to the specified OF node so don't call of_node_put() in trf7970a_get_autosuspend_delay(). Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit a42f5c17131103ec54a71dfb7e6bb7b3704686a1 Author: Tom Lendacky <thomas.lendacky@xxxxxxx> Date: Sun Sep 7 09:54:41 2014 -0500 amd-xgbe-phy: Fix build break for missing declaration A previous patch inadvertently deleted a declaration in the amd_xgbe_an_tx_training function causing the build to fail. Add the declaration for 'priv' back to the function. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d02fc738a9a9e6cddeed0bf00771286e22d52dee Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 19:25:26 2014 +0200 ARM: sun8i: Relicense the A23 DTSI under GPLv2/X11 The current GPL only licensing on the DTSI makes it very impractical for other software components licensed under another license. In order to make it easier for them to reuse our device trees, relicense our DTSI first under a GPL/X11 dual-license. Hopefully, the DTS will follow soon. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 394c56ce557b8ea7e74c7b2684a21f0dd434aae1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 19:25:26 2014 +0200 ARM: sun7i: Relicense the A20 DTSI under GPLv2/X11 The current GPL only licensing on the DTSI makes it very impractical for other software components licensed under another license. In order to make it easier for them to reuse our device trees, relicense our DTSI first under a GPL/X11 dual-license. Hopefully, the DTS will follow soon. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexander Bersenev <bay@xxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Carlo Caione <carlo@xxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Emilio López <emilio@xxxxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Oliver Schinagl <oliver@xxxxxxxxxxx> Acked-by: Roman Byshko <rbyshko@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6c3ba72415b15440ffc8085e502fbeca01dc2035 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 19:25:26 2014 +0200 ARM: sun6i: Relicense the A31 DTSI under GPLv2/X11 The current GPL only licensing on the DTSI makes it very impractical for other software components licensed under another license. In order to make it easier for them to reuse our device trees, relicense our DTSI first under a GPL/X11 dual-license. Hopefully, the DTS will follow soon. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Carlo Caione <carlo@xxxxxxxxxx> Acked-by: Chen-Yu Tsai <wens@xxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit e0f6429ecb0cc1d1cb39017135b658960e5b8417 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Sep 7 18:38:49 2014 +0800 regulator: bcm590xx: Remove unused **info field from struct bcm590xx_reg Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 192264e0a5473015df28f47241bcdbf6b8c24873 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Sep 7 18:34:51 2014 +0800 regulator: as3711: Remove unused fields from as3711_regulator_info and as3711_regulator The max_uV is not used, so remove it from struct as3711_regulator_info. Current code is using devm_regulator_register(), so we don't need to store *rdev in struct as3711_regulator for clean up. Also clean up AS3711_REG macro to remove _vshift, _min_uV and _max_uV arguments. _vshift is always 0, so remove it. _min_uV and _max_uV are not required, all required settings are set in REGULATOR_LINEAR_RANGE macro. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 177ef2a6315ea7bf173653182324e1dcd08ffeaa Author: xiaofeng.yan <xiaofeng.yan@xxxxxxxxxx> Date: Tue Aug 26 03:15:41 2014 +0000 sched/deadline: Fix a precision problem in the microseconds range An overrun could happen in function start_hrtick_dl() when a task with SCHED_DEADLINE runs in the microseconds range. For example, if a task with SCHED_DEADLINE has the following parameters: Task runtime deadline period P1 200us 500us 500us The deadline and period from task P1 are less than 1ms. In order to achieve microsecond precision, we need to enable HRTICK feature by the next command: PC#echo "HRTICK" > /sys/kernel/debug/sched_features PC#trace-cmd record -e sched_switch & PC#./schedtool -E -t 200000:500000:500000 -e ./test The binary test is in an endless while(1) loop here. Some pieces of trace.dat are as follows: <idle>-0 157.603157: sched_switch: :R ==> 2481:4294967295: test test-2481 157.603203: sched_switch: 2481:R ==> 0:120: swapper/2 <idle>-0 157.605657: sched_switch: :R ==> 2481:4294967295: test test-2481 157.608183: sched_switch: 2481:R ==> 2483:120: trace-cmd trace-cmd-2483 157.609656: sched_switch:2483:R==>2481:4294967295: test We can get the runtime of P1 from the information above: runtime = 157.608183 - 157.605657 runtime = 0.002526(2.526ms) The correct runtime should be less than or equal to 200us at some point. The problem is caused by a conditional judgment "delta > 10000" in function start_hrtick_dl(). Because no hrtimer start up to control the rest of runtime when the reset of runtime is less than 10us. So the process will continue to run until tick-period is coming. Move the code with the limit of the least time slice from hrtick_start_fair() to hrtick_start() because the EDF schedule class also needs this function in start_hrtick_dl(). To fix this problem, we call hrtimer_start() unconditionally in start_hrtick_dl(), and make sure the scheduling slice won't be smaller than 10us in hrtimer_start(). Signed-off-by: Xiaofeng Yan <xiaofeng.yan@xxxxxxxxxx> Reviewed-by: Li Zefan <lizefan@xxxxxxxxxx> Acked-by: Juri Lelli <juri.lelli@xxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409022941-5880-1-git-send-email-xiaofeng.yan@xxxxxxxxxx [ Massaged the changelog and the code. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8fa74ef2fc0b79c6ff15e6add51069b4ea14b1a9 Author: Loïc Pellegrino <oort10@xxxxxxxxx> Date: Thu Sep 4 19:28:50 2014 +0100 staging/lustre: Different prototypes between the declaration and the definition Align the prototype of lprocfs_wr_uint() in the declaration with the one used in the definition. The prototype is: int lprocfs_wr_uint(struct file *file, const char __user *buffer, unsigned long count, void *data) In obdclass/lprocfs_status.c But in lustre/include/lprocfs_status.h, the __user annotation is missing for the attribute buffer. The correct prototype is the first one (the definition) since: - This function is eventually called by the write() function pointer of an instance of struct file_operations - In this function, buffer is a parameter of copy_from_user() - Before the commit 73bb1da692d0dc3e93b9c9e29084d6a5dcbc37a6, the declaration and the definition had the same prototype, but only the .c has been updated. Correcting this will remove a sparse error and add sparse warnings. This is a task of the Eudyptula challenge. Signed-off-by: Loïc Pellegrino <oort10@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a08f0672b29659c5dcdbbe7fa136ab810292259 Author: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Date: Thu Sep 4 15:24:57 2014 +0200 staging: lustre: Annotate user buffer with __user Fix the warning reported by sparse on drivers/staging/lustre/lnet/lnet/router_proc.c warning: incorrect type in argument 4 (different address spaces) The correction is to annotate all user buffer variable by __user Signed-off-by: LABBE Corentin <clabbe.montjoie@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f60705fd13f2573b66872a55f4a18214a1cbced2 Author: Nicolas Thery <nthery@xxxxxxxxx> Date: Sat Sep 6 07:18:47 2014 +0200 staging: rtl8188eu: include missing header This patch fixes the following sparse warnings: drivers/staging/rtl8188eu/hal/phy.c:46:5: warning: symbol 'phy_query_bb_reg' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:56:6: warning: symbol 'phy_set_bb_reg' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:129:5: warning: symbol 'phy_query_rf_reg' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:140:6: warning: symbol 'phy_set_rf_reg' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:228:6: warning: symbol 'phy_set_tx_power_level' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:324:6: warning: symbol 'phy_set_bw_mode' was not declared. Should it be static? drivers/staging/rtl8188eu/hal/phy.c:360:6: warning: symbol 'phy_sw_chnl' was not declared. Should it be static? Signed-off-by: Nicolas Thery <nthery@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 354cefee8db6752de758ae13f69ba7422c242e30 Author: Andreas Schlick <ninox@xxxxxxxxxx> Date: Sat Sep 6 10:13:09 2014 +0200 staging: rtl8821ae: Fix sparse warning by making functions static. Signed-off-by: Andreas Schlick <ninox@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f11b38ca8b8f1ed6a70b518dabcb4cd96db8996 Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:15 2014 +0200 staging: goldfish: avoid multiple assignments Coding style: avoid multiple assignments Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2c50741597b60284c4142808429fa94f3e516c23 Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:14 2014 +0200 staging: goldfish: document mutex usage Coding style: document mutex usage Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f52e264e80e500a24f565d3cb4dc37ec6d1b289 Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:13 2014 +0200 staging: goldfish: fix alignment to match open parenthesis Coding style: fix alignment to match open parenthesis Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b61f085eb63bf1a304d7be5fc175cf478848bf2 Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:12 2014 +0200 staging: goldfish: document spinlock usage Coding style: document spinlock usage Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1977533a3f425cb9b7633d59e30459e048ce681f Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:11 2014 +0200 staging: goldfish: remove useless space after a cast Coding style: remove useless space after a cast Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1f21b0c8aceb02ffbc06f4b803387e8ccc22725a Author: Loic Pefferkorn <loic@xxxxxxxx> Date: Wed Sep 3 22:23:10 2014 +0200 staging: goldfish: suppress consecutive blank lines Coding style: suppress consecutive blank lines Signed-off-by: Loic Pefferkorn <loic@xxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba660d25b59a68dbc44634a9844705c86ee6a893 Author: MichaÅ? Bartoszkiewicz <mbartoszkiewicz@xxxxxxxxx> Date: Thu Sep 4 22:05:36 2014 +0200 staging: gs_fpgaboot: remove unnecessary return statements This fixes "void function return statements are not generally useful" warnings from checkpatch.pl. Signed-off-by: MichaÅ? Bartoszkiewicz <mbartoszkiewicz@xxxxxxxxx> Reviewed-by: Insop Song <insop.song@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c8c8315144a8f14d3e5d2f6ad2d9104eed5c7d7 Author: Thomas Gummerer <t.gummerer@xxxxxxxxx> Date: Fri Sep 5 17:09:34 2014 +0200 staging: xgifb: remove unnecessary else Signed-off-by: Thomas Gummerer <t.gummerer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 588a12d789e1a9b8193465c09f32024c0d43a849 Author: Filipe Gonçalves <filipe@xxxxxxxxxxxxxxxxx> Date: Fri Sep 5 05:09:46 2014 +0100 staging/lustre: Fixed checkpatch warning: Use #include <linux/statfs.h> instead of <asm/statfs.h> Signed-off-by: Filipe Gonçalves <filipe@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70c0ed98256a1b297029842b9e250dc9ec9bddd1 Author: Piotr Witoslawski <pwitos@xxxxxxxxx> Date: Thu Sep 4 08:18:53 2014 +0200 drivers: staging: dgap: fix the checkpatch.pl issue "Warning: line over 80 characters" Break lines exceeding 80 characters Signed-off-by: Piotr Witoslawski <pwitos@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63b742981f1908d38f72d3d126cb309b8e057c54 Author: Juston Li <juston.h.li@xxxxxxxxx> Date: Wed Sep 3 22:42:24 2014 -0700 staging: lustre: lmv: lmv_internal.h: fix checkpatch.pl spacing errors lmv_internal.h:96: ERROR: space prohibited after that open parenthesis '(' lmv_internal.h:96: ERROR: space required before the open parenthesis '(' lmv_internal.h:147: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Juston Li <juston.h.li@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0710bf3d306e6e9c62e705bfe26eaacfb7487b6f Author: Chaitra Ramaiah <linux.delve@xxxxxxxxx> Date: Thu Sep 4 20:41:03 2014 +0530 Staging: rtl8192u: fix brace style coding issue in r819xU_firmware.c Signed-off-by: Chaitra Ramaiah <linux.delve@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 708a7ec873d38f6ebd938b623d349b747152c052 Author: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Date: Wed Sep 3 08:28:21 2014 +0200 staging: rtl8188eu: fix missing blank lines after declarations Signed-off-by: Luca Ceresoli <luca@xxxxxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxx> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8b3bfffc410268ccae137a36f1aee6024a72332c Merge: 87d9430 c4c112f Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Sep 6 12:30:27 2014 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-09-06 This series contains updates to e1000 and igb. Krzysztof provides a patch to cleanup the coding style in e1000 to quiet checkpatch.pl warnings. Todd adds two boolean flags to igb to allow for changes in the advertised EEE speeds from ethtool. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 87d943085b76c6f07807dbc9fde2aad88e828590 Author: Neal Cardwell <ncardwell@xxxxxxxxxx> Date: Sat Sep 6 11:18:20 2014 -0400 tcp: remove obsolete comment about TCP_SKB_CB(skb)->when in tcp_fragment() The TCP_SKB_CB(skb)->when field no longer exists as of recent change 7faee5c0d514 ("tcp: remove TCP_SKB_CB(skb)->when"). And in any case, tcp_fragment() is called on already-transmitted packets from the __tcp_retransmit_skb() call site, so copying timestamps of any kind in this spot is quite sensible. Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Reported-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 86515b7de86443775cf5e821e52df4c0adf528ab Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Fri Aug 29 12:45:27 2014 +0900 power: charger-manager: Remove casting the return value which is a void pointer Casting the return value which is a void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit a8adcc9012d8502e06ba7b3f966bad8f2c58edc3 Author: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Date: Wed Aug 27 23:44:08 2014 +0530 power_supply: Add boot and calibration attributes Usually PMIC's come with coulomb counting mechanism which can be used to implement a Fuel Gauginig solution in Software itself. One of key input to these SW Fuel Gauge solutioons is the boot up parameters like boot voltage and boot current. This patch adds the VOLTAGE_BOOT and CURRENT_BOOT power supply attributes to report bootup voltage and current. This patch also adds CALIBRATE power supply attribute which useful is for calibrating the battery/coulomb counter. Signed-off-by: Ramakrishna Pallala <ramakrishna.pallala@xxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit b1022e247872dc87a6ffd6f9aa6a92e0b67cdf00 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Aug 26 13:41:39 2014 +0900 power: charger-manager: Check charging state right after completed initialization This patch check the charging state after completed initialization of charger- manager and update current charging state. If charger-manager never check and update current charging state, charger-manager would have the mismatch issue between real state of cable connection and the charging state of charger-manager until first polling time of charger-manager. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Myungjoo Ham <myungjoo.ham@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit c6738d06a363ac7010a5c3b54e2af1957852cc45 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Tue Aug 26 13:41:38 2014 +0900 power: charger-manager: Fix checking of wrong return type This patch fix minor issue about checking wrong return type. The of_cm_parse_desc() return ERR_PTR(errnor number) when some error happen in this function. But, charger_manager_probe() has only checked whether desc is NULL or not. If of_cm_parse_desc() returns ERR_PTR(-ENOMEM), desc isn't NULL but desc is (void *)(-ENOMEM). Althouhg some error happen for parsing DT, charger_manager_probe() can't detect error of desc instance. Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Myungjoo Ham <myungjoo.ham@xxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit d3ed534cca703b2aaeee9277a5b8063ae6eab1d1 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 24 19:36:29 2014 -0500 power/reset: xgene-reset: Fix prototype of xgene_restart() The xgene-reset driver uses xgene_restart() as arm_pm_restart() but that function should take an enum reset_type as the first argument rather than a char. Fix this; the paramter is not referenced in the implementation. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 4495b0adfb65a8eb9a5255b831f2160b6e583f3d Author: Simon Que <sque@xxxxxxxxxxxx> Date: Mon Aug 4 13:47:46 2014 +0200 sbs-battery: add min design voltage to sbs-battery sbs-battery has a max design voltage but not a min design voltage field. The SBS spec only has one design voltage: http://www.sbs-forum.org/specs/sbdat110.pdf Currently this is being used for max design voltage. This patch uses it for min design voltage as well. Signed-off-by: Simon Que <sque@xxxxxxxxxxxx> Reviewed-by: Simon Glass <sjg@xxxxxxxxxxxx> Reviewed-by: Todd Broch <tbroch@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 9ea89402e25edafb6ad8ec92848d12c1d5d3969f Author: Cheng-Yi Chiang <cychiang@xxxxxxxxxxxx> Date: Mon Aug 4 13:47:45 2014 +0200 sbs-battery: export manufacturer and model name to sysfs This CL supports two power_supply_property items for smart battery: POWER_SUPPLY_PROP_MANUFACTURER and POWER_SUPPLY_PROP_MODEL_NAME such that battery information 'manufacturer' and 'model_name' can be exported to sysfs. Signed-off-by: Cheng-Yi Chiang <cychiang@xxxxxxxxxxxx> Reviewed-by: Olof Johansson <olofj@xxxxxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Sebastian Reichel <sre@xxxxxxxxxx> commit 02024756e6ab3a3fcdc3b203552b16b345ebd97d Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Tue Sep 2 18:05:56 2014 +0530 ASoC: mfld: pcm: Replace pr_ with dev_ Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c5e417bc06ff8d8b3214675f38f362567f0cd22 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Sep 6 20:59:36 2014 +0800 regulator: hi6421: Fix misleading comment Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0634814fe0f29a46c44386a03f259f99c983bf7e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 20 13:08:49 2014 +0200 ASoC: Remove table based DAPM/control setup support from snd_soc_platform_driver There are no users left and new users should rather use the component_driver struct embedded in the snd_soc_platform_driver struct to do this. E.g.: static const struct snd_soc_platform_driver foobar_driver = { .component_driver = { .dapm_widgets = ..., .num_dapm_widgets = ..., ..., }, ... }; instead of static const struct snd_soc_platform_driver foobar_driver = { .dapm_widgets = ..., .num_dapm_widgets = ..., ... }; This also allows us to remove the steal_sibling_dai_widgets hack. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 923976a30b36ce0970e88f53ed2f2b5b61aeeb73 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 20 13:08:48 2014 +0200 ASoC: sst-haswell-pcm: Move controls and DAPM elements to component The sst-haswell-pcm driver registers both a snd_soc_component and a snd_soc_platform and expects that the DAPM widgets for the DAIs registered by component are added to the DAPM context of the platform. This requires us to have a hack in the ASoC core which does so. Moving the DAPM elements over to the component allows us to remove this hack. While we are at it also move the controls over to the component. The controls don't need the platform for anything other than snd_soc_platform_get_drvdata(), this can easily be replaced by snd_soc_component_get_drvdata(). As the long term goal is to register only a single component this is a step in the right direction. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bd033808e2b160bab61cfe18b0ecb4ccc7809516 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 20 13:08:47 2014 +0200 ASoC: sst-haswell-pcm: Alloc state struct in driver probe() Resource allocations should happen in driver probe callback rather than in snd_soc_platform probe functions. Especially if the resource is device managed. The snd_soc_* probe/remove functions are mainly intended to be used for things that require the component to be already bound to a card. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1ee0beb985e097aa07fa7feab4e11ecf251d763c Merge: 06cb1eb c815dbb Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 14:44:11 2014 +0100 Merge branch 'topic/component' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-intel commit c815dbb47758bd469927849fdd45fed3ce206e73 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Wed Aug 20 13:08:46 2014 +0200 ASoC: Add snd_soc_component_{get,set}_drvdata() Add Add snd_soc_component_{get,set}_drvdata() similar to snd_soc_codec_{get,set}_drvdata() and snd_soc_platform_{get,set}_drvdata(). Also update them to use the new functions internally. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Reviewed-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8d01370f59856a0ac5b222878667d52477b589f0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Sep 6 14:29:32 2014 +0200 ASoC: es8328: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bade5f09ca5bfd5a5f499a682509a9109472bca8 Merge: 75c3daa 85362ef Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 13:38:26 2014 +0100 Merge branch 'topic/suspend' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-es8328 commit e649057a41c24b4122e976746649e471709d4b16 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Sep 6 14:29:35 2014 +0200 ASoC: sgtl5000: Cleanup bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 35199a7c11d5f6a87a5b35dfd69fde3f65d37fac Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Sep 6 14:29:34 2014 +0200 ASoC: ml26124: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2a93f70925a56ae1629be8b46c3c6d502f98dded Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Sep 6 14:29:33 2014 +0200 ASoC: jz4740: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3d2c42d191a89ab35e3002309882e3b70fe12112 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Sep 6 14:29:31 2014 +0200 ASoC: 88pm860x-codec: Cleanup manual bias level transitions Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c4c112f1585fde3926976da8962ba84d342d8869 Author: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Date: Fri Aug 29 06:43:13 2014 +0000 igb: add flags to set eee advertisement mode Change e1000_set_eee and e1000_set_eee_i35(0|4) to allow changes in the advertised EEE speeds from ethtool. Adds two boolean flags to e1000_set_eee_i35(0|4) to pass in advertised speed data. Signed-off-by: Todd Fujinaka <todd.fujinaka@xxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 81baf9fe0243a4450d738676ccf99d325460c748 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 12:10:47 2014 +0100 regulator: tps65217: Remove spurious platform data check We should always be able to probe a regulator with no platform data. This will enable readback of current state, though no changes can be made to the device configuration. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dec38b5ce6a9edb406c60c2670b26a1a4262fdb9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Sep 6 01:11:12 2014 +0100 regulator: isl9305: Add Intersil ISL9305/H driver The ISL9305 and ISL9305H are mini-PMICs offering two DCDC regulators and two LDO regulators. While there are some register differences between them these do not affect the current Linux driver as the relevant features are not yet supported. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 887a79f4a8cce981bb74bf56e1ee25786f235e66 Author: Krzysztof Majzerowicz-Jaszcz <cristos@xxxxxxxxxxx> Date: Wed Aug 27 07:10:58 2014 +0000 e1000: e1000_ethertool.c coding style fixes Fixed many errors/warnings and checks in e1000_ethtool.c reported by checkpatch.pl. Suggestions from Joe Perches and Alexander Duyck applied as well Signed-off-by: Krzysztof Majzerowicz-Jaszcz <cristos@xxxxxxxxxxx> Tested-by: Aaron Brown <aaron.f.brown@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 196cf358422517b3ff3779c46a1f3e26fb084172 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sat Sep 6 10:12:19 2014 +0200 x86/tty/serial/8250: Clean up the asm/serial.h include file a bit - correct spelling - align fields vertically to make things more readable - make the layout of magic defines more obvious Cc: Mark Rustad <mark.d.rustad@xxxxxxxxx> Cc: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Link: http://lkml.kernel.org/r/1409972149-26272-1-git-send-email-jeffrey.t.kirsher@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9ea029f12aab2fa3f2913e67d17cc24801ba694e Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Fri Sep 5 19:55:49 2014 -0700 x86/tty/serial/8250: Resolve missing-field-initializers warnings Resolve some missing-field-initializers warnings by using designated initialization in the expansion of the SERIAL_PORT_DFNS macro. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Link: http://lkml.kernel.org/r/1409972149-26272-1-git-send-email-jeffrey.t.kirsher@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cfecec56ae7c7c40f23fbdac04acee027ca3bd66 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 5 18:29:45 2014 -0700 mlx4: only pull headers into skb head Use the new fancy eth_get_headlen() to pull exactly the headers into skb->head. This speeds up GRE traffic (or more generally tunneled traffuc), as GRO can aggregate up to 17 MSS per GRO packet instead of 8. (Pulling too much data was forcing GRO to keep 2 frags per MSS) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 126859b992c30915aba8d6768254212010f1b43c Author: Colin Ian King <colin.king@xxxxxxxxxxxxx> Date: Fri Sep 5 14:26:11 2014 +0100 mISDN: remove DSP_NEVER_DEFINED and adjust code identation The DSP_NEVER_DEFINED #ifdef is confusing, it slips in an extra } which is not required because the previous code is indented incorrectly. Correct the identation and remove the extraneous DSP_NEVER_DEFINED Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cea6aeb6979f6409cacd6900d237cb4ed39fd6d2 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Fri Sep 5 11:36:34 2014 +0200 bonding: add slave netlink policy and put slave-related ops together Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fb0eee2f141976b5d7f31e477a71556d312f7dc3 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Aug 27 13:36:51 2014 +0900 clocksource: sh_tmu: Document r8a7779 binding In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to update the Renesas R-Car Timer Unit (TMU) driver to follow this convention. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> --- * I plan to follow up with a patch patch to use the new binding in the dtsi files for the r8a7779 SoC. commit 471269b790aec03385dc4fb127ed7094ff83c16d v2 * Suggestions by Mark Rutland and Sergei Shtylyov - Compatible strings should be "one or more" not "one" of those listed - Describe the generic binding as covering any MTU2 device - Re-order compat strings from most to least specific v3 * Suggested by Laurent Pinchart - Reword in keeping with a similar though more extensive patch for CMT commit ffd24a543afe4c693d5c611ecfa01cc48e97f97d Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Aug 27 13:36:51 2014 +0900 clocksource: sh_mtu2: Document r7s72100 binding In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to update the Renesas R-Car Multi-Function Timer Pulse Unit 2 (MTU2) driver to follow this convention. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> --- * I plan to follow up with a patch patch to use the new binding in the dtsi files for the r7s72100 SoC. v2 * Suggestions by Mark Rutland and Sergei Shtylyov - Compatible strings should be "one or more" not "one" of those listed - Describe the generic binding as covering any MTU2 device - Re-order compat strings from most to least specific v3 * Suggested by Laurent Pinchart - Reword compat documentation for consistency with a more extensive CMT change commit 01fe3aaa3abd3379788173e0017a6299b5b438db Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Aug 27 13:36:51 2014 +0900 clocksource: sh_cmt: Document SoC specific bindings In general Renesas hardware is not documented to the extent where the relationship between IP blocks on different SoCs can be assumed although they may appear to operate the same way. Furthermore the documentation typically does not specify a version for individual IP blocks. For these reasons a convention of using the SoC name in place of a version and providing SoC-specific compat strings has been adopted. Although not universally liked this convention is used in the bindings for a number of drivers for Renesas hardware. The purpose of this patch is to update the Renesas R-Car Compare Match Timer (CMT) driver to follow this convention. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> --- * I plan to follow up with patches to use these new bindings in the dtsi files for the affected SoCs. v2 * Reorder compat entries so more-specific entries and their fallbacks are grouped with the fallback entry coming last. * Explicitly document fallback v3 * Avoid circular dependency in documentation of fallback behaviour of renesas,cmt-48-gen2 * Use consistent case for SoC names in compat string descriptions commit 3aff50170a37d032c86d10c1815e875e8af0aa1a Merge: 2ba3894 7faee5c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 17:49:39 2014 -0700 Merge branch 'tcp' Eric Dumazet says: ==================== tcp: deduplicate TCP_SKB_CB(skb)->when TCP_SKB_CB(skb)->when has different meaning in output and input paths. In output path, it contains a timestamp. In input path, it contains an ISN, chosen by tcp_timewait_state_process() Its usage in output path is obsolete after usec timestamping. Lets simplify and clean this. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7faee5c0d514162853a343d93e4a0b6bb8bfec21 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 5 15:33:33 2014 -0700 tcp: remove TCP_SKB_CB(skb)->when After commit 740b0f1841f6 ("tcp: switch rtt estimations to usec resolution"), we no longer need to maintain timestamps in two different fields. TCP_SKB_CB(skb)->when can be removed, as same information sits in skb_mstamp.stamp_jiffies Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04317dafd11dd7b0ec19b85f098414abae6ed5f7 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Sep 5 15:33:32 2014 -0700 tcp: introduce TCP_SKB_CB(skb)->tcp_tw_isn TCP_SKB_CB(skb)->when has different meaning in output and input paths. In output path, it contains a timestamp. In input path, it contains an ISN, chosen by tcp_timewait_state_process() Lets add a different name to ease code comprehension. Note that 'when' field will disappear in following patch, as skb_mstamp already contains timestamp, the anonymous union will promptly disappear as well. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ba38943ba190eb6a494262003e23187d1b40fb4 Merge: 2c048e6 8496e33 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 17:47:12 2014 -0700 Merge branch 'eth_get_headlen' Alexander Duyck says: ==================== net: Drop get_headlen functions in favor of generic function This series replaces the igb_get_headlen and ixgbe_get_headlen functions with a generic function named eth_get_headlen. I have done some performance testing on ixgbe with 258 byte frames since the calls are only used on frames larger than 256 bytes and have seen no significant difference in CPU utilization. v2: renamed __skb_get_poff to skb_get_poff renamed ___skb_get_poff to __skb_get_poff ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8496e3382e33ef0b6862e07aaf4025420223232e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Sep 5 19:22:18 2014 -0400 ixgbe: use new eth_get_headlen interface Update ixgbe to drop the ixgbe_get_headlen function in favor of eth_get_headlen. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 24cd23d3d2e3966bc48a535cacc92356715b50c0 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Sep 5 19:20:43 2014 -0400 igb: use new eth_get_headlen interface Update igb to drop the igb_get_headlen function in favor of eth_get_headlen. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56193d1bce2b2759cb4bdcc00cd05544894a0c90 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Fri Sep 5 19:20:26 2014 -0400 net: Add function for parsing the header length out of linear ethernet frames This patch updates some of the flow_dissector api so that it can be used to parse the length of ethernet buffers stored in fragments. Most of the changes needed were to __skb_get_poff as it needed to be updated to support sending a linear buffer instead of a skb. I have split __skb_get_poff into two functions, the first is skb_get_poff and it retains the functionality of the original __skb_get_poff. The other function is __skb_get_poff which now works much like __skb_flow_dissect in relation to skb_flow_dissect in that it provides the same functionality but works with just a data buffer and hlen instead of needing an skb. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2c048e646212f9880e6f201771a30daa963d7f8b Merge: d546c62 82eabd9 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 17:43:54 2014 -0700 Merge branch 'timestamping' Alexander Duyck says: ==================== This change makes it so that the core path for the phy timestamping logic is shared between skb_tx_tstamp and skb_complete_tx_timestamp. In addition it provides a means of using the same skb clone type path in non phy timestamping drivers. The main motivation for this is to enable non-phy drivers to be able to manipulate tx timestamp skbs for such things as putting them in lists or setting aside buffer in the context block. v2: Incorporated suggested changes from Willem de Bruijn and Eric Dumazet dropped uneeded comment restored order of hwtstamp vs swtstamp added destructor for skb Dropped usage of skb_complete_tx_timestamp as a kfree_skb w/ destructor v3: Updated destructor handling and dealt with socket reference counting issues v4: Split out combining destructors into a separate patch ==================== commit 82eabd9eb2ec1603282a2c3f74dfcb6fe0aaea0e Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Thu Sep 4 13:32:11 2014 -0400 net: merge cases where sock_efree and sock_edemux are the same function Since sock_efree and sock_demux are essentially the same code for non-TCP sockets and the case where CONFIG_INET is not defined we can combine the code or replace the call to sock_edemux in several spots. As a result we can avoid a bit of unnecessary code or code duplication. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 62bccb8cdb69051b95a55ab0c489e3cab261c8ef Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Thu Sep 4 13:31:35 2014 -0400 net-timestamp: Make the clone operation stand-alone from phy timestamping The phy timestamping takes a different path than the regular timestamping does in that it will create a clone first so that the packets needing to be timestamped can be placed in a queue, or the context block could be used. In order to support these use cases I am pulling the core of the code out so it can be used in other drivers beyond just phy devices. In addition I have added a destructor named sock_efree which is meant to provide a simple way for dropping the reference to skb exceptions that aren't part of either the receive or send windows for the socket, and I have removed some duplication in spots where this destructor could be used in place of sock_edemux. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 37846ef0188335e49f2491a5bbf4e0dc7d407ea0 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Thu Sep 4 13:31:10 2014 -0400 net-timestamp: Merge shared code between phy and regular timestamping This change merges the shared bits that exist between skb_tx_tstamp and skb_complete_tx_timestamp. By doing this we can avoid the two diverging as there were already changes pushed into skb_tx_tstamp that hadn't made it into the other function. In addition this resolves issues with the fact that skb_complete_tx_timestamp was included in linux/skbuff.h even though it was only compiled in if phy timestamping was enabled. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d546c621542df9e45eedc91f35356e887ac63b7b Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Thu Sep 4 08:21:31 2014 -0700 ipv4: harden fnhe_hashfun() Lets make this hash function a bit secure, as ICMP attacks are still in the wild. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18a47e6d8af01db1b691802a6bb8eae73d83ad9e Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Thu Sep 4 10:15:45 2014 -0400 net-timestamp: fix allocation error in test A buffer is incorrectly zeroed to the length of the pointer. If cfg_payload_len < sizeof(void *) this can overwrites unrelated memory. The buffer contents are never read, so no need to zero. Fixes: 8fe2f761cae9 ("net-timestamp: expand documentation") Reported-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b1c849276b5e199f94501101c07ee9cb6ced4935 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Sep 4 14:11:23 2014 +0300 hyperv: NULL dereference on error We try to call free_netvsc_device(net_device) when "net_device" is NULL. It leads to an Oops. Fixes: f90251c8a6d0 ('hyperv: Increase the buffer length for netvsc_channel_cb()') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a77f9a282a2290526a6239b17ef822ec75ac793c Merge: c2b32e5 aac2f1b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 17:21:06 2014 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-09-04 This series contains updates to i40e, i40evf, ixgbe and ixgbevf. Catherine adds dual speed module support to i40e. Updates i40e to allow the user to change link settings when the link is down. Serey renames i40e_ndo_set_vf_spoofck() to i40e_ndo_set_vf_spookchk() to be more consistent with what is defined in netdev and removes a unnecessary variable assignment. Jesse makes a malicious driver detection warning only print if extended driver string is enabled for i40e. Fixes a panic under traffic load when resetting or if/whenever there was a Tx-timeout because we were enabling the Tx queue to early. Anjali fixes an issue when PF reset fails, where we were trying to restart the admin queue which has not been setup at that point. This resolves an occasional kernel panic when PF reset fails for some reason. Ethan Zhao replaces the use of a local i40e_vfs_are_assigned() with the global kernel pci_vfs_assigned() for i40e. Alex cleans up the FDB handling for ixgbe. This change makes it so that the behavior for FDB handling is consistent between both the SR-IOV and non-SR-IOV cases. The main change is that we perform bounds checking on the number of SR-IOV addresses regardless of if SR-IOV is enabled or not as we can only support a certain number of addresses in the hardware. Emil extends the pending Tx work check to the VF interfaces, where the driver initiates a reset of the interface on link loss with pending Tx work in order to clear the rings. Introduces a delay for 82599 VFs of at least 500 usecs to make sure the VFLINKS value is correct, since this bit tends to flap when a DA or SFP+ cable is disconnected. Jacob adds code comments in ixgbe to make it more obvious that we are resetting features based on the fact that we do not have MSI-X enabled, and cannot use the previous settings. Also resolves a kernel NULL pointer dereference by limiting the combined total of MACVLAN and SR-IOV VFs, since the hardware has a limited number of pools available (64). Previously, no checks were in place to limit the number of accelerated MACVLAN devices based on the number of pools, which would be ok since there was already a limit for these well below the number of available pools. However, SR-IOV uses the very same pools, therefore we need to ensure that the total number of pools does not exceed the number of pools available in the hardware. v2: - clean up code comment in patch 5 by replacing "an" with "auto negotiation" based on feedback from Sergei Shtylyov - removed un-necessary parenthesis around function call in patch 8 based on feedback from Sergei Shtylyov ==================== commit c2b32e580ccc574cf353661ee6d900947e9fdf28 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Thu Sep 4 09:00:23 2014 +0200 net: ethernet: cpsw: improve interrupt lookup logic in cpsw_probe() Simplify the interrupt resource lookup code in cpsw_probe() by the following: * Only look at the first member of the resource. As the driver only works for DT-enabled platforms anyway, a resource of type IORESOURCE_IRQ will only contain one single entry (res->start == res->end), so there is no need for the iteration. * Add a bounds check to avoid overflows if we are passed more than ARRAY_SIZE(priv->irqs_table) resources. * Assign 'ret' with the return value of devm_request_irq() so that cpsw_probe() returns the appropriate error code. * If devm_request_irq() fails, report the error code in the log message. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Acked-by: Mugunthan V N <mugunthanvnm@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit caa415270c732505240bb60171c44a7838c555e8 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Wed Sep 3 22:21:56 2014 -0700 ipv4: fix a race in update_or_create_fnhe() nh_exceptions is effectively used under rcu, but lacks proper barriers. Between kzalloc() and setting of nh->nh_exceptions(), we need a proper memory barrier. Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Fixes: 4895c771c7f00 ("ipv4: Add FIB nexthop exceptions.") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit adf70fc087b1750c3792cd56abc6a45e49bb3a11 Author: Pratyush Anand <pratyush.anand@xxxxxx> Date: Fri Sep 5 17:48:54 2014 -0600 PCI: designware: Fold struct pcie_port_info into struct pcie_port The struct pcie_port_info doesn't contain any exclusive information compared to other elements of struct pcie_port. So, keeping a separate structure does not seem very logical. Therefore remove this struct and embed its elements directly into struct pcie_port. Signed-off-by: Pratyush Anand <pratyush.anand@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit 29abe2fda54f8e16ecff5d76d96325f31508d5ba Author: Andy Zhou <azhou@xxxxxxxxxx> Date: Wed Sep 3 13:16:54 2014 -0700 l2tp: fix missing line continuation This syntax error was covered by L2TP_REFCNT_DEBUG not being set by default. Signed-off-by: Andy Zhou <azhou@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f35d2a5f8df97010ced72845f204545f215a2a2d Merge: e4cf0b7 b73c798 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 15:11:25 2014 -0700 Merge branch 'amd-xgbe-next' Tom Lendacky says: ==================== amd-xgbe: AMD XGBE driver updates 2014-09-03 The following series of patches includes fixes/updates to the driver. - Query the device for the actual speed mode (KR/KX) rather than trying to track it - Update parallel detection logic to support KR mode - Fix new warnings from checkpatch in the amd-xgbe and amd-xgbe-phy driver This patch series is based on net-next. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b73c798b1709e70c8a845228ef07d92c25bd8d6b Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 3 12:14:39 2014 -0500 amd-xgbe-phy: Checkpatch driver fixes This patch contains fixes identified by checkpatch when run with the strict option. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2ea14d7724e5fc1e5ba187fb47f24dfb8c0f381 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 3 12:14:33 2014 -0500 amd-xgbe: Checkpatch driver fixes This patch contains fixes identified by checkpatch when run with the strict option. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e6f0562ff42967a21708acc963ae12059d1d13e3 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 3 12:14:22 2014 -0500 amd-xgbe-phy: Enhance parallel detection to support KR speed Add support to allow parallel detection to work in KR speed. With both speed modes of KX and KR supported, KX must be checked first. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e3eec4e79322957d9408dc4e2cf7276c558999d7 Author: Lendacky, Thomas <Thomas.Lendacky@xxxxxxx> Date: Wed Sep 3 12:14:16 2014 -0500 amd-xgbe-phy: Check device for current speed mode (KR/KX) Since device resets can change the current mode it's possible to think the device is in a different mode than it actually is. Rather than trying to determine every place that is needed to set/save the current mode, be safe and check the devices actual mode when needed rather than trying to track it. Signed-off-by: Tom Lendacky <thomas.lendacky@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b7f509d4585210ef062051e8949b1efe3256f14 Merge: 640b321 684284b Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:46:24 2014 +0200 Merge tag 'integrator-for-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into next/soc Merge "single Integrator patch" from Linus Walleij: This sets up the dynamically detected IM-PD1 GPIO lines by way of GPIO descriptors, avoiding any use of the GPIO global numberspace. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'integrator-for-v3.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator: ARM: integrator: add MMCI device to IM-PD1 commit 640b321aba4b880dfa517a047ef6ccee0a437c3d Merge: 013c5b4 8de078f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:45:57 2014 +0200 Merge tag 'renesas-clk-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Clk Updates for v3.18" from Simon Horman: * Add r8a7794 support Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-clk-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: clk: shmobile: Add r8a7794 support commit facdb3dd378e81b8516a8faa061e0be56d2ae7be Merge: d62584f 3f52669 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:33:13 2014 +0200 Merge tag 'davinci-for-v3.18/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/dt Pull "DT additions for DA850" from Sekhar Nori: Adds EDMA and audio support Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'davinci-for-v3.18/dt' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: DTS: da850-evm: Enable audio via simple-card ARM: DTS: da850-evm: Add node for tlv320aic3106 codec ARM: DTS: da850-evm: Enable McASP via DT boot ARM: DTS: da850: Add node for McASP ARM: DTS: da850: Add node for edma0 ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for mcasp0 commit 85ff58a3be610ca567a78c5d4e45ddd2e89088db Merge: b509b5e 7cc5f27 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:29:46 2014 +0200 Merge tag 'at91-defconfig' of git://github.com/at91linux/linux-at91 into next/defconfig Pull "First batch of AT91 defconfig update for 3.18" from Nicolas Ferre: - a dependency needed for SPI flash - enable sound on DT platforms - cleanup of current defconfigs: - addition of new PWM subsystem and related drivers - addition of ADC/touchscreen, watchdog or USB depending on the SoC - addition of power/reset drivers activated during this development cycle - removal of obsolete config options Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-defconfig' of git://github.com/at91linux/linux-at91: ARM: at91: sama5: update defconfig ARM: at91: at91sam9rl: update defconfig ARM: at91: at91sam9g45: update defconfig ARM: at91: at91sam9263: update defconfig ARM: at91: at91sam9261_9g10: update defconfig ARM: at91: at91sam9260_9g20: update defconfig ARM: at91: at91_dt: update defconfig ARM: at91/sama5_defconfig: enable sound support ARM: at91/at91_dt_defconfig: enable sound support ARM: at91: add MTD_SPI_NOR (new dependency for M25P80) commit d62584f3c7e7edf26512cbfe5d1723ef3fb739cd Merge: 046ed3c 5f81573 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:28:00 2014 +0200 Merge tag 'at91-dt2' of git://github.com/at91linux/linux-at91 into next/dt Pull "Second batch of AT91 DT patches for 3.18" from Nicolas Ferre: - 2 little fixes for at91sam9x5 and at91sam9n12ek - removal of a board specific hook for sama5d3xek about phy fixup replaced with proper DT property definition. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-dt2' of git://github.com/at91linux/linux-at91: ARM: at91: remove phy fixup for sama5d3xek boards ARM: at91/dt: describe rgmii ethernet phy connected to sama5d3xek boards ARM: at91/dt: sam9n12ek: ohci: add port and vbus property ARM: at91/dt: sam9x5: fix ADC compatible string commit 6ce041aba36c6f4702cd4f6efb7af3ceb3eb9e35 Merge: 52addcf 405a72c Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:26:40 2014 +0200 Merge tag 'at91-drivers' of git://github.com/at91linux/linux-at91 into next/drivers Merge "First batch of AT91 drivers for 3.18" from Nicolas Ferre: - reset, poweroff and ram drivers are moved to their proper location instead of being in mach-at91 directory. They now use the appropriate frameworks. - big amount of removal of these machine specific drivers and use of the newly created drivers. This lead to an overhaul of the setup.c AT91 startup code. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-drivers' of git://github.com/at91linux/linux-at91: (31 commits) power: reset: at91-poweroff: fix wakeup status register index ARM: at91/power/reset: fix Kconfig "depends on" directive ARM: at91: fix ramc standby function registration ARM: at91: Remove rstc and shdwc headers ARM: at91: Remove rstc and shdwnc global base addresses ARM: at91/pm: Remove show_reset_status function ARM: at91: Remove poweroff code ARM: at91: Register the poweroff driver ARM: at91: Remove poweroff DT probing ARM: at91: Remove reset code from the machine code ARM: at91: Call at91_register_devices in the board files ARM: at91: Probe the reset driver ARM: at91/soc: Introduce register_devices callback ARM: at91: Remove the old-style reset probing ARM: at91: Rework ramc mapping code ARM: at91: setup: Switch to pr_fmt ARM: at91: remove old irq material ARM: at91: make use of the new AIC driver for dt enabled boards ARM: at91: enclose at91_aic_xx calls in IS_ENABLED(CONFIG_OLD_IRQ_AT91) blocks ARM: at91: introduce OLD_IRQ_AT91 Kconfig option ... commit 046ed3cc8886cd7f5e06cfa22e9d7c3e30873a1e Merge: d5f97a2 464d6e1 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:24:48 2014 +0200 Merge tag 'at91-dt' of git://github.com/at91linux/linux-at91 into next/dt Merge "First batch of AT91 DT material for 3.18" from Nicolas Ferre: - RAM controller rework for multiple controller SoCs - shutdown controller addtion Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-dt' of git://github.com/at91linux/linux-at91: ARM: at91/dt: sama5d3: Add shutdown controller ARM: at91/dt: Declare a second ram controller when relevant ARM: at91/dt: at91sam9: use ddrck in ramc ARM: at91/dt: sama5d3: define mpddr clock and ramc clocks commit 32dc5ca0c10c859e0e4fcc457e7c0a0c2c4b15ae Merge: 184df9d 2626063 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 22:20:07 2014 +0200 Merge tag 'at91-cleanup' of git://github.com/at91linux/linux-at91 into next/cleanup Merge "at91: cleanup for 3.18" from Nicolas Ferre: First batch of AT91 cleanup for 3.18: Following the merge of AIC/AIC5 code as standard irqchip drivers during early 3.17 merge window, we can use these drivers for AT91 DT-enabled chips and boards. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'at91-cleanup' of git://github.com/at91linux/linux-at91: ARM: at91: remove old irq material ARM: at91: make use of the new AIC driver for dt enabled boards ARM: at91: enclose at91_aic_xx calls in IS_ENABLED(CONFIG_OLD_IRQ_AT91) blocks ARM: at91: introduce OLD_IRQ_AT91 Kconfig option commit e4cf0b756c78e252b989b86e281ecc12d40bd2f6 Merge: b52b727 179bb6d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 12:17:39 2014 -0700 Merge branch 'r8152-next' Hayes Wang says: ==================== r8152: random MAC address If the interface has invalid MAC address, it couldn't be used. In order to let it work normally, give a random one. v3: Remove ether_addr_copy(dev->perm_addr, dev->dev_addr); v2: Use "%pM" format specifier for printing a MAC address. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 179bb6d7f0387102317005e131d3676e239878f5 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Sep 4 16:15:42 2014 +0800 r8152: use eth_hw_addr_random If the hw doesn't have a valid MAC address, give a random one and set it to the hw. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8ba789ab13157c82dbdbd4215eac42660a384646 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Sep 4 16:15:41 2014 +0800 r8152: change the location of rtl8152_set_mac_address Exchange the location of rtl8152_set_mac_address() and set_ethernet_addr(). Then, the set_ethernet_addr() could set the MAC address by calling rtl8152_set_mac_address() later. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b52b727594f0a1433039e7afe389d07075152548 Merge: e020836 d4ad30b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Sep 5 12:12:32 2014 -0700 Merge branch 'rx_copybreak' Govindarajulu Varadarajan says: ==================== enic: Add support for rx_copybreak The following series implements rx_copybreak. dma_map_single()/dma_unmap_single() is more expensive than alloc_skb & memcpy for smaller packets. By doing this we can reuse the dma buff which is already mapped. This is very useful when iommu is on. The default skb copybreak value is 256. When iommu is on, we can go much higher than 256. All the drivers that supports rx_copybreak provides module parameter to change this value. Since module parameter is the least preferred way for changing driver values, this series adds ethtool support for setting rx_copybreak. v4: Validate tunable length in ethtool_get_tunable, not in driver implemented function. Loose tunable_ops array for each tunable type. Define one function and let the driver use switch case for each type. Use double underscore for data type in UAPI headers. Use const qualifier where possible. v3: Add tunable namespace to ethtool. Use new ethtool cmd ETHTOOL_S/GTUNABLE to set/get rx_copybreak from userspace. v2: Add new ethtool_cmd for DMA buffer parameters, instead of adding new members to existing ethtool_ringparam. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4ad30b182305ecf97f145a5d4d1fd9e728c6d01 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Wed Sep 3 03:17:21 2014 +0530 enic: Add tunable_ops support for rx_copybreak This patch adds support for setting/getting rx_copybreak using generic ethtool tunable. Defines enic_get_tunable() & enic_set_tunable() to get/set rx_copybreak. As of now, these two function supports only rx_copybreak. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f0db9b073415848709dd59a6394969882f517da9 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Wed Sep 3 03:17:20 2014 +0530 ethtool: Add generic options for tunables This patch adds new ethtool cmd, ETHTOOL_GTUNABLE & ETHTOOL_STUNABLE for getting tunable values from driver. Add get_tunable and set_tunable to ethtool_ops. Driver implements these functions for getting/setting tunable value. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a03bb56e67c357980dae886683733dab5583dc14 Author: Govindarajulu Varadarajan <_govind@xxxxxxx> Date: Wed Sep 3 03:17:19 2014 +0530 enic: implement rx_copybreak Calling dma_map_single()/dma_unmap_single() is quite expensive compared to copying a small packet. So let's copy short frames and keep the buffers mapped. Signed-off-by: Govindarajulu Varadarajan <_govind@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e020836d953eb1ce5b9221b32f4613646a4d5772 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Tue Sep 2 23:30:05 2014 +0200 dev_ioctl: remove dev_load() CAP_SYS_MODULE message Marcel reported to see the following message when autoloading is being triggered when adding nlmon device: Loading kernel module for a network device with CAP_SYS_MODULE (deprecated). Use CAP_NET_ADMIN and alias netdev-nlmon instead. This false-positive happens despite with having correct capabilities set, e.g. through issuing `ip link del dev nlmon` more than once on a valid device with name nlmon, but Marcel has also seen it on creation time when no nlmon module is previously compiled-in or loaded as module and the device name equals a link type name (e.g. nlmon, vxlan, team). Stephen says: The netdev module alias is a hold over from the past. For normal devices, people used to create a alias eth0 to and point it to the type of network device used, that was back in the bad old ISA days before real discovery. Also, the tunnels create module alias for the control device and ip used to use this to autoload the tunnel device. The message is bogus and should just be removed, I also see it in a couple of other cases where tap devices are renamed for other usese. As mentioned in 8909c9ad8ff0 ("net: don't allow CAP_NET_ADMIN to load non-netdev kernel modules"), we nevertheless still might want to leave the old autoloading behaviour in place as it could break old scripts, so for now, lets just remove the log message as Stephen suggests. Reference: http://thread.gmane.org/gmane.linux.kernel/1105168 Reported-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Suggested-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Vasiliy Kulikov <segoon@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 60a3b2253c413cf601783b070507d7dd6620c954 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Tue Sep 2 22:53:44 2014 +0200 net: bpf: make eBPF interpreter images read-only With eBPF getting more extended and exposure to user space is on it's way, hardening the memory range the interpreter uses to steer its command flow seems appropriate. This patch moves the to be interpreted bytecode to read-only pages. In case we execute a corrupted BPF interpreter image for some reason e.g. caused by an attacker which got past a verifier stage, it would not only provide arbitrary read/write memory access but arbitrary function calls as well. After setting up the BPF interpreter image, its contents do not change until destruction time, thus we can setup the image on immutable made pages in order to mitigate modifications to that code. The idea is derived from commit 314beb9bcabf ("x86: bpf_jit_comp: secure bpf jit against spraying attacks"). This is possible because bpf_prog is not part of sk_filter anymore. After setup bpf_prog cannot be altered during its life-time. This prevents any modifications to the entire bpf_prog structure (incl. function/JIT image pointer). Every eBPF program (including classic BPF that are migrated) have to call bpf_prog_select_runtime() to select either interpreter or a JIT image as a last setup step, and they all are being freed via bpf_prog_free(), including non-JIT. Therefore, we can easily integrate this into the eBPF life-time, plus since we directly allocate a bpf_prog, we have no performance penalty. Tested with seccomp and test_bpf testsuite in JIT/non-JIT mode and manual inspection of kernel_page_tables. Brad Spengler proposed the same idea via Twitter during development of this patch. Joint work with Hannes Frederic Sowa. Suggested-by: Brad Spengler <spender@xxxxxxxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Acked-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3fce0e882f61513c45c67e15bd0fde03341b58a5 Author: Tim Harvey <tharvey@xxxxxxxxxxxxx> Date: Thu Aug 7 23:36:40 2014 -0700 PCI: imx6: Delay enabling reference clock for SS until it stabilizes According to the IMX6 reference manuals, REF_SSP_EN (Reference clock enable for SS function) must remain deasserted until the reference clock is running at the appropriate frequency. Delay enabling the reference clock for the SS function until it has stabilized. This prevents a high link failure rate (>5%) on certain IMX6 boards at various temperatures. [bhelgaas: reword changelog slightly] Tested-by: Fabio Estevam <festevam@xxxxxxxxx> Signed-off-by: Tim Harvey <tharvey@xxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Marek Vasut <marex@xxxxxxx> Acked-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> commit 6dbaff2bfb2ab0cf5590b193ca6ba52b8990a919 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Wed Sep 3 09:42:06 2014 -0600 ARM: tegra: rely on bootloader pinmux programming on Tegra124 The defined mechanism for programming the Tegra pinmux is to perform all of the following at once in order, before using any I/O controller that is affected by the pinmux: - Set the CLAMP_INPUTS_WHEN_TRISTATED PMC register bit. - Set up any GPIO pins to their "initial" state. - Program all pinmux settings in one go. Other methods such as: - Not setting CLAMP_INPUTS_WHEN_TRISTATED. - Not setting GPIOs to their "initial" state before programming the pinmux settings of the related pin, in particular the mux function. - Not programming the entire pinmux at once, in order to avoid possible conflicting settings. ... are not qualified or supported by NVIDIA ASIC/syseng. They could cause glitches or undesired output levels on some pins, or controller malfunction. While we've been getting away with doing something different on many Tegra boards without issue, I believe we've just been getting lucky. I'd like to switch all Tegra124 systems to the correct scheme now so they provide the right example to follow, and require that any new boards we support upstream work in the same fashion. While it would be nice to update boards containing older SoCs for consistency, I don't anticipate doing so. It's too much churn to change at this time. At least with all Tegra124 boards converted, the most recent boards provide the correct example. Since the bootloader needs to reprogram the pinmux to access certain peripherals, it must program the entire pinmux due to the supported rules above. As such, there is no need to program any part of the pinmux from the kernel, unless dynamic pinmuxing is used. Given this, we couuld simply remove the pinmux "default" state from the DT entirely. However, some bootloaders parse the DT to perform their initial pinmux setup, so it's useful to keep the pinmux data in DT. To allow this while avoiding redundant work in the kernel, rename the "default" state to "boot". The kernel won't apply this, but bootloaders can still look for this state name and apply it. Note however that the DT provides zero information about the required initial GPIO setup, so bootloaders using this approach are not likely to operate correctly without an additional GPIO initialization table somewhere. Previous discussions on the DT mailing list have rejected adding such a table to DT... The following U-Boot commits fully initialize the pinmux: Jetson TK1: 4ff213b8e478 ARM: tegra: clamp inputs on Jetson TK1 Venice2: 3365479ce78a ARM: tegra: Venice2 pinmux spreadsheet updates Both are part of U-Boot v2014.07 and later. Without those commits, the only fallout I see from this change is that HDMI on Venice2 no longer works. Given the very small user-base of this platform, I feel that requiring a bootloader update is reasonable. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit eb481f9ac95cc9350436311036e3a513e1993430 Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Thu Sep 4 15:20:35 2014 -0700 ARM: tegra: add Acer Chromebook 13 device tree The Acer Chromebook 13, codenamed Big, contains an NVIDIA tegra124 processor and is similar to the Venice2 reference platform. The keyboard, USB 2, audio, sdcard and emmc have been tested and work on the 1366x768 models. The Full HD models haven't been tested yet. WiFi does not yet work, it needs at least some PMIC changes to enable the 32k clock. The elan trackpad is not yet functional but hopefully will be soon as there are patches under review. There is also an issue on reboot because the TPM isn't reset. It will cause the stock firmware to enter recovery mode. This can be worked around by an EC-reset, press the refresh and power keys at the same time. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit edfbad068bde82ef228c551569ae4eabeacaf9a6 Author: Dylan Reid <dgreid@xxxxxxxxxxxx> Date: Thu Sep 4 15:20:34 2014 -0700 ARM: tegra: Move pwm and dpaux labels to tegra124.dtsi These labels will be used by other boards in addition to Venice2, move them to tegra124.dtsi so they are defined in a common place. Signed-off-by: Dylan Reid <dgreid@xxxxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit a2351efeb3b4e11a97117e048027a9d09855d309 Merge: 52addcf efd01a7 385321e 84a263f 61da50d 0c4ffcf 41534e5 8961def Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 5 10:57:20 2014 -0600 Merge branches 'pci/misc', 'pci/pm', 'pci/host-designware', 'pci/host-imx6', 'pci/host-keystone', 'pci/host-tegra' and 'pci/host-xilinx' into next * pci/misc: PCI/AER: Make <linux/aer.h> standalone includable PCI: Remove unnecessary variable in pci_add_dynid() * pci/pm: PCI/PM: Allow PCI devices to be put into D3cold during system suspend PCI/PM: Drop unused runtime PM support code for PCIe ports * pci/host-designware: PCI: designware: Check private_data validity in single place PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init() PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus() PCI: designware: Parse bus-range property from devicetree PCI: designware: Add support for v3.65 hardware * pci/host-imx6: PCI: imx6: Probe in module_init(), not fs_initcall() PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init() PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus() PCI: designware: Parse bus-range property from devicetree PCI: imx6: Put LTSSM in "Detect" state before disabling it MAINTAINERS: Add Lucas Stach as co-maintainer for i.MX6 PCI driver PCI: designware: Add support for v3.65 hardware * pci/host-keystone: PCI: keystone: Add TI Keystone PCIe driver PCI: designware: Add support for v3.65 hardware * pci/host-tegra: PCI: tegra: Implement a proper resource hierarchy PCI: tegra: Add missing cleanup in error path and tegra_msi_teardown_irq() resources: Add device-managed request/release_resource() * pci/host-xilinx: PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver Conflicts: drivers/pci/host/Kconfig drivers/pci/host/Makefile commit b854100eda59a1df9eaf7454cc7c297910055f42 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Sep 3 14:25:56 2014 +0900 usb: renesas_usbhs: Add device tree support for R-Car H2 and M2 This driver supports other SoCs, but they need boards/Soc depend code. So, this patch adds device tree support for R-Car H2 and M2 initially. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 630a84a1819e8cd42974c66cbfb79549db70b694 Author: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Date: Wed Sep 3 14:25:40 2014 +0900 usb: renesas_usbhs: Add device tree bindings documentation Document the device tree bindings for the Renesas USBHS controller. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@xxxxxxxxxxx> Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a5e4aa4d770ae96da52c8fa035751d2046e2434f Author: Daniel Mack <daniel@xxxxxxxxxx> Date: Wed Sep 3 17:21:24 2014 +0200 usb: musb: cppi41: tweak hrtimer values Intensive tests with USB audio devices connected to a musb host port have shown reproducible pops and clicks in both the playback and the capture stream. These are related to how the early_tx hrtimer is set up, and it turns out they can be fixed by reducing the timer's slack value from 40 to 25 us. Also, when the callback is ran without taking action, it should be rescheduled 20 us later instead of 50 us. Reported-and-tested-by: Sven Neumann <neumann@xxxxxxxxx> Signed-off-by: Daniel Mack <daniel@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit eb11adabcfa0019ce0a5f124d282f624d58b4376 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Sep 5 16:36:32 2014 +0100 MAINTAINERS: Add dwc3-st.c file to ARCH/STI architecture This patch adds the new dwc3-st.c glue driver found on STMicroelectronics stih407 consumer electronics SoC's into the STI arch section of the maintainers file. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f9031449269257868be17d4516a29890b469625b Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Sep 5 16:36:31 2014 +0100 usb: dwc3: dwc3-st: Add st-dwc3 devicetree bindings documentation This patch documents the device tree documentation required for the ST usb3 controller glue layer found in STiH407 devices. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f83fca0707c66e36f14efef7f68702cb12de70b7 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Fri Sep 5 16:36:30 2014 +0100 usb: dwc3: add ST dwc3 glue layer to manage dwc3 HC This patch adds the ST glue logic to manage the DWC3 HC on STiH407 SoC family. It manages the powerdown signal, and configures the internal glue logic and syscfg registers. [ balbi@xxxxxx : actually switch over to of_platform_depopulate() ] Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 013c5b4e6611746725cbcc0c39922d36d2968d50 Merge: 09d12ad ad8c3af Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:42:18 2014 +0200 Merge tag 'renesas-cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Cleanup Updates for v3.18" from Simon Horman: * Remove Genmai board code Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-cleanup-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r7s72100: Remove legacy board support ARM: shmobile: r7s72100: genmai: Remove legacy board file ARM: shmobile: r7s72100: genmai: Remove reference board file commit 09d12ad7936df431ecbf0faf2b81c56cc4bb6392 Merge: e0ace5f 9dddfcf Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:40:32 2014 +0200 Merge tag 'renesas-dt-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC DT Timers Updates for v3.18" from Simon Horman: * Enable timers using DT when booting boards without Legacy-C code Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: genmai-reference: Enable MTU2 in device tree ARM: shmobile: r7s72100: Add MTU2 device to DT ARM: shmobile: marzen-reference: Enable TMU0 in device tree ARM: shmobile: koelsch-reference: Enable CMT0 in device tree ARM: shmobile: lager-reference: Enable CMT0 in device tree ARM: shmobile: r8a7779: Add TMU devices to DT ARM: shmobile: r8a7791: Add CMT devices to DT ARM: shmobile: r8a7790: Add CMT devices to DT Conflicts: arch/arm/mach-shmobile/setup-r8a7779.c commit 84a263f39403ca3b399af77499876e02e634b00b Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 5 09:37:55 2014 -0600 PCI: designware: Check private_data validity in single place The driver had checks for this sprinkled all over. As we call sys_to_pcie() before every instance of this check, we can move the check to this single location to make things clear. Removing the statements after BUG[_ON]() is safe as the kernel is halted at this point anyway. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit e0ace5fc33e2046e83b0ebbe03b7489eabd6cc03 Merge: 59255f4 4333067 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:36:52 2014 +0200 Merge tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC R8a7740 CCF and Timers Updates for v3.18" from Simon Horman: When booting using the r8a7740/armadillo800eva using dt-reference: * Use CCF to initialise clocks via DT * Initialise timers via DT Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-r8a7740-ccf-and-timers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt() ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree ARM: shmobile: r8a7740: Add CMT1 device to DT ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS ARM: shmobile: r8a7740: add MSTP clock assignments to DT ARM: shmobile: r8a7740: add SoC clocks to DTS ARM: shmobile: r8a7740: clock register bits commit 61da50da903fdfc00b40f3b3e3abeca7ae51b591 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Fri Sep 5 09:36:48 2014 -0600 PCI: imx6: Probe in module_init(), not fs_initcall() This effectively reverts f216f57ffe6e ("PCI: imx6: Probe the PCIe in fs_initcall()") as the resource allocation issue that prevented the driver from working properly at module_initcall level is now fixed in pcie-designware.c. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Richard Zhu <r65037@xxxxxxxxxxxxx> commit 59255f4de51e325571d23c8f6f5046069630619f Merge: 5fdebdc 86155b3 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:29:29 2014 +0200 Merge tag 'renesas-soc2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Second Round Of Renesas ARM Based SoC Updates For v3.18" from Simon Horman: * Move legacy INTC definitions from irqs.h to intc.h * Remove duplicate CPUFreq bits on r8a73a0/ape6evm Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-soc2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Move legacy INTC definitions from irqs.h to intc.h ARM: shmobile: ape6evm: Remove duplicate CPUFreq bits ARM: shmobile: sh73a0: Remove duplicate CPUFreq bits commit c346a54a6f5a68eb4d9e97b69c3905fbda34d0fc Merge: 3e3e406 8ddebc4 Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Date: Fri Sep 5 09:28:08 2014 -0600 Merge branch 'pci/host-designware' into pci/host-imx6 * pci/host-designware: PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init() PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus() PCI: designware: Parse bus-range property from devicetree PCI: designware: Add support for v3.65 hardware commit 5fdebdc959d7a8a6f37c4252806e0973093f7ec8 Merge: a6fff11 fc35ca2 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:11:36 2014 +0200 Merge tag 'renesas-init-delay-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Init Delay Updates For v3.18" from Simon Horman: * Use shmobile_init_delay across a wider range of SoCs Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-init-delay-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: kzm9g: Use shmobile_init_delay() ARM: shmobile: bockw: Use shmobile_init_delay() ARM: shmobile: r8a7778: Use shmobile_init_delay() ARM: shmobile: sh73a0: Use shmobile_init_delay() ARM: shmobile: Remove shmobile_setup_delay() ARM: shmobile: r8a73a4: Use shmobile_init_delay() ARM: shmobile: sh7372: Use shmobile_init_delay() ARM: shmobile: r8a7778: Update DTS to include CPU frequency ARM: shmobile: sh73a0: Update DTS to include CPU frequency ARM: shmobile: sh7372: Update DTS to include CPU frequency ARM: shmobile: kzm9g-reference: Remove unneeded nr_irqs initialization ARM: shmobile: kzm9g: Remove unneeded nr_irqs initialization ARM: shmobile: marzen: Remove NR_IRQS_LEGACY ARM: shmobile: ape6evm: Use shmobile_init_delay() ARM: shmobile: ape6evm: Add shmobile_init_late() ARM: shmobile: bockw: Add shmobile_init_late() ARM: shmobile: marzen: Add shmobile_init_late() ARM: shmobile: kzm9g: Add shmobile_init_late() commit a6fff11391e7bf170ed803d2786df4cb34258546 Merge: e4e3a37 5ac9e7f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 17:08:14 2014 +0200 Merge tag 'renesas-soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Merge "Renesas ARM Based SoC Updates for v3.18" from Simon Horman: * Remove unnecessary nr_irqs initialisation on sh73a0, sh7372, and r8a7779 SoCs * Use defines hardcoded numbers for DMA * Rework multiplatform include workaround * Correctly use shmobile_init_late on a wider range of SoCs Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-soc-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: sh73a0: Remove unneeded nr_irqs initialization ARM: shmobile: sh7372: Remove unneeded nr_irqs initialization ARM: shmobile: r8a7779: Remove NR_IRQS_LEGACY ARM: shmobile: dma: Use defines instead of hardcoded numbers ARM: shmobile: Rework multiplatform include workaround ARM: shmobile: r7s72100: Add shmobile_init_late() ARM: shmobile: r8a73a4: Add shmobile_init_late() ARM: shmobile: r8a7778: Fix shmobile_init_late() ARM: shmobile: r8a7779: Fix shmobile_init_late() ARM: shmobile: sh73a0: Add shmobile_init_late() ARM: shmobile: r8a7778: Add missing call to shmobile_init_late() commit b509b5e40e0a3ce39ced2187fb3ab34d10921080 Merge: aa4f88c de46e95 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:57:40 2014 +0200 Merge tag 'renesas-defconfig3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Pull "Renesas ARM Based SoC Defconfig Updates for v3.18" from Simon Horman: Third Round of Renesas ARM Based SoC Defconfig Updates for v3.18 * Enable Armadillo 800 EVA board in multiplatform defconfig Second Round Of Renesas ARM Based SoC Defconfig Updates For v3.18 * Do not disable SUSPEND in Bockw defconfig - Suspend to ram is now supported Renesas ARM Based SoC Defconfig Updates for v3.18 * Enable initrd in shmobile defconfig * Enable missing hardware support in shmobile and several board defconfigs Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-defconfig3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Enable Armadillo 800 EVA board in multiplatform defconfig ARM: shmobile: bockw: Do not disable SUSPEND in defconfig ARM: shmobile: defconfig: enable initrd ARM: shmobile: marzen_defconfig: Enable missing hardware support ARM: shmobile: lager_defconfig: Enable missing hardware support ARM: shmobile: kzm9g_defconfig: Enable missing hardware support ARM: shmobile: koelsch_defconfig: Enable missing hardware support ARM: shmobile: bockw_defconfig: Enable missing hardware support ARM: shmobile: ape6evm_defconfig: Enable missing hardware support ARM: shmobile: shmobile_defconfig: Enable missing hardware support commit 2c4cbe6e5a9c71408b496e00a78ea9284e98af16 Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Apr 30 17:45:10 2014 -0500 usb: dwc3: add tracepoints to aid debugging When we're debugging hard-to-reproduce and time-sensitive use cases, printk() poses too much overhead. That's when the kernel's tracing infrastructure comes into play. This patch implements a few initial tracepoints for the dwc3 driver. More traces can be added as necessary in order to ease the task of debugging dwc3. Reviewed-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3ece0ec474bf3cea9eefa7f92e3d4b6c3f9f71fd Author: Felipe Balbi <balbi@xxxxxx> Date: Fri Sep 5 09:47:44 2014 -0500 usb: dwc3: gadget: cmd argument should always be unsigned No functional changes, just making sure we're dealing with unsigned ints. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 184df9ddaab4a572e61b321abc079ca49155fc12 Merge: 647f95f 13298fb Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:53:56 2014 +0200 Merge tag 'renesas-kconfig-cleanups-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/cleanup Pull "Renesas ARM Based SoC Kconfig Cleanups for v3.18" from Simon Horman: * Update name of "R-Car M2-W" SoC (previously there was no "-W") * Consolidate Legacy SH_CLK_CPG and CPU_V7 Kconfig * Only select PM_RMOBILE for legacy case * Cleanup pm-rcar.o and pm-rmobile.o build using Kconfig Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-kconfig-cleanups-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: r8a7791 is now called "R-Car M2-W" ARM: shmobile: Consolidate Legacy SH_CLK_CPG Kconfig ARM: shmobile: Consolidate Legacy CPU_V7 Kconfig ARM: shmobile: Only select PM_RMOBILE for legacy case ARM: shmobile: Cleanup pm-rmobile.o build using Kconfig ARM: shmobile: Cleanup pm-rcar.o build using Kconfig ARM: shmobile: Introduce a Kconfig entry for R-Car Gen2 ARM: shmobile: Introduce a Kconfig entry for R-Car Gen1 ARM: shmobile: Introduce a Kconfig entry for R-Mobile Includes an update to 3.17-rc2 to avoid a dependency commit e996061b9632d2ac7d00112208c644328c2411d5 Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Aug 19 16:49:20 2014 -0500 usb: dwc3: debug: add dwc3_gadget_event_type_string this new helper will return a pretty string for DWC3 Gadget Events. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 80977dc99be5d874d10716594e716ef317c1723c Author: Felipe Balbi <balbi@xxxxxx> Date: Tue Aug 19 16:37:22 2014 -0500 usb: dwc3: move all string helper functions to debug.h Those functions are only using within debugging messages, grouping them into debug.h makes sense. While at that, also add missing multiple inclusion guard. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8013e8c7117d9d54e84d80480b105f80603d9945 Merge: 3b0b8ec f7b9847 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:35:13 2014 +0200 Merge tag 'renesas-maintainers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/fixes-non-critical Merge "Renesas ARM Based SoC Maintainers Updates for v3.18" from Simon Horman: * Remove genmai_defconfig from MAINTAINERS genmai_defconfig was removed in v3.17-rc1. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-maintainers-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Remove genmai_defconfig from MAINTAINERS commit d5f97a2ce9a9fc8ef3fdb366b01c8b4d2d38332a Merge: f60e660 40c488d Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:29:57 2014 +0200 Merge tag 'renesas-dt3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Third Round of Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman: * Use tabs for indentation in kzm9g-reference and r8a7779 DTS(I) files * Add platform device tree bindings documentation * Add SoC-specific thermal compatible property to r8a73a4 and r8a7779 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt3-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: kzm9g-reference dts: Use tabs for indentation ARM: shmobile: r8a7779 dtsi: Use tabs for indentation ARM: shmobile: Add platform device tree bindings documentation ARM: shmobile: r8a73a4 dtsi: Add SoC-specific thermal compatible property ARM: shmobile: r8a7779 dtsi: Add SoC-specific thermal compatible property commit f60e660c5adf9af09d2143d6fe1f0f184fb3733d Merge: 085b5d6 f170b97 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:28:56 2014 +0200 Merge tag 'renesas-dt2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Second Round Of Renesas ARM Based SoC DT Updates For v3.18" from Simon Horman: * Tidy up interrupt-parents * Add clocks register defines for r8a7740 SoC * Add JPU clock to r8a7791 and r8a7790 SoCs Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt2-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: sh73a0 dtsi: Move interrupt-parent to the top ARM: shmobile: r8a7791 dtsi: Remove superfluous interrupt-parent ARM: shmobile: r8a7790 dtsi: Remove superfluous interrupt-parent ARM: shmobile: r8a7779 dtsi: Remove superfluous interrupt-parent ARM: shmobile: r8a7740: clock register bits ARM: shmobile: r8a7791: Add JPU clock dt and CPG define. ARM: shmobile: r8a7790: Add JPU clock dt and CPG define. commit 085b5d6faac39e2d04bcb67d728aa29d03d1a5f8 Merge: 8baebe3 d594c97 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Fri Sep 5 16:26:48 2014 +0200 Merge tag 'renesas-dt-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Merge "Renesas ARM Based SoC DT Updates for v3.18" from Simon Horman: * Add VIN support to lager/r8a7790, koelsch/r8a7791 and henninger/r8a7791 * Enable DMA for MSIOF and QSPI on r8a7790 and r8a7791 Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> * tag 'renesas-dt-for-v3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: lager: add VIN1/ADV7180 device nodes ARM: shmobile: r8a7790: add VIN device nodes ARM: shmobile: r8a7790 dtsi: Enable DMA for MSIOF ARM: shmobile: r8a7790 dtsi: Enable DMA for QSPI ARM: shmobile: r8a7791 dtsi: Enable DMA for MSIOF ARM: shmobile: r8a7791 dtsi: Enable DMA for QSPI ARM: shmobile: r8a7791: Add DMAC devices to DT ARM: shmobile: r8a7790: Add DMAC devices to DT ARM: shmobile: r8a7790: Add DMAC clocks to DT ARM: shmobile: koelsch: add VIN1/ADV7180 DT support ARM: shmobile: henninger: add VIN0/ADV7180 DT support ARM: shmobile: r8a7791: add VIN DT support commit 7d6827748d54f1745314e4e582691e8c02b9b4af Author: Suman Anna <s-anna@xxxxxx> Date: Thu Sep 4 17:27:30 2014 -0500 iommu/omap: Fix iommu archdata name for DT-based devices A device is tied to an iommu through its archdata field. The archdata is allocated on the fly for DT-based devices automatically through the .add_device iommu ops. The current logic incorrectly assigned the name of the IOMMU user device, instead of the name of the IOMMU device as required by the attach logic. Fix this issue so that DT-based devices can attach successfully to an IOMMU domain. Signed-off-by: Suman Anna <s-anna@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit e3f595b9039c888016211c710eb1f58b3f60f809 Author: Suman Anna <s-anna@xxxxxx> Date: Thu Sep 4 17:27:29 2014 -0500 iommu/omap: Check for valid archdata in attach_dev Any device requiring to be attached to an iommu_domain must have valid archdata containing the necessary iommu information, which is SoC-specific. Add a check in the omap_iommu_attach_dev to make sure that the device has valid archdata before accessing different SoC-specific fields of the archdata. This prevents a NULL pointer dereference on any misconfigured devices. Signed-off-by: Suman Anna <s-anna@xxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit a12624959ad4e3bfa8c344ad71728ffc9a379158 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Sep 5 14:57:29 2014 +0200 drm/i915: Update DRIVER_DATE to 20140905 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7d75a871888e3f5e1a7c99bf240d1cd67d8bdfa0 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Fri Sep 5 13:09:25 2014 +0200 gpio: fix 'CONFIG_GPIO_IRQCHIP' comments These two typos were introduced in commit 1425052097b5 ("gpio: add IRQ chip helpers in gpiolib"). The correct symbol name is CONFIG_GPIOLIB_IRQCHIP. [jkosina@xxxxxxx: add changelog] Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f3000e1b43f164802f2a74c9de6a398943a36378 Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Thu Sep 4 22:37:55 2014 +0300 mac80211: fix broken use of VHT/20Mhz with some APs commit "mac80211: disable 40MHz support in case of 20MHz AP" broke working VHT in 20Mhz with APs like Netgear R6300v2 which do not publish support for 40Mhz but allow use of VHT in 20Mhz. The break is because VHT is disabled once no HT cap doesn't indicate support for 40Mhz. This causes the assoc request to be sent without any VHT IE and the association is only HT due to this. For more details check out commit 4a817aa7 "mac80211: allow VHT with peers not capable of 40MHz" Fixes: 53b954ee4a71 ("mac80211: disable 40MHz support in case of 20MHz AP") Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a4bcaf5556da649f0160e60fa7b4bb2c29801c12 Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Sep 4 23:57:41 2014 +0200 mac80211: extend set_coverage_class signature Extend mac80211 set_coverage_class API in order to enable ACK timeout estimation algorithm (dynack) passing coverage class equals to -1 to lower drivers. Synchronize set_coverage_class routine signature with mac80211 function pointer for p54, ath9k, ath9k_htc and ath5k drivers. Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3057dbfdab1b86a77ed6d512fc857b032f78663b Author: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Date: Thu Sep 4 23:57:40 2014 +0200 cfg80211: enable dynack through nl80211 Enable ACK timeout estimation algorithm (dynack) using mac80211 set_coverage_class API. Dynack is activated passing coverage class equals to -1 to lower drivers and it is automatically disabled setting valid value for coverage class. Define NL80211_ATTR_WIPHY_DYN_ACK flag attribute to enable dynack from userspace. In order to activate dynack NL80211_FEATURE_ACKTO_ESTIMATION feature flag must be set by lower drivers to indicate dynack capability. Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit eaa336b0f5087addb32217e6a70845ed57249f76 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 3 15:25:06 2014 +0300 mac80211: combine roc with the "next roc" if possible If the remaining time in the current roc is not long enough, mac80211 adds the new roc right after it (if they have similar params). However, in case of multiple rocs, the "next roc" is not considered, resulting in multiple rocs, each one with its own duration. Refactor the code a bit and consider the next roc, so a single max roc will be used instead of multiple rocs (which might last much longer). Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 24ecd45e2eb194dcadefeb60a16f4ca751402413 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 3 15:25:05 2014 +0300 mac80211: adjust roc duration when combining ROCs The new duration (remaining duration after the current ROC ends) was calculated but not used, making the optimization worthless. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Ilan Peer <ilan.peer@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a62a1aed3733d7ec6489adca4c2f69881d78cfd6 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Sep 3 15:25:03 2014 +0300 cfg80211: avoid duplicate entries on regdomain intersection The regdom intersection code simply tries intersecting each rule of the source with each rule of the target. Since the resulting intersections are not observed as a whole, this can result in multiple overlapping/duplicate entries. Make the rule addition a bit more smarter, by looking for rules that can be contained within other rules, and adding only extended ones. Signed-off-by: Eliad Peller <eliad@xxxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit cd2f5dd709daa8a70f9eb408025dbb1c804929a8 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Sep 3 15:25:02 2014 +0300 mac80211: Add RRM support to assoc request In case of a RRM-supporting connection, in the association request frame: set the RRM capability flag, and add the required IEs. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit bab5ab7d2a5466406e8003d038cc7ce6b2d5d804 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Sep 3 15:25:01 2014 +0300 nl80211: Add flag attribute for RRM connections Add a flag attribute to use in associations, for tagging the target connection as supporting RRM. It is the responsibility of upper layers to set this flag only if both the underlying device, and the target network indeed support RRM. To be used in ASSOCIATE and CONNECT commands. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 1c7e23bf50264a251de53ad9fb1604683b801258 Author: Assaf Krauss <assaf.krauss@xxxxxxxxx> Date: Wed Sep 3 15:25:00 2014 +0300 nl80211: Allow declaring RRM-related features Radio Resource Measurement (RRM) is a bundle of features which will require the entire stack to participate. In this patch, the driver is given the opportunity to advertise the device's support for these RRM-related features, using feature flags: 1. Support for Quiet IEs. 2. Support for adding DS Parameter Set IE to probe requests. 3. Support for adding WFA TPC Report IE to probe requests. 4. Support for inserting tx power value to tx-ed packets at a fixed offset. This is used in action frames, such as RRM's Link Measurement Report, where the actual tx power should be reported in the frame. Signed-off-by: Assaf Krauss <assaf.krauss@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 6188c271f0f2cbc89a52981d252107f7f409f45f Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Wed Sep 3 15:24:59 2014 +0300 mac80211: fix description comment of ieee80211_subif_start_xmit The function description claimed that on error the skb isn't freed even though it is, and stated return values that are different than what really happens in the code. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 2740f0cf8ec8bc7ee6a58f68841759e367dda98f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 3 15:24:58 2014 +0300 cfg80211: add Intel Mobile Communications copyright Our legal structure changed at some point (see wikipedia), but we forgot to immediately switch over to the new copyright notice. For files that we have modified in the time since the change, add the proper copyright notice now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit d98ad83ee86e523cc00cbf425f456fbd14b4fdc4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Wed Sep 3 15:24:57 2014 +0300 mac80211: add Intel Mobile Communications copyright Our legal structure changed at some point (see wikipedia), but we forgot to immediately switch over to the new copyright notice. For files that we have modified in the time since the change, add the proper copyright notice now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 3b0b8ec99aadea710f3dece74c95523463c0087a Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Apr 15 10:26:47 2014 +0200 ARM: spear: Remove references to PLAT_SPEAR_SINGLE The Kconfig symbol PLAT_SPEAR_SINGLE briefly appeared during the v3.10 development cycle. It was removed in a merge commit before v3.10. A few references to it were left in the tree, probably because they didn't generate merge conflicts. Whatever it was, they're useless now and can safely be removed. Reported-by: Martin Walch <walch.martin@xxxxxx> Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Reviewed-by: Rajeev Kumar <rajeev-dlh.kumar@xxxxxx> Cc: Rajeev Kumar <rajeev_kumar@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 6b44f519017b219a12b37173c7eef8dfce2c0100 Author: Scot Doyle <lkml14@xxxxxxxxxxxxx> Date: Sun Aug 24 17:12:27 2014 +0000 sched/wait: Document timeout corner case The timeout may elapse without 0 being returned, such as when waiting on an unused queue. Document this possibility. Signed-off-by: Scot Doyle <lkml14@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/alpine.LNX.2.11.1408241710070.6462@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 6a52f5633944f075bcc403d66164b5b90b42a751 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 5 09:12:55 2014 +0800 regulator: da9211: Set of_match_table and export device table Also move da9211_i2c_id and da9211_dt_ids close to the user for better readability. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit da0bb557ba0b5985631a98b7450d256251e7fb5d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 5 09:17:41 2014 +0800 regulator: max77802: Remove duplicate rdev_get_id() call Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 97795e4da234371be8ad3904d626566b7077a9ae Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Sep 5 09:14:26 2014 +0800 regulator: hi6421: Fix misleading comment Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f2a25160887e00434ce1361007009120e1fecbda Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Sep 4 21:13:33 2014 +0200 KVM: remove redundant assignments in __kvm_set_memory_region __kvm_set_memory_region sets r to EINVAL very early. Doing it again is not necessary. The same is true later on, where r is assigned -ENOMEM twice. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a13f533b2f1d53a7c0baa7490498caeab7bc8ba5 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Sep 4 21:13:32 2014 +0200 KVM: remove redundant assigment of return value in kvm_dev_ioctl The first statement of kvm_dev_ioctl is long r = -EINVAL; No need to reassign the same value. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 34656113182b704682e23d1363417536addfec97 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Sep 4 21:13:31 2014 +0200 KVM: remove redundant check of in_spin_loop The expression `vcpu->spin_loop.in_spin_loop' is always true, because it is evaluated only when the condition `!vcpu->spin_loop.in_spin_loop' is false. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 54987b7afa902e886b3a751c056c2a4d4701020e Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 2 13:23:06 2014 +0200 KVM: x86: propagate exception from permission checks on the nested page fault Currently, if a permission error happens during the translation of the final GPA to HPA, walk_addr_generic returns 0 but does not fill in walker->fault. To avoid this, add an x86_exception* argument to the translate_gpa function, and let it fill in walker->fault. The nested_page_fault field will be true, since the walk_mmu is the nested_mmu and translate_gpu instead operates on the "outer" (NPT) instance. Reported-by: Valentine Sinitsyn <valentine.sinitsyn@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ef54bcfeea6c8b04e2a4f9396e16d88558aa2eee Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Thu Sep 4 19:46:15 2014 +0200 KVM: x86: skip writeback on injection of nested exception If a nested page fault happens during emulation, we will inject a vmexit, not a page fault. However because writeback happens after the injection, we will write ctxt->eip from L2 into the L1 EIP. We do not write back if an instruction caused an interception vmexit---do the same for page faults. Suggested-by: Gleb Natapov <gleb@xxxxxxxxxx> Reviewed-by: Gleb Natapov <gleb@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c10a19930f286a24f4994c83fe71866877fb1a71 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Sep 5 10:56:35 2014 +0200 mac80211: clean up ieee80211_i.h Not sure how the declaration of ieee80211_tdls_peer_del_work landed after the double inclusion protection end. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 02b837ffe033ed3b50787e0f3e4103ea5a34636b Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Sun Aug 31 16:51:52 2014 +0530 pinctrl: at91: Switch to using managed clk_get This patch switches to using managed version of clk_get and hence removes clk_put from failure path. CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1f81bdc7a08e7aee271a4969f451207fd7946894 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Sat Aug 30 23:05:13 2014 +0530 pinctrl: adi2: Remove duplicate gpiochip_remove_pin_ranges This patch removes call to gpiochip_remove_pin_ranges() from platform_driver remove function as it will anway be called by gpiochip_remove(). CC: Sonic Zhang <sonic.zhang@xxxxxxxxxx> CC: Linus Walleij <linus.walleij@xxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 9e3a979f03b37b8502da6cfce8581e28375cf96f Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Sep 5 09:53:23 2014 +0200 pinctrl: single: fix freudian slip commit 03e9f0cac5da6af85758276cb4624caf5911f2b9 "pinctrl: clean up after enable refactoring" renamed the vtable callback .enable to .set_mux. The renaming was done manually, and one of the alterations contained a freudian slip. I confess, I am human. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2de5da5771229c0822dc78472261f0cd82e8bc14 Author: Marek Roszko <mark.roszko@xxxxxxxxx> Date: Sat Aug 23 23:12:06 2014 -0400 pinctrl: at91: update for drive strength options and tweaks The drive strength patched introduced the atmel,sama5d-pinctrl compatible string. Drive strength is now an option for the CONFIG bits per pin. Also added note about MULTIDRIVE being equivalent to open-drain output and added missing "s" at the end of need everywhere in the bits descriptions. Signed-off-by: Marek Roszko <mark.roszko@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4334ac2db2be9e278c95fd15260c1f49f698ffc5 Author: Marek Roszko <mark.roszko@xxxxxxxxx> Date: Sat Aug 23 23:12:04 2014 -0400 pinctrl: at91: add drive strength configuration The SAMA5 and SAM9x5 series both have drive strength options for the PIOs. This patch adds the ability to set one of three hardware options for drive strengths of low, medium or high for the each pin. The actual current output of the chip based on the setting is defined in the datasheets and varies per pins separate from banks and with supply voltage. This patch adds three new dt-bindings that allow setting the strength when configuring pins. By default, no change will be made to the drive strength of a pin from its reset value. Due to the difference between the register addresses of the SAMA5 and SAM9x5 series, a new sama5d3-pinctrl id was added. Signed-off-by: Marek Roszko <mark.roszko@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5923abb205e05773e0bb16c7ca4c0b41dbeec40e Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Sep 4 16:02:28 2014 +0200 ARM: shmobile: Initial r8a7794 SoC support Initial support for the r8a7794 SoC, based on work by Hisashi Nakamura. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0dc50fd3dc4a70d0d317103188c129d378125643 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Thu Sep 4 16:02:27 2014 +0200 ARM: shmobile: support Cortex-A7 in shmobile_init_delay() Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ea2d9fc1af6ebcdf849723ac4f3f91a1c93b5e7c Merge: 0e56673 78f543a Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 16:11:43 2014 +0800 Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 Merging the crypto tree for 3.17 in order to resolve the conflict on the 32-bit DRBG overflow fix. commit 9c787942907face82da505c2c5493998b56cfc5a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 07:13:25 2014 +0100 drm/i915: Decouple the stuck pageflip on modeset If we successfully confuse the hardware, and cause it to drop a queued pageflip, we wait for 60s and issue a warning before continuing on with the modeset. However, this leaves the pending pageflip still stuck indefinitely. Pretend to userspace that it does complete, and let us start afresh following the modeset. v2: Rebase after refactor v3: Rebase, rebase. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=82612 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d6bbafa183793537d8dca4d4c2e448805e59448a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Sep 5 07:13:24 2014 +0100 drm/i915: Check for a stalled page flip after each vblank Long ago, back in the racy haydays of 915gm interrupt handling, page flips would occasionally go astray and leave the hardware stuck, and the display not updating. This annoyed people who relied on their systems being able to display continuously updating information 24/7, and so some code to detect when the driver missed the page flip completion signal was added. Until recently, it was presumed that the interrupt handling was now flawless, but once again Simon Farnsworth has found a system whose display will stall. Reinstate the pageflip stall detection, which works by checking to see if the hardware has been updated to the new framebuffer address following each vblank. If the hardware is scanning out from the new framebuffer, but we still think the flip is pending, then we kick our driver into submision. This is a continuation of the effort started with commit 4e5359cd053bfb7d8dabe4a63624a5726848ffbc Author: Simon Farnsworth <simon.farnsworth@xxxxxxxxxxxx> Date: Wed Sep 1 17:47:52 2010 +0100 drm/i915: Avoid pageflipping freeze when we miss the flip prepare interrupt This now includes a belt-and-braces approach to make sure the driver (or the hardware) doesn't miss an interrupt and cause us to stop updating the display should the unthinkable happen and the pageflip fail - i.e. that the user is able to continue submitting flips. v2: Cleanup, refactor, and rename v3: Only start counting vblanks after the flip command has been seen by the hardware. v4: Record the seqno after we touch the ring, or else there may be no seqno allocated yet. v5: Rebase on mmio-flip. v6: Rebase, rebase. Reported-by: Simon Farnsworth <simon@xxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=75502 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [v4] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4a804c01635a43ed073893532c058fbaa1f5154e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Sep 2 11:17:07 2014 -0700 net: systemport: update UMAC_CMD only when link is detected When we bring the interface down, phy_stop() will schedule the PHY state machine to call our link adjustment callback. By the time we do so, we may have clock gated off the SYSTEMPORT hardware block, and this will cause bus errors to happen in bcm_sysport_adj_link(): Make sure that we only touch the UMAC_CMD register when there is an actual link. This is safe to do for two reasons: - updating the Ethernet MAC registers only make sense when a physical link is present - the PHY library state machine first set phydev->link = 0 before invoking phydev->adjust_link in the PHY_HALTED case This is a similar fix to the GENET one: c677ba8b3c47650358572091ed8a6af50bfca877 ("net: bcmgenet: update UMAC_CMD only when link is detected"). Fixes: 80105befdb4b ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 35b123e2f701b28977db2cde7dbbdb3fad28cad1 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 17:50:43 2014 +0300 sched/fair: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx> Cc: paulmck@xxxxxxxxxxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140822145043.GA580@ada Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a9fe8e29945d56f35235a3a0fba99b4cf181d211 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 15:49:26 2014 +0200 ipv4: implement igmp_qrv sysctl to tune igmp robustness variable As in IPv6 people might increase the igmp query robustness variable to make sure unsolicited state change reports aren't lost on the network. Add and document this new knob to igmp code. RFCs allow tuning this parameter back to first IGMP RFC, so we also use this setting for all counters, including source specific multicast. Also take over sysctl value when upping the interface and don't reuse the last one seen on the interface. Cc: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2f711939d2ea9dfaecebecd1324d2ec7a7a21f65 Author: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 15:49:25 2014 +0200 ipv6: add sysctl_mld_qrv to configure query robustness variable This patch adds a new sysctl_mld_qrv knob to configure the mldv1/v2 query robustness variable. It specifies how many retransmit of unsolicited mld retransmit should happen. Admins might want to tune this on lossy links. Also reset mld state on interface down/up, so we pick up new sysctl settings during interface up event. IPv6 certification requests this knob to be available. I didn't make this knob netns specific, as it is mostly a setting in a physical environment and should be per host. Cc: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Acked-by: Flavio Leitner <fbl@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a49058fab2912296f068759490ac69ba43b43861 Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Thu Sep 4 22:36:35 2014 -0400 jbd/jbd2: use non-movable memory for the jbd superblock Sicne the jbd/jbd2 superblock is not released until the file system is unmounted, allocate the buffer cache from the non-moveable area to allow page migration and CMA allocations to more easily succeed. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit a8ac900b8163703340a2fdad11c32f96b8fe686d Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Thu Sep 4 22:36:15 2014 -0400 ext4: use non-movable memory for the ext4 superblock Since the ext4 superblock is not released until the file system is unmounted, allocate the buffer cache entry for the ext4 superblock out of the non-moveable are to allow page migrations and thus CMA allocations to more easily succeed if the CMA area is limited. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 3b5e6454aaf6b4439b19400d8365e2ec2d24e411 Author: Gioh Kim <gioh.kim@xxxxxxx> Date: Thu Sep 4 22:04:42 2014 -0400 fs/buffer.c: support buffer cache allocations with gfp modifiers A buffer cache is allocated from movable area because it is referred for a while and released soon. But some filesystems are taking buffer cache for a long time and it can disturb page migration. New APIs are introduced to allocate buffer cache with user specific flag. *_gfp APIs are for user want to set page allocation flag for page cache allocation. And *_unmovable APIs are for the user wants to allocate page cache from non-movable area. Signed-off-by: Gioh Kim <gioh.kim@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 111e32b2f6b3f9d348b549013dab8f5053acdf19 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:39 2014 +0200 powerpc/8xx: Duplicate two insns instead of branching Branching takes two cycles on MPC8xx. Lets duplicate the two instructions and avoid the branching. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 41cacac63c98803e9fbb054db0b74f92a8c082e4 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:38 2014 +0200 powerpc/8xx: Optimize verification in FixupDAR By XORing the upper part of the instruction code, we get a value that can directly be verified with the second test and we can remove the first test. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 5bcbe24f6c7aec918b8cb75e53f8f7f897e3a091 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:38 2014 +0200 powerpc/8xx: No need to save r10 and r3 when not calling FixupDAR r10 and r3 are only used inside FixupDAR function. So lets save them inside that function only. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 140a6a60ba18da6b36e7fe1cafbffd09bc805f21 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:38 2014 +0200 powerpc/8xx: Fix comment about DIRTY update Since commit 2321f33790a6c5b80322d907a92d5739e7521a13, dirty handling is not handled here anymore. So we fix the comment. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 3e43640346507caaa0b3b03882a93f641ace4e58 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:37 2014 +0200 powerpc/8xx: Remove loading of r10 at end of FixupDAR Since commit 2321f33790a6c5b80322d907a92d5739e7521a13, r10 is not used anymore after FixupDAR. There is therefore no need to set it up with the value of DAR. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 92625d491e59719f5241bad31eb0f2295479b019 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:37 2014 +0200 powerpc/8xx: Use SCRATCH0 and SCRATCH1 also for TLB handlers SCRATCH0 and SCRATCH1 are only used in Exceptions prologs where no other exception can happen. There is therefore no need to preserve them accross TLB handlers, we can use them there as in other exceptions. One of the advantages is that they do not suffer CPU6 errata unlike M_TW register. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit ae466bde19752f8638fd458225fb65ded5db5e16 Author: LEROY Christophe <christophe.leroy@xxxxxx> Date: Fri Aug 29 11:14:37 2014 +0200 powerpc/8xx: Declare SPRG2 as a SCRATCH register Since commit 469d62be9263b92f2c3329540cbb1c076111f4f3, SPRG2 is used as a scratch register just like SPRG0 and SPRG1. So Declare it as such and fix the comment which is not valid anymore since that commit. Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit c822e73731fce3b49a4887140878d084d8a44c08 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Thu Aug 21 12:33:53 2014 +0300 powerpc/fsl_msi: spread msi ints across different MSIRs Allocate msis such that each time a new interrupt is requested, the SRS (MSIR register select) to be used is allocated in a round-robin fashion. The end result is that the msi interrupts will be spread across distinct MSIRs with the main benefit that now users can set affinity to each msi int through the mpic irq backing up the MSIR register. This is achieved with the help of a newly introduced msi bitmap api that allows specifying the starting point when searching for a free msi interrupt. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit de99f53d3af0e1bb9bc6c9e3107d72f3af6e05e9 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Tue Aug 19 14:25:05 2014 +0300 powerpc/fsl_msi: show more meaningful names in /proc/interrupts Rename the irq controller associated with a MSI interrupt to fsl-msi-<V>, where <V> is the virq of the cascade irq backing up this MSI interrupt. This way, one can set the affinity of a MSI through the cascade irq associated with said MSI interrupt. Given this example /proc/interrupts snippet: CPU0 CPU1 CPU2 CPU3 16: 0 0 0 0 OpenPIC 16 Edge mpic-error-int 17: 0 4 0 0 fsl-msi-224 0 Edge eth0-rx-0 18: 0 5 0 0 fsl-msi-225 1 Edge eth0-tx-0 19: 0 2 0 0 fsl-msi-226 2 Edge eth0 [...] 224: 0 11 0 0 OpenPIC 224 Edge fsl-msi-cascade 225: 0 0 0 0 OpenPIC 225 Edge fsl-msi-cascade 226: 0 0 0 0 OpenPIC 226 Edge fsl-msi-cascade [...] To change the affinity of MSI interrupt 17 (having the irq controller named "fsl-msi-224") instead of writing /proc/irq/17/smp_affinity, use the associated MSI cascade irq, in this case, interrupt 224, e.g.: echo 6 > /proc/irq/224/smp_affinity Note that a MSI cascade irq covers several MSI interrupts, so changing the affinity on the cascade will impact all of the associated MSI interrupts. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 543c043cbae79164aa087f96294cb37fc4a19a59 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Tue Aug 19 14:25:03 2014 +0300 powerpc/fsl_msi: change the irq handler from chained to normal As we do for other fsl-mpic related cascaded irqchips (e.g. error ints, mpic timers), use a normal irq handler for msi irqs too. This brings some advantages such as mask/unmask/ack/eoi and irq state taken care behind the scenes, kstats updates a.s.o plus access to features provided by mpic, such as affinity. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 834952314c8bae7331b0797a071958dda9bec60d Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Tue Aug 19 14:25:01 2014 +0300 powerpc/fsl_msi: reorganize structs to improve clarity and flexibility Store cascade_data in an array inside the driver data for later use. Get rid of the msi_virq array since now we can encapsulate the virqs in the cascade_data directly and access them through the array mentioned earlier. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Mihai Caraman <mihai.caraman@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 9593e61582248fe30b099d59d15edd5a30f87add Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Tue Sep 2 17:02:36 2014 +0800 spi: sirf: cleanup the indentation of marcos let "#define" statement keep same indentation. the old code layout is pretty ugly. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0021d97334d207169d2935489b8be11dc52c54a8 Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Tue Sep 2 17:01:04 2014 +0800 spi: sirf: fix 'cmd_transfer' function typos unify 'cmd_transfer' like 'pio_transfer' and 'dma_transfer' as void function, and also change left_rx_word according to transfer result. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d26e2c4d72c2f2a38246f618480864fe3224929c Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 4 18:09:29 2014 -0400 ext4: renumber EXT4_EX_* flags to avoid flag aliasing problems Suggested-by: Andreas Dilger <adilger@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 0e5ecf0a762627b949141df1d83094a9b0eb54a8 Author: Jan Kara <jack@xxxxxxx> Date: Thu Sep 4 18:09:29 2014 -0400 jbd2: optimize jbd2_log_do_checkpoint() a bit When we discover written out buffer in transaction checkpoint list we don't have to recheck validity of a transaction. Either this is the last buffer in a transaction - and then we are done - or this isn't and then we can just take another buffer from the checkpoint list without dropping j_list_lock. Signed-off-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit dc6e8d669cf5cb3ff84707c372c0a2a8a5e80845 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 4 18:09:22 2014 -0400 jbd2: don't call get_bh() before calling __jbd2_journal_remove_checkpoint() The __jbd2_journal_remove_checkpoint() doesn't require an elevated b_count; indeed, until the jh structure gets released by the call to jbd2_journal_put_journal_head(), the bh's b_count is elevated by virtue of the existence of the jh structure. Suggested-by: Jan Kara <jack@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 754cfed6bbcfdea6afb14f2686f7f8d71e94d4e2 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 4 18:08:22 2014 -0400 ext4: drop the EXT4_STATE_DELALLOC_RESERVED flag Having done a full regression test, we can now drop the DELALLOC_RESERVED state flag. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit e3cf5d5d9a86df1c5e413bdd3725c25a16ff854c Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 4 18:07:25 2014 -0400 ext4: prepare to drop EXT4_STATE_DELALLOC_RESERVED The EXT4_STATE_DELALLOC_RESERVED flag was originally implemented because it was too hard to make sure the mballoc and get_block flags could be reliably passed down through all of the codepaths that end up calling ext4_mb_new_blocks(). Since then, we have mb_flags passed down through most of the code paths, so getting rid of EXT4_STATE_DELALLOC_RESERVED isn't as tricky as it used to. This commit plumbs in the last of what is required, and then adds a WARN_ON check to make sure we haven't missed anything. If this passes a full regression test run, we can then drop EXT4_STATE_DELALLOC_RESERVED. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit a521100231f816f8cdd9c8e77da14ff1e42c2b17 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Thu Sep 4 18:06:25 2014 -0400 ext4: pass allocation_request struct to ext4_(alloc,splice)_branch Instead of initializing the allocation_request structure in ext4_alloc_branch(), set it up in ext4_ind_map_blocks(), and then pass it to ext4_alloc_branch() and ext4_splice_branch(). This allows ext4_ind_map_blocks to pass flags in the allocation request structure without having to add Yet Another argument to ext4_alloc_branch(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit efd01a72e7ec99ed583151fbf16b176cd2158967 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 5 14:08:55 2014 +0200 PCI/AER: Make <linux/aer.h> standalone includable The header file references u16 and u32 types, but they are not defined in the header nor does the header pull in the necessary includes for them. This causes build breakage when the file is included without any of the dependencies being satisfied from somewhere else. Fix this by including linux/types.h (for u16 and u32). [bhelgaas: removed pci_dev declaration (already added by 5ccb8225abf2)] Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 0a2e912d296201c476fe5d7ba6ac23a66325935f Author: Xia Kaixu <kaixu.xia@xxxxxxxxxx> Date: Wed Sep 3 21:18:12 2014 +0800 ARM: cns3xxx: fix allmodconfig panic in pci driver The kernel panic occurs when running an allmodconfig kernel on OMAP4460. The inicall "cns3xxx_pcie_init" does not check which hardware it's running on and just tries to access to its specific registers. Now call it from .init_late callback from the two machine descriptors. Signed-off-by: Xia Kaixu <kaixu.xia@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Cc: Anton Vorontsov <anton@xxxxxxxxxx> Cc: Felix Fietkau <nbd@xxxxxxxxxxx> Cc: Imre Kaloz <kaloz@xxxxxxxxxxx> Cc: linaro-kernel@xxxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx commit 8ddebc4103e6544bd31f0c97e55491387717a124 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Jul 23 19:52:40 2014 +0200 PCI: designware: Remove pci_assign_unassigned_resources() from dw_pcie_host_init() The pci_common_init_dev() call right before will already handle the device resource allocation, so this call was a no-op. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit 92483df2bad7649caacad60ec7b0f8016e894e11 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Jul 23 19:52:39 2014 +0200 PCI: designware: Use pci_create_root_bus() instead of pci_scan_root_bus() Use pci_create_root_bus() similar to other PCI host controller drivers. The main problem with pci_scan_root_bus() is that it not only creates the root bus, but also activates all devices on the bus. This triggers PCI device driver probe routines, which fail because resources haven't been allocated. To work around this we made sure that the host controller driver is probed early and finishes resource allocation before any other device drivers are registered. Switching to pci_create_root_bus() allows us to get rid of this special handling. Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit 4f2ebe00597c44f7dc6f88a052a2981ddcf6a0b6 Author: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Date: Wed Jul 23 19:52:38 2014 +0200 PCI: designware: Parse bus-range property from devicetree This allows to explicitly specify the covered bus numbers in the devicetree, which will come in handy once we see a SoC with more than one PCIe host controller instance. Previously the driver relied on the behavior of pci_scan_root_bus() to fill in a range of 0x00-0xff if no valid range was found. We fall back to the same range if no valid DT entry was found to keep backwards compatibility, but now do it explicitly. [bhelgaas: use %pR in error message to avoid duplication] Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxx> Acked-by: Mohit Kumar <mohit.kumar@xxxxxx> commit 0c4ffcfe1fbc1ef564ec137eab21137cb013b00e Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Tue Sep 2 17:26:19 2014 -0600 PCI: keystone: Add TI Keystone PCIe driver The Keystone PCIe controller is based on v3.65 version of the Designware h/w. Main differences are: 1. No ATU support 2. Legacy and MSI IRQ functions are implemented in application register space 3. MSI interrupts are multiplexed over 8 IRQ lines to the Host side. All of the application register space handing code is organized into pci-keystone-dw.c and the functions are called from pci-keystone.c to implement PCI controller driver. Also add necessary DT documentation and update the MAINTAINERS file for the driver. [bhelgaas: spelling and whitespace fixes] Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Mohit Kumar <mohit.kumar@xxxxxx> CC: Pratyush Anand <pratyush.anand@xxxxxx> CC: Jingoo Han <jg1.han@xxxxxxxxxxx> CC: Richard Zhu <r65037@xxxxxxxxxxxxx> CC: Kishon Vijay Abraham I <kishon@xxxxxx> CC: Marek Vasut <marex@xxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> commit 41534e53786df49b708c1e06f5d6ef9b53fbb689 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 1 14:15:11 2014 +0200 PCI: tegra: Implement a proper resource hierarchy Currently the resource hierarchy generated from the PCIe host bridge is completely flat: $ cat /proc/iomem 00000000-00000fff : /pcie-controller@00003000/pci@1,0 00003000-000037ff : pads 00003800-000039ff : afi 10000000-1fffffff : cs 28000000-28003fff : r8169 28004000-28004fff : r8169 ... The host bridge driver doesn't request all the resources that are used. Windows allocated to each of the root ports aren't tracked, so there is no way for resources allocated to individual devices to be matched up with the correct parent resource by the PCI core. This patch addresses this in two steps. It first takes the union of all regions associated with the PCIe host bridge (control registers, root port registers, configuration space, I/O and prefetchable as well as non- prefetchable memory regions) and uses it as the new root of the resource hierarchy. Subsequently, regions are allocated from within this new root resource so that the resource tree looks much more like what's expected: # cat /proc/iomem 00000000-3fffffff : /pcie-controller@00003000 00000000-00000fff : /pcie-controller@00003000/pci@1,0 00003000-000037ff : pads 00003800-000039ff : afi 10000000-1fffffff : cs 20000000-27ffffff : non-prefetchable 28000000-3fffffff : prefetchable 28000000-280fffff : PCI Bus 0000:01 28000000-28003fff : 0000:01:00.0 28000000-28003fff : r8169 28004000-28004fff : 0000:01:00.0 28004000-28004fff : r8169 ... Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 019fa46ebc93c654da1b29f472a66b3bf7880464 Author: Jisheng Zhang <jszhang@xxxxxxxxxxx> Date: Tue Jul 29 09:33:30 2014 +0800 PCI: tegra: Add missing cleanup in error path and tegra_msi_teardown_irq() We should call tegra_msi_free() to free the MSI bit if irq_create_mapping() fails. And we need to dispose the IRQ mapping during IRQ teardown. [bhelgaas: made irqd_to_hwirq() change suggested by Thierry] Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> commit 8d38821cbcf51292cd5a23469d03bd38932a3ba9 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Aug 1 14:15:10 2014 +0200 resources: Add device-managed request/release_resource() Provide device-managed implementations of the request_resource() and release_resource() functions. Upon failure to request a resource, the new devm_request_resource() function will output an error message for consistent error reporting. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> commit aa4f88c812b50d0cf77289fd50a9a4fed6bd4173 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 31 13:09:39 2014 +0100 ARM: configs: Enable cpufreq-cpu0 for multi_v7_defconfig Many boards share the cpufreq-cpu0 driver meaning that if we enable it in multi_v7_defconfig we can get a reasonable amount of functional utility for systems and test coverage for a fairly small increase in kernel size. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 4b86a33b5c4558b5e36fb6ae1d18afec7bccec1e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sun Aug 31 13:03:10 2014 +0100 ARM: configs: Remove REGULATOR_VIRTUAL_CONSUMER from defconfigs The virtual consumer is a test device intended to be used while developing regulator drivers, it should never be used in production. Remove it from all defconfigs to avoid confusion among users. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Matt Porter <mporter@xxxxxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 8baebe30642e76a5209093e75c7bdb4c8b6394eb Merge: c30131c ac42f48 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 4 22:01:33 2014 +0200 Merge tag 'v3.18-rockchip-dma' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Pull "rockchip dma support" from Heiko Stuebner: Enable the AMBA bus and add necessary dma-controller dts nodes * tag 'v3.18-rockchip-dma' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add rk3066 and rk3188 dma controllers ARM: dts: rockchip: add rk3288 dma controllers ARM: rockchip: enable the AMBA bus Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit c30131cf20a5a917a13f4bdefd71f2a545cb3fe6 Merge: 7d1311b f23a617 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 4 21:58:03 2014 +0200 Merge tag 'v3.18-rockchip-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt Pull "First hunk of Rockchip dts changes for 3.18" from Heiko Stuebner: - dw_mmc conversion from Jaehoon Chung - mmc support for rk3288 - pwm + backlight for rk3288 - rtc for Radxa Rock - saradc base nodes * tag 'v3.18-rockchip-dts1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: dts: rockchip: add saradc nodes ARM: dts: rockchip: add hym8563 rtc to Radxa Rock board ARM: dts: Enable PWM backlight on rk3288-evb ARM: dts: Add main PWM info to rk3288 ARM: dts: Move the PMIC interrupt pinctrl line to rk3288-evb common ARM: dts: Enable emmc and sdmmc on the rk3288-evb boards ARM: dts: Add emmc and sdmmc to the rk3288 device tree ARM: dts: rockchip: unuse the slot-node and deprecate the supports-highspeed for dw-mmc Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit c96bfaffb783b86555e13d97e871c2adeb97d613 Merge: 7d1311b 9e9bc23 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 4 21:52:28 2014 +0200 Merge tag 'davinci-for-v3.18/board' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci into next/fixes-non-critical Merge "DaVinci board file fixes for v3.18" from Sekhar Nori: Some non-critcal fixes for DA850 EVM board file adding missing regulator information. * tag 'davinci-for-v3.18/board' of git://git.kernel.org/pub/scm/linux/kernel/git/nsekhar/linux-davinci: ARM: davinci: board-da850-evm: Add needed regulators for tlv320aic3106 codec ARM: davinci: board-da850-evm: Mark dcdc2 of TPS65070 as always_on Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 647f95fa99b16e7c7854a202e91e6aa22ebeecf4 Merge: fff74a9 77cfe68 Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Thu Sep 4 21:44:54 2014 +0200 Merge tag 'msm-cleanup-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/cleanup Merge "MSM cleanups" from Linus Walleij: This cleans out some cruft code in the MSM architecture. * tag 'msm-cleanup-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: ARM: msm: Update the references to DEBUG_MSM_UARTx ARM: msm: remove reference to MSM_SERIAL_DEBUGGER ARM: msm: delete dangling mahimahi board file Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e4e3a37d3316332e02e06188dccf4401611e07b9 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 16:31:15 2014 +0400 ARM: clps711x: Add SOC BUS support Add SOC BUS support with CPU family, machine name and unique ID. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit e917ba44f8775e476079f2c163985eb9f49703e8 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 16:31:14 2014 +0400 ARM: clps711x: edb7211: Use new PWM driver for backlight Remove existing tricks for handling PWM and use CLPS711X PWM driver. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit fff74a935ec81d2353423917a2638aa1570d4634 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 16:31:13 2014 +0400 ARM: clps711x: Switch CLPS711X subarch to use clk and clocksource driver This patch removes old support for clk and clocksource support and switches platform to use new drivers. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> commit 7850cdfc8028cc7d522c032f64c62c1c01e85875 Author: Qipan Li <Qipan.Li@xxxxxxx> Date: Tue Sep 2 17:01:01 2014 +0800 spi: sirf: correct spi gpio and hardware chipselect behaviour the old codes check the cs-gpios, if the gpio number is 0 like: <&gpio, 0, 0>, the driver will use the only hardware chipselect. this is wrong because of_spi_register_master() can read property cs-gpios from device node and set the spi master's cs number and gpio cs automatically based on whether the cs-gpios is valid. this patch fixes the beviour of CSR spi driver and move to a core level supported way. Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 85362efb80070bed890602483f71cd103be303c2 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:12 2014 +0200 ASoC: ssm2602: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. While we are at it also remove the regcache_cache_only() calls from suspend/resume as there shouldn't be any IO between suspend and resume. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0f0cc5a775ebe88d9be12489874bd2799b42e242 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:11 2014 +0200 ASoC: ssm2518: Cleanup manual bias level transitions Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_OFF at the end of CODEC probe() can also be removed as the CODEC is already in OFF state at this point. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cd5d3a151118cd815be15970db099bcdb3f0ad12 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:10 2014 +0200 ASoC: adav80x: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. While we are at it also remove the regcache_cache_only() calls from suspend/resume as there shouldn't be any IO between suspend and resume. Since the ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC there is no need to do it manually anymore either. The manual transition to SND_SOC_BIAS_STANDBY at the end of CODEC probe() can also be removed as the core will automatically do this after the CODEC has been probed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0e0f9b960a011a9e3815004f37cc475229170dfd Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:09 2014 +0200 ASoC: adau17x1: Cleanup manual bias level transitions Set the CODEC driver's suspend_bias_off flag rather than manually going to SND_SOC_BIAS_OFF in suspend and SND_SOC_BIAS_STANDBY in resume. This makes the code a bit shorter and cleaner. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d7858bd647cda68bf832997a280a2f44aec01f1b Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:08 2014 +0200 ASoC: adau1373: Cleanup manual bias level transitions The ASoC core now takes care of setting the bias level to SND_SOC_BIAS_OFF when removing the CODEC, no need to do it manually anymore. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a80932979a72ef9d4e66a69520c7588cc6de5699 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:07 2014 +0200 ASoC: Always run default suspend/resume code We do a bit more than just running the callbacks during suspend and resume these days (e.g. call regcache_mark_dirty() during suspend). But this is only when suspend and resume callbacks are specified for the driver, otherwise nothing is done. This means that drivers which don't want to do anything special during suspend and resume, but still want the standard operations to run, need to provide empty suspend and resume callback functions (rather than no callbacks). This patch updates the suspend and resume code to always run standard sequence regardless of whether suspend and resume handlers are provided. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 86dbf2ac6fcb2d2932d4610f2dfe0954aa0633f7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:06 2014 +0200 ASoC: Add support for automatically going to BIAS_OFF on suspend There is a substantial amount of drivers that in go to SND_SOC_BIAS_OFF on suspend and go back to SND_SOC_BIAS_SUSPEND on resume (Often this is even the only thing done in the suspend and resume handlers). This patch introduces a new suspend_bias_off flag, which when set by a driver will let the ASoC core automatically put the device's DAPM context at the SND_SOC_BIAS_OFF level during suspend. Once the device is resumed the DAPM context will go back to SND_SOC_BIAS_STANDBY (if the context is idle, otherwise to SND_SOC_BIAS_ON). This will allow us to remove a fair bit of duplicated code from the drivers. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1c325f771a88579f227fe017e4ee77d852cf5435 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:05 2014 +0200 ASoC: Shutdown DAPM contexts when removing a card Currently when a ASoC sound card is unregistered we leave the individual components in their current state, just call the remove() callback and leave it to the drivers to do the proper shutdown/cleanup. This patch introduces a call to snd_soc_dapm_shutdown() when removing the card. This will make sure that all DAPM widgets are properly powered down and all DAPM contexts are put at the SND_SOC_BIAS_OFF level. This will ensure that all components are properly powered down when the card is removed. Since a lot of drivers manually go to SND_SOC_BIAS_OFF in their remove callback this will also allow us to remove a bit of duplicated code. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 01e0df6647e713469466c7bb6d7157c2e3046192 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Sep 4 19:44:04 2014 +0200 ASoC: Set card->instantiated to false when removing the card Set card->instantiated to false when the card is removed to make sure that operations that expect the card to be fully instantiated do not run anymore during card removal. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 769b475323463cf7967ec993e8aa573022fbb68b Merge: e02c716 b792346 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Thu Sep 4 20:10:21 2014 +0100 Merge branch 'topic/component' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-suspend commit 71bcada88b0f3c7f11fa5b8a4b30ae66dbfabbf3 Author: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 10:27:54 2014 -0500 edac: altera: Add Altera SDRAM EDAC support This patch adds support for the CycloneV and ArriaV SDRAM controllers. Correction and reporting of SBEs, Panic on DBEs. There was a discussion thread on whether this driver should be an mfd driver or just make use of syscon, which is already a mfd. Ultimately, the decision to use a simple syscon interface was reached.[1] [1] https://lkml.org/lkml/2014/7/30/514 [dinguyen] Fixed Kconfig to have EDAC_ALTERA_MC as a tristate to prevent a build failure for allmodconfig. Signed-off-by: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Borislav Petkov <bp@xxxxxxx> [dinguyen] cleaned up commit message Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit db906eb2101b0564b0c65edf4a8647395196342e Author: Jade Bilkey <herself@xxxxxxxxxxxx> Date: Sat Aug 30 15:14:14 2014 -0400 ath5k: added debugfs file for dumping eeprom Signed-off-by: Jade Bilkey <herself@xxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 87fed556d08d21dd7dd3e0222c94c187e4c2d5e2 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Wed Sep 3 10:35:13 2014 +0200 bcma: get info about flash type SoC booted from There is an ongoing work on cleaning MIPS's nvram support so it could be re-used on other platforms (bcm53xx to say precisely). This will require a bit of extra logic in bcma this patch implements. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d17ec4d55223d9487df195012762da6f85862d4c Merge: ef4ead3 712b24a Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Thu Sep 4 13:45:56 2014 -0400 Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next commit ef4ead3f29256ed83991cd77b39334aadd25672a Merge: 6a5d088 d061661 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Thu Sep 4 13:41:33 2014 -0400 Merge tag 'mac80211-next-for-john-2014-08-29' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg <johannes@xxxxxxxxxxxxxxxx> says: "Not that much content this time. Some RCU cleanups, crypto performance improvements, and various patches all over, rather than listing them one might as well look into the git log instead." Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> Conflicts: drivers/net/wireless/ath/wil6210/wmi.c commit 0d37899363b0e5486f8800231b7edd75e8b60942 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Sep 3 20:01:55 2014 +0200 pinctrl: generic: Fix PIN_CONFIG_DRIVE_OPEN_SOURCE source/drain doc mismatch PIN_CONFIG_DRIVE_OPEN_SOURCE enables open source, not open drain. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c4edb116803933346d7ac5640a3f91c91158f9db Author: Rongjun Ying <rongjun.ying@xxxxxxx> Date: Tue Sep 2 17:46:47 2014 +0800 pinctrl: prima2: add I2S 2ch, 6ch, nodin, mclk groups we have done that for atlas6 in commit ed36c1a, 086b8904 etc. here we do same things for prima2. Signed-off-by: Rongjun Ying <rongjun.ying@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 2ed36928373cc3dfb20a4d17042e9a6e05538e41 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Thu Sep 4 11:58:19 2014 -0400 memfd_test: Add missing argument to printf() Add a missing path argument buf to printf() Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 3af0dbd592fe0a92002f16e341519ba03e92adf7 Author: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Date: Mon Sep 1 11:19:52 2014 +0800 gpio: mcp23s08 to support both device tree and platform data Device tree is not enabled in some architecture where gpio driver mcp23s08 is still required. v2-changes: - Parse device tree properties into platform data other than individual variables. v3-changes: - Use of_node in gpio_chip device structure, because the struct device * always has an of_node which is NULL when OF is not used. Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 57e67900d4c7949ad646a5f43a8ca5180170d2a0 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Sep 3 10:31:16 2014 -0400 memfd_test: Make it work on 32-bit systems This test currently fails on 32-bit systems since we use u64 type to pass the flags to fcntl. This commit changes this to use 'unsigned int' type for flags to fcntl making it work on 32-bit systems. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Reviewed-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Shuah Khan <shuahkh@xxxxxxxxxxxxxxx> commit 0a5d667048ab3b22dff3c60561a79310981ee897 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Sat Aug 30 16:43:00 2014 +0530 pinctrl: sirf: Remove gpiochip on failure cases This patch releases gpiochip related resources by calling gpiochip_remove when gpiochip_irqchip_add fails. CC: Linus Walleij <linus.walleij@xxxxxxxxxx> CC: Barry Song <Baohua.Song@xxxxxxx> CC: Rongjun Ying <rongjun.ying@xxxxxxx> CC: Yuping Luo <yuping.luo@xxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 59e22114b253aaa7caf14221df4dcf924d067922 Author: Ezra Savard <ezra.savard@xxxxxxxxxx> Date: Fri Aug 29 10:58:46 2014 -0700 gpio: zynq: Fixed broken wakeup implementation Use of unmask/mask in set_wake was an incorrect implementation. The new implementation correctly sets wakeup for the gpio chip's IRQ so the gpio chip will not sleep while wakeup-enabled gpio are in use. Signed-off-by: Ezra Savard <ezra.savard@xxxxxxxxxx> Reviewed-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a19467788170c55104082ba82c8d50f54b9d6106 Author: Ezra Savard <ezra.savard@xxxxxxxxxx> Date: Fri Aug 29 10:58:45 2014 -0700 gpio: zynq: Mask non-wakeup GPIO interrupts on suspend Added flag to the GPIO chip so that IRQ from non-wakeup GPIO will not wake the system. Signed-off-by: Ezra Savard <ezra.savard@xxxxxxxxxx> Reviewed-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f712c554a7fca8f6308afbce844eacbf5e48787b Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Wed Sep 3 19:28:16 2014 +0300 pinctrl: qcom: Make the target processor value configurable Currently the value used to specify that interrupts from the gpio should be routed to the application processor is hardcoded for all Qualcomm SoCs. But the new APQ8084 SoC uses a different value. To resolve this, we make this value configurable for each SoC. For all existing SoCs we continue to use the current value, and only for APQ8084 we use the new value. Suggested-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a9d490c5a8a05b1ff7d2d6fe5bf1053033788e76 Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Wed Sep 3 19:28:14 2014 +0300 dt: Document Qualcomm APQ8084 pinctrl binding Define a new binding for the Qualcomm TLMM (Top-Level Mode Mux) based pin controller inside the APQ8084. Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c4f6f9c0f38a30148f05bf477ffe3213b8dc2e0c Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Wed Sep 3 19:28:13 2014 +0300 pinctrl: qcom: Add APQ8084 pinctrl support This patchset adds pinctrl support for the Qualcomm APQ8084 platform. This set of patches adds pinctrl support for the Qualcomm APQ8084 platform. The first patch adds the pin definitions. The second patch contains the devicetree binding documentation. The third patch adds the DT node. The last patch makes the INTR_TARGET_PROC_APPS value configurable and defines it for each existing SoC. Tested on IFC6540 board. Changes since v3: - Fixed the sdc valid pin values in the binding documentation - sdc2 instead of sdc3. (suggested by Bjorn Andersson) Changes since v2: - Fixed some incorrect bits and offsets. (suggested by Bjorn Andersson) - Updated binding documentation to follow the format of msm8960. (suggested by Bjorn Andersson) - Added fourth patch, which removes the hardcoded INTR_TARGET_PROC_APPS value and makes it configurable. Also we keep the current value for existing SoCs. (suggested by Bjorn Andersson) Changes since v1: - Updated the total number of pins (suggested by Bjorn Andersson) - Added the missing pin info (provided by Andy Gross) - Updated groups and functions to be consistent with other pinctrls. (suggested by Andy Gross) - Removed unused functions, qdss and test pins. (suggested by Andy Gross) - Updated the documentation with the possible functions. Reviewed-by: Andy Gross <agross@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 75a41826e2c5dc1dc0fd5195fc29b031c97337af Author: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Date: Tue Aug 26 16:09:32 2014 -0500 arm: dts: Add Altera SDRAM EDAC bindings & devicetree entries. Add the Altera SDRAM EDAC bindings and device tree changes to the Altera SoC project. There was a discussion thread on whether this driver should be an mfd driver or just make use of syscon, which is already a mfd. Ultimately, the decision to use a simple syscon interface was reached.[1] [1] https://lkml.org/lkml/2014/7/30/514 Signed-off-by: Thor Thayer <tthayer@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxxx> [dinguyen] cleaned-up commit header and remove version history. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit c6dcb1010239e484a461178d3318b35ef44dbcf0 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 10:37:22 2014 -0500 ARM: dts: socfpga: memreserve first 4KB for future system use This patch adds a /memreserve/ section to reserve the first 4K for future use by the system. One possible use-case is trampoline code used to bring secondary cores online. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxxx> --- v3: Update commit message based on Mark Rutland's comment v2: Add a comment in the dts files commit 8126def857fdc5aba60a72a3a883f5eccf7c91d7 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Aug 14 10:21:48 2014 -0500 ARM: dts: socfpga: Add SD card detect Revision D of the SOCFGPA devkit has a GPIO line used for SD/MMC card detect. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Pavel Machek <pavel@xxxxxxx> commit 6314b318735a7b02271255ea4dae91ed95f528a1 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 16:29:28 2014 -0500 ARM: dts: socfpga: remove extra alias in the ArriaV devkit commit [2755e187 dts: socfpga: Add DTS entry for adding the stmmac glue layer for stmmac.] added an extra ethernet alias in the ArriaV devkit board file. This patch removes it. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit f5bbe55a270fa153465df23c266f61973c4c7dc0 Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Mon Aug 11 15:57:50 2014 -0500 ARM: dts: socfpga: unuse the slot-node and deprecate the supports-highspeed for dw-mmc dw-mmc controller can support multiple slots. But, there are no use-cases anywhere. So we don't need to support the slot-node for dw-mmc controller. And "supports-highspeed" property in dw-mmc is deprecated. "supports-highspeed" property can be replaced with "cap-sd/mmc-highspeed". Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Tushar Behera <trblinux@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Acked-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxx> commit ce9e1ac1b9becb9481f8492d9ccf713398a07ef8 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Sep 4 11:31:58 2014 -0300 [media] tw68: make tw68_pci_tbl static and constify drivers/media/pci/tw68/tw68-core.c:72:22: warning: symbol 'tw68_pci_tbl' was not declared. Should it be static? Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e15d1c12c5878b3a80d6573af1721e17264e0286 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Sep 3 03:36:14 2014 -0300 [media] tw68: refactor and cleanup the tw68 driver Refactor and clean up the tw68 driver. It's now using the proper V4L2 core frameworks. Tested with my Techwell tw6805a and tw6816 grabber boards. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5740f4e75f713015067e2667a52bd3b35ef91e07 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Sep 3 03:31:07 2014 -0300 [media] tw68: add original tw68 code This tw68 driver has been out-of-tree for many years on gitorious: https://gitorious.org/tw68/tw68-v2. This copies that code to the kernel as a record of that original code. Note that William Brack's email address in these sources is no longer valid and I have not been able to contact him. However, all the code is standard GPL. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2d025a5b763bc8344fe656e2df8c9900c0c99f28 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Sep 4 12:27:43 2014 +0100 drm/i915: Introduce a for_each_plane() macro Tired of copy/pasting things around. v2: Rebase on top of the for_each_pipe() change adding dev_priv as first argument. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8961def56845593f22ce85474e428f6e4892fdd3 Author: Srikanth Thokala <sthokal@xxxxxxxxxx> Date: Wed Aug 20 21:56:02 2014 +0530 PCI: xilinx: Add Xilinx AXI PCIe Host Bridge IP driver This is the driver for Xilinx AXI PCIe Host Bridge Soft IP. [bhelgaas: minor whitespace fixes] Signed-off-by: Srikanth Thokala <sthokal@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> commit 2789339044fb6dfbee0c8cd77e26438b80e333ee Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Thu Sep 4 12:27:23 2014 +0100 drm/i915: Rewrite ABS_DIFF() in a safer manner The new version of the macro does a few things better: - protect the arguments, - only evaluate the arguments once, - check that the arguments are of the same type, Change LC_FREQ_2K to be a unsigned 64bit constant and removed the '()' from the caller as a result. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 951468f33118d1183fd22a5e8450b80a5afc0dd9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 4 14:55:31 2014 +0300 drm/i915: Add comments explaining the vdd on/off functions Jani wanted some comments to explain why we call certain vdd on/off functions in certain places. v2: Make the comments more thorough (Imre) Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 08aff3fe26ae7a0d6f302ac2e1b7e2eb9933cd42 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:09 2014 +0300 drm/i915: Move DP port disable to post_disable for pch platforms We need to turn the DP port off after the pipe, otherwise the pipe won't turn off properly on certain pch platforms at least (happens on my ILK for example). This also matches the BSpec modeset sequence better. We still don't match the spec exactly though (eg. audio disable should happen much earlier), but at last this eliminates the nasty wait_for_pipe_off() timeouts. We already did the port disable after the pipe for VLV/CHV and for CPU eDP. For g4x leave the port disable where it is since that matches the modeset sequence in the documentation and I don't have a suitable machine to test if the other order would work. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7b13b58a802bbea6d94aac4e3cc6b33e481eb900 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:08 2014 +0300 drm/i915: Enable DP port earlier Bspec says we should enable the DP port before enabling panel power, and that the port must be enabled with training pattern 1. Do so. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 43072a454646d22f81808bdc8fb1b269ee1717a6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:07 2014 +0300 drm/i915: Turn on panel power before doing aux transfers On VLV/CHV the panel power sequencer may need to be "kicked" a bit to lock onto the new port, and that needs to happen before any aux transfers are attempted if we want the aux transfers to actaully succeed. So turn on panel power (part of the "kick") before aux transfers (DPMS_ON + link training). This also matches the documented modeset sequence better for pch platforms. The documentation doesn't explicitly state anything about the DPMS or link training DPCD writes, but the panel power on step is always listed before link training is mentioned. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> References: https://bugs.freedesktop.org/show_bug.cgi?id=70117 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6491ab27caa2d802b02bfa620a53476ffae5fa3e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:06 2014 +0300 drm/i915: Be more careful when picking the initial power sequencer pipe Try to make sure we find the power sequencer that the BIOS used by first looking for one which has the panel power enabled, then fall back to one with VDD force bit enabled, and finally look at just the port select bits. This should make us pick the correct power sequencer when the BIOS has already enabled the panel. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> [danvet: Shorten the vlv_intial_pps_pipe to make lines fit into 80 chars.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 773538e86081d146e0020435d614f4b96996c1f9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 4 14:54:56 2014 +0300 drm/i915: Reset power sequencer pipe tracking when disp2d is off The power sequencer loses its state when the disp2d power well is down. Clear the dev_priv->pps_pipe tracking so that the power sequencer state gets reinitialized the next time it's needed. v2: Fix the pps_mutex vs. power_domain mutex deadlock by taking power domain reference first v3: Rename from edp_pps_(un)lock() to just pps_(un)lock() for the future, update due to backlight code changes Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a4a5d2f8a96e09844a91469e889f15bd5e927399 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 4 14:54:20 2014 +0300 drm/i915: Track which port is using which pipe's power sequencer VLV/CHV have a per-pipe panel power sequencer which locks onto the port once used. We need to keep track wich power sequencers are locked to which ports. v2: remove spurious whitespace change, rebase due to backlight changes (Imre) Reviewed-by: Antti Koskipaa <antti.koskipaa@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Break some really long lines to appease checkpatch a bit.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e39b999a6f229386ea6c58cb1c10ce9dc912869b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Sep 4 14:53:14 2014 +0300 drm/i915: Fix edp vdd locking Introduce a new mutex (pps_mutex) to protect the power sequencer state. For now this state includes want_panel_vdd as well as the power sequencer registers. We need a single mutex (as opposed to per port) because later on we will need to deal with VLV/CHV which have multiple power sequencer which can be reassigned to different ports. v2: Add the locking to intel_dp_encoder_suspend too (Imre) v3: Take care intel_edp_backlight_power() and _intel_edp_backlight_on/off(), deal with reboot notifier vlv_power_sequencer_pipe() call (Imre) Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9cfb76905da525579d0d43c1205c86033d0ae3e5 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Thu Sep 4 10:59:41 2014 +0300 ASoC: tlv320aic31xx: Enable support for S24_LE format S24_LE is the same on the bus as S24_3LE, which means the codec can support it. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 95468892fdfeef6d1004b524e35957629efdbe00 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 7 15:39:54 2014 +0100 drm/i915: Reset the HEAD pointer for the ring after writing START Ville found an old w/a documented for g4x that suggested that we need to reset the HEAD after writing START. This is a useful fixup for some of the g4x ring initialisation woes, but as usual, not all. v2: Do the rewrite unconditionally anyway References: https://bugs.freedesktop.org/show_bug.cgi?id=76554 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ffe51d0d8abce3139a970c640ed48e73e9c360bb Author: Christian Gmeiner <christian.gmeiner@xxxxxxxxx> Date: Wed Sep 3 10:33:53 2014 +0200 HID: add support for PenMount HID TouchScreen Driver This patch adds a seperate hid-penmount driver to work around an issue with the HID report descriptor. The descriptor does not contain the ContactID usage and as result the touchscreen is represented as normal mouse to the system. This driver maps the button 0 emitted by the touchscreen to BTN_TOUCH. This makes it possible to use touch events in userspace. Signed-off-by: Christian Gmeiner <christian.gmeiner@xxxxxxxxx> Reviewed-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit adceac14166da8c466223a35ec59c4a4adeef976 Author: Frans Klaver <frans.klaver@xxxxxxxxx> Date: Thu Sep 4 09:25:37 2014 +0200 usb: serial: xsens_mt: always bind to interface number 1 Probe is testing if the current interface provides two bulk endpoints. While this achieves the goal of only binding to the correct interface, we already know we can find the device on interface number 1. Stop checking the endpoints and just return successfully when interface number 1 is probed. Signed-off-by: Frans Klaver <frans.klaver@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 7c13325380ee520ece4ddf517c6f6f895eb63f98 Author: Frans Klaver <frans.klaver@xxxxxxxxx> Date: Mon Sep 1 11:39:21 2014 +0200 usb: serial: xsens_mt: add author and description Signed-off-by: Frans Klaver <frans.klaver@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit aac2f1bf14d07c8f13048915f39df4a527350c9a Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Thu Aug 21 06:17:59 2014 +0000 ixgbe: limit combined total of macvlan and SR-IOV VFs Hardware has a limited number of pools available (64). Previously, no checks were in place to limit the number of accelerated macvlan devices based on the number of pools. Normally this would be ok, because there was already a limit for these well below the number of available pools. However, SR-IOV uses the very same pools. Therefor, we need to ensure that the total number of pools (number of VFs plus the number of non-VF pools in use for accelerated macvlans) does not exceed the number of pools available in hardware. This patch resolves a kernel NULL pointer dereference caused by the following commands: $modprobe ixgbe max_vfs=63 $ethtool -K eth2 l2-fwd-offload on $ip link add link eth2 macvlan0 type macvlan $ip link set dev macvlan0 up [ 992.950080] BUG: unable to handle kernel NULL pointer dereference at 0000000000000056 [ 992.951109] IP: [<ffffffffa003b71e>] ixgbe_disable_fwd_ring+0x1e/0xf0 [ixgbe] [ 992.951684] PGD 22a80e067 PUD 232e9b067 PMD 0 [ 992.952389] Oops: 0000 [#1] SMP [ 992.953014] Modules linked in: nfsd lockd nfs_acl exportfs auth_rpcgss oid_registry sunrpc bridge stp llc vhost_net macvtap macvlan vhost tun kvm_intel kvm ioatdma ixgbe mdio igb dca [ 992.956042] CPU: 2 PID: 11928 Comm: ifconfig Not tainted 3.16.0-rc6-net-next-07-29-2014-FCoE+ #1 [ 992.956915] Hardware name: Intel Corporation S2600CO/S2600CO, BIOS SE5C600.86B.02.03.0003.041920141333 04/19/2014 [ 992.957791] task: ffff8804341c0000 ti: ffff8801d7dc8000 task.ti: ffff8801d7dc8000 [ 992.958660] RIP: 0010:[<ffffffffa003b71e>] [<ffffffffa003b71e>] ixgbe_disable_fwd_ring+0x1e/0xf0 [ixgbe] [ 992.959613] RSP: 0018:ffff8801d7dcbbb8 EFLAGS: 00010286 [ 992.960093] RAX: 0000000000000001 RBX: 0000000000000000 RCX: 0000000000000001 [ 992.960575] RDX: ffff880232eb7000 RSI: 0000000000000000 RDI: ffff88022dc05800 [ 992.961059] RBP: ffff8801d7dcbbd8 R08: 0000000000000000 R09: 0000000000000000 [ 992.961541] R10: 0000000000000001 R11: 0000000000000000 R12: ffff88022ec20980 [ 992.962023] R13: ffff880232eb7000 R14: 0000000000000001 R15: 0000000000000001 [ 992.962508] FS: 00007fab264887a0(0000) GS:ffff880237640000(0000) knlGS:0000000000000000 [ 992.963378] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 992.963858] CR2: 0000000000000056 CR3: 000000022a939000 CR4: 00000000001427e0 [ 992.964340] Stack: [ 992.964806] ffff88022ec28840 ffff88022ec20980 ffff88022dc05800 ffff880232eb7000 [ 992.965976] ffff8801d7dcbc28 ffffffffa003bae8 ffff8801d7dcbbe8 0000000000000400 [ 992.967147] 000000000000000d ffff88022ec20980 ffff88022ec20000 ffff88022dc05800 [ 992.968319] Call Trace: [ 992.968795] [<ffffffffa003bae8>] ixgbe_fwd_ring_up+0x88/0x280 [ixgbe] [ 992.969284] [<ffffffffa0041d83>] ixgbe_fwd_add+0x173/0x220 [ixgbe] [ 992.969767] [<ffffffffa015056c>] macvlan_open+0x1bc/0x230 [macvlan] [ 992.970256] [<ffffffff816b8de7>] __dev_open+0xd7/0x150 [ 992.970735] [<ffffffff816b8bd7>] __dev_change_flags+0xa7/0x170 [ 992.971220] [<ffffffff816b8ccb>] dev_change_flags+0x2b/0x70 [ 992.971703] [<ffffffff817471b2>] devinet_ioctl+0x602/0x6d0 [ 992.972184] [<ffffffff81748168>] inet_ioctl+0x78/0x90 [ 992.972666] [<ffffffff816a143b>] sock_do_ioctl+0x2b/0x70 [ 992.973146] [<ffffffff816a14ed>] sock_ioctl+0x6d/0x260 [ 992.973627] [<ffffffff811ad3b4>] do_vfs_ioctl+0x84/0x540 [ 992.974109] [<ffffffff811a4c81>] ? final_putname+0x21/0x50 [ 992.974593] [<ffffffff818725d5>] ? sysret_check+0x22/0x5d [ 992.975073] [<ffffffff811ad901>] SyS_ioctl+0x91/0xa0 [ 992.975550] [<ffffffff818725a9>] system_call_fastpath+0x16/0x1b [ 992.976026] Code: ff 66 66 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 48 83 ec 20 48 89 5d e8 4c 89 65 f0 48 89 f3 4c 89 6d f8 4c 8b a7 08 02 00 00 <44> 0f b6 6e 56 44 03 af 14 02 00 00 4c 89 e7 e8 5e f2 ff ff be [ 992.982261] RIP [<ffffffffa003b71e>] ixgbe_disable_fwd_ring+0x1e/0xf0 [ixgbe] [ 992.983212] RSP <ffff8801d7dcbbb8> [ 992.983681] CR2: 0000000000000056 [ 992.984248] ---[ end trace 9f54802b5cc3638b ]--- Cc: John Fastabend <john.r.fastabend@xxxxxxxxx> Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit eec66731de41643c9752cccb54b9b1830039a5e9 Author: Jacob Keller <jacob.e.keller@xxxxxxxxx> Date: Thu Aug 21 06:16:55 2014 +0000 ixgbe: add comment noting recalculation of queues Since we previously called ixgbe_set_num_queues just prior to attempting to set our interrupt scheme, it may be non obvious why we have to call it again inside the function. Add a comment which helps make it more obvious that we are resetting features based on the fact that we do not have MSI-X enabled, and cannot use the previous settings. Signed-off-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit b8a2ca19bc1479745952967ec998fd92de92ec85 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Wed Aug 13 05:52:13 2014 +0000 ixgbevf: introduce delay for checking VFLINKS on 82599 VFLINKS.LINKUP bit tends to flap when a DA or SFP+ cable is disconnected. It can take up to 500 usecs for the LINKUP bit to be correct. This patch resolves the issue by introducing a delay for 82599 VFs of at least 500 usecs to make sure the VFLINKS value is correct. Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 07923c17b15e5251bb6e22e5f05be0d1009858d6 Author: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Date: Tue Aug 12 07:12:08 2014 +0000 ixgbe: reset interface on link loss with pending Tx work from the VF ixgbe initiates a reset of the interface on link loss with pending Tx work in order to clear the rings. This patch extends the pending Tx work check to the VF interfaces with the same purpose. Signed-off-by: Emil Tantilov <emil.s.tantilov@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit bcfd3432d1625ef749a8697d194010d0c75b97c9 Author: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Date: Thu Jul 17 02:11:22 2014 +0000 ixgbe: Cleanup FDB handling code This change makes it so that the behavior for FDB handling is consistent between both the SR-IOV and non-SR-IOV cases. The main change here is that we perform bounds checking on the number of SR-IOV addresses regardless of if SR-IOV is enabled or not as we can only support a certain number of addresses in the hardware. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Tested-by: Phil Schmitt <phillip.j.schmitt@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c24817b6babd4b966e68db536c004949bf24dae7 Author: Ethan Zhao <ethan.zhao@xxxxxxxxxx> Date: Tue Jul 22 18:36:43 2014 +0000 i40e: use global pci_vfs_assigned() to replace local i40e_vfs_are_assigned() There is global funcion pci_vfs_assigned(), so use it instead of composing local one. Signed-off-by: Ethan Zhao <ethan.kernel@xxxxxxxxx> Tested-by: Sibai Li <sibai.li@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e966d5c612c08e04fe8ca1a87c2ba8403775b814 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Sat Jul 12 07:28:26 2014 +0000 i40e/i40evf: Bump i40e/i40evf versions Bump i40e version to 1.0.11 and i40evf version to 1.0.5. Change-ID: I63a60fa2efe82aae87a8a3095f43218db57d46ce Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> commit 32b5b81170b6a60cf41d403ab31c417b56ff0d44 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Tue Aug 12 06:33:14 2014 +0000 i40e: fix panic due to too-early Tx queue enable This fixes the panic under traffic load when resetting. This issue could also show up if/whenever there is a Tx-timeout. Change-ID: Ie393a1f17fd5d962e56fc3bfe784899ef25402f5 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Signed-off-by: Mitch Williams <mitch.a.williams@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit a316f651c73f782ff7c6df623a69b67f8f464856 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Sat Jul 12 07:28:25 2014 +0000 i40e: Fix an issue when PF reset fails We shouldn't restart Admin queue subtask if PF reset fails since we do not have the AQ setup at that point. This patch makes sure we disable AQ clean subtask when PF reset fails. This will resolve an occasional kernel panic when PF reset fails for some reason. Change-ID: I11a747773362a8c5c0ad7a10cd34be0bda8eb9e8 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit faf32978616dc2dfe3dbbbe628806887a2115d44 Author: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Date: Sat Jul 12 07:28:21 2014 +0000 i40e: make warning less verbose The driver is un-necessarily printing a warning that is only marginally useful to the user. Make the warning only print if extended driver string printing is enabled, other messages related to a reset event will still continue to print. Change-ID: I5e8beca6516a2f176cd2e72b0ac2b3b909e6c953 Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 94128516290dad59d3aaef791faa815c1293298f Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Sat Jul 12 07:28:16 2014 +0000 i40e: Tell OS link is going down when calling set_phy_config Since we don't seem to be getting an LSE telling us link is going down during set_phy_config (but we do get an LSE telling us we are coming back up), fake one for the OS and tell them link is going down. Also do an atomic restart no matter what because there are times the user may want to end with link up even if they started with link down (like if they accidentally set it to a speed that can't link and are trying to fix it). Change-ID: I0a642af9c1d0feb67bce741aba1a9c33bd349ed6 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 356821a37dee93317779e39c781a5c103565c508 Author: Serey Kong <serey.kong@xxxxxxxxx> Date: Tue Jul 29 04:03:53 2014 +0000 i40e: Remove unnecessary assignment Remove unnecessary setting of "ret" variable as it's already set at the top of the function. Change-ID: Icaccfc67f335817a23579b7c43625d59ad6c9925 Signed-off-by: Serey Kong <serey.kong@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e6d9004d22989c9894d183e7161e7a4ea02477fe Author: Serey Kong <serey.kong@xxxxxxxxx> Date: Sat Jul 12 07:28:14 2014 +0000 i40e: Change wording to be more consistent Change "spoofck" to "spoofchk" to be consistent with as defined in netdev. Change-ID: I9866d6284cb5f92c8d71dc0776c6d1e71dfb62a5 Signed-off-by: Serey Kong <serey.kong@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c57e9f179b5cd2f4fbdfc973e9174094b06ca43b Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Sat Jul 12 07:28:13 2014 +0000 i40e: Allow user to change link settings if link is down Allow the user to change auto-negotiation and speed settings if link is down. Change-ID: I372967c627682b5e1835f623a7cbf41b21b51043 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 124ed15bf126b5bf437c8eee2873ecbeef464146 Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Sat Jul 12 07:28:12 2014 +0000 i40e: Add dual speed module support Now that fw has implemented dual speed module support, we can add ours. Also, add the phy type for 1G LR/SR and set its media type to fiber. Lastly, instead of a WARN_ON if the phy type is not recognized just print a warning. Change-ID: I2e5227d4a8c2907b0ed423038e5dbce774e466b0 Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 51128e8ac839495e0f2c8287cfe65f9277494a98 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 3 13:46:26 2014 +0200 pinctrl: sh-pfc: rename confusing pinmux ops variable The vtable named *pinmux_ops in the affected files are not really about pin multiplexing, but a struct related to some PFC-specific operations, inclusing pin config (bias setting). Rename the variable so as to avoid confusions. Acked-by: Laurent Pinchart <Laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit edad3b2a57082f6166b4f13445f70e8d3fc415fb Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 3 13:37:38 2014 +0200 pinctrl: imx/mxs: move freescale drivers to subdir This moves all the Freescale-related drivers (i.MX and MXS) to its own subdirectory to clear the view. Cc: Alexander Shiyan <shc_work@xxxxxxx> Cc: Anson Huang <b20788@xxxxxxxxxxxxx> Cc: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Cc: Denis Carikli <denis@xxxxxxxxxx> Cc: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Cc: Greg Ungerer <gerg@xxxxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 03e9f0cac5da6af85758276cb4624caf5911f2b9 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Sep 3 13:02:56 2014 +0200 pinctrl: clean up after enable refactoring commit 2243a87d90b42eb38bc281957df3e57c712b5e56 "pinctrl: avoid duplicated calling enable_pinmux_setting for a pin" removed the .disable callback from the struct pinmux_ops, making the .enable() callback the only remaining callback. However .enable() is a bad name as it seems to imply that a muxing can also be disabled. Rename the callback to .set_mux() and also take this opportunity to clean out any remaining mentions of .disable() from the documentation. Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Acked-by: Fan Wu <fwu@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 83ee73c1795d867f20525a53ea60e55c7b59a373 Author: Richard Genoud <richard.genoud@xxxxxxxxx> Date: Wed Sep 3 17:53:48 2014 +0200 tty: doc: Fix grammar in serial/tty Correct spelling typos in serial/tty Signed-off-by: Richard Genoud <richard.genoud@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4ad72b7fadd285f849439cdbc408f8b847cef704 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 19:23:37 2014 +0100 drm/i915: Fix unsafe vma iteration in i915_drop_caches When unbinding, there is a possibility that we drop the active reference on the object, thereby freeing it. If that happens, we may destroy the vm link as well as the object and vma. So iterate carefully. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0e56673b7bb4e66c15a5a2ca2d9ecabf9d74c2af Author: Ted Percival <ted@xxxxxxxxxx> Date: Thu Sep 4 15:18:21 2014 +0800 crypto: mcryptd - Fix typos in CRYPTO_MCRYPTD description Signed-off-by: Ted Percival <ted@xxxxxxxxxx> Acked-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e2cffb5f493a8b431dc87124388ea59b79f0bccb Author: Ondrej Kozina <okozina@xxxxxxxxxx> Date: Mon Aug 25 11:49:54 2014 +0200 crypto: algif - avoid excessive use of socket buffer in skcipher On archs with PAGE_SIZE >= 64 KiB the function skcipher_alloc_sgl() fails with -ENOMEM no matter what user space actually requested. This is caused by the fact sock_kmalloc call inside the function tried to allocate more memory than allowed by the default kernel socket buffer size (kernel param net.core.optmem_max). Signed-off-by: Ondrej Kozina <okozina@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 67a97845830f79584c9db8849ac723e5d2d57f65 Author: Jiri Kosina <jkosina@xxxxxxx> Date: Thu Sep 4 08:56:06 2014 +0200 HID: thingm: fix workqueue race on remove thingm_remove_rgb() needs to flush the workqueue after all the LED classes have been unregistered, otherwise the removal might race with another LED event coming, causing thingm_led_set() to schedule additional work after thingm_remove_rgb() has flushed it. This obviously causes oops later, as the scheduled work has been freed in the meantime. In addition to that, move the hid_hw_stop() to an earlier place, so that dmesg is not polluted by failure messages about not being able to write the LED while the device is being shut down. Reported-and-tested-by: Dylan Alex Simon <dylan-kernel@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 467669c5740a6f27780b991016995f95a6d47836 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Wed Sep 3 16:00:54 2014 -0700 HID: hid-sensor-hub: re-add mistakenly removed USB_DEVICE_ID_STM_HID_SENSOR id Adding USB_DEVICE_ID_STM_HID_SENSOR again in the quirk table. During 3.16 merge cycle somehow quirk for device id USB_DEVICE_ID_STM_HID_SENSOR is missing. I see commit dde3b45cd74e ("HID: hid-sensor-hub: new device id and quirk for STM Sensor hub") added new id USB_DEVICE_ID_STM_HID_SENSOR_1, but didn't really delete the old device id. Anyway we need to add this back, otherwise it breaks ST sensor hubs. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 315427691c7a064718b5ad7d378d7f1c1898a626 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Wed Sep 3 03:17:24 2014 -0700 locking/semaphore: Resolve some shadow warnings Resolve some shadow warnings resulting from using the name jiffies, which is a well-known global. This is not a problem of course, but it could be a trap for someone copying and pasting code, and it just makes W=2 a little cleaner. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409739444-13635-1-git-send-email-jeffrey.t.kirsher@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b89df95d52d5fd0de5a2ca3f8b49aaaee4675151 Author: Rick Jones <rick.jones2@xxxxxx> Date: Wed Sep 3 09:18:00 2014 -0700 mlx4_en: Convert the normal skb free path to dev_consume_skb_any() It would appear the mlx4_en driver was still making a call to dev_kfree_skb_any() where dev_consume_skb_any() would be more appropriate. This should make dropped packet profiling/tracking easier/better over a NIC driven by mlx4_en. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Acked-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 968d1af17b01b5eb343e17f64281561e1e169bb6 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Aug 28 12:35:27 2014 +0900 ARM: shmobile: armadillo800eva reference: Remove DTS The r8a7740 Armadillo800EVA DTS can now be used both for DT Multiplatform and the legacy case. Because of that remove the r8a7740 Armadillo800EVA DT reference DTS file. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 52031d41be060e9a7f6d113728109aed4758f7ae Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Aug 28 12:35:18 2014 +0900 ARM: shmobile: armadillo800eva reference: Remove C board code Now when the r8a7740 generic multiplatform case has the same features as the DT reference board code then get rid of the Armadillo800EVA DT reference C board code. DT Reference code in the future shall make use of the r8a7740 Multiplatform support code with the generic SoC machine vector. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 940001762ac514810e305aab356983829e5fa82a Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Wed Sep 3 09:22:36 2014 +0800 lib/rhashtable: allow user to set the minimum shifts of shrinking Although rhashtable library allows user to specify a quiet big size for user's created hash table, the table may be shrunk to a very small size - HASH_MIN_SIZE(4) after object is removed from the table at the first time. Subsequently, even if the total amount of objects saved in the table is quite lower than user's initial setting in a long time, the hash table size is still dynamically adjusted by rhashtable_shrink() or rhashtable_expand() each time object is inserted or removed from the table. However, as synchronize_rcu() has to be called when table is shrunk or expanded by the two functions, we should permit user to set the minimum table size through configuring the minimum number of shifts according to user specific requirement, avoiding these expensive actions of shrinking or expanding because of calling synchronize_rcu(). Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1f59533f9ca5634e7b8914252e48aee9d9cbe501 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Wed Sep 3 17:56:09 2014 +0200 qdisc: validate frames going through the direct_xmit path In commit 50cbe9ab5f8d ("net: Validate xmit SKBs right when we pull them out of the qdisc") the validation code was moved out of dev_hard_start_xmit and into dequeue_skb. However this overlooked the fact that we do not always enqueue the skb onto a qdisc. First situation is if qdisc have flag TCQ_F_CAN_BYPASS and qdisc is empty. Second situation is if there is no qdisc on the device, which is a common case for software devices. Originally spotted and inital patch by Alexander Duyck. As a result Alex was seeing issues trying to connect to a vhost_net interface after commit 50cbe9ab5f8d was applied. Added a call to validate_xmit_skb() in __dev_xmit_skb(), in the code path for qdiscs with TCQ_F_CAN_BYPASS flag, and in __dev_queue_xmit() when no qdisc. Also handle the error situation where dev_hard_start_xmit() could return a skb list, and does not return dev_xmit_complete(rc) and falls through to the kfree_skb(), in that situation it should call kfree_skb_list(). Fixes: 50cbe9ab5f8d ("net: Validate xmit SKBs right when we pull them out of the qdisc") Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f3c7eec60ad4f990d7bcbc41a1597a4fc7268f6 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Wed Sep 3 12:12:50 2014 +0200 qdisc: exit case fixes for skb list handling in qdisc layer More minor fixes to merge commit 53fda7f7f9e (Merge branch 'xmit_list') that allows us to work with a list of SKBs. Fixing exit cases in qdisc_reset() and qdisc_destroy(), where a leftover requeued SKB (qdisc->gso_skb) can have the potential of being a skb list, thus use kfree_skb_list(). This is a followup to commit 10770bc2d1 ("qdisc: adjustments for API allowing skb list xmits"). Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 126f998e4ae8bc45cd72c7e62c53767c007fc319 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Wed Sep 3 09:49:01 2014 +0900 ARM: shmobile: lager: correct memory map The base address of the second memory region on the lager board is 0x140000000. Update the tag used in the dts file accordingly. This is a documentation fix and should have no run-time affect. This problem was introduced when the second memory region was added to the lager dts file by 62bc32a2573c4219 ("ARM: shmobile: Include all 4 GiB of memory on Lager)" in v3.14. Reported-by: NAOYA SHIIBA <naoya.shiiba.nx@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4081363fbe84a7ebac6d3339dd2775df45d856d0 Author: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> Date: Tue Sep 2 15:31:18 2014 -0700 f2fs: introduce F2FS_I_SB, F2FS_M_SB, and F2FS_P_SB This patch adds three inline functions to clean up dirty casting codes. Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx> commit 017f14e88bf15ca96eb377b3b14fc3c3332e6b9b Author: Todd Broch <tbroch@xxxxxxxxxxxx> Date: Wed Sep 3 16:56:12 2014 -0700 Input: cros_ec_keyb - optimize ghosting algorithm Previous algorithm was a bit conservative and complicating with respect to identifying key ghosting. This CL uses the bitops hamming weight function (hweight8) to count the number of matching rows for colM & colN. If that number is > 1 ghosting is present. Additionally it removes NULL keys and our one virtual keypress KEY_BATTERY from consideration as these inputs are never physical keypresses. Signed-off-by: Todd Broch <tbroch@xxxxxxxxxxxx> Reviewed-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx> Reviewed-by: Luigi Semenzato <semenzato@xxxxxxxxxxxx> Tested-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 26a047ab101a6ab765b805c7417e82e1ed413ff2 Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Thu Aug 28 09:21:46 2014 +0530 powerpc: dts: t4240: Change T4240 USB controller version Change USB controller version to 2.5 in compatible string for T4240 Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 00406e8772c61feb57c1baeb97531aa199614e65 Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Tue Aug 26 16:46:11 2014 -0500 powerpc: fsl_pci: Add forced PCI Agent enumeration The following commit prevents the MPC8548E on the XPedite5200 PrPMC module from enumerating its PCI/PCI-X bus: powerpc/fsl-pci: use 'Header Type' to identify PCIE mode The previous patch prevents any Freescale PCI-X bridge from enumerating the bus, if it is hardware strapped into Agent mode. In PCI-X, the Host is responsible for driving the PCI-X initialization pattern to devices on the bus, so that they know whether to operate in conventional PCI or PCI-X mode as well as what the bus timing will be. For a PCI-X PrPMC, the pattern is driven by the mezzanine carrier it is installed onto. Therefore, PrPMCs are PCI-X Agents, but one per system may still enumerate the bus. This patch causes the device node of any PCI/PCI-X bridge strapped into Agent mode to be checked for the fsl,pci-agent-force-enum property. If the property is present in the node, the bridge will be allowed to enumerate the bus. Cc: Minghuan Lian <Minghuan.Lian@xxxxxxxxxxxxx> Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 7b0e6d6f6de5916aee2a972a4e3a622009b9743a Author: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Date: Mon Aug 25 16:40:05 2014 +0530 powerpc: configs: Add VFAT file-system configs Add CONFIG_NLS_CODEPAGE_437, CONFIG_NLS_CODEPAGE_850, CONFIG_NLS_ISO8859_1 in default configs for 85xx and 86xx socs. Required for mounting vfat file-systems on USB devices Signed-off-by: Ramneek Mehresh <ramneek.mehresh@xxxxxxxxxxxxx> Signed-off-by: Nikhil Badola <nikhil.badola@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 26ae4980b5e4739af93543a147facb421fb78ae8 Author: Aaron Sierra <asierra@xxxxxxxxxxx> Date: Fri Aug 15 16:07:48 2014 -0500 fsl_ifc: Fix csor_ext position in fsl_ifc_regs According to Freescale manuals, the IFC_CSORn_EXT register is located immediately _after_ the bank's IFC_CSORn register. This patch adjusts the csor_ext member of and reserved register arrays immediately surrounding the csor_cs structure to provide proper access to this register. Signed-off-by: Aaron Sierra <asierra@xxxxxxxxxxx> Acked-by: Prabhakar Kushwaha <prabhakar@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 67e35c3a79b7349a9b0dbe1dd0bf82def0296714 Author: Tudor Laurentiu <b10716@xxxxxxxxxxxxx> Date: Wed Aug 13 16:55:13 2014 +0300 powerpc/fsl_msi: support vmpic msi with mpic 4.3 The new MSI block in MPIC 4.3 added the MSIIR1 register, with a different layout, in order to support 16 MSIR registers. The msi binding was also updated so that the "reg" reflects the newly introduced MSIIR1 register. Virtual machines advertise these msi nodes by using the compatible "fsl,vmpic-msi-v4.3" so add support for it. Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@xxxxxxxxxxxxx> Cc: Scott Wood <scottwood@xxxxxxxxxxxxx> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> commit 516d5f8b04ce2bcd24f03323fc743ae25b81373d Merge: 6ba6945 69e273c Author: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Date: Wed Sep 3 16:01:36 2014 -0700 Merge tag 'v3.17-rc3' into next Sync with mainline to bring in Chrome EC changes. commit 84f44cc56c0994df7778bde55c8d5e9aa9fff8f5 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Aug 8 18:40:45 2014 -0500 powerpc/fsl-pci: Limit ZONE_DMA32 to 2GiB on 64-bit platforms FSL PCI cannot directly address the whole lower 4 GiB due to conflicts with PCICSRBAR and outbound windows. By the time max_direct_dma_addr is set to the precise limit, it will be too late to alter the zone limits, but we should always have at least 2 GiB mapped (unless RAM is smaller than that). Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> commit cf5621032fbe7354c0c3fff17958b7029bbc9f30 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Aug 8 18:40:44 2014 -0500 powerpc/64: Limit ZONE_DMA32 to 4GiB in swiotlb_detect_4g() A DMA zone is still needed with swiotlb, for coherent allocations. This doesn't affect platforms that don't use swiotlb or that don't call swiotlb_detect_4g(). Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> commit 6397fc3fb05e73062b9790cfe2760e209ebd7b95 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Aug 8 18:40:43 2014 -0500 powerpc/64: Honor swiotlb limit in coherent allocations FSL PCI cannot directly address the whole lower 4 GiB due to conflicts with PCICSRBAR and outbound windows, and thus max_direct_dma_addr is less than 4GiB. Honor that limit in dma_direct_alloc_coherent(). Note that setting the DMA mask to 31 bits is not an option, since many PCI drivers would fail if we reject 32-bit DMA in dma_supported(), and we have no control over the setting of coherent_dma_mask if dma_supported() returns true. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> commit 1c98025c6c95bc057a25e2c6596de23288c68160 Author: Scott Wood <scottwood@xxxxxxxxxxxxx> Date: Fri Aug 8 18:40:42 2014 -0500 powerpc: Dynamic DMA zone limits Platform code can call limit_zone_pfn() to set appropriate limits for ZONE_DMA and ZONE_DMA32, and dma_direct_alloc_coherent() will select a suitable zone based on a device's mask and the pfn limits that platform code has configured. Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx> Cc: Shaohui Xie <Shaohui.Xie@xxxxxxxxxxxxx> commit f1a07231611c9c6f6a9a49c5a0f230b4f594d5b4 Author: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Date: Tue Aug 19 18:21:08 2014 +0800 ARM: dts: Add sdio0 and sdio1 to the rk3288 This patch requires that <https://patchwork.kernel.org/patch/4701721/> land in order to compile. Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit fbe1d5b00daabfa5313685c87ac8632a77aeb31d Merge: 69e273c c994068 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Wed Sep 3 15:30:29 2014 -0700 Merge branch 'omap-for-v3.17/dt' into omap-for-v3.18/dt Merge the gta04 related changes that were too late for v3.17 commit 89fffac802c18caebdf4e91c0785b522c9f6399a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 19:11:45 2014 -0300 [media] drxk_hard: fix bad alignments drivers/media/dvb-frontends/drxk_hard.c:2224:3-22: code aligned with following code on line 2227 Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit cea130021448763b15f4b16af184bbab4be118fb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 19:16:00 2014 -0300 [media] drxd_hard: fix bad alignments As reported by cocinelle: drivers/media/dvb-frontends/drxd_hard.c:2632:3-51: code aligned with following code on line 2633 Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a16ae7d5bcc79fb4b882a611815fad05f818bfb4 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 19:13:59 2014 -0300 [media] sp8870: fix bad alignments As reported by cocinelle: drivers/media/dvb-frontends/sp8870.c:395:2-14: code aligned with following code on line 397 Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a0cfd75fdc46b56978ece383a7d6f6b04e9087ad Author: Kees Cook <keescook@xxxxxxxxxxxx> Date: Tue Aug 12 15:41:17 2014 -0700 seccomp: Add reviewers to MAINTAINERS This adds two reviewers to the seccomp tree. Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit ff27f38e0ef978aee4c9f7e3a4f3403aae832de2 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Mon Jul 21 18:49:17 2014 -0700 seccomp: Document two-phase seccomp and arch-provided seccomp_data The description of how archs should implement seccomp filters was still strictly correct, but it failed to describe the newly available optimizations. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit d39bd00deabe57420f2a3669eb71b0e0c4997184 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Mon Jul 21 18:49:16 2014 -0700 seccomp: Allow arch code to provide seccomp_data populate_seccomp_data is expensive: it works by inspecting task_pt_regs and various other bits to piece together all the information, and it's does so in multiple partially redundant steps. Arch-specific code in the syscall entry path can do much better. Admittedly this adds a bit of additional room for error, but the speedup should be worth it. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit 13aa72f0fd0a9f98a41cefb662487269e2f1ad65 Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Mon Jul 21 18:49:15 2014 -0700 seccomp: Refactor the filter callback and the API The reason I did this is to add a seccomp API that will be usable for an x86 fast path. The x86 entry code needs to use a rather expensive slow path for a syscall that might be visible to things like ptrace. By splitting seccomp into two phases, we can check whether we need the slow path and then use the fast path in if the filter allows the syscall or just returns some errno. As a side effect, I think the new code is much easier to understand than the old code. This has one user-visible effect: the audit record written for SECCOMP_RET_TRACE is now a simple indication that SECCOMP_RET_TRACE happened. It used to depend in a complicated way on what the tracer did. I couldn't make much sense of it. Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit a4412fc9486ec85686c6c7929e7e829f62ae377e Author: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Date: Mon Jul 21 18:49:14 2014 -0700 seccomp,x86,arm,mips,s390: Remove nr parameter from secure_computing The secure_computing function took a syscall number parameter, but it only paid any attention to that parameter if seccomp mode 1 was enabled. Rather than coming up with a kludge to get the parameter to work in mode 2, just remove the parameter. To avoid churn in arches that don't have seccomp filters (and may not even support syscall_get_nr right now), this leaves the parameter in secure_computing_strict, which is now a real function. For ARM, this is a bit ugly due to the fact that ARM conditionally supports seccomp filters. Fixing that would probably only be a couple of lines of code, but it should be coordinated with the audit maintainers. This will be a slight slowdown on some arches. The right fix is to pass in all of seccomp_data instead of trying to make just the syscall nr part be fast. This is a prerequisite for making two-phase seccomp work cleanly. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: linux-s390@xxxxxxxxxxxxxxx Cc: x86@xxxxxxxxxx Cc: Kees Cook <keescook@xxxxxxxxxxxx> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Kees Cook <keescook@xxxxxxxxxxxx> commit e4cf19ffe060e75d34c007565d0aef7189ec654e Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Tue Sep 2 15:50:43 2014 -0400 HID: thingm: set the proper error code before leaving In case of an unsupported firmware, the driver bails out without setting the LEDs interfaces, but forget to set the proper error code. err is then still equal to 0 and the hid subsytem consider the device to be in perfect shape. When removing it, thingm_remove() tries to unbind the rgb LEDs which has not been created, leading to a segfault. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c56019fc40c5b7a7b3aa7be7f17c6b993cd853b5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 18:43:31 2014 -0300 [media] tuner-xc2028: fix bad alignments As reported by cocinelle: drivers/media/tuners/tuner-xc2028.c:182:2-18: code aligned with following code on line 183 drivers/media/tuners/tuner-xc2028.c:184:2-19: code aligned with following code on line 185 drivers/media/tuners/tuner-xc2028.c:186:2-19: code aligned with following code on line 187 drivers/media/tuners/tuner-xc2028.c:188:2-17: code aligned with following code on line 189 drivers/media/tuners/tuner-xc2028.c:190:2-19: code aligned with following code on line 191 drivers/media/tuners/tuner-xc2028.c:192:2-19: code aligned with following code on line 193 drivers/media/tuners/tuner-xc2028.c:194:2-18: code aligned with following code on line 195 drivers/media/tuners/tuner-xc2028.c:196:2-17: code aligned with following code on line 197 drivers/media/tuners/tuner-xc2028.c:198:2-18: code aligned with following code on line 199 drivers/media/tuners/tuner-xc2028.c:200:2-19: code aligned with following code on line 201 drivers/media/tuners/tuner-xc2028.c:202:2-18: code aligned with following code on line 203 drivers/media/tuners/tuner-xc2028.c:204:2-16: code aligned with following code on line 205 drivers/media/tuners/tuner-xc2028.c:206:2-20: code aligned with following code on line 207 drivers/media/tuners/tuner-xc2028.c:208:2-17: code aligned with following code on line 209 drivers/media/tuners/tuner-xc2028.c:210:2-18: code aligned with following code on line 211 drivers/media/tuners/tuner-xc2028.c:212:2-18: code aligned with following code on line 213 drivers/media/tuners/tuner-xc2028.c:214:2-18: code aligned with following code on line 215 drivers/media/tuners/tuner-xc2028.c:216:2-16: code aligned with following code on line 217 drivers/media/tuners/tuner-xc2028.c:218:2-18: code aligned with following code on line 219 drivers/media/tuners/tuner-xc2028.c:220:2-20: code aligned with following code on line 221 drivers/media/tuners/tuner-xc2028.c:222:2-21: code aligned with following code on line 223 drivers/media/tuners/tuner-xc2028.c:224:2-20: code aligned with following code on line 225 drivers/media/tuners/tuner-xc2028.c:226:2-23: code aligned with following code on line 227 drivers/media/tuners/tuner-xc2028.c:228:2-23: code aligned with following code on line 229 drivers/media/tuners/tuner-xc2028.c:230:2-22: code aligned with following code on line 231 drivers/media/tuners/tuner-xc2028.c:232:2-24: code aligned with following code on line 233 drivers/media/tuners/tuner-xc2028.c:234:2-19: code aligned with following code on line 235 drivers/media/tuners/tuner-xc2028.c:236:2-19: code aligned with following code on line 237 drivers/media/tuners/tuner-xc2028.c:238:2-20: code aligned with following code on line 239 drivers/media/tuners/tuner-xc2028.c:240:2-19: code aligned with following code on line 241 Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9a15fff05b702c3ea29ae64db0d3ff0355431eab Author: Nishanth Menon <nm@xxxxxx> Date: Wed Sep 3 11:03:10 2014 -0500 ARM: dts: am335x-bone*: Fix model name and update compatibility information Beaglebone white and beaglebone black differ in tiny little aspects. This is the reason why we maintain seperate dts for these platforms. However, there is no real way to decode from dtb which platform it is since compatible and model name are the same for both platforms. Fix this so that beaglebone black and beaglebone are identifiable, while maintaining compatibility for older zImages which might use old beaglebone compatible flag for black as well. Reported-by: Tom Rini <trini@xxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 027bc41a3eb4759d60641c033c9a4c85be1cfd39 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Sep 2 22:15:26 2014 +0800 NFSD: Put export if prepare_creds() fail Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 13c82e8eb515ea84de4e3a1a097137bd3d5c2cc5 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Sep 2 22:14:31 2014 +0800 NFSD: Full checking of authentication name Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 48c348b09c6b35b1cf6f2125d1d4fd7c962dd79d Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Sep 2 22:13:32 2014 +0800 NFSD: Fix bad using of return value from qword_get Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 15d176c195b164db59dd4473a0cfb1ad0bfbd0a4 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Sep 2 22:12:17 2014 +0800 NFSD: Fix a memory leak if nfsd4_recdir_load fail Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit c2236f141ebb6198af0839b8e4f804ead2d30ca8 Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Tue Sep 2 22:11:27 2014 +0800 NFSD: Reset creds after mnt_want_write_file() fail Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 8519f994e5cf27ecdac3b0fe2a4dc7abd320643e Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Wed Sep 3 08:14:06 2014 +0800 NFSD: Put file after ima_file_check fail in nfsd_open() Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 89f2ab55ea0292bbdf07e5e0b3266ebf0018a224 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Wed Sep 3 15:43:25 2014 -0400 HID: wacom: Add support for the Cintiq Companion The Wacom Cintiq Companion shares the same sensor than the Cintiq Companion Hybrid, with the exception of the different PIDs. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 97e0e1e867952d369f245fce0d6791eacb40b2bb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 18:42:09 2014 -0300 [media] xc4000: Fix bad alignments As reported by cocinelle: drivers/media/tuners/xc4000.c:573:2-28: code aligned with following code on line 574 drivers/media/tuners/xc4000.c:575:2-29: code aligned with following code on line 576 drivers/media/tuners/xc4000.c:577:2-29: code aligned with following code on line 578 drivers/media/tuners/xc4000.c:579:2-27: code aligned with following code on line 580 drivers/media/tuners/xc4000.c:581:2-29: code aligned with following code on line 582 drivers/media/tuners/xc4000.c:583:2-29: code aligned with following code on line 584 drivers/media/tuners/xc4000.c:585:2-28: code aligned with following code on line 586 drivers/media/tuners/xc4000.c:587:2-27: code aligned with following code on line 588 drivers/media/tuners/xc4000.c:589:2-28: code aligned with following code on line 590 drivers/media/tuners/xc4000.c:591:2-29: code aligned with following code on line 592 drivers/media/tuners/xc4000.c:593:2-28: code aligned with following code on line 594 drivers/media/tuners/xc4000.c:595:2-26: code aligned with following code on line 596 drivers/media/tuners/xc4000.c:597:2-30: code aligned with following code on line 598 drivers/media/tuners/xc4000.c:599:2-27: code aligned with following code on line 600 drivers/media/tuners/xc4000.c:601:2-28: code aligned with following code on line 602 drivers/media/tuners/xc4000.c:603:2-28: code aligned with following code on line 604 drivers/media/tuners/xc4000.c:605:2-28: code aligned with following code on line 606 drivers/media/tuners/xc4000.c:607:2-26: code aligned with following code on line 608 drivers/media/tuners/xc4000.c:609:2-28: code aligned with following code on line 610 drivers/media/tuners/xc4000.c:611:2-30: code aligned with following code on line 612 drivers/media/tuners/xc4000.c:613:2-31: code aligned with following code on line 614 drivers/media/tuners/xc4000.c:615:2-30: code aligned with following code on line 616 drivers/media/tuners/xc4000.c:617:2-33: code aligned with following code on line 618 drivers/media/tuners/xc4000.c:619:2-33: code aligned with following code on line 620 drivers/media/tuners/xc4000.c:621:2-32: code aligned with following code on line 622 drivers/media/tuners/xc4000.c:623:2-34: code aligned with following code on line 624 drivers/media/tuners/xc4000.c:625:2-29: code aligned with following code on line 626 drivers/media/tuners/xc4000.c:627:2-29: code aligned with following code on line 628 drivers/media/tuners/xc4000.c:629:2-30: code aligned with following code on line 630 drivers/media/tuners/xc4000.c:631:2-29: code aligned with following code on line 632 Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8f507ef522d55a6e2f9e11a1c1163a92756da044 Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 11:39:15 2014 -0400 HID: usbhid: improve handling of Clear-Halt and reset This patch changes the way usbhid carries out Clear-Halt and reset. Currently, after a Clear-Halt on the interrupt-IN endpoint, the driver immediately restarts the interrupt URB, even if the Clear-Halt failed. This doesn't work out well when the reason for the failure was that the device was disconnected (when a low- or full-speed device is connected through a hub to an EHCI controller, transfer errors caused by disconnection are reported as stalls by the hub). Instead now the driver will attempt a reset after a failed Clear-Halt. The way resets are carried out is also changed. Now the driver will call usb_queue_reset_device() instead of calling usb_reset_device() directly. This avoids a deadlock that would arise when a device is unplugged: The hid_reset() routine runs as a workqueue item, a reset attempt after the device has been unplugged will fail, failure will cause usbhid to be unbound, and the disconnect routine will try to do cancel_work_sync(). The usb_queue_reset_device() implementation is carefully written to handle scenarios like this one properly. Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a1a57abaaf820a3ed2fe72d70bf52f57a7a5ae21 Author: Nishanth Menon <nm@xxxxxx> Date: Thu Aug 28 15:45:03 2014 -0500 ARM: dts: omap4-panda: Fix model and SoC family details Currently we claim that omap4-panda and omap4-panda-es are essentially the same, but they are not since PandaBoard-ES uses OMAP4460 and PandaBoard uses OMAP4430. So, split the common definition and make the model name available. Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit ea21f702fc65e1f343dcbc422613cbb8af23d901 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:16:53 2014 -0300 [media] cx231xx: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2f00fce46793bc5b523c64dcefd7bac13ab70b9c Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:16:04 2014 -0300 [media] mxl5005s: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4539fc5c68d78f2df815f426f957528011b50a08 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:06:55 2014 -0300 [media] mt2060: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f2747cf6f0a1110d132280d49ce3dd6886dacd85 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:03:41 2014 -0300 [media] nuvoton-cir: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit fc823729e0b432a628d3f32e11dfa83a30de35aa Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:03:08 2014 -0300 [media] ite-cir: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9b08f41724b60a49979a2458e90918f812228a37 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:02:30 2014 -0300 [media] fintek-cir: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6cf77d18f6ffa3eda879aff919a8cca10d5aa85a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:40:22 2014 -0300 [media] marvel-ccic: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b80cefb4153b374d536c11ac4664cfc6dd90073b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:39:46 2014 -0300 [media] davinci: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Acked-by: "Lad, Prabhakar" <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5b0eb8271d9126db2daa2cf41422cc84ba319a6e Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:36:12 2014 -0300 [media] saa7164: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a896dc7a1f416e2b76efabff27c624c69645cc50 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:30:41 2014 -0300 [media] bt8xx: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8b37c6455fc8f43e0e95db2847284e618db6a4f8 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:18:27 2014 -0300 [media] media-devnode: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7c9950768fb4a0a3fbd3a866ae94734c5078fd0c Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:10:25 2014 -0300 [media] stv0367: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2f1e48d670dc755d40f7bd926d02713d90b378ea Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:02:55 2014 -0300 [media] siano: just return 0 instead of using a var Instead of allocating a var to store 0 and just return it, change the code to return 0 directly. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d8e8b40c067c3242b32ebe835f6bc6247fd67454 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:50:39 2014 -0300 [media] s5p-tv: Simplify the return logic Make sure pm_runtime_* calls does not use unnecessary IS_ERR_VALUE(). Reported by scripts/coccinelle/api/pm_runtime.cocci script. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a04557a20be0ff3733eca454abdd1bd4c5ebc3f2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:04:59 2014 -0300 [media] e4000: simplify boolean tests Instead of using if (foo == false), just use if (!foo). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b2617dc3eb3ed3e768919cda55b36571bc6c7bf8 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:53:05 2014 -0300 [media] via-camera: simplify boolean tests Instead of using if (foo == false), just use if (!foo). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 160ac0babc0d8c382bdf32db238bf16a3d3fa0a5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:46:32 2014 -0300 [media] omap: simplify test logic instead of testing bools if they are false or true, just use if (!foo) or if (foo). That makes the code easier to read and shorter. Also, properly initialize booleans with true or false. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1b21e2187adea385d9de53c8c861d9f56ea5bebe Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:39:01 2014 -0300 [media] lm3560: simplify a boolean test lml33dpatch is boolean. So, the possible values are true or false. Instead of using if (lml33dpath), just use if (!lml33dpath). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit afb666d1e7b0af5ec8f8b35b6f9d813d538c95e3 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:28:27 2014 -0300 [media] lm3560: simplify boolean tests Instead of using if (on == true), just use if (on). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5a7f7b79d80ee8ee9f54055f1ba56fae1644b4ec Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:23:57 2014 -0300 [media] drxk_hard: simplify test logic instead of testing if it is false or true, just use if (!foo) or if (foo). That makes the code easier to read and shorter. Also, properly initialize booleans with true or false. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ad7b8c0227ef18b29256e063d788e206c1466ac2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:19:29 2014 -0300 [media] msi2500: simplify boolean tests Instead of using if (foo == false), just use if (!foo). That allows a faster mental parsing when analyzing the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 61f6a0569c6ce563accb8f415373756febe62752 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:18:48 2014 -0300 [media] af9005: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 235d89ec4a1b7b34005ba5f277a3cd7ece7f3a8b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:18:17 2014 -0300 [media] lmedm04: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f6b83c3e06e2e6dddd126294bf465afec5dd495e Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:17:56 2014 -0300 [media] au0828-dvb: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2816cc31e06b9d04ac0a92ae6a8311b5ab873fed Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 16:01:36 2014 -0300 [media] ene_ir: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8b4b68186f7095fc2a4badaacd31a39ac6cadea2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:54:17 2014 -0300 [media] radio: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6c515a44a84aef17dc63b30e84ef87c53c580585 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:53:45 2014 -0300 [media] vivid-tpg: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 68bbbd7912abb7ec8633fb32342ed9049ed98ab5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:52:21 2014 -0300 [media] ti-vpe: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 11b4c175d99481b239993242b14961299477491d Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:48:14 2014 -0300 [media] omap3isp: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit cdde1a9bae292bcfca03ed9d77506ff1d376051f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:29:45 2014 -0300 [media] ov9740: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 06e916b75a067e4dceefcd19ddc34833b2f4a191 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:29:04 2014 -0300 [media] smiapp-core: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 79a5ee7882d0bc757f6861149934af7e89ef72fe Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:26:07 2014 -0300 [media] tda10071: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2fe15e201375ced4f2d1e9504f6ea19f6ffcae18 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:25:39 2014 -0300 [media] af9013: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Also, instead of testing foo == false, just use the simplified notation if(!foo). Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit afbd6eb4ba25388955a87caa9ffac5c5c0d1c22e Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:24:29 2014 -0300 [media] m88ds3103: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 285c0b005f387a9b1251d018aca3359497bd62a6 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:22:02 2014 -0300 [media] cxd2820r: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6a5e7fde3a04ef5134702753f77e9b8aa6aab789 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:20:50 2014 -0300 [media] af9013: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 22bf3deb7ee483167edd8ec1aecfb9928a759580 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:08:11 2014 -0300 [media] tuner-core: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7e6c8c1981b675c90820f55e5c03b83ae4ac3a43 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:06:13 2014 -0300 [media] em28xx: use true/false for boolean vars Instead of using 0 or 1 for boolean, use the true/false defines. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 49bc89623d4f7d7c5540083622459122e0ad2312 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:11:54 2014 -0300 [media] stv0900_core: don't allocate a temporary var The error return code STV0900_NO_ERROR happens only once, at the end of the functions. So, just return it directly. This driver should actually be fixed to return standard Linux error codes, instead of its own macros, but this should be done on a separate patchset. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c611c908bb389b700501d028644b9feb8faa20f7 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:51:45 2014 -0300 [media] soc_camera: remove uneeded semicolons We don't use semicolons after curly braces in the middle of the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c3142a61e62481c8f7a4f19b92ff735516b54f87 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:32:07 2014 -0300 [media] bttv-driver: remove an uneeded semicolon We don't use semicolons after curly braces in the middle of the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit bc39d69ae18816577f20b122d8b2fca120cd2f4f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:15:53 2014 -0300 [media] s5k5baf: remove an uneeded semicolon We don't use semicolons after curly braces in the middle of the code. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0282969190495950564fb0a7e6905881339a1ebc Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 14:57:30 2014 -0300 [media] vivid-vid-out: use memdup_user() Instead of allocating and coping from __user, do it using one atomic call. That makes the code simpler. Found by coccinelle. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 93623c87a38533be4d8a636f29e58dbd01d3841b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 14:55:19 2014 -0300 [media] soc_camera: use kmemdup() Instead of calling kzalloc and then copying, use kmemdup(). That avoids zeroing the data structure before copying. Found by coccinelle. Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e4d38b55504f5675703244fa45491d74cbf183ee Author: Hans de Goede <hdegoede@xxxxxxxxxx> Date: Thu Aug 28 10:20:48 2014 +0200 ACPI / video: Remove video_set_use_native_backlight quirk use_native_backlight_dmi defaults to true now, so video_set_use_native_backlight is a nop. Drop it. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> [ rjw: Changelog ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 712b24adc105518f7cbbb6f9f353efea48954bb9 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Aug 4 14:14:14 2014 +0200 iwlwifi: mvm: clean up AUX station handling The auxiliary station is being handled using the internal station helper functions, clean that up and make the helpers static. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 013290aa46689a97447ef93c7058436315e476d7 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Aug 4 13:38:48 2014 +0200 iwlwifi: mvm: clean up broadcast station handling Unify all the functions that handle the per-interface broadcast station and make them have mvm and vif parameters. While at it, add a new function to allocate the broadcast station instead of open-coding it, and make the combined alloc+send and free+send functions use the alloc/free & send functions. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 110cf810852f0f5333bcfb10065995006d8ecbbb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 23:14:24 2014 +0200 iwlwifi: mvm: use iwl_mvm_mac_get_queues_mask() more There are a few places that can call the function iwl_mvm_mac_get_queues_mask() instead of open-coding the equivalent, so do that. This requires changing it to return the multicast queue as part of the bitmap, which broke GO mode because including it in the broadcast station queues seems to confuse the firmware, so work around that. Also, the API defines that the CAB queue shouldn't be included in the TFD queue mask, adjust the comment accordingly (not a bug). Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9e848010bfa1c0da21292afb7a98957b5c35622d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Aug 4 14:33:42 2014 +0200 iwlwifi: mvm: use tdls indication from mac80211 Instead of checking whether a given station is the first to be added on a client interface check for the new TDLS flag and warn in the unexpected cases. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit df197c00bf1dbdee888aa886e5e93b49b42a268b Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 18:14:45 2014 +0200 iwlwifi: mvm: clarify stop_count, remove transport_stopped The queue handling is a bit unclear - we have an array for stop_count[IWL_MAX_HW_QUEUES] but indices really are the mac80211 queue numbers. Change the array to be only of the right size for mac80211 queues (IEEE80211_MAX_QUEUES) and rename it to be clearer. While at it, also remove the unused transport queue stop bitmap in mvm. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b2d81db7b3d3e51f6f465cae8d450acf0ca8d2dc Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 20:48:25 2014 +0200 iwlwifi: mvm: clean up FIFO definitions Move all FIFO definitions together into the firmware API header file and use the same enum/naming scheme for the command FIFO. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 3dfd3a97c8b0484e85e365472fe7e292e6e8de7e Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Aug 11 21:37:30 2014 +0200 iwlwifi: mvm: correct firmware disassoc command sequence The firmware would like to have a MAC context (unassoc) before the AP station is removed (we do this) but would like to keep the BSSID until after it is removed, so we need to send two commands - one with the BSSID before and one without the BSSID after. In order to do this, we need to store the BSSID as it will have been cleared by mac80211 by the time we get notified of the disassociation. Also pass it around as an override to the various functions needing it, and keep taking it from the mac80211 data otherwise. This avoids having to keep track of the BSSID in all modes. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0ce04ce797f87cdb6e10deef6a6081366be8bcc0 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Thu May 8 16:03:39 2014 +0300 iwlwifi: mvm: set the TX disable bit when doing a chanctx switch During a channel switch we should tell the firmware to disable TX temporarily and re-enable it after the switch is done. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 8b4139dc9f2171f313fc703c08269f6f8a6f6fc4 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Thu Jul 24 14:05:26 2014 +0200 iwlwifi: add Intel Mobile Communications copyright Our legal structure changed at some point (see wikipedia), but we forgot to immediately switch over to the new copyright notice. For files that we have modified in the time since the change, add the proper copyright notice now. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 002a9e2677cc2a8b0d320731f9749737db5ed23b Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Thu Jul 24 19:25:10 2014 +0300 iwlwifi: trans: configure the scheduler enable register Currently the firmware is handling this, but that is wrong as it then needs to assume a certain command queue, therefore this should be in the driver; add it here so it can be removed from the firmware in the future. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 64ba893066528a03d7d21d7e187005748027a309 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 13:33:46 2014 +0200 iwlwifi: trans: make aggregation explicit for TX queue handling Currently a valid sta_id is assumed to mean that the queue is meant to also be aggregated, but that assumption will not be true in the future, so don't make it in the lower level but only in the inline wrapper. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d4578ea810ce468fdb8e1b7014818c31db9be5e2 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 12:17:40 2014 +0200 iwlwifi: trans: allow skipping scheduler hardware config In a later patch, the hardware configuration will be moved to firmware. Prepare for this by allowing hardware configuration in the transport to be skipped by not passing a configuration on enable and passing configure_scd=false on disable. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 0ade579cce06806353e5f601ff3285a0a7d1e398 Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Mon Aug 4 12:21:05 2014 +0300 iwlwifi: mvm: fix comment typo Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 532cf5c683ab027091ffc19d45e3a67a49f76f5d Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Aug 5 10:36:54 2014 +0200 iwlwifi: don't export tracepoints unnecessarily The tracepoints that are only used in code linked with iwlwifi.ko, as are the tracepoints, don't need to be exported, so don't. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a43ad46a450b1a4466f34b057522f56c125710fb Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Aug 4 16:39:54 2014 +0200 iwlwifi: mvm: add some debugging to quota allocation In order to follow more easily what's going on, add some debug statements to the quota allocation algorithm. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2ce89cd6dfc2ea57497ab38f88d4878c06869a81 Author: David Spinadel <david.spinadel@xxxxxxxxx> Date: Tue Jul 22 13:11:18 2014 +0300 iwlwifi: mvm: enable passive fragmented scan changes Enable fragmented scan that was diabled due to a FW bug. New fixed FWs use a TLV bit to advertise fragmented scan support. Signed-off-by: David Spinadel <david.spinadel@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit fea7795f1c976513a3262284c4001606075abf5c Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Aug 1 11:58:47 2014 +0200 iwlwifi: trans: refactor txq_enable arguments Instead of having all arguments passed to the function, add a struct to hold them and only pass some directly. This will make future work in this area cleaner. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 680073b78a5ac2b559bb7315528aa9f95e57ae24 Author: Avri Altman <avri.altman@xxxxxxxxx> Date: Mon Jul 14 09:40:27 2014 +0300 iwlwifi: consolidate hw scheduler configuration code Configuring the hw scheduler during queue enablement is done by writing the appropriate values to the scheduler peripherals, and it is essentially the same for all buses. Whenever writing is done via the standard iwl_write_prph, we can avoid duplicating the code for each bus. Those operations are queue deactivation, RA/TID mapping, chain-building settings, enabling/disabling aggregations and activating/deactivating the TX FIFOs. Consolidate this code using static inlines in a new header file. Signed-off-by: Avri Altman <avri.altman@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d20d37bc39766ecc31e68bc9cf238eab27a4157b Author: Liad Kaufman <liad.kaufman@xxxxxxxxx> Date: Sun Jul 6 17:14:39 2014 +0300 iwlwifi: mvm: wait for TE notif when protecting TDLS session Make sure that when running the TDLS discovery session protection - the time event that ensures we remain on channel has been scheduled and started running before leaving. Signed-off-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 2533edcee8aa311a24e5c0a7da955893ad65dc24 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Aug 8 19:50:46 2014 +0300 iwlwifi: mvm: add option that allows a vif to disable PS We need to disable PS when a monitor vif is active or, in the future, when a channel switch is happening. Add a boolean to mvmvif that allows PS to be disabled generically. Additionally, make the monitor interface use this new flag when it gets activated. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit ef9203d23fecf11e02958de0988170a67adf7447 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Aug 8 19:18:35 2014 +0300 iwlwifi: mvm: add function to update only ps Add a new iwl_mvm_power_update_ps() function that allows only ps to be updated according to changes in the vifs. This allows us to disable ps only without affecting the pm values of the vifs (and to avoid sending unnecessary MAC_PM_POWER_TABLE commands to the firmware). Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 128aa948d0606e537b743fb8e29ce09fc3473137 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Aug 8 18:36:22 2014 +0300 iwlwifi: mvm: refactor iwl_mvm_power_set_pm() to spin the ps part off Separate the ps part of iwl_mvm_power_set_pm() into a new iwl_mvm_power_set_ps() function. This will enable us to update the ps part independently from the rest, which is needed by CSA (at least). This required a bit of refactoring and the creation of a new iterator function. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b1873300e15aff44c01f7c9bc275c2c6e414f2fa Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Fri Aug 8 17:12:07 2014 +0300 iwlwifi: mvm: re-enable ps when monitor interfaces are removed If a monitor interface is added and then removed, we don't reset the mvm->ps_disabled flag, so we never re-enable power saving. Fix that and rearrange the code a bit. Additionally, fix a small indentation mistake in the iwl_mvm_power_set_pm() function declaration. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 228670b2e6f8d32f11d27c5165fb42a2c77f062c Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Sun Aug 10 17:00:15 2014 +0300 iwlwifi: mvm: clear d0i3 state on recovery If recovery happened after mvm entered d0i3 (e.g. due to sysassert when releasing the bus), the mvm->state wasn't cleared properly, causing the ongoing recovery to fail (due to iwl_mvm_ref_sync failure). This in turn fails the ongoing recovery, and triggers a reprobe, which terminates any ongoing wifi activity. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Gregory Greenman <gregory.greenman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 9ecd051ecd87d0a361c85064e57b27dc825d012e Author: Eyal Shapira <eyal@xxxxxxxxxx> Date: Thu Aug 28 02:21:05 2014 +0300 iwlwifi: mvm: disable tx aggregation on low latency vifs Aggregations hit latency so disable it by default on low latency vifs for now. Enable control over this behavior and allow control over the max frames in an AMPDU in low latency vifs via debugfs. Signed-off-by: Eyal Shapira <eyalx.shapira@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit bdd54839589f92fdfe80493e70aa7fe276da0c46 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Thu Aug 7 18:08:56 2014 +0300 iwlwifi: mvm: add debugfs entry for ps_disabled In order to make debugging easier, add an entry to export the ps_disabled value via debugfs. To make usage of the debugfs_create_*() function easier, change the ps_disabled element to u8. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit d6ca18de129fc4dd4374389561930b32820f35ff Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Mon Sep 1 11:28:11 2014 +0200 iwlwifi: make U-APSD default configurable at compile time With a significant number of deployed APs, enabling uAPSD leads to the AP never using aggregation sessions (likely due to the complexities involved in handling uAPSD in those.) This obviously results in a large drop in throughput with such APs. On the other hand, uAPSD can result in some power consumption benefits, but for now just disable it to get performance with affected APs back up. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 32be1a83af63c43fddcc39c2c1aedaa486af475f Author: Eran Harary <eran.harary@xxxxxxxxx> Date: Sun Aug 24 08:02:46 2014 +0300 iwlwifi: mvm: fix the dump_umac_error_log 1. the base_address limitation was wrong, address can be bigger than 0x80C000 2. the ucode data_struct changed. Signed-off-by: Eran Harary <eran.harary@xxxxxxxxx> Reviewed-by: Liad Kaufman <liad.kaufman@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a2d79c5709659370cd2deeeeb8dc75bb0be5e318 Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Mon Aug 25 14:41:23 2014 +0300 iwlwifi: mvm: Add marker command 0xcb Add Marker command. The marker command send the ucode the time of sending the command in milliseconds since 1970-01-01 00:00:00 UTC, in addition to other metatdata. The ucode inserts this information into the usniffer logs, and returns the GP2 time stamp inside the command response. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit efc36dbd5a0cbfbf0da0a6fa8e1c246bb78dab76 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Aug 20 17:58:20 2014 +0300 iwlwifi: mvm: don't run automatic checks if CT was caused by debugfs If we're manually testing the CT kill functionality via debugfs, we shouldn't schedule the work to recheck the temperature after the ct_kill_duration period has passed. Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit b689fa799a1450056044a47d6afa6ad52f3a8997 Author: Luciano Coelho <luciano.coelho@xxxxxxxxx> Date: Wed Aug 20 17:26:58 2014 +0300 iwlwifi: mvm: reset the temperature when temperature test is disabled Since we can't read the actual temperature when the firmware is running, just set the temperature to 0 when the test is disabled and disable CT Kill if it was enabled. Additionally, since we rely on iwl_mvm_tt_handler() to exit CT kill when in test mode, call iwl_mvm_exit_ctkill() in that function if the temperature is low again. Also make the iwl_mvm_enter_ctkill() and iwl_mvm_exit_ctkill() return if called when not necessary anymore (e.g. when iwl_mvm_exit_ctkill() is called when we're not in CT-kill). Signed-off-by: Luciano Coelho <luciano.coelho@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a4db848f2d0160a3fca08a5787dbef6bcc4ce2b3 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Thu Jul 31 13:58:53 2014 +0300 iwlwifi: mvm: force protection for P2P Performance is less an issue in P2P and reliability is critical. Enable protection always for P2P. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 84fd7608a0d7b9e7ce350aab278780a3e341628f Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Wed Jul 30 15:42:19 2014 +0300 iwlwifi: mvm: add use_ps-poll debugfs power option By default, when uapsd is not used, the ucode uses null data packet to exit power-save and get then pending frames. However, some tests require the explicit usage of ps-poll. Allow setting use_ps_poll power option (through debugfs) to configure the ucode to use ps-poll instead. The ucode configuration is done by setting the advanced-pm flag while setting all the ACs to non-upasd mode. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 697162a13dea92cb4fbe72207e05ecf9a1552abd Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Wed Jul 30 15:56:42 2014 +0300 iwlwifi: mvm: use dynamic SMPS for P2P Client This allows to force the GO to use protection and enhances the reliability of the link. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7ceb98a313b8a1a5d949f538f4bb5ead4fabad23 Author: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Date: Mon Jul 28 12:59:45 2014 +0300 iwlwifi: mvm: reduce the AMPDU size in low latency mode This allows to leave a frame in the Tx Fifo which allows the firmware to try to enter burst mode. The end result of this is a better latency since the firmware utilises the TxOP better. Also limit the AMPDU size to the limit set in the ADDBA response. This doesn't change much since the AMPDU size was limited by the configuration of the hardware scheduler, but here we add a software limit by the mean of the link quality command. Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit 7280d1f0bd14271638bf6b4c3c9dc814af1aaafc Author: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Date: Thu Jul 17 16:41:14 2014 +0300 iwlwifi: mvm: Add set NIC temperature debug option Add ability to set the NIC's temperature and ignore the actual temperature that the FW supplies. Signed-off-by: Matti Gottlieb <matti.gottlieb@xxxxxxxxx> Reviewed-by: Johannes Berg <johannes.berg@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> commit a7459a9d3ab932209e3340d5ae4dadf73147e8d5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 15:44:54 2014 -0300 [media] marvel-ccic: don't initialize static vars with 0 alloc_bufs_at_read is static. No need to initialize with zero, as the Kernel will cleanup the data memory already. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3b7f1016628e04f937bafd468ce6fa437b92e275 Author: Tobias Klauser <tklauser@xxxxxxxxxx> Date: Fri Jul 25 10:36:14 2014 +0200 PCI: Remove unnecessary variable in pci_add_dynid() The variable "retval" in pci_add_dynid() is only used to store the return value of driver_attach() and is then directly returned. Remove the variable and directly pass on driver_attach()'s return value. Signed-off-by: Tobias Klauser <tklauser@xxxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit a2cea9831e7df2bd21ade3c02be4a94146e1645b Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:53:54 2014 +0900 spi: txx9: Fix checkpatch issue Fix the following checkpatch warnings. Missing a blank line after declarations. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 327f5386d59db6bbef65f3cd731508934ba55ed4 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:53:11 2014 +0900 spi: tegra20-sflash: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: macros should not use a trailing semicolon WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c19c8e7581cf89fab669871646617aa919d37a03 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:52:23 2014 +0900 spi: tegra114: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b8434048dd19f1e87f0d53315b0507a6dc05668d Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:51:39 2014 +0900 spi: orion: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: else is not generally useful after a break or return WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fadcace703bbb985a996d01141499bd8d1f7d5bc Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:49:24 2014 +0900 spi: dw: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: debugfs_remove_recursive(NULL) is safe this check is probably not required WARNING: min() should probably be min_t(u32, rx_left, dw_readw(dws, DW_SPI_RXFLR)) WARNING: else is not generally useful after a break or return WARNING: Missing a blank line after declarations WARNING: void function return statements are not generally useful Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 859c3377ccc14c11a398c26af4fd3088d7578b2c Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:48:00 2014 +0900 spi: davinci: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations WARNING: quoted string split across lines Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e02c716d2ec065fd58c2fc8100fd5f359ab61e7e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 2 22:20:34 2014 +0200 ASoC: wm8995: Remove unnecessary suspend/resume bias level changes The ASoC core will only call the suspend/resume callbacks when the device's DAPM context is idle. Since this driver sets idle_bias_off to true this means that the device is already in SND_SOC_BIAS_OFF when the suspend callback is called, so there is no need to manually set this state again. There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback since the core will go right back to SND_SOC_BIAS_OFF. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a7edeba4cbbd0f3d22d6d54da7c507bda29b2658 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 2 22:20:33 2014 +0200 ASoC: wm8804: Remove unnecessary suspend/resume bias level changes The ASoC core will only call the suspend/resume callbacks when the device's DAPM context is idle. Since this driver sets idle_bias_off to true this means that the device is already in SND_SOC_BIAS_OFF when the suspend callback is called, so there is no need to manually set this state again. There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback since the core will go right back to SND_SOC_BIAS_OFF. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7d1a99da0861330f02de5c0f59df1d338477cb54 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 2 22:20:32 2014 +0200 ASoC: tlv320aic3x: Remove unnecessary suspend/resume bias level changes The ASoC core will only call the suspend/resume callbacks when the device's DAPM context is idle. Since this driver sets idle_bias_off to true this means that the device is already in SND_SOC_BIAS_OFF when the suspend callback is called, so there is no need to manually set this state again. There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback since the core will go right back to SND_SOC_BIAS_OFF. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8e6fe35eabc64f35eff5844a2e542c403a00db15 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 2 22:20:31 2014 +0200 ASoC: lm49453: Remove unnecessary suspend/resume bias level changes The ASoC core will only call the suspend/resume callbacks when the device's DAPM context is idle. Since this driver sets idle_bias_off to true this means that the device is already in SND_SOC_BIAS_OFF when the suspend callback is called, so there is no need to manually set this state again. There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback since the core will go right back to SND_SOC_BIAS_OFF. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b43cfb245f7346cbb25c1919577d9607d2adb974 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Sep 2 22:20:30 2014 +0200 ASoC: adau1373: Remove unnecessary suspend/resume bias level changes The ASoC core will only call the suspend/resume callbacks when the device's DAPM context is idle. Since this driver sets idle_bias_off to true this means that the device is already in SND_SOC_BIAS_OFF when the suspend callback is called, so there is no need to manually set this state again. There is also no need to go to SND_SOC_BIAS_STANDBY in the resume callback since the core will go right back to SND_SOC_BIAS_OFF. Also drop the regcache_cache_only() calls from the suspend and resume handlers. There shouldn't be any IO happening after suspend and before resume. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 313ddec45cf1a7b3778eaa9fd3acb31f994b2e88 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Sep 3 14:32:26 2014 -0300 [media] dmxdev: don't use before checking file->private_data As reported by smatch: drivers/media/dvb-core/dmxdev.c:1091 dvb_demux_poll() warn: variable dereferenced before check 'dmxdevfilter' (see line 1088) This was introduced by changeset d102cac8097c. We need to test before using it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b82daf87a82fc2261f86f48d1bd0706da9e4a675 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Sep 2 09:57:10 2014 -0600 ARM: tegra: enable Atmel touchpad in defconfig This driver is used on Venice2 for the touchpad. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit bf8f0392306869412887bf4a681fea9cb8062fc5 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Sep 2 09:57:09 2014 -0600 ARM: tegra: add touchpad to Venice2 DT Venice2 contains an Atmel MXT touchpad. Add an I2C node for it to DT. The Linux driver doesn't quite work on this platform yet, but adding the DT node causes no issues, and will allow the device to work once the driver is fixed. Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 58b21c22c66dd223d27405d54b47102a27bda0b7 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Sep 3 17:02:44 2014 +0200 drm/qxl: Fix crash in eviction from qxl_release_fence_buffer_objects This crash was already here before the conversion, but qxl never leaked hard enough to hit this. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit b75402c9f98a431ae352a223153825513eac9600 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Sep 3 17:01:28 2014 +0200 drm/qxl: fix gaping memory hole This is how you implement a memory sieve in a driver. ;-) Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit d7e4d671369263381dd3a02e1f240f675be6b1f5 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Sep 3 16:59:41 2014 +0200 drm/qxl: Remove release_lock stupidity The locking of release_lock was stupid; t should have been be called with fence_lock_irq if it was legitimately used. Unfortunately it never protected anything except the fence implementation correctly. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit a7a91a1928fe69cc98814cb746d5171ae14d757e Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Wed Sep 3 10:51:59 2014 -0400 selinux: fix a problem with IPv6 traffic denials in selinux_ip_postroute() A previous commit c0828e50485932b7e019df377a6b0a8d1ebd3080 ("selinux: process labeled IPsec TCP SYN-ACK packets properly in selinux_ip_postroute()") mistakenly left out a 'break' from a switch statement which caused problems with IPv6 traffic. Thanks to Florian Westphal for reporting and debugging the issue. Reported-by: Florian Westphal <fwestpha@xxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit d89c6c0c91af0344b52dd21ca48dd29821fee677 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 1 10:07:04 2014 +0200 ALSA: hda - Add TLV_DB_SCALE_MUTE bit for relevant controls The DACs on Sigmatel/IDT codecs do mute at the lowest volume level, and in the earlier drivers, we passed TLV_DB_SCALE_MUTE bit for each volume control element like Speaker and Headphone as well as Master. Along with the translation to the generic parser, however, the TLV bit was lost for the slave controls (e.g. Speaker) but set only to Master. In theory this should have sufficed, but apps, particularly PA, do care the slave volume bits, so we seem to see a regression in the volume controls. This patch adds a flag to hda_gen_spec to specify the DAC mute feature, and adds the TLV bit properly for all relevant volume controls. Also, the TLV bit for vmaster is set in hda_generic.c, so that we can get rid of all tricks from the codec driver side. As the similar hack is applied to Conexant 5051 stuff, we can get rid of it as well. BugLink: https://bugs.launchpad.net/bugs/1357928 Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 67c866cfcb7cfe74d66645aa4c1e983d22e0001a Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Sep 3 09:15:30 2014 +0800 regulator: da9211: Fix missing config.of_node setting Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b8a3ee820f7b0802c9b90a9f3426dbda54e93d09 Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Wed Sep 3 15:42:48 2014 +0300 ASoC: max98090: Add recovery for PLL lock failure All MAX98090 input clocks MCLK, LRCLK and BCLK must be running and stable before powering on the codec in slave mode. Otherwise the PLL may not lock to LRCLK causing silence in playback and capture. How often that happens is somewhat hardware and clock configuration specific. Now if wanting to follow strictly this clocks must be active before powering the codec on requirement we should have a notification from DAI driver to codec driver when clocks are activated and take codec out of shutdown only after that. Plus take care of possible active bypass paths. However, when PLL unlock occurs, MAX98090 asserts the PLL Unlock Flag which can be configured as an IRQ source. This allows to workaround around the issue by toggling the codec power shortly in case of PLL lock failure. In order to prevent needlessly toggling codec power in case of short PLL unlocks at the beginning of stream this patch implements delayed activation for PLL unlock interrupt. Then workaround is run only when the PLL doesn't lock at all. Power toggling workaround for PLL unlock comes originally from Liam Girdwood <liam.r.girdwood@xxxxxxxxxxxxxxx> and delayed activation from me. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7ed36e96fd05470e98e7daf648f9cf7f38609670 Author: Jyri Sarha <jsarha@xxxxxx> Date: Wed Sep 3 15:52:34 2014 +0300 ASoC: tlv320aic31xx: Choose PLL p divider automatically This simplifies aic31xx_divs table. There is no more need for p_val or separate lines for 12 and 24 MHz mclks. Signed-off-by: Jyri Sarha <jsarha@xxxxxx> Tested-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 94fe356f4c6e600379a9949a419e880dfe896e11 Merge: 085f3ec 03be88e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Sep 3 15:25:17 2014 +0100 Merge branch 'fix/tlv320aic31xx' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-tlv320aic31xx commit 8fe8a3feeb5aedd17f7b09e51b60b38a6ba7005f Author: Derek Foreman <derek.foreman@xxxxxxxxxxxxxxx> Date: Wed Sep 3 10:38:20 2014 -0300 drm/i915: init sprites with univeral plane init function Really just for completeness - old init function ends up making the plane exactly the same way due to the way the enums are set up. Signed-off-by: Derek Foreman <derek.foreman@xxxxxxxxxxxxxxx> Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fe10b84e7f6c4c8c3dc8cf63be324bc13f5acd68 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:01:23 2014 -0300 [media] mt2063: fix sparse warnings drivers/media/tuners/mt2063.c:1238:56: warning: cast truncates bits from constant value (ffffff0f becomes f) drivers/media/tuners/mt2063.c:1313:62: warning: cast truncates bits from constant value (ffffff7f becomes 7f) drivers/media/tuners/mt2063.c:1321:62: warning: cast truncates bits from constant value (ffffff7f becomes 7f) Cast to u8 is unnecessary. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8ae632b11775254c5e555ee8c42b7d19baeb1473 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 17:07:21 2014 -0300 [media] v4l2-compat-ioctl32: fix sparse warnings A lot of these warnings are caused by the fact that we don't generally use __user in videodev2.h. Normally the video_usercopy function will copy anything pointed to by pointers into kernel space, so having __user in the struct will only cause lots of warnings in the drivers. But the flip side of that is that you need to add __force casts here. drivers/media/v4l2-core/v4l2-compat-ioctl32.c:337:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:337:30: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:338:31: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:338:49: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:343:21: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:346:21: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:349:35: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:349:46: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:352:35: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:352:54: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:363:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:363:32: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:364:31: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:364:51: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:371:35: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:371:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:376:35: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:376:48: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:430:30: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:433:48: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:433:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:501:24: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:507:48: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:507:56: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:565:18: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:670:22: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:680:29: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:692:55: warning: incorrect type in initializer (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:773:18: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:786:30: warning: incorrect type in argument 1 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:786:44: warning: incorrect type in argument 2 (different address spaces) drivers/media/v4l2-core/v4l2-compat-ioctl32.c:674:37: warning: dereference of noderef expression drivers/media/v4l2-core/v4l2-compat-ioctl32.c:718:37: warning: dereference of noderef expression Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit eadf9e26fab7f9841adcc36f3559dbce7604fcd5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 16:49:16 2014 -0300 [media] videodev2.h: add __user to v4l2_ext_control pointers These are not copied to kernel space by video_usercopy, so mark them as __user. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4a9e512afa31fc1af2a93467aa4363db97f815b5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 16:43:03 2014 -0300 [media] em28xx: fix sparse warnings drivers/media/usb/em28xx/em28xx-core.c:297:16: warning: cast to restricted __le16 drivers/media/usb/em28xx/em28xx-cards.c:2249:20: warning: symbol 'em28xx_bcount' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 39fd44607a5ec904b84ecd92bf1710a9ecb3f68c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 16:38:04 2014 -0300 [media] cx18: fix sparse warnings /home/hans/work/build/media-git/drivers/media/pci/cx18/cx18-firmware.c:169:32: warning: cast to restricted __le32 /home/hans/work/build/media-git/drivers/media/pci/cx18/cx18-firmware.c:170:32: warning: cast to restricted __le32 /home/hans/work/build/media-git/drivers/media/pci/cx18/cx18-firmware.c:171:31: warning: cast to restricted __le32 /home/hans/work/build/media-git/drivers/media/pci/cx18/cx18-firmware.c:172:31: warning: cast to restricted __le32 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3efb8ab6d4f0f38440a819d8302be18596899ebf Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 16:31:51 2014 -0300 [media] ivtv: fix sparse warnings drivers/media/pci/ivtv/ivtv-irq.c:195:25: warning: incorrect type in argument 1 (different base types) drivers/media/pci/ivtv/ivtv-irq.c:199:25: warning: incorrect type in argument 1 (different base types) drivers/media/pci/ivtv/ivtv-irq.c:278:35: warning: restricted __le32 degrades to integer drivers/media/pci/ivtv/ivtv-irq.c:281:51: warning: restricted __le32 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 711c31192057689e59c2a2095d3a7e0fadbfd213 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:56:42 2014 -0300 [media] cx23885: fix sparse warning drivers/media/pci/cx23885/cx23885-dvb.c:1494:72: warning: Using plain integer as NULL pointer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 41150cb9f51df07e78d82c196931c913633c95a0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:55:00 2014 -0300 [media] cxusb: fix sparse warning drivers/media/usb/dvb-usb/cxusb.c:178:40: warning: restricted __le16 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 888bd5dcb68437273ffc3752c4976f851205b25d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:50:34 2014 -0300 [media] dm1105: fix sparse warning drivers/media/pci/dm1105/dm1105.c:617:9: warning: incorrect type in argument 1 (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3f9280a8b4aa57186555e2d39587d13a6844ab98 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:34:02 2014 -0300 [media] cx231xx: fix sparse warnings drivers/media/usb/cx231xx/cx231xx-avcore.c:2226:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2447:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2475:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2500:15: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-avcore.c:2647:18: warning: incorrect type in assignment (different base types) drivers/media/usb/cx231xx/cx231xx-avcore.c:2659:21: warning: cast to restricted __le32 drivers/media/usb/cx231xx/cx231xx-dvb.c:743:57: warning: Using plain integer as NULL pointer drivers/media/usb/cx231xx/cx231xx-dvb.c:776:57: warning: Using plain integer as NULL pointer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 38b2b8794d0ae7e086199e6077d2f234a3b69ab8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:26:29 2014 -0300 [media] cx25821: fix sparse warning drivers/media/pci/cx25821/cx25821-video-upstream.c:334:25: warning: incorrect type in argument 2 (different address spaces) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a7547af7d295bae3853accde5c746159b3e0e9de Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Thu Aug 21 11:06:36 2014 -0300 [media] via-camera: fix sparse warning drivers/media/platform/via-camera.c:445:34: warning: incorrect type in assignment (different address spaces) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 60519af3fd0e75a97036075fc657f1ebe87e0f0d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:41:03 2014 -0300 [media] lirc_dev: fix sparse warnings drivers/media/rc/lirc_dev.c:598:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:606:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:616:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:625:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:634:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:643:26: warning: incorrect type in argument 1 (different address spaces) drivers/media/rc/lirc_dev.c:739:45: warning: cast removes address space of expression drivers/media/rc/lirc_dev.c:739:58: warning: incorrect type in argument 1 (different address spaces) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4d1afa51e957a48db9663e74816c411e70b8d15e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:37:53 2014 -0300 [media] v4l2-ioctl: fix sparse warnings drivers/media/v4l2-core/v4l2-ioctl.c:1156:53: warning: incorrect type in initializer (different address spaces) drivers/media/v4l2-core/v4l2-ioctl.c:1158:42: warning: incorrect type in initializer (different address spaces) drivers/media/v4l2-core/v4l2-ioctl.c:1161:34: warning: incorrect type in assignment (different address spaces) drivers/media/v4l2-core/v4l2-ioctl.c:1163:35: warning: incorrect type in assignment (different address spaces) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 55522f37817728eff26a75a64c60f07580efa66b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 3 14:09:53 2014 +0300 drm/i915: Check of !HAS_PCH_SPLIT() in PCH transcoder funcs Check for !HAS_PCH_SPLIT() instead of 'gen < 5' in the PCH transcoder enable functions. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a3ed6aada3f2aaec6432f5c3380be6e2918af993 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 3 14:09:52 2014 +0300 drm/i915: Use HAS_GMCH_DISPLAY un underrun reporting code A few open coded HAS_GMCH_DISPLAY() remain in the underrun reporting code. Convert them over. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f98cd09664cd36a52a531aaf647e692f2a83b527 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 3 14:09:51 2014 +0300 drm/i915: Use IS_BROADWELL() instead of IS_GEN8() in forcewake code IS_GEN8() is a bad check in the forcewake code due to bdw vs. chv differences. Use IS_BROADWELL() instead. The only actual bug here is that we currently call __gen7_gt_force_wake_mt_reset() on chv. On the other places we have checked for chv before using IS_GEN8(), but change them to use IS_BROADWELL() anyway to reduce the chance of accidents in the future. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c317adcd58cdc05badd73db901c677164050ab6c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Sep 3 14:09:50 2014 +0300 drm/i915: Don't call gen8_fbc_sw_flush() on chv CHV doesn't have FBC, so don't go calling gen8_fbc_sw_flush() on it. Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Add a FIXME comment while at it that we should rework this a lot more.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3d45eb8949efdcafc59769dd584fdf9f94bb6e53 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 11:59:36 2014 +0100 drm/i915: Remove shadowed local variable 'i' from i915_interrupt_info Just a stray local variable, begone. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 087fe000f086c933f831044cbd0e69b4e140f38c Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:41 2014 +0100 openrisc: Get rid of handle_IRQ The openrisc irqchip driver has been converted to handle_domain_irq, making it possible to remove the handle_IRQ stub entierely. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-27-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit c59e1ef874e699bb37c8ed20b70113e1e8f45f52 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:40 2014 +0100 arm64: Get rid of handle_IRQ All the arm64 irqchip drivers have been converted to handle_domain_irq, making it possible to remove the handle_IRQ stub entierely. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-26-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f978999f60966076f3f43ed1894b54507c8ddfc9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:39 2014 +0100 ARM: omap2: irq: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-25-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 5aef600321caee7f950842b87f878780f693ca3a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Sep 3 11:56:07 2014 +0100 drm/i915: Rename global latency_ns variable We use the variable name latency_ns in both the local lowlevel wm calculation routines and at the global level. Rename the global value to reduce shadow warnings and future confusion. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cb221761001dc6c3eaf8b1edda0901b8c5c801bd Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:38 2014 +0100 ARM: imx: tzic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-24-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9705ca3dea5a7c5ae57fa65ab256f7b1b7d848c0 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:37 2014 +0100 ARM: imx: avic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-23-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b0fee1dc7883c3c4b2319d384decdd1563cf30bb Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:36 2014 +0100 irqchip: or1k-pic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-22-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 31b7b6a86e9b86b8d97b3bc47b22585074ad115b Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:35 2014 +0100 irqchip: atmel-aic5: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-21-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 841f2aa46299b894ce146cd7d2a8fd9a1f6dbdcb Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:34 2014 +0100 irqchip: atmel-aic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-20-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ebc6de0056e277a0283845536fd219a96806fc80 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:33 2014 +0100 irqchip: gic-v3: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-19-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit d8c0ffa56798a9b6dc6ee44d230a50f1fe0a10d4 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:32 2014 +0100 irqchip: zevio: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-18-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit c9a1df48a97ac9141540f177e4293a9966348f8c Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Fri Dec 20 15:01:41 2013 +0800 ARM: debug: add HiP04 debug uart Add the support of Hisilicon HiP04 debug uart. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit 0beb65041e86ea313eaceaa6a04c87f9cc01f6b1 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:31 2014 +0100 irqchip: vt8500: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-17-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 0af83b3b00cc302388beea8b6bd48c5fcbc715a8 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:30 2014 +0100 irqchip: vic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-16-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 84bc7399099344e41672d72864e3c34297a877d2 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:29 2014 +0100 irqchip: versatile-fpga: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-15-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 21d06d91c23ddb24895bbe82ba96633864891f6e Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:28 2014 +0100 irqchip: sun4i: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-14-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2a07975bf1f180777640e2e298c6cb7fdd2da314 Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Fri Aug 1 20:30:12 2014 +0800 ARM: config: enable hisilicon hip04 Enable CONFIG_ARCH_HIP04 in both hi3xxx_defconfig & multi_v7_defconfig. Since CONFIG_ARM_LPAE is disabled by default, only 3GB memory could be support by this defconfig. User should enable CONFIG_ARM_LPAE locally to support 16GB memory on hip04 platform. Since hip04 doesn't belong to hi3xxx series, rename hi3xxx_defconfig to hisi_defconfig. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit c15018e9192bbaa1a0f68ebee0284f701491b800 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:27 2014 +0100 irqchip: sirfsoc: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-13-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit cf86bfdd68997b584f4a8f1da9ffd2fae852a5a9 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:26 2014 +0100 irqchip: s3c24xx: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-12-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 40c7d4414b44a75971ba7c1a4fc1371dd7a299bf Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Wed May 7 08:55:29 2014 +0800 ARM: dts: add hip04 dts Add hip04-d01.dts & hip04.dtsi for hip04 SoC platform. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit f4bc9288b4a29ead48425dd7d1bf4b825a8aff58 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:25 2014 +0100 irqchip: orion: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-11-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b3410e5f4b6a9611fcdff8927d7ce04757708d96 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:24 2014 +0100 irqchip: mxs: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-10-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit b918402c8092e9f55ad1e848c4264cc0c9ea7513 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:23 2014 +0100 irqchip: mmp: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-9-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit f2b22ab5b32bbc801a3e205d60667ebb546ee39c Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Fri May 9 17:10:53 2014 +0800 document: dt: add the binding on HiP04 Add Hisilicon HiP04 SoC platform & Fabric controller. Fabric controller could be used to configure snoop filter among multiple clusters. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit a8e10cb769eb94277658d3f3bce12e10b5652b7f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:22 2014 +0100 irqchip: clps711x: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-8-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e89c6a06b876239161653da84dbb2a0e243768b8 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:21 2014 +0100 irqchip: armada-370-xp: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-7-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 60031b4ef40b62f6563cc6635f670a144f182b83 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:20 2014 +0100 irqchip: gic: Convert to handle_domain_irq Use the new handle_domain_irq method to handle interrupts. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-6-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2d518eda6361b38ba3f250c5f4fceefa9449490a Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Fri May 9 16:58:04 2014 +0800 ARM: hisi: enable HiP04 Support HiP04 SoC what supports 16 cores. And it relies on MCPM framework. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit d1f6f28f68507e3ae67203de3e7ab7e5b9bf0082 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:19 2014 +0100 openrisc: Convert handle_IRQ to use __handle_domain_irq In order to limit code duplication, convert the architecture specific handle_IRQ to use the generic __handle_domain_irq function. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Stefan Kristiansson <stefan.kristiansson@xxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-5-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9cdc99919a95e8b54c1998b65bb1bfdabd47d27b Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Fri May 9 15:59:29 2014 +0800 ARM: hisi: enable MCPM implementation Multiple CPU clusters are used in Hisilicon HiP04 SoC. Now use MCPM framework to manage power on HiP04 SoC. Changelog: v20: * Disable L2 prefetch when the whole cluster is down. * Move disabling snoop filter into power_down() after L2 prefetch disabled. * Remove delay in wait_for_power_down() after L2 prefetch disabled. * Add the sleep polling in wait_for_power_down() again since we need to wait L2 when the cluster is down. v19: * Add comments on those delay hacks. * Update on checking core enabled counts in wait_for_power_down(). v18: * Fix to release resource in probe(). * Check whether cpu is already up in the process of making cpu down. * Add udelay in power up/down sequence. * Optimize on setting relocation entry. * Optimize on polling status in wait_for_power_down(). * Add mcpm critical operations. v17: * Parse bootwrapper parameters in DTS file. * Fix to use msleep() in spinlock region. v16: * Parse bootwrapper parameters in command line instead. v13: * Restore power down operation in MCPM. * Fix disabling snoop filter issue in MCPM. v12: * Use wfi as power down state in MCPM. * Remove wait_for_powerdown() in MCPM because wfi is used now. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Reviewed-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit ebf4a5c5b4027b682ed8877a938e6d1d92f37745 Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Tue Apr 15 14:52:00 2014 +0800 ARM: mcpm: support 4 clusters Add the CONFIG_MCPM_QUAD_CLUSTER configuration to enlarge cluster number from 2 to 4. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Reviewed-by: Nicolas Pitre <nico@xxxxxxxxxx> Signed-off-by: Wei Xu <xuwei5@xxxxxxxxxxxxx> commit d778d258b7850cf803378211011d38255f11107b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:34:33 2014 -0300 [media] imon: fix sparse warnings drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1343:44: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1407:36: warning: cast to restricted __be32 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1512:28: warning: cast to restricted __be64 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 drivers/media/rc/imon.c:1516:28: warning: cast to restricted __be32 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e73c7bfea0770ce9e908fc4b9093752c22155d1d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:32:03 2014 -0300 [media] si2165: fix sparse warning drivers/media/dvb-frontends/si2165.c:329:16: warning: odd constant _Bool cast (ffffffffffffffea becomes 1) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 817d2fd4cb3686191a3f411275394c4c573e79e0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:30:33 2014 -0300 [media] stv0367: fix sparse warnings drivers/media/dvb-frontends/stv0367.c:557:5: warning: symbol 'stv0367cab_RF_LookUp1' was not declared. Should it be static? drivers/media/dvb-frontends/stv0367.c:569:5: warning: symbol 'stv0367cab_RF_LookUp2' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a71b092a9c68685a270ebdde7b5986ba8787e575 Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:18 2014 +0100 ARM: Convert handle_IRQ to use __handle_domain_irq In order to limit code duplication, convert the architecture specific handle_IRQ to use the generic __handle_domain_irq function. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-4-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a1ddc74a23c89ae236b163a3b0887f8c344aaa4a Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:17 2014 +0100 arm64: Convert handle_IRQ to use __handle_domain_irq In order to limit code duplication, convert the architecture specific handle_IRQ to use the generic __handle_domain_irq function. Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Acked-by: Catalin Marinas <catalin.marinas@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-3-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 76ba59f8366f2d9282cb5bda9de75b4b68cbe55f Author: Marc Zyngier <marc.zyngier@xxxxxxx> Date: Tue Aug 26 11:03:16 2014 +0100 genirq: Add irq_domain-aware core IRQ handler Calling irq_find_mapping from outside a irq_{enter,exit} section is unsafe and produces ugly messages if CONFIG_PROVE_RCU is enabled: If coming from the idle state, the rcu_read_lock call in irq_find_mapping will generate an unpleasant warning: <quote> =============================== [ INFO: suspicious RCU usage. ] 3.16.0-rc1+ #135 Not tainted ------------------------------- include/linux/rcupdate.h:871 rcu_read_lock() used illegally while idle! other info that might help us debug this: RCU used illegally from idle CPU! rcu_scheduler_active = 1, debug_locks = 0 RCU used illegally from extended quiescent state! 1 lock held by swapper/0/0: #0: (rcu_read_lock){......}, at: [<ffffffc00010206c>] irq_find_mapping+0x4c/0x198 </quote> As this issue is fairly widespread and involves at least three different architectures, a possible solution is to add a new handle_domain_irq entry point into the generic IRQ code that the interrupt controller code can call. This new function takes an irq_domain, and calls into irq_find_domain inside the irq_{enter,exit} block. An additional "lookup" parameter is used to allow non-domain architecture code to be replaced by this as well. Interrupt controllers can then be updated to use the new mechanism. This code is sitting behind a new CONFIG_HANDLE_DOMAIN_IRQ, as not all architectures implement set_irq_regs (yes, mn10300, I'm looking at you...). Reported-by: Vladimir Murzin <vladimir.murzin@xxxxxxx> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx> Link: https://lkml.kernel.org/r/1409047421-27649-2-git-send-email-marc.zyngier@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2954192529e9bb8158bb60f731b108f21c4017aa Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:28:02 2014 -0300 [media] pwc: fix sparse warning drivers/media/usb/pwc/pwc-v4l.c:55:12: warning: symbol 'pwc_auto_whitebal_qmenu' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6812667381d4e7d1baa93464af6fd02175db96de Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:26:47 2014 -0300 [media] dvb_usb_core: fix sparse warning drivers/media/usb/dvb-usb-v2/dvb_usb_core.c:24:5: warning: symbol 'dvb_usbv2_disable_rc_polling' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ff3ec57df9e87bcb18e81157cbe3bef3159d76a3 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:25:34 2014 -0300 [media] s2255drv: fix sparse warning drivers/media/usb/s2255/s2255drv.c:2248:20: warning: cast to restricted __le16 At the USB structs there are two different idProduct: usb_device_id::idProduct - already on CPU endiannes usb_device::descriptor.idProduct - with is LE16 In this specific case, the driver checks for the one at usb_device_id struct, with already have CPU endianness. So, no conversion is required. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7c7b9cf53d284fe12eeab6e13d3098b18cff4692 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Tue Sep 2 04:05:30 2014 -0700 ASoC: simple-card: fixup cpu_dai_name clear case f687d900d30a61dda38db2a99239f5284a86a309 (ASoC: simple-card: cpu_dai_name creates confusion when DT case) cleared cpu_dai_name for caring fmt_single_name case, and 179949bc04c7157a4b2279f62a842638b61f78f9 (ASoC: simple-card: remove dai_link->cpu_dai_name when DT) cared multi dai-link case. but, cpu_dai_name matching is required when fmt_multiple_name was used Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Tested-by: Jean-Francois Moine <moinejf@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fba16a1eee5c2d93d010a5b7c41d9c4b478c7eb8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:22:18 2014 -0300 [media] bcm3510: fix sparse warnings drivers/media/dvb-frontends/bcm3510.c:646:24: warning: cast to restricted __le16 drivers/media/dvb-frontends/bcm3510.c:647:24: warning: cast to restricted __le16 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2a8b7e5888f5f1306811f778a6678f78b7a98bcd Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 19:20:12 2014 -0300 [media] wl128x: fix sparse warnings drivers/media/radio/wl128x/fmdrv_common.c:598:32: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:598:32: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:598:32: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:598:32: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:767:38: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:767:38: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:767:38: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:767:38: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:992:21: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:992:21: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:992:21: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:992:21: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:443:41: warning: incorrect type in assignment (different base types) drivers/media/radio/wl128x/fmdrv_common.c:1359:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:39: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:39: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:39: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1359:39: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:25: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:25: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:25: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:25: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:47: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:47: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:47: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_common.c:1368:47: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:119:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:119:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:119:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:119:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:192:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:192:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:192:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:192:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:288:28: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:288:28: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:288:28: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:288:28: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:534:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:534:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:534:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:534:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:625:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:625:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:625:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_rx.c:625:17: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_tx.c:377:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_tx.c:377:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_tx.c:377:20: warning: cast to restricted __be16 drivers/media/radio/wl128x/fmdrv_tx.c:377:20: warning: cast to restricted __be16 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 967a37830573a1fa4b7bdb7ce203c7ea8a91e0c4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 18:26:40 2014 -0300 [media] mantis: fix sparse warnings drivers/media/pci/mantis/hopper_vp3028.c:37:23: warning: symbol 'hopper_vp3028_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp1033.c:38:4: warning: symbol 'lgtdqcs001f_inittab' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp1033.c:153:23: warning: symbol 'lgtdqcs001f_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp1034.c:39:23: warning: symbol 'vp1034_mb86a16_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp1041.c:266:23: warning: symbol 'vp1041_stb0899_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp1041.c:303:23: warning: symbol 'vp1041_stb6100_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp2033.c:40:24: warning: symbol 'vp2033_tda1002x_cu1216_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp2033.c:45:24: warning: symbol 'vp2033_tda10023_cu1216_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp2040.c:40:24: warning: symbol 'vp2040_tda1002x_cu1216_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp2040.c:45:24: warning: symbol 'vp2040_tda10023_cu1216_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp3030.c:38:23: warning: symbol 'mantis_vp3030_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_vp3030.c:42:23: warning: symbol 'env57h12d5_config' was not declared. Should it be static? drivers/media/pci/mantis/mantis_dma.c:167:33: warning: incorrect type in assignment (different base types) drivers/media/pci/mantis/mantis_dma.c:172:33: warning: incorrect type in assignment (different base types) drivers/media/pci/mantis/mantis_dma.c:174:25: warning: incorrect type in assignment (different base types) drivers/media/pci/mantis/mantis_dma.c:178:9: warning: incorrect type in assignment (different base types) drivers/media/pci/mantis/mantis_dma.c:179:9: warning: incorrect type in assignment (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ce08131c42164a4be37e6bb7f34185ab48f6bba4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 18:08:17 2014 -0300 [media] mb86a16/mb86a20s: fix sparse warnings drivers/media/dvb-frontends/mb86a16.c:31:14: warning: symbol 'verbose' was not declared. Should it be static? drivers/media/dvb-frontends/mb86a20s.c:36:4: warning: symbol 'mb86a20s_subchannel' was not declared. Should it be static? drivers/media/dvb-frontends/mb86a20s.c:1333:24: warning: symbol 'cnr_qpsk_table' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6fbf4d0412d5084d555a5ffca31e683de7fcf9be Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 18:03:53 2014 -0300 [media] usbtv: fix sparse warnings drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:285:14: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:287:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:288:15: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 drivers/media/usb/usbtv/usbtv-video.c:289:20: warning: cast to restricted __be32 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d71b0b348f0ac68c7a330ceb97b80d9e37f14545 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 17:58:38 2014 -0300 [media] uvc: fix sparse warning drivers/media/usb/uvc/uvc_video.c:1466:38: warning: incorrect type in return expression (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4182438e658dbf01c37a3b0fa035f08c303403ab Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 17:53:39 2014 -0300 [media] drxj: fix sparse warnings drivers/media/dvb-frontends/drx39xyj/drxj.c:11768:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11768:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11768:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11768:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11770:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11770:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11770:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11770:25: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11794:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11796:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11796:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11796:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11796:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11798:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11798:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11798:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11798:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11800:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11800:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11800:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11800:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11605:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11605:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11605:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11605:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11632:29: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11632:29: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11632:29: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11632:29: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11650:34: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11652:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11652:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11652:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11652:34: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11654:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11654:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11654:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11654:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11656:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11656:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11656:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11656:33: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11670:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11670:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11670:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11670:35: warning: cast to restricted __be16 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11678:47: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11680:46: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 drivers/media/dvb-frontends/drx39xyj/drxj.c:11682:51: warning: cast to restricted __be32 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c463c9797c43dd66b72daa397716d6c6675087b8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 17:43:22 2014 -0300 [media] ngene: fix sparse warnings drivers/media/pci/ngene/ngene-core.c:188:27: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:190:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:199:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:260:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:263:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:282:32: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:283:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:284:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:285:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:286:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:287:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:288:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:292:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:293:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:294:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:295:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:296:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:297:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:303:17: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:316:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:368:17: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:372:9: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1160:28: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1199:20: warning: incorrect type in assignment (different address spaces) drivers/media/pci/ngene/ngene-core.c:1213:30: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1214:30: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1223:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1225:24: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1227:31: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1296:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1297:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1298:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1299:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1300:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1301:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1302:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1363:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1365:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1376:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1391:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-core.c:1596:18: warning: Using plain integer as NULL pointer drivers/media/pci/ngene/ngene-core.c:1615:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-cards.c:699:29: warning: Using plain integer as NULL pointer drivers/media/pci/ngene/ngene-cards.c:699:32: warning: Using plain integer as NULL pointer drivers/media/pci/ngene/ngene-cards.c:699:35: warning: Using plain integer as NULL pointer drivers/media/pci/ngene/ngene-cards.c:699:38: warning: Using plain integer as NULL pointer drivers/media/pci/ngene/ngene-dvb.c:84:59: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ngene/ngene-dvb.c:93:20: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) drivers/media/pci/ngene/ngene-dvb.c:94:20: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) drivers/media/pci/ngene/ngene-dvb.c:100:20: warning: Using plain integer as NULL pointer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b5c00cc5a56ce0060fb17380cc606514eb5bcd9e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 17:25:00 2014 -0300 [media] ddbridge: fix sparse warnings drivers/media/pci/ddbridge/ddbridge-core.c:88:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:93:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:95:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:99:15: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:117:58: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:119:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:123:68: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:130:17: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:131:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:136:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:138:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:152:22: warning: symbol 'ddb_i2c_algo' was not declared. Should it be static? drivers/media/pci/ddbridge/ddbridge-core.c:183:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:184:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:246:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:247:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:255:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:256:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:269:35: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:358:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:359:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:360:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:362:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:366:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:368:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:369:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:370:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:380:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:381:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:393:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:394:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:395:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:396:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:397:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:401:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:403:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:404:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:406:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:416:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:417:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:475:36: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:484:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:494:20: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:501:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:524:36: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:534:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:852:21: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:973:20: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) drivers/media/pci/ddbridge/ddbridge-core.c:974:20: warning: incorrect type in initializer (incompatible argument 2 (different address spaces)) drivers/media/pci/ddbridge/ddbridge-core.c:978:20: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:982:20: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:1003:23: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1006:23: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1009:30: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1015:25: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1017:39: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1035:24: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1041:20: warning: symbol 'cxd_cfg' was not declared. Should it be static? drivers/media/pci/ddbridge/ddbridge-core.c:1130:44: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:1183:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1188:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1193:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1198:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1213:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1214:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1215:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1216:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1231:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1232:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1233:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1289:17: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1333:23: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1295:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1347:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1353:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1354:24: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1359:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1361:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1373:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1374:16: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1378:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1382:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1385:17: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1386:24: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1388:24: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1393:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1394:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1395:16: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1398:16: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1399:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1451:42: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1462:45: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1467:37: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1538:28: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1550:9: warning: incorrect type in argument 2 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1561:31: warning: Using plain integer as NULL pointer drivers/media/pci/ddbridge/ddbridge-core.c:1585:19: warning: incorrect type in assignment (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1591:47: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1591:60: warning: incorrect type in argument 1 (different address spaces) drivers/media/pci/ddbridge/ddbridge-core.c:1607:9: warning: too many warnings Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6cde2904df44049dd58b5d71639a2c720c658f50 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 17:05:17 2014 -0300 [media] kinect: fix sparse warnings drivers/media/usb/gspca/kinect.c:151:19: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:152:19: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:153:19: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:191:13: warning: restricted __le16 degrades to integer drivers/media/usb/gspca/kinect.c:217:16: warning: incorrect type in assignment (different base types) drivers/media/usb/gspca/kinect.c:218:16: warning: incorrect type in assignment (different base types) Note that this fixes a real bug where cpu_to_le16 was used instead of the correct le16_to_cpu. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Antonio Ospite <ao2@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 18ef20da8f0ad4e867a9556d285a9c22b08f5a58 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:58:35 2014 -0300 [media] dib7000p: fix sparse warning drivers/media/dvb-frontends/dib7000p.c:2562:5: warning: symbol 'dib7090_set_diversity_in' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 616e3506a95d7ec7e308876cc3fd6144da59dece Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:55:35 2014 -0300 [media] go7007: fix sparse warnings drivers/media/usb/go7007/go7007-usb.c:699:30: warning: cast to restricted __le16 drivers/media/usb/go7007/go7007-usb.c:769:38: warning: cast to restricted __le16 drivers/media/usb/go7007/go7007-usb.c:770:39: warning: cast to restricted __le16 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ee40d32fc2a8749a89c1a372a46d619158c2d367 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:53:30 2014 -0300 [media] pctv452e: fix sparse warnings drivers/media/usb/dvb-usb/pctv452e.c:886:64: warning: Using plain integer as NULL pointer drivers/media/usb/dvb-usb/pctv452e.c:903:63: warning: Using plain integer as NULL pointer drivers/media/usb/dvb-usb/pctv452e.c:968:19: warning: Using plain integer as NULL pointer drivers/media/usb/dvb-usb/pctv452e.c:1026:19: warning: Using plain integer as NULL pointer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 18d6a28ac0613d86241c7271aab3f6562d6c8995 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:50:21 2014 -0300 [media] opera1: fix sparse warnings drivers/media/usb/dvb-usb/opera1.c:557:29: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/opera1.c:558:33: warning: restricted __le16 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ed26716521a2fc7e41b6c98e046987f8f00a3155 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:48:07 2014 -0300 [media] mxl111sf: fix sparse warnings drivers/media/usb/dvb-usb-v2/mxl111sf.c:34:5: warning: symbol 'dvb_usb_mxl111sf_isoc' was not declared. Should it be static? drivers/media/usb/dvb-usb-v2/mxl111sf.c:38:5: warning: symbol 'dvb_usb_mxl111sf_spi' was not declared. Should it be static? drivers/media/usb/dvb-usb-v2/mxl111sf.c:46:5: warning: symbol 'dvb_usb_mxl111sf_rfswitch' was not declared. Should it be static? drivers/media/usb/dvb-usb-v2/mxl111sf.c:890:22: warning: symbol 'mxl111sf_i2c_algo' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1ad5d0645ec8c2b4b1ca9d146530bf9b755d8920 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:45:27 2014 -0300 [media] dw2102: fix sparse warnings drivers/media/usb/dvb-usb/dw2102.c:670:65: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1601:32: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1644:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dw2102.c:1904:34: warning: symbol 'p1100' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1911:34: warning: symbol 's660' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1930:34: warning: symbol 'p7500' was not declared. Should it be static? drivers/media/usb/dvb-usb/dw2102.c:1937:34: warning: symbol 's421' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7754622baa7220d7048a5b97435adff1dfb15dbb Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:40:00 2014 -0300 [media] radio-tea5764: fix sparse warnings drivers/media/radio/radio-tea5764.c:168:24: warning: cast to restricted __be16 drivers/media/radio/radio-tea5764.c:168:24: warning: cast to restricted __be16 drivers/media/radio/radio-tea5764.c:168:24: warning: cast to restricted __be16 drivers/media/radio/radio-tea5764.c:168:24: warning: cast to restricted __be16 drivers/media/radio/radio-tea5764.c:185:20: warning: incorrect type in assignment (different base types) drivers/media/radio/radio-tea5764.c:186:20: warning: incorrect type in assignment (different base types) drivers/media/radio/radio-tea5764.c:187:20: warning: incorrect type in assignment (different base types) drivers/media/radio/radio-tea5764.c:188:20: warning: incorrect type in assignment (different base types) drivers/media/radio/radio-tea5764.c:189:20: warning: incorrect type in assignment (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 744263246d8cdb838db5bc7743f9220de016f7dc Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:34:27 2014 -0300 [media] af9015: fix sparse warning drivers/media/usb/dvb-usb-v2/af9015.c:422:38: warning: cast to restricted __le32 Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b565e71dd2805f6efb99cfb31b1f116cdea974d7 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:32:26 2014 -0300 [media] dibusb: fix sparse warnings drivers/media/usb/dvb-usb/dibusb-common.c:261:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:262:52: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:300:40: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:301:44: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:313:47: warning: restricted __le16 degrades to integer drivers/media/usb/dvb-usb/dibusb-common.c:314:47: warning: restricted __le16 degrades to integer Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4bf167a373bbbd31efddd9c00adc97ecc69fdb67 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Mon Sep 1 10:18:02 2014 -0300 [media] v4l: vsp1: fix driver dependencies Renesas VSP1 Video Processing Engine support should be available only on Renesas ARM SoCs. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5da74fc66b58a943e32e8c8b59e8e7c719ab611b Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Mon Sep 1 10:05:52 2014 -0300 [media] s5p-jpeg: fix HUF_TBL_EN bit clearing path Use proper bitwise operator while clearing HUF_TBL_EN bit. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d727ff4241e4ed2f4f93816460b2af0567f0e3c1 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Mon Sep 1 10:05:51 2014 -0300 [media] s5p-jpeg: avoid overwriting JPEG_CNTL register settings Take into account the JPEG_CNTL register value read before setting SYS_INT_EN bit field. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 37a4bd757ce19a6f58339f8c3b85551f43911764 Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Mon Sep 1 10:05:50 2014 -0300 [media] s5p-jpeg: remove stray call to readl There is no need to read INT_EN_REG before enabling interrupts. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0cd9b21ed5453055752e7f8ef4887fbc409b77dc Author: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Date: Mon Sep 1 10:05:49 2014 -0300 [media] s5p-jpeg: Avoid assigning readl result Avoid gcc warning when -Wunused-but-set-variable is enabled. The readl return value need not to be assigned to any variable as the reading itself is just a part of a sequence required for clearing the interrupt flag. Signed-off-by: Jacek Anaszewski <j.anaszewski@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0c2272170d78f826f6e97f99fb8a67fc17feef07 Author: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Date: Wed Aug 27 09:36:28 2014 -0300 [media] media: s5p-mfc: rename special clock to sclk_mfc Commit d19f405a5a8d2ed942b40f8cf7929a5a50d0cc59 ("[media] s5p-mfc: Fix selective sclk_mfc init") added support for special clock handling (named "sclk-mfc"). However this clock is not defined yet on any platform, so before adding it to all Exynos platform, better rename it to "sclk_mfc" to match the scheme used for all other special clocks on Exynos platform. Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Acked-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7af142f752116e86adbe2073f2922d8265a77709 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Sep 1 11:19:37 2014 +0200 ALSA: pcm: Uninline snd_pcm_stream_lock() and _unlock() The previous commit for the non-atomic PCM ops added more codes to snd_pcm_stream_lock() and its variants. Since they are inlined functions, it resulted in a significant code size bloat. For reducing the size bloat, this patch changes the inline functions to the normal function calls. The export of rwlock and rwsem are removed as well, since they are referred only in pcm_native.c now. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 257f8cce5d40b811d229ed71602882baa0012808 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Fri Aug 29 15:32:29 2014 +0200 ALSA: pcm: Allow nonatomic trigger operations Currently, many PCM operations are performed in a critical section protected by spinlock, typically the trigger and pointer callbacks are assumed to be atomic. This is basically because some trigger action (e.g. PCM stop after drain or xrun) is done in the interrupt handler. If a driver runs in a threaded irq, however, this doesn't have to be atomic. And many devices want to handle trigger in a non-atomic context due to lengthy communications. This patch tries all PCM calls operational in non-atomic context. What it does is very simple: replaces the substream spinlock with the corresponding substream mutex when pcm->nonatomic flag is set. The driver that wants to use the non-atomic PCM ops just needs to set the flag and keep the rest as is. (Of course, it must not handle any PCM ops in irq context.) Note that the code doesn't check whether it's atomic-safe or not, but trust in 100% that the driver sets pcm->nonatomic correctly. One possible problem is the case where linked PCM substreams have inconsistent nonatomic states. For avoiding this, snd_pcm_link() returns an error if one tries to link an inconsistent PCM substream. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e47ccb1de5db8723b222149004584279a299571f Author: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Date: Wed Aug 13 23:11:47 2014 -0300 [media] media: s5p-mfc: correct improper logs This patch corrects improper logs within the code initializing hardware. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6c5c680b85deb98e1b90b5b3e112a6fa82c70b12 Author: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Date: Tue Aug 5 22:22:08 2014 -0300 [media] media: s5p_mfc: Release ctx->ctx if failed to allocate ctx->shm ctx->ctx should be released if the following allocation for ctx->shm gets failed. Signed-off-by: Zhaowei Yuan <zhaowei.yuan@xxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 016da14439b83fbb82c67c497eb770c8025608fe Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 18 11:54:56 2014 +0200 gpio: zynq: Take bank offset into account when reporting a IRQ When looking up the IRQ the bank offset needs to be taken into account. Otherwise interrupts for banks other than bank 0 get incorrectly reported as interrupts for bank 0. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c44b6484db6e285cbc63bb8d400b5e8873e3a8d2 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 16:27:38 2014 -0300 [media] solo6x10: fix sparse warnings drivers/media/pci/solo6x10/solo6x10-disp.c:184:24: warning: incorrect type in assignment (different base types) drivers/media/pci/solo6x10/solo6x10-disp.c:223:32: warning: incorrect type in assignment (different base types) Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3ee733ea9c3d7c31469ec4f88319d32f019b8d09 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Aug 20 18:55:23 2014 -0300 [media] img-ir: fix sparse warnings drivers/media/rc/img-ir/img-ir-nec.c:111:23: warning: symbol 'img_ir_nec' was not declared. Should it be static? drivers/media/rc/img-ir/img-ir-jvc.c:54:23: warning: symbol 'img_ir_jvc' was not declared. Should it be static? drivers/media/rc/img-ir/img-ir-sony.c:120:23: warning: symbol 'img_ir_sony' was not declared. Should it be static? drivers/media/rc/img-ir/img-ir-sharp.c:75:23: warning: symbol 'img_ir_sharp' was not declared. Should it be static? drivers/media/rc/img-ir/img-ir-sanyo.c:82:23: warning: symbol 'img_ir_sanyo' was not declared. Should it be static? Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5b5a9069e889cd87887cbd3ced6353281c7686b6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 09:56:47 2014 +0200 MAINTAINERS: Add irqchip DT bindings doc path to IRQCHIP DRIVERS section Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1409212607-4021-1-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 8703ec19c706eb4d9f2848d50e9fc41d73eb4a40 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu Aug 28 20:16:29 2014 +0300 irqchip: keystone: Remove warning unsigned 'kirq->irq' is never less than zero Remove static checker warning: drivers/irqchip/irq-keystone.c:166 keystone_irq_probe() warn: unsigned 'kirq->irq' is never less than zero. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Link: https://lkml.kernel.org/r/1409246189-29727-1-git-send-email-grygorii.strashko@xxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 4549cf2b1803d29cfd019f7bfeaa784f8f9c558f Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Sep 2 14:05:10 2014 +0200 mac80211: fix offloaded BA session traffic after hw restart When starting an offloaded BA session it is unknown what starting sequence number should be used. Using last_seq worked in most cases except after hw restart. When hw restart is requested last_seq is (rightfully so) kept unmodified. This ended up with BA sessions being restarted with an aribtrary BA window values resulting in dropped frames until sequence numbers caught up. Instead of last_seq pick seqno of a first Rxed frame of a given BA session. This fixes stalled traffic after hw restart with offloaded BA sessions (currently only ath10k). Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0310539723fb173c398ad1a0da2683d41d20dba5 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Aug 9 20:43:16 2014 -0300 [media] cx23885: remove FSF address as per checkpatch These addresses are usually out-of-date and the top-level license will always have the right address. So drop it from these sources. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 568f44a18e9b63fbb44fcb3292c3530087ae527b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 08:43:51 2014 -0300 [media] cx23885: use video_drvdata to get cx23885_dev pointer Use video_drvdata(file) instead of fh->dev to get the cx23885_dev pointer. This prepares for the vb2 conversion where fh->dev (renamed to fh->q_dev in this patch) will be removed completely. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9529a4b0cf49163e489446ec159a2dfb64f78df8 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 08:27:00 2014 -0300 [media] cx23885: drop videobuf abuse in cx23885-alsa The alsa driver uses videobuf low-level functions that are not available in vb2, so replace them by driver-specific functions. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 91d2d6745205774b712727ede2a35c91e1eb4c48 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:52:07 2014 -0300 [media] cx23885: fmt, width and height are global, not per-fh Move these fields from cx23885_fh to cx23885_dev. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e749c6e64c6a8b1323fad2330d73855cf072a3b9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:37:35 2014 -0300 [media] cx23885: drop unused clip fields from struct cx23885_fh There is no overlay support, so drop these unused fields. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1f159c77d068aff4c8ee7f7c84312b64ebef121c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:35:54 2014 -0300 [media] cx23885: drop type field from struct cx23885_fh This information is available elsewhere as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8696193320118ba55e6469f49b33b4526c5cd5fa Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:22:06 2014 -0300 [media] cx23885: drop radio-related dead code Currently no radio device nodes are ever created, so remove the dead radio code. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 200e0841ee4a05d06041fb25a8931a5dfb15c767 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:18:12 2014 -0300 [media] cx23885: map invalid fields to a valid field If field format is not valid, map it as V4L2_FIELD_INTERLACED, instead of pretending to support an invalid format. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1af2ddd8b3fab054c908d24e00cb41f6b2b7d719 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:11:49 2014 -0300 [media] cx23885: fix format colorspace compliance error Fix v4l2-compliance failure relating to formatting. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5150392cd94c5a5a89b92e58ddc579f0de2d1a89 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 07:02:15 2014 -0300 [media] cx23885: convert 417 to the control framework Convert the -417 source to the control framework as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit da59a4deb2e2430aac82e775bb2b0a67cbb48f11 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 06:34:44 2014 -0300 [media] cx23885: convert to the control framework This is part 1, converting the uncompressed video/vbi nodes to use the control framework. The next patch converts the compressed video node as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 24a8f7b5648ff8dfd8d26f8444ab4b04286dba98 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Sat Aug 9 11:29:55 2014 -0300 [media] cx23885: use core locking, switch to unlocked_ioctl Enable core locking which allows us to safely switch to unlocked_ioctl. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 86dd9831aea494e3e5c565c697df60484f55780c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 05:32:58 2014 -0300 [media] cx23885: support v4l2_fh and g/s_priority Add support for struct v4l2_fh and priority handling. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d43be757b945b292402edc28aa67cf53581d3428 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 05:24:58 2014 -0300 [media] cx23885: fix audio input handling Fix a bunch of v4l2-compliance errors relating to audio input handling. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a7d3eabd77402828a5d5a84604626cb824571e0b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Wed Apr 23 04:50:14 2014 -0300 [media] cx23885: fix querycap Set device_caps to fix the v4l2-compliance QUERYCAP complaints. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit fd34f90c6071bbc124572dae83b67044b1c663cc Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 30 16:51:03 2014 +0100 drm/i915: Don't restrict i915_wa_registers to BDW We have CHV code that already makes the test obsolete. Besides, when num_wa_regs is 0 (platforms not gathering that W/A data), we expose something sensible already. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b07ba1dc78a251fc02992a35b0fd8757029566e4 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 30 16:51:02 2014 +0100 drm/i915: Remove unneeded brackets Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 04ad2dc7116347a4219b13935c7569ceaab95155 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 30 16:51:01 2014 +0100 drm/i915: Don't silently discard workarounds If we happen to emit more than I915_MAX_WA_REGS workarounds, we will currently discard them, not even emit the LRI. Not really what we want, so warn loudly. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 55820e1e840def3802fc366607f2b25e31036ab1 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 30 16:51:00 2014 +0100 drm/i915: Don't overrun the intel_wa_regs array When entering intel_ring_emit_wa() with num_wa_regs equal to I915_MAX_WA_REGS, we end up indexing the intel_wa_regs array beyond its allocation. Fix the check then. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1ed1ef9dd91ef8067a45889367a888c7494675e0 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 30 16:50:59 2014 +0100 drm/i915: Rename intel_wa_registers with a i915_ prefix Those debugfs files are prefixed by i915, the name of the kernel module, presumably to make the difference with files exposed by core DRM. Also, add a ',' at the end of the last entry. This is to ease the conflict resolution when rebasing internal patches that add a member at the end of the array. Without it, wiggle can't do its job as we need to modify an existing line (appending the ','). Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 059b2fe9d8a7ae570b803ca7b71ef9a3628c2aa4 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Tue Sep 2 16:53:57 2014 -0300 drm/i915: change CHV write_eld/global_resources function pointers Currently, CHV is using the same functions as HSW/BDW instead of the same functions as VLV. This looks wrong, especially since, for example, valleyview_modeset_global_resouces even has an IS_CHERRYVIEW check. This patch has the potential to fix display audio and the CHV CDCLK. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 953ece69711bfc51c57ef3976c84594b2fadbcb3 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 20:04:01 2014 +0100 drm/i915/hdmi: Cache EDID for a detection cycle As we may query the edid multiple times following a detect, record the EDID found during output discovery and reuse it. This is a separate issue from caching the output EDID across detection cycles. v2: Also hookup the force() callback for audio detection when the user forces the connection status. v3: Ville spots a typo, s/==/!=/ Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit beb60608477ec4ae252ec16f9b4018c015b980cb Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 20:04:00 2014 +0100 drm/i915/dp: Cache EDID for a detection cycle As we may query the edid multiple times following a detect, record the EDID found during output discovery and reuse it. This is a separate issue from caching the output EDID across detection cycles. v2: Implement connector->force() callback so that edid is associated with the connector for user overrides as well (Ville) Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d410b56d74bc706f414158cb0149e2a149ee1650 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 20:03:59 2014 +0100 drm/i915/dp: Refactor common eDP lid detection Both gmch and pch detection routines used the exact same routine for eDP, so de-duplicate. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: : Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aec856d0a8308cb34360c88a73b517c3a1fce170 Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Sep 3 10:23:05 2014 +0200 ALSA: hda - Make the ALC269 pin quirk table shorter ...by factoring out common parts to the just added pin macros. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit fea185e28e7c9f37a298f4184580f310e4eefd7b Author: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Date: Wed Sep 3 10:23:04 2014 +0200 ALSA: hda - Add common pin macros for ALC269 family This will be used in a later patch to make the pin quirk table shorter. Signed-off-by: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 26db63e3cb7af431707cd0467c7bcfefad25aa39 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:46 2014 +0530 drm: Remove old defines for vswing and pre-emph values This is the last patch in the series, so remove old defines Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd60018af33b36650a9d9b6e2b63dbc9a58e2163 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:41 2014 +0530 drm/i915: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit eeb82a5cdb9ab8c5690186b60b2a2bc551fbdf5c Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:45 2014 +0530 drm/tegra: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Acked-by: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9cecb371cf7365dfaf40cf83e8068f012f27f86b Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:44 2014 +0530 drm/radeon: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_1200 (3 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_3 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Alex Deucher <alexdeucher@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 31160006f8b5aabc3701b22feccbc9a4ae9c59b1 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:43 2014 +0530 drm/gma500: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0ded925435ba40e1328565d3de869b3635207ef2 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:42 2014 +0530 drm/exynos: Renaming DP training vswing pre emph defines Rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0504cd170c86f0617f27a31f1ba2328caa976707 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 8 16:23:40 2014 +0530 drm: Renaming DP training vswing pre emph defines Adding new defines, older one will be removed in the last patch in the series. This is to rename the defines to have levels instead of values for vswing and pre-emph levels as the values may differ in other scenarios like low vswing of eDP1.4 where the values are different. Done using following cocci patch for each define: @@ @@ # define DP_TRAIN_VOLTAGE_SWING_400 (0 << 0) + # define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ... Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f9cac7218a6e18f5f95917c9e3331ee7f063c439 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Sep 2 16:33:52 2014 +0300 drm/i915: debug sink dpms aux errors also on enable Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 09dba00c0091984626b48e1e2439f25e437c03ae Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Sep 1 18:08:25 2014 +0300 drm/i915: Don't call intel_plane_restore() when the prop value didn't change No point in calling intel_plane_restore() in .set_property() if the value didn't change. More importantly this papers over a bug where the current primary plane code forgets to update the user coordinates we store under intel_plane unless the primary plane .update_plane() hook is actually called. This means we have 0 in the coordinates straight after boot and any call to intel_restore_plane() (such as from restore_fbdev_mode()) will actually turn off the primary plane. This mess needs to be fixed properly but that's a bigger task and the first step there is killing off intel_pipe_set_base() and just calling the primary plane .update_plane() hook. For the immediate problem of black screen after boot this small patch is enough to hide it. The problem originates from these two commits: commit 3a5f87c286515c54ff5c52c3e64d0c522b7570c0 Author: Thomas Wood <thomas.wood@xxxxxxxxx> Date: Wed Aug 20 14:45:00 2014 +0100 drm: fix plane rotation when restoring fbdev configuration commit d91a2cb8e5104233c02bbde539bd4ee455ec12ac Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 22 14:06:04 2014 +0530 drm/i915: Add 180 degree primary plane rotation support Cc: Thomas Wood <thomas.wood@xxxxxxxxx> Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> Tested-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Tested-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a8e98153627dfbb10ff4dd65729676115a932b2e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Sep 1 14:12:01 2014 +0300 drm: i915: reduce memory footprint when debugging There is no need to use hex_dump_to_buffer() since we have a kernel helper to dump up to 64 bytes just via printk(). In our case the actual size is 15 bytes. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> [danvet: Add cast since %*ph expects and int for the size parameter.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6c65a587b123ab17389b0563cdc42668847ad652 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 29 14:14:07 2014 +0300 drm/i915: Don't use WaGsvRC0ResidenncyMethod on chv WaGsvRC0ResidenncyMethod is for vlv, it doesn't deal with chv appropriately (eg. doesn't limit rps values to even numbers). Fix a typo in the w/a name while at it. Cc: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 69769f9a422bfc62e17399da3590c5e31ac37f24 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:08 2014 +0300 drm/i915: Preserve VGACNTR bits from the BIOS My Fujistsu-Siemens Lifebook S6010 doesn't like to resume from S3 unless VGACNTR has been restore to the original value. The BIOS value in this case was 0x0124008E. Setting the "VGA disable" bit doesn't interfere with the S3 resume fortunately. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b6b5d049780c29fe6073b6ecbb712dd8dcb27ebc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:07 2014 +0300 drm/i915: Add pipe B force quirk for 830M 830M has problems when some of the pipes are disabled. Namely if a plane, DVO port etc. is currently assigned to a disabled pipe, it can't moved to the other pipe until the current pipe is also enabled. To keep things simple just leave both pipes running all the time. Ideally I think should turn the pipes off if neither is active, and when either becomes active we enable both. But that would reuquire proper atomic modeset support, and probably a bit of extra care in the order things get enabled. v2: Reorder wrt. double wide handling changes Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5f080c0f4bd526b36361dd15c4d22f6bbad95af9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:06 2014 +0300 Revert "drm/i915: Nuke pipe A quirk on i830M" 830 really does want the pipe A quirk. The planes and ports don't react to any register writes unless the pipe currently attached to them is running, so it's impossible to move them to the other pipe unless both pipes are running. Also it's documented that the DPLL must be enabled on both pipes whenever it's needed. This reverts commit ac6696d3236bd61503f89a1a99680fd7894d5d53. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b07aaf8849f08b2e4c1ea1a91cae80e0c11c8d2a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:04 2014 +0300 drm/i915: Check pixel clock in ns2501 mode_valid hook The vbt on my Fujitsu-Siemens Lifebook S6010 provides two 800x600 modes, 60Hz and 56Hz. The magic register values we have correspond to the 60Hz mode, and as I don't know how one would trick the VGA BIOS to set up the 56Hz mode we can't get the magic values for the orther mode. So when checking whether a mode is valid also check the pixel clock so that we filter out the 56Hz variant. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d9d9bced0a711ab5c14f8a6b6df497e5f27b783d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:03 2014 +0300 drm/i915: Init important ns2501 registers In my earlier rewrite I missed a few important registers. Thomas Richter noticed that they're needed to make his machine resume correctly. Looks like IEGD does a one time init of these three registers. We don't have a good one time init place in the ns2501 driver, so let's just stick them into the .mode_set() hook and see if that helps things along. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bae06ca122a5f37bdd4d8faedae7881f53b145cd Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:02 2014 +0300 drm/i915: Rewrite ns2501 driver a bit Try to use the same programming sequence as used by the IEGD driver. Also shovel the magic register values into a big static const array. The register values are actually the based on what the BIOS programs on the Fujitsu-Siemens Lifebook S6010. IEGD seemed to have hardcoded register values (which also enabled the scaler for 1024x768 mode). However those didn't actually work so well on the S6010. Possibly the pipe timings that got used didn't match the ns2501 configuration. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 09b0085a9d52f444c986a2dd98c3309bd5a5923a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:01 2014 +0300 drm/i915: Kill useless ns2501_dump_regs Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e240d55d671c63056b118ec29acb26b273a94405 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:22:00 2014 +0300 drm/i915: Don't call DVO mode_set hook on DPMS changes Calling the mode_set hook on DPMS changes doesn't seem to be necessary for ns2501. Just drop it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9c054c203e7c9ca1c27ab02c4374a2b33de3344 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:59 2014 +0300 drm/i915: Enable DVO between mode_set and dpms hooks To more closely match the IEGD ns2501 driver behaviour, call the mode_set hook while the DVO port is still disabled, then enable the DVO port, and finally call the dpms hook. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 316e0157a9009f77bd8f73f96937caddbd87fcdc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:58 2014 +0300 drm/i915: ns2501 is on DVOB On Fujitsu-Siememens S6010 the ns2501 chip is hooked up to DVOB instead of DVOC. FIXME: Maybe need to dig out the correct DVO port from VBT Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 67adc6442a4ba9cbe412c4fc698a7e14333027e5 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:57 2014 +0300 drm/i915: Disable double wide even when leaving the pipe on Disable double wide even if the pipe quirk compels us to leave the pipe running. Double wide has certain implications for the plane assignments so best keep it off. Also helps resuming from S3 on the Fujitsu-Siemens Lifebook S6010 when double wide was enabled prior to suspend. We do leave the pixel clock ticking at the original rate which would require double wide to be enabled. But since the planes are all disabled I'm hoping that the overly fast clock won't cause any problems. Seems to be fine so far. v2: Disable double wide also when turning the pipe off v3: Reorder wrt. force pipe B quirk Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 575f7ab754c49466090ed3fafa91c8efb3a5afb6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:56 2014 +0300 drm/i915: Pass intel_crtc to intel_disable_pipe() and intel_wait_for_pipe_off() Just pass the intel_crtc around instead of dev_priv+pipe. Also make intel_wait_for_pipe_off() static since it's only used in intel_display.c. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 81e7f2002b7db269799ebdac0d905574c0a85d1d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:55 2014 +0300 drm/i915: Idle unused rings on gen2/3 during init/resume gen2/3 platforms have a boatload of rings we're not using. On my 830 the BIOS/hw can leave some of those "active" after resume which will prevent c3 entry. The ring is apparently considered active whenever head != tail even if the ring is disabled. Disable and clear all such unused ringbuffers on init/resume. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1038392b4dd02a46006d38f33aab71486d477ced Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:54 2014 +0300 drm/i915: Disable trickle feed for gen2/3 My 830 is unhappy with trickle feed enabled. The symptom is that the image on the screen shifts a bit to right occasionally. The BIOS initially disables trickle feed, but it gets reset during suspend, so we need to re-disable it ourselves. Juse disable it always. Also disable it for all other gen2/3 platforms since we disable it for all more recent platforms as well (until HSW that is). At least my 855 doesn't seem to mind us doing this. I don't have gen3 hardware to test that. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9d53910580512207186729c94b39cca9a9778c13 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 15 01:21:53 2014 +0300 drm/i915: Fix gen2 planes B and C max watermark value The max watermark value for gen2 planes B and C is 0x1f, instead of the 0x3f that plane A uses. Also check against the max even if the pipe is disabled since the FIFO size exceeds the plane B and C max watermark value. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Thomas Richter <richter@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d1d70677e165826f3fa9966e1b7ec3765d7c0fb7 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Wed May 28 14:39:03 2014 -0700 drm/i915: make fbdev initialization asynchronous v2 This gets us out of our init code and out to userspace quite a bit faster, but does open us up to some bugs given the state of our init time locking. v2: switch to async_schedule (Chris) check with lockdep, seems happy (Jesse) move hotplug enable flag set to fbdev_initial_config (Jesse) Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Rebase on top of the dev_priv->enable_hotplug_processing removal.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 00e1e623e62cd8452e28633182b91ddcbb70cc7c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 27 17:33:12 2014 +0300 drm/i915: Init some CHV workarounds via LRIs in ring->init_context() Follow the BDW example and apply the workarounds touching registers which are saved in the context image through LRIs in the new ring->init_context() hook. This makes Mesa much happier and eg. glxgears doesn't hang after the first frame. Cc: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Add missing wa table initialization to avoid a functional conflict with Arun's wa table debugfs support.] Reviewed-by: "Barbalho, Rafael" <rafael.barbalho@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21386f86c9af92fea4897e90c1671b3f0010e936 Author: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Date: Thu Aug 28 14:40:06 2014 -0300 drm/i915: trivial: remove unneed set to NULL At this point of the code the obj var is already NULL, so we don't need to set it again to NULL. Signed-off-by: Gustavo Padovan <gustavo.padovan@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1c14762d0cc3eecfdc5060bd634d124d32bd9d44 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 14:42:43 2014 +0300 drm/i915: Warn about odd rps values on CHV CHV wants even rps opcodes so print a warning of the min/max/rpe/rp1 values are odd, and warn if an odd value slips through to valleyview_set_rps() and truncate it to an even value. Also add a comment to chv_freq_opcode() to make sure no one changes the code without considering this requirement. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> [danvet: Help git along in applying the patch, somehow it silently ended up in the vlv init_gt_powersave function.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cbce710709f2b57cb955a98c0d3fad1559c4d93d Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 28 12:17:42 2014 +0200 MAINTAINERS: Update Daniel Vetter's email address Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> commit 564ddb2fae4da01406a24e5a763e601dc21c23d7 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Aug 21 11:40:54 2014 +0100 drm/i915/bdw: Render state init for Execlists The batchbuffer that sets the render context state is submitted in a different way, and from different places. We needed to make both the render state preparation and free functions outside accesible, and namespace accordingly. This mess is so that all LR, LRC and Execlists functionality can go together in intel_lrc.c: we can fix all of this later on, once the interfaces are clear. v2: Create a separate ctx->rcs_initialized for the Execlists case, as suggested by Chris Wilson. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> v3: Setup ring status page in lr_context_deferred_create when the default context is being created. This means that the render state init for the default context is no longer a special case. Execute deferred creation of the default context at the end of logical_ring_init to allow the render state commands to be submitted. Fix style errors reported by checkpatch. Rebased. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c76bb61a71083b2d90504cc6d0dda2047c5d63ca Author: Daisy Sun <daisy.sun@xxxxxxxxx> Date: Mon Aug 11 11:08:38 2014 -0700 drm/i915/bdw: BDW Software Turbo BDW supports GT C0 residency reporting in constant time unit. Driver calculates GT utilization based on C0 residency and adjusts RP frequency up/down accordingly. For offscreen workload specificly, set frequency to RP0. Offscreen task is not restricted by frame rate, it can be executed as soon as possible. Transcoding and serilized workload between CPU and GPU both need high GT performance, RP0 is a good option in this case. RC6 will kick in to compensate power consumption when GT is not active. v2: Rebase on recent drm-intel-nightly v3: Add flip timerout monitor, when no flip is deteced within 100ms, set frequency to RP0. Signed-off-by: Daisy Sun <daisy.sun@xxxxxxxxx> [torourke: rebased on latest and resolved conflict] Signed-off-by: Tom O'Rourke <Tom.O'Rourke@xxxxxxxxx> Acked-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2bb25c17bbe032eecaffa401dbc21809a3f8e44a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 14:42:44 2014 +0300 drm/i915: Populate mem_freq in init_gt_powerwave() init_clock_gating() is too late to read out the mem_freq. We already want to print out the GPU MHz numbers before it's called. Move the mem_freq setup to init_gt_powersave(). v2: Also kill the CHV_CZ_CLOCK_FREQ_MODE_* defines Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b98971271bf4c4566db2133ad0a36e4f24819fbe Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 27 16:51:22 2014 +0300 drm/i915: s, fb->bits_per_pixel/8, pixel_size, in primary plane code Use the pixel_size we got from drm_format_plane_cpp() instead of fb->bits_per_pixel/8 when computing the primary plane page/linear offsets. Avoids a few divs and makes the code more future proof against funky pixel formats where bits_per_pixel isn't well defined. This is what we already did in the sprite code. Note that the relevant sprite patch was commit ca320ac456099c29290568353d924157e626ede9 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Dec 19 12:14:22 2012 +0000 drm/i915: Use pixel size for computing linear offsets into a sprite This change was required on sprites because they support yuv formats which have fb->bits_per_pixel undefined. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Add Chris' software archeology as a note to the commit message.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9ba6fad426faa8349523cef323f7b4b7d17a1e8 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 27 17:48:41 2014 +0300 drm/i915: Don't dereference fb when disabling primary plane During driver init we may not have a valid framebuffer for the primary plane even though the plane is enabled due to failed BIOS fb takeover. This means we have to avoid dereferencing the fb in .update_primary_plane() when disabling the plane. The introduction of the primary plane rotation in commit d91a2cb8e5104233c02bbde539bd4ee455ec12ac Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 22 14:06:04 2014 +0530 drm/i915: Add 180 degree primary plane rotation support caused a regression by trying to look up the pixel format before we can be sure there's a valid fb available. This isn't entirely unsurprising since the rotation patches originally predate the change to the primary plane code that calls .update_primary_plane() also when disabling the plane: commit fdd508a6419217cce28213f3c9bd27c02a0d4c71 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 8 21:51:11 2014 +0300 drm/i915: Call .update_primary_plane in intel_{enable, disable}_primary_hw_plane() v2: Warn but don't blow up when trying to enable a plane w/o an fb (Chris) Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 888b59951ed5ac450fe3ddd7b3937d905b9bafbc Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Aug 26 14:44:51 2014 +0100 drm/i915/bdw: Export workaround data to debugfs The workarounds that are applied are exported to a debugfs file; this is used to verify their state after the test case (reset or suspend/resume etc). This patch is only required to support i-g-t. Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 86d7f23842f1bce3ab5e8c8d0c676112bbc4c99b Author: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Date: Tue Aug 26 14:44:50 2014 +0100 drm/i915/bdw: Apply workarounds in render ring init function For BDW workarounds are currently initialized in init_clock_gating() but they are lost during reset, suspend/resume etc; this patch moves the WAs that are part of register state context to render ring init fn otherwise default context ends up with incorrect values as they don't get initialized until init_clock_gating fn. v2: Add workarounds to golden render state This method has its own issues, first of all this is different for each gen and it is generated using a tool so adding new workaround and mainitaining them across gens is not a straightforward process. v3: Use LRIs to emit these workarounds (Ville) Instead of modifying the golden render state the same LRIs are emitted from within the driver. v4: Use abstract name when exporting gen specific routines (Chris) For: VIZ-4092 Signed-off-by: Arun Siluvery <arun.siluvery@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c5ad011d7d256ecbe173324029e992817194d2b0 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Mon Aug 4 03:51:38 2014 -0700 drm/i915: FBC flush nuke for BDW According to spec FBC on BDW and HSW are identical without any gaps. So let's copy the nuke and let FBC really start compressing stuff. Without this patch we can verify with false color that nothing is being compressed. With the nuke in place and false color it is possible to see false color debugs. Unfortunatelly on some rings like BCS on BDW we have to avoid Bits 22:18 on LRIs due to a high risk of hung. So, when using Blt ring for frontbuffer rend cache would never been cleaned and FBC would stop compressing buffer. One alternative is to cache clean on software frontbuffer tracking. v2: Fix rebase conflict. v3: Do not clean cache on BCS ring. Instead use sw frontbuffer tracking. Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1012205182fb9470a1bd1620872103a09f566225 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 16:27:30 2014 +0300 drm/i915/ddi: use struct for ddi buf translation tables Try to avoid confusion with ARRAY_SIZE()/2 and hdmi_level*2. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> [danvet: Resolve silent patch conflict (didn't even fail to build) with with Sonika's preceding patch to use the hsw_ddi_translations_fdi table to driver the fdi link training iteration loop. Also drop the double-write loop Damien spotted.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c5fe6a0637e8a9f407a87b78be6955067f01a4cd Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Aug 11 08:57:36 2014 +0530 drm/i915: Rename defines for selection of ddi buffer translation slot Renaming the HSW-specific macros for ddi buffer translation slot to denote the slot and not the vswing/pre-emph values as they are platform-dependent. This patch is based on top of the patch series for renaming the DP training vswing/pre-emph defines: http://lists.freedesktop.org/archives/intel-gfx/2014-August/050407.html v2: Creating single macro with argument for slot number (Damien) v3: Adding macro for num of translation entries (Damien) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 23ba9373ef0dc535b013a872fa565b326b93612d Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 14:08:43 2014 +0300 drm/i915/dp: debug log whether backlight is being enabled or disabled Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be292e1563ac5bebc5d84c914a9e5019a0b2114f Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Aug 27 13:24:51 2014 +0200 drm/i915/bdw: Let the memory controller do all the swizzling Previously, it was possible for the GPU memory accesses to be swizzled to try to optimize the fetches for tiled buffers. This swizzling was on top of what the memory controller in the uncore already does. With broadwell, we drop that GPU side swizzling, and the corresponding initialization in 3 units (GAM, GT, DE). All those bits are reserved, as specs put it: Before Gen8, there was a historical configuration control field to swizzle address bit[6] for in X/Y tiling modes. This was set in three different places: TILECTL[1:0], ARB_MODE[5:4], and DISP_ARB_CTL[14:13]" For Gen8 the swizzle fields are all reserved, and the CPU's memory controller performs all address swizzling modifications. This also means that user space doesn't have to manually swizzle when accessing tiled buffers from the CPU, and so we always return I915_BIT_6_SWIZZLE_NONE from i915_gem_detect_bit_6_swizzle(), which short-circuits the initialization of the registers mentionned above in i915_gem_init_swizzling(). v2: Refine the explanation a bit more (Daniel) v3: Make it BDW+ specific (Steve) Cc: Steve Aarnio <steve.j.aarnio@xxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Keep the actual code to set the tiling bits for now, in case some bios escaped to the wild that uses this - we'd need it for fastboot.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1eab9234cbfdd72fe29a68f3da8002e2c74c0c36 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Aug 27 11:30:21 2014 +0100 drm/i915: Add "Intel Corporation" as module author Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0a6d16318939f3dbd9f5f91709c4e72c585d8554 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Wed Aug 27 11:30:20 2014 +0100 drm/i915: Don't use a define when it's clearer to just put the value Instead of going through hoops, just put the driver author directly as DRM_AUTHOR() argument. This will also make it consistent when we add Intel to the list. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bedd4dba75dc583fd3c458f6af2d53c60912a3cb Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Aug 22 15:04:13 2014 +0300 drm/i915: improve assert_panel_unlocked Fix assert_panel_unlocked for vlv/chv, and improve it a bit for non-LVDS. Also don't pretend it works for DDI. There's still work to do to get this right for eDP on PCH platforms, but this is a start. v2: WARN_ON(HAS_DDI) Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac66cf4b9af4322748fa46af79e9952bd58c6213 Author: Vedang Patel <vedang.patel@xxxxxxxxx> Date: Tue Aug 26 10:42:51 2014 -0700 drm/i915/bdw: Add BDW support in the i915 debugfs entry The patch introduces fixes for the debugfs attributes emitted by the i915 driver for GEN8. Currently, it is not emitting the correct attributes which include the status of RC6 states. Change-Id: Ib2068a0cac9a5wq3f228e547fa1a097ad369d242df Signed-off-by: Vedang Patel <vedang.patel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0a4cd7c8c89a15938d67bdc7be8314d85b9ef4da Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 14:41:39 2014 +0100 drm/i915: Differentiate between LLC or snooped for the user Rather than describing an object as either "snooped or LLC", we can do better as we should know what machine we are running on! Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c8a0bd42df69fe76646b45dea04c7cf4995fa6a3 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Aug 21 17:09:38 2014 -0300 drm/i915: send PCI_D3hot adapter opregion message on BDW RPM suspend On BDW we're seeing a problem that after we runtime resume, the outputs connected to DDI C are not detected: they don't appear in the SDEISR register and GMBUS transactions don't work. They stop working at the moment we call intel_opregion_notify_adapter() during runtime suspend, but they don't go back to work when we call the same function during runtime resume. They only work after we do a modeset and call intel_opregion_notify_encoder(), but this point is already too late. While debugging, I tried to pass PCI_D3hot which is the value that matches the spec, and it seems to have solved the problem. I couldn't find any explanation of why this solves the problem, but there's also no documented explanation - besides our code and git log - of why Haswell should use PCI_D1, so keep this for now in order to keep BDW runtime PM working. Also add a comment to point the fact that there's no spec documenting all the weirdness involved here. Cc: kristen.c.accardi@xxxxxxxxx Testcase: igt/pm_rpm/drm-resources-equal Testcase: igt/pm_rpm/i2c Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 47c2bd97cf367f712433eece065df276a64d3e66 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Aug 21 17:09:37 2014 -0300 drm/i915: rename gen8_init_clock_gating to broadwell_init_clock_gating Because CHV uses cherryview_init_clock_gating instead of gen8_init_clock_gating. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 89d6b2b81fdfa57666188d63dc970f8f14efed71 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Aug 21 17:09:36 2014 -0300 drm/i915: call lpt_init_clock_gating on BDW too Because BDW has WPT, which is equivalent to LPT. This is just like the CPT/PPT case. Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec49ba2d709f3a1a4cd822e547db2f07e121b375 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Thu Aug 21 15:06:25 2014 +0300 drm/i915: fix panel unlock register mask Use the correct mask for the unlock bits. In theory this could have lead to incorrect asserts but this is unlikely in practise. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ecdb5fd8619964c8fb4e34703fb8e72eaa8a22cb Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Wed Aug 20 16:29:24 2014 +0100 drm/i915/bdw: Don't execute context reset and switch with Execlists These two functions make no sense in an Logical Ring Context & Execlists world. v2: We got rid of lrc_enabled and centralized everything in the sanitized i915.enable_execlists instead. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> v3: Rebased. Corrected a typo in comment for i915_switch_context and added a comment that it should not be called in execlist mode. Added WARN_ON if i915_switch_context is called in execlist mode. Moved check for execlist mode out of i915_switch_context and into callers. Added comment in context_reset explaining why nothing is done in execlist mode. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> [danvet: Simplify the patch subject so I can understand it.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9a2d2d8708208d983cb6101d58645537f7123a04 Author: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Date: Fri Aug 22 08:32:40 2014 +0530 drm/i915: Fix to Enable GT/PM Interrupts Programing GT IER interrupts was fumbled while enabling Interrupts for gen8 We forgot to program PM IER interrupt in gen8_gt_irq_postinstall based on the new re-worked interrupt routines. v2: Kill the loop and init GT interrupts individually (Ville) Signed-off-by: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> [danvet: Adjust commit message as per discussion with Deepak.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 671b50134ccd75a5dd1584e306a9316587371af3 Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Wed Aug 20 16:24:50 2014 +0100 drm/i915/bdw: Do not initialize PPGTT in the legacy way for execlists A pending commit removes synchronous mode from switch_mm. This breaks execlists because switch_mm will always try to write to the legacy ring buffer. Return immediately from i915_ppgtt_init_gw in execlists mode. No longer check for execlists mode in gen8_ppgtt_enable() because this will no longer be called in execlists mode. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 975d568adeba8e50fe0e526298ab4fdf8636e115 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 20 13:13:34 2014 +0100 drm/i915: Make wait-for-pending-flips more defensive Be sure to always flush a stuck pageflip even if we couldn't possibly expect one to be there. References: https://bugs.freedesktop.org/show_bug.cgi?id=82612 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e07f0552c6adc9f36c8d07cac24adf2c87ddfd69 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Tue Aug 19 15:49:41 2014 +0100 drm/i915: Handle i915_ppgtt_put correctly Unfortunately, the gem_obj/vma relationship is not symmetrical; a gem_obj can look up for the same vma more than once (where the ppgtt refcount is incremented), but will free the vma only once (i915_gem_free_object). This difference in refcount get/put means that the ppgtt is not removed after the context and vma are destroyed, because sometimes the refcount will never go back to zero. v2: Just move the ppgtt refcount into vma_create. OTC-Jira: VIZ-3719 Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c695b6b689b9c12611ae7ba849858b631322e11e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:03 2014 +0300 drm/i915: Flatten intel_edp_panel_vdd_on() Less pointless indentation is always nice. There will be a bit more code in this function once the power sequencer locking is fixed. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 15e899a01b5a50d12c96f696a43d4bd5a1ece8be Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:02 2014 +0300 drm/i915: Warn about want_panel_vdd in edp_panel_vdd_off_sync() If we force vdd off warn if someone is still using it. With this change the delayed vdd off work needs to check want_panel_vdd itself to make sure it doesn't try to turn vdd off when someone is using it. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit be2c9196e4da55b7351fc17dd6f3d11bd36ba893 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:01 2014 +0300 drm/i915: Replace big nested if block with early return Looks nicer. Not functional change. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> [danvet: Add "No functional change" as requested by Jani.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 72c3500ac4c260df661906dd6da484b35d149985 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:16:00 2014 +0300 drm/i915: Add a note explaining vdd on/off handling in intel_dp_aux_ch() Add a comment to explain why we care about the current want_panel_vdd state in intel_dp_aux_ch(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1e0560e05db2830f61465ce98b995564d33dfbcc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 19 13:24:25 2014 +0300 drm/i915: Rename edp vdd funcs for consistency edp_* are now the lower level functions and intel_edp_* the higher level ones. One should use them in pairs. v2: Don't return void (Jani) Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d337a341532d028920fc49832213c6dd2ce8289c Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:15:58 2014 +0300 drm/i915: Use intel_edp_panel_vdd_on() in intel_dp_probe_mst() We want to use the higher level vdd on func here. Not a big deal yet (we'd just get the warn when things go awry) but when the locking gets fixed this becomes more important. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad933b5630ec4413070cbba1599426b97b1cee57 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 18 22:15:56 2014 +0300 drm/i915: Parametrize PANEL_PORT_SELECT_VLV Passing the port as a parameter to PANEL_PORT_SELECT_VLV results in neater code. Sadly the PCH port select bits aren't suitable for the same treatment and the resulting macro would be much uglier, so leave those defines as is. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2d96553613b861d62f28b3eb172f473ca10fea06 Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Tue Aug 19 10:13:36 2014 +0100 drm/i915/bdw: Populate lrc with aliasing ppgtt if required A previous commit broke aliasing PPGTT for lrc, resulting in a kernel oops on boot. Add a check so that is full PPGTT is not in use the context is populated with the aliasing PPGTT. Issue: VIZ-4278 Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d84a0f3280c48fa28857de59a47e2fbf8753969f Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 18 10:35:29 2014 -0700 drm/i915: honour forced connector modes In the move over to use BIOS connector configs, we lost the ability to force a specific set of connectors on or off. Try to remedy that by dropping back to the old behavior if we detect a hard coded connector config that tries to enable a connector (disabling is easy!). Based on earlier patches by Jesse Barnes. v2: Remove Jesse's patch Reported-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e80f14b6d36e3e07111cf2ab084ef8dd5d015ce2 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Mon Aug 18 10:35:28 2014 -0700 drm/i915: Don't save/restore RS when not used v2: fix conflict on rebase. Cc: Kenneth Graunke <kenneth@xxxxxxxxxxxxx> Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 98a2e5f94275b6aafb12a3650937f6c54222cdc2 Author: Deepak S <deepak.s@xxxxxxxxx> Date: Mon Aug 18 10:35:27 2014 -0700 drm/i915: Bring UP Power Wells before disabling RC6. We need do forcewake before Disabling RC6, This is what the BIOS expects while going into suspend. v2: updated commit message. (Daniel) Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Deepak S <deepak.s@xxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 31e4b89acbd7b19c9a8557e6e660a583a0b97daa Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Aug 18 13:51:00 2014 +0100 drm/i915: Print the pipe on which the vblank wait times out Improve the debug message that tells us we've been waiting for a vblank that never arrived. Printing the pipe could lead a "doh!" moment where we've been waiting for a vblank on a pipe that was off for instance. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Thomas Wood <thomas.wood@xxxxxxxxx> [danvet: Polish commit message a bit.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 055e393fa3ade8cb91d8229f1c76ca9a7b23b8b3 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Mon Aug 18 13:49:10 2014 +0100 drm/i915: Use dev_priv as first argument of for_each_pipe() Chris has decided that enough is enough. It's time to fixup dev Vs dev_priv. This is a modest contribution to the crusade. v2: Still use INTEL_INFO(), for the (mythical!) case we want to hardcode the info struct with defines (Chris) Rename the macro argument from 'dev' to 'dev_priv' (Jani) v3: Use names unlikely to be used as macro arguments (Chris) Suggested-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0f391f189eae2c479122dc934d8ffdcbe4257cfe Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:25 2014 +0200 ARM: at91: Convert the boards to the init_time callback Now that we have the init_time callback in the at91_init_soc structure, convert all the boards and SoC to this. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d2992e51e799099e319aeaaa8648917954f59a3b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 18:05:04 2014 +0200 ARM: at91: soc: Add init_time callback Introduce an init_time callback to the at91_init_soc structure to be able to tweak the init_time machine callback on a per-soc basis, instead of having to rely on a global one. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Conflicts: arch/arm/mach-at91/setup.c commit 64568d1dbd673aca3de8d2a17b9db507c5b85df7 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:23 2014 +0200 ARM: at91: PIT: (Almost) remove the global variables The timer driver is using some global variables to define some variables it has to use in most of its functions, like the base address. Use some container_of calls to have a single dynamic (and local) variable to hold this content. The only exception is in the !DT case, where the call chain to at91sam926x_ioremap_pit and then at91sam926x_pit_init as init_time makes it hard for the moment to pass the physical address of the timer. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7f282e0137bfe712655e9f8da5ade105f6918741 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:22 2014 +0200 ARM: at91: PIT: use request_irq instead of setup_irq We can use the generic request_irq now to register a timer interrupt handler, instead of the more complex setup_irq. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit cffbfe63ec37cdaf8c9ede027759614faadd23cf Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:21 2014 +0200 ARM: at91: PIT: Use pr_fmt All the panic messages hardcode the same prefix. Define the pr_fmt macro to unify its definition. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit a981b29f027ace1b27fb4a96cef6cbfee49dbdd7 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:20 2014 +0200 ARM: at91: PIT: Use consistent exit path in probe The current probe code is, whenever it fails to retrieve a resource, either panicing, silently returning, or returning and displaying an error. Make the code consistent by always panicing whenever it fails to grab any resource. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit bc1aeaeb75f169f870573f6d4e517f925269de4a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 18:02:26 2014 +0200 ARM: at91: dt: Remove init_time definitions The current AT91 DT boards have a completely generic init_time definition. Remove them from the machine declaration. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Conflicts: arch/arm/mach-at91/board-dt-sam9.c arch/arm/mach-at91/board-dt-sama5.c commit f807a89cfe3e7379ec501810d67a5888edbb94f1 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:18 2014 +0200 ARM: at91: PIT: Rework probe functions The PIT timer driver until now had a single probe function, disregarding wether it was probed through DT or in the old-style way. This code later on was calling some DT function to retrieve the proper values for its base address, interrupts and clocks. While this was working, it was preventing the usage of CLOCKSOURCE_OF_DECLARE, and the two different probe path were not as clearly separated as they could be. Rework the probe path to take this into account, and switch to CLOCKSOURCE_OF_DECLARE. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 6a9e7363775f699388f173bc4fba9c7c5a8626ae Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Fri Aug 22 15:06:35 2014 +0300 drm/i915: don't check for i830 in vlv specific code Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9075e52face677b87c6bf08d8ea1a960d48d085c Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:43 2014 +0100 drm/i915/bdw: Make sure error capture keeps working with Execlists Since the ringbuffer does not belong per engine anymore, we have to make sure that we are always recording the correct ringbuffer. TODO: This is only a small fix to keep basic error capture working, but we need to add more information for it to be useful (e.g. dump the context being executed). v2: Reorder how the ringbuffer is chosen to clarify the change and rename the variable, both changes suggested by Chris Wilson. Also, add the TODO comment to the code, as suggested by Daniel. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 87a01e822db6e8b6a2898ddc7f116698247c7a4d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 20:05:50 2014 +0100 drm/i915: Suppress a WARN on reading an object back for a GPU hang Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8ae62dc62b340edd0f6a5a2522f284234e82c0ec Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 20:05:49 2014 +0100 drm/i915: Remove num_pages parameter to i915_error_object_create() For cleanliness, i915_error_object_create() was written to handle the NULL pointer in a central location. The macro that wrapped it and passed it a num_pages to use, was not safe. As we now never limit the num_pages to use (we did so at one point to only capture the first page of the context), we can remove the redundant macro and be NULL safe again. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: John Harrison <John.C.Harrison@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b3c3f5e69e25583703383d674e73d0ce26e731c3 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 20:05:48 2014 +0100 drm/i915: Do not access stolen memory directly by the CPU, even for error capture For stolen pages, since it is verboten to access them directly on many architectures, we have to read them through the GTT aperture. If they are not accessible through the aperture, then we have to abort. This was complicated by commit 8b6124a633d8095b0c8364f585edff9c59568a96 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Thu Jan 30 14:38:16 2014 +0000 drm/i915: Don't access snooped pages through the GTT (even for error capture) and the desire to use stolen memory for ringbuffers, contexts and batches in the future. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e6755fb78e8f20ecadf2a4080084121336624ad9 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Aug 12 17:11:42 2014 +0300 drm/i915: switch off backlight for backlight class 0 brightness Make backlight class sysfs brightness 0 value switch off the backlight for connectors that have the backlight_power callback defined. For eDP, this has the similar caveats regarding power savings as bl_power as only the power sequencer backlight control is switched off. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73580fb764c4213d305c0d36bd8f856ae631eb42 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Aug 12 17:11:41 2014 +0300 drm/i915/dp: make backlight bl_power control power sequencer backlight This lets the userspace switch off the backlight using the backlight class sysfs bl_power file. The switch is done using the power sequencer; the backlight PWM, and everything else, remains enabled. The display backlight won't draw power, but for maximum power savings the encoder needs to be switched off. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Tested_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ab656bb9012b9eabc21234caa47af478ea6ceec5 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 13 12:10:12 2014 +0300 drm/i915: add some framework for backlight bl_power support Make backlight class sysfs bl_power a sub-state of backlight enabled, if a backlight power connector callback is defined. It's up to the connector callback to handle the sub-state, typically in a way that respects panel power sequencing. v2: Post the version that does not oops. *facepalm*. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Tested_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1250d107cf9b82217a63520b0b76a947665537c2 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Tue Aug 12 17:11:39 2014 +0300 drm/i915/dp: split up panel power control from backlight pwm control Make it possible to change panel power control backlight state without touching the PWM. No functional changes. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Reviewed_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Tested_by: Clinton Taylor <Clinton.A.Taylor@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9dd3c605a395c27afeadbb95cf73cdb35e99e135 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Aug 1 18:14:48 2014 -0300 drm/i915: fix i915_frequency_info on BDW The GEN6_PM* registers don't exist on BDW anymore, so when we read this file we trigger unclaimed register errors. The equivalent BDW register for PMs is GEN8_GT_I*R(2), so use it. Testcase: igt/pm_rpm/debugfs-read Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 48404c1e53d4e15d7e3e77cd2c8f3f22973ef38e Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Fri Aug 22 14:06:04 2014 +0530 drm/i915: Add 180 degree primary plane rotation support Primary planes support 180 degree rotation. Expose the feature through rotation drm property. v2: Calculating linear/tiled offsets based on pipe source width and height. Added 180 degree rotation support in ironlake_update_plane. v3: Checking if CRTC is active before issueing update_plane. Added wait for vblank to make sure we dont overtake page flips. Disabling FBC since it does not work with rotated planes. v4: Updated rotation checks for pending flips, fbc disable. Creating rotation property only for Gen4 onwards. Property resetting as part of lastclose. v5: Resetting property in i915_driver_lastclose properly for planes and crtcs. Fixed linear offset calculation that was off by 1 w.r.t width in i9xx_update_plane and ironlake_update_plane. Removed tab based indentation and unnecessary braces in intel_crtc_set_property and intel_update_fbc. FBC and flip related checks should be done only for valid crtcs. v6: Minor nits in FBC disable checks for comments in intel_crtc_set_property and positioning the disable code in intel_update_fbc. v7: In case rotation property on inactive crtc is updated, we return successfully printing debug log as crtc is inactive and only property change is preserved. v8: update_plane is changed to update_primary_plane, crtc->fb is changed to crtc->primary->fb and return value of update_primary_plane is ignored. v9: added rotation property to primary plane instead of crtc. Removing reset of rotation property from lastclose. rotation_property is moved to drm_mode_config, so drm layer will take care of resetting. Adding updation of fbc when rotation is set to 0. Allowing rotation only if value is different than old one. v10: Calling intel_primary_plane_setplane instead of update_primary_plane in set_property(Daniel). v11: Using same set_property function for both primary and sprite, Adding primary plane specific code in the same function (Matt). v12: Removing disabling/ enabling of fbc from set_property because it is done from intel_pipe_set_base. Other formatting v13: we need to call disable_fbc before changing the rotation to 180, disable_fbc from intel_pipe_set_base gets called very late, that will be used to re-enable fbc if rotation is set to 0 (Ville). Testcase: igt/kms_rotation_crc Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Signed-off-by: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> [danvet: Add FIXME to explain why we need the open-coded update_fbc hunk to disable fbc when rotated 180 degree. And make checkpatch happier.] Acked-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce54d85aba1e9f7065a3a0269854d31ed00b2490 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Thu Aug 21 11:44:39 2014 +0530 drm/i915: Updating plane parameters for primary plane in setplane This unifies how the primary plane functions work with how the sprite functions works, which allows us to reuse them to update primary plane properties. v2: Moving setting of plane members in the end to take care of failure cases and not-visible cases (Matt). Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Acked-by: Matt Roper <matthew.d.roper@xxxxxxxxx> [danvet: Add a real commit message.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6689c167ae14c312972e89be1121e933e4de0001 Author: McAulay, Alistair <alistair.mcaulay@xxxxxxxxx> Date: Fri Aug 15 18:51:35 2014 +0100 drm/i915: Rework GPU reset sequence to match driver load & thaw This patch is to address Daniels concerns over different code during reset: http://lists.freedesktop.org/archives/intel-gfx/2014-June/047758.html "The reason for aiming as hard as possible to use the exact same code for driver load, gpu reset and runtime pm/system resume is that we've simply seen too many bugs due to slight variations and unintended omissions." Tested using igt drv_hangman. V2: Cleaner way of preventing check_wedge returning -EAGAIN V3: Clean the last_context during reset, to ensure do_switch() does the MI_SET_CONTEXT. As per review. Signed-off-by: McAulay, Alistair <alistair.mcaulay@xxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> [danvet: Rebase over ctx->ppgtt rework and extend the comment in check_wedge a bit.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5e352519519623a0b62587c606280e534d0cf1d9 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 2 13:18:37 2014 +0200 KVM: nSVM: propagate the NPF EXITINFO to the guest This is similar to what the EPT code does with the exit qualification. This allows the guest to see a valid value for bits 33:32. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a0c0feb57992c5caed170feab8a68c51306eb7c3 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Sep 2 13:24:12 2014 +0200 KVM: x86: reserve bit 8 of non-leaf PDPEs and PML4Es in 64-bit mode on AMD Bit 8 would be the "global" bit, which does not quite make sense for non-leaf page table entries. Intel ignores it; AMD ignores it in PDEs, but reserves it in PDPEs and PML4Es. The SVM test is relying on this behavior, so enforce it. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d143148383d0395539073dd6c2f25ddf6656bdcc Author: Tiejun Chen <tiejun.chen@xxxxxxxxx> Date: Mon Sep 1 18:44:04 2014 +0800 KVM: mmio: cleanup kvm_set_mmio_spte_mask Just reuse rsvd_bits() inside kvm_set_mmio_spte_mask() for slightly better code. Signed-off-by: Tiejun Chen <tiejun.chen@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 56f17dd3fbc44adcdbc3340fe3988ddb833a47a7 Author: David Matlack <dmatlack@xxxxxxxxxx> Date: Mon Aug 18 15:46:07 2014 -0700 kvm: x86: fix stale mmio cache bug The following events can lead to an incorrect KVM_EXIT_MMIO bubbling up to userspace: (1) Guest accesses gpa X without a memory slot. The gfn is cached in struct kvm_vcpu_arch (mmio_gfn). On Intel EPT-enabled hosts, KVM sets the SPTE write-execute-noread so that future accesses cause EPT_MISCONFIGs. (2) Host userspace creates a memory slot via KVM_SET_USER_MEMORY_REGION covering the page just accessed. (3) Guest attempts to read or write to gpa X again. On Intel, this generates an EPT_MISCONFIG. The memory slot generation number that was incremented in (2) would normally take care of this but we fast path mmio faults through quickly_check_mmio_pf(), which only checks the per-vcpu mmio cache. Since we hit the cache, KVM passes a KVM_EXIT_MMIO up to userspace. This patch fixes the issue by using the memslot generation number to validate the mmio cache. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: David Matlack <dmatlack@xxxxxxxxxx> [xiaoguangrong: adjust the code to make it simpler for stable-tree fix.] Signed-off-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Tested-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ee3d1570b58677885b4552bce8217fda7b226a68 Author: David Matlack <dmatlack@xxxxxxxxxx> Date: Mon Aug 18 15:46:06 2014 -0700 kvm: fix potentially corrupt mmio cache vcpu exits and memslot mutations can run concurrently as long as the vcpu does not aquire the slots mutex. Thus it is theoretically possible for memslots to change underneath a vcpu that is handling an exit. If we increment the memslot generation number again after synchronize_srcu_expedited(), vcpus can safely cache memslot generation without maintaining a single rcu_dereference through an entire vm exit. And much of the x86/kvm code does not maintain a single rcu_dereference of the current memslots during each exit. We can prevent the following case: vcpu (CPU 0) | thread (CPU 1) --------------------------------------------+-------------------------- 1 vm exit | 2 srcu_read_unlock(&kvm->srcu) | 3 decide to cache something based on | old memslots | 4 | change memslots | (increments generation) 5 | synchronize_srcu(&kvm->srcu); 6 retrieve generation # from new memslots | 7 tag cache with new memslot generation | 8 srcu_read_unlock(&kvm->srcu) | ... | <action based on cache occurs even | though the caching decision was based | on the old memslots> | ... | <action *continues* to occur until next | memslot generation change, which may | be never> | | By incrementing the generation after synchronizing with kvm->srcu readers, we ensure that the generation retrieved in (6) will become invalid soon after (8). Keeping the existing increment is not strictly necessary, but we do keep it and just move it for consistency from update_memslots to install_new_memslots. It invalidates old cached MMIOs immediately, instead of having to wait for the end of synchronize_srcu_expedited, which makes the code more clearly correct in case CPU 1 is preempted right after synchronize_srcu() returns. To avoid halving the generation space in SPTEs, always presume that the low bit of the generation is zero when reconstructing a generation number out of an SPTE. This effectively disables MMIO caching in SPTEs during the call to synchronize_srcu_expedited. Using the low bit this way is somewhat like a seqcount---where the protected thing is a cache, and instead of retrying we can simply punt if we observe the low bit to be 1. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: David Matlack <dmatlack@xxxxxxxxxx> Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 00f034a12fdd81210d58116326d92780aac5c238 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Aug 20 14:29:21 2014 +0200 KVM: do not bias the generation number in kvm_current_mmio_generation The next patch will give a meaning (a la seqcount) to the low bit of the generation number. Ensure that it matches between kvm->memslots->generation and kvm_current_mmio_generation(). Cc: stable@xxxxxxxxxxxxxxx Reviewed-by: David Matlack <dmatlack@xxxxxxxxxx> Reviewed-by: Xiao Guangrong <xiaoguangrong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 47c1296829505d119d7d58dd23d39cc5db344f12 Author: Andreas Pokorny <andreas.pokorny@xxxxxxxxxxxxx> Date: Fri Aug 8 10:40:56 2014 +0200 drm/qxl: enables gem prime helpers for qxl using dummy driver callbacks As there should not be any other virtual device that might share buffers, the callbacks remain empty stubs. Still prime can be used to transfer buffers between processes that use qxl. Signed-off-by: Andreas Pokorny <andreas.pokorny@xxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit 0279661b640317c31f288d66537d5805d4f18d05 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:11 2014 +0800 ALSA: hda/realtek - move HP_GPIO_MIC1_LED quirk for alc280 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 200afc097c79e906ea8f420d649b3906b27647e4 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:10 2014 +0800 ALSA: hda/realtek - move HP_LINE1_MIC1_LED quirk for alc282 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 058e9f5c8236ad740ab984588b507758e5feee6d Author: Andreas Pokorny <andreas.pokorny@xxxxxxxxxxxxx> Date: Fri Aug 8 10:40:55 2014 +0200 drm/qxl: simple crtc page flipping emulated using buffer copy Signed-off-by: Andreas Pokorny <andreas.pokorny@xxxxxxxxxxxxx> Signed-off-by: Dave Airlie <airlied@xxxxxxxxxx> commit e4442bcf1aa166a2b132ea9fde47036744a7f8a3 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:09 2014 +0800 ALSA: hda/realtek - move HP_MUTE_LED_MIC1 quirk for alc290 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 2c609999759c6964d99a614e8259fa700b5b337c Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:08 2014 +0800 ALSA: hda/realtek - move HP_MUTE_LED_MIC1 quirk for alc282 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c77900e63abd9e2bdf385ba846a22858a0ed50a7 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:07 2014 +0800 ALSA: hda/realtek - move DELL2_MIC_NO_PRESENCE quirk for alc255 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 29a4f69973eede670f8c0735a064ea4a8cd90ac5 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:06 2014 +0800 ALSA: hda/realtek - move DELL1_MIC_NO_PRESENCE quirk for alc255 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit bc262179a9196cb4eba266254f851253be0d3533 Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:05 2014 +0800 ALSA: hda/realtek - move DELL1_MIC_NO_PRESENCE quirk for alc283 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e8818fa8c07d57242552c89d0b469892978b20fe Author: Hui Wang <hui.wang@xxxxxxxxxxxxx> Date: Wed Sep 3 11:31:04 2014 +0800 ALSA: hda/realtek - move DELL2_MIC_NO_PRESENCE quirk for alc292 Cc: David Henningsson <david.henningsson@xxxxxxxxxxxxx> Signed-off-by: Hui Wang <hui.wang@xxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit c3ce6dfa48e3879206382cdfdc015bffc50dce30 Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Sep 2 13:52:15 2014 +0100 KEYS: Set pr_fmt() in asymmetric key signature handling Printing in base signature handling should have a prefix, so set pr_fmt(). Signed-off-by: David Howells <dhowells@xxxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 6ba59f3b5c977af2df3f9446f030f71e29d77dc1 Merge: a18b29f 809e944 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 3 10:12:24 2014 +1000 Merge branch 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux into drm-next Merge the move to generic fences for TTM using drivers. * 'for-airlied-next' of git://people.freedesktop.org/~mlankhorst/linux: drm/nouveau: use shared fences for readable objects drm/nouveau: Keep only a single list for validation. drm/ttm: use rcu in core ttm drm/vmwgfx: use rcu in vmw_user_dmabuf_synccpu_grab drm/radeon: use rcu waits in some ioctls drm/nouveau: use rcu in nouveau_gem_ioctl_cpu_prep drm/ttm: flip the switch, and convert to dma_fence drm/qxl: rework to new fence interface drm/nouveau: rework to new fence interface drm/vmwgfx: rework to new fence interface, v2 drm/vmwgfx: get rid of different types of fence_flags entirely drm/radeon: use common fence implementation for fences, v4 drm/ttm: kill off some members to ttm_validate_buffer drm/ttm: add interruptible parameter to ttm_eu_reserve_buffers drm/ttm: kill fence_lock drm/ttm: call ttm_bo_wait while inside a reservation drm/nouveau: require reservations for nouveau_fence_sync and nouveau_bo_fence drm/nouveau: add reservation to nouveau_gem_ioctl_cpu_prep commit b14a3d1784a9252aa3bbe0bb9d14588be32f18a1 Author: Murali Karicheri <m-karicheri2@xxxxxx> Date: Wed Jul 23 14:54:51 2014 -0400 PCI: designware: Add support for v3.65 hardware The Keystone PCI controller is based on v3.65 DesignWare hardware. This version differs from newer versions of the hardware in functional areas discussed below that make it necessary to change dw_pcie_host_init() to support v3.65 based PCI controller. 1. No support for ATU port. Any ATU-specific resource handling code is to be bypassed for v3.65 h/w. 2. MSI controller uses application space to implement MSI and 32 MSI interrupts are multiplexed over 8 IRQs to the host. Hence the code to process MSI IRQ needs to be different. This patch allows platform driver to provide its own irq_domain_ops ptr to irq_domain_add_linear() through an API callback from the DesignWare core driver. 3. MSI interrupt generation requires EP to write to the RC's application register. So enhance the driver to allow setup of inbound access to MSI IRQ register as a post scan bus API callback. Signed-off-by: Murali Karicheri <m-karicheri2@xxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Reviewed-by: Pratyush Anand <pratyush.anand@xxxxxx> Acked-by: Mohit KUMAR <mohit.kumar@xxxxxx> Acked-by: Jingoo Han <jg1.han@xxxxxxxxxxx> CC: Santosh Shilimkar <santosh.shilimkar@xxxxxx> CC: Russell King <linux@xxxxxxxxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> CC: Rob Herring <robh+dt@xxxxxxxxxx> CC: Jingoo Han <jg1.han@xxxxxxxxxxx> CC: Richard Zhu <r65037@xxxxxxxxxxxxx> CC: Kishon Vijay Abraham I <kishon@xxxxxx> CC: Marek Vasut <marex@xxxxxxx> CC: Arnd Bergmann <arnd@xxxxxxxx> CC: Pawel Moll <pawel.moll@xxxxxxx> CC: Mark Rutland <mark.rutland@xxxxxxx> CC: Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx> CC: Kumar Gala <galak@xxxxxxxxxxxxxx> CC: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> CC: Grant Likely <grant.likely@xxxxxxxxxx> commit 48c1947c53163afaadb3f140f46f5d968d405f5c Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Sep 2 08:27:40 2014 +0800 ACPICA: Update version to 20140828. Version 20140828. Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 4cc0909ef226efa716ea0d1a8fba0e972eff00c9 Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Sep 2 08:27:27 2014 +0800 ACPICA: Disassembler: Fix for gpio_int interrupt polarity flags. The field is actually 2 bits, not 1. Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 34ea065e5e607dcbb249046c42a491f8b24ad849 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Sep 2 08:27:19 2014 +0800 ACPICA: Headers: Add GTDT flag definitions for the timer subtable. Mostly by Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 63b8f8cd67fd8edfe1c30763e519e00b037891b5 Author: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Date: Tue Sep 2 08:27:12 2014 +0800 ACPICA: ACPI 5.1/Disassembler: Add GICC affinity subtable to SRAT table. Update template for SRAT. Add clock_domain to standard CPU affinity subtable. Mostly by Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Hanjun Guo <hanjun.guo@xxxxxxxxxx> Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 36d32314ae773283413a91259eab8f546e7f485b Author: Bob Moore <robert.moore@xxxxxxxxx> Date: Tue Sep 2 08:27:05 2014 +0800 ACPICA: Add _PSx names to the METHOD_NAME list. Will be used by iASL. Signed-off-by: Bob Moore <robert.moore@xxxxxxxxx> Signed-off-by: Lv Zheng <lv.zheng@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 385321e2c65a5c4812ef64f46c248c9b8ef66b90 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 21 03:18:24 2014 +0200 PCI/PM: Allow PCI devices to be put into D3cold during system suspend Commit 448bd857d48e ("PCI/PM: add PCIe runtime D3cold support") added a check to prevent PCI devices from being put into D3cold during system suspend without giving any particular reason. Also the check isn't really necessary, because acpi_pci_set_power_state() maps PCI_D3hot to ACPI_STATE_D3_COLD anyway. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 3f56bf3e939f0344febf92c41fbc0c26a21593c4 Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Sep 2 10:55:10 2014 +0300 ACPI / LPSS: remove struct lpss_shared_clock Nothing requires it anymore. The PWM driver no longer uses clk framework to get the rate. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 03f09f73bbd805f918fdc76888a1a83cdc28f28b Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Sep 2 10:55:09 2014 +0300 ACPI / LPSS: support for 133MHz I2C source clock on Baytrail The I2C controllers on Baytrail can get the clock from 100MHz or 133MHz source clock. The first bits in the private clock parameter register indicates which one is being used. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b0d00f8bd526dab6878913dfd5690eee5d4be10e Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Sep 2 10:55:08 2014 +0300 ACPI / LPSS: drop clkdev_name member from lpss_device_desc It was used to provide the correct con_id for the dma driver, but it's not needed. Even if the driver requests a clock with the con_id, it still gets the correct clock. The device name is enough to match a single clock. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Acked-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit ff8c1af5e7ebfdf2da5d2063ee34e16a8d05643c Author: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Date: Tue Sep 2 10:55:07 2014 +0300 ACPI / LPSS: introduce flags Replace the booleans with a single flags member variable. Signed-off-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit fe9a743a2601c846279e8dbbb382d5a9b6b900ff Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Jul 21 02:02:23 2014 +0200 PCI/PM: Drop unused runtime PM support code for PCIe ports Since commit de7d5f729c72 ("PCI/PM: Disable runtime PM of PCIe ports") the runtime PM support code for PCIe ports in portdrv_pci.c has never been used, so drop it entirely. If we are to support runtime PM of PCIe ports, it will have to be done in a different way most likely anyway. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> commit 16eeaec77922c1349e130a9541e83a023deaf11f Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:50:18 2014 +0200 clk: at91: fix div by zero in USB clock driver Test rate value before calculating the div value to avoid div by zero. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Tested-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 13a6073d4c5db3103011eebe8c68b049323ced20 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:50:17 2014 +0200 clk: at91: rework rm9200 USB clock to propagate set_rate to the parent clk The RM9200 USB clock is actually connected to a single parent (the PLLB) on which we can apply a specific divider. The USB clock divider does not allow for fine grained control on the USB clock frequency, hence propagating the set_rate request to the parent is the only choice we have to properly configure the USB clock rate. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Tested-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 87e2ed338f1b56798807ccf12eb6112d25062202 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:50:16 2014 +0200 clk: at91: fix recalc_rate implementation of PLL driver Use the cached values to calculate PLL rate instead of the register values. This is required to prevent erroneous PLL rate return when the PLL rate has been configured but the PLL is not prepared yet. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Tested-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 3ef9dd2bab7d6a013f75f9fb226d0191e9981288 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:50:15 2014 +0200 clk: at91: rework PLL rate calculation The AT91 PLL rate configuration is done by configuring a multiplier/divider pair. The previous calculation was over-complicated (and apparently buggy). Simplify the implementation and add some comments to explain what is done here. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Tested-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 078a3eb519dacf28cb7c9bb2ad2f62e19ca6dcc2 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 09:50:14 2014 +0200 clk: at91: fix PLL_MAX_COUNT macro definition Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Reported-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Tested-by: Gaël PORTAY <gael.portay@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit a18b29f0c6bd17703b5eb88c3b2184a26d173135 Merge: 04cd214 604effb Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Sep 3 08:30:48 2014 +1000 Merge tag 'drm-intel-next-2014-09-01' of git://anongit.freedesktop.org/drm-intel into drm-next drm-intel-next-2014-08-22: - basic code for execlist, which is the fancy new cmd submission on gen8. Still disabled by default (Ben, Oscar Mateo, Thomas Daniel et al) - remove the useless usage of console_lock for I915_FBDEV=n (Chris) - clean up relations between ctx and ppgtt - clean up ppgtt lifetime handling (Michel Thierry) - various cursor code improvements from Ville - execbuffer code cleanups and secure batch fixes (Chris) - prep work for dev -> dev_priv transition (Chris) - some of the prep patches for the seqno -> request object transition (Chris) - various small improvements all over * tag 'drm-intel-next-2014-09-01' of git://anongit.freedesktop.org/drm-intel: (86 commits) drm/i915: fix suspend/resume for GENs w/o runtime PM support drm/i915: Update DRIVER_DATE to 20140822 drm: fix plane rotation when restoring fbdev configuration drm/i915/bdw: Disable execlists by default drm/i915/bdw: Enable Logical Ring Contexts (hence, Execlists) drm/i915/bdw: Document Logical Rings, LR contexts and Execlists drm/i915/bdw: Print context state in debugfs drm/i915/bdw: Display context backing obj & ringbuffer info in debugfs drm/i915/bdw: Display execlists info in debugfs drm/i915/bdw: Disable semaphores for Execlists drm/i915/bdw: Make sure gpu reset still works with Execlists drm/i915/bdw: Don't write PDP in the legacy way when using LRCs drm/i915: Track cursor changes as frontbuffer tracking flushes drm/i915/bdw: Help out the ctx switch interrupt handler drm/i915/bdw: Avoid non-lite-restore preemptions drm/i915/bdw: Handle context switch events drm/i915/bdw: Two-stage execlist submit process drm/i915/bdw: Write the tail pointer, LRC style drm/i915/bdw: Implement context switching (somewhat) drm/i915/bdw: Emission of requests with logical rings ... Conflicts: drivers/gpu/drm/i915/i915_drv.c commit fe94f974e9c8b820640a5873d81589ab67380516 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 14 23:00:26 2014 +0200 clk: rockchip: protect critical clocks from getting disabled The clock-tree contains clocks that should never get disabled automatically. One example are the base ACLKs, the base supplies for all peripherals. Therefore add a structure similar to the sunxi clock-tree to protect these special clocks from being disabled. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 1a4b1819950a278e44dd2e28c5cdb7d8b804dd73 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Aug 27 00:54:56 2014 +0200 clk: rockchip: make rockchip_clk_register_branch static It is only used locally in clk/rockchip/clk.c and thus can be static. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit b2155a71a7ff828eac72367ff9c2a0a2f4fec35b Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Aug 27 00:54:21 2014 +0200 clk: rockchip: implement the fraction divider branch type Rockchip SoCs may provide fraction dividers for some clocks, mostly for i2s and uarts. In contrast to the other registers, these do not use the hiword-mask paradigm, but instead split the register into the upper 16 bit for the nominator and the lower 16 bit for the denominator. The common clock framework got a generic fractional divider clock type recently that can accomodate this setting easily. All currently known fraction dividers have a separate gate too, therefore implement the divider as composite using the ops-struct from fractional_divider clock and add the gate if necessary. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 4abe240878db394b399a12a63f01324bcd65c547 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Aug 6 10:24:00 2014 +0900 clk: shmobile: add missing 0x0100 for SDCKCR 10cdfe9f327ab8d120cf6957e58c6203e3a53847 (clk: shmobile: Add R-Car Gen2 clocks support) added R-Car Gen2 clock support via DT for v3.14. But, cpg_sd01_div_table is missing "0x0100: x 1/8" division ratio. This patch fixes hidden bug. It is based on R-Car H2 v0.7, R-Car M2 v0.9. Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Reported-by: Yusuke Goda <yusuke.goda.sx@xxxxxxxxxxx> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 7466103cc0f3e0ae5b01949b3806d4aa1d322de8 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 29 20:15:10 2014 +0200 ARM: shmobile: r8a7794: document CPG clock support Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 5acb7bbbab7cec0ee68295e3ade929c880ad461e Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 29 20:15:08 2014 +0200 ARM: shmobile: r8a7794: document MSTP clock support Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 105299381d8720a3afd4252689ae8551f49944be Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Mon Aug 18 17:30:29 2014 +0200 cpufreq: kirkwood: use the powersave multiplexer The powersave clock acts like a multiplexer for the cpu, selecting either the clock signal derived from the cpu pll or from the ddr clock. This patch changes powersave from a gate clock to a mux clock to better reflect this behavior. This is a cleaner approach whereby the frequency of the cpu always matches the rate of powersave_clk. The cpufreq driver for the kirkwood platform no longer must parse this behavior out of various calls to clk_enable and clk_disable, but can instead simply select the parent cpu it wants when changing rate. Likewise when requesting the cpu rate we need only query powersave_clk's rate through the usual call to clk_get_rate. The new clock data and corresponding changes to the cpufreq driver are combined into this single commit to avoid a git bisect issue where this cpufreq driver fails to work properly between the commit that updates the kirkwood clock driver and the commit that changes how the cpufreq driver uses that clock. Cc: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Cc: Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 66f09ca717e7905e0eebe000b86e27d0274b95ac Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 2 13:58:58 2014 -0400 nfs: do not start the callback thread until we set rqstp->rq_task This fixes an Oopsable race when starting up the callback server. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6f46b3aef0031c08a7b439d63013dad2aeb093b2 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:33 2014 +0200 x86: copy_thread: Don't nullify ->ptrace_bps twice Both 32bit and 64bit versions of copy_thread() do memset(ptrace_bps) twice for no reason, kill the 2nd memset(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175733.GA21676@xxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit dc56c0f9b870fba7a4eef2bb463db6881284152b Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:30 2014 +0200 x86, fpu: Shift "fpu_counter = 0" from copy_thread() to arch_dup_task_struct() Cosmetic, but I think thread.fpu_counter should be initialized in arch_dup_task_struct() too, along with other "fpu" variables. And probably it make sense to turn it into thread.fpu->counter. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175730.GA21669@xxxxxxxxxx Reviewed-by: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 5e23fee23ea10730c752edce1777e6b7e727290f Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:27 2014 +0200 x86, fpu: copy_process: Sanitize fpu->last_cpu initialization Cosmetic, but imho memset(&dst->thread.fpu, 0) is not good simply because it hides the (important) usage of ->has_fpu/etc from grep. Change this code to initialize the members explicitly. And note that ->last_cpu = 0 looks simply wrong, this can confuse fpu_lazy_restore() if per_cpu(fpu_owner_task, 0) has already exited and copy_process() re-allocated the same task_struct. Fortunately this is not actually possible because child->fpu_counter == 0 and thus fpu_lazy_restore() will not be called, but still this is not clean/robust. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175727.GA21666@xxxxxxxxxx Reviewed-by: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit f1853505d9ca1c3ea27c29cf83c24661531c527b Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:23 2014 +0200 x86, fpu: copy_process: Avoid fpu_alloc/copy if !used_math() arch_dup_task_struct() copies thread.fpu if fpu_allocated(), this looks suboptimal and misleading. Say, a forking process could use FPU only once in a signal handler but now tsk_used_math(src) == F, in this case the child gets a copy of fpu->state for no reason. The child won't use the saved registers anyway even if it starts to use FPU, this can only avoid fpu_alloc() in do_device_not_available(). Change this code to check tsk_used_math(current) instead. We still need to clear fpu->has_fpu/state, we could do this memset(0) under fpu_allocated() check but I think this doesn't make sense. See also the next change. use_eager_fpu() assumes that fpu_allocated() is always true, but a forking task (and thus its child) must always have PF_USED_MATH set, otherwise the child can either use FPU without used_math() (note that switch_fpu_prepare() doesn't do stts() in this case), or it will be killed by do_device_not_available()->BUG_ON(use_eager_fpu). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175723.GA21659@xxxxxxxxxx Reviewed-by: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 31d963389f67165402aa447a8e8ce5ffb9188b3d Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:20 2014 +0200 x86, fpu: Change __thread_fpu_begin() to use use_eager_fpu() __thread_fpu_begin() checks X86_FEATURE_EAGER_FPU by hand, we have a helper for that. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175720.GA21656@xxxxxxxxxx Reviewed-by: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit df24fb859a4e200d9324e2974229fbb7adf00aef Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:17 2014 +0200 x86, fpu: __restore_xstate_sig()->math_state_restore() needs preempt_disable() Add preempt_disable() + preempt_enable() around math_state_restore() in __restore_xstate_sig(). Otherwise __switch_to() after __thread_fpu_begin() can overwrite fpu->state we are going to restore. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175717.GA21649@xxxxxxxxxx Cc: <stable@xxxxxxxxxxxxxxx> # v3.7+ Reviewed-by: Suresh Siddha <sbsiddha@xxxxxxxxx> Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit 66463db4fc5605d51c7bb81d009d5bf30a783a2c Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Tue Sep 2 19:57:13 2014 +0200 x86, fpu: shift drop_init_fpu() from save_xstate_sig() to handle_signal() save_xstate_sig()->drop_init_fpu() doesn't look right. setup_rt_frame() can fail after that, in this case the next setup_rt_frame() triggered by SIGSEGV won't save fpu simply because the old state was lost. This obviously mean that fpu won't be restored after sys_rt_sigreturn() from SIGSEGV handler. Shift drop_init_fpu() into !failed branch in handle_signal(). Test-case (needs -O2): #include <stdio.h> #include <signal.h> #include <unistd.h> #include <sys/syscall.h> #include <sys/mman.h> #include <pthread.h> #include <assert.h> volatile double D; void test(double d) { int pid = getpid(); for (D = d; D == d; ) { /* sys_tkill(pid, SIGHUP); asm to avoid save/reload * fp regs around "C" call */ asm ("" : : "a"(200), "D"(pid), "S"(1)); asm ("syscall" : : : "ax"); } printf("ERR!!\n"); } void sigh(int sig) { } char altstack[4096 * 10] __attribute__((aligned(4096))); void *tfunc(void *arg) { for (;;) { mprotect(altstack, sizeof(altstack), PROT_READ); mprotect(altstack, sizeof(altstack), PROT_READ|PROT_WRITE); } } int main(void) { stack_t st = { .ss_sp = altstack, .ss_size = sizeof(altstack), .ss_flags = SS_ONSTACK, }; struct sigaction sa = { .sa_handler = sigh, }; pthread_t pt; sigaction(SIGSEGV, &sa, NULL); sigaltstack(&st, NULL); sa.sa_flags = SA_ONSTACK; sigaction(SIGHUP, &sa, NULL); pthread_create(&pt, NULL, tfunc, NULL); test(123.456); return 0; } Reported-by: Bean Anderson <bean@xxxxxxxxxxxxxxx> Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140902175713.GA21646@xxxxxxxxxx Cc: <stable@xxxxxxxxxx> # v3.7+ Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit d4e89902990e3fae1b8d2ca501d2fa5f0657c053 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Tue Sep 2 13:58:57 2014 -0400 lockd: Do not start the lockd thread before we've set nlmsvc_rqst->rq_task This fixes an Oopsable race when starting lockd. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 10770bc2d1702e05575db0072e1ebbc06d0b270e Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Tue Sep 2 16:35:33 2014 +0200 qdisc: adjustments for API allowing skb list xmits Minor adjustments for merge commit 53fda7f7f9e (Merge branch 'xmit_list') that allows us to work with a list of SKBs. Update code doc to function sch_direct_xmit(). In handle_dev_cpu_collision() use kfree_skb_list() in error handling. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e7d021e28328e0cc47b21cb9c6d8885326b0c2f5 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Aug 15 14:09:19 2014 +0300 evm: fix checkpatch warnings This patch fixes checkpatch 'return' warnings introduced with commit 9819cf2 "checkpatch: warn on unnecessary void function return statements". Use scripts/checkpatch.pl --file security/integrity/evm/evm_main.c to produce the warnings. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 27cd1fc3ae5374a4a86662c67033f15ef27b2461 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Mon Jun 23 20:32:56 2014 +0300 ima: fix fallback to use new_sync_read() 3.16 commit aad4f8bb42af06371aa0e85bf0cd9d52c0494985 'switch simple generic_file_aio_read() users to ->read_iter()' replaced ->aio_read with ->read_iter in most of the file systems and introduced new_sync_read() as a replacement for do_sync_read(). Most of file systems set '->read' and ima_kernel_read is not affected. When ->read is not set, this patch adopts fallback call changes from the vfs_read. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Cc: <stable@xxxxxxxxxxxxxxx> 3.16+ commit 23c19e2ca736722a9523b64b07cda7efab7b6c57 Author: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Date: Fri Aug 15 13:28:52 2014 +0300 ima: prevent buffer overflow in ima_alloc_tfm() This patch fixes the case where the file's signature/hash xattr contains an invalid hash algorithm. Although we can not verify the xattr, we still need to measure the file. Use the default IMA hash algorithm. Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> commit 9a8d289fbcb7dfd1fc74959e9930b406e76b2002 Author: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 28 07:59:49 2014 -0400 ima: fix ima_alloc_atfm() The patch 3bcced39ea7d: "ima: use ahash API for file hash calculation" from Feb 26, 2014, leads to the following static checker warning: security/integrity/ima/ima_crypto.c:204 ima_alloc_atfm()         error: buffer overflow 'hash_algo_name' 17 <= 17 Unlike shash tfm memory, which is allocated on initialization, the ahash tfm memory allocation is deferred until needed. This patch fixes the case where ima_ahash_tfm has not yet been allocated and the file's signature/hash xattr contains an invalid hash algorithm. Although we can not verify the xattr, we still need to measure the file. Use the default IMA hash algorithm. Changelog: - set valid algo before testing tfm - based on Dmitry's comment Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Mimi Zohar <zohar@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dmitry Kasatkin <d.kasatkin@xxxxxxxxxxx> commit 6c1c423a54b5b3a6c9c9561c7ef32aee0fda7253 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 2 18:01:05 2014 -0300 [media] vivid: comment the unused g_edid/s_edid functions Those non-static functions aren't used anywhere yet. Comment them while they're unused. Solves the following warnings: drivers/media/platform/vivid/vivid-vid-out.c:1120:5: warning: no previous prototype for 'vivid_vid_out_g_edid' [-Wmissing-prototypes] int vivid_vid_out_g_edid(struct file *file, void *_fh, ^ drivers/media/platform/vivid/vivid-vid-out.c:1152:5: warning: no previous prototype for 'vivid_vid_out_s_edid' [-Wmissing-prototypes] int vivid_vid_out_s_edid(struct file *file, void *_fh, ^ Cc: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 20504fa92d072d427d1eaaa47f71f9fb60d6c43a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 2 17:58:59 2014 -0300 [media] vivid: Don't declare .vidioc_overlay twice Removes the following warnings: drivers/media/platform/vivid/vivid-core.c:581:2: warning: initialized field overwritten [-Woverride-init] .vidioc_overlay = vidioc_overlay, ^ drivers/media/platform/vivid/vivid-core.c:581:2: warning: (near initialization for 'vivid_ioctl_ops.vidioc_overlay') [-Woverride-init] Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 96ec7d2a6632d0757e2b83bd75c5784d4cc4a456 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 2 17:57:34 2014 -0300 [media] vivid: add some missing headers That remove a few warnings: drivers/media/platform/vivid/vivid-kthread-out.c:226:5: warning: no previous prototype for 'vivid_start_generating_vid_out' [-Wmissing-prototypes] int vivid_start_generating_vid_out(struct vivid_dev *dev, bool *pstreaming) ^ drivers/media/platform/vivid/vivid-kthread-out.c:260:6: warning: no previous prototype for 'vivid_stop_generating_vid_out' [-Wmissing-prototypes] void vivid_stop_generating_vid_out(struct vivid_dev *dev, bool *pstreaming) ^ drivers/media/platform/vivid/vivid-kthread-cap.c:806:5: warning: no previous prototype for 'vivid_start_generating_vid_cap' [-Wmissing-prototypes] int vivid_start_generating_vid_cap(struct vivid_dev *dev, bool *pstreaming) ^ drivers/media/platform/vivid/vivid-kthread-cap.c:841:6: warning: no previous prototype for 'vivid_stop_generating_vid_cap' [-Wmissing-prototypes] void vivid_stop_generating_vid_cap(struct vivid_dev *dev, bool *pstreaming) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 077af28c639be01d50e607754a84a3fada09ae9c Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:49:53 2014 -0300 [media] vivi: remove driver, it's replaced by vivid The vivid driver is a vastly superior test driver, so just drop the old vivi driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e75420dd25bc9d7b6f4e3b4c4f6c778b610c8cda Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:06:34 2014 -0300 [media] vivid: enable the vivid driver Update the Kconfig and Makefile files so this driver can be compiled. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1fc78bc9d4cd9714b995f61ef414645c0d54a0bb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Sep 2 17:52:07 2014 -0300 [media] vivid: Don't mess with namespace adding a "get_format" function This fixes a compilation error with allyesconfig: drivers/media/platform/exynos-gsc/built-in.o: In function `get_format': (.text+0x12f5): multiple definition of `get_format' drivers/media/platform/vivid/built-in.o:(.text+0x4bf4): first defined here Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4a31498869a944e6c4b2aaab71b8b95482d1da53 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 10:48:11 2014 +0900 ethernet: arc: remove unused dev Remove unused 'dev' variable from arc_emac_remove(), since it's not being used any more. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6de8653f410c5413a557eb48e2492a93f7af664b Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:03:32 2014 -0300 [media] vivid: add support for software defined radio This adds support for an SDR capture device. It generates simple sine/cosine waves. The code for that has been contributed by Antti. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d46781bc8803b11d4f9540663ce6369fa0d28c58 Author: David Wood <devel@xxxxxxxxx> Date: Mon Sep 1 15:31:55 2014 -0700 ethernet: nvidia: Remove extra parens Remove unnecessary double parenthesis around if statement. Signed-off-by: David Wood <devel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55d58e989856aa7506001c4ecfc7920f5232bbd1 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:02:56 2014 -0300 [media] vivid: add support for radio receivers and transmitters This adds radio receiver and transmitter support. Part of that is common to both and so is placed in the radio-common source. These drivers also support RDS. In order to generate valid RDS data a simple RDS generator is implemented in rds-gen. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 63881df94d3ecbb0deafa0b77da62ff2f32961c4 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:02:14 2014 -0300 [media] vivid: add the Test Pattern Generator The test patterns for video capture are generated by this code. All patterns are precalculated taking into account colorspace information, pixel and video aspect ratios and scaling information. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ad4e02d5081d9da38b5b91886e5fa71f0505d607 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:01:49 2014 -0300 [media] vivid: add a simple framebuffer device for overlay testing In order to test capture and output overlays a simple framebuffer device is created. It's bare bone, but it does the job. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3f682ffcf957b556a7868decd5593d765ed3455d Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 08:00:20 2014 -0300 [media] vivid: add the kthread code that controls the video rate Add the kthread handlers for video/vbi capture and video/vbi output. These carefully control the rate at which frames are generated (video capture) and accepted (video output). While the short-term jitter is around the order of a jiffie, in the long term the rate matches the configured framerate exactly. The capture thread handler also takes care of the video looping and of capture and overlay support. This is probably the most complex part of this driver due to the many combinations of crop, compose and scaling on the input and output, and the blending that has to be done if overlay support is enabled as well. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ac42f481b75b98076b47fac60796657508f80abe Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 14 23:01:50 2014 +0200 ARM: dts: rockchip: add rk3066 and rk3188 dma controllers Add both the cpu and peripheral pl330 dma controllers present in rk3188 socs. The first dma controller can change between secure and non-secure mode. Both instances are added but the non-secure variant is left disabled by default, as on the majority of boards the bootloader leaves it in secure mode. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 982891c3859f310935226c58ad84f3fb88a79e54 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 14 23:01:25 2014 +0200 ARM: dts: rockchip: add rk3288 dma controllers Add both the bus and peripheral pl330 dma controllers present in rk3288 socs. The first dma controller can change between secure and non-secure mode. Both instances are added but the non-secure variant is left disabled by default, as on the majority of boards the bootloader leaves it in secure mode. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Tested-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> commit 34f137b1c2b864d495620e24dfc3ec75c9ca34df Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 14 23:00:56 2014 +0200 ARM: rockchip: enable the AMBA bus This is needed to access the pl330 dma controllers on Rockchip SoCs. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Kever Yang <kever.yang@xxxxxxxxxxxxxx> commit 7bb70caa3bd59454285738b31f7b47e89fe62c1e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 07:56:49 2014 -0300 [media] vivid: add VBI capture and output code This adds support for VBI capture (raw and sliced) and VBI output (raw and sliced) to the vivid driver. In addition a VBI generator is added that generates simple VBI data in either sliced or raw format. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ef834f7836ec0502f49f20bbc42f1240577a9c83 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 07:56:18 2014 -0300 [media] vivid: add the video capture and output parts This adds the ioctl and vb2 queue support for video capture and output. Part of this is common to both, so that is placed in a vid-common source. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 73c3f48230cda01402ae189b05d56f1f7e0d53c9 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 07:55:23 2014 -0300 [media] vivid: add the control handling code The vivid-ctrls code sets up and processes the various V4L2 controls that are needed by this driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c88a96b023d8239b2019f93dac42c02e6fd0dff0 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 07:54:46 2014 -0300 [media] vivid: add core driver code This is the core driver code that creates all the driver instances and all the configured devices. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 29fea209f8333e2351710c14c19bf5358da63e39 Merge: 219c536 ba99890 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 2 12:58:36 2014 -0700 Merge branch 'netdev_modified' Nicolas Dichtel says: ==================== rtnl: send notification in do_setlink() This series ensures to call the notifier chain and to send a netlink message when a change is done by do_setlink(). The three first patches mainly prepare the last one, which do this change. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba9989069f4e426b1e0ed7018eacc9e1ba607095 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Sep 1 16:07:29 2014 +0200 rtnl/do_setlink(): notify when a netdev is modified Depending on which parameters were updated, the changes were not propagated via the notifier chain and netlink. The new flag has been set only when the change did not cause a call to the notifier chain and/or to the netlink notification functions. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 90c325e3bfe14ef360de6650fa2a2e92685e5cee Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Sep 1 16:07:28 2014 +0200 rtnl/do_setlink(): last arg is now a set of flags There is no functional changes with this commit, it only prepares the next one. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1889b0e7efe8373793069bd3deb7702a51e6f2a5 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Sep 1 16:07:27 2014 +0200 rtnl/do_setlink(): set modified when IFLA_LINKMODE is updated The only effect of this patch is to print a warning if IFLA_LINKMODE is updated and a following change fails. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5d1180fcacc5ceb7da5494acfe9c5e4ebad4f281 Author: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Mon Sep 1 16:07:26 2014 +0200 rtnl/do_setlink(): set modified when IFLA_TXQLEN is updated The only effect of this patch is to print a warning if IFLA_TXQLEN is updated and a following change fails. Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 219c5361e625186c21f3e1bc7bc67cd7dac50ca9 Merge: 364a9e9 a28277d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Tue Sep 2 12:46:04 2014 -0700 Merge branch 'be2net-next' Sathya Perla says: ==================== be2net: patch set v2 changes: add a new line after variable declaration in patch 12. *** Patch 1 adds a few new log messages to help debugging in failure cases. Patch 2 uses new macros for parsing RX/TX completions and TX wrbs to help shorten the lines. Patch 3 adds a description for the RX counter rx_input_fifo_overflow_drop. Patch 4 adds TX completion error statistics reporting via ethtool. Patch 5 adds a dma_mapping_error counter and its reporting via ethtool. Patch 6 fixes up log messages in the Lancer FW download path. Patch 7 replaces gotos with direct return statements. Patch 8 cleans up be_change_mtu() code by using a new macro BE_MAX_MTU Patch 9 makes be_cmd_get_regs() routine to return an integer status similar to other FW cmd routines in be_cmds.c Patch 10 gets rid of TX budget as enforcing a budget on TX completion processing in NAPI is neither suggested nor it provides a performance benefit. Patch 11 defines and uses a new macro for_all_tx_queues_on_eq() similar to the RX processing code. Patch 12 queries max_tx_qs from the FW for BE3 super-nic profiles. For those profiles, the driver cannot assume a constant BE3_MAX_TX_QS value, as the value may change for each function. Please consider applying this patch set to the net-next tree. Thanks! ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a28277dc65f4f7a58db899ab69acd8cf078b9039 Author: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Date: Tue Sep 2 09:56:57 2014 +0530 be2net: query max_tx_qs for BE3 super-nic profile from FW In the BE3 super-nic profile, the max_tx_qs value can vary for each function. So the driver needs to query this value from FW instead of using the pre-defined constant BE3_MAX_TX_QS. Signed-off-by: Suresh Reddy <Suresh.Reddy@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a4906ea0a5fe6dba89d3809f1e0e97b4d55ef4b7 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Tue Sep 2 09:56:56 2014 +0530 be2net: define macro for_all_tx_queues_on_eq() Replace the for() loop that traverses all the TX queues on an EQ with the macro for_all_tx_queues_on_eq(). With this expalnatory name, the one line comment is not required anymore. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c8f64615fb8372844f25199c2aa3c7565e1e9e60 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Tue Sep 2 09:56:55 2014 +0530 be2net: get rid of TX budget Enforcing a budget on the TX completion processing in NAPI doesn't benefit performance in anyway. Just get rid of it. Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5f156def02bffe41bb6c931302c074d00465354 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Tue Sep 2 09:56:54 2014 +0530 be2net: make be_cmd_get_regs() return a status There are a few failure cases in be_cmd_get_regs() that ideally must return an error value. This style is used across all the routines in be_cmds.c with this routine being an exception. This patch fixes this. Signed-off-by: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d3f5ccec907bcfb4f5d4941d762dc2f89b2d24d Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Tue Sep 2 09:56:53 2014 +0530 be2net: define BE_MAX_MTU This patch defines a new macro BE_MAX_MTU to make the code in be_change_mtu() more readable. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3fb8cb801a9393888c09bea38d3e9ca360221b66 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Tue Sep 2 09:56:52 2014 +0530 be2net: remove unncessary gotos In cases where there is no extra code to handle an error, this patch replaces gotos with a direct return statement. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bb864e07b2ea9c3cb0206973baa79dc5f27d2ee8 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Tue Sep 2 09:56:51 2014 +0530 be2net: fix log messages in lancer FW download path Log messages in the Lancer FW download path have issues such as: - a single message spanning multiple lines - the success message is logged even in failure cases - status codes are already logged in the FW cmd routines This patch fixes these issues. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d3de154071c14549c4b99d06a063bf3761e482c3 Author: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Date: Tue Sep 2 09:56:50 2014 +0530 be2net: Add a dma_mapping_error counter in ethtool Add a dma_mapping_error counter to count the number of packets dropped due to DMA mapping errors. Signed-off-by: Vasundhara Volam <vasundhara.volam@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 512bb8a244d2854953c65c0b36b0d0812fced7d5 Author: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Date: Tue Sep 2 09:56:49 2014 +0530 be2net: Add TX completion error statistics in ethtool HW reports TX completion errors in TX completion. This patch adds these counters to ethtool statistics. Signed-off-by: Kalesh AP <kalesh.purayil@xxxxxxxxxx> Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit acbd6ff833da9d84e6596bfc94c5605a9c5b66da Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Tue Sep 2 09:56:48 2014 +0530 be2net: add a description for counter rx_input_fifo_overflow_drop Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c3c18bc1de27741de9188094fcd4e253c9426164 Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Tue Sep 2 09:56:47 2014 +0530 be2net: shorten AMAP_GET/SET_BITS() macro calls The AMAP_GET/SET_BITS() macro calls take structure name as a parameter and hence are long and span more than one line. Replace these calls with a wrapper macros for RX/Tx compls and TX wrb. This results in fewer lines and more readable code in be_main.c Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit acbafeb1e9daa18d601e9d91b68925e863cc4f6e Author: Sathya Perla <sathya.perla@xxxxxxxxxx> Date: Tue Sep 2 09:56:46 2014 +0530 be2net: add a few log messages This patch adds the following log messages to help debugging failure cases: 1) log FW version number: this is useful when driver initialization fails and the FW version number cannot be queried via ethtool 2) per function resource limits for BEx chips: these values are currently being printed only for Skyhawk and Lancer 3) PCI BAR mapping failure 4) function_mode/caps queried from FW: this helps catch any FW bugs that could advertise wrong capabilities to the driver Signed-off-by: Sathya Perla <sathya.perla@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6a683493e07b2dde304b5c23797abab6e9180a1e Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Mon Aug 25 07:52:44 2014 -0300 [media] vivid.txt: add documentation for the vivid driver The vivid Virtual Video Test Driver helps testing V4L2 applications and can emulate V4L2 hardware. Add the documentation for this driver. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 529a53c6087b3e8648185dfa4491043ec43554d6 Author: Hans Verkuil <hans.verkuil@xxxxxxxxx> Date: Fri Jul 25 06:08:36 2014 -0300 [media] vb2: fix multiplanar read() with non-zero data_offset If this is a multiplanar buf_type and the plane we want to read has a non-zero data_offset, then that data_offset was not taken into account. Note that read() or write() for formats with more than one plane is currently not allowed, hence the use of 'planes[0]' since this is only relevant for a single-plane format. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 220f115e5edd2163cac6ba808588051d1dbbd62c Author: Grzegorz Swirski <grzegorz@xxxxxxxxxxxx> Date: Tue Sep 2 20:24:04 2014 +0100 staging: android: use braces on all arms of if Signed-off-by: Grzegorz Swirski <grzegorz@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41b9aa0040526d13e08e2ad79970377afe1d622d Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 21:38:29 2014 -0300 [media] m88ds3103: fix coding style issues Fix coding style issues pointed out by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d28677ffbc8443d9a97a50b15989ebbbf00a729e Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 21:06:13 2014 -0300 [media] m88ds3103: change .set_voltage() implementation Add some error checking and implement functionality a little bit differently. Cc: Nibble Max <nibble.max@xxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6380b975b76478ee0fd7c43d8833a52dfb5b57eb Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 16:22:02 2014 -0300 [media] m88ts2022: fix coding style issues Fix coding style issues pointed out by checkpatch.pl. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f538e085138e519e25ae0828bd6c6e7492ce8ca4 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 14:02:27 2014 -0300 [media] m88ts2022: fix 32bit overflow on filter calc Maximum satellite symbol rate used is 45000000Sps which overflows when multiplied by 135. As final calculation result is fraction, we could use mult_frac macro in order to keep calculation inside 32 bit number limits and prevent overflow. Original bug and fix was provided by Nibble Max. I decided to implement it differently as it is now. Reported-by: Nibble Max <nibble.max@xxxxxxxxx> Tested-by: Nibble Max <nibble.max@xxxxxxxxx> Cc: <stable@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit de3f2e2e0ac94c1369722a33e7d7b2ca121ba083 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 12:03:58 2014 -0300 [media] msi2500: remove unneeded local pointer on msi2500_isoc_init() There is no need to keep local copy of usb_device pointer as we have same pointer stored and available easily from device state. Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 206ace2288449008742c8ca65f1865e51e83e442 Author: Antti Palosaari <crope@xxxxxx> Date: Thu Aug 21 11:19:13 2014 -0300 [media] dvb-usb-v2: remove dvb_usb_device NULL check Reported by Dan Carpenter: The patch d10d1b9ac97b: "[media] dvb_usb_v2: use dev_* logging macros" from Jun 26, 2012, leads to the following Smatch complaint: drivers/media/usb/dvb-usb-v2/dvb_usb_urb.c:31 dvb_usb_v2_generic_io() error: we previously assumed 'd' could be null (see line 29) ... Remove whole check as it must not happen in any case. Driver is totally broken if it does not have valid pointer to device. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5cd62db71dcf3a4722959d9f90ca4c5ca09502cb Author: Olli Salonen <olli.salonen@xxxxxx> Date: Sun Aug 17 02:24:49 2014 -0300 [media] si2157: Add support for delivery system SYS_ATSC Set the property for delivery system also in case of SYS_ATSC. This behaviour is observed in the sniffs taken with Hauppauge HVR-955Q Windows driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1a4d76076cda69b0abf15463a8cebc172406da25 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:05 2014 -0400 percpu: implement asynchronous chunk population The percpu allocator now supports atomic allocations by only allocating from already populated areas but the mechanism to ensure that there's adequate amount of populated areas was missing. This patch expands pcpu_balance_work so that in addition to freeing excess free chunks it also populates chunks to maintain an adequate level of populated areas. pcpu_alloc() schedules pcpu_balance_work if the amount of free populated areas is too low or after an atomic allocation failure. * PERPCU_DYNAMIC_RESERVE is increased by two pages to account for PCPU_EMPTY_POP_PAGES_LOW. * pcpu_async_enabled is added to gate both async jobs - chunk->map_extend_work and pcpu_balance_work - so that we don't end up scheduling them while the needed subsystems aren't up yet. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit fe6bd8c3d28357174587c4fe895d10b00321b692 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:05 2014 -0400 percpu: rename pcpu_reclaim_work to pcpu_balance_work pcpu_reclaim_work will also be used to populate chunks asynchronously. Rename it to pcpu_balance_work in preparation. pcpu_reclaim() is renamed to pcpu_balance_workfn() and some of its local variables are renamed too. This is pure rename. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b539b87fed37ffc16c89a6bc3beca2d7aed82e1c Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:05 2014 -0400 percpu: implmeent pcpu_nr_empty_pop_pages and chunk->nr_populated pcpu_nr_empty_pop_pages counts the number of empty populated pages across all chunks and chunk->nr_populated counts the number of populated pages in a chunk. Both will be used to implement pre/async population for atomic allocations. pcpu_chunk_[de]populated() are added to update chunk->populated, chunk->nr_populated and pcpu_nr_empty_pop_pages together. All successful chunk [de]populations should be followed by the corresponding pcpu_chunk_[de]populated() calls. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 9c824b6a172c8d44a6b037946bae90127c969b1b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:05 2014 -0400 percpu: make sure chunk->map array has available space An allocation attempt may require extending chunk->map array which requires GFP_KERNEL context which isn't available for atomic allocations. This patch ensures that chunk->map array usually keeps some amount of available space by directly allocating buffer space during GFP_KERNEL allocations and scheduling async extension during atomic ones. This should make atomic allocation failures from map space exhaustion rare. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 5835d96e9ce4efdba8c6cefffc2f1575925456de Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:04 2014 -0400 percpu: implement [__]alloc_percpu_gfp() Now that pcpu_alloc_area() can allocate only from populated areas, it's easy to add atomic allocation support to [__]alloc_percpu(). Update pcpu_alloc() so that it accepts @gfp and skips all the blocking operations and allocates only from the populated areas if @gfp doesn't contain GFP_KERNEL. New interface functions [__]alloc_percpu_gfp() are added. While this means that atomic allocations are possible, this isn't complete yet as there's no mechanism to ensure that certain amount of populated areas is kept available and atomic allocations may keep failing under certain conditions. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit e04d320838f573d8fa989a0d7af0972f9b0142d9 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:04 2014 -0400 percpu: indent the population block in pcpu_alloc() The next patch will conditionalize the population block in pcpu_alloc() which will end up making a rather large indentation change obfuscating the actual logic change. This patch puts the block under "if (true)" so that the next patch can avoid indentation changes. The defintions of the local variables which are used only in the block are moved into the block. This patch is purely cosmetic. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a16037c8dfc2734c1a2c8e3ffd4766ed25f2a41d Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:02 2014 -0400 percpu: make pcpu_alloc_area() capable of allocating only from populated areas Update pcpu_alloc_area() so that it can skip unpopulated areas if the new parameter @pop_only is true. This is implemented by a new function, pcpu_fit_in_area(), which determines the amount of head padding considering the alignment and populated state. @pop_only is currently always false but this will be used to implement atomic allocation. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b38d08f3181c5025a7ce84646494cc4748492a3b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:02 2014 -0400 percpu: restructure locking At first, the percpu allocator required a sleepable context for both alloc and free paths and used pcpu_alloc_mutex to protect everything. Later, pcpu_lock was introduced to protect the index data structure so that the free path can be invoked from atomic contexts. The conversion only updated what's necessary and left most of the allocation path under pcpu_alloc_mutex. The percpu allocator is planned to add support for atomic allocation and this patch restructures locking so that the coverage of pcpu_alloc_mutex is further reduced. * pcpu_alloc() now grab pcpu_alloc_mutex only while creating a new chunk and populating the allocated area. Everything else is now protected soley by pcpu_lock. After this change, multiple instances of pcpu_extend_area_map() may race but the function already implements sufficient synchronization using pcpu_lock. This also allows multiple allocators to arrive at new chunk creation. To avoid creating multiple empty chunks back-to-back, a new chunk is created iff there is no other empty chunk after grabbing pcpu_alloc_mutex. * pcpu_lock is now held while modifying chunk->populated bitmap. After this, all data structures are protected by pcpu_lock. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a63d4ac4ab6094c051a5a240260d16117a7a2f86 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:02 2014 -0400 percpu: make percpu-km set chunk->populated bitmap properly percpu-km instantiates the whole chunk on creation and doesn't make use of chunk->populated bitmap and leaves it as zero. While this currently doesn't cause any problem, the inconsistency makes it difficult to build further logic on top of chunk->populated. This patch makes percpu-km fill chunk->populated on creation so that the bitmap is always consistent. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> commit a93ace487a339dccf7040be7fee08c3415188e14 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:02 2014 -0400 percpu: move region iterations out of pcpu_[de]populate_chunk() Previously, pcpu_[de]populate_chunk() were called with the range which may contain multiple target regions in it and pcpu_[de]populate_chunk() iterated over the regions. This has the benefit of batching up cache flushes for all the regions; however, we're planning to add more bookkeeping logic around [de]population to support atomic allocations and this delegation of iterations gets in the way. This patch moves the region iterations out of pcpu_[de]populate_chunk() into its callers - pcpu_alloc() and pcpu_reclaim() - so that we can later add logic to track more states around them. This change may make cache and tlb flushes more frequent but multi-region [de]populations are rare anyway and if this actually becomes a problem, it's not difficult to factor out cache flushes as separate callbacks which are directly invoked from percpu.c. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit dca496451bddea9aa87b7510dc2eb413d1a19dfd Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:01 2014 -0400 percpu: move common parts out of pcpu_[de]populate_chunk() percpu-vm and percpu-km implement separate versions of pcpu_[de]populate_chunk() and some part which is or should be common are currently in the specific implementations. Make the following changes. * Allocate area clearing is moved from the pcpu_populate_chunk() implementations to pcpu_alloc(). This makes percpu-km's version noop. * Quick exit tests in pcpu_[de]populate_chunk() of percpu-vm are moved to their respective callers so that they are applied to percpu-km too. This doesn't make any meaningful difference as both functions are noop for percpu-km; however, this is more consistent and will help implementing atomic allocation support. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit cdb4cba5a3c9fa27240d04f4f8dad316b10d995b Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:01 2014 -0400 percpu: remove @may_alloc from pcpu_get_pages() pcpu_get_pages() creates the temp pages array if not already allocated and returns the pointer to it. As the function is called from both [de]population paths and depopulation can only happen after at least one successful population, the param doesn't make any difference - the allocation will always happen on the population path anyway. Remove @may_alloc from pcpu_get_pages(). Also, add an lockdep assertion pcpu_alloc_mutex instead of vaguely stating that the exclusion is the caller's responsibility. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit fbbb7f4e149f6dd19a8dbebc9fa5c5b72173c6de Author: Tejun Heo <tj@xxxxxxxxxx> Date: Tue Sep 2 14:46:01 2014 -0400 percpu: remove the usage of separate populated bitmap in percpu-vm percpu-vm uses pcpu_get_pages_and_bitmap() to acquire temp pages array and populated bitmap and uses the two during [de]population. The temp bitmap is used only to build the new bitmap that is copied to chunk->populated after the operation succeeds; however, the new bitmap can be trivially set after success without using the temp bitmap. This patch removes the temp populated bitmap usage from percpu-vm.c. * pcpu_get_pages_and_bitmap() is renamed to pcpu_get_pages() and no longer hands out the temp bitmap. * @populated arugment is dropped from all the related functions. @populated updates in pcpu_[un]map_pages() are dropped. * Two loops in pcpu_map_pages() are merged. * pcpu_[de]populated_chunk() modify chunk->populated bitmap directly from @page_start and @page_end after success. Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Acked-by: Christoph Lameter <cl@xxxxxxxxx> commit e395e573b3ca028271fb2ee7edf614d45913d948 Author: CrazyCat <crazycat69@xxxxxxxx> Date: Sat Aug 16 18:33:14 2014 -0300 [media] si2168: DVB-T2 PLP selection implemented DVB-T2 PLP selection implemented for Si2168 demod. Tested with PCTV 292e. Signed-off-by: Evgeny Plehov <EvgenyPlehov@xxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d8b0e4230fc3078314cedf674a664d227cd5c0e1 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:04:00 2014 +0100 staging: comedi: amplc_pci230: simplify interrupt enable handling `struct pci230_private` has two members to manage the enabled interrupt sources. `int_en` is the interrupt sources we want to be enabled and `ier` is a shadow of the write-only interrupt enable register. They have the same value most of the time. They differ in the interrupt handler (`pci230_interrupt()`) itself when it temporarily clears bits in the interrupt enable register and the `ier` member in order to unlatch them in hardware, but leaves the `int_en` member alone. They also differ in `pci230_ai_stop()` and `pci230_ao_stop()` which clear bits in the `int_en` member and wait for the interrupt handler to finish before copying the value to the `ier` member and the interrupt enable register. Simplify the handling a bit, by making the `ier` member take on the role of the `int_en` member, and allowing the value to differ from the interrupt enable register while the interrupt handler is running. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb8ef9231f9f7ee1dc685ac6b0f2360a4eab0e31 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:59 2014 +0100 staging: comedi: amplc_pci230: change pci230_handle_ao_fifo() return type Change the return type of `pci230_handle_ao_fifo()` from `int` to `bool`. A return value of `true` indicates the AO command is still running. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39455e17fa9c453c3671b34ca67d79904fafccb8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:58 2014 +0100 staging: comedi: amplc_pci230: reduce indentation in pci230_ai_start() Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a6303f15e25babc6b13bd82489264226d5ec8f8a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:57 2014 +0100 staging: comedi: amplc_pci230: reduce indentation in pci230_ai_inttrig_convert() Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a046e4c1cc64aec5653abaf3de215c2131252ea6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:56 2014 +0100 staging: comedi: amplc_pci230: reduce indentation in pci230_ao_start() Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0dab04882ed3be085faf370b34f0e6fee5eb5afc Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:55 2014 +0100 staging: comedi: amplc_pci230: reduce indentation in pci230_ao_inttrig_scan_begin() Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit beafb60389773e13152c7f67e05ba05111eef0f4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:54 2014 +0100 staging: comedi: amplc_pci230: rewrite shared resource handling Some counter channels may be required for AI commands and AO commands. Depending on how the commands are set up, it may not be possible to run both at the same time, so we keep some state and code to find out if the required resources are busy or not. The existing code is a bit unwieldy - the code for claiming resources involves two `for` loops for example. Rewrite it to make it simpler. The new code just has a bit-mask value for each shared resource (counter channels), and an array indexed by resource "owners" (AI and AO commands), so the code for claiming resources now just has a single loop that checks that none of the other owners have claimed the wanted resources. Rename the functions involved, because the old names involving 'put' and 'get' suggested some sort of usage counting. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b0ff3dc5e3d86ada66afcaab46a766d326facd4 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:53 2014 +0100 staging: comedi: amplc_pci230: replace `state` member with bitfields The `state` member of `struct pci230_private` is used with the atomic bit-op functions and has a couple of bits defined, `AI_CMD_STARTED` and `AO_CMD_STARTED`. Spin-locks are used to protect the clearing of these bits and other stuff. No special protection is used for setting these bits. Replace the `state` member with a couple of new, single-bit bitfield members, `ai_cmd_started` and `ao_cmd_started` to save some space. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit abea4ff48541348be06f6cd01d4db8badbbc2065 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:52 2014 +0100 staging: comedi: amplc_pci230: make `intr_running` a bitfield Change the `intr_running` member of `struct pci230_private` into a single-bit bitfield of type `bool` to save a bit of space. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2cd5da05b0ea4bf178fab718d42de5a386600991 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:51 2014 +0100 staging: comedi: amplc_pci230: use comedi_range_is_bipolar() Use the inline `comedi_range_is_bipolar()` function from "comedidev.h" to decide whether a range is bipolar or unipolar instead of using the local static arrays `pci230_ai_bipolar[]` and `pci230_ao_bipolar[]` which can then be removed. Change the types of the `ai_bipolar` and `ao_bipolar` members of `struct pci230_private` to `bool` to match the return value of `comedi_range_is_bipolar()` and change them into single-bit bitfields to save a bit of space. Also change the type and name of some local variables in `pci230_ai_check_chanlist()` that hold the result of `comedi_range_is_bipolar()`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 14c289d896d31903b04656701464de46ffb197c5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:50 2014 +0100 staging: comedi: amplc_pci230: add `pci230_` prefix to functions Most functions in "amplc_pci230" are named with the prefix `pci230_`, apart from one or two that have the prefix `amplc_pci230_` and a few odd-balls with no particular prefix. Rename the ones without a prefix for consistency. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d4c5cc31183db5d545f5ec3aa71b8c7545f2ac31 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:49 2014 +0100 staging: comedi: amplc_pci230: rename pci230_ai_rinsn() Rename the AI subdevice "insn_read" handler function `pci230_ai_rinsn()` to `pci230_ai_insn_read()` for consistency. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d9a687958e39bdf041c7164c0e8a259e9a5e889d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:48 2014 +0100 staging: comedi: amplc_pci230: remove 'inline' Some functions in "amplc_pci230.c" are declared `inline`. Remove the `inline` specifiers and let the compiler do what it wants with them. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66a462ba451346599d0b78098e41eceac3099946 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:47 2014 +0100 staging: comedi: amplc_pci230: simplify pci230_ai_read() `pci230_ai_read()` reads a sample from the ADC data register and converts it to a comedi sample value. The AI sample may have 12 or 16 bits of resolution, depending on the board type, but 12-bit sample values are in bits 15 to 4 of the register. The hardware value is signed, 2's complement if set to a bipolar mode, or unsigned, straight binary if set to a unipolar mode. To convert to a Comedi sample value it may need shifting right by 4 bits, and the top bit of the sample value may need to be toggled. Simplify the existing code by doing the 2's complement to straight binary conversion before the shift. That way, it is always bit 15 that is inverted regardless of the resolution. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9405d8724045a84c960a1e4ac9876cf5fb1de35e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:46 2014 +0100 staging: comedi: amplc_pci230: simplify pci230_ao_mangle_datum() `pci230_ao_mangle_datum()` converts comedi sample values for the AO subdevice to hardware register values. The comedi sample value will be an unsigned value in the range 0 to 4095 (assuming 12-bit resolution). The hardware wants the value shifted so the m.s. bit of the sample in in bit 15. If set to a bipolar range, it also expects a 2's complement value, so the top bit of the sample value needs to be inverted in that case. Simplify the existing code by doing the 2's complement conversion after the shift. That way, it is always bit 15 that is inverted regardless of the resolution. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33af02c7b259a60dca2cd1ca11a4568dcc000113 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:45 2014 +0100 staging: comedi: amplc_pci230: shrink struct pci230_board The `ai_bits`, `ao_bits`, and `min_hwver` members of `struct pci230_board` are only set to small, non-negative values, so make them `unsigned char`. The `have_dio` member is used as a boolean so change it to a bitfield of type `bool`. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 867ae76dda9365c125ac88f256ca20d557e9e6e8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:44 2014 +0100 staging: comedi: amplc_pci230: remove ao_chans member The PCI230(+) has an AO subdevice with 2 channels, but the PCI260(+) has none. The `ao_chans` member of `struct pci230_board` indicates whether the board has an AO subdevice and the number of AO channels. The `ao_bits` member indicates the AO sample width in bits and will only be non-zero for boards with an AO subdevice. Use `ao_bits` to indicate whether the board has an AO subdevice. If it has, assume the the number of AO channels is 2. Then the `ao_chans` member becomes redundant and can be removed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e69ad291fbb08f79bf8014efeb29e2a74944bfa8 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:43 2014 +0100 staging: comedi: amplc_pci230: remove ai_chans member All boards supported by the "amplc_pci230" driver have 16 AI channels, so the `ai_chans` member of `struct pci230_board` is superfluous and can be removed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0a89e7147229d183f9e5566fc774d8e0dfeff627 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:42 2014 +0100 staging: comedi: amplc_pci230: absorb pci230_alloc_private() `pci230_alloc_private()` is now only called from `pci230_auto_attach()` to allocate private device storage and initialize various spin-lock members therein. Absorb the body of `pci230_alloc_private()` into `pci230_auto_attach()` itself. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77ffced7af82c13243a642e731b52fc1714fd48a Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:41 2014 +0100 staging: comedi: amplc_pci230: no need to comedi_set_hw_dev() here The comedi core module calls `comedi_set_hw_dev()` to associate the hardware `struct device` with the `struct comedi_device` before it calls the comedi driver's "auto_attach" hook `pci230_auto_attach()`. There is no need for `pci230_auto_attach()` to call `comedi_set_hw_dev()` itself, so remove the call. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c800752bc85c8efb00d77c60aa89f585cc5f7bee Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:40 2014 +0100 staging: comedi: amplc_pci230: absorb pci230_attach_common() `pci230_attach_common()` is now only called from `pci230_auto_attach()`, so absorb it into that function. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5668ddf083fd7db5b904fc8332f4b28748fe5eed Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:39 2014 +0100 staging: comedi: amplc_pci230: set detach handler to comedi_pci_detach() Since the comedi driver's "detach`" handler `pci230_detach()` now merely calls `comedi_pci_detach()` with the same parameter, use `comedi_pci_detach()` itself as the "detach" handler. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 228df3c99b511ec563dbbd3c7385a3ed83201dd5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:38 2014 +0100 staging: comedi: amplc_pci230: no need to manipulate PCI ref count This driver no longer supports a "legacy" attach mechanism that searches for a suitable PCI device and increments it's reference count, but since the common "detach" handler `pci230_detach()` still has a left-over `pci_dev_put()`, a matching `pci_dev_get()` is needed in the "auto_attach" handler `pci230_auto_attach()`. There is no longer any reason to "get" and "put" the PCI device, so those calls can be removed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca5119c93f0dee89b5543fbdbc0c96a046ed20e6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:37 2014 +0100 staging: comedi: amplc_pci230: remove "legacy" attach mechanism The "amplc_pci230" driver currently retains the legacy attach mechanism to allow devices to be attached manually via the `COMEDI_DEVCONFIG` ioctl. The only real use for this is to pretend that a PCI230+ or PCI260+ is a PCI230 or PCI260 for backwards compatibility, as they have different number of bits of resolution on the AI subdevice. Since the card would be automatically configured as a PCI230+ or PCI260+ at PCI probe time anyway, hopefully any users who want it to appear as a PCI230 or PCI260 would have got tired of removing the automatically configured device and configuring it manually by now and will have updated their software to cope with the PCI230+ or PCI260+. Get rid of the legacy attach mechanism by removing the Comedi driver "attach" handler `pci230_attach()` and associated code. Also remove the "wildcard" entry from the board table `pci230_boards[]` as it is no longer needed. Don't bother initializing the `board_name`, `offset`, and `num_names` members of `struct comedi_driver amplc_pci230_driver` any longer as they are only needed when configuring the device manually. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 840d435f15f43bd3b45be586d3cc3b4803939176 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:36 2014 +0100 staging: comedi: amplc_pci230: collapse some 'else { if' chains Where the only thing in an `else { ... }` block is another `if` statement, collapse it to an `else if {` block where it makes sense to do so. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cbbbd20d04282cfb19829aaa646cf57700635841 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:35 2014 +0100 staging: comedi: amplc_pci230: remove some unnecessary parentheses Remove some pairs of parentheses that don't really improve readability. Also, reduce the amount of leading whitespace in a few places. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4869826926197d75bb568131fb8a51627669401 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:34 2014 +0100 staging: comedi: amplc_pci230: don't use multiple blank lines Fix checkpatch issues: "CHECK: Please don't use multiple blank lines". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc0f88e9ca5483a7078f382f5944a1095ab89582 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Sep 1 12:03:33 2014 +0100 staging: comedi: amplc_pci230: update MODULE_DESCRIPTION() Replace the generic, Comedi low-level driver module description string with something more specific. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1c2775ec3ce533abf1dad62b3c79302bd64e174a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:43 2014 +0530 staging: rtl8188eu: Rename Hal8188EPwrSeq.h to pwrseq.h Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ff471fc1e6954d62c43a996af183dd42c6ed347 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:42 2014 +0530 staging: rtl8188eu: Hal8188EPwrSeq.h: fix lines over 80 char Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2f2a798ac58ee5ffda24be07bd9068c5ce4842ca Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:41 2014 +0530 staging: rtl8188eu: Rename HalPwrSeqCmd.h to pwrseqcmd.h Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8290d2fbba4d3c47c6686cbc01d879d2e1760e4a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:40 2014 +0530 staging: rtl8188eu: Rename HalPwrSeqCmd.c to pwrseqcmd.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a031d01c8ded5e4030242e175c7d9ee52dde4d8c Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:39 2014 +0530 staging: rtl8188eu: Rename Hal8188EPwrSeq.c to pwrseq.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 582c7fbe16fdc2a0a84ce00c79a5406d0d9dd3d9 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:38 2014 +0530 staging: rtl8188eu: HalPwrSeqCmd.h: Remove unnecessary comments. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8bfdbb1b59d9efa733bb29dc5e5249442e996766 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:37 2014 +0530 staging: rtl8188eu: Hal8188EPwrSeq.c: fix lines over 80 characters. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 876cbe238d7ae7af8d0000a3bb8e0ebf3f245252 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Mon Sep 1 21:13:36 2014 +0530 staging: rtl8188eu: Rework function HalPwrSeqCmdParsing() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a45c2994d5980ad53234589935df15e4f6682704 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Thu Aug 21 09:05:01 2014 -0300 [media] cxusb: Add read_mac_address for TT CT2-4400 and CT2-4650 Read MAC address from the EEPROM. This version two corrects a flaw in the result code returning that did exist in the first version. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6832d11edde3e47ef54e0da5d61380de9043b704 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Fri Aug 8 04:06:37 2014 -0300 [media] cxusb: Add support for TechnoTrend TT-connect CT2-4650 CI TechnoTrend TT-connect CT2-4650 CI (0b48:3012) is an USB DVB-T2/C tuner with the following components: USB interface: Cypress CY7C68013A-56LTXC Demodulator: Silicon Labs Si2168-A20 Tuner: Silicon Labs Si2158-A20 CI chip: CIMaX SP2HF The firmware for the tuner is the same as for TechnoTrend TT-TVStick CT2-4400. See https://www.mail-archive.com/linux-media@xxxxxxxxxxxxxxx/msg76944.html The demodulator needs a firmware that can be extracted from the Windows drivers. File ttConnect4650_64.sys should be extracted from http://www.tt-downloads.de/bda-treiber_4.1.0.4.zip (MD5 sum below). 3464bfc37a47b4032568718bacba23fb ttConnect4650_64.sys Then the firmware can be extracted: dd if=ttConnect4650_64.sys ibs=1 skip=273376 count=6424 of=dvb-demod-si2168-a20-01.fw The SP2 CI module requires a definition of a function cxusb_tt_ct2_4650_ci_ctrl that is passed on to the SP2 driver and called back for CAM operations. [crope@xxxxxx: meld USB ID define patch to this] Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 868736ad3404b205794bc04233eca58293818dea Author: Olli Salonen <olli.salonen@xxxxxx> Date: Fri Aug 8 04:06:35 2014 -0300 [media] sp2: Add I2C driver for CIMaX SP2 common interface module Driver for the CIMaX SP2 common interface chip. It is very much based on the existing cimax2 driver for cx23885, but should be more reusable. The product has been sold with name Atmel T90FJR as well and the data sheets for that chip seem to be publicly available. It seems that the USB device that I have and the cx23885 based devices will need to interact differently with the chip for the CAM operations. Thus there is one callback function that is passed on to the sp2 driver (see function sp2_ci_op_cam for that one). IRQ functionality is not included currently (not needed by USB devices and I don't have a PCIe device for development). Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9b9beb1bf5eab918d2d54e42360dd1803b00dbfd Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:12 2014 -0300 [media] cxusb: add ts mode setting for TechnoTrend CT2-4400 TS mode must be set in the existing TechnoTrend CT2-4400 driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6fd2f44a000b514f7ad67e15efaccf9502e29883 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:11 2014 -0300 [media] em28xx: add ts mode setting for PCTV 292e TS mode must be set in the existing PCTV 292e driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 389ce3984b337690ed5124f2379fc8c3f3975c53 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Mon Aug 11 16:58:10 2014 -0300 [media] si2168: add ts_mode setting and move to si2168_init Luis Alves submitted a TS mode patch to si2168 earlier, but the patch was rejected due to a small issue. Here is a working version. Also, setting of TS mode is moved from si2168_set_frontend to si2168_init. This patch adds the TS mode as a config option for the si2168 demod: - ts_mode added to config struct. - Possible (interesting) values are * Parallel mode = 0x06 * Serial mode = 0x03 Currently the modules using this demod only use parallel mode. Patches for these modules later in this patch series. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 79d0933032d657e8f80e916b14b47b03731d6bea Author: nibble.max <nibble.max@xxxxxxxxx> Date: Mon Aug 11 01:22:45 2014 -0300 [media] m88ds3103: implement set voltage and TS clock Implement set voltage operation. Separate TS clock as a own configuration parameter. Add TS clock polarity parameter. [crope@xxxxxx: merge em28xx driver m88ds3103 config change patch to that one, in order to keep build unbroken] Signed-off-by: Nibble Max <nibble.max@xxxxxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 67d0113a224f0fb1be784f7553fdeafd82cadc6c Author: Olli Salonen <olli.salonen@xxxxxx> Date: Tue Aug 5 09:03:54 2014 -0300 [media] si2157: clean logging Same thing for si2157 as Antti did earlier for tda18212: There is no need to print module name nor function name as those are done by kernel logging system when dev_xxx logging is used and driver is proper I2C driver. While here, fix a typo ("unknown") in si2157_init. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 37b4e43d8b51163183fef32d6f3334c9f97f61c1 Author: Olli Salonen <olli.salonen@xxxxxx> Date: Tue Aug 5 08:54:08 2014 -0300 [media] si2168: clean logging Same thing for si2168 as Antti did earlier for tda18212: There is no need to print module name nor function name as those are done by kernel logging system when dev_xxx logging is used and driver is proper I2C driver. Signed-off-by: Olli Salonen <olli.salonen@xxxxxx> Reviewed-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1a5a5cbc3986dafc48c1ade21ba5fa2a4bfde5f6 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Sep 2 17:21:12 2014 +0530 staging: et131x: et131x.c: sparse warning of incompatible types fixed sparse warning: incompatible types in comparison expression (different address spaces) wolw and reg both are being used only for the initialization of the __iomem area. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a62fdebde5869d15536309b4a5bb9b1d5fd229c5 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:38:42 2014 -0500 staging: comedi: hwdrv_apci1500: miscellaneous cleanup This patch completes two final matters of cleanup which are each too small for their own patch. It corrects a couple of indentation issues and removes a return statement at the end of a void function. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a45dd57caedd07c82b01566caa89d0389f464aa7 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:38:26 2014 -0500 staging: comedi: hwdrv_apci1500: clean some whitespace style issues Now that commented out code has been removed, else statements can move to the same line as the close brace of the if statement. Also, a blank line has been added between declarations and code where needed. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b2518477e0b8ec9f2c193e43b40597d07be53687 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:38:12 2014 -0500 staging: comedi: hwdrv_apci1500: remove commented out code Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c035291a6d7a19c8bb36ae5d5c4730cfc94fae8d Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:37:57 2014 -0500 staging: comedi: hwdrv_apci1500: remove unneeded braces We don't need braces around single-statement blocks. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2292d64c53e8acd4980eb3688c088e00fe8bf98b Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:36:11 2014 -0500 staging: comedi: hwdrv_apci3501: change printk to dev_err dev_err() is preferred to printk() in device drivers. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4689e6c2a3378fe563b6e19a6ea251aa007ddf44 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 22:35:49 2014 -0500 staging: comedi: hwdrv_apci035: remove useless return statement Checkpatch pointed out a void function with a return statement. It can be removed. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a834b96e20162d00df472bf87104b93b7338172 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 31 19:46:19 2014 -0500 drivers: staging: rtl8723au: Fix return is not a function, parentheses are not required error Fix checkpatch.pl return is not a function, parentheses are not required error Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c802a6447da58e9afb7580ede9f34607f5acf5b8 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 31 19:22:59 2014 -0500 drivers: staging: ft1000: Fix return is not a function, parentheses are not required errors Fix checkpatch.pl return is not a function, parentheses are not required errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96ee2cc81f278d6c0767f466c11658f5beb5d7c5 Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Aug 31 23:43:51 2014 +0300 staging: octeon-usb: use USB_DIR_IN Replace a magic value with #defined macro. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e301dfb208ac25db6c133079de7ae5d99cf48b5f Author: Aaro Koskinen <aaro.koskinen@xxxxxx> Date: Sun Aug 31 23:43:50 2014 +0300 staging: octeon-usb: use generic control packet header Use generic control packet header structure definition. Signed-off-by: Aaro Koskinen <aaro.koskinen@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 587abd7b030283baf921ba1a62c8a7280fea5e9d Author: Seunghun Lee <waydi1@xxxxxxxxx> Date: Mon Sep 1 22:46:59 2014 +0900 staging: dgnc: split two assignments into the two assignments on two lines. split two assignments into the two assignments on two lines. CC: Lidza Louina <lidza.louina@xxxxxxxxx> CC: Mark Hounschell <markh@xxxxxxxxxx> Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 239d1346f5f77135e272eee0c33cfa3e52fc4e1c Author: Konrad Zapalowicz <bergo.torino+kernel@xxxxxxxxx> Date: Sun Aug 31 22:42:15 2014 +0200 staging: dgnc: Fix sleeping under spinlock bug This commit changes the memory allocation flags to ATOMIC in order to avoid sleeping in the nowait/nolock code. Signed-off-by: Konrad Zapalowicz <bergo.torino+kernel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fdaef43dca4d9ebc4c560c6f53f54197b0167d92 Author: Ramon Fried <ramon.fried@xxxxxxxxx> Date: Sun Aug 31 23:40:29 2014 +0300 staging: netlogic: Fix checkpatch.pl warning This patch fixes the following checkpatch.pl warning: WARNING: Possible unnecessary 'out of memory' message #116: FILE: ./xlr_net.c:116: + if (!skb) { + pr_err("SKB allocation failed\n"); Signed-off-by: Ramon Fried <ramon.fried@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a80f58c96d6dd8c7bf7ec33ca695c4fa6b956862 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 14:45:00 2014 -0500 staging: comedi: usbduxsigma: fix more sparse endianness warnings Sparse shows a couple of warnings like: drivers/staging/comedi/drivers/usbduxsigma.c:787:23: warning: cast to restricted __be32 Looking at the indicated lines shows that the issue is caused by an incorrect cast to uint32_t instead of __be32. Fix this cast. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae689d52f778fef3026dc7f8d9349df4ca465e6d Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 31 14:44:23 2014 -0500 staging: comedi: usbdux: fix more sparse endianness warnings Sparse shows a couple of warnings like: drivers/staging/comedi/drivers/usbdux.c:889:20: warning: incorrect type in assignment (different base types) drivers/staging/comedi/drivers/usbdux.c:889:20: expected unsigned short [unsigned] [short] [usertype] <noident> drivers/staging/comedi/drivers/usbdux.c:889:20: got restricted __le16 [usertype] <noident> This is the result of a couple of calls to cpu_to_le16() being assigned to uint16_t typed variables. Switch the types of these variables/pointers to __le16 accordingly. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Suggested-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e49d63ea147df36311fc973f5bd540125bf653a9 Author: Mathieu OTHACEHE <m.othacehe@xxxxxxxxx> Date: Tue Sep 2 18:39:44 2014 +0200 staging: lustre: Fix space prohibited between function name and open parenthesis This patch fixes the following checkpatch.pl warning in lnet/lnet/lib-eq.c: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Mathieu OTHACEHE <m.othacehe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6e962c5a0d11bad9711171743756578d2969f45 Author: Zheng Di <zhengdi05@xxxxxxxxx> Date: Tue Sep 2 01:51:28 2014 +0800 staging: lustre: declare some functions as static Declare these functions as static: llog_alloc_handle() is used in llog_open() only. llog_free_handle() is used in llog_close() only. Signed-off-by: Zheng Di <zhengdi05@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 31664dc6f8462a843fbddf6807498f452a7727be Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Sep 1 22:21:10 2014 +0200 staging: lustre: ldlm: simplify rc initialization Simplify initialization of rc to take advantage of the fact that it is done at statement level. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d1c0d446da8e0255a0edb348325cac293e9eff4c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Mon Sep 1 22:21:09 2014 +0200 staging: lustre: ldlm: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 995c8b4a555baf29de86ce6b68967d03791ae2b2 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Sep 1 06:36:14 2014 -0500 drivers: staging: lustre: Fix 'do not use C99 // comments' errors Fix checkpatch.pl 'do not use C99 // comments' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 22403d9eae75ae0f86c92b9f0a8bda1aa2e069e3 Author: Sun Wang <sunwxg@xxxxxxxxx> Date: Mon Sep 1 12:27:25 2014 +0800 staging: lustre: lustre: mdc: mdc_reint: fix coding style issue Coding style issues, the changes include: -Remove '{}' Signed-off-by: Sun Wang <sunwxg@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8291974f9d51906acbcda639f5e0e33f6eae765 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 31 17:40:17 2014 -0500 drivers: staging: lustre: Fix return is not a function, parentheses are not required errors Fix checkpatch.pl return is not a function, parentheses are not required errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d696b7f780b66135e34a4dcd781828acf907f6df Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Tue Sep 2 14:36:37 2014 +0300 MAINTAINERS: Add an entry for staging/xillybus Suggested-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a7d84d73b9ca32871da8fc05e95ca47c04fbb110 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:17 2014 +0200 ARM: at91: PIT: Use of_have_populated_dt instead of CONFIG_OF Until now, the machines, even when CONFIG_OF was enabled, were calling at91sam926x_ioremap_pit to try to map the PIT address using the defined physical address. Obviously, with DT, it's not appropriate anymore, and some code was added to the function to deal with this case. Unfortunately, this code was conditionned on CONFIG_OF, which can be enabled, even though no DT was actually used, which would result in such a case, to this code being executed, without any reason. Moreover, the logic that was here before to bail out of the function just check in the DT to see if the PIT node is there, which is the case in all our DTSI. All this can be made much more straightforward just by using of_have_populated_dt to bail out. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 2d7fdbe23c990a843177e3bff9a093d2f5fa4e02 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:16 2014 +0200 ARM: at91: PIT: Use DIV_ROUND_CLOSEST to compute the cycles Until now, the pit_cycle computation was dividing the rate by HZ, rounding to the closest integer, but without using the appropriate macro. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 1bd59dbe53d9913420ae751d0447e769fd22cbf5 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:15 2014 +0200 ARM: at91: generic.h: Add include safe guards The generic.h header file doesn't have any safe guards against multiple inclusion. It only worked so far because all the symbols defined in it were extern, but this is a rather fragile assumption. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 52c3ffb018f4af038039f783d932ba5c99e4a87b Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 11:33:14 2014 +0200 ARM: at91: PIT: Follow the general coding rules Replace all masks and bits definitions by matching calls to BIT and GENMASK. While we're at it, also fix a few style issues. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Acked-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit a7fa3219456bc044cc6b8654a5d8218a9df1c7bd Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:50:48 2014 +0900 spi: spi-mxs: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations WARNING: Prefer kcalloc over kzalloc with multiply Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Marek Vasut <marex@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b8074eba2a6b5b1b090cf9c53dbccf3bc3e5205a Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Sep 2 09:14:28 2014 -0700 regulator: RK808: Add proper input supplies for rk808 The original RK808 regulator driver didn't setup input supplies properly. Add them. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f318f7db00f4968d934b4ccb8e3fc0b21f419046 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Mon Sep 1 16:15:52 2014 -0500 ia64: sn_nodepda cannot be assigned to after this_cpu conversion. Use __this_cpu_write. There must be an explit statement to modify the percpu variable after the conversion of the sn_nodpda macro to use this_cpu_read. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Compile-tested-by: Guenter Roeck <linux@xxxxxxxxxxxx> commit 809e9447b92ffe1346b2d6ec390e212d5307f61c Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Apr 9 16:19:30 2014 +0200 drm/nouveau: use shared fences for readable objects nouveau keeps track in userspace whether a buffer is being written to or being read, but it doesn't use that information. Change this to allow multiple readers on the same bo. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 9242829a87e970773628f30522d2278dd91890ec Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Apr 9 16:18:58 2014 +0200 drm/nouveau: Keep only a single list for validation. Maintain the original order to handle VRAM/GART/mixed correctly for <nv50, it's likely not as important on newer cards. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 472db7ab3093bf2a2999f6b5aa64a030466d6f92 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed May 14 15:42:29 2014 +0200 drm/ttm: use rcu in core ttm Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 5fbad9928faf93f69903c8662ec9874ac4a0754e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed May 14 15:41:49 2014 +0200 drm/vmwgfx: use rcu in vmw_user_dmabuf_synccpu_grab Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 65cd90ac765fb6960f1e3815cc31972fc4599c37 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Aug 5 20:14:30 2014 +0200 netfilter: nft_chain_nat_ipv4: use generic IPv4 NAT code from core Use the exported IPv4 NAT functions that are provided by the core. This removes duplicated code so iptables and nft use the same NAT codebase. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 30766f4c2d60dd2a3fc67b7114174c417f43f4c6 Author: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> Date: Tue Aug 5 20:02:42 2014 +0200 netfilter: nat: move specific NAT IPv4 to core Move the specific NAT IPv4 core functions that are called from the hooks from iptable_nat.c to nf_nat_l3proto_ipv4.c. This prepares the ground to allow iptables and nft to use the same NAT engine code that comes in a follow up patch. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit d102cac8097c71bbbba41f4d0cdf5b509d4c64cf Author: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Date: Wed Aug 20 23:05:40 2014 -0300 [media] media: check status of dmxdev->exit in poll functions of demux&dvr when usb-type tuner is pulled out, user applications did not close device's FD, and go on polling the device, we should return POLLERR directly. Signed-off-by: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 236c9bfa4a133cbdfeeb3f7a1902950210549634 Author: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Date: Wed Aug 20 23:05:07 2014 -0300 [media] media: correct return value in dvb_demux_poll Data type of return value is unsigned int, but in function of dvb_demux_poll, when the pointer of dmxdevfilter equals NULL, it will return -EINVAL, which is invalid. Signed-off-by: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7a0af6ed97f2f08baecb452e719d9c961d117109 Author: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Date: Wed Aug 20 23:04:25 2014 -0300 [media] media: fix kernel deadlock due to tuner pull-out while playing Normally, ADAP_STREAMING bit is set in dvb_usb_start_feed and cleared in dvb_usb_stop_feed. But in exceptional cases, for example, when the tv is playing programs and the tuner is pulled out, then dvb_usbv2_disconnect is called. In such case, it will first call dvb_usbv2_adapter_frontend_exit to stop dvb_frontend_thread, and then call dvb_usbv2_adapter_dvb_exit to clear ADAP_STREAMING bit. At this point, if dvb_frontend_thread is sleeping and waiting for ADAP_STREAMING to be cleared to get out of sleep. then dvb_frontend_thread can never be stoped, because clearing ADAP_STREAMING bit is performed after dvb_frontend_thread is stopped (i.e. performed in dvb_usbv2_adapter_dvb_exit). So, deadlock: [ 240.822037] INFO: task khubd:497 blocked for more than 120 seconds. [ 240.822655] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 240.830493] khubd D c0013b3c 0 497 2 0x00000000 [ 240.836996] [<c0013b3c>] (__schedule+0x200/0x54c) from [<c00110f4>] (schedule_timeout+0x14c/0x19c) [ 240.845940] [<c00110f4>] (schedule_timeout+0x14c/0x19c) from [<c00137f4>] (wait_for_common+0xac/0x150) [ 240.855234] [<c00137f4>] (wait_for_common+0xac/0x150) from [<c004989c>] (kthread_stop+0x58/0x90) [ 240.864004] [<c004989c>] (kthread_stop+0x58/0x90) from [<c03b2ebc>] (dvb_frontend_stop+0x3c/0x9c) [ 240.872849] [<c03b2ebc>] (dvb_frontend_stop+0x3c/0x9c) from [<c03b2f3c>] (dvb_unregister_frontend+0x20/0xd8) [ 240.882666] [<c03b2f3c>] (dvb_unregister_frontend+0x20/0xd8) from [<c03ed938>] (dvb_usbv2_exit+0x68/0xfc) [ 240.892204] [<c03ed938>] (dvb_usbv2_exit+0x68/0xfc) from [<c03eda18>] (dvb_usbv2_disconnect+0x4c/0x70) [ 240.901499] [<c03eda18>] (dvb_usbv2_disconnect+0x4c/0x70) from [<c031c050>] (usb_unbind_interface+0x58/0x188) [ 240.911395] [<c031c050>] (usb_unbind_interface+0x58/0x188) from [<c02c3e78>] (__device_release_driver+0x74/0xd0) [ 240.921544] [<c02c3e78>] (__device_release_driver+0x74/0xd0) from [<c02c3ef0>] (device_release_driver+0x1c/0x28) [ 240.931697] [<c02c3ef0>] (device_release_driver+0x1c/0x28) from [<c02c39b8>] (bus_remove_device+0xc4/0xe4) [ 240.941332] [<c02c39b8>] (bus_remove_device+0xc4/0xe4) from [<c02c1344>] (device_del+0xf4/0x178) [ 240.950106] [<c02c1344>] (device_del+0xf4/0x178) from [<c0319eb0>] (usb_disable_device+0xa0/0x1c8) [ 240.959040] [<c0319eb0>] (usb_disable_device+0xa0/0x1c8) from [<c03128b4>] (usb_disconnect+0x88/0x188) [ 240.968326] [<c03128b4>] (usb_disconnect+0x88/0x188) from [<c0313edc>] (hub_thread+0x4d0/0x1200) [ 240.977100] [<c0313edc>] (hub_thread+0x4d0/0x1200) from [<c0049690>] (kthread+0xa4/0xb0) [ 240.985174] [<c0049690>] (kthread+0xa4/0xb0) from [<c0009118>] (ret_from_fork+0x14/0x3c) [ 240.993259] INFO: task kdvb-ad-0-fe-0:3256 blocked for more than 120 seconds. [ 241.000349] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 241.008162] kdvb-ad-0-fe-0 D c0013b3c 0 3256 2 0x00000000 [ 241.014507] [<c0013b3c>] (__schedule+0x200/0x54c) from [<c03eda44>] (wait_schedule+0x8/0x10) [ 241.022924] [<c03eda44>] (wait_schedule+0x8/0x10) from [<c001120c>] (__wait_on_bit+0x74/0xb8) [ 241.031434] [<c001120c>] (__wait_on_bit+0x74/0xb8) from [<c00112b8>] (out_of_line_wait_on_bit+0x68/0x70) [ 241.040902] [<c00112b8>] (out_of_line_wait_on_bit+0x68/0x70) from [<c03e5e88>] (dvb_usb_fe_sleep+0xf4/0xfc) [ 241.050618] [<c03e5e88>] (dvb_usb_fe_sleep+0xf4/0xfc) from [<c03b4b74>] (dvb_frontend_thread+0x124/0x4e8) [ 241.060164] [<c03b4b74>] (dvb_frontend_thread+0x124/0x4e8) from [<c0049690>] (kthread+0xa4/0xb0) [ 241.068929] [<c0049690>] (kthread+0xa4/0xb0) from [<c0009118>] (ret_from_fork+0x14/0x3c) Fix it by calling dvb_usbv2_adapter_frontend_exit() latter. Test enviroment: odroidx2 + Hauppauge(WinTV-Aero-M) Signed-off-by: Changbing Xiong <cb.xiong@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 39e7f6f84b3a3aa4520504473f2e2bac1f949ffa Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed May 14 15:40:49 2014 +0200 drm/radeon: use rcu waits in some ioctls Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 59701f965442639e33b35cd2407d88948ea0b2b6 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed May 14 15:38:23 2014 +0200 drm/nouveau: use rcu in nouveau_gem_ioctl_cpu_prep With the conversion to the reservation api this should be safe. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit f2c24b83ae90292d315aa7ac029c6ce7929e01aa Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Apr 2 17:14:48 2014 +0200 drm/ttm: flip the switch, and convert to dma_fence Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 2f453ed4038526172292fb3250b638b3782c7f2b Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Apr 2 12:40:05 2014 +0200 drm/qxl: rework to new fence interface Final driver! \o/ This is not a proper dma_fence because the hardware may never signal anything, so don't use dma-buf with qxl, ever. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 29ba89b2371d466ca68973525816cf10debc2655 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxx> Date: Thu Jan 9 11:03:11 2014 +0100 drm/nouveau: rework to new fence interface Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit 2298e804e96eb3635c39519c8287befd92460303 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Mar 26 14:07:44 2014 +0100 drm/vmwgfx: rework to new fence interface, v2 Use the new fence interface on vmwgfx too. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> --- Changes since v1: Fix a sleeping function called from invalid context in enable_signaling. commit c060a4e135fdd8a35276f2e318f1e9b3bc2450a9 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Mar 26 13:06:24 2014 +0100 drm/vmwgfx: get rid of different types of fence_flags entirely Only one type was ever used. This is needed to simplify the fence support in the next commit. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 9bb87f168931cf55738ed2fbda3639575cede886 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 27 19:09:07 2014 +0200 usb: gadget: f_uac2: send reasonably sized packets The UAC2 function driver currently responds to all packets at all times with wMaxPacketSize packets. That results in way too fast audio playback as the function driver (which is in fact supposed to define the audio stream pace) delivers as fast as it can. Fix this by sizing each packet correctly with the following steps: a) Set the packet's size by dividing the nominal data rate by the playback endpoint's interval. b) If there is a residual value from the calculation in a), add it to a accumulator to keep track of it across packets. c) If the accumulator has gathered at least the number of bytes that are needed for one sample frame, increase the packet size. This way, the packet size calculation will get rid of any kind of imprecision that would otherwise occur with a simple division over time. Some of the variables that are needed while processing each packet are pre-computed for performance reasons. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ec9e43138f1219966850477e056f6eb7fbcc4fa4 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 27 19:09:06 2014 +0200 usb: gadget: f_uac2: handle partial dma area wrap With packet sizes other than 512, payloads in the packets may wrap around the ALSA dma buffer partially, which leads to memory corruption and audible clicks and pops in the audio stream at the moment, because there is no boundary check before the memcpy(). In preparation to an implementation for smaller and dynamically sized packets, we have to address such cases, and copy the payload in two steps conditionally. The 'src' and 'dst' approach doesn't work here anymore, as different behavior is necessary in playback and capture cases. Thus, this patch open-codes the routine now. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 254b3bf68b65ac8f82da1c7e0c1a2bb17012aa7d Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 27 19:09:05 2014 +0200 usb: gadget: f_uac2: introduce agdev_to_uac2_opts Add a simple container_of() wrapper to get a struct f_uac2_opts from a struct struct audio_dev. Use it in two places where it is currently open-coded. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a8147dabe56f7e7a4975e60abb613f7e62277577 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 27 19:09:04 2014 +0200 usb: gadget: f_uac2: add short-hand for 'dev' In afunc_bind() and afunc_set_alt(), &uac2->pdev.dev are used multiple times. Adding a short-hand for them makes lines shorter so we can remove some line wraps. No functional change. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 430fdbd3b7ea4a820d4c1aa936ede77433cfa818 Author: Daniel Mack <zonque@xxxxxxxxx> Date: Wed Aug 27 19:09:03 2014 +0200 usb: gadget: f_uac2: restructure some code in afunc_set_alt() Restructure some code to make it easier to read. While at it, return -ENOMEM instead of -EINVAL if usb_ep_alloc_request() fails, and omit the logging in such cases (the mm core will complain loud enough). Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 4953ef658910416655cdb4b61618458aa11302ab Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Wed Aug 27 22:58:48 2014 +0200 usb: gadget: f_mass_storage: simplify start_transfer slightly Flatten the start_transfer function by reversing the if condition and returning early out of the function if everything went fine. It makes the function look less complicated, at least to me, and easier to understand. Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b9a4274699c6973f62979d664cbe7c9aca4f6a9a Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Wed Aug 27 22:58:47 2014 +0200 tools: ffs-test: add compatibility code for old kernels If ffs-test is used with a kernel prior to 3.14, which do not support the new descriptors format, it will fail when trying to write the descriptors. Add a function that converts the new descriptors to the legacy ones and use it to retry writing the descriptors using the legacy format. Also add â??-lâ?? flag to ffs-test which will cause the tool to never try the new format and instead immediatelly try the legacy one. This should be useful to test whether parsing of the old format still works on given 3.14+ kernel. Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 51c208c746e800dba37d1a54d3c5e601630266c4 Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Wed Aug 27 22:58:46 2014 +0200 tools: ffs-test: convert to new descriptor format Since commit [ac8dde11: â??Add flags to descriptors blockâ??] functionfs supports a new, more powerful and extensible, descriptor format. Since ffs-test is probably the first thing users of the functionfs interface see when they start writing functionfs user space daemons, convert it to use the new format thus promoting it. Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1df22b4ea9d91b01267fb61c155c31fb65d6b8a0 Author: Michal Nazarewicz <mina86@xxxxxxxxxx> Date: Wed Aug 27 22:58:45 2014 +0200 usb: gadget: f_fs: add usb_functionfs_descs_head_v2 structure The structure can be used with user space tools that use the new functionfs description format, for example as follows: static const struct { struct usb_functionfs_descs_head_v2 header; __le32 fs_count; __le32 hs_count; struct { â?¦ } fs_desc; struct { â?¦ } hs_desc; } descriptors = { .header = { .magic = cpu_to_le32(FUNCTIONFS_DESCRIPTORS_MAGIC_V2), .length = cpu_to_le32(sizeof(descriptors)), .flags = cpu_to_le32(FUNCTIONFS_HAS_FS_DESC | FUNCTIONFS_HAS_HS_DESC) }, .fs_count = cpu_to_le32(X), .fs_desc = { â?¦ }, .hs_count = cpu_to_le32(Y), .hs_desc = { â?¦ } }; Signed-off-by: Michal Nazarewicz <mina86@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit be0a8887bb931af0e21531da20c41533effbb0d6 Author: Li Jun <B47624@xxxxxxxxxxxxx> Date: Thu Aug 28 21:44:11 2014 +0800 usb: gadget: composite: dequeue cdev->req before free its buffer commit f226708(usb: gadget: composite: dequeue cdev->req before free it in composite_dev_cleanup) fixed a bug: free the usb request(i.e. cdev->req) but does not dequeue it beforehand. This fix is not proper enough because it dequeues the request after free its data buffer, considering the hardware can access the buffer's memory anytime before the request's complettion rountine runs, and usb_ep_dequeue always call the complettion rountine before it returns, so the best way is to dequeue the request before free its buffer. Suggested-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Li Jun <b47624@xxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d3102a5eaac708ab83fede0986f90e9971be55d3 Author: Tony Lindgren <tony@xxxxxxxxxxx> Date: Thu Aug 28 11:19:02 2014 -0700 usb: phy: twl6030-usb: Remove unused irq_enabled It's not being used any longer. Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit fa9a582da9e78c8498654d5c9c221ec3690944c1 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 29 21:31:40 2014 +0200 usb: gadget: USB_RENESAS_USBHS_UDC should depend on HAS_DMA If NO_DMA=y: drivers/built-in.o: In function `usbhsg_dma_map_ctrl': mod_gadget.c:(.text+0x53b226): undefined reference to `usb_gadget_map_request' mod_gadget.c:(.text+0x53b242): undefined reference to `usb_gadget_unmap_request' Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ea2fdf842365066c82ab941086c6a1741ced4f2a Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Thu Aug 28 13:58:53 2014 +0200 usb: phy: samsung: remove old common USB PHY code drivers/usb/phy/phy-samsung-usb[2,3] drivers got replaced by drivers/phy/phy-samsung-usb[2,3] ones and the old common Samsung USB PHY code is no longer used. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 1c3c0528876e2dd86cfb86e96e03c38ef19858fe Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Aug 22 18:59:04 2014 +0200 usb: phy: samsung: remove old USB 3.0 PHY driver drivers/usb/phy/phy-samsung-usb3 driver got replaced by drivers/phy/phy-samsung-usb3 one and is no longer used. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a8b5b12eff1510d701ac5ad321e215d7153c96c3 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Fri Aug 22 18:59:03 2014 +0200 usb: phy: samsung: remove old USB 2.0 PHY driver drivers/usb/phy/phy-samsung-usb2 driver got replaced by drivers/phy/phy-samsung-usb2 one and is no longer used. Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Kyungmin Park <kyungmin.park@xxxxxxxxxxx> Reviewed-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx> Reviewed-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Kishon Vijay Abraham I <kishon@xxxxxx> Cc: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2b37c2955204066d32566a50372da95ab734fc7e Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Sep 2 11:00:22 2014 +0300 ath10k: don't access tx_info while overwriting it Nothing important was being overwritten so it didn't yield any bugs yet. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d35a6c18cb70be7961127f179a3394fe29a4ffe4 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Sep 2 11:00:21 2014 +0300 ath10k: add device/driver strings to tracepoints This makes it easier to log and debug via tracing with more than 1 ath10k device on a system. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9e264945b8959f9e95fef162ae9c2fe0ec22f909 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Sep 2 11:00:21 2014 +0300 ath10k: remove diag_*_access functions Remove the ugly _access functions. Being explicit is a good thing. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit fbff66108352d19b5cffa7dce26d7638c9dd4d70 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Thu Aug 28 04:43:09 2014 -0700 security: Silence shadow warning Renaming an unused formal parameter in the static inline function security_inode_init_security eliminates many W=2 warnings. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: James Morris <james.l.morris@xxxxxxxxxx> commit 7cc5f270ee6e271df466f9d3c1c4522593002ac4 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:50:03 2014 +0200 ARM: at91: sama5: update defconfig Update defconfig, adding: - PWM support using the generic framework - generic PWM leds - Power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c92e99f0bc1cd9feefaa93ce9245db8abdeca836 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:50:02 2014 +0200 ARM: at91: at91sam9rl: update defconfig Update defconfig, adding: - USB gadget - PWM support using the generic framework - generic PWM leds - LEDs triggers - Power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 31bcf0a63994081a3a315d02379528701c0a0e43 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:50:01 2014 +0200 ARM: at91: at91sam9g45: update defconfig Update defconfig, adding: - PWM support using the generic framework - generic PWM leds - Power/reset - Watchdog and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c5de16c0b769753a6df20465bd53bd53ad7c9c8a Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:50:00 2014 +0200 ARM: at91: at91sam9263: update defconfig Update defconfig, adding: - PWM support using the generic framework - generic PWM leds - Power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 825f30bc22f946db988848cc981fbdc8f66f6042 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:49:59 2014 +0200 ARM: at91: at91sam9261_9g10: update defconfig Update defconfig, adding power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit f1c86dd86f658001c276dd29ae6f285370e5af13 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:49:58 2014 +0200 ARM: at91: at91sam9260_9g20: update defconfig Update defconfig, adding: - ADC/touchscreen - Power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 443c4a4a66bacd314bd407f8e9e634695478b914 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Sep 2 10:49:57 2014 +0200 ARM: at91: at91_dt: update defconfig Update defconfig, adding: - ADC/touchscreen - PWM support using the generic framework - generic PWM leds - Power/reset and removing deprecated config options. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 3feb049f378da6aa1209e05ef5c656a1f26a9183 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:55 2014 -0700 gpu: ipu-v3: Add ipu_dump() Adds ipu_dump() which dumps IPU register state to debug. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 60c04456f68f67f68180ebd84a47e4c58931f70f Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:54 2014 -0700 gpu: ipu-cpmem: Add ipu_cpmem_dump() Adds ipu_cpmem_dump() which dumps a channel's cpmem to debug. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 9a34cef01392358421b764645073601c352d0a85 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:53 2014 -0700 gpu: ipu-v3: Add more planar formats support Adds support for the following planar and partial-planar formats: YUV422 NV12 NV16 Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@xxxxxxxxxx> Signed-off-by: Mohsin Kazmi <mohsin_kazmi@xxxxxxxxxx> Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Unified base offset and Y plane offset into a single variable, moved all ipu_cpmem_set_buffer calls to a single location. Removed NV21 and NV61 for now. The IDMAC doesn't understand U/V order for chroma interleaved formats, so we'd need to work around this by implenting U/V switching via the CSC unit. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 2094b603ae59be6785e52a00d09b47b6ae910154 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:52 2014 -0700 gpu: ipu-cpmem: Add second buffer support to ipu_cpmem_set_image() Add a second buffer physaddr to struct ipu_image, for double-buffering support. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit c42d37ca421aa222e8f27744d4129bce726a3724 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:51 2014 -0700 gpu: ipu-cpmem: Add ipu_cpmem_set_rotation() Adds ipu_cpmem_set_rotation(). Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 555f0e6690a41245518003c02a1ecb84e4a69281 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:50 2014 -0700 gpu: ipu-cpmem: Add ipu_cpmem_set_axi_id() Adds ipu_cpmem_set_axi_id() to set which AXI bus master the channel will use to transfer data onto AXI bus. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 9b9da0be37490c77e92a2101a8c5d469ce1102f4 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:49 2014 -0700 gpu: ipu-cpmem: Add ipu_cpmem_set_block_mode() Adds ipu_cpmem_set_block_mode(). Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 4fd1a07af59bf5e1cfb73f7035bf525522cebc76 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:45 2014 -0700 gpu: ipu-v3: Add ipu_idmac_lock_enable() Adds ipu_idmac_lock_enable(), which enables or disables channel burst locking. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 2bcf577eb6361827f8347529803528031033cb83 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:44 2014 -0700 gpu: ipu-v3: Add ipu_idmac_enable_watermark() Adds the function ipu_idmac_enable_watermark(), which enables or disables watermarking in the IDMAC channel. Enabling watermarking can increase a channel's AXI bus arbitration priority. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 6930afdccfd2b3e6669c305d97958d81cf0d072e Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:43 2014 -0700 gpu: ipu-v3: Add ipu_stride_to_bytes() Adds ipu_stride_to_bytes(), which converts a pixel stride to bytes, suitable for passing to cpmem. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit e7268c699bbe578e6dcf02e9f7f5a267837bc18f Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:42 2014 -0700 gpu: ipu-v3: Add __ipu_idmac_reset_current_buffer() Adds __ipu_idmac_reset_current_buffer() that resets a channel's internal current buffer pointer so that transfers start from buffer 0 on the next channel enable. This operation is required for channel linking to work correctly, for instance video capture pipelines that carry out image rotations will fail after the first streaming unless this function is called for each channel before re-enabling the channels. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit bce6f087a958a21500c51a9e63a5f578f5b0510c Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:41 2014 -0700 gpu: ipu-v3: Add ipu_idmac_clear_buffer() Add the reverse of ipu_idmac_select_buffer(), that is, clear a buffer ready status in a channel. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit aa52f57894b93dcfdd615b35a7579e161f1e7a38 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:40 2014 -0700 gpu: ipu-v3: Add ipu_idmac_buffer_is_ready() Add ipu_idmac_buffer_is_ready(), returns true if the given buffer in the given channel is set ready (owned by IPU), or false if not ready (owned by CPU core). Support has been added for third buffer, there is no support yet for triple-buffering in idmac channels, but this function checks buffer-ready for third buffer in case this support is added later. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit a4cd8f229ff71db0c95c0d96381d4fb9239fdb19 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:39 2014 -0700 gpu: ipu-v3: Move IDMAC channel names to imx-ipu-v3.h Move the IDMAC channel names to imx-ipu-v3.h, to make the names available outside IPU. Add a couple new channels in the process (async display BG/FG, channels 24 and 29). Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 4cea940d34319fb5d5e2f4d554e23f766c228e90 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:38 2014 -0700 gpu: ipu-v3: Add helper function checking if pixfmt is planar Add simple helper function returning true if passed pixel format is one of supported planar ones. Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit f835f386a119c3f78f5acb93e86a4f025211739a Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:37 2014 -0700 gpu: ipu-v3: Add rotation mode conversion utilities Add two functions: - ipu_degrees_to_rot_mode(): converts a degrees, hflip, and vflip setting to an IPU rotation mode. - ipu_rot_mode_to_degrees(): converts an IPU rotation mode with given hflip and vflip settings to degrees. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit ae0e9708b30b3eebe5a58e4d055eb49a73d641dd Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:36 2014 -0700 gpu: ipu-v3: Add ipu_mbus_code_to_colorspace() Add ipu_mbus_code_to_colorspace() to find ipu_color_space from a media bus pixel format code. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit a2be35e3320b27c84488729e9fb56a62e74d65fa Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:35 2014 -0700 gpu: ipu-v3: smfc: Add ipu_smfc_set_watermark() Adds ipu_smfc_set_watermark() which programs a channel's SMFC FIFO levels at which the watermark signal is set and cleared. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7fafa8f06f9bdf32b806b4612bfe387de8e34125 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:34 2014 -0700 gpu: ipu-v3: smfc: Convert to per-channel Convert the smfc object to be specific to a single smfc channel. Add ipu_smfc_{get|put} to retrieve and release a single smfc channel for exclusive use, and add use counter to ipu_smfc_{enable|disable}. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit fc4353559e587f5962f22c24ca7e015bdbea1e49 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:33 2014 -0700 gpu: ipu-v3: smfc: Move enable/disable to ipu-smfc.c Move the SMFC module enable/disable helpers into the ipu-smfc submodule. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 1aa8ea0d2bd5d4ba7b5d2b132a02157bc1fb9793 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Mon Aug 11 13:04:50 2014 +0200 gpu: ipu-v3: Add Image Converter unit Adds the Image Converter (IC) unit. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Condensed the three CSC setup functions into a single one that uses static tables to set up the CSC task parameters. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 2ffd48f2e7ae06c3d7b2bcde9a0cb211d1a32468 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Tue Aug 19 10:52:40 2014 -0700 gpu: ipu-v3: Add Camera Sensor Interface unit Adds the Camera Sensor Interface (CSI) unit required for video capture. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Removed the unused clk_get_rate in ipu_csi_init_interface and the ipu_csi_ccir_err_detection_enable/disable functions. Checkpatch cleanup. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 327455817a92522e669d2d11367e42af5956a8ed Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Aug 29 20:00:59 2014 +0530 pinctrl: qcom: Add support for reset for apq8064 This patch adds support for reset functions to reboot the boards with soc apq8064. Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: "Ivan T. Ivanov" <iivanov@xxxxxxxxxx> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> Cc: Andy Gross <agross@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 79c62cdd0760fb43acf680c89dc508b41a60d222 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Aug 29 20:00:58 2014 +0530 pinctrl: msm: Add ps_hold function in pinctrl-apq8064 binding documentation This adds a function ps_hold (Power Suppy Hold Signal) in pinctrl-ap8064 documentation which was missing. This function is used to reset the targets with apq8064 soc. CC: "Ivan T. Ivanov" <iivanov@xxxxxxxxxx> CC: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> CC: Andy Gross <agross@xxxxxxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c6e927a27498bf9314ba8e313d15d1b3f6046d7f Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Fri Aug 29 13:41:48 2014 +0530 pinctrl: qcom: remove gpiochip in failure cases This patch releases gpiochip related resources by calling gpiochip_remove when either of gpiochip_add_pin_range and gpiochip_irqchip_add fails. CC: Linus Walleij <linus.walleij@xxxxxxxxxx> CC: "Ivan T. Ivanov" <iivanov@xxxxxxxxxx> Acked-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxxxxxx> Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit f9134be491dec9e6cada46abbfb01982a7afffa8 Author: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> Date: Tue Sep 2 14:28:14 2014 +0300 dma-debug: modify check_for_stack output s/fromstack/from stack Signed-off-by: Horia Geanta <horia.geanta@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 880a6fab8f6ba5b5abe59ea68533202ddea1012c Author: Christophe Gouault <christophe.gouault@xxxxxxxxx> Date: Fri Aug 29 16:16:05 2014 +0200 xfrm: configure policy hash table thresholds by netlink Enable to specify local and remote prefix length thresholds for the policy hash table via a netlink XFRM_MSG_NEWSPDINFO message. prefix length thresholds are specified by XFRMA_SPD_IPV4_HTHRESH and XFRMA_SPD_IPV6_HTHRESH optional attributes (struct xfrmu_spdhthresh). example: struct xfrmu_spdhthresh thresh4 = { .lbits = 0; .rbits = 24; }; struct xfrmu_spdhthresh thresh6 = { .lbits = 0; .rbits = 56; }; struct nlmsghdr *hdr; struct nl_msg *msg; msg = nlmsg_alloc(); hdr = nlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, XFRMA_SPD_IPV4_HTHRESH, sizeof(__u32), NLM_F_REQUEST); nla_put(msg, XFRMA_SPD_IPV4_HTHRESH, sizeof(thresh4), &thresh4); nla_put(msg, XFRMA_SPD_IPV6_HTHRESH, sizeof(thresh6), &thresh6); nla_send_auto(sk, msg); The numbers are the policy selector minimum prefix lengths to put a policy in the hash table. - lbits is the local threshold (source address for out policies, destination address for in and fwd policies). - rbits is the remote threshold (destination address for out policies, source address for in and fwd policies). The default values are: XFRMA_SPD_IPV4_HTHRESH: 32 32 XFRMA_SPD_IPV6_HTHRESH: 128 128 Dynamic re-building of the SPD is performed when the thresholds values are changed. The current thresholds can be read via a XFRM_MSG_GETSPDINFO request: the kernel replies to XFRM_MSG_GETSPDINFO requests by an XFRM_MSG_NEWSPDINFO message, with both attributes XFRMA_SPD_IPV4_HTHRESH and XFRMA_SPD_IPV6_HTHRESH. Signed-off-by: Christophe Gouault <christophe.gouault@xxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit b58555f1767c9f4e330fcf168e4e753d2d9196e0 Author: Christophe Gouault <christophe.gouault@xxxxxxxxx> Date: Fri Aug 29 16:16:04 2014 +0200 xfrm: hash prefixed policies based on preflen thresholds The idea is an extension of the current policy hashing. Today only non-prefixed policies are stored in a hash table. This patch relaxes the constraints, and hashes policies whose prefix lengths are greater or equal to a configurable threshold. Each hash table (one per direction) maintains its own set of IPv4 and IPv6 thresholds (dbits4, sbits4, dbits6, sbits6), by default (32, 32, 128, 128). Example, if the output hash table is configured with values (16, 24, 56, 64): ip xfrm policy add dir out src 10.22.0.0/20 dst 10.24.1.0/24 ... => hashed ip xfrm policy add dir out src 10.22.0.0/16 dst 10.24.1.1/32 ... => hashed ip xfrm policy add dir out src 10.22.0.0/16 dst 10.24.0.0/16 ... => unhashed ip xfrm policy add dir out \ src 3ffe:304:124:2200::/60 dst 3ffe:304:124:2401::/64 ... => hashed ip xfrm policy add dir out \ src 3ffe:304:124:2200::/56 dst 3ffe:304:124:2401::2/128 ... => hashed ip xfrm policy add dir out \ src 3ffe:304:124:2200::/56 dst 3ffe:304:124:2400::/56 ... => unhashed The high order bits of the addresses (up to the threshold) are used to compute the hash key. Signed-off-by: Christophe Gouault <christophe.gouault@xxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit 5a82067f013fb4f5083fabf4d28f4d1bbada8734 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Sep 2 08:47:31 2014 +0800 regulator: rk808: Fix n_voltages for DCDC4 The min_sel is 0, max_sel is 15, so n_voltages should be 16. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cdc67fa9415ff37d9970729c7a8d5c8911c1d204 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:54:37 2014 +0900 spi: xtensa-xtfpga: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Max Filippov <jcmvbkbc@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 175a3edcfdc4f25c53f265227c4e810ab2de80b5 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Tue Sep 2 11:50:13 2014 +0900 spi: ep93xx: Fix checkpatch issue Fix the following checkpatch warnings. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2c6fddd061d948733c8c417a9fc11b671b5499b6 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Fri Jun 6 17:37:06 2014 +0800 ARM: at91/sama5_defconfig: enable sound support Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 7df3077b34840d50b42dbe077ad7172e409620ea Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Fri Jun 6 17:37:05 2014 +0800 ARM: at91/at91_dt_defconfig: enable sound support As sound support depends on ssc, i2c and dma, so also enable them. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e68885e24ad1a2d7d4ad6df04cbc9b623bd1d0b9 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Tue Sep 2 00:37:13 2014 -0300 gpu: ipu-v3: ipu-smfc: Do not leave DEBUG defined Let's only define DEBUG for debugging purpose and not by default to avoid printing debugging message unnecessarily. Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit a198420028bb6ddb1930dddc3602a3e9b4803ed5 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Fri Aug 29 14:39:19 2014 +0200 pinctrl: sh-pfc: use a saner Kconfig symbol There is currently a kludge to get the Makefile to move down to sh-pfc:s drivers: the arch definitions are used twice to get it done. However we can very well use the Kconfig symbol for the SH PFC pin control feature itself: it doesn't matter that it comes from a lower leaf in the Kconfig hierarchy which is completely orthogonal. Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0752e169ba523e35f70d2fee4d06680b33e0e202 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Mon Jun 2 15:17:54 2014 +0200 gpio: adnp: switch to use irqchip helpers This switches the ADNP GPIO driver to use the gpiolib irqchip helpers. Also do some random refactoring to make it look like most other GPIO drivers. Cc: Roland Stigge <stigge@xxxxxxxxx> Cc: Lars Poeschel <poeschel@xxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e4946cdcabcffd4814e153e71d28884b94c65e9e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 3 10:38:18 2014 +0800 gpu: ipu-v3: Return proper error on ipu_add_client_devices error path Avoid returning an uninitialized variable in the error path. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit b6c044a3d881c1b01fe0220ad76e548ea5d79b1c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 3 10:36:59 2014 +0800 gpu: ipu-v3: Select GENERIC_IRQ_CHIP to fix build error This driver uses GENERIC_IRQ_CHIP, so it needs to select GENERIC_IRQ_CHIP to avoid build error. Fixes below build errors: ERROR: "irq_alloc_domain_generic_chips" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! ERROR: "irq_gc_mask_clr_bit" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! ERROR: "irq_gc_mask_set_bit" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! ERROR: "irq_generic_chip_ops" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! ERROR: "irq_gc_ack_set_bit" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! ERROR: "irq_get_domain_generic_chip" [drivers/gpu/ipu-v3/imx-ipu-v3.ko] undefined! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit d6b9302f79783dc79a5a1f99efb2f727316004b4 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Apr 30 23:26:41 2014 -0700 ARM: at91: add MTD_SPI_NOR (new dependency for M25P80) This defconfig contains the CONFIG_M25P80 symbol, which is now dependent on the MTD_SPI_NOR symbol. Add CONFIG_MTD_SPI_NOR to satisfy the new dependency. At the same time, drop the now-nonexistent CONFIG_MTD_CHAR symbol. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Andrew Victor <linux@xxxxxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d24cd78399a3625a69887c8124638260c1c37a2b Author: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Date: Tue Aug 12 16:37:57 2014 +0200 ARM: at91: sama5d3: add usart dma configurations Add the DMA configuration for USARTs mainly because it is not obvious to add the FIFO flag which is needed for rx. Signed-off-by: Ludovic Desroches <ludovic.desroches@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e556f111847f94557ce7d5d9435e183783839f63 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 28 12:58:17 2014 +0200 ath10k: stop monitor vdev for sta assoc This prevents some fw revisions from crashing in many cases when user is trying to run a promiscuous station interface (e.g. sniffing, 4addr bridge). Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 1933747f5c29d38936cb53f35b4d8070f1cbefe2 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 28 12:58:16 2014 +0200 ath10k: fix monitor start/stop sequences Fix some cases where monitor start failure left the driver in a confused state. This also makes the monitor code simpler. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2139627172429baee9d62696c6923ce5dc7052bc Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 28 10:24:40 2014 +0200 ath10k: kill tasklets after free_irq Commit 5c771e7454d148af35e8b4297d00f880de79ea49 introduced a regression. On some systems spurious interrupts could schedule a tasklet while tearing down leading to, e.g.: BUG: unable to handle kernel paging request at fe589030 IP: [<c1316fb0>] ioread32+0x30/0x40 ... Call Trace: [<fe576c1b>] ath10k_pci_tasklet+0x1b/0x60 [ath10k_pci] [<c1053fbe>] tasklet_action+0x9e/0xb0 [<c10534f1>] __do_softirq+0xf1/0x3f0 [<c1053400>] ? ftrace_raw_event_irq_handler_entry+0xa0/0xa0 [<c1004999>] do_softirq_own_stack+0x29/0x40 <IRQ> [<c1053a76>] irq_exit+0x86/0xb0 ... [<c132d522>] do_pci_disable_device+0x52/0x60 [<c132d57f>] pci_disable_device+0x4f/0xb0 [<c132a961>] ? __pci_set_master+0x51/0x80 [<fe5740b3>] ath10k_pci_release+0x33/0x40 [ath10k_pci] [<fe575d4b>] ath10k_pci_remove+0x7b/0x90 [ath10k_pci] Reported-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Tested-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a4841eb6392e14a5070e633de30637342f6578d2 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 28 09:59:39 2014 +0200 ath10k: fix num_legacy_stations tracking If a station was reassociated, i.e. due to change of supported rates update via sta_rc_update() the num_legacy_stations would be (incorrectly) bumped up leading to unbalanced usage of the var. This in turn could lock rtscts protection up as enabled. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit e75db4e3685f79e4d9426499565e56e347a9bd25 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 28 22:14:16 2014 +0300 ath10k: re-enable interrupts properly in hw recovery Recent changes done to start/restart sequences broke hw recovery in some hw configurations. The pci transport was stopped twice however due to a workaround in the pci disabling code the disable/enable for first msi interrupt was not balanced. This ended up with irqs not being properly re-enabled and the following print out during recovery: ath10k: failed to receive control response completion, polling.. ath10k: Service connect timeout: -110 ath10k: Could not init core: -110 Legacy interrupt mode was unaffected while msi ranged mode would be partially crippled (it would miss fw indication interrupts but otherwise it worked fine). This fixes completely broken fw recovery for a single msi interrupt mode and fixes subsequent fw crash reports for msi range interrupt mode. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f4ce6eca71d15b8e12a33ac8e1ef733a83944d2e Author: Borislav Petkov <bp@xxxxxxx> Date: Wed Aug 13 23:27:55 2014 +0200 EDAC: Fix mem_types strings type This one got forgotten during an earlier cleanup. Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 364a9e93243d1785f310c0964af0e24bf1adac03 Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Sun Aug 31 21:30:27 2014 -0400 sock: deduplicate errqueue dequeue sk->sk_error_queue is dequeued in four locations. All share the exact same logic. Deduplicate. Also collapse the two critical sections for dequeue (at the top of the recv handler) and signal (at the bottom). This moves signal generation for the next packet forward, which should be harmless. It also changes the behavior if the recv handler exits early with an error. Previously, a signal for follow-up packets on the errqueue would then not be scheduled. The new behavior, to always signal, is arguably a bug fix. For rxrpc, the change causes the same function to be called repeatedly for each queued packet (because the recv handler == sk_error_report). It is likely that all packets will fail for the same reason (e.g., memory exhaustion). This code runs without sk_lock held, so it is not safe to trust that sk->sk_err is immutable inbetween releasing q->lock and the subsequent test. Introduce int err just to avoid this potential race. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8fe2f761cae9da9f9031162f104164a812ce78ab Author: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Sun Aug 31 21:27:47 2014 -0400 net-timestamp: expand documentation Expand Documentation/networking/timestamping.txt with new interfaces and bytestream timestamping. Also minor cleanup of the other text. Import txtimestamp.c test of the new features. Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c5a65680b3c29ddf8f4a0bfb4ba75ea230735a38 Merge: 52aec12 72297c5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 1 21:36:35 2014 -0700 Merge branch 'csums-next' Tom Herbert says: ==================== net: Checksum offload changes - Part VI I am working on overhauling RX checksum offload. Goals of this effort are: - Specify what exactly it means when driver returns CHECKSUM_UNNECESSARY - Preserve CHECKSUM_COMPLETE through encapsulation layers - Don't do skb_checksum more than once per packet - Unify GRO and non-GRO csum verification as much as possible - Unify the checksum functions (checksum_init) - Simplify code What is in this seventh patch set: - Add skb->csum. This allows a device or GRO to indicate that an invalid checksum was detected. - Checksum unncessary to checksum complete conversions. With these changes, I believe that the third goal of the overhaul is now mostly achieved. In the case of no encapsulation or one layer of encapsulation, there should only be at most one skb_checksum over each packet (between GRO and normal path). In the case of two layers of encapsulation, it is still possible with the right combination of non-zero and zero UDP checksums to have >1 skb_checksum. For instance: IP>GRE(with csum)>IP>UDP(zero csum)>VXLAN>IP>UDP(non-zero csum), would likely necessiate an skb_checksum in GRO and normal path. This doesn't seem like a common scenario at all so I'm inclined to not address this now, if multiple layers of encapsulation becomes popular we can reassess. Note that checksum conversion shows a nice improvement for RX VXLAN when outer UDP checksum is enabled (12.65% CPU compared to 20.94%). This is not only from the fact that we don't need checksum calculation on the host, but also allows GRO for VXLAN in this case. Checksum conversion does not help send side (which still needs to perform a checksum on host). For that we will implement remote checksum offload in a later patch (http://tools.ietf.org/html/draft-herbert-remotecsumoffload-00). Please review carefully and test if possible, mucking with basic checksum functions is always a little precarious :-) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72297c59f7188d12f24daee1877e7dcca787cf1f Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:46 2014 -0700 l2tp: Enable checksum unnecessary conversions for l2tp/UDP sockets Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c60c308cbd0e672eabaaa544216f79d8bb3e707b Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:45 2014 -0700 vxlan: Enable checksum unnecessary conversions for vxlan/UDP sockets Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 884d338c041c2aa4536ade8620efa585e7c57f3c Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:44 2014 -0700 gre: Add support for checksum unnecessary conversions Call skb_checksum_try_convert and skb_gro_checksum_try_convert after checksum is found present and validated in the GRE header for normal and GRO paths respectively. In GRO path, call skb_gro_checksum_try_convert Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2abb7cdc0dc84e99b76ef983a1ae1978922aa9b3 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:43 2014 -0700 udp: Add support for doing checksum unnecessary conversion Add support for doing CHECKSUM_UNNECESSARY to CHECKSUM_COMPLETE conversion in UDP tunneling path. In the normal UDP path, we call skb_checksum_try_convert after locating the UDP socket. The check is that checksum conversion is enabled for the socket (new flag in UDP socket) and that checksum field is non-zero. In the UDP GRO path, we call skb_gro_checksum_try_convert after checksum is validated and checksum field is non-zero. Since this is already in GRO we assume that checksum conversion is always wanted. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d96535a17dbbafd567961d14c08c0984ddda9c3c Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:42 2014 -0700 net: Infrastructure for checksum unnecessary conversions For normal path, added skb_checksum_try_convert which is called to attempt to convert CHECKSUM_UNNECESSARY to CHECKSUM_COMPLETE. The primary condition to allow this is that ip_summed is CHECKSUM_NONE and csum_valid is true, which will be the state after consuming a CHECKSUM_UNNECESSARY. For GRO path, added skb_gro_checksum_try_convert which is the GRO analogue of skb_checksum_try_convert. The primary condition to allow this is that NAPI_GRO_CB(skb)->csum_cnt == 0 and NAPI_GRO_CB(skb)->csum_valid is set. This implies that we have consumed all available CHECKSUM_UNNECESSARY checksums in the GRO path. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a21232983aa7acfe7fd26170832a9e0a4a7b4ae Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Sun Aug 31 15:12:41 2014 -0700 net: Support for csum_bad in skbuff This flag indicates that an invalid checksum was detected in the packet. __skb_mark_checksum_bad helper function was added to set this. Checksums can be marked bad from a driver or the GRO path (the latter is implemented in this patch). csum_bad is checked in __skb_checksum_validate_complete (i.e. calling that when ip_summed == CHECKSUM_NONE). csum_bad works in conjunction with ip_summed value. In the case that ip_summed is CHECKSUM_NONE and csum_bad is set, this implies that the first (or next) checksum encountered in the packet is bad. When ip_summed is CHECKSUM_UNNECESSARY, the first checksum after the last one validated is bad. For example, if ip_summed == CHECKSUM_UNNECESSARY, csum_level == 1, and csum_bad is set-- then the third checksum in the packet is bad. In the normal path, the packet will be dropped when processing the protocol layer of the bad checksum: __skb_decr_checksum_unnecessary called twice for the good checksums changing ip_summed to CHECKSUM_NONE so that __skb_checksum_validate_complete is called to validate the third checksum and that will fail since csum_bad is set. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52aec126c42819899793b9ffbd3f2e25705ba096 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Tue Sep 2 10:27:52 2014 +0800 r8152: rename rx_buf_sz The variable "rx_buf_sz" is used by both tx and rx buffers. Replace it with "agg_buf_sz". Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4559154a58fdb18939dda8f1691a2aecf9154166 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 29 12:43:56 2014 -0700 net: phy: mdio-bcm-unimac: NULL-terminate unimac_mdio_ids drivers/net/phy/mdio-bcm-unimac.c:195:37-38: unimac_mdio_ids is not NULL terminated at line 195 Make sure of_device_id tables are NULL terminated Generated by: scripts/coccinelle/misc/of_table.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 61b7363ffa48b36e2ff086c2d2524e40d3766571 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 29 12:42:07 2014 -0700 net: dsa: make dsa_pack_type static net/dsa/dsa.c:624:20: sparse: symbol 'dsa_pack_type' was not declared. Should it be static? Fixes: 3e8a72d1dae374 ("net: dsa: reduce number of protocol hooks") Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eb68d0e2fc5a4e5c06324ea5f485fccbae626d05 Author: Zheng Liu <wenqing.lz@xxxxxxxxxx> Date: Mon Sep 1 22:26:49 2014 -0400 ext4: track extent status tree shrinker delay statictics This commit adds some statictics in extent status tree shrinker. The purpose to add these is that we want to collect more details when we encounter a stall caused by extent status tree shrinker. Here we count the following statictics: stats: the number of all objects on all extent status trees the number of reclaimable objects on lru list cache hits/misses the last sorted interval the number of inodes on lru list average: scan time for shrinking some objects the number of shrunk objects maximum: the inode that has max nr. of objects on lru list the maximum scan time for shrinking some objects The output looks like below: $ cat /proc/fs/ext4/sda1/es_shrinker_info stats: 28228 objects 6341 reclaimable objects 5281/631 cache hits/misses 586 ms last sorted interval 250 inodes on lru list average: 153 us scan time 128 shrunk objects maximum: 255 inode (255 objects, 198 reclaimable) 125723 us max scan time If the lru list has never been sorted, the following line will not be printed: 586ms last sorted interval If there is an empty lru list, the following lines also will not be printed: 250 inodes on lru list ... maximum: 255 inode (255 objects, 198 reclaimable) 0 us max scan time Meanwhile in this commit a new trace point is defined to print some details in __ext4_es_shrink(). Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Zheng Liu <wenqing.lz@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit e963bb1de415ab06693357336c1bec664753e1e2 Author: Zheng Liu <wenqing.lz@xxxxxxxxxx> Date: Mon Sep 1 22:22:13 2014 -0400 ext4: improve extents status tree trace point This commit improves the trace point of extents status tree. We rename trace_ext4_es_shrink_enter in ext4_es_count() because it is also used in ext4_es_scan() and we can not identify them from the result. Further this commit fixes a variable name in trace point in order to keep consistency with others. Cc: Andreas Dilger <adilger.kernel@xxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> Signed-off-by: Zheng Liu <wenqing.lz@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit d91bd2c1d78d8d22f9f721aae84650a08239b509 Author: Seunghun Lee <waydi1@xxxxxxxxx> Date: Mon Sep 1 22:15:30 2014 -0400 ext4: fix comments about get_blocks get_blocks is renamed to get_block. Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 45f1a9c3f63db3d4562c16062a51740801fbd88c Author: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Date: Mon Sep 1 21:34:09 2014 -0400 ext4: enable block_validity by default Enable by default the block_validity feature, which checks for collisions between newly allocated blocks and critical system metadata. Signed-off-by: Darrick J. Wong <darrick.wong@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 0f23124aaacd68e11271f72a13f3a8e8904c26d3 Author: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Date: Wed Aug 27 16:06:46 2014 +0200 bonding: add slave_changelink support and use it for queue_id This patch adds support for slave_changelink to the bonding and uses it to give the ability to change the queue_id of the enslaved devices via netlink. It sets slave_maxtype and uses bond_changelink as a prototype for bond_slave_changelink. Example/test command after the iproute2 patch: ip link set eth0 type bond_slave queue_id 10 CC: David S. Miller <davem@xxxxxxxxxxxxx> CC: Jay Vosburgh <j.vosburgh@xxxxxxxxx> CC: Veaceslav Falico <vfalico@xxxxxxxxx> CC: Andy Gospodarek <andy@xxxxxxxxxxxxx> Suggested-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: Nikolay Aleksandrov <nikolay@xxxxxxxxxx> Acked-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 88fe1acb5bedfcba5f42fcdf165493ee587ba643 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 21:26:09 2014 -0400 jbd2: fold __wait_cp_io into jbd2_log_do_checkpoint() __wait_cp_io() is only called by jbd2_log_do_checkpoint(). Fold it in to make it a bit easier to understand. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 40c488df84f9fbf4b84b4baed6e2cec4a2d946ed Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:21:56 2014 +0200 ARM: shmobile: kzm9g-reference dts: Use tabs for indentation Checkpatch says: ERROR: code indent should use tabs where possible Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 99e544c782ba03855b9b6762b73915565065dbf8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:21:55 2014 +0200 ARM: shmobile: r8a7779 dtsi: Use tabs for indentation Checkpatch says: ERROR: code indent should use tabs where possible Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit be1158cc615fd723552f0d9912087423c7cadda5 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 21:19:01 2014 -0400 jbd2: fold __process_buffer() into jbd2_log_do_checkpoint() __process_buffer() is only called by jbd2_log_do_checkpoint(), and it had a very complex locking protocol where it would be called with the j_list_lock, and sometimes exit with the lock held (if the return code was 0), or release the lock. This was confusing both to humans and to smatch (which erronously complained that the lock was taken twice). Folding __process_buffer() to the caller allows us to simplify the control flow, making the resulting function easier to read and reason about, and dropping the compiled size of fs/jbd2/checkpoint.c by 150 bytes (over 4% of the text size). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Reviewed-by: Jan Kara <jack@xxxxxxx> commit 688d1945bc89bd585ec67b5b83121f499e6290bb Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 29 23:32:05 2014 -0700 tcp: whitespace fixes Fix places where there is space before tab, long lines, and awkward if(){, double spacing etc. Add blank line after declaration/initialization. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d09d3038a336cbab6bde616ce44266c36c214f81 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Thu Aug 28 15:11:03 2014 -0700 net: systemport: tell RXCHK if we are using Broadcom tags When Broadcom tags are enabled, e.g: when interfaced to an Ethernet switch, make sure that we tell the RXCHK engine that it should be expecting a 4-bytes Broadcom tag after the Ethernet MAC Source Address. Use netdev_uses_dsa() to check for that condition since that will tell us if a switch is attached to our network interface. Fixes: 80105befdb4b ("net: systemport: add Broadcom SYSTEMPORT Ethernet MAC driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit afb84b6261841f8ab387e267e748236fa805bea0 Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Thu Aug 28 18:14:47 2014 +0200 pktgen: add flag NO_TIMESTAMP to disable timestamping Then testing the TX limits of the stack, then it is useful to be-able to disable the do_gettimeofday() timetamping on every packet. This implements a pktgen flag NO_TIMESTAMP which will disable this call to do_gettimeofday(). The performance change on (my system E5-2695) with skb_clone=0, goes from TX 2,423,751 pps to 2,567,165 pps with flag NO_TIMESTAMP. Thus, the cost of do_gettimeofday() or saving is approx 23 nanosec. Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1174c712afa2779fad54b86b3569f40fab78c0c2 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Aug 28 12:35:09 2014 +0900 ARM: shmobile: r8a7740: Add restart callback Port the r8a7740 restart handling from the Armadillo code to the r8a7740 generic multiplatform case. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit cc9517d52fbf4b6e8baf0254f90b47bc1a5d90bb Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Aug 28 12:35:01 2014 +0900 ARM: shmobile: armadillo800eva: Build DTS for multiplatform Build the r8a7740 Armadillo800EVA board DTB in case of Multiplatform. The DT reference case will be removed and can be ignored for now. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 25aa7ba3fdfbfcb48e13c1b7d008bd9e2ca9fa82 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Aug 28 12:34:51 2014 +0900 ARM: shmobile: armadillo800eva: Sync DTS Take the contents from the Armadillo800EVA DT reference DTS and add them to the "regular" Armadillo800EVA DTS. This is preparation for removal of the DT reference DTS. So the goal is to have a single DTS for this Armadillo board. The SoC "r8a7740" is added to compatible string but the board is left as-is (excluding the reference suffix). The kernel command line is left as-is, earlyprintk is used in case of legacy and for multiplatform we can simply ignore it for now. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c41215b781efbfa22ffc9dc474c2981c130c153d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:36:53 2014 +0900 ARM: shmobile: r8a7740: Multiplatform support Enable r8a7740 Multiplatform support for the generic r8a7740 machine vector. No board support is enabled, and the board code for Armadillo 800 EVA DT Reference is left by itself. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 05f8461bf746660ea725f922cfae9af66be1f79f Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Thu Aug 28 16:54:24 2014 +0300 bnx2x: fix tunneled GSO over IPv6 Set correct bit for packed description. Introduced in e42780b66aab88d3a82b6087bcd6095b90eecde7 bnx2x: Utilize FW 7.10.51 Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 55ef5c89db81aabf2c3802de830774feb7eb8b22 Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Thu Aug 28 16:54:23 2014 +0300 bnx2x: prevent incorrect byte-swap in BE Fixes incorrectly defined struct in FW HSI for BE platform. Affects tunneling, tx-switching and anti-spoofing. Introduced in e42780b66aab88d3a82b6087bcd6095b90eecde7 bnx2x: Utilize FW 7.10.51 Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a5325ae5b8bff051933a754db7727fc9823e6414 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Aug 28 09:08:47 2014 +0200 tipc: add name distributor resiliency queue TIPC name table updates are distributed asynchronously in a cluster, entailing a risk of certain race conditions. E.g., if two nodes simultaneously issue conflicting (overlapping) publications, this may not be detected until both publications have reached a third node, in which case one of the publications will be silently dropped on that node. Hence, we end up with an inconsistent name table. In most cases this conflict is just a temporary race, e.g., one node is issuing a publication under the assumption that a previous, conflicting, publication has already been withdrawn by the other node. However, because of the (rtt related) distributed update delay, this may not yet hold true on all nodes. The symptom of this failure is a syslog message: "tipc: Cannot publish {%u,%u,%u}, overlap error". In this commit we add a resiliency queue at the receiving end of the name table distributor. When insertion of an arriving publication fails, we retain it in this queue for a short amount of time, assuming that another update will arrive very soon and clear the conflict. If so happens, we insert the publication, otherwise we drop it. The (configurable) retention value defaults to 2000 ms. Knowing from experience that the situation described above is extremely rare, there is no risk that the queue will accumulate any large number of items. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f4ad8a4b8b9f490a15c3239e0d6ac99e7e438d34 Author: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Date: Thu Aug 28 09:08:46 2014 +0200 tipc: refactor name table updates out of named packet receive routine We need to perform the same actions when processing deferred name table updates, so this functionality is moved to a separate function. Signed-off-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Acked-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1764bcd9fe0fa075b3c847836b646c386f7a672b Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Thu Aug 28 10:24:18 2014 +0800 r8152: reduce the number of Tx Because the Tx has the features of stopping queue and aggregation, We don't need many tx buffers. Change the tx number from 10 to 4 to reduce the usage of the memory. This could save 16K * 6 bytes memory. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e8e8a9b0d86c093b208789fd71501c91a919ffdb Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Wed Aug 27 17:11:38 2014 -0700 clk: mvebu: powersave clock is a multiplexer Kirkwood is unique among the mvebu SoCs for having a clock multiplexer that feeds into the cpu. This multiplexer can select either the cpu pll or the ddr clock as its input signal, allowing for a choice between performance and power savings. This patch introduces the code needed to register the clock multiplexer on Kirkwood SoCs but does not include the clock data to actually register the clock. That will be done in a follow-up patch which is necessary to prevent breaking git bisect. Cc: Tomeu Vizoso <tomeu.vizoso@xxxxxxxxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 87e392164ab6c0f3f055f8483dc7dc3f1afa19ad Author: Mike Turquette <mturquette@xxxxxxxxxx> Date: Wed Aug 27 15:36:37 2014 -0700 clk: mvebu: share locks between gate clocks Refactor mvebu_clk_gating_setup() to use a common spinlock instead of a unique lock for every instance of a struct clk_gating_ctrl object. This will be used later for a separate mux clock type that shares a register with gate clock types and needs to use the same lock to protect access to the register. Cc: Andrew Lunn <andrew@xxxxxxx> Tested-by: Andrew Lunn <andrew@xxxxxxx> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx> commit 53fda7f7f9e88fa9015b2cdabebfaf5477a28241 Merge: dace1b5 8dcda22 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 1 17:40:01 2014 -0700 Merge branch 'xmit_list' David Miller says: ==================== net: Make dev_hard_start_xmit() work fundamentally on lists After this patch set, dev_hard_start_xmit() will work fundemantally on any and all SKB lists. This opens the path for a clean implementation of pulling multiple packets out during qdisc_restart(), and then passing that blob in one shot to dev_hard_start_xmit(). There were two main architectural blockers to this: 1) The GSO handling, we kept the original GSO head SKB around simply because dev_hard_start_xmit() had no way to communicate to the caller how far into the segmented list it was able to go. Now it can, so the head GSO can be liberated immediately. All of the special GSO head SKB destructor et al. handling goes away too. 2) Validate of VLAN, CSUM, and segmentation characteristics was being performed inside of dev_hard_start_xmit(). If want to truly batch, we have to let the higher levels to this. In particular, this is now dequeue_skb()'s job. And with those two issues out of the way, it should now be trivial to build experiments on top of this patch set, all of the framework should be there now. You could do something as simple as: skb = q->dequeue(q); if (skb) skb = validate_xmit_skb(skb, qdisc_dev(q)); if (skb) { struct sk_buff *new, *head = skb; int limit = 5; do { new = q->dequeue(q); if (new) new = validate_xmit_skb(new, qdisc_dev(q)); if (new) { skb->next = new; skb = new; } } while (new && --limit); skb = head; } inside of the else branch of dequeue_skb(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8dcda22a5d0abaf347b21b057655f3809b91639d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Sep 1 15:06:40 2014 -0700 net: xmit_list() becomes dev_hard_start_xmit(). Now fundamentally we can process lists of SKBs as cheaply as single packets. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce93718fb7cdbc064c3000ff59e4d3200bdfa744 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 30 19:22:20 2014 -0700 net: Don't keep around original SKB when we software segment GSO frames. Just maintain the list properly by returning the head of the remaining SKB list from dev_hard_start_xmit(). Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50cbe9ab5f8d92d2d4a327b56e96559d8f63a1fa Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 30 19:13:51 2014 -0700 net: Validate xmit SKBs right when we pull them out of the qdisc. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eae3f88ee44251bcca3a085f9565257c6f9f9e69 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 30 15:17:13 2014 -0700 net: Separate out SKB validation logic from transmit path. dev_hard_start_xmit() does two things, it first validates and canonicalizes the SKB, then it actually sends it. Make a set of helper functions for doing the first part. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 95f6b3dda2a4a052f7dabe9998e4ffac491b7bc2 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 21:57:30 2014 -0700 net: Have xmit_list() signal more==true when appropriate. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa2dbdc253c2aee2a760c64de454cb62469ec11d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 21:55:22 2014 -0700 net: Pass a "more" indication down into netdev_start_xmit() code paths. For now it will always be false. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 7f2e870f2a48a0524a3b03b04fa019311d16a7f7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 21:19:14 2014 -0700 net: Move main gso loop out of dev_hard_start_xmit() into helper. There is a slight policy change happening here as well. The previous code would drop the entire rest of the GSO skb if any of them got, for example, a congestion notification. That makes no sense, anything NET_XMIT_MASK and below is something like congestion or policing. And in the congestion case it doesn't even mean the packet was actually dropped. Just continue until dev_xmit_complete() evaluates to false. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ea255137555052655c6a646c4e48ea7481494c7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 21:10:01 2014 -0700 net: Create xmit_one() helper for dev_hard_start_xmit() Hopefully making the code a bit easier to read and digest. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10b3ad8c21bb4b135768c30dd4c51a1c744da699 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 21:07:24 2014 -0700 net: Do txq_trans_update() in netdev_start_xmit() That way we don't have to audit every call site to make sure it is doing this properly. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 13298fbbdb3f6a0ef55419dc048e064c7a7b0ef8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:28:09 2014 +0200 ARM: shmobile: r8a7791 is now called "R-Car M2-W" As per recent revisions of the datasheet. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0cdc23df6e4014a6dafe351da436dcc453f203b1 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:45:50 2014 +0900 ARM: shmobile: Consolidate Legacy SH_CLK_CPG Kconfig Consolidate SH_CLK_CPG under ARCH_SHMOBILE_LEGACY so it can be shared by the legacy ARM mach-shmobile support code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0ed82bc9895daad86966d53e561330929774f92d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:45:41 2014 +0900 ARM: shmobile: Consolidate Legacy CPU_V7 Kconfig Consolidate CPU_V7 under ARCH_SHMOBILE_LEGACY so it can be shared by the legacy ARM mach-shmobile support code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 46bff9db49d7995f824add28122e2a694d54d6de Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:36:44 2014 +0900 ARM: shmobile: Only select PM_RMOBILE for legacy case Adjust the ARM mach-shmobile Kconfig bits to only select PM_RMOBILE in case of legacy. This allows us to enable partial multiplatform support for various SoCs before Power Domains DT bindings are finalized. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit abebbc4a026d8cdceb9f65c497b3db445c8ff5e7 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:04:01 2014 +0900 ARM: shmobile: Cleanup pm-rmobile.o build using Kconfig Add a CONFIG_PM_RMOBILE entry and enable it for R-Mobile SoCs in case CONFIG_PM is set. Consolidate Makefile power management objects and get rid of #ifdefs in the C code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1a950ca536dd5c40167ef58951e738ae430fa96d Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:03:52 2014 +0900 ARM: shmobile: Cleanup pm-rcar.o build using Kconfig Add a CONFIG_PM_RCAR entry and enable it for R-Car Generation 1 or 2 in case CONFIG_PM or CONFIG_SMP is set. Consolidate power management objects and get rid of #ifdefs in the C code. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0d91843346049d3131c2f75ff21d6b405cb68741 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:03:43 2014 +0900 ARM: shmobile: Introduce a Kconfig entry for R-Car Gen2 Add a Kconfig entry for R-Car Generation 2 SoCs that enables CMT timer and the IRQC interrupt driver. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 57cc67d1422ebee313a62ff7b30981d945728094 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:03:34 2014 +0900 ARM: shmobile: Introduce a Kconfig entry for R-Car Gen1 Add a Kconfig entry for R-Car Generation 1 SoCs that enables TMU timer and the INTC IRQPIN driver. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5784b195e4c88374764d0961977e03f55f3618cb Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Mon Aug 25 12:03:25 2014 +0900 ARM: shmobile: Introduce a Kconfig entry for R-Mobile Add a Kconfig entry for R-Mobile SoCs that enables both CMT and TMU timers. Interrupt controller varies with SoC version so it is excluded. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ed8a1a766af7371bfbe41857a3a11496b4165143 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:43:09 2014 -0400 ext4: rename ext4_ext_find_extent() to ext4_find_extent() Make the function name less redundant. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 3bdf14b4d7a3a7416577e9f9f421dbf29b5b6747 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:42:09 2014 -0400 ext4: reuse path object in ext4_move_extents() Reuse the path object in ext4_move_extents() so we don't unnecessarily free and reallocate it. Also clean up the get_ext_path() wrapper so that it has the same semantics of freeing the path object on error as ext4_ext_find_extent(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit ee4bd0d963b75cbad9bfb59b547146671c7a655a Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:41:09 2014 -0400 ext4: reuse path object in ext4_ext_shift_extents() Now that the semantics of ext4_ext_find_extent() are much cleaner, it's safe and more efficient to reuse the path object across the multiple calls to ext4_ext_find_extent() in ext4_ext_shift_extents(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 10809df84a4d868db61af621bae3658494165279 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:40:09 2014 -0400 ext4: teach ext4_ext_find_extent() to realloc path if necessary This adds additional safety in case for some reason we end reusing a path structure which isn't big enough for current depth of the inode. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit b7ea89ad0a6b855172158a999d3f5008403f4011 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:39:09 2014 -0400 ext4: allow a NULL argument to ext4_ext_drop_refs() Teach ext4_ext_drop_refs() to accept a NULL argument, much like kfree(). This allows us to drop a lot of checks to make sure path is non-NULL before calling ext4_ext_drop_refs(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 523f431ccfffd3022e80e13befb9594f54b5607e Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:38:09 2014 -0400 ext4: call ext4_ext_drop_refs() from ext4_ext_find_extent() In nearly all of the calls to ext4_ext_find_extent() where the caller is trying to recycle the path object, ext4_ext_drop_refs() gets called to release the buffer heads before the path object gets overwritten. To simplify things for the callers, and to avoid the possibility of a memory leak, make ext4_ext_find_extent() responsible for dropping the buffers. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit dfe5080939ea4686b3414b5d970a9b26733c57a4 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:37:09 2014 -0400 ext4: drop EXT4_EX_NOFREE_ON_ERR from rest of extents handling code Drop EXT4_EX_NOFREE_ON_ERR from ext4_ext_create_new_leaf(), ext4_split_extent(), ext4_convert_unwritten_extents_endio(). This requires fixing all of their callers to potentially ext4_ext_find_extent() to free the struct ext4_ext_path object in case of an error, and there are interlocking dependencies all the way up to ext4_ext_map_blocks(), ext4_swap_extents(), and ext4_ext_remove_space(). Once this is done, we can drop the EXT4_EX_NOFREE_ON_ERR flag since it is no longer necessary. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 4f224b8b7be6856a3ceaf7f9d9c1860d467174ae Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:36:09 2014 -0400 ext4: drop EXT4_EX_NOFREE_ON_ERR in convert_initialized_extent() Transfer responsibility of freeing struct ext4_ext_path on error to ext4_ext_find_extent(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit e8b83d9303317fb068ad83d87991b610fe990ed5 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:35:09 2014 -0400 ext4: collapse ext4_convert_initialized_extents() The function ext4_convert_initialized_extents() is only called by a single function --- ext4_ext_convert_initalized_extents(). Inline the code and get rid of the unnecessary bits in order to simplify the code. Rename ext4_ext_convert_initalized_extents() to convert_initalized_extents() since it's a static function that is actually only used in a single caller, ext4_ext_map_blocks(). Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 705912ca95f4bbdbb3be753e46bf30d6be15a5e8 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:34:09 2014 -0400 ext4: teach ext4_ext_find_extent() to free path on error Right now, there are a places where it is all to easy to leak memory on an error path, via a usage like this: struct ext4_ext_path *path = NULL while (...) { ... path = ext4_ext_find_extent(inode, block, path, 0); if (IS_ERR(path)) { /* oops, if path was non-NULL before the call to ext4_ext_find_extent, we've leaked it! :-( */ ... return PTR_ERR(path); } ... } Unfortunately, there some code paths where we are doing the following instead: path = ext4_ext_find_extent(inode, block, orig_path, 0); and where it's important that we _not_ free orig_path in the case where ext4_ext_find_extent() returns an error. So change the function signature of ext4_ext_find_extent() so that it takes a struct ext4_ext_path ** for its third argument, and by default, on an error, it will free the struct ext4_ext_path, and then zero out the struct ext4_ext_path * pointer. In order to avoid causing problems, we add a flag EXT4_EX_NOFREE_ON_ERR which causes ext4_ext_find_extent() to use the original behavior of forcing the caller to deal with freeing the original path pointer on the error case. The goal is to get rid of EXT4_EX_NOFREE_ON_ERR entirely, but this allows for a gentle transition and makes the patches easier to verify. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit bd30d702fc320085f178d22866b32fdc4736c991 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:33:09 2014 -0400 ext4: fix accidental flag aliasing in ext4_map_blocks flags Commit b8a8684502a0f introduced an accidental flag aliasing between EXT4_EX_NOCACHE and EXT4_GET_BLOCKS_CONVERT_UNWRITTEN. Fortunately, this didn't introduce any untorward side effects --- we got lucky. Nevertheless, fix this and leave a warning to hopefully avoid this from happening in the future. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 713e8dde3e71e92db2d8cc8459d236ce1fb576ce Author: Theodore Ts'o <tytso@xxxxxxx> Date: Mon Sep 1 14:32:09 2014 -0400 ext4: fix ZERO_RANGE bug hidden by flag aliasing We accidently aliased EXT4_EX_NOCACHE and EXT4_GET_CONVERT_UNWRITTEN falgs, which apparently was hiding a bug that was unmasked when this flag aliasing issue was addressed (see the subsequent commit). The reproduction case was: fsx -N 10000 -l 500000 -r 4096 -t 4096 -w 4096 -Z -R -W /vdb/junk ... which would cause fsx to report corruption in the data file. The fix we have is a bit of an overkill, but I'd much rather be conservative for now, and we can optimize ZERO_RANGE_FL handling later. The fact that we need to zap the extent_status cache for the inode is unfortunate, but correctness is far more important than performance. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Cc: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> commit 5f8157309624929e05ece846d3ca8a3a64988378 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 21:59:54 2014 +0200 ARM: at91: remove phy fixup for sama5d3xek boards These board specific delays are now configured through micrel's specific DT bindings (see Documentation/devicetree/bindings/net/micrel-ksz9021.txt). Remove this phy fixup registration from sama5 DT machine file to keep it as generic as possible. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 71e8a328cb4893cdae88ab7653ede1b3d2605ad8 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 21:59:53 2014 +0200 ARM: at91/dt: describe rgmii ethernet phy connected to sama5d3xek boards Add ethernet-phy nodes and specify phy interrupt (connected to pin PB25) and board specific timing configs. Atmel has two different HW designs for its CPU modules: the first one (produced by Embest) is connecting PHYAD[0-2] pins to pull up resistors and the other one (produced by Ronetix) is connecting PHYAD0 to a pull up resistor and PHYAD[1-2] to pull down resistors. As a result, Ronetix design will have its PHY available at address 0x1 and Embest design at 0x7. By defining both phys we're letting the phy core detect the one actually available on the MDIO bus. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Tested-by: Bo Shen <voice.shen@xxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ae70b190fce4a09a969dd69d0bd1c33441e24e60 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 25 10:20:44 2014 +0200 ASoC: ab8500-codec: Revert back to regmap Commit ff795d614bfa ("ASoC: ab8500: Convert register I/O to regmap") initially converted the ab8500 CODEC driver to use regmap rather than legacy ASoC IO. This was reverted though in commit 63e6d43bf80d ("ASoC: ab8500: Revert to using custom I/O functions") since the inital conversion was not working properly. This was presumebly because the SOC_SINGLE_XR_SX controls, which are used by this driver, did not properly support regmap at that point. This has since been fixed in commit 6137a5ca326d ("ASoC: Prepare SOC_SINGLE_XR_SX controls for regmap"). So revert back to regmap again. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 405a72c5e78b5c560c8b2711d4000fa5eb063e1b Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 1 16:11:19 2014 +0200 power: reset: at91-poweroff: fix wakeup status register index The wakeup status is read from Shutdown Status Register and not the SHDW_CR which is the one at address 0. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 94d450edfdc6dab0bb92dcbb06f5ea3244558bf4 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Sep 1 10:26:04 2014 +0200 ARM: at91/power/reset: fix Kconfig "depends on" directive MACH_AT91 doesn't exist so we can't "depend" on it. Fix the typo by using the proper ARCH_AT91 config option. Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit c8260db557389c1fb46eeafb54414b03d9f19e49 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 27 18:06:51 2014 +0200 ARM: at91: fix ramc standby function registration After the for_each_matching_node loop, we end up with a null value for np. Then, of_match_node() is not matching anything and we can't register the standby function and "ramc no standby function available" is printed. Fix that by selecting the first available standby function. For now, at91_pm_set_standby doesn't support multiple different standby functions and no existing SoCs have different RAM controllers. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit eadb0019d206591e34e864b62059b292e157d8fc Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Fri Aug 29 15:12:12 2014 +0800 ASoC: fsl-sai: using 'lsb-first' property instead of 'big-endian-data'. The 'big-endian-data' property is originally used to indicate whether the LSB firstly or MSB firstly will be transmitted to the CODEC or received from the CODEC, and there has nothing relation to the memory data. Generally, if the audio data in big endian format, which will be using the bytes reversion, Here this can only be used to bits reversion. So using the 'lsb-first' instead of 'big-endian-data' can make the code to be readable easier and more easy to understand what this property is used to do. This property used for configuring whether the LSB or the MSB is transmitted first for the fifo data. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 025b78b809134ae710efca7ccf0a84b927ffb7c4 Merge: 855675f 014fd22 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 1 16:36:34 2014 +0100 Merge branch 'topic/fsl' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-fsl-sai commit 13758c528cd3c72e1dde34b0c73be4887773bc91 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sun Aug 31 15:54:14 2014 +0400 ARM: i.MX: Remove i.MX1 ADS board support mx1ads.c can be replaced with devicetree equivalent: imx1-ads.dts, so remove the board file. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 2b10368a5c7dcb8fb2ce43251b1facec01a31a72 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Fri Aug 29 10:22:21 2014 +0800 ARM: dts: vf610-twr: remove useless property for sound card. This was added by: Commit 8128c4f36 ("ARM: dts: vf610-twr: Add simple-card support.") This useless property may cause some confusions for users. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit ee295d7ff442699bb7982f2283f71eabcc16f367 Author: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Date: Mon Sep 1 08:57:20 2014 +0800 ARM: imx: remove imx_scu_standby_enable() With commit c716483c3db1 ("ARM: 8122/1: smp_scu: enable SCU standby support"), the STANDBY bit of SCU is handled by core function scu_enable(). So imx_scu_standby_enable() can be removed now. Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 1ca7070d1d08e71692295ed06c6cb6331ecac3c8 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Aug 23 15:12:09 2014 +0400 ARM: i.MX: Remove Phytec i.MX27 PCM038/PCM970 board files pcm970-baseboard.c and mach-pcm038.c can be replaced with their devicetree equivalents: imx27-phytec-phycore-rdk.dts and imx27-phytec-phycore-som.dtsi respectively, so remove the board files. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 7c5deaf77526508709b320b76b0d41cec7274edc Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Jul 26 17:41:08 2014 +0400 ARM: i.MX: Remove mach-cpuimx27sd board file eukrea_mbimx27-baseboard.c and mach-cpuimx27.c can be replaced with their devicetree equivalents: imx27-eukrea-mbimxsd27-baseboard.dts and imx27-eukrea-cpuimx27.dtsi respectively, so remove the board files. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Acked-by: Eric Bénard <eric@xxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 58b71c3ec7b53e948cb0e59d783ab0ed0c4d767e Author: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Date: Thu Jul 24 09:05:21 2014 +0200 ARM: imx: iomux: Do not export symbol without public declaration The iomux function declarations are in headers only accessible in this directory. Thus those can't be used in any module. None of the objects in this directory is tristate. Neither can the header be included in out-of-tree modules. Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> commit 83724c3329c93f9efc7f53498edd4c538e724366 Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Jul 22 19:48:40 2014 +0200 NFC: NCI: Fix NCI RF FRAME interface usage NCI RF FRAME interface is used for all kind of tags except ISODEP ones. So for all other kind of tags the status byte has to be removed. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3c1c0f5dc80bbde5baef2403cc6a0d33c9824d2d Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Jul 22 19:48:39 2014 +0200 NFC: NCI: Fix nci_register_device init sequence All contexts have to be initiliazed before calling nfc_register_device otherwise it is possible to call nci_dev_up before ending the nci_register_device function. In such case kernel will crash on non initialized variables. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit cfdbeeafdbbdbc006f700e92cbad2cb5d4529f3d Author: Vincent Cuissard <cuissard@xxxxxxxxxxx> Date: Tue Jul 22 19:48:38 2014 +0200 NFC: NCI: Add support of ISO15693 Update nci.h to respect latest NCI specification proposal (stop using proprietary opcodes). Handle ISO15693 parameters in NCI_RF_ACTIVATED_NTF handler. Signed-off-by: Vincent Cuissard <cuissard@xxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 27f3d18630cd7fbb03b62bd78a74303cb8c88069 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 1 14:14:17 2014 +0200 PM / genirq: Document rules related to system suspend and interrupts Add a document describing how IRQs are managed during system suspend and resume, how wakeup interrupts work and what the IRQF_NO_SUSPEND flag is supposed to be used for. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5ccedf03427ec71ab29a8bd77110242a605085a5 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Mon Sep 1 12:55:58 2014 +0100 regulator: max1586: of_get_max1586_platform_data() can be static Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 76cde7e495904064d612cf3eb4bf6d9e76ff8191 Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 1 13:49:16 2014 +0200 PCI / PM: Make PCIe PME interrupts wake up from suspend-to-idle To make PCIe PME interrupts wake up the system from suspend to idle, make the PME driver use enable_irq_wake() on the IRQ during system suspend (if there are any wakeup devices below the given PCIe port) without disabling PME interrupts. This way, an interrupt will still trigger if a wakeup event happens and the system will be woken up (or system suspend in progress will be aborted) by means of the new mechanics introduced previously. This change allows Wake-on-LAN to be used for wakeup from suspend-to-idle on my MSI Wind tesbed netbook. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5613570b133a294355d35fa66162afe7607a8abb Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 1 13:49:07 2014 +0200 x86 / PM: Set IRQCHIP_SKIP_SET_WAKE for IOAPIC IRQ chip objects Set the IRQCHIP_SKIP_SET_WAKE for IOAPIC IRQ chip objects so that interrupts from them can work as wakeup interrupts for suspend-to-idle. After this change, running enable_irq_wake() on one of the IRQs in question will succeed and IRQD_WAKEUP_STATE will be set for it, so all of the suspend-to-idle wakeup mechanics introduced previously will work for it automatically. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 9ce7a25849e80cfb264f4995f832b932c1987e1a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Aug 29 14:00:16 2014 +0200 genirq: Simplify wakeup mechanism Currently we suspend wakeup interrupts by lazy disabling them and check later whether the interrupt has fired, but that's not sufficient for suspend to idle as there is no way to check that once we transitioned into the CPU idle state. So we change the mechanism in the following way: 1) Leave the wakeup interrupts enabled across suspend 2) Add a check to irq_may_run() which is called at the beginning of each flow handler whether the interrupt is an armed wakeup source. This check is basically free as it just extends the existing check for IRQD_IRQ_INPROGRESS. So no new conditional in the hot path. If the IRQD_WAKEUP_ARMED flag is set, then the interrupt is disabled, marked as pending/suspended and the pm core is notified about the wakeup event. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> [ rjw: syscore.c and put irq_pm_check_wakeup() into pm.c ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit b76f16748fa61801b1a1fd3ffb6f25ee228a35e0 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Aug 29 13:54:09 2014 +0200 genirq: Mark wakeup sources as armed on suspend This allows us to utilize this information in the irq_may_run() check without adding another conditional to the fast path. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c7bd3ec0531aa636ad57ed9f27e637cbd247e64a Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Aug 29 13:39:37 2014 +0200 genirq: Create helper for flow handler entry check All flow handlers - except the per cpu ones - check for an interrupt in progress and an eventual concurrent polling on another cpu. Create a helper function for the repeated code pattern. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c3d7acd0273edf0ee50ccf85167acd7ae0759eda Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Fri Aug 29 13:46:08 2014 +0200 genirq: Distangle edge handler entry If the interrupt is disabled or has no action, then we should not call the poll check. Separate the checks. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit c4df606c40c3ac8ba76ad11fdbb10139f7fbb261 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 28 22:50:43 2014 +0200 genirq: Avoid double loop on suspend We can synchronize the suspended interrupts right away. No need for an extra loop. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 092fadd59b50208f6859f89dd7ea84e03955b544 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 28 16:49:43 2014 +0200 genirq: Move MASK_ON_SUSPEND handling into suspend_device_irqs() There is no reason why we should delay the masking of interrupts whose interrupt chip requests MASK_ON_SUSPEND to the point where we check the wakeup interrupts. We can do it right at the point where we mark the interrupt as suspended. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 5417de222393164b87b2d142b6ec332be40a2564 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 28 15:48:59 2014 +0200 genirq: Make use of pm misfeature accounting Use the accounting fields which got introduced for snity checking for the various PM options. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit cab303be91dc47942bc25de33dc1140123540800 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 28 11:44:31 2014 +0200 genirq: Add sanity checks for PM options on shared interrupt lines Account the IRQF_NO_SUSPEND and IRQF_RESUME_EARLY actions on shared interrupt lines and yell loudly if there is a mismatch. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 8df2e02c5c4de9e65ee60153dd9c442356534ad9 Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Date: Thu Aug 28 11:49:28 2014 +0200 genirq: Move suspend/resume logic into irq/pm code No functional change. Preparatory patch for cleaning up the suspend abort functionality. Update the comments while at it. Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit 068765ba7987e73d4381edfe47b70aa121c7155c Author: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Date: Mon Sep 1 13:47:49 2014 +0200 PM / sleep: Mechanism for aborting system suspends unconditionally It sometimes may be necessary to abort a system suspend in progress or wake up the system from suspend-to-idle even if the pm_wakeup_event()/pm_stay_awake() mechanism is not enabled. For this purpose, introduce a new global variable pm_abort_suspend and make pm_wakeup_pending() check its value. Also add routines for manipulating that variable. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> commit e65b15852a4ac11113d42e9f6e55af908a2b30ef Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Aug 21 12:45:05 2014 +0200 ARM: zynq: DT: Fix coding style issues in dtsi Remove space before semicolon. sed -i 's/}\ ;/};/g' arch/arm/boot/dts/zynq-* Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 41683583126c7c5ca302b43e7b6295dc58dba779 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Aug 21 11:27:05 2014 +0200 ARM: zynq: DT: Describe interrupt-names for pl330 Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 357a454efde5686cb03fa25b8c5e9f8b60608e3b Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Aug 21 11:22:40 2014 +0200 ARM: zynq: DT: Extend compatible string for zedboard Aling compatible property with others and have xlnx,zynq-zed in compatible list too. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit b65186da8cb846b7bbea05304809638b1c8282fd Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Aug 21 11:21:09 2014 +0200 ARM: zynq: DT: Use 0x prefix for memory nodes Be align with the rest of zynq DTS and have 0 written as 0x0. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit aeb29453e38cc7a501c6dd98e160a7ddd781f12f Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Thu Aug 21 11:19:46 2014 +0200 ARM: zynq: DT: Update years in header Add this year to the header. Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit edbd35e70dd563f5e8062bed292a9900073fca48 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Wed Aug 20 08:56:58 2014 -0700 ARM: zynq: DT: Move size/address properties to dtsi Move the GEM's size and address cells properties to the common dtsi file. Cc: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Reviewed-by: Andreas Färber <afaerber@xxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit da45581ea825d53a459a90deb48a50b99369502b Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Wed Aug 20 08:56:57 2014 -0700 ARM: zynq: DT: Fix Ethernet phy modes The used PHYs should be qualified as 'rgmii-id' instead of just 'rgmii'. For the Zed board this seems to make a difference between working and broken Ethernet. Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit f8aa6867a2365fa98de6932cce420d6106a5ddd1 Author: Ezra Savard <ezra.savard@xxxxxxxxxx> Date: Fri Aug 29 07:38:37 2014 -0700 ARM: zynq: DT: Add LEDs to zc702 DT Adds LEDs to the zc702 devicetree for use with the leds-gpio driver. Signed-off-by: Ezra Savard <ezra.savard@xxxxxxxxxx> Reviewed-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> commit 4eea4b8e4491d3b2a96ec4b9b0f3a188da018cd1 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Aug 31 21:10:52 2014 +0200 regulator: max1586: add device-tree binding Add max1586 regulator device-tree bindings documentation. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4e00517945bed110f1b8de580cce97626e9ef0b5 Author: Robert Jarzmik <robert.jarzmik@xxxxxxx> Date: Sun Aug 31 21:10:51 2014 +0200 regulator: max1586: add device-tree support Add device-tree support to max1586. The driver can still be used with the legacy platform data, or the new device-tree way. This work is heavily inspired by the device-tree support of its cousin max8660 driver. Signed-off-by: Robert Jarzmik <robert.jarzmik@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 75c3daaad5a2f791e0fbad732690130ce1bc55d2 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Mon Sep 1 08:47:50 2014 +0800 ASoC: es8328: fix error return code in es8328_codec_probe() Fix to return a negative error code from the error handling case instead of 0, as done elsewhere in this function. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5dc23c442101d254246d88766c4423696b9aa9bd Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 29 12:41:43 2014 +0300 spi: dw-pci: remove FSF address and update copyright The FSF address is subject to change, thus remove it from the file. While here, update a copyright line. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c95791b6a5c5f18addb41530d1c27c8f5d612d65 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 29 12:41:42 2014 +0300 spi: dw-pci: provide platform specific data via driver_data Instead of checking for device and vendor IDs inside probe function let's provide a helper function via driver_data. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 35f2d4136477ce2cd684b03e7f1b802963750394 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 29 12:41:41 2014 +0300 spi: dw-pci: convert to use dev_pm_ops Convert system PM callbacks to use dev_pm_ops. In addition remove the PCI calls related to a power state since the bus code cares about this already. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ceb86de9d6dae58b66ae10e7533ff2d3d8c7bbae Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 29 12:41:40 2014 +0300 spi: dw-pci: apply pci_bar and re-use pci_name Nevertheless pci_bar is 0 let's explicitly use it when map IO regions. While here, use pci_name instead of dev_name. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit fcf0af445bfdb617993af352ee442471aeca1073 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 29 12:41:39 2014 +0300 spi: dw-pci: move info message at the end of probe Let's print info message when controller is found and properly initialized. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cff9c2339a6d5105d7f6b1f9a96dd1d239cc76ac Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 18 18:23:19 2014 +0200 USB: serial: add Medtronic CareLink USB driver Add simple driver for Medtronic CareLink USB devices. Reported-by: Benjamin West <bewest@xxxxxxxxx> Tested-by: Benjamin West <bewest@xxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit c5cd24d7b179a415df263e5b18b72f6e3aaf81e0 Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 18 18:14:53 2014 +0200 USB: serial: add Novatel Wireless GPS driver Add simple driver for Novatel Wireless GPS receivers. Reported-by: Kirk Madsen <kirkm@xxxxxxxxxx> Tested-by: Kirk Madsen <kirkm@xxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit b9f040389e23fb95fde36cb0a3c2c516fb3e9d1c Author: Johan Hovold <johan@xxxxxxxxxx> Date: Mon Aug 18 18:14:52 2014 +0200 USB: serial: add support for multi-port simple drivers Add support for multi-port simple drivers. Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 399aa9a75ad372b301e5050f3653a297a767fdc4 Author: Lauri Hintsala <lauri.hintsala@xxxxxxxxxxxx> Date: Wed Aug 13 15:02:53 2014 +0300 USB: pl2303: use divisors for unsupported baud rates Use direct method for supported baud rates, otherwise use divisors. Limit baud rate to 12 Mbaud with HX type. This change has been tested to work with PL-2303HX at 115200, 500000, 1000000, 2000000, 2500000, 3000000 and 4000000 baud rates. Signed-off-by: Lauri Hintsala <lauri.hintsala@xxxxxxxxxxxx> Signed-off-by: Johan Hovold <johan@xxxxxxxxxx> commit 085f3ec6fd6c87907c4a19481dc13f02ecfcd316 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Sep 1 12:46:37 2014 +0300 ASoC: tlv320aic31xx: Correct interface register 2 variable name Rename iface_reg3 to iface_reg2 since this variable is actually used for interface register 2. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2fbda374a2add291bce8036c5084f955bbef7a94 Author: Bo Shen <voice.shen@xxxxxxxxx> Date: Wed Aug 27 17:52:49 2014 +0800 ARM: at91/dt: sam9n12ek: ohci: add port and vbus property Add the port number and vbus property for ohci port, or else if bootloader won't configure the vbus pin, the 5v supply is not power on, so can not work with usb devices. Signed-off-by: Bo Shen <voice.shen@xxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5b87d31309938a49f57493ba86c765afdd4f2ffe Merge: 6be1f47 014fd22 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Sep 1 10:49:32 2014 +0100 Merge branch 'topic/fsl' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-fsl-esai commit 74d90de2d0c20162d247cb2f9896e1aa7df98616 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 22 16:07:47 2014 +0200 ARM: at91/dt: sam9x5: fix ADC compatible string Use the correct compatible string for the ADC of the at91sam9x5 family of SoCs. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 9fddd74a238f03c322b373662803bd1ce80338da Author: Frank Praznik <frank.praznik@xxxxxxxxx> Date: Fri Aug 29 13:11:52 2014 -0400 HID: sony: Set the Sixaxis cable state correctly Bit 3 in byte 31 of the Sixaxis report indicates whether the battery is charging or not charging as opposed to whether or not the cable is plugged in. As a result, when connected via USB and fully charged, the power_supply status is wrongly reported as 'Discharging' instead of 'Full'. Use the battery level value to set the cable state so that the power status is reported correctly as that seems to be the only reliable way to determine the cable status on the Sixaxis. Signed-off-by: Frank Praznik <frank.praznik@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1a84db567aeeb232daad598c7aa2334dda0176b7 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Fri Aug 29 23:37:33 2014 +0900 treewide: fix errors in printk This patch fix spelling typo in printk. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 954605ca3f897ad617123279eb3404a404cce5ab Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:12 2014 +0100 drm/radeon: use common fence implementation for fences, v4 Changes since v1: - Kill the sw interrupt dance, add and use radeon_irq_kms_sw_irq_get_delayed instead. - Change custom wait function, lockdep complained about it. Holding exclusive_lock in the wait function might cause deadlocks. Instead do all the processing in .enable_signaling, and wait on the global fence_queue to pick up gpu resets. - Process all fences in radeon_gpu_reset after reset to close a race with the trylock in enable_signaling. Changes since v2: - Small changes to work with the rewritten lockup recovery patches. Changes since v3: - Call radeon_fence_schedule_check when exclusive_lock cannot be acquired to always cause a wake up. - Reset irqs from hangup check. - Drop reading seqno in the callback, use cached value. - Fix indentation in radeon_fence_default_wait - Add a radeon_test_signaled function, drop a few test_bit calls. - Make to_radeon_fence global. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Reviewed-by: Christian König <christian.koenig@xxxxxxx> commit 1f0dc9a59afeccb96a35ebec36661266260f5eee Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:08 2014 +0100 drm/ttm: kill off some members to ttm_validate_buffer This reorders the list to keep track of what buffers are reserved, so previous members are always unreserved. This gets rid of some bookkeeping that's no longer needed, while simplifying the code some. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 58b4d720c1620bbf09e42b4f218dcb2d0d8cdf3e Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Thu Jan 9 11:03:08 2014 +0100 drm/ttm: add interruptible parameter to ttm_eu_reserve_buffers It seems some drivers really want this as a parameter, like vmwgfx. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit dd7cfd641228abb2669d8d047d5ec377b1835900 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Jan 21 13:07:31 2014 +0100 drm/ttm: kill fence_lock No users are left, kill it off! :D Conversion to the reservation api is next on the list, after that the functionality can be restored with rcu. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit 7040138ff85501931138970663a988f48c0666f0 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Jan 21 13:07:01 2014 +0100 drm/ttm: call ttm_bo_wait while inside a reservation This is the last remaining function that doesn't use the reservation lock completely to fence off access to a buffer. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> commit bdaf7ddf652ef51fd363b052e320711c06f6f553 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Jan 21 13:02:14 2014 +0100 drm/nouveau: require reservations for nouveau_fence_sync and nouveau_bo_fence This will ensure we always hold the required lock when calling those functions. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit d0b3c3b6c26c6eed1ba3fa37242dfc8942b5e997 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Tue Jan 21 13:00:24 2014 +0100 drm/nouveau: add reservation to nouveau_gem_ioctl_cpu_prep Apart from some code inside ttm itself and nouveau_bo_vma_del, this is the only place where ttm_bo_wait is used without a reservation. Fix this so we can remove the fence_lock later on. After the switch to rcu the reservation lock will be removed again. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Acked-by: Ben Skeggs <bskeggs@xxxxxxxxxx> commit bb693f13a0a535715034ce42405515ac3318c0e3 Author: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> Date: Wed Aug 27 15:04:29 2014 -0400 x86: Remove set_pmd_pfn The last user of set_pmd_pfn() went away in commit f03574f2d5b2, so this has been dead code for over a year. Signed-off-by: Matthew Wilcox <matthew.r.wilcox@xxxxxxxxx> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> arch/x86/include/asm/pgtable_32.h | 3 --- arch/x86/mm/pgtable_32.c | 35 ----------------------------------- 2 files changed, 38 deletions(-) commit e9723bf2ad1b7384e8d475e5356f51a1f35a8934 Merge: 79f284d 69e273c Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 31 20:53:12 2014 -0700 Merge 3.17-rc3 into staging-next We want the staging bugfixes in this branch as well. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de46e95cdb8671e2b0728923b8113654779c3ba8 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 14:40:22 2014 +0200 ARM: shmobile: Enable Armadillo 800 EVA board in multiplatform defconfig Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d2c2a0776899ba2d9d560815d0bcab486b8e64ab Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:05:20 2014 +0200 ARM: shmobile: Add platform device tree bindings documentation Add Renesas SH-Mobile, R-Mobile, and R-Car Platform Device Tree Bindings Documentation, listing supported SoCs and boards. This allows to use checkpatch to validate DTSes referring to Renesas shmobile SoCs, and boards containing those SoCs. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> [horms+renesas@xxxxxxxxxxxx: tweaked title] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a2cfaa7458e714aa00be98c630afaa1a4766e2ad Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:20:39 2014 +0200 ARM: shmobile: r8a73a4 dtsi: Add SoC-specific thermal compatible property The thermal node used the generic compatible property only. Add the SoC-specific one, to make it future proof. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4d50e6dd7a019993504a419d0057051788e477f1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:20:40 2014 +0200 ARM: shmobile: r8a7779 dtsi: Add SoC-specific thermal compatible property The thermal node used the generic compatible property only. Add the SoC-specific one, to make it future proof. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f23b73526b82ca2ef333362e704a51d817c1ffc1 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:47 2014 -0700 NFC: trf7970a: Make gpio labels more readable Make the labels for the two gpio enable lines more user friendly by prefixing them with the driver name. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 6afed0eb8c4158c99845f8d30cd5c3fd8e4855d9 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:46 2014 -0700 NFC: trf7970a: Document the 'en2-rf-quirk' DT property Current versions of the trf7970a have an erratum where the EN2 pin must be kept low. If it isn't kept low, it will generate an RF field even when in passive target mode. To work around this issue, create the 'en2-rf-quirk' device tree property to indicate that the trf7970a that the driver is using has this erratum. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 95064bd95a822659f4a606b485aba5009d70fc88 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:45 2014 -0700 NFC: trf7970a: Add quirk to keep EN2 low A bug has been discovered in the trf7970a where it will generate an RF field even in passive target mode when EN2 is asserted. To work around this, add support for the 'en2-rf-quirk' device tree property which indicates that EN2 must remain low. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit d953ada493711363d5b7f2151100c242923fc56b Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:44 2014 -0700 NFC: trf7970a: Document the 'irq-status-read-quirk' DT property The mechanism for specifying that the trf7970a being used by the driver has the "IRQ Status Read" erratum has been changed to a device tree property ('irq-status-read-quirk'). Document the new device tree property. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 772079eb77587e0242752fa67685a8132d899f79 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:43 2014 -0700 NFC: trf7970a: Move IRQ Status Read quirk to device tree The quirk indicating whether the trf7970a has the "IRQ Status Read" erratum or not is currently implemented using the 'driver_data' member of the 'spi_device_id' structure. That requires the driver to be modified to turn the quirk off when a version of the trf7970a that doesn't have the erratum is being used. To fix that, create a new device tree property called 'irq-status-read-quirk' that indicates that the trf7970a being used has the erratum. While at it, rename 'TRF7970A_QUIRK_IRQ_STATUS_READ_ERRATA' to 'TRF7970A_QUIRK_IRQ_STATUS_READ' to make it less of an eyesore. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit c2b33de06d23e66f9df34f515704cd3bfa8dd260 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:42 2014 -0700 NFC: trf7970a: Document the 'vin-voltage-override' DTS property The trf7970a driver recently had support for the 'vin-voltage-override' property added to it. This property is used to override the value given by the regulator subsystem for the VIN pin's voltage. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 3bd14233aa0733fbc6c3f75ec928f1a393522644 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:41:41 2014 -0700 NFC: trf7970a: Add VIN voltage override support The trf7970a driver uses the voltage from the power/regulator subsystem to determine what the voltage on the VIN pin is. Normally, this is the right thing to do but sometimes the board that the trf7970a is on may change the voltage. This is the case for the trf7970atb board from Texas Instruments where it boosts the VIN voltage from 3.3V to 5V (see http://www.ti.com/tool/trf7970atb). To handle this, add support for the 'vin-voltage-override' device tree property which overrides the voltage value given by the regulator subsystem. When the DT property is not present, the value from the regulator subsystem is used. The value of 'vin-voltage-override' is in uVolts. Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit dddb3da046a4d86de649ba795726afa7fe6fbb41 Author: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Date: Tue Jul 22 20:18:01 2014 -0700 NFC: digital: Add Inititor-side PSL support In order to operate at the fasted bit rate possible, add initiator-side support for PSL REQ while in P2P mode. The PSL REQ will switch the RF technology to 424F whenever possible. Reviewed-by: Thierry Escande <thierry.escande@xxxxxxxxxxxxxxx> Tested-by: Thierry Escande <thierry.escande@xxxxxxxxxxxxxxx> Signed-off-by: Mark A. Greer <mgreer@xxxxxxxxxxxxxxx> Signed-off-by: Samuel Ortiz <sameo@xxxxxxxxxxxxxxx> commit 79f284d29bbf7852093d0262c097e8faee32bc03 Author: Seunghun Lee <waydi1@xxxxxxxxx> Date: Mon Sep 1 00:36:39 2014 +0900 staging: dgnc: remove some unused macros These macros do nothing, so remove it. CC: Lidza Louina <lidza.louina@xxxxxxxxx> CC: Mark Hounschell <markh@xxxxxxxxxx> Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b533ff4b18d4dee42683b4e149610347cb3a4e66 Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Sun Aug 31 16:30:56 2014 +0530 staging: lustre: lustre: ptlrpc: Fix space required This patch fixes the checkpatch.pl issue Error: Required space after " '+' ',' '=' '(' ' if' " Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3ace5213e4fe6ae26260a9cafe11b3e7c3efcc4f Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Sun Aug 31 15:23:35 2014 +0530 staging: lustre: lnet: lib-ptl.c: sparsa warning: symbol not declared fixed sparse warning of following symbol not declared: warning: symbol 'lnet_ptl_cleanup' was not declared. Should it be static? warning: symbol 'lnet_ptl_setup' was not declared. Should it be static? Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58964e8d73834abfe983ee807e55e77e53d502c8 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:29 2014 +0530 staging: rtl8188eu: Remove unused function SetBcnCtrlReg() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c52fae3042fa61b820ee35aafa6345e5f52b92de Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:28 2014 +0530 staging: rtl8188eu: Rename rtl8188e_rf6052.c to rf.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b361e585fa748d4effe06aab1a0dace7667fb2d Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:27 2014 +0530 staging: rtl8188eu: Remove file rtl8188e_rf.h Move macros from rtl8188e_rf.h to rf.h and then remove rtl8188e_rf.h . Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d85713527030e0d9f4e4120f9cd6b8544385b4f1 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:26 2014 +0530 staging: rtl8188eu: Rework function get_rx_power_val_by_reg() Rename CamelCase variables. Remove block of the code which is specific to the bluetooth. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1faec15be4bde7bd6d8bec3ff3117f0a7cacc63f Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:25 2014 +0530 staging: rtl8188eu: Rework function writeOFDMPowerReg88E() Rename CamelCase variables and function name. Remove a block of the code which is executed only if RF type is T2R2 but rtl8188eu's RF is a T1R1 type, so driver doesn't need that code. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb393d260dd7cb5a75afa9a037be2607098db52e Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:24 2014 +0530 staging: rtl8188eu: Rework function rtl8188e_PHY_RF6052SetOFDMTxPower() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1adeba1220bf9db167bdaa0612638a735ea01a7 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:23 2014 +0530 staging: rtl8188eu: Rework function getpowerbase88e() Rename CamelCase variables. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5db81acf478d8d3bc46e6d76d32c406db368d94 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:22 2014 +0530 staging: rtl8188eu: Rework function rtl8188e_PHY_RF6052SetCckTxPower() Rename CamelCase variables and function name. Remove redundant variable TurboScanOff. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2027324402b6858fb6c0762529410f4b4827596c Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 14:08:21 2014 +0530 staging: rtl8188eu: Rework function rtl8188e_PHY_RF6052SetBandwidth() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86cb35aff188bc34a7ea5e2319e31c5b27b4d24e Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:34 2014 +0530 staging: rtl8188eu: Rename HalHWImg8188E_MAC.c to mac_cfg.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fcaa9426b2878b046f98ca1bfa2e2bc0944e374b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:33 2014 +0530 staging: rtl8188eu: Rename HalHWImg8188E_RF.c to rf_cfg.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6767982d237d3dceae61380d546164aa592d49ed Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:32 2014 +0530 staging: rtl8188eu: Rename HalHWImg8188E_BB.c to bb_cfg.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 238bd31e2ee818bfbef998e68cc3586db4b0854a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:31 2014 +0530 staging: rtl8188eu: Rename rtl8188e_phycfg.c to phy.c Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ba50fbc0ee735a31ef7a081f322563a4d945ceb1 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:30 2014 +0530 staging: rtl8188eu: Rework function PHY_SwChnl8188E() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5f6a5cdb5fe505f94f1500c632176211531f6544 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:29 2014 +0530 staging: rtl8188eu: Rework function PHY_SetBWMode8188E() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 01c5f833ee1ecfe39256898d66732770b54d0a7b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:28 2014 +0530 staging: rtl8188eu: Rework function PHY_SetTxPowerLevel8188E() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c431940530d4465f8094181cb7622e245ae7851 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:27 2014 +0530 staging: rtl8188eu: Rework function _PHY_SwChnl8192C() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 55d8dfbfaf5b30ef1fe9e9c6b2ed2839b1f406c4 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:26 2014 +0530 staging: rtl8188eu: Rework function _PHY_SetBWMode92C() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a8b74c3ec7c58692287a954beef71fc49c82058f Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:25 2014 +0530 staging: rtl8188eu: Rework function phy_PowerIndexCheck88E() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88cbb390265d41b6e2c643b180111d61ec40d357 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:24 2014 +0530 staging: rtl8188eu: Rework function getTxPowerIndex88E() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b98485c72fccbea30c6327bae34de9fc56d8aa0 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:23 2014 +0530 staging: rtl8188eu: Rework function rtl8188e_PHY_SetRFReg() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41b77d26026f525f253cdce43aae3e7e3c9ab33b Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:22 2014 +0530 staging: rtl8188eu: Rework function PHY_QueryRFReg() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42f27158aec4446da0a6bfc9eb231757939503aa Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:21 2014 +0530 staging: rtl8188eu: Rework function phy_RFSerialWrite() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a35b747d3d567dbb93b57207983e7fd9f80b04b4 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:20 2014 +0530 staging: rtl8188eu: Rework function phy_RFSerialRead() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c6db65199d67370ee140b78412410e882f96048 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:19 2014 +0530 staging: rtl8188eu: Rework function PHY_SetBBReg() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ef1220a0d4819e85f6434e4185158a0043fe09d0 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:18 2014 +0530 staging: rtl8188eu: Remove unused wrapper function rtw_hal_write_bbreg() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecd1f9b3f78d3eca8ae5eadc7d141249833288bf Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 31 12:14:17 2014 +0530 staging: rtl8188eu: Rework function PHY_QueryBBReg() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit be82d9b2d57a923fca9384736a4332fdb45f41f3 Author: Janet Liu <jianhua.ljh@xxxxxxxxx> Date: Sun Aug 31 12:56:20 2014 +0800 staging:lustre:lnet: lib-md.c erase C99 // comments After changing the comments format, the other error disappears. So silences two checkpatch errors: ERROR: do not use C99 // comments ERROR: trailing statements should be on next line Signed-off-by: Janet Liu <jianhua.ljh@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 242c7b52bed14b43dba847c32d408f0b1636adc5 Author: Janet Liu <jianhua.ljh@xxxxxxxxx> Date: Sun Aug 31 12:55:07 2014 +0800 staging:lustre:lnet: lib-md.c make line not over 80 characters Reduce the following checkpatch warnings: WARNING: line over 80 characters Signed-off-by: Janet Liu <jianhua.ljh@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e057cff4bf04dec886281520e081f4714115221 Author: Anh Le <anhlq2110@xxxxxxxxx> Date: Sun Aug 31 12:24:50 2014 +0700 Staging: bcm: fixed a comment coding style issue Fixed a C99 comment issue in InterfaceMisc.h. Signed-off-by: Anh Le <anhlq2110@xxxxxxxxx> Reviewed-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 19008f6dfa16d23afcd09dceaa598bb6da8de4b1 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Sun Aug 31 15:03:14 2014 -0400 ext4: fix ext4_swap_extents() error handling If ext4_ext_find_extent() returns an error, we have to clear path1 or path2 or else we would end up trying to free an ERR_PTR, which would be bad. Also eliminate some redundant code and mark the error paths as unlikely() Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f59838a07ae5b26d2e050bc0227599932d22b549 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 29 18:10:31 2014 +0200 spi/drivers: Restrict COMPILE_TEST by HAS_DMA where needed commit dd1053a93fdc11d4 ("spi/drivers: Enable build of drivers with COMPILE_TEST") allows compile-testing drivers on platforms they're not meant for. However, adding "|| COMPILE_TEST" bypasses all other implicit dependencies assumed by the platform dependencies before, like HAS_DMA. If NO_DMA=y: drivers/built-in.o: In function `atmel_spi_dma_unmap_xfer': drivers/spi/spi-atmel.c:915: undefined reference to `dma_unmap_single' drivers/spi/spi-atmel.c:918: undefined reference to `dma_unmap_single' drivers/built-in.o: In function `atmel_spi_next_xfer_data': drivers/spi/spi-atmel.c:690: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `atmel_spi_dma_map_xfer': drivers/spi/spi-atmel.c:890: undefined reference to `dma_map_single' drivers/spi/spi-atmel.c:893: undefined reference to `dma_mapping_error' drivers/spi/spi-atmel.c:897: undefined reference to `dma_map_single' drivers/spi/spi-atmel.c:900: undefined reference to `dma_mapping_error' drivers/spi/spi-atmel.c:902: undefined reference to `dma_unmap_single' drivers/built-in.o: In function `atmel_spi_probe': drivers/spi/spi-atmel.c:1540: undefined reference to `dma_alloc_coherent' drivers/spi/spi-atmel.c:1623: undefined reference to `dma_free_coherent' drivers/built-in.o: In function `atmel_spi_remove': drivers/spi/spi-atmel.c:1665: undefined reference to `dma_free_coherent' drivers/built-in.o: In function `ep93xx_spi_dma_finish': drivers/spi/spi-ep93xx.c:550: undefined reference to `dma_unmap_sg' drivers/built-in.o: In function `ep93xx_spi_dma_prepare': drivers/spi/spi-ep93xx.c:516: undefined reference to `dma_map_sg' drivers/spi/spi-ep93xx.c:522: undefined reference to `dma_unmap_sg' drivers/built-in.o: In function `omap2_mcspi_rx_dma': drivers/spi/spi-omap2-mcspi.c:475: undefined reference to `dma_unmap_single' drivers/built-in.o: In function `omap2_mcspi_txrx_dma': drivers/spi/spi-omap2-mcspi.c:589: undefined reference to `dma_unmap_single' drivers/built-in.o: In function `omap2_mcspi_transfer_one_message': drivers/spi/spi-omap2-mcspi.c:1202: undefined reference to `dma_map_single' drivers/spi/spi-omap2-mcspi.c:1204: undefined reference to `dma_mapping_error' drivers/spi/spi-omap2-mcspi.c:1211: undefined reference to `dma_map_single' drivers/spi/spi-omap2-mcspi.c:1213: undefined reference to `dma_mapping_error' drivers/spi/spi-omap2-mcspi.c:1217: undefined reference to `dma_unmap_single' drivers/built-in.o: In function `tegra_spi_deinit_dma_param': drivers/spi/spi-tegra114.c:675: undefined reference to `dma_free_coherent' drivers/built-in.o: In function `tegra_spi_copy_spi_rxbuf_to_client_rxbuf': drivers/spi/spi-tegra114.c:415: undefined reference to `dma_sync_single_for_cpu' drivers/spi/spi-tegra114.c:440: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `tegra_spi_copy_client_txbuf_to_spi_txbuf': drivers/spi/spi-tegra114.c:381: undefined reference to `dma_sync_single_for_cpu' drivers/spi/spi-tegra114.c:405: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `tegra_spi_start_dma_based_transfer': drivers/spi/spi-tegra114.c:543: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `tegra_slink_deinit_dma_param': drivers/spi/spi-tegra20-slink.c:705: undefined reference to `dma_free_coherent' drivers/built-in.o: In function `tegra_slink_copy_spi_rxbuf_to_client_rxbuf': drivers/spi/spi-tegra20-slink.c:427: undefined reference to `dma_sync_single_for_cpu' drivers/spi/spi-tegra20-slink.c:452: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `tegra_slink_copy_client_txbuf_to_spi_txbuf': drivers/spi/spi-tegra20-slink.c:393: undefined reference to `dma_sync_single_for_cpu' drivers/spi/spi-tegra20-slink.c:417: undefined reference to `dma_sync_single_for_cpu' drivers/built-in.o: In function `tegra_slink_start_dma_based_transfer': drivers/spi/spi-tegra20-slink.c:561: undefined reference to `dma_sync_single_for_cpu' Add dependencies on HAS_DMA to fix this. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af14afd2abef9e01761ec6eb79dd7c0833a243f0 Author: Sören Brinkmann <soeren.brinkmann@xxxxxxxxx> Date: Sun Aug 31 07:57:00 2014 +0100 staging: ad7606_core: Fix checkpatch warning Fix the checkpatch complaint regarding unnecessary line continuation. WARNING: Avoid unnecessary line continuations #143: FILE: ad7606_core.c:143: Signed-off-by: Sören Brinkmann <soeren.brinkmann@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 1bd06867f7f168273c80ba10ce4025a97be98305 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Sun Aug 31 10:57:09 2014 +0200 ahci: ahci_p5wdh_workaround - constify DMI table The DMI table does not need to be written to, make it r/o. Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6bb86fefa086faba7b60bb452300b76a47cde1a5 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Sat Aug 30 16:39:09 2014 -0300 libahci_platform: Staticize ahci_platform_<en/dis>able_phys() ahci_platform_enable_phys() and ahci_platform_disable_phys() are currently exported, but they are not used anywhere else other than libahci_platform.c. So make them static and do not export them to fix the following sparse warnings: drivers/ata/libahci_platform.c:52:5: warning: symbol 'ahci_platform_enable_phys' was not declared. Should it be static? drivers/ata/libahci_platform.c:88:6: warning: symbol 'ahci_platform_disable_phys' was not declared. Should it be static? Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit fcf6b1b729bcd23f2b49a84fb33ffbb44712ee6a Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Sat Aug 30 23:52:19 2014 -0400 ext4: refactor ext4_move_extents code base ext4_move_extents is too complex for review. It has duplicate almost each function available in the rest of other codebase. It has useless artificial restriction orig_offset == donor_offset. But in fact logic of ext4_move_extents is very simple: Iterate extents one by one (similar to ext4_fill_fiemap_extents) ->Iterate each page covered extent (similar to generic_perform_write) ->swap extents for covered by page (can be shared with IOC_MOVE_DATA) Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit f8fb4f415034baeed983ca2fb0f51bd74d7370b0 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Sat Aug 30 23:50:56 2014 -0400 ext4: use ext4_ext_next_allocated_block instead of mext_next_extent This allows us to make mext_next_extent static and potentially get rid of it. Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit ee124d2746250786b306952bb8955d3171fa8e69 Author: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Date: Sat Aug 30 23:34:06 2014 -0400 ext4: use ext4_update_i_disksize instead of opencoded ones Signed-off-by: Dmitry Monakhov <dmonakhov@xxxxxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit a9873673484b5aa4346111d021c83a2f11d62eb5 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:49 2014 +0100 staging: vt6655: Replace typedef enum _CARD_OP_MODE eOPMode with enum nl80211_iftype op_mode. Using the nl80211 header. Using enum changes OP_MODE_ADHOC -> NL80211_IFTYPE_ADHOC OP_MODE_AP -> NL80211_IFTYPE_AP OP_MODE_INFRASTRUCTURE -> NL80211_IFTYPE_STATION OP_MODE_UNKNOWN -> NL80211_IFTYPE_UNSPECIFIED Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 96372bd9b42e917cb83add7d43bcfbe60307da56 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:48 2014 +0100 staging: vt6655: s_uGetRTSCTSDuration always return __le16 This function should always return __le16, move all endian correction to here. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 93320258989eb1f60b62e6d50fb509e51088aec7 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:47 2014 +0100 stgaing: vt6655: remove unused variable wCTSDuration wCTSDuration is always set to 0. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db1afd18e9cddffd957abea6287a6eae9edbeccc Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:46 2014 +0100 staging: vt6655: replace typedef struct tagSCTS_FB with struct vnt_cts_fb Replacing members b, wDuration_ba, wReserved, wCTSDuration_ba_f0, wCTSDuration_ba_f1, data and reserved2. With b, duration_ba, reserved, cts_duration_ba_f0, cts_duration_ba_f1, data and reserved2 unsigned short is replaced with u16 or __le16 where necessary. cast void pointer to pvCTS Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5172b0edf2fcc37dfe9b64899c2a318fa462a6b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:45 2014 +0100 staging: vt6655: replace typedef struct tagSCTS with struct vnt_cts Replacing members b, wDuration_ba, wReserved, data and reserved2 with b, duration_ba, reserved, data and reserved2 unsigned short is replaced with u16 or __le16 where necessary. cast void pointer to pvCTS Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8e44804e73ae9e192df807eed2543e8b66cf5be0 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:44 2014 +0100 staging: vt6655: replace typedef struct tagSRTS_a_FB with struct vnt_rts_a_fb Replacing members a, wDuration, wReserved, wRTSDuration_f0, wRTSDuration_f1 and data with a, duration, reserved, rts_duration_f0, rts_duration_f1 and data unsigned short is replaced with u16 or __le16 where necessary. cast void pointer to pvRTS Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e21eb1c8d1002c519f84020da1b9883231c78369 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:43 2014 +0100 staging: vt6655: replace typedef struct tagSRTS_ab with struct vnt_rts_ab Replacing members ab, wDuration, wReserved and data with ab, duration, reserved and data replacing unsigned short with u16 and __le16 where necessary. pvRTS is void pointer. Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9587b09206d702d3ca50ef582072cd658185e7d4 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:42 2014 +0100 staging: vt6655: replace typedef struct tagSRTS_g_FB with struct vnt_rts_g_fb Replacing members b, a, wDuration_ba, wDuration_aa, wDuration_bb, wReserved, wRTSDuration_ba_f0, wRTSDuration_aa_f0, wRTSDuration_ba_f1, wRTSDuration_aa_f1 and data with b, a, duration_ba, duration_aa, duration_bb, wReserved, rts_duration_ba_f0, rts_duration_aa_f0, rts_duration_ba_f1, rts_duration_aa_f1 and data replacing unsigned short with u16 or __le16 where endian correction is necessary. Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 17434f094a42792230cbb3a12c5ca69937b741f8 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:41 2014 +0100 staging: vt6655: replace typedef struct tagSRTS_g with struct vnt_rts_g Replacing members b, a, wDuration_ba, wDuration_aa, wDuration_bb, wReserved and data with b, a,duration_ba, duration_aa, duration_bb, reserved and data replacing unsigned short with u16 or __le16 where endian correction is necessary. Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0864db15a04711cae8ce3b63fbd459c8bf4df64c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:40 2014 +0100 staging: vt6655: Replace typedef struct tagSCTSData with ieee80211_cts data ieee80211_cts data needs extra padding with reserved2 set to 0 use IEEE80211_FTYPE_CTL | IEEE80211_STYPE_CTS to set frame_control Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52c4130bdb6f544c0b7f949c5d8152b264eda624 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:39 2014 +0100 staging: vt6655: Replace typedef struct tagSRTSData with ieee80211_rts data Replacing SRTSData Data with struct ieee80211_rts data Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a479ffc38885e52f16d0e28cdf40b2e3893ab6f3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:38 2014 +0100 staging: vt6655: Fix *Duration s_uFillDataHead to return to __le16 All callers should be __le16. Fix vGenerateMACHeader duration to __le16 and reverse the endian conversion. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c62c7abf8cc325b86a6d6a0d5427e48ef30f1b4 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:37 2014 +0100 staging: vt6655: replace -typedef struct tagSTxDataHead_a_FB with struct vnt_tx_datahead_a_fb Replace members a, wDuration, wTimeStampOff, wDuration_f0, and wDuration_f1; with a, duration, time_stamp_off, duration_f0, duration_f1 All unsigned short members should be __le16 Creating the new structure in rxtx.h. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ce842ab3fb0b14428788827b6cdd87496aa3348 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:36 2014 +0100 staging: vt6655: replace typedef struct tagSTxDataHead_ab with struct vnt_tx_datahead_ab Replacing members ab, wDuration and wTimeStampOff with ab, duration and time_stamp_off All unsigned short should be __le16 Structure is moved to rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2dd76679cc1160c65e7dc0d0214df5747e352b0a Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:35 2014 +0100 staging: vt6655: replace typedef struct tagSTxDataHead_g_FB with struct vnt_tx_datahead_g_fb Replacing members b, a, wDuration_b, wDuration_a, wDuration_a_f0, wDuration_a_f1, wTimeStampOff_b and wTimeStampOff_a with b, a, duration_b, duration_a, duration_a_f0, duration_a_f1, time_stamp_off_b and time_stamp_off_a All unsigned short need to be __le16 type. Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72edb7ed1fe1936805a71d5da60a6e72856851f3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:34 2014 +0100 staging: vt6655: replace typedef struct tagSTxDataHead_g with struct vnt_tx_datahead_g Replace members b, a, wDuration_b, wDuration_a, wTimeStampOff_b and wTimeStampOff_a with b, a, duration_b, duration_a, time_stamp_off_b and time_stamp_off_a Using __le16 endian type for unsigned short. Creating the new structure in rxtx.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6b95c0659df46f20f947110fc0535e8faf6c1fc Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:33 2014 +0100 staging: vt6655: rxtx.c create function to return __le16 wTimeStampOff wTimeStampOff always needs to be endian corrected. Create vnt_time_stamp_off to return this value. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c00a378bffaf48ef08366d7e84a536241fb187b5 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:32 2014 +0100 staging: vt6655: s_vGenerateTxParameter removed nested pvRrvTime NULL check Just do single NULL check on pvRrvTime and return. If pvRrvTime is NULL none of the if statements are valid. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 853532d3b5c440d9824b10c6aee478ef77aef3b7 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:31 2014 +0100 staging: vt6655: rxtx change s_uGetRTSCTSRsvTime to always return __le16 s_uGetRTSCTSRsvTime always needs to return little endian __le16 Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7a3481b7b994e4834ddc846a262f5cfab7e6f67 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:30 2014 +0100 staging: vt6655: create vnt_rxtx_rsvtime_le16 to return s_uGetTxRsvTime endian corrected. Replace s_uGetTxRsvTime where endian correction is needed. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6a634c3d2cbddcfe3485539ef0310f8af636d55 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:29 2014 +0100 staging: vt6655: rxtx replace typedef struct tagSRrvTime_ab with struct vnt_rrv_time_ab Replacing members wRTSTxRrvTime and wTxRrvTime with rts_rrv_time and rrv_time using __le16 type Moving structure to rxtx.h pvRrvTime is a void pointer Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d66a5a74649613314db86f657b4aea789333527e Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:28 2014 +0100 staging: vt6655: rxtx replace typedef struct tagSRrvTime_gCTS with struct vnt_rrv_time_cts replacing members wCTSTxRrvTime_ba, wReserved, wTxRrvTime_b and wTxRrvTime_a with cts_rrv_time_ba, reserved, rrv_time_b and rrv_time_a; Creating the new structure in rxtx.h and Using __le16 where necessary pvRrvTime is a void pointer Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9e6a2dcd333e84391b16b9be3f32566a16cc517 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 30 22:25:27 2014 +0100 staging: vt6655: rxtx replace typedef struct tagSRrvTime_gRTS with struct vnt_rrv_time_rts Replacing members wRTSTxRrvTime_ba, wRTSTxRrvTime_aa, wRTSTxRrvTime_bb, wReserved, wTxRrvTime_b and wTxRrvTime_a with rts_rrv_time_ba, rts_rrv_time_aa, rts_rrv_time_bb, reserved, rrv_time_b and rrv_time_a Creating the new structure in rxtx.h and Using __le16 where necessary Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b256126f3193253497337821a18375a9a5d8122 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Aug 30 17:12:51 2014 -0400 staging/lustre: remove unused som_attrs and hsm_attrs structures These structures are only used server-side to parse relevant attributes. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf21a6be943980d2e1a3ae220795c8da41c81165 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:50 2014 -0400 staging/lustre/mdc: remove obsolete llog ioctl handlers In mdc_iocontrol() remove the handlers for the obsolete llog ioctls OBD_IOC_PARSE, OBD_IOC_LLOG_INFO, and OBD_IOC_LLOG_PRINT. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c77bcdb515a96eac4745af96d7504282f03b7289 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:49 2014 -0400 staging/lustre/obdclass: remove llog_osd.c llog_osd_ops is not used so remove it and its supporting methods. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 62b81e415e5aa87fb8726ed5ee0c1cb05e72634e Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:48 2014 -0400 staging/lustre/obdclass: remove llog_test.ko The llog_test module requires server support (it needs a local MGS to function) and should not have been included. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbf037fee64019f58fbea8542ce6144a8b13fd73 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:47 2014 -0400 staging/lustre/mgc: remove server specific handlers Remove the server specific set_info handlers (KEY_REGISTER_TARGET, KEY_SET_FS, KEY_CLEAR_FS) and supporting functions. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a339759f706d3bc7337348af728b04a8d30e31d Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:46 2014 -0400 staging/lustre: remove md_object.h The declarations from lustre/include/md_object.h are not used so remove them. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acbf9cea87858e414612800139ab7a1ee161d929 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:45 2014 -0400 staging/lustre/obdclass: remove mea.c The functions exported by lustre/obdclass/mea.c are not used so remove them. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 05eac42b86849cec5f90fc6f4f18f8aa7b8d1c83 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:44 2014 -0400 staging/lustre/obdclass: remove lu_ucred.c The functions exported by lustre/obdclass/lu_ucred.c are not used so remove that file. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25bc5309a45288db858520fe6ac8e501d1bf47d9 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:43 2014 -0400 staging/lustre/obdclass: remove idmap.c The functions defined in lustre/include/lustre_idmap.h are not used so remove them. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6af874834774de7cd33e85f6ec2f83e57b8deb0 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Sat Aug 30 17:12:42 2014 -0400 staging/lustre/obdecho: remove #if 0-ed out regions The landing of clio #if 0-ed out some regions of echo_client.c. Just remove these regions entirely. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/5580 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2675 Reviewed-by: James Simmons <uja.ornl@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5bd07d9985e1a30253023b6c74fc9525b67ce67e Author: Peng Tao <tao.peng@xxxxxxx> Date: Sat Aug 30 17:12:41 2014 -0400 staging/lustre/obdecho: remove metadata echo client The metadata echo client requires server support and should not have been included. Signed-off-by: Liu Xuezhao <xuezhao.liu@xxxxxxx> Signed-off-by: Peng Tao <tao.peng@xxxxxxx> Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/2674 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-1330 Reviewed-by: Nathaniel Clark <nathaniel.l.clark@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b47f9fe0bf357650288be6ddbc8c6dd24264db3c Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sat Aug 30 17:12:40 2014 -0400 staging/lustre: Remove unused header libcfs_heap.h With removal of libcfs/heap.c, it's header can also go away now. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ce1e3eb723d8627c1ff436c3c215e0a27a759aff Author: Andrew Plummer <plummer574@xxxxxxxxx> Date: Sat Aug 30 19:43:02 2014 +0100 Staging: emxx_udc: emxx_udc: remove spaces before semicolons Remove spaces before semicolons to remove checkpatch warnings. Signed-off-by: Andrew Plummer <plummer574@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35d49555eaa2df1135dbb5876acf462c5b657174 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Fri Aug 29 12:51:24 2014 +0900 staging: rts5208: Remove casting the return value which is a void pointer Casting the return value which is a void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 30e94a564d079f71f53368733720caa0c7c413c8 Author: Yannis Damigos <giannis.damigos@xxxxxxxxx> Date: Tue Aug 19 18:26:46 2014 +0300 staging: imx-drm: Lines over 80 characters fixed. This is a patch to the ipuv3-crtc.c file that fixes up two "lines over 80 characters" warnings found by the checkpatch.pl tool, keeping the alignment of the x/y/width/height parameters for readability. Signed-off-by: Yannis Damigos <giannis.damigos@xxxxxxxxx> Acked-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a3c8834fe4e892281f857f74e46c15470c3e35c Author: Fred Chou <fred.chou.nd@xxxxxxxxx> Date: Thu Aug 28 09:50:56 2014 +0800 staging: vme: remove redundant else condition The else condition is redundant after a return. Remove these redundant else conditions. Signed-off-by: Fred Chou <fred.chou.nd@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b1046e040670ee9fb2abe110fb24b33d91ada86 Author: Dipak Zope <dipakzope.kernel.org@xxxxxxxxx> Date: Tue Aug 19 04:21:54 2014 -0400 staging: android: sync: Fix checkpatch warning: Missing a blank line after declarations Signed-off-by: Dipak Zope <dipakzope.kernel.org@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c643794eb3b57116924eadb40bbc34296b49d401 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Mon Aug 18 23:32:36 2014 +0900 staging: dgap: remove useless a variable within board_t The use_interrupts is used only in dagp_request_irq() for checking a value from user config file. It doesn't need in board_t struct. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f20ecc51bc08c1ee9c1ed320ef6ca411eb154c6 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Mon Aug 18 23:31:46 2014 +0900 staging: dgap: remove redundant setting a variable The brd(board_t) is initialized with zero, so "intr_used" is not needed to set zero when request_irq() is failed. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb33cac8dc3d1f64bba3beff0f8b64814f7f9485 Author: Kieron Browne <kieron.browne@xxxxxxxxx> Date: Wed Aug 20 22:21:31 2014 +0100 staging: dgnc: Fix checkpatch include warning checkpatch.pl fix. Use #include <linux/uaccess.h> instead of <asm/uaccess.h> Signed-off-by: Kieron Browne <kieron.browne@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f1e51745eb309a52f19d1115ddf8508a16aedbc4 Author: Seunghun Lee <waydi1@xxxxxxxxx> Date: Wed Aug 20 00:30:23 2014 +0900 staging: dgnc: remove DPR Macros and related codes. In dgnc_drivers.h, DPR macro and DPR_* macros are defined but do nothing. So remove them and related codes. CC: Lidza Louina <lidza.louina@xxxxxxxxx> CC: Mark Hounschell <markh@xxxxxxxxxx> Signed-off-by: Seunghun Lee <waydi1@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebb10d8ea61934b9be3c7ac7a4fb433579ba0283 Author: Chaitanya Hazarey <c@xxxxx> Date: Fri Aug 22 10:29:19 2014 -0700 Staging: netlogic: xlr_net.c Fixed code-style warnings Fixed the following warning generated by checkpatch.pl: WARNING: Missing a blank line after declarations Signed-off-by: Chaitanya Hazarey <c@xxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8397bc69095f6111ed644b2f8ac725609f8a8bb Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Thu Aug 21 19:51:24 2014 +0530 Staging: Netlogic: Move all the netdev under single parent device XLR has one network controller and XLS has two network controllers, each controller has 4 gmac devices. This patch initializes each controller as a parent device and the four gmac devices of a controller are connected to the parent controller as a child Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e1a083be73b4b5ac5481eb8104476ae7b386896d Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Thu Aug 21 19:51:23 2014 +0530 Staging: Netlogic: PHY address calculation fix SGMII PHY address calculation should be based on phy_addr of priv data Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b9add4c3a30c78854867062eb2d5e768ebcc9895 Author: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Date: Thu Aug 21 19:51:22 2014 +0530 Staging: Netlogic: Add nlm_cop2_enable/restore function name change The function name nlm_cop2_enable() and nlm_cop2_restore() in file "netlogic/xlr/fmn.c" has been renamed to nlm_cop2_enable_irqsave and nlm_cop2_disable_irqrestore respectively in commit "64f6ebe MIPS: Netlogic: rename nlm_cop2_save/restore". This patch takes care of these changes Signed-off-by: Ganesan Ramalingam <ganesanr@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 06f1465b71dfd5eb2843a01c7b513a55c0c9d941 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 24 18:34:43 2014 -0500 drivers: staging: rtl8821ae: Fix spaces required around that '<' errors Fix checkpatch.pl spaces required around that '<' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f25884839e7e8de72b3c0da518900f5915b7c4b1 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 24 17:51:32 2014 -0500 drivers: staging: rtl8192u: Fix switch and case should be at the same indent errors Fix checkpatch.pl switch and case should be at the same indent errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b4ef0a641d47570bcca4c2206f4736c0f5f4d9e Author: Greg Donald <gdonald@xxxxxxxxx> Date: Sun Aug 24 04:57:36 2014 -0500 drivers: staging: rtl8192u: Fix space required after that ',' errors Fix checkpatch.pl space required after that ',' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1beda8d52b2a1007d9168f663b050e3d996ba6cd Author: Greg Donald <gdonald@xxxxxxxxx> Date: Fri Aug 22 12:58:13 2014 -0500 drivers: staging: rtl8723au: Fix space prohibited before that close parenthesis ')' errors Fix checkpatch.pl space prohibited before that close parenthesis ')' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e66cf096c736532e277a992e8b0b3045af30b1d Author: Greg Donald <gdonald@xxxxxxxxx> Date: Fri Aug 22 10:57:49 2014 -0500 drivers: staging: rtl8723au: Fix "foo* bar" should be "foo *bar" errors Fix checkpatch.pl "foo* bar" should be "foo *bar" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a6b70c3f3558a2e47d2ca82752f0aed0f3c33c6 Author: Matthew Casey <mdcasey@xxxxxxxxxxxx> Date: Fri Aug 22 06:27:52 2014 -0400 staging: rtl8192e: fixed coding style issues Fixed missing blank line after declarations issues Signed-off-by: Matthew Casey <mdcasey@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc3b5de8a84ec39a53d87c30901fa95bd1c8141b Author: Hoang Tran <hoangtran.gwr@xxxxxxxxx> Date: Wed Aug 20 19:39:14 2014 +0800 staging: rtl8821ae: fix sparse warning for static declarations in rtl8821ae/stats.c This patch fixes the following sparse warnings in rtl8821ae/stats.c drivers/staging/rtl8821ae/stats.c:62:6: warning: symbol 'rtl_translate_todbm' was not declared. Should it be static? drivers/staging/rtl8821ae/stats.c:101:6: warning: symbol 'rtl_process_ui_rssi' was not declared. Should it be static? Signed-off-by: Hoang Tran <hoangtran.gwr@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 90d88de82cd83852cb5b42f9c0a82708b111a59b Author: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Date: Mon Aug 18 08:40:48 2014 +1000 staging: rtl8188eu: using unique names is good fixes: drivers/staging/built-in.o:(.opd+0xaab8): multiple definition of `rtl88e_phy_rf_config' drivers/net/built-in.o:(.opd+0x78840): first defined here drivers/staging/built-in.o:(.opd+0xa9f8): multiple definition of `rtl88e_download_fw' drivers/net/built-in.o:(.opd+0x781b0): first defined here drivers/staging/built-in.o: In function `.rtl88e_phy_rf_config': (.text+0xe0a00): multiple definition of `.rtl88e_phy_rf_config' drivers/net/built-in.o:(.text+0xe85a48): first defined here drivers/staging/built-in.o: In function `.rtl88e_download_fw': (.text+0xdf28c): multiple definition of `.rtl88e_download_fw' drivers/net/built-in.o:(.text+0xe6f330): first defined here drivers/staging/built-in.o: In function `.rtl88e_phy_mac_config': (.text+0xdf984): multiple definition of `.rtl88e_phy_mac_config' drivers/net/built-in.o:(.text+0xe84a8c): first defined here drivers/staging/built-in.o: In function `.rtl88e_phy_bb_config': (.text+0xdfa2c): multiple definition of `.rtl88e_phy_bb_config' drivers/net/built-in.o:(.text+0xe84d14): first defined here drivers/staging/built-in.o:(.opd+0xaa58): multiple definition of `rtl88e_phy_bb_config' drivers/net/built-in.o:(.opd+0x78828): first defined here drivers/staging/built-in.o:(.opd+0xaa28): multiple definition of `rtl88e_phy_mac_config' Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 964172359150ae034a73aecccabf9bdb8d0b7c2c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 22 22:35:11 2014 +0100 staging: vt6655: rxtx create new structure vnt_tx_short_buf_head for csBeacon_xmit This is a merger of PSTxDataHead_ab and PSTxShortBufHead of which typedef struct tagSTxShortBufHead is removed. This is formed as fifo_ctl, time_stamp, struct vnt_phy_field, duration and time_stamp_off. Replacing stuctures in csBeacon_xmit and doing endian correction where necessary. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09a903b51b19516490f5305342c1dc42046aaa84 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 22 22:35:10 2014 +0100 staging: vt6655: rxtx.h structure vnt_mic_hdr add IEEE80211_CCMP_PN_LEN macro ccmp_pn is the size of IEEE80211_CCMP_PN_LEN (6) Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 20b33b194459867d6df6c87f654c070227b4eb7b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Fri Aug 22 22:35:09 2014 +0100 staging: vt6655: 80211mgr.h add ieee80211.h header and fix conflicts Fix conflict with WLAN_EID macros, by removing them. This allows the adding other definitions from the ieee80211 header. Eventually the 80211mgr.h header will be removed. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43e79c0fb3cafef9bb5c9f048aad4ff2249c9741 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Aug 21 21:40:50 2014 +0100 staging: vt6655: dead code remove device_nics variable The module can not load more than once. Remove device_nics, MAX_UINTS and OPTION_DEFAULT Remove dead index variable from device_get_options Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 33cfce64e73524225df2a7f90b74efafd1a4178a Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Aug 21 21:40:49 2014 +0100 staging: vt6655: remove multiple instances of netdevice. netdevice can only be created once. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70afb8e5037a97d7294955531395b65e225c98e1 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Thu Aug 21 21:40:48 2014 +0100 staging: vt6655: remove multiple instances of driver loading. The driver can only load once from the instance provided by pci_dev. struct vnt_private next, prev and pDevice_Infos are removed. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c28f3253f2c113f86947ee6edacdad8e0c002177 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:31 2014 +0100 staging: vt6655: Remove BBvCalculateParameter and its data members Remove data members bySignalField*, byServiceField*, wTransmitLength* from structures in desc.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 864a5a37aa8c344209482d568ed8abecc38a3600 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:30 2014 +0100 staging: vt6655: card.c change BBvCalculateParameter to vnt_get_phy_field Using vnt_get_phy_field means the values are not in the correct write order the lower word and the upper word need to be swapped over for an u32 write out. Rather create another data variable to manipulate this structure. Create a new union vnt_phy_field_swap with struct vnt_phy_field, the u16 word swap and the u32 write out. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 429a24749562b46b15b87563e32db30fd7c965aa Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:29 2014 +0100 staging: vt6655: rxtx.c change BBvCalculateParameter to function vnt_get_phy_field Removing wLen and pointing to correct member. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 10c174455af444de48ea0fbd2798d8bb0026963f Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:28 2014 +0100 staging: vt6655: baseband add new function vnt_get_phy_field This is a replacement for BBvCalculateParameter for getting the phy fields via struct vnt_phy_field This is a direct copy from the vt6656 driver. BBvCalculateParameter will removed later. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit edbae997a8362a1017c59ef6853deeaea020e0e1 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:27 2014 +0100 staging: vt6655: add new stucture struct vnt_phy_field for rts/cts/data structures This will replace bySignalField*, byServiceField* and wTransmitLength_b members of these strutures, these are removed in the last patch. The len member is of little endian type. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5154b0d0e26545c52350f42b1a4c1e6dc0c4360f Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Wed Aug 20 22:30:26 2014 +0100 staging: vt6655: device.h dead code remove bCCK bCCK is always set to true, the only place it is used is in BBvCalculateParameter which nots the value to false. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e9df6704c1929ffd76e73f4740a468e00c44c11 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 17 20:42:29 2014 +0100 staging: vt6655: remove remaining comments of PLICE_DEBUG Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af925cc721d4f6b0253ab7f9bd5f3a397d910f43 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 17 20:42:28 2014 +0100 staging: vt6655: vntwifi.c remove unused directive PLICE_DEBUG PLICE_DEBUG is not defined remove dead code. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 281a19d21b6c2754490e1d5968a8f49b5909e0aa Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 17 20:42:27 2014 +0100 staging: vt6655: remove PLICE_DEBUG where it is defined Remove macro and directive leaving the code. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97fe1ad03c951c3b3526fab5a5f8765500c72d8b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 17 20:42:26 2014 +0100 staging: vt6655: main_usb.c remove undefined PLICE_DEBUG code. PLICE_DEBUG is not defined in any header for this file. Remove code, references and directives. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b39d60c1dea7389e3dcd1580f59b6717fa6b0159 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 17 20:42:25 2014 +0100 staging: vt6655: Use ether_crc in kernel. ether_crc is already in kernel remove local code and include linux/crc32.h Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65fe76eaa007f7ce7c5c37651217fc58ca571945 Author: Max Vozeler <max@xxxxxxxxxxxxx> Date: Sat Aug 30 15:06:30 2014 +0200 staging: rtl8188eu: Add missing include to pick up prototype This fixes the following sparse warning: drivers/staging/rtl8188eu/hal/HalHWImg8188E_MAC.c:119:6: warning: symbol 'rtl88e_phy_mac_config' was not declared. Should it be static? Signed-off-by: Max Vozeler <max@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48a86ca4df6d1f02ed42d51c974284032a088c13 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Aug 23 19:48:23 2014 +0530 staging: rtl8188eu: Remove unused wrapper function rtw_hal_read_bbreg() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6e264feb6aa24d5369005895be4856debe1aaef4 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sat Aug 23 19:48:22 2014 +0530 staging: rtl8188eu: Rework function phy_CalculateBitShift() Rename CamelCase variables and function name. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2ebf58ba0896613ff99d23b7325e4a6f212c1f3 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Aug 21 11:26:09 2014 +0100 staging: et131x: Implement NAPI support This implements NAPI support for et131x by: -adding a napi_struct to the private adapter struct -changing netfif_rx_skb() call to netif_receive_skb() -changing et131x_handle_recv_interrupt() to et131x_handle_recv_pkts() and taking a budget allocation. -changing et131x_handle_send_interrupt() to et131x_handle_send_pkts() -replacing bottom half workqueue with poll function which handles send & receive of skbs. -adding various other necessary standard napi calls. Also remove this item from the README TODO list. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit df7b3b8a3a38866ce9d21e3aa404c2c02ce8db75 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:57 2014 +0100 staging: et131x: Fix ET_INTR_TXDMA_ISR register name typo We actually mean to clear the ET_INTR_TXDMA_ISR reg after handling a completed transfer, not the ET_INTR_TXDMA_ERR reg, which should get handled immediately after. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b60e6d0ad36cf1a07f346c69d1a92d59b669e65a Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:56 2014 +0100 staging: et131x: Rename NUM_PACKETS_HANDLED to MAX_PACKETS_HANDLED To better describe it's use as a hard limit. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a5835ea5f72aaddfa2b5766e157a14bcd4c728f Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Thu Aug 21 16:02:32 2014 +0100 staging: et131x: Remove unnecessary i2c_wack variable i2c_wack is only used to implement a while(1) loop, so let's remove it. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit becce4a47ea488c8f4f6fc0048085efb6fff72e7 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:54 2014 +0100 staging: et131x: Use for loop to initialise contiguous macstat registers to zero Replace a long list of contiguous writel() calls with a for loop iterating over the same address values. Also remove redundant comments on the macstat registers, the variable names are good enough. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6697b8705196f090dc564fd3bfca9173b30cd288 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:53 2014 +0100 staging: et131x: Use for loop to initialise contiguous registers to zero Replace a long list of contiguous writel() calls with a for loop iterating over the same values. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bcbadc04c5eb4fa21c44d523a0d3ed0e92f6b807 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:52 2014 +0100 staging: et131x: Don't handle rx/tx packets when changing mtu There's no need to handle any rx/tx interrupts in the middle of an mtu change, so don't. After this change, receive and transmit interrupts are only handled in one place, which paves the way to using NAPI. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36087dc1ed80c9d1a4081f7fbd180013378b9021 Author: Mark Einon <mark.einon@xxxxxxxxx> Date: Wed Aug 20 23:17:51 2014 +0100 staging: et131x: Use eth_mac_addr() instead of duplicating the functionality There's already working code to set the mac address, so let's use it. Signed-off-by: Mark Einon <mark.einon@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71f81efb22bc68533fe7a25e98361413d446850a Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sat Aug 30 00:55:01 2014 -0500 staging: comedi: addi_apci_1564: move boilerplate text to addi_apci_1564.c Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 165356c7cc931b5f441e52e5d2227d077b7c8271 Author: Vladimir A. Nazarenko <naszar@xxxxx> Date: Wed Aug 27 17:48:21 2014 +1100 Staging: comedi: Fix code style in jr3_pci.c Static variables are initialised to 0 by GCC. Fixes checkpatch.pl error: ERROR: do not initialise statics to 0 or NULL #684: FILE: jr3_pci.c:684: + static const struct jr3_pci_board *board = NULL; Signed-off-by: Vladimir A. Nazarenko <naszar@xxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b83d9fae0dd0557b75f22edf9da5c4bd7bcf73b2 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Fri Aug 29 20:40:55 2014 -0500 staging: comedi: usbduxsigma: fix sparse endianness warnings Sparse has many warnings like: drivers/staging/comedi/drivers/usbduxsigma.c:293:21: warning: cast to restricted __be32 on lines on which devpriv->in_buf is passed to be32_to_cpu(). This suggests that this variable should actually be of type __be32. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7ae596b8c1464e671f040455c7da2719491c8e43 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Fri Aug 29 20:40:32 2014 -0500 staging: comedi: usbdux: fix sparse endianness warnings Sparse has many warnings like: drivers/staging/comedi/drivers/usbdux.c:366:32: warning: cast to restricted __le16 on lines on which devpriv->in_buf or devpriv->insn_buf are passed to le16_to_cpu(). This suggests that both of these variables should actually be of type __le16. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9f3a7738081d12eef6acf89742a6e568e89b4e03 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Wed Aug 27 20:37:18 2014 +0100 staging: comedi: Kconfig: make COMEDI_BOND select COMEDI_KCOMEDILIB Currently, to select the "comedi_bond" driver, the "kcomedilib" support has to be selected first. It seems more natural to allow the "comedi_bond" driver to be selected on its own and to automatically select the "kcomedilib" module as a result of that. Change the dependency/select relationship between the two configuration options to do that. Also, make "kcomedilib" a module that can be selected independently, perhaps for use by out-of-tree modules, although it is not terribly useful for anything other than "comedi_bond" currently. Also, improve the help text for the config options. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94254d1baec765b22cc5df3a9a16a8cc9a79d406 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 26 10:55:51 2014 +0300 staging: comedi: amplc_pci230: fix a precedence bug The addition operation has higher precedence than ?: so this would write to PCI230_DACOUT1 instead of devpriv->daqio + PCI230_DACOUT1. Fixes: 4f9c63fe5333 ('staging: comedi: amplc_pci230: refactor iobase addresses') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8075bfb67566376f706baa7cbc6b5b0e3eb99318 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:52 2014 -0700 staging: comedi: s626: use comedi_pci_detach() Use comedi_pci_detach() to handle the boilerplate part of the (*detach) for this PCI driver. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3757e79559534e722df93e184078a141dc0bcfa7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:51 2014 -0700 staging: comedi: s626: tidy up freeing of the dma buffers Currently the dma buffers are freed during the detach of the driver using the function s626_close_dma_b(). The buffers are also freed while the interrupt handler is still attached. This could result in a race condition. Refactor the code so that the buffers are freed after the interrupt handler is released and the PCI device is disabled. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d558c5967741e6c551883c58441d29f5440a4ab2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:54 2014 -0700 staging: comedi: gsc_hpdi: tidy up freeing of the dma buffers Factor the freeing of the dma buffers out of the (*detach). Move the freeing of the buffers so that it occurs after the PCI device has been disabled to avoid any race condition. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9804323a84017d370b5bd048a3ddd3069500955 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:53 2014 -0700 staging: comedi: cb_pcidas64: tidy up freeing of the dma buffers Factor the freeing of the dma buffers out of the (*detach). Move the freeing of the buffers so that it occurs after the PCI device has been disabled to avoid any race condition. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit caf6d12d036ea78e8f54c40fa99320416b040c71 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:50 2014 -0700 staging: comedi: icp_multi: remove 'valid' member from private data This member is set at the end of the driver attach and is only used to verify that icp_multi_reset() can be called in the (*detach). The only requirement for icp_multi_reset() to work is that the dev->mmio is valid. Remove the 'valid' member from the private data and use 'dev->mmio' to see if the reset can be done. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6ab5db9ca63377904136dce678f0c42f09f1ce6d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:49 2014 -0700 staging: comedi: adv_pci_dio: remove 'valid' member from private data This member is set at the end of the driver attach and is only used to verify that pci_dio_reset() can be called in the (*detach). The only requirement for pci_dio_reset() to work is that the dev->iobase is valid. Remove the 'valid' member from the private data and use 'dev->iobase' to see if the reset can be done. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aac307f9dd5ce1fe651140a036ab4b0a0571b54a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 17:55:48 2014 -0700 staging: comedi: comedi_pci: introduce comedi_pci_detach() Introduce a generic (*detach) function for comedi PCI drivers to handle the boilerplate code needed to detach a PCI driver. This function works similar to comedi_legacy_detach() where it will: * free the dev->irq if it has been requested * iounmap the dev->mmio addres if it has been ioremap'ed The helper then calls comedi_pci_disable() to release the regions and disable the PCI device. Use the new helper directly for the (*detach) in the following cases: * where comedi_pci_disable() is used directly for the (*detach) * where the detach function is just boilerplate Use the new helper in the (*detach) of the simpler PCI drivers. Call the helper after disabling interrupts (reset) and before any additional cleanup (kfree) to avoid any race conditions with the interrupt handler. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 081b6ee6f1060517a9bcee26418c8ae762c7410e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:55 2014 -0700 staging: comedi: me4000: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 97e658d17381689b8c047e15db3c340dab50b1db Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:54 2014 -0700 staging: comedi: me4000: remove sanity checks in me4000_ao_insn_write() The comedi core does the sanity checking of the comedi_insn before calling the (*insn_write). Remove the unnecessary checks. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3caaf7b7e942c8dce49b02476a8ae8799cf47793 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:53 2014 -0700 staging: comedi: rtd520: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b858206ae96d6a8484c8306bb8149f12206ce026 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:52 2014 -0700 staging: comedi: dt2801: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f88f75fe9c89c3c627659a6cfa91918176674500 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:51 2014 -0700 staging: comedi: cb_pcidas64: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 46da1c8fe35026756154a11909dcc4e3fd4bcf00 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:50 2014 -0700 staging: comedi: cb_pcidas: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0c8fb3867dd3cc191c8de33e79229f629ceb02a2 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:49 2014 -0700 staging: comedi: mf6x4: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 496e7cd9b8f4e8cce2075c934f518c31ed94a47c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:48 2014 -0700 staging: comedi: mf6x4: analog output data does not need extra masking The comedi core validates that all the data values are <= s->maxdata before calling the (*insn_write) function. The extra masking is not needed. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7b20f72892c0d4d45a2323b1ebaa336e980d87e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:47 2014 -0700 staging: comedi: cb_pcimdas: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b26bdebbd5e7408515dea67da6f17d880b8a6ee7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:46 2014 -0700 staging: comedi: cb_pcimdas: cleanup cb_pcimdas_ao_winsn() The comedi core validates the insn->chanspec and data values before calling the (*insn_write) functions. The 'chan' will always be valid and the data values do not need to be masked. Tidy up this function and remove the unnecessary code. For aesthetics, rename the function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d0750cec59b15187e4778d8da8268b00f0db30b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:45 2014 -0700 staging: comedi: ni_670x: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d34b3d41cc5c333330d35d227b665b6dff9512ec Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:44 2014 -0700 staging: comedi: ni_670x: cleanup ni_670x_ao_winsn() For aesthetics, rename this function and tidy it up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b328ad30759bf3134175242cf7ea9a81b1ef02a5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:43 2014 -0700 staging: comedi: dmm32at: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf8e3e3ad467f9e63069d19e56baf40644b7ec03 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:42 2014 -0700 staging: comedi: dmm32at: cleanup dmm32at_ao_winsn() For aesthetics, rename the function and tidy it up a bit. Also rename the registers used by this function and add a macro to set the 'chan' bits in the MSB data register. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15aba0d23987ee921737deb23663a0eb0c6b5697 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:41 2014 -0700 staging: comedi: daqboard2000: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, tidy up the (*insn_write) a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebe1882cf600a235b411a044525c039def88dc8e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:40 2014 -0700 staging: comedi: daqboard2000: remove #if 0'ed out code in ao (*insn_write) This code has been disabled since it's initial commit. It must not be needed so just remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35e769c4717cf08f71cd5c7a9e34aece3ff8852e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:39 2014 -0700 staging: comedi: rti800: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6dc125d2bea484ecee91e43f7ca5ba43d306480b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:38 2014 -0700 staging: comedi: rti800: save unmunged data for ao readback The unmunged data should be saved for readback not the munged data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c2dfc3a5a295331b76919adfa9ecd4d5aea250a1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:37 2014 -0700 staging: comedi: das08: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. The das08_ao_initialize() function is only called when the subdevice is first setup during the attach. It is used to initialize the channels to a known state. Absorb that function to simplify the code a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 862f77363966434c35f1cbc17fcf1fe9cc9f497c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:36 2014 -0700 staging: comedi: das08: fix bug in das08_ao_winsn() The comedi core expects (*insn_write) functions to write insn->n values to the hardware and return the number of values written. Currently, this function only writes the first value. Fix it to work like the core expects. For aesthetics, rename the function and tidy it up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 073d4632600cb76e7452f8eaa25b720fa9a992ca Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:35 2014 -0700 staging: comedi: pcl818: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92b667754628ac86d8354378c839266e07b8a295 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:34 2014 -0700 staging: comedi: quatech_daqp_cs: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e024181b02ed6b833358bede3f2d0c52cb5fb6bc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:33 2014 -0700 staging: comedi: quatech_daqp_cs: fix bug in daqp_ao_insn_write() The comedi core expects (*insn_write) functions to write insn->n values to the hardware and return the number of values written. Currently, this function only writes the first value. Fix it to work like the core expects. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41e7a107104d74d7109a64c80a560f4256db1fdf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:32 2014 -0700 staging: comedi: dt3000: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1fd142ce3d23ea5168b2c0eebca5c9fbdce632ef Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:31 2014 -0700 staging: comedi: ii_pci20kc: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3c17d2eadce4e497a88783a625e07acb31f1dfb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:30 2014 -0700 staging: comedi: ii_pci20kc: save unmunged data for ao readback The unmunged data should be saved for readback not the munged data. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42c7b55cce1c52e9d3f605243e9d389fa6c9213b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:29 2014 -0700 staging: comedi: me_daq: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 61e9332b1cf748673d6fe4217fa21730330a29d1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:28 2014 -0700 staging: comedi: me_daq: fix bug in me_ao_insn_write() The comedi core expects (*insn_write) functions to write insn->n values to the hardware and return the number of values written. Currently, this function only writes the first value. The core also validates all the data values so the extra masking with s->maxdata is not needed. Fix this function to work like the core expects. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e8928754217560c70b1921de1a882cba9a069533 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:27 2014 -0700 staging: comedi: ni_atmio16d: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 898fb5cb5c174dfcdb87e8b1d49b11ecd77678b9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:26 2014 -0700 staging: comedi: ni_atmio16d: cleanup atmio16d_ao_insn_write() The comedi core validates the insn->chanspec and data values before calling the (*insn_write) functions. The 'chan' will always be valid. Tidy up this function up a bit and remove the unnecessary code. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b38d64946f8e78055f742f23678b5ebed674a5b3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:25 2014 -0700 staging: comedi: addi_apci_3xxx: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 38f9980f644a8e5eb06360b7105a6077b1198b89 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:24 2014 -0700 staging: comedi: amplc_pci230: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 23b858dcb6bdd6ec7bbe41de179076486ebc7f18 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:23 2014 -0700 staging: comedi: amplc_pci224: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b00f53e9175ab157b6b1cb157eda8634e822b11 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:22 2014 -0700 staging: comedi: cb_das16_cs: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1d6bffb92fe78d11e18f8853a80d4cc372afc2d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:21 2014 -0700 staging: comedi: addi_apci_3501: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b33bad98afe06cb8bb2751a02bdae2f2531bd4f4 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:20 2014 -0700 staging: comedi: dt2811: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acc5fe2ce36f41f74603d57b635df28a61c94c34 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:19 2014 -0700 staging: comedi: dt9812: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3dd0b514d95b2063c211d5b00940202921cce3ea Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:18 2014 -0700 staging: comedi: das6402: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 58d10f32c4044a44ddf1e4762eeb72a1ac3fb3d7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:17 2014 -0700 staging: comedi: usbduxsigma: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 65a847477f63c913f493d0a489549f24a776bd44 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:16 2014 -0700 staging: comedi: usbdux: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6d977e9fb8c63435ba5dec87e707e088df7e7f8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:15 2014 -0700 staging: comedi: ni_mio_common: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4b01383a66e36a42af803a14de36ed7de179024a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:14 2014 -0700 staging: comedi: pcmmio: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf90bbd6a3bd41af7565118625c87f9c67d7abdb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:13 2014 -0700 staging: comedi: pcmda12: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72e35fd3c5b7fa08b1e39838889718df5fc04f84 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:12 2014 -0700 staging: comedi: ni_at_ao: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 096b4b0a51bd78c03c560847577c0395c3512f3b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:11 2014 -0700 staging: comedi: pcl711: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc49b499723ffd726a24f72fdab0908bff152b27 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:10 2014 -0700 staging: comedi: pcl812: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, tidy up pcl812_ao_insn_write(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 18259ffcbccad9917342ebafab5f22a54dfba8c9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:09 2014 -0700 staging: comedi: s626: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6085cb45b0805f9daee9b68079c1a33c039d7ac Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:08 2014 -0700 staging: comedi: rti802: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6db4a1f5ebea6ecdd147798df3e0b18cdb39e485 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:07 2014 -0700 staging: comedi: s526: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a0062e84c6cee925656210ce5bcc81586bd96f18 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:06 2014 -0700 staging: comedi: pcl726: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bba804d9a336e2eccaf4ad16fccba0f1ee283185 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:05 2014 -0700 staging: comedi: icp_multi: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up a bit. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 559975c175767ccb2f0f9a8231b3fcb3adcd1650 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:04 2014 -0700 staging: comedi: dt282x: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 551739b0d349448ca4bf34c43754c2f1ab7593cc Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:03 2014 -0700 staging: comedi: das16: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 800242553a3fbc42741c95e108655dc4081ac73c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:02 2014 -0700 staging: comedi: adl_pci9111: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2e01ecbb2adae00d99ff26e74f7f7923ec529b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:01 2014 -0700 staging: comedi: cb_pcimdda: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. For aesthetics, rename the (*insn_write) and (*insn_read) functions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a416133abb117fc9cc50ff53762d72296140be39 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:04:00 2014 -0700 staging: comedi: multiq3: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec00fdc8922d1967e8e700e6f7b118e04b760c7a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:59 2014 -0700 staging: comedi: fl512: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 921f1b2eda8c3988b31909ea3f4b83ed059aa3a9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:58 2014 -0700 staging: comedi: dac02: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9ac581336a6ddd781d92e03e6d4f2c17cbac021a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:57 2014 -0700 staging: comedi: aio_aio12_8: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. Remove the unused private data and its allocation. For aesthetics, rename the (*insn_write) function and tidy it up. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da1eed1824e5c7f231a0d256044bb0aa730f45f5 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:56 2014 -0700 staging: comedi: adl_pci6208: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. The loop used to write the values could timeout. Move the saving of the readback value so that the last value written is always saved. Remove the unused private data and its allocation. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b1598f940376e12a3534a105466ac1c29be11c00 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:55 2014 -0700 staging: comedi: skel: use comedi_subdevice 'readback' Use the new comedi_subdevice 'readback' member and the core provided (*insn_read) for the readback of the analog output subdevice channels. For aesthetics, rename the (*insn_write) function and tidy it up a bit. Add a comment about the 'readback' member. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d27620669209e3cc87f13449326eeb68229e4bd0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:03:54 2014 -0700 staging: comedi: add a 'readback' member to comedi_subdevice The analog output hardware in most comedi drivers does not provide a way to readback to last values written to the channels. In order to provide an (*insn_read) for the analog output subdevice, the comedi drivers save the last values for each channel in the private data. Add a new member, 'readback', to the comedi_subdevice definition to provide a common way to save these values. Introduce a comedi core function, comedi_alloc_subdev_readback(), to allocate the memory needed to save the values. This memory will be automatically kfree'd when the driver is detached. Introduce a comedi core function, comedi_readback_insn_read(), that the comedi drivers can use for the (*insn_read) of a subdevice to return the saved values for each channel. This will allow removing the boilerplate in the comedi drivers to return the saved values. In some drivers it will also allow removing the private data completely. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0be9430420457bfffcf4fa7f1ee26dbfd8cedb6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:24:03 2014 -0700 staging: comedi: addi_apci_1032: remove deadcode in apci1032_cos_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cc67b0167a366f4b13935fe05abd58d396c30375 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:24:02 2014 -0700 staging: comedi: addi_apci_1564: remove deadcode in apci1564_cos_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b3cdebbfe22e26c3004eaec91fca1d1851b248d0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:24:01 2014 -0700 staging: comedi: addi_apci_2032: remove deadcode in apci2030_int_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b7e84722063c372c2fe529aca58064475263e2ec Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:24:00 2014 -0700 staging: comedi: amplc_pc236_common: remove deadcode in pc236_intr_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 68bd0f6f3cf38da7a99ff2582a9a64d8f62dd664 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:59 2014 -0700 staging: comedi: comedi_parport: remove deadcode in parport_intr_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 079d062fb5fa7b52be7f4ed67d55f9629a7a3869 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:58 2014 -0700 staging: comedi: dt3000: remove deadcode in dt3k_ai_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6883565484081cbaa5faca18f606bb1088549dec Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:57 2014 -0700 staging: comedi: gsc_hpdi: remove deadcode in gsc_hpdi_cmd_test() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8d44945dc4bf4e091375b1c56bb60c12ec69a7b1 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:56 2014 -0700 staging: comedi: me4000: fix aref test in ai_write_chanlist() The 'aref' (CR_AREF) values are all AREF_* defines. The SDF_* defines are subdevice flags. Fix the test in this function. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a7dab19845cbbb78744b420a9a3d63356caaaf24 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:55 2014 -0700 staging: comedi: me4000: fix aref test in me4000_ai_check_chanlist() The 'aref' (CR_AREF) values are all AREF_* defines. The SDF_* defines are subdevice flags. Fix the test in this function. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 88eb626a7ed9b57e11cf08ddf5a5b2bcfd193961 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:54 2014 -0700 staging: comedi: ni_6527: remove deadcode in ni6527_intr_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f8ee13c6620b526527e0b33227d6e9fd62565c9b Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:53 2014 -0700 staging: comedi: ni_65xx: remove deadcode in ni_65xx_intr_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b32381c5a8fdf5275f3ea680afe77aac5bc38f6e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:52 2014 -0700 staging: comedi: ni_mio_common: remove deadcode in ni_cdio_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cad6daded3feed359b73cee8d1e0962bfac3059f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:51 2014 -0700 staging: comedi: ni_mio_common: remove deadcode in ni_ai_insn_config() The previous mask by 0xf ensures that calib_source will not be > 0xf. Remove the dead code. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0557344e21497fce9475dfe3f41fd92d57d8a274 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:50 2014 -0700 staging: comedi: ni_mio_common: fix local var for 32-bit read The local variable 'd' is used to read a 32-bit register. One branch of the code shifts the register value 16 bits to the right to get the high 16-bits. Change the type of the local variable so that this shift works correctly. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ae2aef64fb10f8c976cd7e95372bab45944d754a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:49 2014 -0700 staging: comedi: ni_tiocmd: remove deadcode in ni_tio_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e24e9216ed9864e54704fb0bdc7e1868f9d61dc8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:48 2014 -0700 staging: comedi: usbdux: remove deadcode in pcl726_intr_cmdtest() Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 25e9398734ebc1ae10028d92ff001b45ce3da67f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:47 2014 -0700 staging: comedi: usbdux: fix errno (EL2NSYNC) check These should both be checking the -errno. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d77ac2c487a37da53e9dd4554a0d6ff1a210fdeb Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:46 2014 -0700 staging: comedi: usbduxsigma: fix kcalloc 'size' argument This code wants to allocate two arrays of struct urb pointers not two arrays of struct urb objects. The size argument for both kcalloc calls should be sizeof(urb) not sizeof(*urb). Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f15f7ccfca183d16e2a47f3a2920d118d7588b8 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:23:45 2014 -0700 staging: comedi: usbduxsigma: fix errno (EL2NSYNC) check These should both be checking the -errno. Reported by: coverity Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b41976933378192871629ba8afa37cfa1003f85 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:33 2014 +0100 staging: comedi: ni_labpc: split common code to ni_labpc_common The "ni_labpc" module is a Comedi driver for the National Instruments Lab-PC series of ISA data acquistion boards, and also provides common code for the "ni_labpc_pci" and "ni_labpci_cs" modules (for PCI boards and PCMCIA cards). Split out the common code into a new module "ni_labpc_common", leaving the driver for the ISA boards in the existing "ni_labpc" module. This removes the C preprocessor conditional directives from the resulting ".c" files (although they remain in the included header file "ni_labpc_isadma.h"). Unneccessary `#include` directives have been removed from the resulting ".c" files. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9439881a38c2bef6807954732768d636ff94c0d5 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:32 2014 +0100 staging: comedi: ni_labpc: break lines after operators For consistency, break lines before operators, not after. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4e3f39b16650db36bdc3f6a456f0a6509b6b6729 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:31 2014 +0100 staging: comedi: ni_labpc: Logical continuations should be on the previous line Fix checkpatch issues "CHECK: Logical continuations should be on the previous line". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd98a4abff8018e11273767404fb9ef3cdf8a807 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:30 2014 +0100 staging: comedi: ni_labpc: Alignment should match open parenthesis Fix checkpatch issues "CHECK: Alignment should match open parenthesis". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6569f098279225258e805e4c9a20805d87ab4277 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:29 2014 +0100 staging: comedi: ni_labpc: use braces on all arms of `if` statement Fix checkpatch issues "CHECK: braces {} should be used on all arms of this statement". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13fec56c96b5b81d425c4eba734b02ab0377e5a7 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Tue Aug 19 16:06:28 2014 +0100 staging: comedi: ni_labpc: remove unnecessary braces in labpc_common_attach() Correct checkpatch issue "WARNING: braces {} are not necessary for any arm of this statement". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bdbb0512205f717301e93421c08765c9af2bbe1c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 30 22:11:37 2014 +0200 staging: lustre: adjust spacing within pointer casts The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ type T; expression e; @@ ( - T * + T * ) e // </smpl> This semantic patch just removes the cast and adds it back, but when it does so, it follows the spacing conventions of Linux. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea2e3182686e2df95e432fdaae66d6b0d1547720 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 17 22:43:44 2014 -0500 staging: comedi: s626: remove unnecessary variable initialization We initialize 'irqbit' to 0, only to properly set it immediately afterwards. Just remove the zero-initialization. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit adb7a4777b47f23fdc67a02b195f3ad4b61946ff Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sun Aug 17 22:43:02 2014 -0500 staging: comedi: dt2801: change function return type to void cppcheck was complaining that the variable 'stat' is being reassigned before the old value is used. Upon inspection, I found that dt2801_writecmd() cannot fail, always returns 0, and most callers already do not bother with assigning its return value anyway, so it makes sense to just change the return type for this function from int to void, and remove the two assignments to 'stat'. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb3f491d3195510af1c79c37a01076b4408a2e3c Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sat Aug 16 23:26:11 2014 -0500 staging: comedi: dt3000: remove unneeded variable Coccinelle (using scripts/coccinelle/tests/doublebitand.cocci) found this assignment because 0 is or'd twice. Upon inspection, I found that the variable "mode" is only assigned once and used once, and thus can be cleanly removed. This patch plugs its value straight into writew() and then removes the variable. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5283aab0483020a13b83cca09a840e50c4a2f9c Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sat Aug 16 23:25:51 2014 -0500 staging: comedi: addi_apci_1564: correct typo in macro definition A recent commit introduced a typo in the definition of APCI1564_DO_CC_INT_DISABLE. The macro is not use yet, so not a huge deal, but this patch corrects it. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6caf60158821699e772a9545b030c7254519078e Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Sat Aug 16 23:25:16 2014 -0500 staging: comedi: addi_apci_1564: add whitespace to subdevice init For purely aesthetic purposes, add some whitespace to subdevice initialization. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2d7f1d1c37e86a5a3cc4055fc761fbf7bdcb4988 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:58:01 2014 +0300 staging: xillybus: Removed read barrier at beginning of ISR The comment (also removed) explains why it was there in the first place, but that doesn't make much sense. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9959078c96748effba0a6a7c0fc5a2ec5f738129 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:58:00 2014 +0300 staging: xillybus: Removed unnecessary smp_wmb() These memory barriers were added "just to be safe". Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21fc0b9f9de43c761d8c86bb481abd99053daced Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:57:59 2014 +0300 staging: xillybus: Removed write memory barriers before wait_event_*() According to Documentation/memory-barriers.txt, a memory barrier is put in place by wait_event_*() Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fdde3668fc0f2520327f69bef97e4ab0e659043 Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:57:58 2014 +0300 staging: xillybus: Removed mmiowb() as iowrite32() is ordered mmiowb() was used to make sure that iowrite32() take place in the correct order, which is an unnecessary precuation. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f66a49766fdfcb8186056bd44a407594c6a3d5ff Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:57:57 2014 +0300 staging: xillybus: Removed mmiowb() before mutex_unlock() The relevant sequences consist of two I/O memory writes. The second write depends on the first one. mmiowb() was inserted to make sure that no other thread inserts a "first write" before the current one finished its second. As a mutex protects this critical sequence, mmiowb() is unnecessary. Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5b2e028bb47b4d6f4508e41120cfb2ea8aa9cac Author: Eli Billauer <eli.billauer@xxxxxxxxx> Date: Sat Aug 16 18:57:56 2014 +0300 staging: xillybus: Remove mmiowb() before wait_event_*() calls According to Documentation/memory-barriers.txt, a memory barrier is put in place by wait_event_*() Signed-off-by: Eli Billauer <eli.billauer@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a4102f90e87cfaa3fdbed6fdf469b23f0eeb4bfd Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Sat Aug 30 13:10:25 2014 -0700 staging: remove nokia_hp4p driver The Bluetooth maintainer has been complaining about it for a while, and I shouldn't have merged it over his objections. There also has been no real work done on it at all to get it out of the staging tree, so just delete the code for now. If someone wants to get this fixed up properly, feel free to revert this commit and send the revert, along with cleanups and we will be glad to consider it. Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: Pali Rohár <pali.rohar@xxxxxxxxx> Cc: Pavel Machek <pavel@xxxxxx>, Cc: Miguel Oliveira <cmroliv@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca801795b17b13a105b5209cf451abac3a6529ff Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Tue Aug 19 16:25:00 2014 +0100 iio: accel: kxcjk-1013: add support for kxcj9-1008 This patch adds support for KXCJ9-1008 3-axis acceleromenter sensor. KXCJ9-1008 uses the same register definitions as KXCJK-1013. The specification for KXCJ9-1008 can be downloaded from: http://www.kionix.com/sites/default/files/KXCJ9-1008%20Specifications%20Rev%205.pdf Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 86128a0dd6c691f6356c9fb81e1ade5d4ff89ea8 Author: Andrew Plummer <plummer574@xxxxxxxxx> Date: Fri Aug 29 21:50:16 2014 +0100 Staging: bcm: LeakyBucket: format kernel-docs Remove insignificant spaces before tabs in comments. Signed-off-by: Andrew Plummer <plummer574@xxxxxxxxx> Reviewed-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5aa89392fad217fae7df361dc812a27d5177d980 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Jul 23 22:24:00 2014 +0100 dt-bindings: document Rockchip saradc This add the necessary binding documentation for the saradc found in all recent processors from Rockchip. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7f90417bb9c7f4638f87d75a24a22afc7cebc100 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 13:03:29 2014 +0200 Staging: bcm: Bcmnet.c: Renamed variable: "IntfAdapter" -> "intf_ad" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dd1e5542c1f1bbec2f66e30470b529cf8e30ad6 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 13:03:31 2014 +0200 Staging: bcm: Bcmnet.c: Renamed variable: "psIntfAdapter" -> "intf_ad" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d07b030130b94dfa527e010b66f0162699377035 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 13:03:30 2014 +0200 Staging: bcm: Bcmnet.c: Renamed variable: "Adapter" -> "ad" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e324ae64c6777c0afd434c1b2081c9b8fcaf67c2 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:15 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "NOB" -> "nob" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b67bc7788f1bcfb0ac17719d9859ebb177cefb3a Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:14 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pTarang" -> "tarang" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ad4a9e6d996f5ca57cb1c20f9d17a4e0d7cfbcba Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:13 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "stTimeElapsedSinceNetEntry" -> "time_elapsed_since_net_entry" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bafa367468ed3a1d9d31d2651bab963f4ee5ae9a Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:12 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "DevInfo" -> "dev_info" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd8107b2b2dc9fb1113bfe1a9cf2533ee19c57ee Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:11 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "RxCntrlMsgBitMask" -> "rx_cntrl_msg_bit_mask" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b2318a19f71e22cedf7ee97efe368fe9c5bb3d6 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:10 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "ReadOffset" -> "read_offset" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd5148325d05a1b8e8fae92ea62b8d763ad883b1 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:09 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "stNVMRead" -> "nvm_read" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f1d98eab69ba478ceb40f4e0400fcdab98ae380 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:08 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "SectOfset" -> "sect_offset" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50a9e6fe6dadc0fc4800beaf8f35042bc463eefc Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:07 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "sCopySectStrut" -> "copy_sect_strut" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d35be09d772eaa30f2aa088872dab8245352e5f2 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:06 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "eFlash2xSectionVal" -> "flash_2x_section_val" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d16c8489c164dad8bd3469aae591bc3db3a8c8c2 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:05 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "psFlash2xBitMap" -> "flash_2x_bit_map" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 57240f04343177ae505ec422501f495f367d11a8 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:04 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "WriteOffset" -> "write_off" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1b81edbc3d3c7a26f812a6d65f10fe203f3883be Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:03 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "InputAddr" -> "input_addr" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63f7a797f698e5f598600d2da316b2db472a8bd7 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:02 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pWriteBuff" -> "write_buff" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b69e66bcc03b3fd8f108753b5dd682f1e91a9bf2 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:01 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "WriteBytes" -> "write_bytes" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca3c80c2801cee676a95523f7673041537845df5 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:58:00 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "ReadBytes" -> "read_bytes" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ac56aa228a1cada777bd0a70f034522f09e1e758 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:59 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "BuffSize" -> "buff_size" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3416bc87237d9bb76f355861add826b87dd00b40 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:58 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pReadBuff" -> "read_buff" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddf559a91adce5a45da1bf1e4a0bdeb4594dad6d Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:57 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "sFlash2xRead" -> "flash_2x_read" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f45700481f011a4dc27ea393514bd6e044bc370a Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:56 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pReadData" -> "read_data" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bad5f56d0eb7a09876a5dcc05a927b5d271ebfe4 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:55 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "stNVMReadWrite" -> "nvm_rw" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0622a6f46cd0c1cb16d14097a0e2872cf0e67c6f Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:54 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "sUserDebugState" -> "user_debug_state" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 70edad0eaa2517d30823f2fde577b67a0445b0a4 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:53 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "uiSectorSize" -> "sector_size" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit db1f4df0b3a298ce10e9b8f2a066d43844f3f373 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:52 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "uiTempVar" -> "tmp" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81d69c748ae596c1fb199bf6d275f2697dadd719 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:51 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pBulkBuffer" -> "bulk_buff" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27c31808014ae8b61e9a752460d900bda177ec12 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:50 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "uiData" -> "data" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2955572eaaa4171cd5a9e99d1750d44b23888bbf Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:49 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "uiLoopIndex" -> "i" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7029fbb7611ca150f3d377dad9a47c4f94a307a6 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:48 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "NVMAccess" -> "nvm_access" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f262b21dab0834ca09979fb404922c5f561eeed Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:47 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "psFwInfo" -> "fw_info" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea3d010d3ba6ec73cb4c6cbd5dbf7ee044605c1f Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:46 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "ulSFId" -> "sf_id" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9940ea6b6efd44f05727d1611803e6ea2835994 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:45 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "pvBuffer" -> "buff" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ed2c01674015419e7e4d4d98c4e41f49e00b52f Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:44 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "ucResetValue" -> "reset_val" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ab1b7f2ae07bb0505c9f8e56ce79da87ed8c2b1 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:43 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "Status" -> "status" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92dae16fb42c33869aa6d1b9d4ef78a079235c5c Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:42 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "ucRead" -> "read" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a00765a0dae0516e61d41bddfe7be609e085266f Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:41 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "uiBit" -> "bit" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9b62b9636c9e6a2957eeb3feaec02c480d7715f5 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:40 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "IoBuffer" -> "io_buff" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 657c65dd666058c3783796f3f844c6507c78d5f0 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:39 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "threadReq" -> "thread_req" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11d37b1f36c83e80267630c9856eb205b7426e0b Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:57:38 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable: "Adapter" -> "ad" Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2a2c9cea711348a4860e1ac0b414eea0e6f56bc2 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Mon Aug 18 12:38:31 2014 +0200 Staging: bcm: Bcmchar.c: Fixed debug output The output prints some struct variable contents, but uses a wrong variable name. This is fixed by this patch. Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42e7f1df4e731df3d5e658852b80c0657b019b31 Author: Marco Cyriacks <marco@xxxxxxxxxxxx> Date: Fri Aug 22 22:08:06 2014 +0200 staging: lustre: socklnd: Remove static initialization to NULL or 0 This patch fixes the following coding style issue: ERROR: do not initialise statics to 0 or NULL Signed-off-by: Marco Cyriacks <marco@xxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 89180ca750f42ca701d7851e431c7b4cfc298b81 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 30 16:41:23 2014 +0200 staging: lustre: fid,fld: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 34e1f2bb1e7ab87c2b950189f7ccae57a72f25a8 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 30 16:24:55 2014 +0200 staging: lustre: llite: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; @@ if (...) GOTO(lbl,...); +else GOTO(lbl,...); @@ identifier lbl,rc; constant c; expression e,e1; @@ if ( - e + !e ) - GOTO(lbl,\(rc\|c\)); -else GOTO(lbl,e1); + e1; +goto lbl; @@ identifier lbl,rc; constant c; expression e,e1; @@ if (e) - GOTO(lbl,e1); -else GOTO(lbl,\(rc\|c\)); + e1; +goto lbl; @@ identifier lbl; expression e,e1,e2; @@ if (e) - GOTO(lbl,e1); -else GOTO(lbl,e2); + e1; +else e2; +goto lbl; // ------------------------------------------------------------------------ @@ identifier lbl,rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> The rules above the line deal with the case where the goto desination is the same whether or not the the branch is taken. In that case, the goto is created in just one instance after the if. This affects only the files namei.c and llite_lib.c. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ebcb983639ab007ce75a243e188c730fb0e6f1af Author: Janet Liu <jianhua.ljh@xxxxxxxxx> Date: Sat Aug 30 14:59:04 2014 +0800 staging:lustre:lnet lib-md.c erase space before ')' for code style Silences the following error: ERROR: space prohibited before that close parenthesis ')' Signed-off-by: Janet Liu <jianhua.ljh@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fc8b040d5b995b2835c719a8cefb2548eee9ca8a Author: Janet Liu <jianhua.ljh@xxxxxxxxx> Date: Sat Aug 30 14:56:09 2014 +0800 staging:lustre:lnet: lib-md.c delete space before '(' for code style Silences the following checkpatch warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Janet Liu <jianhua.ljh@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6cc9e6124dab4b6f780941e67a3df3ab924cd689 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:19 2014 -0500 staging/lustre: remove linux/obd_support.h Remove the superfluous header lustre/include/linux/obd_support.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 616331c3d36c066dd49f707d2bef06673beb105d Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:18 2014 -0500 staging/lustre: remove linux/obd_class.h Kill the macro ll_inode_flags() and remove the superfluous header lustre/include/linux/obd_class.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 39c933416898eaaf23f2e3001fabc57cee484e7a Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:17 2014 -0500 staging/lustre: remove linux/lustre_quota.h Remove the superfluous header lustre/include/linux/lustre_quota.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48186028836dfaccc7ce556e1973f6a1b07374eb Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:16 2014 -0500 staging/lustre: remove linux/lustre_net.h Remove the superfluous header lustre/include/linux/lustre_net.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eed766c163bc3752e6bec97eb405a51a996af14d Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:15 2014 -0500 staging/lustre: remove linux/lustre_log.h Remove the superfluous header lustre/include/linux/lustre_log.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 376ef86bfa38137d6c50ca1a5e63fee69682c0d8 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:14 2014 -0500 staging/lustre: remove linux/lustre_lib.h Inline the only call to inode_init_lvb(). Move some definitions from lustre/include/linux/lustre_lib.h to lustre/include/lustre_lib.h and remove the first header. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00d65ec8e158121638ad8fa049b5f58960ad560c Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:13 2014 -0500 staging/lustre: move lustre_intent.h to .. Move lustre/include/linux/lustre_intent.h to lustre/include. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8504a9e54437949003bb7aabfaa79c9c26bbf00e Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:12 2014 -0500 staging/lustre: remove linux/lustre_handles.h Remove lustre/include/linux/lustre_acl.h and kill the cfs_rcu_head_t typedef. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a1805124a54139ae6a67d8ad4fe5fd3de4806181 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:11 2014 -0500 staging/lustre: remove linux/lustre_dlm.h Remove the superfluous header lustre/include/linux/lustre_dlm.h. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ec0859da8c325316eff942beedc4b749b5543188 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:10 2014 -0500 staging/lustre remove linux/lustre_acl.h Move the contents of lustre/include/linux/lustre_acl.h to lustre/include/lustre_acl.h and remove the first header. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9c7db391a7b46fd2f800671cb67c514c138ddab Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Thu Aug 28 18:35:09 2014 -0500 staging/lustre: remove linux/lprocfs_status.h Remove lustre/include/linux/lprocfs_status.h. Include linux/statfs.h where needed. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1144b19fcfac53d94eb73b53f783cec130634a1f Author: Mario Schlegel <m.schlegel@xxxxxxxxx> Date: Thu Aug 28 21:54:18 2014 +0200 staging: lustre: osc: add blank line after declarations fixed a coding style issue Signed-off-by: Mario Schlegel <m.schlegel@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aa075d31d2e0c5d735d72f2e901526e71ebb2ac7 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Aug 28 14:54:23 2014 -0400 staging/lustre: remove unused request policies. Client policies do not make much sense to have in client-only code, so remove all references to everything but fifo. This also removes lustre/libcfs/heap.c and its header, since it was only used by certain request policies (crr and orr). Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 986f7b96532da3592e5fdf4492480d7f0e222c80 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Aug 28 14:54:22 2014 -0400 staging/lustre/obdclass: remove unused file linkea.c Also unused header file lustre_linkea.h Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff9b828252bc5145733bd2dffcdbaa752c6443d6 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Aug 28 14:54:21 2014 -0400 staging/lustre/obdclass: remove unused file llog_lvfs.c This contains server-side llog operations. Also remove declaration of public structure from lustre_log.h Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb21ed15439e47be7998e3bbe7a581eb82ed45c8 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Thu Aug 28 14:54:20 2014 -0400 staging/lustre/obdclass: remove unused file md_attrs.c It's only used by server side luster for on-disk structure swabbing. And also remove forward declarations for its functions from md_object.h and lustre_idl.h Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74d3ba9822fd95ddd6dbb97c9a7d3d928791a7be Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Aug 28 20:03:37 2014 +0200 staging: lustre: mgc: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 36b7d8e62269a9da130f447354840f3a37b5470d Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Aug 28 19:47:00 2014 +0200 staging: lustre: mgc: remove unused file This file contains unresolved references and is not mentioned in the Makefile. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 973dbcbbd9b88976187d72cd6887a93d006871ba Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Aug 28 19:42:45 2014 +0200 staging: lustre: obdech: remove unused file This file contains unresolved references and is not mentioned in the Makefile. Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d5fdc207845b64584a71fb75edc04fdfee3bacbc Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Thu Aug 28 12:10:35 2014 +0200 staging: lustre: mdc: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4d54556f791318f49fed3b254ffd6248f35a207c Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Wed Aug 27 23:01:34 2014 +0200 staging: lustre: lmv: expand the GOTO macro The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier lbl; identifier rc; constant c; @@ - GOTO(lbl,\(rc\|c\)); + goto lbl; @@ identifier lbl; expression rc; @@ - GOTO(lbl,rc); + rc; + goto lbl; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fbe7c6c72a8f36e78cf3886573bbc0fdd0aa55b5 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Tue Aug 26 22:00:33 2014 +0200 staging: lustre: remove parentheses from return arguments The semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier i; constant c; @@ return - ( \(i\|-i\|i(...)\|c\) - ) ; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d8cb70c7bdda47125ed551fc390aa9597c5f264 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Mon Aug 25 20:07:19 2014 -0500 drivers: staging: lustre: Fix space required after that ',' errors Fix checkpatch.pl space required after that ',' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4873972b407742b1ad6f6cc5c53e0b5e5cb0cf2f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 13:20:27 2014 +0200 lustre: obdclass: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9d0b2b7a079599c69ef23109b3851d1cdd159c2e Author: Greg Donald <gdonald@xxxxxxxxx> Date: Fri Aug 22 09:06:15 2014 -0500 drivers: staging: lustre: Fix that open brace { should be on the previous line errors Fix checkpatch.pl that open brace { should be on the previous line errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a58a38ac0d94ccafdc1ae3c0ece750cbb9ca34c9 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Aug 21 12:40:35 2014 -0500 drivers: staging: lustre: Fix space required before the open parenthesis '(' errors Fix checkpatch.pl space required before the open parenthesis '(' errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aff9d8e80489e2abe446094680009f6a23e8e6d7 Author: Greg Donald <gdonald@xxxxxxxxx> Date: Thu Aug 21 11:07:42 2014 -0500 drivers: staging: lustre: lustre: Fix "foo * bar" should be "foo *bar" errors Fix checkpatch.pl "foo * bar" should be "foo *bar" errors Signed-off-by: Greg Donald <gdonald@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dc13eb86fdef902facdc95da1f6f3f29c3b04e22 Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Wed Aug 20 00:56:28 2014 +0530 staging: lustre: lustre: ptlrpc: Placing inline keyword This patch fixes the following error using checkpatch.pl ERROR: inline keyword should sit between storage class and type Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f9cd474f86db4572a559a2c855b6f42aba713247 Author: Phong Tran <tranmanphong@xxxxxxxxx> Date: Tue Aug 19 22:45:50 2014 +0700 staging: lustre: lnet: socklnd_cb.c Fix sparse non-static symbol warning This patch fixes some non static function declarations that cause sparse warning. Tested by compilation. Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11c8779bc0e0002f2a3dd5400c1e2cff584b90d9 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Sun Aug 17 13:13:51 2014 -0400 lustre: Add some basic documentation This adds drivers/staging/lustre/README.txt with some basic information about Lustre and how to use it. Eventually this will need to move to Documentation/filesystems/lustre.txt Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f5e5de1e9edf1ac47c4e13a4ff864e76d8eb1fe1 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Aug 15 12:48:14 2014 -0400 lustre: Add MAINTAINERS entry Just add the entry with some info. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 811b700630ff328c52ddf17d653ffdcb0ba87d30 Author: Beniamino Galvani <b.galvani@xxxxxxxxx> Date: Sat Aug 30 14:50:24 2014 +0200 regulator: rn5t618: add driver for Ricoh RN5T618 regulators This driver supports the 3 DCDC and 7 LDO regulators available on Ricoh RN5T618 PMIC. Signed-off-by: Beniamino Galvani <b.galvani@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b31b05cf629574d47b324bb52128ed1b199faccd Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Fri Aug 29 09:38:00 2014 +0100 iio: accel: BMC150: fix issues when CONFIG_PM_RUNTIME is not set When CONFIG_PM_RUNTIME is not set, the following issues are seen: * warning message at compilation time: warning: 'bmc150_accel_get_startup_times' defined but not used [-Wunused-function] * bmc150_accel_set_power_state() will always fail and reading the accelerometer data is impossible; This occurs because of the call to pm_runtime_put_autosuspend calls __pm_runtime_suspend which returns -ENOSYS. This commit fixes these. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 823615e2de6880de3c8e681333147a09719f6fdb Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Fri Aug 29 09:38:00 2014 +0100 iio: accel: BMC150: fix scale value for 16G According to documentation ([1] - page 27), the range for 16G is 7.81mg/LSB. Converted to SI, this is: 7.81 * 10^-3 * 9.80665 m/s^2 / LSB = 0.0765899365 m/s^2 / LSB [1] http://ae-bst.resource.bosch.com/media/products/dokumente/bmc150/BST-BMC150-DS000-04.pdf Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 609acefa46090fbe814aa5dbfec79338b49cf784 Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Fri Aug 29 15:26:00 2014 +0100 staging: iio: light: isl29018: add support for isl29023 and isl29035 Intersil chips ISL29018, ISL29023 and ISL29035 are very similar. They're all ambience light sensors. The ISL29018, however, is also a proximity sensor. The registers are similar too: -------------+----------+---------- AVAILABLE IN | ADDR REG | NAME 290xx | | -------------+----------+---------- 18/23/35| 00h| COMMANDI 18/23/35| 01h| COMMANDII (B4-7 are used only in 29018 for proximity) 18/23/35| 02h| DATALSB 18/23/35| 03h| DATAMSB 18/23/35| 04h| INT_LT_LSB 18/23/35| 05h| INT_LT_MSB 18/23/35| 06h| INT_HT_LSB 18/23/35| 07h| INT_HT_MSB 18/23| 08h| TEST 35| 0Fh| ID -------------+----------+----------- So, this patch will add support for ISL29023 and ISL29035 to the existing isl29018 driver. Since these 2 chips don't have proximity detection, the proximity sysfs attribute is not needed. Also, for ISL29035, since it has an ID register, make use of it in order to properly detect the chip and clear the brownout bit. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5b4b5b9c6851418268cd0d5949942ba262106938 Author: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Date: Fri Aug 29 15:26:00 2014 +0100 staging: iio: light: isl29018: fix typo isl29108 was used, instead of isl29018. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3c8bf223469b4db4d63e1dd8bdbde5ffb32d0cba Author: Lee Jones <lee.jones@xxxxxxxxxx> Date: Thu Aug 28 14:14:00 2014 +0100 iio: sensors-core: st: Check st_sensors_set_drdy_int_pin()'s return value Value from st_sensors_set_drdy_int_pin() is assigned to err here, but that stored value is not used before it is overwritten. To fix this we're enforcing a check on st_sensors_set_drdy_int_pin()'s return value and if it's an error, we're returning right away. Cc: jic23@xxxxxxxxxx Cc: linux-iio@xxxxxxxxxxxxxxx Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 3068ab202e637d5e46831a2276c3849d97655192 Author: Josh Wu <josh.wu@xxxxxxxxx> Date: Wed Aug 27 09:31:00 2014 +0100 iio: adc: at91: make the function handle_adc_eoc_trigger() static The handle_adc_eoc_trigger() in only used in at91_adc.c. So make it static. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit dd8f17a120d00e93b5f76d5904f5ea31934f0a90 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Tue Aug 26 23:40:00 2014 +0100 iio: adc: rockchip_saradc: remove unused variable in probe The rate variable in the probe function of the saradc is a remnant of a previous patch iteration. It is unused and thus produces a compile time warning. Therefore remove it. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 63d1157dedd79e37bbc3f68f6a9886c5eeb99c27 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Fri Aug 29 04:56:00 2014 +0100 iio: imu: inv_mpu6050: Remove casting the return value which is a void pointer Casting the return value which is a void pointer is redundant. The conversion from void pointer to any other pointer type is guaranteed by the C programming language. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit dace1b54726bffe1c009f7661e3cee6b762f30c8 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Thu Aug 28 12:59:46 2014 +0800 net: stmmac: fix warning from Sparse for socfpga Warning: drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c:122:41: sparse: cast removes address space of expression drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c:122:38: sparse: incorrect type in assignment (different address spaces) Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> Acked-by: Giuseppe Cavallaro <peppe.cavallaro@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 030824e039d6702ee309bf7441c446038d6a43f7 Merge: 96d4922 71d7a27 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 20:41:17 2014 -0700 Merge branch 'csums-next' Tom Herbert says: ==================== net: Checksum offload changes - Part VI I am working on overhauling RX checksum offload. Goals of this effort are: - Specify what exactly it means when driver returns CHECKSUM_UNNECESSARY - Preserve CHECKSUM_COMPLETE through encapsulation layers - Don't do skb_checksum more than once per packet - Unify GRO and non-GRO csum verification as much as possible - Unify the checksum functions (checksum_init) - Simplify code What is in this sixth patch set: - Clarify the specific requirements of devices returning CHECKSUM_UNNECESSARY (comments in skbuff.h). - Add csum_level field to skbuff. This is used to express how many checksums are covered by CHECKSUM_UNNECESSARY (stores n - 1). - Change __skb_checksum_validate_needed to "consume" each checksum as indicated by csum_level as layers of the the packet are parsed. - Remove skb_pop_rcv_encapsulation, no longer needed in the new csum_level model. - Allow GRO path to "consume" checksums provided in CHECKSUM_UNNECESSARY and to report new verfied checksums for use in normal path fallback. - Add proper support to SCTP to accept CHECKSUM_UNNECESSARY to validate header CRC. - Modify drivers to set skb->csum_level instead of setting skb->encapsulation to indicate validation of an encapsulated checksum on receive. v2: Allocate a new 16 bits for flags in skbuff. Please review carefully and test if possible, mucking with basic checksum functions is always a little precarious :-) ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 71d7a2772510a05a2cec4d005f984043827718e1 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:28:01 2014 -0700 qlcnic: Set skb->csum_level for encapsulated checksum Set skb->csum_level instead of skb->encapsulation when indicating CHECKSUM_UNNECESSARY for an encapsulated checksum. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9ca8600ec1e2ea209b20a38d618ab2c00e86da28 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:27:53 2014 -0700 mlx4: Set skb->csum_level for encapsulated checksum Set skb->csum_level instead of skb->encapsulation when indicating CHECKSUM_UNNECESSARY for an encapsulated checksum. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 407fa0853c4c5427f7da4c435372f40d8adca4d4 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:27:43 2014 -0700 i40evf: Set skb->csum_level for encapsulated checksum Set skb->csum_level instead of skb->encapsulation when indicating CHECKSUM_UNNECESSARY for an encapsulated checksum. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa4ba69b246b6cba9b7ba447a385ed5c81cd552d Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:27:32 2014 -0700 i40e: Set skb->csum_level for encapsulated checksum Set skb->csum_level instead of skb->encapsulation when indicating CHECKSUM_UNNECESSARY for an encapsulated checksum. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b6c0e89dd3a1b22e77fb495a0364a6883cfe81be Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:27:17 2014 -0700 benet: Set skb->csum_level for encapsulated checksum Set skb->csum_level instead of skb->encapsulation when indicating CHECKSUM_UNNECESSARY for an encapsulated checksum. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 202863fe4c7a5b0b9a3d3a00d207691635b31930 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:27:06 2014 -0700 sctp: Change sctp to implement csum_levels CHECKSUM_UNNECESSARY may be applied to the SCTP CRC so we need to appropriate account for this by decrementing csum_level. This is done by calling __skb_dec_checksum_unnecessary. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 662880f4420340aad4f9a62a349c6c9d4faa1a5d Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:26:56 2014 -0700 net: Allow GRO to use and set levels of checksum unnecessary Allow GRO path to "consume" checksums provided in CHECKSUM_UNNECESSARY and to report new checksums verfied for use in fallback to normal path. Change GRO checksum path to track csum_level using a csum_cnt field in NAPI_GRO_CB. On GRO initialization, if ip_summed is CHECKSUM_UNNECESSARY set NAPI_GRO_CB(skb)->csum_cnt to skb->csum_level + 1. For each checksum verified, decrement NAPI_GRO_CB(skb)->csum_cnt while its greater than zero. If a checksum is verfied and NAPI_GRO_CB(skb)->csum_cnt == 0, we have verified a deeper checksum than originally indicated in skbuf so increment csum_level (or initialize to CHECKSUM_UNNECESSARY if ip_summed is CHECKSUM_NONE or CHECKSUM_COMPLETE). Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 77cffe23c1f88835f6bd7b47bfa0c060c2969828 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:26:46 2014 -0700 net: Clarification of CHECKSUM_UNNECESSARY This patch: - Clarifies the specific requirements of devices returning CHECKSUM_UNNECESSARY (comments in skbuff.h). - Adds csum_level field to skbuff. This is used to express how many checksums are covered by CHECKSUM_UNNECESSARY (stores n - 1). This replaces the overloading of skb->encapsulation, that field is is now only used to indicate inner headers are valid. - Change __skb_checksum_validate_needed to "consume" each checksum as indicated by csum_level as layers of the the packet are parsed. - Remove skb_pop_rcv_encapsulation, no longer needed in the new csum_level model. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit de20fe8e2cc3c4ca13fdb529e6720d9d199333fe Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Wed Aug 27 21:26:35 2014 -0700 net: Allocate a new 16 bits for flags in skbuff Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 96d49225a49536359e984fc4f21a87252aad8959 Author: Rick Jones <rick.jones2@xxxxxx> Date: Thu Aug 28 08:53:16 2014 -0700 be2net: Use dev_consume_skb_any() in the non-drop path The be2net driver was still using dev_kfree_skb_any() in a "normal" skb freeing path. This rather clutters perf top -G -e skb_kfree_skb profiling. Signed-off-by: Rick Jones <rick.jones2@xxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 56daf66d3ca9558a71683779eec4f03c878f4de2 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Thu Aug 28 08:07:32 2014 +0300 bnx2x: Fix sparse warnings This fixes a sprase warning introduced recently by commit eeed018cbfa30 ("bnx2x: Add timestamping and PTP hardware clock support"), as well as another unrelated sparse endian issue. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 918bbc4ffdb84e9d2696315e427a6c43de65bc01 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:44:34 2014 +0200 include/rxrpc/types.h: Remove unused header The header file include/rxrpc/types.h does not seem to be used anywhere. It was orphaned by 63b6be55 "[AF_RXRPC]: Delete the old RxRPC code.". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6fb7c3778f0fba0bad099c30e834c413c4f8bcb5 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:44:33 2014 +0200 include/linux/phonedev.h: Remove unused header The header file include/linux/phonedev.h does not seem to be used anywhere. It was orphaned by 7326446c "Staging: remove telephony drivers". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fbd74659d4513816a6249b0db491e8d831803520 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:44:32 2014 +0200 include/linux/i82593.h: Remove unused header The header file include/linux/i82593.h does not seem to be used anywhere. It was orphaned by 8a594170 "drivers/net: delete intel i825xx based znet notebook driver". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 18fe8db5f2b53e4ac67b47048f24f50c57a2a759 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:44:31 2014 +0200 include/linux/cycx_x25.h: Remove unused header The header file include/linux/cycx_x25.h does not seem to be used anywhere. It was orphaned by 6fcdf4facb "wanrouter: delete now orphaned header content, files/drivers". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc086fcf92996965f0dcf05c6641d65381705266 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Thu Aug 28 10:02:41 2014 +0800 tipc: fix a potential oops Commit 6c9808ce09f7 ("tipc: remove port_lock") accidentally involves a potential bug: when tipc socket instance(tsk) is not got with given reference number in tipc_sk_get(), tsk is set to NULL. Subsequently we jump to exit label where to decrease socket reference counter pointed by tsk pointer in tipc_sk_put(). However, As now tsk is NULL, oops may happen because of touching a NULL pointer. Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Acked-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 52c826db6d4b638677683c79e6c465b99074be74 Author: Wang Shilong <wshilong@xxxxxxx> Date: Fri Aug 29 23:20:44 2014 -0400 ext4: remove a duplicate call in ext4_init_new_dir() ext4_journal_get_write_access() has just been called in ext4_append() calling it again here is duplicated. Signed-off-by: Wang Shilong <wshilong@xxxxxxx> Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 574746ddeca959cba407d6b556f96cb580fca8af Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 11:44:33 2014 -0700 net: phy: properly report internal PHYs through sysfs Internal PHYs may not have a valid PHY interface defined, which will show up in sysfs as "". Add an explicit check of internal PHYs to report their interface correctly. Fixes: 3d055d8d1c24 ("net: phy: expose PHY device interface mode") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 879ece6ecb2107ef1bbc3332cb2fea54c7d3a636 Merge: 10c51b5623 07fbc6b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 29 20:15:42 2014 -0700 Merge branch 'qlcnic-next' Shahed Shaikh says: ==================== qlcnic: Feature addition and enhancements This series contains following feature addition and enhancements, - Update Link speed and Port type information for 83xx series adapters - Support 0x8830 device ID - Support for Power on Self Test (POST) feature for 83xx - Use usleep_range() instead of msleep() for values less than 20ms ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07fbc6b79f63ae2a3e6afb88ec1b18abbf0430a0 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Wed Aug 27 12:43:22 2014 -0400 qlcnic: Update version to 5.3.62 Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9f35a3ccb7b6aeb0fa2df73213b004df870ca466 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Wed Aug 27 12:43:21 2014 -0400 MAINTAINERS: Update group email alias for qlcnic driver Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3ced0a88cd4c86587cf9545f67a7b9ae63f78a4a Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Wed Aug 27 12:43:20 2014 -0400 qlcnic: Add support to run firmware POST This patch adds support to run Power On Self Test (POST) for 83xx adapters. POST can be run in 3 different speed modes : i) Fast mode (takes about 690 ms) ii) Medium mode (takes about 2930 ms) iii) Slow mode (takes about 7500 ms) To run POST, firmware file with name "83xx_post_fw.bin" should be present under /lib/firmware directory. load_fw_file module parameter is used to specify POST operation and its speed mode. load_fw_file = 2 : Fast mode load_fw_file = 3 : Medium mode load_fw_file = 4 : Slow mode Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1b2037fc141cc838435e58a9e4efb0b92a696e4 Author: Jitendra Kalsaria <jitendra.kalsaria@xxxxxxxxxx> Date: Wed Aug 27 12:43:19 2014 -0400 qlcnic: Use usleep_range() instead of msleep() for sleep less than 20ms As per recommendation, msleep() may sleep longer than intended time for values less than 20ms. So, use usleep_range() instead of msleep() Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@xxxxxxxxxx> Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 40e2b8ed855357b3b285d6575cec228e9ce8ebd1 Author: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Date: Wed Aug 27 12:43:18 2014 -0400 qlcnic: Add support for 0x8830 device ID Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cd6e7381fbd925c85de1c208f2972e87a7c9d77b Author: Jitendra Kalsaria <jitendra.kalsaria@xxxxxxxxxx> Date: Wed Aug 27 12:43:17 2014 -0400 qlcnic: Update Link speed and port type info for 83xx adapter o Update the port type information o Advertise correct link modes and autonegotiation o Add support to change link speed Signed-off-by: Jitendra Kalsaria <jitendra.kalsaria@xxxxxxxxxx> Signed-off-by: Shahed Shaikh <shahed.shaikh@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 10c51b56232d24f150e39884a9e749fd99cbc60c Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Wed Aug 27 11:11:27 2014 +0200 net: add skb_get_tx_queue() helper Replace occurences of skb_get_queue_mapping() and follow-up netdev_get_tx_queue() with an actual helper function. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f8b3b59d4d561368cf8c92d50218fc0d5be7cb46 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Aug 29 20:52:18 2014 -0400 ext4: convert do_split() to use the ERR_PTR convention Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit dd73b5d5cb675e2aa3b1d4952e208af1546f91c1 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Aug 29 20:52:17 2014 -0400 ext4: convert dx_probe() to use the ERR_PTR convention Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1c2150283cae895526d0db3953d13d139f4e7a03 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Aug 29 20:52:15 2014 -0400 ext4: convert ext4_bread() to use the ERR_PTR convention Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 1056008226769fe982236c26038a095aeb47714b Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Aug 29 20:51:32 2014 -0400 ext4: convert ext4_getblk() to use the ERR_PTR convention Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit 537d8f93805ace30ce097736d3aac041931274b1 Author: Theodore Ts'o <tytso@xxxxxxx> Date: Fri Aug 29 20:49:51 2014 -0400 ext4: convert ext4_dx_find_entry() to use the ERR_PTR convention Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> commit fa31409a82ee050e52caad9e4c483fe3edca163a Author: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Date: Wed Aug 27 10:42:53 2014 +0200 usb: gadget: use $(srctree) instead of $(PWD) for includes Using $(PWD) breaks builds when make was invoked from outside of the kernel tree. Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b8adc3d1d852be653905b24cd8efcaee342b96ae Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sun Aug 24 05:21:16 2014 +0530 usb: gadget: udc: use USB API functions rather than constants This patch introduces the use of the functions usb_endpoint_type and usb_endpoint_num. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bEndpointAddress & \(USB_ENDPOINT_NUMBER_MASK\|0x0f\)) + usb_endpoint_num(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) + usb_endpoint_type(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 457a0955e152ac3b0de46ecbe7a8b434856fda67 Author: Amit Virdi <amit.virdi@xxxxxx> Date: Fri Aug 22 14:36:37 2014 +0530 usbtest: Add interrupt EP testcases Two simple test cases for interrupt endpoints are added to the usbtest.c file. These are simple non-queued interrupt IN and interrupt OUT transfers. Currently, only gadget zero is capable of executing the interrupt EP test cases. However, extending the same to other gadgets is extremely simple and can be done on-demand. The two new tests added are - Test 25: To verify Interrupt OUT transfer - Test 26: To verify Interrupt IN transfer Since the default value of wMaxPacketSize is set as 1024, so interrupt IN transfers must be specified with the size parameter = multiple of 1024. Otherwise the default value (512) in the usbtest application fails the transfer. See [RUN 4] for sample logs The application logs (usbtest) and corresponding kernel logs are as following: [Run 1] ./testusb -a -c 10 -s 2048 -t 26 -v 511 usbtest 7-1:3.0: TEST 26: read 2048 bytes 10 times [Run 2] ./testusb -a -c 10 -s 1024 -t 25 -v 511 usbtest 7-1:3.0: TEST 25: write 1024 bytes 10 times [Run 3] ./testusb -a -c 10 -s 1098 -t 25 -v 511 usbtest 7-1:3.0: TEST 25: write 1098 bytes 10 times [Run 4 - Failure case scenario] ./testusb -a -t 26 unknown speed /dev/bus/usb/007/004 0 /dev/bus/usb/007/004 test 26 --> 75 (Value too large for defined data type) usbtest 7-1:3.0: TEST 26: read 512 bytes 1000 times usb 7-1: test26 failed, iterations left 999, status -75 (not 0) Signed-off-by: Amit Virdi <amit.virdi@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 21c7eae21a2100a89cfb8cebaf7b770271f32c6e Author: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Date: Fri Aug 29 17:02:55 2014 +0200 Make Smack operate on smack_known struct where it still used char* Smack used to use a mix of smack_known struct and char* throughout its APIs and implementation. This patch unifies the behaviour and makes it store and operate exclusively on smack_known struct pointers when managing labels. Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Conflicts: security/smack/smack_access.c security/smack/smack_lsm.c commit d01757904d9deb619e23c9450218829943a46822 Author: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Date: Fri Aug 29 17:02:54 2014 +0200 Fix a bidirectional UDS connect check typo The 54e70ec5eb090193b03e69d551fa6771a5a217c4 commit introduced a bidirectional check that should have checked for mutual WRITE access between two labels. Due to a typo the second check was incorrect. Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> commit e95ef49b7f8f497bdb529f4cb1fe228e986b3255 Author: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> Date: Fri Aug 29 17:02:53 2014 +0200 Small fixes in comments describing function parameters Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@xxxxxxxxxxx> commit fd2752352bbc98850d83b5448a288d8991590317 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 29 18:56:01 2014 +0200 KVM: x86: use guest maxphyaddr to check MTRR values The check introduced in commit d7a2a246a1b5 (KVM: x86: #GP when attempts to write reserved bits of Variable Range MTRRs, 2014-08-19) will break if the guest maxphyaddr is higher than the host's (which sometimes happens depending on your hardware and how QEMU is configured). To fix this, use cpuid_maxphyaddr similar to how the APIC_BASE MSR does already. Reported-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Tested-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 13a34e067eab24fec882e1834fbf2cc31911d474 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 28 15:13:03 2014 +0200 KVM: remove garbage arg to *hardware_{en,dis}able In the beggining was on_each_cpu(), which required an unused argument to kvm_arch_ops.hardware_{en,dis}able, but this was soon forgotten. Remove unnecessary arguments that stem from this. Signed-off-by: Radim KrÃ?Â?mÃ?¡Ã?â?¢ <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0865e636aef751966e6e0f8950a26bc7391e923c Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 28 15:13:02 2014 +0200 KVM: static inline empty kvm_arch functions Using static inline is going to save few bytes and cycles. For example on powerpc, the difference is 700 B after stripping. (5 kB before) This patch also deals with two overlooked empty functions: kvm_arch_flush_shadow was not removed from arch/mips/kvm/mips.c 2df72e9bc KVM: split kvm_arch_flush_shadow and kvm_arch_sched_in never made it into arch/ia64/kvm/kvm-ia64.c. e790d9ef6 KVM: add kvm_arch_sched_in Signed-off-by: Radim KrÃ?Â?mÃ?¡Ã?â?¢ <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 656473003bc7e056c3bbd4a4d9832dad01e86f76 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Fri Aug 29 14:01:17 2014 +0200 KVM: forward declare structs in kvm_types.h Opaque KVM structs are useful for prototypes in asm/kvm_host.h, to avoid "'struct foo' declared inside parameter list" warnings (and consequent breakage due to conflicting types). Move them from individual files to a generic place in linux/kvm_types.h. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 55872c5a3c01f0fe7b5298d19e24e237f5b5ff06 Author: Jens Axboe <axboe@xxxxxx> Date: Thu Aug 28 15:05:40 2014 -0600 bsg: fix potential error pointer dereference Dan writes: block/bsg.c:327 bsg_map_hdr() error: 'next_rq' dereferencing possible ERR_PTR(). Fix this by setting next_rq to NULL, for the case where it can be != NULL but an error pointer. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit ab81873974afa3ce7bd8669580b06d33353f1e7c Author: Feng Kan <fkan@xxxxxxx> Date: Fri Aug 22 16:26:40 2014 -0700 arm64: dts: add random number generator dts node to APM X-Gene platform. This adds random number generator dts node to APM X-Gene platform. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1b8815a980d17e387708eae5cf61c6283f354f7f Author: Feng Kan <fkan@xxxxxxx> Date: Fri Aug 22 16:26:39 2014 -0700 Documentation: rng: Add X-Gene SoC RNG driver documentation Add X-Gene SoC RNG driver documentation. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a91ae4eba9f9977863b57f2ac61e2e8e780375a8 Author: Feng Kan <fkan@xxxxxxx> Date: Fri Aug 22 16:26:38 2014 -0700 hwrng: xgene - add support for APM X-Gene SoC RNG support This adds the APM X-Gene SoC RNG support. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4a8f45f8184e3501be98609c0b5b681f0441e71a Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 18:33:37 2014 +0200 crypto: mv_cesa - Add missing #define Clearly this was meant to be an include guard, but the #define was missing. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1443cc9bcbbbc0951fe2208fb29207a301e364d9 Author: KOVACS Krisztian <hidden@xxxxxxxxxx> Date: Fri Aug 22 10:44:36 2014 +0200 crypto: testmgr - add test for lz4 and lz4hc This patch adds a simple test vector for the lz4 and lz4hc compression algorithms. Signed-off-by: KOVACS Krisztian <hidden@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d801ab204b5a500b66ca285ac7b440cc79933a27 Author: KOVACS Krisztian <hidden@xxxxxxxxxx> Date: Fri Aug 22 10:44:35 2014 +0200 crypto: lz4,lz4hc - fix decompression The lz4 library has two functions for decompression, with slightly different signatures and behaviour. The lz4_decompress_crypto() function seemed to be using the one that assumes that the decompressed length is known in advance. This patch switches to the other decompression function and makes sure that the length of the decompressed output is properly returned to the caller. The same issue was present in the lz4hc algorithm. Coincidentally, this change also makes very basic lz4 and lz4hc compression tests in testmgr pass. Signed-off-by: KOVACS Krisztian <hidden@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 51269ad2880774e7d46fb1e0edb7a83e15d05d33 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Tue Aug 19 09:32:04 2014 +0200 crypto: qat - Use pci_enable_msix_exact() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Cc: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: qat-linux@xxxxxxxxx Cc: linux-crypto@xxxxxxxxxxxxxxx Cc: linux-pci@xxxxxxxxxxxxxxx Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d5b77069701600b8189d3b4409b69f23ac4f5bc2 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Jul 14 12:54:48 2014 +0200 KVM: x86: remove Aligned bit from movntps/movntpd These are not explicitly aligned, and do not require alignment on AVX. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0a37027e83f867793af0ccb9176a6b383dd0b7c8 Author: Alex Williamson <alex.williamson@xxxxxxxxxx> Date: Fri Jul 11 11:56:31 2014 -0600 KVM: x86 emulator: emulate MOVNTDQ Windows 8.1 guest with NVIDIA driver and GPU fails to boot with an emulation failure. The KVM spew suggests the fault is with lack of movntdq emulation (courtesy of Paolo): Code=02 00 00 b8 08 00 00 00 f3 0f 6f 44 0a f0 f3 0f 6f 4c 0a e0 <66> 0f e7 41 f0 66 0f e7 49 e0 48 83 e9 40 f3 0f 6f 44 0a 10 f3 0f 6f 0c 0a 66 0f e7 41 10 $ as -o a.out .section .text .byte 0x66, 0x0f, 0xe7, 0x41, 0xf0 .byte 0x66, 0x0f, 0xe7, 0x49, 0xe0 $ objdump -d a.out 0: 66 0f e7 41 f0 movntdq %xmm0,-0x10(%rcx) 5: 66 0f e7 49 e0 movntdq %xmm1,-0x20(%rcx) Add the necessary emulation. Signed-off-by: Alex Williamson <alex.williamson@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 08e5a1feaed6877325c6146cbd3559b23fb4938f Author: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Date: Wed Aug 27 15:18:09 2014 +0530 pinctrl: samsung: use CONFIG_PINCTRL_SAMSUNG symbol in makefile Samsung Exynos7 is a ARM64bit processor. Which does not select the CONFIG_PLAT_SAMSUNG symbol. CONFIG_PINCTRL_SAMSUNG is being selected for both PLAT_SAMSUNG and ARCH_EXYNOS7 symbols. This patch modifes the pinctrl/Makefile to use CONFIG_PINCTRL_SAMSUNG symbol to compile the pinctrl/samsung/*.c Signed-off-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> Cc: linus.walleij@xxxxxxxxxx Cc: Thomas Abraham <thomas.ab@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 0f54a321302dfbdbd707ba989b2f468e58b9a363 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Fri Aug 29 11:26:55 2014 +0300 KVM: vmx: VMXOFF emulation in vm86 should cause #UD Unlike VMCALL, the instructions VMXOFF, VMLAUNCH and VMRESUME should cause a UD exception in real-mode or vm86. However, the emulator considers all these instructions the same for the matter of mode checks, and emulation upon exit due to #UD exception. As a result, the hypervisor behaves incorrectly on vm86 mode. VMXOFF, VMLAUNCH or VMRESUME cause on vm86 exit due to #UD. The hypervisor then emulates these instruction and inject #GP to the guest instead of #UD. This patch creates a new group for these instructions and mark only VMCALL as an instruction which can be emulated. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 48d89b92609a66bc41f479c560640bc413add3b4 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Aug 26 13:27:46 2014 +0200 KVM: x86: fix some sparse warnings Sparse reports the following easily fixed warnings: arch/x86/kvm/vmx.c:8795:48: sparse: Using plain integer as NULL pointer arch/x86/kvm/vmx.c:2138:5: sparse: symbol vmx_read_l1_tsc was not declared. Should it be static? arch/x86/kvm/vmx.c:6151:48: sparse: Using plain integer as NULL pointer arch/x86/kvm/vmx.c:8851:6: sparse: symbol vmx_sched_in was not declared. Should it be static? arch/x86/kvm/svm.c:2162:5: sparse: symbol svm_read_l1_tsc was not declared. Should it be static? Cc: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a7c0b07d570848e50fce4d31ac01313484d6b844 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Thu Aug 21 19:46:50 2014 +0800 KVM: nVMX: nested TPR shadow/threshold emulation This patch fix bug https://bugzilla.kernel.org/show_bug.cgi?id=61411 TPR shadow/threshold feature is important to speed up the Windows guest. Besides, it is a must feature for certain VMM. We map virtual APIC page address and TPR threshold from L1 VMCS. If TPR_BELOW_THRESHOLD VM exit is triggered by L2 guest and L1 interested in, we inject it into L1 VMM for handling. Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> [Add PAGE_ALIGNED check, do not write useless virtual APIC page address if TPR shadowing is disabled. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a2bcba5035bb3d7fb3099e1893026316365f4b5d Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Thu Aug 21 19:46:49 2014 +0800 KVM: nVMX: introduce nested_get_vmcs12_pages Introduce function nested_get_vmcs12_pages() to check the valid of nested apic access page and virtual apic page earlier. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a44a750e5299fe2ece5aa68e8562dd6e2c2b16f4 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Aug 27 20:08:47 2014 -0700 ASoC: simple-card: use common for_each_child_of_node() for loop Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5960bd5984c808cdf7aa528e162e9e20e61b923 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Aug 27 20:08:27 2014 -0700 ASoC: simple-card: dai_link->init should be cared when multi DAI 6a91a17bd7b92b2d2aa9ece85457f52a62fd7708 (ASoC: simple-card: Handle many DAI links) added multi DAI support on simple-card. This means priv->dai_link might be pointer of multi DAI. dai_link->init is needed for all DAI. This patch cares it for all DAIs on DT/non-DT Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 179949bc04c7157a4b2279f62a842638b61f78f9 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Aug 27 20:08:06 2014 -0700 ASoC: simple-card: remove dai_link->cpu_dai_name when DT f687d900d30a61dda38db2a99239f5284a86a309 (ASoC: simple-card: cpu_dai_name creates confusion when DT case) removed dai_link->cpu_dai_name when DT case, since it uses DT phand in soc_bind_dai_link(). This binding will fail if it has cpu_dai_name. 6a91a17bd7b92b2d2aa9ece85457f52a62fd7708 (ASoC: simple-card: Handle many DAI links) added multi DAI link support to simple-card driver. Then, removing cpu_dai_name was cared only single DAI. But, it is needed in all DT cases. This patch moves it to asoc_simple_card_dai_link_of() so that care about all DAIs. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2d82eeb02655e32358efd42598d8276284c23364 Author: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Date: Wed Aug 27 20:07:46 2014 -0700 ASoC: simple-card: use asoc_simple_xxx prefix simple-card driver is using asoc_simple_xxx() prefix. simple_card_dai_link_of() should be asoc_simple_card_dai_link_of(). Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 050429a78b2dbec763a6bb5423ea5a1fcc9adca3 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Thu Aug 28 18:21:09 2014 +0900 spi: bcm53xx: make local symbol static Make local symbol static, because this is used only in this file. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 44b5ce73c99c389817be71b9161bceb197d40ecb Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 26 14:00:38 2014 +0200 KVM: Unconditionally export KVM_CAP_USER_NMI The idea between capabilities and the KVM_CHECK_EXTENSION ioctl is that userspace can, at run-time, determine if a feature is supported or not. This allows KVM to being supporting a new feature with a new kernel version without any need to update user space. Unfortunately, since the definition of KVM_CAP_USER_NMI was guarded by #ifdef __KVM_HAVE_USER_NMI, such discovery still required a user space update. Therefore, unconditionally export KVM_CAP_USER_NMI and change the the typo in the comment for the IOCTL number definition as well. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 0f8a4de3e088797576ac76200b634b802e5c7781 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 26 14:00:37 2014 +0200 KVM: Unconditionally export KVM_CAP_READONLY_MEM The idea between capabilities and the KVM_CHECK_EXTENSION ioctl is that userspace can, at run-time, determine if a feature is supported or not. This allows KVM to being supporting a new feature with a new kernel version without any need to update user space. Unfortunately, since the definition of KVM_CAP_READONLY_MEM was guarded by #ifdef __KVM_HAVE_READONLY_MEM, such discovery still required a user space update. Therefore, unconditionally export KVM_CAP_READONLY_MEM and change the in-kernel conditional to rely on __KVM_HAVE_READONLY_MEM. Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dc77d344b41f3ffdd3b02317597e717b0b799f46 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Wed Aug 27 12:20:02 2014 +0200 KVM: s390/mm: fix up indentation of set_guest_storage_key commit ab3f285f227f ("KVM: s390/mm: try a cow on read only pages for key ops")' misaligned a code block. Let's fixup the indentation. Reported-by: Ben Hutchings <ben@xxxxxxxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit c2a946e07f9776ba5a73c37087c02e0e1830b5ce Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Fri Aug 29 12:41:59 2014 +0100 regulator: da9211: fix coccinelle warnings drivers/regulator/da9211-regulator.c:281:2-3: Unneeded semicolon Removes unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d0616613d9cf17919fbd46fa0274db4b0084ad62 Author: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Date: Tue Aug 19 15:41:32 2014 +0300 net: rfkill: gpio: Add more Broadcom bluetooth ACPI IDs This adds one more ACPI ID of a Broadcom bluetooth chip. Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a00f4f6e048dff90e64c6d1bde2bb4587c6d2234 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jul 28 15:16:59 2014 +0200 mac80211: fix chantype recalc warning When a device driver is unloaded local->interfaces list is cleared. If there was more than 1 interface running and connected (bound to a chanctx) then chantype recalc was called and it ended up with compat being NULL causing a call trace warning. Warn if compat becomes NULL as a result of incompatible bss_conf.chandef of interfaces bound to a given channel context only. The call trace looked like this: WARNING: CPU: 2 PID: 2594 at /devel/src/linux/net/mac80211/chan.c:557 ieee80211_recalc_chanctx_chantype+0x2cd/0x2e0() Modules linked in: ath10k_pci(-) ath10k_core ath CPU: 2 PID: 2594 Comm: rmmod Tainted: G W 3.16.0-rc1+ #150 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 0000000000000009 ffff88001ea279c0 ffffffff818dfa93 0000000000000000 ffff88001ea279f8 ffffffff810514a8 ffff88001ce09cd0 ffff88001e03cc58 0000000000000000 ffff88001ce08840 ffff88001ce09cd0 ffff88001ea27a08 Call Trace: [<ffffffff818dfa93>] dump_stack+0x4d/0x66 [<ffffffff810514a8>] warn_slowpath_common+0x78/0xa0 [<ffffffff81051585>] warn_slowpath_null+0x15/0x20 [<ffffffff818a407d>] ieee80211_recalc_chanctx_chantype+0x2cd/0x2e0 [<ffffffff818a3dda>] ? ieee80211_recalc_chanctx_chantype+0x2a/0x2e0 [<ffffffff818a4919>] ieee80211_assign_vif_chanctx+0x1a9/0x770 [<ffffffff818a6220>] __ieee80211_vif_release_channel+0x70/0x130 [<ffffffff818a6dd3>] ieee80211_vif_release_channel+0x43/0xb0 [<ffffffff81885f4e>] ieee80211_stop_ap+0x21e/0x5a0 [<ffffffff8184b9b5>] __cfg80211_stop_ap+0x85/0x520 [<ffffffff8181c188>] __cfg80211_leave+0x68/0x120 [<ffffffff8181c268>] cfg80211_leave+0x28/0x40 [<ffffffff8181c5f3>] cfg80211_netdev_notifier_call+0x373/0x6b0 [<ffffffff8107f965>] notifier_call_chain+0x55/0x110 [<ffffffff8107fa41>] raw_notifier_call_chain+0x11/0x20 [<ffffffff816a8dc0>] call_netdevice_notifiers_info+0x30/0x60 [<ffffffff816a8eb9>] __dev_close_many+0x59/0xf0 [<ffffffff816a9021>] dev_close_many+0x81/0x120 [<ffffffff816aa1c5>] rollback_registered_many+0x115/0x2a0 [<ffffffff816aa3a6>] unregister_netdevice_many+0x16/0xa0 [<ffffffff8187d841>] ieee80211_remove_interfaces+0x121/0x1b0 [<ffffffff8185e0e6>] ieee80211_unregister_hw+0x56/0x110 [<ffffffffa0011ac4>] ath10k_mac_unregister+0x14/0x60 [ath10k_core] [<ffffffffa0014fe7>] ath10k_core_unregister+0x27/0x40 [ath10k_core] [<ffffffffa003b1f4>] ath10k_pci_remove+0x44/0xa0 [ath10k_pci] [<ffffffff81373138>] pci_device_remove+0x28/0x60 [<ffffffff814cb534>] __device_release_driver+0x64/0xd0 [<ffffffff814cbcc8>] driver_detach+0xb8/0xc0 [<ffffffff814cb23a>] bus_remove_driver+0x4a/0xb0 [<ffffffff814cc697>] driver_unregister+0x27/0x50 Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 7179569aeb52197fd2a9909ba226c4c9cc0e2e2a Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Thu Aug 28 12:36:04 2014 -0700 regulator: core: Add REGULATOR_EVENT_PRE_VOLTAGE_CHANGE (and ABORT) In some cases we need to know when a regulator is about to be changed. Add a way for clients to be notified. Note that for set_voltage() we don't necessarily know what voltage we'll end up with, so we tell the client what the range will be so they can prepare. Signed-off-by: Heiko Stübner <heiko@xxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie+linaro@xxxxxxxxxx> commit 0244790c8ad2408dfb313e5c886e6e5a808ea946 Author: Ying Xue <ying.xue@xxxxxxxxxxxxx> Date: Fri Aug 29 17:09:07 2014 +0800 xfrm: remove useless hash_resize_mutex locks In xfrm_state.c, hash_resize_mutex is defined as a local variable and only used in xfrm_hash_resize() which is declared as a work handler of xfrm.state_hash_work. But when the xfrm.state_hash_work work is put in the global workqueue(system_wq) with schedule_work(), the work will be really inserted in the global workqueue if it was not already queued, otherwise, it is still left in the same position on the the global workqueue. This means the xfrm_hash_resize() work handler is only executed once at any time no matter how many times its work is scheduled, that is, xfrm_hash_resize() is not called concurrently at all, so hash_resize_mutex is redundant for us. Cc: Christophe Gouault <christophe.gouault@xxxxxxxxx> Cc: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> Signed-off-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Steffen Klassert <steffen.klassert@xxxxxxxxxxx> commit bd597f47ca4bf7a522a0298a95c7f9b2f0a75b9e Author: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Date: Fri Aug 22 15:26:55 2014 +0100 devicetree: Dialog Semiconductor consolidate existing vendor prefixes to standardise on 'dlg' This patch series updates the device tree vendor prefix for Dialog Semiconductor. Various methods are currently used throughout the kernel: 'diasemi', 'dialog' and 'dlg'. Others have also been suggested. This patch set aims to consolidate the usage of the vendor prefix to use a common standard. The prefix 'dlg' is used. Signed-off-by: Steve Twiss <stwiss.opensource@xxxxxxxxxxx> Acked-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Acked-by: Rob Herring <robh@xxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 70145f87139fbc43b726f873813cd91dce371899 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 11:03:14 2014 +0200 pwm: Fix uninitialized warnings in pwm_get() With some versions of gcc (e.g. 4.1.2): drivers/pwm/core.c: In function â??pwm_getâ??: drivers/pwm/core.c:610: warning: â??polarityâ?? may be used uninitialized in this function drivers/pwm/core.c:609: warning: â??periodâ?? may be used uninitialized in this function While these are false positives, we can get rid of them by refactoring the code to store a pointer to the best match, as suggested before by Thierry Reding. This does require moving the mutex_unlock() down. Fixes: d717ea73e36dd565 ("pwm: Fix period and polarity in pwm_get() for non-perfect matches") Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit aa2293d82c29309d8399d41941add7af606a4fea Author: Keerthy <j-keerthy@xxxxxx> Date: Fri Aug 22 09:01:02 2014 -0500 pinctrl: single: AM437x: Add pinctrl compatibility AM437x pinctrl definitions now differ from traditional 16 bit OMAP pin ctrl definitions, in that all 32 bits are used to describe a single pin Also the location of wakeupenable and event bits have changed. Signed-off-by: Keerthy <j-keerthy@xxxxxx> [nm@xxxxxx: minor updates] Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit b6af73b42219aa6b253ef5c0020eff1019485ffc Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:15:01 2014 +0900 backlight: omap1: add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 31320beaa3d3c5190e7db08144f37a2d519f6d6d Author: Nishanth Menon <nm@xxxxxx> Date: Fri Aug 22 09:01:01 2014 -0500 pinctrl: single: Add DRA7 pinctrl compatibility DRA7 pinctrl definitions now differ from traditional 16 bit OMAP pin ctrl definitions, in that all 32 bits are used to describe a single pin Also the location of wakeupenable and event bits have changed. Signed-off-by: Nishanth Menon <nm@xxxxxx> Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3e51cd93f534b475c065c1513734860ce28a8da3 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:14:43 2014 +0900 backlight: jornada720: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Suggested-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5b007dfee8a8a9eac95a866b1dd151e136f47aa8 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:14:25 2014 +0900 backlight: jornada720: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 4876b66497ed31fc10e235a34faa80c2de6adace Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:14:06 2014 +0900 backlight: wm831x_bl: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 51ed5dc253b4a11047266345d6ee30d0939f310e Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:13:49 2014 +0900 backlight: tdo24m: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 53fc66d87c71e7b5f6d4c46366884ad474d31489 Author: Nishanth Menon <nm@xxxxxx> Date: Thu May 22 23:32:09 2014 -0500 pinctrl: bindings: Add OMAP pinctrl binding Add basic skeleton of OMAP pinctrl bindings. This is compatible with pinctrl,single bindings and is meant purely as a reference point. Acked-by: Tony Lindgren <tony@xxxxxxxxxxx> Signed-off-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 3bf3b79fab16b97b0a5a1232af760e8d7a2d3a78 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:13:30 2014 +0900 backlight: s6e63m0: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit c915ae50d60df9d3e869ca05ea0f3dc8614a9bf9 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:13:10 2014 +0900 backlight: pcf50633: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit a94cb126048058980ff57f6a7fa5e8237b8f6b44 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:12:53 2014 +0900 backlight: lp855x: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit b50ffb8a5f7f7dedd92a3bc2733605b3888fae8c Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:12:37 2014 +0900 backlight: lms501kf03: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 3033d2c0dd1d7ecbc8d4e04a7c1085931f86b68a Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:12:14 2014 +0900 backlight: lm3639: Remove unnecessary return statements Fixed the following checkpatch warning. WARNING: void function return statements are not generally useful Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit e09bceac75b86c672b6e41b9341fa50325713438 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:11:52 2014 +0900 backlight: ld9040: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 547f60cee1b604477fde1cbc1bb2da8f6853c9bd Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:11:33 2014 +0900 backlight: ili922x: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 7beeee469a2e8baece57ad5552e18671b7e56a30 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:11:14 2014 +0900 backlight: cr_bllcd: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit ff32c2fa811674855dab0881417674404d25ebab Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:10:55 2014 +0900 backlight: corgi_lcd: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5b0d6e1912fce778b7a759e54676d492ad359934 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:10:34 2014 +0900 backlight: ams369fg06: Remove 'else' after a return Fixed the following checkpatch warning. WARNING: else is not generally useful after a break or return Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit fe9a86235dd6367ea6748bc4f9e03fe1f7a15614 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:10:11 2014 +0900 backlight: adp8870: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 5e548f0f55a9f8165a3f36226ac5d3f42a05cf47 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:09:52 2014 +0900 backlight: adp8860: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit f9bda39d1384f1ecae131fd283db27a01b5fb6cd Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Wed Aug 27 10:09:14 2014 +0900 backlight: adp5520: Add blank line after declarations Fixed the following checkpatch warning. WARNING: Missing a blank line after declarations Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit abdc08a3a263a20e49534a36291d657bf53dda5b Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Aug 19 10:06:09 2014 -0700 gpio: change gpiochip_request_own_desc() prototype The current prototype of gpiochip_request_own_desc() requires to obtain a pointer to a descriptor. This is in contradiction to all other GPIO request schemes, and imposes an extra step of obtaining a descriptor to drivers. Most drivers actually cannot even perform that step since the function that does it (gpichip_get_desc()) is gpiolib-private. Change gpiochip_request_own_desc() to return a descriptor from a (chip, hwnum) tuple and update users of this function (currently gpiolib-acpi only). Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e46cf32ced90d00972d5c3d9322cdb848d183338 Author: Alexandre Courbot <acourbot@xxxxxxxxxx> Date: Tue Aug 19 10:06:08 2014 -0700 gpio: acpi: normalize use of gpiochip_get_desc() GPIO descriptors are changing from unique and permanent tokens to allocated resources. Therefore gpiochip_get_desc() cannot be used as a way to obtain a global GPIO descriptor anymore. This patch updates the gpiolib ACPI support code to keep and use the descriptor returned by a centralized call to gpiochip_get_desc(). Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Tested-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 086b8904b42a20983757fc21895d692f84e0af32 Author: Rongjun Ying <rongjun.ying@xxxxxxx> Date: Mon Aug 18 16:49:24 2014 +0800 pinctrl: atlas6: Add I2S external clock input pingroup The I2S controller can use the external clock as reference clock with master mode. But based on different hardware or software design, this external clock might be needed or not needed. So the external input pin can be an independent pinctrl group, and the card driver can decice to get it or not. Signed-off-by: Rongjun Ying <rongjun.ying@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ed36c1a06fc73cab289f66cc60b935951f4a1fa0 Author: Rongjun Ying <rongjun.ying@xxxxxxx> Date: Mon Aug 18 16:49:22 2014 +0800 pinctrl: atlas6: take mclk pin out of i2s pingroup The I2S controller can output mclk to external audio codec. But by hardware design, some codecs need mclk and some codecs do not need mclk. So the mclk pin can be an independent pinctrl group, and the card driver can get it or not based on boards. Signed-off-by: Rongjun Ying <rongjun.ying@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c09f80db583c72f9c6198842cd7e6f71105fdc46 Author: Bin Shi <Bin.Shi@xxxxxxx> Date: Mon Aug 18 16:49:21 2014 +0800 pinctrl: sirf: fix lots of "line over 80 characters" According to key customer's requirement, fix "line over 80 characters". Signed-off-by: Bin Shi <Bin.Shi@xxxxxxx> Signed-off-by: Qipan Li <Qipan.Li@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4bee325cd9bc06c5e7b3cc4398f101ed3fa5cc0e Author: Bin Shi <Bin.Shi@xxxxxxx> Date: Mon Aug 18 16:49:20 2014 +0800 pinctrl: sirf: fix "quoted string split across lines" this patch fixes: WARNING: quoted string split across lines 902: FILE: drivers/pinctrl/sirf/pinctrl-sirf.c:902: +MODULE_AUTHOR("Rongjun Ying <rongjun.ying@xxxxxxx>, " + "Yuping Luo <yuping.luo@xxxxxxx>, " WARNING: quoted string split across lines 903: FILE: drivers/pinctrl/sirf/pinctrl-sirf.c:903: + "Yuping Luo <yuping.luo@xxxxxxx>, " + "Barry Song <baohua.song@xxxxxxx>"); Signed-off-by: Bin Shi <Bin.Shi@xxxxxxx> Signed-off-by: Barry Song <Baohua.Song@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5a2533a7478334593c50284fd414c70b3b9217c0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 18 11:54:55 2014 +0200 gpio: zynq: Reduce level of indention in zynq_gpio_irqhandler() zynq_gpio_irqhandler() uses up to 7 tabs of indention in some parts. Refactor things to use a helper function for the inner loop to reduce the indention to a sane level. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a879891ee80413f6999905db43ad0d6852dfa6ca Author: Daniel Mack <zonque@xxxxxxxxx> Date: Thu Aug 14 11:40:24 2014 +0200 gpio: pxa: Documentation: provide example bindings for PXA3xx Add another example to describe bindings that work for PXA3xx boards. Signed-off-by: Daniel Mack <zonque@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 51dd2e8ec99cc83bd787f836f1d812f384a61dff Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 14:01:21 2014 +0200 gpio: zynq: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit ad3d7f1e8f0160b12ad8eb69f78015930645a166 Author: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Date: Mon Aug 11 20:24:57 2014 +0530 pinctrl: imx6sl: introduce MODULE_DEVICE_TABLE for module autoloading Enable autoloading of pinctrl-imx6sl module when a corresponing DT entry is present. Signed-off-by: Kiran Padwal <kiran.padwal@xxxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 5dfe10b43a91642845dcf281e02ca43ffde0d750 Author: Kiran Padwal <kiran.padwal21@xxxxxxxxx> Date: Mon Aug 11 16:47:50 2014 +0530 pinctrl: Make of_device_id array const Make of_device_id array const, because all OF functions handle it as const. Signed-off-by: Kiran Padwal <kiran.padwal21@xxxxxxxxx> Acked-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Stephen Warren <swarren@xxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit a3bf5c429eb5f5ec4d364d51dfa8855efcc005f8 Author: Francois Romieu <romieu@xxxxxxxxxxxxx> Date: Tue Aug 26 22:40:38 2014 +0200 r8169: add missing MODULE_FIRMWARE. Leftover from 6e1d0b8988188956dac091441c1492a79a342666 ("r8169:add support for RTL8168H and RTL8107E"). Signed-off-by: Francois Romieu <romieu@xxxxxxxxxxxxx> Cc: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3a5fc218151892eae35957737d75c0f41a2c9c8a Merge: c89fcfd e8e724d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 28 14:19:38 2014 -0700 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-08-27 This series contains updates to i40e and i40evf. Carolyn provides two patches, first changes the wording of the flow director add/remove and asynchronous failure messages to include the fd_id to try and add some way to track the operations on a given fd_id. Second adds a check during handle_link_event for unqualified modules when link is down and there is a module plugged in. Anjali provides four patches to i40e/i40evf. First update flow director messages so that a user can tell if a filter was added or deleted. Then updates the ATR policy to not auto-disable ATR when we have errors in programming. The disabling of ATR when we got programming errors was buggy and was still adding new rules and causing continuous errors. With this policy change, we flush instead when we see too many errors. In addition she adds a flow director flush counter to ethtool to help know how many times the interface had to flush and replay the flow director filter table. Updates the driver to ignores a driver perceived transmit hang if the number of descriptors pending is less than 4, and instead log a stat when this situation happens. This is because the queue progresses forward and the stack never experiences a real hang in these situations. Shannon provides three patches for i40e/i40evf, first enables the l2tsel bit on receive queue contexts that are assigned to VFs so that the VF can get the stripped VLAN tag. Then adds a max buffer size parameter to the print helper to be sure the code knows when to stop. Lastly, remove the complaint when removing the default MAC VLAN filter. This was because old firmware had an incorrect MAC VLAN filter that needed to be replaced at startup, and now newer firmware does not have this problem. So now we only add the new filter if the removal succeeded and no need to complain if the removal fails. Ashish provides a change to vsi->num_queue_pairs to equal the number that is configured by the VF. This limits the number of queues that are enabled/disabled and fixes the mismatch case for when a VF configures fewer queues than is allocated to it by the PF. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d166c8024d620d654b12834fac354fb4203c6c22 Author: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 14:51:27 2014 -0700 Smack: Bring-up access mode People keep asking me for permissive mode, and I keep saying "no". Permissive mode is wrong for more reasons than I can enumerate, but the compelling one is that it's once on, never off. Nonetheless, there is an argument to be made for running a process with lots of permissions, logging which are required, and then locking the process down. There wasn't a way to do that with Smack, but this provides it. The notion is that you start out by giving the process an appropriate Smack label, such as "ATBirds". You create rules with a wide range of access and the "b" mode. On Tizen it might be: ATBirds System rwxalb ATBirds User rwxalb ATBirds _ rwxalb User ATBirds wb System ATBirds wb Accesses that fail will generate audit records. Accesses that succeed because of rules marked with a "b" generate log messages identifying the rule, the program and as much object information as is convenient. When the system is properly configured and the programs brought in line with the labeling scheme the "b" mode can be removed from the rules. When the system is ready for production the facility can be configured out. This provides the developer the convenience of permissive mode without creating a system that looks like it is enforcing a policy while it is not. Signed-off-by: Casey Schaufler <casey@xxxxxxxxxxxxxxxx> commit ccad7dad86d8c42b0aec7a3ce7f911e033bf3c6a Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Thu Aug 28 15:39:31 2014 -0400 nfsd4: remove labeled NFS warning from config help The working group appears committed to keeping the protocol stable, the code has gotten some use and seems to work OK. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 71efecb3f58c8c7a15f6135e3f9b39d1e3d3fae3 Author: Chuck Lever <chuck.lever@xxxxxxxxxx> Date: Fri Aug 22 15:10:50 2014 -0400 sunrpc: fix byte-swapping of displayed XID xprt_lookup_rqst() and bc_send_request() display a byte-swapped XID, but receive_cb_reply() does not. Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 2b8941b962a9f24d61c2b3c2e889928e6cf3d82b Author: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Date: Wed Aug 27 11:17:56 2014 -0400 NFSD: Update some as-yet unused 4.2 error codes Recent NFS v4.2 drafts have removed NFS4ERR_METADATA_NOTSUPP and reassigned the error code to NFS4ERR_UNION_NOTSUPP. I also add in the NFS4ERR_OFFLOAD_NO_REQS error code. We're not using any of these yet, so there's no harm done. Signed-off-by: Anna Schumaker <Anna.Schumaker@xxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6cd906627b4f7438c6f5bb1d1eed63a6d7776e2e Author: Kinglong Mee <kinglongmee@xxxxxxxxx> Date: Fri Aug 15 08:02:55 2014 +0800 NFSD: Remove duplicate initialization of file_lock locks_alloc_lock() has initialized struct file_lock, no need to re-initialize it here. Signed-off-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Reviewed-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ae89254da6879cffa6a17327e5f3f60217b718cf Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Wed Aug 20 16:18:32 2014 -0400 SUNRPC: Fix compile on non-x86 current_task appears to be x86-only, oops. Let's just delete this check entirely: Any developer that adds a new user without setting rq_task will get a crash the first time they test it. I also don't think there are normally any important locks held here, and I can't see any other reason why killing a server thread would bring the whole box down. So the effort to fail gracefully here looks like overkill. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Fixes: 983c684466e0 "SUNRPC: get rid of the request wait queue" Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6a5d088a923854569e20eac4f3f569926d5911ec Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Wed Aug 27 16:27:30 2014 +0300 carl9170: tx: Replace rcu_assign_pointer() with RCU_INIT_POINTER() According to RCU_INIT_POINTER()'s block comment 3.a, it can be used if "3. The referenced data structure has already been exposed to readers either at compile time or via rcu_assign_pointer() -and- a. You have not made -any- reader-visible changes to this structure since then". This case fulfills the conditions above because between the rcu_dereference() call (cvif = rcu_dereference(ar->beacon_iter);) and the rcu_assign_pointer() call there is no update of the "cvif" variable. Therefore, this patch makes the replacement. The following Coccinelle semantic patch was used: @@ identifier v; @@ v = rcu_dereference(...); ... when != rcu_dereference(...); when != v = ...; when != (<+...v...+>)++; when != \(memcpy\|memset\)(...); ( - rcu_assign_pointer + RCU_INIT_POINTER (..., v); | if(...) { ... when != v = ...; - rcu_assign_pointer + RCU_INIT_POINTER (..., v); ... when any } ) Because there are cases where between a â??rcu_dereference()â?? call and a â??rcu_assign_pointer()â?? call might be updates of the value that interests us, the Coccinelle semantic patch ignores them and replaces with "RCU_INIT_POINTER()" only when the update is not happening. Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Acked-by: Christian Lamparter <chunkeey@xxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1a7c5b7ef0cf93b42b9181973ce283fe77fb6093 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:07:25 2014 +0530 ath9k: Fix channel context timer Setup the channel context correctly. Not doing this was causing beacon loss in a P2P-GO/STA concurrent setup. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 878066e745b54578409ea765cfc718fcd99a4802 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:07:24 2014 +0530 ath9k: Add more debug statements for channel context Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 9ea3598b225d9ffbeee65eb0a967bd0746ba1b97 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Wed Aug 27 12:07:23 2014 +0530 ath9k: Disable fastcc for channel context mode Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ac0372abf8524a7572a9cdaac6495eb2eba20457 Author: Canek Peláez Valdés <canek@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 19:06:11 2014 -0500 rt2x00: support Ralink 5362. Signed-off-by: Canek Peláez Valdés <canek@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4c7e9aee2d3f738924ba04baecf7bf854e72f07c Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:16:13 2014 +0530 ath9k: Fix channel context creation If a new context is being added in addition to the current one, then send the ASSIGN event to abort a running scan since the addition of a context is usually followed by VIF assignment and further operations. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 86162d497d4ceb995b268fc9c7756ae7bdb0bc71 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:16:12 2014 +0530 ath9k: Fix interface limits There is no reason why managed/p2p interfaces have to be limited to one. IBSS is the only type that needs a restriction. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 5a8cbec7fb2be3b9a6929d8c22c3e320544d2de4 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:16:11 2014 +0530 ath9k: Print the event/state in ath_chanctx_event Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 02da18b7ec64135fc1b35c036acbd920d2cce2d6 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:16:10 2014 +0530 ath9k: Add new chanctx events This will be useful in handling addition/change of new channel contexts. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6e47fafbc38a93797f86413db8eea3e9319ebbd0 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 19:12:16 2014 +0530 ath9k: Fix ath_chanctx_get() Move it inside a CONFIG_ATH9K_CHANNEL_CONTEXT ifdef since it is not needed otherwise. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 11e39a4e054cde1aaa9f5d3830f41f86818602fd Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 19:12:15 2014 +0530 ath9k: Move ath9k_beacon_add_noa to channel.c Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 7d876174e7cd81912930cb5e501f5036eabfaaf3 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 19:12:14 2014 +0530 ath9k: Remove redundant ifdef This was introduced in an earlier patch to handle a compilation warning, but since the channel context code has been mostly isolated, this is not required now. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit fb02e95c9b3d76b658288af0c8a362c85f9d6d44 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 19:12:13 2014 +0530 ath9k: Fix channel context variables in ath_softc chanctx_work and next_chan are required only when CONFIG_ATH9K_CHANNEL_CONTEXT is enabled. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 77843167a926a1b11dff812f027fc56930948c1b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:23 2014 +0530 ath9k: Fix 'offchannel' in ath_softc Finally move the 'offchannel' instance in ath_softc inside a CONFIG_ATH9K_CHANNEL_CONTEXT cage. The offchannel usage in ath9k_calculate_iter_data() is closed off with an ifdef for now, since the state/opmode calculation is common for both the channel context mode and the normal mode. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4b93fd297fe9914e41099d37194f7acc6a1ccb48 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:22 2014 +0530 ath9k: Fix function argument type ath9k_vif_iter() was earlier used as an iterator routine when calling a mac80211 utility. This is no longer the case and hence we can mention the argument type explicitly. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a09798f4abb30f13f141e24ae496ba75e97995da Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:21 2014 +0530 ath9k: Use ath_chanctx_check_active properly ath_chanctx_check_active() is required only when channel contexts are used. Make sure that it is not called in normal usage. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e90e302a15b85ed27bdc148be2eed50c8aaaee06 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:20 2014 +0530 ath9k: Add ath9k_offchannel_init This patch adds a routine to setup the offchannel instance in ath_softc. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 0e08b5fb81111662bf9fa5f67f8a412791923b6f Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:19 2014 +0530 ath9k: Add ath9k_chanctx_wake_queues Introduce a function that handles queues in channel context mode. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 70b06dacfe8bd1f62de058e2116388b8f7c58531 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:18 2014 +0530 ath9k: Add wrappers for beacon events Using these wrappers allows us to move the 'sched' variable in ath_softc inside CONFIG_ATH9K_CHANNEL_CONTEXT. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 73b5ef0bbfa03ba31bcaf781bc38b7af38e6999b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:17 2014 +0530 ath9k: Fix function declarations These routines are required only when CONFIG_ATH9K_CHANNEL_CONTEXT is enabled. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 27babf9f470b5e75763703626cae710a30bf703d Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:16 2014 +0530 ath9k: Fix channel context events Check if channel context usage is enabled before calling ath_chanctx_event() from various parts of the driver. Also, make sure that ath_chanctx_event() is compiled only when CONFIG_ATH9K_CHANNEL_CONTEXT is enabled. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 922c943dcc48fc0085daeaa3e8038c5446f226c2 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:15 2014 +0530 ath9k: Make ath_chanctx_switch static Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 98f411b80399c45a33f18b730eb36f489fba214a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:14 2014 +0530 ath9k: Make ath_chanctx_get_oper_chan static Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 344ae6abd00f7662113d91daeafa6ba8d38ed831 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:13 2014 +0530 ath9k: Make ath_chanctx_offchan_switch static Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 22dc0deb1ff9530be53e03d567fdf4554930ab86 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:12 2014 +0530 ath9k: Conditionally compile more functions Use CONFIG_ATH9K_CHANNEL_CONTEXT to exclude: ath_scan_complete() ath_roc_complete() ath_offchannel_next() ath_scan_next_channel() ath_scan_channel_duration() Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 55254eeacae622075cedc59bb2e1da9573bad9da Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:11 2014 +0530 ath9k: Exclude more functions Use CONFIG_ATH9K_CHANNEL_CONTEXT to exclude more functions: ath_offchannel_channel_change() ath_scan_channel_start() ath_scan_send_probe() Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6d7cbd779059fd2d79e3d54997036f6dd2dc9202 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:10 2014 +0530 ath9k: Conditionally compile a few functions Exclude these functions when CONFIG_ATH9K_CHANNEL_CONTEXT is not enabled: ath_chanctx_send_vif_ps_frame() ath_chanctx_send_ps_frame() ath_chanctx_defer_switch() ath_chanctx_set_next() Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e20a854ed32d30be1356fef7bf9d4f0a29d5cf6b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:09 2014 +0530 ath9k: Cleanup mgd_prepare_tx callback Rename the callback from ath9k_chanctx_force_active() to ath9k_mgd_prepare_tx(). Also, move it to main.c and group it with the other callbacks. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 0e62f8b706bd72095eb8ef4f60ccb007d1facf2e Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:08 2014 +0530 ath9k: Make ath_chanctx_work static Also compile it conditionally based on CONFIG_ATH9K_CHANNEL_CONTEXT. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ea22df29a300d4120e2d0a0727aa55f922374f42 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:07 2014 +0530 ath9k: Add a routine to tear down channel contexts Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 705d0bf83dbef34d49927d3bf05c6d497f42e8b0 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Sat Aug 23 13:29:06 2014 +0530 ath9k: Add a routine for initializing channel contexts Setup the offchannel/sched timers and the chanctx work inside the new function. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 69e2a77170f8de7c178343e1a867ba32938a0399 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 22:14:31 2014 +0300 carl9170: Remove redundant protection check The carl9170_op_ampdu_action() function is used only by the mac80211 framework. Since the mac80211 already takes care of checks and properly serializing calls to the driver's function there is no need for the driver to do the same thing. Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 499afaccf6f3d5d3180f4155e85becf15d09ff71 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:31 2014 +0530 ath9k: Isolate ath9k_use_chanctx module parameter This patch ensures that the module parameter "use_chanctx" is visible only when CONFIG_ATH9K_CHANNEL_CONTEXT is selected. Also register the channel context callbacks with mac80211 only when it is explicitly enabled and compile them out of the driver when CONFIG_ATH9K_CHANNEL_CONTEXT is not selected. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c7dd40c92af1f28b84995a07aa88ccd3068ee4de Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:30 2014 +0530 ath9k: Isolate P2P powersave routines Use CONFIG_ATH9K_CHANNEL_CONTEXT to conditionally compile P2P-PS code. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2471adff1f085ec049358f16dcbc97ca7f29d2ef Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:29 2014 +0530 ath9k: Move P2P functions to channel.c Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 0e721bd061c15417db388988d494e9f80389dc73 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:28 2014 +0530 ath9k: Add a config option for channel context Channel contexts are supported only for P2P right now, so make sure that the 'normal' path remains unaffected by using a config option. This will also reduce the size of the driver. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bc81d43ad21ede28cec6b21a4c0a36aa37fe8d0b Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:27 2014 +0530 ath9k: Add debug information Add a few statements to debug channel context operation. Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dfcbb3e8f4992b9f618cbe03a0ce90f704135ebf Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:26 2014 +0530 ath9k: Move channel operations to channel.c This reduces clutter in main.c Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4f6816913f5e0bc4c983674a14a08c6e3729b449 Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:25 2014 +0530 ath9k: Handle failure to allocate HW timer Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 27328a75daa92035265a74199ff4fb919739357a Author: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Date: Fri Aug 22 20:39:24 2014 +0530 ath9k: Add a debug level for channel context Signed-off-by: Sujith Manoharan <c_manoha@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit dcb784050a518c59f695f76a0a3f802c0a9d92ab Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Fri Aug 22 09:18:02 2014 -0400 ath5k: remove redundant null check before kfree() kfree() null-checks its argument. Found by smatch. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit daf9669bea30aa22d44671e0d9ce90234579e1db Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Fri Aug 22 09:18:01 2014 -0400 ath5k: ensure led name is null terminated Add the missing null termination after strncpy(). This isn't actually a buffer overflow in this case since we use snprintf() appropriately to fill the buffer passed by the caller, but in the interest of not turning this into a bug down the road, go ahead and force termination here. Found by Coverity. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e6938ea4d56cca1dc7984428d3af79b27ce1db51 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Fri Aug 22 09:18:00 2014 -0400 ath5k: drop useless comparison rxs->rate_idx is unsigned, so it will always be >= 0. Found by Coverity. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit c94c3c5e5e6bb3dd4041490a0202bab6e4c6e424 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 09:59:29 2014 +0200 ray_cs: Add include guards The files ray_cs.h and rayctl.h both contain two thirds of what appears to be an include guard using the macro name RAYLINK_H (both lack the #define). Since RAYLINK_H is not defined anywhere, the #ifndefs are confusing no-ops. Add proper include guards using different macro names. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ecf47e9bb796558423fa87b43a8fe55f086ca56e Author: Hauke Mehrtens <hauke@xxxxxxxxxx> Date: Fri Aug 22 08:44:52 2014 +0200 bcma: only map wrapper if its address is available The Chipcommon B core does not have a wrap address and it would fail here. Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 89be7ceb80835238f04c09cb6efc2c70aabd02e8 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Aug 19 08:24:26 2014 -0400 mwifiex: use firmware API revision from GET_HW_SPEC response Newer firmware returns API revision in GET_HW_SPEC command response. We will make use of it instead of parsing this information from FW release number. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 4b9fede594f05550a5b3e061784781aa13540d09 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Aug 19 08:24:25 2014 -0400 mwifiex: rename macro and variables related to API revision We will remove 'fw' prefix from these variable and macro names and make them generic. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 2618d4fb0fb8e28d81f4f922727225470e31e717 Author: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Date: Tue Aug 19 08:24:24 2014 -0400 mwifiex: fix left_len calculation issue While updating 'left_len' in each iteration, we should subtract last TLV length not the accumulated length of TLVs parsed till now. This bug in parsing logic is exposed by newer firmware which adds two TLVs in GET_HW_SPEC command response. Earlier firmwares used to add only one TLV. Signed-off-by: Amitkumar Karwar <akarwar@xxxxxxxxxxx> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: Cathy Luo <cluo@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ba1fa3cd615976ba5241060ceb2ab0c79c9b2605 Author: Csaba Kiraly <csaba.kiraly@xxxxxxxxx> Date: Mon Aug 18 01:53:34 2014 +0200 ath9k_htc: advertise support for TDLS Based on a quick test with AR9271, TDLS seems to be working fine. Tests were done with 2 Atheros AR9271 based devices with firmware 1.3 (sha1 8d49f928aa40ac53c729189bff1333cd373a7fb5), associated with a WAP54G access point. TDLS worked fine both in WPA2 mode and without encryption. Stations maintained ping flood traffic between each other and towards the AP without significant losses. Not tested with AR7010. TDLS was enabled in earlier patches the same way for other Atheros drivers: ath9k (fd6562344dea2b8b2a5d644cf971f4e56004500a), and carl9170 (d1f3de71a584a82ee4e84505fce9acccf40215ff). Signed-off-by: Csaba Kiraly <csaba.kiraly@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1eb3b2167433a7ae1950c6ed4cc4aaad30498f09 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Mon Aug 11 13:14:25 2014 +0300 MAINTAINTERS: The NFC list is subscribers-only It's not moderated, it's subscribers-only. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 59e25676cf78c2ff41228820c1c2382387850154 Merge: 7bb75da 0fdc14e Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Thu Aug 28 14:36:38 2014 -0400 Merge branch 'for-linville' of git://github.com/kvalo/ath commit e221cc99bee4494a99aa8d8525cd7776092ced05 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:11:03 2014 +0200 spi: sh-msiof: Add support for new R-Car Gen2 SoCs Add support for MSIOF in: - r8a7792 (R-Car V2H) - r8a7793 (R-Car M2-N) - r8a7794 (R-Car E2) r8a7791 is now called "R-Car M2-W". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f609f282b59f111840e755bac8da980387e044e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 28 16:27:56 2014 +0800 ASoC: cs35l32: Simplify implementation of cs35l32_codec_set_sysclk Use single snd_soc_update_bits() call to update the register bits. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Tested-by: Brian Austin <brian.austin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a4f87cea72d78f80c0bda1b4d8a821278eb1e4e2 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 28 17:55:20 2014 +0800 ASoC: cs42l56: Remove unneeded regulator_bulk_free call in cs42l56_remove The regulator_bulk_free() call is not required because current code is using devm_regulator_bulk_get(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1a83269d5c41b77f2a4bbb3828c668c96832742e Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 28 17:54:38 2014 +0800 ASoC: cs35l32: Remove unneeded regulator_bulk_free call in cs35l32_i2c_remove The regulator_bulk_free() call is not required because current code is using devm_regulator_bulk_get(). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b792346fa8660a22a06f118cebe47709f507914f Author: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Date: Thu Aug 28 14:07:11 2014 +0300 ASoC: Remove unused cache_only from struct snd_soc_codec There are no real users for cache_only in "struct snd_soc_codec" so remove it and needless debugfs node. Signed-off-by: Jarkko Nikula <jarkko.nikula@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c2b49ae678b8bd1fd4ea3e3ae106020d663e8969 Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Thu Aug 28 10:02:42 2014 -0500 ASoC: cs42l56: use true/false returns for bool functions Return true or false instead of 1 and 0 Signed-off-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5c216cc3f37a6eecb4e12ab0248b66e6386da0fe Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Thu Aug 28 10:02:41 2014 -0500 ASoC: cs42l52: use true/false returns for bool functions Return true or false instead of 1 and 0 Signed-off-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7eef08554ca35454e6da0de8a74f7c96bc2e58e0 Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Thu Aug 28 10:02:40 2014 -0500 ASoC: cs35l32: use true/false returns for bool functions Return true or false instead of 1 and 0 Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 98c5d36240e10c2e0e06e2bb10496291626d1d43 Author: Paul Handrigan <Paul.Handrigan@xxxxxxxxxx> Date: Thu Aug 28 10:54:08 2014 -0500 ASoC: cs4265: Add CHIP_ID as a readable register Reported-by: Zoltán Szenczi <zoltan@xxxxxxxxxxxxxxx> Signed-off-by: Paul Handrigan <Paul.Handrigan@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d37aba521379203b740a2929e6e6f6bd2485f5d7 Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 28 13:54:18 2014 +0200 ARM: tegra: remove unused tegra_emc.h The header file include/linux/platform_data/tegra_emc.h does not seem to be used anywhere. It was orphaned by a7cbe92c "ARM: tegra: remove tegra EMC scaling driver". Remove it. Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit a492f075450f3ba87de36e5ffe92a9d0c7af9723 Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Thu Aug 28 08:15:21 2014 -0600 block,scsi: fixup blk_get_request dead queue scenarios The blk_get_request function may fail in low-memory conditions or during device removal (even if __GFP_WAIT is set). To distinguish between these errors, modify the blk_get_request call stack to return the appropriate ERR_PTR. Verify that all callers check the return status and consider IS_ERR instead of a simple NULL pointer check. For consistency, make a similar change to the blk_mq_alloc_request leg of blk_get_request. It may fail if the queue is dead, or the caller was unwilling to wait. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> [for pktdvd] Acked-by: Boaz Harrosh <bharrosh@xxxxxxxxxxx> [for osd] Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 7b0d0b40cd78cadb525df760ee4cac151533c2b5 Author: Stephen Smalley <sds@xxxxxxxxxxxxx> Date: Mon Aug 4 13:36:49 2014 -0400 selinux: Permit bounded transitions under NO_NEW_PRIVS or NOSUID. If the callee SID is bounded by the caller SID, then allowing the transition to occur poses no risk of privilege escalation and we can therefore safely allow the transition to occur. Add this exemption for both the case where a transition was explicitly requested by the application and the case where an automatic transition is defined in policy. Signed-off-by: Stephen Smalley <sds@xxxxxxxxxxxxx> Reviewed-by: Andy Lutomirski <luto@xxxxxxxxxxxxxx> Signed-off-by: Paul Moore <pmoore@xxxxxxxxxx> commit c61519fd9abb1b520bcbe2eb21cf161d4d1b9eec Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 28 21:04:49 2014 +0800 regulator: rk808: Fix memory leak The memory allocated in rk808_regulator_probe() needs to be freed when the module is unloaded. Thus pass &pdev->dev rather than &client->dev to devm_kzalloc. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 77c545398e33a0263a68142fcfbd4b11b0f06294 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 14:48:24 2014 +0200 ASoC: Allow SND_SOC_WM8978 to be selected manually When using a DT-based multi-platform kernel, there's not always Kconfig logic that selects the right codec driver. Allow the user to manually select WM8978. This is needed for Armadillo 800 EVA using a generic r8a7740 multi-platform kernel. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6089af775a4b4ea5237648de650dda548cb841c2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 28 10:10:19 2014 +0200 spi: rspi: Add support for new R-Car Gen2 SoCs Add support for QSPI in: - r8a7792 (R-Car V2H) - r8a7793 (R-Car M2-N) - r8a7794 (R-Car E2) r8a7791 is now called "R-Car M2-W". Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 307b28b95ce9717680b5980d67ef0b060c8fde3b Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Tue Jul 1 16:47:35 2014 -0300 genirq: fix reference in devm_request_threaded_irq comment It should be request_threaded_irq, not request_irq [jkosina@xxxxxxx: not that it would matter, as both have the same set of arguments anyway, but for sake of consistency ...] Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit f3ababa8ba2ace6668a24803910577a49dc146dd Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Fri Aug 8 15:29:09 2014 -0700 pinctrl: Add mux options 3 and 4 for rockchip pinctrl Newer Rockchip SoCs have more muxing slots. Add slots 3 and 4 since the rk3288 table goes all the way up to 4. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 964a1c4e0e22cf2da7c35e7d57e61fcd7ba8ee21 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Wed Aug 27 16:45:00 2014 -0300 backlight: generic_bl: Remove unused function genericbl_limit_intensity() is exported, but it is never called anywhere else. Fix the following sparse warning: drivers/video/backlight/generic_bl.c:59:6: warning: symbol 'genericbl_limit_intensity' was not declared. Should it be static? Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit 6728f2b109392484d38ac9e365496ac5fa1071f1 Author: Peter Griffin <peter.griffin@xxxxxxxxxx> Date: Wed Aug 13 13:38:38 2014 +0100 backlight: Remove .owner field for drivers using module_platform_driver This patch removes the superflous .owner field for drivers which use the module_platform_driver or platform_driver_register api, as this is overriden in __platform_driver_register. Signed-off-by: Peter Griffin <peter.griffin@xxxxxxxxxx> Signed-off-by: Lee Jones <lee.jones@xxxxxxxxxx> commit d7cdb968081727746c8d2fb31b12ea6d1694888e Author: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Date: Fri Jun 20 17:19:06 2014 +0200 treewide: fix synchronize_rcu() in comments Signed-off-by: Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4ba2968420fa9d0604b6a6a5c61bfa8d0fa84ae0 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Tue Aug 26 19:12:21 2014 -0500 percpu: Resolve ambiguities in __get_cpu_var/cpumask_var_t __get_cpu_var can paper over differences in the definitions of cpumask_var_t and either use the address of the cpumask variable directly or perform a fetch of the address of the struct cpumask allocated elsewhere. This is important particularly when using per cpu cpumask_var_t declarations because in one case we have an offset into a per cpu area to handle and in the other case we need to fetch a pointer from the offset. This patch introduces a new macro this_cpu_cpumask_var_ptr() that is defined where cpumask_var_t is defined and performs the proper actions. All use cases where __get_cpu_var is used with cpumask_var_t are converted to the use of this_cpu_cpumask_var_ptr(). Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 208ad0012e372633e9d0cd01844455623779998f Author: Kyle McMartin <kyle@xxxxxxxxxx> Date: Fri Jun 20 11:41:37 2014 -0400 checkstack.pl: port to AArch64 AArch64 stores the frame pointer and return pointer, and decrements the stack. Also remove my (no longer valid) email address. Signed-off-by: Kyle McMartin <kyle@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit db4ced14c1fc509d408269ec15e1eac1eb0b440f Author: Arnd Hannemann <arnd@xxxxxxxxxx> Date: Tue Aug 26 12:33:20 2014 +0200 doc: queue-sysfs: minor fixes This patches fixes a typo, and for consistency use "IO" in upper case in the block/queue-sysfs.txt documentation. Signed-off-by: Arnd Hannemann <arnd@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0bf37ae4c45a0463671a50b443e1bafec730dd4d Author: Pavel Machek <pavel@xxxxxx> Date: Tue Aug 26 13:49:35 2014 +0200 init/do_mounts: better syntax description Specify hex device number unambiquously. Signed-off-by: Pavel Machek <pavel@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4f671cb25e0a1d2b903d9a19e66fa193572424cf Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sun Jul 27 09:52:51 2014 +0400 pinctrl: Add i.MX21 pincontrol driver This patch adds pincontrol driver for Freescale i.MX21 SOCs. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1b5bda21b05ef1b3c5462d4f066fda7c68240dda Author: Feng Kan <fkan@xxxxxxx> Date: Thu Jul 31 12:03:26 2014 -0700 Documentation: gpio: Add APM X-Gene SoC GPIO controller DTS binding Documentation for APM X-Gene SoC GPIO controller DTS binding. Signed-off-by: Feng Kan <fkan@xxxxxxx> Reviewed-by: Alexandre Courbot <acourbot@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 29cbf4589fc0dabef4dfc95dd9589c366ad2ec46 Author: Feng Kan <fkan@xxxxxxx> Date: Thu Jul 31 12:03:25 2014 -0700 gpio: Add APM X-Gene SoC GPIO controller support Add APM X-Gene SoC gpio controller driver. Signed-off-by: Feng Kan <fkan@xxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit e8126753a9a5896ed50c9d9bf66fa46f0f1982a6 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Tue Jul 29 09:24:44 2014 +0200 gpio: pca953x: Add DT binding documentation Add a devicetree binding documentation for the pca953x driver. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 4bb93349d9d001f565aafe2a1890cbb6e4476b58 Author: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Date: Tue Jul 29 09:24:43 2014 +0200 gpio: pca953x: Drop deprecated DT bindings Drop deprecated DT bindings and use automaticly assigned gpio and irq bases. Signed-off-by: Markus Pargmann <mpa@xxxxxxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit c89fcfd42cbcf839b6737c977f280188eeea92d7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 28 01:39:49 2014 -0700 virtio_net: flush when in xmit_more mode and under descriptor pressure Mirror the changes made to ixgbe in commit 2367a17390138f68b3aa28f2f220b8d7ff8d91f4 ("ixgbe: flush when in xmit_more mode and under descriptor pressure") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6f19e12f623067d6a330748f932ca4a81b828ffb Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Thu Aug 28 01:39:31 2014 -0700 igb: flush when in xmit_more mode and under descriptor pressure Mirror the changes made to ixgbe in commit 2367a17390138f68b3aa28f2f220b8d7ff8d91f4 ("ixgbe: flush when in xmit_more mode and under descriptor pressure") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ba2b7d0ad59f4e3fb2619f840b8e89060ab5dc61 Author: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 6 16:31:27 2014 -0500 MAINTAINERS: update entries for ARM/SOCFPGA platform Update email address, add W and T entries. Signed-off-by: Dinh Nguyen <dinguyen@xxxxxxxxxxxxxxxxxxxxx> commit e34b731faa7d12d3681187968ef899747e4feb55 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Aug 27 11:55:53 2014 +0100 dma: imx-sdma: Remove spurious __init annotation on sdma_probe() We can't annotate probe functions as __init since binding can occur at any time, not just during kernel init. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit b19f40b8bf87bfc32b91260a90a7fa2cdebcd9bb Author: Ryo Kataoka <ryo.kataoka.wt@xxxxxxxxxxx> Date: Wed Aug 20 17:53:03 2014 -0700 dma: rcar-audmapp: Fix for no corresponding slave ID In case of no corresponding slave ID, the audmapp_set_slave() returns -ENXIO same as sh_dmae_set_slave() of shdmac.c. DMAEngine might return wrong channel without this patch Signed-off-by: Ryo Kataoka <ryo.kataoka.wt@xxxxxxxxxxx> Signed-off-by: Jun Watanabe <jun.watanabe.ue@xxxxxxxxxxx>, Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 58d06e989e1321b43c1e42bdf3846113e9e16ecd Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 15:18:44 2014 +0200 dmaengine: Update documentation for inline wrapper Commit 16052827d98fbc13c31ebad560af4bd53e2b4dd5 ("dmaengine/dma_slave: introduce inline wrappers") introduced some wrappers, but there is still a reference to the old function. Update the documentation to use the wrapper, and add a missing "()" to a function name. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 2367a17390138f68b3aa28f2f220b8d7ff8d91f4 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Tue Aug 26 19:34:18 2014 +0200 ixgbe: flush when in xmit_more mode and under descriptor pressure When xmit_more mode is being used and the ring is about to become full or the stack has stopped the ring, enforce a tail pointer write to the hw. Otherwise, we could risk a TX hang. Code suggested by Alexander Duyck. Signed-off-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxx> Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 900405d014c584c92b77e7f5d52d46cd2556602b Merge: 0ce4866 430ad68 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 23:16:19 2014 -0700 Merge branch 'bcm7xxx' Florian Fainelli says: ==================== Broadcom BCM7xxx PHY updates for new entries Another week, another set of updates for the Broadcom BCM7xxx PHY driver. This patch set cleanups the existing definitions, adds a macro to ease the addition of future chips, and finally add two new SoCs to the list of supported chips. Resending since the first patch did not make it to the list, sorry about that. Changes in v2: - rephrased commit message for patch 1 to make it pass majordomo capital triple X was rejected ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 430ad68ffb5fa632a277162e5995cd6f7a39fb78 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 26 13:15:27 2014 -0700 net: phy: bcm7xxx: add BCM7250 and BCM7364 PHY entries Add two new entries to the Broadcom BCM7xxx internal PHY driver for BCM7250 and BCM7364 chips. Those chips share the usual 28nm process Gigabit PHY sequence and require the same workarounds so far. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 11bf2bbd596add62a86a74fc7aedc0b86c6ec154 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 26 13:15:26 2014 -0700 net: phy: broadcom: add new Broadcom OUI Broadcom started to use a new OUI for its 2013 and newer products: D4-01-29 which translates into 0xae025000 for a 32-bits OUI, add its definition. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97fdaab4699de3a2a91001efef60bb0622de1c53 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 26 13:15:25 2014 -0700 net: phy: broadcom: fix PHY_BCM_OUI_4 PHY_BCM_OUI_4 is missing two significant digits that actually make it an OUI, add those missing bits so it becomes usable again for matching. Fixes: b560a58c45c6 ("net: phy: add Broadcom BCM7xxx internal PHY driver") Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 153df3c7d7af6772a99fe5589d26a6677ffd66db Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Tue Aug 26 13:15:24 2014 -0700 net: phy: bcm7xxx: introduce helper macro All 28nm Gigabit PHYs supported by the driver have the same callbacks, the only differences being the 32-bits OUI and the name. Use a macro to factor this, making it easier in the future to add new entries. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0ce4866f1e4697d45011bd1a01f33036660abffc Merge: abc4da4 879bd83 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 23:07:18 2014 -0700 Merge branch 'sf2' Florian Fainelli says: ==================== dsa: Broadcom Starfighter 2 switch support This patch series adds support for the Broadcom Starfighter 2 (Roboswitch successor) using the existing DSA infrastructure. This integrated switch is heavily used in Set Top Box, Cable gateways and DSL gateways products from Broadcom, and to a larger extent the new ARM-based Wi-Fi routers although slightly differently. Changes in v5 are the introduction of ETH_P_XDSA as suggested by Alexander to help capture applications see this is a multiplexed DSA approach now. Changes in v4 are the introducing of an indirection level for DSA switch tag protocols receive and transmit functions. I intentionnaly did not address one comment from Alexander who suggested to move port_names and port_dn in a separate structure since that involves touching arch/arm/ and arch/blackfin/ code which I am not yet comfortable doing. Notable changes in v3 is the preliminary patch that reworks the skb->protocol override helpers for non-Ethertype switch tags, based on feedback from Alexander Duyck. The biggest changes from v1 of this patch series are: - use the new fixed PHY helpers - improved the switch driver with more complete features (interrupts, (RG)MII configuration, memory arrays power down/up, port disabling/enable VLAN separation Future work will focus on bringing the upstream driver in feature parity with the current downstream driver, including: - adding Wake-on-LAN support to the switch - adding suspend/resume callbacks for S2/S3 Power Management modes - extending the switch register interface to cover BCM5310X SoCs ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit abc4da4503bf6cb1864454b464c52959241239bd Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 22:59:26 2014 -0700 sungem: Fix global namespace pollution of phy accessors. The sungem driver has "phy_read()" and "phy_write()" functions, which we need to rename because the generic phy layer is about to export generic interfaces with the same name. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 879bd83d5916ea0cff444c4b0655a997c40692b7 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:58 2014 -0700 Documentation: devicetree: add Broadcom Starfighter 2 binding Add the binding documentation for the Broadcom Starfighter 2 integrated switch hardware. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 51f265936fe138c05c7efc3a4fb78663c092f33e Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:57 2014 -0700 Documentation: devicetree: update dsa binding with optional properties Add documentation for a bunch of new optional properties described in ethernet.txt and fixed-link.txt, this includes: 'phy-handle', 'phy-mode' and the 'fixed-link' subnode. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 246d7f773c13cac3e3ab1609fd4ffee520242c63 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:56 2014 -0700 net: dsa: add Broadcom SF2 switch driver Add support for the Broadcom Starfigther 2 switch chip using a DSA driver. This switch driver supports the following features: - configuration of the external switch port interface: MII, RevMII, RGMII and RGMII_NO_ID are supported - support for the per-port MIB counters - support for link interrupts for special ports (e.g: MoCA) - powering up/down of switch memories to conserve power when ports are unused Finally, update the compatible property for the DSA core code to match our switch top-level compatible node. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5037d532b83d7325a2743dffe82882a64697a8e8 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:55 2014 -0700 net: dsa: add Broadcom tag RX/TX handler Add support for the 4-bytes Broadcom tag that built-in switches such as the Starfighter 2 might insert when receiving packets, or that we need to insert while targetting specific switch ports. We use a fake local EtherType value for this 4-bytes switch tag: ETH_P_BRCMTAG to make sure we can assign DSA-specific network operations within the DSA drivers. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ce31b31c68e7e39f29b1257581fbd08ce3ca5589 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:54 2014 -0700 net: dsa: allow updating fixed PHY link information Allow switch drivers to hook a PHY link update callback to perform port-specific link work. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ec9436baedb689668c409cfc8b69eb9573b0d661 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:53 2014 -0700 net: dsa: allow drivers to do link adjustment Whenever libphy determines that the link status of a given PHY/port has changed, allow to call into the switch driver link adjustment callback so proper actions can be taken care of by the switch driver upon link notification. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5aed85cec29882d1c4b4b2a01cb75a99efdbe4ed Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:52 2014 -0700 net: dsa: allow switches to work without tagging In case switch port tagging is disabled (voluntarily, or the switch just does not support it), allow us to continue using the defined set of dsa_device_ops in net/dsa/slave.c. We introduce dsa_protocol_is_tagged() to check whether we need to override skb->protocol and go through the DSA-specifif packet_type function, or if we just go on and receive the SKB through the normal path. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d8bcdd383b8865e752a7e8edb4712c2e3902052 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:51 2014 -0700 net: dsa: allow for more complex PHY setups Modify the DSA slave interface to be bound to an arbitray PHY, not just the ones that are available as child PHY devices of the switch MDIO bus. This allows us for instance to have external PHYs connected to a separate MDIO bus, but yet also connected to a given switch port. Under certain configurations, the physical port mask might not be a 1:1 mapping to the MII PHYs mask. This is the case, if e.g: Port 1 of the switch is used and connects to a PHY at a MDIO address different than 1. Introduce a phys_mii_mask variable which allows driver to implement and divert their own MDIO read/writes operations for a subset of the MDIO PHY addresses. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit bd47497a0171b96264927e3377254db13b9fe3e3 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:50 2014 -0700 net: dsa: retain a per-port device_node pointer We will later use the per-port device_node pointer to fetch a bunch of port-specific properties. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fa981d9af82e08f316ed25ed43078f995cc4be0a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:49 2014 -0700 net: dsa: provide a switch device device tree node pointer We might need to fetch additional resources from the device tree node pointer, such as register ranges or other properties. Keep a device_node pointer around for this. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 464c3668f065baeacfffa9d421959d21069389fe Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:48 2014 -0700 net: phy: provide stub for fixed_phy_set_link_update In preparation for updating the DSA code and avoid using ifdefs there, provide an empty stub for fixed_phy_set_link_update when CONFIG_FIXED_PHY is not selected. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2ba1b163c9d5d716fb1061f3fb76832cc6eea37f Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:47 2014 -0700 net: phy: add generic UniMAC MDIO bus driver Add a generic UniMAC MDIO bus driver and its Device Tree binding, which can be used by the BCMGENET driver as-is, and the upcoming Starfighter 2 Ethernet switch MDIO bus controller. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3e8a72d1dae374cf6fc1dba97cec663585845ff9 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Wed Aug 27 17:04:46 2014 -0700 net: dsa: reduce number of protocol hooks DSA is currently registering one packet_type function per EtherType it needs to intercept in the receive path of a DSA-enabled Ethernet device. Right now we have three of them: trailer, DSA and eDSA, and there might be more in the future, this will not scale to the addition of new protocols. This patch proceeds with adding a new layer of abstraction and two new functions: dsa_switch_rcv() which will dispatch into the tag-protocol specific receive function implemented by net/dsa/tag_*.c dsa_slave_xmit() which will dispatch into the tag-protocol specific transmit function implemented by net/dsa/tag_*.c When we do create the per-port slave network devices, we iterate over the switch protocol to assign the DSA-specific receive and transmit operations. A new fake ethertype value is used: ETH_P_XDSA to illustrate the fact that this is no longer going to look like ETH_P_DSA or ETH_P_TRAILER like it used to be. This allows us to greatly simplify the check in eth_type_trans() and always override the skb->protocol with ETH_P_XDSA for Ethernet switches tagged protocol, while also reducing the number repetitive slave netdevice_ops assignments. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8663dc2002b02abfe5dfb0fb7e544b81982ad95b Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 22:59:26 2014 -0700 sungem: Fix global namespace pollution of phy accessors. The sungem driver has "phy_read()" and "phy_write()" functions, which we need to rename because the generic phy layer is about to export generic interfaces with the same name. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 04cd214516d8a6f0f8c0116185d6e360df0860d2 Merge: 6adae10 feba9b0 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 28 13:45:45 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next Just clearing out my -next queue before I go on vacation. Two UVD improvements that depend on the ttm change you just merged. * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: preallocate mem for UVD create/destroy msg drm/radeon: allow UVD to use a second 256MB segment commit feba9b0bcf492ba991d7fbfc211dd49ebbc95a4b Author: Christian König <christian.koenig@xxxxxxx> Date: Fri Aug 22 14:25:55 2014 +0200 drm/radeon: preallocate mem for UVD create/destroy msg llocating memory for UVD create and destroy messages can fail, which is rather annoying when this happens in the middle of a GPU reset. Try to avoid this condition by preallocating a page for those dummy messages. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 3852752ca89ca00aa13f12a9b9450fd97ff437d4 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 21 12:18:12 2014 +0200 drm/radeon: allow UVD to use a second 256MB segment This improves concurrent stream decoding. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 6adae108b2fb0c7b945e297e4a0f0b7d66599656 Merge: fb1aaca 3c03638 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 28 11:39:11 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next More radeon changes for drm-next. Highlights: - UVD support for older asics - Reset rework in preparation for Maarten's fence patches I have a few more patches which depend on Christian's ttm changes, I'll send them out separately once you've merged the ttm changes. * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: drop doing resets in a work item drm/radeon: drop RADEON_FENCE_SIGNALED_SEQ v2 drm/radeon: add timeout argument to radeon_fence_wait_seq v2 drm/radeon: handle lockup in delayed work, v5 drm/radeon: take exclusive_lock in read mode during ring tests, v5 drm/radeon: force fence completion only on problematic rings (v2) drm/radeon: wake up all fences on manual reset drm/radeon: add UVD fw names for older asic drm/radeon: enable RB_ARB before resetting the VCPU drm/radeon: 760G/780V/880V don't have UVD drm/radeon: implement UVD hw workarounds for R6xx v3 drm/radeon: add UVD support for older asics v4 drm/radeon: add set_uvd_clocks callback for r6xx v4 drm/radeon: properly init UVD MC bits on R600 drm/radeon: force UVD buffers into VRAM on RS[78]80 v2 drm/radeon: move the IB test after the AGP fallback commit fb1aacae408a48968840f8743a73edaad94a2f94 Merge: 484048d f1217ed Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Thu Aug 28 11:34:48 2014 +1000 Merge branch 'ttm_pfn' of git://people.freedesktop.org/~deathsimple/linux into drm-next pull in placement changes radeon requires. * 'ttm_pfn' of git://people.freedesktop.org/~deathsimple/linux: drm/ttm: move fpfn and lpfn into each placement v2 commit 73852b2bfb743298dff9e731615ee0162b33630c Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 18:24:16 2014 -0700 tulip: dmfe: Fix global namespace pollution of phy accessors. The dmfe driver has "phy_read()" and "phy_write()" functions, which we need to rename because the generic phy layer is about to export generic interfaces with the same name. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c2c0e8b2b88cac379b2a2167b448000dedd2596a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 17:05:53 2014 -0700 f_ncm: Don't use netdev_start_xmit(). Unfortunately, the USB gadget layer has this weird things where NULL skbs are passed into ops->ndo_start_xmit() in order to trigger the dev->wrap() calls to build packets. This is completely outside of the allowable range of sane arguments for the ndo_start_xmit method. All invocations of ndo_start_xmit() should be with non-NULL SKB arguments. Put back the direct call, but with a comment explaining how this is not acceptable in the long term. Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 23d2d9a630b98a554cc328c6b69c56fd285e0129 Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Tue Aug 26 13:14:51 2014 +0000 ethernet: arc: Add support for specific SoC layer device tree bindings Some platforms have special bank registers which might be used to select the correct clock or the right mode for Media Indepent Interface controllers. Sometimes, it is also required to activate vcc regulators in the right order to supply the ethernet controller at the right time. This patch is an architecture refactoring of the arc-emac device driver. It adds a new software design which allows to add specific platform glue layer. Each platform has now its own module which performs custom initialization and remove for the target and then calls to the core driver. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 93e91b3dda17be19ecf52de2400a02c6469decfa Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Tue Aug 26 13:14:50 2014 +0000 ethernet: arc: mdio changes for future SoC glue layer devtree support This is an api changes for the emac_mdio.c module. It will be required later when arc_emac_probe/arc_emac_remove will no longer use 'struct platform_device'. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f15f44e0839793ea03ffef5bae532cd63d92948c Author: Romain Perier <romain.perier@xxxxxxxxx> Date: Tue Aug 26 13:14:49 2014 +0000 ethernet: arc: remove use of 'struct platform_device' This is a preparation of an api changes for the emac_main.c module. The involved functions are arc_emac_probe and arc_emac_remove. Signed-off-by: Romain Perier <romain.perier@xxxxxxxxx> Reviewed-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 253ff51635ad6690276ef065d59523c4bd1cd584 Author: Florian Westphal <fw@xxxxxxxxx> Date: Tue Aug 26 12:55:53 2014 +0200 tcp: syncookies: mark cookie_secret read_mostly only written once. Signed-off-by: Florian Westphal <fw@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1fc3de94076cd0c1e53e5ba8061763b33c7b27c2 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Tue Aug 26 10:24:41 2014 +0300 bnx2x: Fix static checker warning regarding `txdata_ptr' Incorrect checking of array instead of array contents in panic_dump flow - results of commit e261199872a2 ("bnx2x: Safe bnx2x_panic_dump()"). Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b0b46c7766e6803df7f76cddbbc0172092b5fa7c Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Tue Aug 26 10:08:23 2014 +0800 r8152: replace strncpy with strlcpy Replace the strncpy with strlcpy, and use sizeof to determine the length. Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8dc12f933c9d732c5bbfb233daf27377893b109c Author: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Date: Wed Aug 27 14:40:40 2014 -0700 x86/iosf: Add debugfs support Allows access to the iosf sideband through debugfs. Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409175640-32426-3-git-send-email-david.e.box@xxxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit aa8e4f22ab7773352ba3895597189b8097f2c307 Author: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Date: Wed Aug 27 14:40:39 2014 -0700 x86/iosf: Add Kconfig prompt for IOSF_MBI selection Fixes an error in having the iosf build as 'default m'. On X86 SoC's the iosf sideband is the only way to access information for some registers, as opposed to through MSR's on other Intel architectures. While selecting IOSF_MBI is preferred, it does mean carrying extra code on non-SoC architectures. This exports the selection to the user, allowing those driver writers to compile out iosf code if it's not being built. Signed-off-by: David E. Box <david.e.box@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1409175640-32426-2-git-send-email-david.e.box@xxxxxxxxxxxxxxx Signed-off-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> commit f23a6179d45e9d144bf2eb2bd82b2f1270f85fcf Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Aug 20 21:09:24 2014 +0200 ARM: dts: rockchip: add saradc nodes Add the core device nodes for the SARADC found on both the Cortex-A9 series (rk3066 and rk3188) as well as the newer rk3288. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 3c0363891c0fa5d17b683b758bff0d81fa6a9775 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 15:22:01 2014 +0200 drm/radeon: drop doing resets in a work item Blocking completely innocent processes with a GPU reset is a pretty bad idea. Just set needs_reset and let the next command submission or fence wait do the job. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit d6d5c5b8364bcc4d52cddc68bcb0a330d2af20f3 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 15:22:00 2014 +0200 drm/radeon: drop RADEON_FENCE_SIGNALED_SEQ v2 It's causing issues with VMID handling and comparing the fence value two times actually doesn't make handling faster. v2: rebased on reset changes Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9867d00dbaef42e346e5d12eaa9591b057fea6d8 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Aug 27 15:21:59 2014 +0200 drm/radeon: add timeout argument to radeon_fence_wait_seq v2 This makes it possible to wait for a specific amount of time, rather than wait until infinity. v2 (chk): rebased on other changes Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 0bfa4b41268ad5fd741f16f484e4fee190822ec6 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 15:21:58 2014 +0200 drm/radeon: handle lockup in delayed work, v5 v5 (chk): complete rework, start when the first fence is emitted, stop when the last fence is signalled, make it work correctly with GPU resets, cleanup radeon_fence_wait_seq Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9bb39ff43e15e85bc1bd9bbbdc5b9cef7a670fd5 Author: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Date: Wed Aug 27 16:45:18 2014 -0400 drm/radeon: take exclusive_lock in read mode during ring tests, v5 This is needed for the next commit, because the lockup detection will need the read lock to run. v4 (chk): split out forced fence completion, remove unrelated changes, add and handle in_reset flag v5 (agd5f): rebase fix Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4721ab855d1a1d3e472ff38d1cae06e23e0520cf Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Aug 20 21:07:22 2014 +0200 ARM: dts: rockchip: add hym8563 rtc to Radxa Rock board The Radxa Rock uses a hym8563 as rtc. Add the i2c device and necessary pinconfig for the interrupt pin - labeled rtc_int in the schematics. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 5c21403d74af2c9cd635a34c2f9199681a5b813e Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Wed Aug 27 14:39:04 2014 -0700 net: Update sk_buff flag bit availability comment. We lost one when xmit_more was added. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0541f94fdff89fb7bc14bf5fe0da21d9d19a0c6d Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Aug 25 15:59:27 2014 -0700 ARM: dts: Enable PWM backlight on rk3288-evb PWM0 is the PWM associated with the LCD backlight. Enable it. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit df542df3f572af7e5f8279e78d86614483d9670d Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Aug 25 15:59:26 2014 -0700 ARM: dts: Add main PWM info to rk3288 This adds the PWM info (other than the VOP PWM) to the main rk3288 dtsi file. Signed-off-by: Caesar Wang <caesar.wang@xxxxxxxxxxxxxx> Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 604b607748a576c3861f549772b72fb62c05a3fd Author: Jiri Kosina <jkosina@xxxxxxx> Date: Wed Aug 27 23:27:10 2014 +0200 HID: picolcd: be more verbose when reporting report size error picolcd device is not expected to send any report with size larger than 64 bytes. If this impossible event happens (sic!), print also a report ID to allow for easier debugging. Suggested-by: Bruno Prémont <bonbons@xxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 6ba42ba608df1e243d594a682073e783a57c95f5 Merge: c99428d cf673fb Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Aug 27 22:07:01 2014 +0100 Merge tag 'dt-endian' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into spi-fsl-dspi regmap: Device tree endianness support This adds generic support for specifying endianess for register map in the DT. commit 368d4e59b002d0742fc7c25de8fd7b6ad37a434c Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Fri Aug 22 16:16:06 2014 -0400 HID: logitech-dj: break out testing of validity of dj_device We can do once the test of the validity of the dj_device, which removes some duplicated code in various functions. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit de56fb1923ca11f428bf557870e0faa99f38762e Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:25 2014 +0100 KVM: vgic: declare probe function pointer as const We extract the vgic probe function from the of_device_id data pointer, which is const. Kill the sparse warning by ensuring that the local function pointer is also marked as const. Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 1fa451bcc67fa921a04c5fac8dbcde7844d54512 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:24 2014 +0100 KVM: vgic: return int instead of bool when checking I/O ranges vgic_ioaddr_overlap claims to return a bool, but in reality it returns an int. Shut sparse up by fixing the type signature. Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit bd218bce92d3868ba4fe5e9e3eb8199d2aa614af Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:23 2014 +0100 KVM: ARM/arm64: return -EFAULT if copy_from_user fails in set_timer_reg We currently return the number of bytes not copied if set_timer_reg fails, which is almost certainly not what userspace would like. This patch returns -EFAULT instead. Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 18d457661fb9fa69352822ab98d39331c3d0e571 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:22 2014 +0100 KVM: ARM/arm64: avoid returning negative error code as bool is_valid_cache returns true if the specified cache is valid. Unfortunately, if the parameter passed it out of range, we return -ENOENT, which ends up as true leading to potential hilarity. This patch returns false on the failure path instead. Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 4000be423cb01a8d09de878bb8184511c49d4238 Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:21 2014 +0100 KVM: ARM/arm64: fix broken __percpu annotation Running sparse results in a bunch of noisy address space mismatches thanks to the broken __percpu annotation on kvm_get_running_vcpus. This function returns a pcpu pointer to a pointer, not a pointer to a pcpu pointer. This patch fixes the annotation, which kills the warnings from sparse. Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 6951e48bff0b55d2a8e825a953fc1f8e3a34bf1c Author: Will Deacon <will.deacon@xxxxxxx> Date: Tue Aug 26 15:13:20 2014 +0100 KVM: ARM/arm64: fix non-const declaration of function returning const Sparse kicks up about a type mismatch for kvm_target_cpu: arch/arm64/kvm/guest.c:271:25: error: symbol 'kvm_target_cpu' redeclared with different type (originally declared at ./arch/arm64/include/asm/kvm_host.h:45) - different modifiers so fix this by adding the missing const attribute to the function declaration. Cc: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Cc: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 06cb1eb3de5c905da60ab91dbf99aaf96a43d043 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Thu Aug 21 18:20:49 2014 +0530 ASoC: mfld-compress: Use dedicated function instead of ioctl Also pass sst device as an argument to function pointer prototypes of compr_ops. This will be used to derive sst driver context. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eb98c709907c7a78b9cd0d18642477d47d348f9f Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 15:21:56 2014 +0200 drm/radeon: force fence completion only on problematic rings (v2) Instead of resetting all fence numbers, only reset the number of the problematic ring. Split out from a patch from Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> v2 (agd5f): rebase build fix Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit a71b4438af8242f383906071205db95a8b8e7b6d Author: FUKAUMI Naoki <naobsd@xxxxxxxxx> Date: Wed Aug 20 14:25:03 2014 +0900 ARM: sun7i: Add support for Olimex A20-OLinuXino-LIME This patch adds support for Olimex A20-OLinuXino-LIME board. Signed-off-by: FUKAUMI Naoki <naobsd@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 98047888bb9fd57734028c44ec17413ddd623958 Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 19 12:18:04 2014 +0200 arm/arm64: KVM: Support KVM_CAP_READONLY_MEM When userspace loads code and data in a read-only memory regions, KVM needs to be able to handle this on arm and arm64. Specifically this is used when running code directly from a read-only flash device; the common scenario is a UEFI blob loaded with the -bios option in QEMU. Note that the MMIO exit on writes to a read-only memory is ABI and can be used to emulate block-erase style flash devices. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit 64d831269ccbca1fc6d739a0f3c8aa24afb43a5e Author: Christoffer Dall <christoffer.dall@xxxxxxxxxx> Date: Tue Aug 19 12:15:00 2014 +0200 KVM: Introduce gfn_to_hva_memslot_prot To support read-only memory regions on arm and arm64, we have a need to resolve a gfn to an hva given a pointer to a memslot to avoid looping through the memslots twice and to reuse the hva error checking of gfn_to_hva_prot(), add a new gfn_to_hva_memslot_prot() function and refactor gfn_to_hva_prot() to use this function. Acked-by: Marc Zyngier <marc.zyngier@xxxxxxx> Signed-off-by: Christoffer Dall <christoffer.dall@xxxxxxxxxx> commit ef11982dd7a657512c362242508bb4021e0d67b6 Author: Amit Virdi <amit.virdi@xxxxxx> Date: Fri Aug 22 14:36:36 2014 +0530 usb: gadget: zero: Add support for interrupt EP Interrupt endpoints behave quite similar to the bulk endpoints with the difference that the endpoints expect data sending/reception request at particular intervals till the whole data has not been transmitted. The interrupt EP support is added to gadget zero. A new alternate setting (=2) has been added. It has 2 interrupt endpoints. The default parameters are set as: bInterval: 1 ms for FS and 8 uFrames (implying 1 ms) for HS/SS wMaxPacketSize: 64 bytes for FS and 1024 bytes for HS/SS However, the same can be overridden through the module parameter interface. The code is tested for HS and SS on a platform having DWC3 controller. Signed-off-by: Amit Virdi <amit.virdi@xxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit c572a217d1b81209ae5a4fe09a96db758f86f10b Author: Richard Leitner <richard.leitner@xxxxxxxxxxx> Date: Thu Aug 21 08:57:28 2014 +0200 usb: gadget: serial: remove PREFIX macro Remove the ttyGS PREFIX macro from u_serial.c and replace all occurences with the hardcoded ttyGS string. This macro was mostly used in a few debug/warning messages and a lot of hardcoded ttyGS existed beneath. It may have been used for renaming the tty, but if done so most debug messages would have ignored this. Due to the fact the usage of this PREFIX in all debug calls would have resulted in a hard to read/grep code it is removed completely. Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b8b0ea51b381a43c3179281a7aaf95b49f9f5f7b Author: Richard Leitner <richard.leitner@xxxxxxxxxxx> Date: Thu Aug 21 08:31:39 2014 +0200 usb: gadget: serial: replace {V,}DBG macro with dev_{v,}dbg Replace the VDBG and DBG macro with the kernels "proper" debug macros (dev_vdbg and dev_dbg) in f_acm.c, f_obex.c & f_serial.c Signed-off-by: Richard Leitner <richard.leitner@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit a1a4caf41ed8154c4e7b75b4e12c1a7d851e2137 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Thu Aug 21 07:45:10 2014 +0100 usb: phy: msm: Make phy_reset clk and reset line optional. This patch makes the phy reset clk and reset line optional as this clk is not available on boards like IFC6410 with APQ8064. phy-reset clk is only used as argument to the mach level callbacks, so this patch adds condition before clk_get calls so that the driver wouldn't fail on SOCs which do not have this support. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d0ee68b59e6aa33221445dc555efac3736b89026 Author: Stefan Agner <stefan@xxxxxxxx> Date: Mon Jul 28 16:57:29 2014 +0200 usb: phy: mxs: Add VF610 USB PHY support This adds support for the USB PHY in Vybrid VF610. We assume that the disconnection without VBUS is also needed for Vybrid. Tests showed, without MXS_PHY_NEED_IP_FIX, enumeration of devices behind a USB Hub fails with errors: [ 215.163507] usb usb1-port1: cannot reset (err = -32) [ 215.170498] usb usb1-port1: cannot reset (err = -32) [ 215.185120] usb usb1-port1: cannot reset (err = -32) [ 215.191345] usb usb1-port1: cannot reset (err = -32) [ 215.202487] usb usb1-port1: cannot reset (err = -32) [ 215.207718] usb usb1-port1: Cannot enable. Maybe the USB cable is bad? [ 215.219317] usb usb1-port1: unable to enumerate USB device Hence we also enable the MXS_PHY_NEED_IP_FIX flag. Acked-by: Peter Chen <peter.chen@xxxxxxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 014fd22ef9c6a7e9536b7e16635714a1a34810a8 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 25 11:31:02 2014 +0800 ASoC: fsl-sai: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 664915074e750614c5d140093d5098a165a24e3d Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 25 11:31:01 2014 +0800 ASoC: fsl-spdif: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 92bd0334b27845f250f1fadb091242140391c99b Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 25 11:31:00 2014 +0800 ASoC: fsl-esai: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit bf16d883263dedefb6149916e41b3e2779bb1573 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 25 11:30:59 2014 +0800 ASoC: fsl-asrc: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e94b8f50907c063de25ca52072e54b0581614995 Merge: 38c6e4b cf673fb Author: Mark Brown <broonie@xxxxxxxxxx> Date: Wed Aug 27 19:14:25 2014 +0100 Merge tag 'dt-endian' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-fsl regmap: Device tree endianness support This adds generic support for specifying endianess for register map in the DT. commit aea8dfb9f32bf90dd6fd00758978b50efdc08df5 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Tue Aug 26 13:37:41 2014 +0200 regulator: max77802: set opmode to normal if off is read from hw The max77802 driver reads the default operating mode (opmode) set for regulators when enabled from the hardware registers. But if a regulator is disabled and the system warm restarted, the hardware reports OFF as the opmode so the regulator is not enabled. Default to operating mode NORMAL if OFF is read from the hardware register. Reported-by: Yuvaraj Cd <yuvaraj.lkml@xxxxxxxxx> Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Tested-by: Yuvaraj Kumar CD <yuvaraj.cd@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f0d970b4fd05cb7af89307bb17689c18c835d739 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 15:21:53 2014 +0200 drm/radeon: wake up all fences on manual reset Wake up all fences when we manually trigger a reset. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 14e935aeb0213e2ef522d0d8a14d2d29fb194956 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Apr 16 22:11:37 2013 +0200 drm/radeon: add UVD fw names for older asic Activating the UVD support. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 32517d59ebb3b6eb7a5a5736020072ce7e609e76 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 09:59:45 2014 +0200 drm/radeon: enable RB_ARB before resetting the VCPU This fixes "UVD not responding, trying to reset the VCPU" messages on earlier ASICs. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit bdc99722d007ed1db7188b09404bda080d1d737a Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Tue Aug 26 13:11:36 2014 -0400 drm/radeon: 760G/780V/880V don't have UVD Don't enable UVD on these asics as they don't have UVD hardware. Reviewed-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 115365e8a33e4ce5e12bee7999568a26b4c33d3f Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Apr 25 09:02:14 2013 +0200 drm/radeon: implement UVD hw workarounds for R6xx v3 Only the essentials, cause this hw generation is really buggy. v2: start supporting RV670,RV620 and RV635 as well v3: activate more workarounds Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 856754c3a23a622d26a82b29fab6429481705511 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Apr 16 22:11:22 2013 +0200 drm/radeon: add UVD support for older asics v4 v2: cleanup R600 support v3: rebased on current drm-fixes-3.12 v4: rebased on drm-next-3.14 Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 4a956a70a8d4cc5268a60f6718de58892fa1275e Author: Alex Deucher <alexander.deucher@xxxxxxx> Date: Wed Nov 28 16:55:21 2012 -0500 drm/radeon: add set_uvd_clocks callback for r6xx v4 v2: wake up PLL, set [VD]CLK_SRC, cleanup code v3: handle RV670,RV635,RV620 as well v4: merge rv6xx and rs780/rs880 code, fix ref divider mask Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> Signed-off-by: Christian König <christian.koenig@xxxxxxx> commit a8fba64ab08cf4a5baf211f1126b475e03f90fc1 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Apr 25 18:54:07 2013 +0200 drm/radeon: properly init UVD MC bits on R600 Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit b6a7eeeaa1cdf76f2522b75a2fd46280e8c3b3d8 Author: Christian König <christian.koenig@xxxxxxx> Date: Tue Apr 16 15:41:25 2013 +0200 drm/radeon: force UVD buffers into VRAM on RS[78]80 v2 v2: only necessary on RS[78]80 Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 13a7d299dbbcd4c76ff088ec240d7cd896174c2e Author: Christian König <christian.koenig@xxxxxxx> Date: Sun Aug 24 14:52:46 2014 +0200 drm/radeon: move the IB test after the AGP fallback Otherwise we won't test if the fallback to PCIe GART really worked. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit cf673fbc6342b1c2310cdfdc4ed99f18f866b8e4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 27 16:36:03 2014 +0200 regmap: Split regmap_get_endian() in two functions Split regmap_get_endian() in two functions, regmap_get_reg_endian() and regmap_get_val_endian(). This allows to: - Get rid of the three switch()es on "type", incl. error handling in three "default" cases, - Get rid of the regmap_endian_type enum, - Get rid of the non-NULL check of "config" (regmap_init() already checks for that), - Get rid of the "endian" output parameters, and just return the regmap_endian enum value, as the functions can no longer fail. This saves 21 lines of code (despite the still-present one-comment-per-line over-documentation), and 30 bytes of code on ARM V7. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Reviewed-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 2d15d974618db4ed3adafe9b9fe092db0f5076a0 Author: Bard Liao <bardliao@xxxxxxxxxxx> Date: Wed Aug 27 19:50:34 2014 +0800 ASoC: rt5677: Add DMIC2 clock selection There are two pins can be used for rt5677's DMIC2 clock. This patch add the select options for it. Signed-off-by: Bard Liao <bardliao@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 23f66e2d661b4d3226d16e25910a9e9472ce2410 Author: Tejun Heo <tj@xxxxxxxxxx> Date: Wed Aug 27 11:18:29 2014 -0400 Revert "powerpc: Replace __get_cpu_var uses" This reverts commit 5828f666c069af74e00db21559f1535103c9f79a due to build failure after merging with pending powerpc changes. Link: http://lkml.kernel.org/g/20140827142243.6277eaff@xxxxxxxxxxxxxxxx Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> commit 084bb5bc00c19ec32b45f44d11ba6a0ca2514ec3 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Wed Aug 20 20:49:54 2014 +0100 ARM: 8131/1: arm/smp: Absorb boot_secondary() After becoming a mandatory function, boot_secondary() is no longer used outside arch/arm/kernel/smp.c. Hence remove its public prototype, and, as suggested by Arnd, let it be absorbed by its single caller. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 31e1a602b97dd7f68adb44ebac89caa7f1a25b1c Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Aug 5 21:17:14 2014 +0100 ARM: 8126/1: crypto: enable NEON SHA-384/SHA-512 for big endian The SHA-512 NEON works just fine under big endian, so remove the Kconfig condition preventing it from being selected if CONFIG_CPU_BIG_ENDIAN is set. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit 0777e3e1723f69276136140209c11deeecb7c6dc Author: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Date: Tue Aug 5 21:15:19 2014 +0100 ARM: 8125/1: crypto: enable NEON SHA-1 for big endian This tweaks the SHA-1 NEON code slightly so it works correctly under big endian, and removes the Kconfig condition preventing it from being selected if CONFIG_CPU_BIG_ENDIAN is set. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> commit beb50df39e91745604ce3cb9dc6a503f39f4383d Author: Bertrand Jacquin <beber@xxxxxxxxxxxx> Date: Wed Aug 27 20:31:56 2014 +0930 kbuild: handle module compression while running 'make modules_install'. Since module-init-tools (gzip) and kmod (gzip and xz) support compressed modules, it could be useful to include a support for compressing modules right after having them installed. Doing this in kbuild instead of per distro can permit to make this kind of usage more generic. This patch add a Kconfig entry to "Enable loadable module support" menu and let you choose to compress using gzip (default) or xz. Both gzip and xz does not used any extra -[1-9] option since Andi Kleen and Rusty Russell prove no gain is made using them. gzip is called with -n argument to avoid storing original filename inside compressed file, that way we can save some more bytes. On a v3.16 kernel, 'make allmodconfig' generated 4680 modules for a total of 378MB (no strip, no sign, no compress), the following table shows observed disk space gain based on the allmodconfig .config : | time | +-------------+-----------------+ | manual .ko | make | size | percent | compression | modules_install | | gain +-------------+-----------------+------+-------- - | | 18.61s | 378M | GZIP | 3m16s | 3m37s | 102M | 73.41% XZ | 5m22s | 5m39s | 77M | 79.83% The gain for restricted environnement seems to be interesting while uncompress can be time consuming but happens only while loading a module, that is generally done only once. This is fully compatible with signed modules while the signed module is compressed. module-init-tools or kmod handles decompression and provide to other layer the uncompressed but signed payload. Reviewed-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Bertrand Jacquin <beber@xxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 40e42f6a2596bbe757e561d4806fadd924f8c9fd Author: Bertrand Jacquin <beber@xxxxxxxxxxxx> Date: Wed Aug 27 20:30:56 2014 +0930 modinst: wrap long lines in order to enhance cmd_modules_install Note: shouldn't we use 'install -D $(2)/$@ $@' instead of mkdir and cp ? Reviewed-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Bertrand Jacquin <beber@xxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d10f9f69bfeb9c8454b7cd05f6748c3d91d96485 Author: Bertrand Jacquin <beber@xxxxxxxxxxxx> Date: Wed Aug 27 20:29:56 2014 +0930 modsign: lookup lines ending in .ko in .mod files This does the same as commit ef591a5 (scripts/Makefile.modpost: error in finding modules from .mod files), but for scripts/Makefile.modsign Maybe we should also apply to Makefile.modsign and Makefile.modinst the change applied to Makefile.modpost by commit ea4054a (modpost: handle huge numbers of modules) ? Reviewed-by: Willy Tarreau <w@xxxxxx> Signed-off-by: Bertrand Jacquin <beber@xxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit d93e1719a313ca960b38c5159be0106884317997 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Wed Aug 27 20:28:56 2014 +0930 modpost: simplify file name generation of *.mod.c files Avoid the variable length array (vla), just use PATH_MAX instead. This not only makes this code clang friedly, it also leads to a code size reduction: text data bss dec hex filename 51765 2224 12416 66405 10365 scripts/mod/modpost.old 51677 2224 12416 66317 1030d scripts/mod/modpost.new Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7a3ee7538598e0d60e6aa87dcf34a4e8a0adebc2 Author: Mathias Krause <minipli@xxxxxxxxxxxxxx> Date: Wed Aug 27 20:28:53 2014 +0930 modpost: reduce visibility of symbols and constify r/o arrays Internally used symbols of modpost don't need to be externally visible; make them static. Also constify the string arrays so they resist in the r/o section instead of being runtime writable. Those changes lead to a small size reduction as can be seen below: text data bss dec hex filename 51381 2640 12416 66437 10385 scripts/mod/modpost.old 51765 2224 12416 66405 10365 scripts/mod/modpost.new Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 7a486d3781295b5298cbf9556928a76d26896863 Author: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Date: Wed Aug 27 06:25:23 2014 +0930 param: check for tainting before calling set op. This means every set op doesn't need to call it, and it can move into params.c. Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit fc9740cebc3ab7c65f3c5f6ce0caf3e4969013ca Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 06:24:23 2014 +0930 drm/i915: taint the kernel if unsafe module parameters are set Taint the kernel if the semaphores, enable_rc6, enable_fbc, or ppgtt module parameters are modified. These module parameters are for debugging and testing only, and should never be changed from their platform specific default values by the users. We do not provide support for people enabling all the experimental features. Make this clear by tainting the kernel if the parameters are set. Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 3baee201b06cfaff84c2c5ddc551b192bb3eaed3 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 06:23:23 2014 +0930 module: add module_param_unsafe and module_param_named_unsafe Add the helpers to be used by modules wishing to expose unsafe debugging or testing module parameters that taint the kernel when set. Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jean Delvare <khali@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Cc: Jon Mason <jon.mason@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 91f9d330cc14932084c37751997213cb0e7ea882 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 06:22:23 2014 +0930 module: make it possible to have unsafe, tainting module params Add flags field to struct kernel_params, and add the first flag: unsafe parameter. Modifying a kernel parameter with the unsafe flag set, either via the kernel command line or sysfs, will issue a warning and taint the kernel. Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jean Delvare <khali@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Cc: Jon Mason <jon.mason@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 6a4c264313c4ae32dc53821a9c57e0dc9696fb81 Author: Jani Nikula <jani.nikula@xxxxxxxxx> Date: Wed Aug 27 06:21:23 2014 +0930 module: rename KERNEL_PARAM_FL_NOARG to avoid confusion Make it clear this is about kernel_param_ops, not kernel_param (which will soon have a flags field of its own). No functional changes. Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx> Cc: Jean Delvare <khali@xxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Cc: Jon Mason <jon.mason@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> commit 0fdc14e42b40ecd7115cc670981d39a89eeee6c3 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 26 19:14:03 2014 +0300 ath10k: make target endianess more explicit Some copy engine structures are target specific and are uploaded to the device during init/configuration. This also cleans up a bit diag_mem_read/write implicit byteswap mess leaving only diag_access_read/write with an implicit endianess byteswap. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7c6aa25db481f0c6e83ddf358001894a62ca294c Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 26 19:14:03 2014 +0300 ath10k: dont duplicate service-pipe mapping The mapping is already defined in a structure. It makes little sense to duplicate information stored in it within a function. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit d7bfb7aa54031905a87e0f1d049d160259d71808 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 26 19:14:02 2014 +0300 ath10k: move pci init structures It doesn't make much sense to have copy engine configuration structures spread across the whole source file. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f1217ed09f827e42a49ffa6a5aab672aa6f57a65 Author: Christian König <christian.koenig@xxxxxxx> Date: Wed Aug 27 13:16:04 2014 +0200 drm/ttm: move fpfn and lpfn into each placement v2 This allows us to more fine grained specify where to place the buffer object. v2: rebased on drm-next, add bochs changes as well Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 2688eba9d5ba2a35ac8e5efa2e228f105f0a379f Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Sun Aug 17 16:18:02 2014 +0300 mac80211: Replace rcu_dereference() with rcu_access_pointer() The "rcu_dereference()" calls are used directly in conditions. Since their return values are never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes the replacements. The following Coccinelle semantic patch was used: @@ @@ ( if( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} | while( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} ) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit bf3baca6c54ce8a2f51687296f868dfe20d33f13 Author: James Ban <james.ban.opensource@xxxxxxxxxxx> Date: Wed Aug 27 11:47:07 2014 +0900 regulator: da9211: support device tree This is a patch for supporting device tree of DA9211/DA9213. Signed-off-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 88299c9bdb109e0d95abdca648065631ff91b2cb Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Fri Aug 1 11:28:48 2014 +0300 timerfd: Remove an always true check We would have returned -EINVAL earlier if ticks wasn't set. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140801082848.GF28869@mwanda Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> commit 2a8d1303c6618f44e7603a4625783d1aff5fef4a Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Tue Aug 26 22:18:57 2014 +0800 regulator: rk808: remove redundant code remove the redundant code, since pdata has been removed from stuct rk808 Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e8e724db0a559f666fc552e65294ce7b5b837eae Author: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Date: Thu Jul 10 07:58:26 2014 +0000 i40e/i40evf: Bump i40e & i40evf version Bump versions for i40e to 1.0.4 and i40evf to 1.0.1. Change-ID: I960c04da2c91bdf1d02f8e5011e68c34a634122d Signed-off-by: Catherine Sullivan <catherine.sullivan@xxxxxxxxx> Tested-By: Jim Young <jamesx.m.young@xxxxxxxxx> Tested-by: Sibai Li <sibai.li@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 810b3ae42f5a6d1ddb17bb20eb69046de08ab1ef Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Jul 10 07:58:25 2014 +0000 i40e/i40evf: Ignore a driver perceived Tx hang if the number of desc pending < 4 We are seeing situations where the driver sees a hang with less than 4 desc pending, if the driver chooses to ignore it the queue progresses forward and the stack never experiences a real hang. With this patch we will log a stat when this situation happens "tx_sluggish" will increment and we can see some more details at a higher debug level. Other than that we will ignore this particular case of Tx hang. Change-ID: I7d1d1666d990e2b12f4f6bed0d17d22e1b6410d5 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 30650cc552cf9a60fa80a205693c6f76f7a00549 Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Tue Jul 29 04:01:50 2014 +0000 i40e: quiet complaints when removing default MAC VLAN filter and make set_mac reversible Older firmware has an incorrect MAC VLAN filter that needs to be replaced at startup, and now newer firmware doesn't have this problem. With this change we no longer complain if the remove fails, and we only add the new filter if the remove succeeded. Setting a new LAA worked the first time, but didn't work well in successive operations, including returning to the HW default address. This simplifies the code that was trying to be too smart. Lastly, this pulls the hardware default mac address out into separate handling code and keeps the broadcast filtering from getting munged. Change-ID: I1f54b002def04ffef2546febb9a4044385452f85 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f905dd62be8853644357044a455f83e63e8c68ef Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Thu Jul 10 07:58:20 2014 +0000 i40e/i40evf: add max buf len to aq debug print helper There is at least one case in the Firmware API where the response to a command changes the buffer size field in the AQ descriptor to a larger number than what the request's buffer size started as. This is in addition to setting an error flag and is in order to tell the requester how much larger a buffer is required for the answer. We need to be sure not to use that number when dumping the contents of the data buffer because it can send us into the weeds and generate an invalid pointer exception. This patch adds a max buffer size parameter to the print helper to be sure the code knows when to stop. Change-ID: Ib84f7ed72140fe9d600086d8f2002fc5d8753092 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Tested-by: Sibai Li <sibai.li@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 7b592f6168e3091bc0868812b6a4a3126be5b82d Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Thu Jul 10 07:58:19 2014 +0000 i40e: Add checks and message for Qualified Module info This patch adds a check during handle_link_event for unqualified module when link is down and there is a module plugged. If found, print a message. Change-ID: Ibd8666d77d3044c2a3dd4d762d3ae9ac6e18e943 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 5f5e33b6970953fc849852414014862fb388f6da Author: Ashish Shah <ashish.n.shah@xxxxxxxxx> Date: Thu Jul 10 07:58:15 2014 +0000 i40e: set num_queue_pairs to num configured by VF Change vsi->num_queue_pairs to equal the number that are configured by the VF. This, in turn, limits the number of queues that are enable/disabled. This fixes the mismatched case for when a VF configures fewer queues than is allocated to it by the PF. Change other sections to use alloc_queue_pairs as warranted. Change-ID: I0de1b55c9084e7be6acc818da8569f12128a82c2 Signed-off-by: Ashish Shah <ashish.n.shah@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit c1d11cef92199764a3b0f35efc4a3583afedaddc Author: Shannon Nelson <shannon.nelson@xxxxxxxxx> Date: Tue Jul 29 04:01:03 2014 +0000 i40e: Enable l2tsel bit for VLAN tag control Enable the l2tsel bit on Rx queue contexts that are assigned to VFs so that the VF can get the stripped VLAN tag. Change-ID: I7d9bc56238a9ea9baf5e8a97e69b9e27ebb9d169 Signed-off-by: Shannon Nelson <shannon.nelson@xxxxxxxxx> Signed-off-by: Ashish Shah <ashish.n.shah@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 60793f4ab541f9c279f823e42dc8053341cc7547 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Wed Jul 9 07:46:23 2014 +0000 i40e: Add a FD flush counter to ethtool This helps know how many times the interface had to flush and replay FD filter table, which gives an indication on how often we are getting FD table full situation. Also check on certain pf states before proceeding to add or delete filters since we can't add or delete filters if we are in those states. Change-ID: I97f5bbbea7146833ea61af0e08ea794fccba1780 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 1e1be8f622ee3d01acdbf5f4e00fbdd53ff950c9 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Thu Jul 10 08:03:26 2014 +0000 i40e: ATR policy change to flush the table to clean stale ATR rules Instead of disabling ATR when we get a programming error, we now will wait it out to see if some room gets created by ATR rule deletion. If we still have too many errors and ATR filter count did not change much, its time to flush and replay. We no more auto-disable ATR when we have errors in programming. The disabling of ATR when we get programming error was buggy and was still adding new rules and causing continuous errors. With this policy change we flush instead when we see too many errors. ATR is still disabled if we add a SB rule for TCP/IPv4 flow type, more logic is added to re-enable it once all SB TCP/IPv4 rules are gone. Change-ID: I77edcbeab9500c72a7e0bd7b5c5b113ced133a9c Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit f7233c5491156bc530ed965d4fabc55db35f2e37 Author: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Date: Wed Jul 9 07:46:16 2014 +0000 i40e: Some FD message fixes Change the message that gets printed when adding/deleting a filter to the SB, so that user can tell if a filter was added or deleted. Print filter add failures only in case of SB filters. For ATR the information is not useful to the user and hence suppress it unless in higher debug mode. Change-ID: I78d7a7a6ecfa82a38a582b0d7b4da038355e3735 Signed-off-by: Anjali Singhai Jain <anjali.singhai@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit e99bdd39a518cccb58c0b2df9566f839870799c5 Author: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Date: Wed Jul 9 07:46:12 2014 +0000 i40e: Update flow director error messages to reduce user confusion This patch changes the wording of the flow director add/remove and asynchronous failure messages to include fd_id to try and add some way to track the operations on a given fd_id. Its not perfect, but its better than what we had as PCTYPE can apply to several different filter requests. This patch also removes a redundant message when filter addition fails due to full condition. Change-ID: Icf58b0603d4f162d9fc542f11a74866a907049f2 Signed-off-by: Carolyn Wyborny <carolyn.wyborny@xxxxxxxxx> Tested-by: Jim Young <jamesx.m.young@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> commit 890b13a308b9df78ad05fc57eb440b32399be35e Author: Konstantinos Tsimpoukas <kostaslinuxxx@xxxxxxxxx> Date: Tue Aug 26 23:21:48 2014 -0500 ALSA: ice1712: Replacing hex with #defines Adds to the readability of the ice1712 driver. Signed-off-by: Konstantinos Tsimpoukas <kostaslinuxxx@xxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 8de078f189da45453d2ed2a04288e329cc169731 Author: Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx> Date: Fri Jul 25 16:40:47 2014 +0200 clk: shmobile: Add r8a7794 support Signed-off-by: Hisashi Nakamura <hisashi.nakamura.ak@xxxxxxxxxxx> Acked-by: Mike Turquette <mturquette@xxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6ba694560caeb3531dbedd5b3a37af037ef2a833 Author: Dan Murphy <dmurphy@xxxxxx> Date: Tue Aug 26 15:38:31 2014 -0700 Input: drv260x - fix binding document Update the drv260x dt binding document: - Change the node name to the devices function not the device name. - Add vbat-supply to the example. - Fix indentation of the example. Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Reviewed-by: Felipe Balbi <balbi@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit dddf3bc454fe9b558c13ffd7896e8bea5d39ec29 Author: Dan Murphy <dmurphy@xxxxxx> Date: Tue Aug 26 15:36:55 2014 -0700 Input: drv260x - add check for ERM mode and LRA Libraries Add a check to ensure that LRA libraries are not mixed with the ERM mode. If ERM mode and the Library is empty "OR" the LRA library then exit, as the LRA and empty libraries are not applicable for the ERM actuator. Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 6aa9751679b04b351bf4b2e2678bc11ea7d0fea4 Author: Dan Murphy <dmurphy@xxxxxx> Date: Tue Aug 26 15:36:23 2014 -0700 Input: drv260x - remove unused defines Removing some #defines that are not and should never be used pertaining to I2C. Removing: define DRV260X_ALLOWED_R_BYTES 25 define DRV260X_ALLOWED_W_BYTES 2 define DRV260X_MAX_RW_RETRIES 5 define DRV260X_I2C_RETRY_DELAY 10 Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 38a0731165250a0a77eff7b90ea3156d44cc7d66 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 16:51:56 2014 -0300 [media] omap: be sure that MMU is there for COMPILE_TEST COMPILE_TEST fail on (some) archs without MMU. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 12bd88e62cf7c1557c7cd78f42a76d7c716b2283 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 16:45:39 2014 -0300 [media] be sure that HAS_DMA is enabled for vb2-dma-contig vb2-dma-contig depends on HAS_DMA, but the Kbuild doesn't take it into account at select. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7155043c2d027c9c848c3d09badb5af2894ed652 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Aug 20 13:21:35 2014 -0600 [media] enable COMPILE_TEST for media drivers There are several arch-specific media drivers that don't require asm-specific includes and can be successfully compiled on x86. Add COMPILE_TEST dependency for them, in order to allow a broader test on those drivers. That helps static analysis tools like Coverity to discover eventual troubles there. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1dbfacf2dd30100ea38181f9cc25feaaa9204630 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Aug 20 13:56:21 2014 -0600 [media] enable COMPILE_TEST for OMAP2 vout We don't need anything special to enable COMPILE_TEST for this driver. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f2080e38813a3b04d4a6fde5a2697f47cfec4ee5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Aug 20 13:50:03 2014 -0600 [media] allow COMPILE_TEST for SAMSUNG_EXYNOS4_IS That helps some static checks, so enable it. While there, it was noticed that linux/sizes.h was missing: drivers/media/platform/exynos4-is/mipi-csis.c: In function â??s5pcsis_s_rx_bufferâ??: drivers/media/platform/exynos4-is/mipi-csis.c:114:31: error: â??SZ_4Kâ?? undeclared (first use in this function) #define S5PCSIS_PKTDATA_SIZE SZ_4K ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f3334180d4790856bae42fb2e7a3137f9a36aa18 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Aug 20 13:41:56 2014 -0600 [media] enable COMPILE_TEST for ti-vbe Allowing COMPILE_TEST here is trivial, but there's one missing header to be added: drivers/media/platform/ti-vpe/vpe.c: In function â??vpe_probeâ??: drivers/media/platform/ti-vpe/vpe.c:2266:56: error: â??SZ_32Kâ?? undeclared (first use in this function) dev->base = devm_ioremap(&pdev->dev, dev->res->start, SZ_32K); ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1c17d8c748b251071c61a4383490881a4071b003 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Wed Aug 20 13:35:22 2014 -0600 [media] enable COMPILE_TEST for MX2 eMMa-PrP driver By allowing compilation on all archs, we can use static analysis tools to test this driver. In order to do that, replace asm/sizes.h by its generic name (linux/sizes.h), with should keep doing the right thing. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 821ee47e0ef589c75c0c10411463c8cd795afafb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 15:04:34 2014 -0300 Revert "[media] staging: omap4iss: copy paste error in iss_get_clocks" This patch readded a call to iss_put_clocks(), with was removed by changeset 1153be56a105, causing a compilation breakage. This reverts commit d4b32646468088323f27a7788ce3b07191015142. commit c438269948c420518101a836b526f71d389f80dd Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:23:58 2014 -0300 [media] s5p-jpeg: Get rid of a warning drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.c: In function 's5p_jpeg_clear_int': drivers/media/platform/s5p-jpeg/jpeg-hw-s5p.c:327:16: warning: variable 'reg' set but not used [-Wunused-but-set-variable] unsigned long reg; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b91677ad098b7452b03b7a21d195269520f3522d Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:21:43 2014 -0300 [media] atmel-isi: get rid of a warning drivers/media/platform/soc_camera/atmel-isi.c: In function 'start_streaming': drivers/media/platform/soc_camera/atmel-isi.c:387:6: warning: variable 'sr' set but not used [-Wunused-but-set-variable] u32 sr = 0; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 615f1bcb34317afc615043dd61ba54198f075629 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:20:42 2014 -0300 [media] mx2_camera: get rid of a warning drivers/media/platform/soc_camera/mx2_camera.c: In function 'mx27_camera_emma_prp_reset': drivers/media/platform/soc_camera/mx2_camera.c:812:6: warning: variable 'cntl' set but not used [-Wunused-but-set-variable] u32 cntl; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit cdf58a6f87a6c941527699c00443d186154f475c Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:19:18 2014 -0300 [media] exynos4-is/media-dev: get rid of a warning for a dead code drivers/media/platform/exynos4-is/media-dev.c: In function 'fimc_md_link_notify': drivers/media/platform/exynos4-is/media-dev.c:1102:4: warning: suggest braces around empty body in an 'else' statement [-Wempty-body] ; /* TODO: Link state change validation */ ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 84ddba456e65a26d86c103aa0a4259197aac63fa Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:17:16 2014 -0300 [media] mipi-csis: get rid of a warning drivers/media/platform/exynos4-is/mipi-csis.c: In function 's5pcsis_parse_dt': drivers/media/platform/exynos4-is/mipi-csis.c:756:2: warning: comparison is always false due to limited range of data type [-Wtype-limits] if (state->index < 0 || state->index >= CSIS_MAX_ENTITIES) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8492ec69801ea039546fd27e84fa84f7a0612474 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 11:13:47 2014 -0300 [media] s5p_mfc: get rid of several warnings drivers/media/platform/s5p-mfc/s5p_mfc_dec.c:826:5: warning: no previous prototype for 'vidioc_decoder_cmd' [-Wmissing-prototypes] int vidioc_decoder_cmd(struct file *file, void *priv, ^ drivers/media/platform/s5p-mfc/s5p_mfc.c: In function 's5p_mfc_runtime_resume': drivers/media/platform/s5p-mfc/s5p_mfc.c:1314:6: warning: variable 'pre_power' set but not used [-Wunused-but-set-variable] int pre_power; ^ drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v5.c:163:25: warning: no previous prototype for 's5p_mfc_init_hw_cmds_v5' [-Wmissing-prototypes] struct s5p_mfc_hw_cmds *s5p_mfc_init_hw_cmds_v5(void) ^ drivers/media/platform/s5p-mfc/s5p_mfc_cmd_v6.c:156:25: warning: no previous prototype for 's5p_mfc_init_hw_cmds_v6' [-Wmissing-prototypes] struct s5p_mfc_hw_cmds *s5p_mfc_init_hw_cmds_v6(void) ^ drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c: In function 's5p_mfc_run_dec_frame': drivers/media/platform/s5p-mfc/s5p_mfc_opr_v5.c:1189:15: warning: variable 'index' set but not used [-Wunused-but-set-variable] unsigned int index; ^ drivers/media/platform/s5p-mfc/s5p_mfc_enc.c: In function 'cleanup_ref_queue': drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:742:27: warning: variable 'mb_c_addr' set but not used [-Wunused-but-set-variable] unsigned long mb_y_addr, mb_c_addr; ^ drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:742:16: warning: variable 'mb_y_addr' set but not used [-Wunused-but-set-variable] unsigned long mb_y_addr, mb_c_addr; ^ drivers/media/platform/s5p-mfc/s5p_mfc_enc.c: At top level: drivers/media/platform/s5p-mfc/s5p_mfc_enc.c:1684:5: warning: no previous prototype for 'vidioc_encoder_cmd' [-Wmissing-prototypes] int vidioc_encoder_cmd(struct file *file, void *priv, ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b171e3d8514e80c8e01e59565010b1d7879ac019 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 10:58:23 2014 -0300 [media] s5p_mfc_ctrl: add missing s5p_mfc_ctrl.h header That gets rid of the following warnings: drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:119:5: warning: no previous prototype for 's5p_mfc_release_firmware' [-Wmissing-prototypes] int s5p_mfc_release_firmware(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:132:5: warning: no previous prototype for 's5p_mfc_reset' [-Wmissing-prototypes] int s5p_mfc_reset(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:214:5: warning: no previous prototype for 's5p_mfc_init_hw' [-Wmissing-prototypes] int s5p_mfc_init_hw(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:291:6: warning: no previous prototype for 's5p_mfc_deinit_hw' [-Wmissing-prototypes] void s5p_mfc_deinit_hw(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:301:5: warning: no previous prototype for 's5p_mfc_sleep' [-Wmissing-prototypes] int s5p_mfc_sleep(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:330:5: warning: no previous prototype for 's5p_mfc_wakeup' [-Wmissing-prototypes] int s5p_mfc_wakeup(struct s5p_mfc_dev *dev) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:378:5: warning: no previous prototype for 's5p_mfc_open_mfc_inst' [-Wmissing-prototypes] int s5p_mfc_open_mfc_inst(struct s5p_mfc_dev *dev, struct s5p_mfc_ctx *ctx) ^ drivers/media/platform/s5p-mfc/s5p_mfc_ctrl.c:420:6: warning: no previous prototype for 's5p_mfc_close_mfc_inst' [-Wmissing-prototypes] void s5p_mfc_close_mfc_inst(struct s5p_mfc_dev *dev, struct s5p_mfc_ctx *ctx) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2ff1d4c13b2881e9276a00bd3032d9afe7d15ef1 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 10:56:24 2014 -0300 [media] fimc-is-param: get rid of warnings In file included from drivers/media/platform/exynos4-is/fimc-is-param.c:31:0: drivers/media/platform/exynos4-is/fimc-is-errno.h:245:20: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const char * const fimc_is_strerr(unsigned int error); ^ drivers/media/platform/exynos4-is/fimc-is-errno.h:246:20: warning: type qualifiers ignored on function return type [-Wignored-qualifiers] const char * const fimc_is_param_strerr(unsigned int error); ^ drivers/media/platform/exynos4-is/fimc-is-param.c: In function 'fimc_is_set_initial_params': drivers/media/platform/exynos4-is/fimc-is-param.c:670:23: warning: variable 'sensor' set but not used [-Wunused-but-set-variable] struct sensor_param *sensor; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit dc916aa78aec95ce93d9e9e323ba3a5a88b1d516 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 10:52:56 2014 -0300 [media] g2d: remove unused var drivers/media/platform/s5p-g2d/g2d.c: In function 'job_abort': drivers/media/platform/s5p-g2d/g2d.c:493:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] int ret; ^ The job_abort function returns void. No sense to get the returned argument, if this won't be used. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit af425be8b51b02c9bb7bc2fdeb7b4c9ccb25fc5a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 10:50:23 2014 -0300 [media] s5p-jpeg: get rid of some warnings Declare this as static: drivers/media/platform/s5p-jpeg/jpeg-core.c:732:6: warning: no previous prototype for 'exynos4_jpeg_set_huff_tbl' [-Wmissing-prototypes] void exynos4_jpeg_set_huff_tbl(void __iomem *base) ^ And don't compile this dead code, while not needed: drivers/media/platform/s5p-jpeg/jpeg-hw-exynos3250.c:236:14: warning: no previous prototype for 'exynos3250_jpeg_get_y' [-Wmissing-prototypes] unsigned int exynos3250_jpeg_get_y(void __iomem *regs) ^ drivers/media/platform/s5p-jpeg/jpeg-hw-exynos3250.c:241:14: warning: no previous prototype for 'exynos3250_jpeg_get_x' [-Wmissing-prototypes] unsigned int exynos3250_jpeg_get_x(void __iomem *regs) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 52334bb3df155e764dd1a9b084115a5a0fa485b6 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 26 10:46:49 2014 -0300 [media] omap_vout: Get rid of a few warnings drivers/media/platform/omap/omap_vout.c: In function 'omapvid_setup_overlay': drivers/media/platform/omap/omap_vout.c:372:29: warning: variable 'pixheight' set but not used [-Wunused-but-set-variable] int cropheight, cropwidth, pixheight, pixwidth; ^ drivers/media/platform/omap/omap_vout.c: In function 'vidioc_s_ctrl': drivers/media/platform/omap/omap_vout.c:1454:24: warning: variable 'ovl' set but not used [-Wunused-but-set-variable] struct omap_overlay *ovl; ^ drivers/media/platform/omap/omap_vout.c: In function 'vidioc_reqbufs': drivers/media/platform/omap/omap_vout.c:1492:55: warning: comparison of unsigned expression < 0 is always false [-Wtype-limits] if ((req->type != V4L2_BUF_TYPE_VIDEO_OUTPUT) || (req->count < 0)) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 92e3919a49c0ed683ebab8a992eaac331afce8b7 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 11:11:06 2014 -0500 [media] omap: fix compilation if !VIDEO_OMAP2_VOUT_VRFB When CONFIG_VIDEO_OMAP2_VOUT_VRFB is disabled, the compilation will fail, as the function stubs are wrong. Also, as they weren't declared as static inline, lots of warnings will be generated. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 286da9902240ea8476af6afc02bc29e82508f63f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 10:57:21 2014 -0500 [media] gsc: Use %pad for dma_addr_t drivers/media/platform/exynos-gsc/gsc-core.c:855:2: note: in expansion of macro 'pr_debug' pr_debug("ADDR: y= 0x%X cb= 0x%X cr= 0x%X ret= %d", ^ include/linux/dynamic_debug.h:64:16: warning: format '%X' expects argument of type 'unsigned int', but argument 4 has type 'dma _addr_t' [-Wformat=] static struct _ddebug __aligned(8) \ ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c623ed63167adcbc16edac22260e1bff150e60df Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 10:30:17 2014 -0500 [media] dvb_frontend: estimate bandwidth also for DVB-S/S2/Turbo The needed bandwidth can be estimated using the symbol rate and the rolloff factor. This could be useful for the frontend drivers, as they don't need to calculate it themselves. Reported-by: Antti Palosaari <crope@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8dece35daf098e5d086b50724119ffbb24ceca7f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 07:00:42 2014 -0500 [media] dm644x_ccdc: use unsigned long for fpc_table_addr The fpc_table_addr is used as an unsigned integer that stores an address. At the Kernel, the proper type for such integers is unsigned long. This generates lots of warnings when compiling on 64 bits. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 212bdba38724f185344d8ea93f8db0eda1efc348 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 06:38:14 2014 -0500 [media] vpif: don't cast pointers to int Shut up several warnings about invalid casting when printing the values of two pointers. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 139adba64cdde218e6a679f1d5b675fee937a8d8 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 06:07:57 2014 -0500 [media] s5p_mfc: don't use an external symbol called 'debug' The 'debug' name is known to cause conflicts with allyesconfig on several archs. So, localize its name. >> drivers/built-in.o:(.bss+0xc7ee2c): multiple definition of `debug' arch/x86/built-in.o:(.entry.text+0xf78): first defined here ld: Warning: size of symbol `debug' changed from 86 in arch/x86/built-in.o to 4 in drivers/built-in.o While here, fix a wrong file name reference Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9842a417d46bf40f2d460120016b6392d3ac32c9 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 05:53:27 2014 -0500 [media] atmel-isi: Fix a truncate warning drivers/media/platform/soc_camera/atmel-isi.c: In function 'start_streaming': drivers/media/platform/soc_camera/atmel-isi.c:397:26: warning: large integer implicitly truncated to unsigned type [-Woverflow] isi_writel(isi, ISI_INTDIS, ~0UL); ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8f05232f59ce53f421faf35122bc0e2dd141ea00 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 05:52:54 2014 -0500 [media] atmel-isi: tag dma_addr_t as such Instead of using u32 for DMA address, use the proper Kernel type for it. drivers/media/platform/soc_camera/atmel-isi.c: In function 'atmel_isi_probe': >> drivers/media/platform/soc_camera/atmel-isi.c:981:26: warning: passing argument 3 of 'dma_alloc_attrs' from incompatible pointer type isi->p_fb_descriptors = dma_alloc_coherent(&pdev->dev, ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 14bb9b0485caa2577925393efc04fab957a38b40 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 05:45:02 2014 -0500 [media] ti-vpe: shut up a casting warning message drivers/media/platform/ti-vpe/vpdma.c: In function 'vpdma_alloc_desc_buf': >> drivers/media/platform/ti-vpe/vpdma.c:332:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] WARN_ON((u32) buf->addr & VPDMA_DESC_ALIGN); ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 78e100cb237389b816ef59ac40f17d2b9b88a930 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 22 05:41:56 2014 -0500 [media] ti-vpe: use %pad for dma address drivers/media/platform/ti-vpe/vpdma.c: In function 'dump_dtd': include/linux/dynamic_debug.h:64:16: warning: format '%x' expects argument of type 'unsigned int', but argument 3 has type 'dma_addr_t' [-Wformat=] static struct _ddebug __aligned(8) \ ^ include/linux/dynamic_debug.h:76:2: note: in expansion of macro 'DEFINE_DYNAMIC_DEBUG_METADATA' DEFINE_DYNAMIC_DEBUG_METADATA(descriptor, fmt); \ ^ include/linux/printk.h:263:2: note: in expansion of macro 'dynamic_pr_debug' dynamic_pr_debug(fmt, ##__VA_ARGS__) ^ >> drivers/media/platform/ti-vpe/vpdma.c:587:2: note: in expansion of macro 'pr_debug' pr_debug("word2: start_addr = 0x%08x\n", dtd->start_addr); ^ Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a6a632286865333651fcff3932fea2f945a4d501 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 16:05:39 2014 -0500 [media] gsc-m2m: Remove an unused var. drivers/media/platform/exynos-gsc/gsc-m2m.c: In function 'gsc_m2m_reqbufs': drivers/media/platform/exynos-gsc/gsc-m2m.c:365:20: warning: variable 'frame' s et but not used [-Wunused-but-set-variable] struct gsc_frame *frame; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit cff562137226d0f431e85733795edd271e946087 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:56:16 2014 -0500 [media] gsc-core: Remove useless test drivers/media/platform/exynos-gsc/gsc-core.c: In function 'gsc_probe': drivers/media/platform/exynos-gsc/gsc-core.c:1089:2: warning: comparison is alw ays false due to limited range of data type [-Wtype-limits] if (gsc->id < 0 || gsc->id >= drv_data->num_entities) { ^ gsc->id is declared as u16, so it should always be a positive value. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0448056c7e97f3d8aef6777ffc8ed18569f973e3 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:53:23 2014 -0500 [media] dm355_ccdc: declare a function as static drivers/media/platform/davinci/dm355_ccdc.c:463:5: warning: no previous prototy pe for 'ccdc_write_dfc_entry' [-Wmissing-prototypes] int ccdc_write_dfc_entry(int index, struct ccdc_vertical_dft *dfc) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f17513c9bf5650738d80cd82f716901b3562bf27 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:51:38 2014 -0500 [media] dm644x_ccdc: declare some functions as static drivers/media/platform/davinci/dm644x_ccdc.c:133:6: warning: no previous protot ype for 'ccdc_setwin' [-Wmissing-prototypes] void ccdc_setwin(struct v4l2_rect *image_win, ^ drivers/media/platform/davinci/dm644x_ccdc.c:373:6: warning: no previous protot ype for 'ccdc_config_ycbcr' [-Wmissing-prototypes] void ccdc_config_ycbcr(void) ^ drivers/media/platform/davinci/dm644x_ccdc.c:526:6: warning: no previous protot ype for 'ccdc_config_raw' [-Wmissing-prototypes] void ccdc_config_raw(void) ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 24ab6338f3fc0f3fe9c541f5e7b29ae026dea0c2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:49:06 2014 -0500 [media] vpif_capture: get rid of some unused vars drivers/media/platform/davinci/vpif_capture.c: In function 'vpif_channel_isr': drivers/media/platform/davinci/vpif_capture.c:376:18: warning: variable 'field' set but not used [-Wunused-but-set-variable] enum v4l2_field field; ^ drivers/media/platform/davinci/vpif_capture.c: In function 'vpif_calculate_offs ets': drivers/media/platform/davinci/vpif_capture.c:536:23: warning: variable 'vpitch ' set but not used [-Wunused-but-set-variable] unsigned int hpitch, vpitch, sizeimage; ^ Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a4f20e2fbc8e84a3aace35af353ca662b455fae1 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:46:46 2014 -0500 [media] vpif_display: get rid of some unused vars drivers/media/platform/davinci/vpif_display.c: In function 'vpif_channel_isr': drivers/media/platform/davinci/vpif_display.c:363:18: warning: variable 'field' set but not used [-Wunused-but-set-variable] enum v4l2_field field; ^ drivers/media/platform/davinci/vpif_display.c: In function 'vpif_calculate_offs ets': drivers/media/platform/davinci/vpif_display.c:505:23: warning: variable 'vpitch ' set but not used [-Wunused-but-set-variable] unsigned int hpitch, vpitch, sizeimage; ^ drivers/media/platform/davinci/vpif_display.c: In function 'vpif_set_output': drivers/media/platform/davinci/vpif_display.c:816:27: warning: variable 'subdev _info' set but not used [-Wunused-but-set-variable] struct vpif_subdev_info *subdev_info = NULL; Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit eb571eeade2598635f813b3284d02c13a380301e Author: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Date: Wed Jul 2 15:35:16 2014 -0400 block,scsi: verify return pointer from blk_get_request The blk-core dead queue checks introduce an error scenario to blk_get_request that returns NULL if the request queue has been shutdown. This affects the behavior for __GFP_WAIT callers, who should verify the return value before dereferencing. Signed-off-by: Joe Lawrence <joe.lawrence@xxxxxxxxxxx> Acked-by: Jiri Kosina <jkosina@xxxxxxx> [for pktdvd] Reviewed-by: Jeff Moyer <jmoyer@xxxxxxxxxx> Signed-off-by: Jens Axboe <axboe@xxxxxx> commit 81816affeacfa360bfefabba774774e95f3dcc12 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Wed Aug 20 10:32:00 2014 +0100 iio: remove .owner field for driver using module_platform_driver This patch removes the .owner field for drivers which use the platform_driver_register api because this is overriden in _platform_driver_register. Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b4b491c0832ef90a7a5070e5975bc8427f2049ca Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Fri Aug 22 20:01:00 2014 +0100 iio: accel: kxcjk-1013: Support thresholds This chip has a motion detect capability. Using IIO events to specify thresholds and pushing events. In addition a new trigger of type any-motion is added, which pushes data to buffer only when there is any movement. Change list: Comments addressed for Re: [PATCH 5/6] iio: accel: kxcjk-1013: Support thresholds Date: 07/20/2014 - Both motion detect and data ready can be enabled together - Sending RISING/FALLING events based on int status - Separate interrupt configuration for data ready and motion detect Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b5faca4b59ab604cd3ff367683a96c330b78d25f Author: Daniel Baluta <daniel.baluta@xxxxxxxxx> Date: Fri Aug 22 08:35:00 2014 +0100 io: accel: kxcjk1013: Remove redundant assignment data->range is already set by kxcjk1013_set_range. Signed-off-by: Daniel Baluta <daniel.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f111f780ae1abf4cdc464f24293be90c010a04f6 Author: Alexey Perevalov <a.perevalov@xxxxxxxxxxx> Date: Wed Aug 20 22:03:18 2014 +0400 netfilter: nfnetlink_acct: add filter support to nfacct counter list/reset You can use this to skip accounting objects when listing/resetting via NFNL_MSG_ACCT_GET/NFNL_MSG_ACCT_GET_CTRZERO messages with the NLM_F_DUMP netlink flag. The filtering covers the following cases: 1. No filter specified. In this case, the client will get old behaviour, 2. List/reset counter object only: In this case, you have to use NFACCT_F_QUOTA as mask and value 0. 3. List/reset quota objects only: You have to use NFACCT_F_QUOTA_PKTS as mask and value - the same, for byte based quota mask should be NFACCT_F_QUOTA_BYTES and value - the same. If you want to obtain the object with any quota type (ie. NFACCT_F_QUOTA_PKTS|NFACCT_F_QUOTA_BYTES), you need to perform two dump requests, one to obtain NFACCT_F_QUOTA_PKTS objects and another for NFACCT_F_QUOTA_BYTES. Signed-off-by: Alexey Perevalov <a.perevalov@xxxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 42594970022d223bf8f30d3aa22819e24779d6f6 Merge: 52addcf 2a16fc9 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Tue Aug 26 21:32:41 2014 +0200 Merge branch 'nohz/drop-double-write-v3' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks into timers/core Pull nohz fixes from Frederic Weisbecker: " The tick reschedules itself unconditionally. It's relevant in periodic mode but not in dynticks mode where it results in spurious double clock writes and even spurious periodic behaviour for low-res case. This set fixes that: * 1st patch removes low-res periodic tick rescheduling in nohz mode. This fixes spurious periodic behaviour. * 2nd patch does the same for high-res mode. Here there is no such spurious periodic behaviour but it still spares a double clock write in some cases. " Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e4a73e9c6198b0751460edcabf2415ce79518c5c Author: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 16:32:20 2014 -0700 drivers/staging/unisys: fix build drivers/staging/unisys/visorchipset/file.c:31: error: redefinition of typedef 'GUEST_PHYSICAL_ADDRESS' drivers/staging/unisys/common-spar/include/channels/controlvmchannel.h:23: note: previous declaration of 'GUEST_PHYSICAL_ADDRESS' was here Cc: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 912f102890c1d45b4357ec3ade8f982443431749 Author: Honggang Li <enjoymindful@xxxxxxxxx> Date: Tue Aug 19 19:29:43 2014 +0800 staging: unisys/virthba/virthba.c print u64 with %llu drivers/staging/unisys/virthba/virthba.c:520:2: warning: format â??%uâ?? expects argument of type â??unsigned intâ??, but argument 4 has type â??u64â?? [-Wformat=] drivers/staging/unisys/virthba/virthba.c:749:2: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??u64â?? [-Wformat=] drivers/staging/unisys/virthba/virthba.c:1142:4: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 7 has type â??u64â?? [-Wformat=] drivers/staging/unisys/virthba/virthba.c:1151:5: warning: format â??%dâ?? expects argument of type â??intâ??, but argument 5 has type â??u64â?? [-Wformat=] After apply the patch: linux-next]$ make C=1 drivers/staging/unisys/virthba/virthba.o CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CALL scripts/checksyscalls.sh CHECK drivers/staging/unisys/virthba/virthba.c CC [M] drivers/staging/unisys/virthba/virthba.o Signed-off-by: Honggang Li <enjoymindful@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e22a4a0f67030da9e5c7688237ca976e7211abfb Author: Benjamin Romer <bromer@xxxxxxxxxxx> Date: Mon Aug 18 09:34:54 2014 -0400 staging: unisys: remove generally useless elses from visorchipset_main.c There are several else clauses that aren't necessary listed by checkpatch.pl in visorchipset_main.c. Remove these. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 26eb2c0c57715bdc42b80039202338a47ec5c1cd Author: Benjamin Romer <bromer@xxxxxxxxxxx> Date: Mon Aug 18 09:34:53 2014 -0400 staging: unisys: fix spacing in visorchipset_main.c Fix the missing blank lines between declarations and code in visorchipset_main.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a8cca9f6c2558b7eb249fa86b7c42eb790a09df Author: Benjamin Romer <bromer@xxxxxxxxxxx> Date: Mon Aug 18 09:34:52 2014 -0400 staging: unisys: fix spacing in parser.c Fix the two spacing errors in parser.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a72afb9cd7897c4383a4d998662b1e19e6cffc7 Author: Benjamin Romer <bromer@xxxxxxxxxxx> Date: Mon Aug 18 09:34:51 2014 -0400 staging: unisys: fix spacing in file.c There's a missing blank line between code and declarations in file.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b10231344f64352bcfc1112b4d33c53e0a63fbcc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 26 08:14:03 2014 +0200 ARM: tegra: Add device tree nodes for flow controller These nodes are required so that the flow controller driver can obtain the I/O memory region from device tree rather than hard-coding it. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 47405a253da4d8ca4b18ad537423083fdd790440 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:56 2014 -0500 percpu: Remove __this_cpu_ptr The __this_cpu_ptr macro is no longer in use so drop it. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 77422a8fee1b96d2420a8a254f784bab8644ac41 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:55 2014 -0500 clocksource: Replace __this_cpu_ptr with raw_cpu_ptr One newly introduced __this_cpu_ptr should be raw_cpu_ptr. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 494fc42170bf0747ac28e12ef13a7d388d5ff2c7 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:54 2014 -0500 sparc: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) Cc: sparclinux@xxxxxxxxxxxxxxx Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 8c23af6122e56ad30e3de259731c31a998ff5b11 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:53 2014 -0500 avr32: Replace __get_cpu_var with __this_cpu_write Replace the single use of __get_cpu_var in avr32 with __this_cpu_write. Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Acked-by: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 7e788ab11d73fbb617973c12a9b3f84f93721e67 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:52 2014 -0500 blackfin: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) CC: Mike Frysinger <vapier@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 81829a96869c8bad74a582705617e75758c4152d Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:51 2014 -0500 tile: Use this_cpu_ptr() for hardware counters Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit b4f501916ce2ae80c28017814d71d1bf83679271 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:50 2014 -0500 tile: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) Acked-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 5828f666c069af74e00db21559f1535103c9f79a Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:49 2014 -0500 powerpc: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) tj: Folded a fix patch. http://lkml.kernel.org/g/alpine.DEB.2.11.1408172143020.9652@xxxxxxxxxx Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> CC: Paul Mackerras <paulus@xxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 2999a4b354c24985268f9310bc9522ff358453a8 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:48 2014 -0500 alpha: Replace __get_cpu_var __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) CC: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Acked-by: Richard Henderson <rth@xxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 6065a244a039a23d933e4b803a4e052da2849208 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:47 2014 -0500 ia64: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: linux-ia64@xxxxxxxxxxxxxxx Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 0bf7fcf155160fd483af7ffdc50efd4be96f1c96 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:46 2014 -0500 s390: cio driver &__get_cpu_var replacements Use this_cpu_ptr() instead of &__get_cpu_var() Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit eb7e7d766326f70859046bfdb6277068c2461fe2 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:45 2014 -0500 s390: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to this_cpu_inc(y) Cc: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> CC: linux390@xxxxxxxxxx Acked-by: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 35898716b4d3382791d219be317faace580b6a41 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:44 2014 -0500 mips: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. At the end of the patch set all uses of __get_cpu_var have been removed so the macro is removed too. The patch set includes passes over all arches as well. Once these operations are used throughout then specialized macros can be defined in non -x86 arches as well in order to optimize per cpu access by f.e. using a global register that may be set to the per cpu base. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit d1cd39ad583e36f3a945ba043a0a2bfae83fe859 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:43 2014 -0500 MIPS: Replace __get_cpu_var uses in FPU emulator. The use of __this_cpu_inc() requires a fundamental integer type, so change the type of all the counters to unsigned long, which is the same width they were before, but not wrapped in local_t. Signed-off-by: David Daney <david.daney@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 06b96c8beb940619ddc818e2e00915fbc524f807 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:42 2014 -0500 arm: Replace __this_cpu_ptr with raw_cpu_ptr __this_cpu_ptr is being phased out. So replace with raw_cpu_ptr. Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit e16321709c8270f9803bbfdb51e5e02235078c7f Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:41 2014 -0500 uv: Replace __get_cpu_var Use __this_cpu_read instead. Cc: Hedi Berriche <hedi@xxxxxxx> Cc: Mike Travis <travis@xxxxxxx> Cc: Dimitri Sivanich <sivanich@xxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 89cbc76768c2fa4ed95545bf961f3a14ddfeed21 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:40 2014 -0500 x86: Replace __get_cpu_var uses __get_cpu_var() is used for multiple purposes in the kernel source. One of them is address calculation via the form &__get_cpu_var(x). This calculates the address for the instance of the percpu variable of the current processor based on an offset. Other use cases are for storing and retrieving data from the current processors percpu area. __get_cpu_var() can be used as an lvalue when writing data or on the right side of an assignment. __get_cpu_var() is defined as : #define __get_cpu_var(var) (*this_cpu_ptr(&(var))) __get_cpu_var() always only does an address determination. However, store and retrieve operations could use a segment prefix (or global register on other platforms) to avoid the address calculation. this_cpu_write() and this_cpu_read() can directly take an offset into a percpu area and use optimized assembly code to read and write per cpu variables. This patch converts __get_cpu_var into either an explicit address calculation using this_cpu_ptr() or into a use of this_cpu operations that use the offset. Thereby address calculations are avoided and less registers are used when code is generated. Transformations done to __get_cpu_var() 1. Determine the address of the percpu instance of the current processor. DEFINE_PER_CPU(int, y); int *x = &__get_cpu_var(y); Converts to int *x = this_cpu_ptr(&y); 2. Same as #1 but this time an array structure is involved. DEFINE_PER_CPU(int, y[20]); int *x = __get_cpu_var(y); Converts to int *x = this_cpu_ptr(y); 3. Retrieve the content of the current processors instance of a per cpu variable. DEFINE_PER_CPU(int, y); int x = __get_cpu_var(y) Converts to int x = __this_cpu_read(y); 4. Retrieve the content of a percpu struct DEFINE_PER_CPU(struct mystruct, y); struct mystruct x = __get_cpu_var(y); Converts to memcpy(&x, this_cpu_ptr(&y), sizeof(x)); 5. Assignment to a per cpu variable DEFINE_PER_CPU(int, y) __get_cpu_var(y) = x; Converts to __this_cpu_write(y, x); 6. Increment/Decrement etc of a per cpu variable DEFINE_PER_CPU(int, y); __get_cpu_var(y)++ Converts to __this_cpu_inc(y) Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: x86@xxxxxxxxxx Acked-by: H. Peter Anvin <hpa@xxxxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 532d0d0690d1532dcc5a190162ad820b636bcd4d Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:39 2014 -0500 irqchips: Replace __this_cpu_ptr uses [ARM specific] These are generally replaced with raw_cpu_ptr. However, in gic_get_percpu_base() we immediately dereference the pointer. This is equivalent to a raw_cpu_read. So use that operation there. Cc: nicolas.pitre@xxxxxxxxxx Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit eee8492db674a5c89daa83158d8bf2839efc8850 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:38 2014 -0500 drivers/net/ethernet/tile: __get_cpu_var call introduced in 3.14 Another case was merged for 3.14-rc1 Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit bd83e65bfaedafef1ba21ce19c1ea7913da01bec Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:37 2014 -0500 metag: Replace __get_cpu_var uses for address calculation Replace __get_cpu_var uses for address calculation with this_cpu_ptr(). Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 1f125e76f5c134b0a904ef30e96ee8da6a49f4b4 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:36 2014 -0500 md: Replace __this_cpu_ptr with raw_cpu_ptr __this_cpu_ptr is being phased out. Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 903ceff7ca7b4d80c083a80ee5163b74e9fa359f Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:35 2014 -0500 net: Replace get_cpu_var through this_cpu_ptr Replace uses of get_cpu_var for address calculation through this_cpu_ptr. Cc: netdev@xxxxxxxxxxxxxxx Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f7f66b05aa2ac2632c5441a3f129f3be827fe7e7 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:34 2014 -0500 watchdog: Replace __raw_get_cpu_var uses Most of these are the uses of &__raw_get_cpu_var for address calculation. touch_softlockup_watchdog_sync() uses __raw_get_cpu_var to write to per cpu variables. Use __this_cpu_write instead. Cc: Wim Van Sebroeck <wim@xxxxxxxxx> Cc: linux-watchdog@xxxxxxxxxxxxxxx Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 70b2776a5cb16c39ff5451c4eee72691734eabfc Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:33 2014 -0500 drivers/net/ethernet/tile: Replace __get_cpu_var uses for address calculation Replace with this_cpu_ptr. Acked-by: Chris Metcalf <cmetcalf@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 27d051677977da11dc50caeb210204b587c94eb5 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:32 2014 -0500 drivers/clocksource: Replace __get_cpu_var used for address calculation Replace __get_cpu_var used for address calculation with this_cpu_ptr. Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 879d92745a1a5a6573dee83cfa2953413fed23fc Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:31 2014 -0500 drivers/oprofile: Replace __get_cpu_var uses for address calculation Replace the uses of __get_cpu_var for address calculation with this_cpu_ptr. Cc: Robert Richter <rric@xxxxxxxxxx> Cc: oprofile-list@xxxxxxxxxxxx Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 229b6863b2cf9514f08e468fea586bc195ebcf50 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:30 2014 -0500 drivers/cpuidle: Replace __get_cpu_var uses for address calculation All of these are for address calculation. Replace with this_cpu_ptr(). Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> Cc: linux-pm@xxxxxxxxxxxxxxx Acked-by: Rafael J. Wysocki <rjw@xxxxxxx> [cpufreq changes] Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 1b2a1a7e8ad1144dc3f676f2651cb84e01548d59 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:29 2014 -0500 drivers/char/random: Replace __get_cpu_var uses A single case of using __get_cpu_var for address calculation. Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a0b6bc63a20a91faef0127cc61cca6d06ee737df Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:28 2014 -0500 block: Replace __this_cpu_ptr with raw_cpu_ptr __this_cpu_ptr is being phased out use raw_cpu_ptr instead which was introduced in 3.15-rc1. Cc: Jens Axboe <axboe@xxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 4a32fea9d78f2d2315c0072757b197d5a304dc8b Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:27 2014 -0500 scheduler: Replace __get_cpu_var with this_cpu_ptr Convert all uses of __get_cpu_var for address calculation to use this_cpu_ptr instead. [Uses of __get_cpu_var with cpumask_var_t are no longer handled by this patch] Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit dc5df73b3afffc8d042dadffc1c959008b2c1163 Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:26 2014 -0500 time: Convert a bunch of &__get_cpu_var introduced in the 3.16 merge period Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 22127e93c587afa01e4f7225d2d1cf1d26ae7dfe Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:25 2014 -0500 time: Replace __get_cpu_var uses Convert uses of __get_cpu_var for creating a address from a percpu offset to this_cpu_ptr. The two cases where get_cpu_var is used to actually access a percpu variable are changed to use this_cpu_read/raw_cpu_read. Reviewed-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit bb964a92ce70ac2039115edd019aa5eef8faa6bb Author: Christoph Lameter <cl@xxxxxxxxx> Date: Sun Aug 17 12:30:24 2014 -0500 kernel misc: Replace __get_cpu_var uses Replace uses of __get_cpu_var for address calculation with this_cpu_ptr. Cc: akpm@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Christoph Lameter <cl@xxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 783944feaab8383495ba067276a16e28c205fb13 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 26 08:14:04 2014 +0200 ARM: tegra: Initialize flow controller from DT Use a matching device tree node to initialize the flow controller driver instead of hard-coding the I/O address. This is necessary to get rid of the iomap.h include, which in turn make it easier to share this code with 64-bit Tegra SoCs. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit ca45d02db82867cf703af5253474689a37f36ca0 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:57:00 2014 +0100 iio:gyro:bmg160 documentation Added any-motion trigger documentation. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 9fc3bf5dc2cf3c8703601ad9a612b2f9eefb8a22 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Tue Aug 26 08:14:02 2014 +0200 of: Add NVIDIA Tegra flow controller bindings Add device tree bindings for the flow controller found on NVIDIA Tegra SoCs. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 22b46c45fb9be8ec1fcb4d9b74810e6a20ff67cc Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:57:00 2014 +0100 iio:gyro:bmg160 Gyro Sensor driver This change implements support for BMG160 Gyro sensor. Although chip has several advanced features, this change implements minimum set required for using gyro sensor. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b0da12d59d9432aed9f2ae04d6baa8a0e9bc384c Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Fri Aug 22 15:07:13 2014 -0600 ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables This pinmux tables currently omit any configuration for PCIe clk_req, wake, and rst pins, which in turn causes intermittent failures in U-Boot's PCIe support. Import an updated version of the pinmux tables which rectifies this. (While I'm still hoping to remove the pinmux tables from DTs for Tegra124+ devices, while they're still here, they may as well be complete and correct). Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 1b3ce99f930f991cb2e2b848f35321e23b6020a6 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Wed Jul 16 11:54:18 2014 +0300 ARM: tegra: Add SATA and SATA power to Jetson TK1 device tree This enables the integrated SATA controller on the Tegra124 system-on-chip on the Jetson TK1 board and adds regulators for the onboard Molex connector commonly used to power SATA devices. The regulators are marked always-on since they can be used for other purposes than powering SATA devices. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> [swarren, fixed node sort order] Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit fdd690969b8b05b0636ac46a66a885c5b1ccd651 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Wed Jul 16 11:54:17 2014 +0300 ARM: tegra: Add SATA controller to Tegra124 device tree This adds the integrated AHCI-compliant Serial ATA controller present in Tegra124 systems-on-chip to the Tegra124 device tree. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> [swarren, fixed node sort order] Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 91816a7fe5a671b826d5288ed7b42e92117a8fe8 Author: Mikko Perttunen <mperttunen@xxxxxxxxxx> Date: Wed Jul 16 11:54:23 2014 +0300 ARM: tegra: Add options for Tegra AHCI support to tegra_defconfig This adds ATA, SATA_AHCI and AHCI_TEGRA support to tegra_defconfig so that the SATA support will be automatically enabled. Signed-off-by: Mikko Perttunen <mperttunen@xxxxxxxxxx> Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> commit 1bbb119db00dc1aff188df0f5705a759ede39b37 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 25 12:13:14 2014 +0200 ath10k: fix fw crash dumping Recent crash dump patches introduced a regression. If debugfs was disabled upon crash user could only see the following: [ 793.880000] ath10k: firmware crashed! (uuid n/a) [ 793.890000] ath10k: qca988x hw2.0 (0x4100016c, 0x043202ff) fw 10.1.467.2-1 api 2 htt 2.1 [ 793.890000] ath10k: debug 0 debugfs 0 tracing 0 dfs 1 The report was missing register dump. Fix it by printing registers regardless if crash_data is present or not. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7aa7a72a23679abf1cea9b3b65a8921244e769a7 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 25 12:09:38 2014 +0200 ath10k: improve logging to include dev id This makes it a lot easier to log and debug messages if there's more than 1 ath10k device on a system. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2d0871396995139b37f9ceb153c8b07589148343 Author: Michal Marek <mmarek@xxxxxxx> Date: Fri Aug 22 15:51:03 2014 +0200 builddeb: put the dbg files into the correct directory Since the conversion of objtree to use relative pathnames (commit 7e1c04779e, "kbuild: Use relative path for $(objtree)"), the debug info files have been ending up in /debian/dbgtmp/ in the regular linux-image package instead of the debug files package. Fix up the paths so that the debug files end up in the -dbg package. This is based on a similar patch by Darrick. Reported-and-tested-by: "Darrick J. Wong" <darrick.wong@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 62afa853cb91288e85a8da6351bd29d798402308 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 26 19:01:43 2014 +0530 ALSA: ctxfi: fix broken user-visible string as broken user-visible strings breaks the ability to grep for them , so this patch fixes the broken user-visible strings Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e720b82027b99482ea5d1001a69bdf2200e86b79 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Tue Aug 26 19:01:42 2014 +0530 ALSA: ctxfi: prink replacement as pr_* macros are more preffered over printk, so printk replaced with corresponding pr_err and pr_alert this patch will generate a warning from checkpatch for an unnecessary space before new line and has not been fixed as this patch is only for printk replacement. Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 58678a77029bc1f78f80f6f93da3d302d587f951 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:28 2014 +0200 video: fbdev: au1200fb: delete double assignment Delete successive assignments to the same location. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit a9a3cac6908a86ada51ab12f7eb39d0313814d23 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:27 2014 +0200 video: fbdev: sis: delete double assignment Delete successive assignments to the same location. The second assignment is changed to update a different field, as done in other nearby code. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 2079a513b0f03c8872322070944720d2c174b005 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:23 2014 +0200 video: fbdev: intelfb: delete double assignment Delete successive assignments to the same location. In the second case, = is converted to |=, which looks appropriate based on the values involved. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit f57eda296dc327fc3f5d21099cf232bcd004237f Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 20:33:22 2014 +0200 video: fbdev: riva: delete double assignment Delete successive assignments to the same location. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression i; @@ *i = ...; i = ...; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit fbaa19df03f87c2aa6a3a0a14dd7d4c098d45643 Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Aug 26 18:22:58 2014 +0530 msm: msm_fb: Move to using managed resources of kzalloc Move to managed verion of kzalloc. Also checks return for failure case which was missing. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Tomi Valkeinen <tomi.valkeinen@xxxxxx> CC: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> CC: Jingoo Han <jg1.han@xxxxxxxxxxx> CC: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 0c46575f7c7dea4068924f2c0d938232f68a5cda Author: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> Date: Tue Aug 26 17:40:37 2014 +0530 msm: msm_fb: Add remove function for platform driver for clean unloading This adds a remove function to platform driver structure so that resources are released when driver is unloaded. Signed-off-by: Pramod Gurav <pramod.gurav@xxxxxxxxxxxxxxx> CC: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> CC: Tomi Valkeinen <tomi.valkeinen@xxxxxx> CC: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> CC: Jingoo Han <jg1.han@xxxxxxxxxxx> CC: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 87306c1d09c8dd7ed291a6b5d6c31323cd81f2ae Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Fri Jul 11 18:13:27 2014 +0200 video: mx3fb: Update comment for dmaengine_prep_slave_sg() API Commit 16052827d98fbc13c31ebad560af4bd53e2b4dd5 ("dmaengine/dma_slave: introduce inline wrappers") changed the code to use the new API, but forgot to update a comment. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Jiri Kosina <trivial@xxxxxxxxxx> Cc: linux-fbdev@xxxxxxxxxxxxxxx -- v2: - New Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit c76031f3ece10939d87cc96857b9e045133064e6 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Jul 8 18:27:18 2014 +0200 video: vermilion: remove unnecessary break after goto Cc: Jean-Christophe Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: Jingoo Han <jg1.han@xxxxxxxxxxx> Cc: linux-fbdev@xxxxxxxxxxxxxxx Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 084244646217ec83970facaf7baf200c02a8183e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 17:50:28 2014 +0200 video: fbdev: aty: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 39917f08721b2f04d06407777ce7ae5913533674 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 13:20:29 2014 +0200 OMAPDSS: DSI: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 1287c5bf214b906d64a71c481545010dbe1b5b66 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 13:20:24 2014 +0200 video: fbdev: matrox: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit 68ecfe2fe2e6c636bb7e2cf616e658e342e05362 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Aug 8 12:07:55 2014 +0200 video: of: display_timing: delete unneeded test before of_node_put Of_node_put supports NULL as its argument, so the initial test is not necessary. Furthermore, native_mode cannot be NULL at this point. Suggested by Uwe Kleine-König. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression e; @@ -if (e) of_node_put(e); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@xxxxxx> commit a7428c3ded540fb10dd32fd6c45352cb314f3569 Merge: 54ad89b f079e95 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Tue Aug 26 14:31:44 2014 +0200 Merge tag 'kvm-s390-next-20140825' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD KVM: s390: Fixes and features for 3.18 part 1 1. The usual cleanups: get rid of duplicate code, use defines, factor out the sync_reg handling, additional docs for sync_regs, better error handling on interrupt injection 2. We use KVM_REQ_TLB_FLUSH instead of open coding tlb flushes 3. Additional registers for kvm_run sync regs. This is usually not needed in the fast path due to eventfd/irqfd, but kvm stat claims that we reduced the overhead of console output by ~50% on my system 4. A rework of the gmap infrastructure. This is the 2nd step towards host large page support (after getting rid of the storage key dependency). We introduces two radix trees to store the guest-to-host and host-to-guest translations. This gets us rid of most of the page-table walks in the gmap code. Only one in __gmap_link is left, this one is required to link the shadow page table to the process page table. Finally this contains the plumbing to support gmap page tables with less than 5 levels. commit 604effb782a8a4d9a20c8af16bcbf86d742db119 Author: Imre Deak <imre.deak@xxxxxxxxx> Date: Tue Aug 26 13:26:56 2014 +0300 drm/i915: fix suspend/resume for GENs w/o runtime PM support Before sharing common parts between the system and runtime s/r handlers we WARNed if the runtime s/r handlers were called on GENs that didn't support RPM. But this WARN is not correct if the same handler is called from the system s/r path, since that can happen on any platform. This also broke system s/r on old platforms. The issue was introduced in commit 016970beb05da6285c2f3ed2bee1c676cb75972e Author: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Date: Wed Aug 13 23:07:06 2014 +0530 v2: - remove the WARN and depend on the HAS_RUNTIME_PM check in rutime_suspend/resume instead (Daniel) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82751 Signed-off-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9e9bc235580829e3a06ccd13aa10110478c2e093 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Jul 28 14:24:38 2014 +0300 ARM: davinci: board-da850-evm: Add needed regulators for tlv320aic3106 codec IOVDD: tps65070's dcdc2 AVDD and DRVDD: fixed regulator derived from 5V via TPS73701DCQ DVDD: fixed regulator derived from 5V via TPS73701DCQ This patch needed to be able to probe the audio codec. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 79436f870c910bfa296c76e9f43a9aae69f1b46d Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Mon Jul 28 14:24:37 2014 +0300 ARM: davinci: board-da850-evm: Mark dcdc2 of TPS65070 as always_on DCDC2 should not be turned off since it is powering the CPU among other things. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 3f526696e7840239844fc7ff9b5cf014d7192c42 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:30 2014 +0300 ARM: DTS: da850-evm: Enable audio via simple-card The audio on the board is using McASP <-> tlv320aic3106 codec and we have LineIn and LineOut jacks. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 204a87ed4bf80257ed89fd1647628d6b05545ad0 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:29 2014 +0300 ARM: DTS: da850-evm: Add node for tlv320aic3106 codec The board uses aic3106 for audio. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 4ec582e924825e649ca4cdc1fb9eac0b97c75d60 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:28 2014 +0300 ARM: DTS: da850-evm: Enable McASP via DT boot Add pinctrl nodes for the McASP0 pins and configure McASP to the desired mode for the board. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit db74904eb84c6ad3bde17ccd9d7ee1e2a7822ed9 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:27 2014 +0300 ARM: DTS: da850: Add node for McASP Node for mcasp0 Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit ee766e4d0712e510898e4413fd968f8cdb450bcf Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:26 2014 +0300 ARM: DTS: da850: Add node for edma0 Add DT node for edma0. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit 06b57f1d9ea7b495af4b3e3b4372e5a4ebc1f7d9 Author: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Date: Fri Aug 1 09:13:25 2014 +0300 ARM: davinci: da8xx-dt: add OF_DEV_AUXDATA entry for mcasp0 Add OF_DEV_AUXDATA for mcasp to be able to use clocks. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@xxxxxx> Signed-off-by: Sekhar Nori <nsekhar@xxxxxx> commit cafd2545cfd36ef6fee14f9c36870b81d3c98de5 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 5 17:34:25 2014 +0200 iommu/amd: Remove device binding reference count This reference count is not used anymore, as all devices in an alias group are now attached and detached together. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 397111abaaac259afcc48cd2fbfb78f63f27e797 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 5 17:31:51 2014 +0200 iommu/amd: Attach and detach complete alias group Change tha device attach and detach semantic to apply to all devices in an alias group. This means all devices in an alias group are now attached and detached at the same time. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f251e187f2949c690fc13a91df7b873a6b5be671 Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 5 16:48:10 2014 +0200 iommu/amd: Keep a list of devices in an alias group Some broken devices might use any request-id from the alias group, so we need to set a DTE entry for every device in there. This patch adds creation of those lists. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 50917e265ebd2ea33bc34b22b3981f1e88415eae Author: Joerg Roedel <jroedel@xxxxxxx> Date: Tue Aug 5 16:38:38 2014 +0200 iommu/amd: Move struct iommu_dev_data to amd_iommu.c The struct is only used there, so it doesn't need to be in the header file. Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit ad053a962f1e83597ec8388716619c7633a00ef1 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 16:14:49 2014 +0300 mac80211: scan: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 5bc8c1f2b070bab82ed738f98ecfac725e33c57f Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Aug 12 21:01:28 2014 +0200 cfg80211: allow passing frame type to cfg80211_inform_bss() When using the cfg80211_inform_bss[_width]() functions drivers cannot currently indicate whether the data was received in a beacon or probe response. Fix that by passing a new enum that indicates such (or unknown). For good measure, use it in ath6kl. Acked-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> [ath6kl] Acked-by: Arend van Spriel <arend@xxxxxxxxxxxx> [brcmfmac] Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 0e227084aee36b3ba27b4fc9cd9e425be6ce2ab8 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Aug 12 20:34:30 2014 +0200 cfg80211: clarify BSS probe response vs. beacon data There are a few possible cases of where BSS data came from: 1) only a beacon has been received 2) only a probe response has been received 3) the driver didn't report what it received (this happens when using cfg80211_inform_bss[_width]()) 4) both probe response and beacon data has been received Unfortunately, in the userspace API, a few things weren't there: a) there was no way to differentiate cases 1) and 4) above without comparing the data of the IEs b) the TSF was always from the last frame, instead of being exposed for beacon/probe response separately like IEs Fix this by i) exporting a new flag attribute that indicates whether or not probe response data has been received - this addresses (a) ii) exporting a BEACON_TSF attribute that holds the beacon's TSF if a beacon has been received iii) not exporting the beacon attributes in case (3) above as that would just lead userspace into thinking the data actually came from a beacon when that isn't clear To implement this, track inside the IEs struct whether or not it (definitely) came from a beacon. Reported-by: William Seto Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f41ef64853fb1e02728e56b2d0d55aef8ed12b26 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jul 28 15:21:05 2014 +0200 cfg80211: re-enable CSA for drivers that support it This reverts commit dda444d52496aa8ddc501561bca580f1374a96a9. Channel switching code has been reworked and improved significantly since the time original locking issues were found. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit c70f59a2a007c57843195a93c3b7308204e0a5ab Author: Ido Yariv <ido@xxxxxxxxxx> Date: Tue Jul 29 15:39:14 2014 +0300 mac80211: don't resize skbs needlessly Header-less cloned skbs with sufficient headroom need not be cloned unless the tailroom is going to be modified. Fix ieee80211_skb_resize so it would only resize cloned skbs if either the header isn't released or the tailroom is going to be modified. Some drivers might have assumed that skbs are never cloned, so add a HW flag that explicitly permits cloned TX skbs. Drivers which do not modify TX skbs should set this flag to avoid copying skbs. Signed-off-by: Ido Yariv <idox.yariv@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit ca34e3b5c808385b175650605faa29e71e91991b Author: Ido Yariv <ido@xxxxxxxxxx> Date: Tue Jul 29 15:38:53 2014 +0300 mac80211: Fix accounting of the tailroom-needed counter When hw acceleration is enabled, the GENERATE_IV or PUT_IV_SPACE flags will only require headroom space. Consequently, the tailroom-needed counter can safely be decremented. Signed-off-by: Ido Yariv <idox.yariv@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 170fd0b1f6108b48df4369afa0ee29a83e922748 Author: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Date: Wed Jul 30 14:36:18 2014 +0300 ieee80211: Support parsing TPC report element in action frames TPC report element is contained in spectrum management's tpc report action frames and in radio measurement's link measurement report action frames. Add a function which checks whether an action frame contains this element. This may be needed by the drivers in order to set the correct tx power value in these frames. Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 970fdfa89babb5a6f1a3d345e8cb54d92c1e3a8f Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Mon Aug 11 03:29:57 2014 -0700 cfg80211: remove @gfp parameter from cfg80211_rx_mgmt() In the cfg80211_rx_mgmt(), parameter @gfp was used for the memory allocation. But, memory get allocated under spin_lock_bh(), this implies atomic context. So, one can't use GFP_KERNEL, only variants with no __GFP_WAIT. Actually, in all occurrences GFP_ATOMIC is used (wil6210 use GFP_KERNEL by mistake), and it should be this way or warning triggered in the memory allocation code. Remove @gfp parameter as no actual choice exist, and use hard coded GFP_ATOMIC for memory allocation. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 649b2a4da5d8a39c4d7be2fd228cf797819656f9 Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Fri Jul 25 15:01:59 2014 +0200 mac80211: make ieee80211_vif_use_reserved_switch static Reorder some code to make ieee80211_vif_use_reserved_switch() static, no other changes. Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit f8134fed8346c05007ca23e22e1504097afcd7c9 Author: Bob Copeland <me@xxxxxxxxxxxxxxx> Date: Sat Jun 28 16:35:26 2014 -0400 mac80211: mesh_plink: use get_unaligned_le16 instead of memcpy Use get_unaligned_le16 to access llid/plid. Signed-off-by: Bob Copeland <me@xxxxxxxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit b9347aff91ce4789619168539f08202d8d6a1177 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Tue Aug 26 10:29:45 2014 +0200 crypto: drbg - fix maximum value checks on 32 bit systems The maximum values for additional input string or generated blocks is larger than 1<<32. To ensure a sensible value on 32 bit systems, return SIZE_MAX on 32 bit systems. This value is lower than the maximum allowed values defined in SP800-90A. The standard allow lower maximum values, but not larger values. SIZE_MAX - 1 is used for drbg_max_addtl to allow drbg_healthcheck_sanity to check the enforcement of the variable without wrapping. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 7264354c0cb8c04bd4a85d24e5d57a0e2417c2fb Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Aug 25 15:59:25 2014 -0700 pwm: rockchip: Allow polarity invert on rk3288 The rk3288 has the ability to invert the polarity of the PWM. Let's enable that ability. Note that this increases pwm_cells to 3 for rk3288. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Caesar Wang <caesar.wang@xxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 5819c2fa55d4a6eaf7fe025a393dce98fc4b2116 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 24 15:36:55 2014 +0200 ASoC: Restore idle_bias_off initialization This was accidentally lost in commit f1d45cc3ae96 ("ASoC: Consolidate platform and CODEC probe/remove"). Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f079e9521464aa522d56af2a58a1666ca126bf6f Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Fri Aug 1 15:03:33 2014 +0200 KVM: s390/mm: remove outdated gmap data structures The radix tree rework removed all code that uses the gmap_rmap and gmap_pgtable data structures. Remove these outdated definitions. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit c6c956b80bdf151cf41d3e7e5c54755d930a212c Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Jul 1 14:36:04 2014 +0200 KVM: s390/mm: support gmap page tables with less than 5 levels Add an addressing limit to the gmap address spaces and only allocate the page table levels that are needed for the given limit. The limit is fixed and can not be changed after a gmap has been created. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 527e30b41d8b86e9ae7f5b740de416958c0e574e Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 30 16:04:25 2014 +0200 KVM: s390/mm: use radix trees for guest to host mappings Store the target address for the gmap segments in a radix tree instead of using invalid segment table entries. gmap_translate becomes a simple radix_tree_lookup, gmap_fault is split into the address translation with gmap_translate and the part that does the linking of the gmap shadow page table with the process page table. A second radix tree is used to keep the pointers to the segment table entries for segments that are mapped in the guest address space. On unmap of a segment the pointer is retrieved from the radix tree and is used to carry out the segment invalidation in the gmap shadow page table. As the radix tree can only store one pointer, each host segment may only be mapped to exactly one guest location. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 55688377b19b2483ad249be30984a900a8546a17 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Mon Aug 25 10:50:12 2014 +0200 MIPS: fix comment spelling Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c614f13a9680a483f3558e20dc5fa350700f83fb Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Jun 29 12:21:36 2014 +0200 powerpc/simpleboot: fix comment Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 336ec137340daa62e9d61bce09d635b603aa4f2a Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Jun 29 12:13:49 2014 +0200 paride/pcd: Fix grammar Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 78b1e540f2a3c01c7487f025943cdf9fbfc9b605 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Tue Jun 24 10:43:06 2014 +0200 fs: fix comment for 'CONFIG_LBADF' Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 45d5acd3cdf36b968067b11b1e138948325e55ed Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:19:14 2014 +0200 lib: rhashtable: Spelling s/compuate/compute/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Thomas Graf <tgraf@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 32db83eb1ae1a8432bfabe2c9f6fd522a5419c4b Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:19:13 2014 +0200 cx23885: Spelling s/compuations/computations/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Cc: linux-media@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a395adcff0a1e009e2fb8a1090b7a29febce08c5 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:19:12 2014 +0200 cx25840: fix comment Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Cc: linux-media@xxxxxxxxxxxxxxx Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 51c0ff6db5b57f0bfaf415ae0581f6b98b5deb5f Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:15:14 2014 +0200 mm: Fix CROSS_MEMORY_ATTACH help text grammar Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4646d13199c4428f43ce390ca26c21c85de5f604 Author: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 7 13:11:58 2014 +0800 powerpc: Fix comment typos in hotplug-memory.c bae->base niumber->number Signed-off-by: Li Zhong <zhong@xxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 9b13494c916dc0bf93802d7426b477cc0130fb48 Author: Masanari Iida <standby24x7@xxxxxxxxx> Date: Wed Aug 6 22:31:28 2014 +0900 treewide: Fix typo in printk This patch fix spelling typo in printk within vairous part of the code. Signed-off-by: Masanari Iida <standby24x7@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 50d8a189013cef83eef771c45787cee68ecdf8fe Author: Raymond L. Rivera <ray.l.rivera@xxxxxxxxx> Date: Thu Jul 24 02:39:45 2014 -0700 linux/pagemap.h: Fixed a typo in a code comment. Corrected a minor typo in a code comment where 'be' was missing. Signed-off-by: Raymond L. Rivera <ray.l.rivera@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7c18fd786de3dabc43e0f412dd63080c14fe6e1b Author: Raymond L. Rivera <ray.l.rivera@xxxxxxxxx> Date: Thu Jul 24 02:39:44 2014 -0700 CodingStyle: fix a minor typo There was a minor typo in the CodingStyle document where the word 'section' had been spelled as 'secton'. Signed-off-by: Raymond L. Rivera <ray.l.rivera@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5de0642fa70e38783193e37a553479d1ba160115 Author: Paul Bolle <pebolle@xxxxxxxxxx> Date: Thu Jun 26 11:12:51 2014 +0200 Documentation: au1xxx-ide.c has moved Signed-off-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit abb3b1f8d70cc9dfac98e67faf974c422a3d3e72 Author: Rahul Bedarkar <rahulbedarkar89@xxxxxxxxx> Date: Thu Jul 31 23:50:19 2014 +0530 Documentation: kmemleak: correct spelling mistake Signed-off-by: Rahul Bedarkar <rahulbedarkar89@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 1578ea3a09b4ad761bfe90d7c3dfef73f6d975df Author: Junien Fridrick <linux.kernel@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 23:26:57 2014 +0000 Documentation: ABI/testing: Spelling s/calss/class/ Signed-off-by: Junien Fridrick <linux.kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a2787312e9440301f606577805659ed2a1bde810 Author: Fam Zheng <famz@xxxxxxxxxx> Date: Thu Aug 14 13:26:22 2014 +0800 Documentation: Fix null_blk parameter irq_mode to irqmode To match the real module parameter name we implemented. Signed-off-by: Fam Zheng <famz@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8307959d5e244e533d3a049476fb1dfa366306a9 Author: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Date: Wed Aug 13 15:54:48 2014 +0200 Documentation: serial: fix header path RS485 related structure will be defined in user space API header. Signed-off-by: Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8ae34ea7e8e655a9afe477062f1d91a3700959b5 Author: Harish Jenny K N <harish_kandiga@xxxxxxxxxx> Date: Wed Aug 20 11:56:17 2014 +0530 lockup-watchdogs: Fix a typo s/BOOTPARAM_HARDLOCKUP_PANIC/BOOTPARAM_SOFTLOCKUP_PANIC Signed-off-by: Harish Jenny K N <harish_kandiga@xxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 924064e93970a1b45d83ac67165f0570f4649e0f Author: Pavel Machek <pavel@xxxxxxx> Date: Mon Aug 18 23:59:28 2014 +0200 stmmac.txt: fix typo Fix typo in devicetree example. Signed-off-by: Pavel Machek <pavel@xxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 24488c392067e948b3b2c6911d6e8b522931714c Author: Hayato Suzuki <hytszk@xxxxxxxxx> Date: Wed Jul 2 15:15:32 2014 +0900 Documentation: treewide: fix typos and grammar Correct spelling typo in treewide. Signed-off-by: Hayato Suzuki <hytszk@xxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit a71db86e86e0a1b28ffebe6b161f4a628911ebaf Author: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Date: Fri Jun 20 21:51:43 2014 +0200 fs/btrfs/tree-log.c: Fix closing brace followed by if Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Reviewed-by: Josef Bacik <jbacik@xxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7c8ae03f41e635813b777a0989d8ac1ff5a8494e Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Tue Aug 26 09:32:24 2014 +0200 crypto: drbg - fix sparse warning for cpu_to_be[32|64] The sparse tool complained that the cpu_to_be[32|64] functions return __be[32|64] instead of __u32 or __u64. The patch replaces the __u32 and __u64 with __be32 and __be64. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d76c333e9fe2d269c54f68747b2311a5657276e5 Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Mon Aug 25 21:37:06 2014 +0800 regulator: RK808: modify for struct rk808 change The "dev" has been deleted from "struct rk808" in rk808 mfd driver so rk808->dev should be replaced by &client->dev here. Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 79346d620e9de87912de73337f6df8b7f9a46888 Author: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Date: Mon Aug 25 13:07:10 2014 -0400 HID: input: force generic axis to be mapped to their user space axis Atmel 840B digitizer presents a stylus interface which reports twice the X coordinate and then twice the Y coordinate. In its current implementation, hid-input assign the first X to X, then the second to Y, then the first Y to Z, then the second one to RX. This is wrong, and X should always be mapped to X, no matter what. A solution consists in forcing X, Y, Z, RX, RY, RZ to be mapped to their correct user space counter part. Reported-by: Ã?ric Brunet <Eric.Brunet@xxxxxxxxxx> Signed-off-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 4c1948fc471d444b15dfaca73ea0c9b77c2d5505 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Tue Aug 26 14:40:52 2014 +0800 crypto: sha-mb - sha1_mb_alg_state can be static CC: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> CC: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1f6e97f68b908a09c6ff74d4f1310e9ab8df0e64 Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Tue Aug 26 14:40:39 2014 +0800 crypto: mcryptd - mcryptd_flist can be static CC: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> CC: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b4bbb107d73bbc0d92c9ae7fd8e69580aa9381e7 Author: Thierry Reding <treding@xxxxxxxxxx> Date: Fri Jun 27 11:56:58 2014 +0200 dma-mapping: Provide write-combine allocations Provide an implementation for dma_{alloc,free,mmap}_writecombine() when the architecture supports DMA attributes. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> commit 90114d65feea716eeae0ab51e92c95b140b2e6fc Author: Thierry Reding <treding@xxxxxxxxxx> Date: Mon Aug 25 13:02:52 2014 +0200 s390: Implement dma_{alloc,free}_attrs() The S390 architecture advertises support for HAVE_DMA_ATTRS when PCI is enabled. Patches to unify some of the DMA API would like to rely on the dma_alloc_attrs() and dma_free_attrs() functions to be provided when an architecture supports DMA attributes. Rename dma_alloc_coherent() and dma_free_coherent() to dma_alloc_attrs() and dma_free_attrs() since they are functionally equivalent and alias the former to the latter for compatibility. For consistency with other architectures, also reuse the existing symbol HAVE_DMA_ATTRS defined in arch/Kconfig instead of providing a duplicate. Select it when PCI is enabled. While at it, drop a redundant 'default n' from the PCI Kconfig symbol. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> Acked-By: Sebastian Ott <sebott@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> commit a3d1214688d5259a200414def4d38f1e4531febd Author: stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 15:05:30 2014 -0700 neigh: document gc_thresh2 Missing documentation for gc_thresh2 sysctl. Signed-off-by: Stephen Hemminger <stephen@xxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f79918afb714e0d699431d59bbba33a34a82cee0 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Mon Aug 25 13:11:48 2014 -0700 net: bnx2x: fix build error with ptp bnx2x uses ptp functions, so it should select the provider of those functions (PTP_1588_CLOCK). Fixes these build errors: drivers/built-in.o: In function `__bnx2x_remove': /home/jim/linux/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:13409: undefined reference to `ptp_clock_unregister' drivers/built-in.o: In function `bnx2x_register_phc': /home/jim/linux/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c:13202: undefined reference to `ptp_clock_register' drivers/built-in.o: In function `bnx2x_get_ts_info': /home/jim/linux/drivers/net/ethernet/broadcom/bnx2x/bnx2x_ethtool.c:3498: undefined reference to `ptp_clock_index' Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d7d3c05135f37d8fdf73f9966d27155cada36e56 Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Mon Aug 25 21:38:27 2014 +0200 team: set IFF_TEAM_PORT priv_flag after rx_handler is registered When one tries to add eth as a port into team and that eth is already in use by other rx_handler device (macvlan, bond, bridge, ...) a bug in team_port_add() causes that IFF_TEAM_PORT flag is set before rx_handler is registered. In between, netdev nofifier is called and team_device_event() sees IFF_TEAM_PORT and thinks that rx_handler_data pointer is set to team_port. But it isn't. Fix this by reordering rx_handler register and IFF_TEAM_PORT priv flag set so it is very similar to how bonding does this. Reported-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Fixes: 3d249d4ca7 "net: introduce ethernet teaming device" Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 72b603ee8cfc6be587f301568d79ce38e7ed735d Author: Alexei Starovoitov <ast@xxxxxxxxxxxx> Date: Mon Aug 25 12:27:02 2014 -0700 bpf: x86: add missing 'shift by register' instructions to x64 eBPF JIT 'shift by register' operations are supported by eBPF interpreter, but were accidently left out of x64 JIT compiler. Fix it and add a testcase. Reported-by: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx> Fixes: 622582786c9e ("net: filter: x86: internal BPF JIT") Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9785820e6dba63a26a3640b3faebcfec6ca286cc Merge: 453a940 8f15c61 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 25 17:30:27 2014 -0700 Merge branch 'bnx2x-next' Yuval Mintz says: ==================== bnx2x: `fixes' patch-series This series contains mostly bug fixes, but never the less is intended for `net-next' and not `net', as: - Some of the fixes are quite insignificant [`VF clean statistics', `ethtool -d might cause timeout in log']. - Some only recently were submitted to `net-next' [`Fix timesync endianity']. - Some are not usually compiled as part of the kernel [`Fix stop-on-error']. Dave - please consider applying this series to `net-next'; If you prefer, I can break this series into 2 parts [one for `net' and the other for `net-next'] - but personally I don't see much benefit in it. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8f15c61301223138a01e62e009ad8b3a120b780c Author: Michal Kalderon <Michal.Kalderon@xxxxxxxxxx> Date: Mon Aug 25 17:48:33 2014 +0300 bnx2x: Fix timesync endianity Commit eeed018cbfa30 ("bnx2x: Add timestamping and PTP hardware clock support") has a missing conversion to LE32, which will prevent the feature from working on big endian machines. Signed-off-by: Michal Kalderon <Michal.Kalderon@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit aebf6244cd39ba01a6d748e8b29a4f6c7be52535 Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Mon Aug 25 17:48:32 2014 +0300 bnx2x: Be more forgiving toward SW GRO This introduces 2 new relaxations in the bnx2x driver regarding GRO: 1. Don't prevent SW GRO if HW GRO is disabled. 2. If all aggregations are disabled, when GRO configuration changes there's no need to perform an inner-reload [since it will have no actual effect]. Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14f806a00a183c6a95d74eee29dabbe0c20ba1c4 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Aug 25 17:48:31 2014 +0300 bnx2x: VF clean statistics During statistics initialization of a VF we need to clean its statistics. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit ea36475a22ded71633331a0b9b3cddd7f1d6983a Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Mon Aug 25 17:48:30 2014 +0300 bnx2x: Fix stop-on-error When STOP_ON_ERROR is set driver will not compile. Even if it did, traffic will not pass without this patch as several fields which are verified by FW/HW on the Tx path are not properly set. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3befae1d6cd4c4e15f1ecb6fe3e2bab94675d37 Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Mon Aug 25 17:48:29 2014 +0300 bnx2x: ethtool -d might cause timeout in log This changes slightly the set of registers read during `ethtool -d'. Without this change, it's possible the HW will generate a grc Attention which will be logged into system logs as `grc timeout'. Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 453a940ea725d692282f9e66475cec0d1b1e12f2 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Aug 25 17:03:47 2014 -0700 net: make skb an optional parameter for__skb_flow_dissect() Fixes: commit 690e36e726d00d2 (net: Allow raw buffers to be passed into the flow dissector) Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6451b3f59ab39162d1fbb5a5d0c8f46c0d9e1231 Author: WANG Cong <xiyou.wangcong@xxxxxxxxx> Date: Mon Aug 25 17:03:46 2014 -0700 net: fix comments for __skb_flow_get_ports() Fixes: commit 690e36e726d00d2 (net: Allow raw buffers to be passed into the flow dissector) Cc: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Cong Wang <xiyou.wangcong@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 29a9e89548408028498bb63bcaabe2806232e26a Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Aug 18 09:29:47 2014 -0400 staging: unisys: fix indentation of uisutil_copy_fragsinfo_from_skb() The function uisutil_copy_fragsinfo_from_skb() in uisutils.c is messy and over-indented. This patch fixes the function's indentation so it is cleaner. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d283f0c62e331fc3516e6e25d1500de799712207 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Aug 18 09:29:46 2014 -0400 staging: unisys: fix spacing in uisthread.c Fix the missing blank line between code and declarations in uisthread.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 566a17405a4884ccec365fbbbb96b2c7b0c9fbb6 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Aug 18 09:29:45 2014 -0400 staging: unisys: remove void return from uislib_mod_exit() Remove the extraneous return from the uislib module exit function. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 81e4c97e667f465d6f250a7a9ce6af04c3e6bce0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Aug 18 09:29:44 2014 -0400 staging: unisys: simplify destroy_bus() in uislib.c The destroy_bus() function is heavily indented and many lines extend past the right margin. This patch simplifies the function without changing its effects. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddc9f84b2dac02cd4b6e73f508c2b39c089618ac Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Mon Aug 18 09:29:43 2014 -0400 staging: unisys: fix spacing in uislib.c Fix the line spacing between code and local variables in uislib.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c938cddc01d7e8a96e702183c822bf3e4452365 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Sun Aug 24 15:42:16 2014 +0200 ixgbe: support skb->xmit_more in netdev_ops->ndo_start_xmit() This implements the deferred tail pointer flush API for the ixgbe driver. Similar version also proposed longer time ago by Alexander Duyck. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0b725a2ca61bedc33a2a63d0451d528b268cf975 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 25 15:51:53 2014 -0700 net: Remove ndo_xmit_flush netdev operation, use signalling instead. As reported by Jesper Dangaard Brouer, for high packet rates the overhead of having another indirect call in the TX path is non-trivial. There is the indirect call itself, and then there is all of the reloading of the state to refetch the tail pointer value and then write the device register. Move to a more passive scheme, which requires very light modifications to the device drivers. The signal is a new skb->xmit_more value, if it is non-zero it means that more SKBs are pending to be transmitted on the same queue as the current SKB. And therefore, the driver may elide the tail pointer update. Right now skb->xmit_more is always zero. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 484048db6b4890bc433aac7f5e32fdcf1b2b4786 Merge: d5a0f2e bd645e4 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Aug 26 09:05:14 2014 +1000 Merge branch 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux into drm-next radeon userptr support. * 'drm-next-3.18' of git://people.freedesktop.org/~agd5f/linux: drm/radeon: allow userptr write access under certain conditions drm/radeon: add userptr flag to register MMU notifier v3 drm/radeon: add userptr flag to directly validate the BO to GTT drm/radeon: add userptr flag to limit it to anonymous memory v2 drm/radeon: add userptr support v8 Conflicts: drivers/gpu/drm/radeon/radeon_prime.c commit d5a0f2e7be20d29c5a23fdbc65c1f8307690413c Merge: c0ee755 2c0827c Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Aug 26 09:04:32 2014 +1000 Merge tag 'drm-intel-next-2014-08-08' of git://anongit.freedesktop.org/drm-intel into drm-next - Setting dp M2/N2 values plus state checker support (Vandana Kannan) - chv power well support (Ville) - DP training pattern 3 support for chv (Ville) - cleanup of the hsw/bdw ddi pll code, prep work for skl (Damien) - dsi video burst mode support (Shobhit) - piles of other chv fixes all over (Ville et. al.) - cleanup of the ddi translation tables setup code (Damien) - 180 deg rotation support (Ville & Sonika Jindal) * tag 'drm-intel-next-2014-08-08' of git://anongit.freedesktop.org/drm-intel: (59 commits) drm/i915: Update DRIVER_DATE to 20140808 drm/i915: No busy-loop wait_for in the ring init code drm/i915: Add sprite watermark programming for VLV and CHV drm/i915: Round-up clock and limit drain latency drm/i915: Generalize drain latency computation drm/i915: Free pending page flip events at .preclose() drm/i915: clean up PPGTT checking logic drm/i915: Polish the chv cmnlane resrt macros drm/i915: Hack to tie both common lanes together on chv drm/i915: Add cherryview_update_wm() drm/i915: Update DDL only for current CRTC drm/i915: Parametrize VLV_DDL registers drm/i915: Fill out the FWx watermark register defines drm: Resetting rotation property drm/i915: Add rotation property for sprites drm: Add rotation_property to mode_config drm/i915: Make intel_plane_restore() return an error drm/i915: Add 180 degree sprite rotation support drm/i915: Introduce a for_each_intel_encoder() macro drm/i915: Demote the DRRS messages to debug messages ... commit c0ee755fc57319a623e0d9ef839cf8fb26ce8d60 Merge: 52addcf 14f476f Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Tue Aug 26 09:04:03 2014 +1000 Merge tag 'topic/core-stuff-2014-08-15' of git://anongit.freedesktop.org/drm-intel into drm-next So small drm stuff all over for 3.18. Biggest one is the cmdline parsing from Chris with a few fixes from me to make it work for stupid kernel configs. Plus the atomic prep series. Tested for more than a week in -nightly and Ville/Imre indeed discovered some fun which is now fixed (and i915 vblank patches postponed since the fixups need this branch plus drm-intel-next merged together). * tag 'topic/core-stuff-2014-08-15' of git://anongit.freedesktop.org/drm-intel: drm: Use the type of the array element when reallocating drm: Don't return 0 for a value used as a denominator drm: Docbook fixes drm/irq: Implement a generic vblank_wait function drm: Add a plane->reset hook drm: trylock modest locking for fbdev panics drm: Move ->old_fb from crtc to plane drm: Handle legacy per-crtc locking with full acquire ctx drm: Move modeset_lock_all helpers to drm_modeset_lock.[hc] drm: Add drm_plane/connector_index drm: idiot-proof vblank drm: Warn when leaking flip events on close drm: Perform cmdline mode parsing during connector initialisation video/fbdev: Always built-in video= cmdline parsing drm: Don't grab an fb reference for the idr commit 44a52ffd6402a19544fb9dee081730d36d413202 Merge: a77e4ac c993189 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Mon Aug 25 15:42:25 2014 -0700 Merge branch 'is_kdump_kernel' Amir Vadai says: ==================== Make is_kdump_kernel() accessible from modules I'm re-spinning this patchset. At the begining it was suggested to use a different name for the parameter, but at the end [3] the resolution was to leave it as it is in this patch. Drivers need to know if running from kdump kernel in order to change their memory profile - since kdump environment is limited by available memory. Currently there are drivers that are using reset_devices as suggested in [2]. In [2] it was suggested to use reset_devices, but the context was, to enable driver to know when the hardware device is needed to be reset, and not if this is a kdump environment. We think that is_kdump_kernel() is better suited to select between different memory profiles. The first patch in this patchset exports a needed symbol in order to make is_kdump_kernel() accessible from the drivers. The rest of the patches change from reset_devices to is_kdump_kernel() in 2 networking drivers. The idea of this patchset was suggested by Vivek Goyal. Tested (only build) and applied on top of commit 8fc54f6: ("net: use reciprocal_scale() helper") [1] - ea1c1af: ("net/mlx4_en: Reduce memory consumption on kdump kernel") [2] - https://lkml.org/lkml/2011/1/27/341 [3] - http://www.spinics.net/lists/netdev/msg291492.html ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c993189601fa89842eee96814e3ab2277fae3076 Author: Amir Vadai <amirv@xxxxxxxxxxxx> Date: Mon Aug 25 16:06:54 2014 +0300 net/bnx2x: Use is_kdump_kernel() to detect kdump kernel Use is_kdump_kernel() to detect kdump kernel, instead of reset_devices. CC: Ariel Elior <ariel.elior@xxxxxxxxxx> CC: Michal Schmidt <mschmidt@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48ea526a6877d605c961aa37fae33f3227b29424 Author: Amir Vadai <amirv@xxxxxxxxxxxx> Date: Mon Aug 25 16:06:53 2014 +0300 net/mlx4: Use is_kdump_kernel() to detect kdump kernel Use is_kdump_kernel() to detect kdump kernel, instead of reset_devices. Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b3292e88e33677a90c18236fd895ace2d80efa3c Author: Amir Vadai <amirv@xxxxxxxxxxxx> Date: Mon Aug 25 16:06:52 2014 +0300 crash_dump: Make is_kdump_kernel() accessible from modules In order to make is_kdump_kernel() accessible from modules, need to make elfcorehdr_addr exported. This was rejected in the past [1] because reset_devices was prefered in that context (reseting the device in kdump kernel), but now there are some network drivers that need to reduce memory usage when loaded from a kdump kernel. And in that context, is_kdump_kernel() suits better. [1] - https://lkml.org/lkml/2011/1/27/341 CC: Vivek Goyal <vgoyal@xxxxxxxxxx> Signed-off-by: Amir Vadai <amirv@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a77e4accce126d50d02705c687dd0b5025b63f89 Author: Pavel Machek <pavel@xxxxxx> Date: Mon Aug 25 13:31:16 2014 +0200 stmmac: simple cleanups This adds simple cleanups for stmmac, removing test we know is always true, fixing whitespace, and moving code out of if(). Signed-off-by: Pavel Machek <pavel@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d83d2c26461d661384676a4eed935d925b0fcc34 Author: Marcin Niesluchowski <m.niesluchow@xxxxxxxxxxx> Date: Tue Aug 19 14:26:32 2014 +0200 Smack: Fix setting label on successful file open While opening with CAP_MAC_OVERRIDE file label is not set. Other calls may access it after CAP_MAC_OVERRIDE is dropped from process. Signed-off-by: Marcin Niesluchowski <m.niesluchow@xxxxxxxxxxx> commit 7bb75da1717296f5850e1a9a36896a52fd07a26a Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 15 21:53:24 2014 +0530 orinoco_usb: use USB API functions rather than constants This patch introduces the use of the functions usb_endpoint_is_bulk_in(epd) and usb_endpoint_is_bulk_out(epd). The semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_BULK\|2\)) + usb_endpoint_xfer_bulk(epd) @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_OUT\|0\)) + usb_endpoint_dir_out(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_in(epd)) + usb_endpoint_is_bulk_in(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_out(epd)) + usb_endpoint_is_bulk_out(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b9395df96ac41cdfcc929f1515828709b2f64b2f Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 22:40:24 2014 +0530 atmel_cs: Remove typedef local_info_t The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for local_info_t. Also, the name of the struct is changed to drop the _t, to make the name look less typedef-like. The following Coccinelle semantic patch detects the case: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a796dac9a6bedff6db99f57828c85c97071d3d1e Author: Tomasz Bursztyka <tomasz.bursztyka@xxxxxxxxxxxxxxx> Date: Wed Aug 13 16:04:51 2014 +0300 wireless: core: Reorder wiphy_register() notifications relevantly Currently it can send regulatory domain change notification before any NEW_WIPHY notification. Moreover, if rfill_register() fails, calling wiphy_unregister() will send a DEL_WIPHY though no NEW_WIPHY had been sent previously. Thus reordering so it properly notifies NEW_WIPHY before any other. Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@xxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit f0bd88dfd7e5d53bce84a9d077c949774f27a25a Author: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 20:52:56 2014 +0200 net: wireless: ipw2x00: ipw2200.c: Cleaning up missing null-terminate in conjunction with strncpy Replacing strncpy with strlcpy to avoid strings that lacks null terminate. Signed-off-by: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 372e3a846814656d5e514167484f684f828fff56 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Thu Aug 7 16:32:45 2014 +0530 wireless: wlcore: Use devm_kzalloc This patch introduces the use of devm_kzalloc and does away with the kfrees in the probe and remove functions. Also, a couple of labels and the initial assignment of the ret variable in the probe function are removed. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 560ce3087292603dafb2603ee12cab0ff6c20aee Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:32:01 2014 +0300 wil6210: fix access after free in wil_pcie_remove() 'wil' released in wil_if_free(); save iomapped address aside to properly unmap it. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 48e81a15fa40dce4553ae3156e170a2be9562fa9 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:32:00 2014 +0300 wil6210: cfg80211_rx_mgmt to use GFP_ATOMIC Internally, cfg80211_rx_mgmt() takes lock: spin_lock_bh(&wdev->mgmt_registrations_lock); and therefore one can't use it with GFP_KERNEL allocation flags. When called with GFP_KERNEL, "sleep while atomic" warning triggered: <3>[242645.446224] BUG: sleeping function called from invalid context at kernel/mm/slub.c:926 <3>[242645.455516] in_atomic(): 1, irqs_disabled(): 0, pid: 18881, name: kworker/u16:0 <6>[242645.462868] CPU: 0 PID: 18881 Comm: kworker/u16:0 Tainted: G O 3.10.40-g619a884-00001-g357fa9c #2 <6>[242645.463044] Workqueue: wil6210_wmi wmi_event_worker [wil6210] <6>[242645.463087] Call trace: <6>[242645.463157] [<ffffffc000087390>] dump_backtrace+0x0/0x144 <6>[242645.463205] [<ffffffc0000874e4>] show_stack+0x10/0x1c <6>[242645.463259] [<ffffffc0009abc04>] dump_stack+0x1c/0x28 <6>[242645.463313] [<ffffffc0000c10c0>] __might_sleep+0xe0/0xf0 <6>[242645.463365] [<ffffffc00015a514>] kmem_cache_alloc+0x48/0x1e4 <6>[242645.463414] [<ffffffc00080d468>] __alloc_skb+0x48/0x164 <6>[242645.463466] [<ffffffc00097f2c4>] nl80211_send_mgmt+0x4c/0x1dc <6>[242645.463511] [<ffffffc000980268>] cfg80211_rx_mgmt+0x1bc/0x25c <6>[242645.463647] [<ffffffbffc005d64>] wmi_evt_rx_mgmt+0x21c/0x23c [wil6210] <6>[242645.463783] [<ffffffbffc0073b8>] wmi_event_worker+0x230/0x2f8 [wil6210] <6>[242645.463838] [<ffffffc0000afffc>] process_one_work+0x258/0x3d0 <6>[242645.463887] [<ffffffc0000b0fe0>] worker_thread+0x1f0/0x310 <6>[242645.463946] [<ffffffc0000b642c>] kthread+0xac/0xb8 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8fcfdeac97ee3ee8dd8e0e44b6a3b9d49b951bbd Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:59 2014 +0300 wil6210: fix free'd memory access in wil_if_free() In the wil_priv_deinit(), wdev->netdev is accessed, so free_netdev() should not be called before mentioned call. Set wdev->netdev to NULL Make sure no more attempts to use it. It is used for debug printk if not NULL. This fix kernel panic on module unload and in case error on probe; if memory allocation debugging enabled. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 1eb9d1e5c659a9f2ae08a3d36d1c64d11368b58a Author: Dedy Lansky <qca_dlansky@xxxxxxxxxxxx> Date: Wed Aug 6 10:31:58 2014 +0300 wil6210: Limit max number of associated stations Add a module parameter to support setting the maximum number of stations that can be associated to an AP. Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a21420864a28f2cf24afdc555da7b6d7c100e9d8 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:57 2014 +0300 wil6210: fix false "scan timeout" When sending scan request, if hardware is not ready, scan timer was started and scan timeout mis-reported. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 36345ac33ca8d381c215091c5535e62335668f01 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:56 2014 +0300 wil6210: fix beamforming data reporting When reading 'bf' file on debugfs, query beam forming status from firmware. Ignore CID's that return error or return all zeros. Remove obsolete code that used to maintain statistics on per-device basis, as now it is reported be per-CID and current. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b7cde47009640b88cb3629ee7078a43bc2642459 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:55 2014 +0300 wil6210: convert debugfs to the table mode Define tables for similar file entries, i.e. - table for debugfs_create_file - table for static parameters - table for parameters that are members of "wil" structure - table for blobs - table for interrupt controllers Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6afd60055d8dd1f28bf6e9556ebc9996cceebaa8 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:54 2014 +0300 wil6210: Workaround for Sparrow with bad device id If firmware broken on the boot time, Sparrow card enumerates as device 0x302 instead of 0x310. Allow using this ID Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 520d68e7cf6c72687698c4584e8f1f8fab4dfc4e Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:53 2014 +0300 wil6210: wait longer for hardware reset completion Typical time for hardware reset, as measured, is about 200..250 msec. Adjust sleeping to use more relaxed msleep, increase sleep interval and increase total sleep time to be about 1sec Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit bbb2adc7b47cbe841d3cb2fa048f720647f5f4cd Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:52 2014 +0300 wil6210: check error in wil_target_reset() When resetting target in wil_target_reset(), error may occur. Indicate error via error code. In case of error, don't attempt to further interact with card, specifically don't attempt firmware download or interrupts enabling. Move wil_rx_fini() to be always executed to prevent memory leak. Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 02525a7925c9a3c55ceef7e9a30218dc47ced1ad Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:51 2014 +0300 wil6210: update copyright year 2014 Fix Copyright headers in all files changed in 2014, to mention 2014 Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit cc9e4a2b667c79d531a79c5eede27d11c1394326 Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:50 2014 +0300 wil6210: fix race in reset It is important to halt USER CPU first, then MAC CPU Otherwise, race happens in the firmware Signed-off-by: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 91b775edf7ad54f849895e021677f7d9c15a9f5d Author: Vladimir Kondratiev <qca_vkondrat@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:31:49 2014 +0300 wil6210: map MAC timer for packet lifetime into debugfs expose reading RGF_MAC_MTRL_COUNTER_0 in debugfs Signed-off-by: Dedy Lansky <qca_dlansky@xxxxxxxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit e2261afd4caaf1a6473eddbcbd8a5c5eb593316e Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Tue Aug 5 21:42:55 2014 -0700 mwifiex: fix decimal printf format specifiers prefixed with 0x The prefix suggests the number should be printed in hex, so use the %x specifier to do that. Found by using regex suggested by Joe Perches. Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Acked-by: Avinash Patil <patila@xxxxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 26c0604628f85d435a664f52fd2ca30aab812266 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Aug 2 20:22:46 2014 +0530 cw1200: Introduce the use of devm_kzalloc This patch introduces the use of devm_kzalloc and does away with the kfrees in the probe and remove functions. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6040aa70c30276e6cd2aacd1f428c3f05462a7f1 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Aug 2 16:51:30 2014 +0530 net: wireless: wl1251: Remove unnecessary free_irq This patch does away with free_irq in the remove function as the irq is allocated with a devm_request_irq. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 8615eb2870f1a89ad551d80ef821172015af7c28 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:48 2014 +0200 b43: N-PHY: support setting custom TX power Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit ec76643b0057e13c4cc6ed4b55af6389fcbb5e64 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:47 2014 +0200 b43: implement PPR (Power Per Rate) management/API Broadcom hardware supports auto-adjustment of TX power depending on the currently used rate. So far all calculations were handled without any helpers (API) using big arrays and magic offsets. It seems Broadcom recently decided to clean this up by developing PPR. Their wlc_ppr.h can be found in open parts of the SDK. As we plan to implement support for rate-based TX power it makes sense to also implement our version of PPR as well. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit a68c356bcf1e76ae649e929db5e4cea9e6bdcd65 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:46 2014 +0200 b43: N-PHY: add RF power tables for radio 0x2057 revs 9 & 14 Don't write them as we don't have gains configured correctly yet. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 33df85f662a0ee03f2b8e0c9d34a51d8dd0406c0 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:45 2014 +0200 b43: N-PHY: update rev3+ gain control workarounds This fixes workarounds on rev 6+ and cleans code slightly. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 25c15566635fef86e87f762f73a19f24598e45fa Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Aug 7 07:45:37 2014 +0200 b43: flush some writes on Broadcom MIPS SoCs Access to PHY and radio registers is indirect on Broadcom hardware and it seems that addressing on some MIPS SoCs may require flushing. So far this problem was noticed on 0x4716 SoC only (marketing names: BCM4717, BCM4718). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit d342b95dd735014a590f9051b1ba227eb54ca8f6 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:43 2014 +0200 b43: don't duplicate common PHY read/write ops Most of the PHYs use the same way of accessing registers, so move that code to the shared place. An exception is G-PHY which sometimes access A-PHY regs and requires special handling. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit 6247d2aa5188ac0ace33d8390341075c04107218 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Jul 31 21:59:42 2014 +0200 b43: update flushing many writes performed in a row Flush radio writes as well and add some tiny optimizations (e.g. masksetting PHY reg involves reading it, so reset the counter). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: John W. Linville <linville@xxxxxxxxxxxxx> commit b209af9981ee6b4274a0a46810dd0210e6520010 Author: hayeswang <hayeswang@xxxxxxxxxxx> Date: Mon Aug 25 15:53:00 2014 +0800 r8152: check code with checkpatch.pl 626: CHECK: Alignment should match open parenthesis 646: CHECK: Alignment should match open parenthesis 655: CHECK: Alignment should match open parenthesis 695: CHECK: Alignment should match open parenthesis 729: CHECK: Alignment should match open parenthesis 739: CHECK: Alignment should match open parenthesis 976: WARNING: externs should be avoided in .c files 1314: CHECK: Alignment should match open parenthesis 1358: WARNING: networking block comments don't use an empty /* line, use /* Comment... 1402: WARNING: networking block comments don't use an empty /* line, use /* Comment... 1521: CHECK: multiple assignments should be avoided 1775: CHECK: Alignment should match open parenthesis 1838: CHECK: multiple assignments should be avoided 1843: CHECK: multiple assignments should be avoided 1847: CHECK: multiple assignments should be avoided 1850: WARNING: Missing a blank line after declarations 1864: CHECK: Alignment should match open parenthesis 1872: CHECK: braces {} should be used on all arms of this statement 1906: CHECK: usleep_range is preferred over udelay 2865: WARNING: networking block comments don't use an empty /* line, use /* Comment... 3088: CHECK: Alignment should match open parenthesis total: 0 errors, 5 warnings, 16 checks, 3567 lines checked Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 07bc788424b9a2ee6cc20b70311c0950897ee0eb Merge: 47e4df9 13cac15 Author: John W. Linville <linville@xxxxxxxxxxxxx> Date: Mon Aug 25 15:58:02 2014 -0400 Merge branch 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next commit 39bdc95871b57828b3bbefc0280a1a80a6b63d9e Merge: ed7f92d ff9e762 Author: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Date: Mon Aug 25 11:09:35 2014 -0700 Merge tag 'iio-for-3.18a' of git://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio into work-next Jonathan writes: 1st round of new IIO drivers, functionality and cleanups for the 3.18 cycle. Maintainer Updates * Add 3 designated reviewers for IIO. Lars, Peter and Hartmut have been actively reviewing a lot of patches for a while now so this reflects the status quo. These three are probably the only reason I keep my head above the water! New drivers and device support * max5821 DAC * Rockchip SARADC * TI ADC128S052 ADC * BMC150 Accelerometer * exynos ADC driver gains support for s3c24xx and s3c64xx parts. * kxcjk-1013 gainst range control and runtime PM support to drive down it's power usage. Driver removals * Drop ad5930, ad99850, ad9852, ad9910 and ad9951 drivers on the simple basis that they drivers just provided a register write function with no compliant user space ABI whatsoever. Much better to drop them and start again for these in the fullness of time. Core Enhancements * Join together neighbouring elements in the demux units that feeds the binary interfaces. This cuts down on the number of individual copies needed when splitting out individual channels from the incoming channel scans. * Other demux related cleanups such as using roundup instead of a local implementation. Cleanups * Drop an unnecessary double setting of the owner field in xilinx adc. * Some more patches to use managed (devm) interfaces to cut down on complexity of removal code. * adis16060 coding style fixlets. * Fix some incorrect error returns in the Xilinx ADC driver. * Coding style fixlets for various accelerometer drivers. * Some sparse warning fixes to do with endianness and sign of variables. * Fix an incorrect and entirely pointless use of sizeof on a dynamic pointer in hid-sensor-magn-3d by dropping the relevant code. commit 251f8c0364f99fc21fcc7b07e4ec6b4f3250d841 Author: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Date: Mon Aug 25 19:27:52 2014 +0800 cgroup: fix a typo in comment. There is no function named cgroup_enable_task_cg_links(). Instead, the correct function name in this comment should be cgroup_enabled_task_cg_lists(). Signed-off-by: Dongsheng Yang <yangds.fnst@xxxxxxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit f55df0d654e10ad49e0e7edaeef02fa00e084d94 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:54:25 2014 +0200 ARM: at91: Remove rstc and shdwc headers These headers used to provide an "API" to access the rstc and shdwc registers. Now that no-one uses this API anymore, we can safely remove those. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 351a4ffea259a11deebe0eb169c46ccbfc3abd36 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:46:31 2014 +0200 ARM: at91: Remove rstc and shdwnc global base addresses Now that there's no user left for the global variables holding the reset and shutdown controllers base address, we can remove these variables and their associated mapping function. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 572e85e3aa58f11671759e9cfa6b9b5d79b131fd Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:46:05 2014 +0200 ARM: at91/pm: Remove show_reset_status function Both the reset and poweroff drivers are now implementing what the show_reset_status function used to do. Hence, we can remove this rather hackish function that prevents us from doing further cleanup. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4ae9ccf2fab87aaf9e0e906ba85675be020f6948 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 15:41:56 2014 +0200 ARM: at91: Remove poweroff code Now that all the SoC have been converted to use the new poweroff driver, we can remove the poweroff code defined in mach-at91. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 75ddf376d1aeac04688efc5c806f8a4baa995474 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:39:43 2014 +0200 ARM: at91: Register the poweroff driver Register the poweroff driver in the old-style SoC definition so that the driver is loaded and provide a shutdown hook. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 5c0593db802c8a9da15216615e466fd4e729df6f Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Mon Jul 7 16:25:26 2014 +0200 ARM: at91: Remove poweroff DT probing Now that the poweroff code is a driver of its own, remove the DT probing in mach-at91 and let the usual DT code do its job. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 54ad89b05ec49b90790de814647b244d3d2cc5ca Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Aug 25 16:08:21 2014 +0200 kvm: x86: fix tracing for 32-bit Fix commit 7b46268d29543e313e731606d845e65c17f232e4, which mistakenly included the new tracepoint under #ifdef CONFIG_X86_64. Reported-by: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 99d63fa1c8fe8853540116a6deaedc1ba1fc0468 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 12:00:52 2014 +0200 ARM: at91: Remove reset code from the machine code Now that the transition is over and that we probe our reset driver in every case, we can remove the legacy code from the machine directory. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e76265c627ca0aff6cc129486ac656b6b6dd06af Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 11:55:33 2014 +0200 ARM: at91: Call at91_register_devices in the board files Make every board call the register_devices callback so that the devices declared by the SoC are registered. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit d8dfa2d4e912c091c51c864af1e4b02b3bd6e9a2 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 11:10:10 2014 +0200 ARM: at91: Probe the reset driver Register the reset device in the right SoCs so that the reset driver is actually probed even in the old-style probing case. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 65f2ce96a94d2a61fca486a48d9da30845b16d20 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 2 17:49:28 2014 +0200 ARM: at91/soc: Introduce register_devices callback Some core devices should be registered by the SoC itself rather than by every board using this SoC. Introduce a register_devices callback that should be called during the init_machine in order to do that. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 4b0a683cf16eac06385c96c2fcf21766818f757c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 2 17:47:50 2014 +0200 ARM: at91: Remove the old-style reset probing Now that the reset code is a driver of its own, just let the usual DT probing mecanism do its job, and remove the code entirely in this case. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 8d248f0d3a1ddb3c671b4029f8950fbad09be7ae Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 15:58:49 2014 +0200 ARM: at91: Rework ramc mapping code Adapt the ramc mapping code to handle multiple ram controllers in the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 57f2d8b797c4c8d9e65e3b9fae98246be5a93df3 Author: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx> Date: Mon Aug 25 19:04:52 2014 +0530 ALSA: ctxfi: ctpcm.c: printk replacement replaced printk with corresponding pr_err Signed-off-by: Sudip Mukherjee <sudip@xxxxxxxxxxxxxxx> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 9e8be232b934418932e40da276f6871dce83fa7c Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 2 12:04:43 2014 +0200 ARM: at91: setup: Switch to pr_fmt Most of the printed messages are using the "AT91:" prefix in the setup.c file, but not all of them. Moreover, those who add it hardcode it directly in the message, while the pr_fmt macro makes it easier for us to support such a case. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 137fd45ffec15db14034990ceac890975cae7a32 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Wed May 28 18:50:13 2014 +0800 pwm: imx: Avoid sample FIFO overflow for i.MX PWM version2 The i.MX PWM version2 is embedded in several i.MX SoCs, such as i.MX27, i.MX51 and i.MX6SL. There is a 4-word (16 bit) sample FIFO in this IP. Each FIFO slot determines the duty period of a PWM waveform in one full cycle. The IP spec mentions that we should not write a fourth sample because the FIFO will become full and triggers a FIFO write error (FWE) which will prevent the PWM from starting once it is enabled. In order to avoid any sample FIFO overflow issue, this patch clears all sample FIFO by doing software reset in the configuration hook when the controller is disabled or waits for a full PWM cycle to get a relinquished FIFO slot when the controller is enabled and the FIFO is fully loaded. The FIFO overflow issue can be reproduced by the following commands on the i.MX6SL EVK platform, assuming we use PWM2 for the debug LED which is driven by the pin HSIC_STROBE and the maximal brightness is 255. echo 0 > /sys/class/leds/user/brightness echo 0 > /sys/class/leds/user/brightness echo 0 > /sys/class/leds/user/brightness echo 0 > /sys/class/leds/user/brightness echo 255 > /sys/class/leds/user/brightness Here, FWE happens (PWMSR register reads 0x58) and the LED can not be lighten. Another way to reproduce the FIFO overflow issue is to run this script: while true; do echo 255 > /sys/class/leds/user/brightness; done Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Cc: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Cc: linux-pwm@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 40f260c2cebb464dda6916055112963f1421a111 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Wed May 28 18:50:12 2014 +0800 pwm: imx: Cleanup indentation for register definitions This patch contains no logic change to cleanup indentation for register definitions only. Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Cc: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Cc: linux-pwm@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit bd59bdc898623e6c948a9f900250ce7343cf9012 Author: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Date: Wed May 28 18:50:11 2014 +0800 pwm: imx: Fix the macro MX3_PWMCR_PRESCALER(x) definition This patch adds missing parentheses around the argument of the macro MX3_PWMCR_PRESCALER(x) to avoid any potential macro expansion issue. Reported-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Cc: Thierry Reding <thierry.reding@xxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Cc: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Cc: linux-pwm@xxxxxxxxxxxxxxx Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Signed-off-by: Liu Ying <Ying.Liu@xxxxxxxxxxxxx> Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 7cd4b90a737e2e6f41be4ac8b1df847fec67f3da Merge: 7b46268 ab3f285 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Aug 25 15:37:00 2014 +0200 Merge tag 'kvm-s390-20140825' of git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD Here are two fixes for s390 KVM code that prevent: 1. a malicious user to trigger a kernel BUG 2. a malicious user to change the storage key of read-only pages commit e657ce689a85ff1c887b8020282e5b2ab1411ded Merge: 3933361 ae499f0 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Aug 25 15:35:26 2014 +0200 Merge tag 'at91-drivers-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux Pull AT91 reset, poweroff and ram drivers from Maxime Ripard: "This tag holds the various new drivers introduced to move code that used to be in mach-at91 over to the proper frameworks. These files are the reboot and poweroff code for all AT91 SoCs but the RM9200, and the ram controller driver is not doing much at the time, except for grabing the RAM clock in order to leave it always enabled." Conflicts: arch/arm/mach-at91/Kconfig commit 39333610ba3b1e076ac1ceccca34de037a413a03 Merge: 7d1311b 2626063 464d6e1 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Mon Aug 25 15:33:23 2014 +0200 Merge branches 'at91-3.18-cleanup' and 'at91-3.18-dt' into at91-3.18-drivers commit 533acc0e8df7d6553f11cf91c177211cb6037968 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 18 17:08:44 2014 +0800 pwm: Fix possible ZERO_SIZE_PTR pointer dereferencing error. Since we cannot make sure the 'chip->npwm' will always be none zero here, and then if either equal to zero, the kzalloc() will return ZERO_SIZE_PTR, which equals to ((void *)16). So this patch fix this with just doing the zero check before calling kzalloc(). Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 6e0a0431bf7d90ed0b8a0a974ad219617a70cc22 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Tue Apr 29 09:34:41 2014 +0200 KVM: s390/mm: cleanup gmap function arguments, variable names Make the order of arguments for the gmap calls more consistent, if the gmap pointer is passed it is always the first argument. In addition distinguish between guest address and user address by naming the variables gaddr for a guest address and vmaddr for a user address. Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 9da4e3807657f3bcd12cfbb5671d80794303dde2 Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 30 14:46:26 2014 +0200 KVM: s390/mm: readd address parameter to gmap_do_ipte_notify Revert git commit c3a23b9874c1 ("remove unnecessary parameter from gmap_do_ipte_notify"). Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 55dbbdd9a832b3c0546a65df155d9e6eee8c312e Author: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Date: Wed Apr 30 14:44:44 2014 +0200 KVM: s390/mm: readd address parameter to pgste_ipte_notify Revert git commit 1b7fd6952063 ("remove unecessary parameter from pgste_ipte_notify") Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 331cbc277ec4ae5827b9ca538d9b5469fdca0947 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 15:39:43 2014 +0200 KVM: s390: don't use kvm lock in interrupt injection code The kvm lock protects us against vcpus going away, but they only go away when the virtual machine is shut down. We don't need this mutex here, so let's get rid of it. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 7939503147f89f0799ddc89afec2aeae57dd7e2c Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Thu Apr 17 10:10:30 2014 +0200 KVM: s390: return -EFAULT if lowcore is not mapped during irq delivery Currently we just kill the userspace process and exit the thread immediatly without making sure that we don't hold any locks etc. Improve this by making KVM_RUN return -EFAULT if the lowcore is not mapped during interrupt delivery. To achieve this we need to pass the return code of guest memory access routines used in interrupt delivery all the way back to the KVM_RUN ioctl. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Reviewed-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit d3d692c82e4ed79ae7c85f8825ccfdb7d11819da Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 29 08:53:36 2014 +0200 KVM: s390: implement KVM_REQ_TLB_FLUSH and make use of it Use the KVM_REQ_TLB_FLUSH request in order to trigger tlb flushes instead of manipulating the SIE control block whenever we need it. Also trigger it for a control register sync directly instead of (ab)using kvm_s390_set_prefix(). Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit b028ee3edd54d338dd811aeafd670a2c682be558 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 17 10:47:43 2014 +0200 KVM: s390: synchronize more registers with kvm_run In order to reduce the number of syscalls when dropping to user space, this patch enables the synchronization of the following "registers" with kvm_run: - ARCH0: CPU timer, clock comparator, TOD programmable register, guest breaking-event register, program parameter - PFAULT: pfault parameters (token, select, compare) The registers are grouped to reduce the overhead when syncing. As this grows the number of sync registers quite a bit, let's move the code synchronizing registers with kvm_run from kvm_arch_vcpu_ioctl_run() into separate helper routines. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Reviewed-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit c3950b66b9ceff1614db870d2d5a9bd47531a712 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Mon Aug 4 16:54:22 2014 +0200 KVM: s390: no special machine check delivery The load PSW handler does not have to inject pending machine checks. This can wait until the CPU runs the generic interrupt injection code. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> commit fbfa304963fa8bf990dac1d05a77800d1e123b66 Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 29 08:22:33 2014 +0200 KVM: s390: clear kvm_dirty_regs when dropping to user space We should make sure that all kvm_dirty_regs bits are cleared before dropping to user space. Until now, some would remain pending. Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit d8482c0d87708114a10e232768723626bf1099ba Author: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 29 08:19:26 2014 +0200 KVM: clarify the idea of kvm_dirty_regs This patch clarifies that kvm_dirty_regs are just a hint to the kernel and that the kernel might just ignore some flags and sync the values (like done for acrs and gprs now). Signed-off-by: David Hildenbrand <dahi@xxxxxxxxxxxxxxxxxx> Reviewed-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 8a2ef71b0bd0060c7095fd2043992b78e23735c4 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 23 16:36:06 2014 +0200 KVM: s390: factor out get_ilc() function Let's make this a reusable function. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 44c6ca3d1b9c16cb715c21ec15670d27a8950822 Author: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Date: Wed Apr 16 13:57:18 2014 +0200 KVM: s390: add defines for pfault init delivery code Get rid of open coded values for pfault init. Signed-off-by: Jens Freimann <jfrei@xxxxxxxxxxxxxxxxxx> Acked-by: Cornelia Huck <cornelia.huck@xxxxxxxxxx> Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> commit 84693d87a6d7e84a5183fc871653269880614d92 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:41:38 2014 +0200 crypto: drbg - remove unnecessary sanity check for shadow state During creation of the DRBG shadow state, it is ensured that the DRBG state structure is already allocated. Thus, a sanity check for verifying that the structure is allocated is removed. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 05c81ccd9087d238c10b234eadb55632742e5518 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:41:10 2014 +0200 crypto: drbg - remove configuration of fixed values SP800-90A mandates several hard-coded values. The old drbg_cores allows the setting of these values per DRBG implementation. However, due to the hard requirement of SP800-90A, these values are now returned globally for each DRBG. The ability to set such values per DRBG is therefore removed. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bc034ef5573ef4d81daa666c02a3df1ad28e24a7 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:40:20 2014 +0200 crypto: drbg - remove unnecessary sanity checks The drbg_make_shadow function contains sanity checks which are not needed as the function is invoked at times where it is ensured that the checked-for variables are available. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e6c0244ad38a358598392638688b1dcac7878f66 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:39:31 2014 +0200 crypto: drbg - use kmalloc instead of kzalloc for V and C When allocating V, C, the zeroization is only needed when allocating a new instance of the DRBG, i.e. when performing an initial seeding. For all other allocations, the memcpy implemented in drbg_copy_drbg ensures that the memory is filled with the correct information. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit f072f0e0fe0f3758c7c94bee875564c89fd07d08 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:38:58 2014 +0200 crypto: drbg - remove superflowous memset(0) Remove memset(0) which is not needed due to the kzalloc of the memory. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 45943a58df46b912685af26000e4dbacddd9c567 Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:38:29 2014 +0200 crypto: drbg - remove superflowous checks The crypto_init and crypto_fini functions are always implemented. Thus, there is no need for a protecting check. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 46f64f6ef978dc1f36ebaa50ed79c7c8386711ee Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:37:59 2014 +0200 crypto: drbg - kzfree does not need a check for NULL pointer The kzfree function already performs the NULL pointer check. Therefore, the DRBG code does not need to implement such check. Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 72f3e00dd67ec449199a8844bc012a4fa1e0340a Author: Stephan Mueller <smueller@xxxxxxxxxx> Date: Sun Aug 17 17:37:34 2014 +0200 crypto: drbg - replace int2byte with cpu_to_be The DRBG requires the conversion of an integer into a string representation of that integer. The previous implementation converted the given integer byte-wise. However, the kernel offers the cpu_to_be function which already re-arranges the memory representation of an integer such that it applies when interpreting the same memory as character string. The change therefore uses an integer-cast / union of the target character array together with the cpu_to_be function to convert an integer into its string representation. Tests show that the Hash and CTR DRBG implementations (the HMAC DRBG does not require such conversion) is about 10% faster (or requires less computing power, respectively). Signed-off-by: Stephan Mueller <smueller@xxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 4451d494b1910bf7b7f8381a637d0fe6d2142467 Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Thu Aug 14 13:51:57 2014 +0300 crypto: caam - fix addressing of struct member buf_0 and buf_1 in caam_hash_state are not next to each other. Accessing buf_1 is incorrect from &buf_0 with an offset of only size_of(buf_0). The same issue is also with buflen_0 and buflen_1 Cc: <stable@xxxxxxxxxxxxxxx> # 3.13+ Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 307fd543f3d23f8f56850eca1b27b1be2fe71017 Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Thu Aug 14 13:51:56 2014 +0300 crypto: caam - remove duplicated sg copy functions Replace equivalent (and partially incorrect) scatter-gather functions with ones from crypto-API. The replacement is motivated by page-faults in sg_copy_part triggered by successive calls to crypto_hash_update. The following fault appears after calling crypto_ahash_update twice, first with 13 and then with 285 bytes: Unable to handle kernel paging request for data at address 0x00000008 Faulting instruction address: 0xf9bf9a8c Oops: Kernel access of bad area, sig: 11 [#1] SMP NR_CPUS=8 CoreNet Generic Modules linked in: tcrypt(+) caamhash caam_jr caam tls CPU: 6 PID: 1497 Comm: cryptomgr_test Not tainted 3.12.19-rt30-QorIQ-SDK-V1.6+g9fda9f2 #75 task: e9308530 ti: e700e000 task.ti: e700e000 NIP: f9bf9a8c LR: f9bfcf28 CTR: c0019ea0 REGS: e700fb80 TRAP: 0300 Not tainted (3.12.19-rt30-QorIQ-SDK-V1.6+g9fda9f2) MSR: 00029002 <CE,EE,ME> CR: 44f92024 XER: 20000000 DEAR: 00000008, ESR: 00000000 GPR00: f9bfcf28 e700fc30 e9308530 e70b1e55 00000000 ffffffdd e70b1e54 0bebf888 GPR08: 902c7ef5 c0e771e2 00000002 00000888 c0019ea0 00000000 00000000 c07a4154 GPR16: c08d0000 e91a8f9c 00000001 e98fb400 00000100 e9c83028 e70b1e08 e70b1d48 GPR24: e992ce10 e70b1dc8 f9bfe4f4 e70b1e55 ffffffdd e70b1ce0 00000000 00000000 NIP [f9bf9a8c] sg_copy+0x1c/0x100 [caamhash] LR [f9bfcf28] ahash_update_no_ctx+0x628/0x660 [caamhash] Call Trace: [e700fc30] [f9bf9c50] sg_copy_part+0xe0/0x160 [caamhash] (unreliable) [e700fc50] [f9bfcf28] ahash_update_no_ctx+0x628/0x660 [caamhash] [e700fcb0] [f954e19c] crypto_tls_genicv+0x13c/0x300 [tls] [e700fd10] [f954e65c] crypto_tls_encrypt+0x5c/0x260 [tls] [e700fd40] [c02250ec] __test_aead.constprop.9+0x2bc/0xb70 [e700fe40] [c02259f0] alg_test_aead+0x50/0xc0 [e700fe60] [c02241e4] alg_test+0x114/0x2e0 [e700fee0] [c022276c] cryptomgr_test+0x4c/0x60 [e700fef0] [c004f658] kthread+0x98/0xa0 [e700ff40] [c000fd04] ret_from_kernel_thread+0x5c/0x64 Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 65fafbe9bddf49d53a2bbae92498909e3c5f964b Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Thu Aug 14 09:00:44 2014 +0800 crypto: qat - Fix return value check in adf_chr_drv_create() In case of error, the function device_create() returns ERR_PTR() and never returns NULL. The NULL test in the return value check should be replaced with IS_ERR(). Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit e5ffbfc182bc148f44840bdd3970ea4c8bf80c3c Author: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Date: Mon Aug 11 11:40:17 2014 +0300 crypto: caam - enable raw data instead of von Neumann data The sampling of the oscillator can be done in multiple modes for generating the entropy value. By default, this is set to von Neumann. This patch changes the sampling to raw data, since it has been discovered that the generated entropy has a better 'quality'. Signed-off-by: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit eeaa1724a2e9c8958a8621b3c10d5ca0667e78fa Author: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Date: Mon Aug 11 11:40:16 2014 +0300 crypto: caam - change starting entropy delay value The entropy delay (the length in system clocks of each entropy sample) for the RNG4 block of CAAM is dependent on the frequency of the SoC. By elaborate methods, it has been determined that a good starting value for all platforms integrating the CAAM IP is 3200. Using a higher value has additional benefit of speeding up the process of instantiating the RNG, since the entropy delay will be increased and instantiation of the RNG state handles will be reattempted by the driver. If the starting value is low, for certain platforms, this can lead to a quite lengthy process. This patch changes the starting value of the length of the entropy sample to 3200 system clocks. In addition to this change, the attempted entropy delay values are now printed on the console upon initialization of the RNG block. While here, a safeguard for yielding the processor was added for ensuring that in very adverse cases, the CPU isn't hogged by the instantiation loop. Signed-off-by: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit b061f3fefcffa0cdcdc61ae2a1123a4e7697d452 Author: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Date: Mon Aug 11 11:40:15 2014 +0300 crypto: caam - disable RNG oscillator maximum frequency check The rtfrqmax & rtfrqmin set the bounds of the expected frequency of the oscillator, when SEC runs at its maximum frequency. For certain platforms (f.i. T2080), the oscillator is very fast and thus if the SEC runs at a lower than normal frequency, the ring oscillator is incorrectly detected as being out of bounds. This patch effectively disables the maximum frequency check, by setting a high enough maximum allowable frequency for the oscillator. The reasoning behind this is that usually a broken oscillator will run too slow (i.e. not run at all) rather than run too fast. Signed-off-by: Alex Porosanu <alexandru.porosanu@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit d4c85f9bb53f25491524839ab1610b30810ab898 Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Fri Aug 8 12:30:04 2014 +0300 crypto: testmgr - remove unused function argument The argument "req" of do_one_async_hash_op is not used by the function. This patch removes this argument and renames the function to match more closely its purpose. Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ad61e042e9151b55b393d5875e467e7fe0c7470c Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:30:03 2014 -0700 crypto: sha-mb - SHA1 multibuffer job manager and glue code This patch introduces the multi-buffer job manager which is responsible for submitting scatter-gather buffers from several SHA1 jobs to the multi-buffer algorithm. It also contains the flush routine to that's called by the crypto daemon to complete the job when no new jobs arrive before the deadline of maximum latency of a SHA1 crypto job. The SHA1 multi-buffer crypto algorithm is defined and initialized in this patch. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 12d2513d5fe23aed53872f9303d9cb4b61b60d80 Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:30:00 2014 -0700 crypto: sha-mb - SHA1 multibuffer crypto computation (x8 AVX2) This patch introduces the assembly routines to do SHA1 computation on buffers belonging to serveral jobs at once. The assembly routines are optimized with AVX2 instructions that have 8 data lanes and using AVX2 registers. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2249cbb53ead12539c4ab7f422400e82263d174b Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:29:57 2014 -0700 crypto: sha-mb - SHA1 multibuffer submit and flush routines for AVX2 This patch introduces the routines used to submit and flush buffers belonging to SHA1 crypto jobs to the SHA1 multibuffer algorithm. It is implemented mostly in assembly optimized with AVX2 instructions. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 116177782392739f06868cfc2e6df5267aec4639 Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:29:54 2014 -0700 crypto: sha-mb - SHA1 multibuffer algorithm data structures This patch introduces the data structures and prototypes of functions needed for computing SHA1 hash using multi-buffer. Included are the structures of the multi-buffer SHA1 job, job scheduler in C and x86 assembly. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 1e65b81a90df50bf450193065cc9073b706b8dda Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:29:51 2014 -0700 crypto: sha-mb - multibuffer crypto infrastructure This patch introduces the multi-buffer crypto daemon which is responsible for submitting crypto jobs in a work queue to the responsible multi-buffer crypto algorithm. The idea of the multi-buffer algorihtm is to put data streams from multiple jobs in a wide (AVX2) register and then take advantage of SIMD instructions to do crypto computation on several buffers simultaneously. The multi-buffer crypto daemon is also responsbile for flushing the remaining buffers to complete the computation if no new buffers arrive for a while. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 2ee507c472939db4b146d545352b8a7c79ef47f8 Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 31 10:29:48 2014 -0700 sched: Add function single_task_running to let a task check if it is the only task running on a cpu This function will help an async task processing batched jobs from workqueue decide if it wants to keep processing on more chunks of batched work that can be delayed, or to accumulate more work for more efficient batched processing later. If no other tasks are running on the cpu, the batching process can take advantgae of the available cpu cycles to a make decision to continue processing the existing accumulated work to minimize delay, otherwise it will yield. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit bbb9a7dd7fd1ec076b034e6f5bce3fb5a215f050 Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Fri Aug 8 14:27:52 2014 +0300 crypto: testmgr - delay execution of set-up code Prepare IV array only if the dependent code is executed. Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit a1aa44a2eb498d17e725578f5c30c160a8ed9f8d Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Fri Aug 8 14:27:51 2014 +0300 crypto: testmgr - white space removal on __test_skcipher This patch inverts two if conditions to remove code blocks indentation. Several white space clean-ups follow. Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 5f2b424e5c6c2d4de2c72875ea970e5984fe9268 Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Fri Aug 8 14:27:50 2014 +0300 crypto: testmgr - white space removal on __test_hash This patch inverts one if condition to remove code block indentation. Several white space clean-ups follow. Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 05b1d3386f33ef09500db471e7a7b92ebd2f5d5f Author: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Date: Mon Jul 28 13:11:23 2014 +0300 crypto: testmgr - white space fix-ups on test_aead This patch inverts two if conditions and allows removal of one tab-stop in their code-blocks. Only white-space clean-up follows. Signed-off-by: Cristian Stoica <cristian.stoica@xxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit 6d9529c586dbf0d356916d113f72f36397e71cdb Author: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Date: Thu Jul 10 16:18:08 2014 -0700 crypto: hash - initialize entry len for null input in crypto hash sg list walk For the special case when we have a null input string, we want to initialize the entry len to 0 for the hash/ahash walk, so cyrpto_hash_walk_last will return the correct result indicating that we have completed the scatter list walk. Otherwise we may keep walking the sg list and access bogus memory address. Signed-off-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Signed-off-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> commit ad16202de8d884c10ef7637ea3982953519c2418 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Mon Aug 25 12:38:31 2014 +0300 pwm: lpss: make it buildable only on X86 There is no sign of this IP block on non-x86 architectures and rather will not be. Thus, make this explicit by applying a direct dependency to X86. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit b2b7adeb21745266326d453b95e5d0b1b9cb1d4e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sat Aug 23 13:20:25 2014 +0200 pwm: lpss: use c99 initializers in structures Use c99 initializers for structures. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @decl@ identifier i1,fld; type T; field list[n] fs; @@ struct i1 { fs T fld; ...}; @bad@ identifier decl.i1,i2; expression e; initializer list[decl.n] is; @@ struct i1 i2 = { is, + .fld = e - e ,...}; // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> [thierry.reding: rebased and applied same fix for Braswell] Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 61e9aab7a1930ae031d1b9d948837b5ffd8e3f5e Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:33:18 2014 +0200 ath10k: flush hif buffers before recovery Transport buffers weren't flushed and processed before queueing hw recovery request to mac80211. This could in theory result in an unwanted htt/wmi rx events being processed while mac80211 recovers the device and possibly interfere or even crash the system. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 53b4e07354d4547b7ebb17b6eb63ce2694ad1479 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:33:17 2014 +0200 ath10k: remove ar_pci->started There are basically no more uses for ar_pci->started. It is also perfectly safe to call hif_stop without hif_start now. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cf5dd36d96d725f798e82038463f7066ddda482a Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:33:16 2014 +0200 ath10k: ignore ar_pci->started in pipe cleanup Structures used by these functions are now guaranteed to remain accessible until driver is unregistered. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 10d23db44a6ab4bb454228e9e97ef19455522627 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:33:15 2014 +0200 ath10k: update comment regarding warm reset The old comment was a little out of date. HTT Rx ring is a more relevant problem when stopping transport layer. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 728f95eef5238bffdb20e511f5cd553321d404c3 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:33:14 2014 +0200 ath10k: rework posting pci rx buffers It was possible on a host system running low on memory to end up with no rx buffers on pci pipes. This makes the driver more robust as it won't fail to start if it can't allocate all rx buffers right away. If it is fatal then upper layers will notice trouble anyway. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5c771e7454d148af35e8b4297d00f880de79ea49 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:34 2014 +0200 ath10k: remove early irq handling It's not really necessary to have a dedicated irq handler just for the sake of catching early fw crashes anymore. It is now safe to use one handler even during early stages of device boot up. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit ec5ba4d3b6b60456b067e8c625e87e67cdde2d12 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:33 2014 +0200 ath10k: make sure to really disable irqs This fixes two corner cases. One is a race between disabling copy engine interrupts and unhandled pending interrupts on the host. This could end up with a runaway tasklet and consequently memory leak of a few copy engine rx buffers. The other one is an unexpected (and non-maskable via device CSR) MSI fw indication interrupt during teardown. This could trigger the same problem as the first corner case. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 145cc1214a271c72b81a064f4d65c3cf612e941e Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:32 2014 +0200 ath10k: split ce irq/handler setup It doesn't make much sense to overwrite send_cb and recv_cb callbacks over and over again whenever transport starts. Just make sure to unmask copy engine interrupts when starting. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 403d627be9a541437bfcf392c192b12f366ed2a2 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:31 2014 +0200 ath10k: setup irq method in probe It doesn't make sense to re-init irqs completely whenever transport is started/stopped. Do it just once upon probing/removing. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c947a9e1c7b81f7d6a94f3bc3f16475d982e77ea Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:30 2014 +0200 ath10k: fix legacy irq workaround Wrong register was being set up. This could prevent firmware from booting in some rare cases when using legacy interrupts. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 8079de0daea7267f9064f1eb0e8c1bad6d37abad Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Aug 22 14:23:29 2014 +0200 ath10k: move fw init print Firmware probing is done only once when driver is registered and firmware version is guaranteed to remain the same until driver is unregistered. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 76c7c4916e96e55e637943bc03aaaf2e9b43ef73 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:26 2014 +0200 HID: uhid: update documentation Remove legacy bits, refer people to hid-transport.txt and add descriptions for all new features. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit c2b2f16c5c62583d4f8904e44c4b30c94a01eaf1 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:25 2014 +0200 HID: uhid: report to user-space whether reports are numbered This makes UHID_START include a "dev_flags" field that describes details of the hid-device in the kernel. The first flags we introduce describe whether a given report-type uses numbered reports. This is useful for transport layers that force report-numbers and therefore might have to prefix kernel-provided HID-messages with the report-number. Currently, only HoG needs this and the spec only talks about "global report numbers". That is, it's a global boolean not a per-type boolean. However, given the quirks we already have in kernel-space, a per-type value seems much more appropriate. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 11c221553080408b203a00b91ad5f647dfb218d1 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:24 2014 +0200 HID: uhid: implement SET_REPORT We so far lacked support for hid_hw_raw_request(..., HID_REQ_SET_REPORT); Add support for it and simply forward the request to user-space. Note that SET_REPORT is synchronous, just like GET_REPORT, even though it does not provide any data back besides an error code. If a transport layer does SET_REPORT asynchronously, they can just ACK it immediately by writing an uhid_set_report_reply to uhid. This patch re-uses the synchronous uhid-report infrastructure to query user-space. Note that this means you cannot run SET_REPORT and GET_REPORT in parallel. However, that has always been a restriction of HID and due to its blocking nature, this is just fine. Maybe some future transport layer supports parallel requests (very unlikely), however, until then lets not over-complicate things and avoid request-lookup-tables. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 7c4003bc367d5ff1cbce579a883f17698a9a6da2 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:23 2014 +0200 HID: uhid: rename uhid_raw_request to uhid_hid_raw_request We use strict prefixed in uhid.c: uhid_char_*: implement char-dev callbacks uhid_dev_*: implement uhid device management and runtime uhid_hid_*: implement hid-dev callbacks uhid_raw_request is an hid callback, so rename it to uhid_hid_raw_request. While at it, move it closer to it's extracted helpers and keep the same order as in "struct hid_driver". Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 50598e7055d0d8610732e7eb2c84cbc3bc7db294 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:22 2014 +0200 HID: uhid: keep legacy definitions at the bottom of uhid.h Instead of inlining the legacy definitions into the main part of uhid.h, keep them at the bottom now. This way, the API is much easier to read and legacy requests can be looked up at a separate place. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit fa71f32b5de2be1644ee671ddbe211d79be7847f Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:21 2014 +0200 HID: uhid: add ABI compatible UHID_GET_REPORT replacing UHID_FEATURE The old hdev->hid_get_raw_report() was broken by design. It was never clear what kind of HW request it should trigger. Benjamin fixed that with the core HID cleanup, though we never really adjusted uhid. Unfortunately, our old UHID_FEATURE command was modelled around the broken hid_get_raw_report(). We converted it silently to the new GET_REPORT and nothing broke. Make this explicit by renaming UHID_FEATURE to UHID_GET_REPORT and UHID_FEATURE_ANSWER to UHID_GET_REPORT_REPLY. Note that this is 100% ABI compatible to UHID_FEATURE. This is just a rename. But we have to keep the old definitions around to not break API. >From now on, UHID_GET_REPORT must trigger a GET_REPORT request on the user-space hardware layer. All the ambiguity due to the weird "feature" name should be gone now. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 5942b849b124c54002346e699f50db3714e300ed Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:20 2014 +0200 HID: uhid: invert report_done and make non-atomic All accesses to @report_done are protected by qlock (or report-contexts). No need to use an atomic. While at it, invert the logic and call it "report_running". This is similar to the uhid->running field and easier to read. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8cad5b017178bd7fa56d5039478d46964bcd94f7 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:19 2014 +0200 HID: uhid: turn report_id into u32 All accesses to @report_id are protected by @qlock. No need to use an atomic. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 25be7fe2be879a96920cc74809e1bff1b0ae0bac Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:18 2014 +0200 HID: uhid: avoid magic-numbers when setting strings Avoid hard-coding the target buffer sizes and use sizeof() instead. This also makes us future-proof to buffer-extensions later on. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 41c4a46423c08274ef83cdbd44bbd2066cba59bb Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:17 2014 +0200 HID: uhid: avoid dangling pointers in uhid context Avoid keeping uhid->rd_data and uhid->rd_size set in case uhid_dev_create2() fails. This is non-critical as we never flip uhid->running and thus never enter uhid_dev_destroy(). However, it's much nicer for debugging if pointers are only set if they point to valid data. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 56c47754631b98624e844305709d6a296bde20d1 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:16 2014 +0200 HID: uhid: forward create_req to create2_req Instead of hard-coding the uhid_dev_create() function twice, copy any create_req into a create2_req structure and forward it. We allocate uhid_create_req on the stack here, but that should be fine. Unlike uhid_create2_req it is fairly small (<1KB) and it's only used temporarily to swap entries. uhid_dev_create2() doesn't access it. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 0e0d7520064c9f5668c030afafdbcab242176195 Author: David Herrmann <dh.herrmann@xxxxxxxxx> Date: Tue Jul 29 17:14:15 2014 +0200 HID: uhid: simplify report-cb shutdown The report-query is blocking, so when user-space destroys a device we have to wake up any blocking kernel context that is currently in the report-cb. We used some broken correlation between @report_done and @running so far. Replace it by a much more obvious use. We now wake up the report-cb if either @report_done or @running is set. wake_up() and wait_event() serve as implicit barriers (as they always do) so no need to use smp_rmb/wmb directly. Note that @report_done is never reset by anyone but the report-cb, thus it cannot flip twice while we wait for it. And whenever we set @running, we afterwards synchronously remove the HID device. Therefore, we wait for all report-cbs to finish before we return. This way, @running can never flip to true while we wait for it. Signed-off-by: David Herrmann <dh.herrmann@xxxxxxxxx> Signed-off-by: Jiri Kosina <jkosina@xxxxxxx> commit 8a0c797edb65249a82fd6f2ede39785282b4901f Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Aug 25 08:37:45 2014 +0300 ath10k: print more driver info when firmware crashes Sometimes users forget to include important info like firmware version, so better to print all the info. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0e9848c0ec5a8f57e98264ae532b6adcaeecac3b Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Aug 25 08:37:37 2014 +0300 ath10k: rename ath10k_pci_hif_dump_area() to ath10k_pci_fw_crashed_dump() Better to have a clear name for the function. While at it, clear up the title for the register dump. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 384914b2e5566dfce25f3f38d992708a9ef6f51b Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Mon Aug 25 08:37:32 2014 +0300 ath10k: provide firmware crash info via debugfs Store the firmware registers and other relevant data to a firmware crash dump file and provide it to user-space via debugfs. Should help with figuring out why the firmware crashed. kvalo: remove dbglog support, rework and refactor the code to avoid ifdefs and otherwise simplify it as well Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 3d29a3e04298e3883625c677f62f7f1e634eec10 Author: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Date: Mon Aug 25 08:37:26 2014 +0300 ath10k: add ath10k_pci_diag_* helpers ath10k_pci_diag_read32() is for reading u32 from a device and ath10k_pci_diag_read_hi() is a helper for reading data using "host interest" table. Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7a7b37328864286d0079d03198260e5f92d0a512 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 19 13:22:32 2014 +0200 ath10k: fix a conflict bug in wmi service bitmap Service mapping for main firmware branch was incorrectly used for 10.x firmware and vice-versa. This caused wmi_services in debugfs to print wrong values. This fixes commit cff990ce7ddd6 ("ath10k: fix wmi service bitmap debug") where for some reason there was either a conflict that wasn't resolved properly or git had a bad day. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 10d49878971852111b49f59f6f56c3641b691173 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Sun Aug 17 14:57:11 2014 -0700 ath6kl: fix %d confusingly prefixed with 0x in format strings Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit fe88e6dd8b9ac65912d0d9d9372fe421d6eeb21e Merge: 4c83acb c223a07 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 24 23:02:53 2014 -0700 Merge branch 'ndo_xmit_flush' Basic deferred TX queue flushing infrastructure. Over time, and specifically and more recently at the Networking Workshop during Kernel SUmmit in Chicago, we have discussed the idea of having some way to optimize transmits of multiple TX packets at a time. There are several areas of overhead that could be amortized with such schemes. One has to do with locking and transactional overhead, the other has to do with device specific costs. This patch set here is more aimed at device specific costs. Typically a device queues up a packet in the TX queue and then has to do something to have the device start processing that new entry. Sometimes this is composed of doing an MMIO write to a "tail" register, and in other cases it can involve something as expensive as a hypervisor call. The basic setup defined here is that when the driver supports deferred TX queue flushing, ndo_start_xmit should no longer perform that operation. Instead a new operation, ndo_xmit_flush, should do it. I have converted IGB and virtio_net as example initial users. The IGB conversion is tested, virtio_net is not but it does compile :-) All ndo_start_xmit call sites have been abstracted behind a new helper called netdev_start_xmit(). This just adds the infrastructure, it does not actually add any instances of actually doing multiple ndo_start_xmit calls per ndo_xmit_flush invocation. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c223a078cbe0a87d470b08db7c83c7053931ae63 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 23 13:18:10 2014 -0700 virtio_net: Support netdev_ops->ndo_xmit_flush() Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1ebf46c1f72fe542853fc00f059a7d15259379d Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 22 17:24:49 2014 -0700 igb: Support netdev_ops->ndo_xmit_flush() Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4798248e4e023170e937a65a1d30fcc52496dd42 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 22 16:21:53 2014 -0700 net: Add ops->ndo_xmit_flush() Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 4c83acbc565d53296f1731034c5041a0fbabcaeb Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:53:12 2014 +0100 ipv6: White-space cleansing : gaps between function and symbol export This patch makes no changes to the logic of the code but simply addresses coding style issues as detected by checkpatch. Both objdump and diff -w show no differences. This patch removes some blank lines between the end of a function definition and the EXPORT_SYMBOL_GPL macro in order to prevent checkpatch warning that EXPORT_SYMBOL must immediately follow a function. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit cc24becae3e87d7aa8238f4fcb29bfb68f7ffb97 Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:53:11 2014 +0100 ipv6: White-space cleansing : Structure layouts This patch makes no changes to the logic of the code but simply addresses coding style issues as detected by checkpatch. Both objdump and diff -w show no differences. This patch addresses structure definitions, specifically it cleanses the brace placement and replaces spaces with tabs in a few places. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 67ba4152e8b77eada6a9c64e3c2c84d6112794fc Author: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Date: Sun Aug 24 21:53:10 2014 +0100 ipv6: White-space cleansing : Line Layouts This patch makes no changes to the logic of the code but simply addresses coding style issues as detected by checkpatch. Both objdump and diff -w show no differences. A number of items are addressed in this patch: * Multiple spaces converted to tabs * Spaces before tabs removed. * Spaces in pointer typing cleansed (char *)foo etc. * Remove space after sizeof * Ensure spacing around comparators such as if statements. Signed-off-by: Ian Morris <ipm@xxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9b0b2faa8ed299ca617a317e2abb9ea1bf0e733 Author: Darek Marcinkiewicz <reksio@xxxxxxxxxx> Date: Sun Aug 24 20:40:16 2014 +0200 net: ec_bhf: remove excessive debug messages This cuts down the number of debug information spit out by the driver. Signed-off-by: Dariusz Marcinkiewicz <reksio@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a98406e22c12e514bac28fec0a49dc793edaf3a8 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Sat Aug 23 17:03:28 2014 +0200 random32: improvements to prandom_bytes This patch addresses a couple of minor items, mostly addesssing prandom_bytes(): 1) prandom_bytes{,_state}() should use size_t for length arguments, 2) We can use put_unaligned() when filling the array instead of open coding it [ perhaps some archs will further benefit from their own arch specific implementation when GCC cannot make up for it ], 3) Fix a typo, 4) Better use unsigned int as type for getting the arch seed, 5) Make use of prandom_u32_max() for timer slack. Regarding the change to put_unaligned(), callers of prandom_bytes() which internally invoke prandom_bytes_state(), don't bother as they expect the array to be filled randomly and don't have any control of the internal state what-so-ever (that's also why we have periodic reseeding there, etc), so they really don't care. Now for the direct callers of prandom_bytes_state(), which are solely located in test cases for MTD devices, that is, drivers/mtd/tests/{oobtest.c,pagetest.c,subpagetest.c}: These tests basically fill a test write-vector through prandom_bytes_state() with an a-priori defined seed each time and write that to a MTD device. Later on, they set up a read-vector and read back that blocks from the device. So in the verification phase, the write-vector is being re-setup [ so same seed and prandom_bytes_state() called ], and then memcmp()'ed against the read-vector to check if the data is the same. Akinobu, Lothar and I also tested this patch and it runs through the 3 relevant MTD test cases w/o any errors on the nandsim device (simulator for MTD devs) for x86_64, ppc64, ARM (i.MX28, i.MX53 and i.MX6): # modprobe nandsim first_id_byte=0x20 second_id_byte=0xac \ third_id_byte=0x00 fourth_id_byte=0x15 # modprobe mtd_oobtest dev=0 # modprobe mtd_pagetest dev=0 # modprobe mtd_subpagetest dev=0 We also don't have any users depending directly on a particular result of the PRNG (except the PRNG self-test itself), and that's just fine as it e.g. allowed us easily to do things like upgrading from taus88 to taus113. Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Tested-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> Tested-by: Lothar WaÃ?mann <LW@xxxxxxxxxxxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c1e60bd4fe65ede0c7567d22b1e92a07b75c370f Merge: 8fc54f6 48a5fc7 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sun Aug 24 18:09:58 2014 -0700 Merge branch 'csums-next' Tom Herbert says: ==================== net: Checksum offload changes - Part V I am working on overhauling RX checksum offload. Goals of this effort are: - Specify what exactly it means when driver returns CHECKSUM_UNNECESSARY - Preserve CHECKSUM_COMPLETE through encapsulation layers - Don't do skb_checksum more than once per packet - Unify GRO and non-GRO csum verification as much as possible - Unify the checksum functions (checksum_init) - Simplify code What is in this fifth patch set: - Added GRO checksum validation functions - Call the GRO validations functions from TCP and GRE gro_receive - Perform checksum verification in the UDP gro_receive path using GRO functions and add support for gro_receive in UDP6 Changes in V2: - Change ip_summed to CHECKSUM_UNNECESSARY instead of moving it to CHECKSUM_COMPLETE from GRO checksum validation. This avoids performance penalty in checksumming bytes which are before the header GRO is at. Please review carefully and test if possible, mucking with basic checksum functions is always a little precarious :-) ---- Test results with this patch set are below. I did not notice any performace regression. Tests run: TCP_STREAM: super_netperf with 200 streams TCP_RR: super_netperf with 200 streams and -r 1,1 Device bnx2x (10Gbps): No GRE RSS hash (RX interrupts occur on one core) UDP RSS port hashing enabled. * GRE with checksum with IPv4 encapsulated packets With fix: TCP_STREAM 9.91% CPU utilization 5163.78 Mbps TCP_RR 50.64% CPU utilization 219/347/502 90/95/99% latencies 834103 tps Without fix: TCP_STREAM 10.05% CPU utilization 5186.22 tps TCP_RR 49.70% CPU utilization 227/338/486 90/95/99% latencies 813450 tps * GRE without checksum with IPv4 encapsulated packets With fix: TCP_STREAM 10.18% CPU utilization 5159 Mbps TCP_RR 51.86% CPU utilization 214/325/471 90/95/99% latencies 865943 tps Without fix: TCP_STREAM 10.26% CPU utilization 5307.87 Mbps TCP_RR 50.59% CPU utilization 224/325/476 90/95/99% latencies 846429 tps *** Simulate device returns CHECKSUM_COMPLETE * VXLAN with checksum With fix: TCP_STREAM 13.03% CPU utilization 9093.9 Mbps TCP_RR 95.96% CPU utilization 161/259/474 90/95/99% latencies 1.14806e+06 tps Without fix: TCP_STREAM 13.59% CPU utilization 9093.97 Mbps TCP_RR 93.95% CPU utilization 160/259/484 90/95/99% latencies 1.10262e+06 tps * VXLAN without checksum With fix: TCP_STREAM 13.28% CPU utilization 9093.87 Mbps TCP_RR 95.04% CPU utilization 155/246/439 90/95/99% latencies 1.15e+06 tps Without fix: TCP_STREAM 13.37% CPU utilization 9178.45 Mbps TCP_RR 93.74% CPU utilization 161/257/469 90/95/99% latencies 1.1068e+06 Mbps ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 48a5fc773190bd5339869003fa65d38559bb8890 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:34:52 2014 -0700 gre: When GRE csum is present count as encap layer wrt csum In GRE demux if the GRE checksum pop rcv encapsulation so that any encapsulated checksums are treated as tunnel checksums. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 57c67ff4bd92af634f7c91c40eb02a96dd785dda Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:34:44 2014 -0700 udp: additional GRO support Implement GRO for UDPv6. Add UDP checksum verification in gro_receive for both UDP4 and UDP6 calling skb_gro_checksum_validate_zero_check. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 149d0774a729497c6a876260d3884826088724b6 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:34:30 2014 -0700 tcp: Call skb_gro_checksum_validate In tcp[64]_gro_receive call skb_gro_checksum_validate to validate TCP checksum in the gro context. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 758f75d1ffa9ef482ae095f40087cf217e1f41b0 Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:34:22 2014 -0700 gre: call skb_gro_checksum_simple_validate Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1933a7852ce6a81349855431b25122d7666bbfca Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:34:04 2014 -0700 net: add gro_compute_pseudo functions Add inet_gro_compute_pseudo and ip6_gro_compute_pseudo. These are the logical equivalents of inet_compute_pseudo and ip6_compute_pseudo for GRO path. The IP header is taken from skb_gro_network_header. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 573e8fca255a27e3573b51f9b183d62641c47a3d Author: Tom Herbert <therbert@xxxxxxxxxx> Date: Fri Aug 22 13:33:47 2014 -0700 net: skb_gro_checksum_* functions Add skb_gro_checksum_validate, skb_gro_checksum_validate_zero_check, and skb_gro_checksum_simple_validate, and __skb_gro_checksum_complete. These are the cognates of the normal checksum functions but are used in the gro_receive path and operate on GRO related fields in sk_buffs. Signed-off-by: Tom Herbert <therbert@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 39b5a56ec0be5effe9b7d0f18cb27724bf2e5d47 Merge: 83bc90e fd3cbdc Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Aug 24 22:35:42 2014 +0200 Merge branch 'rfc/perf' into perf/core, because it's ready for inclusion Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 83bc90e11576f9c100f8ef4ba2bcd0b89212e3fb Merge: e21ded5 451fd72 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Aug 24 22:32:24 2014 +0200 Merge branch 'linus' into perf/core, to fix conflicts Conflicts: arch/x86/kernel/cpu/perf_event_intel_uncore*.c Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 77cfe68e2808be01497124c1fa889322b483650c Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Mon May 26 19:37:40 2014 +0300 ARM: msm: Update the references to DEBUG_MSM_UARTx The Kconfig options DEBUG_MSM_UART1, DEBUG_MSM_UART2, DEBUG_MSM_UART3, MSM_DEBUG_UART1, MSM_DEBUG_UART2 and MSM_DEBUG_UART3 are removed, but they are still referenced in the following files: arch/arm/mach-msm/io.c, arch/arm/mach-msm/board-trout.c arch/arm/mach-msm/board-trout-gpio.c Fix this by updating the reference to the new Kconfig option. Reported-by: Paul Bolle <pebolle@xxxxxxxxxx> Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 262334ae213b7e84da1d0f1c53c5ecb580fc19d0 Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jul 8 16:09:37 2014 +0200 ARM: msm: remove reference to MSM_SERIAL_DEBUGGER This is a dangling symbol in the kernel: there is no config option for the MSM_SERIAL_DEBUGGER anywhere in the kernel. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 8ead9f949d921f619ac474397531e799a1719e9d Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Tue Jul 8 16:07:21 2014 +0200 ARM: msm: delete dangling mahimahi board file This board file is not compiled, and includes header files that do not even exist so it can't be made to compile easily either. I assume it is a merge mistake, thus deleting it. Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 1b05756c48ea07ced9604ef01d11194d936da163 Author: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> Date: Tue Aug 5 22:02:34 2014 +0200 netfilter: ipset: Fix warn: integer overflows 'sizeof(*map) + size * set->dsize' Dan Carpenter reported that the static checker emits the warning net/netfilter/ipset/ip_set_list_set.c:600 init_list_set() warn: integer overflows 'sizeof(*map) + size * set->dsize' Limit the maximal number of elements in list type of sets. Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 94729f8a1e9d38c8df6c83799fde8d2eaef2ff54 Author: Mark Rustad <mark.d.rustad@xxxxxxxxx> Date: Tue Aug 5 04:56:21 2014 -0700 netfilter: ipset: Resolve missing-field-initializer warnings Resolve missing-field-initializer warnings by providing a directed initializer. Signed-off-by: Mark Rustad <mark.d.rustad@xxxxxxxxx> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit 6e41ee684ea0c338e7d83fc88725581027856595 Author: Sergey Popovich <popovich_sergei@xxxxxxx> Date: Mon May 5 11:07:06 2014 +0300 netfilter: ipset: netnet,netportnet: Fix value range support for IPv4 Ranges of values are broken with hash:net,net and hash:net,port,net. hash:net,net ============ # ipset create test-nn hash:net,net # ipset add test-nn 10.0.10.1-10.0.10.127,10.0.0.0/8 # ipset list test-nn Name: test-nn Type: hash:net,net Revision: 0 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 16960 References: 0 Members: 10.0.10.1,10.0.0.0/8 # ipset test test-nn 10.0.10.65,10.0.0.1 10.0.10.65,10.0.0.1 is NOT in set test-nn. # ipset test test-nn 10.0.10.1,10.0.0.1 10.0.10.1,10.0.0.1 is in set test-nn. hash:net,port,net ================= # ipset create test-npn hash:net,port,net # ipset add test-npn 10.0.10.1-10.0.10.127,tcp:80,10.0.0.0/8 # ipset list test-npn Name: test-npn Type: hash:net,port,net Revision: 0 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 17344 References: 0 Members: 10.0.10.8/29,tcp:80,10.0.0.0 10.0.10.16/28,tcp:80,10.0.0.0 10.0.10.2/31,tcp:80,10.0.0.0 10.0.10.64/26,tcp:80,10.0.0.0 10.0.10.32/27,tcp:80,10.0.0.0 10.0.10.4/30,tcp:80,10.0.0.0 10.0.10.1,tcp:80,10.0.0.0 # ipset list test-npn # ipset test test-npn 10.0.10.126,tcp:80,10.0.0.2 10.0.10.126,tcp:80,10.0.0.2 is NOT in set test-npn. # ipset test test-npn 10.0.10.126,tcp:80,10.0.0.0 10.0.10.126,tcp:80,10.0.0.0 is in set test-npn. # ipset create test-npn hash:net,port,net # ipset add test-npn 10.0.10.0/24,tcp:80-81,10.0.0.0/8 # ipset list test-npn Name: test-npn Type: hash:net,port,net Revision: 0 Header: family inet hashsize 1024 maxelem 65536 Size in memory: 17024 References: 0 Members: 10.0.10.0,tcp:80,10.0.0.0 10.0.10.0,tcp:81,10.0.0.0 # ipset test test-npn 10.0.10.126,tcp:80,10.0.0.0 10.0.10.126,tcp:80,10.0.0.0 is NOT in set test-npn. # ipset test test-npn 10.0.10.0,tcp:80,10.0.0.0 10.0.10.0,tcp:80,10.0.0.0 is in set test-npn. Correctly setup from..to variables where no IPSET_ATTR_IP_TO{,2} attribute is given, so in range processing loop we construct proper cidr value. Check whenever we have no ranges and can short cut in hash:net,net properly. Use unlikely() where appropriate, to comply with other modules. Signed-off-by: Sergey Popovich <popovich_sergei@xxxxxxx> Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit ecc245c2bd5dcee91e6818fd3e7fb6454ad2ca06 Author: Vytas Dauksa <vytas.dauksa@xxxxxxxxxxxxxx> Date: Fri Apr 4 16:10:14 2014 +0100 netfilter: ipset: Removed invalid IPSET_ATTR_MARKMASK validation Markmask is an u32, hence it can't be greater then 4294967295 ( i.e. 0xffffffff ). This was causing smatch warning: net/netfilter/ipset/ip_set_hash_gen.h:1084 hash_ipmark_create() warn: impossible condition '(markmask > 4294967295) => (0-u32max > u32max)' Signed-off-by: Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxxxxxx> commit e21ded5ecc531a64d6fc0c1693285e890b4e9569 Merge: af924aa 39ee533 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Aug 24 12:08:20 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: * Don't try to find DSOs in SYSV maps (Don Zickus) * Fallback to MAP__FUNCTION if daddr maps are NULL, i.e. addresses get looked upon more maps (Don Zickus) * Kernel fix to properly handle exited tasks, by returning POLLHUP values on perf event file descriptors. Tooling changes will come next, but were tested with this kernel fix. (Jiri Olsa) * Add +field argument support for --field option, so that one can add fields to the default list of fields to show, i.e. now one can just do: perf report --fields +pid And the pid will appear in addition to the default fields. (Jiri Olsa) Infrastructure changes: * More Intel PT prep stuff, including: - Add a 'perf test' for tracking with sched_switch - Add 'flush' callback to scripting API * hists browser (used in top and report) refactorings, getting rid of unused variables and reducing source code size by handling similar cases in a fewer functions (Namhyung Kim). * Explicitly include util/debug.h for powerpc, was being indirectly included, broke the build when some change made it stop being included. (Sukadev Bhattiprolu) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit afc5be3079796b024823bad42dc5ebf716453575 Author: Ana Rey <anarey@xxxxxxxxx> Date: Sun Aug 24 14:08:36 2014 +0200 netfilter: nft_meta: Add cpu attribute support Add cpu support to meta expresion. This allows you to match packets with cpu number. Signed-off-by: Ana Rey <anarey@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit e2a093ff0dbfa4c5d99f25241cf33325e9691d91 Author: Ana Rey <anarey@xxxxxxxxx> Date: Wed Aug 6 13:52:49 2014 +0200 netfilter: nft_meta: add pkttype support Add pkttype support for ip, ipv6 and inet families of tables. This allows you to fetch the meta packet type based on the link layer information. The loopback traffic is a special case, the packet type is guessed from the network layer header. No special handling for bridge and arp since we're not going to see such traffic in the loopback interface. Joint work with Alvaro Neira Ayuso <alvaroneay@xxxxxxxxx> Signed-off-by: Alvaro Neira Ayuso <alvaroneay@xxxxxxxxx> Signed-off-by: Ana Rey <anarey@xxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 39ee533fcc7feb5b7938a3973a2bf5ad79bb595b Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Aug 22 09:13:21 2014 +0900 perf hists browser: Consolidate callchain print functions in TUI Currently there're two callchain print functions in TUI - one for the hists browser and another for file dump. They do almost same job so it'd be better consolidate the codes. To do that, provide two callbacks to the generic logic - one for printing and another for checking whether it should stop. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408666401-594-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2f3f9bcf000b2043a480e7cc0cae582559fb0f13 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 22 15:58:38 2014 +0200 perf tools: Add +field argument support for --field option Adding support to add field(s) to default field order via using the '+' prefix, like for report: $ perf report Samples: 10 of event 'cycles', Event count (approx.): 4463799 Overhead Command Shared Object Symbol 32.40% ls [kernel.kallsyms] [k] filemap_fault 28.19% ls [kernel.kallsyms] [k] get_page_from_freelist 23.38% ls [kernel.kallsyms] [k] enqueue_entity 15.04% ls [kernel.kallsyms] [k] mmap_region $ perf report -F +period,sample Samples: 10 of event 'cycles', Event count (approx.): 4463799 Overhead Period Samples Command Shared Object Symbol 32.40% 1446493 1 ls [kernel.kallsyms] [k] filemap_fault 28.19% 1258486 1 ls [kernel.kallsyms] [k] get_page_from_freelist 23.38% 1043754 1 ls [kernel.kallsyms] [k] enqueue_entity 15.04% 671160 1 ls [kernel.kallsyms] [k] mmap_region Works in general for commands using --field option. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408715919-25990-2-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 3969cc094a9dbb40e624b259caa73c7a2056b249 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 15 16:24:45 2014 -0300 perf top: Use set_term_quiet() instead of open coded equivalent Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-h7n9te70flmaqfnj6l06ay6r@xxxxxxxxxxxxxx [ Yanked this out of a patch containing this and some other change ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 179033b3e064d2cd3f5f9945e76b0a0f0fbf4883 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Aug 7 11:48:26 2014 -0400 perf: Add PERF_EVENT_STATE_EXIT state for events with exited task Adding new perf event state to indicate that the monitored task has exited. In this case the event stays alive until the owner task exits or close the event fd while providing the last data through the read syscall and ring buffer. Instead it needs to propagate the error info (monitored task has died) via poll and read syscalls by returning POLLHUP and 0 respectively. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140811120102.GY9918@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-t5y3w8jjx6tfo5w8y6oajsjq@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 61b67684c4a4d04b30d9ed67aa2eadfa0089c590 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Aug 13 19:39:56 2014 +0200 perf: Fix perf_poll to return proper POLLHUP value Currently perf_poll returns POLL_HUP in case of error, which is wrong, because poll syscall expects POLLHUP. The POLL_HUP is meant to be used for SIGIO state. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140811120102.GY9918@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-0ywfthh4lh65swe15f6w2x2q@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 44afe6029422da55918d8156c6900dbf5259533b Merge: 5317821 ebc14dd Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Aug 24 11:27:42 2014 +0200 Merge tag 'microcode_cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp into x86/microcode Pull x86/microcode updates from Borislav Petkov: "A bunch of cleanups from Henrique." Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b25c2ff547530f63d71fc67048543ae54b434476 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Sun Aug 17 19:45:46 2014 -0500 bloat-o-meter: Ignore syscall aliases SyS_ and compat_SyS_ This avoids double-counting size changes in syscall implementations. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 8fc54f68919298ff9689d980efb495707ef43f30 Author: Daniel Borkmann <dborkman@xxxxxxxxxx> Date: Sat Aug 23 20:58:54 2014 +0200 net: use reciprocal_scale() helper Replace open codings of (((u64) <x> * <y>) >> 32) with reciprocal_scale(). Signed-off-by: Daniel Borkmann <dborkman@xxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 690e36e726d00d2528bc569809048adf61550d80 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 23 12:13:41 2014 -0700 net: Allow raw buffers to be passed into the flow dissector. Drivers, and perhaps other entities we have not yet considered, sometimes want to know how deep the protocol headers go before deciding how large of an SKB to allocate and how much of the packet to place into the linear SKB area. For example, consider a driver which has a device which DMAs into pools of pages and then tells the driver where the data went in the DMA descriptor(s). The driver can then build an SKB and reference most of the data via SKB fragments (which are page/offset/length triplets). However at least some of the front of the packet should be placed into the linear SKB area, which comes before the fragments, so that packet processing can get at the headers efficiently. The first thing each protocol layer is going to do is a "pskb_may_pull()" so we might as well aggregate as much of this as possible while we're building the SKB in the driver. Part of supporting this is that we don't have an SKB yet, so we want to be able to let the flow dissector operate on a raw buffer in order to compute the offset of the end of the headers. So now we have a __skb_flow_dissect() which takes an explicit data pointer and length. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1ad676a6bc4b284b68e4d24c0eac366438a32af6 Merge: 5aa8dbb b8f9a02 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 23 11:39:24 2014 -0700 Merge branch 'bcm7xxx_apd_eee' Florian Fainelli says: ==================== net: phy: bcm7xxx: APD and EEE support This patch series enables Auto-power down and EEE for the BCM7xxx integrated Gigabit PHYs. I also put a fix for the fixed PHY that would allow clause 45 over clause 22 reads/writes but would return bogus data by using e.g: ethtool --show-eee ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b8f9a02924bbeb0c46ca4c19561cbe765b80e264 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:45 2014 -0700 net: phy: bcm7xxx: enable EEE at the PHY level The 28nm Gigabit PHY on BCM7xxx chips comes out of reset with absolutely no EEE capabilities, such that we would actually return that we do not support EEE when accessing 3.20 (MDIO_PCS_EEE_ABLE) registers. Poke through the vendor-specific C45 register to enable EEE globally at the PHY level, and advertise supported EEE modes. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a9f6309585cbefa4a7f08c9017ca482c3222323a Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:44 2014 -0700 net: phy: allow phy_init_eee() to work with internal PHYs Internal PHYs do not have any specific phy_interface_t defined because they are within an Ethernet MAC or a larger IC, they will fail the early check in phy_init_eee(). Allow these PHYs to proceed with EEE initialization and report error/success by checking the standard C45 EEE-related registers. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 66ce7fb9807b036058aa380bfd2b3851ae25ce39 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:43 2014 -0700 net: phy: export phy_{read,write}_mmd_indirect Some PHY drivers might need to access Clause 45 registers in Clause 22 compatibility mode to e.g: properly advertise EEE support when disabled by default. Export these two helper functions: phy_read_mmd_indirect() and phy_write_mmd_indirect() for drivers to use them. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a2dbba7674468ad03aa6cf4378ed0965f453e034 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:42 2014 -0700 net: phy: fixed: return an error for Clause 45 over 22 reads The fixed PHY driver does not properly emulate Clause 45 over Clause 22 MDIO reads, and as such, will return bogus values when we access such registers. Return an error when accessing these registers in order to prevent advertising bogus capabilities such as EEE support and such. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9df54ddab9aa91d53b672b1c0efbeb5d07919e66 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:41 2014 -0700 net: phy: bcm7xxx: enable auto power down The 28nm process BCM7xxx internal Gigabit PHYs all support automatic power down, turn on that feature as part of the configuration initialization callback. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 705314797b8b997554b7e9d0ea7b65a497356e53 Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:40 2014 -0700 net: phy: broadcom: move shadow 0x1C register accessors to brcmphy.h The shadow register 0x1C is used both by the BCM54xxx PHYs and the BCM7xxx internal PHYs, move the accessors to a common location so both drivers can use them. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3af20efc0f83cdc65ce56ec108c0e81f602364df Author: Florian Fainelli <f.fainelli@xxxxxxxxx> Date: Fri Aug 22 18:55:39 2014 -0700 net: phy: broadcom: extract all registers to brcmphy.h Commit 439d39a9ac8fbbba9c04581361188f33f21ced50 ("net: phy: broadcom: extract register definitions") added a bunch of registers to brcmphy.h but left some to broadcom.c, move all of them to the header file since the BCM54xx and BCM7xxx PHY drivers do share all of these registers. Signed-off-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5aa8dbbd5f9ae6ec6f5ab88596a29a5b5d4caf31 Merge: f9474dd 301bae5 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 23 11:18:41 2014 -0700 Merge branch 'tipc-next' Jon Maloy says: ==================== tipc: Merge port and socket layer code After the removal of the TIPC native interface, there is no reason to keep a distinction between a "generic" port layer and a "specific" socket layer in the code. Throughout the last months, we have posted several series that aimed at facilitating removal of the port layer, and in particular the port_lock spinlock, which in reality duplicates the role normally kept by lock_sock()/bh_lock_sock(). In this series, we finalize this work, by making a significant number of changes to the link, node, port and socket code, all with the aim of reducing dependencies between the layers. In the final commits, we then remove the port spinlock, port.c and port.h altogether. After this series, we have a socket layer that has only few dependencies to the rest of the stack, so that it should be possible to continue cleanups of its code without significantly affecting other code. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 301bae56f21295a4ba71367818d80735687f11ac Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:20 2014 -0400 tipc: merge struct tipc_port into struct tipc_sock We complete the merging of the port and socket layer by aggregating the fields of struct tipc_port directly into struct tipc_sock, and moving the combined structure into socket.c. We also move all functions and macros that are not any longer exposed to the rest of the stack into socket.c, and rename them accordingly. Despite the size of this commit, there are no functional changes. We have only made such changes that are necessary due of the removal of struct tipc_port. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 808d90f9c55943c2965d33b7156e559c59dd2db9 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:19 2014 -0400 tipc: remove files ref.h and ref.c The reference table is now 'socket aware' instead of being generic, and has in reality become a socket internal table. In order to be able to minimize the API exposed by the socket layer towards the rest of the stack, we now move the reference table definitions and functions into the file socket.c, and rename the functions accordingly. There are no functional changes in this commit. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 2e84c60b77e4dd96068f568a5971e681bb7e6b68 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:18 2014 -0400 tipc: remove include file port.h We move the inline functions in the file port.h to socket.c, and modify their names accordingly. We move struct tipc_port and some macros to socket.h. Finally, we remove the file port.h. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0fc87aaebdfbf2c75112ce17aec093652c682acd Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:17 2014 -0400 tipc: remove source file port.c In this commit, we move the remaining functions in port.c to socket.c, and give them new names that correspond to their new location. We then remove the file port.c. There are only cosmetic changes to the moved functions. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6c9808ce09f778a1de7b207b82cfc36a59cda2d3 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:16 2014 -0400 tipc: remove port_lock In previous commits we have reduced usage of port_lock to a minimum, and complemented it with usage of bh_lock_sock() at the remaining locations. The purpose has been to remove this lock altogether, since it largely duplicates the role of bh_lock_sock. We are now ready to do this. However, we still need to protect the BH callers from inadvertent release of the socket while they hold a reference to it. We do this by replacing port_lock by a combination of a rw-lock protecting the reference table as such, and updating the socket reference counter while the socket is referenced from BH. This technique is more standard and comprehensible than the previous approach, and turns out to have a positive effect on overall performance. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 9b50fd087a9f1454d6a8b613fff376dfb6d6ea93 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:15 2014 -0400 tipc: replace port pointer with socket pointer in registry In order to make tipc_sock the only entity referencable from other parts of the stack, we add a tipc_sock pointer instead of a tipc_port pointer to the registry. As a consequence, we also let the function tipc_port_lock() return a pointer to a tipc_sock instead of a tipc_port. We keep the function's name for now, since the lock still is owned by the port. This is another step in the direction of eliminating port_lock, replacing its usage with lock_sock() and bh_lock_sock(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5a9ee0be3371eb77d671a77e26261931c5c3fb31 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:14 2014 -0400 tipc: use registry when scanning sockets The functions tipc_port_get_ports() and tipc_port_reinit() scan over all sockets/ports to access each of them. This is done by using a dedicated linked list, 'tipc_socks' where all sockets are members. The list is in turn protected by a spinlock, 'port_list_lock', while each socket is locked by using port_lock at the moment of access. In order to reduce complexity and risk of deadlock, we want to get rid of the linked list and the accompanying spinlock. This is what we do in this commit. Instead of the linked list, we use the port registry to scan across the sockets. We also add usage of bh_lock_sock() inside the scope of port_lock in both functions, as a preparation for the complete removal of port_lock. Finally, we move the functions from port.c to socket.c, and rename them to tipc_sk_sock_show() and tipc_sk_reinit() repectively. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5b8fa7ce823a59a328e0a7661df2478bfb745de4 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:13 2014 -0400 tipc: eliminate functions tipc_port_init and tipc_port_destroy After the latest changes to the socket/port layer the existence of the functions tipc_port_init() and tipc_port_destroy() cannot be justified. They are both called only once, from tipc_sk_create() and tipc_sk_delete() respectively, and their functionality can better be merged into the latter two functions. This also entails that all remaining references to port_lock now are made from inside socket.c, something that will make it easier to remove this lock. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 739f5e4efc82c4cb6b5201cbed337b6ff663bf19 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:12 2014 -0400 tipc: redefine message acknowledge function The function tipc_acknowledge() is a remnant from the obsolete native API. Currently, it grabs port_lock, before building an acknowledge message and sending it to the peer. Since all access to socket members now is protected by the socket lock, it has become unnecessary to grab port_lock here. In this commit, we remove the usage of port_lock, simplify the function, and move it to socket.c, renaming it to tipc_sk_send_ack(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit dadebc00299a19dc4639ba7192db937e31b81eb2 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:11 2014 -0400 tipc: eliminate port_connect()/port_disconnect() functions tipc_port_connect()/tipc_port_disconnect() are remnants of the obsolete native API. Their only task is to grab port_lock and call the functions __tipc_port_connect()/__tipc_port_disconnect() respectively, which will perform the actual state change. Since socket/port exection now is single-threaded the use of port_lock is not needed any more, so we can safely replace the two functions with their lock-free counterparts. In this commit, we remove the two functions. Furthermore, the contents of __tipc_port_disconnect() is so trivial that we choose to eliminate that function too, expanding its functionality into tipc_shutdown(). __tipc_port_connect() is simplified, moved to socket.c, and given the more correct name tipc_sk_finish_conn(). Finally, we eliminate the function auto_connect(), and expand its contents into filter_connect(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 80e44c22255468337b891da2348cab68cb62766f Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:10 2014 -0400 tipc: eliminate function tipc_port_shutdown() tipc_port_shutdown() is a remnant from the now obsolete native interface. As such it grabs port_lock in order to protect itself from concurrent BH processing. However, after the recent changes to the port/socket upcalls, sockets are now basically single-threaded, and all execution, except the read-only tipc_sk_timer(), is executing within the protection of lock_sock(). So the use of port_lock is not needed here. In this commit we eliminate the whole function, and merge it into its only caller, tipc_shutdown(). Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 5728901581139e68e6cf53b36590f64829c37453 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:09 2014 -0400 tipc: clean up socket timer function The last remaining BH upcall to the socket, apart for the message reception function tipc_sk_rcv(), is the timer function. We prefer to let this function continue executing in BH, since it only does read-acces to semi-permanent data, but we make three changes to it: 1) We introduce a bh_lock_sock()/bh_unlock_sock() inside the scope of port_lock. This is a preparation for replacing port_lock with bh_lock_sock() at the locations where it is still used. 2) We move the function from port.c to socket.c, as a further step of eliminating the port code level altogether. 3) We let it make use of the newly introduced tipc_msg_create() function. This enables us to get rid of three context specific functions (port_create_self_abort_msg() etc.) in port.c Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 02be61a981fb5ca5f1526323336198ee92cadf95 Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:08 2014 -0400 tipc: use message to abort connections when losing contact to node In the current implementation, each 'struct tipc_node' instance keeps a linked list of those ports/sockets that are connected to the node represented by that struct. The purpose of this is to let the node object know which sockets to alert when it loses contact with its peer node, i.e., which sockets need to have their connections aborted. This entails an unwanted direct reference from the node structure back to the port/socket structure, and a need to grab port_lock when we have to make an upcall to the port. We want to get rid of this unecessary BH entry point into the socket, and also eliminate its use of port_lock. In this commit, we instead let the node struct keep list of "connected socket" structs, which each represents a connected socket, but is allocated independently by the node at the moment of connection. If the node loses contact with its peer node, the list is traversed, and a "connection abort" message is created for each entry in the list. The message is sent to it respective connected socket using the ordinary data path, and the receiving socket aborts its connections upon reception of the message. This enables us to get rid of the direct reference from 'struct node' to ´struct port', and another unwanted BH access point to the latter. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 50100a5e39461b2a61d6040e73c384766c29975d Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:07 2014 -0400 tipc: use pseudo message to wake up sockets after link congestion The current link implementation keeps a linked list of blocked ports/ sockets that is populated when there is link congestion. The purpose of this is to let the link know which users to wake up when the congestion abates. This adds unnecessary complexity to the data structure and the code, since it forces us to involve the link each time we want to delete a socket. It also forces us to grab the spinlock port_lock within the scope of node_lock. We want to get rid of this direct dependence, as well as the deadlock hazard resulting from the usage of port_lock. In this commit, we instead let the link keep list of a "wakeup" pseudo messages for use in such situations. Those messages are sent to the pending sockets via the ordinary message reception path, and wake up the socket's owner when they are received. This enables us to get rid of the 'waiting_ports' linked lists in struct tipc_port that manifest this direct reference. As a consequence, we can eliminate another BH entry into the socket, and hence the need to grab port_lock. This is a further step in our effort to remove port_lock altogether. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1dd0bd2b14032037d40a316dd52370f1713fa62b Author: Jon Paul Maloy <jon.maloy@xxxxxxxxxxxx> Date: Fri Aug 22 18:09:06 2014 -0400 tipc: introduce new function tipc_msg_create() The function tipc_msg_init() has turned out to be of limited value in many cases. It take too few parameters to be usable for creating a complete message, it makes too many assumptions about what the message should be used for, and it does not allocate any buffer to be returned to the caller. Therefore, we now introduce the new function tipc_msg_create(), which takes all the parameters needed to create a full message, and returns a buffer of the requested size. The new function will be very useful for the changes we will be doing in later commits in this series. Signed-off-by: Jon Maloy <jon.maloy@xxxxxxxxxxxx> Reviewed-by: Erik Hugne <erik.hugne@xxxxxxxxxxxx> Reviewed-by: Ying Xue <ying.xue@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f9474ddfaa009ead12bba44fa8fd49dc4536a124 Merge: 989e04c a45e92a Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Sat Aug 23 11:12:08 2014 -0700 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net Pulling to get some TIPC fixes that a net-next series depends upon. Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 53f3cc46336b9e514c98556b4a009a69ed808d3b Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Aug 23 14:45:47 2014 +0400 pata_platform: Remove useless irq_flags field IRQ flags can be obtained from resource structure, there are no need to use additional field in the platform_data to store these values. This patch removes this field and convert existing users of this driver to use IRQ flags from the resources. Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit ca99140a63b7326ee9a38f64c326317f2c63b594 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Sat Aug 23 14:46:10 2014 +0400 pata_of_platform: Remove "electra-ide" quirk "electra-ide" is not used anywhere in the kernel and could be represented in devicetree in a normal way. This patch removes specific quirk for "electra-ide". Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit a18a32ce22d8b0e3174c0633fa61e46aac39e81e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sat Aug 23 11:05:21 2014 +0200 ASoC: ac97-codec: Remove ASoC level IO support This driver doesn't use any ASoC level IO nor does it register any controls or DAPM elements that require it. This means it can safely be removed. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 433306747791845677ba662435a9bbbafaa21df3 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Aug 12 09:04:42 2014 +0900 ARM: shmobile: r8a7740: Remove r8a7740_add_standard_devices_dt Now that r8a7740_add_standard_devices_dt() is simply a wrapper for a call to of_platform_populate() remove it and call of_platform_populate() directly. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5ebb4e849966e9cb3d5450773c86a1bf79e76f2d Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Aug 12 09:04:41 2014 +0900 ARM: shmobile: armadillo800eva-reference: Do not use r8a7740_add_standard_devices_dt() Now that r8a7740_add_standard_devices_dt() is just a wrapper for of_platform_populate() call the latter directly. This is in preparation for removing r8a7740_add_standard_devices_dt(). Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1145eaabcf1d108993b5c7bea3d86bbef7143135 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Aug 12 09:04:39 2014 +0900 ARM: shmobile: armadillo800eva-reference: Enable CMT1 in device tree Based on work by Magnus Damm Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c10df265febc7e46a60b129756915ad1d4d13e27 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Tue Aug 12 09:04:38 2014 +0900 ARM: shmobile: r8a7740: Add CMT1 device to DT Add the CMT1 counters to the r8a7740 device tree and make it disabled by default. Based on work by Magnus Damm. Cc: Magnus Damm <magnus.damm@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ae2a8cdd5c52b4e205cc1e5abca31168fb20dadb Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 8 16:23:12 2014 +0200 ARM: shmobile: armadillo800eva-reference: add clock overrides to DTS Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4a7ae2e27e18cbbdd83fb7783cd62abb4a62f33b Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 8 16:23:11 2014 +0200 ARM: shmobile: r8a7740: add MSTP clock assignments to DT Assigns clocks to ether, i2c*, scif*, tpu, mmcif0, sdhi*, and fsi2. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d9ffd583bf345e2ea79a8ab8044df3a979349af7 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 8 16:23:10 2014 +0200 ARM: shmobile: r8a7740: add SoC clocks to DTS Declares the r8a7740 clocks supported by the legacy clock framework, excluding those requiring extensions to the DIV6 driver. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 477fa2bc4c838eebe8dcd66ff8e88a1ab81734b9 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 8 16:23:09 2014 +0200 ARM: shmobile: r8a7740: clock register bits Contains the header file with the clock pulse generator and MSTP bits. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 989e04c5bc3ff77d65e1f0d87bf7904dfa30d41c Author: Yuchung Cheng <ycheng@xxxxxxxxxx> Date: Fri Aug 22 14:15:22 2014 -0700 tcp: improve undo on timeout Upon timeout, undo (via both timestamps/Eifel and DSACKs) was disabled if any retransmits were still in flight. The concern was perhaps that spurious retransmission sent in a previous recovery episode may trigger DSACKs to falsely undo the current recovery. However, this inadvertently misses undo opportunities (using either TCP timestamps or DSACKs) when timeout occurs during a loss episode, i.e. recurring timeouts or timeout during fast recovery. In these cases some retransmissions will be in flight but we should allow undo. Furthermore, we should only reset undo_marker and undo_retrans upon timeout if we are starting a new recovery episode. Finally, when we do reset our undo state, we now do so in a manner similar to tcp_enter_recovery(), so that we require a DSACK for each of the outstsanding retransmissions. This will achieve the original goal by requiring that we receive the same number of DSACKs as retransmissions. This patch increases the undo events by 50% on Google servers. Signed-off-by: Yuchung Cheng <ycheng@xxxxxxxxxx> Signed-off-by: Neal Cardwell <ncardwell@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a7d5f58d7dfb2f342ef7d676f58d1ec762ebb8ad Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 22 23:56:47 2014 +0400 phylib: use MDIO_DEVS[12] The bare register numbers are used despite <uapi/linux/mdio.h> has MDIO_DEVS[12] #define'd for those. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Acked-by: Florian Fainelli <f.fainelli@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b80c0662371122d01888c9785becf1b962f6db90 Author: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> Date: Fri Aug 22 08:54:26 2014 -0700 ARM: multi_v7_defconfig: Enable Zynq/Xilinx drivers This is a squashed series from Soren: "I went through the defconfig and searched for Zynq drivers. The result is this series of patches. The first few are all for Zynq and pretty much straight forward. The second half is mostly soft-IP, I think. That soft-IP works with Zynq devices, but I'm not sure whether those should go into the multi_v7 defconfig." Soren Brinkmann (11): ARM: multi_v7_defconfig: Enable Zynq cpuidle driver ARM: multi_v7_defconfig: Enable Zynq/Xilinx CAN driver ARM: multi_v7_defconfig: Enable XADC driver ARM: multi_v7_defconfig: Enable Zynq SPI driver ARM: multi_v7_defconfig: Enable Zynq GPIO driver ARM: multi_v7_defconfig: Enable Xilinx I2C driver ARM: multi_v7_defconfig: Enable Xilinx SPI driver ARM: multi_v7_defconfig: Enable Xilinx GPIO driver ARM: multi_v7_defconfig: Enable Xilinx VDMA driver ARM: multi_v7_defconfig: Enable Xilinx emaclite driver ARM: multi_v7_defconfig: Enable Xilinx watchdog timer Signed-off-by: Soren Brinkmann <soren.brinkmann@xxxxxxxxxx> [olof: Added commit message from series envelope email, squashed to one patch] Signed-off-by: Olof Johansson <olof@xxxxxxxxx> commit 884cf705c7e60bc6ade7ddafcbe943af4dc84604 Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Aug 22 20:30:12 2014 -0700 net: remove dead code after sk_data_ready change As a followup to commit 676d23690fb ("net: Fix use after free by removing length arg from sk_data_ready callbacks"), we can remove some useless code in sock_queue_rcv_skb() and rxrpc_queue_rcv_skb() Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d2de875c6d4cbec8a99c880160181a3ed5b9992e Author: Eric Dumazet <edumazet@xxxxxxxxxx> Date: Fri Aug 22 18:32:09 2014 -0700 net: use ktime_get_ns() and ktime_get_real_ns() helpers ktime_get_ns() replaces ktime_to_ns(ktime_get()) ktime_get_real_ns() replaces ktime_to_ns(ktime_get_real()) Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 3f8a2b746e3aece61f9c4714b86d1484d66461f0 Merge: 13322f2 3a73aef Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 22 19:42:25 2014 -0700 Merge tag 'linux-can-next-for-3.18-20140820' of git://gitorious.org/linux-can/linux-can-next Marc Kleine-Budde says: ==================== pull-request: can-next 2014-08-20 this is a pull request of 10 patches for net-next/master. There is one patch by Wolfram Sang to clean up the build system. Two patches by Stefan Agner that add vf610 support to the flexcan driver. Dong Aisheng add support for bosch's m_can core, which is found in the new freescale ARM SoCs. Sergei Shtylyov improves the rcar_can driver by supporting all input clocks and adding device tree support. The next patch is a small cleanup for the bit rate calculation function by Lad, Prabhakar. And finally a patch by Himangi Saraogi, which converts the mcp251x driver to use dmam_alloc_coherent. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e0c86a3b63e948e51a47d17382c7cd8711d19750 Author: Thierry Reding <thierry.reding@xxxxxxxxx> Date: Sat Aug 23 00:22:45 2014 +0200 pwm: lpss: Fix build failure on PowerPC An x86 build seems to pull in the linux/io.h include indirectly. On PowerPC that doesn't happen and the build breaks due to the readl() and writel() functions not being declared. Fix this by explicitly including linux/io.h. Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 90927fe9a001340304e0c37dee578e4432b1744e Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 19:17:36 2014 +0300 pwm: lpss: pci: Move to use pcim_enable_device() Let's use managed functions for this driver. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit c558e39e14c2372394f49e07fbe94e9708b615cb Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 19:17:35 2014 +0300 pwm: lpss: Properly split driver to parts The driver consists of core, PCI, and platform parts. It would be better to split them into separate files. The platform driver is now called pwm-lpss-platform. Thus, previously set CONFIG_PWM_LPSS=m is not enough to build it. But we are on the safe side since it seems no one from outside Intel is using it for now. While here, move to use macros module_pci_driver() and module_platform_driver(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Acked-by: Alan Cox <alan@xxxxxxxxxxxxxxx> [thierry.reding: change select to depends on PWM_LPSS, cleanup] Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit c28135481428d0674fcc1da0740ed3f4343df5b2 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Aug 22 22:39:37 2014 +0200 drm/i915: Update DRIVER_DATE to 20140822 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13322f2e664333b40ea7c71df8785e6f4bba1e68 Author: Christian Riesch <christian.riesch@xxxxxxxxxx> Date: Thu Aug 21 15:17:04 2014 +0200 dp83640: Fix length check for event timestamp status messages Event timestamp status messages have a variable length, ranging from 1 to 5 words (16 bit words). The current code however requires a minimum message length of sizeof(*phy_txts). In most cases this condition is fulfilled due to padding bytes. However, if several events are signaled in a single message, padding bytes may not be present. For short event timestamp status messages, the length check will fail, and the event timestamp will be dropped. Signed-off-by: Christian Riesch <christian.riesch@xxxxxxxxxx> Cc: Richard Cochran <richardcochran@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b4834c86e11bafc2bf7d3af6a6a5d9ea48b54b41 Author: Ley Foon Tan <lftan@xxxxxxxxxx> Date: Wed Aug 20 14:33:33 2014 +0800 net: stmmac: add fix_mac_speed support for socfpga This patch adds fix_mac_speed() support for Altera socfpga Ethernet controller. Emac splitter is a soft IP core in FPGA system that converts GMII interface from Synopsys mac to RGMII/SGMII interface. This splitter core is an optional IP if user would like to use RGMII/SGMII interface in their system. Software needs to update a register in splitter core when there is speed change. Signed-off-by: Ley Foon Tan <lftan@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 6e1d0b8988188956dac091441c1492a79a342666 Author: Chun-Hao Lin <hau@xxxxxxxxxxx> Date: Wed Aug 20 01:54:04 2014 +0800 r8169:add support for RTL8168H and RTL8107E RTL8168H is Realtek PCIe Gigabit Ethernet controller. RTL8107E is Realtek PCIe Fast Ethernet controller. This patch add support for these two chips. Signed-off-by: Chun-Hao Lin <hau@xxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit d4261e5650004d6d51137553ea5433d5828562dc Author: Jiri Pirko <jiri@xxxxxxxxxxx> Date: Tue Aug 19 16:02:12 2014 +0200 bonding: create netlink event when bonding option is changed Userspace needs to be notified if one changes some option. Signed-off-by: Jiri Pirko <jiri@xxxxxxxxxxx> Acked-by: Veaceslav Falico <vfalico@xxxxxxxxx> Acked-by: Andy Gospodarek <gospo@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c32ec8f5ba885fda08b1b822158b6135e56a308 Merge: c0b8023 97539f1 Author: David S. Miller <davem@xxxxxxxxxxxxx> Date: Fri Aug 22 12:31:24 2014 -0700 Merge branch 'bnx2x-next' Yuval Mintz says: ==================== bnx2x: Start utilizing 7.10.51 This series will enable bnx2x to start utlizing its 7.10.51 FW. In addition, it will also add timestamping support, as well as a couple of routine semantic cleanups. ==================== Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 97539f1e4f1e4b53604970b2dfe7794794f57a76 Author: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Date: Sun Aug 17 16:47:51 2014 +0300 bnx2x: FW assertion changes This is mostly a semantic change which modifies the code parsing and printing of FW asserts. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 58fee00ffae3b13b86f801146631012b3db4cea4 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:50 2014 +0300 bnx2x: Make BP_VF more robust Prevent dereference of pointer in case it's NULL. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit a345ce71e5c027872ae5a595998717dc856272b1 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:49 2014 +0300 bnx2x: Prevent pci_disable_sriov with assigned VFs Trying to disable sriov when VFs are assigned may lead to all kinds of problems. This patch unifies the call in the driver to pci_disable_sriov() and prevents them if some of the PF's child VFs are marked as assigned. [Notice this is a bad scenario either way; User should not reach a point where the OS tries to disable SRIOV when a VF is assigned - but currently there's no way of preventing the user from doing so, and the ill-effect for the driver is smaller this way] Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0d8de80f5cea004568af8775fd0a0933d5166759 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:48 2014 +0300 bnx2x: Prevent IOV if no entries in CAM It's possible there's a bad chip configuration which will result with PCIe IOV capabilities, but with no available interrupts for VFs. In such case, we want to gracefully prevent the PF from initializing its IOV capabilities rather than encounter difficulties further along the way. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e261199872a232beb6541c7dc6af2af0de840a27 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:47 2014 +0300 bnx2x: Safe bnx2x_panic_dump() The bnx2x panic dump spills a lot of information from the driver's fastpath, but may be called while some of the fastpath is uninitialized. This patch verifies that pointers are already allocated before dereferencing them to prevent possible kernel panics. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 626041248d3fb5b2fca5c9af172f00fa3bb6dcfe Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:46 2014 +0300 bnx2x: Update driver version to 1.710.51 Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0c23ad37a220b6a58b90e36203fe915c80dbd403 Author: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Date: Sun Aug 17 16:47:45 2014 +0300 bnx2x: Code cleanup This patch does several semantic things: - Fixing typos. - Removing unnecessary prints. - Removing unused functions and definitions. - Change 'strange' usage of boolean variables. Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit eeed018cbfa30c0bde89075b06b62fc198afb51c Author: Michal Kalderon <Michal.Kalderon@xxxxxxxxxx> Date: Sun Aug 17 16:47:44 2014 +0300 bnx2x: Add timestamping and PTP hardware clock support This adds a PHC to the bnx2x driver. Driver supports timestamping send/receive PTP packets, as well as adjusting the on-chip clock. The driver has been tested with linuxptp project. Signed-off-by: Michal Kalderon <Michal.Kalderon@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e42780b66aab88d3a82b6087bcd6095b90eecde7 Author: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Date: Sun Aug 17 16:47:43 2014 +0300 bnx2x: Utilize FW 7.10.51 - (L2) In some multi-function configurations, inter-PF and inter-VF Tx switching is incorrectly enabled. - (L2) Wrong assert code in FLR final cleanup in case it is sent not after FLR. - (L2) Chip may stall in very rare cases under heavy traffic with FW GRO enabled. - (L2) VF malicious notification error fixes. - (L2) Default gre tunnel to IPGRE which allows proper RSS for IPGRE packets, L2GRE traffic will reach single queue. - (FCoE) Fix data being placed in wrong buffer when corrupt FCoE frame is received. - (FCoE) Burst of FIP packets with destination MAC of ALL-FCF_MACs causes FCoE traffic to stop. Signed-off-by: Dmitry Kravkov <Dmitry.Kravkov@xxxxxxxxxx> Signed-off-by: Yuval Mintz <Yuval.Mintz@xxxxxxxxxx> Signed-off-by: Ariel Elior <Ariel.Elior@xxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c0b802367b05fa6342ab9ef07abdf446b9ba223f Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 20 23:24:40 2014 +0530 af_decnet: Use time_after_eq The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the Coccinelle semantic patch making this change is as follows: @change@ expression E1,E2,E3; @@ - jiffies - E1 >= (E2*E3) + time_after_eq(jiffies, E1+E2*E3) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8b1b1eb521004cec2518307c22dba8f4bff1c2bf Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 20 23:20:09 2014 +0530 decnet: Use time_after_eq The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the Coccinelle semantic patch making this change is as follows: @change@ expression E1,E2; @@ - (jiffies - E1) >= E2 + time_after_eq(jiffies, E1+E2) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit c72c95a064e55923c5dd050d099e51ac550f29a2 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 20 23:14:10 2014 +0530 ipconfig: Use time_before The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the Coccinelle semantic patch making this change is as follows: @change@ expression E1,E2; @@ - jiffies - E1 < E2 + time_before(jiffies, E1+E2) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5c5c36d367c670b9a93b1029d9b3af8610d9535 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 20 23:13:07 2014 +0530 dn_dev: Use time_before The functions time_before, time_before_eq, time_after, and time_after_eq are more robust for comparing jiffies against other values. A simplified version of the Coccinelle semantic patch making this change is as follows: @change@ expression E1,E2; @@ ( - (jiffies - E1) < E2 + time_before(jiffies, E1+E2) ) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 0932997e34bad52353c25756c55ccf97c522ae7c Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Fri Aug 22 16:06:09 2014 +0300 br_multicast: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 8c6b00c816191ded80d1ccd5164b53168255ec15 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Sun Aug 17 16:29:43 2014 +0300 net/openvswitch/flow.c: Replace rcu_dereference() with rcu_access_pointer() The "rcu_dereference()" call is used directly in a condition. Since its return value is never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes the replacement. The following Coccinelle semantic patch was used: @@ @@ ( if( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} | while( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} ) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit e6b688838e25b22e10dd273b48581cb2f62ec16e Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Sun Aug 17 15:49:41 2014 +0300 net/ipv4/igmp.c: Replace rcu_dereference() with rcu_access_pointer() The "rcu_dereference()" call is used directly in a condition. Since its return value is never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes the replacement. The following Coccinelle semantic patch was used: @@ @@ ( if( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} | while( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} ) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit b5091b552a9fd7c45f9f8f4efa23bc78af0553cd Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Sun Aug 17 13:21:45 2014 +0300 bonding: Replace rcu_dereference() with rcu_access_pointer() This "rcu_dereference()" call is used directly in a condition. Since its return value is never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes this replacement. The following Coccinelle semantic patch was used for solving it: @@ @@ ( if( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} | while( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} ) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 270b4b3115d816a91fdb31a0c1686709eb60c3ed Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Sun Aug 17 13:12:09 2014 +0300 cnic: Replace rcu_dereference() with rcu_access_pointer() The "rcu_dereference()" calls are used directly in conditions. Since their return values are never dereferenced it is recommended to use "rcu_access_pointer()" instead of "rcu_dereference()". Therefore, this patch makes the replacements. The following Coccinelle semantic patch was used: @@ @@ ( if( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} | while( (<+... - rcu_dereference + rcu_access_pointer (...) ...+>)) {...} ) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Acked-by: Michael Chan <mchan@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 1dced6a854827eb5683f3c57ddbb4595daf145e4 Author: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Date: Sun Aug 17 09:19:54 2014 +0200 ipv4: Restore accept_local behaviour in fib_validate_source() Commit 7a9bc9b81a5b ("ipv4: Elide fib_validate_source() completely when possible.") introduced a short-circuit to avoid calling fib_validate_source when not needed. That change took rp_filter into account, but not accept_local. This resulted in a change of behaviour: with rp_filter and accept_local off, incoming packets with a local address in the source field should be dropped. Here is how to reproduce the change pre/post 7a9bc9b81a5b commit: -configure the same IPv4 address on hosts A and B. -try to send an ARP request from B to A. -The ARP request will be dropped before that commit, but accepted and answered after that commit. This adds a check for ACCEPT_LOCAL, to maintain full fib validation in case it is 0. We also leave __fib_validate_source() earlier when possible, based on the same check as fib_validate_source(), once the accept_local stuff is verified. Cc: Gregory Detal <gregory.detal@xxxxxxxxxxxx> Cc: Christoph Paasch <christoph.paasch@xxxxxxxxxxxx> Cc: Hannes Frederic Sowa <hannes@xxxxxxxxxx> Cc: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Sébastien Barré <sebastien.barre@xxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit 14462b6e8c06a7b4e0977e93e44b3decab0951b0 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sun Aug 17 06:01:20 2014 +0530 isdn/bas_gigaset: use USB API functions rather than constants This patch introduces the use of the function usb_endpoint_num. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bEndpointAddress & \(USB_ENDPOINT_NUMBER_MASK\|0x0f\)) + usb_endpoint_num(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Acked-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f1898a0eeec94e04998460a2ad34e6b20ba68e7c Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 15 21:54:12 2014 +0530 isdn/gigaset: use USB API functions rather than constants This patch introduces the use of the function usb_endpoint_num. The Coccinelle semantic patch that makes these changes is as follows: @@ struct usb_endpoint_descriptor *epd; @@ - (epd->bEndpointAddress & \(USB_ENDPOINT_NUMBER_MASK\|0x0f\)) + usb_endpoint_num(epd) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Acked-by: Tilman Schmidt <tilman@xxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit f90251c8a6d06ed8b072a2a0f13c4b8a6d0cb222 Author: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Date: Fri Aug 15 19:18:19 2014 +0000 hyperv: Increase the buffer length for netvsc_channel_cb() When the buffer is too small for a packet from VMBus, a bigger buffer will be allocated in netvsc_channel_cb() and retry reading the packet from VMBus. Increasing this buffer size will reduce the retry overhead. Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx> Reviewed-by: Dexuan Cui <decui@xxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> commit fc9fa8714a759da94c5d54a621f584d65ca51ac6 Author: Olof Johansson <olof@xxxxxxxxx> Date: Fri Aug 22 10:40:02 2014 -0700 ARM: mvebu: update v7 defconfig with useful options Turn on a bunch of options to make my cubox bootable/usable: PRINTK_TIME EXT4 (and turn off 2/3 since 4 can mount all filesystems) MV643XX_ETH for Dove SDHCI for Dove DEVTMPFS PACKET and UNIX protocol support Much of the other churn is just due to reorderings in the defconfig Signed-off-by: Olof Johansson <olof@xxxxxxxxx> Link: https://lkml.kernel.org/r/1408729202-11064-1-git-send-email-olof@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 2a16fc93d2c9568e16d45db77c7b5f15e1921cf1 Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 12 16:24:41 2014 +0530 nohz: Avoid tick's double reprogramming in highres mode In highres mode, the tick reschedules itself unconditionally to the next jiffies. However while this clock reprogramming is relevant when the tick is in periodic mode, it's not that interesting when we run in dynticks mode because irq exit is likely going to overwrite the next tick to some randomly deferred future. So lets just get rid of this tick self rescheduling in dynticks mode. This way we can avoid some clockevents double write in favourable scenarios like when we stop the tick completely in idle while no other hrtimer is pending. Suggested-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit b5e995e671d8e4d7a75b339ce78ecc586014b0eb Author: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Date: Thu Jun 12 16:24:41 2014 +0530 nohz: Fix spurious periodic tick behaviour in low-res dynticks mode When we reach the end of the tick handler, we unconditionally reschedule the next tick to the next jiffy. Then on irq exit, the nohz code overrides that setting if needed and defers the next tick as far away in the future as possible. Now in the best dynticks case, when we actually don't need any tick in the future (ie: expires == KTIME_MAX), low-res and high-res behave differently. What we want in this case is to cancel the next tick programmed by the previous one. That's what we do in high-res mode. OTOH we lack a low-res mode equivalent of hrtimer_cancel() so we simply don't do anything in this case and the next tick remains scheduled to jiffies + 1. As a result, in low-res mode, when the dynticks code determines that no tick is needed in the future, we can recursively get a spurious tick every jiffy because then the next tick is always reprogrammed from the tick handler and is never cancelled. And this can happen indefinetly until some subsystem actually needs a precise tick in the future and only then we eventually overwrite the previous tick handler setting to defer the next tick. We are fixing this by introducing the ONESHOT_STOPPED mode which will let us pause a clockevent when no further interrupt is needed. Meanwhile we can't expect all drivers to support this new mode. So lets reduce much of the symptoms by skipping the nohz-blind tick rescheduling from the tick-handler when the CPU is in dynticks mode. That tick rescheduling wrongly assumed periodicity and the low-res dynticks code can't cancel such decision. This breaks the recursive (and thus the worst) part of the problem. In the worst case now, we'll get only one extra tick due to uncancelled tick scheduled before we entered dynticks mode. This also removes a needless clockevent write on idle ticks. Since those clock write are usually considered to be slow, it's a general win. Reviewed-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx> Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx> commit 06b2afc0b9a26e7673856a24ab57bfb307dad394 Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Wed Aug 20 23:25:11 2014 -0400 perf machine: Fallback to MAP__FUNCTION if daddr maps are NULL As we run "perf c2c" on more applications, we noticed we're missing significant samples from a common customer's application. Looking at the /proc/<pid>/maps file for the app, we see "rwxs" and "rwxp" permissions on many of the shared memory & heap regions, and on all the thread stacks. Because those regions have the "x" bit set, perf marks them with a MAP_FUNCTION type. Hence ip_resolve_data() never finds load or store events coming from them. We fixed this by re-calling thread__find_addr_location with MAP__FUNCTION in the case where map is NULL as a last ditch effort to map the sample before giving up and dropping it. Reported-by: Joe Mario <jmario@xxxxxxxxxx> Tested-by: Joe Mario <jmario@xxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joe Mario <jmario@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408591511-57884-1-git-send-email-dzickus@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c09a7e755c025558cb882fa20a5f30da738536fa Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Aug 21 10:15:45 2014 +0900 perf hists browser: Cleanup callchain print functions The hist_browser__show_callchain() and friends don't need to be that complex. They're splitted in 3 pieces - one for traversing top-level tree, other one for special casing first chains in the top-level entries, and last one for recursive traversing inner trees. It led to code duplication and unnecessary complexity IMHO. Simplify the function and consolidate the logic into a single function - it can recursively call itself. A little difference in printing callchains in top-level tree can be handled with a small change. It should have no functional change. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408583746-5540-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fbe2af45f6bd27ee69fd775303c936c3af4a4807 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 15 22:08:39 2014 +0300 perf tools: Add machine__kernel_ip() Add a function to determine if an address is in the kernel. This is based on the kernel function kernel_ip(). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408129739-17368-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4b99375b38fa137f501cfa60b70e3f0a9da39c93 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 15 22:08:38 2014 +0300 perf machine: Rename machine__get_kernel_start_addr() method Rename machine__get_kernel_start_addr() to machine__get_running_kernel_start() so that a new function, with a similar name to the original name, can be added that gets the kernel start address from the kernel map. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408129739-17368-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d445dd2a78eed884adf3b3426b078fe69d2516d8 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 15 22:08:37 2014 +0300 perf scripting: Add 'flush' callback to scripting API In order to defer some output via the scripting API, there needs to be a callback after session processing but before the session is deleted. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408129739-17368-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d44bc558297222d9a621fff2eca3f880e91c49f7 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Fri Aug 15 22:08:36 2014 +0300 perf tests: Add a test for tracking with sched_switch Add a test that checks that sched_switch events and tracking events can be recorded for a workload using the evsel->system_wide and evsel->tracking flags (respectively) with other events sometimes enabled or disabled. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408129739-17368-2-git-send-email-adrian.hunter@xxxxxxxxx [ Fix build on fedora14 by using a designated initializer for the sched_switch variable ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 08223d80df38e666a42d7c82eb340db55c6e03bd Author: Dan Williams <dan.j.williams@xxxxxxxxx> Date: Tue Aug 19 06:07:56 2014 -0700 dmaengine maintainer update I am stepping down as dmaengine maintainer as the bulk of the activity in the subsystem is primarily targeted at the slave-dma case handled by Vinod, and I have recently been unable to give the few patches I do receive timely review. There is still an item in my backlog to eliminate the async_tx api and the constraints it poses on dmaengine drivers, but I need not hold on to the maintainer role in the meantime. I will still be subscribed to dmaengine@xxxxxxxxxxxxxxx to answer questions, but all patches should be routed through Vinod unless/until a maintainer for the non-slave-dma use case arrives. It is non-entirely clear at this point that there is enough work going forward for a separate maintainer of the pure-offload case. Ongoing development of the ioatdma driver is handled by Dave. I'm still interested in reviewing ioatdma patches, but he is the primary maintainer/developer going forward. IOP platforms are not generating any traffic in my inbox, but if a patch did arrive I've long since lost access to hardware. Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Cc: Dave Jiang <dave.jiang@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 8e1f50d7433b9a6e52cb296943f53c3ce8189ea5 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Fri Aug 22 15:19:44 2014 +0300 dmatest: prevent memory leakage on error path in thread When we fail to allocate memory for thread->srcs or thread->dsts and src_cnt or dst_cnt great than 1 we leak memory on error path. This patch fixes the issue. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 373c57829a3f9da1405b1fbd3d17e50f8e1f476e Author: Alan Cox <alan@xxxxxxxxxxxxxxx> Date: Tue Aug 19 17:18:29 2014 +0300 pwm: lpss: Add ACPI and PCI IDs for Intel Braswell This is pretty much the same as Baytrail PWM. Only difference is that the input clock runs on different frequency. Signed-off-by: Alan Cox <alan@xxxxxxxxxxxxxxx> Signed-off-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit 7285996aa0006d671bb01f0d35991d254b2b2b01 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Jun 4 00:52:31 2014 -0700 kconfig: nconfig: fix multi-byte UTF handling Currently, Kconfig descriptions that use multi-byte UTF-8 characters (such as MTD_NAND_CAFE) will have their menu entries dropped from the 'make nconfig' ncurses menu, and all subsequent entries in the same window will be omitted. This seems to be due to the ncurses 'menu' library, which does not traditionally handle UTF-8 >8-bit characters properly. The ncursesw library ('w' is for "wide") is written to handle these UTF-8 characters, and is practically a drop-in replacement at the source level. Use it by default, if available. Link: https://bugzilla.kernel.org/show_bug.cgi?id=43067 Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: "Yann E. MORIN" <yann.morin.1998@xxxxxxx> Cc: Martin Walch <walch.martin@xxxxxx> Acked-by: Sam Ravnborg <sam@xxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit c40724d3f38122b8ae06367a425a63c24988c10f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Wed Jun 4 00:52:30 2014 -0700 kconfig: lxdialog: fix spelling Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: "Yann E. MORIN" <yann.morin.1998@xxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 00018a8ae5c552a2464e0df15437511ba4f56495 Author: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Date: Thu Aug 21 20:50:25 2014 -0300 pwm: fsl-ftm: Select REGMAP_MMIO Commit 42fa98a9c360 ("pwm: fsl-ftm: Convert to direct regmap API usage") introduced the following error when REGMAP_MMIO=n: drivers/built-in.o: In function `fsl_pwm_probe': >> pwm-fsl-ftm.c:(.text+0xd7d7): undefined reference to `devm_regmap_init_mmio_clk' Select select REGMAP_MMIO in order to fix this error. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Fabio Estevam <fabio.estevam@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit f170b97c9ad0b8ba3e99f02cbadc7676383fee09 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 16:28:34 2014 +0200 ARM: shmobile: sh73a0 dtsi: Move interrupt-parent to the top Add an "interrupt-parent = <&gic>;" at the top, which is inherited by all child nodes, so the "interrupt-parent" properties can be removed from the individual child nodes. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5fb1453c2ff02ce5e5298351ff774e19f8d9dbb3 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 16:31:02 2014 +0200 ARM: shmobile: r8a7791 dtsi: Remove superfluous interrupt-parent There's already an "interrupt-parent = <&gic>;" at the top, which is inherited by all child nodes, so the "interrupt-parent" property in the sound node can be removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 980724eb5b56b43d0ff2c7a7f5cf6e5ba290d2e5 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 16:28:32 2014 +0200 ARM: shmobile: r8a7790 dtsi: Remove superfluous interrupt-parent There's already an "interrupt-parent = <&gic>;" at the top, which is inherited by all child nodes, so the "interrupt-parent" property in the sound node can be removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6a7147f53f29887e627d84c0a562c8bb87691e9d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 16:28:31 2014 +0200 ARM: shmobile: r8a7779 dtsi: Remove superfluous interrupt-parent There's already an "interrupt-parent = <&gic>;" at the top, which is inherited by all child nodes, so the "interrupt-parent" properties in the serial nodes can be removed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 86155b35d173317518458c6f9c0a3ea8c5324bed Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 15:39:23 2014 +0200 ARM: shmobile: Move legacy INTC definitions from irqs.h to intc.h Move all definitions for legacy INTC from the common "irqs.h" to the INTC-specific "intc.h". Include "intc.h" in sh7372/sh73a0 CPU and board files where needed. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> [horms+renesas@xxxxxxxxxxxx: omitted whitespace change] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 664b4c172209f076866419a5a4162e4fc9631807 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:10:15 2014 +0900 ARM: shmobile: ape6evm: Remove duplicate CPUFreq bits The CPUFreq platform device is already registered by shmobile_init_late(), so get rid of ape6evm specific bits. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit aa0bdc303b0f8bc59fc0a0645560917810ba041b Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:07:07 2014 +0900 ARM: shmobile: sh73a0: Remove duplicate CPUFreq bits The CPUFreq platform device is already registered by shmobile_init_late(), so get rid of sh73a0 specific bits. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d6fb17ad7c9e0aa28ce0bc2e33790f9459677370 Author: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Date: Fri Aug 8 16:23:09 2014 +0200 ARM: shmobile: r8a7740: clock register bits Contains the header file with the clock pulse generator and MSTP bits. Signed-off-by: Ulrich Hecht <ulrich.hecht+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fc35ca258c079411b64ed94e517eb04e7d89bc44 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:03:30 2014 +0900 ARM: shmobile: kzm9g: Use shmobile_init_delay() Adjust the KZM9G board support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ca609e666c47cceb64610ad703dda1bebafef605 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:03:21 2014 +0900 ARM: shmobile: bockw: Use shmobile_init_delay() Adjust the BockW board support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6fe950ebfd3a374c78ce66a335fce258648426a1 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:54 2014 +0900 ARM: shmobile: r8a7778: Use shmobile_init_delay() Adjust the r8a7778 SoC support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Get rid of the C code version. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5df622a56b7da3c54609f26cc6221ab3382efaaf Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:45 2014 +0900 ARM: shmobile: sh73a0: Use shmobile_init_delay() Adjust the sh73a0 SoC support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Get rid of the C code version. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7dd4cfd7f8c2976a8d65022146386480474501ca Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:03:12 2014 +0900 ARM: shmobile: Remove shmobile_setup_delay() All ARM mach-shmobile SoCs and boards now rely on DTS for CPU Frequency information, so remove the unused function shmobile_setup_delay(). While at it, make the function shmobile_setup_delay_hz() static. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f5720080b51d61c33dc559fedab9a601930e95c1 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:03:03 2014 +0900 ARM: shmobile: r8a73a4: Use shmobile_init_delay() Adjust the r8a73a4 SoC support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Get rid of the C code version and r8a73a4_init_early() that now are unused. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 39b22e20a3086002c5abe0c569cf11a71bc17faf Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:36 2014 +0900 ARM: shmobile: sh7372: Use shmobile_init_delay() Adjust the sh7372 SoC support code to use shmobile_init_delay() together with CPU Frequency settings from the DTS. Get rid of the C code version. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 869f92aed207f2f6e595ea41c841bd9ad0c0d0d4 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:27 2014 +0900 ARM: shmobile: r8a7778: Update DTS to include CPU frequency Add CPU Frequency information to the r8a7778 DTS file. This will allow us to use the shared C code on r8a7778 and BockW which reads out the clock frequency from DT and calculates the delay settings from there. Also add other missing CPU information to the r8a7778 DTS. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 13bd825bdd5c087d156d294b427d05dcf9bff281 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:19 2014 +0900 ARM: shmobile: sh73a0: Update DTS to include CPU frequency Add CPU Frequency information to the sh73a0 DTS file. This will allow us to use the shared C code on sh73a0 and KZM9G which reads out the clock frequency from DT and calculates the delay settings from there. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2340cd112933ee837aa83017a6da23c72565d501 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Wed Aug 20 22:02:10 2014 +0900 ARM: shmobile: sh7372: Update DTS to include CPU frequency Add CPU Frequency information to the sh7372 DTS file. This will allow us to use the shared C code on sh7372 and Mackerel which reads out the clock frequency from DT and calculates the delay settings from there. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 93acbd2cd2482cb51bec70a1494fddf2c172c073 Merge: 5ac9e7f 3969d64 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Fri Aug 22 11:31:47 2014 +0900 Merge branch 'boards-for-v3.18' into soc-init-delay-for-v3.18.base commit 462004f1215ccb77969004a049aa5437f34c9b06 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Thu Aug 21 17:54:55 2014 -0700 regulator: rk808: Fix uninitialized value The RK808 regulator driver was putting its config on the stack but not initting it. That means that you got a semi-random config. Fix this. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ed48b5d6fd339d145df5a6a1e48cf56ef265cf4f Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:50:51 2014 +0400 ARM: shmobile: r8a7791: Add JPU clock dt and CPG define. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit da076a888ab19f13816372796ed231e7d6ff5fed Author: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:50:49 2014 +0400 ARM: shmobile: r8a7790: Add JPU clock dt and CPG define. Signed-off-by: Mikhail Ulyanov <mikhail.ulyanov@xxxxxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 99923753e7c17a9c9d46bfe4d7fa543e426ec647 Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Fri Aug 15 06:36:28 2014 +0900 ARM: shmobile: bockw: Do not disable SUSPEND in defconfig As of "ARM: shmobile: r8a7778: Add missing call to shmobile_init_late()" suspend-to-ram is now supported on the r8a7778 SoC and thus the bockw board. Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8913dc0bb913ac3dc83ed5c10bac2f4e55431981 Author: Paul Zimmerman <Paul.Zimmerman@xxxxxxxxxxxx> Date: Thu Aug 21 20:28:20 2014 +0000 usb: gadget: document a usb_ep_dequeue() requirement Document the requirement that the request be dequeued and its completion routine called before usb_ep_dequeue() returns. Also fix some capitalization issues in the existing text. Signed-off-by: Paul Zimmerman <paulz@xxxxxxxxxxxx> Acked-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit b250392f7b5062cf026b1423e27265e278fd6b30 Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Fri Aug 15 21:15:53 2014 -0300 [media] media: ttpci: fix av7110 build to be compatible with CONFIG_INPUT_EVDEV Fix build when CONFIG_INPUT_EVDEV=m and DVB_AV7110=y. Only build av7110_ir.c when CONFIG_INPUT_EVDEV is compatible with CONFIG_DVB_AV7110. Fixes these build errors: drivers/built-in.o: In function `input_sync': av7110_ir.c:(.text+0x1223ac): undefined reference to `input_event' drivers/built-in.o: In function `av7110_emit_key': av7110_ir.c:(.text+0x12247c): undefined reference to `input_event' av7110_ir.c:(.text+0x122495): undefined reference to `input_event' av7110_ir.c:(.text+0x122569): undefined reference to `input_event' av7110_ir.c:(.text+0x1225a7): undefined reference to `input_event' drivers/built-in.o:av7110_ir.c:(.text+0x122629): more undefined references to `input_event' follow drivers/built-in.o: In function `av7110_ir_init': (.text+0x1227e4): undefined reference to `input_allocate_device' drivers/built-in.o: In function `av7110_ir_init': (.text+0x12298f): undefined reference to `input_register_device' drivers/built-in.o: In function `av7110_ir_init': (.text+0x12299e): undefined reference to `input_free_device' drivers/built-in.o: In function `av7110_ir_exit': (.text+0x122a94): undefined reference to `input_unregister_device' drivers/built-in.o: In function `av7110_detach': av7110.c:(.text+0x228d4a): undefined reference to `av7110_ir_exit' drivers/built-in.o: In function `arm_thread': av7110.c:(.text+0x22a404): undefined reference to `av7110_check_ir_config' av7110.c:(.text+0x22a626): undefined reference to `av7110_check_ir_config' drivers/built-in.o: In function `av7110_attach': av7110.c:(.text+0x22b08c): undefined reference to `av7110_ir_init' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Reported-by: Jim Davis <jim.epost@xxxxxxxxx> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 85c1abcb5251673d18325576f4923bb78af479de Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Fri Aug 15 16:16:46 2014 -0300 [media] usbtv: Make it dependent on ALSA Now that alsa code is part of the driver, it can be compiled only if alsa is enabled. drivers/built-in.o: In function `snd_usbtv_hw_free': >> usbtv-audio.c:(.text+0x21eb55): undefined reference to `snd_pcm_lib_free_pages' drivers/built-in.o: In function `snd_usbtv_hw_params': >> usbtv-audio.c:(.text+0x21eb72): undefined reference to `snd_pcm_lib_malloc_pages' drivers/built-in.o: In function `usbtv_audio_urb_received': >> usbtv-audio.c:(.text+0x21ed66): undefined reference to `snd_pcm_link_rwlock' >> usbtv-audio.c:(.text+0x21ed9f): undefined reference to `snd_pcm_link_rwlock' >> usbtv-audio.c:(.text+0x21edf5): undefined reference to `snd_pcm_period_elapsed' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f00a): undefined reference to `snd_card_new' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f0a2): undefined reference to `snd_pcm_new' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f0e5): undefined reference to `snd_pcm_set_ops' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f103): undefined reference to `snd_pcm_lib_preallocate_pages_for_all' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f10c): undefined reference to `snd_card_register' drivers/built-in.o: In function `usbtv_audio_init': >> (.text+0x21f12a): undefined reference to `snd_card_free' drivers/built-in.o: In function `usbtv_audio_free': >> (.text+0x21f15c): undefined reference to `snd_card_free' >> drivers/built-in.o:(.data+0x43250): undefined reference to `snd_pcm_lib_ioctl' Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 66cae53024c4b73d40b4e78c557a73e082522aed Author: Shuah Khan <shuah.kh@xxxxxxxxxxx> Date: Wed Aug 13 15:52:39 2014 -0300 [media] media: fix au0828 dvb suspend/resume to call dvb_frontend_suspend/resume au0828 doesn't resume correctly and TV tuning fails with xc_set_signal_source(0) failed message. Change au0828 dvb suspend and resume interfaces to suspend and resume frontend during suspend and resume respectively. dvb_frontend_suspend() suspends tuner and fe using tuner and fe ops. dvb_frontend_resume() resumes fe and tuner using fe and tuner ops ini before waking up the frontend. With this change HVR950Q suspend and resume work when system gets suspended when digital function is tuned to a channel and with active TV stream, and after resume it went right back to active TV stream. Signed-off-by: Shuah Khan <shuah.kh@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 662c97cf8f9e9d67d45d0a9f0c1565a1ede364c2 Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Aug 9 06:37:21 2014 -0300 [media] em28xx-v4l: fix video buffer field order reporting in progressive mode The correct field order in progressive mode is V4L2_FIELD_NONE, not V4L2_FIELD_INTERLACED. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 627530c32a43283474e9dd3e954519410ffa033a Author: Frank Schaefer <fschaefer.oss@xxxxxxxxxxxxxx> Date: Sat Aug 9 06:37:20 2014 -0300 [media] em28xx-v4l: give back all active video buffers to the vb2 core properly on streaming stop When a new video frame is started, the driver takes the next video buffer from the list of active buffers and moves it to dev->usb_ctl.vid_buf / dev->usb_ctl.vbi_buf for further processing. On streaming stop we currently only give back the pending buffers from the list but not the ones which are currently processed. This causes the following warning from the vb2 core since kernel 3.15: ... ------------[ cut here ]------------ WARNING: CPU: 1 PID: 2284 at drivers/media/v4l2-core/videobuf2-core.c:2115 __vb2_queue_cancel+0xed/0x150 [videobuf2_core]() [...] Call Trace: [<c0769c46>] dump_stack+0x48/0x69 [<c0245b69>] warn_slowpath_common+0x79/0x90 [<f925e4ad>] ? __vb2_queue_cancel+0xed/0x150 [videobuf2_core] [<f925e4ad>] ? __vb2_queue_cancel+0xed/0x150 [videobuf2_core] [<c0245bfd>] warn_slowpath_null+0x1d/0x20 [<f925e4ad>] __vb2_queue_cancel+0xed/0x150 [videobuf2_core] [<f925fa35>] vb2_internal_streamoff+0x35/0x90 [videobuf2_core] [<f925fac5>] vb2_streamoff+0x35/0x60 [videobuf2_core] [<f925fb27>] vb2_ioctl_streamoff+0x37/0x40 [videobuf2_core] [<f8e45895>] v4l_streamoff+0x15/0x20 [videodev] [<f8e4925d>] __video_do_ioctl+0x23d/0x2d0 [videodev] [<f8e49020>] ? video_ioctl2+0x20/0x20 [videodev] [<f8e48c63>] video_usercopy+0x203/0x5a0 [videodev] [<f8e49020>] ? video_ioctl2+0x20/0x20 [videodev] [<c039d0e7>] ? fsnotify+0x1e7/0x2b0 [<f8e49012>] video_ioctl2+0x12/0x20 [videodev] [<f8e49020>] ? video_ioctl2+0x20/0x20 [videodev] [<f8e4461e>] v4l2_ioctl+0xee/0x130 [videodev] [<f8e44530>] ? v4l2_open+0xf0/0xf0 [videodev] [<c0378de2>] do_vfs_ioctl+0x2e2/0x4d0 [<c0368eec>] ? vfs_write+0x13c/0x1c0 [<c0369a8f>] ? vfs_writev+0x2f/0x50 [<c0379028>] SyS_ioctl+0x58/0x80 [<c076fff3>] sysenter_do_call+0x12/0x12 ---[ end trace 5545f934409f13f4 ]--- ... Many thanks to Hans Verkuil, whose recently added check in the vb2 core unveiled this long standing issue and who has investigated it further. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Frank Schäfer <fschaefer.oss@xxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c0d04f4026c305eadeac6cfdffdbac5fcdf9bc60 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 03:20:01 2014 -0300 [media] via-camera: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7c5a62e1eee1f59a5d2c25bbd28f0929811ffefa Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 03:19:20 2014 -0300 [media] sh_veu: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 91ba0e59babdb3c7aca836a65f1095b3eaff7b06 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Fri Aug 8 10:32:56 2014 -0300 [media] tda7432: Fix setting TDA7432_MUTE bit for TDA7432_RF register Fix a copy-paste bug when converting to the control framework. Fixes: commit 5d478e0de871 ("[media] tda7432: convert to the control framework") Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a14e55190b8ac8305870ed9f7b5e1375ed870a34 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 03:01:39 2014 -0300 [media] soc_camera: ov772x: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 665152a4fb9f60df1c28cee8ab2634a6533edb9c Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 03:00:44 2014 -0300 [media] soc_camera: mt9t112: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 37096b476b45e60b2b264d0b517089b47cb9374b Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 02:59:44 2014 -0300 [media] vs6624: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4721b3eb662ca5ea60a636f0f190f2fd2ac5df14 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sat Aug 9 02:58:40 2014 -0300 [media] ov7670: Include media/v4l2-image-sizes.h So we can remove the same defines in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Jonathan Corbet <corbet@xxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6e533c01a89fbb8b1a5c58808540e798e2dad645 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Wed Aug 6 03:52:08 2014 -0300 [media] v4l: Event documentation fixes Constify event type constants and correct motion detection event number (it's 6, not 5). Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6ddc2be511a76e6c3f689f46155cb0f4c8f5876e Author: Ulrich Eckhardt <uli-lirc@xxxxxxxxxxxxxxx> Date: Sat Jul 26 15:01:12 2014 -0300 [media] imon: Fix not working front panel Make the front panel buttons working after another button on the remote was pressed. Signed-off-by: Ulrich Eckhardt <uli@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7b5fc0714976aec5db5c4f8c66f12b23f5049b97 Author: Ulrich Eckhardt <uli@xxxxxxxxxxxxxxx> Date: Sat Jul 26 14:59:07 2014 -0300 [media] imon: Add internal key table for 15c2:0034 Add the key table for the Thermaltake DH-102 to the USB-Id 15c2:0034. Signed-off-by: Ulrich Eckhardt <uli@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0d8053f2ace52c816800193d705ea82a2ffd6dc8 Author: Ulrich Eckhardt <uli-lirc@xxxxxxxxxxxxxxx> Date: Sat Jul 26 14:56:01 2014 -0300 [media] imon: Define keytables per USB Device Id This patch defines the keytables per USB Device ID. Signed-off-by: Ulrich Eckhardt <uli@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d4b32646468088323f27a7788ce3b07191015142 Author: Vitaly Osipov <vitaly.osipov@xxxxxxxxx> Date: Thu Jun 5 04:07:48 2014 -0300 [media] staging: omap4iss: copy paste error in iss_get_clocks It makes more sense to return PTR_ERR(iss->iss_ctrlclk) here. The current code looks like an oversight in pasting the block just above this one. Signed-off-by: Vitaly Osipov <vitaly.osipov@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 63ddf68de52efaac40a9287e44266ac30e71dd36 Author: Federico Simoncelli <fsimonce@xxxxxxxxxx> Date: Mon Aug 11 18:42:22 2014 -0300 [media] usbtv: add audio support Add an ALSA handler inside usbtv module, in order to make audio to work with those devices. Signed-off-by: Federico Simoncelli <fsimonce@xxxxxxxxxx> Tested-by: Lubomir Rintel <lkundrak@xxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c8fa50549dc6e717e0941ee7092a973388253c7a Author: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Date: Sun Aug 10 17:30:18 2014 -0300 [media] drivers: media: pci: Makefile: Remove duplicate subdirectory from obj-y In the list of subdirectories compiled, b2c2/ appears twice. This patch removes one of the appearances. Signed-off-by: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 6af6e9c84fcc8f86b15be607a9ae8afd1d1686ea Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 10 06:41:31 2014 -0300 [media] saa6752hs: Convert to devm_kzalloc() Using the managed function the kfree() calls can be removed from the probe error path and the remove handler. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 43e9d4ab0c14ccff3ed27f8e43274571e286f0ed Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 12:19:13 2014 -0300 [media] cx23885: Spelling s/compuations/computations/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d720b7aff6481b99a42d484383d7e19d86323b5d Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 12:19:12 2014 -0300 [media] cx25840: Spelling s/compuations/computations/ Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0821344d9e805912f1971c58318547ea62984321 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Aug 8 09:59:02 2014 -0300 [media] vb2: use pr_info instead of pr_debug Modern kernels enable dynamic printk support, which is fine, except when it is combined with a debug module option. Enabling debug in videobuf2-core now produces no debugging unless it is also enabled through the dynamic printk support in debugfs. Either use a debug module option + pr_info, or use pr_debug without a debug module option. In this case the fact that you can set various debug levels is very useful, so I believe that for videobuf2-core.c we should use pr_info. The mix of the two is very confusing: I've spent too much time already trying to figure out why I am not seeing any debug output in the kernel log when I do: echo 1 >/sys/modules/videobuf2_core/parameters/debug Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 83acb75d0dd37bd2eb24168f26d01c747ece3fc7 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Fri Aug 8 04:38:09 2014 -0300 [media] DocBook media: fix order of v4l2_edid fields The order of the last two fields in the G/S_EDID specification was swapped from what is in the actual struct. Fix this. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f035eb4e976ef5a059e30bc91cfd310ff030a7d3 Author: Hans Verkuil <hverkuil@xxxxxxxxx> Date: Thu Aug 7 03:47:14 2014 -0300 [media] videobuf2: fix lockdep warning The following lockdep warning has been there ever since commit a517cca6b24fc54ac209e44118ec8962051662e3 one year ago: [ 403.117947] ====================================================== [ 403.117949] [ INFO: possible circular locking dependency detected ] [ 403.117953] 3.16.0-rc6-test-media #961 Not tainted [ 403.117954] ------------------------------------------------------- [ 403.117956] v4l2-ctl/15377 is trying to acquire lock: [ 403.117959] (&dev->mutex#3){+.+.+.}, at: [<ffffffffa005a6c3>] vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.117974] [ 403.117974] but task is already holding lock: [ 403.117976] (&mm->mmap_sem){++++++}, at: [<ffffffff8118291f>] vm_mmap_pgoff+0x6f/0xc0 [ 403.117987] [ 403.117987] which lock already depends on the new lock. [ 403.117987] [ 403.117990] [ 403.117990] the existing dependency chain (in reverse order) is: [ 403.117992] [ 403.117992] -> #1 (&mm->mmap_sem){++++++}: [ 403.117997] [<ffffffff810d733c>] validate_chain.isra.39+0x5fc/0x9a0 [ 403.118006] [<ffffffff810d8bc3>] __lock_acquire+0x4d3/0xd30 [ 403.118010] [<ffffffff810d9da7>] lock_acquire+0xa7/0x160 [ 403.118014] [<ffffffff8118c9ec>] might_fault+0x7c/0xb0 [ 403.118018] [<ffffffffa0028a25>] video_usercopy+0x425/0x610 [videodev] [ 403.118028] [<ffffffffa0028c25>] video_ioctl2+0x15/0x20 [videodev] [ 403.118034] [<ffffffffa0022764>] v4l2_ioctl+0x184/0x1a0 [videodev] [ 403.118040] [<ffffffff811d77d0>] do_vfs_ioctl+0x2f0/0x4f0 [ 403.118307] [<ffffffff811d7a51>] SyS_ioctl+0x81/0xa0 [ 403.118311] [<ffffffff8199dc69>] system_call_fastpath+0x16/0x1b [ 403.118319] [ 403.118319] -> #0 (&dev->mutex#3){+.+.+.}: [ 403.118324] [<ffffffff810d6a96>] check_prevs_add+0x746/0x9f0 [ 403.118329] [<ffffffff810d733c>] validate_chain.isra.39+0x5fc/0x9a0 [ 403.118333] [<ffffffff810d8bc3>] __lock_acquire+0x4d3/0xd30 [ 403.118336] [<ffffffff810d9da7>] lock_acquire+0xa7/0x160 [ 403.118340] [<ffffffff81999664>] mutex_lock_interruptible_nested+0x64/0x640 [ 403.118344] [<ffffffffa005a6c3>] vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118349] [<ffffffffa0022122>] v4l2_mmap+0x62/0xa0 [videodev] [ 403.118354] [<ffffffff81197270>] mmap_region+0x3d0/0x5d0 [ 403.118359] [<ffffffff8119778d>] do_mmap_pgoff+0x31d/0x400 [ 403.118363] [<ffffffff81182940>] vm_mmap_pgoff+0x90/0xc0 [ 403.118366] [<ffffffff81195cef>] SyS_mmap_pgoff+0x1df/0x2a0 [ 403.118369] [<ffffffff810085c2>] SyS_mmap+0x22/0x30 [ 403.118376] [<ffffffff8199dc69>] system_call_fastpath+0x16/0x1b [ 403.118381] [ 403.118381] other info that might help us debug this: [ 403.118381] [ 403.118383] Possible unsafe locking scenario: [ 403.118383] [ 403.118385] CPU0 CPU1 [ 403.118387] ---- ---- [ 403.118388] lock(&mm->mmap_sem); [ 403.118391] lock(&dev->mutex#3); [ 403.118394] lock(&mm->mmap_sem); [ 403.118397] lock(&dev->mutex#3); [ 403.118400] [ 403.118400] *** DEADLOCK *** [ 403.118400] [ 403.118403] 1 lock held by v4l2-ctl/15377: [ 403.118405] #0: (&mm->mmap_sem){++++++}, at: [<ffffffff8118291f>] vm_mmap_pgoff+0x6f/0xc0 [ 403.118411] [ 403.118411] stack backtrace: [ 403.118415] CPU: 0 PID: 15377 Comm: v4l2-ctl Not tainted 3.16.0-rc6-test-media #961 [ 403.118418] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/31/2013 [ 403.118420] ffffffff82a6c9d0 ffff8800af37fb00 ffffffff819916a2 ffffffff82a6c9d0 [ 403.118425] ffff8800af37fb40 ffffffff810d5715 ffff8802308e4200 0000000000000000 [ 403.118429] ffff8802308e4a48 ffff8802308e4a48 ffff8802308e4200 0000000000000001 [ 403.118433] Call Trace: [ 403.118441] [<ffffffff819916a2>] dump_stack+0x4e/0x7a [ 403.118445] [<ffffffff810d5715>] print_circular_bug+0x1d5/0x2a0 [ 403.118449] [<ffffffff810d6a96>] check_prevs_add+0x746/0x9f0 [ 403.118455] [<ffffffff8119c172>] ? find_vmap_area+0x42/0x70 [ 403.118459] [<ffffffff810d733c>] validate_chain.isra.39+0x5fc/0x9a0 [ 403.118463] [<ffffffff810d8bc3>] __lock_acquire+0x4d3/0xd30 [ 403.118468] [<ffffffff810d9da7>] lock_acquire+0xa7/0x160 [ 403.118472] [<ffffffffa005a6c3>] ? vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118476] [<ffffffffa005a6c3>] ? vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118480] [<ffffffff81999664>] mutex_lock_interruptible_nested+0x64/0x640 [ 403.118484] [<ffffffffa005a6c3>] ? vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118488] [<ffffffffa005a6c3>] ? vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118493] [<ffffffff810d8055>] ? mark_held_locks+0x75/0xa0 [ 403.118497] [<ffffffffa005a6c3>] vb2_fop_mmap+0x33/0x90 [videobuf2_core] [ 403.118502] [<ffffffffa0022122>] v4l2_mmap+0x62/0xa0 [videodev] [ 403.118506] [<ffffffff81197270>] mmap_region+0x3d0/0x5d0 [ 403.118510] [<ffffffff8119778d>] do_mmap_pgoff+0x31d/0x400 [ 403.118513] [<ffffffff81182940>] vm_mmap_pgoff+0x90/0xc0 [ 403.118517] [<ffffffff81195cef>] SyS_mmap_pgoff+0x1df/0x2a0 [ 403.118521] [<ffffffff810085c2>] SyS_mmap+0x22/0x30 [ 403.118525] [<ffffffff8199dc69>] system_call_fastpath+0x16/0x1b The reason is that vb2_fop_mmap and vb2_fop_get_unmapped_area take the core lock while they are called with the mmap_sem semaphore held. But elsewhere in the code the core lock is taken first but calls to copy_to/from_user() can take the mmap_sem semaphore as well, potentially causing a classical A-B/B-A deadlock. However, the mmap/get_unmapped_area calls really shouldn't take the core lock at all. So what would happen if they don't take the core lock anymore? There are two situations that need to be taken into account: calling mmap while new buffers are being added and calling mmap while buffers are being deleted. The first case works almost fine without a lock: in all cases mmap relies on correctly filled-in q->num_buffers/q->num_planes values and those are only updated by reqbufs and create_buffers *after* any new buffers have been initialized completely. Except in one case: if an error occurred while allocating the buffers it will increase num_buffers and rely on __vb2_queue_free to decrease it again. So there is a short period where the buffer information may be wrong. The second case definitely does pose a problem: buffers may be in the process of being deleted, without the internal structure being updated. In order to fix this a new mutex is added to vb2_queue that is taken when buffers are allocated or deleted, and in vb2_mmap. That way vb2_mmap won't get stale buffer data. Note that this is a problem only for MEMORY_MMAP, so even though __qbuf_userptr and __qbuf_dmabuf also mess around with buffers (mem_priv in particular), this doesn't clash with vb2_mmap or vb2_get_unmapped_area since those are MMAP specific. As an additional bonus the hack in __buf_prepare, the USERPTR case, can be removed as well since mmap() no longer takes the core lock. All in all a much cleaner solution. Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 23d3090f8b44ab42162e99e8584445bc25b8922f Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Tue Aug 5 05:11:13 2014 -0300 [media] vmalloc_sg: off by one in error handling The "i--" needs to happen at the start of the loop or it will try to release something bogus (probably it will crash) and it won't release the first ->vaddr_page[]. Fixes: 7b4eeed174b7 ('[media] vmalloc_sg: make sure all pages in vmalloc area are really DMA-ready') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5b6aa199196220a5901c8d9cbad497fea347850a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 21:35:44 2014 -0300 [media] as102-fe: Add a release function This is needed to free state and for dvb_detach() to be called. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4628f993bf66d595226d019e87a4baca636b71e2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:24 2014 -0300 [media] as102: add missing viterbi lock In order to get FE_HAS_SYNC, the viterbi should already be locked too. So, add the missing FE_HAS_VITERBI lock. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit dcae77814865122ed411de1a4e8ebd02796cf3c4 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:23 2014 -0300 [media] as102-fe: make it an independent driver Move as102-fe to dvb-frontends directory and make it an independent driver. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 47f79129ecf5fd12d847c2e63b6ce39d1df4a648 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:22 2014 -0300 [media] as102: prepare as102_fe to be compiled as a module Remove the dependencies of as102_cmd from as102, in order to allow it to be compiled as a separate module. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c098c219b0c2da64250dd0542c5c54ca7245d1a5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:21 2014 -0300 [media] as102: get rid of as10x_fe_copy_tps_parameters() This function just converts from the as10x internal data into the DVBv5 cache. Get rid of it. No functional changes. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1d6207fd2c262deb7006c9269eec33e64c5e514f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:20 2014 -0300 [media] as102: get rid of as102_fe_copy_tune_parameters() This function just parses the frontend cache and converts to the as102 internal format message. Get rid of it. No functional changes. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b601d9a5d668119219d1db95cbe04fdc38eaf5a4 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:19 2014 -0300 [media] as102: Move ancillary routines to the beggining Avoid having function prototypes by moving some ancillary routines to the beginning of the file. No functional changes. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d8eb070b6649c1663204300555fb740affc6cdc2 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:18 2014 -0300 [media] as102: better name the unknown frontend Make the frontend .name more coherent with DVB namespace. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1d5c2bb1f9ded9af7bb7e4d2b9beeacbfdbc6f2b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:17 2014 -0300 [media] as102: CodingStyle fixes Fix this warning: WARNING: quoted string split across lines 566: FILE: drivers/media/usb/as102/as102_fe.c:141: + "demod status: fc: 0x%08x, bad fc: 0x%08x, " + "bytes corrected: 0x%08x , MER: 0x%04x\n", Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1f2563d68cce0d45b81a47894c135f65f192b1a9 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:16 2014 -0300 [media] as102: get rid of FSF mail address Make checkpatch happier by removing FSF mail address. No functional changes. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d6317c68f3324e086799e12e4864231bb71829cb Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Tue Aug 12 18:50:15 2014 -0300 [media] as102: promote it out of staging This driver is stable and doesn't contain any really serious issue. Move it out of staging. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2179de602c33d0b7b87f087dd7fbf35d22da4bd8 Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Mon Aug 4 08:13:16 2014 -0300 [media] staging: media: as102: replace custom dprintk() with dev_dbg() remove dprintk() and replace it with dev_dbg() or pr_debug() in order to use the common kernel coding style. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 29bbb7bd0a65e01a0423e1df764676119b71ecb3 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Mon Aug 11 18:09:32 2014 -0300 [media] siano: add support for PCTV 77e Add support for PCTV microStick (77e) device that uses a sms1140 chipset. Cc: stable@xxxxxxxxxxxxxxx Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a328e7e3fd3030974b74da51daee625a14be0435 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Wed Jun 11 10:37:36 2014 -0300 [media] smiapp: Set 64-bit integer control using v4l2_ctrl_s_ctrl_int64() Don't manipulate struct v4l2_ctrl directly. Instead, use v4l2_ctrl_s_ctrl_int64() to change the values. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e47a81d8886d0262f9f6a4ecf7aa7e6ba2cb0dfc Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Wed Jun 11 10:34:35 2014 -0300 [media] smiapp: Use unlocked __v4l2_ctrl_modify_range() Instead of modifying the control ranges directly by manipulating struct v4l2_ctrl, use __v4l2_ctrl_modify_range() for the purpose. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f23797b636c4d69b29d2739ba5fc0e36b4e47390 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Aug 6 08:02:23 2014 -0300 [media] coda: checkpatch cleanup This patch breaks most long lines, concatenates broken up text strings, and adds or removes parentheses where needed to make checkpatch happy. The long codec list lines and a few 81-wide lines remain. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a188a668dda4ea6b9454066343b78d662946fe07 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:20 2014 -0300 [media] coda: disable old cropping ioctls Since we neither support composing on the OUTPUT side, nor cropping on the CAPTURE side, disable VIDIOC_CROPCAP and VIDIOC_G/S_CROP altogether. This silences a GStreamer warning when GStreamer tries to obtain the pixel aspect ratio using VIDIOC_CROPCAP. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f95a6ce16736ac3aca4eda2238ccdf1913f3567f Author: Philipp Zabel <philipp.zabel@xxxxxxxxx> Date: Tue Aug 5 14:00:19 2014 -0300 [media] coda: set capture frame size with output S_FMT This patch makes coda_s_fmt_vid_out propagate the output frame size to the capture side. The GStreamer v4l2videodec only ever calls S_FMT on the output side and then expects G_FMT on the capture side to return a valid format. Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2dc546d00c8deb22aac50c8cc0c6293aab975c6b Author: Philipp Zabel <philipp.zabel@xxxxxxxxx> Date: Tue Aug 5 14:00:18 2014 -0300 [media] coda: fix coda_s_fmt_vid_out Set the context color space when s_fmt succeeded, not when it failed. Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 18fd0cceb99fdfd551bb6520703f8e1be4f3f364 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:17 2014 -0300 [media] coda: fix timestamp list handling Lock modification of the timestamp list with bitstream_mutex and do not try to remove a timestamp element if the list is empty. This can happen if the userspace feeds us garbage or multiple encoded frames in a single buffer. Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 68fc31c5d29690685476ea3fbc7da8876f227792 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:16 2014 -0300 [media] coda: improve allocation error messages Produce some error messages when internal buffer allocation fails, for example because the CMA region is too small. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d60b18ba318ec4fb32851ad72f33e1dbc1b641f0 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:15 2014 -0300 [media] coda: add an intermediate debug level Dumping all register accesses drowns other debugging messages in the log. Add a less verbose debug level. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b0ed05b9025528b8480ba12d8e706eef6fe1dbc5 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:14 2014 -0300 [media] coda: increase max vertical frame size to 1088 This patch increases the maximum vertical frame size reported by enum_fmt and accepted by try_fmt/s_fmt from 1080 to 1088. Since for 16x16-pixel macroblocks 1080p will be rounded up to this anyway, we may as well admit that we support it. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8be31c898deea6ac57bc1dc4973b88c931c82980 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:13 2014 -0300 [media] coda: allow running coda without iram on mx6dl Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit fcf59764b99c7daa9b0876fe65d1393e6b759673 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:12 2014 -0300 [media] coda: skip calling coda_find_codec in encoder try_fmt_vid_out We know that it will return NULL in this case, so we can just as well skip it altogether. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4a31b52fca20d1fc0abe0d0f5489b9eec2760219 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:11 2014 -0300 [media] coda: dequeue buffers on streamoff This is needed to decrease the q->owned_by_drv_count to zero before __vb2_queue_cancel is called, to avoid the WARN_ON therein. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b906352c23388837a643720d8548ae9459b5ed76 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:10 2014 -0300 [media] coda: dequeue buffers if start_streaming fails Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 540b72e415d6033b72037dbdb1f6c00516034250 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:09 2014 -0300 [media] coda: request BIT processor interrupt by name Request the main coda interrupt using its name, "bit", if available. Fall back to requesting the first interrupt for backwards compatibility. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5727a5a4a1d89a8bf1442e7b0fd83de63512a1b6 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:08 2014 -0300 [media] coda: remove unnecessary peek at next destination buffer from coda_finish_decode The return value of this call to v4l2_m2m_next_dst_buf() is never used. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2c3759d406ded38b88992cb4e423ce232112001a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Tue Aug 5 14:00:06 2014 -0300 [media] coda: include header for memcpy coda_h264_padding uses memcpy, we should include string.h for that. Reported-by: Ian Jamison <ian.dev@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 79924ca9cf95544213d320e3f20d0aff3288e0cb Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:45 2014 -0300 [media] coda: move BIT specific functions into separate file This patch moves the BIT processor specific coda_context_ops, the firmware upload and other related functions from coda-common.c into coda-bit.c. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4f4ee9ee88720e27b2e90e5dc3d9c086b069a316 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:44 2014 -0300 [media] coda: move H.264 helper function into separate file Currently there is only the coda_h264_padding function, but we will have to add more H.264 specific helpers later. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 58b7677db01585736d2175f385dcfcc313aed3de Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:43 2014 -0300 [media] coda: move per-instance buffer allocation and cleanup This patch moves the context buffer allocation into the context start_streaming callbacks. The context buffer and internal framebuffer cleanup is moved into the context release callback. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 347bb7f019db8ff52a9285abc6d776c6a776e0e9 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:42 2014 -0300 [media] coda: add coda_bit_stream_set_flag helper This adds a helper function to consolidate three occurences where the bitstream parameter stream end flag is set during operation. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8a82c6ba2e92dbd39cb7e5f46aa40daf3432b967 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:41 2014 -0300 [media] coda: move BIT processor command execution out of pic_run_work In preparation for the split, move the AXI_SRAM_USE register access and the PIC_RUN command execution out of pic_run_work into prepare_encode/decode. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a1192a17eed8ee30fd0f8d944d66fbe5288641e2 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:40 2014 -0300 [media] coda: add context ops Add a struct coda_context_ops that encapsulates context specific operations. This will simplify adding JPEG support in the future and helps to avoid exporting all functions individually when they move out of the main code file. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a2b3e46acbf1edfc772a15e79ab1dbd20ad55cba Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:39 2014 -0300 [media] coda: move defines, enums, and structs into shared header These will have to be shared between multiple code files. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e19a763950fa3598edd488c9bf28c86e79262211 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Wed Jul 23 12:28:38 2014 -0300 [media] coda: move coda driver into its own directory The coda driver has grown significantly and will continue to grow. Move the coda driver into its own directory so it can be split. Rename coda.h to coda_regs.h as it contains the register defines. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 814c376255f2fed2c3120f04486f68fe0c286002 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:45 2014 -0300 [media] coda: mark constant structures as such The format and codec lists and the ops structures are read-only. Mark them as const. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 4f31ff010261b9fd232980088bbdbcfcfc4b9318 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:44 2014 -0300 [media] coda: default to h.264 decoder on invalid formats If the user provides an invalid format, let the decoder device default to h.264. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 22e244b813ddd9a290a446ddca24ceca1f78dad2 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:43 2014 -0300 [media] coda: split format enumeration for encoder end decoder device Let the decoder capture side and encoder output side only list uncompressed formats, and the decoder output and encoder capture side only list compressed formats. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 121cacf44531666355d44d0f78948818c2ed9aca Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:42 2014 -0300 [media] coda: split userspace interface into encoder and decoder device Userspace has a hard time making sense of format enumerations on V4L2 mem2mem devices if there are restrictions on which input and output formats can be used together. Alleviate the problem by splitting the video4linux device into separate encoder and decoder devices which list only raw formats on one side and only encoded formats on the other side. With this patch, the instance type (encoder or decoder) is already determined by the open file operation. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 91b5841e24d1ebefd62f03ff790755ae0f379627 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:41 2014 -0300 [media] coda: lock capture frame size to output frame size when streaming As soon as the output queue is streaming, let try_fmt on the capture side only allow the frame size that was set on the output side. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit eabed931dfc3f47f78b93fb49013af6da66682af Author: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:40 2014 -0300 [media] coda: delay coda_fill_bitstream() coda_fill_bitstream() calls v4l2_m2m_buf_done() which is no longer allowed before streaming was started. Delay coda_fill_bitstream() until coda_start_streaming() and explicitly set 'start_streaming_called' before calling coda_fill_bitstream() Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 390503bdb49139e83a0cbfd25a31c5fa36db5ca3 Author: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:39 2014 -0300 [media] coda: use CODA_MAX_FRAME_SIZE everywhere Without this changing CODA_MAX_FRAME_SIZE to anything other than 0x100000 can break the bitstram handling Signed-off-by: Michael Olbrich <m.olbrich@xxxxxxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d29a8cf24dca7106f16007e115d3128042e9267a Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:38 2014 -0300 [media] coda: remove VB2_USERPTR from queue io_modes Disallow USERPTR buffers, videobuf2-dma-contig doesn't support them. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3898e7a72d8131aea2b8daa292df7416a69f41b4 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:37 2014 -0300 [media] coda: remove CAPTURE and OUTPUT caps This is a mem2mem driver, pure capture or output modes are not supported. Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 65919e6baa4e6e193dd7e4aa4cfd94b9d69e367e Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:36 2014 -0300 [media] coda: initialize hardware on pm runtime resume only if firmware available If no firmware was found and the coda module is unloaded, coda_runtime_resume will be called without an allocated code buffer. Do not call coda_hw_init in this case. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ae5abd2561b40a1f046088cd30b900ccde63fbc5 Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Fri Jul 18 07:22:35 2014 -0300 [media] coda: fix CODA7541 hardware reset Do not try to read the CODA960 GDI status register on CODA7541. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Kamil Debski <k.debski@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit cd73bb6c4e493cbe227f7861d96dd864a71fe5bc Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jul 23 10:30:57 2014 -0300 [media] omap3isp: resizer: Protect against races when updating crop When updating the crop rectangle during streaming, the IRQ handler will reprogram the resizer after the current frame. A race condition currently exists between the set selection operation and the IRQ handler: if the set selection operation is called twice in a row and the IRQ handler runs only during the second call, it could reprogram the hardware with partially updated values. Use a spinlock to protect against that. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d903a0a367f3e0350a3ba1455c0a7c533977fb42 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jul 23 10:30:57 2014 -0300 [media] omap3isp: resizer: Remove slow debugging message from interrupt handler The resizer_set_input_size() function prints a debugging message with the input width and height values. As the function is called from interrupt context, printing that message to the serial console could slow down the interrupt handler and cause it to miss the start of the next frame, causing image corruption. Fix this by reorganizing the resizer debug messages. The driver now prints the input size, the crop rectangle and the output size in the set selection handler instead of scattering debug messages in various places. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 41316a27ee96b31970175bec87210075752001fb Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Wed Jul 23 10:30:57 2014 -0300 [media] omap3isp: resizer: Remove needless variable initializations There's no need to initialize local variables to zero when they're explicitly assigned another value right after. Remove the needless initializations. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ca84ea49f8cba11aaca9c9d570431abb5288f56b Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 10:28:48 2014 -0300 [media] omap3isp: ccdc: Restart the CCDC immediately after an underrun in BT.656 As the CCDC doesn't generate interrupts when stopped in BT.656 mode, restart it immediately when the next buffer after an underrun is queued instead of relying on the interrupt handler to restart the CCDC. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0b3fcd5727e835c60de46d33b2f5f5803c4a5de7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 10:26:28 2014 -0300 [media] omap3isp: ccdc: Don't timeout on stream off when the CCDC is stopped When the CCDC is already stopped due to a buffer underrun, the stop state machine won't advance in BT.656 mode as no interrupt are generated by the stopped CCDC in that mode. Handle this case explicitly in the ccdc_disable() function. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 93456527b4488510d87a523028b3bb73dfdd7669 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 09:41:57 2014 -0300 [media] omap3isp: ccdc: Fix freeze when a short frame is received In BT.656 mode the synchronization signals are generated by the CCDC from the embedded sync codes. The VD0 and VD1 interrupts are thus only triggered when the CCDC is enabled, unlike external sync mode where the line counter runs even when the CCDC is stopped. We can't disable the CCDC at VD1 time, as no VD0 interrupt would be generated for a short frame, which would result in the CCDC being stopped and no VD interrupt generated anymore. The CCDC is stopped from the VD0 interrupt handler instead for BT.656. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit fd93c10afe383d7c28b5edffa29f92b6dae55191 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 09:16:08 2014 -0300 [media] omap3isp: ccdc: Increment the frame number at VD0 time for BT.656 We will stop using VD1 in BT.656 mode, move frame number increment to the VD0 interrupt handler. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1c74817405d42572db2071b0b4a9609b487c91a7 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 06:15:33 2014 -0300 [media] omap3isp: ccdc: Simplify ccdc_lsc_is_configured() Use a local variable to avoid the duplicate spin_unlock_irqrestore() call. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 8815392a1d190201765682a82ca4c3e6ad03a674 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Jun 7 20:57:07 2014 -0300 [media] omap3isp: ccdc: Rename __ccdc_handle_stopping to ccdc_handle_stopping There's no need for a double underscore in the function name, remove it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 93d7badf1b929120cbc886f3dfec3ca55549d086 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Sat Jun 7 20:57:07 2014 -0300 [media] omap3isp: ccdc: Only complete buffer when all fields are captured Checking that the captured field corresponds to the last required field depending on the requested field order before completing the buffer isn't enough. When the first field at stream start corresponds to the last required field, this would result in returning an interlaced buffer containing a single field. Fix this by keeping track of the fields captured in the buffer, and make sure that both fields are present for alternate field orders. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit aec2de0e93e34e27ef60e7a8f48bc68ec4b4fcbb Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue Jun 10 11:51:34 2014 -0300 [media] omap3isp: ccdc: Disable the video port when unused The video port doesn't support YUV formats. Disable it when the CCDC sink pad format is set to YUV instead of leaving it enabled and relying on downstream modules not to process data they receive from the video port. Experiments showed that this fixes some of the CCDC failures to stop, especially in BT.656 mode. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9de7af4d5bbff7998c09e854b2999359ac1b2721 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue May 20 14:18:53 2014 -0300 [media] omap3isp: ccdc: Add support for BT.656 YUV format at the CCDC input Query the CCDC input media bus type from the subdev connected to the CCDC sink pad and configure the CCDC accordingly to support BT.656 synchronization. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit bcb4e0efd1380d93866df51ec5d8dfaa026537ad Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 19:40:04 2014 -0300 [media] omap3isp: ccdc: Support the interlaced field orders at the CCDC output The CCDC can interleave fields into a single buffer when writing to memory. Support it. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9a36d8ed33c481a99f69f8a2eeb22e3c7750e522 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 16:37:38 2014 -0300 [media] omap3isp: ccdc: Add basic support for interlaced video When the CCDC input is interlaced enable the alternate field order on the CCDC output video node. The field signal polarity is specified through platform data. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0a7b1a01037e0d43e1b85134be4217c7831f57d6 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 21:46:33 2014 -0300 [media] omap3isp: ccdc: Simplify the ccdc_isr_buffer() function Instead of using goto statements to a single line return, return the correct value immediately. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2e8f01725e332c8998b87a6fe09cfc3b105eb643 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 15:05:51 2014 -0300 [media] omap3isp: ccdc: Simplify the configuration function Assign the format variable to the sink pad format earlier and use it instead of accessing the sink pad format directly from the ISP structure. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f7abbe989f7aa5e1d65fc7f171b8c144f4382045 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 12:14:42 2014 -0300 [media] omap3isp: video: Validate the video node field order The field order requested on the video node must match the field order at the connected subdevice source pad. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 48a8a0cb764c25939788a476e7f1b1695c337835 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 10:49:58 2014 -0300 [media] omap3isp: Default to progressive field order when setting the format If the requested field order is not supported default to progressive as we can't guess how the user will configure the pipeline later on. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 25c5cc9194f241d9180b4ca76a1845efd0a02769 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 10:33:15 2014 -0300 [media] omap3isp: Move non-critical code out of the mutex-protected section The isp_video_pix_to_mbus() and isp_video_mbus_to_pix() calls in isp_video_set_format() only access static fields of the isp_video structure. They don't need to be protected by a mutex. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 9884a955a9da8488a88672a3eff40309bbd7f74f Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 18:17:55 2014 -0300 [media] omap3isp: Remove boilerplate disclaimer and FSF address We don't want to modify all source files the day the FSF moves. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit eb228e897c902a65f6da536331f7d058fde1ea73 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Tue May 20 18:21:13 2014 -0300 [media] omap3isp: Don't ignore subdev streamoff failures Record the value returned by subdevs from s_stream(0) and handle stop failures when an error occurs. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 24acf8b211e25414cb288305292a1fda136c0bd8 Author: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Date: Mon May 19 11:36:23 2014 -0300 [media] v4l: subdev: Extend default link validation to cover field order The field order must match between the source and sink pads, or the sink pad field order must be NONE. This allows connecting an interlaced source to a bridge that has no hardware support for interlaced formats. Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Tested-by: Enrico Butera <ebutera@xxxxxxxxxxxxxxxxxxxxx> Acked-by: Sakari Ailus <sakari.ailus@xxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0e2a6b7f2b9303410c93fd4724f9d36ebc7be1c3 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Wed May 21 16:58:11 2014 -0300 [media] smiapp: Implement the test pattern control Add support for the V4L2_CID_TEST_PATTERN control. When the solid colour mode is selected, additional controls become available for setting the solid four solid colour components. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit a913d8742e275dd2d80726afac02311a0f49d161 Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Mon May 26 09:46:18 2014 -0300 [media] smiapp: Add driver-specific test pattern menu item definitions Add numeric definitions for menu items used in the smiapp driver's test pattern menu. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Acked-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 0fc87864879c46afe145e20ec09c9dba2328e3be Author: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Date: Wed May 28 09:38:21 2014 -0300 [media] v4l: Add test pattern colour component controls In many cases the test pattern has selectable values for each colour component. Implement controls for raw bayer components. Additional controls should be defined for colour components that are not covered by these controls. Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> Acked-by: Hans Verkuil <hans.verkuil@xxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 5275a3b6b01664317b1a0bdc95ad981dbbb62283 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 23:14:22 2014 -0300 [media] xc5000: be sure that the firmware is there before set params Now that xc5000_set_params() is also called during resume, move the code that checks for the firmware to happen there. This way, the firmware will be loaded either for analog or digital TV when .resume callback is called. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2930977ac5934540d876715fdf32b1dd6f405df5 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 23:14:21 2014 -0300 [media] au0828: Fix DVB resume when streaming When DVB is streaming and suspend is called, it will call au0828_stop_transport(), with will clean the streaming flag. Due to that, stop_urb_transfer() will be called twice, causing an oops. So, we need another flag to be used at resume, telling it to restart DVB. While here, add a logic at stop_urb_transfer() to prevent it of being called twice, and convert the usb_streaming flag into boolean. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit bbc62a18b6d90da702d14f0d04f67de1e37ca790 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 23:14:20 2014 -0300 [media] au0828: fix checks if dvb is initialized dev->dvb is always not null, as it is an area at the dev memory. So, checking if (dev->dvb) is always true. Instead of this stupid check, what the code wants to do is to know if the DVB was successully registered. Fix it by checking, instead, for dvb->frontend. It should also be sure that this var will be NULL if the device was not properly initialized. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 59b94f3e74042a82fd59478d688909760b873b02 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:24 2014 -0300 [media] xc5000: better name the functions xc5000_set_params() is a bad name for a function that handles only digital TV. Rename it to xc5000_set_digital_params(), and proper name the generic function that works for both digital and analog. No functional changes. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 7ab1c07614b984778a808dc22f84b682fedefea1 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:23 2014 -0300 [media] xc5000: add a resume function If a device suspends/hibertates with a station tuned, restore the tuner station at resume. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit c3d6676bbaf4666ded026b35e0f62156e59ecfc1 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:22 2014 -0300 [media] xc5000: Split config and set code for analog/radio As we need a function that reapply the last tuned radio, in order to do resume, split the code that validates and updates the internal priv struct from the ones that actually set radio and TV. A latter patch will add support for resume. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 164352023104207322614deef8d03bd0d773a22a Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:21 2014 -0300 [media] au0828: move the code that sets DTV on a separate function As we'll be adding a code to resume tuner operation, we need to move the code that actually sets DTV on a separate function, to be called by the resume code. No functional changes, just code got moved. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 91a5307cb0b164024725d68990441553740a2149 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:20 2014 -0300 [media] xc5000: fix xc5000 suspend After xc5000 stops working, it waits for 5 seconds, waiting for a new usage. Only after that it goes to low power mode. If a suspend event happens before that, a work queue will remain active, with causes suspend to crash. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 59d7889ae49f6e3e9d9cff8c0de7ad95d9ca068b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:19 2014 -0300 [media] dvb-frontend: add core support for tuner suspend/resume While several tuners have some sort of suspend/resume implementation, this is currently mangled with an optional .sleep callback that it is also used to put the device on low power mode. Not all drivers implement it, as returning the driver from low power may require to re-load the firmware, with takes some time. Also, some drivers may delay it. So, the more coherent is to add two new optional callbacks that will let the tuners to directy implement suspend and resume callbacks if they need. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 811872404bb021b73ecb4b78de88bd2d7f26548e Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:18 2014 -0300 [media] au0828: add pr_info to track au0828 suspend/resume code Suspend/resume conditions can be very tricky. Add some info printk's to help tracking what's happening there. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 83afb32aa9d8cc77049c0e4e124e3bed8b88428f Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:17 2014 -0300 [media] au0828: use pr_foo macros Instead of using printk(KERN_foo, use pr_foo() macros. No functional changes. Note: we should do the same for dprintk(), but that would require to remove the dprintk levels. So, for now, let's not touch on it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 3d8de92e07b855d22e9807a287f80ee910331d51 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:16 2014 -0300 [media] au0828: Remove a bad whitespace Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 1a1ba95e80e567176aeb2a10b2dc6d920b06a33e Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:15 2014 -0300 [media] au0828: add suspend/resume code for V4L2 No timers should be enabled during suspend. So, stop them. At resume time, we should do the proper initialization for it to keep working. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e2147d0af0aa77c1a7b610224161993ef62e3ac1 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:14 2014 -0300 [media] au0828: properly handle stream on/off state The STREAM_ON state is used by s_format callback, but the driver never sets it. Fix it. This will also be needed in order to handle suspend/resume ops. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit b799de75e032c4d27788af9b4df3ab25858f87a8 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:13 2014 -0300 [media] au0828: Add suspend code for DVB The scheduled work should be cancelled during suspend. At resume time, we need to set the frontend again. So, add such logic to the driver. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit fa500461db5af83fce7b1bd45e4925efadbebd90 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:12 2014 -0300 [media] au0828: be sure to reenable the bridge and GPIOs on resume At resume, we should restore the register contents. So, reenable the bridge and GPIO settings. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit aaeac1991b2c3dff46e0aae5e1d7c7f46ac9eddc Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:11 2014 -0300 [media] au0828: don't let the IR polling thread to run at suspend Trying to make au0828 to suspend can do very bad things, as the polling Kthread is not handled. We should disable it during suspend, only re-enabling it at resume. Still, analog and digital TV won't work, as we don't reinit the settings at resume, but at least it won't hang. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 92143f6fb0d6655391b1b42f54ab94d3f16c00ac Author: Shuah Khan <shuah.kh@xxxxxxxxxxx> Date: Sat Aug 9 21:47:10 2014 -0300 [media] au0828: remove CONFIG_VIDEO_AU0828_RC scope around au0828_rc_*() Remove CONFIG_VIDEO_AU0828_RC scope around au0828_rc_register() and au0828_rc_unregister() calls in au0828-core Signed-off-by: Shuah Khan <shuah.kh@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 917cbcde46adf3e155ec61d92f6f29a4eb3acad1 Author: Shuah Khan <shuah.kh@xxxxxxxxxxx> Date: Fri Aug 8 21:36:18 2014 -0300 [media] au0828: add au0828_rc_*() stubs for VIDEO_AU0828_RC disabled case Define au0828_rc_*() stubs to avoid compile errors when VIDEO_AU0828_RC is disabled and avoid the need to enclose au0828_rc_*() in ifdef CONFIG_VIDEO_AU0828_RC in .c files. Signed-off-by: Shuah Khan <shuah.kh@xxxxxxxxxxx> Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 345e3bfdadf4ae12df6251d4bcb6b9fb48037690 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:08 2014 -0300 [media] au0828: handle IR int during suspend/resume It doesn't make sense to handle an IR code given before suspending after the device resume. So, turn off IR int while suspending. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit e9018af0b8897b02dc8e83e6cd75391afcadf894 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Sat Aug 9 21:47:07 2014 -0300 [media] au0828: avoid race conditions at RC stop As the RC kthread can re-enable IR int, we should first cancel the kthread and then disable IR int. While here, remove a temporary debug printk. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2e0cc7ee75a218ad43b112164e87acb03f0fd9f0 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 7 10:46:30 2014 -0300 [media] au0828-input: Be sure that IR is enabled at polling When the DVB code sets the frontend, it disables the IR INT, probably due to some hardware bug, as there's no code there at au8522 frontend that writes on register 0xe0. Fixing it at au8522 code is hard, as it doesn't know if the IR is enabled or disabled, and just restoring the value of register 0xe0 could cause other nasty effects. So, better to add a hack at au0828-input polling interval to enable int, if disabled. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit d84fdc774b3beea1a7c601ff6e8d22e6ac13dd01 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 7 13:10:26 2014 -0300 [media] au0828: Enable IR for HVR-850 HVR-850 also has a remote. Enable it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit ff346b0f5d86688baf7c191faf192e69cf347583 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 7 13:10:25 2014 -0300 [media] au0828: add an option to disable IR via modprobe parameter The IR code increases the power consumption of the device. Allow to disable it via modprobe parameter. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit f5885f40976bc8c8cb8fa17616ccc423f6daae04 Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 7 13:10:24 2014 -0300 [media] au0828: no need to sleep at the IR code This sleep was doing some debouncing on the original driver. This is not needed on Linux, because the RC core and the input layer already takes care of it. Signed-off-by: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> commit 2871f352c600d36b1b8ba57c79029cf8aa512948 Merge: 0f3bf3d 7d1311b Author: Mauro Carvalho Chehab <m.chehab@xxxxxxxxxxx> Date: Thu Aug 21 15:23:58 2014 -0500 Merge tag 'v3.17-rc1' into patchwork Linux 3.17-rc1 commit e628ce70cae5ccd67830b0e2c3d038831746d86b Author: Manuel Schölling <manuel.schoelling@xxxxxx> Date: Thu May 22 22:11:06 2014 +0200 ioat: Use time_before_jiffies() To be future-proof and for better readability the time comparisons are modified to use time_before_jiffies() instead of plain, error-prone math. Signed-off-by: Manuel Schölling <manuel.schoelling@xxxxxx> [djbw: use time_before_jiffies() to make argument order more clear] Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 87cea76384257e6ac3fa4791b6a6b9d0335f7457 Author: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx> Date: Tue Jul 1 16:32:38 2014 +0800 dmaengine: fix xor sources continuation the partial xor result must be kept until the next tx is generated. Cc: <stable@xxxxxxxxxxxxxxx> Signed-off-by: Xuelin Shi <xuelin.shi@xxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 4e942fa68425451672e2c9aa6de6373454142722 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Fri Apr 11 14:18:29 2014 -0500 ARM: qcom: Update defconfig * General defconfig update to match upstream changes * Enable IPQ806x & APQ8084 clk support * Enable pinctrl on MSM8960 * Enable CPU_IDLE to get basic wfi support * Enable SPI NOR and MTD M25P80 support (used on AP148 board) * Enable SATA PHY support on IPQ806x and APQ8064 * Enable Fixed regulator and ARM MMCI support (mmc support on APQ8064) Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 7b46268d29543e313e731606d845e65c17f232e4 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 21 18:08:09 2014 +0200 KVM: trace kvm_ple_window grow/shrink Tracepoint for dynamic PLE window, fired on every potential change. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit b4a2d31da812ce03efaf5d30c6b9d39c1cbd18d8 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 21 18:08:08 2014 +0200 KVM: VMX: dynamise PLE window Window is increased on every PLE exit and decreased on every sched_in. The idea is that we don't want to PLE exit if there is no preemption going on. We do this with sched_in() because it does not hold rq lock. There are two new kernel parameters for changing the window: ple_window_grow and ple_window_shrink ple_window_grow affects the window on PLE exit and ple_window_shrink does it on sched_in; depending on their value, the window is modifier like this: (ple_window is kvm_intel's global) ple_window_shrink/ | ple_window_grow | PLE exit | sched_in -------------------+--------------------+--------------------- < 1 | = ple_window | = ple_window < ple_window | *= ple_window_grow | /= ple_window_shrink otherwise | += ple_window_grow | -= ple_window_shrink A third new parameter, ple_window_max, controls the maximal ple_window; it is internally rounded down to a closest multiple of ple_window_grow. VCPU's PLE window is never allowed below ple_window. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a7653ecdf34c68a1af4fc085511afcf7ff011903 Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 21 18:08:07 2014 +0200 KVM: VMX: make PLE window per-VCPU Change PLE window into per-VCPU variable, seeded from module parameter, to allow greater flexibility. Brings in a small overhead on every vmentry. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit ae97a3b818324b92b5b9cc885c63c3f4bd46ee9d Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 21 18:08:06 2014 +0200 KVM: x86: introduce sched_in to kvm_x86_ops sched_in preempt notifier is available for x86, allow its use in specific virtualization technlogies as well. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit e790d9ef6405633b007339d746b709aed43a928d Author: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Date: Thu Aug 21 18:08:05 2014 +0200 KVM: add kvm_arch_sched_in Introduce preempt notifiers for architecture specific code. Advantage over creating a new notifier in every arch is slightly simpler code and guaranteed call order with respect to kvm_sched_in. Signed-off-by: Radim KrÄ?máÅ? <rkrcmar@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 68de308b1c02f3b11705406b07e84790eb1a37e9 Author: Kumar Gala <galak@xxxxxxxxxxxxxx> Date: Fri Mar 7 10:56:59 2014 -0600 ARM: qcom: Add initial IPQ8064 SoC and AP148 device trees Add basic IPQ8064 SoC include device tree and support for basic booting on the AP148 Reference board with support for UART, I2C, and SPI. Signed-off-by: Kumar Gala <galak@xxxxxxxxxxxxxx> commit 14ff1c43881aa8f43d0ec0fa264dc9ed995f801b Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Tue Jun 3 17:29:41 2014 +0300 ARM: dts: qcom: Add APQ8084 serial port DT node Add the necessary DT node to probe the serial driver on APQ8084 platforms. Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 98a295339e565457c732610585da965e4f4f6a26 Author: Georgi Djakov <gdjakov@xxxxxxxxxx> Date: Tue Jun 3 17:29:40 2014 +0300 ARM: dts: qcom: Add APQ8084 Global Clock Controller DT node This patch adds the necessary node to probe the global clock controller on APQ8084 platforms. Signed-off-by: Georgi Djakov <gdjakov@xxxxxxxxxx> Reviewed-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> commit 84d1b78af9b35d706de2d1c115b9194bcaaa97b0 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Aug 21 16:54:46 2014 +0200 usb: gadget: uvc: remove DRIVER_VERSION{,_NUMBER} As the driver is in mainline we can remove the version numbers. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit e73798572e115f73066567f5840d4e5c21da70a8 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Thu Aug 21 16:54:45 2014 +0200 usb: gadget: f_uvc: fix potential memory leak If uvc->control_buf is successfuly allocated but uvc->control_req is not, uvc->control_buf is not freed in the error recovery path. With this patch applied uvc->control_buf is freed unconditionally; if it happens to be NULL kfree on it is safe anyway. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Acked-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ee7ec7f6b39d2ae25dca000398929edaa2ce412d Author: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Date: Thu Aug 21 16:54:44 2014 +0200 usb: gadget: uvc: Add support for DMABUF importing Activate the videobuf2 DMABUF support. As vb2-vmalloc supports the importer role only, exporting buffers isn't supported yet. When the exporter role will be implemented in vb2-vmalloc the UVC gadget driver will automatically gain support for it. Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 6bc17375d2e787e5c7ef94bfb4e194b6c690a4a7 Author: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Date: Thu Aug 21 16:54:43 2014 +0200 usb: gadget: uvc: Change KERN_INFO to KERN_DEBUG on request shutdown The disconnect of the USB Device is a common pattern for an UVC Camera. In many cases this will give us an meaningless information for all buffers that couldn't be enqueued. That patch changes this to KERN_DEBUG. Signed-off-by: Michael Grzeschik <m.grzeschik@xxxxxxxxxxxxxx> Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8e820007caed7a03634fb14835a59bd0a232894d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 21 10:31:33 2014 +0800 regulator: hi6421: Remove unused fields from struct hi6421_regulator_info The valid_modes_mask and *dev are not used in this driver, remove them. Current code uses devm_regulator_register, so we don't need *regulator in hi6421_regulator_info. Use a local variable instead. Also removes a few unnecessary inclusion of header files. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit df11e506d330d9a0e5a701cd2c5fcb7d461b6060 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Thu Aug 21 10:11:34 2014 +0800 regulator: core: Add back the const qualifier for ops of struct regulator_desc Fix below build warning: CC [M] drivers/regulator/hi6421-regulator.o drivers/regulator/hi6421-regulator.c:356:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default] This is a revert of commit 716845ebeb50 ("regulator: core: Fix build error due to const qualifier for ops"). The build error was fixed by commit 39f5460d7f9c ("regulator: core: add const to regulator_ops and fix build error in mc13892"). Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1c36d42c4ffee9e38e122ed822dd0a545a3a86da Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 20 16:49:32 2014 +0200 irqchip: renesas-intc-irqpin: Add suspend-to-RAM wake up support Set the ->irq_enable() and ->irq_disable() methods to NULL to enable lazy disable of interrupts, and set IRQCHIP_MASK_ON_SUSPEND to tell the core that only IRQs marked as wake-ups need to stay enabled during suspend-to-RAM. This makes wake-up by gpio-keys from suspend-to-RAM work on r8a7740/Armadillo. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Link: https://lkml.kernel.org/r/1408546172-22484-1-git-send-email-geert+renesas@xxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 6689fbe3cf65b8c0dbbc87c40c085452997ffd8b Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Wed Aug 20 16:38:19 2014 +0300 KVM: x86: Replace X86_FEATURE_NX offset with the definition Replace reference to X86_FEATURE_NX using bit shift with the defined X86_FEATURE_NX. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 7103f60de8bed21a0ad5d15d2ad5b7a333dda201 Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Tue Aug 19 16:45:56 2014 +0200 KVM: avoid unnecessary synchronize_rcu We dont have to wait for a grace period if there is no oldpid that we are going to free. putpid also checks for NULL, so this patch only fences synchronize_rcu. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 448466b723cc7b44016547116aa2b55a3736f1f0 Author: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Date: Mon May 19 11:50:24 2014 -0600 x86: Remove obsolete comment in uapi/e820.h A comment introduced by this old commit: 028b785888c5 ("x86 boot: extend some internal memory map arrays to handle larger EFI input") had to do with some nested preprocessor directives. The directives were split into separate files by this commit: af170c5061dd ("UAPI: (Scripted) Disintegrate arch/x86/include/asm") The comment explaining their interaction was retained and is now present in arch/x86/include/uapi/asm/e820.h. This comment is no longer correct, so delete it. Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1400521824-21040-1-git-send-email-ross.zwisler@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0854611a19ae4dfa56569e6f640017a1d2dd3312 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:43 2014 +0200 usb: gadget: f_uac1: add configfs support Add support for using f_uac1 function as a component of a gadget composed with configfs. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit bcec9784dd78abfa9d8ca8b7144f6e37ea6abfd5 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:42 2014 +0200 usb: gadget: f_uac1: use defined constants as defaults When configfs support is added the values in question will have to be used in two different places. Substitute them with defined constants to avoid duplicating magic numbers. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 807dccdba5c157c7131772bb6bd9a114a2ed9760 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:41 2014 +0200 usb: gadget: f_uac1: use usb_gstrings_attach Use the new usb_gstring_attach interface. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 605ef833f0c6f9e609e27ff1582a14a4dbc7d341 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:40 2014 +0200 usb: gadget: f_uac1: remove compatibility layer There are no users of the old interface left, so it can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0d992dec967d6edc97b3001598db7c4ac4e4b3c1 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:39 2014 +0200 usb: gadget: audio: convert to new interface of f_uac1 Use the new interface so that the old one can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f3a3406b3f562f8d15b89979c0ca9e184b269084 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:38 2014 +0200 usb: gadget: f_uac1: convert to new function interface with backward compatibility Converting uac1 to the new function interface requires converting the USB uac1's function code and its users. This patch converts the f_uac1.c to the new function interface. The file is now compiled into a separate usb_f_uac1.ko module. The old function interface is provided by means of a preprocessor conditional directives. After all users are converted, the old interface can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit af1a58ca00b3735275c453ebd0b811a71a377470 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:37 2014 +0200 usb: gadget: f_uac1: prepare for separate compilation Integrating configfs requires converting f_uac1 to new function interface, which in turn requires converting it to the new function interface, which involves separate compilation of f_uac1.c into usb_f_uac1.ko. u_uac1.c contains some module parameters. After this patch is applied they are still a part of the resulting g_audio.ko, but can be guarded with a compatiblity flag which will be removed when no users of the old function interface of f_uac1 are left. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f73db69f95921512b7cba586066723b500770d1a Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:36 2014 +0200 usb: gadget: f_uac1: add function strings uac1 function is missing strings. Add them. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 3aeea3c53e73b972ff07a1d03d6cc07f97de4f2f Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:35 2014 +0200 usb: gadget: f_uac2: add configfs support Add support for using f_uac2 function as a component of a gadget composed with configfs. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 065a107cdd70f0621011424009b3ecd4e42481b1 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:34 2014 +0200 usb: gadget: f_uac2: use defined constants as defaults When configfs is integrated the same values will have to be used as defaults. Use symbolic names in order not to duplicate magic numbers. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f408757f819a5792e6d27865a12f4da4ae802d28 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:33 2014 +0200 usb: gadget: f_uac2: use usb_gstrings_attach Use the new usb_gstring_attach interface. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit d980039a89fafe03829e4423d0da5d8fd119189d Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:32 2014 +0200 usb: gadget: f_uac2: remove compatibility layer There are no users of the old interface left, so it can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit ad94ac0cfdb6e28a2b0da740d2482a7306e947c3 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:31 2014 +0200 usb: gadget: audio: convert to new interface of f_uac2 Use the new interface so that the old one can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit f8f93d244afad804e09595fcb14320fe2896fef5 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:30 2014 +0200 usb: gadget: f_uac2: convert to new function interface with backward compatibility Converting uac2 to the new function interface requires converting the USB uac2's function code and its users. This patch converts the f_uac2.c to the new function interface. The file is now compiled into a separate usb_f_uac2.ko module. The old function interface is provided by means of a preprocessor conditional directives. After all users are converted, the old interface can be removed. Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 5d73abf2a77a090ca4c920ac99c8ec0e272398a9 Author: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Date: Tue Jul 22 19:58:29 2014 +0200 usb: gadget: audio: Use container_of to free audio_dev Eliminate static struct *agdev_g from f_uac2.c. It is used for freeing its memory, but the same address can be found by calling container_of in afunc_unbind(). This implies eliminating uac2_unbind_config(). The audio_config_driver in audio.c does not have its unbind method any more. It has been used only when uac2 is used, so uac2 itself can handle unbinding in afunc_unbind(). Tested-by: Sebastian Reimers <sebastian.reimers@xxxxxxxxxxxxxx> Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 8f90afd918886f10ac82aded9a30edfd80f2f69b Author: Felipe Balbi <balbi@xxxxxx> Date: Wed Aug 20 13:38:18 2014 -0500 usb: phy: msm: mark msm_otg_mode_fops static that declaration is only used inside this driver, marking it static. Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 0dafc3d94596522787e216711d305add1c1dce99 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Mon Aug 4 10:44:31 2014 +0900 usb: phy: samsung: Remove unnecessary lines of register bit definitions Remove unnecessary lines of register bit definitions in order to enhance the readability. In this case, there are lines per register offset definitions. There is no functional change. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 17c128e8c8b06138bb088e48be5a89c27257d405 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Sun Jul 20 20:30:14 2014 +0800 usb: gadget: Remove redundant dev_err call in r8a66597_sudmac_ioremap() There is a error message within devm_ioremap_resource already, so remove the dev_err call to avoid redundant error message. Acked-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 734d5a5393ed8eedf70f13c7078cb4a6134f49f2 Author: Jingoo Han <jg1.han@xxxxxxxxxxx> Date: Thu Jul 17 12:45:11 2014 +0900 usb: dwc3: remove unnecessary OOM messages The site-specific OOM messages are unnecessary, because they duplicate the MM subsystem generic OOM message. Signed-off-by: Jingoo Han <jg1.han@xxxxxxxxxxx> Signed-off-by: Felipe Balbi <balbi@xxxxxx> commit 2cd64ae3d57b80f6d93682b98a59ed4b124cf2ef Author: Chris Zhong <zyw@xxxxxxxxxxxxxx> Date: Wed Aug 20 11:36:42 2014 +0800 regulator: RK808: Add regulator driver for RK808 The regulator module consists of 4 DCDCs, 8 LDOs and 2 switches. The output voltages are configurable and are meant to supply power to the main processor and other components Signed-off-by: Chris Zhong <zyw@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 29b9c318025bece77d019eada2dee856e3ca50b2 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Wed Aug 20 10:04:17 2014 +0800 regulator: max77802: Remove unused fields from struct max77802_regulator_prv Both num_regulators and *rdev[MAX77802_REG_MAX] are not used, remove them. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 3a5f87c286515c54ff5c52c3e64d0c522b7570c0 Author: Thomas Wood <thomas.wood@xxxxxxxxx> Date: Wed Aug 20 14:45:00 2014 +0100 drm: fix plane rotation when restoring fbdev configuration Make sure plane rotation is reset correctly when restoring the fbdev configuration by using drm_mode_plane_set_obj_prop which calls the driver's set_property callback. The rotation reset feature was introduced in commit 9783de2 (drm: Resetting rotation property) and the callback issue was originally addressed in a previous version of the patch, but the fix was not present in the final version. v2: Fix documentation warning Add some more details to the commit message (Daniel Vetter) Testcase: igt/kms_rotation_crc Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82236 Cc: Sonika Jindal <sonika.jindal@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Thomas Wood <thomas.wood@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fd639ac6dcbcbae4f2131bf1390a032df659ffb7 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 15 16:48:36 2014 +0100 drm/i915/bdw: Disable execlists by default We still have a few missing bits and pieces to have execlists enabled by default eg. the error capture or the render state initialization and so it wouldn't be wise to enable it by default on BDW just yet. Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Tested-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82740 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d7f621e50704306c348ccb192f17047f1499f9bc Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:49 2014 +0100 drm/i915/bdw: Enable Logical Ring Contexts (hence, Execlists) The time has come, the Walrus said, to talk of many things. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73e4d07f8ae9cff8c869d73df4e299a3a6f5ad98 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:48 2014 +0100 drm/i915/bdw: Document Logical Rings, LR contexts and Execlists Add theory of operation notes to intel_lrc.c and comments to externally visible functions. v2: Add notes on logical ring context creation. v3: Use kerneldoc. v4: Integrate it in the DocBook template. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> (v1) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> (v2, v3) Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Drop hunk about render ring init function since that's not yet merged.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c0ab1ae9028f14bcb7bfb655bd2120c60681c479 Author: Ben Widawsky <ben@xxxxxxxxxxxx> Date: Thu Aug 7 13:24:26 2014 +0100 drm/i915/bdw: Print context state in debugfs This has turned out to be really handy in debug so far. Update: Since writing this patch, I've gotten similar code upstream for error state. I've used it quite a bit in debugfs however, and I'd like to keep it here at least until preemption is working. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> This patch was accidentally dropped in the first Execlists version, and it has been very useful indeed. Put it back again, but as a standalone debugfs file. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> v2: Take the device struct_mutex rather than mode_config mutex for atomic state capture. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9fe99bd4c4f8730207fed5e863d8f25224fd20b Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:46 2014 +0100 drm/i915/bdw: Display context backing obj & ringbuffer info in debugfs Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4ba70e448be91f52032595678c306e4aee2fae5c Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Aug 7 13:23:20 2014 +0100 drm/i915/bdw: Display execlists info in debugfs v2: Warn and return if LRCs are not enabled. v3: Grab the Execlists spinlock (noticed by Daniel Vetter). Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> v4: Lock the struct mutex for atomic state capture Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 71386ef9008817feebd863e46d8711ebe9e7cbbb Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:44 2014 +0100 drm/i915/bdw: Disable semaphores for Execlists Up until recently, semaphores weren't enabled in BDW so we didn't care about them. But then Rodrigo came and enabled them: commit 521e62e49a42661a4ee0102644517dbe2f100a23 Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> drm/i915: Enable semaphores on BDW So now we have to explicitly disable them for Execlists until both features play nicely. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cc9130be805d955f0e06642e57741dd9df1fbc86 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:42 2014 +0100 drm/i915/bdw: Make sure gpu reset still works with Execlists If we reset a ring after a hang, we have to make sure that we clear out all queued Execlists requests. v2: The ring is, at this point, already being correctly re-programmed for Execlists, and the hangcheck counters cleared. v3: Daniel suggests to drop the "if (execlists)" because the Execlists queue should be empty in legacy mode (which is true, if we do the INIT_LIST_HEAD). v4: Do the pending intel_runtime_pm_put Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b7c71823f11158340b9d61325d3c44124650dc4e Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Fri Aug 15 12:01:31 2014 +0100 drm/i915/bdw: Don't write PDP in the legacy way when using LRCs This is mostly for correctness so that we know we are running the LR context correctly (this is, the PDPs are contained inside the context object). v2: Move the check to inside the enable PPGTT function. The switch happens in two places: the legacy context switch (that we won't hit when Execlists are enabled) and the PPGTT enable, which unfortunately we need. This would look much nicer if the ppgtt->enable was part of the ring init, where it logically belongs. v3: Move the check to the start of the enable PPGTT function. None of the legacy PPGTT enabling is required when using LRCs as the PPGTT is enabled in the context descriptor and the PDPs are written in the LRC. v4: Clarify comment based on review feedback. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Resolve conflicts with ppgtt_enable rework.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f4536ddd20d93b70d432b7ca5db873525e23c2c4 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Aug 20 17:07:57 2014 +0900 perf hists browser: Factor out hist_browser__show_callchain_entry() Factor out duplicate callchain printing code into the hist_browser__ show_callchain_entry(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408522080-26556-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2bfa152839e5adea66aa6309c94bf3a50a5d5d47 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Aug 20 17:07:56 2014 +0900 perf hists browser: Fix children overhead dump When perf report runs on TUI, 'P' key dumps current screen to a file but it incorrectly displayed children overhead (as same of self overhead). This was because it fetched the value from self stats. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408522080-26556-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 36e15dd4027a9b088264758fea292b6e876b5cdd Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Aug 20 17:07:58 2014 +0900 perf hists browser: Get rid of unused 'remaining' variable It seems that the 'remaining' variable is not used by any real code. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408522080-26556-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 06ed5c2bfacaf67039e87a213fa5d1cdde34246a Author: Michal Marek <mmarek@xxxxxxx> Date: Wed Aug 20 16:02:59 2014 +0200 kbuild: Make scripts executable The Makefiles call the respective interpreter explicitly, but this makes it easier to use the scripts manually. Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit e91ded8db57472c20b59b2242b100764cc152a10 Author: Mike Frysinger <vapier@xxxxxxxxxx> Date: Mon Aug 4 04:50:41 2014 -0400 uapi: netfilter_arp: use __u8 instead of u_int8_t Similarly, the u_int8_t type is non-standard and not defined. Change it to use __u8 like the rest of the netfilter headers. Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx> Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> commit 8091c1f8ea2374695c105591179b1269fb5f2fbb Author: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Date: Wed Aug 20 10:16:01 2014 +0200 x86/apic/uv: Remove unnecessary #ifdef In the file x2apic_uv_x.c, some code is compiled conditionally depending on CONFIG_SMP. However, the file is only built, if CONFIG_X86_UV is enabled. CONFIG_X86_UV depends on CONFIG_NUMA, which itself depends on CONFIG_SMP, so the #ifdef will always evaluate to true, if the file is compiled. Thus, it is unnecessary and can be removed. Signed-off-by: Andreas Ruprecht <rupran@xxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: Dimitri Sivanich <sivanich@xxxxxxx> Cc: Hedi Berriche <hedi@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mike Travis <travis@xxxxxxx> Cc: Russ Anderson <rja@xxxxxxx> Link: http://lkml.kernel.org/r/1408522561-23389-1-git-send-email-rupran@xxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 163122b7fcfa28c0e4a838fcc8043c616746802e Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 20 13:48:29 2014 +0400 sched/fair: Remove double_lock_balance() from load_balance() Avoid double_rq_lock() and use TASK_ON_RQ_MIGRATING for load_balance(). The advantage is (obviously) not holding two rq->lock's at the same time and thereby increasing parallelism. Further note that if there was no task to migrate we will not have acquired the second rq->lock at all. The important point to note is that because we acquire dst->lock immediately after releasing src->lock the potential wait time of task_rq_lock() callers on TASK_ON_RQ_MIGRATING is not longer than it would have been in the double rq lock scenario. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408528109.23412.94.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e5673f280501298dbb56efa46e333cf64ee5080a Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 20 13:48:01 2014 +0400 sched/fair: Remove double_lock_balance() from active_load_balance_cpu_stop() Avoid double_rq_lock() and use the TASK_ON_RQ_MIGRATING state for active_load_balance_cpu_stop(). The advantage is (obviously) not holding two 'rq->lock's at the same time and thereby increasing parallelism. Further note that if there was no task to migrate we will not have acquired the second rq->lock at all. The important point to note is that because we acquire dst->lock immediately after releasing src->lock the potential wait time of task_rq_lock() callers on TASK_ON_RQ_MIGRATING is not longer than it would have been in the double rq lock scenario. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408528081.23412.92.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit a1e01829796aa7a993e28ffd7fee5c8d525be175 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 20 13:47:50 2014 +0400 sched: Remove double_rq_lock() from __migrate_task() Avoid double_rq_lock() and use TASK_ON_RQ_MIGRATING for __migrate_task(). The advantage is (obviously) not holding two rq->lock's at the same time and thereby increasing parallelism. The important point to note is that because we acquire dst->lock immediately after releasing src->lock the potential wait time of task_rq_lock() callers on TASK_ON_RQ_MIGRATING is not longer than it would have been in the double rq lock scenario. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408528070.23412.89.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit cca26e8009d1939a6a5bf0200d276fa26f03e536 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 20 13:47:42 2014 +0400 sched: Teach scheduler to understand TASK_ON_RQ_MIGRATING state This is a new p->on_rq state which will be used to indicate that a task is in a process of migrating between two RQs. It allows to get rid of double_rq_lock(), which we used to use to change a rq of a queued task before. Let's consider an example. To move a task between src_rq and dst_rq we will do the following: raw_spin_lock(&src_rq->lock); /* p is a task which is queued on src_rq */ p = ...; dequeue_task(src_rq, p, 0); p->on_rq = TASK_ON_RQ_MIGRATING; set_task_cpu(p, dst_cpu); raw_spin_unlock(&src_rq->lock); /* * Both RQs are unlocked here. * Task p is dequeued from src_rq * but its on_rq value is not zero. */ raw_spin_lock(&dst_rq->lock); p->on_rq = TASK_ON_RQ_QUEUED; enqueue_task(dst_rq, p, 0); raw_spin_unlock(&dst_rq->lock); While p->on_rq is TASK_ON_RQ_MIGRATING, task is considered as "migrating", and other parallel scheduler actions with it are not available to parallel callers. The parallel caller is spining till migration is completed. The unavailable actions are changing of cpu affinity, changing of priority etc, in other words all the functionality which used to require task_rq(p)->lock before (and related to the task). To implement TASK_ON_RQ_MIGRATING support we primarily are using the following fact. Most of scheduler users (from which we are protecting a migrating task) use task_rq_lock() and __task_rq_lock() to get the lock of task_rq(p). These primitives know that task's cpu may change, and they are spining while the lock of the right RQ is not held. We add one more condition into them, so they will be also spinning until the migration is finished. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408528062.23412.88.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit da0c1e65b51a289540159663aa4b90ba2366bc21 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 20 13:47:32 2014 +0400 sched: Add wrapper for checking task_struct::on_rq Implement task_on_rq_queued() and use it everywhere instead of on_rq check. No functional changes. The only exception is we do not use the wrapper in check_for_tasks(), because it requires to export task_on_rq_queued() in global header files. Next patch in series would return it back, so we do not twist it from here to there. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paul Turner <pjt@xxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nicolas.pitre@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1408528052.23412.87.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8e4bebe0952af357e099147023af756baa466ede Author: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Date: Thu Aug 7 18:51:34 2014 +0800 irqchip: hip04: Enable Hisilicon HiP04 interrupt controller HiP04 GIC is the variate of ARM GICv2. ARM GICv2 supports 8 cores. HiP04 GIC extends to support 16 cores. It results that bit fields in GIC_DIST_TARGET & GIC_DIST_SOFTINT are different from ARM GICv2. And the maximium IRQ is downgrade from 1020 to 510. Since different register offset & bitfields definitation breaks compartible with ARM GICv2, create a new hip04 irq driver. And this driver is derived from irq-gic.c to support the Hisilicon HiP04 interrupt controller, which is similar to the GIC, but deviates at some points. Support for power management, non-banked registers, cascaded GICs (and multiple controllers in general) and bigLittle support has been removed from the GIC driver. Affinity related functions have been adjusted to match the Hisilicon hardware implementation. Signed-off-by: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Link: https://lkml.kernel.org/r/1407408695-19626-9-git-send-email-haojian.zhuang@xxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ad7e767a726dd7dffad45d7fcbf371094e7f2288 Author: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Date: Thu Aug 7 00:27:00 2014 -0700 perf tools powerpc: Explicitly include util/debug.h Looks like util/debug.h was indirectly included before and is no longer included now. pr_debug is left undefined and the build of perf tool fails on Powerpc. Explicitly include util/debug.h. Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michael Ellerman <michaele@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140807072700.GA17623@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 700be564308bcfc217bd3515d634b56f0c3c1bbb Author: Don Zickus <dzickus@xxxxxxxxxx> Date: Tue Aug 19 22:31:14 2014 -0400 perf symbols: Don't try to find DSOs in SYSV maps We are seeing a lot of the following with regards to SYSV memory Failed to open /SYSV0000279c, continuing without symbols We don't believe this memory will have DSO info, so treat it like the heap and stack for now and skip it to prevent the warning. Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Signed-off-by: Joe Mario <jmario@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Joe Mario <jmario@xxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1408501874-244377-1-git-send-email-dzickus@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e0ad0b477c36fde6b0923670647495d07bf42f94 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Aug 20 10:08:23 2014 +0200 KVM: emulate: warn on invalid or uninitialized exception numbers These were reported when running Jailhouse on AMD processors. Initialize ctxt->exception.vector with an invalid exception number, and warn if it remained invalid even though the emulator got an X86EMUL_PROPAGATE_FAULT return code. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 592f085847f4ea753586dfe6ce75ba37d5992a45 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Wed Aug 20 10:05:08 2014 +0200 KVM: emulate: do not return X86EMUL_PROPAGATE_FAULT explicitly Always get it through emulate_exception or emulate_ts. This ensures that the ctxt->exception fields have been populated. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d27aa7f15c3b1105c8cd8c2d190ab354f877cac5 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Wed Aug 20 13:25:52 2014 +0300 KVM: x86: Clarify PMU related features bit manipulation kvm_pmu_cpuid_update makes a lot of bit manuiplation operations, when in fact there are already unions that can be used instead. Changing the bit manipulation to the union for clarity. This patch does not change the functionality. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit a535e2e0debc2255fcf60a11d73fbb0534454cc3 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Tue Aug 19 12:38:03 2014 +0800 pwm: fsl-ftm: Document 'big-endian' property The same FTM PWM device can have a different endianness on different SoCs. The device tree provides a property to describing this so that an operating system device driver can handle all variants of the device. Refer to the table below for the endianness of the FTM PWM block as integrated into the existing SoCs: SoC | FTM-PWM endianness --------+------------------- Vybrid | LE LS1 | BE LS2 | LE Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit a32e84594ddf018cc618a8781298804c3e6131ce Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Wed Aug 20 15:31:53 2014 +0800 KVM: vmx: fix ept reserved bits for 1-GByte page EPT misconfig handler in kvm will check which reason lead to EPT misconfiguration after vmexit. One of the reasons is that an EPT paging-structure entry is configured with settings reserved for future functionality. However, the handler can't identify if paging-structure entry of reserved bits for 1-GByte page are configured, since PDPTE which point to 1-GByte page will reserve bits 29:12 instead of bits 7:3 which are reserved for PDPTE that references an EPT Page Directory. This patch fix it by reserve bits 29:12 for 1-GByte page. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 42fa98a9c3609c1aff466cb847e421c611cc9157 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Tue Aug 19 12:38:02 2014 +0800 pwm: fsl-ftm: Convert to direct regmap API usage The regmap core supports different endian modes for devices. This patch convert to direct regmap API usage, preparing to support big endianness for LS1 SoC. Using the regmap framework it will be easy to support devices that only differ in endianness with the same device driver. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit cd6d92d2aa1556b22cd05acbc5f2cc8e5caafcc4 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Tue Aug 19 12:38:01 2014 +0800 pwm: fsl-ftm: Clean up the code This patch intends to prepare for converting to direct regmap API usage. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Thierry Reding <thierry.reding@xxxxxxxxx> commit f36c019c79edb3a89920afae1b2b45987af1a112 Author: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Date: Wed Aug 6 12:06:01 2014 +0400 sched/fair: Fix reschedule which is generated on throttled cfs_rq (sched_entity::on_rq == 1) does not guarantee the task is pickable; changes on throttled cfs_rq must not lead to reschedule. Check for task_struct::on_rq instead. Signed-off-by: Kirill Tkhai <ktkhai@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407312361.8424.35.camel@tkhai Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8b06c55bdb8b402cb4814e83dc4b1cb245fcc9f5 Author: Pranith Kumar <bobby.prani@xxxxxxxxx> Date: Wed Aug 13 13:28:12 2014 -0400 sched: Match declaration with definition Match the declaration of runqueues with the definition. Signed-off-by: Pranith Kumar <bobby.prani@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407950893-32731-1-git-send-email-bobby.prani@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5aface53d1a0ef7823215c4078fca8445995d006 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 13 21:20:03 2014 +0200 sched: Change autogroup_move_group() to use for_each_thread() Change autogroup_move_group() to use for_each_thread() instead of buggy while_each_thread(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Frank Mayhar <fmayhar@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Sanjay Rao <srao@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140813192003.GA19334@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1e4dda08b4c39b3d8f4a3ee7269d49e0200c8af8 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 13 21:20:00 2014 +0200 sched: Change thread_group_cputime() to use for_each_thread() Change thread_group_cputime() to use for_each_thread() instead of buggy while_each_thread(). This also makes the pid_alive() check unnecessary. Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Frank Mayhar <fmayhar@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Sanjay Rao <srao@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140813192000.GA19327@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d38e83c715270cc2e137bbf6f25206c8c023896b Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 13 21:19:56 2014 +0200 sched: s/do_each_thread/for_each_process_thread/ in debug.c Change kernel/sched/debug.c to use for_each_process_thread(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Frank Mayhar <fmayhar@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Sanjay Rao <srao@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140813191956.GA19324@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 5d07f4202c5d63b73ba1734ed38e08461a689313 Author: Oleg Nesterov <oleg@xxxxxxxxxx> Date: Wed Aug 13 21:19:53 2014 +0200 sched: s/do_each_thread/for_each_process_thread/ in core.c Change kernel/sched/core.c to use for_each_process_thread(). Signed-off-by: Oleg Nesterov <oleg@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Mike Galbraith <umgwanakikbuti@xxxxxxxxx> Cc: Hidetoshi Seto <seto.hidetoshi@xxxxxxxxxxxxxx> Cc: Frank Mayhar <fmayhar@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Sanjay Rao <srao@xxxxxxxxxx> Cc: Larry Woodman <lwoodman@xxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140813191953.GA19315@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7132fe4f568721cbd5d9bce5a8a71556e9bc45b4 Author: Dan Murphy <dmurphy@xxxxxx> Date: Sun Aug 17 09:24:26 2014 -0700 Input: drv260x - add TI drv260x haptics driver Add the TI drv260x haptics/vibrator driver. This device uses the input force feedback to produce a wave form to driver an ERM or LRA actuator device. The initial driver supports the devices real time playback mode. But the device has additional wave patterns in ROM. This functionality will be added in future patchsets. Product data sheet is located here: http://www.ti.com/product/drv2605 Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> commit 5ac9e7f35db00e630c9f95a1f73ac329371cdbbf Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 13 13:56:57 2014 +0200 ARM: shmobile: sh73a0: Remove unneeded nr_irqs initialization As per arch_probe_nr_irqs(), the default value is NR_IRQS, which maps to NR_IRQS_LEGACY if CONFIG_SPARSE_IRQ=y. Since SPARSE_IRQ is selected by both ARCH_MULTIPLATFORM and ARCH_SHMOBILE_LEGACY, it's always enabled on shmobile. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ea2e46086969e11b759a8f2c111c9b007d1b35c9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 13 13:56:56 2014 +0200 ARM: shmobile: sh7372: Remove unneeded nr_irqs initialization As per arch_probe_nr_irqs(), the default value is NR_IRQS, which maps to NR_IRQS_LEGACY if CONFIG_SPARSE_IRQ=y. Since SPARSE_IRQ is selected by both ARCH_MULTIPLATFORM and ARCH_SHMOBILE_LEGACY, it's always enabled on shmobile. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 93f05252514a8c7b6bf5a132f6b20f10215cb59c Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Aug 8 20:49:04 2014 +0900 ARM: shmobile: r8a7779: Remove NR_IRQS_LEGACY Remove NR_IRQS_LEGACY from the r8a7779 generic machine vector. The generic r8a7779 machine vector requires use of Multiplatform, and in such case SPARSE_IRQ is enabled by default. This in turns means that the default value of .nr_irqs equals NR_IRQS and NR_IRQS_LEGACY. Because of this we can simply remove NR_IRQS_LEGACY and move one step closer to a cruft-free environment. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fe8abe0bc2afb20b126e7e0759081dc0df2cd60d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Tue Aug 5 15:21:29 2014 +0200 ARM: shmobile: dma: Use defines instead of hardcoded numbers Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f2acab52e77650044b0772a6d7abbfef1eb4cede Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 09:25:15 2014 +0900 ARM: shmobile: Rework multiplatform include workaround Now when the majority of the include files have moved from arch/arm/mach-shmobile/include/mach/ to arch/arm/mach-shmobile/ remove the header include file workaround in the Makefile... ... and add another workaround in irqs.h to cope with the fact that <mach/irqs.h> needs to be where it is until the PFC code has been updated to remove legacy non-DT interfaces. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9b0fd79af38cb1d68f5faf4fb528713116480e9f Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:33:26 2014 +0900 ARM: shmobile: r7s72100: Add shmobile_init_late() Extend r7s72100 SoC machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0592d1b5d296b0b6a24b7e48b7b48662164d3117 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:33:08 2014 +0900 ARM: shmobile: r8a73a4: Add shmobile_init_late() Extend r8a73a4 SoC machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 7759a7a8e9b07a9046c1bdb2cd4c9ce197280392 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:50 2014 +0900 ARM: shmobile: r8a7778: Fix shmobile_init_late() Fix r8a7778 SoC machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup and platform devices are omitted as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d5b00b90705d5fff53f611ba4746d79fedbb52be Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:33 2014 +0900 ARM: shmobile: r8a7779: Fix shmobile_init_late() Fix r8a7779 SoC machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup and platform devices are omitted as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit e604d80971e65c7ae895a4b38caed3838cf07554 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:15 2014 +0900 ARM: shmobile: sh73a0: Add shmobile_init_late() Extend sh73a0 SoC machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3969d6490ba35b01f84bb12472c29c6029f7298b Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 13 13:56:58 2014 +0200 ARM: shmobile: kzm9g-reference: Remove unneeded nr_irqs initialization As per arch_probe_nr_irqs(), the default value is NR_IRQS, which maps to NR_IRQS_LEGACY if CONFIG_SPARSE_IRQ=y. Since SPARSE_IRQ is selected by both ARCH_MULTIPLATFORM and ARCH_SHMOBILE_LEGACY, it's always enabled on shmobile. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f185a01b3877880135ea73ddfcec52bd9a4d4864 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 13 13:56:59 2014 +0200 ARM: shmobile: kzm9g: Remove unneeded nr_irqs initialization As per arch_probe_nr_irqs(), the default value is NR_IRQS, which maps to NR_IRQS_LEGACY if CONFIG_SPARSE_IRQ=y. Since SPARSE_IRQ is selected by both ARCH_MULTIPLATFORM and ARCH_SHMOBILE_LEGACY, it's always enabled on shmobile. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 322163c437b200b70ecb87ab102dfedce0ba0e91 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Fri Aug 8 20:49:13 2014 +0900 ARM: shmobile: marzen: Remove NR_IRQS_LEGACY Remove NR_IRQS_LEGACY from the Marzen Reference code. The Marzen Reference machine vector requires use of Multiplatform, and in such case SPARSE_IRQ is enabled by default. This in turns means that the default value of .nr_irqs equals NR_IRQS and NR_IRQS_LEGACY. Because of this we can simply remove NR_IRQS_LEGACY and move one step closer to a cruft-free environment. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 911f7cec78af1445d4b0f5f79907cb5bd4522ce5 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:45:00 2014 +0900 ARM: shmobile: ape6evm: Use shmobile_init_delay() The r8a73a4 DTS includes CPU Frequency information so adjust the APE6EVM board code to use shmobile_init_delay() instead of relying on CPU Frequency information included in r8a73a4_init_delay() that is specified in C. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 509c42a5fce00f8769f68847580ba3c4dc884218 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:33:17 2014 +0900 ARM: shmobile: ape6evm: Add shmobile_init_late() Extend board specific APE6EVM reference machine vectors to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6e15a3873aa9b4ab2980f781b05bfc5c99bf4b99 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:59 2014 +0900 ARM: shmobile: bockw: Add shmobile_init_late() Extend board specific Bock-W DT reference machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b9c9281339376521d0feb78c9051fedfbb3cf111 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:41 2014 +0900 ARM: shmobile: marzen: Add shmobile_init_late() Extend board specific Marzen DT reference machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit eeed09e8116f9932b55aa284d109bdea1e2ddc46 Author: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Date: Thu Jul 31 08:32:24 2014 +0900 ARM: shmobile: kzm9g: Add shmobile_init_late() Extend board specific KZM9D DT reference machine vector to include shmobile_init_late() so Suspend-to-RAM and CPUIdle are setup as expected. Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 45e1a279ce1d2ff9b2b2fedf4cdced10c7ca3ab5 Author: Stephen Warren <swarren@xxxxxxxxxx> Date: Tue Aug 19 10:49:07 2014 -0600 regmap: of_regmap_get_endian() cleanup Commit d647c199510c ("regmap: add DT endianness binding support") had some issues. Commit ba1b53feb8ca ("regmap: Fix DT endianess parsing logic") fixed the main problem. This patch fixes the other. Specifically, restore the overall default of REGMAP_ENDIAN_BIG if none of the config, DT, or the bus specify any endianness. Without this, of_regmap_get_endian() could return REGMAP_ENDIAN_DEFAULT, which the calling code can't handle. Since all busses do specify an endianness in the current code, this makes no difference right now, but I saw no justification in the patch description for removing this final default. Also, clean up the code a bit: * s/of_regmap_get_endian/regmap_get_endian/ since the function isn't DT- specific, even if the reason it was originally added was to add some DT-specific features. * After potentially reading an endianess specification from DT, the code checks whether DT did specify an endianness, and if so, returns it. Move this test outside the whole switch statement so that if the REGMAP_ENDIAN_REG case ever modifies *endian, this check will pick that up. This partially reverts part of commit ba1b53feb8ca ("regmap: Fix DT endianess parsing logic"), while maintaining the bug-fix that commit made to this code. * Make the comments briefer, and only refer to the specific action taken at their location. This makes most of the comments independent of DT, and easier to follow. Cc: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Cc: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Fixes: d647c199510c ("regmap: add DT endianness binding support") Signed-off-by: Stephen Warren <swarren@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 468e0f47ed87350408ddac0e942fbf9a723408f9 Author: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Date: Tue Aug 19 20:29:20 2014 +0300 spi/pxa2xx-pci: remove unnecessary assignment There is no need to unset driver data pointer at removal stage. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38ec10f60d9ca3a7eb3a5b52500a67479296b86f Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Aug 16 16:27:41 2014 +0100 spi: Only call transfer_one() if we have buffers to transfer Client drivers such as the ChomeOS EC driver sometimes use transfers with no buffers and only a delay specified in order to allow a delay after the assertion of /CS. Rather than require controller drivers handle this noop case gracefully put checks in the core to ensure that we don't call into the controller for such transfers. Reported-by: Addy Ke <addy.ke@xxxxxxxxxxxxxx> Tested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 464d6e18639c4347dafd8dbcee270674dd3d8fba Merge: 7d1311b 16aa7f1f1 Author: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Date: Tue Aug 19 16:04:10 2014 -0500 Merge tag 'at91-dt-for-3.17' of git://git.kernel.org/pub/scm/linux/kernel/git/mripard/linux Pull AT91 ramc and reset/poweroff related DT patches from Maxim Ripard: "This branch gathers a few devicetree patches needed for the reworks found in the later patches to be sent. More precisely, it holds: - The addition of ddrck for the sama5d3 and the sam9 SoCs - The addition of the shutdown controller node in the sama5d3 DTSI - The slight rework of the ramc bindings for the SoCs that have several RAM controllers" Conflicts: arch/arm/boot/dts/at91sam9g45.dtsi commit ff9e7621586ff8b86a18cfbb7c437c277ebc1970 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:00:00 2014 +0100 iio: adc: xilinx: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit c83441e0a7f45f19e8955ce45febaefa66e9e1af Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 18 08:57:00 2014 +0100 staging:iio: Remove ad5930/ad9850/ad9852/ad9910/ad9951 dummy drivers All what these 'drivers' do is expose a single (non standard ABI) sysfs attribute that when written to does a direct pass-through to spi_write(). This is rather ugly and does not justify the existence of a driver as the same can easily done by using the spidev interface. The drivers will eventually be rewritten as proper IIO ABI compliant drivers which do have the proper abstraction layers between userspace and the device. But in the meantime these driver do not add any extra value and just clutter up the staging area. So just remove them. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 4ce72abc6ea768d6f214456adcd7e0a293cbc065 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 18 09:08:00 2014 +0100 MAINTAINERS: Add entry for Analog Devices IIO drivers Add Michael and myself as the maintainer for the Analog Devices IIO drivers. The entry matches on all files in drivers/staging/iio and drivers/iio/ starting with the 'ad' prefix, except for 'adjd' as that one is used by Avago Technologies. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit f0d61161620019599868a5840df16a9d483a96cf Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Mon Aug 18 09:29:00 2014 +0100 MAINTAINERS: Add designated reviewers for IIO subsystem Add those persons who generally tend to review new IIO patches to the list of designated reviewers to make sure that they are Cc'ed on new patches. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Acked-by: Peter Meerwald <pmeerw@xxxxxxxxxx> Acked-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 5b49ab3e03f68eb49db4bce6290e5707b7f6c6f3 Merge: b25046b 54ea17a Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Tue Aug 19 11:57:23 2014 -0700 Merge l2-mtd/next into l2-mtd/master commit 54ea17a597b00e46b3720e75dd7595cd5dfa5670 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Aug 7 09:47:02 2014 +0200 mtd: spi-nor: drop jedec_probe /helper/ function It's a one-liner doing no magic and its name may be confusing because it does not have to use JEDEC (e.g. when using alternative read_id). Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Huang Shijie <shijie8@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ab75e89c013d8fff8bd8a6e520d184c3da1a4583 Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Thu Aug 7 09:47:01 2014 +0200 mtd: spi-nor: remove duplicated w25q128 entry Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Acked-by: Huang Shijie <shijie8@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 02f8a24e7b1c253ee37edc684200c11300de23f9 Author: Aaron Wu <aaron.wu@xxxxxxxxxx> Date: Thu Aug 7 11:43:49 2014 +0800 mtd: gpio_flash: handle case where offset + len exceeds the window size Fix the bug in handling gpio flash read/write when offset + len from MTD exceeds the window size Signed-off-by: Aaron Wu <Aaron.wu@xxxxxxxxxx> [Brian: made some commentary edits. Also note that the BUG_ON() was provably false for all non-negative inputs (since x % y <= x), so we dropped it.] Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit bd8898db3e03147d9d7ddd48876fb3f3bcbab6c1 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sat Aug 9 19:07:53 2014 +0200 mtd: nand: Use ULL-suffix for big u64 constant drivers/mtd/nand/nand_timings.c:45: warning: integer constant is too large for â??longâ?? type [ Editorial note: This is a false warning. Looking at ISO draft N1124 (this is approximately C11, the first PDF I had lying around), section 6.4.4.1 (statement 5): "The type of an integer constant is the first of the corresponding list in which its value can be represented." So this should not be an overflow, and any toolchain that says so (e.g., GCC 4.4) is buggy. -Brian ] Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit ff0a215438cf7be0a652cb3457f562539bd40b22 Author: Wu, Josh <Josh.wu@xxxxxxxxx> Date: Tue Aug 5 18:38:52 2014 +0800 mtd: atmel_nand: NFC: fix mtd_nandbiterrs.ko test fail when using sram write When enable NFC sram write, it will failed the mtd_nandbiterrs.ko test. As in driver's nfc_sram_write_page(), if ops->mode equal to MTD_OSP_RAW, driver assumes the data buffer contains one page data and one oob data followed. And driver will write the page data and oob data to nand. But this is wrong implementation. Since the data buffer don't contains the oob data to write. We should write the chip->oob_poi to nand's oob. So this patch fix it by writing the oob data from chip->oob_poi. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1cc8d8413327a684cd5e93cd52ececb0223bb40b Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:08:13 2014 -0700 mtd: terminate user-provided string Noticed by Coverity as a potential security issue. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 537ab1bd47d6518e8a40207a80dd0c2c4bc43aed Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:08:03 2014 -0700 mtd: nand: fix integer widening problems chip->pagebuf is a 32-bit type (int), so the shift will only be applied as 32-bit. Fix this for 64-bit safety. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7a6f43958a53020f85818ff5c895623e88781fd6 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:56 2014 -0700 mtd: maps: solutionengine: drop excess dependency Already depends on SOLUTION_ENGINE, so we don't need the SUPERH dependency too. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit b033e1aac9afd314add799b6cd2a5489f892757f Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:44 2014 -0700 mtd: nandsim: fix integer widening This multiplication should be done in 64-bit, not 32-bit. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit c115add9d073752d38f6517882dfeafe76fc4458 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:31 2014 -0700 mtd: nand: denali: set proper error code on timeout The condition "if (irq_status == 0)" already ensures that one half of the ternary ?: is dead. I think this should probably actually be a FAIL, not a PASS. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Jamie Iles <jamie@xxxxxxxxxxxxx> commit 31f754628cbb12c983600f22d9f0fed50dfe2134 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:22 2014 -0700 mtd: use __packed shorthand Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 1001ff7a4f64f3f4264e69d3ed70ff428f627e01 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:12 2014 -0700 mtd: tests: fix integer overflow issues These multiplications are done with 32-bit arithmetic, then converted to 64-bit. We should widen the integers first to prevent overflow. This could be a problem for large (>4GB) MTD's. Detected by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx> commit 8c3f3f1d7941bcb25590b784f84accd7dcb44ba3 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:07:02 2014 -0700 mtd: mtdswap: fix integer overflow Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5e47212831ac565993d21ebd36216d98f2b58f30 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:06:47 2014 -0700 mtd: remove dead non-char logic MTD used to allow compiling out character device support. This was dropped in the following commit, but some of the accompanying logic was never dropped: commit 660685d9d1b4730f0b5ca97fa95f272f99c63bce Author: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> Date: Thu Mar 14 13:27:40 2013 +0200 mtd: merge mtdchar module with mtdcore The weird logic was flagged by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> Cc: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx> commit f7f0d358f5f2f1133b5a14337028ddab848cd74e Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:06:39 2014 -0700 mtd: sm_ftl: initialize error code There is one theoretical case that could fall through to using an uninitialized value as the return code. Let's give it a value of 0. Untested. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 0c2b4e21444d0e274e91fc7db85caddb30988853 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:06:27 2014 -0700 mtd: correct upper bounds check for mtd_*() APIs When checking the upper boundary (i.e., whether an address is higher than the maximum size of the MTD), we should be doing an inclusive check (greater or equal). For instance, an address of 16MB (0x1000000) on a 16MB device is invalid. The strengthening of this bounds check is redundant for those which already have a address+length check and ensure that the length is non-zero, but let's just fix them all, for completeness. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 36c6a7ac74044b8025488c018279115bb3c32eb0 Author: Brian Norris <computersforpeace@xxxxxxxxx> Date: Mon Jul 21 19:06:19 2014 -0700 mtd: cfi_cmdset_0002: allow retry/timeout loop to exit The variable 'retries' is never modified, so if the reset operation never is going to complete, we'll get stuck in an infinite loop. It looks like the intention was to decrement 'retries' on every loop. Untested. Caught by Coverity. Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 57d3a9a89a0645f3597561e214f8d6852a2c56b4 Author: White Ding <bpqw@xxxxxxxxxx> Date: Thu Jul 24 00:10:45 2014 +0800 mtd: nand: fix nand_lock/unlock() function Do nand reset before write protect check. If we want to check the WP# low or high through STATUS READ and check bit 7, we must reset the device, other operation (eg.erase/program a locked block) can also clear the bit 7 of status register. As we know the status register can be refreshed, if we do some operation to trigger it, for example if we do erase/program operation to one block that is locked, then READ STATUS, the bit 7 of READ STATUS will be 0 indicate the device in write protect, then if we do erase/program operation to another block that is unlocked, the bit 7 of READ STATUS will be 1 indicate the device is not write protect. Suppose we checked the bit 7 of READ STATUS is 0 then judge the WP# is low (write protect), but in this case the WP# maybe high if we do erase/program operation to a locked block, so we must reset the device if we want to check the WP# low or high through STATUS READ and check bit 7. Signed-off-by: White Ding <bpqw@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 6f3c0f163103fb225c77b73ca17fc4ecea308103 Author: Samarth Parikh <samarthp@xxxxxxxxx> Date: Wed Jul 16 16:14:37 2014 +0530 mtd: Fixed checkpatch seq_printf warnings Fixed checkpatch warnings: "WARNING: Prefer seq_puts to seq_printf" This patch is created with reference to the ongoing lkml thread https://lkml.org/lkml/2014/7/15/646 where Andrew Morton wrote: " - puts is presumably faster - puts doesn't go rogue if you accidentally pass it a "%". - this patch would actually make compiled object files few bytes smaller. Perhaps because seq_printf() is a varargs function, forcing the caller to pass args on the stack instead of in registers. " Signed-off-by: Samarth Parikh <samarthp@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2902330e7ac16d5962f114d92bb17631e9cb49e9 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Fri Jul 11 11:14:05 2014 +0900 mtd: denali: avoid using a magic number MAP10 command with '0x2000' data sets up a read-ahead/write access. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 8fb7b9309c41407801958138db978eb38fd80c01 Author: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Date: Mon Jul 28 21:19:55 2014 +0800 mtd: atmel_nand: remove redundant dev_err call There is a error message within devm_ioremap_resource already, so remove the dev_err call to avoid redundant error message. Signed-off-by: Wei Yongjun <yongjun_wei@xxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit f2fabe16b819cdead86fb38c8ab88a0d9c308293 Author: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Date: Sun Jul 27 23:56:08 2014 +0200 mtd: spi-nor: add support for Micron M25PX80 This commit adds the support in the spi-nor driver of the Micron M25PX80 flash, a 8 Mbit SPI flash from Micron. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 7b7d8982f0169d5ac67c6c2877449fb7f6968cac Author: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Date: Sun Jul 27 14:31:53 2014 -0700 mtd: fix linux/mtd/nand.h kernel-doc warning Fix kernel-doc warning in <linux/mtd/nand.h>: Warning(..//include/linux/mtd/nand.h:795): No description found for parameter 'ecc' Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: David Woodhouse <dwmw2@xxxxxxxxxxxxx> Cc: Brian Norris <computersforpeace@xxxxxxxxx> Cc: linux-mtd@xxxxxxxxxxxxxxxxxxx Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit a35571058ec8e7c82dceea90cdecead51674f963 Author: Wu, Josh <Josh.wu@xxxxxxxxx> Date: Tue Jul 22 17:24:18 2014 +0800 mtd: atmel_nand: add pmecc support for 512, 1k, 4k, 8k page size PMECC can support 512, 1k, 2k, 4k, 8k page size. The driver currently only support 2k page size nand flash. So this patch add support to 512, 1k, 4k and 8k page size nand flash. Signed-off-by: Josh Wu <josh.wu@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 796fe3648a13b311f5b9a125e2d2532a2ce7c78a Author: Raphaël Poggi <poggi.raph@xxxxxxxxx> Date: Tue Jul 29 15:27:27 2014 +0200 mtd: atmel_nand: increase chip_delay Some nand with 8k page size like Micron MT29F32G08ABAAAWP need more than 20us. Signed-off-by: Raphaël Poggi <poggi.raph@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 9b6e5172e363b0c35a6be4d3197f3bcdc789292e Author: Martin Kepplinger <martink@xxxxxxxxx> Date: Thu Jul 31 16:31:16 2014 +0200 mtd: use NULL instead of 0 for an address Use NULL instead of 0 when returning an address. This fixes a sparse warning. Signed-off-by: Martin Kepplinger <martink@xxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 5828c60826e9422169b3711aa58a583242864cc8 Author: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Date: Thu Jul 31 18:36:20 2014 +0300 mtd: ndfc: silence an array underflow static checker warning We check "cs" for array overflows but we don't check for underflows and it upsets the static checkers. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Brian Norris <computersforpeace@xxxxxxxxx> commit 2626063f86cdce500153e8550334b9331421dc6f Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 19:14:22 2014 +0200 ARM: at91: remove old irq material Remove all the material related to AIC5 support: this interrupt controller driver is now implemented in drivers/irqchip/atmel-aic.c. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 3b26f39b0ab1f390365701981e831aa128e3e4ac Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 19:14:21 2014 +0200 ARM: at91: make use of the new AIC driver for dt enabled boards Remove selection of OLD_IRQ_AT91 when selecting dt boards. Select ATMEL_AIC_IRQ for sama5 SoCs (a kernel compiled for this SoC will always use ATMEL_AIC_IRQ driver). Select ATMEL_AIC_IRQ for at91rm9200 and at91sam9 SoCs only if OLD_IRQ_AT91 is not selected (which means we are compiling a pure DT kernel, without any legacy board support). Remove specific irq init code in all dt board files: this init procedure is automatically handled in of_irq_init which is called by the arm irq core code and is in charge of calling the appropriate aic init functions. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 071926041e5b38f84f2aaac2122c57e398e535b5 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 19:14:20 2014 +0200 ARM: at91: enclose at91_aic_xx calls in IS_ENABLED(CONFIG_OLD_IRQ_AT91) blocks Enclose at91_aic_xx calls in IS_ENABLED(CONFIG_OLD_IRQ_AT91) blocks in order to prepare migration to the new AIC driver. In the new AIC driver the suspend/resume functions are called by the generic irq framework and are no longer needed in the PM specific code. Moreover, the new AIC driver no longer exposes the at91_aic_base variable which is used by the at91_aic_read functions. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 91a55d4f690066a249d5cdeca86f0c3164301861 Author: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 10 19:14:19 2014 +0200 ARM: at91: introduce OLD_IRQ_AT91 Kconfig option Introduce the OLD_IRQ_AT91 Kconfig option to prepare migration to the new AIC driver. Select this option for all at91 SoCs and all available boards so that we can later move DT enabled boards to the new irq driver and keep the old implementation when legacy boards are selected. Signed-off-by: Boris BREZILLON <boris.brezillon@xxxxxxxxxxxxxxxxxx> Signed-off-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 684284b64aae96c8d5de0dc0d6e4b72f8b3502ce Author: Linus Walleij <linus.walleij@xxxxxxxxxx> Date: Wed Jan 22 14:21:28 2014 +0100 ARM: integrator: add MMCI device to IM-PD1 The IM-PD1 logic module daughterboard holds an MMCI block, which we can now provide using platform resources such as proper GPIO lines etc. We add the GPIO table dynamically and using the new GPIO descriptor mechanism. Tested and hey, it works: root@integrator:/ mount /dev/mmcblk0p1 /mnt/ root@integrator:/ ls /mnt/ ARM U-BOOT.EXE u-boot.bin u-boot.srec u-pad.bin Reviewed-by: Alexandre Courbot <gnurou@xxxxxxxxx> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> commit 29a4bb1431035560b4be3fc5917c5ab8b8141204 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:57:42 2014 +0200 dma: xilinx: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Reviewed-by: Levente Kurusa <lkurusa@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ddc643630f5deb1995d191719086b64873c67a44 Author: Srikanth Thokala <sthokal@xxxxxxxxxx> Date: Mon Jul 28 17:47:48 2014 +0530 dma: Add Xilinx AXI DMA DT Binding Documentation Device-tree binding documentation of Xilinx DMA Engine Signed-off-by: Srikanth Thokala <sthokal@xxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit ff495d3a8ea4d46d237096e6521b24b7ba612e53 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 17:48:07 2014 +0200 ASoC: txx9: Don't opencode DMAengine API calls Use the proper wrapper functions instead of directly calling the DMAengine callback functions. Also add the missing include to linux/dmaengine.h. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5d0ecb0e7dd53e61e034bac8508d7601b04e679d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 17:48:06 2014 +0200 ASoC: sh: Don't opencode DMAengine API calls Use the proper wrapper functions instead of directly calling the DMAengine callback functions. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0fc6a323e19173fc89e17940bb1e19447aa0224e Author: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Date: Sun Aug 17 18:33:38 2014 +0200 spi: bcm53xx: driver for SPI controller on Broadcom bcma SoC Broadcom 53xx ARM SoCs use bcma bus that contains various cores (AKA devices). If board has a serial flash, it's connected over SPI and the bcma bus includes a SPI controller. Example log from such a board: bus0: Found chip with id 53010, rev 0x00 and package 0x02 (...) bus0: Core 18 found: SPI flash controller (manuf 0x4BF, id 0x50A, rev 0x01, class 0x0) This patch adds a bcma driver for SPI core, it registers SPI master controller and "bcm53xxspiflash" SPI device. Signed-off-by: RafaÅ? MiÅ?ecki <zajec5@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38c6e4bb67760db1392b9c5ee0082af07c0db20d Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Tue Aug 19 17:36:41 2014 +0800 ASoC: fsl-asoc-card: move 'config SND_SOC_FSL_ASOC_CARD' to 'if SND_IMX_SOC' Build kernel with SND_SOC_FSL_ASOC_CARD=m && SND_SOC_FSL_{SSI,SAI,ESAI}=y leads the following error: sound/built-in.o: In function `fsl_sai_probe': >> fsl_sai.c:(.text+0x5f662): undefined reference to `imx_pcm_dma_init' sound/built-in.o: In function `fsl_esai_probe': >> fsl_esai.c:(.text+0x6044b): undefined reference to `imx_pcm_dma_init' The config SND_SOC_FSL_ASOC_CARD is for IMX SOC, So move it under condition of 'if SND_IMX_SOC'. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c5599b87a8317738a541d8893cb327df5d04b007 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:30 2014 +0200 ASoC: Replace list_empty(&card->codec_dev_list) with !card->instantiated With componentization we no longer necessarily need a snd_soc_codec struct for a card. Instead of checking if the card's CODEC list is empty just use card->instantiated to check if the card has been instantiated yet. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 75af7c081982d76cef0daf26e96b5d1e8cb9d631 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:29 2014 +0200 ASoC: Remove support for legacy snd_soc_platform IO There were never any actual users of this in upstream and by we have with regmap a replacement in place, which should be used by new drivers. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 886f5692253de1a9509f5cb708432b2157afb57c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:28 2014 +0200 ASoC: Automatically initialize regmap for all components So far regmap is only automatically initialized for CODECs. Now that we have the infrastructure in place to let components have DAPM widgets and controls that want to use the generic regmap based IO also make sure to automatically initialize regmap for all components. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 14621c7e5e72200ec021a7580121130ce7f2ff22 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:27 2014 +0200 ASoC: Consolidate CPU and CODEC DAI lookup The lookup of CPU and CODEC DAIs is fairly similar and can easily be consolidated into a single helper function. There are two main differences in the current implementation of the CPU and CODEC DAI lookup: 1) CPU DAIs can be looked up by the DAI name alone and do not necessarily require a component name/of_node. 2) The CODEC DAI search only considers DAIs from CODEC components. For 1) the new helper function will allow to lookup DAIs without providing a component name or of_node, but since snd_soc_register_card() already rejects CODEC DAI link components without neither a of_node or a name we'll never get into the situation where we try to lookup a CODEC DAI without a name/of_node. For 2) the new helper function just always considers all components. Componentization is now at a point where it is possible to register a CODEC as a snd_soc_component rather than a snd_soc_codec, by considering DAIs from all components it is possible to use such a CODEC in a DAI link. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e60cd14f0bf6c004cd7032a24a036ba32d56e08a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:26 2014 +0200 ASoC: Consolidate CPU and CODEC DAI removal CPU and CODEC DAI works exactly the same way. There is already a helper function for CODEC DAI removal, use that one as well for CPU DAI removal. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ffbd7dd72bd3ad9bcae9190788c858e57f1e8e4e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:25 2014 +0200 ASoC: Cleanup DAI module reference counting Currently when a DAI has no CODEC associated to it the reference on the module containing the DAI driver is increased when the DAI is probed and decrease when the DAI is removed. For DAIs with CODECs the module reference count was already incremented when the CODEC is probed. Now that all components have their module reference count incremented when they are probed and all DAIs do have a component it is possible to remove the module reference counting on DAI probe and removal. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 70090bbb8b7d7da7a6f64969b43a61c493c560ff Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:24 2014 +0200 ASoC: Move component->probed check into soc_{remove,probe}_component() Having the check in a centralized place makes the code a bit cleaner and shorter. Note: There is a slight semantic change in this patch. soc_probe_aux_dev() will no longer return -EBUSY if the AUX dev has already been probed before. This is fine though since it will simply do nothing in that case and return success. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 57bf772687700e206c760ba2e4097f78bde97887 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:23 2014 +0200 ASoC: Pass component instead of DAPM context to AUX dev init callback Given that the component is the containing structure it makes more sense to pass the component rather than the DAPM context to the AUX dev init callback. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 65d9361f0cb50a20641802ee3075145d72e4409c Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:22 2014 +0200 ASoC: Move AUX dev support to the component level This patch makes it possible to register arbitrary components as a AUX dev for a card. This was previously only possible for CODEC components. With componentization having made it possible for components to have DAPM contexts and controls there is no reason why AUX devs should be artificially limited to snd_soc_codec devices. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 61aca5646b736a794d40de29a197144db3f0c5ba Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:21 2014 +0200 ASoC: Add component level probe/remove support Now that we have a unified probe and remove path make sure to call them for all components. soc_{probe,remove}_component are responsible for setting up the DAPM context for the component, initialize the component prefix, manage the debugfs entries as well as do the registration of table based controls and DAPM elements. They also call the component drivers probe and remove callbacks. This patch makes these things available for generic snd_soc_component drivers rather than only having them for snd_soc_codec and snd_soc_platform drivers. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 93c3ce76ccced3a8718149e8734ccaa931e9a1f1 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:20 2014 +0200 ASoC: Make rtd->codec optional There are some place in the ASoC core that expect rtd->codec to be non NULL (mainly CODEC specific sysfs files). With componentization going forward rtd->codec might be NULL in some cases. This patch prepares the core for this by not registering CODEC specific sysfs files if rtd->codec is NULL. sysfs file removal does not need to be conditionalized as it handles the removal of non-existing files just fine. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit f1d45cc3ae96a6173129b2c164c216272faa5fc0 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:19 2014 +0200 ASoC: Consolidate platform and CODEC probe/remove The platform and CODEC probe and remove code is now largely identical. This patch consolidates it at the component level. The resulting code is slightly larger due to all the boiler plate code setting up the indirection for the table based control and DAPM registration. Once all drivers have been update to no longer use the snd_soc_codec_driver and snd_soc_platform_driver specific fields for this the indirection can be removed again. This patch contains two noteworthy hacks that are only meant to be temporary to be able to update drivers and the core in separate incremental patches. The first hack is related to that some DPCM platforms expect that the DAPM widgets for the DAIs of a snd_soc_component are created in the DAPM context of the snd_soc_platform that has the same parent device. For handling this the steal_sibling_dai_widgets attribute is introduced. It gets set for snd_soc_platforms that register DAPM elements. When creating the DAI widgets for a component this flag is checked and if it is found on one of the siblings the component will not create any DAI widgets in its own DAPM context. If the attribute is set on a platform it will look for siblings components and create DAI widgets for them in its own context. The fix for this will be to update the offending drivers to only register a single component rather than two. The second hack deals with the fact that the ASoC card suspend and resume code still needs a list of CODECs that have been registered for the card. To handle this the generic probe and remove path have a check to see if the component is CODEC and if yes add/remove it to the card's CODEC list. While it is possible to clean up the suspend/resume code to not need the CODEC list anymore this is a bit of a chicken and egg problem since it will become easier to clean up the suspend/resume code once there is a unified component layer. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 81c7cfd1b22a0ee5e40efef72ec2cd17dbf12e6d Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Tue Aug 19 15:51:18 2014 +0200 ASoC: Move debugfs registration to the component level The debugfs registration is mostly identical between platforms and CODECs. This patches consolidates the two implementations at the component level. Unfortunately there are still a couple of CODEC specific debugfs files that are related to legacy ASoC IO that need to be registered. For this a new callback is added to the component struct that will be initialized when a CODEC is registered and will be used to register the CODEC specific files. Once there are no drivers left using legacy IO this can be removed again. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 4f37b504768c952b64bc9469a2d579c7597590f2 Author: Alexander Shiyan <shc_work@xxxxxxx> Date: Tue Aug 19 10:51:04 2014 +0400 libata: Use dev_name() for request_irq() to distinguish devices Use dev_name() instead of driver name for request_irq(). This will help to distinguish between multiple identical devices. Before: CPU0 5: 34425 clps711x-intc 5 pata_of_platform 6: 6778 clps711x-intc 6 pata_of_platform After: CPU0 5: 2182 clps711x-intc 5 20000000.ide 6: 11024 clps711x-intc 6 20100000.ide Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit cdec729765659adafba983d6b6760ad52c71d5d8 Author: Sean Cross <xobs@xxxxxxxxxx> Date: Tue Aug 19 12:49:34 2014 +0800 ASoC: fsl: Fix building of imx-es8328 on PPC The imx-es8328 driver fails to build on PPC because it explicitly depends on SND_SOC_IMX_PCM_FIQ, which itself doesn't build on PPC. Instead, rely on the SND_SOC_FSL_SSI config option to pull in the necessary libraries. While we're at it, remove SND_SOC_FSL_UTILS, which also is not needed. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ea62f4dfe329094cd988a73fe854c6f2e92dd486 Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Tue Aug 19 18:07:42 2014 +0800 regulator: hi6421: style fix, else with a single return is not required style fix for warnings. 'else' with a single 'return' is usually not required. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 39f5460d7f9cc57d3dd745301bf60ca5d65a6e7b Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Tue Aug 19 18:07:41 2014 +0800 regulator: core: add const to regulator_ops and fix build error in mc13892 Commit 272e2315fac3 ("regulator: core: add const qualifier to ops in struct regulator_desc") introduced const qualifier to ops in regulator_desc. This patch adds 'const' to regulator_ops vars in newly added core APIs for v3.17-rc1: - regulator_get_hardware_vsel_register() - regulator_list_hardware_vsel() This patch also fix a build error in mc13892-regulator.c due to const regulator_desc.ops. Modification of regulator_desc.ops' member fields is not allowed. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c12fe49726cfebacb47dca5f2bb544c38aa09e6d Author: Vignesh Raman <Vignesh_Raman@xxxxxxxxxx> Date: Tue Aug 5 18:39:42 2014 +0530 dma: imx-sdma: Adding tasklet_kill() in sdma_remove function. Several dma drivers calls tasklet_kill() in remove function. This is done because all running tasklets should be killed on remove. This is missing in imx sdma driver, so adding tasklet_kill() in sdma_remove function. Signed-off-by: Vignesh Raman <Vignesh_Raman@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 23e11811378259831777e8fdc8b9836faeaa72cd Author: Vignesh Raman <Vignesh_Raman@xxxxxxxxxx> Date: Tue Aug 5 18:39:41 2014 +0530 dma: imx-sdma: use module_platform_driver for SDMA driver Currently there is no module_exit declared in SDMA driver, so that once sdma module is inserted, it's shown with permanent attribute by lsmod, and it can't be removed. Use module_platform_driver to register/unregister SDMA driver and modify SDMA's remove operation, to make SDMA driver possible to be removed. Signed-off-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> commit 3228950621d92f0f212378f95a6998ef3a1be0bb Author: Feng Kan <fkan@xxxxxxx> Date: Wed Jul 30 14:56:59 2014 -0700 irqchip: gic: Preserve gic V2 bypass bits in cpu ctrl register This change is made to preserve the GIC v2 bypass bits in the GIC_CPU_CTRL register (also known as the GICC_CTLR register in spec). This code will preserve all bits configured by the bootloader regarding v2 bypass group bits. In the X-Gene platform, the bypass functionality is not used and bypass bits should not be changed by the kernel gic code as it could lead to incorrect behavior. Signed-off-by: Feng Kan <fkan@xxxxxxx> Reviewed-by: Vinayak Kale <vkale@xxxxxxx> Reviewed-by: Anup Patel <apatel@xxxxxxx> Link: https://lkml.kernel.org/r/1406757419-18729-3-git-send-email-fkan@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit e5f81539f657af7e9f54ea37986fde8f92acef22 Author: Feng Kan <fkan@xxxxxxx> Date: Wed Jul 30 14:56:58 2014 -0700 irqchip: gic: Replace hex numbers with defines. This is to cleanup some hex numbers used in the code and replace them with defines to make the code cleaner. Signed-off-by: Feng Kan <fkan@xxxxxxx> Reviewed-by: Anup Patel <apatel@xxxxxxx> Link: https://lkml.kernel.org/r/1406757419-18729-2-git-send-email-fkan@xxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 1e1b6c26443547b05925ae4a4494884c92eb7d95 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Tue Aug 19 00:03:00 2014 +0300 KVM: x86: recalculate_apic_map after enabling apic Currently, recalculate_apic_map ignores vcpus whose lapic is software disabled through the spurious interrupt vector. However, once it is re-enabled, the map is not recalculated. Therefore, if the guest OS configured DFR while lapic is software-disabled, the map may be incorrect. This patch recalculates apic map after software enabling the lapic. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit fae0ba2157340635fd99912c0c3b7a28c355c588 Author: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Date: Mon Aug 18 22:42:13 2014 +0300 KVM: x86: Clear apic tsc-deadline after deadline Intel SDM 10.5.4.1 says "When the timer generates an interrupt, it disarms itself and clears the IA32_TSC_DEADLINE MSR". This patch clears the MSR upon timer interrupt delivery which delivered on deadline mode. Since the MSR may be reconfigured while an interrupt is pending, causing the new value to be overriden, pending timer interrupts are checked before setting a new deadline. Signed-off-by: Nadav Amit <namit@xxxxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit d7a2a246a1b5a0b0c803e800019600051e1e6f1a Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Aug 19 17:04:40 2014 +0800 KVM: x86: #GP when attempts to write reserved bits of Variable Range MTRRs Section 11.11.2.3 of the SDM mentions "All other bits in the IA32_MTRR_PHYSBASEn and IA32_MTRR_PHYSMASKn registers are reserved; the processor generates a general-protection exception(#GP) if software attempts to write to them". This patch do it in kvm. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit adfb5d2746bfbe692324bd26a6de05a3a036b38e Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Tue Aug 19 17:04:39 2014 +0800 KVM: x86: fix check legal type of Variable Range MTRRs The first entry in each pair(IA32_MTRR_PHYSBASEn) defines the base address and memory type for the range; the second entry(IA32_MTRR_PHYSMASKn) contains a mask used to determine the address range. The legal values for the type field of IA32_MTRR_PHYSBASEn are 0,1,4,5, and 6. However, IA32_MTRR_PHYSMASKn don't have type field. This patch avoid check if the type field is legal for IA32_MTRR_PHYSMASKn. Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 3b63a43f1e04b935e1ce0383f78ac0f5c65433d8 Author: Monam Agarwal <monamagarwal123@xxxxxxxxx> Date: Sat Mar 22 12:28:10 2014 +0530 arch/x86: Use RCU_INIT_POINTER(x, NULL) in kvm/vmx.c Here rcu_assign_pointer() is ensuring that the initialization of a structure is carried out before storing a pointer to that structure. So, rcu_assign_pointer(p, NULL) can always safely be converted to RCU_INIT_POINTER(p, NULL). Signed-off-by: Monam Agarwal <monamagarwal123@xxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 15fc075269e42230605343554c5c8001eb819228 Author: Paolo Bonzini <pbonzini@xxxxxxxxxx> Date: Mon Aug 18 13:17:00 2014 +0200 KVM: x86: raise invalid TSS exceptions during a task switch Conditions that would usually trigger a general protection fault should instead raise #TS. Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit 4473b570a7ebb502f63f292ccfba7df622e5fdd3 Author: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Date: Mon Aug 18 17:50:28 2014 +0800 KVM: x86: drop fpu_activate hook The only user of the fpu_activate hook was dropped in commit 2d04a05bd7e9 (KVM: x86 emulator: emulate CLTS internally, 2011-04-20). vmx_fpu_activate and svm_fpu_activate are still called on #NM (and for Intel CLTS), but never from common code; hence, there's no need for a hook. Reviewed-by: Yang Zhang <yang.z.zhang@xxxxxxxxx> Signed-off-by: Wanpeng Li <wanpeng.li@xxxxxxxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit dc9b2d933a1d5782b70977024f862759c8ebb2f7 Author: Wei Huang <wehuang@xxxxxxxxxx> Date: Wed Aug 13 12:06:14 2014 -0400 KVM: SVM: add rdmsr support for AMD event registers Current KVM only supports RDMSR for K7_EVNTSEL0 and K7_PERFCTR0 MSRs. Reading the rest MSRs will trigger KVM to inject #GP into guest VM. This causes a warning message "Failed to access perfctr msr (MSR c0010001 is ffffffffffffffff)" on AMD host. This patch adds RDMSR support for all K7_EVNTSELn and K7_PERFCTRn registers and thus supresses the warning message. Signed-off-by: Wei Huang <wehuang@xxxxxxxxxx> Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> commit eecbad7d0306b9ee4f621517052913d1adaea753 Author: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Date: Mon Aug 18 15:20:56 2014 +0300 iommu: Replace rcu_assign_pointer() with RCU_INIT_POINTER() The use of "rcu_assign_pointer()" is NULLing out the pointer. According to RCU_INIT_POINTER()'s block comment: "1. This use of RCU_INIT_POINTER() is NULLing out the pointer" it is better to use it instead of rcu_assign_pointer() because it has a smaller overhead. The following Coccinelle semantic patch was used: @@ @@ - rcu_assign_pointer + RCU_INIT_POINTER (..., NULL) Signed-off-by: Andreea-Cristina Bernat <bernat.ada@xxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit d95d6d47138ec1a3ab0a528470f98f8082f389d0 Author: Wills Wang <wills.wang.open@xxxxxxxxx> Date: Tue Aug 19 15:33:01 2014 +0800 ARM: dts: sun7i: Add Merrii A20 Hummingbird board This adds support for the A20 Hummingbird: http://www.merrii.com/en/pla_d.asp?id=171 This patch enable most on-board peripherals supported on current kernel, such as uart, i2c, spi, pwm, ohci/ehci, gmac and mmc. Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Wills Wang <wills.wang.open@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit f63ef69028742b09c1c0896177d555a30ff6cf13 Author: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Date: Mon Aug 11 13:13:25 2014 +0200 iommu/vt-d: Don't store SIRTP request Don't store the SIRTP request bit in the register state. It will otherwise become sticky and could request an Interrupt Remap Table Pointer update on each command register write. Found while starting to emulate IR in QEMU, not by observing problems on real hardware. Signed-off-by: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit f171abab8f1a75797124be5aae8376e20e4852d9 Author: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Date: Mon Aug 4 10:06:28 2014 +0530 iommu/exynos: Fix trivial typos Fixed trivial typos and grammar to improve readability. Changed w/a to workaround. Signed-off-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx> commit 7b5bace34fe1ab412fb44ad1aaeaf9081b898d0a Author: Wills Wang <wills.wang.open@xxxxxxxxx> Date: Tue Aug 19 15:33:00 2014 +0800 ARM: dts: sun7i: Add uart3/4/5, i2c3 and spi2 pinmux This patch add generic dts node for uart3/4/5, i2c3 and spi2. Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Wills Wang <wills.wang.open@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8e170655b517ba49bf4d015008474bcc2f425b20 Author: Dirk Gouders <dirk@xxxxxxxxxxx> Date: Sat Aug 16 07:56:58 2014 +0200 scripts/tags.sh: fix DEFINE_HASHTABLE in emacs case The emacs --regex for DEFINE_HASHTABLE produced a warning because of an unmatched '\('. Further, the whole entry did not work, because the regex needs to match from the beginning of a line, including keywords like 'static'. Finally, '\w' should not be used, because it stops at underscores which are often part of variable names in C, resulting in wrong entries in the tags file. Signed-off-by: Dirk Gouders <dirk@xxxxxxxxxxx> Inspired-by: Masatake YAMATO <yamato@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit a60113d6a7fca3320e84d25db84c3c1a5a02b505 Author: Dirk Gouders <dirk@xxxxxxxxxxx> Date: Sat Aug 16 07:56:57 2014 +0200 scripts/tags.sh: remove *PCGFLAGS regular expressions Commit 0a31bc97c80c3fa8 (mm: memcontrol: rewrite uncharge API) removed the macros {TEST,SET,CLEAR,TESTCLEAR}PCFLAG. Remove corresponding entries from tags.sh -- in the emacs case they also produced warnigs because of unmatched '\('. Signed-off-by: Dirk Gouders <dirk@xxxxxxxxxxx> Inspired-by: Masatake YAMATO <yamato@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 8bf4abaddd01aa6c9d13804fa05084cb28135a47 Author: Dirk Gouders <dirk@xxxxxxxxxxx> Date: Sat Aug 16 07:56:56 2014 +0200 scripts/tags.sh: Don't specify kind-spec for emacs' ctags/etags Emacs' ctags/etags don't know about kind-spec in --regex and produce warnings: etags: invalid regexp modifier `v', ignoring etags: invalid regexp modifier `/', ignoring Fix it by removing kind-spec for the emacs case. Signed-off-by: Dirk Gouders <dirk@xxxxxxxxxxx> Inspired-by: Masatake YAMATO <yamato@xxxxxxxxxx> Tested-by: Masatake YAMATO <yamato@xxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 221ecca6cafefbb5106cfc8bf9f1105233a33745 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:34:23 2014 +0900 kbuild: remove redundant clean-files from scripts/kconfig/Makefile Now mconf, qconf, gconf, nconf are always added to hostprogs-y. Files added to hostprogs-y are removed by "make clean". Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 022af62d0190e1e3db63c19aeb5f51ae0612cd71 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:34:22 2014 +0900 kbuild: refactor script/kconfig/Makefile Now it is harmless to add all host programs to hostprogs-y. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 97e3226e6e984c8cd9bed47010f30827a3ce816a Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:34:21 2014 +0900 kbuild: handle the dependency of multi-objs hostprogs appropriately Assume we have a Makefile like: hostprogs-y := foo bar foo-objs := foo1.o foo2.o bar-objs := bar1.o bar2.o Without this commit, the host program foo depends on all of foo1.o foo2.o bar1.o bar2.o. This commit allows to handle the dependency of each host program separately. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit c8589d1e9e01debdb4f574afe7c585714353ad79 Author: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Date: Tue Aug 19 16:34:20 2014 +0900 kbuild: handle multi-objs dependency appropriately The comment in scripts/Makefile.build says as follows: We would rather have a list of rules like foo.o: $(foo-objs) but that's not so easy, so we rather make all composite objects depend on the set of all their parts This commit makes it possible! For example, assume a Makefile like this obj-m = foo.o bar.o foo-objs := foo1.o foo2.o bar-objs := bar1.o bar2.o Without this patch, foo.o depends on all of foo1.o foo2.o bar1.o bar2.o. It looks funny that foo.o is regenerated when bar1.c is updated. Now we can handle the dependency of foo.o and bar.o separately. Signed-off-by: Masahiro Yamada <yamada.m@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 39fed7015cd9124b5893fce18d33f49db1c48bea Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:23:10 2014 +0200 Documentation: kbuild: Improve grammar - singular versus plural, - "by" versus "of", - missing "if", "it", "the", - consistent use of "xxx-specific" versus "xxx specific". Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit cf6c53db9525a7f6c5052ccd84a0638128f14632 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:23:09 2014 +0200 Documentation: kbuild: Remove obsolete dtc_cpp section Commit b40b25fff8205dd18124d8fc87b2c9c57f269b5f ("kbuild: always run gcc -E on *.dts, remove cmd_dtc_cpp") improved the functionality of cmd_dtc_cpp and merged it back into cmd_dtc. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit ef80f0a1e033bcab17257e2155a3c9263a0919c1 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:23:08 2014 +0200 Documentation: kbuild: Improve if_changed documentation - These days if_changed is used with many more commands than ld, objcopy, and gzip, hence add an ellipsis, - Any target that utilises if_changed must be listed in $(targets), so it needs an assignment to "targets", not "target". Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit b22ae40ef2e7847ddbd802d1a887188e113675f3 Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Fri Aug 8 17:23:07 2014 +0200 Documentation: kbuild: Remove obsolete include/asm symlink step As of commit f7f16b7799ed68654850ab340ef812895aebcf4c ("kbuild: drop include/asm"), the include/asm symlink is no longer created. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Michal Marek <mmarek@xxxxxxx> commit 54db6c3949359ee35e9addb02506fca431721ef0 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 18 15:11:19 2014 +0200 ALSA: hda/realtek - Use tables for batch COEF writes/updtes There are many codes doing writes or updates COEF verbs sequentially in a batch. Rewrite such open codes with tables for optimization. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 98b248839474293481905562ae38dc2d6558ef20 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 18 13:47:50 2014 +0200 ALSA: hda/realtek - Add alc_update_coef*_idx() helper ... and rewrite a few open codes with them. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1687ccc8b2229d05c579924086e9b42ada9db888 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 18 13:49:35 2014 +0200 ALSA: hda/realtek - Use alc_write_coef_idx() in alc269_quanta_automake() Just a refactoring. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit f2a227cd3891266f1486a21aac86fa39b3abd093 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Mon Aug 18 13:35:22 2014 +0200 ALSA: hda/realtek - Optimize alc888_coef_init() Just a refactoring using the existing helper functions. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e52faba0f3a5520fc766e24520c10cb79fee2fac Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 12 11:57:05 2014 +0200 ALSA: hda - Remove obsoleted EXPORT_SYMBOL_HDA() macro Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit e9bd0224c130617d7d6037d3a405571c33b1e097 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 12 11:54:36 2014 +0200 ALSA: hda - Remove obsoleted snd_hda_check_board_config() & co The helper functions snd_hda_check_board_config() and snd_hda_check_board_codec_sid_config() are no longer used since the transition to the generic parser and all quirks have been replaced with fixups. Let's kill these dead codes. Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> commit 1aaff096954b1e2ac90692649d1b550e264a63da Merge: 7d1311b f475371 Author: Takashi Iwai <tiwai@xxxxxxx> Date: Tue Aug 19 08:04:02 2014 +0200 Merge branch 'for-linus' into topic/hda-cleanup Syncing the HD-audio updates for further cleanup works. commit a130548d8c06d4fda098f25a6b3dec62beec27cc Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 13:26:51 2014 -0500 ARM: dts: Improve Peach Pit and Pi power scheme The DeviceTree files for the Peach Pit and Pi machines have a simplistic model of the connections between the different regulators since not all the tps65090 regulators get their input supply voltage from the VDC. DCDC1-3, LD0-1 and fet7 parent supply is indded VDC but the fet1-6 get their input supply from the DCDC1 and DCDC2 output voltage rails. Update the DeviceTree to better reflect the real connections between tps65090 regulators. Having this information in the DTS is useful since FETs are switches that don't provide an output voltage so the regulator core needs to fetch the FET parent output voltage if the child voltage is queried. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Acked-by: Mark Brown <broonie@xxxxxxxxxx> Acked-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 18c01ab30288d9d0a7d80b08b659531f37ed379d Author: Rajesh Ghanekar <Rajesh_Ghanekar@xxxxxxxxxxxx> Date: Fri Aug 1 22:17:30 2014 -0400 nfsd: allow turning off nfsv3 readdir_plus One of our customer's application only needs file names, not file attributes. With directories having 10K+ inodes (assuming buffer cache has directory blocks cached having file names, but inode cache is limited and hence need eviction of older cached inodes), older inodes are evicted periodically. So if they keep on doing readdir(2) from NSF client on multiple directories, some directory's files are periodically removed from inode cache and hence new readdir(2) on same directory requires disk access to bring back inodes again to inode cache. As READDIRPLUS request fetches attributes also, doing getattr on each file on server, it causes unnecessary disk accesses. If READDIRPLUS on NFS client is returned with -ENOTSUPP, NFS client uses READDIR request which just gets the names of the files in a directory, not attributes, hence avoiding disk accesses on server. There's already a corresponding client-side mount option, but an export option reduces the need for configuration across multiple clients. This flag affects NFSv3 only. If it turns out it's needed for NFSv4 as well then we may have to figure out how to extend the behavior to NFSv4, but it's not currently obvious how to do that. Signed-off-by: Rajesh Ghanekar <rajesh_ghanekar@xxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit aaa25a5a33cb2f406e59ff06a86b7f91026c2fa2 Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Mon Aug 18 11:55:32 2014 -0500 ARM: dts: unuse the slot-node and deprecate the supports-highspeed for dw-mmc in exynos dw-mmc controller can support multiple slots. But, there are no use-cases anywhere. So we don't need to support the slot-node for dw-mmc controller. And "supports-highspeed" property in dw-mmc is deprecated. "supports-highspeed" property can be replaced with "cap-sd/mmc-highspeed". Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Tushar Behera <trblinux@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Tested-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> [kgene.kim@xxxxxxxxxxx: rebased exynos5250-snow changes] Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 5fbc3f20d0bbf72423152f145e30a1d9e01ceadb Author: Andreas Faerber <afaerber@xxxxxxx> Date: Mon Aug 18 14:00:35 2014 -0500 ARM: dts: Fold exynos5250-cros-common into exynos5250-snow exynos5250-cros-common.dtsi was meant for sharing common pieces across ChromeOS devices. This turned out premature, as several devices ended up in the common file that are not common after all. Since the remaining common ChromeOS pieces are fairly minor, exynos5250-cros-common.dtsi was requested to be merged into the Snow device tree, sharing only the keyboard controller for now. This may be re-evaluated as both mature. Suggested-by: Doug Anderson <dianders@xxxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Andreas Faerber <afaerber@xxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit df08d2eb66d9805118d9a94c1df0129b193c9a4f Author: Andreas Faerber <afaerber@xxxxxxx> Date: Mon Aug 18 13:33:30 2014 -0500 ARM: dts: Fix MMC pinctrl for exynos5250-snow The pinctrl properties should be on the device directly and not on the slot sub-node. Reported-by: Doug Anderson <dianders@xxxxxxxxxxxx> Cc: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Signed-off-by: Andreas Faerber <afaerber@xxxxxxx> Reviewed-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit 447a0470a7b9745fc91a75182f37f7710fa91290 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 19 01:45:45 2014 +0800 ARM: dt: sunxi: Remove i2c controller clock-frequency that matches default The clock-frequency values of the i2c controller nodes match the defaults of the driver. Remove the properties to use the defaults, and be consistent with sun8i. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit dc66085b7a03c1c73774254ff7ac59159810b628 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 19 00:51:51 2014 +0800 ARM: dts: sun8i: Enable i2c controllers on ippo-q8h-v5 i2c0 is connected to the gsl1680 capacitive touch panel controller. i2c1 is connected to an mma7660 3-axis accelerometer. i2c2 is connected to the front and back gc0309 camera sensors. The camera sensors require additional regulators be enabled before they are available. All these peripherals are not supported by the kernel yet. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 0a97ea3b62fabc1c0eaca49bc584376b5cf0961b Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Tue Aug 19 00:51:50 2014 +0800 ARM: dts: sun8i: Add i2c controller nodes Add nodes for the 3 i2c controllers found on A23 SoCs to the sun8i DTSI. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 8ea21348868f37f5b2e6ebbaf336d2a415b2b9ff Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 18 15:00:15 2014 +0800 ASoC: simple-card: Fix the compile warning. sound/soc/generic/simple-card.c: In function simple_card_dai_link_of: sound/soc/generic/simple-card.c:198:10: warning: passing argument 3 of asoc_simple_card_sub_parse_of from incompatible pointer type [enabled by default] &dai_link->cpu_dai_name); ^ sound/soc/generic/simple-card.c:112:1: note: expected const struct device_node ** but argument is of type struct device_node ** asoc_simple_card_sub_parse_of(struct device_node *np, ^ sound/soc/generic/simple-card.c:229:10: warning: passing argument 3 of asoc_simple_card_sub_parse_of from incompatible pointer type [enabled by default] &dai_link->codec_dai_name); ^ sound/soc/generic/simple-card.c:112:1: note: expected const struct device_node ** but argument is of type struct device_node ** asoc_simple_card_sub_parse_of(struct device_node *np, ^ Since the asoc_simple_card_sub_parse_of() is used in simple-card module only, and the third argument is just used to get the node ponters address, so there is no need it must to be 'const' type. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit cc3fe7abda0abb9936598a90feaa2e323d62200d Author: Daniel Drake <drake@xxxxxxxxxxxx> Date: Mon Aug 18 11:39:53 2014 -0500 ARM: dts: ODROID i2c improvements for exynos4412-odroid-common Increase max i2c bus frequency beyond the default for faster data transfers. According to the manual, these faster speeds are only available when the board is wired up the right way. In this case, the vendor kernel has run at this speed for a long time. sda-delay is needed for talking to RTC on PMIC, otherwise the i2c controller never sees an ACK. Strangely the other PMIC i2c slave (the main one) works fine even without this delay. I Chose value 100 to match the vendor kernel. Signed-off-by: Daniel Drake <drake@xxxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Tested-by: Tomeu Vizoso <tomeu@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit eea6653aae7bc85e38104f9c3a22471cba04da68 Author: Daniel Drake <drake@xxxxxxxxxxxx> Date: Mon Aug 18 11:39:50 2014 -0500 ARM: dts: Enable PMIC interrupts for exynos4412-odroid-common The ODROID kernel shows that the PMIC interrupt line is hooked up to pin GPX3-2. This is needed for the max77686-irq driver to create the PMIC IRQ domain, which is needed by max77686-rtc. Signed-off-by: Daniel Drake <drake@xxxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Tested-by: Tomeu Vizoso <tomeu@xxxxxxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit ba1b53feb8cacbd84bcf0e48925e30ad29e141a6 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 15:09:02 2014 +0200 regmap: Fix DT endianess parsing logic Commit d647c199510c ("regmap: add DT endianness binding support.") added support to parse the device endianness from the device tree but unfortunately the added logic doesn't have the same semantics than the old code. This leads to a NULL dereference pointer error when these properties are not provided by the Device Tree: Unable to handle kernel NULL pointer dereference at virtual address 00000044 pgd = c0004000 [00000044] *pgd=00000000 Internal error: Oops: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 5 PID: 1 Comm: swapper/0 Not tainted 3.17.0-rc1-next-20140818ccu #671 task: ea412800 ti: ea484000 task.ti: ea484000 PC is at regmap_update_bits+0xc/0x5c The problem is that platforms that rely on the default value now gets different values due two related issues in the current code: a) It only parses the endianness from DT for the regmap registers and not for the regmap values but it checks unconditionally in both cases if the resulting endiannes is REGMAP_ENDIAN_NATIVE. b) REGMAP_ENDIAN_NATIVE is not even a valid DT property according to the regmap DT binding documentation so it shouldn't be set. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9524fa523e10c75750962c4079e6d002d7487280 Author: Luc Verhaegen <libv@xxxxxxxxx> Date: Sat Aug 2 15:06:30 2014 +0200 ARM: sunxi_defconfig: add NLS_CODEPAGE_437 and NLS_ISO8859_1 Otherwise CONFIG_VFAT_FS is useless as mounting vfat fails. Signed-off-by: Luc Verhaegen <libv@xxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 60fbce7f29ec8106c86e7ef74dacd5c9be3d4284 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jul 30 20:56:09 2014 +0800 ARM: sunxi: Add A31 RTC driver to multi_v7_defconfig Now that we have a driver for A31's RTC, enable it in multi_v7_defconfig. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 33f4dcdb28aff083be5367cd3d56b4d00c331c60 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jul 30 20:56:08 2014 +0800 ARM: sunxi: Add A31 RTC driver to sunxi_defconfig Now that we have a driver for A31's RTC, enable it in the default sunxi config. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4ece7045eb7cceaff9667b4ee2eec78915d3ee3b Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:32:42 2014 +0200 regulator: Add DT bindings for max77802 PMIC regulators Add Device Tree binding documentation for the regulators present in the Maxim 77802 Power Management IC. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e6f2f805d722bf94efe89755372bcc6ff60d8d90 Author: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Date: Mon Aug 18 10:32:41 2014 +0200 regulator: Add driver for max77802 PMIC PMIC regulators The MAX77802 PMIC has 10 high-efficiency Buck and 32 Low-dropout (LDO) regulators. This patch adds support for all these regulators found on the MAX77802 PMIC and is based on a driver added by Simon Glass to the Chrome OS kernel 3.8 tree. Signed-off-by: Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx> Tested-by: Naveen Krishna Chatradhi <ch.naveen@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 499898d66d88cc626a2e01b02c3b819536bdf169 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Mon Aug 18 16:38:40 2014 +0800 ASoC: fsl: fsl-asoc-card: Select SND_SOC_IMX_AUDMUX Building kernel with SND_SOC_IMX_AUDMUX=n leads to the following error: sound/built-in.o: In function `fsl_asoc_card_probe': >> fsl-asoc-card.c:(.text+0x1467b5): undefined reference to `imx_audmux_v2_configure_port' >> fsl-asoc-card.c:(.text+0x1467d0): undefined reference to `imx_audmux_v2_configure_port' >> fsl-asoc-card.c:(.text+0x1467ed): undefined reference to `imx_audmux_v2_configure_port' >> fsl-asoc-card.c:(.text+0x146807): undefined reference to `imx_audmux_v2_configure_port' Update Kconfig to select SND_SOC_IMX_AUDMUX when SND_SOC_FSL_ASOC_CARD=y. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5f37671e004eeca017b93f6b26f2425acbb8d411 Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Mon Aug 18 16:38:39 2014 +0800 ASoC: fsl-asoc-card: Fix build warning for maybe-uninitialized When build fsl-asoc-card as module, there is following error: sound/soc/fsl/fsl-asoc-card.c: In function 'fsl_asoc_card_probe': >> sound/soc/fsl/fsl-asoc-card.c:547:13: warning: 'asrc_np' may be used uninitialized in this function [-Wmaybe-uninitialized] of_node_put(asrc_np); ^ vim +/asrc_np +547 sound/soc/fsl/fsl-asoc-card.c 531 if (width == 24) 532 priv->asrc_format = SNDRV_PCM_FORMAT_S24_LE; 533 else 534 priv->asrc_format = SNDRV_PCM_FORMAT_S16_LE; 535 } 536 537 /* Finish card registering */ 538 platform_set_drvdata(pdev, priv); 539 snd_soc_card_set_drvdata(&priv->card, priv); 540 541 ret = devm_snd_soc_register_card(&pdev->dev, &priv->card); 542 if (ret) 543 dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n", ret); 544 545 fail: 546 of_node_put(codec_np); > 547 of_node_put(asrc_np); 548 of_node_put(cpu_np); 549 550 return ret; 551 } 552 553 static const struct of_device_id fsl_asoc_card_dt_ids[] = { 554 { .compatible = "fsl,imx-audio-cs42888", }, 555 { .compatible = "fsl,imx-audio-sgtl5000", }, Add 'asrc_fail' branch for error jump after asrc_np initialized. Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit c99428d035908b9c0b8be452f9b091bc5e090256 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Mon Aug 18 15:48:20 2014 +0800 spi: fsl-dspi: Convert to use regmap framework's endianness method. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Acked-by: Chao Fu <b44548@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dc8fcd711610063681f1e9fd860823b1108182ca Merge: 7d1311b 275876e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Mon Aug 18 09:41:34 2014 -0500 Merge tag 'dt-endian' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into spi-fsl-dspi regmap: Device tree endianness support This adds generic support for specifying endianess for register map in the DT. commit 716845ebeb505353d900320b4a74e8330520410d Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Mon Aug 18 10:34:08 2014 +0800 regulator: core: Fix build error due to const qualifier for ops Drop const qualifier for ops of struct regulator_desc. Allow regulator drivers to update ops before registering regulator. Fix below build error: CC [M] drivers/regulator/mc13892-regulator.o drivers/regulator/mc13892-regulator.c: In function 'mc13892_regulator_probe': drivers/regulator/mc13892-regulator.c:586:3: error: assignment of member 'set_mode' in read-only object drivers/regulator/mc13892-regulator.c:588:3: error: assignment of member 'get_mode' in read-only object make[2]: *** [drivers/regulator/mc13892-regulator.o] Error 1 make[1]: *** [drivers/regulator] Error 2 make: *** [drivers] Error 2 Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9740bdd985277a7f71423738c34a2c88cd533f1c Author: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Date: Fri Aug 1 03:22:04 2014 +0900 ARM: S5PV210: move <mach/regs-clock.h> into mach-s5pv210/ This moves <mach/regs-clock.h> into mach-s5pv210 so no more include/mach/ under mach-s5pv210. Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> Cc: Tomasz Figa <t.figa@xxxxxxxxxxx> commit effd8c363d2c76d1941402cc23835fc986a445d8 Author: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx> Date: Wed Jul 23 08:40:05 2014 +0900 ARM: EXYNOS: remove unused <mach/memory.h> ARCH_EXYNOS doesn't select NEED_MACH_MEMORY_H, so <asm/memory.h> doesn't include <mach/memory.h> and so this file is not used and can go away. Signed-off-by: Uwe Kleine-Koenig <u.kleine-koenig@xxxxxxxxxxxxxx> Reviewed-by: Tomasz Figa <t.figa@xxxxxxxxxxx> [t.figa@xxxxxxxxxxx: boot tested on Exynos4412-based Trats2 board] Tested-by: Tomasz Figa <t.figa@xxxxxxxxxxx> Reviewed-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> [sachin.kamat: Tested on Arndale octa board (Exynos 5420)] Tested-by: Sachin Kamat <sachin.kamat@xxxxxxxxxxx> Signed-off-by: Kukjin Kim <kgene.kim@xxxxxxxxxxx> commit c2d670fd3b16304124162bef99313eaa289f2bc3 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:31 2014 -0700 gpu: ipu-v3: Rename and add IDMAC channels Rename the ENC/VF/PP rotation channel names, to be more consistent with the convention that *_MEM is write-to-memory channels and MEM_* is read-from-memory channels. Also add the channels who's source and destination is the IC. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit ba07975f0fe5bf95107d71d0df0405c16f5c3266 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:30 2014 -0700 gpu: ipu-v3: Add functions to set CSI/IC source muxes Adds two new functions, ipu_set_csi_src_mux() and ipu_set_ic_src_mux(), that select the inputs to the CSI and IC respectively. Both muxes are programmed in the IPU_CONF register. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 2eb671c485c06133ff0b568d5ec3c09fda0f4359 Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:48 2014 -0700 staging: imx-drm: Convert to new ipu_cpmem API The ipu_cpmem_*() calls now take a channel pointer instead of a pointer into cpmem for that channel. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit 7d2691da901d71ff62ad974510ea7149b391bdfe Author: Steve Longerbeam <slongerbeam@xxxxxxxxx> Date: Wed Jun 25 18:05:47 2014 -0700 gpu: ipu-v3: Add ipu-cpmem unit Move channel parameter memory setup functions and macros into a new submodule ipu-cpmem. In the process, cleanup arguments to the functions to take a channel pointer instead of a pointer into cpmem for that channel. That allows the structure of the parameter memory to be private to ipu-cpmem.c. Signed-off-by: Steve Longerbeam <steve_longerbeam@xxxxxxxxxx> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> commit df577149594cefacd62740e86de080c6336d699e Author: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Date: Mon Aug 11 10:49:25 2014 -0400 watchdog: Fix print-once on enable This patch avoids printing the message 'enabled on all CPUs, ...' multiple times. For example, the issue can occur in the following scenario: 1) watchdog_nmi_enable() fails to enable PMU counters and sets cpu0_err. 2) 'echo [0|1] > /proc/sys/kernel/nmi_watchdog' is executed to disable and re-enable the watchdog mechanism 'on the fly'. 3) If watchdog_nmi_enable() succeeds to enable PMU counters, each CPU will print the message because step1 left behind a non-zero cpu0_err. if (!IS_ERR(event)) { if (cpu == 0 || cpu0_err) pr_info("enabled on all CPUs, ...") The patch avoids this by clearing cpu0_err in watchdog_nmi_disable(). Signed-off-by: Ulrich Obergfell <uobergfe@xxxxxxxxxx> Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: pbonzini@xxxxxxxxxx Link: http://lkml.kernel.org/r/1407768567-171794-4-git-send-email-dzickus@xxxxxxxxxx [ Applied small cleanups. ] Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f530504a063cfa028971e4b26ea8e0c32908de25 Author: chai wen <chaiw.fnst@xxxxxxxxxxxxxx> Date: Mon Aug 11 10:49:23 2014 -0400 watchdog: Remove unnecessary header files Signed-off-by: chai wen <chaiw.fnst@xxxxxxxxxxxxxx> Signed-off-by: Don Zickus <dzickus@xxxxxxxxxx> Cc: pbonzini@xxxxxxxxxx Link: http://lkml.kernel.org/r/1407768567-171794-2-git-send-email-dzickus@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit af924aa35129edf338ebc8da6a4eae08cf7cb297 Merge: f373da3 759e612 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Mon Aug 18 10:14:43 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible changes: * Warn user to rebuild target with debuginfo in 'perf probe' (Masami Hiramatsu) * Don't truncate Intel style addresses in 'annotate'. (Alex Converse) Infrastructure changes: * Annotate PMU related list_head members with type info. (Cody P Schafer) * Add the triplet used for arm64 by Android (Elliott Hughes) * Replace thread unsafe strerror() with strerror_r() accross the whole tools/perf/ tree (Masami Hiramatsu) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d3ac21cacc24790eb45d735769f35753f5b56ceb Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Sun Aug 17 19:41:09 2014 -0500 mm: Support compiling out madvise and fadvise Many embedded systems will not need these syscalls, and omitting them saves space. Add a new EXPERT config option CONFIG_ADVISE_SYSCALLS (default y) to support compiling them out. bloat-o-meter: add/remove: 0/3 grow/shrink: 0/0 up/down: 0/-2250 (-2250) function old new delta sys_fadvise64 57 - -57 sys_fadvise64_64 691 - -691 sys_madvise 1502 - -1502 Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 874ee23c83d888f8824305c277e047c7799f30b9 Author: Kevin Hilman <khilman@xxxxxxxxxx> Date: Wed Aug 13 17:07:15 2014 -0700 ARM: shmobile: defconfig: enable initrd Enable initrd support. Signed-off-by: Kevin Hilman <khilman@xxxxxxxxxx> [horms+renesas@xxxxxxxxxxxx: dropped enabling atag dtb compat] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 3a73aeff37c2e425b11d19c19e42e8269d58d417 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Aug 2 19:22:04 2014 +0530 can: mcp251x: Use dmam_alloc_coherent This patch moves the data allocated using dma_alloc_coherent to the corresponding managed interface and does away with the calls to free the allocated memory in the probe and remove functions. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit b25a437206ed5d45087bc40bd48bc34ce3bfa008 Author: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Date: Thu Aug 7 09:17:24 2014 +0100 can: dev: remove unused variable from can_calc_bittiming() function this patch removes best_rate variable from can_calc_bittiming() function which was set but was never used. Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit a268de6c68e4933234e9ac62f2ab7ff8264ce0b4 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 01:25:53 2014 +0400 can: rcar_can: add device tree support Add support of the device tree probing for the Renesas R-Car CAN controllers. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 632e25ca722e5361a1b40d89e77808f8f1c6799f Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 01:24:25 2014 +0400 can: rcar_can: document device tree bindings Document the R-Car CAN device tree bindings. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 862e2b6af9413b43ef044979b934cab07bfd33e5 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 01:23:32 2014 +0400 can: rcar_can: support all input clocks When writing the driver, I didn't give enough attention to the possible sources of the CAN clock: although the value of the CLKR register was specified by the platform data, the driver only handled one case, that is CAN clock being sourced from the clkp1 clock, the same that clocks the whole CAN module. In order to fix that overlook, we'll have to handle the CAN clock separately from the peripheral clock (however, clkp1 will be specified for a CAN device only once)... Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit e0d1f4816f2a7e311321db40ce69fbb1a4b1f1cf Author: Dong Aisheng <b29396@xxxxxxxxxxxxx> Date: Wed Jul 16 17:30:50 2014 +0800 can: m_can: add Bosch M_CAN controller support The patch adds the basic CAN TX/RX function support for Bosch M_CAN controller. For TX, only one dedicated tx buffer is used for sending data. For RX, RXFIFO 0 is used for receiving data to avoid overflow. Rx FIFO 1 and Rx Buffers are not used currently, as well as Tx Event FIFO. Due to the message ram can be shared by multi m_can instances and the fifo element is configurable which is SoC dependant, the design is to parse the message ram related configuration data from device tree rather than hardcode define it in driver which can make the message ram sharing fully transparent to M_CAN controller driver, then we can gain better driver maintainability and future features upgrade. M_CAN also supports CANFD protocol features like data payload up to 64 bytes and bitrate switch at runtime, however, this patch still does not add the support for these features. Cc: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Cc: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Cc: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> [mkl: Squahed semicolon cleanup by Fengguang Wu] Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit e35430807dad7f89e2a27e70ea1d6c29819cb749 Author: Dong Aisheng <b29396@xxxxxxxxxxxxx> Date: Wed Jul 16 17:30:49 2014 +0800 can: m_can: add device tree binding documentation add M_CAN device tree binding documentation Cc: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx> Cc: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Oliver Hartkopp <socketcan@xxxxxxxxxxxx> Cc: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Dong Aisheng <b29396@xxxxxxxxxxxxx> Reviewed-by: Varka Bhadram <varkabhadram@xxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit cdce844865bea6869b34bacc98af3711774f5bb5 Author: Stefan Agner <stefan@xxxxxxxx> Date: Tue Jul 15 14:56:21 2014 +0200 can: flexcan: add vf610 support for FlexCAN Extend FlexCAN driver to support Vybrid. Vybrids variant of the IP has ECC support which is controlled through the memory error control register (MECR). There is also an errata which leads to false positive error detections (ID e5295). This patch disables the memory error detection completely. Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit ec56acfef2af184ca485ffeba16adbd56c110c94 Author: Stefan Agner <stefan@xxxxxxxx> Date: Tue Jul 15 14:56:20 2014 +0200 can: flexcan: flexcan_get_berr_counter(): switch on clocks before accessing ecr register The funcion flexcan_get_berr_counter() may be called from userspace even if the interface is down, this the clocks are disabled. This patch switches on the clocks before accessing the ecr register. Reported-by: Ashutosh Singh <ashuleapyear@xxxxxxxxx> Signed-off-by: Stefan Agner <stefan@xxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 4ade6feb52262eae0c40d6714e3446bfa4d19a5f Author: Wolfram Sang <wsa@xxxxxxxxxxxxx> Date: Sun Aug 17 17:38:24 2014 -0500 net: can: use kbuild magic to inherit debug settings No need to manually copy debug settings into subdir Makefiles. kbuild has a mechanism for inheriting, so let's use it. Signed-off-by: Wolfram Sang <wsa@xxxxxxxxxxxxx> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> commit 9def39be4e960917fcb80514ff23651f9ec97193 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Wed Oct 30 08:09:45 2013 -0700 x86: Support compiling out human-friendly processor feature names The table mapping CPUID bits to human-readable strings takes up a non-trivial amount of space, and only exists to support /proc/cpuinfo and a couple of kernel messages. Since programs depend on the format of /proc/cpuinfo, force inclusion of the table when building with /proc support; otherwise, support omitting that table to save space, in which case the kernel messages will print features numerically instead. In addition to saving 1408 bytes out of vmlinux, this also saves 1373 bytes out of the uncompressed setup code, which contributes directly to the size of bzImage. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 39f838e06f46576694d425ac30fe8ff1e214fc0b Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Wed Oct 30 14:21:53 2013 +0000 x86: Drop support for /proc files when !CONFIG_PROC_FS arch/x86/kernel/cpu/proc.c only exists to support files in /proc; omit that file when compiling without CONFIG_PROC_FS. Saves 645 additional bytes on 32-bit x86 when !CONFIG_PROC_FS: add/remove: 0/5 grow/shrink: 0/0 up/down: 0/-645 (-645) function old new delta c_stop 1 - -1 c_next 11 - -11 cpuinfo_op 16 - -16 c_start 24 - -24 show_cpuinfo 593 - -593 Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 3afed06a355b5525d9a87bcb76567ef2e2e7b3a2 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Mon Mar 10 13:26:10 2014 -0700 x86, boot: Don't compile early_serial_console.c when !CONFIG_EARLY_PRINTK All the code in early_serial_console.c gets compiled out if !CONFIG_EARLY_PRINTK, but early_serial_console.o itself still gets compiled in. Eliminate it from the compile entirely in that case. This does not change the generated code at all, in either case. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 9e6abd2a98ca599e0efb8c46acc17f17dc1a6fe9 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Mon Mar 10 13:11:26 2014 -0700 x86, boot: Don't compile aslr.c when !CONFIG_RANDOMIZE_BASE All the code in aslr.c gets compiled out if !CONFIG_RANDOMIZE_BASE, but aslr.o itself still gets compiled in. Eliminate it from the compile entirely in that case. This does not change the generated code at all, in either case. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 9a1cb47112eff140659f04c261ca19fb1f002607 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Mon Mar 10 13:03:10 2014 -0700 x86, boot: Use the usual -y -n mechanism for objects in vmlinux Switch VMLINUX_OBJS to vmlinux-objs-y, to eliminate Makefile conditionals in favor of vmlinux-objs-$(CONFIG_*) constructs. This does not change the generated code at all. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 89323f8c504a8653c66fe4a314723b36b07e29e1 Author: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Wed Jul 23 17:40:30 2014 +0300 irqchip: keystone: Add irq controller ip driver On Keystone SOCs, DSP cores can send interrupts to ARM host using the IRQ controller IP. It provides 28 IRQ signals to ARM. The IRQ handler running on HOST OS can identify DSP signal source by analyzing SRCCx bits in IPCARx registers. This is one of the component used by the IPC mechanism used on Keystone SOCs. Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> Link: https://lkml.kernel.org/r/1406126430-9978-1-git-send-email-grygorii.strashko@xxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 9dfb5c417c3210fe84a74b4cd30549e06962bd06 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:41 2014 -0300 ARM: mvebu: Add proper pin muxing on Armada 370 RD board This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces Only the second network interface is pin muxed. The first network interface is connected to the PHY using SGMII, which uses a dedicated SerDes lane. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-7-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a1451ab2f024be656fc1b5e560e5854b9d7e70fe Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:40 2014 -0300 ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 104 This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-6-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 8c640da6ac8b9a15429473114e0b8b248cf67080 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:39 2014 -0300 ARM: mvebu: Add proper pin muxing on Netgear ReadyNAS 102 This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-5-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit fea038ed55aec9a1dc59719e5e2728fe7e2148f8 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:38 2014 -0300 ARM: mvebu: Add proper pin muxing on the Armada 370 DB board This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-4-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit 7d9d5d28ddb5b93a5445b5460d5da52d5143837f Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:37 2014 -0300 ARM: mvebu: Add proper pin muxing on Globalscale Mirabox board This commit adds the required pin muxing for the network interfaces and the MDIO interface to be properly initialized. For instance, this makes it possible for a bootloader to initialize and access the network interfaces. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-3-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit a43f99d260d30be8480f76b2c3eeb283a7115623 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:14:36 2014 -0300 ARM: mvebu: Add network pin mux configuration for the Armada 370 SoC This commit adds the pin mux configuration for the two network interfaces and the MDIO interface in the Armada 370 SoC .dtsi file. Only the configuration for RGMII is added for now. Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@xxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Acked-by: Andrew Lunn <andrew@xxxxxxx> Link: https://lkml.kernel.org/r/1407759281-11513-2-git-send-email-ezequiel.garcia@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit dd2d62dfede7aa2bd87b3fb07db0c7450ca7ea41 Author: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 31 16:32:02 2014 +0200 ARM: mvebu: Add RTC support for Armada 375 The Armada 375 SoC has the same real time clock as the one used in other Marvell EBU platforms. This patch consequently updates the Device Tree of the Armada 375 SoC to describe the internal RTC. Signed-off-by: Gregory CLEMENT <gregory.clement@xxxxxxxxxxxxxxxxxx> Link: https://lkml.kernel.org/r/1406817122-15675-1-git-send-email-gregory.clement@xxxxxxxxxxxxxxxxxx Signed-off-by: Jason Cooper <jason@xxxxxxxxxxxxxx> commit ed7f92da59f24dd966555efef978fe14085b3318 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Sat Aug 16 16:58:08 2014 +0200 staging: dgnc: Remove unnecessary dgnc_Major_Control_Registered variable The dgnc_Major_Control_Registered variable purpose was to act as a flag to indicate if the character device has been successfully registered into the kernel. This flag was later checked in the module cleanup function to know if the character device needs to be deregistered. However the {device,class}_destroy and unregister_chrdev functions may be called with 'invalid' data perfectly fine. This means that this variable is not needed and can safely be removed which is what this commit does. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0b3a07ede37d0c1a0985032c9f2044d71813282a Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Sat Aug 16 16:58:07 2014 +0200 staging: dgnc: Remove not needed dgnc_driver_start variable The dgnc_driver_start variable purpose was to indicate if the driver 'start' routine has been called. Now, because the 'start' routine can only be called once this variable is not needed thus this commit removes it. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3599abafcc51594f1629f19a6a12ff92f6e94017 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Sat Aug 16 16:58:06 2014 +0200 staging: dgnc: Remove driver-wide polling counter variable The polling counter variable is only exposed via sysfs and has no other purpose. Now, since the polling shall be implemented as a board specific feature rather than being global in the driver this counter is obsolete. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d8c5aa329e7a7a17d9c99122d89d76663195ddb Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Sat Aug 16 16:58:05 2014 +0200 staging: dgnc: Remove driver-wide state variable This commit removes the driver's global state variable. This is ok because the state was changed only once at the end of init phase thus the future usage of this variable is pointless. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2fd2914a2e456048e2a176185cb8e7576def452c Author: Purnendu Kapadia <pro8linux@xxxxxxxxx> Date: Fri Aug 15 18:20:30 2014 +0100 staging: android: fix attribute as suggested by checkpatch we should use __packed attribute Signed-off-by: Purnendu Kapadia <pro8linux@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 230fa11f5fab094512b6ad131ae1de86b12466f2 Author: Jeshwanth Kumar N K <jeshkumar555@xxxxxxxxx> Date: Fri Aug 15 01:41:04 2014 +0530 staging: wlan-ng: prism2mgmt.c Fix break not useful Fixed up warnings, break is not useful after return statement. And the exit Label is deleted, now returning inline. Signed-off-by: Jeshwanth Kumar N K <jeshkumar555@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b553a1a81565b14efb00ac4c984fb74106666503 Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Sun Aug 17 00:07:32 2014 +0530 staging: lustre: lustre: libcfs: pr_warn instead printk This patch fixes the following warning using checkpatch.pl WARNING: Prefer [subsystem eg: netdev]_warn([subsystem]dev, ... then dev_warn(dev, ... then pr_warn(... to printk(KERN_WARNING ... Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74bb9d4fef9ff789094e85ee1324616611d77baa Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Sun Aug 17 00:27:48 2014 +0530 staging: lustre: lustre: libcfs: do not use assignment in if condition This patch fixes the following error using checkpatch.pl Error: do not use assignment in if condition Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 21aef7d9d654416b8167ad8047a628d3968a97da Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Aug 15 12:55:56 2014 -0400 staging/lustre: get rid of obd_* typedefs We have a bunch of typedefs for common things that made no sense and hid the actual type from plain view. Replace them with proper uXX or sXX types. Exception is in lustre_idl.h where they are replaced with __uXX and __sXX to be able to be included in userspace Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 114acca8ef16f21c5d50f16d154d05ffddb20049 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Aug 15 12:55:55 2014 -0400 staging/lustre: get rid of seqno_t and mdsno_t typedefs seqno_t is u64 and mdsno_t is u32 so just use them as such. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 48caf5a060491edb2e1793539dad72e70c54c869 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Aug 17 09:17:04 2014 -0700 staging: vt6655: Convert DBG_PRT to pr_<level> DBG_PRT uses are unnecessarily complex. Convert DBG_PRT msglevel to pr_<level>. This changes the KERN_<level> type of several uses. It also enables dynamic_debug for the pr_debug conversions. This patch can be a prelude to converting these pr_<level> uses to dev_<level> as appropriate. Other changes: Realign arguments of these conversions. Remove now unused static int msglevel declarations. Remove now unused DBG_PRT #define. Compile tested only. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7b09efacf54210be511450768c0ee98071feb7f Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Fri Aug 15 12:48:13 2014 -0400 staging/lustre/llite: Fix integer overflow in ll_fid2path Reported by Dan Carpenter <dan.carpenter@xxxxxxxxxx> outsize = sizeof(*gfout) + gfin->gf_pathlen; Where outsize is int and gf_pathlen is u32 from userspace can lead to integer overflowwhere outsize is some small number less than sizeof(*gfout) Add a check for pathlen to be of sensical size. Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11412 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5476 Reviewed-by: Dmitry Eremin <dmitry.eremin@xxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b358b4ea5b2912726d872611089e790a8388b62 Author: Frank Zago <fzago@xxxxxxxx> Date: Fri Aug 15 12:48:12 2014 -0400 staging/lustre/llite: optimize ll_fid2path() The only parameter from userspace that matters is the length of the buffer. We don't need to allocate then import the whole structure. By importing only that length, we can save a memory allocation. Add sparse annotations to that function. Signed-off-by: frank zago <fzago@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/11167 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5389 Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b6ee56fe2afe10cf855de8d11b6097fa82c26163 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Aug 15 12:48:11 2014 -0400 staging/lustre/llite: hold inode mutex around ll_setattr_raw() ll_setattr_raw() expects to be called with the inode mutex held so do when calling it from ll_hsm_import(). Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11349 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5456 Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Reviewed-by: Faccini Bruno <bruno.faccini@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7acd3376387dbf55f76cc77e7dbc870c2719aff Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Aug 15 12:48:10 2014 -0400 staging/lustre/clio: reorder initialization in cl_req_alloc() In cl_req_alloc() ensure that the list heads crq_pages and crq_layers have been initialized before passing the request to cl_req_completion(). This fixes an oops in the error path. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11009 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5290 Reviewed-by: Bobi Jam <bobijam@xxxxxxxxx> Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f261f48a39dd3349e5980cdc40604d78ea587ffc Author: Fan Yong <fan.yong@xxxxxxxxx> Date: Fri Aug 15 12:48:09 2014 -0400 staging/lustre/ldlm: drop redundant ibits lock interoperability check In very old release (older than Lustre-1.8), if the client talks with the server that does not support ibits lock, then the client needs to convert it as plain lock. Such interoperability check and convertion is out of date for a long time. Drop it. Signed-off-by: Fan Yong <fan.yong@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/11004 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4971 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: wangdi <di.wang@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6aa5107281ea065b9a7818a1c640e022d41a421b Author: Paul Cassella <cassella@xxxxxxxx> Date: Fri Aug 15 12:48:08 2014 -0400 staging/lustre/llite: Make sure ft_flags is valid In ll_fault0, the 'fault' struct is mostly cleared before the call to cl_io_loop, but ft_flags is not reset. It is ordinarily set by the call to filemap_fault in vvp_io_kernel_fault, but if Lustre returns before calling filemap_fault, it still has the old value of ft_flags. ll_fault0 will then consume the ft_flags field. If it has the VM_FAULT_RETRY bit set, it will be used as ll_fault0() and ll_fault()'s return value. This is a problem when VM_FAULT_RETRY is in ft_flags: When fault/filemap_fault return with that flag set, they have already released the mmap semaphore, and do_page_fault does not need to release it. Incorrectly returning this flag from ll_fault means mmap_sem is not upped in the kernel's do_page_fault(). In addition to clearing ft_flags, this patch does not use it unless it is valid. It's potentially misleading to return ft_flags in "fault_ret" if ft_flags has not been set by filemap_fault. This adds clarity, but does not change the current behavior: When not valid, ft_flags is replaced by fault_ret, which is zero, as is ft_flags when not set by filemap_fault. Signed-off-by: Patrick Farrell <paf@xxxxxxxx> Reviewed-on: http://review.whamcloud.com/10956 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5291 Reviewed-by: Bobi Jam <bobijam@xxxxxxxxx> Reviewed-by: Jinshan Xiong <jinshan.xiong@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7591805af511b7f71fec87c69a539d1d0cfb93a1 Author: John L. Hammond <john.hammond@xxxxxxxxx> Date: Fri Aug 15 12:48:07 2014 -0400 staging/lustre/mdc: cleanup intent if mdc_finish_enqueue() fails In mdc_enqueue() clear the lock handle, lock mode, and request stored in the lookup intent if mdc_finish_enqueue() fails. Signed-off-by: John L. Hammond <john.hammond@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/10963 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5289 Reviewed-by: Lai Siyao <lai.siyao@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6b2eb32e697d151ebaf52f9b0304d16f63a27b43 Author: Nathaniel Clark <nathaniel.l.clark@xxxxxxxxx> Date: Fri Aug 15 12:48:06 2014 -0400 staging/lustre/llite: check for integer overflow in hsm user request Check to make sure total size of request does not overflow when calculated. Return -1 from hur_len() if it does overflow. Signed-off-by: Nathaniel Clark <nathaniel.l.clark@xxxxxxxxx> Reviewed-on: http://review.whamcloud.com/10615 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4984 Reviewed-by: Andreas Dilger <andreas.dilger@xxxxxxxxx> Reviewed-by: John L. Hammond <john.hammond@xxxxxxxxx> Signed-off-by: Oleg Drokin <oleg.drokin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f7b43d0c992c3ec3e8d9285c3fb5e1e0eb0d031a Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Tue Aug 12 11:41:40 2014 -0400 nfsd4: reserve adequate space for LOCK op As of 8c7424cff6 "nfsd4: don't try to encode conflicting owner if low on space", we permit the server to process a LOCK operation even if there might not be space to return the conflicting lockowner, because we've made returning the conflicting lockowner optional. However, the rpc server still wants to know the most we might possibly return, so we need to take into account the possible conflicting lockowner in the svc_reserve_space() call here. Symptoms were log messages like "RPC request reserved 88 but used 108". Fixes: 8c7424cff6 "nfsd4: don't try to encode conflicting owner if low on space" Reported-by: Kinglong Mee <kinglongmee@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 1383bf37ce2554d7632f21ee03f3ea815edaf933 Author: J. Bruce Fields <bfields@xxxxxxxxxx> Date: Mon Aug 11 16:41:05 2014 -0400 nfsd4: remove obsolete comment We do what Neil suggests now. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 63bab0651be0ba857200219a08644e6a99f448b6 Author: Ross Lagerwall <rosslagerwall@xxxxxxxxx> Date: Sat Aug 9 14:44:00 2014 +0100 nfsd3: Check write permission after checking existence When creating a file that already exists in a read-only directory with O_EXCL, the NFSv3 server returns EACCES rather than EEXIST (which local files and the NFSv4 server return). Fix this by checking the MAY_CREATE permission only if the file does not exist. Since this already happens in do_nfsd_create, the check in nfsd3_proc_create can simply be removed. Signed-off-by: Ross Lagerwall <rosslagerwall@xxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit afbda402a02bde74f350ff98243265dfd3108fb3 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Sat Aug 9 10:22:41 2014 -0400 nfsd: call nfs4_put_deleg_lease outside of state_lock Currently, we hold the state_lock when releasing the lease. That's potentially problematic in the future if we allow for setlease methods that can sleep. Move the nfs4_put_deleg_lease call out of the delegation unhashing routine (which was always a bit goofy anyway), and into the unlocked sections of the callers of unhash_delegation_locked. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6bcc034eac79873468cdfd1ccea9f25ee67c4500 Author: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Date: Sat Aug 9 10:22:40 2014 -0400 nfsd: protect lease-related nfs4_file fields with fi_lock Currently these fields are protected with the state_lock, but that doesn't really make a lot of sense. These fields are "private" to the nfs4_file, and can be protected with the more granular fi_lock. The fi_lock is already held when setting these fields. Make the code hold the fp->fi_lock when clearing the lease-related fields in the nfs4_file, and no longer require that the state_lock be held when calling into this function. To prevent lock inversion with the i_lock, we also move the vfs_setlease and fput calls outside of the fi_lock. This also sets us up for allowing vfs_setlease calls to block in the future. Finally, remove a redundant NULL pointer check. unhash_delegation_locked locks the fp->fi_lock prior to that check, so fp in that function must never be NULL. Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit ef9b16dc6de692865e898a35e750119b5b9c82c5 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:25 2014 -0400 nfsd: Reorder nfsd_cache_match to check more powerful discriminators first We would normally expect the xid and the checksum to be the best discriminators. Check them before looking at the procedure number, etc. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 89a26b3d295d35fefcc994cb0cf3817d0ff432d5 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:24 2014 -0400 nfsd: split DRC global spinlock into per-bucket locks Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 31e60f52224197dc989a82237905dfe643183f7c Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:23 2014 -0400 nfsd: convert num_drc_entries to an atomic_t ...so we can remove the spinlocking around it. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 11acf6ef3b58abd1c5eb94eaa38ed3b9dbc387f7 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:22 2014 -0400 nfsd: Remove the cache_hash list Now that the lru list is per-bucket, we don't need a second list for searches. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit bedd4b61a46d0398192a08fbe6821d1ac65aba84 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:21 2014 -0400 nfsd: convert the lru list into a per-bucket thing Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 7142b98d9fd7cec4e5218869ec547f30068c8daf Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Wed Aug 6 13:44:20 2014 -0400 nfsd: Clean up drc cache in preparation for global spinlock elimination Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit f8d1ff47b6858c1a26a658060c18a778696636db Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:13 2014 -0400 SUNRPC: Optimise away svc_recv_available We really do not want to do ioctls in the server's fast path. Instead, let's use the fact that we managed to read a full record as the indicator that we should try to read the socket again. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 0c0746d03eac70e12bcb39e7f1c7f0a1dd31123c Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:12 2014 -0400 SUNRPC: More optimisations of svc_xprt_enqueue() Just move the transport locking out of the spin lock protected area altogether. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit a4aa8054a60c545f100826271ac9f04c34bf828d Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:11 2014 -0400 SUNRPC: Fix broken kthread_should_stop test in svc_get_next_xprt We should definitely not be exiting svc_get_next_xprt() with the thread enqueued. Fix this by ensuring that we fall through to the dequeue. Also move the test itself outside the spin lock protected section. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 983c684466e02b21f83c025ea539deee6c0aeac0 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:10 2014 -0400 SUNRPC: get rid of the request wait queue We're always _only_ waking up tasks from within the sp_threads list, so we know that they are enqueued and alive. The rq_wait waitqueue is just a distraction with extra atomic semantics. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 106f359cf4d613ebf54cb9f29721bb956fc3460e Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:09 2014 -0400 SUNRPC: Do not grab pool->sp_lock unnecessarily in svc_get_next_xprt Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 887999774aeca9375b3831dbe58bab02df7b327f Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:08 2014 -0400 nfs: Ensure that nfs_callback_start_svc sets the server rq_task... Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit d6a7ce424f9e32b6a5589f6bb96e0d1381479d48 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:07 2014 -0400 lockd: Ensure that lockd_start_svc sets the server rq_task... Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 9e5b208dc9b2460f83f218ef6a6a1b1309fcd6b0 Author: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Date: Sun Aug 3 13:03:06 2014 -0400 SUNRPC: Do not override wspace tests in svc_handle_xprt We already determined that there was enough wspace when we called svc_xprt_enqueue. Signed-off-by: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> commit 6391fffb7b6099fae0e869229279d147c47f617a Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 16:18:22 2014 +0200 ASoC: ab8500-codec: Drop bank prefix from AB8500_GPIO_DIR4_REG register define The AB8500_GPIO_DIR4_REG register define has the bank for the register in the upper 8 bits and the register itself in the lower 8 bits. When passing it to abx500_{set,get}_register_interruptible() the upper bits get truncated which generates the following warning from sparse: sound/soc/codecs/ab8500-codec.c:1972:53: warning: cast truncates bits from constant value (1013 becomes 13) sound/soc/codecs/ab8500-codec.c:1980:53: warning: cast truncates bits from constant value (1013 becomes 13) The bank is passed separately to abx500_{set,get}_register_interruptible() so the code works fine as it is. Given that all users of AB8500_GPIO_DIR4_REG always truncate the upper 8 bits just remove them from the define. Also remove the unnecessary casts to u8. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e8a70c25b809367fc314743e1ba1dbf0159398a7 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 16:18:21 2014 +0200 ASoC: samsung idma: Add proper annotation for casting iomem pointers It is not always possible to interchange iomem pointers with normal pointers, which why we have annotations for iomem pointers and warn when casting them to a normal pointer or vice versa. In this case the casting is fine and unfortunately necessary so add the proper annotations to tell code checkers that it is intentional. This silences the following warnings from sparse: sound/soc/samsung/idma.c:354:20: warning: incorrect type in argument 1 (different address spaces) expected void volatile [noderef] <asn:2>*addr got unsigned char *area sound/soc/samsung/idma.c:372:22: warning: cast removes address space of expression Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6c7d1dfca999f58c65ed7b10c2f0945dd92db103 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 16:18:20 2014 +0200 ASoC: sh: Fix dma direction type dmaengine_prep_slave_single() expects a enum dma_transfer_direction and not a enum dma_data_direction. Since the integer representations of both DMA_TO_DEVICE and DMA_MEM_TO_DEV aswell as DMA_FROM_DEVICE and DMA_DEV_TO_MEM have the same value the code worked fine even though it was using the wrong type. Fixes the following warnings from sparse: sound/soc/sh/fsi.c:1307:42: warning: mixing different enum types sound/soc/sh/fsi.c:1307:42: int enum dma_data_direction versus sound/soc/sh/fsi.c:1307:42: int enum dma_transfer_direction Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d80a12f92466d0bc4fd244c9052a8a88518c868e Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 16:18:18 2014 +0200 ASoC: odrodix2_max98090: Make non exported symbols static odroidx2_drvdata and odroidu3_drvdata are not used outside this module so make them static (and also const while we are at it). Fixes the following warnings from sparse: sound/soc/samsung/odroidx2_max98090.c:69:26: warning: symbol 'odroidx2_drvdata' was not declared. Should it be static? sound/soc/samsung/odroidx2_max98090.c:74:26: warning: symbol 'odroidu3_drvdata' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 371e07ec837464375fe4d7ef3bd13e13cdfbb458 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 16:18:17 2014 +0200 ASoC: edma-pcm: Include edma-pcm.h edma_pcm_platform_register() is declared in edma-pcm.h and defined in edma-pcm.c. To make sure that the function signature matches for both edma-pcm.c should include edma-pcm.h Fixes the following sparse warning: sound/soc/davinci/edma-pcm.c:48:5: warning: symbol 'edma_pcm_platform_register' was not declared. Should it be static? Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1d3e6a6985c14f0510ebbd81fb9e8c02b24f8791 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Sun Aug 17 18:34:48 2014 +0800 regulator: da9211: Check return value of devm_kzalloc() Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9ba1e456e1fa3729fc6be73403a7b2083f9590eb Author: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Date: Sun Aug 17 12:08:57 2014 +0200 regmap: Add explicit dependencies to catch "select" misuse Add explicit dependencies for the various regmap modules, so Kconfig will print a warning message when another module selects a regmap module without fulfilling its dependencies. Without this, it's much more difficult to find out which module did the offending select. Signed-off-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8a36eaa2ff4a9452a78d799503b920b4e1a0ec31 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Sun Aug 17 12:03:05 2014 +0200 ASoC: dmic: Add to SND_SOC_ALL_CODECS Improve build coverage of the dmic driver. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 1890f518d9dd62f02c23046890ce5c288906a045 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:16 2014 +0800 ARM: dts: sun8i: Add pin-muxing info for the i2c controllers This adds pin-muxing info for the i2c controller / port combinations which are known to be used on actual boards. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cd78d3f2d716c291481206d4f87f1eeb20278f24 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:15 2014 +0800 ARM: dts: sun8i: Enable mmc controller on ippo-q8h-v5 The card detect pin setting was taken from the original fex file, and is confirmed to work. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit eacda1f11fcb8e38cdc9954c1f9cce295315bcab Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:14 2014 +0800 ARM: dts: sun8i: Add mmc controller nodes Add nodes for the 3 mmc controllers found on A23 SoCs to the sun8i DTSI. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit cdb6fd6798339efd6e1cb768d9d504929342b91b Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:13 2014 +0800 ARM: dts: sun8i: Add pin-muxing info for the mmc controllers This adds pin-muxing info for the mmc controller / port combinations which are known to be used on actual boards. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4b7ecb38d87045968f477a4a4e98b859cd66b9b4 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:12 2014 +0800 ARM: dts: sun8i: Add mmc clocks to the dtsi The MMC module clocks on sun8i are the same as those found on previous Allwinner SoCs, module 0 clocks. This patch adds the clocks nodes to the dtsi with existing drivers. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 1c602064e00a81b1600bed6b2fe17dffe80b01e0 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:11 2014 +0800 ARM: dts: sun8i: ippo-q8h: Add pinctrl properties for R_UART Now that we have R_PIO controller support and the pinmux for R_UART, add the correct pinctrl properties to the R_UART node. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 813097915853100d6cb0655c75f64e67a1ef57a8 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:10 2014 +0800 ARM: dts: sun8i: Add pin muxing option for R_UART R_UART is available on extra pads on certain tablets, which makes it ideal for use as a console. Here we add the pins for it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit c4021571e35d10233d331773124568ef94cee66d Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:09 2014 +0800 ARM: dts: sun8i: Add pinmux set for uart0 uart0 on sun8i is only muxed with mmc0, which makes it a poor choice for the console. However, some tablets only have pads for uart0 available on the circuit board. Here we add the uart0 pinmux set for people who need it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit b6a8711261b2979051832d1389d14c35dbf09dc6 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:08 2014 +0800 ARM: dts: sun8i: Add R_PIO controller node to the dtsi Now that we have a driver for the R_PIO controller, add the corresponding device node to the dtsi. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6b2b16f5790e4187e1b38dfe495ae08eda235485 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Sun Aug 17 11:52:07 2014 +0800 ARM: dts: sun8i: Add PIO controller node to the sun8i dtsi Now that we have a driver for the sun8i PIO controller, add the corresponding device node to the dtsi. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ffec7210e11bb06c970c83ea0c3f2d7a1142458f Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:10:02 2014 -0300 ARM: sun7i: dt: enable DMA on SPI All of our SPI controllers support DMA transfers, so let's add the properties here so they can be used when it's best to do so. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit fed4c5c676f41359c7dbee635bd98e25e54c40f4 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:10:01 2014 -0300 ARM: sun5i: dt: enable DMA on SPI All of our SPI controllers support DMA transfers, so let's add the properties here so they can be used when it's best to do so. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 4192ff81174609e7d548e7a04d6fd940e860472e Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:10:00 2014 -0300 ARM: sun4i: dt: enable DMA on SPI All of our SPI controllers support DMA transfers, so let's add the properties here so they can be used when it's best to do so. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 316e0b0eebcfb030cdf265554fb34ef78380bf5f Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:09:59 2014 -0300 ARM: sun7i: dt: Add node to represent the DMA controller The A20 SoC has a sun4i-compatible DMA controller. Let's add a node to represent it on the device tree. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 6a5775e482c4e6639090dd1a2c349d325da8732b Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:09:58 2014 -0300 ARM: sun5i: dt: Add nodes to represent the DMA controllers The A10S and A13 SoCs have sun4i-compatible DMA controllers. Let's add the corresponding nodes to represent them on the device tree. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 1324f53211398cd157edbedfe933fe21a9628b99 Author: Emilio López <emilio@xxxxxxxxxxxxx> Date: Mon Aug 4 17:09:57 2014 -0300 ARM: sun4i: dt: Add node to represent the DMA controller Let's add a node to represent the A10 DMA controller on the device tree. Signed-off-by: Emilio López <emilio@xxxxxxxxxxxxx> Reviewed-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 5e7004351a8f144400873f0ad34690ec7cc97f01 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jul 30 20:56:06 2014 +0800 ARM: dts: sun6i: add rtc device node Now that we have a driver for sun6i's rtc hardware, add a device node for it so we can use it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit 3b1213f551145c124630fb592a8321724a40da32 Author: Chen-Yu Tsai <wens@xxxxxxxx> Date: Wed Jul 30 20:56:07 2014 +0800 ARM: dts: sun8i: add rtc device node sun8i shares the same rtc hardware as sun6i. Now that we have a driver for it, add a device node to the DTSI for it so we can use it. Signed-off-by: Chen-Yu Tsai <wens@xxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> commit ad8c3af8b75ff26c5c887f2101da653bdcd53a38 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 2 18:23:38 2014 +0200 ARM: shmobile: r7s72100: Remove legacy board support There's no legacy board anymore, genmai now boots with multiplatform support only. Remove the leftovers. Makefile.boot portion pointed out by Paul Bolle. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxxxxxxxxx> Cc: Paul Bolle <pebolle@xxxxxxxxxx> [horms+renesas@xxxxxxxxxxxx: squashed in patch containing Makefile.boot change] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 05104c266ae9a1673d92a068e2eeb0059db8c075 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 2 18:23:37 2014 +0200 ARM: shmobile: r7s72100: genmai: Remove legacy board file The genmai board now boots using DT and multiplatform kernel with the same feature set as the legacy board. Remove the legacy board file and the board Kconfig option. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 71d03dabd6d3141872e23effd00345afe2ea2dab Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 2 18:23:36 2014 +0200 ARM: shmobile: r7s72100: genmai: Remove reference board file The genmai board now boots using the generic R7S72100 DT machine with the same feature set as the board file. Remove the board file. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit d594c9775409a4276133db5e34dbd791329c5eae Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Aug 13 00:18:26 2014 +0400 ARM: shmobile: lager: add VIN1/ADV7180 device nodes Add the Lager board specific device node part for VIN1 (composite video in); add the device node for Analog Devices ADV7180 video decoder to IIC2 bus. Add the necessary subnodes to interconnect VIN1 and ADV7180 devices. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> [Sergei: rebased, edited changelog and summary] Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9f685bfc30edb4cba5d5ae142a9967cd0d74c40a Author: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> Date: Wed Aug 13 00:16:18 2014 +0400 ARM: shmobile: r8a7790: add VIN device nodes Add device nodes for the four video input controllers on the R8A7790. Signed-off-by: Ben Dooks <ben.dooks@xxxxxxxxxxxxxxx> [Sergei: renamed VIN device nodes, edited changelog] Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fbff66886b9c5f657b6649a264551ac572fae0b7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:09 2014 +0200 ARM: shmobile: r8a7790 dtsi: Enable DMA for MSIOF Add register sets used for access by the DMA engine, and DMA properties to the MSIOF nodes. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 37cf3d61a94790c6f12c6e6e7a28640b8531a8af Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:08 2014 +0200 ARM: shmobile: r8a7790 dtsi: Enable DMA for QSPI Add a DMA property to the QSPI node Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit a5ce27f5f3285520496af0fe5282395ac07c4138 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:07 2014 +0200 ARM: shmobile: r8a7791 dtsi: Enable DMA for MSIOF Add register sets used for access by the DMA engine, and DMA properties to the MSIOF nodes. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 591f2fa4eb0aae09cd76d276bb59e25824a7d408 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:06 2014 +0200 ARM: shmobile: r8a7791 dtsi: Enable DMA for QSPI Add a DMA property to the QSPI node Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit fde8feefc489652749920f18123ad9e48b427c5e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sat Jul 19 01:50:25 2014 +0200 ARM: shmobile: r8a7791: Add DMAC devices to DT Instantiate the two system DMA controllers in the r8a7791 device tree. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit b9fea49c79f23212ff21ef2f305ea4ae865db860 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sat Jul 19 01:50:24 2014 +0200 ARM: shmobile: r8a7790: Add DMAC devices to DT Instantiate the two system DMA controllers in the r8a7790 device tree. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit c819acdab3bf02795db6d16a17426e21c99c3c28 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Sat Jul 19 01:50:23 2014 +0200 ARM: shmobile: r8a7790: Add DMAC clocks to DT Add the SYS-DMAC0 and SYS-DMAC1 clocks to the MSTP2 clock node. They will be used by the upcoming DMAC DT nodes. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2cf088105db14c00ad69df09b9b4a37c2370ff44 Author: sergei.shtylyov@xxxxxxxxxxxxxxxxxx <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 6 22:38:22 2014 +0400 ARM: shmobile: koelsch: add VIN1/ADV7180 DT support Define the Koelsch board dependent part of the VIN1 device node. Add the device node for Analog Devices ADV7180 video decoder to I2C2 bus. Add the necessary subnodes to interconnect VIN1 and ADV7180 devices. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 8d62f4f75320db5e95d3610547a26e4487c30742 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 2 04:05:54 2014 +0400 ARM: shmobile: henninger: add VIN0/ADV7180 DT support Define the Henninger board dependent part of the VIN0 device node. Add the device node for Analog Devices ADV7180 video decoder to I2C2 bus. Add the necessary subnodes to interconnect VIN0 and ADV7180 devices. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0b8d1d579b4130f33a8776691453238839cb1973 Author: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 2 04:04:21 2014 +0400 ARM: shmobile: r8a7791: add VIN DT support Define the generic R8A7791 parts of the VIN[0-2] device nodes. Add aliases for the VIN[0-2] device nodes. Signed-off-by: Sergei Shtylyov <sergei.shtylyov@xxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit f7b98477f613a69b74ba4a715856630cc6508c0d Author: Simon Horman <horms+renesas@xxxxxxxxxxxx> Date: Mon Aug 4 15:51:48 2014 +0900 ARM: shmobile: Remove genmai_defconfig from MAINTAINERS The genmai defconfig file has been removed by 3ed27bd90d6d0c8b ("ARM: shmobile: genmai: remove defconfig") so remove its entry in the MAINTAINERS accordingly. Reported-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6e3a4b191ee6db512c17197130b4e5170b3dabc3 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:28 2014 +0200 ARM: shmobile: marzen_defconfig: Enable missing hardware support Based on the DTS Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 387ded8e60bcb6190492f90a3ef25e2bcb0a97a1 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:27 2014 +0200 ARM: shmobile: lager_defconfig: Enable missing hardware support Based on the DTS Notes: - MTD_SPI_NOR is a dependency for MTD_M25P80 since commit 03e296f613affcc2671c1e86d8c25ecad867204e ("mtd: m25p80: use the SPI nor framework") and commit e43b20619bdb6c851dd7b49cbd15e52875a785d4 ("mtd: spi-nor: shorten Kconfig naming"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 489610f3324dc1f94c816f4053215d7540871875 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:26 2014 +0200 ARM: shmobile: kzm9g_defconfig: Enable missing hardware support Based on the DTS Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 1a194078571a0d060a230949cd1b4da259117ef0 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:25 2014 +0200 ARM: shmobile: koelsch_defconfig: Enable missing hardware support Based on the DTS Notes: - MTD_SPI_NOR is a dependency for MTD_M25P80 since commit 03e296f613affcc2671c1e86d8c25ecad867204e ("mtd: m25p80: use the SPI nor framework") and commit e43b20619bdb6c851dd7b49cbd15e52875a785d4 ("mtd: spi-nor: shorten Kconfig naming"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 4f0c320be6164ab39af42867aa1ccf69475850b7 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:24 2014 +0200 ARM: shmobile: bockw_defconfig: Enable missing hardware support Based on the DTS Notes: - MTD_SPI_NOR is a dependency for MTD_M25P80 since commit 03e296f613affcc2671c1e86d8c25ecad867204e ("mtd: m25p80: use the SPI nor framework") and commit e43b20619bdb6c851dd7b49cbd15e52875a785d4 ("mtd: spi-nor: shorten Kconfig naming"). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 2815d447f6538d11d0fbe88a2f3418905922ca0d Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:23 2014 +0200 ARM: shmobile: ape6evm_defconfig: Enable missing hardware support Based on the DTS Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 0f6442bef67d7f543d65d12e27006ceda8932b81 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 14 18:57:22 2014 +0200 ARM: shmobile: shmobile_defconfig: Enable missing hardware support Based on the DTSes Notes: - MTD_SPI_NOR is a dependency for MTD_M25P80 since commit 03e296f613affcc2671c1e86d8c25ecad867204e ("mtd: m25p80: use the SPI nor framework") and commit e43b20619bdb6c851dd7b49cbd15e52875a785d4 ("mtd: spi-nor: shorten Kconfig naming"), - I2C_RIIC was enabled in the old genmai_defconfig. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 54a06dde40f6a01e323d49390d78b8c9f1dfacc0 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 13 13:45:00 2014 +0200 ARM: shmobile: r8a7778: Add missing call to shmobile_init_late() Add the missing call to shmobile_init_late() to r8a7778_init_late(). This should make sure Suspend-to-RAM and CPUIdle are setup as expected on bockw. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9dddfcfacaadb5491b62233b893b510fa00da4e0 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:44 2014 +0200 ARM: shmobile: genmai-reference: Enable MTU2 in device tree No more device needs to be added from platform code when booting the reference platform, move MTU2 registration from setup-r7s72100.c to board-genmai.c and remove the now empty r7s72100_add_dt_devices() function. As the genmai_add_standard_devices() function is now identical to the default init_machine implementation, remove it as well. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 9162d39ccb9400bfaed85630cf517c85861faa6f Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:40 2014 +0200 ARM: shmobile: r7s72100: Add MTU2 device to DT Add the MTU2 counter to the r7s72100 device tree and make it disabled by default. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Acked-by: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx> [horms+renesas@xxxxxxxxxxxx correct irq number] Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 5ecd7a5185008723056a4b70815aa017272ca751 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:43 2014 +0200 ARM: shmobile: marzen-reference: Enable TMU0 in device tree No more device needs to be added from platform code when booting the reference platform, remove the now empty r8a7779_add_standard_devices_dt() function completely. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 6a1d9460df90f96e31922ad5c891c5c54a4c7f4e Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:42 2014 +0200 ARM: shmobile: koelsch-reference: Enable CMT0 in device tree No more device needs to be added from platform code when booting the reference platform, remove the now empty r8a7791_add_dt_devices() function completely. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 247fd5ec6e9a41f9299df27be82104efc56e622b Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:41 2014 +0200 ARM: shmobile: lager-reference: Enable CMT0 in device tree No more device needs to be added from platform code when booting the reference platform, remove the now empty r8a7790_add_dt_devices() function completely. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ef890ea26a37884a21f592c3feccadb019e8a11b Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:39 2014 +0200 ARM: shmobile: r8a7779: Add TMU devices to DT Add the TMU0, TMU1 and TMU2 counters to the r8a7779 device tree and make them disabled by default. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit ceaa18949a190cf335408751cac0de2a0de0b9e7 Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:38 2014 +0200 ARM: shmobile: r8a7791: Add CMT devices to DT Add the CMT0 and CMT1 counters to the r8a7791 device tree and make them disabled by default. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 39cf6d73dc1ed11c7d5d2c96a0ccbbb868a7f3ce Author: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Date: Wed Jul 9 15:12:37 2014 +0200 ARM: shmobile: r8a7790: Add CMT devices to DT Add the CMT0 and CMT1 counters to the r8a7790 device tree and make them disabled by default. Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> Tested-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> Signed-off-by: Simon Horman <horms+renesas@xxxxxxxxxxxx> commit 855675f6e6a65688a7f4cf45b9b5a98cf6c6f5c3 Author: Nicolin Chen <Guangyu.Chen@xxxxxxxxxxxxx> Date: Mon Aug 4 15:07:25 2014 +0800 ASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode There is one design rule according to SAI's reference manual: If the transmitter bit clock and frame sync are to be used by both transmitter and receiver, the transmitter must be configured for asynchronous operation and the receiver for synchronous operation. And SYNC of TCR2 is a 2-width control bit: 00 Asynchronous mode. 01 Synchronous with receiver. 10 Synchronous with another SAI transmitter. 11 Synchronous with another SAI receiver. So the driver should have set SYNC bit of TCR2 to 0x0, and meanwhile set SYNC bit of RCR2 to 0x1 (Synchronous with transmitter). Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 6be1f475e0ed2b4f9cd9c157d06e65178f4e84bb Merge: de0d712 769091e Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Aug 16 17:22:36 2014 -0500 Merge branch 'fix/fsl-esai' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-fsl-esai commit afa93c9017fd48d4d5265854c75f5fcde0871548 Author: Chew, Chiau Ee <chiau.ee.chew@xxxxxxxxx> Date: Fri Jul 25 01:10:54 2014 +0800 spi/pxa2xx-pci: Add common clock framework support in PCI glue layer SPI PXA2XX core layer has dependency on common clock framework to obtain information on host supported clock rate. Thus, we setup the clock device in the PCI glue layer to enable PCI mode host pass in the clock rate information. Signed-off-by: Chew, Chiau Ee <chiau.ee.chew@xxxxxxxxx> Acked-by: Kweh, Hock Leong <hock.leong.kweh@xxxxxxxxx> Acked-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7e7292dba2155c1433ce9f9a819f1acb9090747b Author: Sean Cross <xobs@xxxxxxxxxx> Date: Thu Jul 31 10:43:37 2014 +0800 ASoC: fsl: add imx-es8328 machine driver This adds an initial machine driver for the ES8328 audio codec on Freescale boards. The driver supports headphones and an audio regulator for an onboard speaker amp. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e1a65374a3bcaf34eb67322b3e761965f333a66a Merge: 708b435 567e4f9 Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Aug 16 17:18:02 2014 -0500 Merge branch 'topic/es8328' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into asoc-fsl commit 567e4f98922ce5542f8c2aa469a0c6ddf182b6ea Author: Sean Cross <xobs@xxxxxxxxxx> Date: Thu Jul 31 10:43:36 2014 +0800 ASoC: add es8328 codec driver Add a codec driver for the Everest ES8328. It supports two separate audio outputs and two separate audio inputs. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d4f7facde1796c8b3eb2f79e1fd903d7b776972f Author: Sean Cross <xobs@xxxxxxxxxx> Date: Thu Jul 31 10:43:35 2014 +0800 devicetree: bindings: Add Everest Semicodunctor Everest Semiconductor makes audio codecs. Signed-off-by: Sean Cross <xobs@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9c0b8fd1a5493d0c5ab2fb147e758ca556e80863 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:52:39 2014 +0200 spi: xilinx: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 7a9f957b395fc08edc47620c01e8bb5b798caddb Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 7 14:07:43 2014 +0200 spi: sh-msiof: Fix transmit-only DMA transfers Fix tx/rx mixup, which broke transmit-only transfers. Introduced by commit 4240305f7cbdc7782aa8bc40cc702775d9ac0839 ("spi: sh-msiof: Fix leaking of unused DMA descriptors"). Reported-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a5e7c719fe257214aeda3dadb502a4cf58209a61 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Thu Aug 7 14:07:42 2014 +0200 spi: sh-msiof: Return early in sh_msiof_dma_once() where possible Reported-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a6be4de6a24cbef6209e3a0fcddaee9e312a1f63 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:05 2014 +0200 spi: sh-msiof: Add DT support to DMA setup Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 52fba2b85d30075490db023642632032371505c2 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:04 2014 +0200 spi: sh-msiof: Configure DMA slave bus width The new Renesas R-Car Gen2 DMA Controller driver (rcar-dmac) requires explicit configuration of the DMA slave bus width. Hardcode the DMA transfer size to 4 bytes, as MSIOF DMA is limited to 32-bit words. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e825b8dd2b363e9134006fb141825518a11b2bf4 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:02 2014 +0200 spi: rspi: Add DT support to DMA setup Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a30b95a7d81cfc3442beb5a9635f22b19c97bbfc Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:01 2014 +0200 spi: rspi: Configure DMA slave bus width to 8 bit The new Renesas R-Car Gen2 DMA Controller driver (rcar-dmac) requires explicit configuration of the DMA slave bus width. Hardcode the DMA transfer size to 1 byte for both directions, as that's the only supported configuration (16-bit DMA support was removed in commit 9c5de2c1754c2bb3c69c4d7bf0d0edc0a61d8232 ("spi: rspi: Remove unused 16-bit DMA support")). Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 43937455c9bf294cffc2f25c4a4d0a1b9bbd88e6 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:59:00 2014 +0200 spi: rspi: Use devm_kasprintf() Use the devm_kasprintf() helper function instead of open coding error-prone buffer handling and string formatting. Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d64b472678e17ef9afb251577f4f544793483fa9 Author: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Date: Wed Aug 6 14:58:59 2014 +0200 spi: rspi: Remove unneeded semicolon Introduced by commit 426ef76dd8a394a0e04d096941cd9acb49539a3e ("spi: rspi: Add DT support"). Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx> Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9f5b8b4f56dd194fd33021810636879036d2acdd Author: Nick Krause <xerofoiffy@xxxxxxxxx> Date: Wed Aug 6 13:53:17 2014 -0400 spi: omap-100k: Remove unused definitions Remove unused definition which cause the following warnings drivers/spi/spi-omap-100k.c:73:0: warning: "WRITE" redefined [enabled by default] include/linux/fs.h:193:0: note: this is the location of the previous definition drivers/spi/spi-omap-100k.c:74:0: warning: "READ" redefined [enabled by default] include/linux/fs.h:192:0: note: this is the location of the previous definition Signed-off-by: Nick Krause <xerofoiffy@xxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit e67f04c9187b76c9824c31b4aeb7b79dd36cb735 Author: Michal Simek <michal.simek@xxxxxxxxxx> Date: Wed Aug 13 13:52:40 2014 +0200 spi: cadence: Remove .owner field for driver There is no need to init .owner field. Based on the patch from Peter Griffin <peter.griffin@xxxxxxxxxx> "mmc: remove .owner field for drivers using module_platform_driver" This patch removes the superflous .owner field for drivers which use the module_platform_driver API, as this is overriden in platform_driver_register anyway." Signed-off-by: Michal Simek <michal.simek@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dfe8f1f3f22f9922e773ae64f5621f290cb26023 Author: Nikesh Oswal <nikesh@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 10:05:45 2014 +0100 ASoC: wm8994: Demux the microphone detection IRQ Current code only allows direct routing of the WM8994 microphone detection signal to a GPIO this change adds support to demux the interrupt from the main interrupt line of the codec. Signed-off-by: Nikesh Oswal <nikesh@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a7a8e994ddd004fbabfcf04c26c204297b5f826d Author: Dan Murphy <dmurphy@xxxxxx> Date: Fri Aug 1 10:57:04 2014 -0500 ASoC: tas2552: Add DAPM calls for amp and PLL Add DAPM calls to enable/disable the Class D amp. Also add a DAPM call to turn off the PLL upon the stream completing. Signed-off-by: Dan Murphy <dmurphy@xxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0d985b1c76623747107dbab1052044d6bac3866d Author: Rongjun Ying <rongjun.ying@xxxxxxx> Date: Wed Aug 13 16:31:40 2014 +0800 ASoC: sirf: usp: Add bitclock inversion support Signed-off-by: Rongjun Ying <rongjun.ying@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit a493b6a637e9d8e828d7ed4be4bdf24dfd1f9250 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Aug 8 12:07:49 2014 +0200 ASoC: rsnd: delete unneeded test before of_node_put Of_node_put supports NULL as its argument, so the initial test is not necessary. Suggested by Uwe Kleine-König. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression e; @@ -if (e) of_node_put(e); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d8499c9b4b03ca88d7c7b4094cb09471658df7c2 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 4 15:15:55 2014 +0530 ASoC: Intel: add mrfld DSP defines We define the DSP commands,structures here which will be used to send the IPCs Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit b12b087c8715286b8759016f1d5c36cac0bb37f6 Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Mon Aug 4 15:04:21 2014 +0530 ASoC: Intel: mfld-pcm: Change sst_ops prototypes to take dev parameter sst_ops need to use the sst driver context. So pass sst device as argument, which can be used to retrieve sst context. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5981c2d6db2ef16d96ee4d1c4d3ddff4ad9d8ebc Author: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Date: Mon Aug 4 15:04:20 2014 +0530 ASoC: Intel: mfld-pcm: Use function instead of ioctl Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ea5edfe2f1ce5b2254a5ec4c1bb224fac48c3153 Author: Vinod Koul <vinod.koul@xxxxxxxxx> Date: Mon Aug 4 15:04:19 2014 +0530 ASoC: Intel: Fix to use byte control interface Using a byte control interface instead of generic_params ioctl. Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@xxxxxxxxx> Signed-off-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit ce7344a4ebabe90e064d3e087727f45624cdc942 Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Fri Aug 8 18:41:19 2014 +0800 ASoC: fsl_sai: Make Synchronous and Asynchronous modes exclusive The previous patch (ASoC: fsl_sai: Add asynchronous mode support) added new Device Tree bindings for Asynchronous and Synchronous modes support. However, these two shall not be present at the same time. So this patch just simply makes them exclusive so as to avoid incorrect Device Tree binding usage. Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 08fdf65e37d560581233e06a659f73deeb3766f9 Author: Nicolin Chen <Guangyu.Chen@xxxxxxxxxxxxx> Date: Tue Aug 5 15:32:05 2014 +0800 ASoC: fsl_sai: Add asynchronous mode support SAI supports these operation modes: 1) asynchronous mode Both Tx and Rx are set to be asynchronous. 2) synchronous mode (Rx sync with Tx) Tx is set to be asynchronous, Rx is set to be synchronous. 3) synchronous mode (Tx sync with Rx) Rx is set to be asynchronous, Tx is set to be synchronous. 4) synchronous mode (Tx/Rx sync with another SAI's Tx) 5) synchronous mode (Tx/Rx sync with another SAI's Rx) * 4) and 5) are beyond this patch because they are related with another SAI. As the initial version of this SAI driver, it supported 2) as default while the others were totally missing. So this patch just adds supports for 1) and 3). Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit af96ff5b7448dc776dc24a5c4313c6ec1ee94e53 Author: Nicolin Chen <Guangyu.Chen@xxxxxxxxxxxxx> Date: Mon Aug 4 15:07:25 2014 +0800 ASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode There is one design rule according to SAI's reference manual: If the transmitter bit clock and frame sync are to be used by both transmitter and receiver, the transmitter must be configured for asynchronous operation and the receiver for synchronous operation. And SYNC of TCR2 is a 2-width control bit: 00 Asynchronous mode. 01 Synchronous with receiver. 10 Synchronous with another SAI transmitter. 11 Synchronous with another SAI receiver. So the driver should have set SYNC bit of TCR2 to 0x0, and meanwhile set SYNC bit of RCR2 to 0x1 (Synchronous with transmitter). Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 376d1a92ca587d3974d4791cdb99baa8b8e7f0dd Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Tue Aug 5 17:20:21 2014 +0800 ASoC: fsl_sai: Initialize with software reset This patch adds software reset code in dai_probe() so as to make a true init by clearing SAI's internal logic, including the bit clock generation, status flags, and FIFO pointers. Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit de0d712a6dd1eed097dc6aa4f97ee461949414fe Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Fri Aug 8 14:47:21 2014 +0800 ASoC: fsl_esai: refine esai for TDM support Original driver didn't store the number of slots, just fix the slot number to 2, use this default number to calculate bclk and pins for TX/RX. In this patch, add one parameter for slots, and update the calculation of bclk and pins of TX/RX. Then driver will be compatible with slots > 2 in TDM mode. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 708b4351f08c08ea93f773fb9197bdd3f3b08273 Author: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Date: Wed Jul 30 19:27:38 2014 +0800 ASoC: fsl: Add Freescale Generic ASoC Sound Card with ASRC support The Freescale Generic ASoC Sound Card is a general ASoC DAI Link driver that can be used, ideally, for all Freescale CPU DAI drivers and external CODECs. The idea of this generic sound card is a bit like ASoC Simple Card. However, for Freescale SoCs (especially those released in recent years), most of them have ASRC (Documentation/devicetree/bindings/sound/fsl,asrc.txt) inside. And this is a specific feature that might be painstakingly controlled and merged into the Simple Card driver. So having this driver will allow all Freescale SoC users to benefit from the simplification to support a new card and the capability of wide sample rates support through ASRC. The driver is initially designed for sound card using I2S or PCM DAI formats. However, it's also possible to merge those non-I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, into this card as long as the merge will not break the original function and as long as there is something redundant that can be abstracted along with I2S type sound cards. As an initial version, it only supports three cards that I can test: imx-audio-cs42888, a new card that links ESAI with CS42888 CODEC imx-audio-sgtl5000, just like the old imx-sgtl5000.c driver imx-audio-wm8962, just like the old imx-wm8962.c driver The driver is also compatible with the old Device Tree bindings of WM8962 and SGTL5000. So we may consider to remove those two drivers after this driver is totally enabled. (It needs to be added into defconfig) Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 38f57532ede565a3c71da7b7727369f374c51acb Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Thu Aug 7 09:34:38 2014 -0500 ASoC: cs35l32: fix compile warning for i2c_probe Forgot to add a return for err_disable goto statement. Causes compile warning of control reaching end of non-void Signed-off-by: Brian Austin <briann.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9cf44690204db563ba065ed856546dc8a8b742a1 Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Mon Aug 4 15:11:17 2014 -0500 ASoC: cs35l32: Add bindings for CS35L32 The patch adds device tree bindings file for the Cirrus Logic CS35L32 Signed-off-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit eef5bb2445ca49911c93c08ed0fb2ea7363ea945 Author: Brian Austin <brian.austin@xxxxxxxxxx> Date: Mon Aug 4 15:11:16 2014 -0500 ASoC: cs35l32: Add support for CS35L32 Boosted Amplifier This patch adds support for the Cirrus Logic CS35L32 Boosted Amplifier I2S output provides monitor data to the SOC/CODEC/DSP for speaker protection/enhancement algorithms Signed-off-by: Brian Austin <brian.austin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 8ad9f9efcc7656cafb56bbbcd545f817a742bf32 Author: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Date: Mon Jun 16 16:33:46 2014 +0200 ASoC: Drop const from struct snd_soc_dai_link *of_node members Dropping the const qualifiers prevents "passing argument 1 of â??of_node_putâ?? discards â??constâ?? qualifier from pointer target type" type warnings when compiling the code dropping reference to cpu_of_node, codec_of_node or platform_of_node with with an of_node_put() function call. This lets us to avoid casting to struct device_node * or caching variables internally in drivers just to be able to properly drop a reference to the OF node on clean up paths. Signed-off-by: Sylwester Nawrocki <s.nawrocki@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 87ca186f7eb663fc5e52b65452a91fe0fec170a0 Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Wed Aug 13 19:33:42 2014 +0800 regulator: add driver for hi6421 voltage regulator Add driver support for HiSilicon Hi6421 voltage regulators. Two rules for regulator enabling are defined in hi6421 spec: 1) Between disable and enable of each regulator (LDOs or BUCKs), there must be a protection gap. Use @off_on_delay of regulator core to implement this. 2) No two regulators can be enabled at the same time. Use mutex in hi6421_regulator_pdata to ensure this. A protection gap of 100us is added into each LDO/BUCK's .enable_time. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit dd060bc92748ce77231b2cd2657510b77cd94dea Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Aug 16 12:30:58 2014 +0100 regmap: Restore L: linux-kernel@xxxxxxxxxxxxxxx entry As with commit 981c3a4ff85 (MAINTAINERS: Restore "L: linux-kernel@xxxxxxxxxxxxxxx" entries) restore the mailing list entry for the regmap framework in order to assist users in finding the list if they read the file instead of using get_maintainers.pl. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 275876e208e28abf4b96ec89030e482b1331ee75 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Tue Jul 15 12:23:03 2014 +0800 regmap: Add the DT binding documentation for endianness Device-Tree binding for device endianness Index Device Endianness properties --------------------------------------------------- 1 BE 'big-endian' 2 LE 'little-endian' For one device driver, which will run in different scenarios above on different SoCs using the devicetree, we need one way to simplify this. Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d647c199510c2c126ac03ecbea51086e10126a40 Author: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Date: Tue Jul 15 12:23:02 2014 +0800 regmap: add DT endianness binding support. For many drivers which will support rich endianness of Devices need define DT properties by itself with the binding support. The endianness using regmap: Index Device Properties if needs bytes-swap, or just ignore it ------------------------------------------------------------- 1 BE 'big-endian' 2 LE 'little-endian' The properties include all the register values and the buffers. And these properties are very usful for the MMIO devices: Such as: a memory-mapped device, on one SoC is in BE mode, while in another SoC will be in LE mode, and the CPU will always in LE mode. For the first case, we must use cpu_to_be32/be32_to_cpu for 32-bit registers accessing, so the 'big-endian' property is needed. For the second case, we can just ignore the bytes-swap functions like cpu_to_le32/le32_to_cpu, so the 'little-endian' property could be abscent. And vice versa... Signed-off-by: Xiubo Li <Li.Xiubo@xxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 871f565055ed232e5751da18a331b73e8254adaf Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Wed Aug 13 19:33:40 2014 +0800 regulator: core: add guard delay between calling regulator_disable and _enable Some regulator require a minimum delay between its disable and next enable. This is to avoid damages when out-of-range frequent disable/enable of a single regulator can bring to the regulator chip. Add @off_on_delay to struct regulator_desc. Device drivers' can use this field to set this guard time. Add @last_off_jiffy to struct regulator_dev. When @off_on_delay is set by driver, regulator core can store its last off (disable) time into this field. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 79fd114161a764dfa456191af89358b3f5201c87 Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Wed Aug 13 19:33:39 2014 +0800 regulator: core: factor out delay function from _regulator_do_enable A common delay function can be helpful when implementing new features. Factor it out to maximize code reusability. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 272e2315fac3bfca0edfa3252b8a643c425602af Author: Guodong Xu <guodong.xu@xxxxxxxxxx> Date: Wed Aug 13 19:33:38 2014 +0800 regulator: core: add const qualifier to ops in struct regulator_desc struct regulator_ops *ops is a member in struct regulator_desc, which gets its value from individual regulator driver upon regulator_register() and is used by regulator core APIs. It's not allowed for regulator core to modify any of these callbacks in *ops. Add 'const' qualifier to enforce that. Signed-off-by: Guodong Xu <guodong.xu@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 23b1134838efdb5872be7b75e86fae41e60ba629 Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Feb 18 21:11:48 2014 +0800 regulator: tps65910: Allow missing init_data for diagnostics The regulator core supports this to allow the configuration to be inspected at runtime even if no software management is enabled. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 9839d627c2a2c74facde9a9ee949f2ba0a1363b1 Author: Gyungoh Yoo <gyungoh@xxxxxxxxx> Date: Fri Aug 8 18:10:22 2014 +0900 regulator: sky81452: Adding Skyworks SKY81452 regulator driver Signed-off-by: Gyungoh Yoo <jack.yoo@xxxxxxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5a867cf288934c26f3034ace189bda25700c68fa Author: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Date: Tue Jul 15 16:32:53 2014 +0530 regulator: s2mps11: Optimize the regulator description macro This patch makes the regulator description macro take minimum and steps voltage as parameter. In this way many repeated macros can be removed. Now these macros are repeated only if the the LDO/BUCK ctrl registers have non-linear positions. The good thing is these ctrl registers are mostly linear so they are not passed as parameters. This patch reduces the code size and also allow easy addition of more s2mpxxx PMIC drivers which differs a lot in minimum/step voltages. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d264fd4541753bf3fe2613805b3cab95b54a3f32 Author: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Date: Tue Jul 15 16:32:52 2014 +0530 regulator: s2mpa01: Optimize the regulator description macro This patch makes the regulator description macro take minimum and steps voltage as parameter. In this way many repeated macros can be removed. Now these macros are repeated only if the the LDO/BUCK ctrl registers have non-linear positions. The good thing is these ctrl registers are mostly linear so they are not passed as parameters. This patch reduces the code size and also allow easy addition of more s2mpxxx PMIC drivers which differs a lot in minimum/step voltages. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 0e4f417857083f399769491f6e7773d111debd0f Author: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Date: Tue Jul 15 16:32:51 2014 +0530 regulator: s2mpxxx: Move regulator min/step voltages in common place This is a cleanup patch and moves min/step voltages in a common samsung header file so that they can be used by other s2mpxxx PMIC drivers. Only few required macros are added currently and others can be added if needed. Reviewed-by: Krzysztof Kozlowski <k.kozlowski@xxxxxxxxxxx> Signed-off-by: Amit Daniel Kachhap <amit.daniel@xxxxxxxxxxx> Acked-by: Lee Jones <lee.jones@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 005547e0828ce9064afebb1e6d56a18efd80e7a3 Author: James Ban <james.ban.opensource@xxxxxxxxxxx> Date: Fri Aug 8 14:27:04 2014 +0900 regulator: da9211: support DA9213 This is a patch for supporting DA9213. Signed-off-by: James Ban <james.ban.opensource@xxxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 5cdeb2c837ddcf5b67692816952d0f38e29c2d7b Author: Mark Brown <broonie@xxxxxxxxxx> Date: Sat Aug 16 12:31:11 2014 +0100 regulator: Restore L: linux-kernel@xxxxxxxxxxxxxxx entry As with commit 981c3a4ff85 (MAINTAINERS: Restore "L: linux-kernel@xxxxxxxxxxxxxxx" entries) restore the mailing list entry for the regulator framework in order to assist users in finding the list if they read the file instead of using get_maintainers.pl. Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 91ff8cd8c3aae34a26b517506cc1ff809401a490 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Mon Aug 11 11:47:29 2014 -0700 ARM: dts: Move the PMIC interrupt pinctrl line to rk3288-evb common The PMIC interrupt pinctrl line was added to the rk3288-evb-act8846, but it's the same line on both the ACT8846 version and the RK808 version. This makes a lot of sense since they share the same SoC daugherboard. Move the pinctrl definition to the common file so we can use it for the RK808 version. NOTE: The PMIC interrupt doesn't _actually_ go to the PMIC on the ACT8846 version of the board (it does on the RK808), but our convention is to label things as they're labelled on the schematics. In the very least you can argue that this is the interrupt from the PMIC daughtercard even if it doesn't actually go to the PMIC chip. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 2c31d9498cb85dcf37806237870e8ccf4dbf84e0 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Aug 12 16:21:14 2014 -0700 ARM: dts: Enable emmc and sdmmc on the rk3288-evb boards This enables basic SD and eMMC support. Things are not yet running at the fastest speed and we don't have the regulators specified, but we can at least use the eMMC and SD cards now. A note: * Though MMC DDR50 mode is partially supported in the dw_mmc rk3288-specific code in Addy's patch, Addy's patch doesn't add tuning support. That means DDR50 mode is not reliable. From the 3288 TRM: "Tuning is required for other speed modes-such as DDR50-even though the output delay from the card is less than one cycle." Thus, we don't enable MMC DDR50 mode in this patch. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 85095bf30f028f6dcb7d8177ab9b00425c11ca58 Author: Doug Anderson <dianders@xxxxxxxxxxxx> Date: Tue Aug 12 16:21:13 2014 -0700 ARM: dts: Add emmc and sdmmc to the rk3288 device tree This adds support for the sdmmc and emmc ports on the rk3288. Signed-off-by: Doug Anderson <dianders@xxxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit 356649ab6d6412b256a2ff789e50ddbe5d78aaec Author: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Date: Thu Aug 7 16:38:02 2014 +0900 ARM: dts: rockchip: unuse the slot-node and deprecate the supports-highspeed for dw-mmc dw-mmc controller can support multiple slots. But, there are no use-cases anywhere. So we don't need to support the slot-node for dw-mmc controller. And "supports-highspeed" property in dw-mmc is deprecated. "supports-highspeed" property can be replaced with "cap-sd/mmc-highspeed". Signed-off-by: Jaehoon Chung <jh80.chung@xxxxxxxxxxx> Reviewed-by: Tushar Behera <trblinux@xxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx> Acked-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> commit d41b7b74cfab08cf7a5c07fafac474af9dd51d9c Author: Artemiy Volkov <artemiyv@xxxxxxx> Date: Thu Aug 14 16:20:09 2014 +1000 Staging: wlan-ng: Merge string literals on adjacent lines in prism2fw.c This patch fixes the 'quoted string split across lines' checkpatch.pl warning in prism2fw.c. Signed-off-by: Artemiy Volkov <artemiyv@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 72267c27fd5780e70d6ec4e920f8e3e27cafcbb7 Author: vibi sreenivasan <vibisreenivasan@xxxxxxxxxxxxx> Date: Tue Aug 12 14:39:27 2014 +0000 staging/mt29f_spinand: coding style fixes This patch fixes the coding style error : "WARNING: else is not generally useful after a break or return" reported by checkpatch.pl Signed-off-by: Vibi Sreenivasan <vibisreenivasan@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f01620914699679a26212affa358e5bbc5ede63e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:29 2014 -0700 staging: comedi: 8255: provide common defines for registers There are a couple comedi drivers that duplicate some of the register defines used by the 8255 module. Move these defines into the header so the duplication can be removed. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5c19084bbd4ef7c0a10e5b01145b940edf872a63 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:28 2014 -0700 staging: comedi: 8255: handle memory mapped io The drivers that use this module with memory mapped io all have the ioremap'ed base address stored in the comedi_device 'mmio' member. Introduce a default (*io) function that does 8-bit memory mapped io. Modify subdev_8255_init() so that it takes a flag parameter indicating if the io is port or memory mapped. Make the function static and rename it to __subdev_8255_init(). Introduce two exported wrappers for __subdev_8255_init(): subdev_8255_init() - for drivers that do 8-bit port io subdev_8255_mm_init() - for drivers that do 8-bit memory mapped io Use subdev_8255_mm_init() in the drivers that do 8-bit memory mapped io and remove the private (*io) functions. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9067983867516a425d3382cb2eeeb234a2e8e3b6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:27 2014 -0700 staging: comedi: 8255: remove incomplete async command support The async command support in this module is incomplete and nothing has ever used it. Just remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4085e93b9fecfad454159694c19efc36e7ac1cdf Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:26 2014 -0700 staging: comedi: 8255: refactor how the (*io) function works Currently, all users of is module that use the default (*io) function pass an 'iobase' to subdev_8255_init() of the form: dev->iobase + OFFSET_TO_8255_BASE_REG Now that the (*io) callback includes the comedi_device 'dev' pointer the 'dev->iobase' does not need to be included. Modify the default (*io) function, subdev_8255_io(), to automatically add the dev->iobase to the address when reading/writing the port. For aesthetics, rename the subdevice private data member to 'regbase'. Also, rename the local variables in this module that are used to access this member. Add a comment in dev_8255_attach() about the 'iobase' that is passed to subdev_8255_init(). For manually attached 8255 devices the io region is requested with __comedi_request_region() which does not set dev->iobase. For these devices the 'regbase' is actually the 'iobase'. Remove the, now unnecessary, dev->iobase from all the callers of subdev_8255_init(). There are a couple drivers that only passed the dev->iobase. For those drivers pass a 'regbase' of 0x00. Note that the das16m1 driver is a bit goofy. The devpriv->extra_iobase is requested using __comedi_request_region() which does not set the dev->iobase. But the starting address passed is dev->iobase + DAS16M1_82C55 so a 'regbase' of DAS16M1_82C55 is passed to subdev_8255_init(). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b1a3fcfdf4067290cafffb5bc348c158e170fd7 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:25 2014 -0700 staging: comedi: 8255_pci: tidy up pci_8255_mmio() The 8255 driver (*io) callback now includes the comedi_device pointer. Using this we can get the ioremap'ed base address. Instead of passing the (cast) mmio address to subdev_8255_init(), pass the 'iobase' of the 8255 registers (i * 4). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit da261e1d38f5ed4baaebc45f51e628e7d84a2560 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:24 2014 -0700 staging: comedi: cb_pcidas64: tidy up dio_callback_4020() The 8255 driver (*io) callback now includes the comedi_device pointer. Using this we can get the ioremap'ed base address. Instead of passing the (cast) mmio address to subdev_8255_init(), pass the 'iobase' of the 8255 registers (I8255_4020_REG). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 27fdf38574e63f21c14098b11f36d932cb3aaf25 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:23 2014 -0700 staging: comedi: cb_pcidas64: tidy up dio_callback() The 8255 driver (*io) callback now includes the comedi_device pointer. Using this we can get the ioremap'ed base address. Instead of passing the (cast) mmio address to subdev_8255_init(), pass the 'iobase' of the 8255 registers (DIO_8255_OFFSET). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f4e29703c790ee1045a0c0b7181c948b9a45636a Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:22 2014 -0700 staging: comedi: daqboard2000: tidy up daqboard2000_8255_cb() The 8255 driver (*io) callback now includes the comedi_device pointer. Using this we can get the ioremap'ed base address. Instead of passing the (cast) mmio address to subdev_8255_init(), pass the 'iobase' of the 8255 registers (dioP2ExpansionIO8Bit). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ed8c80d0a4c65c062ee520cd167649b80afce16f Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:21 2014 -0700 staging: comedi: ni_labpc: tidy up labpc_8255_mmio() The 8255 driver (*io) callback now includes the comedi_device pointer. Instead of passing the (cast) pointer to subdev_8255_init(), pass the 'iobase' of the 8255 registers (DIO_BASE_REG). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 67393c4fef245f46863f50bc8a553f0608d7a05d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:20 2014 -0700 staging: comedi: ni_mio_common: tidy up ni_8255_callback() The 8255 driver (*io) callback now includes the comedi_device pointer. Instead of passing the (cast) pointer to subdev_8255_init(), pass the 'iobase' of the 8255 registers (Port_A). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 09d6dd7490ee7f1dda926e309df370e28679a71c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:19 2014 -0700 staging: comedi: 8255: add a comedi_device param to the (*io) callback The 8255 driver uses an (*io) callback to read/write the registers of the 8255 device. The default callback provided by the driver uses inb()/outb() calls to access to registers based on an 'iobase' that was initialized during the subdev_8255_init() and a 'port' value. The users of this module can optionally provide a custom (*io) callback to handle the read/write in another manner. Make the (*io) callback a bit more flexible by also passing the comedi_device pointer as a parameter. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4f9c63fe5333b27ab23ed399830c7977f6970744 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:18 2014 -0700 staging: comedi: amplc_pci230: refactor iobase addresses This driver uses two iobase addresses, found in PCI bars 2 and 3. Currently, the address in PCI bar 2 is saved in the private data as 'iobase1' and the address in PCI bar 3 is saved in the comedi_device as the 'iobase'. The 'iobase' is the base address of the daq registers (ai/ao) of the board. The 'iobase1' address is the base address of the 8255, 8254, configuration, and interrupt registers. Flip the saving of these base addresses. Save the address from PCI bar 2 in the comedi_device 'iobase' and the address from PCI bar 3 in the private data as 'daqio'. This will help with some cleanup of the 8255 module. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f254029bfda3924b5b3dfece85c3bb77b3c9c0c3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:17 2014 -0700 staging: comedi: cb_pcidda: refactor iobase addresses This driver uses two iobase addresses, found in PCI bars 2 and 3. Currently, the address in PCI bar 3 is saved in the comedi_device as the 'iobase' and the one in PCI bar 2 is just passed to subdev_8255_init() as the 'iobase' parameter. Save the PCI bar 3 address in the private data as 'daqio' and the address from PCI bar 2 in the comedi_device as the 'iobase'. This will help with some cleanup of the 8255 module. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 49fca95c403c01d2a91119fa64b86d4291324d17 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:16 2014 -0700 staging: comedi: cb_pcimdas: refactor iobase addresses This driver uses three iobase addresses, found in PCI bars 2, 3, and 4. Currently, the address in PCI bar 2 is saved in the comedi_device as the 'iobase', the PCI bar 3 address is saved in the private data as 'BADR3' and the one in PCI bar 4 is just passed to subdev_8255_init() as the 'iobase' parameter. Flip the saving of the PCI bar 2 and 4 base addresses. Save the address from PCI bar 2 in the private data as the 'daqio' and the address from PCI bar 4 in the comedi_device as the 'iobase'. This will help with some cleanup of the 8255 module. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3a94180cf224cf0c3136c09b3cde69561ba94bda Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:41:15 2014 -0700 staging: comedi: cb_pcidas: use dev->iobase for PCI bar 3 Currently the base address of the 8254 and 8255 devices, found in PCI bar 3, is saved in the private data as 'pacer_counter_dio'. The 'iobase' in the comedi_device is currently unused. Save the address from PCI bar 3 in the comedi_device and remove the unnecessary member from the private data. This will help with some cleanup of the 8255 module. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bb83abed7dd79ae1f0471c53144934efa57d7919 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:23 2014 -0700 staging: comedi: amplc_dio200: remove dio200_common_detach() This exported function just does a free_irq() to release the interrupt handler for the legacy and PCI dio200 drivers. The legacy driver also calls comedi_legacy_detach() which would also do the free_irq(). For that driver the just use comedi_legacy_detach() directly for the (*detach). For the PCI driver, add the free_irq() to the private (*datach) function. Remove the, then unused, dio200_common_detach() function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 294de579db53a810cb179fb06909c2dbdf17b74d Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:22 2014 -0700 staging: comedi: amplc_dio200: absorb dio200_subdev_timer_init() This function is only called by amplc_dio200_common_attach() and it can never fail. For aesthetics, absorb it into that function. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c3f6aa33ed102cc36c3e2308c81f10fec62439f9 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:21 2014 -0700 staging: comedi: amplc_dio200.h: remove boardinfo 'mainshift' This member of the boardinfo is only set for the PCIE boards. Use the 'is_pcie' flag to determine if the offset needs to be shifted when reading/writing the registers. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c1b0cccc59a30df185a23938dbd761650ef12337 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:20 2014 -0700 staging: comedi: amplc_dio200.h: rename 'has_enhancements' in boardinfo This member of the boardinfor is only set for the PCIE boards. For aeshetics, rename it to 'is_pcie'. For clarity, use this flag in the (*auto_attach) to determine if the dio200_pcie_board_setup() function needs to be called instead of using the switch (context_model). Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 42c6767bf3f92ab2aca1845fadd2ae5c204fc951 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:19 2014 -0700 staging: comedi: amplc_dio200.h: remove unnecessary function comment descriptions The function names provide enough description. The extra comments are not necessary. Remove them. Also, tidy up some of the function declarations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6ce09504ddc81aec07ddfcb16ad3c5b80ab19d0 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:18 2014 -0700 staging: comedi: amplc_dio200.h: remove struct dio200_layout definition This struct is used to provide part of the boardinfo data. Using the extra indirection does not provide any additional clarity to the driver. Absorb the members from dio200_layout into dio200_board and remove the extra 'layout' indirection. For aesthetics, rename all the local variables used for the boardinfo pointer to 'board'. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 593d11c5a30f4049887dfad7ca2ac56a97c33c99 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:17 2014 -0700 staging: comedi: amplc_dio200: tidy up {comedi, pci}_driver declarations For aesthetics, add some whitespace to these declarations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 849db1aacd223b25826246171519413fad601df6 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 11:17:16 2014 -0700 staging: comedi: amplc_dio200: tidy up comedi_driver declaration For aesthetics, add some whitespace to the declaration. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 85d7c9ab5129e96d25b455d7bf45066c376e8e2d Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Mon Aug 11 21:03:48 2014 -0500 staging: comedi: addi_apci_1564: tidy register map defines This commit performs a final tidying of the register map defines, bringing them to a state that is ready for merging into addi_apci_1564.c when the time comes. Actions performed include: *Removes the APCI1564_ADDRESS_RANGE macro, which is no longer needed/used. *Renames the APCI1564_DIGITAL_OP_{VCC,CC}_INTERRUPT_{ENABLE,DISABLE} macros to shorter names which are more consistent with the digital input interrupt macros. *Fixes a typo in a comment (dev>iobase changed to dev->iobase). *Renames the APCI1564_TCW_* macros to APCI1564_COUNTER_* names to more accurately reflect that they are only offsets to counter registers (since only the counters are offset from dev->iobase). Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3249b881e800d7374799b8aa551f498c5d39741 Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Mon Aug 11 21:03:19 2014 -0500 staging: comedi: addi_apci_1564: Remove in-driver watchdog support code Starting with commit 1496e5961113 ("staging: comedi: addi_apci_1564: use addi_watchdog module to init watchdog subdevice"), this driver uses the addi_watchdog module to provide support for the watchdog subdevice. Any remaining watchdog code in-driver can and should be removed. This will also make future work on the timer and counter subdevices easier. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ecc33af33ea8f71e691db1c1000ead675dc4d34f Author: Chase Southwood <chase.southwood@xxxxxxxxx> Date: Mon Aug 11 21:02:58 2014 -0500 staging: comedi: addi_apci_1564: remove apci1564_do_config The DO config function served the purpose of configuring the diagnostic interrupts for the board. As the driver currently does not support diagnostic interrupts, the digital output subdevice does not need an insn_config operation and this function can be safely removed. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5dffac89e2480487e79bc2c3e773ee649cdf7f3c Author: Ramesh Basukala <basukalaramesh@xxxxxxxxx> Date: Thu Aug 14 10:11:44 2014 -0400 Staging: bmc: fix coding style warning This is a patch to the vendorspecificextn.c that fixes coding style warning message line over 80 characters found by checkpatch.pl script. I am submitting this patch as required by Eudyptula Challenge. Signed-off-by: Ramesh Basukala <basukalaramesh@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b66157f36aff92ec3d93502471a7d26f10d39436 Author: Phong Tran <tranmanphong@xxxxxxxxx> Date: Wed Aug 13 20:37:06 2014 +0700 staging: android: ion: Remove redundant return of void function This patch fix checkpatch.pl warning Tested by compilation only. Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 04e14356d549fd1c5487f8a5be13eb4a59802fb3 Author: Phong Tran <tranmanphong@xxxxxxxxx> Date: Wed Aug 13 20:37:05 2014 +0700 staging: android: ion: ion.c Add a new blank line after decleration This patch fix checkpatch.pl warning Tested by compilation only. Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d320c455cb726cc0618ad9852982debc8af535b3 Author: Phong Tran <tranmanphong@xxxxxxxxx> Date: Wed Aug 13 20:37:04 2014 +0700 staging: android: ion: ion_dummy_driver.c Replace kzalloc() by kcalloc() This patch fix checkpatch.pl warning Tested by compilation only. Signed-off-by: Phong Tran <tranmanphong@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4246e490b59bf68839f75fa4354e099105ff927a Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Sun Aug 10 20:39:57 2014 +0200 Staging: rtl8188eu: Removed unneeded code. This patch removes some unneeded code. 1) kzalloc() allocates 4 extra bytes so that we can align the return value. But actually the return value is already aligned so we can remove the + 4 and the call to N_BYTE_ALIGMENT(). 2) The memset() isn't needed because kzalloc() zeroes the allocation. Suggested-by: Larry Finger <Larry.Finger@xxxxxxxxxxxx> Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 66ed681a304f2971f85b9d8c58d4c35f340e1af1 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Sun Aug 10 20:39:56 2014 +0200 Staging: rtl8188eu: Lines over 80 characters fixed. This is a patch to the hal/rtl8188eu_recv.c file that fixes up a "line over 80 characters" warning found by the checkpatch.pl tool. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e7e7068f60d9570613f9737f4f94e3158322cf6e Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:35 2014 +0530 staging: rtl8188eu: Declare Efuse_GetCurrentSize() as a static function Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 43ffc5be9e76d6b86c6b1e60c64eddb57bea4c15 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:34 2014 +0530 staging: rtl8188eu: rtw_iol.h: Remove unused struct, enum and macro Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1eb87e22062be9544431bcab2fd813aa1c795734 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:33 2014 +0530 staging: rtl8188eu: rtw_iol.c: Remove unused functions Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 51e3d8ededd1317ab95dc9648ae45b0370464416 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:32 2014 +0530 staging: rtl8188eu: Remove unused function iol_ioconfig() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4ffa54e6b191761eb0b71144f135e5b1935e752c Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:31 2014 +0530 staging: rtl8188eu: Remove rtl8188e_IOL_exec_cmds_sync() and its wrapper function rtl8188e_IOL_exec_cmds_sync() is a unused function. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit b5c391a4b0a46dff8d6e02e30ecd7ce16f446635 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:30 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_cmd_buf_dump() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63bd7e26d26b09e967067f9e5f8e781983f72f9e Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:29 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_cmd_tx_pkt_buf_dump() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 678826f5034af1a73439a71125bd5f254c9405d1 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:28 2014 +0530 staging: rtl8188eu: Remove unused functions rtw_IOL_append_DELAY_[US, MS]_cmd() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 94616fbc5cf096a30158036bb87de48de6f3d7f6 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:27 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_exec_cmds_sync() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 91ed283ab563727932d6cf92b74dd15226635870 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:26 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_append_WD_cmd() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a758a007ea6713213ea5458e551258ceab62fea1 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:25 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_cmd_boundary_handle() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f549788fa07738d71c0e54fe0986d7baa56a6d8a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:24 2014 +0530 staging: rtl8188eu: Remove unused function rtw_IOL_accquire_xmit_frame() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dcdb40ccabc396047e1ab0f7c965d358e764fcf8 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:23 2014 +0530 staging: rtl8188eu: Hal8188EPhyCfg.h: Remove unused function declaration Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 939af24f713865d4cbcfb4ee1a0794e701530306 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:22 2014 +0530 staging: rtl8188eu: Remove unused function storePwrIndexDiffRateOffset() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9ff221347dfc565c1a2f6bbce21baedf7766fb2 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:21 2014 +0530 staging: rtl8188eu: Remove odm_RegConfig8188E.[h, c] files driver doesn't require these files anymore. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9c7d45c24e9dabf4160ae1af7f45e87079e45931 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:20 2014 +0530 staging: rtl8188eu: Cleanup and simplify Baseband configuration code Cleanup and consolidate Baseband configuration related code in HalHWImg8188E_BB.c file. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f386a9ce637df1cbffbedfaecbd730ef84c7ef04 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:19 2014 +0530 staging: rtl8188eu: Remove unused function odm_ConfigMAC_8188E() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 02282888d714000db114512268b270d82e1088fb Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:18 2014 +0530 staging: rtl8188eu: Remove unused function odm_ConfigRFReg_8188E() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 40a4325cd9b18bff0bf5c321eb8fd741ac8ec17a Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:17 2014 +0530 staging: rtl8188eu: Remove unused functions odm_ConfigRF_Radio[A, B]_8188E() Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 586b60877244595246e6aedc3766500d1227d1f2 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:16 2014 +0530 staging: rtl8188eu: Cleanup and simplify RF configuration code Cleanup and consolidate RF configuration related code in HalHWImg8188E_RF.c file. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ff8f35d8c30b37bea061979cd0ec37b24a4148b7 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:15 2014 +0530 staging: rtl8188eu: Cleanup and simplify MAC configuration code Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6c28c23f89b00a01b34670f0f1ddcdc2e0bca67 Author: navin patidar <navin.patidar@xxxxxxxxx> Date: Sun Aug 10 20:14:14 2014 +0530 staging: rtl8188eu: Cleanup firmware initialization code Using rtl8188ee's (drivers/net/wireless/rtlwifi/rtl8188ee/fw.c) neat and clean firmware initialization code to replace rtl8188eu's messy firmware initialization code. Signed-off-by: navin patidar <navin.patidar@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2ea5ff8a7cde20542d47d1398d3fc710d357f6f Author: Jeremiah Mahler <jmmahler@xxxxxxxxx> Date: Tue Aug 12 00:03:44 2014 -0700 staging: rtl8192u/ieee80211: Fix sparse ieee80211_debug_init/_exit not declared warning A sparse warning is generated about 'ieee80211_debug_init' and 'ieee80211_debug_exit' not being declared. drivers/staging/rtl8192u/ieee80211/ieee80211_module.c:275:12: warning: symbol 'ieee80211_debug_init' was not declared. Should it be static? drivers/staging/rtl8192u/ieee80211/ieee80211_module.c:297:13: warning: symbol 'ieee80211_debug_exit' was not declared. Should it be static? These functions are used outside of this file so using static will not work. The prototypes are given in r8192U_core.c but sparse nonetheless still gives a warning. Fix the sparse warning by moving these prototypes from r8192U_core.c to ieee80211.h. Signed-off-by: Jeremiah Mahler <jmmahler@xxxxxxxxx> Cc: Joel Pelaez Jorge <joelpelaez@xxxxxxxxx> Cc: Andrea Merello <andrea.merello@xxxxxxxxx> Cc: "John W. Linville" <linville@xxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: Himangi Saraogi <himangi774@xxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@xxxxxxxxx> Cc: Ana Rey <anarey@xxxxxxxxx> Cc: Chaitanya Hazarey <c@xxxxx> Cc: Rickard Strandqvist <rickard_strandqvist@xxxxxxxxxxxxxxxxxx> Cc: Teodora Baluta <teobaluta@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c4d6b8fbea3895973eb6153c27cb2bc015a17fdd Author: Ovidiu Toader <ovi@xxxxxxxxxxx> Date: Sun Aug 10 20:04:36 2014 -0700 drivers/staging/rtl8192u/r8192U_wx.c: fix warnings issued by sparse This minor patch motivated by eudyptula challenge fixes the following warnings issued by `sparse' in drivers/staging/rtl8192u/r8192U_wx.c: .../r8192U_wx.c:27:5: warning: symbol 'rtl8180_rates' was not declared. Should it be static? .../r8192U_wx.c:961:22: warning: symbol 'r8192_get_wireless_stats' was not declared. Should it be static? .../r8192U_wx.c:990:24: warning: symbol 'r8192_wx_handlers_def' was not declared. Should it be static? Signed-off-by: Ovidiu Toader <ovi@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe773165210890082ccab524b2818a4a466656dc Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:11 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "uiOperation" -> "operation" Renamed variable "uiOperation" -> "operation" in bcm_char_ioctl_gpio_set_request(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 198d73daacb97a49a4daa4894609f48819e39c0a Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:10 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "uiBit" -> "bit" Renamed variable "uiBit" -> "bit" in bcm_char_ioctl_gpio_set_request(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80c329ad0c1a743ca15e997bbcef8bc622c1df58 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:09 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "ucResetValue" -> "reset_val" Renamed variable "ucResetValue" -> "reset_val" in bcm_char_ioctl_gpio_set_request(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41e708109475001431a8182716f90898621e0555 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:08 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "uiTempVar" -> "tmp" Renamed variable "uiTempVar" -> "tmp" in bcm_char_ioctl_reg_write_private() bcm_char_ioctl_eeprom_reg_read() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 95123f22a17f57bb5c51d662b1ecc3f6cc21afe6 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:07 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "sWrmBuffer" -> "wrm_buff" Renamed variable "sWrmBuffer" -> "wrm_buff" in bcm_char_ioctl_reg_write_private() bcm_char_ioctl_eeprom_reg_read() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 343fae74744506948d86af5144d3d9eadda59943 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:06 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "Bufflen" -> "buff_len" Renamed variable "Bufflen" -> "buff_len" in bcm_char_ioctl_reg_read_private(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 00c6fbcdab7ba34f3597715497b3a8224164c508 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:05 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "IoBuffer" -> "io_buff" Renamed variable "IoBuffer" -> "io_buff" in bcm_char_ioctl_reg_read_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_eeprom_reg_read() bcm_char_ioctl_gpio_set_request() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 201893bc516a1797d2fac8e931fe551eb78ed8f5 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:04 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "sRdmBuffer" -> "rdm_buff" Renamed variable "sRdmBuffer" -> "rdm_buff" in bcm_char_ioctl_reg_read_private() bcm_char_ioctl_reg_write_private() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit aafec40c30e97cbcbc703ca17ab1ebf7fc06cf3a Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:03 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "Packet" -> "packet" Renamed variable "Packet" -> "packet" in bcm_char_read(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dab41a0ea8a7704b8a7bf806f123fd8a3d2c0362 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:02 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "PktLen" -> "pkt_len" Renamed variable "PktLen" -> "pkt_len" in bcm_char_read(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f90a8a25f500700bb1c603b5c9d8a5069e6aa5b9 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:01 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "pTarang" -> "tarang" Renamed variable "pTarang" -> "tarang" in bcm_char_open() bcm_char_release() bcm_char_read() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 900025a3bd73e38ed6df25e3751c480babbcaf4c Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:32:00 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "ulDSDMagicNumInUsrBuff" -> "dsd_magic_num_in_usr_buff" Renamed variable "ulDSDMagicNumInUsrBuff" -> "dsd_magic_num_in_usr_buff" in handle_flash2x_adapter(). Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bd9a40788d7d25b6fa17ad119c9000c536e6e58d Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:31:59 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "Status" -> "status" Renamed variable "Status" -> "status" in bcm_handle_nvm_read_cmd() handle_flash2x_adapter() bcm_char_ioctl_reg_read_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_eeprom_reg_read() bcm_char_ioctl_gpio_set_request() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dc535b57a0d1971044c28ca11bb6a95603a54e1 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:31:58 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "stNVMReadWrite" -> "nvm_rw" Renamed variable "stNVMReadWrite" -> "nvm_rw" in bcm_handle_nvm_read_cmd() handle_flash2x_adapter() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e17219af18faf7e093390d6273f709df7e20ff60 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:31:57 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "pReadData" -> "read_data" Renamed variable "pReadData" -> "read_data" in bcm_handle_nvm_read_cmd() handle_flash2x_adapter() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a7add1cc72f1ef3662146505add0fa5744fdbec Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:31:56 2014 +0200 Staging: bcm: Bcmchar.c: Renamed variable "Adapter" -> "ad" Renamed variable "Adapter" -> "ad" in bcm_handle_nvm_read_cmd() handle_flash2x_adapter() bcm_char_open() bcm_char_release() bcm_char_read() bcm_char_ioctl_reg_read_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_reg_write_private() bcm_char_ioctl_eeprom_reg_read() bcm_char_ioctl_gpio_set_request() Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf8fa21cb70ceaf8d5898c57b80e707dfca79fa9 Author: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Date: Sun Aug 10 14:31:55 2014 +0200 Staging: bcm: Bcmchar.c: Fixed indentation of function arguments Signed-off-by: Matthias Beyer <mail@xxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3901270b1519a6b416383dfb29eeb79ed104dbbf Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Thu Aug 14 12:50:04 2014 +0530 staging: lustre: lustre: ptlrpc: Donot initialise null This patch fixes the following error using checkpatch.pl Error: Do not initialise statics to 0 or NULL Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0028d585b4f491948c3e732293f5aa781aee1ee9 Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Wed Aug 13 16:22:41 2014 +0530 staging: lustre: lustre: ptlrpc: Fix pointer declaration This patch fixes the following checkpatch.pl issue in client.c: ERROR: "foo * bar" should be "foo *bar" Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ae015be950d498def53a429f50f3ca4f4ed482f Author: Hema Prathaban <hemaklnce@xxxxxxxxx> Date: Tue Aug 12 17:26:38 2014 +0530 staging: lustre: lustre: ptlrpc: Fix requires space Fix checkpatch.pl issues spaces required. Signed-off-by: Hema Prathaban <hemaklnce@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 459d3236ad453642db3b99817c10a57d7d77faa4 Author: Oleg Drokin <green@xxxxxxxxxxxxxx> Date: Mon Aug 11 22:18:29 2014 -0400 staging/lustre/lnet: Fix potential uninitialized variable warning Greg reports that with one of the patches in his queue there's now an unused variable warning in lnet_parse_ip2nets for ipaddrs variable. Apparently the warning is a false positive as in all cases where lnet_ipaddr_enumerate can return without setting ipaddrs to something a negative return value is returned that is then checked before we actually use ipaddrs. Assign ipaddrs to NULL to quiet this. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab909585b813193bb45f52367c1e7d056e33cfa9 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:39 2014 +0530 staging: lustre: Cleanup variable declarations in mdc_enqueue() Changes: - move const union vars to the top - move rc to bottom - do not initialize req - set lvb_type to enum member instead of 0 - change __u64 to u64 - fix inconsistant columnization Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit eb44520b3ad9407704dd111c9acd48911c83beba Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:38 2014 +0530 staging: lustre: remove parentheses usage with return Fix the following checkpatch error: ERROR: return is not a function, parentheses are not required Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 78dd07983b405df2f98ae96137c69cb9e208b312 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:37 2014 +0530 staging: lustre: move else on the same line as closing brace Fix the following checkpatch error: ERROR: else should follow close brace '}' Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1a4cd3e9d53d786367c30e3a2a0864b69d370b3c Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:36 2014 +0530 staging: lustre: Fix misplaced opening brace warnings Fixes the following checkpatch error: ERROR: that open brace { should be on the previous line Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c35e01ff0859d77d2dea5cca974acf798a940e18 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:35 2014 +0530 staging: lustre: Added space between type name and * Fixes the following checkpatch error: ERROR: "(foo*)" should be "(foo *)" Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ee990b3368d678611fd4d28ae702a3c24ea1d76c Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Wed Aug 13 19:31:16 2014 +0530 ] staging: lustre: fix multi line strings Fixes the following checkpatch warning: WARNING: quoted string split across lines Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7436d0704fd3fc98287bded7f30ad2b9b3a7e61b Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:33 2014 +0530 staging: lustre: add blank lines after declarations Fixes the following checkpatch warning: WARNING: Missing a blank line after declarations Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 125ffec0bd80313124b719465c9fd529b39d6230 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:32 2014 +0530 staging: lustre: replace c99 style comments with C89 Fixes the following checkpatch error: ERROR: do not use C99 // comments Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 301af9068dd1b72ee80d0321b67eb5d76e08b3c0 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:31 2014 +0530 staging: lustre: Add missing spaces around operators and braces. Fixes the following checkpatch errors: ERROR: space required after that ',' (ctx:VxV) ERROR: space required after that close brace '}' Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5e663ae7a6dc2c402211d38a65b12a189220723 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:30 2014 +0530 staging: lustre: fix lines over 80 chars Fixes the following checkpatch warning: WARNING: line over 80 characters Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 982ec91f50a0e417cb353a2e5dff5af16541377a Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:29 2014 +0530 staging: lustre: move open brace to next line after functions Fixes the following checkpatch error: ERROR: open brace '{' following function declarations go on the next line Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 444014d6f529434a856564f2d9436a33416b2f43 Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:28 2014 +0530 staging: lustre: remove spaces from start of line Fixes the following checkpatch warning: WARNING: please, no spaces at the start of a line Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffdac6ce36580cacb72ab7775cc52e947c62721c Author: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Date: Mon Aug 11 23:57:27 2014 +0530 staging: lustre: remove space between function name and and open parenthesis Fixes following checkpatch warning: WARNING: space prohibited between function name and open parenthesis '(' Signed-off-by: Srikrishan Malik <srikrishanmalik@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 139cc6aed5b235ca2b32b23962667d1173ce6005 Author: Junien Fridrick <linux.kernel@xxxxxxxxxxxxxxxxxxx> Date: Sun Aug 10 23:05:38 2014 +0000 staging: lustre: fix coding style issue: missing space after 'if' Coding style issue reported by checkpatch.pl Signed-off-by: Junien Fridrick <linux.kernel@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76be25ba313086c81392fe5dcddf73b806be2100 Author: Ragnar B. Johannsson <ragnar@xxxxxx> Date: Sun Aug 10 22:23:50 2014 +0000 staging: vt6656: add blank line after declaration Adds a blank line after declaration to comply with coding style. Signed-off-by: Ragnar B. Johannsson <ragnar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit de657d59f2ccc433e7380b23fb565438c2bb7ffb Author: Ragnar B. Johannsson <ragnar@xxxxxx> Date: Sun Aug 10 22:23:49 2014 +0000 staging: vt6656: fix incorrect indentation Use tabs, not spaces. Signed-off-by: Ragnar B. Johannsson <ragnar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 86140346adbb426b7b4e8ec397c9ef6db572c3e0 Author: Ragnar B. Johannsson <ragnar@xxxxxx> Date: Sun Aug 10 22:23:48 2014 +0000 staging: vt6656: remove unnecessary braces Removes unnecessary braces to comply with coding style. Signed-off-by: Ragnar B. Johannsson <ragnar@xxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 80f598ae8a8dbe7d56e9d08d205405dd9f6aecdd Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:47:03 2014 +0100 staging: vt6655: remove typedef from struct vnt_private Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1bd6375760ef13baeee404276b95034c691f2ed8 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:47:02 2014 +0100 staging: vt6655: device_main Replace DEVICE_INFO with size of pointer Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6af4336e64dde7d0dd910c10de5dced9ef7ecf64 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:47:01 2014 +0100 staging: vt6655: rf/wpactl/wroute use struct vnt_private Replacing PSDevice. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8f335dd136f9ccfb04e35ada2f80bdb958faf6be Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:47:00 2014 +0100 staging: vt6655: hostap/ioctl/iwctl use struct vnt_private Replacing PSDevice. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf76dc4b85447e17678d61505eb1b92743c4b67b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:46:59 2014 +0100 staging: vt6655: bssdb/datarate/dpc/power/rxtx use struct vnt_private Replacing PSDevice. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0ffc58742d835b83fa9f055233c11dcdf6724e77 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:46:58 2014 +0100 staging: vt6655: channel/wcmd/wctl/wmgr use struct vnt_private * Replacing PSDevice. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d052270b4372d015fbc19a0e0071b8f3640bff2b Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:46:57 2014 +0100 staging: vt6655: card change PSDevice to struct vnt_private Repacing void *pDeviceHandler Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 582d6c220b16ba5e13743bd5cb14e8e0974d45f3 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:46:56 2014 +0100 staging: vt6655: baseband replace PSDevice Coverting all functions to struct vnt_private. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f8597f4e4b39b0505b3891f64d4c3be78d86717 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 15:46:55 2014 +0100 staging: vt6655: device.h use change __device_info to vnt_private Coverting all functions to struct vnt_private in device.h and device_main.c Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 965d017f49f7094348d95d8034f1ef94ddce601c Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:22:02 2014 +0100 staging: vt6655: upc.h replace read and write memory functions Update to the newer memory functions readb -> ioread8 readw -> ioread16 readl -> ioread32 writeb -> iowrite8 writew -> iowrite16 writel -> iowrite32 Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3e66a2aadd5f89f0012ac4f66dd3456c5921a39e Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:22:01 2014 +0100 staging: vt6655: upc.h: Remove unused macros PCBv* are not used Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4a5f718409f92f3bc12ee8020a4874d004f612ba Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:22:00 2014 +0100 staging: vt6655: CARDbSetBeaconPeriod call CARDbGetCurrentTSF to get TBTT There is already a function to get next TBTT. Replace code with CARDqGetNextTBTT. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 989ae8601b28b053d4882ad70ce62420f19f9e91 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:21:59 2014 +0100 staging: vt6655: CARDqGetNextTBTT calculate qwTSF using do_div Use do_div to compute equation as shown replacing existing code. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0fc2a76eef05ee1aa82b3d9bf34eea2b50f5e1ba Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:21:58 2014 +0100 staging: vt6655: Replace and remove typedef QWORD/ DQWORD Replace the variables with u64/__le64. The endian variant is needed in some places endian correction is needed. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c98323a7da3cf3625c37743974d007a1fe6539a5 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:21:57 2014 +0100 staging: vt6655: BSSvSecondTxData remove #if 1 else directive There is a code alignment error after this directive realign code Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2af99ee5bca2eccc2d61bfee0ad82c84af18f8f Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sun Aug 10 12:21:56 2014 +0100 staging: vt6655: Remove TxInSleep macro TxInSleep is always enabled remove the macro and any else code. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11a72e5e11429c1598a53bc314765e0ff15da2c7 Author: Malcolm Priestley <tvboxspy@xxxxxxxxx> Date: Sat Aug 9 20:15:56 2014 +0100 staging: vt6655: rxtx: Replace typedef struct tagSMICHDRHead With struct vnt_mic_hdr replacing pointer assigments in s_vFillTxKey. The size of new struture is the same as old with packing Create the struture rxtx.h where it is only used. Signed-off-by: Malcolm Priestley <tvboxspy@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit effda6973dba27d80a669855603bdc0971f89449 Author: Martin Berglund <martin@xxxxxxxxxx> Date: Thu Aug 7 23:08:34 2014 +0100 staging: vt6655: wpactl.c: Fix sparse warnings Add missing __user macro casting in the function wpa_set_keys. This is okay since the function handles the possibility of param->u.wpa_key.key and param->u.wpa_key.seq pointing to kernelspace using a flag, fcpfkernel. Signed-off-by: Martin Berglund <martin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2160e944a911dae3c4b40cca72d6c83af6f85bb5 Author: Sanjeev Sharma <sanjeev_sharma@xxxxxxxxxx> Date: Fri Aug 8 09:53:07 2014 +0530 staging:r819xU: coding style: Fixed commenting style This is a patch to the r819xU_phyreg.h file that fixes commenting style warning Signed-off-by: Sanjeev Sharma <Sanjeev_Sharma@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2892d397972496075523c63ad5bec77175654125 Author: Andreas Schlick <ninox@xxxxxxxxxx> Date: Thu Aug 7 19:20:50 2014 +0200 staging: rtl8723au: Remove unnecessary bit masking. Signed-off-by: Andreas Schlick <ninox@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c5081c548eafb115645d9fc60703641d4597b589 Author: Andreas Schlick <ninox@xxxxxxxxxx> Date: Thu Aug 7 19:20:49 2014 +0200 staging: rtl8723au: Move open braces to the previous line. Correct coding style errors in rtw_efuse.c. checkpatch.pl reported: ERROR: that open brace { should be on the previous line Signed-off-by: Andreas Schlick <ninox@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d6365fe50ebff17a5beccefed0c19d7dd847f076 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 22:17:10 2014 +0200 staging: dgnc: Remove unnecessary 'return' statement This commit fixes the checkpath warning 'void function return statements are not generally useful' caused by the 'return' at the end of 'void' function. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 8aa5d0d825715db571be47b02ca8b176f70cb1da Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 22:17:09 2014 +0200 staging: dgnc: Fix missing blank line after declarations This commit fixes the missing blank lines after declarations checkpath warnings found in dgnc_cls.c file. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e9b69997e74a88b388a6272a81e5133688683705 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 21:01:26 2014 +0200 staging: dgnc: Remove 'volatile' modifier where it is not needed This commit fixes the checkpath warning about misused 'volatile' modifier. In this case the 'volatile' was not needed as it was used for regular automatic variable. Thos commit removes the 'volatile'. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 13d1773ace622802e99f2aae577f30eab444eb55 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 21:01:25 2014 +0200 staging: dgnc: Fix braces {} are not necessary for single statement blocks This commit fixes the following checkpath warning in dgnc_neo.c file: 'braces {} are not necessary for single statement blocks' Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5ef33f38cb148ad0fb4a7c8860d8e1c7ebe16bdb Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 21:01:24 2014 +0200 staging: dgnc: Fix that open brace { should be on the previous line This commit fixes the following checkpath error in dgnc_neo.c file: 'that open brace { should be on the previous line' Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1eba3dba7463cddd254605b5372ee38ceb45fa30 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 21:01:23 2014 +0200 staging: dgnc: Fix missing blank line after declarations This commit deals with the checkapth warnings 'missing line after declarations' in the dgnc_neo.c file. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9dfe5670e1ceeda7378a6f4234cca6820fd5af46 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 21:01:22 2014 +0200 staging: dgnc: Fix included header from 'asm' This commit fixes the checkpatch warning: drivers/staging/dgnc/dgnc_neo.c:37: WARNING: Use #include <linux/io.h> instead of <asm/io.h> Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 98b3bcc05fa7efaf6a9a1420ce4a0fc6c9031b36 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 14:21:25 2014 +0200 staging: dgnc: Update the TODO file It turned out that the TODO file contained the invalid information as some of the work has already been done. This commit updates it with the current status of what is left to be done. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 92ded48cc3f09b8f6bdf56348b9318f9badd28fe Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 15:40:11 2014 +0200 staging: dgnc: Siplify the dgnc_start function This commit slightly simplifies the sgnc_start() function by rearranging it. As a result the indentation level is reduced. This is not the functional change. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9a633d00d14129b5865502a0f45c160f523b446f Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 14:21:23 2014 +0200 staging: dgnc: Move utility functions out of dgnc_driver.c This commit moves the utility functions out of dgnc_driver.c file and puts them in the new dgnc_utils.{c,h} files. The accompanying changes adjust the existing code to work with this design. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bbecbacbed32db649c10d1d4e0a6045b4f4d4750 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 14:21:22 2014 +0200 staging: dgnc: Remove unnecessary functions from dgnc_driver.c This commit slightly cleans up the dgnc_driver.c file. The changes include removing one-line proxy functions as they were not needed. Additionaly the pci 'remove' function is deleted because it was no need for it. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ea6e9dea2e72a7abd146a2c5bab726b27f34b36c Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 14:21:21 2014 +0200 staging: dgnc: Fix frame size is larger than 1024B This comit fixes the following sparse warnign: drivers/staging/dgnc/dgnc_tty.c:572:1: warning: the frame size of 1060 bytes is larger than 1024 bytes [-Wframe-larger-than=] This was caused by having buffer as an automatic variable. This commit moves it from the stack to the heap. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 338fd80f9da7772ff3b957adb7ae1ed4615c484c Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Wed Aug 6 14:21:20 2014 +0200 staging: dgnc: Fix no spaces before tabs checkpath warning This commit corrects the 'no space before tabs' checkpath warning. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1e8810026b96f5ecaa551e1963c4fbc71d976d85 Author: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Date: Tue Aug 12 08:08:37 2014 +0200 staging: dgnc: Fix externs should be avoided in the .c files This commit fixes the following checkpatch warnings: WARNING: externs should be avoided in .c files #80: FILE: drivers/staging/dgnc/dgnc_driver.c:80: +int dgnc_init_module(void); #81: FILE: drivers/staging/dgnc/dgnc_driver.c:81: +void dgnc_cleanup_module(void); This was caused by putting the declarations for module init and module exit fucntions on the top of the file. The fix removes these declarations plus it also corrects the type of the init/exit functions. Due to the dependency between init and exit functions the dgnc_cleanup_module had to be put first. Signed-off-by: Konrad Zapalowicz <bergo.torino@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d14b71231e78645008c3e2edee5496b4722d4d62 Author: Lars Hamre <lhamre@xxxxxxxxx> Date: Thu Aug 7 21:21:42 2014 -0400 Staging: nokia_h4p: removed unnecessary return statement in nokia_fw.c This is a patch to the nokia_fw.c file that removes an unnecessary return statement found by the checkpatch.pl tool Signed-off-by: Lars Hamre <hamham91@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 41cb65c4854e14f12b1cbb8215e509d8ad4d0c88 Author: A Raghavendra Rao <raghav3276@xxxxxxxxx> Date: Thu Aug 7 14:10:39 2014 +0530 Staging: wlan-ng: fix sparse warning in prism2fw.c Fix the following sparse warning : In file included from drivers/staging/wlan-ng/prism2usb.c:5:0: drivers/staging/wlan-ng/prism2fw.c: In function â??read_cardpda.constprop.43â??: drivers/staging/wlan-ng/prism2fw.c:792:1: warning: the frame size of 1068 bytes is larger than 1024 bytes [-Wframe-larger-than=] The variable to 'struct p80211msg_p2req_readpda' was previously being created on the stack, which inturn exeeded the frame size limit, resulting in a sparse warning. This patch alloctes the memory to the structure dynamically and the operations are left unchanged. Signed-off-by: A Raghavendra Rao <arrao@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0d0e9d9e777fcfcd50cb45299048e68edcd54ca4 Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Mon Aug 4 21:10:24 2014 +0200 staging: slicoss: fix a blank line coding style issue Add 2 missing blank lines after declaration. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a855861d57890d8433b158e72bba7c31b8b2fff7 Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Aug 5 23:24:18 2014 +0200 Staging: rts5208: Remove CONFIG_RTS5208_DEBUG option CONFIG_RTS5208_DEBUG is no more needed, we rely on dynamic debug config options instead. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 69b8b22489f5edf1fde0d6958ab3881068701e6d Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Tue Aug 5 23:24:17 2014 +0200 Staging: rts5208: Use dev_dbg and print_hex_dump_bytes to dump memory Use dev_dbg with %*ph format specifier and print_hex_dump_bytes to dump memory instead of relying on custom macro. Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63bc516402c615250ef9e88905b8c78a04fbacdb Author: Quentin Lambert <lambert.quentin@xxxxxxxxx> Date: Mon Aug 4 21:07:07 2014 +0200 staging: imx-drm: fix a blank line coding style issue Add missing blank lines after declaration. Signed-off-by: Quentin Lambert <lambert.quentin@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ddf5a2c1cb62a2ce4e6d9104998df2d3eae8923e Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Fri Aug 8 12:07:50 2014 +0200 imx-drm: imx-drm-core: delete unneeded test before of_node_put Of_node_put supports NULL as its argument, so the initial test is not necessary. Suggested by Uwe Kleine-König. The semantic patch that fixes this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression e; @@ -if (e) of_node_put(e); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a87c38090ea95d36925fefc5cb3d475416f3796c Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:56 2014 +0200 staging: ozwpan: Use list helpers Make use of the various list helper functions to improve readability. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 50222db4b03ac8f3259c6d39bbd585ed3358f70f Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 8 08:01:09 2014 +0200 staging: ozwpan: Use slab cache for oz_tx_frame allocation Use a slab cache rather than rolling our own free list. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2b8b61aaef59751fe85c1b2df51a848a6c50d202 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 8 08:00:42 2014 +0200 staging: ozwpan: Use slab cache for oz_elt_info allocation Use a slab cache rather than rolling our own free list. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e6fbdde1219bdd3875e72c6278beebf241bd416 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Fri Aug 8 07:59:24 2014 +0200 staging: ozwpan: Use slab cache for oz_urb_link allocation Use a slab cache rather than rolling our own free list. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a9686e786896297f9f1d74a2cac4ffccc7b3e50e Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:52 2014 +0200 staging: ozwpan: Simplify app interface Simplify the somewhat overcomplicated application interface; improves readability and saves a bunch of lines. Use designated struct initializers for clarity. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Reviewed-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a7ae725c9295d9076c889bbb75f83cd8e053bfb6 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:51 2014 +0200 staging: ozwpan: Remove dead code No need to return a value from elt_buf_init(). Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 4abc48d140e75bb07143287f3be3fa858b8e10f5 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:50 2014 +0200 staging: ozwpan: Remove redundant initialization Member 'ops' has already been initialized by calling cdev_init(). Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3f8fd6d85fa9b826282043b9a67604eff8725033 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:49 2014 +0200 staging: ozwpan: Remove unused OZ_MAX_TIMER_POOL_SIZE OZ_MAX_TIMER_POOL_SIZE is not used anywhere; remove it. Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c24dd2e2cdd22ce7ae2c54a15ee585689d611e3e Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:48 2014 +0200 staging: ozwpan: Fix typo in typedef Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9fca4f70edbdf7052458b21545d860637c41f863 Author: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Date: Mon Aug 4 14:54:47 2014 +0200 staging: ozwpan: Add module parameter description Signed-off-by: Christoph Jaeger <email@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5a3101884571e6a1aaf307620178f7532f3284ad Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Sun Aug 3 17:20:49 2014 -0700 staging: nokia_h4p: fix %d confusingly prefixed with 0x in format string Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 967544a65cf5d70b2d2ff069349eeca0cbf9e0b1 Author: Hans Wennborg <hans@xxxxxxxxxx> Date: Sun Aug 3 17:21:06 2014 -0700 staging: rtl8821ae: fix %d confusingly prefixed with 0x in format strings Signed-off-by: Hans Wennborg <hans@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 714340db24b8b34dd9befc87db0e8c51040a4a7f Author: Benedict Boerger <benedict.boerger@xxxxxxxxxxxxxxxxx> Date: Fri Aug 8 18:26:22 2014 +0200 drivers: staging: lustre: fix sparse warnings / delete unused function drivers: staging: lustre: fix sparse warning: symbol XYZ was not declared. Should it be static? This was done by declaring them static. This could be done because the functions were used only in this file. Deleted the function lnet_print_text_bufs because it were unused. Compiled without an error. Done to complete a eudyptula task. Signed-off-by: Benedict Boerger <benedict.boerger@xxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ca4e82966635d0b43cf668db036c0b9e9cc67b7c Author: Tom Wales <twales518@xxxxxxxxx> Date: Sun Aug 3 20:41:44 2014 +0100 Staging: lustre: checkpatch: remove blank spaces Remove spaces between the function names and open paranthesis and use the kernel coding style. Signed-off-by: Tom Wales <twales518@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 742728f97a99b9125dfeea37744f27ab72d74e9d Author: Fernando Apesteguia <fernando.apesteguia@xxxxxxxxx> Date: Tue Aug 5 21:10:19 2014 +0200 staging: rtl8192u: remove unused function. Remove ComputeTxTime since it is not used. Signed-off-by: Fernando Apesteguia <fernando.apesteguia@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 0e107b9f3979fdeef3b5366c24317d0c3a5bf490 Author: Adrian Remonda <adrianremonda@xxxxxxxxx> Date: Tue Aug 5 00:30:17 2014 +0200 Staging: rtl8188eu: Missing a blank line after declarations. This is a patch to the rtl8188e_xmit.c file that fixes up a missing blank line warning found by the checkpatch.pl tool. Signed-off-by: Adrian Remonda <adrianremonda@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cb418e57d5d65ac8f46b635ff9bce08377826d18 Author: Joe Perches <joe@xxxxxxxxxxx> Date: Sun Aug 3 15:57:26 2014 -0700 staging: rtl8192ee: Fix RT_TRACE #define and uses RT_TRACE uses require unnecessary parentheses. Fix the #define and remove the uses. Neaten the RT_TRACE lines and multi-line argument wrapping. dynamic debug can add KBUILD_MODNAME and __func__ so remove those from the #define. Use a single statement pr_debug instead of pr_debug and pr_cont which doesn't support dynamic debug anyway. Miscellaneous grammar and spelling fixes on the RT_TRACE uses. Compile tested only. Signed-off-by: Joe Perches <joe@xxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 63d29d5160645260619e6a4359de2a89b41dc263 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:43 2014 +0200 staging: rtl8192u: remove misc. unused defines Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1572f632035194cfb2bf18a50d356faed676aa67 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:42 2014 +0200 staging: rtl8192u: remove unused define LOOP_TEST Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a49332ebce02239084dd8c0e83821430b0008152 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:41 2014 +0200 staging: rtl8192u: remove unused define USB_RX_AGGREGATION_SUPPORT Also remove related unreachable code. Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e3e289658a72075221d01a693c1f76727d67e058 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:40 2014 +0200 staging: rtl8192u: remove unused define USB_TX_DRIVER_AGGREGATION_ENABLE Also remove the unreachable code. Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 24de874861267a401815ef955a1112177f79da94 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:39 2014 +0200 staging: rtl8192u: remove define always set USE_ONE_PIPE Also remove the code previously under #ifndef USE_ONE_PIPE. Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2709273e63870721bd0587cdd07000d9619f515 Author: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Date: Tue Jun 24 20:41:38 2014 +0200 staging: rtl8192u: remove unused define DEBUG_EPROM Also remove the code now unreachable. Signed-off-by: Antoine Schweitzer-Chaput <antoine@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a03bb00e50ab4c07107da58a52a0bff7943f360c Author: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Date: Thu Aug 7 09:10:25 2014 +0200 staging: comedi: add NI USB-6501 support Enable support for the National Instruments USB-6501 module. The NI USB-6501 is a Full-Speed USB 2.0 (12 Mbit/s) device that provides 24 digital I/O lines channels and one 32-bit counter. This is a preliminary version: GPIO: works counter: doesn't work Signed-off-by: Luca Ellero <luca.ellero@xxxxxxxxxxxxxxxx> Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9254c8412a4d8286007089f70050ff578f5995eb Author: Niklas Svensson <nks@xxxxxxxxxxx> Date: Wed Aug 6 19:55:10 2014 +0200 staging: comedi: fixing coding style problems This patch fixes warnings of checkpatch.pl script: CHECK:UNNECESSARY_PARENTHESES: Unnecessary parentheses around devpriv->timer + init_timer(&(devpriv->timer)); CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis + dev_info(dev->class_dev, + "%s: %i microvolt, %li microsecond waveform attached\n", Task of Eudyptula challenge. Signed-off-by: Niklas Svensson <nks@xxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit acb165135dcf48875e44fe323aa63653785bf01c Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:07:04 2014 -0700 staging: comedi: amplc_dio200: remove unnecessary local variable The local variable 'irq' is not necessary in dio200_attach(). Just pass the it->options[1] value directly. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 9e1e2739ef967a3cb60ee73cb70dfdcb0515c8d3 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:07:03 2014 -0700 staging: comedi: amplc_dio200.h: remove 'mainsize' from boardinfo This member of the boardinfo is not used by the drivers. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e2dfb515764dcaf156bd06af998842afe19bd337 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:07:02 2014 -0700 staging: comedi: amplc_dio200_pci: remove 'mainsize' from PCI boardinfo The 'mainsize' member in the boardinfo for the DIO200 PCI boards is only used for a sanity check of the pci_resource_len(). This sanity check is not needed. Remove the sanity check along with the 'mainsize' values in the boardinfo. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit cf200de92ffd97ee46f6affeb8240448319af8ae Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:07:01 2014 -0700 staging: comedi: amplc_dio200: remove 'mainsize' from ISA boardinfo All the ISA DIO200 boards have an i/o region size of 0x20 (DIO200_IO_SIZE). Remove the boardinfo and open code the size in the comedi_request_region() call. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7560e527534570199382ac72278301e9ac82920e Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:07:00 2014 -0700 staging: comedi: amplc_dio200: remove 'bustype' from boardinfo This member of the boardinfo is not used by the driver. Remove it. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 76212bf32b92a62d7057159498b7d9475d7bf295 Author: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Date: Fri Aug 1 13:06:59 2014 -0700 staging: comedi: amplc_dio200: remove private data The private data in this driver only has one member, 'intr_sd', which is the index to the interrupt subdevice. This member is initialized during the attach of the driver when the sd_intr subdevice is detected in the boadinfo 'layout'. The member is then used in the interrupt handler to get the pointer to the subdevice. This member is not necessary. The comedi_device 'read_subdev' is also initialized during the attach. This can be used in the interrupt handler to get the subdevice pointer. Refactor the code to not require the private data and remove the struct and its allocations. Signed-off-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Reviewed-by: Ian Abbott <abbotti@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe10bdbda634597b4853cd45bc655e1bc8f3d89e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:55 2014 +0100 staging: comedi: amplc_pci224: no need to comedi_set_hw_dev() here The comedi core module calls `comedi_set_hw_dev()` to associate the hardware `struct device` with the `struct comedi_device` before it calls the comedi driver's "auto_attach" hook `pci224_auto_attach()`. There is no need for `pci224_auto_attach()` to call `comedi_set_hw_dev()` itself, so remove the call. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fd2bb912e17aee18713504d157bceff7f41fad1e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:54 2014 +0100 staging: comedi: amplc_pci224: absorb pci224_attach_common() `pci224_attach_common()` is now only called from `pci225_auto_attach()`, so absorb it into that function. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit dce75412aa80d0e569d09cc5ef296b52d4c71126 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:53 2014 +0100 staging: comedi: amplc_pci224: remove PCI_DEVICE_ID_... macros The macros `PCI_DEVICE_ID_AMPLICON_PCI224` and `PCI_DEVICE_ID_AMPLICON_PCI234` are only used in the PCI module device table `amplc_pci224_pci_table[]`. Just expand the macros where they are used and remove them. The macro `PCI_DEVICE_ID_INVALID` is no longer used either, so remove it. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 930771fb905be0e1c09a2fe84c17b578d7a0fdd6 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Mon Aug 4 12:14:28 2014 +0100 staging: comedi: amplc_pci224: put board indices in PCI driver_data The `driver_data` member value from the matched entry of the PCI module device table `amplc_pci224_pci_table[]` is passed through to our comedi "auto_attach" handler, `pci224_auto_attach()`. Use that to index directly into our static board data array `pci224_boards[]` instead of calling `pci224_find_pci_board()` to search for the entry matching the PCI device ID. That function can be removed. The `devid` and `model` members of `struct pci224_board` are no longer needed either and can be removed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 176835357e7d468987d6ce3663241fac7677b83e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:51 2014 +0100 staging: comedi: amplc_pci224: no need to manipulate PCI ref count This driver no longer supports a "legacy" attach mechanism that searches for a suitable PCI device and increments it's reference count, but since the common "detach" handler `pci224_detach()` still has a left-over `pci_dev_put()`, a matching `pci_dev_get()` is needed in the "auto_attach" handler `pci224_auto_attach()`. There is no longer any reason to "get" and "put" the PCI device, so those calls can be removed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7b2809efb16e4a975666b9b14f3e37edd4b39ad2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:50 2014 +0100 staging: comedi: amplc_pci224: remove "legacy" attach mechanism Since the driver no longer supports options in its "legacy" attach mechanism to describe the jumper settings (or any options beyond restricting a PCI search to a particular bus and/or slot), there is no need to retain this mechanism in the driver. Remove the comedi driver "attach" handler `pci224_attach()`, and the now unused `pci224_find_pci_dev()`. Also, remove the "wildcard" entry from the board table `pci224_boards[]` as it is no longer needed. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit c7929e7133daead1b055b4dfceeed5f63ead28ae Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:49 2014 +0100 staging: comedi: amplc_pci224: remove options to select output ranges When attaching a PCI224 or PCI234 manually via the `COMEDI_DEVCONFIG` ioctl, there are several options the user can supply that describe the state of the hardware jumpers (LK1 for PCI224, LK1 thru LK5 for PCI234). These options control how the driver sets up the AO range tables for the device. Those options are useless when the board is attached automatically via the PCI driver probe function `amplc_pci225_pci_probe()`, `comedi_pci_auto_config()`, and the comedi driver "auto_attach" handler `pci224_auto_attach()`. Rip out the range table selection options and use a single, static range table per board type, containing all the software- and hardware-selectable ranges for that board. The PCI234 used to have a per-channel `range_table_list` rather than an all-channel `range_table`, as the jumpers selected different ranges for all channels. Now that the channels are using a unified range table, use an all-channel `range_table` instead. When checking the channel list for an asynchronous command in `pci224_ao_check_chanlist()` make sure the ranges specified in the list have compatible jumper settings. We don't know how the jumpers are actually set, but we can at least avoid conflicting settings. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 74f6084336fa651e6e063f50c2cbaa62c3e831be Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:48 2014 +0100 staging: comedi: amplc_pci224: no need for '&function' Remove the "address-of" operator when the operand is a function. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 56eb5cbc5894b206ef9d4b5d3bcc2e1b232e8c22 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:47 2014 +0100 staging: comedi: amplc_pci224: reduce leading whitespace in a few places Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e038756110401b6bca6b1091cbcb668fe2741756 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:46 2014 +0100 staging: comedi: amplc_pci224: remove some unnecessary parentheses Remove some pairs of parentheses that don't really improve readability. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fe3cda6d39bba3368ed9823f78bbd145e3a1416e Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:45 2014 +0100 staging: comedi: amplc_pci224: omit '!= 0' from logical expressions Since anything non-zero is logically "true", don't bother doing "not-equal" comparisons with zero, except when testing for an explicit number 0 (not as a result of bit tests for example). Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit bf6002d898630cc3042f5f727f2ebf0ec4ebabb0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:44 2014 +0100 staging: comedi: amplc_pci224: set a more descriptive MODULE_DESCRIPTION() Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 5b18dc660a4e8b3a60d3f2696625b87af40b4d81 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:43 2014 +0100 staging: comedi: amplc_pci224: add whitespace to pci224_boards[] Add a bit of whitespace to the initializer of `pci224_boards[]` for aesthetic reasons. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 71e70e9f6daea58bb5ef03d17ba26c630fcac1d2 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:42 2014 +0100 staging: comedi: amplc_pci224: fix spinlock_t definition without comment Fix checkpatch issue: "CHECK: spinlock_t definition without comment". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ab2064a5cbd732f5228c718cb7f1afd72ea180da Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:41 2014 +0100 staging: comedi: amplc_pci224: multiple assignments should be avoided Fix checkpatch issue: "CHECK: multiple assignments should be avoided". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit d0f2c953b692a81acafcb71f35b7cff578099de0 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:40 2014 +0100 staging: comedi: amplc_pci224: blank lines aren't necessary before a close brace '}' Fix checkpatch issues: "CHECK: Blank lines aren't necessary before a close brace '}'". Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 7c40bd48dbae93e7bd8369d8326f8850eff98f73 Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:39 2014 +0100 staging: comedi: amplc_pci224: fix checkpatch line over 80 characters Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 53bd9a204816a3513c5fa3c6170fe33100bb3f4d Author: Ian Abbott <abbotti@xxxxxxxxx> Date: Thu Jul 31 14:47:38 2014 +0100 staging: comedi: amplc_pci224: reformat some comments Reformat comments to fit in with the preferred coding style, including the copyright and comedi driver description comments at the start of the file. Also, remove a boiler-plate comment for the comedi device private data structure. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> Reviewed-by: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1566ac0bc919187bb605403f072fd3ebc58b00a0 Author: Tobenna P. Igwe <ptigwe@xxxxxxxxx> Date: Wed Aug 6 19:59:42 2014 +0100 staging: unisys: uislib: Fixed missing blank line coding style issue Fixed coding style issue "Missing a blank line after declarations" detected by the 'checkpatch.pl' script. Signed-off-by: Tobenna P. Igwe <ptigwe@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 11c4eba1ad4174512c8b8a682c3d41f97d286611 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:54 2014 -0400 staging: unisys: fix spacing in vbusdeviceinfo.h There was a missing line between declarations and code in vbusdeviceinfo.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit ffe58457492be4bea21d38abf4b84ad3e11abfff Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:53 2014 -0400 staging: unisys: clean up vmcall functions Clean up the format of the vmcall functions in iovmcall_gnuc.h. These functions are rewritten for clarity and to correct the indention, without changing any functionality. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3c1a653b90d7b3a681a7e49feef32e3e290b36f0 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:52 2014 -0400 staging: unisys: fix spacing in iovmcall_gnuc.h There are spacing errors in the functions in iovmcall_gnuc. Fix these. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3239c1cc156a1acaaccdf79dc2a9601798dbd109 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:51 2014 -0400 staging: unisys: fix line lengths in controlvmcompletionstatus.h The controlVM status file had comments going over the 80 character limit. These are moved to the next line and the spacing is fixed. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 613cbd9f0048d8220533b98f0924cee07546f240 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:50 2014 -0400 staging: unisys: fix whitespace in uisutils.h Correct a couple of missing blank lines in uisutils.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 746c28e1af51cc6e7c7c6f7bc7d502f6986713a2 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:49 2014 -0400 staging: unisys: get rid of uiscmpxchg64 Remove the uiscmpxchg64 macro from uisqueue.h and uisqueue.c. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 52d13a618aa9b84b8ed8b761ca76cec51701afde Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:48 2014 -0400 staging: unisys: remove unused macros from timskmod.h Several macros in timskmod.h are unused. Remove them. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f2170625b24f6224eec64f591b9360025ccae16f Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:47 2014 -0400 staging: unisys: get rid of semaphore macros Remove all of the semaphore macros from timskmod.h and switch all uses of those types to the correct function names. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e5700df5238577e4e570d08a8ee1aa126731dae7 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:46 2014 -0400 staging: unisys: fix formatting in timskmod.h Fix all whitespace formatting issues in timskmod.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit fb75fc5c0b461a971ea82b169e65fb4d07b5fa01 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Tue Aug 5 14:57:45 2014 -0400 staging: unisys: get rid of unused VMMIO types Delete the unused common VMMIO types in timskmod.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 1d2def986df26bc8ad96e4a824e149dd5fc0e054 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:43 2014 -0400 staging: unisys: remove commontypes.h Delete commontypes.h, and replace all of the places that #included it with correct #includes for the types used in that file. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 15fe5f2ceddc8b3fa3750ca54dacb950606cf8d5 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:42 2014 -0400 staging: unisys: move remaining macros from commontypes.h to channel.h All of the remaining macros in commontypes.h - the CHANNEL_*_MISMATCH macros and UltraLogEvent() - are used only in channel.h. Move the entire set of them to their new home. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e4701ae2cfe5dc45a320a647b498fd9f2527b35 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:41 2014 -0400 staging: unisys: remove OFFSETOF from commontypes The only place OFFSETOF was being used was in iochannel.h. Remove the macro from commontypes.h and replace all uses of it in iochannel.h with offsetof() instead. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit af96e9c058ff620b78292945e24a9d044b0d6f97 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:40 2014 -0400 staging: unisys: remove GUEST_PHYSICAL_ADDRESS from commontypes.h The typedef for GUEST_PHYSICAL address is only used in two files, so remove it from commontypes.h and add it to visorchipset/file.c and controlvmchannel.h. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2046fcca74148b627577c6324c811c7e894fa45d Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:39 2014 -0400 staging: unisys: remove INLINE define from commontypes There was a macro for INLINE. Delete it and fix the one occurrance of it to just use 'inline' instead, though that function looks awfully big for an inline... Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit e87cfde4a1e93aa0f0efc5ad7955500c2246f29b Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:38 2014 -0400 staging: unisys: remove MEMORYBARRIER AND VolatileBarrier from commontypes Remove the MEMORYBARRIER and VolatileBarrier() defines from commontypes.h and convert the spots that used this to mb(). Add comments to each use to indicate that the barrier is used to ensure channel synchronization between guests. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2e20c4a7c8179d3216eaf03c3c8fa8badfb35290 Author: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Date: Sat Aug 2 22:03:37 2014 -0400 staging: unisys: remove MEMCPY functions from commontypes.h This patch removes MEMCPY, MEMCPY_FROMIO, and MEMCPY_TOIO from commontypes.h, and switches all use of these macros to the appropriate built in definition. Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 6c66843dabbc2cb75832c7ebcaade9038d16702f Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:39:29 2014 +0900 staging: dgap: cleanup print messages for dgap driver * use dev_{warn,err} instead of pr_{warn,err} * removes dgap_err() and just use pr_err(). pr_err() used in dgap_parsefile() not dev_err() because if dgap_parsefile() is failed, just one message is printed. * removes "out of memory" messages. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 3cfa648b124ccbf5bc6aea92beef8ed35a06f1ed Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:39:05 2014 +0900 staging: dgap: Simplify to set a module type It is same manner with setting a board type. After allocating a type of "MNODE", get a token value set to "module.type". Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit f6aa0164cd3b1c5192e87f5651ec382c3bc3abac Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:38:41 2014 +0900 staging: dgap: Simplify to set a concentrator type It is same manner with setting a board type. For example of config file for concentrator, "conc ccon" or "conc epcon" After allocating a type of "CNODE" then set a type of concentrator. So remove cases in swith statement, just get a token from string and set to "conc.type". And also it doesn't need to "conc.v_type". Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 77a4492fcc5696efd667cf698cb806ae846ea163 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:38:14 2014 +0900 staging: dgap: Simplify set a board type from configration file Board types need to separate normal command like IO, MEM and so on. And the board type will come after "board" string in config file normally. (If it is not, dgap_gettok returns an error with zero) After that, set a variable of a number which is matched with specific a board number to "board.type". The dgap_gettok() returns that number so just set to "board.type" and also "v_type" can be removed. In case of boards of PCI type are set variables to zero. These can be removed because "p" as cnode get memory from kzalloc so already set to zero. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 35edf11bed147a8fe1df529035ccb551d671916d Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:37:39 2014 +0900 staging: dgap: cleanup duplicated warning message on dgap_tty_init() If true_count is not same with brd->nasync, warning messages are printed. But it has duplicated messages within if statement. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 274d8b35f88079870f1691413be7ce4341d9f87b Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:37:11 2014 +0900 staging: dgap: remove redundant declarations. These are already defined in dgap.h. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 83d24f82293eaa32f0f5679c743d9168cd74cad8 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Sat Aug 9 14:36:44 2014 +0900 staging: dgap: remove useless variable dgap_major_serial_registered and dgap_major_transparent_print_registered could be checked whether a board is initialized. But it doesn't need to check that variables becasue dgap module isn't calling the dgap_cleanup_tty() without initializing for a board completely. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 99a643b8aebb91d1dba8dff6c0e416dfd1140b07 Author: Daeseok Youn <daeseok.youn@xxxxxxxxx> Date: Thu Jul 31 13:02:30 2014 +0900 staging: dgap: introduce dgap_cleanup_nodes() When a configration file is parsed with dgap_parsefile(), makes nodes for saving configrations for board. Making a node will allocate node memory and strings for saving configrations with kstrdup(). So these are freed when dgap is unloaded or failed to initialize. Signed-off-by: Daeseok Youn <daeseok.youn@xxxxxxxxx> Tested-by: Mark Hounschell <markh@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 2eb61f38821979dd3d065a8bbb72dc9f6306f005 Author: Martin Berglund <martin@xxxxxxxxxx> Date: Sat Aug 9 01:26:45 2014 +0200 staging: vt6655: iowpa.h: Fix sparse warnings This resolves a sparse address space warning in wpactl.c Signed-off-by: Martin Berglund <martin@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit a5b4e003253a496a7414003c034ff51a365258d4 Author: Yee Chin, Chiam <phathetique@xxxxxxxxx> Date: Wed Aug 6 17:47:34 2014 -0400 Staging: android: sw_sync.c: Fixed coding style issue. Fixed coding style issue where blank line is missing after declaration. Signed-off-by: Yee Chin, Chiam <phathetique@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> commit 515d9b2c03943ca904cd135e1b1d9ddd168c1b27 Author: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Date: Tue Aug 12 18:22:27 2014 +0200 ata: remove deprecated struct ahci_platform_data The last user of the deprecated struct ahci_platform_data has been cleaned up recently (SPEAr1340 got a proper PHY driver). Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@xxxxxxxxxxx> Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx> commit 759e612bf96627b64fcafe4174b3f6f2dedf2c0d Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:55 2014 +0000 perf stat: Use strerror_r instead of strerror Use strerror_r instead of strerror in error message for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022255.3545.81549.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ede395d27c60c06a2173e7a9c0f4a929a1fef73e Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:53 2014 +0000 perf help: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022253.3545.82136.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f9f33fdba159a9c163ecf1dc0106ebd4c2498130 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:51 2014 +0000 perf kvm: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022251.3545.83718.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 340481ada1af9322d99e9c1ba874391f53ff4fce Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:49 2014 +0000 perf buildid-cache: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022249.3545.53211.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fb74fbda42dc5bcbd9bae5d75bfb6755948db21d Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:47 2014 +0000 perf sched: Use strerror_r instead of strerror Use strerror_r instead of strerror in error message for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022247.3545.4564.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ba3dfff8ad2d98df0c8116faaeb281c93e161636 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:45 2014 +0000 perf test: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022245.3545.91394.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 35550da389ba8752f024a44ef14b74001c4fc4d3 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:43 2014 +0000 perf record: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022243.3545.7411.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 942a91ed3ffff0267944ed3161ae292d0960fd44 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:41 2014 +0000 perf trace: Use strerror_r instead of strerror Use strerror_r instead of strerror in error message for thead-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022241.3545.97543.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 809adea685f7dbc9bdcc38b27d24801c461d8413 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:38 2014 +0000 perf top: Use strerror_r instead of strerror Use strerror_r instead of strerror in error message for thread-safety. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022238.3545.15569.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6e81c74cbf4b64620170da14844f1dc8a9a5950f Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:36 2014 +0000 perf util: Replace strerror with strerror_r for thread-safety Replaces all strerror with strerror_r in util for making the perf lib thread-safe. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022236.3545.3367.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5f03cba41590b5e7db5b66d2b2aa3e146ff8a84f Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:34 2014 +0000 perf probe: Make error messages thread-safe To make error messages thread-safe, this replaces strerror with strerror_r for warnings, and just shows the return value instead of using strerror for debug messages. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022234.3545.22199.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b2348e1d8a67c58de44820587fabc4f987eafbb6 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:32 2014 +0000 perf: Use strerror_r instead of strerror Use strerror_r instead of strerror in error messages for thread-safety. This also introduce STRERR_BUFSIZE macro for the default size of message buffer for strerror_r. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022232.3545.14026.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6eb08660962a91212902869672dab5199827cbfd Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Thu Aug 14 02:22:30 2014 +0000 perf probe: Don't use strerror if strlist__add failed Since the strlist__add doesn't involves any IO, the failure reason must be ENOMEM or EINVAL, moreover this is just a debug message, we don't need to show the error string. And also, if get_probe_trace_command_rawlist() returns NULL, it doesn't mean the rawlist is empty, there is an error. So caller must use -ENOMEM for the error. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814022230.3545.99254.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e8232f1ad4682c34e7e774c212ccd0c15bb5aa26 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Aug 14 15:01:38 2014 +0900 perf report: Relax -g option parsing not to limit the option order Current perf report -g/--call-graph option parser requires for option argument having following order: type,min_percent[,print_limit],order,key But sometimes it's annoying to type all even if one just wants to change the "order" or "key" setting. This patch fixes it to remove the ordering restriction so that one can use just "-g caller", for instance. The only remaining restriction is that the "print_limit" always comes after the "min_percent". Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Arun Sharma <asharma@xxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Rodrigo Campos <rodrigo@xxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407996100-6359-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 885b5930d6632fc7df55445d9021b87d8bb17a9b Author: Cody P Schafer <dev@xxxxxxxxxx> Date: Fri Aug 15 00:26:14 2014 -0700 perf tools: Annotate PMU related list_head members with type info So that we can more readily understand in which list heads structs are stored into. Signed-off-by: Cody P Schafer <cody@xxxxxxxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Anshuman Khandual <khandual@xxxxxxxxxxxxxxxxxx> Cc: Cody P Schafer <dev@xxxxxxxxxx> Cc: Haren Myneni <hbabu@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Michael Ellerman <michaele@xxxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1408087583-32239-6-git-send-email-sukadev@xxxxxxxxxxxxxxxxxx Signed-off-by: Sukadev Bhattiprolu <sukadev@xxxxxxxxxxxxxxxxxx> Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c4d2df495c5bf05661772abf9b88f2696fd810c4 Author: Elliott Hughes <enh@xxxxxxxxxx> Date: Thu Aug 14 12:39:20 2014 -0700 perf tools: Add arm64 triplets Adds the triplet used for arm64 by Android. Others will want to add their own later. Signed-off-by: Elliott Hughes <enh@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140814193920.A7D2D20572@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1e2bb043f171084e5f34816a4268304512d35a46 Author: Alex Converse <aconverse@xxxxxxxxxx> Date: Thu Aug 14 14:03:00 2014 -0700 perf annotate: Don't truncate Intel style addresses Instructions like "mov r9,QWORD PTR [rdx+0x8]" were being truncated to "mov r9,QWORD" by code that assuemd operands cannot have spaces. Signed-off-by: Alex Converse <aconverse@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1408050180-14088-1-git-send-email-aconverse@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 92561cb7883194714475c7a7775a11a9c40f75cb Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Fri Aug 15 01:44:32 2014 +0000 perf probe: Warn user to rebuild target with debuginfo Warn user to rebuild target with debuginfo when the perf probe fails to find debug information in the target binary. Without this, perf probe just reports the failure, but it's no hint for users. This gives more hint for users. Without this: $ strip perf $ ./perf probe -x perf -L argv_split Failed to open debuginfo file. Error: Failed to show lines. With this: $ strip perf $ ./perf probe -x perf -L argv_split The /home/fedora/ksrc/linux-3/tools/perf/perf file has no debug information. Rebuild with -g, or install an appropriate debuginfo package. Error: Failed to show lines. The "rebuild with ..." part changes to "rebuild with CONFIG_DEBUG_INFO" if the target is the kernel or a kernel module. Suggested-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Brendan Gregg <brendan.d.gregg@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: yrl.pp-manager.tt@xxxxxxxxxxx Link: http://lkml.kernel.org/r/20140815014432.29869.57941.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 53b954ee4a71e782d7dfcdeee5bf4695caeeb112 Author: Eliad Peller <eliad@xxxxxxxxxx> Date: Thu Jul 24 11:20:05 2014 +0300 mac80211: disable 40MHz support in case of 20MHz AP If the AP only advertises support for 20MHz (in the ht operation ie), disable 40MHz and VHT. This can improve interoperability with APs that don't like stations exceeding their own advertised capabilities. Signed-off-by: Eliad Peller <eliadx.peller@xxxxxxxxx> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@xxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit a74a8c846fb699f3277c0c21278bd4c414074b4a Author: Johannes Berg <johannes.berg@xxxxxxxxx> Date: Tue Jul 22 14:50:47 2014 +0200 mac80211: don't duplicate station QoS capability data We currently track the QoS capability twice: for all peer stations in the WLAN_STA_WME flag, and for any clients associated to an AP interface separately for drivers in the sta->sta.wme field. Remove the WLAN_STA_WME flag and track the capability only in the driver-visible field, getting rid of the limitation that the field is only valid in AP mode. Reviewed-by: Arik Nemtsov <arik@xxxxxxxxxx> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx> commit 4ed91096881449012b14b1e879f40b4a37533e0e Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Aug 8 20:27:01 2014 +0200 drm/i915: Track cursor changes as frontbuffer tracking flushes We treat other plane updates in the same fashion. Spotted because Rodrigo kept reporting a bug in the PSR code where the frontbuffer was eternally stuck with a dirty cursor bit set. The psr testcase should have caught this, but that i-g-t is kaputt. Rodrigo is signed up to fix that. Cc: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Tested-by-and-Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f1ad5a1fd4127b3a5e21b8f5ef7f1921a5d3063e Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:41 2014 +0100 drm/i915/bdw: Help out the ctx switch interrupt handler If we receive a storm of requests for the same context (see gem_storedw_loop_*) we might end up iterating over too many elements in interrupt time, looking for contexts to squash together. Instead, share the burden by giving more intelligence to the queue function. At most, the interrupt will iterate over three elements. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e1fee72c2ea2e9c0c6e6743d32a6832f21337d6c Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:40 2014 +0100 drm/i915/bdw: Avoid non-lite-restore preemptions In the current Execlists feeding mechanism, full preemption is not supported yet: only lite-restores are allowed (this is: the GPU simply samples a new tail pointer for the context currently in execution). But we have identified an scenario in which a full preemption occurs: 1) We submit two contexts for execution (A & B). 2) The GPU finishes with the first one (A), switches to the second one (B) and informs us. 3) We submit B again (hoping to cause a lite restore) together with C, but in the time we spend writing to the ELSP, the GPU finishes B. 4) The GPU start executing B again (since we told it so). 5) We receive a B finished interrupt and, mistakenly, we submit C (again) and D, causing a full preemption of B. The race is avoided by keeping track of how many times a context has been submitted to the hardware and by better discriminating the received context switch interrupts: in the example, when we have submitted B twice, we won´t submit C and D as soon as we receive the notification that B is completed because we were expecting to get a LITE_RESTORE and we didn´t, so we know a second completion will be received shortly. Without this explicit checking, somehow, the batch buffer execution order gets messed with. This can be verified with the IGT test I sent together with the series. I don´t know the exact mechanism by which the pre-emption messes with the execution order but, since other people is working on the Scheduler + Preemption on Execlists, I didn´t try to fix it. In these series, only Lite Restores are supported (other kind of preemptions WARN). v2: elsp_submitted belongs in the new intel_ctx_submit_request. Several rebase changes. v3: Clarify how the race is avoided, as requested by Daniel. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Align function parameters ...] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e981e7b17f2b41970e7e2367d4225e0bb3310667 Author: Thomas Daniel <thomas.daniel@xxxxxxxxx> Date: Thu Jul 24 17:04:39 2014 +0100 drm/i915/bdw: Handle context switch events Handle all context status events in the context status buffer on every context switch interrupt. We only remove work from the execlist queue after a context status buffer reports that it has completed and we only attempt to schedule new contexts on interrupt when a previously submitted context completes (unless no contexts are queued, which means the GPU is free). We canot call intel_runtime_pm_get() in an interrupt (or with a spinlock grabbed, FWIW), because it might sleep, which is not a nice thing to do. Instead, do the runtime_pm get/put together with the create/destroy request, and handle the forcewake get/put directly. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> v2: Unreferencing the context when we are freeing the request might free the backing bo, which requires the struct_mutex to be grabbed, so defer unreferencing and freeing to a bottom half. v3: - Ack the interrupt inmediately, before trying to handle it (fix for missing interrupts by Bob Beckett <robert.beckett@xxxxxxxxx>). - Update the Context Status Buffer Read Pointer, just in case (spotted by Damien Lespiau). v4: New namespace and multiple rebase changes. v5: Squash with "drm/i915/bdw: Do not call intel_runtime_pm_get() in an interrupt", as suggested by Daniel. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch ...] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit acdd884a2e1b873995c120d5eabd8cab77f48f20 Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Thu Jul 24 17:04:38 2014 +0100 drm/i915/bdw: Two-stage execlist submit process Context switch (and execlist submission) should happen only when other contexts are not active, otherwise pre-emption occurs. To assure this, we place context switch requests in a queue and those request are later consumed when the right context switch interrupt is received (still TODO). v2: Use a spinlock, do not remove the requests on unqueue (wait for context switch completion). Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> v3: Several rebases and code changes. Use unique ID. v4: - Move the queue/lock init to the late ring initialization. - Damien's kmalloc review comments: check return, use sizeof(*req), do not cast. v5: - Do not reuse drm_i915_gem_request. Instead, create our own. - New namespace. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v1) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> (v2-v5) Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [davnet: Checkpatch + wash-up s/BUG_ON/WARN_ON/.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ae1250b9da308acd16554365d125b4afb795b825 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:37 2014 +0100 drm/i915/bdw: Write the tail pointer, LRC style Each logical ring context has the tail pointer in the context object, so update it before submission. v2: New namespace. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 84b790f80e5153d8d54074aa4eae49ff3070f2f1 Author: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Date: Thu Jul 24 17:04:36 2014 +0100 drm/i915/bdw: Implement context switching (somewhat) A context switch occurs by submitting a context descriptor to the ExecList Submission Port. Given that we can now initialize a context, it's possible to begin implementing the context switch by creating the descriptor and submitting it to ELSP (actually two, since the ELSP has two ports). The context object must be mapped in the GGTT, which means it must exist in the 0-4GB graphics VA range. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> v2: This code has changed quite a lot in various rebases. Of particular importance is that now we use the globally unique Submission ID to send to the hardware. Also, context pages are now pinned unconditionally to GGTT, so there is no need to bind them. v3: Use LRCA[31:12] as hwCtxId[19:0]. This guarantees that the HW context ID we submit to the ELSP is globally unique and != 0 (Bspec requirements of the software use-only bits of the Context ID in the Context Descriptor Format) without the hassle of the previous submission Id construction. Also, re-add the ELSP porting read (it was dropped somewhere during the rebases). v4: - Squash with "drm/i915/bdw: Add forcewake lock around ELSP writes" (BSPEC says: "SW must set Force Wakeup bit to prevent GT from entering C6 while ELSP writes are in progress") as noted by Thomas Daniel (thomas.daniel@xxxxxxxxx). - Rename functions and use an execlists/intel_execlists_ namespace. - The BUG_ON only checked that the LRCA was <32 bits, but it didn't make sure that it was properly aligned. Spotted by Alistair Mcaulay <alistair.mcaulay@xxxxxxxxx>. v5: - Improved source code comments as suggested by Chris Wilson. - No need to abstract submit_ctx away, as pointed by Brad Volkin. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch. Sigh.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 48e29f5535b9eb506c44bd8f41bd9348fd219435 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:29 2014 +0100 drm/i915/bdw: Emission of requests with logical rings On a previous iteration of this patch, I created an Execlists version of __i915_add_request and asbtracted it away as a vfunc. Daniel Vetter wondered then why that was needed: "with the clean split in command submission I expect every function to know wether it'll submit to an lrc (everything in intel_lrc.c) or wether it'll submit to a legacy ring (existing code), so I don't see a need for an add_request vfunc." The honest, hairy truth is that this patch is the glue keeping the whole logical ring puzzle together: - i915_add_request is used by intel_ring_idle, which in turn is used by i915_gpu_idle, which in turn is used in several places inside the eviction and gtt codes. - Also, it is used by i915_gem_check_olr, which is littered all over i915_gem.c - ... If I were to duplicate all the code that directly or indirectly uses __i915_add_request, I'll end up creating a separate driver. To show the differences between the existing legacy version and the new Execlists one, this time I have special-cased __i915_add_request instead of adding an add_request vfunc. I hope this helps to untangle this Gordian knot. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Adjust to ringbuf->FIXME_lrc_ctx per the discussion with Thomas Daniel.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 14f476fa24e81d0beea1aa14d763102958518d60 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 8 19:15:20 2014 +0100 drm: Use the type of the array element when reallocating Static analysers find it 'suspicious', that we're trying to allocate memory for elements of size sizeof(struct drm_fb_helper_connector) when the array is defined as struct drm_fb_helper_connector **. Use sizeof(struct drm_fb_helper_connector *) instead. Note that the structure being defined as: struct drm_fb_helper_connector { struct drm_connector *connector; }; This was still doing the right thing, but may not in the future if additional fields are added. Cc: Todd Previte <tprevite@xxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c11cda52193dfa459dfea38f00b19bc9325fa922 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 8 18:50:18 2014 +0100 drm: Don't return 0 for a value used as a denominator Static analysis will be unhappy if a function can theoretically return 0 and we're trying to divide by that value. Mark that case that cannot occur as a BUG() instead. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 295ee85316aedfe1878306d71b5e9c7d4498fb1b Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 30 14:23:44 2014 +0200 drm: Docbook fixes Bunch of small leftovers spotted by looking at the make htmldocs output. I've left out dp mst, there's too much amiss there. v2: Also add the missing parameter docbook in the dp mst code - Dave Airlie correctly pointed out that we don't actually want kerneldoc for the missing structure members in header files. Cc: Dave Airlie <airlied@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 29db3cd372d1e75e2fadce5fd9961b7ef271061e Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Feb 8 23:11:00 2014 +0000 HID: hid-sensor-hub: use devm_ functions consistently Use devm_kzalloc for all calls to kzalloc and not just the first. Use devm functions for other allocations as well. The calls to free the allocated memory in the probe and remove functions are done away with and a label is removed in the probe function. The semantic match that finds the inconsistency is as follows: // <smpl> @@ @@ *devm_kzalloc(...) ... *kzalloc(...) // </smpl> Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Reviewed-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 582d67f0b19afc2299bc8977aba835d8d25bb591 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:16 2014 +0100 drm/i915: Add temporary ring->ctx backpointer The execlist patches have a bit a convoluted and long history and due to that have the actual submission still misplaced deeply burried in the low-level ringbuffer handling code. This design goes back to the legacy ringbuffer code with its tricky lazy request and simple work submissiion using ring tail writes. For that reason they need a ring->ctx backpointer. The goal is to unburry that code and move it up into a level where the full execlist context is available so that we can ditch this backpointer. Until that's done make it really obvious that there's work still to be done. Cc: Oscar Mateo <oscar.mateo@xxxxxxxxx> Cc: Thomas Daniel <thomas.daniel@xxxxxxxxx> Acked-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3a448734902359113b0c7c3454ce4cd56dc1e61f Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 20:05:47 2014 +0100 drm/i915: Print captured bo for all VM in error state The current error state harks back to the era of just a single VM. For full-ppgtt, we capture every bo on every VM. It behoves us to then print every bo for every VM, which we currently fail to do and so miss vital information in the error state. v2: Use the vma address rather than -1! Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 016970beb05da6285c2f3ed2bee1c676cb75972e Author: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Date: Wed Aug 13 23:07:06 2014 +0530 drm/i915: Sharing platform specific sequence between runtime and system suspend/ resume paths On VLV, post S0i3 during i915_drm_thaw following issue is observed during ring initialization. [ 335.604039] [drm:stop_ring] ERROR render ring :timed out trying to stop ring [ 336.607340] [drm:stop_ring] ERROR render ring :timed out trying to stop ring [ 336.607345] [drm:init_ring_common] ERROR failed to set render ring head to zero ctl 00000000 head 00000000 tail 00000000 start 00000000 [ 337.610645] [drm:stop_ring] ERROR bsd ring :timed out trying to stop ring [ 338.613952] [drm:stop_ring] ERROR bsd ring :timed out trying to stop ring [ 338.613956] [drm:init_ring_common] ERROR failed to set bsd ring head to zero ctl 00000000 head 00000000 tail 00000000 start 00000000 [ 339.617256] [drm:stop_ring] ERROR render ring :timed out trying to stop ring [ 339.617258] -----------[ cut here ]----------- [ 339.617267] WARNING: CPU: 0 PID: 6 at drivers/gpu/drm/i915/intel_ringbuffer.c:1666 intel_cleanup_ring+0xe6/0xf0() [ 339.617396] --[ end trace 5ef5ed1a3c92e2a6 ]-- [ 339.617428] [drm:__i915_drm_thaw] ERROR failed to re-initialize GPU, declaring wedged! This is happening since wake is not enabled and Gunit registers are not restored. For this system suspend/resume paths need to follow save/restore and additional platform specific setup in suspend_complete and resume_prepare. suspend_complete is shared unconditionaly for VLV, HSW, BDW. resume_prepare for HSW and BDW has pc8 disabling which is needed during thaw_early so sharing uncondtionally. For VLV and SNB runtime resume specific sequence exists. Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Goel, Akash <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ebc3282409ae4d1e90c2f9608665cc4d8fbf7e73 Author: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Date: Wed Aug 13 23:07:05 2014 +0530 drm/i915: Created common handler for platform specific suspend/resume With this change, intel_runtime_suspend and intel_runtime_resume functions become completely platform agnostic. Platform specific suspend/resume changes are moved to intel_suspend_complete and intel_resume_prepare. Cc: Imre Deak <imre.deak@xxxxxxxxx> Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Goel, Akash <akash.goel@xxxxxxxxx> Signed-off-by: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 804eef14790f8917f74945f82db8b55903f76af4 Author: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Date: Tue Aug 12 17:12:17 2014 +0200 ath10k: unregister spectral before mac If spectral is unregistered after mac80211, the relayfs file has already been removed recursively by mac/cfg80211, and spectral tries to remove the file once more, thus leading to double free problems. Better clean up spectral before to avoid that problem. Reported-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit beb4be849a92172b4b95185a19db1691e6223f22 Author: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Date: Tue Aug 12 11:45:59 2014 +0100 ath6kl: Add SDIO device ID for QCA6234X Support This patch adds device ID 402 to support QCA6234X found in APQ8064 SOC in IFC6410 board. Tested with mainline mmci sdio driver. Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit f2bc4d203edf2c5a6054134765ad5935454dc6ea Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Tue Aug 12 11:02:20 2014 +0300 ath10k: fix typo in error message tranmist -> transmit Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit a9aefb3b3761a55117c6d1a526ac0305c3be5f46 Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Tue Aug 12 11:02:19 2014 +0300 ath10k: improve vdev map handling Check vdev map has space before calling ffs, fix invalid cleanup in failure to create vdev case. Open-code the BIT() logic since BIT does not properly handle 64-bit bitfields and future patches will make use of larger bitfields. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 560cb12a4080a48b84da8b96878cafbd193c4d64 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 16:12:30 2014 +0200 locking,arch: Rewrite generic atomic support Rewrite generic atomic support to only require cmpxchg(), generate all other primitives from that. Furthermore reduce the endless repetition for all these primitives to a few CPP macros. This way we get more for less lines. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140508135852.940119622@xxxxxxxxxxxxx Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-arch@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d4608dd5b4ec13855680b89f719d8d4b2da92411 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 18:31:12 2014 +0100 locking,arch,xtensa: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-xtensa@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.879575796@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4f3316c2b5fe2062c26c9b66915b5a5c80c60a5c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 18:29:28 2014 +0100 locking,arch,sparc: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Kirill Tkhai <tkhai@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> Cc: sparclinux@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.825281379@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c6470150dff9aff682063890c9b8eac71b695def Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 18:12:45 2014 +0100 locking,arch,sh: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-sh@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.770036493@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit af095dd60bdc52b11c186c3151e8e38d6faa094c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 18:11:31 2014 +0100 locking,arch,powerpc: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. Requires asm_op because PPC asm is weird :-) Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Mahesh Salgaonkar <mahesh@xxxxxxxxxxxxxxxxxx> Cc: Paul Gortmaker <paul.gortmaker@xxxxxxxxxxxxx> Cc: linuxppc-dev@xxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.713980957@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 15e3f6d782fc6ff7e004b40642ad895b91ae78bf Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 18:04:44 2014 +0100 locking,arch,parisc: Fold atomic_ops OK, no LoC saved in this case because sub was defined in terms of add. Still do it because this also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: James E.J. Bottomley <jejb@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-parisc@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.659342353@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e69a0ef76627005e3e83d0e086e6bb1d247bb65b Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 17:59:04 2014 +0100 locking,arch,mn10300: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: David Howells <dhowells@xxxxxxxxxx> Cc: Koichi Yasutake <yasutake.koichi@xxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-am33-list@xxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.605324173@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ef31563e950c60bb41b97c2b61c32de874f3c949 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Mar 26 17:56:43 2014 +0100 locking,arch,mips: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Maciej W. Rozycki <macro@xxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx> Cc: linux-mips@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.521548500@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d6dfe2509da935a15583cace7cd3837b1e8addef Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 19:08:25 2014 +0100 locking,arch,metag: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: James Hogan <james.hogan@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-metag@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.453864110@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d839bae4269aea46bff4133066a411cfba5c7c46 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 19:06:34 2014 +0100 locking,arch,m68k: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Requires asm_op due to eor. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-m68k@xxxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140509091646.GO30445@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c9ebe21b204f95e3aba84ee91c8b9347d73806f1 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 19:02:22 2014 +0100 locking,arch,m32r: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hirokazu Takata <takata@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-m32r-ja@xxxxxxxxxxxxxxxxx Cc: linux-m32r@xxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.318635136@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 08be2dab191431f23f5f98ba2db76513d0d853e7 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 18:20:30 2014 +0100 locking,arch,ia64: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Akinobu Mita <akinobu.mita@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tony Luck <tony.luck@xxxxxxxxx> Cc: linux-ia64@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.245224472@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 50f853e38b0b90a5703ab14b70e20eb5a8ccd5de Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 18:20:26 2014 +0100 locking,arch,hexagon: Fold atomic_ops OK, no LoC saved in this case because the !return variants were defined in terms of the return ops. Still do it because this also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Richard Kuo <rkuo@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: linux-hexagon@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.171567636@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7179e30ef66a5bae91592ae7fbacf3df6c627dd6 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 18:19:25 2014 +0100 locking,arch,cris: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Jesper Nilsson <jesper.nilsson@xxxxxxxx> Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Mikael Starvik <starvik@xxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: linux-cris-kernel@xxxxxxxx Link: http://lkml.kernel.org/r/20140508135852.104572724@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit d325209b6000dcd13404ee946d2292e15a56718c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 9 21:51:29 2014 +0200 locking,arch,avr32: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Requires the asm_op because of eor. AVR32 is a bit special in that its ADD/SUB instructions are not symmetric. Its SUB instruction allows for an 21bit immediate. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Haavard Skinnemoen <hskinnemoen@xxxxxxxxx> Cc: Hans-Christian Egtvedt <egtvedt@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140531141445.GD16155@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 92ba1f530b4f90db78eb45f4b6598e75939146bd Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 16:57:20 2014 +0100 locking,arch,arm64: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Requires the asm_op due to eor. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: Chen Gang <gang.chen@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135851.995123148@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aee9a55452f0371258e18b41649ce650ff344090 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 16:38:18 2014 +0100 locking,arch,arm: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Requires the asm_op because of eor. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Will Deacon <will.deacon@xxxxxxx> Cc: Chen Gang <gang.chen@xxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Nicolas Pitre <nico@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxxx> Cc: Albin Tonnerre <albin.tonnerre@xxxxxxx> Cc: Victor Kamensky <victor.kamensky@xxxxxxxxxx> Cc: Catalin Marinas <catalin.marinas@xxxxxxx> Cc: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135851.939725247@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f7d11e93ee97a37da1947b7c4e1794705a6f360c Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 16:29:31 2014 +0100 locking,arch,arc: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140508135851.886055622@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b93c7b8c5b281bf3646d6c5b6e05249b98cc5ab7 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Sun Mar 23 16:25:53 2014 +0100 locking,arch,alpha: Fold atomic_ops Many of the atomic op implementations are the same except for one instruction; fold the lot into a few CPP macros and reduce LoC. This also prepares for easy addition of new ops. Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Matt Turner <mattst88@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Richard Henderson <rth@xxxxxxxxxxx> Cc: linux-alpha@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140508135851.832107183@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f6b4ecee0eb7bfa66ae8d5652105ed4da53209a3 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Apr 23 17:02:18 2014 +0200 locking,x86: Kill atomic_or_long() There are no users, kill it. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140508135851.768177189@xxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f373da34282560c60f0c197690eecb1b2dc49fc0 Merge: ddcd097 1c65056 Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Thu Aug 14 10:38:40 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/probe fixes and improvements from Arnaldo Carvalho de Melo: User visible changes: * Do not show +/- callchain expansion when there are no childs (top/report) (Namhyung Kim) * Fix -z and add respective 'z' hotkey to zero samples before refresh in 'perf top' (Namhyung Kim) * Capability probing fixes, improving the detection of kernel features for non-priviledged users (Adrian Hunter) * Add beautifier for mremap flags param in 'trace' (Alex Snast) * Fix --list and --del options to show events when just uprobes is enabled (Masami Hiramatsu) * perf script: Allow callchains if any event samples them * Don't look for kernel idle symbols in all DSOs in 'perf top' (Arnaldo Carvalho de Melo) * Add cpu_startup_entry to the list of kernel idle symbols (Arnaldo Carvalho de Melo) * 'perf top' terminal output fixes (Jiri Olsa) * Fix stdin handling for 'perf kvm stat live' (Jiri Olsa) * Fix missing label symbols (Adrian Hunter) * Don't demangle C++ parameters and such by default, only in --verbose mode (Namhyung Kim) * Set proper sort__mode for the branch option (Naohiro Aota) * Check recorded kernel version when finding vmlinux (Namhyung Kim) Infrastructure changes: * More prep work for intel PT (Adrian Hunter) * Fix possible memory leaks (Namhyung Kim) * Fix a memory leak in vmlinux_path__init() (Namhyung Kim) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 13cac15296afe7e42088ecfcd0f1d4b658248c46 Author: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Date: Thu Aug 14 09:35:34 2014 +0200 Bluetooth: Fix ERTM L2CAP resend packet I-Frame which is going to be resend already has FCS field added and set (if it was required). Adding additional FCS field calculated from data + old FCS in resend function is incorrect. This patch fix that. Issue has been found during PTS testing. Signed-off-by: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 069cb27017de6476d47a70fbf144f69200d3e854 Author: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Date: Wed Aug 13 16:01:41 2014 +0200 Bluetooth: Improve data packing in SAR mode There is no need to decrease pdu size with L2CAP SDU lenght in Start L2CAP SDU frame. Start packtet is just 2 bytes longer as specified and we can keep payload as long as possible. When testing SAR L2CAP against PTS, L2CAP channel is usually configured in that way, that SDU = MPS * 3. PTS expets then 3 I-Frames from IUT: Start, Continuation and End frame. Without this fix, we sent 4 I-Frames. We could pass a test by using -b option in l2test and send just two bytes less than SDU length. With this patch no need to use -b option. Signed-off-by: Lukasz Rymanowski <lukasz.rymanowski@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 3bbaf812065e8b0feca02b6c7e5117b731709008 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 14:49:56 2014 +0530 Bluetooth: Remove typedef bt3c_info_t The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for bt3c_info_t. Also, the name of the struct is changed to drop the _t, to make the name look less typedef-like. The following Coccinelle semantic patch detects the case: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 66f4e0e43a0389a7f2814f0cc6df39019aead54f Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 14:52:27 2014 +0530 Bluetooth: Remove typedefs nsh_t and dtl1_info_t The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedefs for nsh_t and dtl1_info_t. Also, the name of the struct is changed to drop the _t, to make the name look less typedef-like. The following Coccinelle semantic patch detects the case for dtl1_info_t and a similar patch finds the nsh_t case: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ad709d4867985de0b239d01702f9ac6bb578099e Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 14:51:39 2014 +0530 Bluetooth: Remove typedef btuart_info_t The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for btuart_info_t. Also, the name of the struct is changed to drop the _t, to make the name look less typedef-like. The following Coccinelle semantic patch detects the case: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d664cd9895b498da4fea3b43c72b4aacfc4126a2 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Wed Aug 13 14:53:31 2014 +0530 Bluetooth: Remove typedef bluecard_info_t The Linux kernel coding style guidelines suggest not using typedefs for structure types. This patch gets rid of the typedef for bluecard_info_t. Also, the name of the struct is changed to drop the _t, to make the name look less typedef-like. The following Coccinelle semantic patch detects the case: @tn@ identifier i; type td; @@ -typedef struct i { ... } -td ; @@ type tn.td; identifier tn.i; @@ -td + struct i Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f55889128a776b51581394b20abd0b470304cf95 Author: Varka Bhadram <varkab@xxxxxxx> Date: Mon Aug 11 13:25:10 2014 +0200 mac802154: common tx error path This patch introduce the common error path on failure of Tx by inserting the label 'err_tx'. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 0ba1f94e72b811215ce2f4610fe0f6cf88f4b28a Author: Alexander Aring <alex.aring@xxxxxxxxx> Date: Mon Aug 11 13:25:09 2014 +0200 ieee802154: 6lowpan: remove unused function Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b288a4963f09459c29cca240d3352cc7915710fc Author: Varka Bhadram <varkab@xxxxxxx> Date: Mon Aug 11 13:25:08 2014 +0200 mac802154: common error path By introducing label fail, making the common error path for mac802154_llsec_decrypt() and packet type default case. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 24bbd44a96c7a209fafbf1b28f0ac1a00cf4e551 Author: Varka Bhadram <varkab@xxxxxxx> Date: Mon Aug 11 13:25:07 2014 +0200 mac802154: cleanup in rx path This patch replace the sizeof(struct rx_work) with sizeof(*work) and directly passing the skb in mac802154_subif_rx() Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Alexander Aring <alex.aring@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 6f48e260a95c1a0161e5be39adb0f20c737fe459 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:44 2014 +0300 Bluetooth: Make smp_chan_destroy() private to smp.c There are no external users of smp_chan_destroy() so make it private to smp.c. The patch also moves the function higher up in the c-file in order to avoid forward declarations. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 86d1407cb9cd3cb866eae24a2aedb8006160db69 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:43 2014 +0300 Bluetooth: Always call smp_distribute_keys() from a workqueue The smp_distribute_keys() function calls smp_notify_keys() which in turn calls l2cap_conn_update_id_addr(). The l2cap_conn_update_id_addr() function will iterate through all L2CAP channels for the respective connection: lock the channel, update the address information and unlock the channel. Since SMP is now using l2cap_chan callbacks each callback is called with the channel lock held. Therefore, calling l2cap_conn_update_id_addr() would cause a deadlock calling l2cap_chan_lock() on the SMP channel. This patch moves calling smp_distribute_keys() through a workqueue so that it is never called from an L2CAP channel callback. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 109ec2309eb996fbe03302fbd40dec9014c6f849 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:42 2014 +0300 Bluetooth: Move canceling security_timer into smp_chan_destroy() All places needing to cancel the security timer also call smp_chan_destroy() in the same go. To eliminate the need to do these two calls in multiple places simply move the timer cancellation into smp_chan_destroy(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 276d807317dead63ef2f13aa46e3c17d57ba0713 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:41 2014 +0300 Bluetooth: Remove unused l2cap_conn->security_timer Now that there are no-longer any users for l2cap_conn->security_timer we can go ahead and simply remove it. The patch makes initialization of the conn->info_timer unconditional since it's better not to leave any l2cap_conn data structures uninitialized no matter what the underlying transport. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit b68fda6848ebef3499905500971d40b84faa8319 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:40 2014 +0300 Bluetooth: Add SMP-internal timeout callback This patch adds an SMP-internal timeout callback to remove the depenency on (the soon to be removed) l2cap_conn->security_timer. The behavior is the same as with l2cap_conn->security_timer except that the new l2cap_conn_shutdown() public function is used instead of the L2CAP core internal l2cap_conn_del(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 8ae9b9845b3252216cf5d2e033e5cca41bae48ef Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:39 2014 +0300 Bluetooth: Fix double free of SMP data skb In the case that the SMP recv callback returns error the calling code in l2cap_core.c expects that it still owns the skb and will try to free it. The SMP code should therefore not try to free the skb if it return an error. This patch fixes such behavior in the SMP command handler function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4befb867b9de8adc56c683f4cf6c9e6c035e94e3 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:38 2014 +0300 Bluetooth: Call l2cap_conn_shutdown() when SMP recv callback fails To restore pre-l2cap_chan functionality we should be trying to disconnect the connection when receviving garbage SMP data (i.e. when the SMP command handler fails). This patch renames the command handler back to smp_sig_channel() and adds a smp_recv_cb() wrapper function for calling it. If smp_sig_channel() fails the code calls l2cap_conn_shutdown(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dec5b49235e2526d7aacf5b93ea48f5e30c2f7c3 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:37 2014 +0300 Bluetooth: Add public l2cap_conn_shutdown() API to request disconnection Since we no-longer do special handling of SMP within l2cap_core.c we don't have any code for calling l2cap_conn_del() when smp.c doesn't like the data it gets. At the same time we cannot simply export l2cap_conn_del() since it will try to lock the channels it calls into whereas we already hold the lock in the smp.c l2cap_chan callbacks (i.e. it'd lead to a deadlock). This patch adds a new l2cap_conn_shutdown() API which is very similar to l2cap_conn_del() except that it defers the call to l2cap_conn_del() through a workqueue, thereby making it safe to use it from an L2CAP channel callback. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 44f1a7ab51ebe1ca189445837e0599a5edc6efb1 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Mon Aug 11 22:06:36 2014 +0300 Bluetooth: Use L2CAP resume callback to call smp_distribute_keys There's no need to export the smp_distribute_keys() function since the resume callback is called in the same scenario. This patch makes the smp_notify_keys function private (at the same time moving it higher up in smp.c to avoid forward declarations) and adds a resume callback for SMP to call it from there instead. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 89d2975fa06e66ea0d3665d91f799fb1ce4b8bad Author: Vincent Zwanenburg <vincentz@xxxxxxxxxx> Date: Fri Aug 8 12:33:56 2014 +0100 Add a new PID/VID 0227/0930 for AR3012. usb devices info: T: Bus=01 Lev=02 Prnt=05 Port=00 Cnt=01 Dev#= 20 Spd=12 MxCh= 0 D: Ver= 1.10 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=0930 ProdID=0227 Rev= 0.02 C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=100mA A: FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=01 I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms I: If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 25 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 25 Ivl=1ms I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 33 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 33 Ivl=1ms I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb E: Ad=83(I) Atr=01(Isoc) MxPS= 49 Ivl=1ms E: Ad=03(O) Atr=01(Isoc) MxPS= 49 Ivl=1ms Signed-off-by: Vincent Zwanenburg <vincentz@xxxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit ebef9c1236170fb3ba4dc05ccb41f6d842eb1c12 Author: Varka Bhadram <varkab@xxxxxxx> Date: Fri Aug 8 17:32:45 2014 +0530 MAINTAINERS: update maintainers info adds the mailing list address for bluetooth 6loWPAN and IEEE-802.15.4 subsystems. Also adds web page info. Signed-off-by: Varka Bhadram <varkab@xxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 4807b51895dce8aa650ebebc51fa4a795ed6b8b8 Author: Loic Poulain <loic.poulain@xxxxxxxxx> Date: Fri Aug 8 19:07:16 2014 +0200 Bluetooth: Fix HCI H5 corrupted ack value In this expression: seq = (seq - 1) % 8 seq (u8) is implicitly converted to an int in the arithmetic operation. So if seq value is 0, operation is ((0 - 1) % 8) => (-1 % 8) => -1. The new seq value is 0xff which is an invalid ACK value, we expect 0x07. It leads to frequent dropped ACK and retransmission. Fix this by using '&' binary operator instead of '%'. Signed-off-by: Loic Poulain <loic.poulain@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx commit 5d88cc73dded31a93fcc4821f33a8c3d755bf454 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:37:18 2014 +0300 Bluetooth: Convert SMP to use l2cap_chan infrastructure Now that we have all the necessary pieces in place we can fully convert SMP to use the L2CAP channel infrastructure. This patch adds the necessary callbacks and removes the now unneeded conn->smp_chan pointer. One notable behavioral change in this patch comes from the following code snippet: - case L2CAP_CID_SMP: - if (smp_sig_channel(conn, skb)) - l2cap_conn_del(conn->hcon, EACCES); This piece of code was essentially forcing a disconnection if garbage SMP data was received. The l2cap_conn_del() function is private to l2cap_conn.c so we don't have access to it anymore when using the L2CAP channel callbacks. Therefore, the behavior of the new code is simply to return errors in the recv() callback (which is simply the old smp_sig_channel()), but no disconnection will occur. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit defce9e83666658d4420d65e45ab1ad190992f72 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:37:17 2014 +0300 Bluetooth: Make AES crypto context private to SMP Now that we have per-adapter SMP data thanks to the root SMP L2CAP channel we can take advantage of it and attach the AES crypto context (only used for SMP) to it. This means that the smp_irk_matches() and smp_generate_rpa() function can be converted to internally handle the AES context. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 70db83c4bcdc1447bbcb318389561c90d7056b18 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:37:16 2014 +0300 Bluetooth: Add SMP L2CAP channel skeleton This patch creates the initial SMP L2CAP channels and a skeleton for their callbacks. There is one per-adapter channel created upon adapter registration, and then one channel per-connection created through the new_connection callback. The channels are registered with the reserved CID 0x1f for now in order to not conflict with existing SMP functionality. Once everything is in place the value can be changed to what it should be, i.e. L2CAP_CID_SMP. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit f193844c51e88ea3d2137bb0c1d38d27d37691a2 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:37:15 2014 +0300 Bluetooth: Add more L2CAP convenience callbacks In preparation for converting SMP to use l2cap_chan it's useful to add a few more callback helpers so that smp.c won't need to define all of its own. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 711eafe345d993cf4831e890fa989d02c06cad62 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:32:52 2014 +0300 Bluetooth: Move SMP (de)initialization to smp.c As preparation for moving SMP to use l2cap_chan infrastructure we need to move the (de)initialization functions to smp.c (where they'll eventually need access to the local L2CAP channel callbacks). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 54506918059a5bdbf396f34f2e0a2735803024db Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:32:51 2014 +0300 Bluetooth: Move SMP initialization after HCI init First of all, it's wasteful to initialize SMP if it's never going to be used (e.g. on non-LE controllers). Second of all, when we move to use l2cap_chan we need to know the real local address, meaning we must have completed at least part of the HCI init. This patch moves the SMP initialization to after the HCI init procedure and makes it depend on whether the controller actually supports LE. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 222916e3e509f04678d0b6f13f7b17bbc8dd14b6 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:32:50 2014 +0300 Bluetooth: Refactor SMP (de)initialization into separate functions As preparation for converting SMP to use the l2cap_chan infrastructure refactor the (de)initialization into separate functions. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 893ededeb189aa48c308116a7acd793efae5c830 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:32:49 2014 +0300 Bluetooth: Fix IRK lookup when tfm_aes is not available If the AES crypto has not been initialized properly we should cleanly return from the hci_find_irk_by_rpa() function. Right now this will not happen in practice, but once (in subsequent patches) SMP init is moved to after the HCI init procedure it is possible that the pointer is NULL. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit fabed38fcf456cc5d3e6946fab78855aa65bd40b Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:32:48 2014 +0300 Bluetooth: Fix hci_update_random_address() error return for no crypto If the AES crypto context is not available we cannot generate new RPAs. We should therefore cleanly return an error from the function responsible for updating the random address. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d3368605591b88cd8af522adadb1c460a8f8e7bb Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:28:05 2014 +0300 Bluetooth: Fix using HCI_CONN_LE_SMP_PEND to check for SMP context The code is consistently using the HCI_CONN_LE_SMP_PEND flag check for the existence of the SMP context, with the exception of this one place in smp_sig_channel(). This patch converts the place to use the flag just like all other instances. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 79a0572736ad4b9cac7be72d4402f9c79db8ebaf Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:28:04 2014 +0300 Bluetooth: Call l2cap_le_conn_ready after notifying channels For most cases it makes no difference whether l2cap_le_conn_ready() is called before or after calling the channel ready() callbacks, however for upcoming SMP code we need this as the ready() callback initializes certain structures that a call to smp_conn_security() from l2cap_le_conn_ready() depends on. Therefore, move the call to l2cap_le_conn_ready() after iterating through and notifying channels. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 72847ce02180e8a0be1b23ba53ffe437cdb25d6a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 8 09:28:03 2014 +0300 Bluetooth: Call L2CAP teardown callback before clearing chan->conn L2CAP channel implementations may want to still access the chan->conn pointer. This will particularly be the case for SMP that will want to clear a reference to the SMP channel in the l2cap_conn structure. The only user of the teardown callback so far is l2cap_sock.c and for the code there it makes no difference whether the callback is called before or after clearing the chan->conn pointer. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 148243087b3a5d95a32825da26858dc9d893b141 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:50 2014 +0300 Bluetooth: Move parts of fixed channel initialization to l2cap_add_scid The l2cap_add_scid function is used for registering a fixed L2CAP channel. Instead of having separate initialization of the channel type and outgoing MTU in l2cap_sock.c it's more intuitive to do these things in the l2cap_add_scid function itself (and thereby make the functionality available to other users besides l2cap_sock.c). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 06171e0546434b006a3857ea745b4258ad5d677c Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:49 2014 +0300 Bluetooth: Remove special ATT data channel handling Now that we've got the fixed channel infrastructure cleaned up in a generic way there's no longer a need to have a dedicated function for handling data on the ATT channel. Instead the generic l2cap_data_channel() handler will be able to do the exact same thing. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 54a1b626c96039f172dd2ea15b2671053b3c5a68 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:48 2014 +0300 Bluetooth: Improve fixed channel lookup based on link type When notifying global fixed channels of new connections it doesn't make sense to consider channels meant for a different link type than the one available. This patch adds an extra parameter to the l2cap_global_fixed_chan() lookup function and ensures that only channels matching the current hci_conn type are looked up. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit e760ec12134d5736065c4e88b0e783cc1fe0d20a Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:47 2014 +0300 Bluetooth: Move L2CAP fixed channel creation into l2cap_conn_cfm In order to remove special handling of fixed L2CAP channels we need to start creating them in a single place instead of having per-channel exceptions. The most natural place is the l2cap_conn_cfm() function which is called whenever there is a new baseband link. The only really special case so far has been the ATT socket, so in order not to break the code in between this patch removes the ATT special handling at the same time as it adds the generic fixed channel handling from l2cap_le_conn_ready() into the hci_conn_cfm() function. As a related change the channel locking in l2cap_conn_ready() becomes simpler and we can thereby move the smp_conn_security() call into the l2cap_le_conn_ready() function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit dc0f5088182b2e48ae47629a55bdf35ad5d6ed44 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:46 2014 +0300 Bluetooth: Refactor l2cap_connect_cfm This patch is a simple refactoring of l2cap_connect_cfm to allow easier extension of the function. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 191eb398c677444bc08cb4497467ca9e2b8696bc Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:45 2014 +0300 Bluetooth: Remove special handling of ATT in l2cap_security_cfm() With the update to sk->resume() and __l2cap_no_conn_pending() we no-longer need to have special handling of ATT channels in the l2cap_security_cfm() function. The chan->sec_level update when encryption has been enabled is safe to do for any kind of channel, and the loop takes later care of calling chan->ready() or chan->resume() if necessary. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit d52deb17489b8155e031fb1a9f116c602d719e11 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:44 2014 +0300 Bluetooth: Resume BT_CONNECTED state after LE security elevation The LE ATT socket uses a special trick where it temporarily sets BT_CONFIG state for the duration of a security level elevation. In order to not require special hacks for going back to BT_CONNECTED state in the l2cap_core.c code the most reasonable place to resume the state is the resume callback. This patch adds a new flag to track the pending security level change and ensures that the state is set back to BT_CONNECTED in the resume callback in case the flag is set. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5ff6f34d4260c542df3712e29ead87cf071ad472 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:43 2014 +0300 Bluetooth: Fix __l2cap_no_conn_pending() usage with all channels The __l2cap_no_conn_pending() function would previously only return a meaningful value for connection oriented channels and was therefore not useful for anything else. As preparation of making the L2CAP code more generic allow the function to be called for other channel types as well by returning a meaningful value for them. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit a24cce144b9814a17f46006dbad6056f1f5f481e Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 22:56:42 2014 +0300 Bluetooth: Fix reference counting of global L2CAP channels When looking up entries from the global L2CAP channel list there needs to be a guarantee that other code doesn't go and remove the entry after a channel has been returned by the lookup function. This patch makes sure that the channel reference is incremented before the read lock is released in the global channel lookup functions. The patch also adds the corresponding l2cap_chan_put() calls once the channels pointers are no-longer needed. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 2b29349044cc2cf74d4c6e23e26cd27977d91353 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 10:03:32 2014 +0300 Bluetooth: Fix confusion between parent and child channel for 6lowpan The new_connection L2CAP channel callback creates a new channel based on the provided parent channel. The 6lowpan code was confusingly naming the child channel "pchan" and the parent channel "chan". This patch swaps the names. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 5fcb93475697911eb239f68241903eb5540803ac Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Thu Aug 7 10:03:31 2014 +0300 Bluetooth: Remove redundant check for remote_key_dist In the smp_cmd_sign_info() function the SMP_DIST_SIGN bit is explicitly cleared early on in the function. This means that there's no need to check for it again before calling smp_distribute_keys(). Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 22f433dcf7c71cf075e4c42b5f36ea4352978a6d Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 1 11:13:32 2014 +0300 Bluetooth: Disable page scan if all whitelisted devices are connected When we're not connectable and all whitelisted (BR/EDR) devices are connected it doesn't make sense to keep page scan enabled. This patch adds code to check for any disconnected whitelist devices and if there are none take the appropriate action in the hci_update_page_scan() function to disable page scan. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 432df05eb1e57adfc46df08abbedca6c3b8862f7 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 1 11:13:31 2014 +0300 Bluetooth: Create unified helper function for updating page scan Similar to our hci_update_background_scan() function we can simplify a lot of code by creating a unified helper function for doing page scan updates. This patch adds such a function to hci_core.c and updates all the relevant places to use it. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 84c61d92bb6e9048eecc0738a83f1bf66f053026 Author: Johan Hedberg <johan.hedberg@xxxxxxxxx> Date: Fri Aug 1 11:13:30 2014 +0300 Bluetooth: Add convenience function to check for pending power off There are several situations where we're interested in knowing whether we're currently in the process of powering off an adapter. This patch adds a convenience function for the purpose and makes it public since we'll soon need to access it from hci_event.c as well. Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> Signed-off-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> commit 1c65056c547141a0cb52fb8e6056f63524d2bbf2 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:56 2014 +0300 perf evlist: Add perf_evlist__enable_event_idx() Add a function to enable a specific event within a specific perf event buffer. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-14-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bf4939027decde7aaaf8b5dbeee70126d2822eb6 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:01:04 2014 +0300 perf tools: Add flags and insn_len to struct sample The flags will be used to export branch type and transaction status. insn_len is preparation for pairing calls and returns because the return address equals the call address plus the instruction length (insn_len). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-22-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cfe1c41405fe9a559f8b3c24c904b2bb42d4a6e8 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:45 2014 +0300 perf machine: Add machine__thread_exec_comm() Add machine__thread_exec_comm() to return the comm that matches the last exec, if the comm_exec flag is present, or the last comm otherwise. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 65de51f93ebf9305ec011da59c0b5fe29429d1b9 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:44 2014 +0300 perf tools: Identify which comms are from exec For grouping together all the data from a single execution, which is needed for pairing calls and returns e.g. any outstanding calls when a process exec's will never return. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-2-git-send-email-adrian.hunter@xxxxxxxxx [ Remove testing if comm->exec is false before setting it to true ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5563edfa1bd25d052d81f5ad7fe74ba71c3d44e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:01:01 2014 +0300 perf script python: Add helpers for calling Python objects The Python script API repeatedly uses the same lines of code to get and call objects. Make that into helper functions instead. A side-effect is that some reference counting bugs disappear because the new call_object() function always decrements the reference count of 'retval'. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-19-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 98526ee7229be8537373aebe037b74cac112d84b Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:59 2014 +0300 perf script: Allow callchains if any event samples them perf script was not displaying callchains if any selected event did not have PERF_SAMPLE_CALLCHAIN. Change this to disable callchains only if all selected events do not have PERF_SAMPLE_CALLCHAIN. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-17-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5a52f33adf02a3e5eafdc1e597a3fe172e620bec Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:57 2014 +0300 perf session: Add perf_session__peek_event() Add a function to peek at other events in the event stream. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-15-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 60b0896cc35243f515eda2085f9897e296177e45 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:52 2014 +0300 perf evlist: Add perf_evlist__set_tracking_event() Add a function to change which event is used to track mmap, comm and task events. This is needed with Instruction Tracing because the Instruction Tracing event must come first but cannot be used for tracking because it will be disabled under some circumstances. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-10-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit bf8e8f4b832972c76d64ab2e2837a48397144887 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:51 2014 +0300 perf evlist: Add 'system_wide' option Add an option to cause a selected event to be opened always without a pid when configured by perf_evsel__config(). This is needed when using the sched_switch tracepoint to follow object code execution. sched_switch occurs before the task switch and so it cannot record it in a context limited to that task. Note that also means that sched_switch is useless when capturing data per-thread, as is the 'context-switches' software event for the same reason. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-9-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f247fb8191aa7f10d3f6c987e8ef0853ae789a02 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Thu Jul 31 09:00:46 2014 +0300 perf symbols: Fix missing label symbols Label symbols are missing because elf_sec__is_a() fails to find the section because the section strings do not match the section headers because the sections headers are from the 'runtime' object and the sections strings are from the 'symbol source' object. Fix by getting the section strings from the 'runtime' object so that they match the section headers. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406786474-9306-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e71e79457b79a52827039d9d7f253321bfd342bd Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:42 2014 +0900 perf symbols: Don't demangle parameters and such by default Some C++ symbols have very long name and they make column length longer. Most of them are about parameters including templates and we can ignore such info most of time IMHO. This patch passes DMGL_NO_OPTS by default when calling bfd_demangle(). One can still see full symbols with -v/--verbose option. before: JS_CallFunctionValue(JSContext*, JSObject*, JS::Value, unsigned int, JS::Value*, JS::Value*) after: JS_CallFunctionValue Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-9-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 42337a222c93cd22864f20ef9b157765ab1086a0 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 17:16:06 2014 +0900 perf top: Handle 'z' key for toggle zeroing samples in TUI The perf top TUI lacks 'z' key support to toggle sample zeroing. Add it. Reported-by: Stephane Eranian <eranian@xxxxxxxxxx> Tested-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407831366-28892-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 701937bd59cc94b6913086feb62f05ae565ff2de Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 17:16:05 2014 +0900 perf top: Fix -z option behavior The current -z option does almost nothing. It doesn't zero the existing samples so that we can see profiles of exited process after last refresh. It seems it only affects annotation. This patch clears existing entries before processing if -z option is given. For this original decaying logic also moved before processing. Reported-by: Stephane Eranian <eranian@xxxxxxxxxx> Tested-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407831366-28892-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit edd114e213751c3274891f692be66eb65771f278 Author: naota@xxxxxxxxx <naota@xxxxxxxxx> Date: Thu Aug 7 00:04:49 2014 +0900 perf report: Set proper sort__mode for the branch option When you specify "--branch-stack"("-b" for short) or "--no-branch-stack", "branch_mode" variable is set to 1 or 0 respectively. However, the code is just checking if the variable is -1 or not, ignoring "branch_mode == 1" case. Thus "perf report -b" dose not show its result with the branch sorted mode. This patch fix the problem. Signed-off-by: Naohiro Aota <naota@xxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/87y4v1fylq.fsf@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 82162b5ae3d152fd7d887b36213f5b6785fe1294 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Wed Aug 13 15:02:41 2014 +0900 perf hists browser: Fix a small callchain display bug The currently when perf TUI report shows callchain, the first level chains have bogus '+' sign even though only the last one has children. Since they are on a single line of the chain, toggling intermediate entries has no effect. Fix it to show '+' sign at the last entry only. Note that non-first level callchain entries don't have this problem. Before: --------------------------------------------------------------------------- Children Self Command Shared Object Symbols - 40.70% 0.00% swapper [kernel.kallsyms] [k] cpuidle_wrap_enter + cpuidle_wrap_enter + cpuidle_enter_tk + cpuidle_idle_call + cpu_idle After: --------------------------------------------------------------------------- Children Self Command Shared Object Symbols - 40.70% 0.00% swapper [kernel.kallsyms] [k] cpuidle_wrap_enter cpuidle_wrap_enter cpuidle_enter_tk cpuidle_idle_call + cpu_idle Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407909761-10822-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0a7e6d1b6844bec2d6817615a693c7fce447b80d Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:45 2014 +0900 perf tools: Check recorded kernel version when finding vmlinux Currently vmlinux_path__init() only tries to find vmlinux file from current directory, /boot and some canonical directories with version number of the running kernel. This can be a problem when reporting old data recorded on a kernel version not running currently. We can use --symfs option for this but it's annoying for user to do it always. As we already have the info in the perf.data file, it can be changed to use it for the search automatically. Before: $ perf report ... # Samples: 4K of event 'cpu-clock' # Event count (approx.): 1067250000 # # Overhead Command Shared Object Symbol # ........ .......... ................. .............................. 71.87% swapper [kernel.kallsyms] [k] recover_probed_instruction After: # Overhead Command Shared Object Symbol # ........ .......... ................. .................... 71.87% swapper [kernel.kallsyms] [k] native_safe_halt This requires to change signature of symbol__init() to receive struct perf_session_env *. Reported-by: Minchan Kim <minchan@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-14-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cb2ffae241cfdd6d90acb7ec5f52ad8401885dd2 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:44 2014 +0900 perf trace: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-13-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc5c8190b800dc59eff6bb2aa47ea749712197df Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:43 2014 +0900 perf timechart: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-12-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 38520dc31206bae1dc811ddd59ccea3a6536784d Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:42 2014 +0900 perf script: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-11-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0493410612486cadaa4e076caf4df3fa9cd20fde Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:41 2014 +0900 perf sched: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-10-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6fd6c6b462c55f33c20f38051f1116dc52054d67 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:40 2014 +0900 perf lock: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-9-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 14d37f38e956ba0dd4f2206f68534eb418ecd905 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:39 2014 +0900 perf kvm: Move call to symbol__init() after creating session This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-8-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 2b2b2c68c64fb9db392940b42355944064f2a4ca Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:38 2014 +0900 perf kmem: Move session handling out of __cmd_kmem() This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-7-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1cb8bdcca0e2f738a492c3857568cf34ba4a4373 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:37 2014 +0900 perf inject: Move session handling out of __cmd_inject() This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-6-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e3ed75bb537a860a375ca1e09ad1b87c707f1636 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:36 2014 +0900 perf buildid-cache: Move session handling into cmd_buildid_cache() This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-5-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fa10f316d59f39020d19d3f4a323598d05afa65c Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:35 2014 +0900 perf annotate: Move session handling out of __cmd_annotate() This is a preparation of fixing dso__load_kernel_sym(). It needs a session info before calling symbol__init(). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e96c674fe2c228fd5c16fd7a7607c60dea4cdaa2 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:34 2014 +0900 perf symbols: Fix a memory leak in vmlinux_path__init() When uname() failed, it should free vmlinux_path. Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 6cc870f09da4d50722bc1caa27cad51733ce36f6 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Aug 12 15:40:33 2014 +0900 perf script: Fix possible memory leaks Some paths in perf script don't call perf_session__delete() after creating a new session. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407825645-24586-2-git-send-email-namhyung@xxxxxxxxxx [ Saved errno value before calling perror(), as pointed out by Adrian Hunter ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit f6edb53c4993ffe92ce521fb449d1c146cea6ec2 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Aug 12 18:04:31 2014 +0300 perf tools: Prefer to use a cpu-wide event for probing CLOEXEC When doing a system-wide trace with Intel PT, the jump label set up as a result of probing CLOEXEC gets reset while the trace is running. That causes an Intel PT decoding error because the object code (obtained from /proc/kcore) does not match the running code at that point. While we can't expect there never to be jump label changes, we can avoid cases that the perf tool itself creates. The problem is avoided by first trying a cpu-wide event (pid = -1) for probing the PERF_FLAG_FD_CLOEXEC flag and falling back to an event for the current process (pid = 0). Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407855871-15024-5-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 46ec69add5df60310147ce3ce01a662053d82a1e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Aug 12 18:04:30 2014 +0300 perf tools: Fix probing the kernel API with cpu-wide events Fall back to probing with the current pid if cpu-wide probing fails. This primarily affects the setting of comm_exec flag when the user is un-privileged and /proc/sys/kernel/perf_event_paranoid > 0. The change to comm_exec can be observed by using -vv with perf record and a kernel that supports comm_exec. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407855871-15024-4-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c6fa35659c5fae5f9aeb6874b177baeb2adbc02e Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Aug 12 18:04:29 2014 +0300 perf tools: Fix one of the probe events to exclude kernel When probing the kernel API the kernel should be excluded otherwise the probe will fail for users with insufficient privilege to profile the kernel. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407855871-15024-3-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit a5b0153c880c2775bf5bdd78306f0a47e860ea04 Author: Adrian Hunter <adrian.hunter@xxxxxxxxx> Date: Tue Aug 12 18:04:28 2014 +0300 perf tools: Fix CLOEXEC probe for perf_event_paranoid == 2 With /proc/sys/kernel/perf_event_paranoid set to 2, the probe of PERF_FLAG_FD_CLOEXEC would fail. Fix by excluding kernel profiling from the probe event. Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx> Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407855871-15024-2-git-send-email-adrian.hunter@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 86998dda5d244f4b1b994dfe34a677f3b70cfdd3 Author: Alex Snast <asnast@xxxxxxxxx> Date: Wed Aug 13 18:42:40 2014 +0300 perf trace: Add beautifier for mremap flags param ~/devel/kernel/tools/perf(branch:master*) » sudo ./perf trace ~/mremap_test 0.543 ( 0.003 ms): mprotect(start: 0x600000, len: 4096, prot: READ ) = 0 0.550 ( 0.003 ms): mprotect(start: 0x7f441260d000, len: 4096, prot: READ) = 0 0.561 ( 0.010 ms): munmap(addr: 0x7f44125e2000, len: 165572 ) = 0 0.595 ( 0.012 ms): mmap(len: 12288, prot: READ|WRITE, flags: SHARED|ANONYMOUS|LOCKED, fd: -1) = 0x12608000 0.603 ( 0.006 ms): mremap(addr: 0x7f4412608000, old_len: 4096, new_len: 4096, flags: MAYMOVE|FIXED, new_addr: 0x7f16da295000) = 0xda295000 0.608 ( 0.003 ms): mremap(addr: 0x7f441260a000, old_len: 4096, new_len: 4096, flags: MAYMOVE|FIXED, new_addr: 0x7f16da297000) = 0xda297000 0.612 ( 0.003 ms): mremap(addr: 0x7f4412609000, old_len: 4096, new_len: 4096, flags: MAYMOVE|FIXED, new_addr: 0x7f16da296000) = 0xda296000 0.619 ( 0.000 ms): exit_group( Signed-off-by: Alex Snast <asnast@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407944560-26924-1-git-send-email-asnast@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 467ec08567483e3868f240b1ee03808970e06388 Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Aug 13 16:12:50 2014 +0000 perf probe: Fix --del option to delete events only with uprobe events Current perf probe --del doesn't work if only CONFIG_UPROBE_EVENTS=y because it aborts when it fails to open kprobe_events file before checking uprobe_events file. This fixes --del option to delete dynamic events if it can open either kprobe_events or uprobe_events. Only if it failed to open both of them, it shows an error message and aborts. Without this patch, if we run perf probe -d on the kernel configured with CONFIG_KPROBE_EVENTS=n and CONFIG_UPROBE_EVENTS=y, # perf probe -d \* kprobe_events file does not exist - please rebuild kernel with CONFIG_KPROBE_EVENTS. Error: Failed to delete events. With this patch, # perf probe -d \* Removed event: probe_perf:alloc_event Changes in v2: - Use strerror_r instead of strerror. Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140813161250.26440.24028.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5e45187cc94814d2a5324bc18af994efc4fb4f7c Author: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Date: Wed Aug 13 16:12:48 2014 +0000 perf probe: Fix --list option to show events only with uprobe events Current perf probe --list doesn't work if only CONFIG_UPROBE_EVENTS=y because it aborts when it fails to open kprobe_events file before checking uprobe_events file. This fixes --list option to show dynamic events if it can open either kprobe_events or uprobe_events. Only if it failed to open both of them, it shows an error message and aborts. Without this patch, if we run perf probe -l on the kernel configured with CONFIG_KPROBE_EVENTS=n and CONFIG_UPROBE_EVENTS=y, # perf probe -l /sys/kernel/debug/tracing/kprobe_events file does not exist - please rebuild ker Error: Failed to show event list. With this patch, # perf probe -l probe_perf:alloc_event (on alloc_event@lib/traceevent/event-parse.c in /home/fedora/ksrc/linux-3/tools/perf/perf) Changes in v2: - Use strerror_r instead of strerror. Reported-by: Naohiro Aota <naota@xxxxxxxxx> Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@xxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Naohiro Aota <naota@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/20140813161248.26440.84370.stgit@xxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d177143c3670aa57ee08c73880beb55ee9d8ab7c Author: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Date: Fri Aug 8 14:47:21 2014 +0800 ASoC: fsl_esai: refine esai for TDM support Original driver didn't store the number of slots, just fix the slot number to 2, use this default number to calculate bclk and pins for TX/RX. In this patch, add one parameter for slots, and update the calculation of bclk and pins of TX/RX. Then driver will be compatible with slots > 2 in TDM mode. Signed-off-by: Shengjiu Wang <shengjiu.wang@xxxxxxxxxxxxx> Acked-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d5b4130ae636e1fd0eaaea7152170198c34fbf62 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 11 10:50:09 2014 +0200 perf kvm: Fix stdin handling for 'kvm stat live' command Currently the initial ~(ICANON | ECHO) terminal mode is not set, so we dont get stdin data until we press ENTER. Fixing this by early setting of the ~(ICANON | ECHO) mode and leaving this mode for whole life of the command, because canonical mode is not needed. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407747014-18394-16-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 4a1a99712a8a13d97e9de818869bf1b88583d6bc Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 11 10:50:07 2014 +0200 perf top: Setup signals for terminal output The TUI code setup standard signals handling, while the stdio display code does not. This leads to premature termination of display thread when signal is received and leaving terminal in wrong state. Also adding terminal cleanup at the end of display thread, to ensure we get the old terminal state in case of signal interruption. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407747014-18394-14-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 9398c484f8abc8d287cb90f5a33dd43ac26f24ef Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 11 10:50:02 2014 +0200 perf tools: Introduce set_term_quiet_input helper function Adding set_term_quiet_input helper to set the terminal quiet, out from 'perf top', used in following patches in 'perf kvm'. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407747014-18394-9-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ae256fa27118e54b0f093f0cfe2ada28f1704ef3 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Aug 11 10:50:05 2014 +0200 perf top: Join the display thread on exit We create the display thread, but never join it. It gives the display thread a chance to quit and cleanup properly. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1407747014-18394-12-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e0336ed66f5dd974e02b1af4a81bb567a2391e45 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Aug 8 18:02:41 2014 -0300 perf tools: Add cpu_startup_entry to the list of kernel idle symbols Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-oh4lrofvrqqv1eyslh7m4rq4@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e7110b9fb901dcc022afd358386c1be69658af7d Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Fri Aug 8 18:00:39 2014 -0300 perf top: Don't look for kernel idle symbols in all DSOs The 'top' tool initially supported only kernel symbols, when making it support userspace symbols we forgot to make the symbol filter first check that the DSO is the kernel one. Fix it. Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> c: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-54haztkeigmbump5sexxnzhv@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 82e3b8c130f046b7dd1e7898c10e40edb52fee6d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 13:09:46 2014 +0100 drm/i915: Localise the fbdev console lock frobbing Rather than take and release the console_lock() around a non-existent DRM_I915_FBDEV, move the lock acquisation into the callee where it will be compiled out by the config option entirely. This includes moving the deferred fb_set_suspend() dance and encapsulating it entirely within intel_fbdev.c. v2: Use an integral work item so that we can explicitly flush the work upon suspend/unload. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> [danvet: Add the flush_work in fbdev_fini per the mailing list discussion. And s/BUG_ON/WARN_ON/ because.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7312e2ddec1ffe4511a85a2814df44e79ded3c1d Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 13 12:14:12 2014 +0100 drm/i915: Replace __I915__ with typesafe variant Ville pointed out the GCCism __builtin_types_compatible_p() that we could use to replace our heavily casted presumption __I915__ macro that was based on comparing struct sizes. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dc41c154ffc30afb7ee7e891140dead26fce5c39 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 13 11:57:05 2014 +0300 drm/i915: Add support for variable cursor size on 845/865 845/865 support different cursor sizes as well, albeit a bit differently than later platforms. Add the necessary code to make them work. Untested due to lack of hardware. v2: Warn but accept invalid stride (Chris) Rewrite the cursor size checks for other platforms (Chris) v3: More polish and magic to the cursor size checks (Chris) v4: Moar polish and a comment (Chris) Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8ac5466926daef2406f7b25e9a272567cb81adb0 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 12 19:39:54 2014 +0300 drm/i915: Unify ivb_update_cursor() and i9xx_update_cursor() Ever since commit 5efb3e2838536832c9b6872512e6b6daf592cee9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Apr 9 13:28:53 2014 +0300 drm/i915/chv: Add cursor pipe offsets the only difference between i9xx_update_cursor() and ivb_update_cursor() was the hsw+ pipe csc handling. Let's unify them and we can rid outselves of some duplicated code. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d7ce484eeec43079ad842f1d351f53998ed6bb30 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 12 19:39:53 2014 +0300 drm/i915: Move CURSIZE setup to i845_update_cursor() CURSIZE register exists on 845/865 only, so move it to i845_update_cursor(). Changes to cursor size must be done only when the cursor is disabled, so do the write just before enabling the cursor. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a08a42ad441e113f87308e0844049cb881f1ac1d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 12 19:39:52 2014 +0300 drm/i915: Don't try to enable cursor from setplane when crtc is disabled Make sure the cursor gets fully clipped when enabling it on a disabled crtc via setplane. This will prevent the lower level code from attempting to enable the cursor in hardware. Cc: Paulo Zanoni <przanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 70e32544aa4027b4c27226da32eb3866e7bbbcdc Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:57 2014 +0200 drm/i915: Cleanup aliasging ppgtt alongside the global gtt Also remove related WARN_ONs which seem to have been hit since a rather long time. But apperently no one noticed since our module reload is already WARNING-infested :( Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 90d0a0e8d0e64c92c4a6147f3c7cdc7c544d6b1a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:56 2014 +0200 drm/i915: Extract commmon global gtt cleanup code We want to move the aliasing ppgtt cleanup back into the global gtt cleanup code for symmetry, but first we need to create such a place. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 19dd120ceee085dbac70b1b01bd09d599cf87bd0 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:55 2014 +0200 drm/i915: Extract common cleanup into i915_ppgtt_release Address space cleanup isn't really a job for the low-level cleanup callbacks. Without this change we can't reuse the low-level cleanup callback for the aliasing ppgtt cleanup. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d624d86e1e3b69cadb2dad42588e71e9a3b6d70a Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:54 2014 +0200 drm/i915: Drop create_vm argument to i915_gem_create_context Now that all the flow is streamlined the rule is simple: We create a new ppgtt for a new context when we have full ppgtt enabled. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ae6c4806927b8b0781ecc187aa16b10c820fc430 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:53 2014 +0200 drm/i915: Only track real ppgtt for a context There's a bit a confusion since we track the global gtt, the aliasing and real ppgtt in the ctx->vm pointer. And not all callers really bother to check for the different cases and just presume that it points to a real ppgtt. Now looking closely we don't actually need ->vm to always point at an address space - the only place that cares actually has fixup code already to decide whether to look at the per-proces or the global address space. So switch to just tracking the ppgtt directly and ditch all the extraneous code. v2: Fixup the ppgtt debugfs file to not oops on a NULL ctx->ppgtt. Also drop the early exit - without aliasing ppgtt we want to dump all the ppgtts of the contexts if we have full ppgtt. v3: Actually git add the compile fix. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: "Thierry, Michel" <michel.thierry@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> OTC-Jira: VIZ-3724 [danvet: Resolve conflicts with execlist patches while applying.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fa76da3499f1789f0e37d3bbcdc320bdf47c89ca Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 20:19:54 2014 +0200 drm/i915: Initialize the aliasing ppgtt as part of global gtt Stuffing this into the context setup code doesn't make a lot of sense. Also reusing the real ppgtt setup code makes even less sense since the aliasing ppgtt isn't a real address space. Leaving all that stuff unitialized will make sure that we catch any abusers promptly. This is also a prep work to clean up the context->ppgtt link. v2: Fix up the logic fail, I've fumbled it so badly to completely disable ppgtt on gen6. Spotted by Ville and Michel. Also move around the pde write into the gen6 init function, since otherwise it won't work at all. v3: Only initialize the aliasing ppgtt when we actually enable it. Cc: "Thierry, Michel" <michel.thierry@xxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> [danvet: Squash in fixup from Fengguang Wu.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 82460d97246a993aa49e88bf9b4154cce60f8da8 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 20:19:53 2014 +0200 drm/i915: Rework ppgtt init to no require an aliasing ppgtt Currently we abuse the aliasing ppgtt to set up the ppgtt support in general. Which is a bit backwards since with full ppgtt we don't ever need the aliasing ppgtt. So untangle this and separate the ppgtt init from the aliasing ppgtt. While at it drag it out of the context enabling (which just does a switch to the default context). Note that we still have the differentiation between synchronous and asynchronous ppgtt setup, but that will soon vanish. So also correctly wire up the return value handling to be prepared for when ->switch_mm drops the synchronous parameter and could start to fail. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 896ab1a5d54269b463a24194c2e4a369103b46d8 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:51 2014 +0200 drm/i915: Fix up checks for aliasing ppgtt A subsequent patch will no longer initialize the aliasing ppgtt if we have full ppgtt enabled, since we simply don't need that any more. Unfortunately a few places check for the aliasing ppgtt instead of checking for ppgtt in general. Fix them up. One special case are the gtt offset and size macros, which have some code to remap the aliasing ppgtt to the global gtt. The aliasing ppgtt is _not_ a logical address space, so passing that in as the vm is plain and simple a bug. So just WARN about it and carry on - we have a gracefully fall-through anyway if we can't find the vma. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 6c5566a82c6fb1da9e13a294f23d4cd85a08cb30 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:50 2014 +0200 drm/i915: Allow i915_gem_setup_global_gtt to fail We already needs this just as a safety check in case the preallocation reservation dance fails. But we definitely need this to be able to move tha aliasing ppgtt setup back out of the context code to this place, where it belongs. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5dc383b05a05d05e964172d882603cd171040c5f Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:49 2014 +0200 drm/i915: Add proper prefix to obj_to_ggtt Stuff in headers really aught to have this. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 841cd7737557785c0f215b0984c06aaaaa882302 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:48 2014 +0200 drm/i915: Only refcount ppgtt if it actually is one This essentially unbreaks non-ppgtt operation where we'd scribble over random memory. While at it give the vm_to_ppgtt function a proper prefix and make it a bit more paranoid. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4d884705dababd7d0f3f12796bc7b45e84962596 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:47 2014 +0200 drm/i915: Track file_priv, not ctx in the ppgtt structure Hardware contexts reference a ppgtt, not the other way round. And the only user of this (in debugfs) actually only cares about which file the ppgtt is associated with. So give it what it wants. While at it give the ppgtt create function a proper name&place. Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ae17ea0ec7d8fa64fbb773a52b2df5ba4766bcb8 Author: Waiman Long <Waiman.Long@xxxxxx> Date: Wed Aug 6 13:22:02 2014 -0400 locking/selftest: Support queued rwlock The queued rwlock does not support the use of recursive read-lock in the process context. With changes in the lockdep code to check and disallow recursive read-lock, it is also necessary for the locking selftest to be updated to change the process context recursive read locking results from SUCCESS to FAILURE for rwlock. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407345722-61615-3-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f0bab73cb539fb803c4d419951e8d28aa4964f8f Author: Waiman Long <Waiman.Long@xxxxxx> Date: Wed Aug 6 13:22:01 2014 -0400 locking/lockdep: Restrict the use of recursive read_lock() with qrwlock Unlike the original unfair rwlock implementation, queued rwlock will grant lock according to the chronological sequence of the lock requests except when the lock requester is in the interrupt context. Consequently, recursive read_lock calls will now hang the process if there is a write_lock call somewhere in between the read_lock calls. This patch updates the lockdep implementation to look for recursive read_lock calls. A new read state (3) is used to mark those read_lock call that cannot be recursively called except in the interrupt context. The new read state does exhaust the 2 bits available in held_lock:read bit field. The addition of any new read state in the future may require a redesign of how all those bits are squeezed together in the held_lock structure. Signed-off-by: Waiman Long <Waiman.Long@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxx> Cc: Rik van Riel <riel@xxxxxxxxxx> Cc: Scott J Norton <scott.norton@xxxxxx> Cc: Fengguang Wu <fengguang.wu@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407345722-61615-2-git-send-email-Waiman.Long@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 4999201a59ef555f9105d2bb2459ed895627f7aa Author: Bart Van Assche <bvanassche@xxxxxxx> Date: Fri Aug 8 12:35:36 2014 +0200 locking/spinlocks: Always evaluate the second argument of spin_lock_nested() Evaluating a macro argument only if certain configuration options have been selected is confusing and error-prone. Hence always evaluate the second argument of spin_lock_nested(). An intentional side effect of this patch is that it avoids that the following warning is reported for netif_addr_lock_nested() when building with CONFIG_DEBUG_LOCK_ALLOC=n and with W=1: include/linux/netdevice.h: In function 'netif_addr_lock_nested': include/linux/netdevice.h:2865:6: warning: variable 'subclass' set but not used [-Wunused-but-set-variable] int subclass = SINGLE_DEPTH_NESTING; ^ Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Oleg Nesterov <oleg@xxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/53E4A7F8.1040700@xxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0a7cbf9abe3198461de3d3e97268db32a646ba06 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:56 2014 -0700 locking/Documentation: Update locking/mutex-design.txt disadvantages Fortunately Jason was able to reduce some of the overhead we had introduced in the original rwsem optimistic spinning - an it is now the same size as mutexes. Update the documentation accordingly. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: aswin@xxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406752916-3341-7-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 214e0aed639ef40987bf6159fad303171a6de31e Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:55 2014 -0700 locking/Documentation: Move locking related docs into Documentation/locking/ Specifically: Documentation/locking/lockdep-design.txt Documentation/locking/lockstat.txt Documentation/locking/mutex-design.txt Documentation/locking/rt-mutex-design.txt Documentation/locking/rt-mutex.txt Documentation/locking/spinlocks.txt Documentation/locking/ww-mutex-design.txt Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: jason.low2@xxxxxx Cc: aswin@xxxxxx Cc: Alexei Starovoitov <ast@xxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Chris Mason <clm@xxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: David Airlie <airlied@xxxxxxxx> Cc: Davidlohr Bueso <davidlohr@xxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Jason Low <jason.low2@xxxxxx> Cc: Josef Bacik <jbacik@xxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Lubomir Rintel <lkundrak@xxxxx> Cc: Masanari Iida <standby24x7@xxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: fengguang.wu@xxxxxxxxx Link: http://lkml.kernel.org/r/1406752916-3341-6-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 7608a43d8f2e02f8b532f8e11481d7ecf8b5d3f9 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:54 2014 -0700 locking/mutexes: Use MUTEX_SPIN_ON_OWNER when appropriate 4badad35 ("locking/mutex: Disable optimistic spinning on some architectures") added a ARCH_SUPPORTS_ATOMIC_RMW flag to disable the mutex optimistic feature on specific archs. Because CONFIG_MUTEX_SPIN_ON_OWNER only depended on DEBUG and SMP, it was ok to have the ->owner field conditional a bit flexible. However by adding a new variable to the matter, we can waste space with the unused field, ie: CONFIG_SMP && (!CONFIG_MUTEX_SPIN_ON_OWNER && !CONFIG_DEBUG_MUTEX). Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: aswin@xxxxxx Cc: Davidlohr Bueso <davidlohr@xxxxxx> Cc: Heiko Carstens <heiko.carstens@xxxxxxxxxx> Cc: Jason Low <jason.low2@xxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406752916-3341-5-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 76916515d9d84e6552ee5e218e0ed566ad75e600 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:53 2014 -0700 locking/mutexes: Refactor optimistic spinning code When we fail to acquire the mutex in the fastpath, we end up calling __mutex_lock_common(). A *lot* goes on in this function. Move out the optimistic spinning code into mutex_optimistic_spin() and simplify the former a bit. Furthermore, this is similar to what we have in rwsems. No logical changes. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: aswin@xxxxxx Cc: mingo@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406752916-3341-4-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aa9fc0c19bee0cbc152e0e06488095fb69229236 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:52 2014 -0700 locking/mcs: Remove obsolete comment ... as we clearly inline mcs_spin_lock() now. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Acked-by: Jason Low <jason.low2@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: aswin@xxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406752916-3341-3-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 42fa566bd74aa7b95413fb00611ec983b488222d Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:51 2014 -0700 locking/mutexes: Document quick lock release when unlocking When unlocking, we always want to reach the slowpath with the lock's counter indicating it is unlocked. -- as returned by the asm fastpath call or by explicitly setting it. While doing so, at least in theory, we can optimize and allow faster lock stealing. When unlocking, we always want to reach the slowpath with the lock's counter indicating it is unlocked. -- as returned by the asm fastpath call or by explicitly setting it. While doing so, at least in theory, we can optimize and allow faster lock stealing. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: jason.low2@xxxxxx Cc: aswin@xxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406752916-3341-2-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 242489cfe97d44290e7f88b12591fab6c0819045 Author: Davidlohr Bueso <davidlohr@xxxxxx> Date: Wed Jul 30 13:41:50 2014 -0700 locking/mutexes: Standardize arguments in lock/unlock slowpaths Just how the locking-end behaves, when unlocking, go ahead and obtain the proper data structure immediately after the previous (asm-end) call exits and there are (probably) pending waiters. This simplifies a bit some of the layering. Signed-off-by: Davidlohr Bueso <davidlohr@xxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: jason.low2@xxxxxx Cc: aswin@xxxxxx Cc: mingo@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1406752916-3341-1-git-send-email-davidlohr@xxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 2e39465abc4b7856a0ea6fcf4f6b4668bb5db877 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Mon Aug 4 12:07:15 2014 +0200 locking: Remove deprecated smp_mb__() barriers Its been a while and there are no in-tree users left, so remove the deprecated barriers. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Chen, Gong <gong.chen@xxxxxxxxxxxxxxx> Cc: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx> Cc: Joe Perches <joe@xxxxxxxxxxx> Cc: John Sullivan <jsrhbz@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx> Cc: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Cc: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit ddcd0973fe02aad3d4bdc59dd0f1db90f51105a9 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Aug 12 09:15:25 2014 +0200 perf/x86/uncore: Rename IvyTown to IvyBridge-EP Keeping track of all the various CPU names is hard enough; adding extra silly names for no reason is just not helping. If we know the base arch name (IvyBridge) then we can do the client/server parts with the well known {,EP,EX} postfixes, no need to remember endless amounts of unrelated and pointless names for this. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8559jke61dsyr7d0i74iutli@xxxxxxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 85a16ef66cc8a053de80aadf13722a2c1254d346 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Tue Aug 12 08:00:31 2014 +0200 perf/x86/uncore: Export basic memory events for IVT IMC PMU This patch exposes two basic events for Ivytown IMC uncore PMU: - cas_count_read: number of full-cache line reads to memory controller - cas_count_write: number of full-cache line writes to memory controller Those events use the same encoding as for SNB-EP, so reuse the same event table. See specification in: http://www.intel.com/content/dam/www/public/us/en/documents/manuals/xeon-e5-2600-v2-uncore-manual.pdf By aggregating all the read and write events from all the memory controllers of each processor socket, one can determine the total memory bandwidth utilization. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140812060031.GA25239@quad Cc: zheng.z.yan@xxxxxxxxx Cc: ak@xxxxxxxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c8aab2e04ac9f442a07abeaf49ddd1703c608f47 Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 11 21:27:13 2014 +0200 perf/x86: Clean up __intel_pmu_pebs_event() code This patch makes the code more readable. It also renames precise_store_data_hsw() to precise_datala_hsw() because the function is called for both loads and stores on HSW. The patch also gets rid of the hardcoded store events codes in that same function. Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407785233-32193-5-git-send-email-eranian@xxxxxxxxxx Cc: ak@xxxxxxxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 770eee1fd38c70a009b321f5dbe64358f42511fd Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Mon Aug 11 21:27:12 2014 +0200 perf/x86: Fix data source encoding issues for load latency/precise store This patch fixes issues introuduce by Andi's previous patch 'Revamp PEBS' series. This patch fixes the following: - precise_store_data_hsw() encode the mem op type whenever we can - precise_store_data_hsw set the default data source correctly - 0 is not a valid init value for data source. Define PERF_MEM_NA as the default value This bug was actually introduced by commit 722e76e60f2775c21b087ff12c5e678cf0ebcaaf Author: Stephane Eranian <eranian@xxxxxxxxxx> Date: Thu May 15 17:56:44 2014 +0200 fix Haswell precise store data source encoding Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407785233-32193-4-git-send-email-eranian@xxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: ak@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f3908b8cfb65ab6e78ac84df3b864eb22d5b6d9e Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Aug 11 21:27:11 2014 +0200 perf/x86: Don't mark DataLA addresses as store Haswell supports reporting the data address for a range of PEBS events, including: UOPS_RETIRED.ALL MEM_UOPS_RETIRED.STLB_MISS_LOADS MEM_UOPS_RETIRED.STLB_MISS_STORES MEM_UOPS_RETIRED.LOCK_LOADS MEM_UOPS_RETIRED.SPLIT_LOADS MEM_UOPS_RETIRED.SPLIT_STORES MEM_UOPS_RETIRED.ALL_LOADS MEM_UOPS_RETIRED.ALL_STORES MEM_LOAD_UOPS_RETIRED.L1_HIT MEM_LOAD_UOPS_RETIRED.L2_HIT MEM_LOAD_UOPS_RETIRED.L3_HIT MEM_LOAD_UOPS_RETIRED.L1_MISS MEM_LOAD_UOPS_RETIRED.L2_MISS MEM_LOAD_UOPS_RETIRED.L3_MISS MEM_LOAD_UOPS_RETIRED.HIT_LFB MEM_LOAD_UOPS_L3_HIT_RETIRED.XSNP_MISS MEM_LOAD_UOPS_L3_HIT_RETIRED.XSNP_HIT MEM_LOAD_UOPS_L3_HIT_RETIRED.XSNP_HITM MEM_LOAD_UOPS_L3_HIT_RETIRED.XSNP_NONE MEM_LOAD_UOPS_L3_MISS_RETIRED.LOCAL_DRAM This facility was already enabled earlier with the original Haswell perf changes. However these addresses were always reports as stores by perf, which is wrong, as they could be loads too. The hardware does not distinguish loads and stores for these instructions, so there's no (cheap) way for the profiler to find out. Change the type to PERF_MEM_OP_NA instead. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407785233-32193-3-git-send-email-eranian@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 86a04461a99fb857bd7d7f87b234cae27df07f8a Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Mon Aug 11 21:27:10 2014 +0200 perf/x86: Revamp PEBS event selection The basic idea is that it does not make sense to list all PEBS events individually. The list is very long, sometimes outdated and the hardware doesn't need it. If an event does not support PEBS it will just not count, there is no security issue. We need to only list events that something special, like supporting load or store addresses. This vastly simplifies the PEBS event selection. It also speeds up the scheduling because the scheduler doesn't have to walk as many constraints. Bugs fixed: - We do not allow setting forbidden flags with PEBS anymore (SDM 18.9.4), except for the special cycle event. This is done using a new constraint macro that also matches on the event flags. - Correct DataLA and load/store/na flags reporting on Haswell [Requires a followon patch] - We did not allow all PEBS events on Haswell: We were missing some valid subevents in d1-d2 (MEM_LOAD_UOPS_RETIRED.*, MEM_LOAD_UOPS_RETIRED_L3_HIT_RETIRED.*) This includes the changes proposed by Stephane earlier and obsoletes his patchkit (except for some changes on pre Sandy Bridge/Silvermont CPUs) I only did Sandy Bridge and Silvermont and later so far, mostly because these are the parts I could directly confirm the hardware behavior with hardware architects. Also I do not believe the older CPUs have any missing events in their PEBS list, so there's no pressing need to change them. I did not implement the flag proposed by Peter to allow setting forbidden flags. If really needed this could be implemented on to of this patch. v2: Fix broken store events on SNB/IVB (Stephane Eranian) v3: More fixes. Rename some arguments (Stephane Eranian) v4: List most Haswell events individually again to report memory operation type correctly. Add new flags to describe load/store/na for datala. Update description. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Reviewed-by: Stephane Eranian <eranian@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407785233-32193-2-git-send-email-eranian@xxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Kan Liang <kan.liang@xxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Maria Dimakopoulou <maria.n.dimakopoulou@xxxxxxxxx> Cc: Mark Davies <junk@xxxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 03de874aa76ac0adcf6f56ebf3de623d09a5dde3 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Aug 7 17:08:54 2014 -0700 perf/x86: Fix :pp without LBR This fixes a side effect of Kan's earlier patch to probe the LBRs at boot time. Normally when the LBRs are disabled cycles:pp is disabled too. So for example cycles:pp doesn't work. However this is not needed with PEBSv2 and later (Haswell) because it does not need LBRs to correct the IP-off-by-one. So add an extra check for PEBSv2 that also allows :pp Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: kan.liang@xxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1407456534-15747-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit e708d7ad80737496870fd0b6794704d063fb0cdc Author: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Date: Mon Aug 4 15:31:08 2014 +0200 perf: Do poll_wait() before checking condition in perf_poll() One should first enqueue to the waitqueue and then check for the condition. If the condition gets true after mutex_unlock() but before poll_wait() then we lose it and would have wait for another wakeup. This has been like this since v2.6.31-rc1 commit c7138f37f9 ("perf_counter: fix perf_poll()"). Before that it was slightly worse. I guess we get enough wakeups so if we miss here one it doesn't really matter. It is still a bad example. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407159068-1478-1-git-send-email-bigeasy@xxxxxxxxxxxxx Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 36bbb2f2988a29cdc3f8e0c93478795934553454 Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Jul 31 14:05:22 2014 -0700 perf/x86: Use extended offcore mask on Haswell HSW-EP has a larger offcore mask than the client Haswell CPUs. It is the same mask as on Sandy/IvyBridge-EP. All of Haswell was using the client mask, so some bits were missing. On the client parts some bits were also missing compared to Sandy/IvyBridge, in particular the bits to match on a L4 cache hit. The Haswell core in both client and server incarnations accepts the same bits (but some are nops), so we can use the same mask. So use the snbep extended mask, which is a superset of the client and the server, for all of Haswell. This allows specifying a number of extra offcore events, like for example for HSW-EP. % perf stat -e cpu/event=0xb7,umask=0x1,offcore_rsp=0x3fffc00100,name=offcore_response_pf_l3_rfo_l3_miss_any_response/ true which were <not supported> before. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Reviewed-by: eranian@xxxxxxxxxx Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406840722-25416-1-git-send-email-andi@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 17a6034555c601331311d31beb395f6665056b3e Author: Fengguang Wu <fengguang.wu@xxxxxxxxx> Date: Mon Aug 4 13:29:11 2014 +0200 perf/x86/uncore: Fix coccinelle warnings arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.c:961:2-3: Unneeded semicolon arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.c:1100:2-3: Unneeded semicolon arch/x86/kernel/cpu/perf_event_intel_uncore_nhmex.c:1138:2-3: Unneeded semicolon Remove unneeded semicolon. Generated by: scripts/coccinelle/misc/semicolon.cocci Signed-off-by: Fengguang Wu <fengguang.wu@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ovfvr4nbqjo7nzc16y2lpjy9@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit c1e46580c3b7bf25053519cf39f01a2f9ea4d865 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Wed Jul 30 15:22:15 2014 +0800 perf/x86/uncore: move NHM-EX/WSM-EX specific code to seperate file Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406704935-27708-4-git-send-email-zheng.z.yan@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 8268fdfc45b747bcb3351464efefbdf611aeea9b Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Wed Jul 30 15:22:14 2014 +0800 perf/x86/uncore: Move SNB/IVB-EP specific code to seperate file Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406704935-27708-3-git-send-email-zheng.z.yan@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 92807ffdf32c380a09cfa396c853e97303826103 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Wed Jul 30 15:22:13 2014 +0800 perf/x86/uncore: Move NHM/SNB/IVB specific code to seperate file Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: eranian@xxxxxxxxxx Link: http://lkml.kernel.org/r/1406704935-27708-2-git-send-email-zheng.z.yan@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 514b2346df385fce61cefb940813207758648136 Author: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Date: Wed Jul 30 15:22:12 2014 +0800 perf/x86/uncore: Declare some functions and variables Prepare for moving hardware specific code to seperate files. Signed-off-by: Yan, Zheng <zheng.z.yan@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: eranian@xxxxxxxxxx Cc: andi@xxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1406704935-27708-1-git-send-email-zheng.z.yan@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit fadfe7be6e50de7f03913833b33c56cd8fb66bac Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 1 14:33:02 2014 +0200 perf: Add queued work to remove orphaned child events In cases when the owner task exits before the workload and the workload made some forks, all the events stay in until the last workload process exits. Thats' because each child event holds parent reference. We want to release all children events once the parent is gone, because at that time there's no process to read them anyway, so they're just eating resources. This removal races with process exit, which removes all events and fork, which clone events. To be clear of those two, adding work queue to remove orphaned child for context in case such event is detected. Using delayed work queue (with delay == 1), because we queue this work under perf scheduler callbacks. Normal work queue tries to wake up the queue process, which deadlocks on rq->lock in this place. Also preventing clones from abandoned parent event. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406896382-18404-4-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit f86977620ee4635f26befcf436700493a38ce002 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 1 14:33:01 2014 +0200 perf: Set owner pointer for kernel events Adding fake EVENT_OWNER_KERNEL owner pointer value for kernel perf events, so we could distinguish it from user events, which needs special care in following patch. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Mark Rutland <mark.rutland@xxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406896382-18404-3-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 0f7c29ce90c4d20c23de5657e1e2c2eabf51d69a Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Wed Jul 30 12:08:56 2014 +0200 perf/x86/intel: Update Intel models The model number descriptions got a bit messy, clean them up. Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-oo3xclxdoy8s7ubssn929vaj@xxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 1a91eac68b1e50482670007775e9ba82ef3bffbe Merge: f96f567 d6a947f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Wed Aug 13 07:06:08 2014 +0200 Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo: User visible fixes and changes: * Show better error message in case we fail to open counters due to EBUSY error, for instance, when oprofile is running. (Jiri Olsa) * Honour -w in the report tools (report, top), allowing to specify the widths for the histogram entries columns. (Namhyung Kim) * Don't run workload if not told to, as happens when the user has no permission for profiling and even then the specified workload ends up running (Arnaldo Carvalho de Melo) * Do not ignore mmap events in 'perf kmem report'. This tool was using the kernel mmaps in the running machine instead of processing the mmap records from the perf.data file. (Namhyung Kim) * Properly show submicrosecond times in 'perf kvm stat' (Christian Borntraeger) * Honour existing 'perf record' --time/-T command line option (Andi Kleen) * Make sure --symfs usage includes the path separator (Arnaldo Carvalho de Melo) Development infrastructure fixes and changes: * Fix arm64 build error (Mark Salter) * Fix make PYTHON override (Namhyung Kim) * Rename ordered_samples to ordered_events and allow setting a queue size for ordering events (Jiri Olsa) * Default to python version 2 (Thomas Ilsche) Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 3220574143147db7c9f9b00c8dc6efcbacad44cc Author: Axel Lin <axel.lin@xxxxxxxxxx> Date: Tue Aug 12 09:41:10 2014 +0800 regulator: tps65023: Remove duplicate test for I2C_FUNC_SMBUS_BYTE_DATA functionality Since commit b42261078a91 ("regmap: i2c: fallback to SMBus if the adapter does not support standard I2C"), regmap-i2c will check the I2C_FUNC_SMBUS_[BYTE|WORD]_DATA functionality based on the regmap_config setting if the adapter does not support standard I2C. So remove the I2C_FUNC_SMBUS_BYTE_DATA functionality check in the driver code. Signed-off-by: Axel Lin <axel.lin@xxxxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit d6a947fb6cdff3a19db93895c746f70b5903a965 Author: Thomas Ilsche <thomas.ilsche@xxxxxxxxxxxxx> Date: Mon Aug 4 15:03:15 2014 +0200 perf tools: Default to python version 2 According to PEP 394 recommendation [1], it's more portable to use python2 rather than plain python to refer python binary version 2. Since there're distros using python3 by default like Arch, and we don't support python3 (yet), it'd be better using python2 explicitly. But older versions (prior to 2.7) seem not to provide python2 but just python. Given that it's only old version, try python2 first and then fallback to python. It'll ensure that it always points to python 2.x. I tested (compiles and perf script runs) with the combinations: 1) python -> python2.x, python-config -> python2.x-config python2 N/A, python2-config N/A 2) python -> python3.x, python-config -> python3.x-config python2 -> python2.x, python2-config -> python2.x-config 3) python -> python2.x, python-config -> python2.x-config python2 -> python2.x, python2-config -> python2.x-config 4) python -> python2.x, python-config -> python2.x-config python2 -> python2.x, python2-config N/A Based on / replaces the patch 2/2 by Namhyung Kim. [1] https://www.python.org/dev/peps/pep-0394 Based-on-patch-by: Namhyung Kim <namhyung@xxxxxxxxxx> Signed-off-by: Thomas Ilsche <thomas.ilsche@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/53DF8493.6070206@xxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 038fa0b9739d7f375f3f61a2ce4f78ad44329f66 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Aug 3 14:10:36 2014 +0200 perf tools: Fix PERF_FLAG_FD_CLOEXEC flag probing event type open counters due to EBUSY error We were using PERF_COUNT_SW_CPU_CLOCK as an probing event type. Using expected PERF_TYPE_SOFTWARE type instead. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: William Cohen <wcohen@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Link: http://lkml.kernel.org/r/20140803121036.GA1181@xxxxxxxxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 59dc9f2534569d11a55c8b5dbe93c36f2b2fa506 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:41 2014 +0900 perf tools: Fix column alignment when headers aren't shown on TUI If user sets ui.show-headers config option to false, it didn't calculate default column width so it broke the alignment. This is because it does the calculation just before showing headers. Move it to the beginning of the hist browser so that it can be called regardless of the config option. Reported-by: Jiri Olsa <jolsa@xxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-8-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 1ecd44533a8a724f64d4305abb69836ca73c7390 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:40 2014 +0900 perf tools: Add name field into perf_hpp_fmt It makes the code a bit simpler and easier to debug IMHO. I guess it can also remove similar code in perf diff, but let's keep it for a future work. :) Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-7-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cf59002fdebc9c00ee29233e65bc39dd69e0eaf6 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:39 2014 +0900 perf top: Add -w option for setting column width Add -w/--column-widths option like perf report does so that users are able to see symbols even with some very long C++ library/functions. It can be a list separated by comma for each column. $ perf top -w 0,20,30 The value of 0 means there's no limit. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-6-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5b5916696051b88e63f3726cc3db44bf9561bad9 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:38 2014 +0900 perf report: Honor column width setting Set column width and do not change it if user gives -w/--column-widths option. It'll truncate longer symbols than the width if exists. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-5-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit e0d66c74b09f5103eef441a98b68056c4dae4cac Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:37 2014 +0900 perf tools: Save column length in perf_hpp_fmt Save column length in the hpp format and pass it to print functions. This is a preparation for users to control column width in the output. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-4-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d675107ce6fa988102851e0b0ef06e46c8aa7ac6 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:36 2014 +0900 perf tools: Make __hpp__fmt() receive an additional len argument So that it can properly handle alignment requirements later. To do that, add percent_color_len_snprintf() fucntion to help coloring of overhead columns. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-3-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8246de88e95ddef7508f5601d7af85c3ab9e476b Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Thu Jul 31 14:47:35 2014 +0900 perf tools: Left-align output contents Now perf left-aligns column headers but the contents does not. It should have same alignment. This requires a change in pid sort key - it consists of two part (pid and comm). As length of comm can be vary it'd be better to change the order of them. Thanks to Jiri Olsa for pointing this out. Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406785662-5534-2-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 56c7d79e49776084b852e451bda5f59dc3bcf894 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Tue Jul 29 15:57:19 2014 +0900 perf tools: Fix make PYTHON override Thomas reported that make PYTHON=python2 is not work on some systems. I can reproduce it on my ArchLinux box too. This is because it's overridden by config/feature-checks/Makefile regardless of PYTHON setting. I guess it's a bug slipped into during the feature checking change. Actually, we don't need to check python-config in the feature-checks. We can just pass appropriate FEATURE_CHECK_*FLAGS. Reported-by: Thomas Ilsche <thomas.ilsche@xxxxxxxxxxxxx> Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Tested-by: Thomas Ilsche <thomas.ilsche@xxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Thomas Ilsche <thomas.ilsche@xxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1406617040-26909-1-git-send-email-namhyung@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 64c40908938953d7afa90e9363327875286349e5 Author: Namhyung Kim <namhyung@xxxxxxxxxx> Date: Fri Aug 1 14:59:31 2014 +0900 perf kmem: Do not ignore mmap events The perf kmem command didn't process mmap events for some unknown reason and it instead gets symbol info from a running kernel. This is problematic if perf kmem record was run on a different kernel. This patch adds the mmap event handlers and reverts the commit e727ca73f85d ("perf kmem: Resolve kernel symbols again"). Signed-off-by: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Namhyung Kim <namhyung.kim@xxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406872771-23933-1-git-send-email-namhyung@xxxxxxxxxx [ Fixed up merge conflict with Jiri's ordered_events rename patch set ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 63914aca8f7e7a75d0ee027af7b1755c69cc1e2c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 1 17:46:54 2014 +0200 perf tools: Show better error message in case we fail to open counters due to EBUSY error Showing better error message in case we fail to open counters due to the EBUSY error. If we detect oprofile daemon process running, we now display following message for EBUSY error: $ perf record ls Error: The PMU counters are busy/taken by another profiler. We found oprofile daemon running, please stop it and try again. In case oprofiled was not detected the current error message stays: $ perf record ls Error: The sys_perf_event_open() syscall returned with 16 (Device or resource busy) for event (cycles). /bin/dmesg may provide additional information. No CONFIG_PERF_EVENTS=y kernel support configured? Also changing PERF_FLAG_FD_CLOEXEC detection code not to display error in case of EBUSY error, as it currently does: $ perf record ls Error: perf_event_open(..., PERF_FLAG_FD_CLOEXEC) failed with unexpected error 16 (Device or resource busy) perf_event_open(..., 0) failed unexpectedly with error 16 (Device or resource busy) The PMU counters are busy/taken by another profiler. We found oprofile daemon running, please stop it and try again. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Cc: William Cohen <wcohen@xxxxxxxxxx> Cc: Yann Droneaud <ydroneaud@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406908014-8312-1-git-send-email-jolsa@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit b0a45203a75a800015828ac89f2945981019b65b Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Jun 12 09:50:11 2014 +0200 perf tools: Allow out of order messages in forced flush In forced flush (OE_FLUSH__HALF) we break the rules of the flush timestamp via PERF_RECORD_FINISHED_ROUND event, so we could get out of order event. Do not force error in this case plus changing the output warning to use WARN_ONCE. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8q8794a8nlmpd1u8xrqmcyd2@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit cee3ab9caa7ae5ee81027e60c0109063664d9217 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Jul 11 14:49:54 2014 +0200 perf tools: Add debug prints for ordered events queue Adding some prints for ordered events queue, to help debug issues. Adding debug_ordered_events debug variable to be able to enable ordered events debug messages using: $ perf --debug ordered-events=2 report ... Also using oe pointer in perf_session__queue_event instead of chained session variable dereferencing. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-7p3mnnopjvsp9nmk9msqcfkm@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 94786b67b5f4577c16486e8eb10ff045e59f80ef Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Jun 5 11:00:20 2014 +0200 perf tools: Add report.queue-size config file option Adding report.queue-size config file option to setup the maximum allocation size for session's struct ordered_events object. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-lm42mbpu0cwljpyy8vw5y26n@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 94c0655fc16b0c09edc21cadddbeef95c408f3e7 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Jun 6 05:27:28 2014 -0400 perf tools: Add perf_config_u64 function Adding perf_config_u64 function to be able to parse 'llong' values out of config file. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ni6gqdlvw7khp74r9htvklkb@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit adc56ed1e01f1c43fc7bf75340f11f4ad5e11145 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jun 10 22:50:03 2014 +0200 perf tools: Add ordered_events__free function Adding ordered_events__free function to release all the struct ordered_events data. It's replacement for former perf_session_free_sample_buffers function. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-urraa8ccay4o14wambjraws7@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 36522f5cf2ad280c971557e04120d52f9330ed36 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jun 10 22:47:40 2014 +0200 perf tools: Add ordered_events__init function Adding ordered_events__init function for struct ordered_events struct initialization. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-g6dx35hed8g14eh1ygx4uzp6@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fa4e5c67a2d169b9ef83f51b94e1d4a562ddfc0f Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Jun 15 19:46:08 2014 +0200 perf tools: Use list_move in ordered_events_delete function As Namhyung pointed out we can use list_move in ordered_events_delete. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Suggested-by: Namhyung Kim <namhyung@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-m8ae5s5cuwyytitgb6iqilid@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5f86b80b85f0dcd05fd1471eac6984181a707c4f Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 1 13:02:58 2014 -0300 perf tools: Create ordered-events object Move ordered events code into separated object ordered-events.[ch]. No functional change was intended. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-1ge3rilgudszbl87cejm1tfg@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 79a30fe4f3758c98e1b7a474952b9701d513e580 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jun 10 22:31:35 2014 +0200 perf tools: Make perf_session__deliver_event global Making perf_session__deliver_event global function, as it will be called from another object in following patch. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-rz7s2b8uwv567bigckh75gvk@xxxxxxxxxxxxxx [ Fixup naming to match class__method schema, as now is more widely exposed ] Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d40b4a15ab2bfcfa7d946b69ca1f12c93b22d169 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Fri Aug 1 13:01:04 2014 -0300 perf tools: Flush ordered events in case of allocation failure In previous patches we added a limit for ordered events queue allocation size. If we reach this size we need to flush (part of) the queue to get some free buffers. The current functionality is not affected, because the limit is hard coded to (u64) -1. The configuration code for size will come in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-ggcas0xdq847fi85bz73do2e@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8d99a6ceebe862ac4afd832cdab332ee7b3b5599 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Wed Jun 11 15:09:35 2014 +0200 perf tools: Limit ordered events queue size Add limit to the ordered events queue allocation. This way we will be able to control the size of the queue buffers. There's no limit at the moment (it's set to (u64) -1). The config code will come in following patches. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-lw1ny3mk4ctb6su5ght5rsng@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit d8836b5d1736632aa1a38a8ed0c9361c96d7c95a Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Thu Jun 5 10:29:45 2014 +0200 perf tools: Factor ordered_events__flush to be more generic Centralizing the next_flush calculation under the ordered_events__flush function. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-srwunsy7o5wl17vpt4a10oxp@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c64c7e1a5addf93b7dec98a27b8c48457506aa06 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Tue Jun 10 21:58:02 2014 +0200 perf tools: Add ordered_events__(new|delete) interface Adding new ordered events interface to new|delete event buffer: ordered_events__new - allocate event buffer from the cache ordered_events__delete - return event buffer to the cache Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-srwunsy7o5wl17vpt4a10oxp@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit fc12482f4f7ae5c6fca13922a1e0898ff9002aa6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Mon Jun 9 23:11:30 2014 +0200 perf tools: Rename ordered_events members Rename 'struct ordered_events' members to fit better the ordered events style. No functional change was intended. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-v0eb2hsmrxbolnoawu5fn92z@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 37e39aa8a8a42ad2fd72b7c7349115dad8297d9c Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Jul 6 14:23:03 2014 +0200 perf tools: Rename ordered_samples struct to ordered_events Following up with ordered_samples rename for ordered_samples and sample_queue structs to ordered_events and ordered_event structs respectively. Also changing flush_sample_queue function name to ordered_events_flush. No functional change was intended. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-2dkrdvh0bbmzxdse437fcgls@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 0a8cb85c200c4082ed7e57efd90dd9d18c8d40b6 Author: Jiri Olsa <jolsa@xxxxxxxxxx> Date: Sun Jul 6 14:18:21 2014 +0200 perf tools: Rename ordered_samples bool to ordered_events The time ordering is generic for all kinds of events, so using generic name 'ordered_events' for ordered_samples bool in perf_tool struct. No functional change was intended. Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-07mrqzcuhsks9wfmxrzsvemz@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 8affc2b8c27bfc2d6e70827b746f490b62c44eaa Author: Andi Kleen <ak@xxxxxxxxxxxxxxx> Date: Thu Jul 31 14:45:04 2014 +0800 perf record: Honour --no-time command line option Time stamps are always implicitely enabled for record currently. The old --time/-T option is a nop. Allow the user to disable timestamps by using --no-time, honouring the existing option. The defaults are unchanged. Signed-off-by: Andi Kleen <ak@xxxxxxxxxxxxxxx> Cc: Andi Kleen <andi@xxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406789104-25863-10-git-send-email-zheng.z.yan@xxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit ee960be7bb09b201926cb37eaa82fb7da605ea7c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 15:04:45 2014 +0200 drm/i915: Some cleanups for the ppgtt lifetime handling So when reviewing Michel's patch I've noticed a few things and cleaned them up: - The early checks in ppgtt_release are now redundant: The inactive list should always be empty now, so we can ditch these checks. Even for the aliasing ppgtt (though that's a different confusion) since we tear that down after all the objects are gone. - The ppgtt handling functions are splattered all over. Consolidate them in i915_gem_gtt.c, give them OCD prefixes and add wrappers for get/put. - There was a bit a confusion in ppgtt_release about whether it cares about the active or inactive list. It should care about them both, so augment the WARNINGs to check for both. There's still create_vm_for_ctx left to do, put that is blocked on the removal of ppgtt->ctx. Once that's done we can rename it to i915_ppgtt_create and move it to its siblings for handling ppgtts. v2: Move the ppgtt checks into the inline get/put functions as suggested by Chris. v3: Inline the now redundant ppgtt local variable. Cc: Michel Thierry <michel.thierry@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Michel Thierry <michel.thierry@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b9d06dd9d1dd3672b391e6387d62aa8dc4e377bd Author: Michel Thierry <michel.thierry@xxxxxxxxx> Date: Wed Aug 6 15:04:44 2014 +0200 drm/i915: vma/ppgtt lifetime rules VMAs should take a reference of the address space they use. Now, when the fd is closed, it will release the ref that the context was holding, but it will still be referenced by any vmas that are still active. ppgtt_release() should then only be called when the last thing referencing it releases the ref, and it can just call the base cleanup and free the ppgtt. Note that with this we will extend the lifetime of ppgtts which contain shared objects. But all the non-shared objects will get removed as soon as they drop of the active list and for the shared ones the shrinker can eventually reap them. Since we currently can't evict ppgtt pagetables either I don't think that temporary leak is important. Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> [danvet: Add note about potential ppgtt leak with this approach.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 83d7f2424741c9dc76c21377c9d00d47abaf88df Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Aug 4 13:23:28 2014 -0400 sched/numa: Fix numa capacity computation Commit c61037e9 fixes the phenomenon of 'fantom' cores due to N*frac(smt_power) >= 1 by limiting the capacity to the actual number of cores in the load balancing code. This patch applies the same correction to the NUMA balancing code. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: mgorman@xxxxxxx Cc: vincent.guittot@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: efault@xxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407173008-9334-3-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b932c03c34f3b03c7364c06aa8cae5b74609fc41 Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Aug 4 13:23:27 2014 -0400 sched/numa: Fix off-by-one in capacity check Commit a43455a1d572daf7b730fe12eb747d1e17411365 ensures that task_numa_migrate will call task_numa_compare on the preferred node all the time, even when the preferred node has no free capacity. This could lead to a performance regression if nr_running == capacity on both the source and the destination node. This can be avoided by also checking for nr_running == capacity on the source node, which is one stricter than checking .has_free_capacity. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: mgorman@xxxxxxx Cc: vincent.guittot@xxxxxxxxxx Cc: Morten.Rasmussen@xxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: efault@xxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/1407173008-9334-2-git-send-email-riel@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit aaecac4ad46b35ad308245384d019633fb9bc21b Author: Zhihui Zhang <zzhsuny@xxxxxxxxx> Date: Fri Aug 1 21:18:03 2014 -0400 sched: Rename a misleading variable in build_overlap_sched_groups() The child variable in build_overlap_sched_groups() actually refers to the peer or sibling domain of the given CPU. Rename it to sibling to be consistent with the naming in build_group_mask(). Signed-off-by: Zhihui Zhang <zzhsuny@xxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1406942283-18249-1-git-send-email-zzhsuny@xxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 9a5d9ba6a3631d55c358fe1bdbaa162a97471a05 Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jul 29 17:15:11 2014 +0200 sched/fair: Allow calculate_imbalance() to move idle cpus Allow calculate_imbalance() to 'create' idle cpus in the busiest group if there are idle cpus in the local group. Suggested-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140729152705.GX12054@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit caeb178c60f4f93f1b45c0bc056b5cf6d217b67f Author: Rik van Riel <riel@xxxxxxxxxx> Date: Mon Jul 28 14:16:28 2014 -0400 sched/fair: Make update_sd_pick_busiest() return 'true' on a busier sd Currently update_sd_pick_busiest only identifies the busiest sd that is either overloaded, or has a group imbalance. When no sd is imbalanced or overloaded, the load balancer fails to find the busiest domain. This breaks load balancing between domains that are not overloaded, in the !SD_ASYM_PACKING case. This patch makes update_sd_pick_busiest return true when the busiest sd yet is encountered. Groups are ranked in the order overloaded > imbalanced > other, with higher ranked groups getting priority even when their load is lower. This is necessary due to the possibility of unequal capacities and cpumasks between domains within a sched group. Behaviour for SD_ASYM_PACKING does not seem to match the comment, but I have no hardware to test that so I have left the behaviour of that code unchanged. Enum for group classification suggested by Peter Zijlstra. Signed-off-by: Rik van Riel <riel@xxxxxxxxxx> [peterz: replaced sg_lb_stats::group_imb with the new enum group_type in an attempt to avoid endless recalculation] Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Acked-by: Michael Neuling <mikey@xxxxxxxxxxx> Cc: ktkhai@xxxxxxxxxxxxx Cc: tim.c.chen@xxxxxxxxxxxxxxx Cc: nicolas.pitre@xxxxxxxxxx Cc: jhladky@xxxxxxxxxx Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Link: http://lkml.kernel.org/r/20140729152743.GI3935@laptop Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 743cb1ff191f00fee653212bdbcee1e56086d6ce Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Date: Tue Jul 29 17:00:21 2014 +0200 sched/fair: Make calculate_imbalance() independent Rik noticed that calculate_imbalance() relies on update_sd_pick_busiest() to guarantee that busiest->sum_nr_running > busiest->group_capacity_factor. Break this implicit assumption (with the intent of not providing it anymore) by having calculat_imbalance() verify it and not rely on others. Reported-by: Rik van Riel <riel@xxxxxxxxxx> Signed-off-by: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Acked-by: Vincent Guittot <vincent.guittot@xxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/20140729152631.GW12054@xxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit b7967dc79fbd32ef198b429b2597459a4130207f Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 7 11:03:31 2014 +0200 ath10k: remove htc->stopped This is not necessary anymore. There are no more uncontrolled htc tx entry points. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 2986e3efb84fc79e798c1967beec6bb5eede7dee Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 7 11:03:30 2014 +0200 ath10k: group some pci probing helpers Make probe/remove functions shorter and easier to understand. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 0edf2577a5927aa8d1521f22da753e1d0c2a4db4 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 7 11:03:29 2014 +0200 ath10k: remove pci features var The ATH10K_PCI_FEATURE_MSI_X was originally introduced to support both chips QCA988Xv1 and QCA988Xv2. Since v1 isn't supported anymore it doesn't make sense to keep the feature flag around. Since this is the last one remove the whole thing. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit c0c378f9907c9e52aa95a87ac4622039a84bac99 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 7 11:03:28 2014 +0200 ath10k: remove target soc ps code The soc powersave was disabled by default. It never was fully tested. Some hw apparently had problems with it and the implementation itself had a possible race. Just remove the refcounting and simply wake up the device when probing and put to sleep when removing. kvalo: make ath10k_pci_wake() and _sleep() static Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit e7b541948b7ae542267257a6183341f6a92ed1b8 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Thu Aug 7 11:03:27 2014 +0200 ath10k: embed ar_pci inside ar Use the common convention of embedding private structures inside parent structures. This reduces allocations and simplifies pci probing code. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 5c81c7fd62004be13a3c9345ca25607d14862cc4 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 5 14:54:44 2014 +0200 ath10k: introduce a stricter scan state machine This aims at fixing some rare scan bugs related to firmware reporting unexpected scan event sequences. One such bug was if spectral scan phyerr reporting prevented firmware from properly propagating scan events to host. This led to scan timeout. After that next scan would trigger scan completed event first (before scan started event) leading to ar->scan.in_progress and timeout timer states to be overwritten incorrectly and making the very next scan to hang forever. Reported-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 9ff8b7247dd211158410af4bb5ebbc507182729f Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Aug 5 14:54:43 2014 +0200 ath10k: simplify scan debug prints This also reduces the cruft of printing scan event names in capitals. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cff990ce7ddd6a43f86757867399a8a64aa29af9 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Aug 4 09:18:33 2014 +0300 ath10k: fix wmi service bitmap debug The 10.x and main firmware branches have conflicting WMI service bitmap definitions. This also fixes WMI services parsing on big-endian hosts and changes debugfs output to be more human friendly. kvalo: remove braces and the last semicolon from SVCSTR() Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 14bf993e83e1d6924f4bf4506120a15c4b255e58 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:34 2014 +0100 drm/i915/bdw: Always use MMIO flips with Execlists The normal flip function places things in the ring in the legacy way, so we either fix that or force MMIO flips always as we do in this patch. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch. Fucking again.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ba8b7ccb196b07c1c553450e8e7b44a7a938e58a Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:33 2014 +0100 drm/i915/bdw: Workload submission mechanism for Execlists This is what i915_gem_do_execbuffer calls when it wants to execute some worload in an Execlists world. v2: Check arguments before doing stuff in intel_execlists_submission. Also, get rel_constants parsing right. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Drop the chipset flush, that's pre-gen6. And appease checkpatch a bit .... again!] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 156485852684b511be28a83c78fece8b27ef7c26 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:32 2014 +0100 drm/i915/bdw: GEN-specific logical ring emit batchbuffer start Dispatch_execbuffer's evil twin. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Ditch the check for aliasing ppgtt. It'll break soon and execlists requires full ppgtt anyway.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 73d477f6bb17a1f14c4897a4b4a6597fe9a38ad2 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:31 2014 +0100 drm/i915/bdw: Interrupts with logical rings We need to attend context switch interrupts from all rings. Also, fixed writing IMR/IER and added HWSTAM at ring init time. Notice that, if added to irq_enable_mask, the context switch interrupts would be incorrectly masked out when the user interrupts are due to no users waiting on a sequence number. Therefore, this commit adds a bitmask of interrupts to be kept unmasked at all times. v2: Disable HWSTAM, as suggested by Damien (nobody listens to these interrupts, anyway). v3: Add new get/put_irq functions. Signed-off-by: Thomas Daniel <thomas.daniel@xxxxxxxxx> (v1) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> (v2 & v3) Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Drop the GEN8_ prefix from the context switch interrupt define and move it to its brethren.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9832b9dae8f9f505c7ed898a043b4f54b54597ed Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:30 2014 +0100 drm/i915/bdw: Ring idle and stop with logical rings This is a hard one, since there is no direct hardware ring to control when in Execlists. We reuse intel_ring_idle here, but it should be fine as long as i915_add_request does the ring thing. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4712274c362b7730a1c6e01c9a51a6d46f5b7f43 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:28 2014 +0100 drm/i915/bdw: GEN-specific logical ring emit flush Same as the legacy-style ring->flush. v2: The BSD invalidate bit still exists in GEN8! Add it for the VCS rings (but still consolidate the blt and bsd ring flushes into one). This was noticed by Brad Volkin. v3: The command for BSD and for other rings is slightly different: get it exactly the same as in gen6_ring_flush + gen6_bsd_ring_flush Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Checkpatch.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4da46e1e5bb7e7396fad172cdaffbe496562f3d8 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:27 2014 +0100 drm/i915/bdw: GEN-specific logical ring emit request Very similar to the legacy add_request, only modified to account for logical ringbuffer. v2: Use MI_GLOBAL_GTT, as suggested by Brad Volkin. v3: Unify render and non-render in the same function, as noticed by Brad Volkin. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 82e104cc266c6da30a30fc5028b2f0236c669cd7 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:26 2014 +0100 drm/i915/bdw: New logical ring submission mechanism Well, new-ish: if all this code looks familiar, that's because it's a clone of the existing submission mechanism (with some modifications here and there to adapt it to LRCs and Execlists). And why did we do this instead of reusing code, one might wonder? Well, there are some fears that the differences are big enough that they will end up breaking all platforms. Also, Execlists offer several advantages, like control over when the GPU is done with a given workload, that can help simplify the submission mechanism, no doubt. I am interested in getting Execlists to work first and foremost, but in the future this parallel submission mechanism will help us to fine tune the mechanism without affecting old gens. v2: Pass the ringbuffer only (whenever possible). Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Appease checkpatch. Again. And drop the legacy sarea gunk that somehow crept in.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26fbb77445bd402417f42936f68c0da26d33855d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Mon Aug 11 18:37:37 2014 +0300 drm/i915: Make hpd debug messages less cryptic Don't print raw numbers, use port_name() and tell the user whether it's long or short without having to figure out what the other magic number means. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e94e37ad19c74b4c2569d556cda9da4a03d4e3f8 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:25 2014 +0100 drm/i915/bdw: GEN-specific logical ring set/get seqno No mistery here: the seqno is still retrieved from the engine's HW status page (the one in the default context. For the moment, I see no reason to worry about other context's HWS page). Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd645e4314b95b21146aa6ff893d783de20c4e60 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 7 09:36:04 2014 +0200 drm/radeon: allow userptr write access under certain conditions It needs to be anonymous memory (no file mappings) and we are requried to install an MMU notifier. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 341cb9e426fac32523427c80c67543a16be46605 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 7 09:36:03 2014 +0200 drm/radeon: add userptr flag to register MMU notifier v3 Whenever userspace mapping related to our userptr change we wait for it to become idle and unmap it from GTT. v2: rebased, fix mutex unlock in error path v3: improve commit message Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 2a84a4476d6e13de72472f6ca4338aed0a8269b8 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 7 09:36:02 2014 +0200 drm/radeon: add userptr flag to directly validate the BO to GTT This way we test userptr availability at BO creation time instead of first use. Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit ddd00e33e17a62c5f44377ab42e7562ccfae7bd1 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 7 09:36:01 2014 +0200 drm/radeon: add userptr flag to limit it to anonymous memory v2 Avoid problems with writeback by limiting userptr to anonymous memory. v2: add commit and code comments Signed-off-by: Christian König <christian.koenig@xxxxxxx> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit f72a113a71ab08c4df8a5f80ab2f8a140feb81f6 Author: Christian König <christian.koenig@xxxxxxx> Date: Thu Aug 7 09:36:00 2014 +0200 drm/radeon: add userptr support v8 This patch adds an IOCTL for turning a pointer supplied by userspace into a buffer object. It imposes several restrictions upon the memory being mapped: 1. It must be page aligned (both start/end addresses, i.e ptr and size). 2. It must be normal system memory, not a pointer into another map of IO space (e.g. it must not be a GTT mmapping of another object). 3. The BO is mapped into GTT, so the maximum amount of memory mapped at all times is still the GTT limit. 4. The BO is only mapped readonly for now, so no write support. 5. List of backing pages is only acquired once, so they represent a snapshot of the first use. Exporting and sharing as well as mapping of buffer objects created by this function is forbidden and results in an -EPERM. v2: squash all previous changes into first public version v3: fix tabs, map readonly, don't use MM callback any more v4: set TTM_PAGE_FLAG_SG so that TTM never messes with the pages, pin/unpin pages on bind/unbind instead of populate/unpopulate v5: rebased on 3.17-wip, IOCTL renamed to userptr, reject any unknown flags, better handle READONLY flag, improve permission check v6: fix ptr cast warning, use set_page_dirty/mark_page_accessed on unpin v7: add warning about it's availability in the API definition v8: drop access_ok check, fix VM mapping bits Signed-off-by: Christian König <christian.koenig@xxxxxxx> Reviewed-by: Alex Deucher <alexander.deucher@xxxxxxx> (v4) Reviewed-by: Jérôme Glisse <jglisse@xxxxxxxxxx> (v4) Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> commit 9b1136d505b1de5478e11b59ca59cf8ce2a33217 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:24 2014 +0100 drm/i915/bdw: GEN-specific logical ring init Logical rings do not need most of the initialization their legacy ringbuffer counterparts do: we just need the pipe control object for the render ring, enable Execlists on the hardware and a few workarounds. v2: Squash with: "drm/i915: Extract pipe control fini & make init outside accesible". Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Make checkpatch happy.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 48d823878d64f93163f5a949623346748bbce1b4 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:23 2014 +0100 drm/i915/bdw: Generic logical ring init and cleanup Allocate and populate the default LRC for every ring, call gen-specific init/cleanup, init/fini the command parser and set the status page (now inside the LRC object). These are things all engines/rings have in common. Stopping the ring before cleanup and initializing the seqnos is left as a TODO task (we need more infrastructure in place before we can achieve this). v2: Check the ringbuffer backing obj for ring_is_initialized, instead of the context backing obj (similar, but not exactly the same). Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 454afebde873874b939465bfc1a294ac3697c96e Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:22 2014 +0100 drm/i915/bdw: Skeleton for the new logical rings submission path Execlists are indeed a brave new world with respect to workload submission to the GPU. In previous version of these series, I have tried to impact the legacy ringbuffer submission path as little as possible (mostly, passing the context around and using the correct ringbuffer when I needed one) but Daniel is afraid (probably with a reason) that these changes and, especially, future ones, will end up breaking older gens. This commit and some others coming next will try to limit the damage by creating an alternative path for workload submission. The first step is here: laying out a new ring init/fini. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a83014d3f8b936778a9bc9b3d4137769bb26d9eb Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:21 2014 +0100 drm/i915: Abstract the legacy workload submission mechanism away As suggested by Daniel Vetter. The idea, in subsequent patches, is to provide an alternative to these vfuncs for the Execlists submission mechanism. v2: Splitted into two and reordered to illustrate our intentions, instead of showing it off. Also, remove the add_request vfunc and added the stop_ring one. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: - Make checkpatch happy. - Be grumpy about the excessive vtable. - Ditch gt->is_ring_initialized.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ec3e9963a681789860e5c0120a745b717d942392 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:18 2014 +0100 drm/i915/bdw: Deferred creation of user-created LRCs The backing objects and ringbuffers for contexts created via open fd are actually empty until the user starts sending execbuffers to them. At that point, we allocate & populate them. We do this because, at create time, we really don't know which engine is going to be used with the context later on (and we don't want to waste memory on objects that we might never use). v2: As contexts created via ioctl can only be used with the render ring, we have enough information to allocate & populate them right away. v3: Defer the creation always, even with ioctl-created contexts, as requested by Daniel Vetter. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8670d6f97d8c19595950af1838f8458d7529825f Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:17 2014 +0100 drm/i915/bdw: Populate LR contexts (somewhat) For the most part, logical ring context objects are similar to hardware contexts in that the backing object is meant to be opaque. There are some exceptions where we need to poke certain offsets of the object for initialization, updating the tail pointer or updating the PDPs. For our basic execlist implementation we'll only need our PPGTT PDs, and ringbuffer addresses in order to set up the context. With previous patches, we have both, so start prepping the context to be load. Before running a context for the first time you must populate some fields in the context object. These fields begin 1 PAGE + LRCA, ie. the first page (in 0 based counting) of the context image. These same fields will be read and written to as contexts are saved and restored once the system is up and running. Many of these fields are completely reused from previous global registers: ringbuffer head/tail/control, context control matches some previous MI_SET_CONTEXT flags, and page directories. There are other fields which we don't touch which we may want in the future. v2: CTX_LRI_HEADER_0 is MI_LOAD_REGISTER_IMM(14) for render and (11) for other engines. v3: Several rebases and general changes to the code. v4: Squash with "Extract LR context object populating" Also, Damien's review comments: - Set the Force Posted bit on the LRI header, as the BSpec suggest we do. - Prevent warning when compiling a 32-bits kernel without HIGHMEM64. - Add a clarifying comment to the context population code. v5: Damien's review comments: - The third MI_LOAD_REGISTER_IMM in the context does not set Force Posted. - Remove dead code. v6: Add a note about the (presumed) differences between BDW and CHV state contexts. Also, Brad's review comments: - Use the _MASKED_BIT_ENABLE, upper_32_bits and lower_32_bits macros. - Be less magical about how we set the ring size in the context. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> (v1) Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> (v2) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0c7dd53b84def4fbbba907bef3d32a5171b617a5 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Aug 11 16:17:44 2014 +0200 drm/i915/bdw: Add a context and an engine pointers to the ringbuffer Any given ringbuffer is unequivocally tied to one context and one engine. By setting the appropriate pointers to them, the ringbuffer struct holds all the infromation you might need to submit a workload for processing, Execlists style. v2: Drop ring->ctx since that looks terribly ill-defined for legacy ringbuffer submission. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> (v1) Acked-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v2) Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 84c2377fcee7a43cd964b62143e9a3714130bb0c Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:15 2014 +0100 drm/i915/bdw: Allocate ringbuffers for Logical Ring Contexts As we have said a couple of times by now, logical ring contexts have their own ringbuffers: not only the backing pages, but the whole management struct. In a previous version of the series, this was achieved with two separate patches: drm/i915/bdw: Allocate ringbuffer backing objects for default global LRC drm/i915/bdw: Allocate ringbuffer for user-created LRCs Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8c8579176a144b1dca1d99ebb92510924168d508 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:14 2014 +0100 drm/i915/bdw: A bit more advanced LR context alloc/free Now that we have the ability to allocate our own context backing objects and we have multiplexed one of them per engine inside the context structs, we can finally allocate and free them correctly. Regarding the context size, reading the register to calculate the sizes can work, I think, however the docs are very clear about the actual context sizes on GEN8, so just hardcode that and use it. v2: Rebased on top of the Full PPGTT series. It is important to notice that at this point we have one global default context per engine, all of them using the aliasing PPGTT (as opposed to the single global default context we have with legacy HW contexts). v3: - Go back to one single global default context, this time with multiple backing objects inside. - Use different context sizes for non-render engines, as suggested by Damien (still hardcoded, since the information about the context size registers in the BSpec is, well, *lacking*). - Render ctx size is 20 (or 19) pages, but not 21 (caught by Damien). - Move default context backing object creation to intel_init_ring (so that we don't waste memory in rings that might not get initialized). v4: - Reuse the HW legacy context init/fini. - Create a separate free function. - Rename the functions with an intel_ preffix. v5: Several rebases to account for the changes in the previous patches. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> (v1) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c9e003af2d44d9f6eafe855448c41c9ac08ae895 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:13 2014 +0100 drm/i915/bdw: Introduce one context backing object per engine A context backing object only makes sense for a given engine (because it holds state data specific to that engine). In legacy ringbuffer sumission mode, the only MI_SET_CONTEXT we really perform is for the render engine, so one backing object is all we nee. With Execlists, however, we need backing objects for every engine, as contexts become the only way to submit workloads to the GPU. To tackle this problem, we multiplex the context struct to contain <no-of-engines> objects. Originally, I colored this code by instantiating one new context for every engine I wanted to use, but this change suggested by Brad Volkin makes it more elegant. v2: Leave the old backing object pointer behind. Daniel Vetter suggested using a union, but it makes more sense to keep rcs_state as a NULL pointer behind, to make sure no one uses it incorrectly when Execlists are enabled, similar to what he suggested for ring->buffer (Rusty's API level 5). v3: Use the name "state" instead of the too-generic "obj", so that it mirrors the name choice for the legacy rcs_state. Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ede7d42baeece583c864badb6f9081f4cded6c32 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:12 2014 +0100 drm/i915/bdw: Initialization for Logical Ring Contexts For the moment this is just a placeholder, but it shows one of the main differences between the good ol' HW contexts and the shiny new Logical Ring Contexts: LR contexts allocate and free their own backing objects. Another difference is that the allocation is deferred (as the create function name suggests), but that does not happen in this patch yet, because for the moment we are only dealing with the default context. Early in the series we had our own gen8_gem_context_init/fini functions, but the truth is they now look almost the same as the legacy hw context init/fini functions. We can always split them later if this ceases to be the case. Also, we do not fall back to legacy ringbuffers when logical ring context initialization fails (not very likely to happen and, even if it does, hw contexts would probably fail as well). v2: Daniel says "explain, do not showcase". Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: s/BUG_ON/WARN_ON/.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bd84b1e995918ad83bdba5d5be1bef901e169f19 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Aug 11 15:57:57 2014 +0200 drm/i915: WARN if module opt sanitization goes out of order Depending upon one module option to be sanitized (through USES_PPGTT) for the other is a bit too fragile for my taste. At least WARN about this. Cc: Ben Widawsky <ben@xxxxxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Cc: Oscar Mateo <oscar.mateo@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 127f100369a1f302904335950387d566680eb275 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:11 2014 +0100 drm/i915/bdw: Macro for LRCs and module option for Execlists GEN8 brings an expansion of the HW contexts: "Logical Ring Contexts". These expanded contexts enable a number of new abilities, especially "Execlists". The macro is defined to off until we have things in place to hope to work. v2: Rename "advanced contexts" to the more correct "logical ring contexts". v3: Add a module parameter to enable execlists. Execlist are relatively new, and so it'd be wise to be able to switch back to ring submission to debug subtle problems that will inevitably arise. v4: Add an intel_enable_execlists function. v5: Sanitize early, as suggested by Daniel. Remove lrc_enabled. Signed-off-by: Ben Widawsky <ben@xxxxxxxxxxxx> (v1) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> (v3) Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> (v2, v4 & v5) Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b20385f1f8434ec32d73414ffcadb7dcbd3a2a61 Author: Oscar Mateo <oscar.mateo@xxxxxxxxx> Date: Thu Jul 24 17:04:10 2014 +0100 drm/i915/bdw: New source and header file for LRs, LRCs and Execlists Some legacy HW context code assumptions don't make sense for this new submission method, so we will place this stuff in a separate file. Note for reviewers: I've carefully considered the best name for this file and this was my best option (other possibilities were intel_lr_context.c or intel_execlist.c). I am open to a certain bikeshedding on this matter, anyway. And some point in time, it would be a good idea to split intel_lrc.c/.h even further, but for the moment just shove everything together. v2: Change to intel_lrc.c v3: Squash together with the header file addition Signed-off-by: Oscar Mateo <oscar.mateo@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e8450f51a4b39cfe0878b4aee339820b2bfff240 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 25 23:34:03 2014 +0200 drm/irq: Implement a generic vblank_wait function As usual in both a crtc index and a struct drm_crtc * version. The function assumes that no one drivers their display below 10Hz, and it will complain if the vblank wait takes longer than that. v2: Also check dev->max_vblank_counter since some drivers register a fake get_vblank_counter function. v3: Use drm_vblank_count instead of calling the low-level ->get_vblank_counter callback. That way we'll get the sw-cooked counter for platforms without proper vblank support and so can ditch the max_vblank_counter check again. v4: Review from Michel Dänzer: - Restore lost notes about v3: - Spelling in kerneldoc. - Inline wait_event condition. - s/vblank_wait/wait_one_vblank/ Cc: Michel Dänzer <michel@xxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Michel Dänzer <michel.daenzer@xxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2a0d7cfd9482ca4c10a4d8794791760a6a7ce40c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 29 15:32:37 2014 +0200 drm: Add a plane->reset hook In general having this can't hurt, and the atomic helpers will need it to be able to reset the state objects properly. The overall idea is to reset in the order pixels flow, so planes -> crtcs -> encoders -> connectors. v2: Squash in fixup from Ville to correctly deference struct drm_plane instead of drm_crtc when walking the plane list. Fixes an oops in driver init and resume. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 906843c3a1acc36407e500a073679c4207d307cd Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 10 06:29:11 2014 +0100 drm/i915: Simplify relocate_entry_gtt() and make 64-bit safe Even though we should not try to use 4+GiB GTTs on 32-bit systems, by using a local variable we can future proof the code whilst making it easier to read. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Appease checkpatch a bit.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 060e82c6f4ccf678decffb28ba8301ca9220a995 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 10 06:29:10 2014 +0100 drm/i915: Remove redundant list_empty(eb->vmas) tests in execbuffer Part of the pre-validation for an execbuffer call is that there is at least one object in the execlist. As we bail if we fail to lookup any object, we can be sure that after the eb_lookup_vma() there is at least one object in the vma list and so we do not need to assert. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad19f10bc2a5964f1564639e60953de76b7e50f6 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sun Aug 10 06:29:08 2014 +0100 drm/i915: Pre-validate the NEED_GTTS flag for execbuffer We have an implementation requirement that precludes the user from requesting a ggtt entry when the device is operating in ppgtt mode. Move the current check from inside the execbuffer object collation to the prevalidation phase. v2: Roll both invalid flags checks into one Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit da51a1e7e398129d9fddd4b26b8469145dd4fd08 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Mon Aug 11 12:08:58 2014 +0200 drm/i915: Fix secure dispatch with full ppgtt Based upon a hunk from a patch from Chris Wilson, but augmented to: - Process the batch in the full ppgtt vm so that self-relocations match again with userspace's expectations.. - Add a comment why plain pin for the global gtt binding is safe at that point. v2: Drop local bind_vm variable (Chris). v3: Explain why this works despite the lack of proper active tracking for the ggtt batch vma. Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Reviewed-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dbbe91279511d6a18a521b953a3c139e4787e660 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 9 19:18:43 2014 +0100 drm/i915: Agnostic INTEL_INFO Adapt the macro so that we can pass either the struct drm_device or the struct drm_i915_private pointers and get the answer we want. Over time, my plan is to convert all users over to using drm_i915_private and so trimming down the pointer dance. Having spent a few hours chasing that goal and achieved over 8k of object code saving, it appears to be a worthwhile target. This interim macro allows us to slowly convert over. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> [danvet: Drop the (struct drm_device *) cast per the m-l discussion. Also explain the seemingly unecessary first cast.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9bec9b1334d687c0a9fcf3d3a1987a61b4826a45 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 09:21:35 2014 +0100 drm/i915: Double check ring is idle before declaring the GPU wedged During ring initialisation, sometimes we observe, though not in production hardware, that the idle flag is not set even though the ring is empty. Double check before giving up. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1bee20175f27b46427f10290fdd4a79334d41a60 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 9 23:00:58 2014 +0100 drm/i915: Remove set but unused 'gt_perf_status' Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f6daaec29b2a201eb8db2ce26b4460b779ad8111 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 9 23:00:56 2014 +0100 drm/i915: Make intel_disable_shared_dpll() static Found with sparse. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 87f1f46514babd40fc3551ca2d6148cdedd9c7e3 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 9 19:18:42 2014 +0100 drm/i915: Copy PCI device id into the device info block This is so that we can make the drm_i915_private->info always the preferred source for chipset type and feature queries. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 82b6b6d786466e705e7244cc676189ce47a9199a Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 9 17:37:24 2014 +0100 drm/i915: Remove fenced_gpu_access and pending_fenced_gpu_access This migrates the fence tracking onto the existing seqno infrastructure so that the later conversion to tracking via requests is simplified. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e6a844687cf929ec053c7578d5ecc794a8a6c5cf Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Mon Aug 11 12:00:12 2014 +0200 drm/i915: Force CPU relocations if not GTT mapped Move the decision on whether we need to have a mappable object during execbuffer to the fore and then reuse that decision by propagating the flag through to reservation. As a corollary, before doing the actual relocation through the GTT, we can make sure that we do have a GTT mapping through which to operate. Note that the key to make this work is to ditch the obj->map_and_fenceable unbind optimization - with full ppgtt it doesn't make a lot of sense any more anyway. v2: Revamp and resend to ease future patches. v3: Refresh patch rationale References: https://bugs.freedesktop.org/show_bug.cgi?id=81094 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Cc: Ben Widawsky <benjamin.widawsky@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> [danvet: Explain why obj->map_and_fenceable is key and split out the secure batch fix.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dc8cd1e790081a31ba4d86c3c0812c348eeec7fc Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 9 17:37:22 2014 +0100 drm/i915: Only perform set-to-gtt domain for objects bound to the global gtt If an object is not bound into the global GTT, then it cannot be accessed via the GTT. This restores the original code that was muddled by ppGTT. In the process, we remove a WARN that had long outlived its usefulness and was simply being coded around instead. Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d6699dd3a7f696a80a5f8e5bb6ecf6ff6dd7c998 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Sat Aug 9 16:29:31 2014 +0100 drm/i915: Fix wrong number of HDMI translation entries I keep telling myself that those tables aren't great because their size is the number of dwords we need to program and not the number of entries (number of dwords = number of entries * 2). And... I got it wrong when I refactored the code. Fortunately, it was only wrong when the VBT table (or the code parsing it) is itself erroneous. Long story short, it shouldn't matter, but still, there's a potential array overflow and random programming of the DDI translation tables. Cc: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Jani Nikula <jani.nikula@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3bb11b536c1037143765b4efc8056600438df7f6 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Mon Aug 11 09:06:39 2014 +0530 drm/i915: Continuation of future readiness series Removing the check for HAS_PCH_SPLIT, it looks redundant here. Anyways all the platforms are checked separately. v2: Reordering as per the gen (Ville) Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit fd3cbdc0d1b5254a2e8793df58c409b469899a3f Author: Ingo Molnar <mingo@xxxxxxxxxx> Date: Sun Aug 10 08:53:39 2014 +0200 jump_label: Fix small typos in the documentation Was reading through the documentation of this code and noticed a few typos, missing commas, etc. Cc: Jason Baron <jbaron@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Cc: Borislav Petkov <bp@xxxxxxxxx> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: Mel Gorman <mgorman@xxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx> commit 22c59960d9fe72f3fbd28de69cc43c5522dd5fe6 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Aug 8 17:45:32 2014 -0300 drm/i915: fix i915_interrupt_info on BDW Currently, if the machine is runtime suspended an you read the file, you will get an "Unclaimed register" error message. Testcase: igt/pm_rpm/debugfs-read Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0da1d4a0b9516adb2acc4841e9f6da6618f47f4e Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Fri Aug 8 16:25:47 2014 -0700 x86: Add "make tinyconfig" to configure the tiniest possible kernel Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1, "make allnoconfig" disables every possible config option. However, a few configuration options (CC_OPTIMIZE_FOR_SIZE, OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few choices exist (compression, highmem, allocator) for which a non-default option produces a smaller kernel. Add a "tinyconfig" option, which starts from allnoconfig and then sets these options to configure the tiniest possible kernel. This provides a better baseline for embedded systems or efforts to reduce kernel size. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit 3aaefce10351fecab348f5e06857f44cafc61a62 Author: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Date: Wed Aug 6 15:21:00 2014 -0700 x86, platform, kconfig: move kvmconfig functionality to a helper The new mergeconfig helper makes it easier to add other partial configurations similar to kvmconfig. Architecture-independent portions of those partial configurations should go in kernel/configs/${name}.config, and architecture-dependent portions should go in arch/${arch}/configs/${name}.config. Based on a patch by Luis R. Rodriguez <mcgrof@xxxxxxxx>. Originally-Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxx> Modified to make the helper name more general than just virtualization, support architecture-dependent and architecture-independent partial configurations, move the helper and kvmconfig to scripts/kconfig/Makefile, and factor out more of the common file path. Signed-off-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> commit da1b63566c469bf3e2b24182114422e16b1aa34c Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Aug 7 20:52:49 2014 +0400 Smack: remove unneeded NULL-termination from securtity label Values of extended attributes are stored as binary blobs. NULL-termination of them isn't required. It just wastes disk space and confuses command-line tools like getfattr because they have to print that zero byte at the end. This patch removes terminating zero byte from initial security label in smack_inode_init_security and cuts it out in function smack_inode_getsecurity which is used by syscall getxattr. This change seems completely safe, because function smk_parse_smack ignores everything after first zero byte. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> commit b862e561bad6372872f5bf98d95f4131d265b110 Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Aug 7 20:52:43 2014 +0400 Smack: handle zero-length security labels without panic Zero-length security labels are invalid but kernel should handle them. This patch fixes kernel panic after setting zero-length security labels: # attr -S -s "SMACK64" -V "" file And after writing zero-length string into smackfs files syslog and onlycp: # python -c 'import os; os.write(1, "")' > /smack/syslog The problem is caused by brain-damaged logic in function smk_parse_smack() which takes pointer to buffer and its length but if length below or equal zero it thinks that the buffer is zero-terminated. Unfortunately callers of this function are widely used and proper fix requires serious refactoring. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> commit fd5c9d230d2ac8a2594dfd15f0cca678fd7a64c7 Author: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> Date: Thu Aug 7 20:52:33 2014 +0400 Smack: fix behavior of smack_inode_listsecurity Security operation ->inode_listsecurity is used for generating list of available extended attributes for syscall listxattr. Currently it's used only in nfs4 or if filesystem doesn't provide i_op->listxattr. The list is the set of NULL-terminated names, one after the other. This method must include zero byte at the and into result. Also this function must return length even if string does not fit into output buffer or it is NULL, see similar method in selinux and man listxattr. Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@xxxxxxxxxxx> commit fdd508a6419217cce28213f3c9bd27c02a0d4c71 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 8 21:51:11 2014 +0300 drm/i915: Call .update_primary_plane in intel_{enable, disable}_primary_hw_plane() Make the intel_{enable,disable}_primary_hw_plane() simply call .update_primary_plane(), thus eliminating the rmw from these functions which should help the poor old 830M. Now we can also remove the .update_primary_plane() from the .crtc_enable() hooks because we end up calling it via intel_crtc_enable_planes()->intel_enable_primary_hw_plane(). This also has the nice benefit of making primary planes a bit closer to the way we handle sprite planes during modesets. v2: Just write 0 to DSPCNTR and DSPSURF/DSPADDR if the plane is (to be) disabled. Quicker, and more importantly avoids an oops when fb==NULL due to BIOS fb takeover failure. Pimp the commit message a bit (Matt) v3: Drop useless primary_enabled checks when setting DISPLAY_PLANE_ENABLE Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f45651bae2ee73ae551699d481f76aa6ad92138f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Aug 8 21:51:10 2014 +0300 drm/i915: Eliminate rmw from .update_primary_plane() Move the entire DSPCNTR register setup into the .update_primary_plane() functions. That's where it belongs anyway and it'll also help 830M which has the extra problem that plane registers reads will return the value latched at the last vblank, not the value that was last written. Also move DSPPOS and DSPSIZE setup there. v2: Don't move variable initialization to avoid churn later Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4fa790421c10e5c9c62406655c06d97a94555d54 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 8 19:25:57 2014 +0100 drm/i915: Fix erroneous conversion to u8 adj was defined as u8. The issue is last_adj can be negative and adj is initialized with: adj = dev_priv->rps.last_adj; and we were also happily doing things like: if (adj < 0) (thank static analysers!) v2: Make new_delay an int in case we overflow the u8 in the intermediate computations. new_delay will get clamped at the end anyway. (Ville) Cc: Deepak S <deepak.s@xxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2c0827cffca8ac0c654b888c58a1989a5172f007 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Aug 8 20:44:59 2014 +0200 drm/i915: Update DRIVER_DATE to 20140808 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cb597bb3a2fbfc871cc1c703fb330d247bd21394 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Jul 27 19:09:33 2014 +0200 drm: trylock modest locking for fbdev panics In the fbdev code we want to do trylocks only to avoid deadlocks and other ugly issues. Thus far we've only grabbed the overall modeset lock, but that already failed to exclude a pile of potential concurrent operations. With proper atomic support this will be worse. So add a trylock mode to the modeset locking code which attempts all locks only with trylocks, if possible. We need to track this in the locking functions themselves and can't restrict this to drivers since driver-private w/w mutexes must be treated the same way. There's still the issue that other driver private locks aren't handled here at all, but well can't have everything. With this we will at least not regress, even once atomic allows lots of concurrent kms activity. Aside: We should move the acquire context to stack-based allocation in the callers to get rid of that awful WARN_ON(kmalloc_failed) control flow which just blows up when memory is short. But that's material for separate patches. v2: - Fix logic inversion fumble in the fb helper. - Add proper kerneldoc. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3d30a59bfcb7c96d4aacdb053c2ccc49394b2311 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Sun Jul 27 13:42:42 2014 +0200 drm: Move ->old_fb from crtc to plane Atomic implemenations for legacy ioctls must be able to drop locks. Which doesn't cause havoc since we only do that while constructing the new state, so no driver or hardware state change has happened. The only troubling bit is the fb refcounting the core does - if someone else has snuck in then it might potentially unref an outdated framebuffer. To fix that move the old_fb temporary storage into struct drm_plane for all ioctls, so that the atomic helpers can update it. v2: Fix up the error case handling as suggested by Matt Roper and just grab locks uncoditionally - there's no point in optimizing the locking for when userspace gets it wrong. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d059f652e73c35678d28d4cd09ab2cec89696af9 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 25 18:07:40 2014 +0200 drm: Handle legacy per-crtc locking with full acquire ctx So drivers using the atomic interfaces expect that they can acquire additional locks internal to the driver as-needed. Examples would be locks to protect shared state like shared display PLLs. Unfortunately the legacy ioctls assume that all locking is fully done by the drm core. Now for those paths which grab all locks we already have to keep around an acquire context in dev->mode_config. Helper functions that implement legacy interfaces in terms of atomic support can therefore grab this acquire contexts and reuse it. The only interfaces left are the cursor and pageflip ioctls. So add functions to grab the crtc lock these need using an acquire context and preserve it for atomic drivers to reuse. v2: - Fixup comments&kerneldoc. - Drop the WARNING from modeset_lock_all_crtcs since that can be used in legacy paths with crtc locking. v3: Fix a type on the kerneldoc Dave spotted. Cc: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a6a8bb848d5ca40bc0eb708ddeb23df2b0eca1fb Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Fri Jul 25 17:47:18 2014 +0200 drm: Move modeset_lock_all helpers to drm_modeset_lock.[hc] Somehow we've forgotten about this little bit of OCD. Reviewed-by: Dave Airlie <airlied@xxxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 10f637bf292ba501f9b9e9df6dfe21d8fa521fbd Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 29 13:47:11 2014 +0200 drm: Add drm_plane/connector_index In the atomic state we'll have an array of states for crtcs, planes and connectors and need to be able to at them by their index. We already have a drm_crtc_index function so add the missing ones for planes and connectors. If it later on turns out that the list walking is too expensive we can add the index to the relevant modeset objects. Rob Clark doesn't like the loops too much, but we can always add an obj->idx parameter later on. And for now reiterating is actually safer since nowadays we have hotpluggable connectors (thanks to DP MST). v2: Fix embarrassing copypasta fail in kerneldoc and header declarations, spotted by Matt Roper. Cc: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 403bdd10c815029694046adf5ffde0577cbd2866 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Aug 7 16:05:39 2014 +0200 drm/i915: No busy-loop wait_for in the ring init code Doing a 1s wait (tops) with the cpu is a bit excessive. Tune it down like everything else in that code. v2: Also insert the missing space Chris spotted. Cc: Naresh Kumar Kachhi <naresh.kumar.kachhi@xxxxxxxxx> Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Acked-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 01e184cc85d4516cab0ecea7c2c43a2dd3ad432b Author: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Date: Thu Aug 7 17:03:30 2014 +0530 drm/i915: Add sprite watermark programming for VLV and CHV Program DDL register as part of sprite watermark programming for CHV and VLV. v2: Rename DRAIN_LATENCY_MAX by DRAIN_LATENCY_MASK v3: Addressed review comments by Ville - Changed Sprite DDL definitions to more generic to avoid multiple if-else - Changed bit masking to customary form - Changed to bitwise shorthand operator for sprite_dl assignment Signed-off-by: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a398e9c79eea74ba2f3f24ac08902661682f008c Author: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Date: Tue Aug 5 23:15:54 2014 +0530 drm/i915: Round-up clock and limit drain latency Round up clock computation and limit drain latency to maximum of 0x7F. Signed-off-by: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0948c2651413d56c90d7ee9c99d75bef82d4c351 Author: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Date: Thu Aug 7 01:58:24 2014 +0530 drm/i915: Generalize drain latency computation Modify drain latency computation to use it for any plane. Same function can be used for primary, cursor and sprite planes. v2: Adressed review comments by Imre and Ville. - Moved clock round up in separate patch - Added WARN check for clock and pixel size - Simplified bit masking - Use cursor_base instead of reg read v3: Changed to bitwise shorthand operator for plane_dl assignment. Signed-off-by: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e2fcdaa9c951c51d558fea2cc020d89b382d702e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:02:51 2014 +0300 drm/i915: Free pending page flip events at .preclose() If there are pending page flips when the fd gets closed those page flips may have events associated to them. When the page flip eventually completes it will queue the event to file_priv->event_list, but that may be too late and file_priv->event_list has already been cleaned up. Thus we leak a bit of kernel memory in the form of the event structure. To avoid such problems clear out such pending events from intel_crtc->unpin_work at ->preclose(). Any event that already made it to file_priv->event_list will get cleaned up by the drm_release_events() a bit later. We can ignore the file_priv->event_space accounting since file_priv is going away. This is already how drm core deals with pending vblank events, which are maintained by the drm core. What saves us from a total disaster (ie. dereferencing and alrady freed file_priv) is the fact that the fb descruction triggers a modeset and there we wait for pending flips. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 692ef70c016b5035ad1942ccc2bc4040aa290044 Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Tue Aug 5 07:51:18 2014 -0700 drm/i915: clean up PPGTT checking logic sanitize_enable_ppgtt is the function that checks all the conditions, honoring a forced ppgtt status or doing auto-detect as necessary. Just make sure it returns the right value in all cases and use that in the macros instead of the confusing intel_enable_ppgtt() function. Signed-off-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> [danvet: Don't reenable full ppgtt through the backdoor.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit efd814b73cfcf4ed1cb561561d8df6daccb3ceb6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Jun 27 19:52:13 2014 +0300 drm/i915: Polish the chv cmnlane resrt macros Replace the semi-funky cmnlane assert/deassert macros with something a bit more conventional. Also protect the macro arguments properly (also for PHY_POWERGOOD()). Reviewed-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3dd7b97458e8aa2d8985b46622d226fa635071e7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Fri Jun 27 19:49:57 2014 +0300 drm/i915: Hack to tie both common lanes together on chv It looks like frobbing the cmnreset line on pne PHY disturbs the other PHY on chv. The result is a black screen. On HDMI it's just a flash of black, but DP usually falls over and can't get back up. As a workaround set up the power domains so that both common lane wells power up and down together. I also tried leaving the cmnreset deasserted even the if the power well goes down but that didn't seem acceptable to the PHY. Reviewed-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3c2777fd2faa5d1c1d5867baa086f2fd8b05479e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 26 17:03:06 2014 +0300 drm/i915: Add cherryview_update_wm() CHV has a third pipe so we need to compute the watermarks for its planes. Add cherryview_update_wm() to do just that. v2: Rebase on top of Imre's cxsr changes v3: Pass crtc to vlv_update_drain_latency() Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 41aad816d7061f6cc3d92f39fc655f034bbfb1c0 Author: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Date: Wed Jul 16 18:24:03 2014 +0530 drm/i915: Update DDL only for current CRTC Instead of looping through all CRTCs, update DDL for current CRTC for which watermark is being updated. CHV is confirmed to have precision of 32/64 which is same as VLV. Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Gajanan Bhat <gajanan.bhat@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1abc4dc7e2ca7886b6b06bcf2ff1451702c83f9b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu Jun 26 17:02:37 2014 +0300 drm/i915: Parametrize VLV_DDL registers The VLV/CHV DDL registers are uniform, and neatly enough the register offsets are sane so we can easily unify them to a single set of defines and just pass the pipe as the parameter to compute the register offset. Note that we now fill out the drain latency for pipe C on CHV which we didn't do before. The rest of the pipe C watermarks are still untouched but that will be remedied later by adding a proper cherryview_update_wm() function. v2: Add a note about CHV pipe C changes (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0a56067469bde6662ce7c89a3d290171f878bac4 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Jun 11 16:51:18 2014 +0300 drm/i915: Fill out the FWx watermark register defines Add defines for all the watermark registers on modernish gmch platforms. VLV has increased the number of bits available for certain watermaks so expand the masks appropriately. Also vlv and chv have added some extra FW registers. Not sure what happened on chv because a new register called FW9 is now at the offset where FW7 was on vlv, while FW7 and FW8 (another new register) have been moved off somewhere else. Oh well, well just need two defines for FW7 then. v2: Fix DSPHOWM1 offset (Paulo) Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 9783de20967a59d7627772bf77fc8066c47bef79 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Tue Aug 5 11:26:57 2014 +0530 drm: Resetting rotation property Reset rotation property to 0. v2: Resetting after disabling the plane Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7ed6eeeec60c98ec824e27a5052aa249d98bd63a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 5 11:26:55 2014 +0530 drm/i915: Add rotation property for sprites Sprite planes support 180 degree rotation. The lower layers are now in place, so hook in the standard rotation property to expose the feature to the users. v2: Moving rotation_property to mode_config Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2a297cce2e775812e9d6ca84c3ab92cee5c38e25 Author: Sonika Jindal <sonika.jindal@xxxxxxxxx> Date: Tue Aug 5 11:26:54 2014 +0530 drm: Add rotation_property to mode_config Signed-off-by: Sonika Jindal <sonika.jindal@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Acked-by: Dave Airlie <airlied@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e57465f35192246b6587c3bc89b5ed96a8fdfb00 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 5 11:26:53 2014 +0530 drm/i915: Make intel_plane_restore() return an error Propagate the error from intel_update_plane() up through intel_plane_restore() to the caller. This will be used for rollback purposes when setting properties fails. Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 76eebda727c76b5712f6ce75a45a9917d3873a37 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Tue Aug 5 11:26:52 2014 +0530 drm/i915: Add 180 degree sprite rotation support The sprite planes (in fact all display planes starting from gen4) support 180 degree rotation. Add the relevant low level bits to the sprite code to make use of that feature. The upper layers are not yet plugged in. v2: HSW handles the rotated buffer offset automagically v3: BDW also handles the rotated buffer offset automagically Testcase: igt/kms_rotation_crc Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Sagar Kamble <sagar.a.kamble@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b2784e151903628a086d2ee12cf943690216cd6c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Aug 5 11:29:37 2014 +0100 drm/i915: Introduce a for_each_intel_encoder() macro Following the established idom, let's provide a macro to iterate through the encoders. spatch helps, once more, for the substitution: @@ iterator name list_for_each_entry; iterator name for_each_intel_encoder; struct intel_encoder * encoder; struct drm_device * dev; @@ -list_for_each_entry(encoder, &dev->mode_config.encoder_list, base.head) { +for_each_intel_encoder(dev, encoder) { ... } I also modified a few call sites by hand where a pointer to mode_config was directly used (to avoid overflowing 80 chars). Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> [danvet: Wrap paramters correctly in the macro and remove spurious space checkpatch noticed.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4079b8d1c3e38b6f18fb31e2997fa25276feea07 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Aug 5 10:39:42 2014 +0100 drm/i915: Demote the DRRS messages to debug messages While those messages are interesting, there aren't _that_ interesting. We don't need them in the kernel logs by default. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7fad3594bf2c66843c7d1e09005ff845a94524ab Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Fri Aug 1 16:19:54 2014 -0300 drm/i915: remove duplicate register defines cat i915_reg.h | sort | uniq -d | grep define Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ac921bdde92a354e8c59ea185dff26dc2611ee81 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 1 11:07:57 2014 +0100 drm/i915: Remove now useless comments about the translation values We used to carry a default HDMI value in entry 9, but this entry got removed for both HSW and BDW. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 156ae28c9f327d2c026e91cfacb5e224bb760d66 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 1 11:07:56 2014 +0100 drm/i915/bdw: Remove the HDMI/DVI entry from the DP/eDP/FDI tables We always write entries 0 to 8 from the DDI translation tables and then entry 9 for HDMI/DVI with the help of the VBT. We then don't need the failsafe HDMI entry in the DP/eDP/FDI tables. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a26aa8baee6c274fc23efccf46e891e63c8d0a30 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 1 11:07:55 2014 +0100 drm/i915/bdw: Provide the BDW specific HDMI buffer translation table Among the changes, the tables has only 10 entries instead of 12 on HSW and the index the the 800mV/0dB entry has changed. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ce4dd49e97813740bd2b03ecdc51521be10f3bf1 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Fri Aug 1 11:07:54 2014 +0100 drm/i915: Gather the HDMI level shifter logic into one place The knowledge about the HDMI/DVI DDI translation table was scattered around. - info->hdmi_level_shift was initialized with 6, the index of the 800 mV, 0dB translation - A check on the VBT value was done to ensure it wasn't overflowing the translation table (< 0xC) - The actual programming was done in intel_ddi.c As we need to change that knowledge for Broadwell, let's gather everything into one place. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Reviewed-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit da46f936bb0396f6a0fb87c2786f541e9f19a73c Author: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Date: Fri Aug 1 02:04:45 2014 -0700 drm/i915: Introduce FBC False Color for debug purposes. With this bit enabled, HW changes the color when compressing frames for debug purposes. ALthough the simple way to enable a single bit is over intel_reg_write, this value is overwriten on next update_fbc so depending on the workload it is not possible to set this bit with intel-gpu-tools. So this patch introduces a persistent way to enable false color over debugfs. v2: Use DEFINE_SIMPLE_ATTRIBUTE as Daniel suggested v3: (Ville) only do false color for IVB+ since according to spec bit is MBZ before IVB. v4: We don't have FBC on valleyview nor on cherryview (Ben) v5: s/!HAS_PCH_SPLIT/!HAS_FBC (Ville) Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Ben Widawsky <ben@xxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f3de8336fc8c44bede43c57e40448171b12ef68 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Jul 30 22:34:27 2014 +0200 drm/i915: Align intel_dsi*.c files a bit I'm not really that insisting on checkpath compliance, but ragged function paramter alignment does get me. Please adjust your editor to just do this for you. Cc: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Cc: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7f0c860533ff2de4b3bb84f71d5ce238fffe4d63 Author: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Date: Wed Jul 30 20:34:57 2014 +0530 drm/i915: Add support for Video Burst Mode for MIPI DSI v2: Updated the error log as suggested by Imre Signed-off-by: Shobhit Kumar <shobhit.kumar@xxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1fb44505f6c547742fcbcba4d3999fb324b5f587 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:03 2014 +0300 drm/i915: Clarify CHV swing margin/deemph bits CHV display PHY registes have two swing margin/deemph settings. Make it clear which ones we're using. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 625695f8c3383765fd8974616aa57ffdbc644f83 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:02 2014 +0300 drm/i915: Call intel_{dp, hdmi}_prepare for chv CHV was forgotten the intel_{dp,hdmi}_prepare() were introduced (or the chv patches were still in flight?). Call these when enabling the ports. Things tend to work much better when we actually write something to the port registers :) Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 1ae0d1377fda91367b27596001c82e877ec2057e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:00 2014 +0300 drm/i915: Split chv_update_pll() apart Split chv_update_pll() into two parts ala: commit bdd4b6a655749970cc632aafc5fd596c07b60b1c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Thu Apr 24 23:55:11 2014 +0200 drm/i915: Extract vlv_prepare_pll Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d17ec4ced6c0907f80f51677a44236da94ecd92d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:03:59 2014 +0300 drm/i915: Leave DPLL ref clocks on We enable the DPLL refclock already when bringing up the cmnlane power well, so also leave it on when otherwise disabling the DPLL. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d49a340d6eb6de45c1a886b71469d110f2dbb57b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:03:58 2014 +0300 drm/i915: Disable cdclk changes for chv until Punit is ready Punit seems a bit WIP still. Disable cdclk changes until we have hardware where it works. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 383c5a6a4682f6816fb5a07aebd89c5813c3d1c7 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:03:57 2014 +0300 drm/i915: Add cdclk change support for chv Looks like the Punit is supposed to support the 400MHz cdclk directly on chv, so we don't need the vlv tricks. FIXME: Punit doesn't seem ready for this yet on current hw Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 06ffc7789e76a095e85814dbcf7b660344f6b679 Author: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Date: Thu Jul 17 17:43:46 2014 -0300 d rm/i915: freeze display before the interrupts and GT Since we started using intel_runtime_pm_disable_interrupts() at normal (non-runtime) suspend/resume, we had to remove a WARN from ironlake_disable_display_irq to avoid a case where we were doing the correct thing and the WARN was not really needed. The problem is that the WARN was useful in other cases, and its removal can hide some bugs that we would catch automatically. To be able to add back the WARN, we have to call intel_crtc_control() before interrupts are disabled, which is what this patch currently does. Also notice that Ville's patch from the Watermarks series "drm/i915: Leave interrupts enabled while disabling crtcs during suspend" also did a change that's equivalent to the one we're doing on this patch, with the exception that its original patch, when applied to the current tree, procduces a WARN. Related commits: commit daa390e5ee45cc051d6bf37b296901f2f92b002d Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> drm/i915: don't warn if IRQs are disabled when shutting down display IRQs commit e11aa362308f5de467ce355a2a2471321b15a35c Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> drm/i915: use runtime irq suspend/resume in freeze/thaw Note that the function part of this patch has already been done in commit 0e32b39ceed665bfa4a77a4bc307b6652b991632 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Fri May 2 14:02:48 2014 +1000 drm/i915: add DP 1.2 MST support (v0.7) with the fixup commit 09b64267c1f72f2670fcde9f11e5453ce365ca23 Author: Dave Airlie <airlied@xxxxxxxxxx> Date: Wed Jul 23 14:25:24 2014 +1000 drm/i915: don't suspend gt until after we disable irqs and display (v2) so all that's left from Paulo's patch is reinstating the WARNING. Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> [danvet: Explain conflict resolution with Dave's DP MST patches with a note in the commit message.] Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 3d51278af91f8e96077dad3a4c1cc0b19fa8ca25 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Tue Jul 29 20:57:08 2014 +0200 drm/i915: Make ddi_clock_gate() HSW/BDW specific Turns out we were again way too naive and optimistic, of course things will change. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ad13d6048f5002f1c5ab21c71a5ee136a2d8e889 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:24 2014 +0100 drm/i915: Split the CDCLK retrieval per-platform This is only going to get worse, so split it now to avoid adding more cases to the if/else ladder. Suggested-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d664c0cece2dd410d8134aa820112e471e3592dd Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:23 2014 +0100 drm/i915: Make intel_ddi_calculate_wrpll() HSW/BDW specific Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 0220ab6e00785da008bb3736737b877d45858608 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:22 2014 +0100 drm/i915: Split the BDW/HSW specific shared pll selection We'll need a different algorithm to select the shared DPLL. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit bf9584bd0e99bd284e115ea8eba9b02a5a2d7b4d Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:21 2014 +0100 drm/i915: Fix stale comment for intel_ddi_pll_select() Since the run-time PM on DPMS series, this function has an outdated comment. Refresh it a bit. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea155f32cea99f17371bec00ee9c8e3713a15d4f Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:20 2014 +0100 drm/i915: Restrict hsw_dp_set_ddi_pll_sel() to HSW/BDW Future platform will use config->ddi_pll_sel in a different way. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 143b307c43dcfeae41a3b6c24a29fae4c70884f4 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:19 2014 +0100 drm/i915: Extract the HSW/BDW shared dpll init code So we can easily provide an alternate implementation in the future. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7d2c81751c858442387fa5158d4cd80c2190d739 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:18 2014 +0100 drm/i915: Extract the HSW DDI selection code into its own function Future platform will slightly change that. Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 74dd69280bc3f3e84d46b2a0f78901a0d9b4562c Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:17 2014 +0100 drm/i915: Add a space to the shared DPLL debug message Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit dcfc3552136fb6996e19b9f6980dc5a6721defd5 Author: Damien Lespiau <damien.lespiau@xxxxxxxxx> Date: Tue Jul 29 18:06:16 2014 +0100 drm/i915: Specify when the PLL hw state fields are valid Not all those fields are valid on a given platform. Make it explicit. Unions could also be used, but were cluttering some code paths with if/else ladders. v2: Don't use anonymous unions (Daniel) Signed-off-by: Damien Lespiau <damien.lespiau@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aad3d14d25c33c8e510c41aaaf2668e8d32811ab Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:25 2014 +0300 drm/i915: Add DP training pattern 3 for CHV CHV supports DP training pattern 3. Add the required stuff. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a5043453aa2412ece984373294529d177324c901 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:18 2014 +0300 drm/i915: Split a few long debug prints Split some WM debug prints to multiple lines. This shouldn't hurt grappability since the important part is at the start and the rest is just repeated stuff for each pipe. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 026b96e293fbe48153ae868308e341f226d76c46 Author: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Date: Mon Jul 28 19:56:27 2014 +0100 drm/i915: Fix read back of plane stride register According to the specifications bit 6 is actually valid in the stride register. Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 2ce147f36dc5a1f3b49abd8ce3164ad0f04ec863 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:13 2014 +0300 drm/i915: Add chv port D TX wells Add the TX wells for port D. The Punit subsystem numbers are a total guess at this time. Also I'm not sure these even exist. Certainly the Punit in current hardware doesn't deal with these. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8258356537871cf579868002552a0ed1762b0487 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:12 2014 +0300 drm/i915: Add chv port B and C TX wells Add the TX wells for ports B and C just like on VLV. Again Punit doesn't seem ready (or the wells don't even exist anymore) so leave it iffed out. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 26972b0a80091ccece1cbd9422772ae625a612f6 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:11 2014 +0300 drm/i915: Add per-pipe power wells for chv CHV has a power well for each pipe. Add the code to deal with them. The Punit in current hardware doesn't seem ready for this yet, so leave it iffed out. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f07057d13c62c5b925725c6e03a0c4d1c0244bef Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:10 2014 +0300 drm/i915: Add disp2d power well for chv Not sure if it's still there since chv has per-pipe power wells. At least with current Punit this doesn't work. Also the display irq handling would need to be adjusted for pipe C. So leave the code iffed out for now. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit a74d782c74644b2e50b3db61e115831cdc3e9010 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:09 2014 +0300 drm/i915: Kill intel_reset_dpio() Both VLV and CHV handle the cmnreset stuff in the power well code now, so intel_reset_dpio() is no longer needed. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 5d6f7ea752228788eddce0b9e268fa1f0eabdd7f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:08 2014 +0300 drm/i915: Add chv cmnlane power wells CHV has two display PHYs so there are also two cmnlane power wells. Add the approriate code to power the wells up/down. Like on VLV we do the cmnreset assert/deassert and the DPLL refclock enabling at approriate times. This code actually works on my bsw. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Reviewed-by: Imre Deak <imre.deak@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4811ff4f2388727a161ea49c2b0ddca95e44c7f9 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Sat Jun 28 02:04:07 2014 +0300 drm/i915: Add chv_power_wells[] Add chv_power_wells[] so we can start to build up the power well support for chv. Just the "always on" well there initialy. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Tested-by: Rafael Barbalho <rafael.barbalho@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 210871b67cd201c198b61ca80e1c51cd4b58c051 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu May 22 19:00:50 2014 +0300 drm/i915: Kill intel_crtc->vbl_wait Share the waitqueue that drm_irq uses when performing the vblank evade trick for atomic pipe updates. v2: Keep intel_pipe_handle_vblank() (Chris) Suggested-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 020178a1bcadf20b9d057988984f374c905d542e Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Thu May 22 19:36:03 2014 +0300 drm: Add drm_crtc_vblank_waitqueue() Add a small static inline helper to grab the vblank wait queue based on the drm_crtc. This is useful for drivers to do internal vblank waits using wait_event() & co. v2: Pimp commit message (Daniel) Add kernel doc (Daniel) Suggested-by: Daniel Vetter <daniel@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit b95af8bee524974768681b2b92235e1e1e21bf1a Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Tue Aug 5 07:51:23 2014 -0700 drm/i915: State readout and cross-checking for dp_m2_n2 Adding relevant read out comparison code, in check_crtc_state, for the new member of crtc_config, dp_m2_n2, which was introduced to store link_m_n values for a DP downclock mode (if available). Suggested by Daniel. v2: Changed patch title. Daniel's review comments incorporated. Added relevant state readout code for M2_N2. dp_m2_n2 comparison to be done only when high RR is not in use (This is because alternate m_n register programming will be done only when low RR is being used). v3: Modified call to get_m2_n2 which had dp_m_n as param by mistake. Compare dp_m_n and dp_m2_n2 for gen 7 and below. compare the structures based on DRRS state for gen 8 and above. Save and restore M2 N2 registers for gen 7 and below v4: For Gen>=8, check M_N registers against dp_m_n and dp_m2_n2 as there is only one set of M_N registers v5: Removed the chunk which saves and restores M2_N2 registers. Modified get_m_n() to get M2_N2 registers as well. Modified the macro which compares hw.dp_m_n against sw.dp_m2_n2/sw.dp_m_n for gen > 8. v6: Added check to compare dp_m2_n2 only when DRRS is enabled v7: Modified drrs check to use has_drrs v8: Add has_drrs check before reading M2_N2 registers Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f769cd247d2be5af377adf82882eddd1dce183c4 Author: Vandana Kannan <vandana.kannan@xxxxxxxxx> Date: Tue Aug 5 07:51:22 2014 -0700 drm/i915: Set M2_N2 registers during mode set For Gen < 8, set M2_N2 registers on every mode set. This is required to make sure M2_N2 registers are set during boot, resume from sleep for cross- checking the state. The register is set only if DRRS is supported. v2: Patch rebased v3: Daniel's review comments - Removed HAS_DRRS(dev) and added bool has_drrs to pipe_config to track drrs support v4: Jesse's review comments - Made changes to set m2_n2 in intel_dp_set_m_n() Signed-off-by: Vandana Kannan <vandana.kannan@xxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7cdca1784c6e1c9bacf053847676df53eec7b5ea Author: Jonathan Cameron <jic23@xxxxxxxxxx> Date: Fri Aug 8 09:43:00 2014 +0100 iio:buffer: Wrong sized allocation of demux table elements. The size of the allocation is currently set to the size of the pointer rather than the structure we should actually be allocating. Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> Reported-by: kbuild@xxxxxx Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> Acked-by: Lars-Peter Clausen <lars@xxxxxxxxxx> commit cf4f7fc3e7336e2e946880890e60ed36178889ea Author: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Date: Mon Aug 4 17:08:07 2014 +0200 ASoC: fsl-ssi: Support for SND_SOC_DAIFMT_CBM_CFS Add SND_SOC_DAIFMT_CBM_CFS support for Freescale architecture. Successfully tested on i.MX 6Quad Wandboard and UDOO boards connected to the pcm1792a codec. In CBM_CFS mode, when using a sample size of 16 bits, we cannot use CCSR_SSI_SCR_I2S_MODE_MASTER since we get a frame sync every 16 bits. Signed-off-by: Michael Trimarchi <michael@xxxxxxxxxxxxxxxxxxxx> Signed-off-by: Fabio Falzoi <fabio.falzoi84@xxxxxxxxx> Tested-by: Angelo Adamo <adamo.a60@xxxxxxxxx> Acked-by: Timur Tabi <timur@xxxxxxxx> Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> commit 145b0a5d18565615724045dbc2ada32324faa395 Author: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Date: Mon Jul 28 13:44:00 2014 +0100 iio: adc: exynos_adc: Add support for s3c24xx ADC This patch add support for s3c2410/s3c2416/s3c2440/s3c2443 ADC. The s3c24xx is alomost same as ADCv1. But, There are a little difference as following: - ADCMUX register address - ADCDAT mask (10 bit or 12 bit ADC resolution according to SoC version) - s3c24xx/s3c64xx has not included ADC_PHY enable register Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Acked-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 249535d894216f5dcd922accfb435d32d417d56f Author: Arnd Bergmann <arnd@xxxxxxxx> Date: Mon Jul 28 13:44:00 2014 +0100 iio: adc: exynos_adc: add support for s3c64xx adc The ADC in s3c64xx is almost the same as exynosv1, but has a different 'select' method. Adding this here will be helpful to move over the existing s3c64xx platform from the legacy plat-samsung/adc driver to the new exynos-adc. Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Signed-off-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 44d6f2ef94f9825e6eb9072f1611e0ea4cd81fa1 Author: Heiko Stübner <heiko@xxxxxxxxx> Date: Wed Jul 23 22:24:00 2014 +0100 iio: adc: add driver for Rockchip saradc The ADC is a 3-channel signal-ended 10-bit Successive Approximation Register (SAR) A/D Converter. It uses the supply and ground as its reference and converts the analog input signal into 10-bit binary digital codes. Signed-off-by: Heiko Stuebner <heiko@xxxxxxxxx> Reviewed-by: Hartmut Knaack <knaack.h@xxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit af097e86312f2a2ec83d9d2497425f5d61592953 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Mar 8 10:58:00 2014 +0000 staging:iio:ad9852: Use devm_iio_device_register This patch introduces the use of devm_iio_device_register and does away with the unregister in the remove function. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 84e93b38c2a93c59b23349b1e31de1a3657fa4c0 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Sat Mar 8 11:00:00 2014 +0000 staging: iio: ad9951: Use devm_iio_device_register This patch introduces the use of devm_iio_device_register and does away with the unregister in the remove function. The remove function is no longer required and is completely removed. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 913b864686746e10c32ed65c04f70d886c4c0c76 Author: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Date: Sat Mar 8 18:38:00 2014 +0000 iio: adc: Add TI ADC128S052 This patch adds support for ADC128S052 from TI. Signed-off-by: Angelo Compagnucci <angelo.compagnucci@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7144045d2ac4cfa9594f392c6468c3d384041c06 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:57:00 2014 +0100 iio: accel: BMC150 accel documentation Added any-motion trigger documentation. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit bd7fe5b7191836a229981fdd83845a528ee9f846 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:57:00 2014 +0100 iio: accel: BMC150 accel support This change implements BMC150 accelerometer driver. A BMC150 package consist of a compass and an accelerometer. This driver only implements accelerometer part. Spec downloaded from: http://ae-bst.resource.bosch.com/media/products/dokumente/bmc150/BST-BMC150-DS000-03.pdf This sensor chip supports many advanced features, but this driver implements minimum feature set which is a must to be useful. This driver can be enhanced incrementally. If the sensor vendor wants to update full featured version, they can substitute or enhance this driver when they get chance. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit a735e3d7f03ab40d746290954baaf535719d9025 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:58:00 2014 +0100 iio: accel: kxcjk-1013: Set adjustable range This chip can support 3 different ranges. Allowing range specification. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 124e1b1d0924ca51ded8bb6f52844b2bc9e485f7 Author: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Date: Thu May 8 22:58:00 2014 +0100 iio: accel: kxcjk-1013: support runtime pm In an effort to improve raw read performance and at the same time enter low power state at every possible chance. For raw reads, it will keep the system powered on for a default or user specified time, via autosuspend_delay attribute of device power. This will help read multiple samples without power on/off sequence. For triggers it will keep the system on till, requested to be turned off by trigger state by utilizing run time PM usage counters. When runtime pm is not enabled, then it keeps the chip in operation mode always. Signed-off-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit ce9d475607e7bf48b066603700afdb4811cec9b6 Author: Oussama Jabbari <oussama.jabbari@xxxxxxxxx> Date: Sun Jun 8 18:06:00 2014 +0100 staging: iio: adis16060: Fix coding style problem This patch fixes a warning from checkpatch.pl script : "WARNING: Missing a blank line after declarations" Signed-off-by: Oussama Jabbari <oussama.jabbari@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 889c558095e96312d81b4084567c11a52b285393 Author: Julia Lawall <Julia.Lawall@xxxxxxx> Date: Sun Jun 8 21:12:00 2014 +0100 iio: fix error return code Convert a zero return value on error to a negative one, as returned elsewhere in the function. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> ( if@p1 (\(ret < 0\|ret != 0\)) { ... return ret; } | ret@p1 = 0 ) ... when != ret = e1 when != &ret *if(...) { ... when != ret = e2 when forall return ret; } // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit d7b79519faa926a9d6d1cdebfddea7a58a9951f3 Author: Murilo Opsfelder Araujo <mopsfelder@xxxxxxxxx> Date: Tue Jul 8 01:22:00 2014 +0100 staging: iio: accel: Add blank lines between declarations and code This patch adds missing blank lines between declarations and code and fixes lines starting by spaces, satisfying checkpatch.pl. Signed-off-by: Murilo Opsfelder Araujo <mopsfelder@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 2f29c16889ae71b42aefbe235867d88f8c892548 Author: Murilo Opsfelder Araujo <mopsfelder@xxxxxxxxx> Date: Tue Jul 8 01:22:00 2014 +0100 staging: iio: accel: sca3000_core.c: Adjust code to fit 80-chars limit Signed-off-by: Murilo Opsfelder Araujo <mopsfelder@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 79a093aea44f11fda0a5b4dbe4c1e29b2f586f4e Author: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Date: Wed Aug 6 03:22:44 2014 +0200 drm: Remove drm_vblank_cleanup from drm_vblank_init error path. drm_vblank_cleanup() would operate on non-existent dev->vblank data structure, as failure to allocate that data structure is what triggers the error path in the first place. Signed-off-by: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit c50d7521617d823d769b280bc499e19e364434ae Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:59 2014 +0300 drm: Store the vblank timestamp when adjusting the counter during disable During vblank disable the code tries to guess based on the timestamps whether we just missed one vblank or not. And if so it increments the counter. However it forgets to store the new timestamp to the approriate slot in our timestamp ring buffer. So anyone querying the timestamp for the resulting sequence number would get a stale timestamp. Fix it up by storing the new timestamp. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 96a9fdd778037799f63c9ae272ec915dd3ad83dc Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:50:02 2014 +0300 drm: Fix confusing debug message in drm_update_vblank_count() Now that drm_update_vblank_count() can be called even when we're not about to enable the vblank interrupts we shouldn't print debug messages stating otherwise. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit d297e1037327884fe9545f434d720fd3e8f18c80 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:50:01 2014 +0300 drm/i915: Update scanline_offset only for active crtcs update_scanline_offset() in intel_sanitize_crtc() was supposed to be called only for active crtcs. But due to some underrun patches it now gets updated for all crtcs on gmch platforms. Move the update_scanline_offset() to the very beginning of intel_sanitize_crtc() where we update the vblank state. This seems like a better place anyway since the scanline offset ought to be up to date before we might need to consult it. So before any vblanky stuff happens. Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit cd19e52aee922ffe5c50b6ed67acd58cc1b2738b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:56 2014 +0300 drm: Kick start vblank interrupts at drm_vblank_on() If the user is interested in getting accurate vblank sequence numbers all the time they may disable the vblank disable timer entirely. In that case it seems appropriate to kick start the vblank interrupts already from drm_vblank_on(). v2: Adapt to the drm_vblank_offdelay ==0 vs <0 changes Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 21da27005f79d72499bb809616b15fd2c5c15319 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:55 2014 +0300 drm/i915: Opt out of vblank disable timer on >gen2 Now that the vblank races are plugged, we can opt out of using the vblank disable timer and just let vblank interrupts get disabled immediately when the last reference is dropped. Gen2 is the exception since it has no hardware frame counter. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 00185e667009dda907887a4f84fbd02c6e651a49 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:54 2014 +0300 drm: Add dev->vblank_disable_immediate flag Add a flag to drm_device which will cause the vblank code to bypass the disable timer and always disable the vblank interrupt immediately when the last reference is dropped. v2: Add some notes about the flag to the kernel doc Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 4ed0ce3d0bccd74416ba6beb33a8a79d1617e97b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:53 2014 +0300 drm: Disable vblank interrupt immediately when drm_vblank_offdelay<0 Make drm_vblank_put() disable the vblank interrupt immediately when the refcount drops to zero and drm_vblank_offdelay<0. v2: Preserve the current drm_vblank_offdelay==0 'never disable' behaviur Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ffe7c73a8d4f0caeebd5d220ddbf7126a4daca1f Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:52 2014 +0300 drm: Fix race between drm_vblank_off() and drm_queue_vblank_event() Currently it's possible that the following will happen: 1. drm_wait_vblank() calls drm_vblank_get() 2. drm_vblank_off() gets called 3. drm_wait_vblank() calls drm_queue_vblank_event() which adds the event to the queue event though vblank interrupts are currently disabled (and may not be re-enabled ever again). To fix the problem, add another vblank->enabled check into drm_queue_vblank_event(). drm_vblank_off() holds event_lock around the vblank disable, so no further locking needs to be added to drm_queue_vblank_event(). vblank disable from another source is not possible since drm_wait_vblank() already holds a vblank reference. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 56cc279b29c7b204fe7d0943509ae209b8b128db Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:51 2014 +0300 drm: Fix deadlock between event_lock and vbl_lock/vblank_time_lock Currently both drm_irq.c and several drivers call drm_vblank_put() while holding event_lock. Now that drm_vblank_put() can disable the vblank interrupt directly it may need to grab vbl_lock and vblank_time_lock. That causes deadlocks since we take the locks in the opposite order in two places in drm_irq.c. So let's make sure the locking order is always event_lock->vbl_lock->vblank_time_lock. In drm_vblank_off() pull up event_lock from underneath vbl_lock. Hold the event_lock across the whole operation to make sure we only send out the events that were on the queue when we disabled the interrupt, and not ones that got added just after (assuming drm_vblank_on() already managed to get called somewhere between). To sort the other deadlock pull the event_lock out from drm_handle_vblank_events() into drm_handle_vblank() to be taken outside vblank_time_lock. Add the appropriate assert_spin_locked() to drm_handle_vblank_events(). Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 8a51d5bef07f1c8c59de20089fb27ea39d395f1b Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:50 2014 +0300 drm: Reduce the amount of dev->vblank[crtc] in the code Declare a local struct drm_vblank_crtc * and use that instead of having to do dig it out via 'dev->vblank[crtc]' everywhere. Performed with the following coccinelle incantation, and a few manual whitespace cleanups: @@ identifier func,member; expression num_crtcs; struct drm_device *dev; unsigned int crtc; @@ func (...) { + struct drm_vblank_crtc *vblank; ... if (crtc >= num_crtcs) return ...; + vblank = &dev->vblank[crtc]; <+... ( - dev->vblank[crtc].member + vblank->member | - &(dev->vblank[crtc]) + vblank ) ...+> } @@ struct drm_device *dev; int crtc; identifier member; expression num_crtcs; @@ for (crtc = 0; crtc < num_crtcs; crtc++) { + struct drm_vblank_crtc *vblank = &dev->vblank[crtc]; + <+... ( - dev->vblank[crtc].member + vblank->member | - &(dev->vblank[crtc]) + vblank ) ...+> } @@ identifier func,member; @@ func (struct drm_device *dev, int crtc, ...) { + struct drm_vblank_crtc *vblank = &dev->vblank[crtc]; <+... ( - dev->vblank[crtc].member + vblank->member | - &(dev->vblank[crtc]) + vblank ) ...+> } v2: Rebased Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit f8ad028cc033f75fc479ca1c30e2ea4ba56e5269 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:49 2014 +0300 drm: Avoid random vblank counter jumps if the hardware counter has been reset When drm_vblank_on() is called the hardware vblank counter may have been reset, so we can't trust that the old values sampled prior to drm_vblank_off() have anything to do with the new values. So update the .last count in drm_vblank_on() to make the first drm_vblank_enable() consider that as the reference point. This will correct the user space visible counter to account for the time between drm_vblank_on() and the first drm_vblank_enable() calls. For extra safety subtract one from the .last count in drm_vblank_on() to make sure that user space will never see the same counter value before and after modeset. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 812e7465a7decf3cca0b5f71977a25eecd9626a4 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:48 2014 +0300 drm: Have the vblank counter account for the time between vblank irq disable and drm_vblank_off() If the vblank irq has already been disabled (via the disable timer) when we call drm_vblank_off() sample the counter and timestamp one last time. This will make the sure that the user space visible counter will account for time between vblank irq disable and drm_vblank_off(). Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 13b030af54a5e307cbcccdf5479873fbc4b7f185 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:47 2014 +0300 drm: Move drm_update_vblank_count() Move drm_update_vblank_count() to avoid forward a declaration. No functional change. Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 844b03f27739135fe1fed2fef06da0ffc4c7a081 Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:46 2014 +0300 drm: Don't clear vblank timestamps when vblank interrupt is disabled Clearing the timestamps causes us to send zeroed timestamps to userspace if they get sent out in response to the drm_vblank_off(). It's better to send the very latest timestamp and count instead. Testcase: igt/kms_flip/modeset-vs-vblank-race Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 08c71e5e817a956389af5da5e99ab3e26d5c673d Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:45 2014 +0300 drm/i915: Warn if drm_vblank_get() still works after drm_vblank_off() v2: Drop the drm_vblank_off() (Daniel) Use drm_crtc_vblank_{get,put}() Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit 7ffd7a68511c710b84db3548a1997fd2625f580a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:49:44 2014 +0300 drm: Always reject drm_vblank_get() after drm_vblank_off() Make sure drm_vblank_get() never succeeds when called between drm_vblank_off() and drm_vblank_on(). Borrow a trick from the old drm_vblank_{pre,post}_modeset() functions and just bump the refcount in drm_vblank_off() and drop it in drm_vblank_on(). When drm_vblank_get() encounters a >0 refcount and the vblank interrupt is already disabled it will simply return -EINVAL. Hopefully the use of inmodeset won't conflict badly with drm_vblank_{pre,post}_modeset(). For i915 there's a window between drm_vblank_off() and marking the crtc as inactive where the current code still allows drm_vblank_get(). v2: Describe what drm_vblank_get() does to explain how a simple refcount bump manages to fix things (Daniel) Reviewed-by: Matt Roper <matthew.d.roper@xxxxxxxxx> Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit e6ae8687a87b1fe5c25e824c8ad300f5587eb622 Author: Rob Clark <robdclark@xxxxxxxxx> Date: Wed Aug 6 13:16:59 2014 -0400 drm: idiot-proof vblank After spending slightly more time than I'd care to admit debugging the various and presumably spectacular way things fail when you pass too low a value to drm_vblank_init() (thanks console-lock for not letting me see the carnage!), I decided it might be a good idea to add some sanity checking. Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ddde43711fdde505ac413102faa2352704cd858a Author: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Date: Wed Aug 6 14:02:50 2014 +0300 drm: Warn when leaking flip events on close Warn when there are events on the file_priv->event_list just before file_priv gets freed. This can occur if the driver doesn't clean up pending page flip events in ->preclose(). Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> commit eaf99c749d43ae74ac7ffece5512f3c73f01dfd2 Author: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> Date: Wed Aug 6 10:08:32 2014 +0200 drm: Perform cmdline mode parsing during connector initialisation i915.ko has a custom fbdev initialisation routine that aims to preserve the current mode set by the BIOS, unless overruled by the user. The user's wishes are determined by what, if any, mode is specified on the command line (via the video= parameter). However, that command line mode is first parsed by drm_fb_helper_initial_config() which is called after i915.ko's custom initial_config() as a fallback method. So in order for us to honour it, we need to move the cmdline parser earlier. If we perform the connector cmdline parsing as soon as we initialise the connector, that cmdline mode and forced status is then available even if the fbdev helper is not compiled in or never called. We also then expose the cmdline user mode in the connector mode lists. v2: Rebase after connector->name upheaval. v3: Adapt mga200 to look for the cmdline mode in the new place. Nicely simplifies things while at that. v4: Fix checkpatch. v5: Select FB_CMDLINE to adapt to the changed fbdev patch. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73154 Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> (v2) Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Cc: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> (v2) Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx Cc: Julia Lemire <jlemire@xxxxxxxxxx> Cc: Dave Airlie <airlied@xxxxxxxxxx> Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit ea6763c104c93acb6554659fe4a3c9e9328a4b51 Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 11:36:38 2014 +0200 video/fbdev: Always built-in video= cmdline parsing In drm/i915 we want to get at the video= cmdline modes even when we don't have fbdev support enabled, so that users can always override the kernel's initial mode selection. But that gives us a direct depency upon the parsing code in the fbdev subsystem. Since it's so little code just extract these 2 functions and always build them in. Whiel at it fix the checkpatch fail in this code. v2: Also move fb_mode_option. Spotted by the kbuild. v3: Review from Geert: - Keep the old copyright notice from fb_mem.c, although I have no idea what exactly applies. - Only compile this when needed. Cc: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> Cc: Plagniol-Villard <plagnioj@xxxxxxxxxxxx> Cc: Tomi Valkeinen <tomi.valkeinen@xxxxxx> Cc: linux-fbdev@xxxxxxxxxxxxxxx Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> -- I prefer if we can merge this through drm-next since we'll use it there in follow-up patches. -Daniel commit 83f45fc360c8e16a330474860ebda872d1384c8c Author: Daniel Vetter <daniel.vetter@xxxxxxxx> Date: Wed Aug 6 09:10:18 2014 +0200 drm: Don't grab an fb reference for the idr The current refcounting scheme is that the fb lookup idr also holds a reference. This works out nicely bacause thus far we've always explicitly cleaned up idr entries for framebuffers: - Userspace fbs get removed in the rmfb ioctl or when the drm file gets closed. - Kernel fbs (for fbdev emulation) get cleaned up by the driver code at module unload time. But now i915 also reconstructs the bios fbs for a smooth transition. And that fb is purely transitional and should get removed immmediately once all crtcs stop using it. Of course if the i915 fbdev code decides to reuse it as the main fbdev fb then it shouldn't be cleaned up, but in that case the fbdev code will grab it's own reference. The problem is now that we also want to register that takeover fb in the idr, so that userspace can do a smooth transition (animated maybe even!) itself. But currently we have no one who will clean up the idr reference once that fb isn't useful any more, and so essentially leak it. Fix this by no longer holding a full fb reference for the idr, but instead just have a weak reference using kref_get_unless_zero. But that requires us to synchronize and clean up with the idr and fb_lock in drm_framebuffer_free, so add that. It's a bit ugly that we have to unconditionally grab the fb_lock, but without that someone might creep through a race. This leak was caught by the fb leak check in drm_mode_config_cleanup. Originally the leak was introduced in commit 46f297fb83d4f9a6f6891964beb184664341a28b Author: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Date: Fri Mar 7 08:57:48 2014 -0800 drm/i915: add plane_config fetching infrastructure v2 Cc: Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77511 Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> commit aa9e0de81b5b257f6dae48efe2ed5f255f066497 Merge: 4fbe63d 19583ca Author: Paul Moore <pmoore@xxxxxxxxxx> Date: Tue Aug 5 15:44:22 2014 -0400 Merge tag 'v3.16' into next Linux 3.16 commit 17dc0b8068f9f01c56b0ade5c36b4c45a3339dda Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Aug 1 21:41:15 2014 +0530 ath6kl: convert a driver to use module_usb_driver() This converts a driver in drivers/net/* to use the module_usb_driver() macro which makes the code smaller and a bit simpler. Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Acked-by: Julia Lawall <julia.lawall@xxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 855aed1220d2c94425ab01a85fe7a6f5c436940f Author: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Date: Sat Aug 2 09:12:54 2014 +0300 ath10k: add spectral scan feature Adds the spectral scan feature for ath10k. The spectral scan is triggered by configuring a mode through a debugfs control file. Samples can be gathered via another relay debugfs file. Essentially, to try it out: ip link set dev wlan0 up echo background > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl echo trigger > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl iw dev wlan0 scan echo disable > /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan_ctl cat /sys/kernel/debug/ieee80211/phy0/ath10k/spectral_scan0 > samples This feature is still experimental. Based on the original RFC patch of Sven Eckelmann. Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 95752b759e2e1d9c590252a92e080eeb611fdbcd Author: Sven Eckelmann <sven@xxxxxxxxxxxxx> Date: Sat Aug 2 09:12:53 2014 +0300 ath: Move spectral debugfs structs to shared header The ath9k and ath10k will share the definitions of the debugfs spectral structures and enums. Having them in the same place helps to avoid conflicts. Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx> Signed-off-by: Simon Wunderlich <sw@xxxxxxxxxxxxxxxxxx> Signed-off-by: Mathias Kretschmer <mathias.kretschmer@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 7557138a943bf460e56972b8b9f45d535a473a3c Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Mon Jul 28 12:18:00 2014 +0100 staging: iio: adis16240: fix sparse warnings regarding incorrect argument type Silence the following sparse warnings by changing cast from u16 to __be16: CHECK drivers/staging/iio/accel/adis16240_core.c drivers/staging/iio/accel/adis16240_core.c:128:51: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/accel/adis16240_core.c:128:51: expected unsigned short [usertype] *val drivers/staging/iio/accel/adis16240_core.c:128:51: got signed short *<noident> drivers/staging/iio/accel/adis16240_core.c:142:51: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/accel/adis16240_core.c:142:51: expected unsigned short [usertype] *val drivers/staging/iio/accel/adis16240_core.c:142:51: got signed short *<noident> Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 18210923ab663c799d1c218e4fc998a8f0f87765 Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Mon Jul 28 12:18:00 2014 +0100 staging: iio: isl29018: fix sparse warning regarding incorrect type (different signedness) Fix the following sparse warning: drivers/staging/iio/light/isl29018.c:508:50: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/light/isl29018.c:508:50: expected unsigned int *conf_adc_bit drivers/staging/iio/light/isl29018.c:508:50: got int *<noident> Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 883fc268f55db3d59cb7871cc0b81062b754477e Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Mon Jul 28 12:18:00 2014 +0100 staging: iio: hmc5843_core: fix sparse warnings Fix the following sparse warnings: CHECK drivers/staging/iio/magnetometer/hmc5843_core.c drivers/staging/iio/magnetometer/hmc5843_core.c:138:70: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/magnetometer/hmc5843_core.c:138:70: expected unsigned int *val drivers/staging/iio/magnetometer/hmc5843_core.c:138:70: got int *<noident> drivers/staging/iio/magnetometer/hmc5843_core.c:215:64: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/magnetometer/hmc5843_core.c:215:64: expected unsigned int *val drivers/staging/iio/magnetometer/hmc5843_core.c:215:64: got int *<noident> drivers/staging/iio/magnetometer/hmc5843_core.c:354:72: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/magnetometer/hmc5843_core.c:354:72: expected unsigned int *val drivers/staging/iio/magnetometer/hmc5843_core.c:354:72: got int *<noident> drivers/staging/iio/magnetometer/hmc5843_core.c:362:72: warning: incorrect type in argument 3 (different signedness) drivers/staging/iio/magnetometer/hmc5843_core.c:362:72: expected unsigned int *val drivers/staging/iio/magnetometer/hmc5843_core.c:362:72: got int *<noident> Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit b048a24cc8f29dce1bad564aaeb8680020d3701c Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> Date: Thu Jul 31 13:13:51 2014 +0200 perf kvm stat: Properly show submicrosecond times For lots of exits the min time (and sometimes max) is 0 or 1. Lets increase the accurancy similar to what the average field alread does. Signed-off-by: Christian Borntraeger <borntraeger@xxxxxxxxxx> Acked-by: David Ahern <dsahern@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: kvm@xxxxxxxxxxxxxxx Link: http://lkml.kernel.org/r/1406805231-10675-2-git-send-email-borntraeger@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit dc55e3074ca150d5820fd4be5d4afd6cb5e876ad Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Tue Jul 29 12:53:36 2014 +0300 ath10k: improve channel switching In some cases during heavy tx vdev stop-start would timeout on vdev synchronization causing traffic to stall for a few seconds. Instead of stop-starting use a dedicated vdev restart command and down vdevs explicitly before doing so. This gets rid of the synchronization warnings/timeouts and makes channel switching smoother during traffic. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit cbe88bcc8ec2f7d6739ea67d7c91517139f0a491 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 17 16:59:00 2014 +0100 iio: buffer: Coalesce adjacent demux table entries When copying multiple multiple samples that are adjacent in both the source as well as the destination buffer, instead of creating a new demux table entry for each sample just increase the length of the previous entry by the size of the new sample. This makes the demuxing process slightly more efficient. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 972f393bc8870e236edbd2ea0150a8da85b709e2 Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Tue Jul 29 10:21:58 2014 -0300 perf symbols: Make sure --symfs usage includes the path separator Minchan reported that perf failed to load vmlinux if --symfs argument doesn't end with '/' character. Fix it by making sure that the '/' path separator is used when composing pathnames with a --symfs provided directory name. Reported-by: Minchan Kim <minchan@xxxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/n/tip-8n4s6b6zvsez5ktanw006125@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 5f1c4225f6bcb20cc004b271dc72b96d0da29e9e Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> Date: Mon Jul 28 12:39:50 2014 -0300 perf evlist: Don't run workload if not told to The perf_evlist__prepare_workload() method works by forking and then waiting on a fd that must be written to to allow the workload to be exec()ed. But if the tool calling it fails to, say, set up the events with which it wants to sample the workload for, it will not call perf_evlist__start_workload(), but even in this case the workload ended up running: [acme@zoo linux]$ trace /bin/echo workload ends up running, it should not... Couldn't mmap the events: Operation not permitted workload ends up running, it should not... [acme@zoo linux]$ So check if at least one byte was written before letting exec() be called. Now the expected behaviour: [acme@zoo linux]$ trace /bin/echo workload ends up running, it should not... Couldn't mmap the events: Operation not permitted [acme@zoo linux]$ Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Adrian Hunter <adrian.hunter@xxxxxxxxx> Cc: David Ahern <dsahern@xxxxxxxxx> Cc: Don Zickus <dzickus@xxxxxxxxxx> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx> Cc: Jiri Olsa <jolsa@xxxxxxxxxx> Cc: Mike Galbraith <efault@xxxxxx> Cc: Namhyung Kim <namhyung@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Stephane Eranian <eranian@xxxxxxxxxx> Link: http://lkml.kernel.org/n/tip-oh1ixo8m74rf295a05gfjw8b@xxxxxxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit 7d885749b6de2c9a1168d566e2380207b9177108 Author: Mark Salter <msalter@xxxxxxxxxx> Date: Fri Jul 25 18:02:46 2014 -0400 perf tools: Fix arm64 build error I'm seeing the following build error on arm64: In file included from util/event.c:3:0: util/event.h:95:17: error: 'PERF_REGS_MAX' undeclared here (not in a function) u64 cache_regs[PERF_REGS_MAX]; ^ This patch adds a PERF_REGS_MAX definition for arm64. Signed-off-by: Mark Salter <msalter@xxxxxxxxxx> Acked-by: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Jean Pihet <jean.pihet@xxxxxxxxxx> Cc: Paul Mackerras <paulus@xxxxxxxxx> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> Link: http://lkml.kernel.org/r/1406325766-8085-1-git-send-email-msalter@xxxxxxxxxx Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> commit c9940680b599300c3fb46e799986b736d394432d Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Mon Jul 28 21:53:33 2014 +0200 ARM: dts: Add gta04a5 model Add model a5 which have additional jack detection. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> [tony@xxxxxxxxxxx: fixed a typo for make dtbs to work] Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 4cf64060a6ee4c2ab609fb915d924bdc98805875 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Mon Jul 28 21:53:32 2014 +0200 ARM: dts: Add gta04a3 model Add gta04a3 model with additional acceleromer. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit d17eb9b2a97131c75c7ea83ba981ebbe26135207 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Mon Jul 28 21:53:31 2014 +0200 ARM: dts: omap3-gta04: Rename gta04.dts to gta04.dtsi and add a4 model This patch is preparation of adding more boards which have common moved to omap3-gta04.dtsi. Other boards have only small additions to omap3-gta04a4. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 76f5329a3dfe2f95dcc5664db603a2f1b0c9b825 Author: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Date: Mon Jul 28 23:59:43 2014 +0300 ath10k: extend debug code for RX path Print sequence number, AMSDU_MORE flag and AC when additional debug enabled in RX path. This is usefull for debugging purpose. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 72bdeb86552f8d992aa854af4e320401d8dd5cb5 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Mon Jul 28 23:59:42 2014 +0300 ath10k: fix aggregated 4addr Rx A-MSDU 4addr frames weren't reconstructed properly and in some cases this resulted in a warning: br0: received packet on wlan0.sta1 with own address as source address Since this was only related to A-MSDU it would trigger when more intense traffic was generated. Reported-by: Vu Hai NGUYEN <vh.nguyen@xxxxxxxxxxxxxxxx> Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 24c88f7807fb7c723690474d0a5d3441468185d9 Author: Michal Kazior <michal.kazior@xxxxxxxxx> Date: Fri Jul 25 13:32:17 2014 +0200 ath10k: add support for 10.2 firmware The 10.2 firmware is a successor of 10.1 firmware (formerly identified as 10.x). Both share a lot but have some slight ABI differences that need to be taken care of. The 10.2 firmware introduces some new features but those can be added in subsequent patches. This patch makes ath10k boot and work with 10.2 with comparable functionality to 10.1. Signed-off-by: Michal Kazior <michal.kazior@xxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit 611b3682bbefd8213b9f46e5883c15f132b20f7c Author: Ben Greear <greearb@xxxxxxxxxxxxxxx> Date: Fri Jul 25 11:56:40 2014 +0300 ath10k: improve 'hard' simulate fw crash Different firmware may support different numbers of vdevs. Use value that is always out of range for all firmware. Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx> Signed-off-by: Kalle Valo <kvalo@xxxxxxxxxxxxxxxx> commit ebc14ddcc9454c02439b67f6536628289faaa26e Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Wed Jul 23 17:10:49 2014 -0300 x86, microcode, intel: Fix total_size computation According to the Intel SDM vol 3A (order code 253668-051US, June 2014), on section 9.11.1, page 9-28: "For microcode updates with a data size field equal to 00000000H, the size of the microcode update is 2048 bytes. The first 48 bytes contain the microcode update header. The remaining 2000 bytes contain encrypted data." "For microcode updates with a data size not equal to 00000000H, the total size field specifies the size of the microcode update." Up to 2002/2003, Intel used an "old format" for the microcode update containers that was always 2048 bytes in size. That old format did not have Data Size and Total Size fields, the quadwords at those positions in the microcode container header were "reserved". The microcode header of the "old format" microcode container has a hrdver of 0x01. You can hunt down an old copy of the Intel SDM to validate this through its order number (#243192). I found one from 1999 through a Google search. Sometime in 2002/2003 (AFAICT, for the Prescott processors), Intel documented a new format for the microcode containers and contributed in 2003 some code to the Linux kernel microcode driver implementing support for the new format. This new format has Data Size and Total Size fields, as well as the optional extended signature table. However, it reuses the same hrdver as the old format (0x01), and it can only be told apart from the old format by a non-zero Data Size field. In fact, the only reason we can even trust a Data Size of zero to mean that the microcode container is in the old format, is because Intel reatroatively promised that the old format would always have a zero there when they wrote the documentation for the _new_ format. This is a very old bug, dating back to 2003. It has been dormant ever since, as Intel seems to set all reserved fields to zero on the microcode updates they distribute: I could not find a public microcode update that would trigger this bug. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406146251-8540-1-git-send-email-hmh@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 61072dbc8a017039059ec0e94548e4ba31602893 Author: Lars-Peter Clausen <lars@xxxxxxxxxx> Date: Thu Jul 17 16:59:00 2014 +0100 iio: buffer: Use roundup() instead of open-coding it Makes the code slightly shorter and a bit easier to understand. Signed-off-by: Lars-Peter Clausen <lars@xxxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 7ddebf54292052898dd0cf3925d113e3527608a7 Author: Teodora Baluta <teodora.baluta@xxxxxxxxx> Date: Fri Jul 25 09:50:00 2014 +0100 staging: iio: ad5933: fix sparse warnings Fix the following sparse warnings: CHECK drivers/staging/iio/impedance-analyzer/ad5933.c drivers/staging/iio/impedance-analyzer/ad5933.c:241:17: warning: incorrect type in assignment (different base types) drivers/staging/iio/impedance-analyzer/ad5933.c:241:17: expected unsigned int [unsigned] [usertype] d32 drivers/staging/iio/impedance-analyzer/ad5933.c:241:17: got restricted __be32 [usertype] <noident> drivers/staging/iio/impedance-analyzer/ad5933.c:263:13: warning: incorrect type in assignment (different base types) drivers/staging/iio/impedance-analyzer/ad5933.c:263:13: expected unsigned short [unsigned] dat drivers/staging/iio/impedance-analyzer/ad5933.c:263:13: got restricted __be16 [usertype] <noident> drivers/staging/iio/impedance-analyzer/ad5933.c:271:13: warning: incorrect type in assignment (different base types) drivers/staging/iio/impedance-analyzer/ad5933.c:271:13: expected unsigned short [unsigned] [addressable] dat drivers/staging/iio/impedance-analyzer/ad5933.c:271:13: got restricted __be16 [usertype] <noident> drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:310:19: warning: cast to restricted __be32 drivers/staging/iio/impedance-analyzer/ad5933.c:446:21: warning: incorrect type in assignment (different base types) drivers/staging/iio/impedance-analyzer/ad5933.c:446:21: expected unsigned short [unsigned] dat drivers/staging/iio/impedance-analyzer/ad5933.c:446:21: got restricted __be16 [usertype] <noident> drivers/staging/iio/impedance-analyzer/ad5933.c:454:21: warning: incorrect type in assignment (different base types) drivers/staging/iio/impedance-analyzer/ad5933.c:454:21: expected unsigned short [unsigned] [addressable] dat drivers/staging/iio/impedance-analyzer/ad5933.c:454:21: got restricted __be16 [usertype] <noident> drivers/staging/iio/impedance-analyzer/ad5933.c:548:23: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:548:23: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:548:23: warning: cast to restricted __be16 drivers/staging/iio/impedance-analyzer/ad5933.c:548:23: warning: cast to restricted __be16 Signed-off-by: Teodora Baluta <teodora.baluta@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 472988972737cdc2ee83c05931822792a2bf2f76 Author: Philippe Reynes <tremyfr@xxxxxxxx> Date: Fri Jul 25 22:43:00 2014 +0100 iio: add support of the max5821 Signed-off-by: Philippe Reynes <tremyfr@xxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 03d795589d4e5adf83af0623ac5bac93ae2ce2a9 Author: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Date: Fri Jul 25 22:14:00 2014 +0100 iio: hid-sensor-magn-3d: Fix build warning Fix build warning, sizeof() called on dynamically sized pointer, by removing the call and the dependent function parameter. It is not needed or used in this driver, when pushing values to an iio buffer. Changes from v1 - Fix mistake in varible name Signed-off-by: Reyad Attiyat <reyad.attiyat@xxxxxxxxx> Signed-off-by: Jonathan Cameron <jic23@xxxxxxxxxx> commit 532ed3740c1ed1583ea3fa6de9410edf0d508563 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Thu Jul 24 15:23:21 2014 -0300 x86, microcode, intel: Rename apply_microcode and declare it static Rename apply_microcode() in microcode/intel.c to apply_microcode_intel(), and declare it as static. This is a cosmetic fix to silence a warning issued by sparse. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406146251-8540-1-git-send-email-hmh@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit f99b45c3c2aa6960b8d21bb200d144be48a0a783 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Wed Jul 23 17:10:46 2014 -0300 x86, microcode, intel: Fix typos Fix some typos. One of them was in a struct name, fortunately harmless because it happened on a "sizeof(struct foo*)" construction. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406146251-8540-1-git-send-email-hmh@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 05a5f76d033f413396bc48ce2f8651b5659bcd31 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Wed Jul 23 17:10:45 2014 -0300 x86, microcode, intel: Add missing static declarations gcc reports that a few declarations are missing. Fix two obvious ones. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406146251-8540-1-git-send-email-hmh@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 1d2ce978d160fa960f12d06bf84e45f47c141272 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Wed Jul 23 17:10:44 2014 -0300 x86, microcode, amd: Fix missing static declaration Make locally used variable static. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Link: http://lkml.kernel.org/r/1406146251-8540-1-git-send-email-hmh@xxxxxxxxxx Signed-off-by: Borislav Petkov <bp@xxxxxxx> commit 4318bad2a02dcc678afab376713b1132ca333951 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:20 2014 +0200 ARM: dts: omap3-gta04: Add twl4030 regulators parameters Define voltages and properties for various twl4030 regulators used on gta04 board. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 91b8457e6853540966960a50573d0e0d20f355ea Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:19 2014 +0200 ARM: dts: omap3-gta04: Add display alias Define alias for lcd display present on gta04 board. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 1520a13bf03b3be8a87df665db878d0600560108 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:18 2014 +0200 ARM: dts: omap3-gta04: Add USB host support Define USB Host port mode and the PHY device. Also provide pin multiplexer information for USB host pins. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 6c402f8d678ebc438c66fea8507f8c820843c26d Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:17 2014 +0200 ARM: dts: omap3-gta04: Move spi gpio pins to pmx_core2 Because of commit: 3d495383648a7cda3ea51a1e2fa5d288581479aa spi_gpio_pins node isn't valid anymore. Move to pmx_core2 node. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit e51c6beaefe3e2fc7490064b7a4a5f70cd861cde Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:16 2014 +0200 ARM: dts: omap3-gta04: Add wifi reset node Define gpio node in tca6507 which will be used as wifi reset pin. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 9edc57af01a22f227c30ae1261cf232ab8673cbf Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:59:08 2014 +0200 ARM: dts: omap3-gta04: Fix magnetometer model gta04 is using hmc5883l not hmc5843 so fix wrong compatible entry. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 2618a18246a6164c212c47ee6b0031ad85909cc9 Author: Marek Belisko <marek@xxxxxxxxxxxxx> Date: Tue Jul 22 21:30:14 2014 +0200 ARM: dts: omap3-gta04: Add nand support Add the needed sections to enable nand support on gta04 board. Add nand partitions information. Signed-off-by: Marek Belisko <marek@xxxxxxxxxxxxx> Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> commit 16aa7f1f173f3ca105296cf2709cb039c99ffe4a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:08:47 2014 +0200 ARM: at91/dt: sama5d3: Add shutdown controller The SAMA5D3 has a shutdown controller identical to the sam9x5 SoC family. Declare it in the DT. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 1e165a7dc2f07054736a6a16bdc2fa024f3aa2d4 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 12:01:29 2014 +0200 ARM: at91/dt: Declare a second ram controller when relevant The G45 and 9263 SoCs has two identical ram controller, that are defined as a single node, with two reg cells. The proper way to support such a case is to have two separate DT nodes. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 7e948346000cfc300f39f1c14335b2ef364257ef Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:15 2014 +0200 ARM: at91/dt: at91sam9: use ddrck in ramc Make the ram controller driver take the ddrck clock for at91sam9n12 and at91sam9x5. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 063de897c411af65cb113cb5fb9a0022f913460e Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:14 2014 +0200 ARM: at91/dt: sama5d3: define mpddr clock and ramc clocks Define the available clock for mprddr and take both mpddr_clk and ddrck in the ram controller driver. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit ae499f0fadaf28bf3138676fa2d3f6cf7d57556a Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Thu Jul 3 14:07:18 2014 +0200 power: reset: Add AT91 poweroff driver Add a driver to handle the shutdown of the Atmel SoCs. This code used to be (and still is) in arch/arm/mach-at91. We didn't remove it yet so that we can convert all the boards to using this driver, before removing it entirely in a separate patch. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit ecfe64d8c55f8f210a609cd2eabfcc03f03672a9 Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Wed Jul 2 17:46:58 2014 +0200 power: reset: Add AT91 reset driver Implement the reset behaviour of the various AT91 SoCS in drivers/power/reset. It used to be (and still is) located in arch/arm/mach-at91, and in order to preserve bisectability is not removed yet, but every board should be converted to use this driver instead. Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit 6ca4f46005dd7934308588d8e4d73637bbaef7ad Author: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 1 16:58:40 2014 +0200 power: reset: Add if statement instead of multiple depends on All the config option so far are depending on the POWER_RESET symbol Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> commit b736bcb3d8fe6182d12feb0412106802d80b4527 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:16 2014 +0200 clk: at91: remove the useless CLK_IGNORE_UNUSED flag The CLK_IGNORE_UNUSED flag was added on all the system clocks because of the ddrck. Now that it is handled by the ram controller driver, we can drop it. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 63e60368956ea076278dd3d70dc80b366e0ec6f3 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:13 2014 +0200 ARM: at91: select ATMEL_SDRAMC when using OF When using device tree, select the Atmel RAM controller driver to handle its clocks. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit e81b6abebc87ec40a434ada4ca8d1f2aa16cea9d Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:12 2014 +0200 memory: add a driver for atmel ram controllers Atmel SoCs have one or multiple RAM controllers that need one or multiple clocks to run. This driver handle those clocks. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 017b5522d5e31a0b2c2f54f566aa8887838bccc7 Author: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Date: Tue Jul 8 18:21:11 2014 +0200 ARM: at91: Add new binding for sama5d3-ddramc The IP for the SDRAM controller found on sama5d3 SoCs is different from the g45 one. Introduce a new compatible string to reflect that. Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Maxime Ripard <maxime.ripard@xxxxxxxxxxxxxxxxxx> Acked-by: Nicolas Ferre <nicolas.ferre@xxxxxxxxx> commit 04ec5f5c0022ee941615e304bc75853fe1bc94ba Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Tue Jul 8 18:30:07 2014 +0200 ecryptfs: remove unnecessary break after goto Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: ecryptfs@xxxxxxxxxxxxxxx Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit 27199b15e4f027e24969f6644ce4ff414c7e6cba Author: Steven Rostedt <rostedt@xxxxxxxxxxx> Date: Wed Jun 18 21:15:59 2014 -0400 ecryptfs: Remove unnecessary include of syscall.h in keystore.c There's no reason to include syscalls.h in keystore.c. Remove it. Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit 3db593e8af0a7361037a2abbe8910d4e44041d89 Author: Fabian Frederick <fabf@xxxxxxxxx> Date: Mon Jun 16 20:06:12 2014 +0200 fs/ecryptfs/messaging.c: remove null test before kfree Fix checkpatch warning: WARNING: kfree(NULL) is safe this check is probably not required Signed-off-by: Fabian Frederick <fabf@xxxxxxxxx> Cc: ecryptfs@xxxxxxxxxxxxxxx Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit c4cf3ba4f34819170fee43532f729e2fc6aa9a76 Author: Himangi Saraogi <himangi774@xxxxxxxxx> Date: Fri Jun 27 01:11:59 2014 +0530 ecryptfs: Drop cast This patch does away with cast on void * and the if as it is unnecessary. The following Coccinelle semantic patch was used for making the change: @r@ expression x; void* e; type T; identifier f; @@ ( *((T *)e) | ((T *)x)[...] | ((T *)x)->f | - (T *) e ) Signed-off-by: Himangi Saraogi <himangi774@xxxxxxxxx> Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> commit fbeec99ad5c03060ba71c470ac373e24e23a80e0 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 7 16:46:47 2014 -0300 dma: mv_xor: Rename __mv_xor_slot_cleanup() to mv_xor_slot_cleanup() Now that mv_xor_slot_cleanup() has no remaining callers, we remove it and rename __mv_xor_slot_cleanup() to mv_xor_slot_cleanup(). We take this opportunity to add a comment that makes it clear that the channel spinlock should be held before calling mv_xor_slot_cleanup(). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit e43147acba6f64ba32664dd0e590657cc49b6940 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 7 16:46:46 2014 -0300 dma: mv_xor: Remove all callers of mv_xor_slot_cleanup() In order to simplify the code, remove all the calls to the locked mv_xor_slot_cleanup() and instead use the unlocked version only, It's less error prone to have just one function, and require the caller to ensure proper locking. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 890766d278548afdc059cd977687c4f1297d72a0 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Fri Mar 7 16:46:45 2014 -0300 dma: mv_xor: Remove unneeded mv_xor_clean_completed_slots() call In mv_xor_status(), we are currently calling mv_xor_clean_completed_slots() when the transaction is complete (the cookie status is DMA_COMPLETE). However, a completed status means that mv_xor_slot_cleanup() was called, which cleans the completed slots. In other words, there's nothing to cleanup for a completed transaction in mv_xor_status(). Remove the unneeded call to mv_xor_clean_completed_slots(). Reported-by: Dan Williams <dan.j.williams@xxxxxxxxx> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 368da992b93eaf8861f1ef2d27bbe22c01140733 Author: Alexander Gordeev <agordeev@xxxxxxxxxx> Date: Thu Mar 6 21:11:21 2014 +0100 ioat: Use pci_enable_msix_exact() instead of pci_enable_msix() As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Function pci_enable_msix() returns a tri-state value while pci_enable_msi_exact() is a canonical zero/-errno variant. The former is being phased out in favor of the latter. In case of 'ioat' there (should be) no difference. Cc: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Alexander Gordeev <agordeev@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 2358b820d42a33f1d1052b438489c90a4cc8f3fc Author: Rashika <rashika.kheria@xxxxxxxxx> Date: Mon Dec 16 15:44:39 2013 +0530 drivers: dma: Include appropriate header file in dca.c Includes an appropriate header file dma_v2.h in ioat/dca.c because functions ioat2_dca_init() and ioat3_dca_init() have their function declarations in dma_v2.h. This eliminates the following warning in ioat/dca.c: drivers/dma/ioat/dca.c:410:22: warning: no previous prototype for â??ioat2_dca_initâ?? [-Wmissing-prototypes] drivers/dma/ioat/dca.c:624:22: warning: no previous prototype for â??ioat3_dca_initâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 8d1d32767ca0df1b5cd75cdc1be3915bc6887ed1 Author: Rashika <rashika.kheria@xxxxxxxxx> Date: Mon Dec 16 15:40:40 2013 +0530 drivers: dma: Mark functions as static in dma_v3.c Mark the functions ioat3_prep_xor_val(), ioat3_prep_pq_val() and ioat3_prep_pqxor_val() as static in dma_v3.c because they are not used outside this file. This eliminates the following warnings in dma_v3.c: drivers/dma/ioat/dma_v3.c:741:1: warning: no previous prototype for â??ioat3_prep_xor_valâ?? [-Wmissing-prototypes] drivers/dma/ioat/dma_v3.c:1092:1: warning: no previous prototype for â??ioat3_prep_pq_valâ?? [-Wmissing-prototypes] drivers/dma/ioat/dma_v3.c:1134:1: warning: no previous prototype for â??ioat3_prep_pqxor_valâ?? [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@xxxxxxxxx> Reviewed-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit b8c01d259a08d75c5049b2bd5f579648262c30a4 Author: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Date: Tue Dec 10 09:32:37 2013 -0300 dma: mv_xor: Add DMA API error checks This commit adds proper error checking for various DMA API calls, as reported by DMA_API_DEBUG=y. Signed-off-by: Ezequiel Garcia <ezequiel.garcia@xxxxxxxxxxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 1fde2548460c1ded9fe71220b506473f0b7de768 Author: Yijing Wang <wangyijing@xxxxxxxxxx> Date: Thu Dec 5 19:31:18 2013 +0800 ioat/dca: Use dev_is_pci() to check whether it is pci device Use PCI standard marco dev_is_pci() instead of directly compare pci_bus_type to check whether it is pci device. Signed-off-by: Yijing Wang <wangyijing@xxxxxxxxxx> Signed-off-by: Dan Williams <dan.j.williams@xxxxxxxxx> commit 9e78d14a9f641c0476f733f6fc559ba5cac6f52b Author: David Howells <dhowells@xxxxxxxxxx> Date: Tue Dec 10 15:26:48 2013 +0000 Use %pd in eCryptFS Use the new %pd printk() specifier in eCryptFS to replace passing of dentry name or dentry name and name length * 2 with just passing the dentry. Signed-off-by: David Howells <dhowells@xxxxxxxxxx> cc: ecryptfs@xxxxxxxxxxxxxxx Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxx> Revision graph left in /home/xc_osstest/results/bisect.linux-linus.test-amd64-i386-xl-qemuu-debianhvm-amd64.xen-boot.{dot,ps,png,html}. ---------------------------------------- 30936: tolerable ALL FAIL flight 30936 linux-linus real-bisect [real] http://www.chiark.greenend.org.uk/~xensrcts/logs/30936/ Failures :-/ but no regressions. Tests which did not succeed, including tests which could not be run: test-amd64-i386-xl-qemuu-debianhvm-amd64 5 xen-boot fail baseline untested jobs: test-amd64-i386-xl-qemuu-debianhvm-amd64 fail ------------------------------------------------------------ sg-report-flight on osstest.cam.xci-test.com logs: /home/xc_osstest/logs images: /home/xc_osstest/images Logs, config files, etc. are available at http://www.chiark.greenend.org.uk/~xensrcts/logs Test harness code can be found at http://xenbits.xensource.com/gitweb?p=osstest.git;a=summary _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |